inno-diagram
Version:
It was created to develop Inno Linc.
1,036 lines • 1.79 MB
JavaScript
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.yuml_diagram = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
"use strict";module.exports=require("./src/utils/yumldoc-utils.js");
},{"./src/utils/yumldoc-utils.js":170}],2:[function(require,module,exports){
(function (process,Buffer){
!function(A){var e=function(A){A=void 0!==(A=A||{})?A:{};var e,i={};for(e in A)A.hasOwnProperty(e)&&(i[e]=A[e]);A.arguments=[],A.thisProgram="./this.program",A.quit=function(A,e){throw e},A.preRun=[],A.postRun=[];var r,f,n=!1,a=!1,l=!1,t=!1;if(A.ENVIRONMENT)if("WEB"===A.ENVIRONMENT)n=!0;else if("WORKER"===A.ENVIRONMENT)a=!0;else if("NODE"===A.ENVIRONMENT)l=!0;else{if("SHELL"!==A.ENVIRONMENT)throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.");t=!0}else n="object"==typeof window,a="function"==typeof importScripts,l="object"==typeof process&&"function"==typeof require&&!n&&!a,t=!n&&!l&&!a;l?(A.read=function(A,e){var i;return(i=SA(A))||(r||(r=require("fs")),f||(f=require("path")),A=f.normalize(A),i=r.readFileSync(A)),e?i:i.toString()},A.readBinary=function(e){var i=A.read(e,!0);return i.buffer||(i=new Uint8Array(i)),B(i.buffer),i},process.argv.length>1&&(A.thisProgram=process.argv[1].replace(/\\/g,"/")),A.arguments=process.argv.slice(2),"undefined"!=typeof module&&(module.exports=A),process.on("uncaughtException",function(A){if(!(A instanceof ce))throw A}),process.on("unhandledRejection",function(A,e){process.exit(1)}),A.inspect=function(){return"[Emscripten Module object]"}):t?("undefined"!=typeof read&&(A.read=function(A){var e=SA(A);return e?UA(e):read(A)}),A.readBinary=function(A){var e;return(e=SA(A))?e:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(B("object"==typeof(e=read(A,"binary"))),e)},"undefined"!=typeof scriptArgs?A.arguments=scriptArgs:void 0!==arguments&&(A.arguments=arguments),"function"==typeof quit&&(A.quit=function(A,e){quit(A)})):(n||a)&&(A.read=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.send(null),e.responseText}catch(e){var i=SA(A);if(i)return UA(i);throw e}},a&&(A.readBinary=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}catch(e){var i=SA(A);if(i)return i;throw e}}),A.readAsync=function(A,e,i){var r=new XMLHttpRequest;r.open("GET",A,!0),r.responseType="arraybuffer",r.onload=function(){if(200==r.status||0==r.status&&r.response)e(r.response);else{var f=SA(A);f?e(f.buffer):i()}},r.onerror=i,r.send(null)},void 0!==arguments&&(A.arguments=arguments),A.setWindowTitle=function(A){document.title=A});for(e in A.print="undefined"!=typeof console?console.log:"undefined"!=typeof print?print:null,A.printErr="undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn||A.print,A.print=A.print,A.printErr=A.printErr,i)i.hasOwnProperty(e)&&(A[e]=i[e]);i=void 0;var c=16;function s(A){B(!R);var e=p;return p=p+A+15&-16,e}function b(A){B(D);var e=J[D>>2],i=e+A+15&-16;if((J[D>>2]=i,i>=j)&&!x())return J[D>>2]=e,0;return e}function o(A,e){return e||(e=c),A=Math.ceil(A/e)*e}function u(A){switch(A){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===A[A.length-1])return 4;if("i"===A[0]){var e=parseInt(A.substr(1));return B(e%8==0),e/8}return 0}}new Array(0);var v=0;function B(A,e){A||be("Assertion failed: "+e)}var k={stackSave:function(){re()},stackRestore:function(){ie()},arrayToC:function(A){var e,i,r=ee(A.length);return e=A,i=r,Y.set(e,i),r},stringToC:function(A){var e=0;if(null!=A&&0!==A){var i=1+(A.length<<2);M(A,e=ee(i),i)}return e}},w={string:k.stringToC,array:k.arrayToC};function d(A,e,i,r){switch("*"===(i=i||"i8").charAt(i.length-1)&&(i="i32"),i){case"i1":case"i8":Y[A>>0]=e;break;case"i16":W[A>>1]=e;break;case"i32":J[A>>2]=e;break;case"i64":tempI64=[e>>>0,(tempDouble=e,+iA(tempDouble)>=1?tempDouble>0?(0|lA(+nA(tempDouble/4294967296),4294967295))>>>0:~~+fA((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],J[A>>2]=tempI64[0],J[A+4>>2]=tempI64[1];break;case"float":N[A>>2]=e;break;case"double":z[A>>3]=e;break;default:be("invalid type for setValue: "+i)}}var h=2,g=4;function Z(A,e){if(0===e||!A)return"";for(var i,r=0,f=0;r|=i=V[A+f>>0],(0!=i||e)&&(f++,!e||f!=e););e||(e=f);var n="";if(r<128){for(var a;e>0;)a=String.fromCharCode.apply(String,V.subarray(A,A+Math.min(e,1024))),n=n?n+a:a,A+=1024,e-=1024;return n}return I(A)}var G="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function m(A,e){for(var i=e;A[i];)++i;if(i-e>16&&A.subarray&&G)return G.decode(A.subarray(e,i));for(var r,f,n,a,l,t="";;){if(!(r=A[e++]))return t;if(128&r)if(f=63&A[e++],192!=(224&r))if(n=63&A[e++],224==(240&r)?r=(15&r)<<12|f<<6|n:(a=63&A[e++],240==(248&r)?r=(7&r)<<18|f<<12|n<<6|a:(l=63&A[e++],r=248==(252&r)?(3&r)<<24|f<<18|n<<12|a<<6|l:(1&r)<<30|f<<24|n<<18|a<<12|l<<6|63&A[e++])),r<65536)t+=String.fromCharCode(r);else{var c=r-65536;t+=String.fromCharCode(55296|c>>10,56320|1023&c)}else t+=String.fromCharCode((31&r)<<6|f);else t+=String.fromCharCode(r)}}function I(A){return m(V,A)}function C(A,e,i,r){if(!(r>0))return 0;for(var f=i,n=i+r-1,a=0;a<A.length;++a){var l=A.charCodeAt(a);if(l>=55296&&l<=57343&&(l=65536+((1023&l)<<10)|1023&A.charCodeAt(++a)),l<=127){if(i>=n)break;e[i++]=l}else if(l<=2047){if(i+1>=n)break;e[i++]=192|l>>6,e[i++]=128|63&l}else if(l<=65535){if(i+2>=n)break;e[i++]=224|l>>12,e[i++]=128|l>>6&63,e[i++]=128|63&l}else if(l<=2097151){if(i+3>=n)break;e[i++]=240|l>>18,e[i++]=128|l>>12&63,e[i++]=128|l>>6&63,e[i++]=128|63&l}else if(l<=67108863){if(i+4>=n)break;e[i++]=248|l>>24,e[i++]=128|l>>18&63,e[i++]=128|l>>12&63,e[i++]=128|l>>6&63,e[i++]=128|63&l}else{if(i+5>=n)break;e[i++]=252|l>>30,e[i++]=128|l>>24&63,e[i++]=128|l>>18&63,e[i++]=128|l>>12&63,e[i++]=128|l>>6&63,e[i++]=128|63&l}}return e[i]=0,i-f}function M(A,e,i){return C(A,V,e,i)}function Q(A){for(var e=0,i=0;i<A.length;++i){var r=A.charCodeAt(i);r>=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&A.charCodeAt(++i)),r<=127?++e:e+=r<=2047?2:r<=65535?3:r<=2097151?4:r<=67108863?5:6}return e}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");function E(){var e=function(){var A=new Error;if(!A.stack){try{throw new Error(0)}catch(e){A=e}if(!A.stack)return"(no stack trace available)"}return A.stack.toString()}();return A.extraStackTrace&&(e+="\n"+A.extraStackTrace()),e.replace(/__Z[\w\d_]+/g,function(A){var e=A;return A===e?A:A+" ["+e+"]"})}var y,Y,V,W,J,N,z,p,R,P,H,F,L,D,X=16384;function T(){be("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+j+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function x(){T()}p=H=D=0,R=!1;var U=A.TOTAL_STACK||5242880,j=A.TOTAL_MEMORY||16777216;if(j<U&&A.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+j+"! (TOTAL_STACK="+U+")"),A.buffer?y=A.buffer:(y=new ArrayBuffer(j),A.buffer=y),A.HEAP8=Y=new Int8Array(y),A.HEAP16=W=new Int16Array(y),A.HEAP32=J=new Int32Array(y),A.HEAPU8=V=new Uint8Array(y),A.HEAPU16=new Uint16Array(y),A.HEAPU32=new Uint32Array(y),A.HEAPF32=N=new Float32Array(y),A.HEAPF64=z=new Float64Array(y),J[0]=1668509029,W[1]=25459,115!==V[2]||99!==V[3])throw"Runtime error: expected the system to be little-endian!";function S(e){for(;e.length>0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?A.dynCall_v(r):A.dynCall_vi(r,i.arg):r(void 0===i.arg?null:i.arg)}else i()}}var O=[],K=[],_=[],q=[],$=[],AA=!1;function eA(A,e,i){for(var r=0;r<A.length;++r)Y[e++>>0]=A.charCodeAt(r);i||(Y[e>>0]=0)}var iA=Math.abs,rA=(Math.cos,Math.sin,Math.tan,Math.acos,Math.asin,Math.atan,Math.atan2,Math.exp,Math.log,Math.sqrt),fA=Math.ceil,nA=Math.floor,aA=Math.pow,lA=(Math.imul,Math.fround,Math.round,Math.min),tA=(Math.max,Math.clz32,Math.trunc,0),cA=null,sA=null;function bA(e){tA++,A.monitorRunDependencies&&A.monitorRunDependencies(tA)}function oA(e){if(tA--,A.monitorRunDependencies&&A.monitorRunDependencies(tA),0==tA&&(null!==cA&&(clearInterval(cA),cA=null),sA)){var i=sA;sA=null,i()}}A.preloadedImages={},A.preloadedAudios={};var uA=null,vA="data:application/octet-stream;base64,";function BA(A){return String.prototype.startsWith?A.startsWith(vA):0===A.indexOf(vA)}var kA=[function(A,e){var i=Z(A),r=Z(e);YA.createPath("/",IA.dirname(i)),YA.writeFile(IA.join("/",i),r)}];p=176360,K.push(),uA="data:application/octet-stream;base64,AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkACEAAAAAAAAAAAAAAAABBAWC8AAAgAAAABAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICWQAAAAAAAgJZABJDDAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkAAAAAAAABSQAAgAwIAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAABCQAAAAAAAAEJAAAAAAAAgg0AAAAAAAMCIQAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAAEJAAAAAAAAAQkAAAAAAACCDQAAAAAAAwIhAAAAAAAAAUkAAAAAAAABSQACwwQAAAAAAAAAAAAAAEED4NQAAkwAAAAEAAAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAEAACAAAAAAAAAAAAABBAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAALDBAAAAAAAAAAAAAAAAANQ5AAAQAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQEAgPgMAAAAAAAAAAAAAEEDcOgAAegAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAQAAAAAAAAABAAAAAAAAAAAAAAAAAPA/AQAAAAAAAAACAAAAAAAAAAAAAAAAAPA/AgAAAAAAAAADAAAAAAAAAAAAAAAAAOA/AwAAAAAAAAAEAAAAAAAAAAAAAAAAAPA/BAAAAAAAAAAFAAAAAAAAADMzMzMzM/M/BQAAAAAAAAAGAAAAAAAAAJqZmZmZmek/BgAAAAAAAAAHAAAAAAAAAAAAAAAAAPA/BwAAAAAAAAAIAAAAAAAAAAAAAAAAAOA/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAzMzMzMzPTvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAACARkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAACamZmZmZnZvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMzMzM+M/AAAAAAAAAAAAAAAAAQAAAAUAAAAAAAAAAAAAAAAAAAB7FK5H4XrkvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAQAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiRSAAABAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAACAZkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAACAZkCamZmZmZnZvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAAAAAAAAAAAACAZkB7FK5H4XrkvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAACARkAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAABAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8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AQAAAAIAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAQAAAAQAAAAFAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAABgAAAAEAAAABAAAABwAAAAgAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAEAAAABAAAACwAAAAEAAAAMAAAAAQAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAATAAAAEwAAABMAAAATAAAAFwAAABgAAAAZAAAAEwAAABoAAAAbAAAAHAAAAB0AAAATAAAAEwAAABMAAAATAAAAEwAAAAEAAAAeAAAAAQAAAAEAAAATAAAAAQAAAB8AAAAgAAAAIQAAACIAAAAjAAAAEwAAACQAAAAlAAAAJgAAABMAAAATAAAAEwAAABMAAAAnAAAAKAAAACkAAAATAAAAKgAAACsAAAAsAAAALQAAABMAAAATAAAAEwAAABMAAAATAAAAAQAAAAEAAAABAAAAAQAAAAEAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAAC4AAAATAAAAEwAAABMAAAAvAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAA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Na8BACLQ///ZL/8APq8BABla5eXElP8AR68BAHJ4wmbCpf8AUK8BAAub/PyNYv8AWa8BAJxNy42gy/8AYq8BAORm5+eKw/8Aa68BADqb2KbYVP8AdK8BACLQ///ZL/8Afa8BABla5eXElP8Ahq8BAAAAs7Ozs/8Aj68BAHhU043Tx/8Ama8BANNSvbyAvf8ApK8BACpM////s/8Arq8BAK8l2r662v8AuK8BAASL+/uAcv8Awq8BAJBk04Cx0/8AzK8BABac/f20Yv8A1q8BADqG3rPeaf8A4K8BAOkv/PzN5f8A6q8BAAAA2dnZ2f8A9K8BAHhU043Tx/8A/q8BANNSvbyAvf8ACbABAE0p68zrxf8AFLABACpM////s/8AHrABAK8l2r662v8AKLABAASL+/uAcv8AMrABAJBk04Cx0/8APLABABac/f20Yv8ARrABADqG3rPeaf8AULABAOkv/PzN5f8AWrABAAAA2dnZ2f8AZLABAHhU043Tx/8AbrABANNSvbyAvf8AebABAE0p68zrxf8AhLABACWQ///tb/8Aj7ABACpM////s/8AmbABAK8l2r662v8Ao7ABAASL+/uAcv8ArbABAJBk04Cx0/8At7ABABac/f20Yv8AwbABADqG3rPeaf8Ay7ABAOkv/PzN5f8A1bABAAAA2dnZ2f8A37ABAHhU043Tx/8A6LABACpM////s/8A8bABAK8l2r662v8A+rABAHhU043Tx/8AA7EBACpM////s/8ADLEBAK8l2r662v8AFbEBAASL+/uAcv8AHrEBAHhU043Tx/8AJ7EBACpM////s/8AMLEBAK8l2r662v8AObEBAASL+/uAcv8AQrEBAJBk04Cx0/8AS7EBAHhU043Tx/8AVLEBACpM////s/8AXbEBAK8l2r662v8AZrEBAASL+/uAcv8Ab7EBAJBk04Cx0/8AeLEBABac/f20Yv8AgbEBAHhU043Tx/8AirEBACpM////s/8Ak7EBAK8l2r662v8AnLEBAASL+/uAcv8ApbEBAJBk04Cx0/8ArrEBABac/f20Yv8At7EBADqG3rPeaf8AwLEBAHhU043Tx/8AybEBACpM////s/8A0rEBAK8l2r662v8A27EBAASL+/uAcv8A5LEBAJBk04Cx0/8A7bEBABac/f20Yv8A9rEBADqG3rPeaf8A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JboBAI91+ofO+v8AN7oBAJQ4mXeImf8AS7oBAJQ4mXeImf8AX7oBAJc03rDE3v8Ac7oBACof////4P8AhLoBAFX//wD/AP8AjroBAFXAzTLNMv8AnboBABUU+vrw5v8AqLoBANT///8A//8AtboBAAD/gIAAAP8AwboBAHGAzWbNqv8A17oBAKr/zQAAzf8A57oBAMyY07pV0/8A+boBALd825Nw2/8AC7sBAGepszyzcf8AH7sBALCP7nto7v8ANLsBAG//+gD6mv8AS7sBAH2n0UjRzP8AYLsBAOTkx8cVhf8AdbsBAKrGcBkZcP8Ah7sBAGoJ//X/+v8AlrsBAAQe///k4f8ApbsBABpJ///ktf8As7sBABlR///erf8AxLsBAKr/gAAAgP8AzrsBABsX/f315v8A27sBACr/gICAAP8A5rsBADjAjmuOI/8A9bsBABv///+lAP8AAbwBAAv///9FAP8AELwBANZ72tpw1v8AHLwBACZI7u7oqv8AL7wBAFVk+5j7mP8APrwBAH9D7q/u7v8AUbwBAPF829twk/8AZLwBABop///v1f8AdLwBABRG///auf8Ag7wBABSwzc2FP/8AjbwBAPc////Ay/8Al7wBANRG3d2g3f8AobwBAIQ75rDg5v8AsbwBANT/gIAAgP8AvbwBAAD///8AAP8AxrwBAAA9vLyPj/8A1bwBAJ+14UFp4f8A5LwBABHci4tFE/8A9bwBAASK+vqAcv8AAb0BABOa9PSkYP8AEb0BAGeqiy6LV/8AH70BABEQ///17v8ALb0BAA23oKBSLf8AOb0BAAAAwMDAwP8ARb0BAIts64fO6/8AUr0BAK+PzWpazf8AYb0BAJQ4kHCAkP8AcL0BAJQ4kHCAkP8Af70BAAAF///6+v8Aib0BAGr//wD/f/8Amr0BAJKbtEaCtP8Aqb0BABhU0tK0jP8Asr0BAH//gACAgP8AvL0BANQd2Ni/2P8Ayb0BAAa4//9jR/8A1b0BAHu24EDg0P8A5L0BANRz7u6C7v8A8L0BABtE9fXes/8A+70BAAAA//////8ABr4BAAAA9fX19f8AFr4BACr/////AP8AIr4BADjAzZrNMv8AM74BAC1D/Pf8uf8APL4BAERb3a3djv8ARb4BAGKyozGjVP8ATr4BACoy////zP8AV74BAD5V5sLmmf8A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CQAhACEAIQAVABwAAQAUABQAFAAUABQAFAAUAAgABAAFABsAAgAXABsAIAAfAB4AHQAJABMAAAAVABIAFQADAAcAFQAVABQAFAAUABQAFAAUABQAFAAIAAQABQAFAAYAGwAaABgAGQAgAAcAFQAUABQAFAAUABQAFAALABQADQAUAAwAFAAUABQADgAUABQAFAAQABQADwAUABEAAAAAAAAArgAuAC8AMwA1ADAANwCqANsA2wDbANsAAAA9AIcANwA3ANsA2wAAACgANQAuADIALwBiAAAAAABHAAAAAADbAFEAAADbANsA2wAAANsAhABVANsAggDbAAAAgQDbAAAAPgBCAEEASABEAFIAWwAAAAAAXgBfANsAAADbANsA2wAAAAAAewBJAFcAUgBaAFoAXQAAAF8AAABfAAAAZQBdAF8AAABdAG4AagAAAGkAAABuAAAA2wCTAJoAoQCoAKsAcACxALgAvwDGAM0A0wAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMABAAHAAMABAAFAAUABgAGAAgABwAHABEAFgASABEAEgAIAAgADwAPABcADwAYAA8AGQAaABoAHgAWADQAHgAFADIABgAiACIAMwAXABgANQAZABoAGgAqADYAKgA0ADcAMgBFADsAPAAzADsAPABGADUARwBIAEwANgAiAEkASgA3AEUATgBQAGIAUQBSAFQARgBHAFUASABMAFYASQBKAFgAWgBOAEQAUABRAFIAVAA4AC8ALABVACkAVgAbABAAWABaAF0AXQBdAF0AXQBdAF0AXgBeAF4AXgBeAF4AXgBfAF8AXwBfAF8AXwBfAGAACQBgAGAAYABgAGAAYQBhAGMAAgBjAGMAYwBjAGMAZAAAAGQAAABkAGQAZABlAAAAZQBlAGUAZQBlAGYAZgAAAGYAZgBmAGYAZwAAAGcAZwBnAGcAaAAAAGgAaABoAGgAaABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAAXAABAF0AXQBeAF4AXwBfAFwAXABcAFwAXABgAFwAXABcAGEAXABcAGIAYgBiAGIAYgBiAGIAYwBkAGUAZgBmAFwAXABnAFwAXABcAGAAXABcAGEAXABhAFwAaABhAFwAYgBiAGIAYgBiAGIAYgBiAGMAZABlAGUAXABmAFwAXABcAGcAaABhAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgAAAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAACgALAAwADQAOAAoADwAQABEAEgATAAoAFAAVABUAFQAWABcAFQAYABUAFQAZABUAFQAVABoAFQAVAAoAFQAVABUAFgAXABgAFQAVABkAFQAVABUAGgAVABUAFQAVABsADAAMACQAHgAeACAAIQAgACEAJAAlACYALQAyAC8ALgAqACUAJgAoACkAMwAqADQAKwA1ADYANwA8ADIARwA9ACIARQAiAD8AQABGADMANABIADUANgA3AC8ASQAqAEcASgBFAEwAXAA8AEYAXAA9AE0ASABOAE8AUgBJAEEAUABRAEoATABTAFQAMQBVAFYAVwBNAE4AWABPAFIAWQBQAFEAWgBbAFMARABUAFUAVgBXAEsARAAsAFgALABZADgALABaAFsAHQAdAB0AHQAdAB0AHQAfAB8AHwAfAB8AHwAfACMAIwAjACMAIwAjACMAJwBcACcAJwAnACcAJwAwADAAOQAcADkAOQA5ADkAOQA6AFwAOgBcADoAOgA6ADsAXAA7ADsAOwA7ADsAPgA+AFwAPgA+AD4APgBCAFwAQgBCAEIAQgBDAFwAQwBDAEMAQwBDAAkAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwACACu/9EACgCu/67/CwCu/67/rv+u/67/rv+u/67/BQDRAK7/0QDRANEA0QDRANEA0QDRAK7/+/+u/w4A7P+u/67/rv+u/9EA0QDRANEA0QANACUADABCABAAUAATAG0AewAUAJgADwCmAMMArv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/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aXQAJSUlJVBhZ2VPcmllbnRhdGlvbjogJXMKADw8IC9QYWdlU2l6ZSBbJWQgJWRdID4+IHNldHBhZ2VkZXZpY2UKACVkICVkICVkIGJlZ2lucGFnZQoAZ3NhdmUKJWQgJWQgJWQgJWQgYm94cHJpbSBjbGlwIG5ld3BhdGgKACVnICVnIHNldF9zY2FsZSAlZCByb3RhdGUgJWcgJWcgdHJhbnNsYXRlCgBjYW52YXMgc2l6ZSAoJWQsJWQpIGV4Y2VlZHMgUERGIGxpbWl0ICglZCkKCShzdWdnZXN0IHNldHRpbmcgYSBib3VuZGluZyBib3ggc2l6ZSwgc2VlIGRvdCgxKSkKAFsgL0Nyb3BCb3ggWyVkICVkICVkICVkXSAvUEFHRVMgcGRmbWFyawoAJWQgJWQgc2V0bGF5ZXIKACUlJSVUaXRsZTogJXMKACUlUGFnZXM6IChhdGVuZCkKACUlUGFnZXM6IDEKACUlQm91bmRpbmdCb3g6IChhdGVuZCkKACUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQKACUlRW5kQ29tbWVudHMKc2F2ZQoAc2V0dXBMYXRpbjEKAFsge0NhdGFsb2d9IDw8IC9VUkkgPDwgL0Jhc2UgJXMgPj4gPj4KL1BVVCBwZGZtYXJrCgAlJUJlZ2luUHJvbG9nAC9Eb3REaWN0IDIwMCBkaWN0IGRlZgBEb3REaWN0IGJlZ2luAC9zZXR1cExhdGluMSB7AG1hcmsAL0VuY29kaW5nVmVjdG9yIDI1NiBhcnJheSBkZWYAIEVuY29kaW5nVmVjdG9yIDAASVNPTGF0aW4xRW5jb2RpbmcgMCAyNTUgZ2V0aW50ZXJ2YWwgcHV0aW50ZXJ2YWwARW5jb2RpbmdWZWN0b3IgNDUgL2h5cGhlbiBwdXQAJSBTZXQgdXAgSVNPIExhdGluIDEgY2hhcmFjdGVyIGVuY29kaW5nAC9zdGFybmV0SVNPIHsAICAgICAgICBkdXAgZHVwIGZpbmRmb250IGR1cCBsZW5ndGggZGljdCBiZWdpbgAgICAgICAgIHsgMSBpbmRleCAvRklEIG5lIHsgZGVmIH17IHBvcCBwb3AgfSBpZmVsc2UAICAgICAgICB9IGZvcmFsbAAgICAgICAgIC9FbmNvZGluZyBFbmNvZGluZ1ZlY3RvciBkZWYAICAgICAgICBjdXJyZW50ZGljdCBlbmQgZGVmaW5lZm9udAB9IGRlZgAvVGltZXMtUm9tYW4gc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUl0YWxpYyBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZCBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZEl0YWxpYyBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhIHN0YXJuZXRJU08gZGVmAC9IZWx2ZXRpY2EtT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYS1Cb2xkT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvQ291cmllciBzdGFybmV0SVNPIGRlZgAvQ291cmllci1PYmxpcXVlIHN0YXJuZXRJU08gZGVmAC9Db3VyaWVyLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXItQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAY2xlYXJ0b21hcmsAfSBiaW5kIGRlZgAlJUJlZ2luUmVzb3VyY2U6IHByb2NzZXQgZ3JhcGh2aXogMCAwAC9jb29yZC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmAC9kZWZhdWx0LWZvbnQtZmFtaWx5IC9UaW1lcy1Sb21hbiBkZWYAL2Nvb3JkZm9udCBjb29yZC1mb250LWZhbWlseSBmaW5kZm9udCA4IHNjYWxlZm9udCBkZWYAL0ludlNjYWxlRmFjdG9yIDEuMCBkZWYAL3NldF9zY2FsZSB7ACAgICAgICBkdXAgMSBleGNoIGRpdiAvSW52U2NhbGVGYWN0b3IgZXhjaCBkZWYAICAgICAgIHNjYWxlACUgc3R5bGVzAC9zb2xpZCB7IFtdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9kYXNoZWQgeyBbOSBJbnZTY2FsZUZhY3RvciBtdWwgZHVwIF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2RvdHRlZCB7IFsxIEludlNjYWxlRmFjdG9yIG11bCA2IEludlNjYWxlRmFjdG9yIG11bF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2ludmlzIHsvZmlsbCB7bmV3cGF0aH0gZGVmIC9zdHJva2Uge25ld3BhdGh9IGRlZiAvc2hvdyB7cG9wIG5ld3BhdGh9IGRlZn0gYmluZCBkZWYAL2JvbGQgeyAyIHNldGxpbmV3aWR0aCB9IGJpbmQgZGVmAC9maWxsZWQgeyB9IGJpbmQgZGVmAC91bmZpbGxlZCB7IH0gYmluZCBkZWYAL3JvdW5kZWQgeyB9IGJpbmQgZGVmAC9kaWFnb25hbHMgeyB9IGJpbmQgZGVmAC90YXBlcmVkIHsgfSBiaW5kIGRlZgAlIGhvb2tzIGZvciBzZXR0aW5nIGNvbG9yIAAvbm9kZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZWRnZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZ3JhcGhjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL25vcGNvbG9yIHtwb3AgcG9wIHBvcH0gYmluZCBkZWYAL2JlZ2lucGFnZSB7CSUgaSBqIG5wYWdlcwAJL25wYWdlcyBleGNoIGRlZgAJL2ogZXhjaCBkZWYACS9pIGV4Y2ggZGVmAAkvc3RyIDEwIHN0cmluZyBkZWYACW5wYWdlcyAxIGd0IHsACQlnc2F2ZQAJCQljb29yZGZvbnQgc2V0Zm9udAAJCQkwIDAgbW92ZXRvAAkJCShcKCkgc2hvdyBpIHN0ciBjdnMgc2hvdyAoLCkgc2hvdyBqIHN0ciBjdnMgc2hvdyAoXCkpIHNob3cACQlncmVzdG9yZQAJfSBpZgAvc2V0X2ZvbnQgewAJZmluZGZvbnQgZXhjaAAJc2NhbGVmb250IHNldGZvbnQAJSBkcmF3IHRleHQgZml0dGVkIHRvIGl0cyBleHBlY3RlZCB3aWR0aAAvYWxpZ25lZHRleHQgewkJCSUgd2lkdGggdGV4dAAJL3RleHQgZXhjaCBkZWYACS93aWR0aCBleGNoIGRlZgAJZ3NhdmUACQl3aWR0aCAwIGd0IHsACQkJW10gMCBzZXRkYXNoAAkJCXRleHQgc3RyaW5nd2lkdGggcG9wIHdpZHRoIGV4Y2ggc3ViIHRleHQgbGVuZ3RoIGRpdiAwIHRleHQgYXNob3cACQl9IGlmAAlncmVzdG9yZQAvYm94cHJpbSB7CQkJCSUgeGNvcm5lciB5Y29ybmVyIHhzaXplIHlzaXplAAkJNCAyIHJvbGwACQltb3ZldG8ACQkyIGNvcHkACQlleGNoIDAgcmxpbmV0bwAJCTAgZXhjaCBybGluZXRvAAkJcG9wIG5lZyAwIHJsaW5ldG8ACQljbG9zZXBhdGgAL2VsbGlwc2VfcGF0aCB7AAkvcnkgZXhjaCBkZWYACS9yeCBleGNoIGRlZgAJL3kgZXhjaCBkZWYACS94IGV4Y2ggZGVmAAltYXRyaXggY3VycmVudG1hdHJpeAAJbmV3cGF0aAAJeCB5IHRyYW5zbGF0ZQAJcnggcnkgc2NhbGUACTAgMCAxIDAgMzYwIGFyYwAJc2V0bWF0cml4AC9lbmRwYWdlIHsgc2hvd3BhZ2UgfSBiaW5kIGRlZgAvc2hvd3BhZ2UgeyB9IGRlZgAvbGF5ZXJjb2xvcnNlcQAJWwklIGxheWVyIGNvbG9yIHNlcXVlbmNlIC0gZGFya2VzdCB0byBsaWdodGVzdAAJCVswIDAgMF0ACQlbLjIgLjggLjhdAAkJWy40IC44IC44XQAJCVsuNiAuOCAuOF0ACQlbLjggLjggLjhdAAldAGRlZgAvbGF5ZXJsZW4gbGF5ZXJjb2xvcnNlcSBsZW5ndGggZGVmAC9zZXRsYXllciB7L21heGxheWVyIGV4Y2ggZGVmIC9jdXJsYXllciBleGNoIGRlZgAJbGF5ZXJjb2xvcnNlcSBjdXJsYXllciAxIHN1YiBsYXllcmxlbiBtb2QgZ2V0AAlhbG9hZCBwb3Agc2V0aHNiY29sb3IACS9ub2RlY29sb3Ige25vcGNvbG9yfSBkZWYACS9lZGdlY29sb3Ige25vcGNvbG9yfSBkZWYACS9ncmFwaGNvbG9yIHtub3Bjb2xvcn0gZGVmAC9vbmxheWVyIHsgY3VybGF5ZXIgbmUge2ludmlzfSBpZiB9IGRlZgAvb25sYXllcnMgewAJL215dXBwZXIgZXhjaCBkZWYACS9teWxvd2VyIGV4Y2ggZGVmAAljdXJsYXllciBteWxvd2VyIGx0AAljdXJsYXllciBteXVwcGVyIGd0AAlvcgAJe2ludmlzfSBpZgAvY3VybGF5ZXIgMCBkZWYAJSVFbmRSZXNvdXJjZQAlJUVuZFByb2xvZwAlJUJlZ2luU2V0dXAAMTQgZGVmYXVsdC1mb250LWZhbWlseSBzZXRfZm9udAAlIC9hcnJvd2xlbmd0aCAxMCBkZWYAJSAvYXJyb3d3aWR0aCA1IGRlZgAlIG1ha2Ugc3VyZSBwZGZtYXJrIGlzIGhhcm1sZXNzIGZvciBQUy1pbnRlcnByZXRlcnMgb3RoZXIgdGhhbiBEaXN0aWxsZXIAL3BkZm1hcmsgd2hlcmUge3BvcH0ge3VzZXJkaWN0IC9wZGZtYXJrIC9jbGVhcnRvbWFyayBsb2FkIHB1dH0gaWZlbHNlACUgbWFrZSAnPDwnIGFuZCAnPj4nIHNhZmUgb24gUFMgTGV2ZWwgMSBkZXZpY2VzAC9sYW5ndWFnZWxldmVsIHdoZXJlIHtwb3AgbGFuZ3VhZ2VsZXZlbH17MX0gaWZlbHNlADIgbHQgewAgICAgdXNlcmRpY3QgKDw8KSBjdm4gKFspIGN2biBsb2FkIHB1dAAgICAgdXNlcmRpY3QgKD4+KSBjdm4gKFspIGN2biBsb2FkIHB1dAB9IGlmACUlRW5kU2V0dXAAJSVUcmFpbGVyCgAlJSUlUGFnZXM6ICVkCgBlbmQKcmVzdG9yZQoAJSVFT0YKACUhUFMtQWRvYmUtMy4wACBFUFNGLTMuMAoAJSUlJUNyZWF0b3I6ICVzIHZlcnNpb24gJXMgKCVzKQoAcHMyOnBzADwhLS0gADxwb2x5bGluZQAgcG9pbnRzPSIAIi8+CgAgZmlsbD0iAHVybCgjbF8lZCkAdXJsKCNyXyVkKQAiIGZpbGwtb3BhY2l0eT0iJWYAIiBzdHJva2U9IgAiIHN0cm9rZS13aWR0aD0iACIgc3Ryb2tlLWRhc2hhcnJheT0iJXMANSwyADEsNQAiIHN0cm9rZS1vcGFjaXR5PSIlZgBndnJlbmRlcl9jb3JlX3N2Zy5jAHN2Z19wcmludF9jb2xvcgA8cGF0aAAgaWQ9IgBfcCIgACBkPSIAJWMAPGRlZnM+CjxyYWRpYWxHcmFkaWVudCBpZD0icl8lZCIgY3g9IjUwJSUiIGN5PSI1MCUlIiByPSI3NSUlIiBmeD0iJWQlJSIgZnk9IiVkJSUiPgoAPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjoAO3N0b3Atb3BhY2l0eToAMS4AOyIvPgoAPHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8L2RlZnM+CgA8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJsXyVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgAHgxPSIAIiB5MT0iACIgeDI9IgAiIHkyPSIAIiA+CgA8c3RvcCBvZmZzZXQ9IiUuMDNmIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+CgA8cG9seWdvbgA8ZWxsaXBzZQAgY3g9IgAiIGN5PSIAIiByeD0iACIgcnk9IgA8dGV4dAAgdGV4dC1hbmNob3I9InN0YXJ0IgAgdGV4dC1hbmNob3I9ImVuZCIAIHRleHQtYW5jaG9yPSJtaWRkbGUiACB4PSIAIiB5PSIAIGZvbnQtZmFtaWx5PSIlcwAsJXMAIGZvbnQtd2VpZ2h0PSIlcyIAIGZvbnQtc3RyZXRjaD0iJXMiACBmb250LXN0eWxlPSIlcyIAIGZvbnQtZmFtaWx5PSIlcyIAIGZvbnQtd2VpZ2h0PSJib2xkIgAgZm9udC1zdHlsZT0iaXRhbGljIgAgdGV4dC1kZWNvcmF0aW9uPSIAJXNvdmVybGluZQAlc2xpbmUtdGhyb3VnaAAgYmFzZWxpbmUtc2hpZnQ9InN1cGVyIgAgYmFzZWxpbmUtc2hpZnQ9InN1YiIAIGZvbnQtc2l6ZT0iJS4yZiIAIGZpbGw9IiVzIgAgZmlsbD0iIyUwMnglMDJ4JTAyeCIAc3ZnX3RleHRzcGFuAD4APHRleHRQYXRoIHhsaW5rOmhyZWY9IiMlc19wIiBzdGFydE9mZnNldD0iNTAlJSI+ADx0c3BhbiB4PSIwIiBkeT0iACI+ADwvdHNwYW4+PC90ZXh0UGF0aD4APC90ZXh0PgoAPC9nPgoAPGcAIGlkPSJhXwAgeGxpbms6aHJlZj0iACB4bGluazp0aXRsZT0iACB0YXJnZXQ9IgA8dGl0bGU+ADwvdGl0bGU+CgA8ZyBpZD0iAF8lcwAiIGNsYXNzPSIlcwBjbGFzcwAgdHJhbnNmb3JtPSJzY2FsZSgAKSByb3RhdGUoJWQpIHRyYW5zbGF0ZSgAKSI+CgA8L3N2Zz4KADwhLS0AIFBhZ2VzOiAlZCAtLT4KADxzdmcgd2lkdGg9IiVkcHQiIGhlaWdodD0iJWRwdCIKACB2aWV3Qm94PSIlLjJmICUuMmYgJS4yZiAlLjJmIgAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiADw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgoAc3R5bGVzaGVldAA8P3htbC1zdHlsZXNoZWV0IGhyZWY9IgAiIHR5cGU9InRleHQvY3NzIj8+CgA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iCgAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CgA8IS0tIEdlbmVyYXRlZCBieSAAZGFya2JsdWUAZGFya2N5YW4AZGFya2dyYXkAZGFya2dyZXkAZGFya21hZ2VudGEAZGFya3JlZABsaWdodGdyZWVuACMgACBjcmVhdGUgbGluZSAAIC1maWxsIAAgLWRhc2ggNQAgLWRhc2ggMgBndnJlbmRlcl9jb3JlX3RrLmMAdGtnZW5fcHJpbnRfdGFncwBncmFwaCBsYWJlbAAgLXRhZ3MgeyVkJXMlcH0AdGtnZW5fcHJpbnRfY29sb3IAJGMAIC13aWR0aCAAIC1zbW9vdGggYmV6aWVyIAAgY3JlYXRlIHBvbHlnb24gACAtb3V0bGluZSAAIGNyZWF0ZSBvdmFsIAAgY3JlYXRlIHRleHQgACAtdGV4dCB7AH0AIC1mb250IHsAICVkfQAgLWFuY2hvciB3ACAtYW5jaG9yIGUAIwAgVGl0bGU6IAAgUGFnZXM6ICVkCgAjIEdlbmVyYXRlZCBieSAAKQoAdGsAdGs6dGsAICAgICAgPCEtLSAAIC0tPgoARXJyb3IgZHVyaW5nIGNvbnZlcnNpb24gdG8gIlVURi04Ii4gIFF1aXRpbmcuCgAgPHY6c2hhcGUgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIgZmlsbGVkPSJmYWxzZSI+ADx2OnBhdGggdj0iACBtIAAlLjBmLCUuMGYgACBsIAAgZSAAIi8+ADwvdjpzaGFwZT4KADx2OnN0cm9rZSBjb2xvcj0iACIgd2VpZ2h0PSIlLjBmcHQAIiBkYXNoc3R5bGU9ImRhc2gAIiBkYXNoc3R5bGU9ImRvdAAiIC8+ACMlMDJ4JTAyeCUwMngAZ3ZyZW5kZXJfY29yZV92bWwuYwB2bWxfcHJpbnRfY29sb3IAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIAID4APHY6cGF0aCAgdj0iAC8+PC92OnNoYXBlPgoAbSAAJXMlLjBmLCUuMGYgAGMgACBmaWxsZWQ9InRydWUiIGZpbGxjb2xvcj0iACIgACBmaWxsZWQ9ImZhbHNlIiAAJS4wZiAlLjBmIABsIAB4IGUgIi8+ACAgPHY6b3ZhbCBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ACBsZWZ0OiAlLjJmOyB0b3A6ICUuMmY7ACB3aWR0aDogJS4yZjsgaGVpZ2h0OiAlLjJmIgA8L3Y6b3ZhbD4KADx2OnJlY3Qgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHN0cm9rZWQ9ImZhbHNlIiBmaWxsZWQ9ImZhbHNlIj4KADx2OnRleHRib3ggaW5zZXQ9IjAsMCwwLDAiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdi10ZXh0LXdyYXBwaW5nOidmYWxzZSc7cGFkZGluZzonMCc7AGZvbnQtZmFtaWx5OiAnJXMnOwBmb250LXdlaWdodDogJXM7AGZvbnQtc3RyZXRjaDogJXM7AGZvbnQtc3R5bGU6ICVzOwAgZm9udC1zaXplOiAlLjJmcHQ7AGNvbG9yOiVzOwBjb2xvcjojJTAyeCUwMnglMDJ4OwB2bWxfdGV4dHNwYW4AIj48Y2VudGVyPgA8L2NlbnRlcj48L3Y6dGV4dGJveD4KADwvdjpyZWN0PgoAPC9hPgoAPGEAIGhyZWY9IiVzIgAgdGl0bGU9IiVzIgAgdGFyZ2V0PSIlcyIAPgoAPC92Omdyb3VwPgoAPC9ESVY+CgA8RElWIGlkPSdfVk1MMl8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTt2aXNpYmlsaXR5OmhpZGRlbiI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgaHRtbCBjb250ZW50IGhlcmUgLS0+CgA8RElWIGlkPSdfbm90Vk1MMV8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPgoAPCEtLSB0aGlzIHNob3VsZCBvbmx5IGRpc3BsYXkgb24gTk9OLUlFIGJyb3dzZXJzIC0tPgoAPEgyPlNvcnJ5LCB0aGlzIGRpYWdyYW0gd2lsbCBvbmx5IGRpc3BsYXkgY29ycmVjdGx5IG9uIEludGVybmV0IEV4cGxvcmVyIDUgKGFuZCB1cCkgYnJvd3NlcnMuPC9IMj4KADxESVYgaWQ9J19ub3RWTUwyXycgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgTk9OLUlFIGh0bWwgY29udGVudCBoZXJlIC0tPgoAPC9CT0RZPgo8L0hUTUw+CgA8SEVBRD4APE1FVEEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgoAPFRJVExFPgA8L1RJVExFPgA8IS0tIFBhZ2VzOiAlZCAtLT4KACAgIDxTQ1JJUFQgTEFOR1VBR0U9J0phdmFzY3JpcHQnPgoAICAgZnVuY3Rpb24gYnJvd3NlcmNoZWNrKCkKACAgIHsKACAgICAgIHZhciB1YSA9IHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50CgAgICAgICB2YXIgbXNpZSA9IHVhLmluZGV4T2YgKCAnTVNJRSAnICkKACAgICAgIHZhciBpZXZlcnM7CgAgICAgICB2YXIgaXRlbTsKACAgICAgIHZhciBWTUx5ZXM9bmV3IEFycmF5KCdfVk1MMV8nLCdfVk1MMl8nKTsKACAgICAgIHZhciBWTUxubz1uZXcgQXJyYXkoJ19ub3RWTUwxXycsJ19ub3RWTUwyXycpOwoAICAgICAgaWYgKCBtc2llID4gMCApeyAgICAgIC8vIElmIEludGVybmV0IEV4cGxvcmVyLCByZXR1cm4gdmVyc2lvbiBudW1iZXIKACAgICAgICAgIGlldmVycz0gcGFyc2VJbnQgKHVhLnN1YnN0cmluZyAobXNpZSs1LCB1YS5pbmRl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bGUgMTAwMDAKfQovL21pc3QKZm9nIHsgZm9nX3R5cGUgMgogICAgZGlzdGFuY2UgNTAKICAgIGNvbG9yIHJnYiA8MS4wMCwgMS4wMCwgMS4wMD4gKiAwLjc1CiAgICBmb2dfb2Zmc2V0IDAuMTAKICAgIGZvZ19hbHQgMS41MAogICAgdHVyYnVsZW5jZSAxLjc1Cn0KLy9nbmQKcGxhbmUgeyA8MC4wMCwgMS4wMCwgMC4wMD4sIDAKICAgIHRleHR1cmUgewogICAgICAgIHBpZ21lbnR7IGNvbG9yIHJnYiA8MC4yNSwgMC40NSwgMC4wMD4gfQogICAgICAgIG5vcm1hbCB7IGJ1bXBzIDAuNzUgc2NhbGUgMC4wMSB9CiAgICAgICAgZmluaXNoIHsgcGhvbmcgMC4xMCB9CiAgICB9Cn0KAGxpZ2h0X3NvdXJjZSB7IDwxNTAwLDMwMDAsLTI1MDA+IGNvbG9yIFdoaXRlIH0KACN2ZXJzaW9uIDMuNjsKAGdsb2JhbF9zZXR0aW5ncyB7IGFzc3VtZWRfZ2FtbWEgMS4wIH0KACNkZWZhdWx0IHsgZmluaXNoIHsgYW1iaWVudCAwLjEgZGlmZnVzZSAwLjkgfSB9CgAjaW5jbHVkZSAiY29sb3JzLmluYyIKI2luY2x1ZGUgInRleHR1cmVzLmluYyIKI2luY2x1ZGUgInNoYXBlcy5pbmMiCgAjZGVjbGFyZSAlcyA9ICVzOwoAQmxhY2sAV2hpdGUAYmFrZXJzY2hvYwBicmFzcwBicmlnaHRnb2xkAGJyb256ZQBicm9uemUyAGNsZWFyAGNvb2xjb3BwZXIAY29wcGVyAGRhcmticm93bgBkYXJrcHVycGxlAGRhcmt0YW4AZGFya3dvb2QAZGtncmVlbmNvcHBlcgBkdXN0eXJvc2UAZmVsZHNwYXIAZmxlc2gAZ3JheTA1AGdyZWVuY29wcGVyAGh1bnRlcnNncmVlbgBsaWdodF9wdXJwbGUAbGlnaHR3b29kAG1hbmRhcmlub3JhbmdlAG1lZGl1bWZvcmVzdGdyZWVuAG1lZGl1bWdvbGRlbnJvZABtZWRpdW13b29kAG1lZF9wdXJwbGUAbWljYQBuZW9uYmx1ZQBuZW9ucGluawBuZXdtaWRuaWdodGJsdWUAbmV3dGFuAG9sZGdvbGQAcXVhcnR6AHJpY2hibHVlAHNjYXJsZXQAc2VtaVN3ZWV0Q2hvYwBzaWx2ZXIAc3BpY3lwaW5rAHN1bW1lcnNreQB2ZXJ5ZGFya2Jyb3duAHZlcnlfbGlnaHRfcHVycGxlAHBvdgBwb3Y6cG92ACVzICVzCgAuXCIgACAlZCAlZAAgJXMKACAlZABmaWxsIABlbGxpcHNlIGF0dHJzJWQgJXN3aWQgJS41ZiBodCAlLjVmIGF0ICglLjVmLCUuNWYpOwoALmZ0ICVzCgAucHMgJWQqXG4oU0Z1LyUuMGZ1CgAiJXMiIGF0ICglLjVmLCUuNWYpOwoAJTAzbwAlcyVzIGlzIG5vdCBhIHRyb2ZmIGZvbnQKAGRvdCBwaWMgcGx1Z2luOiAAUgBdCi5QRQoALlBTICUuNWYgJS41ZgoAJXMgdG8gY2hhbmdlIGRyYXdpbmcgc2l6ZSwgbXVsdGlwbHkgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb24gdGhlIC5QUyBsaW5lIGFib3ZlIGFuZCB0aGUgbnVtYmVyIG9uIHRoZSB0d28gbGluZXMgYmVsb3cgKHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgaW50ZWdlcikgYnkgYSBzY2FsZSBmYWN0b3IKAC5uciBTRiAlLjBmCnNjYWxldGhpY2tuZXNzID0gJS4wZgoAJXMgZG9uJ3QgY2hhbmdlIGFueXRoaW5nIGJlbG93IHRoaXMgbGluZSBpbiB0aGlzIGRyYXdpbmcKACVzIG5vbi1mYXRhbCBydW4tdGltZSBwaWMgdmVyc2lvbiBkZXRlcm1pbmF0aW9uLCB2ZXJzaW9uIDIKAGJveHJhZD0yLjAgJXMgd2lsbCBiZSByZXNldCB0byAwLjAgYnkgZ3BpYyBvbmx5CgBzY2FsZT0xLjAgJXMgcmVxdWlyZWQgZm9yIGNvbXBhcmlzb25zCgAlcyBib3hyYWQgaXMgbm93IDAuMCBpbiBncGljLCBlbHNlIGl0IHJlbWFpbnMgMi4wCgAlcyBkYXNod2lkIGlzIDAuMSBpbiAxMHRoIEVkaXRpb24sIDAuMDUgaW4gRFdCIDIgYW5kIGluIGdwaWMKACVzIGZpbGx2YWwgaXMgMC4zIGluIDEwdGggRWRpdGlvbiAoZmlsbCAwIG1lYW5zIGJsYWNrKSwgMC41IGluIGdwaWMgKGZpbGwgMCBtZWFucyB3aGl0ZSksIHVuZGVmaW5lZCBpbiBEV0IgMgoAJXMgZmlsbCBoYXMgbm8gbWVhbmluZyBpbiBEV0IgMiwgZ3BpYyBjYW4gdXNlIGZpbGwgb3IgZmlsbGVkLCAxMHRoIEVkaXRpb24gdXNlcyBmaWxsIG9ubHkKACVzIERXQiAyIGRvZXNuJ3QgdXNlIGZpbGwgYW5kIGRvZXNuJ3QgZGVmaW5lIGZpbGx2YWwKACVzIHJlc2V0IHdvcmtzIGluIGdwaWMgYW5kIDEwdGggZWRpdGlvbiwgYnV0IGlzbid0IGRlZmluZWQgaW4gRFdCIDIKACVzIERXQiAyIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbnMKAGlmIGJveHJhZCA+IDEuMCAmJiBkYXNod2lkIDwgMC4wNzUgdGhlbiBYCglmaWxsdmFsID0gMTsKCWRlZmluZSBmaWxsIFkgWTsKCWRlZmluZSBzb2xpZCBZIFk7CglkZWZpbmUgcmVzZXQgWSBzY2FsZT0xLjAgWTsKWAoAcmVzZXQgJXMgc2V0IHRvIGtub3duIHN0YXRlCgAlcyBHTlUgcGljIHZzLiAxMHRoIEVkaXRpb24gZFwoZSd0ZW50ZQoAaWYgZmlsbHZhbCA+IDAuNCB0aGVuIFgKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IDEgLSBZOwoJZGVmaW5lIGJvbGQgWSB0aGlja25lc3MgMiBZOwoACSVzIGlmIHlvdSB1c2UgZ3BpYyBhbmQgaXQgYmFyZnMgb24gZW5jb3VudGVyaW5nICJzb2xpZCIsCgAJJXMJaW5zdGFsbCBhIG1vcmUgcmVjZW50IHZlcnNpb24gb2YgZ3BpYyBvciBzd2l0Y2ggdG8gRFdCIG9yIDEwdGggRWRpdGlvbiBwaWM7CgAJJXMJc29ycnksIHRoZSBncm9mZiBmb2xrcyBjaGFuZ2VkIGdwaWM7IHNlbmQgYW55IGNvbXBsYWludCB0byB0aGVtOwoAWCBlbHNlIFoKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IFk7CglkZWZpbmUgYm9sZCBZIFk7CglkZWZpbmUgZmlsbGVkIFkgZmlsbCBZOwpaCgAlcyBhcnJvd2hlYWQgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGFycm93aGVhZCA9IDcgbWFrZXMgZmlsbGVkIGFycm93aGVhZHMgaW4gZ3BpYyBhbmQgaW4gMTB0aCBFZGl0aW9uCgAlcyBhcnJvd2hlYWQgaXMgdW5kZWZpbmVkIGluIERXQiAyLCBpbml0aWFsbHkgMSBpbiBncGljLCAyIGluIDEwdGggRWRpdGlvbgoAYXJyb3doZWFkID0gNyAlcyBub3QgdXNlZCBieSBncmFwaHZpegoAJXMgR05VIHBpYyBzdXBwb3J0cyBhIGJveHJhZCB2YXJpYWJsZSB0byBkcmF3IGJveGVzIHdpdGggcm91bmRlZCBjb3JuZXJzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAYm94cmFkID0gMCAlcyBubyByb3VuZGVkIGNvcm5lcnMgaW4gZ3JhcGh2aXoKACVzIEdOVSBwaWMgc3VwcG9ydHMgYSBsaW5ldGhpY2sgdmFyaWFibGUgdG8gc2V0IGxpbmUgdGhpY2tuZXNzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAbGluZXRoaWNrID0gMDsgb2xkbGluZXRoaWNrID0gbGluZXRoaWNrCgAlcyAuUFMgdy9vIGFyZ3MgY2F1c2VzIEdOVSBwaWMgdG8gc2NhbGUgZHJhd2luZyB0byBmaXQgOC41eDExIHBhcGVyOyBEV0IgZG9lcyBub3QKACVzIG1heHBzaHQgYW5kIG1heHBzd2lkIGhhdmUgbm8gbWVhbmluZyBpbiBEV0IgMi4wLCBzZXQgcGFnZSBib3VuZGFyaWVzIGluIGdwaWMgYW5kIGluIDEwdGggRWRpdGlvbgoAJXMgbWF4cHNodCBhbmQgbWF4cHN3aWQgYXJlIHByZWRlZmluZWQgdG8gMTEuMCBhbmQgOC41IGluIGdwaWMKAG1heHBzaHQgPSAlZgptYXhwc3dpZCA9ICVmCgBEb3Q6IFsKAGRlZmluZSBhdHRyczAgJSUgJSU7IGRlZmluZSB1bmZpbGxlZCAlJSAlJTsgZGVmaW5lIHJvdW5kZWQgJSUgJSU7IGRlZmluZSBkaWFnb25hbHMgJSUgJSUKACVzJXMgdW5zdXBwb3J0ZWQKAHJvdGF0aW9uACVzIHJlc3RvcmUgcG9pbnQgc2l6ZSBhbmQgZm9udAoucHMgXG4oLlMKLmZ0IFxuKERGCgAlcyBDcmVhdG9yOiAlcyB2ZXJzaW9uICVzICglcykKACVzIFRpdGxlOiAlcwoAJXMgc2F2ZSBwb2ludCBzaXplIGFuZCBmb250Ci5uciAuUyBcbigucwoubnIgREYgXG4oLmYKAHBpYwBwaWM6cGljAHBuZzpzdmcAZ2lmOnN2ZwBqcGVnOnN2ZwBqcGU6c3ZnAGpwZzpzdmcAcG5nOmZpZwBnaWY6ZmlnAGpwZWc6ZmlnAGpwZTpmaWcAanBnOmZpZwBwbmc6dnJtbABnaWY6dnJtbABqcGVnOnZybWwAanBlOnZybWwAanBnOnZybWwAZXBzOnBzAHBzOnBzAChsaWIpOnBzAHBuZzptYXAAZ2lmOm1hcABqcGVnOm1hcABqcGU6bWFwAGpwZzptYXAAcHM6bWFwAGVwczptYXAAc3ZnOm1hcABwbmc6ZG90AGdpZjpkb3QAanBlZzpkb3QAanBlOmRvdABqcGc6ZG90AHBzOmRvdABlcHM6ZG90AHN2Zzpkb3QAcG5nOnhkb3QAZ2lmOnhkb3QAanBlZzp4ZG90AGpwZTp4ZG90AGpwZzp4ZG90AHBzOnhkb3QAZXBzOnhkb3QAc3ZnOnhkb3QAc3ZnOnN2ZwBwbmc6dm1sAGdpZjp2bWwAanBlZzp2bWwAanBlOnZtbABqcGc6dm1sAGdpZjp0awBpbWFnZSBjcmVhdGUgcGhvdG8gInBob3RvXyVzIiAtZmlsZSAiJXMiCgAkYyBjcmVhdGUgaW1hZ2UgJS4yZiAlLjJmIC1pbWFnZSAicGhvdG9fJXMiCgA8djppbWFnZSBzcmM9IiVzIiBzdHlsZT0iIHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDolLjJmOyBoZWlnaHQ6JS4yZjsgbGVmdDolLjJmIDsgdG9wOiUuMmYiACAvPgoAZ3Zsb2FkaW1hZ2VfY29yZS5jAGNvcmVfbG9hZGltYWdlX3BzbGliAFsgACVnICVnIABdICAlZCB0cnVlICVzCgBdICAlZCBmYWxzZSAlcwoAY29yZV9sb2FkaW1hZ2VfcHMAZ3NhdmUgJWcgJWcgdHJhbnNsYXRlIG5ld3BhdGgKAHVzZXJfc2hhcGVfJWQKAGdyZXN0b3JlCgBjb3JlX2xvYWRpbWFnZV92cm1sAFNoYXBlIHsKACAgYXBwZWFyYW5jZSBBcHBlYXJhbmNlIHsKACAgICBtYXRlcmlhbCBNYXRlcmlhbCB7CgAgICAgICBhbWJpZW50SW50ZW5zaXR5IDAuMzMKACAgICAgICAgZGlmZnVzZUNvbG9yIDEgMSAxCgAgICAgfQoAICAgIHRleHR1cmUgSW1hZ2VUZXh0dXJlIHsgdXJsICIlcyIgfQoAICB9CgBjb3JlX2xvYWRpbWFnZV9maWcAJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJS4xZiAlZCAlZCAlZCAlZCAlZCAlZAogJWQgJXMKACAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAoAY29yZV9sb2FkaW1hZ2Vfc3ZnADxpbWFnZSB4bGluazpocmVmPSIAIiB3aWR0aD0iJWdweCIgaGVpZ2h0PSIlZ3B4IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB4PSIlZyIgeT0iJWciACB0cmFuc2Zvcm09InJvdGF0ZSglZCAlZyAlZykiACIgd2lkdGg9IiVncHgiIGhlaWdodD0iJWdweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaW4gbWVldCIgeD0iJWciIHk9IiVnIgAvPgoAZG90X2xheW91dABwaGFzZQBkb3QgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBmb3IgZGlzY29ubmVjdGVkIGdyYXBocyBvciBncmFwaHMgd2l0aCBjbHVzdGVycwoAY29tcG91bmQAdiA9PSBuAGRvdGluaXQuYwByZW1vdmVfZnJvbV9yYW5rAG9yZGVyAGVkZ2UgbGFiZWxzIHdpdGggc3BsaW5lcz1jdXJ2ZWQgbm90IHN1cHBvcnRlZCBpbiBkb3QgLSB1c2UgeGxhYmVscwoARURfbGFiZWwoZmUpAGRvdHNwbGluZXMuYwBfZG90X3NwbGluZXMAZmxhdCBlZGdlIGJldHdlZW4gYWRqYWNlbnQgbm9kZXMgb25lIG9mIHdoaWNoIGhhcyBhIHJlY29yZCBzaGFwZSAtIHJlcGxhY2UgcmVjb3JkcyB3aXRoIEhUTUwtbGlrZSBsYWJlbHMKACAgRWRnZSAlcyAlcyAlcwoAeHh4ADEwMDAwAHslc30AYXV4ZwBsYWJlbF9mbG9hdABmaXhlZAAobCA9IEVEX2xhYmVsKGZlKSkAc2V0RWRnZUxhYmVsUG9zAGUgIT0gTlVMTABmYXN0Z3IuYwBkZWxldGVfZmFzdF9lZGdlAG4gIT0gTkRfbmV4dChuKQBmYXN0X25vZGUAdSAhPSB2AGZhc3Rfbm9kZWFwcABORF9uZXh0KHYpID09IE5VTEwAZmluZF9mYXN0X25vZGUoZywgbikAZGVsZXRlX2Zhc3Rfbm9kZQBkZWxldGVfZmxhdF9lZGdlAG1lcmdlX29uZXdheSBnbGl0Y2gKAG1lcmdlX29uZXdheQBzYWZlX2RlbGV0ZV9mYXN0X2VkZ2UAbGcAaW5mbwBjb21wAGNudCA9PSBzegBtaW5jcm9zcy5jAGZpeExhYmVsT3JkZXIAcmVtaW5jcm9zcwBtaW5jcm9zcyAlczogJWQgY3Jvc3NpbmdzLCAlLjJmIHNlY3MuCgB2AG5laWdoYm9yAChydiA9PSAwKSB8fCAoTkRfb3JkZXIocnYpLU5EX29yZGVyKHYpKSpkaXIgPiAwAGNvbnN0cmFpbmluZ19mbGF0X2VkZ2UoZyx2LGUpID09IEZBTFNFAGZsYXRfcmVvcmRlcgBORF9yYW5rKHYpID09IHIAcG9zdG9yZGVyAGZsYXRpbmRleChhZ2hlYWQoZSkpIDwgTS0+bnJvd3MAZmxhdF9zZWFyY2gAZmxhdGluZGV4KGFndGFpbChlKSkgPCBNLT5uY29scwBvdXQAb3JkZXJpbmcgJyVzJyBub3QgcmVjb2duaXplZC4KAG9yZGVyaW5nICclcycgbm90IHJlY29nbml6ZWQgZm9yIG5vZGUgJyVzJy4KAG1lcmdlMjogZ3JhcGggJXMsIHJhbmsgJWQgaGFzIG9ubHkgJWQgPCAlZCBub2RlcwoAbWluY3Jvc3M6IHBhc3MgJWQgaXRlciAlZCB0cnlpbmcgJWQgY3VyX2Nyb3NzICVkIGJlc3RfY3Jvc3MgJWQKAE5EX29yZGVyKHYpIDwgTkRfb3JkZXIodykAYmFsYW5jZQB0cmFuc3Bvc2Vfc3RlcABzdXJwcmlzZQoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiAlcyAlcyByYW5rICVkIGkgPSAlZCBhbiA9IDAKAEdEX3JhbmsoZylbcl0ubiA8PSBHRF9yYW5rKGcpW3JdLmFuAGluc3RhbGxfaW5fcmFuawBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6IE5EX29yZGVyKCVzKSBbJWRdID4gR0RfcmFuayhSb290KVslZF0uYW4gWyVkXQoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiByYW5rICVkIG5vdCBpbiByYW5rIHJhbmdlIFslZCwlZF0KAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogR0RfcmFuayhnKVslZF0udiArIE5EX29yZGVyKCVzKSBbJWRdID4gR0RfcmFuayhnKVslZF0uYXYgKyBHRF9yYW5rKFJvb3QpWyVkXS5hbiBbJWRdCgBfbmV3X3JhbmsAbWNsaW1pdAByYW5rKGcsIDIsIG5zaXRlcjIoZykpID09IDAAcG9zaXRpb24uYwBkb3RfcG9zaXRpb24AQVI9JTAuNGxmCSBBcmVhPSAlMC40bGYJAER1bW15PSVkCgBHb2luZyB0byBhcHBseSBhbm90aGVyIGV4cGFuc2lvbi4KAG5leHQjaXRlcj0lZAoAaHAAY29ubmVjdEdyYXBoAEVkZ2UgbGVuZ3RoICVmIGxhcmdlciB0aGFuIG1heGltdW0gJXUgYWxsb3dlZC4KQ2hlY2sgZm9yIG92ZXJ3aWRlIG5vZGUocykuCgBuc2xpbWl0AGNvbnRhaW5fbm9kZXMgY2x1c3QgJXMgcmFuayAlZCBtaXNzaW5nIG5vZGUKAG5zbGltaXQxAG5ld3JhbmsATWF4cmFuayA9ICVkLCBtaW5yYW5rID0gJWQKAGxlYWRlciAhPSBOVUxMAHJhbmsuYwBjbHVzdGVyX2xlYWRlcgAoTkRfVUZfc2l6ZShuKSA8PSAxKSB8fCAobiA9PSBsZWFkZXIpAGFnaGVhZChlKSA9PSBVRl9maW5kKGFnaGVhZChlKSkAbWlubWF4X2VkZ2VzAGFndGFpbChlKSA9PSBVRl9maW5kKGFndGFpbChlKSkAcmFuawBzYW1lAG1pbgBzb3VyY2UAbWF4AHNpbmsAbGV2ZWwgYXNzaWdubWVudCBjb25zdHJhaW50cwBsZXZlbCBncmFwaCByZWMAf3Jvb3QAf3RvcAB/Ym90AGNvbXBhY3QAX3dlYWtfJWQAcmFua2luZzogZmFpbHVyZSB0byBjcmVhdGUgc3Ryb25nIGNvbnN0cmFpbnQgZWRnZSBiZXR3ZWVuIG5vZGVzICVzIGFuZCAlcwoAJXMgaGFzIHVucmVjb2duaXplZCByYW5rPSVzAGxldmVsIGVkZ2UgcmVjAGxldmVsIG5vZGUgcmVjAHNhbWVoZWFkAHNhbWV0YWlsAHRvbyBtYW55ICg+ICVkKSBzYW1le2hlYWQsdGFpbH0gZ3JvdXBzIGZvciBub2RlICVzCgBjb21iaUFSID0gJWxmCgAlbGYsJWQAdGhlIGFzcGVjdCBhdHRyaWJ1dGUgaGFzIGJlZW4gZGlzYWJsZWQgZHVlIHRvIGltcGxlbWVudGF0aW9uIGZsYXdzIC0gYXR0cmlidXRlIGlnbm9yZWQuCgBFRF90b192aXJ0KGUpID09IE5VTEwAY2xhc3MyLmMAbWVyZ2VfY2hhaW4ARURfdG9fdmlydChvcmlnKSA9PSBOVUxMAG1ha2VfY2hhaW4ARURfdG9fdmlydChvcmlnKSAhPSBOVUxMAE5EX3JhbmsoZnJvbSkgPCBORF9yYW5rKHRvKQBjbHVzdGVyLmMAbWFwX3BhdGgAJXMgd2FzIGFscmVhZHkgaW4gYSByYW5rc2V0LCBkZWxldGVkIGZyb20gY2x1c3RlciAlcwoAbGhlYWQAbHRhaWwAJXMgLT4gJXM6IHNwbGluZSBzaXplID4gMSBub3Qgc3VwcG9ydGVkCgAlcyAtPiAlczogaGVhZCBub3QgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAJXMgLT4gJXM6IHRhaWwgaXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAYmV6LT5zZmxhZwBjb21wb3VuZC5jAG1ha2VDb21wb3VuZEVkZ2UAYmV6LT5lZmxhZwAlcyAtPiAlczogdGFpbCBub3QgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAJXMgLT4gJXM6IGhlYWQgaXMgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAc2VnbWVudCBbJXMsJXNdIGRvZXMgbm90IGludGVyc2VjdCBib3ggbGw9JXMsdXI9JXMKAGJveEludGVyc2VjdGYAKCUuNWcsJS41ZykAY2x1c3RlciBuYW1lZCAlcyBub3QgZm91bmQKAGNvbmNlbnRyYXRlPXRydWUgbWF5IG5vdCB3b3JrIGNvcnJlY3RseS4KAHJlYnVpbHRkX3ZsaXN0czogcmFuayBsZWFkICVzIG5vdCBpbiBvcmRlciAlZCBvZiByYW5rICVkCgBkZWdlbmVyYXRlIGNvbmNlbnRyYXRlZCByYW5rICVzLCVkCgBORF9pbihyaWdodCkuc2l6ZSArIE5EX291dChyaWdodCkuc2l6ZSA9PSAwAGNvbmMuYwBtZXJnZXZpcnR1YWwAZG90OiBPdXQgb2YgbWVtb3J5CgBORF9vdXQodikuc2l6ZSA9PSAyAGZsYXQuYwBzZXRib3VuZHMAR0RfbWlucmFuayhnKSA9PSAwAGFib21pbmF0aW9uAEVycm9yAFdhcm5pbmcAJXM6IAB1c2Vyb3V0OiBjb3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5CgBfQUdfc3RyZGF0YQBfQUdfZGF0YWRpY3QAYWdkaWN0b2Y6IHVua25vd24ga2luZCAlZAoAJWMlbGQAbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZQBhZ2RlbGV0ZSBvbiB3cm9uZyBncmFwaABfQUdfcGVuZGluZwBhZ3JlY29yZF9jYWxsYmFjayBvZiBhIGJhZCBvYmplY3QAcGVuZCBkaWN0b2YgYSBiYWQgb2JqZWN0AG1vdmUgdG8gZnJvbnQgbG9jayBpbmNvbnNpc3RlbmN5AFxcAGZhdGFsIGZsZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJvci0tbm8gYWN0aW9uIGZvdW5kACVzCgBmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwgZXJyb3ItLWVuZCBvZiBidWZmZXIgbWlzc2VkAGZhdGFsIGVycm9yIC0gc2Nhbm5lciBpbnB1dCBidWZmZXIgb3ZlcmZsb3cAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ19nZXRfbmV4dF9idWZmZXIoKQBpbnB1dABzeW50YXggYW1iaWd1aXR5IC0gYmFkbHkgZGVsaW1pdGVkIG51bWJlciAnACcgaW4gbGluZSAlZCBvZiAAIHNwbGl0cyBpbnRvIHR3byB0b2tlbnMKACVzAGxpbmUAJWQgJTFbIl0lbgBvdXQgb2YgZHluYW1p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ZWN0ICVmCgAgIHNpemUgICAlZAoAICBmbGFncyAgJWQKAHVuZGVmaW5lZABwYWNrAEFycm93IHR5cGUgIiVzIiB1bmtub3duIC0gaWdub3JpbmcKAG5vcm1hbABjcm93AHRlZQBkb3QAaW52AHZlZQBwZW4AbXB0eQBjdXJ2ZQBpY3VydmUAbABoYWxmAGludmVtcHR5AF9iYWNrZ3JvdW5kAF9kcmF3XwBDb3VsZCBub3QgcGFyc2UgIl9iYWNrZ3JvdW5kIiBhdHRyaWJ1dGUgaW4gZ3JhcGggJXMKACAgIiVzIgoAbm8gbWVtb3J5IGZyb20gem1hbGxvYygpCgBvYmoAZW1pdC5jAHBvcF9vYmpfc3RhdGUAY2x1c3QAJWxkAHBhZ2UlZCwlZF8AVG90YWwgc2l6ZSA+IDEgaW4gIiVzIiBjb2xvciBzcGVjIABJbGxlZ2FsIGxlbmd0aCB2YWx1ZSBpbiAiJXMiIGNvbG9yIGF0dHJpYnV0ZSAAY29sb3JzY2hlbWUAZW1pdF9lZGdlX2xhYmVsACVzLSVzAGZvcndhcmQAYmFjawAgLT4gACAtLSAAaW4gZWRnZSAlcyVzJXMKAGxhYmVsYWxpZ25lZABlZGdlaHJlZgBlZGdlVVJMAGxhYmVsaHJlZgBsYWJlbFVSTAB0YWlsaHJlZgB0YWlsVVJMAGhlYWRocmVmAGhlYWRVUkwAdGFyZ2V0AGVkZ2V0YXJnZXQAbGFiZWx0YXJnZXQAdGFpbHRhcmdldABoZWFkdGFyZ2V0AGVkZ2V0b29sdGlwAGxhYmVsdG9vbHRpcAB0YWlsdG9vbHRpcABoZWFkdG9vbHRpcAABbmVzdGluZyBub3QgYWxsb3dlZCBpbiBzdHlsZTogJXMKAHVubWF0Y2hlZCAnKScgaW4gc3R5bGU6ICVzCgB0cnVuY2F0aW5nIHN0eWxlICclcycKAHVubWF0Y2hlZCAnKCcgaW4gc3R5bGU6ICVzCgBhbGwAYmdjb2xvcgBpbiBjbHVzdGVyICVzCgBNb3JlIHRoYW4gMiBjb2xvcnMgc3BlY2lmaWVkIGZvciBhIGdyYWRpZW50IC0gaWdub3JpbmcgcmVtYWluaW5nCgBncmFkaWVudCBwZW4gY29sb3JzIG5vdCB5ZXQgc3VwcG9ydGVkLgoASW1hZ2VzIHVuc3VwcG9ydGVkIGluICJiYWNrZ3JvdW5kIiBhdHRyaWJ1dGUKAGxheWVycyBub3Qgc3VwcG9ydGVkIGluICVzIG91dHB1dAoATGF5b3V0IHdhcyBub3QgZG9uZS4gIE1pc3NpbmcgbGF5b3V0IHBsdWdpbnM/IAoAZ3ZSZW5kZXJKb2JzICVzOiAlLjJmIHNlY3MuCgBsYXlvdXQgd2FzIG5vdCBkb25lCgByZW5kZXJlciBmb3IgJXMgaXMgdW5hdmFpbGFibGUKAHBhZ2VkaXI9JXMgaWdub3JlZAoAdmlld3BvcnQAJWxmLCVsZiwlbGYsJyVbXiddJwAlbGYsJWxmLCVsZiwlW14sXSVzACVsZiwlbGYsJWxmLCVsZiwlbGYAb3V0cHV0b3JkZXIAb2Rlc2ZpcnN0AGRnZXNmaXJzdABsYXllcnMAbGF5ZXJzZWxlY3QAVGhlIGxheWVyc2VsZWN0IGF0dHJpYnV0ZSAiJXMiIGRvZXMgbm90IG1hdGNoIGFueSBsYXllciBzcGVjaWZlZCBieSB0aGUgbGF5ZXJzIGF0dHJpYnV0ZSAtIGlnbm9yZWQuCgBsYXllcnNlcAA6CSAAbGF5ZXJsaXN0c2VwACwAVGhlIGNoYXJhY3RlciAnJWMnIGFwcGVhcnMgaW4gYm90aCB0aGUgbGF5ZXJzZXAgYW5kIGxheWVybGlzdHNlcCBhdHRyaWJ1dGVzIC0gbGF5ZXJsaXN0c2VwIGlnbm9yZWQuCgBwYWQAQkwAcGFnZWRpcgBzb2xpZAAAc2V0bGluZXdpZHRoADEAAHNwbC0+c2l6ZSA+IDAAaW5pdF9zcGxpbmVzX2JiAGJ6LnNpemUgPiAwAGJlemllcl9iYgBiei5zaXplICUgMyA9PSAxAGxhYmVsACVsZgBmb250cGF0aABET1RGT05UUEFUSABHREZPTlRQQVRIAGltYWdlcGF0aABxdWFudHVtAHJhbmtkaXIATFIAQlQAUkwAbm9kZXNlcAByYW5rc2VwAGVxdWFsbHkAc2hvd2JveGVzAGZvbnRuYW1lcwBzaXplAHBhZ2UAY2VudGVyAHJvdGF0ZQBvcmllbnRhdGlvbgBsYW5kc2NhcGUAY2x1c3RlcnJhbmsAY29uY2VudHJhdGUAZHBpAHJlc29sdXRpb24Ab3JkZXJpbmcAZ3JhZGllbnRhbmdsZQBmaWxsY29sb3IAc3R5bGUAZm9udHNpemUAZm9udG5hbWUAZm9udGNvbG9yAHhsYWJlbABwZW53aWR0aABzaWRlcwBwZXJpcGhlcmllcwBza2V3AGRpc3RvcnRpb24AZml4ZWRzaXplAG5vanVzdGlmeQBsYXllcgBncm91cABjb21tZW50AHZlcnRpY2VzAHoAd2VpZ2h0AGxhYmVsZmxvYXQAZGlyAGFycm93aGVhZABhcnJvd3RhaWwAaGVhZGxhYmVsAHRhaWxsYWJlbABsYWJlbGZvbnRzaXplAGxhYmVsZm9udG5hbWUAbGFiZWxmb250Y29sb3IAbGFiZWxkaXN0YW5jZQBsYWJlbGFuZ2xlAG1pbmxlbgBkZWNvcmF0ZQBhcnJvd3NpemUAY29uc3RyYWludAB0YWlsY2xpcABoZWFkY2xpcABpZABsYWJlbGp1c3QAbG9jYWwAZ2xvYmFsACVsZiwlbGYlYwAlbGYlYwByYXRpbwBhdXRvAGNvbXByZXNzAGV4cGFuZABmaWxsAGdkAHBzAHN2ZwBjaGFyc2V0AHV0Zi04AGxhdGluLTEAbGF0aW4xAGwxAElTTy04ODU5LTEASVNPXzg4NTktMQBJU084ODU5LTEASVNPLUlSLTEwMABiaWctNQBiaWc1AHV0ZjgAVW5zdXBwb3J0ZWQgY2hhcnNldCAiJXMiIC0gYXNzdW1pbmcgdXRmLTgKAGluIGxhYmVsIG9mIGdyYXBoICVzCgBpbiBsYWJlbCBvZiBub2RlICVzCgBpbiBsYWJlbCBvZiBlZGdlICVzICVzICVzCgBraW5kID09IExUX05PTkUAbGFiZWxzLmMAbWFrZV9sYWJlbABcTABcRwBcRQBcSABcVAAmIzEzOwAmIzEwOwAmcXVvdDsAJiMxNjA7ACZhbXA7ACZndDsAJiMzOTsAJiM0NTsAJmx0OwAlcyAlZCBub2RlcyAlZCBlZGdlcyBtYXhpdGVyPSVkIGJhbGFuY2U9JWQKAG5ldHdvcmsgc2ltcGxleDogACVkIAAlcyVkIG5vZGVzICVkIGVkZ2VzICVkIGl0ZXIgJS4yZiBzZWMKAHVwZGF0ZTogbWlzbWF0Y2hlZCBsY2EgaW4gdHJlZXVwZGF0ZXMKAFRyZWVfZWRnZS5zaXplID09IE5fbm9kZXMgLSAxAG5zLmMAZmVhc2libGVfdHJlZQAhVFJFRV9FREdFKGUpAG1lcmdlX3RyZWVzAChyMC0+aGVhcF9pbmRleCA+IC0xKSB8fCAocjEtPmhlYXBfaW5kZXggPiAtMSkAU1RzZXRVbmlvbgByLT5oZWFwX2luZGV4ID49IDAAYWRkX3RyZWVfZWRnZTogbWlzc2luZyB0cmVlIGVkZ2UKAGFkZF90cmVlX2VkZ2U6IGVtcHR5IG91dGVkZ2UgbGlzdAoAYWRkX3RyZWVfZWRnZTogZW1wdHkgaW5lZGdlIGxpc3QKAHRyb3VibGUgaW4gaW5pdF9yYW5rCgAJJXMgJWQKAHNlYXJjaHNpemUAZ3JhcGggACAAbm9kZSAAc3RvcAoAJS41ZwBwb3MAcmVjdHMAeGxwAGxwAGhlYWRfbHAAdGFpbF9scABsd2lkdGgAbGhlaWdodABiYgAlLjVnLCUuNWcsJS41ZwAsJS41ZwAlLjVnLCUuNWcAc2FtcGxlcG9pbnRzACUuNWcgJS41ZwBzLCUuNWcsJS41ZyAAZSwlLjVnLCUuNWcgACUuNWcsJS41ZywlLjVnLCUuNWcAJS4yZgAlLjVnLCUuNWcsJS41ZywlLjVnIAAvcGF0aGJveCB7CiAgICAvWCBleGNoIG5lZyAlLjVnIHN1YiBkZWYKICAgIC9ZIGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAveCBleGNoIG5lZyAlLjVnIHN1YiBkZWYKICAgIC95IGV4Y2ggJS41ZyBzdWIgZGVmCiAgICBuZXdwYXRoIHggeSBtb3ZldG8KICAgIFggeSBsaW5ldG8KICAgIFggWSBsaW5ldG8KICAgIHggWSBsaW5ldG8KICAgIGNsb3NlcGF0aCBzdHJva2UKfSBkZWYKAC9wYXRoYm94IHsKICAgIC9ZIGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAvWCBleGNoICUuNWcgc3ViIGRlZgogICAgL3kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC94IGV4Y2ggJS41ZyBzdWIgZGVmCiAgICBuZXdwYXRoIHggeSBtb3ZldG8KICAgIFggeSBsaW5ldG8KICAgIFggWSBsaW5ldG8KICAgIHggWSBsaW5ldG8KICAgIGNsb3NlcGF0aCBzdHJva2UKIH0gZGVmCi9kYmdzdGFydCB7IGdzYXZlICUuNWcgJS41ZyB0cmFuc2xhdGUgfSBkZWYKL2Fycm93bGVuZ3RoIDEwIGRlZgovYXJyb3d3aWR0aCBhcnJvd2xlbmd0aCAyIGRpdiBkZWYKL2Fycm93aGVhZCB7CiAgICBnc2F2ZQogICAgcm90YXRlCiAgICBjdXJyZW50cG9pbnQKICAgIG5ld3BhdGgKICAgIG1vdmV0bwogICAgYXJyb3dsZW5ndGggYXJyb3d3aWR0aCAyIGRpdiBybGluZXRvCiAgICAwIGFycm93d2lkdGggbmVnIHJsaW5ldG8KICAgIGNsb3NlcGF0aCBmaWxsCiAgICBncmVzdG9yZQp9IGJpbmQgZGVmCi9tYWtlYXJyb3cgewogICAgY3VycmVudHBvaW50IGV4Y2ggcG9wIHN1YiBleGNoIGN1cnJlbnRwb2ludCBwb3Agc3ViIGF0YW4KICAgIGFycm93aGVhZAp9IGJpbmQgZGVmCi9wb2ludCB7ICAgIG5ld3BhdGggICAgMiAwIDM2MCBhcmMgZmlsbH0gZGVmL21ha2V2ZWMgewogICAgL1kgZXhjaCBkZWYKICAgIC9YIGV4Y2ggZGVmCiAgICAveSBleGNoIGRlZgogICAgL3ggZXhjaCBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCBZIGxpbmV0byBzdHJva2UKICAgIFggWSBtb3ZldG8KICAgIHggeSBtYWtlYXJyb3cKfSBkZWYKAGxvc3QgJXMgJXMgZWRnZQoAbm8gcG9zaXRpb24gZm9yIGVkZ2Ugd2l0aCBsYWJlbCAlcwBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIHRhaWwgbGFiZWwgJXMAbm8gcG9zaXRpb24gZm9yIGVkZ2Ugd2l0aCBoZWFkIGxhYmVsICVzAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggeGxhYmVsICVzAGZvcmNlbGFiZWxzACVkIG91dCBvZiAlZCBsYWJlbHMgcG9zaXRpb25lZC4KACVkIG91dCBvZiAlZCBleHRlcmlvciBsYWJlbHMgcG9zaXRpb25lZC4KACVkIG9ianMgJWQgeGxhYmVscyBmb3JjZT0lZCBiYj0oJS4wMmYsJS4wMmYpICglLjAyZiwlLjAyZikKAG9iamVjdHMKACBbJWRdICglLjAyZiwlLjAyZikgKCUuMDJmLCUuMDJmKSAlcCAiJXMiCgB4bGFiZWxzCgAgWyVkXSAlcCBzZXQgJWQgKCUuMDJmLCUuMDJmKSAoJS4wMmYsJS4wMmYpICVzCgBzaGFwZWZpbGUgbm90IHNldCBvciBub3QgZm91bmQgZm9yIGVwc2Ygbm9kZSAlcwoAY291bGRuJ3Qgb3BlbiBlcHNmIGZpbGUgJXMKACUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQAcmVhZABCb3VuZGluZ0JveCBub3QgZm91bmQgaW4gZXBzZiBmaWxlICVzCgBjYW4ndCBmaW5kIGxpYnJhcnkgZmlsZSAlcwoAY2FuJ3Qgb3BlbiBsaWJyYXJ5IGZpbGUgJXMKAEVPRgBCRUdJTgBFTkQAVFJBSUxFUgAvdXNlcl9zaGFwZV8lZCB7CgAlJUJlZ2luRG9jdW1lbnQ6CgAlJUVuZERvY3VtZW50CgB9IGJpbmQgZGVmCgBVVEYtOCBpbnB1dCB1c2VzIG5vbi1MYXRpbjEgY2hhcmFjdGVycyB3aGljaCBjYW5ub3QgYmUgaGFuZGxlZCBieSB0aGlzIFBvc3RTY3JpcHQgZHJpdmVyCgBjYW5ub3QgcmUtYWxsb2NhdGUgcHMKAHJvdXRlc3BsaW5lc2luaXQ6IGNhbm5vdCBhbGxvY2F0ZSBwcwoAcm91dGVzcGxpbmVzOiAlZCBlZGdlcywgJWQgYm94ZXMgJS4yZiBzZWMKAGluIHJvdXRlc3BsaW5lcywgY2Fubm90IGZpbmQgTk9STUFMIGVkZ2UKAGluIHJvdXRlc3BsaW5lcywgaWxsZWdhbCB2YWx1ZXMgb2YgcHJldiAlZCBhbmQgbmV4dCAlZCwgbGluZSAlZAoAaW4gcm91dGVzcGxpbmVzLCBlZGdlIGlzIGEgbG9vcCBhdCAlcwoAaW4gcm91dGVzcGxpbmVzLCBQc2hvcnRlc3RwYXRoIGZhaWxlZAoAaW4gcm91dGVzcGxpbmVzLCBQcm91dGVzcGxpbmUgZmFpbGVkCgBVbmFibGUgdG8gcmVjbGFpbSBib3ggc3BhY2UgaW4gc3BsaW5lIHJvdXRpbmcgZm9yIGVkZ2UgIiVzIiAtPiAiJXMiLiBTb21ldGhpbmcgaXMgcHJvYmFibHkgc2VyaW91c2x5IHdyb25nLgoAaW4gY2hlY2twYXRoLCBib3ggMCBoYXMgTEwgY29vcmQgPiBVUiBjb29yZAoAaW4gY2hlY2twYXRoLCBib3ggJWQgaGFzIExMIGNvb3JkID4gVVIgY29vcmQKAGluIGNoZWNrcGF0aCwgYm94ZXMgJWQgYW5kICVkIGRvbid0IHRvdWNoCgBpbiBjaGVja3BhdGgsIHN0YXJ0IHBvcnQgbm90IGluIGZpcnN0IGJveAoAaW4gY2hlY2twYXRoLCBlbmQgcG9ydCBub3QgaW4gbGFzdCBib3gKACVkIGJveGVzOgoAJWQgKCUuNWcsICUuNWcpLCAoJS41ZywgJS41ZykKAGNvbnN0cmFpbmVkAG5vdCBjb25zdHJhaW5lZABzdGFydCBwb3J0OiAoJS41ZywgJS41ZyksIHRhbmdlbnQgYW5nbGU6ICUuNWcsICVzCgBlbmQgcG9ydDogKCUuNWcsICUuNWcpLCB0YW5nZW50IGFuZ2xlOiAlLjVnLCAlcwoAc2lkZXMgPT0gNABzaGFwZXMuYwByb3VuZF9jb3JuZXJzAGJhZCBsYWJlbCBmb3JtYXQgJXMKAFxOAG1hcmdpbgAlbGYsJWxmAHJlZ3VsYXIAY3VzdG9tAHNoYXBlZmlsZQA8bmlsPgBObyBvciBpbXByb3BlciBzaGFwZWZpbGU9IiVzIiBmb3Igbm9kZSAiJXMiCgBObyBvciBpbXByb3BlciBpbWFnZT0iJXMiIGZvciBub2RlICIlcyIKAGxhYmVsbG9jAHNoYXBlAG5vZGUgJyVzJywgZ3JhcGggJyVzJyBzaXplIHRvbyBzbWFsbCBmb3IgbGFiZWwKAGVwc2YAdXNpbmcgJXMgZm9yIHVua25vd24gc2hhcGUgJXMKAGJveABwb2x5Z29uAG92YWwAY2lyY2xlAHBvaW50AGVnZwB0cmlhbmdsZQBwbGFpbnRleHQAcGxhaW4AZGlhbW9uZAB0cmFwZXppdW0AcGFyYWxsZWxvZ3JhbQBob3VzZQBwZW50YWdvbgBoZXhhZ29uAHNlcHRhZ29uAG9jdGFnb24Abm90ZQB0YWIAZm9sZGVyAGJveDNkAGNvbXBvbmVudABjeWxpbmRlcgByZWN0AHJlY3RhbmdsZQBzcXVhcmUAZG91YmxlY2lyY2xlAGRvdWJsZW9jdGFnb24AdHJpcGxlb2N0YWdvbgBpbnZ0cmlhbmdsZQBpbnZ0cmFwZXppdW0AaW52aG91c2UAdW5kZXJsaW5lAE1kaWFtb25kAE1zcXVhcmUATWNpcmNsZQBwcm9tb3RlcgBjZHMAdGVybWluYXRvcgB1dHIAaW5zdWxhdG9yAHJpYm9zaXRlAHJuYXN0YWIAcHJvdGVhc2VzaXRlAHByb3RlaW5zdGFiAHByaW1lcnNpdGUAcmVzdHJpY3Rpb25zaXRlAGZpdmVwb3ZlcmhhbmcAdGhyZWVwb3ZlcmhhbmcAbm92ZXJoYW5nAGFzc2VtYmx5AHNpZ25hdHVyZQBycHJvbW90ZXIAbGFycm93AHJhcnJvdwBscHJvbW90ZXIAcmVjb3JkAE1yZWNvcmQAc3RhcgAjODA4MDgwACNmY2ZjZmMAIzMwMzAzMAAjZThlOGU4ACNlMGUwZTAAI2YwZjBmMAAjMTAxMDEwACNmOGY4ZjgAaW4gbm9kZSAlcwoAcm91bmRlZABkaWFnb25hbHMAcmFkaWFsAHN0cmlwZWQAd2VkZ2VkAF8Abm9kZSAlcywgcG9ydCAlcywgdW5yZWNvZ25pemVkIGNvbXBhc3MgcG9pbnQgJyVzJyAtIGlnbm9yZWQKAG5vZGUgJXMsIHBvcnQgJXMgdW5yZWNvZ25pemVkCgAlLjVnICUuNWcgdHJhbnNsYXRlIG5ld3BhdGggdXNlcl9zaGFwZV8lZAoAaW52aXMAAGZpbGxlZAAAcwBlAHcAc3BsaW5lcy5jAGJlZ2lucGF0aABQLT5lbmQudGhldGEgPCAyICogTV9QSQBlbmRwYXRoAG1ha2VTZWxmRWRnZQBnZXRzcGxpbmVwb2ludHM6IG5vIHNwbGluZSBwb2ludHMgYXZhaWxhYmxlIGZvciBlZGdlICglcywlcykKAHBvbHlsaW5lTWlkcG9pbnQAc3Bhbi0+Zm9udAB0ZXh0c3Bhbi5jAHRleHRzcGFuX3NpemUAZm9udC0+bmFtZQBmb250bmFtZTogIiVzIiByZXNvbHZlZCB0bzogJXMKAGZvbnRuYW1lOiB1bmFibGUgdG8gcmVzb2x2ZSAiJXMiCgBjb3VyAGFyaWFsAGhlbHZldGljYQBbaW50ZXJuYWwgdGltZXNdAFtpbnRlcm5hbCBjb3VyaWVyXQBbaW50ZXJuYWwgYXJpYWxdAEF2YW50R2FyZGUtQm9vawBVUlcgR290aGljIEwAYm9vawBzYW5zLVNlcmlmAEF2YW50R2FyZGUtQm9va09ibGlxdWUAb2JsaXF1ZQBpdGFsaWMAQXZhbnRHYXJkZS1EZW1pAGRlbWkAQXZhbnRHYXJkZS1EZW1pT2JsaXF1ZQBCb29rbWFuLURlbWkAVVJXIEJvb2ttYW4gTABzZXJpZgBCb29rbWFuLURlbWlJdGFsaWMAQm9va21hbi1MaWdodABsaWdodABCb29rbWFuLUxpZ2h0SXRhbGljAENvdXJpZXIAbW9ub3NwYWNlAENvdXJpZXItQm9sZABDb3VyaWVyLUJvbGRPYmxpcXVlAENvdXJpZXItT2JsaXF1ZQBIZWx2ZXRpY2EASGVsdmV0aWNhLUJvbGQASGVsdmV0aWNhLUJvbGRPYmxpcXVlAEhlbHZldGljYS1OYXJyb3cAY29uZGVuc2VkAEhlbHZldGljYS1OYXJyb3ctQm9sZABIZWx2ZXRpY2EtTmFycm93LUJvbGRPYmxpcXVlAEhlbHZldGljYS1OYXJyb3ctT2JsaXF1ZQBIZWx2ZXRpY2EtT2JsaXF1ZQBOZXdDZW50dXJ5U2NobGJrLUJvbGQAQ2VudHVyeSBTY2hvb2xib29rIEwATmV3Q2VudHVyeVNjaGxiay1Cb2xkSXRhbGljAE5ld0NlbnR1cnlTY2hsYmstSXRhbGljAE5ld0NlbnR1cnlTY2hsYmstUm9tYW4Acm9tYW4AUGFsYXRpbm8tQm9sZABQYWxhdGlubyBMaW5vdHlwZQBQYWxhdGluby1Cb2xkSXRhbGljAFBhbGF0aW5vLUl0YWxpYwBQYWxhdGluby1Sb21hbgBTeW1ib2wAZmFudGFzeQBUaW1lcy1Cb2xkAFRpbWVzAFRpbWVzLUJvbGRJdGFsaWMAVGltZXMtSXRhbGljAFphcGZDaGFuY2VyeS1NZWRpdW1JdGFsaWMAVVJXIENoYW5jZXJ5IEwAbWVkaXVtAFphcGZEaW5nYmF0cwBEaW5nYmF0cwBubwB0cnVlAHllcwB1dGlscy5jAHUgPT0gVUZfZmluZCh1KQBVRl9zZXRuYW1lAAFmaWxlIGxvYWRpbmcgaXMgZGlzYWJsZWQgYmVjYXVzZSB0aGUgZW52aXJvbm1lbnQgY29udGFpbnMgU0VSVkVSX05BTUU9IiVzIgphbmQgdGhlIEdWX0ZJTEVfUEFUSCB2YXJpYWJsZSBpcyB1bnNldCBvciBlbXB0eS4KAFBhdGggcHJvdmlkZWQgdG8gZmlsZTogIiVzIiBoYXMgYmVlbiBpZ25vcmVkIGJlY2F1c2UgZmlsZXMgYXJlIG9ubHkgcGVybWl0dGVkIHRvIGJlIGxvYWRlZCBmcm9tIHRoZSBkaXJlY3RvcmllcyBpbiAiJXMiIHdoZW4gcnVubmluZyBpbiBhbiBodHRwIHNlcnZlci4KACVzJXMlcwAvADoAZWxsaXBzZQBUaW1lcy1Sb21hbgBjbHVzdGVyAF9fY2x1c3Rlcm5vZGVzAFR3byBjbHVzdGVycyBuYW1lZCAlcyAtIHRoZSBzZWNvbmQgd2lsbCBiZSBpZ25vcmVkCgBtYXBOAEFFbGlnAEFhY3V0ZQBBY2lyYwBBZ3JhdmUAQWxwaGEAQXJpbmcAQXRpbGRlAEF1bWwAQmV0YQBDY2VkaWwAQ2hpAERhZ2dlcgBEZWx0YQBFVEgARWFjdXRlAEVjaXJjAEVncmF2ZQBFcHNpbG9uAEV0YQBFdW1sAEdhbW1hAElhY3V0ZQBJY2lyYwBJZ3JhdmUASW90YQBJdW1sAEthcHBhAExhbWJkYQBNdQBOdGlsZGUATnUAT0VsaWcAT2FjdXRlAE9jaXJjAE9ncmF2ZQBPbWVnYQBPbWljcm9uAE9zbGFzaABPdGlsZGUAT3VtbABQaGkAUGkAUHJpbWUAUHNpAFJobwBTY2Fyb24AU2lnbWEAVEhPUk4AVGF1AFRoZXRhAFVhY3V0ZQBVY2lyYwBVZ3JhdmUAVXBzaWxvbgBVdW1sAFhpAFlhY3V0ZQBZdW1sAFpldGEAYWFjdXRlAGFjaXJjAGFjdXRlAGFlbGlnAGFncmF2ZQBhbGVmc3ltAGFscGhhAGFtcABhbmQAYW5nAGFyaW5nAGFzeW1wAGF0aWxkZQBhdW1sAGJkcXVvAGJldGEAYnJ2YmFyAGJ1bGwAY2FwAGNjZWRpbABjZWRpbABjZW50AGNoaQBjaXJjAGNsdWJzAGNvbmcAY29weQBjcmFycgBjdXAAY3VycmVuAGRBcnIAZGFnZ2VyAGRhcnIAZGVnAGRlbHRhAGRpYW1zAGRpdmlkZQBlYWN1dGUAZWNpcmMAZWdyYXZlAGVtcHR5AGVtc3AAZW5zcABlcHNpbG9uAGVxdWl2AGV0YQBldGgAZXVtbABldXJvAGV4aXN0AGZub2YAZm9yYWxsAGZyYWMxMgBmcmFjMTQAZnJhYzM0AGZyYXNsAGdhbW1hAGdlAGd0AGhBcnIAaGFycgBoZWFydHMAaGVsbGlwAGlhY3V0ZQBpY2lyYwBpZXhjbABpZ3JhdmUAaW1hZ2UAaW5maW4AaW50AGlvdGEAaXF1ZXN0AGlzaW4AaXVtbABrYXBwYQBsQXJyAGxhbWJkYQBsYW5nAGxhcXVvAGxhcnIAbGNlaWwAbGRxdW8AbGUAbGZsb29yAGxvd2FzdABsb3oAbHJtAGxzYXF1bwBsc3F1bwBsdABtYWNyAG1kYXNoAG1pY3JvAG1pZGRvdABtdQBuYWJsYQBuYnNwAG5kYXNoAG5lAG5pAG5vdABub3RpbgBuc3ViAG50aWxkZQBudQBvYWN1dGUAb2NpcmMAb2VsaWcAb2dyYXZlAG9saW5lAG9tZWdhAG9taWNyb24Ab3BsdXMAb3IAb3JkZgBvcmRtAG9zbGFzaABvdGlsZGUAb3RpbWVzAG91bWwAcGFyYQBwYXJ0AHBlcm1pbABwZXJwAHBoaQBwaQBwaXYAcGx1c21uAHBvdW5kAHByaW1lAHByb2QAcHJvcABwc2kAcXVvdAByQXJyAHJhZGljAHJhbmcAcmFxdW8AcmFycgByY2VpbAByZHF1bwByZWFsAHJlZwByZmxvb3IAcmhvAHJsbQByc2FxdW8AcnNxdW8Ac2JxdW8Ac2Nhcm9uAHNkb3QAc2VjdABzaHkAc2lnbWEAc2lnbWFmAHNpbQBzcGFkZXMAc3ViAHN1YmUAc3VtAHN1cABzdXAxAHN1cDIAc3VwMwBzdXBlAHN6bGlnAHRhdQB0aGVyZTQAdGhldGEAdGhldGFzeW0AdGhpbnNwAHRob3JuAHRpbGRlAHRpbWVzAHRyYWRlAHVBcnIAdWFjdXRlAHVhcnIAdWNpcmMAdWdyYXZlAHVtbAB1cHNpaAB1cHNpbG9uAHV1bWwAd2VpZXJwAHhpAHlhY3V0ZQB5ZW4AeXVtbAB6ZXRhAHp3agB6d25qAFVURjggY29kZXMgPiA0IGJ5dGVzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZCAoZ3JhcGggJXMpIC0gdHJlYXRlZCBhcyBMYXRpbi0xLiBQZXJoYXBzICItR2NoYXJzZXQ9bGF0aW4xIiBpcyBuZWVkZWQ/CgBJbnZhbGlkICVkLWJ5dGUgVVRGOCBmb3VuZCBpbiBpbnB1dCBvZiBncmFwaCAlcyAtIHRyZWF0ZWQgYXMgTGF0aW4tMS4gUGVyaGFwcyAiLUdjaGFyc2V0PWxhdGluMSIgaXMgbmVlZGVkPwoAYnouc2l6ZQBvdmVybGFwX2JlemllcgB1cnZlZABvbXBvdW5kAGFsc2UAaW5lAG9uZQBvAHJ0aG8Ab2x5bGluZQBwbGluZQBydWUAZXMAVW5rbm93biAic3BsaW5lcyIgdmFsdWU6ICIlcyIgLSBpZ25vcmVkCgBzcGxpbmVzAG9kYgBPcnRob2dvbmFsIGVkZ2VzIGRvIG5vdCBjdXJyZW50bHkgaGFuZGxlIGVkZ2UgbGFiZWxzLiBUcnkgdXNpbmcgeGxhYmVscy4KAG9ydGhvICVzICVzCgBjaGFuaQBvcnRoby5jAGNoYW5TZWFyY2gAY3AAJSUhUFMtQWRvYmUtMi4wCiUlJSVCb3VuZGluZ0JveDogKGF0ZW5kKQovcG9pbnQgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICBuZXdwYXRoCiAgWCBZIDMgMCAzNjAgYXJjIGZpbGwKfSBkZWYKL2NlbGwgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICAveSBleGNoIGRlZgogIC94IGV4Y2ggZGVmCiAgbmV3cGF0aAogIHggeSBtb3ZldG8KICB4IFkgbGluZXRvCiAgWCBZIGxpbmV0bwogIFggeSBsaW5ldG8KICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCi9ub2RlIHsKIC91IGV4Y2ggZGVmCiAvciBleGNoIGRlZgogL2QgZXhjaCBkZWYKIC9sIGV4Y2ggZGVmCiBuZXdwYXRoIGwgZCBtb3ZldG8KIHIgZCBsaW5ldG8gciB1IGxpbmV0byBsIHUgbGluZXRvCiBjbG9zZXBhdGggZmlsbAp9IGRlZgoKACVkICVkIHRyYW5zbGF0ZQoAMC44IDAuOCAwLjggc2V0cmdiY29sb3IKAHNob3dwYWdlCiUlJSVUcmFpbGVyCiUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQKAG5ld3BhdGggJWQgJWQgbW92ZXRvCgAlZCAlZCBsaW5ldG8KACVkICVkIGxpbmV0byBzdHJva2UKAGNoYW5uZWwgJWQgKCVmLCVmKQoAIC0+CgAgICAgIAAoKCVmLCVmKSwoJWYsJWYpKSAlcyAlcwBCX1JJR0hUAEJfRE9XTgBCX0xFRlQAQl9VUABCX05PREUAc2VnAG5leHRfc2VnAGRlY2lkZV9wb2ludABpbmNvbXBhcmFibGUgc2VnbWVudHMgISEgLS0gQWJvcnRpbmcKAHMxLT5jb21tX2Nvb3JkPT1zMi0+Y29tbV9jb29yZABpc19wYXJhbGxlbABncmFwaCBHIHsKACBub2RlW3NoYXBlPXBvaW50XQoAICAlZCBbcG9zPSIlZCwlZCJdCgAgICVkIC0tICVkW2xlbj0iJWYiXQoAfQoAY29sb3IgJXMAJXMgaXMgbm90IGEga25vd24gY29sb3IuCgBlcnJvciBpbiBjb2x4bGF0ZSgpCgBzb2xpZABpbnZpc2libGUAYm9sZABzZXRsaW5ld2lkdGgAZmlsbGVkAHVuZmlsbGVkAHRhcGVyZWQAZ3ZyZW5kZXJfc2V0X3N0eWxlOiB1bnN1cHBvcnRlZCBzdHlsZSAlcyAtIGlnbm9yaW5nCgBndnJlbmRlci5jAGd2cmVuZGVyX3VzZXJzaGFwZQBuYW1lAG5hbWVbMF0Ad2lkdGgAaGVpZ2h0AGJvdGgAbGF5b3V0AExheW91dCB0eXBlOiAiJXMiIG5vdCByZWNvZ25pemVkLiBVc2Ugb25lIG9mOiVzCgBqb2IAZ3Zsb2FkaW1hZ2UuYwBndmxvYWRpbWFnZQB1cwB1cy0+bmFtZQB1cy0+bmFtZVswXQBObyBsb2FkaW1hZ2UgcGx1Z2luIGZvciAiJXMiCgBRAExlZnQAS1BfTGVmdABSaWdodABLUF9SaWdodABVcABLUF9VcABEb3duAEtQX0Rvd24AcGx1cwBLUF9BZGQAbWludXMAS1BfU3VidHJhY3QARgB0b29sdGlwAGVkZ2UAdGFpbHBvcnQAaGVhZHBvcnQAa2V5AGhyZWYAVVJMAG5vZGUAZGlncmFwaABncmFwaABzdWJncmFwaABfTFRYX2xpYnJhcnkAdGV4dGxheW91dABvYmpwLT5sYmwAeGxhYmVscy5jAHhsYWRqdXN0AHhsaW50ZXJzZWN0aW9ucwBscCAhPSBjbHAAZ2V0aW50cnN4aQBvYmpwMS0+c3oueCA9PSAwICYmIG9ianAxLT5zei55ID09IDAAbGJsZW5jbG9zaW5nAHZwAHhsaGR4dW5sb2FkAHNpemU9PWZyZWVkAHJlY3QuYm91bmRhcnlbMl0gPCBJTlRfTUFYAG9ianBscG1rcwByZWN0LmJvdW5kYXJ5WzNdIDwgSU5UX01BWABvdXQgb2YgbWVtb3J5CgAjJTJ4JTJ4JTJ4JTJ4ACVsZiVsZiVsZgAvYWNjZW50My8xAC9hY2NlbnQzLzIAL2FjY2VudDMvMwAvYWNjZW50NC8xAC9hY2NlbnQ0LzIAL2FjY2VudDQvMwAvYWNjZW50NC80AC9hY2NlbnQ1LzEAL2FjY2VudDUvMgAvYWNjZW50NS8zAC9hY2NlbnQ1LzQAL2FjY2VudDUvNQAvYWNjZW50Ni8xAC9hY2NlbnQ2LzIAL2FjY2VudDYvMwAvYWNjZW50Ni80AC9hY2NlbnQ2LzUAL2FjY2VudDYvNgAvYWNjZW50Ny8xAC9hY2NlbnQ3LzIAL2FjY2VudDcvMwAvYWNjZW50Ny80AC9hY2NlbnQ3LzUAL2FjY2VudDcvNgAvYWNjZW50Ny83AC9hY2NlbnQ4LzEAL2FjY2VudDgvMgAvYWNjZW50OC8zAC9hY2NlbnQ4LzQAL2FjY2VudDgvNQAvYWNjZW50OC82AC9hY2NlbnQ4LzcAL2FjY2VudDgvOAAvYmx1ZXMzLzEAL2JsdWVzMy8yAC9ibHVlczMvMwAvYmx1ZXM0LzEAL2JsdWVzNC8yAC9ibHVlczQvMwAvYmx1ZXM0LzQAL2JsdWVzNS8xAC9ibHVlczUvMgAvYmx1ZXM1LzMAL2JsdWVzNS80AC9ibHVlczUvNQAvYmx1ZXM2LzEAL2JsdWVzNi8yAC9ibHVlczYvMwAvYmx1ZXM2LzQAL2JsdWVzNi81AC9ibHVlczYvNgAvYmx1ZXM3LzEAL2JsdWVzNy8yAC9ibHVlczcvMwAvYmx1ZXM3LzQAL2JsdWVzNy81AC9ibHVlczcvNgAvYmx1ZXM3LzcAL2JsdWVzOC8xAC9ibHVlczgvMgAvYmx1ZXM4LzMAL2JsdWVzOC80AC9ibHVlczgvNQAvYmx1ZXM4LzYAL2JsdWVzOC83AC9ibHVlczgvOAAvYmx1ZXM5LzEAL2JsdWVzOS8yAC9ibHVlczkvMwAvYmx1ZXM5LzQAL2JsdWVzOS81AC9ibHVlczkvNgAvYmx1ZXM5LzcAL2JsdWVzOS84AC9ibHVlczkvOQAvYnJiZzEwLzEAL2JyYmcxMC8xMAAvYnJiZzEwLzIAL2JyYmcxMC8zAC9icmJnMTAvNAAvYnJiZzEwLzUAL2JyYmcxMC82AC9icmJnMTAvNwAvYnJiZzEwLzgAL2JyYmcxMC85AC9icmJnMTEvMQAvYnJiZzExLzEwAC9icmJnMTEvMTEAL2JyYmcxMS8yAC9icmJnMTEvMwAvYnJiZzExLzQAL2JyYmcxMS81AC9icmJnMTEvNgAvYnJiZzExLzcAL2JyYmcxMS84AC9icmJnMTEvOQAvYnJiZzMvMQAvYnJiZzMvMgAvYnJiZzMvMwAvYnJiZzQvMQAvYnJiZzQvMgAvYnJiZzQvMwAvYnJiZzQvNAAvYnJiZzUvMQAvYnJiZzUvMgAvYnJiZzUvMwAvYnJiZzUvNAAvYnJiZzUvNQAvYnJiZzYvMQAvYnJiZzYvMgAvYnJiZzYvMwAvYnJiZzYvNAAvYnJiZzYvNQAvYnJiZzYvNgAvYnJiZzcvMQAvYnJiZzcvMgAvYnJiZzcvMwAvYnJiZzcvNAAvYnJiZzcvNQAvYnJiZzcvNgAvYnJiZzcvNwAvYnJiZzgvMQAvYnJiZzgvMgAvYnJiZzgvMwAvYnJiZzgvNAAvYnJiZzgvNQAvYnJiZzgvNgAvYnJiZzgvNwAvYnJiZzgvOAAvYnJiZzkvMQAvYnJiZzkvMgAvYnJiZzkvMwAvYnJiZzkvNAAvYnJiZzkvNQAvYnJiZzkvNgAvYnJiZzkvNwAvYnJiZzkvOAAvYnJiZzkvOQAvYnVnbjMvMQAvYnVnbjMvMgAvYnVnbjMvMwAvYnVnbjQvMQAvYnVnbjQvMgAvYnVnbjQvMwAvYnVnbjQvNAAvYnVnbjUvMQAvYnVnbjUvMgAvYnVnbjUvMwAvYnVnbjUvNAAvYnVnbjUvNQAvYnVnbjYvMQAvYnVnbjYvMgAvYnVnbjYvMwAvYnVnbjYvNAAvYnVnbjYvNQAvYnVnbjYvNgAvYnVnbjcvMQAvYnVnbjcvMgAvYnVnbjcvMwAvYnVnbjcvNAAvYnVnbjcvNQAvYnVnbjcvNgAvYnVnbjcvNwAvYnVnbjgvMQAvYnVnbjgvMgAvYnVnbjgvMwAvYnVnbjgvNAAvYnVnbjgvNQAvYnVnbjgvNgAvYnVnbjgvNwAvYnVnbjgvOAAvYnVnbjkvMQAvYnVnbjkvMgAvYnVnbjkvMwAvYnVnbjkvNAAvYnVnbjkvNQAvYnVnbjkvNgAvYnVnbjkvNwAvYnVnbjkvOAAvYnVnbjkvOQAvYnVwdTMvMQAvYnVwdTMvMgAvYnVwdTMvMwAvYnVwdTQvMQAvYnVwdTQvMgAvYnVwdTQvMwAvYnVwdTQvNAAvYnVwdTUvMQAvYnVwdTUvMgAvYnVwdTUvMwAvYnVwdTUvNAAvYnVwdTUvNQAvYnVwdTYvMQAvYnVwdTYvMgAvYnVwdTYvMwAvYnVwdTYvNAAvYnVwdTYvNQAvYnVwdTYvNgAvYnVwdTcvMQAvYnVwdTcvMgAvYnVwdTcvMwAvYnVwdTcvNAAvYnVwdTcvNQAvYnVwdTcvNgAvYnVwdTcvNwAvYnVwdTgvMQAvYnVwdTgvMgAvYnVwdTgvMwAvYnVwdTgvNAAvYnVwdTgvNQAvYnVwdTgvNgAvYnVwdTgvNwAvYnVwdTgvOAAvYnVwdTkvMQAvYnVwdTkvMgAvYnVwdTkvMwAvYnVwdTkvNAAvYnVwdTkvNQAvYnVwdTkvNgAvYnVwdTkvNwAvYnVwdTkvOAAvYnVwdTkvOQAvZGFyazIzLzEAL2RhcmsyMy8yAC9kYXJrMjMvMwAvZGFyazI0LzEAL2RhcmsyNC8yAC9kYXJrMjQvMwAvZGFyazI0LzQAL2RhcmsyNS8xAC9kYXJrMjUvMgAvZGFyazI1LzMAL2RhcmsyNS80AC9kYXJrMjUvNQAvZGFyazI2LzEAL2RhcmsyNi8yAC9kYXJrMjYvMwAvZGFyazI2LzQAL2RhcmsyNi81AC9kYXJrMjYvNgAvZGFyazI3LzEAL2RhcmsyNy8yAC9kYXJrMjcvMwAvZGFyazI3LzQAL2RhcmsyNy81AC9kYXJrMjcvNgAvZGFyazI3LzcAL2RhcmsyOC8xAC9kYXJrMjgvMgAvZGFyazI4LzMAL2RhcmsyOC80AC9kYXJrMjgvNQAvZGFyazI4LzYAL2RhcmsyOC83AC9kYXJrMjgvOAAvZ25idTMvMQAvZ25idTMvMgAvZ25idTMvMwAvZ25idTQvMQAvZ25idTQvMgAvZ25idTQvMwAvZ25idTQvNAAvZ25idTUvMQAvZ25idTUvMgAvZ25idTUvMwAvZ25idTUvNAAvZ25idTUvNQAvZ25idTYvMQAvZ25idTYvMgAvZ25idTYvMwAvZ25idTYvNAAvZ25idTYvNQAvZ25idTYvNgAvZ25idTcvMQAvZ25idTcvMgAvZ25idTcvMwAvZ25idTcvNAAvZ25idTcvNQAvZ25idTcvNgAvZ25idTcvNwAvZ25idTgvMQAvZ25idTgvMgAvZ25idTgvMwAvZ25idTgvNAAvZ25idTgvNQAvZ25idTgvNgAvZ25idTgvNwAvZ25idTgvOAAvZ25idTkvMQAvZ25idTkvMgAvZ25idTkvMwAvZ25idTkvNAAvZ25idTkvNQAvZ25idTkvNgAvZ25idTkvNwAvZ25idTkvOAAvZ25idTkvOQAvZ3JlZW5zMy8xAC9ncmVlbnMzLzIAL2dyZWVuczMvMwAvZ3JlZW5zNC8xAC9ncmVlbnM0LzIAL2dyZWVuczQvMwAvZ3JlZW5zNC80AC9ncmVlbnM1LzEAL2dyZWVuczUvMgAvZ3JlZW5zNS8zAC9ncmVlbnM1LzQAL2dyZWVuczUvNQAvZ3JlZW5zNi8xAC9ncmVlbnM2LzIAL2dyZWVuczYvMwAvZ3JlZW5zNi80AC9ncmVlbnM2LzUAL2dyZWVuczYvNgAvZ3JlZW5zNy8xAC9ncmVlbnM3LzIAL2dyZWVuczcvMwAvZ3JlZW5zNy80AC9ncmVlbnM3LzUAL2dyZWVuczcvNgAvZ3JlZW5zNy83AC9ncmVlbnM4LzEAL2dyZWVuczgvMgAvZ3JlZW5zOC8zAC9ncmVlbnM4LzQAL2dyZWVuczgvNQAvZ3JlZW5zOC82AC9ncmVlbnM4LzcAL2dyZWVuczgvOAAvZ3JlZW5zOS8xAC9ncmVlbnM5LzIAL2dyZWVuczkvMwAvZ3JlZW5zOS80AC9ncmVlbnM5LzUAL2dyZWVuczkvNgAvZ3JlZW5zOS83AC9ncmVlbnM5LzgAL2dyZWVuczkvOQAvZ3JleXMzLzEAL2dyZXlzMy8yAC9ncmV5czMvMwAvZ3JleXM0LzEAL2dyZXlzNC8yAC9ncmV5czQvMwAvZ3JleXM0LzQAL2dyZXlzNS8xAC9ncmV5czUvMgAvZ3JleXM1LzMAL2dyZXlzNS80AC9ncmV5czUvNQAvZ3JleXM2LzEAL2dyZXlzNi8yAC9ncmV5czYvMwAvZ3JleXM2LzQAL2dyZXlzNi81AC9ncmV5czYvNgAvZ3JleXM3LzEAL2dyZXlzNy8yAC9ncmV5czcvMwAvZ3JleXM3LzQAL2dyZXlzNy81AC9ncmV5czcvNgAvZ3JleXM3LzcAL2dyZXlzOC8xAC9ncmV5czgvMgAvZ3JleXM4LzMAL2dyZXlzOC80AC9ncmV5czgvNQAvZ3JleXM4LzYAL2dyZXlzOC83AC9ncmV5czgvOAAvZ3JleXM5LzEAL2dyZXlzOS8yAC9ncmV5czkvMwAvZ3JleXM5LzQAL2dyZXlzOS81AC9ncmV5czkvNgAvZ3JleXM5LzcAL2dyZXlzOS84AC9ncmV5czkvOQAvb3JhbmdlczMvMQAvb3JhbmdlczMvMgAvb3JhbmdlczMvMwAvb3JhbmdlczQvMQAvb3JhbmdlczQvMgAvb3JhbmdlczQvMwAvb3JhbmdlczQvNAAvb3JhbmdlczUvMQAvb3JhbmdlczUvMgAvb3JhbmdlczUvMwAvb3JhbmdlczUvNAAvb3JhbmdlczUvNQAvb3JhbmdlczYvMQAvb3JhbmdlczYvMgAvb3JhbmdlczYvMwAvb3JhbmdlczYvNAAvb3JhbmdlczYvNQAvb3JhbmdlczYvNgAvb3JhbmdlczcvMQAvb3JhbmdlczcvMgAvb3JhbmdlczcvMwAvb3JhbmdlczcvNAAvb3JhbmdlczcvNQAvb3JhbmdlczcvNgAvb3JhbmdlczcvNwAvb3JhbmdlczgvMQAvb3JhbmdlczgvMgAvb3JhbmdlczgvMwAvb3JhbmdlczgvNAAvb3JhbmdlczgvNQAvb3JhbmdlczgvNgAvb3JhbmdlczgvNwAvb3JhbmdlczgvOAAvb3JhbmdlczkvMQAvb3JhbmdlczkvMgAvb3JhbmdlczkvMwAvb3JhbmdlczkvNAAvb3JhbmdlczkvNQAvb3JhbmdlczkvNgAvb3JhbmdlczkvNwAvb3JhbmdlczkvOAAvb3JhbmdlczkvOQAvb3JyZDMvMQAvb3JyZDMvMgAvb3JyZDMvMwAvb3JyZDQvMQAvb3JyZDQvMgAvb3JyZDQvMwAvb3JyZDQvNAAvb3JyZDUvMQAvb3JyZDUvMgAvb3JyZDUvMwAvb3JyZDUvNAAvb3JyZDUvNQAvb3JyZDYvMQAvb3JyZDYvMgAvb3JyZDYvMwAvb3JyZDYvNAAvb3JyZDYvNQAvb3JyZDYvNgAvb3JyZDcvMQAvb3JyZDcvMgAvb3JyZDcvMwAvb3JyZDcvNAAvb3JyZDcvNQAvb3JyZDcvNgAvb3JyZDcvNwAvb3JyZDgvMQAvb3JyZDgvMgAvb3JyZDgvMwAvb3JyZDgvNAAvb3JyZDgvNQAvb3JyZDgvNgAvb3JyZDgvNwAvb3JyZDgvOAAvb3JyZDkvMQAvb3JyZDkvMgAvb3JyZDkvMwAvb3JyZDkvNAAvb3JyZDkvNQAvb3JyZDkvNgAvb3JyZDkvNwAvb3JyZDkvOAAvb3JyZDkvOQAvcGFpcmVkMTAvMQAvcGFpcmVkMTAvMTAAL3BhaXJlZDEwLzIAL3BhaXJlZDEwLzMAL3BhaXJlZDEwLzQAL3BhaXJlZDEwLzUAL3BhaXJlZDEwLzYAL3BhaXJlZDEwLzcAL3BhaXJlZDEwLzgAL3BhaXJlZDEwLzkAL3BhaXJlZDExLzEAL3BhaXJlZDExLzEwAC9wYWlyZWQxMS8xMQAvcGFpcmVkMTEvMgAvcGFpcmVkMTEvMwAvcGFpcmVkMTEvNAAvcGFpcmVkMTEvNQAvcGFpcmVkMTEvNgAvcGFpcmVkMTEvNwAvcGFpcmVkMTEvOAAvcGFpcmVkMTEvOQAvcGFpcmVkMTIvMQAvcGFpcmVkMTIvMTAAL3BhaXJlZDEyLzExAC9wYWlyZWQxMi8xMgAvcGFpcmVkMTIvMgAvcGFpcmVkMTIvMwAvcGFpcmVkMTIvNAAvcGFpcmVkMTIvNQAvcGFpcmVkMTIvNgAvcGFpcmVkMTIvNwAvcGFpcmVkMTIvOAAvcGFpcmVkMTIvOQAvcGFpcmVkMy8xAC9wYWlyZWQzLzIAL3BhaXJlZDMvMwAvcGFpcmVkNC8xAC9wYWlyZWQ0LzIAL3BhaXJlZDQvMwAvcGFpcmVkNC80AC9wYWlyZWQ1LzEAL3BhaXJlZDUvMgAvcGFpcmVkNS8zAC9wYWlyZWQ1LzQAL3BhaXJlZDUvNQAvcGFpcmVkNi8xAC9wYWlyZWQ2LzIAL3BhaXJlZDYvMwAvcGFpcmVkNi80AC9wYWlyZWQ2LzUAL3BhaXJlZDYvNgAvcGFpcmVkNy8xAC9wYWlyZWQ3LzIAL3BhaXJlZDcvMwAvcGFpcmVkNy80AC9wYWlyZWQ3LzUAL3BhaXJlZDcvNgAvcGFpcmVkNy83AC9wYWlyZWQ4LzEAL3BhaXJlZDgvMgAvcGFpcmVkOC8zAC9wYWlyZWQ4LzQAL3BhaXJlZDgvNQAvcGFpcmVkOC82AC9wYWlyZWQ4LzcAL3BhaXJlZDgvOAAvcGFpcmVkOS8xAC9wYWlyZWQ5LzIAL3BhaXJlZDkvMwAvcGFpcmVkOS80AC9wYWlyZWQ5LzUAL3BhaXJlZDkvNgAvcGFpcmVkOS83AC9wYWlyZWQ5LzgAL3BhaXJlZDkvOQAvcGFzdGVsMTMvMQAvcGFzdGVsMTMvMgAvcGFzdGVsMTMvMwAvcGFzdGVsMTQvMQAvcGFzdGVsMTQvMgAvcGFzdGVsMTQvMwAvcGFzdGVsMTQvNAAvcGFzdGVsMTUvMQAvcGFzdGVsMTUvMgAvcGFzdGVsMTUvMwAvcGFzdGVsMTUvNAAvcGFzdGVsMTUvNQAvcGFzdGVsMTYvMQAvcGFzdGVsMTYvMgAvcGFzdGVsMTYvMwAvcGFzdGVsMTYvNAAvcGFzdGVsMTYvNQAvcGFzdGVsMTYvNgAvcGFzdGVsMTcvMQAvcGFzdGVsMTcvMgAvcGFzdGVsMTcvMwAvcGFzdGVsMTcvNAAvcGFzdGVsMTcvNQAvcGFzdGVsMTcvNgAvcGFzdGVsMTcvNwAvcGFzdGVsMTgvMQAvcGFzdGVsMTgvMgAvcGFzdGVsMTgvMwAvcGFzdGVsMTgvNAAvcGFzdGVsMTgvNQAvcGFzdGVsMTgvNgAvcGFzdGVsMTgvNwAvcGFzdGVsMTgvOAAvcGFzdGVsMTkvMQAvcGFzdGVsMTkvMgAvcGFzdGVsMTkvMwAvcGFzdGVsMTkvNAAvcGFzdGVsMTkvNQAvcGFzdGVsMTkvNgAvcGFzdGVsMTkvNwAvcGFzdGVsMTkvOAAvcGFzdGVsMTkvOQAvcGFzdGVsMjMvMQAvcGFzdGVsMjMvMgAvcGFzdGVsMjMvMwAvcGFzdGVsMjQvMQAvcGFzdGVsMjQvMgAvcGFzdGVsMjQvMwAvcGFzdGVsMjQvNAAvcGFzdGVsMjUvMQAvcGFzdGVsMjUvMgAvcGFzdGVsMjUvMwAvcGFzdGVsMjUvNAAvcGFzdGVsMjUvNQAvcGFzdGVsMjYvMQAvcGFzdGVsMjYvMgAvcGFzdGVsMjYvMwAvcGFzdGVsMjYvNAAvcGFzdGVsMjYvNQAvcGFzdGVsMjYvNgAvcGFzdGVsMjcvMQAvcGFzdGVsMjcvMgAvcGFzdGVsMjcvMwAvcGFzdGVsMjcvNAAvcGFzdGVsMjcvNQAvcGFzdGVsMjcvNgAvcGFzdGVsMjcvNwAvcGFzdGVsMjgvMQAvcGFzdGVsMjgvMgAvcGFzdGVsMjgvMwAvcGFzdGVsMjgvNAAvcGFzdGVsMjgvNQAvcGFzdGVsMjgvNgAvcGFzdGVsMjgvNwAvcGFzdGVsMjgvOAAvcGl5ZzEwLzEAL3BpeWcxMC8xMAAvcGl5ZzEwLzIAL3BpeWcxMC8zAC9waXlnMTAvNAAvcGl5ZzEwLzUAL3BpeWcxMC82AC9waXlnMTAvNwAvcGl5ZzEwLzgAL3BpeWcxMC85AC9waXlnMTEvMQAvcGl5ZzExLzEwAC9waXlnMTEvMTEAL3BpeWcxMS8yAC9waXlnMTEvMwAvcGl5ZzExLzQAL3BpeWcxMS81AC9waXlnMTEvNgAvcGl5ZzExLzcAL3BpeWcxMS84AC9waXlnMTEvOQAvcGl5ZzMvMQAvcGl5ZzMvMgAvcGl5ZzMvMwAvcGl5ZzQvMQAvcGl5ZzQvMgAvcGl5ZzQvMwAvcGl5ZzQvNAAvcGl5ZzUvMQAvcGl5ZzUvMgAvcGl5ZzUvMwAvcGl5ZzUvNAAvcGl5ZzUvNQAvcGl5ZzYvMQAvcGl5ZzYvMgAvcGl5ZzYvMwAvcGl5ZzYvNAAvcGl5ZzYvNQAvcGl5ZzYvNgAvcGl5ZzcvMQAvcGl5ZzcvMgAvcGl5ZzcvMwAvcGl5ZzcvNAAvcGl5ZzcvNQAvcGl5ZzcvNgAvcGl5ZzcvNwAvcGl5ZzgvMQAvcGl5ZzgvMgAvcGl5ZzgvMwAvcGl5ZzgvNAAvcGl5ZzgvNQAvcGl5ZzgvNgAvcGl5ZzgvNwAvcGl5ZzgvOAAvcGl5ZzkvMQAvcGl5ZzkvMgAvcGl5ZzkvMwAvcGl5ZzkvNAAvcGl5ZzkvNQAvcGl5ZzkvNgAvcGl5ZzkvNwAvcGl5ZzkvOAAvcGl5ZzkvOQAvcHJnbjEwLzEAL3ByZ24xMC8xMAAvcHJnbjEwLzIAL3ByZ24xMC8zAC9wcmduMTAvNAAvcHJnbjEwLzUAL3ByZ24xMC82AC9wcmduMTAvNwAvcHJnbjEwLzgAL3ByZ24xMC85AC9wcmduMTEvMQAvcHJnbjExLzEwAC9wcmduMTEvMTEAL3ByZ24xMS8yAC9wcmduMTEvMwAvcHJnbjExLzQAL3ByZ24xMS81AC9wcmduMTEvNgAvcHJnbjExLzcAL3ByZ24xMS84AC9wcmduMTEvOQAvcHJnbjMvMQAvcHJnbjMvMgAvcHJnbjMvMwAvcHJnbjQvMQAvcHJnbjQvMgAvcHJnbjQvMwAvcHJnbjQvNAAvcHJnbjUvMQAvcHJnbjUvMgAvcHJnbjUvMwAvcHJnbjUvNAAvcHJnbjUvNQAvcHJnbjYvMQAvcHJnbjYvMgAvcHJnbjYvMwAvcHJnbjYvNAAvcHJnbjYvNQAvcHJnbjYvNgAvcHJnbjcvMQAvcHJnbjcvMgAvcHJnbjcvMwAvcHJnbjcvNAAvcHJnbjcvNQAvcHJnbjcvNgAvcHJnbjcvNwAvcHJnbjgvMQAvcHJnbjgvMgAvcHJnbjgvMwAvcHJnbjgvNAAvcHJnbjgvNQAvcHJnbjgvNgAvcHJnbjgvNwAvcHJnbjgvOAAvcHJnbjkvMQAvcHJnbjkvMgAvcHJnbjkvMwAvcHJnbjkvNAAvcHJnbjkvNQAvcHJnbjkvNgAvcHJnbjkvNwAvcHJnbjkvOAAvcHJnbjkvOQAvcHVidTMvMQAvcHVidTMvMgAvcHVidTMvMwAvcHVidTQvMQAvcHVidTQvMgAvcHVidTQvMwAvcHVidTQvNAAvcHVidTUvMQAvcHVidTUvMgAvcHVidTUvMwAvcHVidTUvNAAvcHVidTUvNQAvcHVidTYvMQAvcHVidTYvMgAvcHVidTYvMwAvcHVidTYvNAAvcHVidTYvNQAvcHVidTYvNgAvcHVidTcvMQAvcHVidTcvMgAvcHVidTcvMwAvcHVidTcvNAAvcHVidTcvNQAvcHVidTcvNgAvcHVidTcvNwAvcHVidTgvMQAvcHVidTgvMgAvcHVidTgvMwAvcHVidTgvNAAvcHVidTgvNQAvcHVidTgvNgAvcHVidTgvNwAvcHVidTgvOAAvcHVidTkvMQAvcHVidTkvMgAvcHVidTkvMwAvcHVidTkvNAAvcHVidTkvNQAvcHVidTkvNgAvcHVidTkvNwAvcHVidTkvOAAvcHVidTkvOQAvcHVidWduMy8xAC9wdWJ1Z24zLzIAL3B1YnVnbjMvMwAvcHVidWduNC8xAC9wdWJ1Z240LzIAL3B1YnVnbjQvMwAvcHVidWduNC80AC9wdWJ1Z241LzEAL3B1YnVnbjUvMgAvcHVidWduNS8zAC9wdWJ1Z241LzQAL3B1YnVnbjUvNQAvcHVidWduNi8xAC9wdWJ1Z242LzIAL3B1YnVnbjYvMwAvcHVidWduNi80AC9wdWJ1Z242LzUAL3B1YnVnbjYvNgAvcHVidWduNy8xAC9wdWJ1Z243LzIAL3B1YnVnbjcvMwAvcHVidWduNy80AC9wdWJ1Z243LzUAL3B1YnVnbjcvNgAvcHVidWduNy83AC9wdWJ1Z244LzEAL3B1YnVnbjgvMgAvcHVidWduOC8zAC9wdWJ1Z244LzQAL3B1YnVnbjgvNQAvcHVidWduOC82AC9wdWJ1Z244LzcAL3B1YnVnbjgvOAAvcHVidWduOS8xAC9wdWJ1Z245LzIAL3B1YnVnbjkvMwAvcHVidWduOS80AC9wdWJ1Z245LzUAL3B1YnVnbjkvNgAvcHVidWduOS83AC9wdWJ1Z245LzgAL3B1YnVnbjkvOQAvcHVvcjEwLzEAL3B1b3IxMC8xMAAvcHVvcjEwLzIAL3B1b3IxMC8zAC9wdW9yMTAvNAAvcHVvcjEwLzUAL3B1b3IxMC82AC9wdW9yMTAvNwAvcHVvcjEwLzgAL3B1b3IxMC85AC9wdW9yMTEvMQAvcHVvcjExLzEwAC9wdW9yMTEvMTEAL3B1b3IxMS8yAC9wdW9yMTEvMwAvcHVvcjExLzQAL3B1b3IxMS81AC9wdW9yMTEvNgAvcHVvcjExLzcAL3B1b3IxMS84AC9wdW9yMTEvOQAvcHVvcjMvMQAvcHVvcjMvMgAvcHVvcjMvMwAvcHVvcjQvMQAvcHVvcjQvMgAvcHVvcjQvMwAvcHVvcjQvNAAvcHVvcjUvMQAvcHVvcjUvMgAvcHVvcjUvMwAvcHVvcjUvNAAvcHVvcjUvNQAvcHVvcjYvMQAvcHVvcjYvMgAvcHVvcjYvMwAvcHVvcjYvNAAvcHVvcjYvNQAvcHVvcjYvNgAvcHVvcjcvMQAvcHVvcjcvMgAvcHVvcjcvMwAvcHVvcjcvNAAvcHVvcjcvNQAvcHVvcjcvNgAvcHVvcjcvNwAvcHVvcjgvMQAvcHVvcjgvMgAvcHVvcjgvMwAvcHVvcjgvNAAvcHVvcjgvNQAvcHVvcjgvNgAvcHVvcjgvNwAvcHVvcjgvOAAvcHVvcjkvMQAvcHVvcjkvMgAvcHVvcjkvMwAvcHVvcjkvNAAvcHVvcjkvNQAvcHVvcjkvNgAvcHVvcjkvNwAvcHVvcjkvOAAvcHVvcjkvOQAvcHVyZDMvMQAvcHVyZDMvMgAvcHVyZDMvMwAvcHVyZDQvMQAvcHVyZDQvMgAvcHVyZDQvMwAvcHVyZDQvNAAvcHVyZDUvMQAvcHVyZDUvMgAvcHVyZDUvMwAvcHVyZDUvNAAvcHVyZDUvNQAvcHVyZDYvMQAvcHVyZDYvMgAvcHVyZDYvMwAvcHVyZDYvNAAvcHVyZDYvNQAvcHVyZDYvNgAvcHVyZDcvMQAvcHVyZDcvMgAvcHVyZDcvMwAvcHVyZDcvNAAvcHVyZDcvNQAvcHVyZDcvNgAvcHVyZDcvNwAvcHVyZDgvMQAvcHVyZDgvMgAvcHVyZDgvMwAvcHVyZDgvNAAvcHVyZDgvNQAvcHVyZDgvNgAvcHVyZDgvNwAvcHVyZDgvOAAvcHVyZDkvMQAvcHVyZDkvMgAvcHVyZDkvMwAvcHVyZDkvNAAvcHVyZDkvNQAvcHVyZDkvNgAvcHVyZDkvNwAvcHVyZDkvOAAvcHVyZDkvOQAvcHVycGxlczMvMQAvcHVycGxlczMvMgAvcHVycGxlczMvMwAvcHVycGxlczQvMQAvcHVycGxlczQvMgAvcHVycGxlczQvMwAvcHVycGxlczQvNAAvcHVycGxlczUvMQAvcHVycGxlczUvMgAvcHVycGxlczUvMwAvcHVycGxlczUvNAAvcHVycGxlczUvNQAvcHVycGxlczYvMQAvcHVycGxlczYvMgAvcHVycGxlczYvMwAvcHVycGxlczYvNAAvcHVycGxlczYvNQAvcHVycGxlczYvNgAvcHVycGxlczcvMQAvcHVycGxlczcvMgAvcHVycGxlczcvMwAvcHVycGxlczcvNAAvcHVycGxlczcvNQAvcHVycGxlczcvNgAvcHVycGxlczcvNwAvcHVycGxlczgvMQAvcHVycGxlczgvMgAvcHVycGxlczgvMwAvcHVycGxlczgvNAAvcHVycGxlczgvNQAvcHVycGxlczgvNgAvcHVycGxlczgvNwAvcHVycGxlczgvOAAvcHVycGxlczkvMQAvcHVycGxlczkvMgAvcHVycGxlczkvMwAvcHVycGxlczkvNAAvcHVycGxlczkvNQAvcHVycGxlczkvNgAvcHVycGxlczkvNwAvcHVycGxlczkvOAAvcHVycGxlczkvOQAvcmRidTEwLzEAL3JkYnUxMC8xMAAvcmRidTEwLzIAL3JkYnUxMC8zAC9yZGJ1MTAvNAAvcmRidTEwLzUAL3JkYnUxMC82AC9yZGJ1MTAvNwAvcmRidTEwLzgAL3JkYnUxMC85AC9yZGJ1MTEvMQAvcmRidTExLzEwAC9yZGJ1MTEvMTEAL3JkYnUxMS8yAC9yZGJ1MTEvMwAvcmRidTExLzQAL3JkYnUxMS81AC9yZGJ1MTEvNgAvcmRidTExLzcAL3JkYnUxMS84AC9yZGJ1MTEvOQAvcmRidTMvMQAvcmRidTMvMgAvcmRidTMvMwAvcmRidTQvMQAvcmRidTQvMgAvcmRidTQvMwAvcmRidTQvNAAvcmRidTUvMQAvcmRidTUvMgAvcmRidTUvMwAvcmRidTUvNAAvcmRidTUvNQAvcmRidTYvMQAvcmRidTYvMgAvcmRidTYvMwAvcmRidTYvNAAvcmRidTYvNQAvcmRidTYvNgAvcmRidTcvMQAvcmRidTcvMgAvcmRidTcvMwAvcmRidTcvNAAvcmRidTcvNQAvcmRidTcvNgAvcmRidTcvNwAvcmRidTgvMQAvcmRidTgvMgAvcmRidTgvMwAvcmRidTgvNAAvcmRidTgvNQAvcmRidTgvNgAvcmRidTgvNwAvcmRidTgvOAAvcmRidTkvMQAvcmRidTkvMgAvcmRidTkvMwAvcmRidTkvNAAvcmRidTkvNQAvcmRidTkvNgAvcmRidTkvNwAvcmRidTkvOAAvcmRidTkvOQAvcmRneTEwLzEAL3JkZ3kxMC8xMAAvcmRneTEwLzIAL3JkZ3kxMC8zAC9yZGd5MTAvNAAvcmRneTEwLzUAL3JkZ3kxMC82AC9yZGd5MTAvNwAvcmRneTEwLzgAL3JkZ3kxMC85AC9yZGd5MTEvMQAvcmRneTExLzEwAC9yZGd5MTEvMTEAL3JkZ3kxMS8yAC9yZGd5MTEvMwAvcmRneTExLzQAL3JkZ3kxMS81AC9yZGd5MTEvNgAvcmRneTExLzcAL3JkZ3kxMS84AC9yZGd5MTEvOQAvcmRneTMvMQAvcmRneTMvMgAvcmRneTMvMwAvcmRneTQvMQAvcmRneTQvMgAvcmRneTQvMwAvcmRneTQvNAAvcmRneTUvMQAvcmRneTUvMgAvcmRneTUvMwAvcmRneTUvNAAvcmRneTUvNQAvcmRneTYvMQAvcmRneTYvMgAvcmRneTYvMwAvcmRneTYvNAAvcmRneTYvNQAvcmRneTYvNgAvcmRneTcvMQAvcmRneTcvMgAvcmRneTcvMwAvcmRneTcvNAAvcmRneTcvNQAvcmRneTcvNgAvcmRneTcvNwAvcmRneTgvMQAvcmRneTgvMgAvcmRneTgvMwAvcmRneTgvNAAvcmRneTgvNQAvcmRneTgvNgAvcmRneTgvNwAvcmRneTgvOAAvcmRneTkvMQAvcmRneTkvMgAvcmRneTkvMwAvcmRneTkvNAAvcmRneTkvNQAvcmRneTkvNgAvcmRneTkvNwAvcmRneTkvOAAvcmRneTkvOQAvcmRwdTMvMQAvcmRwdTMvMgAvcmRwdTMvMwAvcmRwdTQvMQAvcmRwdTQvMgAvcmRwdTQvMwAvcmRwdTQvNAAvcmRwdTUvMQAvcmRwdTUvMgAvcmRwdTUvMwAvcmRwdTUvNAAvcmRwdTUvNQAvcmRwdTYvMQAvcmRwdTYvMgAvcmRwdTYvMwAvcmRwdTYvNAAvcmRwdTYvNQAvcmRwdTYvNgAvcmRwdTcvMQAvcmRwdTcvMgAvcmRwdTcvMwAvcmRwdTcvNAAvcmRwdTcvNQAvcmRwdTcvNgAvcmRwdTcvNwAvcmRwdTgvMQAvcmRwdTgvMgAvcmRwdTgvMwAvcmRwdTgvNAAvcmRwdTgvNQAvcmRwdTgvNgAvcmRwdTgvNwAvcmRwdTgvOAAvcmRwdTkvMQAvcmRwdTkvMgAvcmRwdTkvMwAvcmRwdTkvNAAvcmRwdTkvNQAvcmRwdTkvNgAvcmRwdTkvNwAvcmRwdTkvOAAvcmRwdTkvOQAvcmR5bGJ1MTAvMQAvcmR5bGJ1MTAvMTAAL3JkeWxidTEwLzIAL3JkeWxidTEwLzMAL3JkeWxidTEwLzQAL3JkeWxidTEwLzUAL3JkeWxidTEwLzYAL3JkeWxidTEwLzcAL3JkeWxidTEwLzgAL3JkeWxidTEwLzkAL3JkeWxidTExLzEAL3JkeWxidTExLzEwAC9yZHlsYnUxMS8xMQAvcmR5bGJ1MTEvMgAvcmR5bGJ1MTEvMwAvcmR5bGJ1MTEvNAAvcmR5bGJ1MTEvNQAvcmR5bGJ1MTEvNgAvcmR5bGJ1MTEvNwAvcmR5bGJ1MTEvOAAvcmR5bGJ1MTEvOQAvcmR5bGJ1My8xAC9yZHlsYnUzLzIAL3JkeWxidTMvMwAvcmR5bGJ1NC8xAC9yZHlsYnU0LzIAL3JkeWxidTQvMwAvcmR5bGJ1NC80AC9yZHlsYnU1LzEAL3JkeWxidTUvMgAvcmR5bGJ1NS8zAC9yZHlsYnU1LzQAL3JkeWxidTUvNQAvcmR5bGJ1Ni8xAC9yZHlsYnU2LzIAL3JkeWxidTYvMwAvcmR5bGJ1Ni80AC9yZHlsYnU2LzUAL3JkeWxidTYvNgAvcmR5bGJ1Ny8xAC9yZHlsYnU3LzIAL3JkeWxidTcvMwAvcmR5bGJ1Ny80AC9yZHlsYnU3LzUAL3JkeWxidTcvNgAvcmR5bGJ1Ny83AC9yZHlsYnU4LzEAL3JkeWxidTgvMgAvcmR5bGJ1OC8zAC9yZHlsYnU4LzQAL3JkeWxidTgvNQAvcmR5bGJ1OC82AC9yZHlsYnU4LzcAL3JkeWxidTgvOAAvcmR5bGJ1OS8xAC9yZHlsYnU5LzIAL3JkeWxidTkvMwAvcmR5bGJ1OS80AC9yZHlsYnU5LzUAL3JkeWxidTkvNgAvcmR5bGJ1OS83AC9yZHlsYnU5LzgAL3JkeWxidTkvOQAvcmR5bGduMTAvMQAvcmR5bGduMTAvMTAAL3JkeWxnbjEwLzIAL3JkeWxnbjEwLzMAL3JkeWxnbjEwLzQAL3JkeWxnbjEwLzUAL3JkeWxnbjEwLzYAL3JkeWxnbjEwLzcAL3JkeWxnbjEwLzgAL3JkeWxnbjEwLzkAL3JkeWxnbjExLzEAL3JkeWxnbjExLzEwAC9yZHlsZ24xMS8xMQAvcmR5bGduMTEvMgAvcmR5bGduMTEvMwAvcmR5bGduMTEvNAAvcmR5bGduMTEvNQAvcmR5bGduMTEvNgAvcmR5bGduMTEvNwAvcmR5bGduMTEvOAAvcmR5bGduMTEvOQAvcmR5bGduMy8xAC9yZHlsZ24zLzIAL3JkeWxnbjMvMwAvcmR5bGduNC8xAC9yZHlsZ240LzIAL3JkeWxnbjQvMwAvcmR5bGduNC80AC9yZHlsZ241LzEAL3JkeWxnbjUvMgAvcmR5bGduNS8zAC9yZHlsZ241LzQAL3JkeWxnbjUvNQAvcmR5bGduNi8xAC9yZHlsZ242LzIAL3JkeWxnbjYvMwAvcmR5bGduNi80AC9yZHlsZ242LzUAL3JkeWxnbjYvNgAvcmR5bGduNy8xAC9yZHlsZ243LzIAL3JkeWxnbjcvMwAvcmR5bGduNy80AC9yZHlsZ243LzUAL3JkeWxnbjcvNgAvcmR5bGduNy83AC9yZHlsZ244LzEAL3JkeWxnbjgvMgAvcmR5bGduOC8zAC9yZHlsZ244LzQAL3JkeWxnbjgvNQAvcmR5bGduOC82AC9yZHlsZ244LzcAL3JkeWxnbjgvOAAvcmR5bGduOS8xAC9yZHlsZ245LzIAL3JkeWxnbjkvMwAvcmR5bGduOS80AC9yZHlsZ245LzUAL3JkeWxnbjkvNgAvcmR5bGduOS83AC9yZHlsZ245LzgAL3JkeWxnbjkvOQAvcmVkczMvMQAvcmVkczMvMgAvcmVkczMvMwAvcmVkczQvMQAvcmVkczQvMgAvcmVkczQvMwAvcmVkczQvNAAvcmVkczUvMQAvcmVkczUvMgAvcmVkczUvMwAvcmVkczUvNAAvcmVkczUvNQAvcmVkczYvMQAvcmVkczYvMgAvcmVkczYvMwAvcmVkczYvNAAvcmVkczYvNQAvcmVkczYvNgAvcmVkczcvMQAvcmVkczcvMgAvcmVkczcvMwAvcmVkczcvNAAvcmVkczcvNQAvcmVkczcvNgAvcmVkczcvNwAvcmVkczgvMQAvcmVkczgvMgAvcmVkczgvMwAvcmVkczgvNAAvcmVkczgvNQAvcmVkczgvNgAvcmVkczgvNwAvcmVkczgvOAAvcmVkczkvMQAvcmVkczkvMgAvcmVkczkvMwAvcmVkczkvNAAvcmVkczkvNQAvcmVkczkvNgAvcmVkczkvNwAvcmVkczkvOAAvcmVkczkvOQAvc2V0MTMvMQAvc2V0MTMvMgAvc2V0MTMvMwAvc2V0MTQvMQAvc2V0MTQvMgAvc2V0MTQvMwAvc2V0MTQvNAAvc2V0MTUvMQAvc2V0MTUvMgAvc2V0MTUvMwAvc2V0MTUvNAAvc2V0MTUvNQAvc2V0MTYvMQAvc2V0MTYvMgAvc2V0MTYvMwAvc2V0MTYvNAAvc2V0MTYvNQAvc2V0MTYvNgAvc2V0MTcvMQAvc2V0MTcvMgAvc2V0MTcvMwAvc2V0MTcvNAAvc2V0MTcvNQAvc2V0MTcvNgAvc2V0MTcvNwAvc2V0MTgvMQAvc2V0MTgvMgAvc2V0MTgvMwAvc2V0MTgvNAAvc2V0MTgvNQAvc2V0MTgvNgAvc2V0MTgvNwAvc2V0MTgvOAAvc2V0MTkvMQAvc2V0MTkvMgAvc2V0MTkvMwAvc2V0MTkvNAAvc2V0MTkvNQAvc2V0MTkvNgAvc2V0MTkvNwAvc2V0MTkvOAAvc2V0MTkvOQAvc2V0MjMvMQAvc2V0MjMvMgAvc2V0MjMvMwAvc2V0MjQvMQAvc2V0MjQvMgAvc2V0MjQvMwAvc2V0MjQvNAAvc2V0MjUvMQAvc2V0MjUvMgAvc2V0MjUvMwAvc2V0MjUvNAAvc2V0MjUvNQAvc2V0MjYvMQAvc2V0MjYvMgAvc2V0MjYvMwAvc2V0MjYvNAAvc2V0MjYvNQAvc2V0MjYvNgAvc2V0MjcvMQAvc2V0MjcvMgAvc2V0MjcvMwAvc2V0MjcvNAAvc2V0MjcvNQAvc2V0MjcvNgAvc2V0MjcvNwAvc2V0MjgvMQAvc2V0MjgvMgAvc2V0MjgvMwAvc2V0MjgvNAAvc2V0MjgvNQAvc2V0MjgvNgAvc2V0MjgvNwAvc2V0MjgvOAAvc2V0MzEwLzEAL3NldDMxMC8xMAAvc2V0MzEwLzIAL3NldDMxMC8zAC9zZXQzMTAvNAAvc2V0MzEwLzUAL3NldDMxMC82AC9zZXQzMTAvNwAvc2V0MzEwLzgAL3NldDMxMC85AC9zZXQzMTEvMQAvc2V0MzExLzEwAC9zZXQzMTEvMTEAL3NldDMxMS8yAC9zZXQzMTEvMwAvc2V0MzExLzQAL3NldDMxMS81AC9zZXQzMTEvNgAvc2V0MzExLzcAL3NldDMxMS84AC9zZXQzMTEvOQAvc2V0MzEyLzEAL3NldDMxMi8xMAAvc2V0MzEyLzExAC9zZXQzMTIvMTIAL3NldDMxMi8yAC9zZXQzMTIvMwAvc2V0MzEyLzQAL3NldDMxMi81AC9zZXQzMTIvNgAvc2V0MzEyLzcAL3NldDMxMi84AC9zZXQzMTIvOQAvc2V0MzMvMQAvc2V0MzMvMgAvc2V0MzMvMwAvc2V0MzQvMQAvc2V0MzQvMgAvc2V0MzQvMwAvc2V0MzQvNAAvc2V0MzUvMQAvc2V0MzUvMgAvc2V0MzUvMwAvc2V0MzUvNAAvc2V0MzUvNQAvc2V0MzYvMQAvc2V0MzYvMgAvc2V0MzYvMwAvc2V0MzYvNAAvc2V0MzYvNQAvc2V0MzYvNgAvc2V0MzcvMQAvc2V0MzcvMgAvc2V0MzcvMwAvc2V0MzcvNAAvc2V0MzcvNQAvc2V0MzcvNgAvc2V0MzcvNwAvc2V0MzgvMQAvc2V0MzgvMgAvc2V0MzgvMwAvc2V0MzgvNAAvc2V0MzgvNQAvc2V0MzgvNgAvc2V0MzgvNwAvc2V0MzgvOAAvc2V0MzkvMQAvc2V0MzkvMgAvc2V0MzkvMwAvc2V0MzkvNAAvc2V0MzkvNQAvc2V0MzkvNgAvc2V0MzkvNwAvc2V0MzkvOAAvc2V0MzkvOQAvc3BlY3RyYWwxMC8xAC9zcGVjdHJhbDEwLzEwAC9zcGVjdHJhbDEwLzIAL3NwZWN0cmFsMTAvMwAvc3BlY3RyYWwxMC80AC9zcGVjdHJhbDEwLzUAL3NwZWN0cmFsMTAvNgAvc3BlY3RyYWwxMC83AC9zcGVjdHJhbDEwLzgAL3NwZWN0cmFsMTAvOQAvc3BlY3RyYWwxMS8xAC9zcGVjdHJhbDExLzEwAC9zcGVjdHJhbDExLzExAC9zcGVjdHJhbDExLzIAL3NwZWN0cmFsMTEvMwAvc3BlY3RyYWwxMS80AC9zcGVjdHJhbDExLzUAL3NwZWN0cmFsMTEvNgAvc3BlY3RyYWwxMS83AC9zcGVjdHJhbDExLzgAL3NwZWN0cmFsMTEvOQAvc3BlY3RyYWwzLzEAL3NwZWN0cmFsMy8yAC9zcGVjdHJhbDMvMwAvc3BlY3RyYWw0LzEAL3NwZWN0cmFsNC8yAC9zcGVjdHJhbDQvMwAvc3BlY3RyYWw0LzQAL3NwZWN0cmFsNS8xAC9zcGVjdHJhbDUvMgAvc3BlY3RyYWw1LzMAL3NwZWN0cmFsNS80AC9zcGVjdHJhbDUvNQAvc3BlY3RyYWw2LzEAL3NwZWN0cmFsNi8yAC9zcGVjdHJhbDYvMwAvc3BlY3RyYWw2LzQAL3NwZWN0cmFsNi81AC9zcGVjdHJhbDYvNgAvc3BlY3RyYWw3LzEAL3NwZWN0cmFsNy8yAC9zcGVjdHJhbDcvMwAvc3BlY3RyYWw3LzQAL3NwZWN0cmFsNy81AC9zcGVjdHJhbDcvNgAvc3BlY3RyYWw3LzcAL3NwZWN0cmFsOC8xAC9zcGVjdHJhbDgvMgAvc3BlY3RyYWw4LzMAL3NwZWN0cmFsOC80AC9zcGVjdHJhbDgvNQAvc3BlY3RyYWw4LzYAL3NwZWN0cmFsOC83AC9zcGVjdHJhbDgvOAAvc3BlY3RyYWw5LzEAL3NwZWN0cmFsOS8yAC9zcGVjdHJhbDkvMwAvc3BlY3RyYWw5LzQAL3NwZWN0cmFsOS81AC9zcGVjdHJhbDkvNgAvc3BlY3RyYWw5LzcAL3NwZWN0cmFsOS84AC9zcGVjdHJhbDkvOQAvc3ZnL2FsaWNlYmx1ZQAvc3ZnL2FudGlxdWV3aGl0ZQAvc3ZnL2FxdWEAL3N2Zy9hcXVhbWFyaW5lAC9zdmcvYXp1cmUAL3N2Zy9iZWlnZQAvc3ZnL2Jpc3F1ZQAvc3ZnL2JsYWNrAC9zdmcvYmxhbmNoZWRhbG1vbmQAL3N2Zy9ibHVlAC9zdmcvYmx1ZXZpb2xldAAvc3ZnL2Jyb3duAC9zdmcvYnVybHl3b29kAC9zdmcvY2FkZXRibHVlAC9zdmcvY2hhcnRyZXVzZQAvc3ZnL2Nob2NvbGF0ZQAvc3ZnL2NvcmFsAC9zdmcvY29ybmZsb3dlcmJsdWUAL3N2Zy9jb3Juc2lsawAvc3ZnL2NyaW1zb24AL3N2Zy9jeWFuAC9zdmcvZGFya2JsdWUAL3N2Zy9kYXJrY3lhbgAvc3ZnL2Rhcmtnb2xkZW5yb2QAL3N2Zy9kYXJrZ3JheQAvc3ZnL2RhcmtncmVlbgAvc3ZnL2RhcmtncmV5AC9zdmcvZGFya2toYWtpAC9zdmcvZGFya21hZ2VudGEAL3N2Zy9kYXJrb2xpdmVncmVlbgAvc3ZnL2RhcmtvcmFuZ2UAL3N2Zy9kYXJrb3JjaGlkAC9zdmcvZGFya3JlZAAvc3ZnL2RhcmtzYWxtb24AL3N2Zy9kYXJrc2VhZ3JlZW4AL3N2Zy9kYXJrc2xhdGVibHVlAC9zdmcvZGFya3NsYXRlZ3JheQAvc3ZnL2RhcmtzbGF0ZWdyZXkAL3N2Zy9kYXJrdHVycXVvaXNlAC9zdmcvZGFya3Zpb2xldAAvc3ZnL2RlZXBwaW5rAC9zdmcvZGVlcHNreWJsdWUAL3N2Zy9kaW1ncmF5AC9zdmcvZGltZ3JleQAvc3ZnL2RvZGdlcmJsdWUAL3N2Zy9maXJlYnJpY2sAL3N2Zy9mbG9yYWx3aGl0ZQAvc3ZnL2ZvcmVzdGdyZWVuAC9zdmcvZnVjaHNpYQAvc3ZnL2dhaW5zYm9ybwAvc3ZnL2dob3N0d2hpdGUAL3N2Zy9nb2xkAC9zdmcvZ29sZGVucm9kAC9zdmcvZ3JheQAvc3ZnL2dyZWVuAC9zdmcvZ3JlZW55ZWxsb3cAL3N2Zy9ncmV5AC9zdmcvaG9uZXlkZXcAL3N2Zy9ob3RwaW5rAC9zdmcvaW5kaWFucmVkAC9zdmcvaW5kaWdvAC9zdmcvaXZvcnkAL3N2Zy9raGFraQAvc3ZnL2xhdmVuZGVyAC9zdmcvbGF2ZW5kZXJibHVzaAAvc3ZnL2xhd25ncmVlbgAvc3ZnL2xlbW9uY2hpZmZvbgAvc3ZnL2xpZ2h0Ymx1ZQAvc3ZnL2xpZ2h0Y29yYWwAL3N2Zy9saWdodGN5YW4AL3N2Zy9saWdodGdvbGRlbnJvZHllbGxvdwAvc3ZnL2xpZ2h0Z3JheQAvc3ZnL2xpZ2h0Z3JlZW4AL3N2Zy9saWdodGdyZXkAL3N2Zy9saWdodHBpbmsAL3N2Zy9saWdodHNhbG1vbgAvc3ZnL2xpZ2h0c2VhZ3JlZW4AL3N2Zy9saWdodHNreWJsdWUAL3N2Zy9saWdodHNsYXRlZ3JheQAvc3ZnL2xpZ2h0c2xhdGVncmV5AC9zdmcvbGlnaHRzdGVlbGJsdWUAL3N2Zy9saWdodHllbGxvdwAvc3ZnL2xpbWUAL3N2Zy9saW1lZ3JlZW4AL3N2Zy9saW5lbgAvc3ZnL21hZ2VudGEAL3N2Zy9tYXJvb24AL3N2Zy9tZWRpdW1hcXVhbWFyaW5lAC9zdmcvbWVkaXVtYmx1ZQAvc3ZnL21lZGl1bW9yY2hpZAAvc3ZnL21lZGl1bXB1cnBsZQAvc3ZnL21lZGl1bXNlYWdyZWVuAC9zdmcvbWVkaXVtc2xhdGVibHVlAC9zdmcvbWVkaXVtc3ByaW5nZ3JlZW4AL3N2Zy9tZWRpdW10dXJxdW9pc2UAL3N2Zy9tZWRpdW12aW9sZXRyZWQAL3N2Zy9taWRuaWdodGJsdWUAL3N2Zy9taW50Y3JlYW0AL3N2Zy9taXN0eXJvc2UAL3N2Zy9tb2NjYXNpbgAvc3ZnL25hdmFqb3doaXRlAC9zdmcvbmF2eQAvc3ZnL29sZGxhY2UAL3N2Zy9vbGl2ZQAvc3ZnL29saXZlZHJhYgAvc3ZnL29yYW5nZQAvc3ZnL29yYW5nZXJlZAAvc3ZnL29yY2hpZAAvc3ZnL3BhbGVnb2xkZW5yb2QAL3N2Zy9wYWxlZ3JlZW4AL3N2Zy9wYWxldHVycXVvaXNlAC9zdmcvcGFsZXZpb2xldHJlZAAvc3ZnL3BhcGF5YXdoaXAAL3N2Zy9wZWFjaHB1ZmYAL3N2Zy9wZXJ1AC9zdmcvcGluawAvc3ZnL3BsdW0AL3N2Zy9wb3dkZXJibHVlAC9zdmcvcHVycGxlAC9zdmcvcmVkAC9zdmcvcm9zeWJyb3duAC9zdmcvcm95YWxibHVlAC9zdmcvc2FkZGxlYnJvd24AL3N2Zy9zYWxtb24AL3N2Zy9zYW5keWJyb3duAC9zdmcvc2VhZ3JlZW4AL3N2Zy9zZWFzaGVsbAAvc3ZnL3NpZW5uYQAvc3ZnL3NpbHZlcgAvc3ZnL3NreWJsdWUAL3N2Zy9zbGF0ZWJsdWUAL3N2Zy9zbGF0ZWdyYXkAL3N2Zy9zbGF0ZWdyZXkAL3N2Zy9zbm93AC9zdmcvc3ByaW5nZ3JlZW4AL3N2Zy9zdGVlbGJsdWUAL3N2Zy90YW4AL3N2Zy90ZWFsAC9zdmcvdGhpc3RsZQAvc3ZnL3RvbWF0bwAvc3ZnL3R1cnF1b2lzZQAvc3ZnL3Zpb2xldAAvc3ZnL3doZWF0AC9zdmcvd2hpdGUAL3N2Zy93aGl0ZXNtb2tlAC9zdmcveWVsbG93AC9zdmcveWVsbG93Z3JlZW4AL3lsZ24zLzEAL3lsZ24zLzIAL3lsZ24zLzMAL3lsZ240LzEAL3lsZ240LzIAL3lsZ240LzMAL3lsZ240LzQAL3lsZ241LzEAL3lsZ241LzIAL3lsZ241LzMAL3lsZ241LzQAL3lsZ241LzUAL3lsZ242LzEAL3lsZ242LzIAL3lsZ242LzMAL3lsZ242LzQAL3lsZ242LzUAL3lsZ242LzYAL3lsZ243LzEAL3lsZ243LzIAL3lsZ243LzMAL3lsZ243LzQAL3lsZ243LzUAL3lsZ243LzYAL3lsZ243LzcAL3lsZ244LzEAL3lsZ244LzIAL3lsZ244LzMAL3lsZ244LzQAL3lsZ244LzUAL3lsZ244LzYAL3lsZ244LzcAL3lsZ244LzgAL3lsZ245LzEAL3lsZ245LzIAL3lsZ245LzMAL3lsZ245LzQAL3lsZ245LzUAL3lsZ245LzYAL3lsZ245LzcAL3lsZ245LzgAL3lsZ245LzkAL3lsZ25idTMvMQAveWxnbmJ1My8yAC95bGduYnUzLzMAL3lsZ25idTQvMQAveWxnbmJ1NC8yAC95bGduYnU0LzMAL3lsZ25idTQvNAAveWxnbmJ1NS8xAC95bGduYnU1LzIAL3lsZ25idTUvMwAveWxnbmJ1NS80AC95bGduYnU1LzUAL3lsZ25idTYvMQAveWxnbmJ1Ni8yAC95bGduYnU2LzMAL3lsZ25idTYvNAAveWxnbmJ1Ni81AC95bGduYnU2LzYAL3lsZ25idTcvMQAveWxnbmJ1Ny8yAC95bGduYnU3LzMAL3lsZ25idTcvNAAveWxnbmJ1Ny81AC95bGduYnU3LzYAL3lsZ25idTcvNwAveWxnbmJ1OC8xAC95bGduYnU4LzIAL3lsZ25idTgvMwAveWxnbmJ1OC80AC95bGduYnU4LzUAL3lsZ25idTgvNgAveWxnbmJ1OC83AC95bGduYnU4LzgAL3lsZ25idTkvMQAveWxnbmJ1OS8yAC95bGduYnU5LzMAL3lsZ25idTkvNAAveWxnbmJ1OS81AC95bGduYnU5LzYAL3lsZ25idTkvNwAveWxnbmJ1OS84AC95bGduYnU5LzkAL3lsb3JicjMvMQAveWxvcmJyMy8yAC95bG9yYnIzLzMAL3lsb3JicjQvMQAveWxvcmJyNC8yAC95bG9yYnI0LzMAL3lsb3JicjQvNAAveWxvcmJyNS8xAC95bG9yYnI1LzIAL3lsb3JicjUvMwAveWxvcmJyNS80AC95bG9yYnI1LzUAL3lsb3JicjYvMQAveWxvcmJyNi8yAC95bG9yYnI2LzMAL3lsb3JicjYvNAAveWxvcmJyNi81AC95bG9yYnI2LzYAL3lsb3JicjcvMQAveWxvcmJyNy8yAC95bG9yYnI3LzMAL3lsb3JicjcvNAAveWxvcmJyNy81AC95bG9yYnI3LzYAL3lsb3JicjcvNwAveWxvcmJyOC8xAC95bG9yYnI4LzIAL3lsb3JicjgvMwAveWxvcmJyOC80AC95bG9yYnI4LzUAL3lsb3JicjgvNgAveWxvcmJyOC83AC95bG9yYnI4LzgAL3lsb3JicjkvMQAveWxvcmJyOS8yAC95bG9yYnI5LzMAL3lsb3JicjkvNAAveWxvcmJyOS81AC95bG9yYnI5LzYAL3lsb3JicjkvNwAveWxvcmJyOS84AC95bG9yYnI5LzkAL3lsb3JyZDMvMQAveWxvcnJkMy8yAC95bG9ycmQzLzMAL3lsb3JyZDQvMQAveWxvcnJkNC8yAC95bG9ycmQ0LzMAL3lsb3JyZDQvNAAveWxvcnJkNS8xAC95bG9ycmQ1LzIAL3lsb3JyZDUvMwAveWxvcnJkNS80AC95bG9ycmQ1LzUAL3lsb3JyZDYvMQAveWxvcnJkNi8yAC95bG9ycmQ2LzMAL3lsb3JyZDYvNAAveWxvcnJkNi81AC95bG9ycmQ2LzYAL3lsb3JyZDcvMQAveWxvcnJkNy8yAC95bG9ycmQ3LzMAL3lsb3JyZDcvNAAveWxvcnJkNy81AC95bG9ycmQ3LzYAL3lsb3JyZDcvNwAveWxvcnJkOC8xAC95bG9ycmQ4LzIAL3lsb3JyZDgvMwAveWxvcnJkOC80AC95bG9ycmQ4LzUAL3lsb3JyZDgvNgAveWxvcnJkOC83AC95bG9ycmQ4LzgAL3lsb3JyZDkvMQAveWxvcnJkOS8yAC95bG9ycmQ5LzMAL3lsb3JyZDkvNAAveWxvcnJkOS81AC95bG9ycmQ5LzYAL3lsb3JyZDkvNwAveWxvcnJkOS84AC95bG9ycmQ5LzkAYWxpY2VibHVlAGFudGlxdWV3aGl0ZQBhbnRpcXVld2hpdGUxAGFudGlxdWV3aGl0ZTIAYW50aXF1ZXdoaXRlMwBhbnRpcXVld2hpdGU0AGFxdWFtYXJpbmUAYXF1YW1hcmluZTEAYXF1YW1hcmluZTIAYXF1YW1hcmluZTMAYXF1YW1hcmluZTQAYXp1cmUAYXp1cmUxAGF6dXJlMgBhenVyZTMAYXp1cmU0AGJlaWdlAGJpc3F1ZQBiaXNxdWUxAGJpc3F1ZTIAYmlzcXVlMwBiaXNxdWU0AGJsYW5jaGVkYWxtb25kAGJsdWUAYmx1ZTEAYmx1ZTIAYmx1ZTMAYmx1ZTQAYmx1ZXZpb2xldABicm93bgBicm93bjEAYnJvd24yAGJyb3duMwBicm93bjQAYnVybHl3b29kAGJ1cmx5d29vZDEAYnVybHl3b29kMgBidXJseXdvb2QzAGJ1cmx5d29vZDQAY2FkZXRibHVlAGNhZGV0Ymx1ZTEAY2FkZXRibHVlMgBjYWRldGJsdWUzAGNhZGV0Ymx1ZTQAY2hhcnRyZXVzZQBjaGFydHJldXNlMQBjaGFydHJldXNlMgBjaGFydHJldXNlMwBjaGFydHJldXNlNABjaG9jb2xhdGUAY2hvY29sYXRlMQBjaG9jb2xhdGUyAGNob2NvbGF0ZTMAY2hvY29sYXRlNABjb3JhbABjb3JhbDEAY29yYWwyAGNvcmFsMwBjb3JhbDQAY29ybmZsb3dlcmJsdWUAY29ybnNpbGsAY29ybnNpbGsxAGNvcm5zaWxrMgBjb3Juc2lsazMAY29ybnNpbGs0AGNyaW1zb24AY3lhbgBjeWFuMQBjeWFuMgBjeWFuMwBjeWFuNABkYXJrZ29sZGVucm9kAGRhcmtnb2xkZW5yb2QxAGRhcmtnb2xkZW5yb2QyAGRhcmtnb2xkZW5yb2QzAGRhcmtnb2xkZW5yb2Q0AGRhcmtncmVlbgBkYXJra2hha2kAZGFya29saXZlZ3JlZW4AZGFya29saXZlZ3JlZW4xAGRhcmtvbGl2ZWdyZWVuMgBkYXJrb2xpdmVncmVlbjMAZGFya29saXZlZ3JlZW40AGRhcmtvcmFuZ2UAZGFya29yYW5nZTEAZGFya29yYW5nZTIAZGFya29yYW5nZTMAZGFya29yYW5nZTQAZGFya29yY2hpZABkYXJrb3JjaGlkMQBkYXJrb3JjaGlkMgBkYXJrb3JjaGlkMwBkYXJrb3JjaGlkNABkYXJrc2FsbW9uAGRhcmtzZWFncmVlbgBkYXJrc2VhZ3JlZW4xAGRhcmtzZWFncmVlbjIAZGFya3NlYWdyZWVuMwBkYXJrc2VhZ3JlZW40AGRhcmtzbGF0ZWJsdWUAZGFya3NsYXRlZ3JheQBkYXJrc2xhdGVncmF5MQBkYXJrc2xhdGVncmF5MgBkYXJrc2xhdGVncmF5MwBkYXJrc2xhdGVncmF5NABkYXJrc2xhdGVncmV5AGRhcmt0dXJxdW9pc2UAZGFya3Zpb2xldABkZWVwcGluawBkZWVwcGluazEAZGVlcHBpbmsyAGRlZXBwaW5rMwBkZWVwcGluazQAZGVlcHNreWJsdWUAZGVlcHNreWJsdWUxAGRlZXBza3libHVlMgBkZWVwc2t5Ymx1ZTMAZGVlcHNreWJsdWU0AGRpbWdyYXkAZGltZ3JleQBkb2RnZXJibHVlAGRvZGdlcmJsdWUxAGRvZGdlcmJsdWUyAGRvZGdlcmJsdWUzAGRvZGdlcmJsdWU0AGZpcmVicmljawBmaXJlYnJpY2sxAGZpcmVicmljazIAZmlyZWJyaWNrMwBmaXJlYnJpY2s0AGZsb3JhbHdoaXRlAGZvcmVzdGdyZWVuAGdhaW5zYm9ybwBnaG9zdHdoaXRlAGdvbGQAZ29sZDEAZ29sZDIAZ29sZDMAZ29sZDQAZ29sZGVucm9kAGdvbGRlbnJvZDEAZ29sZGVucm9kMgBnb2xkZW5yb2QzAGdvbGRlbnJvZDQAZ3JheQBncmF5MABncmF5MQBncmF5MTAAZ3JheTEwMABncmF5MTEAZ3JheTEyAGdyYXkxMwBncmF5MTQAZ3JheTE1AGdyYXkxNgBncmF5MTcAZ3JheTE4AGdyYXkxOQBncmF5MgBncmF5MjAAZ3JheTIxAGdyYXkyMgBncmF5MjMAZ3JheTI0AGdyYXkyNQBncmF5MjYAZ3JheTI3AGdyYXkyOABncmF5MjkAZ3JheTMAZ3JheTMwAGdyYXkzMQBncmF5MzIAZ3JheTMzAGdyYXkzNABncmF5MzUAZ3JheTM2AGdyYXkzNwBncmF5MzgAZ3JheTM5AGdyYXk0AGdyYXk0MABncmF5NDEAZ3JheTQyAGdyYXk0MwBncmF5NDQAZ3JheTQ1AGdyYXk0NgBncmF5NDcAZ3JheTQ4AGdyYXk0OQBncmF5NQBncmF5NTAAZ3JheTUxAGdyYXk1MgBncmF5NTMAZ3JheTU0AGdyYXk1NQBncmF5NTYAZ3JheTU3AGdyYXk1OABncmF5NTkAZ3JheTYAZ3JheTYwAGdyYXk2MQBncmF5NjIAZ3JheTYzAGdyYXk2NABncmF5NjUAZ3JheTY2AGdyYXk2NwBncmF5NjgAZ3JheTY5AGdyYXk3AGdyYXk3MABncmF5NzEAZ3JheTcyAGdyYXk3MwBncmF5NzQAZ3JheTc1AGdyYXk3NgBncmF5NzcAZ3JheTc4AGdyYXk3OQBncmF5OABncmF5ODAAZ3JheTgxAGdyYXk4MgBncmF5ODMAZ3JheTg0AGdyYXk4NQBncmF5ODYAZ3JheTg3AGdyYXk4OABncmF5ODkAZ3JheTkAZ3JheTkwAGdyYXk5MQBncmF5OTIAZ3JheTkzAGdyYXk5NABncmF5OTUAZ3JheTk2AGdyYXk5NwBncmF5OTgAZ3JheTk5AGdyZWVuAGdyZWVuMQBncmVlbjIAZ3JlZW4zAGdyZWVuNABncmVlbnllbGxvdwBncmV5AGdyZXkwAGdyZXkxAGdyZXkxMABncmV5MTAwAGdyZXkxMQBncmV5MTIAZ3JleTEzAGdyZXkxNABncmV5MTUAZ3JleTE2AGdyZXkxNwBncmV5MTgAZ3JleTE5AGdyZXkyAGdyZXkyMABncmV5MjEAZ3JleTIyAGdyZXkyMwBncmV5MjQAZ3JleTI1AGdyZXkyNgBncmV5MjcAZ3JleTI4AGdyZXkyOQBncmV5MwBncmV5MzAAZ3JleTMxAGdyZXkzMgBncmV5MzMAZ3JleTM0AGdyZXkzNQBncmV5MzYAZ3JleTM3AGdyZXkzOABncmV5MzkAZ3JleTQAZ3JleTQwAGdyZXk0MQBncmV5NDIAZ3JleTQzAGdyZXk0NABncmV5NDUAZ3JleTQ2AGdyZXk0NwBncmV5NDgAZ3JleTQ5AGdyZXk1AGdyZXk1MABncmV5NTEAZ3JleTUyAGdyZXk1MwBncmV5NTQAZ3JleTU1AGdyZXk1NgBncmV5NTcAZ3JleTU4AGdyZXk1OQBncmV5NgBncmV5NjAAZ3JleTYxAGdyZXk2MgBncmV5NjMAZ3JleTY0AGdyZXk2NQBncmV5NjYAZ3JleTY3AGdyZXk2OABncmV5NjkAZ3JleTcAZ3JleTcwAGdyZXk3MQBncmV5NzIAZ3JleTczAGdyZXk3NABncmV5NzUAZ3JleTc2AGdyZXk3NwBncmV5NzgAZ3JleTc5AGdyZXk4AGdyZXk4MABncmV5ODEAZ3JleTgyAGdyZXk4MwBncmV5ODQAZ3JleTg1AGdyZXk4NgBncmV5ODcAZ3JleTg4AGdyZXk4OQBncmV5OQBncmV5OTAAZ3JleTkxAGdyZXk5MgBncmV5OTMAZ3JleTk0AGdyZXk5NQBncmV5OTYAZ3JleTk3AGdyZXk5OABncmV5OTkAaG9uZXlkZXcAaG9uZXlkZXcxAGhvbmV5ZGV3MgBob25leWRldzMAaG9uZXlkZXc0AGhvdHBpbmsAaG90cGluazEAaG90cGluazIAaG90cGluazMAaG90cGluazQAaW5kaWFucmVkAGluZGlhbnJlZDEAaW5kaWFucmVkMgBpbmRpYW5yZWQzAGluZGlhbnJlZDQAaW5kaWdvAGludmlzAGl2b3J5AGl2b3J5MQBpdm9yeTIAaXZvcnkzAGl2b3J5NABraGFraQBraGFraTEAa2hha2kyAGtoYWtpMwBraGFraTQAbGF2ZW5kZXIAbGF2ZW5kZXJibHVzaABsYXZlbmRlcmJsdXNoMQBsYXZlbmRlcmJsdXNoMgBsYXZlbmRlcmJsdXNoMwBsYXZlbmRlcmJsdXNoNABsYXduZ3JlZW4AbGVtb25jaGlmZm9uAGxlbW9uY2hpZmZvbjEAbGVtb25jaGlmZm9uMgBsZW1vbmNoaWZmb24zAGxlbW9uY2hpZmZvbjQAbGlnaHRibHVlAGxpZ2h0Ymx1ZTEAbGlnaHRibHVlMgBsaWdodGJsdWUzAGxpZ2h0Ymx1ZTQAbGlnaHRjb3JhbABsaWdodGN5YW4AbGlnaHRjeWFuMQBsaWdodGN5YW4yAGxpZ2h0Y3lhbjMAbGlnaHRjeWFuNABsaWdodGdvbGRlbnJvZABsaWdodGdvbGRlbnJvZDEAbGlnaHRnb2xkZW5yb2QyAGxpZ2h0Z29sZGVucm9kMwBsaWdodGdvbGRlbnJvZDQAbGlnaHRnb2xkZW5yb2R5ZWxsb3cAbGlnaHRncmF5AGxpZ2h0Z3JleQBsaWdodHBpbmsAbGlnaHRwaW5rMQBsaWdodHBpbmsyAGxpZ2h0cGluazMAbGlnaHRwaW5rNABsaWdodHNhbG1vbgBsaWdodHNhbG1vbjEAbGlnaHRzYWxtb24yAGxpZ2h0c2FsbW9uMwBsaWdodHNhbG1vbjQAbGlnaHRzZWFncmVlbgBsaWdodHNreWJsdWUAbGlnaHRza3libHVlMQBsaWdodHNreWJsdWUyAGxpZ2h0c2t5Ymx1ZTMAbGlnaHRza3libHVlNABsaWdodHNsYXRlYmx1ZQBsaWdodHNsYXRlZ3JheQBsaWdodHNsYXRlZ3JleQBsaWdodHN0ZWVsYmx1ZQBsaWdodHN0ZWVsYmx1ZTEAbGlnaHRzdGVlbGJsdWUyAGxpZ2h0c3RlZWxibHVlMwBsaWdodHN0ZWVsYmx1ZTQAbGlnaHR5ZWxsb3cAbGlnaHR5ZWxsb3cxAGxpZ2h0eWVsbG93MgBsaWdodHllbGxvdzMAbGlnaHR5ZWxsb3c0AGxpbWVncmVlbgBsaW5lbgBtYWdlbnRhAG1hZ2VudGExAG1hZ2VudGEyAG1hZ2VudGEzAG1hZ2VudGE0AG1hcm9vbgBtYXJvb24xAG1hcm9vbjIAbWFyb29uMwBtYXJvb240AG1lZGl1bWFxdWFtYXJpbmUAbWVkaXVtYmx1ZQBtZWRpdW1vcmNoaWQAbWVkaXVtb3JjaGlkMQBtZWRpdW1vcmNoaWQyAG1lZGl1bW9yY2hpZDMAbWVkaXVtb3JjaGlkNABtZWRpdW1wdXJwbGUAbWVkaXVtcHVycGxlMQBtZWRpdW1wdXJwbGUyAG1lZGl1bXB1cnBsZTMAbWVkaXVtcHVycGxlNABtZWRpdW1zZWFncmVlbgBtZWRpdW1zbGF0ZWJsdWUAbWVkaXVtc3ByaW5nZ3JlZW4AbWVkaXVtdHVycXVvaXNlAG1lZGl1bXZpb2xldHJlZABtaWRuaWdodGJsdWUAbWludGNyZWFtAG1pc3R5cm9zZQBtaXN0eXJvc2UxAG1pc3R5cm9zZTIAbWlzdHlyb3NlMwBtaXN0eXJvc2U0AG1vY2Nhc2luAG5hdmFqb3doaXRlAG5hdmFqb3doaXRlMQBuYXZham93aGl0ZTIAbmF2YWpvd2hpdGUzAG5hdmFqb3doaXRlNABuYXZ5AG5hdnlibHVlAG5vbmUAb2xkbGFjZQBvbGl2ZWRyYWIAb2xpdmVkcmFiMQBvbGl2ZWRyYWIyAG9saXZlZHJhYjMAb2xpdmVkcmFiNABvcmFuZ2UAb3JhbmdlMQBvcmFuZ2UyAG9yYW5nZTMAb3JhbmdlNABvcmFuZ2VyZWQAb3JhbmdlcmVkMQBvcmFuZ2VyZWQyAG9yYW5nZXJlZDMAb3JhbmdlcmVkNABvcmNoaWQAb3JjaGlkMQBvcmNoaWQyAG9yY2hpZDMAb3JjaGlkNABwYWxlZ29sZGVucm9kAHBhbGVncmVlbgBwYWxlZ3JlZW4xAHBhbGVncmVlbjIAcGFsZWdyZWVuMwBwYWxlZ3JlZW40AHBhbGV0dXJxdW9pc2UAcGFsZXR1cnF1b2lzZTEAcGFsZXR1cnF1b2lzZTIAcGFsZXR1cnF1b2lzZTMAcGFsZXR1cnF1b2lzZTQAcGFsZXZpb2xldHJlZABwYWxldmlvbGV0cmVkMQBwYWxldmlvbGV0cmVkMgBwYWxldmlvbGV0cmVkMwBwYWxldmlvbGV0cmVkNABwYXBheWF3aGlwAHBlYWNocHVmZgBwZWFjaHB1ZmYxAHBlYWNocHVmZjIAcGVhY2hwdWZmMwBwZWFjaHB1ZmY0AHBlcnUAcGluawBwaW5rMQBwaW5rMgBwaW5rMwBwaW5rNABwbHVtAHBsdW0xAHBsdW0yAHBsdW0zAHBsdW00AHBvd2RlcmJsdWUAcHVycGxlAHB1cnBsZTEAcHVycGxlMgBwdXJwbGUzAHB1cnBsZTQAcmVkAHJlZDEAcmVkMgByZWQzAHJlZDQAcm9zeWJyb3duAHJvc3licm93bjEAcm9zeWJyb3duMgByb3N5YnJvd24zAHJvc3licm93bjQAcm95YWxibHVlAHJveWFsYmx1ZTEAcm95YWxibHVlMgByb3lhbGJsdWUzAHJveWFsYmx1ZTQAc2FkZGxlYnJvd24Ac2FsbW9uAHNhbG1vbjEAc2FsbW9uMgBzYWxtb24zAHNhbG1vbjQAc2FuZHlicm93bgBzZWFncmVlbgBzZWFncmVlbjEAc2VhZ3JlZW4yAHNlYWdyZWVuMwBzZWFncmVlbjQAc2Vhc2hlbGwAc2Vhc2hlbGwxAHNlYXNoZWxsMgBzZWFzaGVsbDMAc2Vhc2hlbGw0AHNpZW5uYQBzaWVubmExAHNpZW5uYTIAc2llbm5hMwBzaWVubmE0AHNreWJsdWUAc2t5Ymx1ZTEAc2t5Ymx1ZTIAc2t5Ymx1ZTMAc2t5Ymx1ZTQAc2xhdGVibHVlAHNsYXRlYmx1ZTEAc2xhdGVibHVlMgBzbGF0ZWJsdWUzAHNsYXRlYmx1ZTQAc2xhdGVncmF5AHNsYXRlZ3JheTEAc2xhdGVncmF5MgBzbGF0ZWdyYXkzAHNsYXRlZ3JheTQAc2xhdGVncmV5AHNub3cAc25vdzEAc25vdzIAc25vdzMAc25vdzQAc3ByaW5nZ3JlZW4Ac3ByaW5nZ3JlZW4xAHNwcmluZ2dyZWVuMgBzcHJpbmdncmVlbjMAc3ByaW5nZ3JlZW40AHN0ZWVsYmx1ZQBzdGVlbGJsdWUxAHN0ZWVsYmx1ZTIAc3RlZWxibHVlMwBzdGVlbGJsdWU0AHRhbgB0YW4xAHRhbjIAdGFuMwB0YW40AHRoaXN0bGUAdGhpc3RsZTEAdGhpc3RsZTIAdGhpc3RsZTMAdGhpc3RsZTQAdG9tYXRvAHRvbWF0bzEAdG9tYXRvMgB0b21hdG8zAHRvbWF0bzQAdHVycXVvaXNlAHR1cnF1b2lzZTEAdHVycXVvaXNlMgB0dXJxdW9pc2UzAHR1cnF1b2lzZTQAdmlvbGV0AHZpb2xldHJlZAB2aW9sZXRyZWQxAHZpb2xldHJlZDIAdmlvbGV0cmVkMwB2aW9sZXRyZWQ0AHdoZWF0AHdoZWF0MQB3aGVhdDIAd2hlYXQzAHdoZWF0NAB3aGl0ZQB3aGl0ZXNtb2tlAHllbGxvdwB5ZWxsb3cxAHllbGxvdzIAeWVsbG93MwB5ZWxsb3c0AHllbGxvd2dyZWVuAGxhY2sAaGl0ZQBpZ2h0Z3JleQBYMTEvAC8lcy8lcwBpbWFnZXNjYWxlAGZhbHNlAGJsYWNrAGRvdHRlZABkYXNoZWQAY3AtPnNyYwBodG1sdGFibGUuYwBlbWl0X2h0bWxfaW1nAGNwLT5zcmNbMF0AdHJhbnNwYXJlbnQAXyVkACVkADEAMgAzADQANQA2ADcAOAA5ADEwADExADEyADEzADE0ADE1ADE2ADE3ADE4ADE5ADIwAEFnbm9kZWluZm9fdABBZ2VkZ2VpbmZvX3QAcm93ZwBjb2xnAEFncmFwaGluZm9fdAA8VEFCTEU+AGRlbHggPj0gMABwb3NfaHRtbF90YmwAZGVseSA+PSAwAHRhYmxlIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCB0YWJsZSBzaXplIHdpdGggdW5zcGVjaWZpZWQgd2lkdGggb3IgaGVpZ2h0CgBjZWxsIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCBjZWxsIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAE5vIG9yIGltcHJvcGVyIGltYWdlIGZpbGU9IiVzIgoAcGVuY29sb3IAY29sb3IALT4ALS0AZlBRLmMAUFFjaGVjawBIZWFwIG92ZXJmbG93CgAlIVBTLUFkb2JlLTIuMAovbm9kZSB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAc2hvd3BhZ2UKAGZhaWxlZCBhdCBub2RlICVkWzBdCgBucC0+Y2VsbHNbMF0AbWF6ZS5jAGNoa1NncmFwaABmYWlsZWQgYXQgbm9kZSAlZFsxXQoAbnAtPmNlbGxzWzFdAGRpdGVtcwBmaW5kU1ZlcnQAJSUlJVBhZ2U6IDEgMQolJSUlUGFnZUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoAJWYgJWYgdHJhbnNsYXRlCgAwIDAgMSBzZXRyZ2Jjb2xvcgoAJWYgJWYgJWYgJWYgbm9kZQoAMCAwIDAgc2V0cmdiY29sb3IKACVmICVmICVmICVmIGNlbGwKADEgMCAwIHNldHJnYmNvbG9yCgB1bmV4cGVjdGVkIGNhc2UgaW4gbG9jYXRlX2VuZHBvaW50CgAwAHRyYXBlem9pZC5jAGxvY2F0ZV9lbmRwb2ludABhZGRfc2VnbWVudDogZXJyb3IKAG5ld25vZGU6IFF1ZXJ5LXRhYmxlIG92ZXJmbG93CgBuZXdub2RlAG5ld3RyYXA6IFRyYXBlem9pZC10YWJsZSBvdmVyZmxvdyAlZAoAbmV3dHJhcABpbmRleC5jAFJUcmVlU2VhcmNoAG4tPmxldmVsID49IDAAUlRyZWVJbnNlcnQAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSAoKm4pLT5sZXZlbAByLT5ib3VuZGFyeVtpXSA8PSByLT5ib3VuZGFyeVtOVU1ESU1TICsgaV0AciAmJiBuICYmIG5ldwBSVHJlZUluc2VydDIAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSBuLT5sZXZlbABGQUxTRQBub2RlLmMATm9kZUNvdmVyAHIgJiYgbgBQaWNrQnJhbmNoAEFkZEJyYW5jaABpIDwgTk9ERUNBUkQAbmV3AG4gJiYgaSA+PSAwICYmIGkgPCBOT0RFQ0FSRABEaXNjb25CcmFuY2gAcgByZWN0YW5nbGUuYwBSZWN0QXJlYQByICYmIHJyAENvbWJpbmVSZWN0AHIgJiYgcwBPdmVybGFwAG4Ac3BsaXQucS5jAFNwbGl0Tm9kZQBiAG4tPmNvdW50ICsgKCpubiktPmNvdW50ID09IE5PREVDQVJEICsgMQBMb2FkTm9kZXMAcQBwAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMCB8fCBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0ucGFydGl0aW9uW2ldID09IDEAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdICsgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID09IE5PREVDQVJEICsgMQBNZXRob2RaZXJvAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5jb3VudFswXSA+PSBydHAtPk1pbkZpbGwgJiYgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID49IHJ0cC0+TWluRmlsbAAhcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnRha2VuW2ldAENsYXNzaWZ5AEdldEJyYW5jaGVzAG4tPmJyYW5jaFtpXS5jaGlsZAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKAICAgICAhAMWQEAH1AIAwcSExRXFhcIC2kMHwoFDA4pESsPLRAvMCAyBjQ1GxwdHgsMISIjJCUmJygMGBkXBAobHBogKgohIiMkJSYnKAwKDlMKLFgxWFhYWFhYDBscDy5YMyEiIyQlJicoGxz/U///ISIjJCUmJygM//8F////CRT//////wwbHP8QFRYhIiMkJSYnKBsc/////yEiIyQlJicoDP8SExQRFhf///////8MGxz///8SISIjJCUmJygbHP////8hIiMkJSYnKAz///////8T////////DBsc/////yEiIyQlJicoGxz/////ISIjJCUmJygSExQVFhcYGf///////////yMkJSYnGxITFBYXIjZoAR84ViEgAhsbG14bGzc5cDbSwk8EPCJHIj8iRCIiWCJlIiIFBl9gOQQHCAkKCwwNDgRmZ11qbQUGb1g7cQcICQoLDA0OBHI8W3M+YUYbEhMUFhcEBQY/QWJJBwgJCgsMDQ4FBgBcAAAHCAkKCwwNDgQAAE8AAABTQgAAAAAABAUGAERUVQcICQoLDA0OBQYAAAAABwgJCgsMDQ4EACosLkcxMwAAAAAAAAQFBgAAAEoHCAkKCwwNDgUGAAAAAAcICQoLDA0OBAAAAAAAAEwAAAAAAAAEBQYAAAAABwgJCgsMDQ4FBgAAAAAHCAkKCwwNDikrLS8wMjQ1AAAAAAAAAAAAKSstMDIABC8AJCMAEhQWGhweIBgABQcvLy8ALy8AAAkIKAAAASICBgAAAAAACAAAAAAAAAAAAAAAAAAlAyYTCikVCyoXDi0ZERsMKx0NLB8PIRAAMwAwAC9DADEALwA1LidCMkEAOjgAPDRFADYAQAAAPwBENzs5PQACAwMBAQIBAQEDAwMDAwMDAwEBAQEBAQEBAQEBAQEBAQECAQECAAYBAwMDAwMBAAECAwAEAQIDAAQABAAEAAMCAQIBAgFTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBiZWZvcmUgPFRBQkxFPgBTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBhZnRlciA8L1RBQkxFPgAAKSoqKissLC0tLS0tLS0tLS0uLzAxMjM0NTY3ODk6Ozw9Pj4/P0FAQkJCQkJCQ0NERERGRUdHR0lISkhLSExITU1OTk9P/wMPEBEjOiQ9JUAVQyZFJ0gYSxlNGigcTh0eUFFSWVpsa25jZFdpc3ludGF4IGVycm9yAG1lbW9yeSBleGhhdXN0ZWQAJXMgaW4gbGluZSAlZCAKAE5vdCBidWlsdCB3aXRoIGxpYmV4cGF0LiBUYWJsZSBmb3JtYXR0aW5nIGlzIG5vdCBhdmFpbGFibGUuCgByb3V0ZS5jAGxpYnBhdGgvJXM6JWQ6ICVzCgBzaG9ydGVzdC5jAHNvdXJjZSBwb2ludCBub3QgaW4gYW55IHRyaWFuZ2xlAGRlc3RpbmF0aW9uIHBvaW50IG5vdCBpbiBhbnkgdHJpYW5nbGUAY2Fubm90IGZpbmQgdHJpYW5nbGUgcGF0aABjYW5ub3QgbWFsbG9jIG9wcwBjYW5ub3QgcmVhbGxvYyBvcHMAdHJpYW5ndWxhdGlvbiBmYWlsZWQAY2Fubm90IG1hbGxvYyB0cmlzAGNhbm5vdCByZWFsbG9jIHRyaXMAY2Fubm90IG1hbGxvYyBkcS5wbmxzAGNhbm5vdCByZWFsbG9jIGRxLnBubHMAY2Fubm90IG1hbGxvYyBwbmxzAGNhbm5vdCBtYWxsb2MgcG5scHMAY2Fubm90IHJlYWxsb2MgcG5scwBjYW5ub3QgcmVhbGxvYyBwbmxwcwBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AABIQExQVFhcYGRobHB0eHyAhEBAiIxAkJSYnKCkqKxAsLS4RLzARETEREREyMzQ1Njc4OREQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQOhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQOxA8PT4/QEEQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQQhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQQxAQRBBFRkcQSBBJEBAQEEpLTE0QEE4QT1AQEBAQURAQEBAQEBAQEBAQEBBSEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBTEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQVFVWVxAQWFkQEBAQEBAQEBAQEBAQEBAQEBAQEBAQWhBbXF1eX2BhYhAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////wAAAAD+/wD8AQAA+AEAAHgAAAAA//vf+wAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAD8/+Cv/////////////9///////yBAsAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAD8AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAAACG/v///wBASQAAAAAAGADf/wDIAAAAAAAAAAEAPAAAAAAAAAAAAAAAABDgAR4AYP+/AAAAAAAA/wcAAAAAAAAAAAAAAAAAAAAAAAAA+M8DAAAAAwAg/38AAABOAAAAAAAAAAAAAAAAAAAAAAD8AAAAAAAAAAAAEAAgHgAwAAEAAAAAAAAAABAAIAAAAAD8DwAAAAAAAAAQACAAAAAAAAAAAAAAAAAAEAAgAAAAAAMAAAAAAAAAABAAIAAAAAD9AAAAAAAAAAAAACAAAAAA/wcAAAAAAAAAAAAgAAAAAAD/AAAAAAAAABAAIAAAAAAAAAAAAAAAAAAAACAAAAAAPwIAAAAAAAAAAAAEAAAAABAAAAAAAACAAIDA3wAMAAAAAAAAAAAAAAAAAB8AAAAAAAD+////APz//wAAAAAAAAAA/AAAAAAAAMD/3/8HAAAAAAAAAAAAAIAGAPwAABg+AACAvwDMAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABg////HwAA/wMAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAABAAAYAAAAAAAAAAAAOAAAAAAQAAAAcAAAAAAAAAAAAAAAAAAAADAAAP5/LwAA/wP/fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOMQAAAAAAAAAAAAAAAAAAAAAAAMT/////AAAAwAAAAAAAAAAAAQDgnwAAAAB/PwAAAAAAAAAAAAAAAAAAAAAQABAAAPz///8fAAAAAAAMAAAAAAAAQAAM8AAAAAAAAMD4AAAAAAAAAMAAAAAAAAAAAP8A////IRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////38AAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAD4ADgAOAAYID4/////P//////fx/88X//fwAA////AwAA/////wEAewPQwa9CAAwfvP//AAAAAAAC//////////////////////////////////////////////////////////8PAP////9/AAAA/wcAAP////////////8/AAAAAAAA/P///v////////////////////////////////////////////////////8f/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADghwP+AAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAD//////3//DwAAAAAAAAAA////+/////////////8PAP//////////////////////////////////PwAAAP8PHv///wH8weAAAAAAAAAAAAAAAB4BAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAD//wAAAAD/////DwAAAP///3////////////////////////////////////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8AAAAAAAAAAAAAAAAAAAAAAAD///////9/AAAAAAAAwADgAAAAAAAAAAAAAACAD3AAAAAAAAAAAAAAAAAAAP8A//9/AAMAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAABECAAAAA//AwAAAAAAAPAAAAAAAAAAAAAQwAAA//8DBwAAAAAA+AAAAAAIgAAAAAAAAAAAAAAIAP8/AMAAAAAAAAAAAAAAAAAAAADwAACACwAAAAAAAACAAgAAwAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA/P8DAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw////A38A//////f/fw8AAAAAAAAAAAAAAAAAAAAAAID+/wD8AQAA+AEAAPg/AAAAAAAAAAAAAAAAAAAAf38AMIf//////4//AAAAAAAA4P//B/8PAAAAAAAA//////8/AAAAAA8AAAAAAAAAAAAAAAAAAIAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAwI8AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIf/AP8BAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAP/z/PwAAAAMAAAAAAAD+AwAAAAAAAAAAAAAAAAAYAA8AAAAAAAAAAAAAAAAAAADhAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAHAAAAAAAAAAAAAAAAAP///////////////////////////////////////z8A/////3/+////////////////////////////PwAAAAD//////////z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////9/AP//AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAACAAAAAgAACAAAAAgAACAAAAAgAAAAAIAAAACAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA//////8P////////////////DwD/f/5//v/+/wAAAAD/B////3//////////D///////BwAAAAAAAAAAwP///wcA//////8H/wEDAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wEAv///////////H///DwD/////3wcAAP//AQD/////////f/3/////////////////////////////Hv////////8/DwD///8AAAAAAAAAAAAAAAAAAAAAAAD4///////////h/wAAAAAAAP//////////PwAAAAAAAAD//////////////////w8AAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAEhETFBUWFxgZGhscHR4fICERIiMkESUmJygpKissES0uLxAQMBAQEBAQEBAxMjMQNDUQEBERERERERERERERERERERERERERERERERE2ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERNxERERE4ETk6Ozw9PhERERERERERERERERERERERERERERERERERERERERERERERERERERERERE/EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEUBBEUJDREVGR0hJEBAQSktMTU4QEBBPUBAQEBBREBAQEBAQEBAQERERUlMQEBAQEBAQEBAQEBERERFUEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQERFVEBAQEFYQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQVxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQWFlaWxAQEBAQEBAQEBAQEBAQEBAQEBAQEBBcEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAAAAAAD+//8H/v//BwAAAAAABCAE//9/////f//////////////////////////////////D/wMAH1AAAAAAAAAAAAAAIAAAAAAA3zxA1///+////////////7///////////////////////wP8/////////////////////////wD+////fwL+/////wAAAAAA/7+2AP///wcHAAAA/wf//////////v/D////////////////7x/+4f+fAAD///////8A4P///////////////wMA//////8HMAT////8/x8AAP///wEAAAAAAAAAAP0fAAAAAAAA8AP/f//////////v/9/h/8///v7un/n///3F459ZgLDP/wMA7of5///9bcOHGQJewP8/AO6/+////e3jvxsBAM//AADun/n///3t458ZwLDP/wIA7Mc91hjH/8PHHYEAwP8AAO7f/f///e/j3x1gA8//AADs3/3///3v498dYEDP/wYA7N/9/////+ffXYAAz/8A/Oz/f/z///svf4Bf/wAADAD+/////3//Bz8g/wMAAAAAliXw/q7s/ztfIP/zAAAAAAEAAAD/AwAA//7///8f/v8D///+////HwAAAAAAAAAA////////f/n/A///58H//39A/zP/////vyD///////f///////////89fz3//////z3/////PX89/3//////////Pf//////////hwAAAAD//wAA/////////////x8A/v//////////////////////////////////////////////////////////n////v//B////////////8cBAP/fDwD//w8A//8PAP/fDQD////////P//8BgBD/AwAAAAD/A///////////////AP//////B///////////PwD///8f/w//AcD/////Px8A//////8P////A/8DAAAAAP///w//////////f/7/HwD/A/8DgAAAAAAAAAAAAAAA////////7//vD/8DAAAAAP//////8////////7//AwD///////8/AP/j//////8/AAAAAAAAAAAAAAAAAN5vAP///////////////////////////////wAAAAAAAAAA//8/P/////8/P/+q////P////////99f3B/PD/8f3B8AAAAAAAAAAAAAAAAAAAKAAAD/HwAAAAAAAAAAAAAAAIT8Lz5Qvf/z4EMAAP//////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMD///////8DAAD//////3///////3//////////////////////H3gMAP////+/IP////////+AAAD//38Af39/f39/f3//////AAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAA/gM+H/7///////////9/4P7/////////////9+D/////P/7/////////////fwAA////BwAAAAAAAP///////////////////////////////z8AAAAAAAAAAAD/////////////////////////////////HwAAAAAAAP//////////////////////HwAAAAAAAAAA//////8//x////8PAAD//////3/wj////4D/////////////AAAAAID//P///////////////3kPAP8HAAAAAAAAAAAA/7v3////AAAA////////DwD//////////w8A/wMAAPwI//////8H/////wcA////H/////////f/AID/AwAAAAD///////9/AP8//wP//38E/////////38FAAA4//88AH5+fgB/fwAAAAAAAAAAAAAAAAAAAAAAAP//////B/8D//////////////////////////8PAP//f/j//////w//////////////////P/////////////////8DAAAAAH8A+OD//X9f2/////////////////8DAAAA+P///////////////z8AAP///////////P///////wAAAAAA/w8AAAAAAAAAAAAAAAAAAN//////////////////////HwAA/wP+//8H/v//B8D/////////////f/z8/BwAAAAA/+///3///7f/P/8/AAAAAP///////////////////wcAAAAAAAAAAP///////x8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8f////////AQAAAAAA////fwAA////BwAAAAAAAP///z//////D/8+AAAAAAD/////////////////////////P/8DAAAAAAAAAAAAAD/9/////7+R//8/AAAAAAAAAAAAAAAAAAAAAAAAAAAA//8/AP///wMAAAAAAAAAAP/////////AAAAAAAAAAABv8O/+//8PAAAAAAD///8fAAAAAAAAAAAAAAAAAAAAAP///////z8A//8/AP//BwAAAAAAAAAAAAAAAAAAAAAA////////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////z8AAADA/wAA/P///////wEAAP///wH/A////////8f/AAAAAAAAAAD//////////x4A/wMAAAAAAAAAAAAAAAAAAAAAAAAAAP///////z8A/wMAAAAAAAD/////////////////fwAAAAAAAAAAAAAAAAAAAAAAAP///////////////wcAAAAAAAAAAAAAAAAAAAAAAAAA//////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////HwD//////38AAPj/AAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////3///////////32Te/+vv/////////7/n39////97X/z9//////////////////////////////////////////////////////8//////f//9/////f//9/////f//9/////f/////3////9///3z////////+////+W/vcKhOqWqpb3917/+/8P7vv/DwAAAAAAAAAATENfQUxMAExDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAExBTkcAQy5VVEYtOABQT1NJWABNVVNMX0xPQ1BBVEgAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBhbG51bQBhbHBoYQBibGFuawBjbnRybABkaWdpdABncmFwaABsb3dlcgBwcmludABwdW5jdABzcGFjZQB1cHBlcgB4ZGlnaXQAQy5VVEYtOAAAAAAAAAAAAEMAL3Byb2Mvc2VsZi9mZC8AcndhAGluZmluaXR5AG5hbgAJAAoADQAMAAcAGwBbWzphbG51bTpdX10AW15bOmFsbnVtOl1fXQBbWzpzcGFjZTpdXQBbXls6c3BhY2U6XV0AW1s6ZGlnaXQ6XV0AW15bOmRpZ2l0Ol1dAC90bXAvdG1wZmlsZV9YWFhYWFgAdys=";var wA=p;function dA(){be()}function hA(){return l||"undefined"!=typeof dateNow||(n||a)&&self.performance&&self.performance.now}p+=16;var gA={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};function ZA(e){return A.___errno_location&&(J[A.___errno_location()>>2]=e),e}function GA(A,e){var i;if(0===A)i=Date.now();else{if(1!==A||!hA())return ZA(gA.EINVAL),-1;i=dA()}return J[e>>2]=i/1e3|0,J[e+4>>2]=i%1e3*1e3*1e3|0,0}var mA={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"},IA={splitPath:function(A){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,e){for(var i=0,r=A.length-1;r>=0;r--){var f=A[r];"."===f?A.splice(r,1):".."===f?(A.splice(r,1),i++):i&&(A.splice(r,1),i--)}if(e)for(;i;i--)A.unshift("..");return A},normalize:function(A){var e="/"===A.charAt(0),i="/"===A.substr(-1);return(A=IA.normalizeArray(A.split("/").filter(function(A){return!!A}),!e).join("/"))||e||(A="."),A&&i&&(A+="/"),(e?"/":"")+A},dirname:function(A){var e=IA.splitPath(A),i=e[0],r=e[1];return i||r?(r&&(r=r.substr(0,r.length-1)),i+r):"."},basename:function(A){if("/"===A)return"/";var e=A.lastIndexOf("/");return-1===e?A:A.substr(e+1)},extname:function(A){return IA.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return IA.normalize(A.join("/"))},join2:function(A,e){return IA.normalize(A+"/"+e)},resolve:function(){for(var A="",e=!1,i=arguments.length-1;i>=-1&&!e;i--){var r=i>=0?arguments[i]:YA.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";A=r+"/"+A,e="/"===r.charAt(0)}return(e?"/":"")+(A=IA.normalizeArray(A.split("/").filter(function(A){return!!A}),!e).join("/"))||"."},relative:function(A,e){function i(A){for(var e=0;e<A.length&&""===A[e];e++);for(var i=A.length-1;i>=0&&""===A[i];i--);return e>i?[]:A.slice(e,i-e+1)}A=IA.resolve(A).substr(1),e=IA.resolve(e).substr(1);for(var r=i(A.split("/")),f=i(e.split("/")),n=Math.min(r.length,f.length),a=n,l=0;l<n;l++)if(r[l]!==f[l]){a=l;break}var t=[];for(l=a;l<r.length;l++)t.push("..");return(t=t.concat(f.slice(a))).join("/")}},CA={ttys:[],init:function(){},shutdown:function(){},register:function(A,e){CA.ttys[A]={input:[],output:[],ops:e},YA.registerDevice(A,CA.stream_ops)},stream_ops:{open:function(A){var e=CA.ttys[A.node.rdev];if(!e)throw new YA.ErrnoError(gA.ENODEV);A.tty=e,A.seekable=!1},close:function(A){A.tty.ops.flush(A.tty)},flush:function(A){A.tty.ops.flush(A.tty)},read:function(A,e,i,r,f){if(!A.tty||!A.tty.ops.get_char)throw new YA.ErrnoError(gA.ENXIO);for(var n=0,a=0;a<r;a++){var l;try{l=A.tty.ops.get_char(A.tty)}catch(A){throw new YA.ErrnoError(gA.EIO)}if(void 0===l&&0===n)throw new YA.ErrnoError(gA.EAGAIN);if(null==l)break;n++,e[i+a]=l}return n&&(A.node.timestamp=Date.now()),n},write:function(A,e,i,r,f){if(!A.tty||!A.tty.ops.put_char)throw new YA.ErrnoError(gA.ENXIO);for(var n=0;n<r;n++)try{A.tty.ops.put_char(A.tty,e[i+n])}catch(A){throw new YA.ErrnoError(gA.EIO)}return r&&(A.node.timestamp=Date.now()),n}},default_tty_ops:{get_char:function(A){if(!A.input.length){var e=null;if(l){var i=Buffer.alloc(256),r=0,f="win32"!=process.platform,n=process.stdin.fd;if(f){var a=!1;try{n=DA.openSync("/dev/stdin","r"),a=!0}catch(A){}}try{r=DA.readSync(n,i,0,256,null)}catch(A){if(-1==A.toString().indexOf("EOF"))throw A;r=0}a&&DA.closeSync(n),e=r>0?i.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;A.input=xA(e,!0)}return A.input.shift()},put_char:function(e,i){null===i||10===i?(A.print(m(e.output,0)),e.output=[]):0!=i&&e.output.push(i)},flush:function(e){e.output&&e.output.length>0&&(A.print(m(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,i){null===i||10===i?(A.printErr(m(e.output,0)),e.output=[]):0!=i&&e.output.push(i)},flush:function(e){e.output&&e.output.length>0&&(A.printErr(m(e.output,0)),e.output=[])}}},MA={ops_table:null,mount:function(A){return MA.createNode(null,"/",16895,0)},createNode:function(A,e,i,r){if(YA.isBlkdev(i)||YA.isFIFO(i))throw new YA.ErrnoError(gA.EPERM);MA.ops_table||(MA.ops_table={dir:{node:{getattr:MA.node_ops.getattr,setattr:MA.node_ops.setattr,lookup:MA.node_ops.lookup,mknod:MA.node_ops.mknod,rename:MA.node_ops.rename,unlink:MA.node_ops.unlink,rmdir:MA.node_ops.rmdir,readdir:MA.node_ops.readdir,symlink:MA.node_ops.symlink},stream:{llseek:MA.stream_ops.llseek}},file:{node:{getattr:MA.node_ops.getattr,setattr:MA.node_ops.setattr},stream:{llseek:MA.stream_ops.llseek,read:MA.stream_ops.read,write:MA.stream_ops.write,allocate:MA.stream_ops.allocate,mmap:MA.stream_ops.mmap,msync:MA.stream_ops.msync}},link:{node:{getattr:MA.node_ops.getattr,setattr:MA.node_ops.setattr,readlink:MA.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MA.node_ops.getattr,setattr:MA.node_ops.setattr},stream:YA.chrdev_stream_ops}});var f=YA.createNode(A,e,i,r);return YA.isDir(f.mode)?(f.node_ops=MA.ops_table.dir.node,f.stream_ops=MA.ops_table.dir.stream,f.contents={}):YA.isFile(f.mode)?(f.node_ops=MA.ops_table.file.node,f.stream_ops=MA.ops_table.file.stream,f.usedBytes=0,f.contents=null):YA.isLink(f.mode)?(f.node_ops=MA.ops_table.link.node,f.stream_ops=MA.ops_table.link.stream):YA.isChrdev(f.mode)&&(f.node_ops=MA.ops_table.chrdev.node,f.stream_ops=MA.ops_table.chrdev.stream),f.timestamp=Date.now(),A&&(A.contents[e]=f),f},getFileDataAsRegularArray:function(A){if(A.contents&&A.contents.subarray){for(var e=[],i=0;i<A.usedBytes;++i)e.push(A.contents[i]);return e}return A.contents},getFileDataAsTypedArray:function(A){return A.contents?A.contents.subarray?A.contents.subarray(0,A.usedBytes):new Uint8Array(A.contents):new Uint8Array},expandFileStorage:function(A,e){if(A.contents&&A.contents.subarray&&e>A.contents.length&&(A.contents=MA.getFileDataAsRegularArray(A),A.usedBytes=A.contents.length),!A.contents||A.contents.subarray){var i=A.contents?A.contents.length:0;if(i>=e)return;e=Math.max(e,i*(i<1048576?2:1.125)|0),0!=i&&(e=Math.max(e,256));var r=A.contents;return A.contents=new Uint8Array(e),void(A.usedBytes>0&&A.contents.set(r.subarray(0,A.usedBytes),0))}for(!A.contents&&e>0&&(A.contents=[]);A.contents.length<e;)A.contents.push(0)},resizeFileStorage:function(A,e){if(A.usedBytes!=e){if(0==e)return A.contents=null,void(A.usedBytes=0);if(!A.contents||A.contents.subarray){var i=A.contents;return A.contents=new Uint8Array(new ArrayBuffer(e)),i&&A.contents.set(i.subarray(0,Math.min(e,A.usedBytes))),void(A.usedBytes=e)}if(A.contents||(A.contents=[]),A.contents.length>e)A.contents.length=e;else for(;A.contents.length<e;)A.contents.push(0);A.usedBytes=e}},node_ops:{getattr:function(A){var e={};return e.dev=YA.isChrdev(A.mode)?A.id:1,e.ino=A.id,e.mode=A.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=A.rdev,YA.isDir(A.mode)?e.size=4096:YA.isFile(A.mode)?e.size=A.usedBytes:YA.isLink(A.mode)?e.size=A.link.length:e.size=0,e.atime=new Date(A.timestamp),e.mtime=new Date(A.timestamp),e.ctime=new Date(A.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(A,e){void 0!==e.mode&&(A.mode=e.mode),void 0!==e.timestamp&&(A.timestamp=e.timestamp),void 0!==e.size&&MA.resizeFileStorage(A,e.size)},lookup:function(A,e){throw YA.genericErrors[gA.ENOENT]},mknod:function(A,e,i,r){return MA.createNode(A,e,i,r)},rename:function(A,e,i){if(YA.isDir(A.mode)){var r;try{r=YA.lookupNode(e,i)}catch(A){}if(r)for(var f in r.contents)throw new YA.ErrnoError(gA.ENOTEMPTY)}delete A.parent.contents[A.name],A.name=i,e.contents[i]=A,A.parent=e},unlink:function(A,e){delete A.contents[e]},rmdir:function(A,e){var i=YA.lookupNode(A,e);for(var r in i.contents)throw new YA.ErrnoError(gA.ENOTEMPTY);delete A.contents[e]},readdir:function(A){var e=[".",".."];for(var i in A.contents)A.contents.hasOwnProperty(i)&&e.push(i);return e},symlink:function(A,e,i){var r=MA.createNode(A,e,41471,0);return r.link=i,r},readlink:function(A){if(!YA.isLink(A.mode))throw new YA.ErrnoError(gA.EINVAL);return A.link}},stream_ops:{read:function(A,e,i,r,f){var n=A.node.contents;if(f>=A.node.usedBytes)return 0;var a=Math.min(A.node.usedBytes-f,r);if(B(a>=0),a>8&&n.subarray)e.set(n.subarray(f,f+a),i);else for(var l=0;l<a;l++)e[i+l]=n[f+l];return a},write:function(A,e,i,r,f,n){if(!r)return 0;var a=A.node;if(a.timestamp=Date.now(),e.subarray&&(!a.contents||a.contents.subarray)){if(n)return a.contents=e.subarray(i,i+r),a.usedBytes=r,r;if(0===a.usedBytes&&0===f)return a.contents=new Uint8Array(e.subarray(i,i+r)),a.usedBytes=r,r;if(f+r<=a.usedBytes)return a.contents.set(e.subarray(i,i+r),f),r}if(MA.expandFileStorage(a,f+r),a.contents.subarray&&e.subarray)a.contents.set(e.subarray(i,i+r),f);else for(var l=0;l<r;l++)a.contents[f+l]=e[i+l];return a.usedBytes=Math.max(a.usedBytes,f+r),r},llseek:function(A,e,i){var r=e;if(1===i?r+=A.position:2===i&&YA.isFile(A.node.mode)&&(r+=A.node.usedBytes),r<0)throw new YA.ErrnoError(gA.EINVAL);return r},allocate:function(A,e,i){MA.expandFileStorage(A.node,e+i),A.node.usedBytes=Math.max(A.node.usedBytes,e+i)},mmap:function(A,e,i,r,f,n,a){if(!YA.isFile(A.node.mode))throw new YA.ErrnoError(gA.ENODEV);var l,t,c=A.node.contents;if(2&a||c.buffer!==e&&c.buffer!==e.buffer){if((f>0||f+r<A.node.usedBytes)&&(c=c.subarray?c.subarray(f,f+r):Array.prototype.slice.call(c,f,f+r)),t=!0,!(l=qA(r)))throw new YA.ErrnoError(gA.ENOMEM);e.set(c,l)}else t=!1,l=c.byteOffset;return{ptr:l,allocated:t}},msync:function(A,e,i,r,f){if(!YA.isFile(A.node.mode))throw new YA.ErrnoError(gA.ENODEV);if(2&f)return 0;MA.stream_ops.write(A,e,0,r,i,!1);return 0}}},QA={dbs:{},indexedDB:function(){if("undefined"!=typeof indexedDB)return indexedDB;var A=null;return"object"==typeof window&&(A=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB),B(A,"IDBFS used, but indexedDB not supported"),A},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(A){return MA.mount.apply(null,arguments)},syncfs:function(A,e,i){QA.getLocalSet(A,function(r,f){if(r)return i(r);QA.getRemoteSet(A,function(A,r){if(A)return i(A);var n=e?r:f,a=e?f:r;QA.reconcile(n,a,i)})})},getDB:function(A,e){var i,r=QA.dbs[A];if(r)return e(null,r);try{i=QA.indexedDB().open(A,QA.DB_VERSION)}catch(A){return e(A)}if(!i)return e("Unable to connect to IndexedDB");i.onupgradeneeded=function(A){var e,i=A.target.result,r=A.target.transaction;(e=i.objectStoreNames.contains(QA.DB_STORE_NAME)?r.objectStore(QA.DB_STORE_NAME):i.createObjectStore(QA.DB_STORE_NAME)).indexNames.contains("timestamp")||e.createIndex("timestamp","timestamp",{unique:!1})},i.onsuccess=function(){r=i.result,QA.dbs[A]=r,e(null,r)},i.onerror=function(A){e(this.error),A.preventDefault()}},getLocalSet:function(A,e){var i={};function r(A){return"."!==A&&".."!==A}function f(A){return function(e){return IA.join2(A,e)}}for(var n=YA.readdir(A.mountpoint).filter(r).map(f(A.mountpoint));n.length;){var a,l=n.pop();try{a=YA.stat(l)}catch(A){return e(A)}YA.isDir(a.mode)&&n.push.apply(n,YA.readdir(l).filter(r).map(f(l))),i[l]={timestamp:a.mtime}}return e(null,{type:"local",entries:i})},getRemoteSet:function(A,e){var i={};QA.getDB(A.mountpoint,function(A,r){if(A)return e(A);try{var f=r.transaction([QA.DB_STORE_NAME],"readonly");f.onerror=function(A){e(this.error),A.preventDefault()},f.objectStore(QA.DB_STORE_NAME).index("timestamp").openKeyCursor().onsuccess=function(A){var f=A.target.result;if(!f)return e(null,{type:"remote",db:r,entries:i});i[f.primaryKey]={timestamp:f.key},f.continue()}}catch(A){return e(A)}})},loadLocalEntry:function(A,e){var i,r;try{r=YA.lookupPath(A).node,i=YA.stat(A)}catch(A){return e(A)}return YA.isDir(i.mode)?e(null,{timestamp:i.mtime,mode:i.mode}):YA.isFile(i.mode)?(r.contents=MA.getFileDataAsTypedArray(r),e(null,{timestamp:i.mtime,mode:i.mode,contents:r.contents})):e(new Error("node type not supported"))},storeLocalEntry:function(A,e,i){try{if(YA.isDir(e.mode))YA.mkdir(A,e.mode);else{if(!YA.isFile(e.mode))return i(new Error("node type not supported"));YA.writeFile(A,e.contents,{canOwn:!0})}YA.chmod(A,e.mode),YA.utime(A,e.timestamp,e.timestamp)}catch(A){return i(A)}i(null)},removeLocalEntry:function(A,e){try{YA.lookupPath(A);var i=YA.stat(A);YA.isDir(i.mode)?YA.rmdir(A):YA.isFile(i.mode)&&YA.unlink(A)}catch(A){return e(A)}e(null)},loadRemoteEntry:function(A,e,i){var r=A.get(e);r.onsuccess=function(A){i(null,A.target.result)},r.onerror=function(A){i(this.error),A.preventDefault()}},storeRemoteEntry:function(A,e,i,r){var f=A.put(i,e);f.onsuccess=function(){r(null)},f.onerror=function(A){r(this.error),A.preventDefault()}},removeRemoteEntry:function(A,e,i){var r=A.delete(e);r.onsuccess=function(){i(null)},r.onerror=function(A){i(this.error),A.preventDefault()}},reconcile:function(A,e,i){var r=0,f=[];Object.keys(A.entries).forEach(function(i){var n=A.entries[i],a=e.entries[i];(!a||n.timestamp>a.timestamp)&&(f.push(i),r++)});var n=[];if(Object.keys(e.entries).forEach(function(i){e.entries[i];A.entries[i]||(n.push(i),r++)}),!r)return i(null);var a=0,l=("remote"===A.type?A.db:e.db).transaction([QA.DB_STORE_NAME],"readwrite"),t=l.objectStore(QA.DB_STORE_NAME);function c(A){return A?c.errored?void 0:(c.errored=!0,i(A)):++a>=r?i(null):void 0}l.onerror=function(A){c(this.error),A.preventDefault()},f.sort().forEach(function(A){"local"===e.type?QA.loadRemoteEntry(t,A,function(e,i){if(e)return c(e);QA.storeLocalEntry(A,i,c)}):QA.loadLocalEntry(A,function(e,i){if(e)return c(e);QA.storeRemoteEntry(t,A,i,c)})}),n.sort().reverse().forEach(function(A){"local"===e.type?QA.removeLocalEntry(A,c):QA.removeRemoteEntry(t,A,c)})}},EA={isWindows:!1,staticInit:function(){EA.isWindows=!!process.platform.match(/^win/);var A=process.binding("constants");A.fs&&(A=A.fs),EA.flagsForNodeMap={1024:A.O_APPEND,64:A.O_CREAT,128:A.O_EXCL,0:A.O_RDONLY,2:A.O_RDWR,4096:A.O_SYNC,512:A.O_TRUNC,1:A.O_WRONLY}},bufferFrom:function(A){return Buffer.alloc?Buffer.from(A):Buffer.alloc(A)},mount:function(A){return B(l),EA.createNode(null,"/",EA.getMode(A.opts.root),0)},createNode:function(A,e,i,r){if(!YA.isDir(i)&&!YA.isFile(i)&&!YA.isLink(i))throw new YA.ErrnoError(gA.EINVAL);var f=YA.createNode(A,e,i);return f.node_ops=EA.node_ops,f.stream_ops=EA.stream_ops,f},getMode:function(A){var e;try{e=DA.lstatSync(A),EA.isWindows&&(e.mode=e.mode|(292&e.mode)>>2)}catch(A){if(!A.code)throw A;throw new YA.ErrnoError(gA[A.code])}return e.mode},realPath:function(A){for(var e=[];A.parent!==A;)e.push(A.name),A=A.parent;return e.push(A.mount.opts.root),e.reverse(),IA.join.apply(null,e)},flagsForNode:function(A){A&=-2097153,A&=-2049,A&=-32769,A&=-524289;var e=0;for(var i in EA.flagsForNodeMap)A&i&&(e|=EA.flagsForNodeMap[i],A^=i);if(A)throw new YA.ErrnoError(gA.EINVAL);return e},node_ops:{getattr:function(A){var e,i=EA.realPath(A);try{e=DA.lstatSync(i)}catch(A){if(!A.code)throw A;throw new YA.ErrnoError(gA[A.code])}return EA.isWindows&&!e.blksize&&(e.blksize=4096),EA.isWindows&&!e.blocks&&(e.blocks=(e.size+e.blksize-1)/e.blksize|0),{dev:e.dev,ino:e.ino,mode:e.mode,nlink:e.nlink,uid:e.uid,gid:e.gid,rdev:e.rdev,size:e.size,atime:e.atime,mtime:e.mtime,ctime:e.ctime,blksize:e.blksize,blocks:e.blocks}},setattr:function(A,e){var i=EA.realPath(A);try{if(void 0!==e.mode&&(DA.chmodSync(i,e.mode),A.mode=e.mode),void 0!==e.timestamp){var r=new Date(e.timestamp);DA.utimesSync(i,r,r)}void 0!==e.size&&DA.truncateSync(i,e.size)}catch(A){if(!A.code)throw A;throw new YA.ErrnoError(gA[A.code])}},lookup:function(A,e){var i=IA.join2(EA.realPath(A),e),r=EA.getMode(i);return EA.createNode(A,e,r)},mknod:function(A,e,i,r){var f=EA.createNode(A,e,i,r),n=EA.realPath(f);try{YA.isDir(f.mode)?DA.mkdirSync(n,f.mode):DA.writeFileSync(n,"",{mode:f.mode})}catch(A){if(!A.code)throw A;throw new YA.ErrnoError(gA[A.code])}return f},rename:function(A,e,i){var r=EA.realPath(A),f=IA.join2(EA.realPath(e),i);try{DA.renameSync(r,f)}catch(A){if(!A.code)throw A;throw new YA.ErrnoError(gA[A.code])}},unlink:function(A,e){var i=IA.join2(EA.realPath(A),e);try{DA.unlinkSync(i)}catch(A){if(!A.code)throw A;throw new YA.ErrnoError(gA[A.code])}},rmdir:function(A,e){var i=IA.join2(EA.realPath(A),e);try{DA.rmdirSync(i)}catch(A){if(!A.code)throw A;throw new YA.ErrnoError(gA[A.code])}},readdir:function(A){var e=EA.realPath(A);try{return DA.readdirSync(e)}catch(A){if(!A.code)throw A;throw new YA.ErrnoError(gA[A.code])}},symlink:function(A,e,i){var r=IA.join2(EA.realPath(A),e);try{DA.symlinkSync(i,r)}catch(A){if(!A.code)throw A;throw new YA.ErrnoError(gA[A.code])}},readlink:function(A){var e=EA.realPath(A);try{return e=DA.readlinkSync(e),e=XA.relative(XA.resolve(A.mount.opts.root),e)}catch(A){if(!A.code)throw A;throw new YA.ErrnoError(gA[A.code])}}},stream_ops:{open:function(A){var e=EA.realPath(A.node);try{YA.isFile(A.node.mode)&&(A.nfd=DA.openSync(e,EA.flagsForNode(A.flags)))}catch(A){if(!A.code)throw A;throw new YA.ErrnoError(gA[A.code])}},close:function(A){try{YA.isFile(A.node.mode)&&A.nfd&&DA.closeSync(A.nfd)}catch(A){if(!A.code)throw A;throw new YA.ErrnoError(gA[A.code])}},read:function(A,e,i,r,f){if(0===r)return 0;try{return DA.readSync(A.nfd,EA.bufferFrom(e.buffer),i,r,f)}catch(A){throw new YA.ErrnoError(gA[A.code])}},write:function(A,e,i,r,f){try{return DA.writeSync(A.nfd,EA.bufferFrom(e.buffer),i,r,f)}catch(A){throw new YA.ErrnoError(gA[A.code])}},llseek:function(A,e,i){var r=e;if(1===i)r+=A.position;else if(2===i&&YA.isFile(A.node.mode))try{r+=DA.fstatSync(A.nfd).size}catch(A){throw new YA.ErrnoError(gA[A.code])}if(r<0)throw new YA.ErrnoError(gA.EINVAL);return r}}},yA={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(A){B(a),yA.reader||(yA.reader=new FileReaderSync);var e=yA.createNode(null,"/",yA.DIR_MODE,0),i={};function r(A){for(var r=A.split("/"),f=e,n=0;n<r.length-1;n++){var a=r.slice(0,n+1).join("/");i[a]||(i[a]=yA.createNode(f,r[n],yA.DIR_MODE,0)),f=i[a]}return f}function f(A){var e=A.split("/");return e[e.length-1]}return Array.prototype.forEach.call(A.opts.files||[],function(A){yA.createNode(r(A.name),f(A.name),yA.FILE_MODE,0,A,A.lastModifiedDate)}),(A.opts.blobs||[]).forEach(function(A){yA.createNode(r(A.name),f(A.name),yA.FILE_MODE,0,A.data)}),(A.opts.packages||[]).forEach(function(A){A.metadata.files.forEach(function(e){var i=e.filename.substr(1);yA.createNode(r(i),f(i),yA.FILE_MODE,0,A.blob.slice(e.start,e.end))})}),e},createNode:function(A,e,i,r,f,n){var a=YA.createNode(A,e,i);return a.mode=i,a.node_ops=yA.node_ops,a.stream_ops=yA.stream_ops,a.timestamp=(n||new Date).getTime(),B(yA.FILE_MODE!==yA.DIR_MODE),i===yA.FILE_MODE?(a.size=f.size,a.contents=f):(a.size=4096,a.contents={}),A&&(A.contents[e]=a),a},node_ops:{getattr:function(A){return{dev:1,ino:void 0,mode:A.mode,nlink:1,uid:0,gid:0,rdev:void 0,size:A.size,atime:new Date(A.timestamp),mtime:new Date(A.timestamp),ctime:new Date(A.timestamp),blksize:4096,blocks:Math.ceil(A.size/4096)}},setattr:function(A,e){void 0!==e.mode&&(A.mode=e.mode),void 0!==e.timestamp&&(A.timestamp=e.timestamp)},lookup:function(A,e){throw new YA.ErrnoError(gA.ENOENT)},mknod:function(A,e,i,r){throw new YA.ErrnoError(gA.EPERM)},rename:function(A,e,i){throw new YA.ErrnoError(gA.EPERM)},unlink:function(A,e){throw new YA.ErrnoError(gA.EPERM)},rmdir:function(A,e){throw new YA.ErrnoError(gA.EPERM)},readdir:function(A){var e=[".",".."];for(var i in A.contents)A.contents.hasOwnProperty(i)&&e.push(i);return e},symlink:function(A,e,i){throw new YA.ErrnoError(gA.EPERM)},readlink:function(A){throw new YA.ErrnoError(gA.EPERM)}},stream_ops:{read:function(A,e,i,r,f){if(f>=A.node.size)return 0;var n=A.node.contents.slice(f,f+r),a=yA.reader.readAsArrayBuffer(n);return e.set(new Uint8Array(a),i),n.size},write:function(A,e,i,r,f){throw new YA.ErrnoError(gA.EIO)},llseek:function(A,e,i){var r=e;if(1===i?r+=A.position:2===i&&YA.isFile(A.node.mode)&&(r+=A.node.size),r<0)throw new YA.ErrnoError(gA.EINVAL);return r}}};p+=16,p+=16,p+=16;var YA={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(A){if(!(A instanceof YA.ErrnoError))throw A+" : "+E();return ZA(A.errno)},lookupPath:function(A,e){if(e=e||{},!(A=IA.resolve(YA.cwd(),A)))return{path:"",node:null};var i={follow_mount:!0,recurse_count:0};for(var r in i)void 0===e[r]&&(e[r]=i[r]);if(e.recurse_count>8)throw new YA.ErrnoError(gA.ELOOP);for(var f=IA.normalizeArray(A.split("/").filter(function(A){return!!A}),!1),n=YA.root,a="/",l=0;l<f.length;l++){var t=l===f.length-1;if(t&&e.parent)break;if(n=YA.lookupNode(n,f[l]),a=IA.join2(a,f[l]),YA.isMountpoint(n)&&(!t||t&&e.follow_mount)&&(n=n.mounted.root),!t||e.follow)for(var c=0;YA.isLink(n.mode);){var s=YA.readlink(a);if(a=IA.resolve(IA.dirname(a),s),n=YA.lookupPath(a,{recurse_count:e.recurse_count}).node,c++>40)throw new YA.ErrnoError(gA.ELOOP)}}return{path:a,node:n}},getPath:function(A){for(var e;;){if(YA.isRoot(A)){var i=A.mount.mountpoint;return e?"/"!==i[i.length-1]?i+"/"+e:i+e:i}e=e?A.name+"/"+e:A.name,A=A.parent}},hashName:function(A,e){for(var i=0,r=0;r<e.length;r++)i=(i<<5)-i+e.charCodeAt(r)|0;return(A+i>>>0)%YA.nameTable.length},hashAddNode:function(A){var e=YA.hashName(A.parent.id,A.name);A.name_next=YA.nameTable[e],YA.nameTable[e]=A},hashRemoveNode:function(A){var e=YA.hashName(A.parent.id,A.name);if(YA.nameTable[e]===A)YA.nameTable[e]=A.name_next;else for(var i=YA.nameTable[e];i;){if(i.name_next===A){i.name_next=A.name_next;break}i=i.name_next}},lookupNode:function(A,e){var i=YA.mayLookup(A);if(i)throw new YA.ErrnoError(i,A);for(var r=YA.hashName(A.id,e),f=YA.nameTable[r];f;f=f.name_next){var n=f.name;if(f.parent.id===A.id&&n===e)return f}return YA.lookup(A,e)},createNode:function(A,e,i,r){if(!YA.FSNode){YA.FSNode=function(A,e,i,r){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=YA.nextInode++,this.name=e,this.mode=i,this.node_ops={},this.stream_ops={},this.rdev=r},YA.FSNode.prototype={};Object.defineProperties(YA.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(A){A?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(A){A?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return YA.isDir(this.mode)}},isDevice:{get:function(){return YA.isChrdev(this.mode)}}})}var f=new YA.FSNode(A,e,i,r);return YA.hashAddNode(f),f},destroyNode:function(A){YA.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},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(A){var e=YA.flagModes[A];if(void 0===e)throw new Error("Unknown file open mode: "+A);return e},flagsToPermissionString:function(A){var e=["r","w","rw"][3&A];return 512&A&&(e+="w"),e},nodePermissions:function(A,e){return YA.ignorePermissions?0:(-1===e.indexOf("r")||292&A.mode)&&(-1===e.indexOf("w")||146&A.mode)&&(-1===e.indexOf("x")||73&A.mode)?0:gA.EACCES},mayLookup:function(A){var e=YA.nodePermissions(A,"x");return e||(A.node_ops.lookup?0:gA.EACCES)},mayCreate:function(A,e){try{YA.lookupNode(A,e);return gA.EEXIST}catch(A){}return YA.nodePermissions(A,"wx")},mayDelete:function(A,e,i){var r;try{r=YA.lookupNode(A,e)}catch(A){return A.errno}var f=YA.nodePermissions(A,"wx");if(f)return f;if(i){if(!YA.isDir(r.mode))return gA.ENOTDIR;if(YA.isRoot(r)||YA.getPath(r)===YA.cwd())return gA.EBUSY}else if(YA.isDir(r.mode))return gA.EISDIR;return 0},mayOpen:function(A,e){return A?YA.isLink(A.mode)?gA.ELOOP:YA.isDir(A.mode)&&("r"!==YA.flagsToPermissionString(e)||512&e)?gA.EISDIR:YA.nodePermissions(A,YA.flagsToPermissionString(e)):gA.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(A,e){A=A||0,e=e||YA.MAX_OPEN_FDS;for(var i=A;i<=e;i++)if(!YA.streams[i])return i;throw new YA.ErrnoError(gA.EMFILE)},getStream:function(A){return YA.streams[A]},createStream:function(A,e,i){YA.FSStream||(YA.FSStream=function(){},YA.FSStream.prototype={},Object.defineProperties(YA.FSStream.prototype,{object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var r=new YA.FSStream;for(var f in A)r[f]=A[f];A=r;var n=YA.nextfd(e,i);return A.fd=n,YA.streams[n]=A,A},closeStream:function(A){YA.streams[A]=null},chrdev_stream_ops:{open:function(A){var e=YA.getDevice(A.node.rdev);A.stream_ops=e.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new YA.ErrnoError(gA.ESPIPE)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,e){return A<<8|e},registerDevice:function(A,e){YA.devices[A]={stream_ops:e}},getDevice:function(A){return YA.devices[A]},getMounts:function(A){for(var e=[],i=[A];i.length;){var r=i.pop();e.push(r),i.push.apply(i,r.mounts)}return e},syncfs:function(A,e){"function"==typeof A&&(e=A,A=!1),YA.syncFSRequests++,YA.syncFSRequests>1&&console.log("warning: "+YA.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var i=YA.getMounts(YA.root.mount),r=0;function f(A){return B(YA.syncFSRequests>0),YA.syncFSRequests--,e(A)}function n(A){if(A)return n.errored?void 0:(n.errored=!0,f(A));++r>=i.length&&f(null)}i.forEach(function(e){if(!e.type.syncfs)return n(null);e.type.syncfs(e,A,n)})},mount:function(A,e,i){var r,f="/"===i,n=!i;if(f&&YA.root)throw new YA.ErrnoError(gA.EBUSY);if(!f&&!n){var a=YA.lookupPath(i,{follow_mount:!1});if(i=a.path,r=a.node,YA.isMountpoint(r))throw new YA.ErrnoError(gA.EBUSY);if(!YA.isDir(r.mode))throw new YA.ErrnoError(gA.ENOTDIR)}var l={type:A,opts:e,mountpoint:i,mounts:[]},t=A.mount(l);return t.mount=l,l.root=t,f?YA.root=t:r&&(r.mounted=l,r.mount&&r.mount.mounts.push(l)),t},unmount:function(A){var e=YA.lookupPath(A,{follow_mount:!1});if(!YA.isMountpoint(e.node))throw new YA.ErrnoError(gA.EINVAL);var i=e.node,r=i.mounted,f=YA.getMounts(r);Object.keys(YA.nameTable).forEach(function(A){for(var e=YA.nameTable[A];e;){var i=e.name_next;-1!==f.indexOf(e.mount)&&YA.destroyNode(e),e=i}}),i.mounted=null;var n=i.mount.mounts.indexOf(r);B(-1!==n),i.mount.mounts.splice(n,1)},lookup:function(A,e){return A.node_ops.lookup(A,e)},mknod:function(A,e,i){var r=YA.lookupPath(A,{parent:!0}).node,f=IA.basename(A);if(!f||"."===f||".."===f)throw new YA.ErrnoError(gA.EINVAL);var n=YA.mayCreate(r,f);if(n)throw new YA.ErrnoError(n);if(!r.node_ops.mknod)throw new YA.ErrnoError(gA.EPERM);return r.node_ops.mknod(r,f,e,i)},create:function(A,e){return e=void 0!==e?e:438,e&=4095,e|=32768,YA.mknod(A,e,0)},mkdir:function(A,e){return e=void 0!==e?e:511,e&=1023,e|=16384,YA.mknod(A,e,0)},mkdirTree:function(A,e){for(var i=A.split("/"),r="",f=0;f<i.length;++f)if(i[f]){r+="/"+i[f];try{YA.mkdir(r,e)}catch(A){if(A.errno!=gA.EEXIST)throw A}}},mkdev:function(A,e,i){return void 0===i&&(i=e,e=438),e|=8192,YA.mknod(A,e,i)},symlink:function(A,e){if(!IA.resolve(A))throw new YA.ErrnoError(gA.ENOENT);var i=YA.lookupPath(e,{parent:!0}).node;if(!i)throw new YA.ErrnoError(gA.ENOENT);var r=IA.basename(e),f=YA.mayCreate(i,r);if(f)throw new YA.ErrnoError(f);if(!i.node_ops.symlink)throw new YA.ErrnoError(gA.EPERM);return i.node_ops.symlink(i,r,A)},rename:function(A,e){var i,r,f=IA.dirname(A),n=IA.dirname(e),a=IA.basename(A),l=IA.basename(e);try{i=YA.lookupPath(A,{parent:!0}).node,r=YA.lookupPath(e,{parent:!0}).node}catch(A){throw new YA.ErrnoError(gA.EBUSY)}if(!i||!r)throw new YA.ErrnoError(gA.ENOENT);if(i.mount!==r.mount)throw new YA.ErrnoError(gA.EXDEV);var t,c=YA.lookupNode(i,a),s=IA.relative(A,n);if("."!==s.charAt(0))throw new YA.ErrnoError(gA.EINVAL);if("."!==(s=IA.relative(e,f)).charAt(0))throw new YA.ErrnoError(gA.ENOTEMPTY);try{t=YA.lookupNode(r,l)}catch(A){}if(c!==t){var b=YA.isDir(c.mode),o=YA.mayDelete(i,a,b);if(o)throw new YA.ErrnoError(o);if(o=t?YA.mayDelete(r,l,b):YA.mayCreate(r,l))throw new YA.ErrnoError(o);if(!i.node_ops.rename)throw new YA.ErrnoError(gA.EPERM);if(YA.isMountpoint(c)||t&&YA.isMountpoint(t))throw new YA.ErrnoError(gA.EBUSY);if(r!==i&&(o=YA.nodePermissions(i,"w")))throw new YA.ErrnoError(o);try{YA.trackingDelegate.willMovePath&&YA.trackingDelegate.willMovePath(A,e)}catch(i){console.log("FS.trackingDelegate['willMovePath']('"+A+"', '"+e+"') threw an exception: "+i.message)}YA.hashRemoveNode(c);try{i.node_ops.rename(c,r,l)}catch(A){throw A}finally{YA.hashAddNode(c)}try{YA.trackingDelegate.onMovePath&&YA.trackingDelegate.onMovePath(A,e)}catch(i){console.log("FS.trackingDelegate['onMovePath']('"+A+"', '"+e+"') threw an exception: "+i.message)}}},rmdir:function(A){var e=YA.lookupPath(A,{parent:!0}).node,i=IA.basename(A),r=YA.lookupNode(e,i),f=YA.mayDelete(e,i,!0);if(f)throw new YA.ErrnoError(f);if(!e.node_ops.rmdir)throw new YA.ErrnoError(gA.EPERM);if(YA.isMountpoint(r))throw new YA.ErrnoError(gA.EBUSY);try{YA.trackingDelegate.willDeletePath&&YA.trackingDelegate.willDeletePath(A)}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+A+"') threw an exception: "+e.message)}e.node_ops.rmdir(e,i),YA.destroyNode(r);try{YA.trackingDelegate.onDeletePath&&YA.trackingDelegate.onDeletePath(A)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+A+"') threw an exception: "+e.message)}},readdir:function(A){var e=YA.lookupPath(A,{follow:!0}).node;if(!e.node_ops.readdir)throw new YA.ErrnoError(gA.ENOTDIR);return e.node_ops.readdir(e)},unlink:function(A){var e=YA.lookupPath(A,{parent:!0}).node,i=IA.basename(A),r=YA.lookupNode(e,i),f=YA.mayDelete(e,i,!1);if(f)throw new YA.ErrnoError(f);if(!e.node_ops.unlink)throw new YA.ErrnoError(gA.EPERM);if(YA.isMountpoint(r))throw new YA.ErrnoError(gA.EBUSY);try{YA.trackingDelegate.willDeletePath&&YA.trackingDelegate.willDeletePath(A)}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+A+"') threw an exception: "+e.message)}e.node_ops.unlink(e,i),YA.destroyNode(r);try{YA.trackingDelegate.onDeletePath&&YA.trackingDelegate.onDeletePath(A)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+A+"') threw an exception: "+e.message)}},readlink:function(A){var e=YA.lookupPath(A).node;if(!e)throw new YA.ErrnoError(gA.ENOENT);if(!e.node_ops.readlink)throw new YA.ErrnoError(gA.EINVAL);return IA.resolve(YA.getPath(e.parent),e.node_ops.readlink(e))},stat:function(A,e){var i=YA.lookupPath(A,{follow:!e}).node;if(!i)throw new YA.ErrnoError(gA.ENOENT);if(!i.node_ops.getattr)throw new YA.ErrnoError(gA.EPERM);return i.node_ops.getattr(i)},lstat:function(A){return YA.stat(A,!0)},chmod:function(A,e,i){var r;"string"==typeof A?r=YA.lookupPath(A,{follow:!i}).node:r=A;if(!r.node_ops.setattr)throw new YA.ErrnoError(gA.EPERM);r.node_ops.setattr(r,{mode:4095&e|-4096&r.mode,timestamp:Date.now()})},lchmod:function(A,e){YA.chmod(A,e,!0)},fchmod:function(A,e){var i=YA.getStream(A);if(!i)throw new YA.ErrnoError(gA.EBADF);YA.chmod(i.node,e)},chown:function(A,e,i,r){var f;"string"==typeof A?f=YA.lookupPath(A,{follow:!r}).node:f=A;if(!f.node_ops.setattr)throw new YA.ErrnoError(gA.EPERM);f.node_ops.setattr(f,{timestamp:Date.now()})},lchown:function(A,e,i){YA.chown(A,e,i,!0)},fchown:function(A,e,i){var r=YA.getStream(A);if(!r)throw new YA.ErrnoError(gA.EBADF);YA.chown(r.node,e,i)},truncate:function(A,e){if(e<0)throw new YA.ErrnoError(gA.EINVAL);var i;"string"==typeof A?i=YA.lookupPath(A,{follow:!0}).node:i=A;if(!i.node_ops.setattr)throw new YA.ErrnoError(gA.EPERM);if(YA.isDir(i.mode))throw new YA.ErrnoError(gA.EISDIR);if(!YA.isFile(i.mode))throw new YA.ErrnoError(gA.EINVAL);var r=YA.nodePermissions(i,"w");if(r)throw new YA.ErrnoError(r);i.node_ops.setattr(i,{size:e,timestamp:Date.now()})},ftruncate:function(A,e){var i=YA.getStream(A);if(!i)throw new YA.ErrnoError(gA.EBADF);if(0==(2097155&i.flags))throw new YA.ErrnoError(gA.EINVAL);YA.truncate(i.node,e)},utime:function(A,e,i){var r=YA.lookupPath(A,{follow:!0}).node;r.node_ops.setattr(r,{timestamp:Math.max(e,i)})},open:function(e,i,r,f,n){if(""===e)throw new YA.ErrnoError(gA.ENOENT);var a;if(r=void 0===r?438:r,r=64&(i="string"==typeof i?YA.modeStringToFlags(i):i)?4095&r|32768:0,"object"==typeof e)a=e;else{e=IA.normalize(e);try{a=YA.lookupPath(e,{follow:!(131072&i)}).node}catch(A){}}var l=!1;if(64&i)if(a){if(128&i)throw new YA.ErrnoError(gA.EEXIST)}else a=YA.mknod(e,r,0),l=!0;if(!a)throw new YA.ErrnoError(gA.ENOENT);if(YA.isChrdev(a.mode)&&(i&=-513),65536&i&&!YA.isDir(a.mode))throw new YA.ErrnoError(gA.ENOTDIR);if(!l){var t=YA.mayOpen(a,i);if(t)throw new YA.ErrnoError(t)}512&i&&YA.truncate(a,0),i&=-641;var c=YA.createStream({node:a,path:YA.getPath(a),flags:i,seekable:!0,position:0,stream_ops:a.stream_ops,ungotten:[],error:!1},f,n);c.stream_ops.open&&c.stream_ops.open(c),!A.logReadFiles||1&i||(YA.readFiles||(YA.readFiles={}),e in YA.readFiles||(YA.readFiles[e]=1,A.printErr("read file: "+e)));try{if(YA.trackingDelegate.onOpenFile){var s=0;1!=(2097155&i)&&(s|=YA.tracking.openFlags.READ),0!=(2097155&i)&&(s|=YA.tracking.openFlags.WRITE),YA.trackingDelegate.onOpenFile(e,s)}}catch(A){console.log("FS.trackingDelegate['onOpenFile']('"+e+"', flags) threw an exception: "+A.message)}return c},close:function(A){A.getdents&&(A.getdents=null);try{A.stream_ops.close&&A.stream_ops.close(A)}catch(A){throw A}finally{YA.closeStream(A.fd)}},llseek:function(A,e,i){if(!A.seekable||!A.stream_ops.llseek)throw new YA.ErrnoError(gA.ESPIPE);return A.position=A.stream_ops.llseek(A,e,i),A.ungotten=[],A.position},read:function(A,e,i,r,f){if(r<0||f<0)throw new YA.ErrnoError(gA.EINVAL);if(1==(2097155&A.flags))throw new YA.ErrnoError(gA.EBADF);if(YA.isDir(A.node.mode))throw new YA.ErrnoError(gA.EISDIR);if(!A.stream_ops.read)throw new YA.ErrnoError(gA.EINVAL);var n=void 0!==f;if(n){if(!A.seekable)throw new YA.ErrnoError(gA.ESPIPE)}else f=A.position;var a=A.stream_ops.read(A,e,i,r,f);return n||(A.position+=a),a},write:function(A,e,i,r,f,n){if(r<0||f<0)throw new YA.ErrnoError(gA.EINVAL);if(0==(2097155&A.flags))throw new YA.ErrnoError(gA.EBADF);if(YA.isDir(A.node.mode))throw new YA.ErrnoError(gA.EISDIR);if(!A.stream_ops.write)throw new YA.ErrnoError(gA.EINVAL);1024&A.flags&&YA.llseek(A,0,2);var a=void 0!==f;if(a){if(!A.seekable)throw new YA.ErrnoError(gA.ESPIPE)}else f=A.position;var l=A.stream_ops.write(A,e,i,r,f,n);a||(A.position+=l);try{A.path&&YA.trackingDelegate.onWriteToFile&&YA.trackingDelegate.onWriteToFile(A.path)}catch(A){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+A.message)}return l},allocate:function(A,e,i){if(e<0||i<=0)throw new YA.ErrnoError(gA.EINVAL);if(0==(2097155&A.flags))throw new YA.ErrnoError(gA.EBADF);if(!YA.isFile(A.node.mode)&&!YA.isDir(A.node.mode))throw new YA.ErrnoError(gA.ENODEV);if(!A.stream_ops.allocate)throw new YA.ErrnoError(gA.EOPNOTSUPP);A.stream_ops.allocate(A,e,i)},mmap:function(A,e,i,r,f,n,a){if(1==(2097155&A.flags))throw new YA.ErrnoError(gA.EACCES);if(!A.stream_ops.mmap)throw new YA.ErrnoError(gA.ENODEV);return A.stream_ops.mmap(A,e,i,r,f,n,a)},msync:function(A,e,i,r,f){return A&&A.stream_ops.msync?A.stream_ops.msync(A,e,i,r,f):0},munmap:function(A){return 0},ioctl:function(A,e,i){if(!A.stream_ops.ioctl)throw new YA.ErrnoError(gA.ENOTTY);return A.stream_ops.ioctl(A,e,i)},readFile:function(A,e){if((e=e||{}).flags=e.flags||"r",e.encoding=e.encoding||"binary","utf8"!==e.encoding&&"binary"!==e.encoding)throw new Error('Invalid encoding type "'+e.encoding+'"');var i,r=YA.open(A,e.flags),f=YA.stat(A).size,n=new Uint8Array(f);return YA.read(r,n,0,f,0),"utf8"===e.encoding?i=m(n,0):"binary"===e.encoding&&(i=n),YA.close(r),i},writeFile:function(A,e,i){(i=i||{}).flags=i.flags||"w";var r=YA.open(A,i.flags,i.mode);if("string"==typeof e){var f=new Uint8Array(Q(e)+1),n=C(e,f,0,f.length);YA.write(r,f,0,n,void 0,i.canOwn)}else{if(!ArrayBuffer.isView(e))throw new Error("Unsupported data type");YA.write(r,e,0,e.byteLength,void 0,i.canOwn)}YA.close(r)},cwd:function(){return YA.currentPath},chdir:function(A){var e=YA.lookupPath(A,{follow:!0});if(null===e.node)throw new YA.ErrnoError(gA.ENOENT);if(!YA.isDir(e.node.mode))throw new YA.ErrnoError(gA.ENOTDIR);var i=YA.nodePermissions(e.node,"x");if(i)throw new YA.ErrnoError(i);YA.currentPath=e.path},createDefaultDirectories:function(){YA.mkdir("/tmp"),YA.mkdir("/home"),YA.mkdir("/home/web_user")},createDefaultDevices:function(){var A;if(YA.mkdir("/dev"),YA.registerDevice(YA.makedev(1,3),{read:function(){return 0},write:function(A,e,i,r,f){return r}}),YA.mkdev("/dev/null",YA.makedev(1,3)),CA.register(YA.makedev(5,0),CA.default_tty_ops),CA.register(YA.makedev(6,0),CA.default_tty1_ops),YA.mkdev("/dev/tty",YA.makedev(5,0)),YA.mkdev("/dev/tty1",YA.makedev(6,0)),"undefined"!=typeof crypto){var e=new Uint8Array(1);A=function(){return crypto.getRandomValues(e),e[0]}}else A=l?function(){return require("crypto").randomBytes(1)[0]}:function(){return 256*Math.random()|0};YA.createDevice("/dev","random",A),YA.createDevice("/dev","urandom",A),YA.mkdir("/dev/shm"),YA.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){YA.mkdir("/proc"),YA.mkdir("/proc/self"),YA.mkdir("/proc/self/fd"),YA.mount({mount:function(){var A=YA.createNode("/proc/self","fd",16895,73);return A.node_ops={lookup:function(A,e){var i=+e,r=YA.getStream(i);if(!r)throw new YA.ErrnoError(gA.EBADF);var f={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return r.path}}};return f.parent=f,f}},A}},{},"/proc/self/fd")},createStandardStreams:function(){A.stdin?YA.createDevice("/dev","stdin",A.stdin):YA.symlink("/dev/tty","/dev/stdin"),A.stdout?YA.createDevice("/dev","stdout",null,A.stdout):YA.symlink("/dev/tty","/dev/stdout"),A.stderr?YA.createDevice("/dev","stderr",null,A.stderr):YA.symlink("/dev/tty1","/dev/stderr");var e=YA.open("/dev/stdin","r");B(0===e.fd,"invalid handle for stdin ("+e.fd+")");var i=YA.open("/dev/stdout","w");B(1===i.fd,"invalid handle for stdout ("+i.fd+")");var r=YA.open("/dev/stderr","w");B(2===r.fd,"invalid handle for stderr ("+r.fd+")")},ensureErrnoError:function(){YA.ErrnoError||(YA.ErrnoError=function(A,e){this.node=e,this.setErrno=function(A){for(var e in this.errno=A,gA)if(gA[e]===A){this.code=e;break}},this.setErrno(A),this.message=mA[A],this.stack&&Object.defineProperty(this,"stack",{value:(new Error).stack,writable:!0})},YA.ErrnoError.prototype=new Error,YA.ErrnoError.prototype.constructor=YA.ErrnoError,[gA.ENOENT].forEach(function(A){YA.genericErrors[A]=new YA.ErrnoError(A),YA.genericErrors[A].stack="<generic error, no stack>"}))},staticInit:function(){YA.ensureErrnoError(),YA.nameTable=new Array(4096),YA.mount(MA,{},"/"),YA.createDefaultDirectories(),YA.createDefaultDevices(),YA.createSpecialDirectories(),YA.filesystems={MEMFS:MA,IDBFS:QA,NODEFS:EA,WORKERFS:yA}},init:function(e,i,r){B(!YA.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),YA.init.initialized=!0,YA.ensureErrnoError(),A.stdin=e||A.stdin,A.stdout=i||A.stdout,A.stderr=r||A.stderr,YA.createStandardStreams()},quit:function(){YA.init.initialized=!1;var e=A._fflush;e&&e(0);for(var i=0;i<YA.streams.length;i++){var r=YA.streams[i];r&&YA.close(r)}},getMode:function(A,e){var i=0;return A&&(i|=365),e&&(i|=146),i},joinPath:function(A,e){var i=IA.join.apply(null,A);return e&&"/"==i[0]&&(i=i.substr(1)),i},absolutePath:function(A,e){return IA.resolve(e,A)},standardizePath:function(A){return IA.normalize(A)},findObject:function(A,e){var i=YA.analyzePath(A,e);return i.exists?i.object:(ZA(i.error),null)},analyzePath:function(A,e){try{A=(r=YA.lookupPath(A,{follow:!e})).path}catch(A){}var i={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var r=YA.lookupPath(A,{parent:!0});i.parentExists=!0,i.parentPath=r.path,i.parentObject=r.node,i.name=IA.basename(A),r=YA.lookupPath(A,{follow:!e}),i.exists=!0,i.path=r.path,i.object=r.node,i.name=r.node.name,i.isRoot="/"===r.path}catch(A){i.error=A.errno}return i},createFolder:function(A,e,i,r){var f=IA.join2("string"==typeof A?A:YA.getPath(A),e),n=YA.getMode(i,r);return YA.mkdir(f,n)},createPath:function(A,e,i,r){A="string"==typeof A?A:YA.getPath(A);for(var f=e.split("/").reverse();f.length;){var n=f.pop();if(n){var a=IA.join2(A,n);try{YA.mkdir(a)}catch(A){}A=a}}return a},createFile:function(A,e,i,r,f){var n=IA.join2("string"==typeof A?A:YA.getPath(A),e),a=YA.getMode(r,f);return YA.create(n,a)},createDataFile:function(A,e,i,r,f,n){var a=e?IA.join2("string"==typeof A?A:YA.getPath(A),e):A,l=YA.getMode(r,f),t=YA.create(a,l);if(i){if("string"==typeof i){for(var c=new Array(i.length),s=0,b=i.length;s<b;++s)c[s]=i.charCodeAt(s);i=c}YA.chmod(t,146|l);var o=YA.open(t,"w");YA.write(o,i,0,i.length,0,n),YA.close(o),YA.chmod(t,l)}return t},createDevice:function(A,e,i,r){var f=IA.join2("string"==typeof A?A:YA.getPath(A),e),n=YA.getMode(!!i,!!r);YA.createDevice.major||(YA.createDevice.major=64);var a=YA.makedev(YA.createDevice.major++,0);return YA.registerDevice(a,{open:function(A){A.seekable=!1},close:function(A){r&&r.buffer&&r.buffer.length&&r(10)},read:function(A,e,r,f,n){for(var a=0,l=0;l<f;l++){var t;try{t=i()}catch(A){throw new YA.ErrnoError(gA.EIO)}if(void 0===t&&0===a)throw new YA.ErrnoError(gA.EAGAIN);if(null==t)break;a++,e[r+l]=t}return a&&(A.node.timestamp=Date.now()),a},write:function(A,e,i,f,n){for(var a=0;a<f;a++)try{r(e[i+a])}catch(A){throw new YA.ErrnoError(gA.EIO)}return f&&(A.node.timestamp=Date.now()),a}}),YA.mkdev(f,n,a)},createLink:function(A,e,i,r,f){var n=IA.join2("string"==typeof A?A:YA.getPath(A),e);return YA.symlink(i,n)},forceLoadFile:function(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;var i=!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!A.read)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=xA(A.read(e.url),!0),e.usedBytes=e.contents.length}catch(A){i=!1}return i||ZA(gA.EIO),i},createLazyFile:function(A,e,i,r,f){function n(){this.lengthKnown=!1,this.chunks=[]}if(n.prototype.get=function(A){if(!(A>this.length-1||A<0)){var e=A%this.chunkSize,i=A/this.chunkSize|0;return this.getter(i)[e]}},n.prototype.setDataGetter=function(A){this.getter=A},n.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open("HEAD",i,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn't load "+i+". Status: "+A.status);var e,r=Number(A.getResponseHeader("Content-length")),f=(e=A.getResponseHeader("Accept-Ranges"))&&"bytes"===e,n=(e=A.getResponseHeader("Content-Encoding"))&&"gzip"===e,a=1048576;f||(a=r);var l=this;l.setDataGetter(function(A){var e=A*a,f=(A+1)*a-1;if(f=Math.min(f,r-1),void 0===l.chunks[A]&&(l.chunks[A]=function(A,e){if(A>e)throw new Error("invalid range ("+A+", "+e+") or no bytes requested!");if(e>r-1)throw new Error("only "+r+" bytes available! programmer error!");var f=new XMLHttpRequest;if(f.open("GET",i,!1),r!==a&&f.setRequestHeader("Range","bytes="+A+"-"+e),"undefined"!=typeof Uint8Array&&(f.responseType="arraybuffer"),f.overrideMimeType&&f.overrideMimeType("text/plain; charset=x-user-defined"),f.send(null),!(f.status>=200&&f.status<300||304===f.status))throw new Error("Couldn't load "+i+". Status: "+f.status);return void 0!==f.response?new Uint8Array(f.response||[]):xA(f.responseText||"",!0)}(e,f)),void 0===l.chunks[A])throw new Error("doXHR failed!");return l.chunks[A]}),!n&&r||(a=r=1,r=this.getter(0).length,a=r,console.log("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=r,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!a)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var l=new n;Object.defineProperties(l,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var t={isDevice:!1,contents:l}}else t={isDevice:!1,url:i};var c=YA.createFile(A,e,t,r,f);t.contents?c.contents=t.contents:t.url&&(c.contents=null,c.url=t.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var s={};return Object.keys(c.stream_ops).forEach(function(A){var e=c.stream_ops[A];s[A]=function(){if(!YA.forceLoadFile(c))throw new YA.ErrnoError(gA.EIO);return e.apply(null,arguments)}}),s.read=function(A,e,i,r,f){if(!YA.forceLoadFile(c))throw new YA.ErrnoError(gA.EIO);var n=A.node.contents;if(f>=n.length)return 0;var a=Math.min(n.length-f,r);if(B(a>=0),n.slice)for(var l=0;l<a;l++)e[i+l]=n[f+l];else for(l=0;l<a;l++)e[i+l]=n.get(f+l);return a},c.stream_ops=s,c},createPreloadedFile:function(e,i,r,f,n,a,l,t,c,s){Browser.init();var b=i?IA.resolve(IA.join2(e,i)):e;function o(r){function o(A){s&&s(),t||YA.createDataFile(e,i,A,f,n,c),a&&a(),oA()}var u=!1;A.preloadPlugins.forEach(function(A){u||A.canHandle(b)&&(A.handle(r,b,o,function(){l&&l(),oA()}),u=!0)}),u||o(r)}bA(),"string"==typeof r?Browser.asyncLoad(r,function(A){o(A)},l):o(r)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(A,e,i){e=e||function(){},i=i||function(){};var r=YA.indexedDB();try{var f=r.open(YA.DB_NAME(),YA.DB_VERSION)}catch(A){return i(A)}f.onupgradeneeded=function(){console.log("creating db"),f.result.createObjectStore(YA.DB_STORE_NAME)},f.onsuccess=function(){var r=f.result.transaction([YA.DB_STORE_NAME],"readwrite"),n=r.objectStore(YA.DB_STORE_NAME),a=0,l=0,t=A.length;function c(){0==l?e():i()}A.forEach(function(A){var e=n.put(YA.analyzePath(A).object.contents,A);e.onsuccess=function(){++a+l==t&&c()},e.onerror=function(){a+ ++l==t&&c()}}),r.onerror=i},f.onerror=i},loadFilesFromDB:function(A,e,i){e=e||function(){},i=i||function(){};var r=YA.indexedDB();try{var f=r.open(YA.DB_NAME(),YA.DB_VERSION)}catch(A){return i(A)}f.onupgradeneeded=i,f.onsuccess=function(){var r=f.result;try{var n=r.transaction([YA.DB_STORE_NAME],"readonly")}catch(A){return void i(A)}var a=n.objectStore(YA.DB_STORE_NAME),l=0,t=0,c=A.length;function s(){0==t?e():i()}A.forEach(function(A){var e=a.get(A);e.onsuccess=function(){YA.analyzePath(A).exists&&YA.unlink(A),YA.createDataFile(IA.dirname(A),IA.basename(A),e.result,!0,!0,!0),++l+t==c&&s()},e.onerror=function(){l+ ++t==c&&s()}}),n.onerror=i},f.onerror=i}},VA={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(A,e){if("/"!==e[0]){var i;if(-100===A)i=YA.cwd();else{var r=YA.getStream(A);if(!r)throw new YA.ErrnoError(gA.EBADF);i=r.path}e=IA.join2(i,e)}return e},doStat:function(A,e,i){try{var r=A(e)}catch(A){if(A&&A.node&&IA.normalize(e)!==IA.normalize(YA.getPath(A.node)))return-gA.ENOTDIR;throw A}return J[i>>2]=r.dev,J[i+4>>2]=0,J[i+8>>2]=r.ino,J[i+12>>2]=r.mode,J[i+16>>2]=r.nlink,J[i+20>>2]=r.uid,J[i+24>>2]=r.gid,J[i+28>>2]=r.rdev,J[i+32>>2]=0,J[i+36>>2]=r.size,J[i+40>>2]=4096,J[i+44>>2]=r.blocks,J[i+48>>2]=r.atime.getTime()/1e3|0,J[i+52>>2]=0,J[i+56>>2]=r.mtime.getTime()/1e3|0,J[i+60>>2]=0,J[i+64>>2]=r.ctime.getTime()/1e3|0,J[i+68>>2]=0,J[i+72>>2]=r.ino,0},doMsync:function(A,e,i,r){var f=new Uint8Array(V.subarray(A,A+i));YA.msync(e,f,0,i,r)},doMkdir:function(A,e){return"/"===(A=IA.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),YA.mkdir(A,e,0),0},doMknod:function(A,e,i){switch(61440&e){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-gA.EINVAL}return YA.mknod(A,e,i),0},doReadlink:function(A,e,i){if(i<=0)return-gA.EINVAL;var r=YA.readlink(A),f=Math.min(i,Q(r)),n=Y[e+f];return M(r,e,i+1),Y[e+f]=n,f},doAccess:function(A,e){if(-8&e)return-gA.EINVAL;var i;i=YA.lookupPath(A,{follow:!0}).node;var r="";return 4&e&&(r+="r"),2&e&&(r+="w"),1&e&&(r+="x"),r&&YA.nodePermissions(i,r)?-gA.EACCES:0},doDup:function(A,e,i){var r=YA.getStream(i);return r&&YA.close(r),YA.open(A,e,0,i,i).fd},doReadv:function(A,e,i,r){for(var f=0,n=0;n<i;n++){var a=J[e+8*n>>2],l=J[e+(8*n+4)>>2],t=YA.read(A,Y,a,l,r);if(t<0)return-1;if(f+=t,t<l)break}return f},doWritev:function(A,e,i,r){for(var f=0,n=0;n<i;n++){var a=J[e+8*n>>2],l=J[e+(8*n+4)>>2],t=YA.write(A,Y,a,l,r);if(t<0)return-1;f+=t}return f},varargs:0,get:function(A){return VA.varargs+=4,J[VA.varargs-4>>2]},getStr:function(){return Z(VA.get())},getStreamFromFD:function(){var A=YA.getStream(VA.get());if(!A)throw new YA.ErrnoError(gA.EBADF);return A},getSocketFromFD:function(){var A=SOCKFS.getSocket(VA.get());if(!A)throw new YA.ErrnoError(gA.EBADF);return A},getSocketAddress:function(A){var e=VA.get(),i=VA.get();if(A&&0===e)return null;var r=__read_sockaddr(e,i);if(r.errno)throw new YA.ErrnoError(r.errno);return r.addr=DNS.lookup_addr(r.addr)||r.addr,r},get64:function(){var A=VA.get(),e=VA.get();return B(A>=0?0===e:-1===e),A},getZero:function(){B(0===VA.get())}};var WA=function(A,e,i,r){var f,n;"number"==typeof A?(f=!0,n=A):(f=!1,n=A.length);var a,l="string"==typeof e?e:null;if(a=i==g?r:["function"==typeof qA?qA:s,ee,s,b][void 0===i?h:i](Math.max(n,l?1:e.length)),f){var t;for(r=a,B(0==(3&a)),t=a+(-4&n);r<t;r+=4)J[r>>2]=0;for(t=a+n;r<t;)Y[r++>>0]=0;return a}if("i8"===l)return A.subarray||A.slice?V.set(A,a):V.set(new Uint8Array(A),a),a;for(var c,o,v,k=0;k<n;){var w=A[k];0!==(c=l||e[k])?("i64"==c&&(c="i32"),d(a+k,w,c),v!==c&&(o=u(c),v=c),k+=o):k++}return a}([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",h);function JA(e){A.exit(e)}var NA=p;function zA(e){var i,r;zA.called?(r=J[NA>>2],i=J[r>>2]):(zA.called=!0,pA.USER=pA.LOGNAME="web_user",pA.PATH="/",pA.PWD="/",pA.HOME="/home/web_user",pA.LANG="C.UTF-8",pA._=A.thisProgram,i=s(1024),r=s(256),J[r>>2]=i,J[NA>>2]=r);var f=[],n=0;for(var a in e)if("string"==typeof e[a]){var l=a+"="+e[a];f.push(l),n+=l.length}if(n>1024)throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");for(var t=0;t<f.length;t++){eA(l=f[t],i),J[r+4*t>>2]=i,i+=l.length+1}J[r+4*f.length>>2]=0}p+=16;var pA={};var RA=fA,PA=iA,HA=nA,FA=aA,LA=rA;if(dA=l?function(){var A=process.hrtime();return 1e3*A[0]+A[1]/1e6}:"undefined"!=typeof dateNow?dateNow:"object"==typeof self&&self.performance&&"function"==typeof self.performance.now?function(){return self.performance.now()}:"object"==typeof performance&&"function"==typeof performance.now?function(){return performance.now()}:Date.now,YA.staticInit(),K.unshift(function(){A.noFSInit||YA.init.initialized||YA.init()}),_.push(function(){YA.ignorePermissions=!1}),q.push(function(){YA.quit()}),K.unshift(function(){CA.init()}),q.push(function(){CA.shutdown()}),l){var DA=require("fs"),XA=require("path");EA.staticInit()}zA(pA),D=s(4),P=H=o(p),L=o(F=P+U),J[D>>2]=L,R=!0;var TA=!1;function xA(A,e,i){var r=i>0?i:Q(A)+1,f=new Array(r),n=C(A,f,0,f.length);return e&&(f.length=n),f}function UA(A){for(var e=[],i=0;i<A.length;i++){var r=A[i];r>255&&(TA&&B(!1,"Character code "+r+" ("+String.fromCharCode(r)+") at offset "+i+" not in 0x00-0xFF."),r&=255),e.push(String.fromCharCode(r))}return e.join("")}var jA="function"==typeof atob?atob:function(A){var e,i,r,f,n,a,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t="",c=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{e=l.indexOf(A.charAt(c++))<<2|(f=l.indexOf(A.charAt(c++)))>>4,i=(15&f)<<4|(n=l.indexOf(A.charAt(c++)))>>2,r=(3&n)<<6|(a=l.indexOf(A.charAt(c++))),t+=String.fromCharCode(e),64!==n&&(t+=String.fromCharCode(i)),64!==a&&(t+=String.fromCharCode(r))}while(c<A.length);return t};function SA(A){if(BA(A))return function(A){if("boolean"==typeof l&&l){var e;try{e=Buffer.from(A,"base64")}catch(i){e=Buffer.alloc(A, "base64")}return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}try{for(var i=jA(A),r=new Uint8Array(i.length),f=0;f<i.length;++f)r[f]=i.charCodeAt(f);return r}catch(A){throw new Error("Converting base64 string to bytes failed.")}}(A.slice(vA.length))}A.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0},A.asmLibraryArg={abort:be,assert:B,enlargeMemory:x,getTotalMemory:function(){return j},abortOnCannotGrowMemory:T,invoke_d:function(e){try{return A.dynCall_d(e)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},invoke_dddd:function(e,i,r,f){try{return A.dynCall_dddd(e,i,r,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},invoke_i:function(e){try{return A.dynCall_i(e)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},invoke_ii:function(e,i){try{return A.dynCall_ii(e,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},invoke_iii:function(e,i,r){try{return A.dynCall_iii(e,i,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},invoke_iiii:function(e,i,r,f){try{return A.dynCall_iiii(e,i,r,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},invoke_iiiii:function(e,i,r,f,n){try{return A.dynCall_iiiii(e,i,r,f,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},invoke_iiiiii:function(e,i,r,f,n,a){try{return A.dynCall_iiiiii(e,i,r,f,n,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},invoke_iiiiiii:function(e,i,r,f,n,a,l){try{return A.dynCall_iiiiiii(e,i,r,f,n,a,l)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},invoke_v:function(e){try{A.dynCall_v(e)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},invoke_vi:function(e,i){try{A.dynCall_vi(e,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},invoke_vii:function(e,i,r){try{A.dynCall_vii(e,i,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},invoke_viii:function(e,i,r,f){try{A.dynCall_viii(e,i,r,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},invoke_viiiddi:function(e,i,r,f,n,a,l){try{A.dynCall_viiiddi(e,i,r,f,n,a,l)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},invoke_viiii:function(e,i,r,f,n){try{A.dynCall_viiii(e,i,r,f,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},invoke_viiiii:function(e,i,r,f,n,a){try{A.dynCall_viiiii(e,i,r,f,n,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},invoke_viiiiii:function(e,i,r,f,n,a,l){try{A.dynCall_viiiiii(e,i,r,f,n,a,l)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;A.setThrew(1,0)}},___assert_fail:function(A,e,i,r){be("Assertion failed: "+Z(A)+", at: "+[e?Z(e):"unknown filename",i,r?Z(r):"unknown function"])},___buildEnvironment:zA,___clock_gettime:function(){return GA.apply(null,arguments)},___lock:function(){},___map_file:function(A,e){return ZA(gA.EPERM),-1},___setErrNo:ZA,___syscall10:function(A,e){VA.varargs=e;try{var i=VA.getStr();return YA.unlink(i),0}catch(A){return void 0!==YA&&A instanceof YA.ErrnoError||be(A),-A.errno}},___syscall140:function(A,e){VA.varargs=e;try{var i=VA.getStreamFromFD(),r=(VA.get(),VA.get()),f=VA.get(),n=VA.get(),a=r;return YA.llseek(i,a,n),J[f>>2]=i.position,i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(A){return void 0!==YA&&A instanceof YA.ErrnoError||be(A),-A.errno}},___syscall145:function(A,e){VA.varargs=e;try{var i=VA.getStreamFromFD(),r=VA.get(),f=VA.get();return VA.doReadv(i,r,f)}catch(A){return void 0!==YA&&A instanceof YA.ErrnoError||be(A),-A.errno}},___syscall146:function(A,e){VA.varargs=e;try{var i=VA.getStreamFromFD(),r=VA.get(),f=VA.get();return VA.doWritev(i,r,f)}catch(A){return void 0!==YA&&A instanceof YA.ErrnoError||be(A),-A.errno}},___syscall192:function(A,e){VA.varargs=e;try{var i,r=VA.get(),f=VA.get(),n=VA.get(),a=VA.get(),l=VA.get(),t=VA.get();t<<=12;var c=!1;if(-1===l){if(!(i=$A(X,f)))return-gA.ENOMEM;Ae(i,0,f),c=!0}else{var s=YA.getStream(l);if(!s)return-gA.EBADF;var b=YA.mmap(s,V,r,f,t,n,a);i=b.ptr,c=b.allocated}return VA.mappings[i]={malloc:i,len:f,allocated:c,fd:l,flags:a},i}catch(A){return void 0!==YA&&A instanceof YA.ErrnoError||be(A),-A.errno}},___syscall195:function(A,e){VA.varargs=e;try{var i=VA.getStr(),r=VA.get();return VA.doStat(YA.stat,i,r)}catch(A){return void 0!==YA&&A instanceof YA.ErrnoError||be(A),-A.errno}},___syscall197:function(A,e){VA.varargs=e;try{var i=VA.getStreamFromFD(),r=VA.get();return VA.doStat(YA.stat,i.path,r)}catch(A){return void 0!==YA&&A instanceof YA.ErrnoError||be(A),-A.errno}},___syscall221:function(A,e){VA.varargs=e;try{var i=VA.getStreamFromFD();switch(VA.get()){case 0:return(r=VA.get())<0?-gA.EINVAL:YA.open(i.path,i.flags,0,r).fd;case 1:case 2:return 0;case 3:return i.flags;case 4:var r=VA.get();return i.flags|=r,0;case 12:case 12:return r=VA.get(),W[r+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-gA.EINVAL;case 9:return ZA(gA.EINVAL),-1;default:return-gA.EINVAL}}catch(A){return void 0!==YA&&A instanceof YA.ErrnoError||be(A),-A.errno}},___syscall33:function(A,e){VA.varargs=e;try{var i=VA.getStr(),r=VA.get();return VA.doAccess(i,r)}catch(A){return void 0!==YA&&A instanceof YA.ErrnoError||be(A),-A.errno}},___syscall5:function(A,e){VA.varargs=e;try{var i=VA.getStr(),r=VA.get(),f=VA.get();return YA.open(i,r,f).fd}catch(A){return void 0!==YA&&A instanceof YA.ErrnoError||be(A),-A.errno}},___syscall54:function(A,e){VA.varargs=e;try{var i=VA.getStreamFromFD(),r=VA.get();switch(r){case 21509:case 21505:return i.tty?0:-gA.ENOTTY;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return i.tty?0:-gA.ENOTTY;case 21519:if(!i.tty)return-gA.ENOTTY;var f=VA.get();return J[f>>2]=0,0;case 21520:return i.tty?-gA.EINVAL:-gA.ENOTTY;case 21531:return f=VA.get(),YA.ioctl(i,r,f);case 21523:return i.tty?0:-gA.ENOTTY;default:be("bad ioctl syscall "+r)}}catch(A){return void 0!==YA&&A instanceof YA.ErrnoError||be(A),-A.errno}},___syscall6:function(A,e){VA.varargs=e;try{var i=VA.getStreamFromFD();return YA.close(i),0}catch(A){return void 0!==YA&&A instanceof YA.ErrnoError||be(A),-A.errno}},___syscall91:function(A,e){VA.varargs=e;try{var i=VA.get(),r=VA.get(),f=VA.mappings[i];if(!f)return 0;if(r===f.len){var n=YA.getStream(f.fd);VA.doMsync(i,n,r,f.flags),YA.munmap(n),VA.mappings[i]=null,f.allocated&&_A(f.malloc)}return 0}catch(A){return void 0!==YA&&A instanceof YA.ErrnoError||be(A),-A.errno}},___unlock:function(){},__exit:JA,_clock_gettime:GA,_emscripten_asm_const_iii:function(A,e,i){return kA[A](e,i)},_emscripten_get_now:dA,_emscripten_get_now_is_monotonic:hA,_emscripten_memcpy_big:function(A,e,i){return V.set(V.subarray(e,e+i),A),A},_exit:function(A){JA(A)},_getenv:function A(e){return 0===e?0:(e=Z(e),pA.hasOwnProperty(e)?(A.ret&&_A(A.ret),A.ret=(i=pA[e],r=Q(i)+1,(f=qA(r))&&C(i,Y,f,r),f),A.ret):0);var i,r,f},_llvm_ceil_f64:RA,_llvm_fabs_f64:PA,_llvm_floor_f64:HA,_llvm_pow_f64:FA,_llvm_sqrt_f64:LA,_llvm_trap:function(){be("trap!")},_longjmp:function(e,i){throw A.setThrew(e,i||1),"longjmp"},_setenv:function(A,e,i){if(0===A)return ZA(gA.EINVAL),-1;var r=Z(A),f=Z(e);return""===r||-1!==r.indexOf("=")?(ZA(gA.EINVAL),-1):pA.hasOwnProperty(r)&&!i?0:(pA[r]=f,zA(pA),0)},_times:function(A){return 0!==A&&Ae(A,0,16),0},DYNAMICTOP_PTR:D,tempDoublePtr:wA,ABORT:v,STACKTOP:H,STACK_MAX:F,cttz_i8:WA};var OA,KA=function(A,e,i){"use asm";var r=new A.Int8Array(i);var f=new A.Int16Array(i);var n=new A.Int32Array(i);var a=new A.Uint8Array(i);var l=new A.Uint16Array(i);var t=new A.Uint32Array(i);var c=new A.Float32Array(i);var s=new A.Float64Array(i);var b=e.DYNAMICTOP_PTR|0;var o=e.tempDoublePtr|0;var u=e.ABORT|0;var v=e.STACKTOP|0;var B=e.STACK_MAX|0;var k=e.cttz_i8|0;var w=0;var d=0;var h=0;var g=0;var Z=A.NaN,G=A.Infinity;var m=0,I=0,C=0,M=0,Q=0.0;var E=0;var y=A.Math.floor;var Y=A.Math.abs;var V=A.Math.sqrt;var W=A.Math.pow;var J=A.Math.cos;var N=A.Math.sin;var z=A.Math.tan;var p=A.Math.acos;var R=A.Math.asin;var P=A.Math.atan;var H=A.Math.atan2;var F=A.Math.exp;var L=A.Math.log;var D=A.Math.ceil;var X=A.Math.imul;var T=A.Math.min;var x=A.Math.max;var U=A.Math.clz32;var j=e.abort;var S=e.assert;var O=e.enlargeMemory;var K=e.getTotalMemory;var _=e.abortOnCannotGrowMemory;var q=e.invoke_d;var $=e.invoke_dddd;var AA=e.invoke_i;var eA=e.invoke_ii;var iA=e.invoke_iii;var rA=e.invoke_iiii;var fA=e.invoke_iiiii;var nA=e.invoke_iiiiii;var aA=e.invoke_iiiiiii;var lA=e.invoke_v;var tA=e.invoke_vi;var cA=e.invoke_vii;var sA=e.invoke_viii;var bA=e.invoke_viiiddi;var oA=e.invoke_viiii;var uA=e.invoke_viiiii;var vA=e.invoke_viiiiii;var BA=e.___assert_fail;var kA=e.___buildEnvironment;var wA=e.___clock_gettime;var dA=e.___lock;var hA=e.___map_file;var gA=e.___setErrNo;var ZA=e.___syscall10;var GA=e.___syscall140;var mA=e.___syscall145;var IA=e.___syscall146;var CA=e.___syscall192;var MA=e.___syscall195;var QA=e.___syscall197;var EA=e.___syscall221;var yA=e.___syscall33;var YA=e.___syscall5;var VA=e.___syscall54;var WA=e.___syscall6;var JA=e.___syscall91;var NA=e.___unlock;var zA=e.__exit;var pA=e._clock_gettime;var RA=e._emscripten_asm_const_iii;var PA=e._emscripten_get_now;var HA=e._emscripten_get_now_is_monotonic;var FA=e._emscripten_memcpy_big;var LA=e._exit;var DA=e._getenv;var XA=e._llvm_ceil_f64;var TA=e._llvm_fabs_f64;var xA=e._llvm_floor_f64;var UA=e._llvm_pow_f64;var jA=e._llvm_sqrt_f64;var SA=e._llvm_trap;var OA=e._longjmp;var KA=e._setenv;var _A=e._times;var qA=0.0;function $A(A){A=A|0;var e=0;e=v;v=v+A|0;v=v+15&-16;return e|0}function Ae(){return v|0}function ee(A){A=A|0;v=A}function ie(A,e){A=A|0;e=e|0;v=A;B=e}function re(A,e){A=A|0;e=e|0;if(!w){w=A;d=e}}function fe(A){A=A|0;E=A}function ne(){return E|0}function ae(A){A=A|0;n[41840]=A;return 0}function le(){return n[41840]|0}function te(A,e){A=A|0;e=e|0;RA(0,A|0,e|0)|0;return}function ce(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0;t=v;v=v+16|0;f=t+4|0;a=t;n[f>>2]=0;l=Gk()|0;Qk(l,10904);Qk(l,17148);Zy(1)|0;gy(16)|0;while(1){A=uV(A)|0;r=n[f>>2]|0;if(!A)break;if(r|0){A=174177;continue}mk(l,A,i)|0;Mk(l,A,e,f,a)|0;A=174177}v=t;return r|0}function se(A){A=A|0;var e=0,i=0,r=0,a=0;a=v;v=v+16|0;e=a+4|0;i=a;r=n[(n[A+16>>2]|0)+8>>2]|0;A=A+64|0;switch(n[A>>2]|0){case 0:{JZ(r);break}case 1:{if(f[(n[r+16>>2]|0)+136>>1]&1)CC(r);break}case 4:case 5:case 6:{YZ(r,i,e);ue(r,n[i>>2]|0,n[e>>2]|0,n[A>>2]|0);break}default:{}}v=a;return}function be(A){A=A|0;var e=0,i=0,r=0,f=0;i=n[(n[A+16>>2]|0)+8>>2]|0;if(!(n[41841]|0)){n[41841]=n[4442];n[41842]=9;n[41843]=17}r=i+64|0;f=(n[r>>2]|0)+8|0;e=n[f>>2]|0;n[f>>2]=167364;switch(n[A+64>>2]|0){case 2:{gZ(A,i,A,0);break}case 3:{gZ(A,i,A,1);break}case 1:case 0:{if(!(n[A+152>>2]&134217728))hJ(i,A)|0;break}case 6:case 5:case 4:{oe(i);if(!(n[A+152>>2]&134217728))hJ(i,A)|0;break}default:{}}n[(n[r>>2]|0)+8>>2]=e;return}function oe(A){A=A|0;var e=0,i=0;e=n[41845]|0;if((e|0)!=(n[41844]|0)){i=n[n[41876]>>2]|0;if(!i){i=VC(A,0,84771,174177)|0;n[n[41876]>>2]=i;e=n[41845]|0}if(e>>>0>=(n[41846]|0)>>>0){Qy(167376,1)|0;e=n[41845]|0}r[e>>0]=0;e=n[41844]|0;n[41845]=e;qy(A,i,e)|0}if(n[(n[A+16>>2]|0)+12>>2]|0){i=n[(n[41876]|0)+4>>2]|0;e=n[41861]|0;if(e>>>0>=(n[41862]|0)>>>0){Qy(167440,1)|0;e=n[41861]|0}r[e>>0]=0;e=n[41860]|0;n[41861]=e;qy(A,i,e)|0}lY(A,59577,n[(n[41876]|0)+8236>>2]|0,174177)|0;e=0;while(1){if((e|0)==8)break;Yy(167376+(e<<4)|0);e=e+1|0}zN(n[41876]|0);s[1]=1.0;s[5]=1.0;n[41877]=0;n[41881]=0;return}function ue(A,e,i,a){A=A|0;e=e|0;i=i|0;a=a|0;var l=0,t=0,c=0;t=NN(8240)|0;n[41876]=t;A:do{switch(a|0){case 6:{f[t+8232>>1]=14;a=59593;break}case 5:{f[t+8232>>1]=12;a=59597;break}default:{a=fY(A,59577)|0;if((a|0?r[a>>0]|0:0)?(l=ve(a)|0,(l&65535)>10):0){t=n[41876]|0;f[t+8232>>1]=l;break A}a=ve(59589)|0;t=n[41876]|0;f[t+8232>>1]=a;a=59589}}}while(0);n[t+8236>>2]=a;c=A+16|0;a=n[c>>2]|0;if(!(n[a+180>>2]|0))l=0;else{l=VC(A,0,84771,174177)|0;t=n[41876]|0;a=n[c>>2]|0}n[t>>2]=l;if(!(r[a+113>>0]&8))a=0;else a=VC(A,0,59601,174177)|0;n[(n[41876]|0)+4>>2]=a;t=VC(A,1,84771,174177)|0;n[(n[41876]|0)+8>>2]=t;t=VC(A,1,59601,174177)|0;n[(n[41876]|0)+12>>2]=t;t=VC(A,2,84771,174177)|0;a=n[41876]|0;n[a+16>>2]=t;if(!i)l=0;else{l=VC(A,2,59609,174177)|0;a=n[41876]|0}n[a+20>>2]=l;if(!e)l=0;else{l=VC(A,2,59617,174177)|0;a=n[41876]|0}n[a+24>>2]=l;l=r[(n[c>>2]|0)+113>>0]|0;if(!(l&33))t=0;else{t=VC(A,2,59601,174177)|0;a=n[41876]|0;l=r[(n[c>>2]|0)+113>>0]|0}n[a+28>>2]=t;if(!(l&2))t=0;else{t=VC(A,2,59625,174177)|0;a=n[41876]|0;l=r[(n[c>>2]|0)+113>>0]|0}n[a+32>>2]=t;if(!(l&4))l=0;else{l=VC(A,2,59634,174177)|0;a=n[41876]|0}n[a+36>>2]=l;a=0;while(1){if((a|0)==8)break;My(167376+(a<<4)|0,1024,(n[41876]|0)+40+(a<<10)|0);a=a+1|0}return}function ve(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0;c=v;v=v+1040|0;l=c;a=c+8|0;f=0;e=A;A:while(1){do{i=e;e=e+1|0;i=r[i>>0]|0;if(!(i<<24>>24))break A}while(((i<<24>>24)+-48|0)>>>0>=10);if((f|0)>=1023){t=7;break}r[a+f>>0]=i;f=f+1|0}if((t|0)==7){n[l>>2]=A;Gy(0,59643,l)|0}r[a+f>>0]=0;t=($R(a)|0)&65535;v=c;return t|0}function Be(A){A=A|0;var e=0,i=0;i=n[(n[A+16>>2]|0)+8>>2]|0;e=n[n[41876]>>2]|0;A=n[41849]|0;if(A>>>0>=(n[41850]|0)>>>0){Qy(167392,1)|0;A=n[41849]|0}r[A>>0]=0;A=n[41848]|0;n[41849]=A;qy(i,e,A)|0;if(n[(n[i+16>>2]|0)+12>>2]|0){e=n[(n[41876]|0)+4>>2]|0;A=n[41865]|0;if(A>>>0>=(n[41866]|0)>>>0){Qy(167456,1)|0;A=n[41865]|0}r[A>>0]=0;A=n[41864]|0;n[41865]=A;qy(i,e,A)|0}s[2]=1.0;s[6]=1.0;n[41878]=0;n[41882]=0;return}function ke(A){A=A|0;var e=0,i=0;i=n[(n[A+16>>2]|0)+8>>2]|0;A=n[41849]|0;if((n[41848]|0)!=(A|0)){e=n[(n[41876]|0)+8>>2]|0;if(A>>>0>=(n[41850]|0)>>>0){Qy(167392,1)|0;A=n[41849]|0}r[A>>0]=0;A=n[41848]|0;n[41849]=A;qy(i,e,A)|0}A=n[41865]|0;if((n[41864]|0)!=(A|0)){e=n[(n[41876]|0)+12>>2]|0;if(A>>>0>=(n[41866]|0)>>>0){Qy(167456,1)|0;A=n[41865]|0}r[A>>0]=0;A=n[41864]|0;n[41865]=A;qy(i,e,A)|0}s[9]=1.0;s[11]=1.0;n[41885]=0;n[41887]=0;return}function we(A){A=A|0;var e=0,i=0;i=n[(n[A+16>>2]|0)+8>>2]|0;A=n[41849]|0;if((n[41848]|0)!=(A|0)){e=n[(n[41876]|0)+16>>2]|0;if(A>>>0>=(n[41850]|0)>>>0){Qy(167392,1)|0;A=n[41849]|0}r[A>>0]=0;A=n[41848]|0;n[41849]=A;qy(i,e,A)|0}A=n[41853]|0;if((n[41852]|0)!=(A|0)){e=n[(n[41876]|0)+24>>2]|0;if(A>>>0>=(n[41854]|0)>>>0){Qy(167408,1)|0;A=n[41853]|0}r[A>>0]=0;A=n[41852]|0;n[41853]=A;qy(i,e,A)|0}A=n[41857]|0;if((n[41856]|0)!=(A|0)){e=n[(n[41876]|0)+20>>2]|0;if(A>>>0>=(n[41858]|0)>>>0){Qy(167424,1)|0;A=n[41857]|0}r[A>>0]=0;A=n[41856]|0;n[41857]=A;qy(i,e,A)|0}A=n[41865]|0;if((n[41864]|0)!=(A|0)){e=n[(n[41876]|0)+28>>2]|0;if(A>>>0>=(n[41866]|0)>>>0){Qy(167456,1)|0;A=n[41865]|0}r[A>>0]=0;A=n[41864]|0;n[41865]=A;qy(i,e,A)|0}A=n[41869]|0;if((n[41868]|0)!=(A|0)){e=n[(n[41876]|0)+36>>2]|0;if(A>>>0>=(n[41870]|0)>>>0){Qy(167472,1)|0;A=n[41869]|0}r[A>>0]=0;A=n[41868]|0;n[41869]=A;qy(i,e,A)|0}A=n[41873]|0;if((n[41872]|0)!=(A|0)){e=n[(n[41876]|0)+32>>2]|0;if(A>>>0>=(n[41874]|0)>>>0){Qy(167488,1)|0;A=n[41873]|0}r[A>>0]=0;A=n[41872]|0;n[41873]=A;qy(i,e,A)|0}s[10]=1.0;s[12]=1.0;s[3]=1.0;s[4]=1.0;s[7]=1.0;s[8]=1.0;n[41886]=0;n[41888]=0;n[41879]=0;n[41880]=0;n[41883]=0;n[41884]=0;return}function de(A,e,i){A=A|0;e=e|0;i=i|0;var a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0;h=v;v=v+1056|0;t=h+16|0;d=h+8|0;w=h;c=h+32|0;u=n[(n[A+16>>2]|0)+12>>2]|0;B=n[11344+(u<<2)>>2]|0;yy(B,59746)|0;a=i+4|0;Qe(c,+s[(n[a>>2]|0)+16>>3]);yy(B,c)|0;Ye(A,174177,n[n[a>>2]>>2]|0);Ie(A);k=r[i+48>>0]|0;k=k<<24>>24==108?-1:k<<24>>24==114&1;a=n[a>>2]|0;if(!a)a=0;else a=n[a+24>>2]&127;l=f[(n[41876]|0)+8232>>1]|0;if((l&65535)>14?(b=n[11392+((l&65535)+-15<<2)>>2]&a,o=167508+(u<<2)|0,(n[o>>2]|0)!=(b|0)):0){n[w>>2]=b;_p(c,59749,w)|0;yy(B,c)|0;n[o>>2]=b}w=e+8|0;s[w>>3]=+s[w>>3]+ +s[i+24>>3];yy(B,59755)|0;n[t>>2]=n[e>>2];n[t+4>>2]=n[e+4>>2];n[t+8>>2]=n[e+8>>2];n[t+12>>2]=n[e+12>>2];Me(B,t);n[d>>2]=k;_p(c,87198,d)|0;yy(B,c)|0;Qe(c,+s[i+32>>3]);yy(B,c)|0;Ye(A,174177,n[i>>2]|0);v=h;return}function he(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0;l=v;v=v+1040|0;f=l;a=l+16|0;r=n[(n[A+16>>2]|0)+12>>2]|0;me(A);Ie(A);if(!i){A=n[11344+(r<<2)>>2]|0;yy(A,59743)|0}else{if((i|1|0)==3)We(A,i,e,2);else Je(A);A=n[11344+(r<<2)>>2]|0;yy(A,59740)|0}n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];Me(A,f);Qe(a,+s[e+16>>3]-+s[e>>3]);yy(A,a)|0;Qe(a,+s[e+24>>3]-+s[e+8>>3]);yy(A,a)|0;v=l;return}function ge(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;me(A);Ie(A);if(!r)Ce(A,112,e,i);else{if((r|1|0)==3)We(A,r,e,i);else Je(A);Ce(A,80,e,i)}return}function Ze(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;me(A);Ie(A);if(!n)Ce(A,66,e,i);else{if((n|1|0)==3)We(A,n,e,i);else Je(A);Ce(A,98,e,i)}return}function Ge(A,e,i){A=A|0;e=e|0;i=i|0;me(A);Ie(A);Ce(A,76,e,i);return}function me(A){A=A|0;var e=0,i=0,f=0,a=0.0,l=0,t=0,c=0,b=0,o=0;o=v;v=v+1184|0;l=o;f=o+24|0;b=o+8|0;My(b,1024,o+152|0);t=A+16|0;e=n[t>>2]|0;a=+s[e+152>>3];i=8+(n[e+12>>2]<<3)|0;if(a!=+s[i>>3]){s[i>>3]=a;yy(b,59706)|0;s[l>>3]=+s[(n[t>>2]|0)+152>>3];_p(f,59720,l)|0;Ee(f,0);yy(b,f)|0;f=b+4|0;e=n[f>>2]|0;i=b+8|0;if(e>>>0>=(n[i>>2]|0)>>>0){Qy(b,1)|0;e=n[f>>2]|0}n[f>>2]=e+1;r[e>>0]=41;e=n[f>>2]|0;if(e>>>0>=(n[i>>2]|0)>>>0){Qy(b,1)|0;e=n[f>>2]|0}r[e>>0]=0;e=n[b>>2]|0;n[f>>2]=e;Ye(A,59725,e);e=n[t>>2]|0}e=n[e+160>>2]|0;if(e|0){t=b+4|0;c=b+8|0;A:while(1){l=e+4|0;e=n[e>>2]|0;if(!e)break;switch(r[e>>0]|0){case 102:{if(!(az(e,95867)|0)){e=l;continue A}break}case 98:{if(!(az(e,95849)|0)){e=l;continue A}break}case 115:{if(!(az(e,95854)|0)){e=l;continue A}break}default:{}}yy(b,e)|0;do{f=e;e=e+1|0}while((r[f>>0]|0)!=0);if(r[e>>0]|0){i=n[t>>2]|0;if(i>>>0>=(n[c>>2]|0)>>>0){Qy(b,1)|0;i=n[t>>2]|0}n[t>>2]=i+1;r[i>>0]=40;f=0;while(1){if(!(r[e>>0]|0))break;if(f|0){i=n[t>>2]|0;if(i>>>0>=(n[c>>2]|0)>>>0){Qy(b,1)|0;i=n[t>>2]|0}n[t>>2]=i+1;r[i>>0]=44}yy(b,e)|0;do{i=e;e=e+1|0}while((r[i>>0]|0)!=0);f=f+1|0}e=n[t>>2]|0;if(e>>>0>=(n[c>>2]|0)>>>0){Qy(b,1)|0;e=n[t>>2]|0}n[t>>2]=e+1;r[e>>0]=41}e=n[t>>2]|0;if(e>>>0>=(n[c>>2]|0)>>>0){Qy(b,1)|0;e=n[t>>2]|0}r[e>>0]=0;e=n[b>>2]|0;n[t>>2]=e;Ye(A,59725,e);e=l}Yy(b)}v=o;return}function Ie(A){A=A|0;ye((n[A+16>>2]|0)+16|0);Ye(A,68667,173878);return}function Ce(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,s=0;s=v;v=v+1040|0;c=s;t=s+16|0;l=n[11344+(n[(n[A+16>>2]|0)+12>>2]<<2)>>2]|0;a=l+4|0;A=n[a>>2]|0;if(A>>>0>=(n[l+8>>2]|0)>>>0){Qy(l,1)|0;A=n[a>>2]|0}n[a>>2]=A+1;r[A>>0]=e;n[c>>2]=f;_p(t,59670,c)|0;yy(l,t)|0;A=0;while(1){if((A|0)>=(f|0))break;t=i+(A<<4)|0;n[c>>2]=n[t>>2];n[c+4>>2]=n[t+4>>2];n[c+8>>2]=n[t+8>>2];n[c+12>>2]=n[t+12>>2];Me(l,c);A=A+1|0}v=s;return}function Me(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+1024|0;r=i;Qe(r,+s[e>>3]);yy(A,r)|0;Qe(r,+hZ(+s[e+8>>3]));yy(A,r)|0;v=i;return}function Qe(A,e){A=A|0;e=+e;var i=0,r=0;i=v;v=v+16|0;r=i;s[r>>3]=e>-1.0e-08&e<1.0e-08?0.0:e;_p(A,59675,r)|0;Ee(A,1);v=i;return}function Ee(A,e){A=A|0;e=e|0;var i=0,f=0;i=Vz(A,46)|0;if(!i){if(e|0){i=A+(Az(A)|0)|0;f=10}}else{while(1){A=i+1|0;if(!(r[A>>0]|0))break;else i=A}A:while(1){switch(r[i>>0]|0){case 46:{f=5;break A}case 48:break;default:{f=6;break A}}r[i>>0]=0;i=i+-1|0}if((f|0)==5)r[i>>0]=0;else if((f|0)==6)i=i+1|0;if(e|0)f=10}if((f|0)==10){r[i>>0]=32;r[i+1>>0]=0}return}function ye(A){A=A|0;var e=0,i=0,f=0,l=0,t=0,c=0;c=v;v=v+32|0;t=c+16|0;l=c;e=r[A+3>>0]|0;i=a[A>>0]|0;f=a[A+1>>0]|0;A=a[A+2>>0]|0;if(e<<24>>24==-1){n[l>>2]=i;n[l+4>>2]=f;n[l+8>>2]=A;_p(173878,68547,l)|0}else{n[t>>2]=i;n[t+4>>2]=f;n[t+8>>2]=A;n[t+12>>2]=e&255;_p(173878,59688,t)|0}v=c;return}function Ye(A,e,i){A=A|0;e=e|0;i=i|0;Ve(n[11344+(n[(n[A+16>>2]|0)+12>>2]<<2)>>2]|0,e,i);return}function Ve(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0;f=v;v=v+1040|0;l=f;a=f+8|0;t=Az(i)|0;n[l>>2]=e;n[l+4>>2]=t;_p(a,59681,l)|0;yy(A,a)|0;yy(A,i)|0;i=A+4|0;e=n[i>>2]|0;if(e>>>0>=(n[A+8>>2]|0)>>>0){Qy(A,1)|0;e=n[i>>2]|0}n[i>>2]=e+1;r[e>>0]=32;v=f;return}function We(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0.0,t=0,b=0.0,o=0.0,u=0.0,B=0.0,k=0.0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0.0;m=v;v=v+1120|0;h=m+64|0;G=m+80|0;t=m+32|0;w=m+16|0;d=m;g=n[A+16>>2]|0;a=+(n[g+136>>2]|0)*.017453292519943295;if((l[(n[41876]|0)+8232>>1]|0)<14)Je(A);else{My(G,1024,m+96|0);Z=(e|0)==2;if(Z){ct(i,t,f,a,2);i=G+4|0;e=n[i>>2]|0;if(e>>>0>=(n[G+8>>2]|0)>>>0){Qy(G,1)|0;e=n[i>>2]|0}n[i>>2]=e+1;r[e>>0]=91;n[h>>2]=n[t>>2];n[h+4>>2]=n[t+4>>2];n[h+8>>2]=n[t+8>>2];n[h+12>>2]=n[t+12>>2];Me(G,h);d=t+16|0;n[h>>2]=n[d>>2];n[h+4>>2]=n[d+4>>2];n[h+8>>2]=n[d+8>>2];n[h+12>>2]=n[d+12>>2];Me(G,h)}else{ct(i,t,f,0.0,3);k=+s[t+24>>3];u=+s[t>>3];if(a==0.0){o=+s[t+8>>3];B=k*.25;a=o;b=u}else{B=k*.25;I=B;b=+J(+a)*I+u;o=+s[t+8>>3];a=+N(+a)*I+o}s[w>>3]=b;s[w+8>>3]=a;s[d>>3]=u;s[d+8>>3]=o;i=G+4|0;e=n[i>>2]|0;if(e>>>0>=(n[G+8>>2]|0)>>>0){Qy(G,1)|0;e=n[i>>2]|0}n[i>>2]=e+1;r[e>>0]=40;n[h>>2]=n[w>>2];n[h+4>>2]=n[w+4>>2];n[h+8>>2]=n[w+8>>2];n[h+12>>2]=n[w+12>>2];Me(G,h);Ne(G,B);n[h>>2]=n[d>>2];n[h+4>>2]=n[d+4>>2];n[h+8>>2]=n[d+8>>2];n[h+12>>2]=n[d+12>>2];Me(G,h);Ne(G,k)}yy(G,59731)|0;e=g+140|0;a=+c[e>>2];i=g+56|0;if(a>0.0){ze(G,a,i);ze(G,+c[e>>2],g+96|0)}else{ze(G,0.0,i);ze(G,1.0,g+96|0)}Vy(G)|0;t=G+4|0;e=n[t>>2]|0;f=G+8|0;i=e>>>0>=(n[f>>2]|0)>>>0;if(Z){if(i){Qy(G,1)|0;e=n[t>>2]|0}n[t>>2]=e+1;r[e>>0]=93}else{if(i){Qy(G,1)|0;e=n[t>>2]|0}n[t>>2]=e+1;r[e>>0]=41}e=n[t>>2]|0;if(e>>>0>=(n[f>>2]|0)>>>0){Qy(G,1)|0;e=n[t>>2]|0}r[e>>0]=0;Z=n[G>>2]|0;n[t>>2]=Z;Ye(A,59728,Z);Yy(G)}v=m;return}function Je(A){A=A|0;ye((n[A+16>>2]|0)+56|0);Ye(A,59728,173878);return}function Ne(A,e){A=A|0;e=+e;var i=0,r=0;i=v;v=v+1024|0;r=i;Qe(r,e);yy(A,r)|0;v=i;return}function ze(A,e,i){A=A|0;e=+e;i=i|0;var r=0,f=0,n=0;r=v;v=v+1040|0;n=r;f=r+8|0;s[n>>3]=e;_p(f,59734,n)|0;Ee(f,1);ye(i);Ve(A,f,173878);v=r;return}function pe(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0;r=v;v=v+1040|0;l=r;f=r+16|0;a=n[11344+(n[(n[A+16>>2]|0)+12>>2]<<2)>>2]|0;yy(a,59843)|0;n[l>>2]=n[i>>2];n[l+4>>2]=n[i+4>>2];n[l+8>>2]=n[i+8>>2];n[l+12>>2]=n[i+12>>2];Me(a,l);Qe(f,+s[i+16>>3]-+s[i>>3]);yy(a,f)|0;Qe(f,+s[i+24>>3]-+s[i+8>>3]);yy(a,f)|0;Ye(A,174177,n[e+8>>2]|0);v=r;return}function Re(A){A=A|0;var e=0;switch(n[A+64>>2]|0){case 0:{e=pB(n[A>>2]|0)|0;Ik(e,n[(n[A+16>>2]|0)+8>>2]|0,60630,0)|0;RB(e);break}case 1:{JZ(n[(n[A>>2]|0)+168>>2]|0);break}default:{}}return}function Pe(A){A=A|0;var e=0,i=0,f=0,a=0;f=v;v=v+16|0;e=f;i=n[(n[A+16>>2]|0)+8>>2]|0;if(!(n[41889]|0)){n[41889]=n[4442];n[41890]=9;n[41891]=17}n[(n[i+64>>2]|0)+8>>2]=167556;He(i,1);n[e>>2]=0;r[e+4>>0]=(r[(n[i+16>>2]|0)+115>>0]|0)==1&1;a=n[A+64>>2]|0;r[e+5>>0]=((a|0)==0|(a|0)==3)&1;r[e+6>>0]=0;Fe(i,A,1,e);v=f;return}function He(A,e){A=A|0;e=e|0;var i=0;n[A>>2]=n[A>>2]&-9;i=iJ(A)|0;while(1){if(!i)break;He(i,0);i=rJ(i)|0}A:do{if(e|0){e=CV(A)|0;while(1){if(!e)break A;n[e>>2]=n[e>>2]&-9;i=bY(A,e)|0;while(1){if(!i)break;n[i>>2]=n[i>>2]&-9;i=uY(A,i)|0}e=MV(A,e)|0}}}while(0);return}function Fe(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0;k=v;v=v+16|0;B=k+8|0;u=k;o=(i|0)!=0;if(o){b=oy(11764,n[4345]|0)|0;oW(A,1,86743,12,0);oW(A,2,86743,12,0);oW(A,0,86743,-12,0);f=Le(A,0,b)|0;c=CV(A)|0;t=0;a=0;while(1){if(!c)break;if(!(Yz(qY(c)|0,92983,7)|0)){s=a;a=De(b,qY(c)|0)|0}else{s=a+1|0;a=a+f|0}n[(nW(c,86743,0)|0)+8>>2]=a;l=bY(A,c)|0;a=t;while(1){if(!l)break;n[(nW(l,86743,0)|0)+8>>2]=a;l=uY(A,l)|0;a=a+1|0}c=MV(A,c)|0;t=a;a=s}ay(b)|0}else f=0;b=n[r>>2]|0;n[r>>2]=b+1;Xe(e,b);IB(e,82337)|0;Te(A,e,i,r);xe(A,e,r);IB(e,82308)|0;Xe(e,n[r>>2]|0);if(o){n[u>>2]=f;YB(e,59846,u)}else{n[B>>2]=n[(nW(A,86743,0)|0)+8>>2];YB(e,59866,B)}je(A,e,i,Ue(A,e,i,r)|0,r);Se(A,e,i,r);IB(e,134901)|0;B=(n[r>>2]|0)+-1|0;n[r>>2]=B;Xe(e,B);if(o)IB(e,95774)|0;else IB(e,68190)|0;v=k;return}function Le(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if((FV(A)|0)!=(A|0)){r=e+1|0;n[(nW(A,86743,0)|0)+8>>2]=e;if(!(Yz(qY(A)|0,92983,7)|0)){e=qY(A)|0;ai(i,e,n[(nW(A,86743,0)|0)+8>>2]|0);e=r}else e=r}r=iJ(A)|0;while(1){if(!r)break;A=Le(r,e,i)|0;r=rJ(r)|0;e=A}return e|0}function De(A,e){A=A|0;e=e|0;A=kF[n[A>>2]&31](A,e,512)|0;if(!A)A=-1;else A=n[A+12>>2]|0;return A|0}function Xe(A,e){A=A|0;e=e|0;while(1){if((e|0)<=0)break;IB(A,60598)|0;e=e+-1|0}return}function Te(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0;l=v;v=v+32|0;a=l+16|0;f=l+8|0;t=l;c=qY(A)|0;Xe(e,n[r>>2]|0);n[t>>2]=_e(c,r)|0;YB(e,59954,t);if(i|0){IB(e,82308)|0;Xe(e,n[r>>2]|0);c=(HY(A)|0)!=0;n[f>>2]=c?92629:122100;YB(e,60568,f);Xe(e,n[r>>2]|0);c=(LY(A)|0)!=0;n[a>>2]=c?92629:122100;YB(e,60585,a)}v=l;return}function xe(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;u=v;v=v+16|0;o=u+8|0;b=u;t=FV(A)|0;c=n[A>>2]&3;f=$y(t,c,0)|0;A:do{if(f|0){s=i+5|0;while(1){if(!f)break A;a=nY(A,f)|0;do{if(a|0){l=f+8|0;if(!(r[a>>0]|0)){a=n[l>>2]|0;if((r[a>>0]|0)!=108)break;if(az(a,86184)|0)break}IB(e,82308)|0;Xe(e,n[i>>2]|0);n[b>>2]=_e(n[l>>2]|0,i)|0;YB(e,60004,b);if(r[s>>0]|0?$e(n[l>>2]|0)|0:0){Ai(nY(A,f)|0,e,i);break}n[o>>2]=_e(nY(A,f)|0,i)|0;YB(e,60011,o)}}while(0);f=$y(t,c,f)|0}}}while(0);v=u;return}function Ue(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0;t=v;v=v+16|0;l=t;f=iJ(A)|0;if(f){IB(e,82308)|0;a=n[r>>2]|0;n[r>>2]=a+1;Xe(e,a);a=(i|0)!=0;if(a){IB(e,59928)|0;A=0;i=f}else{IB(e,59988)|0;Xe(e,n[r>>2]|0);A=0;i=f}while(1){if(!i)break;if(!A)A=1;else IB(e,82308)|0;if(a)qe(i,e,r);else{n[l>>2]=n[(nW(i,86743,0)|0)+8>>2];YB(e,122187,l)}i=rJ(i)|0}if(a)A=1;else{n[r>>2]=(n[r>>2]|0)+-1;IB(e,134901)|0;Xe(e,n[r>>2]|0);IB(e,82303)|0;A=1}}else A=0;v=t;return A|0}function je(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0;a=CV(A)|0;if(!a){if((i|0)!=0&(r|0)!=0){n[f>>2]=(n[f>>2]|0)+-1;IB(e,134901)|0;Xe(e,n[f>>2]|0);IB(e,82303)|0}}else{IB(e,82308)|0;l=(i|0)!=0;if(l)if(!r){r=n[f>>2]|0;n[f>>2]=r+1;Xe(e,r);IB(e,59928)|0;r=0}else r=0;else{r=n[f>>2]|0;n[f>>2]=r+1;Xe(e,r);IB(e,59942)|0;Xe(e,n[f>>2]|0);r=0}while(1){if(!a)break;if(Yz(qY(a)|0,92983,7)|0){do{if(r)if(l){IB(e,82308)|0;break}else{IB(e,85974)|0;break}else r=1}while(0);Ke(a,e,i,f)}a=MV(A,a)|0}n[f>>2]=(n[f>>2]|0)+-1;IB(e,134901)|0;Xe(e,n[f>>2]|0);IB(e,82303)|0}return}function Se(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0;f=CV(A)|0;A:do{if(f|0){while(1){if(!f)break A;if(bY(A,f)|0)break;f=MV(A,f)|0}IB(e,82308)|0;t=n[r>>2]|0;n[r>>2]=t+1;Xe(e,t);IB(e,59878)|0;t=(i|0)!=0;if(t)a=0;else{Xe(e,n[r>>2]|0);a=0}while(1){if(!f)break;l=bY(A,f)|0;while(1){if(!l)break;do{if(a)if(t){IB(e,82308)|0;break}else{IB(e,85974)|0;break}else a=1}while(0);Oe(l,e,i,r);l=uY(A,l)|0}f=MV(A,f)|0}n[r>>2]=(n[r>>2]|0)+-1;IB(e,134901)|0;Xe(e,n[r>>2]|0);IB(e,82303)|0}}while(0);return}function Oe(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0;c=v;v=v+32|0;t=c+24|0;l=c+16|0;a=c+8|0;f=c;if(!i){n[t>>2]=n[(nW(A,86743,0)|0)+8>>2];YB(e,122187,t)}else{t=n[r>>2]|0;n[r>>2]=t+1;Xe(e,t);IB(e,82337)|0;Xe(e,n[r>>2]|0);n[f>>2]=n[(nW(A,86743,0)|0)+8>>2];YB(e,59890,f);Xe(e,n[r>>2]|0);n[a>>2]=n[(nW(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0,86743,0)|0)+8>>2];YB(e,59904,a);Xe(e,n[r>>2]|0);n[l>>2]=n[(nW(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,86743,0)|0)+8>>2];YB(e,59917,l);xe(A,e,r);IB(e,134901)|0;t=(n[r>>2]|0)+-1|0;n[r>>2]=t;Xe(e,t);IB(e,68190)|0}v=c;return}function Ke(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0;t=v;v=v+32|0;l=t+16|0;a=t+8|0;f=t;if(!i){n[l>>2]=n[(nW(A,86743,0)|0)+8>>2];YB(e,122187,l)}else{l=n[r>>2]|0;n[r>>2]=l+1;Xe(e,l);IB(e,82337)|0;Xe(e,n[r>>2]|0);n[f>>2]=n[(nW(A,86743,0)|0)+8>>2];YB(e,59890,f);Xe(e,n[r>>2]|0);n[a>>2]=_e(qY(A)|0,r)|0;YB(e,59954,a);xe(A,e,r);IB(e,134901)|0;l=(n[r>>2]|0)+-1|0;n[r>>2]=l;Xe(e,l);IB(e,68190)|0}v=t;return}function _e(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=e+4|0;if(r[a>>0]|0)A=pC(A)|0;if(!(n[41892]|0)){My(167568,1024,0);i=A}else i=A;A:while(1){f=r[i>>0]|0;switch(f<<24>>24){case 0:break A;case 34:{yy(167568,59967)|0;break}case 92:{yy(167568,81579)|0;break}case 47:{yy(167568,59970)|0;break}case 8:{yy(167568,59973)|0;break}case 12:{yy(167568,59976)|0;break}case 10:{yy(167568,59979)|0;break}case 13:{yy(167568,59982)|0;break}case 9:{yy(167568,59985)|0;break}default:{e=n[41893]|0;if(e>>>0>=(n[41894]|0)>>>0){Qy(167568,1)|0;e=n[41893]|0}n[41893]=e+1;r[e>>0]=f}}i=i+1|0}e=n[41893]|0;if(e>>>0>=(n[41894]|0)>>>0){Qy(167568,1)|0;e=n[41893]|0}r[e>>0]=0;e=n[41892]|0;n[41893]=e;if(r[a>>0]|0)zN(A);return e|0}function qe(A,e,i){A=A|0;e=e|0;i=i|0;Fe(A,e,0,i);A=iJ(A)|0;while(1){if(!A)break;IB(e,82308)|0;qe(A,e,i);A=rJ(A)|0}return}function $e(A){A=A|0;var e=0;e=A+1|0;A:do{if((r[A>>0]|0)==95){A=(r[e>>0]|0)+-100<<24>>24;switch(((A&255)>>>2|A<<6&255)<<24>>24){case 0:{if(!(az(e,60525)|0)){A=1;break A}break}case 2:{if(!(az(e,60531)|0)){A=1;break A}break}case 1:{if(!(az(e,60538)|0)){A=1;break A}return(az(e,60552)|0)==0|0}case 4:{if(!(az(e,60545)|0)){A=1;break A}A=(az(e,60560)|0)==0&1;break A}default:{A=0;break A}}A=0}else A=0}while(0);return A|0}function Ai(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0;t=v;v=v+16|0;f=t;do{if(A|0?r[A>>0]|0:0){l=Nw(A)|0;if(!l){n[f>>2]=A;Gy(0,60016,f)|0;break}IB(e,134901)|0;a=n[i>>2]|0;n[i>>2]=a+1;Xe(e,a);IB(e,60043)|0;a=l+8|0;A=0;f=0;while(1){if((f|0)>=(n[l>>2]|0))break;if(!A)A=1;else IB(e,82308)|0;ei((n[a>>2]|0)+(f*80|0)|0,e,i);f=f+1|0}n[i>>2]=(n[i>>2]|0)+-1;IB(e,134901)|0;Xe(e,n[i>>2]|0);IB(e,82303)|0;zw(l)}}while(0);v=t;return}function ei(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0.0,E=0.0,y=0.0;M=v;v=v+240|0;I=M+224|0;m=M+216|0;G=M+208|0;Z=M+200|0;g=M+192|0;h=M+184|0;d=M+176|0;w=M+152|0;k=M+136|0;B=M+128|0;u=M+112|0;o=M+104|0;b=M+96|0;c=M+88|0;t=M+72|0;l=M+48|0;C=M+40|0;a=M+8|0;f=M;r=n[i>>2]|0;n[i>>2]=r+1;Xe(e,r);IB(e,82337)|0;Xe(e,n[i>>2]|0);r=n[A>>2]|0;A:do{switch(r|0){case 1:case 0:{n[f>>2]=(r|0)==0?69:101;YB(e,60046,f);Xe(e,n[i>>2]|0);y=+s[A+16>>3];E=+s[A+24>>3];Q=+s[A+32>>3];s[a>>3]=+s[A+8>>3];s[a+8>>3]=y;s[a+16>>3]=E;s[a+24>>3]=Q;YB(e,60059,a);break}case 3:case 2:{n[C>>2]=(r|0)==2?80:112;YB(e,60046,C);Xe(e,n[i>>2]|0);ii(e,A+8|0);break}case 5:case 4:{n[l>>2]=(r|0)==4?66:98;YB(e,60046,l);Xe(e,n[i>>2]|0);ii(e,A+8|0);break}case 6:{YB(e,60094,M+56|0);Xe(e,n[i>>2]|0);ii(e,A+8|0);break}case 7:{YB(e,60106,M+64|0);Xe(e,n[i>>2]|0);y=+s[A+16>>3];s[t>>3]=+s[A+8>>3];s[t+8>>3]=y;YB(e,60118,t);Xe(e,n[i>>2]|0);C=n[A+24>>2]|0;n[c>>2]=(C|0)==0?108:(C|0)==1?99:114;YB(e,60140,c);Xe(e,n[i>>2]|0);s[b>>3]=+s[A+32>>3];YB(e,60156,b);Xe(e,n[i>>2]|0);n[o>>2]=_e(n[A+40>>2]|0,i)|0;YB(e,60173,o);break}case 9:case 8:{n[u>>2]=(r|0)==8?67:99;YB(e,60046,u);Xe(e,n[i>>2]|0);YB(e,60187,M+120|0);Xe(e,n[i>>2]|0);n[B>>2]=_e(n[A+8>>2]|0,i)|0;YB(e,60204,B);break}case 13:case 14:{n[k>>2]=(r|0)==13?67:99;YB(e,60046,k);Xe(e,n[i>>2]|0);switch(n[A+8>>2]|0){case 0:{YB(e,60187,M+144|0);Xe(e,n[i>>2]|0);n[w>>2]=_e(n[A+16>>2]|0,i)|0;YB(e,60204,w);break A}case 1:{YB(e,60219,M+160|0);Xe(e,n[i>>2]|0);ri(e,A+16|0,i);break A}default:{YB(e,60238,M+168|0);Xe(e,n[i>>2]|0);fi(e,A+16|0,i);break A}}}case 10:{YB(e,60257,d);Xe(e,n[i>>2]|0);s[h>>3]=+s[A+8>>3];YB(e,60269,h);Xe(e,n[i>>2]|0);n[g>>2]=_e(n[A+16>>2]|0,i)|0;YB(e,60285,g);break}case 11:{YB(e,60299,Z);Xe(e,n[i>>2]|0);n[G>>2]=_e(n[A+8>>2]|0,i)|0;YB(e,60311,G);break}case 15:{YB(e,60326,m);Xe(e,n[i>>2]|0);n[I>>2]=n[A+8>>2];YB(e,60338,I);break}default:{}}}while(0);C=(n[i>>2]|0)+-1|0;n[i>>2]=C;Xe(e,C);IB(e,68190)|0;v=M;return}function ii(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0.0;t=v;v=v+48|0;l=t+32|0;a=t+16|0;f=t+8|0;r=n[e>>2]|0;i=n[e+4>>2]|0;YB(A,60499,t);e=0;while(1){if((e|0)>=(r|0))break;if((e|0)>0)YB(A,85974,f);c=+s[i+(e*24|0)+8>>3];s[a>>3]=+s[i+(e*24|0)>>3];s[a+8>>3]=c;YB(A,60511,a);e=e+1|0}YB(A,60452,l);v=t;return}function ri(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0.0,l=0;r=v;v=v+32|0;f=r+16|0;l=r;Xe(A,n[i>>2]|0);a=+s[e+8>>3];s[l>>3]=+s[e>>3];s[l+8>>3]=a;YB(A,60455,l);Xe(A,n[i>>2]|0);a=+s[e+24>>3];s[f>>3]=+s[e+16>>3];s[f+8>>3]=a;YB(A,60477,f);Xe(A,n[i>>2]|0);ni(A,n[e+32>>2]|0,n[e+36>>2]|0,i);v=r;return}function fi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0.0,l=0.0,t=0;r=v;v=v+48|0;f=r+24|0;t=r;Xe(A,n[i>>2]|0);a=+s[e+8>>3];l=+s[e+16>>3];s[t>>3]=+s[e>>3];s[t+8>>3]=a;s[t+16>>3]=l;YB(A,60354,t);Xe(A,n[i>>2]|0);l=+s[e+32>>3];a=+s[e+40>>3];s[f>>3]=+s[e+24>>3];s[f+8>>3]=l;s[f+16>>3]=a;YB(A,60382,f);Xe(A,n[i>>2]|0);ni(A,n[e+48>>2]|0,n[e+52>>2]|0,i);v=r;return}function ni(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,b=0,o=0,u=0.0;b=v;v=v+48|0;t=b+32|0;l=b+16|0;a=b+8|0;YB(A,60410,b);f=0;while(1){if((f|0)>=(e|0))break;if((f|0)>0)YB(A,85974,a);u=+c[i+(f<<3)>>2];o=_e(n[i+(f<<3)+4>>2]|0,r)|0;s[l>>3]=u;n[l+8>>2]=o;YB(A,60421,l);f=f+1|0}YB(A,60452,t);v=b;return}function ai(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;a=v;v=v+16|0;f=a;r=kF[n[A>>2]&31](A,e,512)|0;if(r){if((n[r+12>>2]|0)!=(i|0)){n[f>>2]=e;Gy(0,60601,f)|0}}else{f=pN(1,16)|0;n[f+8>>2]=vR(e)|0;n[f+12>>2]=i;kF[n[A>>2]&31](A,f,1)|0}v=a;return}function li(A,e,i){A=A|0;e=e|0;i=i|0;zN(n[e+8>>2]|0);zN(e);return}function ti(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0;e=v;v=v+32|0;i=e+24|0;r=e+16|0;a=e;f=n[A+16>>2]|0;IB(A,61456)|0;c=n[n[A+12>>2]>>2]|0;t=n[c+4>>2]|0;l=n[c+8>>2]|0;n[a>>2]=n[c>>2];n[a+4>>2]=t;n[a+8>>2]=l;YB(A,61466,a);n[r>>2]=qY(n[f+8>>2]|0)|0;YB(A,61501,r);n[i>>2]=X(n[A+168>>2]|0,n[A+164>>2]|0)|0;YB(A,61514,i);IB(A,61527)|0;IB(A,61537)|0;IB(A,61545)|0;IB(A,61553)|0;IB(A,61561)|0;IB(A,61569)|0;IB(A,61577)|0;IB(A,61581)|0;IB(A,61586)|0;v=e;return}function ci(A){A=A|0;IB(A,61437)|0;return}function si(A){A=A|0;n[41896]=2;return}function bi(A){A=A|0;n[41896]=1;return}function oi(A){A=A|0;n[41896]=2;return}function ui(A){A=A|0;n[41896]=0;return}function vi(A){A=A|0;n[41896]=2;return}function Bi(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0.0,l=0.0,t=0,c=0.0,b=0,o=0,u=0,B=0,k=0.0,w=0.0,d=0;B=v;v=v+80|0;u=B;b=n[(n[A+16>>2]|0)+16>>2]|0;o=n[41896]|0;f=n[i+4>>2]|0;a=+s[A+352>>3]*+s[f+16>>3];l=n[A+360>>2]|0?1.5707963267948966:0.0;t=n[i>>2]|0;c=a*.3333333333333333*+((Az(t)|0)>>>0);f=n[f+8>>2]|0;if(!f)f=-1;else f=n[f+20>>2]|0;d=r[i+48>>0]|0;w=+s[e>>3];k=+s[e+8>>3];i=Ci(t)|0;n[u>>2]=4;n[u+4>>2]=d<<24>>24==108?0:d<<24>>24==114?2:1;n[u+8>>2]=b;n[u+12>>2]=o;n[u+16>>2]=0;n[u+20>>2]=f;s[u+24>>3]=a;s[u+32>>3]=l;n[u+40>>2]=6;s[u+48>>3]=a;s[u+56>>3]=c;n[u+64>>2]=~~(w+(w>=0.0?.5:-.5));n[u+68>>2]=~~(k+(k+-72.0>=0.0?-71.5:-72.5));n[u+72>>2]=i;YB(A,61382,u);v=B;return}function ki(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;o=v;v=v+32|0;c=o;t=o+20|0;b=e+32|0;A:do{switch(n[b>>2]|0){case 5:{i=0;while(1){f=n[12652+(i<<2)>>2]|0;if((i|0)==8)break A;l=n[e>>2]|0;if((r[f>>0]|0)==(r[l>>0]|0)?(az(f,l)|0)==0:0){s=10;break A}i=i+1|0}}case 1:{f=e+1|0;l=e+2|0;i=(Ii(t,a[e>>0]|0,a[f>>0]|0,a[l>>0]|0)|0)+32|0;if(!(n[t>>2]|0))s=10;else{u=a[e>>0]|0;t=a[f>>0]|0;s=a[l>>0]|0;n[c>>2]=0;n[c+4>>2]=i;n[c+8>>2]=u;n[c+12>>2]=t;n[c+16>>2]=s;YB(A,61325,c);s=10}break}default:BA(123205,60722,163,60753)}}while(0);if((s|0)==10)n[e>>2]=i;n[b>>2]=6;v=o;return}function wi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0.0,l=0.0,t=0,c=0,b=0.0,o=0.0,u=0.0,B=0,k=0,w=0,d=0,h=0,g=0;r=v;v=v+112|0;f=r+8|0;g=r+104|0;h=r;c=n[A+16>>2]|0;d=~~+s[c+152>>3];w=n[c+16>>2]|0;k=n[c+56>>2]|0;B=n[41896]|0;Gi(c,g,h);o=+s[e>>3];c=~~(o+(o>=0.0?.5:-.5));b=+s[e+8>>3];t=~~(b+(b>=0.0?.5:-.5));l=+s[e+16>>3];o=l-o;a=+s[e+24>>3];b=a-b;e=n[g>>2]|0;u=+s[h>>3];n[f>>2]=1;n[f+4>>2]=1;n[f+8>>2]=e;n[f+12>>2]=d;n[f+16>>2]=w;n[f+20>>2]=k;n[f+24>>2]=B;n[f+28>>2]=0;n[f+32>>2]=i|0?20:-1;s[f+40>>3]=u;n[f+48>>2]=0;s[f+56>>3]=0.0;n[f+64>>2]=c;n[f+68>>2]=t;n[f+72>>2]=~~(o+(o>=0.0?.5:-.5));n[f+76>>2]=~~(b+(b>=0.0?.5:-.5));n[f+80>>2]=c;n[f+84>>2]=t;n[f+88>>2]=~~(l+(l>=0.0?.5:-.5));n[f+92>>2]=~~(a+(a>=0.0?.5:-.5));YB(A,61260,f);v=r;return}function di(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0.0,t=0,c=0,b=0,o=0,u=0,B=0,k=0;f=v;v=v+96|0;a=f+8|0;u=f+80|0;B=f;k=n[A+16>>2]|0;o=~~+s[k+152>>3];b=n[k+16>>2]|0;c=n[k+56>>2]|0;t=n[41896]|0;Gi(k,u,B);u=n[u>>2]|0;l=+s[B>>3];n[a>>2]=2;n[a+4>>2]=3;n[a+8>>2]=u;n[a+12>>2]=o;n[a+16>>2]=b;n[a+20>>2]=c;n[a+24>>2]=t;n[a+28>>2]=0;n[a+32>>2]=r|0?20:-1;s[a+40>>3]=l;n[a+48>>2]=0;n[a+52>>2]=0;n[a+56>>2]=0;n[a+60>>2]=0;n[a+64>>2]=0;n[a+68>>2]=i+1;YB(A,61164,a);mi(A,e,i,1);v=f;return}function hi(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0.0,Y=0.0,V=0;E=v;v=v+192|0;Q=E+176|0;C=E+168|0;M=E+104|0;I=E+96|0;l=E+88|0;g=E+180|0;Z=E+80|0;G=E+16|0;m=E;f=A+16|0;r=n[f>>2]|0;k=~~+s[r+152>>3];w=n[r+16>>2]|0;d=n[41896]|0;if((i|0)<=3)BA(60715,60722,360,60742);h=NN((i*140|0)+140|0)|0;Gi(r,g,Z);if(!a){u=4;t=0;c=-1}else{u=5;t=n[(n[f>>2]|0)+56>>2]|0;c=20}Y=+s[e>>3];o=G+48|0;s[o>>3]=Y;y=+s[e+8>>3];s[G+56>>3]=y;n[l>>2]=~~(Y+(Y>=0.0?.5:-.5));n[l+4>>2]=~~(y+(y>=0.0?.5:-.5));b=m+8|0;r=h+(_p(h,73932,l)|0)|0;B=1;a=0;while(1){l=a+3|0;if((l|0)>=(i|0))break;n[G>>2]=n[o>>2];n[G+4>>2]=n[o+4>>2];n[G+8>>2]=n[o+8>>2];n[G+12>>2]=n[o+12>>2];f=1;while(1){if((f|0)==4){f=1;break}V=f+a|0;s[G+(f<<4)>>3]=+s[e+(V<<4)>>3];s[G+(f<<4)+8>>3]=+s[e+(V<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;$I(m,G,3,+(f|0)*.16666666666666666,0,0);y=+s[m>>3];Y=+s[b>>3];n[I>>2]=~~(y+(y>=0.0?.5:-.5));n[I+4>>2]=~~(Y+(Y>=0.0?.5:-.5));f=f+1|0;r=r+(_p(r,73932,I)|0)|0}B=B+6|0;a=l}f=n[g>>2]|0;Y=+s[Z>>3];n[M>>2]=3;n[M+4>>2]=u;n[M+8>>2]=f;n[M+12>>2]=k;n[M+16>>2]=w;n[M+20>>2]=t;n[M+24>>2]=d;n[M+28>>2]=0;n[M+32>>2]=c;s[M+40>>3]=Y;n[M+48>>2]=0;n[M+52>>2]=0;n[M+56>>2]=0;n[M+60>>2]=B;YB(A,61215,M);n[C>>2]=h;YB(A,73939,C);zN(h);f=B+-1|0;r=0;while(1){if((r|0)>=(B|0))break;n[Q>>2]=((r|0)%(f|0)|0|0)!=0&1;YB(A,73944,Q);r=r+1|0}IB(A,134901)|0;v=E;return}function gi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0.0,l=0,t=0,c=0,b=0,o=0,u=0;r=v;v=v+96|0;f=r+8|0;b=r+80|0;o=r;u=n[A+16>>2]|0;c=~~+s[u+152>>3];t=n[u+16>>2]|0;l=n[41896]|0;Gi(u,b,o);b=n[b>>2]|0;a=+s[o>>3];n[f>>2]=2;n[f+4>>2]=1;n[f+8>>2]=b;n[f+12>>2]=c;n[f+16>>2]=t;n[f+20>>2]=0;n[f+24>>2]=l;n[f+28>>2]=0;n[f+32>>2]=0;s[f+40>>3]=a;n[f+48>>2]=0;n[f+52>>2]=0;n[f+56>>2]=0;n[f+60>>2]=0;n[f+64>>2]=0;n[f+68>>2]=i;YB(A,61164,f);mi(A,e,i,0);v=r;return}function Zi(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;n[r>>2]=e;YB(A,61158,r);v=i;return}function Gi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(n[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}n[e>>2]=A;s[i>>3]=r;return}function mi(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0.0,b=0.0;t=v;v=v+16|0;l=t+8|0;a=t;f=0;while(1){if((f|0)>=(i|0))break;b=+s[e+(f<<4)>>3];c=+s[e+(f<<4)+8>>3];n[a>>2]=~~(b+(b>=0.0?.5:-.5));n[a+4>>2]=~~(c+(c>=0.0?.5:-.5));YB(A,73932,a);f=f+1|0}if(r|0){c=+s[e>>3];b=+s[e+8>>3];n[l>>2]=~~(c+(c>=0.0?.5:-.5));n[l+4>>2]=~~(b+(b>=0.0?.5:-.5));YB(A,73932,l)}IB(A,134901)|0;v=t;return}function Ii(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;n[A>>2]=0;s=n[41897]|0;l=195075;a=0;t=-1;while(1){if((a|0)>=(s|0)){b=6;break}o=(f[170800+(a<<1)>>1]|0)-e|0;u=(f[171312+(a<<1)>>1]|0)-i|0;c=(f[171824+(a<<1)>>1]|0)-r|0;c=(X(u,u)|0)+(X(o,o)|0)+(X(c,c)|0)|0;if((c|0)<(l|0))if(!c)break;else{l=c;t=a}a=a+1|0}if((b|0)==6){n[41897]=s+1;if((s|0)==256)a=t;else{f[170800+(a<<1)>>1]=e;f[171312+(a<<1)>>1]=i;f[171824+(a<<1)>>1]=r;n[A>>2]=1}}return a|0}function Ci(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;t=v;v=v+16|0;l=t;e=n[41898]|0;if(!e){n[41899]=64;e=NN(64)|0;n[41898]=e;i=0}else i=0;while(1){a=A+1|0;f=r[A>>0]|0;if(!(f<<24>>24))break;A=n[41899]|0;if((i|0)>(A+-8|0)){e=A<<1;n[41899]=e;e=RN(n[41898]|0,e)|0;n[41898]=e;e=e+i|0}if(f<<24>>24<=-1){r[e>>0]=92;n[l>>2]=f&255;_p(e+1|0,74057,l)|0;A=a;e=e+4|0;i=i+4|0;continue}if(f<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=f;A=a;e=e+1|0;i=i+1|0}r[e>>0]=0;v=t;return n[41898]|0}function Mi(A){A=A|0;var e=0,i=0,f=0;i=n[A+16>>2]|0;switch(n[A+64>>2]|0){case 0:{IB(A,61053)|0;e=i+208|0;i=n[e>>2]|0;if(i|0?r[i>>0]|0:0){IB(A,61067)|0;IB(A,yg(n[e>>2]|0)|0)|0;IB(A,134901)|0}break}case 1:{e=i+208|0;f=n[e>>2]|0;if(f|0?r[f>>0]|0:0){IB(A,61067)|0;IB(A,yg(n[e>>2]|0)|0)|0;IB(A,87582)|0;IB(A,yg(qY(n[i+8>>2]|0)|0)|0)|0;IB(A,134901)|0}break}case 3:{f=yg(qY(n[i+8>>2]|0)|0)|0;IB(A,61076)|0;IB(A,f)|0;IB(A,61086)|0;IB(A,f)|0;IB(A,61041)|0;break}default:{}}return}function Qi(A){A=A|0;var e=0;e=n[A+16>>2]|0;switch(n[A+64>>2]|0){case 2:{yi(A,n[e+264>>2]|0,n[e+272>>2]|0,n[e+268>>2]|0,n[e+208>>2]|0,n[e+228>>2]|0,n[e+244>>2]|0,n[e+212>>2]|0);break}case 3:{yi(A,n[e+264>>2]|0,n[e+272>>2]|0,n[e+268>>2]|0,n[e+208>>2]|0,n[e+228>>2]|0,n[e+244>>2]|0,n[e+212>>2]|0);IB(A,61045)|0;break}default:{}}return}function Ei(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0;a=n[A+16>>2]|0;yi(A,n[a+264>>2]|0,n[a+272>>2]|0,n[a+268>>2]|0,e,i,r,f);return}function yi(A,e,i,f,a,l,t,c){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;l=l|0;t=t|0;c=c|0;var b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0.0;I=v;v=v+128|0;m=I+120|0;g=I+112|0;h=I+96|0;d=I+80|0;w=I+56|0;G=I+48|0;k=I+40|0;Z=I+24|0;B=I;A:do{if((i|0)!=0&(f|0)!=0){b=f+10|0;if((n[41900]|0)<(f|0)){n[41900]=b;u=RN(n[41901]|0,b<<3)|0;n[41901]=u}else u=n[41901]|0;b=0;while(1){if((b|0)>=(f|0))break;C=+s[i+(b<<4)>>3];n[u+(b<<3)>>2]=~~(C+(C>=0.0?.5:-.5));C=+s[i+(b<<4)+8>>3];n[u+(b<<3)+4>>2]=~~(C+(C>=0.0?.5:-.5));b=b+1|0}o=A+64|0;b=n[o>>2]|0;i=(a|0)!=0;if(i&(b|0)==0){if(!(r[a>>0]|0))break;switch(e|0){case 0:{Z=n[u>>2]|0;G=n[u+12>>2]|0;m=n[u+8>>2]|0;f=n[u+4>>2]|0;n[B>>2]=a;n[B+4>>2]=Z;n[B+8>>2]=G;n[B+12>>2]=m;n[B+16>>2]=f;YB(A,60787,B);break A}case 1:{G=n[u>>2]|0;m=n[u+4>>2]|0;f=(n[u+8>>2]|0)-G|0;n[Z>>2]=a;n[Z+4>>2]=G;n[Z+8>>2]=m;n[Z+12>>2]=f;YB(A,60808,Z);break A}case 2:{n[k>>2]=a;YB(A,60828,k);b=0;while(1){if((b|0)>=(f|0))break;Z=n[41901]|0;m=n[Z+(b<<3)+4>>2]|0;n[G>>2]=n[Z+(b<<3)>>2];n[G+4>>2]=m;YB(A,60836,G);b=b+1|0}IB(A,134901)|0;break A}default:BA(123205,60843,63,60863)}}if(i&(b|0)==1){if(!(r[a>>0]|0))break;if(!e){G=n[u+12>>2]|0;m=n[u+8>>2]|0;f=n[u+4>>2]|0;n[w>>2]=n[u>>2];n[w+4>>2]=G;n[w+8>>2]=m;n[w+12>>2]=f;n[w+16>>2]=a;n[w+20>>2]=l;YB(A,60880,w);break}else BA(123205,60843,75,60863)}if((b&-2|0)==2){switch(e|0){case 1:{IB(A,60913)|0;break}case 0:{IB(A,60934)|0;break}case 2:{IB(A,60953)|0;break}default:BA(123205,60843,91,60863)}if(c|0?r[c>>0]|0:0){IB(A,66433)|0;IB(A,Wg(c)|0)|0;IB(A,83707)|0}if(i?r[a>>0]|0:0){IB(A,60972)|0;IB(A,Wg(a)|0)|0;IB(A,83707)|0}if(t|0?r[t>>0]|0:0){IB(A,67392)|0;IB(A,yg(t)|0)|0;IB(A,83707)|0}if(l|0?r[l>>0]|0:0){IB(A,60980)|0;IB(A,yg(l)|0)|0;IB(A,83707)|0}IB(A,60989)|0;IB(A,60997)|0;e:do{switch(e|0){case 1:{f=n[41901]|0;G=n[f>>2]|0;m=n[f+4>>2]|0;f=(n[f+8>>2]|0)-G|0;n[d>>2]=G;n[d+4>>2]=m;n[d+8>>2]=f;YB(A,61007,d);break}case 0:{Z=n[41901]|0;G=n[Z+12>>2]|0;m=n[Z+8>>2]|0;f=n[Z+4>>2]|0;n[h>>2]=n[Z>>2];n[h+4>>2]=G;n[h+8>>2]=m;n[h+12>>2]=f;YB(A,61016,h);break}case 2:{G=n[41901]|0;b=n[G+4>>2]|0;n[g>>2]=n[G>>2];n[g+4>>2]=b;YB(A,61028,g);b=1;while(1){if((b|0)>=(f|0))break e;Z=n[41901]|0;G=n[Z+(b<<3)+4>>2]|0;n[m>>2]=n[Z+(b<<3)>>2];n[m+4>>2]=G;YB(A,61034,m);b=b+1|0}}default:{}}}while(0);if((n[o>>2]|0)==3){IB(A,66257)|0;break}else{IB(A,61041)|0;break}}}}while(0);v=I;return}function Yi(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0;e=v;v=v+32|0;i=e+24|0;r=e+16|0;a=e;f=n[A+16>>2]|0;IB(A,61456)|0;c=n[n[A+12>>2]>>2]|0;t=n[c+4>>2]|0;l=n[c+8>>2]|0;n[a>>2]=n[c>>2];n[a+4>>2]=t;n[a+8>>2]=l;YB(A,61466,a);n[r>>2]=qY(n[f+8>>2]|0)|0;YB(A,61501,r);n[i>>2]=X(n[A+168>>2]|0,n[A+164>>2]|0)|0;YB(A,61514,i);IB(A,61527)|0;IB(A,61537)|0;IB(A,61545)|0;IB(A,61553)|0;IB(A,61561)|0;IB(A,61569)|0;IB(A,61577)|0;IB(A,61581)|0;IB(A,61586)|0;v=e;return}function Vi(A){A=A|0;IB(A,61437)|0;return}function Wi(A){A=A|0;n[41902]=2;return}function Ji(A){A=A|0;n[41902]=1;return}function Ni(A){A=A|0;n[41902]=2;return}function zi(A){A=A|0;n[41902]=0;return}function pi(A){A=A|0;n[41902]=2;return}function Ri(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0.0,l=0.0,t=0,c=0,b=0,o=0,u=0.0,B=0.0,k=0;o=v;v=v+80|0;b=o;t=n[(n[A+16>>2]|0)+16>>2]|0;c=n[41902]|0;f=n[i+4>>2]|0;a=+s[A+352>>3]*+s[f+16>>3];l=n[A+360>>2]|0?1.5707963267948966:0.0;f=n[f+8>>2]|0;if(!f)f=-1;else f=n[f+20>>2]|0;k=r[i+48>>0]|0;B=+s[e>>3];u=+s[e+8>>3];i=ji(n[i>>2]|0)|0;n[b>>2]=4;n[b+4>>2]=k<<24>>24==108?0:k<<24>>24==114?2:1;n[b+8>>2]=t;n[b+12>>2]=c;n[b+16>>2]=0;n[b+20>>2]=f;s[b+24>>3]=a;s[b+32>>3]=l;n[b+40>>2]=4;s[b+48>>3]=0.0;s[b+56>>3]=0.0;n[b+64>>2]=~~(B+(B>=0.0?.5:-.5));n[b+68>>2]=~~(u+(u>=0.0?.5:-.5));n[b+72>>2]=i;YB(A,61382,b);v=o;return}function Pi(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;o=v;v=v+32|0;c=o;t=o+20|0;b=e+32|0;A:do{switch(n[b>>2]|0){case 5:{i=0;while(1){f=n[12652+(i<<2)>>2]|0;if((i|0)==8)break A;l=n[e>>2]|0;if((r[f>>0]|0)==(r[l>>0]|0)?(az(f,l)|0)==0:0){s=10;break A}i=i+1|0}}case 1:{f=e+1|0;l=e+2|0;i=(Ui(t,a[e>>0]|0,a[f>>0]|0,a[l>>0]|0)|0)+32|0;if(!(n[t>>2]|0))s=10;else{u=a[e>>0]|0;t=a[f>>0]|0;s=a[l>>0]|0;n[c>>2]=0;n[c+4>>2]=i;n[c+8>>2]=u;n[c+12>>2]=t;n[c+16>>2]=s;YB(A,61325,c);s=10}break}case 0:{i=0;s=10;break}default:BA(123205,61346,168,61365)}}while(0);if((s|0)==10)n[e>>2]=i;n[b>>2]=6;v=o;return}function Hi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0.0,l=0.0,t=0,c=0,b=0.0,o=0.0,u=0.0,B=0,k=0,w=0,d=0,h=0,g=0;r=v;v=v+112|0;f=r+8|0;g=r+104|0;h=r;c=n[A+16>>2]|0;d=~~+s[c+152>>3];w=n[c+16>>2]|0;k=n[c+56>>2]|0;B=n[41902]|0;Ti(c,g,h);o=+s[e>>3];c=~~(o+(o>=0.0?.5:-.5));b=+s[e+8>>3];t=~~(b+(b>=0.0?.5:-.5));l=+s[e+16>>3];o=l-o;a=+s[e+24>>3];b=a-b;e=n[g>>2]|0;u=+s[h>>3];n[f>>2]=1;n[f+4>>2]=1;n[f+8>>2]=e;n[f+12>>2]=d;n[f+16>>2]=w;n[f+20>>2]=k;n[f+24>>2]=B;n[f+28>>2]=0;n[f+32>>2]=i|0?20:-1;s[f+40>>3]=u;n[f+48>>2]=0;s[f+56>>3]=0.0;n[f+64>>2]=c;n[f+68>>2]=t;n[f+72>>2]=~~(o+(o>=0.0?.5:-.5));n[f+76>>2]=~~(b+(b>=0.0?.5:-.5));n[f+80>>2]=c;n[f+84>>2]=t;n[f+88>>2]=~~(l+(l>=0.0?.5:-.5));n[f+92>>2]=~~(a+(a>=0.0?.5:-.5));YB(A,61260,f);v=r;return}function Fi(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0.0,t=0,c=0,b=0,o=0,u=0,B=0,k=0;f=v;v=v+96|0;a=f+8|0;u=f+80|0;B=f;k=n[A+16>>2]|0;o=~~+s[k+152>>3];b=n[k+16>>2]|0;c=n[k+56>>2]|0;t=n[41902]|0;Ti(k,u,B);u=n[u>>2]|0;l=+s[B>>3];n[a>>2]=2;n[a+4>>2]=3;n[a+8>>2]=u;n[a+12>>2]=o;n[a+16>>2]=b;n[a+20>>2]=c;n[a+24>>2]=t;n[a+28>>2]=0;n[a+32>>2]=r|0?20:-1;s[a+40>>3]=l;n[a+48>>2]=0;n[a+52>>2]=0;n[a+56>>2]=0;n[a+60>>2]=0;n[a+64>>2]=0;n[a+68>>2]=i+1;YB(A,61164,a);xi(A,e,i,1);v=f;return}function Li(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0.0,Y=0.0,V=0;E=v;v=v+192|0;Q=E+176|0;C=E+168|0;M=E+104|0;I=E+96|0;f=E+88|0;g=E+180|0;Z=E+80|0;G=E+16|0;m=E;r=A+16|0;B=n[r>>2]|0;k=~~+s[B+152>>3];w=n[B+16>>2]|0;d=n[41902]|0;h=NN((i*140|0)+140|0)|0;Ti(B,g,Z);if(!a){u=4;t=0;c=-1}else{u=5;t=n[(n[r>>2]|0)+56>>2]|0;c=20}Y=+s[e>>3];o=G+48|0;s[o>>3]=Y;y=+s[e+8>>3];s[G+56>>3]=y;n[f>>2]=~~(Y+(Y>=0.0?.5:-.5));n[f+4>>2]=~~(y+(y>=0.0?.5:-.5));b=m+8|0;r=h+(_p(h,73932,f)|0)|0;B=1;a=0;while(1){l=a+3|0;if((l|0)>=(i|0))break;n[G>>2]=n[o>>2];n[G+4>>2]=n[o+4>>2];n[G+8>>2]=n[o+8>>2];n[G+12>>2]=n[o+12>>2];f=1;while(1){if((f|0)==4){f=1;break}V=f+a|0;s[G+(f<<4)>>3]=+s[e+(V<<4)>>3];s[G+(f<<4)+8>>3]=+s[e+(V<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;$I(m,G,3,+(f|0)*.16666666666666666,0,0);y=+s[m>>3];Y=+s[b>>3];n[I>>2]=~~(y+(y>=0.0?.5:-.5));n[I+4>>2]=~~(Y+(Y>=0.0?.5:-.5));f=f+1|0;r=r+(_p(r,73932,I)|0)|0}B=B+6|0;a=l}f=n[g>>2]|0;Y=+s[Z>>3];n[M>>2]=3;n[M+4>>2]=u;n[M+8>>2]=f;n[M+12>>2]=k;n[M+16>>2]=w;n[M+20>>2]=t;n[M+24>>2]=d;n[M+28>>2]=0;n[M+32>>2]=c;s[M+40>>3]=Y;n[M+48>>2]=0;n[M+52>>2]=0;n[M+56>>2]=0;n[M+60>>2]=B;YB(A,61215,M);n[C>>2]=h;YB(A,73939,C);zN(h);f=B+-1|0;r=0;while(1){if((r|0)>=(B|0))break;n[Q>>2]=((r|0)%(f|0)|0|0)!=0&1;YB(A,73944,Q);r=r+1|0}IB(A,134901)|0;v=E;return}function Di(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0.0,l=0,t=0,c=0,b=0,o=0,u=0;r=v;v=v+96|0;f=r+8|0;b=r+80|0;o=r;u=n[A+16>>2]|0;c=~~+s[u+152>>3];t=n[u+16>>2]|0;l=n[41902]|0;Ti(u,b,o);b=n[b>>2]|0;a=+s[o>>3];n[f>>2]=2;n[f+4>>2]=1;n[f+8>>2]=b;n[f+12>>2]=c;n[f+16>>2]=t;n[f+20>>2]=0;n[f+24>>2]=l;n[f+28>>2]=0;n[f+32>>2]=0;s[f+40>>3]=a;n[f+48>>2]=0;n[f+52>>2]=0;n[f+56>>2]=0;n[f+60>>2]=0;n[f+64>>2]=0;n[f+68>>2]=i;YB(A,61164,f);xi(A,e,i,0);v=r;return}function Xi(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;n[r>>2]=e;YB(A,61158,r);v=i;return}function Ti(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(n[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}n[e>>2]=A;s[i>>3]=r;return}function xi(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0.0,b=0.0;t=v;v=v+16|0;l=t+8|0;a=t;f=0;while(1){if((f|0)>=(i|0))break;b=+s[e+(f<<4)>>3];c=+s[e+(f<<4)+8>>3];n[a>>2]=~~(b+(b>=0.0?.5:-.5));n[a+4>>2]=~~(c+(c>=0.0?.5:-.5));YB(A,73932,a);f=f+1|0}if(r|0){c=+s[e>>3];b=+s[e+8>>3];n[l>>2]=~~(c+(c>=0.0?.5:-.5));n[l+4>>2]=~~(b+(b>=0.0?.5:-.5));YB(A,73932,l)}IB(A,134901)|0;v=t;return}function Ui(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;n[A>>2]=0;s=n[41903]|0;l=195075;a=0;t=-1;while(1){if((a|0)>=(s|0)){b=6;break}o=(f[172336+(a<<1)>>1]|0)-e|0;u=(f[172848+(a<<1)>>1]|0)-i|0;c=(f[173360+(a<<1)>>1]|0)-r|0;c=(X(u,u)|0)+(X(o,o)|0)+(X(c,c)|0)|0;if((c|0)<(l|0))if(!c)break;else{l=c;t=a}a=a+1|0}if((b|0)==6){n[41903]=s+1;if((s|0)==256)a=t;else{f[172336+(a<<1)>>1]=e;f[172848+(a<<1)>>1]=i;f[173360+(a<<1)>>1]=r;n[A>>2]=1}}return a|0}function ji(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;t=v;v=v+16|0;l=t;e=n[41904]|0;if(!e){n[41905]=64;e=NN(64)|0;n[41904]=e;i=0}else i=0;while(1){a=A+1|0;f=r[A>>0]|0;if(!(f<<24>>24))break;A=n[41905]|0;if((i|0)>(A+-8|0)){e=A<<1;n[41905]=e;e=RN(n[41904]|0,e)|0;n[41904]=e;e=e+i|0}if(f<<24>>24<=-1){r[e>>0]=92;n[l>>2]=f&255;_p(e+1|0,74057,l)|0;A=a;e=e+4|0;i=i+4|0;continue}if(f<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=f;A=a;e=e+1|0;i=i+1|0}r[e>>0]=0;v=t;return n[41904]|0}function Si(A){A=A|0;var e=0,i=0,r=0,f=0,a=0;i=v;v=v+16|0;e=i;IB(A,66165)|0;if((n[A+64>>2]|0)==2)IB(A,66180)|0;else IB(A,134901)|0;a=n[n[A+12>>2]>>2]|0;f=n[a+4>>2]|0;r=n[a+8>>2]|0;n[e>>2]=n[a>>2];n[e+4>>2]=f;n[e+8>>2]=r;YB(A,66191,e);v=i;return}function Oi(A){A=A|0;var e=0,i=0,r=0,f=0,a=0;a=v;v=v+32|0;f=a+8|0;r=a;IB(A,66119)|0;i=A+64|0;e=A+12|0;if((n[i>>2]|0)!=2){n[r>>2]=n[(n[e>>2]|0)+28>>2];YB(A,66130,r)}if((n[(n[e>>2]|0)+20>>2]|0)==0?(n[i>>2]|0)!=2:0){e=n[A+476>>2]|0;i=n[A+480>>2]|0;r=n[A+484>>2]|0;n[f>>2]=n[A+472>>2];n[f+4>>2]=e;n[f+8>>2]=i;n[f+12>>2]=r;YB(A,62499,f)}IB(A,66145)|0;IB(A,66158)|0;v=a;return}function Ki(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;s=v;v=v+32|0;c=s+24|0;f=s+8|0;t=s;a=n[A+16>>2]|0;r[173888]=0;i=A+12|0;l=a+8|0;if(!(n[(n[i>>2]|0)+28>>2]|0)){n[t>>2]=qY(n[l>>2]|0)|0;YB(A,62430,t);e=A+64|0;if((n[e>>2]|0)==2)IB(A,62463)|0;else IB(A,62445)|0;do{if(!(n[(n[i>>2]|0)+20>>2]|0))if((n[e>>2]|0)==2){o=n[A+460>>2]|0;b=n[A+464>>2]|0;e=n[A+468>>2]|0;n[f>>2]=n[A+456>>2];n[f+4>>2]=o;n[f+8>>2]=b;n[f+12>>2]=e;YB(A,62499,f);break}else{IB(A,62475)|0;break}}while(0);IB(A,62529)|0;kG(A,n[(n[i>>2]|0)+24>>2]|0,12928);dG(A);e=n[(n[i>>2]|0)+20>>2]|0;if(e|0){n[t>>2]=n[e>>2];n[t+4>>2]=0;kG(A,0,t)}}n[41906]=(r[(n[(n[l>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(r[173888]|0)){IB(A,62549)|0;r[173888]=1}e=n[a+208>>2]|0;if(e|0){n[c>>2]=hG(e,n[41906]|0)|0;YB(A,62562,c)}v=s;return}function _i(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;e=v;v=v+16|0;f=e;n[f>>2]=i;n[f+4>>2]=r;YB(A,62414,f);v=e;return}function qi(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0.0,Z=0.0,G=0.0;d=v;v=v+144|0;w=d+128|0;k=d+112|0;B=d+72|0;u=d+56|0;o=d+40|0;b=d+32|0;r=d+24|0;e=d+8|0;i=d;f=n[A+456>>2]|0;t=n[A+460>>2]|0;a=n[A+464>>2]|0;l=n[A+468>>2]|0;c=A+12|0;h=(n[(n[c>>2]|0)+28>>2]|0)+1|0;n[i>>2]=h;n[i+4>>2]=h;YB(A,62041,i);if(!(n[(n[c>>2]|0)+20>>2]|0)){n[e>>2]=f;n[e+4>>2]=t;n[e+8>>2]=a;n[e+12>>2]=l;YB(A,62058,e)}i=A+360|0;n[r>>2]=n[i>>2]|0?62092:62102;YB(A,62111,r);e=A+64|0;if((n[e>>2]|0)==1){n[b>>2]=a;n[b+4>>2]=l;YB(A,62136,b)}b=n[A+200>>2]|0;h=n[A+204>>2]|0;n[o>>2]=n[A+196>>2];n[o+4>>2]=b;n[o+8>>2]=h;YB(A,62175,o);if(!(n[(n[c>>2]|0)+20>>2]|0)){n[u>>2]=f;n[u+4>>2]=t;n[u+8>>2]=a-f;n[u+12>>2]=l-t;YB(A,62195,u)}G=+s[A+496>>3];h=n[i>>2]|0;Z=+s[A+504>>3];g=+s[A+512>>3];s[B>>3]=+s[A+488>>3];s[B+8>>3]=G;n[B+16>>2]=h;s[B+24>>3]=Z;s[B+32>>3]=g;YB(A,62235,B);if((n[e>>2]|0)==1){if((a|0)>14399|(l|0)>14399){h=n[(n[c>>2]|0)+16>>2]|0;n[k>>2]=a;n[k+4>>2]=l;n[k+8>>2]=14400;GF[h&31](62278,k)}n[w>>2]=f;n[w+4>>2]=t;n[w+8>>2]=a;n[w+12>>2]=l;YB(A,62373,w)}v=d;return}function $i(A){A=A|0;var e=0,i=0,r=0;r=v;v=v+16|0;i=r;e=A+12|0;if(n[(n[e>>2]|0)+20>>2]|0){IB(A,61965)|0;kG(A,0,(n[(n[e>>2]|0)+20>>2]|0)+4|0)}IB(A,61982)|0;IB(A,62009)|0;n[i>>2]=n[(n[e>>2]|0)+28>>2];YB(A,62024,i);v=r;return}function Ar(A){A=A|0;var e=0,i=0;e=v;v=v+16|0;i=e;n[i>>2]=qY(n[(n[A+16>>2]|0)+8>>2]|0)|0;YB(A,61958,i);IB(A,61951)|0;v=e;return}function er(A){A=A|0;IB(A,77394)|0;return}function ir(A){A=A|0;IB(A,61951)|0;return}function rr(A){A=A|0;IB(A,77394)|0;return}function fr(A){A=A|0;IB(A,61951)|0;return}function nr(A){A=A|0;IB(A,77394)|0;return}function ar(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0;r=v;v=v+16|0;i=r;if(e|0?(a=(n[A+16>>2]|0)+272|0,n[a>>2]|0):0){IB(A,61847)|0;NB(A,n[a>>2]|0,2);IB(A,61858)|0;n[i>>2]=hG(e,n[41906]|0)|0;YB(A,61862,i)}v=r;return}function lr(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0.0,l=0,t=0,c=0,b=0,o=0;b=v;v=v+32|0;t=b+8|0;c=b;f=n[A+16>>2]|0;if(!(+s[f+40>>3]<.5)){vr(A,f+16|0);l=i+4|0;VB(A,+s[(n[l>>2]|0)+16>>3]);n[t>>2]=n[n[l>>2]>>2];YB(A,61806,t);l=hG(n[i>>2]|0,n[41906]|0)|0;switch(r[i+48>>0]|0){case 114:{o=i+32|0;f=o;a=+s[o>>3];break}case 108:{f=i+32|0;a=0.0;break}default:{o=i+32|0;f=o;a=+s[o>>3]*.5}}s[e>>3]=+s[e>>3]-a;o=e+8|0;s[o>>3]=+s[o>>3]+ +s[i+24>>3];n[t>>2]=n[e>>2];n[t+4>>2]=n[e+4>>2];n[t+8>>2]=n[e+8>>2];n[t+12>>2]=n[e+12>>2];JB(A,t);IB(A,61821)|0;VB(A,+s[f>>3]);n[c>>2]=l;YB(A,61830,c)}v=b;return}function tr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;a=v;v=v+32|0;f=a;n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];s[f+16>>3]=+s[e+16>>3]-+s[e>>3];s[f+24>>3]=+s[e+24>>3]-+s[e+8>>3];e=A+16|0;if(i|0?(r=n[e>>2]|0,+s[r+80>>3]>.5):0){vr(A,r+56|0);NB(A,f,2);IB(A,61764)|0}if(+s[(n[e>>2]|0)+40>>3]>.5){Br(A);vr(A,(n[e>>2]|0)+16|0);NB(A,f,2);IB(A,61784)|0}v=a;return}function cr(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0;t=v;v=v+16|0;l=t;a=A+16|0;if(r|0?(f=n[a>>2]|0,+s[f+80>>3]>.5):0){vr(A,f+56|0);IB(A,61685)|0;n[l>>2]=n[e>>2];n[l+4>>2]=n[e+4>>2];n[l+8>>2]=n[e+8>>2];n[l+12>>2]=n[e+12>>2];JB(A,l);IB(A,61694)|0;r=1;while(1){if((r|0)>=(i|0))break;f=e+(r<<4)|0;n[l>>2]=n[f>>2];n[l+4>>2]=n[f+4>>2];n[l+8>>2]=n[f+8>>2];n[l+12>>2]=n[f+12>>2];JB(A,l);IB(A,61703)|0;r=r+1|0}IB(A,61730)|0}if(+s[(n[a>>2]|0)+40>>3]>.5){Br(A);vr(A,(n[a>>2]|0)+16|0);IB(A,61685)|0;n[l>>2]=n[e>>2];n[l+4>>2]=n[e+4>>2];n[l+8>>2]=n[e+8>>2];n[l+12>>2]=n[e+12>>2];JB(A,l);IB(A,61694)|0;r=1;while(1){if((r|0)>=(i|0))break;a=e+(r<<4)|0;n[l>>2]=n[a>>2];n[l+4>>2]=n[a+4>>2];n[l+8>>2]=n[a+8>>2];n[l+12>>2]=n[a+12>>2];JB(A,l);IB(A,61703)|0;r=r+1|0}IB(A,61746)|0}v=t;return}function sr(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0,c=0;c=v;v=v+16|0;f=c;l=A+16|0;if(a|0?(t=n[l>>2]|0,+s[t+80>>3]>.5):0){vr(A,t+56|0);IB(A,61685)|0;n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];JB(A,f);IB(A,61694)|0;r=1;while(1){if((r|0)>=(i|0))break;NB(A,e+(r<<4)|0,3);IB(A,61720)|0;r=r+3|0}IB(A,61730)|0}if(+s[(n[l>>2]|0)+40>>3]>.5){Br(A);vr(A,(n[l>>2]|0)+16|0);IB(A,61685)|0;n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];JB(A,f);IB(A,61694)|0;r=1;while(1){if((r|0)>=(i|0))break;NB(A,e+(r<<4)|0,3);IB(A,61720)|0;r=r+3|0}IB(A,61712)|0}v=c;return}function br(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0;a=v;v=v+16|0;f=a;r=A+16|0;if(+s[(n[r>>2]|0)+40>>3]>.5){Br(A);vr(A,(n[r>>2]|0)+16|0);IB(A,61685)|0;n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];JB(A,f);IB(A,61694)|0;r=1;while(1){if((r|0)>=(i|0))break;l=e+(r<<4)|0;n[f>>2]=n[l>>2];n[f+4>>2]=n[l+4>>2];n[f+8>>2]=n[l+8>>2];n[f+12>>2]=n[l+12>>2];JB(A,f);IB(A,61703)|0;r=r+1|0}IB(A,61712)|0}v=a;return}function or(A,e){A=A|0;e=e|0;IB(A,61682)|0;IB(A,e)|0;IB(A,134901)|0;return}function ur(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,b=0,o=0;o=v;v=v+32|0;a=o+16|0;b=o+8|0;c=o;l=A+16|0;if(f|0?(t=n[l>>2]|0,+s[t+80>>3]>.5):0){vr(A,t+56|0);IB(A,77289)|0;NB(A,i,r);IB(A,87582)|0;n[a>>2]=n[i>>2];n[a+4>>2]=n[i+4>>2];n[a+8>>2]=n[i+8>>2];n[a+12>>2]=n[i+12>>2];JB(A,a);n[c>>2]=r;n[c+4>>2]=e;YB(A,61599,c)}if(+s[(n[l>>2]|0)+40>>3]>.5){Br(A);vr(A,(n[l>>2]|0)+16|0);IB(A,77289)|0;NB(A,i,r);IB(A,87582)|0;n[a>>2]=n[i>>2];n[a+4>>2]=n[i+4>>2];n[a+8>>2]=n[i+8>>2];n[a+12>>2]=n[i+12>>2];JB(A,a);n[b>>2]=r;n[b+4>>2]=e;YB(A,61615,b)}v=o;return}function vr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0.0,l=0.0;f=v;v=v+32|0;r=f;if(e|0){switch(n[(n[A+16>>2]|0)+4>>2]|0){case 1:case 0:{i=96286;break}case 2:{i=96273;break}case 3:{i=96237;break}default:i=61651}l=+s[e+8>>3];a=+s[e+16>>3];s[r>>3]=+s[e>>3];s[r+8>>3]=l;s[r+16>>3]=a;n[r+24>>2]=i;YB(A,61658,r)}v=f;return}function Br(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,b=0;b=v;v=v+16|0;c=b+8|0;t=b;a=A+16|0;l=n[a>>2]|0;e=n[l+160>>2]|0;VB(A,+s[l+152>>3]);IB(A,61632)|0;while(1){if(!e)break;l=e+4|0;f=n[e>>2]|0;if(!f)break;if(!(az(f,95854)|0)){e=l;continue}else i=f;while(1){e=i+1|0;if(!(r[i>>0]|0))break;else i=e}A:while(1){if(!(r[e>>0]|0))break;n[t>>2]=e;YB(A,61647,t);while(1){i=e+1|0;if(!(r[e>>0]|0)){e=i;continue A}else e=i}}if(!(az(f,119127)|0))s[(n[a>>2]|0)+152>>3]=0.0;n[c>>2]=f;YB(A,81633,c);e=l}v=b;return}function kr(A){A=A|0;var e=0;IB(A,67671)|0;e=fY(n[(n[A>>2]|0)+168>>2]|0,67727)|0;if(e|0?r[e>>0]|0:0){IB(A,67738)|0;IB(A,e)|0;IB(A,67762)|0}IB(A,67783)|0;IB(A,67831)|0;IB(A,67885)|0;e=A+12|0;IB(A,yg(n[n[n[e>>2]>>2]>>2]|0)|0)|0;IB(A,71014)|0;IB(A,yg(n[(n[n[e>>2]>>2]|0)+4>>2]|0)|0)|0;IB(A,71024)|0;IB(A,yg(n[(n[n[e>>2]>>2]|0)+8>>2]|0)|0)|0;IB(A,68267)|0;IB(A,68291)|0;return}function wr(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0.0,c=0.0,b=0.0;l=v;v=v+48|0;a=l+16|0;f=l+8|0;i=l;e=n[A+16>>2]|0;IB(A,67506)|0;e=e+8|0;if(r[(qY(n[e>>2]|0)|0)>>0]|0){IB(A,68230)|0;IB(A,yg(qY(n[e>>2]|0)|0)|0)|0}n[i>>2]=X(n[A+168>>2]|0,n[A+164>>2]|0)|0;YB(A,67511,i);i=n[A+452>>2]|0;n[f>>2]=n[A+448>>2];n[f+4>>2]=i;YB(A,67527,f);b=+s[A+392>>3];c=+s[A+400>>3];t=+s[A+408>>3];s[a>>3]=+s[A+384>>3];s[a+8>>3]=b;s[a+16>>3]=c;s[a+24>>3]=t;YB(A,67560,a);IB(A,67591)|0;IB(A,67627)|0;IB(A,69221)|0;v=l;return}function dr(A){A=A|0;IB(A,67498)|0;return}function hr(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;Dr(A,e,0,86527,n[(n[A+16>>2]|0)+8>>2]|0);IB(A,69221)|0;return}function gr(A){A=A|0;IB(A,67346)|0;return}function Zr(A){A=A|0;var e=0,i=0,f=0,a=0;i=v;v=v+16|0;f=i;a=n[A+16>>2]|0;e=a+8|0;Dr(A,n[a+212>>2]|0,0,96286,n[e>>2]|0);IB(A,67450)|0;VB(A,+s[A+488>>3]);IB(A,87582)|0;VB(A,+s[A+496>>3]);n[f>>2]=0-(n[A+360>>2]|0);YB(A,67469,f);VB(A,+s[A+504>>3]);IB(A,87582)|0;VB(A,-+s[A+512>>3]);IB(A,67493)|0;if(r[(qY(n[e>>2]|0)|0)>>0]|0){IB(A,67402)|0;IB(A,yg(qY(n[e>>2]|0)|0)|0)|0;IB(A,67410)|0}v=i;return}function Gr(A){A=A|0;IB(A,67346)|0;return}function mr(A){A=A|0;var e=0,i=0;i=n[A+16>>2]|0;e=i+8|0;Dr(A,n[i+212>>2]|0,0,92983,n[e>>2]|0);IB(A,69221)|0;IB(A,67402)|0;IB(A,yg(qY(n[e>>2]|0)|0)|0)|0;IB(A,67410)|0;return}function Ir(A){A=A|0;IB(A,67346)|0;return}function Cr(A){A=A|0;var e=0,i=0,r=0;i=n[A+16>>2]|0;e=n[A+160>>2]|0;if((e|0)>1)e=n[(n[(n[A>>2]|0)+308>>2]|0)+(e<<2)>>2]|0;else e=0;r=i+8|0;Dr(A,n[i+212>>2]|0,e,96273,n[r>>2]|0);IB(A,69221)|0;IB(A,67402)|0;IB(A,yg(qY(n[r>>2]|0)|0)|0)|0;IB(A,67410)|0;return}function Mr(A){A=A|0;IB(A,67346)|0;return}function Qr(A){A=A|0;var e=0,i=0;i=n[A+16>>2]|0;e=i+8|0;Dr(A,n[i+212>>2]|0,0,96237,n[e>>2]|0);IB(A,69221)|0;IB(A,67402)|0;e=Eg(87073,n[e>>2]|0)|0;IB(A,yg(e)|0)|0;zN(e);IB(A,67410)|0;return}function Er(A){A=A|0;IB(A,67346)|0;return}function yr(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;IB(A,67352)|0;if(n|0){IB(A,67355)|0;IB(A,yg(n)|0)|0;IB(A,83707)|0}IB(A,67245)|0;IB(A,69182)|0;if(e|0?r[e>>0]|0:0){IB(A,67363)|0;IB(A,e)|0;IB(A,83707)|0}if(i|0?r[i>>0]|0:0){IB(A,67377)|0;IB(A,Yg(i,1)|0)|0;IB(A,83707)|0}if(f|0?r[f>>0]|0:0){IB(A,67392)|0;IB(A,yg(f)|0)|0;IB(A,83707)|0}IB(A,69221)|0;return}function Yr(A){A=A|0;IB(A,69176)|0;IB(A,67346)|0;return}function Vr(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0.0,J=0,N=0,z=0,p=0,R=0,P=0;P=v;v=v+176|0;R=P+160|0;p=P+152|0;V=P+136|0;z=P+128|0;Y=P+120|0;y=P+112|0;E=P+104|0;Q=P+96|0;M=P+88|0;I=P+80|0;G=P+72|0;Z=P+64|0;g=P+56|0;h=P+48|0;l=P+40|0;k=P+32|0;d=P+24|0;w=P+16|0;B=P+8|0;u=P;N=n[A+16>>2]|0;IB(A,66877)|0;switch(r[i+48>>0]|0){case 108:{IB(A,66883)|0;break}case 114:{IB(A,66904)|0;break}default:IB(A,66923)|0}J=e+8|0;W=+s[J>>3]+ +s[i+24>>3];s[J>>3]=W;J=N+260|0;if(!(f[J>>1]&512)){IB(A,66945)|0;VB(A,+s[e>>3]);IB(A,66950)|0;VB(A,-W);IB(A,83707)|0}m=i+4|0;e=n[m>>2]|0;o=n[e+8>>2]|0;if(o){switch(n[(n[(n[(n[A>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{b=o;e=o+16|0;l=o+8|0;break}case 2:{b=o+24|0;e=o+32|0;l=o+28|0;break}default:{b=o+4|0;e=o+16|0;l=o+8|0}}t=n[e>>2]|0;e=n[l>>2]|0;c=n[o+12>>2]|0;n[u>>2]=n[b>>2];YB(A,66956,u);l=n[o+24>>2]|0;if(l|0){n[B>>2]=l;YB(A,66973,B)}IB(A,83707)|0;if(e|0){n[w>>2]=e;YB(A,66977,w)}if(c|0){n[d>>2]=c;YB(A,66995,d)}if(!t)t=0;else{n[k>>2]=t;YB(A,67014,k)}}else{n[l>>2]=n[e>>2];YB(A,67031,l);t=0;e=0}l=n[m>>2]|0;if(l|0?(C=n[l+24>>2]|0,C&127|0):0){if(!((e|0)!=0|(C&1|0)==0))YB(A,67049,h);if(!((t|0)!=0|(C&2|0)==0))YB(A,67069,g);if(C&100|0){YB(A,67090,Z);if(!(C&4))e=0;else{YB(A,90974,G);e=1}if(C&64){n[I>>2]=e|0?85974:174177;YB(A,67109,I);e=1}if(C&32|0){n[M>>2]=e|0?85974:174177;YB(A,67120,M)}YB(A,83707,Q)}if(C&8|0)YB(A,67135,E);if(C&16|0)YB(A,67159,y)}s[Y>>3]=+s[(n[m>>2]|0)+16>>3];YB(A,67181,Y);e=N+16|0;switch(n[N+48>>2]|0){case 5:{e=n[e>>2]|0;if(Tz(e,122106)|0){n[z>>2]=e;YB(A,67199,z)}break}case 1:{Y=a[e+1>>0]|0;z=a[e+2>>0]|0;n[V>>2]=a[e>>0];n[V+4>>2]=Y;n[V+8>>2]=z;YB(A,67210,V);break}default:BA(123205,66391,486,67232)}IB(A,67245)|0;if(f[J>>1]&512){n[p>>2]=yg(n[N+212>>2]|0)|0;YB(A,67247,p);IB(A,67296)|0;VB(A,-W);IB(A,67314)|0}IB(A,Yg(n[i>>2]|0,1)|0)|0;if(f[J>>1]&512)YB(A,67317,R);IB(A,67337)|0;v=P;return}function Wr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;switch(i|0){case 2:{r=Hr(A,e,2)|0;break}case 3:{r=Fr(A)|0;break}default:r=0}IB(A,66841)|0;Rr(A,i,r);IB(A,66850)|0;VB(A,+s[e>>3]);IB(A,66856)|0;i=e+8|0;VB(A,-+s[i>>3]);IB(A,66863)|0;VB(A,+s[e+16>>3]-+s[e>>3]);IB(A,66870)|0;VB(A,+s[e+24>>3]-+s[i>>3]);IB(A,66257)|0;return}function Jr(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;switch(r|0){case 2:{f=Hr(A,e,i)|0;break}case 3:{f=Fr(A)|0;break}default:f=0}IB(A,66832)|0;Rr(A,r,f);IB(A,66247)|0;f=0;while(1){if((f|0)>=(i|0))break;VB(A,+s[e+(f<<4)>>3]);IB(A,85974)|0;VB(A,-+s[e+(f<<4)+8>>3]);IB(A,87582)|0;f=f+1|0}VB(A,+s[e>>3]);IB(A,85974)|0;VB(A,-+s[e+8>>3]);IB(A,66257)|0;return}function Nr(A,e,i,r,a,l){A=A|0;e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;a=n[A+16>>2]|0;switch(l|0){case 2:{r=Hr(A,e,i)|0;break}case 3:{r=Fr(A)|0;break}default:r=0}IB(A,66427)|0;if(f[a+260>>1]&512){IB(A,66433)|0;IB(A,yg(n[a+212>>2]|0)|0)|0;IB(A,66439)|0}Rr(A,l,r);IB(A,66444)|0;Lr(A,e,i);IB(A,66257)|0;return}function zr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;IB(A,66237)|0;Rr(A,0,0);IB(A,66247)|0;r=0;while(1){if((r|0)>=(i|0))break;VB(A,+s[e+(r<<4)>>3]);IB(A,85974)|0;VB(A,-+s[e+(r<<4)+8>>3]);IB(A,87582)|0;r=r+1|0}IB(A,66257)|0;return}function pr(A,e){A=A|0;e=e|0;IB(A,66231)|0;IB(A,yg(e)|0)|0;IB(A,68291)|0;return}function Rr(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0;k=v;v=v+96|0;c=k+48|0;B=k+40|0;o=k+32|0;u=k+24|0;t=k+16|0;a=k+8|0;f=k;b=n[A+16>>2]|0;IB(A,66262)|0;A:do{switch(e|0){case 2:{n[f>>2]=i;YB(A,66270,f);break}case 3:{n[a>>2]=i;YB(A,66281,a);break}case 0:{IB(A,120501)|0;break}default:{e=b+56|0;f=c;a=e;l=f+40|0;do{n[f>>2]=n[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(l|0));Pr(A,c);if((n[b+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:break A;default:{}}s[t>>3]=+(e&255)*.00392156862745098;YB(A,66292,t)}}}}while(0);IB(A,66311)|0;i=b+16|0;f=c;a=i;l=f+40|0;do{n[f>>2]=n[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(l|0));Pr(A,c);e=b+152|0;if(+s[e>>3]!=1.0){IB(A,66322)|0;VB(A,+s[e>>3])}switch(n[b+144>>2]|0){case 1:{n[u>>2]=66362;YB(A,66339,u);break}case 2:{n[o>>2]=66366;YB(A,66339,o);break}default:{}}A:do{if((n[b+48>>2]|0)==1){e=r[i+3>>0]|0;switch(e<<24>>24){case-1:case 0:break A;default:{}}s[B>>3]=+(e&255)*.00392156862745098;YB(A,66370,B)}}while(0);IB(A,83707)|0;v=k;return}function Pr(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0;f=v;v=v+16|0;i=f;A:do{switch(n[e+32>>2]|0){case 5:{IB(A,n[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){IB(A,122171)|0;break A}else{t=a[e+1>>0]|0;l=a[e+2>>0]|0;n[i>>2]=a[e>>0];n[i+4>>2]=t;n[i+8>>2]=l;YB(A,68547,i);break A}default:BA(123205,66391,117,66411)}}while(0);v=f;return}function Hr(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,a=0,l=0,t=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0;h=v;v=v+112|0;u=h+64|0;w=h+56|0;o=h+48|0;b=h+40|0;a=h+32|0;t=h;k=n[41908]|0;n[41908]=k+1;B=n[A+16>>2]|0;f=+(n[B+136>>2]|0)*.017453292519943295;n[t>>2]=0;n[t+4>>2]=0;n[t+8>>2]=0;n[t+12>>2]=0;n[t+16>>2]=0;n[t+20>>2]=0;n[t+24>>2]=0;n[t+28>>2]=0;ct(e,t,i,f,0);n[u>>2]=k;YB(A,66664,u);IB(A,66729)|0;VB(A,+s[t>>3]);IB(A,66734)|0;VB(A,+s[t+8>>3]);IB(A,66741)|0;VB(A,+s[t+16>>3]);IB(A,66748)|0;VB(A,+s[t+24>>3]);IB(A,66755)|0;t=B+140|0;f=+c[t>>2];if(f>0.0){s[a>>3]=f+-.001;YB(A,66760,a)}else IB(A,66536)|0;e=B+56|0;i=u;a=e;l=i+40|0;do{n[i>>2]=n[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(l|0));Pr(A,u);IB(A,66572)|0;A:do{if((n[B+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{d=7;break A}default:{}}s[b>>3]=+(e&255)*.00392156862745098;YB(A,84575,b)}else d=7}while(0);if((d|0)==7)IB(A,66587)|0;IB(A,66590)|0;f=+c[t>>2];if(f>0.0){s[o>>3]=f;YB(A,66760,o)}else IB(A,66596)|0;e=B+96|0;i=u;a=e;l=i+40|0;do{n[i>>2]=n[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(l|0));Pr(A,u);IB(A,66572)|0;A:do{if((n[B+128>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{d=14;break A}default:{}}s[w>>3]=+(e&255)*.00392156862745098;YB(A,84575,w)}else d=14}while(0);if((d|0)==14)IB(A,66587)|0;IB(A,66800)|0;v=h;return k|0}function Fr(A){A=A|0;var e=0,i=0.0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0.0;k=v;v=v+64|0;c=k+16|0;u=k+8|0;t=k;o=n[41907]|0;n[41907]=o+1;b=n[A+16>>2]|0;w=+(n[b+136>>2]|0)*.017453292519943295;i=w;if(w==0.0){f=50;e=50}else{f=~~((+J(+i)+1.0)*50.0);e=~~((1.0-+N(+i))*50.0)}n[c>>2]=o;n[c+4>>2]=f;n[c+8>>2]=e;YB(A,66452,c);IB(A,66536)|0;e=b+56|0;f=c;a=e;l=f+40|0;do{n[f>>2]=n[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(l|0));Pr(A,c);IB(A,66572)|0;A:do{if((n[b+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{B=6;break A}default:{}}s[t>>3]=+(e&255)*.00392156862745098;YB(A,84575,t)}else B=6}while(0);if((B|0)==6)IB(A,66587)|0;IB(A,66590)|0;IB(A,66596)|0;e=b+96|0;f=c;a=e;l=f+40|0;do{n[f>>2]=n[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(l|0));Pr(A,c);IB(A,66572)|0;A:do{if((n[b+128>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{B=10;break A}default:{}}s[u>>3]=+(e&255)*.00392156862745098;YB(A,84575,u)}else B=10}while(0);if((B|0)==10)IB(A,66587)|0;IB(A,66632)|0;v=k;return o|0}function Lr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;r=77;f=0;while(1){if((f|0)>=(i|0))break;n[a>>2]=r;YB(A,66449,a);VB(A,+s[e+(f<<4)>>3]);IB(A,85974)|0;VB(A,-+s[e+(f<<4)+8>>3]);r=(f|0)==0?67:32;f=f+1|0}v=l;return}function Dr(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0,t=0,c=0;c=v;v=v+16|0;t=c+8|0;l=c;IB(A,67420)|0;IB(A,yg(e)|0)|0;if(i|0){n[l>>2]=yg(i)|0;YB(A,67428,l)}n[t>>2]=f;YB(A,67432,t);e=fY(a,67444)|0;if(e|0?r[e>>0]|0:0){IB(A,87582)|0;IB(A,yg(e)|0)|0}IB(A,83707)|0;v=c;return}function Xr(A){A=A|0;var e=0;IB(A,68251)|0;e=A+12|0;IB(A,$r(n[n[n[e>>2]>>2]>>2]|0)|0)|0;IB(A,71014)|0;IB(A,$r(n[(n[n[e>>2]>>2]|0)+4>>2]|0)|0)|0;IB(A,71024)|0;IB(A,$r(n[(n[n[e>>2]>>2]|0)+8>>2]|0)|0)|0;IB(A,68267)|0;return}function Tr(A){A=A|0;var e=0,i=0,f=0;f=v;v=v+16|0;i=f;e=n[A+16>>2]|0;IB(A,68228)|0;e=e+8|0;if(r[(qY(n[e>>2]|0)|0)>>0]|0){IB(A,68230)|0;IB(A,$r(qY(n[e>>2]|0)|0)|0)|0}n[i>>2]=X(n[A+168>>2]|0,n[A+164>>2]|0)|0;YB(A,68239,i);n[41909]=0;v=f;return}function xr(A){A=A|0;n[41909]=1;return}function Ur(A){A=A|0;n[41909]=-1;return}function jr(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,b=0,o=0;o=v;v=v+48|0;l=o+8|0;b=o;f=n[A+16>>2]|0;if(n[f+144>>2]|0?(c=i+4|0,t=~~(+s[A+352>>3]*+s[(n[c>>2]|0)+16>>3]),t|0):0){Af(A);IB(A,68167)|0;a=e+8|0;s[a>>3]=+s[a>>3]-+(t|0)*.55;n[l>>2]=n[e>>2];n[l+4>>2]=n[e+4>>2];n[l+8>>2]=n[e+8>>2];n[l+12>>2]=n[e+12>>2];JB(A,l);IB(A,68181)|0;IB(A,n[i>>2]|0)|0;IB(A,68190)|0;IB(A,67988)|0;a=l;e=f+16|0;f=a+40|0;do{n[a>>2]=n[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(f|0));ef(A,l);IB(A,68192)|0;l=n[c>>2]|0;c=n[l+8>>2]|0;c=n[((c|0)==0?l:c+4|0)>>2]|0;IB(A,83707)|0;IB(A,c)|0;IB(A,83707)|0;n[b>>2]=t;YB(A,68201,b);switch(r[i+48>>0]|0){case 108:{IB(A,68206)|0;break}case 114:{IB(A,68217)|0;break}default:{}}rf(A);IB(A,134901)|0}v=o;return}function Sr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0.0,b=0.0,o=0.0;t=v;v=v+48|0;f=t;a=n[A+16>>2]|0;l=a+144|0;if(n[l>>2]|0){o=+s[e>>3];b=+s[e+24>>3];r=e+8|0;c=+s[r>>3];s[e>>3]=o-+s[e+16>>3]+o;s[r>>3]=c-b+c;Af(A);IB(A,68153)|0;NB(A,e,2);IB(A,67988)|0;do{if(!i)if(!(n[41909]|0)){IB(A,82272)|0;break}else{IB(A,121990)|0;break}else{e=f;i=a+56|0;r=e+40|0;do{n[e>>2]=n[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));ef(A,f)}}while(0);if((n[41909]|0)==1)n[41909]=0;IB(A,68099)|0;VB(A,+s[a+152>>3]);IB(A,68142)|0;e=f;i=a+16|0;r=e+40|0;do{n[e>>2]=n[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));ef(A,f);e=n[l>>2]|0;if((e|0)==1){IB(A,67996)|0;e=n[l>>2]|0}if((e|0)==2)IB(A,68005)|0;rf(A);IB(A,134901)|0}v=t;return}function Or(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0;t=v;v=v+48|0;f=t;a=n[A+16>>2]|0;l=a+144|0;if(n[l>>2]|0){Af(A);IB(A,68125)|0;NB(A,e,i);IB(A,67988)|0;do{if(!r)if(!(n[41909]|0)){IB(A,82272)|0;break}else{IB(A,121990)|0;break}else{e=f;i=a+56|0;r=e+40|0;do{n[e>>2]=n[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));ef(A,f)}}while(0);if((n[41909]|0)==1)n[41909]=0;IB(A,68099)|0;VB(A,+s[a+152>>3]);IB(A,68142)|0;e=f;i=a+16|0;r=e+40|0;do{n[e>>2]=n[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));ef(A,f);e=n[l>>2]|0;if((e|0)==1){IB(A,67996)|0;e=n[l>>2]|0}if((e|0)==2)IB(A,68005)|0;rf(A);IB(A,134901)|0}v=t;return}function Kr(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0,c=0,b=0;b=v;v=v+48|0;l=b;t=n[A+16>>2]|0;c=t+144|0;if(n[c>>2]|0){Af(A);IB(A,67974)|0;NB(A,e,i);IB(A,67988)|0;r=l;f=t+16|0;a=r+40|0;do{n[r>>2]=n[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(a|0));ef(A,l);IB(A,68099)|0;VB(A,+s[t+152>>3]);r=n[c>>2]|0;if((r|0)==1){IB(A,67996)|0;r=n[c>>2]|0}if((r|0)==2)IB(A,68005)|0;IB(A,68108)|0;rf(A);IB(A,134901)|0}v=b;return}function _r(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0;t=v;v=v+48|0;a=t;r=n[A+16>>2]|0;l=r+144|0;if(n[l>>2]|0){Af(A);IB(A,67974)|0;NB(A,e,i);IB(A,67988)|0;f=a;e=r+16|0;i=f+40|0;do{n[f>>2]=n[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(i|0));ef(A,a);e=n[l>>2]|0;if((e|0)==1){IB(A,67996)|0;e=n[l>>2]|0}if((e|0)==2)IB(A,68005)|0;rf(A);IB(A,134901)|0}v=t;return}function qr(A,e){A=A|0;e=e|0;IB(A,67971)|0;IB(A,$r(e)|0)|0;IB(A,134901)|0;return}function $r(A){A=A|0;return A|0}function Af(A){A=A|0;if(!(r[A+144>>0]|0))IB(A,68096)|0;else IB(A,n[A+148>>2]|0)|0;return}function ef(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0;f=v;v=v+16|0;i=f;A:do{switch(n[e+32>>2]|0){case 5:{IB(A,n[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){IB(A,82272)|0;break A}else{t=a[e+1>>0]|0;l=a[e+2>>0]|0;n[i>>2]=a[e>>0];n[i+4>>2]=t;n[i+8>>2]=l;YB(A,68547,i);break A}default:BA(123205,68014,49,68078)}}while(0);v=f;return}function rf(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;f=n[A+16>>2]|0;switch(n[f+12>>2]|0){case 8:{e=1;i=96273;r=f+8|0;break}case 10:{e=0;i=96273;r=f+8|0;break}case 3:case 2:case 9:{e=1;i=96237;r=f+8|0;break}case 7:case 6:case 11:{e=0;i=96237;r=f+8|0;break}case 0:{e=1;i=96286;r=f+8|0;break}case 4:{e=0;i=68050;r=f+8|0;break}case 1:{e=1;i=96286;r=f+8|0;break}case 5:{e=0;i=96286;r=f+8|0;break}default:BA(123205,68014,106,68033)}f=n[(n[r>>2]|0)+8>>2]|0;n[a>>2]=e;n[a+4>>2]=i;n[a+8>>2]=f;YB(A,68062,a);v=l;return}function ff(A){A=A|0;var e=0;IB(A,70986)|0;IB(A,70994)|0;e=A+12|0;IB(A,Bf(n[n[n[e>>2]>>2]>>2]|0)|0)|0;IB(A,71014)|0;IB(A,Bf(n[(n[n[e>>2]>>2]|0)+4>>2]|0)|0)|0;IB(A,71024)|0;IB(A,Bf(n[(n[n[e>>2]>>2]|0)+8>>2]|0)|0)|0;IB(A,71027)|0;return}function nf(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;t=v;v=v+32|0;l=t+24|0;a=t+16|0;f=t+8|0;i=t;e=n[A+16>>2]|0;n[41913]=~~(+s[A+232>>3]-+s[A+216>>3]);n[41912]=~~(+s[A+224>>3]-+s[A+208>>3]);IB(A,69673)|0;IB(A,69680)|0;e=qY(n[e+8>>2]|0)|0;if(r[e>>0]|0){IB(A,69749)|0;IB(A,Bf(e)|0)|0;IB(A,69757)|0}n[i>>2]=X(n[A+168>>2]|0,n[A+164>>2]|0)|0;YB(A,69766,i);IB(A,69786)|0;IB(A,69821)|0;IB(A,69849)|0;IB(A,69855)|0;IB(A,69898)|0;IB(A,69939)|0;IB(A,69958)|0;IB(A,69975)|0;IB(A,70023)|0;IB(A,70076)|0;IB(A,70152)|0;IB(A,70228)|0;IB(A,70237)|0;IB(A,70260)|0;IB(A,70287)|0;IB(A,70340)|0;IB(A,70362)|0;IB(A,70407)|0;IB(A,70419)|0;IB(A,70429)|0;IB(A,70455)|0;IB(A,70340)|0;IB(A,70507)|0;IB(A,70407)|0;IB(A,70419)|0;IB(A,70551)|0;IB(A,70260)|0;IB(A,70287)|0;IB(A,70340)|0;IB(A,70507)|0;IB(A,70407)|0;IB(A,70419)|0;IB(A,70429)|0;IB(A,70455)|0;IB(A,70340)|0;IB(A,70362)|0;IB(A,70407)|0;IB(A,70419)|0;IB(A,70564)|0;IB(A,70572)|0;IB(A,70578)|0;IB(A,70592)|0;IB(A,70600)|0;IB(A,70633)|0;i=(n[41913]|0)+10|0;n[f>>2]=n[41912];n[f+4>>2]=i;YB(A,70710,f);IB(A,70740)|0;IB(A,70749)|0;IB(A,70807)|0;IB(A,70817)|0;IB(A,70882)|0;f=n[41913]|0;n[a>>2]=n[41912];n[a+4>>2]=f;YB(A,70919,a);a=n[41913]|0;n[l>>2]=n[41912];n[l+4>>2]=a;YB(A,70947,l);v=t;return}function af(A){A=A|0;IB(A,69224)|0;IB(A,69236)|0;IB(A,69244)|0;IB(A,69307)|0;IB(A,69236)|0;IB(A,69352)|0;IB(A,69401)|0;IB(A,69455)|0;IB(A,69236)|0;IB(A,69555)|0;IB(A,69604)|0;IB(A,69236)|0;IB(A,69656)|0;return}function lf(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0,t=0,c=0;c=v;v=v+32|0;t=c+16|0;l=c+8|0;a=c;IB(A,69182)|0;if(e|0?r[e>>0]|0:0){n[a>>2]=Bf(e)|0;YB(A,69185,a)}if(i|0?r[i>>0]|0:0){n[l>>2]=Bf(i)|0;YB(A,69196,l)}if(f|0?r[f>>0]|0:0){n[t>>2]=Bf(f)|0;YB(A,69208,t)}IB(A,69221)|0;v=c;return}function tf(A){A=A|0;IB(A,69176)|0;return}function cf(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0.0,t=0.0,c=0.0,b=0.0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0.0;M=v;v=v+112|0;I=M+96|0;C=M+88|0;G=M+80|0;k=M+72|0;Z=M+64|0;h=M+56|0;d=M+48|0;w=M+40|0;B=M+24|0;u=M+8|0;o=M;m=n[A+16>>2]|0;switch(r[i+48>>0]|0){case 108:{t=+s[e>>3];b=+s[i+32>>3];break}case 114:{b=+s[i+32>>3];t=+s[e>>3]-b;break}default:{b=+s[i+32>>3];t=+s[e>>3]-b*.5}}f=i+40|0;l=+s[f>>3];g=i+4|0;c=+s[(n[g>>2]|0)+16>>3];if(l<c){l=c*1.1+1.0;s[f>>3]=l}Q=t+-8.0;c=+((n[41913]|0)>>>0)-+s[e+8>>3]-l+c*.2+(c<12.0?1.4:2.0);YB(A,68838,o);s[u>>3]=Q;s[u+8>>3]=c;YB(A,68775,u);s[B>>3]=t+8.0+b-Q;s[B+8>>3]=l;YB(A,68799,B);IB(A,68873)|0;IB(A,68907)|0;f=n[g>>2]|0;e=n[f+8>>2]|0;if(e){n[w>>2]=n[e+4>>2];YB(A,68997,w);f=n[e+8>>2]|0;if(f|0){n[d>>2]=f;YB(A,69016,d)}f=n[e+12>>2]|0;if(f|0){n[h>>2]=f;YB(A,69033,h)}f=n[e+16>>2]|0;if(f|0){n[Z>>2]=f;YB(A,69051,Z)}}else{n[k>>2]=n[f>>2];YB(A,68997,k)}s[G>>3]=+s[(n[g>>2]|0)+16>>3];YB(A,69067,G);f=m+16|0;switch(n[m+48>>2]|0){case 5:{f=n[f>>2]|0;if(Tz(f,122106)|0){n[C>>2]=f;YB(A,69087,C)}break}case 1:{m=a[f+1>>0]|0;C=a[f+2>>0]|0;n[I>>2]=a[f>>0];n[I+4>>2]=m;n[I+8>>2]=C;YB(A,69097,I);break}default:BA(123205,68561,438,69118)}IB(A,69131)|0;IB(A,Bf(n[i>>2]|0)|0)|0;IB(A,69142)|0;IB(A,69165)|0;v=M;return}function sf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0.0,l=0.0,t=0,c=0.0,b=0.0;r=v;v=v+32|0;f=r+16|0;t=r;IB(A,68739)|0;b=+s[e>>3];l=+s[e+16>>3]-b;c=+s[e+24>>3];a=c-+s[e+8>>3];c=+((n[41913]|0)>>>0)-c;s[t>>3]=b-l;s[t+8>>3]=c;YB(A,68775,t);s[f>>3]=l*2.0;s[f+8>>3]=a*2.0;YB(A,68799,f);hf(A,i);IB(A,68621)|0;wf(A);IB(A,68827)|0;v=r;return}function bf(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0,l=0.0,t=0,c=0,b=0,o=0;b=v;v=v+48|0;c=b+24|0;t=b+8|0;a=b;IB(A,68344)|0;o=n[41913]|0;n[a>>2]=n[41912];n[a+4>>2]=o;YB(A,68597,a);hf(A,r);IB(A,68621)|0;wf(A);IB(A,68624)|0;a=i+-1|0;r=0;while(1){if((r|0)>=(i|0))break;l=+s[e+(r<<4)>>3];f=+((n[41913]|0)>>>0)-+s[e+(r<<4)+8>>3];if(!r){IB(A,68651)|0;s[t>>3]=l;s[t+8>>3]=f;YB(A,68717,t);IB(A,68728)|0}else{s[c>>3]=l;s[c+8>>3]=f;YB(A,68717,c)}if((r|0)==(a|0))IB(A,68731)|0;r=r+1|0}IB(A,68460)|0;v=b;return}function of(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0;f=v;v=v+16|0;r=f;IB(A,68344)|0;l=n[41913]|0;n[r>>2]=n[41912];n[r+4>>2]=l;YB(A,68597,r);hf(A,a);IB(A,68621)|0;wf(A);IB(A,68624)|0;gf(A,e,i);IB(A,68637)|0;v=f;return}function uf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,b=0.0;c=v;v=v+48|0;t=c+24|0;l=c+8|0;f=c;IB(A,68344)|0;a=n[41913]|0;n[f>>2]=n[41912];n[f+4>>2]=a;YB(A,68381,f);IB(A,68421)|0;f=i+-1|0;a=e+8|0;r=0;while(1){if((r|0)>=(i|0))break;if(!r){IB(A,68433)|0;b=+((n[41913]|0)>>>0)-+s[a>>3];s[l>>3]=+s[e>>3];s[l+8>>3]=b;YB(A,68437,l);IB(A,68448)|0}else{b=+((n[41913]|0)>>>0)-+s[e+(r<<4)+8>>3];s[t>>3]=+s[e+(r<<4)>>3];s[t+8>>3]=b;YB(A,68437,t)}if((r|0)==(f|0))IB(A,68452)|0;r=r+1|0}IB(A,68456)|0;wf(A);IB(A,68460)|0;v=c;return}function vf(A,e){A=A|0;e=e|0;IB(A,68279)|0;IB(A,Bf(e)|0)|0;IB(A,68291)|0;return}function Bf(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0;g=v;v=v+16|0;i=g;e=n[41910]|0;if(!e){n[41911]=64;e=Ng(64)|0;n[41910]=e}d=i+15|0;w=i+14|0;a=0;k=0;u=0;i=0;f=0;A:while(1){o=(u|0)!=0;s=a;B=A;c=i;e:while(1){if(!B){h=32;break A}i=r[B>>0]|0;if(!(i<<24>>24)){h=32;break A}A=n[41911]|0;if((k|0)>(A+-8|0)){e=A<<1;n[41911]=e;e=pg(n[41910]|0,e)|0;n[41910]=e;e=e+k|0;i=r[B>>0]|0}switch(i<<24>>24){case 60:{i=4;A=87131;h=26;break e}case 62:{i=4;A=87114;h=27;break e}case 38:{h=10;break e}case 45:{i=5;A=87125;t=c;break e}default:{}}if(o&i<<24>>24==32){h=12;break}switch(i<<24>>24){case 34:{i=6;A=87094;h=26;break e}case 39:{i=5;A=87119;h=27;break e}default:{}}if(i<<24>>24<0){t=127;A=0}else{i=1;A=B;h=26;break}while(1){a=t&255;l=i&255;if(a>>>0>=l>>>0)break;i=t&l&255;t=a>>>1;A=A+1|0}if((A|0)<=1){a=GH(c|0,f|0,6)|0;a=BH(a|0,E|0,i&255|0,0)|0;f=E;b=s+-1|0;if((s|0)>1){A=b;i=a}else{h=21;break}}else{A=A+-1|0;i=i&255;f=0}s=A;B=B+1|0;c=i}if((h|0)==10){h=0;A=(kf(B)|0)==0;i=A?5:1;A=A?87108:B;t=c}else if((h|0)==12){h=0;A=(r[u>>0]|0)==32;i=A?6:1;A=A?87101:B;t=c}else if((h|0)==21){h=0;r[d>>0]=59;i=3;l=w;t=a;c=f;while(1){A=gH(t|0,c|0,10,0)|0;a=l+-1|0;r[l>>0]=A|48;A=t;t=hH(t|0,c|0,10,0)|0;f=c;c=E;u=i;i=i+1|0;if((u|0)>11){h=23;break A}if(!(f>>>0>0|(f|0)==0&A>>>0>9))break;else l=a}A=l+-2|0;r[a>>0]=35;r[A>>0]=38;s=b;f=c}else if((h|0)==26){h=0;t=c}else if((h|0)==27){h=0;t=c}l=e+i|0;a=i;while(1){if(!a)break;r[e>>0]=r[A>>0]|0;a=a+-1|0;A=A+1|0;e=e+1|0}a=s;A=B+1|0;k=i+k|0;u=B;e=l;i=t}if((h|0)==23){VR(68297,46,1,n[13918]|0)|0;LA(1)}else if((h|0)==32){r[e>>0]=0;v=g;return n[41910]|0}return 0}function kf(A){A=A|0;var e=0,i=0;i=A+1|0;e=r[i>>0]|0;A:do{if(e<<24>>24==35){i=A+2|0;e=r[i>>0]|0;switch(e<<24>>24){case 88:case 120:break;default:{A=i;while(1){i=A+1|0;if((e+-48&255)>=10)break A;A=i;e=r[i>>0]|0}}}i=A+3|0;while(1){e=r[i>>0]|0;if((e+-48&255)>=10)switch(e<<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}i=i+1|0}}else while(1){A=i+1|0;if(((e&-33)+-65&255)>=26)break A;i=A;e=r[A>>0]|0}}while(0);return e<<24>>24==59|0}function wf(A){A=A|0;var e=0.0,i=0,r=0,f=0,a=0,l=0,t=0,c=0;c=v;v=v+48|0;i=c+8|0;t=c;l=n[A+16>>2]|0;IB(A,68472)|0;r=i;f=l+16|0;a=r+40|0;do{n[r>>2]=n[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(a|0));df(A,i);e=+s[l+152>>3];if(e!=1.0){s[t>>3]=e;YB(A,68490,t)}switch(n[l+144>>2]|0){case 1:{IB(A,68507)|0;break}case 2:{IB(A,68525)|0;break}default:{}}IB(A,68542)|0;v=c;return}function df(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0;f=v;v=v+16|0;i=f;A:do{switch(n[e+32>>2]|0){case 5:{IB(A,n[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){IB(A,120501)|0;break A}else{t=a[e+1>>0]|0;l=a[e+2>>0]|0;n[i>>2]=a[e>>0];n[i+4>>2]=t;n[i+8>>2]=l;YB(A,68547,i);break A}default:BA(123205,68561,94,68581)}}while(0);v=f;return}function hf(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;a=v;v=v+48|0;f=a;if(!e)IB(A,68700)|0;else{i=n[A+16>>2]|0;IB(A,68670)|0;e=f;i=i+56|0;r=e+40|0;do{n[e>>2]=n[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));df(A,f);IB(A,68697)|0}v=a;return}function gf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0.0,c=0.0;l=v;v=v+32|0;a=l;r=68651;f=0;while(1){if((f|0)>=(i|0))break;c=+s[e+(f<<4)>>3];t=+((n[41913]|0)>>>0)-+s[e+(f<<4)+8>>3];n[a>>2]=r;s[a+8>>3]=c;s[a+16>>3]=t;YB(A,68654,a);r=(f|0)==0?68667:174177;f=f+1|0}IB(A,83707)|0;v=l;return}function Zf(A){A=A|0;var e=0,i=0,r=0;e=v;v=v+16|0;i=e+8|0;r=e;IB(A,73284)|0;IB(A,73299)|0;IB(A,73338)|0;IB(A,73387)|0;n[r>>2]=122106;n[r+4>>2]=73475;YB(A,73456,r);n[i>>2]=121990;n[i+4>>2]=73481;YB(A,73456,i);v=e;return}function Gf(A){A=A|0;var e=0,i=0,r=0.0,f=0.0,a=0.0,l=0.0,t=0;e=v;v=v+64|0;i=e+8|0;t=e;n[t>>2]=qY(n[(n[A+16>>2]|0)+8>>2]|0)|0;YB(A,72237,t);l=+s[A+368>>3]*.5*+s[A+488>>3];a=+s[A+376>>3]*.5*+s[A+496>>3];f=+P(+(l*2.0000000949949026e-03))*180.0*.6366197723675814;r=+P(+(a*2.0000000949949026e-03))*180.0*.6366197723675814;s[i>>3]=l;s[i+8>>3]=a;s[i+16>>3]=-500.0;s[i+24>>3]=l;s[i+32>>3]=a;s[i+40>>3]=0.0;s[i+48>>3]=(f>r?f:r)*1.2;YB(A,72259,i);IB(A,72406)|0;IB(A,73236)|0;v=e;return}function mf(A){A=A|0;IB(A,72220)|0;return}function If(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=v;v=v+16|0;a=f;n[a>>2]=e;n[a+4>>2]=i;n[a+8>>2]=r;YB(A,72190,a);c[41914]=+(X(i,-10)|0);v=f;return}function Cf(A){A=A|0;IB(A,72173)|0;return}function Mf(A){A=A|0;IB(A,72155)|0;return}function Qf(A){A=A|0;IB(A,72139)|0;return}function Ef(A){A=A|0;IB(A,72118)|0;c[41914]=+c[41914]+-2.0;return}function yf(A){A=A|0;IB(A,72099)|0;return}function Yf(A){A=A|0;var e=0,i=0;e=v;v=v+16|0;i=e;n[i>>2]=qY(n[(n[A+16>>2]|0)+8>>2]|0)|0;YB(A,72077,i);v=e;return}function Vf(A){A=A|0;IB(A,72061)|0;return}function Wf(A){A=A|0;IB(A,72043)|0;c[41914]=+c[41914]+-5.0;return}function Jf(A){A=A|0;IB(A,72027)|0;c[41914]=+c[41914]+5.0;return}function Nf(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,a=0,l=0,t=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0.0,h=0.0,g=0.0;w=v;v=v+144|0;u=w+104|0;k=w+56|0;b=w+32|0;l=w+24|0;o=w;B=i+4|0;a=n[B>>2]|0;f=+s[a+16>>3];a=n[a>>2]|0;n[o>>2]=n[i>>2];s[o+8>>3]=f;n[o+16>>2]=a;YB(A,71873,o);c[41915]=+c[41914]+-9.0;switch(r[i+48>>0]|0){case 108:{f=+s[e>>3];break}case 114:{a=e;f=+s[e>>3]-+s[i+32>>3];t=5;break}default:{a=e;f=+s[e>>3]-+s[i+32>>3]*.5;t=5}}if((t|0)==5)s[a>>3]=f;g=+s[A+488>>3];h=(+s[A+504>>3]+f)*g;d=(+s[A+512>>3]+ +s[e+8>>3])*+s[A+496>>3];s[l>>3]=+s[(n[B>>2]|0)+16>>3]*g;o=Ff(A,71925,l)|0;f=+(n[A+360>>2]|0);s[b>>3]=0.0;s[b+8>>3]=0.0;s[b+16>>3]=f;a=Ff(A,71142,b)|0;f=+c[41915];s[u>>3]=h;s[u+8>>3]=d;s[u+16>>3]=f;e=Ff(A,71174,u)|0;l=u;t=(n[A+16>>2]|0)+16|0;b=l+40|0;do{n[l>>2]=n[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(b|0));u=Lf(A,u,0.0)|0;i=n[i>>2]|0;n[k>>2]=n[n[B>>2]>>2];s[k+8>>3]=.25;s[k+16>>3]=0.0;n[k+24>>2]=i;n[k+28>>2]=72012;n[k+32>>2]=o;n[k+36>>2]=a;n[k+40>>2]=e;n[k+44>>2]=u;k=Ff(A,71937,k)|0;IB(A,k)|0;zN(k);zN(a);zN(u);zN(e);zN(o);v=w;return}function zf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0.0,l=0.0,t=0.0,b=0,o=0,u=0,B=0.0,k=0.0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0.0;C=v;v=v+240|0;m=C+192|0;I=C+152|0;h=C+128|0;w=C+104|0;u=C+80|0;o=C+48|0;r=C+24|0;b=C;IB(A,71750)|0;c[41915]=+c[41914]+-6.0;a=+s[e>>3];l=+s[A+488>>3];B=(+s[A+504>>3]+a)*l;M=+s[e+8>>3];t=+s[A+496>>3];k=(+s[A+512>>3]+M)*t;l=(+s[e+16>>3]-a)*l;t=(+s[e+24>>3]-M)*t;d=A+16|0;M=t+l;a=+s[(n[d>>2]|0)+152>>3]/M*2.5;s[b>>3]=l;s[b+8>>3]=M*.25;s[b+16>>3]=t;e=Ff(A,71110,b)|0;b=A+360|0;M=+(n[b>>2]|0);s[r>>3]=90.0;s[r+8>>3]=0.0;s[r+16>>3]=M;r=Ff(A,71142,r)|0;M=+c[41915];s[m>>3]=B;s[m+8>>3]=k;s[m+16>>3]=M;f=Ff(A,71174,m)|0;g=m;Z=(n[d>>2]|0)+16|0;G=g+40|0;do{n[g>>2]=n[Z>>2];g=g+4|0;Z=Z+4|0}while((g|0)<(G|0));Z=Lf(A,m,0.0)|0;s[o>>3]=1.0;s[o+8>>3]=a;n[o+16>>2]=e;n[o+20>>2]=r;n[o+24>>2]=f;n[o+28>>2]=Z;G=Ff(A,71765,o)|0;IB(A,G)|0;zN(e);zN(r);zN(f);zN(Z);zN(G);if(i|0){s[u>>3]=l;s[u+8>>3]=t;s[u+16>>3]=1.0;f=Ff(A,71110,u)|0;M=+(n[b>>2]|0);s[w>>3]=0.0;s[w+8>>3]=0.0;s[w+16>>3]=M;r=Ff(A,71142,w)|0;M=+c[41915];s[h>>3]=B;s[h+8>>3]=k;s[h+16>>3]=M;e=Ff(A,71174,h)|0;g=m;Z=(n[d>>2]|0)+56|0;G=g+40|0;do{n[g>>2]=n[Z>>2];g=g+4|0;Z=Z+4|0}while((g|0)<(G|0));m=Lf(A,m,0.0)|0;s[I>>3]=0.0;s[I+8>>3]=0.0;s[I+16>>3]=0.0;n[I+24>>2]=f;n[I+28>>2]=r;n[I+32>>2]=e;n[I+36>>2]=m;I=Ff(A,71811,I)|0;IB(A,I)|0;zN(f);zN(r);zN(e);zN(m);zN(I)}v=C;return}function pf(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0.0,P=0,H=0.0;p=v;v=v+336|0;Q=p+296|0;z=p+288|0;N=p+272|0;J=p+264|0;W=p+240|0;y=p+232|0;M=p+208|0;C=p+184|0;G=p+160|0;Z=p+152|0;g=p+136|0;h=p+128|0;d=p+96|0;w=p+88|0;k=p+56|0;f=p+48|0;b=p+24|0;t=p;IB(A,71615)|0;c[41915]=+c[41914]+-2.0;u=A+488|0;B=A+496|0;R=+s[B>>3];s[t>>3]=+s[u>>3];s[t+8>>3]=R;s[t+16>>3]=1.0;t=Ff(A,71110,t)|0;I=A+360|0;R=+(n[I>>2]|0);s[b>>3]=0.0;s[b+8>>3]=0.0;s[b+16>>3]=R;b=Ff(A,71142,b)|0;R=+c[41915]+-2.0;s[Q>>3]=0.0;s[Q+8>>3]=0.0;s[Q+16>>3]=R;o=Ff(A,71174,Q)|0;E=A+16|0;a=Q;l=(n[E>>2]|0)+16|0;m=a+40|0;do{n[a>>2]=n[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(m|0));l=Lf(A,Q,0.0)|0;n[f>>2]=71237;n[f+4>>2]=i+1;Y=A+504|0;V=A+512|0;a=0;f=Ff(A,71206,f)|0;while(1){if((a|0)>=(i|0))break;H=+s[V>>3]+ +s[e+(a<<4)+8>>3];R=+s[(n[E>>2]|0)+152>>3];s[k>>3]=+s[Y>>3]+ +s[e+(a<<4)>>3];s[k+8>>3]=H;s[k+16>>3]=0.0;s[k+24>>3]=R;P=Ff(A,71251,k)|0;n[w>>2]=f;n[w+4>>2]=P;m=Ff(A,71280,w)|0;zN(P);zN(f);a=a+1|0;f=m}R=+s[V>>3]+ +s[e+8>>3];H=+s[(n[E>>2]|0)+152>>3];s[d>>3]=+s[Y>>3]+ +s[e>>3];s[d+8>>3]=R;s[d+16>>3]=0.0;s[d+24>>3]=H;m=Ff(A,71251,d)|0;n[h>>2]=f;n[h+4>>2]=m;P=Ff(A,71280,h)|0;zN(m);zN(f);n[g>>2]=t;n[g+4>>2]=b;n[g+8>>2]=o;n[g+12>>2]=l;m=Ff(A,71630,g)|0;n[Z>>2]=P;n[Z+4>>2]=m;P=Ff(A,71335,Z)|0;zN(m);IB(A,P)|0;zN(t);zN(b);zN(o);zN(l);zN(P);if(r|0){H=+s[B>>3];s[G>>3]=+s[u>>3];s[G+8>>3]=H;s[G+16>>3]=1.0;o=Ff(A,71110,G)|0;H=+(n[I>>2]|0);s[C>>3]=0.0;s[C+8>>3]=0.0;s[C+16>>3]=H;b=Ff(A,71142,C)|0;H=+c[41915]+-2.0;s[M>>3]=0.0;s[M+8>>3]=0.0;s[M+16>>3]=H;t=Ff(A,71174,M)|0;a=Q;l=(n[E>>2]|0)+56|0;m=a+40|0;do{n[a>>2]=n[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(m|0));l=Lf(A,Q,.25)|0;n[y>>2]=i;a=0;f=Ff(A,71675,y)|0;while(1){if((a|0)>=(i|0))break;H=+s[V>>3]+ +s[e+(a<<4)+8>>3];s[W>>3]=+s[Y>>3]+ +s[e+(a<<4)>>3];s[W+8>>3]=H;s[W+16>>3]=0.0;y=Ff(A,71690,W)|0;n[J>>2]=f;n[J+4>>2]=y;P=Ff(A,71712,J)|0;zN(y);zN(f);a=a+1|0;f=P}n[N>>2]=o;n[N+4>>2]=b;n[N+8>>2]=t;n[N+12>>2]=l;N=Ff(A,71722,N)|0;n[z>>2]=f;n[z+4>>2]=N;P=Ff(A,71335,z)|0;zN(N);IB(A,P)|0;zN(o);zN(b);zN(t);zN(l);zN(P)}v=p;return}function Rf(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0.0,y=0.0;Q=v;v=v+208|0;r=Q+160|0;M=Q+152|0;C=Q+136|0;I=Q+128|0;m=Q+96|0;G=Q+88|0;Z=Q+56|0;t=Q+48|0;d=Q+24|0;w=Q;IB(A,71542)|0;c[41915]=+c[41914]+-4.0;E=+s[A+496>>3];s[w>>3]=+s[A+488>>3];s[w+8>>3]=E;s[w+16>>3]=1.0;w=Ff(A,71110,w)|0;E=+(n[A+360>>2]|0);s[d>>3]=0.0;s[d+8>>3]=0.0;s[d+16>>3]=E;d=Ff(A,71142,d)|0;E=+c[41915]+-2.0;s[r>>3]=0.0;s[r+8>>3]=0.0;s[r+16>>3]=E;h=Ff(A,71174,r)|0;g=A+16|0;f=r;a=(n[g>>2]|0)+56|0;l=f+40|0;do{n[f>>2]=n[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(l|0));o=Lf(A,r,0.0)|0;n[t>>2]=71556;n[t+4>>2]=i+2;u=A+504|0;B=A+512|0;k=i+-1|0;b=0;r=Ff(A,71206,t)|0;while(1){if((b|0)>=(i|0))break;f=e+(b<<4)|0;a=e+(b<<4)+8|0;y=+s[B>>3]+ +s[a>>3];E=+s[(n[g>>2]|0)+152>>3];s[Z>>3]=+s[u>>3]+ +s[f>>3];s[Z+8>>3]=y;s[Z+16>>3]=0.0;s[Z+24>>3]=E;t=Ff(A,71251,Z)|0;n[G>>2]=r;n[G+4>>2]=t;l=Ff(A,71280,G)|0;zN(t);zN(r);if((b|0)==0|(b|0)==(k|0)){E=+s[B>>3]+ +s[a>>3];y=+s[(n[g>>2]|0)+152>>3];s[m>>3]=+s[u>>3]+ +s[f>>3];s[m+8>>3]=E;s[m+16>>3]=0.0;s[m+24>>3]=y;t=Ff(A,71251,m)|0;n[I>>2]=l;n[I+4>>2]=t;r=Ff(A,71280,I)|0;zN(t);zN(l)}else r=l;b=b+1|0}n[C>>2]=w;n[C+4>>2]=d;n[C+8>>2]=h;n[C+12>>2]=o;e=Ff(A,71565,C)|0;n[M>>2]=r;n[M+4>>2]=e;i=Ff(A,71335,M)|0;zN(e);IB(A,i)|0;zN(w);zN(d);zN(h);zN(o);zN(i);v=Q;return}function Pf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0.0,m=0,I=0.0;Z=v;v=v+160|0;r=Z+120|0;g=Z+112|0;h=Z+96|0;d=Z+88|0;w=Z+56|0;b=Z+48|0;o=Z+24|0;k=Z;IB(A,71094)|0;c[41915]=+c[41914]+-6.0;G=+s[A+496>>3];s[k>>3]=+s[A+488>>3];s[k+8>>3]=G;s[k+16>>3]=1.0;k=Ff(A,71110,k)|0;G=+(n[A+360>>2]|0);s[o>>3]=0.0;s[o+8>>3]=0.0;s[o+16>>3]=G;o=Ff(A,71142,o)|0;G=+c[41915];s[r>>3]=0.0;s[r+8>>3]=0.0;s[r+16>>3]=G;u=Ff(A,71174,r)|0;B=A+16|0;f=r;a=(n[B>>2]|0)+16|0;l=f+40|0;do{n[f>>2]=n[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(l|0));a=Lf(A,r,0.0)|0;n[b>>2]=71237;n[b+4>>2]=i;l=A+504|0;t=A+512|0;f=0;r=Ff(A,71206,b)|0;while(1){if((f|0)>=(i|0))break;I=+s[t>>3]+ +s[e+(f<<4)+8>>3];G=+s[(n[B>>2]|0)+152>>3];s[w>>3]=+s[l>>3]+ +s[e+(f<<4)>>3];s[w+8>>3]=I;s[w+16>>3]=0.0;s[w+24>>3]=G;m=Ff(A,71251,w)|0;n[d>>2]=r;n[d+4>>2]=m;b=Ff(A,71280,d)|0;zN(m);zN(r);f=f+1|0;r=b}n[h>>2]=k;n[h+4>>2]=o;n[h+8>>2]=u;n[h+12>>2]=a;h=Ff(A,71289,h)|0;n[g>>2]=r;n[g+4>>2]=h;m=Ff(A,71335,g)|0;zN(h);IB(A,m)|0;zN(k);zN(o);zN(u);zN(a);zN(m);v=Z;return}function Hf(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;n[r>>2]=e;YB(A,71075,r);v=i;return}function Ff(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0;t=v;v=v+1056|0;l=t;r=t+24|0;f=t+8|0;n[f>>2]=i;a=hp(r,1024,e,f)|0;do{if((a|0)>=0)if((a|0)>1023){A=NN(a+1|0)|0;n[f>>2]=i;qp(A,e,f)|0;break}else{A=vR(r)|0;break}else{A=n[(n[A+12>>2]|0)+16>>2]|0;n[l>>2]=lz(n[(UN()|0)>>2]|0)|0;GF[A&31](71520,l);A=vR(174177)|0}}while(0);v=t;return A|0}function Lf(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0.0,d=0.0;k=v;v=v+112|0;u=k+104|0;t=k+96|0;l=k+64|0;o=k+48|0;B=k+32|0;b=k+16|0;c=k;f=n[e+32>>2]|0;A:do{switch(f|0){case 5:{r=n[e>>2]|0;if(!(az(r,121094)|0)){n[c>>2]=71357;s[c+8>>3]=i;r=Ff(A,71340,c)|0;break A}if(!(az(r,118224)|0)){n[b>>2]=71361;s[b+8>>3]=i;r=Ff(A,71340,b)|0;break A}if(!(az(r,116223)|0)){n[B>>2]=71367;s[B+8>>3]=i;r=Ff(A,71340,B)|0;break A}else{n[o>>2]=r;s[o+8>>3]=i;r=Ff(A,71340,o)|0;break A}}case 1:{d=+(a[e+1>>0]|0)*.00390625;w=+(a[e+2>>0]|0)*.00390625;s[l>>3]=+(a[e>>0]|0)*.00390625;s[l+8>>3]=d;s[l+16>>3]=w;s[l+24>>3]=i;r=Ff(A,71372,l)|0;break}default:{B=n[13918]|0;o=n[e>>2]|0;n[t>>2]=f;n[t+4>>2]=o;lR(B,71411,t)|0;BA(123205,71461,436,71481)}}}while(0);n[u>>2]=r;B=Ff(A,71498,u)|0;zN(r);v=k;return B|0}function Df(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0;e=v;v=v+32|0;i=e+24|0;r=e+16|0;a=e;f=n[A+16>>2]|0;l=n[n[A+12>>2]>>2]|0;c=n[l>>2]|0;t=n[l+4>>2]|0;l=n[l+8>>2]|0;n[a>>2]=73927;n[a+4>>2]=c;n[a+8>>2]=t;n[a+12>>2]=l;YB(A,76546,a);f=qY(n[f+8>>2]|0)|0;n[r>>2]=73927;n[r+4>>2]=f;YB(A,76578,r);n[i>>2]=73927;YB(A,76592,i);v=e;return}function Xf(A){A=A|0;var e=0,i=0;e=v;v=v+16|0;i=e;n[i>>2]=73927;YB(A,76494,i);v=e;return}function Tf(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0,X=0,T=0,x=0,U=0,j=0,S=0;S=v;v=v+304|0;j=S+296|0;U=S+288|0;x=S+272|0;X=S+264|0;D=S+256|0;L=S+248|0;F=S+240|0;H=S+232|0;P=S+224|0;R=S+216|0;p=S+208|0;z=S+200|0;N=S+192|0;J=S+184|0;V=S+176|0;Y=S+168|0;y=S+160|0;E=S+152|0;M=S+144|0;C=S+136|0;I=S+128|0;m=S+120|0;G=S+112|0;Z=S+104|0;g=S+96|0;h=S+88|0;d=S+80|0;w=S+72|0;k=S+64|0;B=S+56|0;u=S+48|0;T=S+40|0;Q=S+24|0;o=S+16|0;b=S;a=n[A+456>>2]|0;l=n[A+460>>2]|0;t=n[A+464>>2]|0;c=n[A+468>>2]|0;f=A+360|0;A:do{if(n[4007]|0){switch(n[f>>2]|0){case 90:case 0:break A;default:{}}rn();n[4007]=0}}while(0);r=(+(c|0)-+(l|0))*.013888888888888888;e=(+(t|0)-+(a|0))*.013888888888888888;c=(n[f>>2]|0)==90;i=c?r:e;r=c?e:r;s[b>>3]=i;s[b+8>>3]=r;YB(A,74114,b);n[o>>2]=73927;YB(A,74129,o);if(i>0.0){e=+vz(i);s[16877]=e;e=e+3.0-+(~~e|0)}else e=3.0;e=+W(10.0,+e);s[16877]=e;s[Q>>3]=e;s[Q+8>>3]=e;YB(A,74298,Q);n[T>>2]=73927;YB(A,74333,T);n[u>>2]=73927;YB(A,74391,u);n[B>>2]=73927;YB(A,74451,B);n[k>>2]=73927;YB(A,74500,k);n[w>>2]=73927;YB(A,74539,w);n[d>>2]=73927;YB(A,74590,d);n[h>>2]=73927;YB(A,74652,h);n[g>>2]=73927;YB(A,74762,g);n[Z>>2]=73927;YB(A,74853,Z);n[G>>2]=73927;YB(A,74907,G);n[m>>2]=73927;YB(A,74976,m);YB(A,75012,I);n[C>>2]=73927;YB(A,75137,C);n[M>>2]=73927;YB(A,75166,M);YB(A,75206,E);n[y>>2]=73927;YB(A,75299,y);n[Y>>2]=73927;YB(A,75358,Y);n[V>>2]=73927;YB(A,75439,V);YB(A,75509,J);n[N>>2]=73927;YB(A,75598,N);n[z>>2]=73927;YB(A,75703,z);n[p>>2]=73927;YB(A,75779,p);n[R>>2]=73927;YB(A,75818,R);n[P>>2]=73927;YB(A,75917,P);n[H>>2]=73927;YB(A,75963,H);YB(A,76052,F);n[L>>2]=73927;YB(A,76093,L);n[D>>2]=73927;YB(A,76176,D);n[X>>2]=73927;YB(A,76277,X);s[x>>3]=r;s[x+8>>3]=i;YB(A,76341,x);YB(A,76369,U);YB(A,76377,j);v=S;return}function xf(A){A=A|0;var e=0;e=v;v=v+16|0;YB(A,74107,e);v=e;return}function Uf(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0.0,l=0.0,t=0.0,c=0,b=0,o=0.0,u=0,B=0,k=0,w=0;w=v;v=v+48|0;k=w+24|0;B=w+8|0;u=w;switch(r[i+48>>0]|0){case 108:{c=e;l=+s[i+32>>3];t=+s[e>>3];break}case 114:{l=+s[i+32>>3];a=l;f=5;break}default:{l=+s[i+32>>3];a=l*.5;f=5}}if((f|0)==5){t=+s[e>>3]-a;s[e>>3]=t;c=e}b=i+4|0;f=n[b>>2]|0;a=+s[f+16>>3];e=e+8|0;o=+s[e>>3]+a*.004629629629629629;s[e>>3]=o;l=t+l*.006944444444444444;s[c>>3]=l;f=n[f>>2]|0;do{if(f){e=n[41916]|0;if(e|0?(az(e,f)|0)==0:0)break;n[u>>2]=An(f)|0;YB(A,74006,u);u=n[b>>2]|0;n[41916]=n[u>>2];a=+s[u+16>>3]}}while(0);f=~~a;f=(f|0)>1?f:1;if((f|0)!=(n[41917]|0)){t=+s[16877];n[B>>2]=f;s[B+8>>3]=t;YB(A,74014,B);n[41917]=f}n[k>>2]=en(n[i>>2]|0)|0;s[k+8>>3]=l;s[k+16>>3]=o;YB(A,74035,k);v=w;return}function jf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0.0,l=0.0,t=0.0,c=0.0;r=v;v=v+48|0;f=r;l=+s[e>>3];c=(+s[e+16>>3]-l)*.027777777777777776;a=+s[e+8>>3];t=(+s[e+24>>3]-a)*.027777777777777776;n[f>>2]=1;n[f+4>>2]=i|0?73948:174177;s[f+8>>3]=c;s[f+16>>3]=t;s[f+24>>3]=l*.013888888888888888;s[f+32>>3]=a*.013888888888888888;YB(A,73954,f);v=r;return}function Sf(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;r=v;v=v+16|0;qf(n[A+16>>2]|0,r+8|0,r);$f(A,e,i,1);v=r;return}function Of(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0.0,Z=0.0,G=0;h=v;v=v+128|0;d=h+112|0;k=h+104|0;B=h+96|0;r=h+88|0;o=h+16|0;u=h;c=n[A+16>>2]|0;t=NN((i*140|0)+140|0)|0;qf(c,h+116|0,h+80|0);Z=+s[e>>3];c=o+48|0;s[c>>3]=Z;g=+s[e+8>>3];s[o+56>>3]=g;n[r>>2]=~~(Z+(Z>=0.0?.5:-.5));n[r+4>>2]=~~(g+(g>=0.0?.5:-.5));l=u+8|0;r=t+(_p(t,73932,r)|0)|0;w=1;a=0;while(1){b=a+3|0;if((b|0)>=(i|0))break;n[o>>2]=n[c>>2];n[o+4>>2]=n[c+4>>2];n[o+8>>2]=n[c+8>>2];n[o+12>>2]=n[c+12>>2];f=1;while(1){if((f|0)==4){f=1;break}G=f+a|0;s[o+(f<<4)>>3]=+s[e+(G<<4)>>3];s[o+(f<<4)+8>>3]=+s[e+(G<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;$I(u,o,3,+(f|0)*.16666666666666666,0,0);g=+s[u>>3];Z=+s[l>>3];n[B>>2]=~~(g+(g>=0.0?.5:-.5));n[B+4>>2]=~~(Z+(Z>=0.0?.5:-.5));f=f+1|0;r=r+(_p(r,73932,B)|0)|0}w=w+6|0;a=b}n[k>>2]=t;YB(A,73939,k);zN(t);f=w+-1|0;r=0;while(1){if((r|0)>=(w|0))break;n[d>>2]=((r|0)%(f|0)|0|0)!=0&1;YB(A,73944,d);r=r+1|0}IB(A,134901)|0;v=h;return}function Kf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=v;v=v+16|0;qf(n[A+16>>2]|0,r+8|0,r);$f(A,e,i,0);v=r;return}function _f(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;n[r>>2]=73927;n[r+4>>2]=e;YB(A,73920,r);v=i;return}function qf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(n[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}n[e>>2]=A;s[i>>3]=r;return}function $f(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0.0,b=0.0;t=v;v=v+16|0;l=t+8|0;a=t;f=0;while(1){if((f|0)>=(i|0))break;b=+s[e+(f<<4)>>3];c=+s[e+(f<<4)+8>>3];n[a>>2]=~~(b+(b>=0.0?.5:-.5));n[a+4>>2]=~~(c+(c>=0.0?.5:-.5));YB(A,73932,a);f=f+1|0}if(r|0){c=+s[e>>3];b=+s[e+8>>3];n[l>>2]=~~(c+(c>=0.0?.5:-.5));n[l+4>>2]=~~(b+(b>=0.0?.5:-.5));YB(A,73932,l)}IB(A,134901)|0;v=t;return}function An(A){A=A|0;var e=0,i=0,f=0,a=0,l=0;l=v;v=v+16|0;f=l;A:while(1){e=15756;while(1){i=n[e+4>>2]|0;if(!i)break;if(!(az(i,A)|0)){a=6;break A}e=e+8|0}n[f>>2]=74088;n[f+4>>2]=A;Gy(1,74062,f)|0;e=BR(A,45)|0;if(!e){e=74105;break}r[e>>0]=0}v=l;return e|0}function en(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;t=v;v=v+16|0;l=t;e=n[41918]|0;if(!e){n[41919]=64;e=NN(64)|0;n[41918]=e;i=0}else i=0;while(1){a=A+1|0;f=r[A>>0]|0;if(!(f<<24>>24))break;A=n[41919]|0;if((i|0)>(A+-8|0)){e=A<<1;n[41919]=e;e=RN(n[41918]|0,e)|0;n[41918]=e;e=e+i|0}if(f<<24>>24<=-1){r[e>>0]=92;n[l>>2]=f&255;_p(e+1|0,74057,l)|0;A=a;e=e+4|0;i=i+4|0;continue}if(f<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=f;A=a;e=e+1|0;i=i+1|0}r[e>>0]=0;v=t;return n[41918]|0}function rn(){var A=0,e=0;A=v;v=v+16|0;e=A;n[e>>2]=74088;n[e+4>>2]=76485;Gy(0,76467,e)|0;v=A;return}function fn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,l=0.0,t=0,c=0;r=v;v=v+32|0;f=r+8|0;t=r;e=e+8|0;c=n[e>>2]|0;n[t>>2]=c;n[t+4>>2]=c;YB(A,77065,t);l=(+s[i>>3]+ +s[i+16>>3])*.5;a=(+s[i+8>>3]+ +s[i+24>>3])*.5;n[f>>2]=n[e>>2];s[f+8>>3]=l;s[f+16>>3]=a;YB(A,77107,f);v=r;return}function nn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,l=0.0,t=0.0,c=0.0;r=v;v=v+48|0;f=r;l=+s[i>>3];c=+s[i+16>>3]-l;a=+s[i+24>>3];t=a-+s[i+8>>3];a=+(~~(+s[A+232>>3]-+s[A+216>>3])>>>0)-a;n[f>>2]=n[e+8>>2];s[f+8>>3]=c;s[f+16>>3]=t;s[f+24>>3]=l;s[f+32>>3]=a;YB(A,77152,f);IB(A,77244)|0;v=r;return}function an(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return}function ln(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0.0;h=v;v=v+160|0;d=h+152|0;w=h+136|0;k=h+120|0;c=h+112|0;o=h+104|0;b=h+88|0;t=h+72|0;l=h+64|0;u=h;if(!A)BA(96061,77249,212,77268);if(!e)BA(96091,77249,213,77268);B=e+8|0;if(!(n[B>>2]|0))BA(96094,77249,214,77268);if(n[e+52>>2]|0){n[u>>2]=n[i>>2];n[u+4>>2]=n[i+4>>2];n[u+8>>2]=n[i+8>>2];n[u+12>>2]=n[i+12>>2];e=u+32|0;i=i+16|0;n[e>>2]=n[i>>2];n[e+4>>2]=n[i+4>>2];n[e+8>>2]=n[i+8>>2];n[e+12>>2]=n[i+12>>2];f=+s[u>>3];s[u+16>>3]=f;s[u+24>>3]=+s[u+40>>3];s[u+48>>3]=+s[e>>3];a=+s[u+8>>3];s[u+56>>3]=a;if(r<<24>>24){YB(A,77289,l);e=0;while(1){if((e|0)==4)break;g=+s[u+(e<<4)+8>>3];s[t>>3]=+s[u+(e<<4)>>3];s[t+8>>3]=g;YB(A,77292,t);e=e+1|0}s[b>>3]=f;s[b+8>>3]=a;YB(A,77292,b);b=n[B>>2]|0;n[o>>2]=4;n[o+4>>2]=b;YB(A,77299,o)}YB(A,77289,c);e=0;while(1){if((e|0)==4)break;g=+s[u+(e<<4)+8>>3];s[k>>3]=+s[u+(e<<4)>>3];s[k+8>>3]=g;YB(A,77292,k);e=e+1|0}s[w>>3]=f;s[w+8>>3]=a;YB(A,77292,w);w=n[B>>2]|0;n[d>>2]=4;n[d+4>>2]=w;YB(A,77314,d)}v=h;return}function tn(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0.0;u=v;v=v+112|0;o=u+24|0;b=u+16|0;c=u;l=u+28|0;if(!A)BA(96061,77249,153,77330);if(!e)BA(96091,77249,154,77330);if(!(n[e+8>>2]|0))BA(96094,77249,155,77330);t=e+52|0;if(n[t>>2]|0){f=e+60|0;a=n[f>>2]|0;if((a|0)==84)a=18;else{ZF[a&127](e);n[t>>2]=0;n[f>>2]=0;n[e+56>>2]=0;a=10}}else a=10;do{if((a|0)==10){if(!((KB(e)|0)<<24>>24))break;f=lH(n[e+20>>2]|0)|0;if((n[e+24>>2]&-2|0)==6){NR(f,l)|0;l=n[l+36>>2]|0;n[e+56>>2]=l;f=qN(0,l,1,1,f,0)|0;n[t>>2]=f;r[e+16>>0]=1}else f=n[t>>2]|0;if(f|0)n[e+60>>2]=84;_B(e);if(n[t>>2]|0)a=18}}while(0);if((a|0)==18){B=+s[i+8>>3]-+(n[e+36>>2]|0);s[c>>3]=+s[i>>3]-+(n[e+32>>2]|0);s[c+8>>3]=B;YB(A,77348,c);if(!(r[e+16>>0]|0)){n[b>>2]=n[e+12>>2];YB(A,77379,b)}else wG(A,e);YB(A,77394,o)}v=u;return}function cn(A){A=A|0;KN(n[A+52>>2]|0,n[A+56>>2]|0)|0;return}function sn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;a=v;v=v+80|0;f=a+48|0;if(!A)BA(96061,77249,121,77404);r=n[A+16>>2]|0;if(!r)BA(84865,77249,123,77404);if(!e)BA(96091,77249,124,77404);i=e+8|0;if(!(n[i>>2]|0))BA(96094,77249,125,77404);if(!(n[r+8>>2]|0))BA(123690,77249,128,77404);else{YB(A,77424,a);YB(A,77433,a+8|0);YB(A,77460,a+16|0);YB(A,77485,a+24|0);YB(A,77514,a+32|0);YB(A,77542,a+40|0);n[f>>2]=n[i>>2];YB(A,77549,f);YB(A,77588,a+56|0);YB(A,95774,a+64|0);v=a;return}}function bn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0,b=0.0;l=v;v=v+128|0;a=l+80|0;f=l;if(!A)BA(96061,77249,97,77593);if(!e)BA(96091,77249,98,77593);r=n[e+8>>2]|0;if(!r)BA(96094,77249,99,77593);else{b=+s[i>>3];t=~~(b+(b>=0.0?.5:-.5));b=+s[i+8>>3];e=~~(b+(b>=0.0?.5:-.5));b=+s[i+16>>3];c=~~(b+(b>=0.0?.5:-.5));b=+s[i+24>>3];i=~~(b+(b>=0.0?.5:-.5));n[f>>2]=2;n[f+4>>2]=5;n[f+8>>2]=0;n[f+12>>2]=0;n[f+16>>2]=0;n[f+20>>2]=-1;n[f+24>>2]=1;n[f+28>>2]=-1;n[f+32>>2]=0;s[f+40>>3]=0.0;n[f+48>>2]=0;n[f+52>>2]=0;n[f+56>>2]=0;n[f+60>>2]=0;n[f+64>>2]=0;n[f+68>>2]=5;n[f+72>>2]=0;n[f+76>>2]=r;YB(A,77612,f);n[a>>2]=t;n[a+4>>2]=e;n[a+8>>2]=t;n[a+12>>2]=i;n[a+16>>2]=c;n[a+20>>2]=i;n[a+24>>2]=c;n[a+28>>2]=e;n[a+32>>2]=t;n[a+36>>2]=e;YB(A,77670,a);v=l;return}}function on(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0,l=0.0,t=0.0,c=0,b=0,o=0,u=0;u=v;v=v+96|0;o=u+56|0;b=u+32|0;c=u;l=+s[i>>3];t=+s[i+16>>3]-l;f=+s[i+24>>3];a=f-+s[i+8>>3];if(!A)BA(96061,77249,53,77702);if(!e)BA(96091,77249,54,77702);r=e+8|0;if(!(n[r>>2]|0))BA(96094,77249,55,77702);IB(A,77721)|0;IB(A,n[r>>2]|0)|0;r=A+360|0;f=-f;if(!(n[r>>2]|0)){s[o>>3]=t;s[o+8>>3]=a;s[o+16>>3]=l;s[o+24>>3]=f;YB(A,77850,o)}else{s[c>>3]=a;s[c+8>>3]=t;s[c+16>>3]=l;s[c+24>>3]=f;YB(A,77741,c);n[b>>2]=n[r>>2];s[b+8>>3]=l;s[b+16>>3]=f;YB(A,77820,b)}IB(A,77929)|0;v=u;return}function un(A){A=A|0;var e=0,i=0;e=CV(A)|0;while(1){if(!e)break;vn(e);e=MV(A,e)|0}i=CV(A)|0;while(1){if(!i)break;e=bY(A,i)|0;while(1){if(!e)break;Bn(e);e=uY(A,e)|0}i=MV(A,i)|0}return}function vn(A){A=A|0;var e=0,i=0;lW(A,122241,304,1)|0;aC(A);st(A,n[(n[(HV(A)|0)+16>>2]|0)+116>>2]&1);A=A+16|0;n[(n[A>>2]|0)+176>>2]=0;e=Jg(20)|0;i=n[A>>2]|0;n[i+172>>2]=e;n[i+184>>2]=0;i=Jg(20)|0;e=n[A>>2]|0;n[e+180>>2]=i;n[e+200>>2]=0;e=Jg(12)|0;i=n[A>>2]|0;n[i+196>>2]=e;n[i+192>>2]=0;i=Jg(12)|0;e=n[A>>2]|0;n[e+188>>2]=i;n[e+208>>2]=0;e=Jg(12)|0;A=n[A>>2]|0;n[A+204>>2]=e;n[A+216>>2]=1;return}function Bn(A){A=A|0;var e=0,i=0,a=0,l=0,t=0;lW(A,122254,176,1)|0;lC(A)|0;l=LI(A,n[42217]|0,1,0)|0;a=A+16|0;n[(n[a>>2]|0)+156>>2]=l;l=XI(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0,n[42211]|0,174177)|0;t=XI(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,n[42211]|0,174177)|0;e=n[a>>2]|0;i=e+154|0;f[i>>1]=1;f[e+168>>1]=1;if((l|0)==(t|0)&(r[l>>0]|0)!=0){f[i>>1]=1e3;t=e+156|0;n[t>>2]=(n[t>>2]|0)*100}if(OQ(A)|0){t=n[a>>2]|0;f[t+154>>1]=0;n[t+156>>2]=0}t=(LI(A,n[42230]|0,0,0)|0)&255;r[(n[a>>2]|0)+152>>0]=t;t=(LI(A,n[42218]|0,1,0)|0)&65535;f[(n[a>>2]|0)+170>>1]=t;return}function kn(A){A=A|0;var e=0,i=0;wn(n[(n[A+16>>2]|0)+192>>2]|0);i=CV(A)|0;while(1){if(!i)break;e=bY(A,i)|0;while(1){if(!e)break;yC(e);e=uY(A,e)|0}dn(i);i=MV(A,i)|0}hn(A);return}function wn(A){A=A|0;var e=0,i=0,f=0,a=0;while(1){if(!A)break;f=A+16|0;a=n[(n[f>>2]|0)+164>>2]|0;gn(A);e=n[f>>2]|0;if((r[e+156>>0]|0)!=1){A=a;continue}i=n[e+180>>2]|0;if(i){zN(i);e=n[f>>2]|0}i=n[e+172>>2]|0;if(i){zN(i);e=n[f>>2]|0}zN(e);zN(A);A=a}return}function dn(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;e=n[r>>2]|0;i=n[e+172>>2]|0;if(i){zN(i);e=n[r>>2]|0}i=n[e+180>>2]|0;if(i){zN(i);e=n[r>>2]|0}i=n[e+188>>2]|0;if(i){zN(i);e=n[r>>2]|0}i=n[e+196>>2]|0;if(i){zN(i);e=n[r>>2]|0}i=n[e+204>>2]|0;if(i){zN(i);e=n[r>>2]|0}Mg(n[e+104>>2]|0);Mg(n[(n[r>>2]|0)+108>>2]|0);e=n[(n[r>>2]|0)+8>>2]|0;if(e|0)ZF[n[(n[e+4>>2]|0)+4>>2]&127](A);cW(A,122241)|0;return}function hn(A){A=A|0;var e=0,i=0,r=0;e=iJ(A)|0;while(1){if(!e)break;hn(e);e=rJ(e)|0}if(lW(A,122277,0,1)|0){r=A+16|0;e=n[r>>2]|0;i=n[e+184>>2]|0;if(i){zN(i);e=n[r>>2]|0}i=n[e+268>>2]|0;if(i){zN(i);e=n[r>>2]|0}i=n[e+216>>2]|0;if(i){zN(i);e=n[r>>2]|0}do{if(n[e+196>>2]|0){i=f[e+236>>1]|0;while(1){if((i|0)>(f[e+238>>1]|0))break;zN(n[(n[e+196>>2]|0)+(i<<6)+12>>2]|0);i=i+1|0;e=n[r>>2]|0}i=n[e+196>>2]|0;if((f[e+236>>1]|0)==-1){zN(i+-64|0);break}else{zN(i);break}}}while(0);if((FV(A)|0)!=(A|0)){Mg(n[(n[r>>2]|0)+12>>2]|0);cW(A,122277)|0}}return}function gn(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;i=n[r>>2]|0;e=n[i+176>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;e=n[(n[i+172>>2]|0)+(A<<2)>>2]|0;za(e);zN(n[e+16>>2]|0);zN(e);e=A;i=n[r>>2]|0}e=n[i+184>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;e=n[(n[(n[r>>2]|0)+180>>2]|0)+(A<<2)>>2]|0;za(e);zN(n[e+16>>2]|0);zN(e);e=A}return}function Zn(A){A=A|0;if(zY(A)|0)Gn(A);bG(A);return}function Gn(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0;l=v;v=v+48|0;a=l+32|0;f=l;e=kw(A,-1,8)|0;i=ww(A,0,f)|0;Bw(A,2,8,f)|0;i=(i|0)==0;r=(e|0)<0;if(r&i)mn(A);else{if(i)n[f+16>>2]=3;else e=r?8:e;n[f+8>>2]=e;n[f+20>>2]=0;r=Hk(A,a,0)|0;e=n[a>>2]|0;do{if((e|0)==1){mn(A);e=0}else{if(n[(n[(n[A+16>>2]|0)+8>>2]|0)+84>>2]|0){mn(A);e=0;break}n[f+12>>2]=1;i=0;while(1){if((i|0)>=(e|0))break;e=n[r+(i<<2)>>2]|0;In(e,A);mn(e);i=i+1|0;e=n[a>>2]|0}Cn(A);vw(n[a>>2]|0,r,A,f)|0;Mn(A);Qn(n[a>>2]|0,r,A);e=0}}while(0);while(1){if((e|0)>=(n[a>>2]|0))break;f=r+(e<<2)|0;zN(n[(n[(n[f>>2]|0)+16>>2]|0)+8>>2]|0);hn(n[f>>2]|0);PV(A,n[f>>2]|0)|0;e=e+1|0}zN(r)}v=l;return}function mn(A){A=A|0;var e=0,i=0,r=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;b=v;v=v+48|0;s=b+40|0;i=b;t=LI(A,Sy(A,0,77944,0)|0,-1,1)|0;tt(A,10);e=SQ(A,i)|0;yn(A,A);un(A);r=(t|0)==1;a=i+32|0;l=(t|0)==2;t=(t|0)==3;c=i+28|0;i=i+24|0;while(1){NM(A,e);if(r){e=3;break}if(n[a>>2]|0){Gy(0,77950,s)|0;n[i>>2]=0;e=0}al(A,(e|0)!=0&1);if(l){e=7;break}jC(A,e);if(t){e=9;break}o=(n[c>>2]|0)+-1|0;n[c>>2]=o;if(!((o|0)!=0&(n[i>>2]|0)!=0)){e=11;break}}if((e|0)==3)Yn(A,1);else if((e|0)==7)Yn(A,2);else if((e|0)==9)Yn(A,2);else if((e|0)==11){if(f[(n[A+16>>2]|0)+136>>1]&16)Vn(A);EQ(A);zn(A);if((UI(fY(A,78041)|0)|0)<<24>>24)GE(A)}v=b;return}function In(A,e){A=A|0;e=e|0;var i=0,f=0;lW(A,122277,280,1)|0;i=Jg(96)|0;A=n[A+16>>2]|0;n[A+8>>2]=i;e=n[e+16>>2]|0;f=n[e+8>>2]|0;s[i>>3]=+s[f>>3];s[i+24>>3]=+s[f+24>>3];n[A+144>>2]=n[e+144>>2];r[A+115>>0]=r[e+115>>0]|0;n[A+116>>2]=n[e+116>>2];n[A+248>>2]=n[e+248>>2];n[A+252>>2]=n[e+252>>2];n[A+244>>2]=n[e+244>>2];return}function Cn(A){A=A|0;var e=0,i=0,r=0;e=Jg((zY(A)|0)<<4)|0;i=CV(A)|0;while(1){if(!i)break;r=n[i+16>>2]|0;n[r+132>>2]=e;s[e>>3]=+s[r+16>>3]*.013888888888888888;s[e+8>>3]=+s[r+24>>3]*.013888888888888888;e=e+16|0;i=MV(A,i)|0}return}function Mn(A){A=A|0;var e=0,i=0,r=0,f=0;r=n[(n[(CV(A)|0)+16>>2]|0)+132>>2]|0;e=r;i=CV(A)|0;while(1){if(!i)break;f=n[i+16>>2]|0;n[f+132>>2]=0;s[f+16>>3]=+s[e>>3]*72.0;s[f+24>>3]=+s[e+8>>3]*72.0;e=e+16|0;i=MV(A,i)|0}zN(r);return}function Qn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0;r=0;f=0;while(1){if((r|0)>=(A|0))break;t=(n[(n[(n[e+(r<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+f|0;r=r+1|0;f=t}t=i+16|0;n[(n[t>>2]|0)+180>>2]=f;a=Jg((f<<2)+4|0)|0;n[(n[t>>2]|0)+184>>2]=a;a=0;r=1;while(1){if((a|0)>=(A|0))break;l=(n[e+(a<<2)>>2]|0)+16|0;f=1;while(1){i=n[l>>2]|0;if((f|0)>(n[i+180>>2]|0))break;i=Pk(n[(n[i+184>>2]|0)+(f<<2)>>2]|0)|0;n[(n[(n[t>>2]|0)+184>>2]|0)+(r<<2)>>2]=i;En(n[(n[(n[l>>2]|0)+184>>2]|0)+(f<<2)>>2]|0,i);f=f+1|0;r=r+1|0}a=a+1|0}return}function En(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;lW(e,122277,280,1)|0;a=e+16|0;e=(n[a>>2]|0)+16|0;f=A+16|0;A=(n[f>>2]|0)+16|0;n[e>>2]=n[A>>2];n[e+4>>2]=n[A+4>>2];n[e+8>>2]=n[A+8>>2];n[e+12>>2]=n[A+12>>2];n[e+16>>2]=n[A+16>>2];n[e+20>>2]=n[A+20>>2];n[e+24>>2]=n[A+24>>2];n[e+28>>2]=n[A+28>>2];A=n[f>>2]|0;e=n[a>>2]|0;r[e+275>>0]=r[A+275>>0]|0;e=e+48|0;A=A+48|0;i=e+64|0;do{n[e>>2]=n[A>>2];e=e+4|0;A=A+4|0}while((e|0)<(i|0));A=n[(n[f>>2]|0)+180>>2]|0;n[(n[a>>2]|0)+180>>2]=A;e=Jg((A<<2)+4|0)|0;n[(n[a>>2]|0)+184>>2]=e;e=1;while(1){i=n[f>>2]|0;if((e|0)>(A|0))break;i=Pk(n[(n[i+184>>2]|0)+(e<<2)>>2]|0)|0;n[(n[(n[a>>2]|0)+184>>2]|0)+(e<<2)>>2]=i;En(n[(n[(n[f>>2]|0)+184>>2]|0)+(e<<2)>>2]|0,i);e=e+1|0}f=i+12|0;n[(n[a>>2]|0)+12>>2]=n[f>>2];n[f>>2]=0;return}function yn(A,e){A=A|0;e=e|0;if((FV(A)|0)!=(A|0))lW(A,122277,280,1)|0;if((A|0)==(e|0))n[(n[(FV(A)|0)+16>>2]|0)+188>>2]=A;A=iJ(A)|0;while(1){if(!A)break;yn(A,e);A=rJ(A)|0}return}function Yn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0;b=v;v=v+1040|0;s=b+8|0;c=b;r=b+16|0;f=Sy(A,1,80018,174177)|0;a=Sy(A,1,78084,174177)|0;l=(e|0)>0;i=(e|0)==1;e=CV(A)|0;while(1){if(!e)break;if(l?(t=e+16|0,n[c>>2]=n[(n[t>>2]|0)+232>>2],_p(r,122187,c)|0,qy(e,f,r)|0,!i):0){n[s>>2]=n[(n[t>>2]|0)+236>>2];_p(r,122187,s)|0;qy(e,a,r)|0}e=MV(A,e)|0}v=b;return}function Vn(A){A=A|0;var e=0,i=0,r=0;i=eJ(A,79522,0)|0;if(i|0){e=CV(i)|0;while(1){if(!e)break;r=MV(i,e)|0;Xa(A,e);Wn(A,e);dn(e);RV(A,e)|0;e=r}nJ(A,i)|0}return}function Wn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0;c=n[(n[e+16>>2]|0)+232>>2]|0;t=A+16|0;A=n[(n[t>>2]|0)+196>>2]|0;i=n[A+(c<<6)>>2]|0;l=A+(c<<6)+4|0;a=0;r=0;while(1){if((r|0)>=(i|0)){f=7;break}f=n[(n[l>>2]|0)+(r<<2)>>2]|0;r=r+1|0;if((f|0)==(e|0)){f=4;break}else a=f}if((f|0)==4){while(1){if((r|0)>=(i|0))break;f=n[A+(c<<6)+4>>2]|0;n[f+(r+-1<<2)>>2]=n[f+(r<<2)>>2];f=n[(n[t>>2]|0)+196>>2]|0;r=r+1|0;i=n[f+(c<<6)>>2]|0;A=f;f=4}n[A+(c<<6)>>2]=i+-1}else if((f|0)==7?(a|0)!=(e|0):0)BA(78050,78057,248,78067);return}function Jn(A){A=A|0;return n[(n[(FV(A)|0)+16>>2]|0)+188>>2]|0}function Nn(A,e){A=A|0;e=e|0;var i=0;i=r[A+28>>0]|0;if(r[e+28>>0]|0)if(i<<24>>24){i=~~(+s[A>>3]-+s[e>>3]);if(!i)i=~~(+s[A+8>>3]-+s[e+8>>3])}else i=-1;else i=i<<24>>24!=0&1;return i|0}function zn(A){A=A|0;pn(A,1);return}function pn(A,e){A=A|0;e=e|0;var i=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0.0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0,X=0,T=0,x=0,U=0,j=0,S=0,O=0,K=0,_=0,q=0.0;_=v;v=v+656|0;F=_+592|0;H=_+552|0;i=_+544|0;x=_+96|0;U=_;K=_+632|0;j=A+16|0;O=f[(n[j>>2]|0)+136>>1]&14;L=O&65535;D=x+16|0;n[D>>2]=_+368;X=U+16|0;n[X>>2]=_+192;do{if(O<<16>>16){T=O<<16>>16==4;do{if(T){Rn(A);if(!(r[(n[(n[A+60>>2]|0)+16>>2]|0)+113>>0]&1))M=9;else{Gy(0,78090,i)|0;M=9}}else if(O<<16>>16==8){Rn(A);if(!(r[(n[(n[A+60>>2]|0)+16>>2]|0)+113>>0]&1)){bt(A,0);o=0;b=0;c=0;break}else{Pn(A);bt(A,1);o=0;b=0;c=0;break}}else M=9}while(0);if((M|0)==9){gE(A);if(mG()|0)break;S=Jg(96)|0;p=n[(n[j>>2]|0)+248>>2]|0;n[K+8>>2]=(p|0)/4|0;n[K+12>>2]=p;c=Jg(512)|0;V=K+4|0;n[V>>2]=0;n[K>>2]=0;t=n[j>>2]|0;E=f[t+236>>1]|0;y=0;R=0;P=c;Y=c;b=c;o=c;u=c;J=0;N=0;A:while(1){if((E|0)>(f[t+238>>1]|0))break;B=n[t+196>>2]|0;l=n[B+(E<<6)>>2]|0;W=l+y|0;a=n[B+(E<<6)+4>>2]|0;i=n[a>>2]|0;if(!i)i=J;else{q=+(J|0);i=n[i+16>>2]|0;I=+s[i+16>>3]-+s[i+88>>3];i=~~(I>q?q:I)}if((l|0)!=0?(z=n[a+(l+-1<<2)>>2]|0,(z|0)!=0):0){I=+(N|0);a=n[z+16>>2]|0;q=+s[a+96>>3]+ +s[a+16>>3];a=~~(q<I?I:q)}else a=N;Q=i+-16|0;C=a+16|0;m=0;h=R;w=P;k=t;g=Y;Z=b;a=c;i=B;while(1){if((m|0)>=(l|0))break;c=n[(n[i+(E<<6)+4>>2]|0)+(m<<2)>>2]|0;G=c+16|0;i=n[G>>2]|0;l=n[i+112>>2]|0;if(l){l=l+16|0;t=n[(n[l>>2]|0)+96>>2]|0;if(!t){M=21;break A}d=t+56|0;i=i+16|0;n[d>>2]=n[i>>2];n[d+4>>2]=n[i+4>>2];n[d+8>>2]=n[i+8>>2];n[d+12>>2]=n[i+12>>2];r[(n[(n[l>>2]|0)+96>>2]|0)+81>>0]=1;i=n[G>>2]|0}if((r[i+156>>0]|0)!=0?(vF[n[17228>>2]&31](c)|0)<<24>>24==0:0){k=h;i=w;t=g;c=Z;l=u}else{d=0;k=h;t=g;c=Z;M=25}e:do{if((M|0)==25){while(1){M=0;B=n[G>>2]|0;l=n[(n[B+180>>2]|0)+(d<<2)>>2]|0;if(!l)break;switch(r[(n[l+16>>2]|0)+112>>0]|0){case 6:case 4:{i=k;l=w;break}default:{Hn(l,1,16,64);i=k+1|0;n[w+(k<<2)>>2]=l;if(!(i&127)){a=pg(a,(k<<2)+516|0)|0;l=a;t=a;c=a;o=a;u=a}else l=w}}d=d+1|0;k=i;w=l;M=25}i=n[B+188>>2]|0;i:do{if(!i)l=u;else{d=0;l=u;while(1){i=n[i+(d<<2)>>2]|0;if(!i)break i;Hn(i,2,0,128);u=k+1|0;n[w+(k<<2)>>2]=i;if(!(u&127)){a=pg(l,(k<<2)+516|0)|0;i=a;t=a;c=a;o=a;l=a}else i=w;B=n[G>>2]|0;d=d+1|0;k=u;w=i;i=n[B+188>>2]|0}}}while(0);i=n[B+204>>2]|0;if(!i)i=w;else{if(!(r[B+156>>0]|0)){Z=B+96|0;q=+s[Z>>3];d=B+240|0;s[Z>>3]=+s[d>>3];s[d>>3]=q;d=0;B=w}else{d=0;B=w}while(1){i=n[i+(d<<2)>>2]|0;if(!i){i=B;break e}Hn(i,0,0,128);u=k+1|0;n[B+(k<<2)>>2]=i;if(!(u&127)){a=pg(o,(k<<2)+516|0)|0;i=a;t=a;c=a;o=a;l=a}else i=B;d=d+1|0;k=u;B=i;i=n[(n[G>>2]|0)+204>>2]|0}}}}while(0);g=n[j>>2]|0;G=n[g+196>>2]|0;m=m+1|0;h=k;w=i;k=g;g=t;Z=c;u=l;l=n[G+(E<<6)>>2]|0;i=G}E=E+1|0;y=W;R=h;P=w;Y=g;t=k;b=Z;c=a;J=Q;N=C}if((M|0)==21)BA(78158,78171,313,78184);n[K>>2]=J;n[V>>2]=N;$p(Y,R,4,10);n[S+84>>2]=Jg((y<<5)+11520|0)|0;n[K+16>>2]=Jg(E<<5)|0;A:do{if(O<<16>>16==2){i=(n[j>>2]|0)+192|0;while(1){a=n[i>>2]|0;if(!a)break A;l=a+16|0;i=n[l>>2]|0;if((r[i+156>>0]|0)==1?(n[i+104>>2]|0)!=0:0){Ln(a);i=n[l>>2]|0}i=i+164|0}}}while(0);C=U+48|0;M=U+-48|0;Q=x+48|0;E=x+-48|0;I=+(p|0);m=0;A:while(1){if((m|0)>=(R|0))break;Z=P+(m<<2)|0;w=n[Z>>2]|0;d=Dn(w)|0;h=w+16|0;a=n[h>>2]|0;if(!(r[a+44>>0]|0)){a=(r[a+84>>0]|0)==0?d:w;i=a;a=n[a+16>>2]|0}else i=w;l=i+16|0;if(n[a+164>>2]&32){a=n[D>>2]|0;QH(a|0,n[l>>2]|0,176)|0;o=x;u=i;B=o+48|0;do{n[o>>2]=n[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(B|0));n[D>>2]=a;u=n[i>>2]&3;o=n[x>>2]&3;n[((o|0)==3?x:Q)+40>>2]=n[((u|0)==2?i:i+-48|0)+40>>2];n[((o|0)==2?x:E)+40>>2]=n[((u|0)==3?i:i+48|0)+40>>2];o=a+16|0;u=(n[l>>2]|0)+56|0;B=o+40|0;do{n[o>>2]=n[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(B|0));o=a+56|0;u=(n[l>>2]|0)+16|0;B=o+40|0;do{n[o>>2]=n[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(B|0));r[a+112>>0]=1;n[a+116>>2]=i;i=x}k=i+16|0;G=1;i=m;while(1){g=i+1|0;if((g|0)>=(R|0))break;t=P+(g<<2)|0;i=n[t>>2]|0;if((d|0)!=(Dn(i)|0))break;if(!(r[(n[h>>2]|0)+113>>0]|0)){c=i+16|0;a=n[c>>2]|0;if(!(r[a+44>>0]|0)){a=(r[a+84>>0]|0)==0?d:i;i=a;a=n[a+16>>2]|0}l=i+16|0;if(n[a+164>>2]&32){a=n[X>>2]|0;QH(a|0,n[l>>2]|0,176)|0;o=U;u=i;B=o+48|0;do{n[o>>2]=n[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(B|0));n[X>>2]=a;u=n[i>>2]&3;o=n[U>>2]&3;n[((o|0)==3?U:C)+40>>2]=n[((u|0)==2?i:i+-48|0)+40>>2];n[((o|0)==2?U:M)+40>>2]=n[((u|0)==3?i:i+48|0)+40>>2];o=a+16|0;u=(n[l>>2]|0)+56|0;B=o+40|0;do{n[o>>2]=n[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(B|0));o=a+56|0;u=(n[l>>2]|0)+16|0;B=o+40|0;do{n[o>>2]=n[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(B|0));r[a+112>>0]=1;n[a+116>>2]=i}l=n[k>>2]|0;i=a+16|0;o=H;u=l+16|0;B=o+40|0;do{n[o>>2]=n[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(B|0));o=F;u=i;B=o+40|0;do{n[o>>2]=n[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(B|0));if(Nn(H,F)|0)break;i=a+56|0;o=H;u=l+56|0;B=o+40|0;do{n[o>>2]=n[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(B|0));o=F;u=i;B=o+40|0;do{n[o>>2]=n[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(B|0));if(Nn(H,F)|0)break;p=n[h>>2]|0;if((n[p+164>>2]&15|0)==2?(n[p+96>>2]|0)!=(n[(n[c>>2]|0)+96>>2]|0):0)break;if(n[(n[(n[t>>2]|0)+16>>2]|0)+164>>2]&64|0)break}G=G+1|0;i=g}if(T){if((G|0)==1)i=F;else i=Jg(G<<2)|0;n[i>>2]=Dn(n[Z>>2]|0)|0;a=1;while(1){if((a|0)>=(G|0))break;n[i+(a<<2)>>2]=n[Z+(a<<2)>>2];a=a+1|0}WG(A,i,G,L,17224);if((G|0)>1)zN(i);m=g;continue}i=n[w>>2]&3;p=n[((i|0)==3?w:w+48|0)+40>>2]|0;i=n[((i|0)==2?w:w+-48|0)+40>>2]|0;a=n[p+16>>2]|0;l=n[a+232>>2]|0;if((p|0)!=(i|0))if((l|0)==(n[(n[i+16>>2]|0)+232>>2]|0)){Xn(A,K,S,P,m,G,L);m=g;continue}else{Tn(A,K,S,P,m,G,L);m=g;continue}i=n[j>>2]|0;do{if((l|0)==(f[i+238>>1]|0))if((l|0)>0){i=~~(+s[(n[(n[n[(n[i+196>>2]|0)+(l+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+s[a+24>>3]);break}else{i=~~+s[a+80>>3];break}else if((l|0)==(f[i+236>>1]|0)){i=~~(+s[a+24>>3]-+s[(n[(n[n[(n[i+196>>2]|0)+(l+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);break}else{i=n[i+196>>2]|0;q=+s[a+24>>3];p=~~(+s[(n[(n[n[i+(l+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-q);i=~~(q-+s[(n[(n[n[i+(l+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);i=(p|0)<(i|0)?p:i;break}}while(0);eI(S,P,m,G,I,+((i|0)/2|0|0),17224);i=0;while(1){if((i|0)>=(G|0)){m=g;continue A}a=n[(n[(n[P+(i+m<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(a|0)uC(A,a);i=i+1|0}}i=(n[j>>2]|0)+192|0;while(1){a=n[i>>2]|0;if(!a)break;l=a+16|0;i=n[l>>2]|0;if((r[i+156>>0]|0)==1?(n[i+104>>2]|0)!=0:0){Ln(a);uC(A,n[(n[l>>2]|0)+104>>2]|0);i=n[l>>2]|0}i=i+164|0}if(!e){o=S;c=S}else{xn(A);o=S;c=S}}A:do{if((n[42240]|0)!=0|(n[42241]|0)!=0?(n[42246]|0)!=0|(n[42245]|0)!=0:0){t=CV(A)|0;while(1){if(!t)break A;e:do{if(n[42240]|0){i=vY(A,t)|0;while(1){if(!i)break e;a=i+-48|0;l=(n[i>>2]&3|0)==2?i:a;if(n[(n[l+16>>2]|0)+100>>2]|0){cI(l,1)|0;uC(A,n[(n[((n[i>>2]&3|0)==2?i:a)+16>>2]|0)+100>>2]|0)}i=BY(A,i)|0}}}while(0);e:do{if(n[42241]|0){i=bY(A,t)|0;while(1){if(!i)break e;a=i+16|0;if(n[(n[a>>2]|0)+104>>2]|0?cI(i,0)|0:0)uC(A,n[(n[a>>2]|0)+104>>2]|0);i=uY(A,i)|0}}}while(0);t=MV(A,t)|0}}}while(0);switch(O&15){case 4:case 8:break;default:{zN(b);zN(n[o+84>>2]|0);zN(c);zN(n[K+16>>2]|0);IG()}}n[42181]=1;n[42182]=1}}while(0);v=_;return}function Rn(A){A=A|0;var e=0,i=0,r=0.0,f=0;e=CV(A)|0;while(1){if(!e)break;i=n[e+16>>2]|0;if(n[i+204>>2]|0){f=i+96|0;r=+s[f>>3];i=i+240|0;s[f>>3]=+s[i>>3];s[i>>3]=r}e=MV(A,e)|0}return}function Pn(A){A=A|0;var e=0,i=0,f=0,a=0;e=(n[A+16>>2]|0)+192|0;A:while(1){f=n[e>>2]|0;if(!f){e=12;break}a=f+16|0;e=n[a>>2]|0;do{if((r[e+156>>0]|0)==1){i=n[e+112>>2]|0;if(!i){i=n[e+104>>2]|0;if(!i)break;Ln(f);e=i}else{i=n[(n[i+16>>2]|0)+96>>2]|0;if(!i){e=6;break A}f=i+56|0;e=e+16|0;n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];r[i+81>>0]=1;e=i}uC(A,e);e=n[a>>2]|0}}while(0);e=e+164|0}if((e|0)==6)BA(78358,78171,234,78377);else if((e|0)==12)return}function Hn(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0;do{if(!e){a=n[A>>2]&3;e=n[((a|0)==3?A:A+48|0)+40>>2]|0;a=n[((a|0)==2?A:A+-48|0)+40>>2]|0;if((e|0)!=(a|0)){e=(n[(n[e+16>>2]|0)+232>>2]|0)==(n[(n[a+16>>2]|0)+232>>2]|0)?2:1;break}e=n[A+16>>2]|0;if(!(r[e+44>>0]|0))e=(r[e+84>>0]|0)==0?8:4;else e=4}}while(0);A:do{if(!i)switch(e|0){case 1:{i=n[A>>2]&3;i=(n[(n[(n[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(n[(n[(n[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break A}case 2:{i=n[A>>2]&3;i=(n[(n[(n[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(n[(n[(n[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break A}default:{i=16;break A}}}while(0);n[(n[A+16>>2]|0)+164>>2]=e|f|i;return}function Fn(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0;y=v;v=v+624|0;C=y+584|0;I=y+544|0;d=y+368|0;i=y+192|0;h=y+96|0;Z=y;g=h+16|0;n[g>>2]=d;G=Z+16|0;n[G>>2]=i;E=n[A>>2]|0;Q=n[e>>2]|0;m=E+16|0;k=n[m>>2]|0;e=n[k+164>>2]|0;f=e&15;M=Q+16|0;A=n[M>>2]|0;a=n[A+164>>2]&15;do{if((a|0)==(f|0)){B=Dn(E)|0;w=Dn(Q)|0;o=n[B>>2]|0;a=o&3;f=n[(n[((a|0)==3?B:B+48|0)+40>>2]|0)+16>>2]|0;a=n[(n[((a|0)==2?B:B+-48|0)+40>>2]|0)+16>>2]|0;l=(n[f+232>>2]|0)-(n[a+232>>2]|0)|0;u=n[w>>2]|0;b=u&3;c=n[(n[((b|0)==3?w:w+48|0)+40>>2]|0)+16>>2]|0;b=n[(n[((b|0)==2?w:w+-48|0)+40>>2]|0)+16>>2]|0;t=(n[c+232>>2]|0)-(n[b+232>>2]|0)|0;l=(l|0)>-1?l:0-l|0;t=(t|0)>-1?t:0-t|0;if((l|0)!=(t|0)){A=l-t|0;break}a=~~(+s[f+16>>3]-+s[a+16>>3]);a=(a|0)>-1?a:0-a|0;f=~~(+s[c+16>>3]-+s[b+16>>3]);f=(f|0)>-1?f:0-f|0;if((a|0)!=(f|0)){A=a-f|0;break}a=o>>>4;f=u>>>4;if((a|0)!=(f|0)){A=a-f|0;break}if(!(r[k+44>>0]|0)){e=(r[k+84>>0]|0)==0?B:E;a=e;e=n[(n[e+16>>2]|0)+164>>2]|0}else a=E;f=a+16|0;if(e&32){QH(d|0,n[f>>2]|0,176)|0;l=h;t=a;c=l+48|0;do{n[l>>2]=n[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));n[g>>2]=d;t=n[a>>2]&3;l=n[h>>2]&3;n[((l|0)==3?h:h+48|0)+40>>2]=n[((t|0)==2?a:a+-48|0)+40>>2];n[((l|0)==2?h:h+-48|0)+40>>2]=n[((t|0)==3?a:a+48|0)+40>>2];l=d+16|0;t=(n[f>>2]|0)+56|0;c=l+40|0;do{n[l>>2]=n[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=d+56|0;t=(n[f>>2]|0)+16|0;c=l+40|0;do{n[l>>2]=n[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));r[d+112>>0]=1;n[d+116>>2]=a;a=h;A=n[M>>2]|0}if(!(r[A+44>>0]|0)){A=(r[A+84>>0]|0)==0?w:Q;f=A;A=n[A+16>>2]|0}else f=Q;e=f+16|0;if(!(n[A+164>>2]&32))i=A;else{QH(i|0,n[e>>2]|0,176)|0;l=Z;t=f;c=l+48|0;do{n[l>>2]=n[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));n[G>>2]=i;t=n[f>>2]&3;l=n[Z>>2]&3;n[((l|0)==3?Z:Z+48|0)+40>>2]=n[((t|0)==2?f:f+-48|0)+40>>2];n[((l|0)==2?Z:Z+-48|0)+40>>2]=n[((t|0)==3?f:f+48|0)+40>>2];l=i+16|0;t=(n[e>>2]|0)+56|0;c=l+40|0;do{n[l>>2]=n[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=i+56|0;t=(n[e>>2]|0)+16|0;c=l+40|0;do{n[l>>2]=n[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));r[i+112>>0]=1;n[i+116>>2]=f}e=n[a+16>>2]|0;A=i+16|0;l=I;t=e+16|0;c=l+40|0;do{n[l>>2]=n[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=C;t=A;c=l+40|0;do{n[l>>2]=n[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));A=Nn(I,C)|0;if(!A){A=i+56|0;l=I;t=e+56|0;c=l+40|0;do{n[l>>2]=n[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=C;t=A;c=l+40|0;do{n[l>>2]=n[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));A=Nn(I,C)|0;if(!A){e=n[(n[m>>2]|0)+164>>2]&192;A=n[(n[M>>2]|0)+164>>2]&192;if((e|0)==(A|0)){A=((n[E>>2]|0)>>>4)-((n[Q>>2]|0)>>>4)|0;break}else{A=e-A|0;break}}}}else A=a-f|0}while(0);v=y;return A|0}function Ln(A){A=A|0;var e=0,i=0,f=0,a=0.0,l=0.0;f=A+16|0;e=n[f>>2]|0;if(n[e+176>>2]|0){e=n[e+180>>2]|0;while(1){e=(n[e>>2]|0)+16|0;i=n[e>>2]|0;if(!(r[i+112>>0]|0))break;else e=i+116|0}i=n[i+96>>2]|0;a=+s[i+24>>3];l=+s[i+32>>3];i=(n[(n[(HV(A)|0)+16>>2]|0)+116>>2]&1|0)!=0;A=n[f>>2]|0;f=n[(n[e>>2]|0)+96>>2]|0;s[f+56>>3]=(i?l:a)*.5+ +s[A+16>>3];s[f+64>>3]=+s[A+24>>3];r[f+81>>0]=1}return}function Dn(A){A=A|0;var e=0,i=0;while(1){e=n[A+16>>2]|0;i=n[e+172>>2]|0;if(!i)break;else A=i}while(1){e=n[e+116>>2]|0;if(!e)break;A=e;e=n[e+16>>2]|0}return A|0}function Xn(A,e,i,f,a,l,t){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;l=l|0;t=t|0;var c=0,b=0.0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0.0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0.0,y=0.0,Y=0.0,V=0.0,W=0.0;Q=v;v=v+1712|0;m=Q+1664|0;d=Q+1488|0;h=Q+1392|0;M=Q+1696|0;I=Q+696|0;C=Q;B=h+16|0;n[B>>2]=d;k=n[f+(a<<2)>>2]|0;w=k+16|0;c=n[w>>2]|0;g=r[c+113>>0]|0;if(n[c+164>>2]&32){QH(d|0,c|0,176)|0;c=h;o=k;u=c+48|0;do{n[c>>2]=n[o>>2];c=c+4|0;o=o+4|0}while((c|0)<(u|0));n[B>>2]=d;c=n[h>>2]&3;n[((c|0)==3?h:h+48|0)+40>>2]=n[((n[k>>2]&3|0)==2?k:k+-48|0)+40>>2];n[((c|0)==2?h:h+-48|0)+40>>2]=n[((n[k>>2]&3|0)==3?k:k+48|0)+40>>2];c=d+16|0;o=(n[w>>2]|0)+56|0;u=c+40|0;do{n[c>>2]=n[o>>2];c=c+4|0;o=o+4|0}while((c|0)<(u|0));c=d+56|0;o=(n[w>>2]|0)+16|0;u=c+40|0;do{n[c>>2]=n[o>>2];c=c+4|0;o=o+4|0}while((c|0)<(u|0));r[d+112>>0]=1;n[d+116>>2]=k;k=h}c=1;while(1){if((c|0)>=(l|0)){G=6;break}if(!(r[(n[(n[f+(c+a<<2)>>2]|0)+16>>2]|0)+113>>0]|0))c=c+1|0;else{G=7;break}}A:do{if((G|0)==6)if(!(g<<24>>24)){c=n[k+16>>2]|0;if(n[c+96>>2]|0){Ba(A,e,i,k,t);break}if((t|0)==2){M=n[k>>2]&3;ka(n[((M|0)==3?k:k+48|0)+40>>2]|0,n[((M|0)==2?k:k+-48|0)+40>>2]|0,f,a,l,2);break}h=r[c+49>>0]|0;g=r[c+89>>0]|0;if(!(h<<24>>24==1&g<<24>>24!=4)?!(h<<24>>24!=4&g<<24>>24==1):0){B=n[k>>2]&3;u=n[((B|0)==3?k:k+48|0)+40>>2]|0;B=n[((B|0)==2?k:k+-48|0)+40>>2]|0;c=n[u+16>>2]|0;o=n[c+232>>2]|0;if((o|0)>0){g=n[(n[A+16>>2]|0)+196>>2]|0;h=o+~(r[(n[(n[A+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;b=+s[(n[(n[n[g+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+s[g+(h<<6)+16>>3]-+s[c+24>>3]-+s[g+(o<<6)+24>>3]}else b=+(n[(n[A+16>>2]|0)+252>>2]|0);E=+(l+1|0);Z=+(n[e+12>>2]|0)/E;b=b/E;da(A,e,i,u,k,I,1);da(A,e,i,B,k,C,0);d=I+52|0;h=C+52|0;B=(t|0)==10;k=i+80|0;c=0;while(1){if((c|0)>=(l|0))break A;w=n[f+(c+a<<2)>>2]|0;u=n[d>>2]|0;o=u+-1|0;W=+s[I+56+(o<<5)>>3];V=+s[I+56+(o<<5)+16>>3];Y=+s[I+56+(o<<5)+24>>3];s[16878]=W;s[16879]=Y;c=c+1|0;E=+(c|0);y=Z*E;s[16880]=V+y;E=Y+b*E;s[16881]=E;s[16882]=W;s[16883]=E;o=(n[h>>2]|0)+-1|0;W=+s[C+56+(o<<5)+16>>3];s[16884]=W;s[16885]=E+b;Y=+s[C+56+(o<<5)>>3];V=+s[C+56+(o<<5)+24>>3];s[16888]=W;s[16887]=V;s[16886]=Y-y;s[16889]=E;o=0;while(1){if((o|0)>=(u|0)){o=0;break}u=I+56+(o<<5)|0;n[m>>2]=n[u>>2];n[m+4>>2]=n[u+4>>2];n[m+8>>2]=n[u+8>>2];n[m+12>>2]=n[u+12>>2];n[m+16>>2]=n[u+16>>2];n[m+20>>2]=n[u+20>>2];n[m+24>>2]=n[u+24>>2];n[m+28>>2]=n[u+28>>2];Om(i,m);o=o+1|0;u=n[d>>2]|0}while(1){if((o|0)==3)break;t=135024+(o<<5)|0;n[m>>2]=n[t>>2];n[m+4>>2]=n[t+4>>2];n[m+8>>2]=n[t+8>>2];n[m+12>>2]=n[t+12>>2];n[m+16>>2]=n[t+16>>2];n[m+20>>2]=n[t+20>>2];n[m+24>>2]=n[t+24>>2];n[m+28>>2]=n[t+28>>2];Om(i,m);o=o+1|0}u=n[h>>2]|0;while(1){o=u+-1|0;if((u|0)<=0)break;u=C+56+(o<<5)|0;n[m>>2]=n[u>>2];n[m+4>>2]=n[u+4>>2];n[m+8>>2]=n[u+8>>2];n[m+12>>2]=n[u+12>>2];n[m+16>>2]=n[u+16>>2];n[m+20>>2]=n[u+20>>2];n[m+24>>2]=n[u+24>>2];n[m+28>>2]=n[u+28>>2];Om(i,m);u=o}if(B)o=CG(i,M)|0;else o=VG(i,M)|0;u=n[M>>2]|0;if(!u)break A;jm(w,n[((n[w>>2]&3|0)==2?w:w+-48|0)+40>>2]|0,o,u,17224);n[k>>2]=0}}wa(A,e,i,f,a,l,k,(t|0)==10&1)}else G=7}while(0);if((G|0)==7)va(A,f,a,l,k,t);v=Q;return}function Tn(A,e,i,f,a,l,t){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;l=l|0;t=t|0;var c=0,b=0.0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0,T=0,x=0,U=0,j=0,S=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0;eA=v;v=v+2576|0;T=eA+2528|0;q=eA+2568|0;c=eA+2352|0;o=eA+2176|0;h=eA+1904|0;K=eA+1808|0;$=eA+1712|0;x=eA+1016|0;U=eA+320|0;j=eA+256|0;O=eA+2564|0;_=eA+2560|0;C=eA+288|0;M=eA+224|0;R=eA+192|0;P=eA+160|0;H=eA+128|0;F=eA+96|0;L=eA+64|0;D=eA+32|0;S=eA;d=h+16|0;n[d>>2]=c;u=K+16|0;n[u>>2]=o;AA=$+16|0;n[AA>>2]=eA+2e3;if(!(n[41920]|0)){n[41920]=Ng(32e3)|0;n[41921]=Ng(32e3)|0;n[41922]=2e3;n[41923]=2e3}g=n[f+(a<<2)>>2]|0;p=n[g>>2]&3;B=g+48|0;k=g+-48|0;p=(n[(n[(n[((p|0)==3?g:B)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(n[(n[(n[((p|0)==2?g:k)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;w=g+16|0;if((((p|0)>-1?p:0-p|0)|0)<=1){c=n[w>>2]|0;if(!(n[c+164>>2]&32)){p=g;o=0}else{o=n[d>>2]|0;QH(o|0,c|0,176)|0;G=h;m=g;I=G+48|0;do{n[G>>2]=n[m>>2];G=G+4|0;m=m+4|0}while((G|0)<(I|0));n[d>>2]=o;G=n[h>>2]&3;n[((G|0)==3?h:h+48|0)+40>>2]=n[((n[g>>2]&3|0)==2?g:k)+40>>2];n[((G|0)==2?h:h+-48|0)+40>>2]=n[((n[g>>2]&3|0)==3?g:B)+40>>2];G=o+16|0;m=(n[w>>2]|0)+56|0;I=G+40|0;do{n[G>>2]=n[m>>2];G=G+4|0;m=m+4|0}while((G|0)<(I|0));c=n[d>>2]|0;G=c+56|0;m=(n[w>>2]|0)+16|0;I=G+40|0;do{n[G>>2]=n[m>>2];G=G+4|0;m=m+4|0}while((G|0)<(I|0));r[c+112>>0]=1;o=0;z=12}}else{QH(c|0,n[w>>2]|0,176)|0;G=h;m=g;I=G+48|0;do{n[G>>2]=n[m>>2];G=G+4|0;m=m+4|0}while((G|0)<(I|0));G=h+48|0;m=B;I=G+48|0;do{n[G>>2]=n[m>>2];G=G+4|0;m=m+4|0}while((G|0)<(I|0));n[d>>2]=c;c=n[w>>2]|0;if(!(n[c+164>>2]&32)){QH(o|0,c|0,176)|0;G=K;m=g;I=G+48|0;do{n[G>>2]=n[m>>2];G=G+4|0;m=m+4|0}while((G|0)<(I|0));n[u>>2]=o;u=n[h>>2]|0;n[((u&3|0)==3?h:h+48|0)+40>>2]=n[((n[g>>2]&3|0)==3?g:B)+40>>2];G=K+48|0;m=B;I=G+48|0;do{n[G>>2]=n[m>>2];G=G+4|0;m=m+4|0}while((G|0)<(I|0))}else{o=n[u>>2]|0;QH(o|0,c|0,176)|0;G=K;m=g;I=G+48|0;do{n[G>>2]=n[m>>2];G=G+4|0;m=m+4|0}while((G|0)<(I|0));n[u>>2]=o;G=n[K>>2]&3;n[((G|0)==3?K:K+48|0)+40>>2]=n[((n[g>>2]&3|0)==2?g:k)+40>>2];n[((G|0)==2?K:K+-48|0)+40>>2]=n[((n[g>>2]&3|0)==3?g:B)+40>>2];G=o+16|0;m=(n[w>>2]|0)+56|0;I=G+40|0;do{n[G>>2]=n[m>>2];G=G+4|0;m=m+4|0}while((G|0)<(I|0));c=n[u>>2]|0;G=c+56|0;m=(n[w>>2]|0)+16|0;I=G+40|0;do{n[G>>2]=n[m>>2];G=G+4|0;m=m+4|0}while((G|0)<(I|0));r[c+112>>0]=1;n[c+116>>2]=g;u=n[h>>2]|0;n[((u&3|0)==3?h:h+48|0)+40>>2]=n[((n[g>>2]&3|0)==2?g:k)+40>>2];G=(n[d>>2]|0)+16|0;m=(n[w>>2]|0)+56|0;I=G+40|0;do{n[G>>2]=n[m>>2];G=G+4|0;m=m+4|0}while((G|0)<(I|0))}c=Dn(g)|0;while(1){o=n[(n[c+16>>2]|0)+172>>2]|0;if(!o)break;else c=o}n[((u&3|0)==2?h:h+-48|0)+40>>2]=n[((n[c>>2]&3|0)==2?c:c+-48|0)+40>>2];c=n[d>>2]|0;r[c+84>>0]=0;r[c+112>>0]=1;o=c+56|0;n[o>>2]=0;n[o+4>>2]=0;n[o+8>>2]=0;n[o+12>>2]=0;o=1;z=12}if((z|0)==12){n[c+116>>2]=g;p=h}J=(t|0)==2;if(J?(Z=Sn(A,p,n[41920]|0,q)|0,n[_>>2]=Z,(Z|0)!=0):0)z=63;else z=15;A:do{if((z|0)==15){W=(t|0)==10;n[_>>2]=0;u=n[p>>2]&3;c=n[((u|0)==3?p:p+48|0)+40>>2]|0;u=n[((u|0)==2?p:p+-48|0)+40>>2]|0;n[q>>2]=u;On(C,A,e,c,0,p);n[x>>2]=n[C>>2];n[x+4>>2]=n[C+4>>2];n[x+8>>2]=n[C+8>>2];n[x+12>>2]=n[C+12>>2];n[x+16>>2]=n[C+16>>2];n[x+20>>2]=n[C+20>>2];n[x+24>>2]=n[C+24>>2];n[x+28>>2]=n[C+28>>2];n[j>>2]=n[C>>2];n[j+4>>2]=n[C+4>>2];n[j+8>>2]=n[C+8>>2];n[j+12>>2]=n[C+12>>2];n[j+16>>2]=n[C+16>>2];n[j+20>>2]=n[C+20>>2];Km(i,p,1,x,Kn(c)|0);Q=x+52|0;N=(n[Q>>2]|0)+-1|0;y=j+24|0;s[y>>3]=+s[x+56+(N<<5)+24>>3];Y=j+8|0;s[Y>>3]=+s[x+56+(N<<5)+8>>3];N=n[c+16>>2]|0;V=A+16|0;b=+s[N+24>>3]-+s[(n[(n[V>>2]|0)+196>>2]|0)+(n[N+232>>2]<<6)+16>>3];n[T>>2]=n[j>>2];n[T+4>>2]=n[j+4>>2];n[T+8>>2]=n[j+8>>2];n[T+12>>2]=n[j+12>>2];n[T+16>>2]=n[j+16>>2];n[T+20>>2]=n[j+20>>2];n[T+24>>2]=n[j+24>>2];n[T+28>>2]=n[j+28>>2];_n(M,T,1,b);n[j>>2]=n[M>>2];n[j+4>>2]=n[M+4>>2];n[j+8>>2]=n[M+8>>2];n[j+12>>2]=n[M+12>>2];n[j+16>>2]=n[M+16>>2];n[j+20>>2]=n[M+20>>2];n[j+24>>2]=n[M+24>>2];n[j+28>>2]=n[M+28>>2];M=j+16|0;if(+s[j>>3]<+s[M>>3]?+s[Y>>3]<+s[y>>3]:0){N=n[Q>>2]|0;n[Q>>2]=N+1;N=x+56+(N<<5)|0;n[N>>2]=n[j>>2];n[N+4>>2]=n[j+4>>2];n[N+8>>2]=n[j+8>>2];n[N+12>>2]=n[j+12>>2];n[N+16>>2]=n[j+16>>2];n[N+20>>2]=n[j+20>>2];n[N+24>>2]=n[j+24>>2];n[N+28>>2]=n[j+28>>2]}G=A+60|0;E=U+52|0;m=i+56|0;I=i+69|0;t=i+16|0;C=i+29|0;N=p;k=0;w=-1;e:while(1){d=c;h=0;c=0;g=N;while(1){B=u;Z=u;if((r[(n[B+16>>2]|0)+156>>0]|0)!=1)break e;if((vF[n[17228>>2]&31](B)|0)<<24>>24)break e;u=h|1;iA=135024+(h<<5)|0;qn(R,e,A,n[(n[d+16>>2]|0)+232>>2]|0);n[iA>>2]=n[R>>2];n[iA+4>>2]=n[R+4>>2];n[iA+8>>2]=n[R+8>>2];n[iA+12>>2]=n[R+12>>2];n[iA+16>>2]=n[R+16>>2];n[iA+20>>2]=n[R+20>>2];n[iA+24>>2]=n[R+24>>2];n[iA+28>>2]=n[R+28>>2];if(!c){k=$n(B)|0;c=(k|0)<((r[(n[(n[G>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);k=c?k:k+-2|0;w=c?w:1;c=(c^1)&1}if(!((c|0)==0|(w|0)>0))break;iA=135024+(u<<5)|0;On(P,A,e,B,g,n[n[(n[B+16>>2]|0)+180>>2]>>2]|0);n[iA>>2]=n[P>>2];n[iA+4>>2]=n[P+4>>2];n[iA+8>>2]=n[P+8>>2];n[iA+12>>2]=n[P+12>>2];n[iA+16>>2]=n[P+16>>2];n[iA+20>>2]=n[P+20>>2];n[iA+24>>2]=n[P+24>>2];n[iA+28>>2]=n[P+28>>2];iA=n[n[(n[Z+16>>2]|0)+180>>2]>>2]|0;u=n[iA>>2]&3;d=n[((u|0)==3?iA:iA+48|0)+40>>2]|0;u=n[((u|0)==2?iA:iA+-48|0)+40>>2]|0;n[q>>2]=u;h=h+2|0;w=w+-1|0;g=iA}On(H,A,e,B,g,n[n[(n[B+16>>2]|0)+180>>2]>>2]|0);n[U>>2]=n[H>>2];n[U+4>>2]=n[H+4>>2];n[U+8>>2]=n[H+8>>2];n[U+12>>2]=n[H+12>>2];n[U+16>>2]=n[H+16>>2];n[U+20>>2]=n[H+20>>2];n[U+24>>2]=n[H+24>>2];n[U+28>>2]=n[H+28>>2];$m(i,g,1,U,Kn(n[((n[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)|0);iA=U+56+((n[E>>2]|0)+-1<<5)|0;h=n[Z+16>>2]|0;b=+s[(n[(n[V>>2]|0)+196>>2]|0)+(n[h+232>>2]<<6)+24>>3]+ +s[h+24>>3];n[T>>2]=n[iA>>2];n[T+4>>2]=n[iA+4>>2];n[T+8>>2]=n[iA+8>>2];n[T+12>>2]=n[iA+12>>2];n[T+16>>2]=n[iA+16>>2];n[T+20>>2]=n[iA+20>>2];n[T+24>>2]=n[iA+24>>2];n[T+28>>2]=n[iA+28>>2];_n(j,T,4,b);if(+s[j>>3]<+s[M>>3]?+s[Y>>3]<+s[y>>3]:0){iA=n[E>>2]|0;n[E>>2]=iA+1;iA=U+56+(iA<<5)|0;n[iA>>2]=n[j>>2];n[iA+4>>2]=n[j+4>>2];n[iA+8>>2]=n[j+8>>2];n[iA+12>>2]=n[j+12>>2];n[iA+16>>2]=n[j+16>>2];n[iA+20>>2]=n[j+20>>2];n[iA+24>>2]=n[j+24>>2];n[iA+28>>2]=n[j+28>>2]}s[m>>3]=1.5707963267948966;r[I>>0]=1;Aa(i,N,g,x,U,u);if(!W){c=VG(i,O)|0;u=n[O>>2]|0;if(J&(u|0)>4){iA=c+16|0;n[iA>>2]=n[c>>2];n[iA+4>>2]=n[c+4>>2];n[iA+8>>2]=n[c+8>>2];n[iA+12>>2]=n[c+12>>2];iA=c+32|0;u=c+(u+-1<<4)|0;n[iA>>2]=n[u>>2];n[iA+4>>2]=n[u+4>>2];n[iA+8>>2]=n[u+8>>2];n[iA+12>>2]=n[u+12>>2];EH(c+48|0,u|0,16)|0;n[O>>2]=4;u=4}else z=33}else{c=CG(i,O)|0;u=n[O>>2]|0;z=33}if((z|0)==33){z=0;if(!u)break A}g=n[_>>2]|0;B=g+u|0;if((B|0)>(n[41922]|0)){n[41922]=B<<1;h=pg(n[41920]|0,B<<5)|0;n[41920]=h;u=n[O>>2]|0}else h=n[41920]|0;d=0;B=g;while(1){if((d|0)>=(u|0))break;iA=h+(B<<4)|0;g=c+(d<<4)|0;n[iA>>2]=n[g>>2];n[iA+4>>2]=n[g+4>>2];n[iA+8>>2]=n[g+8>>2];n[iA+12>>2]=n[g+12>>2];d=d+1|0;B=B+1|0}n[_>>2]=B;u=ea(n[n[(n[Z+16>>2]|0)+180>>2]>>2]|0,k,h,_)|0;ia(N,i);B=n[u>>2]&3;c=n[((B|0)==3?u:u+48|0)+40>>2]|0;B=n[((B|0)==2?u:u+-48|0)+40>>2]|0;n[q>>2]=B;N=c+16|0;On(F,A,e,c,n[n[(n[N>>2]|0)+172>>2]>>2]|0,u);n[x>>2]=n[F>>2];n[x+4>>2]=n[F+4>>2];n[x+8>>2]=n[F+8>>2];n[x+12>>2]=n[F+12>>2];n[x+16>>2]=n[F+16>>2];n[x+20>>2]=n[F+20>>2];n[x+24>>2]=n[F+24>>2];n[x+28>>2]=n[F+28>>2];Km(i,u,1,x,Kn(c)|0);iA=x+56+((n[Q>>2]|0)+-1<<5)|0;N=n[N>>2]|0;b=+s[N+24>>3]-+s[(n[(n[V>>2]|0)+196>>2]|0)+(n[N+232>>2]<<6)+16>>3];n[T>>2]=n[iA>>2];n[T+4>>2]=n[iA+4>>2];n[T+8>>2]=n[iA+8>>2];n[T+12>>2]=n[iA+12>>2];n[T+16>>2]=n[iA+16>>2];n[T+20>>2]=n[iA+20>>2];n[T+24>>2]=n[iA+24>>2];n[T+28>>2]=n[iA+28>>2];_n(j,T,1,b);if(+s[j>>3]<+s[M>>3]?+s[Y>>3]<+s[y>>3]:0){iA=n[Q>>2]|0;n[Q>>2]=iA+1;iA=x+56+(iA<<5)|0;n[iA>>2]=n[j>>2];n[iA+4>>2]=n[j+4>>2];n[iA+8>>2]=n[j+8>>2];n[iA+12>>2]=n[j+12>>2];n[iA+16>>2]=n[j+16>>2];n[iA+20>>2]=n[j+20>>2];n[iA+24>>2]=n[j+24>>2];n[iA+28>>2]=n[j+28>>2]}s[t>>3]=-1.5707963267948966;r[C>>0]=1;N=u;u=B}c=h|1;w=135024+(h<<5)|0;qn(L,e,A,n[(n[d+16>>2]|0)+232>>2]|0);n[w>>2]=n[L>>2];n[w+4>>2]=n[L+4>>2];n[w+8>>2]=n[L+8>>2];n[w+12>>2]=n[L+12>>2];n[w+16>>2]=n[L+16>>2];n[w+20>>2]=n[L+20>>2];n[w+24>>2]=n[L+24>>2];n[w+28>>2]=n[L+28>>2];On(D,A,e,B,g,0);n[U>>2]=n[D>>2];n[U+4>>2]=n[D+4>>2];n[U+8>>2]=n[D+8>>2];n[U+12>>2]=n[D+12>>2];n[U+16>>2]=n[D+16>>2];n[U+20>>2]=n[D+20>>2];n[U+24>>2]=n[D+24>>2];n[U+28>>2]=n[D+28>>2];n[j>>2]=n[D>>2];n[j+4>>2]=n[D+4>>2];n[j+8>>2]=n[D+8>>2];n[j+12>>2]=n[D+12>>2];n[j+16>>2]=n[D+16>>2];n[j+20>>2]=n[D+20>>2];n[j+24>>2]=n[D+24>>2];n[j+28>>2]=n[D+28>>2];w=(o|0)!=0;d=g+-48|0;$m(i,w?K:g,1,U,Kn(n[((n[g>>2]&3|0)==2?g:d)+40>>2]|0)|0);iA=(n[E>>2]|0)+-1|0;s[y>>3]=+s[U+56+(iA<<5)+24>>3];s[Y>>3]=+s[U+56+(iA<<5)+8>>3];iA=n[Z+16>>2]|0;b=+s[(n[(n[V>>2]|0)+196>>2]|0)+(n[iA+232>>2]<<6)+24>>3]+ +s[iA+24>>3];n[T>>2]=n[j>>2];n[T+4>>2]=n[j+4>>2];n[T+8>>2]=n[j+8>>2];n[T+12>>2]=n[j+12>>2];n[T+16>>2]=n[j+16>>2];n[T+20>>2]=n[j+20>>2];n[T+24>>2]=n[j+24>>2];n[T+28>>2]=n[j+28>>2];_n(S,T,4,b);n[j>>2]=n[S>>2];n[j+4>>2]=n[S+4>>2];n[j+8>>2]=n[S+8>>2];n[j+12>>2]=n[S+12>>2];n[j+16>>2]=n[S+16>>2];n[j+20>>2]=n[S+20>>2];n[j+24>>2]=n[S+24>>2];n[j+28>>2]=n[S+28>>2];if(+s[j>>3]<+s[M>>3]?+s[Y>>3]<+s[y>>3]:0){iA=n[E>>2]|0;n[E>>2]=iA+1;iA=U+56+(iA<<5)|0;n[iA>>2]=n[j>>2];n[iA+4>>2]=n[j+4>>2];n[iA+8>>2]=n[j+8>>2];n[iA+12>>2]=n[j+12>>2];n[iA+16>>2]=n[j+16>>2];n[iA+20>>2]=n[j+20>>2];n[iA+24>>2]=n[j+24>>2];n[iA+28>>2]=n[j+28>>2]}Aa(i,N,g,x,U,c);if(W)k=CG(i,O)|0;else k=VG(i,O)|0;c=n[O>>2]|0;if(!(J&(c|0)>4)){if(!c)break}else{iA=k+16|0;n[iA>>2]=n[k>>2];n[iA+4>>2]=n[k+4>>2];n[iA+8>>2]=n[k+8>>2];n[iA+12>>2]=n[k+12>>2];iA=k+32|0;c=k+(c+-1<<4)|0;n[iA>>2]=n[c>>2];n[iA+4>>2]=n[c+4>>2];n[iA+8>>2]=n[c+8>>2];n[iA+12>>2]=n[c+12>>2];EH(k+48|0,c|0,16)|0;n[O>>2]=4;c=4}u=n[_>>2]|0;o=u+c|0;if((o|0)>(n[41922]|0)){n[41922]=o<<1;B=pg(n[41920]|0,o<<5)|0;n[41920]=B;c=n[O>>2]|0}else B=n[41920]|0;o=0;while(1){if((o|0)>=(c|0))break;iA=B+(u<<4)|0;O=k+(o<<4)|0;n[iA>>2]=n[O>>2];n[iA+4>>2]=n[O+4>>2];n[iA+8>>2]=n[O+8>>2];n[iA+12>>2]=n[O+12>>2];o=o+1|0;u=u+1|0}n[_>>2]=u;ia(N,i);if(w)c=(n[K>>2]&3|0)==2?K:K+-48|0;else c=(n[g>>2]&3|0)==2?g:d;n[q>>2]=n[c+40>>2];Z=u;z=63}}while(0);A:do{if((z|0)==63){if((l|0)==1){jm(p,n[q>>2]|0,n[41920]|0,Z,17224);break}h=e+12|0;g=Z+-1|0;b=+((X(n[h>>2]|0,l+-1|0)|0)/2|0|0);o=n[41920]|0;c=1;while(1){if((c|0)>=(g|0))break;iA=o+(c<<4)|0;s[iA>>3]=+s[iA>>3]-b;c=c+1|0}c=n[41922]|0;if((c|0)>(n[41923]|0)){n[41923]=c;u=pg(n[41921]|0,c<<4)|0;n[41921]=u;o=n[41920]|0}else u=n[41921]|0;c=0;while(1){if((c|0)>=(Z|0))break;iA=u+(c<<4)|0;e=o+(c<<4)|0;n[iA>>2]=n[e>>2];n[iA+4>>2]=n[e+4>>2];n[iA+8>>2]=n[e+8>>2];n[iA+12>>2]=n[e+12>>2];c=c+1|0}jm(p,n[q>>2]|0,u,Z,17224);w=$+48|0;d=$+-48|0;k=1;while(1){if((k|0)>=(l|0))break A;u=n[f+(k+a<<2)>>2]|0;B=u+16|0;c=n[B>>2]|0;if(n[c+164>>2]&32){o=n[AA>>2]|0;QH(o|0,c|0,176)|0;G=$;m=u;I=G+48|0;do{n[G>>2]=n[m>>2];G=G+4|0;m=m+4|0}while((G|0)<(I|0));n[AA>>2]=o;G=n[$>>2]&3;n[((G|0)==3?$:w)+40>>2]=n[((n[u>>2]&3|0)==2?u:u+-48|0)+40>>2];n[((G|0)==2?$:d)+40>>2]=n[((n[u>>2]&3|0)==3?u:u+48|0)+40>>2];G=o+16|0;m=(n[B>>2]|0)+56|0;I=G+40|0;do{n[G>>2]=n[m>>2];G=G+4|0;m=m+4|0}while((G|0)<(I|0));c=n[AA>>2]|0;G=c+56|0;m=(n[B>>2]|0)+16|0;I=G+40|0;do{n[G>>2]=n[m>>2];G=G+4|0;m=m+4|0}while((G|0)<(I|0));r[c+112>>0]=1;n[c+116>>2]=u;u=$}B=n[41920]|0;c=1;while(1){if((c|0)>=(g|0))break;iA=B+(c<<4)|0;s[iA>>3]=+s[iA>>3]+ +(n[h>>2]|0);c=c+1|0}o=n[41921]|0;c=0;while(1){if((c|0)>=(Z|0))break;iA=o+(c<<4)|0;q=B+(c<<4)|0;n[iA>>2]=n[q>>2];n[iA+4>>2]=n[q+4>>2];n[iA+8>>2]=n[q+8>>2];n[iA+12>>2]=n[q+12>>2];c=c+1|0}jm(u,n[((n[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0,o,Z,17224);k=k+1|0}}}while(0);v=eA;return}function xn(A){A=A|0;var e=0,i=0,r=0;e=CV(A)|0;while(1){if(!e)break;i=bY(A,e)|0;while(1){if(!i)break;if((vF[n[4306]&31](i)|0)<<24>>24?(r=n[(n[i+16>>2]|0)+8>>2]|0,r|0):0)Un(r);i=uY(A,i)|0}e=MV(A,e)|0}return}function Un(A){A=A|0;var e=0,i=0,r=0,f=0,a=0;f=n[A+4>>2]|0;a=Ng(f*48|0)|0;e=a;i=0;r=(n[A>>2]|0)+((f+-1|0)*48|0)|0;while(1){if((i|0)>=(f|0)){e=0;break}jn(r,e);e=e+48|0;i=i+1|0;r=r+-48|0}while(1){i=n[A>>2]|0;if((e|0)>=(f|0))break;zN(n[i+(e*48|0)>>2]|0);e=e+1|0}zN(i);n[A>>2]=a;return}function jn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0;a=n[A+4>>2]|0;l=Ng(a<<4)|0;i=l;r=0;f=(n[A>>2]|0)+(a+-1<<4)|0;while(1){if((r|0)>=(a|0))break;n[i>>2]=n[f>>2];n[i+4>>2]=n[f+4>>2];n[i+8>>2]=n[f+8>>2];n[i+12>>2]=n[f+12>>2];i=i+16|0;r=r+1|0;f=f+-16|0}n[e>>2]=l;n[e+4>>2]=a;n[e+8>>2]=n[A+12>>2];n[e+12>>2]=n[A+8>>2];l=e+16|0;a=A+32|0;n[l>>2]=n[a>>2];n[l+4>>2]=n[a+4>>2];n[l+8>>2]=n[a+8>>2];n[l+12>>2]=n[a+12>>2];l=e+32|0;a=A+16|0;n[l>>2]=n[a>>2];n[l+4>>2]=n[a+4>>2];n[l+8>>2]=n[a+8>>2];n[l+12>>2]=n[a+12>>2];return}function Sn(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0.0,t=0.0,c=0.0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0;m=v;v=v+96|0;k=m+80|0;d=m+64|0;w=m+48|0;g=m+32|0;Z=m+16|0;G=m;b=e;while(1){h=b+16|0;a=n[h>>2]|0;if(!(r[a+112>>0]|0))break;b=n[a+116>>2]|0}a=n[b>>2]&3;u=n[((a|0)==2?b:b+-48|0)+40>>2]|0;a=n[((a|0)==3?b:b+48|0)+40>>2]|0;b=u+16|0;o=a+16|0;I=(n[(n[b>>2]|0)+232>>2]|0)-(n[(n[o>>2]|0)+232>>2]|0)|0;switch(((I|0)>-1?I:0-I|0)|0){case 1:{a=0;break}case 2:{if(!(r[(n[(n[A+60>>2]|0)+16>>2]|0)+113>>0]&1))B=6;else a=0;break}default:B=6}do{if((B|0)==6){if((n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(a|0)){n[f>>2]=u;I=(n[o>>2]|0)+16|0;B=(n[h>>2]|0)+16|0;n[d>>2]=n[I>>2];n[d+4>>2]=n[I+4>>2];n[d+8>>2]=n[I+8>>2];n[d+12>>2]=n[I+12>>2];n[k>>2]=n[B>>2];n[k+4>>2]=n[B+4>>2];n[k+8>>2]=n[B+8>>2];n[k+12>>2]=n[B+12>>2];oa(g,d,k);B=(n[b>>2]|0)+16|0;I=(n[h>>2]|0)+56|0;n[d>>2]=n[B>>2];n[d+4>>2]=n[B+4>>2];n[d+8>>2]=n[B+8>>2];n[d+12>>2]=n[B+12>>2];n[k>>2]=n[I>>2];n[k+4>>2]=n[I+4>>2];n[k+8>>2]=n[I+8>>2];n[k+12>>2]=n[I+12>>2];oa(Z,d,k)}else{n[f>>2]=a;I=(n[b>>2]|0)+16|0;B=(n[h>>2]|0)+56|0;n[d>>2]=n[I>>2];n[d+4>>2]=n[I+4>>2];n[d+8>>2]=n[I+8>>2];n[d+12>>2]=n[I+12>>2];n[k>>2]=n[B>>2];n[k+4>>2]=n[B+4>>2];n[k+8>>2]=n[B+8>>2];n[k+12>>2]=n[B+12>>2];oa(g,d,k);B=(n[o>>2]|0)+16|0;I=(n[h>>2]|0)+16|0;n[d>>2]=n[B>>2];n[d+4>>2]=n[B+4>>2];n[d+8>>2]=n[B+8>>2];n[d+12>>2]=n[B+12>>2];n[k>>2]=n[I>>2];n[k+4>>2]=n[I+4>>2];n[k+8>>2]=n[I+8>>2];n[k+12>>2]=n[I+12>>2];oa(Z,d,k)}a=n[(n[h>>2]|0)+96>>2]|0;if(!a){a=i+16|0;n[i>>2]=n[g>>2];n[i+4>>2]=n[g+4>>2];n[i+8>>2]=n[g+8>>2];n[i+12>>2]=n[g+12>>2];n[a>>2]=n[g>>2];n[a+4>>2]=n[g+4>>2];n[a+8>>2]=n[g+8>>2];n[a+12>>2]=n[g+12>>2];a=i+48|0;I=i+32|0;n[I>>2]=n[Z>>2];n[I+4>>2]=n[Z+4>>2];n[I+8>>2]=n[Z+8>>2];n[I+12>>2]=n[Z+12>>2];n[a>>2]=n[Z>>2];n[a+4>>2]=n[Z+4>>2];n[a+8>>2]=n[Z+8>>2];n[a+12>>2]=n[Z+12>>2];a=4;break}t=+s[a+24>>3];l=+s[a+32>>3];B=(n[(n[(HV(u)|0)+16>>2]|0)+116>>2]&1|0)==0;c=B?l:t;I=(n[(n[h>>2]|0)+96>>2]|0)+56|0;n[G>>2]=n[I>>2];n[G+4>>2]=n[I+4>>2];n[G+8>>2]=n[I+8>>2];n[G+12>>2]=n[I+12>>2];n[w>>2]=n[Z>>2];n[w+4>>2]=n[Z+4>>2];n[w+8>>2]=n[Z+8>>2];n[w+12>>2]=n[Z+12>>2];n[d>>2]=n[g>>2];n[d+4>>2]=n[g+4>>2];n[d+8>>2]=n[g+8>>2];n[d+12>>2]=n[g+12>>2];n[k>>2]=n[I>>2];n[k+4>>2]=n[I+4>>2];n[k+8>>2]=n[I+8>>2];n[k+12>>2]=n[I+12>>2];I=(ua(w,d,k)|0)==0;l=(B?t:l)*.5;t=+s[G>>3];if(I){s[G>>3]=t-l;I=G+8|0;s[I>>3]=+s[I>>3]+c*.5}else{s[G>>3]=t+l;I=G+8|0;s[I>>3]=+s[I>>3]-c*.5}a=i+16|0;n[i>>2]=n[g>>2];n[i+4>>2]=n[g+4>>2];n[i+8>>2]=n[g+8>>2];n[i+12>>2]=n[g+12>>2];n[a>>2]=n[g>>2];n[a+4>>2]=n[g+4>>2];n[a+8>>2]=n[g+8>>2];n[a+12>>2]=n[g+12>>2];a=i+32|0;I=i+48|0;g=i+64|0;n[g>>2]=n[G>>2];n[g+4>>2]=n[G+4>>2];n[g+8>>2]=n[G+8>>2];n[g+12>>2]=n[G+12>>2];n[I>>2]=n[G>>2];n[I+4>>2]=n[G+4>>2];n[I+8>>2]=n[G+8>>2];n[I+12>>2]=n[G+12>>2];n[a>>2]=n[G>>2];n[a+4>>2]=n[G+4>>2];n[a+8>>2]=n[G+8>>2];n[a+12>>2]=n[G+12>>2];a=i+80|0;I=i+96|0;n[I>>2]=n[Z>>2];n[I+4>>2]=n[Z+4>>2];n[I+8>>2]=n[Z+8>>2];n[I+12>>2]=n[Z+12>>2];n[a>>2]=n[Z>>2];n[a+4>>2]=n[Z+4>>2];n[a+8>>2]=n[Z+8>>2];n[a+12>>2]=n[Z+12>>2];a=7}}while(0);v=m;return a|0}function On(A,e,i,f,a,l){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;l=l|0;var t=0.0,c=0,b=0,o=0.0,u=0,v=0.0,B=0.0,k=0;k=n[f+16>>2]|0;B=+s[k+16>>3];t=B-+s[k+88>>3];o=t+-4.0;b=ta(e,f,a,l,-1)|0;if(!b){u=~~(t+(o>=0.0?-3.5:-4.5));c=n[i>>2]|0;c=(c|0)>(u|0)?u:c}else{c=ca(e,f,b)|0;do{if(!c){u=n[b+16>>2]|0;t=+s[u+240>>3]+ +s[u+16>>3];if(!(r[u+156>>0]|0)){t=+(n[(n[e+16>>2]|0)+248>>2]|0)*.5+t;break}else{t=t+ +(n[i+8>>2]|0);break}}else t=+s[(n[c+16>>2]|0)+32>>3]+ +(n[i+8>>2]|0)}while(0);v=t<o?t:o;c=~~(v+(v>=0.0?.5:-.5))}v=+(c|0);u=(r[k+156>>0]|0)==1;if(u?(n[k+104>>2]|0)!=0:0)o=B+10.0;else o=B+4.0+ +s[k+96>>3];b=ta(e,f,a,l,1)|0;if(!b){f=~~(o+(o>=0.0?.5:-.5));c=n[i+4>>2]|0;c=(c|0)<(f|0)?f:c}else{c=ca(e,f,b)|0;do{if(!c){f=n[b+16>>2]|0;t=+s[f+16>>3]-+s[f+88>>3];if(!(r[f+156>>0]|0)){t=t-+(n[(n[e+16>>2]|0)+248>>2]|0)*.5;break}else{t=t-+(n[i+8>>2]|0);break}}else t=+s[(n[c+16>>2]|0)+16>>3]-+(n[i+8>>2]|0)}while(0);o=t>o?t:o;c=~~(o+(o>=0.0?.5:-.5))}t=+(c|0);if(u?(n[k+104>>2]|0)!=0:0){t=t-+s[k+96>>3];if(t<v)t=B}B=+s[k+24>>3];e=n[(n[e+16>>2]|0)+196>>2]|0;k=n[k+232>>2]|0;o=B-+s[e+(k<<6)+16>>3];B=+s[e+(k<<6)+24>>3]+B;s[A>>3]=v;s[A+8>>3]=o;s[A+16>>3]=t;s[A+24>>3]=B;return}function Kn(A){A=A|0;A=n[A+16>>2]|0;if((r[A+156>>0]|0)==1)if((n[A+176>>2]|0)>1)A=1;else A=(n[A+184>>2]|0)>1&1;else A=0;return A|0}function _n(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,a=0;a=v;v=v+32|0;f=a;switch(i|0){case 1:{la(f,+s[e>>3],r,+s[e+16>>3],+s[e+8>>3]);break}case 4:{la(f,+s[e>>3],+s[e+24>>3],+s[e+16>>3],r);break}default:{}}n[A>>2]=n[f>>2];n[A+4>>2]=n[f+4>>2];n[A+8>>2]=n[f+8>>2];n[A+12>>2]=n[f+12>>2];n[A+16>>2]=n[f+16>>2];n[A+20>>2]=n[f+20>>2];n[A+24>>2]=n[f+24>>2];n[A+28>>2]=n[f+28>>2];v=a;return}function qn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0,l=0.0,t=0.0,c=0,b=0,o=0,u=0,v=0;b=n[e+16>>2]|0;c=b+(r<<5)|0;t=+s[c>>3];o=b+(r<<5)+8|0;a=+s[o>>3];u=b+(r<<5)+16|0;f=+s[u>>3];b=b+(r<<5)+24|0;l=+s[b>>3];if(t==f){i=n[(n[i+16>>2]|0)+196>>2]|0;v=r+1|0;t=+(n[e>>2]|0);a=+s[i+(v<<6)+24>>3]+ +s[(n[(n[n[i+(v<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];f=+(n[e+4>>2]|0);l=+s[(n[(n[n[i+(r<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+s[i+(r<<6)+16>>3];s[c>>3]=t;s[o>>3]=a;s[u>>3]=f;s[b>>3]=l}s[A>>3]=t;s[A+8>>3]=a;s[A+16>>3]=f;s[A+24>>3]=l;return}function $n(A){A=A|0;var e=0,i=0;A=n[A+16>>2]|0;i=A+16|0;e=0;while(1){A=n[n[A+180>>2]>>2]|0;A=n[(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;if((r[A+156>>0]|0)!=1)break;if((n[A+184>>2]|0)!=1)break;if((n[A+176>>2]|0)!=1)break;if(+s[A+16>>3]!=+s[i>>3])break;e=e+1|0}return e|0}function Aa(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0,c=0,s=0;s=v;v=v+32|0;c=s;l=fa(e,-1)|0;e=fa(e,1)|0;if(!((l|0)!=0?!(sI(l)|0):0))t=3;do{if((t|0)==3){if(e|0?(sI(e)|0)==0:0)break;l=na(i,-1)|0;e=na(i,1)|0;if(l|0?(sI(l)|0)==0:0)break;if(e|0?(sI(e)|0)==0:0)break;l=r+52|0;e=0;while(1){if((e|0)>=(n[l>>2]|0))break;i=r+56+(e<<5)|0;n[c>>2]=n[i>>2];n[c+4>>2]=n[i+4>>2];n[c+8>>2]=n[i+8>>2];n[c+12>>2]=n[i+12>>2];n[c+16>>2]=n[i+16>>2];n[c+20>>2]=n[i+20>>2];n[c+24>>2]=n[i+24>>2];n[c+28>>2]=n[i+28>>2];Om(A,c);e=e+1|0}l=n[A+80>>2]|0;t=a+-3|0;e=0;while(1){if((e|0)>=(a|0))break;r=135024+(e<<5)|0;n[c>>2]=n[r>>2];n[c+4>>2]=n[r+4>>2];n[c+8>>2]=n[r+8>>2];n[c+12>>2]=n[r+12>>2];n[c+16>>2]=n[r+16>>2];n[c+20>>2]=n[r+20>>2];n[c+24>>2]=n[r+24>>2];n[c+28>>2]=n[r+28>>2];Om(A,c);e=e+1|0}i=l+1|0;t=t+i|0;l=n[f+52>>2]|0;while(1){e=l+-1|0;if((l|0)<=0)break;l=f+56+(e<<5)|0;n[c>>2]=n[l>>2];n[c+4>>2]=n[l+4>>2];n[c+8>>2]=n[l+8>>2];n[c+12>>2]=n[l+12>>2];n[c+16>>2]=n[l+16>>2];n[c+20>>2]=n[l+20>>2];n[c+24>>2]=n[l+24>>2];n[c+28>>2]=n[l+28>>2];Om(A,c);l=e}aa(A,i,t)}}while(0);v=s;return}function ea(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=n[r>>2]|0;while(1){if(!e)break;A=n[n[(n[(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;e=e+-1|0}n[r>>2]=f+1;a=i+(f<<4)|0;e=i+(f+-1<<4)|0;n[a>>2]=n[e>>2];n[a+4>>2]=n[e+4>>2];n[a+8>>2]=n[e+8>>2];n[a+12>>2]=n[e+12>>2];f=n[r>>2]|0;n[r>>2]=f+1;f=i+(f<<4)|0;n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];f=i+(n[r>>2]<<4)|0;r=(n[(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+16|0;n[f>>2]=n[r>>2];n[f+4>>2]=n[r+4>>2];n[f+8>>2]=n[r+8>>2];n[f+12>>2]=n[r+12>>2];return A|0}function ia(A,e){A=A|0;e=e|0;var i=0,f=0.0,a=0.0,l=0,t=0,c=0,b=0,o=0;o=e+84|0;b=e+80|0;i=0;e=A;A:while(1){t=n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;c=t+16|0;if((r[(n[c>>2]|0)+156>>0]|0)!=1)break;if((vF[n[17228>>2]&31](t)|0)<<24>>24)break;e=n[b>>2]|0;while(1){if((i|0)>=(e|0))break A;if(!(+s[(n[o>>2]|0)+(i<<5)+8>>3]>+s[(n[c>>2]|0)+24>>3]))break;i=i+1|0}e=n[o>>2]|0;A=n[c>>2]|0;do{if(!(+s[e+(i<<5)+24>>3]<+s[A+24>>3])){a=+s[e+(i<<5)>>3];l=~~a;f=+s[e+(i<<5)+16>>3];if(!(n[A+104>>2]|0)){ra(t,l,~~((f+a)*.5),~~f);break}else{ra(t,l,~~f,~~(+s[A+96>>3]+f));break}}}while(0);e=n[n[(n[c>>2]|0)+180>>2]>>2]|0}return}function ra(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=n[A+16>>2]|0;s[A+16>>3]=+(i|0);s[A+88>>3]=+(i-e|0);s[A+96>>3]=+(r-i|0);return}function fa(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;l=n[A>>2]&3;t=n[(n[(n[((l|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;l=((l|0)==2?A:A+-48|0)+40|0;a=0;A=0;while(1){r=n[t+(a<<2)>>2]|0;if(!r)break;f=n[(n[(n[((n[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do{if((X(f-(n[(n[(n[l>>2]|0)+16>>2]|0)+236>>2]|0)|0,e)|0)>=1){i=n[r+16>>2]|0;if(!(n[i+8>>2]|0)){i=n[i+116>>2]|0;if(!i)break;if(!(n[(n[i+16>>2]|0)+8>>2]|0))break}if(A|0?(X((n[(n[(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,e)|0)<=0:0)break;A=r}}while(0);a=a+1|0}return A|0}function na(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;l=n[A>>2]&3;t=n[(n[(n[((l|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;l=((l|0)==3?A:A+48|0)+40|0;a=0;A=0;while(1){r=n[t+(a<<2)>>2]|0;if(!r)break;f=n[(n[(n[((n[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do{if((X(f-(n[(n[(n[l>>2]|0)+16>>2]|0)+236>>2]|0)|0,e)|0)>=1){i=n[r+16>>2]|0;if(!(n[i+8>>2]|0)){i=n[i+116>>2]|0;if(!i)break;if(!(n[(n[i+16>>2]|0)+8>>2]|0))break}if(A|0?(X((n[(n[(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,e)|0)<=0:0)break;A=r}}while(0);a=a+1|0}return A|0}function aa(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,a=0,l=0,t=0,c=0,b=0,o=0.0;b=A+84|0;l=e+-1|0;while(1){if((l|0)>(i|0))break;f=n[b>>2]|0;t=f+(l<<5)|0;r=+s[t>>3];if(!(l-e&1)){f=f+(l<<5)+16|0;o=+s[f>>3];a=~~((o+r)*.5);if(r>=o){s[t>>3]=+(a+-8|0);s[f>>3]=+(a+8|0)}}else{f=f+(l<<5)+16|0;o=+s[f>>3];a=~~((o+r)*.5);if(r+16.0>o){s[t>>3]=+(a+-8|0);s[f>>3]=+(a+8|0)}}l=l+1|0}c=(n[A+80>>2]|0)+-1|0;a=0;while(1){if((a|0)>=(c|0))break;l=n[b>>2]|0;f=l+(a<<5)|0;t=a+1|0;A=l+(t<<5)|0;if(!((a|0)<(e|0)|(a|0)>(i|0))?(a-e&1|0)==0:0){r=+s[f>>3]+16.0;f=l+(t<<5)+16|0;if(r>+s[f>>3])s[f>>3]=r;r=+s[l+(a<<5)+16>>3]+-16.0;if(!(r<+s[A>>3])){a=t;continue}s[A>>3]=r;a=t;continue}if(!((a|0)<(i|0)&(t|0)>=(e|0))){a=t;continue}if(t-e&1|0){a=t;continue}r=+s[l+(t<<5)+16>>3];if(+s[f>>3]+16.0>r)s[f>>3]=r+-16.0;f=l+(a<<5)+16|0;r=+s[A>>3];if(!(+s[f>>3]+-16.0<r)){a=t;continue}s[f>>3]=r+16.0;a=t}return}function la(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;s[A>>3]=e;s[A+8>>3]=i;s[A+16>>3]=r;s[A+24>>3]=f;return}function ta(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0,t=0,c=0,s=0;s=n[(n[A+16>>2]|0)+196>>2]|0;l=n[e+16>>2]|0;c=n[l+232>>2]|0;t=s+(c<<6)|0;c=s+(c<<6)+4|0;l=n[l+236>>2]|0;A:do{l=l+a|0;if((l|0)<=-1){A=0;break}if((l|0)>=(n[t>>2]|0)){A=0;break}A=n[(n[c>>2]|0)+(l<<2)>>2]|0;s=n[A+16>>2]|0;switch(r[s+156>>0]|0){case 0:break A;case 1:{if(n[s+104>>2]|0)break A;break}default:{}}}while((ba(A,e,i,f)|0)<<24>>24!=0);return A|0}function ca(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0;e=n[e+16>>2]|0;if(!(r[e+156>>0]|0)){t=n[e+212>>2]|0;l=t}else{t=n[(n[(n[n[e+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;a=n[t>>2]&3;l=n[(n[(n[((a|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;t=n[(n[(n[((a|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}e=n[i+16>>2]|0;if(!(r[e+156>>0]|0)){i=n[e+212>>2]|0;i=(i|0)==(A|0)?0:i;return((i|0)==(l|0)|((i|0)==0|(i|0)==(t|0))?0:i)|0}f=n[(n[(n[n[e+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;a=n[f>>2]&3;e=n[(n[(n[((a|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;e=(e|0)==(A|0)?0:e;if(!(!((e|0)==(l|0)|((e|0)==0|(e|0)==(t|0)))?(sa(e,i)|0)!=0:0)){e=n[(n[(n[((a|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;e=(e|0)==(A|0)?0:e;if((e|0)==(l|0)|((e|0)==0|(e|0)==(t|0)))e=0;else{i=(sa(e,i)|0)==0;return(i?0:e)|0}}return e|0}function sa(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0;i=n[A+16>>2]|0;A=n[e+16>>2]|0;f=+s[A+16>>3];if((+s[i+16>>3]<=f?f<=+s[i+32>>3]:0)?(r=+s[A+24>>3],+s[i+24>>3]<=r):0)A=r<=+s[i+40>>3]&1;else A=0;return A|0}function ba(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0;t=n[A+16>>2]|0;c=(n[t+236>>2]|0)>(n[(n[e+16>>2]|0)+236>>2]|0);A:do{if((n[t+184>>2]|0)==1){e:do{if(f|0){l=0;A=n[n[t+180>>2]>>2]|0;while(1){if((l|0)>=2)break e;A=n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0;e=n[((n[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((A|0)==(e|0))break e;a=n[A+16>>2]|0;A=n[e+16>>2]|0;if(c^(n[a+236>>2]|0)>(n[A+236>>2]|0)){A=1;break A}if((n[a+184>>2]|0)!=1)break e;if(!(r[a+156>>0]|0))break e;if((n[A+184>>2]|0)!=1)break e;if(!(r[A+156>>0]|0))break e;l=l+1|0;f=n[n[A+180>>2]>>2]|0;A=n[n[a+180>>2]>>2]|0}}}while(0);if(i|0?(n[t+176>>2]|0)==1:0){a=0;e=i;A=n[n[t+172>>2]>>2]|0;while(1){if((a|0)>=2){A=0;break A}A=n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;e=n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((A|0)==(e|0)){A=0;break A}f=n[A+16>>2]|0;A=n[e+16>>2]|0;if(c^(n[f+236>>2]|0)>(n[A+236>>2]|0)){A=1;break A}if((n[f+176>>2]|0)!=1){A=0;break A}if(!(r[f+156>>0]|0)){A=0;break A}if((n[A+176>>2]|0)!=1){A=0;break A}if(!(r[A+156>>0]|0)){A=0;break A}a=a+1|0;e=n[n[A+172>>2]>>2]|0;A=n[n[f+172>>2]>>2]|0}}else A=0}else A=0}while(0);return A|0}function oa(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+s[i+8>>3]+ +s[e+8>>3];s[A>>3]=+s[i>>3]+ +s[e>>3];s[A+8>>3]=r;return}function ua(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+s[e+8>>3];f=+s[e>>3];return(~~((+s[i>>3]-f)*(+s[A+8>>3]-r)-(+s[A>>3]-f)*(+s[i+8>>3]-r))|0)>0|0}function va(A,e,i,f,a,l){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;l=l|0;var t=0,c=0,b=0.0,o=0,u=0,B=0,k=0,w=0,d=0.0,h=0,g=0,Z=0.0,G=0.0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0,X=0,T=0,x=0;X=v;v=v+256|0;y=X+232|0;E=X+216|0;L=X+88|0;F=X+80|0;p=X+64|0;R=X+200|0;P=X+184|0;H=X;Y=X+168|0;V=X+152|0;W=X+136|0;J=X+120|0;N=X+104|0;Q=n[a>>2]&3;z=n[((Q|0)==3?a:a+48|0)+40>>2]|0;Q=n[((Q|0)==2?a:a+-48|0)+40>>2]|0;do{if((HG(z)|0)!=2?(HG(Q)|0)!=2:0){a=0;t=0;c=0;while(1){if((c|0)>=(f|0))break;M=n[(n[e+(c+i<<2)>>2]|0)+16>>2]|0;a=a+((n[M+96>>2]|0)!=0&1)|0;if(!((r[M+44>>0]|0)==0?(r[M+84>>0]|0)==0:0))t=1;c=c+1|0}if(!t)if(!a){ka(z,Q,e,i,f,l);break}else{Za(z,Q,e,i,f,l,a);break}I=Jg(156)|0;C=Ga(A,I)|0;h=eJ(C,78320,1)|0;lW(h,122277,280,1)|0;aY(h,80018,80032)|0;b=+s[(n[Q+16>>2]|0)+16>>3];d=+s[(n[z+16>>2]|0)+16>>3];M=A+16|0;k=(n[(n[M>>2]|0)+116>>2]&1|0)==0;w=k?Q:z;k=k?z:Q;h=ma(h,k)|0;g=ma(C,w)|0;a=0;B=0;while(1){if((B|0)>=(f|0))break;t=e+(B+i<<2)|0;while(1){u=n[t>>2]|0;o=u+16|0;t=n[o>>2]|0;if(!(r[t+112>>0]|0))break;else t=t+116|0}if((n[((n[u>>2]&3|0)==3?u:u+48|0)+40>>2]|0)==(k|0))c=Ia(C,h,g,u)|0;else c=Ia(C,g,h,u)|0;t=n[o>>2]|0;n[t+120>>2]=c;if(!a)if((r[t+44>>0]|0)==0?(r[t+84>>0]|0)==0:0){n[(n[c+16>>2]|0)+120>>2]=u;a=c}else a=0;B=B+1|0}if(!a)m=IY(C,h,g,0,1)|0;else m=a;qy(m,n[42217]|0,78324)|0;a=C+16|0;o=n[a>>2]|0;n[o+144>>2]=n[(n[M>>2]|0)+144>>2];n[o+188>>2]=C;tt(C,l);un(C);NM(C,0);al(C,0);jC(C,0);k=k+16|0;l=n[k>>2]|0;o=n[w+16>>2]|0;w=h+16|0;u=n[w>>2]|0;B=u+16|0;Z=+(~~b|0);G=+(~~((+s[(n[g+16>>2]|0)+16>>3]+ +s[B>>3])*.5)|0);b=+(~~d|0);d=+(~~((+s[l+16>>3]-+s[l+96>>3]+ +s[o+16>>3]+ +s[o+88>>3])*.5)|0);o=u+24|0;a=(n[a>>2]|0)+192|0;while(1){t=n[a>>2]|0;if(!t)break;do{if((t|0)!=(h|0)){a=n[t+16>>2]|0;c=a+24|0;if((t|0)==(g|0)){s[c>>3]=b;s[a+16>>3]=G;break}else{s[c>>3]=d;break}}else{s[o>>3]=Z;s[B>>3]=G;a=u}}while(0);a=a+164|0}EQ(C);pn(C,0);bG(C);c=n[k>>2]|0;a=n[w>>2]|0;if(!(n[(n[M>>2]|0)+116>>2]&1)){t=a+16|0;b=+s[c+24>>3]-+s[a+24>>3]}else{t=a+24|0;b=+s[a+16>>3]+ +s[c+24>>3]}s[p>>3]=+s[c+16>>3]-+s[t>>3];s[p+8>>3]=b;l=H+16|0;h=H+32|0;g=H+48|0;w=0;while(1){if((w|0)>=(f|0))break;a=e+(w+i<<2)|0;while(1){t=n[a>>2]|0;k=t+16|0;a=n[k>>2]|0;if(!(r[a+112>>0]|0))break;else a=a+116|0}u=n[a+120>>2]|0;B=u+16|0;a=n[B>>2]|0;if(!((u|0)==(m|0)&(n[a+120>>2]|0)==0)){o=n[n[a+8>>2]>>2]|0;u=o+4|0;t=Um(t,n[u>>2]|0)|0;n[t+8>>2]=n[o+8>>2];a=t+16|0;c=o+16|0;T=n[(n[M>>2]|0)+116>>2]&1;n[E>>2]=n[c>>2];n[E+4>>2]=n[c+4>>2];n[E+8>>2]=n[c+8>>2];n[E+12>>2]=n[c+12>>2];n[y>>2]=n[p>>2];n[y+4>>2]=n[p+4>>2];n[y+8>>2]=n[p+8>>2];n[y+12>>2]=n[p+12>>2];Ca(R,E,y,T);n[a>>2]=n[R>>2];n[a+4>>2]=n[R+4>>2];n[a+8>>2]=n[R+8>>2];n[a+12>>2]=n[R+12>>2];n[t+12>>2]=n[o+12>>2];a=t+32|0;T=o+32|0;c=n[(n[M>>2]|0)+116>>2]&1;n[E>>2]=n[T>>2];n[E+4>>2]=n[T+4>>2];n[E+8>>2]=n[T+8>>2];n[E+12>>2]=n[T+12>>2];n[y>>2]=n[p>>2];n[y+4>>2]=n[p+4>>2];n[y+8>>2]=n[p+8>>2];n[y+12>>2]=n[p+12>>2];Ca(P,E,y,c);n[a>>2]=n[P>>2];n[a+4>>2]=n[P+4>>2];n[a+8>>2]=n[P+8>>2];n[a+12>>2]=n[P+12>>2];a=0;while(1){if((a|0)>=(n[u>>2]|0))break;c=(n[t>>2]|0)+(a<<4)|0;x=(n[o>>2]|0)+(a<<4)|0;T=n[(n[M>>2]|0)+116>>2]&1;n[E>>2]=n[x>>2];n[E+4>>2]=n[x+4>>2];n[E+8>>2]=n[x+8>>2];n[E+12>>2]=n[x+12>>2];n[y>>2]=n[p>>2];n[y+4>>2]=n[p+4>>2];n[y+8>>2]=n[p+8>>2];n[y+12>>2]=n[p+12>>2];Ca(Y,E,y,T);n[c>>2]=n[Y>>2];n[c+4>>2]=n[Y+4>>2];n[c+8>>2]=n[Y+8>>2];n[c+12>>2]=n[Y+12>>2];n[H>>2]=n[Y>>2];n[H+4>>2]=n[Y+4>>2];n[H+8>>2]=n[Y+8>>2];n[H+12>>2]=n[Y+12>>2];c=a+1|0;if((c|0)>=(n[u>>2]|0)){D=48;break}T=(n[t>>2]|0)+(c<<4)|0;c=(n[o>>2]|0)+(c<<4)|0;x=n[(n[M>>2]|0)+116>>2]&1;n[E>>2]=n[c>>2];n[E+4>>2]=n[c+4>>2];n[E+8>>2]=n[c+8>>2];n[E+12>>2]=n[c+12>>2];n[y>>2]=n[p>>2];n[y+4>>2]=n[p+4>>2];n[y+8>>2]=n[p+8>>2];n[y+12>>2]=n[p+12>>2];Ca(V,E,y,x);n[T>>2]=n[V>>2];n[T+4>>2]=n[V+4>>2];n[T+8>>2]=n[V+8>>2];n[T+12>>2]=n[V+12>>2];n[l>>2]=n[V>>2];n[l+4>>2]=n[V+4>>2];n[l+8>>2]=n[V+8>>2];n[l+12>>2]=n[V+12>>2];T=a+2|0;x=(n[t>>2]|0)+(T<<4)|0;T=(n[o>>2]|0)+(T<<4)|0;c=n[(n[M>>2]|0)+116>>2]&1;n[E>>2]=n[T>>2];n[E+4>>2]=n[T+4>>2];n[E+8>>2]=n[T+8>>2];n[E+12>>2]=n[T+12>>2];n[y>>2]=n[p>>2];n[y+4>>2]=n[p+4>>2];n[y+8>>2]=n[p+8>>2];n[y+12>>2]=n[p+12>>2];Ca(W,E,y,c);n[x>>2]=n[W>>2];n[x+4>>2]=n[W+4>>2];n[x+8>>2]=n[W+8>>2];n[x+12>>2]=n[W+12>>2];n[h>>2]=n[W>>2];n[h+4>>2]=n[W+4>>2];n[h+8>>2]=n[W+8>>2];n[h+12>>2]=n[W+12>>2];x=a+3|0;c=(n[o>>2]|0)+(x<<4)|0;T=n[(n[M>>2]|0)+116>>2]&1;n[E>>2]=n[c>>2];n[E+4>>2]=n[c+4>>2];n[E+8>>2]=n[c+8>>2];n[E+12>>2]=n[c+12>>2];n[y>>2]=n[p>>2];n[y+4>>2]=n[p+4>>2];n[y+8>>2]=n[p+8>>2];n[y+12>>2]=n[p+12>>2];Ca(J,E,y,T);n[g>>2]=n[J>>2];n[g+4>>2]=n[J+4>>2];n[g+8>>2]=n[J+8>>2];n[g+12>>2]=n[J+12>>2];kd((n[M>>2]|0)+16|0,H);a=x}if((D|0)==48)D=0;a=n[(n[k>>2]|0)+96>>2]|0;if(a|0){x=a+56|0;B=(n[(n[B>>2]|0)+96>>2]|0)+56|0;T=n[(n[M>>2]|0)+116>>2]&1;n[E>>2]=n[B>>2];n[E+4>>2]=n[B+4>>2];n[E+8>>2]=n[B+8>>2];n[E+12>>2]=n[B+12>>2];n[y>>2]=n[p>>2];n[y+4>>2]=n[p+4>>2];n[y+8>>2]=n[p+8>>2];n[y+12>>2]=n[p+12>>2];Ca(N,E,y,T);n[x>>2]=n[N>>2];n[x+4>>2]=n[N+4>>2];n[x+8>>2]=n[N+8>>2];n[x+12>>2]=n[N+12>>2];x=n[(n[k>>2]|0)+96>>2]|0;r[x+81>>0]=1;uC(A,x)}}w=w+1|0}Ma(C,I)}else D=3}while(0);if((D|0)==3?(n[41924]|0)==0:0){n[41924]=1;Gy(0,78197,F)|0;D=qY(z)|0;T=(HY(A)|0)!=0;x=qY(Q)|0;n[L>>2]=D;n[L+4>>2]=T?122546:122549;n[L+8>>2]=x;Gy(3,78303,L)|0}v=X;return}function Ba(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0.0,Q=0.0,E=0.0,y=0.0,Y=0.0;C=v;v=v+1600|0;g=C+1552|0;o=C+1536|0;h=C+840|0;Z=C+144|0;G=C+1584|0;t=C+32|0;d=C+16|0;u=C;k=n[f>>2]&3;B=n[((k|0)==3?f:f+48|0)+40>>2]|0;m=f+-48|0;k=n[((k|0)==2?f:m)+40>>2]|0;w=f+16|0;c=n[w>>2]|0;l=n[c+172>>2]|0;while(1){b=n[(n[l+16>>2]|0)+172>>2]|0;if(!b)break;else l=b}c=(n[c+96>>2]|0)+56|0;l=(n[((n[l>>2]&3|0)==3?l:l+48|0)+40>>2]|0)+16|0;b=(n[l>>2]|0)+16|0;n[c>>2]=n[b>>2];n[c+4>>2]=n[b+4>>2];n[c+8>>2]=n[b+8>>2];n[c+12>>2]=n[b+12>>2];c=n[w>>2]|0;r[(n[c+96>>2]|0)+81>>0]=1;if((a|0)!=2){c=n[l>>2]|0;E=+s[c+16>>3];Y=E-+s[c+88>>3];E=+s[c+96>>3]+E;Q=+s[c+24>>3];y=+s[c+80>>3]*.5+Q;c=n[(n[A+16>>2]|0)+196>>2]|0;b=n[B+16>>2]|0;t=n[b+232>>2]|0;Q=+(~~(+(~~(Q-+s[c+(t<<6)+16>>3]-+s[b+24>>3]+ +s[c+(t<<6)+24>>3])|0)*.16666666666666666)|0);Q=y-(Q<5.0?5.0:Q);da(A,e,i,B,f,h,1);da(A,e,i,k,f,Z,0);t=h+52|0;c=n[t>>2]|0;b=c+-1|0;M=+s[h+56+(b<<5)>>3];s[16878]=M;s[16879]=+s[h+56+(b<<5)+24>>3];s[16880]=Y;s[16881]=Q;s[16882]=M;s[16883]=Q;b=Z+52|0;l=(n[b>>2]|0)+-1|0;M=+s[Z+56+(l<<5)+16>>3];s[16884]=M;s[16885]=y;s[16886]=E;s[16889]=Q;s[16887]=+s[Z+56+(l<<5)+24>>3];s[16888]=M;l=0;while(1){if((l|0)>=(c|0)){l=0;break}c=h+56+(l<<5)|0;n[g>>2]=n[c>>2];n[g+4>>2]=n[c+4>>2];n[g+8>>2]=n[c+8>>2];n[g+12>>2]=n[c+12>>2];n[g+16>>2]=n[c+16>>2];n[g+20>>2]=n[c+20>>2];n[g+24>>2]=n[c+24>>2];n[g+28>>2]=n[c+28>>2];Om(i,g);l=l+1|0;c=n[t>>2]|0}while(1){if((l|0)==3)break;h=135024+(l<<5)|0;n[g>>2]=n[h>>2];n[g+4>>2]=n[h+4>>2];n[g+8>>2]=n[h+8>>2];n[g+12>>2]=n[h+12>>2];n[g+16>>2]=n[h+16>>2];n[g+20>>2]=n[h+20>>2];n[g+24>>2]=n[h+24>>2];n[g+28>>2]=n[h+28>>2];Om(i,g);l=l+1|0}t=n[b>>2]|0;while(1){l=t+-1|0;if((t|0)<=0)break;t=Z+56+(l<<5)|0;n[g>>2]=n[t>>2];n[g+4>>2]=n[t+4>>2];n[g+8>>2]=n[t+8>>2];n[g+12>>2]=n[t+12>>2];n[g+16>>2]=n[t+16>>2];n[g+20>>2]=n[t+20>>2];n[g+24>>2]=n[t+24>>2];n[g+28>>2]=n[t+28>>2];Om(i,g);t=l}if((a|0)==10)t=CG(i,G)|0;else t=VG(i,G)|0;l=n[G>>2]|0;if(l|0)I=17}else{l=(n[B+16>>2]|0)+16|0;Z=c+16|0;n[o>>2]=n[l>>2];n[o+4>>2]=n[l+4>>2];n[o+8>>2]=n[l+8>>2];n[o+12>>2]=n[l+12>>2];n[g>>2]=n[Z>>2];n[g+4>>2]=n[Z+4>>2];n[g+8>>2]=n[Z+8>>2];n[g+12>>2]=n[Z+12>>2];oa(d,o,g);Z=(n[k+16>>2]|0)+16|0;l=(n[w>>2]|0)+56|0;n[o>>2]=n[Z>>2];n[o+4>>2]=n[Z+4>>2];n[o+8>>2]=n[Z+8>>2];n[o+12>>2]=n[Z+12>>2];n[g>>2]=n[l>>2];n[g+4>>2]=n[l+4>>2];n[g+8>>2]=n[l+8>>2];n[g+12>>2]=n[l+12>>2];oa(u,o,g);l=n[(n[w>>2]|0)+96>>2]|0;y=+s[l+56>>3];Y=+s[l+64>>3]-+s[l+32>>3]*.5;l=t+16|0;n[t>>2]=n[d>>2];n[t+4>>2]=n[d+4>>2];n[t+8>>2]=n[d+8>>2];n[t+12>>2]=n[d+12>>2];n[l>>2]=n[d>>2];n[l+4>>2]=n[d+4>>2];n[l+8>>2]=n[d+8>>2];n[l+12>>2]=n[d+12>>2];l=t+32|0;Z=t+48|0;I=t+64|0;s[t+64>>3]=y;s[t+72>>3]=Y;n[Z>>2]=n[I>>2];n[Z+4>>2]=n[I+4>>2];n[Z+8>>2]=n[I+8>>2];n[Z+12>>2]=n[I+12>>2];n[l>>2]=n[I>>2];n[l+4>>2]=n[I+4>>2];n[l+8>>2]=n[I+8>>2];n[l+12>>2]=n[I+12>>2];l=t+80|0;I=t+96|0;n[I>>2]=n[u>>2];n[I+4>>2]=n[u+4>>2];n[I+8>>2]=n[u+8>>2];n[I+12>>2]=n[u+12>>2];n[l>>2]=n[u>>2];n[l+4>>2]=n[u+4>>2];n[l+8>>2]=n[u+8>>2];n[l+12>>2]=n[u+12>>2];n[G>>2]=7;l=7;I=17}if((I|0)==17)jm(f,n[((n[f>>2]&3|0)==2?f:m)+40>>2]|0,t,l,17224);v=C;return}function ka(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0.0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0.0,d=0,h=0.0,g=0,Z=0,G=0,m=0,I=0,C=0.0,M=0.0,Q=0.0,E=0.0,y=0.0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0;H=v;v=v+352|0;m=H+336|0;G=H+320|0;R=H+128|0;g=H+304|0;I=H+288|0;P=H+112|0;Y=H+96|0;V=H+80|0;W=H+64|0;J=H+48|0;N=H+32|0;z=H+16|0;p=H;A=A+16|0;k=(n[A>>2]|0)+16|0;Z=(n[i+(r<<2)>>2]|0)+16|0;d=(n[Z>>2]|0)+16|0;n[G>>2]=n[k>>2];n[G+4>>2]=n[k+4>>2];n[G+8>>2]=n[k+8>>2];n[G+12>>2]=n[k+12>>2];n[m>>2]=n[d>>2];n[m+4>>2]=n[d+4>>2];n[m+8>>2]=n[d+8>>2];n[m+12>>2]=n[d+12>>2];oa(g,G,m);E=+s[g>>3];y=+s[g+8>>3];g=(n[e+16>>2]|0)+16|0;Z=(n[Z>>2]|0)+56|0;n[G>>2]=n[g>>2];n[G+4>>2]=n[g+4>>2];n[G+8>>2]=n[g+8>>2];n[G+12>>2]=n[g+12>>2];n[m>>2]=n[Z>>2];n[m+4>>2]=n[Z+4>>2];n[m+8>>2]=n[Z+8>>2];n[m+12>>2]=n[Z+12>>2];oa(I,G,m);M=+s[I>>3];Q=+s[I+8>>3];if((f|0)>1){C=+s[(n[A>>2]|0)+80>>3];l=C*.5;C=C/+(f+-1|0)}else{l=0.0;C=0.0}B=(a|8|0)==10;b=R+8|0;k=R+16|0;w=(M+E*2.0)*.3333333333333333;d=R+32|0;h=(M*2.0+E)*.3333333333333333;o=R+24|0;g=R+48|0;Z=R+64|0;G=R+80|0;m=R+96|0;I=R+112|0;c=R+128|0;u=R+136|0;l=y-l;e=0;while(1){if((e|0)>=(f|0))break;t=n[i+(e+r<<2)>>2]|0;s[R>>3]=E;s[b>>3]=y;if(B){ga(P,w,l);n[k>>2]=n[P>>2];n[k+4>>2]=n[P+4>>2];n[k+8>>2]=n[P+8>>2];n[k+12>>2]=n[P+12>>2];ga(Y,h,l);n[d>>2]=n[Y>>2];n[d+4>>2]=n[Y+4>>2];n[d+8>>2]=n[Y+8>>2];n[d+12>>2]=n[Y+12>>2];A=4;a=3}else{s[k>>3]=E;s[o>>3]=y;ga(V,w,l);n[d>>2]=n[V>>2];n[d+4>>2]=n[V+4>>2];n[d+8>>2]=n[V+8>>2];n[d+12>>2]=n[V+12>>2];ga(W,w,l);n[g>>2]=n[W>>2];n[g+4>>2]=n[W+4>>2];n[g+8>>2]=n[W+8>>2];n[g+12>>2]=n[W+12>>2];ga(J,w,l);n[Z>>2]=n[J>>2];n[Z+4>>2]=n[J+4>>2];n[Z+8>>2]=n[J+8>>2];n[Z+12>>2]=n[J+12>>2];ga(N,h,l);n[G>>2]=n[N>>2];n[G+4>>2]=n[N+4>>2];n[G+8>>2]=n[N+8>>2];n[G+12>>2]=n[N+12>>2];ga(z,h,l);n[m>>2]=n[z>>2];n[m+4>>2]=n[z+4>>2];n[m+8>>2]=n[z+8>>2];n[m+12>>2]=n[z+12>>2];ga(p,h,l);n[I>>2]=n[p>>2];n[I+4>>2]=n[p+4>>2];n[I+8>>2]=n[p+8>>2];n[I+12>>2]=n[p+12>>2];s[c>>3]=M;s[u>>3]=Q;A=10;a=9}s[R+(a<<4)>>3]=M;s[R+(a<<4)+8>>3]=Q;jm(t,n[((n[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0,R,A,17224);l=l+C;e=e+1|0}v=H;return}function wa(A,e,i,r,a,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;t=t|0;c=c|0;var b=0,o=0.0,u=0,B=0,k=0,w=0,d=0.0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0.0,M=0.0,Q=0.0,E=0.0,y=0.0;m=v;v=v+1440|0;h=m+1392|0;Z=m+1424|0;G=m+696|0;g=m;w=n[t>>2]&3;k=n[((w|0)==3?t:t+48|0)+40>>2]|0;w=n[((w|0)==2?t:t+-48|0)+40>>2]|0;b=n[k+16>>2]|0;u=n[b+232>>2]|0;B=n[A+16>>2]|0;if((u|0)<(f[B+238>>1]|0)){I=n[B+196>>2]|0;B=u+1|0;o=+s[b+24>>3]-+s[I+(u<<6)+32>>3]-+s[(n[(n[n[I+(B<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+s[I+(B<<6)+40>>3]}else o=+(n[B+252>>2]|0);C=+(l+1|0);d=+(n[e+12>>2]|0)/C;o=o/C;ha(A,e,i,k,t,G,1);ha(A,e,i,w,t,g,0);w=G+52|0;t=g+52|0;A=(c|0)==0;e=i+80|0;b=0;while(1){if((b|0)>=(l|0))break;k=n[r+(b+a<<2)>>2]|0;B=n[w>>2]|0;u=B+-1|0;y=+s[G+56+(u<<5)>>3];Q=+s[G+56+(u<<5)+8>>3];E=+s[G+56+(u<<5)+16>>3];s[16878]=y;s[16881]=Q;b=b+1|0;C=+(b|0);M=d*C;s[16880]=E+M;C=Q-o*C;s[16879]=C;s[16882]=y;s[16885]=C;u=(n[t>>2]|0)+-1|0;y=+s[g+56+(u<<5)+16>>3];s[16884]=y;s[16883]=C-o;Q=+s[g+56+(u<<5)>>3];E=+s[g+56+(u<<5)+8>>3];s[16888]=y;s[16889]=E;s[16886]=Q-M;s[16887]=C;u=0;while(1){if((u|0)>=(B|0)){u=0;break}B=G+56+(u<<5)|0;n[h>>2]=n[B>>2];n[h+4>>2]=n[B+4>>2];n[h+8>>2]=n[B+8>>2];n[h+12>>2]=n[B+12>>2];n[h+16>>2]=n[B+16>>2];n[h+20>>2]=n[B+20>>2];n[h+24>>2]=n[B+24>>2];n[h+28>>2]=n[B+28>>2];Om(i,h);u=u+1|0;B=n[w>>2]|0}while(1){if((u|0)==3)break;I=135024+(u<<5)|0;n[h>>2]=n[I>>2];n[h+4>>2]=n[I+4>>2];n[h+8>>2]=n[I+8>>2];n[h+12>>2]=n[I+12>>2];n[h+16>>2]=n[I+16>>2];n[h+20>>2]=n[I+20>>2];n[h+24>>2]=n[I+24>>2];n[h+28>>2]=n[I+28>>2];Om(i,h);u=u+1|0}B=n[t>>2]|0;while(1){u=B+-1|0;if((B|0)<=0)break;B=g+56+(u<<5)|0;n[h>>2]=n[B>>2];n[h+4>>2]=n[B+4>>2];n[h+8>>2]=n[B+8>>2];n[h+12>>2]=n[B+12>>2];n[h+16>>2]=n[B+16>>2];n[h+20>>2]=n[B+20>>2];n[h+24>>2]=n[B+24>>2];n[h+28>>2]=n[B+28>>2];Om(i,h);B=u}if(A)u=VG(i,Z)|0;else u=CG(i,Z)|0;B=n[Z>>2]|0;if(!B)break;jm(k,n[((n[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0,u,B,17224);n[e>>2]=0}v=m;return}function da(A,e,i,r,f,a,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;l=l|0;var t=0,c=0,b=0,o=0,u=0,B=0.0;o=v;v=v+128|0;t=o+96|0;c=o+64|0;u=o+32|0;b=o;On(u,A,e,r,0,f);n[a>>2]=n[u>>2];n[a+4>>2]=n[u+4>>2];n[a+8>>2]=n[u+8>>2];n[a+12>>2]=n[u+12>>2];n[a+16>>2]=n[u+16>>2];n[a+20>>2]=n[u+20>>2];n[a+24>>2]=n[u+24>>2];n[a+28>>2]=n[u+28>>2];n[c>>2]=n[u>>2];n[c+4>>2]=n[u+4>>2];n[c+8>>2]=n[u+8>>2];n[c+12>>2]=n[u+12>>2];n[c+16>>2]=n[u+16>>2];n[c+20>>2]=n[u+20>>2];n[c+24>>2]=n[u+24>>2];n[c+28>>2]=n[u+28>>2];n[a+48>>2]=4;if(!(l<<24>>24))$m(i,f,2,a,0);else Km(i,f,2,a,0);e=a+52|0;f=(n[e>>2]|0)+-1|0;u=c+24|0;s[u>>3]=+s[a+56+(f<<5)+24>>3];l=c+8|0;s[l>>3]=+s[a+56+(f<<5)+8>>3];r=n[r+16>>2]|0;B=+s[(n[(n[A+16>>2]|0)+196>>2]|0)+(n[r+232>>2]<<6)+24>>3]+ +s[r+24>>3];n[t>>2]=n[c>>2];n[t+4>>2]=n[c+4>>2];n[t+8>>2]=n[c+8>>2];n[t+12>>2]=n[c+12>>2];n[t+16>>2]=n[c+16>>2];n[t+20>>2]=n[c+20>>2];n[t+24>>2]=n[c+24>>2];n[t+28>>2]=n[c+28>>2];_n(b,t,4,B);n[c>>2]=n[b>>2];n[c+4>>2]=n[b+4>>2];n[c+8>>2]=n[b+8>>2];n[c+12>>2]=n[b+12>>2];n[c+16>>2]=n[b+16>>2];n[c+20>>2]=n[b+20>>2];n[c+24>>2]=n[b+24>>2];n[c+28>>2]=n[b+28>>2];if(+s[c>>3]<+s[c+16>>3]?+s[l>>3]<+s[u>>3]:0){u=n[e>>2]|0;n[e>>2]=u+1;u=a+56+(u<<5)|0;n[u>>2]=n[c>>2];n[u+4>>2]=n[c+4>>2];n[u+8>>2]=n[c+8>>2];n[u+12>>2]=n[c+12>>2];n[u+16>>2]=n[c+16>>2];n[u+20>>2]=n[c+20>>2];n[u+24>>2]=n[c+24>>2];n[u+28>>2]=n[c+28>>2]}v=o;return}function ha(A,e,i,r,f,a,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;l=l|0;var t=0,c=0,b=0,o=0,u=0,B=0.0;o=v;v=v+128|0;t=o+96|0;c=o+64|0;u=o+32|0;b=o;On(u,A,e,r,0,f);n[a>>2]=n[u>>2];n[a+4>>2]=n[u+4>>2];n[a+8>>2]=n[u+8>>2];n[a+12>>2]=n[u+12>>2];n[a+16>>2]=n[u+16>>2];n[a+20>>2]=n[u+20>>2];n[a+24>>2]=n[u+24>>2];n[a+28>>2]=n[u+28>>2];n[c>>2]=n[u>>2];n[c+4>>2]=n[u+4>>2];n[c+8>>2]=n[u+8>>2];n[c+12>>2]=n[u+12>>2];n[c+16>>2]=n[u+16>>2];n[c+20>>2]=n[u+20>>2];n[c+24>>2]=n[u+24>>2];n[c+28>>2]=n[u+28>>2];n[a+48>>2]=1;if(!(l<<24>>24))$m(i,f,2,a,0);else Km(i,f,2,a,0);e=a+52|0;f=(n[e>>2]|0)+-1|0;u=c+24|0;s[u>>3]=+s[a+56+(f<<5)+24>>3];l=c+8|0;s[l>>3]=+s[a+56+(f<<5)+8>>3];r=n[r+16>>2]|0;B=+s[r+24>>3]-+s[(n[(n[A+16>>2]|0)+196>>2]|0)+(n[r+232>>2]<<6)+24>>3];n[t>>2]=n[c>>2];n[t+4>>2]=n[c+4>>2];n[t+8>>2]=n[c+8>>2];n[t+12>>2]=n[c+12>>2];n[t+16>>2]=n[c+16>>2];n[t+20>>2]=n[c+20>>2];n[t+24>>2]=n[c+24>>2];n[t+28>>2]=n[c+28>>2];_n(b,t,1,B);n[c>>2]=n[b>>2];n[c+4>>2]=n[b+4>>2];n[c+8>>2]=n[b+8>>2];n[c+12>>2]=n[b+12>>2];n[c+16>>2]=n[b+16>>2];n[c+20>>2]=n[b+20>>2];n[c+24>>2]=n[b+24>>2];n[c+28>>2]=n[b+28>>2];if(+s[c>>3]<+s[c+16>>3]?+s[l>>3]<+s[u>>3]:0){u=n[e>>2]|0;n[e>>2]=u+1;u=a+56+(u<<5)|0;n[u>>2]=n[c>>2];n[u+4>>2]=n[c+4>>2];n[u+8>>2]=n[c+8>>2];n[u+12>>2]=n[c+12>>2];n[u+16>>2]=n[c+16>>2];n[u+20>>2]=n[c+20>>2];n[u+24>>2]=n[c+24>>2];n[u+28>>2]=n[c+28>>2]}v=o;return}function ga(A,e,i){A=A|0;e=+e;i=+i;s[A>>3]=e;s[A+8>>3]=i;return}function Za(A,e,i,f,a,l,t){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;l=l|0;t=t|0;var c=0,b=0,o=0,u=0,B=0.0,k=0.0,w=0.0,d=0.0,h=0.0,g=0.0,Z=0.0,G=0.0,m=0.0,I=0,C=0,M=0.0,Q=0.0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0,X=0,T=0,x=0,U=0,j=0,S=0,O=0,K=0,_=0.0;K=v;v=v+288|0;X=K+256|0;D=K+240|0;L=K+224|0;j=K+280|0;S=K+272|0;O=K+32|0;T=K+16|0;x=K;b=K+208|0;o=K+192|0;u=n[i+(f<<2)>>2]|0;U=Jg(a<<2)|0;c=0;while(1){if((c|0)>=(a|0))break;n[U+(c<<2)>>2]=n[i+(c+f<<2)>>2];c=c+1|0}$p(U,a,4,11);i=A+16|0;f=(n[i>>2]|0)+16|0;u=u+16|0;E=(n[u>>2]|0)+16|0;n[D>>2]=n[f>>2];n[D+4>>2]=n[f+4>>2];n[D+8>>2]=n[f+8>>2];n[D+12>>2]=n[f+12>>2];n[X>>2]=n[E>>2];n[X+4>>2]=n[E+4>>2];n[X+8>>2]=n[E+8>>2];n[X+12>>2]=n[E+12>>2];oa(b,D,X);n[T>>2]=n[b>>2];n[T+4>>2]=n[b+4>>2];n[T+8>>2]=n[b+8>>2];n[T+12>>2]=n[b+12>>2];E=e+16|0;f=(n[E>>2]|0)+16|0;u=(n[u>>2]|0)+56|0;n[D>>2]=n[f>>2];n[D+4>>2]=n[f+4>>2];n[D+8>>2]=n[f+8>>2];n[D+12>>2]=n[f+12>>2];n[X>>2]=n[u>>2];n[X+4>>2]=n[u+4>>2];n[X+8>>2]=n[u+8>>2];n[X+12>>2]=n[u+12>>2];oa(o,D,X);n[x>>2]=n[o>>2];n[x+4>>2]=n[o+4>>2];n[x+8>>2]=n[o+8>>2];n[x+12>>2]=n[o+12>>2];G=+s[(n[i>>2]|0)+96>>3]+ +s[T>>3];m=+s[x>>3]-+s[(n[E>>2]|0)+88>>3];g=m+G;Z=g*.5;E=n[U>>2]|0;n[O>>2]=n[T>>2];n[O+4>>2]=n[T+4>>2];n[O+8>>2]=n[T+8>>2];n[O+12>>2]=n[T+12>>2];u=O+16|0;n[u>>2]=n[T>>2];n[u+4>>2]=n[T+4>>2];n[u+8>>2]=n[T+8>>2];n[u+12>>2]=n[T+12>>2];i=O+32|0;n[i>>2]=n[x>>2];n[i+4>>2]=n[x+4>>2];n[i+8>>2]=n[x+8>>2];n[i+12>>2]=n[x+12>>2];f=O+48|0;n[f>>2]=n[x>>2];n[f+4>>2]=n[x+4>>2];n[f+8>>2]=n[x+8>>2];n[f+12>>2]=n[x+12>>2];jm(E,n[((n[E>>2]&3|0)==2?E:E+-48|0)+40>>2]|0,O,4,17224);E=n[(n[E+16>>2]|0)+96>>2]|0;s[E+56>>3]=Z;C=T+8|0;w=+s[C>>3];d=+s[E+32>>3];s[E+64>>3]=(d+6.0)*.5+w;r[E+81>>0]=1;w=w+3.0;Q=+s[E+24>>3];M=(g-Q)*.5;Q=(Q+g)*.5;E=O+24|0;y=O+40|0;Y=O+56|0;V=O+64|0;W=x+8|0;J=O+72|0;N=O+80|0;z=O+88|0;p=O+96|0;R=O+104|0;P=O+112|0;H=O+120|0;F=j+4|0;o=(l|0)==6&1;k=0.0;B=0.0;d=d+w;b=1;while(1){if((b|0)>=(t|0)){I=6;break}e=n[U+(b<<2)>>2]|0;if(!(b&1)){n[O>>2]=n[T>>2];n[O+4>>2]=n[T+4>>2];n[O+8>>2]=n[T+8>>2];n[O+12>>2]=n[T+12>>2];s[u>>3]=M;s[E>>3]=+s[C>>3];s[i>>3]=M;s[y>>3]=d;s[f>>3]=Q;s[Y>>3]=d;s[V>>3]=Q;h=+s[W>>3];s[J>>3]=h;_=+s[x>>3];s[N>>3]=_;s[z>>3]=h;s[p>>3]=_;_=d+6.0;s[R>>3]=_;s[P>>3]=+s[T>>3];s[H>>3]=_;d=+s[(n[(n[e+16>>2]|0)+96>>2]|0)+32>>3];h=_+d*.5;d=_+d}else{c=e+16|0;A=n[(n[c>>2]|0)+96>>2]|0;if((b|0)==1){B=+s[A+24>>3];k=(B+g)*.5;B=(g-B)*.5}w=w+-6.0-+s[A+32>>3];n[O>>2]=n[T>>2];n[O+4>>2]=n[T+4>>2];n[O+8>>2]=n[T+8>>2];n[O+12>>2]=n[T+12>>2];s[u>>3]=+s[T>>3];h=w+-6.0;s[E>>3]=h;s[i>>3]=+s[x>>3];s[y>>3]=h;n[f>>2]=n[x>>2];n[f+4>>2]=n[x+4>>2];n[f+8>>2]=n[x+8>>2];n[f+12>>2]=n[x+12>>2];s[V>>3]=k;s[J>>3]=+s[W>>3];s[N>>3]=k;s[z>>3]=w;s[p>>3]=B;s[R>>3]=w;s[P>>3]=B;s[H>>3]=+s[C>>3];h=+s[(n[(n[c>>2]|0)+96>>2]|0)+32>>3]*.5+w}n[F>>2]=8;n[j>>2]=O;n[L>>2]=n[T>>2];n[L+4>>2]=n[T+4>>2];n[L+8>>2]=n[T+8>>2];n[L+12>>2]=n[T+12>>2];n[D>>2]=n[x>>2];n[D+4>>2]=n[x+4>>2];n[D+8>>2]=n[x+8>>2];n[D+12>>2]=n[x+12>>2];n[X>>2]=n[j>>2];n[X+4>>2]=n[j+4>>2];c=ZG(L,D,X,S,o)|0;A=n[S>>2]|0;if(!A)break;l=n[(n[e+16>>2]|0)+96>>2]|0;s[l+56>>3]=Z;s[l+64>>3]=h;r[l+81>>0]=1;jm(e,n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,c,A,17224);b=b+1|0}A:do{if((I|0)==6){Z=(m+G*2.0)*.3333333333333333;g=(m*2.0+G)*.3333333333333333;while(1){if((b|0)>=(a|0))break;e=n[U+(b<<2)>>2]|0;if(!(b&1)){n[O>>2]=n[T>>2];n[O+4>>2]=n[T+4>>2];n[O+8>>2]=n[T+8>>2];n[O+12>>2]=n[T+12>>2];s[u>>3]=M;s[E>>3]=+s[C>>3];s[i>>3]=M;s[y>>3]=d;s[f>>3]=Q;s[Y>>3]=d;s[V>>3]=Q;h=+s[W>>3];s[J>>3]=h;_=+s[x>>3];s[N>>3]=_;s[z>>3]=h;s[p>>3]=_;_=d+6.0;s[R>>3]=_;s[P>>3]=+s[T>>3];d=_;h=B;B=_}else{I=(b|0)==1;h=I?Z:B;k=I?g:k;B=w+-6.0;n[O>>2]=n[T>>2];n[O+4>>2]=n[T+4>>2];n[O+8>>2]=n[T+8>>2];n[O+12>>2]=n[T+12>>2];s[u>>3]=+s[T>>3];w=w+-12.0;s[E>>3]=w;s[i>>3]=+s[x>>3];s[y>>3]=w;n[f>>2]=n[x>>2];n[f+4>>2]=n[x+4>>2];n[f+8>>2]=n[x+8>>2];n[f+12>>2]=n[x+12>>2];s[V>>3]=k;s[J>>3]=+s[W>>3];s[N>>3]=k;s[z>>3]=B;s[p>>3]=h;s[R>>3]=B;s[P>>3]=h;w=B;B=+s[C>>3]}s[H>>3]=B;n[F>>2]=8;n[j>>2]=O;n[L>>2]=n[T>>2];n[L+4>>2]=n[T+4>>2];n[L+8>>2]=n[T+8>>2];n[L+12>>2]=n[T+12>>2];n[D>>2]=n[x>>2];n[D+4>>2]=n[x+4>>2];n[D+8>>2]=n[x+8>>2];n[D+12>>2]=n[x+12>>2];n[X>>2]=n[j>>2];n[X+4>>2]=n[j+4>>2];c=ZG(L,D,X,S,o)|0;A=n[S>>2]|0;if(!A)break A;jm(e,n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,c,A,17224);b=b+1|0;B=h}zN(U)}}while(0);v=K;return}function Ga(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0;a=v;v=v+16|0;f=a;t=(HY(A)|0)==0;t=t?17648:17640;r[f>>0]=r[t>>0]|0;r[f+1>>0]=r[t+1>>0]|0;r[f+2>>0]=r[t+2>>0]|0;r[f+3>>0]=r[t+3>>0]|0;f=YY(78335,f,0)|0;lW(f,122277,280,1)|0;Sy(f,0,80018,174177)|0;t=Jg(96)|0;i=n[f+16>>2]|0;n[i+8>>2]=t;l=n[A+16>>2]|0;c=n[l+8>>2]|0;s[t>>3]=+s[c>>3];s[t+24>>3]=+s[c+24>>3];r[i+115>>0]=r[l+115>>0]|0;n[i+116>>2]=n[l+116>>2]&1^1;n[i+248>>2]=n[l+248>>2];n[i+252>>2]=n[l+252>>2];i=$y(FV(A)|0,1,0)|0;while(1){if(!i)break;Sy(f,1,n[i+8>>2]|0,n[i+12>>2]|0)|0;i=$y(FV(A)|0,1,i)|0}i=$y(FV(A)|0,2,0)|0;while(1){if(!i)break;Sy(f,2,n[i+8>>2]|0,n[i+12>>2]|0)|0;i=$y(FV(A)|0,2,i)|0}if(!(Sy(f,2,96251,0)|0))Sy(f,2,96251,174177)|0;if(!(Sy(f,2,96242,0)|0))Sy(f,2,96242,174177)|0;Qa(f,e);v=a;return f|0}function ma(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=v;v=v+16|0;i=r;A=zV(A,qY(e)|0,1)|0;lW(A,122241,304,1)|0;tY(e,A)|0;if((HG(e)|0)==2){f=e+16|0;e=Ng((Az(n[n[(n[f>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;n[i>>2]=n[n[(n[f>>2]|0)+104>>2]>>2];_p(e,78330,i)|0;aY(A,86184,e)|0}v=r;return A|0}function Ia(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;i=IY(A,e,i,0,1)|0;lW(i,122254,176,1)|0;tY(r,i)|0;return i|0}function Ca(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0.0;l=v;v=v+32|0;a=l+16|0;f=l;if(r|0){t=+s[e>>3];r=e+8|0;s[e>>3]=+s[r>>3];s[r>>3]=-t}n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];n[a>>2]=n[i>>2];n[a+4>>2]=n[i+4>>2];n[a+8>>2]=n[i+8>>2];n[a+12>>2]=n[i+12>>2];oa(A,f,a);v=l;return}function Ma(A,e){A=A|0;e=e|0;n[42232]=n[e>>2];n[42236]=n[e+4>>2];n[42237]=n[e+8>>2];n[42217]=n[e+12>>2];n[42218]=n[e+16>>2];n[42224]=n[e+20>>2];n[42223]=n[e+24>>2];n[42222]=n[e+28>>2];n[42248]=n[e+32>>2];n[42240]=n[e+36>>2];n[42225]=n[e+40>>2];n[42235]=n[e+44>>2];n[42244]=n[e+48>>2];n[42243]=n[e+52>>2];n[42242]=n[e+56>>2];n[42247]=n[e+60>>2];n[42241]=n[e+64>>2];n[42226]=n[e+68>>2];n[42188]=n[e+72>>2];n[42189]=n[e+76>>2];n[42190]=n[e+80>>2];n[42200]=n[e+84>>2];n[42193]=n[e+88>>2];n[42194]=n[e+92>>2];n[42195]=n[e+96>>2];n[42197]=n[e+100>>2];n[42198]=n[e+104>>2];n[42201]=n[e+108>>2];n[42204]=n[e+112>>2];n[42202]=n[e+116>>2];n[42203]=n[e+120>>2];n[42206]=n[e+124>>2];n[42205]=n[e+128>>2];n[42207]=n[e+132>>2];n[42208]=n[e+136>>2];n[42199]=n[e+140>>2];n[42211]=n[e+144>>2];n[42183]=n[e+148>>2];n[42181]=n[e+152>>2];zN(e);kn(A);NY(A)|0;return}function Qa(A,e){A=A|0;e=e|0;n[e>>2]=n[42232];n[e+4>>2]=n[42236];n[e+8>>2]=n[42237];n[e+12>>2]=n[42217];n[e+16>>2]=n[42218];n[e+20>>2]=n[42224];n[e+24>>2]=n[42223];n[e+28>>2]=n[42222];n[e+32>>2]=n[42248];n[e+36>>2]=n[42240];n[e+40>>2]=n[42225];n[e+44>>2]=n[42235];n[e+48>>2]=n[42244];n[e+52>>2]=n[42243];n[e+56>>2]=n[42242];n[e+60>>2]=n[42247];n[e+64>>2]=n[42241];n[e+68>>2]=n[42226];n[e+72>>2]=n[42188];n[e+76>>2]=n[42189];n[e+80>>2]=n[42190];n[e+84>>2]=n[42200];n[e+88>>2]=n[42193];n[e+92>>2]=n[42194];n[e+96>>2]=n[42195];n[e+100>>2]=n[42197];n[e+104>>2]=n[42198];n[e+108>>2]=n[42201];n[e+112>>2]=n[42204];n[e+116>>2]=n[42202];n[e+120>>2]=n[42203];n[e+124>>2]=n[42206];n[e+128>>2]=n[42205];n[e+132>>2]=n[42207];n[e+136>>2]=n[42208];n[e+140>>2]=n[42199];n[e+144>>2]=n[42211];n[e+152>>2]=n[42181];n[e+148>>2]=n[42183];n[42232]=0;n[42236]=Sy(A,2,80259,0)|0;n[42237]=Sy(A,2,80268,0)|0;e=Sy(A,2,86558,0)|0;n[42217]=e;if(!e)n[42217]=Sy(A,2,86558,174177)|0;n[42218]=0;n[42224]=0;n[42223]=Sy(A,2,86438,0)|0;n[42222]=Sy(A,2,86429,0)|0;n[42248]=Sy(A,2,86734,0)|0;n[42240]=0;n[42225]=Sy(A,2,86184,0)|0;n[42235]=Sy(A,2,78340,0)|0;n[42244]=0;n[42243]=Sy(A,2,86634,0)|0;n[42242]=Sy(A,2,86620,0)|0;n[42247]=Sy(A,2,86725,0)|0;n[42241]=0;n[42226]=0;n[42188]=Sy(A,1,95993,0)|0;n[42189]=Sy(A,1,95987,0)|0;n[42190]=Sy(A,1,90615,0)|0;n[42200]=0;n[42193]=Sy(A,1,86429,0)|0;n[42194]=Sy(A,1,86438,0)|0;n[42195]=0;n[42197]=Sy(A,1,86184,0)|0;n[42198]=0;n[42201]=0;n[42204]=Sy(A,1,86390,0)|0;n[42202]=Sy(A,1,86473,0)|0;n[42203]=Sy(A,1,86479,0)|0;n[42206]=Sy(A,1,86491,0)|0;n[42205]=Sy(A,1,86329,0)|0;n[42207]=Sy(A,1,86496,0)|0;n[42208]=Sy(A,1,78352,0)|0;n[42199]=0;n[42211]=0;n[42183]=Sy(A,0,86390,0)|0;return}function Ea(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,a=0.0,l=0.0;i=n[(n[(n[A>>2]|0)+16>>2]|0)+96>>2]|0;A=n[(n[(n[e>>2]|0)+16>>2]|0)+96>>2]|0;e=(A|0)!=0;if(i)if(e?(f=+s[i+24>>3],l=+s[i+32>>3],r=+s[A+24>>3],a=+s[A+32>>3],!(f>r)):0)if(!(f<r))if(l>a)A=-1;else A=l<a&1;else A=1;else A=-1;else A=e&1;return A|0}function ya(A){A=A|0;var e=0,i=0,r=0;while(1){e=n[(n[A+16>>2]|0)+116>>2]|0;if(!e)break;else A=e}e=n[A>>2]&3;i=n[(n[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;r=n[i+232>>2]|0;A=n[(n[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0;e=n[A+232>>2]|0;if((r|0)<=(e|0))if((r|0)<(e|0))A=1;else A=(n[i+236>>2]|0)<(n[A+236>>2]|0)&1;else A=0;return A|0}function Ya(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0;i=v;v=v+16|0;r=i+8|0;f=i;l=(n[A+16>>2]|0)+180|0;a=(n[e+16>>2]|0)+172|0;n[f>>2]=n[l>>2];n[f+4>>2]=n[l+4>>2];n[r>>2]=n[a>>2];n[r+4>>2]=n[a+4>>2];e=Va(A,f,e,r)|0;v=i;return e|0}function Va(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=n[e+4>>2]|0;A:do{if((f|0)>0?(a=n[r+4>>2]|0,(a|0)>0):0)if((f|0)<(a|0)){f=n[e>>2]|0;r=0;while(1){e=n[f+(r<<2)>>2]|0;if(!e){e=0;break A}if((n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)==(i|0))break;else r=r+1|0}}else{f=n[r>>2]|0;r=0;while(1){e=n[f+(r<<2)>>2]|0;if(!e){e=0;break A}if((n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(A|0))break;else r=r+1|0}}else e=0}while(0);return e|0}function Wa(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0;i=v;v=v+16|0;r=i+8|0;f=i;l=(n[A+16>>2]|0)+188|0;a=(n[e+16>>2]|0)+196|0;n[f>>2]=n[l>>2];n[f+4>>2]=n[l+4>>2];n[r>>2]=n[a>>2];n[r+4>>2]=n[a+4>>2];e=Va(A,f,e,r)|0;v=i;return e|0}function Ja(A){A=A|0;var e=0,i=0,r=0,f=0;r=A+48|0;i=n[(n[((n[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=n[i+180>>2]|0;if(!e)e=Ng((n[i+184>>2]<<2)+8|0)|0;else e=pg(e,(n[i+184>>2]<<2)+8|0)|0;n[(n[(n[((n[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0)+180>>2]=e;f=n[(n[((n[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;i=n[f+180>>2]|0;f=f+184|0;e=n[f>>2]|0;n[f>>2]=e+1;n[i+(e<<2)>>2]=A;r=n[(n[((n[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;n[(n[r+180>>2]|0)+(n[r+184>>2]<<2)>>2]=0;r=A+-48|0;e=n[(n[((n[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;i=n[e+172>>2]|0;if(!i)e=Ng((n[e+176>>2]<<2)+8|0)|0;else e=pg(i,(n[e+176>>2]<<2)+8|0)|0;n[(n[(n[((n[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0)+172>>2]=e;e=n[(n[((n[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;i=n[e+172>>2]|0;e=e+176|0;f=n[e>>2]|0;n[e>>2]=f+1;n[i+(f<<2)>>2]=A;f=n[(n[((n[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;n[(n[f+172>>2]|0)+(n[f+176>>2]<<2)>>2]=0;return A|0}function Na(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;r=A+4|0;f=n[r>>2]|0;i=0;while(1){if((i|0)>=(f|0))break;a=n[A>>2]|0;l=a+(i<<2)|0;if((n[l>>2]|0)==(e|0)){t=4;break}else i=i+1|0}if((t|0)==4){t=f+-1|0;n[r>>2]=t;n[l>>2]=n[a+(t<<2)>>2];n[(n[A>>2]|0)+(t<<2)>>2]=0}return}function za(A){A=A|0;if(!A)BA(78393,78403,117,78412);else{Na((n[(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+180|0,A);Na((n[(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+172|0,A);return}}function pa(A){A=A|0;var e=0,i=0,r=0,f=0;r=A+48|0;i=n[(n[((n[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=n[i+204>>2]|0;if(!e)e=Ng((n[i+208>>2]<<2)+8|0)|0;else e=pg(e,(n[i+208>>2]<<2)+8|0)|0;n[(n[(n[((n[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0)+204>>2]=e;f=n[(n[((n[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=n[f+204>>2]|0;f=f+208|0;i=n[f>>2]|0;n[f>>2]=i+1;n[e+(i<<2)>>2]=A;r=n[(n[((n[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;n[(n[r+204>>2]|0)+(n[r+208>>2]<<2)>>2]=0;return}function Ra(A){A=A|0;Pa(A,(n[(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function Pa(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0;l=e+4|0;r=n[l>>2]|0;f=n[e>>2]|0;i=0;while(1){if((i|0)>=(r|0)){a=4;break}if((n[f+(i<<2)>>2]|0)==(A|0))break;else i=i+1|0}if((a|0)==4){if(!f)i=Ng((r<<2)+8|0)|0;else i=pg(f,(r<<2)+8|0)|0;n[e>>2]=i;f=n[l>>2]|0;a=f+1|0;n[l>>2]=a;n[i+(f<<2)>>2]=A;n[(n[e>>2]|0)+(a<<2)>>2]=0}return}function Ha(A,e,i){A=A|0;e=e|0;i=i|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;u=Jg(96)|0;a=u+48|0;n[a>>2]=n[a>>2]|3;n[u>>2]=n[u>>2]&-4|2;l=Jg(176)|0;o=u+16|0;n[o>>2]=l;n[((n[u>>2]&3|0)==3?u:a)+40>>2]=A;c=u+-48|0;n[((n[u>>2]&3|0)==2?u:c)+40>>2]=e;r[l+112>>0]=1;if(!i){n[l+156>>2]=1;f[l+154>>1]=1;f[l+168>>1]=1;f[l+170>>1]=1}else{n[u>>2]=n[u>>2]&15|n[i>>2]&-16;n[a>>2]=n[a>>2]&15|n[i>>2]&-16;b=i+16|0;t=n[b>>2]|0;f[l+168>>1]=f[t+168>>1]|0;f[l+154>>1]=f[t+154>>1]|0;n[l+156>>2]=n[t+156>>2];f[l+170>>1]=f[t+170>>1]|0;A=n[((n[u>>2]&3|0)==3?u:a)+40>>2]|0;e=n[i>>2]&3;s=i+48|0;if((A|0)!=(n[((e|0)==3?i:s)+40>>2]|0)){a=i+-48|0;if((A|0)==(n[((e|0)==2?i:a)+40>>2]|0)){l=l+16|0;A=t+56|0;e=l+40|0;do{n[l>>2]=n[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0))}}else{l=l+16|0;A=t+16|0;e=l+40|0;do{n[l>>2]=n[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0));a=i+-48|0}A=n[((n[u>>2]&3|0)==2?u:c)+40>>2]|0;e=n[i>>2]&3;if((A|0)!=(n[((e|0)==2?i:a)+40>>2]|0)){if((A|0)==(n[((e|0)==3?i:s)+40>>2]|0)){l=(n[o>>2]|0)+56|0;A=(n[b>>2]|0)+16|0;e=l+40|0;do{n[l>>2]=n[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0))}}else{l=(n[o>>2]|0)+56|0;A=(n[b>>2]|0)+56|0;e=l+40|0;do{n[l>>2]=n[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0))}A=(n[b>>2]|0)+172|0;if(!(n[A>>2]|0))n[A>>2]=u;n[(n[o>>2]|0)+116>>2]=i}return u|0}function Fa(A,e,i){A=A|0;e=e|0;i=i|0;return Ja(Ha(A,e,i)|0)|0}function La(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;A=(n[A+16>>2]|0)+192|0;f=n[A>>2]|0;i=n[e+16>>2]|0;n[i+164>>2]=f;r=f;if(f|0)n[(n[r+16>>2]|0)+168>>2]=e;n[A>>2]=e;n[i+168>>2]=0;if((r|0)==(e|0))BA(78429,78403,215,78445);else return}function Da(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;if((A|0)==(e|0))BA(78455,78403,220,78462);f=n[e+16>>2]|0;i=f+164|0;if(n[i>>2]|0)BA(78475,78403,221,78462);r=(n[A+16>>2]|0)+164|0;n[i>>2]=n[r>>2];i=n[r>>2]|0;if(i|0)n[(n[i+16>>2]|0)+168>>2]=e;n[f+168>>2]=A;n[r>>2]=e;return}function Xa(A,e){A=A|0;e=e|0;var i=0,r=0;if(!(Ta(A,e)|0))BA(78494,78403,231,78515);e=n[e+16>>2]|0;i=n[e+164>>2]|0;r=i;e=e+168|0;if(i|0)n[(n[i+16>>2]|0)+168>>2]=n[e>>2];e=n[e>>2]|0;if(!e)n[(n[A+16>>2]|0)+192>>2]=r;else n[(n[e+16>>2]|0)+164>>2]=r;return}function Ta(A,e){A=A|0;e=e|0;A=(n[A+16>>2]|0)+192|0;while(1){A=n[A>>2]|0;if((A|0)==0|(A|0)==(e|0))break;A=(n[A+16>>2]|0)+164|0}return A|0}function xa(A){A=A|0;var e=0,i=0,f=0,a=0;e=Jg(64)|0;n[e>>2]=n[e>>2]&-4|1;i=e+16|0;n[i>>2]=Jg(304)|0;n[e+24>>2]=FV(A)|0;a=n[i>>2]|0;r[a+156>>0]=1;s[a+96>>3]=1.0;s[a+88>>3]=1.0;s[a+80>>3]=1.0;n[a+216>>2]=1;n[a+176>>2]=0;a=Jg(20)|0;f=n[i>>2]|0;n[f+172>>2]=a;n[f+184>>2]=0;f=Jg(20)|0;n[(n[i>>2]|0)+180>>2]=f;La(A,e);A=(n[A+16>>2]|0)+232|0;n[A>>2]=(n[A>>2]|0)+1;return e|0}function Ua(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0;a=e+48|0;i=n[(n[((n[e>>2]&3|0)==3?e:a)+40>>2]|0)+16>>2]|0;f=n[i+188>>2]|0;if(!f)i=Ng((n[i+192>>2]<<2)+8|0)|0;else i=pg(f,(n[i+192>>2]<<2)+8|0)|0;n[(n[(n[((n[e>>2]&3|0)==3?e:a)+40>>2]|0)+16>>2]|0)+188>>2]=i;l=n[(n[((n[e>>2]&3|0)==3?e:a)+40>>2]|0)+16>>2]|0;f=n[l+188>>2]|0;l=l+192|0;i=n[l>>2]|0;n[l>>2]=i+1;n[f+(i<<2)>>2]=e;a=n[(n[((n[e>>2]&3|0)==3?e:a)+40>>2]|0)+16>>2]|0;n[(n[a+188>>2]|0)+(n[a+192>>2]<<2)>>2]=0;a=e+-48|0;i=n[(n[((n[e>>2]&3|0)==2?e:a)+40>>2]|0)+16>>2]|0;f=n[i+196>>2]|0;if(!f)i=Ng((n[i+200>>2]<<2)+8|0)|0;else i=pg(f,(n[i+200>>2]<<2)+8|0)|0;n[(n[(n[((n[e>>2]&3|0)==2?e:a)+40>>2]|0)+16>>2]|0)+196>>2]=i;i=n[(n[((n[e>>2]&3|0)==2?e:a)+40>>2]|0)+16>>2]|0;f=n[i+196>>2]|0;i=i+200|0;l=n[i>>2]|0;n[i>>2]=l+1;n[f+(l<<2)>>2]=e;l=n[(n[((n[e>>2]&3|0)==2?e:a)+40>>2]|0)+16>>2]|0;n[(n[l+196>>2]|0)+(n[l+200>>2]<<2)>>2]=0;r[(n[A+16>>2]|0)+240>>0]=1;r[(n[(Jn(A)|0)+16>>2]|0)+240>>0]=1;return}function ja(A){A=A|0;var e=0,i=0;if(!A)BA(78393,78403,269,78532);e=n[(n[A+16>>2]|0)+116>>2]|0;if(e|0?(i=(n[e+16>>2]|0)+172|0,(n[i>>2]|0)==(A|0)):0)n[i>>2]=0;Na((n[(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+188|0,A);Na((n[(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+196|0,A);return}function Sa(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=v;v=v+16|0;i=(n[A+16>>2]|0)+172|0;r=n[i>>2]|0;do{if((r|0)!=(e|0))if(!r){n[i>>2]=e;Oa(A,e);break}else BA(80440,78403,340,78570);else Gy(0,78549,f)|0}while(0);v=f;return}function Oa(A,e){A=A|0;e=e|0;var i=0,r=0,a=0,t=0;i=(n[e+16>>2]|0)+170|0;t=n[A+16>>2]|0;A=f[t+170>>1]|0;if((l[i>>1]|0)<(A&65535))f[i>>1]=A;r=t+168|0;a=t+154|0;i=t+156|0;A=e;while(1){if(!A)break;e=n[A+16>>2]|0;t=e+168|0;f[t>>1]=(l[t>>1]|0)+(l[r>>1]|0);t=e+154|0;f[t>>1]=(l[t>>1]|0)+(l[a>>1]|0);t=e+156|0;n[t>>2]=(n[t>>2]|0)+(n[i>>2]|0);A=n[e+172>>2]|0}return}function Ka(A){A=A|0;var e=0,i=0,a=0,l=0;i=A+16|0;e=n[(n[i>>2]|0)+172>>2]|0;A:while(1){if(!e)break;_a(e,A);l=n[e+16>>2]|0;a=n[l+172>>2]|0;if(!(f[l+168>>1]|0))qa(e);while(1){if((r[(n[e+16>>2]|0)+112>>0]|0)!=1){e=a;continue A}e=n[(n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((r[e+156>>0]|0)!=1){e=a;continue A}if((n[e+184>>2]|0)!=1){e=a;continue A}e=n[n[e+180>>2]>>2]|0;_a(e,A)}}n[(n[i>>2]|0)+172>>2]=0;return}function _a(A,e){A=A|0;e=e|0;var i=0;i=n[e+16>>2]|0;e=n[A+16>>2]|0;A=e+168|0;f[A>>1]=(l[A>>1]|0)-(l[i+168>>1]|0);A=e+154|0;f[A>>1]=(l[A>>1]|0)-(l[i+154>>1]|0);e=e+156|0;n[e>>2]=(n[e>>2]|0)-(n[i+156>>2]|0);return}function qa(A){A=A|0;var e=0,i=0,r=0,f=0,a=0;if(!A)BA(78393,78403,128,78583);a=A+48|0;i=0;while(1){e=n[A>>2]|0;r=(n[(n[((e&3|0)==3?A:a)+40>>2]|0)+16>>2]|0)+180|0;f=n[(n[r>>2]|0)+(i<<2)>>2]|0;if(!f)break;if((f|0)==(A|0))Na(r,A);i=i+1|0}a=A+-48|0;f=0;while(1){i=(n[(n[((e&3|0)==2?A:a)+40>>2]|0)+16>>2]|0)+172|0;r=n[(n[i>>2]|0)+(f<<2)>>2]|0;if(!r)break;if((r|0)==(A|0)){Na(i,A);e=n[A>>2]|0}f=f+1|0}return}function $a(A){A=A|0;var e=0,i=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0;B=v;v=v+1040|0;o=B+1032|0;u=B;b=B+8|0;s=A+16|0;A=n[s>>2]|0;c=f[A+236>>1]|0;while(1){if((c|0)>(f[A+238>>1]|0))break;t=n[A+196>>2]|0;l=t+(c<<6)|0;t=t+(c<<6)+4|0;a=0;A=0;while(1){if((a|0)>=(n[l>>2]|0))break;e=n[(n[t>>2]|0)+(a<<2)>>2]|0;i=e+16|0;if(n[(n[i>>2]|0)+112>>2]|0){if(!A){r[o>>0]=r[17644]|0;r[o+1>>0]=r[17645]|0;r[o+2>>0]=r[17646]|0;r[o+3>>0]=r[17647]|0;A=YY(78605,o,0)|0}n[u>>2]=a;_p(b,122187,u)|0;h=zV(A,b,1)|0;lW(h,78608,24,1)|0;k=n[(n[i>>2]|0)+180>>2]|0;w=n[k>>2]|0;w=n[(n[(n[((n[w>>2]&3|0)==2?w:w+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;k=n[k+4>>2]|0;k=n[(n[(n[((n[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;d=(w|0)>(k|0);i=n[h+16>>2]|0;n[i+12>>2]=d?k:w;n[i+16>>2]=d?w:k;n[i+20>>2]=e}a=a+1|0}if(A|0){if((zY(A)|0)>1)Al(A,l);NY(A)|0}c=c+1|0;A=n[s>>2]|0}v=B;return}function Al(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0;i=0;l=CV(A)|0;A:while(1){if(!l)break;t=MV(A,l)|0;c=l+16|0;a=t;while(1){if(!a){l=t;continue A}f=n[a+16>>2]|0;r=n[c>>2]|0;if((n[f+16>>2]|0)>(n[r+12>>2]|0)){if((n[r+16>>2]|0)<=(n[f+12>>2]|0))IY(A,l,a,0,1)|0}else{IY(A,a,l,0,1)|0;i=1}a=MV(A,a)|0}}do{if(i|0){l=eJ(A,78613,1)|0;c=Jg((zY(A)|0)<<2)|0;t=Jg((zY(A)|0)<<2)|0;f=e+4|0;r=CV(A)|0;A:while(1){if(!r){i=23;break}if((n[(n[r+16>>2]|0)+8>>2]|0)==0?RY(A,r,1,1)|0:0){e:do{if(el(A,r,l,t)|0){a=zY(l)|0;if((il(A,l,c)|0)!=(a|0)){i=17;break A}$p(t,a,4,12);i=0;while(1){if((i|0)>=(a|0))break e;e=t+(i<<2)|0;s=n[c+(i<<2)>>2]|0;n[(n[s+16>>2]|0)+236>>2]=n[e>>2];n[(n[f>>2]|0)+(n[e>>2]<<2)>>2]=s;i=i+1|0}}}while(0);fl(l)}r=MV(A,r)|0}if((i|0)==17)BA(78618,78628,265,78639);else if((i|0)==23){zN(c);break}}}while(0);return}function el(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0;l=n[e+16>>2]|0;n[l+8>>2]=1;l=n[(n[(n[l+20>>2]|0)+16>>2]|0)+236>>2]|0;n[r+((zY(i)|0)<<2)>>2]=l;YV(i,e,1)|0;l=bY(A,e)|0;f=0;while(1){if(!l)break;c=n[l>>2]&3;a=n[((c|0)==2?l:l+-48|0)+40>>2]|0;t=n[a+16>>2]|0;f=f+((n[(n[(n[t+20>>2]|0)+16>>2]|0)+236>>2]|0)>(n[(n[(n[(n[(n[((c|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(n[t+8>>2]|0))f=(el(A,a,i,r)|0)+f|0;l=uY(A,l)|0}l=vY(A,e)|0;while(1){if(!l)break;t=n[l>>2]&3;a=n[((t|0)==3?l:l+48|0)+40>>2]|0;c=n[a+16>>2]|0;f=f+((n[(n[(n[(n[(n[((t|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(n[(n[(n[c+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(n[c+8>>2]|0))f=(el(A,a,i,r)|0)+f|0;l=BY(A,l)|0}return f|0}function il(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;f=0;while(1){r=nl(A,e)|0;if(!r)break;n[i+(f<<2)>>2]=n[(n[r+16>>2]|0)+20>>2];RV(e,r)|0;r=bY(A,r)|0;while(1){if(!r)break;a=uY(A,r)|0;QY(A,r)|0;r=a}f=f+1|0}return f|0}function rl(A,e){A=A|0;e=e|0;return(n[A>>2]|0)-(n[e>>2]|0)|0}function fl(A){A=A|0;var e=0,i=0;e=CV(A)|0;while(1){if(!e)break;i=MV(A,e)|0;RV(A,e)|0;e=i}return}function nl(A,e){A=A|0;e=e|0;var i=0;i=CV(e)|0;while(1){if(!i){i=0;break}if(!(RY(A,i,1,0)|0))break;i=MV(e,i)|0}return i|0}function al(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0;ll(A);t=A+16|0;f=0;i=0;while(1){if((f|0)>=(n[(n[t>>2]|0)+220>>2]|0))break;tl(A,f);f=f+1|0;i=(cl(A,0,e)|0)+i|0}sl(A);l=1;while(1){f=n[t>>2]|0;a=n[f+180>>2]|0;if((l|0)>(a|0))break;a=(bl(n[(n[f+184>>2]|0)+(l<<2)>>2]|0,e)|0)+i|0;l=l+1|0;i=a}do{if((a|0)>0){f=fY(A,78653)|0;if(f|0?(UI(f)|0)<<24>>24==0:0)break;gE(A);r[173889]=1;i=cl(A,2,e)|0}}while(0);ol(A,i);return}function ll(A){A=A|0;var e=0;if(0)zI();r[173889]=0;n[41927]=A;e=((pY(Jn(A)|0)|0)<<2)+4|0;n[41926]=Jg(e)|0;n[41925]=Jg(e)|0;it(A);e=A+16|0;if(f[(n[e>>2]|0)+136>>1]&16)rt(A);eE(A);XE(A,1);DC(A);hl(A);e=n[e>>2]|0;n[41928]=f[e+236>>1];n[41929]=f[e+238>>1];return}function tl(A,e){A=A|0;e=e|0;var i=0,r=0,a=0;A=n[A+16>>2]|0;n[A+192>>2]=n[(n[A+216>>2]|0)+(e<<2)>>2];A:do{if((e|0)>0){e=f[A+238>>1]|0;i=A+196|0;A=f[A+236>>1]|0;while(1){if((A|0)>(e|0))break A;r=n[i>>2]|0;a=r+(A<<6)+4|0;r=r+(A<<6)|0;n[a>>2]=(n[a>>2]|0)+(n[r>>2]<<2);n[r>>2]=0;A=A+1|0}}}while(0);return}function cl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0;u=v;v=v+32|0;o=u;if((e|0)>1){r=zl(0)|0;pl(A)}else r=2147483647;b=n[13918]|0;c=e;f=0;e=r;while(1){if((c|0)>=3)break;f=n[42180]|0;if((c|0)==2)if((r|0)>(e|0)){Pl(A);r=e}else r=e;else{r=(f|0)<4?f:4;if((Jn(A)|0)==(A|0))Rl(A,c);if(!c)gl(A);Zl(A);a=zl(0)|0;if((a|0)>(e|0)){f=r;r=a}else{pl(A);f=r;r=a;e=a}}a=0;t=0;while(1){if((t|0)>=(f|0))break;if(0){n[o>>2]=c;n[o+4>>2]=t;n[o+8>>2]=a;n[o+12>>2]=r;n[o+16>>2]=e;lR(b,79046,o)|0}l=a+1|0;if((r|0)==0|(a|0)>=(n[41930]|0))break;Hl(A,t);r=zl(0)|0;if((r|0)>(e|0))a=l;else{pl(A);a=+s[20878]*+(e|0)>+(r|0)?0:l;e=r}t=t+1|0}if(!r){r=0;break}else c=c+1|0}if((r|0)>(e|0))Pl(A);if((e|0)>0){Fl(A,0);r=zl(0)|0}else r=e;A:do{if(i|0){e=0;while(1){if((e|0)>=(f|0))break A;Ll(A);e=e+1|0}}}while(0);v=u;return r|0}function sl(A){A=A|0;var e=0,i=0,r=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0;B=v;v=v+16|0;o=B;Nl(A);s=A+16|0;e=n[s>>2]|0;b=n[13918]|0;c=f[e+236>>1]|0;while(1){if((c|0)>(f[e+238>>1]|0))break;i=n[e+196>>2]|0;r=n[i+(c<<6)+8>>2]|0;n[i+(c<<6)>>2]=r;a=n[i+(c<<6)+12>>2]|0;n[i+(c<<6)+4>>2]=a;t=0;while(1){if((t|0)>=(r|0))break;l=n[a+(t<<2)>>2]|0;if(!l){u=6;break}n[(n[l+16>>2]|0)+236>>2]=t;t=t+1|0}if((u|0)==6){u=0;if(0){i=qY(A)|0;e=n[(n[(n[s>>2]|0)+196>>2]|0)+(c<<6)>>2]|0;n[o>>2]=i;n[o+4>>2]=c;n[o+8>>2]=t;n[o+12>>2]=e;lR(b,78996,o)|0;e=n[s>>2]|0;i=n[e+196>>2]|0}n[i+(c<<6)>>2]=t}c=c+1|0}v=B;return}function bl(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;vE(A);hl(A);gl(A);Zl(A);f=A+16|0;i=cl(A,2,e)|0;r=1;while(1){a=n[f>>2]|0;if((r|0)>(n[a+180>>2]|0))break;i=(bl(n[(n[a+184>>2]|0)+(r<<2)>>2]|0,e)|0)+i|0;r=r+1|0}Gl(A);return i|0}function ol(A,e){A=A|0;e=e|0;var i=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0.0;k=v;v=v+16|0;B=k;i=n[41925]|0;if(i|0){zN(i);n[41925]=0}i=n[41926]|0;if(i|0){zN(i);n[41926]=0}u=A+16|0;i=1;while(1){a=n[u>>2]|0;if((i|0)>(n[a+180>>2]|0))break;ul(n[(n[a+184>>2]|0)+(i<<2)>>2]|0);i=i+1|0}o=f[a+236>>1]|0;i=a;while(1){if((o|0)>(f[i+238>>1]|0))break;else b=0;while(1){i=n[i+196>>2]|0;if((b|0)>=(n[i+(o<<6)>>2]|0))break;c=(n[(n[i+(o<<6)+4>>2]|0)+(b<<2)>>2]|0)+16|0;i=n[c>>2]|0;n[i+236>>2]=b;i=n[i+188>>2]|0;A:do{if(i|0){a=0;while(1){l=n[i+(a<<2)>>2]|0;if(!l)break A;t=l+16|0;if((r[(n[t>>2]|0)+112>>0]|0)==4){ja(l);zN(n[t>>2]|0);zN(l);a=a+-1|0;i=n[(n[c>>2]|0)+188>>2]|0}a=a+1|0}}}while(0);b=b+1|0;i=n[u>>2]|0}vl(n[i+(o<<6)+56>>2]|0);o=o+1|0;i=n[u>>2]|0}if(0){u=n[13918]|0;A=qY(A)|0;w=+pI();n[B>>2]=A;n[B+4>>2]=e;s[B+8>>3]=w;lR(u,78664,B)|0}v=k;return}function ul(A){A=A|0;var e=0,i=0,r=0,a=0,l=0,t=0,c=0,s=0;a=A+16|0;e=1;while(1){r=n[a>>2]|0;if((e|0)>(n[r+180>>2]|0))break;ul(n[(n[r+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}A:do{if(n[r+268>>2]|0){i=f[r+236>>1]|0;e=r;while(1){if((i|0)>(f[e+238>>1]|0))break A;c=n[(n[e+268>>2]|0)+(i<<2)>>2]|0;t=Bl(A,c,-1)|0;c=Bl(A,c,1)|0;n[(n[(n[a>>2]|0)+268>>2]|0)+(i<<2)>>2]=t;s=n[(n[(n[(Jn(A)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;t=n[(n[t+16>>2]|0)+236>>2]|0;r=n[a>>2]|0;l=n[r+196>>2]|0;n[l+(i<<6)+4>>2]=s+(t<<2);n[l+(i<<6)>>2]=(n[(n[c+16>>2]|0)+236>>2]|0)+1-t;i=i+1|0;e=r}}}while(0);return}function vl(A){A=A|0;if(A|0){zN(n[A+8>>2]|0);zN(A)}return}function Bl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=e;while(1){e=kl(e,i)|0;if(!e)break;if(wl(A,e)|0){r=e;continue}f=(dl(A,e)|0)==0;r=f?r:e}return r|0}function kl(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;if(!A)BA(78703,78628,1023,78705);if((e|0)<0){A=n[A+16>>2]|0;r=n[A+236>>2]|0;if((r|0)>0){A=(n[(n[(n[41927]|0)+16>>2]|0)+196>>2]|0)+(n[A+232>>2]<<6)+4|0;i=r+-1|0;f=7}else a=0}else{A=n[A+16>>2]|0;r=n[A+236>>2]|0;A=(n[(n[(n[41927]|0)+16>>2]|0)+196>>2]|0)+(n[A+232>>2]<<6)+4|0;i=r+1|0;f=7}if((f|0)==7){A=n[(n[A>>2]|0)+(i<<2)>>2]|0;if(A)if((X((n[(n[A+16>>2]|0)+236>>2]|0)-r|0,e)|0)>0)a=A;else BA(78714,78628,1029,78705);else a=0}return a|0}function wl(A,e){A=A|0;e=e|0;if(!(r[(n[e+16>>2]|0)+156>>0]|0))A=(OV(A,e)|0)!=0&1;else A=0;return A|0}function dl(A,e){A=A|0;e=e|0;var i=0,f=0;e=n[e+16>>2]|0;if(((r[e+156>>0]|0)==1?(n[e+176>>2]|0)==1:0)?(n[e+184>>2]|0)==1:0){e=n[e+180>>2]|0;while(1){e=n[e>>2]|0;i=n[e+16>>2]|0;if(!(r[i+112>>0]|0))break;else e=i+116|0}if(OV(A,e)|0)e=1;else f=7}else f=7;if((f|0)==7)e=0;return e|0}function hl(A){A=A|0;var e=0,i=0,f=0;f=v;v=v+16|0;i=f;e=n[42183]|0;A:do{if((e|0)!=0|(n[42204]|0)!=0){e=XI(A,e,0)|0;if(e|0){switch(r[e>>0]|0){case 0:break A;case 111:{if(!(az(e,78916)|0)){yl(A,1);break A}break}case 105:{if(!(az(e,83698)|0)){yl(A,0);break A}break}default:{}}n[i>>2]=e;Gy(1,78920,i)|0;break}e=iJ(A)|0;while(1){if(!e)break;if(!(qM(e)|0))hl(e);e=rJ(e)|0}if(n[42204]|0)Yl(A)}}while(0);v=f;return}function gl(A){A=A|0;var e=0,i=0,a=0,l=0,t=0,c=0,s=0;s=A+16|0;e=n[s>>2]|0;c=f[e+236>>1]|0;while(1){if((c|0)>(f[e+238>>1]|0))break;else{i=0;t=0}while(1){a=n[e+196>>2]|0;l=n[a+(c<<6)>>2]|0;if((t|0)>=(l|0))break;a=n[(n[(n[a+(c<<6)+4>>2]|0)+(t<<2)>>2]|0)+16>>2]|0;r[a+158>>0]=0;r[a+157>>0]=0;n[a+284>>2]=t;if((i|0)==0&(n[a+192>>2]|0)>0){i=Ql(l,l)|0;e=n[s>>2]|0;n[(n[e+196>>2]|0)+(c<<6)+56>>2]=i;i=1}t=t+1|0}A:do{if(i){t=0;i=l;while(1){if((t|0)>=(i|0))break A;l=n[(n[a+(c<<6)+4>>2]|0)+(t<<2)>>2]|0;if(!(r[(n[l+16>>2]|0)+157>>0]|0)){El(A,l);e=n[s>>2]|0;i=n[e+196>>2]|0;a=i;i=n[i+(c<<6)>>2]|0}t=t+1|0}}}while(0);c=c+1|0}return}function Zl(A){A=A|0;var e=0,i=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0,d=0,h=0;d=A+16|0;e=n[d>>2]|0;if(r[e+240>>0]|0){l=0;w=f[e+236>>1]|0;k=0;t=0;A:while(1){if((w|0)>(f[e+238>>1]|0))break;i=n[e+196>>2]|0;a=n[i+(w<<6)>>2]|0;if(!a){a=k;i=t}else{i=n[i+(w<<6)+4>>2]|0;v=n[(n[(n[i>>2]|0)+16>>2]|0)+236>>2]|0;e=0;while(1){if((e|0)>=(a|0))break;r[(n[(n[i+(e<<2)>>2]|0)+16>>2]|0)+157>>0]=0;e=e+1|0}e=(e<<2)+4|0;if(!l)B=Ng(e)|0;else B=pg(t,e)|0;o=0;u=0;while(1){e=n[d>>2]|0;i=n[e+196>>2]|0;a=n[i+(w<<6)>>2]|0;if((a|0)<=(u|0))break;c=n[(n[i+(w<<6)+4>>2]|0)+(((n[e+116>>2]&1|0)==0?a+~u|0:u)<<2)>>2]|0;b=c+16|0;e=0;s=0;while(1){t=n[b>>2]|0;if((e|0)>=(n[t+200>>2]|0)){i=0;a=0;e=t;break}t=s+((ml(A,n[(n[t+196>>2]|0)+(e<<2)>>2]|0)|0)!=0&1)|0;e=e+1|0;s=t}while(1){if((a|0)>=(n[e+192>>2]|0))break;t=i+((ml(A,n[(n[e+188>>2]|0)+(a<<2)>>2]|0)|0)!=0&1)|0;i=t;a=a+1|0;e=n[b>>2]|0}if(i|s)if((s|0)==0&(r[e+157>>0]|0)==0)e=(Il(A,c,B+(o<<2)|0,w)|0)+o|0;else e=o;else{n[B+(o<<2)>>2]=c;e=o+1|0}o=e;u=u+1|0}e:do{if(o){i:do{if(!(n[e+116>>2]&1)){i=B;e=B+(o<<2)|0;while(1){e=e+-4|0;if(i>>>0>=e>>>0){a=0;break i}u=n[i>>2]|0;n[i>>2]=n[e>>2];n[e>>2]=u;i=i+4|0}}else a=0}while(0);while(1){e=n[d>>2]|0;t=n[e+196>>2]|0;i=n[t+(w<<6)>>2]|0;if((a|0)>=(i|0)){o=0;a=t;break}u=n[B+(a<<2)>>2]|0;n[(n[t+(w<<6)+4>>2]|0)+(a<<2)>>2]=u;n[(n[u+16>>2]|0)+236>>2]=a+v;a=a+1|0}while(1){if((o|0)>=(i|0))break e;b=(n[(n[a+(w<<6)+4>>2]|0)+(o<<2)>>2]|0)+16|0;t=n[(n[b>>2]|0)+188>>2]|0;if(t){s=0;i=t;while(1){a=n[i+(s<<2)>>2]|0;e=n[d>>2]|0;if(!a)break;c=n[a>>2]&3;t=n[(n[(n[((c|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;c=n[(n[(n[((c|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(n[e+116>>2]&1))if((t|0)<(c|0))h=36;else e=s;else if((t|0)>(c|0))h=36;else e=s;if((h|0)==36){h=0;if(ml(A,a)|0){h=37;break A}ja(a);Cl(A,a);e=s+-1|0;i=n[(n[b>>2]|0)+188>>2]|0}s=e+1|0}i=n[e+196>>2]|0;a=i;i=n[i+(w<<6)>>2]|0}o=o+1|0}}}while(0);r[(n[(n[(n[41927]|0)+16>>2]|0)+196>>2]|0)+(w<<6)+49>>0]=0;l=B;a=B;i=B}w=w+1|0;k=a;t=i}if((h|0)==37)BA(78762,78628,1561,78801);if(l|0)zN(k)}return}function Gl(A){A=A|0;var e=0,i=0;i=A+16|0;A=n[i>>2]|0;A:do{if(n[A+268>>2]|0){e=f[A+236>>1]|0;while(1){if((e|0)>(f[A+238>>1]|0))break A;n[(n[A+268>>2]|0)+(e<<2)>>2]=n[n[(n[A+196>>2]|0)+(e<<6)+4>>2]>>2];e=e+1|0;A=n[i>>2]|0}}}while(0);return}function ml(A,e){A=A|0;e=e|0;if((n[(n[e+16>>2]|0)+156>>2]|0)!=0?(Ml(A,n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)!=0:0)A=(Ml(A,n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0)!=0&1;else A=0;return A|0}function Il(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0;b=e+16|0;a=n[b>>2]|0;r[a+157>>0]=1;A:do{if((n[a+192>>2]|0)>0){l=0;c=0;while(1){t=n[(n[a+188>>2]|0)+(c<<2)>>2]|0;if(!t)break A;if((ml(A,t)|0)!=0?(s=n[((n[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0,(r[(n[s+16>>2]|0)+157>>0]|0)==0):0)l=(Il(A,s,i+(l<<2)|0,f)|0)+l|0;c=c+1|0;a=n[b>>2]|0}}else l=0}while(0);if((n[a+232>>2]|0)==(f|0)){n[i+(l<<2)>>2]=e;return l+1|0}else BA(78814,78628,1490,78830);return 0}function Cl(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;t=n[e>>2]&3;c=n[((t|0)==2?e:e+-48|0)+40>>2]|0;f=n[(n[c+16>>2]|0)+188>>2]|0;A:do{if(!f){i=e+48|0;o=15}else{b=e+48|0;a=((t|0)==3?e:b)+40|0;i=0;while(1){l=n[f+(i<<2)>>2]|0;if(!l){i=b;o=15;break A}if((n[((n[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)==(n[a>>2]|0))break;else i=i+1|0}Sa(e,l);i=(n[e+16>>2]|0)+172|0;if(!(n[i>>2]|0))n[i>>2]=l;i=n[l+16>>2]|0;if((r[i+112>>0]|0)==4?(s=i+116|0,(n[s>>2]|0)==0):0)n[s>>2]=e;i=n[(n[((n[e>>2]&3|0)==3?e:b)+40>>2]|0)+16>>2]|0;f=n[i+204>>2]|0;if(!f)i=Ng((n[i+208>>2]<<2)+8|0)|0;else i=pg(f,(n[i+208>>2]<<2)+8|0)|0;n[(n[(n[((n[e>>2]&3|0)==3?e:b)+40>>2]|0)+16>>2]|0)+204>>2]=i;t=n[(n[((n[e>>2]&3|0)==3?e:b)+40>>2]|0)+16>>2]|0;c=n[t+204>>2]|0;t=t+208|0;s=n[t>>2]|0;n[t>>2]=s+1;n[c+(s<<2)>>2]=e;e=n[(n[((n[e>>2]&3|0)==3?e:b)+40>>2]|0)+16>>2]|0;n[(n[e+204>>2]|0)+(n[e+208>>2]<<2)>>2]=0}}while(0);if((o|0)==15){o=Ha(c,n[((t|0)==3?e:i)+40>>2]|0,e)|0;b=n[e+16>>2]|0;e=n[o+16>>2]|0;r[e+112>>0]=(r[b+112>>0]|0)==4?4:3;n[e+96>>2]=n[b+96>>2];Ua(A,o)}return}function Ml(A,e){A=A|0;e=e|0;var i=0;i=wl(A,e)|0;return dl(A,e)|0|i|0}function Ql(A,e){A=A|0;e=e|0;var i=0;i=Jg(12)|0;n[i>>2]=A;n[i+4>>2]=e;n[i+8>>2]=Jg(X(e,A)|0)|0;return i|0}function El(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0;v=e+16|0;b=n[v>>2]|0;s=n[(n[(n[A+16>>2]|0)+196>>2]|0)+(n[b+232>>2]<<6)+56>>2]|0;r[b+157>>0]=1;r[b+158>>0]=1;b=(n[(n[(Jn(A)|0)+16>>2]|0)+180>>2]|0)>0;i=n[v>>2]|0;f=n[i+188>>2]|0;A:do{if(f){o=s+4|0;u=s+8|0;e=0;e:while(1){c=n[f+(e<<2)>>2]|0;if(!c){B=i;break A}if(b){if((OV(A,n[((n[c>>2]&3|0)==3?c:c+48|0)+40>>2]|0)|0)!=0?(OV(A,n[((n[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)|0)!=0:0)k=7}else k=7;do{if((k|0)==7){k=0;l=c+16|0;if(n[(n[l>>2]|0)+156>>2]|0){i=n[c>>2]&3;a=c+-48|0;w=n[(n[((i|0)==2?c:a)+40>>2]|0)+16>>2]|0;t=n[w+284>>2]|0;f=(t|0)<(n[s>>2]|0);if((r[w+158>>0]|0)==1){if(!f){k=10;break e}i=n[(n[(n[((i|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=n[o>>2]|0;if((i|0)>=(f|0)){k=12;break e}r[(n[u>>2]|0)+((X(f,t)|0)+i)>>0]=1;ja(c);e=e+-1|0;if((r[(n[l>>2]|0)+112>>0]|0)==4)break;Cl(A,c);break}else{if(!f){k=16;break e}i=n[(n[(n[((i|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=n[o>>2]|0;if((i|0)>=(f|0)){k=18;break e}r[(n[u>>2]|0)+((X(f,i)|0)+t)>>0]=1;i=n[((n[c>>2]&3|0)==2?c:a)+40>>2]|0;if(r[(n[i+16>>2]|0)+157>>0]|0)break;El(A,i);break}}}}while(0);f=n[v>>2]|0;e=e+1|0;i=f;f=n[f+188>>2]|0}if((k|0)==10)BA(78840,78628,1251,78872);else if((k|0)==12)BA(78884,78628,1252,78872);else if((k|0)==16)BA(78840,78628,1260,78872);else if((k|0)==18)BA(78884,78628,1261,78872)}else B=i}while(0);r[B+158>>0]=0;return}function yl(A,e){A=A|0;e=e|0;var i=0;i=CV(A)|0;while(1){if(!i)break;Vl(A,i,e);i=MV(A,i)|0}return}function Yl(A){A=A|0;var e=0,i=0,f=0,a=0,l=0;a=v;v=v+16|0;f=a;e=CV(A)|0;while(1){if(!e)break;i=XI(e,n[42204]|0,0)|0;A:do{if(i|0){switch(r[i>>0]|0){case 0:break A;case 111:{if(!(az(i,78916)|0)){Vl(A,e,1);break A}break}case 105:{if(!(az(i,83698)|0)){Vl(A,e,0);break A}break}default:{}}l=qY(e)|0;n[f>>2]=i;n[f+4>>2]=l;Gy(1,78951,f)|0}}while(0);e=MV(A,e)|0}v=a;return}function Vl(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0;c=n[41926]|0;l=e+16|0;f=n[l>>2]|0;A:do{if(!(n[f+212>>2]|0)){t=(i|0)!=0;e:do{if(t){a=0;e=0;i=f;while(1){f=n[(n[i+180>>2]|0)+(a<<2)>>2]|0;if(!f)break e;if(!(Wl(f)|0)){n[c+(e<<2)>>2]=f;e=e+1|0;i=n[l>>2]|0}a=a+1|0}}else{a=0;e=0;i=f;while(1){f=n[(n[i+172>>2]|0)+(a<<2)>>2]|0;if(!f)break e;if(!(Wl(f)|0)){n[c+(e<<2)>>2]=f;e=e+1|0;i=n[l>>2]|0}a=a+1|0}}}while(0);if((e|0)>=2){n[c+(e<<2)>>2]=0;$p(c,e,4,13);l=t?2:3;a=t?-1:1;f=1;while(1){e=n[c+(f<<2)>>2]|0;if(!e)break A;i=n[c+(f+-1<<2)>>2]|0;i=n[((n[i>>2]&3|0)==(l|0)?i:i+(a*48|0)|0)+40>>2]|0;e=n[((n[e>>2]&3|0)==(l|0)?e:e+(a*48|0)|0)+40>>2]|0;if(Wa(i,e)|0)break A;t=Ha(i,e,0)|0;r[(n[t+16>>2]|0)+112>>0]=4;Ua(A,t);f=f+1|0}}}}while(0);return}function Wl(A){A=A|0;var e=0;while(1){e=n[(n[A+16>>2]|0)+116>>2]|0;if(!e)break;else A=e}e=n[A>>2]&3;return(n[(n[(n[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(n[(n[(n[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function Jl(A,e){A=A|0;e=e|0;return((n[n[A>>2]>>2]|0)>>>4)-((n[n[e>>2]>>2]|0)>>>4)|0}function Nl(A){A=A|0;var e=0,i=0,r=0,a=0,l=0,t=0,c=0;r=n[A+16>>2]|0;a=r+220|0;l=n[a>>2]|0;if((l|0)>=2){t=r+216|0;A=0;i=0;while(1){if((i|0)>=(l|0))break;e=n[(n[t>>2]|0)+(i<<2)>>2]|0;if(A|0)n[(n[A+16>>2]|0)+164>>2]=e;c=n[e+16>>2]|0;n[c+168>>2]=A;A=e;e=c;while(1){e=n[e+164>>2]|0;if(!e)break;A=e;e=n[e+16>>2]|0}i=i+1|0}n[a>>2]=1;n[r+192>>2]=n[n[r+216>>2]>>2];f[r+236>>1]=n[41928];f[r+238>>1]=n[41929]}return}function zl(A){A=A|0;var e=0,i=0,a=0,l=0,t=0,c=0;t=n[41927]|0;c=t+16|0;i=n[c>>2]|0;a=0;l=f[i+236>>1]|0;while(1){if((l|0)>=(f[i+238>>1]|0))break;A=n[i+196>>2]|0;if(!(r[A+(l<<6)+49>>0]|0)){e=At(t,l)|0;A=n[c>>2]|0;i=n[A+196>>2]|0;n[i+(l<<6)+52>>2]=e;r[i+(l<<6)+49>>0]=1}else{e=n[A+(l<<6)+52>>2]|0;A=i}a=e+a|0;l=l+1|0;i=A}return a|0}function pl(A){A=A|0;var e=0,i=0,r=0,a=0,l=0,t=0;A=n[A+16>>2]|0;a=f[A+238>>1]|0;l=A+196|0;A=f[A+236>>1]|0;while(1){if((A|0)>(a|0))break;r=n[l>>2]|0;i=n[r+(A<<6)>>2]|0;r=r+(A<<6)+4|0;e=0;while(1){if((e|0)>=(i|0))break;t=n[(n[(n[r>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;s[t+16>>3]=+(n[t+236>>2]|0);e=e+1|0}A=A+1|0}return}function Rl(A,e){A=A|0;e=e|0;var i=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0;w=v;v=v+16|0;b=w;o=A+16|0;u=RI(n[(n[o>>2]|0)+232>>2]|0)|0;c=n[o>>2]|0;i=c+192|0;a=i;while(1){a=n[a>>2]|0;if(!a)break;a=n[a+16>>2]|0;r[a+157>>0]=0;a=a+164|0}l=f[c+238>>1]|0;t=c+196|0;a=f[c+236>>1]|0;while(1){if((a|0)>(l|0))break;n[(n[t>>2]|0)+(a<<6)>>2]=0;a=a+1|0}t=(e|0)==0;while(1){a=n[i>>2]|0;if(!a)break;l=a+16|0;i=n[l>>2]|0;if((n[n[(t?i+172|0:i+180|0)>>2]>>2]|0)==0?(s=i+157|0,(r[s>>0]|0)==0):0){r[s>>0]=1;HI(u,a);while(1){i=FI(u)|0;if(!i)break;if((r[(n[i+16>>2]|0)+159>>0]|0)==7){hE(A,i,e,u);continue}else{ql(A,i);$l(u,i,e);continue}}i=n[l>>2]|0}i=i+164|0}if(FI(u)|0)Gy(1,79159,b)|0;i=n[o>>2]|0;c=f[i+236>>1]|0;while(1){if((c|0)>(f[i+238>>1]|0))break;r[(n[(n[(n[41927]|0)+16>>2]|0)+196>>2]|0)+(c<<6)+49>>0]=0;if((n[i+116>>2]&1|0)!=0?(B=n[i+196>>2]|0,k=n[B+(c<<6)>>2]|0,(k|0)>0):0){a=n[B+(c<<6)+4>>2]|0;l=k+-1|0;t=(l|0)/2|0;i=0;while(1){if((i|0)>(t|0))break;Ul(n[a+(i<<2)>>2]|0,n[a+(l-i<<2)>>2]|0);i=i+1|0}i=n[o>>2]|0}c=c+1|0}if((Jn(A)|0)==(A|0)?(zl(0)|0)>0:0)Fl(A,0);PI(u);v=w;return}function Pl(A){A=A|0;var e=0,i=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,v=0;u=A+16|0;A=n[u>>2]|0;i=f[A+236>>1]|0;e=f[A+238>>1]|0;b=e<<16>>16;o=A+196|0;a=i;while(1){if((a|0)>(b|0))break;c=n[o>>2]|0;t=n[c+(a<<6)>>2]|0;c=c+(a<<6)+4|0;l=0;while(1){if((l|0)>=(t|0))break;v=n[(n[(n[c>>2]|0)+(l<<2)>>2]|0)+16>>2]|0;n[v+236>>2]=~~+s[v+16>>3];l=l+1|0}a=a+1|0}while(1){if((i|0)>(e<<16>>16|0))break;r[(n[(n[(n[41927]|0)+16>>2]|0)+196>>2]|0)+(i<<6)+49>>0]=0;v=n[A+196>>2]|0;$p(n[v+(i<<6)+4>>2]|0,n[v+(i<<6)>>2]|0,4,14);v=n[u>>2]|0;i=i+1|0;e=f[v+238>>1]|0;A=v}return}function Hl(A,e){A=A|0;e=e|0;var i=0,r=0,a=0;a=((e|0)%4|0|0)<2&1;i=n[A+16>>2]|0;if(!(e&1)){e=f[i+236>>1]|0;r=1;i=f[i+238>>1]|0;e=(e<<16>>16<=(f[(n[(n[41927]|0)+16>>2]|0)+236>>1]|0)&1)+(e<<16>>16)|0}else{e=f[i+238>>1]|0;r=-1;i=f[i+236>>1]|0;e=((e<<16>>16>=(f[(n[(n[41927]|0)+16>>2]|0)+238>>1]|0))<<31>>31)+(e<<16>>16)|0}i=r+i|0;while(1){if((e|0)==(i|0))break;Ol(A,e,a,(Sl(A,e,e-r|0)|0)&255);e=e+r|0}Fl(A,a^1);return}function Fl(A,e){A=A|0;e=e|0;var i=0,a=0,l=0,t=0,c=0,s=0;s=A+16|0;a=n[s>>2]|0;t=f[a+236>>1]|0;c=f[a+238>>1]|0;l=a+196|0;i=t<<16>>16;while(1){if((i|0)>(c|0)){l=t;break}r[(n[l>>2]|0)+(i<<6)+48>>0]=1;i=i+1|0}while(1){i=0;l=l<<16>>16;while(1){if((l|0)>(f[a+238>>1]|0))break;if(r[(n[a+196>>2]|0)+(l<<6)+48>>0]|0){i=(jl(A,l,e)|0)+i|0;a=n[s>>2]|0}l=l+1|0}if((i|0)<=0)break;l=f[a+236>>1]|0}return}function Ll(A){A=A|0;var e=0,i=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0,k=0;v=A+16|0;e=n[v>>2]|0;u=f[e+238>>1]|0;A:while(1){if((u|0)<(f[e+236>>1]|0)){e=16;break}i=n[e+196>>2]|0;r[i+(u<<6)+48>>0]=0;B=(u|0)>0;k=u+1|0;a=0;e:while(1){b=(n[i+(u<<6)>>2]|0)+-1|0;o=i+(u<<6)+4|0;s=i+(k<<6)|0;while(1){if((a|0)>=(b|0))break e;c=n[o>>2]|0;t=n[c+(a<<2)>>2]|0;a=a+1|0;c=n[c+(a<<2)>>2]|0;if((n[(n[t+16>>2]|0)+236>>2]|0)>=(n[(n[c+16>>2]|0)+236>>2]|0)){e=7;break A}if(Dl(A,t,c)|0)continue;if(B){i=Xl(t,c)|0;l=Xl(c,t)|0}else{i=0;l=0}if((n[s>>2]|0)>0){i=(Tl(t,c)|0)+i|0;l=(Tl(c,t)|0)+l|0}if((l|0)<=(i|0))break}xl(A,u,t,c);e=n[v>>2]|0;i=n[e+196>>2]|0}u=u+-1|0}if((e|0)==7)BA(79110,78628,721,79136);else if((e|0)==16)return}function Dl(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0;c=n[e+16>>2]|0;t=n[c+212>>2]|0;f=n[i+16>>2]|0;a=n[f+212>>2]|0;l=(t|0)!=(a|0);do{if(!(r[173889]|0))if((a|0)==0|((t|0)==0|l^1))s=9;else{if((r[c+159>>0]|0)==7?(r[c+156>>0]|0)==1:0){A=0;break}if((r[f+159>>0]|0)==7?(r[f+156>>0]|0)==1:0){A=0;break}A=1}else if(l)A=1;else s=9}while(0);if((s|0)==9){f=n[A+16>>2]|0;A=n[(n[f+196>>2]|0)+(n[c+232>>2]<<6)+56>>2]|0;if(!A)A=0;else{c=(n[f+116>>2]&1|0)==0;s=X(n[A+4>>2]|0,n[(n[(c?e:i)+16>>2]|0)+284>>2]|0)|0;A=r[(n[A+8>>2]|0)+((n[(n[(c?i:e)+16>>2]|0)+284>>2]|0)+s)>>0]|0}}return A|0}function Xl(A,e){A=A|0;e=e|0;var i=0,r=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0;b=A+16|0;t=n[(n[e+16>>2]|0)+172>>2]|0;e=0;while(1){A=n[t>>2]|0;if(!A)break;l=n[A+16>>2]|0;c=f[l+154>>1]|0;a=n[(n[(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;l=l+16|0;r=n[(n[b>>2]|0)+172>>2]|0;A=e;while(1){e=n[r>>2]|0;if(!e)break;i=(n[(n[(n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-a|0;if((i|0)<=0){if((i|0)==0?(o=n[e+16>>2]|0,+s[o+16>>3]>+s[l>>3]):0){e=o;u=9}}else{e=n[e+16>>2]|0;u=9}if((u|0)==9){u=0;A=(X(f[e+154>>1]|0,c)|0)+A|0}r=r+4|0}t=t+4|0;e=A}return e|0}function Tl(A,e){A=A|0;e=e|0;var i=0,r=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0;b=A+16|0;t=n[(n[e+16>>2]|0)+180>>2]|0;e=0;while(1){A=n[t>>2]|0;if(!A)break;l=n[A+16>>2]|0;c=f[l+154>>1]|0;a=n[(n[(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;l=l+56|0;r=n[(n[b>>2]|0)+180>>2]|0;A=e;while(1){e=n[r>>2]|0;if(!e)break;i=(n[(n[(n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-a|0;if((i|0)<=0){if((i|0)==0?(o=n[e+16>>2]|0,+s[o+56>>3]>+s[l>>3]):0){e=o;u=9}}else{e=n[e+16>>2]|0;u=9}if((u|0)==9){u=0;A=(X(f[e+154>>1]|0,c)|0)+A|0}r=r+4|0}t=t+4|0;e=A}return e|0}function xl(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0;t=r[(n[i+16>>2]|0)+156>>0]|0;if(t<<24>>24!=(r[(n[f+16>>2]|0)+156>>0]|0)){c=A+16|0;b=n[(n[c>>2]|0)+196>>2]|0;s=n[b+(e<<6)>>2]|0;b=b+(e<<6)+4|0;A=0;a=0;l=0;while(1){if((A|0)>=(s|0))break;v=(r[(n[(n[(n[b>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;A=A+1|0;a=a+(v&1)|0;l=l+((v^1)&1)|0}t=t<<24>>24==0;l=(a|0)<(l|0)?t?i:f:t?f:i;t=0;A=0;while(1){if((A|0)>=(s|0))break;t=(n[(n[b>>2]|0)+(A<<2)>>2]|0)==(l|0)?A:t;A=A+1|0}v=(r[(n[l+16>>2]|0)+156>>0]|0)==0&1;u=0;a=t;while(1){A=a+-1|0;if((a|0)<=0){o=0;A=t;break}if((r[(n[(n[(n[b>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(v|0)){o=0;A=t;break}u=u+1|0;a=A}while(1){A=A+1|0;if((A|0)>=(s|0))break;if((r[(n[(n[(n[b>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(v|0))break;o=o+1|0}Ul(i,f);c=n[(n[c>>2]|0)+196>>2]|0;s=n[c+(e<<6)>>2]|0;c=c+(e<<6)+4|0;A=0;while(1){if((A|0)>=(s|0)){l=0;a=t;break}t=(n[(n[c>>2]|0)+(A<<2)>>2]|0)==(l|0)?A:t;A=A+1|0}while(1){A=a+-1|0;if((a|0)<=0){a=0;A=t;break}if((r[(n[(n[(n[c>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(v|0)){a=0;A=t;break}l=l+1|0;a=A}while(1){A=A+1|0;if((A|0)>=(s|0))break;if((r[(n[(n[(n[c>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(v|0))break;a=a+1|0}e=l-a|0;v=u-o|0;if((((e|0)>-1?e:0-e|0)|0)>(((v|0)>-1?v:0-v|0)|0))Ul(i,f)}return}function Ul(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0;f=n[A+16>>2]|0;r=n[f+232>>2]|0;f=f+236|0;i=n[f>>2]|0;a=e+16|0;l=n[(n[a>>2]|0)+236>>2]|0;n[f>>2]=l;f=(n[41927]|0)+16|0;n[(n[(n[(n[f>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(l<<2)>>2]=A;n[(n[a>>2]|0)+236>>2]=i;n[(n[(n[(n[f>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(i<<2)>>2]=e;return}function jl(A,e,i){A=A|0;e=e|0;i=i|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0,d=0;k=A+16|0;u=n[(n[k>>2]|0)+196>>2]|0;r[u+(e<<6)+48>>0]=0;w=(e|0)>0;d=e+1|0;v=(i|0)!=0;B=e+-1|0;a=0;t=0;i=u;A:while(1){b=(n[i+(e<<6)>>2]|0)+-1|0;o=i+(e<<6)+4|0;l=i+(d<<6)|0;u=a;while(1){if((u|0)>=(b|0)){i=17;break A}s=n[o>>2]|0;c=n[s+(u<<2)>>2]|0;u=u+1|0;s=n[s+(u<<2)>>2]|0;if((n[(n[c+16>>2]|0)+236>>2]|0)>=(n[(n[s+16>>2]|0)+236>>2]|0)){i=5;break A}if(Dl(A,c,s)|0)continue;if(w){i=Xl(c,s)|0;a=Xl(s,c)|0}else{i=0;a=0}if((n[l>>2]|0)>0){i=(Tl(c,s)|0)+i|0;a=(Tl(s,c)|0)+a|0}if((i|0)>(a|0))break;if((i|0)==(a|0)&(v&(i|0)>0)){i=a;break}}Ul(c,s);t=i-a+t|0;a=n[(n[(n[41927]|0)+16>>2]|0)+196>>2]|0;r[a+(e<<6)+49>>0]=0;l=n[k>>2]|0;i=n[l+196>>2]|0;r[i+(e<<6)+48>>0]=1;if((f[l+236>>1]|0)<(e|0)){r[a+(B<<6)+49>>0]=0;r[i+(B<<6)+48>>0]=1}if((f[l+238>>1]|0)<=(e|0)){a=u;continue}r[a+(d<<6)+49>>0]=0;r[i+(d<<6)+48>>0]=1;a=u}if((i|0)==5)BA(79110,78628,770,79144);else if((i|0)==17)return t|0;return 0}function Sl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,l=0.0,t=0,c=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0;B=n[41925]|0;k=A+16|0;A=n[(n[k>>2]|0)+196>>2]|0;w=n[A+(e<<6)+4>>2]|0;u=(i|0)>(e|0);v=B+4|0;o=0;while(1){i=n[A+(e<<6)>>2]|0;if((o|0)>=(i|0)){A=0;t=0;break}b=(n[w+(o<<2)>>2]|0)+16|0;A=n[b>>2]|0;A:do{if(u){c=n[A+180>>2]|0;A=0;t=0;while(1){i=n[c+(t<<2)>>2]|0;if(!i)break A;r=n[i+16>>2]|0;if((f[r+154>>1]|0)>0){n[B+(A<<2)>>2]=n[(n[(n[((n[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|a[r+88>>0];A=A+1|0}t=t+1|0}}else{c=n[A+172>>2]|0;t=0;A=0;while(1){i=n[c+(t<<2)>>2]|0;if(!i)break A;r=n[i+16>>2]|0;if((f[r+154>>1]|0)>0){n[B+(A<<2)>>2]=n[(n[(n[((n[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|a[r+48>>0];A=A+1|0}t=t+1|0}}}while(0);A:do{switch(A|0){case 0:{l=-1.0;break}case 1:{l=+(n[B>>2]|0);break}case 2:{l=+(((n[v>>2]|0)+(n[B>>2]|0)|0)/2|0|0);break}default:{$p(B,A,4,12);i=(A|0)/2|0;if(A&1|0){l=+(n[B+(i<<2)>>2]|0);break A}t=n[B+(i<<2)>>2]|0;r=(n[B+(A+-1<<2)>>2]|0)-t|0;A=n[B+(i+-1<<2)>>2]|0;i=A-(n[B>>2]|0)|0;if((i|0)==(r|0)){l=+((A+t|0)/2|0|0);break A}else{l=+(((X(i,t)|0)+(X(A,r)|0)|0)/(i+r|0)|0|0);break A}}}}while(0);s[(n[b>>2]|0)+240>>3]=l;o=o+1|0;A=n[(n[k>>2]|0)+196>>2]|0}while(1){if((t|0)>=(i|0))break;r=n[w+(t<<2)>>2]|0;B=n[r+16>>2]|0;if((n[B+184>>2]|0)==0?(n[B+176>>2]|0)==0:0){A=(Kl(r)|0|A&255)&255;i=n[(n[(n[k>>2]|0)+196>>2]|0)+(e<<6)>>2]|0}t=t+1|0}return A|0}function Ol(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,b=0,o=0.0,u=0,v=0,B=0,k=0,w=0,d=0;v=n[(n[A+16>>2]|0)+196>>2]|0;d=n[v+(e<<6)+4>>2]|0;v=n[v+(e<<6)>>2]|0;k=(i|0)!=0;B=(f|i|0)==0;f=0;i=v;v=d+(v<<2)|0;while(1){u=i+-1|0;if((i|0)>0)i=d;else break;A:while(1){e:while(1){if(i>>>0>=v>>>0)break A;while(1){if(i>>>0>=v>>>0)break A;b=n[i>>2]|0;o=+s[(n[b+16>>2]|0)+240>>3];if(!(o<0.0))break;i=i+4|0}c=0;while(1){a=c<<24>>24==0;while(1){i=i+4|0;if(i>>>0>=v>>>0)break A;if(a){a=11;break}l=n[i>>2]|0;if(!(n[(n[l+16>>2]|0)+212>>2]|0)){a=13;break}}if((a|0)==11){l=n[i>>2]|0;t=l}else if((a|0)==13)t=l;if(Dl(A,b,t)|0)continue e;a=n[l+16>>2]|0;if(+s[a+240>>3]>=0.0)break;c=(n[a+212>>2]|0)==0?c:1}a=~~o;c=~~+s[(n[l+16>>2]|0)+240>>3];if((a|0)>(c|0)|k&(a|0)==(c|0))break}Ul(b,t);f=f+1|0}i=u;v=B?v+-4|0:v}if(f|0?(w=n[(n[(n[41927]|0)+16>>2]|0)+196>>2]|0,r[w+(e<<6)+49>>0]=0,(e|0)>0):0)r[w+(e+-1<<6)+49>>0]=0;return}function Kl(A){A=A|0;var e=0.0,i=0,r=0,f=0,a=0;a=n[A+16>>2]|0;if((n[a+200>>2]|0)>0){f=n[a+196>>2]|0;A=n[f>>2]|0;A=n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;i=1;while(1){r=n[f+(i<<2)>>2]|0;if(!r)break;r=n[((n[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0;A=(n[(n[r+16>>2]|0)+236>>2]|0)>(n[(n[A+16>>2]|0)+236>>2]|0)?r:A;i=i+1|0}e=+s[(n[A+16>>2]|0)+240>>3];if(!(e>=0.0))A=1;else{s[a+240>>3]=e+1.0;A=0}}else if((n[a+192>>2]|0)>0){r=n[a+188>>2]|0;i=n[r>>2]|0;A=1;i=n[((n[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0;while(1){f=n[r+(A<<2)>>2]|0;if(!f)break;f=n[((n[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;A=A+1|0;i=(n[(n[f+16>>2]|0)+236>>2]|0)<(n[(n[i+16>>2]|0)+236>>2]|0)?f:i}e=+s[(n[i+16>>2]|0)+240>>3];if(e>0.0){s[a+240>>3]=e+-1.0;A=0}else A=1}else A=1;return A|0}function _l(A,e){A=A|0;e=e|0;return(n[(n[(n[A>>2]|0)+16>>2]|0)+236>>2]|0)-(n[(n[(n[e>>2]|0)+16>>2]|0)+236>>2]|0)|0}function ql(A,e){A=A|0;e=e|0;var i=0,r=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0;B=v;v=v+96|0;u=B+64|0;o=B+48|0;l=B+24|0;r=B;c=e+16|0;s=n[(n[c>>2]|0)+232>>2]|0;b=A+16|0;i=n[(n[b>>2]|0)+196>>2]|0;t=n[i+(s<<6)>>2]|0;do{if((n[i+(s<<6)+8>>2]|0)>=1){n[(n[i+(s<<6)+4>>2]|0)+(t<<2)>>2]=e;n[(n[c>>2]|0)+236>>2]=t;A=n[b>>2]|0;r=n[A+196>>2]|0;i=r+(s<<6)|0;a=n[i>>2]|0;n[i>>2]=a+1;if((a|0)>=(n[r+(s<<6)+8>>2]|0))BA(79224,78628,1346,79260);a=n[(n[(n[(n[41927]|0)+16>>2]|0)+196>>2]|0)+(s<<6)+8>>2]|0;if((t|0)>(a|0)){b=qY(e)|0;o=n[(n[c>>2]|0)+236>>2]|0;u=n[(n[(n[(n[41927]|0)+16>>2]|0)+196>>2]|0)+(s<<6)+8>>2]|0;n[l>>2]=1359;n[l+4>>2]=b;n[l+8>>2]=o;n[l+12>>2]=s;n[l+16>>2]=u;Gy(1,79276,l)|0;break}i=f[A+236>>1]|0;A=f[A+238>>1]|0;if((s|0)<(i|0)|(s|0)>(A<<16>>16|0)){n[o>>2]=1364;n[o+4>>2]=s;n[o+8>>2]=i;n[o+12>>2]=A<<16>>16;Gy(1,79349,o)|0;break}if(((n[r+(s<<6)+4>>2]|0)+(t<<2)|0)>>>0>((n[r+(s<<6)+12>>2]|0)+(a<<2)|0)>>>0){t=qY(e)|0;o=n[(n[b>>2]|0)+196>>2]|0;b=(n[o+(s<<6)+4>>2]|0)+(n[(n[c>>2]|0)+236>>2]<<2)|0;o=(n[o+(s<<6)+12>>2]|0)+(n[(n[(n[(n[41927]|0)+16>>2]|0)+196>>2]|0)+(s<<6)+8>>2]<<2)|0;n[u>>2]=1370;n[u+4>>2]=s;n[u+8>>2]=t;n[u+12>>2]=b;n[u+16>>2]=s;n[u+20>>2]=s;n[u+24>>2]=o;Gy(1,79410,u)|0}}else{o=qY(A)|0;u=qY(e)|0;n[r>>2]=1339;n[r+4>>2]=o;n[r+8>>2]=u;n[r+12>>2]=s;n[r+16>>2]=t;Gy(1,79169,r)|0}}while(0);v=B;return}function $l(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0;l=e+16|0;A:do{if(!i){a=0;while(1){e=n[l>>2]|0;if((a|0)>=(n[e+184>>2]|0))break A;e=n[(n[e+180>>2]|0)+(a<<2)>>2]|0;i=e+-48|0;f=(n[(n[((n[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+157|0;if(!(r[f>>0]|0)){r[f>>0]=1;HI(A,n[((n[e>>2]&3|0)==2?e:i)+40>>2]|0)}a=a+1|0}}else{a=0;while(1){e=n[l>>2]|0;if((a|0)>=(n[e+176>>2]|0))break A;e=n[(n[e+172>>2]|0)+(a<<2)>>2]|0;i=e+48|0;f=(n[(n[((n[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0)+157|0;if(!(r[f>>0]|0)){r[f>>0]=1;HI(A,n[((n[e>>2]&3|0)==3?e:i)+40>>2]|0)}a=a+1|0}}}while(0);return}function At(A,e){A=A|0;e=e|0;var i=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0;Z=v;v=v+16|0;g=Z;a=A+16|0;i=n[(n[a>>2]|0)+196>>2]|0;d=n[i+(e<<6)+4>>2]|0;h=e+1|0;A=n[(n[(n[(n[41927]|0)+16>>2]|0)+196>>2]|0)+(h<<6)>>2]|0;if((n[41931]|0)>(A|0))k=n[41932]|0;else{A=A+1|0;n[41931]=A;i=n[41932]|0;if(!i)A=Ng(A<<2)|0;else A=pg(i,A<<2)|0;n[41932]=A;i=n[(n[a>>2]|0)+196>>2]|0;k=A}w=i+(h<<6)|0;A=0;while(1){if((A|0)>=(n[w>>2]|0))break;n[k+(A<<2)>>2]=0;A=A+1|0}B=i+(e<<6)|0;u=0;l=0;A=0;c=k;while(1){s=n[B>>2]|0;if((u|0)>=(s|0))break;o=n[(n[(n[d+(u<<2)>>2]|0)+16>>2]|0)+180>>2]|0;A:do{if((l|0)>0){b=0;while(1){a=n[o+(b<<2)>>2]|0;if(!a)break A;s=a+16|0;t=n[(n[(n[((n[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){a=t+1|0;if((t|0)>=(l|0))break;t=a;A=(X(n[c+(a<<2)>>2]|0,f[(n[s>>2]|0)+154>>1]|0)|0)+A|0}b=b+1|0}}}while(0);t=0;while(1){a=n[o+(t<<2)>>2]|0;if(!a)break;c=n[(n[(n[((n[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;b=k+(c<<2)|0;n[b>>2]=(n[b>>2]|0)+(f[(n[a+16>>2]|0)+154>>1]|0);l=(c|0)>(l|0)?c:l;t=t+1|0;c=k}u=u+1|0}t=i+(e<<6)+4|0;l=0;while(1){if((l|0)>=(s|0))break;a=n[(n[(n[t>>2]|0)+(l<<2)>>2]|0)+16>>2]|0;if(r[a+145>>0]|0){e=a+180|0;n[g>>2]=n[e>>2];n[g+4>>2]=n[e+4>>2];A=(et(g,1)|0)+A|0}l=l+1|0}t=n[w>>2]|0;l=i+(h<<6)+4|0;a=0;while(1){if((a|0)>=(t|0))break;i=n[(n[(n[l>>2]|0)+(a<<2)>>2]|0)+16>>2]|0;if(r[i+145>>0]|0){h=i+172|0;n[g>>2]=n[h>>2];n[g+4>>2]=n[h+4>>2];A=(et(g,-1)|0)+A|0}a=a+1|0}v=Z;return A|0}function et(A,e){A=A|0;e=e|0;var i=0,r=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0;u=(e|0)<1;b=n[A>>2]|0;e=0;A=0;A:while(1){o=n[b+(e<<2)>>2]|0;if(!o)break;e=e+1|0;if(u){t=o+48|0;c=o+16|0;l=e;while(1){i=n[b+(l<<2)>>2]|0;if(!i)continue A;r=n[i+16>>2]|0;a=n[c>>2]|0;if((+s[r+56>>3]-+s[a+56>>3])*+((n[(n[(n[((n[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(n[(n[(n[((n[o>>2]&3|0)==3?o:t)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)A=(X(f[r+154>>1]|0,f[a+154>>1]|0)|0)+A|0;l=l+1|0}}else{t=o+-48|0;c=o+16|0;l=e;while(1){i=n[b+(l<<2)>>2]|0;if(!i)continue A;r=n[i+16>>2]|0;a=n[c>>2]|0;if((+s[r+16>>3]-+s[a+16>>3])*+((n[(n[(n[((n[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(n[(n[(n[((n[o>>2]&3|0)==2?o:t)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)A=(X(f[r+154>>1]|0,f[a+154>>1]|0)|0)+A|0;l=l+1|0}}}return A|0}function it(A){A=A|0;var e=0.0,i=0.0;n[41930]=8;n[42180]=24;s[20878]=.995;A=fY(A,79532)|0;if(A|0?(e=+AP(A),e>0.0):0){i=e*+(n[41930]|0);n[41930]=~~(i>1.0?i:1.0);e=e*+(n[42180]|0);n[42180]=~~(e>1.0?e:1.0)}return}function rt(A){A=A|0;var e=0,i=0;i=(f[(n[A+16>>2]|0)+238>>1]|0)+2|0;e=Jg(i<<2)|0;XC(A,e,i,0)|0;zN(e);return}function ft(A,e){A=A|0;e=e|0;if((+s[A+16>>3]>=+s[e>>3]?+s[e+16>>3]>=+s[A>>3]:0)?+s[A+24>>3]>=+s[e+8>>3]:0)A=+s[e+24>>3]>=+s[A+8>>3]&1;else A=0;return A|0}function nt(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;o=v;v=v+96|0;s=o+64|0;c=o+48|0;t=o+32|0;f=o+16|0;a=o;b=A+4|0;i=n[b>>2]|0;if(!i)BA(94703,92638,1637,94711);r=n[A>>2]|0;n[a>>2]=n[r>>2];n[a+4>>2]=n[r+4>>2];n[a+8>>2]=n[r+8>>2];n[a+12>>2]=n[r+12>>2];r=1;while(1){if((r|0)>=(i|0)){l=7;break}i=(n[A>>2]|0)+(r<<4)|0;n[f>>2]=n[i>>2];n[f+4>>2]=n[i+4>>2];n[f+8>>2]=n[i+8>>2];n[f+12>>2]=n[i+12>>2];n[t>>2]=n[i>>2];n[t+4>>2]=n[i+4>>2];n[t+8>>2]=n[i+8>>2];n[t+12>>2]=n[i+12>>2];n[c>>2]=n[a>>2];n[c+4>>2]=n[a+4>>2];n[c+8>>2]=n[a+8>>2];n[c+12>>2]=n[a+12>>2];n[s>>2]=n[e>>2];n[s+4>>2]=n[e+4>>2];n[s+8>>2]=n[e+8>>2];n[s+12>>2]=n[e+12>>2];n[s+16>>2]=n[e+16>>2];n[s+20>>2]=n[e+20>>2];n[s+24>>2]=n[e+24>>2];n[s+28>>2]=n[e+28>>2];if((tg(t,c,s)|0)!=-1){i=1;break}n[a>>2]=n[f>>2];n[a+4>>2]=n[f+4>>2];n[a+8>>2]=n[f+8>>2];n[a+12>>2]=n[f+12>>2];r=r+1|0;i=n[b>>2]|0}do{if((l|0)==7){i=n[A+8>>2]|0;if(i|0?(a=A+16|0,l=n[A>>2]|0,n[t>>2]=n[a>>2],n[t+4>>2]=n[a+4>>2],n[t+8>>2]=n[a+8>>2],n[t+12>>2]=n[a+12>>2],n[c>>2]=n[l>>2],n[c+4>>2]=n[l+4>>2],n[c+8>>2]=n[l+8>>2],n[c+12>>2]=n[l+12>>2],n[s>>2]=n[e>>2],n[s+4>>2]=n[e+4>>2],n[s+8>>2]=n[e+8>>2],n[s+12>>2]=n[e+12>>2],n[s+16>>2]=n[e+16>>2],n[s+20>>2]=n[e+20>>2],n[s+24>>2]=n[e+24>>2],n[s+28>>2]=n[e+28>>2],(at(t,c,i,s)|0)<<24>>24):0){i=1;break}i=n[A+12>>2]|0;if(i|0?(l=A+32|0,b=(n[A>>2]|0)+((n[b>>2]|0)+-1<<4)|0,n[t>>2]=n[l>>2],n[t+4>>2]=n[l+4>>2],n[t+8>>2]=n[l+8>>2],n[t+12>>2]=n[l+12>>2],n[c>>2]=n[b>>2],n[c+4>>2]=n[b+4>>2],n[c+8>>2]=n[b+8>>2],n[c+12>>2]=n[b+12>>2],n[s>>2]=n[e>>2],n[s+4>>2]=n[e+4>>2],n[s+8>>2]=n[e+8>>2],n[s+12>>2]=n[e+12>>2],n[s+16>>2]=n[e+16>>2],n[s+20>>2]=n[e+20>>2],n[s+24>>2]=n[e+24>>2],n[s+28>>2]=n[e+28>>2],(at(t,c,i,s)|0)<<24>>24):0){i=1;break}i=0}}while(0);v=o;return i|0}function at(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0.0;b=v;v=v+160|0;a=b+144|0;f=b+128|0;o=b+96|0;l=b+64|0;t=b+32|0;c=b;u=+s[r+16>>3];n[f>>2]=n[A>>2];n[f+4>>2]=n[A+4>>2];n[f+8>>2]=n[A+8>>2];n[f+12>>2]=n[A+12>>2];n[a>>2]=n[e>>2];n[a+4>>2]=n[e+4>>2];n[a+8>>2]=n[e+8>>2];n[a+12>>2]=n[e+12>>2];ed(o,f,a,1.0,i);if(((u>=+s[o>>3]?(n[f>>2]=n[A>>2],n[f+4>>2]=n[A+4>>2],n[f+8>>2]=n[A+8>>2],n[f+12>>2]=n[A+12>>2],n[a>>2]=n[e>>2],n[a+4>>2]=n[e+4>>2],n[a+8>>2]=n[e+8>>2],n[a+12>>2]=n[e+12>>2],ed(l,f,a,1.0,i),+s[l+16>>3]>=+s[r>>3]):0)?(u=+s[r+24>>3],n[f>>2]=n[A>>2],n[f+4>>2]=n[A+4>>2],n[f+8>>2]=n[A+8>>2],n[f+12>>2]=n[A+12>>2],n[a>>2]=n[e>>2],n[a+4>>2]=n[e+4>>2],n[a+8>>2]=n[e+8>>2],n[a+12>>2]=n[e+12>>2],ed(t,f,a,1.0,i),u>=+s[t+8>>3]):0)?(n[f>>2]=n[A>>2],n[f+4>>2]=n[A+4>>2],n[f+8>>2]=n[A+8>>2],n[f+12>>2]=n[A+12>>2],n[a>>2]=n[e>>2],n[a+4>>2]=n[e+4>>2],n[a+8>>2]=n[e+8>>2],n[a+12>>2]=n[e+12>>2],ed(c,f,a,1.0,i),+s[c+24>>3]>=+s[r+8>>3]):0)f=1;else f=0;v=b;return f|0}function lt(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=v;v=v+16|0;f=a;A:do{if((A|0)!=0?(i=r[A>>0]|0,i<<24>>24!=0):0){do{switch(i<<24>>24|0){case 48:{e=2;break A}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{e=10;break A}case 67:case 99:{i=A+1|0;if(!(Tz(i,94726)|0)){e=4;break A}if(!(Tz(i,94732)|0)){e=12;break A}break}case 70:case 102:{if(!(Tz(A+1|0,94740)|0)){e=2;break A}break}case 76:case 108:{if(!(Tz(A+1|0,94745)|0)){e=2;break A}break}case 78:case 110:{i=A+1|0;if(!(Tz(i,94749)|0)){e=0;break A}if(!(Tz(i,94753)|0)){e=2;break A}break}case 79:case 111:{if(!(Tz(A+1|0,94755)|0)){e=8;break A}break}case 80:case 112:{if(!(Tz(A+1|0,94760)|0)){e=6;break A}break}case 83:case 115:{if(!(Tz(A+1|0,94768)|0)){e=10;break A}break}case 84:case 116:{if(!(Tz(A+1|0,94774)|0)){e=10;break A}break}case 89:case 121:{if(!(Tz(A+1|0,94778)|0)){e=10;break A}break}default:{}}}while(0);n[f>>2]=A;Gy(0,94781,f)|0}}while(0);v=a;return e|0}function tt(A,e){A=A|0;e=e|0;var i=0;i=fY(A,94822)|0;if(i)if(!(r[i>>0]|0))e=0;else e=lt(i,e)|0;A=(n[A+16>>2]|0)+136|0;f[A>>1]=e|l[A>>1];return}function ct(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var n=0.0,a=0.0,l=0.0,t=0.0,c=0.0,b=0,o=0,u=0.0,B=0,k=0.0,w=0,d=0.0,h=0,g=0,Z=0,G=0;Z=v;v=v+32|0;B=Z+16|0;w=Z;h=f&1;g=f&2;A:do{if((i|0)==2){d=+s[A+16>>3];n=+s[A>>3];t=+s[A+24>>3];l=+s[A+8>>3];n=n-(d-n);s[B>>3]=n;s[w>>3]=d;l=l-(t-l);s[B+8>>3]=l;s[w+8>>3]=t}else{a=+s[A>>3];s[w>>3]=a;s[B>>3]=a;t=+s[A+8>>3];b=w+8|0;s[b>>3]=t;o=B+8|0;s[o>>3]=t;f=0;n=a;l=t;while(1){if((f|0)>=(i|0)){d=a;break A}G=A+(f<<4)|0;k=+s[G>>3];c=+s[(k<n?G:B)>>3];s[B>>3]=c;d=+s[A+(f<<4)+8>>3];u=+s[(d<l?G:B)+8>>3];s[o>>3]=u;k=+s[(k>a?G:w)>>3];s[w>>3]=k;d=+s[(d>t?G:w)+8>>3];s[b>>3]=d;f=f+1|0;n=c;l=u;a=k;t=d}}}while(0);a=(d-n)*.5;k=a+n;u=(t-l)*.5;c=u+l;if(!h){n=t-c;t=r;l=+N(+t);t=+J(+t);if(!g){a=l*n-c;n=-c-u*l}else{n=l*n;a=c-n;n=n+c}s[e+8>>3]=a;s[e+24>>3]=n;r=t*(d-k);s[e>>3]=k-r;s[e+16>>3]=r+k}else{r=+V(+(u*u+a*a));s[e+8>>3]=g|0?c:-c;s[e>>3]=k;s[e+16>>3]=r*.25;s[e+24>>3]=r}v=Z;return}function st(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;r=A+16|0;f=n[r>>2]|0;if(!(e<<24>>24)){i=+s[f+32>>3]*36.0;s[f+88>>3]=i;A=f+40|0}else{i=+s[f+40>>3]*36.0;s[f+88>>3]=i;A=f+32|0}s[f+96>>3]=i;s[(n[r>>2]|0)+80>>3]=+s[A>>3]*72.0;return}function bt(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0;I=v;v=v+16|0;c=I+8|0;m=4;G=NN(40)|0;n[G>>2]=0;k=I;w=0;i=eA(22,A|0)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,G|0,m|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;A:do{if((a|0)!=1){w=0;Z=eA(23,i<<3|0)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){i=MH(n[f>>2]|0,G|0,m|0)|0;if(!i)OA(f|0,d|0);E=d}else i=-1;if((i|0)!=1){if(!(r[174072]|0))h=0;else{w=0;i=AA(2)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,G|0,m|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){o=0;s=0;b=0;c=0;t=0;e=Z;l=Z;i=E;a=0;g=74;break}h=i}w=0;i=iA(31,A|0,94830)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,G|0,m|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)!=1){n[42365]=0;e:do{if(i|0?(t=r[i>>0]|0,t<<24>>24):0){l=i;f=t;a=0;while(1){t=l+1|0;if(!(f<<24>>24))break e;switch(f<<24>>24|0){case 99:{i=8;g=16;break}case 105:{i=18;g=16;break}case 109:{i=1;g=16;break}case 114:{i=4;g=16;break}case 115:{i=2;g=16;break}default:i=a}if((g|0)==16){g=0;i=a|i;n[42365]=i}l=t;f=r[t>>0]|0;a=i}}}while(0);if(e|0){w=0;rA(11,0,94834,c|0)|0;i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)==1){o=0;s=h;b=0;c=0;t=0;e=Z;l=Z;i=E;a=0;g=74;break}}w=0;B=iA(32,A|0,0)|0;i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)!=1){b=n[B+16>>2]|0;if(n[42365]&2|0){w=0;cA(25,n[13918]|0,b|0);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)==1){o=0;s=h;b=0;c=0;t=B;e=Z;l=Z;i=E;a=0;g=74;break}}w=0;a=eA(24,A|0)|0;i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)!=1){o=0;while(1){if(!a)break;w=0;i=iA(33,A|0,a|0)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){l=MH(n[f>>2]|0,G|0,m|0)|0;if(!l)OA(f|0,d|0);E=d}else l=-1;if((l|0)==1){s=h;b=0;c=0;t=B;e=Z;l=Z;i=E;a=0;g=74;break A}t=o;while(1){if(!i)break;if(!(0==2?(n[(n[i+16>>2]|0)+8>>2]|0)!=0:0))g=32;e:do{if((g|0)==32){g=0;do{if(r[174072]|0){s=n[i>>2]&3;c=(n[n[((s|0)==3?i:i+48|0)+40>>2]>>2]|0)>>>4;s=(n[n[((s|0)==2?i:i+-48|0)+40>>2]>>2]|0)>>>4;if(c>>>0>s>>>0){w=0;f=rA(15,h|0,s|0,c|0)|0;l=w;w=0;if((l|0)!=0&(d|0)!=0){e=MH(n[l>>2]|0,G|0,m|0)|0;if(!e)OA(l|0,d|0);E=d}else e=-1;if((e|0)==1){s=h;b=0;c=0;t=B;e=Z;l=Z;i=E;a=0;g=74;break A}if(f|0)break e;w=0;sA(59,h|0,s|0,c|0);f=w;w=0;if((f|0)!=0&(d|0)!=0){l=MH(n[f>>2]|0,G|0,m|0)|0;if(!l)OA(f|0,d|0);E=d}else l=-1;if((l|0)==1){s=h;b=0;c=0;t=B;e=Z;l=Z;i=E;a=0;g=74;break A}break}else{w=0;f=rA(15,h|0,c|0,s|0)|0;l=w;w=0;if((l|0)!=0&(d|0)!=0){e=MH(n[l>>2]|0,G|0,m|0)|0;if(!e)OA(l|0,d|0);E=d}else e=-1;if((e|0)==1){s=h;b=0;c=0;t=B;e=Z;l=Z;i=E;a=0;g=74;break A}if(f|0)break e;w=0;sA(59,h|0,c|0,s|0);f=w;w=0;if((f|0)!=0&(d|0)!=0){l=MH(n[f>>2]|0,G|0,m|0)|0;if(!l)OA(f|0,d|0);E=d}else l=-1;if((l|0)==1){s=h;b=0;c=0;t=B;e=Z;l=Z;i=E;a=0;g=74;break A}break}}}while(0);n[Z+(t<<3)+4>>2]=i;w=0;l=eA(25,i|0)|0;e=w;w=0;if((e|0)!=0&(d|0)!=0){f=MH(n[e>>2]|0,G|0,m|0)|0;if(!f)OA(e|0,d|0);E=d}else f=-1;if((f|0)==1){s=h;b=0;c=0;t=B;e=Z;l=Z;i=E;a=0;g=74;break A}n[Z+(t<<3)>>2]=l;t=t+1|0}}while(0);w=0;i=iA(34,A|0,i|0)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){l=MH(n[f>>2]|0,G|0,m|0)|0;if(!l)OA(f|0,d|0);E=d}else l=-1;if((l|0)==1){s=h;b=0;c=0;t=B;e=Z;l=Z;i=E;a=0;g=74;break A}}w=0;a=iA(35,A|0,a|0)|0;i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)==1){s=h;b=0;c=0;t=B;e=Z;l=Z;i=E;a=0;g=74;break A}o=t}w=0;c=eA(26,o<<3|0)|0;i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)!=1){w=0;oA(25,Z|0,o|0,8,36);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)!=1){a=n[b>>2]|0;w=0;tA(87,a+2|0);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)!=1){t=n[b+16>>2]|0;e=t+(a*40|0)|0;t=t+((a+1|0)*40|0)|0;u=n[13918]|0;l=0;while(1){if((l|0)>=(o|0))break;if((l|0)>0?n[42365]&16|0:0){w=0;cA(25,u|0,b|0);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)==1){s=h;b=c;t=B;e=Z;l=Z;i=E;a=u;g=74;break A}}i=n[Z+(l<<3)+4>>2]|0;s=n[i>>2]&3;a=n[(n[(n[((s|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;i=n[(n[(n[((s|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((a|0)==(i|0)){w=0;oA(26,b|0,a|0,t|0,e|0);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)==1){s=h;b=c;t=B;e=Z;l=Z;i=E;a=u;g=74;break A}}else{w=0;sA(60,b|0,i|0,t|0);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)==1){s=h;b=c;t=B;e=Z;l=Z;i=E;a=u;g=74;break A}w=0;sA(60,b|0,a|0,e|0);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)==1){s=h;b=c;t=B;e=Z;l=Z;i=E;a=u;g=74;break A}}w=0;i=rA(16,b|0,t|0,e|0)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,G|0,m|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){s=h;b=c;t=B;e=Z;l=Z;i=E;a=u;g=74;break A}if(i|0){s=h;b=c;t=B;e=Z;l=Z;break A}i=c+(l<<3)|0;w=0;oA(27,k|0,b|0,e|0,t|0);f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,G|0,m|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){s=h;b=c;t=B;e=Z;l=Z;i=E;a=u;g=74;break A}a=k;s=n[a+4>>2]|0;n[i>>2]=n[a>>2];n[i+4>>2]=s;w=0;tA(88,b|0);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)==1){s=h;b=c;t=B;e=Z;l=Z;i=E;a=u;g=74;break A}l=l+1|0}w=0;lA(8);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)!=1){w=0;i=eA(27,B|0)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,G|0,m|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)!=1){n[B+20>>2]=i;w=0;i=eA(28,B|0)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,G|0,m|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)!=1){n[B+24>>2]=i;w=0;sA(61,o|0,c|0,B|0);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)!=1){G=CH(169464,1,G|0,m|0)|0;m=E;w=0;i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)!=1){s=h;b=c;t=B;e=Z;l=Z;i=0;a=u;g=74}else{s=h;b=c;t=B;e=Z;l=Z;i=E;a=u;g=74}}else{s=h;b=c;t=B;e=Z;l=Z;i=E;a=u;g=74}}else{s=h;b=c;t=B;e=Z;l=Z;i=E;a=u;g=74}}else{s=h;b=c;t=B;e=Z;l=Z;i=E;a=u;g=74}}else{s=h;b=c;t=B;e=Z;l=Z;i=E;a=u;g=74}}else{s=h;b=c;t=B;e=Z;l=Z;i=E;a=0;g=74}}else{s=h;b=c;t=B;e=Z;l=Z;i=E;a=0;g=74}}else{s=h;b=0;t=B;e=Z;l=Z;i=E;a=0;g=74}}else{o=0;s=h;b=0;c=0;t=B;e=Z;l=Z;i=E;a=0;g=74}}else{o=0;s=h;b=0;c=0;t=B;e=Z;l=Z;i=E;a=0;g=74}}else{o=0;s=h;b=0;c=0;t=0;e=Z;l=Z;i=E;a=0;g=74}}else{o=0;s=0;b=0;c=0;t=0;e=0;l=Z;i=E;a=0;g=74}}else{o=0;s=0;b=0;c=0;t=0;e=0;l=0;i=E;a=0;g=74}}while(0);A:while(1){if((g|0)==74){g=0;if(i|0){u=a;continue}w=0;tA(89,t|0);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)==1){C=a;f=l;u=e;B=t;k=c;h=b;Z=s;g=o;i=E;a=C;l=f;e=u;t=B;c=k;b=h;s=Z;o=g;g=74;continue}if(n[42365]&4|0){w=0;uA(7,a|0,t|0,o|0,b|0,e|0);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)==1){f=a;u=l;B=e;k=t;h=c;Z=b;C=s;g=o;i=E;a=f;l=u;e=B;t=k;c=h;b=Z;s=C;o=g;g=74;continue}}w=0;vA(10,A|0,t|0,o|0,b|0,e|0,0);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)==1){f=a;u=l;B=e;k=t;h=c;Z=b;C=s;g=o;i=E;a=f;l=u;e=B;t=k;c=h;b=Z;s=C;o=g;g=74;continue}u=a}if(!(r[174072]|0))i=0;else{w=0;tA(90,s|0);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)==1){i=E;a=u;g=74;continue}i=0}while(1){if((i|0)>=(o|0))break;w=0;tA(91,n[b+(i<<3)+4>>2]|0);f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,G|0,m|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){i=E;a=u;g=74;continue A}i=i+1|0}w=0;tA(91,c|0);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)==1){i=E;a=u;g=74;continue}w=0;tA(92,t|0);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)==1){i=E;a=u;g=74;continue}w=0;tA(91,l|0);i=w;w=0;if((i|0)!=0&(d|0)!=0){f=MH(n[i>>2]|0,G|0,m|0)|0;if(!f)OA(i|0,d|0);E=d}else f=-1;if((f|0)==1){i=E;a=u;g=74}else break}zN(G|0);v=I;return}function ot(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0.0;k=v;v=v+64|0;B=k+32|0;u=k+16|0;t=k;c=k+48|0;YR(95701,A)|0;YR(95712,A)|0;b=e+16|0;o=t+8|0;l=c+4|0;a=0;while(1){if((a|0)>=(n[e>>2]|0))break;i=n[b>>2]|0;r=n[i+(a*40|0)+20>>2]|0;f=n[i+(a*40|0)+24>>2]|0;if((r|0)==(f|0)){nc(t,r);i=~~+s[t>>3];r=~~+s[o>>3]}else{lc(c,(n[r>>2]&1|0)==0?r:f,i+(a*40|0)|0);i=n[c>>2]|0;r=n[l>>2]|0}n[u>>2]=a;n[u+4>>2]=i;n[u+8>>2]=r;lR(A,95732,u)|0;a=a+1|0}f=e+4|0;r=e+20|0;i=0;while(1){if((i|0)>=(n[f>>2]|0))break;u=n[r>>2]|0;e=n[u+(i*24|0)+16>>2]|0;w=+s[u+(i*24|0)>>3];n[B>>2]=n[u+(i*24|0)+12>>2];n[B+4>>2]=e;s[B+8>>3]=w;lR(A,95752,B)|0;i=i+1|0}YR(95774,A)|0;v=k;return}function ut(A){A=A|0;var e=0.0,i=0.0,r=0,f=0;f=n[A>>2]&3;r=n[(n[((f|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0;A=n[(n[((f|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;e=+s[r+16>>3]-+s[A+16>>3];i=+s[r+24>>3]-+s[A+24>>3];return~~(i*i+e*e)|0}function vt(A,e){A=A|0;e=e|0;return(n[A>>2]|0)-(n[e>>2]|0)|0}function Bt(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0;o=v;v=v+32|0;c=o;nc(o+16|0,e);s=e+32|0;b=e+36|0;a=0;while(1){if((a|0)>=(n[s>>2]|0))break;l=n[(n[b>>2]|0)+(a<<2)>>2]|0;do{if(!(r[l+36>>0]|0)){t=n[l+20>>2]|0;if((t|0)==(e|0)){rc(c,l,n[l+24>>2]|0);Ic(A,f,l,0.0)|0;break}else{rc(c,l,t);Ic(A,i,l,0.0)|0;break}}}while(0);a=a+1|0}n[A>>2]=(n[A>>2]|0)+2;v=o;return}function kt(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,s=0;s=v;v=v+32|0;l=s;nc(s+16|0,e);t=e+32|0;c=e+36|0;f=0;while(1){if((f|0)>=(n[t>>2]|0))break;a=n[(n[c>>2]|0)+(f<<2)>>2]|0;r=n[a+20>>2]|0;if((r|0)==(e|0))r=n[a+24>>2]|0;rc(l,a,r);Ic(A,i,a,0.0)|0;f=f+1|0}n[A>>2]=(n[A>>2]|0)+1;n[i+24>>2]=e;n[i+20>>2]=e;v=s;return}function wt(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0.0,b=0.0,o=0,u=0.0,B=0.0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0.0,m=0.0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0;J=v;v=v+128|0;E=J+64|0;o=J+48|0;y=J+32|0;Y=J+16|0;V=J;a=0;l=i;while(1){if(!l)break;a=a+1|0;l=n[l+8>>2]|0}Q=Jg((a*56|0)+-112|0)|0;n[E+52>>2]=0;n[E+48>>2]=0;M=i+8|0;i=n[M>>2]|0;l=n[i+8>>2]|0;a=n[i+20>>2]|0;if(n[a>>2]&1)a=n[i+24>>2]|0;rc(o,i,a);t=i;k=i;B=0.0;u=+s[o>>3];C=0;b=0.0;m=+s[o+8>>3];while(1){I=l+8|0;if(!(n[I>>2]|0))break;Z=fc(t,l)|0;_o(e,Z,n[k+12>>2]|0);h=k+36|0;g=l+36|0;if((r[h>>0]|0)==(r[g>>0]|0))if((n[I>>2]|0)==(f|0)){rc(Y,l,Z);i=Y;W=12}else{t=k;i=C;c=m}else{nc(y,Z);i=y;W=12}if((W|0)==12){W=0;G=+s[i>>3];c=+s[i+8>>3];i=r[h>>0]|0;d=i<<24>>24==0;w=(k|0)==(n[M>>2]|0);if(d){if(!(r[g>>0]|0))i=0;else i=(n[l+20>>2]|0)==(Z|0)?4:2;o=Z+48|0;k=a+48|0;t=a+40|0;a=w?0:B>u?4:2}else{if(i<<24>>24==(r[g>>0]|0))i=0;else i=(n[l+20>>2]|0)==(Z|0)?1:3;o=Z+40|0;k=a+40|0;t=a+48|0;a=w?0:b>m?1:3}ac(E,d&1,+s[t>>3],+s[k>>3],+s[o>>3],a,i);k=C+1|0;a=Q+(C*56|0)|0;i=E;t=a+56|0;do{n[a>>2]=n[i>>2];a=a+4|0;i=i+4|0}while((a|0)<(t|0));if((r[h>>0]|0)!=(r[g>>0]|0)?(n[I>>2]|0)==(f|0):0){rc(V,l,Z);o=(r[g>>0]|0)==0;i=Z+40|0;a=Z+48|0;B=+s[(o?a:i)>>3];ac(E,o&1,+s[(o?i:a)>>3],B,B,o?u>G?4:2:m>c?1:3,0);o=C+2|0;a=Q+(k*56|0)|0;i=E;t=a+56|0;do{n[a>>2]=n[i>>2];a=a+4|0;i=i+4|0}while((a|0)<(t|0));a=Z;t=l;B=u;u=G;i=o;b=m}else{a=Z;t=l;B=u;u=G;i=k;b=m}}Z=l;l=n[I>>2]|0;k=t;C=i;m=c;t=Z}l=RN(Q,C*56|0)|0;i=C+-1|0;a=0;while(1){if((a|0)>=(C|0))break;if((a|0)>0)n[l+(a*56|0)+48>>2]=l+((a+-1|0)*56|0);if((a|0)<(i|0)){W=a+1|0;n[l+(a*56|0)+52>>2]=l+(W*56|0);a=W;continue}else{a=a+1|0;continue}}n[A>>2]=C;n[A+4>>2]=l;v=J;return}function dt(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0;t=oy(24676,n[4345]|0)|0;c=A+8|0;l=0;while(1){if((l|0)>=(n[A>>2]|0))break;e=(n[c>>2]|0)+(l*72|0)|0;if(!(n[e>>2]&4)){while(1){i=n[(n[e+36>>2]|0)+8>>2]|0;if(!i)break;i=n[i+20>>2]|0;if(!i)break;if(!(n[i>>2]&1))e=i;else break}a=Jg(40)|0;n[a+36>>2]=e;s[a+8>>3]=+s[e+40>>3];f=e;i=n[e>>2]|0;while(1){n[f>>2]=i|4;i=n[n[f+36>>2]>>2]|0;if(!i)break;r=n[i+24>>2]|0;if(!r)break;i=n[r>>2]|0;if(i&1|0)break;else f=r}s[a+16>>3]=+s[f+56>>3];qt(t,a,+s[e+48>>3])}l=l+1|0}return t|0}function ht(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0;t=oy(24676,n[4345]|0)|0;c=A+8|0;l=0;while(1){if((l|0)>=(n[A>>2]|0))break;e=(n[c>>2]|0)+(l*72|0)|0;if(!(n[e>>2]&2)){while(1){i=n[(n[e+36>>2]|0)+12>>2]|0;if(!i)break;i=n[i+20>>2]|0;if(!i)break;if(!(n[i>>2]&1))e=i;else break}a=Jg(40)|0;n[a+36>>2]=e;s[a+8>>3]=+s[e+48>>3];f=e;i=n[e>>2]|0;while(1){n[f>>2]=i|2;i=n[(n[f+36>>2]|0)+4>>2]|0;if(!i)break;r=n[i+24>>2]|0;if(!r)break;i=n[r>>2]|0;if(i&1|0)break;else f=r}s[a+16>>3]=+s[f+64>>3];qt(t,a,+s[e+40>>3])}l=l+1|0}return t|0}function gt(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0;c=i+20|0;t=i+24|0;i=0;while(1){if((i|0)>=(A|0))break;a=n[e+(i<<3)>>2]|0;l=n[e+(i<<3)+4>>2]|0;f=0;while(1){if((f|0)>=(a|0))break;s=l+(f*56|0)|0;_t(yt(n[((r[s>>0]|0)==0?c:t)>>2]|0,s)|0,s);f=f+1|0}i=i+1|0}return}function Zt(A){A=A|0;var e=0,i=0;i=A+20|0;Vt(n[i>>2]|0);e=A+24|0;Vt(n[e>>2]|0);Wt(n[i>>2]|0);Wt(n[e>>2]|0);Jt(n[i>>2]|0,A);Jt(n[e>>2]|0,A);Nt(n[i>>2]|0);Nt(n[e>>2]|0);return}function Gt(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0.0,Q=0.0,E=0.0,y=0,Y=0.0;C=v;v=v+224|0;o=C+176|0;b=C+208|0;m=C+160|0;I=C+128|0;c=C+96|0;h=C+64|0;g=C;u=C+32|0;Z=g+8|0;s[Z>>3]=1797693134862315708145274.0e284;s[g>>3]=1797693134862315708145274.0e284;G=g+24|0;s[G>>3]=-1797693134862315708145274.0e284;B=g+16|0;s[B>>3]=-1797693134862315708145274.0e284;YR(94949,A)|0;n[o>>2]=10;n[o+4>>2]=10;lR(A,95355,o)|0;YR(123076,A)|0;l=e+4|0;t=e+12|0;k=h+8|0;w=h+16|0;d=h+24|0;a=0;while(1){if((a|0)>=(n[l>>2]|0))break;y=(n[t>>2]|0)+(a*72|0)+40|0;n[h>>2]=n[y>>2];n[h+4>>2]=n[y+4>>2];n[h+8>>2]=n[y+8>>2];n[h+12>>2]=n[y+12>>2];n[h+16>>2]=n[y+16>>2];n[h+20>>2]=n[y+20>>2];n[h+24>>2]=n[y+24>>2];n[h+28>>2]=n[y+28>>2];E=+s[k>>3];Q=+s[w>>3];M=+s[d>>3];s[c>>3]=+s[h>>3];s[c+8>>3]=E;s[c+16>>3]=Q;s[c+24>>3]=M;lR(A,123095,c)|0;a=a+1|0}a=0;while(1){if((a|0)>=(i|0))break;y=n[f+(a<<3)+4>>2]|0;c=r+(a<<3)|0;n[b>>2]=n[c>>2];n[b+4>>2]=n[c+4>>2];n[o>>2]=n[g>>2];n[o+4>>2]=n[g+4>>2];n[o+8>>2]=n[g+8>>2];n[o+12>>2]=n[g+12>>2];n[o+16>>2]=n[g+16>>2];n[o+20>>2]=n[g+20>>2];n[o+24>>2]=n[g+24>>2];n[o+28>>2]=n[g+28>>2];Yt(u,A,y,b,e,o);n[g>>2]=n[u>>2];n[g+4>>2]=n[u+4>>2];n[g+8>>2]=n[u+8>>2];n[g+12>>2]=n[u+12>>2];n[g+16>>2]=n[u+16>>2];n[g+20>>2]=n[u+20>>2];n[g+24>>2]=n[u+24>>2];n[g+28>>2]=n[u+28>>2];a=a+1|0}YR(95372,A)|0;l=e+8|0;a=0;while(1){if((a|0)>=(n[e>>2]|0))break;y=(n[l>>2]|0)+(a*72|0)+40|0;n[h>>2]=n[y>>2];n[h+4>>2]=n[y+4>>2];n[h+8>>2]=n[y+8>>2];n[h+12>>2]=n[y+12>>2];n[h+16>>2]=n[y+16>>2];n[h+20>>2]=n[y+20>>2];n[h+24>>2]=n[y+24>>2];n[h+28>>2]=n[y+28>>2];Y=+s[h>>3];M=+s[k>>3];Q=+s[w>>3];E=+s[d>>3];s[I>>3]=Y;s[I+8>>3]=M;s[I+16>>3]=Q;s[I+24>>3]=E;lR(A,123132,I)|0;s[g>>3]=+s[(+s[g>>3]<Y?g:h)>>3];s[Z>>3]=+s[(+s[Z>>3]<M?g:h)+8>>3];s[B>>3]=+s[(+s[B>>3]>Q?g:h)+16>>3];s[G>>3]=+s[(+s[G>>3]>E?g:h)+24>>3];a=a+1|0}Z=~~(+s[Z>>3]+10.0);I=~~(+s[B>>3]+10.0);y=~~(+s[G>>3]+10.0);n[m>>2]=~~(+s[g>>3]+10.0);n[m+4>>2]=Z;n[m+8>>2]=I;n[m+12>>2]=y;lR(A,95397,m)|0;v=C;return}function mt(A,e,i,f,a,l){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;l=l|0;var t=0.0,c=0.0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0;H=v;v=v+112|0;V=H+88|0;Y=H+72|0;P=H+32|0;N=H+16|0;z=H;p=H+56|0;R=H+40|0;W=n[13918]|0;G=(l|0)==0;m=z+8|0;I=N+8|0;Z=0;b=0;o=0;u=0;B=0;l=0;while(1){if((Z|0)>=(i|0))break;C=n[a+(Z<<3)+4>>2]|0;M=C+48|0;g=(n[(n[((n[C>>2]&3|0)==3?C:M)+40>>2]|0)+16>>2]|0)+16|0;Q=C+16|0;E=(n[Q>>2]|0)+16|0;n[Y>>2]=n[g>>2];n[Y+4>>2]=n[g+4>>2];n[Y+8>>2]=n[g+8>>2];n[Y+12>>2]=n[g+12>>2];n[V>>2]=n[E>>2];n[V+4>>2]=n[E+4>>2];n[V+8>>2]=n[E+8>>2];n[V+12>>2]=n[E+12>>2];It(p,Y,V);n[N>>2]=n[p>>2];n[N+4>>2]=n[p+4>>2];n[N+8>>2]=n[p+8>>2];n[N+12>>2]=n[p+12>>2];E=C+-48|0;g=(n[(n[((n[C>>2]&3|0)==2?C:E)+40>>2]|0)+16>>2]|0)+16|0;h=(n[Q>>2]|0)+56|0;n[Y>>2]=n[g>>2];n[Y+4>>2]=n[g+4>>2];n[Y+8>>2]=n[g+8>>2];n[Y+12>>2]=n[g+12>>2];n[V>>2]=n[h>>2];n[V+4>>2]=n[h+4>>2];n[V+8>>2]=n[h+8>>2];n[V+12>>2]=n[h+12>>2];It(R,Y,V);n[z>>2]=n[R>>2];n[z+4>>2]=n[R+4>>2];n[z+8>>2]=n[R+8>>2];n[z+12>>2]=n[R+12>>2];h=n[f+(Z<<3)>>2]|0;g=n[f+(Z<<3)+4>>2]|0;d=h*3|0;y=d+1|0;if((d|0)>=(o|0)){if(b|0)zN(l);B=Ng(y<<4)|0;b=B;o=y;u=B;l=B}if(!(r[g>>0]|0)){c=+(Mt(g,e)|0);t=+s[N>>3]}else{t=+Ct(g,e);c=+s[I>>3]}w=b+16|0;s[b+16>>3]=t;s[b+24>>3]=c;n[B>>2]=n[w>>2];n[B+4>>2]=n[w+4>>2];n[B+8>>2]=n[w+8>>2];n[B+12>>2]=n[w+12>>2];w=1;k=g;d=2;while(1){if((w|0)>=(h|0))break;k=g+(w*56|0)|0;if(!(r[k>>0]|0))c=+(Mt(k,e)|0);else t=+Ct(k,e);F=b+(d+2<<4)|0;D=b+(d+1<<4)|0;L=b+(d<<4)|0;s[L>>3]=t;s[b+(d<<4)+8>>3]=c;n[D>>2]=n[L>>2];n[D+4>>2]=n[L+4>>2];n[D+8>>2]=n[L+8>>2];n[D+12>>2]=n[L+12>>2];n[F>>2]=n[L>>2];n[F+4>>2]=n[L+4>>2];n[F+8>>2]=n[L+8>>2];n[F+12>>2]=n[L+12>>2];w=w+1|0;d=d+3|0}if(!(r[k>>0]|0)){c=+(Mt(k,e)|0);t=+s[z>>3]}else{t=+Ct(k,e);c=+s[m>>3]}D=b+(d<<4)|0;F=d+1|0;L=b+(F<<4)|0;s[L>>3]=t;s[b+(F<<4)+8>>3]=c;n[D>>2]=n[L>>2];n[D+4>>2]=n[L+4>>2];n[D+8>>2]=n[L+8>>2];n[D+12>>2]=n[L+12>>2];if(0>1){L=qY(n[((n[C>>2]&3|0)==3?C:M)+40>>2]|0)|0;D=qY(n[((n[C>>2]&3|0)==2?C:E)+40>>2]|0)|0;n[P>>2]=L;n[P+4>>2]=D;lR(W,94908,P)|0}jm(C,n[((n[C>>2]&3|0)==2?C:E)+40>>2]|0,b,y,24664);if((!G?(J=n[(n[Q>>2]|0)+96>>2]|0,J|0):0)?(r[J+81>>0]|0)==0:0){n[Y>>2]=n[N>>2];n[Y+4>>2]=n[N+4>>2];n[Y+8>>2]=n[N+8>>2];n[Y+12>>2]=n[N+12>>2];n[V>>2]=n[z>>2];n[V+4>>2]=n[z+4>>2];n[V+8>>2]=n[z+8>>2];n[V+12>>2]=n[z+12>>2];vI(A,C,Y,V)}Z=Z+1|0}zN(u);v=H;return}function It(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;s[e>>3]=+s[e>>3]+ +s[i>>3];r=e+8|0;s[r>>3]=+s[r>>3]+ +s[i+8>>3];n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];return}function Ct(A,e){A=A|0;e=e|0;var i=0.0,r=0;e=yt(n[e+24>>2]|0,A)|0;r=n[e+36>>2]|0;i=+s[r+40>>3];return+((+s[r+56>>3]-i)*(+(n[A+44>>2]|0)/+((n[e+24>>2]|0)+1|0))+i)}function Mt(A,e){A=A|0;e=e|0;var i=0.0,r=0;r=yt(n[e+20>>2]|0,A)|0;e=n[r+36>>2]|0;i=+s[e+48>>3];return~~((1.0-+(n[A+44>>2]|0)/+((n[r+24>>2]|0)+1|0))*(+s[e+64>>3]-i)+i)|0}function Qt(A){A=A|0;return 0}function Et(A){A=A|0;return 0}function yt(A,e){A=A|0;e=e|0;A=kF[n[A>>2]&31](A,e+8|0,512)|0;if(!A)BA(94921,94927,423,94935);A=n[A+16>>2]|0;A=kF[n[A>>2]&31](A,e+16|0,512)|0;if(!A)BA(94946,94927,425,94935);else return A|0;return 0}function Yt(A,e,i,f,a,l){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;l=l|0;var t=0,c=0.0,b=0,o=0,u=0,B=0.0,k=0.0,w=0.0,d=0.0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0.0,E=0.0,y=0.0;C=v;v=v+32|0;I=C+16|0;g=C+8|0;b=C;t=n[(n[(n[((n[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;h=n[f+4>>2]|0;if(!(r[h>>0]|0)){c=+s[t+56>>3];d=+s[t+40>>3];t=Mt(h,a)|0;c=(d+c)*.5}else{c=+s[t+64>>3];d=+s[t+48>>3];t=~~((d+c)*.5);c=+Ct(h,a)}M=~~c;B=+s[l>>3];w=+(M|0);B=B<w?B:w;s[l>>3]=B;Z=l+8|0;k=+s[Z>>3];d=+(t|0);k=k<d?k:d;s[Z>>3]=k;G=l+16|0;c=+s[G>>3];w=c>w?c:w;s[G>>3]=w;m=l+24|0;c=+s[m>>3];d=c>d?c:d;s[m>>3]=d;n[b>>2]=M;n[b+4>>2]=t;lR(e,95448,b)|0;u=n[f>>2]|0;b=h;o=1;f=M;while(1){if((o|0)>=(u|0))break;b=h+(o*56|0)|0;if(!(r[b>>0]|0))t=Mt(b,a)|0;else f=~~+Ct(b,a);Q=+(f|0);y=B<Q?B:Q;s[l>>3]=y;c=+(t|0);E=k<c?k:c;s[Z>>3]=E;Q=w>Q?w:Q;s[G>>3]=Q;c=d>c?d:c;s[m>>3]=c;n[g>>2]=f;n[g+4>>2]=t;lR(e,95470,g)|0;o=o+1|0;B=y;k=E;w=Q;d=c}t=n[(n[(n[((n[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(r[b>>0]|0)){c=+s[t+56>>3];y=+s[t+40>>3];t=Mt(b,a)|0;c=(y+c)*.5}else{c=+s[t+64>>3];y=+s[t+48>>3];t=~~((y+c)*.5);c=+Ct(b,a)}M=~~c;E=+(M|0);s[l>>3]=B<E?B:E;y=+(t|0);s[Z>>3]=k<y?k:y;s[G>>3]=w>E?w:E;s[m>>3]=d>y?d:y;n[I>>2]=M;n[I+4>>2]=t;lR(e,95484,I)|0;n[A>>2]=n[l>>2];n[A+4>>2]=n[l+4>>2];n[A+8>>2]=n[l+8>>2];n[A+12>>2]=n[l+12>>2];n[A+16>>2]=n[l+16>>2];n[A+20>>2]=n[l+20>>2];n[A+24>>2]=n[l+24>>2];n[A+28>>2]=n[l+28>>2];v=C;return}function Vt(A){A=A|0;var e=0;A=sy(A)|0;while(1){if(!A)break;e=sy(n[A+16>>2]|0)|0;while(1){if(!e)break;n[e+32>>2]=tc(n[e+24>>2]|0)|0;e=n[e>>2]|0}A=n[A>>2]|0}return}function Wt(A){A=A|0;var e=0;A=sy(A)|0;while(1){if(!A)break;e=sy(n[A+16>>2]|0)|0;while(1){if(!e)break;if(n[e+24>>2]|0)Kt(e);e=n[e>>2]|0}A=n[A>>2]|0}return}function Jt(A,e){A=A|0;e=e|0;var i=0;i=sy(A)|0;while(1){if(!i)break;A=sy(n[i+16>>2]|0)|0;while(1){if(!A)break;Pt(A,e);A=n[A>>2]|0}i=n[i>>2]|0}return}function Nt(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0;r=sy(A)|0;while(1){if(!r)break;l=r+8|0;f=sy(n[r+16>>2]|0)|0;while(1){if(!f)break;A=f+24|0;A:do{if(n[A>>2]|0){if(n[42365]&8|0)zt(f,~~+s[l>>3]);a=f+32|0;uc(n[a>>2]|0);e=n[A>>2]|0;i=f+28|0;A=0;while(1){if((A|0)>=(e|0))break A;n[(n[(n[i>>2]|0)+(A<<2)>>2]|0)+44>>2]=(n[(n[(n[a>>2]|0)+4>>2]|0)+(A*12|0)+4>>2]|0)+1;A=A+1|0}}}while(0);f=n[f>>2]|0}r=n[r>>2]|0}return}function zt(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0.0,b=0.0;t=v;v=v+32|0;i=t;a=A+24|0;A:do{if((n[a>>2]|0)>=2){l=n[13918]|0;b=+s[A+8>>3];c=+s[A+16>>3];n[i>>2]=e;s[i+8>>3]=b;s[i+16>>3]=c;lR(l,95505,i)|0;f=A+32|0;A=A+28|0;e=0;while(1){if((e|0)>=(n[a>>2]|0))break A;r=n[(n[(n[f>>2]|0)+4>>2]|0)+(e*12|0)+8>>2]|0;e:do{if(vy(r)|0){pt(l,n[(n[A>>2]|0)+(e<<2)>>2]|0);YR(95525,l)|0;i=kF[n[r>>2]&31](r,0,128)|0;while(1){if(!i)break e;YR(95530,l)|0;pt(l,n[(n[A>>2]|0)+(n[i>>2]<<2)>>2]|0);YR(134901,l)|0;i=kF[n[r>>2]&31](r,i,8)|0}}}while(0);e=e+1|0}}}while(0);v=t;return}function pt(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0.0,c=0.0,b=0.0;a=v;v=v+80|0;f=a+40|0;i=a;if(!(r[e>>0]|0)){b=+s[e+16>>3];t=+s[e+8>>3];c=+s[e+24>>3];l=Rt(n[e+32>>2]|0)|0;i=Rt(n[e+36>>2]|0)|0;s[f>>3]=b;s[f+8>>3]=t;s[f+16>>3]=c;s[f+24>>3]=t;n[f+32>>2]=l;n[f+36>>2]=i;lR(A,95536,f)|0}else{c=+s[e+8>>3];t=+s[e+16>>3];b=+s[e+24>>3];f=Rt(n[e+32>>2]|0)|0;l=Rt(n[e+36>>2]|0)|0;s[i>>3]=c;s[i+8>>3]=t;s[i+16>>3]=c;s[i+24>>3]=b;n[i+32>>2]=f;n[i+36>>2]=l;lR(A,95536,i)|0}v=a;return}function Rt(A){A=A|0;switch(A|0){case 0:{A=95587;break}case 1:{A=95582;break}case 2:{A=95575;break}case 3:{A=95568;break}case 4:{A=95560;break}default:A=0}return A|0}function Pt(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0;G=v;v=v+16|0;w=G+8|0;h=G;g=n[A+32>>2]|0;Z=n[A+28>>2]|0;B=A+24|0;b=w+4|0;o=h+4|0;t=0;A=n[B>>2]|0;A:while(1){k=t+1|0;if((k|0)>=(A|0))break;u=Z+(t<<2)|0;c=k;while(1){if((c|0)>=(A|0)){t=k;continue A}e:do{if(((oc(g,t,c)|0)==0?(oc(g,c,t)|0)==0:0)?(d=Z+(c<<2)|0,Ht(n[u>>2]|0,n[d>>2]|0)|0):0){f=n[u>>2]|0;A=n[f+48>>2]|0;l=n[d>>2]|0;i=n[l+48>>2]|0;r=(i|0)==0;if(A)if(r)A=1;else A=+s[A+8>>3]!=+s[i+8>>3];else A=r^1;a=A&1;Ft(w,f,l,0,a);A=n[w>>2]|0;l=n[b>>2]|0;f=a^1;Ft(h,n[u>>2]|0,n[d>>2]|0,1,f);i=n[h>>2]|0;r=n[o>>2]|0;switch(l|0){case-1:{Lt(n[d>>2]|0,n[u>>2]|0,a,0,A,e);Lt(n[d>>2]|0,n[u>>2]|0,f,1,i,e);if((r|0)!=1)break e;Dt(n[u>>2]|0,n[d>>2]|0,f,e);break e}case 0:switch(r|0){case-1:{Lt(n[d>>2]|0,n[u>>2]|0,a,0,A,e);Lt(n[d>>2]|0,n[u>>2]|0,f,1,i,e);break e}case 0:{Lt(n[u>>2]|0,n[d>>2]|0,0,a,A,e);Lt(n[u>>2]|0,n[d>>2]|0,1,f,i,e);break e}case 1:{Lt(n[u>>2]|0,n[d>>2]|0,0,a,A,e);Lt(n[u>>2]|0,n[d>>2]|0,1,f,i,e);break e}default:break e}case 1:{Lt(n[u>>2]|0,n[d>>2]|0,0,a,A,e);Lt(n[u>>2]|0,n[d>>2]|0,1,f,i,e);if((r|0)!=-1)break e;Dt(n[u>>2]|0,n[d>>2]|0,f,e);break e}default:break e}}}while(0);c=c+1|0;A=n[B>>2]|0}}v=G;return}function Ht(A,e){A=A|0;e=e|0;if(!(+s[A+8>>3]==+s[e+8>>3]))BA(95658,94927,843,95689);if((+s[A+16>>3]==+s[e+16>>3]?+s[A+24>>3]==+s[e+24>>3]:0)?(n[A+32>>2]|0)==(n[e+32>>2]|0):0)A=(n[A+36>>2]|0)==(n[e+36>>2]|0)&1;else A=0;return A|0}function Ft(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0;a=0;while(1){e=Xt(e,r)|0;if(!e){l=0;break}i=Xt(i,f)|0;if(!i){t=6;break}if(!(Ht(e,i)|0)){t=7;break}a=a+1|0}if((t|0)==6)BA(123205,94927,871,95607);else if((t|0)==7)l=xt(e,Tt(e,i)|0,a+1|0,1-r|0)|0;n[A>>2]=a;n[A+4>>2]=l;return}function Lt(A,e,i,f,a,l){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;l=l|0;var t=0,c=0,b=0,o=0,u=0,v=0,B=0;v=l+20|0;u=l+24|0;l=yt(n[((r[A>>0]|0)==0?v:u)>>2]|0,A)|0;sc(n[l+32>>2]|0,n[A+40>>2]|0,n[e+40>>2]|0);c=1;while(1){if((c|0)>(a|0))break;b=Xt(A,i)|0;o=Xt(e,f)|0;do{if(!(r[A>>0]|0)){t=yt(n[u>>2]|0,b)|0;if(+s[b+8>>3]==+s[A+16>>3]){B=(n[A+32>>2]|0)==1;l=(oc(n[l+32>>2]|0,n[A+40>>2]|0,n[e+40>>2]|0)|0)!=0;A=n[t+32>>2]|0;if(B)if(l){sc(A,n[o+40>>2]|0,n[b+40>>2]|0);l=t;break}else{sc(A,n[b+40>>2]|0,n[o+40>>2]|0);l=t;break}else if(l){sc(A,n[b+40>>2]|0,n[o+40>>2]|0);l=t;break}else{sc(A,n[o+40>>2]|0,n[b+40>>2]|0);l=t;break}}else{B=(n[A+36>>2]|0)==1;l=(oc(n[l+32>>2]|0,n[A+40>>2]|0,n[e+40>>2]|0)|0)!=0;A=n[t+32>>2]|0;if(B)if(l){sc(A,n[b+40>>2]|0,n[o+40>>2]|0);l=t;break}else{sc(A,n[o+40>>2]|0,n[b+40>>2]|0);l=t;break}else if(l){sc(A,n[o+40>>2]|0,n[b+40>>2]|0);l=t;break}else{sc(A,n[b+40>>2]|0,n[o+40>>2]|0);l=t;break}}}else{t=yt(n[v>>2]|0,b)|0;if(+s[b+8>>3]==+s[A+16>>3]){B=(n[A+32>>2]|0)==2;l=(oc(n[l+32>>2]|0,n[A+40>>2]|0,n[e+40>>2]|0)|0)!=0;A=n[t+32>>2]|0;if(B)if(l){sc(A,n[b+40>>2]|0,n[o+40>>2]|0);l=t;break}else{sc(A,n[o+40>>2]|0,n[b+40>>2]|0);l=t;break}else if(l){sc(A,n[o+40>>2]|0,n[b+40>>2]|0);l=t;break}else{sc(A,n[b+40>>2]|0,n[o+40>>2]|0);l=t;break}}else{B=(n[A+36>>2]|0)==2;l=(oc(n[l+32>>2]|0,n[A+40>>2]|0,n[e+40>>2]|0)|0)!=0;A=n[t+32>>2]|0;if(B)if(l){sc(A,n[o+40>>2]|0,n[b+40>>2]|0);l=t;break}else{sc(A,n[b+40>>2]|0,n[o+40>>2]|0);l=t;break}else if(l){sc(A,n[b+40>>2]|0,n[o+40>>2]|0);l=t;break}else{sc(A,n[o+40>>2]|0,n[b+40>>2]|0);l=t;break}}}}while(0);A=b;e=o;c=c+1|0}return}function Dt(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0;while(1){if(!(Ht(A,e)|0))break;a=Xt(A,1)|0;e=Xt(e,i)|0;A=a}a=n[(yt(n[((r[A>>0]|0)==0?f+20|0:f+24|0)>>2]|0,A)|0)+32>>2]|0;bc(a,n[A+40>>2]|0,n[e+40>>2]|0);return}function Xt(A,e){A=A|0;e=e|0;if(!A)BA(95594,94927,798,95598);else return n[((e|0)==0?A+48|0:A+52|0)>>2]|0;return 0}function Tt(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=v;v=v+16|0;f=n;i=r[A>>0]|0;if(i<<24>>24==(r[e>>0]|0)?!(+s[A+8>>3]!=+s[e+8>>3]):0){if(!(i<<24>>24))A=Ut(A,e,3,1)|0;else A=Ut(A,e,4,2)|0;v=n;return A|0}Gy(1,95620,f)|0;OA(169464,1);return 0}function xt(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0;t=1;while(1){if((t|0)>(i|0))break;l=Xt(A,f)|0;a=+s[l+8>>3]==+s[A+16>>3];do{if(!(r[A>>0]|0))if(a){a=(n[A+32>>2]|0)==1;break}else{a=(n[A+36>>2]|0)==3;break}else if(a){a=(n[A+32>>2]|0)==4;break}else{a=(n[A+36>>2]|0)==2;break}}while(0);A=l;t=t+1|0;e=a?0-e|0:e}return e|0}function Ut(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,l=0.0,t=0.0,c=0.0,b=0,o=0,u=0,v=0;t=+s[A+24>>3];c=+s[e+16>>3];do{if(!(t<c)?(a=+s[A+16>>3],l=+s[e+24>>3],!(a>l)):0){if(c<t&a<c){e=jt(A,e,i,r)|0;break}if(c<a&a<l){e=0-(jt(e,A,i,r)|0)|0;break}if(!(a==c))if(t==c){i=n[A+36>>2]|0;return((i|0)==(n[e+32>>2]|0)?0:(i|0)==(r|0)?1:-1)|0}else{i=n[A+32>>2]|0;e=(i|0)==(n[e+36>>2]|0)?0:(i|0)==(r|0)?1:-1;break}if(!(t==l))if(t<l){v=(n[A+36>>2]|0)==(i|0);i=Ot(n[e+32>>2]|0,n[A+32>>2]|0,i,r)|0;return(v?i:0-i|0)|0}else{v=(n[e+36>>2]|0)==(r|0);e=Ot(n[A+32>>2]|0,n[e+32>>2]|0,i,r)|0;e=v?e:0-e|0;break}v=n[A+32>>2]|0;u=n[e+32>>2]|0;if((v|0)==(u|0)){e=n[e+36>>2]|0;if((n[A+36>>2]|0)==(e|0)){e=0;break}}else e=n[e+36>>2]|0;o=(u|0)==(i|0);if((u|0)==(e|0)){if(o){e=1;break}if((u|0)==(r|0)){e=-1;break}if((v|0)!=(i|0)?(n[A+36>>2]|0)!=(i|0):0){e=1;break}if((v|0)!=(r|0)?(n[A+36>>2]|0)!=(r|0):0){e=-1;break}e=0;break}f=(e|0)==(r|0);if(o&f){e=(n[A+36>>2]|0)==(r|0);if((v|0)==(i|0)){if(!e){e=-1;break}}else if(e){e=1;break}e=0;break}b=(e|0)==(i|0);if((u|0)==(r|0)&b){e=(v|0)==(r|0);if((n[A+36>>2]|0)==(i|0)){if(!e){e=-1;break}}else if(e){e=1;break}e=0;break}if(!u){if(b){e=St(v,n[A+36>>2]|0,i)|0;break}if(f){e=0-(St(v,n[A+36>>2]|0,r)|0)|0;break}}f=n[A+36>>2]|0;if(o&(e|0)==0){e=St(f,v,i)|0;break}else{e=0-(St(f,v,r)|0)|0;break}}else e=0}while(0);return e|0}function jt(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0.0,t=0.0;l=+s[A+24>>3];t=+s[e+24>>3];do{if(l<t){A=n[A+36>>2]|0;if((A|0)==(i|0)?(n[e+32>>2]|0)==(r|0):0){A=-1;break}if((A|0)==(r|0)?(n[e+32>>2]|0)==(i|0):0){A=1;break}A=0}else{f=n[e+32>>2]|0;a=(f|0)==(r|0);if(l==t)if(a){A=Ot(n[A+36>>2]|0,n[e+36>>2]|0,i,r)|0;break}else{A=0-(Ot(n[e+36>>2]|0,n[A+36>>2]|0,i,r)|0)|0;break}if(a?(n[e+36>>2]|0)==(r|0):0){A=-1;break}if((f|0)==(i|0)?(n[e+36>>2]|0)==(i|0):0){A=1;break}A=0}}while(0);return A|0}function St(A,e,i){A=A|0;e=e|0;i=i|0;return((A|0)==(i|0)?((e|0)==(i|0))<<31>>31:1)|0}function Ot(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((A|0)==(r|0)){e=(A|0)==0;if(e)return 0;else e=e&1}return((A|0)!=0|(e|0)!=(i|0))<<31>>31|0}function Kt(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0;a=n[A+28>>2]|0;l=n[A+24>>2]|0;i=n[A+32>>2]|0;A=0;A:while(1){r=A+1|0;if((r|0)>=(l|0))break;f=a+(A<<2)|0;e=r;while(1){if((e|0)==(l|0)){A=r;continue A}switch(Tt(n[f>>2]|0,n[a+(e<<2)>>2]|0)|0){case 1:{sc(i,A,e);break}case-1:{sc(i,e,A);break}default:{}}e=e+1|0}}return}function _t(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+24|0;r=n[f>>2]|0;i=r+1|0;n[f>>2]=i;n[e+40>>2]=r;r=A+28|0;A=n[r>>2]|0;if(!A)A=Ng(i<<2)|0;else A=pg(A,i<<2)|0;n[r>>2]=A;n[A+((n[f>>2]|0)+-1<<2)>>2]=e;return}function qt(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,a=0;a=v;v=v+16|0;f=a;s[f>>3]=i;r=kF[n[A>>2]&31](A,f,512)|0;if(!r){r=Jg(24)|0;s[r+8>>3]=+s[f>>3];n[r+16>>2]=oy(24712,n[4345]|0)|0;kF[n[A>>2]&31](A,r,1)|0}f=n[r+16>>2]|0;kF[n[f>>2]&31](f,e,1)|0;v=a;return}function $t(A,e,i){A=A|0;e=e|0;i=i|0;cc(n[e+32>>2]|0);zN(n[e+28>>2]|0);zN(e);return}function Ac(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0;f=+s[e>>3];n=+s[i>>3];if(!(f>n))if(f<n)A=!(+s[e+8>>3]>=+s[i+8>>3])<<31>>31;else A=0;else A=!(+s[e+8>>3]<=+s[i+8>>3])&1;return A|0}function ec(A,e,i){A=A|0;e=e|0;i=i|0;ay(n[e+16>>2]|0)|0;zN(e);return}function ic(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0;n=+s[e>>3];f=+s[i>>3];return(n>f?1:(n<f)<<31>>31)|0}function rc(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,a=0.0,l=0,t=0;l=(r[e+36>>0]|0)!=0;t=i+40|0;do{if((n[e+24>>2]|0)==(i|0)){f=+s[t>>3];if(l){a=(+s[i+64>>3]+ +s[i+48>>3])*.5;break}else{a=+s[i+48>>3];f=(+s[i+56>>3]+f)*.5;break}}else if(l){a=(+s[i+64>>3]+ +s[i+48>>3])*.5;f=+s[i+56>>3];break}else{a=+s[i+64>>3];f=(+s[i+56>>3]+ +s[t>>3])*.5;break}}while(0);s[A>>3]=f;s[A+8>>3]=a;return}function fc(A,e){A=A|0;e=e|0;var i=0;i=n[A+20>>2]|0;if((i|0)!=(n[e+20>>2]|0)?(i|0)!=(n[e+24>>2]|0):0)i=n[A+24>>2]|0;return i|0}function nc(A,e){A=A|0;e=e|0;var i=0.0;i=(+s[e+64>>3]+ +s[e+48>>3])*.5;s[A>>3]=(+s[e+56>>3]+ +s[e+40>>3])*.5;s[A+8>>3]=i;return}function ac(A,e,i,f,a,l,t){A=A|0;e=e|0;i=+i;f=+f;a=+a;l=l|0;t=t|0;var c=0,b=0;r[A>>0]=e;s[A+8>>3]=i;if(f<a){c=0;b=l;e=t;i=f;f=a}else{c=1;b=t;e=l;i=a}s[A+24>>3]=f;s[A+16>>3]=i;n[A+36>>2]=e;n[A+32>>2]=b;r[A+1>>0]=c;return}function lc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=n[e+36>>2]|0;do{if((n[r+4>>2]|0)!=(i|0)){if((n[r+12>>2]|0)==(i|0)){r=~~((+s[e+56>>3]+ +s[e+40>>3])*.5);i=~~+s[e+48>>3];break}if((n[r+8>>2]|0)==(i|0)){r=~~+s[e+40>>3];i=~~((+s[e+64>>3]+ +s[e+48>>3])*.5);break}if((n[r>>2]|0)==(i|0)){r=~~+s[e+56>>3];i=~~((+s[e+64>>3]+ +s[e+48>>3])*.5)}else{r=0;i=0}}else{r=~~((+s[e+56>>3]+ +s[e+40>>3])*.5);i=~~+s[e+64>>3]}}while(0);n[A>>2]=r;n[A+4>>2]=i;return}function tc(A){A=A|0;var e=0,i=0,r=0,f=0,a=0;i=Jg(8)|0;n[i>>2]=A;r=i+4|0;n[r>>2]=Jg(A*12|0)|0;e=0;while(1){if((e|0)>=(A|0))break;a=po()|0;f=n[r>>2]|0;n[f+(e*12|0)+8>>2]=a;n[f+(e*12|0)>>2]=0;e=e+1|0}return i|0}function cc(A){A=A|0;var e=0,i=0,r=0;i=A+4|0;e=0;while(1){r=n[i>>2]|0;if((e|0)>=(n[A>>2]|0))break;ay(n[r+(e*12|0)+8>>2]|0)|0;e=e+1|0}zN(r);zN(A);return}function sc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=v;v=v+16|0;f=r;n[f>>2]=i;i=n[(n[A+4>>2]|0)+(e*12|0)+8>>2]|0;kF[n[i>>2]&31](i,f,1)|0;v=r;return}function bc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;r=v;v=v+16|0;f=r;n[f>>2]=i;A=A+4|0;a=n[(n[A>>2]|0)+(e*12|0)+8>>2]|0;kF[n[a>>2]&31](a,f,2)|0;n[f>>2]=e;i=n[(n[A>>2]|0)+(i*12|0)+8>>2]|0;kF[n[i>>2]&31](i,f,2)|0;v=r;return}function oc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=v;v=v+16|0;f=r;n[f>>2]=i;i=n[(n[A+4>>2]|0)+(e*12|0)+8>>2]|0;i=(kF[n[i>>2]&31](i,f,512)|0)!=0&1;v=r;return i|0}function uc(A){A=A|0;var e=0,i=0,r=0,f=0;e=n[A>>2]|0;switch(e|0){case 0:break;case 1:{n[(n[A+4>>2]|0)+4>>2]=0;break}default:{r=vc(e)|0;f=A+4|0;i=0;e=0;while(1){if((i|0)>=(n[A>>2]|0)){e=0;break}if(!(n[(n[f>>2]|0)+(i*12|0)>>2]|0))e=Bc(A,i,e,r)|0;i=i+1|0}while(1){i=kc(r)|0;if((i|0)<=-1)break;n[(n[f>>2]|0)+(i*12|0)+4>>2]=e;e=e+1|0}wc(r)}}return}function vc(A){A=A|0;var e=0;e=Jg(8)|0;n[e+4>>2]=Jg(A<<2)|0;n[e>>2]=-1;return e|0}function Bc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0;t=A+4|0;a=n[t>>2]|0;c=a+(e*12|0)|0;n[c>>2]=1;a=n[a+(e*12|0)+8>>2]|0;l=a+4|0;i=i+1|0;a=sy(a)|0;while(1){if(!a)break;f=n[(n[l>>2]|0)+8>>2]|0;if((f|0)<0)f=n[a+8>>2]|0;else f=a+(0-f)|0;f=n[f>>2]|0;if(!(n[(n[t>>2]|0)+(f*12|0)>>2]|0))i=Bc(A,f,i,r)|0;a=n[a>>2]|0}n[c>>2]=2;dc(r,e);return i+1|0}function kc(A){A=A|0;var e=0,i=0;e=n[A>>2]|0;if((e|0)==-1)A=-1;else{i=n[(n[A+4>>2]|0)+(e<<2)>>2]|0;n[A>>2]=e+-1;A=i}return A|0}function wc(A){A=A|0;zN(n[A+4>>2]|0);zN(A);return}function dc(A,e){A=A|0;e=e|0;var i=0;i=(n[A>>2]|0)+1|0;n[A>>2]=i;n[(n[A+4>>2]|0)+(i<<2)>>2]=e;return}function hc(A){A=A|0;var e=0,i=0,r=0;i=n[A>>2]|0;n[A+8>>2]=i;n[A+12>>2]=n[A+4>>2];e=A+16|0;A=0;while(1){if((A|0)>=(i|0))break;r=n[e>>2]|0;f[r+(A*40|0)+18>>1]=f[r+(A*40|0)+16>>1]|0;A=A+1|0}return}function gc(A){A=A|0;var e=0,i=0,r=0;e=n[A+8>>2]|0;n[A>>2]=e;n[A+4>>2]=n[A+12>>2];i=A+16|0;A=0;while(1){if((A|0)>=(e|0))break;r=n[i>>2]|0;f[r+(A*40|0)+16>>1]=f[r+(A*40|0)+18>>1]|0;A=A+1|0}e=e+2|0;while(1){if((A|0)>=(e|0))break;f[(n[i>>2]|0)+(A*40|0)+16>>1]=0;A=A+1|0}return}function Zc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=Jg(((n[A>>2]|0)*6|0)+(e<<1)<<2)|0;n[A+20>>2]=Jg((((n[A>>2]|0)*3|0)+e|0)*24|0)|0;r=n[A>>2]|0;f=A+16|0;A=0;while(1){if((A|0)>=(r|0))break;n[(n[f>>2]|0)+(A*40|0)+28>>2]=i;i=i+24|0;A=A+1|0}r=r+2|0;while(1){if((A|0)>=(r|0))break;n[(n[f>>2]|0)+(A*40|0)+28>>2]=i;i=i+(e<<2)|0;A=A+1|0}return}function Gc(A){A=A|0;var e=0;e=Jg(24)|0;n[e>>2]=0;n[e+16>>2]=Jg(A*40|0)|0;return e|0}function mc(A){A=A|0;var e=0,i=0;i=n[A+16>>2]|0;e=n[A>>2]|0;n[i+(e*40|0)+32>>2]=e;n[A>>2]=e+1;return i+(e*40|0)|0}function Ic(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,a=0;a=A+4|0;f=n[a>>2]|0;n[a>>2]=f+1;a=n[A+20>>2]|0;A=a+(f*24|0)|0;n[a+(f*24|0)+12>>2]=n[e+32>>2];n[a+(f*24|0)+16>>2]=n[i+32>>2];s[A>>3]=r;n[a+(f*24|0)+8>>2]=0;Cc(e,f);Cc(i,f);return A|0}function Cc(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;r=f[i>>1]|0;n[(n[A+28>>2]|0)+(r<<16>>16<<2)>>2]=e;f[i>>1]=r+1<<16>>16;return}function Mc(A){A=A|0;var e=0;e=A+16|0;zN(n[(n[e>>2]|0)+28>>2]|0);zN(n[e>>2]|0);zN(n[A+20>>2]|0);zN(A);return}function Qc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0;a=n[A>>2]|0;l=A+16|0;r=0;while(1){if((r|0)>=(a|0))break;n[(n[l>>2]|0)+(r*40|0)>>2]=-2147483648;r=r+1|0}To();A:do{if(!(jo(e)|0)){n[e+8>>2]=0;n[e>>2]=0;e=A+20|0;e:while(1){a=Oo()|0;if(!a){r=0;break A}n[a>>2]=0-(n[a>>2]|0);if((a|0)==(i|0)){r=0;break A}l=a+16|0;t=a+28|0;r=0;while(1){if((r|0)>=(f[l>>1]|0))continue e;c=(n[e>>2]|0)+((n[(n[t>>2]|0)+(r<<2)>>2]|0)*24|0)|0;b=Ec(A,c,a)|0;o=n[b>>2]|0;do{if((o|0)<0){u=~~-(+s[c>>3]+ +(n[a>>2]|0));if((o|0)==-2147483648){n[b>>2]=u;if(jo(b)|0){r=1;break A}n[b+8>>2]=a;n[b+12>>2]=c;break}else{if((o|0)>=(u|0))break;Ko(b,u);n[b+8>>2]=a;n[b+12>>2]=c;break}}}while(0);r=r+1|0}}}else r=1}while(0);return r|0}function Ec(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=n[e+12>>2]|0;if((r|0)==(n[i+32>>2]|0))r=n[e+16>>2]|0;return(n[A+16>>2]|0)+(r*40|0)|0}function yc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;a=n[A>>2]|0;jB(a,3,e)|0;e=n[a+92>>2]|0;do{if(e){i=n[e+16>>2]|0;l=n[i+12>>2]|0;n[A+76>>2]=l;r=n[i+16>>2]|0;n[A+84>>2]=r;f=A+80|0;n[f>>2]=n[i>>2];n[A+88>>2]=n[e+4>>2];i=A+152|0;r=n[i>>2]|n[r>>2];n[i>>2]=r;e=n[a+80>>2]|0;if(!e){n[A+60>>2]=0;e=999;break}else{a=n[e+16>>2]|0;n[A+60>>2]=n[a+12>>2];t=n[a+16>>2]|0;n[A+68>>2]=t;n[A+72>>2]=n[e+4>>2];n[i>>2]=r|n[t>>2];n[A+64>>2]=n[((l|0)==0?f:a)>>2];e=300;break}}else e=999}while(0);return e|0}function Yc(A){A=A|0;var e=0,i=0;e=n[A+60>>2]|0;if(!(gB(A)|0))if((e|0)!=0?(i=n[e>>2]|0,(i|0)!=0):0){ZF[i&127](A);A=0}else A=0;else A=1;return A|0}function Vc(A){A=A|0;var e=0,i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+4>>2]|0,i|0):0)ZF[i&127](A);n[(n[A>>2]|0)+24>>2]=0;EB(A);return}function Wc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,l=0.0;r=+s[e+504>>3];f=+s[e+512>>3];l=+s[e+352>>3];if(!(n[e+360>>2]|0)){a=+s[i>>3]+r;i=i+8|0;r=f}else a=-(f+ +s[i+8>>3]);f=+s[e+528>>3]*l*(+s[i>>3]+r);s[A>>3]=+s[e+520>>3]*l*a;s[A+8>>3]=f;return}function Jc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0,l=0.0,t=0.0,c=0.0;f=+s[A+504>>3];a=+s[A+512>>3];l=+s[A+352>>3];t=+s[A+520>>3]*l;l=+s[A+528>>3]*l;A:do{if(!(n[A+360>>2]|0)){A=0;while(1){if((A|0)>=(r|0))break A;s[i+(A<<4)>>3]=(+s[e+(A<<4)>>3]+f)*t;s[i+(A<<4)+8>>3]=(+s[e+(A<<4)+8>>3]+a)*l;A=A+1|0}}else{A=0;while(1){if((A|0)>=(r|0))break A;c=-(t*(+s[e+(A<<4)+8>>3]+a));s[i+(A<<4)+8>>3]=(+s[e+(A<<4)>>3]+f)*l;s[i+(A<<4)>>3]=c;A=A+1|0}}}while(0);return i|0}function Nc(A,e){A=A|0;e=e|0;var i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+8>>2]|0,i|0):0)ZF[i&127](A);return}function zc(A){A=A|0;var e=0,i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+12>>2]|0,i|0):0)ZF[i&127](A);QB(A);return}function pc(A){A=A|0;var e=0,i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+24>>2]|0,i|0):0)ZF[i&127](A);return}function Rc(A){A=A|0;var e=0,i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+28>>2]|0,i|0):0)ZF[i&127](A);return}function Pc(A){A=A|0;var e=0,i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+16>>2]|0,i|0):0){e=n[A+160>>2]|0;CF[i&31](A,n[(n[(n[A>>2]|0)+308>>2]|0)+(e<<2)>>2]|0,e,n[A+156>>2]|0)}return}function Hc(A){A=A|0;var e=0,i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+20>>2]|0,i|0):0)ZF[i&127](A);return}function Fc(A,e){A=A|0;e=e|0;var i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+32>>2]|0,i|0):0)ZF[i&127](A);return}function Lc(A,e){A=A|0;e=e|0;var i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+36>>2]|0,i|0):0)ZF[i&127](A);return}function Dc(A){A=A|0;var e=0,i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+40>>2]|0,i|0):0)ZF[i&127](A);return}function Xc(A){A=A|0;var e=0,i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+44>>2]|0,i|0):0)ZF[i&127](A);return}function Tc(A){A=A|0;var e=0,i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+48>>2]|0,i|0):0)ZF[i&127](A);return}function xc(A){A=A|0;var e=0,i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+52>>2]|0,i|0):0)ZF[i&127](A);return}function Uc(A,e){A=A|0;e=e|0;var i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+56>>2]|0,i|0):0)ZF[i&127](A);return}function jc(A){A=A|0;var e=0,i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+60>>2]|0,i|0):0)ZF[i&127](A);return}function Sc(A,e){A=A|0;e=e|0;var i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+64>>2]|0,i|0):0)ZF[i&127](A);return}function Oc(A){A=A|0;var e=0,i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+68>>2]|0,i|0):0)ZF[i&127](A);return}function Kc(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0;a=n[A+60>>2]|0;if(a|0?(l=n[a+72>>2]|0,l|0):0)MF[l&7](A,e,i,r,f);return}function _c(A){A=A|0;var e=0,i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+76>>2]|0,i|0):0)ZF[i&127](A);return}function qc(A,e){A=A|0;e=e|0;var i=0,r=0;i=n[A+60>>2]|0;if(i|0?(r=n[i+80>>2]|0,r|0):0)GF[r&31](A,e);return}function $c(A){A=A|0;var e=0,i=0;e=n[A+60>>2]|0;if(e|0?(i=n[e+84>>2]|0,i|0):0)ZF[i&127](A);return}function As(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0;s=v;v=v+48|0;f=s+32|0;l=s;t=s+16|0;c=n[A+60>>2]|0;b=n[i>>2]|0;do{if(b|0?r[b>>0]|0:0){b=n[A+16>>2]|0;if(b|0?(n[b+144>>2]|0)==0:0)break;if(!(n[A+152>>2]&8192)){n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];Wc(t,A,f);n[l>>2]=n[t>>2];n[l+4>>2]=n[t+4>>2];n[l+8>>2]=n[t+8>>2];n[l+12>>2]=n[t+12>>2]}else{n[l>>2]=n[e>>2];n[l+4>>2]=n[e+4>>2];n[l+8>>2]=n[e+8>>2];n[l+12>>2]=n[e+12>>2]}if(c|0?(a=n[c+88>>2]|0,a|0):0){n[f>>2]=n[l>>2];n[f+4>>2]=n[l+4>>2];n[f+8>>2]=n[l+8>>2];n[f+12>>2]=n[l+12>>2];mF[a&127](A,f,i)}}}while(0);v=s;return}function es(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0;f=n[A+60>>2]|0;a=(n[A+16>>2]|0)+16|0;t=Vz(e,58)|0;l=(t|0)!=0;if(l)r[t>>0]=0;if(f|0?(is(n[A+68>>2]|0,e,a),i=n[f+92>>2]|0,i|0):0)GF[i&31](A,a);if(l)r[t>>0]=58;return}function is(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,s=0;s=v;v=v+32|0;a=s+16|0;c=s+8|0;t=s;n[i>>2]=e;n[i+32>>2]=5;r=hb(e)|0;f=n[A+16>>2]|0;if(!((f|0)!=0?(rP(r,f,n[A+20>>2]|0,4,37)|0)!=0:0))l=3;A:do{if((l|0)==3){switch(gb(e,i,n[A+24>>2]|0)|0){case 0:break A;case 1:break;default:{Gy(1,95812,a)|0;break A}}A=Ng((Az(e)|0)+16|0)|0;n[t>>2]=e;_p(A,95777,t)|0;if(Lh(A)|0){n[c>>2]=e;Gy(0,95786,c)|0}zN(A)}}while(0);v=s;return}function rs(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0;f=n[A+60>>2]|0;a=(n[A+16>>2]|0)+56|0;t=Vz(e,58)|0;l=(t|0)!=0;if(l)r[t>>0]=0;if(f|0?(is(n[A+68>>2]|0,e,a),i=n[f+92>>2]|0,i|0):0)GF[i&31](A,a);if(l)r[t>>0]=58;return}function fs(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,a=0,l=0,t=0;a=n[A+60>>2]|0;l=A+16|0;t=(n[l>>2]|0)+96|0;if(a|0?(is(n[A+68>>2]|0,e,t),f=n[a+92>>2]|0,f|0):0)GF[f&31](A,t);t=n[l>>2]|0;n[t+136>>2]=i;c[t+140>>2]=r;return}function ns(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,b=0;b=v;v=v+16|0;c=b;t=n[A+60>>2]|0;A=n[A+16>>2]|0;n[A+160>>2]=e;A:do{if((e|0)!=0&(t|0)!=0){t=A+144|0;l=A+152|0;a=A+148|0;A=e;e:while(1){f=A+4|0;A=n[A>>2]|0;if(!A)break A;i:do{switch(r[A>>0]|0){case 115:{if(!(az(A,95833)|0)){n[t>>2]=3;A=f;continue e}if(!(az(A,95854)|0)){i=115;while(1){e=A+1|0;if(!(i<<24>>24))break;A=e;i=r[e>>0]|0}s[l>>3]=+AP(e);A=f;continue e}break}case 100:{if(!(az(A,122119)|0)){n[t>>2]=1;A=f;continue e}if(!(az(A,122112)|0)){n[t>>2]=2;A=f;continue e}break}case 105:{if(az(A,119127)|0?az(A,95839)|0:0)break i;n[t>>2]=0;A=f;continue e}case 98:{if(!(az(A,95849)|0)){s[l>>3]=2.0;A=f;continue e}break}case 102:{if(!(az(A,95867)|0)){n[a>>2]=1;A=f;continue e}break}case 117:{if(!(az(A,95874)|0)){n[a>>2]=0;A=f;continue e}break}case 116:{if(!(az(A,95883)|0)){A=f;continue e}break}default:{}}}while(0);n[c>>2]=A;Gy(0,95891,c)|0;A=f}}}while(0);v=b;return}function as(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0;t=v;v=v+32|0;a=t;i=n[A+60>>2]|0;if((i|0?(l=i+96|0,f=n[l>>2]|0,f|0):0)?n[(n[A+16>>2]|0)+144>>2]|0:0){i=e+16|0;s[a>>3]=(+s[i>>3]+ +s[e>>3])*.5;s[a+8>>3]=(+s[e+24>>3]+ +s[e+8>>3])*.5;e=a+16|0;n[e>>2]=n[i>>2];n[e+4>>2]=n[i+4>>2];n[e+8>>2]=n[i+8>>2];n[e+12>>2]=n[i+12>>2];if(!(n[A+152>>2]&8192)){Jc(A,a,a,2)|0;f=n[l>>2]|0}mF[f&127](A,a,r)}v=t;return}function ls(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;u=v;v=v+48|0;b=u;f=n[A+60>>2]|0;if((f|0?(o=f+100|0,n[o>>2]|0):0)?(s=A+16|0,c=n[s>>2]|0,n[c+144>>2]|0):0){if(!(r&4)){f=r;a=0}else{f=r&-5;r=c+16|0;a=b;l=r;t=a+40|0;do{n[a>>2]=n[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(t|0));a=r;l=c+56|0;t=a+40|0;do{n[a>>2]=n[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(t|0));a=1}if(!(n[A+152>>2]&8192)){r=i+10|0;if((n[42405]|0)<(i|0)){n[42405]=r;r=pg(n[42406]|0,r<<4)|0;n[42406]=r}else r=n[42406]|0;Jc(A,e,r,i)|0;CF[n[o>>2]&31](A,r,i,f)}else CF[n[o>>2]&31](A,e,i,f);if(a|0){a=(n[s>>2]|0)+16|0;l=b;t=a+40|0;do{n[a>>2]=n[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(t|0))}}v=u;return}function ts(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;r=v;v=v+64|0;f=r;n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];a=f+32|0;e=e+16|0;n[a>>2]=n[e>>2];n[a+4>>2]=n[e+4>>2];n[a+8>>2]=n[e+8>>2];n[a+12>>2]=n[e+12>>2];s[f+16>>3]=+s[f>>3];s[f+24>>3]=+s[f+40>>3];s[f+48>>3]=+s[a>>3];s[f+56>>3]=+s[f+8>>3];ls(A,f,4,i);v=r;return}function cs(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0,c=0;t=n[A+60>>2]|0;do{if((t|0?(c=t+104|0,l=n[c>>2]|0,l|0):0)?n[(n[A+16>>2]|0)+144>>2]|0:0){if(n[A+152>>2]&8192|0){QF[l&15](A,e,i,r,f,a&255);break}l=i+10|0;if((n[42405]|0)<(i|0)){n[42405]=l;l=pg(n[42406]|0,l<<4)|0;n[42406]=l}else l=n[42406]|0;Jc(A,e,l,i)|0;QF[n[c>>2]&15](A,l,i,r,f,a&255)}}while(0);return}function ss(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;r=n[A+60>>2]|0;do{if((r|0?(a=r+108|0,f=n[a>>2]|0,f|0):0)?n[(n[A+16>>2]|0)+144>>2]|0:0){if(n[A+152>>2]&8192|0){mF[f&127](A,e,i);break}r=i+10|0;if((n[42405]|0)<(i|0)){n[42405]=r;r=pg(n[42406]|0,r<<4)|0;n[42406]=r}else r=n[42406]|0;Jc(A,e,r,i)|0;mF[n[a>>2]&127](A,r,i)}}while(0);return}function bs(A,e){A=A|0;e=e|0;var i=0,f=0;i=n[A+60>>2]|0;if((e|0?!((i|0)==0|(r[e>>0]|0)==0):0)?(f=n[i+112>>2]|0,f|0):0)GF[f&31](A,e);return}function os(A,e,i,f,a,l){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;l=l|0;var t=0.0,c=0.0,b=0,o=0,u=0.0,B=0.0,k=0.0,w=0.0,d=0,h=0.0,g=0.0,Z=0.0,G=0.0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0;V=v;v=v+112|0;Q=V+64|0;Y=V;o=V+96|0;m=V+48|0;I=V+32|0;E=n[A+60>>2]|0;if(!A)BA(96061,95944,691,95955);if(!e)BA(95974,95944,692,95955);if(!(r[e>>0]|0))BA(95979,95944,693,95955);y=OB(e)|0;if(!y){if((E|0)!=0&($G(e)|0)!=0?(b=n[E+116>>2]|0,b|0):0)MF[b&7](A,e,i,f,a&255)}else{d=A+432|0;n[Q>>2]=n[d>>2];n[Q+4>>2]=n[d+4>>2];n[Q+8>>2]=n[d+8>>2];n[Q+12>>2]=n[d+12>>2];qB(o,y,Q);d=n[o>>2]|0;b=n[o+4>>2]|0;if(!((d|0)<1&(b|0)<1)){o=Y+16|0;n[o>>2]=n[i>>2];n[o+4>>2]=n[i+4>>2];n[o+8>>2]=n[i+8>>2];n[o+12>>2]=n[i+12>>2];n[Y>>2]=n[i>>2];n[Y+4>>2]=n[i+4>>2];n[Y+8>>2]=n[i+8>>2];n[Y+12>>2]=n[i+12>>2];C=Y+8|0;M=Y+24|0;e=1;while(1){if((e|0)>=(f|0))break;W=i+(e<<4)|0;Z=+s[W>>3];s[Y>>3]=+s[(+s[Y>>3]<Z?Y:W)>>3];G=+s[i+(e<<4)+8>>3];s[C>>3]=+s[(+s[C>>3]<G?Y:W)+8>>3];s[o>>3]=+s[(+s[o>>3]>Z?o:W)>>3];s[M>>3]=+s[(+s[M>>3]>G?o:W)+8>>3];e=e+1|0}c=+s[o>>3];t=+s[Y>>3];h=c-t;g=+s[M>>3];Z=+s[C>>3];G=g-Z;u=+(b|0);B=+(d|0);k=h/B;w=G/u;A:do{switch(us(l)|0){case 1:if(k<w){B=k*B;u=k*u;break A}else{B=w*B;u=w*u;break A}case 2:{B=k*B;break}case 3:{u=w*u;break}case 4:{B=k*B;u=w*u;break}default:{}}}while(0);if(B<h){h=(h-B)*.5;t=t+h;s[Y>>3]=t;c=c-h;s[o>>3]=c}if(u<G){G=(G-u)*.5;s[C>>3]=Z+G;s[M>>3]=g-G}if(!(n[A+152>>2]&8192)){n[Q>>2]=n[Y>>2];n[Q+4>>2]=n[Y+4>>2];n[Q+8>>2]=n[Y+8>>2];n[Q+12>>2]=n[Y+12>>2];Wc(m,A,Q);n[Y>>2]=n[m>>2];n[Y+4>>2]=n[m+4>>2];n[Y+8>>2]=n[m+8>>2];n[Y+12>>2]=n[m+12>>2];n[Q>>2]=n[o>>2];n[Q+4>>2]=n[o+4>>2];n[Q+8>>2]=n[o+8>>2];n[Q+12>>2]=n[o+12>>2];Wc(I,A,Q);n[o>>2]=n[I>>2];n[o+4>>2]=n[I+4>>2];n[o+8>>2]=n[I+8>>2];n[o+12>>2]=n[I+12>>2];c=+s[o>>3];t=+s[Y>>3]}if(t>c){s[Y>>3]=c;s[o>>3]=t}t=+s[C>>3];c=+s[M>>3];if(t>c){s[C>>3]=c;s[M>>3]=t}if(E|0){W=n[A+72>>2]|0;n[Q>>2]=n[Y>>2];n[Q+4>>2]=n[Y+4>>2];n[Q+8>>2]=n[Y+8>>2];n[Q+12>>2]=n[Y+12>>2];n[Q+16>>2]=n[Y+16>>2];n[Q+20>>2]=n[Y+20>>2];n[Q+24>>2]=n[Y+24>>2];n[Q+28>>2]=n[Y+28>>2];ws(A,y,Q,a,W)}}}v=V;return}function us(A){A=A|0;if(r[A>>0]|0)if(Tz(A,95987)|0)if(Tz(A,95993)|0)if(!(Tz(A,96e3)|0))A=4;else A=(UI(A)|0)<<24>>24!=0&1;else A=3;else A=2;else A=0;return A|0}function vs(A,e){A=A|0;e=+e;if(n[A+60>>2]|0)s[(n[A+16>>2]|0)+152>>3]=e;return}function Bs(A,e){A=A|0;e=e|0;e=jB(A,1,e)|0;if(!e)e=999;else{e=n[e+16>>2]|0;n[A+184>>2]=n[e+4>>2];n[A+172>>2]=n[e+12>>2];n[A+176>>2]=n[e>>2];n[A+180>>2]=n[e+16>>2];e=300}return e|0}function ks(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;t=v;v=v+16|0;f=t;lW(e,122277,280,1)|0;a=e+16|0;n[(n[a>>2]|0)+144>>2]=A;if((FV(e)|0)!=(e|0))n[(n[(FV(e)|0)+16>>2]|0)+144>>2]=A;r=fY(e,96005)|0;i=A+172|0;if((r|0)!=0?(n[i>>2]=0,(Bs(A,r)|0)==999):0){i=SB(A,1,r)|0;n[f>>2]=r;n[f+4>>2]=i;Gy(1,96012,f)|0;i=-1}else{r=n[i>>2]|0;if(!r)i=-1;else{Xh(1);Bg(e,n[n[A+180>>2]>>2]&1);i=n[(n[a>>2]|0)+8>>2]|0;n[(n[(FV(e)|0)+16>>2]|0)+8>>2]=i;Dm();i=n[r>>2]|0;if(i|0?(ZF[i&127](e),l=n[r+4>>2]|0,l|0):0)n[(n[a>>2]|0)+148>>2]=l;Xh(0);i=0}}v=t;return i|0}function ws(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0,t=0,c=0,s=0,b=0,o=0;o=v;v=v+176|0;s=o+8|0;c=o;l=o+40|0;if(!A)BA(96061,96065,52,96079);if(!e)BA(96091,96065,53,96079);t=n[e+8>>2]|0;if(!t)BA(96094,96065,54,96079);if(!(r[t>>0]|0))BA(96103,96065,55,96079);np(l,n[e+28>>2]|0)|0;t=l+(Az(l)|0)|0;r[t>>0]=58;r[t+1>>0]=0;kR(l,a)|0;if((ds(A,l)|0)==999){n[c>>2]=l;Gy(0,96115,c)|0}a=n[A+92>>2]|0;if(a|0?(b=n[a>>2]|0,b|0):0){n[s>>2]=n[i>>2];n[s+4>>2]=n[i+4>>2];n[s+8>>2]=n[i+8>>2];n[s+12>>2]=n[i+12>>2];n[s+16>>2]=n[i+16>>2];n[s+20>>2]=n[i+20>>2];n[s+24>>2]=n[i+24>>2];n[s+28>>2]=n[i+28>>2];CF[b&31](A,e,s,f)}v=o;return}function ds(A,e){A=A|0;e=e|0;e=jB(n[A>>2]|0,4,e)|0;if(!e)e=999;else{e=n[e+16>>2]|0;n[A+92>>2]=n[e+12>>2];n[A+96>>2]=n[e>>2];e=300}return e|0}function hs(A){A=A|0;return 1}function gs(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+336|0;s[e>>3]=+s[e>>3]+10.0/+s[A+352>>3];r[A+537>>0]=1;return 0}function Zs(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+336|0;s[e>>3]=+s[e>>3]-10.0/+s[A+352>>3];r[A+537>>0]=1;return 0}function Gs(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+344|0;s[e>>3]=+s[e>>3]-10.0/+s[A+352>>3];r[A+537>>0]=1;return 0}function ms(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+344|0;s[e>>3]=+s[e>>3]+10.0/+s[A+352>>3];r[A+537>>0]=1;return 0}function Is(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+352|0;s[e>>3]=+s[e>>3]*1.1;r[A+537>>0]=1;return 0}function Cs(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+352|0;s[e>>3]=+s[e>>3]*.9090909090909091;r[A+537>>0]=1;return 0}function Ms(A){A=A|0;var e=0,i=0,f=0,a=0.0,l=0.0;i=A+536|0;e=(r[i>>0]|0)==0;r[i>>0]=e&1;if(e){e=n[A+448>>2]|0;i=n[A+452>>2]|0;l=+(e>>>0);a=+(i>>>0);f=l/+(e|0)<a/+(i|0);s[A+352>>3]=(f?l:a)/+((f?e:i)|0);i=A+336|0;n[i>>2]=0;n[i+4>>2]=0;n[i+8>>2]=0;n[i+12>>2]=0;r[A+537>>0]=1}return 0}function Qs(A){A=A|0;var e=0,i=0;e=n[(n[A>>2]|0)+168>>2]|0;i=A+580|0;if(!(n[i>>2]|0)){n[i>>2]=e;i=(n[e+16>>2]|0)+112|0;r[i>>0]=r[i>>0]|2;Xs(A,e)}dd(A,e);r[A+540>>0]=1;return}function Es(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0.0,l=0.0,t=0,c=0;c=v;v=v+16|0;f=c;switch(e|0){case 1:{n[f>>2]=n[i>>2];n[f+4>>2]=n[i+4>>2];n[f+8>>2]=n[i+8>>2];n[f+12>>2]=n[i+12>>2];ps(A,f);Ds(A);r[A+538>>0]=1;r[A+541>>0]=1;t=13;break}case 2:{r[A+538>>0]=1;r[A+541>>0]=2;t=13;break}case 3:{n[f>>2]=n[i>>2];n[f+4>>2]=n[i+4>>2];n[f+8>>2]=n[i+8>>2];n[f+12>>2]=n[i+12>>2];ps(A,f);r[A+538>>0]=1;r[A+541>>0]=3;t=13;break}case 4:{r[A+536>>0]=0;if(!(n[A+360>>2]|0)){f=A+352|0;l=+s[f>>3];e=A+336|0;s[e>>3]=(+s[i>>3]-+((n[A+448>>2]|0)>>>0)*.5)*.10000000000000009/(+s[A+520>>3]*l)+ +s[e>>3];a=+s[i+8>>3]-+((n[A+452>>2]|0)>>>0)*.5;e=A+528|0}else{f=A+352|0;l=+s[f>>3];e=A+336|0;s[e>>3]=+s[e>>3]-(+s[i+8>>3]-+((n[A+452>>2]|0)>>>0)*.5)*.10000000000000009/(+s[A+528>>3]*l);a=+s[i>>3]-+((n[A+448>>2]|0)>>>0)*.5;e=A+520|0}t=A+344|0;s[t>>3]=a*.10000000000000009/(+s[e>>3]*l)+ +s[t>>3];s[f>>3]=l*1.1;t=13;break}case 5:{r[A+536>>0]=0;t=A+352|0;l=+s[t>>3]*.9090909090909091;s[t>>3]=l;if(!(n[A+360>>2]|0)){f=A+336|0;s[f>>3]=+s[f>>3]-(+s[i>>3]-+((n[A+448>>2]|0)>>>0)*.5)*.10000000000000009/(+s[A+520>>3]*l);a=+s[i+8>>3]-+((n[A+452>>2]|0)>>>0)*.5;f=A+528|0}else{f=A+336|0;s[f>>3]=(+s[i+8>>3]-+((n[A+452>>2]|0)>>>0)*.5)*.10000000000000009/(+s[A+528>>3]*l)+ +s[f>>3];a=+s[i>>3]-+((n[A+448>>2]|0)>>>0)*.5;f=A+520|0}t=A+344|0;s[t>>3]=+s[t>>3]-a*.10000000000000009/(+s[f>>3]*l);t=13;break}default:{}}if((t|0)==13)r[A+537>>0]=1;A=A+560|0;n[A>>2]=n[i>>2];n[A+4>>2]=n[i+4>>2];n[A+8>>2]=n[i+8>>2];n[A+12>>2]=n[i+12>>2];v=c;return}function ys(A,e,i){A=A|0;e=e|0;i=i|0;r[A+538>>0]=0;r[A+541>>0]=0;return}function Ys(A,e){A=A|0;e=e|0;var i=0,f=0.0,a=0.0,l=0,t=0.0,c=0;c=v;v=v+16|0;i=c;l=A+560|0;t=(+s[e>>3]-+s[l>>3])/+s[A+520>>3];a=(+s[e+8>>3]-+s[A+568>>3])/+s[A+528>>3];if(!(+Y(+t)<.0001&+Y(+a)<.0001)){switch(r[A+541>>0]|0){case 0:{n[i>>2]=n[e>>2];n[i+4>>2]=n[e+4>>2];n[i+8>>2]=n[e+8>>2];n[i+12>>2]=n[e+12>>2];ps(A,i);break}case 2:{f=+s[A+352>>3];if(!(n[A+360>>2]|0)){i=A+336|0;s[i>>3]=+s[i>>3]-t/f;i=A+344|0;s[i>>3]=+s[i>>3]-a/f}else{i=A+336|0;s[i>>3]=+s[i>>3]-a/f;i=A+344|0;s[i>>3]=+s[i>>3]+t/f}r[A+537>>0]=1;break}default:{}}n[l>>2]=n[e>>2];n[l+4>>2]=n[e+4>>2];n[l+8>>2]=n[e+8>>2];n[l+12>>2]=n[e+12>>2]}v=c;return}function Vs(A,e,i){A=A|0;e=e|0;i=i|0;return}function Ws(A){A=A|0;return}function Js(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0;c=n[A>>2]|0;if(e){e=pR(e,123632)|0;if(e|0){t=hB(e,0)|0;hR(e)|0;f=5}}else{t=hB(n[13853]|0,0)|0;f=5}if((f|0)==5?t|0:0){a=c+168|0;e=n[a>>2]|0;if(e|0){f=n[c+172>>2]|0;if((f|0)!=0?(l=n[f+4>>2]|0,(l|0)!=0):0){ZF[l&127](e);e=n[a>>2]|0}gg(e);NY(n[a>>2]|0)|0}oW(t,0,122277,280,1);oW(t,1,122241,304,1);oW(t,2,122254,176,1);n[a>>2]=t;n[(n[t+16>>2]|0)+144>>2]=c;if((mk(c,t,i)|0)!=-1){n[A+580>>2]=0;n[A+576>>2]=0;r[A+537>>0]=1}}return}function Ns(A,e){A=A|0;e=e|0;A=n[A>>2]|0;mk(A,n[A+168>>2]|0,e)|0;return}function zs(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0;a=n[A>>2]|0;f=a+160|0;r=n[f>>2]|0;if((r|0)!=0?(n[a+164>>2]|0)==0:0){t=a+192|0;l=n[t>>2]|0;n[f>>2]=0;n[t>>2]=0;f=l}else{f=0;r=0}Ck(a,n[a+168>>2]|0,e,i)|0;if(r|0){t=n[A>>2]|0;n[t+160>>2]=r;n[t+192>>2]=f}return}function ps(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0.0,t=0.0,c=0.0,b=0;f=v;v=v+80|0;i=f+48|0;a=f;b=f+32|0;n[i>>2]=n[e>>2];n[i+4>>2]=n[e+4>>2];n[i+8>>2]=n[e+8>>2];n[i+12>>2]=n[e+12>>2];Rs(b,A,i);c=+s[b>>3];t=+s[b+8>>3];l=1.0/+s[A+352>>3];s[a+16>>3]=l+c;s[a+24>>3]=l+t;s[a>>3]=c-l;s[a+8>>3]=t-l;e=n[(n[A>>2]|0)+168>>2]|0;n[i>>2]=n[a>>2];n[i+4>>2]=n[a+4>>2];n[i+8>>2]=n[a+8>>2];n[i+12>>2]=n[a+12>>2];n[i+16>>2]=n[a+16>>2];n[i+20>>2]=n[a+20>>2];n[i+24>>2]=n[a+24>>2];n[i+28>>2]=n[a+28>>2];e=Ps(e,i)|0;i=A+576|0;if((e|0)!=(n[i>>2]|0)){Hs(A);n[i>>2]=e;Fs(A);r[A+537>>0]=1}v=f;return}function Rs(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,l=0;if(!(n[e+360>>2]|0)){r=+s[e+352>>3];f=+s[i+8>>3];a=r;l=e+528|0;r=+s[i>>3]/(+s[e+520>>3]*r)-+s[e+504>>3]}else{r=+s[e+352>>3];f=-+s[i>>3];a=r;l=e+520|0;r=+s[i+8>>3]/(+s[e+528>>3]*r)-+s[e+504>>3]}a=f/(+s[l>>3]*a)-+s[e+512>>3];s[A>>3]=r;s[A+8>>3]=a;return}function Ps(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;a=v;v=v+32|0;f=a;r=CV(A)|0;A:while(1){if(!r){r=9;break}i=bY(A,r)|0;while(1){if(!i)break;n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];n[f+16>>2]=n[e+16>>2];n[f+20>>2]=n[e+20>>2];n[f+24>>2]=n[e+24>>2];n[f+28>>2]=n[e+28>>2];if((LC(i,f)|0)<<24>>24){r=6;break A}i=uY(A,i)|0}r=MV(A,r)|0}do{if((r|0)!=6)if((r|0)==9){i=QV(A)|0;while(1){if(!i)break;n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];n[f+16>>2]=n[e+16>>2];n[f+20>>2]=n[e+20>>2];n[f+24>>2]=n[e+24>>2];n[f+28>>2]=n[e+28>>2];if((PC(i,f)|0)<<24>>24){r=12;break}i=EV(A,i)|0}if((r|0)==12)break;n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];n[f+16>>2]=n[e+16>>2];n[f+20>>2]=n[e+20>>2];n[f+24>>2]=n[e+24>>2];n[f+28>>2]=n[e+28>>2];i=Ls(A,f)|0;if(!i){i=A;break}else break}}while(0);v=a;return i|0}function Hs(A){A=A|0;var e=0;e=n[A+576>>2]|0;A:do{if(e|0)switch(KV(e)|0){case 0:{e=(n[e+16>>2]|0)+112|0;r[e>>0]=r[e>>0]&-2;break A}case 1:{e=(n[e+16>>2]|0)+117|0;r[e>>0]=r[e>>0]&-2;break A}case 2:{e=(n[e+16>>2]|0)+115|0;r[e>>0]=r[e>>0]&-2;break A}default:break A}}while(0);n[A+584>>2]=0;return}function Fs(A){A=A|0;var e=0,i=0;i=A+584|0;e=n[i>>2]|0;if(e|0){zN(e);n[i>>2]=0}e=n[A+576>>2]|0;A:do{if(e|0)switch(KV(e)|0){case 0:{A=(n[e+16>>2]|0)+112|0;r[A>>0]=r[A>>0]|1;A=Sy(e,0,96229,0)|0;if(!A)break A;n[i>>2]=Eg(nY(e,A)|0,e)|0;break A}case 1:{A=(n[e+16>>2]|0)+117|0;r[A>>0]=r[A>>0]|1;A=Sy(HV(e)|0,1,96229,0)|0;if(!A)break A;n[i>>2]=Eg(nY(e,A)|0,e)|0;break A}case 2:{A=(n[e+16>>2]|0)+115|0;r[A>>0]=r[A>>0]|1;A=Sy(HV(n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0,2,96229,0)|0;if(!A)break A;n[i>>2]=Eg(nY(e,A)|0,e)|0;break A}default:break A}}while(0);return}function Ls(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0.0,u=0.0;b=v;v=v+32|0;r=b;a=n[A+16>>2]|0;l=n[a+180>>2]|0;t=a+184|0;i=1;while(1){if((i|0)>(l|0)){c=4;break}f=n[(n[t>>2]|0)+(i<<2)>>2]|0;n[r>>2]=n[e>>2];n[r+4>>2]=n[e+4>>2];n[r+8>>2]=n[e+8>>2];n[r+12>>2]=n[e+12>>2];n[r+16>>2]=n[e+16>>2];n[r+20>>2]=n[e+20>>2];n[r+24>>2]=n[e+24>>2];n[r+28>>2]=n[e+28>>2];f=Ls(f,r)|0;if(!f)i=i+1|0;else{A=f;break}}do{if((c|0)==4){u=+s[a+24>>3];o=+s[a+40>>3];if(((+s[e+16>>3]>=+s[a+16>>3]?+s[a+32>>3]>=+s[e>>3]:0)?+s[e+24>>3]>=u:0)?o>=+s[e+8>>3]:0)break;A=0}}while(0);v=b;return A|0}function Ds(A){A=A|0;var e=0,i=0,f=0;f=A+580|0;e=n[f>>2]|0;A:do{if(e|0)switch(KV(e)|0){case 0:{i=(n[e+16>>2]|0)+112|0;r[i>>0]=r[i>>0]&-7|4;break A}case 1:{i=(n[e+16>>2]|0)+117|0;r[i>>0]=r[i>>0]&-7|4;break A}case 2:{i=(n[e+16>>2]|0)+115|0;r[i>>0]=r[i>>0]&-7|4;break A}default:break A}}while(0);e=A+588|0;i=n[e>>2]|0;if(i|0){zN(i);n[e>>2]=0}e=n[A+576>>2]|0;n[f>>2]=e;A:do{if(e|0)switch(KV(e)|0){case 0:{f=(n[e+16>>2]|0)+112|0;r[f>>0]=r[f>>0]|2;Xs(A,e);break A}case 1:{f=(n[e+16>>2]|0)+117|0;r[f>>0]=r[f>>0]|2;Ts(A,e);break A}case 2:{f=(n[e+16>>2]|0)+115|0;r[f>>0]=r[f>>0]|2;xs(A,e);break A}default:break A}}while(0);return}function Xs(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;i=A+592|0;do{if((FV(e)|0)==(e|0))if(!(HY(e)|0)){DB(i,0,96286);break}else{DB(i,0,96278);break}else DB(i,0,96292)}while(0);DB(i,1,qY(e)|0);n[A+596>>2]=2;f=A+604|0;i=0;r=2;while(1){i=$y(e,0,i)|0;if(!i)break;DB(f,r,n[i+8>>2]|0);DB(f,r+1|0,nY(e,i)|0);DB(f,r+2|0,0);r=r+3|0}n[A+608>>2]=r;i=Sy(e,0,96264,0)|0;if(!i){i=Sy(e,0,96269,0)|0;if(i|0)a=11}else a=11;if((a|0)==11)n[A+588>>2]=Eg(nY(e,i)|0,e)|0;return}function Ts(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0;f=A+592|0;DB(f,0,96273);DB(f,1,qY(e)|0);n[A+596>>2]=2;f=A+604|0;a=FV(HV(e)|0)|0;r=2;i=0;while(1){i=$y(a,1,i)|0;if(!i)break;DB(f,r,n[i+8>>2]|0);DB(f,r|1,nY(e,i)|0);r=r+2|0}n[A+608>>2]=r;i=Sy(HV(e)|0,1,96264,0)|0;if(!i){i=Sy(HV(e)|0,1,96269,0)|0;if(i|0)l=6}else l=6;if((l|0)==6)n[A+588>>2]=Eg(nY(e,i)|0,e)|0;return}function xs(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0;l=A+592|0;DB(l,0,96237);s=e+48|0;DB(l,1,qY(n[((n[e>>2]&3|0)==3?e:s)+40>>2]|0)|0);s=(HY(HV(n[((n[e>>2]&3|0)==3?e:s)+40>>2]|0)|0)|0)!=0;DB(l,3,s?122546:122549);s=e+-48|0;DB(l,4,qY(n[((n[e>>2]&3|0)==2?e:s)+40>>2]|0)|0);n[A+596>>2]=7;t=A+604|0;c=FV(HV(n[((n[e>>2]&3|0)==2?e:s)+40>>2]|0)|0)|0;a=7;i=0;A:while(1){while(1){i=$y(c,2,i)|0;if(!i)break A;r=i+8|0;f=n[r>>2]|0;if(!(az(f,96242)|0)){b=5;break}if(!(az(f,96251)|0)){b=7;break}if(az(f,96260)|0)break;DB(l,6,nY(e,i)|0)}if((b|0)==5){b=0;DB(l,2,nY(e,i)|0)}else if((b|0)==7){b=0;DB(l,5,nY(e,i)|0)}DB(t,a,n[r>>2]|0);DB(t,a+1|0,nY(e,i)|0);a=a+2|0}n[A+608>>2]=a;i=Sy(HV(n[((n[e>>2]&3|0)==2?e:s)+40>>2]|0)|0,2,96264,0)|0;if(!i){i=Sy(HV(n[((n[e>>2]&3|0)==2?e:s)+40>>2]|0)|0,2,96269,0)|0;if(i|0)b=13}else b=13;if((b|0)==13)n[A+588>>2]=Eg(nY(e,i)|0,e)|0;return}function Us(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;a=js(A,e,n[i>>2]|0)|0;i=n[i+4>>2]|0;while(1){f=n[i+4>>2]|0;if(!f)break;e=0;while(1){r=n[f+(e*20|0)+4>>2]|0;if(!r)break;xB(A,n[i>>2]|0,r,n[f+(e*20|0)+8>>2]|0,a,f+(e*20|0)|0)|0;e=e+1|0}i=i+8|0}return}function js(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=Ng(12)|0;if(!e)e=0;else e=vR(e)|0;n[r+4>>2]=e;n[r+8>>2]=vR(i)|0;i=A+100|0;n[r>>2]=n[i>>2];n[i>>2]=r;return r|0}function Ss(A,e){A=A|0;e=e|0;Os(A);r[A+44>>0]=0;Ks(A)|0;VI(A)|0;return}function Os(A){A=A|0;var e=0,i=0;e=n[A+32>>2]|0;A:do{if(e|0)while(1){i=n[e>>2]|0;if(!i)break A;if((r[i>>0]|0)==103?Xp(i,96301)|0:0)Us(A,0,n[e+4>>2]|0);e=e+8|0}}while(0);return}function Ks(A){A=A|0;var e=0;e=jB(A,2,96314)|0;if(!e)A=999;else{n[A+148>>2]=n[(n[e+16>>2]|0)+12>>2];A=300}return A|0}function _s(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A=n[A+148>>2]|0;if((A|0)!=0?(r=n[A>>2]|0,(r|0)!=0):0)A=BF[r&63](e,i)|0;else A=0;return A|0}function qs(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return(n[e>>2]|0)-(n[i>>2]|0)|0}function $s(A){A=A|0;var e=0.0,i=0.0;A=n[A+16>>2]|0;i=+s[A+16>>3];e=+s[A+24>>3];return(Ab(~~(i>e?i:e)>>>0)|0)+1|0}function Ab(A){A=A|0;var e=0,i=0;if(!A)A=-1;else{i=A>>>0>65535;A=i?A>>>16:A;i=i?16:0;e=A>>>0>255;A=e?A>>>8:A;i=e?i|8:i;e=A>>>0>15;A=e?A>>>4:A;i=e?i|4:i;e=A>>>0>3;A=(e?i|2:i)+((e?A>>>2:A)>>>0>1&1)|0}return A|0}function eb(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0.0,t=0.0,c=0,b=0,o=0,u=0,B=0,k=0,w=0;w=v;v=v+32|0;k=w;B=ib(A,e,i,f,a)|0;i=rb(B)|0;if((i|0)>=0){o=k+16|0;u=k+24|0;b=k+8|0;c=a+32|0;i=0;a=0;while(1){if((a|0)>=(e|0))break;f=A+(a*40|0)+32|0;do{if(n[f>>2]|0){fb(k,B,A+(a*40|0)|0);l=+s[o>>3];t=+s[u>>3];if(!(n[k>>2]|0)){r[(n[f>>2]|0)+36>>0]=1;break}if(+s[b>>3]==0.0){f=n[f>>2]|0;s[f+16>>3]=l;s[f+24>>3]=t;r[f+36>>0]=1;break}if((r[c>>0]|0)==1){f=n[f>>2]|0;s[f+16>>3]=l;s[f+24>>3]=t;r[f+36>>0]=1}else i=1}}while(0);a=a+1|0}nb(B)}v=w;return i|0}function ib(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0;a=Jg(28)|0;c=oy(24896,n[4348]|0)|0;l=a+20|0;n[l>>2]=c;do{if(c){c=Fu()|0;n[a+24>>2]=c;if(!c){VR(96532,14,1,n[13918]|0)|0;t=6;break}else{n[a>>2]=A;n[a+4>>2]=e;n[a+8>>2]=i;n[a+12>>2]=r;n[a+16>>2]=f;break}}else{VR(96532,14,1,n[13918]|0)|0;t=6}}while(0);if((t|0)==6){A=n[l>>2]|0;if(A|0)ay(A)|0;A=n[a+24>>2]|0;if(A|0)Du(A)|0;zN(a);a=0}return a|0}function rb(A){A=A|0;var e=0;e=vb(A)|0;if((e|0)>=0){Bb(A);kb(A);e=ay(n[A+20>>2]|0)|0}return e|0}function fb(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,a=0,l=0.0,t=0,c=0.0,b=0,o=0,u=0,B=0,k=0.0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0.0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0.0,R=0,P=0;P=v;v=v+464|0;z=P+416|0;R=P+400|0;W=P+384|0;b=P+352|0;o=P+320|0;u=P+288|0;B=P+256|0;w=P+224|0;d=P+192|0;h=P+160|0;g=P+128|0;Z=P+96|0;m=P+64|0;I=P+32|0;J=P;C=n[i+32>>2]|0;r=+s[C>>3];E=i+16|0;M=(r*2.0+ +s[E>>3])*.125;y=C+8|0;N=i+24|0;l=+s[N>>3];p=(+s[y>>3]*2.0+l)*.5;if(!C)BA(96325,96335,445,96345);f=z;a=f+36|0;do{n[f>>2]=0;f=f+4|0}while((f|0)<(a|0));Q=C+16|0;s[Q>>3]=+s[i>>3]-r;Y=i+8|0;V=C+24|0;s[V>>3]=l+ +s[Y>>3];ab(b,e,i,z);t=n[b>>2]|0;f=n[b+4>>2]|0;r=+s[b+8>>3];b=b+16|0;n[R>>2]=n[b>>2];n[R+4>>2]=n[b+4>>2];n[R+8>>2]=n[b+8>>2];n[R+12>>2]=n[b+12>>2];A:do{if(!t){n[A>>2]=0;n[A+4>>2]=f;s[A+8>>3]=r;A=A+16|0;n[A>>2]=n[R>>2];n[A+4>>2]=n[R+4>>2];n[A+8>>2]=n[R+8>>2];n[A+12>>2]=n[R+12>>2]}else{s[V>>3]=+s[Y>>3];ab(o,e,i,z);a=n[o>>2]|0;b=n[o+4>>2]|0;l=+s[o+8>>3];o=o+16|0;n[W>>2]=n[o>>2];n[W+4>>2]=n[o+4>>2];n[W+8>>2]=n[o+8>>2];n[W+12>>2]=n[o+12>>2];if(!a){n[A>>2]=0;n[A+4>>2]=b;s[A+8>>3]=l;A=A+16|0;n[A>>2]=n[W>>2];n[A+4>>2]=n[W+4>>2];n[A+8>>2]=n[W+8>>2];n[A+12>>2]=n[W+12>>2];break}if(l<r){n[R>>2]=n[W>>2];n[R+4>>2]=n[W+4>>2];n[R+8>>2]=n[W+8>>2];n[R+12>>2]=n[W+12>>2];f=b;r=l}else a=t;s[V>>3]=+s[Y>>3]-+s[y>>3];ab(u,e,i,z);b=n[u>>2]|0;t=n[u+4>>2]|0;l=+s[u+8>>3];u=u+16|0;n[W>>2]=n[u>>2];n[W+4>>2]=n[u+4>>2];n[W+8>>2]=n[u+8>>2];n[W+12>>2]=n[u+12>>2];if(!b){n[A>>2]=0;n[A+4>>2]=t;s[A+8>>3]=l;A=A+16|0;n[A>>2]=n[W>>2];n[A+4>>2]=n[W+4>>2];n[A+8>>2]=n[W+8>>2];n[A+12>>2]=n[W+12>>2];break}if(l<r){n[R>>2]=n[W>>2];n[R+4>>2]=n[W+4>>2];n[R+8>>2]=n[W+8>>2];n[R+12>>2]=n[W+12>>2];f=t;r=l}else b=a;s[Q>>3]=+s[i>>3];s[V>>3]=+s[N>>3]+ +s[Y>>3];ab(B,e,i,z);a=n[B>>2]|0;t=n[B+4>>2]|0;l=+s[B+8>>3];B=B+16|0;n[W>>2]=n[B>>2];n[W+4>>2]=n[B+4>>2];n[W+8>>2]=n[B+8>>2];n[W+12>>2]=n[B+12>>2];if(!a){n[A>>2]=0;n[A+4>>2]=t;s[A+8>>3]=l;A=A+16|0;n[A>>2]=n[W>>2];n[A+4>>2]=n[W+4>>2];n[A+8>>2]=n[W+8>>2];n[A+12>>2]=n[W+12>>2];break}if(l<r){n[R>>2]=n[W>>2];n[R+4>>2]=n[W+4>>2];n[R+8>>2]=n[W+8>>2];n[R+12>>2]=n[W+12>>2];b=a;f=t;r=l}s[V>>3]=+s[Y>>3]-+s[y>>3];ab(w,e,i,z);a=n[w>>2]|0;t=n[w+4>>2]|0;l=+s[w+8>>3];w=w+16|0;n[W>>2]=n[w>>2];n[W+4>>2]=n[w+4>>2];n[W+8>>2]=n[w+8>>2];n[W+12>>2]=n[w+12>>2];if(!a){n[A>>2]=0;n[A+4>>2]=t;s[A+8>>3]=l;A=A+16|0;n[A>>2]=n[W>>2];n[A+4>>2]=n[W+4>>2];n[A+8>>2]=n[W+8>>2];n[A+12>>2]=n[W+12>>2];break}if(l<r){n[R>>2]=n[W>>2];n[R+4>>2]=n[W+4>>2];n[R+8>>2]=n[W+8>>2];n[R+12>>2]=n[W+12>>2];b=a;f=t;r=l}s[Q>>3]=+s[E>>3]+ +s[i>>3];s[V>>3]=+s[N>>3]+ +s[Y>>3];ab(d,e,i,z);a=n[d>>2]|0;t=n[d+4>>2]|0;l=+s[d+8>>3];d=d+16|0;n[W>>2]=n[d>>2];n[W+4>>2]=n[d+4>>2];n[W+8>>2]=n[d+8>>2];n[W+12>>2]=n[d+12>>2];if(!a){n[A>>2]=0;n[A+4>>2]=t;s[A+8>>3]=l;A=A+16|0;n[A>>2]=n[W>>2];n[A+4>>2]=n[W+4>>2];n[A+8>>2]=n[W+8>>2];n[A+12>>2]=n[W+12>>2];break}if(l<r){n[R>>2]=n[W>>2];n[R+4>>2]=n[W+4>>2];n[R+8>>2]=n[W+8>>2];n[R+12>>2]=n[W+12>>2];b=a;f=t;r=l}s[V>>3]=+s[Y>>3];ab(h,e,i,z);a=n[h>>2]|0;t=n[h+4>>2]|0;l=+s[h+8>>3];h=h+16|0;n[W>>2]=n[h>>2];n[W+4>>2]=n[h+4>>2];n[W+8>>2]=n[h+8>>2];n[W+12>>2]=n[h+12>>2];if(!a){n[A>>2]=0;n[A+4>>2]=t;s[A+8>>3]=l;A=A+16|0;n[A>>2]=n[W>>2];n[A+4>>2]=n[W+4>>2];n[A+8>>2]=n[W+8>>2];n[A+12>>2]=n[W+12>>2];break}if(l<r){n[R>>2]=n[W>>2];n[R+4>>2]=n[W+4>>2];n[R+8>>2]=n[W+8>>2];n[R+12>>2]=n[W+12>>2];b=a;f=t;r=l}s[V>>3]=+s[Y>>3]-+s[y>>3];ab(g,e,i,z);a=n[g>>2]|0;t=n[g+4>>2]|0;l=+s[g+8>>3];g=g+16|0;n[W>>2]=n[g>>2];n[W+4>>2]=n[g+4>>2];n[W+8>>2]=n[g+8>>2];n[W+12>>2]=n[g+12>>2];if(!a){n[A>>2]=0;n[A+4>>2]=t;s[A+8>>3]=l;A=A+16|0;n[A>>2]=n[W>>2];n[A+4>>2]=n[W+4>>2];n[A+8>>2]=n[W+8>>2];n[A+12>>2]=n[W+12>>2];break}if(l<r){n[R>>2]=n[W>>2];n[R+4>>2]=n[W+4>>2];n[R+8>>2]=n[W+8>>2];n[R+12>>2]=n[W+12>>2];f=t;r=l}else a=b;t=(n[z+28>>2]|0)==0;do{if(!(n[z+24>>2]|0))if(t){if(n[z+32>>2]|0){G=38;break}if(!((n[z+12>>2]|0)==0&(n[z>>2]|0)==0))G=38}else G=46;else if(t)G=38;else G=46}while(0);e:do{if((G|0)==38)if(!(n[z+32>>2]|0)){s[Q>>3]=+s[i>>3]-+s[C>>3];B=Z+4|0;w=Z+8|0;d=Z+16|0;b=V;t=Y;l=+s[N>>3];i:while(1){while(1){s[b>>3]=+s[t>>3]+l;if(!(+s[Q>>3]<=+s[E>>3]+ +s[i>>3])){G=46;break e}ab(Z,e,i,z);o=n[Z>>2]|0;u=n[B>>2]|0;c=+s[w>>3];n[W>>2]=n[d>>2];n[W+4>>2]=n[d+4>>2];n[W+8>>2]=n[d+8>>2];n[W+12>>2]=n[d+12>>2];if(!o)break i;if(c<r)break;else{b=Q;t=Q;l=M}}n[R>>2]=n[W>>2];n[R+4>>2]=n[W+4>>2];n[R+8>>2]=n[W+8>>2];n[R+12>>2]=n[W+12>>2];b=Q;t=Q;l=M;a=o;f=u;r=c}n[A>>2]=0;n[A+4>>2]=u;s[A+8>>3]=c;A=A+16|0;n[A>>2]=n[W>>2];n[A+4>>2]=n[W+4>>2];n[A+8>>2]=n[W+8>>2];n[A+12>>2]=n[W+12>>2];break A}else G=46}while(0);e:do{if((G|0)==46)if((n[z+12>>2]|0)==0&(n[z>>2]|0)==0){s[Q>>3]=+s[i>>3]-+s[C>>3];c=+s[Y>>3];o=m+4|0;u=m+8|0;B=m+16|0;l=c;c=+s[N>>3]+c;while(1){s[V>>3]=c;if(!(c>=l-+s[y>>3]))break e;ab(m,e,i,z);t=n[m>>2]|0;b=n[o>>2]|0;l=+s[u>>3];n[W>>2]=n[B>>2];n[W+4>>2]=n[B+4>>2];n[W+8>>2]=n[B+8>>2];n[W+12>>2]=n[B+12>>2];if(!t)break;if(l<r){n[R>>2]=n[W>>2];n[R+4>>2]=n[W+4>>2];n[R+8>>2]=n[W+8>>2];n[R+12>>2]=n[W+12>>2];a=t;f=b;r=l}l=+s[Y>>3];c=+s[V>>3]-p}n[A>>2]=0;n[A+4>>2]=b;s[A+8>>3]=l;A=A+16|0;n[A>>2]=n[W>>2];n[A+4>>2]=n[W+4>>2];n[A+8>>2]=n[W+8>>2];n[A+12>>2]=n[W+12>>2];break A}}while(0);l=+s[i>>3];c=+s[E>>3]+l;s[Q>>3]=c;k=+s[y>>3];s[V>>3]=+s[Y>>3]-k;t=n[z+4>>2]|0;do{if(!(n[z+8>>2]|0)){b=n[z>>2]|0;if(!((t|0)==0&(b|0)==0)){G=59;break}if(n[z+20>>2]|0){t=0;b=0;G=59;break}if(n[z+32>>2]|0){t=0;b=0;G=59}}else{b=n[z>>2]|0;G=59}}while(0);e:do{if((G|0)==59){i:do{if((t|0)==0&(b|0)==0){s[Q>>3]=c;B=I+4|0;w=I+8|0;d=I+16|0;b=V;t=Y;l=k;r:while(1){while(1){s[b>>3]=+s[t>>3]-l;l=+s[i>>3];if(!(+s[Q>>3]>=l-+s[C>>3]))break i;ab(I,e,i,z);o=n[I>>2]|0;u=n[B>>2]|0;c=+s[w>>3];n[W>>2]=n[d>>2];n[W+4>>2]=n[d+4>>2];n[W+8>>2]=n[d+8>>2];n[W+12>>2]=n[d+12>>2];if(!o)break r;if(c<r)break;else{b=Q;t=Q;l=M}}n[R>>2]=n[W>>2];n[R+4>>2]=n[W+4>>2];n[R+8>>2]=n[W+8>>2];n[R+12>>2]=n[W+12>>2];b=Q;t=Q;l=M;a=o;f=u;r=c}n[A>>2]=0;n[A+4>>2]=u;s[A+8>>3]=c;A=A+16|0;n[A>>2]=n[W>>2];n[A+4>>2]=n[W+4>>2];n[A+8>>2]=n[W+8>>2];n[A+12>>2]=n[W+12>>2];break A}}while(0);if(n[z+20>>2]|0)break;if(n[z+32>>2]|0)break;s[Q>>3]=+s[E>>3]+l;l=+s[Y>>3];o=J+4|0;u=J+8|0;B=J+16|0;c=l;l=l-+s[y>>3];while(1){s[V>>3]=l;if(!(l<=+s[N>>3]+c))break e;ab(J,e,i,z);t=n[J>>2]|0;b=n[o>>2]|0;l=+s[u>>3];n[W>>2]=n[B>>2];n[W+4>>2]=n[B+4>>2];n[W+8>>2]=n[B+8>>2];n[W+12>>2]=n[B+12>>2];if(!t)break;if(l<r){n[R>>2]=n[W>>2];n[R+4>>2]=n[W+4>>2];n[R+8>>2]=n[W+8>>2];n[R+12>>2]=n[W+12>>2];a=t;f=b;r=l}c=+s[Y>>3];l=+s[V>>3]+p}n[A>>2]=0;n[A+4>>2]=b;s[A+8>>3]=l;A=A+16|0;n[A>>2]=n[W>>2];n[A+4>>2]=n[W+4>>2];n[A+8>>2]=n[W+8>>2];n[A+12>>2]=n[W+12>>2];break A}}while(0);n[A>>2]=a;n[A+4>>2]=f;s[A+8>>3]=r;A=A+16|0;n[A>>2]=n[R>>2];n[A+4>>2]=n[R+4>>2];n[A+8>>2]=n[R+8>>2];n[A+12>>2]=n[R+12>>2]}}while(0);v=P;return}function nb(A){A=A|0;Du(n[A+24>>2]|0)|0;zN(A);return}function ab(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0.0,t=0,c=0,b=0,o=0.0,u=0,B=0,k=0,w=0.0,d=0,h=0;h=v;v=v+48|0;k=h+32|0;d=h+16|0;B=h;a=n[i+32>>2]|0;if(!a)BA(96325,96335,382,96354);u=a+16|0;n[B>>2]=n[u>>2];n[B+4>>2]=n[u+4>>2];n[B+8>>2]=n[u+8>>2];n[B+12>>2]=n[u+12>>2];u=e+4|0;b=0;a=0;while(1){if((b|0)>=(n[u>>2]|0))break;t=n[e>>2]|0;c=t+(b*40|0)|0;do{if((c|0)!=(i|0)){if(+s[t+(b*40|0)+16>>3]>0.0?+s[t+(b*40|0)+24>>3]>0.0:0)break;a=a+((lb(i,c)|0)!=0&1)|0}}while(0);b=b+1|0}tb(i,k);b=n[e+24>>2]|0;b=Tu(b,n[b>>2]|0,k)|0;if(!b){n[A>>2]=a;s[A+8>>3]=0.0;d=A+16|0;n[d>>2]=n[B>>2];n[d+4>>2]=n[B+4>>2];n[d+8>>2]=n[B+8>>2];n[d+12>>2]=n[B+12>>2]}else{c=b;l=0.0;while(1){if(!c)break;t=n[(n[c+4>>2]|0)+16>>2]|0;if((t|0)!=(i|0)){cb(t,d);o=+sb(k,d);if(o>0.0){a=a+1|0;l=+bb(i,t,k,o,f)+l}e=n[t+32>>2]|0;if(((e|0)!=0?(r[e+36>>0]|0)!=0:0)?(tb(t,d),w=+sb(k,d),w>0.0):0){a=a+1|0;l=+ob(i,t,k,w,f)+l}}c=n[c>>2]|0}Hu(b);n[A>>2]=a;s[A+8>>3]=l;d=A+16|0;n[d>>2]=n[B>>2];n[d+4>>2]=n[B+4>>2];n[d+8>>2]=n[B+8>>2];n[d+12>>2]=n[B+12>>2]}v=h;return}function lb(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,a=0.0;A=n[A+32>>2]|0;if(+s[e+16>>3]==0.0?+s[e+24>>3]==0.0:0){if((((A|0)!=0?(i=+s[e>>3],r=+s[A+16>>3],i>r):0)?i<+s[A>>3]+r:0)?(f=+s[e+8>>3],a=+s[A+24>>3],f>a):0)A=f<+s[A+8>>3]+a&1;else A=0;return A|0}BA(96391,96335,219,96428);return 0}function tb(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;A=n[A+32>>2]|0;r=+s[A+16>>3];n[e>>2]=~~r;i=+s[A+24>>3];n[e+4>>2]=~~i;n[e+8>>2]=~~(+s[A>>3]+r);n[e+12>>2]=~~(+s[A+8>>3]+i);return}function cb(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+s[A>>3];n[e>>2]=~~r;i=+s[A+8>>3];n[e+4>>2]=~~i;n[e+8>>2]=~~(+s[A+16>>3]+r);n[e+12>>2]=~~(+s[A+24>>3]+i);return}function sb(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0;t=n[A+8>>2]|0;c=n[e>>2]|0;if((((t|0)>=(c|0)?(s=n[A>>2]|0,b=n[e+8>>2]|0,(s|0)<=(b|0)):0)?(r=n[A+12>>2]|0,f=n[e+4>>2]|0,(r|0)>=(f|0)):0)?(a=n[A+4>>2]|0,l=n[e+12>>2]|0,(a|0)<=(l|0)):0)i=(+(n[((r|0)<(l|0)?A:e)+12>>2]|0)-+(n[((a|0)>(f|0)?A:e)+4>>2]|0))*(+(n[((t|0)<(b|0)?A:e)+8>>2]|0)-+(n[((s|0)>(c|0)?A:e)>>2]|0));else i=0.0;return+i}function bb(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0.0,l=0.0,t=0,c=0;c=v;v=v+16|0;t=c;A=ub(A,e)|0;f=f+(((A|0)<0?5:A)<<2)|0;A=n[f>>2]|0;if(!A){n[f>>2]=e;a=r}else{cb(A,t);a=+sb(i,t);a=a>r?a:0.0;A=n[f>>2]|0;if((n[A+32>>2]|0)!=0?(tb(A,t),l=+sb(i,t),l>r):0)a=l>a?l:a;if(!(a>0.0)){n[f>>2]=e;a=r}}v=c;return+a}function ob(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0.0,l=0.0,t=0,c=0;c=v;v=v+16|0;t=c;A=ub(A,e)|0;f=f+(((A|0)<0?5:A)<<2)|0;A=n[f>>2]|0;if(!A){n[f>>2]=e;a=r}else{cb(A,t);a=+sb(i,t);a=a>r?a:0.0;A=n[f>>2]|0;if((n[A+32>>2]|0)!=0?(tb(A,t),l=+sb(i,t),l>r):0)a=l>a?l:a;if(!(a>0.0)){n[f>>2]=e;a=r}}v=c;return+a}function ub(A,e){A=A|0;e=e|0;var i=0,f=0,a=0.0,l=0.0,t=0.0,c=0.0;i=n[A+32>>2]|0;f=n[e+32>>2]|0;if((i|0)==(f|0))BA(96370,96335,276,96380);do{if((r[i+36>>0]|0)!=0?(r[f+36>>0]|0)!=0:0){t=+s[A>>3];if(t==0.0?+s[A+8>>3]==0.0:0){i=-1;break}c=+s[e>>3];l=+s[e+8>>3];if(!(c==0.0&l==0.0)){a=+s[A+8>>3];if(l<a){if(c<t){i=0;break}i=c>t?2:1;break}i=c<t;if(l>a){if(i){i=6;break}i=c>t?8:7;break}if(!i)if(c>t)i=5;else i=-1;else i=3}else i=-1}else i=-1}while(0);return i|0}function vb(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;s=v;v=v+32|0;i=s+24|0;r=s+16|0;f=s;a=$s(A)|0;l=A+4|0;t=r+4|0;c=A+20|0;e=0;while(1){if((e|0)>=(n[l>>2]|0)){e=0;break}b=Jg(32)|0;u=(n[A>>2]|0)+(e*40|0)|0;o=b+12|0;n[b+28>>2]=u;wb(f,u);n[o>>2]=n[f>>2];n[o+4>>2]=n[f+4>>2];n[o+8>>2]=n[f+8>>2];n[o+12>>2]=n[f+12>>2];o=n[o>>2]|0;n[r>>2]=(((n[b+20>>2]|0)-o|0)/2|0)+o;o=n[b+16>>2]|0;n[t>>2]=(((n[b+24>>2]|0)-o|0)/2|0)+o;n[i>>2]=n[r>>2];n[i+4>>2]=n[r+4>>2];n[b+8>>2]=db(i,a)|0;o=n[c>>2]|0;if(!(kF[n[o>>2]&31](o,b,1)|0)){e=-1;break}else e=e+1|0}v=s;return e|0}function Bb(A){A=A|0;var e=0,i=0,r=0;i=A+20|0;r=n[i>>2]|0;e=A+24|0;A=kF[n[r>>2]&31](r,0,128)|0;while(1){if(!A)break;r=n[e>>2]|0;xu(r,A+12|0,n[A+28>>2]|0,r,0)|0;r=n[i>>2]|0;A=kF[n[r>>2]&31](r,A,8)|0}return}function kb(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0;r=A+20|0;f=vy(n[r>>2]|0)|0;i=0;while(1){if(!(vy(n[r>>2]|0)|0))break;a=n[r>>2]|0;A=n[(n[a+8>>2]|0)+4>>2]|0;if(!A){l=8;break}e=n[(n[a+4>>2]|0)+8>>2]|0;if((e|0)<0)A=n[A+8>>2]|0;else A=A+(0-e)|0;if(!A){l=8;break}kF[n[a>>2]&31](a,A,4096)|0;zN(A);i=i+1|0}if((l|0)==8)BA(96441,96335,616,96444);if((f|0)==(i|0))return;else BA(96456,96335,623,96444)}function wb(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,a=0.0,l=0,t=0,c=0,b=0.0;i=n[e+32>>2]|0;if(!i){r=0.0;f=0.0}else{r=+s[i>>3];f=+s[i+8>>3]}b=+s[e>>3];c=~~+y(+(b-r));a=+s[e+8>>3];t=~~+y(+(a-f));l=~~+D(+(b+r+ +s[e+16>>3]));if((l|0)==2147483647)BA(96468,96335,264,96495);i=~~+D(+(a+f+ +s[e+24>>3]));if((i|0)==2147483647)BA(96505,96335,266,96495);else{n[A>>2]=c;n[A+4>>2]=t;n[A+8>>2]=l;n[A+12>>2]=i;return}}function db(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;f=0;r=n[A>>2]|0;i=n[A+4>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;t=r>>>A&1;e=i>>>A&1;a=e+-1|0;l=a&(r^i);a=a&0-t;f=t<<1|f<<2|t^e;e=A;r=l^r^a;i=l^i^a}return f|0}function hb(A){A=A|0;var e=0,i=0,f=0,a=0;e=Az(A)|0;if(e>>>0>=(n[42407]|0)>>>0){e=e+11|0;n[42407]=e;e=pg(n[42408]|0,e)|0;n[42408]=e;if(!e)e=0;else i=4}else{e=n[42408]|0;i=4}if((i|0)==4){a=e;while(1){i=r[A>>0]|0;if(!(i<<24>>24))break;f=i&255;if(Uz(f)|0)i=(xz(f)|0)&255;r[a>>0]=i;a=a+1|0;A=A+1|0}r[a>>0]=0}return e|0}function gb(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,l=0,t=0.0,c=0.0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0.0;V=v;v=v+144|0;d=V+96|0;B=V+80|0;Z=V+124|0;h=V+72|0;G=V+64|0;m=V+56|0;E=V+48|0;y=V+40|0;Y=V+32|0;I=V+24|0;C=V+16|0;M=V+8|0;Q=V;l=V+120|0;b=V+116|0;o=V+112|0;u=V+108|0;n[e+32>>2]=i;w=A;while(1)if((r[w>>0]|0)==32)w=w+1|0;else break;n[u>>2]=255;A=r[w>>0]|0;A:do{if(A<<24>>24==35){n[B>>2]=l;n[B+4>>2]=b;n[B+8>>2]=o;n[B+12>>2]=u;if((PR(w,96547,B)|0)<=2){A=r[w>>0]|0;k=12;break}switch(i|0){case 0:{W=+((n[l>>2]|0)>>>0)*.00392156862745098;s[E>>3]=W;f=+((n[b>>2]|0)>>>0)*.00392156862745098;s[y>>3]=f;t=+((n[o>>2]|0)>>>0)*.00392156862745098;s[Y>>3]=t;c=+((n[u>>2]|0)>>>0)*.00392156862745098;Zb(W,f,t,h,G,m);s[e>>3]=+s[h>>3];s[e+8>>3]=+s[G>>3];s[e+16>>3]=+s[m>>3];s[e+24>>3]=c;A=0;break A}case 1:{r[e>>0]=n[l>>2];r[e+1>>0]=n[b>>2];r[e+2>>0]=n[o>>2];r[e+3>>0]=n[u>>2];A=0;break A}case 3:{t=+((n[l>>2]|0)>>>0)*.00392156862745098;s[E>>3]=t;c=+((n[b>>2]|0)>>>0)*.00392156862745098;s[y>>3]=c;W=+((n[o>>2]|0)>>>0)*.00392156862745098;s[Y>>3]=W;Gb(t,c,W,I,C,M,Q);r[e>>0]=~~+s[I>>3]*255;r[e+1>>0]=~~+s[C>>3]*255;r[e+2>>0]=~~+s[M>>3]*255;r[e+3>>0]=~~+s[Q>>3]*255;A=0;break A}case 2:{n[e>>2]=(((n[l>>2]|0)*65535|0)>>>0)/255|0;n[e+4>>2]=(((n[b>>2]|0)*65535|0)>>>0)/255|0;n[e+8>>2]=(((n[o>>2]|0)*65535|0)>>>0)/255|0;n[e+12>>2]=(((n[u>>2]|0)*65535|0)>>>0)/255|0;A=0;break A}case 4:{s[e>>3]=+((n[l>>2]|0)>>>0)*.00392156862745098;s[e+8>>3]=+((n[b>>2]|0)>>>0)*.00392156862745098;s[e+16>>3]=+((n[o>>2]|0)>>>0)*.00392156862745098;s[e+24>>3]=+((n[u>>2]|0)>>>0)*.00392156862745098;A=0;break A}default:{A=0;break A}}}else k=12}while(0);A:do{if((k|0)==12){if(!(A<<24>>24!=46?((A&255)+-48|0)>>>0>=10:0)){A=Az(w)|0;if(A>>>0>=(n[42409]|0)>>>0){A=A+11|0;n[42409]=A;A=pg(n[42410]|0,A)|0;n[42410]=A;if(!A){A=-1;break}}else A=n[42410]|0;b=A;l=w;e:while(1){o=l+1|0;l=r[l>>0]|0;switch(l<<24>>24){case 0:break e;case 44:{l=32;break}default:{}}r[b>>0]=l;b=b+1|0;l=o}r[b>>0]=0;n[d>>2]=h;n[d+4>>2]=G;n[d+8>>2]=m;if((PR(A,96561,d)|0)==3){c=+s[h>>3];c=c<1.0?c:1.0;c=c>0.0?c:0.0;s[h>>3]=c;t=+s[G>>3];t=t<1.0?t:1.0;t=t>0.0?t:0.0;s[G>>3]=t;f=+s[m>>3];f=f<1.0?f:1.0;f=f>0.0?f:0.0;s[m>>3]=f;switch(i|0){case 0:{s[e>>3]=c;s[e+8>>3]=t;s[e+16>>3]=f;s[e+24>>3]=1.0;A=0;break A}case 1:{mb(c,t,f,E,y,Y);r[e>>0]=~~(+s[E>>3]*255.0);r[e+1>>0]=~~(+s[y>>3]*255.0);r[e+2>>0]=~~(+s[Y>>3]*255.0);r[e+3>>0]=-1;A=0;break A}case 3:{mb(c,t,f,E,y,Y);Gb(+s[E>>3],+s[y>>3],+s[Y>>3],I,C,M,Q);r[e>>0]=~~+s[I>>3]*255;r[e+1>>0]=~~+s[C>>3]*255;r[e+2>>0]=~~+s[M>>3]*255;r[e+3>>0]=~~+s[Q>>3]*255;A=0;break A}case 2:{mb(c,t,f,E,y,Y);n[e>>2]=~~(+s[E>>3]*65535.0);n[e+4>>2]=~~(+s[y>>3]*65535.0);n[e+8>>2]=~~(+s[Y>>3]*65535.0);n[e+12>>2]=65535;A=0;break A}case 4:{mb(c,t,f,E,y,Y);s[e>>3]=+s[E>>3];s[e+8>>3]=+s[y>>3];s[e+16>>3]=+s[Y>>3];s[e+24>>3]=1.0;A=0;break A}default:{A=0;break A}}}}l=Ib(w)|0;n[Z>>2]=l;if(!l)A=-1;else{A=n[42411]|0;if(!(((A|0)!=0?(g=n[A>>2]|0,(r[g>>0]|0)==(r[l>>0]|0)):0)?(az(g,l)|0)==0:0)){A=rP(Z,24932,2491,12,38)|0;n[42411]=A;if(!A)switch(i|0){case 0:{n[e>>2]=0;n[e+4>>2]=0;n[e+8>>2]=0;n[e+12>>2]=0;n[e+16>>2]=0;n[e+20>>2]=0;s[e+24>>3]=1.0;A=1;break A}case 1:{r[e+2>>0]=0;r[e+1>>0]=0;r[e>>0]=0;r[e+3>>0]=-1;A=1;break A}case 3:{n[e>>2]=0;A=1;break A}case 2:{n[e+8>>2]=0;n[e+4>>2]=0;n[e>>2]=0;n[e+12>>2]=65535;A=1;break A}case 4:{n[e>>2]=0;n[e+4>>2]=0;n[e+8>>2]=0;n[e+12>>2]=0;n[e+16>>2]=0;n[e+20>>2]=0;s[e+24>>3]=1.0;A=1;break A}default:{A=1;break A}}}switch(i|0){case 0:{s[e>>3]=+(a[A+4>>0]|0)*.00392156862745098;s[e+8>>3]=+(a[A+5>>0]|0)*.00392156862745098;s[e+16>>3]=+(a[A+6>>0]|0)*.00392156862745098;s[e+24>>3]=+(a[A+10>>0]|0)*.00392156862745098;A=0;break A}case 1:{r[e>>0]=r[A+7>>0]|0;r[e+1>>0]=r[A+8>>0]|0;r[e+2>>0]=r[A+9>>0]|0;r[e+3>>0]=r[A+10>>0]|0;A=0;break A}case 3:{t=+(a[A+7>>0]|0)*.00392156862745098;s[E>>3]=t;c=+(a[A+8>>0]|0)*.00392156862745098;s[y>>3]=c;W=+(a[A+9>>0]|0)*.00392156862745098;s[Y>>3]=W;Gb(t,c,W,I,C,M,Q);r[e>>0]=~~+s[I>>3]*255;r[e+1>>0]=~~+s[C>>3]*255;r[e+2>>0]=~~+s[M>>3]*255;r[e+3>>0]=~~+s[Q>>3]*255;A=0;break A}case 2:{n[e>>2]=(a[A+7>>0]|0)*257;n[e+4>>2]=(a[A+8>>0]|0)*257;n[e+8>>2]=(a[A+9>>0]|0)*257;n[e+12>>2]=(a[A+10>>0]|0)*257;A=0;break A}case 4:{s[e>>3]=+(a[A+7>>0]|0)*.00392156862745098;s[e+8>>3]=+(a[A+8>>0]|0)*.00392156862745098;s[e+16>>3]=+(a[A+9>>0]|0)*.00392156862745098;s[e+24>>3]=+(a[A+10>>0]|0)*.00392156862745098;A=0;break A}default:{A=0;break A}}}}}while(0);v=V;return A|0}function Zb(A,e,i,r,f,n){A=+A;e=+e;i=+i;r=r|0;f=f|0;n=n|0;var a=0.0,l=0.0,t=0.0,c=0.0,b=0.0,o=0.0;l=e<i?e:i;o=e>i?e:i;o=o<A?A:o;l=o-(l>A?A:l);a=l/o;if(o>0.0)if(a>0.0){t=(o-A)/l;c=(o-e)/l;b=(o-i)/l;do{if(!(o==A)){if(o==e){A=t+2.0-b;break}if(o==i)A=c+4.0-t;else A=0.0}else A=(e-i)/l}while(0);A=A*60.0;if(A<0.0)A=A+360.0}else A=0.0;else{a=0.0;A=0.0}s[r>>3]=A*.002777777777777778;s[n>>3]=o;s[f>>3]=a;return}function Gb(A,e,i,r,f,n,a){A=+A;e=+e;i=+i;r=r|0;f=f|0;n=n|0;a=a|0;s[r>>3]=1.0-A;s[f>>3]=1.0-e;s[n>>3]=1.0-i;e=+s[r>>3];i=+s[f>>3];i=e<i?e:i;s[a>>3]=i;e=+s[n>>3];i=e<i?e:i;s[a>>3]=i;s[r>>3]=+s[r>>3]-i;s[f>>3]=+s[f>>3]-+s[a>>3];s[n>>3]=+s[n>>3]-+s[a>>3];return}function mb(A,e,i,r,f,n){A=+A;e=+e;i=+i;r=r|0;f=f|0;n=n|0;var a=0.0,l=0.0,t=0.0,c=0,b=0;A:do{if(!(e<=0.0)){l=!(A>=1.0)?A*6.0:0.0;b=~~l;l=l-+(b|0);A=(1.0-e)*i;t=(1.0-l*e)*i;e=(1.0-(1.0-l)*e)*i;switch(b|0){case 0:{a=A;l=e;A=i;c=8;break A}case 1:{a=A;l=i;A=t;c=8;break A}case 2:{a=e;l=i;c=8;break A}case 3:{a=i;l=t;c=8;break A}case 4:{a=i;l=A;A=e;c=8;break A}case 5:{a=t;l=A;A=i;c=8;break A}default:break A}}else{a=i;l=i;A=i;c=8}}while(0);if((c|0)==8){s[r>>3]=A;s[f>>3]=l;s[n>>3]=a}return}function Ib(A){A=A|0;var e=0,i=0;e=r[A>>0]|0;if(((e<<24>>24!=98?(i=A+1|0,!(e<<24>>24==119|(Yz(i,122058,4)|0)==0)):0)?!(e<<24>>24==108|(Yz(i,122063,4)|0)==0):0)?(Yz(i,122068,8)|0)!=0:0){do{if(e<<24>>24==47){e=Vz(i,47)|0;if(!e)A=i;else{if((r[i>>0]|0)!=47){i=(_z(122077,i,4)|0)==0;A=i?e+1|0:A;break}e=n[42412]|0;if((e|0?r[e>>0]|0:0)?_z(122077,e,3)|0:0){A=Mb(e,A+2|0)|0;break}A=A+2|0}}else{e=n[42412]|0;if(((e|0)!=0?(r[e>>0]|0)!=0:0)?(_z(122077,e,3)|0)!=0:0)A=Mb(e,A)|0}}while(0);A=hb(A)|0}return A|0}function Cb(A,e){A=A|0;e=e|0;return Tz(n[A>>2]|0,n[e>>2]|0)|0}function Mb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;f=v;v=v+16|0;r=f;a=Az(A)|0;a=(Az(e)|0)+a|0;i=a+13|0;if((a+3|0)>>>0<(n[42413]|0)>>>0)i=n[42414]|0;else{n[42413]=i;i=pg(n[42414]|0,i)|0;n[42414]=i}n[r>>2]=A;n[r+4>>2]=e;_p(i,122082,r)|0;v=f;return n[42414]|0}function Qb(A){A=A|0;n[42412]=A;return}function Eb(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;var n=0,a=0;n=v;v=v+208|0;a=n;yb(a,+s[A>>3],+s[A+8>>3],e,i,r,f);A=Yb(a)|0;v=n;return A|0}function yb(A,e,i,r,f,n,a){A=A|0;e=+e;i=+i;r=+r;f=+f;n=+n;a=+a;var l=0,t=0;s[A>>3]=e;s[A+8>>3]=i;t=A+16|0;s[t>>3]=r;l=A+24|0;s[l>>3]=f;s[A+32>>3]=0.0;i=+H(+(+N(+n)/f),+(+J(+n)/r));s[A+56>>3]=i;f=+H(+(+N(+a)/f),+(+J(+a)/r));s[A+40>>3]=1.0;s[A+48>>3]=0.0;f=f-+y(+((f-i)*.15915494309189535))*6.283185307179586;s[A+64>>3]=a-n>3.141592653589793&f-i<3.141592653589793?f+6.283185307179586:f;pb(A);Rb(A);Pb(A);a=+s[t>>3];a=(a-+s[l>>3])/a;s[A+168>>3]=a;s[A+176>>3]=(2.0-a)*a;a=1.0-a;s[A+184>>3]=a;s[A+192>>3]=a*a;return}function Yb(A){A=A|0;var e=0,i=0.0,r=0,f=0.0,n=0.0,a=0.0,l=0.0,t=0,c=0,b=0,o=0,u=0.0,v=0.0,B=0,k=0,w=0.0,d=0.0,h=0.0,g=0.0,Z=0.0,G=0.0,m=0.0,I=0.0,C=0.0;k=Jg(8)|0;n=+s[A+56>>3];f=+s[A+64>>3]-n;B=1;e=0;while(1){v=f/+(B|0);if(!(e<<24>>24==0&(B|0)<1024))break;A:do{if(!(v<=1.5707963267948966))e=0;else{i=n;r=0;e=1;while(1){if(!(e<<24>>24!=0&(r|0)<(B|0)))break A;u=i+v;e=+Vb(A,i,u)<=1.0e-05&1;i=u;r=r+1|0}}}while(0);B=B<<1}l=+J(+n);g=+N(+n);r=A+16|0;d=+s[r>>3];Z=d*l;t=A+24|0;i=+s[t>>3];a=i*g;l=i*l;i=+s[A>>3];c=A+40|0;h=+s[c>>3];b=A+48|0;w=+s[b>>3];f=h*Z+i-w*a;o=A+8|0;u=+s[o>>3];a=w*Z+h*a+u;d=-(g*d);Wb(k,i,u);Jb(k,f,a);u=+z(+(v*.5));u=+N(+v)*.3333333333333333*(+V(+(u*u*3.0+4.0))+-1.0);i=n;n=a;a=w*d+h*l;l=h*d-w*l;e=0;while(1){if((e|0)>=(B|0))break;w=i+v;g=+J(+w);Z=+N(+w);m=+s[r>>3];C=m*g;G=+s[t>>3];h=G*Z;g=G*g;G=+s[c>>3];I=+s[b>>3];d=G*C+ +s[A>>3]-I*h;h=I*C+G*h+ +s[o>>3];m=-(Z*m);Z=G*m-I*g;g=I*m+G*g;Nb(k,f+l*u,n+a*u,d-Z*u,h-g*u,d,h);i=w;f=d;n=h;a=g;l=Z;e=e+1|0}zb(k);return k|0}function Vb(A,e,i){A=A|0;e=+e;i=+i;var r=0.0,f=0.0,n=0.0,a=0.0,l=0.0;r=i+e;l=+s[A+16>>3];f=+s[A+24>>3]/l;a=+J(+r);n=+J(+(r*2.0));r=+J(+(r*3.0));A=f<.25?10328:10584;return+(((f*.001+4.98)*f+.207)/(f+.0067)*l*+F(+(((+s[A+32>>3]*f+ +s[A+40>>3])*f+ +s[A+48>>3])/(+s[A+56>>3]+f)*a+((+s[A>>3]*f+ +s[A+8>>3])*f+ +s[A+16>>3])/(+s[A+24>>3]+f)+((+s[A+64>>3]*f+ +s[A+72>>3])*f+ +s[A+80>>3])/(+s[A+88>>3]+f)*n+((+s[A+96>>3]*f+ +s[A+104>>3])*f+ +s[A+112>>3])/(+s[A+120>>3]+f)*r+(((+s[A+160>>3]*f+ +s[A+168>>3])*f+ +s[A+176>>3])/(+s[A+184>>3]+f)*a+((+s[A+128>>3]*f+ +s[A+136>>3])*f+ +s[A+144>>3])/(+s[A+152>>3]+f)+((+s[A+192>>3]*f+ +s[A+200>>3])*f+ +s[A+208>>3])/(+s[A+216>>3]+f)*n+((+s[A+224>>3]*f+ +s[A+232>>3])*f+ +s[A+240>>3])/(+s[A+248>>3]+f)*r)*(i-e))))}function Wb(A,e,i){A=A|0;e=+e;i=+i;var r=0;n[42415]=100;r=Jg(1600)|0;n[A>>2]=r;s[r>>3]=e;s[r+8>>3]=i;n[A+4>>2]=1;return}function Jb(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0;f=n[A>>2]|0;r=(n[A+4>>2]|0)+-1|0;Nb(A,+s[f+(r<<4)>>3],+s[f+(r<<4)+8>>3],e,i,e,i);return}function Nb(A,e,i,r,f,a,l){A=A|0;e=+e;i=+i;r=+r;f=+f;a=+a;l=+l;var t=0,c=0,b=0,o=0;b=A+4|0;t=n[b>>2]|0;c=n[42415]|0;if((t+3|0)<(c|0))A=n[A>>2]|0;else{n[42415]=c<<1;t=RN(n[A>>2]|0,c<<5)|0;n[A>>2]=t;A=t;t=n[b>>2]|0}s[A+(t<<4)>>3]=e;o=t+1|0;s[A+(t<<4)+8>>3]=i;s[A+(o<<4)>>3]=r;c=t+2|0;s[A+(o<<4)+8>>3]=f;s[A+(c<<4)>>3]=a;n[b>>2]=t+3;s[A+(c<<4)+8>>3]=l;return}function zb(A){A=A|0;var e=0;e=n[A>>2]|0;Jb(A,+s[e>>3],+s[e+8>>3]);n[A>>2]=RN(n[A>>2]|0,n[A+4>>2]<<4)|0;n[42415]=0;return}function pb(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0;r=+s[A+16>>3];e=+s[A+24>>3];e=+V(+(r*r-e*e));r=e*+s[A+40>>3];e=e*+s[A+48>>3];f=+s[A>>3];s[A+104>>3]=f-r;i=+s[A+8>>3];s[A+112>>3]=i-e;s[A+120>>3]=f+r;s[A+128>>3]=i+e;return}function Rb(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0,n=0.0,a=0.0,l=0.0,t=0.0;r=+s[A+16>>3];l=+s[A+56>>3];t=+J(+l)*r;e=+s[A+24>>3];l=+N(+l)*e;a=+s[A+64>>3];r=+J(+a)*r;e=+N(+a)*e;a=+s[A>>3];i=+s[A+40>>3];f=+s[A+48>>3];s[A+72>>3]=i*t+a-f*l;n=+s[A+8>>3];s[A+80>>3]=f*t+n+i*l;s[A+88>>3]=a+i*r-f*e;s[A+96>>3]=n+f*r+i*e;return}function Pb(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0,n=0.0,a=0.0,l=0.0,t=0.0,c=0.0,b=0.0,o=0.0,u=0;c=+s[A+24>>3];b=+s[A+16>>3];f=c/b;o=+s[A+48>>3];u=+Y(+o)<.1;t=+s[A+40>>3];do{if(u){e=o/t;i=+P(+(e*f));r=-i;if(t<0.0){e=+P(+(e/f));f=r;r=3.141592653589793-i;i=4.71238898038469-e;e=1.5707963267948966-e;break}else{e=+P(+(e/f));f=-3.141592653589793-i;i=1.5707963267948966-e;e=-1.5707963267948966-e;break}}else{e=t/o;i=+P(+(e/f));r=i+1.5707963267948966;if(o<0.0){e=+P(+(e*f));f=i+-1.5707963267948966;i=e+3.141592653589793;break}else{e=+P(+(e*f));f=r;r=i+4.71238898038469;i=e;e=e+-3.141592653589793;break}}}while(0);a=+s[A+56>>3];f=f-+y(+((f-a)*.15915494309189535))*6.283185307179586;e=e-+y(+((e-a)*.15915494309189535))*6.283185307179586;n=r-+y(+((r-a)*.15915494309189535))*6.283185307179586;a=i-+y(+((i-a)*.15915494309189535))*6.283185307179586;l=+s[A+64>>3];if(!(f<=l)){f=+s[A+72>>3];i=+s[A+88>>3];i=f<i?f:i}else i=+J(+f)*b*t+ +s[A>>3]-c*+N(+f)*o;s[A+136>>3]=i;if(!(e<=l)){f=+s[A+80>>3];r=+s[A+96>>3];r=f<r?f:r}else r=+J(+e)*b*o+ +s[A+8>>3]+ +N(+e)*c*t;s[A+144>>3]=r;if(!(n<=l)){n=+s[A+72>>3];e=+s[A+88>>3];e=n>e?n:e}else e=+J(+n)*b*t+ +s[A>>3]-c*+N(+n)*o;s[A+152>>3]=e-i;if(!(a<=l)){o=+s[A+80>>3];e=+s[A+96>>3];e=o>e?o:e}else e=+J(+a)*b*o+ +s[A+8>>3]+ +N(+a)*c*t;s[A+160>>3]=e-r;return}function Hb(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0.0,l=0,t=0,c=0.0,b=0,o=0;o=v;v=v+80|0;b=o;Fb(A);c=+s[i+56>>3];a=+s[i+64>>3];switch(r[i+80>>0]|0){case 116:{a=(+s[i+48>>3]-+Lb(e))*.5+a;f=4;break}case 98:{a=a-(+s[i+48>>3]-+Lb(e))*.5;f=4;break}default:{}}if((f|0)==4)a=a+-1.0;s[b>>3]=c;s[b+8>>3]=a;n[b+20>>2]=n[i+8>>2];n[b+16>>2]=n[i+4>>2];s[b+32>>3]=+s[i+16>>3];t=A+16|0;f=fY(n[(n[t>>2]|0)+8>>2]|0,122089)|0;i=b+56|0;n[i>>2]=f;l=b+60|0;n[l>>2]=n[(n[t>>2]|0)+212>>2];t=b+64|0;r[t>>0]=0;if(!((f|0)!=0?(r[f>>0]|0)!=0:0))n[i>>2]=122100;if((r[e+4>>0]|0)==1){i=n[e>>2]|0;ns(A,n[(n[A>>2]|0)+336>>2]|0);f=n[i+24>>2]|0;if(!f)es(A,122106);else es(A,f);Xb(A,i,b);if(r[t>>0]|0)zN(n[l>>2]|0)}else Db(A,n[e>>2]|0,b);Tb(A);v=o;return}function Fb(A){A=A|0;var e=0,i=0,r=0;e=nd(A)|0;i=n[e>>2]|0;A=n[i+4>>2]|0;n[e+4>>2]=A;n[e+12>>2]=n[i+12>>2];switch(A|0){case 2:{A=i+8|0;r=6;break}case 0:{A=i+8|0;r=6;break}case 1:{A=i+8|0;r=6;break}case 3:{A=i+8|0;r=6;break}default:{}}if((r|0)==6)n[e+8>>2]=n[A>>2];n[e+208>>2]=n[i+208>>2];n[e+228>>2]=n[i+228>>2];n[e+244>>2]=n[i+244>>2];r=e+260|0;f[r>>1]=f[r>>1]&-2|f[i+260>>1]&1;return}function Lb(A){A=A|0;var e=0.0,i=0,f=0;switch(r[A+4>>0]|0){case 1:{i=n[A>>2]|0;A=i+72|0;i=i+56|0;f=5;break}case 3:{i=n[A>>2]|0;A=i+24|0;i=i+8|0;f=5;break}case 2:{i=n[A>>2]|0;A=i+32|0;i=i+16|0;f=5;break}default:e=0.0}if((f|0)==5)e=+s[A>>3]-+s[i>>3];return+e}function Db(A,e,i){A=A|0;e=e|0;i=i|0;var a=0,l=0,t=0,c=0,b=0,o=0,u=0.0,B=0.0,k=0,w=0,d=0;o=v;v=v+96|0;t=o+64|0;l=o+32|0;a=o+16|0;c=o;b=f[e+4>>1]|0;if(b<<16>>16>=1){w=e+8|0;B=+s[e+24>>3];u=+s[w>>3];s[c>>3]=(u+B)*.5+ +s[i>>3];s[c+8>>3]=(+s[e+16>>3]+ +s[e+32>>3])*.5+ +s[i+8>>3];k=n[e>>2]|0;d=i+16|0;i=r[e+6>>0]|0;n[a>>2]=n[c>>2];n[a+4>>2]=n[c+4>>2];n[a+8>>2]=n[c+8>>2];n[a+12>>2]=n[c+12>>2];n[l>>2]=n[d>>2];n[l+4>>2]=n[d+4>>2];n[l+8>>2]=n[d+8>>2];n[l+12>>2]=n[d+12>>2];n[l+16>>2]=n[d+16>>2];n[l+20>>2]=n[d+20>>2];n[l+24>>2]=n[d+24>>2];n[l+28>>2]=n[d+28>>2];n[t>>2]=n[w>>2];n[t+4>>2]=n[w+4>>2];n[t+8>>2]=n[w+8>>2];n[t+12>>2]=n[w+12>>2];n[t+16>>2]=n[w+16>>2];n[t+20>>2]=n[w+20>>2];n[t+24>>2]=n[w+24>>2];n[t+28>>2]=n[w+28>>2];io(A,b<<16>>16,k,a,(B-u)*.5,l,t,i)}v=o;return}function Xb(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,b=0.0,o=0.0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0;I=v;v=v+176|0;h=I+96|0;Z=I+64|0;G=I+136|0;B=I;k=I+128|0;w=e+48|0;n[Z>>2]=n[w>>2];n[Z+4>>2]=n[w+4>>2];n[Z+8>>2]=n[w+8>>2];n[Z+12>>2]=n[w+12>>2];n[Z+16>>2]=n[w+16>>2];n[Z+20>>2]=n[w+20>>2];n[Z+24>>2]=n[w+24>>2];n[Z+28>>2]=n[w+28>>2];b=+s[i>>3];o=+s[i+8>>3];w=e+84|0;l=n[w>>2]|0;if(!(n[e>>2]|0))m=(n[e+8>>2]|0)!=0;else m=1;g=e+108|0;t=n[g>>2]|0;if(t|0)xb(i,t,167296);s[Z>>3]=+s[Z>>3]+b;d=Z+16|0;s[d>>3]=+s[d>>3]+b;d=Z+8|0;s[d>>3]=+s[d>>3]+o;d=Z+24|0;s[d>>3]=+s[d>>3]+o;if(m?(n[A+152>>2]&4|0)==0:0){n[h>>2]=n[Z>>2];n[h+4>>2]=n[Z+4>>2];n[h+8>>2]=n[Z+8>>2];n[h+12>>2]=n[Z+12>>2];n[h+16>>2]=n[Z+16>>2];n[h+20>>2]=n[Z+20>>2];n[h+24>>2]=n[Z+24>>2];n[h+28>>2]=n[Z+28>>2];d=Ub(A,i,e,h,G)|0}else d=0;u=e+42|0;t=f[u>>1]|0;if(!(t&32)){c=n[e+20>>2]|0;if(c){t=jb(A,c,n[e+28>>2]|0,t&65535,k)|0;if(!(f[u>>1]&4)){n[h>>2]=n[Z>>2];n[h+4>>2]=n[Z+4>>2];n[h+8>>2]=n[Z+8>>2];n[h+12>>2]=n[Z+12>>2];n[h+16>>2]=n[Z+16>>2];n[h+20>>2]=n[Z+20>>2];n[h+24>>2]=n[Z+24>>2];n[h+28>>2]=n[Z+28>>2];ts(A,h,t)}else{u=a[e+33>>0]|0;n[h>>2]=n[Z>>2];n[h+4>>2]=n[Z+4>>2];n[h+8>>2]=n[Z+8>>2];n[h+12>>2]=n[Z+12>>2];n[h+16>>2]=n[Z+16>>2];n[h+20>>2]=n[Z+20>>2];n[h+24>>2]=n[Z+24>>2];n[h+28>>2]=n[Z+28>>2];pG(A,Sb(B,h,u)|0,4,4,t)}zN(n[k>>2]|0)}while(1){t=n[l>>2]|0;if(!t)break;Ob(A,t,i);l=l+4|0}l=n[w>>2]|0;vs(A,1.0);t=e+24|0;while(1){c=l+4|0;l=n[l>>2]|0;if(!l)break;if(!(r[l+100>>0]|0)){l=c;continue}Kb(A,l,i,n[t>>2]|0,n[c>>2]|0);l=c}if(r[e+33>>0]|0){n[h>>2]=n[Z>>2];n[h+4>>2]=n[Z+4>>2];n[h+8>>2]=n[Z+8>>2];n[h+12>>2]=n[Z+12>>2];n[h+16>>2]=n[Z+16>>2];n[h+20>>2]=n[Z+20>>2];n[h+24>>2]=n[Z+24>>2];n[h+28>>2]=n[Z+28>>2];_b(A,e,h)}}if(d|0)qb(A,G);if((m?n[A+152>>2]&4|0:0)?(n[h>>2]=n[Z>>2],n[h+4>>2]=n[Z+4>>2],n[h+8>>2]=n[Z+8>>2],n[h+12>>2]=n[Z+12>>2],n[h+16>>2]=n[Z+16>>2],n[h+20>>2]=n[Z+20>>2],n[h+24>>2]=n[Z+24>>2],n[h+28>>2]=n[Z+28>>2],Ub(A,i,e,h,G)|0):0)qb(A,G);if(n[g>>2]|0)$b(i,167296);v=I;return}function Tb(A){A=A|0;var e=0;e=n[A+16>>2]|0;n[e+208>>2]=0;n[e+228>>2]=0;n[e+244>>2]=0;n[e+212>>2]=0;ad(A);return}function xb(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,a=0,l=0;l=A+16|0;f=n[l>>2]|0;if(f|0){if(!(n[e>>2]|0)){f=0;a=i}else{n[i>>2]=f;f=n[e>>2]|0;a=l}n[a>>2]=f}f=n[A+20>>2]|0;if(f|0){a=e+4|0;if(!(n[a>>2]|0)){f=0;a=i}else{n[i+4>>2]=f;f=n[a>>2]|0;a=l}n[a+4>>2]=f}r=+s[A+32>>3];if(r>=0.0){f=e+16|0;if(!(+s[f>>3]>=0.0))r=-1.0;else{s[i+16>>3]=r;r=+s[f>>3];i=l}s[i+16>>3]=r}return}function Ub(A,e,i,a,l){A=A|0;e=e|0;i=i|0;a=a|0;l=l|0;var t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0;g=v;v=v+224|0;o=g+8|0;s=g;h=g+40|0;c=g+184|0;t=g+56|0;b=n[A+16>>2]|0;u=b+208|0;n[l>>2]=n[u>>2];B=b+228|0;n[l+4>>2]=n[B>>2];k=b+244|0;n[l+8>>2]=n[k>>2];w=b+212|0;n[l+12>>2]=n[w>>2];d=b+260|0;r[l+16>>0]=(f[d>>1]<<15&65535)<<16>>16>>15;l=n[i+16>>2]|0;if((l|0)!=0?(r[l>>0]|0)!=0:0)t=0;else{My(h,128,t);t=e+60|0;l=n[t>>2]|0;if(!l){l=vR(td(A,n[b+8>>2]|0,h)|0)|0;n[t>>2]=l;r[e+64>>0]=1}yy(h,l)|0;t=n[42416]|0;n[42416]=t+1;n[s>>2]=t;_p(c,122183,s)|0;yy(h,c)|0;t=h+4|0;l=n[t>>2]|0;if(l>>>0>=(n[h+8>>2]|0)>>>0){Qy(h,1)|0;l=n[t>>2]|0}r[l>>0]=0;l=n[h>>2]|0;n[t>>2]=l;t=1}l=ld(A,0,n[i>>2]|0,n[i+12>>2]|0,n[i+8>>2]|0,l,n[b+8>>2]|0)|0;if(t)Yy(h);do{if(l|0){if((n[u>>2]|0)==0?(f[d>>1]&1)==0:0)break;n[o>>2]=n[a>>2];n[o+4>>2]=n[a+4>>2];n[o+8>>2]=n[a+8>>2];n[o+12>>2]=n[a+12>>2];n[o+16>>2]=n[a+16>>2];n[o+20>>2]=n[a+20>>2];n[o+24>>2]=n[a+24>>2];n[o+28>>2]=n[a+28>>2];Bd(A,o);Kc(A,n[u>>2]|0,n[B>>2]|0,n[k>>2]|0,n[w>>2]|0)}}while(0);v=g;return l|0}function jb(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0.0,l=0,t=0;t=v;v=v+16|0;l=t;if(!((zh(e,f,l)|0)<<24>>24)){rs(A,e);e=1}else{rs(A,n[f>>2]|0);e=n[f+4>>2]|0;a=+c[l>>2];if(!e)fs(A,122106,i,a);else fs(A,e,i,a);e=r>>>1&1|2}es(A,122171);v=t;return e|0}function Sb(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,a=0.0,l=0.0,t=0.0;n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];r=A+32|0;e=e+16|0;n[r>>2]=n[e>>2];n[r+4>>2]=n[e+4>>2];n[r+8>>2]=n[e+8>>2];n[r+12>>2]=n[e+12>>2];if((i|0)>1){t=+(i|0)*.5;l=+s[A>>3]+t;s[A>>3]=l;i=A+8|0;a=+s[i>>3]+t;s[i>>3]=a;f=+s[r>>3]-t;s[r>>3]=f;r=A+40|0;t=+s[r>>3]-t;s[r>>3]=t}else{f=+s[r>>3];a=+s[A+8>>3];l=+s[A>>3];t=+s[A+40>>3]}s[A+16>>3]=f;s[A+24>>3]=a;s[A+48>>3]=l;s[A+56>>3]=t;return A|0}function Ob(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0.0,c=0.0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0;Z=v;v=v+176|0;w=Z+96|0;d=Z+136|0;h=Z+64|0;B=Z;k=Z+128|0;g=e+48|0;n[h>>2]=n[g>>2];n[h+4>>2]=n[g+4>>2];n[h+8>>2]=n[g+8>>2];n[h+12>>2]=n[g+12>>2];n[h+16>>2]=n[g+16>>2];n[h+20>>2]=n[g+20>>2];n[h+24>>2]=n[g+24>>2];n[h+28>>2]=n[g+28>>2];t=+s[i>>3];c=+s[i+8>>3];if(!(n[e>>2]|0))g=(n[e+8>>2]|0)!=0;else g=1;s[h>>3]=+s[h>>3]+t;u=h+16|0;s[u>>3]=+s[u>>3]+t;u=h+8|0;s[u>>3]=+s[u>>3]+c;u=h+24|0;s[u>>3]=+s[u>>3]+c;if(g?(n[A+152>>2]&4|0)==0:0){n[w>>2]=n[h>>2];n[w+4>>2]=n[h+4>>2];n[w+8>>2]=n[h+8>>2];n[w+12>>2]=n[h+12>>2];n[w+16>>2]=n[h+16>>2];n[w+20>>2]=n[h+20>>2];n[w+24>>2]=n[h+24>>2];n[w+28>>2]=n[h+28>>2];u=Ub(A,i,e,w,d)|0}else u=0;o=e+42|0;l=f[o>>1]|0;A:do{if(!(l&32)){b=n[e+20>>2]|0;if(b|0){l=jb(A,b,n[e+28>>2]|0,l&65535,k)|0;if(!(f[o>>1]&4)){n[w>>2]=n[h>>2];n[w+4>>2]=n[h+4>>2];n[w+8>>2]=n[h+8>>2];n[w+12>>2]=n[h+12>>2];n[w+16>>2]=n[h+16>>2];n[w+20>>2]=n[h+20>>2];n[w+24>>2]=n[h+24>>2];n[w+28>>2]=n[h+28>>2];ts(A,w,l)}else{o=a[e+33>>0]|0;n[w>>2]=n[h>>2];n[w+4>>2]=n[h+4>>2];n[w+8>>2]=n[h+8>>2];n[w+12>>2]=n[h+12>>2];n[w+16>>2]=n[h+16>>2];n[w+20>>2]=n[h+20>>2];n[w+24>>2]=n[h+24>>2];n[w+28>>2]=n[h+28>>2];pG(A,Sb(B,w,o)|0,4,4,l)}zN(n[k>>2]|0)}if(r[e+33>>0]|0){n[w>>2]=n[h>>2];n[w+4>>2]=n[h+4>>2];n[w+8>>2]=n[h+8>>2];n[w+12>>2]=n[h+12>>2];n[w+16>>2]=n[h+16>>2];n[w+20>>2]=n[h+20>>2];n[w+24>>2]=n[h+24>>2];n[w+28>>2]=n[h+28>>2];_b(A,e,w)}l=e+88|0;switch(r[e+92>>0]|0){case 1:{Xb(A,n[l>>2]|0,i);break A}case 3:{eo(A,n[l>>2]|0,i);break A}default:{Db(A,n[l>>2]|0,i);break A}}}}while(0);if(u|0)qb(A,d);if((g?n[A+152>>2]&4|0:0)?(n[w>>2]=n[h>>2],n[w+4>>2]=n[h+4>>2],n[w+8>>2]=n[h+8>>2],n[w+12>>2]=n[h+12>>2],n[w+16>>2]=n[h+16>>2],n[w+20>>2]=n[h+20>>2],n[w+24>>2]=n[h+24>>2],n[w+28>>2]=n[h+28>>2],Ub(A,i,e,w,d)|0):0)qb(A,d);v=Z;return}function Kb(A,e,i,t,c){A=A|0;e=e|0;i=i|0;t=t|0;c=c|0;var b=0.0,o=0,u=0.0,B=0.0,k=0,w=0.0,d=0.0,h=0.0,g=0.0,Z=0,G=0,m=0.0,I=0,C=0,M=0,Q=0,E=0;M=v;v=v+32|0;I=M+16|0;C=M;w=+s[i>>3];m=+s[i+8>>3];k=(t|0)==0?122106:t;rs(A,k);es(A,k);h=+s[e+48>>3];u=+s[e+56>>3];g=+s[e+64>>3];B=+s[e+72>>3];d=h+w;w=g+w;m=u+m;k=e+100|0;i=r[k>>0]|0;if((i&1)!=0?(o=n[e+96>>2]|0,((l[e+80>>1]|0)+(l[e+84>>1]|0)|0)<(n[o+104>>2]|0)):0){i=f[e+86>>1]|0;do{if(i<<16>>16)if(((l[e+82>>1]|0)+(i&65535)|0)==(n[o+100>>2]|0)){Q=r[o+32>>0]|0;E=(Q<<24>>24)/2|0;t=(E<<24>>24)+(a[o+33>>0]|0)|0;i=t;t=t&255;b=m-+(E<<24>>24);o=Q;break}else{o=r[o+32>>0]|0;i=0;t=((o<<24>>24)/2|0)<<24>>24;b=m;break}else{E=r[o+32>>0]|0;t=((E<<24>>24)/2|0)<<24>>24;i=t+(a[o+33>>0]|0)|0;b=m;o=E}}while(0);s[C+8>>3]=b-+(t|0);s[C>>3]=w+ +(((o<<24>>24)/2|0)<<24>>24);n[I>>2]=n[C>>2];n[I+4>>2]=n[C+4>>2];n[I+8>>2]=n[C+8>>2];n[I+12>>2]=n[C+12>>2];Ao(A,I,0.0,B-u+ +(i&255|0)+ +(o<<24>>24));i=r[k>>0]|0}if(i&2?(Z=f[e+86>>1]|0,G=n[e+96>>2]|0,((l[e+82>>1]|0)+(Z&65535)|0)<(n[G+100>>2]|0)):0){i=f[e+84>>1]|0;do{if(!(i<<16>>16)){i=r[G+32>>0]|0;E=(i<<24>>24)/2|0;o=(E<<24>>24)+(a[G+33>>0]|0)|0;t=o&255;o=o&255;b=+(E<<24>>24);s[C>>3]=d-b-+(o|0);if((n[G+104>>2]|0)==(l[e+80>>1]|0)){t=o<<1&255;break}if((c|0)!=0?(f[c+86>>1]|0)!=Z<<16>>16:0)t=~~(+(t&255)-g+ +s[G+64>>3]-b)&255}else{if(((l[e+80>>1]|0)+(i&65535)|0)==(n[G+104>>2]|0)){i=r[G+32>>0]|0;E=(i<<24>>24)/2|0;t=(E&255)+(a[G+33>>0]|0)&255;s[C>>3]=d-+(E<<24>>24);break}i=r[G+32>>0]|0;b=+(((i<<24>>24)/2|0)<<24>>24);s[C>>3]=d-b;if((c|0)!=0?(f[c+86>>1]|0)!=Z<<16>>16:0)t=~~(+s[G+64>>3]-g-b)&255;else t=0}}while(0);s[C+8>>3]=m-+(((i<<24>>24)/2|0)<<24>>24);n[I>>2]=n[C>>2];n[I+4>>2]=n[C+4>>2];n[I+8>>2]=n[C+8>>2];n[I+12>>2]=n[C+12>>2];Ao(A,I,g-h+ +(t&255)+ +(i<<24>>24),0.0)}v=M;return}function _b(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0.0;B=v;v=v+160|0;u=B+112|0;o=B;t=B+144|0;b=n[e+24>>2]|0;es(A,(b|0)==0?122106:b);b=e+42|0;l=f[b>>1]|0;if(!(l&384))ns(A,n[(n[A>>2]|0)+336>>2]|0);else{n[t+4>>2]=0;n[t>>2]=0;l=l&65535;if(!(l&256)){if(l&128|0){l=122112;c=4}}else{l=122119;c=4}if((c|0)==4)n[t>>2]=l;ns(A,t)}c=e+33|0;vs(A,+(a[c>>0]|0));A:do{if(!(f[b>>1]&4)){l=f[e+36>>1]&15360;if(!(l<<16>>16)){l=r[c>>0]|0;if((l&255)>1){k=+(l&255)*.5;s[i>>3]=+s[i>>3]+k;o=i+8|0;s[o>>3]=+s[o>>3]+k;o=i+16|0;s[o>>3]=+s[o>>3]-k;o=i+24|0;s[o>>3]=+s[o>>3]-k}n[u>>2]=n[i>>2];n[u+4>>2]=n[i+4>>2];n[u+8>>2]=n[i+8>>2];n[u+12>>2]=n[i+12>>2];n[u+16>>2]=n[i+16>>2];n[u+20>>2]=n[i+20>>2];n[u+24>>2]=n[i+24>>2];n[u+28>>2]=n[i+28>>2];ts(A,u,0);break}t=o+16|0;b=a[c>>0]|0;n[u>>2]=n[i>>2];n[u+4>>2]=n[i+4>>2];n[u+8>>2]=n[i+8>>2];n[u+12>>2]=n[i+12>>2];n[u+16>>2]=n[i+16>>2];n[u+20>>2]=n[i+20>>2];n[u+24>>2]=n[i+24>>2];n[u+28>>2]=n[i+28>>2];Sb(t,u,b)|0;do{switch(((l&65535)+-1024|0)>>>10&4194303|0){case 7:{ss(A,t,2);break A}case 3:{ss(A,o+32|0,2);break A}case 1:{ss(A,o+48|0,2);break A}case 0:{i=o+64|0;n[o>>2]=n[i>>2];n[o+4>>2]=n[i+4>>2];n[o+8>>2]=n[i+8>>2];n[o+12>>2]=n[i+12>>2];ss(A,o,2);break A}case 11:{ss(A,t,3);break A}case 5:{ss(A,o+32|0,3);break A}case 2:{i=o+80|0;n[i>>2]=n[t>>2];n[i+4>>2]=n[t+4>>2];n[i+8>>2]=n[t+8>>2];n[i+12>>2]=n[t+12>>2];ss(A,o+48|0,3);break A}case 8:{i=o+64|0;n[o>>2]=n[i>>2];n[o+4>>2]=n[i+4>>2];n[o+8>>2]=n[i+8>>2];n[o+12>>2]=n[i+12>>2];ss(A,o,3);break A}case 13:{ss(A,t,4);break A}case 6:{i=o+80|0;n[i>>2]=n[t>>2];n[i+4>>2]=n[t+4>>2];n[i+8>>2]=n[t+8>>2];n[i+12>>2]=n[t+12>>2];ss(A,o+32|0,4);break A}case 10:{i=o+80|0;n[i>>2]=n[t>>2];n[i+4>>2]=n[t+4>>2];n[i+8>>2]=n[t+8>>2];n[i+12>>2]=n[t+12>>2];i=o+96|0;u=o+32|0;n[i>>2]=n[u>>2];n[i+4>>2]=n[u+4>>2];n[i+8>>2]=n[u+8>>2];n[i+12>>2]=n[u+12>>2];ss(A,o+48|0,4);break A}case 12:{i=o+64|0;n[o>>2]=n[i>>2];n[o+4>>2]=n[i+4>>2];n[o+8>>2]=n[i+8>>2];n[o+12>>2]=n[i+12>>2];ss(A,o,4);break A}case 9:{ss(A,t,2);ss(A,o+48|0,2);break A}case 4:{i=o+64|0;n[o>>2]=n[i>>2];n[o+4>>2]=n[i+4>>2];n[o+8>>2]=n[i+8>>2];n[o+12>>2]=n[i+12>>2];ss(A,o,2);ss(A,o+32|0,2);break A}default:break A}}while(0)}else{b=a[c>>0]|0;n[u>>2]=n[i>>2];n[u+4>>2]=n[i+4>>2];n[u+8>>2]=n[i+8>>2];n[u+12>>2]=n[i+12>>2];n[u+16>>2]=n[i+16>>2];n[u+20>>2]=n[i+20>>2];n[u+24>>2]=n[i+24>>2];n[u+28>>2]=n[i+28>>2];pG(A,Sb(o,u,b)|0,4,4,0)}}while(0);v=B;return}function qb(A,e){A=A|0;e=e|0;var i=0,a=0,l=0;l=n[A+16>>2]|0;i=l+208|0;if((n[i>>2]|0)==0?(f[l+260>>1]&1)==0:0)A=0;else{_c(A);A=n[i>>2]|0}if((A|0)!=(n[e>>2]|0)){zN(A);n[i>>2]=n[e>>2]}A=l+228|0;i=n[A>>2]|0;a=e+4|0;if((i|0)!=(n[a>>2]|0)){zN(i);n[A>>2]=n[a>>2]}A=l+244|0;i=n[A>>2]|0;a=e+8|0;if((i|0)!=(n[a>>2]|0)){zN(i);n[A>>2]=n[a>>2]}A=l+212|0;i=n[A>>2]|0;a=e+12|0;if((i|0)!=(n[a>>2]|0)){zN(i);n[A>>2]=n[a>>2]}l=l+260|0;f[l>>1]=f[l>>1]&-2|r[e+16>>0]&1;return}function $b(A,e){A=A|0;e=e|0;var i=0.0,r=0;r=n[e>>2]|0;if(r|0)n[A+16>>2]=r;r=n[e+4>>2]|0;if(r|0)n[A+20>>2]=r;i=+s[e+16>>3];if(i>=0.0)s[A+32>>3]=i;return}function Ao(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,a=0,l=0;f=v;v=v+64|0;a=f+32|0;l=f;n[l>>2]=n[e>>2];n[l+4>>2]=n[e+4>>2];n[l+8>>2]=n[e+8>>2];n[l+12>>2]=n[e+12>>2];s[l+16>>3]=+s[e>>3]+i;s[l+24>>3]=+s[e+8>>3]+r;n[a>>2]=n[l>>2];n[a+4>>2]=n[l+4>>2];n[a+8>>2]=n[l+8>>2];n[a+12>>2]=n[l+12>>2];n[a+16>>2]=n[l+16>>2];n[a+20>>2]=n[l+20>>2];n[a+24>>2]=n[l+24>>2];n[a+28>>2]=n[l+28>>2];ts(A,a,1);v=f;return}function eo(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0.0,c=0.0,b=0.0,o=0.0;l=v;v=v+64|0;a=l;c=+s[i>>3];o=c+ +s[e>>3];b=+s[i+8>>3];t=b+ +s[e+8>>3];c=c+ +s[e+16>>3];b=b+ +s[e+24>>3];s[a>>3]=c;s[a+8>>3]=b;s[a+32>>3]=o;s[a+40>>3]=t;s[a+16>>3]=o;s[a+24>>3]=b;s[a+48>>3]=c;s[a+56>>3]=t;f=n[e+36>>2]|0;if(!f)f=n[i+56>>2]|0;i=n[e+32>>2]|0;if(!i)BA(122126,122134,623,122146);if(!(r[i>>0]|0))BA(122160,122134,624,122146);else{os(A,i,a,4,1,f);v=l;return}}function io(A,e,i,a,l,t,c,b){A=A|0;e=e|0;i=i|0;a=a|0;l=+l;t=t|0;c=c|0;b=b|0;var o=0.0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0.0,z=0,p=0,R=0,P=0.0,H=0.0,F=0,L=0,D=0,X=0;X=v;v=v+128|0;p=X+104|0;F=X+48|0;L=X+16|0;R=X;z=R;n[z>>2]=0;n[z+4>>2]=0;P=+s[a>>3];H=P-l;N=P+l;z=R+8|0;s[z>>3]=(+s[c+24>>3]-+s[c+8>>3])*.5+ +s[a+8>>3];qc(A,1);y=L+16|0;Y=L+4|0;V=L+24|0;W=F+4|0;J=F+16|0;d=(b|0)==0;h=F+24|0;g=F+8|0;Z=F+32|0;G=F+40|0;m=F+48|0;I=t+16|0;C=t+4|0;M=L+8|0;k=0;while(1){if((k|0)>=(e|0))break;switch(r[i+(k*24|0)+6>>0]|0){case 108:{l=H;break}case 114:{l=N-+s[i+(k*24|0)+8>>3];break}default:l=P-+s[i+(k*24|0)+8>>3]*.5}s[a>>3]=l;Q=i+(k*24|0)+16|0;s[z>>3]=+s[z>>3]-+s[Q>>3];E=i+(k*24|0)+4|0;B=n[i+(k*24|0)>>2]|0;w=0;while(1){if((w|0)>=(f[E>>1]|0))break;u=B+4|0;b=n[u>>2]|0;if(b){s[y>>3]=+s[(+s[b+16>>3]>0.0?b:t)+16>>3];n[L>>2]=n[((n[b>>2]|0)==0?t:b)>>2];c=n[((n[b+4>>2]|0)==0?t:b)+4>>2]|0;n[Y>>2]=c;b=n[b+24>>2]&127;if(!b)D=12;else b=n[V>>2]&-128|b}else{s[y>>3]=+s[I>>3];n[L>>2]=n[t>>2];c=n[C>>2]|0;n[Y>>2]=c;D=12}if((D|0)==12){D=0;b=n[V>>2]&-128}n[V>>2]=b;es(A,c);n[F>>2]=n[B>>2];n[W>>2]=L;s[J>>3]=+s[B+16>>3];if(d)o=1.0;else o=+s[B+24>>3];s[h>>3]=o;n[M>>2]=n[(n[u>>2]|0)+8>>2];n[g>>2]=n[B+8>>2];u=B+32|0;s[Z>>3]=+s[u>>3];s[G>>3]=+s[Q>>3];r[m>>0]=108;s[R>>3]=l;n[p>>2]=n[R>>2];n[p+4>>2]=n[R+4>>2];n[p+8>>2]=n[R+8>>2];n[p+12>>2]=n[R+12>>2];As(A,p,F);o=+s[u>>3]+l;s[a>>3]=o;B=B+56|0;w=w+1|0;l=o}k=k+1|0}$c(A);v=X;return}function ro(A){A=A|0;zN(n[A>>2]|0);zN(n[A+4>>2]|0);zN(n[A+8>>2]|0);zN(n[A+16>>2]|0);zN(n[A+12>>2]|0);zN(n[A+20>>2]|0);zN(n[A+24>>2]|0);return}function fo(A){A=A|0;var e=0,i=0,r=0,a=0,l=0,t=0,c=0,s=0;if(A|0){c=A+4|0;i=0;a=n[A>>2]|0;while(1){if((i|0)>=(f[c>>1]|0))break;s=a+4|0;e=0;r=n[a>>2]|0;while(1){if((e|0)>=(f[s>>1]|0))break;zN(n[r>>2]|0);l=n[r+8>>2]|0;if(l|0?(t=n[r+12>>2]|0,t|0):0)ZF[t&127](l);e=e+1|0;r=r+56|0}i=i+1|0;a=a+24|0}e=n[A>>2]|0;if(e|0)zN(e);zN(A)}return}function no(A){A=A|0;zN(n[A+32>>2]|0);zN(A);return}function ao(A,e){A=A|0;e=e|0;switch(r[A+4>>0]|0){case 1:{lo(n[A>>2]|0);break}case 3:{no(n[A>>2]|0);break}default:fo(n[A>>2]|0)}if(e|0)zN(A);return}function lo(A){A=A|0;var e=0,i=0,r=0;r=A+84|0;if((n[A+100>>2]|0)==-1)ay(n[r>>2]|0)|0;else{e=n[r>>2]|0;zN(n[A+92>>2]|0);zN(n[A+96>>2]|0);while(1){i=n[e>>2]|0;if(!i)break;to(i);e=e+4|0}zN(n[r>>2]|0)}ro(A);zN(A);return}function to(A){A=A|0;ao(A+88|0,0);ro(A);zN(A);return}function co(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A=n[(n[(n[A+16>>2]|0)+104>>2]|0)+72>>2]|0;if((r[A+4>>0]|0)!=2?(f=so(n[A>>2]|0,e)|0,(f|0)!=0):0){n[i>>2]=a[f+35>>0];A=f+48|0}else A=0;return A|0}function so(A,e){A=A|0;e=e|0;var i=0,r=0;i=n[A+4>>2]|0;if(!((i|0)!=0?(Tz(i,e)|0)==0:0))r=3;A:do{if((r|0)==3){i=n[A+84>>2]|0;while(1){A=n[i>>2]|0;if(!A){A=0;break A}A=bo(A,e)|0;if(!A)i=i+4|0;else break}}}while(0);return A|0}function bo(A,e){A=A|0;e=e|0;var i=0;i=n[A+4>>2]|0;if(!((i|0)!=0?(Tz(i,e)|0)==0:0))if((r[A+92>>0]|0)==1)A=so(n[A+88>>2]|0,e)|0;else A=0;return A|0}function oo(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;return 0}function uo(A){A=A|0;var e=0.0,i=0,a=0,t=0,c=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0;B=A+92|0;n[B>>2]=Jg((n[A+100>>2]<<2)+4|0)|0;u=Jg((n[A+104>>2]<<2)+4|0)|0;n[A+96>>2]=u;v=A+32|0;o=n[A+84>>2]|0;while(1){b=n[o>>2]|0;if(!b)break;A=f[b+82>>1]|0;e=+s[b+72>>3];if(A<<16>>16==1)a=~~e;else{a=~~((e-+(X((r[v>>0]|0)+-1|0,(A&65535)+-1|0)|0))/+(A&65535));a=(a|0)>1?a:1}t=f[b+80>>1]|0;e=+s[b+64>>3];if(t<<16>>16==1)c=~~e;else{c=~~((e-+(X((r[v>>0]|0)+-1|0,(t&65535)+-1|0)|0))/+(t&65535));c=(c|0)>1?c:1}k=l[b+86>>1]|0;i=(A&65535)+k|0;A=k;while(1){if((A|0)>=(i|0))break;k=(n[B>>2]|0)+(A<<2)|0;w=n[k>>2]|0;n[k>>2]=(w|0)>(a|0)?w:a;A=A+1|0}A=l[b+84>>1]|0;i=(t&65535)+A|0;while(1){if((A|0)>=(i|0))break;w=u+(A<<2)|0;k=n[w>>2]|0;n[w>>2]=(k|0)>(c|0)?k:c;A=A+1|0}o=o+4|0}return}function vo(A){A=A|0;var e=0,i=0;i=v;v=v+16|0;e=i;if(A>>>0<21)A=n[54824+(A<<2)>>2]|0;else{n[e>>2]=A;_p(174077,122187,e)|0;A=174077}v=i;return A|0}function Bo(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,t=0,c=0,b=0,o=0,u=0,v=0;c=A+104|0;b=A+100|0;t=i+16|0;r=0;f=0;while(1){if((r|0)>(n[c>>2]|0))break;a=zV(i,vo(r)|0,1)|0;lW(a,122241,304,1)|0;o=a+16|0;n[(n[o>>2]|0)+176>>2]=0;v=Jg((n[b>>2]<<2)+4|0)|0;u=n[o>>2]|0;n[u+172>>2]=v;n[u+184>>2]=0;u=Jg((n[b>>2]<<2)+4|0)|0;n[(n[o>>2]|0)+180>>2]=u;if(!f)n[(n[t>>2]|0)+192>>2]=a;else n[(n[f+16>>2]|0)+164>>2]=a;r=r+1|0;f=a}t=e+16|0;r=0;f=0;while(1){if((r|0)>(n[b>>2]|0))break;a=zV(e,vo(r)|0,1)|0;lW(a,122241,304,1)|0;v=a+16|0;n[(n[v>>2]|0)+176>>2]=0;o=Jg((n[c>>2]<<2)+4|0)|0;u=n[v>>2]|0;n[u+172>>2]=o;n[u+184>>2]=0;u=Jg((n[c>>2]<<2)+4|0)|0;n[(n[v>>2]|0)+180>>2]=u;if(!f)n[(n[t>>2]|0)+192>>2]=a;else n[(n[f+16>>2]|0)+164>>2]=a;r=r+1|0;f=a}r=n[A+84>>2]|0;while(1){f=n[r>>2]|0;if(!f)break;v=f+84|0;u=zV(i,vo(l[v>>1]|0)|0,0)|0;v=zV(i,vo((l[f+80>>1]|0)+(l[v>>1]|0)|0)|0,0)|0;ko(i,u,v,~~+s[f+64>>3]);v=f+86|0;u=zV(e,vo(l[v>>1]|0)|0,0)|0;v=zV(e,vo((l[f+82>>1]|0)+(l[v>>1]|0)|0)|0,0)|0;ko(e,u,v,~~+s[f+72>>3]);r=r+4|0}wo(i);wo(e);return}function ko(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var a=0,t=0;a=IY(A,e,i,0,0)|0;if(!a){t=IY(A,e,i,0,1)|0;lW(t,122254,176,1)|0;f[(n[t+16>>2]|0)+170>>1]=r;e=e+16|0;A=n[e>>2]|0;a=n[A+180>>2]|0;if(!a)A=Ng((n[A+184>>2]<<2)+8|0)|0;else A=pg(a,(n[A+184>>2]<<2)+8|0)|0;r=n[e>>2]|0;n[r+180>>2]=A;r=r+184|0;a=n[r>>2]|0;n[r>>2]=a+1;n[A+(a<<2)>>2]=t;e=n[e>>2]|0;n[(n[e+180>>2]|0)+(n[e+184>>2]<<2)>>2]=0;e=i+16|0;A=n[e>>2]|0;a=n[A+172>>2]|0;if(!a)A=Ng((n[A+176>>2]<<2)+8|0)|0;else A=pg(a,(n[A+176>>2]<<2)+8|0)|0;r=n[e>>2]|0;n[r+172>>2]=A;r=r+176|0;i=n[r>>2]|0;n[r>>2]=i+1;n[A+(i<<2)>>2]=t;t=n[e>>2]|0;n[(n[t+172>>2]|0)+(n[t+176>>2]<<2)>>2]=0}else{t=(n[a+16>>2]|0)+170|0;i=l[t>>1]|0;f[t>>1]=(i|0)>(r|0)?i:r}return}function wo(A){A=A|0;var e=0,i=0,r=0,a=0,l=0,t=0;e=n[(n[A+16>>2]|0)+192>>2]|0;while(1){r=e+16|0;l=n[(n[r>>2]|0)+164>>2]|0;if(!l)break;if(IY(A,e,l,0,0)|0){e=l;continue}a=IY(A,e,l,0,1)|0;lW(a,122254,176,1)|0;f[(n[a+16>>2]|0)+170>>1]=0;e=n[r>>2]|0;i=n[e+180>>2]|0;if(!i)e=Ng((n[e+184>>2]<<2)+8|0)|0;else e=pg(i,(n[e+184>>2]<<2)+8|0)|0;t=n[r>>2]|0;n[t+180>>2]=e;t=t+184|0;i=n[t>>2]|0;n[t>>2]=i+1;n[e+(i<<2)>>2]=a;r=n[r>>2]|0;n[(n[r+180>>2]|0)+(n[r+184>>2]<<2)>>2]=0;r=l+16|0;e=n[r>>2]|0;i=n[e+172>>2]|0;if(!i)e=Ng((n[e+176>>2]<<2)+8|0)|0;else e=pg(i,(n[e+176>>2]<<2)+8|0)|0;i=n[r>>2]|0;n[i+172>>2]=e;i=i+176|0;t=n[i>>2]|0;n[i>>2]=t+1;n[e+(t<<2)>>2]=a;e=n[r>>2]|0;n[(n[e+172>>2]|0)+(n[e+176>>2]<<2)>>2]=0;e=l}return}function ho(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0;a=A+92|0;r=0;f=0;e=n[(n[(n[e+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){e=n[e+164>>2]|0;if(!e)break;e=n[e+16>>2]|0;l=e+232|0;n[(n[a>>2]|0)+(f<<2)>>2]=(n[l>>2]|0)-r;r=n[l>>2]|0;f=f+1|0}A=A+96|0;r=0;f=0;e=n[(n[(n[i+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){e=n[e+164>>2]|0;if(!e)break;e=n[e+16>>2]|0;l=e+232|0;n[(n[A>>2]|0)+(f<<2)>>2]=(n[l>>2]|0)-r;r=n[l>>2]|0;f=f+1|0}return}function go(A){A=A|0;var e=0,i=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l+4|0;e=l;n[e>>2]=n[4411];i=n[A+100>>2]|0;if((i|0)!=1?(f=A+104|0,(n[f>>2]|0)!=1):0){n[A+92>>2]=Jg((i<<2)+4|0)|0;n[A+96>>2]=Jg((n[f>>2]<<2)+4|0)|0;r[a>>0]=r[e>>0]|0;r[a+1>>0]=r[e+1>>0]|0;r[a+2>>0]=r[e+2>>0]|0;r[a+3>>0]=r[e+3>>0]|0;f=YY(122267,a,0)|0;r[a>>0]=r[e>>0]|0;r[a+1>>0]=r[e+1>>0]|0;r[a+2>>0]=r[e+2>>0]|0;r[a+3>>0]=r[e+3>>0]|0;a=YY(122272,a,0)|0;lW(f,122277,280,1)|0;lW(a,122277,280,1)|0;Bo(A,f,a);dZ(f,2,2147483647)|0;dZ(a,2,2147483647)|0;ho(A,f,a);Zo(f,a)}else uo(A);v=l;return}function Zo(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=(n[e+16>>2]|0)+192|0;while(1){i=n[i>>2]|0;if(!i)break;f=i+16|0;i=n[f>>2]|0;r=n[i+172>>2]|0;if(r){zN(r);i=n[f>>2]|0}r=n[i+180>>2]|0;if(r){zN(r);i=n[f>>2]|0}i=i+164|0}NY(A)|0;NY(e)|0;return}function Go(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0.0,w=0.0;B=v;v=v+272|0;o=B+104|0;u=B+136|0;t=B+72|0;c=B;a=B+144|0;n[c+48>>2]=A;switch(KV(A)|0){case 0:{i=n[A+60>>2]|0;break}case 1:{i=HV(A)|0;break}case 2:{i=HV(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;break}default:{}}l=c+52|0;n[l>>2]=i;b=n[i+60>>2]|0;s[c+32>>3]=+s[e+16>>3];n[c+16>>2]=n[e+4>>2];n[c+20>>2]=n[e+8>>2];n[c+40>>2]=0;f=Wv(n[e>>2]|0,u,c)|0;if(!f){My(o,128,a);r[e+82>>0]=0;i=vR(mo(A,o)|0)|0;n[e>>2]=i;if((n[e+12>>2]|0)==1)i=pC(i)|0;else i=JC(i,n[l>>2]|0)|0;zN(n[e>>2]|0);n[e>>2]=i;Zg(n[(n[b+16>>2]|0)+144>>2]|0,e);Yy(o);i=n[u>>2]|0}else{i=f+4|0;if((r[i>>0]|0)==1){if((n[(n[f>>2]|0)+24>>2]|0)==0?Io(A)|0:0){l=vR(Io(A)|0)|0;n[(n[f>>2]|0)+24>>2]=l}b=Co(b,n[f>>2]|0,0,c)|0;n[u>>2]=n[u>>2]|b;b=n[f>>2]|0;w=+s[b+64>>3]*.5;k=+s[b+72>>3]*.5;Mo(t,-w,-k,w,k);b=n[f>>2]|0;n[o>>2]=n[t>>2];n[o+4>>2]=n[t+4>>2];n[o+8>>2]=n[t+8>>2];n[o+12>>2]=n[t+12>>2];n[o+16>>2]=n[t+16>>2];n[o+20>>2]=n[t+20>>2];n[o+24>>2]=n[t+24>>2];n[o+28>>2]=n[t+28>>2];Qo(b,o,15)}else{Eo(n[(n[b+16>>2]|0)+144>>2]|0,n[f>>2]|0,c);o=n[f>>2]|0;k=+s[o+24>>3]*.5;w=+s[o+32>>3]*.5;Mo(t,-k,-w,k,w);o=(n[f>>2]|0)+8|0;n[o>>2]=n[t>>2];n[o+4>>2]=n[t+4>>2];n[o+8>>2]=n[t+8>>2];n[o+12>>2]=n[t+12>>2];n[o+16>>2]=n[t+16>>2];n[o+20>>2]=n[t+20>>2];n[o+24>>2]=n[t+24>>2];n[o+28>>2]=n[t+28>>2]}s[e+24>>3]=+s[t+16>>3]-+s[t>>3];s[e+32>>3]=+s[t+24>>3]-+s[t+8>>3];n[e+72>>2]=f;if((r[i>>0]|0)==1){zN(n[e>>2]|0);n[e>>2]=vR(122290)|0}i=n[u>>2]|0}v=B;return i|0}function mo(A,e){A=A|0;e=e|0;var i=0;A:do{switch(KV(A)|0){case 0:{yy(e,qY(A)|0)|0;break}case 1:{yy(e,qY(A)|0)|0;break}case 2:{yy(e,qY(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0)|0;i=A+-48|0;yy(e,qY(n[((n[A>>2]&3|0)==2?A:i)+40>>2]|0)|0)|0;if(!(HY(HV(n[((n[A>>2]&3|0)==2?A:i)+40>>2]|0)|0)|0)){yy(e,122549)|0;break A}else{yy(e,122546)|0;break A}}default:{}}}while(0);i=e+4|0;A=n[i>>2]|0;if(A>>>0>=(n[e+8>>2]|0)>>>0){Qy(e,1)|0;A=n[i>>2]|0}r[A>>0]=0;e=n[e>>2]|0;n[i>>2]=e;return e|0}function Io(A){A=A|0;var e=0,i=0;e=fY(A,122531)|0;if(!((e|0)!=0?(r[e>>0]|0)!=0:0))i=3;do{if((i|0)==3){e=fY(A,122540)|0;if(e|0?r[e>>0]|0:0)break;e=0}}while(0);return e|0}function Co(A,e,i,t){A=A|0;e=e|0;i=i|0;t=t|0;var c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0;G=v;v=v+16|0;g=G+8|0;h=G;Z=e+108|0;c=n[Z>>2]|0;if(c|0)xb(t,c,167328);n[e+80>>2]=i;c=Wo(A,e,t)|0;w=e+36|0;A=f[w>>1]|0;if(!(A&128))r[e+32>>0]=2;i=e+33|0;if(!(A&32))r[i>>0]=1;go(e);o=n[e+104>>2]|0;B=r[e+32>>0]|0;A=X(o+1|0,B)|0;u=a[i>>0]<<1;k=n[e+100>>2]|0;B=X(k+1|0,B)|0;b=e+96|0;A=u+A|0;i=0;while(1){if((i|0)>=(o|0))break;A=(n[(n[b>>2]|0)+(i<<2)>>2]|0)+A|0;i=i+1|0}o=e+92|0;i=B+u|0;b=0;while(1){if((b|0)>=(k|0))break;i=(n[(n[o>>2]|0)+(b<<2)>>2]|0)+i|0;b=b+1|0}o=e+38|0;do{if(f[w>>1]&1){w=f[o>>1]|0;b=w&65535;if(w<<16>>16?(d=f[e+40>>1]|0,d<<16>>16):0){if(!((A|0)>(b|0)|(i|0)>(d&65535|0))){i=0;A=0;break}Gy(0,122331,h)|0;c=1;i=0;A=0;break}Gy(0,122365,g)|0;c=1}}while(0);g=l[o>>1]|0;s[e+64>>3]=+(((A|0)>(g|0)?A:g)|0);g=l[e+40>>1]|0;s[e+72>>3]=+(((i|0)>(g|0)?i:g)|0);if(n[Z>>2]|0)$b(t,167328);v=G;return c|0}function Mo(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;s[A>>3]=e;s[A+8>>3]=i;s[A+16>>3]=r;s[A+24>>3]=f;return}function Qo(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,b=0.0,o=0.0,u=0,B=0,k=0.0,w=0.0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0.0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0.0,p=0;N=v;v=v+64|0;W=N+32|0;J=N;Y=n[A+84>>2]|0;c=n[A+80>>2]|0;if((c|0?(l=n[c+24>>2]|0,l|0):0)?(t=A+24|0,(n[t>>2]|0)==0):0)n[t>>2]=vR(l)|0;V=A+48|0;l=e+16|0;o=+s[l>>3];b=+s[e>>3];c=~~(o-b-+(~~+s[A+64>>3]|0));if((c|0)<=-1)BA(122298,122134,1761,122308);u=e+24|0;I=+s[u>>3];B=e+8|0;k=+s[B>>3];w=+(~~+s[A+72>>3]|0);d=~~(I-k-w);if((d|0)<=-1)BA(122321,122134,1764,122308);h=f[A+36>>1]|0;t=h&65535;A:do{if(t&1){e:do{if((c|0)>0)switch(t&6){case 4:{s[l>>3]=b+w;break e}case 2:{z=+(c|0);s[l>>3]=o+z;b=b+z;s[e>>3]=b;break e}default:{z=+(c>>>1|0);b=b+z;s[e>>3]=b;s[l>>3]=o-z;break e}}}while(0);if((d|0)>0)switch(h&24){case 16:{I=k+w;s[u>>3]=I;d=0;l=0;break A}case 8:{z=+(d|0);I=I+z;s[u>>3]=I;s[B>>3]=k+z;d=0;l=0;break A}default:{z=+(d>>>1|0);s[B>>3]=k+z;I=I-z;s[u>>3]=I;d=0;l=0;break A}}else{d=0;l=0}}else l=c}while(0);o=+(a[A+33>>0]|0);E=A+32|0;g=r[E>>0]|0;k=+(g<<24>>24);y=A+104|0;c=n[y>>2]|0;h=(l|0)/(c|0)|0;u=l-(X(h,c)|0)|0;u=~~(((u|0)>-1?.5:-.5)+ +(u|0));Q=A+96|0;B=g<<24>>24;l=~~(b+o+k);t=0;while(1){if((t|0)>(c|0))break;M=(n[Q>>2]|0)+(t<<2)|0;c=n[M>>2]|0;n[M>>2]=l;l=l+h+((t|0)<(u|0)&1)+c+B|0;t=t+1|0;c=n[y>>2]|0}M=A+100|0;c=n[M>>2]|0;h=(d|0)/(c|0)|0;B=d-(X(h,c)|0)|0;B=~~(((B|0)>-1?.5:-.5)+ +(B|0));C=A+92|0;u=g<<24>>24;l=~~(I-o-k);t=0;while(1){if((t|0)>(c|0))break;m=(n[C>>2]|0)+(t<<2)|0;c=n[m>>2]|0;n[m>>2]=l;l=l-h+(((t|0)<(B|0))<<31>>31)-c-u|0;t=t+1|0;c=n[M>>2]|0}g=(i|0)==0;Z=J+16|0;G=J+24|0;m=J+8|0;l=Y;while(1){u=n[l>>2]|0;if(!u)break;c=f[u+84>>1]|0;if(g){t=0;B=f[u+80>>1]|0;d=f[u+86>>1]|0;h=f[u+82>>1]|0}else{t=c<<16>>16==0?8:0;d=f[u+86>>1]|0;t=d<<16>>16==0?t|4:t;B=f[u+80>>1]|0;h=f[u+82>>1]|0;t=(((B&65535)+(c&65535)|0)==(n[y>>2]|0)?t|2:t)|((h&65535)+(d&65535)|0)==(n[M>>2]|0)}p=n[Q>>2]|0;c=c&65535;s[J>>3]=+(n[p+(c<<2)>>2]|0);Y=r[E>>0]|0;s[Z>>3]=+((n[p+((B&65535)+c<<2)>>2]|0)-Y|0);B=n[C>>2]|0;s[G>>3]=+(n[B+((d&65535)<<2)>>2]|0);s[m>>3]=+((n[B+((h&65535)+(d&65535)<<2)>>2]|0)+Y|0);n[W>>2]=n[J>>2];n[W+4>>2]=n[J+4>>2];n[W+8>>2]=n[J+8>>2];n[W+12>>2]=n[J+12>>2];n[W+16>>2]=n[J+16>>2];n[W+20>>2]=n[J+20>>2];n[W+24>>2]=n[J+24>>2];n[W+28>>2]=n[J+28>>2];yo(u,W,t&i);l=l+4|0}r[A+35>>0]=i;n[V>>2]=n[e>>2];n[V+4>>2]=n[e+4>>2];n[V+8>>2]=n[e+8>>2];n[V+12>>2]=n[e+12>>2];n[V+16>>2]=n[e+16>>2];n[V+20>>2]=n[e+20>>2];n[V+24>>2]=n[e+24>>2];n[V+28>>2]=n[e+28>>2];v=N;return}function Eo(A,e,i){A=A|0;e=e|0;i=i|0;var a=0,l=0,t=0.0,c=0.0,b=0,o=0,u=0.0,B=0.0,k=0.0,w=0,d=0.0,h=0.0,g=0.0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0.0,D=0.0,X=0.0;F=v;v=v+112|0;J=F+48|0;N=F+16|0;z=F;n[N>>2]=0;n[N+4>>2]=0;n[N+8>>2]=0;n[N+12>>2]=0;n[N+16>>2]=0;n[N+20>>2]=0;n[N+24>>2]=0;n[N+28>>2]=0;p=e+4|0;R=i+16|0;P=i+32|0;H=N+16|0;w=f[p>>1]|0;o=w<<16>>16;a=0;t=-1.0;b=0;while(1){if((b|0)>=(o|0)){a=1;break}l=n[e>>2]|0;if((f[l+(b*24|0)+4>>1]|0)>1){a=0;break}l=n[(n[l+(b*24|0)>>2]|0)+4>>2]|0;if(!l){c=+s[P>>3];s[H>>3]=c;l=R}else{if(n[l+24>>2]&127|0){a=0;break}c=+s[(+s[l+16>>3]>0.0?l:R)+16>>3];s[H>>3]=c;l=(n[l>>2]|0)==0?R:l}l=n[l>>2]|0;n[N>>2]=l;if(!(t==-1.0)){if(c!=t){a=0;break}}else t=c;if(a){if(az(l,a)|0){a=0;break}}else a=l;b=b+1|0}r[e+6>>0]=a;Y=i+48|0;V=i+20|0;W=N+4|0;G=i+40|0;m=N+24|0;I=A+144|0;C=J+4|0;Z=z+8|0;M=J+16|0;Q=J+24|0;E=J+8|0;y=J+12|0;i=(a|0)==0;t=0.0;d=0.0;h=0.0;g=0.0;o=0;a=w;while(1){if((o|0)>=(a<<16>>16|0))break;c=0.0;k=0.0;b=0;B=0.0;t=0.0;l=n[e>>2]|0;while(1){if((b|0)>=(f[l+(o*24|0)+4>>1]|0))break;n[J>>2]=Eg(n[(n[l+(o*24|0)>>2]|0)+(b*56|0)>>2]|0,n[Y>>2]|0)|0;l=(n[e>>2]|0)+(o*24|0)|0;a=n[(n[l>>2]|0)+(b*56|0)+4>>2]|0;if(!a){s[H>>3]=+s[P>>3];n[N>>2]=n[R>>2];n[W>>2]=n[V>>2];n[m>>2]=n[m>>2]&-128|n[G>>2]&127}else{a=n[a+24>>2]&127;if(!a)a=n[G>>2]&127;n[m>>2]=n[m>>2]&-128|a;w=n[(n[l>>2]|0)+(b*56|0)+4>>2]|0;s[H>>3]=+s[(+s[w+16>>3]>0.0?w:R)+16>>3];n[N>>2]=n[((n[w>>2]|0)==0?R:w)>>2];n[W>>2]=n[((n[w+4>>2]|0)==0?R:w)+4>>2]}l=n[I>>2]|0;n[C>>2]=kF[n[l>>2]&31](l,N,1)|0;QI(z,A,J);D=+s[z>>3];u=+s[Z>>3];zN(n[(n[(n[e>>2]|0)+(o*24|0)>>2]|0)+(b*56|0)>>2]|0);l=n[e>>2]|0;w=n[l+(o*24|0)>>2]|0;n[w+(b*56|0)>>2]=n[J>>2];s[w+(b*56|0)+32>>3]=D;s[w+(b*56|0)+16>>3]=+s[M>>3];s[w+(b*56|0)+24>>3]=+s[Q>>3];n[w+(b*56|0)+4>>2]=n[C>>2];n[w+(b*56|0)+8>>2]=n[E>>2];n[w+(b*56|0)+12>>2]=n[y>>2];L=+s[H>>3];X=+s[Q>>3];c=X>c?X:c;k=D+k;b=b+1|0;B=L>B?L:B;t=u>t?u:t}s[l+(o*24|0)+8>>3]=k;a=(o|0)==0;do{if(i)if(a){u=B;c=B-c;a=l;break}else{u=B;c=h-g+B-c;a=l+(o*24|0)|0;break}else{u=t;c=a?B:t;a=l+(o*24|0)|0}}while(0);s[a+16>>3]=c;d=k>d?k:d;h=u+h;g=+s[l+(o*24|0)+16>>3]+g;o=o+1|0;a=f[p>>1]|0}s[e+24>>3]=d;s[e+32>>3]=a<<16>>16==1?t:h;v=F;return}function yo(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0.0,b=0.0,o=0.0,u=0.0,B=0.0,k=0.0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0.0,M=0.0;I=v;v=v+64|0;Z=I+32|0;m=I;t=A+24|0;if((n[t>>2]|0)==0?(l=n[(n[A+96>>2]|0)+24>>2]|0,l|0):0)n[t>>2]=vR(l)|0;h=A+36|0;G=f[h>>1]|0;l=G&65535;A:do{if(l&1){c=+s[A+64>>3];k=+s[A+72>>3];t=e+16|0;b=+s[t>>3];u=+s[e>>3];o=b-u-c;e:do{if(o>0.0)switch(l&6){case 4:{b=u+c;s[t>>3]=b;c=u;break e}case 2:{b=o+b;s[t>>3]=b;c=u+o;s[e>>3]=c;break e}default:{B=o*.5;c=B+u;s[e>>3]=c;b=b-B;s[t>>3]=b;break e}}else c=u}while(0);l=e+24|0;B=+s[l>>3];t=e+8|0;o=+s[t>>3];u=B-o-k;if(u>0.0)switch(G&24){case 16:{u=o+k;s[l>>3]=u;break A}case 8:{k=u+B;s[l>>3]=k;o=o+u;s[t>>3]=o;u=k;break A}default:{u=u*.5;o=u+o;s[t>>3]=o;u=B-u;s[l>>3]=u;break A}}else u=B}else{c=+s[e>>3];o=+s[e+8>>3];b=+s[e+16>>3];u=+s[e+24>>3]}}while(0);d=A+48|0;n[d>>2]=n[e>>2];n[d+4>>2]=n[e+4>>2];n[d+8>>2]=n[e+8>>2];n[d+12>>2]=n[e+12>>2];n[d+16>>2]=n[e+16>>2];n[d+20>>2]=n[e+20>>2];n[d+24>>2]=n[e+24>>2];n[d+28>>2]=n[e+28>>2];r[A+35>>0]=i;M=+(a[A+33>>0]|0);C=+(a[A+34>>0]|0);B=c+M+C;s[m>>3]=B;k=o+M+C;d=m+8|0;s[d>>3]=k;o=b-M-C;e=m+16|0;s[e>>3]=o;u=u-M-C;w=m+24|0;s[w>>3]=u;t=A+88|0;switch(r[A+92>>0]|0){case 1:{G=n[t>>2]|0;n[Z>>2]=n[m>>2];n[Z+4>>2]=n[m+4>>2];n[Z+8>>2]=n[m+8>>2];n[Z+12>>2]=n[m+12>>2];n[Z+16>>2]=n[m+16>>2];n[Z+20>>2]=n[m+20>>2];n[Z+24>>2]=n[m+24>>2];n[Z+28>>2]=n[m+28>>2];Qo(G,Z,i);break}case 3:{l=n[t>>2]|0;c=+s[l+24>>3];b=o-B-+s[l+16>>3];A:do{if(b>0.0)switch(G&6){case 4:{s[e>>3]=o-b;break A}case 2:{s[m>>3]=b+B;break A}default:break A}}while(0);c=u-k-c;A:do{if(c>0.0)switch(G&24){case 16:{s[w>>3]=u-c;break A}case 8:{s[d>>3]=c+k;break A}default:break A}}while(0);n[Z>>2]=n[m>>2];n[Z+4>>2]=n[m+4>>2];n[Z+8>>2]=n[m+8>>2];n[Z+12>>2]=n[m+12>>2];n[Z+16>>2]=n[m+16>>2];n[Z+20>>2]=n[m+20>>2];n[Z+24>>2]=n[m+24>>2];n[Z+28>>2]=n[m+28>>2];Yo(l,Z);break}default:{l=n[t>>2]|0;c=+s[l+32>>3];b=o-B-+s[l+24>>3];A:do{if(b>0.0?(g=G&6,g<<16>>16!=6):0)switch(g&7){case 4:{s[e>>3]=o-b;break A}case 2:{s[m>>3]=b+B;break A}default:{M=b*.5;s[m>>3]=M+B;s[e>>3]=o-M;break A}}}while(0);c=u-k-c;A:do{if(c>0.0)switch(G&24){case 16:{s[w>>3]=u-c;break A}case 8:{s[d>>3]=c+k;break A}default:{M=c*.5;s[d>>3]=M+k;s[w>>3]=u-M;break A}}}while(0);G=l+8|0;n[G>>2]=n[m>>2];n[G+4>>2]=n[m+4>>2];n[G+8>>2]=n[m+8>>2];n[G+12>>2]=n[m+12>>2];n[G+16>>2]=n[m+16>>2];n[G+20>>2]=n[m+20>>2];n[G+24>>2]=n[m+24>>2];n[G+28>>2]=n[m+28>>2];m=f[h>>1]&768;Vo(n[t>>2]|0,(m&1023)==512?108:(m&1023)==256?114:110)}}v=I;return}function Yo(A,e){A=A|0;e=e|0;n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];n[A+16>>2]=n[e+16>>2];n[A+20>>2]=n[e+20>>2];n[A+24>>2]=n[e+24>>2];n[A+28>>2]=n[e+28>>2];return}function Vo(A,e){A=A|0;e=e|0;var i=0,a=0,l=0;a=f[A+4>>1]|0;i=0;while(1){if((i|0)>=(a|0))break;l=(n[A>>2]|0)+(i*24|0)+6|0;if(!(r[l>>0]|0))r[l>>0]=e;i=i+1|0}return}function Wo(A,e,i){A=A|0;e=e|0;i=i|0;var a=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0;b=e+84|0;h=n[b>>2]|0;g=NZ()|0;Z=po()|0;t=0;a=0;s=sy(h)|0;while(1){if(!s)break;c=sy(n[s+8>>2]|0)|0;while(1){if(!c)break;c=n[c>>2]|0;t=t+1|0}a=a+1|0;if(r[s+12>>0]|0)Fo(Z,a);s=n[s>>2]|0}a=Jg((t<<2)+4|0)|0;n[b>>2]=a;t=0;c=0;s=0;k=0;w=sy(h)|0;while(1){if(!w)break;d=k&65535;B=0;v=sy(n[w+8>>2]|0)|0;while(1){if(!v)break;u=n[v+8>>2]|0;n[a>>2]=u;s=Jo(A,u,e,i)|0|s;b=No(g,k,B,u)|0;f[u+86>>1]=d;f[u+84>>1]=b;b=b+(l[u+80>>1]|0)|0;o=k+(l[u+82>>1]|0)|0;if(Lo(Z,o)|0){B=u+100|0;r[B>>0]=r[B>>0]|2}B=b;a=a+4|0;v=n[v>>2]|0;t=(b|0)>(t|0)?b:t;c=(o|0)>(c|0)?o:c}k=k+1|0;w=n[w>>2]|0}n[e+100>>2]=c;n[e+104>>2]=t;ay(h)|0;ay(Z)|0;RZ(g);return s|0}function Jo(A,e,i,t){A=A|0;e=e|0;i=i|0;t=t|0;var c=0.0,b=0.0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0.0;g=v;v=v+16|0;h=g+8|0;d=g;n[e+96>>2]=i;k=e+36|0;u=f[k>>1]|0;if(!(u&64)){if(!(f[i+36>>1]&64))o=2;else o=r[i+34>>0]|0;r[e+34>>0]=o}if(!(u&32)){o=r[i+88>>0]|0;if(o<<24>>24<=-1)if(!(f[i+36>>1]&32))o=1;else o=r[i+33>>0]|0;r[e+33>>0]=o}o=e+88|0;B=e+92|0;switch(r[B>>0]|0){case 1:{u=Co(A,n[o>>2]|0,e,t)|0;i=n[o>>2]|0;o=u;u=i+64|0;i=i+72|0;break}case 3:{u=zo(n[o>>2]|0,t)|0;i=n[o>>2]|0;o=u;u=i+16|0;i=i+24|0;break}default:{Eo(n[(n[A+16>>2]|0)+144>>2]|0,n[o>>2]|0,t);i=n[o>>2]|0;o=0;u=i+24|0;i=i+32|0}}c=+((a[e+33>>0]|0)+(a[e+34>>0]|0)<<1|0);b=+s[u>>3]+c;c=+s[i>>3]+c;i=e+38|0;do{if(f[k>>1]&1){u=f[i>>1]|0;if(u<<16>>16?(w=f[e+40>>1]|0,w<<16>>16):0){if(!(b>+(u&65535)|c>+(w&65535))){b=0.0;c=0.0;break}if((r[B>>0]|0)==3){b=0.0;c=0.0;break}Gy(0,122416,d)|0;o=1;b=0.0;c=0.0;break}Gy(0,122449,h)|0;o=1}}while(0);Z=+(l[i>>1]|0);s[e+64>>3]=b>Z?b:Z;b=+(l[e+40>>1]|0);s[e+72>>3]=c>b?c:b;v=g;return o|0}function No(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,t=0,c=0;c=r+80|0;t=(l[c>>1]|0)+-1|0;a=0;A:while(1){f=i;while(1){if(a)break A;n=t+f|0;while(1){if((n|0)<(f|0)){i=f;a=1;continue A}if(DZ(A,n,e)|0)break;n=n+-1|0}f=n+1|0}}a=r+82|0;f=i;while(1){if((f|0)<(i+(l[c>>1]|0)|0))n=e;else break;while(1){if((n|0)>=((l[a>>1]|0)+e|0))break;FZ(A,f,n);n=n+1|0}f=f+1|0}return i|0}function zo(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,a=0,l=0,t=0,c=0,b=0;b=v;v=v+16|0;t=b;l=b+8|0;e=e+52|0;a=A+32|0;$B(l,n[e>>2]|0,n[a>>2]|0);c=n[l>>2]|0;l=n[l+4>>2]|0;if((l&c|0)==-1){n[t>>2]=n[a>>2];Gy(1,122499,t)|0;e=1;f=0.0;i=0.0}else{r[(n[(n[e>>2]|0)+16>>2]|0)+114>>0]=1;e=0;f=+(l|0);i=+(c|0)}n[A>>2]=0;n[A+4>>2]=0;n[A+8>>2]=0;n[A+12>>2]=0;s[A+16>>3]=i;s[A+24>>3]=f;v=b;return e|0}function po(){return oy(54908,n[4345]|0)|0}function Ro(A,e,i){A=A|0;e=e|0;i=i|0;i=Jg(12)|0;n[i>>2]=n[e>>2];return i|0}function Po(A,e,i){A=A|0;e=e|0;i=i|0;zN(e);return}function Ho(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=n[e>>2]|0;r=n[i>>2]|0;return((e|0)>(r|0)?1:((e|0)<(r|0))<<31>>31)|0}function Fo(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;n[r>>2]=e;kF[n[A>>2]&31](A,r,1)|0;v=i;return}function Lo(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;n[r>>2]=e;e=(kF[n[A>>2]&31](A,r,512)|0)!=0&1;v=i;return e|0}function Do(A){A=A|0;var e=0;if(!(n[42417]|0)){e=Jg((A<<2)+4|0)|0;n[42417]=e;n[e>>2]=169672;n[42428]=A}n[42429]=0;return}function Xo(){zN(n[42417]|0);n[42417]=0;n[42429]=0;return}function To(){n[42429]=0;return}function xo(){var A=0,e=0,i=0;e=n[42429]|0;i=n[42417]|0;A=1;while(1){if((A|0)>(e|0)){A=5;break}if((n[(n[i+(A<<2)>>2]|0)+4>>2]|0)==(A|0))A=A+1|0;else{A=4;break}}if((A|0)==4)BA(123205,122552,59,122558);else if((A|0)==5)return}function Uo(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0;f=n[42417]|0;a=n[f+(A<<2)>>2]|0;l=n[a>>2]|0;while(1){e=(A|0)/2|0;i=n[f+(e<<2)>>2]|0;r=f+(A<<2)|0;if((n[i>>2]|0)>=(l|0))break;n[r>>2]=i;n[i+4>>2]=A;A=e}n[r>>2]=a;n[a+4>>2]=A;return}function jo(A){A=A|0;var e=0,i=0;i=v;v=v+16|0;e=n[42429]|0;if((e|0)==(n[42428]|0)){Gy(1,122566,i)|0;A=1}else{e=e+1|0;n[42429]=e;n[(n[42417]|0)+(e<<2)>>2]=A;Uo(e);xo();A=0}v=i;return A|0}function So(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0;r=n[42417]|0;f=n[r+(A<<2)>>2]|0;a=n[f>>2]|0;l=n[42429]|0;t=(l|0)/2|0;while(1){if((A|0)>(t|0))break;i=A<<1;e=n[r+(i<<2)>>2]|0;if((i|0)<(l|0)){b=i|1;c=n[r+(b<<2)>>2]|0;s=(n[e>>2]|0)<(n[c>>2]|0);i=s?b:i;e=s?c:e}if((a|0)>=(n[e>>2]|0))break;n[r+(A<<2)>>2]=e;n[e+4>>2]=A;A=i}n[r+(A<<2)>>2]=f;n[f+4>>2]=A;return}function Oo(){var A=0,e=0,i=0,r=0;e=n[42429]|0;if(!e)A=0;else{r=n[42417]|0;i=r+4|0;A=n[i>>2]|0;n[i>>2]=n[r+(e<<2)>>2];e=e+-1|0;n[42429]=e;if(e|0)So(1);xo()}return A|0}function Ko(A,e){A=A|0;e=e|0;n[A>>2]=e;Uo(n[A+4>>2]|0);xo();return}function _o(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,v=0;o=A+16|0;t=n[o>>2]|0;t=(r[t+((n[i+12>>2]|0)*40|0)+36>>0]|0)!=(r[t+((n[i+16>>2]|0)*40|0)+36>>0]|0);c=~~((+s[e+64>>3]+-3.0-+s[e+48>>3])*.5);b=~~((+s[e+56>>3]+-3.0-+s[e+40>>3])*.5);a=(c|0)<(b|0)?c:b;u=e+4|0;f=0;while(1){A=n[u>>2]|0;if((f|0)>=(A|0)){a=f;break}l=n[e+8+(f<<2)>>2]|0;v=n[o>>2]|0;if((r[v+((n[l+12>>2]|0)*40|0)+36>>0]|0)==(r[v+((n[l+16>>2]|0)*40|0)+36>>0]|0)){a=f;break}qo(l,a);f=f+1|0}while(1){if((a|0)>=(A|0))break;f=n[e+8+(a<<2)>>2]|0;if(t|(f|0)==(i|0)){qo(f,r[(n[o>>2]|0)+((n[f+12>>2]|0)*40|0)+36>>0]|0?c:b);A=n[u>>2]|0}a=a+1|0}return}function qo(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+8|0;r=n[i>>2]|0;n[i>>2]=r+1;if((r|0)>=(e|0)){n[i>>2]=0;s[A>>3]=+s[A>>3]+16384.0}return}function $o(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0.0,u=0.0,B=0.0,k=0.0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0.0,C=0.0,M=0.0,Q=0.0,E=0,y=0,Y=0.0;m=v;v=v+112|0;g=m+64|0;h=m+96|0;b=m+32|0;Z=m;G=Jg(28)|0;e=zY(A)|0;d=G+4|0;n[d>>2]=e;e=Jg(e*72|0)|0;w=G+12|0;n[w>>2]=e;r=Z+8|0;s[r>>3]=1797693134862315708145274.0e284;s[Z>>3]=1797693134862315708145274.0e284;f=Z+24|0;s[f>>3]=-1797693134862315708145274.0e284;a=Z+16|0;s[a>>3]=-1797693134862315708145274.0e284;l=b+16|0;t=b+8|0;c=b+24|0;i=CV(A)|0;o=1797693134862315708145274.0e284;u=1797693134862315708145274.0e284;B=-1797693134862315708145274.0e284;k=-1797693134862315708145274.0e284;while(1){if(!i)break;E=i+16|0;y=n[E>>2]|0;C=(+s[y+96>>3]+ +s[y+88>>3])*.5;C=C<1.0?1.0:C;I=+s[y+80>>3]*.5;I=I<1.0?1.0:I;Y=+s[y+16>>3];Q=Y-C;s[b>>3]=Q;C=Y+C;s[l>>3]=C;Y=+s[y+24>>3];M=Y-I;s[t>>3]=M;I=Y+I;s[c>>3]=I;Q=+s[(o<Q?Z:b)>>3];s[Z>>3]=Q;M=+s[(u<M?Z:b)+8>>3];s[r>>3]=M;C=+s[(B>C?Z:b)+16>>3];s[a>>3]=C;I=+s[(k>I?Z:b)+24>>3];s[f>>3]=I;y=e+40|0;n[y>>2]=n[b>>2];n[y+4>>2]=n[b+4>>2];n[y+8>>2]=n[b+8>>2];n[y+12>>2]=n[b+12>>2];n[y+16>>2]=n[b+16>>2];n[y+20>>2]=n[b+20>>2];n[y+24>>2]=n[b+24>>2];n[y+28>>2]=n[b+28>>2];n[e>>2]=n[e>>2]|1;n[(n[E>>2]|0)+112>>2]=e;e=e+72|0;i=MV(A,i)|0;o=Q;u=M;B=C;k=I}s[Z>>3]=o+-36.0;s[r>>3]=u+-36.0;s[a>>3]=B+36.0;s[f>>3]=k+36.0;y=n[w>>2]|0;f=n[d>>2]|0;n[g>>2]=n[Z>>2];n[g+4>>2]=n[Z+4>>2];n[g+8>>2]=n[Z+8>>2];n[g+12>>2]=n[Z+12>>2];n[g+16>>2]=n[Z+16>>2];n[g+20>>2]=n[Z+20>>2];n[g+24>>2]=n[Z+24>>2];n[g+28>>2]=n[Z+28>>2];f=cu(y,f,h,g)|0;if(n[42365]&1|0){w=n[w>>2]|0;E=n[d>>2]|0;y=n[h>>2]|0;n[g>>2]=n[Z>>2];n[g+4>>2]=n[Z+4>>2];n[g+8>>2]=n[Z+8>>2];n[g+12>>2]=n[Z+12>>2];n[g+16>>2]=n[Z+16>>2];n[g+20>>2]=n[Z+20>>2];n[g+24>>2]=n[Z+24>>2];n[g+28>>2]=n[Z+28>>2];Au(w,E,g,f,y)}r=G+8|0;n[r>>2]=Jg((n[h>>2]|0)*72|0)|0;n[G>>2]=n[h>>2];i=n[h>>2]|0;e=0;while(1){if((e|0)>=(i|0))break;y=(n[r>>2]|0)+(e*72|0)+40|0;E=f+(e<<5)|0;n[y>>2]=n[E>>2];n[y+4>>2]=n[E+4>>2];n[y+8>>2]=n[E+8>>2];n[y+12>>2]=n[E+12>>2];n[y+16>>2]=n[E+16>>2];n[y+20>>2]=n[E+20>>2];n[y+24>>2]=n[E+24>>2];n[y+28>>2]=n[E+28>>2];e=e+1|0}zN(f);n[g>>2]=n[Z>>2];n[g+4>>2]=n[Z+4>>2];n[g+8>>2]=n[Z+8>>2];n[g+12>>2]=n[Z+12>>2];n[g+16>>2]=n[Z+16>>2];n[g+20>>2]=n[Z+20>>2];n[g+24>>2]=n[Z+24>>2];n[g+28>>2]=n[Z+28>>2];n[G+16>>2]=eu(G,g)|0;v=m;return G|0}function Au(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0.0,l=0,t=0,c=0.0,b=0.0,o=0.0,u=0,B=0,k=0,w=0,d=0,h=0.0,g=0.0,Z=0.0;k=v;v=v+128|0;B=k+96|0;u=k+64|0;t=k+32|0;w=k+16|0;d=k;b=+s[i+16>>3];o=+s[i>>3];c=+s[i+24>>3];a=+s[i+8>>3];l=n[13918]|0;YR(122581,l)|0;n[d>>2]=10;n[d+4>>2]=10;n[d+8>>2]=~~(b+10.0-o);n[d+12>>2]=~~(c+10.0-a);lR(l,123011,d)|0;s[w>>3]=10.0-o;s[w+8>>3]=10.0-a;lR(l,123059,w)|0;YR(123076,l)|0;i=0;while(1){if((i|0)>=(e|0))break;Z=+s[A+(i*72|0)+48>>3];g=+s[A+(i*72|0)+56>>3];h=+s[A+(i*72|0)+64>>3];s[t>>3]=+s[A+(i*72|0)+40>>3];s[t+8>>3]=Z;s[t+16>>3]=g;s[t+24>>3]=h;lR(l,123095,t)|0;i=i+1|0}YR(123113,l)|0;i=0;while(1){if((i|0)>=(f|0))break;h=+s[r+(i<<5)+8>>3];g=+s[r+(i<<5)+16>>3];Z=+s[r+(i<<5)+24>>3];s[u>>3]=+s[r+(i<<5)>>3];s[u+8>>3]=h;s[u+16>>3]=g;s[u+24>>3]=Z;lR(l,123132,u)|0;i=i+1|0}YR(123150,l)|0;s[B>>3]=o;s[B+8>>3]=a;s[B+16>>3]=b;s[B+24>>3]=c;lR(l,123132,B)|0;YR(122897,l)|0;v=k;return}function eu(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0;M=v;v=v+32|0;h=M+16|0;c=M;G=n[A>>2]|0;I=Gc(G<<2|2)|0;C=oy(54944,n[4345]|0)|0;Z=oy(54980,n[4345]|0)|0;G=Jg(G<<7)|0;f=Jg(n[A>>2]<<4)|0;m=A+8|0;a=e+16|0;l=c+8|0;t=e+24|0;b=e+8|0;i=0;while(1){if((i|0)>=(n[A>>2]|0))break;o=n[m>>2]|0;u=o+(i*72|0)|0;n[o+(i*72|0)+32>>2]=4;B=o+(i*72|0)+36|0;n[B>>2]=f+(i<<2<<2);k=o+(i*72|0)+40|0;r=+s[o+(i*72|0)+56>>3];if(r<+s[a>>3]){s[c>>3]=r;s[l>>3]=+s[o+(i*72|0)+48>>3];n[h>>2]=n[c>>2];n[h+4>>2]=n[c+4>>2];n[h+8>>2]=n[c+8>>2];n[h+12>>2]=n[c+12>>2];d=iu(I,C,h,G,1)|0;n[d+20>>2]=u;n[n[B>>2]>>2]=d}r=+s[o+(i*72|0)+64>>3];if(r<+s[t>>3]){s[c>>3]=+s[k>>3];s[l>>3]=r;n[h>>2]=n[c>>2];n[h+4>>2]=n[c+4>>2];n[h+8>>2]=n[c+8>>2];n[h+12>>2]=n[c+12>>2];d=iu(I,Z,h,G,0)|0;n[d+20>>2]=u;n[(n[B>>2]|0)+4>>2]=d}if(+s[k>>3]>+s[e>>3]){n[h>>2]=n[k>>2];n[h+4>>2]=n[k+4>>2];n[h+8>>2]=n[k+8>>2];n[h+12>>2]=n[k+12>>2];d=iu(I,C,h,G,1)|0;n[d+24>>2]=u;n[(n[B>>2]|0)+8>>2]=d}if(+s[o+(i*72|0)+48>>3]>+s[b>>3]){n[h>>2]=n[k>>2];n[h+4>>2]=n[k+4>>2];n[h+8>>2]=n[k+8>>2];n[h+12>>2]=n[k+12>>2];d=iu(I,Z,h,G,0)|0;n[d+24>>2]=u;n[(n[B>>2]|0)+12>>2]=d}i=i+1|0}u=Jg(n[I>>2]<<2)|0;w=A+4|0;d=A+12|0;B=h+8|0;b=0;k=0;o=0;while(1){i=n[w>>2]|0;if((o|0)>=(i|0)){e=0;break}a=n[d>>2]|0;l=a+(o*72|0)|0;t=a+(o*72|0)+36|0;n[t>>2]=u+(b<<2);e=a+(o*72|0)+40|0;n[h>>2]=n[e>>2];n[h+4>>2]=n[e+4>>2];n[h+8>>2]=n[e+8>>2];n[h+12>>2]=n[e+12>>2];e=a+(o*72|0)+56|0;c=a+(o*72|0)+32|0;i=kF[n[Z>>2]&31](Z,h,512)|0;while(1){if(!i)break;if(!(+s[i+8>>3]<+s[e>>3]))break;E=n[i>>2]|0;Q=n[t>>2]|0;f=n[c>>2]|0;n[c>>2]=f+1;n[Q+(f<<2)>>2]=E;n[(n[i>>2]|0)+24>>2]=l;i=kF[n[Z>>2]&31](Z,i,8)|0}f=a+(o*72|0)+64|0;i=kF[n[C>>2]&31](C,h,512)|0;while(1){if(!i){g=20;break}r=+s[f>>3];if(!(+s[i+16>>3]<r))break;e=n[i>>2]|0;Q=n[t>>2]|0;E=n[c>>2]|0;n[c>>2]=E+1;n[Q+(E<<2)>>2]=e;n[(n[i>>2]|0)+24>>2]=l;i=kF[n[C>>2]&31](C,i,8)|0}if((g|0)==20){g=0;r=+s[f>>3]}s[B>>3]=r;e=a+(o*72|0)+56|0;i=kF[n[Z>>2]&31](Z,h,512)|0;while(1){if(!i){g=25;break}r=+s[e>>3];if(!(+s[i+8>>3]<r))break;y=n[i>>2]|0;Q=n[t>>2]|0;E=n[c>>2]|0;n[c>>2]=E+1;n[Q+(E<<2)>>2]=y;n[(n[i>>2]|0)+20>>2]=l;i=kF[n[Z>>2]&31](Z,i,8)|0}if((g|0)==25){g=0;r=+s[e>>3]}s[h>>3]=r;s[B>>3]=+s[a+(o*72|0)+48>>3];i=kF[n[C>>2]&31](C,h,512)|0;while(1){if(!i)break;if(!(+s[i+16>>3]<+s[f>>3]))break;Q=n[i>>2]|0;E=n[t>>2]|0;y=n[c>>2]|0;n[c>>2]=y+1;n[E+(y<<2)>>2]=Q;n[(n[i>>2]|0)+20>>2]=l;i=kF[n[C>>2]&31](C,i,8)|0}y=n[c>>2]|0;b=y+b|0;k=(y|0)>(k|0)?y:k;o=o+1|0}while(1){if((e|0)>=(i|0))break;ru((n[d>>2]|0)+(e*72|0)|0);e=e+1|0;i=n[w>>2]|0}i=n[I>>2]|0;y=n[I+16>>2]|0;n[y+(i*40|0)+32>>2]=i;i=i+1|0;n[y+(i*40|0)+32>>2]=i;Zc(I,k);i=0;while(1){if((i|0)>=(n[A>>2]|0))break;fu((n[m>>2]|0)+(i*72|0)|0,I);i=i+1|0}ay(C)|0;ay(Z)|0;zN(G);nu(I);hc(I);v=M;return I|0}function iu(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0,t=0;l=kF[n[e>>2]&31](e,i,512)|0;do{if(!l){A=mc(A)|0;if(!f)BA(122994,122942,291,123001);else{l=n[A+32>>2]|0;t=f+(l<<5)|0;f=f+(l<<5)+8|0;n[f>>2]=n[i>>2];n[f+4>>2]=n[i+4>>2];n[f+8>>2]=n[i+8>>2];n[f+12>>2]=n[i+12>>2];n[t>>2]=A;r[A+36>>0]=a;kF[n[e>>2]&31](e,t,1)|0;break}}else t=l}while(0);return n[t>>2]|0}function ru(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;A:do{if((+s[A+64>>3]+-3.0-+s[A+48>>3])*.5<2.0){l=n[A+32>>2]|0;t=A+36|0;a=0;while(1){if((a|0)>=(l|0))break A;e=n[(n[t>>2]|0)+(a<<2)>>2]|0;e:do{if(r[e+36>>0]|0){f=n[e+20>>2]|0;if((f|0)==(A|0)){i=n[e+24>>2]|0;e=i;i=n[i>>2]|0;do{n[e>>2]=i|8;e=n[n[e+36>>2]>>2]|0;if(!e)break e;e=n[e+24>>2]|0;i=n[e>>2]|0}while(!(i&1|0))}else{i=f;e=n[f>>2]|0;do{n[i>>2]=e|8;e=n[(n[i+36>>2]|0)+8>>2]|0;if(!e)break e;i=n[e+20>>2]|0;e=n[i>>2]|0}while(!(e&1|0))}}}while(0);a=a+1|0}}}while(0);A:do{if((+s[A+56>>3]+-3.0-+s[A+40>>3])*.5<2.0){l=n[A+32>>2]|0;t=A+36|0;a=0;while(1){if((a|0)>=(l|0))break A;e=n[(n[t>>2]|0)+(a<<2)>>2]|0;e:do{if(!(r[e+36>>0]|0)){f=n[e+20>>2]|0;if((f|0)==(A|0)){i=n[e+24>>2]|0;e=i;i=n[i>>2]|0;do{n[e>>2]=i|16;e=n[(n[e+36>>2]|0)+4>>2]|0;if(!e)break e;e=n[e+24>>2]|0;i=n[e>>2]|0}while(!(i&1|0))}else{i=f;e=n[f>>2]|0;do{n[i>>2]=e|16;e=n[(n[i+36>>2]|0)+12>>2]|0;if(!e)break e;i=n[e+20>>2]|0;e=n[i>>2]|0}while(!(e&1|0))}}}while(0);a=a+1|0}}}while(0);return}function fu(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,a=0.0,l=0.0,t=0,c=0,b=0,o=0,u=0,v=0,B=0.0,k=0;a=+s[A+56>>3]-+s[A+40>>3];l=+s[A+64>>3]-+s[A+48>>3];f=(l+a)*.5+500.0;if((l+-3.0)*.5<2.0){b=(n[A>>2]&8|0)==0;f=b?16384.0:f;B=b?16384.0:a}else B=a;if((a+-3.0)*.5<2.0){b=(n[A>>2]&16|0)==0;l=b?16384.0:l;f=b?16384.0:f}b=A+36|0;i=n[b>>2]|0;r=n[i+8>>2]|0;if((r|0)!=0?(t=n[i+4>>2]|0,(t|0)!=0):0){t=Ic(e,r,t,f)|0;r=A+4|0;i=n[r>>2]|0;n[r>>2]=i+1;n[A+8+(i<<2)>>2]=t;i=n[b>>2]|0}r=n[i+4>>2]|0;if((r|0)!=0?(c=n[i>>2]|0,(c|0)!=0):0){c=Ic(e,r,c,f)|0;t=A+4|0;i=n[t>>2]|0;n[t>>2]=i+1;n[A+8+(i<<2)>>2]=c;i=n[b>>2]|0}r=n[i+8>>2]|0;if((r|0)!=0?(o=n[i+12>>2]|0,(o|0)!=0):0){o=Ic(e,r,o,f)|0;c=A+4|0;i=n[c>>2]|0;n[c>>2]=i+1;n[A+8+(i<<2)>>2]=o;i=n[b>>2]|0}r=n[i+12>>2]|0;if((r|0)!=0?(u=n[i>>2]|0,(u|0)!=0):0){u=Ic(e,r,u,f)|0;o=A+4|0;i=n[o>>2]|0;n[o>>2]=i+1;n[A+8+(i<<2)>>2]=u;i=n[b>>2]|0}r=n[i+4>>2]|0;if((r|0)!=0?(v=n[i+12>>2]|0,(v|0)!=0):0){v=Ic(e,r,v,l)|0;u=A+4|0;i=n[u>>2]|0;n[u>>2]=i+1;n[A+8+(i<<2)>>2]=v;i=n[b>>2]|0}r=n[i+8>>2]|0;if(r|0?(k=n[i>>2]|0,k|0):0){e=Ic(e,r,k,B)|0;v=A+4|0;k=n[v>>2]|0;n[v>>2]=k+1;n[A+8+(k<<2)>>2]=e}return}function nu(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0;c=v;v=v+16|0;t=c+8|0;l=c;f=A+16|0;a=n[13918]|0;r=0;while(1){if((r|0)>=(n[A>>2]|0)){e=10;break}e=n[f>>2]|0;i=e+(r*40|0)+20|0;if((n[i>>2]|0)==0?(n[l>>2]=r,lR(a,122907,l)|0,(n[i>>2]|0)==0):0){e=5;break}e=e+(r*40|0)+24|0;if((n[e>>2]|0)==0?(n[t>>2]=r,lR(a,122959,t)|0,(n[e>>2]|0)==0):0){e=8;break}r=r+1|0}if((e|0)==5)BA(122929,122942,311,122949);else if((e|0)==8)BA(122981,122942,313,122949);else if((e|0)==10){v=c;return}}function au(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0;f=+s[e+8>>3];n=+s[i+8>>3];if(!(f>n))if(!(f<n)){n=+s[e>>3];f=+s[i>>3];if(n>f)A=1;else A=(n<f)<<31>>31}else A=-1;else A=1;return A|0}function lu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0;f=+s[e>>3];n=+s[i>>3];if(!(f>n))if(!(f<n)){n=+s[e+8>>3];f=+s[i+8>>3];if(n>f)A=1;else A=(n<f)<<31>>31}else A=-1;else A=1;return A|0}function tu(A){A=A|0;var e=0,i=0;i=A+8|0;zN(n[(n[i>>2]|0)+36>>2]|0);e=A+12|0;zN(n[(n[e>>2]|0)+36>>2]|0);zN(n[i>>2]|0);zN(n[e>>2]|0);Mc(n[A+16>>2]|0);ay(n[A+20>>2]|0)|0;ay(n[A+24>>2]|0)|0;zN(A);return}function cu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0;B=v;v=v+32|0;l=B;t=e<<2;f=t+4|0;t=t+5|0;u=Ng(t*56|0)|0;t=Jg(t<<2)|0;a=f*5|1;c=Ng(a*72|0)|0;b=a<<5;s=Jg(b)|0;b=Jg(b)|0;n[l>>2]=n[r>>2];n[l+4>>2]=n[r+4>>2];n[l+8>>2]=n[r+8>>2];n[l+12>>2]=n[r+12>>2];n[l+16>>2]=n[r+16>>2];n[l+20>>2]=n[r+20>>2];n[l+24>>2]=n[r+24>>2];n[l+28>>2]=n[r+28>>2];su(A,e,l,u,0);aP(173);bu(f,t);Zu(f,u,t,a,c)|0;o=ou(f,u,c,0,s)|0;n[l>>2]=n[r>>2];n[l+4>>2]=n[r+4>>2];n[l+8>>2]=n[r+8>>2];n[l+12>>2]=n[r+12>>2];n[l+16>>2]=n[r+16>>2];n[l+20>>2]=n[r+20>>2];n[l+24>>2]=n[r+24>>2];n[l+28>>2]=n[r+28>>2];su(A,e,l,u,1);bu(f,t);Zu(f,u,t,a,c)|0;f=ou(f,u,c,1,b)|0;a=Jg(X(o<<5,f)|0)|0;e=0;A=0;while(1){if((e|0)>=(f|0))break;l=b+(e<<5)|0;r=0;while(1){if((r|0)>=(o|0))break;k=A+((uu(a+(A<<5)|0,l,s+(r<<5)|0)|0)!=0&1)|0;r=r+1|0;A=k}e=e+1|0}k=pg(a,A<<5)|0;zN(u);zN(t);zN(c);zN(s);zN(b);n[i>>2]=A;v=B;return k|0}function su(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0;c=v;v=v+96|0;l=c+64|0;t=c;n[l>>2]=n[i>>2];n[l+4>>2]=n[i+4>>2];n[l+8>>2]=n[i+8>>2];n[l+12>>2]=n[i+12>>2];n[l+16>>2]=n[i+16>>2];n[l+20>>2]=n[i+20>>2];n[l+24>>2]=n[i+24>>2];n[l+28>>2]=n[i+28>>2];hu(l,f,1,t);i=gu(r,1,t)|0;a=0;while(1){if((a|0)>=(e|0))break;s=A+(a*72|0)+40|0;n[l>>2]=n[s>>2];n[l+4>>2]=n[s+4>>2];n[l+8>>2]=n[s+8>>2];n[l+12>>2]=n[s+12>>2];n[l+16>>2]=n[s+16>>2];n[l+20>>2]=n[s+20>>2];n[l+24>>2]=n[s+24>>2];n[l+28>>2]=n[s+28>>2];hu(l,f,0,t);i=gu(r,i,t)|0;a=a+1|0}v=c;return}function bu(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0;i=0;while(1){if((i|0)>(A|0))break;n[e+(i<<2)>>2]=i;i=i+1|0}a=A+1|0;i=1;while(1){if((i|0)>(A|0))break;l=~~(+tP()*+(a-i|0)+ +(i|0));r=e+(i<<2)|0;f=e+(l<<2)|0;if((i|0)!=(l|0)){l=n[r>>2]|0;n[r>>2]=n[f>>2];n[f>>2]=l}i=i+1|0}return}function ou(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0;a=A*5|0;c=a+1|0;b=Jg(c<<2)|0;n[42430]=Jg(c<<4)|0;n[42431]=Jg((A*56|0)+56|0)|0;c=Jg(A<<2)|0;n[42432]=c;s=0;while(1){if((s|0)>(a|0))break;if(vu(i+(s*72|0)|0,e)|0)break;s=s+1|0}l=n[42430]|0;t=n[42431]|0;a=1;while(1){if((a|0)>(A|0))break;n[l+(a<<4)+8>>2]=n[e+(a*56|0)+48>>2];o=e+(a*56|0)+44|0;n[l+(a<<4)+4>>2]=n[o>>2];n[l+(a<<4)>>2]=a;u=t+(a*56|0)|0;v=e+(a*56|0)|0;n[u>>2]=n[v>>2];n[u+4>>2]=n[v+4>>2];n[u+8>>2]=n[v+8>>2];n[u+12>>2]=n[v+12>>2];n[t+(a*56|0)+16>>2]=n[o>>2];n[t+(a*56|0)+32>>2]=a;n[t+(a*56|0)+48>>2]=1;a=a+1|0}n[42433]=A;n[42434]=0;n[c>>2]=1;a=n[i+(s*72|0)+40>>2]|0;if((a|0)<=0){a=n[i+(s*72|0)+48>>2]|0;if((a|0)>0)a=Bu(b,f,0,e,i,0,s,a,r,2)|0;else a=0}else a=Bu(b,f,0,e,i,0,s,a,r,1)|0;zN(b);zN(n[42430]|0);zN(n[42431]|0);zN(n[42432]|0);return a|0}function uu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,a=0.0;a=+s[(+s[e>>3]>+s[i>>3]?e:i)>>3];n=+s[(+s[e+16>>3]<+s[i+16>>3]?e:i)+16>>3];s[A+16>>3]=n;s[A>>3]=a;f=+s[(+s[e+8>>3]>+s[i+8>>3]?e:i)+8>>3];r=+s[(+s[e+24>>3]<+s[i+24>>3]?e:i)+24>>3];s[A+24>>3]=r;s[A+8>>3]=f;return!(a>=n)&!(f>=r)&1|0}function vu(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=n[A+4>>2]|0;do{if((n[A+68>>2]|0)!=2?!((f|0)<1|(n[A>>2]|0)<1):0){if(!((n[A+40>>2]|0)<1?(n[A+44>>2]|0)<1:0)){if((n[A+48>>2]|0)>=1){A=0;break}if((n[A+52>>2]|0)>=1){A=0;break}}i=+s[e+(f*56|0)+24>>3];r=+s[e+(f*56|0)+8>>3];if(!(i>r+1.0e-07))if(i<r+-1.0e-07)A=0;else A=+s[e+(f*56|0)+16>>3]>+s[e+(f*56|0)>>3]&1;else A=1}else A=0}while(0);return A|0}function Bu(A,e,i,r,f,a,l,t,c,b){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;l=l|0;t=t|0;c=c|0;b=b|0;var o=0,u=0,v=0.0,B=0.0,k=0.0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,V=0,W=0,J=0,N=0.0,z=0,p=0.0,R=0,P=0,H=0,F=0,L=0;E=(c|0)==0;Q=l;A:while(1){I=f+(Q*72|0)|0;if((Q|0)<1)break;l=A+(Q<<2)|0;if(n[l>>2]|0)break;n[l>>2]=1;Z=f+(Q*72|0)+8|0;h=f+(Q*72|0)+16|0;B=+s[h>>3];G=f+(Q*72|0)+24|0;m=f+(Q*72|0)+32|0;v=+s[m>>3];if((B>v?(M=n[I>>2]|0,N=+s[r+(M*56|0)>>3],N==+s[r+(M*56|0)+16>>3]):0)?(M=n[f+(Q*72|0)+4>>2]|0,p=+s[r+(M*56|0)>>3],p==+s[r+(M*56|0)+16>>3]):0){l=e+(i<<5)|0;if(E){s[l>>3]=N;k=B;B=p}else{s[l>>3]=v;k=-N;v=-p}s[e+(i<<5)+8>>3]=v;s[e+(i<<5)+16>>3]=B;s[e+(i<<5)+24>>3]=k;i=i+1|0}l=f+(Q*72|0)+40|0;C=n[l>>2]|0;do{if((C|0)<1?(R=f+(Q*72|0)+44|0,(n[R>>2]|0)<1):0){l=f+(Q*72|0)+48|0;u=f+(Q*72|0)+52|0;if((n[l>>2]|0)>0?(P=n[u>>2]|0,(P|0)>0):0){o=n[f+(P*72|0)>>2]|0;b=n[I>>2]|0;if((P|0)==(t|0)){b=ku(a,b,o)|0;i=Bu(A,e,i,r,f,a,n[u>>2]|0,Q,c,1)|0;a=b;b=1;break}else{b=ku(a,o,b)|0;i=Bu(A,e,i,r,f,a,n[l>>2]|0,Q,c,1)|0;a=b;l=u;b=1;break}}i=Bu(A,e,i,r,f,a,C,Q,c,2)|0;i=Bu(A,e,i,r,f,a,n[R>>2]|0,Q,c,2)|0;i=Bu(A,e,i,r,f,a,n[l>>2]|0,Q,c,1)|0;l=u;b=1}else L=19}while(0);do{if((L|0)==19){L=0;M=f+(Q*72|0)+48|0;w=n[M>>2]|0;if((w|0)<1?(H=f+(Q*72|0)+52|0,(n[H>>2]|0)<1):0){u=f+(Q*72|0)+44|0;if((C|0)>0?(F=n[u>>2]|0,(F|0)>0):0){o=n[f+(Q*72|0)+4>>2]|0;b=n[f+(C*72|0)+4>>2]|0;if((F|0)==(t|0)){b=ku(a,b,o)|0;i=Bu(A,e,i,r,f,a,n[u>>2]|0,Q,c,2)|0;a=b;b=2;break}else{b=ku(a,o,b)|0;i=Bu(A,e,i,r,f,a,n[l>>2]|0,Q,c,2)|0;a=b;l=u;b=2;break}}i=Bu(A,e,i,r,f,a,C,Q,c,2)|0;i=Bu(A,e,i,r,f,a,n[u>>2]|0,Q,c,2)|0;i=Bu(A,e,i,r,f,a,n[M>>2]|0,Q,c,1)|0;l=H;b=1;break}g=f+(Q*72|0)+44|0;d=n[g>>2]|0;o=(d|0)>0;if((C|0)>0){if(o){if((w|0)>0?(y=f+(Q*72|0)+52|0,V=n[y>>2]|0,(V|0)>0):0){u=n[f+(V*72|0)>>2]|0;o=n[f+(C*72|0)+4>>2]|0;if(!((b|0)==2&(V|0)==(t|0))?!((b|0)==1&(d|0)==(t|0)):0){b=ku(a,u,o)|0;i=Bu(A,e,i,r,f,a,n[l>>2]|0,Q,c,2)|0;i=Bu(A,e,i,r,f,a,n[M>>2]|0,Q,c,1)|0;i=Bu(A,e,i,r,f,b,n[g>>2]|0,Q,c,2)|0;a=b;l=y;b=1;break}b=ku(a,o,u)|0;i=Bu(A,e,i,r,f,a,n[g>>2]|0,Q,c,2)|0;i=Bu(A,e,i,r,f,a,n[y>>2]|0,Q,c,1)|0;i=Bu(A,e,i,r,f,b,n[l>>2]|0,Q,c,2)|0;a=b;l=M;b=1;break}o=n[I>>2]|0;if(+Y(+(+s[m>>3]-+s[r+(o*56|0)+24>>3]))<=1.0e-07?+Y(+(+s[G>>3]-+s[r+(o*56|0)+16>>3]))<=1.0e-07:0){u=n[f+(C*72|0)+4>>2]|0;o=n[r+(o*56|0)+44>>2]|0;if((b|0)==1&(C|0)==(t|0)){b=ku(a,o,u)|0;i=Bu(A,e,i,r,f,a,n[l>>2]|0,Q,c,2)|0;i=Bu(A,e,i,r,f,b,n[M>>2]|0,Q,c,1)|0;i=Bu(A,e,i,r,f,b,n[g>>2]|0,Q,c,2)|0;a=b;l=f+(Q*72|0)+52|0;b=1;break}else{b=ku(a,u,o)|0;i=Bu(A,e,i,r,f,a,n[g>>2]|0,Q,c,2)|0;i=Bu(A,e,i,r,f,a,n[M>>2]|0,Q,c,1)|0;i=Bu(A,e,i,r,f,a,n[f+(Q*72|0)+52>>2]|0,Q,c,1)|0;a=b;b=2;break}}u=n[f+(Q*72|0)+4>>2]|0;o=n[f+(C*72|0)+4>>2]|0;if((b|0)==1&(d|0)==(t|0)){b=ku(a,o,u)|0;i=Bu(A,e,i,r,f,a,n[g>>2]|0,Q,c,2)|0;i=Bu(A,e,i,r,f,b,n[f+(Q*72|0)+52>>2]|0,Q,c,1)|0;i=Bu(A,e,i,r,f,b,n[M>>2]|0,Q,c,1)|0;a=b;b=2;break}else{b=ku(a,u,o)|0;i=Bu(A,e,i,r,f,a,n[l>>2]|0,Q,c,2)|0;i=Bu(A,e,i,r,f,a,n[M>>2]|0,Q,c,1)|0;i=Bu(A,e,i,r,f,a,n[f+(Q*72|0)+52>>2]|0,Q,c,1)|0;a=b;l=g;b=2;break}}}else if(!o)break A;if((w|0)>0?(W=f+(Q*72|0)+52|0,J=n[W>>2]|0,(J|0)>0):0){u=n[I>>2]|0;if(+Y(+(+s[h>>3]-+s[r+(u*56|0)+8>>3]))<=1.0e-07?+Y(+(+s[Z>>3]-+s[r+(u*56|0)>>3]))<=1.0e-07:0){o=n[f+(J*72|0)>>2]|0;if((b|0)==2&(w|0)==(t|0)){b=ku(a,o,u)|0;i=Bu(A,e,i,r,f,a,n[M>>2]|0,Q,c,1)|0;i=Bu(A,e,i,r,f,b,n[l>>2]|0,Q,c,2)|0;i=Bu(A,e,i,r,f,b,n[f+(Q*72|0)+44>>2]|0,Q,c,2)|0;a=b;l=W;b=1;break}else{b=ku(a,u,o)|0;i=Bu(A,e,i,r,f,a,n[f+(Q*72|0)+44>>2]|0,Q,c,2)|0;i=Bu(A,e,i,r,f,a,n[W>>2]|0,Q,c,1)|0;i=Bu(A,e,i,r,f,a,n[l>>2]|0,Q,c,2)|0;a=b;l=M;b=1;break}}o=n[f+(J*72|0)>>2]|0;u=n[r+((n[f+(Q*72|0)+4>>2]|0)*56|0)+44>>2]|0;if((b|0)==2&(J|0)==(t|0)){b=ku(a,u,o)|0;i=Bu(A,e,i,r,f,a,n[W>>2]|0,Q,c,1)|0;i=Bu(A,e,i,r,f,b,n[f+(Q*72|0)+44>>2]|0,Q,c,2)|0;i=Bu(A,e,i,r,f,b,n[l>>2]|0,Q,c,2)|0;a=b;l=M;b=1;break}else{b=ku(a,o,u)|0;i=Bu(A,e,i,r,f,a,n[l>>2]|0,Q,c,2)|0;i=Bu(A,e,i,r,f,a,n[M>>2]|0,Q,c,1)|0;i=Bu(A,e,i,r,f,a,n[f+(Q*72|0)+44>>2]|0,Q,c,2)|0;a=b;l=W;b=1;break}}v=+s[h>>3];u=n[I>>2]|0;if(((+Y(+(v-+s[r+(u*56|0)+8>>3]))<=1.0e-07?+Y(+(+s[Z>>3]-+s[r+(u*56|0)>>3]))<=1.0e-07:0)?(z=n[f+(Q*72|0)+4>>2]|0,+Y(+(+s[m>>3]-+s[r+(z*56|0)+8>>3]))<=1.0e-07):0)?+Y(+(+s[G>>3]-+s[r+(z*56|0)>>3]))<=1.0e-07:0)if((b|0)==1){b=ku(a,u,z)|0;i=Bu(A,e,i,r,f,a,n[l>>2]|0,Q,c,2)|0;i=Bu(A,e,i,r,f,a,n[f+(Q*72|0)+44>>2]|0,Q,c,2)|0;i=Bu(A,e,i,r,f,b,n[f+(Q*72|0)+52>>2]|0,Q,c,1)|0;a=b;l=M;b=1;break}else{b=ku(a,z,u)|0;i=Bu(A,e,i,r,f,a,n[f+(Q*72|0)+52>>2]|0,Q,c,1)|0;i=Bu(A,e,i,r,f,a,n[M>>2]|0,Q,c,1)|0;i=Bu(A,e,i,r,f,b,n[l>>2]|0,Q,c,2)|0;a=b;l=f+(Q*72|0)+44|0;b=2;break}t=n[f+(Q*72|0)+4>>2]|0;if(((+Y(+(v-+s[r+(t*56|0)+24>>3]))<=1.0e-07?+Y(+(+s[Z>>3]-+s[r+(t*56|0)+16>>3]))<=1.0e-07:0)?+Y(+(+s[m>>3]-+s[r+(u*56|0)+24>>3]))<=1.0e-07:0)?+Y(+(+s[G>>3]-+s[r+(u*56|0)+16>>3]))<=1.0e-07:0){o=n[r+(t*56|0)+44>>2]|0;t=n[r+(u*56|0)+44>>2]|0;if((b|0)==1){b=ku(a,t,o)|0;i=Bu(A,e,i,r,f,a,n[l>>2]|0,Q,c,2)|0;i=Bu(A,e,i,r,f,a,n[f+(Q*72|0)+44>>2]|0,Q,c,2)|0;i=Bu(A,e,i,r,f,b,n[f+(Q*72|0)+52>>2]|0,Q,c,1)|0;a=b;l=M;b=1;break}else{b=ku(a,o,t)|0;i=Bu(A,e,i,r,f,a,n[f+(Q*72|0)+52>>2]|0,Q,c,1)|0;i=Bu(A,e,i,r,f,a,n[M>>2]|0,Q,c,1)|0;i=Bu(A,e,i,r,f,b,n[l>>2]|0,Q,c,2)|0;a=b;l=f+(Q*72|0)+44|0;b=2;break}}i=Bu(A,e,i,r,f,a,C,Q,c,2)|0;i=Bu(A,e,i,r,f,a,n[M>>2]|0,Q,c,1)|0;i=Bu(A,e,i,r,f,a,n[f+(Q*72|0)+44>>2]|0,Q,c,2)|0;l=f+(Q*72|0)+52|0;b=1}}while(0);t=Q;Q=n[l>>2]|0}return i|0}function ku(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0;f=v;v=v+16|0;w=f+4|0;t=f;r=(n[42434]|0)+1|0;n[42434]=r;b=n[42431]|0;wu(e,i,w,t);w=n[w>>2]|0;l=n[b+(e*56|0)+32+(w<<2)>>2]|0;t=n[b+(i*56|0)+32+(n[t>>2]<<2)>>2]|0;o=n[42433]|0;a=o+1|0;o=o+2|0;n[42433]=o;k=n[42430]|0;n[k+(a<<4)>>2]=e;n[k+(o<<4)>>2]=i;u=k+(l<<4)+4|0;B=k+(a<<4)+4|0;n[B>>2]=n[u>>2];n[k+(n[u>>2]<<4)+8>>2]=a;n[k+(a<<4)+8>>2]=o;n[k+(o<<4)+4>>2]=a;c=k+(t<<4)+8|0;n[k+(o<<4)+8>>2]=n[c>>2];n[k+(n[c>>2]<<4)+4>>2]=o;n[u>>2]=t;n[c>>2]=l;c=b+(e*56|0)+48|0;u=n[c>>2]|0;t=b+(i*56|0)+48|0;s=n[t>>2]|0;n[b+(e*56|0)+16+(w<<2)>>2]=i;n[b+(e*56|0)+32+(u<<2)>>2]=a;n[b+(e*56|0)+16+(u<<2)>>2]=n[k+(n[B>>2]<<4)>>2];n[b+(i*56|0)+32+(s<<2)>>2]=o;n[b+(i*56|0)+16+(s<<2)>>2]=e;n[c>>2]=(n[c>>2]|0)+1;n[t>>2]=(n[t>>2]|0)+1;i=n[42432]|0;n[i+(A<<2)>>2]=l;n[i+(r<<2)>>2]=a;v=f;return r|0}function wu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,l=0,t=0,c=0.0,s=0.0,b=0,o=0,u=0;b=n[42431]|0;o=b+(A*56|0)|0;u=b+(e*56|0)|0;f=0;a=-4.0;t=0;while(1){if((t|0)==4)break;l=n[b+(A*56|0)+16+(t<<2)>>2]|0;if((l|0)>=1?(c=+du(o,b+(l*56|0)|0,u),c>a):0){f=t;a=c}t=t+1|0}n[i>>2]=f;f=0;t=0;a=-4.0;while(1){if((t|0)==4)break;l=n[b+(e*56|0)+16+(t<<2)>>2]|0;if((l|0)>=1?(s=+du(u,b+(l*56|0)|0,o),s>a):0){f=t;a=s}t=t+1|0}n[r>>2]=f;return}function du(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,a=0.0,l=0.0;a=+s[A>>3];l=+s[e>>3]-a;r=+s[A+8>>3];n=+s[e+8>>3]-r;a=+s[i>>3]-a;r=+s[i+8>>3]-r;f=r*n+a*l;if(!(r*l-a*n>=0.0))r=-f/(+V(+(r*r+a*a))*+V(+(n*n+l*l)))+-2.0;else r=f/(+V(+(r*r+a*a))*+V(+(n*n+l*l)));return+r}function hu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0.0,b=0.0;n[r>>2]=n[A>>2];n[r+4>>2]=n[A+4>>2];n[r+8>>2]=n[A+8>>2];n[r+12>>2]=n[A+12>>2];l=r+32|0;t=A+16|0;n[l>>2]=n[t>>2];n[l+4>>2]=n[t+4>>2];n[l+8>>2]=n[t+8>>2];n[l+12>>2]=n[t+12>>2];if(!i){f=A+8|0;a=t;l=A+24|0;i=A}else{f=A+24|0;a=A;l=A+8|0;i=t}c=+s[a>>3];b=+s[l>>3];s[r+16>>3]=+s[i>>3];s[r+24>>3]=b;s[r+48>>3]=c;s[r+56>>3]=+s[f>>3];A:do{if(e|0){i=0;while(1){if((i|0)==4)break A;t=r+(i<<4)+8|0;b=+s[t>>3];e=r+(i<<4)|0;s[t>>3]=+s[e>>3];s[e>>3]=-b;i=i+1|0}}}while(0);return}function gu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;l=e+3|0;t=e+1|0;c=e+2|0;s=A+(e*56|0)+44|0;b=A+(l*56|0)+44|0;r=0;f=e;while(1){if((f|0)>(l|0))break;do{if((f|0)!=(e|0))if((f|0)==(l|0)){n[b>>2]=e;a=c;break}else{n[A+(f*56|0)+44>>2]=f+1;a=f+-1|0;break}else{n[s>>2]=t;a=l}}while(0);n[A+(f*56|0)+48>>2]=a;n[A+(f*56|0)+32>>2]=0;u=A+(f*56|0)|0;o=i+(r<<4)|0;n[u>>2]=n[o>>2];n[u+4>>2]=n[o+4>>2];n[u+8>>2]=n[o+8>>2];n[u+12>>2]=n[o+12>>2];EH(A+(a*56|0)+16|0,o|0,16)|0;r=r+1|0;f=f+1|0}return e+4|0}function Zu(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0;n[42435]=r<<1;n[42436]=r;s=Jg(r*80|0)|0;n[42437]=1;n[42438]=1;yH(f|0,0,r*72|0)|0;a=Gu(n[i+4>>2]|0,e,f,s)|0;r=1;while(1){if((r|0)>(A|0))break;n[e+(r*56|0)+40>>2]=a;n[e+(r*56|0)+36>>2]=a;r=r+1|0}c=mu(A)|0;a=2;t=1;while(1){if((t|0)>(c|0))break;r=Iu(A,t+-1|0)|0;l=Iu(A,t)|0;while(1){if((r|0)>=(l|0)){r=1;break}Cu(n[i+(a<<2)>>2]|0,e,f,s);r=r+1|0;a=a+1|0}while(1){if((r|0)>(A|0))break;Mu(r,e,f,s);r=r+1|0}t=t+1|0}r=Iu(A,c)|0;while(1){if((r|0)>=(A|0))break;Cu(n[i+(a<<2)>>2]|0,e,f,s);a=a+1|0;r=r+1|0}zN(s);return n[42437]|0}function Gu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0,d=0,h=0;f=Vu()|0;n[r+(f*40|0)>>2]=2;d=r+(f*40|0)+8|0;c=e+(A*56|0)|0;b=e+(A*56|0)+16|0;zu(d,c,b);u=Vu()|0;n[r+(f*40|0)+36>>2]=u;n[r+(u*40|0)>>2]=3;n[r+(u*40|0)+28>>2]=f;t=Vu()|0;n[r+(f*40|0)+32>>2]=t;n[r+(t*40|0)>>2]=2;w=r+(t*40|0)+8|0;pu(w,c,b);n[r+(t*40|0)+28>>2]=f;b=Vu()|0;n[r+(t*40|0)+32>>2]=b;n[r+(b*40|0)>>2]=3;n[r+(b*40|0)+28>>2]=t;c=Vu()|0;n[r+(t*40|0)+36>>2]=c;n[r+(c*40|0)>>2]=1;n[r+(c*40|0)+4>>2]=A;n[r+(c*40|0)+28>>2]=t;t=Vu()|0;n[r+(c*40|0)+32>>2]=t;n[r+(t*40|0)>>2]=3;n[r+(t*40|0)+28>>2]=c;a=Vu()|0;n[r+(c*40|0)+36>>2]=a;n[r+(a*40|0)>>2]=3;n[r+(a*40|0)+28>>2]=c;c=Yu(i)|0;l=Yu(i)|0;o=Yu(i)|0;v=Yu(i)|0;B=i+(c*72|0)+8|0;k=i+(l*72|0)+8|0;h=i+(v*72|0)+24|0;n[h>>2]=n[d>>2];n[h+4>>2]=n[d+4>>2];n[h+8>>2]=n[d+8>>2];n[h+12>>2]=n[d+12>>2];EH(k|0,d|0,16)|0;n[B>>2]=n[k>>2];n[B+4>>2]=n[k+4>>2];n[B+8>>2]=n[k+8>>2];n[B+12>>2]=n[k+12>>2];B=i+(c*72|0)+24|0;k=i+(l*72|0)+24|0;d=i+(o*72|0)+8|0;n[d>>2]=n[w>>2];n[d+4>>2]=n[w+4>>2];n[d+8>>2]=n[w+8>>2];n[d+12>>2]=n[w+12>>2];EH(k|0,w|0,16)|0;n[B>>2]=n[k>>2];n[B+4>>2]=n[k+4>>2];n[B+8>>2]=n[k+8>>2];n[B+12>>2]=n[k+12>>2];s[i+(v*72|0)+16>>3]=1073741824.0;s[i+(v*72|0)+8>>3]=1073741824.0;s[i+(o*72|0)+32>>3]=-1073741824.0;s[i+(o*72|0)+24>>3]=-1073741824.0;n[i+(l*72|0)>>2]=A;n[i+(c*72|0)+4>>2]=A;n[i+(l*72|0)+40>>2]=v;n[i+(c*72|0)+40>>2]=v;n[i+(l*72|0)+48>>2]=o;n[i+(c*72|0)+48>>2]=o;n[i+(o*72|0)+40>>2]=c;n[i+(v*72|0)+48>>2]=c;n[i+(o*72|0)+44>>2]=l;n[i+(v*72|0)+52>>2]=l;n[i+(c*72|0)+56>>2]=t;n[i+(l*72|0)+56>>2]=a;n[i+(o*72|0)+56>>2]=b;n[i+(v*72|0)+56>>2]=u;n[i+(l*72|0)+68>>2]=1;n[i+(c*72|0)+68>>2]=1;n[i+(v*72|0)+68>>2]=1;n[i+(o*72|0)+68>>2]=1;n[r+(u*40|0)+24>>2]=v;n[r+(b*40|0)+24>>2]=o;n[r+(t*40|0)+24>>2]=c;n[r+(a*40|0)+24>>2]=l;n[e+(A*56|0)+32>>2]=1;return f|0}function mu(A){A=A|0;var e=0.0;e=+(A|0);A=0;while(1){if(!(e>=1.0))break;e=+bz(e);A=A+1|0}return A+-1|0}function Iu(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+(A|0);i=r;A=0;while(1){if((A|0)>=(e|0))break;i=+bz(i);A=A+1|0}return~~+D(+(r/i))|0}function Cu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0.0,t=0.0,c=0,b=0,o=0,u=0,B=0,k=0.0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0,X=0,T=0,x=0,U=0,j=0,S=0,O=0;S=v;v=v+96|0;T=S+32|0;f=S+16|0;x=S;d=T;c=e+(A*56|0)|0;w=d+56|0;do{n[d>>2]=n[c>>2];d=d+4|0;c=c+4|0}while((d|0)<(w|0));U=T+16|0;j=T+24|0;l=+s[j>>3];J=T+8|0;t=+s[J>>3];do{if(!(l>t+1.0e-07)){if(!(l<t+-1.0e-07)?+s[U>>3]>+s[T>>3]:0){W=4;break}W=(yu(A,e,1)|0)==0;f=n[T+36>>2]|0;if(W){o=0;W=7}else{f=Qu(T,U,f,e,r)|0;W=20}}else W=4}while(0);if((W|0)==4){n[f>>2]=n[T>>2];n[f+4>>2]=n[T+4>>2];n[f+8>>2]=n[T+8>>2];n[f+12>>2]=n[T+12>>2];n[T>>2]=n[U>>2];n[T+4>>2]=n[U+4>>2];n[T+8>>2]=n[U+8>>2];n[T+12>>2]=n[U+12>>2];n[U>>2]=n[f>>2];n[U+4>>2]=n[f+4>>2];n[U+8>>2]=n[f+8>>2];n[U+12>>2]=n[f+12>>2];y=T+36|0;V=n[y>>2]|0;W=T+40|0;f=n[W>>2]|0;n[y>>2]=f;n[W>>2]=V;if(!(yu(A,e,2)|0)){o=1;W=7}else{f=Qu(T,U,f,e,r)|0;W=19}}if((W|0)==7){b=Qu(T,U,f,e,r)|0;f=Yu(i)|0;n[i+(f*72|0)+68>>2]=1;d=i+(f*72|0)|0;c=i+(b*72|0)|0;w=d+72|0;do{n[d>>2]=n[c>>2];d=d+4|0;c=c+4|0}while((d|0)<(w|0));k=+s[J>>3];s[i+(f*72|0)+16>>3]=k;s[i+(b*72|0)+32>>3]=k;k=+s[T>>3];s[i+(f*72|0)+8>>3]=k;s[i+(b*72|0)+24>>3]=k;n[i+(b*72|0)+48>>2]=f;n[i+(b*72|0)+52>>2]=0;n[i+(f*72|0)+40>>2]=b;n[i+(f*72|0)+44>>2]=0;a=n[i+(f*72|0)+48>>2]|0;if((a|0)>0){c=i+(a*72|0)+40|0;if((n[c>>2]|0)==(b|0))n[c>>2]=f;a=i+(a*72|0)+44|0;if((n[a>>2]|0)==(b|0))n[a>>2]=f}a=n[i+(f*72|0)+52>>2]|0;if((a|0)>0){c=i+(a*72|0)+40|0;if((n[c>>2]|0)==(b|0))n[c>>2]=f;a=i+(a*72|0)+44|0;if((n[a>>2]|0)==(b|0))n[a>>2]=f}y=Vu()|0;W=Vu()|0;V=i+(b*72|0)+56|0;E=n[V>>2]|0;n[r+(E*40|0)>>2]=2;Q=r+(E*40|0)+8|0;n[Q>>2]=n[T>>2];n[Q+4>>2]=n[T+4>>2];n[Q+8>>2]=n[T+8>>2];n[Q+12>>2]=n[T+12>>2];n[r+(E*40|0)+4>>2]=A;n[r+(E*40|0)+32>>2]=W;n[r+(E*40|0)+36>>2]=y;n[r+(y*40|0)>>2]=3;n[r+(y*40|0)+24>>2]=b;n[r+(y*40|0)+28>>2]=E;n[r+(W*40|0)>>2]=3;n[r+(W*40|0)+24>>2]=f;n[r+(W*40|0)+28>>2]=E;n[V>>2]=y;n[i+(f*72|0)+56>>2]=W;if(o)W=19;else W=20}if((W|0)==19)if(!(yu(A,e,1)|0)){a=1;W=21}else{a=1;W=32}else if((W|0)==20)if(!(yu(A,e,2)|0)){a=0;W=21}else{a=0;W=32}if((W|0)==21){u=Qu(U,T,n[T+40>>2]|0,e,r)|0;o=Yu(i)|0;n[i+(o*72|0)+68>>2]=1;d=i+(o*72|0)|0;c=i+(u*72|0)|0;w=d+72|0;do{n[d>>2]=n[c>>2];d=d+4|0;c=c+4|0}while((d|0)<(w|0));k=+s[j>>3];s[i+(o*72|0)+16>>3]=k;s[i+(u*72|0)+32>>3]=k;k=+s[U>>3];s[i+(o*72|0)+8>>3]=k;s[i+(u*72|0)+24>>3]=k;n[i+(u*72|0)+48>>2]=o;n[i+(u*72|0)+52>>2]=0;n[i+(o*72|0)+40>>2]=u;n[i+(o*72|0)+44>>2]=0;c=n[i+(o*72|0)+48>>2]|0;if((c|0)>0){b=i+(c*72|0)+40|0;if((n[b>>2]|0)==(u|0))n[b>>2]=o;c=i+(c*72|0)+44|0;if((n[c>>2]|0)==(u|0))n[c>>2]=o}c=n[i+(o*72|0)+52>>2]|0;if((c|0)>0){b=i+(c*72|0)+40|0;if((n[b>>2]|0)==(u|0))n[b>>2]=o;c=i+(c*72|0)+44|0;if((n[c>>2]|0)==(u|0))n[c>>2]=o}E=Vu()|0;V=Vu()|0;y=i+(u*72|0)+56|0;Q=n[y>>2]|0;n[r+(Q*40|0)>>2]=2;M=r+(Q*40|0)+8|0;n[M>>2]=n[U>>2];n[M+4>>2]=n[U+4>>2];n[M+8>>2]=n[U+8>>2];n[M+12>>2]=n[U+12>>2];n[r+(Q*40|0)+4>>2]=A;n[r+(Q*40|0)+32>>2]=V;n[r+(Q*40|0)+36>>2]=E;n[r+(E*40|0)>>2]=3;n[r+(E*40|0)+24>>2]=u;n[r+(E*40|0)+28>>2]=Q;n[r+(V*40|0)>>2]=3;n[r+(V*40|0)+24>>2]=o;n[r+(V*40|0)+28>>2]=Q;n[y>>2]=E;n[i+(o*72|0)+56>>2]=V;V=f;f=0}else if((W|0)==32){V=f;u=Qu(U,T,n[T+40>>2]|0,e,r)|0;f=1}A:do{if((V|0)>0){E=i+(u*72|0)+24|0;y=i+(u*72|0)+32|0;Q=(f|0)!=0;I=a?e+(A*56|0)+48|0:e+(A*56|0)+44|0;C=x+8|0;a=0;f=0;m=V;e:while(1){c=i+(m*72|0)|0;Z=i+(m*72|0)+24|0;if(!(Wu(Z,E)|0))break A;b=i+(m*72|0)+56|0;g=n[b>>2]|0;o=Vu()|0;B=Vu()|0;n[r+(g*40|0)>>2]=1;n[r+(g*40|0)+4>>2]=A;n[r+(g*40|0)+32>>2]=o;n[r+(g*40|0)+36>>2]=B;n[r+(o*40|0)>>2]=3;n[r+(o*40|0)+24>>2]=m;n[r+(o*40|0)+28>>2]=g;n[r+(B*40|0)>>2]=3;G=Yu(i)|0;n[r+(B*40|0)+24>>2]=G;M=i+(G*72|0)|0;n[i+(G*72|0)+68>>2]=1;n[r+(B*40|0)+28>>2]=g;a=(m|0)==(V|0)?G:a;g=i+(m*72|0)+32|0;if(+Y(+(+s[g>>3]-+s[y>>3]))<=1.0e-07?+Y(+(+s[Z>>3]-+s[E>>3]))<=1.0e-07:0)f=G;d=M;w=d+72|0;do{n[d>>2]=n[c>>2];d=d+4|0;c=c+4|0}while((d|0)<(w|0));n[b>>2]=o;n[i+(G*72|0)+56>>2]=B;h=i+(m*72|0)+48|0;b=i+(m*72|0)+52|0;c=(n[b>>2]|0)<1;do{if((n[h>>2]|0)<1){if(c)break e;d=i+(m*72|0)+40|0;c=n[d>>2]|0;do{if((c|0)>0?(P=i+(m*72|0)+44|0,H=n[P>>2]|0,(H|0)>0):0){w=i+(m*72|0)+60|0;c=n[w>>2]|0;if((c|0)<=0){n[i+(G*72|0)+40>>2]=H;n[i+(G*72|0)+44>>2]=-1;n[P>>2]=-1;n[i+(H*72|0)+48>>2]=G;break}if((n[i+(m*72|0)+64>>2]|0)==1){n[i+(G*72|0)+40>>2]=H;n[P>>2]=-1;n[i+(G*72|0)+44>>2]=c;n[i+((n[d>>2]|0)*72|0)+48>>2]=m;B=G;o=H}else{n[i+(G*72|0)+44>>2]=-1;h=i+(G*72|0)+40|0;n[h>>2]=n[P>>2];o=n[d>>2]|0;n[P>>2]=o;n[d>>2]=c;n[i+(c*72|0)+48>>2]=m;B=m;c=n[h>>2]|0}n[i+(o*72|0)+48>>2]=B;n[i+(c*72|0)+48>>2]=G;n[i+(G*72|0)+60>>2]=0;n[w>>2]=0}else W=77}while(0);do{if((W|0)==77){W=0;o=i+(c*72|0)+48|0;B=n[o>>2]|0;c=i+(c*72|0)+52|0;if((B|0)>0?(n[c>>2]|0)>0:0){c=n[i+(B*72|0)+4>>2]|0;if((c|0)>0?(Eu(c,e,U)|0)==0:0){n[i+(G*72|0)+44>>2]=-1;n[i+(m*72|0)+44>>2]=-1;n[d>>2]=-1;n[i+((n[i+(G*72|0)+40>>2]|0)*72|0)+52>>2]=G;break}n[i+(m*72|0)+44>>2]=-1;n[i+(G*72|0)+44>>2]=-1;n[i+(G*72|0)+40>>2]=-1;n[i+((n[d>>2]|0)*72|0)+48>>2]=m;break}n[o>>2]=m;n[c>>2]=G}}while(0);if(+Y(+(+s[g>>3]-+s[y>>3]))<=1.0e-07?Q&+Y(+(+s[Z>>3]-+s[E>>3]))<=1.0e-07:0){c=n[I>>2]|0;if((c|0)>0?(Eu(c,e,T)|0)!=0:0){n[i+((n[b>>2]|0)*72|0)+40>>2]=m;o=i+(G*72|0)+52|0;c=G}else{n[i+((n[i+(G*72|0)+52>>2]|0)*72|0)+44>>2]=G;o=b;c=m}n[o>>2]=-1;n[i+(c*72|0)+48>>2]=-1;c=n[b>>2]|0;break}c=n[b>>2]|0;b=i+(c*72|0)+40|0;o=n[b>>2]|0;B=i+(c*72|0)+44|0;if((o|0)>0?(F=n[B>>2]|0,L=(o|0)==(m|0),(F|0)>0):0){n[i+(c*72|0)+60>>2]=L?F:o;n[i+(c*72|0)+64>>2]=L?1:2}n[b>>2]=m;n[B>>2]=G}else{if(!c){l=+s[g>>3];t=+s[J>>3];k=l-t;if(!(+Y(+k)<=1.0e-07)){s[C>>3]=l;l=+s[T>>3];s[x>>3]=(+s[U>>3]-l)*(k/(+s[j>>3]-t))+l;d=(Ju(x,Z)|0)!=0}else d=+s[Z>>3]>+s[T>>3];w=i+(m*72|0)+40|0;c=n[w>>2]|0;do{if((c|0)>0?(D=i+(m*72|0)+44|0,X=n[D>>2]|0,(X|0)>0):0){B=i+(m*72|0)+60|0;c=n[B>>2]|0;if((c|0)<=0){n[i+(G*72|0)+40>>2]=X;n[i+(G*72|0)+44>>2]=-1;n[D>>2]=-1;n[i+(X*72|0)+48>>2]=G;break}if((n[i+(m*72|0)+64>>2]|0)==1){n[i+(G*72|0)+40>>2]=X;n[D>>2]=-1;n[i+(G*72|0)+44>>2]=c;n[i+((n[w>>2]|0)*72|0)+48>>2]=m;o=G;b=X}else{n[i+(G*72|0)+44>>2]=-1;O=i+(G*72|0)+40|0;n[O>>2]=n[D>>2];b=n[w>>2]|0;n[D>>2]=b;n[w>>2]=c;n[i+(c*72|0)+48>>2]=m;o=m;c=n[O>>2]|0}n[i+(b*72|0)+48>>2]=o;n[i+(c*72|0)+48>>2]=G;n[i+(G*72|0)+60>>2]=0;n[B>>2]=0}else W=106}while(0);do{if((W|0)==106){W=0;b=i+(c*72|0)+48|0;o=n[b>>2]|0;c=i+(c*72|0)+52|0;if((o|0)>0?(n[c>>2]|0)>0:0){c=n[i+(o*72|0)+4>>2]|0;if((c|0)>0?(Eu(c,e,U)|0)==0:0){n[i+(G*72|0)+44>>2]=-1;n[i+(m*72|0)+44>>2]=-1;n[w>>2]=-1;n[i+((n[i+(G*72|0)+40>>2]|0)*72|0)+52>>2]=G;break}n[i+(m*72|0)+44>>2]=-1;n[i+(G*72|0)+44>>2]=-1;n[i+(G*72|0)+40>>2]=-1;n[i+((n[w>>2]|0)*72|0)+48>>2]=m;break}n[b>>2]=m;n[c>>2]=G}}while(0);if(+Y(+(+s[g>>3]-+s[y>>3]))<=1.0e-07?Q&+Y(+(+s[Z>>3]-+s[E>>3]))<=1.0e-07:0){c=n[h>>2]|0;n[i+(c*72|0)+40>>2]=m;n[i+(c*72|0)+44>>2]=-1;c=i+(m*72|0)+52|0;O=n[c>>2]|0;n[i+(O*72|0)+40>>2]=G;n[i+(O*72|0)+44>>2]=-1;n[i+(G*72|0)+48>>2]=O;n[i+(G*72|0)+52>>2]=-1;n[c>>2]=-1;c=-1}else W=116;do{if((W|0)==116){W=0;c=n[h>>2]|0;n[i+(c*72|0)+40>>2]=m;b=i+(c*72|0)+44|0;if(d){n[b>>2]=G;O=i+(m*72|0)+52|0;Z=n[O>>2]|0;n[i+(Z*72|0)+40>>2]=G;n[i+(Z*72|0)+44>>2]=-1;n[O>>2]=-1;break}else{n[b>>2]=-1;c=i+(m*72|0)+52|0;O=n[c>>2]|0;n[i+(O*72|0)+40>>2]=m;n[i+(O*72|0)+44>>2]=G;n[i+(G*72|0)+48>>2]=O;n[i+(G*72|0)+52>>2]=-1;c=n[c>>2]|0;break}}}while(0);break}d=i+(m*72|0)+40|0;c=n[d>>2]|0;do{if((c|0)>0?(N=i+(m*72|0)+44|0,z=n[N>>2]|0,(z|0)>0):0){w=i+(m*72|0)+60|0;c=n[w>>2]|0;if((c|0)<=0){n[i+(G*72|0)+40>>2]=z;n[i+(G*72|0)+44>>2]=-1;n[N>>2]=-1;n[i+(z*72|0)+48>>2]=G;break}if((n[i+(m*72|0)+64>>2]|0)==1){n[i+(G*72|0)+40>>2]=z;n[N>>2]=-1;n[i+(G*72|0)+44>>2]=c;n[i+((n[d>>2]|0)*72|0)+48>>2]=m;B=G;o=z}else{n[i+(G*72|0)+44>>2]=-1;O=i+(G*72|0)+40|0;n[O>>2]=n[N>>2];o=n[d>>2]|0;n[N>>2]=o;n[d>>2]=c;n[i+(c*72|0)+48>>2]=m;B=m;c=n[O>>2]|0}n[i+(o*72|0)+48>>2]=B;n[i+(c*72|0)+48>>2]=G;n[i+(G*72|0)+60>>2]=0;n[w>>2]=0}else W=51}while(0);do{if((W|0)==51){W=0;o=i+(c*72|0)+48|0;B=n[o>>2]|0;c=i+(c*72|0)+52|0;if((B|0)>0?(n[c>>2]|0)>0:0){c=n[i+(B*72|0)+4>>2]|0;if((c|0)>0?(Eu(c,e,U)|0)==0:0){n[i+(G*72|0)+44>>2]=-1;n[i+(m*72|0)+44>>2]=-1;n[d>>2]=-1;n[i+((n[i+(G*72|0)+40>>2]|0)*72|0)+52>>2]=G;break}n[i+(m*72|0)+44>>2]=-1;n[i+(G*72|0)+44>>2]=-1;n[i+(G*72|0)+40>>2]=-1;n[i+((n[d>>2]|0)*72|0)+48>>2]=m;break}n[o>>2]=m;n[c>>2]=G}}while(0);if(+Y(+(+s[g>>3]-+s[y>>3]))<=1.0e-07?Q&+Y(+(+s[Z>>3]-+s[E>>3]))<=1.0e-07:0){c=n[I>>2]|0;if((c|0)>0?(Eu(c,e,T)|0)!=0:0){n[i+((n[h>>2]|0)*72|0)+40>>2]=m;b=i+(G*72|0)+52|0;c=G}else{n[i+((n[i+(G*72|0)+48>>2]|0)*72|0)+44>>2]=G;c=m}n[b>>2]=-1;n[i+(c*72|0)+48>>2]=-1;c=n[h>>2]|0;break}c=n[h>>2]|0;b=i+(c*72|0)+40|0;o=n[b>>2]|0;B=i+(c*72|0)+44|0;if((o|0)>0?(p=n[B>>2]|0,R=(o|0)==(m|0),(p|0)>0):0){n[i+(c*72|0)+60>>2]=R?p:o;n[i+(c*72|0)+64>>2]=R?1:2}n[b>>2]=m;n[B>>2]=G}}while(0);n[M>>2]=A;n[i+(m*72|0)+4>>2]=A;if((c|0)>0)m=c;else break A}VR(123235,19,1,n[13918]|0)|0}else{a=0;f=0}}while(0);Nu(A,V,u,1,i,r);Nu(A,a,f,2,i,r);n[e+(A*56|0)+32>>2]=1;v=S;return}function Mu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0;if(!(n[e+(A*56|0)+32>>2]|0)){f=e+(A*56|0)|0;a=e+(A*56|0)+16|0;l=e+(A*56|0)+36|0;n[l>>2]=n[i+((Qu(f,a,n[l>>2]|0,e,r)|0)*72|0)+56>>2];A=e+(A*56|0)+40|0;n[A>>2]=n[i+((Qu(a,f,n[A>>2]|0,e,r)|0)*72|0)+56>>2]}return}function Qu(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0.0,l=0,t=0.0,c=0.0,b=0.0,o=0.0,u=0.0,v=0,B=0.0,k=0,w=0;v=A+8|0;k=e+8|0;A:while(1){e:do{switch(n[f+(i*40|0)>>2]|0){case 3:{w=3;break A}case 2:{a=+s[v>>3];l=f+(i*40|0)+8|0;t=+s[f+(i*40|0)+16>>3];c=t+1.0e-07;do{if(!(a>c)){b=t+-1.0e-07;if(!(a<b)?+s[A>>3]>+s[l>>3]:0)break;if(+Y(+(a-t))<=1.0e-07?(o=+s[l>>3],+Y(+(+s[A>>3]-o))<=1.0e-07):0){a=+s[k>>3];do{if(!(a>c)){if(!(a<b)?+s[e>>3]>o:0)break;i=f+(i*40|0)+32|0;break e}}while(0);i=f+(i*40|0)+36|0;break e}i=f+(i*40|0)+32|0;break e}}while(0);i=f+(i*40|0)+36|0;break}case 1:{a=+s[v>>3];l=n[f+(i*40|0)+4>>2]|0;if(+Y(+(a-+s[r+(l*56|0)+8>>3]))<=1.0e-07?(u=+s[A>>3],+Y(+(u-+s[r+(l*56|0)>>3]))<=1.0e-07):0)t=u;else w=19;do{if((w|0)==19){w=0;if(+Y(+(a-+s[r+(l*56|0)+24>>3]))<=1.0e-07?(B=+s[A>>3],+Y(+(B-+s[r+(l*56|0)+16>>3]))<=1.0e-07):0){t=B;break}if(!(Eu(l,r,A)|0)){i=f+(i*40|0)+36|0;break e}else{i=f+(i*40|0)+32|0;break e}}}while(0);if(!(+Y(+(a-+s[k>>3]))<=1.0e-07))if(!(Eu(l,r,e)|0)){i=f+(i*40|0)+36|0;break e}else{i=f+(i*40|0)+32|0;break e}else if(+s[e>>3]<t){i=f+(i*40|0)+32|0;break e}else{i=f+(i*40|0)+36|0;break e}}default:{w=31;break A}}}while(0);i=n[i>>2]|0}if((w|0)==3)return n[f+(i*40|0)+24>>2]|0;else if((w|0)==31){VR(123169,35,1,n[13918]|0)|0;BA(123205,123207,349,123219)}return 0}function Eu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,a=0.0,l=0,t=0,c=0.0;n=e+(A*56|0)+16|0;a=+s[e+(A*56|0)+24>>3];l=e+(A*56|0)|0;f=+s[e+(A*56|0)+8>>3];do{if(!(a>f+1.0e-07)){if(!(a<f+-1.0e-07)?+s[n>>3]>+s[l>>3]:0){t=4;break}r=+s[i+8>>3];if(+Y(+(a-r))<=1.0e-07){r=+s[i>>3]<+s[n>>3]?1.0:-1.0;break}if(!(+Y(+(f-r))<=1.0e-07)){c=+s[n>>3];r=(+s[l>>3]-c)*(r-a)-(+s[i>>3]-c)*(f-a);break}else{r=+s[i>>3]<+s[l>>3]?1.0:-1.0;break}}else t=4}while(0);do{if((t|0)==4){r=+s[i+8>>3];if(+Y(+(a-r))<=1.0e-07){r=+s[i>>3]<+s[n>>3]?1.0:-1.0;break}if(!(+Y(+(f-r))<=1.0e-07)){c=+s[l>>3];r=(+s[n>>3]-c)*(r-f)-(+s[i>>3]-c)*(a-f);break}else{r=+s[i>>3]<+s[l>>3]?1.0:-1.0;break}}}while(0);return r>0.0|0}function yu(A,e,i){A=A|0;e=e|0;i=i|0;return n[e+((n[((i|0)==1?e+(A*56|0)+48|0:e+(A*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function Yu(A){A=A|0;var e=0,i=0,r=0;r=v;v=v+16|0;i=r;e=n[42437]|0;if((e|0)<(n[42436]|0)){n[A+(e*72|0)>>2]=-1;n[A+(e*72|0)+4>>2]=-1;n[A+(e*72|0)+68>>2]=1;n[42437]=e+1;v=r;return e|0}else{r=n[13918]|0;n[i>>2]=e;lR(r,123294,i)|0;BA(123205,123207,88,123332)}return 0}function Vu(){var A=0;A=n[42438]|0;if((A|0)<(n[42435]|0)){n[42438]=A+1;return A|0}else{VR(123255,30,1,n[13918]|0)|0;BA(123205,123207,72,123286)}return 0}function Wu(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+s[A+8>>3];r=+s[e+8>>3];if(!(i>r+1.0e-07))if(i<r+-1.0e-07)A=0;else A=+s[A>>3]>=+s[e>>3]&1;else A=1;return A|0}function Ju(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+s[A+8>>3];r=+s[e+8>>3];if(!(i<r+-1.0e-07))if(i>r+1.0e-07)A=0;else A=+s[A>>3]<+s[e>>3]&1;else A=1;return A|0}function Nu(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0;k=f+(i*72|0)+24|0;B=(r|0)==1;A:while(1){v=f+(e*72|0)+24|0;c=f+(e*72|0)+48|0;s=f+(e*72|0)+52|0;b=f+(e*72|0)|0;o=f+(e*72|0)+4|0;u=f+(e*72|0)+56|0;if((e|0)<=0)break;while(1){if(!(Wu(v,k)|0))break A;i=n[c>>2]|0;r=(i|0)>0;do{if(B){if(r?(n[f+(i*72|0)+4>>2]|0)==(A|0):0)break;i=n[s>>2]|0;if((i|0)<=0){e=i;continue A}if((n[f+(i*72|0)+4>>2]|0)!=(A|0)){e=i;continue A}}else{if(r?(n[f+(i*72|0)>>2]|0)==(A|0):0)break;i=n[s>>2]|0;if((i|0)<=0){e=i;continue A}if((n[f+(i*72|0)>>2]|0)!=(A|0)){e=i;continue A}}}while(0);if((n[b>>2]|0)!=(n[f+(i*72|0)>>2]|0)){e=i;continue A}if((n[o>>2]|0)!=(n[f+(i*72|0)+4>>2]|0)){e=i;continue A}w=n[f+(i*72|0)+56>>2]|0;r=n[a+(w*40|0)+28>>2]|0;l=a+(r*40|0)+32|0;t=n[u>>2]|0;if((n[l>>2]|0)==(w|0))n[l>>2]=t;else n[a+(r*40|0)+36>>2]=t;r=n[f+(i*72|0)+48>>2]|0;n[c>>2]=r;do{if((r|0)>0){l=f+(r*72|0)+40|0;if((n[l>>2]|0)==(i|0)){n[l>>2]=e;break}r=f+(r*72|0)+44|0;if((n[r>>2]|0)==(i|0))n[r>>2]=e}}while(0);r=n[f+(i*72|0)+52>>2]|0;n[s>>2]=r;do{if((r|0)>0){l=f+(r*72|0)+40|0;if((n[l>>2]|0)==(i|0)){n[l>>2]=e;break}r=f+(r*72|0)+44|0;if((n[r>>2]|0)==(i|0))n[r>>2]=e}}while(0);w=f+(i*72|0)+24|0;n[v>>2]=n[w>>2];n[v+4>>2]=n[w+4>>2];n[v+8>>2]=n[w+8>>2];n[v+12>>2]=n[w+12>>2];n[f+(i*72|0)+68>>2]=2}}return}function zu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+s[e+8>>3];f=+s[i+8>>3];do{if(!(r>f+1.0e-07)){if(!(+Y(+(r-f))<=1.0e-07)){n[A>>2]=n[i>>2];n[A+4>>2]=n[i+4>>2];n[A+8>>2]=n[i+8>>2];n[A+12>>2]=n[i+12>>2];break}if(+s[e>>3]>+s[i>>3]+1.0e-07){n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];break}else{n[A>>2]=n[i>>2];n[A+4>>2]=n[i+4>>2];n[A+8>>2]=n[i+8>>2];n[A+12>>2]=n[i+12>>2];break}}else{n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2]}}while(0);return}function pu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+s[e+8>>3];f=+s[i+8>>3];do{if(!(r<f+-1.0e-07)){if(!(+Y(+(r-f))<=1.0e-07)){n[A>>2]=n[i>>2];n[A+4>>2]=n[i+4>>2];n[A+8>>2]=n[i+8>>2];n[A+12>>2]=n[i+12>>2];break}if(+s[e>>3]<+s[i>>3]){n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];break}else{n[A>>2]=n[i>>2];n[A+4>>2]=n[i+4>>2];n[A+8>>2]=n[i+8>>2];n[A+12>>2]=n[i+12>>2];break}}else{n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2]}}while(0);return}function Ru(A){A=A|0;var e=0;e=Jg(8)|0;if(e|0){n[e+4>>2]=A;n[e>>2]=0}return e|0}function Pu(A,e){A=A|0;e=e|0;if(e){e=Ru(e)|0;n[e>>2]=A;A=e}return A|0}function Hu(A){A=A|0;var e=0;do{e=A;A=n[A>>2]|0;zN(e)}while((A|0)!=0);return}function Fu(){var A=0;A=Jg(1992)|0;if(A|0)n[A>>2]=Lu(A)|0;return A|0}function Lu(A){A=A|0;var e=0;e=ju(A)|0;n[e+4>>2]=0;A=A+1972|0;n[A>>2]=(n[A>>2]|0)+1;return e|0}function Du(A){A=A|0;Xu(A,n[A>>2]|0);zN(n[A>>2]|0);zN(A);return 0}function Xu(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;a=A+1980|0;l=A+1912|0;t=A+1936|0;A:do{if((n[e+4>>2]|0)>0){i=0;while(1){if((i|0)==64)break A;r=e+8+(i*20|0)+16|0;f=n[r>>2]|0;if(f|0?(Xu(A,f),zN(n[r>>2]|0),$u(e,i),n[a>>2]=(n[a>>2]|0)+-1,n[l>>2]|0):0)n[t>>2]=(n[t>>2]|0)+1;i=i+1|0}}else{i=0;while(1){if((i|0)==64)break A;if(n[e+8+(i*20|0)+16>>2]|0?($u(e,i),n[a>>2]=(n[a>>2]|0)+-1,n[l>>2]|0):0)n[t>>2]=(n[t>>2]|0)+1;i=i+1|0}}}while(0);return}function Tu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0;if(!e)BA(123690,123340,194,123348);r=n[e+4>>2]|0;if((r|0)<=-1)BA(123360,123340,195,123348);if(!i)BA(123632,123340,196,123348);t=A+1952|0;n[t>>2]=(n[t>>2]|0)+1;A:do{if((r|0)>0){t=0;r=0;while(1){if((t|0)==64)break A;f=e+8+(t*20|0)+16|0;if((n[f>>2]|0)!=0?(fv(i,e+8+(t*20|0)|0)|0)!=0:0){a=Tu(A,n[f>>2]|0,i)|0;if(!r)r=a;else{f=r;while(1){l=n[f>>2]|0;if(!l)break;else f=l}n[f>>2]=a}}t=t+1|0}}else{a=0;r=0;while(1){if((a|0)==64)break A;f=e+8+(a*20|0)|0;if((n[e+8+(a*20|0)+16>>2]|0)!=0?(fv(i,f)|0)!=0:0)r=Pu(r,f)|0;a=a+1|0}}}while(0);return r|0}function xu(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0;B=v;v=v+64|0;s=B+52|0;b=B+32|0;o=B+16|0;u=B;n[s>>2]=0;if(!((e|0)!=0&(r|0)!=0))BA(123546,123340,247,123374);if((f|0)>-1?(c=n[r>>2]|0,(n[c+4>>2]|0)>=(f|0)):0){a=0;while(1){if((a|0)>=2)break;if((n[e+(a<<2)>>2]|0)>(n[e+(a+2<<2)>>2]|0)){l=8;break}else a=a+1|0}if((l|0)==8)BA(123421,123340,250,123374);t=A+1912|0;a=A+1908|0;l=n[a>>2]|0;if(n[t>>2]|0){k=l|0?A+1924|0:A+1916|0;n[k>>2]=(n[k>>2]|0)+1}if(!l){k=A+1964|0;n[k>>2]=(n[k>>2]|0)+1}if(!(Uu(A,e,i,c,s,f)|0))a=0;else{if(n[t>>2]|0){k=n[a>>2]|0?A+1948|0:A+1944|0;n[k>>2]=(n[k>>2]|0)+1}a=ju(A)|0;k=A+1976|0;n[k>>2]=(n[k>>2]|0)+1;k=n[r>>2]|0;n[a+4>>2]=(n[k+4>>2]|0)+1;Ku(o,k);n[b>>2]=n[o>>2];n[b+4>>2]=n[o+4>>2];n[b+8>>2]=n[o+8>>2];n[b+12>>2]=n[o+12>>2];k=b+16|0;n[k>>2]=n[r>>2];qu(A,b,a,0)|0;Ku(u,n[s>>2]|0);n[b>>2]=n[u>>2];n[b+4>>2]=n[u+4>>2];n[b+8>>2]=n[u+8>>2];n[b+12>>2]=n[u+12>>2];n[k>>2]=n[s>>2];qu(A,b,a,0)|0;n[r>>2]=a;a=A+1980|0;n[a>>2]=(n[a>>2]|0)+2;a=1}v=B;return a|0}BA(123386,123340,248,123374);return 0}function Uu(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0;k=v;v=v+80|0;b=k+52|0;o=k+48|0;u=k+32|0;B=k+16|0;s=k;n[o>>2]=0;if(!((e|0)!=0&(r|0)!=0&(f|0)!=0))BA(123464,123340,311,123478);if((a|0)>-1?(t=r+4|0,l=n[t>>2]|0,(l|0)>=(a|0)):0){if(n[A+1912>>2]|0){l=n[A+1908>>2]|0?A+1948|0:A+1944|0;n[l>>2]=(n[l>>2]|0)+1;l=n[t>>2]|0}do{if((l|0)>(a|0)){t=_u(e,r)|0;l=r+8+(t*20|0)+16|0;t=r+8+(t*20|0)|0;if(!(Uu(A,e,i,n[l>>2]|0,o,a)|0)){rv(u,e,t);n[t>>2]=n[u>>2];n[t+4>>2]=n[u+4>>2];n[t+8>>2]=n[u+8>>2];n[t+12>>2]=n[u+12>>2];c=0;break}else{Ku(B,n[l>>2]|0);n[t>>2]=n[B>>2];n[t+4>>2]=n[B+4>>2];n[t+8>>2]=n[B+8>>2];n[t+12>>2]=n[B+12>>2];c=n[o>>2]|0;n[b+16>>2]=c;Ku(s,c);n[b>>2]=n[s>>2];n[b+4>>2]=n[s+4>>2];n[b+8>>2]=n[s+8>>2];n[b+12>>2]=n[s+12>>2];c=A+1980|0;n[c>>2]=(n[c>>2]|0)+1;c=qu(A,b,r,f)|0;break}}else if((l|0)==(a|0)){n[b>>2]=n[e>>2];n[b+4>>2]=n[e+4>>2];n[b+8>>2]=n[e+8>>2];n[b+12>>2]=n[e+12>>2];n[b+16>>2]=i;c=A+1980|0;n[c>>2]=(n[c>>2]|0)+1;c=qu(A,b,r,f)|0;break}else BA(123523,123340,341,123478)}while(0);v=k;return c|0}BA(123491,123340,312,123478);return 0}function ju(A){A=A|0;A=A+1968|0;n[A>>2]=(n[A>>2]|0)+1;A=NN(1288)|0;Su(A);return A|0}function Su(A){A=A|0;var e=0;n[A>>2]=0;n[A+4>>2]=-1;e=0;while(1){if((e|0)==64)break;Ou(A+8+(e*20|0)|0);e=e+1|0}return}function Ou(A){A=A|0;Av(A);n[A+16>>2]=0;return}function Ku(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;t=v;v=v+32|0;a=t+16|0;l=t;if(!e)BA(123690,123529,99,123536);Av(a);i=1;f=0;while(1){if((f|0)==64)break;do{if(n[e+8+(f*20|0)+16>>2]|0){r=e+8+(f*20|0)|0;if(!i){rv(l,a,r);n[a>>2]=n[l>>2];n[a+4>>2]=n[l+4>>2];n[a+8>>2]=n[l+8>>2];n[a+12>>2]=n[l+12>>2];i=0;break}else{n[a>>2]=n[r>>2];n[a+4>>2]=n[r+4>>2];n[a+8>>2]=n[r+8>>2];n[a+12>>2]=n[r+12>>2];i=0;break}}}while(0);f=f+1|0}n[A>>2]=n[a>>2];n[A+4>>2]=n[a+4>>2];n[A+8>>2]=n[a+8>>2];n[A+12>>2]=n[a+12>>2];v=t;return}function _u(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0;s=v;v=v+32|0;t=s+16|0;c=s;if(!((A|0)!=0&(e|0)!=0))BA(123546,123529,125,123553);i=0;r=0;f=0;a=1;l=0;while(1){if((l|0)==64)break;if(n[e+8+(l*20|0)+16>>2]|0){o=e+8+(l*20|0)|0;B=iv(o)|0;rv(c,A,o);n[t>>2]=n[c>>2];n[t+4>>2]=n[c+4>>2];n[t+8>>2]=n[c+8>>2];n[t+12>>2]=n[c+12>>2];o=(iv(t)|0)-B|0;b=(a|0)!=0|(o|0)<(f|0);u=b|(B|0)<(r|0)&(o|0)==(f|0);i=u?l:i;r=u?B:r;f=u?o:f;a=b?0:a}l=l+1|0}v=s;return i|0}function qu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0;if(!e)BA(123712,123529,167,123564);if(!i)BA(123690,123529,168,123564);do{if((n[i>>2]|0)<64){A=0;while(1){if((A|0)>=64){r=10;break}if(!(n[i+8+(A*20|0)+16>>2]|0)){r=8;break}A=A+1|0}if((r|0)==8){f=i+8+(A*20|0)|0;n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];n[f+16>>2]=n[e+16>>2];f=0;a=i;break}else if((r|0)==10)BA(123574,123529,178,123564)}else{if(n[A+1912>>2]|0){l=n[A+1908>>2]|0?A+1948|0:A+1944|0;n[l>>2]=(n[l>>2]|0)+1}if(!r)BA(123587,123529,187,123564);else{nv(A,i,e,r);f=1;a=(n[i+4>>2]|0)==0?A+1972|0:A+1976|0;break}}}while(0);n[a>>2]=(n[a>>2]|0)+1;return f|0}function $u(A,e){A=A|0;e=e|0;if(!((A|0)!=0&e>>>0<64))BA(123591,123529,201,123619);if(!(n[A+8+(e*20|0)+16>>2]|0))BA(124113,123529,202,123619);else{Ou(A+8+(e*20|0)|0);n[A>>2]=(n[A>>2]|0)+-1;return}}function Av(A){A=A|0;var e=0;e=0;while(1){if((e|0)==4)break;n[A+(e<<2)>>2]=0;e=e+1|0}return}function ev(A){A=A|0;var e=0,i=0,r=0;r=v;v=v+16|0;i=r;n[i>>2]=1;n[i+8>>2]=-1;e=1;while(1){if((e|0)==2)break;n[i+(e+2<<2)>>2]=0;n[i+(e<<2)>>2]=0;e=e+1|0}n[A>>2]=n[i>>2];n[A+4>>2]=n[i+4>>2];n[A+8>>2]=n[i+8>>2];n[A+12>>2]=n[i+12>>2];v=r;return}function iv(A){A=A|0;var e=0,i=0,r=0;if(!A)BA(123632,123634,128,123646);A:do{if((n[A>>2]|0)>(n[A+8>>2]|0))e=0;else{e=1;i=0;while(1){if((i|0)==2)break A;r=X(n[A+(i+2<<2)>>2]|0,e)|0;e=r-(n[A+(i<<2)>>2]|0)|0;i=i+1|0}}}while(0);return e|0}function rv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0;a=v;v=v+16|0;f=a;if(!((e|0)!=0&(i|0)!=0))BA(123655,123634,195,123663);do{if((n[e>>2]|0)>(n[e+8>>2]|0)){n[A>>2]=n[i>>2];n[A+4>>2]=n[i+4>>2];n[A+8>>2]=n[i+8>>2];n[A+12>>2]=n[i+12>>2]}else{if((n[i>>2]|0)>(n[i+8>>2]|0)){n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];break}else r=0;while(1){if((r|0)==2)break;c=n[e+(r<<2)>>2]|0;l=n[i+(r<<2)>>2]|0;n[f+(r<<2)>>2]=(c|0)<(l|0)?c:l;l=r+2|0;c=n[e+(l<<2)>>2]|0;t=n[i+(l<<2)>>2]|0;n[f+(l<<2)>>2]=(c|0)>(t|0)?c:t;r=r+1|0}n[A>>2]=n[f>>2];n[A+4>>2]=n[f+4>>2];n[A+8>>2]=n[f+8>>2];n[A+12>>2]=n[f+12>>2]}}while(0);v=a;return}function fv(A,e){A=A|0;e=e|0;var i=0,r=0;if((A|0)!=0&(e|0)!=0)i=0;else BA(123675,123634,216,123682);while(1){if((i|0)>=2){i=1;break}r=i+2|0;if((n[A+(i<<2)>>2]|0)>(n[e+(r<<2)>>2]|0)){i=0;break}if((n[e+(i<<2)>>2]|0)>(n[A+(r<<2)>>2]|0)){i=0;break}else i=i+1|0}return i|0}function nv(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0;if(!e)BA(123690,123692,40,123702);if(!i)BA(123712,123692,41,123702);t=A+1912|0;if(n[t>>2]|0){l=n[A+1908>>2]|0?A+1932|0:A+1928|0;n[l>>2]=(n[l>>2]|0)+1}a=e+4|0;l=n[a>>2]|0;av(A,e,i);i=A+1324|0;lv(A);f=iv(A+1852|0)|0;f=(iv(A+1868|0)|0)+f|0;if(n[t>>2]|0?(f|0)!=0&(n[A+1908>>2]|0)==0:0){t=A+1960|0;c[t>>2]=+((n[A+1320>>2]|0)>>>0)/+(f|0)+ +c[t>>2]}t=ju(A)|0;n[r>>2]=t;n[a>>2]=l;n[t+4>>2]=l;tv(A,e,t,i);if(((n[n[r>>2]>>2]|0)+(n[e>>2]|0)|0)==65)return;else BA(123714,123692,86,123702)}function av(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0;l=v;v=v+16|0;a=l;if(!e)BA(123690,123692,106,124101);if(!i)BA(123712,123692,107,124101);else r=0;while(1){if((r|0)>=64)break;if(!(n[e+8+(r*20|0)+16>>2]|0)){f=7;break}c=e+8+(r*20|0)|0;t=A+4+(r*20|0)|0;n[t>>2]=n[c>>2];n[t+4>>2]=n[c+4>>2];n[t+8>>2]=n[c+8>>2];n[t+12>>2]=n[c+12>>2];n[t+16>>2]=n[c+16>>2];r=r+1|0}if((f|0)==7)BA(124113,123692,111,124101);r=A+4|0;c=A+1284|0;n[c>>2]=n[i>>2];n[c+4>>2]=n[i+4>>2];n[c+8>>2]=n[i+8>>2];n[c+12>>2]=n[i+12>>2];n[c+16>>2]=n[i+16>>2];i=A+1304|0;n[i>>2]=n[r>>2];n[i+4>>2]=n[r+4>>2];n[i+8>>2]=n[r+8>>2];n[i+12>>2]=n[r+12>>2];r=1;while(1){if((r|0)==65)break;rv(a,i,A+4+(r*20|0)|0);n[i>>2]=n[a>>2];n[i+4>>2]=n[a+4>>2];n[i+8>>2]=n[a+8>>2];n[i+12>>2]=n[a+12>>2];r=r+1|0}n[A+1320>>2]=iv(i)|0;Su(e);v=l;return}function lv(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0;g=v;v=v+48|0;t=g+32|0;s=g+16|0;b=g;cv(A);sv(A);k=A+1844|0;d=A+1848|0;h=A+1892|0;o=A+1852|0;u=A+1884|0;B=A+1868|0;c=A+1888|0;f=0;r=0;while(1){i=n[k>>2]|0;e=n[d>>2]|0;if((e+i|0)>=65)break;l=65-(n[h>>2]|0)|0;if((i|0)<(l|0)&(e|0)<(l|0)){a=-1;l=0}else{w=12;break}while(1){if((l|0)==65)break;if(!(n[A+1584+(l<<2)>>2]|0)){Z=A+4+(l*20|0)|0;rv(s,Z,o);n[t>>2]=n[s>>2];n[t+4>>2]=n[s+4>>2];n[t+8>>2]=n[s+8>>2];n[t+12>>2]=n[s+12>>2];e=iv(t)|0;i=n[u>>2]|0;rv(b,Z,B);n[t>>2]=n[b>>2];n[t+4>>2]=n[b+4>>2];n[t+8>>2]=n[b+8>>2];n[t+12>>2]=n[b+12>>2];Z=iv(t)|0;e=Z-(n[c>>2]|0)+(i-e)|0;i=(e|0)>-1;e=i?e:0-e|0;i=(i^1)&1;if((e|0)<=(a|0))if((e|0)==(a|0)){Z=(n[A+1844+(i<<2)>>2]|0)<(n[A+1844+(f<<2)>>2]|0);e=a;i=Z?i:f;r=Z?l:r}else{e=a;i=f}else r=l}else{e=a;i=f}a=e;l=l+1|0;f=i}bv(A,r,f)}if((w|0)==12){e=(i|0)>=(65-(n[h>>2]|0)|0)&1;i=0;while(1){if((i|0)==65)break;if(!(n[A+1584+(i<<2)>>2]|0))bv(A,i,e);i=i+1|0}i=n[k>>2]|0;e=n[d>>2]|0}if((e+i|0)!=65)BA(123857,123692,210,123943);Z=n[h>>2]|0;if((i|0)<(Z|0)|(e|0)<(Z|0))BA(123954,123692,212,123943);else{v=g;return}}function tv(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;if(!e)BA(123690,123692,297,123754);if(!i)BA(123764,123692,298,123754);if(!r)BA(123766,123692,299,123754);else f=0;while(1){if((f|0)>=65){r=14;break}r=n[A+1324+(f<<2)>>2]|0;if(r>>>0>=2){r=9;break}switch(r|0){case 0:{qu(A,A+4+(f*20|0)|0,e,0)|0;break}case 1:{qu(A,A+4+(f*20|0)|0,i,0)|0;break}default:{}}f=f+1|0}if((r|0)==9)BA(123768,123692,303,123754);else if((r|0)==14)return}function cv(A){A=A|0;var e=0,i=0,r=0,f=0;i=v;v=v+16|0;r=i;n[A+1848>>2]=0;n[A+1844>>2]=0;e=A+1852|0;f=A+1868|0;ev(r);n[f>>2]=n[r>>2];n[f+4>>2]=n[r+4>>2];n[f+8>>2]=n[r+8>>2];n[f+12>>2]=n[r+12>>2];n[e>>2]=n[r>>2];n[e+4>>2]=n[r+4>>2];n[e+8>>2]=n[r+8>>2];n[e+12>>2]=n[r+12>>2];n[A+1888>>2]=0;n[A+1884>>2]=0;e=0;while(1){if((e|0)==65)break;n[A+1584+(e<<2)>>2]=0;n[A+1324+(e<<2)>>2]=-1;e=e+1|0}v=i;return}function sv(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0;u=v;v=v+304|0;s=u+32|0;b=u+16|0;o=u;e=0;while(1){if((e|0)==65)break;n[s+(e<<2)>>2]=iv(A+4+(e*20|0)|0)|0;e=e+1|0}e=0;i=0;r=0;a=0;A:while(1){if((a|0)==64)break;t=a+1|0;c=A+4+(a*20|0)|0;l=s+(a<<2)|0;f=t;while(1){if((f|0)==65){a=t;continue A}rv(o,c,A+4+(f*20|0)|0);n[b>>2]=n[o>>2];n[b+4>>2]=n[o+4>>2];n[b+8>>2]=n[o+8>>2];n[b+12>>2]=n[o+12>>2];B=iv(b)|0;B=B-(n[l>>2]|0)-(n[s+(f<<2)>>2]|0)|0;k=B>>>0>r>>>0;w=k?f:e;f=f+1|0;e=w;i=k?a:i;r=k?B:r}}bv(A,i,0);bv(A,e,1);v=u;return}function bv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0;t=v;v=v+16|0;l=t;r=A+1584+(e<<2)|0;if(n[r>>2]|0)BA(124057,123692,257,124092);n[A+1324+(e<<2)>>2]=i;n[r>>2]=1;a=A+1844+(i<<2)|0;f=A+1852+(i<<4)|0;r=A+4+(e*20|0)|0;if(!(n[a>>2]|0)){n[f>>2]=n[r>>2];n[f+4>>2]=n[r+4>>2];n[f+8>>2]=n[r+8>>2];n[f+12>>2]=n[r+12>>2]}else{rv(l,r,f);n[f>>2]=n[l>>2];n[f+4>>2]=n[l+4>>2];n[f+8>>2]=n[l+8>>2];n[f+12>>2]=n[l+12>>2]}n[A+1884+(i<<2)>>2]=iv(f)|0;n[a>>2]=(n[a>>2]|0)+1;v=t;return}function ov(){var A=0,e=0,i=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0;h=v;v=v+1200|0;w=h+800|0;i=h;n[42439]=0;n[42440]=-2;e=w;t=200;o=i;B=0;k=0;u=w;A:while(1){f[u>>1]=B;if((e+(t<<1)+-2|0)>>>0>u>>>0)s=t;else{b=u-e>>1;A=b+1|0;if(t>>>0>9999){d=95;break}s=t<<1;s=s>>>0<1e4?s:1e4;l=NN(s*6|3)|0;if(l){QH(l|0,e|0,A<<1|0)|0;t=l+(s>>>1<<2)|0;QH(t|0,o|0,A<<2|0)|0;if((e|0)==(w|0)){A=0;e=l}else{zN(e);A=0;e=l}}else{A=4;t=o}c=(A|0)==0;l=e+(b<<1)|0;switch((c?(e+(s<<1)+-2|0)>>>0>l>>>0?0:9:A)&15){case 9:{A=1;d=96;break A}case 4:{d=95;break A}case 0:{i=c?t+(b<<2)|0:i;o=t;u=c?l:u;break}default:{A=0;break A}}}if((B|0)==31){A=0;d=96;break}A=f[58358+(B<<1)>>1]|0;c=A<<16>>16;do{if(A<<16>>16!=-82){l=n[42440]|0;if((l|0)==-2){l=Rv()|0;n[42440]=l}if((l|0)>=1)if(l>>>0<296)t=a[124132+l>>0]|0;else t=2;else{n[42440]=0;t=0}l=t+c|0;if(l>>>0<=271?(t|0)==(r[124428+l>>0]|0):0){B=r[124700+l>>0]|0;A=B<<24>>24;if(B<<24>>24<1){l=0-A|0;d=23;break}else{n[42440]=-2;i=i+4|0;n[i>>2]=0;c=(k|0)==0?0:k+-1|0;l=u;break}}else d=22}else d=22}while(0);if((d|0)==22){d=0;B=r[124972+B>>0]|0;l=B&255;if(!(B<<24>>24)){l=n[42440]|0;e:do{switch(k|0){case 0:{n[42439]=(n[42439]|0)+1;Jv(125369);l=u;break}case 3:if((l|0)<1)if(!l){A=1;d=96;break A}else{l=u;break e}else{n[42440]=-2;l=u;break e}default:l=u}}while(0);while(1){if(A<<16>>16==8)break;if((l|0)==(e|0)){A=1;d=96;break A}A=l+-2|0;i=i+-4|0;l=A;A=f[58358+(f[A>>1]<<1)>>1]|0}i=i+4|0;n[i>>2]=0;A=1;c=3}else d=23}do{if((d|0)==23){d=0;c=a[125088+l>>0]|0;A=n[i+(1-c<<2)>>2]|0;do{switch(l|0){case 4:{d=26;break A}case 2:{n[42441]=uv(n[i+-4>>2]|0,2)|0;break}case 3:{n[42441]=uv(n[i+-4>>2]|0,1)|0;break}case 5:{A=Bv()|0;break}case 8:{kv(n[42442]|0);break}case 9:{wv(n[i>>2]|0);break}case 18:{dv(n[i>>2]|0);break}case 19:{hv();break}case 20:{dv(n[i>>2]|0);break}case 21:{hv();break}case 22:{dv(n[i>>2]|0);break}case 23:{hv();break}case 24:{dv(n[i>>2]|0);break}case 25:{hv();break}case 26:{dv(n[i>>2]|0);break}case 27:{hv();break}case 28:{dv(n[i>>2]|0);break}case 29:{hv();break}case 30:{dv(n[i>>2]|0);break}case 31:{hv();break}case 32:{dv(n[i>>2]|0);break}case 33:{hv();break}case 34:{A=n[i+-4>>2]|0;break}case 35:{A=n[i>>2]|0;break}case 38:{A=n[42442]|0;t=n[A+4>>2]|0;if(t>>>0>=(n[A+8>>2]|0)>>>0){Qy(A,1)|0;t=n[42442]|0;A=t;t=n[t+4>>2]|0}r[t>>0]=0;B=n[A>>2]|0;n[A+4>>2]=B;if(gv(B)|0){d=51;break A}n[(n[i>>2]|0)+80>>2]=n[42443];A=oy(55016,n[4344]|0)|0;n[(n[i>>2]|0)+84>>2]=A;n[42443]=n[i>>2];n[(n[i>>2]|0)+108>>2]=n[n[42444]>>2];A=n[i>>2]|0;break}case 39:{A=n[42442]|0;t=n[A+4>>2]|0;if(t>>>0>=(n[A+8>>2]|0)>>>0){Qy(A,1)|0;t=n[42442]|0;A=t;t=n[t+4>>2]|0}r[t>>0]=0;B=n[A>>2]|0;n[A+4>>2]=B;if(gv(B)|0){d=56;break A}A=n[42443]|0;n[42443]=n[A+80>>2];break}case 40:{A=n[i>>2]|0;break}case 41:{A=n[i+-4>>2]|0;break}case 42:{A=n[i+-4>>2]|0;break}case 43:{A=n[i+-4>>2]|0;break}case 44:{A=n[i+-4>>2]|0;break}case 45:{A=n[i+-4>>2]|0;break}case 48:{A=n[i>>2]|0;break}case 49:{A=n[i>>2]|0;break}case 50:{r[(n[i+-8>>2]|0)+12>>0]=1;A=n[i>>2]|0;break}case 51:{Zv();break}case 52:{A=Gv()|0;break}case 53:{A=n[i>>2]|0;break}case 54:{A=n[i>>2]|0;break}case 55:{A=(n[i+-8>>2]|0)+100|0;r[A>>0]=r[A>>0]|1;A=n[i>>2]|0;break}case 56:{mv(n[i+-4>>2]|0,n[i>>2]|0,1);break}case 57:{A=n[i+-12>>2]|0;break}case 58:{mv(n[i+-4>>2]|0,n[i>>2]|0,2);break}case 59:{A=n[i+-12>>2]|0;break}case 60:{mv(n[i+-4>>2]|0,n[i>>2]|0,3);break}case 61:{A=n[i+-12>>2]|0;break}case 62:{mv(n[i>>2]|0,Bv()|0,2);break}case 63:{A=n[i+-8>>2]|0;break}case 64:{A=n[i+-4>>2]|0;break}case 65:{A=n[i>>2]|0;break}default:{}}}while(0);t=0-c|0;B=i+(t<<2)|0;t=u+(t<<1)|0;i=B+4|0;n[B+4>>2]=A;A=(a[125260+l>>0]|0)+-41|0;B=f[t>>1]|0;l=B+(f[58590+(A<<1)>>1]|0)|0;if(l>>>0<272?(r[124428+l>>0]|0)==(B|0):0){A=r[124700+l>>0]|0;c=k;l=t;break}A=r[125330+A>>0]|0;c=k;l=t}}while(0);t=s;B=A;k=c;u=l+2|0}if((d|0)==26){vv();A=1;d=96}else if((d|0)==51){Jv(125158);vv();A=1;d=96}else if((d|0)==56){Jv(125209);vv();A=1;d=96}else if((d|0)==95){Jv(125382);A=2;d=96}if((d|0)==96)if((e|0)!=(w|0))zN(e);v=h;return A|0}function uv(A,e){A=A|0;e=e|0;var i=0;i=Jg(8)|0;r[i+4>>0]=e;n[i>>2]=A;return i|0}function vv(){var A=0,e=0;A=n[42443]|0;e=n[42441]|0;if(e|0){ao(e,1);n[42441]=0}n[13767]=62;while(1){if(!A)break;e=n[A+80>>2]|0;Qv(A);A=e}n[13767]=51;n[13776]=63;e=n[42446]|0;kF[n[e>>2]&31](e,0,64)|0;n[13776]=51;n[13785]=64;e=n[42447]|0;kF[n[e>>2]&31](e,0,64)|0;n[13785]=51;Yv();return}function Bv(){var A=0,e=0,i=0,r=0,a=0,l=0;i=n[42447]|0;r=Jg(40)|0;if(vy(n[42446]|0)|0)wv(0);A=vy(i)|0;f[r+4>>1]=A;A:do{if(!A)A=i;else{n[r>>2]=Jg(A*24|0)|0;A=0;e=kF[n[i>>2]&31](i,0,128)|0;while(1){if(!e){A=i;break A}a=(n[r>>2]|0)+(A*24|0)|0;l=e+8|0;n[a>>2]=n[l>>2];n[a+4>>2]=n[l+4>>2];n[a+8>>2]=n[l+8>>2];n[a+12>>2]=n[l+12>>2];n[a+16>>2]=n[l+16>>2];n[a+20>>2]=n[l+20>>2];A=A+1|0;e=kF[n[i>>2]&31](i,e,8)|0}}}while(0);kF[n[A>>2]&31](i,0,64)|0;return r|0}function kv(A){A=A|0;var e=0,i=0,f=0;i=Jg(64)|0;f=A+4|0;e=n[f>>2]|0;if(e>>>0>=(n[A+8>>2]|0)>>>0){Qy(A,1)|0;e=n[f>>2]|0}r[e>>0]=0;A=n[A>>2]|0;n[f>>2]=A;n[i+8>>2]=vR(A)|0;n[i+12>>2]=n[n[42444]>>2];f=n[42446]|0;kF[n[f>>2]&31](f,i,1)|0;return}function wv(A){A=A|0;var e=0,i=0,a=0,l=0,t=0,c=0,s=0;t=Jg(32)|0;c=n[42446]|0;e=vy(c)|0;s=t+8|0;r[t+14>>0]=A;A:do{if(!e){n[s>>2]=Jg(56)|0;f[t+12>>1]=1;l=vR(174177)|0;s=n[s>>2]|0;n[s>>2]=l;n[s+4>>2]=n[n[42444]>>2]}else{f[t+12>>1]=e;n[s>>2]=Jg(e*56|0)|0;A=0;e=sy(c)|0;while(1){if(!e)break A;i=(n[s>>2]|0)+(A*56|0)|0;a=e+8|0;l=i+56|0;do{n[i>>2]=n[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(l|0));A=A+1|0;e=n[e>>2]|0}}}while(0);kF[n[c>>2]&31](c,0,64)|0;s=n[42447]|0;kF[n[s>>2]&31](s,t,1)|0;return}function dv(A){A=A|0;var e=0,i=0.0,r=0,f=0,a=0,l=0,t=0;t=v;v=v+32|0;a=t;l=Jg(8)|0;f=n[n[42444]>>2]|0;n[a>>2]=n[A>>2];n[a+4>>2]=n[A+4>>2];n[a+8>>2]=n[A+8>>2];n[a+12>>2]=n[A+12>>2];n[a+16>>2]=n[A+16>>2];n[a+20>>2]=n[A+20>>2];n[a+24>>2]=n[A+24>>2];n[a+28>>2]=n[A+28>>2];if(f|0){A=a+4|0;if((n[A>>2]|0)==0?(e=n[f+4>>2]|0,e|0):0)n[A>>2]=e;A=a+16|0;if(+s[A>>3]<0.0?(i=+s[f+16>>3],i>=0.0):0)s[A>>3]=i;if((n[a>>2]|0)==0?(r=n[f>>2]|0,r|0):0)n[a>>2]=r;A=n[f+24>>2]&127;if(A|0){f=a+24|0;r=n[f>>2]|0;n[f>>2]=r&127|A|r&-128}}f=n[(n[42445]|0)+144>>2]|0;n[l>>2]=kF[n[f>>2]&31](f,a,1)|0;n[l+4>>2]=n[42444];n[42444]=l;v=t;return}function hv(){var A=0,e=0;e=n[42444]|0;A=n[e+4>>2]|0;zN(e);n[42444]=A;return}function gv(A){A=A|0;var e=0;while(1){e=r[A>>0]|0;if(!(e<<24>>24)){A=0;break}if(e<<24>>24==32)A=A+1|0;else{A=1;break}}return A|0}function Zv(){var A=0,e=0,i=0;i=oy(55052,n[4344]|0)|0;A=n[42443]|0;e=Jg(16)|0;n[e+8>>2]=i;if(r[A+112>>0]&2)r[e+12>>0]=1;i=n[A+84>>2]|0;kF[n[i>>2]&31](i,e,1)|0;return}function Gv(){var A=0;A=n[(n[42443]|0)+84>>2]|0;return kF[n[A>>2]&31](A,0,256)|0}function mv(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0;a=Jg(16)|0;f=n[42443]|0;l=n[f+84>>2]|0;l=n[(kF[n[l>>2]&31](l,0,256)|0)+8>>2]|0;n[a+8>>2]=A;kF[n[l>>2]&31](l,a,1)|0;r[A+92>>0]=i;if(r[f+112>>0]&1)r[A+100>>0]=1;n[A+88>>2]=e;return}function Iv(A,e,i){A=A|0;e=e|0;i=i|0;zN(e);return}function Cv(A,e,i){A=A|0;e=e|0;i=i|0;ay(n[e+8>>2]|0)|0;zN(e);return}function Mv(A,e,i){A=A|0;e=e|0;i=i|0;Vv(n[e+8>>2]|0);zN(e);return}function Qv(A){A=A|0;ay(n[A+84>>2]|0)|0;ro(A);zN(A);return}function Ev(A,e,i){A=A|0;e=e|0;i=i|0;zN(n[e+8>>2]|0);zN(e);return}function yv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,a=0,l=0;a=e+12|0;A=f[a>>1]|0;if(A<<16>>16){l=e+8|0;i=0;r=n[l>>2]|0;while(1){if((i|0)>=(A<<16>>16|0))break;zN(n[r>>2]|0);i=i+1|0;r=r+56|0;A=f[a>>1]|0}zN(n[l>>2]|0)}zN(e);return}function Yv(){var A=0,e=0;A=n[42444]|0;while(1){e=n[A+4>>2]|0;if(!e)break;zN(A);A=e}return}function Vv(A){A=A|0;var e=0;e=A+88|0;switch(r[A+92>>0]|0){case 1:{Qv(n[e>>2]|0);break}case 2:{fo(n[e>>2]|0);break}default:{}}ro(A);zN(A);return}function Wv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;f=v;v=v+160|0;r=f+8|0;a=f;n[a>>2]=0;n[a+4>>2]=0;n[42444]=a;n[42443]=0;n[42441]=0;n[42445]=n[(n[(n[i+52>>2]|0)+16>>2]|0)+144>>2];n[42446]=oy(55088,n[4344]|0)|0;n[42447]=oy(55124,n[4344]|0)|0;My(r,128,f+24|0);n[42442]=r;if(!(zv(A,r,i)|0)){ov()|0;n[e>>2]=pv()|0;A=n[42441]|0}else{n[e>>2]=2;A=0}ay(n[42446]|0)|0;ay(n[42447]|0)|0;n[42446]=0;n[42447]=0;n[42444]=0;Yy(r);v=f;return A|0}function Jv(A){A=A|0;var e=0,i=0;i=v;v=v+16|0;e=i;if(!(r[169792]|0)){r[169792]=1;n[e>>2]=A;n[e+4>>2]=0;Gy(1,125399,e)|0;Nv()}else{v=i;return}}function Nv(){SA()}function zv(A,e,i){A=A|0;e=e|0;i=i|0;A=v;v=v+16|0;if(!(n[42449]|0)){Gy(0,125415,A)|0;n[42449]=(n[42449]|0)+1}v=A;return 1}function pv(){return 1}function Rv(){return-1}function Pv(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,h=0,g=0;g=v;v=v+64|0;b=g+48|0;s=g+32|0;k=4;c=NN(40)|0;n[c>>2]=0;o=g+16|0;u=g;B=n[i>>2]|0;t=n[i+4>>2]|0;k=CH(169800,1,c|0,k|0)|0;c=E;w=0;i=w;w=0;if((i|0)!=0&(d|0)!=0){a=MH(n[i>>2]|0,k|0,c|0)|0;if(!a)OA(i|0,d|0);E=d}else a=-1;if((a|0)==1)i=E;else i=0;while(1){if(i|0){i=-1;break}w=0;n[b>>2]=n[r>>2];n[b+4>>2]=n[r+4>>2];n[b+8>>2]=n[r+8>>2];n[b+12>>2]=n[r+12>>2];cA(26,o|0,b|0);i=w;w=0;if((i|0)!=0&(d|0)!=0){a=MH(n[i>>2]|0,k|0,c|0)|0;if(!a)OA(i|0,d|0);E=d}else a=-1;if((a|0)==1){i=E;continue}n[r>>2]=n[o>>2];n[r+4>>2]=n[o+4>>2];n[r+8>>2]=n[o+8>>2];n[r+12>>2]=n[o+12>>2];l=r+16|0;w=0;n[b>>2]=n[l>>2];n[b+4>>2]=n[l+4>>2];n[b+8>>2]=n[l+8>>2];n[b+12>>2]=n[l+12>>2];cA(26,u|0,b|0);i=w;w=0;if((i|0)!=0&(d|0)!=0){a=MH(n[i>>2]|0,k|0,c|0)|0;if(!a)OA(i|0,d|0);E=d}else a=-1;if((a|0)==1){i=E;continue}n[l>>2]=n[u>>2];n[l+4>>2]=n[u+4>>2];n[l+8>>2]=n[u+8>>2];n[l+12>>2]=n[u+12>>2];n[42489]=0;w=0;tA(93,4);i=w;w=0;if((i|0)!=0&(d|0)!=0){a=MH(n[i>>2]|0,k|0,c|0)|0;if(!a)OA(i|0,d|0);E=d}else a=-1;if((a|0)==1){i=E;continue}a=n[42490]|0;i=n[42489]|0;n[42489]=i+1;i=a+(i<<4)|0;n[i>>2]=n[B>>2];n[i+4>>2]=n[B+4>>2];n[i+8>>2]=n[B+8>>2];n[i+12>>2]=n[B+12>>2];w=0;n[s>>2]=n[r>>2];n[s+4>>2]=n[r+4>>2];n[s+8>>2]=n[r+8>>2];n[s+12>>2]=n[r+12>>2];n[b>>2]=n[l>>2];n[b+4>>2]=n[l+4>>2];n[b+8>>2]=n[l+8>>2];n[b+12>>2]=n[l+12>>2];i=aA(1,A|0,e|0,B|0,t|0,s|0,b|0)|0;a=w;w=0;if((a|0)!=0&(d|0)!=0){l=MH(n[a>>2]|0,k|0,c|0)|0;if(!l)OA(a|0,d|0);E=d}else l=-1;if((l|0)==1)i=E;else{h=8;break}}if((h|0)==8)if((i|0)==-1)i=-1;else{n[f+4>>2]=n[42489];n[f>>2]=n[42490];i=0}zN(k|0);v=g;return i|0}function Hv(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,a=0.0,l=0.0;i=+s[e>>3];r=e+8|0;f=+s[r>>3];l=f*f+i*i;a=+V(+l);if(l>1.0e-06){s[e>>3]=i/a;s[r>>3]=f/a}n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];return}function Fv(A){A=A|0;var e=0,i=0,r=0,f=0;f=v;v=v+32|0;r=f+16|0;i=f;if((n[42493]|0)<(A|0)){e=n[42490]|0;if(!e){r=NN(A<<4)|0;n[42490]=r;if(!r){r=n[13918]|0;n[i>>2]=125476;n[i+4>>2]=531;n[i+8>>2]=125611;lR(r,125484,i)|0;OA(169800,1)}}else{i=RN(e,A<<4)|0;n[42490]=i;if(!i){i=n[13918]|0;n[r>>2]=125476;n[r+4>>2]=537;n[r+8>>2]=125629;lR(i,125484,r)|0;OA(169800,1)}}n[42493]=A}v=f;return}function Lv(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0.0,c=0,b=0.0,o=0,u=0.0,B=0.0,k=0,w=0.0,d=0.0,h=0.0,g=0.0,Z=0.0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0,X=0,T=0,x=0.0,U=0.0,j=0.0,S=0.0;X=v;v=v+336|0;z=X+320|0;N=X+304|0;G=X+144|0;k=X+128|0;W=X+112|0;J=X+96|0;D=X+80|0;M=X+64|0;E=X+48|0;p=X+32|0;R=X+16|0;P=X;m=X+288|0;I=X+272|0;C=X+256|0;Q=X+240|0;y=X+224|0;Y=X+208|0;H=X+192|0;F=X+176|0;L=X+160|0;l=n[42492]|0;do{if((n[42491]|0)<(r|0)){if(!l){l=NN(r*40|0)|0;n[42492]=l;if(!l){l=-1;break}}else{l=RN(l,r*40|0)|0;n[42492]=l;if(!l){l=-1;break}}n[42491]=r;c=6}else c=6}while(0);if((c|0)==6){s[l>>3]=0.0;c=1;t=0.0;while(1){if((c|0)>=(r|0))break;o=i+(c<<4)|0;V=i+(c+-1<<4)|0;n[N>>2]=n[o>>2];n[N+4>>2]=n[o+4>>2];n[N+8>>2]=n[o+8>>2];n[N+12>>2]=n[o+12>>2];n[z>>2]=n[V>>2];n[z+4>>2]=n[V+4>>2];n[z+8>>2]=n[V+8>>2];n[z+12>>2]=n[V+12>>2];Z=+Dv(N,z)+t;s[l+(c*40|0)>>3]=Z;c=c+1|0;t=Z}V=r+-1|0;o=l+(V*40|0)|0;c=1;while(1){if((c|0)>=(r|0))break;T=l+(c*40|0)|0;s[T>>3]=+s[T>>3]/+s[o>>3];c=c+1|0}c=0;while(1){if((c|0)>=(r|0))break;T=l+(c*40|0)+8|0;o=l+(c*40|0)|0;Z=+Xv(+s[o>>3]);n[z>>2]=n[f>>2];n[z+4>>2]=n[f+4>>2];n[z+8>>2]=n[f+8>>2];n[z+12>>2]=n[f+12>>2];Tv(m,z,Z);n[T>>2]=n[m>>2];n[T+4>>2]=n[m+4>>2];n[T+8>>2]=n[m+8>>2];n[T+12>>2]=n[m+12>>2];T=l+(c*40|0)+24|0;Z=+xv(+s[o>>3]);n[z>>2]=n[a>>2];n[z+4>>2]=n[a+4>>2];n[z+8>>2]=n[a+8>>2];n[z+12>>2]=n[a+12>>2];Tv(I,z,Z);n[T>>2]=n[I>>2];n[T+4>>2]=n[I+4>>2];n[T+8>>2]=n[I+8>>2];n[T+12>>2]=n[I+12>>2];c=c+1|0}n[N>>2]=n[f>>2];n[N+4>>2]=n[f+4>>2];n[N+8>>2]=n[f+8>>2];n[N+12>>2]=n[f+12>>2];n[z>>2]=n[a>>2];n[z+4>>2]=n[a+4>>2];n[z+8>>2]=n[a+8>>2];n[z+12>>2]=n[a+12>>2];Uv(i,r,l,N,z,W,M,J,E);n[k>>2]=n[W>>2];n[k+4>>2]=n[W+4>>2];n[k+8>>2]=n[W+8>>2];n[k+12>>2]=n[W+12>>2];n[G>>2]=n[M>>2];n[G+4>>2]=n[M+4>>2];n[G+8>>2]=n[M+8>>2];n[G+12>>2]=n[M+12>>2];n[N>>2]=n[J>>2];n[N+4>>2]=n[J+4>>2];n[N+8>>2]=n[J+8>>2];n[N+12>>2]=n[J+12>>2];n[z>>2]=n[E>>2];n[z+4>>2]=n[E+4>>2];n[z+8>>2]=n[E+8>>2];n[z+12>>2]=n[E+12>>2];if(!(jv(A,e,k,G,N,z,i,r)|0)){n[z>>2]=n[M>>2];n[z+4>>2]=n[M+4>>2];n[z+8>>2]=n[M+8>>2];n[z+12>>2]=n[M+12>>2];Tv(C,z,.3333333333333333);n[N>>2]=n[W>>2];n[N+4>>2]=n[W+4>>2];n[N+8>>2]=n[W+8>>2];n[N+12>>2]=n[W+12>>2];n[z>>2]=n[C>>2];n[z+4>>2]=n[C+4>>2];n[z+8>>2]=n[C+8>>2];n[z+12>>2]=n[C+12>>2];Sv(Q,N,z);Z=+s[Q>>3];g=+s[Q+8>>3];n[z>>2]=n[E>>2];n[z+4>>2]=n[E+4>>2];n[z+8>>2]=n[E+8>>2];n[z+12>>2]=n[E+12>>2];Tv(y,z,.3333333333333333);n[N>>2]=n[J>>2];n[N+4>>2]=n[J+4>>2];n[N+8>>2]=n[J+8>>2];n[N+12>>2]=n[J+12>>2];n[z>>2]=n[y>>2];n[z+4>>2]=n[y+4>>2];n[z+8>>2]=n[y+8>>2];n[z+12>>2]=n[y+12>>2];Ov(Y,N,z);h=+s[Y>>3];B=+s[Y+8>>3];k=n[42492]|0;w=+s[W>>3];d=+s[J>>3];u=+s[W+8>>3];b=+s[J+8>>3];o=D+8|0;l=-1;t=-1.0;c=1;while(1){if((c|0)>=(V|0))break;x=+s[k+(c*40|0)>>3];U=+Kv(x);j=+Xv(x);S=+xv(x);x=+_v(x);s[D>>3]=j*Z+w*U+S*h+d*x;s[o>>3]=S*B+j*g+u*U+b*x;T=i+(c<<4)|0;n[N>>2]=n[D>>2];n[N+4>>2]=n[D+4>>2];n[N+8>>2]=n[D+8>>2];n[N+12>>2]=n[D+12>>2];n[z>>2]=n[T>>2];n[z+4>>2]=n[T+4>>2];n[z+8>>2]=n[T+8>>2];n[z+12>>2]=n[T+12>>2];x=+Dv(N,z);T=x>t;l=T?c:l;t=T?x:t;c=c+1|0}T=i+(l<<4)|0;D=i+(l+-1<<4)|0;n[N>>2]=n[T>>2];n[N+4>>2]=n[T+4>>2];n[N+8>>2]=n[T+8>>2];n[N+12>>2]=n[T+12>>2];n[z>>2]=n[D>>2];n[z+4>>2]=n[D+4>>2];n[z+8>>2]=n[D+8>>2];n[z+12>>2]=n[D+12>>2];Ov(H,N,z);n[z>>2]=n[H>>2];n[z+4>>2]=n[H+4>>2];n[z+8>>2]=n[H+8>>2];n[z+12>>2]=n[H+12>>2];Hv(R,z);D=l+1|0;H=i+(D<<4)|0;n[N>>2]=n[H>>2];n[N+4>>2]=n[H+4>>2];n[N+8>>2]=n[H+8>>2];n[N+12>>2]=n[H+12>>2];n[z>>2]=n[T>>2];n[z+4>>2]=n[T+4>>2];n[z+8>>2]=n[T+8>>2];n[z+12>>2]=n[T+12>>2];Ov(F,N,z);n[z>>2]=n[F>>2];n[z+4>>2]=n[F+4>>2];n[z+8>>2]=n[F+8>>2];n[z+12>>2]=n[F+12>>2];Hv(P,z);n[N>>2]=n[R>>2];n[N+4>>2]=n[R+4>>2];n[N+8>>2]=n[R+8>>2];n[N+12>>2]=n[R+12>>2];n[z>>2]=n[P>>2];n[z+4>>2]=n[P+4>>2];n[z+8>>2]=n[P+8>>2];n[z+12>>2]=n[P+12>>2];Sv(L,N,z);n[z>>2]=n[L>>2];n[z+4>>2]=n[L+4>>2];n[z+8>>2]=n[L+8>>2];n[z+12>>2]=n[L+12>>2];Hv(p,z);n[N>>2]=n[f>>2];n[N+4>>2]=n[f+4>>2];n[N+8>>2]=n[f+8>>2];n[N+12>>2]=n[f+12>>2];n[z>>2]=n[p>>2];n[z+4>>2]=n[p+4>>2];n[z+8>>2]=n[p+8>>2];n[z+12>>2]=n[p+12>>2];Lv(A,e,i,D,N,z)|0;n[N>>2]=n[p>>2];n[N+4>>2]=n[p+4>>2];n[N+8>>2]=n[p+8>>2];n[N+12>>2]=n[p+12>>2];n[z>>2]=n[a>>2];n[z+4>>2]=n[a+4>>2];n[z+8>>2]=n[a+8>>2];n[z+12>>2]=n[a+12>>2];Lv(A,e,T,r-l|0,N,z)|0;l=0}else l=0}v=X;return l|0}function Dv(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+s[e>>3]-+s[A>>3];r=+s[e+8>>3]-+s[A+8>>3];return+ +V(+(r*r+i*i))}function Xv(A){A=+A;var e=0.0;e=1.0-A;return+(e*e*(A*3.0))}function Tv(A,e,i){A=A|0;e=e|0;i=+i;var r=0;s[e>>3]=+s[e>>3]*i;r=e+8|0;s[r>>3]=+s[r>>3]*i;n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];return}function xv(A){A=+A;return+(A*A*3.0*(1.0-A))}function Uv(A,e,i,r,f,a,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;l=l|0;t=t|0;c=c|0;var b=0.0,o=0.0,u=0.0,B=0.0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0.0,m=0.0,I=0.0,C=0.0,M=0.0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0.0,N=0.0,z=0,p=0,R=0,P=0;W=v;v=v+128|0;Q=W+112|0;Z=W+80|0;g=W;w=W+96|0;d=W+64|0;h=W+48|0;E=W+32|0;y=W+16|0;Y=A+(e+-1<<4)|0;k=0;G=0.0;m=0.0;I=0.0;C=0.0;M=0.0;while(1){if((k|0)>=(e|0))break;p=i+(k*40|0)+8|0;n[Z>>2]=n[p>>2];n[Z+4>>2]=n[p+4>>2];n[Z+8>>2]=n[p+8>>2];n[Z+12>>2]=n[p+12>>2];n[Q>>2]=n[p>>2];n[Q+4>>2]=n[p+4>>2];n[Q+8>>2]=n[p+8>>2];n[Q+12>>2]=n[p+12>>2];J=+rB(Z,Q)+m;z=i+(k*40|0)+24|0;n[Z>>2]=n[p>>2];n[Z+4>>2]=n[p+4>>2];n[Z+8>>2]=n[p+8>>2];n[Z+12>>2]=n[p+12>>2];n[Q>>2]=n[z>>2];n[Q+4>>2]=n[z+4>>2];n[Q+8>>2]=n[z+8>>2];n[Q+12>>2]=n[z+12>>2];B=+rB(Z,Q)+M;n[Z>>2]=n[z>>2];n[Z+4>>2]=n[z+4>>2];n[Z+8>>2]=n[z+8>>2];n[Z+12>>2]=n[z+12>>2];n[Q>>2]=n[z>>2];n[Q+4>>2]=n[z+4>>2];n[Q+8>>2]=n[z+8>>2];n[Q+12>>2]=n[z+12>>2];u=+rB(Z,Q)+I;R=A+(k<<4)|0;P=i+(k*40|0)|0;N=+fB(+s[P>>3]);n[Q>>2]=n[A>>2];n[Q+4>>2]=n[A+4>>2];n[Q+8>>2]=n[A+8>>2];n[Q+12>>2]=n[A+12>>2];Tv(d,Q,N);N=+nB(+s[P>>3]);n[Q>>2]=n[Y>>2];n[Q+4>>2]=n[Y+4>>2];n[Q+8>>2]=n[Y+8>>2];n[Q+12>>2]=n[Y+12>>2];Tv(h,Q,N);n[Z>>2]=n[d>>2];n[Z+4>>2]=n[d+4>>2];n[Z+8>>2]=n[d+8>>2];n[Z+12>>2]=n[d+12>>2];n[Q>>2]=n[h>>2];n[Q+4>>2]=n[h+4>>2];n[Q+8>>2]=n[h+8>>2];n[Q+12>>2]=n[h+12>>2];Sv(w,Z,Q);n[Z>>2]=n[R>>2];n[Z+4>>2]=n[R+4>>2];n[Z+8>>2]=n[R+8>>2];n[Z+12>>2]=n[R+12>>2];n[Q>>2]=n[w>>2];n[Q+4>>2]=n[w+4>>2];n[Q+8>>2]=n[w+8>>2];n[Q+12>>2]=n[w+12>>2];Ov(g,Z,Q);n[Z>>2]=n[p>>2];n[Z+4>>2]=n[p+4>>2];n[Z+8>>2]=n[p+8>>2];n[Z+12>>2]=n[p+12>>2];n[Q>>2]=n[g>>2];n[Q+4>>2]=n[g+4>>2];n[Q+8>>2]=n[g+8>>2];n[Q+12>>2]=n[g+12>>2];N=+rB(Z,Q)+G;n[Z>>2]=n[z>>2];n[Z+4>>2]=n[z+4>>2];n[Z+8>>2]=n[z+8>>2];n[Z+12>>2]=n[z+12>>2];n[Q>>2]=n[g>>2];n[Q+4>>2]=n[g+4>>2];n[Q+8>>2]=n[g+8>>2];n[Q+12>>2]=n[g+12>>2];k=k+1|0;G=N;m=J;I=u;C=+rB(Z,Q)+C;M=B}u=I*m-M*M;B=u>=0.0?u:-u;if(!(B>=1.0e-06?(b=(I*G-M*C)/u,o=(m*C-M*G)/u,!(B<1.0e-06|b<=0.0|o<=0.0)):0))V=6;if((V|0)==6){n[Z>>2]=n[A>>2];n[Z+4>>2]=n[A+4>>2];n[Z+8>>2]=n[A+8>>2];n[Z+12>>2]=n[A+12>>2];n[Q>>2]=n[Y>>2];n[Q+4>>2]=n[Y+4>>2];n[Q+8>>2]=n[Y+8>>2];n[Q+12>>2]=n[Y+12>>2];b=+Dv(Z,Q)*.3333333333333333;o=b}n[a>>2]=n[A>>2];n[a+4>>2]=n[A+4>>2];n[a+8>>2]=n[A+8>>2];n[a+12>>2]=n[A+12>>2];n[Q>>2]=n[r>>2];n[Q+4>>2]=n[r+4>>2];n[Q+8>>2]=n[r+8>>2];n[Q+12>>2]=n[r+12>>2];Tv(E,Q,b);n[l>>2]=n[E>>2];n[l+4>>2]=n[E+4>>2];n[l+8>>2]=n[E+8>>2];n[l+12>>2]=n[E+12>>2];n[t>>2]=n[Y>>2];n[t+4>>2]=n[Y+4>>2];n[t+8>>2]=n[Y+8>>2];n[t+12>>2]=n[Y+12>>2];n[Q>>2]=n[f>>2];n[Q+4>>2]=n[f+4>>2];n[Q+8>>2]=n[f+8>>2];n[Q+12>>2]=n[f+12>>2];Tv(y,Q,o);n[c>>2]=n[y>>2];n[c+4>>2]=n[y+4>>2];n[c+8>>2]=n[y+8>>2];n[c+12>>2]=n[y+12>>2];v=W;return}function jv(A,e,i,r,f,a,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;l=l|0;t=t|0;var c=0.0,b=0.0,o=0.0,u=0.0,B=0.0,k=0,w=0.0,d=0.0,h=0,g=0.0,Z=0,G=0.0,m=0,I=0.0,C=0,M=0,Q=0,E=0,y=0.0,Y=0;E=v;v=v+64|0;Q=E;C=(t|0)==2;I=+s[i>>3];g=+s[i+8>>3];Z=Q+8|0;G=+s[r>>3];m=Q+16|0;B=+s[r+8>>3];k=Q+24|0;w=+s[f>>3];d=+s[a>>3];h=Q+32|0;u=+s[f+8>>3];o=+s[a+8>>3];r=Q+40|0;f=Q+48|0;a=Q+56|0;i=1;c=4.0;b=4.0;while(1){s[Q>>3]=I;s[Z>>3]=g;y=b*.3333333333333333;s[m>>3]=y*G+I;s[k>>3]=y*B+g;y=c*.3333333333333333;s[h>>3]=w-y*d;s[r>>3]=u-y*o;s[f>>3]=w;s[a>>3]=u;if(i?(y=+qv(Q,4),y<+qv(l,t)+-.001):0){i=0;break}if($v(A,e,Q)|0){M=5;break}if(b==0.0&c==0.0){M=9;break}Y=b>.01;i=0;c=Y?c*.5:0.0;b=Y?b*.5:0.0}A:do{if((M|0)==5){Fv((n[42489]|0)+4|0);r=n[42490]|0;i=1;while(1){if((i|0)==4){i=1;break A}Y=n[42489]|0;s[r+(Y<<4)>>3]=+s[Q+(i<<4)>>3];y=+s[Q+(i<<4)+8>>3];n[42489]=Y+1;s[r+(Y<<4)+8>>3]=y;i=i+1|0}}else if((M|0)==9)if(C){Fv((n[42489]|0)+4|0);r=n[42490]|0;i=1;while(1){if((i|0)==4){i=1;break A}Y=n[42489]|0;s[r+(Y<<4)>>3]=+s[Q+(i<<4)>>3];y=+s[Q+(i<<4)+8>>3];n[42489]=Y+1;s[r+(Y<<4)+8>>3]=y;i=i+1|0}}else i=0}while(0);v=E;return i|0}function Sv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;s[e>>3]=+s[e>>3]+ +s[i>>3];r=e+8|0;s[r>>3]=+s[r>>3]+ +s[i+8>>3];n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];return}function Ov(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;s[e>>3]=+s[e>>3]-+s[i>>3];r=e+8|0;s[r>>3]=+s[r>>3]-+s[i+8>>3];n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];return}function Kv(A){A=+A;A=1.0-A;return+(A*A*A)}function _v(A){A=+A;return+(A*A*A)}function qv(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0.0,a=0;i=0.0;r=1;while(1){if((r|0)>=(e|0))break;a=r+-1|0;f=+s[A+(r<<4)>>3]-+s[A+(a<<4)>>3];n=+s[A+(r<<4)+8>>3]-+s[A+(a<<4)+8>>3];i=+V(+(n*n+f*f))+i;r=r+1|0}return+i}function $v(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0.0,B=0.0,k=0.0,w=0.0,d=0.0,h=0,g=0,Z=0.0,G=0,m=0.0,I=0,C=0,M=0,Q=0,E=0,y=0.0,Y=0.0;E=v;v=v+64|0;h=E+32|0;g=E;G=g+16|0;I=i+16|0;C=i+32|0;M=i+48|0;Q=i+8|0;a=i+24|0;l=i+40|0;t=i+56|0;c=g+8|0;b=g+24|0;f=0;A:while(1){if((f|0)>=(e|0)){r=1;break}o=A+(f<<5)|0;n[g>>2]=n[o>>2];n[g+4>>2]=n[o+4>>2];n[g+8>>2]=n[o+8>>2];n[g+12>>2]=n[o+12>>2];o=A+(f<<5)+16|0;n[G>>2]=n[o>>2];n[G+4>>2]=n[o+4>>2];n[G+8>>2]=n[o+8>>2];n[G+12>>2]=n[o+12>>2];o=AB(i,g,h)|0;e:do{if((o|0)!=4){u=+s[g>>3];B=+s[c>>3];k=+s[G>>3];w=+s[b>>3];r=0;while(1){if((r|0)>=(o|0))break e;d=+s[h+(r<<3)>>3];if((!(d<1.0e-06|d>.999999)?(m=d*d*d,Y=d*3.0,y=1.0-d,d=Y*d*y,Z=y*y,Y=Z*Y,y=Z*y,Z=+s[I>>3]*Y+ +s[i>>3]*y+ +s[C>>3]*d+ +s[M>>3]*m,m=+s[a>>3]*Y+ +s[Q>>3]*y+ +s[l>>3]*d+ +s[t>>3]*m,d=Z-u,y=m-B,!(y*y+d*d<.001)):0)?(Y=Z-k,y=m-w,!(y*y+Y*Y<.001)):0){r=0;break A}r=r+1|0}}}while(0);f=f+1|0}v=E;return r|0}function AB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0.0,l=0,t=0.0,c=0,b=0,o=0,u=0,B=0.0,k=0.0,w=0,d=0,h=0,g=0,Z=0;Z=v;v=v+96|0;d=Z+48|0;h=Z+24|0;c=Z;g=Z+80|0;B=+s[e>>3];a=+s[e+16>>3]-B;k=+s[e+8>>3];t=+s[e+24>>3]-k;n[g>>2]=0;A:do{if(!(a==0.0)){t=t/a;b=A+16|0;o=A+32|0;u=A+48|0;eB(+s[A+8>>3]-+s[A>>3]*t,+s[A+24>>3]-+s[b>>3]*t,+s[A+40>>3]-+s[o>>3]*t,+s[A+56>>3]-+s[u>>3]*t,d);s[d>>3]=t*B-k+ +s[d>>3];r=yN(d,h)|0;if((r|0)==4)e=4;else{f=d+8|0;l=d+16|0;c=d+24|0;a=1.0/a;e=0;while(1){if((e|0)>=(r|0))break;t=+s[h+(e<<3)>>3];if(t>=0.0&t<=1.0?(eB(+s[A>>3],+s[b>>3],+s[o>>3],+s[u>>3],d),k=(+s[d>>3]-B+((+s[c>>3]*t+ +s[l>>3])*t+ +s[f>>3])*t)*a,k>=0.0&k<=1.0):0)iB(t,i,g);e=e+1|0}e=n[g>>2]|0}}else{eB(+s[A>>3],+s[A+16>>3],+s[A+32>>3],+s[A+48>>3],d);s[d>>3]=+s[d>>3]-B;w=yN(d,h)|0;if(!(t==0.0)){if((w|0)==4){e=4;break}b=A+8|0;o=A+24|0;u=A+40|0;r=A+56|0;f=d+8|0;l=d+16|0;c=d+24|0;a=1.0/t;e=0;while(1){if((e|0)>=(w|0))break;t=+s[h+(e<<3)>>3];if(t>=0.0&t<=1.0?(eB(+s[b>>3],+s[o>>3],+s[u>>3],+s[r>>3],d),B=(+s[d>>3]-k+((+s[c>>3]*t+ +s[l>>3])*t+ +s[f>>3])*t)*a,B>=0.0&B<=1.0):0)iB(t,i,g);e=e+1|0}e=n[g>>2]|0;break}eB(+s[A+8>>3],+s[A+24>>3],+s[A+40>>3],+s[A+56>>3],d);s[d>>3]=+s[d>>3]-k;l=yN(d,c)|0;e=(l|0)==4;e:do{if((w|0)==4){if(e){e=4;break A}else e=0;while(1){if((e|0)>=(l|0))break e;iB(+s[c+(e<<3)>>3],i,g);e=e+1|0}}else{if(e){e=0;while(1){if((e|0)>=(w|0))break e;iB(+s[h+(e<<3)>>3],i,g);e=e+1|0}}else r=0;while(1){if((r|0)>=(w|0))break e;f=h+(r<<3)|0;e=0;while(1){if((e|0)>=(l|0))break;a=+s[f>>3];if(a==+s[c+(e<<3)>>3])iB(a,i,g);e=e+1|0}r=r+1|0}}}while(0);e=n[g>>2]|0}}while(0);v=Z;return e|0}function eB(A,e,i,r,f){A=+A;e=+e;i=+i;r=+r;f=f|0;s[f+24>>3]=r-A+(e-i)*3.0;s[f+16>>3]=(i+A)*3.0-e*6.0;s[f+8>>3]=(e-A)*3.0;s[f>>3]=A;return}function iB(A,e,i){A=+A;e=e|0;i=i|0;var r=0;if(A>=0.0&A<=1.0){r=n[i>>2]|0;s[e+(r<<3)>>3]=A;n[i>>2]=r+1}return}function rB(A,e){A=A|0;e=e|0;return+(+s[e+8>>3]*+s[A+8>>3]+ +s[e>>3]*+s[A>>3])}function fB(A){A=+A;var e=0.0;e=1.0-A;return+(e*e*(e+A*3.0))}function nB(A){A=+A;return+(A*A*((1.0-A)*3.0+A))}function aB(){var A=0;A=v;v=v+16|0;Gy(0,83093,A)|0;v=A;return}function lB(A){A=A|0;var e=0,i=0,f=0,a=0,l=0;a=(A|0)==2;e=(n[42039]|0)+24|0;while(1){e=n[e>>2]|0;if(!e)break;i=e+4|0;f=n[i>>2]|0;if(!((a?(r[f>>0]|0)==(r[83089]|0):0)?!(az(f,83089)|0):0)){l=Sy(n[n[42039]>>2]|0,A,f,0)|0;n[i>>2]=l;if(!l)n[i>>2]=Sy(n[n[42039]>>2]|0,A,f,174177)|0;n[e>>2]=266;mW(n[42038]|0,f)|0}e=e+12|0}return}function tB(A){A=A|0;cB(n[A>>2]|0);n[A+4>>2]=0;n[A>>2]=0;return}function cB(A){A=A|0;var e=0;while(1){if(!A)break;e=n[A+12>>2]|0;switch(n[A>>2]|0){case 265:{cB(n[A+4>>2]|0);break}case 266:case 267:{mW(n[42038]|0,n[A+8>>2]|0)|0;break}default:{}}gV(n[42038]|0,A);A=e}return}function sB(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0;l=v;v=v+1040|0;f=l;a=l+8|0;i=Az(A)|0;i=i+2+(Az(e)|0)|0;if(i>>>0<1025)r=a;else r=NN(i)|0;n[f>>2]=A;n[f+4>>2]=e;_p(r,83126,f)|0;i=ZW(n[42038]|0,r)|0;mW(n[42038]|0,A)|0;mW(n[42038]|0,e)|0;if((r|0)!=(a|0))zN(r);v=l;return i|0}function bB(A,e){A=A|0;e=e|0;return bN(259,A,e)|0}function oB(A){A=A|0;return bN(265,A,0)|0}function uB(A){A=A|0;return bN(262,A,0)|0}function vB(A){A=A|0;var e=0,i=0;e=(n[42039]|0)+24|0;while(1){e=n[e>>2]|0;if(!e)break;if((n[e>>2]|0)==266?(i=n[e+4>>2]|0,i|0):0)qy(A,i,n[e+8>>2]|0)|0;e=e+12|0}return}function BB(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=i+4|0;A:do{if((n[i>>2]|0)==262){i=n[f>>2]|0;f=CV(i)|0;while(1){if(!f)break A;kB(A,e,YV(n[n[42039]>>2]|0,f,0)|0,0,r);f=MV(i,f)|0}}else while(1){f=n[f>>2]|0;if(!f)break A;i=YV(n[n[42039]>>2]|0,n[f+4>>2]|0,0)|0;kB(A,e,i,n[f+8>>2]|0,r);f=f+12|0}}while(0);return}function kB(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0;i=IY(n[n[42039]>>2]|0,A,i,f,1)|0;if(i|0){a=n[i>>2]&3;f=n[((a|0)==2?i:i+-48|0)+40>>2]|0;A=(f|0)==(A|0)?(n[((a|0)==3?i:i+48|0)+40>>2]|0)!=(f|0):0;wB(i,96242,A?r:e);wB(i,96251,A?e:r);vB(i)}return}function wB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(i|0){r=Sy(n[n[42039]>>2]|0,2,e,0)|0;if(!r)r=Sy(n[n[42039]>>2]|0,2,e,174177)|0;qy(A,r,i)|0}return}function dB(A,e,i){A=A|0;e=e|0;i=i|0;n[42007]=e;n[42038]=A;n[41987]=0;A=i|0?i:17656;n[42041]=A;QW(A,e);SJ()|0;A=n[41987]|0;if(!A){qW();A=n[41987]|0}return A|0}function hB(A,e){A=A|0;e=e|0;return dB(0,A,e)|0}function gB(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0;s=v;v=v+16|0;c=s+8|0;t=s;e=n[A+76>>2]|0;f=n[A>>2]|0;if((e|0)!=0?(i=n[e>>2]|0,(i|0)!=0):0){ZF[i&127](A);a=12}else a=4;do{if((a|0)==4)if((n[A+40>>2]|0)==0?(l=A+36|0,(n[l>>2]|0)==0):0){if(r[f+13>>0]|0)ZB(A);e=A+32|0;i=n[e>>2]|0;if(!i){n[l>>2]=n[13885];a=12;break}f=pR(i,91500)|0;n[l>>2]=f;if(!f){c=n[(n[A+12>>2]|0)+16>>2]|0;l=n[e>>2]|0;e=lz(n[(UN()|0)>>2]|0)|0;n[t>>2]=l;n[t+4>>2]=e;GF[c&31](83132,t);e=1}else a=12}else a=12}while(0);if((a|0)==12)if(!(n[A+152>>2]&1024))e=0;else{GF[n[(n[A+12>>2]|0)+16>>2]&31](83170,c);e=1}v=s;return e|0}function ZB(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;l=v;v=v+112|0;i=l;a=l+4|0;e=n[A+24>>2]|0;if(!e)r[a>>0]=0;else{n[i>>2]=e+1;_p(a,83188,i)|0}i=n[A+20>>2]|0;i=i|0?i:83192;e=Az(i)|0;t=Az(a)|0;f=A+52|0;t=e+1+t+(Az(n[f>>2]|0)|0)|0;e=t+11|0;if((n[42042]|0)>>>0<(t+1|0)>>>0){n[42042]=e;e=RN(n[42043]|0,e)|0;n[42043]=e}else e=n[42043]|0;np(e,i)|0;kR(n[42043]|0,a)|0;e=n[42043]|0;e=e+(Az(e)|0)|0;r[e>>0]=46;r[e+1>>0]=0;e=vR(n[f>>2]|0)|0;f=n[42043]|0;while(1){i=BR(e,58)|0;if(!i)break;kR(f,i+1|0)|0;t=n[42043]|0;a=t+(Az(t)|0)|0;r[a>>0]=46;r[a+1>>0]=0;r[i>>0]=0;f=t}kR(f,e)|0;zN(e);n[A+32>>2]=n[42043];v=l;return}function GB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l+8|0;f=l;if((e|0)!=0&(i|0)!=0){if(n[A+152>>2]&1024|0){GF[n[(n[A+12>>2]|0)+16>>2]&31](83170,f);LA(1)}if((mB(A,e,i)|0)==(i|0))r=i;else{f=n[(n[A+12>>2]|0)+16>>2]|0;n[a>>2]=i;GF[f&31](83202,a);LA(1)}}else r=0;v=l;return r|0}function mB(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;u=v;v=v+16|0;o=u;f=n[(n[A>>2]|0)+104>>2]|0;do{if(!f){c=A+40|0;l=n[c>>2]|0;if(!l){i=VR(e,1,i,n[A+36>>2]|0)|0;break}f=A+44|0;t=A+48|0;a=n[t>>2]|0;do{if(((n[f>>2]|0)+-1-a|0)>>>0<i>>>0){a=i+4096+a&-4096;n[f>>2]=a;f=RN(l,a)|0;n[c>>2]=f;if(!f){GF[n[(n[A+12>>2]|0)+16>>2]&31](83227,o);LA(1)}else{s=f;b=n[t>>2]|0;break}}else{s=l;b=a}}while(0);QH(s+b|0,e|0,i|0)|0;o=(n[t>>2]|0)+i|0;n[t>>2]=o;r[(n[c>>2]|0)+o>>0]=0}else i=kF[f&31](A,e,i)|0}while(0);v=u;return i|0}function IB(A,e){A=A|0;e=e|0;var i=0;i=Az(e)|0;e=(GB(A,e,i)|0)==(i|0);return(e?1:-1)|0}function CB(A,e){A=A|0;e=e|0;var i=0,f=0;i=v;v=v+16|0;f=i;r[f>>0]=e;A=(GB(A,f,1)|0)==1;v=i;return(A?e:-1)|0}function MB(A){A=A|0;var e=0;e=n[A+36>>2]|0;if(((e|0)!=0?(r[A+144>>0]|0)==0:0)?(n[(n[A>>2]|0)+104>>2]|0)==0:0)A=mR(e)|0;else A=0;return A|0}function QB(A){A=A|0;var e=0,i=0;e=n[A+76>>2]|0;if(e|0?(i=n[e+4>>2]|0,i|0):0)ZF[i&127](A);MB(A)|0;return}function EB(A){A=A|0;var e=0,i=0,r=0;r=v;v=v+16|0;i=n[A+76>>2]|0;if(n[A+152>>2]&1024|0){GF[n[(n[A+12>>2]|0)+16>>2]&31](83254,r);LA(1)}if((i|0)!=0?(e=n[i+8>>2]|0,(e|0)!=0):0)ZF[e&127](A);else{MB(A)|0;yB(A)}v=r;return}function yB(A){A=A|0;var e=0,i=0,f=0;e=A+32|0;if((n[e>>2]|0?(i=A+36|0,f=n[i>>2]|0,(f|0)!=(n[13885]|0)):0)?(r[A+144>>0]|0)==0:0){if(f|0){hR(f)|0;n[i>>2]=0}n[e>>2]=0}return}function YB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0;t=v;v=v+1056|0;f=t;l=t+24|0;a=t+8|0;n[a>>2]=i;r=hp(l,1024,e,a)|0;if((r|0)>=0){if((r|0)>1023){r=Ng(r+1|0)|0;n[a>>2]=i;f=r;r=qp(r,e,a)|0}else f=l;GB(A,f,r)|0;if((f|0)!=(l|0))zN(f)}else{n[f>>2]=lz(n[(UN()|0)>>2]|0)|0;Gy(1,83271,f)|0}v=t;return}function VB(A,e){A=A|0;e=+e;var i=0,r=0,f=0;i=v;v=v+16|0;r=i;f=WB(r,e)|0;GB(A,f,n[r>>2]|0)|0;v=i;return}function WB(A,e){A=A|0;e=+e;var i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0;if(!(e<-1.0e15))if(!(e>1.0e15)){e=e*1.0e4;f=~~((e<0.0?-.5:.5)+e);if(!f){f=123205;i=1}else{b=(f|0)<0;s=4;t=0;i=173944;f=b?0-f|0:f;while(1){if(!((f|0)!=0|(s|0)>0))break;a=(f|0)%10|0;c=(f|0)/10|0;l=i+-1|0;if((a|0)==0&t<<24>>24==0)f=0;else{r[l>>0]=a|48;f=1;i=l}if((s|0)==1)if(!(f<<24>>24))f=1;else{i=i+-1|0;r[i>>0]=46;f=1}s=s+-1|0;t=f;f=c}if(b){i=i+-1|0;r[i>>0]=45}f=i;i=173944-i|0}}else{f=83286;i=18}else{f=83285;i=19}n[A>>2]=i;return f|0}function JB(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=v;v=v+16|0;r=i;f=WB(r,+s[e>>3])|0;GB(A,f,n[r>>2]|0)|0;GB(A,87582,1)|0;e=WB(r,+s[e+8>>3])|0;GB(A,e,n[r>>2]|0)|0;v=i;return}function NB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0;a=v;v=v+16|0;f=a;r=0;while(1){l=e+(r<<4)|0;n[f>>2]=n[l>>2];n[f+4>>2]=n[l+4>>2];n[f+8>>2]=n[l+8>>2];n[f+12>>2]=n[l+12>>2];JB(A,f);r=r+1|0;if((r|0)>=(i|0))break;GB(A,87582,1)|0}v=a;return}function zB(A,e){A=A|0;e=e|0;var i=0;i=Jg(392)|0;if(i|0){n[i>>2]=19212;n[i+16>>2]=22;n[i+32>>2]=A;n[i+36>>2]=e}return i|0}function pB(A){A=A|0;var e=0,i=0,r=0,f=0;e=Jg(392)|0;i=e;r=A;f=i+40|0;do{n[i>>2]=n[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));f=e+60|0;r=A+60|0;n[f>>2]=n[r>>2];n[f+4>>2]=n[r+4>>2];n[f+8>>2]=n[r+8>>2];n[f+12>>2]=n[r+12>>2];n[f+16>>2]=n[r+16>>2];f=e+80|0;r=A+80|0;n[f>>2]=n[r>>2];n[f+4>>2]=n[r+4>>2];n[f+8>>2]=n[r+8>>2];n[f+12>>2]=n[r+12>>2];n[f+16>>2]=n[r+16>>2];return e|0}function RB(A){A=A|0;TB(A);zN(A);return}function PB(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+160|0;i=n[r>>2]|0;if(i){r=n[42044]|0;if(r){i=n[r+4>>2]|0;if(!i){i=Jg(632)|0;n[(n[42044]|0)+4>>2]=i}}}else{i=Jg(632)|0;n[r>>2]=i;n[A+164>>2]=i}n[42044]=i;n[i+32>>2]=e;n[i>>2]=A;return}function HB(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+160|0;i=n[r>>2]|0;if(i){r=n[42045]|0;if(r){i=n[r+4>>2]|0;if(!i){i=Jg(632)|0;n[(n[42045]|0)+4>>2]=i}}}else{i=Jg(632)|0;n[r>>2]=i;n[A+164>>2]=i}n[42045]=i;n[i+52>>2]=e;n[i>>2]=A;return(jB(A,3,e)|0)!=0|0}function FB(A){A=A|0;var e=0;e=n[A+160>>2]|0;n[A+164>>2]=e;return e|0}function LB(A){A=A|0;var e=0,i=0,r=0;A=A+164|0;e=n[A>>2]|0;i=n[e+4>>2]|0;if(i|0?(r=i+52|0,(n[r>>2]|0)==0):0)n[r>>2]=n[e+52>>2];n[A>>2]=i;return i|0}function DB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=A+8|0;f=e+10|0;if((n[r>>2]|0)>(e|0))A=n[A>>2]|0;else{n[r>>2]=f;f=pg(n[A>>2]|0,f<<2)|0;n[A>>2]=f;A=f}n[A+(e<<2)>>2]=i;return}function XB(A){A=A|0;var e=0;e=n[A>>2]|0;if(e|0)zN(e);n[A>>2]=0;n[A+8>>2]=0;n[A+4>>2]=0;return}function TB(A){A=A|0;var e=0,i=0,r=0;i=A+160|0;e=n[i>>2]|0;while(1){if(!e)break;r=n[e+4>>2]|0;XB(e+604|0);XB(e+592|0);zN(n[e+584>>2]|0);zN(n[e+588>>2]|0);zN(e);e=r}n[42045]=0;n[42044]=0;n[A+192>>2]=0;n[A+164>>2]=0;n[i>>2]=0;n[A+28>>2]=0;return}function xB(A,e,i,f,a,l){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;l=l|0;var t=0,c=0,s=0,b=0,o=0;o=v;v=v+128|0;s=o+64|0;b=o;Sp(s,i,63)|0;t=Vz(s,58)|0;if(t|0)r[t>>0]=0;A=A+60+(e<<2)|0;while(1){e=n[A>>2]|0;if(!e){e=A;A=0;break}Sp(b,n[e+4>>2]|0,63)|0;e=Vz(b,58)|0;if(e|0)r[e>>0]=0;if((az(s,b)|0)<1){c=9;break}A=n[A>>2]|0}while(1){if((c|0)==9){e=A;A=n[A>>2]|0}if(!A)break;Sp(b,n[A+4>>2]|0,63)|0;A=Vz(b,58)|0;if(A|0)r[A>>0]=0;if(az(s,b)|0)break;A=n[e>>2]|0;if((n[A+8>>2]|0)<=(f|0))break;c=9}b=Ng(20)|0;n[b>>2]=n[e>>2];n[e>>2]=b;n[b+4>>2]=i;n[b+8>>2]=f;n[b+12>>2]=a;n[b+16>>2]=l;v=o;return 1}function UB(A,e){A=A|0;e=e|0;e=v;v=v+16|0;Gy(1,83359,e)|0;v=e;return 0}function jB(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0;d=v;v=v+144|0;w=d;u=d+80|0;B=d+16|0;o=(e+-3|0)>>>0<2?0:e;Sp(u,i,63)|0;i=Vz(u,58)|0;if(i){f=i+1|0;r[i>>0]=0;i=Vz(f,58)|0;if(!i)b=0;else{r[i>>0]=0;b=i+1|0}}else{b=0;f=0}t=(f|0)!=0;c=(b|0)==0;s=(o|0)==(e|0);l=A+60+(e<<2)|0;A:while(1){i=n[l>>2]|0;if(!i){i=0;break}Sp(B,n[i+4>>2]|0,63)|0;i=Vz(B,58)|0;if(!i)i=0;else{r[i>>0]=0;i=i+1|0}do{if(!(az(B,u)|0)){a=(i|0)!=0;if(t&a?az(i,f)|0:0)break;if(!c?az(b,n[(n[(n[l>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(s|a^1){k=16;break A}if(jB(A,o,i)|0){k=16;break A}}}while(0);l=n[l>>2]|0}do{if((k|0)==16){i=n[l>>2]|0;if(i){f=i+16|0;if((n[f>>2]|0)==0?(UB(0,0)|0,(n[f>>2]|0)==0):0){i=0;break}if((n[A+8>>2]|0)>0){k=n[13918]|0;u=n[i+4>>2]|0;B=n[(n[i+12>>2]|0)+8>>2]|0;n[w>>2]=n[19224+(e<<2)>>2];n[w+4>>2]=u;n[w+8>>2]=B;lR(k,83390,w)|0}}else i=0}}while(0);n[A+80+(e<<2)>>2]=i;v=d;return i|0}function SB(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0;do{if(!i)i=0;else{if(n[4811]|0){My(168184,0,0);n[4811]=0}l=vR(i)|0;i=Vz(l,58)|0;if(i){r[i>>0]=0;f=A+60+(e<<2)|0;i=1;a=f;while(1){A=n[a>>2]|0;if(!A)break;e=vR(n[A+4>>2]|0)|0;A=Vz(e,58)|0;if(A|0)r[A>>0]=0;if(!((r[l>>0]|0)!=0?(Tz(l,e)|0)!=0:0)){i=n[42047]|0;if(i>>>0>=(n[42048]|0)>>>0){Qy(168184,1)|0;i=n[42047]|0}n[42047]=i+1;r[i>>0]=32;yy(168184,n[(n[a>>2]|0)+4>>2]|0)|0;i=n[42047]|0;if(i>>>0>=(n[42048]|0)>>>0){Qy(168184,1)|0;i=n[42047]|0}n[42047]=i+1;r[i>>0]=58;yy(168184,n[(n[(n[a>>2]|0)+12>>2]|0)+8>>2]|0)|0;i=0}zN(e);a=n[a>>2]|0}zN(l);if(i<<24>>24){a=0;t=19}}else{zN(l);a=0;f=A+60+(e<<2)|0;i=1;t=19}if((t|0)==19){while(1){A=n[f>>2]|0;if(!A)break;e=vR(n[A+4>>2]|0)|0;A=Vz(e,58)|0;if(A|0)r[A>>0]=0;if(!((a|0)!=0?(Tz(a,e)|0)==0:0)){i=n[42047]|0;if(i>>>0>=(n[42048]|0)>>>0){Qy(168184,1)|0;i=n[42047]|0}n[42047]=i+1;r[i>>0]=32;yy(168184,e)|0;i=0}a=e;f=n[f>>2]|0;t=19}if(i<<24>>24){i=174177;break}}i=n[42047]|0;if(i>>>0>=(n[42048]|0)>>>0){Qy(168184,1)|0;i=n[42047]|0}r[i>>0]=0;i=n[42046]|0;n[42047]=i}}while(0);return i|0}function OB(A){A=A|0;var e=0;if(!A)BA(95974,83407,573,83421);if(!(r[A>>0]|0))BA(95979,83407,574,83421);e=n[42050]|0;if(!e)A=0;else A=kF[n[e>>2]&31](e,A,512)|0;return A|0}function KB(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0;s=v;v=v+16|0;c=s+8|0;t=s;if(!A)BA(96091,83407,589,83438);a=A+8|0;i=n[a>>2]|0;if(!i)BA(96094,83407,590,83438);if(!(r[i>>0]|0))BA(96103,83407,591,83438);l=A+20|0;f=n[l>>2]|0;do{if(!f){e=eC(i)|0;if(!e){n[t>>2]=n[a>>2];Gy(0,83462,t)|0;e=0;break}t=pR(e,123632)|0;n[l>>2]=t;if(!t){n[c>>2]=lz(n[(UN()|0)>>2]|0)|0;n[c+4>>2]=e;Gy(0,83487,c)|0;e=0;break}e=n[42051]|0;if((e|0)>49){r[A+17>>0]=1;e=1;break}else{n[42051]=e+1;e=1;break}}else{KR(f,0,0)|0;if(!(n[l>>2]|0))BA(83508,83407,614,83438);else e=1}}while(0);v=s;return e|0}function _B(A){A=A|0;var e=0,i=0;if(r[A+17>>0]|0?(e=A+20|0,i=n[e>>2]|0,i|0):0){hR(i)|0;n[e>>2]=0}return}function qB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,a=0.0;if(!e){r=-1;i=-1}else{r=n[e+48>>2]|0;f=+(r|0);if(!r){a=+s[i>>3];f=+s[i+8>>3]}else{s[i+8>>3]=f;s[i>>3]=f;a=f}r=~~(+((n[e+40>>2]|0)*72|0)/a);i=~~(+((n[e+44>>2]|0)*72|0)/f)}n[A>>2]=r;n[A+4>>2]=i;return}function $B(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,b=0,o=0.0;b=v;v=v+48|0;f=b+16|0;t=b;c=b+32|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){if((0==0?(a=n[42178]|0,(n[42052]|0)!=(a|0)):0)?(n[42052]=a,l=n[42050]|0,l|0):0){ay(l)|0;n[42050]=0}o=+s[(n[(n[e+16>>2]|0)+8>>2]|0)+24>>3];o=!(o>=1.0)?96.0:o;s[t+8>>3]=o;s[t>>3]=o;e=Ak(i)|0;n[f>>2]=n[t>>2];n[f+4>>2]=n[t+4>>2];n[f+8>>2]=n[t+8>>2];n[f+12>>2]=n[t+12>>2];qB(c,e,f);e=n[c>>2]|0;f=n[c+4>>2]|0}else{e=-1;f=-1}n[A>>2]=e;n[A+4>>2]=f;v=b;return}function Ak(A){A=A|0;var e=0,i=0,r=0,f=0;f=v;v=v+16|0;r=f;if(!A)BA(95974,83407,638,83514);if(!(n[42050]|0))n[42050]=oy(19248,n[4353]|0)|0;e=OB(A)|0;A:do{if(!e){e=Jg(64)|0;if(!e)e=0;else{i=e+8|0;n[i>>2]=ZW(0,A)|0;if(!((KB(e)|0)<<24>>24)){ek(e);e=0;break}if(!(n[e+20>>2]|0))BA(83508,83407,653,83514);do{switch(ik(e)|0){case 0:{A=$G(n[i>>2]|0)|0;n[e+52>>2]=A;if(!A){n[r>>2]=n[i>>2];Gy(0,83531,r)|0;ek(e);e=0;break A}break}case 2:{rk(e);break}case 3:{fk(e);break}case 1:{nk(e);break}case 4:{ak(e);break}case 6:{lk(e);break}case 11:{tk(e);break}case 8:{ck(e);break}case 5:{sk(e);break}case 12:{bk(e);break}default:{}}}while(0);_B(e);r=n[42050]|0;kF[n[r>>2]&31](r,e,1)|0}}else _B(e)}while(0);v=f;return e|0}function ek(A){A=A|0;var e=0;e=n[A+8>>2]|0;if(e|0)mW(0,e)|0;zN(A);return}function ik(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0;c=v;v=v+224|0;f=c+200|0;a=c;l=A+20|0;e=n[l>>2]|0;A:do{if((e|0)!=0?(fH(f,1,20,e)|0)==20:0){i=0;while(1){if(i>>>0>=10){t=13;break A}if(!(Hp(f,n[19284+(i<<4)>>2]|0,n[19284+(i<<4)+4>>2]|0)|0))break;i=i+1|0}r=A+28|0;n[r>>2]=n[19284+(i<<4)+12>>2];e=n[19284+(i<<4)+8>>2]|0;A=A+24|0;n[A>>2]=e;switch(i|0){case 7:break;case 8:{if(Hp(f+8|0,83747,4)|0)break A;n[r>>2]=83752;n[A>>2]=11;e=11;break A}default:break A}while(1){if(!(Dp(a,200,n[l>>2]|0)|0)){t=11;break}if(!(Hp(a,83742,4)|0)){t=8;break}}if((t|0)==8){n[r>>2]=86823;n[A>>2]=8;e=8;break}else if((t|0)==11){e=n[A>>2]|0;break}}else t=13}while(0);if((t|0)==13){n[A+28>>2]=83757;n[A+24>>2]=0;e=0}v=c;return e|0}function rk(A){A=A|0;var e=0,i=0,r=0,f=0;f=v;v=v+16|0;e=f+4|0;i=f;n[A+48>>2]=0;r=A+20|0;KR(n[r>>2]|0,6,0)|0;if((gk(n[r>>2]|0,2,e)|0)<<24>>24?(gk(n[r>>2]|0,2,i)|0)<<24>>24:0){n[A+40>>2]=n[e>>2];n[A+44>>2]=n[i>>2]}v=f;return}function fk(A){A=A|0;var e=0,i=0,r=0,f=0;f=v;v=v+16|0;e=f+4|0;i=f;n[A+48>>2]=0;r=A+20|0;KR(n[r>>2]|0,16,0)|0;if((ok(n[r>>2]|0,4,e)|0)<<24>>24?(ok(n[r>>2]|0,4,i)|0)<<24>>24:0){n[A+40>>2]=n[e>>2];n[A+44>>2]=n[i>>2]}v=f;return}function nk(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0;l=v;v=v+16|0;e=l+12|0;i=l+8|0;r=l+4|0;f=l;n[A+48>>2]=0;a=A+20|0;KR(n[a>>2]|0,16,0)|0;if((((gk(n[a>>2]|0,2,e)|0)<<24>>24?(gk(n[a>>2]|0,2,i)|0)<<24>>24:0)?(gk(n[a>>2]|0,2,r)|0)<<24>>24:0)?(gk(n[a>>2]|0,2,f)|0)<<24>>24:0){n[A+40>>2]=n[e>>2]<<16|n[i>>2];n[A+44>>2]=n[r>>2]<<16|n[f>>2]}v=l;return}function ak(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0;b=v;v=v+32|0;e=b+16|0;r=b+12|0;f=b+8|0;l=b+4|0;t=b;n[A+48>>2]=0;c=A+20|0;while(1){if(!((ok(n[c>>2]|0,1,e)|0)<<24>>24))break;i=n[e>>2]|0;if((i|0)==255)continue;if(Vz(83730,i)|0)continue;if((i|0)==192){s=6;break}a=n[c>>2]|0;if((i|0)==194){s=11;break}if(!((ok(a,2,r)|0)<<24>>24))break;KR(n[c>>2]|0,(n[r>>2]|0)+-2|0,1)|0}if((s|0)==6){if(((ok(n[c>>2]|0,3,t)|0)<<24>>24?(ok(n[c>>2]|0,2,f)|0)<<24>>24:0)?(ok(n[c>>2]|0,2,l)|0)<<24>>24:0){n[A+44>>2]=n[f>>2];n[A+40>>2]=n[l>>2]}}else if((((s|0)==11?(ok(a,3,t)|0)<<24>>24:0)?(ok(n[c>>2]|0,2,f)|0)<<24>>24:0)?(ok(n[c>>2]|0,2,l)|0)<<24>>24:0){n[A+44>>2]=n[f>>2];n[A+40>>2]=n[l>>2]}v=b;return}function lk(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0;b=v;v=v+1056|0;c=b;e=b+32|0;r=b+28|0;f=b+24|0;a=b+20|0;l=b+16|0;n[A+48>>2]=72;t=A+20|0;KR(n[t>>2]|0,0,0)|0;while(1){if(!(Dp(e,1024,n[t>>2]|0)|0))break;i=Xp(e,83715)|0;if(!i)continue;n[c>>2]=r;n[c+4>>2]=f;n[c+8>>2]=a;n[c+12>>2]=l;if((PR(i,89289,c)|0)==4){s=5;break}}if((s|0)==5){c=n[r>>2]|0;n[A+32>>2]=c;s=n[f>>2]|0;n[A+36>>2]=s;n[A+40>>2]=(n[a>>2]|0)-c;n[A+44>>2]=(n[l>>2]|0)-s}v=b;return}function tk(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0;a=v;v=v+16|0;e=a+4|0;i=a;n[A+48>>2]=0;r=A+20|0;KR(n[r>>2]|0,15,0)|0;l=(cH(n[r>>2]|0)|0)==88;f=n[r>>2]|0;if(l){KR(f,24,0)|0;if((gk(n[r>>2]|0,4,e)|0)<<24>>24?(gk(n[r>>2]|0,4,i)|0)<<24>>24:0){n[A+40>>2]=n[e>>2];n[A+44>>2]=n[i>>2]}}else{KR(f,26,0)|0;if((gk(n[r>>2]|0,2,e)|0)<<24>>24?(gk(n[r>>2]|0,2,i)|0)<<24>>24:0){n[A+40>>2]=n[e>>2];n[A+44>>2]=n[i>>2]}}v=a;return}function ck(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0;V=v;v=v+352|0;E=V+80|0;Q=V+72|0;Y=V+64|0;y=V+56|0;M=V+48|0;e=V+40|0;d=V+32|0;h=V+24|0;g=V+16|0;Z=V+8|0;G=V;m=V+328|0;I=V+128|0;C=V+96|0;if(!(n[42053]|0)){if(oP(168216,83600,1)|0){n[e>>2]=83600;Gy(1,83627,e)|0}n[42053]=168216}b=A+20|0;KR(n[b>>2]|0,0,0)|0;o=C+12|0;u=C+20|0;B=C+8|0;k=C+16|0;w=C+4|0;e=0;a=0;f=0;i=0;A:while(1){if(!(Dp(I,200,n[b>>2]|0)|0))break;if(a<<24>>24==0|e<<24>>24==0){l=I;c=i}else break;e:while(1){t=f;i:while(1){while(1){if(qP(168216,l,4,C,0)|0){f=t;i=c;continue A}r[l+(n[o>>2]|0)>>0]=0;r[l+(n[u>>2]|0)>>0]=0;i=l+(n[B>>2]|0)|0;f=l+(n[k>>2]|0)|0;l=l+((n[w>>2]|0)+1)|0;if(!(az(i,95987)|0))break;if(!(az(i,95993)|0))break i;if(az(i,83674)|0)continue;n[E>>2]=h;n[E+4>>2]=g;n[E+8>>2]=Z;n[E+12>>2]=G;if((PR(f,83682,E)|0)==4)break e}n[M>>2]=d;n[M+4>>2]=m;if((PR(f,83664,M)|0)!=2){n[y>>2]=d;if((PR(f,86190,y)|0)==1){i=1;f=hk(+s[d>>3],83671)|0}else{i=a;f=t}}else{i=1;f=hk(+s[d>>3],m)|0}if(!(e<<24>>24)){e=0;a=i;t=f}else{a=i;i=c;continue A}}n[Y>>2]=d;n[Y+4>>2]=m;if((PR(f,83664,Y)|0)!=2){n[Q>>2]=d;if((PR(f,86190,Q)|0)==1){e=1;i=hk(+s[d>>3],83671)|0}else i=c}else{e=1;i=hk(+s[d>>3],m)|0}if(!(a<<24>>24)){a=0;f=t;c=i}else{f=t;continue A}}e=1;a=1;f=~~(+s[Z>>3]+1.0-+s[h>>3])>>>0;i=~~(+s[G>>3]+1.0-+s[g>>3])>>>0}n[A+48>>2]=0;n[A+40>>2]=f;n[A+44>>2]=i;v=V;return}function sk(A){A=A|0;var e=0,i=0,r=0,f=0.0,a=0.0;i=v;v=v+32|0;e=i;n[A+48>>2]=0;r=A+20|0;KR(n[r>>2]|0,0,0)|0;if(!(uk(n[r>>2]|0,e)|0)){a=+s[e>>3];n[A+32>>2]=~~a;f=+s[e+8>>3];n[A+36>>2]=~~f;n[A+40>>2]=~~(+s[e+16>>3]-a);n[A+44>>2]=~~(+s[e+24>>3]-f)}v=i;return}function bk(A){A=A|0;var e=0,i=0,r=0,f=0;f=v;v=v+16|0;e=f+4|0;i=f;n[A+48>>2]=0;r=A+20|0;KR(n[r>>2]|0,6,0)|0;if((ok(n[r>>2]|0,1,e)|0)<<24>>24?(ok(n[r>>2]|0,1,i)|0)<<24>>24:0){n[A+40>>2]=n[e>>2];n[A+44>>2]=n[i>>2]}v=f;return}function ok(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;n[i>>2]=0;r=0;while(1){if(r>>>0>=e>>>0){r=1;break}f=cH(A)|0;if(dR(A)|0){r=0;break}n[i>>2]=n[i>>2]<<8|f;r=r+1|0}return r|0}function uk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0;l=v;v=v+1040|0;i=l;r=l+16|0;while(1){if(!(Dp(r,1024,A)|0)){A=1;break}f=Xp(r,83590)|0;if(f|0){a=4;break}}if((a|0)==4){n[i+4>>2]=r;n[i>>2]=f+9;n[i+8>>2]=A;A=vk(i,e)|0}v=l;return A|0}function vk(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=v;v=v+1024|0;f=a;Bk(A);i=r[n[A>>2]>>0]|0;if(!(i<<24>>24))i=(kk(A)|0)&255;else i=i<<24>>24;if((((i|0)==91?(n[A>>2]=(n[A>>2]|0)+1,wk(A,f),(dk(f,e)|0)==0):0)?(wk(A,f),(dk(f,e+8|0)|0)==0):0)?(wk(A,f),(dk(f,e+16|0)|0)==0):0){wk(A,f);i=(dk(f,e+24|0)|0)!=0&1}else i=1;v=a;return i|0}function Bk(A){A=A|0;var e=0;e=n[A>>2]|0;while(1){e=r[e>>0]|0;if(!(e<<24>>24))e=(kk(A)|0)&255;else e=e<<24>>24;if(!((e&255)<<24>>24))break;if(!(Wz(e&255)|0))break;e=(n[A>>2]|0)+1|0;n[A>>2]=e}return}function kk(A){A=A|0;var e=0;e=A+4|0;if(!(Dp(n[e>>2]|0,1024,n[A+8>>2]|0)|0))A=0;else{e=n[e>>2]|0;n[A>>2]=e;A=r[e>>0]|0}return A|0}function wk(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;Bk(A);i=0;f=n[A>>2]|0;while(1){f=r[f>>0]|0;if(!(f<<24>>24))a=(kk(A)|0)&255;else a=f<<24>>24;f=a<<24>>24;if(!f)break;if(!((f|0)==46|(f+-48|0)>>>0<10))break;r[e+i>>0]=a;i=i+1|0;f=(n[A>>2]|0)+1|0;n[A>>2]=f;if((i|0)==1023){i=1023;break}}r[e+i>>0]=0;return}function dk(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;r=v;v=v+16|0;f=r;i=+eP(A,f);if((n[f>>2]|0)==(A|0))A=1;else{s[e>>3]=i;A=0}v=r;return A|0}function hk(A,e){A=+A;e=e|0;var i=0.0;do{if(!(az(e,83698)|0)){A=A*72.0;i=A;A=A>=0.0?.5:-.5}else{if(!(az(e,83701)|0)){A=A*.75;i=A;A=A>=0.0?.5:-.5;break}if(!(az(e,83704)|0)){A=A*12.0;i=A;A=A>=0.0?.5:-.5;break}if(az(e,83671)|0?az(e,83707)|0:0)if(!(az(e,83709)|0)){A=A*28.346456664;i=A;A=A>=0.0?.5:-.5;break}else{e=(az(e,83712)|0)==0;i=A*2.8346456663999997;return(e?~~(i+(i>=0.0?.5:-.5)):0)|0}i=A>=0.0?.5:-.5}}while(0);return~~(A+i)|0}function gk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;n[i>>2]=0;r=0;while(1){if(r>>>0>=e>>>0){r=1;break}f=cH(A)|0;if(dR(A)|0){r=0;break}n[i>>2]=n[i>>2]|f<<(r<<3);r=r+1|0}return r|0}function Zk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A=n[e+20>>2]|0;if(A|0)hR(A)|0;if(n[e+52>>2]|0?(r=n[e+60>>2]|0,r|0):0)ZF[r&127](e);zN(e);return}function Gk(){var A=0;Sy(0,1,86184,90471)|0;A=zB(0,1)|0;Ss(A,0);return A|0}function mk(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,b=0.0,o=0.0,u=0.0,B=0.0;c=v;v=v+304|0;t=c+24|0;l=c+8|0;f=c;a=c+40|0;if((Bs(A,i)|0)!=999)if((ks(A,e)|0)==-1)A=-1;else{A=n[e+16>>2]|0;i=A+16|0;if(!(r[(n[A+8>>2]|0)+81>>0]|0)){B=+s[i>>3];u=+s[A+24>>3];o=+s[A+32>>3];b=+s[A+40>>3];n[t>>2]=~~(B+(B>=0.0?.5:-.5));n[t+4>>2]=~~(u+(u>=0.0?.5:-.5));n[t+8>>2]=~~(o+(o>=0.0?.5:-.5));n[t+12>>2]=~~(b+(b>=0.0?.5:-.5));_p(a,83862,t)|0}else{b=+s[A+24>>3];o=+s[i>>3];u=+s[A+40>>3];B=+s[A+32>>3];n[l>>2]=~~(b+(b>=0.0?.5:-.5));n[l+4>>2]=~~(o+(o>=0.0?.5:-.5));n[l+8>>2]=~~(u+(u>=0.0?.5:-.5));n[l+12>>2]=~~(B+(B>=0.0?.5:-.5));_p(a,83862,l)|0}lY(e,87649,a,174177)|0;A=0}else{A=SB(A,1,i)|0;n[f>>2]=i;n[f+4>>2]=A;Gy(1,96012,f)|0;A=-1}v=c;return A|0}function Ik(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0;t=v;v=v+16|0;a=t;f=n[e+60>>2]|0;HB(A,i)|0;e=n[A+164>>2]|0;n[e+56>>2]=yc(e,n[e+52>>2]|0)|0;if((lW(f,122277,0,1)|0)!=0?(n[(n[f+16>>2]|0)+8>>2]|0)!=0:0)l=5;else if(!(n[e+152>>2]&67108864)){Cy(83874,a);e=-1}else l=5;if((l|0)==5){n[e+36>>2]=r;if(!r){l=e+152|0;n[l>>2]=n[l>>2]|134217728}l=Th(A,f)|0;Vc(e);TB(A);e=l}v=t;return e|0}function Ck(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0;t=v;v=v+16|0;a=t;f=n[e+60>>2]|0;HB(A,i)|0;e=n[A+164>>2]|0;n[e+56>>2]=yc(e,n[e+52>>2]|0)|0;if((lW(f,122277,0,1)|0)!=0?(n[(n[f+16>>2]|0)+8>>2]|0)!=0:0)l=5;else if(!(n[e+152>>2]&67108864)){Cy(83874,a);e=-1}else l=5;if((l|0)==5){PB(A,r);l=Th(A,f)|0;Vc(e);EB(e);TB(A);e=l}v=t;return e|0}function Mk(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0;b=v;v=v+16|0;l=b+8|0;a=b;e=n[e+60>>2]|0;HB(A,i)|0;c=n[A+164>>2]|0;n[c+56>>2]=yc(c,n[c+52>>2]|0)|0;if((lW(e,122277,0,1)|0)!=0?(n[(n[e+16>>2]|0)+8>>2]|0)!=0:0)s=5;else if(!(n[c+152>>2]&67108864)){Cy(83874,a);e=-1}else s=5;do{if((s|0)==5){if(r|0?(t=NN(4096)|0,n[r>>2]=t,t|0):0){a=c+40|0;n[a>>2]=t;n[c+44>>2]=4096;i=c+48|0;n[i>>2]=0;e=Th(A,e)|0;Vc(c);if(!e){n[r>>2]=n[a>>2];n[f>>2]=n[i>>2]}TB(A);break}Gy(1,83895,l)|0;e=-1}}while(0);v=b;return e|0}function Qk(A,e){A=A|0;e=e|0;Us(A,0,e);return}function Ek(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;if(!((A|0)!=0?(pk(A)|0)!=0:0))A=83951;r=Az(A)|0;if((r|0)>=104){i=Ng(r+25|0)|0;if(!i)i=0;else f=6}else f=6;if((f|0)==6){np(i,A)|0;n[e>>2]=r}return i|0}function yk(A,e){A=A|0;e=e|0;YV(e,A,1)|0;return}function Yk(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n[e>>2]=i;n[e+4>>2]=i+4096;n[e+12>>2]=0;n[e+8>>2]=0;n[A>>2]=e;n[A+4>>2]=e;n[A+8>>2]=i;n[A+12>>2]=r;n[A+16>>2]=f;return}function Vk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0,s=0;Nk(r,e);t=r+12|0;c=r+16|0;e=0;A:while(1){s=zk(r)|0;if(!s)break;e=e+1|0;f=n[t>>2]|0;if(f|0)GF[f&31](s,i);l=kY(A,s)|0;while(1){if(!l)continue A;a=n[l>>2]&3;f=n[((a|0)==3?l:l+48|0)+40>>2]|0;if((f|0)==(s|0))f=n[((a|0)==2?l:l+-48|0)+40>>2]|0;if(!(BF[n[c>>2]&63](f,-1)|0))Nk(r,f);l=wY(A,l,s)|0}}return e|0}function Wk(A){A=A|0;var e=0;A=n[(n[A>>2]|0)+12>>2]|0;while(1){if(!A)break;e=n[A+12>>2]|0;Jk(A);A=e}return}function Jk(A){A=A|0;zN(n[A>>2]|0);zN(A);return}function Nk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0;s=v;v=v+16|0;c=s+8|0;f=s;a=A+8|0;t=A+4|0;i=n[t>>2]|0;if((n[a>>2]|0)==(n[i+4>>2]|0)){i=n[i+12>>2]|0;do{if(!i){r=Ng(16)|0;if(!r){Gy(1,83932,f)|0;OA(168248,1)}n[r+8>>2]=n[t>>2];n[r+12>>2]=0;i=Ng(4e6)|0;n[r>>2]=i;if(!i){Gy(1,83932,c)|0;OA(168248,1)}else{n[r+4>>2]=i+4e6;n[(n[t>>2]|0)+12>>2]=r;l=r;break}}else l=i}while(0);n[t>>2]=l;n[a>>2]=n[l>>2]}BF[n[A+16>>2]&63](e,1)|0;c=n[a>>2]|0;n[a>>2]=c+4;n[c>>2]=e;v=s;return}function zk(A){A=A|0;var e=0,i=0,r=0,f=0,a=0;f=A+8|0;e=n[f>>2]|0;i=A+4|0;r=n[i>>2]|0;if((e|0)==(n[r>>2]|0))if((r|0)==(n[A>>2]|0))e=0;else{e=n[r+8>>2]|0;n[i>>2]=e;e=n[e+4>>2]|0;n[f>>2]=e;a=4}else a=4;if((a|0)==4){e=e+-4|0;n[f>>2]=e;e=n[e>>2]|0}return e|0}function pk(A){A=A|0;var e=0;A:while(1){e=A;A=A+1|0;e=r[e>>0]|0;switch(e<<24>>24){case 95:continue A;case 0:{A=1;break A}default:{}}if(!(Dz(e&255)|0)){A=0;break}}return A|0}function Rk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=0;f=CV(A)|0;while(1){if(!f)break;r=bY(e,f)|0;while(1){if(!r)break;if(YV(A,n[((n[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,0)|0){EY(A,r,1)|0;i=i+1|0}r=uY(e,r)|0}f=MV(A,f)|0}return i|0}function Pk(A){A=A|0;A=nW(A,83956,0)|0;if(!A)BA(83961,83964,529,83973);else return n[A+8>>2]|0;return 0}function Hk(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0;g=v;v=v+4320|0;d=g+24|0;w=g+8|0;k=g;h=g+4184|0;B=g+4160|0;f=g+40|0;if(zY(A)|0){oW(A,0,83982,-12,0);oW(A,1,83994,16,0);u=Ek(i,f,h)|0;s=Fk(A)|0;b=Ng((zY(s)|0)<<2)|0;Yk(B,g+4144|0,g+48|0,23,22);l=CV(s)|0;o=B+16|0;t=u+(n[f>>2]|0)|0;c=n[13918]|0;i=0;while(1){if(!l)break;if(!(BF[n[o>>2]&63](l,-1)|0)){n[k>>2]=i;_p(t,84896,k)|0;Z=eJ(s,u,1)|0;G=eJ(A,u,1)|0;lW(G,83982,12,0)|0;r[(nW(G,83982,0)|0)+8>>0]=1;f=Vk(s,l,Z,B)|0;Dk(Z,G);a=Xk(G)|0;Tk(A,G);n[b+(i<<2)>>2]=G;PV(s,Z)|0;if(0){n[w>>2]=i;n[w+4>>2]=f;n[w+8>>2]=a;lR(c,84006,w)|0}i=i+1|0}l=MV(s,l)|0}if(0){w=zY(A)|0;Z=pY(A)|0;G=qY(A)|0;n[d>>2]=w;n[d+4>>2]=Z;n[d+8>>2]=i;n[d+12>>2]=G;lR(c,84036,d)|0}NY(s)|0;uW(A,0,83982);uW(A,1,83994);Wk(B);f=pg(b,i<<2)|0;if((u|0)!=(h|0))zN(u)}else{f=0;i=0}n[e>>2]=i;v=g;return f|0}function Fk(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;t=v;v=v+16|0;l=t;r[l>>0]=r[17652]|0;r[l+1>>0]=r[17653]|0;r[l+2>>0]=r[17654]|0;r[l+3>>0]=r[17655]|0;l=YY(84083,l,0)|0;jk(l,A);e=CV(A)|0;while(1){if(!e)break;if(!(n[(nW(e,83994,0)|0)+12>>2]|0)){a=zV(l,qY(e)|0,1)|0;lW(a,83994,16,1)|0;n[(n[a+16>>2]|0)+12>>2]=e;n[(nW(e,83994,0)|0)+12>>2]=a}e=MV(A,e)|0}i=CV(A)|0;while(1){if(!i)break;f=n[(nW(i,83994,0)|0)+12>>2]|0;e=bY(A,i)|0;while(1){if(!e)break;a=n[(nW(n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,83994,0)|0)+12>>2]|0;do{if((a|0)!=(f|0))if(a>>>0>f>>>0){IY(l,f,a,0,1)|0;break}else{IY(l,a,f,0,1)|0;break}}while(0);e=uY(A,e)|0}i=MV(A,i)|0}v=t;return l|0}function Lk(A,e){A=A|0;e=e|0;var i=0;A=(n[A+16>>2]|0)+8|0;i=r[A>>0]|0;if((e|0)>=0)r[A>>0]=e;return i|0}function Dk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=CV(A)|0;while(1){if(!r)break;f=n[(n[r+16>>2]|0)+12>>2]|0;A:do{if((n[f>>2]&3|0)==1)YV(e,f,1)|0;else{i=CV(f)|0;while(1){if(!i)break A;YV(e,i,1)|0;i=MV(f,i)|0}}}while(0);r=MV(A,r)|0}return}function Xk(A){A=A|0;return Rk(A,n[A+60>>2]|0)|0}function Tk(A,e){A=A|0;e=e|0;xk(A,e,0);return}function xk(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,a=0;a=(i|0)==0;A=iJ(A)|0;while(1){if(!A)break;if((r[(nW(A,83982,0)|0)+8>>0]|0)==0?(n=Uk(A,e,i)|0,n|0):0){if(a)f=(Yz(qY(A)|0,92983,7)|0)==0;else f=1;xk(A,n,f&1)}A=rJ(A)|0}return}function Uk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;r=0;a=CV(A)|0;while(1){if(!a)break;f=zV(e,qY(a)|0,0)|0;if(f){if(!r)r=eJ(e,qY(A)|0,1)|0;YV(r,f,1)|0}a=MV(A,a)|0}if((i|0)!=0&(r|0)==0)r=eJ(e,qY(A)|0,1)|0;if(r|0?(Rk(r,A)|0,tY(A,r)|0,(Yz(qY(r)|0,92983,7)|0)==0):0)n[(lW(r,83956,12,0)|0)+8>>2]=A;return r|0}function jk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0;l=v;v=v+16|0;a=l;i=iJ(e)|0;r=n[13918]|0;while(1){if(!i)break;A:do{if(!(Yz(qY(i)|0,92983,7)|0)){f=zV(A,qY(i)|0,1)|0;lW(f,83994,16,1)|0;n[(n[f+16>>2]|0)+12>>2]=i;e=CV(i)|0;while(1){if(!e)break A;if(n[(nW(e,83994,0)|0)+12>>2]|0){s=qY(e)|0;c=qY(i)|0;t=qY(n[(nW(e,83994,0)|0)+12>>2]|0)|0;n[a>>2]=s;n[a+4>>2]=c;n[a+8>>2]=t;lR(r,84086,a)|0}n[(nW(e,83994,0)|0)+12>>2]=f;e=MV(i,e)|0}}else jk(A,i)}while(0);i=rJ(i)|0}v=l;return}function Sk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0.0;u=+s[A>>3];t=~~(u+(u>=0.0?.5:-.5));u=+s[A+8>>3];A=~~(u+(u>=0.0?.5:-.5));u=+s[e>>3];a=~~(u+(u>=0.0?.5:-.5));u=+s[e+8>>3];n=~~(u+(u>=0.0?.5:-.5));b=a-t|0;l=((b|0)>-1?b:0-b|0)<<1;b=b>>31|1;o=n-A|0;c=((o|0)>-1?o:0-o|0)<<1;o=o>>31|1;A:do{if((l|0)>(c|0)){f=0-l|0;r=c-(l>>1)|0;e=t;while(1){FZ(i,e,A);if((e|0)==(a|0))break A;t=(r|0)>-1;r=r+c+(t?f:0)|0;e=e+b|0;A=(t?o:0)+A|0}}else{f=0-c|0;r=t;e=l-(c>>1)|0;while(1){FZ(i,r,A);if((A|0)==(n|0))break A;c=(e|0)>-1;r=(c?b:0)+r|0;e=e+l+(c?f:0)|0;A=A+o|0}}}while(0);return}function Ok(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;o=v;v=v+16|0;s=o;c=o+4|0;do{if((A|0)<1)i=0;else{f=r+16|0;if((n[f>>2]|0)>>>0<4){i=Kk(A,e,i,r)|0;break}b=Ng(A<<5)|0;i=0;while(1){if((i|0)==(A|0))break;a=n[e+(i<<2)>>2]|0;BC(a);l=b+(i<<5)|0;a=(n[a+16>>2]|0)+16|0;n[l>>2]=n[a>>2];n[l+4>>2]=n[a+4>>2];n[l+8>>2]=n[a+8>>2];n[l+12>>2]=n[a+12>>2];n[l+16>>2]=n[a+16>>2];n[l+20>>2]=n[a+20>>2];n[l+24>>2]=n[a+24>>2];n[l+28>>2]=n[a+28>>2];i=i+1|0}if((n[f>>2]|0)==4){l=r+28|0;A:do{if(n[l>>2]&2|0){f=r+24|0;n[f>>2]=Jg(A<<2)|0;i=0;while(1){if((i|0)==(A|0))break A;a=fY(n[e+(i<<2)>>2]|0,84153)|0;if(a|0?(n[s>>2]=c,a=(PR(a,122187,s)|0)>0,t=n[c>>2]|0,a&(t|0)>-1):0)n[(n[f>>2]|0)+(i<<2)>>2]=t;i=i+1|0}}}while(0);i=_k(A,b,r)|0;if(n[l>>2]&2)zN(n[r+24>>2]|0)}else i=0;zN(b)}}while(0);v=o;return i|0}function Kk(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0.0,N=0.0,z=0.0,p=0.0;W=v;v=v+144|0;Q=W+136|0;M=W+64|0;V=W+48|0;Z=W+40|0;g=W;h=W+120|0;m=W+104|0;E=W+96|0;y=n[f+20>>2]|0;n[m>>2]=0;n[m+4>>2]=0;n[m+8>>2]=0;n[m+12>>2]=0;A:do{if((A|0)>=1){u=(y|0)==0;Y=n[13918]|0;B=h+4|0;k=h+8|0;w=h+12|0;I=m+4|0;G=m+8|0;C=m+12|0;o=0;a=0;while(1){if((o|0)==(A|0))break;d=n[e+(o<<2)>>2]|0;BC(d);if(!u?(r[y+o>>0]|0)!=0:0){b=n[d+16>>2]|0;J=+s[b+16>>3];l=~~(J+(J>=0.0?.5:-.5));n[h>>2]=l;J=+s[b+24>>3];t=~~(J+(J>=0.0?.5:-.5));n[B>>2]=t;J=+s[b+32>>3];c=~~(J+(J>=0.0?.5:-.5));n[k>>2]=c;J=+s[b+40>>3];b=~~(J+(J>=0.0?.5:-.5));n[w>>2]=b;if(!a){n[m>>2]=n[h>>2];n[m+4>>2]=n[h+4>>2];n[m+8>>2]=n[h+8>>2];n[m+12>>2]=n[h+12>>2]}else{n[m>>2]=n[((n[m>>2]|0)>(l|0)?h:m)>>2];n[I>>2]=n[((n[I>>2]|0)>(t|0)?h:m)+4>>2];n[G>>2]=n[((n[G>>2]|0)<(c|0)?h:m)+8>>2];n[C>>2]=n[((n[C>>2]|0)<(b|0)?h:m)+12>>2]}a=a+1|0}if(0>2){b=qY(d)|0;d=n[d+16>>2]|0;p=+s[d+16>>3];z=+s[d+24>>3];N=+s[d+32>>3];J=+s[d+40>>3];n[g>>2]=b;s[g+8>>3]=p;s[g+16>>3]=z;s[g+24>>3]=N;s[g+32>>3]=J;lR(Y,84220,g)|0}o=o+1|0}k=Ng(A<<5)|0;a=0;while(1){if((a|0)==(A|0))break;g=k+(a<<5)|0;h=(n[(n[e+(a<<2)>>2]|0)+16>>2]|0)+16|0;n[g>>2]=n[h>>2];n[g+4>>2]=n[h+4>>2];n[g+8>>2]=n[h+8>>2];n[g+12>>2]=n[h+12>>2];n[g+16>>2]=n[h+16>>2];n[g+20>>2]=n[h+20>>2];n[g+24>>2]=n[h+24>>2];n[g+28>>2]=n[h+28>>2];a=a+1|0}u=f+8|0;B=Aw(A,k,n[u>>2]|0)|0;if(0){n[Z>>2]=B;lR(Y,84248,Z)|0}if((B|0)>=1){o=(y|0)!=0;if(o){l=((n[G>>2]|0)+(n[m>>2]|0)|0)/2|0;a=((n[C>>2]|0)+(n[I>>2]|0)|0)/2|0}else{l=0;a=0}n[E+4>>2]=a;n[E>>2]=l;b=Jg(A<<4)|0;c=f+16|0;a=0;while(1){if((a|0)>=(A|0))break;l=n[e+(a<<2)>>2]|0;t=b+(a<<4)|0;n[b+(a<<4)+12>>2]=a;if((n[c>>2]|0)==3){m=(n[l+16>>2]|0)+16|0;I=n[u>>2]|0;C=qY(l)|0;n[M>>2]=n[m>>2];n[M+4>>2]=n[m+4>>2];n[M+8>>2]=n[m+8>>2];n[M+12>>2]=n[m+12>>2];n[M+16>>2]=n[m+16>>2];n[M+20>>2]=n[m+20>>2];n[M+24>>2]=n[m+24>>2];n[M+28>>2]=n[m+28>>2];n[Q>>2]=n[E>>2];n[Q+4>>2]=n[E+4>>2];ew(M,t,B,I,Q,C)}else{n[Q>>2]=n[E>>2];n[Q+4>>2]=n[E+4>>2];iw(i,l,t,B,f,Q)}a=a+1|0}t=Jg(A<<2)|0;a=0;while(1){if((a|0)>=(A|0))break;n[t+(a<<2)>>2]=b+(a<<4);a=a+1|0}$p(t,A,4,23);c=NZ()|0;a=Jg(A<<3)|0;e:do{if(o){l=0;while(1){if((l|0)>=(A|0)){l=0;break}if(r[y+l>>0]|0){i=n[t+(l<<2)>>2]|0;f=a+(n[i+12>>2]<<3)|0;n[Q>>2]=n[E>>2];n[Q+4>>2]=n[E+4>>2];fw(i,c,f,Q)}l=l+1|0}while(1){if((l|0)>=(A|0))break e;if(!(r[y+l>>0]|0)){E=n[t+(l<<2)>>2]|0;nw(l,E,c,a+(n[E+12>>2]<<3)|0,B,n[u>>2]|0,k)}l=l+1|0}}else{l=0;while(1){if((l|0)>=(A|0))break e;y=n[t+(l<<2)>>2]|0;nw(l,y,c,a+(n[y+12>>2]<<3)|0,B,n[u>>2]|0,k);l=l+1|0}}}while(0);zN(t);l=0;while(1){if((l|0)>=(A|0))break;zN(n[b+(l<<4)+4>>2]|0);l=l+1|0}zN(b);RZ(c);zN(k);if(0>1){l=0;while(1){if((l|0)>=(A|0))break A;E=n[a+(l<<3)>>2]|0;y=n[a+(l<<3)+4>>2]|0;n[V>>2]=l;n[V+4>>2]=E;n[V+8>>2]=y;lR(Y,84264,V)|0;l=l+1|0}}}else a=0}else a=0}while(0);v=W;return a|0}function _k(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0.0,t=0,c=0,b=0.0,o=0.0,u=0.0,B=0.0,k=0.0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0;C=v;v=v+16|0;a=C;m=Jg(A<<3)|0;f=n[i+4>>2]|0;I=i+28|0;r=(f|0)>0;do{if(!(n[I>>2]&1))if(r){c=1;G=(A+-1+f|0)/(f|0)|0;break}else{f=~~+D(+ +V(+ +(A|0)));c=1;G=(A+-1+f|0)/(f|0)|0;break}else if(r){c=0;G=f;f=(A+-1+f|0)/(f|0)|0;break}else{f=~~+D(+ +V(+ +(A|0)));c=0;G=f;f=(A+-1+f|0)/(f|0)|0;break}}while(0);if(0){Z=n[13918]|0;n[a>>2]=c|0?84159:84169;n[a+4>>2]=G;n[a+8>>2]=f;lR(Z,84182,a)|0}h=Jg((f<<3)+8|0)|0;g=Jg((G<<3)+8|0)|0;Z=Jg(A*24|0)|0;t=i+8|0;r=0;a=Z;while(1){if((r|0)>=(A|0))break;B=+s[e+(r<<5)+8>>3];u=+s[e+(r<<5)+24>>3];k=+((n[t>>2]|0)>>>0);s[a>>3]=+s[e+(r<<5)+16>>3]-+s[e+(r<<5)>>3]+k;s[a+8>>3]=u-B+k;n[a+16>>2]=r;r=r+1|0;a=a+24|0}d=Jg(A<<2)|0;r=0;while(1){if((r|0)>=(A|0))break;n[d+(r<<2)>>2]=Z+(r*24|0);r=r+1|0}r=n[i+24>>2]|0;if(!r){if(!(n[I>>2]&64))$p(d,A,4,25)}else{n[42101]=r;$p(d,A,4,24)}w=(c|0)==0;r=0;a=0;t=0;while(1){if((t|0)>=(A|0)){l=0.0;r=0;break}c=n[d+(t<<2)>>2]|0;i=h+(a<<3)|0;k=+s[i>>3];B=+s[c>>3];s[i>>3]=k>B?k:B;i=g+(r<<3)|0;B=+s[i>>3];k=+s[c+8>>3];s[i>>3]=B>k?B:k;if(w){r=r+1|0;i=(r|0)==(G|0);r=i?0:r;a=a+(i&1)|0}else{a=a+1|0;i=(a|0)==(f|0);r=r+(i&1)|0;a=i?0:a}t=t+1|0}while(1){if((r|0)>(f|0)){l=0.0;r=G;break}i=h+(r<<3)|0;k=+s[i>>3];s[i>>3]=l;l=k+l;r=r+1|0}while(1){if((r|0)<=0)break;i=r+-1|0;k=+s[g+(i<<3)>>3];s[g+(r<<3)>>3]=l;l=k+l;r=i}s[g>>3]=l;r=0;a=0;i=0;while(1){if((i|0)>=(A|0))break;c=n[(n[d+(i<<2)>>2]|0)+16>>2]|0;l=+s[e+(c<<5)>>3];b=-l;B=+s[e+(c<<5)+8>>3];k=-B;o=+s[e+(c<<5)+16>>3];u=+s[e+(c<<5)+24>>3];t=n[I>>2]|0;do{if(!(t&4))if(!(t&8)){l=(b-o+ +s[h+(a<<3)>>3]+ +s[h+(a+1<<3)>>3])*.5;break}else{l=l-o+ +s[h+(a+1<<3)>>3];break}else l=+s[h+(a<<3)>>3]}while(0);n[m+(c<<3)>>2]=~~l;do{if(!(t&16))if(!(t&32)){l=(k-u+ +s[g+(r<<3)>>3]+ +s[g+(r+1<<3)>>3])*.5;break}else{l=+s[g+(r+1<<3)>>3];break}else l=B-u+ +s[g+(r<<3)>>3]}while(0);n[m+(c<<3)+4>>2]=~~l;if(w){r=r+1|0;c=(r|0)==(G|0);r=c?0:r;a=a+(c&1)|0}else{a=a+1|0;c=(a|0)==(f|0);r=r+(c&1)|0;a=c?0:a}i=i+1|0}zN(Z);zN(d);zN(h);zN(g);v=C;return m|0}function qk(A,e){A=A|0;e=e|0;var i=0;i=n[42101]|0;A=n[i+(n[(n[A>>2]|0)+16>>2]<<2)>>2]|0;e=n[i+(n[(n[e>>2]|0)+16>>2]<<2)>>2]|0;return((A|0)>(e|0)?1:((A|0)<(e|0))<<31>>31)|0}function $k(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;A=n[A>>2]|0;e=n[e>>2]|0;r=+s[A>>3]+ +s[A+8>>3];i=+s[e>>3]+ +s[e+8>>3];return(r<i?1:(r>i)<<31>>31)|0}function Aw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,l=0.0,t=0.0,c=0,b=0,o=0.0,u=0.0,B=0,k=0,w=0,d=0;d=v;v=v+96|0;k=d+80|0;w=d+48|0;B=d+8|0;b=d;c=(A*100|0)+-1|0;r=+(i<<1|0);o=0.0;u=0.0;i=0;while(1){if((i|0)>=(A|0))break;t=+s[e+(i<<5)+16>>3]-+s[e+(i<<5)>>3]+r;l=+s[e+(i<<5)+24>>3]-+s[e+(i<<5)+8>>3]+r;o=o-t-l;u=u-l*t;i=i+1|0}l=+(c|0);t=o*o-l*4.0*u;if(!(t<0.0)){r=+V(+t);a=l*2.0;f=(r-o)/a;a=(-o-r)/a;i=~~f;i=(i|0)==0?1:i;if(0>2){b=n[13918]|0;VR(84407,27,1,b)|0;s[B>>3]=l;s[B+8>>3]=o;s[B+16>>3]=u;s[B+24>>3]=t;s[B+32>>3]=r;lR(b,84435,B)|0;n[w>>2]=i;s[w+8>>3]=f;n[w+16>>2]=~~a;s[w+24>>3]=a;lR(b,84461,w)|0;s[k>>3]=(f*l+o)*f+u;s[k+8>>3]=(a*l+o)*a+u;lR(b,84483,k)|0}}else{s[b>>3]=t;Gy(1,84380,b)|0;i=-1}v=d;return i|0}function ew(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0,c=0,b=0,o=0.0,u=0.0,B=0.0,k=0.0,w=0,d=0,h=0,g=0,Z=0.0,G=0.0;g=v;v=v+32|0;h=g+16|0;d=g;B=+s[A>>3];k=+s[A+8>>3];o=+s[A+16>>3];u=+s[A+24>>3];w=NZ()|0;t=n[f>>2]|0;A=t-r|0;c=n[f+4>>2]|0;l=c-r|0;t=r-~~(B+(B>=0.0?.5:-.5))+t+~~(o+(o>=0.0?.5:-.5))|0;c=r-~~(k+(k>=0.0?.5:-.5))+c+~~(u+(u>=0.0?.5:-.5))|0;if((A|0)>-1)f=(A|0)/(i|0)|0;else f=((A+1|0)/(i|0)|0)+-1|0;if((l|0)>-1)b=(l|0)/(i|0)|0;else b=((l+1|0)/(i|0)|0)+-1|0;if((t|0)>-1)t=(t|0)/(i|0)|0;else t=((t+1|0)/(i|0)|0)+-1|0;if((c|0)>-1)l=(c|0)/(i|0)|0;else l=((c+1|0)/(i|0)|0)+-1|0;while(1){if((f|0)>(t|0))break;else A=b;while(1){if((A|0)>(l|0))break;FZ(w,f,A);A=A+1|0}f=f+1|0}c=e+4|0;n[c>>2]=TZ(w)|0;t=XZ(w)|0;b=e+8|0;n[b>>2]=t;G=+(r<<1|0);Z=+(i|0);l=~~+D(+((o+G-B)/Z));A=~~+D(+((u+G-k)/Z));n[e>>2]=A+l;A:do{if(0>2){f=n[13918]|0;n[d>>2]=a;n[d+4>>2]=t;n[d+8>>2]=l;n[d+12>>2]=A;lR(f,84339,d)|0;A=0;while(1){if((A|0)>=(n[b>>2]|0))break A;a=n[c>>2]|0;d=n[a+(A<<3)+4>>2]|0;n[h>>2]=n[a+(A<<3)>>2];n[h+4>>2]=d;lR(f,84366,h)|0;A=A+1|0}}}while(0);RZ(w);v=g;return}function iw(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0.0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0.0,X=0.0;F=v;v=v+128|0;V=F+112|0;Y=F+104|0;H=F+16|0;P=F;J=F+64|0;N=F+56|0;C=F+40|0;M=F+96|0;I=F+88|0;Z=F+24|0;G=F+80|0;m=F+72|0;p=n[f+8>>2]|0;W=n[f+12>>2]|0;E=(A|0)==0?e:A;R=NZ()|0;z=e+16|0;Q=n[z>>2]|0;h=+s[Q+16>>3];y=(n[a>>2]|0)-~~(h+(h>=0.0?.5:-.5))|0;h=+s[Q+24>>3];Q=(n[a+4>>2]|0)-~~(h+(h>=0.0?.5:-.5))|0;A:do{if((n[f+16>>2]|0)==1){Z=Ng((zY(e)|0)<<2)|0;A=0;a=CV(e)|0;while(1){if(!a)break;m=a+16|0;n[Z+(A<<2)>>2]=n[(n[m>>2]|0)+112>>2];n[(n[m>>2]|0)+112>>2]=0;A=A+1|0;a=MV(e,a)|0}u=y-p|0;B=Q-p|0;k=y+p|0;w=Q+p|0;o=1;while(1){A=n[z>>2]|0;if((o|0)>(n[A+180>>2]|0))break;b=n[(n[A+184>>2]|0)+(o<<2)>>2]|0;l=n[b+16>>2]|0;h=+s[l+16>>3];A=~~(h+(h>=0.0?.5:-.5));h=+s[l+24>>3];a=~~(h+(h>=0.0?.5:-.5));h=+s[l+32>>3];f=~~(h+(h>=0.0?.5:-.5));h=+s[l+40>>3];l=~~(h+(h>=0.0?.5:-.5));e:do{if((f|0)>(A|0)&(l|0)>(a|0)){A=u+A|0;t=B+a|0;f=k+f|0;c=w+l|0;if((A|0)>-1)a=(A|0)/(r|0)|0;else a=((A+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)t=(t|0)/(r|0)|0;else t=((t+1|0)/(r|0)|0)+-1|0;if((f|0)>-1)l=(f|0)/(r|0)|0;else l=((f+1|0)/(r|0)|0)+-1|0;if((c|0)>-1)f=(c|0)/(r|0)|0;else f=((c+1|0)/(r|0)|0)+-1|0;while(1){if((a|0)>(l|0))break;else A=t;while(1){if((A|0)>(f|0))break;FZ(R,a,A);A=A+1|0}a=a+1|0}A=CV(b)|0;while(1){if(!A)break e;n[(n[A+16>>2]|0)+212>>2]=b;A=MV(b,A)|0}}}while(0);o=o+1|0}w=C+8|0;d=J+4|0;h=+(p|0);g=N+4|0;k=M+4|0;B=I+4|0;u=CV(e)|0;while(1){if(!u)break;qI(C,u);X=+s[C>>3];L=+s[w>>3];b=y+~~(X+(X>=0.0?.5:-.5))|0;n[J>>2]=b;o=Q+~~(L+(L>=0.0?.5:-.5))|0;n[d>>2]=o;a=u+16|0;A=n[a>>2]|0;e:do{if(!(n[A+212>>2]|0)){n[N>>2]=~~((+s[A+96>>3]+ +s[A+88>>3])*.5+h);n[g>>2]=~~(+s[A+80>>3]*.5+h);n[Y>>2]=n[J>>2];n[Y+4>>2]=n[J+4>>2];n[V>>2]=n[N>>2];n[V+4>>2]=n[N+4>>2];lw(M,Y,V);A=n[M>>2]|0;f=n[k>>2]|0;n[Y>>2]=n[J>>2];n[Y+4>>2]=n[J+4>>2];n[V>>2]=n[N>>2];n[V+4>>2]=n[N+4>>2];tw(I,Y,V);l=n[I>>2]|0;t=n[B>>2]|0;if((A|0)>-1)a=(A|0)/(r|0)|0;else a=((A+1|0)/(r|0)|0)+-1|0;if((f|0)>-1)c=(f|0)/(r|0)|0;else c=((f+1|0)/(r|0)|0)+-1|0;if((l|0)>-1)l=(l|0)/(r|0)|0;else l=((l+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)f=(t|0)/(r|0)|0;else f=((t+1|0)/(r|0)|0)+-1|0;while(1){if((a|0)>(l|0))break;else A=c;while(1){if((A|0)>(f|0))break;FZ(R,a,A);A=A+1|0}a=a+1|0}if((b|0)>-1)A=(b|0)/(r|0)|0;else A=((b+1|0)/(r|0)|0)+-1|0;n[J>>2]=A;if((o|0)>-1)A=(o|0)/(r|0)|0;else A=((o+1|0)/(r|0)|0)+-1|0;n[d>>2]=A;A=bY(E,u)|0;while(1){if(!A)break e;n[V>>2]=n[J>>2];n[V+4>>2]=n[J+4>>2];cw(A,V,R,y,Q,r,W);A=uY(E,A)|0}}else{if((b|0)>-1)A=(b|0)/(r|0)|0;else A=((b+1|0)/(r|0)|0)+-1|0;n[J>>2]=A;if((o|0)>-1)A=(o|0)/(r|0)|0;else A=((o+1|0)/(r|0)|0)+-1|0;n[d>>2]=A;A=bY(E,u)|0;while(1){if(!A)break e;if((n[(n[a>>2]|0)+212>>2]|0)!=(n[(n[(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){n[V>>2]=n[J>>2];n[V+4>>2]=n[J+4>>2];cw(A,V,R,y,Q,r,W)}A=uY(E,A)|0}}}while(0);u=MV(e,u)|0}A=0;a=CV(e)|0;while(1){if(!a)break;n[(n[a+16>>2]|0)+112>>2]=n[Z+(A<<2)>>2];A=A+1|0;a=MV(e,a)|0}zN(Z)}else{w=Z+8|0;d=J+4|0;h=+(p|0);g=N+4|0;k=G+4|0;B=m+4|0;u=CV(e)|0;while(1){if(!u)break A;qI(Z,u);L=+s[Z>>3];X=+s[w>>3];b=y+~~(L+(L>=0.0?.5:-.5))|0;n[J>>2]=b;o=Q+~~(X+(X>=0.0?.5:-.5))|0;n[d>>2]=o;A=n[u+16>>2]|0;n[N>>2]=~~((+s[A+96>>3]+ +s[A+88>>3])*.5+h);n[g>>2]=~~(+s[A+80>>3]*.5+h);n[Y>>2]=n[J>>2];n[Y+4>>2]=n[J+4>>2];n[V>>2]=n[N>>2];n[V+4>>2]=n[N+4>>2];lw(G,Y,V);A=n[G>>2]|0;f=n[k>>2]|0;n[Y>>2]=n[J>>2];n[Y+4>>2]=n[J+4>>2];n[V>>2]=n[N>>2];n[V+4>>2]=n[N+4>>2];tw(m,Y,V);l=n[m>>2]|0;t=n[B>>2]|0;if((A|0)>-1)a=(A|0)/(r|0)|0;else a=((A+1|0)/(r|0)|0)+-1|0;if((f|0)>-1)c=(f|0)/(r|0)|0;else c=((f+1|0)/(r|0)|0)+-1|0;if((l|0)>-1)l=(l|0)/(r|0)|0;else l=((l+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)f=(t|0)/(r|0)|0;else f=((t+1|0)/(r|0)|0)+-1|0;while(1){if((a|0)>(l|0))break;else A=c;while(1){if((A|0)>(f|0))break;FZ(R,a,A);A=A+1|0}a=a+1|0}if((b|0)>-1)A=(b|0)/(r|0)|0;else A=((b+1|0)/(r|0)|0)+-1|0;n[J>>2]=A;if((o|0)>-1)A=(o|0)/(r|0)|0;else A=((o+1|0)/(r|0)|0)+-1|0;n[d>>2]=A;A=bY(E,u)|0;while(1){if(!A)break;n[V>>2]=n[J>>2];n[V+4>>2]=n[J+4>>2];cw(A,V,R,y,Q,r,W);A=uY(E,A)|0}u=MV(e,u)|0}}}while(0);l=i+4|0;n[l>>2]=TZ(R)|0;t=i+8|0;n[t>>2]=XZ(R)|0;a=n[z>>2]|0;L=+(p<<1|0);X=+(r|0);A=~~+D(+((+s[a+32>>3]+L-+s[a+16>>3])/X));a=~~+D(+((+s[a+40>>3]+L-+s[a+24>>3])/X));n[i>>2]=a+A;A:do{if(0>2){f=n[13918]|0;i=qY(e)|0;e=n[t>>2]|0;n[P>>2]=i;n[P+4>>2]=e;n[P+8>>2]=A;n[P+12>>2]=a;lR(f,84339,P)|0;A=0;while(1){if((A|0)>=(n[t>>2]|0))break A;e=n[l>>2]|0;P=n[e+(A<<3)+4>>2]|0;n[H>>2]=n[e+(A<<3)>>2];n[H+4>>2]=P;lR(f,84366,H)|0;A=A+1|0}}}while(0);RZ(R);v=F;return}function rw(A,e){A=A|0;e=e|0;return(n[n[e>>2]>>2]|0)-(n[n[A>>2]>>2]|0)|0}function fw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0,s=0;c=v;v=v+32|0;l=c+16|0;t=c;s=n[A+4>>2]|0;a=n[A+8>>2]|0;n[i>>2]=0-(n[r>>2]|0);f=i+4|0;n[f>>2]=0-(n[r+4>>2]|0);A=0;r=s;while(1){if((A|0)>=(a|0))break;n[l>>2]=n[r>>2];n[l+4>>2]=n[r+4>>2];PZ(e,l);A=A+1|0;r=r+8|0}if(0>1){s=n[13918]|0;e=n[i>>2]|0;i=n[f>>2]|0;n[t>>2]=a;n[t+4>>2]=e;n[t+8>>2]=i;lR(s,84313,t)|0}v=c;return}function nw(A,e,i,r,f,a,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;l=l|0;var t=0,c=0,b=0.0,o=0.0,u=0.0,v=0.0,B=0.0,k=0.0;c=n[e+12>>2]|0;b=+s[l+(c<<5)>>3];o=+s[l+(c<<5)+8>>3];u=+s[l+(c<<5)+16>>3];v=+s[l+(c<<5)+24>>3];if(!((A|0)==0?(k=+(a<<1|0),B=+(f|0),(aw((~~+D(+((k-b+u)/B))|0)/-2|0,(~~+D(+((k-o+v)/B))|0)/-2|0,e,i,r,f,l)|0)!=0):0))t=3;A:do{if((t|0)==3?(aw(0,0,e,i,r,f,l)|0)==0:0)if((~~+D(+(u-b))|0)<(~~+D(+(v-o))|0)){c=1;while(1){t=0-c|0;A=0;while(1){if((A|0)<=(t|0)){a=t;break}if(aw(t,A,e,i,r,f,l)|0)break A;A=A+-1|0}while(1){if((a|0)>=(c|0))break;if(aw(a,A,e,i,r,f,l)|0)break A;a=a+1|0}while(1){if((A|0)>=(c|0))break;if(aw(a,A,e,i,r,f,l)|0)break A;A=A+1|0}while(1){if((a|0)<=(t|0))break;if(aw(a,A,e,i,r,f,l)|0)break A;a=a+-1|0}while(1){if((A|0)<=0)break;if(!(aw(a,A,e,i,r,f,l)|0))A=A+-1|0;else break A}c=c+1|0}}else{c=1;while(1){t=0-c|0;A=0;while(1){if((A|0)>=(c|0)){a=t;break}if(aw(A,t,e,i,r,f,l)|0)break A;A=A+1|0}while(1){if((a|0)>=(c|0))break;if(aw(A,a,e,i,r,f,l)|0)break A;a=a+1|0}while(1){if((A|0)<=(t|0))break;if(aw(A,a,e,i,r,f,l)|0)break A;A=A+-1|0}while(1){if((a|0)<=(t|0))break;if(aw(A,a,e,i,r,f,l)|0)break A;a=a+-1|0}while(1){if((A|0)>=0)break;if(!(aw(A,a,e,i,r,f,l)|0))A=A+1|0;else break A}c=c+1|0}}}while(0);return}function aw(A,e,i,r,f,a,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;l=l|0;var t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0.0,m=0.0;h=v;v=v+48|0;w=h+32|0;d=h+8|0;k=h;b=i+4|0;u=n[i+8>>2]|0;B=k+4|0;t=n[b>>2]|0;c=0;while(1){if((c|0)>=(u|0)){o=5;break}Z=t;g=n[Z+4>>2]|0;n[k>>2]=(n[Z>>2]|0)+A;n[B>>2]=g+e;n[w>>2]=n[k>>2];n[w+4>>2]=n[k+4>>2];if(LZ(r,w)|0){t=0;break}t=t+8|0;c=c+1|0}if((o|0)==5){i=n[i+12>>2]|0;m=+s[l+(i<<5)>>3];G=+s[l+(i<<5)+8>>3];n[f>>2]=(X(a,A)|0)-~~(m+(m>=0.0?.5:-.5));i=f+4|0;n[i>>2]=(X(a,e)|0)-~~(G+(G>=0.0?.5:-.5));t=n[b>>2]|0;c=0;while(1){if((c|0)>=(u|0))break;g=t;Z=n[g+4>>2]|0;n[k>>2]=(n[g>>2]|0)+A;n[B>>2]=Z+e;n[w>>2]=n[k>>2];n[w+4>>2]=n[k+4>>2];PZ(r,w);t=t+8|0;c=c+1|0}if(0>1){t=n[13918]|0;g=n[f>>2]|0;Z=n[i>>2]|0;n[d>>2]=u;n[d+4>>2]=A;n[d+8>>2]=e;n[d+12>>2]=g;n[d+16>>2]=Z;lR(t,84279,d)|0;t=1}else t=1}v=h;return t|0}function lw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(n[e+4>>2]|0)-(n[i+4>>2]|0)|0;n[A>>2]=(n[e>>2]|0)-(n[i>>2]|0);n[A+4>>2]=r;return}function tw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(n[i+4>>2]|0)+(n[e+4>>2]|0)|0;n[A>>2]=(n[i>>2]|0)+(n[e>>2]|0);n[A+4>>2]=r;return}function cw(A,e,i,r,f,a,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;l=l|0;var t=0.0,c=0.0,b=0,o=0,u=0.0,B=0.0,k=0.0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0;M=v;v=v+112|0;m=M+96|0;G=M+80|0;w=M+48|0;d=M+32|0;I=M+16|0;C=M;o=M+64|0;s[I>>3]=+(n[e>>2]|0);h=I+8|0;s[h>>3]=+(n[e+4>>2]|0);A:do{if((l|0)!=0?(g=A+16|0,b=n[(n[g>>2]|0)+8>>2]|0,(b|0)!=0):0){k=+(r|0);B=+(f|0);u=1.0/+(a|0);o=C+8|0;l=0;while(1){if((l|0)>=(n[b+4>>2]|0))break A;f=n[b>>2]|0;A=n[f+(l*48|0)>>2]|0;e=n[f+(l*48|0)+4>>2]|0;a=n[f+(l*48|0)+8>>2]|0;r=n[f+(l*48|0)+12>>2]|0;b=f+(l*48|0)+16|0;n[w>>2]=n[b>>2];n[w+4>>2]=n[b+4>>2];n[w+8>>2]=n[b+8>>2];n[w+12>>2]=n[b+12>>2];f=f+(l*48|0)+32|0;n[d>>2]=n[f>>2];n[d+4>>2]=n[f+4>>2];n[d+8>>2]=n[f+8>>2];n[d+12>>2]=n[f+12>>2];if(!a){n[I>>2]=n[A>>2];n[I+4>>2]=n[A+4>>2];n[I+8>>2]=n[A+8>>2];n[I+12>>2]=n[A+12>>2];b=A+16|0;n[C>>2]=n[b>>2];n[C+4>>2]=n[b+4>>2];n[C+8>>2]=n[b+8>>2];n[C+12>>2]=n[b+12>>2];b=2}else{n[I>>2]=n[w>>2];n[I+4>>2]=n[w+4>>2];n[I+8>>2]=n[w+8>>2];n[I+12>>2]=n[w+12>>2];n[C>>2]=n[A>>2];n[C+4>>2]=n[A+4>>2];n[C+8>>2]=n[A+8>>2];n[C+12>>2]=n[A+12>>2];b=1}t=+s[I>>3]+k;s[I>>3]=t;c=+s[h>>3]+B;s[h>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;s[I>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;s[h>>3]=t;t=+s[C>>3]+k;s[C>>3]=t;c=+s[o>>3]+B;s[o>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;s[C>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;s[o>>3]=t;n[G>>2]=n[I>>2];n[G+4>>2]=n[I+4>>2];n[G+8>>2]=n[I+8>>2];n[G+12>>2]=n[I+12>>2];n[m>>2]=n[C>>2];n[m+4>>2]=n[C+4>>2];n[m+8>>2]=n[C+8>>2];n[m+12>>2]=n[C+12>>2];Sk(G,m,i);while(1){if((b|0)>=(e|0))break;n[I>>2]=n[C>>2];n[I+4>>2]=n[C+4>>2];n[I+8>>2]=n[C+8>>2];n[I+12>>2]=n[C+12>>2];a=A+(b<<4)|0;n[C>>2]=n[a>>2];n[C+4>>2]=n[a+4>>2];n[C+8>>2]=n[a+8>>2];n[C+12>>2]=n[a+12>>2];t=+s[C>>3]+k;s[C>>3]=t;c=+s[o>>3]+B;s[o>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;s[C>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;s[o>>3]=t;n[G>>2]=n[I>>2];n[G+4>>2]=n[I+4>>2];n[G+8>>2]=n[I+8>>2];n[G+12>>2]=n[I+12>>2];n[m>>2]=n[C>>2];n[m+4>>2]=n[C+4>>2];n[m+8>>2]=n[C+8>>2];n[m+12>>2]=n[C+12>>2];Sk(G,m,i);b=b+1|0}if(r|0){n[I>>2]=n[C>>2];n[I+4>>2]=n[C+4>>2];n[I+8>>2]=n[C+8>>2];n[I+12>>2]=n[C+12>>2];n[C>>2]=n[d>>2];n[C+4>>2]=n[d+4>>2];n[C+8>>2]=n[d+8>>2];n[C+12>>2]=n[d+12>>2];t=+s[C>>3]+k;s[C>>3]=t;c=+s[o>>3]+B;s[o>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;s[C>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;s[o>>3]=t;n[G>>2]=n[I>>2];n[G+4>>2]=n[I+4>>2];n[G+8>>2]=n[I+8>>2];n[G+12>>2]=n[I+12>>2];n[m>>2]=n[C>>2];n[m+4>>2]=n[C+4>>2];n[m+8>>2]=n[C+8>>2];n[m+12>>2]=n[C+12>>2];Sk(G,m,i)}l=l+1|0;b=n[(n[g>>2]|0)+8>>2]|0}}else Z=4}while(0);if((Z|0)==4){qI(o,n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0);n[C>>2]=n[o>>2];n[C+4>>2]=n[o+4>>2];n[C+8>>2]=n[o+8>>2];n[C+12>>2]=n[o+12>>2];t=+s[C>>3]+ +(r|0);s[C>>3]=t;b=C+8|0;c=+s[b>>3]+ +(f|0);s[b>>3]=c;if(!(t>=0.0))t=(t+1.0)/+(a|0)+-1.0;else t=t/+(a|0);s[C>>3]=t;if(!(c>=0.0))t=(c+1.0)/+(a|0)+-1.0;else t=c/+(a|0);s[b>>3]=t;n[G>>2]=n[I>>2];n[G+4>>2]=n[I+4>>2];n[G+8>>2]=n[I+8>>2];n[G+12>>2]=n[I+12>>2];n[m>>2]=n[C>>2];n[m+4>>2]=n[C+4>>2];n[m+8>>2]=n[C+8>>2];n[m+12>>2]=n[C+12>>2];Sk(G,m,i)}v=M;return}function sw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,b=0,o=0.0,u=0.0,v=0.0,B=0.0,k=0,w=0,d=0,h=0;A:do{if((A|0)<1)f=0-A|0;else{d=(r|0)==0;k=(f|0)==0;t=0;while(1){if((t|0)==(A|0)){f=0;break A}w=n[e+(t<<2)>>2]|0;a=d?w:r;c=n[i+(t<<3)>>2]|0;b=n[i+(t<<3)+4>>2]|0;o=+(c|0);u=o*.013888888888888888;v=+(b|0);B=v*.013888888888888888;l=CV(w)|0;while(1){if(!l)break;f=n[l+16>>2]|0;h=n[f+132>>2]|0;s[h>>3]=+s[h>>3]+u;h=h+8|0;s[h>>3]=+s[h>>3]+B;h=f+16|0;s[h>>3]=+s[h>>3]+o;h=f+24|0;s[h>>3]=+s[h>>3]+v;f=n[f+108>>2]|0;if(f|0){h=f+56|0;s[h>>3]=+s[h>>3]+o;h=f+64|0;s[h>>3]=+s[h>>3]+v}e:do{if(!k){f=bY(a,l)|0;while(1){if(!f)break e;bw(f,c,b);f=uY(a,f)|0}}}while(0);l=MV(w,l)|0}ow(w,c,b);t=t+1|0}}}while(0);return f|0}function bw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0.0,c=0,b=0.0,o=0,u=0;r=n[A+16>>2]|0;A=n[r+96>>2]|0;if(A|0){o=A+56|0;s[o>>3]=+s[o>>3]+ +(e|0);o=A+64|0;s[o>>3]=+s[o>>3]+ +(i|0)}A=n[r+108>>2]|0;if(A|0){o=A+56|0;s[o>>3]=+s[o>>3]+ +(e|0);o=A+64|0;s[o>>3]=+s[o>>3]+ +(i|0)}A=n[r+100>>2]|0;if(A|0){o=A+56|0;s[o>>3]=+s[o>>3]+ +(e|0);o=A+64|0;s[o>>3]=+s[o>>3]+ +(i|0)}A=n[r+104>>2]|0;if(A|0){o=A+56|0;s[o>>3]=+s[o>>3]+ +(e|0);o=A+64|0;s[o>>3]=+s[o>>3]+ +(i|0)}o=n[r+8>>2]|0;A:do{if(o|0){b=+(e|0);t=+(i|0);e=n[o+4>>2]|0;A=0;while(1){if((A|0)>=(e|0))break A;c=n[o>>2]|0;i=n[c+(A*48|0)>>2]|0;f=n[c+(A*48|0)+4>>2]|0;a=n[c+(A*48|0)+8>>2]|0;l=n[c+(A*48|0)+12>>2]|0;r=0;while(1){if((r|0)>=(f|0))break;u=i+(r<<4)|0;s[u>>3]=+s[u>>3]+b;u=i+(r<<4)+8|0;s[u>>3]=+s[u>>3]+t;r=r+1|0}if(a|0){u=c+(A*48|0)+16|0;s[u>>3]=+s[u>>3]+b;u=c+(A*48|0)+24|0;s[u>>3]=+s[u>>3]+t}if(l|0){u=c+(A*48|0)+32|0;s[u>>3]=+s[u>>3]+b;u=c+(A*48|0)+40|0;s[u>>3]=+s[u>>3]+t}A=A+1|0}}}while(0);return}function ow(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0.0,l=0.0,t=0,c=0.0,b=0.0,o=0,u=0.0,v=0;t=A+16|0;A=n[t>>2]|0;v=A+16|0;o=A+24|0;f=A+32|0;A=A+40|0;a=+(e|0);b=+s[f>>3]+a;l=+(i|0);u=+s[o>>3]+l;c=+s[A>>3]+l;s[v>>3]=+s[v>>3]+a;s[o>>3]=u;s[f>>3]=b;s[A>>3]=c;A=n[t>>2]|0;f=n[A+12>>2]|0;if((f|0)!=0?(r[f+81>>0]|0)!=0:0){v=f+56|0;s[v>>3]=+s[v>>3]+a;f=f+64|0;s[f>>3]=+s[f>>3]+l;f=1}else f=1;while(1){if((f|0)>(n[A+180>>2]|0))break;ow(n[(n[A+184>>2]|0)+(f<<2)>>2]|0,e,i);f=f+1|0;A=n[t>>2]|0}return}function uw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=Ok(A,e,i,r)|0;if(!f)A=1;else{A=sw(A,e,f,i,n[r+12>>2]|0)|0;zN(f)}return A|0}function vw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0;B=v;v=v+32|0;u=B;o=uw(A,e,i,r)|0;if(!o){BC(i);b=(n[i+16>>2]|0)+16|0;n[u>>2]=n[b>>2];n[u+4>>2]=n[b+4>>2];n[u+8>>2]=n[b+8>>2];n[u+12>>2]=n[b+12>>2];n[u+16>>2]=n[b+16>>2];n[u+20>>2]=n[b+20>>2];n[u+24>>2]=n[b+24>>2];n[u+28>>2]=n[b+28>>2];f=u+8|0;a=u+16|0;l=u+24|0;r=0;while(1){if((r|0)>=(A|0))break;c=n[(n[e+(r<<2)>>2]|0)+16>>2]|0;t=n[c+180>>2]|0;c=c+184|0;i=1;while(1){if((i|0)>(t|0))break;w=(n[(n[(n[c>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+16|0;s[u>>3]=+s[(+s[u>>3]<+s[w>>3]?u:w)>>3];w=n[(n[(n[c>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;k=w+16|0;s[f>>3]=+s[(+s[f>>3]<+s[w+24>>3]?u:k)+8>>3];s[a>>3]=+s[(+s[a>>3]>+s[w+32>>3]?u:k)+16>>3];s[l>>3]=+s[(+s[l>>3]>+s[w+40>>3]?u:k)+24>>3];i=i+1|0}r=r+1|0}n[b>>2]=n[u>>2];n[b+4>>2]=n[u+4>>2];n[b+8>>2]=n[u+8>>2];n[b+12>>2]=n[u+12>>2];n[b+16>>2]=n[u+16>>2];n[b+20>>2]=n[u+20>>2];n[b+24>>2]=n[u+24>>2];n[b+28>>2]=n[u+28>>2]}v=B;return o|0}function Bw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0;a=v;v=v+16|0;f=a;if(!r)BA(84497,84503,1400,84510);i=kw(A,i,i)|0;n[r+8>>2]=i;if(0){l=n[13918]|0;n[f>>2]=i;lR(l,84522,f)|0}n[r+12>>2]=0;n[r+20>>2]=0;ww(A,e,r)|0;v=a;return n[r+16>>2]|0}function kw(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0;t=v;v=v+16|0;l=t;f=t+4|0;a=fY(A,84652)|0;A:do{if(a){n[l>>2]=f;l=(PR(a,122187,l)|0)==1;A=n[f>>2]|0;if(l&(A|0)>-1)e=A;else{switch(r[a>>0]|0){case 84:case 116:break;default:break A}e=i}}}while(0);v=t;return e|0}function ww(A,e,i){A=A|0;e=e|0;i=i|0;return dw(fY(A,84535)|0,e,i)|0}function dw(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0.0;g=v;v=v+64|0;w=g+40|0;k=g+32|0;h=g+24|0;d=g+16|0;b=g+8|0;t=g;a=g+48|0;l=g+44|0;if(!i)BA(84497,84503,1292,84544);u=i+28|0;n[u>>2]=0;B=i+16|0;n[B>>2]=e;o=i+4|0;n[o>>2]=0;n[i+24>>2]=0;A:do{if(A|0?(f=r[A>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:if(!(Yz(A,84562,5)|0)){n[B>>2]=4;b=hw(A+5|0,i)|0;n[t>>2]=l;b=(PR(b,122187,t)|0)>0;e=n[l>>2]|0;if(!(b&(e|0)>0))break A;n[o>>2]=e;break A}else{if(Yz(A,84568,6)|0)break A;n[B>>2]=5;n[b>>2]=a;b=(PR(A+5|0,84575,b)|0)>0;Z=+c[a>>2];c[i>>2]=b&Z>0.0?Z:1.0;break A}case 99:{if(f<<24>>24!=99)break A;if(az(A,92983)|0)break A;n[B>>2]=1;break A}case 103:{if(f<<24>>24!=103)break A;if(az(A,96286)|0)break A;n[B>>2]=3;break A}case 110:{if(f<<24>>24!=110)break A;if(az(A,96273)|0)break A;n[B>>2]=2;break A}default:break A}}while(0);if(0){e=n[13918]|0;VR(84578,11,1,e)|0;n[d>>2]=gw(n[B>>2]|0)|0;lR(e,84590,d)|0;if((n[B>>2]|0)==5){s[h>>3]=+c[i>>2];lR(e,84603,h)|0}n[k>>2]=n[o>>2];lR(e,84616,k)|0;n[w>>2]=n[u>>2];lR(e,84629,w)|0}v=g;return n[B>>2]|0}function hw(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;A:do{if((r[A>>0]|0)==95){f=e+28|0;i=1;while(1){A=A+1|0;e:while(1){if(!i)break A;e=r[A>>0]|0;if(!(e<<24>>24))break A;switch(e<<24>>24|0){case 99:{a=10;break e}case 105:{a=9;break e}case 117:{a=11;break e}case 116:{a=12;break e}case 98:{e=32;break e}case 108:{a=7;break e}case 114:{a=8;break e}default:i=0}}if((a|0)==7){a=0;e=4}else if((a|0)==8){a=0;e=8}else if((a|0)==9){a=0;e=64}else if((a|0)==10){a=0;e=1}else if((a|0)==11){a=0;e=2}else if((a|0)==12){a=0;e=16}n[f>>2]=n[f>>2]|e}}}while(0);return A|0}function gw(A){A=A|0;switch(A|0){case 1:{A=92983;break}case 2:{A=96273;break}case 3:{A=96286;break}case 4:{A=84562;break}case 5:{A=84568;break}default:A=84642}return A|0}function Zw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;o=v;v=v+96|0;s=o;b=o+80|0;do{if(A){if(!r){r=pN(1,20)|0;n[r+4>>2]=i>>>0>80?i:80}i=n[r>>2]|0;c=n[r+4>>2]|0;if(!i){l=100;i=A;t=pN(100,c)|0}else{l=i+100|0;t=RN(n[r+8>>2]|0,X(l,c)|0)|0;yH(t+(X(c,i)|0)|0,0,c*100|0)|0;i=A}while(1){i=Gw(s,i,e,b)|0;if(!i)break;A=n[r>>2]|0;f=l<<1;a=X(l,c)|0;if((A|0)==(l|0)){t=RN(t,X(f,c)|0)|0;yH(t+a|0,0,a|0)|0;A=n[r>>2]|0}else f=l;A=t+(X(A,c)|0)|0;a=s;l=A+80|0;do{n[A>>2]=n[a>>2];A=A+4|0;a=a+4|0}while((A|0)<(l|0));n[r>>2]=(n[r>>2]|0)+1;l=f}if(n[b>>2]|0){b=r+16|0;n[b>>2]=n[b>>2]|1}i=n[r>>2]|0;if(!i){zN(t);zN(r);r=0;break}else{n[r+8>>2]=RN(t,X(i,c)|0)|0;break}}}while(0);v=o;return r|0}function Gw(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0;c=v;v=v+80|0;l=c+64|0;t=c;n[f>>2]=0;do{a=r[e>>0]|0;e=e+1|0}while((Wz(a)|0)!=0);A:do{switch(a|0){case 69:{n[A>>2]=0;e=mw(e,A+8|0)|0;if(!e){n[f>>2]=1;e=0;break A}if(i)n[A+72>>2]=n[i>>2];break}case 101:{n[A>>2]=1;e=mw(e,A+8|0)|0;if(!e){n[f>>2]=1;e=0;break A}if(i)n[A+72>>2]=n[i>>2];break}case 80:{n[A>>2]=2;e=Iw(e,A+8|0)|0;if(!e){n[f>>2]=1;e=0;break A}if(i)n[A+72>>2]=n[i+4>>2];break}case 112:{n[A>>2]=3;e=Iw(e,A+8|0)|0;if(!e){n[f>>2]=1;e=0;break A}if(i)n[A+72>>2]=n[i+4>>2];break}case 98:{n[A>>2]=4;e=Iw(e,A+8|0)|0;if(!e){n[f>>2]=1;e=0;break A}if(i)n[A+72>>2]=n[i+8>>2];break}case 66:{n[A>>2]=5;e=Iw(e,A+8|0)|0;if(!e){n[f>>2]=1;e=0;break A}if(i)n[A+72>>2]=n[i+8>>2];break}case 99:{e=Cw(e,l)|0;if(!e){n[f>>2]=1;e=0;break A}a=Mw(n[l>>2]|0,t)|0;n[l>>2]=a;if(!a){n[f>>2]=1;e=0;break A}if(!(n[t>>2]|0)){n[A>>2]=9;n[A+8>>2]=n[t+8>>2];if(!i)break A;n[A+72>>2]=n[i+24>>2];break A}else{n[A>>2]=14;f=A+8|0;a=t;l=f+64|0;do{n[f>>2]=n[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(l|0));if(!i)break A;n[A+72>>2]=n[i+40>>2];break A}}case 67:{e=Cw(e,l)|0;if(!e){n[f>>2]=1;e=0;break A}a=Mw(n[l>>2]|0,t)|0;n[l>>2]=a;if(!a){n[f>>2]=1;e=0;break A}if(!(n[t>>2]|0)){n[A>>2]=8;n[A+8>>2]=n[t+8>>2];if(!i)break A;n[A+72>>2]=n[i+20>>2];break A}else{n[A>>2]=13;f=A+8|0;a=t;l=f+64|0;do{n[f>>2]=n[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(l|0));if(!i)break A;n[A+72>>2]=n[i+40>>2];break A}}case 76:{n[A>>2]=6;e=Iw(e,A+8|0)|0;if(!e){n[f>>2]=1;e=0;break A}if(i)n[A+72>>2]=n[i+12>>2];break}case 84:{n[A>>2]=7;e=Qw(e,A+8|0)|0;if(!e){n[f>>2]=1;e=0;break A}e=Qw(e,A+16|0)|0;if(!e){n[f>>2]=1;e=0;break A}e=Ew(e,A+24|0)|0;if(!e){n[f>>2]=1;e=0;break A}e=Qw(e,A+32|0)|0;if(!e){n[f>>2]=1;e=0;break A}e=Cw(e,A+40|0)|0;if(!e){n[f>>2]=1;e=0;break A}if(i)n[A+72>>2]=n[i+16>>2];break}case 70:{n[A>>2]=10;e=Qw(e,A+8|0)|0;if(!e){n[f>>2]=1;e=0;break A}e=Cw(e,A+16|0)|0;if(!e){n[f>>2]=1;e=0;break A}if(i)n[A+72>>2]=n[i+28>>2];break}case 83:{n[A>>2]=11;e=Cw(e,A+8|0)|0;if(!e){n[f>>2]=1;e=0;break A}if(i)n[A+72>>2]=n[i+32>>2];break}case 73:{n[A>>2]=12;e=mw(e,A+8|0)|0;if(!e){n[f>>2]=1;e=0;break A}e=Cw(e,A+40|0)|0;if(!e){n[f>>2]=1;e=0;break A}if(i)n[A+72>>2]=n[i+36>>2];break}case 116:{n[A>>2]=15;e=yw(e,A+8|0)|0;if(!e){n[f>>2]=1;e=0;break A}if(i)n[A+72>>2]=n[i+44>>2];break}case 0:{e=0;break}default:{n[f>>2]=1;e=0}}}while(0);v=c;return e|0}function mw(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0;l=v;v=v+16|0;r=l;s[e>>3]=+eP(A,r);f=n[r>>2]|0;if(((f|0)!=(A|0)?(s[e+8>>3]=+eP(f,r),a=n[r>>2]|0,(f|0)!=(a|0)):0)?(s[e+16>>3]=+eP(a,r),i=n[r>>2]|0,(a|0)!=(i|0)):0){s[e+24>>3]=+eP(i,r);A=n[r>>2]|0;A=(i|0)==(A|0)?0:A}else A=0;v=l;return A|0}function Iw(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0;c=v;v=v+16|0;t=c+4|0;a=c;A=Yw(A,t)|0;do{if(A){i=n[t>>2]|0;l=pN(i,24)|0;n[e>>2]=i;r=l;f=0;while(1){if((f|0)>=(i|0)){i=9;break}s[r>>3]=+eP(A,a);i=n[a>>2]|0;if((A|0)==(i|0)){i=5;break}s[r+8>>3]=+eP(i,a);A=n[a>>2]|0;if((i|0)==(A|0)){i=7;break}s[r+16>>3]=0.0;r=r+24|0;i=n[e>>2]|0;f=f+1|0}if((i|0)==5){n[t>>2]=f;zN(l);A=0;break}else if((i|0)==7){n[t>>2]=f;zN(l);A=0;break}else if((i|0)==9){n[t>>2]=f;n[e+4>>2]=l;break}}else A=0}while(0);v=c;return A|0}function Cw(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0;c=v;v=v+16|0;t=c;A=Yw(A,t)|0;f=n[t>>2]|0;do{if(!((A|0)==0|(f|0)<1)){while(1){l=r[A>>0]|0;i=l<<24>>24==0;if(i^l<<24>>24!=45)A=A+1|0;else break}if(!i){l=pN(f+1|0,1)|0;a=l;i=f;while(1){A=A+1|0;if((i|0)<=0){i=9;break}i=r[A>>0]|0;if(!(i<<24>>24)){i=8;break}r[a>>0]=i;i=(n[t>>2]|0)+-1|0;n[t>>2]=i;a=a+1|0}if((i|0)==8){zN(l);A=0;break}else if((i|0)==9){r[a>>0]=0;n[e>>2]=l;break}}else A=0}else A=0}while(0);v=c;return A|0}function Mw(A,e){A=A|0;e=e|0;var i=0;i=r[A>>0]|0;switch(i|0){case 91:{A=Vw(A+1|0,e)|0;break}case 40:{A=Ww(A+1|0,e)|0;break}case 47:case 35:{n[e>>2]=0;n[e+8>>2]=A;break}default:if(!(Dz(i)|0))A=0;else{n[e>>2]=0;n[e+8>>2]=A}}return A|0}function Qw(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0;f=v;v=v+16|0;i=f;r=+eP(A,i);i=n[i>>2]|0;if((i|0)==(A|0))i=0;else s[e>>3]=r;v=f;return i|0}function Ew(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;A=Yw(A,r)|0;r=n[r>>2]|0;n[e>>2]=(r|0)<0?0:r|0?2:1;v=i;return A|0}function yw(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;n[e>>2]=Jz(A,r,10)|0;e=n[r>>2]|0;v=i;return((e|0)==(A|0)?0:e)|0}function Yw(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;n[e>>2]=cR(A,r,10)|0;e=n[r>>2]|0;v=i;return((e|0)==(A|0)?0:e)|0}function Vw(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,b=0,o=0,u=0;u=v;v=v+16|0;b=u;n[e>>2]=1;o=e+8|0;a=Qw(A,o)|0;do{if(((((a|0)!=0?(l=Qw(a,e+16|0)|0,(l|0)!=0):0)?(r=Qw(l,e+24|0)|0,(r|0)!=0):0)?(f=Qw(r,e+32|0)|0,(f|0)!=0):0)?(t=e+40|0,i=Yw(f,t)|0,(i|0)!=0):0){e=n[t>>2]|0;f=pN(e,8)|0;r=0;while(1){if((r|0)>=(e|0)){i=13;break}i=Qw(i,b)|0;if(!i){i=9;break}c[f+(r<<3)>>2]=+s[b>>3];i=Cw(i,f+(r<<3)+4|0)|0;if(!i){i=12;break}r=r+1|0;e=n[t>>2]|0}if((i|0)==9){zN(f);A=0;break}else if((i|0)==12){zN(f);A=0;break}else if((i|0)==13){n[o+36>>2]=f;break}}else A=0}while(0);v=u;return A|0}function Ww(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,b=0,o=0,u=0,B=0;B=v;v=v+16|0;o=B;n[e>>2]=2;t=Qw(A,e+8|0)|0;do{if(((((((t|0)!=0?(b=Qw(t,e+16|0)|0,(b|0)!=0):0)?(r=Qw(b,e+24|0)|0,(r|0)!=0):0)?(f=Qw(r,e+32|0)|0,(f|0)!=0):0)?(a=Qw(f,e+40|0)|0,(a|0)!=0):0)?(l=Qw(a,e+48|0)|0,(l|0)!=0):0)?(u=e+56|0,i=Yw(l,u)|0,(i|0)!=0):0){r=n[u>>2]|0;a=pN(r,8)|0;f=0;while(1){if((f|0)>=(r|0)){i=15;break}i=Qw(i,o)|0;if(!i){i=11;break}c[a+(f<<3)>>2]=+s[o>>3];i=Cw(i,a+(f<<3)+4|0)|0;if(!i){i=14;break}f=f+1|0;r=n[u>>2]|0}if((i|0)==11){zN(a);A=0;break}else if((i|0)==14){zN(a);A=0;break}else if((i|0)==15){n[e+60>>2]=a;break}}else A=0}while(0);v=B;return A|0}function Jw(A,e,i){A=A|0;e=e|0;i=i|0;return Zw(A,e,i,0)|0}function Nw(A){A=A|0;return Jw(A,0,0)|0}function zw(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0;r=n[A+12>>2]|0;if(A|0){f=n[A+8>>2]|0;a=A+4|0;l=(r|0)==0;e=0;while(1){if((e|0)>=(n[A>>2]|0))break;i=f+(X(n[a>>2]|0,e)|0)|0;if(!l)ZF[r&127](i);pw(i);e=e+1|0}zN(f);zN(A)}return}function pw(A){A=A|0;switch(n[A>>2]|0){case 3:case 2:{zN(n[A+8+4>>2]|0);break}case 5:case 4:{zN(n[A+8+4>>2]|0);break}case 6:{zN(n[A+8+4>>2]|0);break}case 7:{zN(n[A+40>>2]|0);break}case 9:case 8:{zN(n[A+8>>2]|0);break}case 14:case 13:{Rw(A+8|0);break}case 10:{zN(n[A+16>>2]|0);break}case 11:{zN(n[A+8>>2]|0);break}case 12:{zN(n[A+40>>2]|0);break}default:{}}return}function Rw(A){A=A|0;var e=0,i=0,r=0;switch(n[A>>2]|0){case 1:{r=A+40|0;e=A+8+36|0;A=0;while(1){i=n[e>>2]|0;if((A|0)>=(n[r>>2]|0))break;zN(n[i+(A<<3)+4>>2]|0);A=A+1|0}zN(i);break}case 2:{r=A+56|0;i=A+60|0;A=0;while(1){e=n[i>>2]|0;if((A|0)>=(n[r>>2]|0))break;zN(n[e+(A<<3)+4>>2]|0);A=A+1|0}zN(e);break}default:{}}return}function Pw(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;u=v;v=v+16|0;s=u+4|0;o=u;n[e>>2]=0;n[i>>2]=(HY(HV(A)|0)|0)!=0&1;f=n[42227]|0;A:do{if(f|0?(l=nY(A,f)|0,t=r[l>>0]|0,t<<24>>24):0){f=19444;while(1){a=n[f>>2]|0;if(!a)break A;if(t<<24>>24==(r[a>>0]|0)?(az(l,a)|0)==0:0)break;f=f+12|0}n[e>>2]=n[f+4>>2];n[i>>2]=n[f+8>>2]}}while(0);f=n[42238]|0;if((f|0?(n[i>>2]|0)==1:0)?(c=nY(A,f)|0,r[c>>0]|0):0)Hw(c,i);f=n[42239]|0;if((f|0?(n[e>>2]|0)==1:0)?(b=nY(A,f)|0,r[b>>0]|0):0)Hw(b,e);if(r[(n[A+16>>2]|0)+153>>0]|0){c=A+-48|0;t=HV(n[((n[A>>2]&3|0)==2?A:c)+40>>2]|0)|0;b=n[A>>2]&3;Pw(IY(t,n[((b|0)==2?A:c)+40>>2]|0,n[((b|0)==3?A:A+48|0)+40>>2]|0,0,0)|0,s,o);n[i>>2]=n[s>>2]|n[i>>2];n[e>>2]=n[o>>2]|n[e>>2]}v=u;return}function Hw(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;u=v;v=v+16|0;b=u;s=u+4|0;c=0;i=0;A:while(1){n[e>>2]=i;a=(c|0)<4;l=(c|0)==3;t=(c|0)==0;while(1){if(!(a&(r[A>>0]|0)!=0))break A;n[s>>2]=0;f=Fw(A,s)|0;i=n[s>>2]|0;if(!i){o=5;break A}A=(i|0)==8;if(!(l&A)){if(!(t&A))break;if(r[f>>0]|0)break}n[s>>2]=0;A=f}i=n[e>>2]|i<<(c<<3);c=c+1|0;A=f}if((o|0)==5){n[b>>2]=A;Gy(0,84657,b)|0}v=u;return}function Fw(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=v;v=v+16|0;r=f;n[r>>2]=0;i=Lw(A,19504,r)|0;if((i|0)==(A|0)){while(1){i=Lw(A,19520,r)|0;if((A|0)==(i|0))break;else A=i}i=Lw(A,19568,r)|0}A=n[r>>2]|0;if((A|0)!=0&(A&15|0)==0){A=A|1;n[r>>2]=A}n[e>>2]=n[e>>2]|A;v=f;return i|0}function Lw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;while(1){r=n[e>>2]|0;if(!r)break;f=Az(r)|0;if(!(Yz(A,r,f)|0)){a=4;break}e=e+8|0}if((a|0)==4){n[i>>2]=n[i>>2]|n[e+4>>2];A=A+f|0}return A|0}function Dw(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,a=0,l=0;a=0;i=0.0;while(1){if((a|0)==4)break;f=e>>(a<<3)&15;r=1336;while(1){if(!(n[r+16>>2]|0))break;if((f|0)==(n[r>>2]|0)){l=6;break}r=r+24|0}if((l|0)==6){l=0;i=+s[r+8>>3]+i}a=a+1|0}return+(i*10.0*+DI(A,n[42231]|0,1.0,0.0))}function Xw(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=+r;f=+f;a=a|0;var l=0.0,t=0.0,c=0.0,b=0,o=0.0,u=0,B=0;B=v;v=v+96|0;b=B+80|0;u=B;c=f>4.0?f*.0875:.35;l=+s[i+8>>3];o=l*c;t=+s[i>>3];c=t*c;r=+s[e>>3];t=r+t;s[b>>3]=t;f=+s[e+8>>3];l=l+f;s[b+8>>3]=l;i=u+64|0;if(!(a&32)){n[i>>2]=n[b>>2];n[i+4>>2]=n[b+4>>2];n[i+8>>2]=n[b+8>>2];n[i+12>>2]=n[b+12>>2];n[u>>2]=n[b>>2];n[u+4>>2]=n[b+4>>2];n[u+8>>2]=n[b+8>>2];n[u+12>>2]=n[b+12>>2];b=u+32|0;n[b>>2]=n[e>>2];n[b+4>>2]=n[e+4>>2];n[b+8>>2]=n[e+8>>2];n[b+12>>2]=n[e+12>>2];f=l;r=t}else{n[i>>2]=n[e>>2];n[i+4>>2]=n[e+4>>2];n[i+8>>2]=n[e+8>>2];n[i+12>>2]=n[e+12>>2];n[u>>2]=n[e>>2];n[u+4>>2]=n[e+4>>2];n[u+8>>2]=n[e+8>>2];n[u+12>>2]=n[e+12>>2];e=u+32|0;n[e>>2]=n[b>>2];n[e+4>>2]=n[b+4>>2];n[e+8>>2]=n[b+8>>2];n[e+12>>2]=n[b+12>>2]}s[u+16>>3]=r+o;s[u+24>>3]=f-c;s[u+48>>3]=r-o;s[u+56>>3]=f+c;do{if(!(a&64))if(!(a&128)){ls(A,u+16|0,3,a>>>4&1^1);break}else{ls(A,u+32|0,3,a>>>4&1^1);break}else ls(A,u,3,a>>>4&1^1)}while(0);v=B;return}function Tw(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=+r;f=+f;a=a|0;var l=0.0,t=0.0,c=0.0,b=0.0,o=0,u=0.0,B=0.0,k=0.0,w=0.0,d=0.0,h=0.0,g=0.0,Z=0.0,G=0,m=0,I=0;m=v;v=v+160|0;o=m+144|0;G=m;k=r*4.0;I=(a&32|0)==0;k=!(k<f)|I?.45:f/k*.45;d=!(f>1.0)|I?0.0:(f+-1.0)*.05/r;g=+s[i+8>>3];w=-g;Z=k*w;h=+s[i>>3];k=h*k;w=d*w;d=h*d;B=+s[e>>3];r=B+h;s[o>>3]=r;u=+s[e+8>>3];f=g+u;s[o+8>>3]=f;h=h*.5+B;g=g*.5+u;i=G+128|0;if(I){n[i>>2]=n[o>>2];n[i+4>>2]=n[o+4>>2];n[i+8>>2]=n[o+8>>2];n[i+12>>2]=n[o+12>>2];n[G>>2]=n[o>>2];n[G+4>>2]=n[o+4>>2];n[G+8>>2]=n[o+8>>2];n[G+12>>2]=n[o+12>>2];I=G+64|0;n[I>>2]=n[e>>2];n[I+4>>2]=n[e+4>>2];n[I+8>>2]=n[e+8>>2];n[I+12>>2]=n[e+12>>2];l=u;t=B;c=u;b=B;f=u;r=B}else{n[i>>2]=n[e>>2];n[i+4>>2]=n[e+4>>2];n[i+8>>2]=n[e+8>>2];n[i+12>>2]=n[e+12>>2];n[G>>2]=n[e>>2];n[G+4>>2]=n[e+4>>2];n[G+8>>2]=n[e+8>>2];n[G+12>>2]=n[e+12>>2];I=G+64|0;n[I>>2]=n[o>>2];n[I+4>>2]=n[o+4>>2];n[I+8>>2]=n[o+8>>2];n[I+12>>2]=n[o+12>>2];l=f+d;t=r+w;c=f-d;b=r-w}s[G+16>>3]=r-Z;s[G+24>>3]=f-k;s[G+32>>3]=h-w;s[G+40>>3]=g-d;s[G+48>>3]=b;s[G+56>>3]=c;s[G+80>>3]=t;s[G+88>>3]=l;s[G+96>>3]=h+w;s[G+104>>3]=g+d;s[G+112>>3]=r+Z;s[G+120>>3]=f+k;do{if(!(a&64))if(!(a&128)){ls(A,G,9,1);break}else{ls(A,G+48|0,6,1);break}else ls(A,G,6,1)}while(0);v=m;return}function xw(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=+r;f=+f;a=a|0;var l=0.0,t=0.0,c=0.0,b=0.0,o=0,u=0,B=0,k=0,w=0,d=0.0,h=0.0;k=v;v=v+64|0;B=k;h=+s[i+8>>3];d=+s[i>>3];c=+s[e>>3];r=c+d;b=+s[e+8>>3];f=b+h;l=c+d*.2;t=b+h*.2;c=c+d*.6;b=b+h*.6;s[B>>3]=l-h;s[B+8>>3]=t+d;o=B+16|0;s[o>>3]=l+h;u=B+24|0;s[u>>3]=t-d;s[B+32>>3]=c+h;s[B+40>>3]=b-d;s[B+48>>3]=c-h;s[B+56>>3]=b+d;if(!(a&64)){if(a&128|0){i=2;a=1;w=3}}else{i=3;a=0;w=3}if((w|0)==3){s[B+(a<<4)>>3]=l;s[B+(a<<4)+8>>3]=t;s[B+(i<<4)>>3]=c;s[B+(i<<4)+8>>3]=b}ls(A,B,4,1);n[B>>2]=n[e>>2];n[B+4>>2]=n[e+4>>2];n[B+8>>2]=n[e+8>>2];n[B+12>>2]=n[e+12>>2];s[o>>3]=r;s[u>>3]=f;ss(A,B,2);v=k;return}function Uw(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=+r;f=+f;a=a|0;var l=0.0,t=0.0,c=0,b=0,o=0,u=0,B=0,k=0.0,w=0.0,d=0.0,h=0.0;u=v;v=v+64|0;o=u;t=+s[i+8>>3];w=t*-.4;l=+s[i>>3];k=l*.4;h=+s[e>>3];r=h+l*.8;d=+s[e+8>>3];f=d+t*.8;l=h+l;t=d+t;s[o>>3]=h+w;c=o+8|0;s[c>>3]=d+k;i=o+16|0;s[i>>3]=h-w;b=o+24|0;s[b>>3]=d-k;s[o+32>>3]=r-w;s[o+40>>3]=f-k;s[o+48>>3]=r+w;s[o+56>>3]=f+k;if(!(a&64)){if(a&128|0){n[i>>2]=n[e>>2];n[i+4>>2]=n[e+4>>2];n[i+8>>2]=n[e+8>>2];n[i+12>>2]=n[e+12>>2];i=2;B=5}}else{n[o>>2]=n[e>>2];n[o+4>>2]=n[e+4>>2];n[o+8>>2]=n[e+8>>2];n[o+12>>2]=n[e+12>>2];i=3;B=5}if((B|0)==5){s[o+(i<<4)>>3]=r;s[o+(i<<4)+8>>3]=f}ls(A,o,4,a>>>4&1^1);s[o>>3]=r;s[c>>3]=f;s[o+16>>3]=l;s[b>>3]=t;ss(A,o,2);v=u;return}function jw(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=+r;f=+f;a=a|0;var l=0,t=0,c=0.0,b=0.0,o=0.0,u=0.0,B=0.0,k=0.0;t=v;v=v+80|0;l=t;o=+s[i+8>>3];c=o*-.3333333333333333;B=+s[i>>3];f=B*.3333333333333333;k=+s[e>>3];b=k+B*.5;u=+s[e+8>>3];r=u+o*.5;i=l+64|0;s[l+64>>3]=k+B;s[l+72>>3]=u+o;n[l>>2]=n[i>>2];n[l+4>>2]=n[i+4>>2];n[l+8>>2]=n[i+8>>2];n[l+12>>2]=n[i+12>>2];s[l+16>>3]=b+c;s[l+24>>3]=r+f;i=l+32|0;n[i>>2]=n[e>>2];n[i+4>>2]=n[e+4>>2];n[i+8>>2]=n[e+8>>2];n[i+12>>2]=n[e+12>>2];s[l+48>>3]=b-c;s[l+56>>3]=r-f;do{if(!(a&64)){i=a>>>4&1^1;if(!(a&128)){ls(A,l,4,i);break}else{ls(A,l,3,i);break}}else ls(A,i,3,a>>>4&1^1)}while(0);v=t;return}function Sw(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var a=0,l=0,t=0.0,c=0.0,b=0.0;a=v;v=v+32|0;l=a;c=+s[i>>3];f=+s[i+8>>3];r=+V(+(f*f+c*c))*.5;b=+s[e>>3];c=c*.5;s[l>>3]=b+c-r;t=+s[e+8>>3];f=f*.5;s[l+8>>3]=t-r+f;s[l+16>>3]=b+r+c;s[l+24>>3]=t+r+f;as(A,l,2,n>>>4&1^1);v=a;return}function Ow(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=+r;f=+f;a=a|0;var l=0.0,t=0.0,c=0.0,b=0.0,o=0.0,u=0.0,B=0.0,k=0,w=0,d=0,h=0;h=v;v=v+112|0;k=h+48|0;w=h+16|0;d=h;o=f>4.0?f*.125:.5;B=+s[e>>3];u=+s[i>>3];l=+s[e+8>>3];b=+s[i+8>>3];r=b*o;f=u*o;n[w>>2]=n[e>>2];n[w+4>>2]=n[e+4>>2];n[w+8>>2]=n[e+8>>2];n[w+12>>2]=n[e+12>>2];s[w+16>>3]=u+B;s[w+24>>3]=b+l;s[k>>3]=o*(u-b)+B;t=o*(b+u);c=t+l;s[k+8>>3]=c;s[k+48>>3]=t+B;l=o*(b-u)+l;s[k+56>>3]=l;u=r*-.95;b=u+f+B;o=f*1.3333333333333333;if(!(a&32)){r=r*1.3333333333333333;t=f*-.33333333333333326;l=l-r;f=c-r;r=b-o}else{r=r*1.3333333333333333;t=f*2.333333333333333;l=l+r;f=c+r;r=b+o}s[k+16>>3]=r;s[k+24>>3]=f;s[k+32>>3]=t-u+B;s[k+40>>3]=l;ss(A,w,2);if(!(a&64)){if(a&128|0)$I(d,k,3,.5,k,0)}else $I(d,k,3,.5,0,k);cs(A,k,4,0,0,0);v=h;return}function Kw(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=+r;f=+f;a=a|0;var l=0;a=v;v=v+32|0;l=a;r=+s[i>>3]+ +s[e>>3];f=+s[i+8>>3]+ +s[e+8>>3];n[l>>2]=n[e>>2];n[l+4>>2]=n[e+4>>2];n[l+8>>2]=n[e+8>>2];n[l+12>>2]=n[e+12>>2];s[l+16>>3]=r;s[l+24>>3]=f;ss(A,l,2);v=a;return}function _w(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0.0,t=0,c=0,b=0,o=0,u=0.0,B=0.0,k=0,w=0,d=0;o=v;v=v+80|0;t=o+72|0;c=o+8|0;b=o;l=+Dw(A,a);l=l*l;s[b>>3]=l;n[f+12>>2]=a;a=f+32|0;A=r+3|0;f=e+(A<<4)|0;n[a>>2]=n[f>>2];n[a+4>>2]=n[f+4>>2];n[a+8>>2]=n[f+8>>2];n[a+12>>2]=n[f+12>>2];if((r|0)>(i|0)?(u=+s[e+(r<<4)>>3]-+s[f>>3],B=+s[e+(r<<4)+8>>3]-+s[e+(A<<4)+8>>3],B*B+u*u<l):0)r=r+-3|0;d=c+48|0;w=e+(r<<4)|0;n[d>>2]=n[w>>2];n[d+4>>2]=n[w+4>>2];n[d+8>>2]=n[w+8>>2];n[d+12>>2]=n[w+12>>2];k=c+32|0;A=e+(r+1<<4)|0;n[k>>2]=n[A>>2];n[k+4>>2]=n[A+4>>2];n[k+8>>2]=n[A+8>>2];n[k+12>>2]=n[A+12>>2];f=c+16|0;i=e+(r+2<<4)|0;n[f>>2]=n[i>>2];n[f+4>>2]=n[i+4>>2];n[f+8>>2]=n[i+8>>2];n[f+12>>2]=n[i+12>>2];n[c>>2]=n[a>>2];n[c+4>>2]=n[a+4>>2];n[c+8>>2]=n[a+8>>2];n[c+12>>2]=n[a+12>>2];n[t>>2]=c;n[t+4>>2]=b;Xm(t,26,c,1);n[w>>2]=n[d>>2];n[w+4>>2]=n[d+4>>2];n[w+8>>2]=n[d+8>>2];n[w+12>>2]=n[d+12>>2];n[A>>2]=n[k>>2];n[A+4>>2]=n[k+4>>2];n[A+8>>2]=n[k+8>>2];n[A+12>>2]=n[k+12>>2];n[i>>2]=n[f>>2];n[i+4>>2]=n[f+4>>2];n[i+8>>2]=n[f+8>>2];n[i+12>>2]=n[f+12>>2];b=e+(r+3<<4)|0;n[b>>2]=n[c>>2];n[b+4>>2]=n[c+4>>2];n[b+8>>2]=n[c+8>>2];n[b+12>>2]=n[c+12>>2];v=o;return r|0}function qw(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=n[A>>2]|0;i=+s[e>>3]-+s[f>>3];r=+s[e+8>>3]-+s[f+8>>3];return r*r+i*i<=+s[n[A+4>>2]>>3]|0}function $w(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0.0,c=0,b=0,o=0,u=0,B=0.0,k=0.0,w=0,d=0;u=v;v=v+80|0;c=u+72|0;b=u+8|0;o=u;t=+Dw(A,a);t=t*t;s[o>>3]=t;n[f+8>>2]=a;f=f+16|0;A=e+(i<<4)|0;n[f>>2]=n[A>>2];n[f+4>>2]=n[A+4>>2];n[f+8>>2]=n[A+8>>2];n[f+12>>2]=n[A+12>>2];if(!((r|0)>(i|0)?(l=i+3|0,B=+s[A>>3]-+s[e+(l<<4)>>3],k=+s[e+(i<<4)+8>>3]-+s[e+(l<<4)+8>>3],k*k+B*B<t):0))l=i;r=e+(l+3<<4)|0;n[b>>2]=n[r>>2];n[b+4>>2]=n[r+4>>2];n[b+8>>2]=n[r+8>>2];n[b+12>>2]=n[r+12>>2];a=b+16|0;i=e+(l+2<<4)|0;n[a>>2]=n[i>>2];n[a+4>>2]=n[i+4>>2];n[a+8>>2]=n[i+8>>2];n[a+12>>2]=n[i+12>>2];w=b+32|0;A=e+(l+1<<4)|0;n[w>>2]=n[A>>2];n[w+4>>2]=n[A+4>>2];n[w+8>>2]=n[A+8>>2];n[w+12>>2]=n[A+12>>2];d=b+48|0;n[d>>2]=n[f>>2];n[d+4>>2]=n[f+4>>2];n[d+8>>2]=n[f+8>>2];n[d+12>>2]=n[f+12>>2];n[c>>2]=d;n[c+4>>2]=o;Xm(c,26,b,0);o=e+(l<<4)|0;n[o>>2]=n[d>>2];n[o+4>>2]=n[d+4>>2];n[o+8>>2]=n[d+8>>2];n[o+12>>2]=n[d+12>>2];n[A>>2]=n[w>>2];n[A+4>>2]=n[w+4>>2];n[A+8>>2]=n[w+8>>2];n[A+12>>2]=n[w+12>>2];n[i>>2]=n[a>>2];n[i+4>>2]=n[a+4>>2];n[i+8>>2]=n[a+8>>2];n[i+12>>2]=n[a+12>>2];n[r>>2]=n[b>>2];n[r+4>>2]=n[b+4>>2];n[r+8>>2]=n[b+8>>2];n[r+12>>2]=n[b+12>>2];v=u;return l|0}function Ad(A,e,i,r,f,a,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;l=l|0;var t=0.0,c=0.0,b=0,o=0.0,u=0.0,v=0.0,B=0.0,k=0.0,w=0,d=0.0,h=0.0,g=0,Z=0,G=0;g=(a|0)!=0;b=(l|0)!=0;if(!((r|0)==(i|0)&(g&b))){if(b){t=+Dw(A,l);c=+s[e+(r<<4)>>3];B=+s[e+(r<<4)+8>>3];b=r+3|0;w=e+(b<<4)|0;u=+s[w>>3];b=e+(b<<4)+8|0;v=+s[b>>3];h=c-u;d=B-v;h=+V(+(d*d+h*h))*.9;t=t>=h?h:t;if(B==v){o=(c<u?-t:t)+u;t=B}else{o=c;t=(B<v?-t:t)+v}G=r+1|0;s[e+(G<<4)>>3]=c;s[e+(G<<4)+8>>3]=B;r=e+(r+2<<4)|0;s[w>>3]=o;s[b>>3]=t;n[r>>2]=n[w>>2];n[r+4>>2]=n[w+4>>2];n[r+8>>2]=n[w+8>>2];n[r+12>>2]=n[w+12>>2];n[f+12>>2]=l;s[f+32>>3]=u;s[f+40>>3]=v}if(g){o=+Dw(A,a);b=e+(i<<4)|0;c=+s[b>>3];t=+s[e+(i<<4)+8>>3];G=i+3|0;v=+s[e+(G<<4)>>3];B=+s[e+(G<<4)+8>>3];h=c-v;d=t-B;h=+V(+(d*d+h*h))*.9;o=o>=h?h:o;if(t==B){u=(c<v?o:-o)+c;o=t}else{u=c;o=(t<B?o:-o)+t}G=i+1|0;Z=e+(G<<4)|0;s[Z>>3]=u;s[e+(G<<4)+8>>3]=o;n[b>>2]=n[Z>>2];n[b+4>>2]=n[Z+4>>2];n[b+8>>2]=n[Z+8>>2];n[b+12>>2]=n[Z+12>>2];Z=i+2|0;s[e+(Z<<4)>>3]=v;s[e+(Z<<4)+8>>3]=B;Z=16}}else{w=e+(r<<4)|0;d=+s[w>>3];h=+s[e+(r<<4)+8>>3];b=r+3|0;g=e+(b<<4)|0;c=+s[g>>3];b=e+(b<<4)+8|0;t=+s[b>>3];o=+Dw(A,a);k=+Dw(A,l);u=d-c;B=h-t;u=+V(+(B*B+u*u));G=!(k+o>=u);u=u*.3333333333333333;o=G?o:u;u=G?k:u;if(h==t){G=d<c;B=(G?-u:u)+c;k=(G?o:-o)+d;v=h;o=h}else{G=h<t;B=d;k=d;v=(G?o:-o)+h;o=(G?-u:u)+t}G=r+1|0;Z=e+(G<<4)|0;s[Z>>3]=k;s[e+(G<<4)+8>>3]=v;n[w>>2]=n[Z>>2];n[w+4>>2]=n[Z+4>>2];n[w+8>>2]=n[Z+8>>2];n[w+12>>2]=n[Z+12>>2];Z=e+(r+2<<4)|0;s[g>>3]=B;s[b>>3]=o;n[Z>>2]=n[g>>2];n[Z+4>>2]=n[g+4>>2];n[Z+8>>2]=n[g+8>>2];n[Z+12>>2]=n[g+12>>2];n[f+12>>2]=l;s[f+32>>3]=d;s[f+40>>3]=h;Z=16}if((Z|0)==16){n[f+8>>2]=a;s[f+16>>3]=c;s[f+24>>3]=t}return}function ed(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var n=0.0,a=0.0,l=0.0,t=0.0,c=0.0,b=0.0,o=0.0,u=0.0,v=0.0;u=+s[e>>3];c=+s[i>>3]-u;v=+s[e+8>>3];b=+s[i+8>>3]-v;t=r*10.0/(+V(+(c*c+b*b))+.0001);c=t*((c>=0.0?.0001:-.0001)+c);t=((b>=0.0?.0001:-.0001)+b)*t;b=c*.5;o=t*.5;l=u-o;n=v-b;u=o+u;b=v+b;v=l+c;o=n+t;c=u+c;t=b+t;a=v>c?v:c;a=u>a?u:a;r=o>t?o:t;r=b>r?b:r;c=v<c?v:c;c=u<c?u:c;t=o<t?o:t;t=b<t?b:t;s[A>>3]=l<c?l:c;s[A+8>>3]=n<t?n:t;s[A+16>>3]=l>a?l:a;s[A+24>>3]=n>r?n:r;return}function id(A,e,i,r,f,a,l){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=+a;l=l|0;var t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0.0,d=0.0,h=0.0;k=v;v=v+48|0;b=k+32|0;c=k+16|0;B=k;o=(n[A+16>>2]|0)+12|0;u=n[o>>2]|0;n[o>>2]=e;ns(A,n[(n[A>>2]|0)+336>>2]|0);vs(A,a);h=+s[r>>3]-+s[i>>3];e=r+8|0;d=+s[e>>3]-+s[i+8>>3];w=10.0/(+V(+(h*h+d*d))+.0001);s[r>>3]=w*((h>=0.0?.0001:-.0001)+h);s[e>>3]=((d>=0.0?.0001:-.0001)+d)*w;e=0;while(1){if((e|0)>=4)break;t=l>>(e<<3)&255;if(!t)break;n[c>>2]=n[i>>2];n[c+4>>2]=n[i+4>>2];n[c+8>>2]=n[i+8>>2];n[c+12>>2]=n[i+12>>2];n[b>>2]=n[r>>2];n[b+4>>2]=n[r+4>>2];n[b+8>>2]=n[r+8>>2];n[b+12>>2]=n[r+12>>2];rd(B,A,c,b,f,a,t);n[i>>2]=n[B>>2];n[i+4>>2]=n[B+4>>2];n[i+8>>2]=n[B+8>>2];n[i+12>>2]=n[B+12>>2];e=e+1|0}n[o>>2]=u;v=k;return}function rd(A,e,i,r,f,a,l){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=+a;l=l|0;var t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0.0;k=v;v=v+32|0;b=k+16|0;c=k;o=l&15;t=1336;while(1){u=n[t>>2]|0;if(!u)break;if((o|0)==(u|0)){B=4;break}t=t+24|0}if((B|0)==4){w=+s[t+8>>3]*f;s[r>>3]=w*+s[r>>3];u=r+8|0;s[u>>3]=w*+s[u>>3];B=n[t+16>>2]|0;n[c>>2]=n[i>>2];n[c+4>>2]=n[i+4>>2];n[c+8>>2]=n[i+8>>2];n[c+12>>2]=n[i+12>>2];n[b>>2]=n[r>>2];n[b+4>>2]=n[r+4>>2];n[b+8>>2]=n[r+8>>2];n[b+12>>2]=n[r+12>>2];IF[B&15](e,c,b,f,a,l);s[i>>3]=+s[r>>3]+ +s[i>>3];B=i+8|0;s[B>>3]=+s[u>>3]+ +s[B>>3]}n[A>>2]=n[i>>2];n[A+4>>2]=n[i+4>>2];n[A+8>>2]=n[i+8>>2];n[A+12>>2]=n[i+12>>2];v=k;return}function fd(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;t=v;v=v+16|0;a=t+8|0;f=t;e=fY(A,84759)|0;if((e|0)!=0?(r[e>>0]|0)!=0:0){i=e;l=5}else{e=fY(A,84771)|0;if((e|0)!=0?(r[e>>0]|0)!=0:0){i=e;l=5}else e=0}if((l|0)==5){e=Jw(i,0,120)|0;if(!e){n[f>>2]=qY(A)|0;Gy(0,84778,f)|0;n[a>>2]=i;Gy(3,84831,a)|0}}v=t;return e|0}function nd(A){A=A|0;var e=0,i=0,r=0,f=0,a=0;a=v;v=v+16|0;f=Jg(304)|0;if(!f)Gy(1,84839,a)|0;r=A+16|0;A=n[r>>2]|0;n[f>>2]=A;n[r>>2]=f;if(!A){n[f+144>>2]=3;n[f+148>>2]=0;s[f+152>>3]=1.0}else{e=f+16|0;i=A+16|0;r=e+40|0;do{n[e>>2]=n[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));e=f+56|0;i=A+56|0;r=e+40|0;do{n[e>>2]=n[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));n[f+144>>2]=n[A+144>>2];n[f+148>>2]=n[A+148>>2];s[f+152>>3]=+s[A+152>>3];n[f+136>>2]=n[A+136>>2];e=f+96|0;i=A+96|0;r=e+40|0;do{n[e>>2]=n[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0))}v=a;return f|0}function ad(A){A=A|0;var e=0;A=A+16|0;e=n[A>>2]|0;if(!e)BA(84865,84869,117,84876);else{zN(n[e+212>>2]|0);zN(n[e+208>>2]|0);zN(n[e+216>>2]|0);zN(n[e+220>>2]|0);zN(n[e+224>>2]|0);zN(n[e+228>>2]|0);zN(n[e+232>>2]|0);zN(n[e+236>>2]|0);zN(n[e+240>>2]|0);zN(n[e+244>>2]|0);zN(n[e+248>>2]|0);zN(n[e+252>>2]|0);zN(n[e+256>>2]|0);zN(n[e+272>>2]|0);zN(n[e+284>>2]|0);zN(n[e+280>>2]|0);n[A>>2]=n[e>>2];zN(e);return}}function ld(A,e,i,a,l,t,c){A=A|0;e=e|0;i=i|0;a=a|0;l=l|0;t=t|0;c=c|0;var s=0,b=0;b=n[A+16>>2]|0;s=n[A+152>>2]|0;if((e|0)!=0&(s&32768|0)!=0)n[b+192>>2]=e;if(((s&65536|0)!=0?(n[b+212>>2]=Eg(t,c)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0){n[b+208>>2]=Eg(i,c)|0;A=1}else A=0;do{if(s&4194304){if(a|0?r[a>>0]|0:0){n[b+228>>2]=Eg(a,c)|0;A=b+260|0;f[A>>1]=f[A>>1]|1;A=1;break}e=n[b+192>>2]|0;if(e){n[b+228>>2]=vR(e)|0;A=1}}}while(0);if((l|0)!=0&(s&8388608|0)!=0?(r[l>>0]|0)!=0:0){n[b+244>>2]=Eg(l,c)|0;A=1}return A|0}function td(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0;c=v;v=v+80|0;t=c;l=c+8|0;a=n[(n[A>>2]|0)+168>>2]|0;f=n[(n[(n[a+16>>2]|0)+8>>2]|0)+92>>2]|0;cd(A,i);A=fY(e,86743)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0){yy(i,A)|0;f=i+4|0;A=n[f>>2]|0;if(A>>>0>=(n[i+8>>2]|0)>>>0){Qy(i,1)|0;A=n[f>>2]|0}r[A>>0]=0;A=n[i>>2]|0;n[f>>2]=A}else{if((a|0)!=(e|0)&(f|0)!=0){yy(i,f)|0;f=i+4|0;A=n[f>>2]|0;if(A>>>0>=(n[i+8>>2]|0)>>>0){Qy(i,1)|0;A=n[f>>2]|0}n[f>>2]=A+1;r[A>>0]=95}switch(KV(e)|0){case 0:{f=(a|0)==(e|0)?96286:84890;A=(n[e>>2]|0)>>>4;break}case 1:{f=96273;A=(n[e>>2]|0)>>>4;break}case 2:{f=96237;A=(n[e>>2]|0)>>>4;break}default:{f=0;A=0}}yy(i,f)|0;n[t>>2]=A;_p(l,84896,t)|0;yy(i,l)|0;f=i+4|0;A=n[f>>2]|0;if(A>>>0>=(n[i+8>>2]|0)>>>0){Qy(i,1)|0;A=n[f>>2]|0}r[A>>0]=0;A=n[i>>2]|0;n[f>>2]=A}v=c;return A|0}function cd(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0;t=v;v=v+144|0;l=t;a=t+8|0;i=n[A+160>>2]|0;if((i|0)>1?n[A+152>>2]&64|0:0){yy(e,n[(n[(n[A>>2]|0)+308>>2]|0)+(i<<2)>>2]|0)|0;f=e+4|0;i=n[f>>2]|0;if(i>>>0>=(n[e+8>>2]|0)>>>0){Qy(e,1)|0;i=n[f>>2]|0}n[f>>2]=i+1;r[i>>0]=95}f=n[A+196>>2]|0;i=n[A+200>>2]|0;if((f|0)>0|(i|0)>0){n[l>>2]=f;n[l+4>>2]=i;_p(a,84900,l)|0;yy(e,a)|0}v=t;return}function sd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,a=0.0,l=0,t=0.0,b=0.0,o=0,u=0,B=0,k=0,w=0.0,d=0;d=v;v=v+48|0;B=d+16|0;f=d+32|0;k=d;w=+s[(n[A+16>>2]|0)+152>>3];u=bd(i,0,f)|0;if((u+-1|0)>>>0>=2){r=+s[e+16>>3];t=(r+ +s[e>>3])*.5;s[k>>3]=t;a=+s[e+24>>3];b=(a+ +s[e+8>>3])*.5;s[k+8>>3]=b;t=r-t;b=a-b;o=w>.5;if(o)vs(A,.5);l=n[f>>2]|0;a=0.0;f=n[l+8>>2]|0;while(1){i=n[f>>2]|0;if(!i)break;e=f+4|0;if(+c[e>>2]==0.0)r=a;else{rs(A,i);if(!(n[f+12>>2]|0))r=6.283185307179586;else r=+c[e>>2]*6.283185307179586+a;n[B>>2]=n[k>>2];n[B+4>>2]=n[k+4>>2];n[B+8>>2]=n[k+8>>2];n[B+12>>2]=n[k+12>>2];e=Eb(B,t,b,a,r)|0;cs(A,n[e>>2]|0,n[e+4>>2]|0,0,0,1);WN(e)}a=r;f=f+12|0}if(o)vs(A,w);od(l)}v=d;return u|0}function bd(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0.0,s=0.0,b=0.0,o=0,u=0,B=0,k=0,w=0;w=v;v=v+16|0;u=w+8|0;o=w;k=Jg(12)|0;l=vR(A)|0;A:do{if(!e){e=1;f=l;while(1){switch(r[f>>0]|0){case 0:break A;case 58:{e=e+1|0;break}default:{}}f=f+1|0}}}while(0);n[k+4>>2]=l;B=Jg((e*12|0)+12|0)|0;n[k+8>>2]=B;b=1.0;a=0;e=0;f=l;while(1){f=bR(f,92961)|0;if(!f){f=20;break}t=+ud(f);if(!(t>=0.0)){f=17;break}s=t-b;if(s>0.0)if((n[4920]|0)!=0?!(s<1.0e-05&s>-1.0e-05):0){n[o>>2]=A;Gy(0,84911,o)|0;n[4920]=0;t=b;e=3}else t=b;s=b-t;if(t>0.0)r[B+(a*12|0)+8>>0]=1;if(r[f>>0]|0)n[B+(a*12|0)>>2]=f;f=a+1|0;c[B+(a*12|0)+4>>2]=t;if(s<1.0e-05&s>-1.0e-05){a=f;f=30;break}else{b=s;a=f;f=0}}A:do{if((f|0)==17){if(!(n[4920]|0))e=1;else{n[u>>2]=A;Gy(1,84946,u)|0;n[4920]=0;e=2}od(k)}else if((f|0)==20)if(b>0.0){f=0;l=0;while(1){if((f|0)>=(a|0))break;u=l+(+c[B+(f*12|0)+4>>2]==0.0&1)|0;f=f+1|0;l=u}if((l|0)<=0){f=B+((a+-1|0)*12|0)+4|0;c[f>>2]=b+ +c[f>>2];f=30;break}t=b/+(l|0);f=0;while(1){if((f|0)>=(a|0)){f=30;break A}l=B+(f*12|0)+4|0;if(+c[l>>2]==0.0)c[l>>2]=t;f=f+1|0}}else f=30}while(0);if((f|0)==30){while(1){f=a+-1|0;if((a|0)<=0)break;if(+c[B+(f*12|0)+4>>2]>0.0)break;else a=f}n[B+(a*12|0)>>2]=0;n[k>>2]=a;n[i>>2]=k}v=w;return e|0}function od(A){A=A|0;zN(n[A+4>>2]|0);zN(n[A+8>>2]|0);zN(A);return}function ud(A){A=A|0;var e=0.0,i=0,f=0,a=0;f=v;v=v+16|0;i=f;A=Vz(A,59)|0;if(!A)e=0.0;else{a=A+1|0;r[A>>0]=0;e=+eP(a,i);e=(e>=0.0?(n[i>>2]|0)!=(a|0):0)?e:-1.0}v=f;return+e}function vd(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0,l=0,t=0,b=0.0,o=0.0,u=0,B=0,k=0,w=0,d=0.0,h=0;h=v;v=v+80|0;a=h+64|0;w=h;d=+s[(n[A+16>>2]|0)+152>>3];k=bd(i,0,a)|0;if((k+-1|0)>>>0>=2){if(!r){n[w>>2]=n[e>>2];n[w+4>>2]=n[e+4>>2];n[w+8>>2]=n[e+8>>2];n[w+12>>2]=n[e+12>>2];B=w+16|0;u=e+16|0;n[B>>2]=n[u>>2];n[B+4>>2]=n[u+4>>2];n[B+8>>2]=n[u+8>>2];n[B+12>>2]=n[u+12>>2];B=w+32|0;u=e+32|0;n[B>>2]=n[u>>2];n[B+4>>2]=n[u+4>>2];n[B+8>>2]=n[u+8>>2];n[B+12>>2]=n[u+12>>2];B=w+48|0;u=e+48|0;n[B>>2]=n[u>>2];n[B+4>>2]=n[u+4>>2];n[B+8>>2]=n[u+8>>2];n[B+12>>2]=n[u+12>>2]}else{B=e+32|0;n[w>>2]=n[B>>2];n[w+4>>2]=n[B+4>>2];n[w+8>>2]=n[B+8>>2];n[w+12>>2]=n[B+12>>2];B=w+16|0;u=e+48|0;n[B>>2]=n[u>>2];n[B+4>>2]=n[u+4>>2];n[B+8>>2]=n[u+8>>2];n[B+12>>2]=n[u+12>>2];B=w+32|0;n[B>>2]=n[e>>2];n[B+4>>2]=n[e+4>>2];n[B+8>>2]=n[e+8>>2];n[B+12>>2]=n[e+12>>2];B=w+48|0;u=e+16|0;n[B>>2]=n[u>>2];n[B+4>>2]=n[u+4>>2];n[B+8>>2]=n[u+8>>2];n[B+12>>2]=n[u+12>>2]}t=w+16|0;b=+s[t>>3];f=+s[w>>3];o=b-f;u=w+32|0;s[u>>3]=f;s[t>>3]=f;B=d>.5;if(B)vs(A,.5);a=n[a>>2]|0;l=w+48|0;r=n[a+8>>2]|0;while(1){i=n[r>>2]|0;if(!i)break;e=r+4|0;if(!(+c[e>>2]==0.0)){rs(A,i);if(!(n[r+12>>2]|0))f=b;else f=o*+c[e>>2]+ +s[w>>3];s[u>>3]=f;s[t>>3]=f;ls(A,w,4,1);f=+s[t>>3];s[l>>3]=f;s[w>>3]=f}r=r+12|0}if(B)vs(A,d);od(a)}v=h;return k|0}function Bd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0;i=n[A+16>>2]|0;r=n[A+152>>2]|0;if(r&4259840|0){f=r&131072;a=f>>>16^2;n[i+264>>2]=a;l=i+268|0;n[l>>2]=a+2;a=i+272|0;zN(n[a>>2]|0);i=Jg(n[l>>2]<<4)|0;n[a>>2]=i;n[i>>2]=n[e>>2];n[i+4>>2]=n[e+4>>2];n[i+8>>2]=n[e+8>>2];n[i+12>>2]=n[e+12>>2];a=i+16|0;e=e+16|0;n[a>>2]=n[e>>2];n[a+4>>2]=n[e+4>>2];n[a+8>>2]=n[e+8>>2];n[a+12>>2]=n[e+12>>2];if(!(r&8192))Jc(A,i,i,2)|0;if(!f)cg(i)}return}function kd(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0,n=0,a=0,l=0.0,t=0.0,c=0.0,b=0.0,o=0.0,u=0,B=0,k=0;k=v;v=v+144|0;i=k+80|0;f=k+16|0;n=k;c=+s[e>>3];u=A+16|0;b=+s[u>>3];if(!(((((((((!(c>b)?(o=+s[A>>3],!(c<o)):0)?(r=+s[e+8>>3],l=+s[A+24>>3],!(r>l)):0)?(t=+s[A+8>>3],!(r<t)):0)?(c=+s[e+16>>3],!(c>b|c<o)):0)?(c=+s[e+24>>3],!(c>l|c<t)):0)?(c=+s[e+32>>3],!(c>b|c<o)):0)?(c=+s[e+40>>3],!(c>l|c<t)):0)?(c=+s[e+48>>3],!(c>b|c<o)):0)?(o=+s[e+56>>3],!(o>l|o<t)):0))B=11;A:do{if((B|0)==11){if(!(wd(e)|0)){$I(n,e,3,.5,i,f);kd(A,i);kd(A,f);break}n=A+24|0;a=A+8|0;f=0;while(1){if((f|0)==4)break A;r=+s[e+(f<<4)>>3];if(!(r>+s[u>>3])){if(r<+s[A>>3]){i=A;B=16}}else{i=u;B=16}if((B|0)==16){B=0;s[i>>3]=r}r=+s[e+(f<<4)+8>>3];if(!(r>+s[n>>3])){if(r<+s[a>>3]){i=A;B=19}}else{i=u;B=19}if((B|0)==19){B=0;s[i+8>>3]=r}f=f+1|0}}}while(0);v=k;return}function wd(A){A=A|0;var e=0,i=0,r=0,f=0,a=0.0,l=0,t=0;e=v;v=v+48|0;i=e+32|0;r=e+16|0;f=e;t=A+48|0;l=A+16|0;n[f>>2]=n[A>>2];n[f+4>>2]=n[A+4>>2];n[f+8>>2]=n[A+8>>2];n[f+12>>2]=n[A+12>>2];n[r>>2]=n[t>>2];n[r+4>>2]=n[t+4>>2];n[r+8>>2]=n[t+8>>2];n[r+12>>2]=n[t+12>>2];n[i>>2]=n[l>>2];n[i+4>>2]=n[l+4>>2];n[i+8>>2]=n[l+8>>2];n[i+12>>2]=n[l+12>>2];a=+vg(f,r,i);l=A+32|0;n[f>>2]=n[A>>2];n[f+4>>2]=n[A+4>>2];n[f+8>>2]=n[A+8>>2];n[f+12>>2]=n[A+12>>2];n[r>>2]=n[t>>2];n[r+4>>2]=n[t+4>>2];n[r+8>>2]=n[t+8>>2];n[r+12>>2]=n[t+12>>2];n[i>>2]=n[l>>2];n[i+4>>2]=n[l+4>>2];n[i+8>>2]=n[l+8>>2];n[i+12>>2]=n[l+12>>2];A=a<4.0&+vg(f,r,i)<4.0&1;v=e;return A|0}function dd(A,e){A=A|0;e=e|0;var i=0,f=0.0,a=0.0,l=0.0,t=0,c=0,b=0,o=0.0;b=v;v=v+16|0;c=b;t=n[A+152>>2]|0;o=+s[A+432>>3];l=+s[A+352>>3]*.013888888888888888;f=l*o;s[A+488>>3]=f;a=+s[A+440>>3];l=l*a;s[A+496>>3]=l;s[A+520>>3]=o*.013888888888888888;i=A+528|0;s[i>>3]=a*.013888888888888888;if(t&4096|0)s[i>>3]=a*-.013888888888888888;i=(n[A+360>>2]|0)==0;o=+((n[A+448>>2]|0)>>>0);a=+((n[A+452>>2]|0)>>>0);s[A+368>>3]=(i?o:a)/f;s[A+376>>3]=(i?a:o)/l;bs(A,XI(e,Sy(e,0,86539,0)|0,174177)|0);n[A+160>>2]=0;hd(A,e);if(t&2|0)gd(A,e);i=CV(e)|0;while(1){if(!i)break;r[(n[i+16>>2]|0)+116>>0]=0;i=MV(e,i)|0}Zd(A,c);while(1){if(!((Gd(A)|0)<<24>>24))break;if((md(A)|0)>1)Pc(A);Id(A);while(1){if(!((Cd(A)|0)<<24>>24))break;Md(A,e);Qd(A)}if((md(A)|0)>1)Hc(A);Ed(A,c)}yd(A);v=b;return}function hd(A,e){A=A|0;e=e|0;var i=0;i=nd(A)|0;n[i+4>>2]=0;n[i+8>>2]=e;n[i+12>>2]=0;Eh(A,n[(n[e+16>>2]|0)+12>>2]|0,e);Nc(A,e);return}function gd(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,a=0;rs(A,119592);i=fY(e,85367)|0;if(i|0?r[i>>0]|0:0)rs(A,i);i=fY(e,86447)|0;if(i|0?r[i>>0]|0:0)es(A,i);Fh(A,e);a=CV(e)|0;while(1){if(!a)break;i=fY(a,122540)|0;if(i|0?r[i>>0]|0:0)es(A,i);i=fY(a,122531)|0;if(i|0?r[i>>0]|0:0)rs(A,i);i=fY(a,86413)|0;do{if(i|0?r[i>>0]|0:0){if(!(Vz(i,58)|0)){es(A,i);break}f=vR(i)|0;i=f;while(1){i=bR(i,92961)|0;if(!i)break;if(!(r[i>>0]|0)){i=0;continue}es(A,i);i=0}zN(f)}}while(0);i=fY(a,86447)|0;if(i|0?r[i>>0]|0:0)es(A,i);n=bY(e,a)|0;while(1){if(!n)break;i=fY(n,122540)|0;do{if(i|0?r[i>>0]|0:0){if(!(Vz(i,58)|0)){es(A,i);break}f=vR(i)|0;i=f;while(1){i=bR(i,92961)|0;if(!i)break;if(!(r[i>>0]|0)){i=0;continue}es(A,i);i=0}zN(f)}}while(0);i=fY(n,86447)|0;if(i|0?r[i>>0]|0:0)es(A,i);n=uY(e,n)|0}a=MV(e,a)|0}return}function Zd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;t=v;v=v+16|0;r=t+8|0;a=t;l=n[A>>2]|0;i=n[l+312>>2]|0;f=A+156|0;n[f>>2]=i;l=n[l+316>>2]|0;if(!l)if((i|0)>1?(n[A+152>>2]&64|0)==0:0){n[r>>2]=n[A+52>>2];Gy(0,85542,r)|0;n[f>>2]=1;r=1;i=0}else{r=1;i=0}else{i=l+4|0;if((n[l>>2]|0)>1?(n[A+152>>2]&64|0)==0:0){n[a>>2]=n[A+52>>2];Gy(0,85542,a)|0;n[l+8>>2]=(n[f>>2]|0)+1}r=n[i>>2]|0;i=l+8|0}n[A+160>>2]=r;n[e>>2]=i;v=t;return}function Gd(A){A=A|0;return(n[A+160>>2]|0)<=(n[A+156>>2]|0)|0}function md(A){A=A|0;var e=0;e=n[(n[A>>2]|0)+316>>2]|0;return n[((e|0)==0?A+156|0:e)>>2]|0}function Id(A){A=A|0;var e=0,i=0;i=A+172|0;e=n[i+4>>2]|0;A=A+196|0;n[A>>2]=n[i>>2];n[A+4>>2]=e;return}function Cd(A){A=A|0;var e=0,i=0;i=n[A+196>>2]|0;if(((i|0)>-1?(i|0)<(n[A+164>>2]|0):0)?(e=n[A+200>>2]|0,(e|0)>-1):0)A=(e|0)<(n[A+168>>2]|0)&1;else A=0;return A|0}function Md(A,e){A=A|0;e=e|0;var i=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0;B=v;v=v+176|0;s=B;i=B+48|0;b=B+32|0;o=n[A+16>>2]|0;u=n[A+152>>2]|0;if((n[A+160>>2]|0)<=1?(n[A+196>>2]|0)<=0:0)l=0;else{My(b,128,i);a=o+212|0;l=n[a>>2]|0;cd(A,b);yy(b,l)|0;t=b+4|0;i=n[t>>2]|0;if(i>>>0>=(n[b+8>>2]|0)>>>0){Qy(b,1)|0;i=n[t>>2]|0}r[i>>0]=0;i=n[b>>2]|0;n[t>>2]=i;n[a>>2]=i}Qb(fY(e,84992)|0);Vd(A);pc(A);es(A,122106);rs(A,119592);do{if(u&4259840|0){if((n[o+208>>2]|0)==0?(f[o+260>>1]&1)==0:0)break;if(u&655360){t=u&131072;n[o+264>>2]=t>>>16^2;i=Jg((t>>>12^32)+32|0)|0;a=A+288|0;n[i>>2]=n[a>>2];n[i+4>>2]=n[a+4>>2];n[i+8>>2]=n[a+8>>2];n[i+12>>2]=n[a+12>>2];a=i+16|0;k=A+304|0;n[a>>2]=n[k>>2];n[a+4>>2]=n[k+4>>2];n[a+8>>2]=n[k+8>>2];n[a+12>>2]=n[k+12>>2];if(!t){cg(i);a=4}else a=2}else{i=0;a=0}if(!(u&8192))Jc(A,i,i,a)|0;n[o+272>>2]=i;n[o+268>>2]=a}}while(0);if(u&32768|0?(c=n[(n[e+16>>2]|0)+12>>2]|0,c|0):0)n[o+192>>2]=n[c>>2];a=(u&4|0)!=0;do{if(!a){i=o+208|0;if((n[i>>2]|0)==0?(f[o+260>>1]&1)==0:0)break;k=A+256|0;n[s>>2]=n[k>>2];n[s+4>>2]=n[k+4>>2];n[s+8>>2]=n[k+8>>2];n[s+12>>2]=n[k+12>>2];n[s+16>>2]=n[k+16>>2];n[s+20>>2]=n[k+20>>2];n[s+24>>2]=n[k+24>>2];n[s+28>>2]=n[k+28>>2];Bd(A,s);Kc(A,n[i>>2]|0,n[o+228>>2]|0,n[o+244>>2]|0,n[o+212>>2]|0)}}while(0);Wd(A,e);i=n[(n[e+16>>2]|0)+12>>2]|0;if(i|0)Qg(A,4,i);do{if(!a){if((n[o+208>>2]|0)==0?(f[o+260>>1]&1)==0:0)break;_c(A)}}while(0);Jd(A,e,u);Rc(A);if(l|0){Yy(b);n[o+212>>2]=l}v=B;return}function Qd(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0;l=v;v=v+32|0;i=l+24|0;e=l+16|0;c=l+8|0;f=l;a=A+196|0;t=A+188|0;n[e>>2]=n[a>>2];n[e+4>>2]=n[a+4>>2];n[i>>2]=n[t>>2];n[i+4>>2]=n[t+4>>2];Yd(c,e,i);t=n[c+4>>2]|0;r=a;n[r>>2]=n[c>>2];n[r+4>>2]=t;if(!((Cd(A)|0)<<24>>24)){r=A+180|0;if(!(n[A+184>>2]|0))n[A+200>>2]=n[A+176>>2];else n[a>>2]=n[A+172>>2];n[e>>2]=n[a>>2];n[e+4>>2]=n[a+4>>2];n[i>>2]=n[r>>2];n[i+4>>2]=n[r+4>>2];Yd(f,e,i);t=n[f+4>>2]|0;c=a;n[c>>2]=n[f>>2];n[c+4>>2]=t}v=l;return}function Ed(A,e){A=A|0;e=e|0;var i=0;i=n[e>>2]|0;if(!i){i=A+160|0;n[i>>2]=(n[i>>2]|0)+1}else{n[A+160>>2]=n[i>>2];n[e>>2]=i+4}return}function yd(A){A=A|0;zc(A);ad(A);return}function Yd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(n[i+4>>2]|0)+(n[e+4>>2]|0)|0;n[A>>2]=(n[i>>2]|0)+(n[e>>2]|0);n[A+4>>2]=r;return}function Vd(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0,a=0.0,l=0,t=0,c=0,b=0,o=0,u=0.0,B=0,k=0,w=0,d=0,h=0,g=0.0;h=v;v=v+48|0;o=h+32|0;f=h+24|0;t=h+8|0;c=h+16|0;b=h;w=A+196|0;k=n[w>>2]|0;w=n[w+4>>2]|0;B=f;n[B>>2]=k;n[B+4>>2]=w;B=A+164|0;l=n[B>>2]|0;B=n[B+4>>2]|0;d=t;n[d>>2]=l;n[d+4>>2]=B;d=A+360|0;if(!(n[d>>2]|0)){c=k;t=w}else{n[o>>2]=n[f>>2];n[o+4>>2]=n[f+4>>2];Hh(c,o);w=c;c=n[w>>2]|0;w=n[w+4>>2]|0;B=f;n[B>>2]=c;n[B+4>>2]=w;n[o>>2]=n[t>>2];n[o+4>>2]=n[t+4>>2];Hh(b,o);B=b;l=n[B>>2]|0;B=n[B+4>>2]|0;n[t>>2]=l;n[t+4>>2]=B;t=w}i=+s[A+320>>3];a=i*+(c|0)-+s[A+240>>3];s[A+288>>3]=a;r=+s[A+328>>3];u=r*+(t|0)-+s[A+248>>3];s[A+296>>3]=u;s[A+304>>3]=i+a;s[A+312>>3]=r+u;f=A+472|0;if(!(n[(n[A+12>>2]|0)+28>>2]|0)){w=A+456|0;n[f>>2]=n[w>>2];n[f+4>>2]=n[w+4>>2];n[f+8>>2]=n[w+8>>2];n[f+12>>2]=n[w+12>>2]}else{k=A+456|0;n[f>>2]=n[((n[f>>2]|0)<(n[k>>2]|0)?f:k)>>2];w=A+476|0;n[w>>2]=n[((n[w>>2]|0)<(n[A+460>>2]|0)?f:k)+4>>2];w=A+480|0;n[w>>2]=n[((n[w>>2]|0)>(n[A+464>>2]|0)?f:k)+8>>2];w=A+484|0;n[w>>2]=n[((n[w>>2]|0)>(n[A+468>>2]|0)?f:k)+12>>2]}b=n[A+152>>2]|0;e=+s[A+336>>3];if(!(b&128)){e=(+(c|0)-+(l|0)*.5)*i+e;s[A+256>>3]=e;a=(+(t|0)-+(B|0)*.5)*r+ +s[A+344>>3];u=a;i=i+e;a=a+r}else{i=+s[A+368>>3]*.5;r=e-i;s[A+256>>3]=r;a=+s[A+344>>3];g=+s[A+376>>3]*.5;u=a-g;i=i+e;a=g+a;e=r}s[A+264>>3]=u;s[A+272>>3]=i;s[A+280>>3]=a;if(!(n[d>>2]|0)){r=+s[A+352>>3];s[A+504>>3]=+s[A+384>>3]/r-e;if(!(b&4096)){i=+s[A+392>>3]/r;e=u}else{i=-a;e=+s[A+392>>3]/r}s[A+512>>3]=i-e}else{f=A+384|0;r=+s[A+352>>3];s[A+512>>3]=-a-+s[A+392>>3]/r;if(!(b&4096))i=+s[f>>3]/r;else{i=-i;e=+s[f>>3]/r}s[A+504>>3]=i-e}v=h;return}function Wd(A,e){A=A|0;e=e|0;var i=0,f=0.0,a=0,l=0,t=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0;d=v;v=v+48|0;k=d;u=d+40|0;B=d+36|0;w=d+32|0;i=fY(e,85367)|0;if(!i){t=1;i=121990}else{l=(r[i>>0]|0)==0;t=l&1;i=l?121990:i}a=n[A+152>>2]|0;l=(r[i>>0]|0)==116;if(!(a&256))if(l){b=(az(i,122171)|0)==0;s=b?121990:i;b=b?1:t;o=8}else{s=i;b=t;o=8}else if(!(l?!(az(i,122171)|0):0)){s=i;b=t;o=8}if((o|0)==8?!((b|0)!=0&(a&33554432|0)!=0):0)if(!((zh(s,u,B)|0)<<24>>24)){rs(A,s);es(A,122171);w=A+256|0;n[k>>2]=n[w>>2];n[k+4>>2]=n[w+4>>2];n[k+8>>2]=n[w+8>>2];n[k+12>>2]=n[w+12>>2];n[k+16>>2]=n[w+16>>2];n[k+20>>2]=n[w+20>>2];n[k+24>>2]=n[w+24>>2];n[k+28>>2]=n[w+28>>2];ts(A,k,1)}else{n[w>>2]=0;l=n[u>>2]|0;rs(A,l);es(A,122171);Nh(e,w)|0;i=n[u+4>>2]|0;a=LI(e,n[42186]|0,0,0)|0;f=+c[B>>2];if(!i)fs(A,122106,a,f);else fs(A,i,a,f);w=(n[w>>2]|0)>>>1&1|2;B=A+256|0;n[k>>2]=n[B>>2];n[k+4>>2]=n[B+4>>2];n[k+8>>2]=n[B+8>>2];n[k+12>>2]=n[B+12>>2];n[k+16>>2]=n[B+16>>2];n[k+20>>2]=n[B+20>>2];n[k+24>>2]=n[B+24>>2];n[k+28>>2]=n[B+28>>2];ts(A,k,w);zN(l)}i=n[(n[(n[e+16>>2]|0)+8>>2]|0)+88>>2]|0;if(i|0)Rh(A,i);v=d;return}function Jd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;a=(n[A>>2]|0)+28|0;n[a>>2]=(n[a>>2]|0)+1;a=(i&4|0)!=0;if(!a)Nd(A,e,i);A:do{if(!(i&1)){if(i&16|0){Tc(A);f=CV(e)|0;while(1){if(!f)break;r=bY(e,f)|0;while(1){if(!r)break;pd(A,r);r=uY(e,r)|0}f=MV(e,f)|0}xc(A);Dc(A);r=CV(e)|0;while(1){if(!r)break;zd(A,r);r=MV(e,r)|0}Xc(A);break}if(!(i&8)){f=CV(e)|0;while(1){if(!f)break A;zd(A,f);r=bY(e,f)|0;while(1){if(!r)break;zd(A,n[((n[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0);pd(A,r);r=uY(e,r)|0}f=MV(e,f)|0}}Dc(A);r=CV(e)|0;while(1){if(!r)break;if((Rd(e,r)|0)<<24>>24)zd(A,r);r=MV(e,r)|0}Xc(A);Tc(A);f=CV(e)|0;while(1){if(!f)break;r=bY(e,f)|0;while(1){if(!r)break;if((Pd(e,r)|0)<<24>>24)pd(A,r);r=uY(e,r)|0}f=MV(e,f)|0}xc(A)}else{Dc(A);r=CV(e)|0;while(1){if(!r)break;zd(A,r);r=MV(e,r)|0}Xc(A);Tc(A);f=CV(e)|0;while(1){if(!f)break;r=bY(e,f)|0;while(1){if(!r)break;pd(A,r);r=uY(e,r)|0}f=MV(e,f)|0}xc(A)}}while(0);if(a)Nd(A,e,i);return}function Nd(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,b=0,o=0,u=0.0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0;L=v;v=v+128|0;G=L+72|0;H=L+64|0;J=L+112|0;N=L;z=L+104|0;p=e+16|0;R=(i&4|0)!=0;P=A+16|0;m=N+32|0;I=N+16|0;M=N+8|0;Q=N+24|0;E=N+48|0;y=N+40|0;Y=N+56|0;V=(i&8|0)==0;W=z+4|0;Z=1;while(1){l=n[p>>2]|0;if((Z|0)>(n[l+180>>2]|0))break;g=n[(n[l+184>>2]|0)+(Z<<2)>>2]|0;if((Wh(A,g)|0)<<24>>24){if(R)Nd(A,g,i);Jh(A,g);w=n[P>>2]|0;d=w+208|0;if(!(n[d>>2]|0))h=(f[w+260>>1]&1)!=0;else h=1;Qb(fY(g,84992)|0);if(!(R|h^1)){k=(n[g+16>>2]|0)+16|0;n[G>>2]=n[k>>2];n[G+4>>2]=n[k+4>>2];n[G+8>>2]=n[k+8>>2];n[G+12>>2]=n[k+12>>2];n[G+16>>2]=n[k+16>>2];n[G+20>>2]=n[k+20>>2];n[G+24>>2]=n[k+24>>2];n[G+28>>2]=n[k+28>>2];Bd(A,G);Kc(A,n[d>>2]|0,n[w+228>>2]|0,n[w+244>>2]|0,n[w+212>>2]|0)}n[J>>2]=0;l=Nh(g,J)|0;if(!l)B=0;else{ns(A,l);B=n[J>>2]&1}k=g+16|0;l=a[(n[k>>2]|0)+112>>0]|0;do{if(!(l&1)){if(l&2|0){l=TI(g,0,91244)|0;t=TI(g,0,91252)|0;F=29;break}if(l&8|0){l=TI(g,0,91260)|0;t=TI(g,0,91268)|0;F=29;break}if(l&4|0){l=TI(g,0,91276)|0;t=TI(g,0,91284)|0;F=29;break}l=fY(g,122540)|0;if(!l)t=0;else t=(r[l>>0]|0)==0?0:l;l=fY(g,122531)|0;if(!l)l=t;else l=(r[l>>0]|0)==0?t:l;b=fY(g,86413)|0;if(b)t=(r[b>>0]|0)==0?t:b;if(!((B|0)!=0&(t|0)!=0)){b=fY(g,85367)|0;if(b|0?r[b>>0]|0:0){t=b;F=29;break}l=(l|0)==0?122106:l;o=(t|0)==0?119592:t;n[z>>2]=0;if(!B)t=0;else F=31}else F=29}else{l=TI(g,0,91228)|0;t=TI(g,0,91236)|0;F=29}}while(0);if((F|0)==29){n[z>>2]=0;l=(l|0)==0?122106:l;o=(t|0)==0?119592:t;F=31}if((F|0)==31){F=0;if(!((zh(o,z,G)|0)<<24>>24)){rs(A,o);t=1}else{rs(A,n[z>>2]|0);t=n[W>>2]|0;b=LI(g,n[42186]|0,0,0)|0;u=+c[G>>2];if(!t)fs(A,122106,b,u);else fs(A,t,b,u);t=(n[J>>2]|0)>>>1&1|2}}b=n[42185]|0;if((b|0?(C=nY(g,b)|0,C|0):0)?r[C>>0]|0:0)vs(A,+DI(g,n[42185]|0,1.0,0.0));B=n[J>>2]|0;do{if(B&4){b=LI(g,n[42184]|0,1,0)|0;if(b|t|0){o=n[k>>2]|0;D=o+16|0;n[N>>2]=n[D>>2];n[N+4>>2]=n[D+4>>2];n[N+8>>2]=n[D+8>>2];n[N+12>>2]=n[D+12>>2];o=o+32|0;n[m>>2]=n[o>>2];n[m+4>>2]=n[o+4>>2];n[m+8>>2]=n[o+8>>2];n[m+12>>2]=n[o+12>>2];s[I>>3]=+s[m>>3];s[Q>>3]=+s[M>>3];s[E>>3]=+s[N>>3];s[Y>>3]=+s[y>>3];if(!b)es(A,122171);else es(A,l);pG(A,N,4,B,t)}}else{if(!(B&64)){if(LI(g,n[42184]|0,1,0)|0){es(A,l);D=(n[k>>2]|0)+16|0;n[G>>2]=n[D>>2];n[G+4>>2]=n[D+4>>2];n[G+8>>2]=n[D+8>>2];n[G+12>>2]=n[D+12>>2];n[G+16>>2]=n[D+16>>2];n[G+20>>2]=n[D+20>>2];n[G+24>>2]=n[D+24>>2];n[G+28>>2]=n[D+28>>2];ts(A,G,t);break}if(!t)break;es(A,122171);D=(n[k>>2]|0)+16|0;n[G>>2]=n[D>>2];n[G+4>>2]=n[D+4>>2];n[G+8>>2]=n[D+8>>2];n[G+12>>2]=n[D+12>>2];n[G+16>>2]=n[D+16>>2];n[G+20>>2]=n[D+20>>2];n[G+24>>2]=n[D+24>>2];n[G+28>>2]=n[D+28>>2];ts(A,G,t);break}D=n[k>>2]|0;B=D+16|0;n[N>>2]=n[B>>2];n[N+4>>2]=n[B+4>>2];n[N+8>>2]=n[B+8>>2];n[N+12>>2]=n[B+12>>2];D=D+32|0;n[m>>2]=n[D>>2];n[m+4>>2]=n[D+4>>2];n[m+8>>2]=n[D+8>>2];n[m+12>>2]=n[D+12>>2];s[I>>3]=+s[m>>3];s[Q>>3]=+s[M>>3];s[E>>3]=+s[N>>3];s[Y>>3]=+s[y>>3];if(!(LI(g,n[42184]|0,1,0)|0))es(A,122171);else es(A,l);if((vd(A,N,o,0)|0)>1){n[H>>2]=qY(g)|0;Gy(3,85375,H)|0}D=(n[k>>2]|0)+16|0;n[G>>2]=n[D>>2];n[G+4>>2]=n[D+4>>2];n[G+8>>2]=n[D+8>>2];n[G+12>>2]=n[D+12>>2];n[G+16>>2]=n[D+16>>2];n[G+20>>2]=n[D+20>>2];n[G+24>>2]=n[D+24>>2];n[G+28>>2]=n[D+28>>2];ts(A,G,0)}}while(0);zN(n[z>>2]|0);l=n[(n[k>>2]|0)+12>>2]|0;if(l|0)Qg(A,5,l);if(h){if(R){D=(n[k>>2]|0)+16|0;n[G>>2]=n[D>>2];n[G+4>>2]=n[D+4>>2];n[G+8>>2]=n[D+8>>2];n[G+12>>2]=n[D+12>>2];n[G+16>>2]=n[D+16>>2];n[G+20>>2]=n[D+20>>2];n[G+24>>2]=n[D+24>>2];n[G+28>>2]=n[D+28>>2];Bd(A,G);Kc(A,n[d>>2]|0,n[w+228>>2]|0,n[w+244>>2]|0,n[w+212>>2]|0)}_c(A)}A:do{if(!V){t=CV(g)|0;while(1){if(!t)break A;zd(A,t);l=bY(g,t)|0;while(1){if(!l)break;pd(A,l);l=uY(g,l)|0}t=MV(g,t)|0}}}while(0);ph(A,e);if(!R)Nd(A,g,i)}Z=Z+1|0}v=L;return}function zd(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0;c=v;v=v+32|0;i=c;l=n[A>>2]|0;t=e+16|0;A:do{if(((n[(n[t>>2]|0)+8>>2]|0?(Ih(A,HV(e)|0,e)|0)<<24>>24:0)?(s=A+256|0,n[i>>2]=n[s>>2],n[i+4>>2]=n[s+4>>2],n[i+8>>2]=n[s+8>>2],n[i+12>>2]=n[s+12>>2],n[i+16>>2]=n[s+16>>2],n[i+20>>2]=n[s+20>>2],n[i+24>>2]=n[s+24>>2],n[i+28>>2]=n[s+28>>2],(Ch(e,i)|0)<<24>>24):0)?(f=(n[t>>2]|0)+116|0,a=n[l+28>>2]|0,(a|0)!=(r[f>>0]|0)):0){r[f>>0]=a;bs(A,qY(e)|0);i=XI(e,n[42212]|0,174177)|0;if(r[i>>0]|0)bs(A,i);i=XI(e,n[42200]|0,174177)|0;e:do{if(r[i>>0]|0){Ld(i)|0;i=168408;while(1){f=i;i=i+4|0;f=n[f>>2]|0;if(!f)break e;if((r[f>>0]|0)!=105)continue;if(!(az(f,119127)|0))break A}}}while(0);Mh(A,e);GF[n[(n[(n[(n[t>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&31](A,e);i=n[(n[t>>2]|0)+108>>2]|0;if(i|0?r[i+81>>0]|0:0)Qg(A,10,i);Qh(A)}}while(0);v=c;return}function pd(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0;l=v;v=v+32|0;a=l;i=A+256|0;n[a>>2]=n[i>>2];n[a+4>>2]=n[i+4>>2];n[a+8>>2]=n[i+8>>2];n[a+12>>2]=n[i+12>>2];n[a+16>>2]=n[i+16>>2];n[a+20>>2]=n[i+20>>2];n[a+24>>2]=n[i+24>>2];n[a+28>>2]=n[i+28>>2];A:do{if((Hd(e,a)|0)<<24>>24?(f=e+-48|0,(Fd(A,e)|0)<<24>>24):0){t=e+48|0;i=Az(qY(n[((n[e>>2]&3|0)==3?e:t)+40>>2]|0)|0)|0;i=NN(i+3+(Az(qY(n[((n[e>>2]&3|0)==2?e:f)+40>>2]|0)|0)|0)|0)|0;np(i,qY(n[((n[e>>2]&3|0)==3?e:t)+40>>2]|0)|0)|0;t=(HY(HV(n[((n[e>>2]&3|0)==2?e:f)+40>>2]|0)|0)|0)==0;a=i+(Az(i)|0)|0;if(t){r[a>>0]=r[122549]|0;r[a+1>>0]=r[122550]|0;r[a+2>>0]=r[122551]|0}else{r[a>>0]=r[122546]|0;r[a+1>>0]=r[122547]|0;r[a+2>>0]=r[122548]|0}kR(i,qY(n[((n[e>>2]&3|0)==2?e:f)+40>>2]|0)|0)|0;bs(A,i);zN(i);i=XI(e,n[42234]|0,174177)|0;if(r[i>>0]|0)bs(A,i);i=XI(e,n[42228]|0,174177)|0;e:do{if(!(r[i>>0]|0))i=0;else{Ld(i)|0;i=168408;while(1){f=i;i=i+4|0;f=n[f>>2]|0;if(!f){i=168408;break e}if((r[f>>0]|0)!=105)continue;if(!(az(f,119127)|0))break A}}}while(0);Dd(A,e,i);Xd(A,e,i);Td(A)}}while(0);v=l;return}function Rd(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;A=1;while(1){r=n[i>>2]|0;if((A|0)>(n[r+180>>2]|0)){A=1;break}if(!(OV(n[(n[r+184>>2]|0)+(A<<2)>>2]|0,e)|0))A=A+1|0;else{A=0;break}}return A|0}function Pd(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;A=1;while(1){r=n[i>>2]|0;if((A|0)>(n[r+180>>2]|0)){A=1;break}if(!(OV(n[(n[r+184>>2]|0)+(A<<2)>>2]|0,e)|0))A=A+1|0;else{A=0;break}}return A|0}function Hd(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0;c=v;v=v+64|0;t=c+32|0;f=c;a=A+16|0;A=n[a>>2]|0;i=n[A+8>>2]|0;if((i|0)!=0?(i=i+8|0,n[f>>2]=n[i>>2],n[f+4>>2]=n[i+4>>2],n[f+8>>2]=n[i+8>>2],n[f+12>>2]=n[i+12>>2],n[f+16>>2]=n[i+16>>2],n[f+20>>2]=n[i+20>>2],n[f+24>>2]=n[i+24>>2],n[f+28>>2]=n[i+28>>2],n[t>>2]=n[e>>2],n[t+4>>2]=n[e+4>>2],n[t+8>>2]=n[e+8>>2],n[t+12>>2]=n[e+12>>2],n[t+16>>2]=n[e+16>>2],n[t+20>>2]=n[e+20>>2],n[t+24>>2]=n[e+24>>2],n[t+28>>2]=n[e+28>>2],(mh(f,t)|0)!=0):0)A=1;else l=3;do{if((l|0)==3){i=n[A+96>>2]|0;if(i){n[t>>2]=n[e>>2];n[t+4>>2]=n[e+4>>2];n[t+8>>2]=n[e+8>>2];n[t+12>>2]=n[e+12>>2];n[t+16>>2]=n[e+16>>2];n[t+20>>2]=n[e+20>>2];n[t+24>>2]=n[e+24>>2];n[t+28>>2]=n[e+28>>2];if((FC(i,t)|0)<<24>>24){A=1;break}A=n[a>>2]|0}A=n[A+108>>2]|0;if((A|0?r[A+81>>0]|0:0)?(n[t>>2]=n[e>>2],n[t+4>>2]=n[e+4>>2],n[t+8>>2]=n[e+8>>2],n[t+12>>2]=n[e+12>>2],n[t+16>>2]=n[e+16>>2],n[t+20>>2]=n[e+20>>2],n[t+24>>2]=n[e+24>>2],n[t+28>>2]=n[e+28>>2],(FC(A,t)|0)<<24>>24):0){A=1;break}A=0}}while(0);v=c;return A|0}function Fd(A,e){A=A|0;e=e|0;var i=0,f=0;A:do{if((n[A+156>>2]|0)>=2?(i=XI(e,n[42233]|0,174177)|0,(hh(A,i)|0)<<24>>24==0):0)if(!(r[i>>0]|0)){i=0;while(1){if((i|0)>=2){i=0;break A}f=(i|0)==1;f=XI(n[((n[e>>2]&3|0)==((f?2:3)|0)?e:e+((f?-1:1)*48|0)|0)+40>>2]|0,n[42210]|0,174177)|0;if(!(r[f>>0]|0)){i=1;break A}if(!((hh(A,f)|0)<<24>>24))i=i+1|0;else{i=1;break}}}else i=0;else i=1}while(0);return i|0}function Ld(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0;B=v;v=v+192|0;u=B+24|0;o=B+16|0;b=B+8|0;s=B;a=B+48|0;c=B+32|0;if(r[85249]|0){My(168672,128,173944);r[85249]=0}My(c,128,B+56|0);n[a>>2]=A;l=c+4|0;t=c+8|0;e=0;i=0;A:while(1){f=e;e:while(1)switch(wh(a,c)|0){case 0:{e=21;break A}case 40:if(!(f<<24>>24)){f=1;continue e}else{e=7;break A}case 41:if(!(f<<24>>24)){e=9;break A}else{f=0;continue e}default:break e}if(!(f<<24>>24)){if((i|0)==63){e=12;break}e=n[42169]|0;if(e>>>0>=(n[42170]|0)>>>0){Qy(168672,1)|0;e=n[42169]|0}n[42169]=e+1;r[e>>0]=0;n[168408+(i<<2)>>2]=n[42169];i=i+1|0}e=n[l>>2]|0;if(e>>>0>=(n[t>>2]|0)>>>0){Qy(c,1)|0;e=n[l>>2]|0}r[e>>0]=0;e=n[c>>2]|0;n[l>>2]=e;yy(168672,e)|0;e=n[42169]|0;if(e>>>0>=(n[42170]|0)>>>0){Qy(168672,1)|0;e=n[42169]|0}n[42169]=e+1;r[e>>0]=0;e=f}do{if((e|0)==7){n[s>>2]=A;Gy(1,85250,s)|0;n[42102]=0;Yy(c)}else if((e|0)==9){n[b>>2]=A;Gy(1,85284,b)|0;n[42102]=0;Yy(c)}else if((e|0)==12){n[o>>2]=A;Gy(0,85312,o)|0;n[42165]=0;Yy(c)}else if((e|0)==21){if(f<<24>>24){n[u>>2]=A;Gy(1,85335,u)|0;n[42102]=0;Yy(c);break}n[168408+(i<<2)>>2]=0;Yy(c);e=n[42169]|0;if(e>>>0>=(n[42170]|0)>>>0){Qy(168672,1)|0;e=n[42169]|0}r[e>>0]=0;n[42169]=n[42168]}}while(0);v=B;return 168408}function Dd(A,e,i){A=A|0;e=e|0;i=i|0;var a=0,t=0,c=0,b=0.0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0;M=v;v=v+160|0;I=M+24|0;G=M+20|0;Z=M+16|0;u=M;B=M+32|0;m=n[A+152>>2]|0;n[I>>2]=0;n[G>>2]=0;n[Z>>2]=0;C=nd(A)|0;n[C+4>>2]=3;n[C+8>>2]=e;n[C+12>>2]=9;h=e+16|0;o=n[(n[h>>2]|0)+96>>2]|0;if((o|0?(r[o+82>>0]|0)==0:0)?(jI(fY(e,85065)|0,0)|0)<<24>>24:0){o=C+260|0;f[o>>1]=f[o>>1]|512}if(i|0?n[(n[h>>2]|0)+8>>2]|0:0)ns(A,i);i=n[42249]|0;if((i|0?(a=nY(e,i)|0,a|0):0)?r[a>>0]|0:0)vs(A,+DI(e,n[42249]|0,1.0,0.0));do{if(m&16777216|0){i=e+48|0;if((l[(n[(HV(n[((n[e>>2]&3|0)==3?e:i)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){b=+s[(n[(n[(n[((n[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;s[C+176>>3]=+(~~(b+(b>=0.0?.5:-.5))|0);b=+s[(n[(n[(n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;s[C+184>>3]=+(~~(b+(b>=0.0?.5:-.5))|0);break}else{o=C+176|0;n[o>>2]=0;n[o+4>>2]=0;n[o+8>>2]=0;n[o+12>>2]=0;break}}}while(0);if(m&32768|0){o=n[h>>2]|0;i=n[o+96>>2]|0;if(!i)i=n[C+192>>2]|0;else{i=n[i>>2]|0;n[C+192>>2]=i}a=C+196|0;n[a>>2]=i;c=C+204|0;n[c>>2]=i;t=C+200|0;n[t>>2]=i;i=n[o+108>>2]|0;if(i|0)n[a>>2]=n[i>>2];i=n[o+104>>2]|0;if(i|0)n[t>>2]=n[i>>2];i=n[o+100>>2]|0;if(i|0)n[c>>2]=n[i>>2]}if(!(m&65536))t=0;else{My(u,128,B);n[C+212>>2]=Eg(td(A,e,u)|0,e)|0;Yy(u);i=fY(e,96264)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)k=31;else{i=fY(e,96269)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)k=31;else a=0}if((k|0)==31)a=Eg(i,e)|0;i=fY(e,85078)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)k=36;else k=34;do{if((k|0)==34){i=fY(e,85087)|0;if(i|0?r[i>>0]|0:0){k=36;break}if(a|0){i=vR(a)|0;k=39}}}while(0);if((k|0)==36){i=Eg(i,e)|0;k=39}if((k|0)==39)n[C+208>>2]=i;i=fY(e,85095)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)k=44;else k=42;do{if((k|0)==42){i=fY(e,85105)|0;if(i|0?r[i>>0]|0:0){k=44;break}if(a|0){i=vR(a)|0;k=47}}}while(0);if((k|0)==44){i=Eg(i,e)|0;k=47}if((k|0)==47)n[C+216>>2]=i;i=fY(e,85114)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)k=52;else k=50;do{if((k|0)==50){i=fY(e,85123)|0;if(i|0?r[i>>0]|0:0){k=52;break}if(a|0)n[C+220>>2]=vR(a)|0}}while(0);if((k|0)==52){n[C+220>>2]=Eg(i,e)|0;k=C+260|0;f[k>>1]=f[k>>1]|128}i=fY(e,85131)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)k=59;else k=57;do{if((k|0)==57){i=fY(e,85140)|0;if(i|0?r[i>>0]|0:0){k=59;break}if(a|0)n[C+224>>2]=vR(a)|0}}while(0);if((k|0)==59){n[C+224>>2]=Eg(i,e)|0;k=C+260|0;f[k>>1]=f[k>>1]|256}t=a}do{if(m&8388608){i=fY(e,85148)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)a=Eg(i,e)|0;else a=0;i=fY(e,85155)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){k=C+260|0;f[k>>1]=f[k>>1]|64;i=Eg(i,e)|0;k=72}else k=70;if((k|0)==70?a|0:0){i=vR(a)|0;k=72}if((k|0)==72)n[C+244>>2]=i;i=fY(e,85166)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){i=Eg(i,e)|0;k=78}else k=76;if((k|0)==76?a|0:0){i=vR(a)|0;k=78}if((k|0)==78)n[C+248>>2]=i;i=fY(e,85178)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){n[C+252>>2]=Eg(i,e)|0;B=C+260|0;f[B>>1]=f[B>>1]|16}else k=82;if((k|0)==82?a|0:0)n[C+252>>2]=vR(a)|0;i=fY(e,85189)|0;if(i|0?r[i>>0]|0:0){k=C+260|0;f[k>>1]=f[k>>1]|32;n[C+256>>2]=Eg(i,e)|0;break}if(a)n[C+256>>2]=vR(a)|0;else a=0}else a=0}while(0);do{if(m&4194304|0){i=fY(e,96229)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)k=94;else k=92;do{if((k|0)==92){i=fY(e,85200)|0;if(i|0?r[i>>0]|0:0){k=94;break}i=n[C+192>>2]|0;if(i|0)n[C+228>>2]=vR(i)|0}}while(0);if((k|0)==94){B=ch(i,e)|0;n[C+228>>2]=Eg(B,e)|0;zN(B);B=C+260|0;f[B>>1]=f[B>>1]|1}i=fY(e,85212)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){B=ch(i,e)|0;n[C+232>>2]=Eg(B,e)|0;zN(B);B=C+260|0;f[B>>1]=f[B>>1]|8}else k=100;if((k|0)==100?(w=n[C+192>>2]|0,w|0):0)n[C+232>>2]=vR(w)|0;i=fY(e,85225)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){w=ch(i,e)|0;n[C+236>>2]=Eg(w,e)|0;zN(w);w=C+260|0;f[w>>1]=f[w>>1]|2}else k=105;if((k|0)==105?(d=n[C+200>>2]|0,d|0):0)n[C+236>>2]=vR(d)|0;i=fY(e,85237)|0;if(i|0?r[i>>0]|0:0){d=ch(i,e)|0;n[C+240>>2]=Eg(d,e)|0;zN(d);d=C+260|0;f[d>>1]=f[d>>1]|4;break}i=n[C+204>>2]|0;if(i|0)n[C+240>>2]=vR(i)|0}}while(0);zN(t);zN(a);do{if(m&4259840|0?(g=n[(n[h>>2]|0)+8>>2]|0,g|0):0){if(!(n[C+208>>2]|0)){if((m&524288|0)==0|(n[C+228>>2]|0)==0)break}else if(!(m&524288))break;b=+s[(n[A+16>>2]|0)+152>>3]*.5;b=b>2.0?b:2.0;a=n[g+4>>2]|0;i=0;while(1){if((i|0)>=(a|0))break;sh(I,G,Z,(n[g>>2]|0)+(i*48|0)|0,b);i=i+1|0}t=n[Z>>2]|0;n[C+276>>2]=t;c=n[G>>2]|0;n[C+280>>2]=c;if(!(m&8192)){i=0;a=0;while(1){if((a|0)>=(t|0))break;i=(n[c+(a<<2)>>2]|0)+i|0;a=a+1|0}I=n[I>>2]|0;Jc(A,I,I,i)|0;i=I}else i=n[I>>2]|0;n[C+284>>2]=i;n[C+264>>2]=2;n[C+272>>2]=i;n[C+268>>2]=n[c>>2]}}while(0);Sc(A,e);i=n[C+208>>2]|0;if(!((i|0)==0?!(f[C+260>>1]&1):0))Kc(A,i,n[C+228>>2]|0,n[C+244>>2]|0,n[C+212>>2]|0);v=M;return}function Xd(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0.0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0.0,H=0.0,F=0,L=0,D=0,X=0,T=0;L=v;v=v+240|0;R=L+224|0;p=L+208|0;m=L+128|0;G=L+112|0;F=L+64|0;E=L+48|0;y=L+32|0;Y=L+16|0;V=L;W=L+192|0;J=L+176|0;I=L+160|0;Q=L+144|0;n[Y>>2]=0;n[Y+4>>2]=0;n[Y+8>>2]=0;n[Y+12>>2]=0;P=+s[(n[A+16>>2]|0)+152>>3];Qb(fY(e,84992)|0);z=e+16|0;A:do{if(n[(n[z>>2]|0)+8>>2]|0){H=+DI(e,n[42231]|0,1.0,0.0);c=XI(e,n[42219]|0,174177)|0;Z=(i|0)!=0;e:do{if(Z){f=i;while(1){l=f;f=f+4|0;l=n[l>>2]|0;if(!l){u=0;break e}if((r[l>>0]|0)!=116)continue;if(!(az(l,95883)|0)){u=1;break}}}else u=0}while(0);t=c;k=0;l=0;e:while(1){switch(r[t>>0]|0){case 0:break e;case 58:{f=k+1|0;break}case 59:{f=k;l=l+1|0;break}default:f=k}t=t+1|0;k=f}o=(k|0)!=0;if((l|0)!=0&o)if(!(_d(A,e,i,c,k+1|0,H,P)|0))break;else b=122106;else b=c;f=a[(n[z>>2]|0)+115>>0]|0;if(!(f&1))if(!(f&2))if(!(f&8))if(!(f&4)){l=b;t=TI(e,n[42220]|0,b)|0}else{t=91284;f=91276;c=168884;l=168884;B=18}else{t=91268;f=91260;c=168884;l=168884;B=18}else{t=91252;f=91244;c=168884;l=168884;B=18}else{t=91236;f=91228;c=168884;l=168884;B=18}if((B|0)==18){l=n[l>>2]|0;l=TI(e,l,qd(b,f)|0)|0;f=TI(e,n[c>>2]|0,t)|0;if((l|0)==(b|0)){l=b;t=f}else{es(A,l);t=f}}if((t|0)!=(b|0))rs(A,t);if(u<<24>>24){l=(r[l>>0]|0)==0?122106:l;f=(r[t>>0]|0)==0?122106:t;es(A,122171);rs(A,l);g=F;w=n[n[(n[z>>2]|0)+8>>2]>>2]|0;d=g+48|0;do{n[g>>2]=n[w>>2];g=g+4|0;w=w+4|0}while((g|0)<(d|0));z=BI(F,$d(e)|0,P,0,0)|0;ls(A,n[z+8>>2]|0,n[z>>2]|0,1);Ah(z);es(A,l);if((f|0)!=(l|0))rs(A,f);f=n[F+8>>2]|0;if(f|0){N=F+16|0;z=n[F>>2]|0;n[p>>2]=n[N>>2];n[p+4>>2]=n[N+4>>2];n[p+8>>2]=n[N+8>>2];n[p+12>>2]=n[N+12>>2];n[R>>2]=n[z>>2];n[R+4>>2]=n[z+4>>2];n[R+8>>2]=n[z+8>>2];n[R+12>>2]=n[z+12>>2];id(A,2,p,R,H,P,f)}f=n[F+12>>2]|0;if(!f)break;z=F+32|0;F=(n[F>>2]|0)+((n[F+4>>2]|0)+-1<<4)|0;n[p>>2]=n[z>>2];n[p+4>>2]=n[z+4>>2];n[p+8>>2]=n[z+8>>2];n[p+12>>2]=n[z+12>>2];n[R>>2]=n[F>>2];n[R+4>>2]=n[F+4>>2];n[R+8>>2]=n[F+8>>2];n[R+12>>2]=n[F+12>>2];id(A,3,p,R,H,P,f);break}f=n[z>>2]|0;if(!o){do{if(!(r[f+115>>0]&3)){if(r[l>>0]|0){es(A,l);rs(A,t);break}es(A,122106);if(!(r[t>>0]|0)){rs(A,122106);break}else{rs(A,t);break}}}while(0);c=A+152|0;b=F+4|0;o=F+8|0;u=F+12|0;B=F+32|0;k=F+16|0;t=0;while(1){f=n[(n[z>>2]|0)+8>>2]|0;if((t|0)>=(n[f+4>>2]|0))break A;g=F;w=(n[f>>2]|0)+(t*48|0)|0;d=g+48|0;do{n[g>>2]=n[w>>2];g=g+4|0;w=w+4|0}while((g|0)<(d|0));f=n[F>>2]|0;l=n[b>>2]|0;do{if(!(n[c>>2]&16384)){cs(A,f,l,0,0,0);f=n[o>>2]|0;if(f|0){N=n[F>>2]|0;n[p>>2]=n[k>>2];n[p+4>>2]=n[k+4>>2];n[p+8>>2]=n[k+8>>2];n[p+12>>2]=n[k+12>>2];n[R>>2]=n[N>>2];n[R+4>>2]=n[N+4>>2];n[R+8>>2]=n[N+8>>2];n[R+12>>2]=n[N+12>>2];id(A,2,p,R,H,P,f)}f=n[u>>2]|0;if(f|0){N=(n[F>>2]|0)+((n[b>>2]|0)+-1<<4)|0;n[p>>2]=n[B>>2];n[p+4>>2]=n[B+4>>2];n[p+8>>2]=n[B+8>>2];n[p+12>>2]=n[B+12>>2];n[R>>2]=n[N>>2];n[R+4>>2]=n[N+4>>2];n[R+8>>2]=n[N+8>>2];n[R+12>>2]=n[N+12>>2];id(A,3,p,R,H,P,f)}if((n[(n[(n[z>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(n[o>>2]|0)){if(!(Z&(n[u>>2]|0)!=0))break}else if(!Z)break;ns(A,i)}}else cs(A,f,l,n[o>>2]|0,n[u>>2]|0,0)}while(0);t=t+1|0}}N=n[(n[f+8>>2]|0)+4>>2]|0;M=N*48|0;C=NN(M)|0;M=NN(M)|0;h=+(k+2|0)*.5;Z=F+4|0;B=E+8|0;k=y+8|0;e=Y+8|0;i=V+8|0;u=0;while(1){if((u|0)>=(N|0))break;g=F;w=(n[n[(n[z>>2]|0)+8>>2]>>2]|0)+(u*48|0)|0;d=g+48|0;do{n[g>>2]=n[w>>2];g=g+4|0;w=w+4|0}while((g|0)<(d|0));f=n[Z>>2]|0;n[C+(u*48|0)+4>>2]=f;n[M+(u*48|0)+4>>2]=f;o=f<<4;b=NN(o)|0;n[C+(u*48|0)>>2]=b;o=NN(o)|0;n[M+(u*48|0)>>2]=o;c=n[F>>2]|0;n[V>>2]=n[c>>2];n[V+4>>2]=n[c+4>>2];n[V+8>>2]=n[c+8>>2];n[V+12>>2]=n[c+12>>2];c=0;while(1){if((c|0)>=(f+-1|0))break;n[E>>2]=n[V>>2];n[E+4>>2]=n[V+4>>2];n[E+8>>2]=n[V+8>>2];n[E+12>>2]=n[V+12>>2];f=c+1|0;t=(n[F>>2]|0)+(f<<4)|0;n[y>>2]=n[t>>2];n[y+4>>2]=n[t+4>>2];n[y+8>>2]=n[t+8>>2];n[y+12>>2]=n[t+12>>2];t=b+(c<<4)|0;if(!c){n[p>>2]=n[E>>2];n[p+4>>2]=n[E+4>>2];n[p+8>>2]=n[E+8>>2];n[p+12>>2]=n[E+12>>2];n[R>>2]=n[y>>2];n[R+4>>2]=n[y+4>>2];n[R+8>>2]=n[y+8>>2];n[R+12>>2]=n[y+12>>2];eh(W,p,R);n[t>>2]=n[W>>2];n[t+4>>2]=n[W+4>>2];n[t+8>>2]=n[W+8>>2];n[t+12>>2]=n[W+12>>2]}else{n[p>>2]=n[Y>>2];n[p+4>>2]=n[Y+4>>2];n[p+8>>2]=n[Y+8>>2];n[p+12>>2]=n[Y+12>>2];n[R>>2]=n[y>>2];n[R+4>>2]=n[y+4>>2];n[R+8>>2]=n[y+8>>2];n[R+12>>2]=n[y+12>>2];eh(J,p,R);n[t>>2]=n[J>>2];n[t+4>>2]=n[J+4>>2];n[t+8>>2]=n[J+8>>2];n[t+12>>2]=n[J+12>>2]}X=n[F>>2]|0;d=c+2|0;T=X+(d<<4)|0;n[Y>>2]=n[T>>2];n[Y+4>>2]=n[T+4>>2];n[Y+8>>2]=n[T+8>>2];n[Y+12>>2]=n[T+12>>2];g=c+3|0;X=X+(g<<4)|0;n[V>>2]=n[X>>2];n[V+4>>2]=n[X+4>>2];n[V+8>>2]=n[X+8>>2];n[V+12>>2]=n[X+12>>2];D=b+(f<<4)|0;w=b+(d<<4)|0;n[G>>2]=n[E>>2];n[G+4>>2]=n[E+4>>2];n[G+8>>2]=n[E+8>>2];n[G+12>>2]=n[E+12>>2];n[m>>2]=n[y>>2];n[m+4>>2]=n[y+4>>2];n[m+8>>2]=n[y+8>>2];n[m+12>>2]=n[y+12>>2];n[p>>2]=n[T>>2];n[p+4>>2]=n[T+4>>2];n[p+8>>2]=n[T+8>>2];n[p+12>>2]=n[T+12>>2];n[R>>2]=n[X>>2];n[R+4>>2]=n[X+4>>2];n[R+8>>2]=n[X+8>>2];n[R+12>>2]=n[X+12>>2];ih(I,G,m,p,R);n[w>>2]=n[I>>2];n[w+4>>2]=n[I+4>>2];n[w+8>>2]=n[I+8>>2];n[w+12>>2]=n[I+12>>2];n[D>>2]=n[I>>2];n[D+4>>2]=n[I+4>>2];n[D+8>>2]=n[I+8>>2];n[D+12>>2]=n[I+12>>2];s[o+(c<<4)>>3]=+s[E>>3]-+s[t>>3]*h;s[o+(c<<4)+8>>3]=+s[B>>3]-+s[b+(c<<4)+8>>3]*h;s[o+(f<<4)>>3]=+s[y>>3]-+s[D>>3]*h;s[o+(f<<4)+8>>3]=+s[k>>3]-+s[b+(f<<4)+8>>3]*h;s[o+(d<<4)>>3]=+s[Y>>3]-+s[w>>3]*h;s[o+(d<<4)+8>>3]=+s[e>>3]-+s[b+(d<<4)+8>>3]*h;c=g;f=n[Z>>2]|0}T=b+(c<<4)|0;n[p>>2]=n[Y>>2];n[p+4>>2]=n[Y+4>>2];n[p+8>>2]=n[Y+8>>2];n[p+12>>2]=n[Y+12>>2];n[R>>2]=n[V>>2];n[R+4>>2]=n[V+4>>2];n[R+8>>2]=n[V+8>>2];n[R+12>>2]=n[V+12>>2];eh(Q,p,R);n[T>>2]=n[Q>>2];n[T+4>>2]=n[Q+4>>2];n[T+8>>2]=n[Q+8>>2];n[T+12>>2]=n[Q+12>>2];s[o+(c<<4)>>3]=+s[V>>3]-+s[T>>3]*h;s[o+(c<<4)+8>>3]=+s[i>>3]-+s[b+(c<<4)+8>>3]*h;u=u+1|0}d=vR(l)|0;i=0;w=l;f=l;t=l;l=d;while(1){l=bR(l,92961)|0;if(!l)break;e=(r[l>>0]|0)==0?122106:l;if((e|0)!=(t|0))if(!(r[(n[z>>2]|0)+115>>0]&3)){es(A,e);rs(A,e);t=e}else t=e;b=(i|0)==0;o=i>>>0<2;l=0;while(1){if((l|0)>=(N|0))break;u=n[M+(l*48|0)>>2]|0;B=n[C+(l*48|0)>>2]|0;k=n[M+(l*48|0)+4>>2]|0;c=0;while(1){if((c|0)>=(k|0))break;T=u+(c<<4)|0;s[T>>3]=+s[T>>3]+ +s[B+(c<<4)>>3];T=u+(c<<4)+8|0;s[T>>3]=+s[T>>3]+ +s[B+(c<<4)+8>>3];c=c+1|0}cs(A,u,k,0,0,0);l=l+1|0}i=i+1|0;w=b?e:w;f=o?e:f;l=0}l=n[F+8>>2]|0;if(!l)l=0;else{if(f){if(!(r[(n[z>>2]|0)+115>>0]&3)){es(A,f);rs(A,f)}}else f=0;X=F+16|0;T=n[F>>2]|0;n[p>>2]=n[X>>2];n[p+4>>2]=n[X+4>>2];n[p+8>>2]=n[X+8>>2];n[p+12>>2]=n[X+12>>2];n[R>>2]=n[T>>2];n[R+4>>2]=n[T+4>>2];n[R+8>>2]=n[T+8>>2];n[R+12>>2]=n[T+12>>2];id(A,2,p,R,H,P,l);l=f}t=F+12|0;f=n[t>>2]|0;if(f|0){if((l|0)!=(w|0)?(r[(n[z>>2]|0)+115>>0]&3)==0:0){es(A,w);rs(A,w);f=n[t>>2]|0}X=F+32|0;T=(n[F>>2]|0)+((n[Z>>2]|0)+-1<<4)|0;n[p>>2]=n[X>>2];n[p+4>>2]=n[X+4>>2];n[p+8>>2]=n[X+8>>2];n[p+12>>2]=n[X+12>>2];n[R>>2]=n[T>>2];n[R+4>>2]=n[T+4>>2];n[R+8>>2]=n[T+8>>2];n[R+12>>2]=n[T+12>>2];id(A,3,p,R,H,P,f)}zN(d);f=0;while(1){if((f|0)>=(N|0))break;zN(n[C+(f*48|0)>>2]|0);zN(n[M+(f*48|0)>>2]|0);f=f+1|0}zN(C);zN(M)}}while(0);v=L;return}function Td(A){A=A|0;var e=0,i=0,r=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0;m=v;v=v+64|0;w=m+48|0;g=m+32|0;h=m+16|0;d=m;G=n[A+16>>2]|0;Z=n[G+8>>2]|0;k=G+208|0;if(!((n[k>>2]|0)==0?!(f[G+260>>1]&1):0))e=3;A:do{if((e|0)==3?(_c(A),B=G+276|0,i=n[B>>2]|0,i|0):0){l=G+280|0;e=n[l>>2]|0;t=G+268|0;c=G+284|0;s=G+272|0;b=G+228|0;o=G+244|0;u=G+212|0;r=n[e>>2]|0;a=1;while(1){if((a|0)>=(i|0))break A;n[t>>2]=n[e+(a<<2)>>2];n[s>>2]=(n[c>>2]|0)+(r<<4);Kc(A,n[k>>2]|0,n[b>>2]|0,n[o>>2]|0,n[u>>2]|0);_c(A);I=n[l>>2]|0;r=(n[I+(a<<2)>>2]|0)+r|0;a=a+1|0;i=n[B>>2]|0;e=I}}}while(0);n[G+268>>2]=0;n[G+272>>2]=0;k=Z+16|0;e=n[k>>2]|0;i=n[e+8>>2]|0;if(!i)r=G+260|0;else{B=n[i>>2]|0;e=n[B>>2]|0;I=n[B+8>>2]|0;u=B+16|0;n[h>>2]=n[u>>2];n[h+4>>2]=n[u+4>>2];n[h+8>>2]=n[u+8>>2];n[h+12>>2]=n[u+12>>2];B=B+32|0;n[d>>2]=n[B>>2];n[d+4>>2]=n[B+4>>2];n[d+8>>2]=n[B+8>>2];n[d+12>>2]=n[B+12>>2];if(!I){n[g>>2]=n[e>>2];n[g+4>>2]=n[e+4>>2];n[g+8>>2]=n[e+8>>2];n[g+12>>2]=n[e+12>>2]}else{n[g>>2]=n[h>>2];n[g+4>>2]=n[h+4>>2];n[g+8>>2]=n[h+8>>2];n[g+12>>2]=n[h+12>>2]}r=G+260|0;B=f[r>>1]|0;u=n[G+220>>2]|0;n[w>>2]=n[g>>2];n[w+4>>2]=n[g+4>>2];n[w+8>>2]=n[g+8>>2];n[w+12>>2]=n[g+12>>2];xd(A,w,(B<<8&65535)<<16>>16>>15&255,u,(B<<14&65535)<<16>>16>>15&255);B=n[(n[k>>2]|0)+8>>2]|0;u=n[B>>2]|0;B=(n[B+4>>2]|0)+-1|0;e=n[u+(B*48|0)>>2]|0;i=n[u+(B*48|0)+4>>2]|0;I=n[u+(B*48|0)+12>>2]|0;o=u+(B*48|0)+16|0;n[h>>2]=n[o>>2];n[h+4>>2]=n[o+4>>2];n[h+8>>2]=n[o+8>>2];n[h+12>>2]=n[o+12>>2];h=u+(B*48|0)+32|0;n[d>>2]=n[h>>2];n[d+4>>2]=n[h+4>>2];n[d+8>>2]=n[h+8>>2];n[d+12>>2]=n[h+12>>2];if(!I){I=e+(i+-1<<4)|0;n[g>>2]=n[I>>2];n[g+4>>2]=n[I+4>>2];n[g+8>>2]=n[I+8>>2];n[g+12>>2]=n[I+12>>2]}else{n[g>>2]=n[d>>2];n[g+4>>2]=n[d+4>>2];n[g+8>>2]=n[d+8>>2];n[g+12>>2]=n[d+12>>2]}e=f[r>>1]|0;I=n[G+224>>2]|0;n[w>>2]=n[g>>2];n[w+4>>2]=n[g+4>>2];n[w+8>>2]=n[g+8>>2];n[w+12>>2]=n[g+12>>2];xd(A,w,(e<<7&65535)<<16>>16>>15&255,I,(e<<13&65535)<<16>>16>>15&255);e=n[k>>2]|0}i=n[e+96>>2]|0;a=(f[r>>1]<<12&65535)<<16>>16>>15<<16>>16;b=G+216|0;l=n[b>>2]|0;o=G+232|0;t=n[o>>2]|0;u=G+248|0;c=n[u>>2]|0;B=G+212|0;s=n[B>>2]|0;if(!((UI(XI(Z,n[42229]|0,122100)|0)|0)<<24>>24))e=0;else e=n[(n[k>>2]|0)+8>>2]|0;Ud(A,i,11,a,l,t,c,s,e);c=n[(n[k>>2]|0)+108>>2]|0;s=(f[r>>1]<<12&65535)<<16>>16>>15<<16>>16;t=n[b>>2]|0;l=n[o>>2]|0;i=n[u>>2]|0;a=n[B>>2]|0;if(!((UI(XI(Z,n[42229]|0,122100)|0)|0)<<24>>24))e=0;else e=n[(n[k>>2]|0)+8>>2]|0;Ud(A,c,11,s,t,l,i,a,e);Ud(A,n[(n[k>>2]|0)+100>>2]|0,7,(f[r>>1]<<13&65535)<<16>>16>>15<<16>>16,n[G+224>>2]|0,n[G+240>>2]|0,n[G+256>>2]|0,n[B>>2]|0,0);Ud(A,n[(n[k>>2]|0)+104>>2]|0,6,(f[r>>1]<<14&65535)<<16>>16>>15<<16>>16,n[G+220>>2]|0,n[G+236>>2]|0,n[G+252>>2]|0,n[B>>2]|0,0);Oc(A);ad(A);v=m;return}function xd(A,e,i,r,a){A=A|0;e=e|0;i=i|0;r=r|0;a=a|0;var l=0,t=0,c=0;c=v;v=v+16|0;l=c;t=n[A+16>>2]|0;if(!(i<<24>>24))r=n[t+208>>2]|0;if(!(a<<24>>24==0?(r|0)==0?(f[t+260>>1]&1)==0:0:0)){n[l>>2]=n[e>>2];n[l+4>>2]=n[e+4>>2];n[l+8>>2]=n[e+8>>2];n[l+12>>2]=n[e+12>>2];Kd(A,l)}v=c;return}function Ud(A,e,i,f,a,l,t,c,s){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;l=l|0;t=t|0;c=c|0;s=s|0;var b=0,o=0,u=0,B=0,k=0,w=0;w=v;v=v+16|0;u=w;k=n[A+152>>2]|0;if(e|0?r[e+81>>0]|0:0){if(!c)o=0;else{o=Jg((Az(c)|0)+11|0)|0;switch(i|0){case 11:{b=86184;break}case 7:{b=86600;break}case 6:{b=86610;break}default:BA(123205,84869,2730,85004)}n[u>>2]=c;n[u+4>>2]=b;_p(o,85020,u)|0}u=A+16|0;c=(n[u>>2]|0)+12|0;B=n[c>>2]|0;n[c>>2]=i;c=(f|0)!=0|(a|0)!=0;b=(k&4|0)==0;if(c&b){jd(A,e);Kc(A,a,l,t,o)}Qg(A,i,e);if(s|0)Sd(A,e,s);if(c){if(!b){jd(A,e);Kc(A,a,l,t,o)}_c(A)}zN(o);n[(n[u>>2]|0)+12>>2]=B}v=w;return}function jd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;i=n[A+16>>2]|0;r=n[A+152>>2]|0;if(r&4259840|0){f=r&131072;l=f>>>16^2;n[i+264>>2]=l;t=i+268|0;n[t>>2]=l+2;l=i+272|0;zN(n[l>>2]|0);i=Jg(n[t>>2]<<4)|0;n[l>>2]=i;l=e+56|0;t=e+24|0;s[i>>3]=+s[l>>3]-+s[t>>3]*.5;a=e+64|0;e=e+32|0;s[i+8>>3]=+s[a>>3]-+s[e>>3]*.5;s[i+16>>3]=+s[t>>3]*.5+ +s[l>>3];s[i+24>>3]=+s[e>>3]*.5+ +s[a>>3];if(!(r&8192))Jc(A,i,i,2)|0;if(!f)cg(i)}return}function Sd(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0.0;u=v;v=v+96|0;a=u+80|0;l=u+32|0;t=u+16|0;c=u;f=n[e>>2]|0;while(1){b=r[f>>0]|0;if(!(b<<24>>24))break;if(!(Wz(b&255)|0)){o=4;break}else f=f+1|0}if((o|0)==4){B=+s[e+24>>3];b=e+56|0;Od(l,+s[b>>3]+B*.5,+s[e+64>>3]-+s[e+32>>3]*.5);o=l+16|0;Od(t,+s[l>>3]-B,+s[l+8>>3]);n[o>>2]=n[t>>2];n[o+4>>2]=n[t+4>>2];n[o+8>>2]=n[t+8>>2];n[o+12>>2]=n[t+12>>2];o=l+32|0;n[a>>2]=n[b>>2];n[a+4>>2]=n[b+4>>2];n[a+8>>2]=n[b+8>>2];n[a+12>>2]=n[b+12>>2];nC(c,i,a);n[o>>2]=n[c>>2];n[o+4>>2]=n[c+4>>2];n[o+8>>2]=n[c+8>>2];n[o+12>>2]=n[c+12>>2];ns(A,n[(n[A>>2]|0)+336>>2]|0);es(A,n[e+8>>2]|0);ss(A,l,3)}v=u;return}function Od(A,e,i){A=A|0;e=+e;i=+i;s[A>>3]=e;s[A+8>>3]=i;return}function Kd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0.0,l=0.0,t=0,c=0;i=n[A+16>>2]|0;r=n[A+152>>2]|0;if(r&4259840|0){f=r&131072;t=f>>>16^2;n[i+264>>2]=t;c=i+268|0;n[c>>2]=t+2;t=i+272|0;zN(n[t>>2]|0);i=Jg(n[c>>2]<<4)|0;n[t>>2]=i;l=+s[e>>3];s[i>>3]=l+-3.0;a=+s[e+8>>3];s[i+8>>3]=a+-3.0;s[i+16>>3]=l+3.0;s[i+24>>3]=a+3.0;if(!(r&8192))Jc(A,i,i,2)|0;if(!f)cg(i)}return}function _d(A,e,i,r,f,a,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=+a;l=+l;var t=0,s=0,b=0.0,o=0.0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0;z=v;v=v+256|0;y=z+224|0;E=z+208|0;t=z+192|0;V=z+144|0;W=z+96|0;J=z+48|0;Y=z;s=z+240|0;r=bd(r,f,s)|0;if((r|0)>1){C=e+48|0;M=HV(n[((n[e>>2]&3|0)==3?e:C)+40>>2]|0)|0;C=qY(n[((n[e>>2]&3|0)==3?e:C)+40>>2]|0)|0;M=(HY(M)|0)!=0;Q=qY(n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;n[t>>2]=C;n[t+4>>2]=M?85039:85044;n[t+8>>2]=Q;Gy(3,85049,t)|0;if((r|0)==2)r=1;else N=4}else if((r|0)==1)r=1;else N=4;if((N|0)==4){Q=e+16|0;w=n[s>>2]|0;d=w+8|0;h=J+4|0;g=V+8|0;Z=V+12|0;G=(i|0)!=0;k=(i|0)==0;m=V+32|0;I=V+4|0;C=V+16|0;M=Y+4|0;r=0;B=0;while(1){f=n[(n[Q>>2]|0)+8>>2]|0;if((B|0)>=(n[f+4>>2]|0))break;t=V;f=(n[f>>2]|0)+(B*48|0)|0;e=t+48|0;do{n[t>>2]=n[f>>2];t=t+4|0;f=f+4|0}while((t|0)<(e|0));e=1;b=1.0;u=n[d>>2]|0;A:while(1){f=n[u>>2]|0;if(!f)break;s=u+4|0;o=+c[s>>2];do{if(o<1.0e-05&o>-1.0e-05)f=e;else{es(A,f);o=+c[s>>2];b=b-o;r=n[u>>2]|0;if(e|0){lh(V,o,J,Y);s=n[J>>2]|0;cs(A,s,n[h>>2]|0,0,0,0);zN(s);if(b<1.0e-05&b>-1.0e-05){N=11;break A}else{f=0;break}}if(b<1.0e-05&b>-1.0e-05){N=13;break A}t=W;f=Y;e=t+48|0;do{n[t>>2]=n[f>>2];t=t+4|0;f=f+4|0}while((t|0)<(e|0));o=+c[s>>2];lh(W,o/(b+o),J,Y);zN(n[W>>2]|0);f=n[J>>2]|0;cs(A,f,n[h>>2]|0,0,0,0);zN(f);f=0}}while(0);e=f;u=u+12|0}if((N|0)==11){N=0;zN(n[Y>>2]|0)}else if((N|0)==13){N=0;u=n[Y>>2]|0;cs(A,u,n[M>>2]|0,0,0,0);zN(u)}if(n[g>>2]|0){es(A,n[n[d>>2]>>2]|0);rs(A,n[n[d>>2]>>2]|0);s=n[V>>2]|0;u=n[g>>2]|0;n[E>>2]=n[C>>2];n[E+4>>2]=n[C+4>>2];n[E+8>>2]=n[C+8>>2];n[E+12>>2]=n[C+12>>2];n[y>>2]=n[s>>2];n[y+4>>2]=n[s+4>>2];n[y+8>>2]=n[s+8>>2];n[y+12>>2]=n[s+12>>2];id(A,2,E,y,a,l,u)}if(n[Z>>2]|0){es(A,r);rs(A,r);s=(n[V>>2]|0)+((n[I>>2]|0)+-1<<4)|0;u=n[Z>>2]|0;n[E>>2]=n[m>>2];n[E+4>>2]=n[m+4>>2];n[E+8>>2]=n[m+8>>2];n[E+12>>2]=n[m+12>>2];n[y>>2]=n[s>>2];n[y+4>>2]=n[s+4>>2];n[y+8>>2]=n[s+8>>2];n[y+12>>2]=n[s+12>>2];id(A,3,E,y,a,l,u)}do{if((n[(n[(n[Q>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(n[g>>2]|0)){if(!(G&(n[Z>>2]|0)!=0))break}else if(k)break;ns(A,i)}}while(0);B=B+1|0}od(w);r=0}v=z;return r|0}function qd(A,e){A=A|0;e=e|0;var i=0,f=0;i=1;A:while(1){switch(r[A>>0]|0){case 0:break A;case 58:{i=i+1|0;break}default:{}}A=A+1|0}f=X((Az(e)|0)+1|0,i)|0;A=f+10|0;if((n[42166]|0)<(f|0)){n[42166]=A;A=RN(n[42167]|0,A)|0;n[42167]=A}else A=n[42167]|0;np(A,e)|0;while(1){i=i+-1|0;A=n[42167]|0;if(!i)break;f=A+(Az(A)|0)|0;r[f>>0]=58;r[f+1>>0]=0;kR(A,e)|0}return A|0}function $d(A){A=A|0;var e=0,i=0;e=n[42227]|0;A:do{if(!e)i=7;else{e=nY(A,e)|0;switch(r[e>>0]|0){case 110:if(!(az(e,120501)|0)){e=1;break A}else{i=7;break A}case 102:if(!(az(e,85026)|0)){e=2;break A}else{i=7;break A}case 98:{if(!(az(e,85034)|0)){e=3;break A}if(!(az(e,96e3)|0)){e=4;break A}else{i=7;break A}}default:{i=7;break A}}}}while(0);if((i|0)==7){e=(HY(HV(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)|0)!=0;e=e?2:1}return e|0}function Ah(A){A=A|0;if(A|0){zN(n[A+8>>2]|0);zN(A)}return}function eh(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0;f=+s[e>>3]-+s[i>>3];n=+s[e+8>>3]-+s[i+8>>3];r=2.0/+V(+(f*f+.0001+n*n));s[A>>3]=r*n;s[A+8>>3]=-(f*r);return}function ih(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,a=0.0,l=0.0,t=0.0;a=+s[i>>3]-+s[r>>3];l=+s[i+8>>3]-+s[r+8>>3];n=+V(+(l*l+a*a));if(n<.0001){t=+s[e>>3]-+s[f>>3];n=+s[e+8>>3]-+s[f+8>>3];l=n;a=t;n=+V(+(t*t+.0001+n*n))}t=2.0/n;s[A>>3]=l*t;s[A+8>>3]=-(t*a);return}function rh(A,e,i){A=+A;e=+e;i=+i;return+(i*.5*(1.0-A/e))}function fh(A,e,i){A=+A;e=+e;i=+i;return+(i*.5)}function nh(A,e,i){A=+A;e=+e;i=+i;return+(i*.5*(A/e))}function ah(A,e,i){A=+A;e=+e;i=+i;e=A/e;return+((!(e<=.5)?1.0-e:e)*i)}function lh(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0.0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0.0,w=0,d=0;B=v;v=v+16|0;u=B;o=n[A+4>>2]|0;t=(o+-1|0)/3|0;if((o+-4|0)>>>0<3){n[i+4>>2]=4;n[i>>2]=Jg(64)|0;n[r+4>>2]=4;o=Jg(64)|0;n[r>>2]=o;$I(u,n[A>>2]|0,3,e,n[i>>2]|0,o)}else{o=Jg(t<<3)|0;a=0;l=n[A>>2]|0;f=0.0;while(1){if((a|0)>=(t|0))break;k=+th(l);s[o+(a<<3)>>3]=k;a=a+1|0;l=l+48|0;f=k+f}e=f*e;b=0;f=0.0;while(1){if((t|0)<=(b|0))break;f=+s[o+(b<<3)>>3]+f;if(f>=e)break;b=b+1|0}c=b*3|0;a=c+4|0;l=i+4|0;n[l>>2]=a;n[i>>2]=Jg(a<<4)|0;a=((t-b|0)*3|0)+1|0;t=r+4|0;n[t>>2]=a;n[r>>2]=Jg(a<<4)|0;a=0;while(1){if((a|0)>=(n[l>>2]|0))break;w=(n[i>>2]|0)+(a<<4)|0;d=(n[A>>2]|0)+(a<<4)|0;n[w>>2]=n[d>>2];n[w+4>>2]=n[d+4>>2];n[w+8>>2]=n[d+8>>2];n[w+12>>2]=n[d+12>>2];a=a+1|0}a=a+-4|0;l=0;while(1){if((l|0)>=(n[t>>2]|0))break;d=(n[r>>2]|0)+(l<<4)|0;w=(n[A>>2]|0)+(a<<4)|0;n[d>>2]=n[w>>2];n[d+4>>2]=n[w+4>>2];n[d+8>>2]=n[w+8>>2];n[d+12>>2]=n[w+12>>2];a=a+1|0;l=l+1|0}k=+s[o+(b<<3)>>3];$I(u,(n[A>>2]|0)+(c<<4)|0,3,(e-f+k)/k,(n[i>>2]|0)+(c<<4)|0,n[r>>2]|0);zN(o)}v=B;return}function th(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0,n=0.0;f=+s[A+16>>3];r=+s[A>>3]-f;n=+s[A+24>>3];e=+s[A+8>>3]-n;r=+V(+(e*e+r*r));e=+s[A+32>>3];f=f-e;i=+s[A+40>>3];n=n-i;r=+V(+(n*n+f*f))+r;e=e-+s[A+48>>3];i=i-+s[A+56>>3];return+(r+ +V(+(i*i+e*e)))}function ch(A,e){A=A|0;e=e|0;e=FV(e)|0;if((r[(n[e+16>>2]|0)+115>>0]|0)==1)e=pC(A)|0;else e=JC(A,e)|0;return kh(e)|0}function sh(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0;k=v;v=v+1664|0;b=k+1600|0;o=k+800|0;u=k;B=Ng(24)|0;n[B+16>>2]=1;c=((n[r+4>>2]|0)+-1|0)/3|0;l=0;t=B;while(1){if((l|0)>=(c|0))break;s=l*3|0;a=0;while(1){if((a|0)==4)break;w=b+(a<<4)|0;d=(n[r>>2]|0)+(a+s<<4)|0;n[w>>2]=n[d>>2];n[w+4>>2]=n[d+4>>2];n[w+8>>2]=n[d+8>>2];n[w+12>>2]=n[d+12>>2];a=a+1|0}l=l+1|0;t=bh(b,t)|0}a=0;l=0;t=B;while(1){if(!t){l=B;a=B;break}c=n[t+16>>2]|0;s=o+(a<<4)|0;r=u+(a<<4)|0;oh(l,t,c,s,r,f);a=a+1|0;if(!((a|0)==50|(c|0)==0)){l=t;t=c;continue}uh(A,e,i,a,o,u);n[o>>2]=n[s>>2];n[o+4>>2]=n[s+4>>2];n[o+8>>2]=n[s+8>>2];n[o+12>>2]=n[s+12>>2];n[u>>2]=n[r>>2];n[u+4>>2]=n[r+4>>2];n[u+8>>2]=n[r+8>>2];n[u+12>>2]=n[r+12>>2];l=t;a=1;t=c}while(1){if(!l)break;d=n[l+16>>2]|0;zN(a);l=d;a=d}v=k;return}function bh(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;a=v;v=v+144|0;f=a+128|0;i=a+64|0;r=a;if(!(wd(A)|0)){$I(f,A,3,.5,i,r);i=bh(r,bh(i,e)|0)|0}else{i=e+16|0;if((n[i>>2]|0)==1){n[i>>2]=0;n[e>>2]=n[A>>2];n[e+4>>2]=n[A+4>>2];n[e+8>>2]=n[A+8>>2];n[e+12>>2]=n[A+12>>2]}i=A+48|0;n[f>>2]=n[i>>2];n[f+4>>2]=n[i+4>>2];n[f+8>>2]=n[i+8>>2];n[f+12>>2]=n[i+12>>2];i=Bh(f,e)|0}v=a;return i|0}function oh(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=+a;var l=0.0,t=0.0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0.0,h=0.0;w=v;v=v+96|0;o=w+80|0;b=w+64|0;c=w+48|0;u=w+32|0;B=w+16|0;k=w;n[u>>2]=n[e>>2];n[u+4>>2]=n[e+4>>2];n[u+8>>2]=n[e+8>>2];n[u+12>>2]=n[e+12>>2];do{if(A){n[B>>2]=n[A>>2];n[B+4>>2]=n[A+4>>2];n[B+8>>2]=n[A+8>>2];n[B+12>>2]=n[A+12>>2];if(!i){l=+s[u>>3];s[k>>3]=l*2.0-+s[B>>3];t=+s[u+8>>3];s[k+8>>3]=t*2.0-+s[B+8>>3];break}else{n[k>>2]=n[i>>2];n[k+4>>2]=n[i+4>>2];n[k+8>>2]=n[i+8>>2];n[k+12>>2]=n[i+12>>2];l=+s[u>>3];t=+s[u+8>>3];break}}else{n[k>>2]=n[i>>2];n[k+4>>2]=n[i+4>>2];n[k+8>>2]=n[i+8>>2];n[k+12>>2]=n[i+12>>2];l=+s[u>>3];s[B>>3]=l*2.0-+s[k>>3];t=+s[u+8>>3];s[B+8>>3]=t*2.0-+s[k+8>>3]}}while(0);n[c>>2]=n[B>>2];n[c+4>>2]=n[B+4>>2];n[c+8>>2]=n[B+8>>2];n[c+12>>2]=n[B+12>>2];n[b>>2]=n[u>>2];n[b+4>>2]=n[u+4>>2];n[b+8>>2]=n[u+8>>2];n[b+12>>2]=n[u+12>>2];n[o>>2]=n[k>>2];n[o+4>>2]=n[k+4>>2];n[o+8>>2]=n[k+8>>2];n[o+12>>2]=n[k+12>>2];h=+vh(c,b,o);d=+J(+h)*a;a=+N(+h)*a;s[r>>3]=l+d;s[r+8>>3]=t+a;s[f>>3]=l-d;s[f+8>>3]=t-a;v=w;return}function uh(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0,c=0,s=0,b=0;t=r<<1;c=n[i>>2]|0;l=0;s=0;while(1){if((l|0)>=(c|0))break;b=(n[(n[e>>2]|0)+(l<<2)>>2]|0)+s|0;l=l+1|0;s=b}b=c+1|0;n[i>>2]=b;b=pg(n[e>>2]|0,b<<2)|0;n[e>>2]=b;n[b+(l<<2)>>2]=t;n[A>>2]=pg(n[A>>2]|0,s+t<<4)|0;e=t+-1+s|0;l=0;while(1){if((l|0)>=(r|0))break;b=(n[A>>2]|0)+(l+s<<4)|0;c=f+(l<<4)|0;n[b>>2]=n[c>>2];n[b+4>>2]=n[c+4>>2];n[b+8>>2]=n[c+8>>2];n[b+12>>2]=n[c+12>>2];b=(n[A>>2]|0)+(e-l<<4)|0;c=a+(l<<4)|0;n[b>>2]=n[c>>2];n[b+4>>2]=n[c+4>>2];n[b+8>>2]=n[c+8>>2];n[b+12>>2]=n[c+12>>2];l=l+1|0}return}function vh(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0;n=+s[e+8>>3];r=+s[e>>3];f=+H(+(+s[i+8>>3]-n),+(+s[i>>3]-r));r=+H(+(+s[A+8>>3]-n),+(+s[A>>3]-r));f=f-r;return+((f>0.0?f+-6.283185307179586:f)*.5+r)}function Bh(A,e){A=A|0;e=e|0;var i=0;i=Ng(24)|0;n[i+16>>2]=0;n[i>>2]=n[A>>2];n[i+4>>2]=n[A+4>>2];n[i+8>>2]=n[A+8>>2];n[i+12>>2]=n[A+12>>2];n[e+16>>2]=i;return i|0}function kh(A){A=A|0;var e=0,i=0,f=0,n=0,a=0;e=A;n=A;A:while(1){f=0;while(1){i=e;e=e+1|0;i=r[i>>0]|0;if(!(i<<24>>24))break A;if(f<<24>>24){a=5;break}if(i<<24>>24!=92)break;else f=1}e:do{if((a|0)==5){a=0;switch(i<<24>>24|0){case 114:{i=13;break e}case 108:case 110:{i=10;break e}default:break e}}}while(0);r[n>>0]=i;n=n+1|0}r[n>>0]=0;return A|0}function wh(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0;i=n[A>>2]|0;while(1){a=r[i>>0]|0;if(!(a<<24>>24)){f=0;break}f=a<<24>>24;if(!(a<<24>>24==44|(Wz(f)|0)!=0)){l=5;break}i=i+1|0}A:do{if((l|0)==5){switch(f|0){case 0:{f=0;break A}case 41:case 40:{i=i+1|0;break A}default:{}}l=e+4|0;t=e+8|0;while(1){if((dh(a<<24>>24)|0)<<24>>24){f=1;break A}f=n[l>>2]|0;if(f>>>0>=(n[t>>2]|0)>>>0){Qy(e,1)|0;f=n[l>>2]|0}n[l>>2]=f+1;r[f>>0]=a;f=i+1|0;i=f;a=r[f>>0]|0}}}while(0);n[A>>2]=i;return f|0}function dh(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 hh(A,e){A=A|0;e=e|0;return gh(n[A>>2]|0,n[A+160>>2]|0,n[A+156>>2]|0,e)|0}function gh(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;u=v;v=v+160|0;s=u+20|0;b=u+16|0;o=u;n[s>>2]=0;n[b>>2]=0;My(o,128,u+24|0);yy(o,f)|0;a=o+4|0;f=n[a>>2]|0;if(f>>>0>=(n[o+8>>2]|0)>>>0){Qy(o,1)|0;f=n[a>>2]|0}r[f>>0]=0;l=n[o>>2]|0;n[a>>2]=l;t=A+300|0;c=A+296|0;f=0;a=l;A:while(1){if(f){f=1;break}f=uR(a,n[t>>2]|0,s)|0;if(!f){f=0;break}a=uR(f,n[c>>2]|0,b)|0;l=(a|0)!=0;if(l)f=uR(0,n[c>>2]|0,b)|0;else f=0;switch(((f|0)!=0&1)+(l&1)&3){case 2:{a=Zh(A,a,0)|0;f=Zh(A,f,i)|0;l=(a|0)>(f|0);f=(f&a|0)>-1&(((l?a:f)|0)>=(e|0)&((l?f:a)|0)<=(e|0));a=0;continue A}case 1:{f=(Zh(A,a,e)|0)==(e|0);a=0;continue A}default:{f=0;a=0;continue A}}}Yy(o);v=u;return f|0}function Zh(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0;l=r[e>>0]|0;if(!(l<<24>>24==97?(az(e,85363)|0)==0:0))f=3;A:do{if((f|0)==3){if((Gh(e)|0)<<24>>24){i=$R(e)|0;break}a=n[A+308>>2]|0;if(!a)i=-1;else{A=n[A+312>>2]|0;i=1;while(1){if((i|0)>(A|0)){i=-1;break A}f=n[a+(i<<2)>>2]|0;if(l<<24>>24==(r[f>>0]|0)?(az(e,f)|0)==0:0)break A;i=i+1|0}}}}while(0);return i|0}function Gh(A){A=A|0;var e=0;while(1){e=r[A>>0]|0;if(!(e<<24>>24)){A=1;break}if(((e&255)+-48|0)>>>0<10)A=A+1|0;else{A=0;break}}return A|0}function mh(A,e){A=A|0;e=e|0;if((+s[A+16>>3]>=+s[e>>3]?+s[e+16>>3]>=+s[A>>3]:0)?+s[A+24>>3]>=+s[e+8>>3]:0)A=+s[e+24>>3]>=+s[A+8>>3]&1;else A=0;return A|0}function Ih(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;A:do{if((n[A+156>>2]|0)>=2?(f=XI(i,n[42210]|0,174177)|0,(hh(A,f)|0)<<24>>24==0):0)if(!(r[f>>0]|0))if(!(kY(e,i)|0))f=1;else{f=kY(e,i)|0;while(1){if(!f){f=0;break A}a=XI(f,n[42233]|0,174177)|0;if(!(r[a>>0]|0)){f=1;break A}if((hh(A,a)|0)<<24>>24){f=1;break A}f=wY(e,f,i)|0}}else f=0;else f=1}while(0);return f|0}function Ch(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=v;v=v+64|0;r=i+32|0;f=i;A=(n[A+16>>2]|0)+48|0;n[f>>2]=n[A>>2];n[f+4>>2]=n[A+4>>2];n[f+8>>2]=n[A+8>>2];n[f+12>>2]=n[A+12>>2];n[f+16>>2]=n[A+16>>2];n[f+20>>2]=n[A+20>>2];n[f+24>>2]=n[A+24>>2];n[f+28>>2]=n[A+28>>2];n[r>>2]=n[e>>2];n[r+4>>2]=n[e+4>>2];n[r+8>>2]=n[e+8>>2];n[r+12>>2]=n[e+12>>2];n[r+16>>2]=n[e+16>>2];n[r+20>>2]=n[e+20>>2];n[r+24>>2]=n[e+24>>2];n[r+28>>2]=n[e+28>>2];e=(mh(f,r)|0)&255;v=i;return e|0}function Mh(A,e){A=A|0;e=e|0;var i=0.0,r=0,a=0,t=0,c=0,b=0,o=0,u=0,v=0,B=0,k=0.0,w=0,d=0,h=0,g=0.0,Z=0.0;w=n[A+152>>2]|0;d=nd(A)|0;n[d+4>>2]=2;n[d+8>>2]=e;n[d+12>>2]=8;if(w&16777216|0){if((l[(n[(HV(e)|0)+16>>2]|0)+178>>1]|0)>2){i=+s[(n[(n[e+16>>2]|0)+132>>2]|0)+16>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))|0)}else i=0.0;s[d+168>>3]=i}c=e+16|0;Eh(A,n[(n[c>>2]|0)+104>>2]|0,e);do{if(w&4259840|0){if((n[d+208>>2]|0)==0?(f[d+260>>1]&1)==0:0)break;B=HG(e)|0;b=n[c>>2]|0;i=+s[b+16>>3];k=+s[b+24>>3];b=yh(e)|0;A:do{if((B|2|0)==3){u=n[(n[c>>2]|0)+12>>2]|0;if(!((Yh(u)|0)<<24>>24))r=0;else r=(n[u+4>>2]|b|0)!=0;if(!((w&524288|0)==0|((u|0)==0|r))){a=u+8|0;v=n[a>>2]|0;v=(v|0)<3?1:v;t=u+4|0;o=n[t>>2]|0;o=(o|0)>1?o:1;B=n[u+44>>2]|0;r=fY(e,87683)|0;if(!r)r=0;else r=$R(r)|0;r=(r+-4|0)>>>0>56?20:r;if(!(n[t>>2]|b)){n[d+264>>2]=0;a=Jg(32)|0;r=n[c>>2]|0;Z=+s[r+88>>3];s[a>>3]=i-Z;g=+s[r+80>>3]*.5;s[a+8>>3]=k-g;s[a+16>>3]=Z+i;s[a+24>>3]=g+k;r=2;break}a=n[a>>2]|0;if(((a|0)<3?+s[u+32>>3]==0.0:0)?+s[u+24>>3]==0.0:0){a=d+264|0;if(n[u>>2]|0){n[a>>2]=1;a=Jg(32)|0;s[a>>3]=i;s[a+8>>3]=k;r=(o<<1)+-1|0;s[a+16>>3]=+s[B+(r<<4)>>3]+i;s[a+24>>3]=+s[B+(r<<4)+8>>3]+k;r=2;break}n[a>>2]=2;a=(o<<1)+-1|0;a=Vh(+s[B+(a<<4)>>3],+s[B+(a<<4)+8>>3],r)|0;t=0;while(1){if((t|0)>=(r|0))break A;B=a+(t<<4)|0;s[B>>3]=+s[B>>3]+i;B=a+(t<<4)+8|0;s[B>>3]=+s[B>>3]+k;t=t+1|0}}o=X(a,o+-1|0)|0;n[d+264>>2]=2;if((a|0)<(r|0)){a=Jg(v<<4)|0;r=0;while(1){if((r|0)>=(v|0)){r=v;break A}u=r+o|0;s[a+(r<<4)>>3]=+s[B+(u<<4)>>3]+i;s[a+(r<<4)+8>>3]=+s[B+(u<<4)+8>>3]+k;r=r+1|0}}else{b=(a|0)/(r|0)|0;a=Jg(r<<4)|0;t=0;c=0;while(1){if((t|0)>=(r|0))break A;v=c+o|0;s[a+(t<<4)>>3]=+s[B+(v<<4)>>3]+i;s[a+(t<<4)+8>>3]=+s[B+(v<<4)+8>>3]+k;t=t+1|0;c=c+b|0}}}else h=31}else h=31}while(0);if((h|0)==31){n[d+264>>2]=0;a=Jg(32)|0;r=n[c>>2]|0;s[a>>3]=i-+s[r+88>>3];Z=+s[r+80>>3]*.5;s[a+8>>3]=k-Z;s[a+16>>3]=+s[r+96>>3]+i;s[a+24>>3]=Z+k;r=2}if(!(w&8192))Jc(A,a,a,r)|0;n[d+272>>2]=a;n[d+268>>2]=r}}while(0);Qb(fY(e,84992)|0);Uc(A,e);return}function Qh(A){A=A|0;jc(A);ad(A);return}function Eh(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0;b=v;v=v+144|0;c=b;f=fY(i,96264)|0;t=fY(i,96229)|0;s=fY(i,85148)|0;My(c,128,b+16|0);if(!e)l=0;else l=n[e>>2]|0;if(!((f|0)!=0?(r[f>>0]|0)!=0:0))f=fY(i,96269)|0;a=td(A,i,c)|0;if(!t)e=0;else e=ch(t,i)|0;ld(A,l,f,e,s,a,i)|0;zN(e);Yy(c);v=b;return}function yh(A){A=A|0;var e=0,i=0;A=TI(A,n[42200]|0,174177)|0;A:do{if(!(r[A>>0]|0))A=0;else{Ld(A)|0;A=0;e=168408;while(1){i=n[e>>2]|0;if(!i)break A;i=(az(i,95867)|0)==0;A=i?1:A;e=e+4|0}}}while(0);return A|0}function Yh(A){A=A|0;var e=0.0;if(((n[A+8>>2]|0)==4?(e=+s[A+16>>3],((~~(e+(e>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+s[A+24>>3]==0.0:0)A=+s[A+32>>3]==0.0&1;else A=0;return A|0}function Vh(A,e,i){A=+A;e=+e;i=i|0;var r=0.0,f=0,n=0.0,a=0;n=6.283185307179586/+(i|0);a=Jg(i<<4)|0;r=0.0;f=0;while(1){if((f|0)>=(i|0))break;s[a+(f<<4)>>3]=+J(+r)*A;s[a+(f<<4)+8>>3]=+N(+r)*e;r=r+n;f=f+1|0}return a|0}function Wh(A,e){A=A|0;e=e|0;var i=0;A:do{if((n[A+156>>2]|0)>=2?(i=XI(e,Sy(e,0,86527,0)|0,174177)|0,(hh(A,i)|0)<<24>>24==0):0)if(!(r[i>>0]|0)){i=CV(e)|0;while(1){if(!i){i=0;break A}if((Ih(A,e,i)|0)<<24>>24){i=1;break A}i=MV(e,i)|0}}else i=0;else i=1}while(0);return i|0}function Jh(A,e){A=A|0;e=e|0;var i=0;i=nd(A)|0;n[i+4>>2]=1;n[i+8>>2]=e;n[i+12>>2]=1;Eh(A,n[(n[e+16>>2]|0)+12>>2]|0,e);Fc(A,e);return}function Nh(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0;A=fY(A,86423)|0;A:do{if((A|0)!=0?(r[A>>0]|0)!=0:0){Ld(A)|0;i=168408;A=0;while(1){while(1){f=n[i>>2]|0;if(!f){i=168408;break A}if(!(az(f,95867)|0)){a=10;break}if(!(az(f,91322)|0)){f=i;a=12;break}if(!(az(f,91329)|0)){f=i;a=14;break}if(!(az(f,91304)|0)){f=i;a=16;break}i=i+4|0}if((a|0)==10){i=i+4|0;A=A|1;continue}else if((a|0)==12){while(1){l=f;f=f+4|0;a=n[f>>2]|0;n[l>>2]=a;if(!a)break;else a=12}A=A|3;continue}else if((a|0)==14){while(1){a=f;f=f+4|0;l=n[f>>2]|0;n[a>>2]=l;if(!l)break;else a=14}A=A|64;continue}else if((a|0)==16){while(1){a=f;f=f+4|0;l=n[f>>2]|0;n[a>>2]=l;if(!l)break;else a=16}A=A|4;continue}}}else{i=0;A=0}}while(0);n[e>>2]=A;return i|0}function zh(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,s=0,b=0;s=v;v=v+16|0;l=s;t=s+4|0;n[t>>2]=0;b=(bd(A,0,t)|0)==0;t=n[t>>2]|0;if((b?(f=n[t>>2]|0,(f|0)>=2):0)?(a=t+8|0,(n[n[a>>2]>>2]|0)!=0):0){if((f|0)>2)Gy(0,85390,l)|0;b=Ng((Az(A)|0)+1|0)|0;n[e>>2]=b;np(b,n[n[a>>2]>>2]|0)|0;if(!(n[(n[a>>2]|0)+12>>2]|0))n[e+4>>2]=0;else{b=n[e>>2]|0;b=b+((Az(b)|0)+1)|0;n[e+4>>2]=b;np(b,n[(n[a>>2]|0)+12>>2]|0)|0}A=n[a>>2]|0;do{if(!(r[A+8>>0]|0))if(!(r[A+20>>0]|0)){c[i>>2]=0.0;break}else{c[i>>2]=1.0-+c[A+16>>2];break}else n[i>>2]=n[A+4>>2]}while(0);od(t);A=1}else{n[e>>2]=0;od(t);A=0}v=s;return A|0}function ph(A,e){A=A|0;e=e|0;Lc(A,e);ad(A);return}function Rh(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0.0,b=0.0,o=0,u=0.0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0;m=v;v=v+96|0;B=m+48|0;d=m+16|0;G=m+8|0;Z=m;h=m+80|0;n[h>>2]=1e3;f=Ng(16e3)|0;g=A+256|0;r=1;l=1;a=0;k=0;w=n[e+8>>2]|0;while(1){if((k|0)>=(n[e>>2]|0))break;i=n[w>>2]|0;A:do{switch(i|0){case 1:case 0:{o=w+80|0;n[d>>2]=n[o>>2];n[d+4>>2]=n[o+4>>2];n[d+8>>2]=n[o+8>>2];n[d+12>>2]=n[o+12>>2];n[d+16>>2]=n[o+16>>2];n[d+20>>2]=n[o+20>>2];n[d+24>>2]=n[o+24>>2];n[d+28>>2]=n[o+28>>2];n[B>>2]=n[g>>2];n[B+4>>2]=n[g+4>>2];n[B+8>>2]=n[g+8>>2];n[B+12>>2]=n[g+12>>2];n[B+16>>2]=n[g+16>>2];n[B+20>>2]=n[g+20>>2];n[B+24>>2]=n[g+24>>2];n[B+28>>2]=n[g+28>>2];if(!(mh(d,B)|0))i=l;else{C=w+8|0;M=w+24|0;s[f>>3]=+s[C>>3]-+s[M>>3];o=w+16|0;I=w+32|0;s[f+8>>3]=+s[o>>3]-+s[I>>3];s[f+16>>3]=+s[M>>3]+ +s[C>>3];s[f+24>>3]=+s[I>>3]+ +s[o>>3];as(A,f,2,(i|0)==0?l:0);i=l}break}case 3:case 2:{M=w+80|0;n[d>>2]=n[M>>2];n[d+4>>2]=n[M+4>>2];n[d+8>>2]=n[M+8>>2];n[d+12>>2]=n[M+12>>2];n[d+16>>2]=n[M+16>>2];n[d+20>>2]=n[M+20>>2];n[d+24>>2]=n[M+24>>2];n[d+28>>2]=n[M+28>>2];n[B>>2]=n[g>>2];n[B+4>>2]=n[g+4>>2];n[B+8>>2]=n[g+8>>2];n[B+12>>2]=n[g+12>>2];n[B+16>>2]=n[g+16>>2];n[B+20>>2]=n[g+20>>2];n[B+24>>2]=n[g+24>>2];n[B+28>>2]=n[g+28>>2];if(!(mh(d,B)|0))i=l;else{i=w+8|0;f=Ph(f,h,n[i+4>>2]|0,n[i>>2]|0)|0;ls(A,f,n[i>>2]|0,(n[w>>2]|0)==2?l:0);i=l}break}case 5:case 4:{M=w+80|0;n[d>>2]=n[M>>2];n[d+4>>2]=n[M+4>>2];n[d+8>>2]=n[M+8>>2];n[d+12>>2]=n[M+12>>2];n[d+16>>2]=n[M+16>>2];n[d+20>>2]=n[M+20>>2];n[d+24>>2]=n[M+24>>2];n[d+28>>2]=n[M+28>>2];n[B>>2]=n[g>>2];n[B+4>>2]=n[g+4>>2];n[B+8>>2]=n[g+8>>2];n[B+12>>2]=n[g+12>>2];n[B+16>>2]=n[g+16>>2];n[B+20>>2]=n[g+20>>2];n[B+24>>2]=n[g+24>>2];n[B+28>>2]=n[g+28>>2];if(!(mh(d,B)|0))i=l;else{i=w+8|0;f=Ph(f,h,n[i+4>>2]|0,n[i>>2]|0)|0;cs(A,f,n[i>>2]|0,0,0,(n[w>>2]|0)==4?l&255:0);i=l}break}case 6:{M=w+80|0;n[d>>2]=n[M>>2];n[d+4>>2]=n[M+4>>2];n[d+8>>2]=n[M+8>>2];n[d+12>>2]=n[M+12>>2];n[d+16>>2]=n[M+16>>2];n[d+20>>2]=n[M+20>>2];n[d+24>>2]=n[M+24>>2];n[d+28>>2]=n[M+28>>2];n[B>>2]=n[g>>2];n[B+4>>2]=n[g+4>>2];n[B+8>>2]=n[g+8>>2];n[B+12>>2]=n[g+12>>2];n[B+16>>2]=n[g+16>>2];n[B+20>>2]=n[g+20>>2];n[B+24>>2]=n[g+24>>2];n[B+28>>2]=n[g+28>>2];if(!(mh(d,B)|0))i=l;else{i=w+8|0;f=Ph(f,h,n[i+4>>2]|0,n[i>>2]|0)|0;ss(A,f,n[i>>2]|0);i=l}break}case 7:{M=w+80|0;n[d>>2]=n[M>>2];n[d+4>>2]=n[M+4>>2];n[d+8>>2]=n[M+8>>2];n[d+12>>2]=n[M+12>>2];n[d+16>>2]=n[M+16>>2];n[d+20>>2]=n[M+20>>2];n[d+24>>2]=n[M+24>>2];n[d+28>>2]=n[M+28>>2];n[B>>2]=n[g>>2];n[B+4>>2]=n[g+4>>2];n[B+8>>2]=n[g+8>>2];n[B+12>>2]=n[g+12>>2];n[B+16>>2]=n[g+16>>2];n[B+20>>2]=n[g+20>>2];n[B+24>>2]=n[g+24>>2];n[B+28>>2]=n[g+28>>2];if(!(mh(d,B)|0))i=l;else{s[f>>3]=+s[w+8>>3];s[f+8>>3]=+s[w+16>>3];i=n[w+112>>2]|0;n[B>>2]=n[f>>2];n[B+4>>2]=n[f+4>>2];n[B+8>>2]=n[f+8>>2];n[B+12>>2]=n[f+12>>2];As(A,B,i);i=l}break}case 8:{rs(A,n[w+8>>2]|0);i=1;break}case 9:{es(A,n[w+8>>2]|0);i=1;break}case 13:{if((n[w+8>>2]|0)!=2){i=w+16|0;C=n[i+36>>2]|0;M=n[C+12>>2]|0;u=+c[C+8>>2];i=~~(+H(+(+s[w+40>>3]-+s[w+24>>3]),+(+s[w+32>>3]-+s[i>>3]))*57.29577951308232);rs(A,n[C+4>>2]|0);fs(A,M,i,u);i=2;break A}M=n[w+68>>2]|0;l=n[M+4>>2]|0;o=n[M+12>>2]|0;u=+c[M+8>>2];t=+s[w+40>>3];b=+s[w+16>>3];if(t==b?+s[w+48>>3]==+s[w+24>>3]:0)i=0;else i=~~(+p(+((b-t)/+s[w+32>>3]))*57.29577951308232);rs(A,l);fs(A,o,i,u);i=3;break}case 14:{Gy(0,85456,Z)|0;i=l;break}case 12:{if(!r){r=0;i=l}else{Gy(0,85496,G)|0;r=0;i=l}break}case 11:{Ld(n[w+8>>2]|0)|0;ns(A,168408);a=168408;i=l;break}default:i=l}}while(0);l=i;k=k+1|0;w=w+120|0}if(a|0)ns(A,n[(n[A>>2]|0)+336>>2]|0);zN(f);v=m;return}function Ph(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;a=n[e>>2]|0;f=a<<1;f=(f|0)>(r|0)?f:r;if((a|0)<(r|0)){A=pg(A,f<<4)|0;n[e>>2]=f}e=0;while(1){if((e|0)>=(r|0))break;s[A+(e<<4)>>3]=+s[i+(e*24|0)>>3];s[A+(e<<4)+8>>3]=+s[i+(e*24|0)+8>>3];e=e+1|0}return A|0}function Hh(A,e){A=A|0;e=e|0;var i=0;i=n[e>>2]|0;n[A>>2]=n[e+4>>2];n[A+4>>2]=i;return}function Fh(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=e+16|0;f=1;while(1){e=n[a>>2]|0;if((f|0)>(n[e+180>>2]|0))break;i=n[(n[e+184>>2]|0)+(f<<2)>>2]|0;Fh(A,i);e=fY(i,122540)|0;if(e|0?r[e>>0]|0:0)es(A,e);e=fY(i,122531)|0;if(e|0?r[e>>0]|0:0)es(A,e);e=fY(i,85367)|0;if(e|0?r[e>>0]|0:0)es(A,e);e=fY(i,86413)|0;if(e|0?r[e>>0]|0:0)rs(A,e);e=fY(i,86447)|0;if(e|0?r[e>>0]|0:0)es(A,e);f=f+1|0}return}function Lh(A){A=A|0;var e=0,i=0,r=0;e=n[42172]|0;if(!e){e=oy(19684,n[4345]|0)|0;n[42172]=e}if(!(kF[n[e>>2]&31](e,A,4)|0)){i=n[42172]|0;r=n[i>>2]|0;e=vR(A)|0;kF[r&31](i,e,1)|0;e=1}else e=0;return e|0}function Dh(A,e,i){A=A|0;e=e|0;i=i|0;zN(e);return}function Xh(A){A=A|0;var e=0;e=n[42173]|0;if(!A){if((e|0)>0?(e=e+-1|0,n[42173]=e,(e|0)==0):0){Rp(1,n[42174]|0)|0;zN(n[42174]|0)}}else{n[42173]=e+1;if(!e){n[42174]=vR(Rp(1,0)|0)|0;Rp(1,134865)|0}}return}function Th(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0.0;g=v;v=v+96|0;w=g+72|0;k=g+56|0;B=g+48|0;h=g+32|0;d=g+24|0;r=g+8|0;i=g;if(0)zI();do{if((lW(e,122277,0,1)|0)!=0?(u=e+16|0,(n[(n[u>>2]|0)+8>>2]|0)!=0):0){xh(e);Uh(A,e);jh(A,e);Xh(1);t=A+56|0;c=A+184|0;b=A+192|0;o=A+28|0;l=FB(A)|0;A:while(1){if(!l){a=33;break}i=n[t>>2]|0;if(!i){n[l+20>>2]=0;i=0}else{n[l+20>>2]=n[i+8>>2];i=n[i+12>>2]|0}n[l+24>>2]=i;n[l+12>>2]=A;n[l+28>>2]=n[c>>2];n[l+620>>2]=24748;n[l+624>>2]=14;if(!(n[(n[u>>2]|0)+8>>2]|0)){a=13;break}r=l+52|0;a=yc(l,n[r>>2]|0)|0;n[l+56>>2]=a;switch(a|0){case 999:{a=16;break A}case 21:{i=1;break}case 24:{i=520;break}default:i=Sh(e)|0}f=l+152|0;n[f>>2]=n[f>>2]|i;i=n[b>>2]|0;do{if(!i)a=24;else{if(n[i+152>>2]&32|0?(az(n[r>>2]|0,n[i+52>>2]|0)|0)==0:0){i=n[42175]|0;if(!i){a=27;break}n[i+8>>2]=l;n[l+36>>2]=n[i+36>>2];a=29;break}Vc(i);n[b>>2]=0;n[o>>2]=0;a=24}}while(0);if((a|0)==24){n[42175]=0;a=27}if((a|0)==27?(a=0,(Yc(l)|0)==0):0){n[b>>2]=l;a=29}if((a|0)==29){n[l+8>>2]=0;n[l+104>>2]=24860;Oh(l);Kh(l);_h(l,e);qh(l,e);$h(l,e);if(!(n[f>>2]&128))dd(l,e);n[42175]=l}l=LB(A)|0}if((a|0)==13){Gy(1,85654,d)|0;Xh(0);if(!0){i=-1;break}i=n[13918]|0;d=qY(e)|0;Z=+pI();n[h>>2]=d;s[h+8>>3]=Z;lR(i,85625,h)|0;i=-1;break}else if((a|0)==16){n[B>>2]=n[r>>2];Gy(1,85675,B)|0;Xh(0);if(!0){i=-1;break}i=n[13918]|0;h=qY(e)|0;Z=+pI();n[k>>2]=h;s[k+8>>3]=Z;lR(i,85625,k)|0;i=-1;break}else if((a|0)==33){Xh(0);if(!0){i=0;break}i=n[13918]|0;h=qY(e)|0;Z=+pI();n[w>>2]=h;s[w+8>>3]=Z;lR(i,85625,w)|0;i=0;break}}else a=5}while(0);if((a|0)==5){Gy(1,85577,i)|0;if(!0)i=-1;else{i=n[13918]|0;h=qY(e)|0;Z=+pI();n[r>>2]=h;s[r+8>>3]=Z;lR(i,85625,r)|0;i=-1}}v=g;return i|0}function xh(A){A=A|0;var e=0;e=CV(A)|0;while(1){if(!e)break;fg(A,e);e=MV(A,e)|0}return}function Uh(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0.0;u=v;v=v+32|0;c=u+24|0;f=u+16|0;t=u+8|0;o=u;n[A+168>>2]=e;a=A+293|0;r[a>>0]=0;i=fY(e,90474)|0;if(i|0?(n[f>>2]=t,n[f+4>>2]=o,l=PR(i,90481,f)|0,(l|0)>0):0){B=+s[t>>3]*72.0;i=A+208|0;s[i>>3]=B;s[A+200>>3]=B;if((l|0)!=1)s[i>>3]=+s[o>>3]*72.0;r[a>>0]=1}f=A+292|0;r[f>>0]=0;i=fY(e,86077)|0;if(i|0?(n[c>>2]=t,n[c+4>>2]=o,b=PR(i,90481,c)|0,(b|0)>0):0){B=+s[t>>3]*72.0;i=A+224|0;s[i>>3]=B;s[A+216>>3]=B;if((b|0)!=1)s[i>>3]=+s[o>>3]*72.0;r[f>>0]=1}i=A+294|0;r[i>>0]=0;f=A+232|0;a=e+16|0;o=(n[(n[a>>2]|0)+8>>2]|0)+48|0;n[f>>2]=n[o>>2];n[f+4>>2]=n[o+4>>2];n[f+8>>2]=n[o+8>>2];n[f+12>>2]=n[o+12>>2];f=n[(n[a>>2]|0)+8>>2]|0;if(+s[f+48>>3]>.001?+s[f+56>>3]>.001:0)r[i>>0]=1;n[A+288>>2]=r[f+81>>0]|0?90:0;i=A+196|0;n[i>>2]=86081;f=fY(e,86084)|0;if(f|0?r[f>>0]|0:0)n[i>>2]=f;o=A+256|0;b=(n[a>>2]|0)+16|0;n[o>>2]=n[b>>2];n[o+4>>2]=n[b+4>>2];n[o+8>>2]=n[b+8>>2];n[o+12>>2]=n[b+12>>2];n[o+16>>2]=n[b+16>>2];n[o+20>>2]=n[b+20>>2];n[o+24>>2]=n[b+24>>2];n[o+28>>2]=n[b+28>>2];n[42184]=Sy(e,0,86479,0)|0;n[42185]=Sy(e,0,86464,0)|0;n[A+320>>2]=TI(0,n[42194]|0,92971)|0;s[A+328>>3]=+DI(0,n[42193]|0,14.0,1.0);n[A+336>>2]=19720;n[A+188>>2]=qY(e)|0;v=u;return}function jh(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;i=A+304|0;f=n[i>>2]|0;if(f|0){zN(f);n[i>>2]=0}f=A+308|0;i=n[f>>2]|0;if(i|0){zN(i);n[f>>2]=0}a=A+316|0;i=n[a>>2]|0;if(i|0){zN(i);n[a>>2]=0}i=fY(e,85828)|0;if(i){n[A+312>>2]=ig(A,e,i)|0;i=fY(e,85835)|0;if(i|0?r[i>>0]|0:0)n[a>>2]=rg(A,i)|0}else{n[f>>2]=0;n[A+312>>2]=1}return}function Sh(A){A=A|0;A=fY(A,85796)|0;A:do{if(!A)A=0;else switch(r[A>>0]|0){case 110:{if(!(az(A+1|0,85808)|0))A=1;else{A=0;break A}break}case 101:{if(!(az(A+1|0,85818)|0))A=16;else{A=0;break A}break}default:{A=0;break A}}}while(0);return A|0}function Oh(A){A=A|0;var e=0.0,i=0;i=n[A>>2]|0;if(!(r[i+292>>0]|0)){if((n[A+56>>2]|0)==300)e=+s[(n[A+68>>2]|0)+8>>3];else e=4.0;s[A+248>>3]=e;s[A+240>>3]=e}else{A=A+240|0;i=i+216|0;n[A>>2]=n[i>>2];n[A+4>>2]=n[i+4>>2];n[A+8>>2]=n[i+8>>2];n[A+12>>2]=n[i+12>>2]}return}function Kh(A){A=A|0;var e=0;e=n[A>>2]|0;A:do{if(!(r[e+293>>0]|0))switch(n[A+56>>2]|0){case 300:{e=A+416|0;A=(n[A+84>>2]|0)+8|0;n[e>>2]=n[A>>2];n[e+4>>2]=n[A+4>>2];n[e+8>>2]=n[A+8>>2];n[e+12>>2]=n[A+12>>2];break A}case 30:case 21:case 22:case 4:case 3:case 2:{s[A+424>>3]=36.0;s[A+416>>3]=36.0;break A}default:{e=A+416|0;n[e>>2]=0;n[e+4>>2]=0;n[e+8>>2]=0;n[e+12>>2]=0;break A}}else{A=A+416|0;e=e+200|0;n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2]}}while(0);return}function _h(A,e){A=A|0;e=e|0;var i=0.0,f=0;f=n[(n[A>>2]|0)+192>>2]|0;i=+s[(n[(n[e+16>>2]|0)+8>>2]|0)+24>>3];do{if(!(i!=0.0)){if(f|0?r[f+128>>0]|0:0){A=A+432|0;f=f+112|0;n[A>>2]=n[f>>2];n[A+4>>2]=n[f+4>>2];n[A+8>>2]=n[f+8>>2];n[A+12>>2]=n[f+12>>2];break}e=A+432|0;if((n[A+56>>2]|0)==300){A=(n[A+84>>2]|0)+40|0;n[e>>2]=n[A>>2];n[e+4>>2]=n[A+4>>2];n[e+8>>2]=n[A+8>>2];n[e+12>>2]=n[A+12>>2];break}else{s[A+440>>3]=96.0;s[e>>3]=96.0;break}}else{s[A+440>>3]=i;s[A+432>>3]=i}}while(0);return}function qh(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,a=0,l=0.0,t=0.0,c=0.0,b=0,o=0,u=0.0,B=0.0,k=0.0,w=0.0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0;M=v;v=v+112|0;h=M+80|0;g=M+56|0;d=M+40|0;Z=M+32|0;G=M+24|0;m=M+16|0;I=M+8|0;C=M;b=n[A>>2]|0;u=+s[b+272>>3];k=+s[b+280>>3];B=+s[b+256>>3];w=+s[b+264>>3];f=+s[A+240>>3];i=B-f;s[A+208>>3]=i;l=+s[A+248>>3];t=w-l;s[A+216>>3]=t;f=f+u;s[A+224>>3]=f;l=l+k;s[A+232>>3]=l;i=f-i;t=l-t;s[m>>3]=1.0;a=n[(n[e+16>>2]|0)+8>>2]|0;l=+s[a+64>>3];do{if(l>.001?(c=+s[a+72>>3],c>.001):0){i=i==0.0?l:i;f=t==0.0?c:t;if(!(l<i|c<f)?!(c>f&(l>i&(r[a+80>>0]|0)!=0)):0){c=i;t=f;l=1.0;break}o=l/i<c/f;l=(o?l:c)/(o?i:f);s[m>>3]=l;c=i;t=f}else{c=i;l=1.0}}while(0);f=(B+u)*.5;s[I>>3]=f;i=(w+k)*.5;s[C>>3]=i;n[A+360>>2]=n[b+288>>2];c=l*c;s[Z>>3]=c;t=l*t;s[G>>3]=t;a=fY(e,85727)|0;if(a){b=NN((Az(a)|0)+1|0)|0;o=NN((Az(a)|0)+1|0)|0;n[d>>2]=Z;n[d+4>>2]=G;n[d+8>>2]=m;n[d+12>>2]=b;do{if((PR(a,85736,d)|0)==4){a=zV(n[e+60>>2]|0,b,0)|0;if(a|0){g=n[a+16>>2]|0;s[I>>3]=+s[g+16>>3];s[C>>3]=+s[g+24>>3]}}else{n[g>>2]=Z;n[g+4>>2]=G;n[g+8>>2]=m;n[g+12>>2]=b;n[g+16>>2]=o;if((PR(a,85756,g)|0)!=4){n[h>>2]=Z;n[h+4>>2]=G;n[h+8>>2]=m;n[h+12>>2]=I;n[h+16>>2]=C;PR(a,85776,h)|0;break}a=zV(n[e+60>>2]|0,b,0)|0;if(a|0){g=n[a+16>>2]|0;s[I>>3]=+s[g+16>>3];s[C>>3]=+s[g+24>>3]}}}while(0);zN(b);zN(o);c=+s[Z>>3];t=+s[G>>3];l=+s[m>>3];f=+s[I>>3];i=+s[C>>3]}s[A+368>>3]=c;s[A+376>>3]=t;s[A+352>>3]=l;s[A+336>>3]=f;s[A+344>>3]=i;v=M;return}function $h(A,e){A=A|0;e=e|0;var i=0,f=0,a=0.0,l=0.0,t=0,c=0.0,b=0.0,o=0.0,u=0.0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0.0,F=0.0,L=0.0;P=v;v=v+224|0;z=P+200|0;C=P+168|0;Y=P+144|0;N=P+120|0;V=P+96|0;W=P+64|0;i=P+184|0;Z=P+176|0;G=P+160|0;I=P+136|0;m=P+112|0;M=P+80|0;Q=P+48|0;E=P+32|0;y=P+16|0;p=P+8|0;R=P;g=n[A>>2]|0;n[W>>2]=0;n[W+4>>2]=0;n[W+8>>2]=0;n[W+12>>2]=0;J=A+368|0;n[N>>2]=n[J>>2];n[N+4>>2]=n[J+4>>2];n[N+8>>2]=n[J+8>>2];n[N+12>>2]=n[J+12>>2];J=A+360|0;if(n[J>>2]|0){n[z>>2]=n[N>>2];n[z+4>>2]=n[N+4>>2];n[z+8>>2]=n[N+8>>2];n[z+12>>2]=n[N+12>>2];Ag(i,z);n[N>>2]=n[i>>2];n[N+4>>2]=n[i+4>>2];n[N+8>>2]=n[i+8>>2];n[N+12>>2]=n[i+12>>2]}h=A+416|0;n[V>>2]=n[h>>2];n[V+4>>2]=n[h+4>>2];n[V+8>>2]=n[h+8>>2];n[V+12>>2]=n[h+12>>2];if((r[g+294>>0]|0)!=0?(n[A+152>>2]&32|0)!=0:0){l=+s[g+232>>3]-+s[V>>3]*2.0;s[Y>>3]=l;c=+s[g+240>>3]-+s[V+8>>3]*2.0;B=Y+8|0;s[B>>3]=c;if(!(l<.0001)){u=+s[N>>3];i=~~(u/l);f=A+164|0;n[f>>2]=i;if(u-l*+(i|0)>.0001){i=i+1|0;n[f>>2]=i}}else{n[A+164>>2]=1;i=1}if(!(c<.0001)){a=+s[N+8>>3];f=~~(a/c);t=A+168|0;n[t>>2]=f;if(a-c*+(f|0)>.0001){f=f+1|0;n[t>>2]=f}}else{n[A+168>>2]=1;f=1;a=+s[N+8>>3]}n[A+204>>2]=X(f,i)|0;u=+s[(+s[N>>3]<l?N:Y)>>3];s[N>>3]=u;i=B;f=N;b=+s[(a<c?N:Y)+8>>3];a=u;t=21}else{if(n[A+68>>2]|0){i=n[A+84>>2]|0;l=+s[i+24>>3]-+s[V>>3]*2.0;l=l<0.0?0.0:l;s[Y>>3]=l;u=+s[i+32>>3]-+s[V+8>>3]*2.0;i=Y+8|0;s[i>>3]=u;if(u<0.0){f=Y;t=17}else i=Y}else{s[Y+8>>3]=0.0;f=Y;i=Y;t=17}if((t|0)==17){s[i>>3]=0.0;i=f;l=+s[f>>3]}n[A+204>>2]=1;n[A+168>>2]=1;n[A+164>>2]=1;a=+s[N>>3];if(l<a){s[i>>3]=a;l=a}i=Y+8|0;c=+s[i>>3];b=+s[N+8>>3];if(c<b){f=Y;t=21}else{w=i;b=c}}if((t|0)==21){s[f+8>>3]=b;w=i;b=+s[i>>3]}o=+s[V>>3];d=A+432|0;c=+s[d>>3]*.013888888888888888*(o*2.0+l);n[A+448>>2]=~~(c+(c>=0.0?.5:-.5));k=V+8|0;c=+s[k>>3];h=A+440|0;u=+s[h>>3]*.013888888888888888*(c*2.0+b);n[A+452>>2]=~~(u+(u>=0.0?.5:-.5));t=A+188|0;B=A+180|0;i=A+172|0;f=g+196|0;n[i>>2]=0;n[i+4>>2]=0;n[i+8>>2]=0;n[i+12>>2]=0;n[i+16>>2]=0;n[i+20>>2]=0;eg(Z,A,r[n[f>>2]>>0]|0);g=Z;Z=n[g+4>>2]|0;i=B;n[i>>2]=n[g>>2];n[i+4>>2]=Z;eg(G,A,r[(n[f>>2]|0)+1>>0]|0);i=G;G=n[i>>2]|0;i=n[i+4>>2]|0;Z=t;n[Z>>2]=G;n[Z+4>>2]=i;G=(n[B>>2]|0)+G|0;if(!((((G|0)>-1?G:0-G|0)|0)==1?(G=(n[A+184>>2]|0)+i|0,(((G|0)>-1?G:0-G|0)|0)==1):0)){eg(I,A,66);Z=I;I=n[Z+4>>2]|0;G=B;n[G>>2]=n[Z>>2];n[G+4>>2]=I;eg(m,A,76);G=m;m=n[G+4>>2]|0;I=t;n[I>>2]=n[G>>2];n[I+4>>2]=m;n[C>>2]=n[f>>2];Gy(0,85707,C)|0}if(r[(n[(n[e+16>>2]|0)+8>>2]|0)+82>>0]|0){if(l>a){b=(l-a)*.5;s[W>>3]=b}else b=0.0;l=+s[w>>3];u=+s[N+8>>3];if(l>u){l=(l-u)*.5;s[W+8>>3]=l}else l=0.0}else{l=0.0;b=0.0}if(!(n[J>>2]|0))t=1;else{n[z>>2]=n[N>>2];n[z+4>>2]=n[N+4>>2];n[z+8>>2]=n[N+8>>2];n[z+12>>2]=n[N+12>>2];Ag(M,z);n[N>>2]=n[M>>2];n[N+4>>2]=n[M+4>>2];n[N+8>>2]=n[M+8>>2];n[N+12>>2]=n[M+12>>2];n[z>>2]=n[Y>>2];n[z+4>>2]=n[Y+4>>2];n[z+8>>2]=n[Y+8>>2];n[z+12>>2]=n[Y+12>>2];Ag(Q,z);n[Y>>2]=n[Q>>2];n[Y+4>>2]=n[Q+4>>2];n[Y+8>>2]=n[Q+8>>2];n[Y+12>>2]=n[Q+12>>2];n[z>>2]=n[V>>2];n[z+4>>2]=n[V+4>>2];n[z+8>>2]=n[V+8>>2];n[z+12>>2]=n[V+12>>2];Ag(E,z);n[V>>2]=n[E>>2];n[V+4>>2]=n[E+4>>2];n[V+8>>2]=n[E+8>>2];n[V+12>>2]=n[E+12>>2];n[z>>2]=n[W>>2];n[z+4>>2]=n[W+4>>2];n[z+8>>2]=n[W+8>>2];n[z+12>>2]=n[W+12>>2];Ag(y,z);n[W>>2]=n[y>>2];n[W+4>>2]=n[y+4>>2];n[W+8>>2]=n[y+8>>2];n[W+12>>2]=n[y+12>>2];o=+s[V>>3];b=+s[W>>3];c=+s[k>>3];l=+s[W+8>>3];a=+s[N>>3];t=(n[J>>2]|0)==0}u=b+o;s[A+384>>3]=u;F=l+c;s[A+392>>3]=F;H=b+o+a;s[A+400>>3]=H;L=+s[N+8>>3];o=l+c+L;s[A+408>>3]=o;b=+s[A+352>>3];s[A+320>>3]=a/b;s[A+328>>3]=L/b;b=+s[d>>3];u=u*.013888888888888888*b;f=A+456|0;n[f>>2]=~~(u+(u>=0.0?.5:-.5));u=+s[h>>3];c=F*.013888888888888888*u;n[A+460>>2]=~~(c+(c>=0.0?.5:-.5));b=H*.013888888888888888*b;i=A+464|0;n[i>>2]=~~(b+(b>=0.0?.5:-.5));u=o*.013888888888888888*u;n[A+468>>2]=~~(u+(u>=0.0?.5:-.5));if(!t){n[z>>2]=n[f>>2];n[z+4>>2]=n[f+4>>2];Hh(p,z);N=p;p=n[N+4>>2]|0;A=f;n[A>>2]=n[N>>2];n[A+4>>2]=p;n[z>>2]=n[i>>2];n[z+4>>2]=n[i+4>>2];Hh(R,z);A=R;p=n[A+4>>2]|0;R=i;n[R>>2]=n[A>>2];n[R+4>>2]=p}v=P;return}function Ag(A,e){A=A|0;e=e|0;var i=0.0;i=+s[e>>3];s[A>>3]=+s[e+8>>3];s[A+8>>3]=i;return}function eg(A,e,i){A=A|0;e=e|0;i=i|0;i=(i<<24>>24)+-66|0;switch(i>>>1|i<<31|0){case 9:{n[e+176>>2]=(n[e+168>>2]|0)+-1;e=0;i=-1;break}case 0:{e=0;i=1;break}case 5:{e=1;i=0;break}case 8:{n[e+172>>2]=(n[e+164>>2]|0)+-1;e=-1;i=0;break}default:{e=0;i=0}}n[A>>2]=e;n[A+4>>2]=i;return}function ig(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0;c=v;v=v+16|0;a=c;f=fY(e,85948)|0;t=A+296|0;n[t>>2]=(f|0)==0?85957:f;e=fY(e,85961)|0;f=A+300|0;e=(e|0)==0?85974:e;n[f>>2]=e;e=wR(n[t>>2]|0,e)|0;if(e|0){n[a>>2]=r[e>>0];Gy(0,85976,a)|0;n[f>>2]=174177}e=vR(i)|0;n[A+304>>2]=e;l=A+308|0;f=0;A=0;while(1){i=bR(e,n[t>>2]|0)|0;if(!i)break;a=A+1|0;if((A|0)<(f|0))e=n[l>>2]|0;else{f=f+128|0;e=n[l>>2]|0;if(!e)e=Ng(f<<2)|0;else e=pg(e,f<<2)|0;n[l>>2]=e}n[e+(a<<2)>>2]=i;A=a;e=0}if(A|0){t=pg(n[l>>2]|0,(A<<2)+8|0)|0;n[l>>2]=t;n[t>>2]=0;n[(n[l>>2]|0)+(A+1<<2)>>2]=0}v=c;return A|0}function rg(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0;s=v;v=v+16|0;c=s;t=A+312|0;i=Ng((n[t>>2]<<2)+8|0)|0;r=0;l=1;while(1){a=n[t>>2]|0;if((l|0)>(a|0))break;f=r+1|0;if((gh(A,l,a,e)|0)<<24>>24){n[i+(f<<2)>>2]=l;r=f}l=l+1|0}if(!r){n[c>>2]=e;Gy(0,85847,c)|0;zN(i);i=0}else{n[i>>2]=r;n[i+(r+1<<2)>>2]=(n[t>>2]|0)+1}v=s;return i|0}function fg(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,a=0.0;i=n[e+16>>2]|0;a=+s[i+16>>3];s[i+48>>3]=a-+s[i+88>>3];r=+s[i+24>>3];f=+s[i+80>>3]*.5;s[i+56>>3]=r-f;s[i+64>>3]=+s[i+96>>3]+a;s[i+72>>3]=f+r;e=bY(A,e)|0;while(1){if(!e)break;ng(e);e=uY(A,e)|0}return}function ng(A){A=A|0;A=n[(n[A+16>>2]|0)+8>>2]|0;if(A|0)ag(A);return}function ag(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0;E=v;v=v+240|0;Z=E+192|0;g=E+176|0;G=E+64|0;m=E+32|0;I=E;C=E+144|0;M=E+112|0;Q=A+4|0;if((n[Q>>2]|0)<=0)BA(86115,84869,3994,86129);e=n[A>>2]|0;i=G;r=e;f=i+48|0;do{n[i>>2]=n[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));i=Z;r=e;f=i+48|0;do{n[i>>2]=n[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));lg(m,Z);l=m+8|0;t=I+8|0;c=m+16|0;b=I+16|0;o=m+24|0;u=I+24|0;B=G+8|0;k=G+12|0;w=G+32|0;d=G+4|0;h=G+16|0;a=0;while(1){if((a|0)>=(n[Q>>2]|0))break;if((a|0)>0){e=(n[A>>2]|0)+(a*48|0)|0;i=G;r=e;f=i+48|0;do{n[i>>2]=n[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));i=Z;r=e;f=i+48|0;do{n[i>>2]=n[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));lg(I,Z);s[m>>3]=+s[(+s[m>>3]<+s[I>>3]?m:I)>>3];s[l>>3]=+s[(+s[l>>3]<+s[t>>3]?m:I)+8>>3];s[c>>3]=+s[(+s[c>>3]>+s[b>>3]?m:I)+16>>3];s[o>>3]=+s[(+s[o>>3]>+s[u>>3]?m:I)+24>>3]}e=n[B>>2]|0;if(e|0){f=n[G>>2]|0;n[g>>2]=n[h>>2];n[g+4>>2]=n[h+4>>2];n[g+8>>2]=n[h+8>>2];n[g+12>>2]=n[h+12>>2];n[Z>>2]=n[f>>2];n[Z+4>>2]=n[f+4>>2];n[Z+8>>2]=n[f+8>>2];n[Z+12>>2]=n[f+12>>2];ed(C,g,Z,1.0,e);n[I>>2]=n[C>>2];n[I+4>>2]=n[C+4>>2];n[I+8>>2]=n[C+8>>2];n[I+12>>2]=n[C+12>>2];n[I+16>>2]=n[C+16>>2];n[I+20>>2]=n[C+20>>2];n[I+24>>2]=n[C+24>>2];n[I+28>>2]=n[C+28>>2];s[m>>3]=+s[(+s[m>>3]<+s[I>>3]?m:I)>>3];s[l>>3]=+s[(+s[l>>3]<+s[t>>3]?m:I)+8>>3];s[c>>3]=+s[(+s[c>>3]>+s[b>>3]?m:I)+16>>3];s[o>>3]=+s[(+s[o>>3]>+s[u>>3]?m:I)+24>>3]}e=n[k>>2]|0;if(e|0){f=(n[G>>2]|0)+((n[d>>2]|0)+-1<<4)|0;n[g>>2]=n[w>>2];n[g+4>>2]=n[w+4>>2];n[g+8>>2]=n[w+8>>2];n[g+12>>2]=n[w+12>>2];n[Z>>2]=n[f>>2];n[Z+4>>2]=n[f+4>>2];n[Z+8>>2]=n[f+8>>2];n[Z+12>>2]=n[f+12>>2];ed(M,g,Z,1.0,e);n[I>>2]=n[M>>2];n[I+4>>2]=n[M+4>>2];n[I+8>>2]=n[M+8>>2];n[I+12>>2]=n[M+12>>2];n[I+16>>2]=n[M+16>>2];n[I+20>>2]=n[M+20>>2];n[I+24>>2]=n[M+24>>2];n[I+28>>2]=n[M+28>>2];s[m>>3]=+s[(+s[m>>3]<+s[I>>3]?m:I)>>3];s[l>>3]=+s[(+s[l>>3]<+s[t>>3]?m:I)+8>>3];s[c>>3]=+s[(+s[c>>3]>+s[b>>3]?m:I)+16>>3];s[o>>3]=+s[(+s[o>>3]>+s[u>>3]?m:I)+24>>3]}a=a+1|0}Q=A+8|0;n[Q>>2]=n[m>>2];n[Q+4>>2]=n[m+4>>2];n[Q+8>>2]=n[m+8>>2];n[Q+12>>2]=n[m+12>>2];n[Q+16>>2]=n[m+16>>2];n[Q+20>>2]=n[m+20>>2];n[Q+24>>2]=n[m+24>>2];n[Q+28>>2]=n[m+28>>2];v=E;return}function lg(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0.0,B=0.0,k=0.0,w=0.0,d=0.0,h=0;o=v;v=v+48|0;l=o+32|0;t=o;c=n[e+4>>2]|0;if((c|0)<=0)BA(86145,84869,3968,86157);if(((c>>>0)%3|0|0)!=1)BA(86167,84869,3969,86157);b=t+16|0;i=n[e>>2]|0;n[b>>2]=n[i>>2];n[b+4>>2]=n[i+4>>2];n[b+8>>2]=n[i+8>>2];n[b+12>>2]=n[i+12>>2];n[t>>2]=n[i>>2];n[t+4>>2]=n[i+4>>2];n[t+8>>2]=n[i+8>>2];n[t+12>>2]=n[i+12>>2];r=l+8|0;f=t+8|0;a=t+24|0;e=1;while(1){if((e|0)>=(c|0))break;B=+s[i+(e<<4)+8>>3];h=e+1|0;u=+s[i+(h<<4)+8>>3];w=(+s[i+(h<<4)>>3]+ +s[i+(e<<4)>>3])*.5;s[l>>3]=w;B=(u+B)*.5;s[r>>3]=B;u=+s[(+s[t>>3]<w?t:l)>>3];s[t>>3]=u;d=+s[(+s[f>>3]<B?t:l)+8>>3];s[f>>3]=d;w=+s[(+s[b>>3]>w?b:l)>>3];s[b>>3]=w;B=+s[(+s[a>>3]>B?b:l)+8>>3];s[a>>3]=B;h=i+(e+2<<4)|0;n[l>>2]=n[h>>2];n[l+4>>2]=n[h+4>>2];n[l+8>>2]=n[h+8>>2];n[l+12>>2]=n[h+12>>2];k=+s[l>>3];s[t>>3]=+s[(u<k?t:l)>>3];u=+s[r>>3];s[f>>3]=+s[(d<u?t:l)+8>>3];s[b>>3]=+s[(w>k?b:l)>>3];s[a>>3]=+s[(B>u?b:l)+8>>3];e=e+3|0}n[A>>2]=n[t>>2];n[A+4>>2]=n[t+4>>2];n[A+8>>2]=n[t+8>>2];n[A+12>>2]=n[t+12>>2];n[A+16>>2]=n[t+16>>2];n[A+20>>2]=n[t+20>>2];n[A+24>>2]=n[t+24>>2];n[A+28>>2]=n[t+28>>2];v=o;return}function tg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,a=0.0,l=0,t=0.0,c=0,b=0,o=0.0,u=0.0,v=0.0,B=0.0,k=0.0,w=0.0;k=+s[A>>3];w=+s[i>>3];c=!(k>=w);if((!c?k<=+s[i+16>>3]:0)?(f=+s[A+8>>3],f>=+s[i+8>>3]):0)l=f<=+s[i+24>>3];else l=0;f=+s[e>>3];if((f>=w?f<=+s[i+16>>3]:0)?(n=+s[e+8>>3],n>=+s[i+8>>3]):0){r=n<=+s[i+24>>3];if(!(l^r))if(l&r)r=1;else b=11;else r=0}else if(l)r=0;else b=11;A:do{if((b|0)==11){B=+s[A+8>>3];do{if(k==f){w=+s[i+8>>3];if(!(c|B>=w^+s[e+8>>3]>=w^1)?k<=+s[i+16>>3]:0){r=0;break A}}else{t=+s[e+8>>3];if(B==t){if(!(k>=w^f>=w))break;if(!(B>=+s[i+8>>3]))break;if(!(B<=+s[i+24>>3]))break;else{r=0;break A}}v=(t-B)/(f-k);b=k<f;a=b?k:f;f=b?f:k;n=(w-k)*v+B;o=+s[i+8>>3];if(!(!(w>=a)|!(w<=f)|!(n>=o))?n<=+s[i+24>>3]:0){r=0;break A}u=+s[i+16>>3];n=(u-w)*v+n;if(n>=o?!(!(u<=f)|(u>=a?!(n<=+s[i+24>>3]):1)):0){r=0;break A}b=B<t;a=b?B:t;n=b?t:B;f=(o-B)/v+k;if(f>=w?!(!(o<=n)|(!(o>=a)|!(f<=u))):0){r=0;break A}B=+s[i+24>>3];k=(B-o)/v+f;if(k>=w?!(!(B<=n)|(!(B>=a)|!(k<=u))):0){r=0;break A}}}while(0);r=-1}}while(0);return r|0}function cg(A){A=A|0;var e=0,i=0.0;e=A+16|0;i=+s[e>>3];s[A+32>>3]=i;s[A+48>>3]=i;s[A+40>>3]=+s[A+24>>3];s[A+56>>3]=+s[A+8>>3];s[e>>3]=+s[A>>3];return}function sg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,l=0.0;if((n[42176]|0)!=(i|0)){Qz(+(i|0)*.15915494309189535,167112,167120);n[42176]=i}a=+s[e>>3];r=+s[20890];f=+s[e+8>>3];l=+s[20889];s[A>>3]=r*a-l*f;s[A+8>>3]=l*a+f*r;return}function bg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,a=0.0,l=0,t=0,c=0;c=v;v=v+16|0;f=c;r=+s[e>>3];l=e+8|0;a=+s[l>>3];A:do{switch(i|0){case 0:{t=11;break}case 90:{s[e>>3]=a;r=-r;t=10;break}case 180:{r=-a;t=10;break}case 270:{s[e>>3]=a;t=10;break}default:{if((i|0)<0){n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];og(A,f,0-i|0);break A}if((i|0)>360){n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];bg(A,f,(i>>>0)%360|0);break A}else{n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];sg(A,f,i);break A}}}}while(0);if((t|0)==10){s[l>>3]=r;t=11}if((t|0)==11){n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2]}v=c;return}function og(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,a=0.0,l=0,t=0,c=0;c=v;v=v+16|0;f=c;r=+s[e>>3];l=e+8|0;a=+s[l>>3];A:do{switch(i|0){case 0:{t=11;break}case 90:{s[e>>3]=-a;t=10;break}case 180:{r=-a;t=10;break}case 270:{s[e>>3]=a;t=10;break}default:{if((i|0)<0){n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];bg(A,f,0-i|0);break A}if((i|0)>360){n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];og(A,f,(i>>>0)%360|0);break A}else{n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];sg(A,f,360-i|0);break A}}}}while(0);if((t|0)==10){s[l>>3]=r;t=11}if((t|0)==11){n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2]}v=c;return}function ug(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,a=0.0;a=+s[i>>3];r=+s[i+8>>3];n=r+ +s[e>>3];f=a+ +s[e+24>>3];r=r+ +s[e+16>>3];s[A>>3]=a+ +s[e+8>>3];s[A+8>>3]=n;s[A+16>>3]=f;s[A+24>>3]=r;return}function vg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,a=0.0;n=+s[A>>3];r=+s[e>>3]-n;a=+s[A+8>>3];f=+s[e+8>>3]-a;n=(+s[i+8>>3]-a)*r-(+s[i>>3]-n)*f;n=n*n;return+(n<1.0e-10?0.0:n/(f*f+r*r))}function Bg(A,e){A=A|0;e=e|0;var i=0,f=0.0,a=0,l=0,t=0,c=0,b=0,o=0;o=v;v=v+16|0;a=o+8|0;l=o;i=Jg(96)|0;b=A+16|0;n[(n[b>>2]|0)+8>>2]=i;i=fY(A,86194)|0;if(!i){i=DA(86203)|0;if(i|0)c=3}else c=3;if((c|0)==3)KA(86215,i|0,1)|0;i=(kg(A)|0)&255;r[(n[b>>2]|0)+115>>0]=i;if(0==0?(i=fY(A,86226)|0,n[42178]=i,(i|0)==0):0)n[42178]=n[42177];f=+DI(A,Sy(A,0,86236,0)|0,0.0,0.0);s[n[(n[b>>2]|0)+8>>2]>>3]=f;i=fY(A,86244)|0;A:do{if(!i)i=0;else{switch(r[i>>0]|0){case 76:{if(!(az(i,86252)|0)){i=1;break A}break}case 66:{if(!(az(i,86255)|0)){i=2;break A}break}case 82:{i=(az(i,86258)|0)==0;i=i?3:0;break A}default:{i=0;break A}}i=0}}while(0);n[(n[b>>2]|0)+116>>2]=i<<2|(e<<24>>24==0?0:i);f=+DI(A,Sy(A,0,86261,0)|0,.25,.02);s[l>>3]=f;f=f*72.0;n[(n[b>>2]|0)+248>>2]=~~(f+(f>=0.0?.5:-.5));i=XI(A,Sy(A,0,86269,0)|0,0)|0;if(i){n[a>>2]=l;if(PR(i,86190,a)|0){f=+s[l>>3];if(f<.02){s[l>>3]=.02;f=.02}}else{s[l>>3]=.5;f=.5}if(Xp(i,86277)|0)r[(n[b>>2]|0)+276>>0]=1}else{s[l>>3]=.5;f=.5}f=f*72.0;n[(n[b>>2]|0)+252>>2]=~~(f+(f>=0.0?.5:-.5));l=(LI(A,Sy(A,0,86285,0)|0,0,0)|0)&255;r[(n[b>>2]|0)+243>>0]=l;l=fC(XI(A,Sy(A,0,86295,0)|0,0)|0,19732,19748)|0;n[(n[b>>2]|0)+244>>2]=l;wg(A);l=dg(A,86305,(n[(n[b>>2]|0)+8>>2]|0)+64|0)|0;i=n[(n[b>>2]|0)+8>>2]|0;r[i+80>>0]=l;dg(A,86310,i+48|0)|0;i=UI(fY(A,86315)|0)|0;r[(n[(n[b>>2]|0)+8>>2]|0)+82>>0]=i;i=fY(A,86322)|0;do{if(!i){i=fY(A,86329)|0;if(i|0){i=(r[i>>0]|32)<<24>>24==108&1;c=27;break}i=fY(A,86341)|0;if(i|0){i=UI(i)|0;c=27}}else{i=($R(i)|0)==90&1;c=27}}while(0);if((c|0)==27)r[(n[(n[b>>2]|0)+8>>2]|0)+81>>0]=i;n[42179]=fC(fY(A,86351)|0,19764,19780)|0;r[174072]=UI(fY(A,86363)|0)|0;n[42181]=0;n[42182]=0;s[(n[(n[b>>2]|0)+8>>2]|0)+24>>3]=0.0;i=fY(A,86375)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)c=32;else c=30;if(((c|0)==30?(t=fY(A,86379)|0,t|0):0)?r[t>>0]|0:0){i=t;c=32}if((c|0)==32){f=+AP(i);s[(n[(n[b>>2]|0)+8>>2]|0)+24>>3]=f}hg(A);n[42183]=Sy(A,0,86390,0)|0;n[42186]=Sy(A,0,86399,0)|0;n[42187]=Sy(A,0,90474,0)|0;n[42188]=Sy(A,1,95993,0)|0;n[42189]=Sy(A,1,95987,0)|0;n[42190]=Sy(A,1,90615,0)|0;n[42191]=Sy(A,1,122540,0)|0;n[42192]=Sy(A,1,86413,0)|0;n[42200]=Sy(A,1,86423,0)|0;n[42193]=Sy(A,1,86429,0)|0;n[42194]=Sy(A,1,86438,0)|0;n[42195]=Sy(A,1,86447,0)|0;c=Sy(A,1,86184,0)|0;n[42197]=c;if(!c)n[42197]=Sy(A,1,86184,90471)|0;n[42198]=Sy(A,1,86457,0)|0;n[42201]=Sy(A,1,86285,0)|0;n[42215]=Sy(A,1,86464,0)|0;n[42204]=Sy(A,1,86390,0)|0;n[42196]=Sy(A,1,90474,0)|0;n[42202]=Sy(A,1,86473,0)|0;n[42203]=Sy(A,1,86479,0)|0;n[42206]=Sy(A,1,86491,0)|0;n[42205]=Sy(A,1,86329,0)|0;n[42207]=Sy(A,1,86496,0)|0;n[42208]=Sy(A,1,86507,0)|0;n[42209]=Sy(A,1,122089,0)|0;n[42199]=Sy(A,1,86517,0)|0;n[42210]=Sy(A,1,86527,0)|0;n[42211]=Sy(A,1,86533,0)|0;n[42212]=Sy(A,1,86539,0)|0;n[42213]=Sy(A,1,86547,0)|0;n[42214]=Sy(A,1,86556,0)|0;n[42216]=Sy(A,1,86399,0)|0;n[42217]=Sy(A,2,86558,0)|0;n[42219]=Sy(A,2,122540,0)|0;n[42220]=Sy(A,2,86413,0)|0;n[42222]=Sy(A,2,86429,0)|0;n[42223]=Sy(A,2,86438,0)|0;n[42224]=Sy(A,2,86447,0)|0;n[42225]=Sy(A,2,86184,0)|0;n[42226]=Sy(A,2,86457,0)|0;n[42235]=Sy(A,2,86565,0)|0;n[42227]=Sy(A,2,86576,0)|0;n[42238]=Sy(A,2,86580,0)|0;n[42239]=Sy(A,2,86590,0)|0;n[42240]=Sy(A,2,86600,0)|0;n[42241]=Sy(A,2,86610,0)|0;n[42242]=Sy(A,2,86620,0)|0;n[42243]=Sy(A,2,86634,0)|0;n[42244]=Sy(A,2,86648,0)|0;n[42245]=Sy(A,2,86663,0)|0;n[42246]=Sy(A,2,86677,0)|0;n[42218]=Sy(A,2,86688,0)|0;n[42230]=Sy(A,2,86285,0)|0;n[42228]=Sy(A,2,86423,0)|0;n[42229]=Sy(A,2,86695,0)|0;n[42231]=Sy(A,2,86704,0)|0;n[42232]=Sy(A,2,86714,0)|0;n[42233]=Sy(A,2,86527,0)|0;n[42234]=Sy(A,2,86539,0)|0;n[42247]=Sy(A,2,86725,0)|0;n[42248]=Sy(A,2,86734,0)|0;n[42249]=Sy(A,2,86464,0)|0;i=fd(A)|0;n[(n[(n[b>>2]|0)+8>>2]|0)+88>>2]=i;i=fY(A,86743)|0;if(i|0?r[i>>0]|0:0){A=Eg(i,A)|0;n[(n[(n[b>>2]|0)+8>>2]|0)+92>>2]=A}v=o;return}function kg(A){A=A|0;var e=0,i=0;i=v;v=v+16|0;e=i;A=TI(A,Sy(A,0,86827,0)|0,86835)|0;if(((((((Tz(A,86841)|0)!=0?(Tz(A,86849)|0)!=0:0)?(Tz(A,86856)|0)!=0:0)?(Tz(A,86859)|0)!=0:0)?(Tz(A,86870)|0)!=0:0)?(Tz(A,86881)|0)!=0:0)?(Tz(A,86891)|0)!=0:0)if((Tz(A,86902)|0)!=0?(Tz(A,86908)|0)!=0:0)if((Tz(A,86835)|0)!=0?(Tz(A,86913)|0)!=0:0){n[e>>2]=A;Gy(0,86918,e)|0;A=0}else A=0;else A=2;else A=1;v=i;return A|0}function wg(A){A=A|0;var e=0.0,i=0,f=0;i=fY(A,86785)|0;A:do{if(i|0?(f=r[i>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:{if(f<<24>>24!=97)break A;if(az(i,86791)|0)break A;n[(n[(n[A+16>>2]|0)+8>>2]|0)+84>>2]=4;break A}case 99:{if(f<<24>>24!=99)break A;if(az(i,86796)|0)break A;n[(n[(n[A+16>>2]|0)+8>>2]|0)+84>>2]=3;break A}case 101:{if(f<<24>>24!=101)break A;if(az(i,86805)|0)break A;n[(n[(n[A+16>>2]|0)+8>>2]|0)+84>>2]=5;break A}case 102:{if(f<<24>>24!=102)break A;if(az(i,86812)|0)break A;n[(n[(n[A+16>>2]|0)+8>>2]|0)+84>>2]=2;break A}default:{e=+AP(i);if(!(e>0.0))break A;A=n[(n[A+16>>2]|0)+8>>2]|0;n[A+84>>2]=1;s[A+16>>3]=e;break A}}}while(0);return}function dg(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,a=0.0,l=0,t=0,c=0,b=0,o=0,u=0;u=v;v=v+48|0;b=u+32|0;l=u+16|0;c=u+8|0;t=u;o=u+40|0;r[o>>0]=0;A=fY(A,e)|0;do{if(A){n[l>>2]=c;n[l+4>>2]=t;n[l+8>>2]=o;l=(PR(A,86769,l)|0)>1;a=+s[c>>3];f=+s[t>>3];if(l&a>0.0&f>0.0){a=a*72.0;s[i>>3]=+(~~(a+(a>=0.0?.5:-.5))|0);a=f*72.0;s[i+8>>3]=+(~~(a+(a>=0.0?.5:-.5))|0);A=(r[o>>0]|0)==33;break}r[o>>0]=0;n[b>>2]=c;n[b+4>>2]=o;b=(PR(A,86779,b)|0)>0;f=+s[c>>3];if(b&f>0.0){a=f*72.0;a=+(~~(a+(a>=0.0?.5:-.5))|0);s[i>>3]=a;s[i+8>>3]=a;A=(r[o>>0]|0)==33}else A=0}else A=0}while(0);v=u;return A&1|0}function hg(A){A=A|0;var e=0,i=0,f=0.0,a=0.0,l=0;e=fY(A,86184)|0;do{if(e|0?r[e>>0]|0:0){i=(n[(n[A+60>>2]|0)+16>>2]|0)+113|0;r[i>>0]=r[i>>0]|8;i=(IW(e)|0)!=0;a=+DI(A,Sy(A,0,86429,0)|0,14.0,1.0);l=TI(A,Sy(A,0,86438,0)|0,92971)|0;e=mg(A,e,i?2:0,a,l,TI(A,Sy(A,0,86447,0)|0,122106)|0)|0;l=A+16|0;n[(n[l>>2]|0)+12>>2]=e;e=fY(A,90606)|0;i=(e|0)!=0;do{if((FV(A)|0)==(A|0)){if(i?(r[e>>0]|0)==116:0){e=1;break}e=0}else{if(i?(r[e>>0]|0)==98:0){e=0;break}e=1}}while(0);i=fY(A,86746)|0;A:do{if(i)switch(r[i>>0]|0){case 108:{e=e|2;break A}case 114:{e=e|4;break A}default:break A}}while(0);r[(n[l>>2]|0)+275>>0]=e;if((FV(A)|0)!=(A|0)){e=n[(n[l>>2]|0)+12>>2]|0;f=+s[e+24>>3]+16.0;a=+s[e+32>>3]+8.0;A=(n[(n[(FV(A)|0)+16>>2]|0)+116>>2]&1|0)==0;e=n[l>>2]|0;i=r[e+275>>0]<<1&2;if(A){A=i&255;s[e+48+(A<<4)>>3]=f;s[e+48+(A<<4)+8>>3]=a;break}else{A=(i^3)&255;s[e+48+(A<<4)>>3]=a;s[e+48+(A<<4)+8>>3]=f;break}}}}while(0);return}function gg(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;i=n[r>>2]|0;e=n[i+8>>2]|0;do{if(!e)e=i;else{i=n[e+88>>2]|0;if(i){zw(i);i=n[r>>2]|0;e=n[i+8>>2]|0;if(!e){e=i;break}}zN(n[e+92>>2]|0);e=n[r>>2]|0}}while(0);zN(n[e+8>>2]|0);r=n[r>>2]|0;n[r+8>>2]=0;Mg(n[r+12>>2]|0);uW(A,0,122277);return}function Zg(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0;f=n[e>>2]|0;b=e+24|0;n[b>>2]=0;n[b+4>>2]=0;n[b+8>>2]=0;n[b+12>>2]=0;if(r[f>>0]|0){t=Ng((Az(f)|0)+1|0)|0;r[t>>0]=0;c=e+12|0;i=t;A:while(1){e:while(1){l=f+1|0;a=r[f>>0]|0;if(!(a<<24>>24))break A;if(!(a<<24>>24==-1|((a&255)<161|(n[c>>2]|0)!=2))){r[i>>0]=a;l=r[l>>0]|0;a=i+2|0;r[i+1>>0]=l;if(!(l<<24>>24)){i=a;break A}else{i=a;f=f+2|0;continue}}switch(a<<24>>24){case 92:break e;case 10:{s=12;break e}default:{}}r[i>>0]=a;i=i+1|0;f=l}if((s|0)==12){s=0;f=i+1|0;r[i>>0]=0;Gg(A,e,t,110);i=f;t=f;f=l;continue}a=r[l>>0]|0;switch(a<<24>>24|0){case 114:case 108:case 110:{a=i+1|0;r[i>>0]=0;Gg(A,e,t,r[l>>0]|0);i=a;break}default:{r[i>>0]=a;i=i+1|0;a=t}}t=a;f=(r[l>>0]|0)==0?l:f+2|0}if((t|0)!=(i|0)){r[i>>0]=0;Gg(A,e,t,110)}e=e+40|0;n[e>>2]=n[b>>2];n[e+4>>2]=n[b+4>>2];n[e+8>>2]=n[b+8>>2];n[e+12>>2]=n[b+12>>2]}return}function Gg(A,e,i,a){A=A|0;e=e|0;i=i|0;a=a|0;var l=0.0,t=0.0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0;d=v;v=v+32|0;k=d+16|0;B=d;w=e+76|0;c=f[w>>1]|0;u=e+72|0;b=n[u>>2]|0;if(!b)o=Jg((c*56|0)+112|0)|0;else o=zg(b,c+2|0,56,c+1|0)|0;n[u>>2]=o;c=f[w>>1]|0;b=o+(c*56|0)|0;n[b>>2]=i;r[o+(c*56|0)+48>>0]=a;if((i|0)!=0?(r[i>>0]|0)!=0:0){n[41782]=n[e+4>>2];s[20893]=+s[e+16>>3];a=n[A+144>>2]|0;n[o+(c*56|0)+4>>2]=kF[n[a>>2]&31](a,167128,1)|0;QI(B,A,b);t=+s[B>>3];s[k>>3]=t;l=+s[B+8>>3]}else{s[k>>3]=0.0;l=+(~~(+s[e+16>>3]*1.2)|0);s[o+(c*56|0)+40>>3]=l;t=0.0}f[w>>1]=(f[w>>1]|0)+1<<16>>16;w=e+24|0;s[w>>3]=+s[(+s[w>>3]>t?w:k)>>3];w=e+32|0;s[w>>3]=+s[w>>3]+l;v=d;return}function mg(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=l|0;t=t|0;var c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0;g=v;v=v+32|0;w=g+16|0;k=g+8|0;B=g;h=Jg(88)|0;switch(KV(A)|0){case 0:{b=0;d=n[A+60>>2]|0;o=A;u=0;break}case 1:{b=0;d=FV(HV(A)|0)|0;o=0;u=A;break}case 2:{b=A;d=FV(HV(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)|0;o=0;u=0;break}default:{b=0;d=0;o=0;u=0}}n[h+4>>2]=l;n[h+8>>2]=t;s[h+16>>3]=f;c=d+16|0;t=h+12|0;n[t>>2]=a[(n[c>>2]|0)+115>>0];A:do{if(i&4){n[h>>2]=vR(e)|0;if(i&2|0)r[h+82>>0]=1}else switch(i|0){case 2:{n[h>>2]=vR(e)|0;r[h+82>>0]=1;if(!(Go(A,h)|0))break A;switch(KV(A)|0){case 0:{n[B>>2]=qY(o)|0;Gy(3,86961,B)|0;break A}case 1:{n[k>>2]=qY(u)|0;Gy(3,86983,k)|0;break A}case 2:{B=qY(n[((n[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;k=(HY(d)|0)!=0;d=qY(n[((n[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;n[w>>2]=B;n[w+4>>2]=k?122546:122549;n[w+8>>2]=d;Gy(3,87004,w)|0;break A}default:break A}}case 0:{l=Ig(e,A,0)|0;n[h>>2]=l;if((n[t>>2]|0)==1)l=pC(l)|0;else l=JC(l,d)|0;zN(n[h>>2]|0);n[h>>2]=l;Zg(n[(n[c>>2]|0)+144>>2]|0,h);break A}default:BA(87031,87047,166,87056)}}while(0);v=g;return h|0}function Ig(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0;switch(KV(e)|0){case 0:{t=qY(e)|0;a=Az(t)|0;f=n[(n[e+16>>2]|0)+12>>2]|0;if(f){f=n[f>>2]|0;if(!A){Z=0;h=2;g=2;d=2;l=2;I=87079;o=87076;c=90471;v=174177;k=174177;B=0;w=0;u=2;G=f;m=87073}else{Z=0;h=2;g=2;d=2;l=2;I=87079;o=87076;c=90471;v=174177;k=174177;B=0;w=0;u=Az(f)|0;G=f;m=87073}}else{Z=0;h=2;g=2;d=2;l=2;I=87079;o=87076;c=90471;v=174177;k=174177;B=0;w=0;u=2;G=87067;m=87073}break}case 1:{t=qY(HV(e)|0)|0;a=Az(t)|0;c=qY(e)|0;l=Az(c)|0;f=n[(n[e+16>>2]|0)+104>>2]|0;if(f){f=n[f>>2]|0;if(!A){Z=0;h=2;g=2;d=2;I=87079;o=87076;v=174177;k=174177;B=0;w=0;u=2;G=f;m=87073}else{Z=0;h=2;g=2;d=2;I=87079;o=87076;v=174177;k=174177;B=0;w=0;u=Az(f)|0;G=f;m=87073}}else{Z=0;h=2;g=2;d=2;I=87079;o=87076;v=174177;k=174177;B=0;w=0;u=2;G=87067;m=87073}break}case 2:{l=e+48|0;t=qY(FV(HV(n[((n[e>>2]&3|0)==3?e:l)+40>>2]|0)|0)|0)|0;a=Az(t)|0;b=qY(n[((n[e>>2]&3|0)==3?e:l)+40>>2]|0)|0;s=Az(b)|0;f=e+16|0;k=n[(n[f>>2]|0)+52>>2]|0;if(!k)w=0;else w=Az(k)|0;o=qY(n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;f=n[f>>2]|0;v=n[f+92>>2]|0;if(!v)B=0;else B=Az(v)|0;c=Az(o)|0;f=n[f+96>>2]|0;if(f){f=n[f>>2]|0;if(!A)u=2;else u=Az(f)|0}else{u=2;f=87067}m=(HY(FV(HV(n[((n[e>>2]&3|0)==3?e:l)+40>>2]|0)|0)|0)|0)==0;Z=1;h=s;g=c;d=s+2+(w|0?w+1|0:0)+c+(B|0?B+1|0:0)|0;l=2;I=b;c=90471;G=f;m=m?122549:122546;break}default:{Z=0;h=2;g=2;d=2;l=2;a=2;I=87079;o=87076;c=90471;t=87070;v=174177;k=174177;B=0;w=0;u=2;G=87067;m=87073}}i=(i|0)==0;b=0;f=A;A:while(1){e=f+1|0;e:do{switch(r[f>>0]|0){case 0:break A;case 92:{f=f+2|0;switch(r[e>>0]|0){case 78:{s=l;break e}case 71:{s=a;break e}case 69:{s=d;break e}case 72:{s=g;break e}case 84:{s=h;break e}case 76:{s=u;break e}case 92:{if(!i){s=1;break e}break}default:{}}s=2;break}default:{s=1;f=e}}}while(0);b=b+s|0}d=Ng(b+1|0)|0;u=(Z|0)==0;b=(w|0)==0;e=(B|0)==0;f=d;a=A;A:while(1){s=a+1|0;l=r[a>>0]|0;switch(l<<24>>24){case 0:break A;case 92:break;default:{r[f>>0]=l;f=f+1|0;a=s;continue A}}l=a+2|0;a=r[s>>0]|0;switch(a<<24>>24|0){case 71:{a=t;while(1){A=r[a>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){a=l;continue A}a=a+1|0;f=f+1|0}}case 78:{a=c;while(1){A=r[a>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){a=l;continue A}a=a+1|0;f=f+1|0}}case 69:{if(u){a=l;continue A}else a=I;while(1){A=r[a>>0]|0;r[f>>0]=A;if(!(A<<24>>24))break;a=a+1|0;f=f+1|0}if(b)a=m;else{r[f>>0]=58;a=k;while(1){f=f+1|0;A=r[a>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){a=m;break}else a=a+1|0}}while(1){A=r[a>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){a=o;break}a=a+1|0;f=f+1|0}while(1){A=r[a>>0]|0;r[f>>0]=A;if(!(A<<24>>24))break;a=a+1|0;f=f+1|0}if(e){a=l;continue A}r[f>>0]=58;a=v;while(1){f=f+1|0;A=r[a>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){a=l;continue A}else a=a+1|0}}case 84:{a=I;while(1){A=r[a>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){a=l;continue A}a=a+1|0;f=f+1|0}}case 72:{a=o;while(1){A=r[a>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){a=l;continue A}f=f+1|0;a=a+1|0}}case 76:{a=G;while(1){A=r[a>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){a=l;continue A}f=f+1|0;a=a+1|0}}case 92:{if(!i){r[f>>0]=92;f=f+1|0;a=l;continue A}break}default:{}}r[f>>0]=92;r[f+1>>0]=a;f=f+2|0;a=l}r[f>>0]=0;return d|0}function Cg(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;if(A|0){i=A;r=0;while(1){if((r|0)>=(e|0))break;if(!r)zN(n[i>>2]|0);a=n[i+8>>2]|0;if(a|0?(f=n[i+12>>2]|0,f|0):0)ZF[f&127](a);i=i+56|0;r=r+1|0}zN(A)}return}function Mg(A){A=A|0;var e=0;if(A|0){zN(n[A>>2]|0);e=A+72|0;if(r[A+82>>0]|0){e=n[e>>2]|0;if(e|0)ao(e,1)}else Cg(n[e>>2]|0,f[A+76>>1]|0);zN(A)}return}function Qg(A,e,i){A=A|0;e=e|0;i=i|0;var a=0.0,l=0,t=0.0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0;g=v;v=v+32|0;k=g+16|0;w=g;c=n[A+16>>2]|0;d=c+12|0;h=n[d>>2]|0;n[d>>2]=e;if(!(r[i+82>>0]|0)){B=i+76|0;if((f[B>>1]|0)>=1){qc(A,0);es(A,n[i+8>>2]|0);switch(r[i+80>>0]|0){case 116:{t=+s[i+64>>3];a=+s[i+48>>3]*.5+t;break}case 98:{t=+s[i+64>>3];a=+s[i+48>>3]*-.5+t+ +s[i+32>>3];break}default:{t=+s[i+64>>3];a=+s[i+32>>3]*.5+t}}a=a-+s[i+16>>3];u=w+8|0;s[u>>3]=a;if(f[c+260>>1]&512)s[u>>3]=a-t;b=i+72|0;o=i+56|0;l=i+40|0;e=0;while(1){if((e|0)>=(f[B>>1]|0))break;c=n[b>>2]|0;switch(r[c+(e*56|0)+48>>0]|0){case 108:{a=+s[o>>3]-+s[l>>3]*.5;break}case 114:{a=+s[l>>3]*.5+ +s[o>>3];break}default:a=+s[o>>3]}s[w>>3]=a;n[k>>2]=n[w>>2];n[k+4>>2]=n[w+4>>2];n[k+8>>2]=n[w+8>>2];n[k+12>>2]=n[w+12>>2];As(A,k,c+(e*56|0)|0);s[u>>3]=+s[u>>3]-+s[(n[b>>2]|0)+(e*56|0)+40>>3];e=e+1|0}$c(A);l=18}}else{Hb(A,n[i+72>>2]|0,i);l=18}if((l|0)==18)n[d>>2]=h;v=g;return}function Eg(A,e){A=A|0;e=e|0;return Ig(A,e,1)|0}function yg(A){A=A|0;return Yg(A,0)|0}function Yg(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0;i=n[42250]|0;if(!i){n[42251]=64;i=Ng(64)|0;n[42250]=i}c=e<<24>>24==0;t=0;f=0;l=A;while(1){if(!l)break;e=r[l>>0]|0;if(!(e<<24>>24))break;A=n[42251]|0;if((t|0)>(A+-8|0)){i=A<<1;n[42251]=i;i=pg(n[42250]|0,i)|0;n[42250]=i;i=i+t|0;e=r[l>>0]|0}A:do{switch(e<<24>>24){case 38:{if(c?(Vg(l)|0)!=0:0)s=18;else{f=5;e=87108}break}case 60:{f=4;e=87131;break}case 62:{f=4;e=87114;break}case 45:{f=5;e=87125;break}default:{if((f|0)!=0&e<<24>>24==32)if((r[f>>0]|0)==32){f=6;e=87101;break A}else{s=18;break A}switch(e<<24>>24){case 34:{f=6;e=87094;break A}case 39:{f=5;e=87119;break A}case 10:if(c){s=18;break A}else{f=5;e=87088;break A}default:{s=18;break A}}}}}while(0);if((s|0)==18){s=0;e=c|e<<24>>24!=13;f=e?1:5;e=e?l:87082}a=i+f|0;A=f;while(1){if(!A)break;r[i>>0]=r[e>>0]|0;A=A+-1|0;e=e+1|0;i=i+1|0}A=l;t=f+t|0;i=a;l=l+1|0;f=A}r[i>>0]=0;return n[42250]|0}function Vg(A){A=A|0;var e=0,i=0;i=A+1|0;e=r[i>>0]|0;A:do{if(e<<24>>24==35){i=A+2|0;e=r[i>>0]|0;switch(e<<24>>24){case 88:case 120:break;default:{A=i;while(1){i=A+1|0;if((e+-48&255)>=10)break A;A=i;e=r[i>>0]|0}}}i=A+3|0;while(1){e=r[i>>0]|0;if((e+-48&255)>=10)switch(e<<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}i=i+1|0}}else while(1){A=i+1|0;if(((e&-33)+-65&255)>=26)break A;i=A;e=r[A>>0]|0}}while(0);return e<<24>>24==59|0}function Wg(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0;e=n[42252]|0;if(!e){n[42253]=64;e=Ng(64)|0;n[42252]=e;t=0}else t=0;while(1){if(!A)break;i=r[A>>0]|0;if(!(i<<24>>24))break;f=n[42253]|0;if((t|0)>(f+-8|0)){e=f<<1;n[42253]=e;e=pg(n[42252]|0,e)|0;n[42252]=e;e=e+t|0;i=r[A>>0]|0}switch(i<<24>>24){case 38:{if(!(Vg(A)|0)){a=5;i=87108}else c=12;break}case 60:{a=4;i=87131;break}case 62:{a=4;i=87114;break}case 34:{a=6;i=87094;break}case 39:{a=5;i=87119;break}default:c=12}if((c|0)==12){c=0;a=1;i=A}l=e+a|0;f=a;while(1){if(!f)break;r[e>>0]=r[i>>0]|0;f=f+-1|0;i=i+1|0;e=e+1|0}t=a+t|0;e=l;A=A+1|0}r[e>>0]=0;return n[42252]|0}function Jg(A){A=A|0;var e=0;if(!A)A=0;else{e=Ng(A)|0;yH(e|0,0,A|0)|0;A=e}return A|0}function Ng(A){A=A|0;if(A){A=NN(A)|0;if(!A){VR(96532,14,1,n[13918]|0)|0;A=0}}else A=0;return A|0}function zg(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=RN(A,X(i,e)|0)|0;if(!((e|0)!=0&(A|0)==0)){if(e>>>0>r>>>0)yH(A+(X(r,i)|0)|0,0,X(e-r|0,i)|0)|0}else VR(96532,14,1,n[13918]|0)|0;return A|0}function pg(A,e){A=A|0;e=e|0;A=RN(A,e)|0;if((e|0)!=0&(A|0)==0)VR(96532,14,1,n[13918]|0)|0;return A|0}function Rg(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0.0,b=0,o=0,u=0,B=0,k=0,h=0,g=0;g=v;v=v+80|0;B=g+40|0;u=g+32|0;o=g+24|0;b=g;k=4;h=NN(40)|0;n[h>>2]=0;f=g+68|0;a=g+64|0;if(0){w=0;sA(57,A|0,f|0,a|0);l=w;w=0;if((l|0)!=0&(d|0)!=0){t=MH(n[l>>2]|0,h|0,k|0)|0;if(!t)OA(l|0,d|0);E=d}else t=-1;if((t|0)!=1){t=n[13918]|0;l=n[f>>2]|0;f=n[a>>2]|0;w=0;n[b>>2]=87180;n[b+4>>2]=l;n[b+8>>2]=f;n[b+12>>2]=i;n[b+16>>2]=e;rA(13,t|0,87136,b|0)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)!=1){w=0;lA(1);f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)!=1)t=6;else{f=E;t=15}}else{f=E;t=15}}else{f=E;t=15}}else t=6;do{if((t|0)==6){w=0;f=eA(20,A|0)|0;a=w;w=0;if((a|0)!=0&(d|0)!=0){l=MH(n[a>>2]|0,h|0,k|0)|0;if(!l)OA(a|0,d|0);E=d}else l=-1;if((l|0)!=1){if(!f){w=0;lA(2);f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){f=E;t=15;break}}if((i|0)<1){w=0;lA(3);f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){f=E;t=15;break}f=0;break}else{n[42254]=(r|0)>-1?r:30;h=CH(169020,1,h|0,k|0)|0;k=E;w=0;f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){f=E;t=15;break}f=0;t=15;break}}else{f=E;t=15}}}while(0);A:do{if((t|0)==15){e:while(1){if(f|0){f=2;break A}w=0;lA(4);f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){f=E;t=15;continue}A=n[13918]|0;b=0;while(1){w=0;t=AA(1)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){f=E;t=15;continue e}if(!t)break;w=0;f=eA(21,t|0)|0;a=w;w=0;if((a|0)!=0&(d|0)!=0){l=MH(n[a>>2]|0,h|0,k|0)|0;if(!l)OA(a|0,d|0);E=d}else l=-1;if((l|0)==1){f=E;t=15;continue e}w=0;cA(24,t|0,f|0);f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){f=E;t=15;continue e}b=b+1|0;do{if(((b|0)%100|0|0)==0&0!=0){f=(b|0)%1e3|0;if((f|0)==100){w=0;iA(27,87180,A|0)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){f=E;t=15;continue e}w=0;n[o>>2]=b;rA(13,A|0,87198,o|0)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){f=E;t=15;continue e}break}w=0;n[u>>2]=b;rA(13,A|0,87198,u|0)|0;a=w;w=0;if((a|0)!=0&(d|0)!=0){l=MH(n[a>>2]|0,h|0,k|0)|0;if(!l)OA(a|0,d|0);E=d}else l=-1;if((l|0)==1){f=E;t=15;continue e}if(!f){w=0;iA(28,10,A|0)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){f=E;t=15;continue e}}}}while(0);if((b|0)>=(i|0))break}switch(e|0){case 1:{w=0;lA(5);f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){f=E;t=15;continue e}break}case 2:{w=0;lA(6);f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){f=E;t=15;continue e}break}default:{w=0;lA(7);f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){f=E;t=15;continue e}w=0;lA(3);f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){f=E;t=15;continue e}}}if(!0){f=0;break A}if((b|0)>99){w=0;iA(28,10,A|0)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){f=E;t=15;continue}}f=n[42294]|0;a=n[42295]|0;w=0;c=+q(1);l=w;w=0;if((l|0)!=0&(d|0)!=0){t=MH(n[l>>2]|0,h|0,k|0)|0;if(!t)OA(l|0,d|0);E=d}else t=-1;if((t|0)==1){f=E;t=15;continue}w=0;n[B>>2]=87180;n[B+4>>2]=f;n[B+8>>2]=a;n[B+12>>2]=b;s[B+16>>3]=c;rA(13,A|0,87202,B|0)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,h|0,k|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){f=E;t=15}else break}f=0}}while(0);zN(h|0);v=g;return f|0}function Pg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0;A=(n[A+16>>2]|0)+192|0;r=0;l=0;while(1){A=n[A>>2]|0;if(!A)break;a=n[A+16>>2]|0;f=n[a+180>>2]|0;A=0;while(1){if(!(n[f+(A<<2)>>2]|0))break;A=A+1|0;r=r+1|0}A=a+164|0;l=l+1|0}n[e>>2]=l;n[i>>2]=r;return}function Hg(A){A=A|0;var e=0,i=0,f=0,a=0,t=0,c=0,s=0,b=0;n[42297]=A;n[42304]=0;n[42295]=0;n[42294]=0;t=A+16|0;A=(n[t>>2]|0)+192|0;a=0;i=0;while(1){A=n[A>>2]|0;if(!A)break;f=n[A+16>>2]|0;r[f+157>>0]=0;a=a+1|0;n[42294]=a;e=n[f+180>>2]|0;A=0;while(1){if(!(n[e+(A<<2)>>2]|0))break;s=i+1|0;n[42295]=s;A=A+1|0;i=s}A=f+164|0}A=n[42305]|0;if(!A)A=Ng(a<<2)|0;else A=pg(A,a<<2)|0;n[42305]=A;n[42306]=0;A=n[42299]|0;if(!A)A=Ng(n[42294]<<2)|0;else A=pg(A,n[42294]<<2)|0;n[42299]=A;n[42298]=0;e=1;A=(n[t>>2]|0)+192|0;while(1){A=n[A>>2]|0;if(!A)break;s=A+16|0;t=n[s>>2]|0;c=t+292|0;n[c>>2]=0;t=n[t+172>>2]|0;a=e;f=0;A=0;while(1){e=n[t+(f<<2)>>2]|0;if(!e)break;i=A+1|0;n[c>>2]=i;A=n[e+16>>2]|0;n[A+160>>2]=0;n[A+164>>2]=-1;if(!a)A=0;else{b=n[e>>2]&3;A=((n[(n[(n[((b|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(n[(n[(n[((b|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(l[A+170>>1]|0|0)?0:a}a=A;f=f+1|0;A=i}A=Jg((f<<2)+4|0)|0;e=n[s>>2]|0;n[e+264>>2]=A;n[e+268>>2]=0;e=n[e+180>>2]|0;A=0;do{b=A;A=A+1|0}while((n[e+(b<<2)>>2]|0)!=0);e=Jg(A<<2)|0;A=n[s>>2]|0;n[A+272>>2]=e;n[A+276>>2]=0;e=a;A=A+164|0}return e|0}function Fg(){var A=0,e=0,i=0,r=0,f=0,a=0,t=0,c=0,s=0,b=0,o=0,u=0;u=v;v=v+16|0;o=u+8|0;s=u;b=RI(n[42294]|0)|0;A=(n[(n[42297]|0)+16>>2]|0)+192|0;while(1){e=n[A>>2]|0;if(!e){c=0;break}i=e+16|0;A=n[i>>2]|0;if(!(n[A+292>>2]|0)){HI(b,e);A=n[i>>2]|0}A=A+164|0}while(1){A=FI(b)|0;if(!A)break;t=A+16|0;A=n[t>>2]|0;r=A+232|0;n[r>>2]=0;i=n[A+172>>2]|0;e=0;a=0;while(1){f=n[i+(e<<2)>>2]|0;if(!f){r=0;break}f=(n[(n[(n[((n[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(l[(n[f+16>>2]|0)+170>>1]|0)|0;f=(a|0)>(f|0)?a:f;n[r>>2]=f;e=e+1|0;a=f}while(1){e=n[(n[A+180>>2]|0)+(r<<2)>>2]|0;if(!e)break;i=e+-48|0;f=(n[(n[((n[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+292|0;a=n[f>>2]|0;n[f>>2]=a+-1;if((a|0)<2){HI(b,n[((n[e>>2]&3|0)==2?e:i)+40>>2]|0);A=n[t>>2]|0}r=r+1|0}c=c+1|0}A:do{if((c|0)!=(n[42294]|0)){Gy(1,87534,s)|0;A=(n[(n[42297]|0)+16>>2]|0)+192|0;while(1){e=n[A>>2]|0;if(!e)break A;i=e+16|0;A=n[i>>2]|0;if(n[A+292>>2]|0){s=qY(e)|0;A=n[(n[i>>2]|0)+292>>2]|0;n[o>>2]=s;n[o+4>>2]=A;Gy(3,87556,o)|0;A=n[i>>2]|0}A=A+164|0}}}while(0);PI(b);v=u;return}function Lg(){var A=0,e=0,i=0;A=(n[(n[42297]|0)+16>>2]|0)+192|0;while(1){A=n[A>>2]|0;if(!A)break;i=A+16|0;A=n[i>>2]|0;e=n[A+264>>2]|0;if(e){zN(e);A=n[i>>2]|0}e=n[A+272>>2]|0;if(e){zN(e);A=n[i>>2]|0}r[A+157>>0]=0;A=A+164|0}return}function Dg(){var A=0,e=0,i=0,r=0,f=0;A=(n[(n[42297]|0)+16>>2]|0)+192|0;while(1){A=n[A>>2]|0;if(!A)break;A=n[A+16>>2]|0;n[A+280>>2]=0;A=A+164|0}f=Jg(n[42294]<<2)|0;r=0;A=(n[(n[42297]|0)+16>>2]|0)+192|0;while(1){e=n[A>>2]|0;if(!e)break;i=e+16|0;A=n[i>>2]|0;if(!(n[A+280>>2]|0)){n[f+(r<<2)>>2]=eZ(e)|0;e=r+1|0;A=n[i>>2]|0}else e=r;r=e;A=A+164|0}A=iZ(f,r)|0;while(1){if((rZ(A)|0)<=1)break;lZ(A,n[(aZ(nZ(fZ(A)|0)|0)|0)+8>>2]|0)}zN(A);A=0;while(1){if((A|0)>=(r|0))break;zN(n[f+(A<<2)>>2]|0);A=A+1|0}zN(f);if((n[42298]|0)==((n[42294]|0)+-1|0)){tZ();return}else BA(87279,87309,523,87314)}function Xg(){var A=0,e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0;t=n[42304]|0;f=n[42298]|0;c=n[42299]|0;s=n[42254]|0;e=0;A=0;a=t;while(1){if((a|0)>=(f|0)){l=8;break}r=n[c+(a<<2)>>2]|0;i=n[(n[r+16>>2]|0)+160>>2]|0;if((i|0)<0){if(!A)A=r;else A=(n[(n[A+16>>2]|0)+160>>2]|0)>(i|0)?r:A;e=e+1|0;if((e|0)>=(s|0))break}r=a+1|0;n[42304]=r;a=r}if((l|0)==8)if((t|0)>0){f=0;while(1){if((f|0)>=(t|0))break;i=n[c+(f<<2)>>2]|0;r=n[(n[i+16>>2]|0)+160>>2]|0;if((r|0)<0){if(!A)A=i;else A=(n[(n[A+16>>2]|0)+160>>2]|0)>(r|0)?i:A;e=e+1|0;if((e|0)>=(s|0))break}f=f+1|0}n[42304]=f}return A|0}function Tg(A){A=A|0;var e=0,i=0;e=n[A>>2]&3;i=n[((e|0)==3?A:A+48|0)+40>>2]|0;A=n[((e|0)==2?A:A+-48|0)+40>>2]|0;e=(n[(n[i+16>>2]|0)+288>>2]|0)<(n[(n[A+16>>2]|0)+288>>2]|0);A=e?i:A;n[42300]=0;n[42301]=2147483647;i=n[A+16>>2]|0;n[42302]=n[i+284>>2];n[42303]=n[i+288>>2];if(e)AZ(A);else $g(A);return n[42300]|0}function xg(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,t=0,c=0,s=0,b=0,o=0,u=0;u=v;v=v+16|0;o=u;f=n[e>>2]&3;b=e+-48|0;c=e+48|0;s=e+16|0;f=(n[(n[(n[((f|0)==2?e:b)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(n[(n[(n[((f|0)==3?e:c)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(n[s>>2]|0)+170>>1]|0)|0;do{if((f|0)>0){i=n[A>>2]&3;a=n[((i|0)==3?A:A+48|0)+40>>2]|0;t=n[a+16>>2]|0;if(((n[t+276>>2]|0)+(n[t+268>>2]|0)|0)==1){Og(a,f);break}i=n[((i|0)==2?A:A+-48|0)+40>>2]|0;r=n[i+16>>2]|0;if(((n[r+276>>2]|0)+(n[r+268>>2]|0)|0)==1){Og(i,0-f|0);break}if((n[t+288>>2]|0)<(n[r+288>>2]|0)){Og(a,f);break}else{Og(i,0-f|0);break}}}while(0);i=A+16|0;r=n[(n[i>>2]|0)+160>>2]|0;f=n[e>>2]&3;f=Kg(n[((f|0)==3?e:c)+40>>2]|0,n[((f|0)==2?e:b)+40>>2]|0,r,1)|0;t=n[e>>2]&3;if((Kg(n[((t|0)==2?e:b)+40>>2]|0,n[((t|0)==3?e:c)+40>>2]|0,r,0)|0)==(f|0)){n[(n[s>>2]|0)+160>>2]=0-r;n[(n[i>>2]|0)+160>>2]=0;_g(A,e);o=n[f+16>>2]|0;qg(f,n[o+280>>2]|0,n[o+284>>2]|0)|0;v=u;return}else{Gy(1,87240,o)|0;OA(169020,1)}}function Ug(){var A=0,e=0,i=0,f=0,a=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0;Sg();o=Jg((n[42296]<<2)+4|0)|0;e=n[42296]|0;A=0;while(1){if((A|0)>(e|0))break;n[o+(A<<2)>>2]=0;A=A+1|0}A=(n[(n[42297]|0)+16>>2]|0)+192|0;e=A;while(1){e=n[e>>2]|0;if(!e)break;e=n[e+16>>2]|0;if(!(r[e+156>>0]|0)){b=o+(n[e+232>>2]<<2)|0;n[b>>2]=(n[b>>2]|0)+1}e=e+164|0}while(1){A=n[A>>2]|0;if(!A)break;b=A+16|0;A=n[b>>2]|0;if(!(r[A+156>>0]|0)){a=n[42296]|0;i=n[A+172>>2]|0;s=0;c=0;e=0;while(1){f=n[i+(e<<2)>>2]|0;if(!f)break;u=n[f+16>>2]|0;t=(n[(n[(n[((n[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(l[u+170>>1]|0)|0;s=(n[u+156>>2]|0)+s|0;c=(c|0)>(t|0)?c:t;e=e+1|0}f=n[A+180>>2]|0;t=0;e=0;while(1){i=n[f+(e<<2)>>2]|0;if(!i)break;v=n[i+16>>2]|0;u=(n[(n[(n[((n[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[v+170>>1]|0)|0;t=(n[v+156>>2]|0)+t|0;a=(a|0)<(u|0)?a:u;e=e+1|0}e=(c|0)>0?c:0;if((s|0)==(t|0)){f=e;i=e;while(1){e=i+1|0;if((i|0)>=(a|0))break;f=(n[o+(e<<2)>>2]|0)<(n[o+(f<<2)>>2]|0)?e:f;i=e}v=A+232|0;u=o+(n[v>>2]<<2)|0;n[u>>2]=(n[u>>2]|0)+-1;u=o+(f<<2)|0;n[u>>2]=(n[u>>2]|0)+1;n[v>>2]=f}e=n[A+264>>2]|0;if(e){zN(e);A=n[b>>2]|0}e=n[A+272>>2]|0;if(e){zN(e);A=n[b>>2]|0}r[A+157>>0]=0}A=A+164|0}zN(o);return}function jg(){var A=0,e=0,i=0,r=0,f=0,a=0;e=0;while(1){if((e|0)>=(n[42298]|0))break;A=n[(n[42299]|0)+(e<<2)>>2]|0;do{if(((n[(n[A+16>>2]|0)+160>>2]|0)==0?(i=Tg(A)|0,i|0):0)?(r=n[i>>2]&3,r=(n[(n[(n[((r|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(n[(n[(n[((r|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(n[i+16>>2]|0)+170>>1]|0)|0,(r|0)>=2):0){a=n[A>>2]&3;f=n[((a|0)==3?A:A+48|0)+40>>2]|0;A=n[((a|0)==2?A:A+-48|0)+40>>2]|0;if((n[(n[f+16>>2]|0)+288>>2]|0)<(n[(n[A+16>>2]|0)+288>>2]|0)){Og(f,r>>>1);break}else{Og(A,(r|0)/-2|0);break}}}while(0);e=e+1|0}Lg();return}function Sg(){var A=0,e=0,i=0,f=0,a=0,l=0,t=0,c=0;t=v;v=v+16|0;l=t;n[l>>2]=0;n[l>>2]=2147483647;n[42296]=-2147483647;A=(n[(n[42297]|0)+16>>2]|0)+192|0;i=A;a=2147483647;f=-2147483647;while(1){e=n[i>>2]|0;if(!e)break;i=n[e+16>>2]|0;if(!(r[i+156>>0]|0)){c=n[i+232>>2]|0;e=(a|0)<(c|0)?a:c;n[l>>2]=e;f=(f|0)>(c|0)?f:c;n[42296]=f}else e=a;i=i+164|0;a=e}if(a|0){while(1){A=n[A>>2]|0;if(!A)break;A=n[A+16>>2]|0;c=A+232|0;n[c>>2]=(n[c>>2]|0)-a;A=A+164|0}n[42296]=f-a;n[l>>2]=0}v=t;return}function Og(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+16|0;A=n[f>>2]|0;r=A+232|0;n[r>>2]=(n[r>>2]|0)-e;r=0;while(1){i=n[(n[A+272>>2]|0)+(r<<2)>>2]|0;if(!i){r=0;break}if((i|0)!=(n[A+280>>2]|0)){Og(n[((n[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,e);A=n[f>>2]|0}r=r+1|0}while(1){i=n[(n[A+264>>2]|0)+(r<<2)>>2]|0;if(!i)break;if((i|0)!=(n[A+280>>2]|0)){Og(n[((n[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0,e);A=n[f>>2]|0}r=r+1|0}return}function Kg(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0;a=(r|0)==0&1;l=0-i|0;f=n[(n[e+16>>2]|0)+288>>2]|0;e=A;while(1){A=n[e+16>>2]|0;if((n[A+284>>2]|0)<=(f|0)?(f|0)<=(n[A+288>>2]|0):0)break;A=n[A+280>>2]|0;t=A+48|0;c=(n[A+16>>2]|0)+160|0;n[c>>2]=(((e|0)==(n[((n[A>>2]&3|0)==3?A:t)+40>>2]|0)?r:a)|0?i:l)+(n[c>>2]|0);c=n[A>>2]&3;t=n[((c|0)==3?A:t)+40>>2]|0;A=n[((c|0)==2?A:A+-48|0)+40>>2]|0;e=(n[(n[t+16>>2]|0)+288>>2]|0)>(n[(n[A+16>>2]|0)+288>>2]|0)?t:A}return e|0}function _g(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0;t=A+16|0;r=(n[t>>2]|0)+164|0;n[(n[e+16>>2]|0)+164>>2]=n[r>>2];n[(n[42299]|0)+(n[r>>2]<<2)>>2]=e;n[(n[t>>2]|0)+164>>2]=-1;t=(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16|0;r=n[t>>2]|0;a=r+276|0;f=n[a>>2]|0;c=f+-1|0;n[a>>2]=c;a=r+272|0;l=0;while(1){if((l|0)>=(f|0)){s=3;break}i=n[a>>2]|0;if((n[i+(l<<2)>>2]|0)==(A|0))break;l=l+1|0}if((s|0)==3)i=n[r+272>>2]|0;n[i+(l<<2)>>2]=n[i+(c<<2)>>2];n[(n[(n[t>>2]|0)+272>>2]|0)+(c<<2)>>2]=0;t=(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16|0;r=n[t>>2]|0;a=r+268|0;f=n[a>>2]|0;c=f+-1|0;n[a>>2]=c;a=r+264|0;l=0;while(1){if((l|0)>=(f|0)){s=8;break}i=n[a>>2]|0;if((n[i+(l<<2)>>2]|0)==(A|0))break;l=l+1|0}if((s|0)==8)i=n[r+264>>2]|0;n[i+(l<<2)>>2]=n[i+(c<<2)>>2];n[(n[(n[t>>2]|0)+264>>2]|0)+(c<<2)>>2]=0;s=(n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16|0;A=n[s>>2]|0;c=n[A+272>>2]|0;A=A+276|0;t=n[A>>2]|0;n[A>>2]=t+1;n[c+(t<<2)>>2]=e;s=n[s>>2]|0;n[(n[s+272>>2]|0)+(n[s+276>>2]<<2)>>2]=0;s=(n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16|0;t=n[s>>2]|0;c=n[t+264>>2]|0;t=t+268|0;A=n[t>>2]|0;n[t>>2]=A+1;n[c+(A<<2)>>2]=e;s=n[s>>2]|0;n[(n[s+264>>2]|0)+(n[s+268>>2]<<2)>>2]=0;return}function qg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;a=A+16|0;A=n[a>>2]|0;n[A+280>>2]=e;n[A+284>>2]=i;f=0;while(1){r=n[(n[A+272>>2]|0)+(f<<2)>>2]|0;if(!r){f=0;break}if((r|0)!=(e|0)){i=qg(n[((n[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,r,i)|0;A=n[a>>2]|0}f=f+1|0}while(1){r=n[(n[A+264>>2]|0)+(f<<2)>>2]|0;if(!r)break;if((r|0)!=(e|0)){i=qg(n[((n[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0,r,i)|0;A=n[a>>2]|0}f=f+1|0}n[A+288>>2]=i;return i+1|0}function $g(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,t=0,c=0;t=A+16|0;f=0;while(1){A=n[t>>2]|0;i=n[(n[A+180>>2]|0)+(f<<2)>>2]|0;if(!i){i=0;break}r=n[i+16>>2]|0;if((n[r+164>>2]|0)<0){A=n[i>>2]&3;e=n[(n[((A|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0;c=n[e+288>>2]|0;if((n[42302]|0)>(c|0)|(c|0)>(n[42303]|0)?(a=(n[e+232>>2]|0)-(n[(n[(n[((A|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[r+170>>1]|0)|0,(a|0)<(n[42301]|0)|(n[42300]|0)==0):0){n[42300]=i;n[42301]=a}}else{e=n[((n[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0;if((n[(n[e+16>>2]|0)+288>>2]|0)<(n[A+288>>2]|0))$g(e)}f=f+1|0}while(1){e=n[(n[A+264>>2]|0)+(i<<2)>>2]|0;if(!((e|0)!=0&(n[42301]|0)>0))break;e=n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((n[(n[e+16>>2]|0)+288>>2]|0)<(n[A+288>>2]|0)){$g(e);A=n[t>>2]|0}i=i+1|0}return}function AZ(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,t=0,c=0;t=A+16|0;f=0;while(1){A=n[t>>2]|0;i=n[(n[A+172>>2]|0)+(f<<2)>>2]|0;if(!i){i=0;break}r=n[i+16>>2]|0;if((n[r+164>>2]|0)<0){A=n[i>>2]&3;e=n[(n[((A|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0;c=n[e+288>>2]|0;if((n[42302]|0)>(c|0)|(c|0)>(n[42303]|0)?(a=(n[(n[(n[((A|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(n[e+232>>2]|0)-(l[r+170>>1]|0)|0,(a|0)<(n[42301]|0)|(n[42300]|0)==0):0){n[42300]=i;n[42301]=a}}else{e=n[((n[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0;if((n[(n[e+16>>2]|0)+288>>2]|0)<(n[A+288>>2]|0))AZ(e)}f=f+1|0}while(1){e=n[(n[A+272>>2]|0)+(i<<2)>>2]|0;if(!((e|0)!=0&(n[42301]|0)>0))break;e=n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((n[(n[e+16>>2]|0)+288>>2]|0)<(n[A+288>>2]|0)){AZ(e);A=n[t>>2]|0}i=i+1|0}return}function eZ(A){A=A|0;var e=0;e=Jg(16)|0;n[e>>2]=A;n[e+4>>2]=wZ(A,e)|0;n[e+12>>2]=e;return e|0}function iZ(A,e){A=A|0;e=e|0;var i=0,r=0;r=Jg(8)|0;n[r>>2]=A;n[r+4>>2]=e;i=0;while(1){if((i|0)>=(e|0))break;n[(n[A+(i<<2)>>2]|0)+8>>2]=i;i=i+1|0}i=(e|0)/2|0;while(1){if((i|0)<=-1)break;lZ(r,i);i=i+-1|0}return r|0}function rZ(A){A=A|0;return n[A+4>>2]|0}function fZ(A){A=A|0;var e=0,i=0,r=0,f=0;f=n[A>>2]|0;e=n[f>>2]|0;n[e+8>>2]=-1;i=A+4|0;r=(n[i>>2]|0)+-1|0;n[f>>2]=n[f+(r<<2)>>2];f=n[A>>2]|0;n[(n[f>>2]|0)+8>>2]=0;n[f+(r<<2)>>2]=e;n[i>>2]=r;lZ(A,0);return e|0}function nZ(A){A=A|0;return kZ(n[A>>2]|0,0,0)|0}function aZ(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,t=0;e=A+16|0;if((n[(n[e>>2]|0)+164>>2]|0)>-1)BA(87328,87309,463,87342);f=A+48|0;i=oZ(n[((n[A>>2]&3|0)==3?A:f)+40>>2]|0)|0;t=A+-48|0;r=oZ(n[((n[A>>2]&3|0)==2?A:t)+40>>2]|0)|0;a=n[A>>2]&3;e=(n[(n[(n[((a|0)==2?A:t)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(n[(n[(n[((a|0)==3?A:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(n[e>>2]|0)+170>>1]|0)|0;if((n[i+8>>2]|0)==-1)uZ(n[i>>2]|0,0,e);else uZ(n[r>>2]|0,0,0-e|0);vZ(A);return BZ(i,r)|0}function lZ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;l=n[A>>2]|0;a=n[A+4>>2]|0;while(1){A=e<<1;f=A+2|0;A=A|1;if(!((A|0)<(a|0)?(n[(n[l+(A<<2)>>2]|0)+4>>2]|0)<(n[(n[l+(e<<2)>>2]|0)+4>>2]|0):0))A=e;if((f|0)>=(a|0))break;i=l+(f<<2)|0;r=n[i>>2]|0;if((f|0)==(e|0)?1:(n[r+4>>2]|0)>=(n[(n[l+(A<<2)>>2]|0)+4>>2]|0))break;t=l+(e<<2)|0;A=n[t>>2]|0;n[t>>2]=r;n[i>>2]=A;n[(n[t>>2]|0)+8>>2]=e;n[A+8>>2]=f;e=f}return}function tZ(){qg(n[(n[(n[42297]|0)+16>>2]|0)+192>>2]|0,0,1)|0;cZ(n[(n[(n[42297]|0)+16>>2]|0)+192>>2]|0,0);return}function cZ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+16|0;i=0;while(1){A=n[f>>2]|0;r=n[(n[A+272>>2]|0)+(i<<2)>>2]|0;if(!r){r=0;break}if((r|0)!=(e|0))cZ(n[((n[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,r);i=i+1|0}while(1){i=n[(n[A+264>>2]|0)+(r<<2)>>2]|0;if(!i)break;if((i|0)!=(e|0)){cZ(n[((n[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0,i);A=n[f>>2]|0}r=r+1|0}if(e|0)sZ(e);return}function sZ(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0;e=n[A>>2]&3;i=n[((e|0)==3?A:A+48|0)+40>>2]|0;r=n[i+16>>2]|0;if((n[r+280>>2]|0)==(A|0))t=1;else{r=n[((e|0)==2?A:A+-48|0)+40>>2]|0;t=-1;i=r;r=n[r+16>>2]|0}a=n[r+180>>2]|0;e=0;f=0;while(1){l=n[a+(f<<2)>>2]|0;if(!l)break;e=(bZ(l,i,t)|0)+e|0;f=f+1|0}a=n[r+172>>2]|0;r=0;while(1){f=n[a+(r<<2)>>2]|0;if(!f)break;e=(bZ(f,i,t)|0)+e|0;r=r+1|0}n[(n[A+16>>2]|0)+160>>2]=e;return}function bZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0;l=n[A>>2]&3;t=(l|0)==3?A:A+48|0;r=n[t+40>>2]|0;if((r|0)==(e|0))r=n[((l|0)==2?A:A+-48|0)+40>>2]|0;a=n[e+16>>2]|0;f=n[(n[r+16>>2]|0)+288>>2]|0;if((n[a+284>>2]|0)<=(f|0)?(f|0)<=(n[a+288>>2]|0):0){f=n[A+16>>2]|0;if((n[f+164>>2]|0)>-1)r=n[f+160>>2]|0;else r=0;a=1;r=r-(n[f+156>>2]|0)|0}else{a=0;r=n[(n[A+16>>2]|0)+156>>2]|0}t=(n[((i|0)>0?(l|0)==2?A:A+-48|0:t)+40>>2]|0)==(e|0)?1:-1;return(((a?t:0-t|0)|0)<0?0-r|0:r)|0}function oZ(A){A=A|0;var e=0,i=0;A=n[(n[A+16>>2]|0)+280>>2]|0;while(1){e=A+12|0;i=n[e>>2]|0;if(!((i|0)!=(A|0)&(i|0)!=0))break;A=n[i+12>>2]|0;if(!A){A=i;continue}n[e>>2]=A}return A|0}function uZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0;l=A+16|0;r=n[l>>2]|0;a=r+232|0;n[a>>2]=(n[a>>2]|0)+i;a=0;while(1){f=n[(n[r+264>>2]|0)+(a<<2)>>2]|0;if(!f){a=0;break}f=n[((n[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0;if((f|0)!=(e|0)){uZ(f,A,i);r=n[l>>2]|0}a=a+1|0}while(1){f=n[(n[r+272>>2]|0)+(a<<2)>>2]|0;if(!f)break;f=n[((n[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((f|0)!=(e|0)){uZ(f,A,i);r=n[l>>2]|0}a=a+1|0}return}function vZ(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;l=v;v=v+32|0;e=(n[A+16>>2]|0)+164|0;if((n[e>>2]|0)>-1){Gy(1,87431,l)|0;OA(169020,1)}a=n[42298]|0;n[e>>2]=a;e=n[42299]|0;n[42298]=a+1;n[e+(a<<2)>>2]=A;e=n[A>>2]|0;a=A+48|0;i=n[((e&3|0)==3?A:a)+40>>2]|0;if(!(r[(n[i+16>>2]|0)+157>>0]|0)){f=n[42305]|0;e=n[42306]|0;n[42306]=e+1;n[f+(e<<2)>>2]=i;e=n[A>>2]|0}f=A+-48|0;i=n[((e&3|0)==2?A:f)+40>>2]|0;if(!(r[(n[i+16>>2]|0)+157>>0]|0)){t=n[42305]|0;e=n[42306]|0;n[42306]=e+1;n[t+(e<<2)>>2]=i;e=n[A>>2]|0}t=(n[((e&3|0)==3?A:a)+40>>2]|0)+16|0;e=n[t>>2]|0;r[e+157>>0]=1;i=n[e+272>>2]|0;e=e+276|0;a=n[e>>2]|0;n[e>>2]=a+1;n[i+(a<<2)>>2]=A;a=n[t>>2]|0;n[(n[a+272>>2]|0)+(n[a+276>>2]<<2)>>2]=0;t=n[t>>2]|0;if(!(n[(n[t+180>>2]|0)+((n[t+276>>2]|0)+-1<<2)>>2]|0)){Gy(1,87465,l+8|0)|0;OA(169020,1)}t=(n[((n[A>>2]&3|0)==2?A:f)+40>>2]|0)+16|0;i=n[t>>2]|0;r[i+157>>0]=1;f=n[i+264>>2]|0;i=i+268|0;a=n[i>>2]|0;n[i>>2]=a+1;n[f+(a<<2)>>2]=A;A=n[t>>2]|0;n[(n[A+264>>2]|0)+(n[A+268>>2]<<2)>>2]=0;t=n[t>>2]|0;if(!(n[(n[t+172>>2]|0)+((n[t+268>>2]|0)+-1<<2)>>2]|0)){Gy(1,87500,l+16|0)|0;OA(169020,1)}else{v=l;return}}function BZ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0;while(1){a=A+12|0;i=n[a>>2]|0;if((i|0)==0|(i|0)==(A|0))break;else A=i}while(1){f=e+12|0;i=n[f>>2]|0;if((i|0)==0|(i|0)==(e|0))break;else e=i}if((A|0)!=(e|0)){r=n[A+8>>2]|0;i=n[e+8>>2]|0;do{if((r|0)>-1)if((i|0)==-1)l=A;else c=10;else if((i|0)>-1)if((r|0)==-1){l=e;break}else{c=10;break}else BA(87354,87309,327,87401)}while(0);if((c|0)==10)l=(n[e+4>>2]|0)<(n[A+4>>2]|0)?A:e;n[f>>2]=l;n[a>>2]=l;n[l+4>>2]=(n[e+4>>2]|0)+(n[A+4>>2]|0);if((n[l+8>>2]|0)>-1)t=l;else BA(87412,87309,335,87401)}else t=A;return t|0}function kZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,t=0,c=0,s=0,b=0,o=0;b=oZ(A)|0;if(i){s=n[i>>2]&3;if(((n[(n[(n[((s|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(n[(n[(n[((s|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(l[(n[i+16>>2]|0)+170>>1]|0|0))r=3}else{i=0;r=3}A:do{if((r|0)==3){s=A+16|0;c=0;while(1){r=n[s>>2]|0;t=n[(n[r+180>>2]|0)+(c<<2)>>2]|0;if(!t){c=0;break}r=t+16|0;f=t+-48|0;a=n[((n[t>>2]&3|0)==2?t:f)+40>>2]|0;do{if((n[(n[r>>2]|0)+164>>2]|0)>-1){if((a|0)!=(e|0))i=kZ(a,A,i)|0}else if((oZ(a)|0)!=(b|0)){if(i|0?(o=n[t>>2]&3,a=n[i>>2]&3,((n[(n[(n[((o|0)==2?t:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(n[(n[(n[((o|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(n[r>>2]|0)+170>>1]|0)|0)>=((n[(n[(n[((a|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(n[(n[(n[((a|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(n[i+16>>2]|0)+170>>1]|0)|0)):0)break;i=t}}while(0);c=c+1|0}while(1){r=n[(n[r+172>>2]|0)+(c<<2)>>2]|0;if(!r)break A;f=r+16|0;a=r+48|0;t=n[((n[r>>2]&3|0)==3?r:a)+40>>2]|0;do{if((n[(n[f>>2]|0)+164>>2]|0)>-1){if((t|0)!=(e|0))i=kZ(t,A,i)|0}else if((oZ(t)|0)!=(b|0)){if(i|0?(t=n[r>>2]&3,o=n[i>>2]&3,((n[(n[(n[((t|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(n[(n[(n[((t|0)==3?r:a)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(n[f>>2]|0)+170>>1]|0)|0)>=((n[(n[(n[((o|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(n[(n[(n[((o|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(n[i+16>>2]|0)+170>>1]|0)|0)):0)break;i=r}}while(0);c=c+1|0;r=n[s>>2]|0}}}while(0);return i|0}function wZ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0;b=A+16|0;i=n[b>>2]|0;n[i+280>>2]=e;A=1;a=0;while(1){f=n[(n[i+172>>2]|0)+(a<<2)>>2]|0;if(!f){a=0;break}r=n[f+16>>2]|0;if(((n[r+164>>2]|0)<=-1?(t=n[f>>2]&3,c=f+48|0,s=n[(n[((t|0)==3?f:c)+40>>2]|0)+16>>2]|0,(n[s+280>>2]|0)==0):0)?((n[(n[(n[((t|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(n[s+232>>2]|0)|0)==(l[r+170>>1]|0|0):0){vZ(f);A=(wZ(n[((n[f>>2]&3|0)==3?f:c)+40>>2]|0,e)|0)+A|0;i=n[b>>2]|0}a=a+1|0}while(1){r=n[(n[i+180>>2]|0)+(a<<2)>>2]|0;if(!r)break;f=n[r+16>>2]|0;if(((n[f+164>>2]|0)<=-1?(o=n[r>>2]&3,u=r+-48|0,v=n[(n[((o|0)==2?r:u)+40>>2]|0)+16>>2]|0,(n[v+280>>2]|0)==0):0)?((n[v+232>>2]|0)-(n[(n[(n[((o|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(l[f+170>>1]|0|0):0){vZ(r);A=(wZ(n[((n[r>>2]&3|0)==2?r:u)+40>>2]|0,e)|0)+A|0;i=n[b>>2]|0}a=a+1|0}return A|0}function dZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=fY(A,87564)|0;if(!r)r=30;else r=$R(r)|0;return Rg(A,e,i,r)|0}function hZ(A){A=+A;return+(0==0?A:+s[20895]-A)}function gZ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0.0,h=0.0,g=0;w=v;v=v+16|0;k=w;n[42307]=n[(n[(n[e+64>>2]|0)+8>>2]|0)+4>>2];ZZ(e);l=n[e+16>>2]|0;h=+s[l+32>>3];d=+s[l+40>>3];GZ(i,87575,+s[A+352>>3]);GZ(i,87582,h*.013888888888888888);GZ(i,87582,d*.013888888888888888);mZ(i);l=CV(e)|0;while(1){if(!l)break;a=l+16|0;if(!(r[(n[a>>2]|0)+118>>0]|0)){IZ(i,87584,BJ(qY(l)|0)|0);B=(n[a>>2]|0)+16|0;n[k>>2]=n[B>>2];n[k+4>>2]=n[B+4>>2];n[k+8>>2]=n[B+8>>2];n[k+12>>2]=n[B+12>>2];CZ(i,k);if(!(r[(n[(n[a>>2]|0)+104>>2]|0)+82>>0]|0)){A=HV(l)|0;A=MZ(A,n[n[(n[a>>2]|0)+104>>2]>>2]|0)|0}else A=BJ(nY(l,n[42197]|0)|0)|0;GZ(i,87582,+s[(n[a>>2]|0)+32>>3]);GZ(i,87582,+s[(n[a>>2]|0)+40>>3]);IZ(i,87582,A);IZ(i,87582,TI(l,n[42200]|0,95833)|0);IZ(i,87582,n[n[(n[a>>2]|0)+8>>2]>>2]|0);IZ(i,87582,TI(l,n[42191]|0,122106)|0);A=TI(l,n[42192]|0,174177)|0;if(!(r[A>>0]|0))A=TI(l,n[42191]|0,119592)|0;IZ(i,87582,A);mZ(i)}l=MV(e,l)|0}u=f<<24>>24==0;o=CV(e)|0;while(1){if(!o)break;b=bY(e,o)|0;while(1){if(!b)break;if(u){f=174177;t=174177}else{t=fY(b,96242)|0;f=fY(b,96251)|0;f=f|0?f:174177;t=t|0?t:174177}B=b+16|0;A=n[B>>2]|0;c=n[A+8>>2]|0;A:do{if(c){l=n[c+4>>2]|0;A=0;a=0;while(1){if((A|0)>=(l|0))break;g=(n[(n[c>>2]|0)+(A*48|0)+4>>2]|0)+a|0;A=A+1|0;a=g}IZ(i,0,96237);QZ(i,n[((n[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0,t);QZ(i,n[((n[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0,f);EZ(i,a);f=0;while(1){A=n[B>>2]|0;a=n[A+8>>2]|0;if((f|0)>=(n[a+4>>2]|0))break A;l=n[a>>2]|0;a=n[l+(f*48|0)>>2]|0;l=n[l+(f*48|0)+4>>2]|0;A=0;while(1){if((A|0)>=(l|0))break;g=a+(A<<4)|0;n[k>>2]=n[g>>2];n[k+4>>2]=n[g+4>>2];n[k+8>>2]=n[g+8>>2];n[k+12>>2]=n[g+12>>2];CZ(i,k);A=A+1|0}f=f+1|0}}}while(0);if(n[A+96>>2]|0){g=HV(n[((n[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;IZ(i,87582,MZ(g,n[n[(n[B>>2]|0)+96>>2]>>2]|0)|0);g=(n[(n[B>>2]|0)+96>>2]|0)+56|0;n[k>>2]=n[g>>2];n[k+4>>2]=n[g+4>>2];n[k+8>>2]=n[g+8>>2];n[k+12>>2]=n[g+12>>2];CZ(i,k)}IZ(i,87582,TI(b,n[42228]|0,95833)|0);IZ(i,87582,TI(b,n[42219]|0,122106)|0);mZ(i);b=uY(e,b)|0}o=MV(e,o)|0}yZ(87590,i);v=w;return}function ZZ(A){A=A|0;var e=0.0;if(0){A=n[A+16>>2]|0;e=+s[A+24>>3]+ +s[A+40>>3];s[20895]=e;s[20896]=e*.013888888888888888}return}function GZ(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0;n=v;v=v+1040|0;f=n;r=n+8|0;if(e|0)yZ(e,A);s[f>>3]=i;_p(r,87596,f)|0;yZ(r,A);v=n;return}function mZ(A){A=A|0;r[174073]=10;BF[n[42307]&63](A,174073)|0;return}function IZ(A,e,i){A=A|0;e=e|0;i=i|0;if(e|0)yZ(e,A);yZ(i,A);return}function CZ(A,e){A=A|0;e=e|0;var i=0.0;GZ(A,87582,+s[e>>3]*.013888888888888888);if(!0)i=+s[e+8>>3];else i=+s[20895]-+s[e+8>>3];GZ(A,87582,i*.013888888888888888);return}function MZ(A,e){A=A|0;e=e|0;var i=0;i=ZW(A,e)|0;e=BJ(i)|0;mW(A,i)|0;return e|0}function QZ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(!(r[(n[e+16>>2]|0)+118>>0]|0))e=BJ(qY(e)|0)|0;else{f=HV(e)|0;e=MZ(f,(Vz(qY(e)|0,58)|0)+1|0)|0}IZ(A,87582,e);if(i|0?r[i>>0]|0:0)IZ(A,92961,BJ(i)|0);return}function EZ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=v;v=v+1040|0;f=i;r=i+8|0;yZ(87582,A);n[f>>2]=e;_p(r,122187,f)|0;yZ(r,A);v=i;return}function yZ(A,e){A=A|0;e=e|0;BF[n[42307]&63](e,A)|0;return}function YZ(A,e,i){A=A|0;e=e|0;i=i|0;var a=0,t=0,c=0,b=0.0,o=0,u=0.0,B=0,k=0.0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0,X=0,T=0,x=0,U=0,j=0,S=0,O=0,K=0;K=v;v=v+2288|0;S=K+208|0;j=K+192|0;U=K+176|0;x=K+160|0;T=K+144|0;X=K+128|0;L=K+112|0;F=K+96|0;H=K+80|0;P=K+64|0;R=K+56|0;p=K+48|0;O=K+32|0;D=K+24|0;z=K;Y=K+1264|0;V=K+224|0;W=A+16|0;E=(l[(n[W>>2]|0)+178>>1]|0)>2;Xh(1);ZZ(A);My(V,1024,K+240|0);VC(A,1,87601,174177)|0;VC(A,1,87605,174177)|0;n[42189]=VC(A,1,95987,174177)|0;n[42188]=VC(A,1,95993,174177)|0;VC(A,2,87601,174177)|0;a=r[(n[W>>2]|0)+113>>0]|0;if(a&16){VC(A,1,87611,174177)|0;a=r[(n[W>>2]|0)+113>>0]|0}if(a&1){VC(A,2,87615,174177)|0;a=r[(n[W>>2]|0)+113>>0]|0}if(a&32){VC(A,2,87611,174177)|0;a=r[(n[W>>2]|0)+113>>0]|0}if(a&2){VC(A,2,87618,174177)|0;a=r[(n[W>>2]|0)+113>>0]|0}if(a&4){VC(A,2,87626,174177)|0;a=r[(n[W>>2]|0)+113>>0]|0}if(!(a&8)){Z=0;G=0;m=0}else{m=VC(A,0,87615,174177)|0;G=VC(A,0,87634,174177)|0;Z=VC(A,0,87641,174177)|0}C=VC(A,0,87649,174177)|0;M=V+4|0;Q=V+8|0;g=0;a=0;I=CV(A)|0;while(1){if(!I)break;h=I+16|0;c=n[h>>2]|0;u=+s[c+16>>3];t=0==0;if(E){if(t)b=+s[c+24>>3];else b=+s[20895]-+s[c+24>>3];k=+s[(n[c+132>>2]|0)+16>>3]*72.0;s[z>>3]=u;s[z+8>>3]=b;s[z+16>>3]=k;_p(Y,87652,z)|0;yy(V,Y)|0;t=3;while(1){if((t|0)>=(l[(n[W>>2]|0)+178>>1]|0))break;s[D>>3]=+s[(n[(n[h>>2]|0)+132>>2]|0)+(t<<3)>>3]*72.0;_p(Y,87667,D)|0;yy(V,Y)|0;t=t+1|0}t=n[M>>2]|0;if(t>>>0>=(n[Q>>2]|0)>>>0){Qy(V,1)|0;t=n[M>>2]|0}r[t>>0]=0;d=n[V>>2]|0;n[M>>2]=d;aY(I,87601,d)|0;d=I}else{if(t)b=+s[c+24>>3];else b=+s[20895]-+s[c+24>>3];s[O>>3]=u;s[O+8>>3]=b;_p(Y,87673,O)|0;aY(I,87601,Y)|0;d=I}s[p>>3]=+s[(n[h>>2]|0)+80>>3]*.013888888888888888;_p(Y,87596,p)|0;qy(d,n[42188]|0,Y)|0;t=n[h>>2]|0;s[R>>3]=(+s[t+96>>3]+ +s[t+88>>3])*.013888888888888888;_p(Y,87596,R)|0;qy(d,n[42189]|0,Y)|0;t=n[h>>2]|0;c=n[t+108>>2]|0;if((c|0)!=0?(r[c+81>>0]|0)!=0:0){k=+s[c+64>>3];k=0==0?k:+s[20895]-k;s[P>>3]=+s[c+56>>3];s[P+8>>3]=k;_p(Y,87673,P)|0;aY(d,87611,Y)|0;t=n[h>>2]|0}if(az(n[n[t+8>>2]>>2]|0,91208)|0){if(n[42213]|0?(qG(I)|0)<<24>>24:0){c=n[(n[h>>2]|0)+12>>2]|0;w=c+8|0;t=n[w>>2]|0;if((t|0)<3){t=fY(d,87683)|0;if(!t)t=8;else t=$R(t)|0;t=(t|0)<3?8:t}B=c+44|0;k=1.0/+(t|0);o=0;while(1){if((o|0)>=(t|0))break;if((o|0)>0){c=n[M>>2]|0;if(c>>>0>=(n[Q>>2]|0)>>>0){Qy(V,1)|0;c=n[M>>2]|0}n[M>>2]=c+1;r[c>>0]=32}if((n[w>>2]|0)>2){c=n[B>>2]|0;if(!0)b=+s[c+(o<<4)+8>>3]*.013888888888888888;else b=+s[20896]-+s[c+(o<<4)+8>>3]*.013888888888888888;s[H>>3]=+s[c+(o<<4)>>3]*.013888888888888888;s[H+8>>3]=b;_p(Y,87696,H)|0}else{c=n[h>>2]|0;b=k*+(o|0)*6.283185307179586;u=+s[c+32>>3]*.5*+J(+b);if(!0)b=+s[c+40>>3]*.5*+N(+b);else b=+s[20896]-+s[c+40>>3]*.5*+N(+b);s[F>>3]=u;s[F+8>>3]=b;_p(Y,87696,F)|0}yy(V,Y)|0;o=o+1|0}c=n[42213]|0;t=n[M>>2]|0;if(t>>>0>=(n[Q>>2]|0)>>>0){Qy(V,1)|0;t=n[M>>2]|0}r[t>>0]=0;h=n[V>>2]|0;n[M>>2]=h;qy(d,c,h)|0}}else{VZ(I,n[t+12>>2]|0,V);Vy(V)|0;t=n[M>>2]|0;if(t>>>0>=(n[Q>>2]|0)>>>0){Qy(V,1)|0;t=n[M>>2]|0}r[t>>0]=0;h=n[V>>2]|0;n[M>>2]=h;aY(d,87605,h)|0}A:do{if((n[42181]|0)>0){h=bY(A,I)|0;t=g;while(1){if(!h)break A;d=h+16|0;c=n[d>>2]|0;do{if((r[c+112>>0]|0)!=6?(y=n[c+8>>2]|0,(y|0)!=0):0){w=0;c=y;while(1){if((w|0)>=(n[c+4>>2]|0))break;if((w|0)>0){c=n[M>>2]|0;if(c>>>0>=(n[Q>>2]|0)>>>0){Qy(V,1)|0;c=n[M>>2]|0}n[M>>2]=c+1;r[c>>0]=59;c=n[(n[d>>2]|0)+8>>2]|0}c=n[c>>2]|0;if(n[c+(w*48|0)+8>>2]|0){if(!0)b=+s[c+(w*48|0)+24>>3];else b=+s[20895]-+s[c+(w*48|0)+24>>3];s[L>>3]=+s[c+(w*48|0)+16>>3];s[L+8>>3]=b;_p(Y,87706,L)|0;yy(V,Y)|0;a=1;c=n[n[(n[d>>2]|0)+8>>2]>>2]|0}if(n[c+(w*48|0)+12>>2]|0){if(!0)b=+s[c+(w*48|0)+40>>3];else b=+s[20895]-+s[c+(w*48|0)+40>>3];s[X>>3]=+s[c+(w*48|0)+32>>3];s[X+8>>3]=b;_p(Y,87719,X)|0;yy(V,Y)|0;t=1}B=0;while(1){c=n[(n[d>>2]|0)+8>>2]|0;o=n[c>>2]|0;if((B|0)>=(n[o+(w*48|0)+4>>2]|0))break;if((B|0)>0){c=n[M>>2]|0;if(c>>>0>=(n[Q>>2]|0)>>>0){Qy(V,1)|0;c=n[M>>2]|0}n[M>>2]=c+1;r[c>>0]=32;c=n[n[(n[d>>2]|0)+8>>2]>>2]|0}else c=o;g=n[c+(w*48|0)>>2]|0;k=+s[g+(B<<4)+8>>3];k=0==0?k:+s[20895]-k;s[T>>3]=+s[g+(B<<4)>>3];s[T+8>>3]=k;_p(Y,87673,T)|0;yy(V,Y)|0;B=B+1|0}w=w+1|0}c=n[M>>2]|0;if(c>>>0>=(n[Q>>2]|0)>>>0){Qy(V,1)|0;c=n[M>>2]|0}r[c>>0]=0;c=n[V>>2]|0;n[M>>2]=c;aY(h,87601,c)|0;c=n[d>>2]|0;o=n[c+96>>2]|0;if(o){k=+s[o+64>>3];k=0==0?k:+s[20895]-k;s[x>>3]=+s[o+56>>3];s[x+8>>3]=k;_p(Y,87673,x)|0;aY(h,87615,Y)|0;c=n[d>>2]|0}o=n[c+108>>2]|0;do{if(o){if(!(r[o+81>>0]|0))break;k=+s[o+64>>3];k=0==0?k:+s[20895]-k;s[U>>3]=+s[o+56>>3];s[U+8>>3]=k;_p(Y,87673,U)|0;aY(h,87611,Y)|0;c=n[d>>2]|0}}while(0);o=n[c+100>>2]|0;if(o){k=+s[o+64>>3];k=0==0?k:+s[20895]-k;s[j>>3]=+s[o+56>>3];s[j+8>>3]=k;_p(Y,87673,j)|0;aY(h,87618,Y)|0;c=n[d>>2]|0}c=n[c+104>>2]|0;if(!c)break;k=+s[c+64>>3];k=0==0?k:+s[20895]-k;s[S>>3]=+s[c+56>>3];s[S+8>>3]=k;_p(Y,87673,S)|0;aY(h,87626,Y)|0}}while(0);h=uY(A,h)|0}}else t=g}while(0);g=t;I=MV(A,I)|0}WZ(A,C,m,G,Z);Yy(V);if(f[(n[W>>2]|0)+136>>1]&1)CC(A);n[e>>2]=a;n[i>>2]=g;Xh(0);v=K;return}function VZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,a=0.0,l=0.0,t=0,c=0,b=0,o=0,u=0.0;o=v;v=v+1056|0;c=o;t=o+32|0;b=e+48|0;if(!(n[b>>2]|0)){r=n[A+16>>2]|0;l=+s[r+16>>3];if(!0){a=+s[r+24>>3];f=a+ +s[e+24>>3];a=a+ +s[e+40>>3]}else{a=+s[r+24>>3];f=+s[20895]-+s[e+24>>3]-a;a=+s[20895]-+s[e+40>>3]-a}u=l+ +s[e+32>>3];s[c>>3]=l+ +s[e+16>>3];s[c+8>>3]=f;s[c+16>>3]=u;s[c+24>>3]=a;_p(t,87757,c)|0;yy(i,t)|0}e=e+56|0;r=0;while(1){if((r|0)>=(n[b>>2]|0))break;VZ(A,n[(n[e>>2]|0)+(r<<2)>>2]|0,i);r=r+1|0}v=o;return}function WZ(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0,t=0,c=0.0,b=0.0,o=0,u=0,B=0,k=0,w=0,d=0,h=0.0;d=v;v=v+1088|0;u=d+56|0;k=d+48|0;B=d+32|0;t=d;o=d+64|0;w=A+16|0;l=n[w>>2]|0;if(!0){c=+s[l+24>>3];b=+s[l+40>>3]}else{b=+s[20895];c=b-+s[l+24>>3];b=b-+s[l+40>>3]}h=+s[l+32>>3];s[t>>3]=+s[l+16>>3];s[t+8>>3]=c;s[t+16>>3]=h;s[t+24>>3]=b;_p(o,87732,t)|0;qy(A,e,o)|0;l=n[(n[w>>2]|0)+12>>2]|0;if((l|0)!=0?(r[n[l>>2]>>0]|0)!=0:0){h=+s[l+64>>3];h=0==0?h:+s[20895]-h;s[B>>3]=+s[l+56>>3];s[B+8>>3]=h;_p(o,87673,B)|0;qy(A,i,o)|0;l=n[(n[w>>2]|0)+12>>2]|0;h=+s[l+32>>3];s[k>>3]=+s[l+24>>3]*.013888888888888888;_p(o,87752,k)|0;qy(A,f,o)|0;s[u>>3]=h*.013888888888888888;_p(o,87752,u)|0;qy(A,a,o)|0;l=1}else l=1;while(1){t=n[w>>2]|0;if((l|0)>(n[t+180>>2]|0))break;WZ(n[(n[t+184>>2]|0)+(l<<2)>>2]|0,e,i,f,a);l=l+1|0}v=d;return}function JZ(A){A=A|0;var e=0;e=v;v=v+16|0;YZ(A,e,e+4|0);v=e;return}function NZ(){return oy(19796,n[4345]|0)|0}function zZ(A,e,i){A=A|0;e=e|0;i=i|0;zN(e);return}function pZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=n[e>>2]|0;r=n[i>>2]|0;if((A|0)<=(r|0))if((A|0)<(r|0))A=-1;else{e=n[e+4>>2]|0;i=n[i+4>>2]|0;return((e|0)>(i|0)?1:((e|0)<(i|0))<<31>>31)|0}else A=1;return A|0}function RZ(A){A=A|0;ay(A)|0;return}function PZ(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;n[r>>2]=n[e>>2];n[r+4>>2]=n[e+4>>2];e=HZ(r)|0;if((kF[n[A>>2]&31](A,e,1)|0)!=(e|0))zN(e);v=i;return}function HZ(A){A=A|0;var e=0,i=0,r=0;e=Jg(16)|0;r=A;i=n[r+4>>2]|0;A=e+8|0;n[A>>2]=n[r>>2];n[A+4>>2]=i;return e|0}function FZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;r=v;v=v+16|0;f=r+8|0;a=r;n[a>>2]=e;n[a+4>>2]=i;n[f>>2]=n[a>>2];n[f+4>>2]=n[a+4>>2];e=HZ(f)|0;if((kF[n[A>>2]&31](A,e,1)|0)!=(e|0))zN(e);v=r;return}function LZ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;i=v;v=v+16|0;r=i;a=e;f=n[a+4>>2]|0;e=r+8|0;n[e>>2]=n[a>>2];n[e+4>>2]=f;e=(kF[n[A>>2]&31](A,r,4)|0)!=0&1;v=i;return e|0}function DZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=v;v=v+16|0;f=r;n[f+8>>2]=e;n[f+12>>2]=i;i=(kF[n[A>>2]&31](A,f,4)|0)!=0&1;v=r;return i|0}function XZ(A){A=A|0;return vy(A)|0}function TZ(A){A=A|0;var e=0,i=0,r=0,f=0,a=0;i=Jg((vy(A)|0)<<3)|0;e=i;A=sy(A)|0;while(1){if(!A)break;a=A+8|0;f=n[a+4>>2]|0;r=e;n[r>>2]=n[a>>2];n[r+4>>2]=f;e=e+8|0;A=n[A>>2]|0}return i|0}function xZ(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,a=0.0,l=0.0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0;h=v;v=v+160|0;k=h+144|0;i=h+48|0;t=h+128|0;c=h+112|0;b=h+96|0;o=h+80|0;u=h+32|0;B=h+16|0;w=h;d=A+16|0;A=n[d>>2]|0;r=+s[A+16>>3];f=+s[A+24>>3];a=+s[A+32>>3];l=+s[A+40>>3];if((e+-1|0)>>>0<2){UZ(t,r,l);n[k>>2]=n[t>>2];n[k+4>>2]=n[t+4>>2];n[k+8>>2]=n[t+8>>2];n[k+12>>2]=n[t+12>>2];jZ(i,k);B=i+16|0;UZ(c,a,f);n[k>>2]=n[c>>2];n[k+4>>2]=n[c+4>>2];n[k+8>>2]=n[c+8>>2];n[k+12>>2]=n[c+12>>2];jZ(b,k);n[B>>2]=n[b>>2];n[B+4>>2]=n[b+4>>2];n[B+8>>2]=n[b+8>>2];n[B+12>>2]=n[b+12>>2]}else{UZ(o,r,f);n[k>>2]=n[o>>2];n[k+4>>2]=n[o+4>>2];n[k+8>>2]=n[o+8>>2];n[k+12>>2]=n[o+12>>2];jZ(i,k);o=i+16|0;UZ(u,a,l);n[k>>2]=n[u>>2];n[k+4>>2]=n[u+4>>2];n[k+8>>2]=n[u+8>>2];n[k+12>>2]=n[u+12>>2];jZ(B,k);n[o>>2]=n[B>>2];n[o+4>>2]=n[B+4>>2];n[o+8>>2]=n[B+8>>2];n[o+12>>2]=n[B+12>>2]}A=(n[d>>2]|0)+16|0;n[A>>2]=n[i>>2];n[A+4>>2]=n[i+4>>2];n[A+8>>2]=n[i+8>>2];n[A+12>>2]=n[i+12>>2];n[A+16>>2]=n[i+16>>2];n[A+20>>2]=n[i+20>>2];n[A+24>>2]=n[i+24>>2];n[A+28>>2]=n[i+28>>2];A=n[(n[d>>2]|0)+12>>2]|0;if(!A)A=1;else{A=A+56|0;n[k>>2]=n[A>>2];n[k+4>>2]=n[A+4>>2];n[k+8>>2]=n[A+8>>2];n[k+12>>2]=n[A+12>>2];jZ(w,k);n[A>>2]=n[w>>2];n[A+4>>2]=n[w+4>>2];n[A+8>>2]=n[w+8>>2];n[A+12>>2]=n[w+12>>2];A=1}while(1){i=n[d>>2]|0;if((A|0)>(n[i+180>>2]|0))break;xZ(n[(n[i+184>>2]|0)+(A<<2)>>2]|0,e);A=A+1|0}v=h;return}function UZ(A,e,i){A=A|0;e=+e;i=+i;s[A>>3]=e;s[A+8>>3]=i;return}function jZ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;i=v;v=v+32|0;a=i+16|0;r=i;f=(n[42308]|0)*90|0;n[a>>2]=n[e>>2];n[a+4>>2]=n[e+4>>2];n[a+8>>2]=n[e+8>>2];n[a+12>>2]=n[e+12>>2];og(r,a,f);n[e>>2]=n[r>>2];n[e+4>>2]=n[r+4>>2];n[e+8>>2]=n[r+8>>2];n[e+12>>2]=n[r+12>>2];s[e>>3]=+s[e>>3]-+s[20897];r=e+8|0;s[r>>3]=+s[r>>3]-+s[20898];n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];v=i;return}function SZ(A,e){A=A|0;e=e|0;var i=0,f=0.0,a=0,l=0,t=0.0,c=0.0,b=0,o=0.0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0;G=v;v=v+1168|0;d=G+144|0;Z=G+96|0;g=G+64|0;h=G+48|0;u=G+32|0;B=G+16|0;k=G;n[h>>2]=0;n[h+4>>2]=0;n[h+8>>2]=0;n[h+12>>2]=0;w=A+16|0;b=n[(n[w>>2]|0)+116>>2]|0;n[42308]=b&3;b=b&1;r[174075]=b;if(!(b<<24>>24))KZ(A);else OZ(A);_Z(A);b=n[w>>2]|0;i=n[b+12>>2]|0;do{if(i|0?(r[i+81>>0]|0)==0:0){a=i+24|0;n[h>>2]=n[a>>2];n[h+4>>2]=n[a+4>>2];n[h+8>>2]=n[a+8>>2];n[h+12>>2]=n[a+12>>2];o=+s[h>>3]+16.0;s[h>>3]=o;a=h+8|0;f=+s[a>>3]+8.0;s[a>>3]=f;a=(r[b+275>>0]&1)!=0;if(r[174075]|0){if(a){l=b+32|0;s[l>>3]=+s[l>>3]+f}else{l=b+16|0;s[l>>3]=+s[l>>3]-f}a=b+40|0;f=+s[a>>3];l=b+24|0;t=+s[l>>3];c=f-t;if(!(o>c))break;o=(o-c)*.5;s[l>>3]=t-o;s[a>>3]=f+o;break}l=(n[42308]|0)==0;do{if(a)if(l){l=b+40|0;s[l>>3]=+s[l>>3]+f;break}else{l=b+24|0;s[l>>3]=+s[l>>3]-f;break}else if(l){l=b+24|0;s[l>>3]=+s[l>>3]-f;break}else{l=b+40|0;s[l>>3]=+s[l>>3]+f;break}}while(0);a=b+32|0;f=+s[a>>3];l=b+16|0;t=+s[l>>3];c=f-t;if(o>c){o=(o-c)*.5;s[l>>3]=t-o;s[a>>3]=f+o}}}while(0);if(e){switch(n[42308]|0){case 0:{k=b+16|0;n[41794]=n[k>>2];n[41795]=n[k+4>>2];n[41796]=n[k+8>>2];n[41797]=n[k+12>>2];break}case 1:{UZ(u,-+s[b+40>>3],+s[b+16>>3]);n[41794]=n[u>>2];n[41795]=n[u+4>>2];n[41796]=n[u+8>>2];n[41797]=n[u+12>>2];break}case 2:{UZ(B,+s[b+16>>3],-+s[b+40>>3]);n[41794]=n[B>>2];n[41795]=n[B+4>>2];n[41796]=n[B+8>>2];n[41797]=n[B+12>>2];break}case 3:{UZ(k,+s[b+24>>3],+s[b+16>>3]);n[41794]=n[k>>2];n[41795]=n[k+4>>2];n[41796]=n[k+8>>2];n[41797]=n[k+12>>2];break}default:{}}qZ(A);i=n[(n[w>>2]|0)+12>>2]|0}if(i|0?(r[i+81>>0]|0)==0:0){n[d>>2]=n[h>>2];n[d+4>>2]=n[h+4>>2];n[d+8>>2]=n[h+8>>2];n[d+12>>2]=n[h+12>>2];$Z(A,d)}if(!0){v=G;return}if(!(r[174075]|0)){o=+s[20898];c=+s[20897];s[Z>>3]=o;s[Z+8>>3]=c;s[Z+16>>3]=o;s[Z+24>>3]=c;s[Z+32>>3]=-c;s[Z+40>>3]=-o;_p(d,87993,Z)|0}else{c=+s[20897];o=+s[20898];s[g>>3]=c;s[g+8>>3]=o;s[g+16>>3]=c;s[g+24>>3]=o;_p(d,87778,g)|0}vR(d)|0;SA()}function OZ(A){A=A|0;var e=0,i=0.0,f=0.0,a=0,l=0,t=0;t=A+16|0;if(((FV(A)|0)!=(A|0)?(a=n[t>>2]|0,l=n[a+12>>2]|0,(l|0)!=0):0)?(r[l+81>>0]|0)==0:0){e=r[a+275>>0]|0;if(!(e&1)){f=+s[a+16>>3]+ +s[a+96>>3]*.5;A=a+104|0}else{f=+s[a+32>>3]-+s[a+64>>3]*.5;A=a+72|0}i=+s[A>>3];A=e<<24>>24;do{if(!(A&4))if(!(A&2)){i=(+s[a+40>>3]+ +s[a+24>>3])*.5;break}else{i=+s[a+40>>3]-i*.5;break}else i=+s[a+24>>3]+i*.5}while(0);s[l+56>>3]=f;s[l+64>>3]=i;r[(n[(n[t>>2]|0)+12>>2]|0)+81>>0]=1;A=1}else A=1;while(1){e=n[t>>2]|0;if((A|0)>(n[e+180>>2]|0))break;OZ(n[(n[e+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function KZ(A){A=A|0;var e=0,i=0.0,f=0.0,a=0.0,l=0,t=0,c=0;c=A+16|0;if(((FV(A)|0)!=(A|0)?(l=n[c>>2]|0,t=n[l+12>>2]|0,(t|0)!=0):0)?(r[t+81>>0]|0)==0:0){e=r[l+275>>0]|0;if(!(e&1)){a=+s[l+24>>3]+ +s[l+56>>3]*.5;A=l+48|0}else{a=+s[l+40>>3]-+s[l+88>>3]*.5;A=l+80|0}f=+s[A>>3];A=e<<24>>24;do{if(!(A&4)){i=+s[l+16>>3];if(!(A&2)){i=(+s[l+32>>3]+i)*.5;break}else{i=i+f*.5;break}}else i=+s[l+32>>3]-f*.5}while(0);s[t+56>>3]=i;s[t+64>>3]=a;r[(n[(n[c>>2]|0)+12>>2]|0)+81>>0]=1;A=1}else A=1;while(1){e=n[c>>2]|0;if((A|0)>(n[e+180>>2]|0))break;KZ(n[(n[e+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function _Z(A){A=A|0;var e=0,i=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0,X=0,T=0;T=v;v=v+544|0;R=T+504|0;X=T+416|0;D=T+376|0;p=T+352|0;z=T+312|0;N=T+288|0;J=T+248|0;P=T+200|0;Q=T+152|0;F=T+96|0;B=T+488|0;E=T+456|0;y=T+424|0;Y=T+384|0;V=T+360|0;W=T+320|0;G=T+296|0;m=T+256|0;I=T+232|0;C=T+168|0;M=T+136|0;e=T+56|0;H=T+16|0;L=T;u=A+16|0;g=n[u>>2]|0;i=f[g+136>>1]&14;g=a[g+113>>0]|0;if(!((g&54|0)==0?(g&1|0)==0|(n[42182]|0)!=0:0)){g=i<<16>>16==0;o=CV(A)|0;l=0;c=0;t=0;while(1){if(!o)break;i=n[(n[o+16>>2]|0)+108>>2]|0;do{if(i)if(!(r[i+81>>0]|0)){t=t+1|0;break}else{l=l+1|0;break}}while(0);b=bY(A,o)|0;i=c;while(1){if(!b)break;s=n[b+16>>2]|0;c=n[s+108>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((n[s+8>>2]|0)!=0&1)|0}}while(0);c=n[s+100>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((n[s+8>>2]|0)!=0&1)|0}}while(0);c=n[s+104>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((n[s+8>>2]|0)!=0&1)|0}}while(0);c=n[s+96>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((n[s+8>>2]|0)!=0&1)|0}}while(0);b=uY(A,b)|0}o=MV(A,o)|0;c=i}if(!(r[(n[u>>2]|0)+113>>0]&8))u=0;else u=eG(A)|0;h=c+t|0;if(h|0){k=l+c+u+(zY(A)|0)|0;w=Jg(k*40|0)|0;d=Jg(h*40|0)|0;UZ(P,2147483647.0,2147483647.0);i=P+16|0;UZ(B,-2147483647.0,-2147483647.0);n[i>>2]=n[B>>2];n[i+4>>2]=n[B+4>>2];n[i+8>>2]=n[B+8>>2];n[i+12>>2]=n[B+12>>2];i=d;t=w;o=CV(A)|0;while(1){if(!o)break;n[R>>2]=n[P>>2];n[R+4>>2]=n[P+4>>2];n[R+8>>2]=n[P+8>>2];n[R+12>>2]=n[P+12>>2];n[R+16>>2]=n[P+16>>2];n[R+20>>2]=n[P+20>>2];n[R+24>>2]=n[P+24>>2];n[R+28>>2]=n[P+28>>2];iG(E,o,t,R);n[P>>2]=n[E>>2];n[P+4>>2]=n[E+4>>2];n[P+8>>2]=n[E+8>>2];n[P+12>>2]=n[E+12>>2];n[P+16>>2]=n[E+16>>2];n[P+20>>2]=n[E+20>>2];n[P+24>>2]=n[E+24>>2];n[P+28>>2]=n[E+28>>2];l=n[(n[o+16>>2]|0)+108>>2]|0;do{if(l)if(!(r[l+81>>0]|0)){n[R>>2]=n[Q>>2];n[R+4>>2]=n[Q+4>>2];n[R+8>>2]=n[Q+8>>2];n[R+12>>2]=n[Q+12>>2];fG(l,t,i,0,R);i=i+40|0;break}else{t=t+40|0;n[R>>2]=n[P>>2];n[R+4>>2]=n[P+4>>2];n[R+8>>2]=n[P+8>>2];n[R+12>>2]=n[P+12>>2];n[R+16>>2]=n[P+16>>2];n[R+20>>2]=n[P+20>>2];n[R+24>>2]=n[P+24>>2];n[R+28>>2]=n[P+28>>2];rG(y,l,t,R);n[P>>2]=n[y>>2];n[P+4>>2]=n[y+4>>2];n[P+8>>2]=n[y+8>>2];n[P+12>>2]=n[y+12>>2];n[P+16>>2]=n[y+16>>2];n[P+20>>2]=n[y+20>>2];n[P+24>>2]=n[y+24>>2];n[P+28>>2]=n[y+28>>2];break}}while(0);b=bY(A,o)|0;t=t+40|0;while(1){if(!b)break;s=b+16|0;l=n[s>>2]|0;c=n[l+96>>2]|0;A:do{if(!c)Z=52;else{do{if(!(r[c+81>>0]|0)){if(!g?n[l+8>>2]|0:0){bI(V,A,b);n[R>>2]=n[V>>2];n[R+4>>2]=n[V+4>>2];n[R+8>>2]=n[V+8>>2];n[R+12>>2]=n[V+12>>2];fG(c,t,i,1,R);i=i+40|0;break}n[J>>2]=n[c>>2];Gy(0,88805,J)|0;break A}else{n[R>>2]=n[P>>2];n[R+4>>2]=n[P+4>>2];n[R+8>>2]=n[P+8>>2];n[R+12>>2]=n[P+12>>2];n[R+16>>2]=n[P+16>>2];n[R+20>>2]=n[P+20>>2];n[R+24>>2]=n[P+24>>2];n[R+28>>2]=n[P+28>>2];rG(Y,c,t,R);n[P>>2]=n[Y>>2];n[P+4>>2]=n[Y+4>>2];n[P+8>>2]=n[Y+8>>2];n[P+12>>2]=n[Y+12>>2];n[P+16>>2]=n[Y+16>>2];n[P+20>>2]=n[Y+20>>2];n[P+24>>2]=n[Y+24>>2];n[P+28>>2]=n[Y+28>>2]}}while(0);t=t+40|0;l=n[s>>2]|0;Z=52}}while(0);A:do{if((Z|0)==52){Z=0;c=n[l+104>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?n[l+8>>2]|0:0){nG(G,b);n[R>>2]=n[G>>2];n[R+4>>2]=n[G+4>>2];n[R+8>>2]=n[G+8>>2];n[R+12>>2]=n[G+12>>2];fG(c,t,i,1,R);i=i+40|0;break}n[N>>2]=n[c>>2];Gy(0,88840,N)|0;break A}else{n[R>>2]=n[P>>2];n[R+4>>2]=n[P+4>>2];n[R+8>>2]=n[P+8>>2];n[R+12>>2]=n[P+12>>2];n[R+16>>2]=n[P+16>>2];n[R+20>>2]=n[P+20>>2];n[R+24>>2]=n[P+24>>2];n[R+28>>2]=n[P+28>>2];rG(W,c,t,R);n[P>>2]=n[W>>2];n[P+4>>2]=n[W+4>>2];n[P+8>>2]=n[W+8>>2];n[P+12>>2]=n[W+12>>2];n[P+16>>2]=n[W+16>>2];n[P+20>>2]=n[W+20>>2];n[P+24>>2]=n[W+24>>2];n[P+28>>2]=n[W+28>>2]}}while(0);t=t+40|0;l=n[s>>2]|0}c=n[l+100>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?n[l+8>>2]|0:0){aG(I,b);n[R>>2]=n[I>>2];n[R+4>>2]=n[I+4>>2];n[R+8>>2]=n[I+8>>2];n[R+12>>2]=n[I+12>>2];fG(c,t,i,1,R);i=i+40|0;break}n[z>>2]=n[c>>2];Gy(0,88880,z)|0;break A}else{n[R>>2]=n[P>>2];n[R+4>>2]=n[P+4>>2];n[R+8>>2]=n[P+8>>2];n[R+12>>2]=n[P+12>>2];n[R+16>>2]=n[P+16>>2];n[R+20>>2]=n[P+20>>2];n[R+24>>2]=n[P+24>>2];n[R+28>>2]=n[P+28>>2];rG(m,c,t,R);n[P>>2]=n[m>>2];n[P+4>>2]=n[m+4>>2];n[P+8>>2]=n[m+8>>2];n[P+12>>2]=n[m+12>>2];n[P+16>>2]=n[m+16>>2];n[P+20>>2]=n[m+20>>2];n[P+24>>2]=n[m+24>>2];n[P+28>>2]=n[m+28>>2]}}while(0);t=t+40|0;l=n[s>>2]|0}c=n[l+108>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?n[l+8>>2]|0:0){bI(M,A,b);n[R>>2]=n[M>>2];n[R+4>>2]=n[M+4>>2];n[R+8>>2]=n[M+8>>2];n[R+12>>2]=n[M+12>>2];fG(c,t,i,1,R);i=i+40|0;break}n[p>>2]=n[c>>2];Gy(0,88920,p)|0;break A}else{n[R>>2]=n[P>>2];n[R+4>>2]=n[P+4>>2];n[R+8>>2]=n[P+8>>2];n[R+12>>2]=n[P+12>>2];n[R+16>>2]=n[P+16>>2];n[R+20>>2]=n[P+20>>2];n[R+24>>2]=n[P+24>>2];n[R+28>>2]=n[P+28>>2];rG(C,c,t,R);n[P>>2]=n[C>>2];n[P+4>>2]=n[C+4>>2];n[P+8>>2]=n[C+8>>2];n[P+12>>2]=n[C+12>>2];n[P+16>>2]=n[C+16>>2];n[P+20>>2]=n[C+20>>2];n[P+24>>2]=n[C+24>>2];n[P+28>>2]=n[C+28>>2]}}while(0);t=t+40|0}}}while(0);b=uY(A,b)|0}o=MV(A,o)|0}if(u|0){n[e>>2]=n[P>>2];n[e+4>>2]=n[P+4>>2];n[e+8>>2]=n[P+8>>2];n[e+12>>2]=n[P+12>>2];n[e+16>>2]=n[P+16>>2];n[e+20>>2]=n[P+20>>2];n[e+24>>2]=n[P+24>>2];n[e+28>>2]=n[P+28>>2];n[e+32>>2]=t;l=R;i=l+40|0;do{n[l>>2]=n[e>>2];l=l+4|0;e=e+4|0}while((l|0)<(i|0));lG(H,A,R);n[P>>2]=n[H>>2];n[P+4>>2]=n[H+4>>2];n[P+8>>2]=n[H+8>>2];n[P+12>>2]=n[H+12>>2];n[P+16>>2]=n[H+16>>2];n[P+20>>2]=n[H+20>>2];n[P+24>>2]=n[H+24>>2];n[P+28>>2]=n[H+28>>2]}r[F+32>>0]=xI(A,Sy(A,0,88956,0)|0,1)|0;n[F>>2]=n[P>>2];n[F+4>>2]=n[P+4>>2];n[F+8>>2]=n[P+8>>2];n[F+12>>2]=n[P+12>>2];n[F+16>>2]=n[P+16>>2];n[F+20>>2]=n[P+20>>2];n[F+24>>2]=n[P+24>>2];n[F+28>>2]=n[P+28>>2];eb(w,k,d,h,F)|0;if(0)tG(w,k,d,h,F);e=0;i=0;l=d;while(1){if((i|0)>=(h|0))break;if(r[l+36>>0]|0){F=n[l+32>>2]|0;r[F+81>>0]=1;H=F+56|0;cG(L,l);n[H>>2]=n[L>>2];n[H+4>>2]=n[L+4>>2];n[H+8>>2]=n[L+8>>2];n[H+12>>2]=n[L+12>>2];uC(A,F);e=e+1|0}i=i+1|0;l=l+40|0}if(!0){if((e|0)!=(h|0)){n[X>>2]=e;n[X+4>>2]=h;Gy(0,89001,X)|0}}else{X=n[13918]|0;n[D>>2]=e;n[D+4>>2]=h;lR(X,88968,D)|0}zN(w);zN(d)}}v=T;return}function qZ(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0;l=v;v=v+48|0;r=l+32|0;f=l+16|0;a=l;if(+s[20897]!=0.0|+s[20898]!=0.0|(n[42308]|0)!=0){i=CV(A)|0;while(1){if(!i)break;if(n[42308]|0)st(i,0);e=i+16|0;t=(n[e>>2]|0)+16|0;n[r>>2]=n[t>>2];n[r+4>>2]=n[t+4>>2];n[r+8>>2]=n[t+8>>2];n[r+12>>2]=n[t+12>>2];jZ(f,r);n[t>>2]=n[f>>2];n[t+4>>2]=n[f+4>>2];n[t+8>>2]=n[f+8>>2];n[t+12>>2]=n[f+12>>2];e=n[(n[e>>2]|0)+108>>2]|0;if(e|0){t=e+56|0;n[r>>2]=n[t>>2];n[r+4>>2]=n[t+4>>2];n[r+8>>2]=n[t+8>>2];n[r+12>>2]=n[t+12>>2];jZ(a,r);n[t>>2]=n[a>>2];n[t+4>>2]=n[a+4>>2];n[t+8>>2]=n[a+8>>2];n[t+12>>2]=n[a+12>>2]}A:do{if((n[42181]|0)==1){e=bY(A,i)|0;while(1){if(!e)break A;AG(e);e=uY(A,e)|0}}}while(0);i=MV(A,i)|0}xZ(A,n[(n[A+16>>2]|0)+116>>2]&3)}v=l;return}function $Z(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,a=0,l=0,t=0;l=A+16|0;t=n[l>>2]|0;a=r[t+275>>0]|0;A=a<<24>>24;do{if(!(A&4)){i=+s[t+16>>3];if(!(A&2)){f=(+s[t+32>>3]+i)*.5;break}else{f=+s[e>>3]*.5+i;break}}else f=+s[t+32>>3]-+s[e>>3]*.5}while(0);if(!(a&1))i=+s[e+8>>3]*.5+ +s[t+24>>3];else i=+s[t+40>>3]-+s[e+8>>3]*.5;t=n[t+12>>2]|0;s[t+56>>3]=f;s[t+64>>3]=i;r[(n[(n[l>>2]|0)+12>>2]|0)+81>>0]=1;return}function AG(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0;d=v;v=v+144|0;k=d+120|0;i=d+16|0;t=d+104|0;c=d+88|0;s=d+72|0;b=d+56|0;o=d+40|0;u=d+24|0;w=d;B=A+16|0;e=n[B>>2]|0;f=n[e+8>>2]|0;if(!f){if((r[174072]|0)==0?(r[e+112>>0]|0)!=6:0){k=qY(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;w=qY(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;n[i>>2]=k;n[i+4>>2]=w;Gy(1,88788,i)|0}}else{l=0;A=f;while(1){if((l|0)>=(n[A+4>>2]|0))break;a=n[A>>2]|0;A=n[a+(l*48|0)>>2]|0;i=n[a+(l*48|0)+4>>2]|0;f=n[a+(l*48|0)+8>>2]|0;a=n[a+(l*48|0)+12>>2]|0;e=0;while(1){if((e|0)>=(i|0))break;h=A+(e<<4)|0;n[k>>2]=n[h>>2];n[k+4>>2]=n[h+4>>2];n[k+8>>2]=n[h+8>>2];n[k+12>>2]=n[h+12>>2];jZ(t,k);n[h>>2]=n[t>>2];n[h+4>>2]=n[t+4>>2];n[h+8>>2]=n[t+8>>2];n[h+12>>2]=n[t+12>>2];e=e+1|0}if(f|0){h=(n[n[(n[B>>2]|0)+8>>2]>>2]|0)+(l*48|0)+16|0;n[k>>2]=n[h>>2];n[k+4>>2]=n[h+4>>2];n[k+8>>2]=n[h+8>>2];n[k+12>>2]=n[h+12>>2];jZ(c,k);n[h>>2]=n[c>>2];n[h+4>>2]=n[c+4>>2];n[h+8>>2]=n[c+8>>2];n[h+12>>2]=n[c+12>>2]}if(a|0){h=(n[n[(n[B>>2]|0)+8>>2]>>2]|0)+(l*48|0)+32|0;n[k>>2]=n[h>>2];n[k+4>>2]=n[h+4>>2];n[k+8>>2]=n[h+8>>2];n[k+12>>2]=n[h+12>>2];jZ(s,k);n[h>>2]=n[s>>2];n[h+4>>2]=n[s+4>>2];n[h+8>>2]=n[s+8>>2];n[h+12>>2]=n[s+12>>2]}e=n[B>>2]|0;l=l+1|0;A=n[e+8>>2]|0}A=n[e+96>>2]|0;if(A){e=A+56|0;n[k>>2]=n[e>>2];n[k+4>>2]=n[e+4>>2];n[k+8>>2]=n[e+8>>2];n[k+12>>2]=n[e+12>>2];jZ(b,k);n[e>>2]=n[b>>2];n[e+4>>2]=n[b+4>>2];n[e+8>>2]=n[b+8>>2];n[e+12>>2]=n[b+12>>2];e=n[B>>2]|0}A=n[e+108>>2]|0;if(A){e=A+56|0;n[k>>2]=n[e>>2];n[k+4>>2]=n[e+4>>2];n[k+8>>2]=n[e+8>>2];n[k+12>>2]=n[e+12>>2];jZ(o,k);n[e>>2]=n[o>>2];n[e+4>>2]=n[o+4>>2];n[e+8>>2]=n[o+8>>2];n[e+12>>2]=n[o+12>>2];e=n[B>>2]|0}A=n[e+100>>2]|0;if(A){e=A+56|0;n[k>>2]=n[e>>2];n[k+4>>2]=n[e+4>>2];n[k+8>>2]=n[e+8>>2];n[k+12>>2]=n[e+12>>2];jZ(u,k);n[e>>2]=n[u>>2];n[e+4>>2]=n[u+4>>2];n[e+8>>2]=n[u+8>>2];n[e+12>>2]=n[u+12>>2];e=n[B>>2]|0}e=n[e+104>>2]|0;if(e|0){h=e+56|0;n[k>>2]=n[h>>2];n[k+4>>2]=n[h+4>>2];n[k+8>>2]=n[h+8>>2];n[k+12>>2]=n[h+12>>2];jZ(w,k);n[h>>2]=n[w>>2];n[h+4>>2]=n[w+4>>2];n[h+8>>2]=n[w+8>>2];n[h+12>>2]=n[w+12>>2]}}v=d;return}function eG(A){A=A|0;var e=0,i=0,f=0;f=A+16|0;if((FV(A)|0)!=(A|0)?(e=n[(n[f>>2]|0)+12>>2]|0,(e|0)!=0):0){i=1;A=(r[e+81>>0]|0)!=0&1}else{i=1;A=0}while(1){e=n[f>>2]|0;if((i|0)>(n[e+180>>2]|0))break;e=(eG(n[(n[e+184>>2]|0)+(i<<2)>>2]|0)|0)+A|0;i=i+1|0;A=e}return A|0}function iG(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0.0,c=0.0,b=0,o=0;a=v;v=v+32|0;l=a;o=(r[174075]|0)==0;e=e+16|0;b=n[e>>2]|0;c=+s[(o?b+32|0:b+40|0)>>3];s[i+16>>3]=c*72.0;t=+s[(o?b+40|0:b+32|0)>>3];s[i+24>>3]=t*72.0;e=(n[e>>2]|0)+16|0;n[i>>2]=n[e>>2];n[i+4>>2]=n[e+4>>2];n[i+8>>2]=n[e+8>>2];n[i+12>>2]=n[e+12>>2];s[i>>3]=+s[i>>3]-c*36.0;e=i+8|0;s[e>>3]=+s[e>>3]-t*36.0;n[l>>2]=n[f>>2];n[l+4>>2]=n[f+4>>2];n[l+8>>2]=n[f+8>>2];n[l+12>>2]=n[f+12>>2];n[l+16>>2]=n[f+16>>2];n[l+20>>2]=n[f+20>>2];n[l+24>>2]=n[f+24>>2];n[l+28>>2]=n[f+28>>2];sG(A,i,l);v=a;return}function rG(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0.0,c=0.0,b=0,o=0;a=v;v=v+32|0;l=a;o=(r[174075]|0)==0;b=e+24|0;c=+s[(o?b:e+32|0)>>3];s[i+16>>3]=c;t=+s[(o?e+32|0:b)>>3];s[i+24>>3]=t;e=e+56|0;n[i>>2]=n[e>>2];n[i+4>>2]=n[e+4>>2];n[i+8>>2]=n[e+8>>2];n[i+12>>2]=n[e+12>>2];s[i>>3]=+s[i>>3]-c*.5;e=i+8|0;s[e>>3]=+s[e>>3]-t*.5;n[l>>2]=n[f>>2];n[l+4>>2]=n[f+4>>2];n[l+8>>2]=n[f+8>>2];n[l+12>>2]=n[f+12>>2];n[l+16>>2]=n[f+16>>2];n[l+20>>2]=n[f+20>>2];n[l+24>>2]=n[f+24>>2];n[l+28>>2]=n[f+28>>2];sG(A,i,l);v=a;return}function fG(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;if(f|0){f=e+16|0;n[f>>2]=0;n[f+4>>2]=0;n[f+8>>2]=0;n[f+12>>2]=0;n[e>>2]=n[a>>2];n[e+4>>2]=n[a+4>>2];n[e+8>>2]=n[a+8>>2];n[e+12>>2]=n[a+12>>2]}if(!(r[174075]|0)){a=A+24|0;n[i>>2]=n[a>>2];n[i+4>>2]=n[a+4>>2];n[i+8>>2]=n[a+8>>2];n[i+12>>2]=n[a+12>>2]}else{s[i>>3]=+s[A+32>>3];s[i+8>>3]=+s[A+24>>3]}n[i+32>>2]=A;r[i+36>>0]=0;n[e+32>>2]=i;return}function nG(A,e){A=A|0;e=e|0;e=sI(e)|0;do{if(e){e=n[e>>2]|0;if(!(n[e+8>>2]|0)){e=n[e>>2]|0;n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];break}else{e=e+16|0;n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];break}}else{n[A>>2]=0;n[A+4>>2]=0;n[A+8>>2]=0;n[A+12>>2]=0}}while(0);return}function aG(A,e){A=A|0;e=e|0;var i=0;e=sI(e)|0;do{if(e){i=n[e>>2]|0;e=(n[e+4>>2]|0)+-1|0;if(!(n[i+(e*48|0)+12>>2]|0)){i=(n[i+(e*48|0)>>2]|0)+((n[i+(e*48|0)+4>>2]|0)+-1<<4)|0;n[A>>2]=n[i>>2];n[A+4>>2]=n[i+4>>2];n[A+8>>2]=n[i+8>>2];n[A+12>>2]=n[i+12>>2];break}else{i=i+(e*48|0)+32|0;n[A>>2]=n[i>>2];n[A+4>>2]=n[i+4>>2];n[A+8>>2]=n[i+8>>2];n[A+12>>2]=n[i+12>>2];break}}else{n[A>>2]=0;n[A+4>>2]=0;n[A+8>>2]=0;n[A+12>>2]=0}}while(0);return}function lG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0;k=v;v=v+112|0;s=k+72|0;o=k+32|0;u=k;B=e+16|0;c=1;while(1){f=n[B>>2]|0;if((c|0)>(n[f+180>>2]|0))break;f=n[(n[f+184>>2]|0)+(c<<2)>>2]|0;a=s;l=i;t=a+40|0;do{n[a>>2]=n[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(t|0));lG(o,f,s);a=i;l=o;t=a+40|0;do{n[a>>2]=n[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(t|0));c=c+1|0}if(((FV(e)|0)!=(e|0)?(b=n[(n[B>>2]|0)+12>>2]|0,b|0):0)?r[b+81>>0]|0:0){B=i+32|0;o=n[B>>2]|0;n[s>>2]=n[i>>2];n[s+4>>2]=n[i+4>>2];n[s+8>>2]=n[i+8>>2];n[s+12>>2]=n[i+12>>2];n[s+16>>2]=n[i+16>>2];n[s+20>>2]=n[i+20>>2];n[s+24>>2]=n[i+24>>2];n[s+28>>2]=n[i+28>>2];rG(u,b,o,s);n[i>>2]=n[u>>2];n[i+4>>2]=n[u+4>>2];n[i+8>>2]=n[u+8>>2];n[i+12>>2]=n[u+12>>2];n[i+16>>2]=n[u+16>>2];n[i+20>>2]=n[u+20>>2];n[i+24>>2]=n[u+24>>2];n[i+28>>2]=n[u+28>>2];n[B>>2]=(n[B>>2]|0)+40}a=A;l=i;t=a+40|0;do{n[a>>2]=n[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(t|0));v=k;return}function tG(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var l=0.0,t=0.0,c=0.0,b=0.0,o=0,u=0,B=0,k=0,w=0,d=0;d=v;v=v+160|0;w=d+96|0;B=d+48|0;u=d;k=n[13918]|0;o=a[f+32>>0]|0;l=+s[f>>3];t=+s[f+8>>3];c=+s[f+16>>3];b=+s[f+24>>3];n[u>>2]=e;n[u+4>>2]=r;n[u+8>>2]=o;s[u+16>>3]=l;s[u+24>>3]=t;s[u+32>>3]=c;s[u+40>>3]=b;lR(k,89043,u)|0;A:do{if(0>=2){VR(89103,8,1,k)|0;u=0;while(1){if((u|0)>=(e|0))break;f=n[A+32>>2]|0;l=+s[A>>3];t=+s[A+8>>3];c=+s[A+16>>3];b=+s[A+24>>3];if(!f)o=174177;else o=n[n[f+32>>2]>>2]|0;n[B>>2]=u;s[B+8>>3]=l;s[B+16>>3]=t;s[B+24>>3]=c;s[B+32>>3]=b;n[B+40>>2]=f;n[B+44>>2]=o;lR(k,89112,B)|0;u=u+1|0;A=A+40|0}VR(89155,8,1,k)|0;f=0;while(1){if((f|0)>=(r|0))break A;e=a[i+36>>0]|0;l=+s[i+16>>3];t=+s[i+24>>3];c=+s[i>>3];b=+s[i+8>>3];B=n[n[i+32>>2]>>2]|0;n[w>>2]=f;n[w+4>>2]=i;n[w+8>>2]=e;s[w+16>>3]=l;s[w+24>>3]=t;s[w+32>>3]=c;s[w+40>>3]=b;n[w+48>>2]=B;lR(k,89164,w)|0;i=i+40|0;f=f+1|0}}}while(0);v=d;return}function cG(A,e){A=A|0;e=e|0;var i=0.0;i=+s[e+8>>3]*.5+ +s[e+24>>3];s[A>>3]=+s[e>>3]*.5+ +s[e+16>>3];s[A+8>>3]=i;return}function sG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0.0,t=0.0;r=v;v=v+16|0;f=r;t=+s[e>>3];s[i>>3]=+s[(+s[i>>3]<t?i:e)>>3];a=i+8|0;l=+s[e+8>>3];s[a>>3]=+s[(+s[a>>3]<l?i:e)+8>>3];t=+s[e+16>>3]+t;s[f>>3]=t;l=+s[e+24>>3]+l;s[f+8>>3]=l;a=i+16|0;s[a>>3]=+s[(+s[a>>3]>t?a:f)>>3];e=i+24|0;s[e>>3]=+s[(+s[e>>3]>l?a:f)+8>>3];n[A>>2]=n[i>>2];n[A+4>>2]=n[i+4>>2];n[A+8>>2]=n[i+8>>2];n[A+12>>2]=n[i+12>>2];n[A+16>>2]=n[i+16>>2];n[A+20>>2]=n[i+20>>2];n[A+24>>2]=n[i+24>>2];n[A+28>>2]=n[i+28>>2];v=r;return}function bG(A){A=A|0;SZ(A,1);return}function oG(A){A=A|0;var e=0,i=0,r=0,f=0,a=0;r=v;v=v+16|0;i=r;e=eC(fY(A,90504)|0)|0;if(e){e=uG(e)|0;if(e|0){f=n[e+40>>2]|0;i=n[e+44>>2]|0;a=A+16|0;A=n[a>>2]|0;s[A+32>>3]=+(f|0)*.013888888888888888;s[A+40>>3]=+(i|0)*.013888888888888888;A=Jg(12)|0;n[(n[a>>2]|0)+12>>2]=A;n[A>>2]=n[e+12>>2];n[A+4>>2]=((f|0)/-2|0)-(n[e+32>>2]|0);n[A+8>>2]=((i|0)/-2|0)-(n[e+36>>2]|0)}}else{n[i>>2]=qY(A)|0;Gy(0,89212,i)|0}v=r;return}function uG(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0;B=v;v=v+1152|0;t=B+24|0;l=B+8|0;i=B;f=B+120|0;c=B+44|0;s=B+40|0;b=B+36|0;o=B+32|0;u=B+28|0;e=n[42309]|0;if(!e){e=oy(19832,n[4345]|0)|0;n[42309]=e}e=kF[n[e>>2]&31](e,A,512)|0;do{if(!e){a=pR(A,123632)|0;if(!a){n[i>>2]=A;Gy(0,89261,i)|0;e=0;break}else{e=0;i=0}while(1){if(!(Dp(f,1024,a)|0)){f=11;break}n[l>>2]=s;n[l+4>>2]=b;n[l+8>>2]=o;n[l+12>>2]=u;k=(PR(f,89289,l)|0)==4;i=k?1:i;if((r[f>>0]|0)!=37){k=(Xp(f,89318)|0)==0;e=k?e:1}if((i|0)!=0&(e|0)!=0){f=12;break}}if((f|0)==11)if(!i){n[t>>2]=A;Gy(0,89323,t)|0;e=0}else f=12;if((f|0)==12){k=Ng(64)|0;s=n[s>>2]|0;n[k+32>>2]=s;b=n[b>>2]|0;n[k+40>>2]=(n[o>>2]|0)-s;n[k+36>>2]=(n[u>>2]|0)-b;n[k+8>>2]=A;u=n[42310]|0;n[42310]=u+1;n[k+12>>2]=u;NR(lH(a)|0,c)|0;u=n[c+36>>2]|0;o=Ng(u+1|0)|0;n[k+52>>2]=o;KR(a,0,0)|0;fH(o,u,1,a)|0;r[o+u>>0]=0;u=n[42309]|0;kF[n[u>>2]&31](u,k,1)|0;r[k+16>>0]=e;e=k}hR(a)|0}}while(0);v=B;return e|0}function vG(A,e,i){A=A|0;e=e|0;i=i|0;zN(n[e+52>>2]|0);return}function BG(A){A=A|0;zN(n[(n[A+16>>2]|0)+12>>2]|0);return}function kG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;o=v;v=v+16|0;b=o+8|0;s=o;c=(e|0)!=0;A:do{if(c){l=0;f=0;e:while(1)while(1){if(l)break A;a=n[e+(f<<2)>>2]|0;if(!a){t=6;break A}f=f+1|0;if(!(r[a>>0]|0)){l=1;continue e}}}else t=6}while(0);A:do{if((t|0)==6)while(1){f=n[i>>2]|0;if(!f)break A;IB(A,f)|0;IB(A,134901)|0;i=i+4|0;t=6}}while(0);A:do{if(c){l=0;while(1){f=n[e+(l<<2)>>2]|0;if(!f)break A;do{if(r[f>>0]|0){i=eC(f)|0;if(!i){n[s>>2]=f;Gy(0,89362,s)|0;break}a=pR(i,123632)|0;if(!a){n[b>>2]=i;Gy(0,89390,b)|0;break}while(1){f=AC(a)|0;if(!f)break;IB(A,f)|0}IB(A,134901)|0;hR(a)|0}}while(0);l=l+1|0}}}while(0);v=o;return}function wG(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;e=n[e+52>>2]|0;A:while(1){i=r[e>>0]|0;e:do{switch(i<<24>>24){case 0:break A;case 37:{if((r[e+1>>0]|0)==37){i=e+2|0;if((((_z(i,89418,3)|0)!=0?(_z(i,89422,5)|0)!=0:0)?(_z(i,89428,3)|0)!=0:0)?(_z(i,89432,7)|0)!=0:0){i=37;break e}else a=37;i:while(1){switch(a<<24>>24){case 13:{f=10;break i}case 10:case 0:{f=12;break i}default:{}}a=e+1|0;e=a;a=r[a>>0]|0}if((f|0)==10){i=e+1|0;if((r[i>>0]|0)==10){e=e+2|0;continue A}}else if((f|0)==12)i=e+1|0;e=a<<24>>24==0?e:i;continue A}else i=37;break}default:{}}}while(0);e:while(1){switch(i<<24>>24){case 10:case 13:case 0:break e;default:{}}CB(A,i<<24>>24)|0;a=e+1|0;e=a;i=r[a>>0]|0}f=e+1|0;if(i<<24>>24==13?(r[f>>0]|0)==10:0)e=e+2|0;else e=i<<24>>24==0?e:f;CB(A,10)|0}return}function dG(A){A=A|0;var e=0,i=0,f=0,a=0;f=v;v=v+16|0;i=f;e=n[42309]|0;A:do{if(e|0){e=kF[n[e>>2]&31](e,0,128)|0;while(1){if(!e)break A;if(!(r[e+16>>0]|0)){n[i>>2]=n[e+12>>2];YB(A,89440,i);IB(A,89458)|0;wG(A,e);IB(A,89476)|0;IB(A,89491)|0}a=n[42309]|0;e=kF[n[a>>2]&31](a,e,8)|0}}}while(0);v=f;return}function hG(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0;a=v;v=v+16|0;i=a;A:do{switch(e|0){case 0:{f=A;break}case 1:{f=RC(A)|0;break}default:{switch(gG(A)|0){case 2:break;case 1:{f=RC(A)|0;break A}default:{f=A;break A}}if(!(n[42311]|0)){Gy(0,89503,i)|0;n[42311]=1;f=A}else f=A}}}while(0);if(!(n[42312]|0))My(169248,0,0);e=n[42313]|0;if(e>>>0>=(n[42314]|0)>>>0){Qy(169248,1)|0;e=n[42313]|0}n[42313]=e+1;r[e>>0]=40;i=f;A:while(1){switch(r[i>>0]|0){case 0:break A;case 92:case 41:case 40:{e=n[42313]|0;if(e>>>0>=(n[42314]|0)>>>0){Qy(169248,1)|0;e=n[42313]|0}n[42313]=e+1;r[e>>0]=92;break}default:{}}e=n[42313]|0;if(e>>>0>=(n[42314]|0)>>>0){Qy(169248,1)|0;e=n[42313]|0}l=r[i>>0]|0;n[42313]=e+1;r[e>>0]=l;i=i+1|0}e=n[42313]|0;if(e>>>0>=(n[42314]|0)>>>0){Qy(169248,1)|0;e=n[42313]|0}n[42313]=e+1;r[e>>0]=41;if((f|0)!=(A|0))zN(f);e=n[42313]|0;if(e>>>0>=(n[42314]|0)>>>0){Qy(169248,1)|0;e=n[42313]|0}r[e>>0]=0;l=n[42312]|0;n[42313]=l;v=a;return l|0}function gG(A){A=A|0;var e=0,i=0;e=0;A:while(1){while(1){i=r[A>>0]|0;if(!(i<<24>>24))break A;if((i&255)<127)A=A+1|0;else break}if((i&-4)<<24>>24==-64){e=1;A=A+2|0}else{e=2;break}}return e|0}function ZG(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0;o=v;v=v+96|0;l=o+80|0;t=o+72|0;b=o+64|0;a=o+32|0;c=o;s[a>>3]=+s[A>>3];s[a+8>>3]=+s[A+8>>3];s[a+16>>3]=+s[e>>3];s[a+24>>3]=+s[e+8>>3];do{if((oN(i,a,t)|0)>=0){if(!f){e=i+4|0;A=n[e>>2]|0;f=n[42317]|0;if((A|0)>(n[42316]|0)){if(!f)A=Ng(A<<5)|0;else A=pg(f,A<<5)|0;n[42317]=A;a=n[e>>2]|0;n[42316]=a;f=A}else a=A;e=n[i>>2]|0;A=0;while(1){if((A|0)>=(a|0))break;u=f+(A<<5)|0;i=e+(A<<4)|0;n[u>>2]=n[i>>2];n[u+4>>2]=n[i+4>>2];n[u+8>>2]=n[i+8>>2];n[u+12>>2]=n[i+12>>2];u=f+(A<<5)+16|0;i=A+1|0;B=e+(((i|0)%(a|0)|0)<<4)|0;n[u>>2]=n[B>>2];n[u+4>>2]=n[B+4>>2];n[u+8>>2]=n[B+8>>2];n[u+12>>2]=n[B+12>>2];A=i}n[c>>2]=0;n[c+4>>2]=0;n[c+8>>2]=0;n[c+12>>2]=0;n[c+16>>2]=0;n[c+20>>2]=0;n[c+24>>2]=0;n[c+28>>2]=0;n[l>>2]=n[t>>2];n[l+4>>2]=n[t+4>>2];if((Pv(f,a,l,c,b)|0)<0){A=0;break}}else{n[l>>2]=n[t>>2];n[l+4>>2]=n[t+4>>2];JN(l,b)}A=b+4|0;if(!(GG(n[A>>2]|0)|0)){a=n[A>>2]|0;A=n[42318]|0;f=n[b>>2]|0;e=0;while(1){if((e|0)>=(a|0))break;B=A+(e<<4)|0;u=f+(e<<4)|0;n[B>>2]=n[u>>2];n[B+4>>2]=n[u+4>>2];n[B+8>>2]=n[u+8>>2];n[B+12>>2]=n[u+12>>2];e=e+1|0}n[r>>2]=a}else A=0}else A=0}while(0);v=o;return A|0}function GG(A){A=A|0;var e=0,i=0,r=0;r=v;v=v+16|0;i=r;e=n[42319]|0;do{if((e|0)<(A|0)){A=A+300-((A|0)%300|0)+e|0;e=pg(n[42318]|0,A<<4)|0;n[42318]=e;if(!e){Gy(1,89593,i)|0;A=1;break}else{n[42319]=A;A=0;break}}else A=0}while(0);v=r;return A|0}function mG(){var A=0,e=0,i=0;e=v;v=v+16|0;A=e;i=n[42320]|0;n[42320]=i+1;do{if((i|0)<=0){i=Ng(4800)|0;n[42318]=i;if(!i){Gy(1,89616,A)|0;A=1;break}n[42319]=300;n[42321]=0;n[42322]=0;if(0){zI();A=0}else A=0}else A=0}while(0);v=e;return A|0}function IG(){var A=0,e=0,i=0,r=0.0,f=0,a=0;e=v;v=v+16|0;A=e;i=n[42320]|0;n[42320]=i+-1;if((i|0)<=1?(zN(n[42318]|0),0):0){i=n[13918]|0;a=n[42321]|0;f=n[42322]|0;r=+pI();n[A>>2]=a;n[A+4>>2]=f;s[A+8>>3]=r;lR(i,89654,A)|0}v=e;return}function CG(A,e){A=A|0;e=e|0;return MG(A,e,0)|0}function MG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0.0,b=0.0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,z=0,p=0,R=0,P=0,H=0;R=v;v=v+176|0;Y=R+168|0;p=R+128|0;m=R+120|0;Z=R+112|0;l=R+104|0;d=R+88|0;o=R+72|0;a=R+64|0;h=R+160|0;W=R+152|0;I=R+144|0;g=R+32|0;G=R;z=R+136|0;n[42321]=(n[42321]|0)+1;V=n[A+80>>2]|0;n[42322]=(n[42322]|0)+V;f=A+88|0;while(1){E=n[f>>2]|0;if(!E){y=4;break}f=n[E+16>>2]|0;if(!(r[f+112>>0]|0)){y=5;break}else f=f+116|0}do{if((y|0)==4){Gy(1,89697,a)|0;f=0}else if((y|0)==5){Q=n[A+84>>2]|0;if(!(QG(V,Q,A)|0)){a=V<<3;if((a|0)>(n[42323]|0)){f=n[42324]|0;if(!f)f=Ng(V<<7)|0;else f=pg(f,V<<7)|0;n[42324]=f;n[42323]=a}A:do{if((V|0)>1?+s[Q+8>>3]>+s[Q+40>>3]:0){f=0;while(1){if((f|0)==(V|0)){B=1;break A}C=Q+(f<<5)+24|0;b=+s[C>>3];M=Q+(f<<5)+8|0;s[C>>3]=-+s[M>>3];s[M>>3]=-b;f=f+1|0}}else B=0}while(0);w=n[E>>2]&3;C=E+48|0;f=n[((w|0)==3?E:C)+40>>2]|0;M=E+-48|0;if((f|0)==(n[((w|0)==2?E:M)+40>>2]|0)){n[l>>2]=qY(f)|0;Gy(1,89804,l)|0;f=0;break}u=V+-1|0;k=n[42324]|0;w=k;f=0;t=0;A:while(1){if((t|0)>=(V|0)){t=u;o=f;break}if((t|0)>0)a=+s[Q+(t<<5)+8>>3]>+s[Q+(t+-1<<5)+8>>3]?-1:1;else a=0;if((t|0)<(u|0))l=+s[Q+(t+1<<5)+8>>3]>+s[Q+(t<<5)+8>>3]?1:-1;else l=0;e:do{if((a|0)!=(l|0))if((a|0)==1|(l|0)==-1){a=Q+(t<<5)|0;s[k+(f<<4)>>3]=+s[a>>3];l=f+1|0;s[k+(f<<4)+8>>3]=+s[Q+(t<<5)+24>>3];s[k+(l<<4)>>3]=+s[a>>3];a=Q+(t<<5)+8|0;y=29;break}else{a=Q+(t<<5)+16|0;s[k+(f<<4)>>3]=+s[a>>3];l=f+1|0;s[k+(f<<4)+8>>3]=+s[Q+(t<<5)+8>>3];s[k+(l<<4)>>3]=+s[a>>3];a=Q+(t<<5)+24|0;y=29;break}else{switch(a|0){case-1:break e;case 0:break;default:{y=28;break A}}a=Q+(t<<5)|0;s[k+(f<<4)>>3]=+s[a>>3];l=f+1|0;s[k+(f<<4)+8>>3]=+s[Q+(t<<5)+24>>3];s[k+(l<<4)>>3]=+s[a>>3];a=Q+(t<<5)+8|0;y=29}}while(0);if((y|0)==29){y=0;s[k+(l<<4)+8>>3]=+s[a>>3];f=f+2|0}t=t+1|0}if((y|0)==28){n[o>>2]=a;n[o+4>>2]=a;n[o+8>>2]=480;Gy(1,89739,o)|0;f=0;break}A:while(1){if((t|0)<=-1)break;if((t|0)<(u|0))f=+s[Q+(t<<5)+8>>3]>+s[Q+(t+1<<5)+8>>3]?-1:1;else f=0;if((t|0)>0)a=+s[Q+(t+-1<<5)+8>>3]>+s[Q+(t<<5)+8>>3]?1:-1;else a=0;e:do{if((f|0)!=(a|0))if((f|0)==1|(a|0)==-1){f=Q+(t<<5)|0;s[k+(o<<4)>>3]=+s[f>>3];a=o+1|0;s[k+(o<<4)+8>>3]=+s[Q+(t<<5)+24>>3];s[k+(a<<4)>>3]=+s[f>>3];f=Q+(t<<5)+8|0;l=2;break}else{f=Q+(t<<5)+16|0;s[k+(o<<4)>>3]=+s[f>>3];a=o+1|0;s[k+(o<<4)+8>>3]=+s[Q+(t<<5)+8>>3];s[k+(a<<4)>>3]=+s[f>>3];f=Q+(t<<5)+24|0;l=2;break}else switch(f|0){case 0:{f=Q+(t<<5)+16|0;s[k+(o<<4)>>3]=+s[f>>3];a=o+1|0;s[k+(o<<4)+8>>3]=+s[Q+(t<<5)+8>>3];s[k+(a<<4)>>3]=+s[f>>3];f=Q+(t<<5)+24|0;l=2;break e}case-1:{H=Q+(t<<5)+16|0;s[k+(o<<4)>>3]=+s[H>>3];f=Q+(t<<5)+8|0;l=o+1|0;s[k+(o<<4)+8>>3]=+s[f>>3];s[k+(l<<4)>>3]=+s[H>>3];H=Q+(t<<5)+24|0;P=o+2|0;s[k+(l<<4)+8>>3]=+s[H>>3];l=Q+(t<<5)|0;s[k+(P<<4)>>3]=+s[l>>3];a=o+3|0;s[k+(P<<4)+8>>3]=+s[H>>3];s[k+(a<<4)>>3]=+s[l>>3];l=4;break e}default:{y=42;break A}}}while(0);s[k+(a<<4)+8>>3]=+s[f>>3];t=t+-1|0;o=o+l|0}if((y|0)==42){n[d>>2]=f;n[d+4>>2]=f;n[d+8>>2]=513;Gy(1,89739,d)|0;f=0;break}A:do{if(!B)f=0;else{f=0;while(1){if((f|0)>=(V|0)){f=0;break}P=Q+(f<<5)+24|0;b=+s[P>>3];H=Q+(f<<5)+8|0;s[P>>3]=-+s[H>>3];s[H>>3]=-b;f=f+1|0}while(1){if((f|0)>=(o|0)){f=0;break A}H=k+(f<<4)+8|0;s[H>>3]=-+s[H>>3];f=f+1|0}}}while(0);while(1){if((f|0)>=(V|0))break;s[Q+(f<<5)>>3]=2147483647.0;s[Q+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}n[h>>2]=w;l=h+4|0;n[l>>2]=o;s[g>>3]=+s[A>>3];s[g+8>>3]=+s[A+8>>3];s[g+16>>3]=+s[A+40>>3];s[g+24>>3]=+s[A+48>>3];if((oN(h,g,W)|0)<0){Gy(1,89843,Z)|0;f=0;break}if(!i){a=n[l>>2]|0;f=n[42317]|0;if((a|0)>(n[42316]|0)){if(!f)f=Ng(a<<5)|0;else f=pg(f,a<<5)|0;n[42317]=f;a=n[l>>2]|0;n[42316]=a}t=n[42324]|0;l=0;while(1){if((l|0)>=(a|0))break;P=f+(l<<5)|0;H=t+(l<<4)|0;n[P>>2]=n[H>>2];n[P+4>>2]=n[H+4>>2];n[P+8>>2]=n[H+8>>2];n[P+12>>2]=n[H+12>>2];P=f+(l<<5)+16|0;H=l+1|0;Z=t+(((H|0)%(a|0)|0)<<4)|0;n[P>>2]=n[Z>>2];n[P+4>>2]=n[Z+4>>2];n[P+8>>2]=n[Z+8>>2];n[P+12>>2]=n[Z+12>>2];l=H}if(!(r[A+29>>0]|0)){c=0.0;b=0.0}else{b=+s[A+16>>3];c=+J(+b);b=+N(+b)}s[G+8>>3]=b;s[G>>3]=c;if(!(r[A+69>>0]|0)){c=0.0;b=0.0}else{b=+s[A+56>>3];c=-+J(+b);b=-+N(+b)}s[G+24>>3]=b;s[G+16>>3]=c;n[Y>>2]=n[W>>2];n[Y+4>>2]=n[W+4>>2];if((Pv(f,a,Y,G,I)|0)<0){Gy(1,89882,m)|0;f=0;break}}else{n[Y>>2]=n[W>>2];n[Y+4>>2]=n[W+4>>2];JN(Y,I)}o=I+4|0;if(!(GG(n[o>>2]|0)|0)){f=0;while(1){if((f|0)>=(V|0))break;s[Q+(f<<5)>>3]=2147483647.0;s[Q+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}l=n[o>>2]|0;t=n[42318]|0;a=n[I>>2]|0;f=0;while(1){if((f|0)>=(l|0)){l=1;f=10;a=0;break}H=t+(f<<4)|0;P=a+(f<<4)|0;n[H>>2]=n[P>>2];n[H+4>>2]=n[P+4>>2];n[H+8>>2]=n[P+8>>2];n[H+12>>2]=n[P+12>>2];f=f+1|0}while(1){if(!((a|0)<15&l<<24>>24!=0))break;EG(Q,V,n[42318]|0,n[o>>2]|0,f);t=0;while(1){if((t|0)>=(V|0))break;if(+s[Q+(t<<5)>>3]==2147483647.0){y=82;break}if(+s[Q+(t<<5)+16>>3]==-2147483648.0){y=82;break}t=t+1|0}if((y|0)==82){y=0;H=f<<1;f=H;a=(H|0)>(2147483647/(V|0)|0|0)?15:a}l=(t|0)==(V|0)?0:l;a=a+1|0}if(l<<24>>24){P=qY(n[((n[E>>2]&3|0)==3?E:C)+40>>2]|0)|0;H=qY(n[((n[E>>2]&3|0)==2?E:M)+40>>2]|0)|0;n[p>>2]=P;n[p+4>>2]=H;Gy(0,89920,p)|0;n[Y>>2]=n[W>>2];n[Y+4>>2]=n[W+4>>2];JN(Y,z);EG(Q,V,n[z>>2]|0,n[z+4>>2]|0,10);zN(n[z>>2]|0)}n[e>>2]=n[o>>2];f=n[42318]|0}else f=0}else f=0}}while(0);v=R;return f|0}function QG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,a=0.0,l=0,t=0,c=0,b=0.0,o=0.0,u=0,B=0.0,k=0.0,w=0.0,d=0.0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0.0,R=0,P=0,H=0,F=0.0,L=0,D=0,X=0;X=v;v=v+32|0;N=X+16|0;J=X+8|0;c=X;r=0;t=0;while(1){if((t|0)>=(A|0))break;l=e+(t<<5)|0;d=+s[e+(t<<5)+8>>3]-+s[e+(t<<5)+24>>3];if(!((d>=0.0?d:-d)<.01)?(d=+s[l>>3]-+s[e+(t<<5)+16>>3],!((d>=0.0?d:-d)<.01)):0){if((r|0)!=(t|0)){L=e+(r<<5)|0;n[L>>2]=n[l>>2];n[L+4>>2]=n[l+4>>2];n[L+8>>2]=n[l+8>>2];n[L+12>>2]=n[l+12>>2];n[L+16>>2]=n[l+16>>2];n[L+20>>2]=n[l+20>>2];n[L+24>>2]=n[l+24>>2];n[L+28>>2]=n[l+28>>2]}r=r+1|0}t=t+1|0}z=e+16|0;do{if(!(+s[e>>3]>+s[z>>3])?(R=e+8|0,H=e+24|0,!(+s[R>>3]>+s[H>>3])):0){L=r+-1|0;P=n[13918]|0;G=0;while(1){if((G|0)>=(L|0))break;y=G+1|0;Y=e+(y<<5)|0;f=+s[Y>>3];V=e+(y<<5)+16|0;a=+s[V>>3];if(f>a){D=16;break}M=e+(y<<5)+8|0;b=+s[M>>3];Q=e+(y<<5)+24|0;o=+s[Q>>3];if(b>o){D=16;break}W=e+(G<<5)+16|0;Z=+s[W>>3]<f;r=Z&1;E=e+(G<<5)|0;g=+s[E>>3]>a;A=g&1;C=e+(G<<5)+24|0;h=+s[C>>3]<b;t=h&1;I=e+(G<<5)+8|0;c=+s[I>>3]>o;l=c&1;m=A+r+t+l|0;u=(m|0)!=0;if(!(0==0|u^1)){n[N>>2]=G;n[N+4>>2]=y;lR(P,90120,N)|0;yG(i)}A:do{if(u){if(!Z)if(!g)if(!h){if(c){c=0;u=r;r=Q;l=I;D=24}}else{c=l;t=0;u=r;r=M;l=C;D=24}else{c=l;A=0;u=r;r=V;l=E;D=24}else{c=l;u=0;r=Y;l=W;D=24}if((D|0)==24){D=0;G=~~+s[l>>3];s[l>>3]=+s[r>>3];s[r>>3]=+(G|0);l=c;r=u}u=m+-1|0;c=0;while(1){if((c|0)>=(u|0))break A;do{if((r|0)!=1){if((A|0)==1){d=+(~~((+s[V>>3]+ +s[E>>3])*.5+.5)|0);s[V>>3]=d;s[E>>3]=d;A=0;break}if((t|0)==1){d=+(~~((+s[M>>3]+ +s[C>>3])*.5+.5)|0);s[M>>3]=d;s[C>>3]=d;t=0;break}if((l|0)==1){d=+(~~((+s[Q>>3]+ +s[I>>3])*.5+.5)|0);s[Q>>3]=d;s[I>>3]=d;l=0}}else{d=+(~~((+s[Y>>3]+ +s[W>>3])*.5+.5)|0);s[Y>>3]=d;s[W>>3]=d;r=0}}while(0);c=c+1|0}}}while(0);B=+s[E>>3];k=+s[W>>3];w=+s[Y>>3];d=+s[V>>3];l=YG(~~B,~~k,~~w,~~d)|0;o=+s[I>>3];b=+s[C>>3];a=+s[M>>3];f=+s[Q>>3];r=YG(~~o,~~b,~~a,~~f)|0;if(!((l|0)!=0&(r|0)!=0)){G=y;continue}if((l|0)<(r|0)){Q=k-B>d-w;G=k<d;s[(Q?G?W:E:G?Y:V)>>3]=Q?G?w:d:G?k:B;G=y;continue}else{Q=b-o>f-a;G=b<f;s[(Q?G?W:E:G?Y:V)+8>>3]=Q?G?a:f:G?b:o;G=y;continue}}if((D|0)==16){n[J>>2]=y;Gy(1,90074,J)|0;yG(i);r=1;break}f=+s[i>>3];a=+s[e>>3];if(!(((!(f<a)?!(f>+s[z>>3]):0)?(p=+s[i+8>>3],!(p<+s[R>>3])):0)?!(p>+s[H>>3]):0)){if(0){VR(90163,42,1,P)|0;yG(i);a=+s[e>>3];f=+s[i>>3]}if(f<a)s[i>>3]=a;else a=f;f=+s[z>>3];if(a>f)s[i>>3]=f;r=i+8|0;a=+s[r>>3];f=+s[R>>3];if(a<f){s[r>>3]=f;a=f}f=+s[H>>3];if(a>f)s[r>>3]=f}l=i+40|0;f=+s[l>>3];r=e+(L<<5)|0;a=+s[r>>3];if(((!(f<a)?!(f>+s[e+(L<<5)+16>>3]):0)?(F=+s[i+48>>3],!(F<+s[e+(L<<5)+8>>3])):0)?!(F>+s[e+(L<<5)+24>>3]):0){r=0;break}if(0){VR(90206,39,1,P)|0;yG(i);a=+s[r>>3];f=+s[l>>3]}if(f<a){s[l>>3]=a;f=a}a=+s[e+(L<<5)+16>>3];if(f>a)s[l>>3]=a;r=i+48|0;f=+s[r>>3];a=+s[e+(L<<5)+8>>3];if(f<a)s[r>>3]=a;else a=f;f=+s[e+(L<<5)+24>>3];if(a>f){s[r>>3]=f;r=0}else r=0}else D=12}while(0);if((D|0)==12){Gy(1,90029,c)|0;yG(i);r=1}v=X;return r|0}function EG(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,l=0,t=0,c=0,b=0,o=0.0,u=0.0,v=0,B=0,k=0,w=0,d=0,h=0.0,g=0,Z=0.0,G=0.0,m=0.0,I=0.0,C=0.0;d=X(f,e)|0;h=1.0/+(d|0);f=0;A:while(1){g=f+3|0;if((g|0)>=(r|0))break;v=i+(f<<4)|0;B=i+(f<<4)+8|0;w=f+1|0;k=i+(w<<4)|0;w=i+(w<<4)+8|0;t=f+2|0;l=i+(t<<4)|0;t=i+(t<<4)+8|0;c=i+(g<<4)|0;b=i+(g<<4)+8|0;a=0;while(1){if((a|0)>(d|0)){f=g;continue A}Z=h*+(a|0);o=+s[v>>3];u=+s[B>>3];I=+s[k>>3];G=+s[w>>3];C=+s[l>>3];m=+s[t>>3];o=(I-o)*Z+o;u=(G-u)*Z+u;I=(C-I)*Z+I;G=(m-G)*Z+G;o=(I-o)*Z+o;u=(G-u)*Z+u;o=((C-I+(+s[c>>3]-C)*Z)*Z+I-o)*Z+o;u=((m-G+(+s[b>>3]-m)*Z)*Z+G-u)*Z+u;n=0;while(1){if((n|0)>=(e|0))break;if(u<=+s[A+(n<<5)+24>>3]+.0001?u>=+s[A+(n<<5)+8>>3]+-.0001:0){f=A+(n<<5)|0;if(+s[f>>3]>o)s[f>>3]=o;f=A+(n<<5)+16|0;if(+s[f>>3]<o)s[f>>3]=o}n=n+1|0}a=a+1|0}}return}function yG(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0.0,u=0.0,B=0.0,k=0.0,w=0;b=v;v=v+112|0;t=b+80|0;c=b+48|0;l=b+8|0;a=b;i=n[13918]|0;f=A+80|0;n[a>>2]=n[f>>2];lR(i,90246,a)|0;a=A+84|0;e=0;while(1){if((e|0)>=(n[f>>2]|0))break;w=n[a>>2]|0;k=+s[w+(e<<5)>>3];B=+s[w+(e<<5)+8>>3];u=+s[w+(e<<5)+16>>3];o=+s[w+(e<<5)+24>>3];n[l>>2]=e;s[l+8>>3]=k;s[l+16>>3]=B;s[l+24>>3]=u;s[l+32>>3]=o;lR(i,90257,l)|0;e=e+1|0}k=+s[A+8>>3];B=+s[A+16>>3];w=r[A+29>>0]|0?90288:90300;s[c>>3]=+s[A>>3];s[c+8>>3]=k;s[c+16>>3]=B;n[c+24>>2]=w;lR(i,90316,c)|0;B=+s[A+48>>3];k=+s[A+56>>3];w=r[A+69>>0]|0?90288:90300;s[t>>3]=+s[A+40>>3];s[t+8>>3]=B;s[t+16>>3]=k;n[t+24>>2]=w;lR(i,90367,t)|0;v=b;return}function YG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;do{if((e|0)>(i|0)&(r|0)>(A|0)){if(!((i|0)>(A|0)|(r|0)<(A|0))){A=r-A|0;break}if((e|0)<(i|0)|(e|0)>(r|0)){e=e-A|0;A=r-i|0;A=(e|0)<(A|0)?e:A;break}else{A=e-i|0;break}}else A=0}while(0);return A|0}function VG(A,e){A=A|0;e=e|0;return MG(A,e,1)|0}function WG(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0,t=0,c=0,b=0.0,o=0.0,u=0.0,B=0.0,k=0.0,w=0,d=0.0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,W=0,J=0,N=0,z=0,p=0,R=0.0,P=0.0,H=0.0,F=0,L=0;p=v;v=v+304|0;M=p+272|0;C=p+208|0;W=p+96|0;J=p+32|0;N=p+16|0;z=p;w=p+192|0;I=p+176|0;l=p+160|0;Q=p+296|0;E=p+288|0;t=n[e>>2]|0;G=n[t>>2]&3;c=t+-48|0;y=n[((G|0)==2?t:c)+40>>2]|0;h=W+16|0;G=(n[(n[((G|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+16|0;m=t+16|0;Y=(n[m>>2]|0)+16|0;n[C>>2]=n[G>>2];n[C+4>>2]=n[G+4>>2];n[C+8>>2]=n[G+8>>2];n[C+12>>2]=n[G+12>>2];n[M>>2]=n[Y>>2];n[M+4>>2]=n[Y+4>>2];n[M+8>>2]=n[Y+8>>2];n[M+12>>2]=n[Y+12>>2];JG(w,C,M);n[W>>2]=n[w>>2];n[W+4>>2]=n[w+4>>2];n[W+8>>2]=n[w+8>>2];n[W+12>>2]=n[w+12>>2];n[h>>2]=n[w>>2];n[h+4>>2]=n[w+4>>2];n[h+8>>2]=n[w+8>>2];n[h+12>>2]=n[w+12>>2];n[N>>2]=n[w>>2];n[N+4>>2]=n[w+4>>2];n[N+8>>2]=n[w+8>>2];n[N+12>>2]=n[w+12>>2];w=W+32|0;Y=W+48|0;G=(n[y+16>>2]|0)+16|0;m=(n[m>>2]|0)+56|0;n[C>>2]=n[G>>2];n[C+4>>2]=n[G+4>>2];n[C+8>>2]=n[G+8>>2];n[C+12>>2]=n[G+12>>2];n[M>>2]=n[m>>2];n[M+4>>2]=n[m+4>>2];n[M+8>>2]=n[m+8>>2];n[M+12>>2]=n[m+12>>2];JG(I,C,M);n[Y>>2]=n[I>>2];n[Y+4>>2]=n[I+4>>2];n[Y+8>>2]=n[I+8>>2];n[Y+12>>2]=n[I+12>>2];n[w>>2]=n[I>>2];n[w+4>>2]=n[I+4>>2];n[w+8>>2]=n[I+8>>2];n[w+12>>2]=n[I+12>>2];n[z>>2]=n[I>>2];n[z+4>>2]=n[I+4>>2];n[z+8>>2]=n[I+8>>2];n[z+12>>2]=n[I+12>>2];A:do{if((i|0)!=1&(r[174072]|0)==0){b=+s[W>>3];o=+s[Y>>3];R=b-o;u=+s[W+8>>3];B=+s[W+56>>3];d=u-B;k=d*d;if(k+R*R<1.0e-06){n[h>>2]=n[W>>2];n[h+4>>2]=n[W+4>>2];n[h+8>>2]=n[W+8>>2];n[h+12>>2]=n[W+12>>2];n[w>>2]=n[Y>>2];n[w+4>>2]=n[Y+4>>2];n[w+8>>2]=n[Y+8>>2];n[w+12>>2]=n[Y+12>>2];I=W+24|0;m=W+40|0;o=0.0;b=0.0}else{P=o-b;R=+V(+(k+P*P));G=n[(n[(n[A+60>>2]|0)+16>>2]|0)+248>>2]|0;H=+((X(G,i+-1|0)|0)/2|0|0);k=d*H/R;s[h>>3]=k+b;b=P*H/R;I=W+24|0;s[I>>3]=b+u;s[w>>3]=k+o;m=W+40|0;s[m>>3]=B+b;b=+(0-G|0);o=P*b/R;b=d*b/R}f=(f|0)==6;g=E+4|0;Z=Q+4|0;t=0;while(1){if((t|0)>=(i|0))break A;G=n[e+(t<<2)>>2]|0;c=G+-48|0;e:do{if((n[((n[G>>2]&3|0)==2?G:c)+40>>2]|0)==(y|0)){n[N>>2]=n[W>>2];n[N+4>>2]=n[W+4>>2];n[N+8>>2]=n[W+8>>2];n[N+12>>2]=n[W+12>>2];n[z>>2]=n[Y>>2];n[z+4>>2]=n[Y+4>>2];n[z+8>>2]=n[Y+8>>2];n[z+12>>2]=n[Y+12>>2];l=0;while(1){if((l|0)==4)break e;F=J+(l<<4)|0;L=W+(l<<4)|0;n[F>>2]=n[L>>2];n[F+4>>2]=n[L+4>>2];n[F+8>>2]=n[L+8>>2];n[F+12>>2]=n[L+12>>2];l=l+1|0}}else{n[N>>2]=n[Y>>2];n[N+4>>2]=n[Y+4>>2];n[N+8>>2]=n[Y+8>>2];n[N+12>>2]=n[Y+12>>2];n[z>>2]=n[W>>2];n[z+4>>2]=n[W+4>>2];n[z+8>>2]=n[W+8>>2];n[z+12>>2]=n[W+12>>2];l=0;while(1){if((l|0)==4)break e;L=J+(3-l<<4)|0;F=W+(l<<4)|0;n[L>>2]=n[F>>2];n[L+4>>2]=n[F+4>>2];n[L+8>>2]=n[F+8>>2];n[L+12>>2]=n[F+12>>2];l=l+1|0}}}while(0);if(f){n[g>>2]=4;n[E>>2]=C;l=0;while(1){if((l|0)==4)break;L=C+(l<<4)|0;F=J+(l<<4)|0;n[L>>2]=n[F>>2];n[L+4>>2]=n[F+4>>2];n[L+8>>2]=n[F+8>>2];n[L+12>>2]=n[F+12>>2];l=l+1|0}n[M>>2]=n[E>>2];n[M+4>>2]=n[E+4>>2];JN(M,Q);jm(G,n[((n[G>>2]&3|0)==2?G:c)+40>>2]|0,n[Q>>2]|0,n[Z>>2]|0,a)}else jm(G,n[((n[G>>2]&3|0)==2?G:c)+40>>2]|0,J,4,a);n[C>>2]=n[N>>2];n[C+4>>2]=n[N+4>>2];n[C+8>>2]=n[N+8>>2];n[C+12>>2]=n[N+12>>2];n[M>>2]=n[z>>2];n[M+4>>2]=n[z+4>>2];n[M+8>>2]=n[z+8>>2];n[M+12>>2]=n[z+12>>2];vI(A,G,C,M);s[h>>3]=+s[h>>3]+b;s[I>>3]=+s[I>>3]+o;s[w>>3]=+s[w>>3]+b;s[m>>3]=+s[m>>3]+o;t=t+1|0}}else{if((f|0)==4){NG(l,A);n[M>>2]=n[l>>2];n[M+4>>2]=n[l+4>>2];n[M+8>>2]=n[l+8>>2];n[M+12>>2]=n[l+12>>2];zG(W,M)}jm(t,n[((n[t>>2]&3|0)==2?t:c)+40>>2]|0,W,4,a);n[C>>2]=n[N>>2];n[C+4>>2]=n[N+4>>2];n[C+8>>2]=n[N+8>>2];n[C+12>>2]=n[N+12>>2];n[M>>2]=n[z>>2];n[M+4>>2]=n[z+4>>2];n[M+8>>2]=n[z+8>>2];n[M+12>>2]=n[z+12>>2];vI(A,t,C,M)}}while(0);v=p;return}function JG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+s[i+8>>3]+ +s[e+8>>3];s[A>>3]=+s[i>>3]+ +s[e>>3];s[A+8>>3]=r;return}function NG(A,e){A=A|0;e=e|0;e=n[e+16>>2]|0;s[20899]=(+s[e+32>>3]+ +s[e+16>>3])*.5;s[20900]=(+s[e+40>>3]+ +s[e+24>>3])*.5;n[A>>2]=n[41798];n[A+4>>2]=n[41799];n[A+8>>2]=n[41800];n[A+12>>2]=n[41801];return}function zG(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,n=0.0,a=0.0,l=0.0;n=+s[A>>3];r=+s[A+48>>3];l=(r+n)*.5;a=+s[A+8>>3];i=+s[A+56>>3];f=(i+a)*.5;n=r-n;a=i-a;n=+V(+(a*a+n*n))*.2;a=+s[e>>3]-l;i=+s[e+8>>3]-f;r=+V(+(i*i+a*a));if(!(r==0.0)){a=l-a/r*n;l=f-i/r*n;s[A+32>>3]=a;s[A+16>>3]=a;s[A+40>>3]=l;s[A+24>>3]=l}return}function pG(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,b=0.0,o=0,u=0.0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0.0,W=0,J=0.0,N=0.0,z=0.0;y=v;v=v+208|0;h=y+192|0;d=y+176|0;Q=y+32|0;G=y+16|0;m=y;I=y+160|0;C=y+144|0;g=y+128|0;Z=y+112|0;a=r&2130706432;M=(r&8|0)==0?(a|0)==0?4:a:8;if((M|0)==436207616)RG(A,e,i,f);else{E=Jg((i<<6)+64|0)|0;B=i+-1|0;k=m+8|0;w=G+8|0;u=12.0;r=0;while(1){if((r|0)>=(i|0))break;o=e+(r<<4)|0;n[G>>2]=n[o>>2];n[G+4>>2]=n[o+4>>2];n[G+8>>2]=n[o+8>>2];n[G+12>>2]=n[o+12>>2];if((r|0)<(B|0)){r=r+1|0;o=e+(r<<4)|0;n[m>>2]=n[o>>2];n[m+4>>2]=n[o+4>>2];n[m+8>>2]=n[o+8>>2];n[m+12>>2]=n[o+12>>2]}else{n[m>>2]=n[e>>2];n[m+4>>2]=n[e+4>>2];n[m+8>>2]=n[e+8>>2];n[m+12>>2]=n[e+12>>2];r=r+1|0}b=+s[m>>3]-+s[G>>3];Y=+s[k>>3]-+s[w>>3];b=+V(+(Y*Y+b*b))*.3333333333333333;u=u<b?u:b}c=(a|16777216|0)==83886080;o=(M|0)==4;t=(a|0)==16777216;r=0;l=0;while(1){if((l|0)>=(i|0))break;a=e+(l<<4)|0;n[G>>2]=n[a>>2];n[G+4>>2]=n[a+4>>2];n[G+8>>2]=n[a+8>>2];n[G+12>>2]=n[a+12>>2];if((l|0)<(B|0)){a=e+(l+1<<4)|0;n[m>>2]=n[a>>2];n[m+4>>2]=n[a+4>>2];n[m+8>>2]=n[a+8>>2];n[m+12>>2]=n[a+12>>2]}else{n[m>>2]=n[e>>2];n[m+4>>2]=n[e+4>>2];n[m+8>>2]=n[e+8>>2];n[m+12>>2]=n[e+12>>2]}b=+s[m>>3]-+s[G>>3];Y=+s[k>>3]-+s[w>>3];b=u/+V(+(Y*Y+b*b));b=c?b*.3333333333333333:t?b*.5:b;a=E+(r<<4)|0;if(o){n[d>>2]=n[G>>2];n[d+4>>2]=n[G+4>>2];n[d+8>>2]=n[G+8>>2];n[d+12>>2]=n[G+12>>2];n[h>>2]=n[m>>2];n[h+4>>2]=n[m+4>>2];n[h+8>>2]=n[m+8>>2];n[h+12>>2]=n[m+12>>2];PG(I,b*.5,d,h);n[a>>2]=n[I>>2];n[a+4>>2]=n[I+4>>2];n[a+8>>2]=n[I+8>>2];n[a+12>>2]=n[I+12>>2]}else{n[a>>2]=n[G>>2];n[a+4>>2]=n[G+4>>2];n[a+8>>2]=n[G+8>>2];n[a+12>>2]=n[G+12>>2]}a=E+(r+1<<4)|0;n[d>>2]=n[G>>2];n[d+4>>2]=n[G+4>>2];n[d+8>>2]=n[G+8>>2];n[d+12>>2]=n[G+12>>2];n[h>>2]=n[m>>2];n[h+4>>2]=n[m+4>>2];n[h+8>>2]=n[m+8>>2];n[h+12>>2]=n[m+12>>2];PG(C,b,d,h);n[a>>2]=n[C>>2];n[a+4>>2]=n[C+4>>2];n[a+8>>2]=n[C+8>>2];n[a+12>>2]=n[C+12>>2];a=r+3|0;W=E+(r+2<<4)|0;n[d>>2]=n[G>>2];n[d+4>>2]=n[G+4>>2];n[d+8>>2]=n[G+8>>2];n[d+12>>2]=n[G+12>>2];n[h>>2]=n[m>>2];n[h+4>>2]=n[m+4>>2];n[h+8>>2]=n[m+8>>2];n[h+12>>2]=n[m+12>>2];PG(g,1.0-b,d,h);n[W>>2]=n[g>>2];n[W+4>>2]=n[g+4>>2];n[W+8>>2]=n[g+8>>2];n[W+12>>2]=n[g+12>>2];if(o){W=E+(a<<4)|0;n[d>>2]=n[G>>2];n[d+4>>2]=n[G+4>>2];n[d+8>>2]=n[G+8>>2];n[d+12>>2]=n[G+12>>2];n[h>>2]=n[m>>2];n[h+4>>2]=n[m+4>>2];n[h+8>>2]=n[m+8>>2];n[h+12>>2]=n[m+12>>2];PG(Z,1.0-b*.5,d,h);n[W>>2]=n[Z>>2];n[W+4>>2]=n[Z+4>>2];n[W+8>>2]=n[Z+8>>2];n[W+12>>2]=n[Z+12>>2];r=r+4|0}else r=a;l=l+1|0}c=E+(r<<4)|0;n[c>>2]=n[E>>2];n[c+4>>2]=n[E+4>>2];n[c+8>>2]=n[E+8>>2];n[c+12>>2]=n[E+12>>2];c=E+(r+1<<4)|0;t=E+16|0;n[c>>2]=n[t>>2];n[c+4>>2]=n[t+4>>2];n[c+8>>2]=n[t+8>>2];n[c+12>>2]=n[t+12>>2];r=E+(r+2<<4)|0;c=E+32|0;n[r>>2]=n[c>>2];n[r+4>>2]=n[c+4>>2];n[r+8>>2]=n[c+8>>2];n[r+12>>2]=n[c+12>>2];r=M&2147483647;A:do{if((r|0)<201326592){if((r|0)>=83886080){if((r|0)<134217728){if((r|0)<100663296){switch(r|0){case 83886080:break;default:break A}if((i|0)==4){W=Jg(192)|0;n[W>>2]=n[e>>2];n[W+4>>2]=n[e+4>>2];n[W+8>>2]=n[e+8>>2];n[W+12>>2]=n[e+12>>2];B=W+16|0;h=e+16|0;n[B>>2]=n[h>>2];n[B+4>>2]=n[h+4>>2];n[B+8>>2]=n[h+8>>2];n[B+12>>2]=n[h+12>>2];B=E+48|0;h=E+64|0;u=+s[h>>3];o=W+32|0;s[o>>3]=u;k=E+56|0;w=E+72|0;J=+s[w>>3];C=W+40|0;s[C>>3]=J;Y=+s[B>>3]+u-+s[c>>3];g=W+48|0;s[g>>3]=Y;z=+s[k>>3]+J-+s[E+40>>3];m=W+56|0;s[m>>3]=z;N=+s[h>>3]+Y-+s[B>>3];B=W+64|0;s[B>>3]=N;b=+s[w>>3]+z-+s[k>>3];k=W+72|0;s[k>>3]=b;w=W+80|0;s[w>>3]=u+N-Y;s[W+88>>3]=J+b-z;h=E+96|0;Z=E+80|0;z=+s[Z>>3];i=W+144|0;s[i>>3]=z;G=E+104|0;d=E+88|0;b=+s[d>>3];s[W+152>>3]=b;J=+s[h>>3]+z-+s[E+112>>3];I=W+128|0;s[I>>3]=J;Y=+s[G>>3]+b-+s[E+120>>3];M=W+136|0;s[M>>3]=Y;N=+s[Z>>3]+J-+s[h>>3];h=W+112|0;s[h>>3]=N;u=+s[d>>3]+Y-+s[G>>3];G=W+120|0;s[G>>3]=u;d=W+96|0;s[d>>3]=z+N-J;Z=W+104|0;s[Z>>3]=b+u-Y;c=W+160|0;t=e+32|0;n[c>>2]=n[t>>2];n[c+4>>2]=n[t+4>>2];n[c+8>>2]=n[t+8>>2];n[c+12>>2]=n[t+12>>2];c=W+176|0;e=e+48|0;n[c>>2]=n[e>>2];n[c+4>>2]=n[e+4>>2];n[c+8>>2]=n[e+8>>2];n[c+12>>2]=n[e+12>>2];ls(A,W,12,f);n[Q>>2]=n[o>>2];n[Q+4>>2]=n[o+4>>2];n[Q+8>>2]=n[o+8>>2];n[Q+12>>2]=n[o+12>>2];Y=+s[o>>3];u=+s[g>>3];Y=Y+Y-u;g=Q+16|0;s[g>>3]=Y;b=+s[C>>3];J=+s[m>>3];b=b+b-J;m=Q+24|0;s[m>>3]=b;C=Q+32|0;s[C>>3]=+s[B>>3]+Y-u;e=Q+40|0;s[e>>3]=+s[k>>3]+b-J;f=Q+48|0;n[f>>2]=n[w>>2];n[f+4>>2]=n[w+4>>2];n[f+8>>2]=n[w+8>>2];n[f+12>>2]=n[w+12>>2];ss(A,Q,4);n[Q>>2]=n[d>>2];n[Q+4>>2]=n[d+4>>2];n[Q+8>>2]=n[d+8>>2];n[Q+12>>2]=n[d+12>>2];J=+s[d>>3];b=+s[h>>3];J=J-(b-J);s[g>>3]=J;u=+s[Z>>3];Y=+s[G>>3];u=u-(Y-u);s[m>>3]=u;s[C>>3]=+s[I>>3]+J-b;s[e>>3]=+s[M>>3]+u-Y;n[f>>2]=n[i>>2];n[f+4>>2]=n[i+4>>2];n[f+8>>2]=n[i+8>>2];n[f+12>>2]=n[i+12>>2];ss(A,Q,4);zN(W);break}else BA(90416,90427,737,90436)}if((r|0)<117440512){switch(r|0){case 100663296:break;default:break A}I=i+5|0;W=Jg(I<<4)|0;C=e+16|0;J=+s[C>>3];J=(+s[e>>3]-J)*.625+J;s[W>>3]=J;M=e+40|0;z=+s[M>>3];i=e+24|0;Z=E+48|0;G=E+56|0;m=E+72|0;z=(+s[i>>3]-z)*.5+z+(+s[G>>3]-+s[m>>3])*1.5;s[W+8>>3]=z;N=+s[C>>3];N=(+s[e>>3]-N)*.25+N;s[W+16>>3]=N;s[W+24>>3]=z;s[W+32>>3]=N;Y=+s[M>>3];s[W+40>>3]=(+s[i>>3]-Y)*.5+Y;N=(+s[c>>3]-+s[Z>>3])*.5+N;s[W+48>>3]=N;Y=+s[M>>3];s[W+56>>3]=(+s[i>>3]-Y)*.5+Y;s[W+64>>3]=N;N=+s[M>>3];N=(+s[i>>3]-N)*.5+N+(+s[G>>3]-+s[m>>3]);s[W+72>>3]=N;s[W+80>>3]=J;s[W+88>>3]=N;s[W+96>>3]=J;N=N-(+s[G>>3]-+s[m>>3])*.25;s[W+104>>3]=N;s[W+112>>3]=+s[c>>3]+J-+s[Z>>3];s[W+120>>3]=(+s[G>>3]-+s[m>>3])*.5+N;s[W+128>>3]=+s[W>>3];s[W+136>>3]=(+s[G>>3]-+s[m>>3])*.25+z;ls(A,W,I,f);s[Q>>3]=+s[C>>3];z=+s[M>>3];s[Q+8>>3]=(+s[i>>3]-z)*.5+z;s[Q+16>>3]=+s[e>>3];s[Q+24>>3]=(+s[e+8>>3]-+s[e+56>>3])*.5+z;ss(A,Q,2);zN(W);break}else{switch(r|0){case 117440512:break;default:break A}i=i+1|0;W=Jg(i<<4)|0;s[W>>3]=+s[t>>3];C=E+56|0;M=E+72|0;s[W+8>>3]=+s[E+24>>3]-(+s[C>>3]-+s[M>>3])*.5;s[W+16>>3]=+s[E+48>>3];z=+s[C>>3];s[W+24>>3]=z-(z-+s[M>>3])*.5;s[W+32>>3]=+s[e+32>>3];Q=e+40|0;s[W+40>>3]=(+s[C>>3]-+s[M>>3])*.5+ +s[Q>>3];s[W+48>>3]=+s[t>>3];s[W+56>>3]=(+s[C>>3]-+s[M>>3])*.5+ +s[Q>>3];z=+s[e+8>>3];s[W+72>>3]=z-(z-+s[e+56>>3])*.5;s[W+64>>3]=+s[e>>3];ls(A,W,i,f);zN(W);break}}if((r|0)<167772160)if((r|0)<150994944){switch(r|0){case 134217728:break;default:break A}I=i+4|0;W=Jg(I<<4)|0;C=e+16|0;Y=+s[C>>3];m=E+48|0;Y=(+s[e>>3]-Y)*.5+Y+(+s[c>>3]-+s[m>>3])*.25;s[W>>3]=Y;M=e+40|0;z=+s[M>>3];i=e+24|0;z=(+s[i>>3]-z)*.5+z;s[W+8>>3]=z;s[W+16>>3]=Y;Z=E+56|0;G=E+72|0;J=(+s[Z>>3]-+s[G>>3])*.5+z;s[W+24>>3]=J;Y=(+s[c>>3]-+s[m>>3])*.5+Y;s[W+32>>3]=Y;s[W+40>>3]=J;s[W+48>>3]=Y;Y=(+s[Z>>3]-+s[G>>3])*.5+J;s[W+56>>3]=Y;N=+s[C>>3];N=(+s[e>>3]-N)*.5+N+(+s[c>>3]-+s[m>>3])*-.75;s[W+64>>3]=N;s[W+72>>3]=Y;s[W+80>>3]=N;s[W+88>>3]=J;N=+s[C>>3];N=(+s[e>>3]-N)*.5+N+(+s[c>>3]-+s[m>>3])*-.25;s[W+96>>3]=N;s[W+104>>3]=J;s[W+112>>3]=N;s[W+120>>3]=z;ls(A,W,I,f);s[Q>>3]=+s[C>>3];z=+s[M>>3];s[Q+8>>3]=(+s[i>>3]-z)*.5+z;s[Q+16>>3]=+s[e>>3];s[Q+24>>3]=(+s[e+8>>3]-+s[e+56>>3])*.5+z;ss(A,Q,2);zN(W);break}else{switch(r|0){case 150994944:break;default:break A}I=i+2|0;W=Jg(I<<4)|0;C=e+16|0;J=+s[C>>3];m=E+48|0;J=(+s[e>>3]-J)*.5+J+(+s[c>>3]-+s[m>>3])*.75;s[W>>3]=J;M=e+40|0;z=+s[M>>3];i=e+24|0;z=(+s[i>>3]-z)*.5+z;s[W+8>>3]=z;s[W+16>>3]=J;Z=E+56|0;G=E+72|0;J=(+s[Z>>3]-+s[G>>3])*.25+z;s[W+24>>3]=J;N=+s[C>>3];s[W+32>>3]=(+s[e>>3]-N)*.5+N+(+s[c>>3]-+s[m>>3])*.25;N=(+s[Z>>3]-+s[G>>3])*.5+J;s[W+40>>3]=N;Y=+s[C>>3];s[W+48>>3]=(+s[e>>3]-Y)*.5+Y+(+s[c>>3]-+s[m>>3])*-.25;s[W+56>>3]=N;N=+s[C>>3];N=(+s[e>>3]-N)*.5+N+(+s[c>>3]-+s[m>>3])*-.75;s[W+64>>3]=N;s[W+72>>3]=J;s[W+80>>3]=N;s[W+88>>3]=z;ls(A,W,I,f);s[Q>>3]=+s[C>>3];z=+s[M>>3];s[Q+8>>3]=(+s[i>>3]-z)*.5+z;s[Q+16>>3]=+s[e>>3];s[Q+24>>3]=(+s[e+8>>3]-+s[e+56>>3])*.5+z;ss(A,Q,2);zN(W);break}else if((r|0)<184549376){switch(r|0){case 167772160:break;default:break A}I=i+1|0;W=Jg(I<<4)|0;C=e+16|0;J=+s[C>>3];Z=E+48|0;J=+s[c>>3]+J+(+s[e>>3]-J)*.5-+s[Z>>3];s[W>>3]=J;M=e+40|0;z=+s[M>>3];i=e+24|0;G=E+56|0;m=E+72|0;z=(+s[i>>3]-z)*.5+z+(+s[G>>3]-+s[m>>3])*.25;s[W+8>>3]=z;J=J-+s[c>>3]+ +s[Z>>3];s[W+16>>3]=J;s[W+24>>3]=+s[G>>3]+z-+s[m>>3];s[W+32>>3]=J;J=(+s[G>>3]-+s[m>>3])*.5+z;s[W+40>>3]=J;N=+s[C>>3];N=(+s[e>>3]-N)*.25+N;s[W+48>>3]=N;s[W+56>>3]=J;s[W+64>>3]=N;s[W+72>>3]=z;ls(A,W,I,f);s[Q>>3]=+s[C>>3];z=+s[M>>3];s[Q+8>>3]=(+s[i>>3]-z)*.5+z;s[Q+16>>3]=+s[e>>3];s[Q+24>>3]=(+s[e+8>>3]-+s[e+56>>3])*.5+z;ss(A,Q,2);zN(W);break}else{switch(r|0){case 184549376:break;default:break A}C=i+4|0;W=Jg(C<<4)|0;I=e+16|0;J=+s[I>>3];N=+s[e>>3]-J;g=E+48|0;N=N*.125+J+(+s[c>>3]-+s[g>>3]+N)*.5;s[W>>3]=N;G=e+40|0;J=+s[G>>3];m=e+24|0;i=E+56|0;Z=E+72|0;J=(+s[m>>3]-J)*.5+J+(+s[i>>3]-+s[Z>>3])*.25;s[W+8>>3]=J;z=+s[I>>3];z=(+s[e>>3]-z)*.375+z;s[W+16>>3]=z;s[W+24>>3]=J;s[W+32>>3]=z;J=(+s[i>>3]-+s[Z>>3])*.5+J;s[W+40>>3]=J;z=z-(+s[c>>3]-+s[g>>3])*.5;s[W+48>>3]=z;s[W+56>>3]=J;M=W+64|0;s[M>>3]=z;z=+s[G>>3];z=(+s[m>>3]-z)*.5+z+(+s[i>>3]-+s[Z>>3])*-.25;s[W+72>>3]=z;J=N-(+s[c>>3]-+s[g>>3])*.5;s[W+80>>3]=J;s[W+88>>3]=z;s[W+96>>3]=J;z=z-(+s[i>>3]-+s[Z>>3])*.5;s[W+104>>3]=z;Z=W+112|0;s[Z>>3]=N;s[W+120>>3]=z;ls(A,W,C,f);s[Q>>3]=+s[I>>3];z=+s[G>>3];I=Q+8|0;s[I>>3]=(+s[m>>3]-z)*.5+z;C=Q+16|0;s[C>>3]=+s[M>>3];M=e+8|0;i=e+56|0;f=Q+24|0;s[f>>3]=(+s[M>>3]-+s[i>>3])*.5+z;ss(A,Q,2);s[Q>>3]=+s[Z>>3];z=+s[G>>3];s[I>>3]=(+s[m>>3]-z)*.5+z;s[C>>3]=+s[e>>3];s[f>>3]=(+s[M>>3]-+s[i>>3])*.5+z;ss(A,Q,2);zN(W);break}}if((r|0)<33554432){if((r|0)<8){switch(r|0){case 4:break;default:break A}l=Ng((i*96|0)+32|0)|0;r=0;a=0;while(1){t=a|1;c=l+(a<<4)|0;if((r|0)>=(i|0))break;e=r<<2;W=E+(e<<4)|0;n[c>>2]=n[W>>2];n[c+4>>2]=n[W+4>>2];n[c+8>>2]=n[W+8>>2];n[c+12>>2]=n[W+12>>2];W=l+(t<<4)|0;Q=E+((e|1)<<4)|0;n[W>>2]=n[Q>>2];n[W+4>>2]=n[Q+4>>2];n[W+8>>2]=n[Q+8>>2];n[W+12>>2]=n[Q+12>>2];W=l+(a+2<<4)|0;n[W>>2]=n[Q>>2];n[W+4>>2]=n[Q+4>>2];n[W+8>>2]=n[Q+8>>2];n[W+12>>2]=n[Q+12>>2];W=l+(a+3<<4)|0;Q=E+((e|2)<<4)|0;n[W>>2]=n[Q>>2];n[W+4>>2]=n[Q+4>>2];n[W+8>>2]=n[Q+8>>2];n[W+12>>2]=n[Q+12>>2];W=l+(a+4<<4)|0;n[W>>2]=n[Q>>2];n[W+4>>2]=n[Q+4>>2];n[W+8>>2]=n[Q+8>>2];n[W+12>>2]=n[Q+12>>2];W=l+(a+5<<4)|0;e=E+((e|3)<<4)|0;n[W>>2]=n[e>>2];n[W+4>>2]=n[e+4>>2];n[W+8>>2]=n[e+8>>2];n[W+12>>2]=n[e+12>>2];r=r+1|0;a=a+6|0}n[c>>2]=n[l>>2];n[c+4>>2]=n[l+4>>2];n[c+8>>2]=n[l+8>>2];n[c+12>>2]=n[l+12>>2];i=l+(t<<4)|0;W=l+16|0;n[i>>2]=n[W>>2];n[i+4>>2]=n[W+4>>2];n[i+8>>2]=n[W+8>>2];n[i+12>>2]=n[W+12>>2];cs(A,W,t,0,0,f&255);zN(l);break}if((r|0)<16777216){switch(r|0){case 8:break;default:break A}ls(A,e,i,f);a=Q+16|0;r=0;while(1){if((r|0)>=(i|0))break A;W=r*3|0;f=E+(W+2<<4)|0;n[Q>>2]=n[f>>2];n[Q+4>>2]=n[f+4>>2];n[Q+8>>2]=n[f+8>>2];n[Q+12>>2]=n[f+12>>2];W=E+(W+4<<4)|0;n[a>>2]=n[W>>2];n[a+4>>2]=n[W+4>>2];n[a+8>>2]=n[W+8>>2];n[a+12>>2]=n[W+12>>2];ss(A,Q,2);r=r+1|0}}switch(r|0){case 16777216:break;default:break A}a=i+1|0;l=Jg(a<<4)|0;r=1;while(1){if((r|0)>=(i|0))break;W=l+(r<<4)|0;M=e+(r<<4)|0;n[W>>2]=n[M>>2];n[W+4>>2]=n[M+4>>2];n[W+8>>2]=n[M+8>>2];n[W+12>>2]=n[M+12>>2];r=r+1|0}e=i*3|0;M=E+(e+1<<4)|0;n[l>>2]=n[M>>2];n[l+4>>2]=n[M+4>>2];n[l+8>>2]=n[M+8>>2];n[l+12>>2]=n[M+12>>2];i=l+(i<<4)|0;W=E+(e+-1<<4)|0;n[i>>2]=n[W>>2];n[i+4>>2]=n[W+4>>2];n[i+8>>2]=n[W+8>>2];n[i+12>>2]=n[W+12>>2];ls(A,l,a,f);zN(l);n[Q>>2]=n[W>>2];n[Q+4>>2]=n[W+4>>2];n[Q+8>>2]=n[W+8>>2];n[Q+12>>2]=n[W+12>>2];W=Q+16|0;n[W>>2]=n[M>>2];n[W+4>>2]=n[M+4>>2];n[W+8>>2]=n[M+8>>2];n[W+12>>2]=n[M+12>>2];f=Q+32|0;s[f>>3]=+s[Q>>3]+ +s[W>>3]-+s[E+(e<<4)>>3];s[Q+40>>3]=+s[Q+8>>3]+ +s[Q+24>>3]-+s[E+(e<<4)+8>>3];ss(A,W,2);n[W>>2]=n[f>>2];n[W+4>>2]=n[f+4>>2];n[W+8>>2]=n[f+8>>2];n[W+12>>2]=n[f+12>>2];ss(A,Q,2);break}else{if((r|0)<50331648){switch(r|0){case 33554432:break;default:break A}a=i+2|0;l=Jg(a<<4)|0;n[l>>2]=n[e>>2];n[l+4>>2]=n[e+4>>2];n[l+8>>2]=n[e+8>>2];n[l+12>>2]=n[e+12>>2];t=l+16|0;n[t>>2]=n[c>>2];n[t+4>>2]=n[c+4>>2];n[t+8>>2]=n[c+8>>2];n[t+12>>2]=n[c+12>>2];t=E+48|0;i=E+64|0;s[l+32>>3]=(+s[t>>3]-+s[i>>3])*.3333333333333333+ +s[c>>3];W=E+56|0;r=E+72|0;s[l+40>>3]=(+s[W>>3]-+s[r>>3])*.3333333333333333+ +s[E+40>>3];z=+s[t>>3];s[l+48>>3]=(z-+s[i>>3])*.3333333333333333+z;z=+s[W>>3];s[l+56>>3]=(z-+s[r>>3])*.3333333333333333+z;r=4;while(1){if((r|0)>=(a|0))break;W=l+(r<<4)|0;i=e+(r+-2<<4)|0;n[W>>2]=n[i>>2];n[W+4>>2]=n[i+4>>2];n[W+8>>2]=n[i+8>>2];n[W+12>>2]=n[i+12>>2];r=r+1|0}ls(A,l,a,f);zN(l);n[Q>>2]=n[t>>2];n[Q+4>>2]=n[t+4>>2];n[Q+8>>2]=n[t+8>>2];n[Q+12>>2]=n[t+12>>2];W=Q+16|0;n[W>>2]=n[c>>2];n[W+4>>2]=n[c+4>>2];n[W+8>>2]=n[c+8>>2];n[W+12>>2]=n[c+12>>2];ss(A,Q,2);break}if((r|0)>=67108864){switch(r|0){case 67108864:break;default:break A}if((i|0)==4){W=Jg(96)|0;n[W>>2]=n[e>>2];n[W+4>>2]=n[e+4>>2];n[W+8>>2]=n[e+8>>2];n[W+12>>2]=n[e+12>>2];i=W+16|0;n[i>>2]=n[c>>2];n[i+4>>2]=n[c+4>>2];n[i+8>>2]=n[c+8>>2];n[i+12>>2]=n[c+12>>2];i=W+32|0;M=E+64|0;n[i>>2]=n[M>>2];n[i+4>>2]=n[M+4>>2];n[i+8>>2]=n[M+8>>2];n[i+12>>2]=n[M+12>>2];i=W+48|0;e=e+32|0;n[i>>2]=n[e>>2];n[i+4>>2]=n[e+4>>2];n[i+8>>2]=n[e+8>>2];n[i+12>>2]=n[e+12>>2];e=W+64|0;i=E+128|0;n[e>>2]=n[i>>2];n[e+4>>2]=n[i+4>>2];n[e+8>>2]=n[i+8>>2];n[e+12>>2]=n[i+12>>2];e=W+80|0;C=E+160|0;n[e>>2]=n[C>>2];n[e+4>>2]=n[C+4>>2];n[e+8>>2]=n[C+8>>2];n[e+12>>2]=n[C+12>>2];ls(A,W,6,f);zN(W);s[Q>>3]=+s[E+176>>3]+ +s[t>>3]-+s[E>>3];s[Q+8>>3]=+s[E+184>>3]+ +s[E+24>>3]-+s[E+8>>3];W=Q+16|0;n[W>>2]=n[M>>2];n[W+4>>2]=n[M+4>>2];n[W+8>>2]=n[M+8>>2];n[W+12>>2]=n[M+12>>2];ss(A,Q,2);n[W>>2]=n[i>>2];n[W+4>>2]=n[i+4>>2];n[W+8>>2]=n[i+8>>2];n[W+12>>2]=n[i+12>>2];ss(A,Q,2);n[W>>2]=n[E>>2];n[W+4>>2]=n[E+4>>2];n[W+8>>2]=n[E+8>>2];n[W+12>>2]=n[E+12>>2];ss(A,Q,2);break}else BA(90416,90427,714,90436)}switch(r|0){case 50331648:break;default:break A}a=i+3|0;l=Jg(a<<4)|0;n[l>>2]=n[e>>2];n[l+4>>2]=n[e+4>>2];n[l+8>>2]=n[e+8>>2];n[l+12>>2]=n[e+12>>2];z=+s[e>>3];s[l+16>>3]=z-(z-+s[t>>3])*.25;r=E+56|0;z=(+s[r>>3]-+s[E+72>>3])*.3333333333333333+ +s[e+8>>3];s[l+24>>3]=z;N=+s[e>>3];s[l+32>>3]=N-(N-+s[t>>3])*2.0;s[l+40>>3]=z;z=+s[e>>3];s[l+48>>3]=z-(z-+s[t>>3])*2.25;s[l+56>>3]=+s[r>>3];s[l+64>>3]=+s[E+48>>3];s[l+72>>3]=+s[r>>3];r=4;while(1){if((r|0)>=(a|0))break;W=l+(r<<4)|0;i=e+(r+-3<<4)|0;n[W>>2]=n[i>>2];n[W+4>>2]=n[i+4>>2];n[W+8>>2]=n[i+8>>2];n[W+12>>2]=n[i+12>>2];r=r+1|0}ls(A,l,a,f);zN(l);break}}else if((r|0)<318767104){if((r|0)<251658240){if((r|0)<218103808){switch(r|0){case 201326592:break;default:break A}W=i<<4;g=Jg(W)|0;Z=e+16|0;z=+s[Z>>3];s[g>>3]=z;C=e+40|0;N=+s[C>>3];M=e+24|0;I=E+48|0;G=E+56|0;m=E+72|0;N=(+s[M>>3]-N)*.5+N+(+s[G>>3]-+s[m>>3])*.125;s[g+8>>3]=N;J=(+s[c>>3]-+s[I>>3])*2.0+z;s[g+16>>3]=J;s[g+24>>3]=N;s[g+32>>3]=J;N=(+s[G>>3]-+s[m>>3])*.5+N;s[g+40>>3]=N;s[g+48>>3]=z;s[g+56>>3]=N;ls(A,g,i,f);zN(g);W=Jg(W)|0;N=+s[c>>3]+ +s[Z>>3]-+s[I>>3];s[W>>3]=N;z=+s[C>>3];z=(+s[M>>3]-z)*.5+z+(+s[G>>3]-+s[m>>3])*-.625;s[W+8>>3]=z;J=+s[c>>3]-+s[I>>3]+N;I=W+16|0;s[I>>3]=J;s[W+24>>3]=z;s[W+32>>3]=J;z=(+s[G>>3]-+s[m>>3])*.5+z;s[W+40>>3]=z;s[W+48>>3]=N;s[W+56>>3]=z;ls(A,W,i,f);s[Q>>3]=+s[I>>3];z=+s[C>>3];s[Q+8>>3]=(+s[M>>3]-z)*.5+z;s[Q+16>>3]=+s[e>>3];s[Q+24>>3]=(+s[e+8>>3]-+s[e+56>>3])*.5+z;ss(A,Q,2);zN(W);break}if((r|0)<234881024){switch(r|0){case 218103808:break;default:break A}W=i<<4;G=Jg(W)|0;z=+s[e>>3];s[G>>3]=z;I=e+40|0;N=+s[I>>3];C=e+24|0;m=E+56|0;M=E+72|0;N=(+s[C>>3]-N)*.5+N+(+s[m>>3]-+s[M>>3])*.125;s[G+8>>3]=N;s[G+16>>3]=z;J=(+s[m>>3]-+s[M>>3])*.5+N;s[G+24>>3]=J;z=z-(+s[m>>3]-+s[M>>3])*2.0;s[G+32>>3]=z;s[G+40>>3]=J;s[G+48>>3]=z;s[G+56>>3]=N;ls(A,G,i,f);zN(G);W=Jg(W)|0;N=+s[e>>3]-+s[c>>3]+ +s[E+48>>3];s[W>>3]=N;z=+s[I>>3];z=(+s[C>>3]-z)*.5+z+(+s[m>>3]-+s[M>>3])*-.625;s[W+8>>3]=z;s[W+16>>3]=N;J=(+s[m>>3]-+s[M>>3])*.5+z;s[W+24>>3]=J;N=N-(+s[m>>3]-+s[M>>3]);s[W+32>>3]=N;s[W+40>>3]=J;M=W+48|0;s[M>>3]=N;s[W+56>>3]=z;ls(A,W,i,f);s[Q>>3]=+s[e+16>>3];z=+s[I>>3];s[Q+8>>3]=(+s[C>>3]-z)*.5+z;s[Q+16>>3]=+s[M>>3];s[Q+24>>3]=(+s[e+8>>3]-+s[e+56>>3])*.5+z;ss(A,Q,2);zN(W);break}else{switch(r|0){case 234881024:break;default:break A}W=i<<4;I=Jg(W)|0;g=e+16|0;N=+s[g>>3];Z=E+48|0;N=(+s[e>>3]-N)*.5+N+(+s[c>>3]-+s[Z>>3])*-1.125;s[I>>3]=N;G=e+40|0;z=+s[G>>3];m=e+24|0;M=E+56|0;C=E+72|0;z=(+s[m>>3]-z)*.5+z+(+s[M>>3]-+s[C>>3])*.125;s[I+8>>3]=z;J=+s[c>>3]-+s[Z>>3]+N;s[I+16>>3]=J;s[I+24>>3]=z;s[I+32>>3]=J;z=(+s[M>>3]-+s[C>>3])*.5+z;s[I+40>>3]=z;s[I+48>>3]=N;s[I+56>>3]=z;ls(A,I,i,f);zN(I);I=Jg(W)|0;z=+s[g>>3];z=(+s[e>>3]-z)*.5+z+(+s[c>>3]-+s[Z>>3])*-1.125;s[I>>3]=z;N=+s[G>>3];N=(+s[m>>3]-N)*.5+N+(+s[M>>3]-+s[C>>3])*-.625;s[I+8>>3]=N;J=+s[c>>3]-+s[Z>>3]+z;s[I+16>>3]=J;s[I+24>>3]=N;s[I+32>>3]=J;N=(+s[M>>3]-+s[C>>3])*.5+N;s[I+40>>3]=N;s[I+48>>3]=z;s[I+56>>3]=N;ls(A,I,i,f);zN(I);I=Jg(W)|0;N=+s[g>>3];N=(+s[e>>3]-N)*.5+N+(+s[c>>3]-+s[Z>>3])*.125;s[I>>3]=N;z=+s[G>>3];z=(+s[m>>3]-z)*.5+z+(+s[M>>3]-+s[C>>3])*-.625;s[I+8>>3]=z;J=+s[c>>3]-+s[Z>>3]+N;s[I+16>>3]=J;s[I+24>>3]=z;s[I+32>>3]=J;z=(+s[M>>3]-+s[C>>3])*.5+z;s[I+40>>3]=z;s[I+48>>3]=N;s[I+56>>3]=z;ls(A,I,i,f);zN(I);W=Jg(W)|0;z=+s[g>>3];z=(+s[e>>3]-z)*.5+z+(+s[c>>3]-+s[Z>>3])*.125;s[W>>3]=z;N=+s[G>>3];N=(+s[m>>3]-N)*.5+N+(+s[M>>3]-+s[C>>3])*.125;s[W+8>>3]=N;J=+s[c>>3]-+s[Z>>3]+z;I=W+16|0;s[I>>3]=J;s[W+24>>3]=N;s[W+32>>3]=J;N=(+s[M>>3]-+s[C>>3])*.5+N;s[W+40>>3]=N;s[W+48>>3]=z;s[W+56>>3]=N;ls(A,W,i,f);s[Q>>3]=+s[I>>3];N=+s[G>>3];I=Q+8|0;s[I>>3]=(+s[m>>3]-N)*.5+N;C=Q+16|0;s[C>>3]=+s[e>>3];M=e+8|0;i=e+56|0;f=Q+24|0;s[f>>3]=(+s[M>>3]-+s[i>>3])*.5+N;ss(A,Q,2);N=+s[g>>3];s[Q>>3]=(+s[e>>3]-N)*.5+N+(+s[c>>3]-+s[Z>>3])*-1.125;z=+s[G>>3];s[I>>3]=(+s[m>>3]-z)*.5+z;s[C>>3]=N;s[f>>3]=(+s[M>>3]-+s[i>>3])*.5+z;ss(A,Q,2);zN(W);break}}if((r|0)<285212672)if((r|0)<268435456){switch(r|0){case 251658240:break;default:break A}W=i<<4;g=Jg(W)|0;Z=e+16|0;z=+s[Z>>3];I=E+48|0;z=z-+s[c>>3]+(+s[e>>3]-z)*.5+ +s[I>>3];s[g>>3]=z;G=e+40|0;N=+s[G>>3];m=e+24|0;M=E+56|0;C=E+72|0;N=(+s[m>>3]-N)*.5+N+(+s[M>>3]-+s[C>>3])*.125;s[g+8>>3]=N;J=(+s[c>>3]-+s[I>>3])*2.0+z;s[g+16>>3]=J;s[g+24>>3]=N;s[g+32>>3]=J;N=(+s[M>>3]-+s[C>>3])*.5+N;s[g+40>>3]=N;s[g+48>>3]=z;s[g+56>>3]=N;ls(A,g,i,f);zN(g);W=Jg(W)|0;N=+s[Z>>3];N=N-+s[c>>3]+(+s[e>>3]-N)*.5+ +s[I>>3];s[W>>3]=N;z=+s[G>>3];z=(+s[m>>3]-z)*.5+z+(+s[M>>3]-+s[C>>3])*-.625;s[W+8>>3]=z;J=(+s[c>>3]-+s[I>>3])*2.0+N;I=W+16|0;s[I>>3]=J;s[W+24>>3]=z;s[W+32>>3]=J;z=(+s[M>>3]-+s[C>>3])*.5+z;s[W+40>>3]=z;s[W+48>>3]=N;s[W+56>>3]=z;ls(A,W,i,f);s[Q>>3]=+s[I>>3];z=+s[G>>3];I=Q+8|0;s[I>>3]=(+s[m>>3]-z)*.5+z;C=Q+16|0;s[C>>3]=+s[e>>3];M=e+8|0;i=e+56|0;f=Q+24|0;s[f>>3]=(+s[M>>3]-+s[i>>3])*.5+z;ss(A,Q,2);s[Q>>3]=+s[Z>>3];z=+s[G>>3];s[I>>3]=(+s[m>>3]-z)*.5+z;s[C>>3]=+s[W>>3];s[f>>3]=(+s[M>>3]-+s[i>>3])*.5+z;ss(A,Q,2);zN(W);break}else{switch(r|0){case 268435456:break;default:break A}W=Jg(i<<4)|0;s[W>>3]=+s[e>>3];Z=E+48|0;m=E+56|0;I=E+72|0;s[W+8>>3]=+s[E+24>>3]-(+s[m>>3]-+s[I>>3])*.5;s[W+16>>3]=+s[Z>>3];z=+s[m>>3];s[W+24>>3]=z-(z-+s[I>>3])*.5;s[W+32>>3]=+s[e+32>>3];C=e+40|0;s[W+40>>3]=(+s[m>>3]-+s[I>>3])*.5+ +s[C>>3];s[W+48>>3]=+s[e>>3];s[W+56>>3]=(+s[m>>3]-+s[I>>3])*.5+ +s[C>>3];ls(A,W,i,f);G=e+16|0;z=(+s[c>>3]-+s[Z>>3])*.25;N=z+ +s[G>>3];s[Q>>3]=N;J=+s[C>>3];g=e+24|0;Y=+s[m>>3]-+s[I>>3];J=(+s[g>>3]-J)*.5+J+Y*.125;M=Q+8|0;s[M>>3]=J;i=Q+16|0;s[i>>3]=z+N;f=Q+24|0;s[f>>3]=J-Y*.25;ss(A,Q,2);Y=(+s[c>>3]-+s[Z>>3])*.25;J=Y+ +s[G>>3];s[Q>>3]=J;N=+s[C>>3];z=+s[m>>3]-+s[I>>3];N=(+s[g>>3]-N)*.5+N+z*-.125;s[M>>3]=N;s[i>>3]=Y+J;s[f>>3]=z*.25+N;ss(A,Q,2);N=(+s[c>>3]-+s[Z>>3])*.25;s[Q>>3]=N+ +s[G>>3];z=(+s[m>>3]-+s[I>>3])*.75+ +s[C>>3];s[M>>3]=z;s[i>>3]=+s[e>>3]-N;s[f>>3]=z;ss(A,Q,2);zN(W);break}else if((r|0)<301989888){switch(r|0){case 285212672:break;default:break A}I=Jg(i<<4)|0;Z=e+16|0;N=+s[Z>>3];C=E+48|0;N=(+s[c>>3]-+s[C>>3]+(+s[e>>3]-N))*.5+N;s[I>>3]=N;G=e+40|0;Y=+s[G>>3];m=e+24|0;Y=(+s[c>>3]-+s[C>>3]+(+s[m>>3]-Y))*.5+Y;s[I+8>>3]=Y;s[I+16>>3]=N;N=+s[G>>3];u=+s[c>>3]-+s[C>>3];N=(+s[m>>3]-N-u)*.5+N;s[I+24>>3]=N;z=+s[Z>>3];z=(+s[e>>3]-z-u)*.5+z;s[I+32>>3]=z;s[I+40>>3]=N;s[I+48>>3]=z;s[I+56>>3]=Y;ls(A,I,i,f);zN(I);Y=+s[Z>>3];Y=(+s[e>>3]-Y)*.5+Y;z=+s[c>>3]-+s[C>>3];N=z*.75;u=Y+N;s[Q>>3]=u;J=+s[G>>3];J=(+s[m>>3]-J)*.5+J;N=J+N;I=Q+8|0;s[I>>3]=N;M=Q+16|0;s[M>>3]=u;z=z*-.75;J=J+z;W=Q+24|0;s[W>>3]=J;z=Y+z;s[Q+32>>3]=z;s[Q+40>>3]=J;s[Q+48>>3]=z;s[Q+56>>3]=N;i=Q+64|0;n[i>>2]=n[Q>>2];n[i+4>>2]=n[Q+4>>2];n[i+8>>2]=n[Q+8>>2];n[i+12>>2]=n[Q+12>>2];ss(A,Q,5);N=+s[Z>>3];z=+s[e>>3];s[Q>>3]=(z-N)*.5+N+(+s[c>>3]-+s[C>>3])*.75;N=+s[G>>3];s[I>>3]=(+s[m>>3]-N)*.5+N;s[M>>3]=z;i=e+8|0;f=e+56|0;s[W>>3]=(+s[i>>3]-+s[f>>3])*.5+N;ss(A,Q,2);N=+s[Z>>3];s[Q>>3]=N;z=+s[G>>3];s[I>>3]=(+s[m>>3]-z)*.5+z;s[M>>3]=(+s[e>>3]-N)*.5+N+(+s[c>>3]-+s[C>>3])*-.75;s[W>>3]=(+s[i>>3]-+s[f>>3])*.5+z;ss(A,Q,2);break}else{switch(r|0){case 301989888:break;default:break A}M=i+12|0;W=Jg(M<<4)|0;m=e+16|0;b=+s[m>>3];d=E+48|0;b=(+s[e>>3]-b)*.5+b+(+s[c>>3]-+s[d>>3])*.25;s[W>>3]=b;I=e+40|0;Y=+s[I>>3];C=e+24|0;Z=E+56|0;G=E+72|0;Y=(+s[Z>>3]-+s[G>>3]+(+s[C>>3]-Y))*.5+Y;g=W+8|0;s[g>>3]=Y;s[W+16>>3]=b;Y=(+s[Z>>3]-+s[G>>3])*.125+Y;h=W+24|0;s[h>>3]=Y;J=b-(+s[c>>3]-+s[d>>3])*.125;i=W+32|0;s[i>>3]=J;u=(+s[Z>>3]-+s[G>>3])*.125+Y;s[W+40>>3]=u;s[W+48>>3]=b;N=(+s[Z>>3]-+s[G>>3])*.125+u;s[W+56>>3]=N;s[W+64>>3]=b;b=(+s[Z>>3]-+s[G>>3])*.125+N;s[W+72>>3]=b;s[W+80>>3]=J;s[W+88>>3]=b;J=+s[m>>3];J=(+s[e>>3]-J)*.5+J;s[W+96>>3]=J;s[W+104>>3]=N;z=J-(+s[c>>3]-+s[d>>3])*.125;s[W+112>>3]=z;s[W+120>>3]=b;z=z-(+s[c>>3]-+s[d>>3])*.125;s[W+128>>3]=z;s[W+136>>3]=b;s[W+144>>3]=z;s[W+152>>3]=N;N=(+s[c>>3]-+s[d>>3])*.125+z;s[W+160>>3]=N;s[W+168>>3]=u;s[W+176>>3]=z;s[W+184>>3]=Y;s[W+192>>3]=z;z=+s[g>>3];s[W+200>>3]=z;s[W+208>>3]=N;s[W+216>>3]=z;g=W+224|0;s[g>>3]=J;s[W+232>>3]=+s[h>>3];s[W+240>>3]=+s[i>>3];s[W+248>>3]=z;ls(A,W,M,f);z=+s[g>>3];s[Q>>3]=z;J=+s[I>>3];J=(+s[C>>3]-J)*.5+J;M=Q+8|0;s[M>>3]=J;i=Q+16|0;s[i>>3]=z;f=Q+24|0;s[f>>3]=(+s[Z>>3]-+s[G>>3])*.125+J;ss(A,Q,2);J=+s[g>>3];s[Q>>3]=J;z=+s[I>>3];N=+s[Z>>3]-+s[G>>3];z=(+s[C>>3]-z)*.5+z+N*.25;s[M>>3]=z;s[i>>3]=J;s[f>>3]=N*.125+z;ss(A,Q,2);s[Q>>3]=+s[m>>3];z=+s[I>>3];s[M>>3]=(+s[C>>3]-z)*.5+z;s[i>>3]=+s[e>>3];s[f>>3]=(+s[e+8>>3]-+s[e+56>>3])*.5+z;ss(A,Q,2);zN(W);break}}else{if((r|0)<369098752){if((r|0)<335544320){switch(r|0){case 318767104:break;default:break A}M=i+4|0;W=Jg(M<<4)|0;m=e+16|0;J=+s[m>>3];i=E+48|0;J=(+s[e>>3]-J)*.5+J+(+s[c>>3]-+s[i>>3])*.125;s[W>>3]=J;I=e+40|0;z=+s[I>>3];C=e+24|0;Z=E+56|0;G=E+72|0;z=(+s[Z>>3]-+s[G>>3]+(+s[C>>3]-z))*.5+z;s[W+8>>3]=z;u=(+s[c>>3]-+s[i>>3])*.125+J;s[W+16>>3]=u;N=(+s[Z>>3]-+s[G>>3])*.125+z;s[W+24>>3]=N;s[W+32>>3]=u;u=(+s[Z>>3]-+s[G>>3])*.25+N;s[W+40>>3]=u;s[W+48>>3]=J;Y=(+s[Z>>3]-+s[G>>3])*.125+u;s[W+56>>3]=Y;J=J-(+s[c>>3]-+s[i>>3])*.25;s[W+64>>3]=J;s[W+72>>3]=Y;Y=J-(+s[c>>3]-+s[i>>3])*.125;s[W+80>>3]=Y;s[W+88>>3]=u;s[W+96>>3]=Y;s[W+104>>3]=N;s[W+112>>3]=J;s[W+120>>3]=z;ls(A,W,M,f);z=+s[m>>3];z=(+s[e>>3]-z)*.5+z;s[Q>>3]=z;J=+s[I>>3];J=(+s[C>>3]-J)*.5+J;M=Q+8|0;s[M>>3]=J;i=Q+16|0;s[i>>3]=z;f=Q+24|0;s[f>>3]=(+s[Z>>3]-+s[G>>3])*.125+J;ss(A,Q,2);J=+s[m>>3];J=(+s[e>>3]-J)*.5+J;s[Q>>3]=J;z=+s[I>>3];N=+s[Z>>3]-+s[G>>3];z=(+s[C>>3]-z)*.5+z+N*.25;s[M>>3]=z;s[i>>3]=J;s[f>>3]=N*.125+z;ss(A,Q,2);s[Q>>3]=+s[m>>3];z=+s[I>>3];s[M>>3]=(+s[C>>3]-z)*.5+z;s[i>>3]=+s[e>>3];s[f>>3]=(+s[e+8>>3]-+s[e+56>>3])*.5+z;ss(A,Q,2);zN(W);break}if((r|0)<352321536){switch(r|0){case 335544320:break;default:break A}m=i+12|0;W=Jg(m<<4)|0;I=e+16|0;b=+s[I>>3];g=E+48|0;b=(+s[e>>3]-b)*.5+b+(+s[c>>3]-+s[g>>3])*.25;s[W>>3]=b;C=e+40|0;Y=+s[C>>3];M=e+24|0;d=E+56|0;h=E+72|0;Y=(+s[d>>3]-+s[h>>3]+(+s[M>>3]-Y))*.5+Y;i=W+8|0;s[i>>3]=Y;s[W+16>>3]=b;Y=(+s[d>>3]-+s[h>>3])*.125+Y;Z=W+24|0;s[Z>>3]=Y;N=b-(+s[c>>3]-+s[g>>3])*.125;G=W+32|0;s[G>>3]=N;u=(+s[d>>3]-+s[h>>3])*.125+Y;s[W+40>>3]=u;s[W+48>>3]=b;J=(+s[d>>3]-+s[h>>3])*.125+u;s[W+56>>3]=J;s[W+64>>3]=b;b=(+s[d>>3]-+s[h>>3])*.125+J;s[W+72>>3]=b;s[W+80>>3]=N;s[W+88>>3]=b;N=+s[I>>3];N=(+s[e>>3]-N)*.5+N;s[W+96>>3]=N;s[W+104>>3]=J;z=N-(+s[c>>3]-+s[g>>3])*.125;s[W+112>>3]=z;s[W+120>>3]=b;z=z-(+s[c>>3]-+s[g>>3])*.125;s[W+128>>3]=z;s[W+136>>3]=b;s[W+144>>3]=z;s[W+152>>3]=J;J=(+s[c>>3]-+s[g>>3])*.125+z;s[W+160>>3]=J;s[W+168>>3]=u;s[W+176>>3]=z;s[W+184>>3]=Y;s[W+192>>3]=z;z=+s[i>>3];s[W+200>>3]=z;s[W+208>>3]=J;s[W+216>>3]=z;i=W+224|0;s[i>>3]=N;s[W+232>>3]=+s[Z>>3];s[W+240>>3]=+s[G>>3];s[W+248>>3]=z;ls(A,W,m,f);n[Q>>2]=n[i>>2];n[Q+4>>2]=n[i+4>>2];n[Q+8>>2]=n[i+8>>2];n[Q+12>>2]=n[i+12>>2];i=Q+16|0;s[i>>3]=+s[Q>>3];z=+s[C>>3];f=Q+24|0;s[f>>3]=(+s[M>>3]-z)*.5+z;ss(A,Q,2);s[Q>>3]=+s[I>>3];z=+s[C>>3];s[Q+8>>3]=(+s[M>>3]-z)*.5+z;s[i>>3]=+s[e>>3];s[f>>3]=(+s[e+8>>3]-+s[e+56>>3])*.5+z;ss(A,Q,2);zN(W);break}else{switch(r|0){case 352321536:break;default:break A}M=i+4|0;W=Jg(M<<4)|0;m=e+16|0;N=+s[m>>3];G=E+48|0;N=(+s[e>>3]-N)*.5+N+(+s[c>>3]-+s[G>>3])*.125;s[W>>3]=N;I=e+40|0;z=+s[I>>3];C=e+24|0;g=E+56|0;Z=E+72|0;z=(+s[g>>3]-+s[Z>>3]+(+s[C>>3]-z))*.5+z;i=W+8|0;s[i>>3]=z;u=(+s[c>>3]-+s[G>>3])*.125+N;s[W+16>>3]=u;J=(+s[g>>3]-+s[Z>>3])*.125+z;s[W+24>>3]=J;s[W+32>>3]=u;u=(+s[g>>3]-+s[Z>>3])*.25+J;s[W+40>>3]=u;s[W+48>>3]=N;Y=(+s[g>>3]-+s[Z>>3])*.125+u;s[W+56>>3]=Y;N=N-(+s[c>>3]-+s[G>>3])*.25;s[W+64>>3]=N;s[W+72>>3]=Y;Y=N-(+s[c>>3]-+s[G>>3])*.125;s[W+80>>3]=Y;s[W+88>>3]=u;s[W+96>>3]=Y;s[W+104>>3]=J;s[W+112>>3]=N;s[W+120>>3]=z;ls(A,W,M,f);z=+s[m>>3];z=(+s[e>>3]-z)*.5+z;s[Q>>3]=z;M=Q+8|0;s[M>>3]=+s[i>>3];i=Q+16|0;s[i>>3]=z;z=+s[I>>3];f=Q+24|0;s[f>>3]=(+s[C>>3]-z)*.5+z;ss(A,Q,2);s[Q>>3]=+s[m>>3];z=+s[I>>3];s[M>>3]=(+s[C>>3]-z)*.5+z;s[i>>3]=+s[e>>3];s[f>>3]=(+s[e+8>>3]-+s[e+56>>3])*.5+z;ss(A,Q,2);zN(W);break}}if((r|0)<402653184)if((r|0)<385875968){switch(r|0){case 369098752:break;default:break A}i=i+5|0;W=Jg(i<<4)|0;Q=E+48|0;s[W>>3]=+s[t>>3]-(+s[c>>3]-+s[Q>>3])*.5;I=E+56|0;M=E+72|0;s[W+8>>3]=+s[E+24>>3]-(+s[I>>3]-+s[M>>3])*.5;s[W+16>>3]=+s[Q>>3];z=+s[I>>3];s[W+24>>3]=z-(z-+s[M>>3])*.5;s[W+32>>3]=+s[e+32>>3];C=e+40|0;s[W+40>>3]=+s[C>>3];z=+s[c>>3];s[W+48>>3]=(z-+s[Q>>3])*.5+z;s[W+56>>3]=+s[C>>3];z=+s[c>>3];s[W+64>>3]=(z-+s[Q>>3])*.5+z;s[W+72>>3]=(+s[I>>3]-+s[M>>3])*.5+ +s[C>>3];s[W+80>>3]=+s[t>>3]-(+s[c>>3]-+s[Q>>3])*.5;s[W+88>>3]=(+s[I>>3]-+s[M>>3])*.5+ +s[C>>3];s[W+96>>3]=+s[t>>3]-(+s[c>>3]-+s[Q>>3])*.5;C=e+56|0;s[W+104>>3]=+s[C>>3];M=e+8|0;z=+s[M>>3];s[W+120>>3]=z-(z-+s[C>>3])*.5;s[W+112>>3]=+s[e>>3];s[W+136>>3]=+s[M>>3];s[W+128>>3]=+s[t>>3]-(+s[c>>3]-+s[Q>>3])*.5;ls(A,W,i,f);zN(W);break}else{switch(r|0){case 385875968:break;default:break A}i=i+3|0;W=Jg(i<<4)|0;Q=E+48|0;s[W>>3]=+s[t>>3]-(+s[c>>3]-+s[Q>>3])*.5;I=E+56|0;M=E+72|0;s[W+8>>3]=+s[E+24>>3]-(+s[I>>3]-+s[M>>3])*.5;s[W+16>>3]=+s[Q>>3];z=+s[I>>3];s[W+24>>3]=z-(z-+s[M>>3])*.5;s[W+32>>3]=+s[e+32>>3];C=e+40|0;s[W+40>>3]=(+s[I>>3]-+s[M>>3])*.5+ +s[C>>3];s[W+48>>3]=+s[t>>3]-(+s[c>>3]-+s[Q>>3])*.5;s[W+56>>3]=(+s[I>>3]-+s[M>>3])*.5+ +s[C>>3];s[W+64>>3]=+s[t>>3]-(+s[c>>3]-+s[Q>>3])*.5;C=e+56|0;s[W+72>>3]=+s[C>>3];M=e+8|0;z=+s[M>>3];s[W+88>>3]=z-(z-+s[C>>3])*.5;s[W+80>>3]=+s[e>>3];s[W+104>>3]=+s[M>>3];s[W+96>>3]=+s[t>>3]-(+s[c>>3]-+s[Q>>3])*.5;ls(A,W,i,f);zN(W);break}else if((r|0)<419430400){switch(r|0){case 402653184:break;default:break A}i=i+3|0;W=Jg(i<<4)|0;s[W>>3]=+s[e>>3];I=e+8|0;C=E+48|0;M=E+56|0;Q=E+72|0;s[W+8>>3]=+s[I>>3]-(+s[M>>3]-+s[Q>>3])*.5;z=+s[c>>3];s[W+16>>3]=(z-+s[C>>3])*.5+z;s[W+24>>3]=+s[I>>3]-(+s[M>>3]-+s[Q>>3])*.5;z=+s[c>>3];s[W+32>>3]=(z-+s[C>>3])*.5+z;s[W+40>>3]=+s[E+40>>3];s[W+48>>3]=+s[e+16>>3];z=+s[e+24>>3];I=e+40|0;s[W+56>>3]=z-(z-+s[I>>3])*.5;z=+s[c>>3];s[W+64>>3]=(z-+s[C>>3])*.5+z;s[W+72>>3]=+s[I>>3];s[W+88>>3]=(+s[M>>3]-+s[Q>>3])*.5+ +s[I>>3];z=+s[c>>3];s[W+80>>3]=(z-+s[C>>3])*.5+z;s[W+104>>3]=(+s[M>>3]-+s[Q>>3])*.5+ +s[e+56>>3];s[W+96>>3]=+s[e>>3];ls(A,W,i,f);zN(W);break}else{switch(r|0){case 419430400:break;default:break A}i=i+5|0;W=Jg(i<<4)|0;s[W>>3]=+s[e>>3];Q=e+8|0;M=E+48|0;I=E+56|0;C=E+72|0;s[W+8>>3]=+s[Q>>3]-(+s[I>>3]-+s[C>>3])*.5;z=+s[c>>3];s[W+16>>3]=(z-+s[M>>3])*.5+z;s[W+24>>3]=+s[Q>>3]-(+s[I>>3]-+s[C>>3])*.5;z=+s[c>>3];s[W+32>>3]=(z-+s[M>>3])*.5+z;s[W+40>>3]=+s[E+40>>3];s[W+48>>3]=+s[e+16>>3];z=+s[e+24>>3];Q=e+40|0;s[W+56>>3]=z-(z-+s[Q>>3])*.5;z=+s[c>>3];s[W+64>>3]=(z-+s[M>>3])*.5+z;s[W+72>>3]=+s[Q>>3];s[W+88>>3]=(+s[I>>3]-+s[C>>3])*.5+ +s[Q>>3];z=+s[c>>3];s[W+80>>3]=(z-+s[M>>3])*.5+z;Q=e+56|0;s[W+104>>3]=(+s[I>>3]-+s[C>>3])*.5+ +s[Q>>3];s[W+96>>3]=+s[t>>3]-(+s[c>>3]-+s[M>>3])*.5;s[W+112>>3]=+s[t>>3]-(+s[c>>3]-+s[M>>3])*.5;s[W+120>>3]=+s[Q>>3];s[W+128>>3]=+s[e+48>>3];s[W+136>>3]=+s[Q>>3];ls(A,W,i,f);zN(W);break}}}while(0);zN(E)}v=y;return}function RG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0.0;f=v;v=v+112|0;a=f;c=+s[e+8>>3]*2.0;n[a>>2]=n[e>>2];n[a+4>>2]=n[e+4>>2];n[a+8>>2]=n[e+8>>2];n[a+12>>2]=n[e+12>>2];s[a+16>>3]=+s[e+16>>3];s[a+24>>3]=c-+s[e+24>>3];s[a+32>>3]=+s[e+32>>3];s[a+40>>3]=c-+s[e+40>>3];s[a+48>>3]=+s[e+48>>3];s[a+56>>3]=c-+s[e+56>>3];s[a+64>>3]=+s[e+64>>3];s[a+72>>3]=c-+s[e+72>>3];s[a+80>>3]=+s[e+80>>3];s[a+88>>3]=c-+s[e+88>>3];l=a+96|0;t=e+96|0;n[l>>2]=n[t>>2];n[l+4>>2]=n[t+4>>2];n[l+8>>2]=n[t+8>>2];n[l+12>>2]=n[t+12>>2];cs(A,e,i,0,0,r&255);cs(A,a,7,0,0,0);v=f;return}function PG(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0.0,n=0.0;n=+s[i>>3];f=+s[i+8>>3];f=(+s[r+8>>3]-f)*e+f;s[A>>3]=(+s[r>>3]-n)*e+n;s[A+8>>3]=f;return}function HG(A){A=A|0;A=n[(n[A+16>>2]|0)+8>>2]|0;if(A){A=n[n[A+4>>2]>>2]|0;if((A|0)!=75)if((A|0)==78)A=2;else return((A|0)==77?3:(A|0)==80?4:0)|0;else A=1}else A=0;return A|0}function FG(A){A=A|0;var e=0,i=0,f=0.0,a=0,l=0,t=0,c=0.0,b=0.0,o=0.0,u=0.0,B=0,k=0.0,w=0.0,d=0.0,h=0.0,g=0.0,Z=0.0,G=0.0,m=0.0,I=0.0,C=0.0,M=0,Q=0,E=0,y=0,W=0,z=0,p=0,R=0,P=0,F=0.0,L=0.0,D=0,T=0,x=0.0,U=0.0,j=0.0,S=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0.0;AA=v;v=v+144|0;z=AA+112|0;P=AA+104|0;E=AA+96|0;y=AA+88|0;l=AA+80|0;K=AA+64|0;q=AA+48|0;D=AA+40|0;T=AA+32|0;t=AA+24|0;B=AA+16|0;Q=AA+136|0;M=AA+128|0;p=AA;$=Jg(48)|0;_=A+16|0;S=n[(n[(n[_>>2]|0)+8>>2]|0)+8>>2]|0;a=(S|0)==1552;O=n[S>>2]|0;e=n[S+4>>2]|0;i=n[S+8>>2]|0;b=+s[S+16>>3];o=+s[S+32>>3];u=+s[S+24>>3];O=O|(UI(fY(A,90489)|0)|0)&255;do{if(!a){if(!O){S=n[_>>2]|0;c=+s[S+32>>3]*72.0;f=+s[S+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);c=+(~~(c+(c>=0.0?.5:-.5))|0);break}c=+KG(A);if(c>0.0)f=c;else{S=n[_>>2]|0;f=+s[S+32>>3];c=+s[S+40>>3];c=(f<c?f:c)*72.0;c=+(~~(c+(c>=0.0?.5:-.5))|0);f=c}}else{f=0.0;c=0.0}}while(0);S=LI(A,n[42203]|0,e,0)|0;j=+DI(A,n[42205]|0,0.0,-360.0)+b;if(!i){U=+DI(A,n[42206]|0,0.0,-100.0);W=LI(A,n[42202]|0,4,0)|0;x=+DI(A,n[42207]|0,0.0,-100.0)}else{W=i;U=o;x=u}e=n[(n[_>>2]|0)+104>>2]|0;i=e+24|0;n[K>>2]=n[i>>2];n[K+4>>2]=n[i+4>>2];n[K+8>>2]=n[i+8>>2];n[K+12>>2]=n[i+12>>2];k=+s[K>>3];if(k>0.0){if(!a)R=11}else if(!(a|!(+s[K+8>>3]>0.0)))R=11;if((R|0)==11){e=fY(A,90474)|0;do{if(e){s[B>>3]=0.0;s[t>>3]=0.0;n[l>>2]=t;n[l+4>>2]=B;e=PR(e,90481,l)|0;b=+s[t>>3];if(b<0.0){s[t>>3]=0.0;b=0.0}o=+s[B>>3];if(o<0.0){s[B>>3]=0.0;u=0.0}else u=o;if((e|0)<=0){o=k+16.0;s[K>>3]=o;b=8.0;break}b=b*72.0;b=+(~~(b+(b>=0.0?.5:-.5))<<1|0);o=k+b;s[K>>3]=o;if((e|0)!=1){b=u*72.0;b=+(~~(b+(b>=0.0?.5:-.5))<<1|0)}}else{o=k+16.0;s[K>>3]=o;b=8.0}}while(0);e=K+8|0;s[e>>3]=+s[e>>3]+b;e=n[(n[_>>2]|0)+104>>2]|0;k=o}d=+s[e+24>>3];b=+s[n[(n[(HV(A)|0)+16>>2]|0)+8>>2]>>3];if(b>0.0){F=b*72.0;F=+(~~(F+(F>=0.0?.5:-.5))|0);L=+_G(k,F);s[K>>3]=L;B=K+8|0;s[B>>3]=+_G(+s[B>>3],F)}else L=k;e=n[(n[_>>2]|0)+8>>2]|0;do{if(!(r[e+12>>0]|0)){i=fY(A,93791)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){$B(M,HV(A)|0,i);e=n[M>>2]|0;a=n[M+4>>2]|0;if((a&e|0)==-1){e=qY(A)|0;n[E>>2]=i;n[E+4>>2]=e;Gy(0,90565,E)|0;i=0;e=0;break}else{r[(n[(HV(A)|0)+16>>2]|0)+114>>0]=1;i=e+2|0;e=a+2|0;break}}else{i=0;e=0}}else{e=n[e>>2]|0;if((r[e>>0]|0)==99?(az(e,90497)|0)==0:0){i=fY(A,90504)|0;$B(Q,HV(A)|0,i);e=n[Q>>2]|0;a=n[Q+4>>2]|0;if((a&e|0)==-1){e=qY(A)|0;n[y>>2]=i|0?i:90514;n[y+4>>2]=e;Gy(0,90520,y)|0;i=0;e=0;break}else{r[(n[(HV(A)|0)+16>>2]|0)+114>>0]=1;i=e+2|0;e=a+2|0;break}}else{i=0;e=0}}}while(0);F=+(i|0);s[q>>3]=L>F?L:F;F=+s[K+8>>3];w=+(e|0);e=q+8|0;s[e>>3]=F>w?F:w;i=(W|0)<3&(x!=0.0|U!=0.0)?120:W;a=fY(A,90606)|0;if(!a)l=99;else{l=r[a>>0]|0;l=l<<24>>24==116?116:l<<24>>24==98?98:99}a=n[_>>2]|0;r[(n[a+104>>2]|0)+80>>0]=l;if((i|0)==4?(x==0.0?((~~(j+(j>=0.0?.5:-.5))|0)%90|0|0)==0:0)&U==0.0:0)B=1;else R=39;do{if((R|0)==39){a=n[(n[(n[a+8>>2]|0)+8>>2]|0)+44>>2]|0;if(a|0){B=n[a>>2]|0;n[z>>2]=n[q>>2];n[z+4>>2]=n[q+4>>2];n[z+8>>2]=n[q+8>>2];n[z+12>>2]=n[q+12>>2];GF[B&31](p,z);n[q>>2]=n[p>>2];n[q+4>>2]=n[p+4>>2];n[q+8>>2]=n[p+8>>2];n[q+12>>2]=n[p+12>>2];B=0;break}b=+s[e>>3];o=b*1.4142135623730951;if(f>o&l<<24>>24==99){u=b/f;u=+V(+(1.0/(1.0-u*u)));u=+s[q>>3]*u;s[q>>3]=u}else{u=+s[q>>3]*1.4142135623730951;s[q>>3]=u;s[e>>3]=o;b=o}if((i|0)>2){C=+J(+(3.141592653589793/+(i|0)));s[q>>3]=u/C;s[e>>3]=b/C;B=0}else B=0}}while(0);b=+s[e>>3];a=XI(A,n[42208]|0,122100)|0;if((r[a>>0]|0)==115?(az(a,90615)|0)==0:0){s[q>>3]=c;s[e>>3]=f;P=$+40|0;n[P>>2]=n[P>>2]|2048}else{if(!((UI(a)|0)<<24>>24)){C=+s[q>>3];c=c>C?c:C;s[q>>3]=c;C=+s[e>>3];f=f>C?f:C}else{R=n[(n[_>>2]|0)+104>>2]|0;if(!(!(c<+s[R+24>>3])?!(f<+s[R+32>>3]):0)){p=qY(A)|0;R=qY(HV(A)|0)|0;n[P>>2]=p;n[P+4>>2]=R;Gy(0,90621,P)|0}s[q>>3]=c}s[e>>3]=f}if(!O){C=f;I=c}else{I=c>f?c:f;s[e>>3]=I;s[q>>3]=I;C=I}do{if(!((UI(XI(A,n[42199]|0,122100)|0)|0)<<24>>24)){if(B){f=+s[(L>+s[q>>3]?K:q)>>3];break}f=+s[e>>3];if(F<f){f=+s[q>>3]*+V(+(1.0-F*F/(f*f)));f=L>f?L:f}else f=L}else f=L}while(0);a=n[(n[_>>2]|0)+104>>2]|0;s[a+40>>3]=d-k+f;M=$+40|0;if(!(n[M>>2]&2048)){m=+s[e>>3]-b;s[a+48>>3]=(F<w?w-F+m:m)+F}t=(S|0)>1;a=t?S:1;A:do{if((i|0)<3){a=Jg(a<<5)|0;c=+s[q>>3]*.5;f=+s[e>>3]*.5;s[a>>3]=-c;s[a+8>>3]=-f;s[a+16>>3]=c;s[a+24>>3]=f;if(t){i=1;l=2;while(1){if((i|0)==(S|0))break;I=c+4.0;C=f+4.0;s[a+(l<<4)>>3]=-I;s[a+(l<<4)+8>>3]=-C;T=l|1;s[a+(T<<4)>>3]=I;s[a+(T<<4)+8>>3]=C;i=i+1|0;l=l+2|0;c=I;f=C}s[q>>3]=c*2.0;s[e>>3]=f*2.0;i=2}else i=2}else{a=Jg(X(a<<4,i)|0)|0;l=n[(n[(n[(n[_>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;e:do{if(!l){k=6.283185307179586/+(i|0);h=k*.5;w=+N(+h);d=+Cz(+Y(+U)+ +Y(+x),1.0);h=x*1.4142135623730951/+J(+h);g=U*.5;Qz((k+-3.141592653589793)*.5,D,T);Z=j*.017453292519943295;c=0.0;f=0.0;b=0.0;l=0;o=+s[T>>3]*.5;u=+s[D>>3]*.5;while(1){if((l|0)>=(i|0))break e;b=b+k;Qz(b,D,T);o=+s[T>>3]*w+o;u=+s[D>>3]*w+u;m=(u*h+d)*o+g*u;Qz(+H(+u,+m)+Z,D,T);m=+Cz(m,u);G=+s[T>>3]*m*+s[q>>3];m=+s[D>>3]*m*+s[e>>3];eA=+Y(+G);f=eA>f?eA:f;eA=+Y(+m);c=eA>c?eA:c;s[a+(l<<4)>>3]=G;s[a+(l<<4)+8>>3]=m;if(B)break;else l=l+1|0}eA=-G;s[a+16>>3]=eA;s[a+24>>3]=m;s[a+32>>3]=eA;eA=-m;s[a+40>>3]=eA;s[a+48>>3]=G;s[a+56>>3]=eA}else{GF[n[l+4>>2]&31](a,q);c=+s[e>>3]*.5;f=+s[q>>3]*.5}}while(0);f=f*2.0;c=c*2.0;I=I>f?I:f;s[q>>3]=I;eA=C>c?C:c;s[e>>3]=eA;f=I/f;c=eA/c;l=0;while(1){if((l|0)>=(i|0))break;P=a+(l<<4)|0;A=a+(l<<4)+8|0;eA=+s[A>>3]*c;s[P>>3]=+s[P>>3]*f;s[A>>3]=eA;l=l+1|0}if(t){t=i+-1|0;c=+s[a>>3];b=+s[a+8>>3];f=+H(+(b-+s[a+(t<<4)+8>>3]),+(c-+s[a+(t<<4)>>3]));t=0;e:while(1){if((t|0)>=(i|0))break;B=t+1|0;l=(B|0)%(i|0)|0;o=+s[a+(l<<4)>>3];u=+s[a+(l<<4)+8>>3];k=+H(+(u-b),+(o-c));C=(f+3.141592653589793-k)*.5;eA=4.0/+N(+C);Qz(f-C,D,T);s[D>>3]=+s[D>>3]*eA;s[T>>3]=+s[T>>3]*eA;l=1;f=b;while(1){if((l|0)==(S|0)){f=k;t=B;c=o;b=u;continue e}C=+s[T>>3]+c;eA=+s[D>>3]+f;A=(X(l,i)|0)+t|0;s[a+(A<<4)>>3]=C;s[a+(A<<4)+8>>3]=eA;l=l+1|0;c=C;f=eA}}t=X(i,S+-1|0)|0;l=0;while(1){if((l|0)>=(i|0))break A;T=l+t|0;C=+s[a+(T<<4)+8>>3];I=+Y(+ +s[a+(T<<4)>>3])*2.0;eA=+s[q>>3];s[q>>3]=I>eA?I:eA;C=+Y(+C)*2.0;eA=+s[e>>3];s[e>>3]=C>eA?C:eA;l=l+1|0}}}}while(0);n[$>>2]=O;n[$+4>>2]=S;n[$+8>>2]=i;s[$+16>>3]=j;s[$+32>>3]=U;s[$+24>>3]=x;n[$+44>>2]=a;f=+s[q>>3];if(!(n[M>>2]&2048)){i=n[_>>2]|0;s[i+32>>3]=f*.013888888888888888}else{i=n[_>>2]|0;s[i+32>>3]=+s[(L>f?K:q)>>3]*.013888888888888888;e=(F>+s[e>>3]?K:q)+8|0}s[i+40>>3]=+s[e>>3]*.013888888888888888;n[i+12>>2]=$;v=AA;return}function LG(A){A=A|0;var e=0,i=0,r=0,f=0,a=0.0,l=0.0,t=0,c=0,b=0,o=0,u=0;u=v;v=v+64|0;t=u+40|0;r=u+32|0;c=u+16|0;o=u;i=(n[(n[(HV(A)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;b=A+16|0;f=n[n[(n[b>>2]|0)+104>>2]>>2]|0;n[42325]=f;f=Az(f)|0;f=Jg(((f|0)>1?f:1)+1|0)|0;e=XG(A,i,1,f)|0;if(!e){n[r>>2]=n[n[(n[b>>2]|0)+104>>2]>>2];Gy(1,90450,r)|0;n[42325]=90471;e=XG(A,i,1,f)|0}zN(f);TG(t,A,e);i=n[b>>2]|0;l=+s[i+32>>3]*72.0;l=+(~~(l+(l>=0.0?.5:-.5))|0);s[o>>3]=l;a=+s[i+40>>3]*72.0;a=+(~~(a+(a>=0.0?.5:-.5))|0);i=o+8|0;s[i>>3]=a;if(!((UI(XI(A,n[42208]|0,122100)|0)|0)<<24>>24)){l=+s[(+s[e>>3]>l?e:o)>>3];s[o>>3]=l;r=e+8|0;a=+s[(+s[r>>3]>a?e:o)+8>>3];s[i>>3]=a;i=r;r=e}else{i=e+8|0;r=e}A=(UI(XI(A,n[42199]|0,122100)|0)|0)&255;n[t>>2]=n[o>>2];n[t+4>>2]=n[o+4>>2];n[t+8>>2]=n[o+8>>2];n[t+12>>2]=n[o+12>>2];xG(e,t,A);UG(c,l*-.5,a*.5);n[t>>2]=n[c>>2];n[t+4>>2]=n[c+4>>2];n[t+8>>2]=n[c+8>>2];n[t+12>>2]=n[c+12>>2];jG(e,t,15);o=n[b>>2]|0;s[o+32>>3]=+s[r>>3]*.013888888888888888;s[o+40>>3]=(+s[i>>3]+1.0)*.013888888888888888;n[o+12>>2]=e;v=u;return}function DG(A){A=A|0;var e=0.0,i=0,r=0.0,f=0.0,a=0,l=0,t=0,c=0,b=0.0,o=0;t=Jg(48)|0;c=A+16|0;a=n[(n[(n[(n[c>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;f=+DI(A,n[42189]|0,1797693134862315708145274.0e284,0.0);e=+DI(A,n[42188]|0,1797693134862315708145274.0e284,0.0);f=f<e?f:e;f=e==1797693134862315708145274.0e284&f==1797693134862315708145274.0e284?.05:f>0.0?f>.0003?f:.0003:f;l=n[c>>2]|0;s[l+40>>3]=f;s[l+32>>3]=f;e=f*72.0;a=LI(A,n[42203]|0,a,0)|0;l=Jg((a|0)<1?32:a<<5)|0;f=f*36.0;r=-f;s[l>>3]=r;s[l+8>>3]=r;s[l+16>>3]=f;s[l+24>>3]=f;if((a|0)>1){A=1;i=2;r=f;e=f;while(1){if((A|0)==(a|0))break;b=r+4.0;f=e+4.0;s[l+(i<<4)>>3]=-b;s[l+(i<<4)+8>>3]=-f;o=i|1;s[l+(o<<4)>>3]=b;s[l+(o<<4)+8>>3]=f;A=A+1|0;i=i+2|0;r=b;e=f}e=r*2.0}n[t>>2]=1;n[t+4>>2]=a;n[t+8>>2]=2;o=t+16|0;n[o>>2]=0;n[o+4>>2]=0;n[o+8>>2]=0;n[o+12>>2]=0;n[o+16>>2]=0;n[o+20>>2]=0;n[t+44>>2]=l;b=e*.013888888888888888;o=n[c>>2]|0;s[o+32>>3]=b;s[o+40>>3]=b;n[o+12>>2]=t;return}function XG(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0;a=Jg(72)|0;u=n[(n[A+16>>2]|0)+104>>2]|0;o=0;l=1;t=n[42325]|0;A:while(1){c=r[t>>0]|0;switch(c<<24>>24){case 0:break A;case 92:{t=t+1|0;c=r[t>>0]|0;switch(c<<24>>24){case 124:case 125:case 123:case 92:{b=o;break}default:Y=4}break}default:Y=4}if((Y|0)==4){Y=0;switch(c<<24>>24){case 123:{b=o+1|0;break}case 125:{b=o+-1|0;break}default:{b=o;l=l+((o|0)==0&c<<24>>24==124&1)|0}}if((b|0)<0)break}o=b;t=t+1|0}Q=a+56|0;n[Q>>2]=Jg(l<<2)|0;r[a+64>>0]=e;I=(e|0)==0&1;C=u+82|0;M=f+1|0;Z=(i|0)!=0;G=u+16|0;m=u+4|0;g=u+8|0;c=0;o=0;e=0;h=0;b=0;i=0;u=f;l=0;t=0;A:while(1){B=c;c=0;e:while(1){i:while(1){d=i;r:while(1){w=c;v=l;f:while(1){k=o;n:while(1){while(1){if(h){Y=78;break A}o=n[42325]|0;l=r[o>>0]|0;if((l+-1&255)>=31)break;n[42325]=o+1}switch(l<<24>>24|0){case 92:{Y=53;break i}case 0:case 124:case 125:break r;case 60:break f;case 62:break n;case 123:break;default:{c=e;l=o;break i}}l=o+1|0;n[42325]=l;if(b|0){Y=34;break A}if(!(r[l>>0]|0)){Y=34;break A}i=XG(A,I,0,f)|0;n[(n[Q>>2]|0)+(k<<2)>>2]=i;if(!i){Y=36;break A}else{k=k+1|0;b=4}}if(r[C>>0]|0){c=e;l=o;break i}if(!(b&16)){Y=27;break A}if(v>>>0>M>>>0?(E=v+-1|0,(E|0)!=(d|0)):0)l=(r[E>>0]|0)==32?E:v;else l=v;r[l>>0]=0;w=vR(f)|0;n[42325]=(n[42325]|0)+1;o=k;b=b&-17;v=l}if(b&6|0){Y=22;break A}if(r[C>>0]|0){c=e;l=o;break i}n[42325]=o+1;o=k;b=b|18;c=w;d=f;l=f}if(!((b&16|0)==0&(Z|l<<24>>24!=0))){Y=38;break A}if(!(b&4)){c=Jg(72)|0;n[(n[Q>>2]|0)+(k<<2)>>2]=c;o=k+1|0}else{c=B;o=k}if(w|0)n[c+60>>2]=w;if(!(b&5)){r[f+t>>0]=32;b=b|1;t=t+1|0}l=f+t|0;if(b&1){if((t|0)>1?(y=l+-1|0,(y|0)!=(u|0)):0)l=(r[y>>0]|0)==32?y:l;r[l>>0]=0;u=vR(f)|0;n[c+52>>2]=mg(A,u,r[C>>0]|0?2:0,+s[G>>3],n[m>>2]|0,n[g>>2]|0)|0;r[c+64>>0]=1;u=f;t=0}l=n[42325]|0;switch(r[l>>0]|0){case 0:{h=1;i=d;l=v;continue A}case 125:{Y=51;break A}default:{}}n[42325]=l+1;B=c;b=0;c=0;i=d;l=v}i:do{if((Y|0)==53){Y=0;c=f+t|0;l=o+1|0;switch(r[l>>0]|0){case 0:{c=e;l=o;break i}case 62:case 60:case 124:case 125:case 123:{c=e;break}case 32:{if(!(r[C>>0]|0))c=1;else Y=55;break}default:Y=55}if((Y|0)==55){Y=0;r[c>>0]=92;c=e;b=b|9;t=t+1|0}n[42325]=l}}while(0);e=f+t|0;if(b&4|0?(r[l>>0]|0)!=32:0){Y=59;break A}if(!(b&24))b=(r[l>>0]|0)==32?b:b|9;if(!(b&8))if(!(b&16))i=d;else{o=r[l>>0]|0;e=(c|0)!=0;if(!(e|o<<24>>24!=32))if((v|0)!=(f|0))if((r[v+-1>>0]|0)==32)o=v;else Y=73;else o=f;else Y=73;if((Y|0)==73){Y=0;r[v>>0]=o;o=v+1|0;l=n[42325]|0}i=e?o+-1|0:d;v=o}else{o=r[l>>0]|0;i=(c|0)!=0;if(!((!(i|o<<24>>24!=32)?(r[e+-1>>0]|0)==32:0)?(r[C>>0]|0)==0:0)){r[e>>0]=o;t=t+1|0}if(i){i=d;u=f+t+-1|0}else i=d}l=l+1|0;n[42325]=l;while(1){if((r[l>>0]|0)>=0){o=k;e=c;c=w;l=v;continue e}d=l+1|0;n[42325]=d;r[f+t>>0]=r[l>>0]|0;t=t+1|0;l=d}}}if((Y|0)==22){SG(a,w);a=0}else if((Y|0)==27){SG(a,w);a=0}else if((Y|0)==34){SG(a,w);a=0}else if((Y|0)==36){SG(a,w);a=0}else if((Y|0)==38){SG(a,w);a=0}else if((Y|0)==51){n[42325]=l+1;n[a+48>>2]=o}else if((Y|0)==59){SG(a,w);a=0}else if((Y|0)==78)n[a+48>>2]=k;return a|0}function TG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,a=0.0,l=0.0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0;g=v;v=v+64|0;c=g+48|0;b=g+40|0;o=g+32|0;h=g+16|0;d=g;t=n[i+52>>2]|0;A:do{if(!t){o=h+8|0;u=i+48|0;B=i+56|0;k=i+64|0;w=d+8|0;n[h>>2]=0;n[h+4>>2]=0;n[h+8>>2]=0;n[h+12>>2]=0;t=0;while(1){if((t|0)>=(n[u>>2]|0))break A;TG(d,e,n[(n[B>>2]|0)+(t<<2)>>2]|0);if(!(r[k>>0]|0)){s[o>>3]=+s[o>>3]+ +s[w>>3];c=h;b=+s[h>>3]>+s[d>>3]?h:d}else{s[h>>3]=+s[h>>3]+ +s[d>>3];c=o;b=(+s[o>>3]>+s[w>>3]?h:d)+8|0}s[c>>3]=+s[b>>3];t=t+1|0}}else{a=+s[t+24>>3];f=+s[t+32>>3];if(a>0.0|f>0.0){t=fY(e,90474)|0;do{if(t){n[c>>2]=b;n[c+4>>2]=o;t=PR(t,90481,c)|0;if((t|0)<=0){l=8.0;a=a+16.0;break}l=+s[b>>3]*72.0;l=+(~~(l+(l>=0.0?.5:-.5))<<1|0);a=a+l;if((t|0)!=1){l=+s[o>>3]*72.0;l=+(~~(l+(l>=0.0?.5:-.5))<<1|0)}}else{l=8.0;a=a+16.0}}while(0);f=l+f}s[h>>3]=a;s[h+8>>3]=f}}while(0);n[i>>2]=n[h>>2];n[i+4>>2]=n[h+4>>2];n[i+8>>2]=n[h+8>>2];n[i+12>>2]=n[h+12>>2];n[A>>2]=n[h>>2];n[A+4>>2]=n[h+4>>2];n[A+8>>2]=n[h+8>>2];n[A+12>>2]=n[h+12>>2];v=g;return}function xG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,a=0,l=0.0,t=0,c=0,b=0,o=0,u=0,B=0,k=0.0,w=0.0,d=0;d=v;v=v+32|0;u=d+16|0;B=d;k=+s[e>>3];l=k-+s[A>>3];w=+s[e+8>>3];f=w-+s[A+8>>3];n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];e=n[A+52>>2]|0;if(!((i|0)!=0|(e|0)==0)){o=e+40|0;s[o>>3]=+s[o>>3]+l;o=e+48|0;s[o>>3]=+s[o>>3]+f}b=A+48|0;e=n[b>>2]|0;A:do{if(e|0){o=A+64|0;f=((r[o>>0]|0)==0?f:l)/+(e|0);c=A+56|0;t=0;while(1){if((t|0)>=(e|0))break A;A=n[(n[c>>2]|0)+(t<<2)>>2]|0;a=t+1|0;e=~~(f*+(a|0))-~~(f*+(t|0))|0;if(!(r[o>>0]|0))UG(B,k,+s[A+8>>3]+ +(e|0));else UG(B,+s[A>>3]+ +(e|0),w);n[u>>2]=n[B>>2];n[u+4>>2]=n[B+4>>2];n[u+8>>2]=n[B+8>>2];n[u+12>>2]=n[B+12>>2];xG(A,u,i);t=a;e=n[b>>2]|0}}}while(0);v=d;return}function UG(A,e,i){A=A|0;e=+e;i=+i;s[A>>3]=e;s[A+8>>3]=i;return}function jG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0.0,d=0.0;k=v;v=v+48|0;t=k+32|0;o=k+16|0;b=k;r[A+65>>0]=i;c=A+16|0;d=+s[e>>3];B=e+8|0;w=+s[B>>3];UG(o,d,w-+s[A+8>>3]);n[c>>2]=n[o>>2];n[c+4>>2]=n[o+4>>2];n[c+8>>2]=n[o+8>>2];n[c+12>>2]=n[o+12>>2];c=A+32|0;UG(b,+s[A>>3]+d,w);n[c>>2]=n[b>>2];n[c+4>>2]=n[b+4>>2];n[c+8>>2]=n[b+8>>2];n[c+12>>2]=n[b+12>>2];c=n[A+48>>2]|0;b=c+-1|0;o=(i|0)==0;u=A+56|0;l=A+64|0;a=0;while(1){if((a|0)>=(c|0))break;do{if(!o){A=(a|0)==0;f=(a|0)==(b|0);if(!(r[l>>0]|0))if(A){A=f?15:14;break}else{A=f?11:10;break}else if(A){A=f?15:13;break}else{A=f?7:5;break}}else A=0}while(0);f=n[(n[u>>2]|0)+(a<<2)>>2]|0;n[t>>2]=n[e>>2];n[t+4>>2]=n[e+4>>2];n[t+8>>2]=n[e+8>>2];n[t+12>>2]=n[e+12>>2];jG(f,t,A&i);if(!(r[l>>0]|0))s[B>>3]=+s[B>>3]-+s[(n[(n[u>>2]|0)+(a<<2)>>2]|0)+8>>3];else s[e>>3]=+s[n[(n[u>>2]|0)+(a<<2)>>2]>>3]+ +s[e>>3];a=a+1|0}v=k;return}function SG(A,e){A=A|0;e=e|0;OG(A);zN(e);return}function OG(A){A=A|0;var e=0,i=0,r=0;i=A+48|0;r=A+56|0;e=0;while(1){if((e|0)>=(n[i>>2]|0))break;OG(n[(n[r>>2]|0)+(e<<2)>>2]|0);e=e+1|0}zN(n[A+60>>2]|0);Mg(n[A+52>>2]|0);zN(n[r>>2]|0);zN(A);return}function KG(A){A=A|0;var e=0.0,i=0.0;i=+DI(A,n[42189]|0,0.0,.01);e=+DI(A,n[42188]|0,0.0,.02);e=(i>e?i:e)*72.0;return+ +(~~(e+(e>=0.0?.5:-.5))|0)}function _G(A,e){A=+A;e=+e;var i=0;i=~~(A/e);return+(+((+(i|0)*e+1.0e-05<A&1)+i|0)*e)}function qG(A){A=A|0;A=n[(n[A+16>>2]|0)+8>>2]|0;if(!A)A=0;else A=(n[n[A+4>>2]>>2]|0)==75&1;return A|0}function $G(A){A=A|0;var e=0,i=0,f=0,a=0,l=0;f=n[42326]|0;A:do{if(!f)e=0;else{a=n[42327]|0;i=0;while(1){if((i|0)>=(a|0)){e=0;break A}e=n[f+(i<<2)>>2]|0;l=n[e>>2]|0;if((r[l>>0]|0)==(r[A>>0]|0)?(az(l,A)|0)==0:0)break A;i=i+1|0}}}while(0);return e|0}function Am(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;if(eC(fY(e,90504)|0)|0)if((r[A>>0]|0)==101?(az(A,90669)|0)==0:0){e=101;a=6}else{A=90497;a=4}else a=4;if((a|0)==4){e=r[A>>0]|0;if(e<<24>>24==99)if(!(az(A,90497)|0))a=11;else{e=99;a=6}else a=6}A:do{if((a|0)==6){i=19868;while(1){f=n[i>>2]|0;if(!f){a=11;break A}if((r[f>>0]|0)==e<<24>>24?(az(f,A)|0)==0:0){A=i;break A}i=i+16|0}}}while(0);if((a|0)==11)A=em(A)|0;return A|0}function em(A){A=A|0;var e=0,i=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;e=$G(A)|0;if(!e){f=n[42327]|0;e=f+1|0;n[42327]=e;i=n[42326]|0;if(!i)e=Ng(e<<2)|0;else e=pg(i,e<<2)|0;n[42326]=e;e=Jg(16)|0;n[(n[42326]|0)+(f<<2)>>2]=e;n[e>>2]=n[4967];n[e+4>>2]=n[4968];n[e+8>>2]=n[4969];n[e+12>>2]=n[4970];i=vR(A)|0;n[e>>2]=i;do{if(!0){if((r[A>>0]|0)==99?(az(A,90497)|0)==0:0){i=1;break}n[a>>2]=n[4967];n[a+4>>2]=i;Gy(0,90674,a)|0;i=0}else i=1}while(0);r[e+12>>0]=i}v=l;return e|0}function im(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+s[e>>3]*.5257311121191336;i=+s[e+8>>3]*.8944271909999159;i=r>i?r:i;s[A>>3]=i*4.97979656976556;s[A+8>>3]=i*4.73606797749979;return}function rm(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,n=0,a=0.0,l=0.0,t=0.0,c=0,b=0,o=0.0;r=+s[e>>3];c=e+8|0;f=+s[c>>3];i=f/r;if(!(i>.9510565162951536))if(i<.9510565162951536){t=r;f=r*.9510565162951536}else t=r;else t=f*1.0514622242382672;r=t*.5257311121191336;a=t*.20081141588622725;l=t*.05020285397155681;i=.3141592653589793;n=0;while(1){if((n|0)>=10)break;s[A+(n<<4)>>3]=+J(+i)*r;s[A+(n<<4)+8>>3]=+N(+i)*r-l;o=i+.6283185307179586;b=n|1;s[A+(b<<4)>>3]=+J(+o)*a;s[A+(b<<4)+8>>3]=+N(+o)*a-l;i=i+1.2566370614359172;n=n+2|0}s[e>>3]=t;s[c>>3]=f;return}function fm(A){A=A|0;A=n[(n[A+16>>2]|0)+12>>2]|0;if(A|0){zN(n[A+44>>2]|0);zN(A)}return}function nm(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;u=v;v=v+80|0;s=u+40|0;a=u;o=u+64|0;l=u+56|0;if(!(r[i>>0]|0)){a=4144;l=A+40|0;do{n[A>>2]=n[a>>2];A=A+4|0;a=a+4|0}while((A|0)<(l|0))}else{t=(f|0)==0?91344:f;n[o>>2]=15;c=e+16|0;f=n[c>>2]|0;do{if(r[(n[f+104>>2]|0)+82>>0]|0){f=co(e,i,o)|0;if(!f){f=n[c>>2]|0;b=8;break}if(hm(e,f,a,t,n[o>>2]|0,0)|0){n[s>>2]=qY(e)|0;n[s+4>>2]=i;n[s+8>>2]=t;Gy(0,91346,s)|0}}else b=8}while(0);if((b|0)==8){if((n[(n[f+8>>2]|0)+8>>2]|0)==1600)l=0;else{n[l>>2]=e;n[l+4>>2]=0}if(hm(e,0,a,i,n[o>>2]|0,l)|0)gm(e,i)}n[a+36>>2]=0;l=A+40|0;do{n[A>>2]=n[a>>2];A=A+4|0;a=a+4|0}while((A|0)<(l|0))}v=u;return}function am(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,a=0,l=0,t=0.0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0.0,h=0;w=v;v=v+112|0;o=w+96|0;b=w+80|0;B=w+64|0;c=w+48|0;k=w+32|0;u=w;f=w+16|0;if(!A){n[42330]=0;A=0}else{a=n[A+4>>2]|0;A=n[A>>2]|0;l=(n[(n[(HV(A)|0)+16>>2]|0)+116>>2]&3)*90|0;n[o>>2]=n[e>>2];n[o+4>>2]=n[e+4>>2];n[o+8>>2]=n[e+8>>2];n[o+12>>2]=n[e+12>>2];og(f,o,l);n[k>>2]=n[f>>2];n[k+4>>2]=n[f+4>>2];n[k+8>>2]=n[f+8>>2];n[k+12>>2]=n[f+12>>2];A:do{if(a){i=+s[a+8>>3];r=+s[a+24>>3];d=+s[k>>3];if((+s[a>>3]<=d?d<=+s[a+16>>3]:0)?(t=+s[k+8>>3],i<=t):0)A=t<=r&1;else A=0}else{if((A|0)==(n[42330]|0)){f=n[42331]|0;a=n[42333]|0;l=n[42332]|0}else{a=n[(n[A+16>>2]|0)+12>>2]|0;n[42334]=a;l=n[a+44>>2]|0;n[42332]=l;f=n[a+8>>2]|0;n[42331]=f;a=X((n[a+4>>2]|0)+-1|0,f)|0;a=(a|0)>0?a:0;n[42333]=a;n[42330]=A}A=0;e=0;while(1){if((A|0)>=(f|0)){A=1;break A}h=l+(a+A<<4)|0;n[u>>2]=n[h>>2];n[u+4>>2]=n[h+4>>2];n[u+8>>2]=n[h+8>>2];n[u+12>>2]=n[h+12>>2];h=l+(a+((A+4|0)%(f|0)|0)<<4)|0;n[c>>2]=n[k>>2];n[c+4>>2]=n[k+4>>2];n[c+8>>2]=n[k+8>>2];n[c+12>>2]=n[k+12>>2];n[B>>2]=n[41802];n[B+4>>2]=n[41803];n[B+8>>2]=n[41804];n[B+12>>2]=n[41805];n[b>>2]=n[u>>2];n[b+4>>2]=n[u+4>>2];n[b+8>>2]=n[u+8>>2];n[b+12>>2]=n[u+12>>2];n[o>>2]=n[h>>2];n[o+4>>2]=n[h+4>>2];n[o+8>>2]=n[h+8>>2];n[o+12>>2]=n[h+12>>2];e=e+((dm(c,B,b,o)|0)==0&1)|0;if((e|0)==2){A=0;break}else A=A+2|0}}}while(0)}v=w;return A|0}function lm(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;i=n[A+16>>2]|0;if((r[(n[i+104>>2]|0)+82>>0]|0)!=0?(r[i+145>>0]|0)!=0:0)A=oo(A,e,0,f,a)|0;else A=0;return A|0}function tm(A,e){A=A|0;e=e|0;var i=0,l=0,t=0.0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0.0,E=0.0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0;F=v;v=v+48|0;J=F+24|0;W=F+16|0;M=F+8|0;C=F;R=F+32|0;o=F+28|0;P=n[A+16>>2]|0;H=P+208|0;i=n[H>>2]|0;if((i|0)==0?(f[P+260>>1]&1)==0:0)z=0;else Y=4;if((Y|0)==4)if(!(n[A+152>>2]&4)){Kc(A,i,n[P+228>>2]|0,n[P+244>>2]|0,n[P+212>>2]|0);z=1}else z=1;N=e+16|0;i=n[N>>2]|0;w=n[i+12>>2]|0;V=n[w+44>>2]|0;p=n[w+8>>2]|0;w=n[w+4>>2]|0;if((n[42328]|0)<(p|0)){i=p+5|0;n[42328]=i;l=n[42329]|0;if(!l)i=Ng(i<<4)|0;else i=pg(l,i<<4)|0;n[42329]=i;i=n[N>>2]|0}y=(n[i+104>>2]|0)+56|0;i=i+16|0;n[y>>2]=n[i>>2];n[y+4>>2]=n[i+4>>2];n[y+8>>2]=n[i+8>>2];n[y+12>>2]=n[i+12>>2];y=n[N>>2]|0;Q=+s[y+32>>3]*72.0;Q=(+s[y+96>>3]+ +s[y+88>>3])/+(~~(Q+(Q>=0.0?.5:-.5))|0);E=+s[y+40>>3]*72.0;E=+s[y+80>>3]/+(~~(E+(E>=0.0?.5:-.5))|0);y=cm(A,e)|0;n[R>>2]=0;i=a[(n[N>>2]|0)+117>>0]|0;do{if(!(i&1)){if(i&2|0){d=TI(e,0,91244)|0;es(A,d);rs(A,TI(e,0,91252)|0);l=0;i=1;break}if(i&8|0){d=TI(e,0,91260)|0;es(A,d);rs(A,TI(e,0,91268)|0);l=0;i=1;break}if(i&4|0){d=TI(e,0,91276)|0;es(A,d);rs(A,TI(e,0,91284)|0);l=0;i=1;break}if(!(y&1))if(!(y&576)){l=0;i=0}else{l=sm(e)|0;i=1}else{l=sm(e)|0;if(!((zh(l,R,o)|0)<<24>>24)){rs(A,l);i=1}else{rs(A,n[R>>2]|0);i=n[R+4>>2]|0;b=LI(e,n[42216]|0,0,0)|0;t=+c[o>>2];if(!i)fs(A,122106,b,t);else fs(A,i,b,t);i=(y&2)>>>1|2}}d=bm(A,e)|0}else{d=TI(e,0,91228)|0;es(A,d);rs(A,TI(e,0,91236)|0);l=0;i=1}}while(0);b=n[(n[N>>2]|0)+8>>2]|0;if(r[b+12>>0]|0){b=n[b>>2]|0;if((r[b>>0]|0)==99){b=(az(b,90497)|0)==0;Y=33}else g=1}else{b=1;Y=33}if((Y|0)==33){b=b^1;if((w|0)!=0|i<<24>>24==0|b)g=b;else{es(A,122171);w=1;g=0}}Z=(p|0)<3;G=(y&512|0)!=0;I=(y&8|0)==0;m=(y&64|0)==0;B=(y&1024|0)==0;k=(y&2130706444|0)==0;h=0;while(1){if((h|0)>=(w|0))break;o=X(h,p)|0;u=n[42329]|0;b=0;while(1){if((b|0)>=(p|0))break;D=b+o|0;t=+s[V+(D<<4)+8>>3];L=n[N>>2]|0;s[u+(b<<4)>>3]=+s[L+16>>3]+ +s[V+(D<<4)>>3]*Q;s[u+(b<<4)+8>>3]=+s[L+24>>3]+t*E;b=b+1|0}do{if(Z){if(G&(h|0)==0?(Vz(l,58)|0)!=0:0)if((sd(A,u,l)|0)>1){n[C>>2]=qY(e)|0;Gy(3,91292,C)|0;i=0}else i=0;as(A,n[42329]|0,p,i&255);if(!I)om(A,e)}else{if(!m){if((h|0)==0?(vd(A,u,l,1)|0)>1:0){n[M>>2]=qY(e)|0;Gy(3,91292,M)|0}ls(A,n[42329]|0,p,0);break}if(!B){es(A,122171);ls(A,n[42329]|0,p,i&255);es(A,d);ss(A,(n[42329]|0)+32|0,2);break}i=i&255;if(k){ls(A,u,p,i);break}else{pG(A,u,p,y,i);break}}}while(0);h=h+1|0;i=0}b=n[(n[N>>2]|0)+8>>2]|0;if(!(r[b+12>>0]|0)){b=fY(e,93791)|0;if(b|0?r[b>>0]|0:0){u=b;Y=65}}else{b=n[b>>2]|0;if((r[b>>0]|0)==99?(az(b,90497)|0)==0:0){b=fY(e,90504)|0;if(b|0?r[b>>0]|0:0){u=b;Y=65}}else{u=b;Y=65}}if((Y|0)==65){o=n[42329]|0;b=0;while(1){if((b|0)>=(p|0))break;t=+s[V+(b<<4)+8>>3];D=n[N>>2]|0;s[o+(b<<4)>>3]=+s[D+16>>3]+ +s[V+(b<<4)>>3]*Q;s[o+(b<<4)+8>>3]=+s[D+24>>3]+t*E;b=b+1|0}b=i&255;do{if(!(g|i<<24>>24==0)){if(Z){if(G&(h|0)==0?(Vz(l,58)|0)!=0:0)if((sd(A,o,l)|0)>1){n[W>>2]=qY(e)|0;Gy(3,91292,W)|0;i=0}else i=0;as(A,n[42329]|0,p,i&255);if(I)break;om(A,e);break}if(m)if(!(y&12)){ls(A,o,p,b);break}else{pG(A,o,p,y,b);break}else{if((vd(A,o,l,1)|0)>1){n[J>>2]=qY(e)|0;Gy(3,91292,J)|0}ls(A,n[42329]|0,p,0);break}}}while(0);D=n[42329]|0;os(A,u,D,p,i,XI(e,n[42209]|0,122100)|0)}zN(n[R>>2]|0);Qg(A,10,n[(n[N>>2]|0)+104>>2]|0);if(z){if(n[A+152>>2]&4|0)Kc(A,n[H>>2]|0,n[P+228>>2]|0,n[P+244>>2]|0,n[P+212>>2]|0);_c(A)}v=F;return}function cm(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0;l=v;v=v+16|0;f=l;i=Bm(e,f)|0;if(i|0)ns(A,i);i=n[42215]|0;if((i|0?(a=nY(e,i)|0,a|0):0)?r[a>>0]|0:0)vs(A,+DI(e,n[42215]|0,1.0,0.0));v=l;return n[f>>2]|0}function sm(A){A=A|0;return vm(A,119592)|0}function bm(A,e){A=A|0;e=e|0;e=TI(e,n[42191]|0,174177)|0;e=r[e>>0]|0?e:122106;es(A,e);return e|0}function om(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,a=0,l=0.0,t=0,c=0,b=0;i=v;v=v+96|0;t=i+80|0;c=i+64|0;r=i+32|0;b=i+16|0;a=i;e=n[e+16>>2]|0;f=+s[e+80>>3];s[b+8>>3]=f*.375;l=+s[e+96>>3];s[b>>3]=l*.6614;e=e+16|0;n[c>>2]=n[b>>2];n[c+4>>2]=n[b+4>>2];n[c+8>>2]=n[b+8>>2];n[c+12>>2]=n[b+12>>2];n[t>>2]=n[e>>2];n[t+4>>2]=n[e+4>>2];n[t+8>>2]=n[e+8>>2];n[t+12>>2]=n[e+12>>2];um(a,c,t);n[r>>2]=n[a>>2];n[r+4>>2]=n[a+4>>2];n[r+8>>2]=n[a+8>>2];n[r+12>>2]=n[a+12>>2];a=r+8|0;e=r+24|0;s[e>>3]=+s[a>>3];s[r+16>>3]=+s[r>>3]-l*1.3228;ss(A,r,2);f=+s[a>>3]-f*.75;s[a>>3]=f;s[e>>3]=f;ss(A,r,2);v=i;return}function um(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+s[i+8>>3]+ +s[e+8>>3];s[A>>3]=+s[i>>3]+ +s[e>>3];s[A+8>>3]=r;return}function vm(A,e){A=A|0;e=e|0;var i=0;i=TI(A,n[42192]|0,174177)|0;if(!(r[i>>0]|0)){i=TI(A,n[42191]|0,174177)|0;return((r[i>>0]|0)==0?e:i)|0}else return i|0;return 0}function Bm(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0;i=TI(A,n[42200]|0,174177)|0;A:do{if(!(r[i>>0]|0)){a=0;i=0}else{a=Ld(i)|0;l=a;i=0;e:while(1){f=n[l>>2]|0;if(!f)break A;switch(r[f>>0]|0){case 102:{if(!(az(f,95867)|0)){l=l+4|0;i=i|1;continue e}break}case 114:{if(!(az(f,91304)|0)){f=l;do{c=f;f=f+4|0;t=n[f>>2]|0;n[c>>2]=t}while((t|0)!=0);c=l;i=i|4;l=c;continue e}if(!(az(f,91322)|0)){f=l;do{t=f;f=f+4|0;c=n[f>>2]|0;n[t>>2]=c}while((c|0)!=0);c=l;i=i|3;l=c;continue e}break}case 100:{if(!(az(f,91312)|0)){f=l;do{t=f;f=f+4|0;c=n[f>>2]|0;n[t>>2]=c}while((c|0)!=0);c=l;i=i|8;l=c;continue e}break}case 105:{if(!(az(f,119127)|0)){l=l+4|0;i=i|32;continue e}break}case 115:{if((az(f,91329)|0)==0?km(A)|0:0){f=l;do{t=f;f=f+4|0;c=n[f>>2]|0;n[t>>2]=c}while((c|0)!=0);c=l;i=i|64;l=c;continue e}break}case 119:{if((az(f,91337)|0)==0?wm(A)|0:0){f=l;do{t=f;f=f+4|0;c=n[f>>2]|0;n[t>>2]=c}while((c|0)!=0);c=l;i=i|512;l=c;continue e}break}default:{}}l=l+4|0}}}while(0);f=n[(n[(n[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if(f)i=n[f+40>>2]|i;n[e>>2]=i;return a|0}function km(A){A=A|0;var e=0.0;A=n[(n[(n[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if((((A|0)!=0?(n[A+8>>2]|0)==4:0)?(e=+s[A+16>>3],((~~(e+(e>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+s[A+24>>3]==0.0:0)A=+s[A+32>>3]==0.0&1;else A=0;return A|0}function wm(A){A=A|0;A=n[(n[(n[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!A)A=0;else A=(n[A+8>>2]|0)<3&1;return A|0}function dm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,a=0.0,l=0.0;l=+s[i+8>>3];a=-(+s[r+8>>3]-l);n=+s[i>>3];f=+s[r>>3]-n;n=f*l+n*a;return(+s[A+8>>3]*f+ +s[A>>3]*a-n>=0.0^+s[e>>3]*a-n+ +s[e+8>>3]*f>=0.0^1)&1|0}function hm(A,e,i,f,a,l){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;l=l|0;var t=0.0,c=0.0,b=0,o=0,u=0,B=0,k=0.0,w=0.0,d=0.0,h=0.0,g=0.0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0;W=v;v=v+192|0;Q=W+176|0;Y=W+160|0;b=W+144|0;C=W+128|0;M=W+112|0;o=W+96|0;u=W+80|0;B=W+64|0;Z=W+48|0;G=W+32|0;m=W+16|0;y=W;if(!e){n[Y>>2]=0;n[Y+4>>2]=0;n[Y+8>>2]=0;n[Y+12>>2]=0;b=(n[(n[(HV(A)|0)+16>>2]|0)+116>>2]&1|0)==0;E=n[A+16>>2]|0;k=+s[E+80>>3]*.5;t=+s[E+88>>3];h=b?k:t;k=b?t:k;b=0;E=Y;t=0.0;c=-k;w=h;V=Y+8|0;d=0.0;h=-h}else{c=+s[e>>3];h=+s[e+8>>3];k=+s[e+16>>3];w=+s[e+24>>3];UG(b,(k+c)*.5,(w+h)*.5);n[Y>>2]=n[b>>2];n[Y+4>>2]=n[b+4>>2];n[Y+8>>2]=n[b+8>>2];n[Y+12>>2]=n[b+12>>2];J=Y+8|0;b=1;E=Y;t=+s[Y>>3];V=J;d=+s[J>>3]}g=(k>w?k:w)*4.0;A:do{if((f|0)!=0?(I=r[f>>0]|0,I<<24>>24!=0):0){f=f+1|0;switch(I<<24>>24|0){case 99:{B=1;a=0;f=0;o=0;t=0.0;u=0;break A}case 101:{if(r[f>>0]|0){B=1;a=0;f=0;o=0;t=0.0;u=1;break A}if(!l)s[E>>3]=k;else{Zm(C,l,d,g);n[Y>>2]=n[C>>2];n[Y+4>>2]=n[C+4>>2];n[Y+8>>2]=n[C+8>>2];n[Y+12>>2]=n[C+12>>2]}B=0;a=a&2;f=0;o=1;t=0.0;u=0;b=1;break A}case 115:{s[V>>3]=h;switch(r[f>>0]|0){case 0:{if(!l)s[E>>3]=t;else{Zm(M,l,-g,t);n[Y>>2]=n[M>>2];n[Y+4>>2]=n[M+4>>2];n[Y+8>>2]=n[M+8>>2];n[Y+12>>2]=n[M+12>>2]}B=0;a=a&1;f=0;o=1;t=-1.5707963267948966;u=0;b=1;break A}case 101:{if(!l)s[E>>3]=k;else{Zm(o,l,-g,g);n[Y>>2]=n[o>>2];n[Y+4>>2]=n[o+4>>2];n[Y+8>>2]=n[o+8>>2];n[Y+12>>2]=n[o+12>>2]}B=0;a=a&3;f=0;o=1;t=-.7853981633974483;u=0;b=1;break A}case 119:{if(!l)s[E>>3]=c;else{g=-g;Zm(u,l,g,g);n[Y>>2]=n[u>>2];n[Y+4>>2]=n[u+4>>2];n[Y+8>>2]=n[u+8>>2];n[Y+12>>2]=n[u+12>>2]}B=0;a=a&9;f=0;o=1;t=-2.356194490192345;u=0;b=1;break A}default:{s[V>>3]=d;B=1;a=0;f=0;o=0;t=0.0;u=1;break A}}}case 119:{if(r[f>>0]|0){B=1;a=0;f=0;o=0;t=0.0;u=1;break A}if(!l)s[E>>3]=c;else{Zm(B,l,d,-g);n[Y>>2]=n[B>>2];n[Y+4>>2]=n[B+4>>2];n[Y+8>>2]=n[B+8>>2];n[Y+12>>2]=n[B+12>>2]}B=0;a=a&8;f=0;o=1;t=3.141592653589793;u=0;b=1;break A}case 110:{s[V>>3]=w;switch(r[f>>0]|0){case 0:{if(!l)s[E>>3]=t;else{Zm(Z,l,g,t);n[Y>>2]=n[Z>>2];n[Y+4>>2]=n[Z+4>>2];n[Y+8>>2]=n[Z+8>>2];n[Y+12>>2]=n[Z+12>>2]}B=0;a=a&4;f=0;o=1;t=1.5707963267948966;u=0;b=1;break A}case 101:{if(!l)s[E>>3]=k;else{Zm(G,l,g,g);n[Y>>2]=n[G>>2];n[Y+4>>2]=n[G+4>>2];n[Y+8>>2]=n[G+8>>2];n[Y+12>>2]=n[G+12>>2]}B=0;a=a&6;f=0;o=1;t=.7853981633974483;u=0;b=1;break A}case 119:{if(!l)s[E>>3]=c;else{Zm(m,l,g,-g);n[Y>>2]=n[m>>2];n[Y+4>>2]=n[m+4>>2];n[Y+8>>2]=n[m+8>>2];n[Y+12>>2]=n[m+12>>2]}B=0;a=a&12;f=0;o=1;t=2.356194490192345;u=0;b=1;break A}default:{s[V>>3]=d;B=1;a=0;f=0;o=0;t=0.0;u=1;break A}}}case 95:{B=1;f=1;o=0;t=0.0;u=0;break A}default:{B=1;a=0;f=0;o=0;t=0.0;u=1;break A}}}else{B=1;a=0;f=0;o=0;t=0.0;u=0}}while(0);J=(n[(n[(HV(A)|0)+16>>2]|0)+116>>2]&3)*90|0;n[Q>>2]=n[Y>>2];n[Q+4>>2]=n[Y+4>>2];n[Q+8>>2]=n[Y+8>>2];n[Q+12>>2]=n[Y+12>>2];bg(y,Q,J);n[Y>>2]=n[y>>2];n[Y+4>>2]=n[y+4>>2];n[Y+8>>2]=n[y+8>>2];n[Y+12>>2]=n[y+12>>2];if(!(f<<24>>24))a=Gm(a,n[(n[(HV(A)|0)+16>>2]|0)+116>>2]&3)|0;r[i+33>>0]=a;n[i+24>>2]=e;c=+s[E>>3];s[i>>3]=+(~~(c+(c>=0.0?.5:-.5))|0);c=+s[V>>3];s[i+8>>3]=+(~~(c+(c>=0.0?.5:-.5))|0);s[i+16>>3]=+mm(t,n[(n[(HV(A)|0)+16>>2]|0)+116>>2]&3);c=+s[E>>3];t=+s[V>>3];if(c==0.0&t==0.0)a=-128;else{g=+H(+t,+c);h=g+4.71238898038469;a=~~((!(h>=6.283185307179586)?h:g+-1.5707963267948966)*40.74366543152521)&255}r[i+32>>0]=a;r[i+29>>0]=o;r[i+28>>0]=b;r[i+30>>0]=B;r[i+31>>0]=f;v=W;return u|0}function gm(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;n[r>>2]=qY(A)|0;n[r+4>>2]=e;Gy(0,91407,r)|0;v=i;return}function Zm(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0;B=v;v=v+128|0;a=B+112|0;t=B+48|0;c=B+16|0;b=B+32|0;o=B;u=n[e>>2]|0;l=n[(n[(HV(u)|0)+16>>2]|0)+116>>2]&3;s[c>>3]=r;s[c+8>>3]=i;f=(l|0)!=0;if(f){n[a>>2]=n[c>>2];n[a+4>>2]=n[c+4>>2];n[a+8>>2]=n[c+8>>2];n[a+12>>2]=n[c+12>>2];bg(b,a,l*90|0);n[c>>2]=n[b>>2];n[c+4>>2]=n[b+4>>2];n[c+8>>2]=n[b+8>>2];n[c+12>>2]=n[b+12>>2]}b=t+48|0;k=t+32|0;n[t>>2]=0;n[t+4>>2]=0;n[t+8>>2]=0;n[t+12>>2]=0;n[t+16>>2]=0;n[t+20>>2]=0;n[t+24>>2]=0;n[t+28>>2]=0;n[k>>2]=n[c>>2];n[k+4>>2]=n[c+4>>2];n[k+8>>2]=n[c+8>>2];n[k+12>>2]=n[c+12>>2];n[b>>2]=n[c>>2];n[b+4>>2]=n[c+4>>2];n[b+8>>2]=n[c+8>>2];n[b+12>>2]=n[c+12>>2];Xm(e,n[(n[(n[(n[u+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,t,1);if(f){n[a>>2]=n[t>>2];n[a+4>>2]=n[t+4>>2];n[a+8>>2]=n[t+8>>2];n[a+12>>2]=n[t+12>>2];og(o,a,l*90|0);n[t>>2]=n[o>>2];n[t+4>>2]=n[o+4>>2];n[t+8>>2]=n[o+8>>2];n[t+12>>2]=n[o+12>>2]}n[A>>2]=n[t>>2];n[A+4>>2]=n[t+4>>2];n[A+8>>2]=n[t+8>>2];n[A+12>>2]=n[t+12>>2];v=B;return}function Gm(A,e){A=A|0;e=e|0;A:do{switch(e|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 mm(A,e){A=+A;e=e|0;switch(e|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 Im(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,a=0.0,l=0,t=0,c=0;r=v;v=v+32|0;c=r+16|0;l=r;A=n[A>>2]|0;t=(n[(n[(HV(A)|0)+16>>2]|0)+116>>2]&3)*90|0;n[c>>2]=n[e>>2];n[c+4>>2]=n[e+4>>2];n[c+8>>2]=n[e+8>>2];n[c+12>>2]=n[e+12>>2];og(l,c,t);i=+s[l>>3];a=+s[l+8>>3];A=n[A+16>>2]|0;f=+s[A+80>>3]*.5;if(!(!(a>=-f)|!(a<=f))?i>=-+s[A+88>>3]:0)A=i<=+s[A+96>>3]&1;else A=0;v=r;return A|0}function Cm(A,e){A=A|0;e=e|0;var i=0,r=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0.0;o=v;v=v+32|0;b=o;l=n[A+16>>2]|0;t=l+208|0;a=n[t>>2]|0;if(!a)c=(f[l+260>>1]&1)!=0;else c=1;i=e+16|0;e=n[i>>2]|0;r=n[e+12>>2]|0;if(r|0){if(c?(n[A+152>>2]&4|0)==0:0){Kc(A,a,n[l+228>>2]|0,n[l+244>>2]|0,n[l+212>>2]|0);e=n[i>>2]|0}a=n[A+36>>2]|0;B=+s[e+24>>3]+ +(n[r+8>>2]|0);u=n[r>>2]|0;s[b>>3]=+s[e+16>>3]+ +(n[r+4>>2]|0);s[b+8>>3]=B;n[b+16>>2]=u;lR(a,91438,b)|0;a=n[i>>2]|0;b=(n[a+104>>2]|0)+56|0;a=a+16|0;n[b>>2]=n[a>>2];n[b+4>>2]=n[a+4>>2];n[b+8>>2]=n[a+8>>2];n[b+12>>2]=n[a+12>>2];Qg(A,10,n[(n[i>>2]|0)+104>>2]|0);if(c){if(n[A+152>>2]&4|0)Kc(A,n[t>>2]|0,n[l+228>>2]|0,n[l+244>>2]|0,n[l+212>>2]|0);_c(A)}}v=o;return}function Mm(A){A=A|0;OG(n[(n[A+16>>2]|0)+12>>2]|0);return}function Qm(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,s=0,b=0;b=v;v=v+64|0;s=b+40|0;l=b;if(!(r[i>>0]|0)){l=4144;f=A+40|0;do{n[A>>2]=n[l>>2];A=A+4|0;l=l+4|0}while((A|0)<(f|0))}else{f=(f|0)==0?91344:f;t=n[(n[e+16>>2]|0)+12>>2]|0;c=Jm(t,i)|0;if(!c){if(hm(e,t+16|0,l,i,15,0)|0)gm(e,i)}else if(hm(e,c+16|0,l,f,a[c+65>>0]|0,0)|0){n[s>>2]=qY(e)|0;n[s+4>>2]=i;n[s+8>>2]=f;Gy(0,91346,s)|0}f=A+40|0;do{n[A>>2]=n[l>>2];A=A+4|0;l=l+4|0}while((A|0)<(f|0))}v=b;return}function Em(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,a=0,l=0,t=0.0,c=0,b=0,o=0.0;c=v;v=v+32|0;b=c+16|0;l=c;f=n[A+4>>2]|0;A=n[A>>2]|0;a=(n[(n[(HV(A)|0)+16>>2]|0)+116>>2]&3)*90|0;n[b>>2]=n[e>>2];n[b+4>>2]=n[e+4>>2];n[b+8>>2]=n[e+8>>2];n[b+12>>2]=n[e+12>>2];og(l,b,a);n[e>>2]=n[l>>2];n[e+4>>2]=n[l+4>>2];n[e+8>>2]=n[l+8>>2];n[e+12>>2]=n[l+12>>2];if(!f){f=n[(n[A+16>>2]|0)+12>>2]|0;a=f+16|0;A=f+24|0;l=f+32|0;f=f+40|0}else{a=f;A=f+8|0;l=f+16|0;f=f+24|0}r=+s[A>>3];i=+s[f>>3];o=+s[e>>3];if((+s[a>>3]<=o?o<=+s[l>>3]:0)?(t=+s[e+8>>3],r<=t):0)A=t<=i&1;else A=0;v=c;return A|0}function ym(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0.0,t=0.0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0.0,h=0,g=0,Z=0.0;g=v;v=v+80|0;w=g+64|0;k=g+32|0;h=g;A:do{if(!(r[e+28>>0]|0))i=0;else{l=+s[e>>3];B=A+16|0;b=n[(n[B>>2]|0)+12>>2]|0;c=b+48|0;b=b+56|0;e=0;while(1){if((e|0)>=(n[c>>2]|0))break A;o=(n[(n[(HV(A)|0)+16>>2]|0)+116>>2]&1|0)==0;u=n[(n[b>>2]|0)+(e<<2)>>2]|0;t=+(~~+s[(o?u+16|0:u+24|0)>>3]|0);if(l>=t?(d=+(~~+s[(o?u+32|0:u+40|0)>>3]|0),l<=d):0)break;e=e+1|0}if(!(n[(n[(HV(A)|0)+16>>2]|0)+116>>2]&1)){h=n[B>>2]|0;Z=+s[h+16>>3];s[f>>3]=Z+t;t=+s[h+24>>3];l=+s[h+80>>3];s[f+8>>3]=t-l*.5;s[f+16>>3]=Z+d}else{u=(n[(n[b>>2]|0)+(e<<2)>>2]|0)+16|0;A=(n[B>>2]|0)+16|0;n[k>>2]=n[u>>2];n[k+4>>2]=n[u+4>>2];n[k+8>>2]=n[u+8>>2];n[k+12>>2]=n[u+12>>2];n[k+16>>2]=n[u+16>>2];n[k+20>>2]=n[u+20>>2];n[k+24>>2]=n[u+24>>2];n[k+28>>2]=n[u+28>>2];n[w>>2]=n[A>>2];n[w+4>>2]=n[A+4>>2];n[w+8>>2]=n[A+8>>2];n[w+12>>2]=n[A+12>>2];ug(h,k,w);n[f>>2]=n[h>>2];n[f+4>>2]=n[h+4>>2];n[f+8>>2]=n[h+8>>2];n[f+12>>2]=n[h+12>>2];n[f+16>>2]=n[h+16>>2];n[f+20>>2]=n[h+20>>2];n[f+24>>2]=n[h+24>>2];n[f+28>>2]=n[h+28>>2];h=n[B>>2]|0;l=+s[h+80>>3];t=+s[h+24>>3]}s[f+24>>3]=l*.5+t;n[a>>2]=1}}while(0);v=g;return i|0}function Ym(A,e){A=A|0;e=e|0;var i=0,a=0,l=0,t=0.0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0.0;G=v;v=v+144|0;o=G+96|0;B=G+64|0;w=G;d=G+128|0;h=n[A+16>>2]|0;g=h+208|0;i=n[g>>2]|0;if(!i)Z=(f[h+260>>1]&1)!=0;else Z=1;b=e+16|0;k=n[b>>2]|0;u=n[k+12>>2]|0;l=u+16|0;n[B>>2]=n[l>>2];n[B+4>>2]=n[l+4>>2];n[B+8>>2]=n[l+8>>2];n[B+12>>2]=n[l+12>>2];n[B+16>>2]=n[l+16>>2];n[B+20>>2]=n[l+20>>2];n[B+24>>2]=n[l+24>>2];n[B+28>>2]=n[l+28>>2];m=+s[k+16>>3];s[B>>3]=+s[B>>3]+m;t=+s[k+24>>3];k=B+8|0;s[k>>3]=+s[k>>3]+t;k=B+16|0;s[k>>3]=+s[k>>3]+m;l=B+24|0;s[l>>3]=+s[l>>3]+t;if(Z?(n[A+152>>2]&4|0)==0:0)Kc(A,i,n[h+228>>2]|0,n[h+244>>2]|0,n[h+212>>2]|0);i=cm(A,e)|0;bm(A,e)|0;n[d>>2]=0;if(!(i&1))a=0;else{a=sm(e)|0;if(!((zh(a,d,o)|0)<<24>>24)){rs(A,a);a=1}else{rs(A,n[d>>2]|0);a=n[d+4>>2]|0;l=LI(e,n[42216]|0,0,0)|0;t=+c[o>>2];if(!a)fs(A,122106,l,t);else fs(A,a,l,t);a=i>>>1&1|2}}l=n[n[(n[b>>2]|0)+8>>2]>>2]|0;if((r[l>>0]|0)==77){b=(az(l,91215)|0)==0;i=b?i|4:i}if(!(i&2130706444)){n[o>>2]=n[B>>2];n[o+4>>2]=n[B+4>>2];n[o+8>>2]=n[B+8>>2];n[o+12>>2]=n[B+12>>2];n[o+16>>2]=n[B+16>>2];n[o+20>>2]=n[B+20>>2];n[o+24>>2]=n[B+24>>2];n[o+28>>2]=n[B+28>>2];ts(A,o,a)}else{n[w>>2]=n[B>>2];n[w+4>>2]=n[B+4>>2];n[w+8>>2]=n[B+8>>2];n[w+12>>2]=n[B+12>>2];B=w+32|0;n[B>>2]=n[k>>2];n[B+4>>2]=n[k+4>>2];n[B+8>>2]=n[k+8>>2];n[B+12>>2]=n[k+12>>2];s[w+16>>3]=+s[B>>3];s[w+24>>3]=+s[w+8>>3];s[w+48>>3]=+s[w>>3];s[w+56>>3]=+s[w+40>>3];pG(A,w,4,i,a)}Vm(A,e,u);zN(n[d>>2]|0);if(Z){if(n[A+152>>2]&4|0)Kc(A,n[g>>2]|0,n[h+228>>2]|0,n[h+244>>2]|0,n[h+212>>2]|0);_c(A)}v=G;return}function Vm(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0;g=v;v=v+144|0;B=g+128|0;u=g+112|0;k=g+16|0;w=g;a=g+96|0;l=g+80|0;d=g+64|0;h=g+48|0;t=i+52|0;f=n[t>>2]|0;if(!f)f=e+16|0;else{o=f+56|0;b=i+16|0;f=i+32|0;n[u>>2]=n[b>>2];n[u+4>>2]=n[b+4>>2];n[u+8>>2]=n[b+8>>2];n[u+12>>2]=n[b+12>>2];n[B>>2]=n[f>>2];n[B+4>>2]=n[f+4>>2];n[B+8>>2]=n[f+8>>2];n[B+12>>2]=n[f+12>>2];Wm(a,u,B);f=e+16|0;b=(n[f>>2]|0)+16|0;n[u>>2]=n[a>>2];n[u+4>>2]=n[a+4>>2];n[u+8>>2]=n[a+8>>2];n[u+12>>2]=n[a+12>>2];n[B>>2]=n[b>>2];n[B+4>>2]=n[b+4>>2];n[B+8>>2]=n[b+8>>2];n[B+12>>2]=n[b+12>>2];um(l,u,B);n[o>>2]=n[l>>2];n[o+4>>2]=n[l+4>>2];n[o+8>>2]=n[l+8>>2];n[o+12>>2]=n[l+12>>2];Qg(A,10,n[t>>2]|0);bm(A,e)|0}c=(n[f>>2]|0)+16|0;n[w>>2]=n[c>>2];n[w+4>>2]=n[c+4>>2];n[w+8>>2]=n[c+8>>2];n[w+12>>2]=n[c+12>>2];c=i+48|0;b=i+64|0;o=k+16|0;t=i+56|0;i=k+16|0;l=0;while(1){if((l|0)>=(n[c>>2]|0))break;if((l|0)>0){f=(n[t>>2]|0)+(l<<2)|0;a=n[f>>2]|0;if(!(r[b>>0]|0)){a=a+32|0;n[o>>2]=n[a>>2];n[o+4>>2]=n[a+4>>2];n[o+8>>2]=n[a+8>>2];n[o+12>>2]=n[a+12>>2];s[k>>3]=+s[(n[f>>2]|0)+16>>3];f=o;a=0}else{a=a+16|0;n[k>>2]=n[a>>2];n[k+4>>2]=n[a+4>>2];n[k+8>>2]=n[a+8>>2];n[k+12>>2]=n[a+12>>2];s[i>>3]=+s[k>>3];f=(n[f>>2]|0)+32|0;a=1}s[k+(a<<4)+8>>3]=+s[f+8>>3];n[u>>2]=n[k>>2];n[u+4>>2]=n[k+4>>2];n[u+8>>2]=n[k+8>>2];n[u+12>>2]=n[k+12>>2];n[B>>2]=n[w>>2];n[B+4>>2]=n[w+4>>2];n[B+8>>2]=n[w+8>>2];n[B+12>>2]=n[w+12>>2];um(d,u,B);n[k>>2]=n[d>>2];n[k+4>>2]=n[d+4>>2];n[k+8>>2]=n[d+8>>2];n[k+12>>2]=n[d+12>>2];n[u>>2]=n[o>>2];n[u+4>>2]=n[o+4>>2];n[u+8>>2]=n[o+8>>2];n[u+12>>2]=n[o+12>>2];n[B>>2]=n[w>>2];n[B+4>>2]=n[w+4>>2];n[B+8>>2]=n[w+8>>2];n[B+12>>2]=n[w+12>>2];um(h,u,B);n[o>>2]=n[h>>2];n[o+4>>2]=n[h+4>>2];n[o+8>>2]=n[h+8>>2];n[o+12>>2]=n[h+12>>2];ss(A,k,2)}Vm(A,e,n[(n[t>>2]|0)+(l<<2)>>2]|0);l=l+1|0}v=g;return}function Wm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+s[i+8>>3]+ +s[e+8>>3])*.5;s[A>>3]=(+s[i>>3]+ +s[e>>3])*.5;s[A+8>>3]=r;return}function Jm(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;i=n[A+60>>2]|0;if(!(((i|0)!=0?(r[i>>0]|0)==(r[e>>0]|0):0)?(az(i,e)|0)==0:0))f=4;A:do{if((f|0)==4){a=A+56|0;f=n[A+48>>2]|0;i=0;while(1){if((i|0)>=(f|0)){A=0;break A}A=Jm(n[(n[a>>2]|0)+(i<<2)>>2]|0,e)|0;if(!A)i=i+1|0;else break}}}while(0);return A|0}function Nm(A,e){A=A|0;e=e|0;var i=0;i=e+8|0;s[i>>3]=+s[i>>3]*1.375;n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];return}function zm(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,a=0.0,l=0.0,t=0.0,c=0.0,b=0.0,o=0.0;c=+s[e>>3];f=c*.5;o=+s[e+8>>3];l=o*.5;s[A>>3]=f;r=o*.40909090909090906;s[A+8>>3]=r;s[A+16>>3]=f;a=o*.4592530909090909;s[A+24>>3]=a;t=c*.275892;s[A+32>>3]=t;s[A+40>>3]=l;s[A+48>>3]=0.0;s[A+56>>3]=l;c=c*-.275892;s[A+64>>3]=c;s[A+72>>3]=l;b=-f;s[A+80>>3]=b;s[A+88>>3]=a;i=A+96|0;s[i>>3]=b;s[A+104>>3]=r;e=A+112|0;n[e>>2]=n[i>>2];n[e+4>>2]=n[i+4>>2];n[e+8>>2]=n[i+8>>2];n[e+12>>2]=n[i+12>>2];e=A+128|0;s[e>>3]=b;s[A+136>>3]=o*-.40909090909090906;i=A+144|0;n[i>>2]=n[e>>2];n[i+4>>2]=n[e+4>>2];n[i+8>>2]=n[e+8>>2];n[i+12>>2]=n[e+12>>2];s[A+160>>3]=b;a=-a;s[A+168>>3]=a;s[A+176>>3]=c;l=-l;s[A+184>>3]=l;s[A+192>>3]=0.0;s[A+200>>3]=l;s[A+208>>3]=t;s[A+216>>3]=l;s[A+224>>3]=f;s[A+232>>3]=a;i=A+240|0;s[i>>3]=f;s[A+248>>3]=-r;e=A+256|0;n[e>>2]=n[i>>2];n[e+4>>2]=n[i+4>>2];n[e+8>>2]=n[i+8>>2];n[e+12>>2]=n[i+12>>2];e=A+288|0;i=A+272|0;n[i>>2]=n[A>>2];n[i+4>>2]=n[A+4>>2];n[i+8>>2]=n[A+8>>2];n[i+12>>2]=n[A+12>>2];n[e>>2]=n[A>>2];n[e+4>>2]=n[A+4>>2];n[e+8>>2]=n[A+8>>2];n[e+12>>2]=n[A+12>>2];return}function pm(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,a=0,l=0.0,t=0,c=0,b=0,o=0,u=0,B=0.0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0;m=v;v=v+144|0;g=m+112|0;h=m+96|0;Z=m+80|0;d=m+64|0;G=m+32|0;k=m+16|0;w=m;a=m+48|0;do{if(A){t=n[A+4>>2]|0;c=n[A>>2]|0;u=(n[(n[(HV(c)|0)+16>>2]|0)+116>>2]&3)*90|0;n[g>>2]=n[e>>2];n[g+4>>2]=n[e+4>>2];n[g+8>>2]=n[e+8>>2];n[g+12>>2]=n[e+12>>2];og(a,g,u);n[G>>2]=n[a>>2];n[G+4>>2]=n[a+4>>2];n[G+8>>2]=n[a+8>>2];n[G+12>>2]=n[a+12>>2];if(t|0){i=+s[G>>3];if(!(+s[t>>3]<=i)){A=0;break}if(!(i<=+s[t+16>>3])){A=0;break}i=+s[G+8>>3];if(!(+s[t+8>>3]<=i)){A=0;break}A=i<=+s[t+24>>3];break}if((c|0)==(n[42335]|0)){i=+s[20903];r=+s[20904];l=+s[20905]}else{A=c+16|0;e=n[(n[A>>2]|0)+12>>2]|0;n[42336]=e;n[42337]=n[e+44>>2];n[42338]=n[e+8>>2];if(!(n[e+40>>2]&2048)){o=(n[(n[(HV(c)|0)+16>>2]|0)+116>>2]&1|0)==0;u=n[A>>2]|0;s[(o?167248:167256)>>3]=+s[u+96>>3]+ +s[u+88>>3];s[(o?167256:167248)>>3]=+s[u+80>>3];l=+s[u+32>>3]*72.0;f=+s[u+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);l=+(~~(l+(l>=0.0?.5:-.5))|0)}else{oC(g,e);l=+s[g+16>>3]-+s[g>>3];f=+s[g+24>>3]-+s[g+8>>3];u=(n[(n[(HV(c)|0)+16>>2]|0)+116>>2]&1|0)==0;s[(u?167248:167256)>>3]=l;s[(u?167256:167248)>>3]=f}i=+s[20906];if(i==0.0){s[20906]=1.0;i=1.0}r=+s[20907];if(r==0.0){s[20907]=1.0;r=1.0}i=l/i;s[20903]=i;r=f/r;s[20904]=r;l=l*.5;s[20905]=l;s[20908]=f*.5;u=X((n[(n[42336]|0)+4>>2]|0)+-1|0,n[42338]|0)|0;n[42339]=(u|0)>0?u:0;n[42335]=c}f=+s[G>>3]*i;s[G>>3]=f;u=G+8|0;i=+s[u>>3]*r;s[u>>3]=i;if(!(+Y(+f)>l)?(r=+Y(+i),B=+s[20908],!(r>B)):0){u=n[42338]|0;if((u|0)<3){A=+Cz(f/l,i/B)<1.0;break}e=(n[42340]|0)%(u|0)|0;A=(e+1|0)%(u|0)|0;c=n[42337]|0;b=n[42339]|0;o=c+(b+e<<4)|0;n[k>>2]=n[o>>2];n[k+4>>2]=n[o+4>>2];n[k+8>>2]=n[o+8>>2];n[k+12>>2]=n[o+12>>2];o=c+(b+A<<4)|0;n[w>>2]=n[o>>2];n[w+4>>2]=n[o+4>>2];n[w+8>>2]=n[o+8>>2];n[w+12>>2]=n[o+12>>2];n[d>>2]=n[G>>2];n[d+4>>2]=n[G+4>>2];n[d+8>>2]=n[G+8>>2];n[d+12>>2]=n[G+12>>2];n[Z>>2]=n[41818];n[Z+4>>2]=n[41819];n[Z+8>>2]=n[41820];n[Z+12>>2]=n[41821];n[h>>2]=n[k>>2];n[h+4>>2]=n[k+4>>2];n[h+8>>2]=n[k+8>>2];n[h+12>>2]=n[k+12>>2];n[g>>2]=n[o>>2];n[g+4>>2]=n[o+4>>2];n[g+8>>2]=n[o+8>>2];n[g+12>>2]=n[o+12>>2];if(dm(d,Z,h,g)|0){n[d>>2]=n[G>>2];n[d+4>>2]=n[G+4>>2];n[d+8>>2]=n[G+8>>2];n[d+12>>2]=n[G+12>>2];n[Z>>2]=n[k>>2];n[Z+4>>2]=n[k+4>>2];n[Z+8>>2]=n[k+8>>2];n[Z+12>>2]=n[k+12>>2];n[h>>2]=n[w>>2];n[h+4>>2]=n[w+4>>2];n[h+8>>2]=n[w+8>>2];n[h+12>>2]=n[w+12>>2];n[g>>2]=n[41818];n[g+4>>2]=n[41819];n[g+8>>2]=n[41820];n[g+12>>2]=n[41821];o=(dm(d,Z,h,g)|0)!=0;if(o?(n[d>>2]=n[G>>2],n[d+4>>2]=n[G+4>>2],n[d+8>>2]=n[G+8>>2],n[d+12>>2]=n[G+12>>2],n[Z>>2]=n[w>>2],n[Z+4>>2]=n[w+4>>2],n[Z+8>>2]=n[w+8>>2],n[Z+12>>2]=n[w+12>>2],n[h>>2]=n[41818],n[h+4>>2]=n[41819],n[h+8>>2]=n[41820],n[h+12>>2]=n[41821],n[g>>2]=n[k>>2],n[g+4>>2]=n[k+4>>2],n[g+8>>2]=n[k+8>>2],n[g+12>>2]=n[k+12>>2],(dm(d,Z,h,g)|0)!=0):0){A=1;break}else{t=e;e=1}while(1){if((e|0)>=(u|0)){e=31;break}if(o){a=A;A=(A+1|0)%(u|0)|0}else{a=(t+-1+u|0)%(u|0)|0;A=t}k=c+(b+a<<4)|0;w=c+(b+A<<4)|0;n[d>>2]=n[G>>2];n[d+4>>2]=n[G+4>>2];n[d+8>>2]=n[G+8>>2];n[d+12>>2]=n[G+12>>2];n[Z>>2]=n[41818];n[Z+4>>2]=n[41819];n[Z+8>>2]=n[41820];n[Z+12>>2]=n[41821];n[h>>2]=n[k>>2];n[h+4>>2]=n[k+4>>2];n[h+8>>2]=n[k+8>>2];n[h+12>>2]=n[k+12>>2];n[g>>2]=n[w>>2];n[g+4>>2]=n[w+4>>2];n[g+8>>2]=n[w+8>>2];n[g+12>>2]=n[w+12>>2];if(!(dm(d,Z,h,g)|0)){e=30;break}else{t=a;e=e+1|0}}if((e|0)==30){n[42340]=a;A=0;break}else if((e|0)==31){n[42340]=t;A=1;break}}else A=0}else A=0}else{n[42335]=0;A=0}}while(0);v=m;return A&1|0}function Rm(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,a=0.0,l=0,t=0,c=0;t=v;v=v+32|0;f=t+16|0;l=t;if(A){A=n[A>>2]|0;c=(n[(n[(HV(A)|0)+16>>2]|0)+116>>2]&3)*90|0;n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];og(l,f,c);a=+s[l>>3];r=+s[l+8>>3];if((A|0)==(n[42343]|0))i=+s[20911];else{l=n[(n[A+16>>2]|0)+12>>2]|0;c=(n[l+4>>2]<<1)+-2|0;i=+s[(n[l+44>>2]|0)+((((c|0)>0?c:0)|1)<<4)>>3];s[20911]=i;n[42343]=A}if(+Y(+a)>i|+Y(+r)>i)A=0;else A=+Cz(a,r)<=i&1}else{n[42343]=0;A=0}v=t;return A|0}function Pm(A,e){A=A|0;e=e|0;var i=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0.0,Z=0,G=0;h=v;v=v+16|0;t=h;w=n[A+16>>2]|0;d=w+208|0;i=n[d>>2]|0;if((i|0)==0?(f[w+260>>1]&1)==0:0)k=0;else if(!(n[A+152>>2]&4)){Kc(A,i,n[w+228>>2]|0,n[w+244>>2]|0,n[w+212>>2]|0);k=1}else k=1;o=e+16|0;c=n[(n[o>>2]|0)+12>>2]|0;u=n[c+44>>2]|0;B=n[c+8>>2]|0;c=n[c+4>>2]|0;if((n[42341]|0)<(B|0)){i=B+2|0;n[42341]=i;l=n[42342]|0;if(!l)i=Ng(i<<4)|0;else i=pg(l,i<<4)|0;n[42342]=i}Bm(e,t)|0;if(!(n[t>>2]&32))ns(A,21040);else ns(A,21036);i=n[42215]|0;if(i|0)vs(A,+DI(e,i,1.0,0.0));i=a[(n[o>>2]|0)+117>>0]|0;do{if(!(i&1)){if(i&2|0){es(A,TI(e,0,91244)|0);i=TI(e,0,91252)|0;rs(A,i);break}if(i&8|0){es(A,TI(e,0,91260)|0);i=TI(e,0,91268)|0;rs(A,i);break}if(!(i&4)){i=vm(e,122106)|0;rs(A,i);bm(A,e)|0;break}else{es(A,TI(e,0,91276)|0);i=TI(e,0,91284)|0;rs(A,i);break}}else{es(A,TI(e,0,91228)|0);i=TI(e,0,91236)|0;rs(A,i)}}while(0);if(!c)if(!(r[i>>0]|0))l=1;else{es(A,i);l=1}else l=c;t=1;e=0;while(1){if((e|0)>=(l|0))break;c=X(e,B)|0;b=n[42342]|0;i=0;while(1){if((i|0)>=(B|0))break;G=i+c|0;g=+s[u+(G<<4)+8>>3];Z=n[o>>2]|0;s[b+(i<<4)>>3]=+s[Z+16>>3]+ +s[u+(G<<4)>>3];s[b+(i<<4)+8>>3]=+s[Z+24>>3]+g;i=i+1|0}as(A,b,B,t);t=0;e=e+1|0}if(k){if(n[A+152>>2]&4|0)Kc(A,n[d>>2]|0,n[w+228>>2]|0,n[w+244>>2]|0,n[w+212>>2]|0);_c(A)}v=h;return}function Hm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,l=0;f=v;v=v+48|0;l=f;i=Fm(e,i,r)|0;n[l+36>>2]=n[r+36>>2];hm(e,n[r+24>>2]|0,l,i,a[r+33>>0]|0,0)|0;e=l;i=A+40|0;do{n[A>>2]=n[e>>2];A=A+4|0;e=e+4|0}while((A|0)<(i|0));v=f;return}function Fm(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0.0,t=0.0,c=0,b=0.0,o=0.0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0.0,Q=0.0,E=0;C=v;v=v+32|0;I=C;a=C+24|0;c=C+16|0;m=n[(n[(n[(HV(A)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;f=A+16|0;G=(n[f>>2]|0)+16|0;n[I>>2]=n[G>>2];n[I+4>>2]=n[G+4>>2];n[I+8>>2]=n[G+8>>2];n[I+12>>2]=n[G+12>>2];Lm(a,I,m);G=(n[e+16>>2]|0)+16|0;n[I>>2]=n[G>>2];n[I+4>>2]=n[G+4>>2];n[I+8>>2]=n[G+8>>2];n[I+12>>2]=n[G+12>>2];Lm(c,I,m);m=r[i+33>>0]|0;I=m&255;A:do{switch(m<<24>>24){case 0:case 15:{e=0;break}default:{e=n[i+24>>2]|0;if(!e){m=(n[(n[(HV(A)|0)+16>>2]|0)+116>>2]&1|0)==0;G=n[f>>2]|0;Q=+s[G+80>>3]*.5;M=-Q;b=+s[G+88>>3];t=-b;o=m?t:M;l=m?b:Q;b=m?Q:b;t=m?M:t}else{o=+s[e>>3];l=+s[e+16>>3];b=+s[e+24>>3];t=+s[e+8>>3]}m=n[a>>2]|0;Z=n[a+4>>2]|0;G=n[c>>2]|0;d=n[c+4>>2]|0;h=~~t;g=~~((l+o)*.5);w=~~l;k=~~((b+t)*.5);B=~~b;u=~~o;a=0;c=0;e=0;i=0;A=0;while(1){if((c|0)==4)break A;if(1<<c&I){switch(c|0){case 0:{i=g;A=h;break}case 1:{i=w;A=k;break}case 2:{i=g;A=B;break}case 3:{i=u;A=k;break}default:{}}i=m+i|0;A=Z+A|0;f=i-G|0;E=A-d|0;f=(X(E,E)|0)+(X(f,f)|0)|0;if((e|0)==0|(f|0)<(a|0))e=n[21048+(c<<2)>>2]|0;else f=a}else f=a;a=f;c=c+1|0}}}}while(0);v=C;return e|0}function Lm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;switch(i|0){case 0:{f=+s[e>>3];r=+s[e+8>>3];break}case 2:{f=+s[e>>3];r=-+s[e+8>>3];break}case 1:{f=-+s[e+8>>3];r=+s[e>>3];break}case 3:{f=+s[e+8>>3];r=+s[e>>3];break}default:{f=0.0;r=0.0}}n[A>>2]=~~(f+(f>=0.0?.5:-.5));n[A+4>>2]=~~(r+(r>=0.0?.5:-.5));return}function Dm(){var A=0,e=0,i=0;A=v;v=v+32|0;e=A+16|0;i=A;n[i>>2]=0;n[i+4>>2]=0;n[i+8>>2]=0;n[i+12>>2]=0;n[e>>2]=n[i>>2];n[e+4>>2]=n[i+4>>2];n[e+8>>2]=n[i+8>>2];n[e+12>>2]=n[i+12>>2];pm(0,e)|0;n[e>>2]=n[i>>2];n[e+4>>2]=n[i+4>>2];n[e+8>>2]=n[i+8>>2];n[e+12>>2]=n[i+12>>2];Rm(0,e)|0;n[e>>2]=n[i>>2];n[e+4>>2]=n[i+4>>2];n[e+8>>2]=n[i+8>>2];n[e+12>>2]=n[i+12>>2];am(0,e)|0;v=A;return}function Xm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0,l=0.0,t=0,c=0,b=0,o=0,u=0,B=0.0,k=0,w=0.0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0;C=v;v=v+192|0;d=C+176|0;m=C+112|0;I=C+48|0;h=C+32|0;g=C+24|0;Z=C+16|0;G=C;if(!(r<<24>>24)){c=i+48|0;n[h>>2]=n[c>>2];n[h+4>>2]=n[c+4>>2];n[h+8>>2]=n[c+8>>2];n[h+12>>2]=n[c+12>>2];c=g;b=Z;o=m;u=0}else{n[h>>2]=n[i>>2];n[h+4>>2]=n[i+4>>2];n[h+8>>2]=n[i+8>>2];n[h+12>>2]=n[i+12>>2];c=Z;b=g;o=0;u=m}s[g>>3]=0.0;s[Z>>3]=1.0;k=h+8|0;f=0.0;a=1.0;t=0;B=+s[h>>3];while(1){w=+s[k>>3];f=(f+a)*.5;$I(G,i,3,f,o,u);n[h>>2]=n[G>>2];n[h+4>>2]=n[G+4>>2];n[h+8>>2]=n[G+8>>2];n[h+12>>2]=n[G+12>>2];n[d>>2]=n[G>>2];n[d+4>>2]=n[G+4>>2];n[d+8>>2]=n[G+8>>2];n[d+12>>2]=n[G+12>>2];A:do{if(!((BF[e&63](A,d)|0)<<24>>24)){r=0;while(1){if((r|0)==4){r=c;t=1;break A}t=I+(r<<4)|0;M=m+(r<<4)|0;n[t>>2]=n[M>>2];n[t+4>>2]=n[M+4>>2];n[t+8>>2]=n[M+8>>2];n[t+12>>2]=n[M+12>>2];r=r+1|0}}else r=b}while(0);s[r>>3]=f;l=+s[h>>3];B=B-l;if(!((B>=0.0?B:-B)>.5)?(w=w-+s[k>>3],!((w>=0.0?w:-w)>.5)):0)break;f=+s[g>>3];a=+s[Z>>3];B=l}A:do{if(!(t<<24>>24)){r=0;while(1){if((r|0)==4)break A;M=i+(r<<4)|0;I=m+(r<<4)|0;n[M>>2]=n[I>>2];n[M+4>>2]=n[I+4>>2];n[M+8>>2]=n[I+8>>2];n[M+12>>2]=n[I+12>>2];r=r+1|0}}else{r=0;while(1){if((r|0)==4)break A;M=i+(r<<4)|0;m=I+(r<<4)|0;n[M>>2]=n[m>>2];n[M+4>>2]=n[m+4>>2];n[M+8>>2]=n[m+8>>2];n[M+12>>2]=n[m+12>>2];r=r+1|0}}}while(0);v=C;return}function Tm(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0.0;b=v;v=v+48|0;i=b+16|0;r=b;f=b+32|0;a=A+16|0;l=n[a>>2]|0;t=n[l+8>>2]|0;if(t|0?(c=t+4|0,n[(n[c>>2]|0)+12>>2]|0):0){n[f>>2]=A;n[f+4>>2]=0;o=+s[l+96>>3];s[r>>3]=+s[e>>3]-+s[l+16>>3];s[r+8>>3]=+s[e+8>>3]-+s[l+24>>3];c=n[(n[c>>2]|0)+12>>2]|0;n[i>>2]=n[r>>2];n[i+4>>2]=n[r+4>>2];n[i+8>>2]=n[r+8>>2];n[i+12>>2]=n[r+12>>2];c=BF[c&63](f,i)|0;s[(n[a>>2]|0)+96>>3]=o;xm(f,A,e,c)}v=b;return}function xm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0.0,b=0,o=0;o=v;v=v+64|0;b=o;t=e+16|0;a=n[t>>2]|0;c=+s[a+96>>3];l=a+16|0;f=a+24|0;e=0;while(1){if((e|0)==4)break;s[b+(e<<4)>>3]=+s[i+(e<<4)>>3]-+s[l>>3];s[b+(e<<4)+8>>3]=+s[i+(e<<4)+8>>3]-+s[f>>3];e=e+1|0}Xm(A,n[(n[(n[a+8>>2]|0)+4>>2]|0)+12>>2]|0,b,r);e=0;while(1){if((e|0)==4)break;r=n[t>>2]|0;s[i+(e<<4)>>3]=+s[r+16>>3]+ +s[b+(e<<4)>>3];s[i+(e<<4)+8>>3]=+s[r+24>>3]+ +s[b+(e<<4)+8>>3];e=e+1|0}s[(n[t>>2]|0)+96>>3]=c;v=o;return}function Um(A,e){A=A|0;e=e|0;var i=0,f=0;while(1){f=A+16|0;A=n[f>>2]|0;if(!(r[A+112>>0]|0))break;A=n[A+116>>2]|0}A=n[A+8>>2]|0;if(!A){A=Jg(40)|0;n[(n[f>>2]|0)+8>>2]=A}i=n[A>>2]|0;if(!i)A=Ng(((n[A+4>>2]|0)*48|0)+48|0)|0;else A=pg(i,((n[A+4>>2]|0)*48|0)+48|0)|0;f=n[(n[f>>2]|0)+8>>2]|0;n[f>>2]=A;f=f+4|0;i=n[f>>2]|0;n[f>>2]=i+1;f=A+(i*48|0)|0;n[f>>2]=Jg(e<<4)|0;n[A+(i*48|0)+4>>2]=e;A=A+(i*48|0)+8|0;i=A+40|0;do{n[A>>2]=0;A=A+4|0}while((A|0)<(i|0));return f|0}function jm(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0.0,V=0.0;y=v;v=v+96|0;M=y+16|0;g=y;m=y+92|0;I=y+88|0;Z=y+80|0;b=n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;C=HV(b)|0;Q=Um(A,f)|0;o=A;while(1){u=n[o+16>>2]|0;if(!(r[u+112>>0]|0))break;o=n[u+116>>2]|0}if((r[l+8>>0]|0)==0?(t=n[b+16>>2]|0,c=n[e+16>>2]|0,(n[t+232>>2]|0)==(n[c+232>>2]|0)):0){B=(n[t+236>>2]|0)>(n[c+236>>2]|0);G=B?b:e;b=B?e:b}else G=e;if((b|0)==(n[((n[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)){t=u+80|0;c=u+40|0;B=a[u+86>>0]|0;e=a[u+46>>0]|0}else{t=u+40|0;c=u+80|0;B=a[u+46>>0]|0;e=a[u+86>>0]|0}u=n[t>>2]|0;t=n[c>>2]|0;if(((e|0)!=0?(w=b+16|0,k=n[(n[w>>2]|0)+8>>2]|0,(k|0)!=0):0)?(n[(n[k+4>>2]|0)+12>>2]|0)!=0:0){n[Z>>2]=b;n[Z+4>>2]=t;t=f+-4|0;e=g+8|0;c=0;while(1){if((c|0)>=(t|0))break;o=c+3|0;k=n[w>>2]|0;s[g>>3]=+s[i+(o<<4)>>3]-+s[k+16>>3];s[e>>3]=+s[i+(o<<4)+8>>3]-+s[k+24>>3];k=n[(n[(n[k+8>>2]|0)+4>>2]|0)+12>>2]|0;n[M>>2]=n[g>>2];n[M+4>>2]=n[g+4>>2];n[M+8>>2]=n[g+8>>2];n[M+12>>2]=n[g+12>>2];if(!((BF[k&63](Z,M)|0)<<24>>24))break;else c=o}n[m>>2]=c;xm(Z,b,i+(c<<4)|0,1)}else{n[m>>2]=0;c=0}if(((B|0)!=0?(h=G+16|0,d=n[(n[h>>2]|0)+8>>2]|0,(d|0)!=0):0)?(n[(n[d+4>>2]|0)+12>>2]|0)!=0:0){n[Z>>2]=G;n[Z+4>>2]=u;b=f+-4|0;e=g+8|0;t=b;while(1){if((t|0)<=0)break;f=n[h>>2]|0;s[g>>3]=+s[i+(t<<4)>>3]-+s[f+16>>3];s[e>>3]=+s[i+(t<<4)+8>>3]-+s[f+24>>3];f=n[(n[(n[f+8>>2]|0)+4>>2]|0)+12>>2]|0;n[M>>2]=n[g>>2];n[M+4>>2]=n[g+4>>2];n[M+8>>2]=n[g+8>>2];n[M+12>>2]=n[g+12>>2];if(!((BF[f&63](Z,M)|0)<<24>>24))break;t=t+-3|0}n[I>>2]=t;xm(Z,G,i+(t<<4)|0,0)}else{b=f+-4|0;n[I>>2]=b;t=b}while(1){if((c|0)>=(b|0))break;e=c+3|0;Y=+s[i+(c<<4)>>3]-+s[i+(e<<4)>>3];V=+s[i+(c<<4)+8>>3]-+s[i+(e<<4)+8>>3];if(V*V+Y*Y<1.0e-06)c=e;else break}n[m>>2]=c;while(1){if((t|0)<=0)break;Z=t+3|0;V=+s[i+(t<<4)>>3]-+s[i+(Z<<4)>>3];Y=+s[i+(t<<4)+8>>3]-+s[i+(Z<<4)+8>>3];if(!(Y*Y+V*V<1.0e-06))break;t=t+-3|0}n[I>>2]=t;Sm(A,G,i,m,I,Q,l);w=n[m>>2]|0;o=n[I>>2]|0;b=o+4|0;o=o+3|0;u=M+16|0;B=M+32|0;k=M+48|0;c=C+16|0;t=w;while(1){if((t|0)>=(b|0))break;C=(n[Q>>2]|0)+(t-w<<4)|0;e=i+(t<<4)|0;n[C>>2]=n[e>>2];n[C+4>>2]=n[e+4>>2];n[C+8>>2]=n[e+8>>2];n[C+12>>2]=n[e+12>>2];n[M>>2]=n[e>>2];n[M+4>>2]=n[e+4>>2];n[M+8>>2]=n[e+8>>2];n[M+12>>2]=n[e+12>>2];e=t+1|0;if((t|0)>=(o|0)){E=38;break}I=(n[Q>>2]|0)+(e-w<<4)|0;C=i+(e<<4)|0;n[I>>2]=n[C>>2];n[I+4>>2]=n[C+4>>2];n[I+8>>2]=n[C+8>>2];n[I+12>>2]=n[C+12>>2];n[u>>2]=n[C>>2];n[u+4>>2]=n[C+4>>2];n[u+8>>2]=n[C+8>>2];n[u+12>>2]=n[C+12>>2];C=t+2|0;I=(n[Q>>2]|0)+(C-w<<4)|0;C=i+(C<<4)|0;n[I>>2]=n[C>>2];n[I+4>>2]=n[C+4>>2];n[I+8>>2]=n[C+8>>2];n[I+12>>2]=n[C+12>>2];n[B>>2]=n[C>>2];n[B+4>>2]=n[C+4>>2];n[B+8>>2]=n[C+8>>2];n[B+12>>2]=n[C+12>>2];C=t+3|0;I=i+(C<<4)|0;n[k>>2]=n[I>>2];n[k+4>>2]=n[I+4>>2];n[k+8>>2]=n[I+8>>2];n[k+12>>2]=n[I+12>>2];kd((n[c>>2]|0)+16|0,M);t=C}n[Q+4>>2]=b-w;v=y;return}function Sm(A,e,i,f,a,l,t){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;l=l|0;t=t|0;var c=0,s=0,b=0,o=0,u=0,B=0;B=v;v=v+16|0;b=B+4|0;o=B;u=A;while(1){c=n[(n[u+16>>2]|0)+116>>2]|0;if(!c)break;else u=c}if(!(r[t+8>>0]|0))c=(vF[n[t>>2]&31](u)|0)&255;else c=0;Pw(u,b,o);s=t+4|0;if((vF[n[s>>2]&31](e)|0)<<24>>24)n[o>>2]=0;if((vF[n[s>>2]&31](n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0)<<24>>24)n[b>>2]=0;if(c|0){e=n[b>>2]|0;n[b>>2]=n[o>>2];n[o>>2]=e}if(!(r[t+9>>0]|0)){c=n[b>>2]|0;if(c|0)n[f>>2]=$w(u,i,n[f>>2]|0,n[a>>2]|0,l,c)|0;c=n[o>>2]|0;if(c|0)n[a>>2]=_w(u,i,n[f>>2]|0,n[a>>2]|0,l,c)|0}else{s=n[o>>2]|0;c=n[b>>2]|0;if(c|s|0)Ad(u,i,n[f>>2]|0,n[a>>2]|0,l,c,s)}v=B;return}function Om(A,e){A=A|0;e=e|0;var i=0,r=0;if(+s[e>>3]<+s[e+16>>3]?+s[e+8>>3]<+s[e+24>>3]:0){i=n[A+84>>2]|0;r=A+80|0;A=n[r>>2]|0;n[r>>2]=A+1;A=i+(A<<5)|0;n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];n[A+16>>2]=n[e+16>>2];n[A+20>>2]=n[e+20>>2];n[A+24>>2]=n[e+24>>2];n[A+28>>2]=n[e+28>>2]}return}function Km(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0,t=0,c=0.0,b=0.0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0.0,C=0.0;m=v;v=v+112|0;g=m+72|0;u=m+56|0;o=m+16|0;k=m;t=n[e>>2]&3;B=e+48|0;G=n[((t|0)==3?e:B)+40>>2]|0;h=e+16|0;w=n[h>>2]|0;l=w+16|0;if(r[w+47>>0]|0){Hm(o,G,n[((t|0)==2?e:e+-48|0)+40>>2]|0,l);t=o;o=l+40|0;do{n[l>>2]=n[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(o|0))}w=G+16|0;t=n[w>>2]|0;l=n[t+8>>2]|0;if(!l)o=0;else o=n[(n[l+4>>2]|0)+16>>2]|0;l=t+16|0;t=(n[h>>2]|0)+16|0;n[u>>2]=n[l>>2];n[u+4>>2]=n[l+4>>2];n[u+8>>2]=n[l+8>>2];n[u+12>>2]=n[l+12>>2];n[g>>2]=n[t>>2];n[g+4>>2]=n[t+4>>2];n[g+8>>2]=n[t+8>>2];n[g+12>>2]=n[t+12>>2];_m(k,u,g);n[A>>2]=n[k>>2];n[A+4>>2]=n[k+4>>2];n[A+8>>2]=n[k+8>>2];n[A+12>>2]=n[k+12>>2];if(!(a<<24>>24)){l=n[h>>2]|0;if(!(r[l+45>>0]|0))l=0;else{c=+s[l+32>>3];Z=9}}else{c=+qm(n[((n[e>>2]&3|0)==3?e:B)+40>>2]|0);Z=9}if((Z|0)==9){s[A+16>>3]=c;l=1}r[A+29>>0]=l;n[A+80>>2]=0;n[A+88>>2]=e;k=f+32|0;n[k>>2]=n[A>>2];n[k+4>>2]=n[A+4>>2];n[k+8>>2]=n[A+8>>2];n[k+12>>2]=n[A+12>>2];switch(i|0){case 1:{t=n[w>>2]|0;if((r[t+156>>0]|0)==0?(k=r[(n[h>>2]|0)+49>>0]|0,d=k&255,k<<24>>24!=0):0){n[g>>2]=n[f>>2];n[g+4>>2]=n[f+4>>2];n[g+8>>2]=n[f+8>>2];n[g+12>>2]=n[f+12>>2];n[g+16>>2]=n[f+16>>2];n[g+20>>2]=n[f+20>>2];n[g+24>>2]=n[f+24>>2];n[g+28>>2]=n[f+28>>2];do{if(!(d&4)){if(d&1|0){n[f+48>>2]=1;l=g+24|0;s[l>>3]=+s[(+s[l>>3]>+s[A+8>>3]?g+16|0:A)+8>>3];l=f+56|0;n[l>>2]=n[g>>2];n[l+4>>2]=n[g+4>>2];n[l+8>>2]=n[g+8>>2];n[l+12>>2]=n[g+12>>2];n[l+16>>2]=n[g+16>>2];n[l+20>>2]=n[g+20>>2];n[l+24>>2]=n[g+24>>2];n[l+28>>2]=n[g+28>>2];l=1;break}l=f+48|0;if(!(d&8)){n[l>>2]=2;s[g>>3]=+s[A>>3];s[g+8>>3]=+s[t+24>>3]-+s[t+80>>3]*.5;s[g+24>>3]=+s[A+8>>3];l=f+56|0;n[l>>2]=n[g>>2];n[l+4>>2]=n[g+4>>2];n[l+8>>2]=n[g+8>>2];n[l+12>>2]=n[g+12>>2];n[l+16>>2]=n[g+16>>2];n[l+20>>2]=n[g+20>>2];n[l+24>>2]=n[g+24>>2];n[l+28>>2]=n[g+28>>2];l=1;break}else{n[l>>2]=8;s[g+16>>3]=+s[A>>3];s[g+8>>3]=+s[t+24>>3]-+s[t+80>>3]*.5;s[g+24>>3]=+s[A+8>>3];l=f+56|0;n[l>>2]=n[g>>2];n[l+4>>2]=n[g+4>>2];n[l+8>>2]=n[g+8>>2];n[l+12>>2]=n[g+12>>2];n[l+16>>2]=n[g+16>>2];n[l+20>>2]=n[g+20>>2];n[l+24>>2]=n[g+24>>2];n[l+28>>2]=n[g+28>>2];l=1;break}}else{n[f+48>>2]=4;c=+s[g>>3];if(+s[A>>3]<+s[t+16>>3]){C=c+-1.0;I=+s[A+8>>3];A=g+16|0;c=+s[A>>3];b=+s[t+80>>3]*.5+ +s[t+24>>3];b=b+ +((n[(n[(HV(G)|0)+16>>2]|0)+252>>2]|0)/2|0|0);l=n[w>>2]|0;s[A>>3]=+s[l+16>>3]-+s[l+88>>3];s[g+24>>3]=I;s[g+8>>3]=+s[l+24>>3]-+s[l+80>>3]*.5;s[g>>3]=C;s[f+56>>3]=C;s[f+64>>3]=I;s[f+72>>3]=c;s[f+80>>3]=b;l=f+88|0;n[l>>2]=n[g>>2];n[l+4>>2]=n[g+4>>2];n[l+8>>2]=n[g+8>>2];n[l+12>>2]=n[g+12>>2];n[l+16>>2]=n[g+16>>2];n[l+20>>2]=n[g+20>>2];n[l+24>>2]=n[g+24>>2];n[l+28>>2]=n[g+28>>2];l=2;break}else{b=+s[A+8>>3];l=g+16|0;I=+s[l>>3]+1.0;C=+s[t+80>>3]*.5+ +s[t+24>>3];C=C+ +((n[(n[(HV(G)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=n[w>>2]|0;s[g>>3]=+s[A+96>>3]+ +s[A+16>>3];s[g+24>>3]=b;s[g+8>>3]=+s[A+24>>3]-+s[A+80>>3]*.5;s[l>>3]=I;s[f+56>>3]=c;s[f+64>>3]=b;s[f+72>>3]=I;s[f+80>>3]=C;l=f+88|0;n[l>>2]=n[g>>2];n[l+4>>2]=n[g+4>>2];n[l+8>>2]=n[g+8>>2];n[l+12>>2]=n[g+12>>2];n[l+16>>2]=n[g+16>>2];n[l+20>>2]=n[g+20>>2];n[l+24>>2]=n[g+24>>2];n[l+28>>2]=n[g+28>>2];l=2;break}}}while(0);n[f+52>>2]=l;while(1){l=n[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=n[l+116>>2]|0}r[((G|0)==(n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)?l+16|0:l+56|0)+30>>0]=0}else{t=1;Z=47}break}case 2:{d=r[(n[h>>2]|0)+49>>0]|0;t=d&255;if(!(d<<24>>24))Z=46;else{n[g>>2]=n[f>>2];n[g+4>>2]=n[f+4>>2];n[g+8>>2]=n[f+8>>2];n[g+12>>2]=n[f+12>>2];n[g+16>>2]=n[f+16>>2];n[g+20>>2]=n[f+20>>2];n[g+24>>2]=n[f+24>>2];n[g+28>>2]=n[f+28>>2];do{if(!(t&4)){if(t&1|0)if((n[f+48>>2]|0)==4){l=n[w>>2]|0;C=+s[l+24>>3]-+s[l+80>>3]*.5;l=g+16|0;I=+s[l>>3]+1.0;c=+s[A>>3];b=C-+((n[(n[(HV(G)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=n[w>>2]|0;s[g>>3]=+s[A+96>>3]+ +s[A+16>>3];s[g+8>>3]=C;s[g+24>>3]=+s[A+80>>3]*.5+ +s[A+24>>3];s[l>>3]=I;s[f+56>>3]=c;s[f+64>>3]=b;s[f+72>>3]=I;s[f+80>>3]=C;l=f+88|0;n[l>>2]=n[g>>2];n[l+4>>2]=n[g+4>>2];n[l+8>>2]=n[g+8>>2];n[l+12>>2]=n[g+12>>2];n[l+16>>2]=n[g+16>>2];n[l+20>>2]=n[g+20>>2];n[l+24>>2]=n[g+24>>2];n[l+28>>2]=n[g+28>>2];l=2;break}else{l=g+24|0;s[l>>3]=+s[(+s[l>>3]>+s[A+8>>3]?g+16|0:A)+8>>3];l=f+56|0;n[l>>2]=n[g>>2];n[l+4>>2]=n[g+4>>2];n[l+8>>2]=n[g+8>>2];n[l+12>>2]=n[g+12>>2];n[l+16>>2]=n[g+16>>2];n[l+20>>2]=n[g+20>>2];n[l+24>>2]=n[g+24>>2];n[l+28>>2]=n[g+28>>2];l=1;break}c=+s[A>>3];if(!(t&8)){s[g>>3]=c;i=n[w>>2]|0;c=+s[i+24>>3];b=+s[i+80>>3]*.5;if((n[f+48>>2]|0)==4){s[g+24>>3]=b+c;c=+s[A+8>>3];l=g}else{s[g+8>>3]=c-b;c=+s[A+8>>3]+1.0;l=g+16|0}s[l+8>>3]=c;l=f+56|0;n[l>>2]=n[g>>2];n[l+4>>2]=n[g+4>>2];n[l+8>>2]=n[g+8>>2];n[l+12>>2]=n[g+12>>2];n[l+16>>2]=n[g+16>>2];n[l+20>>2]=n[g+20>>2];n[l+24>>2]=n[g+24>>2];n[l+28>>2]=n[g+28>>2];l=1;break}else{l=g+16|0;s[l>>3]=c+1.0;i=n[w>>2]|0;c=+s[i+24>>3];b=+s[i+80>>3]*.5;if((n[f+48>>2]|0)==4){s[g+24>>3]=b+c;c=+s[A+8>>3]+-1.0;l=g}else{s[g+8>>3]=c-b;c=+s[A+8>>3]+1.0}s[l+8>>3]=c;l=f+56|0;n[l>>2]=n[g>>2];n[l+4>>2]=n[g+4>>2];n[l+8>>2]=n[g+8>>2];n[l+12>>2]=n[g+12>>2];n[l+16>>2]=n[g+16>>2];n[l+20>>2]=n[g+20>>2];n[l+24>>2]=n[g+24>>2];n[l+28>>2]=n[g+28>>2];l=1;break}}else{l=g+8|0;s[l>>3]=+s[(+s[l>>3]<+s[A+8>>3]?g:A)+8>>3];l=f+56|0;n[l>>2]=n[g>>2];n[l+4>>2]=n[g+4>>2];n[l+8>>2]=n[g+8>>2];n[l+12>>2]=n[g+12>>2];n[l+16>>2]=n[g+16>>2];n[l+20>>2]=n[g+20>>2];n[l+24>>2]=n[g+24>>2];n[l+28>>2]=n[g+28>>2];l=1}}while(0);n[f+52>>2]=l;while(1){l=n[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=n[l+116>>2]|0}r[((G|0)==(n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)?l+16|0:l+56|0)+30>>0]=0;n[f+48>>2]=t}break}default:Z=46}if((Z|0)==46){t=n[f+48>>2]|0;Z=47}A:do{if((Z|0)==47){if(o){e=f+56|0;l=f+52|0;t=dF[o&3](G,(n[h>>2]|0)+16|0,t,e,l)|0;if(t){n[f+48>>2]=t;break}}else{l=f+52|0;e=f+56|0}n[e>>2]=n[f>>2];n[e+4>>2]=n[f+4>>2];n[e+8>>2]=n[f+8>>2];n[e+12>>2]=n[f+12>>2];n[e+16>>2]=n[f+16>>2];n[e+20>>2]=n[f+20>>2];n[e+24>>2]=n[f+24>>2];n[e+28>>2]=n[f+28>>2];n[l>>2]=1;switch(i|0){case 8:{BA(123205,91502,569,91512);break}case 2:{s[((n[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+s[A+8>>3];break A}case 1:{s[f+80>>3]=+s[A+8>>3];n[f+48>>2]=1;break A}default:break A}}}while(0);v=m;return}function _m(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+s[i+8>>3]+ +s[e+8>>3];s[A>>3]=+s[i>>3]+ +s[e>>3];s[A+8>>3]=r;return}function qm(A){A=A|0;var e=0.0,i=0,r=0,f=0.0,a=0,l=0,t=0,c=0.0,b=0.0;l=n[A+16>>2]|0;t=n[l+172>>2]|0;f=0.0;a=0;while(1){A=n[t+(a<<2)>>2]|0;if(!A)break;f=+s[(n[(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+16>>3]+f;a=a+1|0}r=n[l+180>>2]|0;e=0.0;A=0;while(1){i=n[r+(A<<2)>>2]|0;if(!i)break;e=+s[(n[(n[((n[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+16>>3]+e;A=A+1|0}c=+s[l+16>>3];b=+s[l+24>>3];t=n[t>>2]|0;f=+H(+(b-+s[(n[(n[((n[t>>2]&3|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(c-f/+(a|0)));t=n[r>>2]|0;return+((+H(+(+s[(n[(n[((n[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-b),+(e/+(A|0)-c))+f)*.5)}function $m(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0,t=0,c=0.0,b=0.0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0.0,Q=0.0;C=v;v=v+112|0;G=C+72|0;B=C+56|0;o=C+16|0;h=C;t=n[e>>2]&3;w=e+-48|0;I=n[((t|0)==2?e:w)+40>>2]|0;g=e+16|0;d=n[g>>2]|0;l=d+56|0;if(r[d+87>>0]|0){Hm(o,I,n[((t|0)==3?e:e+48|0)+40>>2]|0,l);t=o;o=l+40|0;do{n[l>>2]=n[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(o|0))}d=I+16|0;t=n[d>>2]|0;l=n[t+8>>2]|0;if(!l)u=0;else u=n[(n[l+4>>2]|0)+16>>2]|0;o=A+40|0;l=t+16|0;t=(n[g>>2]|0)+56|0;n[B>>2]=n[l>>2];n[B+4>>2]=n[l+4>>2];n[B+8>>2]=n[l+8>>2];n[B+12>>2]=n[l+12>>2];n[G>>2]=n[t>>2];n[G+4>>2]=n[t+4>>2];n[G+8>>2]=n[t+8>>2];n[G+12>>2]=n[t+12>>2];_m(h,B,G);n[o>>2]=n[h>>2];n[o+4>>2]=n[h+4>>2];n[o+8>>2]=n[h+8>>2];n[o+12>>2]=n[h+12>>2];if(!(a<<24>>24)){l=n[g>>2]|0;if(!(r[l+85>>0]|0))k=0;else{s[A+56>>3]=+s[l+72>>3];k=1}}else{b=+qm(n[((n[e>>2]&3|0)==2?e:w)+40>>2]|0)+3.141592653589793;s[A+56>>3]=b;if(b<6.283185307179586)k=1;else BA(91522,91502,606,91546)}r[A+69>>0]=k;h=f+32|0;n[h>>2]=n[o>>2];n[h+4>>2]=n[o+4>>2];n[h+8>>2]=n[o+8>>2];n[h+12>>2]=n[o+12>>2];switch(i|0){case 1:{t=n[d>>2]|0;if((r[t+156>>0]|0)==0?(h=r[(n[g>>2]|0)+89>>0]|0,Z=h&255,h<<24>>24!=0):0){n[G>>2]=n[f>>2];n[G+4>>2]=n[f+4>>2];n[G+8>>2]=n[f+8>>2];n[G+12>>2]=n[f+12>>2];n[G+16>>2]=n[f+16>>2];n[G+20>>2]=n[f+20>>2];n[G+24>>2]=n[f+24>>2];n[G+28>>2]=n[f+28>>2];do{if(!(Z&4))if(!(Z&1)){l=f+48|0;if(!(Z&8)){n[l>>2]=2;s[G>>3]=+s[o>>3];s[G+24>>3]=+s[t+80>>3]*.5+ +s[t+24>>3];s[G+8>>3]=+s[A+48>>3];l=f+56|0;n[l>>2]=n[G>>2];n[l+4>>2]=n[G+4>>2];n[l+8>>2]=n[G+8>>2];n[l+12>>2]=n[G+12>>2];n[l+16>>2]=n[G+16>>2];n[l+20>>2]=n[G+20>>2];n[l+24>>2]=n[G+24>>2];n[l+28>>2]=n[G+28>>2];l=1;break}else{n[l>>2]=8;s[G+16>>3]=+s[o>>3];s[G+24>>3]=+s[t+80>>3]*.5+ +s[t+24>>3];s[G+8>>3]=+s[A+48>>3];l=f+56|0;n[l>>2]=n[G>>2];n[l+4>>2]=n[G+4>>2];n[l+8>>2]=n[G+8>>2];n[l+12>>2]=n[G+12>>2];n[l+16>>2]=n[G+16>>2];n[l+20>>2]=n[G+20>>2];n[l+24>>2]=n[G+24>>2];n[l+28>>2]=n[G+28>>2];l=1;break}}else{n[f+48>>2]=1;c=+s[G>>3];if(+s[o>>3]<+s[t+16>>3]){Q=c+-1.0;b=+s[A+48>>3];A=G+16|0;c=+s[A>>3];M=+s[t+80>>3]*-.5+ +s[t+24>>3];M=M-+((n[(n[(HV(I)|0)+16>>2]|0)+252>>2]|0)/2|0|0);l=n[d>>2]|0;s[A>>3]=+s[l+16>>3]-+s[l+88>>3];s[G+8>>3]=b;s[G+24>>3]=+s[l+80>>3]*.5+ +s[l+24>>3];s[G>>3]=Q;s[f+56>>3]=Q;s[f+64>>3]=M;s[f+72>>3]=c;s[f+80>>3]=b;l=f+88|0;n[l>>2]=n[G>>2];n[l+4>>2]=n[G+4>>2];n[l+8>>2]=n[G+8>>2];n[l+12>>2]=n[G+12>>2];n[l+16>>2]=n[G+16>>2];n[l+20>>2]=n[G+20>>2];n[l+24>>2]=n[G+24>>2];n[l+28>>2]=n[G+28>>2];l=2;break}else{Q=+s[A+48>>3];l=G+16|0;M=+s[l>>3]+1.0;b=+s[t+80>>3]*-.5+ +s[t+24>>3];b=b-+((n[(n[(HV(I)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=n[d>>2]|0;s[G>>3]=+s[A+96>>3]+ +s[A+16>>3];s[G+8>>3]=Q;s[G+24>>3]=+s[A+80>>3]*.5+ +s[A+24>>3];s[l>>3]=M;s[f+56>>3]=c;s[f+64>>3]=b;s[f+72>>3]=M;s[f+80>>3]=Q;l=f+88|0;n[l>>2]=n[G>>2];n[l+4>>2]=n[G+4>>2];n[l+8>>2]=n[G+8>>2];n[l+12>>2]=n[G+12>>2];n[l+16>>2]=n[G+16>>2];n[l+20>>2]=n[G+20>>2];n[l+24>>2]=n[G+24>>2];n[l+28>>2]=n[G+28>>2];l=2;break}}else{n[f+48>>2]=4;l=G+8|0;s[l>>3]=+s[(+s[l>>3]<+s[A+48>>3]?G:o)+8>>3];l=f+56|0;n[l>>2]=n[G>>2];n[l+4>>2]=n[G+4>>2];n[l+8>>2]=n[G+8>>2];n[l+12>>2]=n[G+12>>2];n[l+16>>2]=n[G+16>>2];n[l+20>>2]=n[G+20>>2];n[l+24>>2]=n[G+24>>2];n[l+28>>2]=n[G+28>>2];l=1}}while(0);n[f+52>>2]=l;while(1){l=n[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=n[l+116>>2]|0}r[((I|0)==(n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)?l+56|0:l+16|0)+30>>0]=0;n[f+48>>2]=Z}else{t=4;m=47}break}case 2:{Z=r[(n[g>>2]|0)+89>>0]|0;t=Z&255;if(!(Z<<24>>24))m=46;else{n[G>>2]=n[f>>2];n[G+4>>2]=n[f+4>>2];n[G+8>>2]=n[f+8>>2];n[G+12>>2]=n[f+12>>2];n[G+16>>2]=n[f+16>>2];n[G+20>>2]=n[f+20>>2];n[G+24>>2]=n[f+24>>2];n[G+28>>2]=n[f+28>>2];do{if(!(t&4)){if(t&1|0)if((n[f+48>>2]|0)==4){c=+s[G>>3]+-1.0;l=n[d>>2]|0;Q=+s[l+24>>3]-+s[l+80>>3]*.5;M=+s[o>>3];b=Q-+((n[(n[(HV(I)|0)+16>>2]|0)+252>>2]|0)/2|0|0);l=n[d>>2]|0;s[G+16>>3]=+s[l+16>>3]+-2.0-+s[l+88>>3];s[G+8>>3]=Q;s[G+24>>3]=+s[l+80>>3]*.5+ +s[l+24>>3];s[G>>3]=c;s[f+56>>3]=c;s[f+64>>3]=b;s[f+72>>3]=M;s[f+80>>3]=Q;l=f+88|0;n[l>>2]=n[G>>2];n[l+4>>2]=n[G+4>>2];n[l+8>>2]=n[G+8>>2];n[l+12>>2]=n[G+12>>2];n[l+16>>2]=n[G+16>>2];n[l+20>>2]=n[G+20>>2];n[l+24>>2]=n[G+24>>2];n[l+28>>2]=n[G+28>>2];l=2;break}else{l=G+24|0;s[l>>3]=+s[(+s[l>>3]>+s[A+8>>3]?G+16|0:A)+8>>3];l=f+56|0;n[l>>2]=n[G>>2];n[l+4>>2]=n[G+4>>2];n[l+8>>2]=n[G+8>>2];n[l+12>>2]=n[G+12>>2];n[l+16>>2]=n[G+16>>2];n[l+20>>2]=n[G+20>>2];n[l+24>>2]=n[G+24>>2];n[l+28>>2]=n[G+28>>2];l=1;break}c=+s[o>>3];if(!(t&8)){s[G>>3]=c+-1.0;i=n[d>>2]|0;c=+s[i+24>>3];b=+s[i+80>>3]*.5;if((n[f+48>>2]|0)==4){s[G+24>>3]=b+c;c=+s[A+48>>3]+-1.0;l=G}else{s[G+8>>3]=c-b;c=+s[A+48>>3];l=G+16|0}s[l+8>>3]=c;l=f+56|0;n[l>>2]=n[G>>2];n[l+4>>2]=n[G+4>>2];n[l+8>>2]=n[G+8>>2];n[l+12>>2]=n[G+12>>2];n[l+16>>2]=n[G+16>>2];n[l+20>>2]=n[G+20>>2];n[l+24>>2]=n[G+24>>2];n[l+28>>2]=n[G+28>>2];l=1;break}else{l=G+16|0;s[l>>3]=c+1.0;i=n[d>>2]|0;c=+s[i+24>>3];b=+s[i+80>>3]*.5;if((n[f+48>>2]|0)==4){s[G+24>>3]=b+c;c=+s[A+48>>3]+-1.0;l=G}else{s[G+8>>3]=c-b;c=+s[A+48>>3]+1.0}s[l+8>>3]=c;l=f+56|0;n[l>>2]=n[G>>2];n[l+4>>2]=n[G+4>>2];n[l+8>>2]=n[G+8>>2];n[l+12>>2]=n[G+12>>2];n[l+16>>2]=n[G+16>>2];n[l+20>>2]=n[G+20>>2];n[l+24>>2]=n[G+24>>2];n[l+28>>2]=n[G+28>>2];l=1;break}}else{l=G+8|0;s[l>>3]=+s[(+s[l>>3]<+s[A+48>>3]?G:o)+8>>3];l=f+56|0;n[l>>2]=n[G>>2];n[l+4>>2]=n[G+4>>2];n[l+8>>2]=n[G+8>>2];n[l+12>>2]=n[G+12>>2];n[l+16>>2]=n[G+16>>2];n[l+20>>2]=n[G+20>>2];n[l+24>>2]=n[G+24>>2];n[l+28>>2]=n[G+28>>2];l=1}}while(0);n[f+52>>2]=l;while(1){l=n[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=n[l+116>>2]|0}r[((I|0)==(n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)?l+56|0:l+16|0)+30>>0]=0;n[f+48>>2]=t}break}default:m=46}if((m|0)==46){t=n[f+48>>2]|0;m=47}A:do{if((m|0)==47){if(u){e=f+56|0;l=f+52|0;t=dF[u&3](I,(n[g>>2]|0)+56|0,t,e,l)|0;if(t){n[f+48>>2]=t;break}}else{l=f+52|0;e=f+56|0}n[e>>2]=n[f>>2];n[e+4>>2]=n[f+4>>2];n[e+8>>2]=n[f+8>>2];n[e+12>>2]=n[f+12>>2];n[e+16>>2]=n[f+16>>2];n[e+20>>2]=n[f+20>>2];n[e+24>>2]=n[f+24>>2];n[e+28>>2]=n[f+28>>2];n[l>>2]=1;switch(i|0){case 8:{BA(123205,91502,765,91546);break}case 2:{s[((n[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+s[A+48>>3];break A}case 1:{s[f+64>>3]=+s[A+48>>3];n[f+48>>2]=4;break A}default:break A}}}while(0);v=C;return}function AI(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;a=n[A+16>>2]|0;l=n[a+96>>2]|0;if((r[a+44>>0]|0)==0?(r[a+84>>0]|0)==0:0)t=6;else{e=r[a+49>>0]|0;i=e&255;if(((i&8|0)==0?(f=r[a+89>>0]|0,(f&8)==0):0)?(i&5|0)==0?1:e<<24>>24!=f<<24>>24:0)t=6;else A=0}if((t|0)==6)if(!l)A=18;else{A=(n[(n[(HV(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;A=~~(+s[(A?l+32|0:l+24|0)>>3]+18.0)}return A|0}function eI(A,e,i,f,a,l,t){A=A|0;e=e|0;i=i|0;f=f|0;a=+a;l=+l;t=t|0;var c=0,s=0,b=0,o=0;A=n[(n[e+(i<<2)>>2]|0)+16>>2]|0;if((r[A+44>>0]|0)==0?(r[A+84>>0]|0)==0:0)b=6;else b=3;do{if((b|0)==3){c=r[A+49>>0]|0;s=c&255;if(!(s&8)){o=r[A+89>>0]|0;if((o&8)==0?(s&5|0)==0?1:c<<24>>24!=o<<24>>24:0){b=6;break}if(!(r[A+89>>0]&8)){if(s&4|0){rI(e,i,f,a,l,t);break}if(!(s&1))BA(123205,91502,1231,91554);else{nI(e,i,f,a,l,t);break}}}if((c&2)==0?(r[A+89>>0]&2)==0:0){fI(e,i,f,a,l,t);break}rI(e,i,f,a,l,t)}}while(0);if((b|0)==6)iI(e,i,f,a,l,t);return}function iI(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0,b=0.0,o=0.0,u=0.0,B=0.0,k=0,w=0,d=0,h=0,g=0,Z=0.0,G=0,m=0,I=0,C=0.0,M=0,Q=0,E=0.0,y=0,Y=0.0,V=0.0,W=0.0,J=0.0,N=0.0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0.0,X=0.0,T=0;L=v;v=v+16080|0;R=L+80|0;P=L+64|0;H=L+48|0;F=L+32|0;z=L+16|0;p=L;Q=n[A+(e<<2)>>2]|0;o=l*.5/+(i|0);o=o>2.0?o:2.0;y=(n[((n[Q>>2]&3|0)==3?Q:Q+48|0)+40>>2]|0)+16|0;M=n[y>>2]|0;E=+s[M+16>>3];J=+s[M+24>>3];Q=n[Q+16>>2]|0;b=+s[Q+16>>3];Y=b+E;V=+s[Q+24>>3]+J;l=+s[Q+56>>3];W=l+E;J=+s[Q+64>>3]+J;c=!(V>=J)?-1:1;B=+s[M+96>>3];switch(aI(a[Q+49>>0]|0,a[Q+89>>0]|0)|0){case 65:case 32:{if(V==J)c=0-c|0;break}default:{}}D=(B-b)*3.0;b=(B-l)*3.0;Z=o*+(c|0);g=R+8|0;G=R+16|0;m=R+32|0;I=R+48|0;C=(J+V)*.5;M=R+64|0;Q=R+80|0;d=R+96|0;h=R+104|0;w=0;u=0.0;l=B;o=B<D?B:D;b=B<b?B:b;while(1){if((w|0)>=(i|0))break;k=e+1|0;e=n[A+(e<<2)>>2]|0;B=l+f;o=o+f;b=b+f;u=u+Z;s[R>>3]=Y;s[g>>3]=V;D=u+V;lI(P,o*.3333333333333333+Y,D);n[G>>2]=n[P>>2];n[G+4>>2]=n[P+4>>2];n[G+8>>2]=n[P+8>>2];n[G+12>>2]=n[P+12>>2];X=B+E;lI(H,X,D);n[m>>2]=n[H>>2];n[m+4>>2]=n[H+4>>2];n[m+8>>2]=n[H+8>>2];n[m+12>>2]=n[H+12>>2];lI(F,X,C);n[I>>2]=n[F>>2];n[I+4>>2]=n[F+4>>2];n[I+8>>2]=n[F+8>>2];n[I+12>>2]=n[F+12>>2];D=J-u;lI(z,X,D);n[M>>2]=n[z>>2];n[M+4>>2]=n[z+4>>2];n[M+8>>2]=n[z+8>>2];n[M+12>>2]=n[z+12>>2];lI(p,b*.3333333333333333+W,D);n[Q>>2]=n[p>>2];n[Q+4>>2]=n[p+4>>2];n[Q+8>>2]=n[p+8>>2];n[Q+12>>2]=n[p+12>>2];s[d>>3]=W;s[h>>3]=J;c=e+16|0;if((n[(n[c>>2]|0)+96>>2]|0)!=0?(T=(n[(n[(HV(n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,c=n[(n[c>>2]|0)+96>>2]|0,N=+s[(T?c+24|0:c+32|0)>>3],T=n[y>>2]|0,s[c+56>>3]=N*.5+B+ +s[T+16>>3],s[c+64>>3]=+s[T+24>>3],r[c+81>>0]=1,N>f):0)l=N+l;else l=B;jm(e,n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,R,7,t);e=k;w=w+1|0}v=L;return}function rI(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0.0,b=0,o=0.0,u=0.0,B=0.0,k=0.0,w=0,d=0.0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0.0,Q=0,E=0,y=0.0,Y=0,V=0.0,W=0.0,J=0.0,N=0.0,z=0.0,p=0,R=0,P=0,H=0,F=0,L=0,D=0,X=0.0,T=0;D=v;v=v+16080|0;P=D+80|0;H=D+64|0;F=D+48|0;L=D+32|0;p=D+16|0;R=D;E=n[A+(e<<2)>>2]|0;k=f*.5/+(i|0);k=k>2.0?k:2.0;Y=(n[((n[E>>2]&3|0)==3?E:E+48|0)+40>>2]|0)+16|0;b=n[Y>>2]|0;J=+s[b+16>>3];y=+s[b+24>>3];E=n[E+16>>2]|0;c=+s[E+16>>3];B=+s[E+24>>3];V=c+J;W=B+y;f=+s[E+56>>3];u=+s[E+64>>3];J=f+J;N=u+y;o=!(V>=J)?-1.0:1.0;d=+s[b+80>>3]*.5;switch(aI(a[E+49>>0]|0,a[E+89>>0]|0)|0){case 15:{c=(k-f+ +s[b+96>>3])*o;break}case 38:{c=(f+k+ +s[b+88>>3])*o;break}case 41:{c=(k-c+ +s[b+96>>3])*o;break}case 48:{c=(k-c+ +s[b+96>>3])*o;break}case 58:case 57:case 51:case 47:case 37:case 14:{c=o*.3333333333333333*(c-f+ +s[b+88>>3]+ +s[b+96>>3]);break}case 73:{c=(c+k+ +s[b+88>>3])*o;break}case 83:{c=(+s[b+88>>3]+c)*o;break}case 84:{c=((c-f+ +s[b+88>>3]+ +s[b+96>>3])*.5+k)*o;break}case 85:case 75:case 74:{c=((c-f+ +s[b+88>>3]+ +s[b+96>>3])*.5+k*2.0)*o;break}default:c=0.0}B=(d-B)*3.0;u=(d-u)*3.0;k=o*k;G=P+8|0;m=P+16|0;I=P+32|0;C=P+48|0;M=(J+V)*.5;Q=P+64|0;E=P+80|0;g=P+96|0;Z=P+104|0;h=0;f=d;B=d<B?d:B;o=d<u?d:u;while(1){if((h|0)>=(i|0))break;w=e+1|0;e=n[A+(e<<2)>>2]|0;u=f+l;B=B+l;o=o+l;c=c+k;s[P>>3]=V;s[G>>3]=W;d=c+V;lI(H,d,B*.3333333333333333+W);n[m>>2]=n[H>>2];n[m+4>>2]=n[H+4>>2];n[m+8>>2]=n[H+8>>2];n[m+12>>2]=n[H+12>>2];X=u+y;lI(F,d,X);n[I>>2]=n[F>>2];n[I+4>>2]=n[F+4>>2];n[I+8>>2]=n[F+8>>2];n[I+12>>2]=n[F+12>>2];lI(L,M,X);n[C>>2]=n[L>>2];n[C+4>>2]=n[L+4>>2];n[C+8>>2]=n[L+8>>2];n[C+12>>2]=n[L+12>>2];d=J-c;lI(p,d,X);n[Q>>2]=n[p>>2];n[Q+4>>2]=n[p+4>>2];n[Q+8>>2]=n[p+8>>2];n[Q+12>>2]=n[p+12>>2];lI(R,d,o*.3333333333333333+N);n[E>>2]=n[R>>2];n[E+4>>2]=n[R+4>>2];n[E+8>>2]=n[R+8>>2];n[E+12>>2]=n[R+12>>2];s[g>>3]=J;s[Z>>3]=N;b=e+16|0;if((n[(n[b>>2]|0)+96>>2]|0)!=0?(T=(n[(n[(HV(n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,b=n[(n[b>>2]|0)+96>>2]|0,z=+s[(T?b+32|0:b+24|0)>>3],T=n[Y>>2]|0,s[b+64>>3]=z*.5+u+ +s[T+24>>3],s[b+56>>3]=+s[T+16>>3],r[b+81>>0]=1,z>l):0)f=z+f;else f=u;jm(e,n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,P,7,t);e=w;h=h+1|0}v=D;return}function fI(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0,b=0.0,o=0.0,u=0.0,B=0.0,k=0,w=0,d=0,h=0,g=0,Z=0.0,G=0,m=0,I=0,C=0.0,M=0,Q=0,E=0.0,y=0,Y=0.0,V=0.0,W=0.0,J=0.0,N=0.0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0.0,X=0.0,T=0;L=v;v=v+16080|0;R=L+80|0;P=L+64|0;H=L+48|0;F=L+32|0;z=L+16|0;p=L;Q=n[A+(e<<2)>>2]|0;o=l*.5/+(i|0);o=o>2.0?o:2.0;y=(n[((n[Q>>2]&3|0)==3?Q:Q+48|0)+40>>2]|0)+16|0;M=n[y>>2]|0;E=+s[M+16>>3];J=+s[M+24>>3];Q=n[Q+16>>2]|0;b=+s[Q+16>>3];Y=b+E;V=+s[Q+24>>3]+J;l=+s[Q+56>>3];W=l+E;J=+s[Q+64>>3]+J;c=!(V>=J)?-1:1;B=+s[M+88>>3];switch(aI(a[Q+49>>0]|0,a[Q+89>>0]|0)|0){case 67:case 12:{if(V==J)c=0-c|0;break}default:{}}D=(b+B)*3.0;b=(l+B)*3.0;Z=o*+(c|0);g=R+8|0;G=R+16|0;m=R+32|0;I=R+48|0;C=(J+V)*.5;M=R+64|0;Q=R+80|0;d=R+96|0;h=R+104|0;w=0;u=0.0;l=B;o=B<D?B:D;b=B<b?B:b;while(1){if((w|0)>=(i|0))break;k=e+1|0;e=n[A+(e<<2)>>2]|0;B=l+f;o=o+f;b=b+f;u=u+Z;s[R>>3]=Y;s[g>>3]=V;D=u+V;lI(P,Y-o*.3333333333333333,D);n[G>>2]=n[P>>2];n[G+4>>2]=n[P+4>>2];n[G+8>>2]=n[P+8>>2];n[G+12>>2]=n[P+12>>2];X=E-B;lI(H,X,D);n[m>>2]=n[H>>2];n[m+4>>2]=n[H+4>>2];n[m+8>>2]=n[H+8>>2];n[m+12>>2]=n[H+12>>2];lI(F,X,C);n[I>>2]=n[F>>2];n[I+4>>2]=n[F+4>>2];n[I+8>>2]=n[F+8>>2];n[I+12>>2]=n[F+12>>2];D=J-u;lI(z,X,D);n[M>>2]=n[z>>2];n[M+4>>2]=n[z+4>>2];n[M+8>>2]=n[z+8>>2];n[M+12>>2]=n[z+12>>2];lI(p,W-b*.3333333333333333,D);n[Q>>2]=n[p>>2];n[Q+4>>2]=n[p+4>>2];n[Q+8>>2]=n[p+8>>2];n[Q+12>>2]=n[p+12>>2];s[d>>3]=W;s[h>>3]=J;c=e+16|0;if((n[(n[c>>2]|0)+96>>2]|0)!=0?(T=(n[(n[(HV(n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,c=n[(n[c>>2]|0)+96>>2]|0,N=+s[(T?c+24|0:c+32|0)>>3],T=n[y>>2]|0,s[c+56>>3]=N*-.5-B+ +s[T+16>>3],s[c+64>>3]=+s[T+24>>3],r[c+81>>0]=1,N>f):0)l=N+l;else l=B;jm(e,n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,R,7,t);e=k;w=w+1|0}v=L;return}function nI(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0.0,b=0.0,o=0.0,u=0.0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0.0,G=0,m=0.0,I=0.0,C=0.0,M=0.0,Q=0.0,E=0,y=0,Y=0,V=0.0,W=0,J=0,N=0.0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0.0,X=0.0,T=0;L=v;v=v+16080|0;R=L+80|0;P=L+64|0;H=L+48|0;F=L+32|0;z=L+16|0;p=L;E=n[A+(e<<2)>>2]|0;Q=f*.5/+(i|0);G=(n[((n[E>>2]&3|0)==3?E:E+48|0)+40>>2]|0)+16|0;y=n[G>>2]|0;C=+s[y+16>>3];Z=+s[y+24>>3];E=n[E+16>>2]|0;b=+s[E+24>>3];m=+s[E+16>>3]+C;I=b+Z;o=+s[E+64>>3];C=+s[E+56>>3]+C;M=o+Z;g=!(m>=C)?-1:1;u=+s[y+80>>3]*.5;E=(aI(a[E+49>>0]|0,a[E+89>>0]|0)|0)==67;b=(b+u)*3.0;o=(o+u)*3.0;Q=(Q>2.0?Q:2.0)*+((E?0-g|0:g)|0);g=R+8|0;E=R+16|0;y=R+32|0;Y=R+48|0;V=(C+m)*.5;W=R+64|0;J=R+80|0;d=R+96|0;h=R+104|0;f=u;c=0.0;b=u<b?u:b;o=u<o?u:o;k=0;while(1){if((k|0)>=(i|0))break;w=e+1|0;B=n[A+(e<<2)>>2]|0;u=f+l;b=b+l;o=o+l;c=c+Q;s[R>>3]=m;s[g>>3]=I;D=c+m;lI(P,D,I-b*.3333333333333333);n[E>>2]=n[P>>2];n[E+4>>2]=n[P+4>>2];n[E+8>>2]=n[P+8>>2];n[E+12>>2]=n[P+12>>2];X=Z-u;lI(H,D,X);n[y>>2]=n[H>>2];n[y+4>>2]=n[H+4>>2];n[y+8>>2]=n[H+8>>2];n[y+12>>2]=n[H+12>>2];lI(F,V,X);n[Y>>2]=n[F>>2];n[Y+4>>2]=n[F+4>>2];n[Y+8>>2]=n[F+8>>2];n[Y+12>>2]=n[F+12>>2];D=C-c;lI(z,D,X);n[W>>2]=n[z>>2];n[W+4>>2]=n[z+4>>2];n[W+8>>2]=n[z+8>>2];n[W+12>>2]=n[z+12>>2];lI(p,D,M-o*.3333333333333333);n[J>>2]=n[p>>2];n[J+4>>2]=n[p+4>>2];n[J+8>>2]=n[p+8>>2];n[J+12>>2]=n[p+12>>2];s[d>>3]=C;s[h>>3]=M;e=B+16|0;if((n[(n[e>>2]|0)+96>>2]|0)!=0?(T=(n[(n[(HV(n[((n[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,e=n[(n[e>>2]|0)+96>>2]|0,N=+s[(T?e+32|0:e+24|0)>>3],T=n[G>>2]|0,s[e+64>>3]=N*-.5-u+ +s[T+24>>3],s[e+56>>3]=+s[T+16>>3],r[e+81>>0]=1,N>l):0)f=N+f;else f=u;jm(B,n[((n[B>>2]&3|0)==2?B:B+-48|0)+40>>2]|0,R,7,t);e=w;k=k+1|0}v=L;return}function aI(A,e){A=A|0;e=e|0;var i=0;i=0;while(1){if((i|0)>=8){e=-1;break}if((n[21064+(i<<2)>>2]|0)==(e|0)){e=i;break}i=i+1|0}i=0;while(1){if((i|0)>=8){i=-1;break}if((n[21064+(i<<2)>>2]|0)==(A|0))break;i=i+1|0}if((i|e|0)<0)i=0;else i=n[21096+(i<<5)+(e<<2)>>2]|0;return i|0}function lI(A,e,i){A=A|0;e=+e;i=+i;s[A>>3]=e;s[A+8>>3]=i;return}function tI(A){A=A|0;var e=0,i=0;if((n[42246]|0)!=0|(n[42245]|0)!=0){e=A+16|0;i=n[(n[e>>2]|0)+100>>2]|0;if((i|0?(r[i+81>>0]|0)==0:0)?cI(A,1)|0:0){i=HV(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;uC(i,n[(n[e>>2]|0)+100>>2]|0)}i=n[(n[e>>2]|0)+104>>2]|0;if((i|0?(r[i+81>>0]|0)==0:0)?cI(A,0)|0:0){i=HV(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;uC(i,n[(n[e>>2]|0)+104>>2]|0)}}return}function cI(A,e){A=A|0;e=e|0;var i=0,f=0.0,a=0.0,l=0,t=0.0,c=0,b=0,o=0,u=0,B=0,k=0,w=0.0;k=v;v=v+96|0;u=k+32|0;b=k+16|0;o=k;l=A+16|0;do{if((r[(n[l>>2]|0)+112>>0]|0)!=6){i=n[42246]|0;if(!((i|0)!=0?(r[(nY(A,i)|0)>>0]|0)!=0:0)){i=n[42245]|0;if(!i){i=0;break}if(!(r[(nY(A,i)|0)>>0]|0)){i=0;break}}e=e<<24>>24==0;B=n[l>>2]|0;B=n[(e?B+104|0:B+100|0)>>2]|0;i=sI(A)|0;if(i){c=n[i>>2]|0;do{if(e){if(n[c+8>>2]|0){i=n[c>>2]|0;t=+s[i>>3];a=+s[c+16>>3];i=i+8|0;f=+s[c+24>>3];break}i=n[c>>2]|0;a=+s[i>>3];f=+s[i+8>>3];i=0;while(1){if((i|0)==4)break;o=u+(i<<4)|0;l=(n[c>>2]|0)+(i<<4)|0;n[o>>2]=n[l>>2];n[o+4>>2]=n[l+4>>2];n[o+8>>2]=n[l+8>>2];n[o+12>>2]=n[l+12>>2];i=i+1|0}$I(b,u,3,.1,0,0);t=+s[b>>3];i=b+8|0}else{e=(n[i+4>>2]|0)+-1|0;l=c+(e*48|0)|0;if(n[c+(e*48|0)+12>>2]|0){u=n[l>>2]|0;i=(n[c+(e*48|0)+4>>2]|0)+-1|0;t=+s[u+(i<<4)>>3];a=+s[c+(e*48|0)+32>>3];i=u+(i<<4)+8|0;f=+s[c+(e*48|0)+40>>3];break}b=n[l>>2]|0;e=c+(e*48|0)+4|0;i=(n[e>>2]|0)+-1|0;a=+s[b+(i<<4)>>3];f=+s[b+(i<<4)+8>>3];i=0;while(1){if((i|0)==4)break;b=u+(i<<4)|0;c=(n[l>>2]|0)+(i+-4+(n[e>>2]|0)<<4)|0;n[b>>2]=n[c>>2];n[b+4>>2]=n[c+4>>2];n[b+8>>2]=n[c+8>>2];n[b+12>>2]=n[c+12>>2];i=i+1|0}$I(o,u,3,.9,0,0);t=+s[o>>3];i=o+8|0}}while(0);w=+H(+(+s[i>>3]-f),+(t-a));w=+DI(A,n[42246]|0,-25.0,-180.0)*.017453292519943295+w;t=+DI(A,n[42245]|0,1.0,0.0)*10.0;s[B+56>>3]=t*+J(+w)+a;s[B+64>>3]=+N(+w)*t+f;r[B+81>>0]=1;i=1}else i=0}else i=0}while(0);v=k;return i|0}function sI(A){A=A|0;var e=0,i=0,f=0,a=0,l=0;l=v;v=v+16|0;f=l;e=A;while(1){i=n[e+16>>2]|0;e=n[i+8>>2]|0;if(e|0)break;if(!(r[i+112>>0]|0)){a=5;break}e=n[i+116>>2]|0}if((a|0)==5){a=qY(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;e=qY(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;n[f>>2]=a;n[f+4>>2]=e;Gy(1,91567,f)|0;e=0}v=l;return e|0}function bI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,a=0.0,l=0.0,t=0.0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0.0,g=0.0;d=v;v=v+96|0;b=d+80|0;o=d+64|0;u=d+48|0;B=d+32|0;k=d+16|0;w=d;c=f[(n[e+16>>2]|0)+136>>1]|0;e=i+16|0;oI(n[(n[e>>2]|0)+8>>2]|0,B,k);r=+s[B>>3];a=+s[k>>3];h=r-a;l=+s[B+8>>3];t=+s[k+8>>3];g=l-t;A:do{if(g*g+h*h<1.0e-06){n[u>>2]=n[B>>2];n[u+4>>2]=n[B+4>>2];n[u+8>>2]=n[B+8>>2];n[u+12>>2]=n[B+12>>2]}else switch(c&14){case 4:case 10:{s[o>>3]=(a+r)*.5;s[o+8>>3]=(t+l)*.5;k=n[(n[e>>2]|0)+8>>2]|0;n[b>>2]=n[o>>2];n[b+4>>2]=n[o+4>>2];n[b+8>>2]=n[o+8>>2];n[b+12>>2]=n[o+12>>2];nC(w,k,b);n[u>>2]=n[w>>2];n[u+4>>2]=n[w+4>>2];n[u+8>>2]=n[w+8>>2];n[u+12>>2]=n[w+12>>2];break A}default:{uI(u,n[(n[e>>2]|0)+8>>2]|0,B,k);break A}}}while(0);n[A>>2]=n[u>>2];n[A+4>>2]=n[u+4>>2];n[A+8>>2]=n[u+8>>2];n[A+12>>2]=n[u+12>>2];v=d;return}function oI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,s=0;l=v;v=v+32|0;a=l+16|0;f=l;c=n[A>>2]|0;r=n[c>>2]|0;t=n[c+8>>2]|0;s=c+16|0;n[a>>2]=n[s>>2];n[a+4>>2]=n[s+4>>2];n[a+8>>2]=n[s+8>>2];n[a+12>>2]=n[s+12>>2];c=c+32|0;n[f>>2]=n[c>>2];n[f+4>>2]=n[c+4>>2];n[f+8>>2]=n[c+8>>2];n[f+12>>2]=n[c+12>>2];if(!t){n[e>>2]=n[r>>2];n[e+4>>2]=n[r+4>>2];n[e+8>>2]=n[r+8>>2];n[e+12>>2]=n[r+12>>2]}else{n[e>>2]=n[a>>2];n[e+4>>2]=n[a+4>>2];n[e+8>>2]=n[a+8>>2];n[e+12>>2]=n[a+12>>2]}t=n[A>>2]|0;c=(n[A+4>>2]|0)+-1|0;r=n[t+(c*48|0)>>2]|0;A=n[t+(c*48|0)+4>>2]|0;s=n[t+(c*48|0)+12>>2]|0;e=t+(c*48|0)+16|0;n[a>>2]=n[e>>2];n[a+4>>2]=n[e+4>>2];n[a+8>>2]=n[e+8>>2];n[a+12>>2]=n[e+12>>2];c=t+(c*48|0)+32|0;n[f>>2]=n[c>>2];n[f+4>>2]=n[c+4>>2];n[f+8>>2]=n[c+8>>2];n[f+12>>2]=n[c+12>>2];if(!s){s=r+(A+-1<<4)|0;n[i>>2]=n[s>>2];n[i+4>>2]=n[s+4>>2];n[i+8>>2]=n[s+8>>2];n[i+12>>2]=n[s+12>>2]}else{n[i>>2]=n[f>>2];n[i+4>>2]=n[f+4>>2];n[i+8>>2]=n[f+8>>2];n[i+12>>2]=n[f+12>>2]}v=l;return}function uI(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,l=0,t=0,c=0,b=0,o=0.0,u=0.0,v=0.0,B=0.0,k=0.0,w=0,d=0.0;w=n[e+4>>2]|0;a=0.0;f=0;while(1){if((f|0)>=(w|0))break;b=n[e>>2]|0;c=n[b+(f*48|0)>>2]|0;b=n[b+(f*48|0)+4>>2]|0;l=3;t=0;while(1){if((l|0)>=(b|0))break;k=+s[c+(t<<4)>>3]-+s[c+(l<<4)>>3];B=+s[c+(t<<4)+8>>3]-+s[c+(l<<4)+8>>3];l=l+3|0;t=t+3|0;a=+V(+(B*B+k*k))+a}f=f+1|0}b=0;a=a*.5;A:while(1){if((b|0)>=(w|0)){f=15;break}c=n[e>>2]|0;t=n[c+(b*48|0)>>2]|0;c=n[c+(b*48|0)+4>>2]|0;f=3;l=0;while(1){if((f|0)>=(c|0))break;o=+s[t+(l<<4)>>3];B=+s[t+(l<<4)+8>>3];u=+s[t+(f<<4)>>3];v=+s[t+(f<<4)+8>>3];k=o-u;d=B-v;k=+V(+(d*d+k*k));if(k>=a){f=12;break A}f=f+3|0;l=l+3|0;a=a-k}b=b+1|0}if((f|0)==12){s[i>>3]=o;s[i+8>>3]=B;s[r>>3]=u;s[r+8>>3]=v;d=k-a;s[A>>3]=(d*o+u*a)/k;s[A+8>>3]=(d*B+v*a)/k;return}else if((f|0)==15)BA(123523,91502,1316,91629)}function vI(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;tI(e);return}function BI(A,e,i,f,a){A=A|0;e=e|0;i=+i;f=f|0;a=a|0;var l=0.0,t=0.0,c=0.0,b=0.0,o=0.0,u=0,v=0,B=0.0,k=0.0,w=0.0,d=0,h=0.0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0.0,E=0.0,y=0,Y=0,V=0,W=0,z=0,p=0,R=0;z=kI(A)|0;W=n[z+4>>2]|0;p=n[z>>2]|0;V=W+-1|0;Q=+s[p+(V<<6)+16>>3];E=+(W|0);y=(a|0)==2;Y=(f|0)!=0;u=0;t=0.0;l=0.0;b=0.0;o=0.0;while(1){if((u|0)>=(W|0))break;A=~~+wI(+(u+-1|0),E);M=u+1|0;R=~~+wI(+(M|0),E);v=p+(u<<6)|0;o=+s[v>>3];C=p+(u<<6)+8|0;b=+s[C>>3];d=p+(u<<6)+16|0;h=+s[d>>3];g=p+(u<<6)+24|0;Z=p+(u<<6)+32|0;G=p+(u<<6)+40|0;m=p+(u<<6)+48|0;I=p+(u<<6)+56|0;c=+dI(+s[p+(R<<6)+8>>3]-b,+s[p+(R<<6)>>3]-o);k=+dI(+s[p+(A<<6)+8>>3]-b,+s[p+(A<<6)>>3]-o);w=+oF[e&7](h,Q,i);A=(u|0)==0;do{if(A|(u|0)==(V|0))if(A){l=c+1.5707963267948966;if(!y){A=0;B=l;t=w;break}A=0;B=l;t=w;b=b-+N(+c)*w;o=o-+J(+c)*w;break}else{l=k+-1.5707963267948966;if(!y){A=0;B=l;t=w;break}A=0;B=l;t=w;b=b-+N(+k)*w;o=o-+J(+k)*w;break}else{B=c-k;B=1.5707963267948966-(B<0.0?B+6.283185307179586:B)*.5;t=+J(+B);t=t==0.0?0.0:w/t;l=c+1.5707963267948966;c=B+l;if(Y|t>w*10.0){k=+wI(k+-1.5707963267948966,6.283185307179586);A=1;B=+wI(l,6.283185307179586);t=w;l=k}else{A=0;B=c;l=c}}}while(0);s[v>>3]=o;s[C>>3]=b;s[d>>3]=h;r[g>>0]=108;s[Z>>3]=l;s[G>>3]=t;n[m>>2]=A;s[I>>3]=B;u=M}v=Jg(12)|0;A=0;while(1){if((A|0)>=(W|0))break;o=+s[p+(A<<6)>>3];b=+s[p+(A<<6)+8>>3];l=+s[p+(A<<6)+32>>3];t=+s[p+(A<<6)+40>>3];R=n[p+(A<<6)+48>>2]|0;c=+s[p+(A<<6)+56>>3];hI(v,+J(+l)*t+o,+N(+l)*t+b);if(R|0)gI(o,b,t,1,l,c,f,v);A=A+1|0}u=(a|0)==1;c=l+3.141592653589793;if(u)ZI(v,o,b,t,l,c);else{hI(v,+J(+c)*t+o,+N(+c)*t+b);l=c}A=W+-2|0;c=o;while(1){if((A|0)<=-1)break;o=+s[p+(A<<6)>>3];b=+s[p+(A<<6)+8>>3];t=+s[p+(A<<6)+40>>3];R=n[p+(A<<6)+48>>2]|0;l=+s[p+(A<<6)+32>>3]+3.141592653589793;c=+s[p+(A<<6)+56>>3]+3.141592653589793;hI(v,+J(+c)*t+o,+N(+c)*t+b);if(R|0)gI(o,b,t,0,l,c,f,v);A=A+-1|0;c=o}if(u)ZI(v,c,b,t,l,l+3.141592653589793);GI(z);return v|0}function kI(A){A=A|0;var e=0.0,i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0.0;k=v;v=v+144|0;t=k+128|0;l=k+112|0;c=k+96|0;s=k+64|0;b=k;o=k+80|0;u=mI()|0;B=n[A+4>>2]|0;f=n[A>>2]|0;n[t>>2]=n[f>>2];n[t+4>>2]=n[f+4>>2];n[t+8>>2]=n[f+8>>2];n[t+12>>2]=n[f+12>>2];II(u,t,0.0);a=b+48|0;n[a>>2]=n[f>>2];n[a+4>>2]=n[f+4>>2];n[a+8>>2]=n[f+8>>2];n[a+12>>2]=n[f+12>>2];i=0;e=0.0;A:while(1){r=i+3|0;if((r|0)>=(B|0))break;n[b>>2]=n[a>>2];n[b+4>>2]=n[a+4>>2];n[b+8>>2]=n[a+8>>2];n[b+12>>2]=n[a+12>>2];A=1;while(1){if((A|0)==4)break;w=b+(A<<4)|0;d=f+(A+i<<4)|0;n[w>>2]=n[d>>2];n[w+4>>2]=n[d+4>>2];n[w+8>>2]=n[d+8>>2];n[w+12>>2]=n[d+12>>2];A=A+1|0}n[c>>2]=n[b>>2];n[c+4>>2]=n[b+4>>2];n[c+8>>2]=n[b+8>>2];n[c+12>>2]=n[b+12>>2];A=1;while(1){if((A|0)==21){i=r;continue A}$I(o,b,3,+(A|0)*.05,0,0);n[s>>2]=n[o>>2];n[s+4>>2]=n[o+4>>2];n[s+8>>2]=n[o+8>>2];n[s+12>>2]=n[o+12>>2];n[l>>2]=n[c>>2];n[l+4>>2]=n[c+4>>2];n[l+8>>2]=n[c+8>>2];n[l+12>>2]=n[c+12>>2];n[t>>2]=n[o>>2];n[t+4>>2]=n[o+4>>2];n[t+8>>2]=n[o+8>>2];n[t+12>>2]=n[o+12>>2];h=+CI(l,t)+e;n[t>>2]=n[s>>2];n[t+4>>2]=n[s+4>>2];n[t+8>>2]=n[s+8>>2];n[t+12>>2]=n[s+12>>2];II(u,t,h);n[c>>2]=n[s>>2];n[c+4>>2]=n[s+4>>2];n[c+8>>2]=n[s+8>>2];n[c+12>>2]=n[s+12>>2];A=A+1|0;e=h}}MI(u);v=k;return u|0}function wI(A,e){A=+A;e=+e;var i=0.0;i=A-+y(+(A/e))*e;return+(!(A<0.0)&!(A>=e)?A:i)}function dI(A,e){A=+A;e=+e;if(!(A==0.0&e==0.0)){A=+H(+A,+e);if(!(A>=0.0))A=A+6.283185307179586}else A=0.0;return+A}function hI(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0;r=n[A>>2]|0;f=A+4|0;if((r|0)<(n[f>>2]|0))f=n[A+8>>2]|0;else{n[f>>2]=2e3;r=A+8|0;f=pg(n[r>>2]|0,32e3)|0;n[r>>2]=f;r=n[A>>2]|0}n[A>>2]=r+1;s[f+(r<<4)>>3]=e;s[f+(r<<4)+8>>3]=i;return}function gI(A,e,i,r,f,n,a,l){A=+A;e=+e;i=+i;r=r|0;f=+f;n=+n;a=a|0;l=l|0;var t=0.0;r=(r|0)==0;t=r?f:n;do{if((a|0)==1){f=(r?n:f)-t;f=!(f<=1.7453292519943296e-03)?f:f+6.283185307179586;if(f<3.141592653589793){ZI(l,A,e,i,f+t,t);break}else{hI(l,+J(+t)*i+A,+N(+t)*i+A);break}}else hI(l,+J(+t)*i+A,+N(+t)*i+A)}while(0);return}function ZI(A,e,i,r,f,n){A=A|0;e=+e;i=+i;r=+r;f=+f;n=+n;var a=0,l=0.0;hI(A,+J(+f)*r+e,+N(+f)*r+i);A:do{if(!(r==0.0)){while(1){if(!(n>f))break;n=n+-6.283185307179586}n=f-n;while(1){if(!(n>6.283185307179586))break;n=n+-6.283185307179586}n=n*.05263157894736842;a=1;while(1){if((a|0)==20)break A;l=f-n*+(a|0);hI(A,+J(+l)*r+e,+N(+l)*r+i);a=a+1|0}}}while(0);return}function GI(A){A=A|0;zN(n[A>>2]|0);zN(A);return}function mI(){var A=0;A=Jg(12)|0;n[A+4>>2]=0;n[A+8>>2]=2e3;n[A>>2]=Jg(128e3)|0;return A|0}function II(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,a=0,l=0;l=A+4|0;r=n[l>>2]|0;f=A+8|0;a=n[f>>2]|0;if((r|0)<(a|0))A=n[A>>2]|0;else{n[f>>2]=a<<1;r=pg(n[A>>2]|0,a<<7)|0;n[A>>2]=r;A=r;r=n[l>>2]|0}s[A+(r<<6)>>3]=+s[e>>3];s[A+(r<<6)+8>>3]=+s[e+8>>3];n[l>>2]=r+1;s[A+(r<<6)+16>>3]=i;return}function CI(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+s[A>>3]-+s[e>>3];r=+s[A+8>>3]-+s[e+8>>3];return+ +V(+(r*r+i*i))}function MI(A){A=A|0;var e=0;e=n[A+4>>2]|0;if((n[A+8>>2]|0)>(e|0))n[A>>2]=pg(n[A>>2]|0,e<<6)|0;return}function QI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,s=0;s=v;v=v+16|0;c=s+8|0;t=s;a=s+12|0;n[a>>2]=0;l=n[i+4>>2]|0;if(!l)BA(91646,91657,203,91668);r=n[l>>2]|0;if(!r)BA(91682,91657,206,91668);f=l+8|0;if(!(n[f>>2]|0))n[f>>2]=EI(r)|0;if(!0)r=0;else{r=(Lh(n[l>>2]|0)|0)==0;r=r?0:a}if(!((_s(e,i,r)|0)<<24>>24))yI(i,r);do{if(r|0){f=n[a>>2]|0;e=n[13918]|0;r=n[l>>2]|0;if(!f){n[c>>2]=r;lR(e,91725,c)|0;break}else{n[t>>2]=r;n[t+4>>2]=f;lR(e,91693,t)|0;break}}}while(0);c=i+32|0;n[A>>2]=n[c>>2];n[A+4>>2]=n[c+4>>2];n[A+8>>2]=n[c+8>>2];n[A+12>>2]=n[c+12>>2];v=s;return}function EI(A){A=A|0;var e=0;e=n[42344]|0;if((e|0)!=0?(Tz(e,A)|0)==0:0)A=n[42353]|0;else{zN(e);n[42344]=vR(A)|0;A=rP(169376,21352,35,36,29)|0;n[42353]=A}return A|0}function yI(A,e){A=A|0;e=e|0;var i=0,f=0.0,a=0,l=0.0,t=0,c=0.0;t=n[A+4>>2]|0;i=n[t>>2]|0;l=+s[t+16>>3];t=A+32|0;s[t>>3]=0.0;s[A+40>>3]=l*1.2;s[A+16>>3]=0.0;s[A+24>>3]=l*.1;n[A+8>>2]=0;n[A+12>>2]=0;if(_z(i,91759,4)|0)if((_z(i,91764,5)|0)!=0?(_z(i,91770,9)|0)!=0:0){a=4184;i=91780}else{a=8280;i=91816}else{a=6232;i=91797}if(e|0)n[e>>2]=i;i=n[A>>2]|0;if(i|0){f=0.0;while(1){A=r[i>>0]|0;if(!(A<<24>>24))break;c=f+ +s[a+((A&255)<<3)>>3];s[t>>3]=c;i=i+1|0;f=c}s[t>>3]=f*l}return}function YI(A,e){A=A|0;e=e|0;return Tz(n[A>>2]|0,n[e>>2]|0)|0}function VI(A){A=A|0;var e=0;e=A+108|0;n[e>>2]=0;n[A+112>>2]=32;n[A+116>>2]=-1;n[A+120>>2]=14;n[A+124>>2]=58;n[A+128>>2]=20;n[A+132>>2]=0;n[A+136>>2]=0;n[A+140>>2]=0;e=oy(e,n[4345]|0)|0;n[A+144>>2]=e;return e|0}function WI(A,e,i){A=A|0;e=e|0;i=i|0;i=pN(1,32)|0;A=n[e>>2]|0;if(A|0)n[i>>2]=vR(A)|0;A=n[e+4>>2]|0;if(A|0)n[i+4>>2]=vR(A)|0;n[i+24>>2]=n[e+24>>2]&127;s[i+16>>3]=+s[e+16>>3];n[i+8>>2]=n[e+8>>2];return i|0}function JI(A,e,i){A=A|0;e=e|0;i=i|0;zN(n[e>>2]|0);zN(n[e+4>>2]|0);zN(e);return}function NI(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0,l=0,t=0;A=n[e>>2]|0;r=n[i>>2]|0;l=(r|0)==0;if(!A)if(l)t=5;else A=-1;else if(!l){A=az(A,r)|0;if(!A)t=5}else A=1;do{if((t|0)==5){A=n[e+4>>2]|0;r=n[i+4>>2]|0;l=(r|0)==0;if(!A){if(!l){A=-1;break}}else{if(l){A=1;break}A=az(A,r)|0;if(A|0)break}A=(n[e+24>>2]&127)-(n[i+24>>2]&127)|0;if(!A){a=+s[e+16>>3];f=+s[i+16>>3];if(a<f)A=-1;else A=a>f&1}}}while(0);return A|0}function zI(){_A(169416)|0;return}function pI(){var A=0,e=0;e=v;v=v+16|0;A=e;_A(A|0)|0;v=e;return+(+((n[A+4>>2]|0)+(n[A>>2]|0)-(n[42354]|0)-(n[42355]|0)|0)*.016666666666666666)}function RI(A){A=A|0;var e=0,i=0;e=Jg(16)|0;A=(A|0)>2?A:2;i=Jg(A<<2)|0;n[e>>2]=i;n[e+12>>2]=i;n[e+8>>2]=i;n[e+4>>2]=i+(A<<2);return e|0}function PI(A){A=A|0;zN(n[A>>2]|0);zN(A);return}function HI(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+12|0;r=n[i>>2]|0;n[i>>2]=r+4;n[r>>2]=e;if((n[i>>2]|0)>>>0>=(n[A+4>>2]|0)>>>0)n[i>>2]=n[A>>2];return}function FI(A){A=A|0;var e=0,i=0,r=0;i=A+8|0;e=n[i>>2]|0;if((e|0)!=(n[A+12>>2]|0)){r=e+4|0;n[i>>2]=r;e=n[e>>2]|0;if(r>>>0>=(n[A+4>>2]|0)>>>0)n[i>>2]=n[A>>2]}else e=0;return e|0}function LI(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0;t=v;v=v+16|0;a=t;if(((e|0)!=0?(l=nY(A,e)|0,(l|0)!=0):0)?(r[l>>0]|0)!=0:0){e=cR(l,a,10)|0;i=(l|0)==(n[a>>2]|0)?i:(e|0)<(f|0)?f:e}v=t;return i|0}function DI(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var a=0,l=0,t=0,c=0.0;t=v;v=v+16|0;a=t;if(((A|0)!=0&(e|0)!=0?(l=nY(A,e)|0,(l|0)!=0):0)?(r[l>>0]|0)!=0:0){c=+eP(l,a);i=(l|0)==(n[a>>2]|0)?i:c<f?f:c}v=t;return+i}function XI(A,e,i){A=A|0;e=e|0;i=i|0;if((A|0)!=0&(e|0)!=0)i=nY(A,e)|0;return i|0}function TI(A,e,i){A=A|0;e=e|0;i=i|0;A=XI(A,e,i)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0)i=A;return i|0}function xI(A,e,i){A=A|0;e=e|0;i=i|0;if(!e)A=i&255;else A=UI(nY(A,e)|0)|0;return A|0}function UI(A){A=A|0;return jI(A,0)|0}function jI(A,e){A=A|0;e=e|0;var i=0;if((A|0)!=0?(i=r[A>>0]|0,i<<24>>24!=0):0)if((Tz(A,122100)|0)!=0?(Tz(A,92626)|0)!=0:0)if((Tz(A,92629)|0)!=0?(Tz(A,92634)|0)!=0:0){if(((i<<24>>24)+-48|0)>>>0<10)e=($R(A)|0)&255}else e=1;else e=0;return e|0}function SI(A){A=A|0;var e=0,i=0;while(1){e=(n[A+16>>2]|0)+220|0;i=n[e>>2]|0;if(!((i|0)!=(A|0)&(i|0)!=0))break;A=n[(n[i+16>>2]|0)+220>>2]|0;if(!A){A=i;continue}n[e>>2]=A}return A|0}function OI(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0;if((A|0)!=(e|0)){i=n[A+16>>2]|0;r=i+220|0;if(!(n[r>>2]|0)){n[r>>2]=A;n[i+216>>2]=1}else A=SI(A)|0;i=n[e+16>>2]|0;r=i+220|0;if(!(n[r>>2]|0)){n[r>>2]=e;n[i+216>>2]=1}else{i=SI(e)|0;e=i;i=n[i+16>>2]|0}a=A+16|0;r=n[a>>2]|0;f=e+16|0;l=(n[r+120>>2]|0)>(n[i+120>>2]|0);A=l?e:A;n[(l?r:i)+220>>2]=A;r=(n[(l?f:a)>>2]|0)+216|0;n[r>>2]=(n[r>>2]|0)+(n[(n[(l?a:f)>>2]|0)+216>>2]|0)}return A|0}function KI(A){A=A|0;A=n[A+16>>2]|0;n[A+216>>2]=1;n[A+220>>2]=0;r[A+159>>0]=0;return}function _I(A,e){A=A|0;e=e|0;if((SI(A)|0)==(A|0)){A=n[A+16>>2]|0;n[A+220>>2]=e;e=(n[e+16>>2]|0)+216|0;n[e>>2]=(n[e>>2]|0)+(n[A+216>>2]|0);return}else BA(92646,92638,194,92662)}function qI(A,e){A=A|0;e=e|0;var i=0.0;e=n[(n[e+16>>2]|0)+132>>2]|0;i=+s[e+8>>3]*72.0;s[A>>3]=+s[e>>3]*72.0;s[A+8>>3]=i;return}function $I(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;a=a|0;var l=0,t=0,c=0,b=0.0,o=0,u=0,B=0;u=v;v=v+576|0;o=u;l=0;while(1){if((l|0)>(i|0))break;c=o+(l<<4)|0;t=e+(l<<4)|0;n[c>>2]=n[t>>2];n[c+4>>2]=n[t+4>>2];n[c+8>>2]=n[t+8>>2];n[c+12>>2]=n[t+12>>2];l=l+1|0}b=1.0-r;l=1;while(1){if((l|0)>(i|0))break;t=i-l|0;c=l+-1|0;e=0;while(1){if((e|0)>(t|0))break;B=e+1|0;s[o+(l*96|0)+(e<<4)>>3]=+s[o+(c*96|0)+(B<<4)>>3]*r+ +s[o+(c*96|0)+(e<<4)>>3]*b;s[o+(l*96|0)+(e<<4)+8>>3]=+s[o+(c*96|0)+(B<<4)+8>>3]*r+ +s[o+(c*96|0)+(e<<4)+8>>3]*b;e=B}l=l+1|0}A:do{if(f|0){l=0;while(1){if((l|0)>(i|0))break A;B=f+(l<<4)|0;c=o+(l*96|0)|0;n[B>>2]=n[c>>2];n[B+4>>2]=n[c+4>>2];n[B+8>>2]=n[c+8>>2];n[B+12>>2]=n[c+12>>2];l=l+1|0}}}while(0);A:do{if(a|0){l=0;while(1){if((l|0)>(i|0))break A;B=a+(l<<4)|0;f=o+((i-l|0)*96|0)+(l<<4)|0;n[B>>2]=n[f>>2];n[B+4>>2]=n[f+4>>2];n[B+8>>2]=n[f+8>>2];n[B+12>>2]=n[f+12>>2];l=l+1|0}}}while(0);B=o+(i*96|0)|0;n[A>>2]=n[B>>2];n[A+4>>2]=n[B+4>>2];n[A+8>>2]=n[B+8>>2];n[A+12>>2]=n[B+12>>2];v=u;return}function AC(A){A=A|0;var e=0,i=0,f=0,a=0;i=0;do{e=n[42358]|0;f=e+1024|0;if((e-i|0)<1024){n[42358]=f;f=pg(n[42359]|0,f)|0;n[42359]=f;e=n[42358]|0}else f=n[42359]|0;e=Dp(f+i|0,e-i|0,A)|0;if(!e){a=6;break}i=(Az(e)|0)+i|0;e=n[42359]|0}while((r[e+(i+-1)>>0]|0)!=10);if((a|0)==6)e=n[42359]|0;return((i|0)>0?e:0)|0}function eC(A){A=A|0;var e=0,i=0,f=0;f=v;v=v+16|0;do{if((A|0)!=0?(r[A>>0]|0)!=0:0)if(!0){e=n[42178]|0;i=n[42361]|0;if((n[42360]|0)==(e|0))e=i;else{if(i){zN(n[i>>2]|0);zN(n[42361]|0);n[42361]=0;e=n[42178]|0}n[42360]=e;if(!e)break;if(!(r[e>>0]|0))break;e=iC(e)|0;n[42361]=e}if(!((r[A>>0]|0)!=47&(e|0)!=0))break;A=rC(e,n[42362]|0,A)|0;break}else j();else A=0}while(0);v=f;return A|0}function iC(A){A=A|0;var e=0,i=0,r=0,f=0,a=0;r=0;f=0;a=0;e=vR(A)|0;i=0;while(1){e=bR(e,92961)|0;if(!e)break;A=(a<<2)+8|0;if(!f)A=Ng(A)|0;else A=pg(i,A)|0;n[A+(a<<2)>>2]=e;f=Az(e)|0;r=r>>>0>f>>>0?r:f;f=A;a=a+1|0;e=0;i=A}n[f+(a<<2)>>2]=0;n[42362]=r;return f|0}function rC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0;a=v;v=v+16|0;r=a;l=n[42363]|0;n[42363]=RN(l,e+2+(Az(i)|0)|0)|0;while(1){e=n[A>>2]|0;if(!e){A=0;break}l=n[42363]|0;n[r>>2]=e;n[r+4>>2]=92959;n[r+8>>2]=i;_p(l,92952,r)|0;if(!(zR(n[42363]|0,4)|0)){f=4;break}else A=A+4|0}if((f|0)==4)A=n[42363]|0;v=a;return A|0}function fC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0;a=(A|0)==0;f=0;while(1){l=n[e+(f<<2)>>2]|0;if(!l)break;if((!a?(r[A>>0]|0)==(r[l>>0]|0):0)?(az(A,l)|0)==0:0)break;f=f+1|0}return n[i+(f<<2)>>2]|0}function nC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0.0,l=0.0,t=0.0,c=0.0,b=0.0,o=0.0,u=0.0,B=0.0,k=0.0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0;C=v;v=v+80|0;m=C+16|0;I=C;g=n[e+4>>2]|0;Z=n[e>>2]|0;G=i+8|0;f=0;r=-1;a=1.e+38;e=-1;while(1){if((f|0)>=(g|0))break;d=n[Z+(f*48|0)>>2]|0;h=n[Z+(f*48|0)+4>>2]|0;w=0;while(1){if((w|0)>=(h|0))break;k=+s[d+(w<<4)>>3]-+s[i>>3];B=+s[d+(w<<4)+8>>3]-+s[G>>3];k=B*B+k*k;M=(r|0)==-1|k<a;Q=M?w:r;w=w+1|0;e=M?f:e;r=Q;a=M?k:a}f=f+1|0}f=n[Z+(e*48|0)>>2]|0;r=r+(((r|0)==((n[Z+(e*48|0)+4>>2]|0)+-1|0))<<31>>31)|0;r=r-((r|0)%3|0)|0;e=0;while(1){if((e|0)==4)break;Q=e+r|0;s[m+(e<<4)>>3]=+s[f+(Q<<4)>>3];s[m+(e<<4)+8>>3]=+s[f+(Q<<4)+8>>3];e=e+1|0}k=+s[i>>3];c=+s[m>>3]-k;u=+s[G>>3];B=+s[m+8>>3]-u;t=+s[m+48>>3]-k;o=+s[m+56>>3]-u;e=I+8|0;a=1.0;l=0.0;t=o*o+t*t;c=B*B+c*c;while(1){B=(a+l)*.5;$I(I,m,3,B,0,0);b=+s[I>>3];o=+s[e>>3];if(+Y(+(c-t))<1.0)break;if(+Y(+(a-l))<1.0e-05)break;Q=c<t;b=b-k;o=o-u;o=o*o+b*b;a=Q?B:a;l=Q?l:B;t=Q?o:t;c=Q?c:o}s[A>>3]=b;s[A+8>>3]=o;v=C;return}function aC(A){A=A|0;var e=0.0,i=0,f=0,a=0,l=0,t=0,c=0,b=0;e=+DI(A,n[42189]|0,.75,.01);a=A+16|0;s[(n[a>>2]|0)+32>>3]=e;e=+DI(A,n[42188]|0,.5,.02);s[(n[a>>2]|0)+40>>3]=e;b=Am(TI(A,n[42190]|0,92963)|0,A)|0;n[(n[a>>2]|0)+8>>2]=b;b=nY(A,n[42197]|0)|0;e=+DI(A,n[42193]|0,14.0,1.0);i=TI(A,n[42194]|0,92971)|0;f=TI(A,n[42195]|0,122106)|0;l=(IW(b)|0)!=0;c=(HG(A)|0)==2;l=mg(A,b,(c?4:0)|(l?2:0),e,i,f)|0;n[(n[a>>2]|0)+104>>2]=l;l=n[42198]|0;if((l|0?(t=nY(A,l)|0,t|0):0)?r[t>>0]|0:0){b=(IW(t)|0)!=0;b=mg(A,t,b?2:0,e,i,f)|0;n[(n[a>>2]|0)+108>>2]=b;b=(n[(HV(A)|0)+16>>2]|0)+113|0;r[b>>0]=r[b>>0]|16}c=(LI(A,n[42201]|0,0,0)|0)&255;b=n[a>>2]|0;r[b+144>>0]=c;ZF[n[n[(n[b+8>>2]|0)+4>>2]>>2]&127](A);return}function lC(A){A=A|0;var e=0,i=0,f=0,a=0,l=0.0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0;Z=v;v=v+112|0;b=Z+96|0;o=Z+80|0;d=Z+40|0;g=Z;w=A+48|0;B=HV(n[((n[A>>2]&3|0)==3?A:w)+40>>2]|0)|0;a=b+8|0;n[a>>2]=0;u=o+8|0;n[u>>2]=0;e=n[42225]|0;if(((e|0)!=0?(i=nY(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0){tC(A,b);h=(IW(i)|0)!=0;l=+s[b>>3];f=n[a>>2]|0;e=n[b+12>>2]|0;i=mg(A,i,h?2:0,l,f,e)|0;h=A+16|0;n[(n[h>>2]|0)+96>>2]=i;i=(n[B+16>>2]|0)+113|0;r[i>>0]=r[i>>0]|1;i=UI(XI(A,n[42235]|0,122100)|0)|0;r[(n[h>>2]|0)+114>>0]=i;h=1;i=f}else{h=0;e=0;l=0.0;i=0}f=n[42226]|0;if((f|0?(t=nY(A,f)|0,t|0):0)?r[t>>0]|0:0){if(!i){tC(A,b);l=+s[b>>3];i=n[a>>2]|0;e=n[b+12>>2]|0}a=(IW(t)|0)!=0;t=mg(A,t,a?2:0,l,i,e)|0;n[(n[A+16>>2]|0)+108>>2]=t;t=(n[B+16>>2]|0)+113|0;r[t>>0]=r[t>>0]|32}e=n[42240]|0;if(((e|0)!=0?(c=nY(A,e)|0,(c|0)!=0):0)?(r[c>>0]|0)!=0:0){cC(A,b,o);t=(IW(c)|0)!=0;l=+s[o>>3];e=n[u>>2]|0;i=n[o+12>>2]|0;c=mg(A,c,t?2:0,l,e,i)|0;n[(n[A+16>>2]|0)+100>>2]=c;c=(n[B+16>>2]|0)+113|0;r[c>>0]=r[c>>0]|2}else{i=0;l=0.0;e=0}f=n[42241]|0;if((f|0?(k=nY(A,f)|0,k|0):0)?r[k>>0]|0:0){if(!e){cC(A,b,o);i=n[o+12>>2]|0;l=+s[o>>3];e=n[u>>2]|0}u=(IW(k)|0)!=0;k=mg(A,k,u?2:0,l,e,i)|0;n[(n[A+16>>2]|0)+104>>2]=k;k=(n[B+16>>2]|0)+113|0;r[k>>0]=r[k>>0]|4}e=fY(A,96242)|0;e=e|0?e:174177;if(r[e>>0]|0)r[(n[(n[((n[A>>2]&3|0)==3?A:w)+40>>2]|0)+16>>2]|0)+145>>0]=1;a=A+16|0;f=(n[a>>2]|0)+16|0;i=n[((n[A>>2]&3|0)==3?A:w)+40>>2]|0;sC(d,n[(n[(n[(n[i+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,i,e);e=d;i=f+40|0;do{n[f>>2]=n[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(i|0));if((bC(A,n[42247]|0)|0)<<24>>24)r[(n[a>>2]|0)+46>>0]=0;e=fY(A,96251)|0;e=e|0?e:174177;if(!(r[e>>0]|0))i=A+-48|0;else{i=A+-48|0;r[(n[(n[((n[A>>2]&3|0)==2?A:i)+40>>2]|0)+16>>2]|0)+145>>0]=1}f=(n[a>>2]|0)+56|0;i=n[((n[A>>2]&3|0)==2?A:i)+40>>2]|0;sC(g,n[(n[(n[(n[i+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,i,e);e=g;i=f+40|0;do{n[f>>2]=n[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(i|0));if((bC(A,n[42248]|0)|0)<<24>>24)r[(n[a>>2]|0)+86>>0]=0;v=Z;return h|0}function tC(A,e){A=A|0;e=e|0;s[e>>3]=+DI(A,n[42222]|0,14.0,1.0);n[e+8>>2]=TI(A,n[42223]|0,92971)|0;n[e+12>>2]=TI(A,n[42224]|0,122106)|0;return}function cC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=e+8|0;if(!(n[r>>2]|0))tC(A,e);s[i>>3]=+DI(A,n[42242]|0,+s[e>>3],1.0);n[i+8>>2]=TI(A,n[42243]|0,n[r>>2]|0)|0;n[i+12>>2]=TI(A,n[42244]|0,n[e+12>>2]|0)|0;return}function sC(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0;b=v;v=v+128|0;s=b+80|0;l=b+40|0;a=b;if((f|0)!=0?(c=Vz(f,58)|0,(c|0)!=0):0){r[c>>0]=0;t=c+1|0;CF[e&31](l,i,f,t);i=s;a=l;e=i+36|0;do{n[i>>2]=n[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(e|0));r[c>>0]=58;f=t}else{CF[e&31](a,i,f,0);i=s;e=i+36|0;do{n[i>>2]=n[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(e|0))}i=A;a=s;e=i+36|0;do{n[i>>2]=n[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(e|0));n[A+36>>2]=f;v=b;return}function bC(A,e){A=A|0;e=e|0;var i=0;if(((e|0)!=0?(i=nY(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)A=(UI(i)|0)<<24>>24==0&1;else A=0;return A|0}function oC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0.0,u=0.0;c=v;v=v+32|0;l=c;t=n[e+8>>2]|0;i=n[e+4>>2]|0;i=(n[e+44>>2]|0)+((X((i|0)>1?i+-1|0:0,t)|0)<<4)|0;r=l+16|0;n[r>>2]=n[i>>2];n[r+4>>2]=n[i+4>>2];n[r+8>>2]=n[i+8>>2];n[r+12>>2]=n[i+12>>2];n[l>>2]=n[i>>2];n[l+4>>2]=n[i+4>>2];n[l+8>>2]=n[i+8>>2];n[l+12>>2]=n[i+12>>2];f=l+8|0;a=l+24|0;e=1;while(1){if((e|0)>=(t|0))break;b=i+(e<<4)|0;u=+s[b>>3];s[l>>3]=+s[(+s[l>>3]<u?l:b)>>3];o=+s[b+8>>3];s[f>>3]=+s[(+s[f>>3]<o?l:b)+8>>3];s[r>>3]=+s[(+s[r>>3]>u?r:b)>>3];s[a>>3]=+s[(+s[a>>3]>o?r:b)+8>>3];e=e+1|0}n[A>>2]=n[l>>2];n[A+4>>2]=n[l+4>>2];n[A+8>>2]=n[l+8>>2];n[A+12>>2]=n[l+12>>2];n[A+16>>2]=n[l+16>>2];n[A+20>>2]=n[l+20>>2];n[A+24>>2]=n[l+24>>2];n[A+28>>2]=n[l+28>>2];v=c;return}function uC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;i=v;v=v+64|0;a=i+32|0;r=i;f=n[A+16>>2]|0;A=f+16|0;f=n[f+116>>2]&1;n[a>>2]=n[A>>2];n[a+4>>2]=n[A+4>>2];n[a+8>>2]=n[A+8>>2];n[a+12>>2]=n[A+12>>2];n[a+16>>2]=n[A+16>>2];n[a+20>>2]=n[A+20>>2];n[a+24>>2]=n[A+24>>2];n[a+28>>2]=n[A+28>>2];vC(r,a,e,f);n[A>>2]=n[r>>2];n[A+4>>2]=n[r+4>>2];n[A+8>>2]=n[r+8>>2];n[A+12>>2]=n[r+12>>2];n[A+16>>2]=n[r+16>>2];n[A+20>>2]=n[r+20>>2];n[A+24>>2]=n[r+24>>2];n[A+28>>2]=n[r+28>>2];v=i;return}function vC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0,l=0.0,t=0,c=0.0,b=0.0,o=0.0;a=+s[i+56>>3];b=+s[i+64>>3];t=r<<24>>24==0;c=+s[i+24>>3];l=+s[i+32>>3];o=(t?c:l)*.5;f=a-o;a=o+a;if(f<+s[e>>3])s[e>>3]=f;r=e+16|0;if(a>+s[r>>3])s[r>>3]=a;a=(t?l:c)*.5;f=b-a;a=a+b;r=e+8|0;if(f<+s[r>>3])s[r>>3]=f;r=e+24|0;if(a>+s[r>>3])s[r>>3]=a;n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];n[A+16>>2]=n[e+16>>2];n[A+20>>2]=n[e+20>>2];n[A+24>>2]=n[e+24>>2];n[A+28>>2]=n[e+28>>2];return}function BC(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0.0,H=0.0,F=0.0,L=0.0;R=v;v=v+448|0;J=R+416|0;h=R+384|0;g=R+304|0;p=R+256|0;W=R+192|0;Q=R+144|0;E=R+96|0;e=R+400|0;i=R+368|0;f=R+352|0;a=R+336|0;Z=R+288|0;G=R+224|0;m=R+160|0;I=R+112|0;C=R+64|0;M=R+32|0;N=R;z=A+16|0;if((zY(A)|0)==0?(n[(n[z>>2]|0)+180>>2]|0)==0:0){kC(e,0.0,0.0);n[p>>2]=n[e>>2];n[p+4>>2]=n[e+4>>2];n[p+8>>2]=n[e+8>>2];n[p+12>>2]=n[e+12>>2];p=p+16|0;kC(i,0.0,0.0);n[p>>2]=n[i>>2];n[p+4>>2]=n[i+4>>2];n[p+8>>2]=n[i+8>>2];n[p+12>>2]=n[i+12>>2]}else{kC(f,2147483647.0,2147483647.0);n[p>>2]=n[f>>2];n[p+4>>2]=n[f+4>>2];n[p+8>>2]=n[f+8>>2];n[p+12>>2]=n[f+12>>2];V=p+16|0;kC(a,-2147483647.0,-2147483647.0);n[V>>2]=n[a>>2];n[V+4>>2]=n[a+4>>2];n[V+8>>2]=n[a+8>>2];n[V+12>>2]=n[a+12>>2];u=E+8|0;B=g+16|0;y=p+8|0;k=g+8|0;Y=p+24|0;w=g+24|0;d=Q+8|0;o=CV(A)|0;while(1){if(!o)break;qI(Q,o);e=o+16|0;b=n[e>>2]|0;s[E>>3]=(+s[b+96>>3]+ +s[b+88>>3])*.5;s[u>>3]=+s[b+80>>3]*.5;n[h>>2]=n[Q>>2];n[h+4>>2]=n[Q+4>>2];n[h+8>>2]=n[Q+8>>2];n[h+12>>2]=n[Q+12>>2];n[J>>2]=n[E>>2];n[J+4>>2]=n[E+4>>2];n[J+8>>2]=n[E+8>>2];n[J+12>>2]=n[E+12>>2];wC(g,h,J);n[h>>2]=n[Q>>2];n[h+4>>2]=n[Q+4>>2];n[h+8>>2]=n[Q+8>>2];n[h+12>>2]=n[Q+12>>2];n[J>>2]=n[E>>2];n[J+4>>2]=n[E+4>>2];n[J+8>>2]=n[E+8>>2];n[J+12>>2]=n[E+12>>2];dC(Z,h,J);n[B>>2]=n[Z>>2];n[B+4>>2]=n[Z+4>>2];n[B+8>>2]=n[Z+8>>2];n[B+12>>2]=n[Z+12>>2];s[p>>3]=+s[(+s[p>>3]<+s[g>>3]?p:g)>>3];s[y>>3]=+s[(+s[y>>3]<+s[k>>3]?p:g)+8>>3];s[V>>3]=+s[(+s[V>>3]>+s[B>>3]?p:g)+16>>3];s[Y>>3]=+s[(+s[Y>>3]>+s[w>>3]?p:g)+24>>3];e=n[(n[e>>2]|0)+108>>2]|0;if(e|0?r[e+81>>0]|0:0){b=n[(n[z>>2]|0)+116>>2]&1;n[J>>2]=n[p>>2];n[J+4>>2]=n[p+4>>2];n[J+8>>2]=n[p+8>>2];n[J+12>>2]=n[p+12>>2];n[J+16>>2]=n[p+16>>2];n[J+20>>2]=n[p+20>>2];n[J+24>>2]=n[p+24>>2];n[J+28>>2]=n[p+28>>2];vC(G,J,e,b);n[p>>2]=n[G>>2];n[p+4>>2]=n[G+4>>2];n[p+8>>2]=n[G+8>>2];n[p+12>>2]=n[G+12>>2];n[p+16>>2]=n[G+16>>2];n[p+20>>2]=n[G+20>>2];n[p+24>>2]=n[G+24>>2];n[p+28>>2]=n[G+28>>2]}b=bY(A,o)|0;while(1){if(!b)break;c=b+16|0;e=n[c>>2]|0;t=e+8|0;i=n[t>>2]|0;if(i|0){l=0;while(1){if((l|0)<(n[i+4>>2]|0))a=0;else break;while(1){f=n[i>>2]|0;if((a|0)>=(n[f+(l*48|0)+4>>2]|0))break;i=(n[f+(l*48|0)>>2]|0)+(a<<4)|0;n[Q>>2]=n[i>>2];n[Q+4>>2]=n[i+4>>2];n[Q+8>>2]=n[i+8>>2];n[Q+12>>2]=n[i+12>>2];H=+s[Q>>3];s[p>>3]=+s[(+s[p>>3]<H?p:Q)>>3];P=+s[d>>3];s[y>>3]=+s[(+s[y>>3]<P?p:Q)+8>>3];s[V>>3]=+s[(+s[V>>3]>H?V:Q)>>3];s[Y>>3]=+s[(+s[Y>>3]>P?V:Q)+8>>3];a=a+1|0;i=n[t>>2]|0}l=l+1|0}i=n[e+96>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=n[(n[z>>2]|0)+116>>2]&1;n[J>>2]=n[p>>2];n[J+4>>2]=n[p+4>>2];n[J+8>>2]=n[p+8>>2];n[J+12>>2]=n[p+12>>2];n[J+16>>2]=n[p+16>>2];n[J+20>>2]=n[p+20>>2];n[J+24>>2]=n[p+24>>2];n[J+28>>2]=n[p+28>>2];vC(m,J,i,e);n[p>>2]=n[m>>2];n[p+4>>2]=n[m+4>>2];n[p+8>>2]=n[m+8>>2];n[p+12>>2]=n[m+12>>2];n[p+16>>2]=n[m+16>>2];n[p+20>>2]=n[m+20>>2];n[p+24>>2]=n[m+24>>2];n[p+28>>2]=n[m+28>>2];e=n[c>>2]|0}i=n[e+100>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=n[(n[z>>2]|0)+116>>2]&1;n[J>>2]=n[p>>2];n[J+4>>2]=n[p+4>>2];n[J+8>>2]=n[p+8>>2];n[J+12>>2]=n[p+12>>2];n[J+16>>2]=n[p+16>>2];n[J+20>>2]=n[p+20>>2];n[J+24>>2]=n[p+24>>2];n[J+28>>2]=n[p+28>>2];vC(I,J,i,e);n[p>>2]=n[I>>2];n[p+4>>2]=n[I+4>>2];n[p+8>>2]=n[I+8>>2];n[p+12>>2]=n[I+12>>2];n[p+16>>2]=n[I+16>>2];n[p+20>>2]=n[I+20>>2];n[p+24>>2]=n[I+24>>2];n[p+28>>2]=n[I+28>>2];e=n[c>>2]|0}i=n[e+104>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=n[(n[z>>2]|0)+116>>2]&1;n[J>>2]=n[p>>2];n[J+4>>2]=n[p+4>>2];n[J+8>>2]=n[p+8>>2];n[J+12>>2]=n[p+12>>2];n[J+16>>2]=n[p+16>>2];n[J+20>>2]=n[p+20>>2];n[J+24>>2]=n[p+24>>2];n[J+28>>2]=n[p+28>>2];vC(C,J,i,e);n[p>>2]=n[C>>2];n[p+4>>2]=n[C+4>>2];n[p+8>>2]=n[C+8>>2];n[p+12>>2]=n[C+12>>2];n[p+16>>2]=n[C+16>>2];n[p+20>>2]=n[C+20>>2];n[p+24>>2]=n[C+24>>2];n[p+28>>2]=n[C+28>>2];e=n[c>>2]|0}e=n[e+108>>2]|0;if(e|0?r[e+81>>0]|0:0){c=n[(n[z>>2]|0)+116>>2]&1;n[J>>2]=n[p>>2];n[J+4>>2]=n[p+4>>2];n[J+8>>2]=n[p+8>>2];n[J+12>>2]=n[p+12>>2];n[J+16>>2]=n[p+16>>2];n[J+20>>2]=n[p+20>>2];n[J+24>>2]=n[p+24>>2];n[J+28>>2]=n[p+28>>2];vC(M,J,e,c);n[p>>2]=n[M>>2];n[p+4>>2]=n[M+4>>2];n[p+8>>2]=n[M+8>>2];n[p+12>>2]=n[M+12>>2];n[p+16>>2]=n[M+16>>2];n[p+20>>2]=n[M+20>>2];n[p+24>>2]=n[M+24>>2];n[p+28>>2]=n[M+28>>2]}}b=uY(A,b)|0}o=MV(A,o)|0}e=n[z>>2]|0;f=n[e+180>>2]|0;a=e+184|0;l=W+8|0;t=W+16|0;c=W+24|0;i=1;while(1){if((i|0)>(f|0))break;L=+s[(n[(n[(n[a>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+16>>3];s[W>>3]=L;E=n[(n[(n[a>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;F=+s[E+24>>3];s[l>>3]=F;P=+s[E+32>>3];s[t>>3]=P;H=+s[E+40>>3];s[c>>3]=H;s[p>>3]=+s[(+s[p>>3]<L?p:W)>>3];s[y>>3]=+s[(+s[y>>3]<F?p:W)+8>>3];s[V>>3]=+s[(+s[V>>3]>P?p:W)+16>>3];s[Y>>3]=+s[(+s[Y>>3]>H?p:W)+24>>3];i=i+1|0}i=n[e+12>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=n[e+116>>2]&1;n[J>>2]=n[p>>2];n[J+4>>2]=n[p+4>>2];n[J+8>>2]=n[p+8>>2];n[J+12>>2]=n[p+12>>2];n[J+16>>2]=n[p+16>>2];n[J+20>>2]=n[p+20>>2];n[J+24>>2]=n[p+24>>2];n[J+28>>2]=n[p+28>>2];vC(N,J,i,e);n[p>>2]=n[N>>2];n[p+4>>2]=n[N+4>>2];n[p+8>>2]=n[N+8>>2];n[p+12>>2]=n[N+12>>2];n[p+16>>2]=n[N+16>>2];n[p+20>>2]=n[N+20>>2];n[p+24>>2]=n[N+24>>2];n[p+28>>2]=n[N+28>>2];e=n[z>>2]|0}z=e+16|0;n[z>>2]=n[p>>2];n[z+4>>2]=n[p+4>>2];n[z+8>>2]=n[p+8>>2];n[z+12>>2]=n[p+12>>2];n[z+16>>2]=n[p+16>>2];n[z+20>>2]=n[p+20>>2];n[z+24>>2]=n[p+24>>2];n[z+28>>2]=n[p+28>>2]}v=R;return}function kC(A,e,i){A=A|0;e=+e;i=+i;s[A>>3]=e;s[A+8>>3]=i;return}function wC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+s[e+8>>3]-+s[i+8>>3];s[A>>3]=+s[e>>3]-+s[i>>3];s[A+8>>3]=r;return}function dC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+s[i+8>>3]+ +s[e+8>>3];s[A>>3]=+s[i>>3]+ +s[e>>3];s[A+8>>3]=r;return}function hC(A){A=A|0;if((n[A+60>>2]|0)==(A|0))A=1;else A=(_z(qY(A)|0,92983,7)|0)==0&1;return A|0}function gC(A){A=A|0;var e=0;e=oy(22612,n[4345]|0)|0;mC(A,e);return e|0}function ZC(A,e){A=A|0;e=e|0;A=kF[n[A>>2]&31](A,e,512)|0;if(!A)A=0;else A=n[A+12>>2]|0;return A|0}function GC(A,e,i){A=A|0;e=e|0;i=i|0;i=IY(HV(e)|0,e,i,0,1)|0;lW(i,122254,176,1)|0;tY(A,i)|0;return i|0}function mC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;l=v;v=v+16|0;a=l;f=A+16|0;r=1;while(1){A=n[f>>2]|0;if((r|0)>(n[A+180>>2]|0))break;A=n[(n[A+184>>2]|0)+(r<<2)>>2]|0;i=qY(A)|0;if(!(kF[n[e>>2]&31](e,i,512)|0)){t=Jg(16)|0;n[t+8>>2]=i;n[t+12>>2]=A;kF[n[e>>2]&31](e,t,1)|0}else{n[a>>2]=i;Gy(0,93006,a)|0}mC(A,e);r=r+1|0}v=l;return}function IC(A,e,i){A=A|0;e=e|0;i=i|0;zN(e);return}function CC(A){A=A|0;var e=0,i=0,r=0;r=eJ(A,92991,1)|0;lW(r,122277,280,1)|0;e=CV(A)|0;while(1){if(!e)break;i=bY(A,e)|0;while(1){if(!i)break;MC(i,r);i=uY(A,i)|0}e=MV(A,e)|0}e=CV(r)|0;while(1){if(!e)break;i=MV(r,e)|0;QC(e);PV(A,e)|0;e=i}NY(r)|0;return}function MC(A,e){A=A|0;e=e|0;var i=0,f=0;i=n[A>>2]&3;f=n[((i|0)==3?A:A+48|0)+40>>2]|0;i=n[((i|0)==2?A:A+-48|0)+40>>2]|0;if(!((r[(n[f+16>>2]|0)+118>>0]|0)==0?!(r[(n[i+16>>2]|0)+118>>0]|0):0)){f=EC(f,e)|0;i=GC(A,f,EC(i,e)|0)|0;f=n[A+16>>2]|0;e=f+8|0;i=n[i+16>>2]|0;n[i+8>>2]=n[e>>2];n[e>>2]=0;e=f+96|0;n[i+96>>2]=n[e>>2];n[e>>2]=0;e=f+108|0;n[i+108>>2]=n[e>>2];n[e>>2]=0;e=f+100|0;n[i+100>>2]=n[e>>2];n[e>>2]=0;f=f+104|0;n[i+104>>2]=n[f>>2];n[f>>2]=0;yC(A)}return}function QC(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;e=n[r>>2]|0;i=n[e+132>>2]|0;if(i){zN(i);e=n[r>>2]|0}i=n[e+8>>2]|0;if(i){ZF[n[(n[i+4>>2]|0)+4>>2]&127](A);e=n[r>>2]|0}Mg(n[e+104>>2]|0);Mg(n[(n[r>>2]|0)+108>>2]|0);cW(A,122241)|0;return}function EC(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;f=HV(A)|0;A:do{if(r[(n[A+16>>2]|0)+118>>0]|0){YV(e,A,1)|0;A=Vz(qY(A)|0,58)|0;if(!A)BA(95974,92638,1225,93058);e=A+1|0;A=zV(f,e,0)|0;if(!A){A=zV(f,e,1)|0;lW(A,122241,304,1)|0;e=$y(f,1,0)|0;while(1){if(!e)break A;a=nY(A,e)|0;i=n[e+12>>2]|0;if((a|0)!=(i|0))qy(A,e,i)|0;e=$y(f,1,e)|0}}}}while(0);return A|0}function yC(A){A=A|0;var e=0;e=A+16|0;zN(n[(n[e>>2]|0)+144>>2]|0);YC(A);Mg(n[(n[e>>2]|0)+96>>2]|0);Mg(n[(n[e>>2]|0)+108>>2]|0);Mg(n[(n[e>>2]|0)+100>>2]|0);Mg(n[(n[e>>2]|0)+104>>2]|0);cW(A,122254)|0;return}function YC(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;A=n[r>>2]|0;e=n[A+8>>2]|0;if(e){i=0;while(1){A=n[e>>2]|0;if((i|0)>=(n[e+4>>2]|0))break;zN(n[A+(i*48|0)>>2]|0);i=i+1|0;e=n[(n[r>>2]|0)+8>>2]|0}zN(A);zN(n[(n[r>>2]|0)+8>>2]|0);A=n[r>>2]|0}n[A+8>>2]=0;return}function VC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=Sy(A,e,i,0)|0;if(!f)f=Sy(A,e,i,r)|0;return f|0}function WC(A,e){A=A|0;e=e|0;return az(n[A>>2]|0,n[e>>2]|0)|0}function JC(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0;k=v;v=v+1072|0;s=k+8|0;c=k;t=k+16|0;u=k+24|0;n[t>>2]=A;if((n[42364]|0)!=(e|0)){n[42364]=e;r[174076]=0}My(u,1024,k+40|0);B=u+4|0;o=u+8|0;while(1){f=A+1|0;n[t>>2]=f;i=r[A>>0]|0;if(!(i<<24>>24))break;do{if((i&255)<192)if(i<<24>>24==38){f=zC(t)|0;if(!f)i=38;else{if(f>>>0<127){i=f&255;break}A=n[B>>2]|0;i=A>>>0>=(n[o>>2]|0)>>>0;if(f>>>0<2047){if(i){Qy(u,1)|0;A=n[B>>2]|0}n[B>>2]=A+1;r[A>>0]=f>>>6|192;i=(f&63|128)&255;break}if(i){Qy(u,1)|0;A=n[B>>2]|0}n[B>>2]=A+1;r[A>>0]=f>>>12|224;A=n[B>>2]|0;if(A>>>0>=(n[o>>2]|0)>>>0){Qy(u,1)|0;A=n[B>>2]|0}n[B>>2]=A+1;r[A>>0]=f>>>6&63|128;i=(f&63|128)&255}}else{l=0;b=9}else if((i&255)>=224)if((i&255)>=240)if((i&255)<248){l=3;b=9}else{if(!(r[174076]|0)){n[c>>2]=qY(e)|0;Gy(0,94473,c)|0;r[174076]=1}l=-1;i=NC(i,u)|0;b=9}else{l=2;b=9}else{l=1;b=9}}while(0);do{if((b|0)==9){b=0;a=0;while(1){if((a|0)>=(l|0)){b=34;break}if((r[f>>0]&-64)<<24>>24!=-128)break;A=n[B>>2]|0;if(A>>>0>=(n[o>>2]|0)>>>0){Qy(u,1)|0;A=n[B>>2]|0}n[B>>2]=A+1;r[A>>0]=i;a=a+1|0;i=r[f>>0]|0;f=f+1|0}if((b|0)==34){b=0;n[t>>2]=f;break}n[t>>2]=f;if(!(r[174076]|0)){a=qY(e)|0;n[s>>2]=l+1;n[s+4>>2]=a;Gy(0,94594,s)|0;r[174076]=1}i=NC(i,u)|0}}while(0);A=n[B>>2]|0;if(A>>>0>=(n[o>>2]|0)>>>0){Qy(u,1)|0;A=n[B>>2]|0}n[B>>2]=A+1;r[A>>0]=i;A=n[t>>2]|0}A=n[B>>2]|0;if(A>>>0>=(n[o>>2]|0)>>>0){Qy(u,1)|0;A=n[B>>2]|0}r[A>>0]=0;o=n[u>>2]|0;n[B>>2]=o;B=vR(o)|0;Yy(u);v=k;return B|0}function NC(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0;c=v;v=v+16|0;a=c;r[a>>0]=A;r[a+1>>0]=0;a=pC(a)|0;l=e+4|0;t=e+8|0;i=Az(a)|0;f=a;while(1){if((i|0)<=1)break;A=n[l>>2]|0;if(A>>>0>=(n[t>>2]|0)>>>0){Qy(e,1)|0;A=n[l>>2]|0}s=r[f>>0]|0;n[l>>2]=A+1;r[A>>0]=s;i=i+-1|0;f=f+1|0}s=r[f>>0]|0;zN(a);v=c;return s|0}function zC(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;t=v;v=v+32|0;l=t;e=t+8|0;i=n[A>>2]|0;A:do{if((r[i>>0]|0)!=35){n[l>>2]=e;a=0;e:while(1){if((a|0)>=8){e=0;break A}f=r[i+a>>0]|0;switch(f<<24>>24){case 0:{e=0;break A}case 59:break e;default:{}}r[e>>0]=f;e=e+1|0;a=a+1|0}r[e>>0]=0;e=rP(l,22648,252,8,30)|0;if(!e)e=0;else{i=i+(a+1)|0;e=n[e+4>>2]|0}}else{l=r[i+1>>0]|0;e=l&255;e:do{if((l|32)<<24>>24==120){l=0;a=2;while(1){if((a|0)>=8){f=l;break e}f=r[i+a>>0]|0;e=f&255;if((f+-65&255)>=6)if((f+-97&255)>=6)if((f+-48&255)<10)f=-48;else{f=l;break e}else f=-87;else f=-55;e=f+e|0;l=e+(l<<4)|0;a=a+1|0}}else{f=0;a=1;while(1){if((a|0)>=8)break e;l=r[i+a>>0]|0;e=l&255;if((l+-48&255)>=10)break e;f=(f*10|0)+-48+e|0;a=a+1|0}}}while(0);e=(e|0)==59;i=e?i+(a+1)|0:i;e=e?f:0}}while(0);n[A>>2]=i;v=t;return e|0}function pC(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0;s=v;v=v+1056|0;a=s;t=s+8|0;n[a>>2]=A;My(t,1024,s+24|0);c=t+4|0;l=t+8|0;while(1){n[a>>2]=A+1;e=r[A>>0]|0;if(!(e<<24>>24))break;A=e&255;if(e<<24>>24==38){A=zC(a)|0;if(!A){A=38;f=6}else f=5}else f=5;do{if((f|0)==5){f=0;if(A>>>0<127)f=6;else{e=n[c>>2]|0;i=e>>>0>=(n[l>>2]|0)>>>0;if(A>>>0<2047){if(i){Qy(t,1)|0;e=n[c>>2]|0}n[c>>2]=e+1;r[e>>0]=A>>>6|192;e=n[c>>2]|0;if(e>>>0>=(n[l>>2]|0)>>>0){Qy(t,1)|0;e=n[c>>2]|0}A=A&63|128;break}if(i){Qy(t,1)|0;e=n[c>>2]|0}n[c>>2]=e+1;r[e>>0]=A>>>12|224;e=n[c>>2]|0;if(e>>>0>=(n[l>>2]|0)>>>0){Qy(t,1)|0;e=n[c>>2]|0}n[c>>2]=e+1;r[e>>0]=A>>>6&63|128;e=n[c>>2]|0;if(e>>>0>=(n[l>>2]|0)>>>0){Qy(t,1)|0;e=n[c>>2]|0}A=A&63|128}}}while(0);if((f|0)==6){e=n[c>>2]|0;if(e>>>0>=(n[l>>2]|0)>>>0){Qy(t,1)|0;e=n[c>>2]|0}}n[c>>2]=e+1;r[e>>0]=A;A=n[a>>2]|0}A=n[c>>2]|0;if(A>>>0>=(n[l>>2]|0)>>>0){Qy(t,1)|0;A=n[c>>2]|0}r[A>>0]=0;l=n[t>>2]|0;n[c>>2]=l;c=vR(l)|0;Yy(t);v=s;return c|0}function RC(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;t=v;v=v+1040|0;a=t;My(a,1024,t+16|0);l=a+4|0;f=a+8|0;while(1){e=A+1|0;i=r[A>>0]|0;if(!(i<<24>>24))break;if((i&255)<127){A=n[l>>2]|0;if(A>>>0>=(n[f>>2]|0)>>>0){Qy(a,1)|0;A=n[l>>2]|0}n[l>>2]=A+1;r[A>>0]=i;A=e;continue}else{i=r[e>>0]&63|i<<6&255;e=n[l>>2]|0;if(e>>>0>=(n[f>>2]|0)>>>0){Qy(a,1)|0;e=n[l>>2]|0}n[l>>2]=e+1;r[e>>0]=i;A=A+2|0;continue}}A=n[l>>2]|0;if(A>>>0>=(n[f>>2]|0)>>>0){Qy(a,1)|0;A=n[l>>2]|0}r[A>>0]=0;f=n[a>>2]|0;n[l>>2]=f;l=vR(f)|0;Yy(a);v=t;return l|0}function PC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0;o=v;v=v+80|0;r=o+48|0;i=o+32|0;f=o+64|0;a=o+16|0;l=o;t=e+16|0;c=A+16|0;b=n[c>>2]|0;if(((+s[t>>3]>=+s[b+48>>3]?+s[b+64>>3]>=+s[e>>3]:0)?+s[e+24>>3]>=+s[b+56>>3]:0)?+s[b+72>>3]>=+s[e+8>>3]:0){b=b+16|0;n[i>>2]=n[t>>2];n[i+4>>2]=n[t+4>>2];n[i+8>>2]=n[t+8>>2];n[i+12>>2]=n[t+12>>2];n[r>>2]=n[e>>2];n[r+4>>2]=n[e+4>>2];n[r+8>>2]=n[e+8>>2];n[r+12>>2]=n[e+12>>2];HC(a,i,r);n[i>>2]=n[b>>2];n[i+4>>2]=n[b+4>>2];n[i+8>>2]=n[b+8>>2];n[i+12>>2]=n[b+12>>2];n[r>>2]=n[a>>2];n[r+4>>2]=n[a+4>>2];n[r+8>>2]=n[a+8>>2];n[r+12>>2]=n[a+12>>2];wC(l,i,r);n[f>>2]=A;n[f+4>>2]=0;i=n[(n[(n[(n[c>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;n[r>>2]=n[l>>2];n[r+4>>2]=n[l+4>>2];n[r+8>>2]=n[l+8>>2];n[r+12>>2]=n[l+12>>2];i=BF[i&63](f,r)|0}else i=0;v=o;return i|0}function HC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+s[i+8>>3]+ +s[e+8>>3])*.5;s[A>>3]=(+s[i>>3]+ +s[e>>3])*.5;s[A+8>>3]=r;return}function FC(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,a=0,l=0.0,t=0,c=0,b=0,o=0;r=v;v=v+80|0;t=r+64|0;c=r+48|0;b=r;o=r+32|0;a=r+16|0;s[b>>3]=+s[A+24>>3]*.5;s[b+8>>3]=+s[A+32>>3]*.5;A=A+56|0;n[c>>2]=n[A>>2];n[c+4>>2]=n[A+4>>2];n[c+8>>2]=n[A+8>>2];n[c+12>>2]=n[A+12>>2];n[t>>2]=n[b>>2];n[t+4>>2]=n[b+4>>2];n[t+8>>2]=n[b+8>>2];n[t+12>>2]=n[b+12>>2];wC(o,c,t);l=+s[o>>3];f=+s[o+8>>3];n[c>>2]=n[A>>2];n[c+4>>2]=n[A+4>>2];n[c+8>>2]=n[A+8>>2];n[c+12>>2]=n[A+12>>2];n[t>>2]=n[b>>2];n[t+4>>2]=n[b+4>>2];n[t+8>>2]=n[b+8>>2];n[t+12>>2]=n[b+12>>2];dC(a,c,t);i=+s[a+8>>3];if((+s[e+16>>3]>=l?+s[a>>3]>=+s[e>>3]:0)?+s[e+24>>3]>=f:0)A=i>=+s[e+8>>3]&1;else A=0;v=r;return A|0}function LC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;o=v;v=v+80|0;s=o+48|0;c=o;l=A+16|0;A=n[l>>2]|0;t=n[A+8>>2]|0;A:do{if((t|0)!=0?(a=t+8|0,n[c>>2]=n[a>>2],n[c+4>>2]=n[a+4>>2],n[c+8>>2]=n[a+8>>2],n[c+12>>2]=n[a+12>>2],n[c+16>>2]=n[a+16>>2],n[c+20>>2]=n[a+20>>2],n[c+24>>2]=n[a+24>>2],n[c+28>>2]=n[a+28>>2],n[s>>2]=n[e>>2],n[s+4>>2]=n[e+4>>2],n[s+8>>2]=n[e+8>>2],n[s+12>>2]=n[e+12>>2],n[s+16>>2]=n[e+16>>2],n[s+20>>2]=n[e+20>>2],n[s+24>>2]=n[e+24>>2],n[s+28>>2]=n[e+28>>2],(ft(c,s)|0)!=0):0){i=t+4|0;A=0;while(1){if((A|0)>=(n[i>>2]|0))break;r=c;f=(n[t>>2]|0)+(A*48|0)|0;a=r+48|0;do{n[r>>2]=n[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(a|0));n[s>>2]=n[e>>2];n[s+4>>2]=n[e+4>>2];n[s+8>>2]=n[e+8>>2];n[s+12>>2]=n[e+12>>2];n[s+16>>2]=n[e+16>>2];n[s+20>>2]=n[e+20>>2];n[s+24>>2]=n[e+24>>2];n[s+28>>2]=n[e+28>>2];if(!((nt(c,s)|0)<<24>>24))A=A+1|0;else{A=1;break A}}A=n[l>>2]|0;b=7}else b=7}while(0);do{if((b|0)==7){A=n[A+96>>2]|0;if(A|0?(n[s>>2]=n[e>>2],n[s+4>>2]=n[e+4>>2],n[s+8>>2]=n[e+8>>2],n[s+12>>2]=n[e+12>>2],n[s+16>>2]=n[e+16>>2],n[s+20>>2]=n[e+20>>2],n[s+24>>2]=n[e+24>>2],n[s+28>>2]=n[e+28>>2],(FC(A,s)|0)<<24>>24):0){A=1;break}A=0}}while(0);v=o;return A|0}function DC(A){A=A|0;var e=0,i=0,r=0,a=0,l=0,t=0,c=0,s=0;l=A+16|0;t=Jg((f[(n[l>>2]|0)+238>>1]<<2)+8|0)|0;a=CV(A)|0;while(1){if(!a)break;r=t+(n[(n[a+16>>2]|0)+232>>2]<<2)|0;n[r>>2]=(n[r>>2]|0)+1;r=bY(A,a)|0;while(1){if(!r)break;c=n[r>>2]&3;e=n[(n[(n[((c|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;c=n[(n[(n[((c|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;s=(e|0)>(c|0);i=s?e:c;e=s?c:e;while(1){e=e+1|0;if((e|0)>=(i|0))break;s=t+(e<<2)|0;n[s>>2]=(n[s>>2]|0)+1}r=uY(A,r)|0}a=MV(A,a)|0}r=Jg((f[(n[l>>2]|0)+238>>1]<<6)+128|0)|0;i=n[l>>2]|0;n[i+196>>2]=r;e=f[i+236>>1]|0;while(1){if((e|0)>(f[i+238>>1]|0))break;c=t+(e<<2)|0;i=n[c>>2]|0;n[r+(e<<6)>>2]=i;n[r+(e<<6)+8>>2]=i;c=Jg((n[c>>2]<<2)+4|0)|0;i=n[l>>2]|0;s=n[i+196>>2]|0;n[s+(e<<6)+4>>2]=c;n[s+(e<<6)+12>>2]=c;e=e+1|0;r=s}zN(t);return}function XC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var a=0,l=0,t=0,c=0,b=0,o=0;o=A+16|0;l=1;while(1){a=n[o>>2]|0;if((l|0)>(n[a+180>>2]|0))break;b=XC(n[(n[a+184>>2]|0)+(l<<2)>>2]|0,e,i,r)|0;l=l+1|0;r=b}A:do{if((Jn(A)|0)!=(A|0)){yH(e|0,0,i<<2|0)|0;a=CV(A)|0;while(1){if(!a)break;c=a+16|0;n[e+(n[(n[c>>2]|0)+232>>2]<<2)>>2]=1;l=bY(A,a)|0;while(1){if(!l)break;b=l+-48|0;t=n[(n[c>>2]|0)+232>>2]|0;while(1){i=t+1|0;if((t|0)>=(n[(n[(n[((n[l>>2]&3|0)==2?l:b)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;n[e+(i<<2)>>2]=1;t=i}l=uY(A,l)|0}a=MV(A,a)|0}a=n[o>>2]|0;l=f[a+236>>1]|0;while(1){if((l|0)>(f[a+238>>1]|0))break A;if(!(n[e+(l<<2)>>2]|0)){if(!r)r=eJ(Jn(A)|0,79522,1)|0;a=zV(r,0,1)|0;lW(a,122241,304,1)|0;b=a+16|0;t=n[b>>2]|0;n[t+232>>2]=l;s[t+96>>3]=.5;s[t+88>>3]=.5;s[t+80>>3]=1.0;n[t+216>>2]=1;n[t+176>>2]=0;t=Jg(20)|0;c=n[b>>2]|0;n[c+172>>2]=t;n[c+184>>2]=0;c=Jg(20)|0;n[(n[b>>2]|0)+180>>2]=c;YV(A,a,1)|0;a=n[o>>2]|0}l=l+1|0}}}while(0);return r|0}function TC(A){A=A|0;var e=0,i=0;Gl(A);e=A+16|0;A=1;while(1){i=n[e>>2]|0;if((A|0)>(n[i+180>>2]|0))break;TC(n[(n[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function xC(A){A=A|0;var e=0,i=0;e=n[A>>2]&3;i=UC(n[((e|0)==3?A:A+48|0)+40>>2]|0)|0;e=n[17236+(i*12|0)+((UC(n[((e|0)==2?A:A+-48|0)+40>>2]|0)|0)<<2)>>2]|0;A=(n[A+16>>2]|0)+156|0;n[A>>2]=X(n[A>>2]|0,e)|0;return}function UC(A){A=A|0;A=n[A+16>>2]|0;if((r[A+156>>0]|0)==1)A=2;else A=(r[A+160>>0]|0)<2&1;return A|0}function jC(A,e){A=A|0;e=e|0;if(n[(n[A+16>>2]|0)+192>>2]|0){gE(A);SC(A);if(r[174072]|0)NE(A);OC(A);if(qE(A)|0)SC(A);KC(A);if(dZ(A,2,_C(A)|0)|0?(qC(A),dZ(A,2,_C(A)|0)|0):0)BA(79540,79568,134,79579);$C(A);AM(A,e);eM(A)}return}function SC(A){A=A|0;var e=0,i=0,a=0,l=0,t=0.0,c=0.0,b=0,o=0,u=0,v=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0.0,C=0.0;Z=A+16|0;e=n[Z>>2]|0;G=n[e+196>>2]|0;h=f[e+236>>1]|0;while(1){if((h|0)>(f[e+238>>1]|0))break;u=G+(h<<6)|0;v=G+(h<<6)+4|0;B=G+(h<<6)+40|0;k=G+(h<<6)+24|0;w=G+(h<<6)+32|0;d=G+(h<<6)+16|0;o=0;while(1){if((o|0)>=(n[u>>2]|0))break;b=(n[(n[v>>2]|0)+(o<<2)>>2]|0)+16|0;e=n[b>>2]|0;t=+s[e+80>>3]*.5;l=n[e+204>>2]|0;A:do{if(l){a=0;while(1){i=n[l+(a<<2)>>2]|0;if(!i)break A;m=n[i>>2]&3;if((n[((m|0)==3?i:i+48|0)+40>>2]|0)==(n[((m|0)==2?i:i+-48|0)+40>>2]|0)?(g=n[(n[i+16>>2]|0)+96>>2]|0,(g|0)!=0):0){c=+s[g+32>>3]*.5;t=t>c?t:c}a=a+1|0}}}while(0);if(+s[B>>3]<t){s[k>>3]=t;s[B>>3]=t}if(+s[w>>3]<t){s[d>>3]=t;s[w>>3]=t}i=n[e+212>>2]|0;if(i|0){if((i|0)==(A|0))a=0;else{a=LI(i,n[42187]|0,8,0)|0;e=n[b>>2]|0}l=n[e+232>>2]|0;i=n[i+16>>2]|0;e=i+128|0;t=t+ +(a|0);if((l|0)==(f[i+236>>1]|0)){c=+s[e>>3];s[e>>3]=c>t?c:t}e=i+120|0;if((l|0)==(f[i+238>>1]|0)){c=+s[e>>3];s[e>>3]=c>t?c:t}}o=o+1|0}h=h+1|0;e=n[Z>>2]|0}o=EM(A)|0;a=n[Z>>2]|0;e=f[a+238>>1]|0;s[(n[(n[n[G+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+s[G+(e<<6)+16>>3];i=f[a+236>>1]|0;l=a+252|0;c=0.0;while(1){b=e+-1|0;if((e|0)<=(i|0))break;I=+s[G+(b<<6)+32>>3]+ +s[G+(e<<6)+40>>3]+ +(n[l>>2]|0);t=+s[G+(e<<6)+24>>3]+8.0+ +s[G+(b<<6)+16>>3];t=I>t?I:t;if((n[G+(b<<6)>>2]|0)>0)s[(n[(n[n[G+(b<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+s[(n[(n[n[G+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+t;c=c>t?c:t;e=b}A:do{if((o|0)!=0?(n[a+116>>2]&1|0)!=0:0){yM(A,0);a=n[Z>>2]|0;if(r[a+276>>0]|0){e=f[a+238>>1]|0;i=f[a+236>>1]|0;t=+s[(n[(n[n[G+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];c=0.0;while(1){l=e+-1|0;if((e|0)<=(i|0))break A;C=+s[(n[(n[n[G+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];I=C-t;t=C;c=c>I?c:I;e=l}}}}while(0);A:do{if(r[a+276>>0]|0){l=f[a+236>>1]|0;i=f[a+238>>1]|0;while(1){e=i+-1|0;if((i|0)<=(l|0))break A;if((n[G+(e<<6)>>2]|0)<=0){i=e;continue}s[(n[(n[n[G+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+s[(n[(n[n[G+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+c;i=e}}}while(0);e=a+192|0;while(1){e=n[e>>2]|0;if(!e)break;e=n[e+16>>2]|0;s[e+24>>3]=+s[(n[(n[n[G+(n[e+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];e=e+164|0}return}function OC(A){A=A|0;var e=0,i=0,r=0;IM(A);e=(n[A+16>>2]|0)+192|0;while(1){e=n[e>>2]|0;if(!e)break;r=e+16|0;e=n[r>>2]|0;i=n[e+224>>2]|0;if(i){CM(A,i);e=n[r>>2]|0}i=n[e+228>>2]|0;if(!i)i=e;else{CM(A,i);i=n[r>>2]|0}r=n[i+204>>2]|0;if(r|0){e=0;while(1)if(!(n[r+(e<<2)>>2]|0))break;else e=e+1|0}e=i+164|0}return}function KC(A){A=A|0;sM(A);bM(A);oM(A);uM(A);vM(A);return}function _C(A){A=A|0;var e=0,i=0.0;e=fY(A,79768)|0;if(!e)A=2147483647;else{i=+AP(e);A=~~(i*+(zY(A)|0))}return A|0}function qC(A){A=A|0;var e=0,i=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0,d=0;w=A+16|0;e=n[w>>2]|0;k=f[e+236>>1]|0;while(1){B=f[e+238>>1]|0;if((k|0)>(B|0)){d=19;break}u=n[e+196>>2]|0;v=u+(k<<6)|0;o=n[v>>2]|0;u=u+(k<<6)+4|0;b=0;i=0;A:while(1){if((b|0)>=(o|0)){d=14;break}i=n[(n[u>>2]|0)+(b<<2)>>2]|0;l=n[i+16>>2]|0;t=n[l+256>>2]|0;e:do{if(t|0){a=0;while(1){c=n[t+(a<<2)>>2]|0;if(!c)break e;s=n[c>>2]&3;if((n[(n[(n[((s|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(k|0))break A;if((n[(n[(n[((s|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(k|0))break A;else a=a+1|0}}}while(0);l=n[l+248>>2]|0;e:do{if(l|0){a=0;while(1){t=n[l+(a<<2)>>2]|0;if(!t)break e;c=n[t>>2]&3;if((n[(n[(n[((c|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(k|0))break A;if((n[(n[(n[((c|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(k|0))break A;else a=a+1|0}}}while(0);b=b+1|0}if((d|0)==14){d=0;if(i){i=n[n[u>>2]>>2]|0;e=n[n[v+(((k|0)<(B|0)?1:-1)<<6)+4>>2]>>2]|0;if(!e){d=16;break}v=xa(A)|0;B=v+16|0;r[(n[B>>2]|0)+156>>0]=2;tM(v,i,0.0,0)|0;tM(v,e,0.0,0)|0;n[(n[B>>2]|0)+232>>2]=n[(n[((n[(n[i+16>>2]|0)+232>>2]|0)<(n[(n[e+16>>2]|0)+232>>2]|0)?i:e)+16>>2]|0)+232>>2];e=n[w>>2]|0}}k=k+1|0}if((d|0)==16)BA(79676,79568,111,79679);else if((d|0)==19)return}function $C(A){A=A|0;var e=0,i=0,r=0,a=0,l=0,t=0,c=0;A=n[A+16>>2]|0;l=n[A+196>>2]|0;i=f[A+238>>1]|0;A=f[A+236>>1]|0;while(1){if((A|0)>(i|0))break;r=n[l+(A<<6)>>2]|0;a=l+(A<<6)+4|0;e=0;while(1){if((e|0)>=(r|0))break;c=n[(n[(n[a>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;t=c+232|0;s[c+16>>3]=+(n[t>>2]|0);n[t>>2]=A;e=e+1|0}A=A+1|0}return}function AM(A,e){A=A|0;e=e|0;var i=0,r=0.0,a=0,l=0.0,t=0,c=0,b=0.0,o=0,u=0,v=0,B=0;iM(A,A);a=A+16|0;c=n[a>>2]|0;A:do{if((f[c+238>>1]|0)>0?(t=n[c+8>>2]|0,i=n[t+84>>2]|0,i|0):0){v=~~(+s[c+32>>3]-+s[c+16>>3]);o=~~(+s[c+40>>3]-+s[c+24>>3]);B=(n[c+116>>2]&1|0)==0;u=B?o:v;o=B?v:o;if((i|0)==4){i=rM(A)|0;c=n[a>>2]|0;t=n[c+8>>2]|0}else i=(i|0)==2&1;e:do{if(!(i<<24>>24)){switch(n[t+84>>2]|0){case 5:{r=+s[t+64>>3];if(r<=0.0)break A;l=r/+s[c+32>>3];b=+s[t+72>>3]/+s[c+40>>3];r=l<b?l:b;if(l>1.0&b>1.0){b=r;break e}else break A}case 1:break;default:break A}l=+s[t+16>>3];r=+(u|0)/+(o|0);if(r<l){b=1.0;r=l/r;break}else{b=r/l;r=1.0;break}}else{r=+s[t+64>>3];if(r<=0.0)break A;l=r/+(o|0);r=+s[t+72>>3]/+(u|0);if(l<1.0|r<1.0)if(l<r){b=1.0;r=r/l;break}else{b=l/r;r=1.0;break}else b=l}}while(0);i=(n[c+116>>2]&1|0)==0;l=i?r:b;r=i?b:r;i=c+192|0;while(1){i=n[i>>2]|0;if(!i)break;i=n[i+16>>2]|0;B=i+16|0;b=+s[B>>3]*r;s[B>>3]=+(~~(b+(b>=0.0?.5:-.5))|0);B=i+24|0;b=+s[B>>3]*l;s[B>>3]=+(~~(b+(b>=0.0?.5:-.5))|0);i=i+164|0}fM(A,r,l)}}while(0);if(e|0)nM(A,e);return}function eM(A){A=A|0;var e=0,i=0,f=0,a=0,l=0;l=A+16|0;A=(n[l>>2]|0)+192|0;while(1){A=n[A>>2]|0;if(!A)break;a=A+16|0;e=0;while(1){A=n[a>>2]|0;f=n[A+180>>2]|0;i=n[f+(e<<2)>>2]|0;if(!i)break;zN(n[i+16>>2]|0);zN(i);e=e+1|0}if(f){zN(f);A=n[a>>2]|0}e=n[A+172>>2]|0;if(e){zN(e);A=n[a>>2]|0}f=A+256|0;i=n[f+4>>2]|0;A=A+180|0;n[A>>2]=n[f>>2];n[A+4>>2]=i;A=n[a>>2]|0;i=A+248|0;f=n[i+4>>2]|0;A=A+172|0;n[A>>2]=n[i>>2];n[A+4>>2]=f;A=(n[a>>2]|0)+164|0}A=0;e=n[(n[l>>2]|0)+192>>2]|0;A:while(1){a=(A|0)==0;f=A+16|0;A=e;while(1){if(!A)break A;i=n[A+16>>2]|0;e=n[i+164>>2]|0;if((r[i+156>>0]|0)!=2)continue A;if(a)n[(n[l>>2]|0)+192>>2]=e;else n[(n[f>>2]|0)+164>>2]=e;zN(i);zN(A);A=e}}n[(n[(n[(n[l>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function iM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=A+16|0;i=1;while(1){f=n[r>>2]|0;if((i|0)>(n[f+180>>2]|0))break;iM(n[(n[f+184>>2]|0)+(i<<2)>>2]|0,e);i=i+1|0}lM(A,e);return}function rM(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0.0,c=0.0,b=0,o=0.0,u=0.0,B=0.0,k=0.0,w=0,d=0,h=0;d=v;v=v+80|0;r=d+64|0;i=d+48|0;f=d+16|0;b=d;w=d+32|0;A=A+16|0;e=n[(n[A>>2]|0)+8>>2]|0;h=e+48|0;n[f>>2]=n[h>>2];n[f+4>>2]=n[h+4>>2];n[f+8>>2]=n[h+8>>2];n[f+12>>2]=n[h+12>>2];if((!(+s[f>>3]<.001)?(a=f+8|0,!(+s[a>>3]<.001)):0)?(l=e+32|0,n[b>>2]=n[l>>2],n[b+4>>2]=n[l+4>>2],n[b+8>>2]=n[l+8>>2],n[b+12>>2]=n[l+12>>2],n[i>>2]=n[f>>2],n[i+4>>2]=n[f+4>>2],n[i+8>>2]=n[f+8>>2],n[i+12>>2]=n[f+12>>2],n[r>>2]=n[l>>2],n[r+4>>2]=n[l+4>>2],n[r+8>>2]=n[l+8>>2],n[r+12>>2]=n[l+12>>2],aM(w,i,r),n[f>>2]=n[w>>2],n[f+4>>2]=n[w+4>>2],n[f+8>>2]=n[w+8>>2],n[f+12>>2]=n[w+12>>2],n[i>>2]=n[w>>2],n[i+4>>2]=n[w+4>>2],n[i+8>>2]=n[w+8>>2],n[i+12>>2]=n[w+12>>2],n[r>>2]=n[b>>2],n[r+4>>2]=n[b+4>>2],n[r+8>>2]=n[b+8>>2],n[r+12>>2]=n[b+12>>2],aM(f,i,r),l=n[A>>2]|0,t=+s[l+32>>3],c=+s[l+40>>3],o=+s[f>>3],u=o/t,B=+s[a>>3],k=B/c,!(u>=1.0&k>=1.0)):0){u=u<k?u:k;u=u>.5?u:.5;k=+D(+(u*c/B))*B/c;B=+D(+(u*t/o))*o/t*t;A=n[l+8>>2]|0;s[A+64>>3]=B;s[A+72>>3]=k*c;A=1}else A=0;v=d;return A|0}function fM(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0;r=A+16|0;A=1;while(1){f=n[r>>2]|0;if((A|0)>(n[f+180>>2]|0))break;fM(n[(n[f+184>>2]|0)+(A<<2)>>2]|0,e,i);A=A+1|0}r=f+16|0;s[r>>3]=+s[r>>3]*e;r=f+24|0;s[r>>3]=+s[r>>3]*i;r=f+32|0;s[r>>3]=+s[r>>3]*e;f=f+40|0;s[f>>3]=+s[f>>3]*i;return}function nM(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,a=0,l=0.0,t=0,c=0,b=0,o=0;b=v;v=v+32|0;t=b+24|0;a=b+16|0;f=b;o=n[A+16>>2]|0;r=+s[o+32>>3]-+s[o+16>>3];i=+s[o+40>>3]-+s[o+24>>3];l=r/i;if(0){o=n[13918]|0;s[f>>3]=l;s[f+8>>3]=r*.0001*i;lR(o,79592,f)|0;n[a>>2]=NQ(A)|0;lR(o,79617,a)|0}i=+s[e>>3];do{if(!(l>i*1.1)){A=e+24|0;if(!(l<=i*.8)){n[A>>2]=0;c=9;break}n[A>>2]=-1;if(0){VR(79627,34,1,n[13918]|0)|0;c=9}}else{n[e+24>>2]=~~(i*+((n[e+20>>2]|0)-(n[e+16>>2]|0)|0)/l);c=9}}while(0);if((c|0)==9?0:0){o=n[13918]|0;n[t>>2]=n[e+24>>2];lR(o,79662,t)|0}v=b;return}function aM(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+s[e+8>>3]-+s[i+8>>3];s[A>>3]=+s[e>>3]-+s[i>>3];s[A+8>>3]=r;return}function lM(A,e){A=A|0;e=e|0;var i=0,a=0.0,l=0.0,t=0,c=0,b=0,o=0.0,u=0,v=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0.0;d=(Jn(A)|0)==(A|0);Z=A+16|0;G=n[Z>>2]|0;A:do{if(d){i=f[G+236>>1]|0;A=f[G+238>>1]|0;k=A<<16>>16;w=G+196|0;d=G+196|0;B=i<<16>>16;l=-2147483647.0;a=2147483647.0;while(1){if((B|0)>(k|0))break;t=n[w>>2]|0;v=n[t+(B<<6)>>2]|0;if((v|0)!=0?(h=n[t+(B<<6)+4>>2]|0,g=n[h>>2]|0,(g|0)!=0):0){b=1;t=g;while(1){t=n[t+16>>2]|0;c=r[t+156>>0]|0;if(!((b|0)<(v|0)&c<<24>>24!=0))break;t=n[h+(b<<2)>>2]|0;b=b+1|0}if(!(c<<24>>24)){o=+s[t+16>>3]-+s[t+88>>3];u=a<o;b=n[(n[d>>2]|0)+(B<<6)+4>>2]|0;c=v+-2|0;t=v+-1|0;while(1){t=n[(n[b+(t<<2)>>2]|0)+16>>2]|0;if(!(r[t+156>>0]|0))break;else{t=c;c=c+-1|0}}m=+s[t+96>>3]+ +s[t+16>>3];l=l>m?l:m;a=u?a:o}}B=B+1|0}c=n[G+180>>2]|0;b=G+184|0;t=1;while(1){if((t|0)>(c|0))break A;g=n[(n[(n[b>>2]|0)+(t<<2)>>2]|0)+16>>2]|0;m=+s[g+16>>3]+-8.0;o=+s[g+32>>3]+8.0;t=t+1|0;l=l>o?l:o;a=a<m?a:m}}else{l=+(n[(n[(n[G+260>>2]|0)+16>>2]|0)+232>>2]|0);a=+(n[(n[(n[G+256>>2]|0)+16>>2]|0)+232>>2]|0);i=f[G+236>>1]|0;A=f[G+238>>1]|0}}while(0);e=n[(n[e+16>>2]|0)+196>>2]|0;o=+s[(n[(n[n[e+(A<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+s[G+120>>3];m=+s[G+128>>3]+ +s[(n[(n[n[e+(i<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];s[G+16>>3]=a;s[G+24>>3]=o;e=n[Z>>2]|0;s[e+32>>3]=l;s[e+40>>3]=m;return}function tM(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var a=0,l=0,t=0,c=0;t=Jg(96)|0;c=t+48|0;n[c>>2]=n[c>>2]|3;n[t>>2]=n[t>>2]&-4|2;a=Jg(176)|0;l=t+16|0;n[l>>2]=a;n[((n[t>>2]&3|0)==3?t:c)+40>>2]=A;n[((n[t>>2]&3|0)==2?t:t+-48|0)+40>>2]=e;if(i>65535.0){cM(i);i=65535.0;a=n[l>>2]|0}f[a+170>>1]=~~(i+(i>=0.0?.5:-.5));n[a+156>>2]=r;Ja(t)|0;return t|0}function cM(A){A=+A;var e=0,i=0;e=v;v=v+16|0;i=e;s[i>>3]=A;n[i+8>>2]=65535;Gy(1,79692,i)|0;v=e;return}function sM(A){A=A|0;var e=0,i=0,r=0,f=0;A=(n[A+16>>2]|0)+192|0;while(1){A=n[A>>2]|0;if(!A)break;f=A+16|0;r=n[f>>2]|0;A=r+172|0;i=n[A+4>>2]|0;r=r+248|0;n[r>>2]=n[A>>2];n[r+4>>2]=i;r=n[f>>2]|0;i=r+180|0;A=n[i+4>>2]|0;r=r+256|0;n[r>>2]=n[i>>2];n[r+4>>2]=A;r=n[f>>2]|0;A=n[r+180>>2]|0;i=0;while(1)if(!(n[A+(i<<2)>>2]|0))break;else i=i+1|0;e=n[r+172>>2]|0;A=0;while(1)if(!(n[e+(A<<2)>>2]|0))break;else A=A+1|0;n[r+176>>2]=0;A=Jg((A+i<<2)+16|0)|0;r=n[f>>2]|0;n[r+172>>2]=A;n[r+184>>2]=0;r=Jg(16)|0;A=n[f>>2]|0;n[A+180>>2]=r;A=A+164|0}return}function bM(A){A=A|0;var e=0,i=0,a=0.0,t=0,c=0,b=0,o=0,u=0,B=0.0,k=0,w=0,d=0,h=0.0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0.0,Q=0.0;C=v;v=v+16|0;G=C;m=A+16|0;g=n[m>>2]|0;I=n[g+196>>2]|0;A=(r[(n[(n[A+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;Z=n[g+248>>2]|0;n[G>>2]=Z;n[G+4>>2]=A?5:Z;Z=f[g+236>>1]|0;A=g;while(1){if((Z|0)>(f[A+238>>1]|0))break;w=I+(Z<<6)+4|0;n[(n[(n[n[w>>2]>>2]|0)+16>>2]|0)+232>>2]=0;d=I+(Z<<6)|0;h=+(n[G+((Z&1)<<2)>>2]|0);B=0.0;c=0;A:while(1){if((c|0)>=(n[d>>2]|0))break;e=n[w>>2]|0;b=n[e+(c<<2)>>2]|0;g=b+16|0;A=n[g>>2]|0;a=+s[A+96>>3];s[A+240>>3]=a;if((n[A+208>>2]|0)>0){t=0;e=0;while(1){i=n[(n[A+204>>2]|0)+(t<<2)>>2]|0;if(!i)break;k=n[i>>2]&3;if((n[((k|0)==3?i:i+48|0)+40>>2]|0)==(n[((k|0)==2?i:i+-48|0)+40>>2]|0)){e=(AI(i)|0)+e|0;A=n[g>>2]|0}t=t+1|0}k=A+96|0;a=+s[k>>3]+ +(e|0);s[k>>3]=a;e=n[w>>2]|0}k=c+1|0;e=n[e+(k<<2)>>2]|0;if(e){u=e+16|0;a=a+h+ +s[(n[u>>2]|0)+88>>3];tM(b,e,a,0)|0;A=~~(a+B);n[(n[u>>2]|0)+232>>2]=A;B=+(A|0);A=n[g>>2]|0}e=n[A+112>>2]|0;if(e){t=n[A+256>>2]|0;c=n[t>>2]|0;t=n[t+4>>2]|0;A=(n[(n[(n[((n[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(n[(n[(n[((n[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);i=A?t:c;t=A?c:t;c=e+16|0;A=n[c>>2]|0;a=+((X(n[(n[m>>2]|0)+248>>2]|0,l[A+170>>1]|0)|0)/2|0|0);u=n[i>>2]&3;e=n[((u|0)==2?i:i+-48|0)+40>>2]|0;i=n[((u|0)==3?i:i+48|0)+40>>2]|0;if(!(GM(i,e)|0))tM(e,i,+(~~(+s[(n[e+16>>2]|0)+96>>3]+a+ +s[(n[i+16>>2]|0)+88>>3])|0),n[A+156>>2]|0)|0;A=n[t>>2]&3;e=n[((A|0)==3?t:t+48|0)+40>>2]|0;A=n[((A|0)==2?t:t+-48|0)+40>>2]|0;if(!(GM(A,e)|0)){tM(e,A,+(~~(+s[(n[e+16>>2]|0)+96>>3]+a+ +s[(n[A+16>>2]|0)+88>>3])|0),n[(n[c>>2]|0)+156>>2]|0)|0;u=0}else u=0}else u=0;while(1){A=n[g>>2]|0;if((u|0)>=(n[A+192>>2]|0)){c=k;continue A}b=n[(n[A+188>>2]|0)+(u<<2)>>2]|0;c=n[b>>2]&3;i=n[((c|0)==3?b:b+48|0)+40>>2]|0;c=n[((c|0)==2?b:b+-48|0)+40>>2]|0;t=(n[(n[i+16>>2]|0)+236>>2]|0)<(n[(n[c+16>>2]|0)+236>>2]|0);e=t?i:c;i=t?c:i;a=+s[(n[i+16>>2]|0)+88>>3]+ +s[(n[e+16>>2]|0)+96>>3];c=b+16|0;t=~~(a+ +(X(n[(n[m>>2]|0)+248>>2]|0,l[(n[c>>2]|0)+170>>1]|0)|0));o=Ya(e,i)|0;if(!o){A=n[c>>2]|0;if(!(n[A+96>>2]|0))tM(e,i,+(t|0),n[A+156>>2]|0)|0}else{M=+(t|0);A=n[c>>2]|0;Q=+s[A+136>>3];a=a+ +(n[(n[m>>2]|0)+248>>2]|0)+ +(~~(Q+(Q>=0.0?.5:-.5))|0);e=~~(a<M?M:a);if((e|0)>65535){cM(+(e|0));e=65535;A=n[c>>2]|0}c=n[o+16>>2]|0;t=c+170|0;i=l[t>>1]|0;f[t>>1]=(e|0)<(i|0)?i:e;c=c+156|0;n[c>>2]=n[(n[((n[c>>2]|0)>(n[A+156>>2]|0)?o:b)+16>>2]|0)+156>>2]}u=u+1|0}}Z=Z+1|0;A=n[m>>2]|0}v=C;return}function oM(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0;e=(n[A+16>>2]|0)+192|0;while(1){e=n[e>>2]|0;if(!e)break;a=e+16|0;e=n[a>>2]|0;i=n[e+256>>2]|0;A:do{if(i){f=0;while(1){i=n[i+(f<<2)>>2]|0;if(!i)break A;u=xa(A)|0;e=u+16|0;r[(n[e>>2]|0)+156>>0]=2;b=i+16|0;c=n[b>>2]|0;l=~~(+s[c+56>>3]-+s[c+16>>3]);o=(l|0)>0;t=o?0:0-l|0;l=o?l:0;o=i+48|0;tM(u,n[((n[i>>2]&3|0)==3?i:o)+40>>2]|0,+(l+1|0),n[c+156>>2]|0)|0;c=i+-48|0;tM(u,n[((n[i>>2]&3|0)==2?i:c)+40>>2]|0,+(t+1|0),n[(n[b>>2]|0)+156>>2]|0)|0;b=n[i>>2]&3;l=(n[(n[(n[((b|0)==3?i:o)+40>>2]|0)+16>>2]|0)+232>>2]|0)-l|0;i=(n[(n[(n[((b|0)==2?i:c)+40>>2]|0)+16>>2]|0)+232>>2]|0)-t|0;n[(n[e>>2]|0)+232>>2]=((l|0)<(i|0)?l:i)+-1;e=n[a>>2]|0;f=f+1|0;i=n[e+256>>2]|0}}}while(0);e=e+164|0}return}function uM(A){A=A|0;if((n[(n[A+16>>2]|0)+180>>2]|0)>0){wM(A);dM(A);hM(A);gM(A)}return}function vM(A){A=A|0;var e=0.0,i=0.0,r=0,f=0;r=A+16|0;f=n[(n[r>>2]|0)+8>>2]|0;if((n[f+84>>2]|0)==3?(e=+s[f+64>>3],i=+s[f+72>>3],!(i*e<=1.0)):0){BM(A);f=n[r>>2]|0;i=(n[f+116>>2]&1|0)==0?e:i;tM(n[f+256>>2]|0,n[f+260>>2]|0,i<65535.0?i:65535.0,1e3)|0}return}function BM(A){A=A|0;var e=0,i=0,r=0.0,a=0,l=0,t=0,c=0,b=0,o=0;o=v;v=v+16|0;b=o;i=LI(A,n[42187]|0,8,0)|0;kM(A);l=A+16|0;a=n[l>>2]|0;t=n[a+256>>2]|0;c=n[a+260>>2]|0;r=+(i|0);i=f[a+236>>1]|0;while(1){if((i|0)>(f[a+238>>1]|0))break;e=n[a+196>>2]|0;do{if(n[e+(i<<6)>>2]|0){e=n[n[e+(i<<6)+4>>2]>>2]|0;if(!e){n[b>>2]=qY(A)|0;n[b+4>>2]=i;Gy(1,79776,b)|0;break}else{tM(t,e,+s[(n[e+16>>2]|0)+88>>3]+r+ +s[a+96>>3],0)|0;a=n[l>>2]|0;e=n[a+196>>2]|0;e=n[(n[e+(i<<6)+4>>2]|0)+((n[e+(i<<6)>>2]|0)+-1<<2)>>2]|0;tM(e,c,+s[(n[e+16>>2]|0)+96>>3]+r+ +s[a+64>>3],0)|0;break}}}while(0);i=i+1|0;a=n[l>>2]|0}v=o;return}function kM(A){A=A|0;var e=0,i=0,f=0;e=A+16|0;if(!(n[(n[e>>2]|0)+256>>2]|0)){f=xa(Jn(A)|0)|0;r[(n[f+16>>2]|0)+156>>0]=2;i=xa(Jn(A)|0)|0;r[(n[i+16>>2]|0)+156>>0]=2;if((n[(n[e>>2]|0)+12>>2]|0?(Jn(A)|0)!=(A|0):0)?(n[(n[(FV(A)|0)+16>>2]|0)+116>>2]&1|0)==0:0){A=n[e>>2]|0;tM(f,i,+(~~+s[A+48+((+s[A+48>>3]>+s[A+80>>3]?0:2)<<4)>>3]|0),0)|0}e=n[e>>2]|0;n[e+256>>2]=f;n[e+260>>2]=i}return}function wM(A){A=A|0;var e=0,i=0;do{if((Jn(A)|0)!=(A|0)){BM(A);A=A+16|0;e=n[A>>2]|0;e=Ya(n[e+256>>2]|0,n[e+260>>2]|0)|0;if(!e){i=n[A>>2]|0;tM(n[i+256>>2]|0,n[i+260>>2]|0,1.0,128)|0;break}else{i=(n[e+16>>2]|0)+156|0;n[i>>2]=(n[i>>2]|0)+128;break}}else A=A+16|0}while(0);e=1;while(1){i=n[A>>2]|0;if((e|0)>(n[i+180>>2]|0))break;wM(n[(n[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}return}function dM(A){A=A|0;var e=0,i=0,a=0,l=0,t=0,c=0,b=0,o=0.0,u=0,v=0;c=LI(A,n[42187]|0,8,0)|0;v=A+16|0;e=n[v>>2]|0;o=+(c|0);c=f[e+236>>1]|0;while(1){if((c|0)>(f[e+238>>1]|0)){i=1;break}e=n[e+196>>2]|0;A:do{if(n[e+(c<<6)>>2]|0?(b=n[n[e+(c<<6)+4>>2]>>2]|0,b|0):0){l=b+16|0;i=n[(n[l>>2]|0)+236>>2]|0;while(1){if((i|0)<=0)break;i=i+-1|0;t=n[(n[(n[(n[(Jn(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(i<<2)>>2]|0;a=t+16|0;e=n[a>>2]|0;if(!(r[e+156>>0]|0)){u=10;break}if(ZM(A,t)|0){u=9;break}}if((u|0)==9){e=n[a>>2]|0;u=10}if((u|0)==10){u=0;tM(t,n[(n[v>>2]|0)+256>>2]|0,+s[e+96>>3]+o,0)|0}i=(n[(n[(n[v>>2]|0)+196>>2]|0)+(c<<6)>>2]|0)+(n[(n[l>>2]|0)+236>>2]|0)|0;while(1){if((i|0)>=(n[(n[(n[(Jn(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)>>2]|0))break A;l=n[(n[(n[(n[(Jn(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(i<<2)>>2]|0;a=l+16|0;e=n[a>>2]|0;if(!(r[e+156>>0]|0))break;if(!(ZM(A,l)|0))i=i+1|0;else{u=15;break}}if((u|0)==15){u=0;e=n[a>>2]|0}tM(n[(n[v>>2]|0)+260>>2]|0,l,+s[e+88>>3]+o,0)|0}}while(0);c=c+1|0;e=n[v>>2]|0}while(1){if((i|0)>(n[e+180>>2]|0))break;dM(n[(n[e+184>>2]|0)+(i<<2)>>2]|0);i=i+1|0;e=n[v>>2]|0}return}function hM(A){A=A|0;var e=0,i=0.0,r=0,f=0,a=0;r=LI(A,n[42187]|0,8,0)|0;kM(A);e=A+16|0;i=+(r|0);A=1;while(1){r=n[e>>2]|0;if((A|0)>(n[r+180>>2]|0))break;r=n[(n[r+184>>2]|0)+(A<<2)>>2]|0;kM(r);f=n[e>>2]|0;a=r+16|0;tM(n[f+256>>2]|0,n[(n[a>>2]|0)+256>>2]|0,+s[f+96>>3]+i,0)|0;f=n[e>>2]|0;tM(n[(n[a>>2]|0)+260>>2]|0,n[f+260>>2]|0,+s[f+64>>3]+i,0)|0;hM(r);A=A+1|0}return}function gM(A){A=A|0;var e=0,i=0,r=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0.0,u=0,v=0;e=LI(A,n[42187]|0,8,0)|0;u=A+16|0;A=1;while(1){r=n[u>>2]|0;i=n[r+180>>2]|0;if((A|0)>(i|0))break;kM(n[(n[r+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}o=+(e|0);b=1;A=i;e=r;while(1){if((b|0)>(A|0))break;s=b+1|0;c=s;while(1){i=n[e+184>>2]|0;r=n[i+(b<<2)>>2]|0;if((c|0)>(A|0))break;i=n[i+(c<<2)>>2]|0;a=(f[(n[r+16>>2]|0)+236>>1]|0)>(f[(n[i+16>>2]|0)+236>>1]|0);t=a?i:r;i=a?r:i;r=n[t+16>>2]|0;a=n[i+16>>2]|0;v=f[a+236>>1]|0;l=v<<16>>16;if((f[r+238>>1]|0)>=v<<16>>16){A=(n[(n[(n[n[(n[r+196>>2]|0)+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(n[(n[(n[n[(n[a+196>>2]|0)+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);tM(n[(n[(A?t:i)+16>>2]|0)+260>>2]|0,n[(n[(A?i:t)+16>>2]|0)+256>>2]|0,o,0)|0;A=n[u>>2]|0;e=A;A=n[A+180>>2]|0}c=c+1|0}gM(r);e=n[u>>2]|0;b=s;A=n[e+180>>2]|0}return}function ZM(A,e){A=A|0;e=e|0;var i=0;e=n[e+16>>2]|0;if((r[e+156>>0]|0)==1){e=n[n[e+256>>2]>>2]|0;while(1){i=n[(n[e+16>>2]|0)+116>>2]|0;if(!i)break;else e=i}if(!(OV(A,n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0))e=(OV(A,n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0)==0&1;else e=0}else e=0;return e|0}function GM(A,e){A=A|0;e=e|0;return mM(A,e)|0}function mM(A,e){A=A|0;e=e|0;var i=0,r=0;A:do{if((A|0)==(e|0))A=1;else{i=n[(n[A+16>>2]|0)+180>>2]|0;A=0;while(1){r=n[i+(A<<2)>>2]|0;if(!r){A=0;break A}if(!(mM(n[((n[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,e)|0))A=A+1|0;else{A=1;break}}}}while(0);return A|0}function IM(A){A=A|0;var e=0,i=0,a=0,l=0,t=0,c=0,s=0;s=A+16|0;A=n[s>>2]|0;c=f[A+236>>1]|0;while(1){if((c|0)>(f[A+238>>1]|0))break;l=n[A+196>>2]|0;a=n[l+(c<<6)>>2]|0;l=l+(c<<6)+4|0;t=0;i=0;while(1){if((i|0)>=(a|0))break;e=n[(n[(n[l>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;n[e+236>>2]=t;if((r[e+159>>0]|0)==6)e=n[e+216>>2]|0;else e=1;t=e+t|0;i=i+1|0}if((t|0)>(a|0)){A=n[l>>2]|0;if(!A)A=Ng((t<<2)+4|0)|0;else A=pg(A,(t<<2)+4|0)|0;i=n[(n[s>>2]|0)+196>>2]|0;n[i+(c<<6)+4>>2]=A;e=n[i+(c<<6)>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;l=n[i+(c<<6)+4>>2]|0;e=n[l+(A<<2)>>2]|0;n[l+(n[(n[e+16>>2]|0)+236>>2]<<2)>>2]=e;e=A;i=n[(n[s>>2]|0)+196>>2]|0}n[i+(c<<6)>>2]=t;n[(n[i+(c<<6)+4>>2]|0)+(t<<2)>>2]=0;A=n[s>>2]|0}c=c+1|0}return}function CM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0;u=v;v=v+48|0;o=u+32|0;b=u+8|0;i=u+24|0;c=u+16|0;t=u;r=e+16|0;f=n[r>>2]|0;A:do{if((n[f+216>>2]|0)>=2){n[b>>2]=~~(+s[f+16>>3]-+s[f+88>>3]);n[b+4>>2]=~~+s[f+24>>3];n[o>>2]=n[b>>2];n[o+4>>2]=n[b+4>>2];MM(i,e,o);a=i;l=n[a+4>>2]|0;i=b;n[i>>2]=n[a>>2];n[i+4>>2]=l;i=n[r>>2]|0;if((n[i+184>>2]|0)>0){t=n[n[i+180>>2]>>2]|0;i=(n[i+236>>2]|0)+1|0;t=vY(A,n[((n[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0)|0;while(1){if(!t)break A;l=(n[t>>2]&3|0)==2?t:t+-48|0;r=l+48|0;f=n[((n[l>>2]&3|0)==3?l:r)+40>>2]|0;if((f|0)!=(e|0)?(SI(f)|0)==(e|0):0){f=n[((n[l>>2]&3|0)==3?l:r)+40>>2]|0;n[o>>2]=n[b>>2];n[o+4>>2]=n[b+4>>2];QM(c,A,f,o,i);f=c;r=n[f+4>>2]|0;a=b;n[a>>2]=n[f>>2];n[a+4>>2]=r;Ka(l);a=l+-48|0;r=n[(n[((n[l>>2]&3|0)==2?l:a)+40>>2]|0)+16>>2]|0;f=n[r+172>>2]|0;if(!f)r=Ng((n[r+176>>2]<<2)+8|0)|0;else r=pg(f,(n[r+176>>2]<<2)+8|0)|0;n[(n[(n[((n[l>>2]&3|0)==2?l:a)+40>>2]|0)+16>>2]|0)+172>>2]=r;B=n[(n[((n[l>>2]&3|0)==2?l:a)+40>>2]|0)+16>>2]|0;r=n[B+172>>2]|0;B=B+176|0;f=n[B>>2]|0;n[B>>2]=f+1;n[r+(f<<2)>>2]=l;l=n[(n[((n[l>>2]&3|0)==2?l:a)+40>>2]|0)+16>>2]|0;n[(n[l+172>>2]|0)+(n[l+176>>2]<<2)>>2]=0;i=i+1|0}t=BY(A,t)|0}}else{l=n[n[i+172>>2]>>2]|0;i=(n[i+236>>2]|0)+1|0;l=bY(A,n[((n[l>>2]&3|0)==3?l:l+48|0)+40>>2]|0)|0;while(1){if(!l)break A;r=l+-48|0;f=n[((n[l>>2]&3|0)==2?l:r)+40>>2]|0;if((f|0)!=(e|0)?(SI(f)|0)==(e|0):0){f=n[((n[l>>2]&3|0)==2?l:r)+40>>2]|0;n[o>>2]=n[b>>2];n[o+4>>2]=n[b+4>>2];QM(t,A,f,o,i);f=t;r=n[f+4>>2]|0;a=b;n[a>>2]=n[f>>2];n[a+4>>2]=r;Ka(l);a=l+48|0;r=n[(n[((n[l>>2]&3|0)==3?l:a)+40>>2]|0)+16>>2]|0;f=n[r+180>>2]|0;if(!f)r=Ng((n[r+184>>2]<<2)+8|0)|0;else r=pg(f,(n[r+184>>2]<<2)+8|0)|0;n[(n[(n[((n[l>>2]&3|0)==3?l:a)+40>>2]|0)+16>>2]|0)+180>>2]=r;f=n[(n[((n[l>>2]&3|0)==3?l:a)+40>>2]|0)+16>>2]|0;c=n[f+180>>2]|0;f=f+184|0;B=n[f>>2]|0;n[f>>2]=B+1;n[c+(B<<2)>>2]=l;B=n[(n[((n[l>>2]&3|0)==3?l:a)+40>>2]|0)+16>>2]|0;n[(n[B+180>>2]|0)+(n[B+184>>2]<<2)>>2]=0;i=i+1|0}l=uY(A,l)|0}}}}while(0);v=u;return}function MM(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0;st(e,n[(n[(HV(e)|0)+16>>2]|0)+116>>2]&1);r=n[e+16>>2]|0;s[r+24>>3]=+(n[i+4>>2]|0);f=+s[r+88>>3]+ +(n[i>>2]|0);s[r+16>>3]=f;f=f+ +s[r+96>>3];n[i>>2]=~~(f+ +(n[(n[(HV(e)|0)+16>>2]|0)+248>>2]|0));r=i;e=n[r+4>>2]|0;i=A;n[i>>2]=n[r>>2];n[i+4>>2]=e;return}function QM(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0;t=v;v=v+16|0;l=t;e=Jn(e)|0;a=SI(i)|0;if((a|0)!=(i|0))Da(a,i);c=n[i+16>>2]|0;n[c+236>>2]=f;a=n[(n[a+16>>2]|0)+232>>2]|0;n[c+232>>2]=a;n[(n[(n[(n[e+16>>2]|0)+196>>2]|0)+(a<<6)+4>>2]|0)+(f<<2)>>2]=i;n[l>>2]=n[r>>2];n[l+4>>2]=n[r+4>>2];MM(A,i,l);v=t;return}function EM(A){A=A|0;var e=0.0,i=0.0,r=0,a=0,l=0,t=0.0,c=0,b=0,o=0,u=0.0;o=n[(n[(Jn(A)|0)+16>>2]|0)+196>>2]|0;if((Jn(A)|0)==(A|0))t=8.0;else t=+(LI(A,n[42187]|0,8,0)|0);b=A+16|0;a=n[b>>2]|0;r=0;c=1;i=+s[a+120>>3];e=+s[a+128>>3];while(1){if((c|0)>(n[a+180>>2]|0))break;l=n[(n[a+184>>2]|0)+(c<<2)>>2]|0;r=EM(l)|0|r;l=n[l+16>>2]|0;a=n[b>>2]|0;if((f[l+238>>1]|0)==(f[a+238>>1]|0)){u=+s[l+120>>3]+t;i=i>u?i:u}if((f[l+236>>1]|0)==(f[a+236>>1]|0)){u=+s[l+128>>3]+t;e=e>u?e:u}c=c+1|0}if((Jn(A)|0)!=(A|0)?(n[(n[b>>2]|0)+12>>2]|0)!=0:0)if(!(n[(n[(FV(A)|0)+16>>2]|0)+116>>2]&1)){c=n[b>>2]|0;r=1;i=+s[c+56>>3]+i;e=+s[c+88>>3]+e}else r=1;c=n[b>>2]|0;s[c+120>>3]=i;s[c+128>>3]=e;if((Jn(A)|0)!=(A|0)){b=n[b>>2]|0;A=o+(f[b+236>>1]<<6)+24|0;u=+s[A>>3];s[A>>3]=u>e?u:e;o=o+(f[b+238>>1]<<6)+16|0;u=+s[o>>3];s[o>>3]=u>i?u:i}return r|0}function yM(A,e){A=A|0;e=e|0;var i=0,r=0.0,a=0.0,l=0,t=0,c=0.0,b=0,o=0,u=0,v=0,B=0.0,k=0.0;v=n[(n[(Jn(A)|0)+16>>2]|0)+196>>2]|0;if((Jn(A)|0)==(A|0))i=0;else i=LI(A,n[42187]|0,8,0)|0;b=A+16|0;l=n[b>>2]|0;o=i+e|0;c=+(i|0);t=1;r=+s[l+128>>3];a=+s[l+120>>3];i=l;while(1){if((t|0)>(n[i+180>>2]|0))break;l=n[(n[i+184>>2]|0)+(t<<2)>>2]|0;yM(l,o);l=n[l+16>>2]|0;i=n[b>>2]|0;if((f[l+238>>1]|0)==(f[i+238>>1]|0)){k=+s[l+120>>3]+c;a=a>k?a:k}if((f[l+236>>1]|0)==(f[i+236>>1]|0)){k=+s[l+128>>3]+c;r=r>k?r:k}t=t+1|0}s[i+120>>3]=a;s[i+128>>3]=r;if(((Jn(A)|0)!=(A|0)?(u=n[b>>2]|0,n[u+12>>2]|0):0)?(B=-a-r+ +s[u+48+((+s[u+104>>3]>+s[u+72>>3]?3:1)<<4)+8>>3]-+s[(n[(n[n[v+(f[u+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +s[(n[(n[n[v+(f[u+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3],B>0.0):0)YM(A,~~B,e);if((Jn(A)|0)!=(A|0)){u=n[b>>2]|0;o=v+(f[u+236>>1]<<6)+24|0;k=+s[o>>3];B=+s[u+128>>3];s[o>>3]=k>B?k:B;v=v+(f[u+238>>1]<<6)+16|0;B=+s[v>>3];k=+s[u+120>>3];s[v>>3]=B>k?B:k}return}function YM(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,a=0.0,l=0.0,t=0.0,c=0,b=0,o=0,u=0.0,v=0.0,B=0,k=0,w=0;c=n[(Jn(A)|0)+16>>2]|0;k=n[c+196>>2]|0;B=n[A+16>>2]|0;A=f[B+238>>1]|0;r=f[B+236>>1]|0;b=(e+1|0)/2|0;o=B+120|0;u=+s[o>>3];v=+(b|0);l=+(i|0);i=~~(v+l+u-+s[k+(A<<6)+16>>3]);if((i|0)>0){a=+(i|0);while(1){if((A|0)<(r|0))break;if((n[k+(A<<6)>>2]|0)>0){w=(n[(n[n[k+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;s[w>>3]=+s[w>>3]+a}A=A+-1|0}t=+s[B+128>>3];A=i;a=t+ +(e-b|0)}else{t=+s[B+128>>3];A=e-b|0;a=t}A=~~(+(A|0)+l+a-+s[k+(r<<6)+24>>3]);A:do{if((A|0)>0){i=f[c+236>>1]|0;a=+(A|0);while(1){A=r+-1|0;if((r|0)<=(i|0))break A;if((n[k+(A<<6)>>2]|0)<=0){r=A;continue}r=(n[(n[n[k+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;s[r>>3]=+s[r>>3]+a;r=A}}}while(0);s[B+128>>3]=t+ +(e-b|0);s[o>>3]=u+v;return}function VM(A,e){A=A|0;e=e|0;var i=0,f=0;i=n[A+16>>2]|0;f=r[i+84>>0]|0;A=n[e+16>>2]|0;do{if(f<<24>>24==(r[A+84>>0]|0)){if(+s[i+56>>3]==+s[A+56>>3]){if(!(f<<24>>24==0?1:+s[i+64>>3]==+s[A+64>>3])){A=0;break}}else if(f<<24>>24){A=0;break}if(+s[i+16>>3]==+s[A+16>>3]?+s[i+24>>3]==+s[A+24>>3]:0){A=1;break}A=(r[i+44>>0]|0)==0&1}else A=0}while(0);return A|0}function WM(A){A=A|0;var e=0,i=0,r=0,a=0,l=0,t=0;t=A+16|0;e=n[t>>2]|0;f[e+236>>1]=32767;f[e+238>>1]=-1;e=0;l=CV(A)|0;while(1){i=n[t>>2]|0;if(!l)break;r=i+238|0;a=n[(n[l+16>>2]|0)+232>>2]|0;if((a|0)>(f[r>>1]|0))f[r>>1]=a;i=i+236|0;if((a|0)<(f[i>>1]|0))f[i>>1]=a;if(!e)e=l;else e=(a|0)<(n[(n[e+16>>2]|0)+232>>2]|0)?l:e;l=MV(A,l)|0}n[i+264>>2]=e;return}function JM(A){A=A|0;var e=0,i=0,r=0,f=0,a=0.0;e=fY(A,79821)|0;if(!e)e=2147483647;else{a=+AP(e);e=~~(a*+(zY(A)|0))}r=A+16|0;i=0;while(1){f=n[r>>2]|0;if((i|0)>=(n[f+220>>2]|0))break;n[f+192>>2]=n[(n[f+216>>2]|0)+(i<<2)>>2];dZ(A,(n[f+180>>2]|0)==0&1,e)|0;i=i+1|0}return}function NM(A,e){A=A|0;e=e|0;var i=0,r=0,a=0;r=v;v=v+16|0;i=r;if(!(fY(A,79830)|0))pM(A,e);else{a=(n[A+16>>2]|0)+136|0;f[a>>1]=f[a>>1]|16;zM(A,e)}if(0){a=n[13918]|0;A=n[A+16>>2]|0;e=f[A+236>>1]|0;n[i>>2]=f[A+238>>1];n[i+4>>2]=e;lR(a,79838,i)|0}v=r;return}function zM(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0.0;t=v;v=v+16|0;l=t;n[41933]=0;r[l>>0]=r[17644]|0;r[l+1>>0]=r[17645]|0;r[l+2>>0]=r[17646]|0;r[l+3>>0]=r[17647]|0;l=YY(80048,l,0)|0;lW(l,80077,280,1)|0;jV(l,17332,17272);RM(A);i=fY(A,79821)|0;if(!i)f=2147483647;else{c=+AP(i);f=~~(c*+(zY(A)|0))}$M(A,0);AQ(A,l);eQ(A,l);iQ(A,l,0,0);rQ(l);a=fQ(l)|0;nQ(l);if(e|0){jQ(l);zQ(l)}i=fY(A,87564)|0;if(!i)i=-1;else i=$R(i)|0;Rg(l,1,f,i)|0;aQ(A,l,a);NY(l)|0;v=t;return}function pM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;a=v;v=v+32|0;f=a+16|0;r=a+8|0;i=a;RM(A);do{if(!e){PM(A,A);KQ(A);HM(i,A);l=i;i=n[l+4>>2]|0;e=r;n[e>>2]=n[l>>2];n[e+4>>2]=i;XE(A,0);e=0}else{jQ(A);zQ(A);PM(A,A);KQ(A);HM(i,A);t=i;i=n[t+4>>2]|0;l=r;n[l>>2]=n[t>>2];n[l+4>>2]=i;XE(A,0);l=n[A+16>>2]|0;if((n[l+220>>2]|0)<=1?(n[l+180>>2]|0)<=0:0)break;n[e+32>>2]=1;e=0}}while(0);WQ(A);n[f>>2]=n[r>>2];n[f+4>>2]=n[r+4>>2];if(FM(A,f)|0)XE(A,0);if(!e)JM(A);else pQ(A,e);LM(A,e);DM(A);v=a;return}function RM(A){A=A|0;var e=0,i=0,a=0;if(r[(n[(n[A+60>>2]|0)+16>>2]|0)+113>>0]&1){i=CV(A)|0;while(1){if(!i)break;e=bY(A,i)|0;while(1){if(!e)break;a=(n[e+16>>2]|0)+170|0;f[a>>1]=(l[a>>1]|0)<<1;e=uY(A,e)|0}i=MV(A,i)|0}a=(n[A+16>>2]|0)+252|0;n[a>>2]=((n[a>>2]|0)+1|0)/2|0}return}function PM(A,e){A=A|0;e=e|0;var i=0;e=iJ(e)|0;while(1){if(!e)break;i=KM(e)|0;do{if(i)if((i|0)==7&(n[42179]|0)==100){UM(A,e);break}else{_M(A,e,i);break}else PM(A,e)}while(0);e=rJ(e)|0}return}function HM(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0;t=e+16|0;i=n[t>>2]|0;e=n[i+228>>2]|0;i=n[i+224>>2]|0;f=(i|0)==0;if(!e)if(f){c=0;s=0}else a=4;else if(f)a=5;else a=4;if((a|0)==4){e=SI(i)|0;i=n[t>>2]|0;n[i+224>>2]=e;e=n[i+228>>2]|0;if(!e){l=0;e=i;a=12}else a=5}do{if((a|0)==5){e=SI(e)|0;i=n[t>>2]|0;n[i+228>>2]=e;if(e){i=e+16|0;e=n[i>>2]|0;f=(r[e+159>>0]|0)==5&1;while(1){e=n[n[e+180>>2]>>2]|0;if(!e){a=11;break}l=n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((l|0)!=(SI(l)|0)){a=9;break}VQ(e);e=n[i>>2]|0}if((a|0)==9)BA(79941,79881,346,79973);else if((a|0)==11){l=f;e=n[t>>2]|0;a=12;break}}else{l=0;e=i;a=12}}}while(0);A:do{if((a|0)==12){e=n[e+224>>2]|0;if(!e){c=0;s=l}else{i=e+16|0;e=n[i>>2]|0;f=(r[e+159>>0]|0)==3&1;while(1){e=n[n[e+172>>2]>>2]|0;if(!e){c=f;s=l;break A}t=n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((t|0)!=(SI(t)|0))break;VQ(e);e=n[i>>2]|0}BA(79986,79881,353,79973)}}}while(0);n[A>>2]=c;n[A+4>>2]=s;return}function FM(A,e){A=A|0;e=e|0;var i=0,r=0,a=0,l=0,t=0,c=0,s=0,b=0;c=A+16|0;t=n[c>>2]|0;if((n[t+228>>2]|0)==0?(n[t+224>>2]|0)==0:0)e=0;else i=3;A:do{if((i|0)==3){a=CV(A)|0;t=e+4|0;l=n[e>>2]&65535;e=0;while(1){if(!a)break A;if((a|0)==(SI(a)|0)){r=a+16|0;i=n[r>>2]|0;if((n[i+184>>2]|0)==0?(s=n[(n[c>>2]|0)+228>>2]|0,!((s|0)==0|(a|0)==(s|0))):0){e=Fa(a,s,0)|0;i=n[e+16>>2]|0;f[i+170>>1]=n[t>>2];n[i+156>>2]=0;i=n[r>>2]|0}if((n[i+176>>2]|0)==0?(b=n[(n[c>>2]|0)+224>>2]|0,!((b|0)==0|(a|0)==(b|0))):0){e=Fa(b,a,0)|0;r=n[e+16>>2]|0;f[r+170>>1]=l;n[r+156>>2]=0}}a=MV(A,a)|0}}}while(0);return(e|0)!=0|0}function LM(A,e){A=A|0;e=e|0;var i=0,a=0,l=0,t=0,c=0,s=0;a=CV(A)|0;s=A+16|0;i=n[s>>2]|0;A:do{if(a){f[i+236>>1]=32767;f[i+238>>1]=-1;c=(e|0)==0;while(1){if(!a)break;i=SI(a)|0;t=n[a+16>>2]|0;e=n[t+232>>2]|0;do{if((i|0)!=(a|0)){if(!c)if(!e)e=0;else break;e=e+(n[(n[i+16>>2]|0)+232>>2]|0)|0;n[t+232>>2]=e}}while(0);i=n[s>>2]|0;l=i+238|0;if((e|0)>(f[l>>1]|0))f[l>>1]=e;i=i+236|0;if((e|0)<(f[i>>1]|0))f[i>>1]=e;switch(r[t+159>>0]|0){case 6:case 0:break;default:KI(a)}a=MV(A,a)|0}if((Jn(A)|0)==(A|0)){if((n[42179]|0)==100)e=1;else{xM(A);break}while(1){i=n[s>>2]|0;if((e|0)>(n[i+180>>2]|0))break A;TM(n[(n[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}}}else{f[i+238>>1]=0;f[i+236>>1]=0}}while(0);return}function DM(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;c=A+16|0;i=0;while(1){e=n[c>>2]|0;if((i|0)>=(n[e+220>>2]|0))break;t=n[(n[e+216>>2]|0)+(i<<2)>>2]|0;n[e+192>>2]=t;e=t;while(1){if(!e)break;t=e+16|0;XM((n[t>>2]|0)+172|0);XM((n[t>>2]|0)+180|0);t=n[t>>2]|0;r[t+157>>0]=0;e=n[t+164>>2]|0}i=i+1|0}t=CV(A)|0;while(1){if(!t)break;l=bY(A,t)|0;while(1){if(!l)break;f=l+16|0;e=n[f>>2]|0;a=n[e+172>>2]|0;if((a|0)!=0?(s=a+16|0,(l|0)==(n[(n[s>>2]|0)+116>>2]|0)):0){e=CV(A)|0;while(1){if(!e)break;i=bY(A,e)|0;while(1){if(!i)break;if((l|0)!=(i|0)?(b=(n[i+16>>2]|0)+172|0,o=n[b>>2]|0,(o|0)!=0&(a|0)==(o|0)):0)n[b>>2]=0;i=uY(A,i)|0}e=MV(A,e)|0}zN(n[s>>2]|0);zN(a);e=n[f>>2]|0}n[e+172>>2]=0;l=uY(A,l)|0}t=MV(A,t)|0}zN(n[(n[c>>2]|0)+216>>2]|0);o=n[c>>2]|0;n[o+216>>2]=0;n[o+220>>2]=0;return}function XM(A){A=A|0;var e=0,i=0;i=A+4|0;e=n[i>>2]|0;while(1){if((e|0)<=-1)break;n[(n[A>>2]|0)+(e<<2)>>2]=0;e=e+-1|0}n[i>>2]=0;return}function TM(A){A=A|0;var e=0,i=0,r=0;e=A+16|0;i=n[e>>2]|0;r=n[(n[(n[i+264>>2]|0)+16>>2]|0)+232>>2]|0;A=i+236|0;f[A>>1]=r+(l[A>>1]|0);A=i+238|0;f[A>>1]=r+(l[A>>1]|0);A=1;while(1){if((A|0)>(n[i+180>>2]|0))break;TM(n[(n[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0;i=n[e>>2]|0}return}function xM(A){A=A|0;var e=0;e=iJ(Jn(A)|0)|0;while(1){if(!e)break;if((r[(n[e+16>>2]|0)+274>>0]|0)==7)UM(A,e);e=rJ(e)|0}return}function UM(A,e){A=A|0;e=e|0;var i=0;i=(n[e+16>>2]|0)+200|0;do{if((n[i>>2]|0)==0?(n[i>>2]=A,jM(A,e),CV(e)|0):0){SM(A,e);if((n[42179]|0)==100){pM(e,0);OM(e);break}else{WM(e);break}}}while(0);return}function jM(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0;l=A+16|0;a=CV(e)|0;while(1){if(!a)break;t=MV(e,a)|0;c=a+16|0;if(!(r[(n[c>>2]|0)+159>>0]|0))f=1;else{PV(e,a)|0;a=t;continue}while(1){i=n[l>>2]|0;A=n[i+180>>2]|0;if((f|0)>=(A|0))break;if(OV(n[(n[i+184>>2]|0)+(f<<2)>>2]|0,a)|0){s=7;break}f=f+1|0}if((s|0)==7){s=0;A=n[(n[l>>2]|0)+180>>2]|0}if((f|0)<(A|0))PV(e,a)|0;n[(n[c>>2]|0)+212>>2]=0;a=t}i=CV(e)|0;while(1){if(!i)break;A=bY(Jn(e)|0,i)|0;while(1){if(!A)break;if(OV(e,n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)EY(e,A,1)|0;A=uY(Jn(e)|0,A)|0}i=MV(e,i)|0}return}function SM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;r=A+16|0;i=n[r>>2]|0;a=i+180|0;A=n[a>>2]|0;f=A+1|0;n[a>>2]=f;i=n[i+184>>2]|0;if(!i)A=Jg((A<<2)+8|0)|0;else A=zg(i,A+2|0,4,f)|0;n[(n[r>>2]|0)+184>>2]=A;n[A+(f<<2)>>2]=e;hg(e);return}function OM(A){A=A|0;var e=0,i=0,f=0,a=0,l=0;a=n[A+16>>2]|0;e=a+192|0;l=0;while(1){e=n[e>>2]|0;if(!e)break;f=n[e+16>>2]|0;if(!(n[f+232>>2]|0))i=(r[f+156>>0]|0)==0?e:l;else i=l;e=f+164|0;l=i}if(!l)BA(79866,79881,238,79888);n[a+264>>2]=l;e=CV(A)|0;while(1){if(!e){e=13;break}i=e+16|0;if(!((e|0)==(l|0)?1:(n[(n[i>>2]|0)+216>>2]|0)<2)){e=11;break}OI(e,l)|0;r[(n[i>>2]|0)+159>>0]=7;e=MV(A,e)|0}if((e|0)==11)BA(79903,79881,242,79888);else if((e|0)==13)return}function KM(A){A=A|0;var e=0;if(!(qM(A)|0)){e=fC(fY(A,80018)|0,17284,17308)|0;r[(n[A+16>>2]|0)+274>>0]=e;A=e}else A=7;return A|0}function _M(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0;a=CV(e)|0;A:do{if(a|0){c=i&255;t=a+16|0;f=a;l=c;while(1){r[(n[f+16>>2]|0)+159>>0]=l;f=MV(e,f)|0;if(!f)break;OI(a,f)|0;l=r[(n[t>>2]|0)+159>>0]|0}switch(i|0){case 3:case 2:{A=A+16|0;f=n[A>>2]|0;l=n[f+224>>2]|0;if(l){a=OI(l,a)|0;f=n[A>>2]|0}n[f+224>>2]=a;break}case 5:case 4:{A=A+16|0;f=n[A>>2]|0;l=n[f+228>>2]|0;if(l){a=OI(l,a)|0;f=n[A>>2]|0}n[f+228>>2]=a;break}default:break A}switch(i|0){case 3:{f=f+224|0;break}case 5:{f=f+228|0;break}default:break A}r[(n[(n[f>>2]|0)+16>>2]|0)+159>>0]=c}}while(0);return}function qM(A){A=A|0;return(Yz(qY(A)|0,92983,7)|0)==0|0}function $M(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0;b=v;v=v+16|0;a=b;if(!(gQ(A)|0)){do{if(hC(A)|0)if(!e){n[(n[A+16>>2]|0)+204>>2]=0;e=A;break}else{n[(n[A+16>>2]|0)+204>>2]=(n[(n[e+16>>2]|0)+204>>2]|0)+1;ZQ(A,e);e=A;break}}while(0);i=iJ(A)|0;while(1){if(!i)break;$M(i,e);i=rJ(i)|0}A:do{if(hC(A)|0){i=CV(A)|0;while(1){if(!i)break A;f=(n[i+16>>2]|0)+212|0;if(!(n[f>>2]|0))n[f>>2]=A;i=MV(A,i)|0}}}while(0);switch(GQ(A)|0){case 3:{e=e+16|0;r[(n[e>>2]|0)+241>>0]=1;s=19;break}case 2:{e=e+16|0;s=19;break}case 5:{e=e+16|0;r[(n[e>>2]|0)+242>>0]=1;s=21;break}case 4:{e=e+16|0;s=21;break}case 1:{mQ(A)|0;break}case 6:break;default:{i=qY(A)|0;f=fY(A,80018)|0;n[a>>2]=i;n[a+4>>2]=f;Gy(0,80201,a)|0}}if((s|0)==19){s=mQ(A)|0;s=IQ(s,n[(n[e>>2]|0)+208>>2]|0)|0;n[(n[e>>2]|0)+208>>2]=s}else if((s|0)==21){s=mQ(A)|0;s=IQ(s,n[(n[e>>2]|0)+212>>2]|0)|0;n[(n[e>>2]|0)+212>>2]=s}if((hC(A)|0?(l=A+16|0,t=n[l>>2]|0,c=n[t+208>>2]|0,c|0):0)?(c|0)==(n[t+212>>2]|0):0){c=mQ(A)|0;s=n[l>>2]|0;n[s+208>>2]=c;n[s+212>>2]=c}}v=b;return}function AQ(A,e){A=A|0;e=e|0;var i=0,r=0;n[41933]=0;i=CV(A)|0;while(1){if(!i)break;if((lQ(i)|0)==(i|0)){r=sQ(e,qY(i)|0)|0;n[(n[i+16>>2]|0)+148>>2]=r}i=MV(A,i)|0}i=CV(A)|0;while(1){if(!i)break;e=i+16|0;if(!(n[(n[e>>2]|0)+148>>2]|0)){r=n[(n[(lQ(i)|0)+16>>2]|0)+148>>2]|0;n[(n[e>>2]|0)+148>>2]=r}i=MV(A,i)|0}return}function eQ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0;l=CV(A)|0;while(1){if(!l)break;i=n[(n[l+16>>2]|0)+148>>2]|0;t=bY(A,l)|0;while(1){if(!t)break;do{if((BQ(t)|0)==0?(c=t+-48|0,s=n[(n[(lQ(n[((n[t>>2]&3|0)==2?t:c)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(i|0)!=(s|0)):0){f=n[t>>2]&3;a=t+48|0;r=((f|0)==3?t:a)+40|0;f=n[(n[(n[((f|0)==2?t:c)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(kQ(t)|0)){if((vQ(n[(n[(n[r>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(vQ(f)|0)==0:0){wQ(e,i,s,t);break}dQ(e,i,s,t);break}else{f=lQ(n[r>>2]|0)|0;r=n[t>>2]&3;if((f|0)!=(n[(n[(n[(n[(n[((r|0)==3?t:a)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(a=lQ(n[((r|0)==2?t:c)+40>>2]|0)|0,(a|0)!=(n[(n[(n[(n[(n[((n[t>>2]&3|0)==2?t:c)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)r=s;else{r=i;i=s}wQ(e,i,r,t);break}}}while(0);t=uY(A,t)|0}l=MV(A,l)|0}return}function iQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;if((hC(A)|0)!=0?(vQ(A)|0)!=0:0){a=CV(A)|0;while(1){if(!a)break;if(!(vY(A,a)|0)){f=n[(n[(lQ(a)|0)+16>>2]|0)+148>>2]|0;if(!i)i=sQ(e,80099)|0;IY(e,i,f,0,1)|0}if(!(bY(A,a)|0)){f=n[(n[(lQ(a)|0)+16>>2]|0)+148>>2]|0;if(!r)r=sQ(e,80104)|0;IY(e,f,r,0,1)|0}a=MV(A,a)|0}if((r|0)!=0&(i|0)!=0){uQ(IY(e,i,r,0,1)|0,0,1e3);f=i}else f=i}else f=i;i=iJ(A)|0;while(1){if(!i)break;iQ(i,e,f,r);i=rJ(i)|0}return}function rQ(A){A=A|0;var e=0,i=0;e=CV(A)|0;while(1){if(!e)break;i=n[e+16>>2]|0;r[i+158>>0]=0;r[i+157>>0]=0;e=MV(A,e)|0}e=CV(A)|0;while(1){if(!e)break;bQ(A,e);e=MV(A,e)|0}return}function fQ(A){A=A|0;var e=0,i=0,r=0,f=0;e=CV(A)|0;while(1){if(!e)break;n[(n[e+16>>2]|0)+128>>2]=0;e=MV(A,e)|0}e=0;r=CV(A)|0;while(1){if(!r)break;i=e+1|0;if(!(n[(n[r+16>>2]|0)+128>>2]|0)){cQ(A,r,i);e=i}r=MV(A,r)|0}A:do{if((e|0)>1){f=sQ(A,80093)|0;i=1;r=CV(A)|0;while(1){if(!r)break A;if((n[(n[r+16>>2]|0)+128>>2]|0)==(i|0)){IY(A,f,r,0,1)|0;i=i+1|0}r=MV(A,r)|0}}}while(0);return e|0}function nQ(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0;a=CV(A)|0;while(1){if(!a)break;l=a+16|0;f=bY(A,a)|0;while(1){if(!f)break;e=n[l>>2]|0;i=n[e+180>>2]|0;if(!i)e=Ng((n[e+184>>2]<<2)+8|0)|0;else e=pg(i,(n[e+184>>2]<<2)+8|0)|0;i=n[l>>2]|0;n[i+180>>2]=e;i=i+184|0;r=n[i>>2]|0;n[i>>2]=r+1;n[e+(r<<2)>>2]=f;r=n[l>>2]|0;n[(n[r+180>>2]|0)+(n[r+184>>2]<<2)>>2]=0;r=f+-48|0;e=n[(n[((n[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0;i=n[e+172>>2]|0;if(!i)e=Ng((n[e+176>>2]<<2)+8|0)|0;else e=pg(i,(n[e+176>>2]<<2)+8|0)|0;n[(n[(n[((n[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0)+172>>2]=e;t=n[(n[((n[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0;e=n[t+172>>2]|0;t=t+176|0;i=n[t>>2]|0;n[t>>2]=i+1;n[e+(i<<2)>>2]=f;r=n[(n[((n[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0;n[(n[r+172>>2]|0)+(n[r+176>>2]<<2)>>2]=0;f=uY(A,f)|0}a=MV(A,a)|0}return}function aQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,a=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0;u=A+16|0;v=n[u>>2]|0;f[v+236>>1]=32767;f[v+238>>1]=-1;A:do{if((i|0)>1){a=Jg((i<<2)+4|0)|0;r=i+1|0;i=1;while(1){if((i|0)==(r|0)){o=a;v=a;break A}n[a+(i<<2)>>2]=32767;i=i+1|0}}else{o=0;v=0}}while(0);t=(o|0)==0;a=CV(A)|0;while(1){if(!a)break;c=n[(n[(n[(lQ(a)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;s=n[c+232>>2]|0;b=n[a+16>>2]|0;n[b+232>>2]=s;i=n[u>>2]|0;r=i+238|0;if((s|0)>(f[r>>1]|0))f[r>>1]=s;i=i+236|0;if((s|0)<(f[i>>1]|0))f[i>>1]=s;if(!t){c=n[c+128>>2]|0;n[b+128>>2]=c;b=o+(c<<2)|0;c=n[b>>2]|0;n[b>>2]=(c|0)<(s|0)?c:s}a=MV(A,a)|0}c=(o|0)!=0;A:do{if(!c){o=f[(n[u>>2]|0)+236>>1]|0;r=o<<16>>16;if(o<<16>>16>0){i=CV(A)|0;while(1){if(!i)break;o=(n[i+16>>2]|0)+232|0;n[o>>2]=(n[o>>2]|0)-r;i=MV(A,i)|0}i=n[u>>2]|0;u=i+236|0;f[u>>1]=(l[u>>1]|0)-r;i=i+238|0;f[i>>1]=(l[i>>1]|0)-r;i=0}else i=0}else{i=CV(A)|0;while(1){if(!i){i=1;break A}b=n[i+16>>2]|0;u=b+232|0;n[u>>2]=(n[u>>2]|0)-(n[o+(n[b+128>>2]<<2)>>2]|0);i=MV(A,i)|0}}}while(0);tQ(A,i);t=CV(e)|0;while(1){if(!t)break;r=t+16|0;i=n[r>>2]|0;a=n[i+172>>2]|0;if(a){zN(a);i=n[r>>2]|0}i=n[i+180>>2]|0;if(i|0)zN(i);t=MV(e,t)|0}zN(n[(n[(CV(A)|0)+16>>2]|0)+112>>2]|0);i=CV(A)|0;while(1){if(!i)break;n[(n[i+16>>2]|0)+112>>2]=0;i=MV(A,i)|0}if(c)zN(v);return}function lQ(A){A=A|0;var e=0,i=0,r=0;e=A+16|0;i=(n[e>>2]|0)+152|0;r=n[i>>2]|0;if(r){if((r|0)!=(A|0)){r=lQ(r)|0;n[(n[e>>2]|0)+152>>2]=r;return r|0}}else n[i>>2]=A;return A|0}function tQ(A,e){A=A|0;e=e|0;var i=0,r=0,a=0,l=0,t=0;t=A+16|0;i=1;while(1){r=n[t>>2]|0;if((i|0)>(n[r+180>>2]|0))break;tQ(n[(n[r+184>>2]|0)+(i<<2)>>2]|0,0);i=i+1|0}if((e|0)!=0|(n[r+200>>2]|0)!=0){f[r+236>>1]=32767;f[r+238>>1]=-1;i=0;l=CV(A)|0;while(1){if(!l)break;a=n[(n[l+16>>2]|0)+232>>2]|0;e=n[t>>2]|0;r=e+238|0;if((a|0)>(f[r>>1]|0))f[r>>1]=a;e=e+236|0;if((a|0)<(f[e>>1]|0)){f[e>>1]=a;i=l}l=MV(A,l)|0}n[(n[t>>2]|0)+264>>2]=i}return}function cQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(n[e+16>>2]|0)+128|0;A:do{if(!(n[r>>2]|0)){n[r>>2]=i;r=bY(A,e)|0;while(1){if(!r)break;cQ(A,n[((n[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,i);r=uY(A,r)|0}r=vY(A,e)|0;while(1){if(!r)break A;cQ(A,n[((n[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0,i);r=BY(A,r)|0}}}while(0);return}function sQ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=zV(A,e,1)|0;e=f+16|0;n[(n[e>>2]|0)+176>>2]=0;r=Jg(20)|0;i=n[e>>2]|0;n[i+172>>2]=r;n[i+184>>2]=0;i=Jg(20)|0;e=n[e>>2]|0;n[e+180>>2]=i;i=n[41933]|0;r=e+168|0;if(!i){n[r>>2]=0;n[(n[A+16>>2]|0)+192>>2]=f}else{n[r>>2]=i;n[(n[i+16>>2]|0)+164>>2]=f}n[41933]=f;n[e+164>>2]=0;return f|0}function bQ(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0;l=e+16|0;i=n[l>>2]|0;f=i+157|0;if(!(r[f>>0]|0)){r[f>>0]=1;r[i+158>>0]=1;e=bY(A,e)|0;while(1){if(!e)break;i=uY(A,e)|0;f=n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;a=n[f+16>>2]|0;if(r[a+158>>0]|0){oQ(A,e);e=i;continue}if(r[a+157>>0]|0){e=i;continue}bQ(A,f);e=i}r[(n[l>>2]|0)+158>>0]=0}return}function oQ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=n[e>>2]&3;f=e+-48|0;r=e+48|0;i=IY(A,n[((i|0)==2?e:f)+40>>2]|0,n[((i|0)==3?e:r)+40>>2]|0,0,0)|0;if(!i){i=n[e>>2]&3;i=IY(A,n[((i|0)==2?e:f)+40>>2]|0,n[((i|0)==3?e:r)+40>>2]|0,0,1)|0}f=n[e+16>>2]|0;uQ(i,l[f+170>>1]|0,n[f+156>>2]|0);PV(A,e)|0;return}function uQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,a=0;A=n[A+16>>2]|0;r=A+170|0;a=l[r>>1]|0;f[r>>1]=(a|0)>(e|0)?a:e;e=A+156|0;n[e>>2]=(n[e>>2]|0)+i;return}function vQ(A){A=A|0;return(jI(fY(A,80109)|0,0)|0)&255|0}function BQ(A){A=A|0;var e=0,i=0;e=n[42232]|0;if((((e|0)!=0?(i=nY(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)?(UI(i)|0)<<24>>24==0:0)A=1;else A=0;return A|0}function kQ(A){A=A|0;var e=0,i=0;i=n[A>>2]&3;e=n[(n[(n[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;A=n[(n[(n[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((e|0)==(A|0))return 1;else{i=hQ(e,A)|0;return((i|0)==(e|0)|(i|0)==(A|0))&1|0}return 0}function wQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,t=0,c=0;c=v;v=v+16|0;a=c;f=IY(A,e,i,0,0)|0;if(!f){f=IY(A,i,e,0,0)|0;if(!f){f=IY(A,e,i,0,1)|0;if(!f){e=qY(e)|0;r=qY(i)|0;n[a>>2]=e;n[a+4>>2]=r;Gy(1,80126,a)|0}else t=4}else t=4}else t=4;if((t|0)==4){t=n[r+16>>2]|0;uQ(f,l[t+170>>1]|0,n[t+156>>2]|0)}v=c;return}function dQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var a=0,t=0,c=0,s=0,b=0,o=0;b=v;v=v+112|0;c=b;t=b+4|0;a=vY(A,e)|0;while(1){if(!a){s=6;break}o=bY(A,n[((n[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)|0;if(o|0?(n[((n[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0)==(i|0):0)break;a=BY(A,a)|0}if((s|0)==6){o=n[41934]|0;n[41934]=o+1;n[c>>2]=o;_p(t,80117,c)|0;t=sQ(A,t)|0;o=IY(A,t,e,0,1)|0;t=IY(A,t,i,0,1)|0;i=n[r+16>>2]|0;s=i+156|0;o=(n[o+16>>2]|0)+156|0;n[o>>2]=(n[o>>2]|0)+((n[s>>2]|0)*1e3|0);o=n[t+16>>2]|0;c=o+170|0;f[c>>1]=f[(n[((l[c>>1]|0)>(l[i+170>>1]|0)?t:r)+16>>2]|0)+170>>1]|0;o=o+156|0;n[o>>2]=(n[o>>2]|0)+(n[s>>2]|0)}v=b;return}function hQ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;A:while(1){r=A+16|0;while(1){if((A|0)==(e|0))break A;f=n[r>>2]|0;i=n[e+16>>2]|0;if((n[f+204>>2]|0)>=(n[i+204>>2]|0))break;e=n[i+200>>2]|0}A=n[f+200>>2]|0}return A|0}function gQ(A){A=A|0;return(CV(A)|0)==0|0}function ZQ(A,e){A=A|0;e=e|0;n[(n[A+16>>2]|0)+200>>2]=e;SM(e,A);jM(e,A);return}function GQ(A){A=A|0;var e=0;A=fY(A,80018)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0)if(az(A,80028)|0)if(az(A,80032)|0)if(az(A,80039)|0)if(az(A,80043)|0)if(!(az(A,80023)|0))A=1;else e=8;else A=5;else A=4;else A=3;else A=2;else e=8;if((e|0)==8)A=6;return A|0}function mQ(A){A=A|0;var e=0,i=0;i=CV(A)|0;A:do{if(!i)e=0;else{e=lQ(i)|0;while(1){i=MV(A,i)|0;if(!i)break A;IQ(e,i)|0}}}while(0);return e|0}function IQ(A,e){A=A|0;e=e|0;if(e){A=lQ(A)|0;n[(n[(lQ(e)|0)+16>>2]|0)+152>>2]=A}return A|0}function CQ(A,e,i){A=A|0;e=e|0;i=i|0;lW(e,80077,n[i>>2]|0,1)|0;return}function MQ(A,e,i){A=A|0;e=e|0;i=i|0;lW(e,80244,n[i+4>>2]|0,1)|0;return}function QQ(A,e,i){A=A|0;e=e|0;i=i|0;lW(e,80229,n[i+8>>2]|0,1)|0;return}function EQ(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0;B=v;v=v+240|0;b=B+120|0;o=B;n[42236]=Sy(A,2,80259,0)|0;s=Sy(A,2,80268,0)|0;n[42237]=s;A:do{if((s|0)!=0|(n[42236]|0)!=0){s=CV(A)|0;while(1){if(!s)break A;c=0;e=0;t=kY(A,s)|0;while(1){if(!t){f=0;break}i=n[t>>2]|0;a=i&3;f=n[((a|0)==2?t:t+-48|0)+40>>2]|0;l=t+48|0;e:do{if((f|0)!=(n[((a|0)==3?t:l)+40>>2]|0)){a=n[42236]|0;do{if((f|0)==(s|0)&(a|0)!=0){f=nY(t,a)|0;if(!(r[f>>0]|0)){i=n[t>>2]|0;break}else{i=c;e=yQ(b,e,s,t,f)|0;break e}}}while(0);f=n[42237]|0;if((f|0?(n[((i&3|0)==3?t:l)+40>>2]|0)==(s|0):0)?(u=nY(t,f)|0,(r[u>>0]|0)!=0):0)i=yQ(o,c,s,t,u)|0;else i=c}else i=c}while(0);c=i;t=wY(A,t,s)|0}while(1){if((f|0)>=(e|0)){i=0;break}i=b+(f*24|0)+4|0;if((n[b+(f*24|0)+8>>2]|0)>1)YQ(s,i);i=n[i>>2]|0;if(i|0)zN(i);f=f+1|0}while(1){if((i|0)>=(c|0))break;e=o+(i*24|0)+4|0;if((n[o+(i*24|0)+8>>2]|0)>1)YQ(s,e);e=n[e>>2]|0;if(e|0)zN(e);i=i+1|0}s=MV(A,s)|0}}}while(0);v=B;return}function yQ(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0.0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0;B=v;v=v+16|0;c=B;b=B+12|0;o=B+8|0;u=0;while(1){if((u|0)>=(e|0)){t=10;break}t=n[A+(u*24|0)>>2]|0;if((r[t>>0]|0)==(r[a>>0]|0)?(az(t,a)|0)==0:0){t=5;break}u=u+1|0}do{if((t|0)==5){c=A+(u*24|0)+4|0;t=n[c>>2]|0;if(!t){t=A+(u*24|0)+8|0;a=t;t=Ng((n[t>>2]<<2)+8|0)|0}else{k=A+(u*24|0)+8|0;a=k;t=pg(t,(n[k>>2]<<2)+8|0)|0}n[c>>2]=t;w=n[a>>2]|0;k=w+1|0;n[a>>2]=k;n[t+(w<<2)>>2]=f;n[(n[c>>2]|0)+(k<<2)>>2]=0;t=13}else if((t|0)==10)if((e|0)>4){w=qY(i)|0;n[c>>2]=5;n[c+4>>2]=w;Gy(1,80277,c)|0;break}else{d=A+(u*24|0)+8|0;n[d>>2]=0;c=Jg(8)|0;w=A+(u*24|0)+4|0;n[w>>2]=c;k=n[d>>2]|0;t=k+1|0;n[d>>2]=t;n[c+(k<<2)>>2]=f;n[(n[w>>2]|0)+(t<<2)>>2]=0;n[A+(u*24|0)>>2]=a;n[A+(u*24|0)+12>>2]=0;s[A+(u*24|0)+16>>3]=0.0;e=e+1|0;t=13;break}}while(0);if((t|0)==13){Pw(f,b,o);t=(n[((n[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)==(i|0)?n[o>>2]|0:n[b>>2]|0;if(t){w=A+(u*24|0)+12|0;d=n[w>>2]|0;n[w>>2]=d+1;if(!d)l=+Dw(f,t);else l=0.0;s[A+(u*24|0)+16>>3]=l}}v=B;return e|0}function YQ(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0.0,c=0.0,b=0.0,o=0,u=0.0,B=0.0,k=0.0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0.0;m=v;v=v+80|0;h=m+68|0;g=m+64|0;w=m;Z=e+4|0;o=n[Z>>2]|0;G=A+16|0;l=0;B=0.0;k=0.0;while(1){if((l|0)>=(o|0))break;f=n[(n[e>>2]|0)+(l<<2)>>2]|0;a=n[f>>2]&3;i=n[((a|0)==2?f:f+-48|0)+40>>2]|0;if((i|0)==(A|0))i=n[((a|0)==3?f:f+48|0)+40>>2]|0;a=n[i+16>>2]|0;d=n[G>>2]|0;c=+s[a+16>>3]-+s[d+16>>3];b=+s[a+24>>3]-+s[d+24>>3];u=+Cz(c,b);l=l+1|0;B=c/u+B;k=b/u+k}t=+Cz(B,k);d=n[G>>2]|0;c=+s[d+16>>3];b=+s[d+24>>3];I=+s[d+96>>3]+ +s[d+88>>3];u=+s[d+80>>3];d=I>u+ +(n[(n[(HV(A)|0)+16>>2]|0)+252>>2]|0);i=n[G>>2]|0;if(d)u=+s[i+96>>3]+ +s[i+88>>3];else{u=+s[i+80>>3];u=u+ +(n[(n[(HV(A)|0)+16>>2]|0)+252>>2]|0);i=n[G>>2]|0}I=+s[i+16>>3]+u*(B/t);t=+s[i+24>>3]+u*(k/t);s[w>>3]=c;o=w+8|0;s[o>>3]=b;s[w+16>>3]=(I+c*2.0)*.3333333333333333;s[w+24>>3]=(t+b*2.0)*.3333333333333333;s[w+32>>3]=(I*2.0+c)*.3333333333333333;s[w+40>>3]=(t*2.0+b)*.3333333333333333;s[w+48>>3]=I;s[w+56>>3]=t;Tm(A,w);d=n[G>>2]|0;t=+s[w>>3]-+s[d+16>>3];c=+s[o>>3]-+s[d+24>>3];t=+(~~(t+(t>=0.0?.5:-.5))|0);c=+(~~(c+(c>=0.0?.5:-.5))|0);I=+s[d+88>>3];d=~~((I+t)*256.0/(+s[d+96>>3]+I))&255;w=0;while(1){if((w|0)>=(n[Z>>2]|0))break;o=n[(n[e>>2]|0)+(w<<2)>>2]|0;Pw(o,h,g);while(1){if(!o)break;else a=o;while(1){if(!a){l=o;break}i=n[a>>2]|0;l=a+-48|0;if((n[((i&3|0)==2?a:l)+40>>2]|0)==(A|0)){i=n[a+16>>2]|0;s[i+56>>3]=t;s[i+64>>3]=c;s[i+72>>3]=0.0;n[i+80>>2]=0;r[i+84>>0]=1;r[i+85>>0]=0;r[i+86>>0]=0;r[i+87>>0]=0;r[i+88>>0]=d;r[i+89>>0]=0;n[i+92>>2]=0;i=n[a>>2]|0}f=a+16|0;if((n[((i&3|0)==3?a:a+48|0)+40>>2]|0)==(A|0)){i=n[f>>2]|0;s[i+16>>3]=t;s[i+24>>3]=c;s[i+32>>3]=0.0;n[i+40>>2]=0;r[i+44>>0]=1;r[i+45>>0]=0;r[i+46>>0]=0;r[i+47>>0]=0;r[i+48>>0]=d;r[i+49>>0]=0;n[i+52>>2]=0}if((r[(n[f>>2]|0)+112>>0]|0)!=1){a=0;continue}i=n[(n[((n[a>>2]&3|0)==2?a:l)+40>>2]|0)+16>>2]|0;if((r[i+156>>0]|0)!=1){a=0;continue}if((n[i+184>>2]|0)!=1){a=0;continue}a=n[n[i+180>>2]>>2]|0}while(1){if(!l)break;i=n[l>>2]|0;if((n[((i&3|0)==2?l:l+-48|0)+40>>2]|0)==(A|0)){i=n[l+16>>2]|0;s[i+56>>3]=t;s[i+64>>3]=c;s[i+72>>3]=0.0;n[i+80>>2]=0;r[i+84>>0]=1;r[i+85>>0]=0;r[i+86>>0]=0;r[i+87>>0]=0;r[i+88>>0]=d;r[i+89>>0]=0;n[i+92>>2]=0;i=n[l>>2]|0}f=l+48|0;a=l+16|0;if((n[((i&3|0)==3?l:f)+40>>2]|0)==(A|0)){i=n[a>>2]|0;s[i+16>>3]=t;s[i+24>>3]=c;s[i+32>>3]=0.0;n[i+40>>2]=0;r[i+44>>0]=1;r[i+45>>0]=0;r[i+46>>0]=0;r[i+47>>0]=0;r[i+48>>0]=d;r[i+49>>0]=0;n[i+52>>2]=0}if((r[(n[a>>2]|0)+112>>0]|0)!=1){l=0;continue}i=n[(n[((n[l>>2]&3|0)==3?l:f)+40>>2]|0)+16>>2]|0;if((r[i+156>>0]|0)!=1){l=0;continue}if((n[i+176>>2]|0)!=1){l=0;continue}l=n[n[i+172>>2]>>2]|0}o=n[(n[o+16>>2]|0)+172>>2]|0}w=w+1|0}r[(n[G>>2]|0)+145>>0]=1;v=m;return}function VQ(A){A=A|0;var e=0,i=0,r=0;za(A);e=n[A>>2]&3;i=A+-48|0;r=A+48|0;e=Ya(n[((e|0)==2?A:i)+40>>2]|0,n[((e|0)==3?A:r)+40>>2]|0)|0;if(!e){e=n[A>>2]&3;Fa(n[((e|0)==2?A:i)+40>>2]|0,n[((e|0)==3?A:r)+40>>2]|0,A)|0}else Sa(A,e);return}function WQ(A){A=A|0;var e=0,i=0,f=0,a=0;f=A+16|0;i=0;while(1){A=n[f>>2]|0;if((i|0)>=(n[A+220>>2]|0))break;e=n[(n[A+216>>2]|0)+(i<<2)>>2]|0;n[A+192>>2]=e;A=e;e=A;while(1){if(!e)break;a=n[e+16>>2]|0;r[a+157>>0]=0;e=n[a+164>>2]|0}while(1){if(!A)break;JQ(A);A=n[(n[A+16>>2]|0)+164>>2]|0}i=i+1|0}return}function JQ(A){A=A|0;var e=0,i=0,f=0,a=0;a=A+16|0;e=n[a>>2]|0;A=e+157|0;if(!(r[A>>0]|0)){r[A>>0]=1;r[e+158>>0]=1;A=0;while(1){f=n[(n[e+180>>2]|0)+(A<<2)>>2]|0;if(!f)break;e=n[((n[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;i=n[e+16>>2]|0;if(!(r[i+158>>0]|0)){if(!(r[i+157>>0]|0))JQ(e)}else{VQ(f);A=A+-1|0}A=A+1|0;e=n[a>>2]|0}r[e+158>>0]=0}return}function NQ(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0;r=CV(A)|0;e=0;while(1){if(!r)break;i=bY(A,r)|0;while(1){if(!i)break;a=n[i>>2]&3;l=n[(n[(n[((a|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;a=n[(n[(n[((a|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;f=l-a|0;i=uY(A,i)|0;e=((l|0)==(a|0)?0:((f|0)>-1?f:0-f|0)+-1|0)+e|0}r=MV(A,r)|0}return e|0}function zQ(A){A=A|0;var e=0,i=0,f=0,a=0;i=CV(A)|0;while(1){if(!i)break;a=n[i+16>>2]|0;f=n[a+176>>2]|0;a=a+172|0;e=0;while(1){if((e|0)>=(f|0))break;r[(n[(n[(n[a>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+112>>0]=0;e=e+1|0}i=MV(A,i)|0}return}function pQ(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,B=0,k=0;k=v;v=v+16|0;u=k;t=n[e+24>>2]|0;RQ(A);c=(t|0)==-1;b=e+8|0;l=c^1;o=n[13918]|0;f=1797693134862315708145274.0e284;a=0;while(1){if(!(c|(a|0)<(t|0)))break;i=CV(A)|0;while(1){if(!i)break;n[(n[i+16>>2]|0)+232>>2]=0;i=MV(A,i)|0}JM(A);r=+PQ(A);s[b>>3]=r;if(0){s[u>>3]=r;lR(o,80329,u)|0;r=+s[b>>3]}if(!(!(r<=+s[e>>3])&(!(f<=r)|l))){B=9;break}HQ(A);f=r;a=a+1|0}if((B|0)==9){B=e+20|0;n[e+16>>2]=n[B>>2];n[B>>2]=a}JM(A);FQ(A);LQ();s[b>>3]=+PQ(A);v=k;return}function RQ(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0,b=0.0,o=0.0,u=0;n[41938]=Ng((zY(A)|0)*24|0)|0;n[41937]=0;e=CV(A)|0;while(1){if(!e)break;n[(n[e+16>>2]|0)+120>>2]=-1;e=MV(A,e)|0}l=CV(A)|0;while(1){if(!l)break;t=l+16|0;do{if(!(n[(n[t>>2]|0)+216>>2]|0)){f=Jg(4)|0;a=n[41938]|0;c=n[41937]|0;n[a+(c*24|0)>>2]=f;n[f>>2]=l;n[a+(c*24|0)+4>>2]=1;t=n[t>>2]|0;s[a+(c*24|0)+8>>3]=+s[t+32>>3];s[a+(c*24|0)+16>>3]=+s[t+40>>3];n[t+120>>2]=c;n[41937]=c+1}else{a=SI(l)|0;c=a+16|0;e=n[c>>2]|0;i=n[e+120>>2]|0;if((i|0)>-1){a=n[41938]|0;f=n[a+(i*24|0)>>2]|0;r=a+(i*24|0)+4|0;c=n[r>>2]|0;n[r>>2]=c+1;n[f+(c<<2)>>2]=l;c=n[t>>2]|0;t=a+(i*24|0)+8|0;s[t>>3]=+s[t>>3]+ +s[c+32>>3];t=a+(i*24|0)+16|0;b=+s[t>>3];o=+s[c+40>>3];s[t>>3]=b<o?o:b;n[c+120>>2]=i;break}i=Jg(n[e+216>>2]<<2)|0;r=n[41938]|0;f=n[41937]|0;e=r+(f*24|0)|0;n[e>>2]=i;n[i>>2]=a;if((a|0)==(l|0)){s[r+(f*24|0)+8>>3]=+s[(n[c>>2]|0)+32>>3];i=1;e=l}else{n[(n[e>>2]|0)+4>>2]=l;u=n[c>>2]|0;e=n[t>>2]|0;s[r+(f*24|0)+8>>3]=+s[e+32>>3]+ +s[u+32>>3];i=2;e=+s[u+40>>3]<+s[e+40>>3]?l:a}n[r+(f*24|0)+4>>2]=i;s[r+(f*24|0)+16>>3]=+s[(n[e+16>>2]|0)+40>>3];n[(n[c>>2]|0)+120>>2]=f;n[(n[t>>2]|0)+120>>2]=f;n[41937]=f+1}}while(0);l=MV(A,l)|0}return}function PQ(A){A=A|0;var e=0.0,i=0.0,r=0,f=0,a=0,l=0.0,t=0.0;FQ(A);a=n[41935]|0;r=n[A+16>>2]|0;e=+(X(n[r+252>>2]|0,a+-1|0)|0);f=n[41936]|0;r=r+248|0;A=0;i=0.0;while(1){if((A|0)>=(a|0))break;l=+s[f+(A*40|0)+24>>3]+ +(X(n[r>>2]|0,n[f+(A*40|0)+16>>2]|0)|0);t=+s[f+(A*40|0)+32>>3]+e;A=A+1|0;e=t;i=i<l?l:i}return+(i/e)}function HQ(A){A=A|0;var e=0;n[41939]=Jg((zY(A)|0)<<2)|0;e=0;while(1){if((e|0)>=(zY(A)|0))break;n[(n[41939]|0)+(e<<2)>>2]=e;e=e+1|0}FQ(A);DQ(A);XQ(A);return}function FQ(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0.0,c=0,b=0;n[41935]=0;e=n[41936]|0;if(e|0){r=0;while(1){if((r|0)>=(n[41937]|0))break;i=n[e+(r*40|0)+4>>2]|0;if(i){zN(i);e=n[41936]|0}i=n[e+(r*40|0)+8>>2]|0;if(i){zN(i);e=n[41936]|0}r=r+1|0}zN(e)}n[41936]=Jg((n[41937]|0)*40|0)|0;e=0;while(1){i=n[41937]|0;if((e|0)>=(i|0))break;c=Jg(i<<2)|0;n[(n[41936]|0)+(e*40|0)+4>>2]=c;c=Jg(n[41937]<<2)|0;b=n[41936]|0;n[b+(e*40|0)+8>>2]=c;n[b+(e*40|0)>>2]=e;n[b+(e*40|0)+12>>2]=0;n[b+(e*40|0)+16>>2]=0;b=b+(e*40|0)+24|0;n[b>>2]=0;n[b+4>>2]=0;n[b+8>>2]=0;n[b+12>>2]=0;e=e+1|0}r=CV(A)|0;while(1){if(!r)break;i=bY(A,r)|0;while(1){if(!i)break;l=n[i>>2]|0;f=i+-48|0;a=n[41936]|0;e=n[(n[(n[((l&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){e=e+1|0;if((e|0)>=(n[(n[(n[((l&3|0)==2?i:f)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;l=a+(e*40|0)+16|0;n[l>>2]=(n[l>>2]|0)+1;l=n[i>>2]|0}i=uY(A,i)|0}r=MV(A,r)|0}l=n[41937]|0;c=n[41938]|0;b=n[41936]|0;i=A+16|0;e=0;while(1){if((e|0)>=(l|0))break;r=(n[n[c+(e*24|0)>>2]>>2]|0)+16|0;f=n[(n[r>>2]|0)+232>>2]|0;if((f|0)>=(n[41935]|0))n[41935]=f+1;a=b+(f*40|0)+24|0;t=+s[a>>3];s[a>>3]=t+ +s[c+(e*24|0)+8>>3]*72.0+(t>0.0?+(n[(n[i>>2]|0)+248>>2]|0):0.0);a=b+(f*40|0)+32|0;t=+s[c+(e*24|0)+16>>3]*72.0;if(+s[a>>3]<t)s[a>>3]=t;n[(n[b+(f*40|0)+4>>2]|0)+(n[b+(f*40|0)+12>>2]<<2)>>2]=c+(e*24|0);A=b+((n[(n[r>>2]|0)+232>>2]|0)*40|0)+12|0;n[A>>2]=(n[A>>2]|0)+1;e=e+1|0}return}function LQ(){var A=0,e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;s=n[41935]|0;b=n[41936]|0;c=0;e=0;A=0;while(1){if((c|0)>=(s|0))break;i=b+(c*40|0)|0;t=n[b+(c*40|0)+12>>2]|0;r=(e|0)==0;A:do{if(t)if(!r){if((n[i>>2]|0)>(A|0)){f=b+(c*40|0)+4|0;i=0;while(1){if((i|0)>=(t|0))break A;a=n[(n[f>>2]|0)+(i<<2)>>2]|0;l=n[a+4>>2]|0;r=0;while(1){if((r|0)>=(l|0))break;o=(n[(n[(n[a>>2]|0)+(r<<2)>>2]|0)+16>>2]|0)+232|0;n[o>>2]=(n[o>>2]|0)-e;r=r+1|0}i=i+1|0}}}else e=0;else{if(r)A=n[i>>2]|0;e=e+1|0}}while(0);c=c+1|0}return}function DQ(A){A=A|0;var e=0;e=n[41939]|0;$p(e,zY(A)|0,4,15);return}function XQ(A){A=A|0;var e=0.0,i=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0.0,u=0,v=0,B=0,k=0,w=0.0,d=0;t=n[41935]|0;c=n[41936]|0;a=n[41939]|0;l=0;while(1){if((l|0)>=(t|0)){i=0;e=0.0;break}i=n[a+(l<<2)>>2]|0;f=l+1|0;if((n[c+(i*40|0)+12>>2]|0)<2)l=f;else{b=4;break}}if((b|0)==4)if((t|0)>(f|0))e=+s[c+((n[a+(f<<2)>>2]|0)*40|0)+24>>3];else e=0.0;A:do{if((l|0)!=(t|0)){$p(n[c+(i*40|0)+4>>2]|0,n[c+(i*40|0)+12>>2]|0,4,16);a=n[41936]|0;w=+s[a+(i*40|0)+24>>3];w=!(e<=w*.25)&!(e>=w*.75)?e:w*.5;d=n[a+(i*40|0)+12>>2]|0;k=A+16|0;u=0;v=0;e=0.0;f=0;B=0;while(1){if((B|0)>=(f+d|0))break A;do{if(!(n[(n[a+(i*40|0)+8>>2]|0)+(B<<2)>>2]|0)){b=n[(n[a+(i*40|0)+4>>2]|0)+(B<<2)>>2]|0;A=b+8|0;o=+s[A>>3]*72.0+e+(e>0.0?+(n[(n[k>>2]|0)+248>>2]|0):0.0);l=(v|0)!=0;if(!(l&!(o<=w))){t=l?u:b;l=l?v:1;e=o;break}t=u+4|0;c=b+4|0;l=0;while(1){if((l|0)<(n[t>>2]|0))a=0;else break;while(1){if((a|0)>=(n[c>>2]|0))break;r[(n[(Fa(n[(n[u>>2]|0)+(l<<2)>>2]|0,n[(n[b>>2]|0)+(a<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;a=a+1|0}l=l+1|0}a=n[41936]|0;n[(n[a+(i*40|0)+8>>2]|0)+(B<<2)>>2]=1;t=a+(i*40|0)+12|0;n[t>>2]=(n[t>>2]|0)+-1;t=a+(i*40|0)+16|0;n[t>>2]=(n[t>>2]|0)+1;t=a+(i*40|0)+24|0;s[t>>3]=+s[A>>3]*-72.0-+(n[(n[k>>2]|0)+248>>2]|0)+ +s[t>>3];t=u;l=v}else{t=u;l=v;f=f+1|0}}while(0);u=t;v=l;B=B+1|0}}}while(0);return}function TQ(A,e){A=A|0;e=e|0;A=xQ(n[A>>2]|0)|0;e=xQ(n[e>>2]|0)|0;return((e|0)<(A|0)&1)-((e|0)>(A|0)&1)|0}function xQ(A){A=A|0;var e=0,i=0,r=0,f=0,a=0;f=A+4|0;i=0;e=0;while(1){if((i|0)>=(n[f>>2]|0))break;r=n[(n[A>>2]|0)+(i<<2)>>2]|0;a=HV(r)|0;r=bY(a,r)|0;while(1){if(!r)break;r=uY(a,r)|0;e=e+1|0}i=i+1|0}return e|0}function UQ(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=n[41936]|0;r=+s[f+((n[e>>2]|0)*40|0)+24>>3];i=+s[f+((n[A>>2]|0)*40|0)+24>>3];return(r>i&1)-(r<i&1)|0}function jQ(A){A=A|0;var e=0;e=CV(A)|0;while(1){if(!e)break;n[(n[e+16>>2]|0)+216>>2]=0;e=MV(A,e)|0}return}function SQ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;a=v;v=v+32|0;f=a+16|0;r=a+8|0;i=a+20|0;n[i>>2]=5;A=fY(A,84568)|0;if(A|0?(n[r>>2]=a,n[r+4>>2]=i,(PR(A,80344,r)|0)>=1):0)Gy(0,80351,f)|0;n[e+24>>2]=0;n[e+32>>2]=0;v=a;return 0}function OQ(A){A=A|0;var e=0,i=0;e=n[42232]|0;if((((e|0)!=0?(i=nY(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)?(UI(i)|0)<<24>>24==0:0)A=1;else A=0;return A|0}function KQ(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0;wE(A);e=CV(A)|0;while(1){if(!e)break;i=bY(A,e)|0;while(1){if(!i)break;do{if(((n[(n[i+16>>2]|0)+172>>2]|0)==0?(OQ(i)|0)==0:0)?(r=i+48|0,f=SI(n[((n[i>>2]&3|0)==3?i:r)+40>>2]|0)|0,a=i+-48|0,l=SI(n[((n[i>>2]&3|0)==2?i:a)+40>>2]|0)|0,(f|0)!=(l|0)):0){if((n[(n[f+16>>2]|0)+212>>2]|0)==0?(n[(n[l+16>>2]|0)+212>>2]|0)==0:0){t=Ya(f,l)|0;if(!t){Fa(f,l,i)|0;break}else{Sa(i,t);break}}t=n[i>>2]&3;_Q(A,n[((t|0)==3?i:r)+40>>2]|0,n[((t|0)==2?i:a)+40>>2]|0,i)}}while(0);i=uY(A,i)|0}e=MV(A,e)|0}return}function _Q(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,t=0,c=0,s=0;c=n[f>>2]&3;a=n[(n[((c|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0;t=n[a+212>>2]|0;if(!t)s=0;else s=(n[a+232>>2]|0)-(n[(n[(n[(n[t+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;a=n[(n[((c|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0;t=n[a+212>>2]|0;if(!t)a=0;else a=(n[(n[(n[(n[t+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)-(n[a+232>>2]|0)|0;c=f+16|0;s=a+s+(l[(n[c>>2]|0)+170>>1]|0)|0;A=xa(A)|0;r[(n[A+16>>2]|0)+156>>0]=2;t=SI(e)|0;e=SI(i)|0;i=tM(A,t,(s|0)>0?0.0:+(0-s|0),(n[(n[c>>2]|0)+156>>2]|0)*10|0)|0;n[(n[(tM(A,e,+(((s|0)>0?s:0)|0),n[(n[c>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=f;n[(n[i+16>>2]|0)+116>>2]=f;return}function qQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var a=0,t=0,c=0,s=0;c=n[e>>2]&3;t=(c|0)==3?e:e+48|0;c=(c|0)==2?e:e+-48|0;c=n[(n[(n[((n[(n[(n[t+40>>2]|0)+16>>2]|0)+232>>2]|0)>(n[(n[(n[c+40>>2]|0)+16>>2]|0)+232>>2]|0)?t:c)+40>>2]|0)+16>>2]|0)+232>>2]|0;t=e+16|0;e=(n[t>>2]|0)+172|0;if(n[e>>2]|0)BA(80440,80462,148,80471);n[e>>2]=i;a=(r|0)==0;do{e=n[t>>2]|0;if(a)r=n[i+16>>2]|0;else{r=n[i+16>>2]|0;s=r+168|0;f[s>>1]=(l[s>>1]|0)+(l[e+168>>1]|0)}s=r+154|0;f[s>>1]=(l[s>>1]|0)+(l[e+154>>1]|0);r=r+156|0;n[r>>2]=(n[r>>2]|0)+(n[e+156>>2]|0);e=i+-48|0;r=n[((n[i>>2]&3|0)==2?i:e)+40>>2]|0;if((n[(n[r+16>>2]|0)+232>>2]|0)==(c|0))break;$Q(A,r);i=n[n[(n[(n[((n[i>>2]&3|0)==2?i:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((i|0)!=0);return}function $Q(A,e){A=A|0;e=e|0;var i=0.0;i=+((n[(n[A+16>>2]|0)+248>>2]|0)/2|0|0);e=n[e+16>>2]|0;A=e+88|0;s[A>>3]=+s[A>>3]+i;e=e+96|0;s[e>>3]=+s[e>>3]+i;return}function AE(A,e){A=A|0;e=e|0;var i=0,r=0;if(((((A|0)!=0&(e|0)!=0?(r=n[A>>2]&3,i=n[e>>2]&3,(n[((r|0)==3?A:A+48|0)+40>>2]|0)==(n[((i|0)==3?e:e+48|0)+40>>2]|0)):0)?(n[((r|0)==2?A:A+-48|0)+40>>2]|0)==(n[((i|0)==2?e:e+-48|0)+40>>2]|0):0)?(n[(n[A+16>>2]|0)+96>>2]|0)==(n[(n[e+16>>2]|0)+96>>2]|0):0)?(VM(A,e)|0)!=0:0)A=1;else A=0;return A|0}function eE(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0;w=A+16|0;e=n[w>>2]|0;n[e+192>>2]=0;n[e+232>>2]=0;wE(A);e=1;while(1){i=n[w>>2]|0;if((e|0)>(n[i+180>>2]|0))break;dE(A,n[(n[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}l=CV(A)|0;while(1){if(!l)break;a=bY(A,l)|0;while(1){if(!a)break;e=n[a>>2]|0;i=(n[(n[((e&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+160|0;f=r[i>>0]|0;if(f<<24>>24<3){r[i>>0]=f+1<<24>>24;e=n[a>>2]|0}e=(n[(n[((e&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+160|0;i=r[e>>0]|0;if(i<<24>>24<3)r[e>>0]=i+1<<24>>24;a=uY(A,a)|0}l=MV(A,l)|0}o=CV(A)|0;while(1){if(!o)break;if((n[(n[o+16>>2]|0)+212>>2]|0)==0?(o|0)==(SI(o)|0):0){La(A,o);b=(n[w>>2]|0)+232|0;n[b>>2]=(n[b>>2]|0)+1}e=0;b=bY(A,o)|0;while(1){if(!b)break;s=b+16|0;l=n[s>>2]|0;A:do{if(!(n[l+172>>2]|0)){if(iE(b)|0){if(!(AE(e,b)|0)){rE(A,b);e=b;break}i=n[(n[e+16>>2]|0)+172>>2]|0;if(i|0){qQ(A,b,i,0);pa(b);break}s=n[b>>2]&3;if((n[(n[(n[((s|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(n[(n[(n[((s|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;Sa(b,e);pa(b);break}if(e){t=n[b>>2]&3;i=b+48|0;f=n[((t|0)==3?b:i)+40>>2]|0;a=n[e>>2]&3;if((f|0)==(n[((a|0)==3?e:e+48|0)+40>>2]|0)?(u=n[((t|0)==2?b:b+-48|0)+40>>2]|0,(u|0)==(n[((a|0)==2?e:e+-48|0)+40>>2]|0)):0){if((n[(n[f+16>>2]|0)+232>>2]|0)==(n[(n[u+16>>2]|0)+232>>2]|0)){Sa(b,e);pa(b);break}if(((n[l+96>>2]|0)==0?(v=e+16|0,(n[(n[v>>2]|0)+96>>2]|0)==0):0)?(VM(b,e)|0)!=0:0)if(!(r[174072]|0)){qQ(A,b,n[(n[v>>2]|0)+172>>2]|0,1);pa(b);break}else{r[(n[s>>2]|0)+112>>0]=6;break}else t=i}else t=i}else t=b+48|0;l=n[b>>2]&3;i=n[((l|0)==3?b:t)+40>>2]|0;c=b+-48|0;if((i|0)==(n[((l|0)==2?b:c)+40>>2]|0)){pa(b);e=b;break}i=SI(i)|0;f=SI(n[((n[b>>2]&3|0)==2?b:c)+40>>2]|0)|0;l=n[b>>2]&3;if((n[((l|0)==3?b:t)+40>>2]|0)==(i|0)?(n[((l|0)==2?b:c)+40>>2]|0)==(f|0):0){a=n[(n[i+16>>2]|0)+232>>2]|0;l=n[(n[f+16>>2]|0)+232>>2]|0;if((a|0)==(l|0)){Ua(A,b);e=b;break}if((l|0)>(a|0)){fE(A,i,f,b);e=b;break}i=IY(A,f,i,0,0)|0;do{if(i|0?(B=n[i>>2]&3,k=n[((B|0)==2?i:i+-48|0)+40>>2]|0,(k|0)!=(n[((n[b>>2]&3|0)==2?b:c)+40>>2]|0)):0){f=i+16|0;if(!(n[(n[f>>2]|0)+172>>2]|0))fE(A,n[((B|0)==3?i:i+48|0)+40>>2]|0,k,i);if((n[(n[s>>2]|0)+96>>2]|0)==0?(n[(n[f>>2]|0)+96>>2]|0)==0:0){if(!(VM(b,i)|0))break;if(!(r[174072]|0)){pa(b);qQ(A,b,n[(n[f>>2]|0)+172>>2]|0,1);break A}else{r[(n[s>>2]|0)+112>>0]=6;r[(n[f>>2]|0)+153>>0]=1;break A}}}}while(0);e=n[b>>2]&3;fE(A,n[((e|0)==2?b:c)+40>>2]|0,n[((e|0)==3?b:t)+40>>2]|0,b);e=b}}else e=b}while(0);b=uY(A,b)|0}o=MV(A,o)|0}if((Jn(A)|0)!=(A|0)){e=n[(n[w>>2]|0)+216>>2]|0;if(!e)e=Ng(4)|0;else e=pg(e,4)|0;w=n[w>>2]|0;n[w+216>>2]=e;n[e>>2]=n[w+192>>2]}return}function iE(A){A=A|0;var e=0;e=n[A>>2]&3;if((r[(n[(n[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)A=1;else A=(r[(n[(n[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7&1;return A|0}function rE(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0;f=lE(n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;a=lE(n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;t=(n[(n[f+16>>2]|0)+232>>2]|0)>(n[(n[a+16>>2]|0)+232>>2]|0);i=t?f:a;f=t?a:f;a=f+16|0;t=i+16|0;A:do{if((n[(n[a>>2]|0)+212>>2]|0)!=(n[(n[t>>2]|0)+212>>2]|0)){l=Ya(f,i)|0;if(l|0){qQ(A,e,l,1);break}if((n[(n[a>>2]|0)+232>>2]|0)!=(n[(n[t>>2]|0)+232>>2]|0)){fE(A,f,i,e);i=(n[e+16>>2]|0)+172|0;while(1){i=n[i>>2]|0;if(!i)break A;f=i+-48|0;if((n[(n[(n[((n[i>>2]&3|0)==2?i:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(n[(n[t>>2]|0)+232>>2]|0))break A;r[(n[i+16>>2]|0)+112>>0]=5;i=n[(n[(n[((n[i>>2]&3|0)==2?i:f)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}}while(0);return}function fE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0,s=0;s=r+16|0;f=n[s>>2]|0;if(!(n[f+96>>2]|0))c=-1;else c=((n[(n[i+16>>2]|0)+232>>2]|0)+(n[(n[e+16>>2]|0)+232>>2]|0)|0)/2|0;if(n[f+172>>2]|0)BA(80483,80462,89,80508);t=i+16|0;l=n[(n[e+16>>2]|0)+232>>2]|0;while(1){a=l+1|0;f=n[(n[t>>2]|0)+232>>2]|0;if((l|0)>=(f|0))break;if((a|0)<(f|0)){if((a|0)==(c|0))f=nE(A,r)|0;else f=aE(A)|0;n[(n[f+16>>2]|0)+232>>2]=a}else f=i;xC(Fa(e,f,r)|0);l=a;e=f}if(!(n[(n[s>>2]|0)+172>>2]|0))BA(80519,80462,103,80508);else return}function nE(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,a=0,l=0,t=0.0;l=e+16|0;a=n[(n[l>>2]|0)+96>>2]|0;i=+s[a+24>>3];f=+s[a+32>>3];a=xa(A)|0;e=a+16|0;n[(n[e>>2]|0)+104>>2]=n[(n[l>>2]|0)+96>>2];t=+(n[(n[(FV(a)|0)+16>>2]|0)+248>>2]|0);s[(n[e>>2]|0)+88>>3]=t;if(!(r[(n[l>>2]|0)+114>>0]|0)){A=(n[(n[(FV(A)|0)+16>>2]|0)+116>>2]&1|0)==0;l=n[e>>2]|0;s[l+80>>3]=A?f:i;s[l+96>>3]=A?i:f}return a|0}function aE(A){A=A|0;var e=0;e=xa(A)|0;$Q(A,e);return e|0}function lE(A){A=A|0;var e=0;e=n[A+16>>2]|0;if((r[e+159>>0]|0)==7)A=n[(n[(n[(n[e+212>>2]|0)+16>>2]|0)+268>>2]|0)+(n[e+232>>2]<<2)>>2]|0;else A=SI(A)|0;return A|0}function tE(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;c=Jn(A)|0;l=CV(A)|0;while(1){if(!l)break;e=kY(c,l)|0;t=0;while(1){if(!e)break;b=wY(c,e,l)|0;if(OV(A,e)|0){s=t;e=b;t=s;continue}s=(n[e>>2]&3|0)==2?e:e+-48|0;o=(AE(t,s)|0)==0;r=n[s>>2]&3;e=n[((r|0)==3?s:s+48|0)+40>>2]|0;i=n[(n[e+16>>2]|0)+232>>2]|0;r=n[((r|0)==2?s:s+-48|0)+40>>2]|0;f=n[(n[r+16>>2]|0)+232>>2]|0;a=(i|0)==(f|0);if(!o){n[(n[s+16>>2]|0)+172>>2]=a?t:0;e=n[(n[t+16>>2]|0)+172>>2]|0;if(!e){o=t;e=b;t=o;continue}qQ(A,s,e,0);Ra(s);o=t;e=b;t=o;continue}if(!a)if((f|0)>(i|0)){cE(e,r,s);e=b;t=s;continue}else{cE(r,e,s);e=b;t=s;continue}e=Wa(e,r)|0;if(!e){Ua(c,s);e=b;t=s;continue}if((s|0)==(e|0)){o=t;e=b;t=o;continue}Ra(s);if(n[(n[s+16>>2]|0)+172>>2]|0){o=t;e=b;t=o;continue}Sa(s,e);o=t;e=b;t=o}l=MV(A,l)|0}return}function cE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=sE(A)|0;r=sE(e)|0;bE(f,r,i,n[(n[i+16>>2]|0)+172>>2]|0,(f|0)==(A|0)&(r|0)==(e|0)?1:5);return}function sE(A){A=A|0;var e=0,i=0,f=0;e=n[A+16>>2]|0;i=n[e+212>>2]|0;if((i|0)!=0?(f=n[i+16>>2]|0,(r[f+272>>0]|0)==0):0)A=n[(n[f+268>>2]|0)+(n[e+232>>2]<<2)>>2]|0;return A|0}function bE(A,e,i,a,l){A=A|0;e=e|0;i=i|0;a=a|0;l=l|0;var t=0,c=0,s=0,b=0,o=0,u=0,v=0;u=A+16|0;s=n[(n[u>>2]|0)+232>>2]|0;v=e+16|0;t=n[(n[v>>2]|0)+232>>2]|0;if((t|0)<=(s|0))BA(80544,80572,81,80582);o=n[a>>2]&3;if(!((n[((o|0)==3?a:a+48|0)+40>>2]|0)==(A|0)?(n[((o|0)==2?a:a+-48|0)+40>>2]|0)==(e|0):0))b=5;A:do{if((b|0)==5){if((f[(n[a+16>>2]|0)+168>>1]|0)>1){n[(n[i+16>>2]|0)+172>>2]=0;if(((t-s|0)==1?(c=Ya(A,e)|0,c|0):0)?VM(i,c)|0:0){Sa(i,c);if(r[(n[u>>2]|0)+156>>0]|0)break;if(r[(n[v>>2]|0)+156>>0]|0)break;pa(i);break}o=l&255;l=A;b=n[(n[u>>2]|0)+232>>2]|0;while(1){t=n[(n[v>>2]|0)+232>>2]|0;if((b|0)>=(t|0))break A;if((b|0)<(t+-1|0)){t=Jn(A)|0;c=a+-48|0;t=oE(t,n[((n[a>>2]&3|0)==2?a:c)+40>>2]|0)|0;s=a}else{t=e;c=a+-48|0;s=a}r[(n[(Fa(l,t,i)|0)+16>>2]|0)+112>>0]=o;u=(n[a+16>>2]|0)+168|0;f[u>>1]=(f[u>>1]|0)+-1<<16>>16;l=t;b=b+1|0;a=n[n[(n[(n[((n[s>>2]&3|0)==2?a:c)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do{if((t-s|0)==1){a=Ya(A,e)|0;if(a|0?VM(i,a)|0:0){n[(n[i+16>>2]|0)+172>>2]=a;o=n[a+16>>2]|0;r[o+112>>0]=l;o=o+168|0;f[o>>1]=(f[o>>1]|0)+1<<16>>16;if(r[(n[u>>2]|0)+156>>0]|0)break;if(r[(n[v>>2]|0)+156>>0]|0)break;pa(i);break}n[(n[i+16>>2]|0)+172>>2]=0;a=Fa(A,e,i)|0;r[(n[a+16>>2]|0)+112>>0]=l}}while(0);t=n[(n[v>>2]|0)+232>>2]|0;if((t-(n[(n[u>>2]|0)+232>>2]|0)|0)>1){if((n[((n[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)==(A|0))b=t;else{u=i+16|0;n[(n[u>>2]|0)+172>>2]=0;b=Fa(A,n[((n[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0,i)|0;n[(n[u>>2]|0)+172>>2]=b;za(a);a=b;b=n[(n[v>>2]|0)+232>>2]|0}while(1){t=n[a>>2]&3;c=n[((t|0)==2?a:a+-48|0)+40>>2]|0;s=n[c+16>>2]|0;if((n[s+232>>2]|0)==(b|0))break;a=n[n[s+180>>2]>>2]|0}if((c|0)!=(e|0)){r[(n[(Fa(n[((t|0)==3?a:a+48|0)+40>>2]|0,e,i)|0)+16>>2]|0)+112>>0]=l;za(a)}}}}while(0);return}function oE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=e+16|0;e=n[i>>2]|0;r=n[e+232>>2]|0;uE(A,r,n[e+236>>2]|0,2);e=xa(A)|0;i=n[i>>2]|0;f=n[e+16>>2]|0;s[f+88>>3]=+s[i+88>>3];s[f+96>>3]=+s[i+96>>3];n[f+232>>2]=n[i+232>>2];i=(n[i+236>>2]|0)+1|0;n[f+236>>2]=i;n[(n[(n[(n[A+16>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(i<<2)>>2]=e;return e|0}function uE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0;l=A+16|0;f=n[(n[l>>2]|0)+196>>2]|0;t=n[f+(e<<6)+4>>2]|0;A:do{if((r|0)<1){i=i-r|0;while(1){a=i+1|0;A=n[f+(e<<6)>>2]|0;if((a|0)>=(A|0))break;A=n[t+(a<<2)>>2]|0;f=i+r|0;n[(n[A+16>>2]|0)+236>>2]=f;n[t+(f<<2)>>2]=A;i=a;f=n[(n[l>>2]|0)+196>>2]|0}a=r+-1|0;i=a+A|0;while(1){if((i|0)>=(A|0))break A;n[t+(i<<2)>>2]=0;f=n[(n[l>>2]|0)+196>>2]|0;i=i+1|0;A=n[f+(e<<6)>>2]|0}}else{a=r+-1|0;A=n[f+(e<<6)>>2]|0;while(1){A=A+-1|0;if((A|0)<=(i|0))break;c=n[t+(A<<2)>>2]|0;f=a+A|0;n[(n[c+16>>2]|0)+236>>2]=f;n[t+(f<<2)>>2]=c}f=r+i|0;A=i;while(1){A=A+1|0;if((A|0)>=(f|0))break;n[t+(A<<2)>>2]=0}A=n[(n[l>>2]|0)+196>>2]|0;f=A;A=n[A+(e<<6)>>2]|0}}while(0);n[f+(e<<6)>>2]=a+A;return}function vE(A){A=A|0;var e=0;eE(A);e=n[A+16>>2]|0;n[e+220>>2]=1;n[n[e+216>>2]>>2]=n[e+192>>2];DC(A);Rl(A,0);BE(A);tE(A);kE(A);return}function BE(A){A=A|0;var e=0,i=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;s=Jn(A)|0;b=A+16|0;i=n[b>>2]|0;c=f[i+236>>1]|0;e=c<<16>>16;o=s+16|0;if(c<<16>>16>0)r[(n[(n[o>>2]|0)+196>>2]|0)+(e+-1<<6)+49>>0]=0;c=e;while(1){if((c|0)>(f[i+238>>1]|0))break;t=n[(n[(n[(n[i+268>>2]|0)+(c<<2)>>2]|0)+16>>2]|0)+236>>2]|0;uE(s,c,t,n[(n[i+196>>2]|0)+(c<<6)>>2]|0);a=0;l=t;while(1){i=n[b>>2]|0;e=n[i+196>>2]|0;if((a|0)>=(n[e+(c<<6)>>2]|0))break;e=n[(n[e+(c<<6)+4>>2]|0)+(a<<2)>>2]|0;n[(n[(n[(n[o>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(l<<2)>>2]=e;i=n[e+16>>2]|0;n[i+236>>2]=l;if((r[i+156>>0]|0)==1)n[e+24>>2]=FV(s)|0;Xa(A,e);La(s,e);i=(n[o>>2]|0)+232|0;n[i>>2]=(n[i>>2]|0)+1;a=a+1|0;l=l+1|0}l=n[(n[o>>2]|0)+196>>2]|0;n[e+(c<<6)+4>>2]=(n[l+(c<<6)+4>>2]|0)+(t<<2);r[l+(c<<6)+49>>0]=0;c=c+1|0}e=n[o>>2]|0;if((c|0)<(f[e+238>>1]|0))r[(n[e+196>>2]|0)+(c<<6)+49>>0]=0;r[i+272>>0]=1;return}function kE(A){A=A|0;var e=0,i=0,r=0,a=0,l=0,t=0;t=A+16|0;e=n[t>>2]|0;l=f[e+236>>1]|0;while(1){if((l|0)>(f[e+238>>1]|0))break;r=n[(n[e+268>>2]|0)+(l<<2)>>2]|0;a=r+16|0;while(1){e=n[a>>2]|0;i=n[n[e+180>>2]>>2]|0;if(!i)break;za(i)}while(1){e=n[n[e+172>>2]>>2]|0;if(!e)break;za(e);e=n[a>>2]|0}Xa(Jn(A)|0,r);n[(n[(n[t>>2]|0)+268>>2]|0)+(l<<2)>>2]=0;l=l+1|0;e=n[t>>2]|0}return}function wE(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;u=v;v=v+16|0;o=u;f=CV(A)|0;while(1){if(!f)break;i=f+16|0;e=n[i>>2]|0;if((r[e+159>>0]|0)==7){KI(f);e=n[i>>2]|0}n[e+212>>2]=0;f=MV(A,f)|0}b=A+16|0;s=1;while(1){e=n[b>>2]|0;if((s|0)>(n[e+180>>2]|0))break;l=n[(n[e+184>>2]|0)+(s<<2)>>2]|0;t=l+16|0;e=CV(l)|0;A:while(1){if(!e)break;c=MV(l,e)|0;i=e+16|0;if(r[(n[i>>2]|0)+159>>0]|0){f=qY(e)|0;a=qY(A)|0;n[o>>2]=f;n[o+4>>2]=a;Gy(0,80591,o)|0;PV(l,e)|0;e=c;continue}_I(e,n[(n[t>>2]|0)+264>>2]|0);a=n[i>>2]|0;n[a+212>>2]=l;r[a+159>>0]=7;a=bY(l,e)|0;while(1){if(!a){e=c;continue A}e=n[(n[a+16>>2]|0)+172>>2]|0;e:do{if(e|0)do{i=e+-48|0;f=n[(n[((n[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0;if((r[f+156>>0]|0)!=1)break e;n[f+212>>2]=l;e=n[n[(n[(n[((n[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);a=uY(l,a)|0}}s=s+1|0}v=u;return}function dE(A,e){A=A|0;e=e|0;var i=0,a=0,l=0,t=0,c=0,s=0;s=e+16|0;a=Jg((f[(n[s>>2]|0)+238>>1]<<2)+8|0)|0;i=n[s>>2]|0;n[i+268>>2]=a;a=0;l=f[i+236>>1]|0;while(1){if((l|0)>(f[i+238>>1]|0))break;i=xa(A)|0;n[(n[(n[s>>2]|0)+268>>2]|0)+(l<<2)>>2]=i;c=n[i+16>>2]|0;n[c+232>>2]=l;r[c+159>>0]=7;n[c+212>>2]=e;if(a|0){c=(n[(Fa(a,i,0)|0)+16>>2]|0)+154|0;f[c>>1]=(f[c>>1]|0)*1e3}a=i;l=l+1|0;i=n[s>>2]|0}c=CV(e)|0;while(1){i=n[s>>2]|0;if(!c)break;l=(n[(n[i+268>>2]|0)+(n[(n[c+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;i=(n[l>>2]|0)+216|0;n[i>>2]=(n[i>>2]|0)+1;i=bY(e,c)|0;while(1){if(!i)break;t=n[i>>2]|0;A=i+-48|0;a=n[(n[(n[((t&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((a|0)>=(n[(n[(n[((t&3|0)==2?i:A)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;t=(n[(n[n[(n[l>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;f[t>>1]=(f[t>>1]|0)+1<<16>>16;a=a+1|0;t=n[i>>2]|0}i=uY(e,i)|0}c=MV(e,c)|0}A=f[i+238>>1]|0;t=i+268|0;i=f[i+236>>1]|0;while(1){if((i|0)>(A|0))break;a=(n[(n[(n[t>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+216|0;l=n[a>>2]|0;if((l|0)>1)n[a>>2]=l+-1;i=i+1|0}return}function hE(A,e,i,a){A=A|0;e=e|0;i=i|0;a=a|0;var l=0,t=0,c=0,s=0;s=(n[(n[e+16>>2]|0)+212>>2]|0)+16|0;e=n[s>>2]|0;c=i+1|0;if((c|0)!=(r[e+273>>0]|0)){t=f[e+236>>1]|0;while(1){l=f[e+238>>1]|0;if((t|0)>(l<<16>>16|0))break;ql(A,n[(n[e+268>>2]|0)+(t<<2)>>2]|0);t=t+1|0;e=n[s>>2]|0}t=f[e+236>>1]|0;while(1){if((t|0)>(l<<16>>16|0))break;$l(a,n[(n[e+268>>2]|0)+(t<<2)>>2]|0,i);A=n[s>>2]|0;t=t+1|0;l=f[A+238>>1]|0;e=A}r[e+273>>0]=c}return}function gE(A){A=A|0;var e=0,i=0,f=0,a=0,l=0;l=CV(A)|0;while(1){if(!l)break;n[(n[l+16>>2]|0)+212>>2]=0;a=bY(A,l)|0;while(1){if(!a)break;e=n[(n[a+16>>2]|0)+172>>2]|0;A:do{if(e|0)do{i=e+-48|0;f=n[(n[((n[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0;if((r[f+156>>0]|0)!=1)break A;n[f+212>>2]=0;e=n[n[(n[(n[((n[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);a=uY(A,a)|0}l=MV(A,l)|0}ZE(A);return}function ZE(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;i=A+16|0;e=1;while(1){f=n[i>>2]|0;if((e|0)>(n[f+180>>2]|0))break;ZE(n[(n[f+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}t=CV(A)|0;while(1){if(!t)break;e=(n[t+16>>2]|0)+212|0;if(!(n[e>>2]|0))n[e>>2]=A;l=bY(A,t)|0;while(1){if(!l)break;e=n[(n[l+16>>2]|0)+172>>2]|0;A:do{if(e|0)do{i=n[e>>2]|0;a=e+-48|0;f=n[(n[((i&3|0)==2?e:a)+40>>2]|0)+16>>2]|0;if((r[f+156>>0]|0)!=1)break A;f=f+212|0;if(!(n[f>>2]|0)){n[f>>2]=A;i=n[e>>2]|0}e=n[n[(n[(n[((i&3|0)==2?e:a)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);l=uY(A,l)|0}t=MV(A,t)|0}return}function GE(A){A=A|0;var e=0,i=0,r=0;r=gC(A)|0;i=CV(A)|0;while(1){if(!i)break;e=bY(A,i)|0;while(1){if(!e)break;mE(e,r);e=uY(A,e)|0}i=MV(A,i)|0}ay(r)|0;return}function mE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0;P=v;v=v+320|0;J=P+296|0;W=P+280|0;m=P+136|0;G=P+120|0;o=P+104|0;t=P+88|0;f=P+80|0;Y=P+16|0;C=P;c=P+264|0;s=P+248|0;b=P+232|0;u=P+216|0;M=P+200|0;Q=P+184|0;I=P+168|0;y=P+152|0;a=IE(fY(A,80645)|0,e)|0;k=IE(fY(A,80651)|0,e)|0;w=(k|0)!=0;e=(a|0)!=0;do{if(e|w?(R=A+16|0,r=n[(n[R>>2]|0)+8>>2]|0,r|0):0){if((n[r+4>>2]|0)>1){p=qY(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;R=qY(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;n[f>>2]=p;n[f+4>>2]=R;Gy(0,80657,f)|0;break}N=n[r>>2]|0;r=n[N+4>>2]|0;B=n[A>>2]&3;d=A+-48|0;h=n[((B|0)==2?A:d)+40>>2]|0;g=A+48|0;B=n[((B|0)==3?A:g)+40>>2]|0;z=Ng(48)|0;Z=N+12|0;n[z+12>>2]=n[Z>>2];E=N+8|0;n[z+8>>2]=n[E>>2];do{if(e){l=(n[a+16>>2]|0)+16|0;a=(n[h+16>>2]|0)+16|0;n[J>>2]=n[a>>2];n[J+4>>2]=n[a+4>>2];n[J+8>>2]=n[a+8>>2];n[J+12>>2]=n[a+12>>2];if(!(CE(J,l)|0)){u=qY(n[((n[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;V=qY(n[((n[A>>2]&3|0)==2?A:d)+40>>2]|0)|0;p=fY(A,80645)|0;n[t>>2]=u;n[t+4>>2]=V;n[t+8>>2]=p;Gy(0,80698,t)|0;p=26;break}e=n[N>>2]|0;n[J>>2]=n[e>>2];n[J+4>>2]=n[e+4>>2];n[J+8>>2]=n[e+8>>2];n[J+12>>2]=n[e+12>>2];if(CE(J,l)|0){V=(n[B+16>>2]|0)+16|0;n[J>>2]=n[V>>2];n[J+4>>2]=n[V+4>>2];n[J+8>>2]=n[V+8>>2];n[J+12>>2]=n[V+12>>2];if(CE(J,l)|0){u=qY(n[((n[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;V=qY(n[((n[A>>2]&3|0)==2?A:d)+40>>2]|0)|0;p=fY(A,80645)|0;n[o>>2]=u;n[o+4>>2]=V;n[o+8>>2]=p;Gy(0,80741,o)|0;p=26;break}if(!(n[E>>2]|0))BA(80783,80794,369,80805);u=N+16|0;n[W>>2]=n[e>>2];n[W+4>>2]=n[e+4>>2];n[W+8>>2]=n[e+8>>2];n[W+12>>2]=n[e+12>>2];n[J>>2]=n[u>>2];n[J+4>>2]=n[u+4>>2];n[J+8>>2]=n[u+8>>2];n[J+12>>2]=n[u+12>>2];ME(C,W,J,l);V=(n[N>>2]|0)+48|0;n[V>>2]=n[C>>2];n[V+4>>2]=n[C+4>>2];n[V+8>>2]=n[C+8>>2];n[V+12>>2]=n[C+12>>2];V=(n[N>>2]|0)+16|0;n[W>>2]=n[C>>2];n[W+4>>2]=n[C+4>>2];n[W+8>>2]=n[C+8>>2];n[W+12>>2]=n[C+12>>2];n[J>>2]=n[u>>2];n[J+4>>2]=n[u+4>>2];n[J+8>>2]=n[u+8>>2];n[J+12>>2]=n[u+12>>2];QE(c,W,J);n[V>>2]=n[c>>2];n[V+4>>2]=n[c+4>>2];n[V+8>>2]=n[c+8>>2];n[V+12>>2]=n[c+12>>2];V=n[N>>2]|0;e=V+16|0;n[W>>2]=n[e>>2];n[W+4>>2]=n[e+4>>2];n[W+8>>2]=n[e+8>>2];n[W+12>>2]=n[e+12>>2];n[J>>2]=n[u>>2];n[J+4>>2]=n[u+4>>2];n[J+8>>2]=n[u+8>>2];n[J+12>>2]=n[u+12>>2];QE(s,W,J);n[V>>2]=n[s>>2];n[V+4>>2]=n[s+4>>2];n[V+8>>2]=n[s+8>>2];n[V+12>>2]=n[s+12>>2];V=n[N>>2]|0;e=V+32|0;V=V+16|0;n[W>>2]=n[V>>2];n[W+4>>2]=n[V+4>>2];n[W+8>>2]=n[V+8>>2];n[W+12>>2]=n[V+12>>2];n[J>>2]=n[C>>2];n[J+4>>2]=n[C+4>>2];n[J+8>>2]=n[C+8>>2];n[J+12>>2]=n[C+12>>2];QE(b,W,J);n[e>>2]=n[b>>2];n[e+4>>2]=n[b+4>>2];n[e+8>>2]=n[b+8>>2];n[e+12>>2]=n[b+12>>2];e=n[Z>>2]|0;if(!e){V=3;break}V=(_w(A,n[N>>2]|0,0,0,z,e)|0)+3|0;break}a=r+-1|0;e=0;while(1){if((e|0)>=(a|0))break;if(EE((n[N>>2]|0)+(e<<4)|0,l)|0)break;e=e+3|0}r=n[Z>>2]|0;f=(r|0)!=0;if((e|0)==(a|0))if(f){V=z+32|0;b=N+32|0;o=(n[N>>2]|0)+(a<<4)|0;n[W>>2]=n[b>>2];n[W+4>>2]=n[b+4>>2];n[W+8>>2]=n[b+8>>2];n[W+12>>2]=n[b+12>>2];n[J>>2]=n[o>>2];n[J+4>>2]=n[o+4>>2];n[J+8>>2]=n[o+8>>2];n[J+12>>2]=n[o+12>>2];ME(u,W,J,l);n[V>>2]=n[u>>2];n[V+4>>2]=n[u+4>>2];n[V+8>>2]=n[u+8>>2];n[V+12>>2]=n[u+12>>2];V=a;break}else BA(80822,80794,387,80805);else{if(f)e=_w(A,n[N>>2]|0,0,e,z,r)|0;V=e+3|0;break}}else p=26}while(0);if((p|0)==26){e=r+-1|0;if(!(n[Z>>2]|0))V=e;else{V=z+32|0;u=N+32|0;n[V>>2]=n[u>>2];n[V+4>>2]=n[u+4>>2];n[V+8>>2]=n[u+8>>2];n[V+12>>2]=n[u+12>>2];V=e}}do{if(w){f=(n[k+16>>2]|0)+16|0;w=(n[B+16>>2]|0)+16|0;n[J>>2]=n[w>>2];n[J+4>>2]=n[w+4>>2];n[J+8>>2]=n[w+8>>2];n[J+12>>2]=n[w+12>>2];if(!(CE(J,f)|0)){W=qY(n[((n[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;J=qY(n[((n[A>>2]&3|0)==2?A:d)+40>>2]|0)|0;p=fY(A,80651)|0;n[G>>2]=W;n[G+4>>2]=J;n[G+8>>2]=p;Gy(0,80833,G)|0;p=52;break}e=(n[N>>2]|0)+(V<<4)|0;n[J>>2]=n[e>>2];n[J+4>>2]=n[e+4>>2];n[J+8>>2]=n[e+8>>2];n[J+12>>2]=n[e+12>>2];if(CE(J,f)|0){Y=(n[h+16>>2]|0)+16|0;n[J>>2]=n[Y>>2];n[J+4>>2]=n[Y+4>>2];n[J+8>>2]=n[Y+8>>2];n[J+12>>2]=n[Y+12>>2];if(CE(J,f)|0){W=qY(n[((n[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;J=qY(n[((n[A>>2]&3|0)==2?A:d)+40>>2]|0)|0;p=fY(A,80651)|0;n[m>>2]=W;n[m+4>>2]=J;n[m+8>>2]=p;Gy(0,80876,m)|0;p=52;break}if(!(n[Z>>2]|0))BA(80822,80794,429,80805);m=z+32|0;n[W>>2]=n[e>>2];n[W+4>>2]=n[e+4>>2];n[W+8>>2]=n[e+8>>2];n[W+12>>2]=n[e+12>>2];n[J>>2]=n[m>>2];n[J+4>>2]=n[m+4>>2];n[J+8>>2]=n[m+8>>2];n[J+12>>2]=n[m+12>>2];ME(C,W,J,f);i=V+-3|0;Y=(n[N>>2]|0)+(i<<4)|0;n[Y>>2]=n[C>>2];n[Y+4>>2]=n[C+4>>2];n[Y+8>>2]=n[C+8>>2];n[Y+12>>2]=n[C+12>>2];Y=V+-1|0;e=(n[N>>2]|0)+(Y<<4)|0;n[W>>2]=n[C>>2];n[W+4>>2]=n[C+4>>2];n[W+8>>2]=n[C+8>>2];n[W+12>>2]=n[C+12>>2];n[J>>2]=n[m>>2];n[J+4>>2]=n[m+4>>2];n[J+8>>2]=n[m+8>>2];n[J+12>>2]=n[m+12>>2];QE(M,W,J);n[e>>2]=n[M>>2];n[e+4>>2]=n[M+4>>2];n[e+8>>2]=n[M+8>>2];n[e+12>>2]=n[M+12>>2];e=n[N>>2]|0;y=e+(V<<4)|0;e=e+(Y<<4)|0;n[W>>2]=n[e>>2];n[W+4>>2]=n[e+4>>2];n[W+8>>2]=n[e+8>>2];n[W+12>>2]=n[e+12>>2];n[J>>2]=n[m>>2];n[J+4>>2]=n[m+4>>2];n[J+8>>2]=n[m+8>>2];n[J+12>>2]=n[m+12>>2];QE(Q,W,J);n[y>>2]=n[Q>>2];n[y+4>>2]=n[Q+4>>2];n[y+8>>2]=n[Q+8>>2];n[y+12>>2]=n[Q+12>>2];y=n[N>>2]|0;e=y+(V+-2<<4)|0;Y=y+(Y<<4)|0;n[W>>2]=n[Y>>2];n[W+4>>2]=n[Y+4>>2];n[W+8>>2]=n[Y+8>>2];n[W+12>>2]=n[Y+12>>2];n[J>>2]=n[C>>2];n[J+4>>2]=n[C+4>>2];n[J+8>>2]=n[C+8>>2];n[J+12>>2]=n[C+12>>2];QE(I,W,J);n[e>>2]=n[I>>2];n[e+4>>2]=n[I+4>>2];n[e+8>>2]=n[I+8>>2];n[e+12>>2]=n[I+12>>2];e=n[E>>2]|0;if(!e)break;i=$w(A,n[N>>2]|0,i,i,z,e)|0;break}r=V;while(1){if((r|0)>0)e=0;else break;while(1){if((e|0)==4)break;Q=Y+(e<<4)|0;M=(n[N>>2]|0)+(r-e<<4)|0;n[Q>>2]=n[M>>2];n[Q+4>>2]=n[M+4>>2];n[Q+8>>2]=n[M+8>>2];n[Q+12>>2]=n[M+12>>2];e=e+1|0}if(EE(Y,f)|0){e=0;p=43;break}r=r+-3|0}A:do{if((p|0)==43)while(1){p=0;if((e|0)==4)break A;p=(n[N>>2]|0)+(r-e<<4)|0;Q=Y+(e<<4)|0;n[p>>2]=n[Q>>2];n[p+4>>2]=n[Q+4>>2];n[p+8>>2]=n[Q+8>>2];n[p+12>>2]=n[Q+12>>2];e=e+1|0;p=43}}while(0);if(r|0){i=r+-3|0;e=n[E>>2]|0;if(!e)break;i=$w(A,n[N>>2]|0,i,V+-3|0,z,e)|0;break}if(!(n[E>>2]|0))BA(80783,80794,452,80805);else{i=z+16|0;Y=N+16|0;A=n[N>>2]|0;n[W>>2]=n[Y>>2];n[W+4>>2]=n[Y+4>>2];n[W+8>>2]=n[Y+8>>2];n[W+12>>2]=n[Y+12>>2];n[J>>2]=n[A>>2];n[J+4>>2]=n[A+4>>2];n[J+8>>2]=n[A+8>>2];n[J+12>>2]=n[A+12>>2];ME(y,W,J,f);n[i>>2]=n[y>>2];n[i+4>>2]=n[y+4>>2];n[i+8>>2]=n[y+8>>2];n[i+12>>2]=n[y+12>>2];i=0;break}}else p=52}while(0);if((p|0)==52)if(!(n[E>>2]|0))i=0;else{i=z+16|0;p=N+16|0;n[i>>2]=n[p>>2];n[i+4>>2]=n[p+4>>2];n[i+8>>2]=n[p+8>>2];n[i+12>>2]=n[p+12>>2];i=0}e=V-i+1|0;r=z+4|0;n[r>>2]=e;n[z>>2]=Ng(e<<4)|0;e=0;while(1){if((e|0)>=(n[r>>2]|0))break;p=(n[z>>2]|0)+(e<<4)|0;A=(n[N>>2]|0)+(i<<4)|0;n[p>>2]=n[A>>2];n[p+4>>2]=n[A+4>>2];n[p+8>>2]=n[A+8>>2];n[p+12>>2]=n[A+12>>2];i=i+1|0;e=e+1|0}zN(n[N>>2]|0);zN(N);n[n[(n[R>>2]|0)+8>>2]>>2]=z}}while(0);v=P;return}function IE(A,e){A=A|0;e=e|0;var i=0,f=0;f=v;v=v+16|0;i=f;if((A|0)!=0?(r[A>>0]|0)!=0:0){e=ZC(e,A)|0;if(!e){n[i>>2]=A;Gy(0,80996,i)|0;e=0}}else e=0;v=f;return e|0}function CE(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+s[A>>3];if((+s[e>>3]<=r?r<=+s[e+16>>3]:0)?(i=+s[A+8>>3],+s[e+8>>3]<=i):0)A=i<=+s[e+24>>3]&1;else A=0;return A|0}function ME(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0,l=0,t=0.0,c=0.0,b=0.0,o=0,u=0.0,B=0.0,k=0.0,w=0.0,d=0.0,h=0.0,g=0,Z=0,G=0,m=0,I=0.0,C=0,M=0,Q=0,E=0;E=v;v=v+464|0;o=E+48|0;Q=E+32|0;g=E+16|0;Z=E;G=E+364|0;m=E+264|0;C=E+164|0;M=E+64|0;k=+s[e>>3];w=+s[e+8>>3];d=+s[i>>3];h=+s[i+8>>3];n[g>>2]=n[r>>2];n[g+4>>2]=n[r+4>>2];n[g+8>>2]=n[r+8>>2];n[g+12>>2]=n[r+12>>2];r=r+16|0;n[Z>>2]=n[r>>2];n[Z+4>>2]=n[r+4>>2];n[Z+8>>2]=n[r+8>>2];n[Z+12>>2]=n[r+12>>2];c=+s[g>>3];if((d<c?(f=w+ +(~~((c-k)*(w-h)/(k-d))|0),f>=+s[g+8>>3]):0)?f<=+s[Z+8>>3]:0){u=f;B=c}else l=4;do{if((l|0)==4){t=+s[Z>>3];if(d>t){a=w+ +(~~((t-k)*(w-h)/(k-d))|0);f=+s[g+8>>3];if(a>=f?a<=+s[Z+8>>3]:0){u=a;B=t;break}}else f=+s[g+8>>3];if(h<f?(b=k+ +(~~((f-w)*(k-d)/(w-h))|0),!(!(b>=c)|!(b<=t))):0){u=f;B=b;break}f=+s[Z+8>>3];if(h>f?(I=k+ +(~~((f-w)*(k-d)/(w-h))|0),!(!(I>=c)|!(I<=t))):0){u=f;B=I;break}n[o>>2]=n[e>>2];n[o+4>>2]=n[e+4>>2];n[o+8>>2]=n[e+8>>2];n[o+12>>2]=n[e+12>>2];G=JE(o,G)|0;n[o>>2]=n[i>>2];n[o+4>>2]=n[i+4>>2];n[o+8>>2]=n[i+8>>2];n[o+12>>2]=n[i+12>>2];m=JE(o,m)|0;n[o>>2]=n[g>>2];n[o+4>>2]=n[g+4>>2];n[o+8>>2]=n[g+8>>2];n[o+12>>2]=n[g+12>>2];C=JE(o,C)|0;n[o>>2]=n[Z>>2];n[o+4>>2]=n[Z+4>>2];n[o+8>>2]=n[Z+8>>2];n[o+12>>2]=n[Z+12>>2];M=JE(o,M)|0;n[Q>>2]=G;n[Q+4>>2]=m;n[Q+8>>2]=C;n[Q+12>>2]=M;Gy(1,80918,Q)|0;BA(123205,80794,78,80970)}}while(0);s[A>>3]=B;s[A+8>>3]=u;v=E;return}function QE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+s[i+8>>3]+ +s[e+8>>3])*.5;s[A>>3]=(+s[i>>3]+ +s[e>>3])*.5;s[A+8>>3]=r;return}function EE(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,a=0,l=0,t=0,c=0,b=0;b=v;v=v+80|0;t=b+16|0;c=b;r=0;while(1){if((r|0)==4)break;l=t+(r<<4)|0;a=A+(r<<4)|0;n[l>>2]=n[a>>2];n[l+4>>2]=n[a+4>>2];n[l+8>>2]=n[a+8>>2];n[l+12>>2]=n[a+12>>2];r=r+1|0}r=e+8|0;l=e+24|0;i=+yE(A,0.0,1.0,+s[e>>3],+s[r>>3],+s[l>>3]);if(i>=0.0&i<2.0)$I(c,t,3,i,A,0);else i=2.0;a=e+16|0;f=+yE(A,0.0,i>1.0?1.0:i,+s[a>>3],+s[r>>3],+s[l>>3]);if(f>=0.0&f<i){$I(c,t,3,f,A,0);i=f}f=+YE(A,0.0,i>1.0?1.0:i,+s[r>>3],+s[e>>3],+s[a>>3]);if(f>=0.0&f<i){$I(c,t,3,f,A,0);i=f}f=+YE(A,0.0,i>1.0?1.0:i,+s[l>>3],+s[e>>3],+s[a>>3]);if(f>=0.0&f<i){$I(c,t,3,f,A,0);i=f}v=b;return i<2.0|0}function yE(A,e,i,r,f,n){A=A|0;e=+e;i=+i;r=+r;f=+f;n=+n;var a=0.0,l=0,t=0,c=0,b=0;b=v;v=v+144|0;t=b+80|0;c=b+16|0;l=b;A:do{if(!(e==i)){switch(WE(A,r)|0){case 0:{e=-1.0;break A}case 1:{if(+Y(+(+s[A+48>>3]-r))<=.005){e=+s[A+56>>3];e=!(e>=f)|!(e<=n)?-1.0:i;break A}break}default:{}}$I(l,A,3,.5,t,c);a=(i+e)*.5;e=+yE(t,e,a,r,f,n);if(!(e>=0.0))e=+yE(c,a,i,r,f,n)}}while(0);v=b;return+e}function YE(A,e,i,r,f,n){A=A|0;e=+e;i=+i;r=+r;f=+f;n=+n;var a=0.0,l=0,t=0,c=0,b=0;b=v;v=v+144|0;t=b+80|0;c=b+16|0;l=b;A:do{if(!(e==i)){switch(VE(A,r)|0){case 0:{e=-1.0;break A}case 1:{if(+Y(+(+s[A+56>>3]-r))<=.005){e=+s[A+48>>3];e=!(e>=f)|!(e<=n)?-1.0:i;break A}break}default:{}}$I(l,A,3,.5,t,c);a=(i+e)*.5;e=+YE(t,e,a,r,f,n);if(!(e>=0.0))e=+YE(c,a,i,r,f,n)}}while(0);v=b;return+e}function VE(A,e){A=A|0;e=+e;var i=0,r=0,f=0,n=0.0,a=0,l=0;n=+s[A+8>>3];f=n<e?-1:n>e&1;i=1;r=f;f=(f|0)==0&1;while(1){if((i|0)==4)break;n=+s[A+(i<<4)+8>>3];l=n<e?-1:n>e&1;a=f+((r|0)!=0&(l|0)!=(r|0)&1)|0;i=i+1|0;r=l;f=a}return f|0}function WE(A,e){A=A|0;e=+e;var i=0,r=0,f=0,n=0.0,a=0,l=0;n=+s[A>>3];f=n<e?-1:n>e&1;i=1;r=f;f=(f|0)==0&1;while(1){if((i|0)==4)break;n=+s[A+(i<<4)>>3];l=n<e?-1:n>e&1;a=f+((r|0)!=0&(l|0)!=(r|0)&1)|0;i=i+1|0;r=l;f=a}return f|0}function JE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=v;v=v+16|0;r=i;f=+s[A+8>>3];s[r>>3]=+s[A>>3];s[r+8>>3]=f;_p(e,80984,r)|0;v=i;return e|0}function NE(A){A=A|0;var e=0,i=0,r=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,h=0,g=0,Z=0;Z=v;v=v+16|0;k=Z;g=4;h=NN(40)|0;n[h>>2]=0;B=A+16|0;i=n[B>>2]|0;A:do{if(((f[i+238>>1]|0)-(f[i+236>>1]|0)|0)>=2){b=1;e=i;i=n[i+196>>2]|0;e:while(1){o=b+1|0;if(!(n[i+(o<<6)>>2]|0)){u=15;break}else s=0;while(1){l=n[i+(b<<6)>>2]|0;if((s|0)>=(l|0)){b=o;continue e}c=n[(n[i+(b<<6)+4>>2]|0)+(s<<2)>>2]|0;w=0;e=eA(18,c|0)|0;r=w;w=0;if((r|0)!=0&(d|0)!=0){a=MH(n[r>>2]|0,h|0,g|0)|0;if(!a)OA(r|0,d|0);E=d}else a=-1;if((a|0)==1){e=E;break e}if(e<<24>>24){t=s;e=l;while(1){a=t+1|0;if((a|0)>=(e|0))break;w=0;e=iA(17,c|0,n[(n[i+(b<<6)+4>>2]|0)+(a<<2)>>2]|0)|0;i=w;w=0;if((i|0)!=0&(d|0)!=0){r=MH(n[i>>2]|0,h|0,g|0)|0;if(!r)OA(i|0,d|0);E=d}else r=-1;if((r|0)==1){e=E;break e}if(!(e<<24>>24))break;e=n[(n[B>>2]|0)+196>>2]|0;t=a;i=e;e=n[e+(b<<6)>>2]|0}if((a-s|0)>1){w=0;uA(6,A|0,b|0,s|0,t|0,1);e=w;w=0;if((e|0)!=0&(d|0)!=0){i=MH(n[e>>2]|0,h|0,g|0)|0;if(!i)OA(e|0,d|0);E=d}else i=-1;if((i|0)==1){e=E;break e}}}i=n[B>>2]|0;s=s+1|0;e=i;i=n[i+196>>2]|0}}e:do{if((u|0)==15){while(1){if((b|0)>0)s=0;else break;while(1){i=n[e+196>>2]|0;l=n[i+(b<<6)>>2]|0;if((s|0)>=(l|0))break;c=n[(n[i+(b<<6)+4>>2]|0)+(s<<2)>>2]|0;w=0;e=eA(19,c|0)|0;r=w;w=0;if((r|0)!=0&(d|0)!=0){a=MH(n[r>>2]|0,h|0,g|0)|0;if(!a)OA(r|0,d|0);E=d}else a=-1;if((a|0)==1){e=E;break e}if(e<<24>>24){t=s;e=l;while(1){a=t+1|0;if((a|0)>=(e|0))break;w=0;e=iA(18,c|0,n[(n[i+(b<<6)+4>>2]|0)+(a<<2)>>2]|0)|0;i=w;w=0;if((i|0)!=0&(d|0)!=0){r=MH(n[i>>2]|0,h|0,g|0)|0;if(!r)OA(i|0,d|0);E=d}else r=-1;if((r|0)==1){e=E;break e}if(!(e<<24>>24))break;e=n[(n[B>>2]|0)+196>>2]|0;t=a;i=e;e=n[e+(b<<6)>>2]|0}if((a-s|0)>1){w=0;uA(6,A|0,b|0,s|0,t|0,0);e=w;w=0;if((e|0)!=0&(d|0)!=0){i=MH(n[e>>2]|0,h|0,g|0)|0;if(!i)OA(e|0,d|0);E=d}else i=-1;if((i|0)==1){e=E;break e}}}s=s+1|0;e=n[B>>2]|0}b=b+-1|0;u=15}h=CH(167760,1,h|0,g|0)|0;g=E;w=0;e=w;w=0;if((e|0)!=0&(d|0)!=0){i=MH(n[e>>2]|0,h|0,g|0)|0;if(!i)OA(e|0,d|0);E=d}else i=-1;if((i|0)==1)e=E;else e=0}}while(0);e:while(1){if(e){w=0;rA(11,3,81024,k|0)|0;e=w;w=0;if((e|0)!=0&(d|0)!=0){i=MH(n[e>>2]|0,h|0,g|0)|0;if(!i)OA(e|0,d|0);E=d}else i=-1;if((i|0)==1){e=E;continue}else break}else r=1;while(1){e=n[B>>2]|0;if((r|0)>(n[e+180>>2]|0))break A;w=0;tA(85,n[(n[e+184>>2]|0)+(r<<2)>>2]|0);e=w;w=0;if((e|0)!=0&(d|0)!=0){i=MH(n[e>>2]|0,h|0,g|0)|0;if(!i)OA(e|0,d|0);E=d}else i=-1;if((i|0)==1){e=E;continue e}r=r+1|0}}}}while(0);zN(h|0);v=Z;return}function zE(A){A=A|0;A=n[A+16>>2]|0;if(((r[A+156>>0]|0)==1?(n[A+176>>2]|0)==1:0)?(n[A+184>>2]|0)==1:0)A=(n[A+104>>2]|0)==0&1;else A=0;return A|0}function pE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;t=v;v=v+80|0;l=t+40|0;a=t;r=n[n[(n[A+16>>2]|0)+172>>2]>>2]|0;A=n[n[(n[e+16>>2]|0)+172>>2]>>2]|0;if(((zE(e)|0)<<24>>24!=0?(n[((n[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)==(n[((n[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0):0)?(DE(r,A)|0)<<24>>24!=0:0){i=(n[A+16>>2]|0)+16|0;f=a;A=(n[r+16>>2]|0)+16|0;e=f+40|0;do{n[f>>2]=n[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));f=l;A=i;e=f+40|0;do{n[f>>2]=n[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));A=(Nn(a,l)|0)==0&1}else A=0;v=t;return A|0}function RE(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0,d=0,h=0;h=A+16|0;k=n[(n[(n[(n[h>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(i<<2)>>2]|0;B=i+1|0;o=(f|0)==1;u=k+16|0;b=B;while(1){if((b|0)>(r|0)){a=r;d=B;break}v=n[(n[(n[(n[h>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(b<<2)>>2]|0;s=v+16|0;A:do{if(o)while(1){i=n[s>>2]|0;c=n[n[i+180>>2]>>2]|0;if(!c)break A;l=n[(n[u>>2]|0)+180>>2]|0;t=c+-48|0;f=0;while(1){i=n[l+(f<<2)>>2]|0;if(!i){w=8;break}if((n[((n[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)==(n[((n[c>>2]&3|0)==2?c:t)+40>>2]|0))break;else f=f+1|0}if((w|0)==8){w=0;i=Fa(k,n[((n[c>>2]&3|0)==2?c:t)+40>>2]|0,c)|0}while(1){f=n[n[(n[s>>2]|0)+172>>2]>>2]|0;if(!f)break;Sa(f,i);za(f)}za(c)}else while(1){i=n[s>>2]|0;c=n[n[i+172>>2]>>2]|0;if(!c)break A;l=n[(n[u>>2]|0)+172>>2]|0;t=c+48|0;f=0;while(1){i=n[l+(f<<2)>>2]|0;if(!i){w=17;break}if((n[((n[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)==(n[((n[c>>2]&3|0)==3?c:t)+40>>2]|0))break;else f=f+1|0}if((w|0)==17){w=0;i=Fa(n[((n[c>>2]&3|0)==3?c:t)+40>>2]|0,k,c)|0}while(1){f=n[n[(n[s>>2]|0)+180>>2]>>2]|0;if(!f)break;Sa(f,i);za(f)}za(c)}}while(0);if((n[i+176>>2]|0)!=(0-(n[i+184>>2]|0)|0)){w=23;break}Xa(A,v);b=b+1|0}if((w|0)==23)BA(81160,81204,115,81211);while(1){a=a+1|0;i=n[(n[h>>2]|0)+196>>2]|0;f=i+(e<<6)|0;if((a|0)>=(n[f>>2]|0))break;r=n[i+(e<<6)+4>>2]|0;w=n[r+(a<<2)>>2]|0;n[r+(d<<2)>>2]=w;n[(n[w+16>>2]|0)+236>>2]=d;d=d+1|0}n[f>>2]=d;n[(n[i+(e<<6)+4>>2]|0)+(d<<2)>>2]=0;return}function PE(A){A=A|0;A=n[A+16>>2]|0;if(((r[A+156>>0]|0)==1?(n[A+184>>2]|0)==1:0)?(n[A+176>>2]|0)==1:0)A=(n[A+104>>2]|0)==0&1;else A=0;return A|0}function HE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;t=v;v=v+80|0;l=t+40|0;a=t;r=n[n[(n[A+16>>2]|0)+180>>2]>>2]|0;A=n[n[(n[e+16>>2]|0)+180>>2]>>2]|0;if(((PE(e)|0)<<24>>24!=0?(n[((n[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)==(n[((n[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0):0)?(DE(r,A)|0)<<24>>24!=0:0){i=(n[A+16>>2]|0)+56|0;f=a;A=(n[r+16>>2]|0)+56|0;e=f+40|0;do{n[f>>2]=n[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));f=l;A=i;e=f+40|0;do{n[f>>2]=n[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));A=(Nn(a,l)|0)==0&1}else A=0;v=t;return A|0}function FE(A){A=A|0;var e=0,i=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0;w=v;v=v+32|0;B=w+16|0;u=w;b=A+16|0;i=n[b>>2]|0;e=f[i+236>>1]|0;while(1){if((e|0)>(f[i+238>>1]|0))break;n[(n[i+268>>2]|0)+(e<<2)>>2]=0;e=e+1|0;i=n[b>>2]|0}WM(A);c=CV(A)|0;while(1){if(!c)break;LE(A,c);t=bY(A,c)|0;while(1){if(!t)break;else i=t;while(1){e=n[(n[i+16>>2]|0)+172>>2]|0;if(!e)break;else i=e}l=t+-48|0;while(1){e=i+-48|0;a=n[((n[i>>2]&3|0)==2?i:e)+40>>2]|0;if((n[(n[a+16>>2]|0)+232>>2]|0)>=(n[(n[(n[((n[t>>2]&3|0)==2?t:l)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;LE(A,a);i=n[n[(n[(n[((n[i>>2]&3|0)==2?i:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}t=uY(A,t)|0}c=MV(A,c)|0}e=n[b>>2]|0;t=f[e+236>>1]|0;while(1){if((t|0)>(f[e+238>>1]|0)){s=1;o=e;break}e=n[(n[e+268>>2]|0)+(t<<2)>>2]|0;c=n[(n[(n[(Jn(A)|0)+16>>2]|0)+196>>2]|0)+(t<<6)+4>>2]|0;i=e+16|0;if((n[c+(n[(n[i>>2]|0)+236>>2]<<2)>>2]|0)!=(e|0)){k=17;break}l=n[(n[(n[(Jn(A)|0)+16>>2]|0)+196>>2]|0)+(t<<6)+4>>2]|0;e=n[b>>2]|0;i=n[e+196>>2]|0;n[i+(t<<6)+4>>2]=l+(n[(n[(n[(n[e+268>>2]|0)+(t<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);e=-1;l=0;A:while(1){if((l|0)>=(n[i+(t<<6)>>2]|0))break;i=n[(n[i+(t<<6)+4>>2]|0)+(l<<2)>>2]|0;if(!i)break;a=n[i+16>>2]|0;e:do{if(!(r[a+156>>0]|0))if(!(OV(A,i)|0))break A;else e=l;else{i=n[n[a+172>>2]>>2]|0;while(1){if(!i)break e;a=n[(n[i+16>>2]|0)+116>>2]|0;if(!a)break;else i=a}if(OV(A,n[((n[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)|0){c=(OV(A,n[((n[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)|0)==0;e=c?e:l}}}while(0);l=l+1|0;i=n[(n[b>>2]|0)+196>>2]|0}if((e|0)==-1){n[B>>2]=qY(A)|0;n[B+4>>2]=t;Gy(0,81124,B)|0}c=n[b>>2]|0;n[(n[c+196>>2]|0)+(t<<6)>>2]=e+1;t=t+1|0;e=c}if((k|0)==17){B=qY(e)|0;k=n[(n[i>>2]|0)+236>>2]|0;n[u>>2]=B;n[u+4>>2]=k;n[u+8>>2]=t;Gy(1,81066,u)|0;OA(167760,1)}while(1){if((s|0)>(n[o+180>>2]|0))break;FE(n[(n[o+184>>2]|0)+(s<<2)>>2]|0);s=s+1|0;o=n[b>>2]|0}v=w;return}function LE(A,e){A=A|0;e=e|0;var i=0,r=0;i=n[e+16>>2]|0;A=(n[(n[A+16>>2]|0)+268>>2]|0)+(n[i+232>>2]<<2)|0;r=n[A>>2]|0;if(!((r|0)!=0?(n[(n[r+16>>2]|0)+236>>2]|0)<=(n[i+236>>2]|0):0))n[A>>2]=e;return}function DE(A,e){A=A|0;e=e|0;var i=0,f=0;while(1){f=n[A+16>>2]|0;if(!(r[f+112>>0]|0))break;A=n[f+116>>2]|0}while(1){i=n[e+16>>2]|0;if(!(r[i+112>>0]|0))break;e=n[i+116>>2]|0}if((r[f+153>>0]|0)==0?(r[i+153>>0]|0)==0:0){f=n[e>>2]&3;i=n[A>>2]&3;A=(X((n[(n[(n[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(n[(n[(n[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(n[(n[(n[((f|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(n[(n[(n[((f|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else A=0;return A|0}function XE(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0;s=v;v=v+544|0;c=s+528|0;TE(c,s+512|0,s);i=(r[173890]|0)+1<<24>>24;r[173890]=i<<24>>24==0?1:i;i=n[A+16>>2]|0;n[i+220>>2]=0;n[i+232>>2]=0;i=(e|0)>0;e=CV(A)|0;while(1){if(!e)break;if(i?(l=n[e+16>>2]|0,t=n[l+212>>2]|0,(t|0)!=0):0){a=n[(n[(n[t+16>>2]|0)+268>>2]|0)+(n[l+232>>2]<<2)>>2]|0;f=7}else f=6;if((f|0)==6?(f=0,(e|0)==(SI(e)|0)):0){a=e;f=7}if((f|0)==7?(0,(r[(n[a+16>>2]|0)+157>>0]|0)!=(r[173890]|0)):0){xE(A);UE(c,A,a);jE(A)}e=MV(A,e)|0}SE(c);v=s;return}function TE(A,e,i){A=A|0;e=e|0;i=i|0;n[e>>2]=i;n[e+4>>2]=i+512;n[e+12>>2]=0;n[e+8>>2]=0;n[A>>2]=e;n[A+4>>2]=e;n[A+8>>2]=i;return}function xE(A){A=A|0;n[(n[A+16>>2]|0)+192>>2]=0;n[41979]=0;return}function UE(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0;k=v;v=v+32|0;B=k;OE(A,i);s=B+8|0;b=B+16|0;o=B+24|0;A:while(1){u=KE(A)|0;if(!u)break;i=u+16|0;if((r[(n[i>>2]|0)+157>>0]|0)==(r[173890]|0))continue;_E(e,u);l=n[i>>2]|0;a=l+180|0;c=n[a+4>>2]|0;t=B;n[t>>2]=n[a>>2];n[t+4>>2]=c;t=l+172|0;c=n[t+4>>2]|0;a=s;n[a>>2]=n[t>>2];n[a+4>>2]=c;a=l+188|0;c=n[a+4>>2]|0;t=b;n[t>>2]=n[a>>2];n[t+4>>2]=c;l=l+196|0;t=n[l+4>>2]|0;c=o;n[c>>2]=n[l>>2];n[c+4>>2]=t;c=3;while(1){if((c|0)<=-1)continue A;i=n[B+(c<<3)>>2]|0;e:do{if(i|0){t=(n[B+(c<<3)+4>>2]|0)+-1|0;l=i+(t<<2)|0;while(1){if((t|0)<=-1)break e;f=n[l>>2]|0;a=n[f>>2]&3;i=n[((a|0)==2?f:f+-48|0)+40>>2]|0;if((i|0)==(u|0))i=n[((a|0)==3?f:f+48|0)+40>>2]|0;if((r[(n[i+16>>2]|0)+157>>0]|0)!=(r[173890]|0)?(i|0)==(SI(i)|0):0)OE(A,i);l=l+-4|0;t=t+-1|0}}}while(0);c=c+-1|0}}v=k;return}function jE(A){A=A|0;var e=0,i=0,r=0,f=0;i=A+16|0;e=n[i>>2]|0;f=e+220|0;r=n[f>>2]|0;A=r+1|0;n[f>>2]=A;e=n[e+216>>2]|0;if(!e)A=Ng(A<<2)|0;else A=pg(e,A<<2)|0;f=n[i>>2]|0;n[f+216>>2]=A;n[A+(r<<2)>>2]=n[f+192>>2];return}function SE(A){A=A|0;var e=0;A=n[(n[A>>2]|0)+12>>2]|0;while(1){if(!A)break;e=n[A+12>>2]|0;zN(n[A>>2]|0);zN(A);A=e}return}function OE(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,s=0;s=v;v=v+16|0;l=s+8|0;f=s;c=A+8|0;i=n[c>>2]|0;t=A+4|0;A=n[t>>2]|0;if((i|0)==(n[A+4>>2]|0)){i=n[A+12>>2]|0;if(!i){i=Jg(16)|0;if(!i)Gy(1,83932,f)|0;n[i+8>>2]=n[t>>2];n[i+12>>2]=0;A=Jg(4e6)|0;n[i>>2]=A;if(!A){Gy(1,81224,l)|0;A=n[i>>2]|0}n[i+4>>2]=A+4e6;n[(n[t>>2]|0)+12>>2]=i}n[t>>2]=i;i=n[i>>2]|0;n[c>>2]=i}r[(n[e+16>>2]|0)+157>>0]=(a[173890]|0)+1;n[c>>2]=i+4;n[i>>2]=e;v=s;return}function KE(A){A=A|0;var e=0,i=0,r=0,f=0,a=0;f=A+8|0;e=n[f>>2]|0;i=A+4|0;r=n[i>>2]|0;if((e|0)==(n[r>>2]|0))if((r|0)==(n[A>>2]|0))e=0;else{e=n[r+8>>2]|0;n[i>>2]=e;e=n[e+4>>2]|0;n[f>>2]=e;a=4}else a=4;if((a|0)==4){e=e+-4|0;n[f>>2]=e;e=n[e>>2]|0}return e|0}function _E(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;f=n[A+16>>2]|0;a=f+232|0;n[a>>2]=(n[a>>2]|0)+1;a=n[e+16>>2]|0;r[a+157>>0]=r[173890]|0;A=n[41979]|0;i=a+168|0;if(!A){n[i>>2]=0;n[f+192>>2]=e}else{n[i>>2]=A;n[(n[A+16>>2]|0)+164>>2]=e}n[41979]=e;n[a+164>>2]=0;return}function qE(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,b=0,o=0,u=0.0,v=0.0;o=A+16|0;e=(n[o>>2]|0)+192|0;while(1){e=n[e>>2]|0;if(!e)break;a=e+16|0;e=n[a>>2]|0;i=n[e+188>>2]|0;A:do{if(!i)f=0;else{f=0;while(1){i=n[i+(f<<2)>>2]|0;if(!i){f=0;break A}$E(i);e=n[a>>2]|0;f=f+1|0;i=n[e+188>>2]|0}}}while(0);while(1){if((f|0)>=(n[e+208>>2]|0))break;i=n[(n[e+204>>2]|0)+(f<<2)>>2]|0;b=n[i>>2]&3;if((n[(n[(n[((b|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(n[(n[(n[((b|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){$E(i);e=n[a>>2]|0}f=f+1|0}e=e+164|0}b=n[o>>2]|0;e=n[b+196>>2]|0;if(!((n[e+56>>2]|0)==0?(n[b+180>>2]|0)<=0:0))l=13;A:do{if((l|0)==13){l=n[e+4>>2]|0;a=0;e:while(1){e=n[l+(a<<2)>>2]|0;if(!e)break A;i=n[(n[e+16>>2]|0)+196>>2]|0;e=0;while(1){f=n[i+(e<<2)>>2]|0;if(!f)break;b=n[f+16>>2]|0;if(n[b+96>>2]|0?(r[b+113>>0]|0)==0:0)break e;e=e+1|0}a=a+1|0}Ay(A)}}while(0);TC(A);i=0;e=(n[o>>2]|0)+192|0;while(1){e=n[e>>2]|0;if(!e)break;b=e+16|0;e=n[b>>2]|0;f=n[e+188>>2]|0;A:do{if(f){c=0;while(1){a=n[f+(c<<2)>>2]|0;if(!a){c=0;break}l=n[a+16>>2]|0;t=n[l+96>>2]|0;do{if(t)if(!(r[l+113>>0]|0)){ey(a);f=n[b>>2]|0;i=1;e=f;f=n[f+188>>2]|0;break}else{s[l+136>>3]=+s[((n[(n[o>>2]|0)+116>>2]&1|0)==0?t+24|0:t+32|0)>>3];break}}while(0);c=c+1|0}while(1){if((c|0)>=(n[e+208>>2]|0))break A;l=n[(n[e+204>>2]|0)+(c<<2)>>2]|0;t=n[l>>2]&3;a=n[((t|0)==3?l:l+48|0)+40>>2]|0;t=n[((t|0)==2?l:l+-48|0)+40>>2]|0;do{if(!((a|0)==(t|0)?1:(n[(n[a+16>>2]|0)+232>>2]|0)!=(n[(n[t+16>>2]|0)+232>>2]|0))){f=l;do{t=n[f+16>>2]|0;f=n[t+172>>2]|0}while((f|0)!=0);f=r[t+113>>0]|0;a=n[l+16>>2]|0;r[a+113>>0]=f;a=n[a+96>>2]|0;if(a)if(!(f<<24>>24)){ey(l);i=1;e=n[b>>2]|0;break}else{v=+s[((n[(n[o>>2]|0)+116>>2]&1|0)==0?a+24|0:a+32|0)>>3];t=t+136|0;u=+s[t>>3];s[t>>3]=v>u?v:u;break}}}while(0);c=c+1|0}}}while(0);e=e+164|0}if(i|0){$a(A);ul(A)}return i|0}function $E(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;e=n[A>>2]&3;t=n[((e|0)==3?A:A+48|0)+40>>2]|0;f=t+16|0;a=n[(n[f>>2]|0)+236>>2]|0;e=n[(n[(n[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;l=(a|0)<(e|0);i=l?e:a;t=n[(n[(Jn(t)|0)+16>>2]|0)+196>>2]|0;f=t+(n[(n[f>>2]|0)+232>>2]<<6)+4|0;e=l?a:e;A:while(1){e=e+1|0;if((e|0)>=(i|0))break;a=n[(n[(n[f>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;switch(r[a+156>>0]|0){case 0:break A;case 1:break;default:continue A}if(n[a+104>>2]|0)break}if((e|0)==(i|0))do{t=n[A+16>>2]|0;r[t+113>>0]=1;A=n[t+172>>2]|0}while((A|0)!=0);return}function Ay(A){A=A|0;var e=0,i=0,r=0,a=0;a=A+16|0;A=n[a>>2]|0;if(f[A+236>>1]|0)BA(81281,81264,190,81300);e=(f[A+238>>1]|0)+3|0;A=n[A+196>>2]|0;if(!A)A=Ng(e<<6)|0;else A=pg(A,e<<6)|0;e=A+64|0;A=n[a>>2]|0;n[A+196>>2]=e;A=f[A+238>>1]|0;while(1){if((A|0)<=-1)break;r=A+-1|0;i=e+(A<<6)|0;A=e+(r<<6)|0;e=i+64|0;do{n[i>>2]=n[A>>2];i=i+4|0;A=A+4|0}while((i|0)<(e|0));A=r;e=n[(n[a>>2]|0)+196>>2]|0}n[e+(A<<6)+8>>2]=0;n[e+(A<<6)>>2]=0;i=Jg(8)|0;a=n[a>>2]|0;r=n[a+196>>2]|0;n[r+(A<<6)+12>>2]=i;n[r+(A<<6)+4>>2]=i;n[r+(A<<6)+56>>2]=0;s[r+(A<<6)+24>>3]=1.0;s[r+(A<<6)+16>>3]=1.0;s[r+(A<<6)+40>>3]=1.0;s[r+(A<<6)+32>>3]=1.0;a=a+236|0;f[a>>1]=(f[a>>1]|0)+-1<<16>>16;return}function ey(A){A=A|0;var e=0,i=0,f=0.0,a=0,l=0,t=0,c=0,b=0,o=0,u=0,v=0,B=0.0,k=0.0,w=0.0;t=A+16|0;if(n[(n[t>>2]|0)+96>>2]|0){o=A+48|0;c=Jn(n[((n[A>>2]&3|0)==3?A:o)+40>>2]|0)|0;e=n[(n[(n[((n[A>>2]&3|0)==3?A:o)+40>>2]|0)+16>>2]|0)+232>>2]|0;b=iy(c,A)|0;u=c+16|0;i=n[u>>2]|0;a=n[i+196>>2]|0;v=e+-1|0;l=n[n[a+(v<<6)+4>>2]>>2]|0;if(!l)f=+s[a+(e<<6)+24>>3]+ +s[(n[(n[n[a+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +(n[i+252>>2]|0);else f=+s[(n[l+16>>2]|0)+24>>3]-+s[a+(v<<6)+16>>3];e=ry(c,v,b)|0;c=n[(n[t>>2]|0)+96>>2]|0;k=+s[c+24>>3];B=+s[c+32>>3];t=(n[(n[u>>2]|0)+116>>2]&1|0)==0;w=t?B:k;a=e+16|0;i=n[a>>2]|0;s[i+80>>3]=w;b=~~(w*.5);B=(t?k:B)*.5;s[i+96>>3]=B;s[i+88>>3]=B;n[i+104>>2]=c;s[i+24>>3]=+(b+~~f|0);i=Fa(e,n[((n[A>>2]&3|0)==3?A:o)+40>>2]|0,A)|0;i=n[i+16>>2]|0;s[i+16>>3]=-+s[(n[a>>2]|0)+88>>3];s[i+56>>3]=+s[(n[(n[((n[A>>2]&3|0)==3?A:o)+40>>2]|0)+16>>2]|0)+96>>3];r[i+112>>0]=4;i=A+-48|0;e=Fa(e,n[((n[A>>2]&3|0)==2?A:i)+40>>2]|0,A)|0;a=n[a>>2]|0;e=n[e+16>>2]|0;s[e+16>>3]=+s[a+96>>3];s[e+56>>3]=+s[(n[(n[((n[A>>2]&3|0)==2?A:i)+40>>2]|0)+16>>2]|0)+88>>3];r[e+112>>0]=4;e=n[(n[u>>2]|0)+196>>2]|0;i=e+(v<<6)+16|0;f=+(b|0);if(+s[i>>3]<f)s[i>>3]=f;e=e+(v<<6)+24|0;if(+s[e>>3]<f)s[e>>3]=f;n[a+112>>2]=A}return}function iy(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;o=v;v=v+32|0;c=o+8|0;f=o+4|0;a=o;i=n[e>>2]&3;r=n[((i|0)==3?e:e+48|0)+40>>2]|0;s=(n[(n[r+16>>2]|0)+232>>2]|0)+-1|0;A=n[(n[A+16>>2]|0)+196>>2]|0;l=n[A+(s<<6)+4>>2]|0;A=n[A+(s<<6)>>2]|0;s=c+8|0;n[s>>2]=-1;n[c>>2]=-1;b=c+12|0;n[b>>2]=A;t=c+4|0;n[t>>2]=A;fy(r,n[((i|0)==2?e:e+-48|0)+40>>2]|0,f,a);f=n[f>>2]|0;a=n[a>>2]|0;i=0;r=A;e=-1;while(1){if((i|0)>=(r|0))break;r=r+-1|0;ny(n[l+(i<<2)>>2]|0,c,f,a);if((i|0)!=(r|0))ny(n[l+(r<<2)>>2]|0,c,f,a);A=n[t>>2]|0;e=n[c>>2]|0;if((A-e|0)<2)break;else i=i+1|0}if((e|0)>(A|0))A=(n[b>>2]|0)+(n[s>>2]|0)|0;else A=A+e|0;v=o;return(A+1|0)/2|0|0}function ry(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0;a=A+16|0;f=n[(n[a>>2]|0)+196>>2]|0;r=f+(e<<6)|0;f=n[f+(e<<6)+4>>2]|0;if(!f)f=Ng((n[r>>2]<<2)+8|0)|0;else f=pg(f,(n[r>>2]<<2)+8|0)|0;r=n[(n[a>>2]|0)+196>>2]|0;n[r+(e<<6)+4>>2]=f;r=n[r+(e<<6)>>2]|0;while(1){if((r|0)<=(i|0))break;l=r+-1|0;t=n[f+(l<<2)>>2]|0;n[f+(r<<2)>>2]=t;t=(n[t+16>>2]|0)+236|0;n[t>>2]=(n[t>>2]|0)+1;r=l}l=xa(A)|0;t=f+(i<<2)|0;n[t>>2]=l;l=n[l+16>>2]|0;n[l+236>>2]=i;n[l+232>>2]=e;a=(n[(n[a>>2]|0)+196>>2]|0)+(e<<6)|0;l=(n[a>>2]|0)+1|0;n[a>>2]=l;n[f+(l<<2)>>2]=0;return n[t>>2]|0}function fy(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;A=n[(n[A+16>>2]|0)+236>>2]|0;e=n[(n[e+16>>2]|0)+236>>2]|0;f=(A|0)>(e|0);n[i>>2]=f?e:A;n[r>>2]=f?A:e;return}function ny(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0;b=v;v=v+16|0;l=b+4|0;a=b;A=n[A+16>>2]|0;do{if((r[A+156>>0]|0)==1){s=n[A+236>>2]|0;if(n[A+176>>2]|0){t=n[A+180>>2]|0;A=0;a=0;l=0;while(1){c=n[t+(l<<2)>>2]|0;if(!c)break;o=n[(n[(n[((n[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;c=(o|0)>(i|0);A=c?(o|0)<(f|0)?A:1:A;a=c?a:1;l=l+1|0}if(a<<24>>24!=0&A<<24>>24==0){n[e>>2]=s+1;break}if(!(a<<24>>24==0&A<<24>>24!=0))break;n[e+4>>2]=s+-1;break}if((n[A+184>>2]|0)!=2)BA(81244,81264,63,81271);t=n[A+180>>2]|0;o=n[t>>2]|0;t=n[t+4>>2]|0;fy(n[((n[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,n[((n[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0,l,a);t=n[a>>2]|0;if((t|0)<=(i|0)){n[e>>2]=s;n[e+8>>2]=s;break}A=n[l>>2]|0;if((A|0)>=(f|0)){n[e+4>>2]=s;n[e+12>>2]=s;break}a=(A|0)<(i|0);l=(t|0)>(f|0);if(!(l&a)){if(!(!a?!((t|0)<(f|0)&(A|0)==(i|0)):0))n[e+8>>2]=s;if(!l?!((t|0)==(f|0)&(A|0)>(i|0)):0)break;n[e+12>>2]=s}}}while(0);v=b;return}function ay(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0;do{if((A|0)!=0?(n[A+24>>2]|0)<=0:0){l=n[A+4>>2]|0;a=l+32|0;e=n[a>>2]|0;if(e){e=wF[e&31](A,2,0,l)|0;if((e|0)<0){e=-1;break}}else e=0;if(n[A+28>>2]|0)dy(A,0)|0;f=(e|0)==0;if(f){kF[n[n[A+16>>2]>>2]&31](A,0,64)|0;if((vy(A)|0)>0){e=-1;break}i=A+8|0;e=n[i>>2]|0;if((n[e+12>>2]|0)>0){r=A+12|0;wF[n[r>>2]&31](A,n[e+8>>2]|0,0,l)|0;e=n[i>>2]|0}else r=A+12|0;wF[n[r>>2]&31](A,e,0,l)|0}e=n[A+20>>2]|0;if(e){if(f&(e|0)==1)wF[n[A+12>>2]&31](A,A,0,l)|0}else zN(A);e=n[a>>2]|0;if(!e)e=0;else{wF[e&31](A,6,0,l)|0;e=0}}else e=-1}while(0);return e|0}function ly(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;f=A+4|0;u=n[f>>2]|0;A:do{if(u)if(e){o=n[n[A+16>>2]>>2]|0;a=A+8|0;if(n[n[a>>2]>>2]&4096|0)uy(A,0)|0;r=n[u+32>>2]|0;if(r|0?(wF[r&31](A,3,e,u)|0)<0:0){e=0;break}n[f>>2]=e;r=n[e+28>>2]|0;n[A+12>>2]=(r|0)==0?19:r;r=n[n[a>>2]>>2]|0;if(!(r&112)){do{if(!(r&2))if(!(r&3))if(!(i&1))break;else{e=u;break A}else if((i&3|0)==3){e=u;break A}else break;else if(i&2|0){e=u;break A}}while(0);l=sy(A)|0;r=n[a>>2]|0;b=n[r>>2]|0;n[r>>2]=b&-4097;n[r+4>>2]=0;n[r+16>>2]=0;e:do{if(b&3|0){b=n[r+8>>2]|0;f=b+(n[r+12>>2]<<2)|0;r=b;while(1){if(r>>>0>=f>>>0)break e;n[r>>2]=0;r=r+4|0}}}while(0);t=(i&2|0)==0;c=e+8|0;s=e+4|0;b=e+24|0;while(1){if(!l){e=u;break A}i=n[l>>2]|0;if(t){r=n[c>>2]|0;if((r|0)<0)r=n[l+8>>2]|0;else r=l+(0-r)|0;a=n[s>>2]|0;r=r+(n[e>>2]|0)|0;if((a|0)<0)r=n[r>>2]|0;f=n[b>>2]|0;if(!f)r=ky(0,r,a)|0;else r=kF[f&31](A,r,e)|0;n[l+4>>2]=r}kF[o&31](A,l,32)|0;l=i}}else e=u}else e=u;else{n[f>>2]=e;u=n[e+28>>2]|0;n[A+12>>2]=(u|0)==0?19:u}}while(0);return e|0}function ty(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=(i|0)==0;do{if(!e)if(A)A=0;else A=NN(i)|0;else if(A){zN(e);A=0;break}else{A=RN(e,i)|0;break}}while(0);return A|0}function cy(A){A=A|0;var e=0,i=0,r=0;r=A+8|0;e=n[r>>2]|0;i=n[e>>2]|0;A:do{if(!(i&12)){if(!(i&3)){i=e+8|0;A=n[i>>2]|0;n[i>>2]=0;break}A=sy(A)|0;i=n[r>>2]|0;e=n[i+8>>2]|0;i=e+(n[i+12>>2]<<2)|0;while(1){if(e>>>0>=i>>>0)break A;n[e>>2]=0;e=e+4|0}}else A=n[e+4>>2]|0}while(0);r=n[r>>2]|0;n[r>>2]=n[r>>2]&-4097;n[r+16>>2]=0;n[r+4>>2]=0;return A|0}function sy(A){A=A|0;var e=0,i=0,r=0,f=0,a=0;a=A+8|0;A=n[a>>2]|0;e=n[A>>2]|0;if(!(e&4096)){A:do{if(!(e&3)){if(e&112|0){A=n[A+8>>2]|0;break}A=n[A+4>>2]|0;if(!A)A=0;else{while(1){e=A+4|0;i=n[e>>2]|0;if(!i){r=A;break}n[e>>2]=n[i>>2];n[i>>2]=A;A=i}while(1){e=n[r>>2]|0;if(!e)break A;i=n[e+4>>2]|0;if(!i){r=e;continue}while(1){n[e+4>>2]=n[i>>2];n[i>>2]=e;e=n[i+4>>2]|0;if(!e)break;else{f=i;i=e;e=f}}n[r>>2]=i;r=i}}}else{r=n[A+8>>2]|0;f=r+(n[A+12>>2]<<2)|0;e=0;A=0;while(1){if(r>>>0>=f>>>0)break A;i=n[r>>2]|0;if(i){if(!e){e=i;A=i}else n[e>>2]=i;while(1){i=n[e>>2]|0;if(!i)break;else e=i}n[r>>2]=e}r=r+4|0}}}while(0);a=n[a>>2]|0;n[a+4>>2]=A;n[a>>2]=n[a>>2]|4096}else A=n[A+4>>2]|0;return A|0}function by(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0,d=0,h=0,g=0;d=A+8|0;if(n[n[d>>2]>>2]&4096|0)uy(A,0)|0;w=n[A+4>>2]|0;o=n[w>>2]|0;u=n[w+4>>2]|0;k=w+8|0;g=n[k>>2]|0;v=n[w+20>>2]|0;B=A+20|0;f=n[B>>2]&-32769;n[B>>2]=f;A:do{if(!e){if(i&384|0){f=n[d>>2]|0;r=n[f+8>>2]|0;if(!r){r=0;break}if(i&256){r=n[r+4>>2]|0;n[f+4>>2]=r;if(!r){r=0;break}}else n[f+4>>2]=r;if((g|0)<0){r=n[r+8>>2]|0;break}else{r=r+(0-g)|0;break}}if(i&4098|0){r=n[d>>2]|0;if(n[r>>2]&144|0){r=0;break}r=n[r+8>>2]|0;if(!r){r=0;break}else{l=r;h=84;break}}if(!(i&64))r=0;else{t=w+16|0;e:do{if((n[t>>2]|0)!=0|(g|0)<0){c=A+12|0;s=(g|0)<0;f=0-g|0;r=n[(n[d>>2]|0)+8>>2]|0;while(1){if(!r)break e;a=n[r>>2]|0;l=n[t>>2]|0;if(l|0){if(s)e=n[r+8>>2]|0;else e=r+f|0;mF[l&127](A,e,w)}if((n[k>>2]|0)>=0){r=a;continue}wF[n[c>>2]&31](A,r,0,w)|0;r=a}}}while(0);r=n[d>>2]|0;n[r+4>>2]=0;n[r+8>>2]=0;n[(n[d>>2]|0)+16>>2]=0;r=0}}else{if(i&2049|0){a=w+12|0;r=n[a>>2]|0;l=(i&1|0)==0;if(!(l|(r|0)==0)){r=kF[r&31](A,e,w)|0;if(!r){r=0;break}else f=r}else f=e;do{if((g|0)>-1)l=f+g|0;else{r=wF[n[A+12>>2]&31](A,0,12,w)|0;if(r|0){n[r+8>>2]=f;l=r;break}if(!(n[a>>2]|0)){r=0;break A}r=n[w+16>>2]|0;if(l|(r|0)==0){r=0;break A}mF[r&127](A,f,w);r=0;break A}}while(0);a=n[d>>2]|0;r=n[a>>2]|0;do{if(!(r&128)){if(!(r&16))if(!(r&32)){h=51;break}else{h=48;break}f=n[a+4>>2]|0;r=(f|0)!=0;if(!(i&8192)){if(!r){h=48;break}if((f|0)==(n[a+8>>2]|0)){h=48;break}w=f+4|0;A=n[w>>2]|0;n[l+4>>2]=A;n[A>>2]=l;n[l>>2]=f;n[w>>2]=l;break}else{if(!r){h=51;break}r=n[f>>2]|0;if(!r){h=51;break}n[l>>2]=r;n[r+4>>2]=l;n[l+4>>2]=f;n[f>>2]=l;break}}else if(!(i&8192))h=48;else h=51}while(0);if((h|0)==48){r=n[a+8>>2]|0;n[l>>2]=r;if(!r)r=l;else n[l+4>>2]=n[r+4>>2];n[r+4>>2]=l;n[(n[d>>2]|0)+8>>2]=l}else if((h|0)==51){f=a+8|0;r=n[f>>2]|0;if(!r){n[f>>2]=l;r=l}else{w=r+4|0;n[n[w>>2]>>2]=l;n[l+4>>2]=n[w>>2]}n[r+4>>2]=l;n[l>>2]=0}r=n[d>>2]|0;f=r+16|0;a=n[f>>2]|0;if((a|0)>-1)n[f>>2]=a+1;n[r+4>>2]=l;if((g|0)<0){r=n[l+8>>2]|0;break}else{r=l+(0-g)|0;break}}l=n[d>>2]|0;do{if(!(i&512)){r=n[l+4>>2]|0;if(r|0){if((g|0)<0)a=n[r+8>>2]|0;else a=r+(0-g)|0;if((a|0)==(e|0))break}r=e+o|0;if((u|0)<0){e=n[r>>2]|0;h=68}else{e=r;h=68}}else h=68}while(0);if((h|0)==68){a=(g|0)<0;t=(u|0)<0;c=(v|0)==0;s=(u|0)<1;b=0-g|0;r=l+8|0;do{r=n[r>>2]|0;if(!r){r=0;break A}if(a)f=n[r+8>>2]|0;else f=r+b|0;f=f+o|0;if(t)f=n[f>>2]|0;do{if(c)if(s){f=az(e,f)|0;break}else{f=Hp(e,f,u)|0;break}else f=wF[v&31](A,e,f,w)|0}while(0)}while((f|0)!=0);f=n[B>>2]|0}n[B>>2]=f|32768;if(!(i&4098)){do{if(!(i&8)){f=n[d>>2]|0;if(!(i&16)){n[f+4>>2]=r;break}if((r|0)==(n[f+8>>2]|0)){n[f+4>>2]=0;r=0;break A}else{r=r+4|0;h=108;break}}else{f=n[d>>2]|0;h=108}}while(0);if((h|0)==108){r=n[r>>2]|0;n[f+4>>2]=r;if(!r){r=0;break}}if((g|0)<0){r=n[r+8>>2]|0;break}else{r=r+(0-g)|0;break}}else{l=r;h=84}}}while(0);if((h|0)==84){r=n[l>>2]|0;if(r){n[r+4>>2]=n[l+4>>2];r=n[l>>2]|0}f=(n[d>>2]|0)+8|0;a=n[f>>2]|0;if((l|0)==(a|0)){n[f>>2]=r;r=n[(n[d>>2]|0)+8>>2]|0;if(r|0)n[r+4>>2]=n[l+4>>2]}else{f=l+4|0;n[n[f>>2]>>2]=r;r=a+4|0;if((l|0)==(n[r>>2]|0))n[r>>2]=n[f>>2]}r=n[d>>2]|0;f=r+4|0;if((l|0)==(n[f>>2]|0))a=n[l>>2]|0;else a=0;n[f>>2]=a;h=r+16|0;n[h>>2]=(n[h>>2]|0)+-1;if((g|0)<0)r=n[l+8>>2]|0;else r=l+(0-g)|0;f=n[w+16>>2]|0;if(!((i&2|0)==0|(f|0)==0))mF[f&127](A,r,w);if((n[k>>2]|0)<0)wF[n[A+12>>2]&31](A,l,0,w)|0}return r|0}function oy(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0;c=v;v=v+16|0;a=c;A:do{if((A|0)!=0&(e|0)!=0?(f=NN(40)|0,(f|0)!=0):0){n[f>>2]=0;n[f+16>>2]=0;n[f+4>>2]=0;ly(f,A,0)|0;i=f+20|0;t=A+32|0;n[i>>2]=0;n[i+4>>2]=0;n[i+8>>2]=0;n[i+12>>2]=0;n[i+16>>2]=0;i=n[t>>2]|0;do{if(i){n[a>>2]=0;i=wF[i&31](f,1,a,A)|0;if((i|0)>=0)if(i){r=n[a>>2]|0;if(r|0)if(!(n[e+4>>2]&n[r>>2])){i=f;l=12;break}else{i=f;break}i=A+28|0;if(!(n[i>>2]|0)){i=f;l=12}else{zN(f);r=wF[n[i>>2]&31](0,0,40,A)|0;if(!r){i=0;break A}n[r>>2]=0;n[r+16>>2]=0;n[r+4>>2]=0;ly(r,A,0)|0;n[r+20>>2]=1;n[r+24>>2]=0;n[r+32>>2]=0;n[r+28>>2]=0;i=r;f=r;l=11}}else{i=f;l=11}else{i=f;l=12}}else{i=f;l=11}}while(0);if((l|0)==11){r=wF[n[i+12>>2]&31](i,0,28,A)|0;n[a>>2]=r;if(!r){i=f;l=12}else{n[r>>2]=n[e+4>>2];a=r+4|0;n[a>>2]=0;n[a+4>>2]=0;n[a+8>>2]=0;n[a+12>>2]=0;n[a+16>>2]=0;n[a+20>>2]=0}}if((l|0)==12){zN(i);i=0;break}n[i+8>>2]=r;n[i>>2]=n[e>>2];n[i+16>>2]=e;r=n[t>>2]|0;if(r)wF[r&31](i,5,f,A)|0}else i=0}while(0);v=c;return i|0}function uy(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0;f=n[n[A+16>>2]>>2]|0;c=A+8|0;a=n[c>>2]|0;l=n[a>>2]|0;i=l&4096;if(!e)if(!i)e=-1;else{r=i;e=n[a+4>>2]|0;t=5}else if(!(n[a+16>>2]|0)){r=0;t=5}else e=-1;A:do{if((t|0)==5){n[a>>2]=l&-4097;if(!(l&3)){i=a+4|0;if(!(l&12)){n[i>>2]=0;i=a+8|0}n[i>>2]=e;if(r|0){e=0;break}n[(n[c>>2]|0)+16>>2]=-1;e=0;break}n[a+4>>2]=0;if(!r){n[a+16>>2]=0;while(1){if(!e){e=0;break A}c=n[e>>2]|0;kF[f&31](A,e,32)|0;e=c}}r=n[a+8>>2]|0;A=r+(n[a+12>>2]<<2)|0;while(1){if(r>>>0>=A>>>0){e=0;break A}i=n[r>>2]|0;if(i){n[r>>2]=e;e=n[i>>2]|0;n[i>>2]=0}r=r+4|0}}}while(0);return e|0}function vy(A){A=A|0;var e=0,i=0,r=0;e=A+8|0;i=n[e>>2]|0;if(n[i>>2]&4096){uy(A,0)|0;i=n[e>>2]|0}r=i+16|0;A=n[r>>2]|0;do{if((A|0)<0){e=n[i>>2]|0;if(e&12|0){A=By(n[i+4>>2]|0)|0;n[r>>2]=A;break}if(e&112){A=0;e=i+8|0;while(1){e=n[e>>2]|0;if(!e)break;A=A+1|0}n[r>>2]=A}}}while(0);return A|0}function By(A){A=A|0;var e=0;if(!A)return 0;else{e=By(n[A+4>>2]|0)|0;return e+1+(By(n[A>>2]|0)|0)|0}return 0}function ky(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;n=e;if((i|0)>=1){l=e+i+-1|0;n=(l>>>0<e>>>0?e:l)+(1-n)&-2;f=e;while(1){if(f>>>0>=l>>>0)break;A=X(((a[f>>0]|0)<<8)+A+(a[f+1>>0]|0)|0,17109811)|0;f=f+2|0}f=e+n|0;if(f>>>0>l>>>0)e=i;else{e=i;A=X(((a[f>>0]|0)<<8)+A|0,17109811)|0}}else{while(1){f=r[e>>0]|0;if(!(f<<24>>24))break;l=r[e+1>>0]|0;i=X(((f&255)<<8)+A+(l&255)|0,17109811)|0;A=i;e=e+(l<<24>>24?2:1)|0}e=e-n|0}return X(A+e|0,17109811)|0}function wy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0;W=v;v=v+128|0;C=W+120|0;w=W;V=A+8|0;r=n[V>>2]|0;if(n[r>>2]&4096){uy(A,0)|0;r=n[V>>2]|0}Y=n[A+4>>2]|0;M=n[Y>>2]|0;Q=n[Y+4>>2]|0;m=Y+8|0;y=n[m>>2]|0;E=n[Y+20>>2]|0;h=A+20|0;n[h>>2]=n[h>>2]&-32769;l=n[r+4>>2]|0;A:do{if(!e)if((i&448|0)==0|(l|0)==0)r=0;else{if(!(i&64)){e:do{if(!(i&256)){r=l;while(1){f=r+4|0;a=n[f>>2]|0;if(!a)break e;n[f>>2]=n[a>>2];n[a>>2]=r;r=a}}else{r=l;while(1){f=n[r>>2]|0;if(!f)break e;A=f+4|0;n[r>>2]=n[A>>2];n[A>>2]=r;r=f}}}while(0);n[(n[V>>2]|0)+4>>2]=r;if((y|0)<0){r=n[r+8>>2]|0;break}else{r=r+(0-y)|0;break}}e=Y+16|0;if((n[e>>2]|0)!=0|(y|0)<0){c=A+12|0;s=(y|0)<0;t=0-y|0;r=l;do{l=r;while(1){r=l+4|0;f=n[r>>2]|0;if(!f)break;n[r>>2]=n[f>>2];n[f>>2]=l;l=f}r=n[l>>2]|0;f=n[e>>2]|0;if(f|0){if(s)a=n[l+8>>2]|0;else a=l+t|0;mF[f&127](A,a,Y)}if((n[m>>2]|0)<0)wF[n[c>>2]&31](A,l,0,Y)|0}while((r|0)!=0);r=n[V>>2]|0}n[r+16>>2]=0;n[r+4>>2]=0;r=0}else{I=A+16|0;g=(i&4098|0)==0;e:do{if(g|(n[(n[I>>2]|0)+4>>2]|0)!=8)Z=45;else{s=(Q|0)<0;r=e+M|0;if(s)r=n[r>>2]|0;t=(E|0)==0;c=(Q|0)<1;a=kF[n[A>>2]&31](A,e,4)|0;while(1){if(!a){Z=45;break e}f=a+M|0;if(s)f=n[f>>2]|0;do{if(t)if(c){f=az(r,f)|0;break}else{f=Hp(r,f,Q)|0;break}else f=wF[E&31](A,r,f,Y)|0}while(0);if(f|0){Z=45;break e}if((a|0)==(e|0))break;a=kF[n[A>>2]&31](A,a,8)|0}l=n[(n[V>>2]|0)+4>>2]|0;n[C>>2]=n[l+4>>2];n[C+4>>2]=n[l>>2];r=C;Z=180}}while(0);e:do{if((Z|0)==45){do{if(!(i&2565)){if(i&32|0){if((y|0)<0)a=n[e+8>>2]|0;else a=e+(0-y)|0;r=a+M|0;if((Q|0)<0)f=n[r>>2]|0;else f=r;if(!l){r=e;f=C;l=C;Z=198;break}else{r=e;d=f;c=e;Z=64;break}}if(l){if((y|0)<0)r=n[l+8>>2]|0;else r=l+(0-y)|0;if((r|0)!=(e|0)){f=e+M|0;if((Q|0)<0){a=e;r=0;d=n[f>>2]|0;c=0;Z=64}else{a=e;r=0;d=f;c=0;Z=64}}else{r=0;a=e;f=C;s=C;c=0;Z=141}}else{r=0;a=e;f=C;l=C;Z=198}}else{if(!(i&512)){r=e+M|0;if((Q|0)<0)f=n[r>>2]|0;else f=r}else f=e;if(!l){r=0;a=e;f=C;l=C;Z=198}else{a=e;r=0;d=f;c=0;Z=64}}}while(0);i:do{if((Z|0)==64){r:do{if((n[(n[I>>2]|0)+4>>2]|0)==4?(k=n[(n[V>>2]|0)+24>>2]|0,!((i&516|0)==0|(k|0)==0)):0){e=(y|0)<0;b=(Q|0)<0;o=(E|0)==0;u=(Q|0)<1;B=0-y|0;s=0;f=l;while(1){if((s|0)>=(k|0)){f=C;s=C;b=0;break}if(e)t=n[f+8>>2]|0;else t=f+B|0;t=t+M|0;if(b)t=n[t>>2]|0;do{if(o)if(u){t=az(d,t)|0;break}else{t=Hp(d,t,Q)|0;break}else t=wF[E&31](A,d,t,Y)|0}while(0);if(!t){Z=80;break}n[w+(s<<2)>>2]=t;f=n[((t|0)<0?f+4|0:f)>>2]|0;if(!f){r=0;break A}else s=s+1|0}if((Z|0)==80)if(e){r=n[f+8>>2]|0;break A}else{r=f+B|0;break A}while(1){if((b|0)>=(k|0))break r;do{if((n[w+(b<<2)>>2]|0)<0){t=l+4|0;e=n[t>>2]|0;if((n[w+((b|1)<<2)>>2]|0)<0){n[t>>2]=n[e>>2];n[e>>2]=l;n[f+4>>2]=e;f=e;l=s;t=e+4|0;break}else{n[s>>2]=e;n[f+4>>2]=l;f=l;l=e;t=e;break}}else{t=n[l>>2]|0;if((n[w+((b|1)<<2)>>2]|0)>0){B=t+4|0;n[l>>2]=n[B>>2];n[B>>2]=l;n[s>>2]=t;l=t;break}else{n[f+4>>2]=t;n[s>>2]=l;f=t;t=t+4|0;break}}}while(0);s=l;b=b+2|0;l=n[t>>2]|0}}else{f=C;s=C}}while(0);o=(y|0)<0;u=(Q|0)<0;B=(E|0)!=0;k=(Q|0)<1;w=0-y|0;t=l;r:while(1){l=t;while(1){if(o)t=n[l+8>>2]|0;else t=l+w|0;t=t+M|0;if(u)t=n[t>>2]|0;do{if(!B)if(k){t=az(d,t)|0;break}else{t=Hp(d,t,Q)|0;break}else t=wF[E&31](A,d,t,Y)|0}while(0);if(!t){Z=140;break r}if((t|0)>=0)break;e=l+4|0;b=n[e>>2]|0;if(!b){Z=121;break r}if(o)t=n[b+8>>2]|0;else t=b+w|0;t=t+M|0;if(u)t=n[t>>2]|0;do{if(!B)if(k){t=az(d,t)|0;break}else{t=Hp(d,t,Q)|0;break}else t=wF[E&31](A,d,t,Y)|0}while(0);if((t|0)>=0){Z=118;break}n[e>>2]=n[b>>2];n[b>>2]=l;n[f+4>>2]=b;l=n[b+4>>2]|0;if(!l){f=b;l=s;Z=198;break i}else f=b}if((Z|0)==118){Z=0;if(!t){Z=119;break}n[s>>2]=b;n[f+4>>2]=l;t=n[b>>2]|0;if(!t){f=l;l=b;Z=198;break i}else{f=l;s=b;continue}}e=n[l>>2]|0;if(!e){Z=139;break}if(o)t=n[e+8>>2]|0;else t=e+w|0;t=t+M|0;if(u)t=n[t>>2]|0;do{if(!B)if(k){t=az(d,t)|0;break}else{t=Hp(d,t,Q)|0;break}else t=wF[E&31](A,d,t,Y)|0}while(0);if((t|0)>0){t=e+4|0;n[l>>2]=n[t>>2];n[t>>2]=l;n[s>>2]=e;t=n[e>>2]|0;if(!t){l=e;Z=198;break i}else{s=e;continue}}if(!t){Z=137;break}n[f+4>>2]=e;n[s>>2]=l;t=n[e+4>>2]|0;if(!t){f=e;Z=198;break i}else{f=e;s=l}}if((Z|0)==119){n[f+4>>2]=l;f=l;l=b;Z=141;break}else if((Z|0)==121){n[f+4>>2]=l;f=l;l=s;Z=198;break}else if((Z|0)==137){n[s>>2]=l;s=l;l=e;Z=141;break}else if((Z|0)==139){n[s>>2]=l;Z=198;break}else if((Z|0)==140)if(!l){l=s;Z=198;break}else{Z=141;break}}}while(0);do{if((Z|0)==141){n[h>>2]=n[h>>2]|32768;t=l+4|0;n[s>>2]=n[t>>2];n[f+4>>2]=n[l>>2];if(!(i&516)){if(i&8|0){n[t>>2]=n[C>>2];n[l>>2]=0;n[C>>2]=l;Z=169;break}if(i&16|0){Z=C+4|0;n[l>>2]=n[Z>>2];n[t>>2]=0;n[Z>>2]=l;Z=175;break}if(!g){r=f;Z=180;break e}if(i&2049|0){if(n[(n[I>>2]|0)+4>>2]&4|0){r=l;break}n[t>>2]=0;r=C+4|0;n[l>>2]=n[r>>2];n[r>>2]=l;r=l;Z=205;break}if(!(i&32)){r=0;break A}if(!(n[(n[I>>2]|0)+4>>2]&4)){n[r+4>>2]=0;m=C+4|0;n[r>>2]=n[m>>2];n[m>>2]=c;r=(n[V>>2]|0)+16|0;n[r>>2]=(n[r>>2]|0)+1;r=l;break}r=n[Y+16>>2]|0;if(r|0)mF[r&127](A,a,Y);if((n[m>>2]|0)<0){wF[n[A+12>>2]&31](A,c,0,Y)|0;r=l}else r=l}else r=l}else if((Z|0)==198){n[f+4>>2]=0;n[l>>2]=0;if(!(i&8))if(!(i&16)){if(i&516|0){r=f;break e}if(!(i&2049)){if(!(i&32)){a=0;r=f;break e}m=(n[V>>2]|0)+16|0;n[m>>2]=(n[m>>2]|0)+1}else{r=0;Z=205}}else Z=175;else Z=169}}while(0);if((Z|0)==169){l=C+4|0;r=n[l>>2]|0;if(!r){r=f;break}while(1){f=r+4|0;a=n[f>>2]|0;if(!a)break;n[f>>2]=n[a>>2];n[a>>2]=r;r=a}n[l>>2]=n[r>>2]}else if((Z|0)==175){r=n[C>>2]|0;if(!r){r=f;break}while(1){f=n[r>>2]|0;if(!f)break;m=f+4|0;n[r>>2]=n[m>>2];n[m>>2]=r;r=f}n[C>>2]=n[r+4>>2]}else if((Z|0)==205){t=Y+12|0;l=n[t>>2]|0;c=(i&1|0)==0;if(!(c|(l|0)==0))a=kF[l&31](A,a,Y)|0;do{if(a){if((y|0)>-1){r=a+y|0;Z=215;break}r=wF[n[A+12>>2]&31](A,0,12,Y)|0;if(r|0){n[r+8>>2]=a;break}if((n[t>>2]|0)!=0?(G=n[Y+16>>2]|0,!(c|(G|0)==0)):0){mF[G&127](A,a,Y);Z=215}else Z=215}else Z=215}while(0);if((Z|0)==215)if(!r){r=f;break}f=(n[V>>2]|0)+16|0;a=n[f>>2]|0;if((a|0)>-1)n[f>>2]=a+1}n[r+4>>2]=n[C>>2];n[r>>2]=n[C+4>>2];i:do{if(!((i&516|0)==0?1:(n[(n[I>>2]|0)+4>>2]&8|0)==0)){b=(y|0)<0;if(b)f=n[r+8>>2]|0;else f=r+(0-y)|0;o=(Q|0)<0;f=f+M|0;if(o)f=n[f>>2]|0;c=(E|0)==0;s=(Q|0)<1;e=0-y|0;while(1){t=r+4|0;a=n[t>>2]|0;if(!a)break i;while(1){l=n[a>>2]|0;if(!l)break;C=l+4|0;n[a>>2]=n[C>>2];n[C>>2]=a;a=l}n[t>>2]=a;if(b)l=n[a+8>>2]|0;else l=a+e|0;l=l+M|0;if(o)l=n[l>>2]|0;do{if(c)if(s){l=az(f,l)|0;break}else{l=Hp(f,l,Q)|0;break}else l=wF[E&31](A,f,l,Y)|0}while(0);if(l|0)break i;n[t>>2]=n[a>>2];n[a>>2]=r;r=a}}}while(0);n[(n[V>>2]|0)+4>>2]=r;if((y|0)<0){r=n[r+8>>2]|0;break A}else{r=r+(0-y)|0;break A}}}while(0);if((Z|0)==180){if((y|0)<0)a=n[l+8>>2]|0;else a=l+(0-y)|0;f=n[Y+16>>2]|0;if(!((i&2|0)==0|(f|0)==0))mF[f&127](A,a,Y);if((n[m>>2]|0)<0)wF[n[A+12>>2]&31](A,l,0,Y)|0;A=(n[V>>2]|0)+16|0;Y=n[A>>2]|0;n[A>>2]=(Y|0)<1?-1:Y+-1|0}do{f=r+4|0;r=n[f>>2]|0}while((r|0)!=0);n[f>>2]=n[C>>2];n[(n[V>>2]|0)+4>>2]=n[C+4>>2];r=i&2|0?a:0}}while(0);v=W;return r|0}function dy(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;if(n[n[A+8>>2]>>2]&4096|0)uy(A,0)|0;f=(e|0)!=0;if(f){if(n[n[e+8>>2]>>2]&4096|0)uy(e,0)|0;if((n[e+16>>2]|0)==(n[A+16>>2]|0)){i=e;r=7}else e=0}else{i=0;r=7}A:do{if((r|0)==7){while(1){if(!i)break;if((i|0)==(A|0)){e=0;break A}i=n[i+28>>2]|0;r=7}i=A+28|0;r=n[i>>2]|0;if(r|0){a=r+24|0;n[a>>2]=(n[a>>2]|0)+-1}n[A+32>>2]=0;n[i>>2]=0;if(f){n[i>>2]=e;n[A>>2]=12;a=e+24|0;n[a>>2]=(n[a>>2]|0)+1;break}else{n[A>>2]=n[n[A+16>>2]>>2];e=r;break}}}while(0);return e|0}function hy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0;A:do{if(!(i&99)){if((i&516|0)==0?(r=n[(n[A+16>>2]|0)+4>>2]|0,!((i&384|0)!=0&(r&12|0)==0)):0){if(r&12|0){if(!(i&408)){r=0;break}v=(i&136|0)!=0;B=(i&272|0)!=0;b=0;f=0;r=0;u=A;while(1){if(!u)break;o=kF[n[n[u+16>>2]>>2]&31](u,e,i)|0;do{if(!o)a=b;else{l=n[u+4>>2]|0;t=n[l+4>>2]|0;c=n[l+20>>2]|0;a=o+(n[l>>2]|0)|0;if((t|0)<0)s=n[a>>2]|0;else s=a;if(r|0){do{if(!c)if((t|0)<1){a=az(s,f)|0;break}else{a=Hp(s,f,t)|0;break}else a=wF[c&31](u,s,f,l)|0}while(0);if(!(v&(a|0)<0|B&(a|0)>0)){a=b;break}}a=u;f=s;r=o}}while(0);b=a;u=n[u+28>>2]|0}n[A+32>>2]=b;break}if(!(i&24)){r=0;break}c=A+32|0;f=n[c>>2]|0;if(f){r=n[(n[f+4>>2]|0)+8>>2]|0;a=n[(n[f+8>>2]|0)+4>>2]|0;if((r|0)<0)r=n[a+8>>2]|0;else r=a+(0-r)|0;if((r|0)==(e|0))r=e;else{f=A;l=32}}else{f=A;l=32}do{if((l|0)==32){while(1){if(!f){l=33;break}r=kF[n[n[f+16>>2]>>2]&31](f,e,4)|0;if(r|0){l=36;break}f=n[f+28>>2]|0;l=32}if((l|0)==33){n[c>>2]=0;r=0;break A}else if((l|0)==36){n[c>>2]=f;break}}}while(0);t=(i<<4&128^128)+128|0;r=kF[n[n[f+16>>2]>>2]&31](f,r,i)|0;while(1){l=f+16|0;while(1){if(!r)break;else a=A;while(1){if((a|0)==(f|0))break A;if(kF[n[n[a+16>>2]>>2]&31](a,r,4)|0)break;a=n[a+28>>2]|0}r=kF[n[n[l>>2]>>2]&31](f,r,i)|0}f=n[f+28>>2]|0;n[c>>2]=f;if(!f){r=0;break A}r=kF[n[n[f+16>>2]>>2]&31](f,0,t)|0}}else f=A;while(1){if(!f){f=0;r=0;break}r=kF[n[n[f+16>>2]>>2]&31](f,e,i)|0;if(r|0)break;f=n[f+28>>2]|0}n[A+32>>2]=f}else r=kF[n[n[A+16>>2]>>2]&31](A,e,i)|0}while(0);return r|0}function gy(A){A=A|0;var e=0;e=n[41980]|0;n[41980]=A;return e|0}function Zy(A){A=A|0;var e=0;e=n[41981]|0;n[41981]=A;return e|0}function Gy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=v;v=v+16|0;f=r;n[f>>2]=i;i=my(A,e,f)|0;v=r;return i|0}function my(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0;a=v;v=v+16|0;r=a;f=(A|0)==3;l=f?n[41983]|0:(A|0)==2?1:A;n[41983]=l;t=n[41984]|0;n[41984]=t>>>0>l>>>0?t:l;do{if(l>>>0<(n[41981]|0)>>>0){A=n[41982]|0;if(!A){A=tH()|0;n[41982]=A;if(!A){A=1;break}}if(!f){bH(A)|0;A=n[41982]|0}gp(A,e,i)|0;A=0}else{if(n[41980]|0){Iy(A,e,i);A=0;break}if(f)A=n[13918]|0;else{t=n[13918]|0;n[r>>2]=(A|0)==1?81312:81318;lR(t,81326,r)|0;A=t}gp(A,e,i)|0;A=0}}while(0);v=a;return A|0}function Iy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;if((n[41985]|0)==0?(f=NN(n[4354]|0)|0,n[41985]=f,(f|0)==0):0)YR(81331,n[13918]|0)|0;else r=4;do{if((r|0)==4){if((A|0)!=3){vF[n[41980]&31]((A|0)==1?81312:81318)|0;vF[n[41980]&31](81990)|0}while(1){A=hp(n[41985]|0,n[4354]|0,e,i)|0;r=n[4354]|0;if((A|0)>-1&(A|0)<(r|0)){r=7;break}r=r<<1;f=A+1|0;f=(r|0)>(f|0)?r:f;n[4354]=f;if(!(RN(n[41985]|0,f)|0)){r=9;break}}if((r|0)==7){vF[n[41980]&31](n[41985]|0)|0;break}else if((r|0)==9){YR(81331,n[13918]|0)|0;break}}}while(0);return}function Cy(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;n[r>>2]=e;my(1,A,r)|0;v=i;return}function My(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(!i){i=(e|0)==0?1024:e;e=i;i=NN(i)|0;f=1}else f=0;n[A+12>>2]=f;n[A>>2]=i;n[A+8>>2]=i+e;n[A+4>>2]=i;r[i>>0]=0;return}function Qy(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;l=A+8|0;f=n[A>>2]|0;a=(n[l>>2]|0)-f|0;r=a<<1;a=a+e|0;r=a>>>0>r>>>0?a:r;a=A+4|0;e=f;f=(n[a>>2]|0)-f|0;i=A+12|0;if(!(n[i>>2]|0)){t=NN(r)|0;QH(t|0,e|0,f|0)|0;n[i>>2]=1;e=t}else e=RN(e,r)|0;n[A>>2]=e;n[a>>2]=e+f;n[l>>2]=e+r;return 0}function Ey(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=A+4|0;r=n[f>>2]|0;if((r+i|0)>>>0>(n[A+8>>2]|0)>>>0){Qy(A,i)|0;r=n[f>>2]|0}QH(r|0,e|0,i|0)|0;n[f>>2]=(n[f>>2]|0)+i;return i|0}function yy(A,e){A=A|0;e=e|0;return Ey(A,e,Az(e)|0)|0}function Yy(A){A=A|0;if(n[A+12>>2]|0)zN(n[A>>2]|0);return}function Vy(A){A=A|0;var e=0,i=0;e=A+4|0;i=n[e>>2]|0;if(i>>>0>(n[A>>2]|0)>>>0){n[e>>2]=i+-1;A=a[i>>0]|0}else A=-1;return A|0}function Wy(A,e,i){A=A|0;e=e|0;i=i|0;mW(n[41987]|0,n[e+8>>2]|0)|0;mW(n[41987]|0,n[e+12>>2]|0)|0;gV(n[41987]|0,e);return}function Jy(A,e){A=A|0;e=e|0;var i=0;i=nW(A,81379,0)|0;if((e|0)!=0&(i|0)==0){Ny(A);i=nW(A,81379,0)|0}return i|0}function Ny(A){A=A|0;var e=0,i=0,r=0;r=FV(A)|0;XJ(r,r,86,0,1)|0;i=CV(r)|0;while(1){if(!i)break;py(A,i);e=bY(r,i)|0;while(1){if(!e)break;Ry(A,e);e=uY(r,e)|0}i=MV(r,i)|0}return}function zy(A){A=A|0;var e=0;e=A+24|0;r[e>>0]=r[e>>0]|64;Dy(A);e=fJ(A)|0;Hy((e|0)==0?A:e,A);return}function py(A,e){A=A|0;e=e|0;var i=0;i=Py(e)|0;if(!((i|0)!=0?(n[i+8>>2]|0)!=0:0))Hy(A,e);return}function Ry(A,e){A=A|0;e=e|0;var i=0;i=Py(e)|0;if(!((i|0)!=0?(n[i+8>>2]|0)!=0:0))Hy(A,e);return}function Py(A){A=A|0;return nW(A,81367,0)|0}function Hy(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=lW(e,81367,16,0)|0;f=Fy(A,n[e>>2]&3)|0;r=i+8|0;A:do{if(!(n[r>>2]|0)){A=FV(A)|0;n[r>>2]=Fy(A,n[e>>2]&3)|0;A=Ly(e)|0;i=i+12|0;n[i>>2]=hV(HV(e)|0,((A|0)>4?A:4)<<2)|0;A=kF[n[f>>2]&31](f,0,128)|0;while(1){if(!A)break A;r=HV(e)|0;r=ZW(r,n[A+12>>2]|0)|0;n[(n[i>>2]|0)+(n[A+16>>2]<<2)>>2]=r;A=kF[n[f>>2]&31](f,A,8)|0}}}while(0);return}function Fy(A,e){A=A|0;e=e|0;var i=0,r=0;r=v;v=v+16|0;i=r;A=Jy(A,0)|0;A:do{if(!A)A=0;else switch(e|0){case 0:{A=n[A+16>>2]|0;break A}case 1:{A=n[A+8>>2]|0;break A}case 2:case 3:{A=n[A+12>>2]|0;break A}default:{n[i>>2]=e;Gy(1,81392,i)|0;A=0;break A}}}while(0);v=r;return A|0}function Ly(A){A=A|0;var e=0;e=FV(HV(A)|0)|0;A=Fy(e,n[A>>2]&3)|0;if(!A)A=0;else A=vy(A)|0;return A|0}function Dy(A){A=A|0;var e=0,i=0,r=0,f=0;i=lW(A,81379,20,0)|0;r=i+8|0;n[r>>2]=tJ(A,17420,n[4353]|0)|0;f=i+12|0;n[f>>2]=tJ(A,17420,n[4353]|0)|0;i=i+16|0;n[i>>2]=tJ(A,17420,n[4353]|0)|0;e=fJ(A)|0;if(!e){e=n[41986]|0;if(!((e|0)==0|(e|0)==(A|0))){e=Jy(e,0)|0;Xy(n[e+8>>2]|0,n[r>>2]|0,A,1);Xy(n[e+12>>2]|0,n[f>>2]|0,A,2);Xy(n[e+16>>2]|0,n[i>>2]|0,A,0)}}else{A=Jy(e,0)|0;dy(n[r>>2]|0,n[A+8>>2]|0)|0;dy(n[f>>2]|0,n[A+12>>2]|0)|0;dy(n[i>>2]|0,n[A+16>>2]|0)|0}return}function Xy(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0;a=kF[n[A>>2]&31](A,0,128)|0;while(1){if(!a)break;l=Ty(i,n[a+8>>2]|0,n[a+12>>2]|0,n[a+16>>2]|0,f)|0;r[l+22>>0]=r[a+22>>0]|0;r[l+21>>0]=r[a+21>>0]|0;kF[n[e>>2]&31](e,l,1)|0;a=kF[n[A>>2]&31](A,a,8)|0}return}function Ty(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0;l=hV(A,24)|0;r[l+20>>0]=a;n[l+8>>2]=ZW(A,e)|0;n[l+12>>2]=ZW(A,i)|0;n[l+16>>2]=f;return l|0}function xy(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+32|0;r=i;n[r+8>>2]=e;e=kF[n[A>>2]&31](A,r,4)|0;v=i;return e|0}function Uy(A,e){A=A|0;e=e|0;var i=0;i=dy(A,0)|0;e=xy(A,e)|0;dy(A,i)|0;return e|0}function jy(A,e){A=A|0;e=e|0;A=Py(A)|0;if(!A)A=0;else A=xy(n[A+8>>2]|0,e)|0;return A|0}function Sy(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0;l=v;v=v+16|0;a=l;if(!A){A=n[41986]|0;if(!A){r[a>>0]=r[17456]|0;r[a+1>>0]=r[17457]|0;r[a+2>>0]=r[17458]|0;r[a+3>>0]=r[17459]|0;A=YY(0,a,0)|0;n[41986]=A}}if(!f)A=Ky(A,e,i)|0;else A=Oy(A,e,i,f)|0;v=l;return A|0}function Oy(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0;t=FV(A)|0;Jy(A,1)|0;a=Fy(A,e)|0;f=Uy(a,i)|0;A:do{if(!f){f=xy(a,i)|0;if(f|0){f=Ty(A,i,r,n[f+16>>2]|0,e)|0;kF[n[a>>2]&31](a,f,1)|0;l=16;break}a=Fy(t,e)|0;f=Ty(A,i,r,vy(a)|0,e)|0;kF[n[a>>2]&31](a,f,1)|0;switch(e|0){case 0:{XJ(t,t,52,f,1)|0;l=16;break A}case 1:{i=CV(t)|0;while(1){if(!i){l=16;break A}_y(A,i,f);i=MV(t,i)|0}}case 2:case 3:{a=CV(t)|0;while(1){if(!a){l=16;break A}i=bY(t,a)|0;while(1){if(!i)break;_y(A,i,f);i=uY(t,i)|0}a=MV(t,a)|0}}default:break A}}else{l=f+12|0;mW(A,n[l>>2]|0)|0;n[l>>2]=ZW(A,r)|0;l=16}}while(0);if((l|0)==16)if((e|0)==0&(f|0)!=0)qy(A,f,r)|0;XV(A,A,f);return f|0}function Ky(A,e,i){A=A|0;e=e|0;i=i|0;A=Fy(A,e)|0;if(!A)A=0;else A=xy(A,i)|0;return A|0}function _y(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;e=Py(e)|0;f=i+16|0;r=n[f>>2]|0;if((r|0)>3){a=n[A+64>>2]|0;e=e+12|0;r=r<<2;n[e>>2]=wF[n[(n[a>>2]|0)+8>>2]&31](n[a+12>>2]|0,n[e>>2]|0,r,r+4|0)|0}else e=e+12|0;a=ZW(A,n[i+12>>2]|0)|0;n[(n[e>>2]|0)+(n[f>>2]<<2)>>2]=a;return}function qy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0;l=HV(A)|0;a=(Py(A)|0)+12|0;t=e+16|0;mW(l,n[(n[a>>2]|0)+(n[t>>2]<<2)>>2]|0)|0;f=ZW(l,i)|0;n[(n[a>>2]|0)+(n[t>>2]<<2)>>2]=f;do{if(!(n[A>>2]&3)){r=n[(Jy(l,0)|0)+16>>2]|0;f=e+8|0;a=Uy(r,n[f>>2]|0)|0;if(!a){t=Ty(l,n[f>>2]|0,i,n[t>>2]|0,n[A>>2]&3)|0;kF[n[r>>2]&31](r,t,1)|0;break}else{t=a+12|0;mW(l,n[t>>2]|0)|0;n[t>>2]=ZW(l,i)|0;break}}}while(0);XV(l,A,e);return 0}function $y(A,e,i){A=A|0;e=e|0;i=i|0;A=Fy(A,e)|0;do{if(A){e=n[A>>2]|0;if(!i){A=kF[e&31](A,0,128)|0;break}else{A=kF[e&31](A,i,8)|0;break}}else A=0}while(0);return A|0}function AY(A){A=A|0;var e=0;n[41987]=A;e=Py(A)|0;if(e|0){eY(A,e);cW(A,n[e>>2]|0)|0}e=Jy(A,0)|0;if(e)if(((sJ(A,n[e+8>>2]|0)|0)==0?(sJ(A,n[e+12>>2]|0)|0)==0:0)?(sJ(A,n[e+16>>2]|0)|0)==0:0){cW(A,n[e>>2]|0)|0;e=0}else e=1;else e=0;return e|0}function eY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=HV(A)|0;r=Ly(A)|0;e=e+12|0;A=0;while(1){i=n[e>>2]|0;if((A|0)>=(r|0))break;mW(f,n[i+(A<<2)>>2]|0)|0;A=A+1|0}gV(f,i);return}function iY(A){A=A|0;var e=0;e=Py(A)|0;if(e|0){eY(A,e);cW(A,81367)|0}return}function rY(A){A=A|0;var e=0;e=Py(A)|0;if(e|0){eY(A,e);cW(A,81367)|0}return}function fY(A,e){A=A|0;e=e|0;e=jy(A,e)|0;if(!e)e=0;else{A=n[(Py(A)|0)+12>>2]|0;e=n[A+(n[e+16>>2]<<2)>>2]|0}return e|0}function nY(A,e){A=A|0;e=e|0;A=n[(Py(A)|0)+12>>2]|0;return n[A+(n[e+16>>2]<<2)>>2]|0}function aY(A,e,i){A=A|0;e=e|0;i=i|0;e=jy(A,e)|0;if(!e)e=-1;else{qy(A,e,i)|0;e=0}return e|0}function lY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=HV(A)|0;f=Sy(f,n[A>>2]&3,e,0)|0;if(!f){f=HV(A)|0;f=Sy(f,n[A>>2]&3,e,r)|0}qy(A,f,i)|0;return 0}function tY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;a=HV(A)|0;f=n[A>>2]|0;A:do{if(!((n[e>>2]^f)&3)){i=1;r=0;while(1){r=$y(a,f&3,r)|0;if(!r)break A;i=jy(e,n[r+8>>2]|0)|0;if(!i){i=1;break A}f=nY(A,r)|0;qy(e,i,f)|0;if(IW(f)|0)CW(nY(e,i)|0);i=0;f=n[A>>2]|0}}else i=1}while(0);return i|0}function cY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;A=n[e+40>>2]|0;f=n[i+40>>2]|0;if((A|0)==(f|0)){r=(n[e>>2]|0)>>>4;A=(n[i>>2]|0)>>>4;if(r>>>0>=A>>>0)if(r>>>0>A>>>0)A=1;else a=6;else A=-1}else{r=(n[A>>2]|0)>>>4;A=(n[f>>2]|0)>>>4;if(r>>>0>=A>>>0)if(r>>>0>A>>>0)A=1;else a=6;else A=-1}if((a|0)==6)A=0;return A|0}function sY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0;A=(n[e+40>>2]|0)+8|0;a=n[A>>2]|0;A=n[A+4>>2]|0;f=(n[i+40>>2]|0)+8|0;r=n[f>>2]|0;f=n[f+4>>2]|0;do{if(!(A>>>0<f>>>0|(A|0)==(f|0)&a>>>0<r>>>0))if(A>>>0>f>>>0|(A|0)==(f|0)&a>>>0>r>>>0)A=1;else{r=e+8|0;A=n[r>>2]|0;r=n[r+4>>2]|0;if(!((A|0)==0&(r|0)==0)?(t=i+8|0,l=n[t>>2]|0,t=n[t+4>>2]|0,!((l|0)==0&(t|0)==0)):0){if(r>>>0<t>>>0|(r|0)==(t|0)&A>>>0<l>>>0){A=-1;break}if(r>>>0>t>>>0|(r|0)==(t|0)&A>>>0>l>>>0){A=1;break}}A=0}else A=-1}while(0);return A|0}function bY(A,e){A=A|0;e=e|0;var i=0;e=oY(A,e)|0;if(!e)e=0;else{i=A+44|0;A=e+32|0;uy(n[i>>2]|0,n[A>>2]|0)|0;e=n[i>>2]|0;e=kF[n[e>>2]&31](e,0,128)|0;n[A>>2]=cy(n[i>>2]|0)|0}return e|0}function oY(A,e){A=A|0;e=e|0;var i=0,r=0;r=v;v=v+48|0;i=r;if((n[e+24>>2]|0)==(A|0))A=e+28|0;else{n[i+16>>2]=e;A=n[A+40>>2]|0;A=kF[n[A>>2]&31](A,i,4)|0}v=r;return A|0}function uY(A,e){A=A|0;e=e|0;var i=0,r=0;i=oY(A,n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;if(!i)A=0;else{r=A+44|0;i=i+32|0;uy(n[r>>2]|0,n[i>>2]|0)|0;A=n[r>>2]|0;A=kF[n[A>>2]&31](A,e,8)|0;n[i>>2]=cy(n[r>>2]|0)|0}return A|0}function vY(A,e){A=A|0;e=e|0;var i=0;e=oY(A,e)|0;if(!e)e=0;else{i=A+44|0;A=e+28|0;uy(n[i>>2]|0,n[A>>2]|0)|0;e=n[i>>2]|0;e=kF[n[e>>2]&31](e,0,128)|0;n[A>>2]=cy(n[i>>2]|0)|0}return e|0}function BY(A,e){A=A|0;e=e|0;var i=0,r=0;i=oY(A,n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;if(!i)A=0;else{r=A+44|0;i=i+28|0;uy(n[r>>2]|0,n[i>>2]|0)|0;A=n[r>>2]|0;A=kF[n[A>>2]&31](A,e,8)|0;n[i>>2]=cy(n[r>>2]|0)|0}return A|0}function kY(A,e){A=A|0;e=e|0;var i=0;i=bY(A,e)|0;if(!i)i=vY(A,e)|0;return i|0}function wY(A,e,i){A=A|0;e=e|0;i=i|0;A:do{if((n[e>>2]&3|0)==2){e=uY(A,e)|0;if(!e){e=0;do{if(!e)e=vY(A,i)|0;else e=BY(A,e)|0;if(!e){e=0;break A}}while((n[e+40>>2]|0)==(i|0))}}else do{e=BY(A,e)|0;if(!e){e=0;break A}}while((n[e+40>>2]|0)==(i|0))}while(0);return e|0}function dY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,l=0;l=v;v=v+32|0;r=l+16|0;f=l;if((LY(A)|0)!=0?(n[f>>2]=0,n[f+4>>2]=0,n[f+8>>2]=0,n[f+12>>2]=0,n[r>>2]=n[f>>2],n[r+4>>2]=n[f+4>>2],n[r+8>>2]=n[f+8>>2],n[r+12>>2]=n[f+12>>2],(GY(A,e,i,r)|0)!=0):0)r=0;else r=((a[A+24>>0]|0)>>>2&1^1)&255|(e|0)!=(i|0);v=l;return r|0}function hY(A,e){A=A|0;e=e|0;ZY(A,e);return}function gY(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0,t=0,c=0,s=0,b=0,o=0;YV(A,e,1)|0;YV(A,i,1)|0;l=hV(A,96)|0;t=l+48|0;b=JY(A,2)|0;c=n[t>>2]|0;s=n[l>>2]|0;o=l+8|0;n[o>>2]=f;n[o+4>>2]=a;o=l+56|0;n[o>>2]=f;n[o+4>>2]=a;a=b<<4;n[l>>2]=s&12|a|2;n[t>>2]=c&12|a|3;n[l+88>>2]=e;n[l+40>>2]=i;ZY(A,l);if(r[A+24>>0]&64){lW(l,81367,16,0)|0;Ry(A,l)}LV(A,l);return l|0}function ZY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0;t=v;v=v+16|0;i=t;l=n[e>>2]&3;a=(l|0)==2?e:e+-48|0;l=(l|0)==3?e:e+48|0;r=n[l+40>>2]|0;f=n[a+40>>2]|0;while(1){if(!A)break;n[i>>2]=n[e>>2];n[i+4>>2]=n[e+4>>2];n[i+8>>2]=n[e+8>>2];n[i+12>>2]=n[e+12>>2];if(GY(A,r,f,i)|0)break;c=oY(A,r)|0;b=A+44|0;mY(n[b>>2]|0,c+32|0,a);s=A+48|0;mY(n[s>>2]|0,c+24|0,a);c=oY(A,f)|0;mY(n[b>>2]|0,c+28|0,l);mY(n[s>>2]|0,c+20|0,l);A=fJ(A)|0}v=t;return}function GY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0;l=v;v=v+48|0;f=l;if(!((e|0)==0|(i|0)==0)?(n[f>>2]=n[r>>2],n[f+4>>2]=n[r+4>>2],n[f+8>>2]=n[r+8>>2],n[f+12>>2]=n[r+12>>2],n[f+40>>2]=e,a=oY(A,i)|0,(a|0)!=0):0){r=A+48|0;a=a+20|0;uy(n[r>>2]|0,n[a>>2]|0)|0;A=n[r>>2]|0;A=kF[n[A>>2]&31](A,f,4)|0;n[a>>2]=cy(n[r>>2]|0)|0}else A=0;v=l;return A|0}function mY(A,e,i){A=A|0;e=e|0;i=i|0;uy(A,n[e>>2]|0)|0;kF[n[A>>2]&31](A,i,1)|0;n[e>>2]=cy(A)|0;return}function IY(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;o=v;v=v+48|0;t=o+24|0;s=o+16|0;c=o;do{if(!(OY(A,2,r,s,0)|0))if(!r){if(f|0?(LY(A)|0)==0:0){b=18;break}n[c>>2]=0;n[c+4>>2]=0;n[c+8>>2]=0;n[c+12>>2]=0;b=7}else b=17;else{u=c;n[u>>2]=0;n[u+4>>2]=0;u=s;a=n[u+4>>2]|0;b=c+8|0;n[b>>2]=n[u>>2];n[b+4>>2]=a;n[c>>2]=2;b=7}}while(0);A:do{if((b|0)==7){n[t>>2]=n[c>>2];n[t+4>>2]=n[c+4>>2];n[t+8>>2]=n[c+8>>2];n[t+12>>2]=n[c+12>>2];a=GY(A,e,i,t)|0;e:do{if(!a){if(FY(A)|0?(n[t>>2]=n[c>>2],n[t+4>>2]=n[c+4>>2],n[t+8>>2]=n[c+8>>2],n[t+12>>2]=n[c+12>>2],l=GY(A,i,e,t)|0,l|0):0){a=l;break}do{if(f|0){a=FV(A)|0;n[t>>2]=n[c>>2];n[t+4>>2]=n[c+4>>2];n[t+8>>2]=n[c+8>>2];n[t+12>>2]=n[c+12>>2];a=GY(a,e,i,t)|0;if(!a){if(!(FY(A)|0))break;a=FV(A)|0;n[t>>2]=n[c>>2];n[t+4>>2]=n[c+4>>2];n[t+8>>2]=n[c+8>>2];n[t+12>>2]=n[c+12>>2];a=GY(a,i,e,t)|0;if(!a)break}hY(A,a);break e}}while(0);b=17;break A}}while(0)}}while(0);if((b|0)==17)if(!f)a=0;else b=18;if((b|0)==18)if((dY(A,e,i)|0)!=0?(OY(A,2,r,s,1)|0)!=0:0){a=s;a=gY(A,e,i,n[a>>2]|0,n[a+4>>2]|0)|0;$Y(A,2,a)}else a=0;v=o;return a|0}function CY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0;i=(n[e>>2]&3|0)==3;a=i?e+-48|0:e;i=i?e:e+48|0;e=n[a+40>>2]|0;l=oY(A,n[i+40>>2]|0)|0;f=A+44|0;MY(n[f>>2]|0,l+32|0,a);r=A+48|0;MY(n[r>>2]|0,l+24|0,a);e=oY(A,e)|0;MY(n[f>>2]|0,e+28|0,i);MY(n[r>>2]|0,e+20|0,i);return}function MY(A,e,i){A=A|0;e=e|0;i=i|0;uy(A,n[e>>2]|0)|0;kF[n[A>>2]&31](A,i,2)|0;n[e>>2]=cy(A)|0;return}function QY(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0;i=v;v=v+16|0;f=i;e=(n[e>>2]&3|0)==2?e:e+-48|0;a=n[e>>2]&3;l=n[((a|0)==3?e:e+48|0)+40>>2]|0;a=n[((a|0)==2?e:e+-48|0)+40>>2]|0;n[f>>2]=n[e>>2];n[f+4>>2]=n[e+4>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=n[e+12>>2];if(GY(A,l,a,f)|0){if((FV(A)|0)==(A|0)){if(r[A+24>>0]&64)rY(e);xV(A,e);BW(e);l=e+8|0;_Y(A,2,n[l>>2]|0,n[l+4>>2]|0)}if(!(XJ(A,e,53,0,0)|0))if((FV(A)|0)==(A|0)){gV(A,e);e=0}else e=0;else e=-1}else e=-1;v=i;return e|0}function EY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0;l=v;v=v+16|0;r=l;f=YV(A,n[((n[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,i)|0;a=YV(A,n[((n[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,i)|0;do{if((f|0)!=0&(a|0)!=0){n[r>>2]=n[e>>2];n[r+4>>2]=n[e+4>>2];n[r+8>>2]=n[e+8>>2];n[r+12>>2]=n[e+12>>2];r=GY(A,f,a,r)|0;f=(r|0)==0;if(!((i|0)!=0&f)){if(f)break}else{ZY(A,e);r=e}i=n[r>>2]&3;v=l;return((i|0)==(n[e>>2]&3|0)?r:r+(((i|0)==3?-1:1)*48|0)|0)|0}}while(0);v=l;return 0}function yY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=e+8|0;r=i+8|0;r=kH(n[e>>2]|0,n[e+4>>2]|0,n[r>>2]|0,n[r+4>>2]|0)|0;return((r|0)==0?0:r>>31|1)|0}function YY(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0;l=v;v=v+16|0;a=l;c=VY(i)|0;f=BF[n[(n[c>>2]|0)+4>>2]&63](n[c+12>>2]|0,72)|0;n[f>>2]=n[f>>2]&-4;t=f+64|0;n[t>>2]=c;s=f+24|0;e=n[e>>2]|0;n[s>>2]=e;r[s>>0]=e&255|8;n[f+60>>2]=f;i=BF[n[n[c+4>>2]>>2]&63](f,i)|0;n[(n[t>>2]|0)+16>>2]=i;if(OY(f,0,A,a,1)|0){t=a;c=n[t+4>>2]|0;s=f+8|0;n[s>>2]=n[t>>2];n[s+4>>2]=c}s=WY(f)|0;$Y(s,0,f);v=l;return s|0}function VY(A){A=A|0;var e=0,i=0,f=0,a=0;e=(A|0)!=0;if(e){i=n[A>>2]|0;i=(i|0)==0?17792:i}else i=17792;a=vF[n[i>>2]&31](A)|0;f=BF[n[i+4>>2]&63](a,80)|0;n[f>>2]=i;n[f+12>>2]=a;if(e){a=n[A+4>>2]|0;n[f+4>>2]=(a|0)==0?17668:a;A=n[A+8>>2]|0;A=(A|0)==0?17768:A}else{n[f+4>>2]=17668;A=17768}n[f+8>>2]=A;r[f+52>>0]=1;return f|0}function WY(A){A=A|0;var e=0,i=0;n[A+36>>2]=tJ(A,17848,n[4353]|0)|0;n[A+40>>2]=tJ(A,17812,n[4353]|0)|0;e=(FV(A)|0)==(A|0);n[A+44>>2]=tJ(A,e?17460:17496,n[4353]|0)|0;e=(FV(A)|0)==(A|0);n[A+48>>2]=tJ(A,e?17532:17568,n[4353]|0)|0;n[A+52>>2]=tJ(A,17604,n[4353]|0)|0;e=fJ(A)|0;if(!((e|0)!=0?(i=JY(e,0)|0,n[A>>2]=n[A>>2]&15|i<<4,i=n[e+52>>2]|0,kF[n[i>>2]&31](i,A,1)|0,!(r[e+24>>0]&64)):0))zy(A);LV(A,A);return A|0}function JY(A,e){A=A|0;e=e|0;var i=0;i=(n[A+64>>2]|0)+24+(e<<3)|0;e=i;e=BH(n[e>>2]|0,n[e+4>>2]|0,1,0)|0;A=E;n[i>>2]=e;n[i+4>>2]=A;E=A;return e|0}function NY(A){A=A|0;var e=0,i=0,f=0,a=0;f=fJ(A)|0;a=(f|0)==0;if(a?(e=A+64|0,(n[(n[n[e>>2]>>2]|0)+16>>2]|0)!=0):0){xV(A,A);a=A+8|0;_Y(A,0,n[a>>2]|0,n[a+4>>2]|0);e=n[e>>2]|0;ZF[n[(n[e>>2]|0)+16>>2]&127](n[e+12>>2]|0);e=0}else i=4;do{if((i|0)==4){e=iJ(A)|0;while(1){if(!e)break;i=rJ(e)|0;NY(e)|0;e=i}e=CV(A)|0;while(1){if(!e)break;i=MV(A,e)|0;RV(A,e)|0;e=i}tV(A);xV(A,A);if(((((sJ(A,n[A+40>>2]|0)|0)==0?(sJ(A,n[A+36>>2]|0)|0)==0:0)?(sJ(A,n[A+48>>2]|0)|0)==0:0)?(sJ(A,n[A+44>>2]|0)|0)==0:0)?(sJ(A,n[A+52>>2]|0)|0)==0:0){if(r[A+24>>0]&64?AY(A)|0:0){e=-1;break}BW(A);i=A+8|0;_Y(A,0,n[i>>2]|0,n[i+4>>2]|0);if(!a){nJ(f,A)|0;gV(f,A);e=0;break}e=A+64|0;while(1){i=n[e>>2]|0;f=n[i+48>>2]|0;if(!f)break;SV(A,n[f>>2]|0)|0}ZF[n[(n[i+4>>2]|0)+20>>2]&127](n[i+16>>2]|0);if(!(kW(A)|0)){e=n[e>>2]|0;a=n[e+12>>2]|0;f=(n[e>>2]|0)+12|0;GF[n[f>>2]&31](a,A);GF[n[f>>2]&31](a,e);e=0}else e=-1}else e=-1}}while(0);return e|0}function zY(A){A=A|0;return vy(n[A+40>>2]|0)|0}function pY(A){A=A|0;var e=0,i=0,r=0;e=0;i=CV(A)|0;while(1){if(!i)break;r=(RY(A,i,0,1)|0)+e|0;e=r;i=MV(A,i)|0}return e|0}function RY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=oY(A,e)|0;if(f){if(!r)e=0;else e=PY(n[A+44>>2]|0,f+32|0)|0;if(i)e=(PY(n[A+44>>2]|0,f+28|0)|0)+e|0}else e=0;return e|0}function PY(A,e){A=A|0;e=e|0;var i=0;uy(A,n[e>>2]|0)|0;i=vy(A)|0;n[e>>2]=cy(A)|0;return i|0}function HY(A){A=A|0;return r[A+24>>0]&1|0}function FY(A){A=A|0;return(HY(A)|0)==0|0}function LY(A){A=A|0;return(a[A+24>>0]|0)>>>1&1|0}function DY(A,e){A=A|0;e=e|0;return A|0}function XY(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;if(!i){f=1328;i=n[f>>2]|0;f=n[f+4>>2]|0;n[r>>2]=i;n[r+4>>2]=f;f=BH(i|0,f|0,2,0)|0;r=1328;n[r>>2]=f;n[r+4>>2]=E}else{if(!f)A=dW(A,i)|0;else A=ZW(A,i)|0;n[r>>2]=A;n[r+4>>2]=0}return 1}function TY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return 0}function xY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((i&1|0)==0&0==0)mW(A,i)|0;return}function UY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return((i&1|0)==0&0==0?i:0)|0}function jY(A){A=A|0;return}function SY(A,e,i){A=A|0;e=e|0;i=i|0;return}function OY(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0,t=0,c=0;t=(i|0)!=0;do{if(t){if((r[i>>0]|0)!=37?(l=n[A+64>>2]|0,l=dF[n[(n[l+4>>2]|0)+4>>2]&3](n[l+16>>2]|0,e,i,f,a)|0,l|0):0)break;l=AV(A,e,i,f)|0;if(!l)c=5}else c=5}while(0);if((c|0)==5)if(a){l=n[A+64>>2]|0;l=dF[n[(n[l+4>>2]|0)+4>>2]&3](n[l+16>>2]|0,e,0,f,a)|0;if(t&(l|0)!=0){c=f;eV(A,e,i,n[c>>2]|0,n[c+4>>2]|0)}}else l=0;return l|0}function KY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=n[A+64>>2]|0;return wF[n[(n[A+4>>2]|0)+8>>2]&31](n[A+16>>2]|0,e,i,r)|0}function _Y(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;aV(A,e,i,r)|0;A=n[A+64>>2]|0;CF[n[(n[A+4>>2]|0)+12>>2]&31](n[A+16>>2]|0,e,i,r);return}function qY(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;i=HV(A)|0;f=A+8|0;e=f;e=fV(i,n[A>>2]&3,n[e>>2]|0,n[e+4>>2]|0)|0;do{if(!e){e=n[i+64>>2]|0;i=n[(n[e+4>>2]|0)+16>>2]|0;if(i|0?(r=f,r=wF[i&31](n[e+16>>2]|0,n[A>>2]&3,n[r>>2]|0,n[r+4>>2]|0)|0,r|0):0){e=r;break}if((n[A>>2]&3|0)==2)e=0;else{r=n[f>>2]|0;f=n[f+4>>2]|0;n[a>>2]=37;e=a+8|0;n[e>>2]=r;n[e+4>>2]=f;_p(173891,81419,a)|0;e=173891}}}while(0);v=l;return e|0}function $Y(A,e,i){A=A|0;e=e|0;i=i|0;A=n[A+64>>2]|0;mF[n[(n[A+4>>2]|0)+24>>2]&127](n[A+16>>2]|0,e,i);return}function AV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0;t=v;v=v+32|0;l=t;e=n[(n[A+64>>2]|0)+56+(((e|0)==3?2:e)<<2)>>2]|0;if(((e|0)!=0?(f=dW(A,i)|0,(f|0)!=0):0)?(n[l+24>>2]=f,a=kF[n[e>>2]&31](e,l,4)|0,(a|0)!=0):0){i=a+16|0;l=n[i+4>>2]|0;e=r;n[e>>2]=n[i>>2];n[e+4>>2]=l;e=1}else e=0;v=t;return e|0}function eV(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0;l=hV(A,32)|0;a=l+16|0;n[a>>2]=r;n[a+4>>2]=f;n[l+24>>2]=ZW(A,i)|0;r=(e|0)==3?2:e;a=A+64|0;i=n[a>>2]|0;e=n[i+56+(r<<2)>>2]|0;if(!e){f=tJ(A,17696,n[4353]|0)|0;n[(n[a>>2]|0)+56+(r<<2)>>2]=f;e=n[a>>2]|0}else{f=e;e=i}e=n[e+68+(r<<2)>>2]|0;if(!e){e=tJ(A,17732,n[4353]|0)|0;n[(n[a>>2]|0)+68+(r<<2)>>2]=e}kF[n[f>>2]&31](f,l,1)|0;kF[n[e>>2]&31](e,l,1)|0;return}function iV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=e+16|0;e=n[A>>2]|0;A=n[A+4>>2]|0;i=i+16|0;r=n[i>>2]|0;i=n[i+4>>2]|0;return(A>>>0>i>>>0|(A|0)==(i|0)&e>>>0>r>>>0?1:(A>>>0<i>>>0|(A|0)==(i|0)&e>>>0<r>>>0)<<31>>31)|0}function rV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=n[e+24>>2]|0;r=n[i+24>>2]|0;return(e>>>0>r>>>0?1:(e>>>0<r>>>0)<<31>>31)|0}function fV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=nV(A,e,i,r)|0;if(!A)A=0;else A=n[A+24>>2]|0;return A|0}function nV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;a=v;v=v+32|0;f=a;A=n[(n[A+64>>2]|0)+68+(((e|0)==3?2:e)<<2)>>2]|0;if(!A)A=0;else{e=f+16|0;n[e>>2]=i;n[e+4>>2]=r;A=kF[n[A>>2]&31](A,f,4)|0}v=a;return A|0}function aV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=(e|0)==3?2:e;e=nV(A,f,i,r)|0;if(!e)e=0;else{r=A+64|0;i=n[(n[r>>2]|0)+56+(f<<2)>>2]|0;kF[n[i>>2]&31](i,e,2)|0;r=n[(n[r>>2]|0)+68+(f<<2)>>2]|0;kF[n[r>>2]&31](r,e,2)|0;mW(A,n[e+24>>2]|0)|0;gV(A,e);e=1}return e|0}function lV(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;n[41987]=A;a=n[A+64>>2]|0;f=0;while(1){if((f|0)==3)break;l=a+56+(f<<2)|0;e=n[l>>2]|0;A:do{if(e|0){e=kF[n[e>>2]&31](e,0,128)|0;while(1){if(!e)break A;i=n[l>>2]|0;i=kF[n[i>>2]&31](i,e,8)|0;if((r[n[e+24>>2]>>0]|0)!=37){e=i;continue}t=e+16|0;aV(A,f,n[t>>2]|0,n[t+4>>2]|0)|0;e=i}}}while(0);f=f+1|0}return}function tV(A){A=A|0;n[41987]=A;A=A+64|0;cV((n[A>>2]|0)+56|0);cV((n[A>>2]|0)+68|0);return}function cV(A){A=A|0;var e=0,i=0,r=0;e=0;while(1){if((e|0)==3)break;i=A+(e<<2)|0;r=n[i>>2]|0;if(r|0){ay(r)|0;n[i>>2]=0}e=e+1|0}return}function sV(A,e,i){A=A|0;e=e|0;i=i|0;if(!(Dp(e,i,A)|0))A=0;else A=Az(e)|0;return A|0}function bV(A,e){A=A|0;e=e|0;return YR(e,A)|0}function oV(A){A=A|0;return mR(A)|0}function uV(A){A=A|0;var e=0,i=0,r=0;e=v;v=v+32|0;r=e+12|0;i=e;n[4446]=n[4443];n[4447]=n[4444];n[r>>2]=A;n[r+4>>2]=Az(A)|0;n[r+8>>2]=0;n[i>>2]=17792;n[i+4>>2]=17668;n[i+8>>2]=17780;A=hB(r,i)|0;MW(0);v=e;return A|0}function vV(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0;if((i|0)!=0?(l=A+8|0,f=n[l>>2]|0,(f|0)<(n[A+4>>2]|0)):0){t=(n[A>>2]|0)+f|0;A=0;a=r[t>>0]|0;f=e;e=t;while(1){e=e+1|0;r[f>>0]=a;A=A+1|0;if(!(a<<24>>24!=10&(A|0)<(i|0)))break;a=r[e>>0]|0;if(!(a<<24>>24))break;else f=f+1|0}n[l>>2]=(n[l>>2]|0)+A}else A=0;return A|0}function BV(A){A=A|0;return 0}function kV(A,e){A=A|0;e=e|0;A=NN(e)|0;yH(A|0,0,e|0)|0;return A|0}function wV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=RN(e,r)|0;if(r>>>0>i>>>0)yH(A+i|0,0,r-i|0)|0;return A|0}function dV(A,e){A=A|0;e=e|0;zN(e);return}function hV(A,e){A=A|0;e=e|0;var i=0;i=v;v=v+16|0;A=n[A+64>>2]|0;A=BF[n[(n[A>>2]|0)+4>>2]&63](n[A+12>>2]|0,e)|0;if(!A)Gy(1,81425,i)|0;v=i;return A|0}function gV(A,e){A=A|0;e=e|0;if(e|0){A=n[A+64>>2]|0;GF[n[(n[A>>2]|0)+12>>2]&31](n[A+12>>2]|0,e)}return}function ZV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=(n[e+16>>2]|0)+8|0;e=n[A>>2]|0;A=n[A+4>>2]|0;i=(n[i+16>>2]|0)+8|0;r=n[i>>2]|0;i=n[i+4>>2]|0;return(A>>>0<i>>>0|(A|0)==(i|0)&e>>>0<r>>>0?-1:(A>>>0>i>>>0|(A|0)==(i|0)&e>>>0>r>>>0)&1)|0}function GV(A,e,i){A=A|0;e=e|0;i=i|0;A=n[e+16>>2]|0;if((A+28|0)!=(e|0))gV(n[A+24>>2]|0,e);return}function mV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=(n[n[e+16>>2]>>2]|0)>>>4;r=(n[n[i+16>>2]>>2]|0)>>>4;return(e>>>0<r>>>0?-1:e>>>0>r>>>0&1)|0}function IV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=167040;n[r>>2]=e;n[r+4>>2]=i;n[41992]=167032;A=n[A+40>>2]|0;A=kF[n[A>>2]&31](A,167952,4)|0;if(!A)A=0;else A=n[A+16>>2]|0;return A|0}function CV(A){A=A|0;A=n[A+36>>2]|0;A=kF[n[A>>2]&31](A,0,128)|0;if(!A)A=0;else A=n[A+16>>2]|0;return A|0}function MV(A,e){A=A|0;e=e|0;var i=0;e=oY(A,e)|0;if((e|0)!=0?(i=n[A+36>>2]|0,i=kF[n[i>>2]&31](i,e,8)|0,(i|0)!=0):0)e=n[i+16>>2]|0;else e=0;return e|0}function QV(A){A=A|0;A=n[A+36>>2]|0;A=kF[n[A>>2]&31](A,0,256)|0;if(!A)A=0;else A=n[A+16>>2]|0;return A|0}function EV(A,e){A=A|0;e=e|0;var i=0;e=oY(A,e)|0;if((e|0)!=0?(i=n[A+36>>2]|0,i=kF[n[i>>2]&31](i,e,16)|0,(i|0)!=0):0)e=n[i+16>>2]|0;else e=0;return e|0}function yV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=IV(A,e,i)|0;do{if((r|0)!=0&(f|0)==0){f=FV(A)|0;if((f|0)!=(A|0)?(n=IV(f,e,i)|0,n|0):0){YV(A,n,1)|0;f=n;break}if(!(KY(A,1,e,i)|0))f=0;else{f=JY(A,1)|0;f=VV(A,e,i,f,E)|0;WV(A,f);JV(A,f)}}}while(0);return f|0}function YV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=FV(A)|0;if((r|0)==(n[e+24>>2]|0)){r=e+8|0;r=IV(A,n[r>>2]|0,n[r+4>>2]|0)|0;if((i|0)!=0&(r|0)==0){r=fJ(A)|0;if(!r)r=0;else{i=YV(r,e,i)|0;NV(A,i);return i|0}}}else r=0;return r|0}function VV(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0,t=0;a=hV(A,64)|0;l=n[a>>2]|0;t=a+8|0;n[t>>2]=e;n[t+4>>2]=i;n[a>>2]=l&12|f<<4|1;n[a+24>>2]=FV(A)|0;if(r[(FV(A)|0)+24>>0]&64)lW(a,81367,16,0)|0;return a|0}function WV(A,e){A=A|0;e=e|0;do{NV(A,e);A=fJ(A)|0}while((A|0)!=0);return}function JV(A,e){A=A|0;e=e|0;if(r[(FV(A)|0)+24>>0]&64)py(A,e);LV(A,e);return}function NV(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+40|0;vy(n[r>>2]|0)|0;if((FV(A)|0)==(A|0))i=e+28|0;else i=hV(A,36)|0;n[i+16>>2]=e;r=n[r>>2]|0;kF[n[r>>2]&31](r,i,1)|0;r=n[A+36>>2]|0;kF[n[r>>2]&31](r,i,1)|0;return}function zV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0;c=v;v=v+16|0;a=c;l=FV(A)|0;if(OY(A,1,e,a,0)|0){r=a;r=IV(A,n[r>>2]|0,n[r+4>>2]|0)|0;if(!r)if(!((i|0)==0|(l|0)==(A|0))?(f=a,f=IV(l,n[f>>2]|0,n[f+4>>2]|0)|0,(f|0)!=0):0)r=YV(A,f,1)|0;else t=6}else t=6;if((t|0)==6)if((i|0)!=0?(OY(A,1,e,a,1)|0)!=0:0){t=a;l=n[t>>2]|0;t=n[t+4>>2]|0;r=JY(A,1)|0;r=VV(A,l,t,r,E)|0;WV(A,r);JV(A,r);$Y(A,1,r)}else r=0;v=c;return r|0}function pV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;n[42001]=e;i=kY(A,e)|0;while(1){if(!i)break;r=wY(A,i,e)|0;CY(A,i,0);i=r}r=n[A+40>>2]|0;kF[n[r>>2]&31](r,167988,2)|0;r=n[A+36>>2]|0;kF[n[r>>2]&31](r,167988,2)|0;return}function RV(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;f=e+8|0;i=f;if(IV(A,n[i>>2]|0,n[i+4>>2]|0)|0){if((FV(A)|0)==(A|0)){i=kY(A,e)|0;while(1){if(!i)break;a=wY(A,i,e)|0;QY(A,i)|0;i=a}if(r[A+24>>0]&64)iY(e);xV(A,e);BW(e);a=f;_Y(A,1,n[a>>2]|0,n[a+4>>2]|0)}if(!(XJ(A,e,54,0,0)|0))if((FV(A)|0)==(A|0)){gV(A,e);i=0}else i=0;else i=-1}else i=-1;return i|0}function PV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0;l=v;v=v+16|0;r=l;i=n[e>>2]|0;do{if(!(i&3))if((fJ(e)|0)==(A|0)){i=n[e>>2]|0;a=5;break}else{Gy(1,81451,r)|0;f=-1;break}else a=5}while(0);A:do{if((a|0)==5)switch(i&3){case 1:{f=RV(A,e)|0;break A}case 2:case 3:{f=QY(A,e)|0;break A}case 0:{f=NY(e)|0;break A}default:{}}}while(0);v=l;return f|0}function HV(A){A=A|0;var e=0;switch(n[A>>2]&3){case 2:case 3:{e=n[(n[A+40>>2]|0)+24>>2]|0;break}case 1:{e=n[A+24>>2]|0;break}case 0:{e=A;break}default:{}}return e|0}function FV(A){A=A|0;var e=0;switch(n[A>>2]&3){case 2:case 3:{e=(n[A+40>>2]|0)+24|0;break}case 1:{e=A+24|0;break}case 0:{e=A+60|0;break}default:{}}return n[e>>2]|0}function LV(A,e){A=A|0;e=e|0;var i=0;i=n[A+64>>2]|0;if(!(r[i+52>>0]|0))_V(A,e,100,0);else DV(A,e,n[i+48>>2]|0);return}function DV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A:do{if(i|0){DV(A,e,n[i+8>>2]|0);switch(n[e>>2]&3){case 0:{r=n[i>>2]|0;break}case 1:{r=(n[i>>2]|0)+12|0;break}case 2:{r=(n[i>>2]|0)+24|0;break}default:break A}r=n[r>>2]|0;if(r|0)mF[r&127](A,e,n[i+4>>2]|0)}}while(0);return}function XV(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;f=n[A+64>>2]|0;if(!(r[f+52>>0]|0))_V(A,e,101,i);else TV(A,e,i,n[f+48>>2]|0);return}function TV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;A:do{if(r|0){TV(A,e,i,n[r+8>>2]|0);switch(n[e>>2]&3){case 0:{f=(n[r>>2]|0)+4|0;break}case 1:{f=(n[r>>2]|0)+16|0;break}case 2:{f=(n[r>>2]|0)+28|0;break}default:break A}f=n[f>>2]|0;if(f|0)CF[f&31](A,e,n[r+4>>2]|0,i)}}while(0);return}function xV(A,e){A=A|0;e=e|0;var i=0;i=n[A+64>>2]|0;if(!(r[i+52>>0]|0))_V(A,e,102,0);else UV(A,e,n[i+48>>2]|0);return}function UV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A:do{if(i|0){UV(A,e,n[i+8>>2]|0);switch(n[e>>2]&3){case 0:{r=(n[i>>2]|0)+8|0;break}case 1:{r=(n[i>>2]|0)+20|0;break}case 2:{r=(n[i>>2]|0)+32|0;break}default:break A}r=n[r>>2]|0;if(r|0)mF[r&127](A,e,n[i+4>>2]|0)}}while(0);return}function jV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=hV(A,12)|0;n[r>>2]=e;n[r+4>>2]=i;i=(n[A+64>>2]|0)+48|0;n[r+8>>2]=n[i>>2];n[i>>2]=r;return}function SV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=(n[A+64>>2]|0)+48|0;i=n[r>>2]|0;A:do{if(!i)i=-1;else{if((n[i>>2]|0)!=(e|0)){while(1){if(!i){i=-1;break A}r=i+8|0;f=n[r>>2]|0;if((n[f>>2]|0)==(e|0))break;else i=f}if(f)n[r>>2]=n[f+8>>2]}else n[r>>2]=n[i+8>>2];gV(A,i);i=0}}while(0);return i|0}function OV(A,e){A=A|0;e=e|0;var i=0;i=FV(A)|0;A:do{if((i|0)==(FV(e)|0))switch(n[e>>2]&3){case 0:{while(1){if((e|0)==(A|0)){e=1;break A}e=fJ(e)|0;if(!e){e=0;break}}break}case 1:{e=e+8|0;e=(yV(A,n[e>>2]|0,n[e+4>>2]|0,0)|0)!=0;break A}default:{e=(EY(A,e,0)|0)!=0;break A}}else e=0}while(0);return e&1|0}function KV(A){A=A|0;return n[A>>2]&3|0}function _V(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,l=0;l=v;v=v+16|0;a=l;n=lW(A,81475,44,0)|0;switch(i|0){case 100:{f=qV(n,e,100)|0;if(!($V(f,e)|0))AW(f,A,e,r)|0;break}case 101:{if((($V(qV(n,e,100)|0,e)|0)==0?($V(qV(n,e,102)|0,e)|0)==0:0)?(f=qV(n,e,101)|0,($V(f,e)|0)==0):0)AW(f,A,e,r)|0;break}case 102:{eW(qV(n,e,100)|0,e);eW(qV(n,e,101)|0,e);f=qV(n,e,102)|0;if(!($V(f,e)|0))AW(f,A,e,r)|0;break}default:Gy(1,81487,a)|0}v=l;return}function qV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;a=v;v=v+16|0;r=a;A:do{switch(n[e>>2]&3){case 0:switch(i|0){case 100:{i=A+8|0;break A}case 101:{i=A+20|0;break A}case 102:{i=A+32|0;break A}default:{f=14;break A}}case 1:switch(i|0){case 100:{i=A+12|0;break A}case 101:{i=A+24|0;break A}case 102:{i=A+36|0;break A}default:{f=14;break A}}case 2:switch(i|0){case 100:{i=A+16|0;break A}case 101:{i=A+28|0;break A}case 102:{i=A+40|0;break A}default:{f=14;break A}}default:f=14}}while(0);if((f|0)==14){Gy(1,81521,r)|0;i=0}A=n[i>>2]|0;if(!A){A=HV(e)|0;A=tJ(A,17884,n[4353]|0)|0;n[i>>2]=A}v=a;return A|0}function $V(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=v;v=v+32|0;r=i;f=iW(e)|0;e=r+8|0;n[e>>2]=f;n[e+4>>2]=E;e=kF[n[A>>2]&31](A,r,4)|0;v=i;return e|0}function AW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=hV(HV(i)|0,32)|0;n[f+20>>2]=i;a=iW(i)|0;i=f+8|0;n[i>>2]=a;n[i+4>>2]=E;n[f+16>>2]=e;if(r|0){a=hV(e,8)|0;n[f+24>>2]=a;n[a>>2]=r}kF[n[A>>2]&31](A,f,1)|0;return f|0}function eW(A,e){A=A|0;e=e|0;e=$V(A,e)|0;if(e|0)kF[n[A>>2]&31](A,e,2)|0;return}function iW(A){A=A|0;A=A+8|0;E=n[A+4>>2]|0;return n[A>>2]|0}function rW(A,e,i){A=A|0;e=e|0;i=i|0;fW(e);gV(n[e+16>>2]|0,e);return}function fW(A){A=A|0;var e=0,i=0;e=A+16|0;A=n[A+24>>2]|0;while(1){if(!A)break;i=n[A+4>>2]|0;gV(n[e>>2]|0,A);A=i}return}function nW(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0;s=v;v=v+16|0;t=s;l=n[A+16>>2]|0;f=l;while(1){if(!f){f=0;break}a=n[f>>2]|0;if((a|0)==(e|0)){c=7;break}if((r[e>>0]|0)==(r[a>>0]|0)?(az(e,a)|0)==0:0){c=7;break}f=n[f+4>>2]|0;if((f|0)==(l|0)){f=0;break}}do{if((c|0)==7){if(!(n[A>>2]&4)){if((f|0)==(l|0)&(i|0)==0){f=l;break}aW(A,f,i);break}if(i)if((l|0)==(f|0))f=l;else Gy(1,81546,t)|0}}while(0);v=s;return f|0}function aW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;n[A+16>>2]=e;r=n[A>>2]|0;i=i<<2&4;n[A>>2]=r&-5|i;if(r&2|0){r=(r&3|0)==3?-1:1;n[A+(r*48|0)+16>>2]=e;r=A+(r*48|0)|0;n[r>>2]=n[r>>2]&-5|i}return}function lW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0;l=HV(A)|0;f=nW(A,e,0)|0;A:do{if((i|0)!=0&(f|0)==0){i=hV(l,i)|0;n[i>>2]=ZW(l,e)|0;switch(n[A>>2]&3){case 0:{tW(A,i);a=i;break A}case 1:{tW(A,i);a=i;break A}case 2:case 3:{tW(A,i);a=i;break A}default:{}}}else a=f}while(0);if(r|0)nW(A,e,1)|0;return a|0}function tW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=n[A+16>>2]|0;do{if(i){r=i+4|0;f=n[r>>2]|0;if((f|0)==(i|0)){n[r>>2]=e;r=i;i=e;break}else{n[e+4>>2]=f;r=e;break}}else{r=e;i=e}}while(0);n[i+4>>2]=r;if(!(n[A>>2]&4))aW(A,e,0);return}function cW(A,e){A=A|0;e=e|0;var i=0,r=0;r=HV(A)|0;i=nW(A,e,0)|0;if(!i)e=-1;else{sW(A,i);if(!(n[A>>2]&3)){bW(r,A,i);e=i}else{XJ(FV(r)|0,A,55,i,0)|0;e=i}mW(r,n[i>>2]|0)|0;gV(r,e);e=0}return e|0}function sW(A,e){A=A|0;e=e|0;var i=0;A=n[A+16>>2]|0;do{i=A+4|0;A=n[i>>2]|0}while((A|0)!=(e|0));n[i>>2]=n[e+4>>2];return}function bW(A,e,i){A=A|0;e=e|0;i=i|0;if((n[e+16>>2]|0)==(i|0)){A=n[i+4>>2]|0;aW(e,(A|0)==(i|0)?0:A,0)}return}function oW(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0;n=(r|0)>-1;a=n?r:0-r|0;A:do{switch(e|0){case 0:{lW(A,i,a,f)|0;if(!n){e=iJ(A)|0;while(1){if(!e)break A;oW(e,0,i,r,f);e=rJ(e)|0}}break}case 3:case 2:case 1:{r=(e|0)==1;e=CV(A)|0;while(1){if(!e)break A;e:do{if(r)lW(e,i,a,f)|0;else{n=bY(A,e)|0;while(1){if(!n)break e;lW(n,i,a,f)|0;n=uY(A,n)|0}}}while(0);e=MV(A,e)|0}}default:{}}}while(0);return}function uW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;A:do{switch(e|0){case 0:{XJ(A,A,56,i,1)|0;break}case 3:case 2:case 1:{f=(e|0)==1;r=CV(A)|0;while(1){if(!r)break A;e:do{if(f)cW(r,i)|0;else{e=bY(A,r)|0;while(1){if(!e)break e;cW(e,i)|0;e=uY(A,e)|0}}}while(0);r=MV(A,r)|0}}default:{}}}while(0);return}function vW(A,e,i){A=A|0;e=e|0;i=i|0;cW(e,i)|0;return}function BW(A){A=A|0;var e=0,i=0,r=0;i=HV(A)|0;e=A+16|0;A=n[e>>2]|0;if(A|0)do{r=A;A=n[A+4>>2]|0;mW(i,n[r>>2]|0)|0;gV(i,r)}while((A|0)!=(n[e>>2]|0));n[e>>2]=0;return}function kW(A){A=A|0;return sJ(A,wW(A)|0)|0}function wW(A){A=A|0;var e=0,i=0;if(!A)i=168024;else i=(n[A+64>>2]|0)+20|0;e=n[i>>2]|0;if(!e){e=tJ(A,17920,n[4353]|0)|0;n[i>>2]=e;A=167096;n[A>>2]=-2147483648;n[A+4>>2]=0;A=167104;n[A>>2]=2147483647;n[A+4>>2]=-1}return e|0}function dW(A,e){A=A|0;e=e|0;return hW(wW(A)|0,e)|0}function hW(A,e){A=A|0;e=e|0;A=gW(A,e)|0;if(!A)A=0;else A=n[A+16>>2]|0;return A|0}function gW(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+32|0;r=i;n[r+16>>2]=e;e=kF[n[A>>2]&31](A,r,4)|0;v=i;return e|0}function ZW(A,e){A=A|0;e=e|0;var i=0,r=0;if(!e)i=0;else{r=wW(A)|0;i=gW(r,e)|0;if(!i){i=(Az(e)|0)+24|0;if(!A)i=NN(i)|0;else i=hV(A,i)|0;A=i+8|0;n[A>>2]=1;n[A+4>>2]=0;A=i+20|0;np(A,e)|0;n[i+16>>2]=A;kF[n[r>>2]&31](r,i,1)|0}else{r=i+8|0;e=r;e=BH(n[e>>2]|0,n[e+4>>2]|0,1,0)|0;n[r>>2]=e;n[r+4>>2]=E}i=n[i+16>>2]|0}return i|0}function GW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;if(!e)i=0;else{r=wW(A)|0;i=gW(r,e)|0;if(!i){i=(Az(e)|0)+24|0;if(!A)i=NN(i)|0;else i=hV(A,i)|0;a=167096;f=n[a+4>>2]|0;A=i+8|0;n[A>>2]=n[a>>2]|1;n[A+4>>2]=f;A=i+20|0;np(A,e)|0;n[i+16>>2]=A;kF[n[r>>2]&31](r,i,1)|0}else{a=i+8|0;f=a;f=BH(n[f>>2]|0,n[f+4>>2]|0,1,0)|0;n[a>>2]=f;n[a+4>>2]=E}i=n[i+16>>2]|0}return i|0}function mW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;if((e|0)!=0?(i=wW(A)|0,r=gW(i,e)|0,(r|0)!=0):0)if((n[r+16>>2]|0)==(e|0)?(e=r+8|0,a=e,a=BH(n[a>>2]|0,n[a+4>>2]|0,-1,-1)|0,f=E,e,n[e>>2]=a,n[e+4>>2]=f,e=167104,(a|0)==0&(f|0)==0|(n[e>>2]|0)==0&(n[e+4>>2]|0)==0):0){cJ(A,i,r)|0;A=0}else A=0;else A=-1;return A|0}function IW(A){A=A|0;var e=0;if(!A)A=0;else{A=A+-12|0;e=167096;A=n[e>>2]&n[A>>2]}return A|0}function CW(A){A=A|0;var e=0,i=0,r=0;if(A|0){i=167096;A=A+-12|0;r=A;e=n[r+4>>2]|n[i+4>>2];n[A>>2]=n[r>>2]|n[i>>2];n[A+4>>2]=e}return}function MW(A){A=A|0;n[42011]=A;n[4489]=1;return}function QW(A,e){A=A|0;e=e|0;n[42012]=A;n[42013]=e;n[42014]=0;return}function EW(){var A=0,e=0,i=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;if(!(n[42015]|0)){n[42015]=1;if(!(n[42016]|0))n[42016]=1;if(!(n[42007]|0))n[42007]=n[13853];if(!(n[42008]|0))n[42008]=n[13885];s=n[42017]|0;if(!((s|0)!=0?(n[s>>2]|0)!=0:0)){yW();s=YW(n[42007]|0,16384)|0;n[n[42017]>>2]=s}VW()}A:while(1){c=n[42018]|0;r[c>>0]=r[173923]|0;A=(n[(n[n[42017]>>2]|0)+28>>2]|0)+(n[42016]|0)|0;e=c;e:while(1){l=e;while(1){e=n[17960+(a[l>>0]<<2)>>2]|0;if(f[56680+(A<<1)>>1]|0){n[42019]=A;n[42020]=l}i:while(1){i=e&255;do{e=i+(f[56866+(A<<1)>>1]|0)|0;if((A|0)==(f[57076+(e<<1)>>1]|0))break i;s=f[57612+(A<<1)>>1]|0;A=s<<16>>16}while(s<<16>>16<=92);e=n[18984+(i<<2)>>2]|0}A=f[57822+(e<<1)>>1]|0;e=l+1|0;if((f[56866+(A<<1)>>1]|0)==219)break;else l=e}i:while(1){s=c;r:while(1){A=f[56680+(A<<1)>>1]|0;if(!(A<<16>>16)){A=f[56680+(n[42019]<<1)>>1]|0;e=n[42020]|0}else A=A<<16>>16;n[42009]=c;t=e;n[42010]=t-s;r[173923]=r[e>>0]|0;r[e>>0]=0;n[42018]=e;f:while(1){switch(A|0){case 1:{o=27;break A}case 12:{o=53;break A}case 13:{o=55;break A}case 14:{o=57;break A}case 15:{o=61;break A}case 16:{o=65;break A}case 17:{o=67;break A}case 18:{o=69;break A}case 19:{o=72;break A}case 20:{o=75;break A}case 21:{o=78;break A}case 23:{o=86;break A}case 33:{o=118;break A}case 39:case 38:case 37:case 36:{b=0;break A}case 2:{o=29;break e}case 3:{o=32;break e}case 4:{o=35;break e}case 5:{o=37;break e}case 6:{o=39;break e}case 7:{o=42;break e}case 8:{o=44;break e}case 9:{o=47;break e}case 10:{o=49;break e}case 11:{o=51;break e}case 22:{o=83;break e}case 24:{o=89;break e}case 25:{o=92;break e}case 26:{o=95;break e}case 27:{o=98;break e}case 28:{o=101;break e}case 29:{o=104;break e}case 30:{o=109;break e}case 31:{o=112;break e}case 32:{o=115;break e}case 34:{o=121;break e}case 0:break f;case 35:break;default:{o=134;break A}}l=n[42009]|0;r[e>>0]=r[173923]|0;A=n[42017]|0;i=n[A>>2]|0;if(!(n[i+44>>2]|0)){u=n[i+16>>2]|0;n[42022]=u;n[i>>2]=n[42007];i=n[A>>2]|0;n[i+44>>2]=1;A=u}else A=n[42022]|0;if((n[42018]|0)>>>0<=((n[i+4>>2]|0)+A|0)>>>0){o=128;break r}switch(FW()|0){case 0:{o=132;break i}case 2:{o=133;break r}case 1:break;default:continue A}n[42018]=n[42009];A=(((n[42016]|0)+-1|0)/2|0)+36|0}r[e>>0]=r[173923]|0;e=n[42020]|0;A=n[42019]|0}if((o|0)==128){o=0;i=t-l|0;l=n[42009]|0;e=l+(i+-1)|0;n[42018]=e;A=PW()|0;t=HW(A)|0;c=n[42009]|0;if(!t)continue;else{o=129;break}}else if((o|0)==133){o=0;e=(n[(n[n[42017]>>2]|0)+4>>2]|0)+(n[42022]|0)|0;n[42018]=e;A=PW()|0;c=n[42009]|0;continue}}if((o|0)==129){o=0;e=l+i|0;n[42018]=e;A=t;continue}else if((o|0)==132){o=0;e=(n[42009]|0)+(t-l+-1)|0;n[42018]=e;A=PW()|0;c=n[42009]|0;continue}}switch(o|0){case 29:{o=0;A=n[42010]|0;if(A|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;n[4489]=(n[4489]|0)+1;continue A}case 32:{o=0;A=n[42010]|0;if(A|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;n[42016]=3;continue A}case 35:{o=0;A=n[42010]|0;if(!A)continue A;n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;continue A}case 37:{o=0;A=n[42010]|0;if(!A)continue A;n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;continue A}case 39:{o=0;A=n[42010]|0;if(A|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;n[42016]=1;continue A}case 42:{o=0;A=n[42010]|0;if(!A)continue A;n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;continue A}case 44:{o=0;A=n[42010]|0;if(A|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;WW();continue A}case 47:{o=0;A=n[42010]|0;if(!A)continue A;n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;continue A}case 49:{o=0;A=n[42010]|0;if(!A)continue A;n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;continue A}case 51:{o=0;A=n[42010]|0;if(!A)continue A;n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;continue A}case 83:{o=0;A=n[42010]|0;if(A|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;n[42016]=5;NW();continue A}case 89:{o=0;A=n[42010]|0;if(A|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;pW(83707);continue A}case 92:{o=0;A=n[42010]|0;if(A|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;pW(81579);continue A}case 95:{o=0;A=n[42010]|0;if(A|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;n[4489]=(n[4489]|0)+1;continue A}case 98:{o=0;e=n[42010]|0;A=n[42009]|0;if(e|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;pW(A);continue A}case 101:{o=0;A=n[42010]|0;if(A|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;n[42016]=7;n[42021]=1;NW();continue A}case 104:{o=0;A=n[42010]|0;if(A|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;u=(n[42021]|0)+-1|0;n[42021]=u;if(!u){o=108;break A}pW(n[42009]|0);continue A}case 109:{o=0;e=n[42010]|0;A=n[42009]|0;if(e|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;n[42021]=(n[42021]|0)+1;pW(A);continue A}case 112:{o=0;e=n[42010]|0;A=n[42009]|0;if(e|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;pW(A);n[4489]=(n[4489]|0)+1;continue A}case 115:{o=0;e=n[42010]|0;A=n[42009]|0;if(e|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;pW(A);continue A}case 121:{o=0;e=n[42010]|0;A=n[42009]|0;if(e|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;VR(A,e,1,n[42008]|0)|0;continue A}}}switch(o|0){case 27:{A=n[42010]|0;if(!A)b=-1;else{n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;b=-1}break}case 53:{A=n[42010]|0;if(!A)b=259;else{n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;b=259}break}case 55:{A=n[42010]|0;if(!A)b=260;else{n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;b=260}break}case 57:{A=n[42010]|0;if(A|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;if(!(n[42014]|0)){n[42014]=258;b=258}else b=258;break}case 61:{A=n[42010]|0;if(A|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;if(!(n[42014]|0)){n[42014]=261;b=261}else b=261;break}case 65:{A=n[42010]|0;if(!A)b=263;else{n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;b=263}break}case 67:{A=n[42010]|0;if(!A)b=262;else{n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;b=262}break}case 69:{A=n[42010]|0;if(A|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;b=(n[42014]|0)==261?264:45;break}case 72:{A=n[42010]|0;if(A|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;b=(n[42014]|0)==258?264:45;break}case 75:{e=n[42010]|0;A=n[42009]|0;if(e|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;n[42037]=ZW(n[41987]|0,A)|0;b=267;break}case 78:{A=n[42010]|0;if(A|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;if(JW()|0){o=(n[42010]|0)+-1|0;r[e>>0]=r[173923]|0;u=c+o|0;n[42018]=u;n[42009]=c;n[42010]=o;r[173923]=r[u>>0]|0;r[u>>0]=0;n[42018]=u}n[42037]=ZW(n[41987]|0,n[42009]|0)|0;b=267;break}case 86:{A=n[42010]|0;if(A|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[(n[42009]|0)+(A+-1)>>0]|0)==10&1;n[42016]=1;zW();b=268;break}case 108:{n[42016]=1;RW();b=268;break}case 118:{e=n[42010]|0;A=n[42009]|0;if(e|0)n[(n[n[42017]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;b=r[A>>0]|0;break}case 134:{LW(81582);break}}return b|0}function yW(){var A=0,e=0,i=0;e=n[42017]|0;do{if(!e){A=SW(4)|0;n[42017]=A;if(!A)LW(81940);else{n[A>>2]=0;A=1;i=9;break}}else{A=n[42028]|0;if(0>=(A+-1|0)>>>0){A=A+8|0;e=DW(e,A<<2)|0;n[42017]=e;if(!e)LW(81940);else{i=e+(n[42028]<<2)|0;n[i>>2]=0;n[i+4>>2]=0;n[i+8>>2]=0;n[i+12>>2]=0;n[i+16>>2]=0;n[i+20>>2]=0;n[i+24>>2]=0;n[i+28>>2]=0;i=9;break}}}}while(0);if((i|0)==9)n[42028]=A;return}function YW(A,e){A=A|0;e=e|0;var i=0;i=SW(48)|0;if(!i)LW(81895);n[i+12>>2]=e;e=SW(e+2|0)|0;n[i+4>>2]=e;if(!e)LW(81895);else{n[i+20>>2]=1;TW(i,A);return i|0}return 0}function VW(){var A=0,e=0;e=n[42017]|0;A=n[e>>2]|0;n[42022]=n[A+16>>2];A=n[A+8>>2]|0;n[42018]=A;n[42009]=A;n[42007]=n[n[e>>2]>>2];r[173923]=r[A>>0]|0;return}function WW(){var A=0,e=0,i=0,f=0,a=0,l=0,t=0;a=v;v=v+32|0;f=a;e=a+16|0;i=a+12|0;l=n[42009]|0;A=l+1|0;t=(Yz(A,81879,4)|0)==0;A=t?l+5|0:A;n[f>>2]=i;n[f+4>>2]=a+20;n[f+8>>2]=e;f=PR(A,81884,f)|0;if((f|0)>0?(n[4489]=(n[i>>2]|0)+-1,(f|0)!=1):0){e=A+(n[e>>2]|0)|0;A=e;A:while(1){i=r[A>>0]|0;switch(i<<24>>24){case 0:case 34:break A;default:{}}A=A+1|0}if((A|0)!=(e|0)&i<<24>>24==34){r[A>>0]=0;jW(e,A-e|0)}}v=a;return}function JW(){var A=0,e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0;c=v;v=v+2080|0;t=c+8|0;f=c;A=c+1056|0;e=c+32|0;l=c+16|0;s=r[(n[42009]|0)+((n[42010]|0)+-1)>>0]|0;i=s<<24>>24==46;if(i|((s&255)+-48|0)>>>0<10)if(i?(UW()|0)!=0:0)a=4;else A=0;else a=4;if((a|0)==4){s=n[42011]|0;My(l,1024,A);yy(l,81790)|0;yy(l,n[42009]|0)|0;n[f>>2]=n[4489];_p(e,81834,f)|0;yy(l,e)|0;yy(l,(s|0)==0?81784:s)|0;yy(l,81851)|0;e=l+4|0;A=n[e>>2]|0;if(A>>>0>=(n[l+8>>2]|0)>>>0){Qy(l,1)|0;A=n[e>>2]|0}r[A>>0]=0;A=n[l>>2]|0;n[e>>2]=A;n[t>>2]=A;Gy(0,81876,t)|0;Yy(l);A=1}v=c;return A|0}function NW(){var A=0;A=n[42023]|0;if(!A){A=NN(1024)|0;n[42023]=A;n[42025]=A+1024}n[42024]=A;r[A>>0]=0;return}function zW(){n[42037]=ZW(n[41987]|0,n[42023]|0)|0;r[n[42023]>>0]=0;return}function pW(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;i=n[42024]|0;e=n[42023]|0;if(i>>>0>e>>>0){i=i+-1|0;f=3}A:while(1){if((f|0)==3)n[42024]=i;f=n[42025]|0;a=f;do{l=A;A=A+1|0;l=r[l>>0]|0;t=i;i=i+1|0;r[t>>0]=l;if(!(l<<24>>24))break A}while(i>>>0<f>>>0);n[42024]=i;f=e;t=a-f<<1;e=RN(e,t)|0;n[42023]=e;n[42025]=e+t;i=e+(i-f)|0;f=3}n[42024]=i;return}function RW(){n[42037]=GW(n[41987]|0,n[42023]|0)|0;r[n[42023]>>0]=0;return}function PW(){var A=0,e=0,i=0,a=0,l=0;l=n[42018]|0;a=n[42009]|0;e=(n[(n[n[42017]>>2]|0)+28>>2]|0)+(n[42016]|0)|0;while(1){if(a>>>0>=l>>>0)break;A=r[a>>0]|0;if(!(A<<24>>24))A=1;else A=n[17960+((A&255)<<2)>>2]|0;if(f[56680+(e<<1)>>1]|0){n[42019]=e;n[42020]=a}A:while(1){i=A&255;do{A=i+(f[56866+(e<<1)>>1]|0)|0;if((e|0)==(f[57076+(A<<1)>>1]|0))break A;A=f[57612+(e<<1)>>1]|0;e=A<<16>>16}while(A<<16>>16<=92);A=n[18984+(i<<2)>>2]|0}a=a+1|0;e=f[57822+(A<<1)>>1]|0}return e|0}function HW(A){A=A|0;var e=0;if(f[56680+(A<<1)>>1]|0){e=n[42018]|0;n[42019]=A;n[42020]=e}while(1){e=(f[56866+(A<<1)>>1]|0)+1|0;if((A|0)==(f[57076+(e<<1)>>1]|0))break;A=f[57612+(A<<1)>>1]|0}e=f[57822+(e<<1)>>1]|0;return(e<<16>>16==92?0:e<<16>>16)|0}function FW(){var A=0,e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0;c=n[42017]|0;a=n[c>>2]|0;t=n[a+4>>2]|0;f=n[42009]|0;b=n[42018]|0;s=b;if(b>>>0>(t+((n[42022]|0)+1)|0)>>>0)LW(81637);l=s-f|0;if(!(n[a+40>>2]|0))A=(l|0)==1?1:2;else{b=l+-1|0;l=t;a=0;while(1){if((a|0)>=(b|0))break;r[l>>0]=r[f>>0]|0;l=l+1|0;f=f+1|0;a=a+1|0}f=n[c>>2]|0;do{if((n[f+44>>2]|0)==2){n[42022]=0;n[f+16>>2]=0;i=f;o=17}else{while(1){t=f+12|0;l=n[t>>2]|0;a=l-b+-1|0;if(a|0){o=16;break}a=f+4|0;c=n[a>>2]|0;if(!(n[f+20>>2]|0)){o=12;break}f=l<<1;f=(f|0)==0?(l>>>3)+l|0:f;n[t>>2]=f;f=DW(c,f+2|0)|0;n[a>>2]=f;if(!f)break;c=f+(s-c)|0;n[42018]=c;f=n[n[42017]>>2]|0;s=c}if((o|0)==12)n[a>>2]=0;else if((o|0)==16){e=kF[n[n[(n[42012]|0)+8>>2]>>2]&31](n[42013]|0,(n[f+4>>2]|0)+b|0,a>>>0<8192?a:8192)|0;i=n[n[42017]>>2]|0;n[42022]=e;n[i+16>>2]=e;if(!e){o=17;break}else{A=0;break}}LW(81693)}}while(0);do{if((o|0)==17)if(!b){XW(n[42007]|0);A=1;e=n[42022]|0;i=n[n[42017]>>2]|0;break}else{n[i+44>>2]=2;A=2;e=0;break}}while(0);f=e+b|0;do{if(f>>>0>(n[i+12>>2]|0)>>>0){o=DW(n[i+4>>2]|0,f+(e>>>1)|0)|0;e=n[42017]|0;n[(n[e>>2]|0)+4>>2]=o;e=n[(n[e>>2]|0)+4>>2]|0;if(!e)LW(81737);else{u=n[42022]|0;v=e;break}}else{u=e;v=n[i+4>>2]|0}}while(0);u=u+b|0;n[42022]=u;r[v+u>>0]=0;v=n[42017]|0;r[(n[(n[v>>2]|0)+4>>2]|0)+((n[42022]|0)+1)>>0]=0;n[42009]=n[(n[v>>2]|0)+4>>2]}return A|0}function LW(A){A=A|0;var e=0,i=0;e=v;v=v+16|0;i=n[13918]|0;n[e>>2]=A;lR(i,81633,e)|0;LA(2)}function DW(A,e){A=A|0;e=e|0;return RN(A,e)|0}function XW(A){A=A|0;var e=0,i=0,r=0;i=n[42017]|0;if((i|0)!=0?(e=n[i>>2]|0,(e|0)!=0):0)r=4;else{yW();e=YW(n[42007]|0,16384)|0;i=n[42017]|0;n[i>>2]=e;if(!i)e=0;else r=4}TW(e,A);VW();return}function TW(A,e){A=A|0;e=e|0;var i=0;i=n[(UN()|0)>>2]|0;xW(A);n[A>>2]=e;n[A+40>>2]=1;e=n[42017]|0;if(!e)e=0;else e=n[e>>2]|0;if((e|0)!=(A|0)){n[A+32>>2]=1;n[A+36>>2]=0}n[A+24>>2]=0;n[(UN()|0)>>2]=i;return}function xW(A){A=A|0;var e=0;if(A|0){n[A+16>>2]=0;e=A+4|0;r[n[e>>2]>>0]=0;r[(n[e>>2]|0)+1>>0]=0;n[A+8>>2]=n[e>>2];n[A+28>>2]=1;n[A+44>>2]=0;e=n[42017]|0;if(!e)e=0;else e=n[e>>2]|0;if((e|0)==(A|0))VW()}return}function UW(){var A=0,e=0;e=n[42009]|0;A=(n[42010]|0)+-2|0;while(1){if((A|0)<=-1){A=0;break}if((r[e+A>>0]|0)==46){A=1;break}else A=A+-1|0}return A|0}function jW(A,e){A=A|0;e=e|0;var i=0;i=n[42026]|0;if((i|0)<(e|0)){if(!i)i=NN(e+1|0)|0;else i=RN(n[42027]|0,e+1|0)|0;n[42027]=i;n[42026]=e}else i=n[42027]|0;np(i,A)|0;n[42011]=n[42027];return}function SW(A){A=A|0;return NN(A)|0}function OW(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0;b=v;v=v+2112|0;s=b+32|0;t=b+24|0;l=b+16|0;a=b+8|0;f=b;e=b+56|0;c=b+40|0;My(c,1024,b+1080|0);i=n[42011]|0;if(i|0){yy(c,i)|0;yy(c,81990)|0}yy(c,A)|0;n[f>>2]=n[4489];_p(e,81993,f)|0;yy(c,e)|0;A:do{if(!(r[n[42009]>>0]|0))switch(((n[42016]|0)+-1|0)/2|0|0){case 2:{n[a>>2]=16384;_p(e,82013,a)|0;yy(c,e)|0;A=n[42023]|0;if(!(r[A>>0]|0))break A;t=Az(A)|0;yy(c,82075)|0;A=n[42023]|0;if((t|0)>80)r[A+80>>0]=0;yy(c,A)|0;break A}case 3:{n[l>>2]=16384;_p(e,82094,l)|0;yy(c,e)|0;A=n[42023]|0;if(!(r[A>>0]|0))break A;t=Az(A)|0;yy(c,82162)|0;A=n[42023]|0;if((t|0)>80)r[A+80>>0]=0;yy(c,A)|0;break A}case 1:{n[t>>2]=16384;_p(e,82181,t)|0;yy(c,e)|0;break A}default:break A}else{yy(c,82005)|0;yy(c,n[42009]|0)|0;e=c+4|0;A=n[e>>2]|0;if(A>>>0>=(n[c+8>>2]|0)>>>0){Qy(c,1)|0;A=n[e>>2]|0}n[e>>2]=A+1;r[A>>0]=39}}while(0);i=c+4|0;A=n[i>>2]|0;e=c+8|0;if(A>>>0>=(n[e>>2]|0)>>>0){Qy(c,1)|0;A=n[i>>2]|0}n[i>>2]=A+1;r[A>>0]=10;A=n[i>>2]|0;if(A>>>0>=(n[e>>2]|0)>>>0){Qy(c,1)|0;A=n[i>>2]|0}r[A>>0]=0;t=n[c>>2]|0;n[i>>2]=t;n[s>>2]=t;Gy(1,81876,s)|0;Yy(c);v=b;return}function KW(){_W(n[42009]|0);return}function _W(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;c=n[42018]|0;r[c>>0]=r[173923]|0;t=n[42017]|0;i=n[t>>2]|0;e=n[i+4>>2]|0;if(c>>>0<(e+2|0)>>>0){f=e+((n[42022]|0)+2)|0;a=e+((n[i+12>>2]|0)+2)|0;s=e;l=i;while(1){if(f>>>0<=s>>>0)break;i=f+-1|0;s=a+-1|0;r[s>>0]=r[i>>0]|0;l=n[t>>2]|0;f=i;a=s;s=n[l+4>>2]|0}i=a-f|0;e=c+i|0;c=n[l+12>>2]|0;n[42022]=c;n[l+16>>2]=c;if(e>>>0<(s+2|0)>>>0)LW(82240);else{b=A+i|0;o=e}}else{b=A;o=c}A=o+-1|0;r[A>>0]=64;n[42009]=b;r[173923]=r[A>>0]|0;n[42018]=A;return}function qW(){var A=0;A=n[42017]|0;if(!A)A=0;else A=n[A>>2]|0;xW(A);return}function $W(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;r=v;v=v+80|0;f=r;a=A+52|0;bJ(A,n[a>>2]|0,17604);A=f+8|0;n[A>>2]=e;n[A+4>>2]=i;i=n[a>>2]|0;i=kF[n[i>>2]&31](i,f,4)|0;v=r;return i|0}function AJ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0;f=$W(A,e,i)|0;if(!f){f=hV(A,72)|0;n[f+64>>2]=n[A+64>>2];a=f+24|0;l=n[A+24>>2]|0;n[a>>2]=l;r[a>>0]=l&255&-9;n[f+56>>2]=A;n[f+60>>2]=n[A+60>>2];A=f+8|0;n[A>>2]=e;n[A+4>>2]=i;WY(f)|0}return f|0}function eJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;a=v;v=v+16|0;f=a;if(!(((e|0)!=0?(OY(A,0,e,f,0)|0)!=0:0)?(r=f,r=$W(A,n[r>>2]|0,n[r+4>>2]|0)|0,(r|0)!=0):0))if((i|0)!=0?(OY(A,0,e,f,1)|0)!=0:0){r=f;r=AJ(A,n[r>>2]|0,n[r+4>>2]|0)|0;$Y(A,0,r)}else r=0;v=a;return r|0}function iJ(A){A=A|0;A=n[A+52>>2]|0;return kF[n[A>>2]&31](A,0,128)|0}function rJ(A){A=A|0;var e=0;e=fJ(A)|0;if(!e)A=0;else{e=n[e+52>>2]|0;A=kF[n[e>>2]&31](e,A,8)|0}return A|0}function fJ(A){A=A|0;return n[A+56>>2]|0}function nJ(A,e){A=A|0;e=e|0;A=n[A+52>>2]|0;return kF[n[A>>2]&31](A,e,2)|0}function aJ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=n[42029]|0;r=(e|0)!=0;do{if(!A)if(r){zN(e);A=0;break}else{A=NN(i)|0;break}else if(r){gV(A,e);A=0;break}else{A=hV(A,i)|0;break}}while(0);return A|0}function lJ(A,e,i){A=A|0;e=e|0;i=i|0;A=n[42029]|0;if(!A)zN(e);else gV(A,e);return}function tJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=e+28|0;f=n[r>>2]|0;n[r>>2]=2;n[42029]=A;i=oy(e,i)|0;n[r>>2]=f;n[42029]=0;return i|0}function cJ(A,e,i){A=A|0;e=e|0;i=i|0;n[42029]=A;return kF[n[e>>2]&31](e,i,2)|0}function sJ(A,e){A=A|0;e=e|0;var i=0,r=0;i=(ly(e,0,0)|0)+28|0;r=n[i>>2]|0;n[i>>2]=2;n[42029]=A;if(!(ay(e)|0)){n[i>>2]=r;n[42029]=0;A=0}else A=1;return A|0}function bJ(A,e,i){A=A|0;e=e|0;i=i|0;if(i|0?(ly(e,0,0)|0)!=(i|0):0)ly(e,i,0)|0;return}function oJ(A,e){A=A|0;e=e|0;if(!(IW(A)|0))e=vJ(A,e)|0;else uJ(A,e)|0;return e|0}function uJ(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;r[e>>0]=60;f=e;while(1){i=f+1|0;n=r[A>>0]|0;if(!(n<<24>>24))break;r[i>>0]=n;A=A+1|0;f=i}r[i>>0]=62;r[f+2>>0]=0;return e|0}function vJ(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0,k=0;A:do{if((A|0)!=0?(r[A>>0]|0)!=0:0){r[e>>0]=34;b=r[A>>0]|0;k=0;a=((b+-45&255)<2|((b&255)+-48|0)>>>0<10)&1;l=0;t=0;c=0;i=e+1|0;f=A+1|0;e:while(1){s=i;while(1){if(!(b<<24>>24))break e;i=b&255;i:do{if(b<<24>>24==34){r[s>>0]=92;o=a;u=1;s=s+1|0}else{if(!a){u=b<<24>>24>-1&(b<<24>>24!=95&(Dz(i)|0)==0);o=0;u=u?1:l;break}switch(b<<24>>24){case 45:{u=(c|0)==0;o=u?a:0;u=u?l:1;break i}case 46:{u=(t|0)==0;o=u?a:0;u=u?l:1;t=t+1|0;break i}default:{u=(i+-48|0)>>>0<10;o=u?a:0;u=u?l:1;break i}}}}while(0);i=s+1|0;r[s>>0]=b;B=f+1|0;v=r[f>>0]|0;c=c+1|0;f=n[4795]|0;if(!f){a=o;l=u;s=i;f=B;b=v;continue}a=v&255;l=v<<24>>24!=0;if((k&l?!(b<<24>>24==92|b<<24>>24>-1&((b+-45&255)>1&(Dz(b<<24>>24)|0)==0)^1):0)?!(v<<24>>24>-1&((v+-45&255)>1&(Dz(a)|0)==0)):0)break;if((c|0)<(f|0)|l^1){a=o;l=u;s=i;f=B;b=v;continue}if(b<<24>>24==92|b<<24>>24>-1&((Dz(b<<24>>24)|0)==0&(b+-45&255)>1)^1){k=1;a=o;l=u;b=v;f=B;continue e}if(v<<24>>24>-1&((v+-45&255)>1&(Dz(a)|0)==0)){k=1;a=o;l=u;b=v;f=B;continue e}r[i>>0]=92;r[s+2>>0]=10;a=o;l=1;c=0;s=s+3|0;f=B;b=v}r[i>>0]=92;r[s+2>>0]=10;k=0;a=o;l=1;c=0;b=v;i=s+3|0;f=B}r[s>>0]=34;r[s+1>>0]=0;if(!l){if((c|0)==1?((r[A>>0]|0)+-45&255)<2:0){A=e;break}else i=19184;while(1){f=n[i>>2]|0;if(!f)break A;if(!(Tz(f,A)|0)){A=e;break}else i=i+4|0}}else A=e}else A=82272}while(0);return A|0}function BJ(A){A=A|0;return oJ(A,kJ(A)|0)|0}function kJ(A){A=A|0;var e=0;e=((Az(A)|0)<<1)+2|0;e=e>>>0>1024?e:1024;A=n[42031]|0;if(e>>>0>(n[42030]|0)>>>0){if(!A)A=NN(e)|0;else A=RN(A,e)|0;n[42031]=A;n[42030]=e}return A|0}function wJ(A,e){A=A|0;e=e|0;A=iJ(A)|0;while(1){if(!A){A=0;break}if((dJ(A)|0)==0?YV(A,e,0)|0:0){A=1;break}A=rJ(A)|0}return A|0}function dJ(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0;l=qY(A)|0;if((l|0)!=0?(r[l>>0]|0)!=37:0)e=0;else i=3;A:do{if((i|0)==3){e=Py(A)|0;e:do{if(e|0?(f=Py(fJ(A)|0)|0,f|0):0){l=vy(n[(Py(FV(A)|0)|0)+8>>2]|0)|0;a=e+12|0;i=f+12|0;e=0;while(1){if((e|0)>=(l|0))break e;f=n[(n[a>>2]|0)+(e<<2)>>2]|0;if((f|0?(t=n[(n[i>>2]|0)+(e<<2)>>2]|0,t|0):0)?az(f,t)|0:0){e=0;break A}e=e+1|0}}}while(0);e=Jy(A,0)|0;if(e)if((vy(n[e+8>>2]|0)|0)>0)e=0;else return(vy(n[e+12>>2]|0)|0)<1|0;else e=1}}while(0);return e|0}function hJ(A,e){A=A|0;e=e|0;var i=0,f=0;n[42032]=0;i=fY(A,82282)|0;if((i|0?((r[i>>0]|0)+-48|0)>>>0<10:0)?(f=cR(i,0,10)|0,(f|0)==0|(f|0)>59):0)n[4795]=f;gJ(A,1);if(((ZJ(A,e,1)|0)!=-1?(GJ(A,e)|0)!=-1:0)?(mJ(A,e)|0)!=-1:0){n[4795]=128;A=vF[n[(n[(n[A+64>>2]|0)+8>>2]|0)+8>>2]&31](e)|0}else A=-1;return A|0}function gJ(A,e){A=A|0;e=e|0;var i=0;n[A>>2]=n[A>>2]&-9;i=iJ(A)|0;while(1){if(!i)break;gJ(i,0);i=rJ(i)|0}A:do{if(e|0){e=CV(A)|0;while(1){if(!e)break A;n[e>>2]=n[e>>2]&-9;i=bY(A,e)|0;while(1){if(!i)break;n[i>>2]=n[i>>2]&-9;i=uY(A,i)|0}e=MV(A,e)|0}}}while(0);return}function ZJ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0;if((i|0)==0?(fJ(A)|0)!=0:0){t=0;a=174177;s=94280}else{s=(r[A+24>>0]&1)==0?174177:82326;a=(LY(A)|0)==0;n[42033]=Sy(A,2,96242,0)|0;n[42034]=Sy(A,2,96251,0)|0;t=1;a=a?174177:82329}f=qY(A)|0;if((f|0)!=0?(r[f>>0]|0)!=37:0){l=1;c=87582}else{l=0;c=174177;f=174177}do{if((IJ(A,e)|0)!=-1?(CJ(A,e,a)|0)!=-1:0){a=(l|0)==0;if(l|t|0){if((CJ(A,e,s)|0)==-1){f=-1;break}if((CJ(A,e,87575)|0)==-1){f=-1;break}}if(!a?(pJ(A,e,f)|0)==-1:0){f=-1;break}if(((CJ(A,e,c)|0)!=-1?(CJ(A,e,82337)|0)!=-1:0)?(n[42032]=(n[42032]|0)+1,(LJ(A,e,i)|0)!=-1):0){n[A>>2]=n[A>>2]|8;f=0}else f=-1}else f=-1}while(0);return f|0}function GJ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0;A:do{if((MJ(A,e)|0)==-1)i=-1;else{s=Jy(FV(A)|0,0)|0;t=(s|0)==0;c=s+12|0;s=s+8|0;l=CV(A)|0;while(1){if(!l){i=0;break A}if(QJ(A,l,(n[l>>2]|0)>>>4,0)|0){if(t)i=0;else i=n[s>>2]|0;if((EJ(l,e,i)|0)==-1){i=-1;break A}}a=bY(A,l)|0;i=l;while(1){if(!a)break;f=a+-48|0;r=n[((n[a>>2]&3|0)==2?a:f)+40>>2]|0;if((i|0)!=(r|0)?(QJ(A,r,(n[l>>2]|0)>>>4,0)|0)!=0:0){if(t)i=0;else i=n[s>>2]|0;if((EJ(n[((n[a>>2]&3|0)==2?a:f)+40>>2]|0,e,i)|0)==-1){i=-1;break A}i=n[((n[a>>2]&3|0)==2?a:f)+40>>2]|0}if(yJ(A,a)|0){if(t)r=0;else r=n[c>>2]|0;if((YJ(a,e,r)|0)==-1){i=-1;break A}}a=uY(A,a)|0}l=MV(A,l)|0}}}while(0);return i|0}function mJ(A,e){A=A|0;e=e|0;n[42032]=(n[42032]|0)+-1;if((IJ(A,e)|0)==-1)A=-1;else A=((CJ(A,e,95774)|0)==-1)<<31>>31;return A|0}function IJ(A,e){A=A|0;e=e|0;var i=0;i=n[42032]|0;while(1){if((i|0)<=0){i=0;break}if((CJ(A,e,134899)|0)==-1){i=-1;break}else i=i+-1|0}return i|0}function CJ(A,e,i){A=A|0;e=e|0;i=i|0;return BF[n[(n[(n[A+64>>2]|0)+8>>2]|0)+4>>2]&63](e,i)|0}function MJ(A,e){A=A|0;e=e|0;A=iJ(A)|0;while(1){if(!A){A=0;break}if(!(dJ(A)|0)){if((ZJ(A,e,0)|0)==-1){A=-1;break}if((GJ(A,e)|0)==-1){A=-1;break}if((mJ(A,e)|0)==-1){A=-1;break}}else MJ(A,e)|0;A=rJ(A)|0}return A|0}function QJ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;if((wJ(A,e)|0)==0?(PJ(A,e,i,r)|0)!=0:0)if((HJ(A,e)|0)==0?(FJ(e)|0)==0:0)f=5;else A=1;else f=5;if((f|0)==5)A=0;return A|0}function EJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=HV(A)|0;do{if((IJ(r,e)|0)!=-1?(VJ(A,e)|0)!=-1:0){if((JJ(A)|0)==0?(NJ(A,e,i)|0)==-1:0){A=-1;break}A=CJ(r,e,82293)|0}else A=-1}while(0);return A|0}function yJ(A,e){A=A|0;e=e|0;A=iJ(A)|0;while(1){if(!A){A=1;break}if((dJ(A)|0)==0?EY(A,e,0)|0:0){A=0;break}A=rJ(A)|0}return A|0}function YJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;r=n[A>>2]&3;a=n[((r|0)==3?A:A+48|0)+40>>2]|0;r=n[((r|0)==2?A:A+-48|0)+40>>2]|0;f=HV(a)|0;do{if((((((IJ(f,e)|0)!=-1?(VJ(a,e)|0)!=-1:0)?(WJ(A,e,n[42033]|0)|0)!=-1:0)?(a=(HY(HV(a)|0)|0)!=0,(CJ(f,e,a?85039:85044)|0)!=-1):0)?(VJ(r,e)|0)!=-1:0)?(WJ(A,e,n[42034]|0)|0)!=-1:0){if(!(JJ(A)|0)){if((NJ(A,e,i)|0)==-1){A=-1;break}}else if((zJ(A,e,1)|0)==-1){A=-1;break}A=CJ(f,e,82293)|0}else A=-1}while(0);return A|0}function VJ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0;t=v;v=v+32|0;a=t;i=t+8|0;r=qY(A)|0;f=HV(A)|0;if(!r){c=A+8|0;A=n[c+4>>2]|0;r=a;n[r>>2]=n[c>>2];n[r+4>>2]=A;_p(i,82313,a)|0;if((CJ(f,e,i)|0)==-1)A=-1;else l=4}else if((pJ(f,e,r)|0)==-1)A=-1;else l=4;if((l|0)==4)A=0;v=t;return A|0}function WJ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0;A:do{if((i|0)!=0?(f=HV(A)|0,n=nY(A,i)|0,(r[n>>0]|0)!=0):0)if((CJ(f,e,92961)|0)==-1)A=-1;else{do{if(IW(n)|0){if((pJ(f,e,n)|0)==-1){A=-1;break A}}else{A=Vz(n,58)|0;if(!A)if((RJ(f,e,n,0)|0)==-1){A=-1;break A}else break;r[A>>0]=0;if((RJ(f,e,n,0)|0)==-1){A=-1;break A}if((CJ(f,e,92961)|0)==-1){A=-1;break A}if((RJ(f,e,A+1|0,0)|0)==-1){A=-1;break A}r[A>>0]=58}}while(0);A=0}else A=0}while(0);return A|0}function JJ(A){A=A|0;return(n[A>>2]|0)>>>3&1|0}function NJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,s=0;A:do{if(!(n[A>>2]&2)){r=0;s=4}else{switch(zJ(A,e,0)|0){case-1:{r=-1;break A}case 0:{r=0;s=4;break A}default:{}}r=1;s=4}}while(0);A:do{if((s|0)==4){f=Py(A)|0;c=HV(A)|0;e:do{if(f){t=f+12|0;l=kF[n[i>>2]&31](i,0,128)|0;while(1){if(!l)break e;do{if(n[A>>2]&2){a=n[42033]|0;if(a|0?(n[l+16>>2]|0)==(n[a+16>>2]|0):0)break;a=n[42034]|0;if(!((a|0)!=0?(n[l+16>>2]|0)==(n[a+16>>2]|0):0))s=12}else s=12}while(0);if((s|0)==12){s=0;f=l+16|0;if((n[(n[t>>2]|0)+(n[f>>2]<<2)>>2]|0)!=(n[l+12>>2]|0)){a=r+1|0;if(r){if((CJ(c,e,82308)|0)==-1){r=-1;break A}if((IJ(c,e)|0)==-1){r=-1;break A}}else{if((IJ(c,e)|0)==-1){r=-1;break A}if((CJ(c,e,82305)|0)==-1){r=-1;break A}n[42032]=(n[42032]|0)+1}if((pJ(c,e,n[l+8>>2]|0)|0)==-1){r=-1;break A}if((CJ(c,e,82311)|0)==-1){r=-1;break A}if((pJ(c,e,n[(n[t>>2]|0)+(n[f>>2]<<2)>>2]|0)|0)==-1){r=-1;break A}else r=a}}l=kF[n[i>>2]&31](i,l,8)|0}}}while(0);if((r|0)>0){if((CJ(c,e,82303)|0)==-1){r=-1;break}n[42032]=(n[42032]|0)+-1}n[A>>2]=n[A>>2]|8;r=0}}while(0);return r|0}function zJ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0;f=qY(A)|0;A=HV(A)|0;if((f|0)!=0?(r[f>>0]|0)!=0:0)if((CJ(A,e,82296)|0)!=-1?(pJ(A,e,f)|0)!=-1:0)if((i|0)!=0?(CJ(A,e,82303)|0)==-1:0)A=-1;else{A=1;n=7}else A=-1;else{A=0;n=7}return A|0}function pJ(A,e,i){A=A|0;e=e|0;i=i|0;return RJ(A,e,i,1)|0}function RJ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if(!r)i=vJ(i,kJ(i)|0)|0;else i=BJ(i)|0;return CJ(A,e,i)|0}function PJ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A:do{if(0<r>>>0|(0==(r|0)?(n[e>>2]|0)>>>4>>>0<i>>>0:0))e=0;else{e=vY(A,e)|0;while(1){if(!e){e=1;break A}if(0<r>>>0|(0==(r|0)?(n[n[e+40>>2]>>2]|0)>>>4>>>0<i>>>0:0)){e=0;break A}e=BY(A,e)|0}}}while(0);return e|0}function HJ(A,e){A=A|0;e=e|0;if(!(vY(A,e)|0))A=(bY(A,e)|0)==0&1;else A=0;return A|0}function FJ(A){A=A|0;var e=0,i=0,r=0;A=Py(A)|0;A:do{if(!A)A=0;else{i=A+8|0;r=n[i>>2]|0;e=A+12|0;A=kF[n[r>>2]&31](r,0,128)|0;while(1){if(!A){A=0;break A}if((n[(n[e>>2]|0)+(n[A+16>>2]<<2)>>2]|0)!=(n[A+12>>2]|0)){A=1;break A}r=n[i>>2]|0;A=kF[n[r>>2]&31](r,A,8)|0}}}while(0);return A|0}function LJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=Jy(A,0)|0;if(r)if(((DJ(A,e,96286,n[r+16>>2]|0,i)|0)!=-1?(DJ(A,e,96273,n[r+8>>2]|0,i)|0)!=-1:0)?(DJ(A,e,96237,n[r+12>>2]|0,i)|0)!=-1:0)f=5;else A=-1;else f=5;if((f|0)==5)A=0;return A|0}function DJ(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0;o=(a|0)!=0;if(o)b=0;else b=dy(f,0)|0;s=(b|0)==0;c=kF[n[f>>2]&31](f,0,128)|0;a=0;while(1){if(!c){u=23;break}t=c+12|0;u=n[t>>2]|0;if((u|0)!=0?(r[u>>0]|0)!=0:0)u=12;else u=7;do{if((u|0)==7){u=0;if(!(r[c+22>>0]|0)){if(!s){l=kF[n[b>>2]&31](b,c,4)|0;v=n[l+12>>2]|0;if(v|0?r[v>>0]|0:0){u=12;break}if(!(r[l+22>>0]|0))u=12}}else u=12}}while(0);if((u|0)==12){u=0;l=a+1|0;if(a){if((CJ(A,e,82308)|0)==-1){a=-1;break}if((IJ(A,e)|0)==-1){a=-1;break}}else{if((IJ(A,e)|0)==-1){a=-1;break}if((CJ(A,e,i)|0)==-1){a=-1;break}if((CJ(A,e,82305)|0)==-1){a=-1;break}n[42032]=(n[42032]|0)+1}if((pJ(A,e,n[c+8>>2]|0)|0)==-1){a=-1;break}if((CJ(A,e,82311)|0)==-1){a=-1;break}if((pJ(A,e,n[t>>2]|0)|0)==-1){a=-1;break}else a=l}c=kF[n[f>>2]&31](f,c,8)|0}do{if((u|0)==23){if((a|0)>0){n[42032]=(n[42032]|0)+-1;if((a|0)!=1){if((CJ(A,e,134901)|0)==-1){a=-1;break}if((IJ(A,e)|0)==-1){a=-1;break}}a=(CJ(A,e,82340)|0)==-1;if(o|a){a=a<<31>>31;break}}else if(o){a=0;break}dy(f,b)|0;a=0}}while(0);return a|0}function XJ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0;switch(n[e>>2]&3){case 0:{a=19;break}case 1:{a=20;break}case 3:case 2:{a=21;break}default:{}}e=BF[a&63](A,e)|0;if(!e)e=-1;else{jJ(A,e,i,r,a,f);e=0}return e|0}function TJ(A,e){A=A|0;e=e|0;if((HV(e)|0)!=(A|0))e=EY(A,e,0)|0;return e|0}function xJ(A,e){A=A|0;e=e|0;if((HV(e)|0)!=(A|0))e=YV(A,e,0)|0;return e|0}function UJ(A,e){A=A|0;e=e|0;return A|0}function jJ(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,l=0,t=0;l=(n|0)!=0;if(l)mF[i&127](A,e,r);a=iJ(A)|0;while(1){if(!a)break;t=BF[f&63](a,e)|0;if(t|0)jJ(a,t,i,r,f,n);a=rJ(a)|0}if(!l)mF[i&127](A,e,r);return}function SJ(){var A=0,e=0,i=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0;h=v;v=v+1200|0;w=h+800|0;i=h;n[42035]=0;n[42036]=-2;e=w;t=200;o=i;B=0;k=0;u=w;A:while(1){f[u>>1]=B;if((e+(t<<1)+-2|0)>>>0>u>>>0)s=t;else{b=u-e>>1;A=b+1|0;if(t>>>0>9999){d=75;break}s=t<<1;s=s>>>0<1e4?s:1e4;l=NN(s*6|3)|0;if(l){QH(l|0,e|0,A<<1|0)|0;t=l+(s>>>1<<2)|0;QH(t|0,o|0,A<<2|0)|0;if((e|0)==(w|0)){A=0;e=l}else{zN(e);A=0;e=l}}else{A=4;t=o}c=(A|0)==0;l=e+(b<<1)|0;switch((c?(e+(s<<1)+-2|0)>>>0>l>>>0?0:9:A)&15){case 9:{A=1;d=76;break A}case 4:{d=75;break A}case 0:{i=c?t+(b<<2)|0:i;o=t;u=c?l:u;break}default:{A=0;break A}}}if((B|0)==6){A=0;d=76;break}A=r[82344+B>>0]|0;c=A<<24>>24;do{if(A<<24>>24!=-18){l=n[42036]|0;if((l|0)==-2){l=EW()|0;n[42036]=l}if((l|0)>=1)if(l>>>0<269)t=a[82424+l>>0]|0;else t=2;else{n[42036]=0;t=0}l=t+c|0;if(l>>>0<=59?(t|0)==(a[82693+l>>0]|0):0){B=r[82753+l>>0]|0;A=B<<24>>24;if(B<<24>>24<1){l=0-A|0;d=23;break}else{n[42036]=-2;i=i+4|0;n[i>>2]=n[42037];c=(k|0)==0?0:k+-1|0;l=u;break}}else d=22}else d=22}while(0);if((d|0)==22){d=0;B=r[82813+B>>0]|0;l=B&255;if(!(B<<24>>24)){l=n[42036]|0;e:do{switch(k|0){case 0:{n[42035]=(n[42035]|0)+1;OW(125369);l=u;break}case 3:if((l|0)<1)if(!l){A=1;d=76;break A}else{l=u;break e}else{n[42036]=-2;l=u;break e}default:l=u}}while(0);while(1){if(A<<24>>24==18)break;if((l|0)==(e|0)){A=1;d=76;break A}A=l+-2|0;i=i+-4|0;l=A;A=r[82344+(f[A>>1]|0)>>0]|0}i=i+4|0;n[i>>2]=n[42037];A=1;c=3}else d=23}do{if((d|0)==23){d=0;t=a[82893+l>>0]|0;A=n[i+(1-t<<2)>>2]|0;e:do{switch(l|0){case 2:{OJ();KJ();break}case 3:{if(n[42038]|0){OJ();KJ();NY(n[42038]|0)|0;n[41987]=0;n[42038]=0}break}case 6:{_J(n[i>>2]|0,n[i+-4>>2]|0,n[i+-8>>2]|0);break}case 7:{A=n[i>>2]|0;break}case 8:{A=0;break}case 9:{A=1;break}case 10:{A=0;break}case 11:{A=0;break}case 12:{A=1;break}case 21:if(!(n[i+-4>>2]|0)){$J();break e}else{qJ();break e}case 24:{AN();break}case 25:{AN();break}case 26:{A=1;break}case 27:{A=0;break}case 30:{eN(n[i>>2]|0,0,0);break}case 31:{eN(n[i+-8>>2]|0,n[i>>2]|0,0);break}case 32:{eN(n[i+-16>>2]|0,n[i+-8>>2]|0,n[i>>2]|0);break}case 33:{iN(n[i+-8>>2]|0,n[i+-4>>2]|0);break}case 34:{iN(258,0);break}case 35:{A=258;break}case 36:{A=259;break}case 37:{A=260;break}case 38:{A=n[i+-4>>2]|0;break}case 39:{A=0;break}case 48:{rN(n[i+-8>>2]|0,n[i>>2]|0);break}case 49:{rN(n[i>>2]|0,0);break}case 51:{fN(n[i>>2]|0);break}case 52:{nN();break}case 53:{A=n[i>>2]|0;break}case 54:{A=0;break}case 55:{A=0;break}case 59:{A=n[i>>2]|0;break}case 60:{A=n[i>>2]|0;break}case 61:{A=n[i>>2]|0;break}case 62:{A=aN(n[i+-8>>2]|0,n[i>>2]|0)|0;break}default:{}}}while(0);t=0-t|0;B=i+(t<<2)|0;t=u+(t<<1)|0;i=B+4|0;n[B+4>>2]=A;A=(a[82956+l>>0]|0)+-24|0;B=f[t>>1]|0;l=B+(r[83019+A>>0]|0)|0;if(l>>>0<60?(a[82693+l>>0]|0)==(B|0):0){A=r[82753+l>>0]|0;c=k;l=t;break}A=r[83054+A>>0]|0;c=k;l=t}}while(0);t=s;B=A;k=c;u=l+2|0}if((d|0)==75){OW(125382);A=2;d=76}if((d|0)==76)if((e|0)!=(w|0))zN(e);v=h;return A|0}function OJ(){var A=0,e=0;A=n[42039]|0;while(1){if(!A)break;tB(A+8|0);tB((n[42039]|0)+24|0);tB((n[42039]|0)+16|0);e=lN(n[42039]|0)|0;n[42039]=e;A=e}return}function KJ(){KW();lV(n[42038]|0);return}function _J(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0;l=v;v=v+16|0;a=l;f=n[42038]|0;if(!f){r[168160]=e&1|(i&255)<<1&2|r[168160]&-12|8;f=n[42041]|0;r[a>>0]=r[168160]|0;r[a+1>>0]=r[168161]|0;r[a+2>>0]=r[168162]|0;r[a+3>>0]=r[168163]|0;f=YY(A,a,f)|0;n[42038]=f}n[41987]=f;n[42039]=tN(n[42039]|0,f)|0;mW(0,A)|0;v=l;return}function qJ(){var A=0,e=0,i=0,f=0,a=0,l=0;lB(2);i=n[42039]|0;f=r[83089]|0;l=0;A=i+24|0;while(1){e=n[A>>2]|0;if(!e)break;if(((n[e>>2]|0)==267?(a=n[e+4>>2]|0,(r[a>>0]|0)==f<<24>>24):0)?(az(a,83089)|0)==0:0)A=n[e+8>>2]|0;else A=l;l=A;A=e+12|0}A=i+16|0;A:while(1){i=n[A>>2]|0;A=i+12|0;if(!(n[A>>2]|0))break;e=i+4|0;if((n[i>>2]|0)==262){i=n[e>>2]|0;e=CV(i)|0;while(1){if(!e)continue A;a=YV(n[n[42039]>>2]|0,e,0)|0;BB(a,0,n[A>>2]|0,l);e=MV(i,e)|0}}else while(1){e=n[e>>2]|0;if(!e)continue A;BB(n[e+4>>2]|0,n[e+8>>2]|0,n[A>>2]|0,l);e=e+12|0}}tB((n[42039]|0)+8|0);tB((n[42039]|0)+16|0);tB((n[42039]|0)+24|0);n[(n[42039]|0)+4>>2]=0;return}function $J(){var A=0;lB(1);A=(n[42039]|0)+8|0;while(1){A=n[A>>2]|0;if(!A)break;vB(n[A+4>>2]|0);A=A+12|0}tB((n[42039]|0)+8|0);tB((n[42039]|0)+24|0);tB((n[42039]|0)+16|0);n[(n[42039]|0)+4>>2]=0;return}function AN(){var A=0,e=0;A=n[42039]|0;e=n[A+8>>2]|0;if(!e){e=n[A+4>>2]|0;if(!e)e=0;else{e=uB(e)|0;A=n[42039]|0}n[A+4>>2]=0}else{e=oB(e)|0;A=n[42039]|0;n[A+12>>2]=0;n[A+8>>2]=0}if(e|0)sN(A+16|0,e);return}function eN(A,e,i){A=A|0;e=e|0;i=i|0;if(i)e=sB(e,i)|0;i=bB(zV(n[n[42039]>>2]|0,A,1)|0,e)|0;sN((n[42039]|0)+8|0,i);mW(n[42038]|0,A)|0;return}function iN(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;if(e|0)aB();e=(n[42039]|0)+24|0;while(1){e=n[e>>2]|0;if(!e)break;if(!(n[e+8>>2]|0))aB();e=e+12|0}a=(A|0)==260?2:(A|0)==259&1;lB(a);A=n[42039]|0;e=A+24|0;while(1){f=n[e>>2]|0;if(!f)break;do{if((n[f>>2]|0)!=267){e=n[f+4>>2]|0;i=n[A>>2]|0;if(!((r[e+21>>0]|0)!=0&(i|0)==(n[42038]|0))){e=Sy(i,a,n[e+8>>2]|0,n[f+8>>2]|0)|0;A=n[42039]|0;if((n[A>>2]|0)!=(n[42038]|0))break}r[e+22>>0]=1}}while(0);e=f+12|0}tB(A+24|0);return}function rN(A,e){A=A|0;e=e|0;e=cN(A,e)|0;sN((n[42039]|0)+24|0,e);return}function fN(A){A=A|0;var e=0;e=n[42039]|0;n[42039]=tN(e,eJ(n[e>>2]|0,A,1)|0)|0;mW(n[42038]|0,A)|0;return}function nN(){var A=0,e=0;A=n[42039]|0;e=n[A>>2]|0;A=lN(A)|0;n[42039]=A;n[A+4>>2]=e;return}function aN(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;a=v;v=v+1024|0;f=a;i=Az(A)|0;i=i+1+(Az(e)|0)|0;if(i>>>0<1025)i=f;else i=NN(i)|0;np(i,A)|0;kR(i,e)|0;r=ZW(n[42038]|0,i)|0;mW(n[42038]|0,A)|0;mW(n[42038]|0,e)|0;if((i|0)!=(f|0))zN(i);v=a;return r|0}function lN(A){A=A|0;var e=0;e=n[(n[42039]|0)+32>>2]|0;gV(n[42038]|0,A);return e|0}function tN(A,e){A=A|0;e=e|0;var i=0;i=hV(n[42038]|0,36)|0;n[i+32>>2]=A;n[i>>2]=e;return i|0}function cN(A,e){A=A|0;e=e|0;return bN(267,A,e)|0}function sN(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+4|0;r=n[i>>2]|0;if(r|0)n[r+12>>2]=e;n[i>>2]=e;if(!(n[A>>2]|0))n[A>>2]=e;return}function bN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=hV(n[42038]|0,16)|0;n[r>>2]=A;n[r+4>>2]=e;n[r+8>>2]=i;return r|0}function oN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0.0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,h=0,g=0,Z=0,m=0,I=0,C=0,M=0,Q=0,y=0,Y=0,V=0,W=0,J=0,N=0.0;J=v;v=v+112|0;Y=J+80|0;y=J+64|0;Q=J+48|0;W=4;V=NN(40)|0;n[V>>2]=0;Z=J+32|0;m=J+16|0;I=J;C=J+96|0;W=CH(169976,1,V|0,W|0)|0;V=E;w=0;r=w;w=0;if((r|0)!=0&(d|0)!=0){f=MH(n[r>>2]|0,W|0,V|0)|0;if(!f)OA(r|0,d|0);E=d}else f=-1;if((f|0)==1)r=E;else r=0;A:while(1){if(r|0){r=-2;break}a=A+4|0;w=0;tA(94,n[a>>2]|0);r=w;w=0;if((r|0)!=0&(d|0)!=0){f=MH(n[r>>2]|0,W|0,V|0)|0;if(!f)OA(r|0,d|0);E=d}else f=-1;if((f|0)==1){r=E;continue}n[42533]=0;n[42534]=0;w=0;tA(95,n[a>>2]<<1|0);r=w;w=0;if((r|0)!=0&(d|0)!=0){f=MH(n[r>>2]|0,W|0,V|0)|0;if(!f)OA(r|0,d|0);E=d}else f=-1;if((f|0)==1){r=E;continue}b=(n[42536]|0)/2|0;n[42537]=b;n[42538]=b+-1;b=n[a>>2]|0;a=n[A>>2]|0;r=0;f=-1;l=G;while(1){if((r|0)>=(b|0))break;N=+s[a+(r<<4)>>3];g=l>N;h=g?r:f;r=r+1|0;f=h;l=g?N:l}g=a+(f<<4)|0;n[m>>2]=n[g>>2];n[m+4>>2]=n[g+4>>2];n[m+8>>2]=n[g+8>>2];n[m+12>>2]=n[g+12>>2];g=a+(((f|0)==0?b:f)+-1<<4)|0;n[Z>>2]=n[g>>2];n[Z+4>>2]=n[g+4>>2];n[Z+8>>2]=n[g+8>>2];n[Z+12>>2]=n[g+12>>2];g=a+(((f|0)==(b+-1|0)?0:f+1|0)<<4)|0;n[I>>2]=n[g>>2];n[I+4>>2]=n[g+4>>2];n[I+8>>2]=n[g+8>>2];n[I+12>>2]=n[g+12>>2];N=+s[m>>3];if((+s[Z>>3]==N?N==+s[I>>3]:0)?+s[I+8>>3]>+s[m+8>>3]:0)g=15;else g=12;e:do{if((g|0)==12){g=0;w=0;r=rA(17,Z|0,m|0,I|0)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,W|0,V|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){r=E;continue A}if((r|0)==1){a=n[42540]|0;r=n[42541]|0;f=0;while(1){if((f|0)>=(b|0))break e;t=n[A>>2]|0;if(!(((f|0)>0?(M=f+-1|0,+s[t+(f<<4)>>3]==+s[t+(M<<4)>>3]):0)?+s[t+(f<<4)+8>>3]==+s[t+(M<<4)+8>>3]:0)){h=n[42533]|0;n[a+(h<<3)>>2]=t+(f<<4);n[a+(h<<3)+4>>2]=a+(((h|0)%(b|0)|0)<<3);n[r+(h<<2)>>2]=a+(h<<3);n[42533]=h+1}f=f+1|0}}else g=15}}while(0);e:do{if((g|0)==15){g=0;t=n[42540]|0;r=n[42541]|0;a=b;while(1){f=a+-1|0;if((a|0)<=0)break e;c=n[A>>2]|0;if(((a|0)<(b|0)?+s[c+(f<<4)>>3]==+s[c+(a<<4)>>3]:0)?+s[c+(f<<4)+8>>3]==+s[c+(a<<4)+8>>3]:0){a=f;continue}a=n[42533]|0;n[t+(a<<3)>>2]=c+(f<<4);n[t+(a<<3)+4>>2]=t+(((a|0)%(b|0)|0)<<3);n[r+(a<<2)>>2]=t+(a<<3);n[42533]=a+1;a=f}}}while(0);w=0;cA(27,r|0,n[42533]|0);r=w;w=0;if((r|0)!=0&(d|0)!=0){f=MH(n[r>>2]|0,W|0,V|0)|0;if(!f)OA(r|0,d|0);E=d}else f=-1;if((f|0)==1){r=E;continue}t=0;r=n[42534]|0;e:while(1){if((t|0)>=(r|0)){k=0;break}c=t+1|0;a=c;while(1){if((a|0)>=(r|0)){t=c;continue e}w=0;cA(28,t|0,a|0);r=w;w=0;if((r|0)!=0&(d|0)!=0){f=MH(n[r>>2]|0,W|0,V|0)|0;if(!f)OA(r|0,d|0);E=d}else f=-1;if((f|0)==1){r=E;continue A}a=a+1|0;r=n[42534]|0}}while(1){if((k|0)>=(r|0))break;w=0;f=iA(39,k|0,e|0)|0;a=w;w=0;if((a|0)!=0&(d|0)!=0){t=MH(n[a>>2]|0,W|0,V|0)|0;if(!t)OA(a|0,d|0);E=d}else t=-1;if((t|0)==1){r=E;continue A}if(f|0)break;k=k+1|0}if((k|0)==(r|0)){r=n[13918]|0;w=0;n[Q>>2]=125503;n[Q+4>>2]=192;n[Q+8>>2]=125514;rA(13,r|0,125484,Q|0)|0;r=w;w=0;if((r|0)!=0&(d|0)!=0){f=MH(n[r>>2]|0,W|0,V|0)|0;if(!f)OA(r|0,d|0);E=d}else f=-1;if((f|0)==1){r=E;continue}else{g=41;break}}h=e+16|0;c=0;while(1){if((c|0)>=(r|0))break;w=0;f=iA(39,c|0,h|0)|0;a=w;w=0;if((a|0)!=0&(d|0)!=0){t=MH(n[a>>2]|0,W|0,V|0)|0;if(!t)OA(a|0,d|0);E=d}else t=-1;if((t|0)==1){r=E;continue A}if(f|0)break;c=c+1|0}if((c|0)==(r|0)){r=n[13918]|0;w=0;n[y>>2]=125503;n[y+4>>2]=200;n[y+8>>2]=125547;rA(13,r|0,125484,y|0)|0;r=w;w=0;if((r|0)!=0&(d|0)!=0){f=MH(n[r>>2]|0,W|0,V|0)|0;if(!f)OA(r|0,d|0);E=d}else f=-1;if((f|0)==1){r=E;continue}else{g=48;break}}w=0;r=iA(40,k|0,c|0)|0;f=w;w=0;if((f|0)!=0&(d|0)!=0){a=MH(n[f>>2]|0,W|0,V|0)|0;if(!a)OA(f|0,d|0);E=d}else a=-1;if((a|0)==1){r=E;continue}if(!r){r=n[13918]|0;w=0;n[Y>>2]=125503;n[Y+4>>2]=207;n[Y+8>>2]=125585;rA(13,r|0,125484,Y|0)|0;r=w;w=0;if((r|0)!=0&(d|0)!=0){f=MH(n[r>>2]|0,W|0,V|0)|0;if(!f)OA(r|0,d|0);E=d}else f=-1;if((f|0)==1){r=E;continue}w=0;tA(96,2);r=w;w=0;if((r|0)!=0&(d|0)!=0){f=MH(n[r>>2]|0,W|0,V|0)|0;if(!f)OA(r|0,d|0);E=d}else f=-1;if((f|0)==1){r=E;continue}else{g=53;break}}if((k|0)==(c|0)){w=0;tA(96,2);r=w;w=0;if((r|0)!=0&(d|0)!=0){f=MH(n[r>>2]|0,W|0,V|0)|0;if(!f)OA(r|0,d|0);E=d}else f=-1;if((f|0)==1){r=E;continue}else{g=56;break}}n[C>>2]=e;n[C+4>>2]=0;f=C+8|0;n[f>>2]=h;n[C+12>>2]=0;w=0;cA(29,1,C|0);r=w;w=0;if((r|0)!=0&(d|0)!=0){a=MH(n[r>>2]|0,W|0,V|0)|0;if(!a)OA(r|0,d|0);E=d}else a=-1;if((a|0)==1){r=E;continue}n[42539]=n[42537];u=k;e:while(1){if((u|0)==-1){a=f;r=0;break}B=n[42543]|0;n[B+(u*52|0)>>2]=2;r=0;while(1){if((r|0)>=3){g=65;break}g=n[B+(u*52|0)+4+(r<<4)+12>>2]|0;if(g|0?(n[g>>2]|0)==1:0){g=68;break}r=r+1|0}if((g|0)==65){g=0;if((r|0)==3){r=n[42535]|0;c=n[r+(n[42538]<<2)>>2]|0;w=0;r=rA(17,h|0,n[n[r+(n[42537]<<2)>>2]>>2]|0,n[c>>2]|0)|0;a=w;w=0;if((a|0)!=0&(d|0)!=0){t=MH(n[a>>2]|0,W|0,V|0)|0;if(!t)OA(a|0,d|0);E=d}else t=-1;if((t|0)==1){r=E;continue A}t=(r|0)==1;o=t?f:c;t=t?c:f}else g=68}if((g|0)==68){g=0;c=n[B+(u*52|0)+4+(r<<4)>>2]|0;b=n[B+(u*52|0)+4+(r<<4)+4>>2]|0;w=0;r=rA(17,n[c>>2]|0,n[n[B+(u*52|0)+4+(((r+1|0)%3|0)<<4)+4>>2]>>2]|0,n[b>>2]|0)|0;a=w;w=0;if((a|0)!=0&(d|0)!=0){t=MH(n[a>>2]|0,W|0,V|0)|0;if(!t)OA(a|0,d|0);E=d}else t=-1;if((t|0)==1){r=E;continue A}t=(r|0)==1;o=t?c:b;t=t?b:c}do{if((u|0)==(k|0)){w=0;cA(29,2,t|0);r=w;w=0;if((r|0)!=0&(d|0)!=0){a=MH(n[r>>2]|0,W|0,V|0)|0;if(!a)OA(r|0,d|0);E=d}else a=-1;if((a|0)==1){r=E;continue A}w=0;cA(29,1,o|0);r=w;w=0;if((r|0)!=0&(d|0)!=0){a=MH(n[r>>2]|0,W|0,V|0)|0;if(!a)OA(r|0,d|0);E=d}else a=-1;if((a|0)==1){r=E;continue A}r=0}else{b=n[42535]|0;if((n[b+(n[42537]<<2)>>2]|0)!=(o|0)?(n[b+(n[42538]<<2)>>2]|0)!=(o|0):0){w=0;t=eA(29,o|0)|0;r=w;w=0;if((r|0)!=0&(d|0)!=0){a=MH(n[r>>2]|0,W|0,V|0)|0;if(!a)OA(r|0,d|0);E=d}else a=-1;if((a|0)==1){r=E;continue A}w=0;cA(30,2,t|0);r=w;w=0;if((r|0)!=0&(d|0)!=0){a=MH(n[r>>2]|0,W|0,V|0)|0;if(!a)OA(r|0,d|0);E=d}else a=-1;if((a|0)==1){r=E;continue A}w=0;cA(29,1,o|0);r=w;w=0;if((r|0)!=0&(d|0)!=0){a=MH(n[r>>2]|0,W|0,V|0)|0;if(!a)OA(r|0,d|0);E=d}else a=-1;if((a|0)==1){r=E;continue A}if((t|0)<=(n[42539]|0)){r=0;break}n[42539]=t;r=0;break}w=0;c=eA(29,t|0)|0;r=w;w=0;if((r|0)!=0&(d|0)!=0){a=MH(n[r>>2]|0,W|0,V|0)|0;if(!a)OA(r|0,d|0);E=d}else a=-1;if((a|0)==1){r=E;continue A}w=0;cA(30,1,c|0);r=w;w=0;if((r|0)!=0&(d|0)!=0){a=MH(n[r>>2]|0,W|0,V|0)|0;if(!a)OA(r|0,d|0);E=d}else a=-1;if((a|0)==1){r=E;continue A}w=0;cA(29,2,t|0);r=w;w=0;if((r|0)!=0&(d|0)!=0){a=MH(n[r>>2]|0,W|0,V|0)|0;if(!a)OA(r|0,d|0);E=d}else a=-1;if((a|0)==1){r=E;continue A}if((c|0)>=(n[42539]|0)){r=0;break}n[42539]=c;r=0}}while(0);while(1){if((r|0)>=3){u=-1;continue e}a=n[B+(u*52|0)+4+(r<<4)+12>>2]|0;if(a|0?(n[a>>2]|0)==1:0)break;r=r+1|0}u=(a-(n[42543]|0)|0)/52|0}while(1){if(!a)break;a=n[a+4>>2]|0;r=r+1|0}w=0;tA(96,r|0);a=w;w=0;if((a|0)!=0&(d|0)!=0){t=MH(n[a>>2]|0,W|0,V|0)|0;if(!t)OA(a|0,d|0);E=d}else t=-1;if((t|0)==1)r=E;else{g=94;break}}if((g|0)==41)r=-1;else if((g|0)==48)r=-1;else if((g|0)==53){n[i+4>>2]=2;r=n[42542]|0;n[r>>2]=n[e>>2];n[r+4>>2]=n[e+4>>2];n[r+8>>2]=n[e+8>>2];n[r+12>>2]=n[e+12>>2];V=r+16|0;n[V>>2]=n[h>>2];n[V+4>>2]=n[h+4>>2];n[V+8>>2]=n[h+8>>2];n[V+12>>2]=n[h+12>>2];n[i>>2]=r;r=0}else if((g|0)==56){n[i+4>>2]=2;r=n[42542]|0;n[r>>2]=n[e>>2];n[r+4>>2]=n[e+4>>2];n[r+8>>2]=n[e+8>>2];n[r+12>>2]=n[e+12>>2];V=r+16|0;n[V>>2]=n[h>>2];n[V+4>>2]=n[h+4>>2];n[V+8>>2]=n[h+8>>2];n[V+12>>2]=n[h+12>>2];n[i>>2]=r;r=0}else if((g|0)==94){n[i+4>>2]=r;a=n[42542]|0;while(1){r=r+-1|0;if(!f)break;V=a+(r<<4)|0;Y=n[f>>2]|0;n[V>>2]=n[Y>>2];n[V+4>>2]=n[Y+4>>2];n[V+8>>2]=n[Y+8>>2];n[V+12>>2]=n[Y+12>>2];f=n[f+4>>2]|0}n[i>>2]=a;r=0}zN(W|0);v=J;return r|0}function uN(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0;l=v;v=v+64|0;r=l+48|0;a=l+32|0;f=l+16|0;i=l;if((n[42546]|0)<(A|0)){e=n[42540]|0;if(!e){a=NN(A<<3)|0;n[42540]=a;if(!a){a=n[13918]|0;n[i>>2]=125503;n[i+4>>2]=523;n[i+8>>2]=125753;lR(a,125484,i)|0;OA(169976,1)}a=NN(A<<2)|0;n[42541]=a;if(!a){a=n[13918]|0;n[f>>2]=125503;n[f+4>>2]=527;n[f+8>>2]=125772;lR(a,125484,f)|0;OA(169976,1)}}else{f=RN(e,A<<3)|0;n[42540]=f;if(!f){f=n[13918]|0;n[a>>2]=125503;n[a+4>>2]=533;n[a+8>>2]=125792;lR(f,125484,a)|0;OA(169976,1)}a=RN(n[42541]|0,A<<2)|0;n[42541]=a;if(!a){a=n[13918]|0;n[r>>2]=125503;n[r+4>>2]=539;n[r+8>>2]=125812;lR(a,125484,r)|0;OA(169976,1)}}n[42546]=A}v=l;return}function vN(A){A=A|0;var e=0,i=0,r=0,f=0;f=v;v=v+32|0;r=f+16|0;i=f;if((n[42536]|0)<(A|0)){e=n[42535]|0;if(!e){r=NN(A<<2)|0;n[42535]=r;if(!r){r=n[13918]|0;n[i>>2]=125503;n[i+4>>2]=573;n[i+8>>2]=125708;lR(r,125484,i)|0;OA(169976,1)}}else{i=RN(e,A<<2)|0;n[42535]=i;if(!i){i=n[13918]|0;n[r>>2]=125503;n[r+4>>2]=580;n[r+8>>2]=125730;lR(i,125484,r)|0;OA(169976,1)}}n[42536]=A}v=f;return}function BN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+s[e+8>>3];f=+s[e>>3];r=(+s[i>>3]-f)*(+s[A+8>>3]-r)-(+s[A>>3]-f)*(+s[i+8>>3]-r);return(r>0.0?1:r<0.0?2:3)|0}function kN(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;t=v;v=v+16|0;l=t;A:while(1){if((e|0)>3)r=0;else{e=9;break}while(1){if((r|0)>=(e|0)){e=8;break A}f=r+1|0;i=(f|0)%(e|0)|0;a=(r+2|0)%(e|0)|0;if(!(IN(r,a,A,e)|0))r=f;else break}CN(n[A+(r<<2)>>2]|0,n[A+(i<<2)>>2]|0,n[A+(a<<2)>>2]|0);e=e+-1|0;while(1){if((i|0)>=(e|0))continue A;a=i+1|0;n[A+(i<<2)>>2]=n[A+(a<<2)>>2];i=a}}if((e|0)==8){A=n[13918]|0;n[l>>2]=125503;n[l+4>>2]=324;n[l+8>>2]=125648;lR(A,125484,l)|0}else if((e|0)==9)CN(n[A>>2]|0,n[A+4>>2]|0,n[A+8>>2]|0);v=t;return}function wN(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0;t=n[42543]|0;c=t+(A*52|0)|0;s=t+(e*52|0)|0;a=0;while(1){if((a|0)==3)break;b=t+(A*52|0)+4+(a<<4)|0;o=t+(A*52|0)+4+(a<<4)+4|0;u=t+(A*52|0)+4+(a<<4)+12|0;f=0;while(1){if((f|0)==3)break;v=n[n[b>>2]>>2]|0;l=n[n[t+(e*52|0)+4+(f<<4)>>2]>>2]|0;if((v|0)==(l|0)){i=n[n[t+(e*52|0)+4+(f<<4)+4>>2]>>2]|0;if((n[n[o>>2]>>2]|0)==(i|0))r=10;else r=8}else{i=n[n[t+(e*52|0)+4+(f<<4)+4>>2]>>2]|0;r=8}if(((r|0)==8?(r=0,(v|0)==(i|0)):0)?(n[n[o>>2]>>2]|0)==(l|0):0)r=10;if((r|0)==10){n[u>>2]=s;n[t+(e*52|0)+4+(f<<4)+12>>2]=c}f=f+1|0}a=a+1|0}return}function dN(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=n[42543]|0;i=0;r=0;while(1){if((r|0)==3)break;i=i+((BN(n[n[f+(A*52|0)+4+(r<<4)>>2]>>2]|0,n[n[f+(A*52|0)+4+(r<<4)+4>>2]>>2]|0,e)|0)!=2&1)|0;r=r+1|0}return((i|0)==3|(i|0)==0)&1|0}function hN(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=n[42543]|0;r=i+(A*52|0)|0;A:do{if(!(n[r>>2]|0)){n[r>>2]=1;if((A|0)==(e|0))i=1;else{f=0;while(1){if((f|0)>=3)break;r=n[i+(A*52|0)+4+(f<<4)+12>>2]|0;if(r){if(hN((r-i|0)/52|0,e)|0){i=1;break A}i=n[42543]|0}f=f+1|0}n[i+(A*52|0)>>2]=0;i=0}}else i=0}while(0);return i|0}function gN(A){A=A|0;var e=0,i=0,r=0,f=0;f=v;v=v+32|0;r=f+16|0;i=f;if((n[42544]|0)<(A|0)){e=n[42542]|0;if(!e){r=NN(A<<4)|0;n[42542]=r;if(!r){r=n[13918]|0;n[i>>2]=125503;n[i+4>>2]=593;n[i+8>>2]=125611;lR(r,125484,i)|0;OA(169976,1)}}else{i=RN(e,A<<4)|0;n[42542]=i;if(!i){i=n[13918]|0;n[r>>2]=125503;n[r+4>>2]=599;n[r+8>>2]=125629;lR(i,125484,r)|0;OA(169976,1)}}n[42544]=A}v=f;return}function ZN(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=n[42538]|0;r=n[42537]|0;f=(i|0)>=(r|0);if((A|0)==1)if(f){n[e+4>>2]=n[(n[42535]|0)+(r<<2)>>2];A=170148;i=-1}else{A=170148;i=-1}else if(f){n[e+4>>2]=n[(n[42535]|0)+(i<<2)>>2];A=170152;i=1}else{A=170152;i=1}f=(n[A>>2]|0)+i|0;n[A>>2]=f;n[(n[42535]|0)+(f<<2)>>2]=e;return}function GN(A){A=A|0;var e=0,i=0,r=0,f=0,a=0;f=n[42539]|0;a=n[42535]|0;e=n[42537]|0;while(1){if((e|0)>=(f|0)){r=4;break}i=e+1|0;if((BN(n[n[a+(i<<2)>>2]>>2]|0,n[n[a+(e<<2)>>2]>>2]|0,n[A>>2]|0)|0)==1)break;else e=i}A:do{if((r|0)==4){e=n[42538]|0;while(1){if((e|0)<=(f|0)){e=f;break A}i=e+-1|0;if((BN(n[n[a+(i<<2)>>2]>>2]|0,n[n[a+(e<<2)>>2]>>2]|0,n[A>>2]|0)|0)==2)break;else e=i}}}while(0);return e|0}function mN(A,e){A=A|0;e=e|0;n[((A|0)==1?170152:170148)>>2]=e;return}function IN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0,s=0;f=n[n[i+(((A+-1+r|0)%(r|0)|0)<<2)>>2]>>2]|0;t=n[n[i+(A<<2)>>2]>>2]|0;a=n[n[i+(((A+1|0)%(r|0)|0)<<2)>>2]>>2]|0;s=(BN(f,t,a)|0)==1;c=n[n[i+(e<<2)>>2]>>2]|0;if(s)if((BN(t,c,f)|0)==1){f=BN(c,t,a)|0;a=1;l=5}else f=0;else{f=BN(t,c,a)|0;a=2;l=5}A:do{if((l|0)==5)if((f|0)==(a|0)){f=0;while(1){if((f|0)>=(r|0)){f=1;break A}a=f;f=f+1|0;l=(f|0)%(r|0)|0;if((l|0)==(e|0)|((a|0)==(e|0)|((a|0)==(A|0)|(l|0)==(A|0))))continue;if(QN(t,c,n[n[i+(a<<2)>>2]>>2]|0,n[n[i+(l<<2)>>2]>>2]|0)|0){f=0;break}}}else f=0}while(0);return f|0}function CN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0;r=n[42534]|0;f=n[42545]|0;if((r|0)<(f|0))l=r;else{MN(f+20|0);l=n[42534]|0}a=n[42543]|0;n[42534]=l+1;f=a+(l*52|0)|0;n[f>>2]=0;n[a+(l*52|0)+4>>2]=A;n[a+(l*52|0)+8>>2]=e;n[a+(l*52|0)+16>>2]=0;n[a+(l*52|0)+20>>2]=e;n[a+(l*52|0)+24>>2]=i;n[a+(l*52|0)+32>>2]=0;n[a+(l*52|0)+36>>2]=i;n[a+(l*52|0)+40>>2]=A;n[a+(l*52|0)+48>>2]=0;r=0;while(1){if((r|0)==3)break;n[a+(l*52|0)+4+(r<<4)+8>>2]=f;r=r+1|0}return}function MN(A){A=A|0;var e=0,i=0,r=0,f=0;f=v;v=v+32|0;r=f+16|0;i=f;if((n[42545]|0)<(A|0)){e=n[42543]|0;if(!e){r=NN(A*52|0)|0;n[42543]=r;if(!r){r=n[13918]|0;n[i>>2]=125503;n[i+4>>2]=552;n[i+8>>2]=125669;lR(r,125484,i)|0;OA(169976,1)}}else{i=RN(e,A*52|0)|0;n[42543]=i;if(!i){i=n[13918]|0;n[r>>2]=125503;n[r+4>>2]=558;n[r+8>>2]=125688;lR(i,125484,r)|0;OA(169976,1)}}n[42545]=A}v=f;return}function QN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,l=0;n=BN(A,e,i)|0;if((((n|0)!=3?(a=BN(A,e,r)|0,(a|0)!=3):0)?(l=BN(i,r,A)|0,(l|0)!=3):0)?(f=BN(i,r,e)|0,(f|0)!=3):0)return((n|0)==1^(a|0)==1)&((l|0)==1^(f|0)==1)&1|0;if(((EN(A,e,i)|0)==0?(EN(A,e,r)|0)==0:0)?(EN(i,r,A)|0)==0:0)return(EN(i,r,e)|0)!=0|0;return 1}function EN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,a=0.0;f=+s[A>>3];a=+s[e>>3]-f;n=+s[A+8>>3];r=+s[e+8>>3]-n;f=+s[i>>3]-f;n=+s[i+8>>3]-n;if((BN(A,e,i)|0)==3?n*r+f*a>=0.0:0)A=n*n+f*f<=r*r+a*a&1;else A=0;return A|0}function yN(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,a=0.0,l=0.0,t=0;r=+s[A+24>>3];A:do{if(r<1.0e-07&r>-1.0e-07)A=YN(A,e)|0;else{a=+s[A+16>>3]/(r*3.0);n=+s[A+8>>3]/r;f=a*a;r=a*2.0*f-a*n+ +s[A>>3]/r;f=n*.3333333333333333-f;f=f*f*4.0*f;n=r*r+f;if(!(n<0.0)){l=(+V(+n)-r)*.5;f=+dz(l);r=+dz(-r-l)+f;s[e>>3]=r;if(n>0.0)A=1;else{r=r*-.5;s[e+16>>3]=r;A=1;i=7}}else{l=+H(+ +V(+-n),+-r);r=+dz(+V(+-f)*.5)*2.0;s[e>>3]=r*+J(+(l*.3333333333333333));s[e+8>>3]=+J(+((l+6.283185307179586)*.3333333333333333))*r;r=+J(+((l+-6.283185307179586)*.3333333333333333))*r;A=2;i=7}if((i|0)==7){s[e+(A<<3)>>3]=r;A=3}i=0;while(1){if((i|0)>=(A|0))break A;t=e+(i<<3)|0;s[t>>3]=+s[t>>3]-a;i=i+1|0}}}while(0);return A|0}function YN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+s[A+16>>3];do{if(!(i<1.0e-07&i>-1.0e-07)){r=+s[A+8>>3]/(i*2.0);i=r*r-+s[A>>3]/i;if(!(i<0.0))if(i==0.0){s[e>>3]=-r;A=1;break}else{i=+V(+i)-r;s[e>>3]=i;s[e+8>>3]=r*-2.0-i;A=2;break}else A=0}else A=VN(A,e)|0}while(0);return A|0}function VN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+s[A+8>>3];i=+s[A>>3];if(r<1.0e-07&r>-1.0e-07)A=i<1.0e-07&i>-1.0e-07?4:0;else{s[e>>3]=-i/r;A=1}return A|0}function WN(A){A=A|0;zN(n[A>>2]|0);zN(A);return}function JN(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;r=n[A+4>>2]|0;t=(r*3|0)+-2|0;i=n[42548]|0;if((t|0)>(n[42547]|0)){if(!i)i=NN(t<<4)|0;else i=RN(i,t<<4)|0;n[42548]=i;n[42547]=t;l=i;a=i}else{l=i;a=i}f=n[A>>2]|0;n[l>>2]=n[f>>2];n[l+4>>2]=n[f+4>>2];n[l+8>>2]=n[f+8>>2];n[l+12>>2]=n[f+12>>2];EH(l+16|0,f|0,16)|0;r=r+-1|0;i=1;A=2;while(1){if((i|0)>=(r|0))break;c=l+(A+2<<4)|0;s=l+(A+1<<4)|0;o=l+(A<<4)|0;b=f+(i<<4)|0;n[o>>2]=n[b>>2];n[o+4>>2]=n[b+4>>2];n[o+8>>2]=n[b+8>>2];n[o+12>>2]=n[b+12>>2];EH(s|0,b|0,16)|0;n[c>>2]=n[s>>2];n[c+4>>2]=n[s+4>>2];n[c+8>>2]=n[s+8>>2];n[c+12>>2]=n[s+12>>2];i=i+1|0;A=A+3|0}b=l+(A<<4)|0;o=f+(i<<4)|0;n[b>>2]=n[o>>2];n[b+4>>2]=n[o+4>>2];n[b+8>>2]=n[o+8>>2];n[b+12>>2]=n[o+12>>2];EH(l+(A+1<<4)|0,o|0,16)|0;n[e+4>>2]=t;n[e>>2]=a;return}function NN(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0;m=v;v=v+16|0;B=m;do{if(A>>>0<245){b=A>>>0<11?16:A+11&-8;A=b>>>3;u=n[42549]|0;i=u>>>A;if(i&3|0){e=(i&1^1)+A|0;A=170236+(e<<1<<2)|0;i=A+8|0;r=n[i>>2]|0;f=r+8|0;a=n[f>>2]|0;if((a|0)==(A|0))n[42549]=u&~(1<<e);else{n[a+12>>2]=A;n[i>>2]=a}G=e<<3;n[r+4>>2]=G|3;G=r+G+4|0;n[G>>2]=n[G>>2]|1;G=f;v=m;return G|0}o=n[42551]|0;if(b>>>0>o>>>0){if(i|0){e=2<<A;e=i<<A&(e|0-e);e=(e&0-e)+-1|0;t=e>>>12&16;e=e>>>t;i=e>>>5&8;e=e>>>i;a=e>>>2&4;e=e>>>a;A=e>>>1&2;e=e>>>A;r=e>>>1&1;r=(i|t|a|A|r)+(e>>>r)|0;e=170236+(r<<1<<2)|0;A=e+8|0;a=n[A>>2]|0;t=a+8|0;i=n[t>>2]|0;if((i|0)==(e|0)){A=u&~(1<<r);n[42549]=A}else{n[i+12>>2]=e;n[A>>2]=i;A=u}G=r<<3;l=G-b|0;n[a+4>>2]=b|3;f=a+b|0;n[f+4>>2]=l|1;n[a+G>>2]=l;if(o|0){r=n[42554]|0;e=o>>>3;i=170236+(e<<1<<2)|0;e=1<<e;if(!(A&e)){n[42549]=A|e;e=i;A=i+8|0}else{A=i+8|0;e=n[A>>2]|0}n[A>>2]=r;n[e+12>>2]=r;n[r+8>>2]=e;n[r+12>>2]=i}n[42551]=l;n[42554]=f;G=t;v=m;return G|0}c=n[42550]|0;if(c){i=(c&0-c)+-1|0;t=i>>>12&16;i=i>>>t;l=i>>>5&8;i=i>>>l;s=i>>>2&4;i=i>>>s;r=i>>>1&2;i=i>>>r;A=i>>>1&1;A=n[170500+((l|t|s|r|A)+(i>>>A)<<2)>>2]|0;i=(n[A+4>>2]&-8)-b|0;r=n[A+16+(((n[A+16>>2]|0)==0&1)<<2)>>2]|0;if(!r){s=A;l=i}else{do{t=(n[r+4>>2]&-8)-b|0;s=t>>>0<i>>>0;i=s?t:i;A=s?r:A;r=n[r+16+(((n[r+16>>2]|0)==0&1)<<2)>>2]|0}while((r|0)!=0);s=A;l=i}t=s+b|0;if(t>>>0>s>>>0){f=n[s+24>>2]|0;e=n[s+12>>2]|0;do{if((e|0)==(s|0)){A=s+20|0;e=n[A>>2]|0;if(!e){A=s+16|0;e=n[A>>2]|0;if(!e){i=0;break}}while(1){i=e+20|0;r=n[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=n[i>>2]|0;if(!r)break;else{e=r;A=i}}n[A>>2]=0;i=e}else{i=n[s+8>>2]|0;n[i+12>>2]=e;n[e+8>>2]=i;i=e}}while(0);do{if(f|0){e=n[s+28>>2]|0;A=170500+(e<<2)|0;if((s|0)==(n[A>>2]|0)){n[A>>2]=i;if(!i){n[42550]=c&~(1<<e);break}}else{n[f+16+(((n[f+16>>2]|0)!=(s|0)&1)<<2)>>2]=i;if(!i)break}n[i+24>>2]=f;e=n[s+16>>2]|0;if(e|0){n[i+16>>2]=e;n[e+24>>2]=i}e=n[s+20>>2]|0;if(e|0){n[i+20>>2]=e;n[e+24>>2]=i}}}while(0);if(l>>>0<16){G=l+b|0;n[s+4>>2]=G|3;G=s+G+4|0;n[G>>2]=n[G>>2]|1}else{n[s+4>>2]=b|3;n[t+4>>2]=l|1;n[t+l>>2]=l;if(o|0){r=n[42554]|0;e=o>>>3;i=170236+(e<<1<<2)|0;e=1<<e;if(!(u&e)){n[42549]=u|e;e=i;A=i+8|0}else{A=i+8|0;e=n[A>>2]|0}n[A>>2]=r;n[e+12>>2]=r;n[r+8>>2]=e;n[r+12>>2]=i}n[42551]=l;n[42554]=t}G=s+8|0;v=m;return G|0}else o=b}else o=b}else o=b}else if(A>>>0<=4294967231){A=A+11|0;b=A&-8;s=n[42550]|0;if(s){r=0-b|0;A=A>>>8;if(A)if(b>>>0>16777215)c=31;else{u=(A+1048320|0)>>>16&8;Z=A<<u;o=(Z+520192|0)>>>16&4;Z=Z<<o;c=(Z+245760|0)>>>16&2;c=14-(o|u|c)+(Z<<c>>>15)|0;c=b>>>(c+7|0)&1|c<<1}else c=0;i=n[170500+(c<<2)>>2]|0;A:do{if(!i){i=0;A=0;Z=57}else{A=0;t=i;l=b<<((c|0)==31?0:25-(c>>>1)|0);i=0;while(1){f=(n[t+4>>2]&-8)-b|0;if(f>>>0<r>>>0)if(!f){r=0;i=t;A=t;Z=61;break A}else{A=t;r=f}f=n[t+20>>2]|0;t=n[t+16+(l>>>31<<2)>>2]|0;i=(f|0)==0|(f|0)==(t|0)?i:f;f=(t|0)==0;if(f){Z=57;break}else l=l<<((f^1)&1)}}}while(0);if((Z|0)==57){if((i|0)==0&(A|0)==0){A=2<<c;A=s&(A|0-A);if(!A){o=b;break}u=(A&0-A)+-1|0;t=u>>>12&16;u=u>>>t;l=u>>>5&8;u=u>>>l;c=u>>>2&4;u=u>>>c;o=u>>>1&2;u=u>>>o;i=u>>>1&1;A=0;i=n[170500+((l|t|c|o|i)+(u>>>i)<<2)>>2]|0}if(!i){t=A;l=r}else Z=61}if((Z|0)==61)while(1){Z=0;o=(n[i+4>>2]&-8)-b|0;u=o>>>0<r>>>0;r=u?o:r;A=u?i:A;i=n[i+16+(((n[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=A;l=r;break}else Z=61}if((t|0)!=0?l>>>0<((n[42551]|0)-b|0)>>>0:0){a=t+b|0;if(a>>>0<=t>>>0){G=0;v=m;return G|0}f=n[t+24>>2]|0;e=n[t+12>>2]|0;do{if((e|0)==(t|0)){A=t+20|0;e=n[A>>2]|0;if(!e){A=t+16|0;e=n[A>>2]|0;if(!e){e=0;break}}while(1){i=e+20|0;r=n[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=n[i>>2]|0;if(!r)break;else{e=r;A=i}}n[A>>2]=0}else{G=n[t+8>>2]|0;n[G+12>>2]=e;n[e+8>>2]=G}}while(0);do{if(f){A=n[t+28>>2]|0;i=170500+(A<<2)|0;if((t|0)==(n[i>>2]|0)){n[i>>2]=e;if(!e){r=s&~(1<<A);n[42550]=r;break}}else{n[f+16+(((n[f+16>>2]|0)!=(t|0)&1)<<2)>>2]=e;if(!e){r=s;break}}n[e+24>>2]=f;A=n[t+16>>2]|0;if(A|0){n[e+16>>2]=A;n[A+24>>2]=e}A=n[t+20>>2]|0;if(A){n[e+20>>2]=A;n[A+24>>2]=e;r=s}else r=s}else r=s}while(0);do{if(l>>>0>=16){n[t+4>>2]=b|3;n[a+4>>2]=l|1;n[a+l>>2]=l;e=l>>>3;if(l>>>0<256){i=170236+(e<<1<<2)|0;A=n[42549]|0;e=1<<e;if(!(A&e)){n[42549]=A|e;e=i;A=i+8|0}else{A=i+8|0;e=n[A>>2]|0}n[A>>2]=a;n[e+12>>2]=a;n[a+8>>2]=e;n[a+12>>2]=i;break}e=l>>>8;if(e)if(l>>>0>16777215)e=31;else{Z=(e+1048320|0)>>>16&8;G=e<<Z;g=(G+520192|0)>>>16&4;G=G<<g;e=(G+245760|0)>>>16&2;e=14-(g|Z|e)+(G<<e>>>15)|0;e=l>>>(e+7|0)&1|e<<1}else e=0;i=170500+(e<<2)|0;n[a+28>>2]=e;A=a+16|0;n[A+4>>2]=0;n[A>>2]=0;A=1<<e;if(!(r&A)){n[42550]=r|A;n[i>>2]=a;n[a+24>>2]=i;n[a+12>>2]=a;n[a+8>>2]=a;break}A=l<<((e|0)==31?0:25-(e>>>1)|0);i=n[i>>2]|0;while(1){if((n[i+4>>2]&-8|0)==(l|0)){Z=97;break}r=i+16+(A>>>31<<2)|0;e=n[r>>2]|0;if(!e){Z=96;break}else{A=A<<1;i=e}}if((Z|0)==96){n[r>>2]=a;n[a+24>>2]=i;n[a+12>>2]=a;n[a+8>>2]=a;break}else if((Z|0)==97){Z=i+8|0;G=n[Z>>2]|0;n[G+12>>2]=a;n[Z>>2]=a;n[a+8>>2]=G;n[a+12>>2]=i;n[a+24>>2]=0;break}}else{G=l+b|0;n[t+4>>2]=G|3;G=t+G+4|0;n[G>>2]=n[G>>2]|1}}while(0);G=t+8|0;v=m;return G|0}else o=b}else o=b}else o=-1}while(0);i=n[42551]|0;if(i>>>0>=o>>>0){e=i-o|0;A=n[42554]|0;if(e>>>0>15){G=A+o|0;n[42554]=G;n[42551]=e;n[G+4>>2]=e|1;n[A+i>>2]=e;n[A+4>>2]=o|3}else{n[42551]=0;n[42554]=0;n[A+4>>2]=i|3;G=A+i+4|0;n[G>>2]=n[G>>2]|1}G=A+8|0;v=m;return G|0}t=n[42552]|0;if(t>>>0>o>>>0){g=t-o|0;n[42552]=g;G=n[42555]|0;Z=G+o|0;n[42555]=Z;n[Z+4>>2]=g|1;n[G+4>>2]=o|3;G=G+8|0;v=m;return G|0}if(!(n[42667]|0)){n[42669]=4096;n[42668]=4096;n[42670]=-1;n[42671]=-1;n[42672]=0;n[42660]=0;n[42667]=B&-16^1431655768;A=4096}else A=n[42669]|0;c=o+48|0;s=o+47|0;l=A+s|0;f=0-A|0;b=l&f;if(b>>>0<=o>>>0){G=0;v=m;return G|0}A=n[42659]|0;if(A|0?(u=n[42657]|0,B=u+b|0,B>>>0<=u>>>0|B>>>0>A>>>0):0){G=0;v=m;return G|0}A:do{if(!(n[42660]&4)){i=n[42555]|0;e:do{if(i){r=170644;while(1){A=n[r>>2]|0;if(A>>>0<=i>>>0?(d=r+4|0,(A+(n[d>>2]|0)|0)>>>0>i>>>0):0)break;A=n[r+8>>2]|0;if(!A){Z=118;break e}else r=A}e=l-t&f;if(e>>>0<2147483647){A=YH(e|0)|0;if((A|0)==((n[r>>2]|0)+(n[d>>2]|0)|0)){if((A|0)!=(-1|0)){l=e;a=A;Z=135;break A}}else{r=A;Z=126}}else e=0}else Z=118}while(0);do{if((Z|0)==118){i=YH(0)|0;if((i|0)!=(-1|0)?(e=i,k=n[42668]|0,w=k+-1|0,e=((w&e|0)==0?0:(w+e&0-k)-e|0)+b|0,k=n[42657]|0,w=e+k|0,e>>>0>o>>>0&e>>>0<2147483647):0){d=n[42659]|0;if(d|0?w>>>0<=k>>>0|w>>>0>d>>>0:0){e=0;break}A=YH(e|0)|0;if((A|0)==(i|0)){l=e;a=i;Z=135;break A}else{r=A;Z=126}}else e=0}}while(0);do{if((Z|0)==126){i=0-e|0;if(!(c>>>0>e>>>0&(e>>>0<2147483647&(r|0)!=(-1|0))))if((r|0)==(-1|0)){e=0;break}else{l=e;a=r;Z=135;break A}A=n[42669]|0;A=s-e+A&0-A;if(A>>>0>=2147483647){l=e;a=r;Z=135;break A}if((YH(A|0)|0)==(-1|0)){YH(i|0)|0;e=0;break}else{l=A+e|0;a=r;Z=135;break A}}}while(0);n[42660]=n[42660]|4;Z=133}else{e=0;Z=133}}while(0);if(((Z|0)==133?b>>>0<2147483647:0)?(a=YH(b|0)|0,d=YH(0)|0,h=d-a|0,g=h>>>0>(o+40|0)>>>0,!((a|0)==(-1|0)|g^1|a>>>0<d>>>0&((a|0)!=(-1|0)&(d|0)!=(-1|0))^1)):0){l=g?h:e;Z=135}if((Z|0)==135){e=(n[42657]|0)+l|0;n[42657]=e;if(e>>>0>(n[42658]|0)>>>0)n[42658]=e;c=n[42555]|0;do{if(c){e=170644;while(1){A=n[e>>2]|0;i=e+4|0;r=n[i>>2]|0;if((a|0)==(A+r|0)){Z=143;break}f=n[e+8>>2]|0;if(!f)break;else e=f}if(((Z|0)==143?(n[e+12>>2]&8|0)==0:0)?a>>>0>c>>>0&A>>>0<=c>>>0:0){n[i>>2]=r+l;G=(n[42552]|0)+l|0;g=c+8|0;g=(g&7|0)==0?0:0-g&7;Z=c+g|0;g=G-g|0;n[42555]=Z;n[42552]=g;n[Z+4>>2]=g|1;n[c+G+4>>2]=40;n[42556]=n[42671];break}if(a>>>0<(n[42553]|0)>>>0)n[42553]=a;A=a+l|0;e=170644;while(1){if((n[e>>2]|0)==(A|0)){Z=151;break}e=n[e+8>>2]|0;if(!e){A=170644;break}}if((Z|0)==151)if(!(n[e+12>>2]&8)){n[e>>2]=a;b=e+4|0;n[b>>2]=(n[b>>2]|0)+l;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;e=A+8|0;e=A+((e&7|0)==0?0:0-e&7)|0;s=b+o|0;t=e-b-o|0;n[b+4>>2]=o|3;do{if((c|0)!=(e|0)){if((n[42554]|0)==(e|0)){G=(n[42551]|0)+t|0;n[42551]=G;n[42554]=s;n[s+4>>2]=G|1;n[s+G>>2]=G;break}A=n[e+4>>2]|0;if((A&3|0)==1){l=A&-8;r=A>>>3;A:do{if(A>>>0<256){A=n[e+8>>2]|0;i=n[e+12>>2]|0;if((i|0)==(A|0)){n[42549]=n[42549]&~(1<<r);break}else{n[A+12>>2]=i;n[i+8>>2]=A;break}}else{a=n[e+24>>2]|0;A=n[e+12>>2]|0;do{if((A|0)==(e|0)){r=e+16|0;i=r+4|0;A=n[i>>2]|0;if(!A){A=n[r>>2]|0;if(!A){A=0;break}else i=r}while(1){r=A+20|0;f=n[r>>2]|0;if(f|0){A=f;i=r;continue}r=A+16|0;f=n[r>>2]|0;if(!f)break;else{A=f;i=r}}n[i>>2]=0}else{G=n[e+8>>2]|0;n[G+12>>2]=A;n[A+8>>2]=G}}while(0);if(!a)break;i=n[e+28>>2]|0;r=170500+(i<<2)|0;do{if((n[r>>2]|0)!=(e|0)){n[a+16+(((n[a+16>>2]|0)!=(e|0)&1)<<2)>>2]=A;if(!A)break A}else{n[r>>2]=A;if(A|0)break;n[42550]=n[42550]&~(1<<i);break A}}while(0);n[A+24>>2]=a;i=e+16|0;r=n[i>>2]|0;if(r|0){n[A+16>>2]=r;n[r+24>>2]=A}i=n[i+4>>2]|0;if(!i)break;n[A+20>>2]=i;n[i+24>>2]=A}}while(0);e=e+l|0;f=l+t|0}else f=t;e=e+4|0;n[e>>2]=n[e>>2]&-2;n[s+4>>2]=f|1;n[s+f>>2]=f;e=f>>>3;if(f>>>0<256){i=170236+(e<<1<<2)|0;A=n[42549]|0;e=1<<e;if(!(A&e)){n[42549]=A|e;e=i;A=i+8|0}else{A=i+8|0;e=n[A>>2]|0}n[A>>2]=s;n[e+12>>2]=s;n[s+8>>2]=e;n[s+12>>2]=i;break}e=f>>>8;do{if(!e)e=0;else{if(f>>>0>16777215){e=31;break}Z=(e+1048320|0)>>>16&8;G=e<<Z;g=(G+520192|0)>>>16&4;G=G<<g;e=(G+245760|0)>>>16&2;e=14-(g|Z|e)+(G<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}}while(0);r=170500+(e<<2)|0;n[s+28>>2]=e;A=s+16|0;n[A+4>>2]=0;n[A>>2]=0;A=n[42550]|0;i=1<<e;if(!(A&i)){n[42550]=A|i;n[r>>2]=s;n[s+24>>2]=r;n[s+12>>2]=s;n[s+8>>2]=s;break}A=f<<((e|0)==31?0:25-(e>>>1)|0);i=n[r>>2]|0;while(1){if((n[i+4>>2]&-8|0)==(f|0)){Z=192;break}r=i+16+(A>>>31<<2)|0;e=n[r>>2]|0;if(!e){Z=191;break}else{A=A<<1;i=e}}if((Z|0)==191){n[r>>2]=s;n[s+24>>2]=i;n[s+12>>2]=s;n[s+8>>2]=s;break}else if((Z|0)==192){Z=i+8|0;G=n[Z>>2]|0;n[G+12>>2]=s;n[Z>>2]=s;n[s+8>>2]=G;n[s+12>>2]=i;n[s+24>>2]=0;break}}else{G=(n[42552]|0)+t|0;n[42552]=G;n[42555]=s;n[s+4>>2]=G|1}}while(0);G=b+8|0;v=m;return G|0}else A=170644;while(1){e=n[A>>2]|0;if(e>>>0<=c>>>0?(G=e+(n[A+4>>2]|0)|0,G>>>0>c>>>0):0)break;A=n[A+8>>2]|0}f=G+-47|0;A=f+8|0;A=f+((A&7|0)==0?0:0-A&7)|0;f=c+16|0;A=A>>>0<f>>>0?c:A;e=A+8|0;i=l+-40|0;g=a+8|0;g=(g&7|0)==0?0:0-g&7;Z=a+g|0;g=i-g|0;n[42555]=Z;n[42552]=g;n[Z+4>>2]=g|1;n[a+i+4>>2]=40;n[42556]=n[42671];i=A+4|0;n[i>>2]=27;n[e>>2]=n[42661];n[e+4>>2]=n[42662];n[e+8>>2]=n[42663];n[e+12>>2]=n[42664];n[42661]=a;n[42662]=l;n[42664]=0;n[42663]=e;e=A+24|0;do{Z=e;e=e+4|0;n[e>>2]=7}while((Z+8|0)>>>0<G>>>0);if((A|0)!=(c|0)){a=A-c|0;n[i>>2]=n[i>>2]&-2;n[c+4>>2]=a|1;n[A>>2]=a;e=a>>>3;if(a>>>0<256){i=170236+(e<<1<<2)|0;A=n[42549]|0;e=1<<e;if(!(A&e)){n[42549]=A|e;e=i;A=i+8|0}else{A=i+8|0;e=n[A>>2]|0}n[A>>2]=c;n[e+12>>2]=c;n[c+8>>2]=e;n[c+12>>2]=i;break}e=a>>>8;if(e)if(a>>>0>16777215)i=31;else{Z=(e+1048320|0)>>>16&8;G=e<<Z;g=(G+520192|0)>>>16&4;G=G<<g;i=(G+245760|0)>>>16&2;i=14-(g|Z|i)+(G<<i>>>15)|0;i=a>>>(i+7|0)&1|i<<1}else i=0;r=170500+(i<<2)|0;n[c+28>>2]=i;n[c+20>>2]=0;n[f>>2]=0;e=n[42550]|0;A=1<<i;if(!(e&A)){n[42550]=e|A;n[r>>2]=c;n[c+24>>2]=r;n[c+12>>2]=c;n[c+8>>2]=c;break}A=a<<((i|0)==31?0:25-(i>>>1)|0);i=n[r>>2]|0;while(1){if((n[i+4>>2]&-8|0)==(a|0)){Z=213;break}r=i+16+(A>>>31<<2)|0;e=n[r>>2]|0;if(!e){Z=212;break}else{A=A<<1;i=e}}if((Z|0)==212){n[r>>2]=c;n[c+24>>2]=i;n[c+12>>2]=c;n[c+8>>2]=c;break}else if((Z|0)==213){Z=i+8|0;G=n[Z>>2]|0;n[G+12>>2]=c;n[Z>>2]=c;n[c+8>>2]=G;n[c+12>>2]=i;n[c+24>>2]=0;break}}}else{G=n[42553]|0;if((G|0)==0|a>>>0<G>>>0)n[42553]=a;n[42661]=a;n[42662]=l;n[42664]=0;n[42558]=n[42667];n[42557]=-1;n[42562]=170236;n[42561]=170236;n[42564]=170244;n[42563]=170244;n[42566]=170252;n[42565]=170252;n[42568]=170260;n[42567]=170260;n[42570]=170268;n[42569]=170268;n[42572]=170276;n[42571]=170276;n[42574]=170284;n[42573]=170284;n[42576]=170292;n[42575]=170292;n[42578]=170300;n[42577]=170300;n[42580]=170308;n[42579]=170308;n[42582]=170316;n[42581]=170316;n[42584]=170324;n[42583]=170324;n[42586]=170332;n[42585]=170332;n[42588]=170340;n[42587]=170340;n[42590]=170348;n[42589]=170348;n[42592]=170356;n[42591]=170356;n[42594]=170364;n[42593]=170364;n[42596]=170372;n[42595]=170372;n[42598]=170380;n[42597]=170380;n[42600]=170388;n[42599]=170388;n[42602]=170396;n[42601]=170396;n[42604]=170404;n[42603]=170404;n[42606]=170412;n[42605]=170412;n[42608]=170420;n[42607]=170420;n[42610]=170428;n[42609]=170428;n[42612]=170436;n[42611]=170436;n[42614]=170444;n[42613]=170444;n[42616]=170452;n[42615]=170452;n[42618]=170460;n[42617]=170460;n[42620]=170468;n[42619]=170468;n[42622]=170476;n[42621]=170476;n[42624]=170484;n[42623]=170484;G=l+-40|0;g=a+8|0;g=(g&7|0)==0?0:0-g&7;Z=a+g|0;g=G-g|0;n[42555]=Z;n[42552]=g;n[Z+4>>2]=g|1;n[a+G+4>>2]=40;n[42556]=n[42671]}}while(0);e=n[42552]|0;if(e>>>0>o>>>0){g=e-o|0;n[42552]=g;G=n[42555]|0;Z=G+o|0;n[42555]=Z;n[Z+4>>2]=g|1;n[G+4>>2]=o|3;G=G+8|0;v=m;return G|0}}n[(UN()|0)>>2]=12;G=0;v=m;return G|0}function zN(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0,c=0;if(!A)return;i=A+-8|0;f=n[42553]|0;A=n[A+-4>>2]|0;e=A&-8;c=i+e|0;do{if(!(A&1)){r=n[i>>2]|0;if(!(A&3))return;l=i+(0-r)|0;a=r+e|0;if(l>>>0<f>>>0)return;if((n[42554]|0)==(l|0)){A=c+4|0;e=n[A>>2]|0;if((e&3|0)!=3){t=l;e=a;break}n[42551]=a;n[A>>2]=e&-2;n[l+4>>2]=a|1;n[l+a>>2]=a;return}i=r>>>3;if(r>>>0<256){A=n[l+8>>2]|0;e=n[l+12>>2]|0;if((e|0)==(A|0)){n[42549]=n[42549]&~(1<<i);t=l;e=a;break}else{n[A+12>>2]=e;n[e+8>>2]=A;t=l;e=a;break}}f=n[l+24>>2]|0;A=n[l+12>>2]|0;do{if((A|0)==(l|0)){i=l+16|0;e=i+4|0;A=n[e>>2]|0;if(!A){A=n[i>>2]|0;if(!A){A=0;break}else e=i}while(1){i=A+20|0;r=n[i>>2]|0;if(r|0){A=r;e=i;continue}i=A+16|0;r=n[i>>2]|0;if(!r)break;else{A=r;e=i}}n[e>>2]=0}else{t=n[l+8>>2]|0;n[t+12>>2]=A;n[A+8>>2]=t}}while(0);if(f){e=n[l+28>>2]|0;i=170500+(e<<2)|0;if((n[i>>2]|0)==(l|0)){n[i>>2]=A;if(!A){n[42550]=n[42550]&~(1<<e);t=l;e=a;break}}else{n[f+16+(((n[f+16>>2]|0)!=(l|0)&1)<<2)>>2]=A;if(!A){t=l;e=a;break}}n[A+24>>2]=f;e=l+16|0;i=n[e>>2]|0;if(i|0){n[A+16>>2]=i;n[i+24>>2]=A}e=n[e+4>>2]|0;if(e){n[A+20>>2]=e;n[e+24>>2]=A;t=l;e=a}else{t=l;e=a}}else{t=l;e=a}}else{t=i;l=i}}while(0);if(l>>>0>=c>>>0)return;A=c+4|0;r=n[A>>2]|0;if(!(r&1))return;if(!(r&2)){if((n[42555]|0)==(c|0)){c=(n[42552]|0)+e|0;n[42552]=c;n[42555]=t;n[t+4>>2]=c|1;if((t|0)!=(n[42554]|0))return;n[42554]=0;n[42551]=0;return}if((n[42554]|0)==(c|0)){c=(n[42551]|0)+e|0;n[42551]=c;n[42554]=l;n[t+4>>2]=c|1;n[l+c>>2]=c;return}f=(r&-8)+e|0;i=r>>>3;do{if(r>>>0<256){e=n[c+8>>2]|0;A=n[c+12>>2]|0;if((A|0)==(e|0)){n[42549]=n[42549]&~(1<<i);break}else{n[e+12>>2]=A;n[A+8>>2]=e;break}}else{a=n[c+24>>2]|0;A=n[c+12>>2]|0;do{if((A|0)==(c|0)){i=c+16|0;e=i+4|0;A=n[e>>2]|0;if(!A){A=n[i>>2]|0;if(!A){i=0;break}else e=i}while(1){i=A+20|0;r=n[i>>2]|0;if(r|0){A=r;e=i;continue}i=A+16|0;r=n[i>>2]|0;if(!r)break;else{A=r;e=i}}n[e>>2]=0;i=A}else{i=n[c+8>>2]|0;n[i+12>>2]=A;n[A+8>>2]=i;i=A}}while(0);if(a|0){A=n[c+28>>2]|0;e=170500+(A<<2)|0;if((n[e>>2]|0)==(c|0)){n[e>>2]=i;if(!i){n[42550]=n[42550]&~(1<<A);break}}else{n[a+16+(((n[a+16>>2]|0)!=(c|0)&1)<<2)>>2]=i;if(!i)break}n[i+24>>2]=a;A=c+16|0;e=n[A>>2]|0;if(e|0){n[i+16>>2]=e;n[e+24>>2]=i}A=n[A+4>>2]|0;if(A|0){n[i+20>>2]=A;n[A+24>>2]=i}}}}while(0);n[t+4>>2]=f|1;n[l+f>>2]=f;if((t|0)==(n[42554]|0)){n[42551]=f;return}}else{n[A>>2]=r&-2;n[t+4>>2]=e|1;n[l+e>>2]=e;f=e}A=f>>>3;if(f>>>0<256){i=170236+(A<<1<<2)|0;e=n[42549]|0;A=1<<A;if(!(e&A)){n[42549]=e|A;A=i;e=i+8|0}else{e=i+8|0;A=n[e>>2]|0}n[e>>2]=t;n[A+12>>2]=t;n[t+8>>2]=A;n[t+12>>2]=i;return}A=f>>>8;if(A)if(f>>>0>16777215)A=31;else{l=(A+1048320|0)>>>16&8;c=A<<l;a=(c+520192|0)>>>16&4;c=c<<a;A=(c+245760|0)>>>16&2;A=14-(a|l|A)+(c<<A>>>15)|0;A=f>>>(A+7|0)&1|A<<1}else A=0;r=170500+(A<<2)|0;n[t+28>>2]=A;n[t+20>>2]=0;n[t+16>>2]=0;e=n[42550]|0;i=1<<A;do{if(e&i){e=f<<((A|0)==31?0:25-(A>>>1)|0);i=n[r>>2]|0;while(1){if((n[i+4>>2]&-8|0)==(f|0)){A=73;break}r=i+16+(e>>>31<<2)|0;A=n[r>>2]|0;if(!A){A=72;break}else{e=e<<1;i=A}}if((A|0)==72){n[r>>2]=t;n[t+24>>2]=i;n[t+12>>2]=t;n[t+8>>2]=t;break}else if((A|0)==73){l=i+8|0;c=n[l>>2]|0;n[c+12>>2]=t;n[l>>2]=t;n[t+8>>2]=c;n[t+12>>2]=i;n[t+24>>2]=0;break}}else{n[42550]=e|i;n[r>>2]=t;n[t+24>>2]=r;n[t+12>>2]=t;n[t+8>>2]=t}}while(0);c=(n[42557]|0)+-1|0;n[42557]=c;if(!c)A=170652;else return;while(1){A=n[A>>2]|0;if(!A)break;else A=A+8|0}n[42557]=-1;return}function pN(A,e){A=A|0;e=e|0;var i=0;if(A){i=X(e,A)|0;if((e|A)>>>0>65535)i=((i>>>0)/(A>>>0)|0|0)==(e|0)?i:-1}else i=0;A=NN(i)|0;if(!A)return A|0;if(!(n[A+-4>>2]&3))return A|0;yH(A|0,0,i|0)|0;return A|0}function RN(A,e){A=A|0;e=e|0;var i=0,r=0;if(!A){e=NN(e)|0;return e|0}if(e>>>0>4294967231){n[(UN()|0)>>2]=12;e=0;return e|0}i=PN(A+-8|0,e>>>0<11?16:e+11&-8)|0;if(i|0){e=i+8|0;return e|0}i=NN(e)|0;if(!i){e=0;return e|0}r=n[A+-4>>2]|0;r=(r&-8)-((r&3|0)==0?8:4)|0;QH(i|0,A|0,(r>>>0<e>>>0?r:e)|0)|0;zN(A);e=i;return e|0}function PN(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;b=A+4|0;o=n[b>>2]|0;i=o&-8;t=A+i|0;if(!(o&3)){if(e>>>0<256){A=0;return A|0}if(i>>>0>=(e+4|0)>>>0?(i-e|0)>>>0<=n[42669]<<1>>>0:0)return A|0;A=0;return A|0}if(i>>>0>=e>>>0){i=i-e|0;if(i>>>0<=15)return A|0;s=A+e|0;n[b>>2]=o&1|e|2;n[s+4>>2]=i|3;o=t+4|0;n[o>>2]=n[o>>2]|1;HN(s,i);return A|0}if((n[42555]|0)==(t|0)){s=(n[42552]|0)+i|0;i=s-e|0;r=A+e|0;if(s>>>0<=e>>>0){A=0;return A|0}n[b>>2]=o&1|e|2;n[r+4>>2]=i|1;n[42555]=r;n[42552]=i;return A|0}if((n[42554]|0)==(t|0)){r=(n[42551]|0)+i|0;if(r>>>0<e>>>0){A=0;return A|0}i=r-e|0;if(i>>>0>15){s=A+e|0;r=A+r|0;n[b>>2]=o&1|e|2;n[s+4>>2]=i|1;n[r>>2]=i;r=r+4|0;n[r>>2]=n[r>>2]&-2;r=s}else{n[b>>2]=o&1|r|2;r=A+r+4|0;n[r>>2]=n[r>>2]|1;r=0;i=0}n[42551]=i;n[42554]=r;return A|0}r=n[t+4>>2]|0;if(r&2|0){A=0;return A|0}c=(r&-8)+i|0;if(c>>>0<e>>>0){A=0;return A|0}s=c-e|0;f=r>>>3;do{if(r>>>0<256){r=n[t+8>>2]|0;i=n[t+12>>2]|0;if((i|0)==(r|0)){n[42549]=n[42549]&~(1<<f);break}else{n[r+12>>2]=i;n[i+8>>2]=r;break}}else{l=n[t+24>>2]|0;i=n[t+12>>2]|0;do{if((i|0)==(t|0)){f=t+16|0;r=f+4|0;i=n[r>>2]|0;if(!i){i=n[f>>2]|0;if(!i){f=0;break}else a=f}else a=r;while(1){f=i+20|0;r=n[f>>2]|0;if(r|0){i=r;a=f;continue}r=i+16|0;f=n[r>>2]|0;if(!f)break;else{i=f;a=r}}n[a>>2]=0;f=i}else{f=n[t+8>>2]|0;n[f+12>>2]=i;n[i+8>>2]=f;f=i}}while(0);if(l|0){i=n[t+28>>2]|0;r=170500+(i<<2)|0;if((n[r>>2]|0)==(t|0)){n[r>>2]=f;if(!f){n[42550]=n[42550]&~(1<<i);break}}else{n[l+16+(((n[l+16>>2]|0)!=(t|0)&1)<<2)>>2]=f;if(!f)break}n[f+24>>2]=l;i=t+16|0;r=n[i>>2]|0;if(r|0){n[f+16>>2]=r;n[r+24>>2]=f}i=n[i+4>>2]|0;if(i|0){n[f+20>>2]=i;n[i+24>>2]=f}}}}while(0);if(s>>>0<16){n[b>>2]=c|o&1|2;o=A+c+4|0;n[o>>2]=n[o>>2]|1;return A|0}else{t=A+e|0;n[b>>2]=o&1|e|2;n[t+4>>2]=s|3;o=A+c+4|0;n[o>>2]=n[o>>2]|1;HN(t,s);return A|0}return 0}function HN(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;t=A+e|0;i=n[A+4>>2]|0;do{if(!(i&1)){f=n[A>>2]|0;if(!(i&3))return;l=A+(0-f)|0;e=f+e|0;if((n[42554]|0)==(l|0)){A=t+4|0;i=n[A>>2]|0;if((i&3|0)!=3)break;n[42551]=e;n[A>>2]=i&-2;n[l+4>>2]=e|1;n[t>>2]=e;return}r=f>>>3;if(f>>>0<256){A=n[l+8>>2]|0;i=n[l+12>>2]|0;if((i|0)==(A|0)){n[42549]=n[42549]&~(1<<r);break}else{n[A+12>>2]=i;n[i+8>>2]=A;break}}a=n[l+24>>2]|0;A=n[l+12>>2]|0;do{if((A|0)==(l|0)){r=l+16|0;i=r+4|0;A=n[i>>2]|0;if(!A){A=n[r>>2]|0;if(!A){A=0;break}else i=r}while(1){r=A+20|0;f=n[r>>2]|0;if(f|0){A=f;i=r;continue}r=A+16|0;f=n[r>>2]|0;if(!f)break;else{A=f;i=r}}n[i>>2]=0}else{f=n[l+8>>2]|0;n[f+12>>2]=A;n[A+8>>2]=f}}while(0);if(a){i=n[l+28>>2]|0;r=170500+(i<<2)|0;if((n[r>>2]|0)==(l|0)){n[r>>2]=A;if(!A){n[42550]=n[42550]&~(1<<i);break}}else{n[a+16+(((n[a+16>>2]|0)!=(l|0)&1)<<2)>>2]=A;if(!A)break}n[A+24>>2]=a;i=l+16|0;r=n[i>>2]|0;if(r|0){n[A+16>>2]=r;n[r+24>>2]=A}i=n[i+4>>2]|0;if(i){n[A+20>>2]=i;n[i+24>>2]=A}}}else l=A}while(0);A=t+4|0;r=n[A>>2]|0;if(!(r&2)){if((n[42555]|0)==(t|0)){t=(n[42552]|0)+e|0;n[42552]=t;n[42555]=l;n[l+4>>2]=t|1;if((l|0)!=(n[42554]|0))return;n[42554]=0;n[42551]=0;return}if((n[42554]|0)==(t|0)){t=(n[42551]|0)+e|0;n[42551]=t;n[42554]=l;n[l+4>>2]=t|1;n[l+t>>2]=t;return}f=(r&-8)+e|0;i=r>>>3;do{if(r>>>0<256){A=n[t+8>>2]|0;e=n[t+12>>2]|0;if((e|0)==(A|0)){n[42549]=n[42549]&~(1<<i);break}else{n[A+12>>2]=e;n[e+8>>2]=A;break}}else{a=n[t+24>>2]|0;e=n[t+12>>2]|0;do{if((e|0)==(t|0)){i=t+16|0;A=i+4|0;e=n[A>>2]|0;if(!e){e=n[i>>2]|0;if(!e){i=0;break}else A=i}while(1){i=e+20|0;r=n[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=n[i>>2]|0;if(!r)break;else{e=r;A=i}}n[A>>2]=0;i=e}else{i=n[t+8>>2]|0;n[i+12>>2]=e;n[e+8>>2]=i;i=e}}while(0);if(a|0){e=n[t+28>>2]|0;A=170500+(e<<2)|0;if((n[A>>2]|0)==(t|0)){n[A>>2]=i;if(!i){n[42550]=n[42550]&~(1<<e);break}}else{n[a+16+(((n[a+16>>2]|0)!=(t|0)&1)<<2)>>2]=i;if(!i)break}n[i+24>>2]=a;e=t+16|0;A=n[e>>2]|0;if(A|0){n[i+16>>2]=A;n[A+24>>2]=i}e=n[e+4>>2]|0;if(e|0){n[i+20>>2]=e;n[e+24>>2]=i}}}}while(0);n[l+4>>2]=f|1;n[l+f>>2]=f;if((l|0)==(n[42554]|0)){n[42551]=f;return}}else{n[A>>2]=r&-2;n[l+4>>2]=e|1;n[l+e>>2]=e;f=e}e=f>>>3;if(f>>>0<256){i=170236+(e<<1<<2)|0;A=n[42549]|0;e=1<<e;if(!(A&e)){n[42549]=A|e;e=i;A=i+8|0}else{A=i+8|0;e=n[A>>2]|0}n[A>>2]=l;n[e+12>>2]=l;n[l+8>>2]=e;n[l+12>>2]=i;return}e=f>>>8;if(e)if(f>>>0>16777215)e=31;else{a=(e+1048320|0)>>>16&8;t=e<<a;r=(t+520192|0)>>>16&4;t=t<<r;e=(t+245760|0)>>>16&2;e=14-(r|a|e)+(t<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;r=170500+(e<<2)|0;n[l+28>>2]=e;n[l+20>>2]=0;n[l+16>>2]=0;A=n[42550]|0;i=1<<e;if(!(A&i)){n[42550]=A|i;n[r>>2]=l;n[l+24>>2]=r;n[l+12>>2]=l;n[l+8>>2]=l;return}A=f<<((e|0)==31?0:25-(e>>>1)|0);i=n[r>>2]|0;while(1){if((n[i+4>>2]&-8|0)==(f|0)){e=69;break}r=i+16+(A>>>31<<2)|0;e=n[r>>2]|0;if(!e){e=68;break}else{A=A<<1;i=e}}if((e|0)==68){n[r>>2]=l;n[l+24>>2]=i;n[l+12>>2]=l;n[l+8>>2]=l;return}else if((e|0)==69){a=i+8|0;t=n[a>>2]|0;n[t+12>>2]=l;n[a>>2]=l;n[l+8>>2]=t;n[l+12>>2]=i;n[l+24>>2]=0;return}}function FN(A,e){A=A|0;e=e|0;if(A>>>0<9){e=NN(e)|0;return e|0}else{e=LN(A,e)|0;return e|0}return 0}function LN(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0;A=A>>>0>16?A:16;if(A+-1&A){i=16;while(1)if(i>>>0<A>>>0)i=i<<1;else{A=i;break}}if((-64-A|0)>>>0<=e>>>0){n[(UN()|0)>>2]=12;l=0;return l|0}a=e>>>0<11?16:e+11&-8;i=NN(a+12+A|0)|0;if(!i){l=0;return l|0}f=i+-8|0;do{if(A+-1&i){r=(i+A+-1&0-A)+-8|0;e=f;r=(r-e|0)>>>0>15?r:r+A|0;e=r-e|0;A=i+-4|0;t=n[A>>2]|0;i=(t&-8)-e|0;if(!(t&3)){n[r>>2]=(n[f>>2]|0)+e;n[r+4>>2]=i;A=r;e=r;break}else{t=r+4|0;n[t>>2]=i|n[t>>2]&1|2;i=r+i+4|0;n[i>>2]=n[i>>2]|1;n[A>>2]=e|n[A>>2]&1|2;n[t>>2]=n[t>>2]|1;HN(f,e);A=r;e=r;break}}else{A=f;e=f}}while(0);A=A+4|0;i=n[A>>2]|0;if(i&3|0?(l=i&-8,l>>>0>(a+16|0)>>>0):0){t=l-a|0;f=e+a|0;n[A>>2]=a|i&1|2;n[f+4>>2]=t|3;l=e+l+4|0;n[l>>2]=n[l>>2]|1;HN(f,t)}t=e+8|0;return t|0}function DN(A){A=A|0;var e=0,i=0;e=v;v=v+16|0;i=e;n[i>>2]=jN(n[A+60>>2]|0)|0;A=xN(WA(6,i|0)|0)|0;v=e;return A|0}function XN(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0;s=v;v=v+32|0;f=s;t=s+16|0;n[t>>2]=e;a=t+4|0;c=A+48|0;b=n[c>>2]|0;n[a>>2]=i-((b|0)!=0&1);l=A+44|0;n[t+8>>2]=n[l>>2];n[t+12>>2]=b;n[f>>2]=n[A+60>>2];n[f+4>>2]=t;n[f+8>>2]=2;f=xN(mA(145,f|0)|0)|0;if((f|0)>=1){t=n[a>>2]|0;if(f>>>0>t>>>0){a=n[l>>2]|0;l=A+4|0;n[l>>2]=a;n[A+8>>2]=a+(f-t);if(!(n[c>>2]|0))f=i;else{n[l>>2]=a+1;r[e+(i+-1)>>0]=r[a>>0]|0;f=i}}}else n[A>>2]=n[A>>2]|f&48^16;v=s;return f|0}function TN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;f=v;v=v+32|0;a=f;r=f+20|0;n[a>>2]=n[A+60>>2];n[a+4>>2]=0;n[a+8>>2]=e;n[a+12>>2]=r;n[a+16>>2]=i;if((xN(GA(140,a|0)|0)|0)<0){n[r>>2]=-1;A=-1}else A=n[r>>2]|0;v=f;return A|0}function xN(A){A=A|0;if(A>>>0>4294963200){n[(UN()|0)>>2]=0-A;A=-1}return A|0}function UN(){return 170692}function jN(A){A=A|0;return A|0}function SN(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;a=v;v=v+32|0;f=a;n[A+36>>2]=9;if((n[A>>2]&64|0)==0?(n[f>>2]=n[A+60>>2],n[f+4>>2]=21523,n[f+8>>2]=a+16,VA(54,f|0)|0):0)r[A+75>>0]=-1;f=ON(A,e,i)|0;v=a;return f|0}function ON(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0;o=v;v=v+48|0;s=o+16|0;a=o;f=o+32|0;t=A+28|0;r=n[t>>2]|0;n[f>>2]=r;c=A+20|0;r=(n[c>>2]|0)-r|0;n[f+4>>2]=r;n[f+8>>2]=e;n[f+12>>2]=i;r=r+i|0;l=A+60|0;n[a>>2]=n[l>>2];n[a+4>>2]=f;n[a+8>>2]=2;a=xN(IA(146,a|0)|0)|0;A:do{if((r|0)!=(a|0)){e=2;while(1){if((a|0)<0)break;r=r-a|0;B=n[f+4>>2]|0;u=a>>>0>B>>>0;f=u?f+8|0:f;e=e+(u<<31>>31)|0;B=a-(u?B:0)|0;n[f>>2]=(n[f>>2]|0)+B;u=f+4|0;n[u>>2]=(n[u>>2]|0)-B;n[s>>2]=n[l>>2];n[s+4>>2]=f;n[s+8>>2]=e;a=xN(IA(146,s|0)|0)|0;if((r|0)==(a|0)){b=3;break A}}n[A+16>>2]=0;n[t>>2]=0;n[c>>2]=0;n[A>>2]=n[A>>2]|32;if((e|0)==2)i=0;else i=i-(n[f+4>>2]|0)|0}else b=3}while(0);if((b|0)==3){B=n[A+44>>2]|0;n[A+16>>2]=B+(n[A+48>>2]|0);n[t>>2]=B;n[c>>2]=B}v=o;return i|0}function KN(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;n[r>>2]=A;n[r+4>>2]=e;e=xN(JA(91,r|0)|0)|0;v=i;return e|0}function _N(){return}function qN(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0;t=v;v=v+32|0;l=t;do{if((a&4095|0)==0&(((a|0)<0)<<31>>31&-4096|0)==0){if(e>>>0>2147483646){n[(UN()|0)>>2]=12;A=-1;break}n[l>>2]=A;n[l+4>>2]=e;n[l+8>>2]=i;n[l+12>>2]=r;n[l+16>>2]=f;n[l+20>>2]=a>>12;A=xN(CA(192,l|0)|0)|0}else{n[(UN()|0)>>2]=22;A=-1}}while(0);v=t;return A|0}function $N(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;f=e&255;A:do{if(!f)A=A+(Az(A)|0)|0;else{if(A&3){i=e&255;do{a=r[A>>0]|0;if(a<<24>>24==0?1:a<<24>>24==i<<24>>24)break A;A=A+1|0}while((A&3|0)!=0)}f=X(f,16843009)|0;i=n[A>>2]|0;e:do{if(!((i&-2139062144^-2139062144)&i+-16843009))do{a=i^f;if((a&-2139062144^-2139062144)&a+-16843009|0)break e;A=A+4|0;i=n[A>>2]|0}while(!((i&-2139062144^-2139062144)&i+-16843009|0))}while(0);i=e&255;while(1){a=r[A>>0]|0;if(a<<24>>24==0?1:a<<24>>24==i<<24>>24)break;else A=A+1|0}}}while(0);return A|0}function Az(A){A=A|0;var e=0,i=0,f=0;f=A;A:do{if(!(f&3))i=4;else{e=f;while(1){if(!(r[A>>0]|0)){A=e;break A}A=A+1|0;e=A;if(!(e&3)){i=4;break}}}}while(0);if((i|0)==4){while(1){e=n[A>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009))A=A+4|0;else break}if((e&255)<<24>>24)do{A=A+1|0}while((r[A>>0]|0)!=0)}return A-f|0}function ez(A,e){A=A|0;e=e|0;var i=0,f=0;f=0;while(1){if((a[125833+f>>0]|0)==(A|0)){A=2;break}i=f+1|0;if((i|0)==87){i=125921;f=87;A=5;break}else f=i}if((A|0)==2)if(!f)i=125921;else{i=125921;A=5}if((A|0)==5)while(1){do{A=i;i=i+1|0}while((r[A>>0]|0)!=0);f=f+-1|0;if(!f)break;else A=5}return iz(i,n[e+20>>2]|0)|0}function iz(A,e){A=A|0;e=e|0;return rz(A,e)|0}function rz(A,e){A=A|0;e=e|0;if(!e)e=0;else e=fz(n[e>>2]|0,n[e+4>>2]|0,A)|0;return(e|0?e:A)|0}function fz(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0;v=(n[A>>2]|0)+1794895138|0;l=nz(n[A+8>>2]|0,v)|0;f=nz(n[A+12>>2]|0,v)|0;a=nz(n[A+16>>2]|0,v)|0;A:do{if((l>>>0<e>>>2>>>0?(u=e-(l<<2)|0,f>>>0<u>>>0&a>>>0<u>>>0):0)?((a|f)&3|0)==0:0){u=f>>>2;o=a>>>2;b=0;while(1){c=l>>>1;s=b+c|0;t=s<<1;a=t+u|0;f=nz(n[A+(a<<2)>>2]|0,v)|0;a=nz(n[A+(a+1<<2)>>2]|0,v)|0;if(!(a>>>0<e>>>0&f>>>0<(e-a|0)>>>0)){f=0;break A}if(r[A+(a+f)>>0]|0){f=0;break A}f=az(i,A+a|0)|0;if(!f)break;f=(f|0)<0;if((l|0)==1){f=0;break A}else{b=f?b:s;l=f?c:l-c|0}}f=t+o|0;a=nz(n[A+(f<<2)>>2]|0,v)|0;f=nz(n[A+(f+1<<2)>>2]|0,v)|0;if(f>>>0<e>>>0&a>>>0<(e-f|0)>>>0)f=(r[A+(f+a)>>0]|0)==0?A+f|0:0;else f=0}else f=0}while(0);return f|0}function nz(A,e){A=A|0;e=e|0;var i=0;i=IH(A|0)|0;return((e|0)==0?A:i)|0}function az(A,e){A=A|0;e=e|0;var i=0,f=0;i=r[A>>0]|0;f=r[e>>0]|0;if(i<<24>>24==0?1:i<<24>>24!=f<<24>>24)A=f;else{do{A=A+1|0;e=e+1|0;i=r[A>>0]|0;f=r[e>>0]|0}while(!(i<<24>>24==0?1:i<<24>>24!=f<<24>>24));A=f}return(i&255)-(A&255)|0}function lz(A){A=A|0;return ez(A,n[(tz()|0)+188>>2]|0)|0}function tz(){return cz()|0}function cz(){return 55800}function sz(A,e,i){A=+A;e=+e;i=i|0;var r=0.0,f=0.0,n=0.0;n=A*A;r=n*(n*n)*(n*1.58969099521155e-10+-2.5050760253406863e-08)+(n*(n*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);f=n*A;if(!i)A=f*(n*r+-.16666666666666632)+A;else A=A-(f*.16666666666666632+(n*(e*.5-f*r)-e));return+A}function bz(A){A=+A;var e=0,i=0,r=0,f=0,a=0.0,l=0.0,t=0.0,c=0.0,b=0.0;s[o>>3]=A;e=n[o>>2]|0;i=n[o+4>>2]|0;r=(i|0)<0;do{if(r|i>>>0<1048576){if((e|0)==0&(i&2147483647|0)==0){A=-1.0/(A*A);break}if(r){A=(A-A)/0.0;break}else{s[o>>3]=A*18014398509481984.0;i=n[o+4>>2]|0;r=-1077;e=n[o>>2]|0;f=9;break}}else if(i>>>0<=2146435071)if((e|0)==0&0==0&(i|0)==1072693248)A=0.0;else{r=-1023;f=9}}while(0);if((f|0)==9){f=i+614242|0;n[o>>2]=e;n[o+4>>2]=(f&1048575)+1072079006;b=+s[o>>3]+-1.0;t=b*(b*.5);l=b/(b+2.0);c=l*l;a=c*c;s[o>>3]=b-t;i=n[o+4>>2]|0;n[o>>2]=0;n[o+4>>2]=i;A=+s[o>>3];a=b-A-t+l*(t+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+c*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));c=A*1.4426950407214463;t=+(r+(f>>>20)|0);l=c+t;A=l+(c+(t-l)+(a*1.4426950407214463+(a+A)*1.6751713164886512e-10))}return+A}function oz(A,e){A=+A;e=e|0;var i=0,r=0,f=0;s[o>>3]=A;i=n[o>>2]|0;r=n[o+4>>2]|0;f=ZH(i|0,r|0,52)|0;switch(f&2047){case 0:{if(A!=0.0){A=+oz(A*18446744073709551616.0,e);i=(n[e>>2]|0)+-64|0}else i=0;n[e>>2]=i;break}case 2047:break;default:{n[e>>2]=(f&2047)+-1022;n[o>>2]=i;n[o+4>>2]=r&-2146435073|1071644672;A=+s[o>>3]}}return+A}function uz(A,e){A=+A;e=+e;var i=0.0,r=0.0,f=0.0,n=0.0;i=A*A;r=i*i;f=i*.5;n=1.0-f;return+(n+(1.0-n-f+(i*(i*(i*(i*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+r*r*(i*(2.087572321298175e-09-i*1.1359647557788195e-11)+-2.7557314351390663e-07))-A*e)))}function vz(A){A=+A;var e=0,i=0,r=0,f=0,a=0.0,l=0.0,t=0.0,c=0.0,b=0.0;s[o>>3]=A;e=n[o>>2]|0;i=n[o+4>>2]|0;r=(i|0)<0;do{if(r|i>>>0<1048576){if((e|0)==0&(i&2147483647|0)==0){A=-1.0/(A*A);break}if(r){A=(A-A)/0.0;break}else{s[o>>3]=A*18014398509481984.0;i=n[o+4>>2]|0;r=-1077;e=n[o>>2]|0;f=9;break}}else if(i>>>0<=2146435071)if((e|0)==0&0==0&(i|0)==1072693248)A=0.0;else{r=-1023;f=9}}while(0);if((f|0)==9){f=i+614242|0;n[o>>2]=e;n[o+4>>2]=(f&1048575)+1072079006;t=+s[o>>3]+-1.0;l=t*(t*.5);c=t/(t+2.0);b=c*c;a=b*b;s[o>>3]=t-l;i=n[o+4>>2]|0;n[o>>2]=0;n[o+4>>2]=i;A=+s[o>>3];a=t-A-l+c*(l+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+b*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));b=A*.4342944818781689;l=+(r+(f>>>20)|0);c=l*.30102999566361177;t=c+b;A=t+(b+(c-t)+(a*.4342944818781689+(l*3.694239077158931e-13+(a+A)*2.5082946711645275e-11)))}return+A}function Bz(A,e){A=+A;e=e|0;var i=0,r=0.0,f=0.0,a=0.0,l=0,t=0.0,c=0,b=0,u=0,B=0,k=0,w=0,d=0.0;w=v;v=v+48|0;c=w+16|0;b=w;s[o>>3]=A;i=n[o>>2]|0;l=n[o+4>>2]|0;u=ZH(i|0,l|0,63)|0;k=l&2147483647;do{if(k>>>0<1074752123)if((l&1048575|0)!=598523){i=(u|0)!=0;if(k>>>0<1073928573)if(i){a=A+1.5707963267341256;t=a+6.077100506506192e-11;s[e>>3]=t;s[e+8>>3]=a-t+6.077100506506192e-11;i=-1;break}else{a=A+-1.5707963267341256;t=a+-6.077100506506192e-11;s[e>>3]=t;s[e+8>>3]=a-t+-6.077100506506192e-11;i=1;break}else if(i){a=A+3.1415926534682512;t=a+1.2154201013012384e-10;s[e>>3]=t;s[e+8>>3]=a-t+1.2154201013012384e-10;i=-2;break}else{a=A+-3.1415926534682512;t=a+-1.2154201013012384e-10;s[e>>3]=t;s[e+8>>3]=a-t+-1.2154201013012384e-10;i=2;break}}else B=21;else{if(k>>>0<1075594812)if(k>>>0<1075183037){if((k|0)==1074977148){B=21;break}if(!u){a=A+-4.712388980202377;t=a+-1.8231301519518578e-10;s[e>>3]=t;s[e+8>>3]=a-t+-1.8231301519518578e-10;i=3;break}else{a=A+4.712388980202377;t=a+1.8231301519518578e-10;s[e>>3]=t;s[e+8>>3]=a-t+1.8231301519518578e-10;i=-3;break}}else{if((k|0)==1075388923){B=21;break}if(!u){a=A+-6.2831853069365025;t=a+-2.430840202602477e-10;s[e>>3]=t;s[e+8>>3]=a-t+-2.430840202602477e-10;i=4;break}else{a=A+6.2831853069365025;t=a+2.430840202602477e-10;s[e>>3]=t;s[e+8>>3]=a-t+2.430840202602477e-10;i=-4;break}}if(k>>>0>=1094263291){if(k>>>0>2146435071){t=A-A;s[e+8>>3]=t;s[e>>3]=t;i=0;break}n[o>>2]=i;n[o+4>>2]=l&1048575|1096810496;A=+s[o>>3];i=0;do{t=+(~~A|0);s[c+(i<<3)>>3]=t;A=(A-t)*16777216.0;i=i+1|0}while((i|0)!=2);s[c+16>>3]=A;if(A==0.0){i=1;while(1)if(+s[c+(i<<3)>>3]==0.0)i=i+-1|0;else break}else i=2;i=kz(c,b,(k>>>20)+-1046|0,i+1|0,1)|0;A=+s[b>>3];if(!u){s[e>>3]=A;s[e+8>>3]=+s[b+8>>3];break}else{s[e>>3]=-A;s[e+8>>3]=-+s[b+8>>3];i=0-i|0;break}}else B=21}}while(0);if((B|0)==21){a=A*.6366197723675814+6755399441055744.0+-6755399441055744.0;i=~~a;r=A-a*1.5707963267341256;f=a*6.077100506506192e-11;A=r-f;s[e>>3]=A;s[o>>3]=A;B=ZH(n[o>>2]|0,n[o+4>>2]|0,52)|0;l=k>>>20;if((l-(B&2047)|0)>16){f=a*6.077100506303966e-11;t=r-f;f=a*2.0222662487959506e-21-(r-t-f);A=t-f;s[e>>3]=A;s[o>>3]=A;k=ZH(n[o>>2]|0,n[o+4>>2]|0,52)|0;d=a*2.0222662487111665e-21;r=t-d;a=a*8.4784276603689e-32-(t-r-d);if((l-(k&2047)|0)>49){A=r-a;s[e>>3]=A;f=a}else r=t}s[e+8>>3]=r-A-f}v=w;return i|0}function kz(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0.0,l=0.0,t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,Y=0,V=0,W=0,J=0,N=0.0;J=v;v=v+560|0;Q=J+480|0;C=J+320|0;W=J+160|0;Y=J;E=n[56044+(f<<2)>>2]|0;B=r+-1|0;I=(i+-3|0)/24|0;I=(I|0)>0?I:0;M=X(I,-24)|0;t=i+-24+M|0;if((E+B|0)>=0){o=E+r|0;c=I-B|0;b=0;while(1){if((c|0)<0)a=0.0;else a=+(n[56060+(c<<2)>>2]|0);s[C+(b<<3)>>3]=a;b=b+1|0;if((b|0)==(o|0))break;else c=c+1|0}}u=(r|0)>0;o=0;while(1){if(u){b=o+B|0;a=0.0;c=0;do{a=a+ +s[A+(c<<3)>>3]*+s[C+(b-c<<3)>>3];c=c+1|0}while((c|0)!=(r|0))}else a=0.0;s[Y+(o<<3)>>3]=a;if((o|0)<(E|0))o=o+1|0;else break}h=(t|0)>0;g=24-t|0;Z=23-t|0;G=(r|0)>0;m=(t|0)==0;c=E;A:while(1){a=+s[Y+(c<<3)>>3];u=(c|0)>0;if(u){b=c;o=0;while(1){l=+(~~(a*5.9604644775390625e-08)|0);n[Q+(o<<2)>>2]=~~(a-l*16777216.0);d=b;b=b+-1|0;a=+s[Y+(b<<3)>>3]+l;if((d|0)<=1)break;else o=o+1|0}}a=+wz(a,t);a=a-+y(+(a*.125))*8.0;b=~~a;a=a-+(b|0);do{if(!h)if(!m)if(!(a>=.5)){B=0;d=b;break}else{o=2;V=20;break}else{o=n[Q+(c+-1<<2)>>2]>>23;V=19;break}else{d=Q+(c+-1<<2)|0;o=n[d>>2]|0;V=o>>g;o=o-(V<<g)|0;n[d>>2]=o;o=o>>Z;b=V+b|0;V=19}}while(0);if((V|0)==19){V=0;if((o|0)>0)V=20;else{B=o;d=b}}if((V|0)==20){V=0;d=b+1|0;if(u){b=0;w=0;do{B=Q+(w<<2)|0;k=n[B>>2]|0;if(!b)if(!k)b=0;else{b=1;u=16777216;V=23}else{u=16777215;V=23}if((V|0)==23){V=0;n[B>>2]=u-k}w=w+1|0}while((w|0)!=(c|0))}else b=0;e:do{if(h){switch(t|0){case 1:{u=8388607;break}case 2:{u=4194303;break}default:break e}w=Q+(c+-1<<2)|0;n[w>>2]=n[w>>2]&u}}while(0);if((o|0)==2){a=1.0-a;if(!b)B=2;else{B=2;a=a-+wz(1.0,t)}}else B=o}if(!(a==0.0)){V=42;break}if((c|0)>(E|0)){b=0;o=c;do{o=o+-1|0;b=n[Q+(o<<2)>>2]|b}while((o|0)>(E|0));if(b){V=41;break}else b=1}else b=1;while(1)if(!(n[Q+(E-b<<2)>>2]|0))b=b+1|0;else break;u=b+c|0;if((b|0)<=0){c=u;continue}while(1){o=c+1|0;b=c+r|0;s[C+(b<<3)>>3]=+(n[56060+(o+I<<2)>>2]|0);if(G){a=0.0;c=0;do{a=a+ +s[A+(c<<3)>>3]*+s[C+(b-c<<3)>>3];c=c+1|0}while((c|0)!=(r|0))}else a=0.0;s[Y+(o<<3)>>3]=a;if((o|0)<(u|0))c=o;else{c=u;continue A}}}if((V|0)==41)while(1){V=0;t=t+-24|0;c=c+-1|0;if(!(n[Q+(c<<2)>>2]|0))V=41;else{u=c;break}}else if((V|0)==42){a=+wz(a,0-t|0);if(a>=16777216.0){l=+(~~(a*5.9604644775390625e-08)|0);n[Q+(c<<2)>>2]=~~(a-l*16777216.0);t=M+i|0;c=c+1|0;a=l}n[Q+(c<<2)>>2]=~~a;u=c}o=(u|0)>-1;if(o){a=+wz(1.0,t);t=u;while(1){s[Y+(t<<3)>>3]=a*+(n[Q+(t<<2)>>2]|0);if((t|0)>0){a=a*5.9604644775390625e-08;t=t+-1|0}else break}if(o){c=u;while(1){b=u-c|0;t=0;a=0.0;while(1){a=a+ +s[10840+(t<<3)>>3]*+s[Y+(t+c<<3)>>3];if((t|0)>=(E|0)|(t|0)>=(b|0))break;else t=t+1|0}s[W+(b<<3)>>3]=a;if((c|0)>0)c=c+-1|0;else break}}}switch(f|0){case 0:{if(o){a=0.0;t=u;while(1){a=a+ +s[W+(t<<3)>>3];if((t|0)>0)t=t+-1|0;else break}}else a=0.0;l=(B|0)==0?a:-a;V=73;break}case 2:case 1:{if(o){a=0.0;t=u;while(1){a=a+ +s[W+(t<<3)>>3];if((t|0)>0)t=t+-1|0;else break}}else a=0.0;c=(B|0)==0;s[e>>3]=c?a:-a;a=+s[W>>3]-a;if((u|0)>=1){t=1;while(1){a=a+ +s[W+(t<<3)>>3];if((t|0)==(u|0))break;else t=t+1|0}}l=c?a:-a;e=e+8|0;V=73;break}case 3:{if((u|0)>0){t=u;a=+s[W+(u<<3)>>3];do{V=t;t=t+-1|0;Y=W+(t<<3)|0;l=+s[Y>>3];N=a;a=l+a;s[W+(V<<3)>>3]=N+(l-a);s[Y>>3]=a}while((V|0)>1);c=(u|0)>1;if(c){t=u;a=+s[W+(u<<3)>>3];do{V=t;t=t+-1|0;Y=W+(t<<3)|0;N=+s[Y>>3];l=a;a=N+a;s[W+(V<<3)>>3]=l+(N-a);s[Y>>3]=a}while((V|0)>2);if(c){t=u;l=0.0;while(1){l=l+ +s[W+(t<<3)>>3];if((t|0)>2)t=t+-1|0;else break}}else l=0.0}else l=0.0}else l=0.0;a=+s[W>>3];if(!B){s[e>>3]=a;a=+s[W+8>>3]}else{s[e>>3]=-a;l=-l;a=-+s[W+8>>3]}s[e+8>>3]=a;e=e+16|0;V=73;break}default:{}}if((V|0)==73)s[e>>3]=l;v=J;return d&7|0}function wz(A,e){A=+A;e=e|0;var i=0,r=0;if((e|0)<=1023){if((e|0)<-1022){A=A*2.2250738585072014e-308;r=(e|0)<-2044;i=e+2044|0;A=r?A*2.2250738585072014e-308:A;e=r?(i|0)>-1022?i:-1022:e+1022|0}}else{A=A*8988465674311579538646525.0e283;i=(e|0)>2046;r=e+-2046|0;A=i?A*8988465674311579538646525.0e283:A;e=i?(r|0)<1023?r:1023:e+-1023|0}i=GH(e+1023|0,0,52)|0;r=E;n[o>>2]=i;n[o+4>>2]=r;return+(A*+s[o>>3])}function dz(A){A=+A;var e=0,i=0,r=0,f=0.0,a=0.0;s[o>>3]=A;i=n[o+4>>2]|0;e=i&2147483647;do{if(e>>>0>2146435071)A=A+A;else{if(e>>>0<1048576){s[o>>3]=A*18014398509481984.0;i=n[o+4>>2]|0;e=i&2147483647;if(!e)break;else r=696219795}else r=715094163;n[o>>2]=0;n[o+4>>2]=((e>>>0)/3|0)+r|i&-2147483648;f=+s[o>>3];a=f*f*(f/A);s[o>>3]=(a*(a*a)*(a*.14599619288661245+-.758397934778766)+(a*(a*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*f;i=BH(n[o>>2]|0,n[o+4>>2]|0,-2147483648,0)|0;r=E;n[o>>2]=i&-1073741824;n[o+4>>2]=r;f=+s[o>>3];A=A/(f*f);A=(A-f)/(f+f+A)*f+f}}while(0);return+A}function hz(A,e){A=+A;e=+e;var i=0,r=0;s[o>>3]=A;r=n[o>>2]|0;i=n[o+4>>2]|0;s[o>>3]=e;i=n[o+4>>2]&-2147483648|i&2147483647;n[o>>2]=r;n[o+4>>2]=i;return+ +s[o>>3]}function gz(A,e){A=+A;e=+e;return+ +hz(A,e)}function Zz(A,e){A=+A;e=e|0;return+ +wz(A,e)}function Gz(A,e){A=+A;e=+e;return+ +mz(A,e)}function mz(A,e){A=+A;e=+e;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,b=0,u=0,v=0,B=0,k=0;s[o>>3]=A;l=n[o>>2]|0;c=n[o+4>>2]|0;s[o>>3]=e;u=n[o>>2]|0;v=n[o+4>>2]|0;r=ZH(l|0,c|0,52)|0;r=r&2047;b=ZH(u|0,v|0,52)|0;b=b&2047;B=c&-2147483648;a=GH(u|0,v|0,1)|0;t=E;A:do{if(!((a|0)==0&(t|0)==0)?(f=Iz(e)|0,i=E&2147483647,!((r|0)==2047|(i>>>0>2146435072|(i|0)==2146435072&f>>>0>0))):0){i=GH(l|0,c|0,1)|0;f=E;if(!(f>>>0>t>>>0|(f|0)==(t|0)&i>>>0>a>>>0))return+((i|0)==(a|0)&(f|0)==(t|0)?A*0.0:A);if(!r){i=GH(l|0,c|0,12)|0;f=E;if((f|0)>-1|(f|0)==-1&i>>>0>4294967295){r=0;do{r=r+-1|0;i=GH(i|0,f|0,1)|0;f=E}while((f|0)>-1|(f|0)==-1&i>>>0>4294967295)}else r=0;l=GH(l|0,c|0,1-r|0)|0;a=E}else a=c&1048575|1048576;if(!b){f=GH(u|0,v|0,12)|0;t=E;if((t|0)>-1|(t|0)==-1&f>>>0>4294967295){i=0;do{i=i+-1|0;f=GH(f|0,t|0,1)|0;t=E}while((t|0)>-1|(t|0)==-1&f>>>0>4294967295)}else i=0;u=GH(u|0,v|0,1-i|0)|0;b=i;c=E}else c=v&1048575|1048576;f=kH(l|0,a|0,u|0,c|0)|0;i=E;t=(i|0)>-1|(i|0)==-1&f>>>0>4294967295;e:do{if((r|0)>(b|0)){while(1){if(t){if((f|0)==0&(i|0)==0)break}else{f=l;i=a}l=GH(f|0,i|0,1)|0;a=E;r=r+-1|0;f=kH(l|0,a|0,u|0,c|0)|0;i=E;t=(i|0)>-1|(i|0)==-1&f>>>0>4294967295;if((r|0)<=(b|0))break e}e=A*0.0;break A}}while(0);if(t){if((f|0)==0&(i|0)==0){e=A*0.0;break}}else{i=a;f=l}if(i>>>0<1048576|(i|0)==1048576&f>>>0<0)do{f=GH(f|0,i|0,1)|0;i=E;r=r+-1|0}while(i>>>0<1048576|(i|0)==1048576&f>>>0<0);if((r|0)>0){v=BH(f|0,i|0,0,-1048576)|0;i=E;r=GH(r|0,0,52)|0;i=i|E;r=v|r}else{r=ZH(f|0,i|0,1-r|0)|0;i=E}n[o>>2]=r;n[o+4>>2]=i|B;e=+s[o>>3]}else k=3}while(0);if((k|0)==3){e=A*e;e=e/e}return+e}function Iz(A){A=+A;var e=0;s[o>>3]=A;e=n[o>>2]|0;E=n[o+4>>2]|0;return e|0}function Cz(A,e){A=+A;e=+e;var i=0.0,r=0,f=0,a=0,l=0,t=0.0,c=0,b=0,u=0,B=0,k=0,w=0,d=0,h=0;k=v;v=v+32|0;c=k+24|0;b=k+16|0;u=k+8|0;B=k;s[o>>3]=A;h=n[o>>2]|0;a=n[o+4>>2]|0;s[o>>3]=e;r=n[o>>2]|0;a=a&2147483647;f=n[o+4>>2]&2147483647;l=a>>>0<f>>>0|(a|0)==(f|0)&h>>>0<r>>>0;d=l?r:h;w=l?f:a;r=l?h:r;f=l?a:f;a=ZH(d|0,w|0,52)|0;l=ZH(r|0,f|0,52)|0;n[o>>2]=d;n[o+4>>2]=w;A=+s[o>>3];n[o>>2]=r;n[o+4>>2]=f;t=+s[o>>3];do{if((l|0)!=2047){if(!((r|0)==0&(f|0)==0|(a|0)==2047)){if((a-l|0)>64){A=A+t;break}if((a|0)>1533){i=5260135901548373507240989.0e186;e=A*1.90109156629516e-211;A=t*1.90109156629516e-211}else{h=(l|0)<573;i=h?1.90109156629516e-211:1.0;e=h?A*5260135901548373507240989.0e186:A;A=h?t*5260135901548373507240989.0e186:t}Mz(c,b,e);Mz(u,B,A);A=i*+V(+(+s[B>>3]+ +s[b>>3]+ +s[u>>3]+ +s[c>>3]))}}else A=t}while(0);v=k;return+A}function Mz(A,e,i){A=A|0;e=e|0;i=+i;var r=0.0,f=0.0;f=i*134217729.0;f=f+(i-f);r=i-f;i=i*i;s[A>>3]=i;s[e>>3]=r*r+(f*f-i+f*2.0*r);return}function Qz(A,e,i){A=+A;e=e|0;i=i|0;var r=0.0,f=0,a=0,l=0.0,t=0,c=0;t=v;v=v+16|0;a=t;s[o>>3]=A;f=n[o+4>>2]&2147483647;do{if(f>>>0<1072243196)if(f>>>0<1044816030){s[e>>3]=A;s[i>>3]=1.0;break}else{s[e>>3]=+sz(A,0.0,0);s[i>>3]=+uz(A,0.0);break}else{if(f>>>0>2146435071){l=A-A;s[i>>3]=l;s[e>>3]=l;break}f=Bz(A,a)|0;c=a+8|0;r=+sz(+s[a>>3],+s[c>>3],1);A=+uz(+s[a>>3],+s[c>>3]);switch(f&3){case 0:{s[e>>3]=r;l=A;break}case 1:{s[e>>3]=A;l=-r;break}case 2:{s[e>>3]=-r;l=-A;break}case 3:{s[e>>3]=-A;l=r;break}default:{}}s[i>>3]=l}}while(0);v=t;return}function Ez(A,e){A=+A;e=e|0;return+ +oz(A,e)}function yz(A){A=A|0;if(A>>>0<131072)A=(a[127725+((a[127725+(A>>>8)>>0]|0)<<5|A>>>3&31)>>0]|0)>>>(A&7)&1;else A=0;return A|0}function Yz(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0;if(!i)f=0;else{f=r[A>>0]|0;A:do{if(!(f<<24>>24))f=0;else while(1){i=i+-1|0;n=r[e>>0]|0;if(!(f<<24>>24==n<<24>>24&((i|0)!=0&n<<24>>24!=0)))break A;A=A+1|0;e=e+1|0;f=r[A>>0]|0;if(!(f<<24>>24)){f=0;break}}}while(0);f=(f&255)-(a[e>>0]|0)|0}return f|0}function Vz(A,e){A=A|0;e=e|0;A=$N(A,e)|0;return((r[A>>0]|0)==(e&255)<<24>>24?A:0)|0}function Wz(A){A=A|0;return((A|0)==32|(A+-9|0)>>>0<5)&1|0}function Jz(A,e,i){A=A|0;e=e|0;i=i|0;i=zz(A,e,i,-1,0)|0;return i|0}function Nz(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0;l=e&255;f=(i|0)!=0;A:do{if(f&(A&3|0)!=0){a=e&255;while(1){if((r[A>>0]|0)==a<<24>>24){t=6;break A}A=A+1|0;i=i+-1|0;f=(i|0)!=0;if(!(f&(A&3|0)!=0)){t=5;break}}}else t=5}while(0);if((t|0)==5)if(f)t=6;else i=0;A:do{if((t|0)==6){a=e&255;if((r[A>>0]|0)!=a<<24>>24){f=X(l,16843009)|0;e:do{if(i>>>0>3)while(1){l=n[A>>2]^f;if((l&-2139062144^-2139062144)&l+-16843009|0)break;A=A+4|0;i=i+-4|0;if(i>>>0<=3){t=11;break e}}else t=11}while(0);if((t|0)==11)if(!i){i=0;break}while(1){if((r[A>>0]|0)==a<<24>>24)break A;A=A+1|0;i=i+-1|0;if(!i){i=0;break}}}}}while(0);return(i|0?A:0)|0}function zz(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0;c=v;v=v+128|0;l=c;n[l>>2]=0;t=l+4|0;n[t>>2]=A;n[l+44>>2]=A;a=l+8|0;n[a>>2]=(A|0)<0?-1:A+2147483647|0;n[l+76>>2]=-1;pz(l,0);i=Rz(l,i,1,r,f)|0;if(e|0)n[e>>2]=A+((n[t>>2]|0)+(n[l+108>>2]|0)-(n[a>>2]|0));v=c;return i|0}function pz(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;n[A+104>>2]=e;i=n[A+8>>2]|0;r=n[A+4>>2]|0;f=i-r|0;n[A+108>>2]=f;n[A+100>>2]=(e|0)!=0&(f|0)>(e|0)?r+e|0:i;return}function Rz(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0;A:do{if(e>>>0>36){n[(UN()|0)>>2]=22;l=0;f=0}else{w=A+4|0;k=A+100|0;do{t=n[w>>2]|0;if(t>>>0<(n[k>>2]|0)>>>0){n[w>>2]=t+1;t=a[t>>0]|0}else t=Pz(A)|0}while((Wz(t)|0)!=0);e:do{switch(t|0){case 43:case 45:{t=((t|0)==45)<<31>>31;c=n[w>>2]|0;if(c>>>0<(n[k>>2]|0)>>>0){n[w>>2]=c+1;B=t;t=a[c>>0]|0;break e}else{B=t;t=Pz(A)|0;break e}}default:B=0}}while(0);c=(e|0)==0;do{if((e|16|0)==16&(t|0)==48){t=n[w>>2]|0;if(t>>>0<(n[k>>2]|0)>>>0){n[w>>2]=t+1;t=a[t>>0]|0}else t=Pz(A)|0;if((t|32|0)!=120)if(c){e=8;u=46;break}else{u=32;break}t=n[w>>2]|0;if(t>>>0<(n[k>>2]|0)>>>0){n[w>>2]=t+1;t=a[t>>0]|0}else t=Pz(A)|0;if((a[130894+t>>0]|0)>15){f=(n[k>>2]|0)==0;if(!f)n[w>>2]=(n[w>>2]|0)+-1;if(!i){pz(A,0);l=0;f=0;break A}if(f){l=0;f=0;break A}n[w>>2]=(n[w>>2]|0)+-1;l=0;f=0;break A}else{e=16;u=46}}else{e=c?10:e;if(e>>>0>(a[130894+t>>0]|0)>>>0)u=32;else{if(n[k>>2]|0)n[w>>2]=(n[w>>2]|0)+-1;pz(A,0);n[(UN()|0)>>2]=22;l=0;f=0;break A}}}while(0);e:do{if((u|0)==32)if((e|0)==10){e=t+-48|0;if(e>>>0<10){t=0;c=e;do{t=(t*10|0)+c|0;e=n[w>>2]|0;if(e>>>0<(n[k>>2]|0)>>>0){n[w>>2]=e+1;e=a[e>>0]|0}else e=Pz(A)|0;c=e+-48|0}while(c>>>0<10&t>>>0<429496729);i=0}else{e=t;t=0;i=0}s=e+-48|0;if(s>>>0<10){c=e;do{e=vH(t|0,i|0,10,0)|0;b=E;o=((s|0)<0)<<31>>31;v=~o;if(b>>>0>v>>>0|(b|0)==(v|0)&e>>>0>~s>>>0){e=10;u=72;break e}t=BH(e|0,b|0,s|0,o|0)|0;i=E;e=n[w>>2]|0;if(e>>>0<(n[k>>2]|0)>>>0){n[w>>2]=e+1;c=a[e>>0]|0}else c=Pz(A)|0;s=c+-48|0}while(s>>>0<10&(i>>>0<429496729|(i|0)==429496729&t>>>0<2576980378));if(s>>>0>9){c=B;e=i}else{e=10;u=72}}else{c=B;e=i}}else u=46}while(0);e:do{if((u|0)==46){if(!(e+-1&e)){u=r[131150+((e*23|0)>>>5&7)>>0]|0;i=r[130894+t>>0]|0;c=i&255;if(e>>>0>c>>>0){t=0;s=c;do{t=s|t<<u;c=n[w>>2]|0;if(c>>>0<(n[k>>2]|0)>>>0){n[w>>2]=c+1;c=a[c>>0]|0}else c=Pz(A)|0;i=r[130894+c>>0]|0;s=i&255}while(t>>>0<134217728&e>>>0>s>>>0);s=0}else{c=t;s=0;t=0}b=ZH(-1,-1,u|0)|0;o=E;if(e>>>0<=(i&255)>>>0|(o>>>0<s>>>0|(o|0)==(s|0)&b>>>0<t>>>0)){i=s;u=72;break}else c=s;while(1){t=GH(t|0,c|0,u|0)|0;s=E;t=t|i&255;c=n[w>>2]|0;if(c>>>0<(n[k>>2]|0)>>>0){n[w>>2]=c+1;c=a[c>>0]|0}else c=Pz(A)|0;i=r[130894+c>>0]|0;if(e>>>0<=(i&255)>>>0|(s>>>0>o>>>0|(s|0)==(o|0)&t>>>0>b>>>0)){i=s;u=72;break e}else c=s}}i=r[130894+t>>0]|0;c=i&255;if(e>>>0>c>>>0){t=0;s=c;do{t=s+(X(t,e)|0)|0;c=n[w>>2]|0;if(c>>>0<(n[k>>2]|0)>>>0){n[w>>2]=c+1;c=a[c>>0]|0}else c=Pz(A)|0;i=r[130894+c>>0]|0;s=i&255}while(t>>>0<119304647&e>>>0>s>>>0);s=0}else{c=t;t=0;s=0}if(e>>>0>(i&255)>>>0){u=hH(-1,-1,e|0,0)|0;v=E;o=s;while(1){if(o>>>0>v>>>0|(o|0)==(v|0)&t>>>0>u>>>0){i=o;u=72;break e}s=vH(t|0,o|0,e|0,0)|0;b=E;i=i&255;if(b>>>0>4294967295|(b|0)==-1&s>>>0>~i>>>0){i=o;u=72;break e}t=BH(s|0,b|0,i|0,0)|0;s=E;c=n[w>>2]|0;if(c>>>0<(n[k>>2]|0)>>>0){n[w>>2]=c+1;c=a[c>>0]|0}else c=Pz(A)|0;i=r[130894+c>>0]|0;if(e>>>0<=(i&255)>>>0){i=s;u=72;break}else o=s}}else{i=s;u=72}}}while(0);if((u|0)==72)if(e>>>0>(a[130894+c>>0]|0)>>>0){do{t=n[w>>2]|0;if(t>>>0<(n[k>>2]|0)>>>0){n[w>>2]=t+1;t=a[t>>0]|0}else t=Pz(A)|0}while(e>>>0>(a[130894+t>>0]|0)>>>0);n[(UN()|0)>>2]=34;c=(f&1|0)==0&0==0?B:0;e=l;t=f}else{c=B;e=i}if(n[k>>2]|0)n[w>>2]=(n[w>>2]|0)+-1;if(!(e>>>0<l>>>0|(e|0)==(l|0)&t>>>0<f>>>0)){if(!((f&1|0)!=0|0!=0|(c|0)!=0)){n[(UN()|0)>>2]=34;f=BH(f|0,l|0,-1,-1)|0;l=E;break}if(e>>>0>l>>>0|(e|0)==(l|0)&t>>>0>f>>>0){n[(UN()|0)>>2]=34;break}}f=((c|0)<0)<<31>>31;f=kH(t^c|0,e^f|0,c|0,f|0)|0;l=E}}while(0);E=l;return f|0}function Pz(A){A=A|0;var e=0,i=0,f=0,l=0,t=0,c=0;i=A+104|0;l=n[i>>2]|0;if((l|0)!=0?(n[A+108>>2]|0)>=(l|0):0)t=4;else{e=Hz(A)|0;if((e|0)>=0){f=n[i>>2]|0;i=A+8|0;if(f){c=n[i>>2]|0;l=n[A+4>>2]|0;i=f-(n[A+108>>2]|0)|0;f=c;if((c-l|0)<(i|0))i=f;else i=l+(i+-1)|0}else{f=n[i>>2]|0;i=f}n[A+100>>2]=i;i=A+4|0;if(!f)i=n[i>>2]|0;else{i=n[i>>2]|0;c=A+108|0;n[c>>2]=f+1-i+(n[c>>2]|0)}i=i+-1|0;if((e|0)!=(a[i>>0]|0|0))r[i>>0]=e}else t=4}if((t|0)==4){n[A+100>>2]=0;e=-1}return e|0}function Hz(A){A=A|0;var e=0,i=0;i=v;v=v+16|0;e=i;if((Fz(A)|0)==0?(kF[n[A+32>>2]&31](A,e,1)|0)==1:0)A=a[e>>0]|0;else A=-1;v=i;return A|0}function Fz(A){A=A|0;var e=0,i=0;e=A+74|0;i=r[e>>0]|0;r[e>>0]=i+255|i;e=A+20|0;i=A+28|0;if((n[e>>2]|0)>>>0>(n[i>>2]|0)>>>0)kF[n[A+36>>2]&31](A,0,0)|0;n[A+16>>2]=0;n[i>>2]=0;n[e>>2]=0;e=n[A>>2]|0;if(!(e&4)){i=(n[A+44>>2]|0)+(n[A+48>>2]|0)|0;n[A+8>>2]=i;n[A+4>>2]=i;e=e<<27>>31}else{n[A>>2]=e|32;e=-1}return e|0}function Lz(A){A=A|0;return(A+-48|0)>>>0<10|0}function Dz(A){A=A|0;return((A+-48|0)>>>0<10|(Xz(A)|0)!=0)&1|0}function Xz(A){A=A|0;return((A|32)+-97|0)>>>0<26|0}function Tz(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;i=r[A>>0]|0;A:do{if(!(i<<24>>24))i=0;else{n=i&255;while(1){f=r[e>>0]|0;if(!(f<<24>>24))break A;if(i<<24>>24!=f<<24>>24?(n=xz(n)|0,(n|0)!=(xz(f&255)|0)):0)break A;A=A+1|0;e=e+1|0;i=r[A>>0]|0;if(!(i<<24>>24)){i=0;break}else n=i&255}}}while(0);n=xz(i&255)|0;return n-(xz(a[e>>0]|0)|0)|0}function xz(A){A=A|0;var e=0;e=(Uz(A)|0)==0;return(e?A:A|32)|0}function Uz(A){A=A|0;return(A+-65|0)>>>0<26|0}function jz(A){A=A|0;return Sz(A,0)|0}function Sz(A,e){A=A|0;e=e|0;var i=0,n=0,t=0,c=0,s=0,b=0,o=0;s=(e<<1)+-1|0;b=e+-1|0;A:do{if(!((A+-43008|0)>>>0<22272|((A+-11776|0)>>>0<30784|((A+-1536|0)>>>0<2560|(Oz(A)|0)==0)))){i=(e|0)!=0;if(i&(A+-4256|0)>>>0<46){if((A|0)>4293)switch(A|0){case 4295:case 4301:break;default:break A}A=A+7264|0;break}if((A+-11520|0)>>>0<38&(i^1)){A=A+-7264|0;break}else i=0;do{t=r[59170+(i<<2)+2>>0]|0;c=t<<24>>24;n=A-(l[59170+(i<<2)>>1]|0)|0;if((n-(b&c)|0)>>>0<(a[59170+(i<<2)+3>>0]|0)>>>0){o=11;break}i=i+1|0}while((i|0)!=61);if((o|0)==11)if(t<<24>>24==1){A=e+A-(n&1)|0;break}else{A=(X(s,c)|0)+A|0;break}t=1-e|0;i=f[58682+(t<<1)>>1]|0;e:do{if(i<<16>>16){n=0;while(1){if((i&65535|0)==(A|0))break;n=n+1|0;i=f[58682+(n<<2)+(t<<1)>>1]|0;if(!(i<<16>>16))break e}A=l[58682+(n<<2)+(e<<1)>>1]|0;break A}}while(0);return((A+-66600+(e*40|0)|0)>>>0<40?A+-40+(e*80|0)|0:A)|0}}while(0);return A|0}function Oz(A){A=A|0;if(A>>>0<131072)A=(a[131159+((a[131159+(A>>>8)>>0]|0)<<5|A>>>3&31)>>0]|0)>>>(A&7)&1;else A=A>>>0<196606&1;return A|0}function Kz(A){A=A|0;var e=0;e=A;while(1)if(!(n[e>>2]|0))break;else e=e+4|0;return e-A>>2|0}function _z(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;if(!i)A=0;else{f=r[A>>0]|0;A:do{if(!(f<<24>>24))A=0;else{l=A;A=f;f=f&255;while(1){i=i+-1|0;n=r[e>>0]|0;if(!((i|0)!=0&n<<24>>24!=0))break A;if(A<<24>>24!=n<<24>>24?(f=xz(f)|0,(f|0)!=(xz(n&255)|0)):0)break A;l=l+1|0;e=e+1|0;f=r[l>>0]|0;if(!(f<<24>>24)){A=0;break}else{A=f;f=f&255}}}}while(0);A=xz(A&255)|0;A=A-(xz(a[e>>0]|0)|0)|0}return A|0}function qz(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 $z(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0;s=v;v=v+16|0;a=s;t=(f|0)==0?170760:f;f=n[t>>2]|0;A:do{if(!e)if(!f)f=0;else c=17;else{l=(A|0)==0?a:A;if(!i)f=-2;else{if(!f){f=r[e>>0]|0;if(f<<24>>24>-1){n[l>>2]=f&255;f=f<<24>>24!=0&1;break}a=(n[n[(rp()|0)+188>>2]>>2]|0)==0;f=r[e>>0]|0;if(a){n[l>>2]=f<<24>>24&57343;f=1;break}f=(f&255)+-194|0;if(f>>>0>50){c=17;break}f=n[55208+(f<<2)>>2]|0;a=i+-1|0;if(a){e=e+1|0;c=11}}else{a=i;c=11}e:do{if((c|0)==11){A=r[e>>0]|0;b=(A&255)>>>3;if((b+-16|b+(f>>26))>>>0>7){c=17;break A}while(1){e=e+1|0;f=(A&255)+-128|f<<6;a=a+-1|0;if((f|0)>=0)break;if(!a)break e;A=r[e>>0]|0;if((A&-64)<<24>>24!=-128){c=17;break A}}n[t>>2]=0;n[l>>2]=f;f=i-a|0;break A}}while(0);n[t>>2]=f;f=-2}}}while(0);if((c|0)==17){n[t>>2]=0;n[(UN()|0)>>2]=84;f=-1}v=s;return f|0}function Ap(A,e){A=A|0;e=e|0;if(!A)A=0;else A=ep(A,e,0)|0;return A|0}function ep(A,e,i){A=A|0;e=e|0;i=i|0;do{if(A){if(e>>>0<128){r[A>>0]=e;A=1;break}if(!(n[n[(ip()|0)+188>>2]>>2]|0))if((e&-128|0)==57216){r[A>>0]=e;A=1;break}else{n[(UN()|0)>>2]=84;A=-1;break}if(e>>>0<2048){r[A>>0]=e>>>6|192;r[A+1>>0]=e&63|128;A=2;break}if(e>>>0<55296|(e&-8192|0)==57344){r[A>>0]=e>>>12|224;r[A+1>>0]=e>>>6&63|128;r[A+2>>0]=e&63|128;A=3;break}if((e+-65536|0)>>>0<1048576){r[A>>0]=e>>>18|240;r[A+1>>0]=e>>>12&63|128;r[A+2>>0]=e>>>6&63|128;r[A+3>>0]=e&63|128;A=4;break}else{n[(UN()|0)>>2]=84;A=-1;break}}else A=1}while(0);return A|0}function ip(){return cz()|0}function rp(){return cz()|0}function fp(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0;B=v;v=v+272|0;o=B+8|0;u=B;do{if(!(r[e>>0]|0)){e=DA(134135)|0;if(e|0?r[e>>0]|0:0)break;e=DA(134142+(A*12|0)|0)|0;if(e|0?r[e>>0]|0:0)break;e=DA(134214)|0;if(e|0?r[e>>0]|0:0)break;e=134219}}while(0);i=0;A:do{switch(r[e+i>>0]|0){case 47:case 0:break A;default:{}}i=i+1|0}while(i>>>0<15);f=r[e>>0]|0;if(f<<24>>24!=46?(r[e+i>>0]|0)==0:0)if(f<<24>>24==67)b=15;else{s=e;b=16}else{e=134219;b=15}if((b|0)==15)if(!(r[e+1>>0]|0))b=18;else{s=e;b=16}A:do{if((b|0)==16)if((az(s,134219)|0)!=0?(az(s,134227)|0)!=0:0){e=n[42691]|0;if(e|0)do{if(!(az(s,e+8|0)|0))break A;e=n[e+24>>2]|0}while((e|0)!=0);dA(170768);e=n[42691]|0;e:do{if(e|0){while(1){if(!(az(s,e+8|0)|0))break;e=n[e+24>>2]|0;if(!e)break e}NA(170768);break A}}while(0);e:do{if(((n[42676]|0)==0?(a=DA(134233)|0,(a|0)!=0):0)?(r[a>>0]|0)!=0:0){t=254-i|0;c=i+1|0;f=a;while(1){l=$N(f,58)|0;e=r[l>>0]|0;a=l-f+((e<<24>>24!=0)<<31>>31)|0;if(a>>>0<t>>>0){QH(o|0,f|0,a|0)|0;f=o+a|0;r[f>>0]=47;QH(f+1|0,s|0,i|0)|0;r[o+(c+a)>>0]=0;f=hA(o|0,u|0)|0;if(f|0)break;e=r[l>>0]|0}f=l+(e<<24>>24!=0&1)|0;if(!(r[f>>0]|0)){b=41;break e}}e=NN(28)|0;if(!e){KN(f,n[u>>2]|0)|0;b=41;break}else{n[e>>2]=f;n[e+4>>2]=n[u>>2];u=e+8|0;QH(u|0,s|0,i|0)|0;r[u+i>>0]=0;n[e+24>>2]=n[42691];n[42691]=e;break}}else b=41}while(0);if((b|0)==41){e=NN(28)|0;if(e){n[e>>2]=n[13790];n[e+4>>2]=n[13791];u=e+8|0;QH(u|0,s|0,i|0)|0;r[u+i>>0]=0;n[e+24>>2]=n[42691];n[42691]=e}}NA(170768);e=(A|0)==0&(e|0)==0?55160:e}else{e=s;b=18}}while(0);do{if((b|0)==18){if((A|0)==0?(r[e+1>>0]|0)==46:0){e=55160;break}e=0}}while(0);v=B;return e|0}function np(A,e){A=A|0;e=e|0;ap(A,e)|0;return A|0}function ap(A,e){A=A|0;e=e|0;var i=0,f=0;i=e;A:do{if(!((i^A)&3)){if(i&3)do{i=r[e>>0]|0;r[A>>0]=i;if(!(i<<24>>24))break A;e=e+1|0;A=A+1|0}while((e&3|0)!=0);i=n[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){f=A;while(1){e=e+4|0;A=f+4|0;n[f>>2]=i;i=n[e>>2]|0;if((i&-2139062144^-2139062144)&i+-16843009|0)break;else f=A}}f=8}else f=8}while(0);if((f|0)==8){f=r[e>>0]|0;r[A>>0]=f;if(f<<24>>24)do{e=e+1|0;A=A+1|0;f=r[e>>0]|0;r[A>>0]=f}while(f<<24>>24!=0)}return A|0}function lp(A){A=A|0;return((A|0)==32|(A|0)==9)&1|0}function tp(A){A=A|0;if(!A)A=0;else A=(cp(56324,A)|0)!=0&1;return A|0}function cp(A,e){A=A|0;e=e|0;var i=0;if(!e)A=A+((Kz(A)|0)<<2)|0;else{while(1){i=n[A>>2]|0;if((i|0)==0|(i|0)==(e|0))break;else A=A+4|0}A=i|0?A:0}return A|0}function sp(A,e){A=A|0;e=e|0;do{switch(e|0){case 1:{A=bp(A)|0;break}case 2:{A=Oz(A)|0;break}case 3:{A=op(A)|0;break}case 4:{A=up(A)|0;break}case 5:{A=Lz(A)|0;break}case 6:{A=vp(A)|0;break}case 7:{A=Bp(A)|0;break}case 8:{A=qz(A)|0;break}case 9:{A=yz(A)|0;break}case 10:{A=tp(A)|0;break}case 11:{A=kp(A)|0;break}case 12:{A=wp(A)|0;break}default:A=0}}while(0);return A|0}function bp(A){A=A|0;if(!(Lz(A)|0))A=(Oz(A)|0)!=0&1;else A=1;return A|0}function op(A){A=A|0;return lp(A)|0}function up(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 vp(A){A=A|0;if(!(tp(A)|0))A=(qz(A)|0)!=0&1;else A=0;return A|0}function Bp(A){A=A|0;return(jz(A)|0)!=(A|0)|0}function kp(A){A=A|0;return(dp(A)|0)!=(A|0)|0}function wp(A){A=A|0;return((A+-48|0)>>>0<10|((A|32)+-97|0)>>>0<6)&1|0}function dp(A){A=A|0;return Sz(A,1)|0}function hp(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0;o=v;v=v+128|0;a=o+124|0;b=o;l=b;t=56412;c=l+124|0;do{n[l>>2]=n[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));if((e+-1|0)>>>0>2147483646)if(!e){A=a;e=1;s=4}else{n[(UN()|0)>>2]=75;e=-1}else s=4;if((s|0)==4){s=-2-A|0;s=e>>>0>s>>>0?s:e;n[b+48>>2]=s;a=b+20|0;n[a>>2]=A;n[b+44>>2]=A;e=A+s|0;A=b+16|0;n[A>>2]=e;n[b+28>>2]=e;e=gp(b,i,f)|0;if(s){b=n[a>>2]|0;r[b+(((b|0)==(n[A>>2]|0))<<31>>31)>>0]=0}}v=o;return e|0}function gp(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0;d=v;v=v+224|0;o=d+120|0;B=d+80|0;k=d;w=d+136|0;f=B;a=f+40|0;do{n[f>>2]=0;f=f+4|0}while((f|0)<(a|0));n[o>>2]=n[i>>2];if((Zp(0,e,o,k,B)|0)<0)i=-1;else{if((n[A+76>>2]|0)>-1)u=Gp(A)|0;else u=0;i=n[A>>2]|0;b=i&32;if((r[A+74>>0]|0)<1)n[A>>2]=i&-33;f=A+48|0;if(!(n[f>>2]|0)){a=A+44|0;l=n[a>>2]|0;n[a>>2]=w;t=A+28|0;n[t>>2]=w;c=A+20|0;n[c>>2]=w;n[f>>2]=80;s=A+16|0;n[s>>2]=w+80;i=Zp(A,e,o,k,B)|0;if(l){kF[n[A+36>>2]&31](A,0,0)|0;i=(n[c>>2]|0)==0?-1:i;n[a>>2]=l;n[f>>2]=0;n[s>>2]=0;n[t>>2]=0;n[c>>2]=0}}else i=Zp(A,e,o,k,B)|0;f=n[A>>2]|0;n[A>>2]=f|b;if(u|0)mp(A);i=(f&32|0)==0?i:-1}v=d;return i|0}function Zp(A,e,i,a,l){A=A|0;e=e|0;i=i|0;a=a|0;l=l|0;var t=0,c=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,y=0,Y=0,V=0,W=0,J=0;J=v;v=v+64|0;y=J+16|0;Y=J;M=J+24|0;V=J+8|0;W=J+20|0;n[y>>2]=e;m=(A|0)!=0;I=M+40|0;C=I;M=M+39|0;Q=V+4|0;c=0;t=0;B=0;A:while(1){do{if((t|0)>-1)if((c|0)>(2147483647-t|0)){n[(UN()|0)>>2]=75;t=-1;break}else{t=c+t|0;break}}while(0);c=r[e>>0]|0;if(!(c<<24>>24)){G=86;break}else b=e;e:while(1){switch(c<<24>>24){case 37:{c=b;G=9;break e}case 0:{c=b;break e}default:{}}Z=b+1|0;n[y>>2]=Z;c=r[Z>>0]|0;b=Z}e:do{if((G|0)==9)while(1){G=0;if((r[b+1>>0]|0)!=37)break e;c=c+1|0;b=b+2|0;n[y>>2]=b;if((r[b>>0]|0)==37)G=9;else break}}while(0);c=c-e|0;if(m)Ip(A,e,c);if(c|0){e=b;continue}o=b+1|0;c=(r[o>>0]|0)+-48|0;if(c>>>0<10){Z=(r[b+2>>0]|0)==36;h=Z?c:-1;B=Z?1:B;o=Z?b+3|0:o}else h=-1;n[y>>2]=o;c=r[o>>0]|0;Z=(c<<24>>24)+-32|0;if(Z>>>0>31|(1<<Z&75913|0)==0)b=0;else{b=0;do{b=1<<(c<<24>>24)+-32|b;o=o+1|0;n[y>>2]=o;c=r[o>>0]|0;Z=(c<<24>>24)+-32|0}while(!(Z>>>0>31|(1<<Z&75913|0)==0))}if(c<<24>>24==42){u=o+1|0;c=(r[u>>0]|0)+-48|0;if(c>>>0<10?(r[o+2>>0]|0)==36:0){n[l+(c<<2)>>2]=10;c=n[a+((r[u>>0]|0)+-48<<3)>>2]|0;B=1;o=o+3|0}else{if(B|0){t=-1;break}if(m){B=(n[i>>2]|0)+(4-1)&~(4-1);c=n[B>>2]|0;n[i>>2]=B+4;B=0;o=u}else{c=0;B=0;o=u}}n[y>>2]=o;g=(c|0)<0;c=g?0-c|0:c;g=g?b|8192:b}else{c=Cp(y)|0;if((c|0)<0){t=-1;break}g=b;o=n[y>>2]|0}do{if((r[o>>0]|0)==46){if((r[o+1>>0]|0)!=42){n[y>>2]=o+1;b=Cp(y)|0;o=n[y>>2]|0;break}u=o+2|0;b=(r[u>>0]|0)+-48|0;if(b>>>0<10?(r[o+3>>0]|0)==36:0){n[l+(b<<2)>>2]=10;b=n[a+((r[u>>0]|0)+-48<<3)>>2]|0;o=o+4|0;n[y>>2]=o;break}if(B|0){t=-1;break A}if(m){Z=(n[i>>2]|0)+(4-1)&~(4-1);b=n[Z>>2]|0;n[i>>2]=Z+4}else b=0;n[y>>2]=u;o=u}else b=-1}while(0);d=0;while(1){if(((r[o>>0]|0)+-65|0)>>>0>57){t=-1;break A}Z=o+1|0;n[y>>2]=Z;u=r[(r[o>>0]|0)+-65+(134246+(d*58|0))>>0]|0;k=u&255;if((k+-1|0)>>>0<8){d=k;o=Z}else break}if(!(u<<24>>24)){t=-1;break}w=(h|0)>-1;do{if(u<<24>>24==19)if(w){t=-1;break A}else G=48;else{if(w){n[l+(h<<2)>>2]=k;w=a+(h<<3)|0;h=n[w+4>>2]|0;G=Y;n[G>>2]=n[w>>2];n[G+4>>2]=h;G=48;break}if(!m){t=0;break A}Mp(Y,k,i)}}while(0);if((G|0)==48?(G=0,!m):0){c=0;e=Z;continue}o=r[o>>0]|0;o=(d|0)!=0&(o&15|0)==3?o&-33:o;h=g&-65537;g=(g&8192|0)==0?g:h;e:do{switch(o|0){case 110:switch((d&255)<<24>>24){case 0:{n[n[Y>>2]>>2]=t;c=0;e=Z;continue A}case 1:{n[n[Y>>2]>>2]=t;c=0;e=Z;continue A}case 2:{c=n[Y>>2]|0;n[c>>2]=t;n[c+4>>2]=((t|0)<0)<<31>>31;c=0;e=Z;continue A}case 3:{f[n[Y>>2]>>1]=t;c=0;e=Z;continue A}case 4:{r[n[Y>>2]>>0]=t;c=0;e=Z;continue A}case 6:{n[n[Y>>2]>>2]=t;c=0;e=Z;continue A}case 7:{c=n[Y>>2]|0;n[c>>2]=t;n[c+4>>2]=((t|0)<0)<<31>>31;c=0;e=Z;continue A}default:{c=0;e=Z;continue A}}case 112:{o=120;b=b>>>0>8?b:8;e=g|8;G=60;break}case 88:case 120:{e=g;G=60;break}case 111:{o=Y;e=n[o>>2]|0;o=n[o+4>>2]|0;w=Ep(e,o,I)|0;d=C-w|0;u=0;k=134710;b=(g&8|0)==0|(b|0)>(d|0)?b:d+1|0;d=g;G=66;break}case 105:case 100:{o=Y;e=n[o>>2]|0;o=n[o+4>>2]|0;if((o|0)<0){e=kH(0,0,e|0,o|0)|0;o=E;u=Y;n[u>>2]=e;n[u+4>>2]=o;u=1;k=134710;G=65;break e}else{u=(g&2049|0)!=0&1;k=(g&2048|0)==0?(g&1|0)==0?134710:134712:134711;G=65;break e}}case 117:{o=Y;u=0;k=134710;e=n[o>>2]|0;o=n[o+4>>2]|0;G=65;break}case 99:{r[M>>0]=n[Y>>2];e=M;u=0;k=134710;w=I;o=1;b=h;break}case 109:{o=lz(n[(UN()|0)>>2]|0)|0;G=70;break}case 115:{o=n[Y>>2]|0;o=o|0?o:134720;G=70;break}case 67:{n[V>>2]=n[Y>>2];n[Q>>2]=0;n[Y>>2]=V;w=-1;o=V;G=74;break}case 83:{e=n[Y>>2]|0;if(!b){Yp(A,32,c,0,g);e=0;G=83}else{w=b;o=e;G=74}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{c=Vp(A,+s[Y>>3],c,b,g,o)|0;e=Z;continue A}default:{u=0;k=134710;w=I;o=b;b=g}}}while(0);e:do{if((G|0)==60){g=Y;h=n[g>>2]|0;g=n[g+4>>2]|0;w=Qp(h,g,I,o&32)|0;k=(e&8|0)==0|(h|0)==0&(g|0)==0;u=k?0:2;k=k?134710:134710+(o>>4)|0;d=e;e=h;o=g;G=66}else if((G|0)==65){w=yp(e,o,I)|0;d=g;G=66}else if((G|0)==70){G=0;g=Nz(o,0,b)|0;d=(g|0)==0;e=o;u=0;k=134710;w=d?o+b|0:g;o=d?b:g-o|0;b=h}else if((G|0)==74){G=0;k=o;e=0;b=0;while(1){u=n[k>>2]|0;if(!u)break;b=Ap(W,u)|0;if((b|0)<0|b>>>0>(w-e|0)>>>0)break;e=b+e|0;if(w>>>0>e>>>0)k=k+4|0;else break}if((b|0)<0){t=-1;break A}Yp(A,32,c,e,g);if(!e){e=0;G=83}else{u=0;while(1){b=n[o>>2]|0;if(!b){G=83;break e}b=Ap(W,b)|0;u=b+u|0;if((u|0)>(e|0)){G=83;break e}Ip(A,W,b);if(u>>>0>=e>>>0){G=83;break}else o=o+4|0}}}}while(0);if((G|0)==66){G=0;o=(e|0)!=0|(o|0)!=0;g=(b|0)!=0|o;o=C-w+((o^1)&1)|0;e=g?w:I;w=I;o=g?(b|0)>(o|0)?b:o:b;b=(b|0)>-1?d&-65537:d}else if((G|0)==83){G=0;Yp(A,32,c,e,g^8192);c=(c|0)>(e|0)?c:e;e=Z;continue}h=w-e|0;d=(o|0)<(h|0)?h:o;g=d+u|0;c=(c|0)<(g|0)?g:c;Yp(A,32,c,g,b);Ip(A,k,u);Yp(A,48,c,g,b^65536);Yp(A,48,d,h,0);Ip(A,e,h);Yp(A,32,c,g,b^8192);e=Z}A:do{if((G|0)==86)if(!A)if(B){t=1;while(1){e=n[l+(t<<2)>>2]|0;if(!e)break;Mp(a+(t<<3)|0,e,i);e=t+1|0;if((t|0)<9)t=e;else{t=e;break}}if((t|0)<10)while(1){if(n[l+(t<<2)>>2]|0){t=-1;break A}if((t|0)<9)t=t+1|0;else{t=1;break}}else t=1}else t=0}while(0);v=J;return t|0}function Gp(A){A=A|0;return 0}function mp(A){A=A|0;return}function Ip(A,e,i){A=A|0;e=e|0;i=i|0;if(!(n[A>>2]&32))Jp(e,i,A)|0;return}function Cp(A){A=A|0;var e=0,i=0,f=0;i=n[A>>2]|0;f=(r[i>>0]|0)+-48|0;if(f>>>0<10){e=0;do{e=f+(e*10|0)|0;i=i+1|0;n[A>>2]=i;f=(r[i>>0]|0)+-48|0}while(f>>>0<10)}else e=0;return e|0}function Mp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0.0;A:do{if(e>>>0<=20)do{switch(e|0){case 9:{r=(n[i>>2]|0)+(4-1)&~(4-1);e=n[r>>2]|0;n[i>>2]=r+4;n[A>>2]=e;break A}case 10:{r=(n[i>>2]|0)+(4-1)&~(4-1);e=n[r>>2]|0;n[i>>2]=r+4;r=A;n[r>>2]=e;n[r+4>>2]=((e|0)<0)<<31>>31;break A}case 11:{r=(n[i>>2]|0)+(4-1)&~(4-1);e=n[r>>2]|0;n[i>>2]=r+4;r=A;n[r>>2]=e;n[r+4>>2]=0;break A}case 12:{r=(n[i>>2]|0)+(8-1)&~(8-1);e=r;f=n[e>>2]|0;e=n[e+4>>2]|0;n[i>>2]=r+8;r=A;n[r>>2]=f;n[r+4>>2]=e;break A}case 13:{f=(n[i>>2]|0)+(4-1)&~(4-1);r=n[f>>2]|0;n[i>>2]=f+4;r=(r&65535)<<16>>16;f=A;n[f>>2]=r;n[f+4>>2]=((r|0)<0)<<31>>31;break A}case 14:{f=(n[i>>2]|0)+(4-1)&~(4-1);r=n[f>>2]|0;n[i>>2]=f+4;f=A;n[f>>2]=r&65535;n[f+4>>2]=0;break A}case 15:{f=(n[i>>2]|0)+(4-1)&~(4-1);r=n[f>>2]|0;n[i>>2]=f+4;r=(r&255)<<24>>24;f=A;n[f>>2]=r;n[f+4>>2]=((r|0)<0)<<31>>31;break A}case 16:{f=(n[i>>2]|0)+(4-1)&~(4-1);r=n[f>>2]|0;n[i>>2]=f+4;f=A;n[f>>2]=r&255;n[f+4>>2]=0;break A}case 17:{f=(n[i>>2]|0)+(8-1)&~(8-1);a=+s[f>>3];n[i>>2]=f+8;s[A>>3]=a;break A}case 18:{f=(n[i>>2]|0)+(8-1)&~(8-1);a=+s[f>>3];n[i>>2]=f+8;s[A>>3]=a;break A}default:break A}}while(0)}while(0);return}function Qp(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;if(!((A|0)==0&(e|0)==0))do{i=i+-1|0;r[i>>0]=a[134758+(A&15)>>0]|0|f;A=ZH(A|0,e|0,4)|0;e=E}while(!((A|0)==0&(e|0)==0));return i|0}function Ep(A,e,i){A=A|0;e=e|0;i=i|0;if(!((A|0)==0&(e|0)==0))do{i=i+-1|0;r[i>>0]=A&7|48;A=ZH(A|0,e|0,3)|0;e=E}while(!((A|0)==0&(e|0)==0));return i|0}function yp(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(e>>>0>0|(e|0)==0&A>>>0>4294967295){while(1){f=gH(A|0,e|0,10,0)|0;i=i+-1|0;r[i>>0]=f&255|48;f=A;A=hH(A|0,e|0,10,0)|0;if(!(e>>>0>9|(e|0)==9&f>>>0>4294967295))break;else e=E}e=A}else e=A;if(e)while(1){i=i+-1|0;r[i>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return i|0}function Yp(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0;a=v;v=v+256|0;n=a;if((i|0)>(r|0)&(f&73728|0)==0){f=i-r|0;yH(n|0,e|0,(f>>>0<256?f:256)|0)|0;if(f>>>0>255){e=i-r|0;do{Ip(A,n,256);f=f+-256|0}while(f>>>0>255);f=e&255}Ip(A,n,f)}v=a;return}function Vp(A,e,i,f,l,t){A=A|0;e=+e;i=i|0;f=f|0;l=l|0;t=t|0;var c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0.0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,y=0,Y=0,V=0,W=0,J=0;J=v;v=v+560|0;b=J+8|0;g=J;W=J+524|0;V=W;o=J+512|0;n[g>>2]=0;Y=o+12|0;Wp(e)|0;if((E|0)<0){e=-e;Q=1;M=134727}else{Q=(l&2049|0)!=0&1;M=(l&2048|0)==0?(l&1|0)==0?134728:134733:134730}Wp(e)|0;do{if(0==0&(E&2146435072|0)==2146435072){W=(t&32|0)!=0;c=Q+3|0;Yp(A,32,i,c,l&-65537);Ip(A,M,Q);Ip(A,e!=e|0.0!=0.0?W?134895:134754:W?134746:134750,3);Yp(A,32,i,c,l^8192)}else{w=+Ez(e,g)*2.0;c=w!=0.0;if(c)n[g>>2]=(n[g>>2]|0)+-1;G=t|32;if((G|0)==97){B=t&32;d=(B|0)==0?M:M+9|0;k=Q|2;c=12-f|0;do{if(!(f>>>0>11|(c|0)==0)){e=8.0;do{c=c+-1|0;e=e*16.0}while((c|0)!=0);if((r[d>>0]|0)==45){e=-(e+(-w-e));break}else{e=w+e-e;break}}else e=w}while(0);s=n[g>>2]|0;c=(s|0)<0?0-s|0:s;c=yp(c,((c|0)<0)<<31>>31,Y)|0;if((c|0)==(Y|0)){c=o+11|0;r[c>>0]=48}r[c+-1>>0]=(s>>31&2)+43;u=c+-2|0;r[u>>0]=t+15;b=(f|0)<1;o=(l&8|0)==0;c=W;do{y=~~e;s=c+1|0;r[c>>0]=B|a[134758+y>>0];e=(e-+(y|0))*16.0;if((s-V|0)==1?!(o&(b&e==0.0)):0){r[s>>0]=46;c=c+2|0}else c=s}while(e!=0.0);if((f|0)!=0?(-2-V+c|0)<(f|0):0){s=c-V|0;c=f+2|0}else{c=c-V|0;s=c}Y=Y-u|0;V=Y+k+c|0;Yp(A,32,i,V,l);Ip(A,d,k);Yp(A,48,i,V,l^65536);Ip(A,W,s);Yp(A,48,c-s|0,0,0);Ip(A,u,Y);Yp(A,32,i,V,l^8192);c=V;break}s=(f|0)<0?6:f;if(c){c=(n[g>>2]|0)+-28|0;n[g>>2]=c;e=w*268435456.0}else{e=w;c=n[g>>2]|0}y=(c|0)<0?b:b+288|0;b=y;do{I=~~e>>>0;n[b>>2]=I;b=b+4|0;e=(e-+(I>>>0))*1.0e9}while(e!=0.0);if((c|0)>0){o=y;B=b;while(1){u=(c|0)<29?c:29;c=B+-4|0;if(c>>>0>=o>>>0){b=0;do{m=GH(n[c>>2]|0,0,u|0)|0;m=BH(m|0,E|0,b|0,0)|0;I=E;Z=gH(m|0,I|0,1e9,0)|0;n[c>>2]=Z;b=hH(m|0,I|0,1e9,0)|0;c=c+-4|0}while(c>>>0>=o>>>0);if(b){o=o+-4|0;n[o>>2]=b}}b=B;while(1){if(b>>>0<=o>>>0)break;c=b+-4|0;if(!(n[c>>2]|0))b=c;else break}c=(n[g>>2]|0)-u|0;n[g>>2]=c;if((c|0)>0)B=b;else break}}else o=y;if((c|0)<0){f=((s+25|0)/9|0)+1|0;h=(G|0)==102;do{d=0-c|0;d=(d|0)<9?d:9;if(o>>>0<b>>>0){u=(1<<d)+-1|0;B=1e9>>>d;k=0;c=o;do{I=n[c>>2]|0;n[c>>2]=(I>>>d)+k;k=X(I&u,B)|0;c=c+4|0}while(c>>>0<b>>>0);c=(n[o>>2]|0)==0?o+4|0:o;if(!k){o=c;c=b}else{n[b>>2]=k;o=c;c=b+4|0}}else{o=(n[o>>2]|0)==0?o+4|0:o;c=b}b=h?y:o;b=(c-b>>2|0)>(f|0)?b+(f<<2)|0:c;c=(n[g>>2]|0)+d|0;n[g>>2]=c}while((c|0)<0);c=o;f=b}else{c=o;f=b}I=y;if(c>>>0<f>>>0){b=(I-c>>2)*9|0;u=n[c>>2]|0;if(u>>>0>=10){o=10;do{o=o*10|0;b=b+1|0}while(u>>>0>=o>>>0)}}else b=0;h=(G|0)==103;Z=(s|0)!=0;o=s-((G|0)!=102?b:0)+((Z&h)<<31>>31)|0;if((o|0)<(((f-I>>2)*9|0)+-9|0)){o=o+9216|0;d=y+4+(((o|0)/9|0)+-1024<<2)|0;o=(o|0)%9|0;if((o|0)<8){u=10;while(1){u=u*10|0;if((o|0)<7)o=o+1|0;else break}}else u=10;B=n[d>>2]|0;k=(B>>>0)%(u>>>0)|0;o=(d+4|0)==(f|0);if(!(o&(k|0)==0)){w=(((B>>>0)/(u>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;m=(u|0)/2|0;e=k>>>0<m>>>0?.5:o&(k|0)==(m|0)?1.0:1.5;if(Q){m=(r[M>>0]|0)==45;e=m?-e:e;w=m?-w:w}o=B-k|0;n[d>>2]=o;if(w+e!=w){m=o+u|0;n[d>>2]=m;if(m>>>0>999999999){b=d;while(1){o=b+-4|0;n[b>>2]=0;if(o>>>0<c>>>0){c=c+-4|0;n[c>>2]=0}m=(n[o>>2]|0)+1|0;n[o>>2]=m;if(m>>>0>999999999)b=o;else break}}else o=d;b=(I-c>>2)*9|0;B=n[c>>2]|0;if(B>>>0>=10){u=10;do{u=u*10|0;b=b+1|0}while(B>>>0>=u>>>0)}}else o=d}else o=d;o=o+4|0;o=f>>>0>o>>>0?o:f;m=c}else{o=f;m=c}G=o;while(1){if(G>>>0<=m>>>0){g=0;break}c=G+-4|0;if(!(n[c>>2]|0))G=c;else{g=1;break}}f=0-b|0;do{if(h){c=s+((Z^1)&1)|0;if((c|0)>(b|0)&(b|0)>-5){u=t+-1|0;s=c+-1-b|0}else{u=t+-2|0;s=c+-1|0}c=l&8;if(!c){if(g?(C=n[G+-4>>2]|0,(C|0)!=0):0)if(!((C>>>0)%10|0)){o=0;c=10;do{c=c*10|0;o=o+1|0}while(!((C>>>0)%(c>>>0)|0|0))}else o=0;else o=9;c=((G-I>>2)*9|0)+-9|0;if((u|32|0)==102){d=c-o|0;d=(d|0)>0?d:0;s=(s|0)<(d|0)?s:d;d=0;break}else{d=c+b-o|0;d=(d|0)>0?d:0;s=(s|0)<(d|0)?s:d;d=0;break}}else d=c}else{u=t;d=l&8}}while(0);h=s|d;B=(h|0)!=0&1;k=(u|32|0)==102;if(k){Z=0;c=(b|0)>0?b:0}else{c=(b|0)<0?f:b;c=yp(c,((c|0)<0)<<31>>31,Y)|0;o=Y;if((o-c|0)<2)do{c=c+-1|0;r[c>>0]=48}while((o-c|0)<2);r[c+-1>>0]=(b>>31&2)+43;c=c+-2|0;r[c>>0]=u;Z=c;c=o-c|0}c=Q+1+s+B+c|0;Yp(A,32,i,c,l);Ip(A,M,Q);Yp(A,48,i,c,l^65536);if(k){u=m>>>0>y>>>0?y:m;d=W+9|0;B=d;k=W+8|0;o=u;do{b=yp(n[o>>2]|0,0,d)|0;if((o|0)==(u|0)){if((b|0)==(d|0)){r[k>>0]=48;b=k}}else if(b>>>0>W>>>0){yH(W|0,48,b-V|0)|0;do{b=b+-1|0}while(b>>>0>W>>>0)}Ip(A,b,B-b|0);o=o+4|0}while(o>>>0<=y>>>0);if(h|0)Ip(A,134774,1);if(o>>>0<G>>>0&(s|0)>0)while(1){b=yp(n[o>>2]|0,0,d)|0;if(b>>>0>W>>>0){yH(W|0,48,b-V|0)|0;do{b=b+-1|0}while(b>>>0>W>>>0)}Ip(A,b,(s|0)<9?s:9);o=o+4|0;b=s+-9|0;if(!(o>>>0<G>>>0&(s|0)>9)){s=b;break}else s=b}Yp(A,48,s+9|0,9,0)}else{h=g?G:m+4|0;if((s|0)>-1){g=W+9|0;d=(d|0)==0;f=g;B=0-V|0;k=W+8|0;u=m;do{b=yp(n[u>>2]|0,0,g)|0;if((b|0)==(g|0)){r[k>>0]=48;b=k}do{if((u|0)==(m|0)){o=b+1|0;Ip(A,b,1);if(d&(s|0)<1){b=o;break}Ip(A,134774,1);b=o}else{if(b>>>0<=W>>>0)break;yH(W|0,48,b+B|0)|0;do{b=b+-1|0}while(b>>>0>W>>>0)}}while(0);V=f-b|0;Ip(A,b,(s|0)>(V|0)?V:s);s=s-V|0;u=u+4|0}while(u>>>0<h>>>0&(s|0)>-1)}Yp(A,48,s+18|0,18,0);Ip(A,Z,Y-Z|0)}Yp(A,32,i,c,l^8192)}}while(0);v=J;return((c|0)<(i|0)?i:c)|0}function Wp(A){A=+A;var e=0;s[o>>3]=A;e=n[o>>2]|0;E=n[o+4>>2]|0;return e|0}function Jp(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0,c=0;f=i+16|0;a=n[f>>2]|0;if(!a)if(!(Np(i)|0)){a=n[f>>2]|0;l=5}else f=0;else l=5;A:do{if((l|0)==5){c=i+20|0;t=n[c>>2]|0;f=t;if((a-t|0)>>>0<e>>>0){f=kF[n[i+36>>2]&31](i,A,e)|0;break}e:do{if((r[i+75>>0]|0)>-1){t=e;while(1){if(!t){l=0;a=A;break e}a=t+-1|0;if((r[A+a>>0]|0)==10)break;else t=a}f=kF[n[i+36>>2]&31](i,A,t)|0;if(f>>>0<t>>>0)break A;l=t;a=A+t|0;e=e-t|0;f=n[c>>2]|0}else{l=0;a=A}}while(0);QH(f|0,a|0,e|0)|0;n[c>>2]=(n[c>>2]|0)+e;f=l+e|0}}while(0);return f|0}function Np(A){A=A|0;var e=0,i=0;e=A+74|0;i=r[e>>0]|0;r[e>>0]=i+255|i;e=n[A>>2]|0;if(!(e&8)){n[A+8>>2]=0;n[A+4>>2]=0;i=n[A+44>>2]|0;n[A+28>>2]=i;n[A+20>>2]=i;n[A+16>>2]=i+(n[A+48>>2]|0);A=0}else{n[A>>2]=e|32;A=-1}return A|0}function zp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=A+20|0;f=n[r>>2]|0;A=(n[A+16>>2]|0)-f|0;A=A>>>0>i>>>0?i:A;QH(f|0,e|0,A|0)|0;n[r>>2]=(n[r>>2]|0)+A;return i|0}function pp(A){A=A|0;var e=0,i=0,f=0,n=0;f=r[A>>0]|0;e=1;i=134776;n=97;while(1){if(f<<24>>24==n<<24>>24?(az(A,i)|0)==0:0)break;i=i+6|0;n=r[i>>0]|0;if(!(n<<24>>24)){e=0;break}else e=e+1|0}return e|0}function Rp(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;do{if(A>>>0>6)e=0;else{dA(170776);if((A|0)!=6){e=Pp(A,e)|0;NA(170776);break}if(!e){e=176250;A=0}else{A=a;i=134849;f=A+16|0;do{r[A>>0]=r[i>>0]|0;A=A+1|0;i=i+1|0}while((A|0)<(f|0));f=0;do{A=$N(e,59)|0;i=A-e|0;if((i|0)<16){QH(a|0,e|0,i|0)|0;r[a+i>>0]=0;e=(r[A>>0]|0)==0?e:A+1|0}Pp(f,a)|0;f=f+1|0}while((f|0)!=6);e=176250;A=0}while(1){f=n[170736+(A<<2)>>2]|0;f=f|0?f+8|0:134865;i=Az(f)|0;QH(e|0,f|0,i|0)|0;f=e+i|0;r[f>>0]=59;A=A+1|0;if((A|0)==6)break;else e=e+(i+1)|0}r[f>>0]=0;NA(170776);e=176250}}while(0);v=l;return e|0}function Pp(A,e){A=A|0;e=e|0;if(!e)A=n[170736+(A<<2)>>2]|0;else{e=fp(A,e)|0;n[170736+(A<<2)>>2]=e;A=e}return(A|0?A+8|0:134865)|0}function Hp(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0;A:do{if(!i)A=0;else{while(1){f=r[A>>0]|0;n=r[e>>0]|0;if(f<<24>>24!=n<<24>>24)break;i=i+-1|0;if(!i){A=0;break A}else{A=A+1|0;e=e+1|0}}A=(f&255)-(n&255)|0}}while(0);return A|0}function Fp(A){A=A|0;return Lp(A)|0}function Lp(A){A=A|0;return mH(A|0)|0}function Dp(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0;if((n[i+76>>2]|0)>-1)o=Gp(i)|0;else o=0;f=e+-1|0;if((e|0)<2){u=i+74|0;b=r[u>>0]|0;r[u>>0]=b+255|b;if(o|0)mp(i);if(!f)r[A>>0]=0;else A=0}else{A:do{if(f){s=i+4|0;b=i+8|0;e=A;while(1){l=n[s>>2]|0;v=l;B=(n[b>>2]|0)-v|0;t=Nz(l,10,B)|0;c=(t|0)==0;t=c?B:1-v+t|0;t=t>>>0<f>>>0?t:f;QH(e|0,l|0,t|0)|0;l=(n[s>>2]|0)+t|0;n[s>>2]=l;e=e+t|0;t=f-t|0;if(!(c&(t|0)!=0)){u=17;break A}if(l>>>0>=(n[b>>2]|0)>>>0){f=Hz(i)|0;if((f|0)<0)break;else c=f}else{n[s>>2]=l+1;c=a[l>>0]|0}f=t+-1|0;l=e+1|0;r[e>>0]=c;if(!((f|0)!=0&(c&255|0)!=10)){e=l;u=17;break A}else e=l}if((e|0)!=(A|0)?(n[i>>2]&16|0)!=0:0)u=17;else A=0}else{e=A;u=17}}while(0);if((u|0)==17)if(!A)A=0;else r[e>>0]=0;if(o)mp(i)}return A|0}function Xp(A,e){A=A|0;e=e|0;var i=0;i=r[e>>0]|0;do{if(i<<24>>24){A=Vz(A,i<<24>>24)|0;if(A){if(r[e+1>>0]|0)if(r[A+1>>0]|0){if(!(r[e+2>>0]|0)){A=Tp(A,e)|0;break}if(r[A+2>>0]|0){if(!(r[e+3>>0]|0)){A=xp(A,e)|0;break}if(r[A+3>>0]|0)if(!(r[e+4>>0]|0)){A=Up(A,e)|0;break}else{A=jp(A,e)|0;break}else A=0}else A=0}else A=0}else A=0}}while(0);return A|0}function Tp(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=(a[e>>0]|0)<<8|(a[e+1>>0]|0);f=a[A>>0]|0;while(1){e=A+1|0;i=r[e>>0]|0;if(!(i<<24>>24))break;f=f<<8&65280|i&255;if((f|0)==(n|0))break;else A=e}return(i<<24>>24?A:0)|0}function xp(A,e){A=A|0;e=e|0;var i=0,f=0;f=(a[e+1>>0]|0)<<16|(a[e>>0]|0)<<24|(a[e+2>>0]|0)<<8;i=A+2|0;e=r[i>>0]|0;A=(a[A+1>>0]|0)<<16|(a[A>>0]|0)<<24|(e&255)<<8;if(!((A|0)==(f|0)|e<<24>>24==0))do{i=i+1|0;e=r[i>>0]|0;A=(A|e&255)<<8}while(!((A|0)==(f|0)|e<<24>>24==0));return(e<<24>>24?i+-2|0:0)|0}function Up(A,e){A=A|0;e=e|0;var i=0,f=0;f=(a[e+1>>0]|0)<<16|(a[e>>0]|0)<<24|(a[e+2>>0]|0)<<8|(a[e+3>>0]|0);e=A+3|0;i=r[e>>0]|0;A=(a[A+1>>0]|0)<<16|(a[A>>0]|0)<<24|(a[A+2>>0]|0)<<8|i&255;if(!(i<<24>>24==0|(A|0)==(f|0)))do{e=e+1|0;i=r[e>>0]|0;A=A<<8|i&255}while(!(i<<24>>24==0|(A|0)==(f|0)));return(i<<24>>24?e+-3|0:0)|0}function jp(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0;Z=v;v=v+1056|0;h=Z+1024|0;g=Z;n[h>>2]=0;n[h+4>>2]=0;n[h+8>>2]=0;n[h+12>>2]=0;n[h+16>>2]=0;n[h+20>>2]=0;n[h+24>>2]=0;n[h+28>>2]=0;i=r[e>>0]|0;A:do{if(i<<24>>24){d=0;do{if(!(r[A+d>>0]|0)){i=0;break A}w=h+(((i&255)>>>5&255)<<2)|0;n[w>>2]=n[w>>2]|1<<(i&31);d=d+1|0;n[g+((i&255)<<2)>>2]=d;i=r[e+d>>0]|0}while(i<<24>>24!=0);b=d>>>0>1;if(b){f=0;s=-1;a=1;e:while(1){l=1;i=f;while(1){f=a;i:while(1){c=1;while(1){a=r[e+(c+s)>>0]|0;t=r[e+f>>0]|0;if(a<<24>>24!=t<<24>>24)break i;if((c|0)==(l|0))break;c=c+1|0;f=c+i|0;if(f>>>0>=d>>>0){o=l;i=s;break e}}i=l+i|0;f=i+1|0;if(f>>>0>=d>>>0){o=l;i=s;break e}}l=f-s|0;if((a&255)<=(t&255))break;a=f+1|0;if(a>>>0>=d>>>0){o=l;i=s;break e}else i=f}a=i+2|0;if(a>>>0>=d>>>0){o=1;break}else{f=i+1|0;s=i}}if(b){l=0;b=-1;t=1;while(1){f=1;a=l;while(1){l=t;e:while(1){s=1;while(1){t=r[e+(s+b)>>0]|0;c=r[e+l>>0]|0;if(t<<24>>24!=c<<24>>24)break e;if((s|0)==(f|0))break;s=s+1|0;l=s+a|0;if(l>>>0>=d>>>0){t=o;a=b;l=26;break A}}a=f+a|0;l=a+1|0;if(l>>>0>=d>>>0){t=o;a=b;l=26;break A}}f=l-b|0;if((t&255)>=(c&255))break;t=l+1|0;if(t>>>0>=d>>>0){t=o;a=b;l=26;break A}else a=l}t=a+2|0;if(t>>>0>=d>>>0){t=o;f=1;l=26;break}else{l=a+1|0;b=a}}}else{t=o;f=1;a=-1;l=26}}else{t=1;i=-1;f=1;a=-1;l=26}}else{t=1;i=-1;d=0;f=1;a=-1;l=26}}while(0);A:do{if((l|0)==26){k=(a+1|0)>>>0>(i+1|0)>>>0;f=k?f:t;k=k?a:i;w=k+1|0;if(!(Hp(e,e+f|0,w)|0))B=d-f|0;else{f=d-k+-1|0;B=0;f=(k>>>0>f>>>0?k:f)+1|0}s=d|63;b=d+-1|0;o=(B|0)!=0;u=d-f|0;i=A;c=0;a=A;while(1){l=i;do{if((a-l|0)>>>0<d>>>0){t=Nz(a,0,s)|0;if(t)if((t-l|0)>>>0<d>>>0){i=0;break A}else break;else{t=a+s|0;break}}else t=a}while(0);a=r[i+b>>0]|0;e:do{if(!(1<<(a&31)&n[h+(((a&255)>>>5&255)<<2)>>2])){l=0;a=d}else{a=d-(n[g+((a&255)<<2)>>2]|0)|0;if(a|0){l=0;a=o&(c|0)!=0&a>>>0<f>>>0?u:a;break}a=w>>>0>c>>>0?w:c;l=r[e+a>>0]|0;i:do{if(!(l<<24>>24))a=w;else{while(1){if(l<<24>>24!=(r[i+a>>0]|0))break;a=a+1|0;l=r[e+a>>0]|0;if(!(l<<24>>24)){a=w;break i}}l=0;a=a-k|0;break e}}while(0);while(1){if(a>>>0<=c>>>0)break A;a=a+-1|0;if((r[e+a>>0]|0)!=(r[i+a>>0]|0)){l=B;a=f;break}}}}while(0);i=i+a|0;c=l;a=t}}}while(0);v=Z;return i|0}function Sp(A,e,i){A=A|0;e=e|0;i=i|0;Op(A,e,i)|0;return A|0}function Op(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0;a=e;A:do{if(!((a^A)&3)){f=(i|0)!=0;if(f&(a&3|0)!=0)do{a=r[e>>0]|0;r[A>>0]=a;if(!(a<<24>>24))break A;i=i+-1|0;e=e+1|0;A=A+1|0;f=(i|0)!=0}while(f&(e&3|0)!=0);if(f){if(r[e>>0]|0){e:do{if(i>>>0>3){f=e;while(1){e=n[f>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0){e=f;break e}n[A>>2]=e;i=i+-4|0;e=f+4|0;A=A+4|0;if(i>>>0>3)f=e;else break}}}while(0);l=11}}else i=0}else l=11}while(0);A:do{if((l|0)==11)if(!i)i=0;else while(1){l=r[e>>0]|0;r[A>>0]=l;if(!(l<<24>>24))break A;i=i+-1|0;A=A+1|0;if(!i){i=0;break}else e=e+1|0}}while(0);yH(A|0,0,i|0)|0;return A|0}function Kp(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0;a=v;v=v+32|0;f=a;n[f>>2]=0;n[f+4>>2]=0;n[f+8>>2]=0;n[f+12>>2]=0;n[f+16>>2]=0;n[f+20>>2]=0;n[f+24>>2]=0;n[f+28>>2]=0;i=r[e>>0]|0;do{if(!(i<<24>>24))e=0;else{if(!(r[e+1>>0]|0)){e=A;while(1)if((r[e>>0]|0)==i<<24>>24)e=e+1|0;else break;e=e-A|0;break}do{l=f+(((i&255)>>>5&255)<<2)|0;n[l>>2]=n[l>>2]|1<<(i&31);e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0);i=r[A>>0]|0;A:do{if(!(i<<24>>24))e=A;else{e=A;do{if(!(n[f+(((i&255)>>>5&255)<<2)>>2]&1<<(i&31)))break A;e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0)}}while(0);e=e-A|0}}while(0);v=a;return e|0}function _p(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=v;v=v+16|0;f=r;n[f>>2]=i;i=qp(A,e,f)|0;v=r;return i|0}function qp(A,e,i){A=A|0;e=e|0;i=i|0;return hp(A,2147483647,e,i)|0}function $p(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;b=v;v=v+208|0;c=b+8|0;s=b;l=X(i,e)|0;t=s;n[t>>2]=1;n[t+4>>2]=0;A:do{if(l|0){t=0-i|0;n[c+4>>2]=i;n[c>>2]=i;f=2;e=i;a=i;while(1){e=e+i+a|0;n[c+(f<<2)>>2]=e;if(e>>>0<l>>>0){o=a;f=f+1|0;a=e;e=o}else break}a=A+l+t|0;if(a>>>0>A>>>0){l=a;f=1;e=1;do{do{if((e&3|0)!=3){e=f+-1|0;if((n[c+(e<<2)>>2]|0)>>>0<(l-A|0)>>>0)AR(A,i,r,f,c);else iR(A,i,r,s,f,0,c);if((f|0)==1){rR(s,1);f=0;break}else{rR(s,e);f=1;break}}else{AR(A,i,r,f,c);eR(s,2);f=f+2|0}}while(0);e=n[s>>2]|1;n[s>>2]=e;A=A+i|0}while(A>>>0<a>>>0)}else{f=1;e=1}iR(A,i,r,s,f,0,c);a=s+4|0;while(1){if((f|0)==1&(e|0)==1){if(!(n[a>>2]|0))break A}else if((f|0)>=2){rR(s,2);o=f+-2|0;n[s>>2]=n[s>>2]^7;eR(s,1);iR(A+(0-(n[c+(o<<2)>>2]|0))+t|0,i,r,s,f+-1|0,1,c);rR(s,1);e=n[s>>2]|1;n[s>>2]=e;l=A+t|0;iR(l,i,r,s,o,1,c);A=l;f=o;continue}e=fR(s)|0;eR(s,e);A=A+t|0;f=e+f|0;e=n[s>>2]|0}}}while(0);v=b;return}function AR(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0;o=v;v=v+240|0;b=o;n[b>>2]=A;A:do{if((r|0)>1){s=0-e|0;a=A;c=r;r=1;while(1){l=a+s|0;t=c+-2|0;a=l+(0-(n[f+(t<<2)>>2]|0))|0;if((BF[i&63](A,a)|0)>-1?(BF[i&63](A,l)|0)>-1:0)break A;A=r+1|0;r=b+(r<<2)|0;if((BF[i&63](a,l)|0)>-1){n[r>>2]=a;r=c+-1|0}else{n[r>>2]=l;a=l;r=t}if((r|0)<=1){r=A;break A}c=r;r=A;A=n[b>>2]|0}}else r=1}while(0);aR(e,b,r);v=o;return}function eR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+4|0;if(e>>>0>31){r=n[f>>2]|0;n[A>>2]=r;n[f>>2]=0;e=e+-32|0;i=0}else{i=n[f>>2]|0;r=n[A>>2]|0}n[A>>2]=i<<32-e|r>>>e;n[f>>2]=i>>>e;return}function iR(A,e,i,r,f,a,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;l=l|0;var t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0;B=v;v=v+240|0;o=B+232|0;u=B;k=n[r>>2]|0;n[o>>2]=k;c=n[r+4>>2]|0;s=o+4|0;n[s>>2]=c;n[u>>2]=A;A:do{if((k|0)!=1|(c|0)!=0?(b=0-e|0,t=A+(0-(n[l+(f<<2)>>2]|0))|0,(BF[i&63](t,A)|0)>=1):0){r=1;a=(a|0)==0;c=t;while(1){if(a&(f|0)>1){a=A+b|0;t=n[l+(f+-2<<2)>>2]|0;if((BF[i&63](a,c)|0)>-1){t=10;break A}if((BF[i&63](a+(0-t)|0,c)|0)>-1){t=10;break A}}a=r+1|0;n[u+(r<<2)>>2]=c;k=fR(o)|0;eR(o,k);f=k+f|0;if(!((n[o>>2]|0)!=1|(n[s>>2]|0)!=0)){r=a;A=c;t=10;break A}A=c+(0-(n[l+(f<<2)>>2]|0))|0;if((BF[i&63](A,n[u>>2]|0)|0)<1){A=c;r=a;a=0;t=9;break}else{k=c;r=a;a=1;c=A;A=k}}}else{r=1;t=9}}while(0);if((t|0)==9?(a|0)==0:0)t=10;if((t|0)==10){aR(e,u,r);AR(A,e,i,f,l)}v=B;return}function rR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+4|0;if(e>>>0>31){r=n[A>>2]|0;n[f>>2]=r;n[A>>2]=0;e=e+-32|0;i=0}else{i=n[A>>2]|0;r=n[f>>2]|0}n[f>>2]=i>>>(32-e|0)|r<<e;n[A>>2]=i<<e;return}function fR(A){A=A|0;var e=0;e=nR((n[A>>2]|0)+-1|0)|0;if(!e){e=nR(n[A+4>>2]|0)|0;return((e|0)==0?0:e+32|0)|0}else return e|0;return 0}function nR(A){A=A|0;var e=0;if(A)if(!(A&1)){e=A;A=0;do{A=A+1|0;e=e>>>1}while(!(e&1|0))}else A=0;else A=32;return A|0}function aR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0;l=v;v=v+256|0;r=l;A:do{if((i|0)>=2?(a=e+(i<<2)|0,n[a>>2]=r,A|0):0)while(1){f=A>>>0<256?A:256;QH(r|0,n[e>>2]|0,f|0)|0;r=0;do{t=e+(r<<2)|0;r=r+1|0;QH(n[t>>2]|0,n[e+(r<<2)>>2]|0,f|0)|0;n[t>>2]=(n[t>>2]|0)+f}while((r|0)!=(i|0));A=A-f|0;if(!A)break A;r=n[a>>2]|0}}while(0);v=l;return}function lR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=v;v=v+16|0;f=r;n[f>>2]=i;i=gp(A,e,f)|0;v=r;return i|0}function tR(A){A=A|0;var e=0,i=0,f=0;f=v;v=v+16|0;i=f;wA(0,i|0)|0;e=0;i=(n[i+4>>2]|0)*65537^(i>>>4)+A;while(1){r[A+e>>0]=(i&15)+65|i<<1&32;e=e+1|0;if((e|0)==6)break;else i=i>>>5}v=f;return A|0}function cR(A,e,i){A=A|0;e=e|0;i=i|0;i=zz(A,e,i,-2147483648,0)|0;return i|0}function sR(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0;l=v;v=v+32|0;f=l;i=r[e>>0]|0;A:do{if(i<<24>>24!=0?(r[e+1>>0]|0)!=0:0){n[f>>2]=0;n[f+4>>2]=0;n[f+8>>2]=0;n[f+12>>2]=0;n[f+16>>2]=0;n[f+20>>2]=0;n[f+24>>2]=0;n[f+28>>2]=0;do{t=f+(((i&255)>>>5&255)<<2)|0;n[t>>2]=n[t>>2]|1<<(i&31);e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0);i=r[A>>0]|0;if(!(i<<24>>24))e=A;else{e=A;do{if(n[f+(((i&255)>>>5&255)<<2)>>2]&1<<(i&31)|0)break A;e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0)}}else a=3}while(0);if((a|0)==3)e=$N(A,i<<24>>24)|0;v=l;return e-A|0}function bR(A,e){A=A|0;e=e|0;var i=0;if(!A){A=n[42696]|0;if(!A)A=0;else i=3}else i=3;do{if((i|0)==3){A=A+(Kp(A,e)|0)|0;if(!(r[A>>0]|0)){n[42696]=0;A=0;break}e=A+(sR(A,e)|0)|0;n[42696]=e;if(!(r[e>>0]|0)){n[42696]=0;break}else{n[42696]=e+1;r[e>>0]=0;break}}}while(0);return A|0}function oR(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;f=e&255;do{if(!i){e=0;break}i=i+-1|0;e=A+i|0}while((r[e>>0]|0)!=f<<24>>24);return e|0}function uR(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(!A){A=n[i>>2]|0;if(!A)A=0;else f=3}else f=3;do{if((f|0)==3){A=A+(Kp(A,e)|0)|0;if(!(r[A>>0]|0)){n[i>>2]=0;A=0;break}e=A+(sR(A,e)|0)|0;n[i>>2]=e;if(!(r[e>>0]|0)){n[i>>2]=0;break}else{n[i>>2]=e+1;r[e>>0]=0;break}}}while(0);return A|0}function vR(A){A=A|0;var e=0,i=0;i=(Az(A)|0)+1|0;e=NN(i)|0;if(!e)e=0;else QH(e|0,A|0,i|0)|0;return e|0}function BR(A,e){A=A|0;e=e|0;return oR(A,e,(Az(A)|0)+1|0)|0}function kR(A,e){A=A|0;e=e|0;np(A+(Az(A)|0)|0,e)|0;return A|0}function wR(A,e){A=A|0;e=e|0;e=A+(sR(A,e)|0)|0;return(r[e>>0]|0?e:0)|0}function dR(A){A=A|0;var e=0;if((n[A+76>>2]|0)>-1){e=(Gp(A)|0)==0;A=(n[A>>2]|0)>>>4&1}else A=(n[A>>2]|0)>>>4&1;return A|0}function hR(A){A=A|0;var e=0,i=0,r=0,f=0,a=0;if((n[A+76>>2]|0)>-1)f=Gp(A)|0;else f=0;gR(A);a=(n[A>>2]&1|0)!=0;if(!a){r=ZR()|0;i=n[A+52>>2]|0;e=A+56|0;if(i|0)n[i+56>>2]=n[e>>2];e=n[e>>2]|0;if(e|0)n[e+52>>2]=i;if((n[r>>2]|0)==(A|0))n[r>>2]=e;GR()}e=mR(A)|0;e=vF[n[A+12>>2]&31](A)|0|e;i=n[A+92>>2]|0;if(i|0)zN(i);if(a){if(f|0)mp(A)}else zN(A);return e|0}function gR(A){A=A|0;var e=0;if(n[A+68>>2]|0){e=n[A+116>>2]|0;A=A+112|0;if(e|0)n[e+112>>2]=n[A>>2];A=n[A>>2]|0;if(!A)A=(CR()|0)+232|0;else A=A+116|0;n[A>>2]=e}return}function ZR(){dA(170788);return 170796}function GR(){NA(170788);return}function mR(A){A=A|0;var e=0,i=0;do{if(A){if((n[A+76>>2]|0)<=-1){e=IR(A)|0;break}i=(Gp(A)|0)==0;e=IR(A)|0;if(!i)mp(A)}else{if(!(n[13917]|0))e=0;else e=mR(n[13917]|0)|0;A=n[(ZR()|0)>>2]|0;if(A)do{if((n[A+76>>2]|0)>-1)i=Gp(A)|0;else i=0;if((n[A+20>>2]|0)>>>0>(n[A+28>>2]|0)>>>0)e=IR(A)|0|e;if(i|0)mp(A);A=n[A+56>>2]|0}while((A|0)!=0);GR()}}while(0);return e|0}function IR(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0;e=A+20|0;l=A+28|0;if((n[e>>2]|0)>>>0>(n[l>>2]|0)>>>0?(kF[n[A+36>>2]&31](A,0,0)|0,(n[e>>2]|0)==0):0)A=-1;else{i=A+4|0;r=n[i>>2]|0;f=A+8|0;a=n[f>>2]|0;if(r>>>0<a>>>0)kF[n[A+40>>2]&31](A,r-a|0,1)|0;n[A+16>>2]=0;n[l>>2]=0;n[e>>2]=0;n[f>>2]=0;n[i>>2]=0;A=0}return A|0}function CR(){return cz()|0}function MR(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;u=v;v=v+64|0;o=u+40|0;s=u+24|0;c=u+16|0;a=u;b=u+56|0;f=r[e>>0]|0;if(Nz(134882,f<<24>>24,4)|0){i=NN(1156)|0;if(!i)i=0;else{l=i;t=l+124|0;do{n[l>>2]=0;l=l+4|0}while((l|0)<(t|0));if(!(Vz(e,43)|0))n[i>>2]=f<<24>>24==114?8:4;if(Vz(e,101)|0){n[a>>2]=A;n[a+4>>2]=2;n[a+8>>2]=1;EA(221,a|0)|0;f=r[e>>0]|0}if(f<<24>>24==97){n[c>>2]=A;n[c+4>>2]=3;f=EA(221,c|0)|0;if(!(f&1024)){n[s>>2]=A;n[s+4>>2]=4;n[s+8>>2]=f|1024;EA(221,s|0)|0}e=n[i>>2]|128;n[i>>2]=e}else e=n[i>>2]|0;n[i+60>>2]=A;n[i+44>>2]=i+132;n[i+48>>2]=1024;f=i+75|0;r[f>>0]=-1;if((e&8|0)==0?(n[o>>2]=A,n[o+4>>2]=21523,n[o+8>>2]=b,(VA(54,o|0)|0)==0):0)r[f>>0]=10;n[i+32>>2]=6;n[i+36>>2]=9;n[i+40>>2]=7;n[i+12>>2]=15;if(!(n[42675]|0))n[i+76>>2]=-1;QR(i)|0}}else{n[(UN()|0)>>2]=22;i=0}v=u;return i|0}function QR(A){A=A|0;var e=0,i=0;e=ZR()|0;n[A+56>>2]=n[e>>2];i=n[e>>2]|0;if(i|0)n[i+52>>2]=A;n[e>>2]=A;GR();return A|0}function ER(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0;c=v;v=v+16|0;f=c;A:do{if(!e)A=0;else{do{if(i|0){t=(A|0)==0?f:A;A=r[e>>0]|0;if(A<<24>>24>-1){n[t>>2]=A&255;A=A<<24>>24!=0&1;break A}l=(n[n[(yR()|0)+188>>2]>>2]|0)==0;A=r[e>>0]|0;if(l){n[t>>2]=A<<24>>24&57343;A=1;break A}A=(A&255)+-194|0;if(A>>>0<=50){f=e+1|0;l=n[55208+(A<<2)>>2]|0;if(i>>>0<4?l&-2147483648>>>((i*6|0)+-6|0)|0:0)break;A=a[f>>0]|0;i=A>>>3;if((i+-16|i+(l>>26))>>>0<=7){A=A+-128|l<<6;if((A|0)>=0){n[t>>2]=A;A=2;break A}f=(a[e+2>>0]|0)+-128|0;if(f>>>0<=63){f=f|A<<6;if((f|0)>=0){n[t>>2]=f;A=3;break A}A=(a[e+3>>0]|0)+-128|0;if(A>>>0<=63){n[t>>2]=A|f<<6;A=4;break A}}}}}}while(0);n[(UN()|0)>>2]=84;A=-1}}while(0);v=c;return A|0}function yR(){return cz()|0}function YR(A,e){A=A|0;e=e|0;var i=0;i=Az(A)|0;return((VR(A,1,i,e)|0)!=(i|0))<<31>>31|0}function VR(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=X(i,e)|0;i=(e|0)==0?0:i;if((n[r+76>>2]|0)>-1){a=(Gp(r)|0)==0;A=Jp(A,f,r)|0;if(!a)mp(r)}else A=Jp(A,f,r)|0;if((A|0)!=(f|0))i=(A>>>0)/(e>>>0)|0;return i|0}function WR(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,s=0,b=0;b=v;v=v+16|0;c=b;s=e&255;r[c>>0]=s;f=A+16|0;l=n[f>>2]|0;if(!l)if(!(Np(A)|0)){l=n[f>>2]|0;t=4}else i=-1;else t=4;do{if((t|0)==4){t=A+20|0;f=n[t>>2]|0;if(f>>>0<l>>>0?(i=e&255,(i|0)!=(r[A+75>>0]|0)):0){n[t>>2]=f+1;r[f>>0]=s;break}if((kF[n[A+36>>2]&31](A,c,1)|0)==1)i=a[c>>0]|0;else i=-1}}while(0);v=b;return i|0}function JR(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;i=A;f=134867;n=i+15|0;do{r[i>>0]=r[f>>0]|0;i=i+1|0;f=f+1|0}while((i|0)<(n|0));if(!e){r[A+14>>0]=48;r[A+15>>0]=0}else{f=e;i=14;while(1){i=i+1|0;if(f>>>0<10)break;else f=(f>>>0)/10|0}r[A+i>>0]=0;while(1){i=i+-1|0;r[A+i>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}}return}function NR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;a=v;v=v+48|0;f=a+40|0;r=a+8|0;i=a;n[i>>2]=A;n[i+4>>2]=e;i=QA(197,i|0)|0;if((i|0)==-9?(n[r>>2]=A,n[r+4>>2]=1,(EA(221,r|0)|0)>=0):0){JR(r,A);n[f>>2]=r;n[f+4>>2]=e;e=xN(MA(195,f|0)|0)|0}else e=xN(i)|0;v=a;return e|0}function zR(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;n[r>>2]=A;n[r+4>>2]=e;e=xN(yA(33,r|0)|0)|0;v=i;return e|0}function pR(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0;t=v;v=v+48|0;l=t+32|0;a=t+16|0;i=t;if(Nz(134882,r[e>>0]|0,4)|0){f=RR(e)|0;n[i>>2]=A;n[i+4>>2]=f|32768;n[i+8>>2]=438;i=xN(YA(5,i|0)|0)|0;if((i|0)>=0){if(f&524288|0){n[a>>2]=i;n[a+4>>2]=2;n[a+8>>2]=1;EA(221,a|0)|0}A=MR(i,e)|0;if(!A){n[l>>2]=i;WA(6,l|0)|0;A=0}}else A=0}else{n[(UN()|0)>>2]=22;A=0}v=t;return A|0}function RR(A){A=A|0;var e=0,i=0,f=0;i=(Vz(A,43)|0)==0;e=r[A>>0]|0;i=i?e<<24>>24!=114&1:2;f=(Vz(A,120)|0)==0;i=f?i:i|128;A=(Vz(A,101)|0)==0;A=A?i:i|524288;A=e<<24>>24==114?A:A|64;A=e<<24>>24==119?A|512:A;return(e<<24>>24==97?A|1024:A)|0}function PR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=v;v=v+16|0;f=r;n[f>>2]=i;i=HR(A,e,f)|0;v=r;return i|0}function HR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0;a=v;v=v+128|0;r=a;f=r;l=f+124|0;do{n[f>>2]=0;f=f+4|0}while((f|0)<(l|0));n[r+32>>2]=18;n[r+44>>2]=A;n[r+76>>2]=-1;n[r+84>>2]=A;l=LR(r,e,i)|0;v=a;return l|0}function FR(A,e,i){A=A|0;e=e|0;i=i|0;return OR(A,e,i)|0}function LR(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,b=0,o=0,u=0.0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0;L=v;v=v+288|0;z=L+8|0;p=L+17|0;R=L;P=L+16|0;if((n[A+76>>2]|0)>-1)F=Gp(A)|0;else F=0;f=r[e>>0]|0;A:do{if(f<<24>>24){M=A+4|0;Q=A+100|0;y=A+108|0;Y=A+8|0;V=p+10|0;W=p+33|0;C=z+4|0;J=p+1|0;N=p+1|0;b=e;h=0;e=0;t=0;l=0;e:while(1){i:do{if(!(Wz(f&255)|0)){f=f<<24>>24==37;r:do{if(f){B=b+1|0;o=r[B>>0]|0;f:do{switch(o<<24>>24){case 37:break r;case 42:{I=0;b=b+2|0;break}default:{f=(o&255)+-48|0;if(f>>>0<10?(r[b+2>>0]|0)==36:0){I=DR(i,f)|0;b=b+3|0;break f}b=(n[i>>2]|0)+(4-1)&~(4-1);I=n[b>>2]|0;n[i>>2]=b+4;b=B}}}while(0);f=r[b>>0]|0;o=f&255;if((o+-48|0)>>>0<10){B=0;do{B=(B*10|0)+-48+o|0;b=b+1|0;f=r[b>>0]|0;o=f&255}while((o+-48|0)>>>0<10)}else B=0;f=f<<24>>24==109;m=(I|0)!=0;t=f?0:t;l=f?0:l;b=f?b+1|0:b;f=m&f;o=b+1|0;switch(r[b>>0]|0){case 104:{G=(r[o>>0]|0)==104;k=G?-2:-1;b=G?b+2|0:o;break}case 108:{G=(r[o>>0]|0)==108;k=G?3:1;b=G?b+2|0:o;break}case 106:{k=3;b=o;break}case 116:case 122:{k=1;b=o;break}case 76:{k=2;b=o;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:{k=0;break}default:{H=135;break e}}d=a[b>>0]|0;g=(d&47|0)==3;d=g?d|32:d;g=g?1:k;w=d&255;switch(w<<24>>24){case 99:{B=(B|0)>1?B:1;G=h;break}case 91:{G=h;break}case 110:{XR(I,g,h,((h|0)<0)<<31>>31);o=h;break i}default:{pz(A,0);do{o=n[M>>2]|0;if(o>>>0<(n[Q>>2]|0)>>>0){n[M>>2]=o+1;o=a[o>>0]|0}else o=Pz(A)|0}while((Wz(o)|0)!=0);if(!(n[Q>>2]|0))o=n[M>>2]|0;else{o=(n[M>>2]|0)+-1|0;n[M>>2]=o}G=(n[y>>2]|0)+h+o-(n[Y>>2]|0)|0}}pz(A,B);o=n[M>>2]|0;k=n[Q>>2]|0;if(o>>>0<k>>>0)n[M>>2]=o+1;else{if((Pz(A)|0)<0){H=135;break e}k=n[Q>>2]|0}if(k|0)n[M>>2]=(n[M>>2]|0)+-1;f:do{switch(w<<24>>24){case 91:case 99:case 115:{Z=(d|0)==99;n:do{if((d|16|0)==115){yH(J|0,-1,256)|0;r[p>>0]=0;if((d|0)==115){r[W>>0]=0;r[V>>0]=0;r[V+1>>0]=0;r[V+2>>0]=0;r[V+3>>0]=0;r[V+4>>0]=0}}else{d=b+1|0;o=(r[d>>0]|0)==94;h=o&1;b=o?b+2|0:d;yH(N|0,o&1|0,256)|0;r[p>>0]=0;o=r[b>>0]|0;switch(o<<24>>24){case 45:{o=46;H=63;break}case 93:{o=94;H=63;break}default:{}}while(1){if((H|0)==63){H=0;r[p+o>>0]=h^1;o=b+1|0;b=o;o=r[o>>0]|0}a:do{switch(o<<24>>24){case 0:{H=135;break e}case 93:break n;case 45:{d=b+1|0;o=r[d>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break a}default:{}}b=r[b+-1>>0]|0;if((b&255)<(o&255)){w=(h^1)&255;b=b&255;do{b=b+1|0;r[p+b>>0]=w;o=r[d>>0]|0}while((b|0)<(o&255|0));b=d}else b=d;break}default:{}}}while(0);o=(o&255)+1|0;H=63}}}while(0);o=Z?B+1|0:31;d=(g|0)==1;n:do{if(d){if(f){l=NN(o<<2)|0;if(!l){t=0;l=0;f=1;H=135;break e}}else l=I;n[z>>2]=0;n[C>>2]=0;w=o;t=0;a:while(1){k=(l|0)==0;do{l:while(1){o=n[M>>2]|0;if(o>>>0<(n[Q>>2]|0)>>>0){n[M>>2]=o+1;o=a[o>>0]|0}else o=Pz(A)|0;if(!(r[p+(o+1)>>0]|0))break a;r[P>>0]=o;switch($z(R,P,1,z)|0){case-1:{t=0;H=135;break e}case-2:break;default:break l}}if(!k){n[l+(t<<2)>>2]=n[R>>2];t=t+1|0}}while(!(f&(t|0)==(w|0)));t=w<<1|1;o=RN(l,t<<2)|0;if(!o){t=0;f=1;H=135;break e}else{g=w;w=t;l=o;t=g}}if(!(TR(z)|0)){t=0;H=135;break e}else{o=t;t=0;w=l}}else{if(f){t=NN(o)|0;if(!t){t=0;l=0;f=1;H=135;break e}else{k=o;l=0}while(1){do{o=n[M>>2]|0;if(o>>>0<(n[Q>>2]|0)>>>0){n[M>>2]=o+1;o=a[o>>0]|0}else o=Pz(A)|0;if(!(r[p+(o+1)>>0]|0)){o=l;w=0;l=0;break n}r[t+l>>0]=o;l=l+1|0}while((l|0)!=(k|0));l=k<<1|1;o=RN(t,l)|0;if(!o){l=0;f=1;H=135;break e}else{g=k;k=l;t=o;l=g}}}if(!I){t=k;while(1){l=n[M>>2]|0;if(l>>>0<t>>>0){n[M>>2]=l+1;l=a[l>>0]|0}else l=Pz(A)|0;if(!(r[p+(l+1)>>0]|0)){o=0;t=0;w=0;l=0;break n}t=n[Q>>2]|0}}else{o=0;t=k;while(1){l=n[M>>2]|0;if(l>>>0<t>>>0){n[M>>2]=l+1;l=a[l>>0]|0}else l=Pz(A)|0;if(!(r[p+(l+1)>>0]|0)){t=I;w=0;l=0;break n}r[I+o>>0]=l;o=o+1|0;t=n[Q>>2]|0}}}}while(0);if(!(n[Q>>2]|0))k=n[M>>2]|0;else{k=(n[M>>2]|0)+-1|0;n[M>>2]=k}k=k-(n[Y>>2]|0)+(n[y>>2]|0)|0;if(!k){H=137;break e}if(!((k|0)==(B|0)|Z^1)){H=137;break e}do{if(f)if(d){n[I>>2]=w;break}else{n[I>>2]=t;break}}while(0);if(!Z){if(w|0)n[w+(o<<2)>>2]=0;if(!t){t=0;break f}r[t+o>>0]=0}break}case 120:case 88:case 112:{o=16;H=123;break}case 111:{o=8;H=123;break}case 117:case 100:{o=10;H=123;break}case 105:{o=0;H=123;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{u=+xR(A,g,0);if((n[y>>2]|0)==((n[Y>>2]|0)-(n[M>>2]|0)|0)){H=137;break e}if(I)switch(g|0){case 0:{c[I>>2]=u;break f}case 1:{s[I>>3]=u;break f}case 2:{s[I>>3]=u;break f}default:break f}break}default:{}}}while(0);do{if((H|0)==123){H=0;o=Rz(A,o,0,-1,-1)|0;if((n[y>>2]|0)==((n[Y>>2]|0)-(n[M>>2]|0)|0)){H=137;break e}if(m&(d|0)==112){n[I>>2]=o;break}else{XR(I,g,o,E);break}}}while(0);e=e+(m&1)|0;o=(n[y>>2]|0)+G+(n[M>>2]|0)-(n[Y>>2]|0)|0;break i}}while(0);b=b+(f&1)|0;pz(A,0);f=n[M>>2]|0;if(f>>>0<(n[Q>>2]|0)>>>0){n[M>>2]=f+1;f=a[f>>0]|0}else f=Pz(A)|0;if((f|0)!=(a[b>>0]|0)){H=22;break e}o=h+1|0}else{while(1){f=b+1|0;if(!(Wz(a[f>>0]|0)|0))break;else b=f}pz(A,0);do{f=n[M>>2]|0;if(f>>>0<(n[Q>>2]|0)>>>0){n[M>>2]=f+1;f=a[f>>0]|0}else f=Pz(A)|0}while((Wz(f)|0)!=0);if(!(n[Q>>2]|0))f=n[M>>2]|0;else{f=(n[M>>2]|0)+-1|0;n[M>>2]=f}o=(n[y>>2]|0)+h+f-(n[Y>>2]|0)|0}}while(0);b=b+1|0;f=r[b>>0]|0;if(!(f<<24>>24))break A;else h=o}if((H|0)==22){if(n[Q>>2]|0)n[M>>2]=(n[M>>2]|0)+-1;if((e|0)!=0|(f|0)>-1)break;else{f=0;H=136}}else if((H|0)==135){f=f&1;if(!e)H=136}else if((H|0)==137)f=f&1;if((H|0)==136)e=-1;if(f){zN(t);zN(l)}}else e=0}while(0);if(F|0)mp(A);v=L;return e|0}function DR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=v;v=v+16|0;i=r;n[i>>2]=n[A>>2];while(1){f=(n[i>>2]|0)+(4-1)&~(4-1);A=n[f>>2]|0;n[i>>2]=f+4;if(e>>>0>1)e=e+-1|0;else break}v=r;return A|0}function XR(A,e,i,a){A=A|0;e=e|0;i=i|0;a=a|0;A:do{if(A|0)switch(e|0){case-2:{r[A>>0]=i;break A}case-1:{f[A>>1]=i;break A}case 0:{n[A>>2]=i;break A}case 1:{n[A>>2]=i;break A}case 3:{e=A;n[e>>2]=i;n[e+4>>2]=a;break A}default:break A}}while(0);return}function TR(A){A=A|0;if(!A)A=1;else A=(n[A>>2]|0)==0&1;return A|0}function xR(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0;switch(e|0){case 0:{b=-149;o=24;c=4;break}case 1:{b=-1074;o=53;c=4;break}case 2:{b=-1074;o=53;c=4;break}default:f=0.0}A:do{if((c|0)==4){v=A+4|0;u=A+100|0;do{e=n[v>>2]|0;if(e>>>0<(n[u>>2]|0)>>>0){n[v>>2]=e+1;e=a[e>>0]|0}else e=Pz(A)|0}while((Wz(e)|0)!=0);e:do{switch(e|0){case 43:case 45:{t=1-(((e|0)==45&1)<<1)|0;e=n[v>>2]|0;if(e>>>0<(n[u>>2]|0)>>>0){n[v>>2]=e+1;l=a[e>>0]|0;break e}else{l=Pz(A)|0;break e}}default:{l=e;t=1}}}while(0);e=0;do{if((l|32|0)!=(r[134886+e>>0]|0))break;do{if(e>>>0<7){l=n[v>>2]|0;if(l>>>0<(n[u>>2]|0)>>>0){n[v>>2]=l+1;l=a[l>>0]|0;break}else{l=Pz(A)|0;break}}}while(0);e=e+1|0}while(e>>>0<8);e:do{switch(e|0){case 8:break;case 3:{c=23;break}default:{s=(i|0)!=0;if(s&e>>>0>3)if((e|0)==8)break e;else{c=23;break e}i:do{if(!e){e=0;do{if((l|32|0)!=(r[134895+e>>0]|0))break i;do{if(e>>>0<2){l=n[v>>2]|0;if(l>>>0<(n[u>>2]|0)>>>0){n[v>>2]=l+1;l=a[l>>0]|0;break}else{l=Pz(A)|0;break}}}while(0);e=e+1|0}while(e>>>0<3)}}while(0);switch(e|0){case 3:{e=n[v>>2]|0;if(e>>>0<(n[u>>2]|0)>>>0){n[v>>2]=e+1;e=a[e>>0]|0}else e=Pz(A)|0;if((e|0)==40)e=1;else{if(!(n[u>>2]|0)){f=Z;break A}n[v>>2]=(n[v>>2]|0)+-1;f=Z;break A}while(1){l=n[v>>2]|0;if(l>>>0<(n[u>>2]|0)>>>0){n[v>>2]=l+1;l=a[l>>0]|0}else l=Pz(A)|0;if(!((l+-48|0)>>>0<10|(l+-65|0)>>>0<26)?!((l|0)==95|(l+-97|0)>>>0<26):0)break;e=e+1|0}if((l|0)==41){f=Z;break A}l=(n[u>>2]|0)==0;if(!l)n[v>>2]=(n[v>>2]|0)+-1;if(!s){n[(UN()|0)>>2]=22;pz(A,0);f=0.0;break A}if(!e){f=Z;break A}while(1){e=e+-1|0;if(!l)n[v>>2]=(n[v>>2]|0)+-1;if(!e){f=Z;break A}}}case 0:{if((l|0)==48){e=n[v>>2]|0;if(e>>>0<(n[u>>2]|0)>>>0){n[v>>2]=e+1;e=a[e>>0]|0}else e=Pz(A)|0;if((e|32|0)==120){f=+UR(A,o,b,t,i);break A}if(!(n[u>>2]|0))e=48;else{n[v>>2]=(n[v>>2]|0)+-1;e=48}}else e=l;f=+jR(A,e,o,b,t,i);break A}default:{if(n[u>>2]|0)n[v>>2]=(n[v>>2]|0)+-1;n[(UN()|0)>>2]=22;pz(A,0);f=0.0;break A}}}}}while(0);if((c|0)==23){l=(n[u>>2]|0)==0;if(!l)n[v>>2]=(n[v>>2]|0)+-1;if((i|0)!=0&e>>>0>3)do{if(!l)n[v>>2]=(n[v>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}f=+(t|0)*G}}while(0);return+f}function UR(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var l=0.0,t=0,c=0,s=0.0,b=0,o=0,u=0,v=0.0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0;I=A+4|0;t=n[I>>2]|0;m=A+100|0;if(t>>>0<(n[m>>2]|0)>>>0){n[I>>2]=t+1;c=a[t>>0]|0;b=0}else{c=Pz(A)|0;b=0}A:while(1){switch(c|0){case 46:{G=8;break A}case 48:break;default:{d=0;u=0;v=1.0;l=0.0;t=0;o=c;h=b;Z=0;g=0;b=0;c=0;break A}}t=n[I>>2]|0;if(t>>>0<(n[m>>2]|0)>>>0){n[I>>2]=t+1;c=a[t>>0]|0;b=1;continue}else{c=Pz(A)|0;b=1;continue}}if((G|0)==8){t=n[I>>2]|0;if(t>>>0<(n[m>>2]|0)>>>0){n[I>>2]=t+1;c=a[t>>0]|0}else c=Pz(A)|0;if((c|0)==48){b=0;c=0;do{t=n[I>>2]|0;if(t>>>0<(n[m>>2]|0)>>>0){n[I>>2]=t+1;o=a[t>>0]|0}else o=Pz(A)|0;b=BH(b|0,c|0,-1,-1)|0;c=E}while((o|0)==48);d=1;u=0;v=1.0;l=0.0;t=0;h=1;Z=0;g=0}else{d=1;u=0;v=1.0;l=0.0;t=0;o=c;h=b;Z=0;g=0;b=0;c=0}}while(1){k=o+-48|0;B=o|32;if(k>>>0>=10){w=(o|0)==46;if(!(w|(B+-97|0)>>>0<6))break;if(w)if(!d){d=1;s=v;w=h;b=g;c=Z;k=g;B=Z}else{o=46;break}else G=20}else G=20;if((G|0)==20){G=0;o=(o|0)>57?B+-87|0:k;do{if(!((Z|0)<0|(Z|0)==0&g>>>0<8))if((Z|0)<0|(Z|0)==0&g>>>0<14){v=v*.0625;s=v;l=l+v*+(o|0);break}else{h=(u|0)!=0|(o|0)==0;u=h?u:1;s=v;l=h?l:l+v*.5;break}else{s=v;t=o+(t<<4)|0}}while(0);k=BH(g|0,Z|0,1,0)|0;w=1;B=E}o=n[I>>2]|0;if(o>>>0<(n[m>>2]|0)>>>0){n[I>>2]=o+1;v=s;o=a[o>>0]|0;h=w;Z=B;g=k;continue}else{v=s;o=Pz(A)|0;h=w;Z=B;g=k;continue}}do{if(!h){t=(n[m>>2]|0)==0;if(!t)n[I>>2]=(n[I>>2]|0)+-1;if(f){if(!t)n[I>>2]=(n[I>>2]|0)+-1;if(!((d|0)==0|t))n[I>>2]=(n[I>>2]|0)+-1}else pz(A,0);l=+(r|0)*0.0}else{B=(d|0)==0;k=B?g:b;B=B?Z:c;if((Z|0)<0|(Z|0)==0&g>>>0<8){b=g;c=Z;while(1){t=t<<4;G=b;b=BH(b|0,c|0,1,0)|0;if(!((c|0)<0|(c|0)==0&G>>>0<7)){u=t;break}else c=E}}else u=t;if((o|32|0)==112){c=SR(A,f)|0;t=E;if((c|0)==0&(t|0)==-2147483648){if(!f){pz(A,0);l=0.0;break}if(!(n[m>>2]|0)){c=0;t=0}else{n[I>>2]=(n[I>>2]|0)+-1;c=0;t=0}}}else if(!(n[m>>2]|0)){c=0;t=0}else{n[I>>2]=(n[I>>2]|0)+-1;c=0;t=0}b=GH(k|0,B|0,2)|0;b=BH(b|0,E|0,-32,-1)|0;b=BH(b|0,E|0,c|0,t|0)|0;t=E;if(!u){l=+(r|0)*0.0;break}I=0-i|0;f=((I|0)<0)<<31>>31;if((t|0)>(f|0)|(t|0)==(f|0)&b>>>0>I>>>0){n[(UN()|0)>>2]=34;l=+(r|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}I=i+-106|0;f=((I|0)<0)<<31>>31;if((t|0)<(f|0)|(t|0)==(f|0)&b>>>0<I>>>0){n[(UN()|0)>>2]=34;l=+(r|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((u|0)>-1){c=u;do{I=!(l>=.5);c=c<<1|(I^1)&1;l=l+(I?l:l+-1.0);b=BH(b|0,t|0,-1,-1)|0;t=E}while((c|0)>-1);v=l;o=c}else{v=l;o=u}I=((e|0)<0)<<31>>31;i=kH(32,0,i|0,((i|0)<0)<<31>>31|0)|0;t=BH(i|0,E|0,b|0,t|0)|0;i=E;if((i|0)<(I|0)|(i|0)==(I|0)&t>>>0<e>>>0)if((t|0)>0)G=59;else{c=0;t=84;G=61}else{t=e;G=59}if((G|0)==59)if((t|0)<53){c=t;t=84-t|0;G=61}else{s=0.0;l=+(r|0)}if((G|0)==61){l=+(r|0);s=+gz(+wz(1.0,t),l);t=c}r=(o&1|0)==0&(v!=0.0&(t|0)<32);l=(r?0.0:v)*l+(s+l*+((o+(r&1)|0)>>>0))-s;if(!(l!=0.0))n[(UN()|0)>>2]=34;l=+Zz(l,b)}}while(0);return+l}function jR(A,e,i,r,f,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;l=l|0;var t=0.0,c=0.0,s=0,b=0,o=0,u=0,B=0,k=0,w=0.0,d=0.0,h=0.0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,y=0,V=0,W=0,J=0,N=0,z=0,p=0.0;z=v;v=v+512|0;W=z;J=r+i|0;N=0-J|0;Q=A+4|0;y=A+100|0;s=0;A:while(1){switch(e|0){case 46:{C=6;break A}case 48:break;default:{Z=0;B=s;k=0;u=0;break A}}e=n[Q>>2]|0;if(e>>>0<(n[y>>2]|0)>>>0){n[Q>>2]=e+1;e=a[e>>0]|0;s=1;continue}else{e=Pz(A)|0;s=1;continue}}if((C|0)==6){e=n[Q>>2]|0;if(e>>>0<(n[y>>2]|0)>>>0){n[Q>>2]=e+1;e=a[e>>0]|0}else e=Pz(A)|0;if((e|0)==48){s=0;e=0;while(1){s=BH(s|0,e|0,-1,-1)|0;u=E;e=n[Q>>2]|0;if(e>>>0<(n[y>>2]|0)>>>0){n[Q>>2]=e+1;e=a[e>>0]|0}else e=Pz(A)|0;if((e|0)==48)e=u;else{Z=1;B=1;k=s;break}}}else{Z=1;B=s;k=0;u=0}}n[W>>2]=0;o=e+-48|0;b=(e|0)==46;A:do{if(b|o>>>0<10){M=W+496|0;G=0;s=0;g=0;m=Z;I=B;C=o;B=0;o=0;e:while(1){do{if(b)if(!m){m=1;k=B;u=o}else break e;else{B=BH(B|0,o|0,1,0)|0;o=E;Z=(e|0)!=48;if((s|0)>=125){if(!Z)break;n[M>>2]=n[M>>2]|1;break}b=W+(s<<2)|0;if(!G)e=C;else e=e+-48+((n[b>>2]|0)*10|0)|0;n[b>>2]=e;G=G+1|0;I=(G|0)==9;G=I?0:G;s=s+(I&1)|0;g=Z?B:g;I=1}}while(0);e=n[Q>>2]|0;if(e>>>0<(n[y>>2]|0)>>>0){n[Q>>2]=e+1;e=a[e>>0]|0}else e=Pz(A)|0;C=e+-48|0;b=(e|0)==46;if(!(b|C>>>0<10)){Z=m;b=I;C=29;break A}}e=G;b=(I|0)!=0;C=37}else{G=0;s=0;g=0;b=B;B=0;o=0;C=29}}while(0);do{if((C|0)==29){M=(Z|0)==0;k=M?B:k;u=M?o:u;b=(b|0)!=0;if(!(b&(e|32|0)==101))if((e|0)>-1){e=G;C=37;break}else{e=G;C=39;break}b=SR(A,l)|0;e=E;if((b|0)==0&(e|0)==-2147483648){if(!l){pz(A,0);t=0.0;break}if(!(n[y>>2]|0)){b=0;e=0}else{n[Q>>2]=(n[Q>>2]|0)+-1;b=0;e=0}}I=BH(b|0,e|0,k|0,u|0)|0;e=G;u=E;C=41}}while(0);if((C|0)==37)if(n[y>>2]|0){n[Q>>2]=(n[Q>>2]|0)+-1;if(b){I=k;C=41}else C=40}else C=39;if((C|0)==39)if(b){I=k;C=41}else C=40;do{if((C|0)==40){n[(UN()|0)>>2]=22;pz(A,0);t=0.0}else if((C|0)==41){b=n[W>>2]|0;if(!b){t=+(f|0)*0.0;break}if(((o|0)<0|(o|0)==0&B>>>0<10)&((I|0)==(B|0)&(u|0)==(o|0))?(i|0)>30|(b>>>i|0)==0:0){t=+(f|0)*+(b>>>0);break}A=(r|0)/-2|0;y=((A|0)<0)<<31>>31;if((u|0)>(y|0)|(u|0)==(y|0)&I>>>0>A>>>0){n[(UN()|0)>>2]=34;t=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}A=r+-106|0;y=((A|0)<0)<<31>>31;if((u|0)<(y|0)|(u|0)==(y|0)&I>>>0<A>>>0){n[(UN()|0)>>2]=34;t=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(e){if((e|0)<9){o=W+(s<<2)|0;b=n[o>>2]|0;while(1){b=b*10|0;if((e|0)>=8)break;else e=e+1|0}n[o>>2]=b}s=s+1|0}if((g|0)<9?(g|0)<=(I|0)&(I|0)<18:0){if((I|0)==9){t=+(f|0)*+((n[W>>2]|0)>>>0);break}if((I|0)<9){t=+(f|0)*+((n[W>>2]|0)>>>0)/+(n[56536+(8-I<<2)>>2]|0);break}A=i+27+(X(I,-3)|0)|0;e=n[W>>2]|0;if((A|0)>30|(e>>>A|0)==0){t=+(f|0)*+(e>>>0)*+(n[56536+(I+-10<<2)>>2]|0);break}}e=(I|0)%9|0;if(!e){e=0;o=0}else{g=(I|0)>-1?e:e+9|0;B=n[56536+(8-g<<2)>>2]|0;if(s){k=1e9/(B|0)|0;o=0;u=0;b=I;e=0;do{Q=W+(e<<2)|0;y=n[Q>>2]|0;A=((y>>>0)/(B>>>0)|0)+o|0;n[Q>>2]=A;o=X(k,(y>>>0)%(B>>>0)|0)|0;A=(e|0)==(u|0)&(A|0)==0;b=A?b+-9|0:b;u=A?u+1&127:u;e=e+1|0}while((e|0)!=(s|0));if(!o)o=u;else{n[W+(s<<2)>>2]=o;o=u;s=s+1|0}}else{o=0;s=0;b=I}e=0;I=9-g+b|0}A:while(1){g=(I|0)<18;Z=(I|0)==18;G=W+(o<<2)|0;while(1){if(!g){if(!Z){b=I;break A}if((n[G>>2]|0)>>>0>=9007199){b=18;break A}}b=0;m=s;s=s+127|0;while(1){u=s&127;B=W+(u<<2)|0;s=GH(n[B>>2]|0,0,29)|0;s=BH(s|0,E|0,b|0,0)|0;b=E;if(b>>>0>0|(b|0)==0&s>>>0>1e9){k=hH(s|0,b|0,1e9,0)|0;s=gH(s|0,b|0,1e9,0)|0}else k=0;n[B>>2]=s;A=(u|0)==(o|0);m=(s|0)==0&(((u|0)!=(m+127&127|0)|A)^1)?u:m;if(A)break;else{b=k;s=u+-1|0}}e=e+-29|0;if(k|0)break;else s=m}o=o+127&127;s=m+127&127;b=W+((m+126&127)<<2)|0;if((o|0)==(m|0))n[b>>2]=n[b>>2]|n[W+(s<<2)>>2];else s=m;n[W+(o<<2)>>2]=k;I=I+9|0}A:while(1){G=s+1&127;m=W+((s+127&127)<<2)|0;while(1){k=(b|0)==18;Z=(b|0)>27?9:1;I=o;while(1){B=0;while(1){o=B+I&127;if((o|0)==(s|0)){V=2;C=88;break}o=n[W+(o<<2)>>2]|0;u=n[56568+(B<<2)>>2]|0;if(o>>>0<u>>>0){V=2;C=88;break}if(o>>>0>u>>>0)break;o=B+1|0;if((B|0)<1)B=o;else{V=o;C=88;break}}if((C|0)==88?(C=0,k&(V|0)==2):0){t=0.0;u=0;break A}e=Z+e|0;if((I|0)==(s|0))I=s;else break}k=(1<<Z)+-1|0;g=1e9>>>Z;B=0;o=I;u=I;do{Q=W+(u<<2)|0;y=n[Q>>2]|0;A=(y>>>Z)+B|0;n[Q>>2]=A;B=X(y&k,g)|0;A=(u|0)==(o|0)&(A|0)==0;b=A?b+-9|0:b;o=A?o+1&127:o;u=u+1&127}while((u|0)!=(s|0));if(!B)continue;if((G|0)!=(o|0))break;n[m>>2]=n[m>>2]|1}n[W+(s<<2)>>2]=B;s=G}do{o=u+I&127;b=s+1&127;if((o|0)==(s|0)){n[W+(b+-1<<2)>>2]=0;s=b}t=t*1.0e9+ +((n[W+(o<<2)>>2]|0)>>>0);u=u+1|0}while((u|0)!=2);h=+(f|0);c=t*h;u=e+53|0;B=u-r|0;k=(B|0)<(i|0);o=k?(B|0)>0?B:0:i;if((o|0)<53){p=+gz(+wz(1.0,105-o|0),c);w=+Gz(c,+wz(1.0,53-o|0));d=p;t=w;w=p+(c-w)}else{d=0.0;t=0.0;w=c}b=I+2&127;if((b|0)!=(s|0)){b=n[W+(b<<2)>>2]|0;do{if(b>>>0>=5e8){if((b|0)!=5e8){t=h*.75+t;break}if((I+3&127|0)==(s|0)){t=h*.5+t;break}else{t=h*.75+t;break}}else{if((b|0)==0?(I+3&127|0)==(s|0):0)break;t=h*.25+t}}while(0);if((53-o|0)>1?!(+Gz(t,1.0)!=0.0):0)c=t+1.0;else c=t}else c=t;t=w+c-d;do{if((u&2147483647|0)>(-2-J|0)){J=!(+Y(+t)>=9007199254740992.0);e=e+((J^1)&1)|0;t=J?t:t*.5;if((e+50|0)<=(N|0)?!(c!=0.0&(k&((o|0)!=(B|0)|J))):0)break;n[(UN()|0)>>2]=34}}while(0);t=+Zz(t,e)}}while(0);v=z;return+t}function SR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,l=0,t=0;l=A+4|0;i=n[l>>2]|0;t=A+100|0;if(i>>>0<(n[t>>2]|0)>>>0){n[l>>2]=i+1;i=a[i>>0]|0}else i=Pz(A)|0;switch(i|0){case 43:case 45:{r=(i|0)==45&1;i=n[l>>2]|0;if(i>>>0<(n[t>>2]|0)>>>0){n[l>>2]=i+1;i=a[i>>0]|0}else i=Pz(A)|0;if((e|0)!=0&(i+-48|0)>>>0>9?(n[t>>2]|0)!=0:0)n[l>>2]=(n[l>>2]|0)+-1;break}default:r=0}if((i+-48|0)>>>0>9)if(!(n[t>>2]|0)){r=-2147483648;i=0}else{n[l>>2]=(n[l>>2]|0)+-1;r=-2147483648;i=0}else{f=0;do{f=i+-48+(f*10|0)|0;i=n[l>>2]|0;if(i>>>0<(n[t>>2]|0)>>>0){n[l>>2]=i+1;i=a[i>>0]|0}else i=Pz(A)|0}while((i+-48|0)>>>0<10&(f|0)<214748364);e=((f|0)<0)<<31>>31;if((i+-48|0)>>>0<10)do{e=vH(f|0,e|0,10,0)|0;f=E;i=BH(i|0,((i|0)<0)<<31>>31|0,-48,-1)|0;f=BH(i|0,E|0,e|0,f|0)|0;e=E;i=n[l>>2]|0;if(i>>>0<(n[t>>2]|0)>>>0){n[l>>2]=i+1;i=a[i>>0]|0}else i=Pz(A)|0}while((i+-48|0)>>>0<10&((e|0)<21474836|(e|0)==21474836&f>>>0<2061584302));if((i+-48|0)>>>0<10)do{i=n[l>>2]|0;if(i>>>0<(n[t>>2]|0)>>>0){n[l>>2]=i+1;i=a[i>>0]|0}else i=Pz(A)|0}while((i+-48|0)>>>0<10);if(n[t>>2]|0)n[l>>2]=(n[l>>2]|0)+-1;t=(r|0)!=0;i=kH(0,0,f|0,e|0)|0;r=t?E:e;i=t?i:f}E=r;return i|0}function OR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0;r=A+84|0;a=n[r>>2]|0;l=i+256|0;f=Nz(a,0,l)|0;f=(f|0)==0?l:f-a|0;i=f>>>0<i>>>0?f:i;QH(e|0,a|0,i|0)|0;n[A+4>>2]=a+i;e=a+f|0;n[A+8>>2]=e;n[r>>2]=e;return i|0}function KR(A,e,i){A=A|0;e=e|0;i=i|0;return _R(A,e,i)|0}function _R(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if((n[A+76>>2]|0)>-1){r=(Gp(A)|0)==0;e=qR(A,e,i)|0;if(!r)mp(A)}else e=qR(A,e,i)|0;return e|0}function qR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;if((i|0)==1)e=e-(n[A+8>>2]|0)+(n[A+4>>2]|0)|0;r=A+20|0;f=A+28|0;if((n[r>>2]|0)>>>0>(n[f>>2]|0)>>>0?(kF[n[A+36>>2]&31](A,0,0)|0,(n[r>>2]|0)==0):0)e=-1;else{n[A+16>>2]=0;n[f>>2]=0;n[r>>2]=0;if((kF[n[A+40>>2]&31](A,e,i)|0)<0)e=-1;else{n[A+8>>2]=0;n[A+4>>2]=0;n[A>>2]=n[A>>2]&-17;e=0}}return e|0}function $R(A){A=A|0;var e=0,i=0,f=0,n=0,a=0,l=0;while(1){f=r[A>>0]|0;e=f<<24>>24;n=A+1|0;if(!(Wz(e)|0))break;else A=n}switch(e|0){case 45:{A=1;a=5;break}case 43:{A=0;a=5;break}default:{l=0;i=A;A=f}}if((a|0)==5){l=A;i=n;A=r[n>>0]|0}e=(A<<24>>24)+-48|0;if(e>>>0<10){A=0;do{i=i+1|0;A=(A*10|0)-e|0;e=(r[i>>0]|0)+-48|0}while(e>>>0<10)}else A=0;return(l|0?A:0-A|0)|0}function AP(A){A=A|0;return+ +eP(A,0)}function eP(A,e){A=A|0;e=e|0;return+ +iP(A,e,1)}function iP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,a=0,l=0,t=0;t=v;v=v+128|0;l=t;f=l;a=f+124|0;do{n[f>>2]=0;f=f+4|0}while((f|0)<(a|0));f=l+4|0;n[f>>2]=A;a=l+8|0;n[a>>2]=-1;n[l+44>>2]=A;n[l+76>>2]=-1;pz(l,0);r=+xR(l,i,1);i=(n[f>>2]|0)-(n[a>>2]|0)+(n[l+108>>2]|0)|0;if(e|0)n[e>>2]=i|0?A+i|0:A;v=t;return+r}function rP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,l=0;A:do{if(!i)e=0;else{l=e;while(1){a=i>>>1;e=l+(X(a,r)|0)|0;n=BF[f&63](A,e)|0;if(!n)break A;if((i|0)==1){e=0;break A}n=(n|0)<0;i=n?a:i-a|0;if(!i){e=0;break}else l=n?l:e}}}while(0);return e|0}function fP(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=A+2|0;r=A+4|0;i=vH((l[e+2>>1]|0)<<16|(l[e>>1]|0)|0,l[e+4>>1]|0|0,(l[n>>1]|0)<<16|(l[A>>1]|0)|0,l[r>>1]|0|0)|0;e=BH(i|0,E|0,l[e+6>>1]|0|0,0)|0;i=E;f[A>>1]=e;A=ZH(e|0,i|0,16)|0;f[n>>1]=A;f[r>>1]=i;E=i&65535;return e|0}function nP(A){A=A|0;f[86936]=f[29334]|0;f[86937]=f[29335]|0;f[86938]=f[29336]|0;f[29334]=f[A>>1]|0;f[29335]=f[A+2>>1]|0;f[29336]=f[A+4>>1]|0;return 173872}function aP(A){A=A|0;var e=0,i=0;e=v;v=v+16|0;i=e;f[i>>1]=13070;f[i+2>>1]=A;f[i+4>>1]=A>>>16;nP(i)|0;v=e;return}function lP(A){A=A|0;var e=0;e=fP(A,58674)|0;e=GH(e|0,E|0,4)|0;A=E|1072693248;n[o>>2]=e;n[o+4>>2]=A;return+(+s[o>>3]+-1.0)}function tP(){return+ +lP(58668)}function cP(A,e){A=A|0;e=e|0;if(!A)e=pN(1,24)|0;else{n[e>>2]=0;n[e+4>>2]=0;n[e+8>>2]=0;n[e+12>>2]=0;n[e+16>>2]=0;n[e+20>>2]=0}return e|0}function sP(A){A=A|0;var e=0,i=0;e=n[A>>2]|0;if(e|0)do{zN(n[e>>2]|0);i=e;e=n[e+4>>2]|0;zN(i)}while((e|0)!=0);zN(A);return}function bP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0;l=A+16|0;A:do{if(!(n[l>>2]|0)){s=A+12|0;a=n[s>>2]|0;if(a>>>0<f>>>0){do{if(e)if(!i){n[l>>2]=1;e=0;break A}else{l=A+8|0;n[l>>2]=i;a=1024;e=i;break}else{a=f<<3;a=a>>>0>1024?a:1024;c=NN(8)|0;if(!c){n[l>>2]=1;e=0;break A}e=NN(a)|0;n[c>>2]=e;i=e;if(!e){zN(c);n[l>>2]=1;e=0;break A}n[c+4>>2]=0;l=A+4|0;t=n[l>>2]|0;if(t|0)n[t+4>>2]=c;if(!(n[A>>2]|0))n[A>>2]=c;n[l>>2]=c;l=A+8|0;n[l>>2]=i}}while(0);n[s>>2]=a}else{l=A+8|0;e=n[l>>2]|0;i=e}i=i+f&3;i=((i|0)==0?0:4-i|0)+f|0;n[l>>2]=e+i;n[s>>2]=a-i;if(r)yH(e|0,0,i|0)|0}else e=0}while(0);return e|0}function oP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0;Z=v;v=v+48|0;t=Z;h=uP()|0;A:do{if(!h)e=12;else{g=cP(0,0)|0;if(!g){vP(h);e=12;break}r=t+8|0;n[r>>2]=0;n[r+4>>2]=0;n[r+8>>2]=0;n[r+12>>2]=0;n[r+16>>2]=0;n[t>>2]=g;n[t+4>>2]=h;n[t+16>>2]=e;n[t+32>>2]=i;r=t+28|0;n[r>>2]=-1;e=BP(t)|0;e:do{if(!e){l=t+20|0;f=n[l>>2]|0;n[A>>2]=f+-1;c=n[t+8>>2]|0;e=n[r>>2]|0;if((e|0)<(f|0)){a=pN(1,68)|0;if(a){w=e>>>31^1;n[a+60>>2]=w;n[a+28>>2]=f;if((i&8|0)==0|(w|0)!=0){e=kP(0,h,c,a)|0;if(e|0){l=0;t=0;f=0;r=0;break}f=n[a+40>>2]|0;if((f|0)>0){e=(f<<2)+4|0;r=NN(e)|0;if(!r){l=0;t=0;e=12;f=0;r=0;break}n[a+32>>2]=r;yH(r|0,-1,e|0)|0}else r=0;w=pN(f<<1|1,4)|0;n[a+36>>2]=w;if(!w){l=0;t=0;e=12;f=0;r=0;break}e=pN(n[l>>2]|0,12)|0;if(!e){l=0;t=0;e=12;f=0;r=0;break}n[a+16>>2]=e;e=kP(g,h,c,a)|0;if(!e)e=r;else{l=0;t=0;f=0;r=0;break}}else e=0;w=t+24|0;e=wP(g,h,c,w,e)|0;if(!e){e=n[w>>2]|0;n[w>>2]=e+1;e=dP(g,0,0,e)|0;if((e|0)!=0?(d=hP(g,c,e)|0,(d|0)!=0):0){e=gP(g,h,d)|0;if(!e){r=n[w>>2]|0;e=r<<2;B=NN(e)|0;if(B){k=NN(e)|0;if(k){if((r|0)>0)yH(B|0,0,r<<2|0)|0;ZP(d,0,B,0)|0;f=n[w>>2]|0;if((f|0)>0){e=0;r=0;do{n[k+(r<<2)>>2]=e;u=B+(r<<2)|0;e=e+1+(n[u>>2]|0)|0;n[u>>2]=0;r=r+1|0}while((r|0)<(f|0));b=e}else b=0;o=pN(b+1|0,32)|0;if(o){n[a>>2]=o;u=a+4|0;n[u>>2]=b;e=ZP(d,o,B,k)|0;if(!e){n[a+20>>2]=0;f=d+24|0;e=n[f>>2]|0;r=0;while(1){r=r+1|0;if((n[e>>2]|0)<=-1)break;else e=e+32|0}s=pN(r,32)|0;if(!s){l=B;t=k;e=12;f=B;r=k}else{n[a+8>>2]=s;r=n[f>>2]|0;f=n[r>>2]|0;if((f|0)>-1){e=0;do{n[s+(e<<5)+8>>2]=o+(n[k+(f<<2)>>2]<<5);n[s+(e<<5)+12>>2]=f;t=s+(e<<5)+16|0;n[t>>2]=0;c=r+12|0;l=n[c>>2]|0;if(l|0){f=0;do{G=f;f=f+1|0}while((n[l+(G<<2)>>2]|0)>-1);f=f<<2;l=NN(f)|0;n[t>>2]=l;if(!l){l=B;t=k;e=12;f=B;r=k;break e}QH(l|0,n[c>>2]|0,f|0)|0}n[s+(e<<5)+20>>2]=n[r+16>>2];e=e+1|0;r=r+32|0;f=n[r>>2]|0}while((f|0)>-1)}else e=0;n[s+(e<<5)+8>>2]=0;n[u>>2]=b;n[a+12>>2]=o+(n[k+(n[n[d+28>>2]>>2]<<2)>>2]<<5);n[a+52>>2]=n[w>>2];n[a+56>>2]=i;sP(g);vP(h);zN(B);zN(k);n[A+4>>2]=a;e=0;break A}}else{l=B;t=k;f=B;r=k}}else{l=B;t=k;e=12;f=B;r=k}}else{l=B;t=k;e=12;f=B;r=0}}else{l=B;t=0;e=12;f=0;r=0}}else{l=0;t=0;f=0;r=0}}else{l=0;t=0;e=12;f=0;r=0}}else{l=0;t=0;f=0;r=0}}else{l=0;t=0;e=12;f=0;r=0}}else{a=0;l=0;t=0;e=6;f=0;r=0}}else{a=0;l=0;t=0;f=0;r=0}}while(0);sP(g);vP(h);if(l|0)zN(f);if(t|0)zN(r);n[A+4>>2]=a;GP(A)}}while(0);v=Z;return e|0}function uP(){var A=0,e=0;A=NN(20)|0;do{if(A){e=NN(2048)|0;n[A+16>>2]=e;if(!e){zN(A);A=0;break}else{n[A>>2]=512;n[A+4>>2]=1024e3;n[A+8>>2]=128;n[A+12>>2]=0;break}}}while(0);return A|0}function vP(A){A=A|0;zN(n[A+16>>2]|0);zN(A);return}function BP(A){A=A|0;var e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0;g=v;v=v+16|0;B=g+4|0;k=g;w=n[A+32>>2]&1;d=A+16|0;i=n[d>>2]|0;h=n[A+4>>2]|0;e=MP(h,0)|0;A:do{if(!e){b=(w|0)!=0;o=A+8|0;u=A+12|0;e=0;s=1;e:while(1){a=0;l=e;f=0;i:while(1){e=r[i>>0]|0;if(b){if(e<<24>>24==40)break;if((l|0)!=0&e<<24>>24==41)c=13;else c=14}else if(e<<24>>24==92)switch(r[i+1>>0]|0){case 40:break i;case 41:{c=13;break}default:c=14}else c=14;if((c|0)==13){c=0;t=dP(n[A>>2]|0,-1,-1,-1)|0;n[o>>2]=t;if(!t){e=12;break A}else t=f}else if((c|0)==14){c=0;e=LP(A,i)|0;if(e|0)break A;t=f;i=n[u>>2]|0}r:while(1){f:while(1){e=r[i>>0]|0;switch(e<<24>>24){case 42:case 92:break;default:{if(!b)break f;switch(e<<24>>24){case 123:case 63:case 43:break;default:break f}}}e=e<<24>>24==92;if(b&e)break;f=i+1|0;if(e)switch(r[f>>0]|0){case 123:case 63:case 43:break;default:break f}i=e?f:i;if((!b?(i|0)==((n[d>>2]|0)+1|0):0)?(r[i+-1>>0]|0)==94:0)break;if((r[i>>0]|0)==123){i=DP(i+1|0,w,B,k)|0;if(!i){c=28;break e}e=n[k>>2]|0;f=n[A>>2]|0;if(!e)e=dP(f,-1,-1,-1)|0;else c=36}else{n[B>>2]=0;n[k>>2]=-1;e=r[i>>0]|0;if(e<<24>>24==43){n[B>>2]=1;e=r[i>>0]|0}if(e<<24>>24==63){n[k>>2]=1;e=1}else e=-1;i=i+1|0;f=n[A>>2]|0;c=36}if((c|0)==36){c=0;e=pP(f,n[o>>2]|0,n[B>>2]|0,e,0)|0}n[o>>2]=e;if(!e){e=12;break A}}e=hP(n[A>>2]|0,a,n[o>>2]|0)|0;f=r[i>>0]|0;f:do{if(b){if(f<<24>>24==124){c=40;break r}if((l|0)!=0&f<<24>>24==41|f<<24>>24==0)c=47;else{a=e;f=t;continue i}}else{switch(f<<24>>24){case 0:{c=47;break f}case 92:break;default:{a=e;f=t;continue i}}switch(r[i+1>>0]|0){case 124:case 41:break;default:{a=e;f=t;continue i}}e=RP(n[A>>2]|0,t,e)|0;if((r[i+1>>0]|0)==124){f=2;break r}if(!l){e=8;break A}i=i+2|0;f=92}}while(0);if((c|0)==47){c=0;e=RP(n[A>>2]|0,t,e)|0;i=f<<24>>24==41?i+1|0:i}e=XP(A,e,QP(h)|0)|0;if(e|0)break A;e=f<<24>>24==0;f=(l|0)<1;if(f&e){c=50;break e}if(f|e){e=8;break A}a=EP(h)|0;l=l+-1|0;t=EP(h)|0}if((c|0)==40){f=1;e=RP(n[A>>2]|0,t,e)|0}a=0;i=i+f|0;f=e}e=CP(h,f)|0;if(e|0)break A;e=CP(h,a)|0;if(e|0)break A;e=MP(h,s)|0;if(e|0)break A;e=l+1|0;s=s+1|0;i=b?i+1|0:i+2|0}if((c|0)==28){e=10;break}else if((c|0)==50){n[A+20>>2]=s;e=0;break}}}while(0);v=g;return e|0}function kP(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0;m=IP(e)|0;I=(A|0)==0|(f|0)==0;if(!I){n[f+48>>2]=0;n[n[f+36>>2]>>2]=-1}l=n[f+28>>2]|0;C=NN((l<<3)+8|0)|0;do{if(!C)a=12;else{n[C>>2]=-1;M=NN((l<<2)+4|0)|0;if(!M){zN(C);a=12;break}n[M>>2]=-1;a=0;while(1)if(a>>>0>l>>>0)break;else a=a+1|0;CP(e,i)|0;a=MP(e,0)|0;A:do{if((a|0)!=0|(IP(e)|0)<=(m|0)){i=C;u=0;l=0;o=0;b=-1}else{g=f+32|0;Z=f+36|0;G=f+16|0;i=C;u=0;l=0;o=0;h=1;b=-1;d=0;while(1){e:do{switch(QP(e)|0){case 6:{t=QP(e)|0;a=0;do{c=i+(a<<2)|0;a=a+1|0}while((n[c>>2]|0)>-1);n[c>>2]=t<<1|1;n[i+(a<<2)>>2]=-1;a=0;while(1)if((n[M+(a<<2)>>2]|0)>-1)a=a+1|0;else break;n[M+(a+-1<<2)>>2]=-1;a=0;c=h;t=d;break}case 0:{k=EP(e)|0;w=k+12|0;c=n[w>>2]|0;if((c|0)>-1){a=0;do{t=i+(a<<2)|0;a=a+1|0}while((n[t>>2]|0)>-1);n[t>>2]=c<<1;n[i+(a<<2)>>2]=-1;if(!I){a=0;while(1)if((n[M+(a<<2)>>2]|0)>-1)a=a+1|0;else break;t=(n[G>>2]|0)+(c*12|0)+8|0;n[t>>2]=0;if((a|0)>0){a=NN((a<<2)+4|0)|0;if(!a){a=12;c=h;t=d;break e}n[t>>2]=a;t=n[M>>2]|0;if((t|0)>-1){s=0;c=a;do{n[c>>2]=t;s=s+1|0;t=n[M+(s<<2)>>2]|0;c=a+(s<<2)|0}while((t|0)>-1);a=c}n[a>>2]=-1}}a=MP(e,n[w>>2]|0)|0;if(a|0){c=h;t=d;break e}a=MP(e,6)|0;if(a|0){c=h;t=d;break e}}i:do{switch(n[k>>2]|0){case 0:{B=n[n[k+4>>2]>>2]|0;if((B|0)>-1|(B|0)==-4?(n[i>>2]|0)>-1:0){if(I){n[k+20>>2]=1;a=0}else{a=PP(A,k,o)|0;n[(n[g>>2]|0)+(o<<2)>>2]=d;if((b|0)>-1){c=n[Z>>2]|0;t=0;while(1){s=c+(t<<2)|0;v=t+1|0;if((n[s>>2]|0)>-1)t=v;else break}n[s>>2]=o;n[c+(v<<2)>>2]=b;n[c+(t+2<<2)>>2]=-1;l=l+1|0;b=-1}HP(i,f,o)}n[i>>2]=-1;B=h+1|0;v=d;u=u+1|0;o=h}else{B=h;a=0;v=d}break}case 1:{c=n[k+4>>2]|0;s=n[c>>2]|0;c=n[c+4>>2]|0;a=CP(e,k)|0;if(!a){a=MP(e,5)|0;if(!a){a=CP(e,c)|0;if(!a){a=MP(e,0)|0;if(!a){t=s+20|0;a=MP(e,(n[t>>2]|0)+h|0)|0;if(!a){if((n[t>>2]|0)>0){t=(n[c+20>>2]|0)>0;a=t?h:-1;t=h+(t&1)|0}else{a=-1;t=h}a=MP(e,a)|0;if(!a){a=MP(e,4)|0;if(!a){a=CP(e,s)|0;if(!a){B=t;a=MP(e,0)|0;v=d}else{B=t;v=d}}else{B=t;v=d}}else{B=t;v=d}}else{B=h;v=d}}else{B=h;v=d}}else{B=h;v=d}}else{B=h;v=d}}else{B=h;v=d}break}case 2:{t=n[k+4>>2]|0;if(I){if((n[i>>2]|0)>-1)a=1;else a=(r[t+12>>0]&1)!=0;a=MP(e,a&1)|0;if(a|0){B=h;v=d;break i}}else{a=MP(e,o)|0;if(a|0){B=h;v=d;break i}a=MP(e,r[t+12>>0]&1)|0;if(a|0){B=h;v=d;break i}}a=CP(e,k)|0;if(!a){a=MP(e,1)|0;if(!a){a=CP(e,n[t>>2]|0)|0;if(!a){a=MP(e,0)|0;if(!a){if((n[i>>2]|0)<=-1?(r[t+12>>0]&1)==0:0){B=h;a=0;v=0;break i}if(I)a=0;else{a=PP(A,k,o)|0;n[(n[g>>2]|0)+(o<<2)>>2]=(r[t+12>>0]&1)==0?d:1;if((b|0)>-1){c=n[Z>>2]|0;t=0;while(1){s=c+(t<<2)|0;v=t+1|0;if((n[s>>2]|0)>-1)t=v;else break}n[s>>2]=o;n[c+(v<<2)>>2]=b;n[c+(t+2<<2)>>2]=-1;l=l+1|0;b=-1}HP(i,f,o)}n[i>>2]=-1;B=h+1|0;v=0;u=u+1|0;o=h}else{B=h;v=d}}else{B=h;v=d}}else{B=h;v=d}}else{B=h;v=d}break}case 3:{c=n[k+4>>2]|0;s=n[c>>2]|0;c=n[c+4>>2]|0;t=(n[i>>2]|0)>-1;B=h+1|0;a=MP(e,t?B:h)|0;if(!a){a=MP(e,t?h:o)|0;if(!a){a=CP(e,i)|0;if(!a){a=MP(e,(n[i>>2]|0)>>>31^1)|0;if(!a){a=CP(e,k)|0;if(!a){a=CP(e,c)|0;if(!a){a=CP(e,s)|0;if(!a){a=MP(e,3)|0;if(!a){a=CP(e,c)|0;if(!a){a=MP(e,0)|0;if(!a){a=MP(e,2)|0;if(a|0){B=h;v=d;break i}a=CP(e,s)|0;if(a|0){B=h;v=d;break i}a=MP(e,0)|0;if(a|0){B=h;v=d;break i}if((n[i>>2]|0)>-1){if(I)a=0;else{a=PP(A,k,o)|0;n[(n[g>>2]|0)+(o<<2)>>2]=d;if((b|0)>-1){c=n[Z>>2]|0;t=0;while(1){s=c+(t<<2)|0;v=t+1|0;if((n[s>>2]|0)>-1)t=v;else break}n[s>>2]=o;n[c+(v<<2)>>2]=b;n[c+(t+2<<2)>>2]=-1;l=l+1|0;b=-1}HP(i,f,o)}n[i>>2]=-1;u=u+1|0;o=h;t=B}else{a=0;t=h}h=(n[k+16>>2]|0)>0;B=h?t+2|0:t;v=d;o=h?t+1|0:o}else{B=h;v=d}}else{B=h;v=d}}else{B=h;v=d}}else{B=h;v=d}}else{B=h;v=d}}else{B=h;v=d}}else{B=h;v=d}}else{B=h;v=d}}else{B=h;v=d}}else{B=h;v=d}break}default:{B=h;a=0;v=d}}}while(0);c=n[w>>2]|0;if((c|0)>-1){t=0;do{s=M+(t<<2)|0;t=t+1|0}while((n[s>>2]|0)>-1);n[s>>2]=c;n[M+(t<<2)>>2]=-1;c=B;t=v}else{c=B;t=v}break}case 1:{a=EP(e)|0;if(I){t=n[(n[n[a+4>>2]>>2]|0)+20>>2]|0;n[a+20>>2]=(QP(e)|0)+t;t=0;b=-1}else{k=QP(e)|0;w=QP(e)|0;t=k;b=(k|0)==0?b:w}a=0;c=h;t=I?d:(t|0)==0&1;break}case 4:{t=QP(e)|0;c=QP(e)|0;a=0;o=(t|0)>-1?t:o;t=d;break}case 5:{a=EP(e)|0;if(I){c=n[a+4>>2]|0;n[a+20>>2]=(n[(n[c+4>>2]|0)+20>>2]|0)+(n[(n[c>>2]|0)+20>>2]|0);a=0;c=h;t=d}else{a=0;c=h;t=d}break}case 2:{while(1)if((n[i>>2]|0)>-1)i=i+4|0;else{a=0;c=h;t=d;break}break}case 3:{c=EP(e)|0;v=EP(e)|0;a=EP(e)|0;i=QP(e)|0;if(I){w=n[a+4>>2]|0;d=a+16|0;n[a+20>>2]=(n[(n[w>>2]|0)+20>>2]|0)+i+(n[(n[w+4>>2]|0)+20>>2]|0)+((n[d>>2]|0)>0?2:0);a=d}else a=a+16|0;i=EP(e)|0;t=QP(e)|0;s=QP(e)|0;if((n[a>>2]|0)>0){if(I)a=0;else{a=FP(A,c,t)|0;n[(n[g>>2]|0)+(t<<2)>>2]=1;if(!a)a=FP(A,v,s)|0;n[(n[g>>2]|0)+(s<<2)>>2]=1}u=u+2|0;c=h;t=1}else{a=0;c=h;t=1}break}default:{a=0;c=h;t=d}}}while(0);if((a|0)!=0|(IP(e)|0)<=(m|0))break A;else{h=c;d=t}}}}while(0);if(!I?(HP(i,f,o),(b|0)>-1):0){t=n[f+36>>2]|0;i=0;while(1){c=t+(i<<2)|0;s=i+1|0;if((n[c>>2]|0)>-1)i=s;else break}n[c>>2]=o;n[t+(s<<2)>>2]=b;n[t+(i+2<<2)>>2]=-1;l=l+1|0}n[f+48>>2]=u;n[f+40>>2]=u;n[f+44>>2]=l;zN(C);zN(M)}}while(0);return a|0}function wP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0;I=v;v=v+16|0;h=I+12|0;m=I+8|0;g=I+4|0;Z=I;G=IP(e)|0;n[h>>2]=0;n[m>>2]=0;i=CP(e,i)|0;A:do{if(!i){i=MP(e,0)|0;if(!i){e:do{if((IP(e)|0)>(G|0)){a=0;t=0;c=0;i:while(1){k=QP(e)|0;w=EP(e)|0;r:do{switch(k|0){case 0:{switch(n[w>>2]|0){case 0:{i=n[w+4>>2]|0;w=n[i>>2]|0;if(!((w|0)>-1|(w|0)==-4)){i=c;break r}w=i+8|0;i=(n[w>>2]|0)+c|0;n[w>>2]=i;if((i|0)<=(n[m>>2]|0)){i=c;break r}n[m>>2]=i;i=c;break r}case 3:{l=n[w+4>>2]|0;i=CP(e,n[l+4>>2]|0)|0;if(i|0)break e;i=MP(e,0)|0;if(i|0)break e;i=CP(e,n[l>>2]|0)|0;if(i|0)break e;break}case 1:{l=n[w+4>>2]|0;i=CP(e,n[l+4>>2]|0)|0;if(i|0)break e;i=MP(e,0)|0;if(i|0)break e;i=CP(e,n[l>>2]|0)|0;if(i|0)break e;break}case 2:{l=n[w+4>>2]|0;i=MP(e,c)|0;if(i|0)break e;i=CP(e,w)|0;if(i|0)break e;i=MP(e,1)|0;if(i|0)break e;i=CP(e,n[l>>2]|0)|0;if(i|0)break e;i=MP(e,0)|0;if(i|0)break e;if((n[l+4>>2]|0)<=1?(n[l+8>>2]|0)<=1:0)i=c;else{n[h>>2]=0;i=0}t=t+1|0;break r}default:{i=c;break r}}i=MP(e,0)|0;if(!i)i=c;else break e;break}case 1:{B=w+4|0;u=n[B>>2]|0;k=QP(e)|0;n[h>>2]=k;o=u+4|0;c=n[o>>2]|0;if((c|0)<=1)if((n[u+8>>2]|0)>1){n[g>>2]=0;if((c|0)>0)d=30;else{i=k;l=0;d=37}}else i=k;else{n[g>>2]=0;d=30}f:do{if((d|0)==30){i=zP(A,e,n[u>>2]|0,(c|0)>1?1:2,h,f,Z,m)|0;if(!i){l=0;s=k;b=1}else{d=34;break i}while(1){i=n[Z>>2]|0;if(!l)l=i;else l=hP(A,l,i)|0;if(!l){i=12;d=34;break i}c=n[o>>2]|0;if((b|0)>=(c|0)){i=s;d=37;break f}s=n[h>>2]|0;b=b+1|0;i=zP(A,e,n[u>>2]|0,(b|0)<(c|0)?1:2,h,f,Z,m)|0;if(i|0){d=34;break i}}}}while(0);if((d|0)==37){d=0;o=u+8|0;s=n[o>>2]|0;if((s|0)==-1){s=n[h>>2]|0;i=zP(A,e,n[u>>2]|0,0,h,0,g,m)|0;if(i|0)break i;c=pP(A,n[g>>2]|0,0,-1,0)|0;n[g>>2]=c;if(!c){i=12;break i}else i=s}else if((c|0)<(s|0)){s=c;c=0;while(1){b=n[h>>2]|0;i=zP(A,e,n[u>>2]|0,0,h,0,Z,m)|0;if(i|0){d=49;break i}if(!c){i=n[Z>>2]|0;n[g>>2]=i}else{i=hP(A,n[Z>>2]|0,c)|0;n[g>>2]=i}if(!i){i=12;d=49;break i}c=dP(A,-1,-1,-1)|0;if(!c){i=12;d=49;break i}c=RP(A,c,i)|0;n[g>>2]=c;if(!c){i=12;d=49;break i}s=s+1|0;if((s|0)>=(n[o>>2]|0)){i=b;break}}}else c=0;n[h>>2]=i;if(l){if(c){l=hP(A,l,c)|0;d=54}}else{l=c;d=54}if((d|0)==54){d=0;if(!l){i=12;break i}}n[B>>2]=n[l+4>>2];n[w>>2]=n[l>>2]}t=t+-1|0;l=i-k+a|0;if(!t){n[h>>2]=l;a=l;t=0;i=l}else a=l;break}default:i=c}}while(0);if((IP(e)|0)>(G|0))c=i;else{i=0;break e}}break A}else{i=0;a=0}}while(0);G=(n[r>>2]|0)+a|0;m=n[m>>2]|0;n[r>>2]=(m|0)>(G|0)?m:G}}}while(0);v=I;return i|0}function dP(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=bP(A,0,0,1,20)|0;A=NP(A,0,f)|0;if(!A)A=0;else{n[f>>2]=e;n[f+4>>2]=i;n[f+8>>2]=r}return A|0}function hP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(e){r=bP(A,0,0,1,8)|0;A=NP(A,1,r)|0;if(!A)i=0;else{n[r>>2]=e;n[r+4>>2]=i;n[A+16>>2]=(n[i+16>>2]|0)+(n[e+16>>2]|0);i=A}}return i|0}function gP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0;u=v;v=v+16|0;c=u+4|0;s=u;b=IP(e)|0;i=CP(e,i)|0;A:do{if(!i){i=MP(e,0)|0;if(!i)if((IP(e)|0)>(b|0)){e:while(1){l=QP(e)|0;t=EP(e)|0;i:do{switch(l|0){case 0:switch(n[t>>2]|0){case 0:{a=n[t+4>>2]|0;f=n[a>>2]|0;if((f|0)==-4){n[t+8>>2]=0;i=a+8|0;l=yP(A,n[i>>2]|0,0,1114111,0,0,-1)|0;n[t+24>>2]=l;if(!l){i=12;break A}l=yP(A,n[i>>2]|0,0,1114111,0,0,n[a+4>>2]|0)|0;n[t+28>>2]=l;if(!l){i=12;break A}else break i}i=t+8|0;if((f|0)<0){n[i>>2]=1;l=YP(A)|0;n[t+24>>2]=l;if(!l){i=12;break A}l=YP(A)|0;n[t+28>>2]=l;if(!l){i=12;break A}else break i}else{n[i>>2]=0;i=a+8|0;r=a+4|0;l=yP(A,n[i>>2]|0,f,n[r>>2]|0,0,0,-1)|0;n[t+24>>2]=l;if(!l){i=12;break A}l=yP(A,n[i>>2]|0,n[a>>2]|0,n[r>>2]|0,n[a+12>>2]|0,n[a+16>>2]|0,-1)|0;n[t+28>>2]=l;if(!l){i=12;break A}else break i}}case 3:{i=CP(e,t)|0;if(i|0)break A;i=MP(e,1)|0;if(i|0)break A;r=t+4|0;i=CP(e,n[(n[r>>2]|0)+4>>2]|0)|0;if(i|0)break A;i=MP(e,0)|0;if(i|0)break A;i=CP(e,n[n[r>>2]>>2]|0)|0;if(i|0)break A;i=MP(e,0)|0;if(!i)break i;else break A}case 1:{i=CP(e,t)|0;if(i|0)break A;i=MP(e,2)|0;if(i|0)break A;r=t+4|0;i=CP(e,n[(n[r>>2]|0)+4>>2]|0)|0;if(i|0)break A;i=MP(e,0)|0;if(i|0)break A;i=CP(e,n[n[r>>2]>>2]|0)|0;if(i|0)break A;i=MP(e,0)|0;if(!i)break i;else break A}case 2:{i=CP(e,t)|0;if(i|0)break A;i=MP(e,3)|0;if(i|0)break A;i=CP(e,n[n[t+4>>2]>>2]|0)|0;if(i|0)break A;i=MP(e,0)|0;if(!i)break i;else break A}default:break i}case 1:{i=n[t+4>>2]|0;r=n[i>>2]|0;f=i+4|0;a=n[f>>2]|0;if(!(n[r+8>>2]|0))l=(n[a+8>>2]|0)!=0;else l=1;n[t+8>>2]=l&1;l=VP(A,n[r+24>>2]|0,n[a+24>>2]|0,0,0)|0;n[t+24>>2]=l;if(!l){i=12;break A}l=VP(A,n[(n[i>>2]|0)+28>>2]|0,n[(n[f>>2]|0)+28>>2]|0,0,0)|0;n[t+28>>2]=l;if(!l){i=12;break A}break}case 3:{l=n[t+4>>2]|0;i=n[l>>2]|0;if(!(n[l+4>>2]|0))r=1;else r=(n[i+8>>2]|0)!=0&1;n[t+8>>2]=r;n[t+24>>2]=n[i+24>>2];n[t+28>>2]=n[i+28>>2];break}case 2:{a=n[t+4>>2]|0;i=n[a>>2]|0;r=i+8|0;if(!(n[r>>2]|0))f=0;else f=(n[(n[a+4>>2]|0)+8>>2]|0)!=0;n[t+8>>2]=f&1;if(n[r>>2]|0){i=WP(e,i,0,0,c)|0;if(i|0)break e;r=NN((n[c>>2]<<2)+4|0)|0;if(!r){i=12;break e}n[r>>2]=-1;n[s>>2]=0;i=WP(e,n[a>>2]|0,r,s,0)|0;if(i|0){o=45;break e}i=a+4|0;l=t+24|0;n[l>>2]=VP(A,n[(n[i>>2]|0)+24>>2]|0,n[(n[a>>2]|0)+24>>2]|0,r,n[s>>2]|0)|0;zN(r);if(!(n[l>>2]|0)){i=12;break e}else f=i}else{n[t+24>>2]=n[i+24>>2];f=a+4|0}i=n[f>>2]|0;if(n[i+8>>2]|0){i=WP(e,i,0,0,c)|0;if(i|0)break e;r=NN((n[c>>2]<<2)+4|0)|0;if(!r){i=12;break e}n[r>>2]=-1;n[s>>2]=0;i=WP(e,n[f>>2]|0,r,s,0)|0;if(i|0){o=52;break e}t=t+28|0;n[t>>2]=VP(A,n[(n[a>>2]|0)+28>>2]|0,n[(n[f>>2]|0)+28>>2]|0,r,n[s>>2]|0)|0;zN(r);if(!(n[t>>2]|0)){i=12;break e}}else n[t+28>>2]=n[i+28>>2];break}default:{}}}while(0);if((IP(e)|0)<=(b|0)){i=0;break A}}if((o|0)==45)zN(r);else if((o|0)==52)zN(r)}else i=0}}while(0);v=u;return i|0}function ZP(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0;A:while(1){switch(n[A>>2]|0){case 2:{A=n[A+4>>2]|0;if((n[A+8>>2]|0)==-1?(l=n[A>>2]|0,l=mP(n[l+28>>2]|0,n[l+24>>2]|0,e,i,r)|0,(l|0)!=0):0){A=l;break A}break}case 3:{f=n[A+4>>2]|0;A=ZP(n[f>>2]|0,e,i,r)|0;if(A|0)break A;A=f+4|0;break}case 1:{f=n[A+4>>2]|0;a=f+4|0;A=mP(n[(n[f>>2]|0)+28>>2]|0,n[(n[a>>2]|0)+24>>2]|0,e,i,r)|0;if(A|0)break A;A=ZP(n[f>>2]|0,e,i,r)|0;if(!A)A=a;else break A;break}default:{A=0;break A}}A=n[A>>2]|0}return A|0}function GP(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0;l=n[A+4>>2]|0;if(l|0){r=l+4|0;A=n[l>>2]|0;if(n[r>>2]|0){i=0;do{if(n[A+(i<<5)+8>>2]|0){e=n[A+(i<<5)+16>>2]|0;if(e){zN(e);A=n[l>>2]|0}e=n[A+(i<<5)+28>>2]|0;if(e){zN(e);A=n[l>>2]|0}}i=i+1|0}while(i>>>0<(n[r>>2]|0)>>>0)}if(A|0)zN(A);i=l+8|0;A=n[i>>2]|0;if(A|0){if(n[A+8>>2]|0){while(1){e=n[A+16>>2]|0;if(e|0)zN(e);if(!(n[A+40>>2]|0))break;else A=A+32|0}A=n[i>>2]|0}zN(A)}f=l+16|0;A=n[f>>2]|0;if(A|0){a=l+28|0;e=n[a>>2]|0;if(e){r=0;do{i=n[A+(r*12|0)+8>>2]|0;if(i){zN(i);e=n[a>>2]|0;A=n[f>>2]|0}r=r+1|0}while(r>>>0<e>>>0)}zN(A)}A=n[l+32>>2]|0;if(A|0)zN(A);A=n[l+20>>2]|0;if(A|0)zN(A);A=n[l+36>>2]|0;if(A|0)zN(A);zN(l)}return}function mP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0;a=n[A>>2]|0;l=(a|0)>-1;A:do{if(!i)if(l){l=e+32|0;do{if((n[e>>2]|0)>-1?(I=r+(a<<2)|0,n[I>>2]=(n[I>>2]|0)+1,(n[l>>2]|0)>-1):0){a=l;do{I=r+(n[A>>2]<<2)|0;n[I>>2]=(n[I>>2]|0)+1;a=a+32|0}while((n[a>>2]|0)>-1)}A=A+32|0;a=n[A>>2]|0}while((a|0)>-1);a=0}else a=0;else if(l)while(1){l=n[e>>2]|0;e:do{if((l|0)>-1){B=A+4|0;k=A+8|0;w=A+16|0;d=A+20|0;h=A+24|0;g=A+28|0;Z=A+12|0;r=-1;a=e;while(1){v=l;while(1){if((v|0)!=(r|0))break;a=a+32|0;l=n[a>>2]|0;if((l|0)>-1)v=l;else break e}b=i+(n[f+(n[A>>2]<<2)>>2]<<5)|0;while(1){l=b+8|0;if(!(n[l>>2]|0))break;else b=b+32|0}n[b+40>>2]=0;n[b>>2]=n[B>>2];n[b+4>>2]=n[k>>2];n[l>>2]=i+(n[f+(v<<2)>>2]<<5);n[b+12>>2]=v;l=n[d>>2]|0;r=n[a+16>>2]|n[w>>2]|(l|0?4:0)|(n[h>>2]|0?8:0);t=b+20|0;n[t>>2]=r;c=n[g>>2]|0;if((c|0)>-1){n[t>>2]=r|256;l=c}n[b+24>>2]=l;r=n[h>>2]|0;if(!r)n[b+28>>2]=0;else{l=0;do{u=l;l=l+1|0}while((n[r+(u<<2)>>2]|0)!=0);l=NN(l<<2)|0;n[b+28>>2]=l;if(!l){a=12;break A}s=n[h>>2]|0;r=n[s>>2]|0;if(r){c=0;t=l;do{n[t>>2]=r;c=c+1|0;r=n[s+(c<<2)>>2]|0;t=l+(c<<2)|0}while((r|0)!=0);l=t}n[l>>2]=0}r=n[Z>>2]|0;if(!r)l=0;else{l=0;while(1)if((n[r+(l<<2)>>2]|0)>-1)l=l+1|0;else break}s=a+12|0;t=n[s>>2]|0;if(!t)r=0;else{r=0;while(1)if((n[t+(r<<2)>>2]|0)>-1)r=r+1|0;else break}c=b+16|0;t=n[c>>2]|0;if(t|0)zN(t);n[c>>2]=0;l=r+l|0;if((l|0)>0){u=NN((l<<2)+4|0)|0;n[c>>2]=u;if(!u){a=12;break A}r=n[Z>>2]|0;if((r|0)!=0?(G=n[r>>2]|0,(G|0)>-1):0){l=0;t=G;do{n[u+(l<<2)>>2]=t;l=l+1|0;t=n[r+(l<<2)>>2]|0}while((t|0)>-1);o=l}else o=0;c=n[s>>2]|0;if((c|0)!=0?(m=n[c>>2]|0,(m|0)>-1):0){s=(o|0)>0;l=o;t=0;b=m;do{i:do{if(s){r=0;while(1){if((n[u+(r<<2)>>2]|0)==(b|0))break i;r=r+1|0;if((r|0)>=(o|0)){I=39;break}}}else I=39}while(0);if((I|0)==39){I=0;n[u+(l<<2)>>2]=b;l=l+1|0}t=t+1|0;b=n[c+(t<<2)>>2]|0}while((b|0)>-1)}else l=o;n[u+(l<<2)>>2]=-1}a=a+32|0;l=n[a>>2]|0;if((l|0)<=-1)break;else r=v}}}while(0);A=A+32|0;if((n[A>>2]|0)<=-1){a=0;break}}else a=0}while(0);return a|0}function IP(A){A=A|0;return n[A+12>>2]|0}function CP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=v;v=v+16|0;r=i+4|0;f=i;n[f>>2]=e;n[r>>2]=n[f>>2];e=JP(A,r)|0;v=i;return e|0}function MP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=v;v=v+16|0;r=i+4|0;f=i;n[f>>2]=e;n[r>>2]=n[f>>2];e=JP(A,r)|0;v=i;return e|0}function QP(A){A=A|0;var e=0,i=0;e=n[A+16>>2]|0;i=A+12|0;A=(n[i>>2]|0)+-1|0;n[i>>2]=A;return n[e+(A<<2)>>2]|0}function EP(A){A=A|0;var e=0,i=0;e=n[A+16>>2]|0;i=A+12|0;A=(n[i>>2]|0)+-1|0;n[i>>2]=A;return n[e+(A<<2)>>2]|0}function yP(A,e,i,r,f,a,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;l=l|0;A=bP(A,0,0,1,64)|0;if(!A)A=0;else{n[A>>2]=e;n[A+4>>2]=i;n[A+8>>2]=r;n[A+20>>2]=f;n[A+24>>2]=a;n[A+28>>2]=l;n[A+32>>2]=-1;n[A+36>>2]=-1;n[A+40>>2]=-1}return A|0}function YP(A){A=A|0;A=bP(A,0,0,1,32)|0;if(!A)A=0;else{n[A>>2]=-1;n[A+4>>2]=-1;n[A+8>>2]=-1}return A|0}function VP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0;v=(r|0)==0;if(v)u=0;else{a=0;while(1)if((n[r+(a<<2)>>2]|0)>-1)a=a+1|0;else{u=a;break}}l=0;while(1)if((n[e+(l<<5)>>2]|0)>-1)l=l+1|0;else{a=0;break}while(1)if((n[i+(a<<5)>>2]|0)>-1)a=a+1|0;else break;a=bP(A,0,0,1,(a+l<<5)+32|0)|0;A:do{if(!a)a=0;else{l=n[e>>2]|0;if((l|0)>-1){o=(u|0)>0;t=0;while(1){n[a+(t<<5)>>2]=l;n[a+(t<<5)+4>>2]=n[e+(t<<5)+4>>2];n[a+(t<<5)+8>>2]=n[e+(t<<5)+8>>2];n[a+(t<<5)+16>>2]=n[e+(t<<5)+16>>2]|f;n[a+(t<<5)+20>>2]=n[e+(t<<5)+20>>2];n[a+(t<<5)+24>>2]=n[e+(t<<5)+24>>2];n[a+(t<<5)+28>>2]=n[e+(t<<5)+28>>2];b=e+(t<<5)+12|0;c=n[b>>2]|0;l=(c|0)==0;if(v&l)l=0;else{if(l)s=0;else{l=0;while(1)if((n[c+(l<<2)>>2]|0)>-1)l=l+1|0;else{s=l;break}}l=bP(A,0,0,0,(s+u<<2)+4|0)|0;if(!l){a=0;break A}if((s|0)>0){b=n[b>>2]|0;c=0;do{n[l+(c<<2)>>2]=n[b+(c<<2)>>2];c=c+1|0}while((c|0)!=(s|0))}else s=0;if(o){c=0;do{n[l+(c+s<<2)>>2]=n[r+(c<<2)>>2];c=c+1|0}while((c|0)!=(u|0));c=u}else c=0;n[l+(c+s<<2)>>2]=-1}n[a+(t<<5)+12>>2]=l;t=t+1|0;l=n[e+(t<<5)>>2]|0;if((l|0)<=-1){u=t;break}}}else u=0;t=n[i>>2]|0;l=a+(u<<5)|0;if((t|0)>-1){o=0;b=u;do{n[l>>2]=t;n[a+(b<<5)+4>>2]=n[i+(o<<5)+4>>2];n[a+(b<<5)+8>>2]=n[i+(o<<5)+8>>2];n[a+(b<<5)+16>>2]=n[i+(o<<5)+16>>2];n[a+(b<<5)+20>>2]=n[i+(o<<5)+20>>2];n[a+(b<<5)+24>>2]=n[i+(o<<5)+24>>2];n[a+(b<<5)+28>>2]=n[i+(o<<5)+28>>2];c=i+(o<<5)+12|0;l=n[c>>2]|0;if(!l)l=0;else{t=0;while(1)if((n[l+(t<<2)>>2]|0)>-1)t=t+1|0;else break;l=bP(A,0,0,0,(t<<2)+4|0)|0;if(!l){a=0;break A}if((t|0)>0){s=n[c>>2]|0;c=0;do{n[l+(c<<2)>>2]=n[s+(c<<2)>>2];c=c+1|0}while((c|0)!=(t|0))}else t=0;n[l+(t<<2)>>2]=-1}n[a+(b<<5)+12>>2]=l;o=o+1|0;t=n[i+(o<<5)>>2]|0;b=o+u|0;l=a+(b<<5)|0}while((t|0)>-1)}n[l>>2]=-1}}while(0);return a|0}function WP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0;v=IP(A)|0;B=(f|0)!=0;if(B)n[f>>2]=0;e=CP(A,e)|0;A:do{if(!e){o=(i|0)==0;b=(r|0)==0;if((IP(A)|0)>(v|0))while(1){e=EP(A)|0;e:do{switch(n[e>>2]|0){case 0:{e=n[e+4>>2]|0;switch(n[e>>2]|0){case-3:break;case-2:{if(b)break e;n[r>>2]=n[r>>2]|n[e+4>>2];break e}default:break e}l=n[e+4>>2]|0;if((l|0)>-1){i:do{if(!o){e=0;while(1){t=i+(e<<2)|0;c=n[t>>2]|0;if((c|0)<=-1)break;if((c|0)==(l|0))break i;else e=e+1|0}n[t>>2]=l;n[i+(e+1<<2)>>2]=-1}}while(0);if(B)n[f>>2]=(n[f>>2]|0)+1}break}case 3:{e=n[e+4>>2]|0;l=n[e>>2]|0;if(n[l+8>>2]|0){s=l;u=6;break e}e=n[e+4>>2]|0;if(n[e+8>>2]|0){s=e;u=6}break}case 1:{e=n[e+4>>2]|0;l=CP(A,n[e>>2]|0)|0;if(l|0){a=l;break A}s=n[e+4>>2]|0;u=6;break}case 2:{e=n[n[e+4>>2]>>2]|0;if(n[e+8>>2]|0){s=e;u=6}break}default:{}}}while(0);if((u|0)==6?(u=0,a=CP(A,s)|0,a|0):0)break A;if((IP(A)|0)<=(v|0)){a=0;break A}}else a=0}else a=e}while(0);return a|0}function JP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0,l=0,t=0,c=0,s=0;s=v;v=v+16|0;a=s;i=A+12|0;r=n[i>>2]|0;c=n[A>>2]|0;if((r|0)>=(c|0)){i=n[A+4>>2]|0;if((c|0)<(i|0)?(f=(n[A+8>>2]|0)+c|0,f=(f|0)>(i|0)?i:f,l=A+16|0,t=RN(n[l>>2]|0,f<<2)|0,(t|0)!=0):0){n[A>>2]=f;n[l>>2]=t;n[a>>2]=n[e>>2];JP(A,a)|0;i=0}else i=12}else{n[(n[A+16>>2]|0)+(r<<2)>>2]=n[e>>2];n[i>>2]=(n[i>>2]|0)+1;i=0}v=s;return i|0}function NP(A,e,i){A=A|0;e=e|0;i=i|0;A=bP(A,0,0,1,32)|0;if((i|0)!=0&(A|0)!=0){n[A+4>>2]=i;n[A>>2]=e;n[A+8>>2]=-1;n[A+12>>2]=-1}else A=0;return A|0}function zP(A,e,i,f,a,l,t,c){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;l=l|0;t=t|0;c=c|0;var s=0,b=0,o=0,u=0,v=0,B=0,k=0,w=0;w=IP(e)|0;CP(e,i)|0;i=MP(e,0)|0;A:do{if(!i){k=(f&1|0)==0;B=(f&2|0)!=0;v=0;b=1;i=t;while(1){if((IP(e)|0)>(w|0))u=i;else{f=v;i=0;break A}e:while(1){i:while(1){switch(QP(e)|0){case 1:{t=7;break i}case 0:{i=EP(e)|0;switch(n[i>>2]|0){case 0:{t=9;break e}case 3:{t=19;break e}case 1:{t=26;break e}case 2:{t=33;break i}default:{}}break}default:{}}if((IP(e)|0)<=(w|0)){f=v;i=0;break A}}if((t|0)==7)i=EP(e)|0;else if((t|0)==33){f=n[i+4>>2]|0;i=CP(e,n[f>>2]|0)|0;if(i|0){f=v;break A}i=MP(e,0)|0;if(i|0){f=v;break A}i=pP(A,n[f>>2]|0,n[f+4>>2]|0,n[f+8>>2]|0,r[f+12>>0]&1)|0;n[u>>2]=i;if(!i){f=v;i=12;break A}i=n[i+4>>2]|0}if((IP(e)|0)>(w|0))u=i;else{f=v;i=0;break A}}if((t|0)==9){o=n[i+4>>2]|0;t=n[o+8>>2]|0;f=n[o>>2]|0;i=n[o+4>>2]|0;if(!((f|0)>-1|(f|0)==-4))if(k|(f|0)!=-3)if((f|0)==-3)if(B&(b|0)!=0){n[l+(i<<2)>>2]=1;f=-3;s=v;b=0}else{f=-3;s=v}else s=v;else{i=-1;f=-1;t=-1;s=v}else{t=(n[a>>2]|0)+t|0;s=v+1|0}i=dP(A,f,i,t)|0;n[u>>2]=i;if(!i)i=12;else{i=n[i+4>>2]|0;n[i+12>>2]=n[o+12>>2];n[i+16>>2]=n[o+16>>2];i=0}if((t|0)>(n[c>>2]|0)){n[c>>2]=t;f=u}else f=u}else if((t|0)==19){t=n[i+4>>2]|0;f=t+4|0;i=RP(A,n[t>>2]|0,n[f>>2]|0)|0;n[u>>2]=i;if(!i){f=v;i=12;break A}o=n[i+4>>2]|0;i=CP(e,n[f>>2]|0)|0;if(i|0){f=v;break A}i=MP(e,0)|0;if(i|0){f=v;break A}i=CP(e,o+4|0)|0;if(i|0){f=v;break A}i=MP(e,1)|0;if(i|0){f=v;break A}i=CP(e,n[t>>2]|0)|0;if(i|0){f=v;break A}s=v;f=o;i=MP(e,0)|0}else if((t|0)==26){o=n[i+4>>2]|0;t=o+4|0;i=hP(A,n[o>>2]|0,n[t>>2]|0)|0;n[u>>2]=i;if(!i){f=v;i=12;break A}f=n[i+4>>2]|0;n[f>>2]=0;s=f+4|0;n[s>>2]=0;i=CP(e,n[t>>2]|0)|0;if(i|0){f=v;break A}i=MP(e,0)|0;if(i|0){f=v;break A}i=CP(e,s)|0;if(i|0){f=v;break A}i=MP(e,1)|0;if(i|0){f=v;break A}i=CP(e,n[o>>2]|0)|0;if(i|0){f=v;break A}s=v;i=MP(e,0)|0}if(!i){v=s;i=f}else{f=s;break}}}else f=0}while(0);n[a>>2]=(n[a>>2]|0)+f;return i|0}function pP(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;var l=0;l=bP(A,0,0,1,16)|0;A=NP(A,2,l)|0;if(!A)A=0;else{n[l>>2]=e;n[l+4>>2]=i;n[l+8>>2]=f;l=l+12|0;r[l>>0]=r[l>>0]&-2|a&1;n[A+16>>2]=n[e+16>>2]}return A|0}function RP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(e){r=bP(A,0,0,1,8)|0;A=NP(A,3,r)|0;if((i|0)!=0&(A|0)!=0){n[r>>2]=e;n[r+4>>2]=i;n[A+16>>2]=(n[i+16>>2]|0)+(n[e+16>>2]|0);i=A}else i=0}return i|0}function PP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=bP(A,0,0,0,8)|0;if(((r|0)!=0?(i=dP(A,-3,i,-1)|0,n[r>>2]=i,(i|0)!=0):0)?(f=bP(A,0,0,0,32)|0,n[r+4>>2]=f,(f|0)!=0):0){A=e+4|0;n[f+4>>2]=n[A>>2];n[f>>2]=n[e>>2];n[f+8>>2]=-1;n[f+12>>2]=-1;f=f+16|0;n[f>>2]=0;n[f+4>>2]=0;n[f+8>>2]=0;n[f+12>>2]=0;n[A>>2]=r;n[e>>2]=1;A=0}else A=12;return A|0}function HP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;f=n[A>>2]|0;if((f|0)>-1){a=n[e+16>>2]|0;r=0;e=f;do{f=e>>>1;n[((e&1|0)==0?a+(f*12|0)|0:a+(f*12|0)+4|0)>>2]=i;r=r+1|0;e=n[A+(r<<2)>>2]|0}while((e|0)>-1)}n[A>>2]=-1;return}function FP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=bP(A,0,0,0,8)|0;if(((r|0)!=0?(i=dP(A,-3,i,-1)|0,n[r+4>>2]=i,(i|0)!=0):0)?(f=bP(A,0,0,0,32)|0,n[r>>2]=f,(f|0)!=0):0){A=e+4|0;n[f+4>>2]=n[A>>2];n[f>>2]=n[e>>2];n[f+8>>2]=-1;n[f+12>>2]=-1;f=f+16|0;n[f>>2]=0;n[f+4>>2]=0;n[f+8>>2]=0;n[f+12>>2]=0;n[A>>2]=r;n[e>>2]=1;A=0}else A=12;return A|0}function LP(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0;b=v;v=v+16|0;c=b;t=A+32|0;l=n[t>>2]|0;a=l&1;A:do{switch(r[e>>0]|0){case 91:{i=xP(A,e+1|0)|0;break}case 92:{i=e+1|0;f=UP(i)|0;if(f|0){i=LP(A,f)|0;n[A+12>>2]=e+2;break A}f=r[i>>0]|0;switch(f|0){case 0:{i=5;break A}case 98:{f=dP(n[A>>2]|0,-2,64,-1)|0;break}case 66:{f=dP(n[A>>2]|0,-2,128,-1)|0;break}case 60:{f=dP(n[A>>2]|0,-2,16,-1)|0;break}case 62:{f=dP(n[A>>2]|0,-2,32,-1)|0;break}case 120:{l=e+2|0;t=(r[l>>0]|0)==123;a=t?8:2;l=t?e+3|0:l;i=0;f=0;do{e=jP(r[l+i>>0]|0)|0;if((e|0)<0)break;f=e+(f<<4)|0;i=i+1|0}while((f|0)<1114112&(i|0)<(a|0));i=l+i|0;if(t){if((r[i>>0]|0)!=125){i=9;break A}i=i+1|0}c=n[A>>2]|0;t=A+24|0;s=n[t>>2]|0;n[t>>2]=s+1;f=dP(c,f,f,s)|0;i=i+-1|0;break}case 63:case 43:case 123:if(!a){i=13;break A}else{s=37;break A}case 124:{if(a|0){s=37;break A}i=dP(n[A>>2]|0,-1,-1,-1)|0;s=45;break A}default:{if(!((a|0)==0&(f+-49|0)>>>0<9)){s=37;break A}c=f+-48|0;s=n[A>>2]|0;t=A+24|0;f=n[t>>2]|0;n[t>>2]=f+1;f=dP(s,-4,c,f)|0;s=A+28|0;t=n[s>>2]|0;n[s>>2]=(c|0)<(t|0)?t:c}}e=i+1|0;i=f;s=45;break}case 46:{i=n[A>>2]|0;a=A+24|0;f=n[a>>2]|0;n[a>>2]=f+1;if(l&4){f=dP(i,0,9,f)|0;s=n[A>>2]|0;i=n[a>>2]|0;n[a>>2]=i+1;i=dP(s,11,1114111,i)|0;if((f|0)!=0&(i|0)!=0)i=RP(n[A>>2]|0,f,i)|0;else i=0}else i=dP(i,0,1114111,f)|0;e=e+1|0;s=45;break}case 94:{if((a|0)==0?(n[A+16>>2]|0)!=(e|0):0){i=e;s=37;break A}e=e+1|0;i=dP(n[A>>2]|0,-2,1,-1)|0;s=45;break}case 36:{i=e+1|0;if((a|0)==0?r[i>>0]|0:0){i=e;s=37;break A}e=i;i=dP(n[A>>2]|0,-2,2,-1)|0;s=45;break}case 63:case 43:case 123:case 42:{if(!a){i=e;s=37}else i=13;break}case 124:{if(!a){i=e;s=37}else s=36;break}case 0:{s=36;break}default:{i=e;s=37}}}while(0);if((s|0)==36){i=dP(n[A>>2]|0,-1,-1,-1)|0;s=45}else if((s|0)==37){l=ER(c,i,-1)|0;if((l|0)<0)i=2;else{do{if(n[t>>2]&2){if((kp(n[c>>2]|0)|0)==0?(Bp(n[c>>2]|0)|0)==0:0){s=43;break}t=n[A>>2]|0;o=jz(n[c>>2]|0)|0;a=jz(n[c>>2]|0)|0;f=A+24|0;a=dP(t,o,a,n[f>>2]|0)|0;o=n[A>>2]|0;t=dp(n[c>>2]|0)|0;e=dp(n[c>>2]|0)|0;e=dP(o,t,e,n[f>>2]|0)|0;if((a|0)!=0&(e|0)!=0)a=RP(n[A>>2]|0,a,e)|0;else a=0}else s=43}while(0);if((s|0)==43){a=n[c>>2]|0;f=A+24|0;a=dP(n[A>>2]|0,a,a,n[f>>2]|0)|0}n[f>>2]=(n[f>>2]|0)+1;e=i+l|0;i=a;s=45}}if((s|0)==45)if(!i)i=12;else{n[A+8>>2]=i;n[A+12>>2]=e;i=0}v=b;return i|0}function DP(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0;c=v;v=v+16|0;t=c+4|0;a=c;A=TP(A,t)|0;if((r[A>>0]|0)==44){A=TP(A+1|0,a)|0;l=n[a>>2]|0;a=n[t>>2]|0}else{t=n[t>>2]|0;n[a>>2]=t;l=t;a=t}do{if(!(a>>>0>255|((l|0)>255|(l|0)>-1&(l|0)<(a|0)))){if(!e)if((r[A>>0]|0)==92)A=A+1|0;else{A=0;break}if((r[A>>0]|0)==125){n[i>>2]=a;n[f>>2]=l;A=A+1|0}else A=0}else A=0}while(0);v=c;return A|0}function XP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0;if((n[e+12>>2]|0)>-1){r=dP(n[A>>2]|0,-1,-1,-1)|0;if((r|0)!=0?(f=hP(n[A>>2]|0,r,e)|0,(f|0)!=0):0){r=n[e+16>>2]|0;n[f+16>>2]=r;a=6}else r=12}else{f=e;r=n[e+16>>2]|0;a=6}if((a|0)==6){n[f+12>>2]=i;n[f+16>>2]=r+1;n[A+8>>2]=f;r=0}return r|0}function TP(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;n[e>>2]=-1;if(((r[A>>0]|0)+-48|0)>>>0<10){n[e>>2]=0;i=A;a=0;f=r[A>>0]|0;while(1){a=(a*10|0)+-48+(f<<24>>24)|0;n[e>>2]=a;A=i+1|0;f=r[A>>0]|0;if((a|0)>255|((f<<24>>24)+-48|0)>>>0>9)break;else i=A}}return A|0}function xP(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0;d=v;v=v+288|0;i=d+264|0;a=d;n[i>>2]=n[A>>2];l=i+8|0;n[l>>2]=0;n[i+12>>2]=32;B=NN(128)|0;w=i+4|0;n[w>>2]=B;if(!B)e=12;else{f=a+4|0;n[f>>2]=0;B=(r[e>>0]|0)==94;n[a>>2]=B&1;e=SP(A,B?e+1|0:e,i,a)|0;A:do{if(!e){B=(n[a>>2]|0)==0;if(!B){$p(n[w>>2]|0,n[l>>2]|0,4,41);e=KP(i)|0;if(!e){e=12;i=0;break}n[e>>2]=1114112;n[e+4>>2]=1114112;n[e+8>>2]=-1;e=n[f>>2]|0;if(e){i=e<<2;f=bP(n[A>>2]|0,0,0,0,i+4|0)|0;if(!f){e=12;i=0;break}QH(f|0,a+8|0,i|0)|0;n[f+(e<<2)>>2]=0}else f=0}else f=0;b=n[l>>2]|0;if((b|0)>0){o=n[w>>2]|0;u=A+24|0;i=0;e=0;s=0;while(1){c=n[o+(s<<2)>>2]|0;a=n[c>>2]|0;l=c+4|0;t=n[l>>2]|0;do{if(!B)if((a|0)>(e|0)){n[c>>2]=e;n[l>>2]=a+-1;e=t+1|0;k=14;break}else{c=t+1|0;e=(c|0)>=(e|0)?c:e;break}else k=14}while(0);if((k|0)==14){k=0;n[c+8>>2]=n[u>>2];n[c+16>>2]=f;c=NP(n[A>>2]|0,0,c)|0;i=RP(n[A>>2]|0,i,c)|0;if(!i){e=12;i=0;break A}}s=s+1|0;if((s|0)>=(b|0)){e=0;break}}}else{e=0;i=0}}else i=0}while(0);zN(n[w>>2]|0);w=A+24|0;n[w>>2]=(n[w>>2]|0)+1;n[A+8>>2]=i}v=d;return e|0}function UP(A){A=A|0;var e=0;e=r[A>>0]|0;A=0;while(1){if((r[56576+(A<<3)>>0]|0)==e<<24>>24)break;A=A+1|0;if((A|0)==12){A=12;break}}return n[56576+(A<<3)+4>>2]|0}function jP(A){A=A|0;var e=0;e=A+-48|0;if(e>>>0<10)return e|0;else{e=A|32;return((e+-97|0)>>>0<6?e+-87|0:-1)|0}return 0}function SP(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0;h=v;v=v+32|0;u=h;k=h+4|0;t=ER(u,e,-1)|0;a=r[e>>0]|0;A:do{if((t|0)>=1){w=f+4|0;o=A+32|0;l=e;c=t;e:while(1){t=(l|0)==(e|0);if(!(t|a<<24>>24!=93)){d=5;break}i:do{if(!(t|a<<24>>24!=45)){switch(r[l+1>>0]|0){case 93:break i;case 45:break;default:{a=11;break A}}if((r[l+2>>0]|0)==93){a=11;break A}}}while(0);i:do{if(a<<24>>24==91){switch(r[l+1>>0]|0){case 61:case 46:{a=3;break A}case 58:break;default:{d=17;break i}}t=l+2|0;a=0;r:while(1){switch(r[t+a>>0]|0){case 0:{d=16;break e}case 58:break r;default:{}}if((a|0)<13)a=a+1|0;else{d=16;break e}}QH(k|0,t|0,a|0)|0;r[k+a>>0]=0;c=pp(k)|0;if(!c){d=16;break e}l=t+(a+2)|0;if((r[t+(a+1)>>0]|0)!=93){d=16;break e}if(!(n[f>>2]|0)){a=1114111;b=0;s=1;d=25}else{a=n[w>>2]|0;if((a|0)>63){a=12;break A}n[w>>2]=a+1;n[f+8+(a<<2)>>2]=c}}else d=17}while(0);if((d|0)==17){d=0;t=n[u>>2]|0;l=l+c|0;if((r[l>>0]|0)==45?(B=l+1|0,(r[B>>0]|0)!=93):0){l=ER(u,B,-1)|0;a=n[u>>2]|0;if((l|0)<1|(t|0)>(a|0)){a=11;break A}c=0;b=t;l=B+l|0;s=0;d=25}else{c=0;a=t;b=t;s=0;d=25}}if((d|0)==25){d=0;t=KP(i)|0;if(!t){a=12;break A}n[t>>2]=b;n[t+4>>2]=a;n[t+12>>2]=c;n[t+8>>2]=-1;if(!(s|(n[o>>2]&2|0)==0)?(_P(i,b,a)|0)!=0:0){a=12;break A}}c=ER(u,l,-1)|0;a=r[l>>0]|0;if((c|0)<1){d=3;break A}}if((d|0)==5){n[A+12>>2]=l+1;a=0;break}else if((d|0)==16){a=4;break}}else d=3}while(0);if((d|0)==3)a=a<<24>>24?2:7;v=h;return a|0}function OP(A,e){A=A|0;e=e|0;return(n[n[A>>2]>>2]|0)-(n[n[e>>2]>>2]|0)|0}function KP(A){A=A|0;var e=0,i=0,r=0,f=0,a=0,l=0,t=0;l=A+8|0;i=n[l>>2]|0;r=A+12|0;f=n[r>>2]|0;if((i|0)>=(f|0))if((f|0)<=32767?(n[r>>2]=f<<1,a=A+4|0,e=RN(n[a>>2]|0,f<<3)|0,(e|0)!=0):0){n[a>>2]=e;i=n[l>>2]|0;t=6}else e=0;else{e=n[A+4>>2]|0;t=6}if((t|0)==6){n[l>>2]=i+1;t=bP(n[A>>2]|0,0,0,1,20)|0;n[e+(i<<2)>>2]=t;e=t}return e|0}function _P(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,l=0;A:do{if((e|0)>(i|0))e=0;else while(1){e:do{if(!(Bp(e)|0)){if(!(kp(e)|0)){e=e+1|0;break}f=dp(e)|0;r=f;while(1){a=e+1|0;r=r+1|0;if((e|0)>=(i|0)){l=f;e=a;a=12;break e}if((dp(a)|0)==(r|0))e=a;else{l=f;e=a;a=12;break}}}else{f=jz(e)|0;r=f;while(1){a=e+1|0;r=r+1|0;if((e|0)>=(i|0)){l=f;e=a;a=12;break e}if((jz(a)|0)==(r|0))e=a;else{l=f;e=a;a=12;break}}}}while(0);if((a|0)==12){a=0;f=KP(A)|0;if(!f){e=-1;break A}n[f>>2]=l;n[f+4>>2]=r+-1;n[f+8>>2]=-1}if((e|0)>(i|0)){e=0;break}}}while(0);return e|0}function qP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0;o=v;v=v+16|0;s=o;t=n[A+4>>2]|0;c=t+56|0;l=(n[c>>2]&8|0)==0?i:0;A=n[t+40>>2]|0;if((A|0)>0&(l|0)!=0){A=NN(A<<2)|0;if(!A)A=12;else{a=A;i=A;b=3}}else{a=0;i=0;b=3}if((b|0)==3){if(!(n[t+60>>2]|0))A=AH(t,e,a,f,s)|0;else A=$P(t,e,a,f,s)|0;if(!A)eH(l,r,n[c>>2]|0,t,a,n[s>>2]|0);if(a)zN(i)}v=o;return A|0}function $P(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0,X=0,T=0,x=0,U=0,j=0;j=v;v=v+16|0;x=j;n[x>>2]=0;u=r&1;X=r&2;T=A+56|0;o=n[T>>2]&4;U=cP(0,0)|0;A:do{if(U){B=bP(U,0,0,0,32)|0;if(!B){sP(U);r=12;break}n[B+24>>2]=0;n[B+28>>2]=0;D=A+40|0;k=n[D>>2]|0;if(k){r=NN(k<<2)|0;if(!r){b=0;s=0;c=r;r=12;t=0;l=0;a=0}else{c=r;t=r;E=6}}else{c=0;t=0;E=6}e:do{if((E|0)==6){r=n[A+28>>2]|0;if(r){r=NN(r<<3)|0;if(!r){b=r;s=0;r=12;l=0;a=0;break}else{b=r;l=r}}else{b=0;l=0}L=A+52|0;r=n[L>>2]|0;if(r){r=NN(r<<2)|0;if(!r){s=r;r=12;a=0;break}else{s=r;a=r}}else{s=0;a=0}p=A+8|0;R=A+12|0;P=(i|0)==0;H=(i|0)!=0;F=A+32|0;z=(o|0)!=0;N=(u|0)==0;d=e;r=1;w=-1;Z=-1;o=k;Q=0;i:while(1){if((o|0)>0){u=0;do{n[c+(u<<2)>>2]=-1;if(!P){n[i+(u<<2)>>2]=-1;o=n[D>>2]|0}u=u+1|0}while((u|0)<(o|0))}o=n[L>>2]|0;if((o|0)>0)yH(a|0,0,o<<2|0)|0;W=r+w|0;r=ER(x,d,4)|0;if((r|0)<1)if((r|0)<0){r=1;break e}else r=1;V=d+r|0;J=n[x>>2]|0;o=n[p>>2]|0;u=o+8|0;if(n[u>>2]|0){G=(W|0)!=0;m=(Q|0)==95;I=(W|0)==0;M=z&(Q|0)==10;C=(W|0)<1&N;g=o;o=0;h=0;d=u;while(1){w=g+20|0;u=n[w>>2]|0;r:do{if(u)if((u&1|0)==0|C|M){if(u&2|0?(Y=n[x>>2]|0,!((Y|X|0)==0|z&(Y|0)==10)):0){k=h;break}do{if(u&16|0){if(m){k=h;break r}if(bp(Q)|0){k=h;break r}u=n[x>>2]|0;if((u|0)==95)break;if(!(bp(u)|0)){k=h;break r}}}while(0);u=n[w>>2]|0;if(u&32){if(m){u=n[x>>2]|0;if((u|0)==95){k=h;break}}else{Y=(bp(Q)|0)==0;u=n[x>>2]|0;if(Y|(u|0)==95){k=h;break}}if(bp(u)|0){k=h;break}u=n[w>>2]|0}k=n[x>>2]|0;do{if((k|0)!=0&(G&(u&64|0)!=0)){if(m)u=1;else{u=(bp(Q)|0)!=0;k=n[x>>2]|0}if((k|0)==95)if(u){k=h;break r}else break;else if(u^(bp(k)|0)!=0)break;else{k=h;break r}}}while(0);if(!(n[w>>2]&128)){E=49;break}u=n[x>>2]|0;if(I|(u|0)==0){k=h;break}if(m)k=1;else{k=(bp(Q)|0)!=0;u=n[x>>2]|0}if((u|0)==95)if(k){E=49;break}else{k=h;break}else if(k^(bp(u)|0)!=0){k=h;break}else{E=49;break}}else k=h;else E=49}while(0);do{if((E|0)==49){E=0;if(!h){o=n[g+16>>2]|0;k=n[d>>2]|0;break}k=B+28|0;u=n[k>>2]|0;if(!u){u=bP(U,0,0,0,32)|0;if(!u){E=53;break i}n[u+24>>2]=B;n[u+28>>2]=0;Y=bP(U,0,0,0,n[D>>2]<<2)|0;n[u+20>>2]=Y;if(!Y){E=60;break i}n[k>>2]=u;B=u}else B=u;n[B>>2]=W;n[B+4>>2]=V;n[B+8>>2]=n[d>>2];n[B+12>>2]=n[g+12>>2];n[B+16>>2]=n[x>>2];if((n[D>>2]|0)>0){k=n[B+20>>2]|0;u=0;do{n[k+(u<<2)>>2]=n[c+(u<<2)>>2];u=u+1|0}while((u|0)<(n[D>>2]|0))}u=n[g+16>>2]|0;if(!u)k=h;else{k=n[u>>2]|0;if((k|0)<=-1){k=h;break}w=n[B+20>>2]|0;do{u=u+4|0;n[w+(k<<2)>>2]=W;k=n[u>>2]|0}while((k|0)>-1);k=h}}}while(0);d=g+40|0;if(!(n[d>>2]|0))break;else{g=g+32|0;h=k}}if(o){u=n[o>>2]|0;if((u|0)>-1)do{n[c+(u<<2)>>2]=W;o=o+4|0;u=n[o>>2]|0}while((u|0)>-1)}else o=0;if(!k)E=171;else{d=W;w=V;G=k;m=o;E=79}}else{o=0;E=171}r:while(1){if((E|0)==79){if((G|0)==(n[R>>2]|0)){if((Z|0)>=(d|0)){if(!(H&(Z|0)==(d|0))){o=m;E=171;continue}o=n[D>>2]|0;if(!(rH(o,n[F>>2]|0,c,i)|0)){o=m;E=171;continue}}else{if(P){Z=d;o=m;E=171;continue}o=n[D>>2]|0}if((o|0)>0)o=0;else{Z=d;o=m;E=171;continue}while(1){n[i+(o<<2)>>2]=n[c+(o<<2)>>2];o=o+1|0;if((o|0)>=(n[D>>2]|0)){Z=d;o=m;E=171;continue r}}}g=G+8|0;if((n[g>>2]|0)!=0?(n[G+20>>2]&256|0)!=0:0){u=n[G+24>>2]|0;eH(u+1|0,b,n[T>>2]&-9,A,c,d);Y=n[b+(u<<3)>>2]|0;u=(n[b+(u<<3)+4>>2]|0)-Y|0;if(Yz(e+Y|0,w+-1|0,u)|0){o=m;E=171;continue}Y=(u|0)==0;o=Y&1;k=n[G+12>>2]|0;if(Y?n[s+(k<<2)>>2]|0:0){o=m;E=171;continue}n[s+(k<<2)>>2]=o;u=u+-1|0;w=w+u|0;u=u+d|0;k=n[x>>2]|0;o=ER(x,w,4)|0;if((o|0)<1)if((o|0)<0){r=1;break e}else o=1;y=w+o|0;Y=o}else{k=n[x>>2]|0;if(!k){o=m;E=171;continue}o=ER(x,w,4)|0;if((o|0)<1)if((o|0)<0){r=1;break e}else o=1;u=d;y=w+o|0;Y=o}d=u+r|0;if(!(n[g>>2]|0)){r=Y;o=m;E=171;continue}I=(d|0)!=0;C=(k|0)==95;M=(d|0)==0;E=z&(k|0)==10;Q=(d|0)<1&N;h=0;o=m;while(1){f:do{if((n[G>>2]|0)>>>0<=k>>>0){if((n[G+4>>2]|0)>>>0<k>>>0)break;w=G+20|0;r=n[w>>2]|0;do{if(r|0){if(!((r&1|0)==0|Q|E))break f;if(r&2|0?(m=n[x>>2]|0,!((m|X|0)==0|z&(m|0)==10)):0)break f;do{if(r&16|0){if(C)break f;if(bp(k)|0)break f;r=n[x>>2]|0;if((r|0)==95)break;if(!(bp(r)|0))break f}}while(0);r=n[w>>2]|0;if(r&32){if(C){r=n[x>>2]|0;if((r|0)==95)break f}else{m=(bp(k)|0)==0;r=n[x>>2]|0;if(m|(r|0)==95)break f}if(bp(r)|0)break f;r=n[w>>2]|0}u=n[x>>2]|0;do{if((u|0)!=0&(I&(r&64|0)!=0)){if(C)r=1;else{r=(bp(k)|0)!=0;u=n[x>>2]|0}if((u|0)==95)if(r)break f;else break;else if(r^(bp(u)|0)!=0)break;else break f}}while(0);do{if(n[w>>2]&128|0){r=n[x>>2]|0;if(M|(r|0)==0)break f;if(C)u=1;else{u=(bp(k)|0)!=0;r=n[x>>2]|0}if((r|0)==95)if(u)break;else break f;else if(u^(bp(r)|0)!=0)break f;else break}}while(0);r=n[w>>2]|0;do{if(r&4){if(n[T>>2]&2|0)break;if(!(sp(k,n[G+24>>2]|0)|0))break f;r=n[w>>2]|0}}while(0);do{if(r&4|0){if(!(n[T>>2]&2))break;m=dp(k)|0;r=G+24|0;if(sp(m,n[r>>2]|0)|0)break;m=jz(k)|0;if(!(sp(m,n[r>>2]|0)|0))break f}}while(0);if(!(n[w>>2]&8))break;if(iH(n[G+28>>2]|0,k,n[T>>2]&2)|0)break f}}while(0);if(!h){h=n[g>>2]|0;o=n[G+16>>2]|0;break}u=B+28|0;r=n[u>>2]|0;if(!r){r=bP(U,0,0,0,32)|0;if(!r){E=145;break i}n[r+24>>2]=B;n[r+28>>2]=0;m=bP(U,0,0,0,n[D>>2]<<2)|0;n[r+20>>2]=m;if(!m){E=152;break i}n[u>>2]=r;B=r}else B=r;n[B>>2]=d;n[B+4>>2]=y;n[B+8>>2]=n[g>>2];n[B+12>>2]=n[G+12>>2];n[B+16>>2]=n[x>>2];if((n[D>>2]|0)>0){u=n[B+20>>2]|0;r=0;do{n[u+(r<<2)>>2]=n[c+(r<<2)>>2];r=r+1|0}while((r|0)<(n[D>>2]|0))}r=n[G+16>>2]|0;if(!r)break;u=n[r>>2]|0;if((u|0)<=-1)break;w=n[B+20>>2]|0;do{n[w+(u<<2)>>2]=d;r=r+4|0;u=n[r>>2]|0}while((u|0)>-1)}}while(0);g=G+40|0;if(!(n[g>>2]|0))break;else G=G+32|0}if(!h){r=Y;E=171;continue}if(o){r=n[o>>2]|0;if((r|0)>-1){do{o=o+4|0;n[c+(r<<2)>>2]=d;r=n[o>>2]|0}while((r|0)>-1);k=Z;u=y;r=Y}else{k=Z;u=y;r=Y}}else{k=Z;u=y;r=Y;o=0}}else if((E|0)==171){E=0;w=n[B+24>>2]|0;if(!w)break;h=n[B+8>>2]|0;if(n[h+20>>2]&256|0)n[s+(n[B+12>>2]<<2)>>2]=0;d=n[B>>2]|0;g=n[B+4>>2]|0;n[x>>2]=n[B+16>>2];k=n[D>>2]|0;if((k|0)>0){B=n[B+20>>2]|0;u=0;do{n[c+(u<<2)>>2]=n[B+(u<<2)>>2];u=u+1|0}while((u|0)<(k|0));B=w;k=Z;u=g}else{B=w;k=Z;u=g}}w=u;Z=k;G=h;m=o;E=79}o=(Z|0)>-1;if(o|(n[x>>2]|0)==0){E=180;break}n[x>>2]=J;d=V;w=W;o=n[D>>2]|0;Q=J}if((E|0)==53){sP(U);if(c|0)zN(t);if(b|0)zN(l);if(!s){r=12;break A}zN(a);r=12;break A}else if((E|0)==60){sP(U);if(c|0)zN(t);if(b|0)zN(l);if(!s){r=12;break A}zN(a);r=12;break A}else if((E|0)==145){sP(U);if(c|0)zN(t);if(b|0)zN(l);if(!s){r=12;break A}zN(a);r=12;break A}else if((E|0)==152){sP(U);if(c|0)zN(t);if(b|0)zN(l);if(!s){r=12;break A}zN(a);r=12;break A}else if((E|0)==180){n[f>>2]=Z;r=(o^1)&1;break}}}while(0);sP(U);if(c|0)zN(t);if(b|0)zN(l);if(s)zN(a)}else r=12}while(0);v=j;return r|0}function AH(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,B=0,k=0,w=0,d=0,h=0,g=0,Z=0,G=0,m=0,I=0,C=0,M=0,Q=0,E=0,y=0,Y=0,V=0,W=0,J=0,N=0,z=0,p=0,R=0,P=0,H=0,F=0,L=0,D=0,T=0,x=0,U=0,j=0,S=0;S=v;v=v+16|0;x=S;n[x>>2]=0;s=r&1;L=r&2;D=A+56|0;c=n[D>>2]&4;if(!i)H=0;else H=n[A+40>>2]|0;F=H<<2;t=n[A+52>>2]|0;l=t<<3;a=l+8|0;r=F+12+l+(a+(X(F,t)|0)<<1)|0;U=NN(r)|0;if(!U)r=12;else{yH(U|0,0,r|0)|0;r=U+F|0;b=r&3;b=r+((b|0)==0?0:4-b|0)|0;r=b+a|0;o=r&3;o=r+((o|0)==0?0:4-o|0)|0;r=o+a|0;P=r&3;P=r+((P|0)==0?0:4-P|0)|0;r=P+l|0;a=r&3;l=(t|0)>0;if(l){r=r+((a|0)==0?0:4-a|0)|0;a=0;while(1){n[o+(a<<3)+4>>2]=r;r=r+F|0;n[b+(a<<3)+4>>2]=r;a=a+1|0;if((a|0)>=(t|0))break;else r=r+F|0}if(l){r=0;do{n[P+(r<<3)>>2]=-1;r=r+1|0}while((r|0)<(t|0))}}r=ER(x,e,4)|0;if((r|0)<1)if((r|0)<0)r=1;else{t=1;j=11}else{t=r;j=11}A:do{if((j|0)==11){R=A+8|0;p=(c|0)!=0;Y=(s|0)==0;V=(H|0)>0;W=A+12|0;J=(H|0)<1;N=A+44|0;z=A+32|0;E=A+36|0;y=(H|0)==0;l=0;Z=e+t|0;g=0;c=0;r=-1;a=b;M=U;m=b;G=o;while(1){if((r|0)<0){A=n[R>>2]|0;s=A+8|0;e:do{if(n[s>>2]|0){B=(g|0)!=0;k=(l|0)==95;w=(g|0)==0;h=p&(l|0)==10;d=(g|0)<1&Y;while(1){i:while(1){u=A+12|0;if((n[P+(n[u>>2]<<3)>>2]|0)>=(g|0))break;o=A+20|0;e=n[o>>2]|0;if(!e){j=46;break}r:do{if((e&1|0)==0|d|h){if(e&2|0?(Q=n[x>>2]|0,!((Q|L|0)==0|p&(Q|0)==10)):0)break;do{if(e&16|0){if(k)break r;if(bp(l)|0)break r;e=n[x>>2]|0;if((e|0)==95)break;if(!(bp(e)|0))break r}}while(0);e=n[o>>2]|0;if(e&32){if(k){e=n[x>>2]|0;if((e|0)==95)break}else{Q=(bp(l)|0)==0;e=n[x>>2]|0;if(Q|(e|0)==95)break}if(bp(e)|0)break;e=n[o>>2]|0}b=n[x>>2]|0;do{if((b|0)!=0&(B&(e&64|0)!=0)){if(k)e=1;else{e=(bp(l)|0)!=0;b=n[x>>2]|0}if((b|0)==95)if(e)break r;else break;else if(e^(bp(b)|0)!=0)break;else break r}}while(0);if(!(n[o>>2]&128)){j=46;break i}e=n[x>>2]|0;if(w|(e|0)==0)break;if(k)b=1;else{b=(bp(l)|0)!=0;e=n[x>>2]|0}if((e|0)==95)if(b){j=46;break i}else break;else if(b^(bp(e)|0)!=0)break;else{j=46;break i}}}while(0);s=A+40|0;if(!(n[s>>2]|0))break e;else A=A+32|0}if((j|0)==46){j=0;n[a>>2]=n[s>>2];if(V)yH(n[a+4>>2]|0,-1,F|0)|0;s=n[A+16>>2]|0;if(s|0?(T=n[s>>2]|0,(T|0)>-1):0){b=a+4|0;e=T;do{if((e|0)<(H|0))n[(n[b>>2]|0)+(e<<2)>>2]=g;s=s+4|0;e=n[s>>2]|0}while((e|0)>-1)}s=(n[a>>2]|0)!=(n[W>>2]|0);if(s|J){c=s?c:1;r=s?r:g;s=a+4|0}else{s=a+4|0;c=n[s>>2]|0;r=0;do{n[i+(r<<2)>>2]=n[c+(r<<2)>>2];r=r+1|0}while((r|0)!=(H|0));c=1;r=g}Q=n[u>>2]|0;n[P+(Q<<3)>>2]=g;n[P+(Q<<3)+4>>2]=s;a=a+8|0}s=A+40|0;if(!(n[s>>2]|0))break;else A=A+32|0}}}while(0);n[a>>2]=0;a=n[x>>2]|0;if(!a)break;else l=a}else{if(y)break;l=n[x>>2]|0;if(!((a|0)!=(m|0)&(l|0)!=0))break}Q=g+t|0;a=ER(x,Z,4)|0;if((a|0)<1)if((a|0)<0){r=1;break A}else t=1;else t=a;C=Z+t|0;if((c|0)!=0&(n[N>>2]|0)!=0){if(!(n[m>>2]|0))a=G;else{u=n[E>>2]|0;B=n[u>>2]|0;k=(B|0)>-1;o=m;a=G;do{b=o+4|0;e:do{if(k){s=0;e=B;do{A=n[u+((s|1)<<2)>>2]|0;if((e|0)>=(H|0))break e;c=n[b>>2]|0;if((n[c+(A<<2)>>2]|0)==(n[i+(A<<2)>>2]|0)?(n[c+(e<<2)>>2]|0)<(n[i+(e<<2)>>2]|0):0)break e;s=s+2|0;e=n[u+(s<<2)>>2]|0}while((e|0)>-1);s=b;j=75}else{s=b;c=n[b>>2]|0;j=75}}while(0);if((j|0)==75){j=0;n[a>>2]=n[o>>2];Z=a+4|0;I=n[Z>>2]|0;n[Z>>2]=c;n[s>>2]=I;a=a+8|0}o=o+8|0}while((n[o>>2]|0)!=0)}n[a>>2]=0;I=m;c=0}else{I=G;G=m}s=n[G>>2]|0;if(!s){s=M;a=I}else{w=(Q|0)!=0;d=(l|0)==95;h=(Q|0)==0;Z=p&(l|0)==10;g=(Q|0)<1&Y;k=G;A=M;a=I;while(1){e=s+8|0;if(n[e>>2]|0){B=k+4|0;u=A;o=e;while(1){e:do{if((n[s>>2]|0)>>>0<=l>>>0?(n[s+4>>2]|0)>>>0>=l>>>0:0){b=s+20|0;A=n[b>>2]|0;do{if(A|0){if(!((A&1|0)==0|g|Z)){A=u;break e}if(A&2|0?(M=n[x>>2]|0,!((M|L|0)==0|p&(M|0)==10)):0){A=u;break e}do{if(A&16|0){if(d){A=u;break e}if(bp(l)|0){A=u;break e}A=n[x>>2]|0;if((A|0)==95)break;if(!(bp(A)|0)){A=u;break e}}}while(0);A=n[b>>2]|0;if(A&32){if(d){A=n[x>>2]|0;if((A|0)==95){A=u;break e}}else{M=(bp(l)|0)==0;A=n[x>>2]|0;if(M|(A|0)==95){A=u;break e}}if(bp(A)|0){A=u;break e}A=n[b>>2]|0}e=n[x>>2]|0;do{if((e|0)!=0&(w&(A&64|0)!=0)){if(d)A=1;else{A=(bp(l)|0)!=0;e=n[x>>2]|0}if((e|0)==95)if(A){A=u;break e}else break;else if(A^(bp(e)|0)!=0)break;else{A=u;break e}}}while(0);do{if(n[b>>2]&128|0){A=n[x>>2]|0;if(h|(A|0)==0){A=u;break e}if(d)e=1;else{e=(bp(l)|0)!=0;A=n[x>>2]|0}if((A|0)==95)if(e)break;else{A=u;break e}else if(e^(bp(A)|0)!=0){A=u;break e}else break}}while(0);A=n[b>>2]|0;do{if(A&4){if(n[D>>2]&2|0)break;if(!(sp(l,n[s+24>>2]|0)|0)){A=u;break e}A=n[b>>2]|0}}while(0);do{if(A&4|0){if(!(n[D>>2]&2))break;M=dp(l)|0;A=s+24|0;if(sp(M,n[A>>2]|0)|0)break;M=jz(l)|0;if(!(sp(M,n[A>>2]|0)|0)){A=u;break e}}}while(0);if(!(n[b>>2]&8))break;if(iH(n[s+28>>2]|0,l,n[D>>2]&2)|0){A=u;break e}}}while(0);if(V){e=n[B>>2]|0;A=0;do{n[u+(A<<2)>>2]=n[e+(A<<2)>>2];A=A+1|0}while((A|0)!=(H|0))}A=n[s+16>>2]|0;do{if(A|0){e=n[A>>2]|0;if((e|0)<=-1)break;do{if((e|0)<(H|0))n[u+(e<<2)>>2]=Q;A=A+4|0;e=n[A>>2]|0}while((e|0)>-1)}}while(0);A=n[s+12>>2]|0;e=P+(A<<3)|0;if((n[e>>2]|0)>=(Q|0)){A=n[P+(A<<3)+4>>2]|0;e=n[A>>2]|0;if(!(rH(H,n[z>>2]|0,u,e)|0)){A=u;break}n[A>>2]=u;if((n[o>>2]|0)!=(n[W>>2]|0)){A=e;break}if(V)r=0;else{c=1;A=e;r=Q;break}while(1){n[i+(r<<2)>>2]=n[u+(r<<2)>>2];r=r+1|0;if((r|0)==(H|0)){c=1;A=e;r=Q;break e}}}M=n[o>>2]|0;n[a>>2]=M;m=a+4|0;b=n[m>>2]|0;n[m>>2]=u;n[e>>2]=Q;n[P+(A<<3)+4>>2]=m;do{if((n[W>>2]|0)==(M|0)){if((r|0)==-1)if(V)r=0;else{r=Q;c=1;break}else{if(!V)break;if((n[u>>2]|0)>(n[i>>2]|0))break;else r=0}do{n[i+(r<<2)>>2]=n[u+(r<<2)>>2];r=r+1|0}while((r|0)<(H|0));r=Q;c=1}}while(0);A=b;a=a+8|0}else A=u}while(0);o=s+40|0;if(!(n[o>>2]|0))break;else{s=s+32|0;u=A}}}k=k+8|0;s=n[k>>2]|0;if(!s){s=A;break}}}n[a>>2]=0;Z=C;g=Q;M=s;m=I}n[f>>2]=r;r=r>>>31}}while(0);zN(U)}v=S;return r|0}function eH(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0;if((i&8|0)==0&(a|0)>-1?(o=n[r+16>>2]|0,u=n[r+28>>2]|0,b=(A|0)!=0&(u|0)!=0,b):0){s=n[r+48>>2]|0;c=0;do{i=n[o+(c*12|0)>>2]|0;if((i|0)==(s|0))t=a;else t=n[f+(i<<2)>>2]|0;l=e+(c<<3)|0;n[l>>2]=t;i=n[o+(c*12|0)+4>>2]|0;if((i|0)==(s|0))i=a;else i=n[f+(i<<2)>>2]|0;r=e+(c<<3)+4|0;n[r>>2]=i;if((i|0)==-1|(t|0)==-1){n[r>>2]=-1;n[l>>2]=-1}c=c+1|0}while(c>>>0<A>>>0&c>>>0<u>>>0);if(b){i=0;do{t=e+(i<<3)+4|0;c=n[o+(i*12|0)+8>>2]|0;if(c|0?(v=n[c>>2]|0,(v|0)>-1):0){s=e+(i<<3)|0;l=0;f=v;r=n[s>>2]|0;do{if(!((r|0)>=(n[e+(f<<3)>>2]|0)?(n[t>>2]|0)<=(n[e+(f<<3)+4>>2]|0):0)){n[t>>2]=-1;n[s>>2]=-1;r=-1}l=l+1|0;f=n[c+(l<<2)>>2]|0}while((f|0)>-1)}i=i+1|0}while(i>>>0<A>>>0&i>>>0<u>>>0)}else i=0}else i=0;if(i>>>0<A>>>0)yH(e+(i<<3)|0,-1,A-i<<3|0)|0;return}function iH(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=n[A>>2]|0;A:do{if(!r)i=0;else{f=(i|0)==0;i=r;while(1){if(f){if(sp(e,i)|0){i=1;break A}}else{r=jz(e)|0;if(sp(r,n[A>>2]|0)|0){i=1;break A}r=dp(e)|0;if(sp(r,n[A>>2]|0)|0){i=1;break A}}A=A+4|0;i=n[A>>2]|0;if(!i){i=0;break}}}}while(0);return i|0}function rH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0;A:do{if((A|0)>0){f=0;while(1){l=n[i+(f<<2)>>2]|0;a=n[r+(f<<2)>>2]|0;if(!(n[e+(f<<2)>>2]|0)){if((l|0)<(a|0)){f=1;break A}if((l|0)>(a|0)){f=0;break A}}else{if((l|0)>(a|0)){f=1;break A}if((l|0)<(a|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 fH(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0;s=X(i,e)|0;i=(e|0)==0?0:i;if((n[f+76>>2]|0)>-1)c=Gp(f)|0;else c=0;a=f+74|0;l=r[a>>0]|0;r[a>>0]=l+255|l;a=f+4|0;l=n[a>>2]|0;o=(n[f+8>>2]|0)-l|0;t=o>>>0<s>>>0?o:s;if((o|0)>0){QH(A|0,l|0,t|0)|0;n[a>>2]=l+t;a=s-t|0;A=A+t|0}else a=s;A:do{if(!a)b=13;else{t=f+32|0;while(1){if(Fz(f)|0)break;l=kF[n[t>>2]&31](f,A,a)|0;if((l+1|0)>>>0<2)break;a=a-l|0;if(!a){b=13;break A}else A=A+l|0}if(c|0)mp(f);i=((s-a|0)>>>0)/(e>>>0)|0}}while(0);if((b|0)==13)if(c)mp(f);return i|0}function nH(A){A=A|0;var e=0;if((n[A+76>>2]|0)>-1){e=(Gp(A)|0)==0;A=aH(A)|0}else A=aH(A)|0;return A|0}function aH(A){A=A|0;var e=0;if(!(n[A>>2]&128))e=1;else e=(n[A+20>>2]|0)>>>0>(n[A+28>>2]|0)>>>0?2:1;e=kF[n[A+40>>2]&31](A,0,e)|0;if((e|0)>=0)e=e-(n[A+8>>2]|0)+(n[A+4>>2]|0)+(n[A+20>>2]|0)-(n[A+28>>2]|0)|0;return e|0}function lH(A){A=A|0;(n[A+76>>2]|0)>-1?Gp(A)|0:0;return n[A+60>>2]|0}function tH(){var A=0,e=0,i=0,f=0,a=0,l=0,t=0,c=0,s=0;s=v;v=v+48|0;t=s+24|0;l=s+16|0;a=s;e=s+28|0;A=e;i=134988;f=A+20|0;do{r[A>>0]=r[i>>0]|0;A=A+1|0;i=i+1|0}while((A|0)<(f|0));i=e+13|0;A=0;while(1){tR(i)|0;n[a>>2]=e;n[a+4>>2]=32962;n[a+8>>2]=384;f=xN(YA(5,a|0)|0)|0;if((f|0)>-1){c=4;break}if((A|0)<99)A=A+1|0;else{A=0;break}}if((c|0)==4){n[l>>2]=e;ZA(10,l|0)|0;A=MR(f,135008)|0;if(!A){n[t>>2]=f;WA(6,t|0)|0;A=0}}v=s;return A|0}function cH(A){A=A|0;var e=0,i=0,r=0;if((n[A+76>>2]|0)>=0?(Gp(A)|0)!=0:0){e=A+4|0;i=n[e>>2]|0;if(i>>>0<(n[A+8>>2]|0)>>>0){n[e>>2]=i+1;e=a[i>>0]|0}else e=Hz(A)|0}else r=3;do{if((r|0)==3){e=A+4|0;i=n[e>>2]|0;if(i>>>0<(n[A+8>>2]|0)>>>0){n[e>>2]=i+1;e=a[i>>0]|0;break}else{e=Hz(A)|0;break}}}while(0);return e|0}function sH(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,l=0,t=0,c=0,s=0;if((n[e+76>>2]|0)>=0?(Gp(e)|0)!=0:0){f=A&255;i=A&255;if((i|0)!=(r[e+75>>0]|0)?(t=e+20|0,c=n[t>>2]|0,c>>>0<(n[e+16>>2]|0)>>>0):0){n[t>>2]=c+1;r[c>>0]=f}else i=WR(e,A)|0;mp(e)}else s=3;do{if((s|0)==3){f=A&255;i=A&255;if((i|0)!=(r[e+75>>0]|0)?(a=e+20|0,l=n[a>>2]|0,l>>>0<(n[e+16>>2]|0)>>>0):0){n[a>>2]=l+1;r[l>>0]=f;break}i=WR(e,A)|0}}while(0);return i|0}function bH(A){A=A|0;return nH(A)|0}function oH(){}function uH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=A&65535;f=e&65535;i=X(f,n)|0;r=A>>>16;A=(i>>>16)+(X(f,r)|0)|0;f=e>>>16;e=X(f,n)|0;return(E=(A>>>16)+(X(f,r)|0)+(((A&65535)+e|0)>>>16)|0,A+e<<16|i&65535|0)|0}function vH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=A;n=i;i=uH(f,n)|0;A=E;return(E=(X(e,n)|0)+(X(r,f)|0)+A|A&0,i|0|0)|0}function BH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;i=A+i>>>0;return(E=e+r+(i>>>0<A>>>0|0)>>>0,i|0)|0}function kH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;r=e-r-(i>>>0>A>>>0|0)>>>0;return(E=r,A-i>>>0|0)|0}function wH(A){A=A|0;var e=0;e=r[k+(A&255)>>0]|0;if((e|0)<8)return e|0;e=r[k+(A>>8&255)>>0]|0;if((e|0)<8)return e+8|0;e=r[k+(A>>16&255)>>0]|0;if((e|0)<8)return e+16|0;return(r[k+(A>>>24)>>0]|0)+24|0}function dH(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,t=0,c=0,s=0,b=0,o=0,u=0,v=0,B=0;b=A;c=e;s=c;l=i;u=r;t=u;if(!s){a=(f|0)!=0;if(!t){if(a){n[f>>2]=(b>>>0)%(l>>>0);n[f+4>>2]=0}u=0;f=(b>>>0)/(l>>>0)>>>0;return(E=u,f)|0}else{if(!a){u=0;f=0;return(E=u,f)|0}n[f>>2]=A|0;n[f+4>>2]=e&0;u=0;f=0;return(E=u,f)|0}}a=(t|0)==0;do{if(l){if(!a){a=(U(t|0)|0)-(U(s|0)|0)|0;if(a>>>0<=31){o=a+1|0;t=31-a|0;e=a-31>>31;l=o;A=b>>>(o>>>0)&e|s<<t;e=s>>>(o>>>0)&e;a=0;t=b<<t;break}if(!f){u=0;f=0;return(E=u,f)|0}n[f>>2]=A|0;n[f+4>>2]=c|e&0;u=0;f=0;return(E=u,f)|0}a=l-1|0;if(a&l|0){t=(U(l|0)|0)+33-(U(s|0)|0)|0;B=64-t|0;o=32-t|0;c=o>>31;v=t-32|0;e=v>>31;l=t;A=o-1>>31&s>>>(v>>>0)|(s<<o|b>>>(t>>>0))&e;e=e&s>>>(t>>>0);a=b<<B&c;t=(s<<B|b>>>(v>>>0))&c|b<<o&t-33>>31;break}if(f|0){n[f>>2]=a&b;n[f+4>>2]=0}if((l|0)==1){v=c|e&0;B=A|0|0;return(E=v,B)|0}else{B=wH(l|0)|0;v=s>>>(B>>>0)|0;B=s<<32-B|b>>>(B>>>0)|0;return(E=v,B)|0}}else{if(a){if(f|0){n[f>>2]=(s>>>0)%(l>>>0);n[f+4>>2]=0}v=0;B=(s>>>0)/(l>>>0)>>>0;return(E=v,B)|0}if(!b){if(f|0){n[f>>2]=0;n[f+4>>2]=(s>>>0)%(t>>>0)}v=0;B=(s>>>0)/(t>>>0)>>>0;return(E=v,B)|0}a=t-1|0;if(!(a&t)){if(f|0){n[f>>2]=A|0;n[f+4>>2]=a&s|e&0}v=0;B=s>>>((wH(t|0)|0)>>>0);return(E=v,B)|0}a=(U(t|0)|0)-(U(s|0)|0)|0;if(a>>>0<=30){e=a+1|0;t=31-a|0;l=e;A=s<<t|b>>>(e>>>0);e=s>>>(e>>>0);a=0;t=b<<t;break}if(!f){v=0;B=0;return(E=v,B)|0}n[f>>2]=A|0;n[f+4>>2]=c|e&0;v=0;B=0;return(E=v,B)|0}}while(0);if(!l){s=t;c=0;t=0}else{o=i|0|0;b=u|r&0;s=BH(o|0,b|0,-1,-1)|0;i=E;c=t;t=0;do{r=c;c=a>>>31|c<<1;a=t|a<<1;r=A<<1|r>>>31|0;u=A>>>31|e<<1|0;kH(s|0,i|0,r|0,u|0)|0;B=E;v=B>>31|((B|0)<0?-1:0)<<1;t=v&1;A=kH(r|0,u|0,v&o|0,(((B|0)<0?-1:0)>>31|((B|0)<0?-1:0)<<1)&b|0)|0;e=E;l=l-1|0}while((l|0)!=0);s=c;c=0}l=0;if(f|0){n[f>>2]=A;n[f+4>>2]=e}v=(a|0)>>>31|(s|l)<<1|(l<<1|a>>>31)&0|c;B=(a<<1|0>>>31)&-2|t;return(E=v,B)|0}function hH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return dH(A,e,i,r,0)|0}function gH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;a=v;v=v+16|0;f=a|0;dH(A,e,i,r,f)|0;v=a;return(E=n[f+4>>2]|0,n[f>>2]|0)|0}function ZH(A,e,i){A=A|0;e=e|0;i=i|0;if((i|0)<32){E=e>>>i;return A>>>i|(e&(1<<i)-1)<<32-i}E=0;return e>>>i-32|0}function GH(A,e,i){A=A|0;e=e|0;i=i|0;if((i|0)<32){E=e<<i|(A&(1<<i)-1<<32-i)>>>32-i;return A<<i}E=A<<i-32;return 0}function mH(A){A=A|0;return(A&255)<<8|A>>8&255|0}function IH(A){A=A|0;return(A&255)<<24|(A>>8&255)<<16|(A>>16&255)<<8|A>>>24|0}function CH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;h=h+1|0;n[A>>2]=h;while((f|0)<(r|0)){if(!(n[i+(f<<3)>>2]|0)){n[i+(f<<3)>>2]=h;n[i+((f<<3)+4)>>2]=e;n[i+((f<<3)+8)>>2]=0;E=r;return i|0}f=f+1|0}r=r*2|0;i=RN(i|0,8*(r+1|0)|0)|0;i=CH(A|0,e|0,i|0,r|0)|0;E=r;return i|0}function MH(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;while((f|0)<(i|0)){r=n[e+(f<<3)>>2]|0;if(!r)break;if((r|0)==(A|0))return n[e+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function QH(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0;if((i|0)>=8192)return FA(A|0,e|0,i|0)|0;l=A|0;a=A+i|0;if((A&3)==(e&3)){while(A&3){if(!i)return l|0;r[A>>0]=r[e>>0]|0;A=A+1|0;e=e+1|0;i=i-1|0}i=a&-4|0;f=i-64|0;while((A|0)<=(f|0)){n[A>>2]=n[e>>2];n[A+4>>2]=n[e+4>>2];n[A+8>>2]=n[e+8>>2];n[A+12>>2]=n[e+12>>2];n[A+16>>2]=n[e+16>>2];n[A+20>>2]=n[e+20>>2];n[A+24>>2]=n[e+24>>2];n[A+28>>2]=n[e+28>>2];n[A+32>>2]=n[e+32>>2];n[A+36>>2]=n[e+36>>2];n[A+40>>2]=n[e+40>>2];n[A+44>>2]=n[e+44>>2];n[A+48>>2]=n[e+48>>2];n[A+52>>2]=n[e+52>>2];n[A+56>>2]=n[e+56>>2];n[A+60>>2]=n[e+60>>2];A=A+64|0;e=e+64|0}while((A|0)<(i|0)){n[A>>2]=n[e>>2];A=A+4|0;e=e+4|0}}else{i=a-4|0;while((A|0)<(i|0)){r[A>>0]=r[e>>0]|0;r[A+1>>0]=r[e+1>>0]|0;r[A+2>>0]=r[e+2>>0]|0;r[A+3>>0]=r[e+3>>0]|0;A=A+4|0;e=e+4|0}}while((A|0)<(a|0)){r[A>>0]=r[e>>0]|0;A=A+1|0;e=e+1|0}return l|0}function EH(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if((e|0)<(A|0)&(A|0)<(e+i|0)){f=A;e=e+i|0;A=A+i|0;while((i|0)>0){A=A-1|0;e=e-1|0;i=i-1|0;r[A>>0]=r[e>>0]|0}A=f}else QH(A,e,i)|0;return A|0}function yH(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0,t=0;l=A+i|0;e=e&255;if((i|0)>=67){while(A&3){r[A>>0]=e;A=A+1|0}f=l&-4|0;a=f-64|0;t=e|e<<8|e<<16|e<<24;while((A|0)<=(a|0)){n[A>>2]=t;n[A+4>>2]=t;n[A+8>>2]=t;n[A+12>>2]=t;n[A+16>>2]=t;n[A+20>>2]=t;n[A+24>>2]=t;n[A+28>>2]=t;n[A+32>>2]=t;n[A+36>>2]=t;n[A+40>>2]=t;n[A+44>>2]=t;n[A+48>>2]=t;n[A+52>>2]=t;n[A+56>>2]=t;n[A+60>>2]=t;A=A+64|0}while((A|0)<(f|0)){n[A>>2]=t;A=A+4|0}}while((A|0)<(l|0)){r[A>>0]=e;A=A+1|0}return l-i|0}function YH(A){A=A|0;var e=0,i=0;i=A+15&-16|0;e=n[b>>2]|0;A=e+i|0;if((i|0)>0&(A|0)<(e|0)|(A|0)<0){_()|0;gA(12);return-1}n[b>>2]=A;if((A|0)>(K()|0)?(O()|0)==0:0){n[b>>2]=e;gA(12);return-1}return e|0}function VH(A){A=A|0;return+bF[A&1]()}function WH(A,e,i,r){A=A|0;e=+e;i=+i;r=+r;return+oF[A&7](+e,+i,+r)}function JH(A){A=A|0;return uF[A&3]()|0}function NH(A,e){A=A|0;e=e|0;return vF[A&31](e|0)|0}function zH(A,e,i){A=A|0;e=e|0;i=i|0;return BF[A&63](e|0,i|0)|0}function pH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return kF[A&31](e|0,i|0,r|0)|0}function RH(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;return wF[A&31](e|0,i|0,r|0,f|0)|0}function PH(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;return dF[A&3](e|0,i|0,r|0,f|0,n|0)|0}function HH(A,e,i,r,f,n,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;return hF[A&1](e|0,i|0,r|0,f|0,n|0,a|0)|0}function FH(A){A=A|0;gF[A&15]()}function LH(A,e){A=A|0;e=e|0;ZF[A&127](e|0)}function DH(A,e,i){A=A|0;e=e|0;i=i|0;GF[A&31](e|0,i|0)}function XH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;mF[A&127](e|0,i|0,r|0)}function TH(A,e,i,r,f,n,a){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;a=a|0;IF[A&15](e|0,i|0,r|0,+f,+n,a|0)}function xH(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;CF[A&31](e|0,i|0,r|0,f|0)}function UH(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;MF[A&7](e|0,i|0,r|0,f|0,n|0)}function jH(A,e,i,r,f,n,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;QF[A&15](e|0,i|0,r|0,f|0,n|0,a|0)}function SH(){j(0);return 0.0}function OH(A,e,i){A=+A;e=+e;i=+i;j(1);return 0.0}function KH(){j(2);return 0}function _H(A){A=A|0;j(3);return 0}function qH(A,e){A=A|0;e=e|0;j(4);return 0}function $H(A,e,i){A=A|0;e=e|0;i=i|0;j(5);return 0}function AF(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;j(6);return 0}function eF(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;j(7);return 0}function iF(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;j(8);return 0}function rF(){j(9)}function fF(A){A=A|0;j(10)}function nF(A,e){A=A|0;e=e|0;j(11)}function aF(A,e,i){A=A|0;e=e|0;i=i|0;j(12)}function lF(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;j(13)}function tF(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;j(14)}function cF(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;j(15)}function sF(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;j(16)}var bF=[SH,pI];var oF=[OH,fh,rh,nh,ah,OH,OH,OH];var uF=[KH,Xg,NZ,KH];var vF=[_H,ya,Kn,oV,BV,Qt,Et,hs,gs,Zs,Gs,ms,Is,Cs,Ms,DN,ae,MB,zE,PE,Hg,Tg,pY,Ng,CV,ut,Jg,dt,ht,GN,_H,_H];var BF=[qH,DY,bV,kV,pm,Rm,Em,Im,am,IB,Fn,Ea,rl,Jl,_l,UQ,TQ,pE,HE,UJ,xJ,TJ,Lk,rw,qk,$k,qw,YR,sH,YI,WC,fY,$o,bY,uY,MV,vt,az,Cb,dN,hN,OP,qH,qH,qH,qH,qH,qH,qH,qH,qH,qH,qH,qH,qH,qH,qH,qH,qH,qH,qH,qH,qH,qH];var kF=[$H,by,wy,sV,vV,Ro,XN,TN,SN,ON,zp,Gy,hy,lR,WI,DZ,Qc,BN,FR,$H,$H,$H,$H,$H,$H,$H,$H,$H,$H,$H,$H,$H];var wF=[AF,cY,aJ,sY,yY,TY,UY,rV,iV,wV,ZV,mV,pZ,ic,Ac,qs,Ho,lu,au,ty,NI,AF,AF,AF,AF,AF,AF,AF,AF,AF,AF,AF];var dF=[eF,XY,lm,ym];var hF=[iF,Lv];var gF=[rF,zI,Fg,Lg,Dg,Ug,jg,Sg,Xo,rF,rF,rF,rF,rF,rF,rF];var ZF=[fF,se,be,Be,ke,we,Re,Pe,ti,ci,si,bi,oi,ui,vi,Mi,Qi,Yi,Vi,Wi,Ji,Ni,zi,pi,Si,Oi,Ki,qi,$i,Ar,er,ir,rr,fr,nr,kr,wr,dr,gr,Zr,Gr,mr,Ir,Cr,Mr,Qr,Er,Yr,Xr,Tr,xr,Ur,ff,nf,af,tf,Zf,Gf,mf,Cf,Mf,Qf,Ef,yf,Yf,Vf,Wf,Jf,Df,Xf,Tf,xf,Zn,kn,jY,FG,fm,DG,LG,Mm,oG,BG,Qs,Ws,cn,FE,zy,Do,gc,Zt,RZ,zN,tu,Fv,uN,vN,gN,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF,fF];var GF=[nF,ki,Zi,Pi,Xi,or,pr,qr,vf,Hf,_f,dV,tm,Pm,Ym,Cm,im,rm,Nm,zm,Ys,Ns,Cy,yk,xg,ot,Hv,kN,wN,ZN,mN,nF];var mF=[aF,de,he,Ge,li,Bi,wi,gi,Ri,Hi,Di,lr,tr,br,Vr,Wr,zr,jr,Sr,_r,cf,sf,uf,Nf,zf,Pf,Uf,jf,Kf,CQ,MQ,QQ,Wy,SY,GV,rW,lJ,Zk,Dh,zZ,vG,IC,ec,$t,Es,ys,Vs,Js,zs,Po,Cv,Iv,_y,CY,pV,bW,vW,Pg,JI,FZ,kt,gt,Mv,Ev,yv,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF,aF];var IF=[lF,Xw,Tw,xw,Uw,jw,Sw,Ow,Kw,lF,lF,lF,lF,lF,lF,lF];var CF=[tF,ge,di,Fi,_i,cr,hr,Jr,Or,bf,If,pf,Sf,on,bn,sn,tn,ln,an,pe,nn,fn,xY,nm,Qm,$p,Bt,wt,tF,tF,tF,tF];var MF=[cF,Ei,ar,ur,yr,lf,RE,Gt];var QF=[sF,Ze,hi,Li,sr,Nr,Kr,of,Rf,Of,mt,sF,sF,sF,sF,sF];return{___errno_location:UN,___muldi3:vH,___udivdi3:hH,___uremdi3:gH,_bitshift64Lshr:ZH,_bitshift64Shl:GH,_dtdisc:ly,_dtextract:cy,_dtopen:oy,_free:zN,_htons:Fp,_i64Add:BH,_i64Subtract:kH,_llvm_bswap_i16:mH,_llvm_bswap_i32:IH,_malloc:NN,_memalign:FN,_memcpy:QH,_memmove:EH,_memset:yH,_realloc:RN,_saveSetjmp:CH,_sbrk:YH,_testSetjmp:MH,_vizCreateFile:te,_vizLastErrorMessage:le,_vizRenderFromString:ce,dynCall_d:VH,dynCall_dddd:WH,dynCall_i:JH,dynCall_ii:NH,dynCall_iii:zH,dynCall_iiii:pH,dynCall_iiiii:RH,dynCall_iiiiii:PH,dynCall_iiiiiii:HH,dynCall_v:FH,dynCall_vi:LH,dynCall_vii:DH,dynCall_viii:XH,dynCall_viiiddi:TH,dynCall_viiii:xH,dynCall_viiiii:UH,dynCall_viiiiii:jH,establishStackSpace:ie,getTempRet0:ne,runPostSets:oH,setTempRet0:fe,setThrew:re,stackAlloc:$A,stackRestore:ee,stackSave:Ae}}(A.asmGlobalArg,A.asmLibraryArg,y),_A=(A.___errno_location=KA.___errno_location,A.___muldi3=KA.___muldi3,A.___udivdi3=KA.___udivdi3,A.___uremdi3=KA.___uremdi3,A._bitshift64Lshr=KA._bitshift64Lshr,A._bitshift64Shl=KA._bitshift64Shl,A._dtdisc=KA._dtdisc,A._dtextract=KA._dtextract,A._dtopen=KA._dtopen,A._free=KA._free),qA=(A._htons=KA._htons,A._i64Add=KA._i64Add,A._i64Subtract=KA._i64Subtract,A._llvm_bswap_i16=KA._llvm_bswap_i16,A._llvm_bswap_i32=KA._llvm_bswap_i32,A._malloc=KA._malloc),$A=A._memalign=KA._memalign,Ae=(A._memcpy=KA._memcpy,A._memmove=KA._memmove,A._memset=KA._memset),ee=(A._realloc=KA._realloc,A._saveSetjmp=KA._saveSetjmp,A._sbrk=KA._sbrk,A._testSetjmp=KA._testSetjmp,A._vizCreateFile=KA._vizCreateFile,A._vizLastErrorMessage=KA._vizLastErrorMessage,A._vizRenderFromString=KA._vizRenderFromString,A.establishStackSpace=KA.establishStackSpace,A.getTempRet0=KA.getTempRet0,A.runPostSets=KA.runPostSets,A.setTempRet0=KA.setTempRet0,A.setThrew=KA.setThrew,A.stackAlloc=KA.stackAlloc),ie=A.stackRestore=KA.stackRestore,re=A.stackSave=KA.stackSave;A.dynCall_d=KA.dynCall_d,A.dynCall_dddd=KA.dynCall_dddd,A.dynCall_i=KA.dynCall_i,A.dynCall_ii=KA.dynCall_ii,A.dynCall_iii=KA.dynCall_iii,A.dynCall_iiii=KA.dynCall_iiii,A.dynCall_iiiii=KA.dynCall_iiiii,A.dynCall_iiiiii=KA.dynCall_iiiiii,A.dynCall_iiiiiii=KA.dynCall_iiiiiii,A.dynCall_v=KA.dynCall_v,A.dynCall_vi=KA.dynCall_vi,A.dynCall_vii=KA.dynCall_vii,A.dynCall_viii=KA.dynCall_viii,A.dynCall_viiiddi=KA.dynCall_viiiddi,A.dynCall_viiii=KA.dynCall_viiii,A.dynCall_viiiii=KA.dynCall_viiiii,A.dynCall_viiiiii=KA.dynCall_viiiiii;if(A.asm=KA,A.ccall=function(e,i,r,f,n){var a=function(e){var i=A["_"+e];return B(i,"Cannot call unknown function "+e+", make sure it is exported"),i}(e),l=[],t=0;if(f)for(var c=0;c<f.length;c++){var s=w[r[c]];s?(0===t&&(t=re()),l[c]=s(f[c])):l[c]=f[c]}var b=a.apply(null,l);return"string"===i&&(b=Z(b)),0!==t&&ie(t),b},A.Pointer_stringify=Z,A.UTF8ToString=I,uA)if(BA(uA)||("function"==typeof A.locateFile?uA=A.locateFile(uA):A.memoryInitializerPrefixURL&&(uA=A.memoryInitializerPrefixURL+uA)),l||t){var fe=A.readBinary(uA);V.set(fe,8)}else{bA();var ne=function(e){e.byteLength&&(e=new Uint8Array(e)),V.set(e,8),A.memoryInitializerRequest&&delete A.memoryInitializerRequest.response,oA()};function ae(){A.readAsync(uA,ne,function(){throw"could not load memory initializer "+uA})}var le=SA(uA);if(le)ne(le.buffer);else if(A.memoryInitializerRequest){function te(){var e=A.memoryInitializerRequest,i=e.response;if(200!==e.status&&0!==e.status){var r=SA(A.memoryInitializerRequestURL);if(!r)return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+e.status+", retrying "+uA),void ae();i=r.buffer}ne(i)}A.memoryInitializerRequest.response?setTimeout(te,0):A.memoryInitializerRequest.addEventListener("load",te)}else ae()}function ce(A){this.name="ExitStatus",this.message="Program terminated with exit("+A+")",this.status=A}function se(e){function i(){A.calledRun||(A.calledRun=!0,v||(AA||(AA=!0,S(K)),S(_),A.onRuntimeInitialized&&A.onRuntimeInitialized(),function(){if(A.postRun)for("function"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;)e=A.postRun.shift(),$.unshift(e);var e;S($)}()))}e=e||A.arguments,tA>0||(!function(){if(A.preRun)for("function"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)e=A.preRun.shift(),O.unshift(e);var e;S(O)}(),tA>0||A.calledRun||(A.setStatus?(A.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A.setStatus("")},1),i()},1)):i()))}function be(e){throw A.onAbort&&A.onAbort(e),void 0!==e?(A.print(e),A.printErr(e),e=JSON.stringify(e)):e="",v=!0,1,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(ce.prototype=new Error,ce.prototype.constructor=ce,sA=function e(){A.calledRun||se(),A.calledRun||(sA=e)},A.run=se,A.exit=function(e,i){i&&A.noExitRuntime&&0===e||(A.noExitRuntime||(v=!0,e,H=OA,S(q),!0,A.onExit&&A.onExit(e)),l&&process.exit(e),A.quit(e,new ce(e)))},A.abort=be,A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return A.noExitRuntime=!0,se(),A};function i(A){var e,f=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=void 0===f.format?"svg":f.format,a=void 0===f.engine?"dot":f.engine,l=f.scale,t=f.totalMemory,c=void 0===f.files?[]:f.files,s=void 0===f.images?[]:f.images;for(e=0;e<s.length;e++)c.push({path:s[e].path,data:'<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n<svg width="'+s[e].width+'" height="'+s[e].height+'"></svg>'});return"png-image-element"==n?i.svgXmlToPngImageElement(r(A,"svg",a,t,c),l):r(A,n,a,t,c)}function r(A,i,r,f,n){var a,l=e({TOTAL_MEMORY:f});for(a=0;a<n.length;a++)l.ccall("vizCreateFile","number",["string","string"],[n[a].path,n[a].data]);var t=l.ccall("vizRenderFromString","number",["string","string","string"],[A,i,r]),c=l.Pointer_stringify(t),s=l.ccall("vizLastErrorMessage","number",[],[]),b=l.Pointer_stringify(s);if(""!=b)throw new Error(b);return c}i.svgXmlToPngImageElement=function(A,e,i){void 0===e&&(e="devicePixelRatio"in window&&window.devicePixelRatio>1?window.devicePixelRatio:1);var r=new Image;try{if("object"==typeof fabric&&fabric.loadSVGFromString)fabric.loadSVGFromString(A,function(A,f){if(0==A.length){if(void 0!==i)return void i(new Error("Error loading SVG with Fabric"));throw new Error("Error loading SVG with Fabric")}var n=document.createElement("canvas");n.width=f.width,n.height=f.height;var a=new fabric.Canvas(n,{enableRetinaScaling:!1}),l=fabric.util.groupSVGElements(A,f);a.add(l).renderAll(),r.src=a.toDataURL({multiplier:e}),r.width=f.width,r.height=f.height,void 0!==i&&i(null,r)});else{var f=new Image;f.onload=function(){var A=document.createElement("canvas");A.width=f.width*e,A.height=f.height*e,A.getContext("2d").drawImage(f,0,0,A.width,A.height),r.src=A.toDataURL("image/png"),r.width=f.width,r.height=f.height,void 0!==i&&i(null,r)},f.onerror=function(A){var e;if(e="error"in A?A.error:new Error("Error loading SVG"),void 0===i)throw e;i(e)},f.src="data:image/svg+xml;base64,"+btoa(encodeURIComponent(A).replace(/%([0-9A-F]{2})/g,function(A,e){return String.fromCharCode("0x"+e)}))}}catch(A){if(void 0===i)throw A;i(A)}if(void 0===i)return r},i.svgXmlToPngBase64=function(A,e,r){i.svgXmlToPngImageElement(A,e,function(A,e){A?r(A):r(null,e.src.slice("data:image/png;base64,".length))})},"object"==typeof exports&&"undefined"!=typeof module?module.exports=i:"function"==typeof define&&define.amd?define(function(){return i}):A.Viz=i}(this);
}).call(this,require('_process'),require("buffer").Buffer)
},{"_process":121,"buffer":50,"crypto":58,"fs":48,"path":114}],3:[function(require,module,exports){
var asn1=exports;asn1.bignum=require("bn.js"),asn1.define=require("./asn1/api").define,asn1.base=require("./asn1/base"),asn1.constants=require("./asn1/constants"),asn1.decoders=require("./asn1/decoders"),asn1.encoders=require("./asn1/encoders");
},{"./asn1/api":4,"./asn1/base":6,"./asn1/constants":10,"./asn1/decoders":12,"./asn1/encoders":15,"bn.js":18}],4:[function(require,module,exports){
var asn1=require("../asn1"),inherits=require("inherits"),api=exports;function Entity(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}api.define=function(e,t){return new Entity(e,t)},Entity.prototype._createNamed=function(e){var t;try{t=require("vm").runInThisContext("(function "+this.name+"(entity) {\n this._initNamed(entity);\n})")}catch(e){t=function(e){this._initNamed(e)}}return inherits(t,e),t.prototype._initNamed=function(t){e.call(this,t)},new t(this)},Entity.prototype._getDecoder=function(e){return e=e||"der",this.decoders.hasOwnProperty(e)||(this.decoders[e]=this._createNamed(asn1.decoders[e])),this.decoders[e]},Entity.prototype.decode=function(e,t,n){return this._getDecoder(t).decode(e,n)},Entity.prototype._getEncoder=function(e){return e=e||"der",this.encoders.hasOwnProperty(e)||(this.encoders[e]=this._createNamed(asn1.encoders[e])),this.encoders[e]},Entity.prototype.encode=function(e,t,n){return this._getEncoder(t).encode(e,n)};
},{"../asn1":3,"inherits":102,"vm":158}],5:[function(require,module,exports){
var inherits=require("inherits"),Reporter=require("../base").Reporter,Buffer=require("buffer").Buffer;function DecoderBuffer(e,t){Reporter.call(this,t),Buffer.isBuffer(e)?(this.base=e,this.offset=0,this.length=e.length):this.error("Input not Buffer")}function EncoderBuffer(e,t){if(Array.isArray(e))this.length=0,this.value=e.map(function(e){return e instanceof EncoderBuffer||(e=new EncoderBuffer(e,t)),this.length+=e.length,e},this);else if("number"==typeof e){if(!(0<=e&&e<=255))return t.error("non-byte EncoderBuffer value");this.value=e,this.length=1}else if("string"==typeof e)this.value=e,this.length=Buffer.byteLength(e);else{if(!Buffer.isBuffer(e))return t.error("Unsupported type: "+typeof e);this.value=e,this.length=e.length}}inherits(DecoderBuffer,Reporter),exports.DecoderBuffer=DecoderBuffer,DecoderBuffer.prototype.save=function(){return{offset:this.offset,reporter:Reporter.prototype.save.call(this)}},DecoderBuffer.prototype.restore=function(e){var t=new DecoderBuffer(this.base);return t.offset=e.offset,t.length=this.offset,this.offset=e.offset,Reporter.prototype.restore.call(this,e.reporter),t},DecoderBuffer.prototype.isEmpty=function(){return this.offset===this.length},DecoderBuffer.prototype.readUInt8=function(e){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(e||"DecoderBuffer overrun")},DecoderBuffer.prototype.skip=function(e,t){if(!(this.offset+e<=this.length))return this.error(t||"DecoderBuffer overrun");var r=new DecoderBuffer(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+e,this.offset+=e,r},DecoderBuffer.prototype.raw=function(e){return this.base.slice(e?e.offset:this.offset,this.length)},exports.EncoderBuffer=EncoderBuffer,EncoderBuffer.prototype.join=function(e,t){return e||(e=Buffer.alloc(this.length)),t||(t=0),0===this.length?e:(Array.isArray(this.value)?this.value.forEach(function(r){r.join(e,t),t+=r.length}):("number"==typeof this.value?e[t]=this.value:"string"==typeof this.value?e.write(this.value,t):Buffer.isBuffer(this.value)&&this.value.copy(e,t),t+=this.length),e)};
},{"../base":6,"buffer":50,"inherits":102}],6:[function(require,module,exports){
var base=exports;base.Reporter=require("./reporter").Reporter,base.DecoderBuffer=require("./buffer").DecoderBuffer,base.EncoderBuffer=require("./buffer").EncoderBuffer,base.Node=require("./node");
},{"./buffer":5,"./node":7,"./reporter":8}],7:[function(require,module,exports){
var Reporter=require("../base").Reporter,EncoderBuffer=require("../base").EncoderBuffer,DecoderBuffer=require("../base").DecoderBuffer,assert=require("minimalistic-assert"),tags=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],methods=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(tags),overrided=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function Node(e,t){var r={};this._baseState=r,r.enc=e,r.parent=t||null,r.children=null,r.tag=null,r.args=null,r.reverseArgs=null,r.choice=null,r.optional=!1,r.any=!1,r.obj=!1,r.use=null,r.useDecoder=null,r.key=null,r.default=null,r.explicit=null,r.implicit=null,r.contains=null,r.parent||(r.children=[],this._wrap())}module.exports=Node;var stateProps=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];Node.prototype.clone=function(){var e=this._baseState,t={};stateProps.forEach(function(r){t[r]=e[r]});var r=new this.constructor(t.parent);return r._baseState=t,r},Node.prototype._wrap=function(){var e=this._baseState;methods.forEach(function(t){this[t]=function(){var r=new this.constructor(this);return e.children.push(r),r[t].apply(r,arguments)}},this)},Node.prototype._init=function(e){var t=this._baseState;assert(null===t.parent),e.call(this),t.children=t.children.filter(function(e){return e._baseState.parent===this},this),assert.equal(t.children.length,1,"Root node can have only one child")},Node.prototype._useArgs=function(e){var t=this._baseState,r=e.filter(function(e){return e instanceof this.constructor},this);e=e.filter(function(e){return!(e instanceof this.constructor)},this),0!==r.length&&(assert(null===t.children),t.children=r,r.forEach(function(e){e._baseState.parent=this},this)),0!==e.length&&(assert(null===t.args),t.args=e,t.reverseArgs=e.map(function(e){if("object"!=typeof e||e.constructor!==Object)return e;var t={};return Object.keys(e).forEach(function(r){r==(0|r)&&(r|=0);var i=e[r];t[i]=r}),t}))},overrided.forEach(function(e){Node.prototype[e]=function(){var t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}}),tags.forEach(function(e){Node.prototype[e]=function(){var t=this._baseState,r=Array.prototype.slice.call(arguments);return assert(null===t.tag),t.tag=e,this._useArgs(r),this}}),Node.prototype.use=function(e){assert(e);var t=this._baseState;return assert(null===t.use),t.use=e,this},Node.prototype.optional=function(){return this._baseState.optional=!0,this},Node.prototype.def=function(e){var t=this._baseState;return assert(null===t.default),t.default=e,t.optional=!0,this},Node.prototype.explicit=function(e){var t=this._baseState;return assert(null===t.explicit&&null===t.implicit),t.explicit=e,this},Node.prototype.implicit=function(e){var t=this._baseState;return assert(null===t.explicit&&null===t.implicit),t.implicit=e,this},Node.prototype.obj=function(){var e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},Node.prototype.key=function(e){var t=this._baseState;return assert(null===t.key),t.key=e,this},Node.prototype.any=function(){return this._baseState.any=!0,this},Node.prototype.choice=function(e){var t=this._baseState;return assert(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map(function(t){return e[t]})),this},Node.prototype.contains=function(e){var t=this._baseState;return assert(null===t.use),t.contains=e,this},Node.prototype._decode=function(e,t){var r=this._baseState;if(null===r.parent)return e.wrapResult(r.children[0]._decode(e,t));var i,n=r.default,o=!0,s=null;if(null!==r.key&&(s=e.enterKey(r.key)),r.optional){var a=null;if(null!==r.explicit?a=r.explicit:null!==r.implicit?a=r.implicit:null!==r.tag&&(a=r.tag),null!==a||r.any){if(o=this._peekTag(e,a,r.any),e.isError(o))return o}else{var c=e.save();try{null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t),o=!0}catch(e){o=!1}e.restore(c)}}if(r.obj&&o&&(i=e.enterObject()),o){if(null!==r.explicit){var l=this._decodeTag(e,r.explicit);if(e.isError(l))return l;e=l}var u=e.offset;if(null===r.use&&null===r.choice){if(r.any)c=e.save();var d=this._decodeTag(e,null!==r.implicit?r.implicit:r.tag,r.any);if(e.isError(d))return d;r.any?n=e.raw(c):e=d}if(t&&t.track&&null!==r.tag&&t.track(e.path(),u,e.length,"tagged"),t&&t.track&&null!==r.tag&&t.track(e.path(),e.offset,e.length,"content"),n=r.any?n:null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t),e.isError(n))return n;if(r.any||null!==r.choice||null===r.children||r.children.forEach(function(r){r._decode(e,t)}),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){var h=new DecoderBuffer(n);n=this._getUse(r.contains,e._reporterState.obj)._decode(h,t)}}return r.obj&&o&&(n=e.leaveObject(i)),null===r.key||null===n&&!0!==o?null!==s&&e.exitKey(s):e.leaveKey(s,r.key,n),n},Node.prototype._decodeGeneric=function(e,t,r){var i=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,i.args[0],r):/str$/.test(e)?this._decodeStr(t,e,r):"objid"===e&&i.args?this._decodeObjid(t,i.args[0],i.args[1],r):"objid"===e?this._decodeObjid(t,null,null,r):"gentime"===e||"utctime"===e?this._decodeTime(t,e,r):"null_"===e?this._decodeNull(t,r):"bool"===e?this._decodeBool(t,r):"objDesc"===e?this._decodeStr(t,e,r):"int"===e||"enum"===e?this._decodeInt(t,i.args&&i.args[0],r):null!==i.use?this._getUse(i.use,t._reporterState.obj)._decode(t,r):t.error("unknown tag: "+e)},Node.prototype._getUse=function(e,t){var r=this._baseState;return r.useDecoder=this._use(e,t),assert(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},Node.prototype._decodeChoice=function(e,t){var r=this._baseState,i=null,n=!1;return Object.keys(r.choice).some(function(o){var s=e.save(),a=r.choice[o];try{var c=a._decode(e,t);if(e.isError(c))return!1;i={type:o,value:c},n=!0}catch(t){return e.restore(s),!1}return!0},this),n?i:e.error("Choice not matched")},Node.prototype._createEncoderBuffer=function(e){return new EncoderBuffer(e,this.reporter)},Node.prototype._encode=function(e,t,r){var i=this._baseState;if(null===i.default||i.default!==e){var n=this._encodeValue(e,t,r);if(void 0!==n&&!this._skipDefault(n,t,r))return n}},Node.prototype._encodeValue=function(e,t,r){var i=this._baseState;if(null===i.parent)return i.children[0]._encode(e,t||new Reporter);var n=null;if(this.reporter=t,i.optional&&void 0===e){if(null===i.default)return;e=i.default}var o=null,s=!1;if(i.any)n=this._createEncoderBuffer(e);else if(i.choice)n=this._encodeChoice(e,t);else if(i.contains)o=this._getUse(i.contains,r)._encode(e,t),s=!0;else if(i.children)o=i.children.map(function(r){if("null_"===r._baseState.tag)return r._encode(null,t,e);if(null===r._baseState.key)return t.error("Child should have a key");var i=t.enterKey(r._baseState.key);if("object"!=typeof e)return t.error("Child expected, but input is not object");var n=r._encode(e[r._baseState.key],t,e);return t.leaveKey(i),n},this).filter(function(e){return e}),o=this._createEncoderBuffer(o);else if("seqof"===i.tag||"setof"===i.tag){if(!i.args||1!==i.args.length)return t.error("Too many args for : "+i.tag);if(!Array.isArray(e))return t.error("seqof/setof, but data is not Array");var a=this.clone();a._baseState.implicit=null,o=this._createEncoderBuffer(e.map(function(r){var i=this._baseState;return this._getUse(i.args[0],e)._encode(r,t)},a))}else null!==i.use?n=this._getUse(i.use,r)._encode(e,t):(o=this._encodePrimitive(i.tag,e),s=!0);if(!i.any&&null===i.choice){var c=null!==i.implicit?i.implicit:i.tag,l=null===i.implicit?"universal":"context";null===c?null===i.use&&t.error("Tag could be omitted only for .use()"):null===i.use&&(n=this._encodeComposite(c,s,l,o))}return null!==i.explicit&&(n=this._encodeComposite(i.explicit,!1,"context",n)),n},Node.prototype._encodeChoice=function(e,t){var r=this._baseState,i=r.choice[e.type];return i||assert(!1,e.type+" not found in "+JSON.stringify(Object.keys(r.choice))),i._encode(e.value,t)},Node.prototype._encodePrimitive=function(e,t){var r=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&r.args)return this._encodeObjid(t,r.reverseArgs[0],r.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,r.args&&r.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},Node.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},Node.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(e)};
},{"../base":6,"minimalistic-assert":107}],8:[function(require,module,exports){
var inherits=require("inherits");function Reporter(r){this._reporterState={obj:null,path:[],options:r||{},errors:[]}}function ReporterError(r,t){this.path=r,this.rethrow(t)}exports.Reporter=Reporter,Reporter.prototype.isError=function(r){return r instanceof ReporterError},Reporter.prototype.save=function(){var r=this._reporterState;return{obj:r.obj,pathLen:r.path.length}},Reporter.prototype.restore=function(r){var t=this._reporterState;t.obj=r.obj,t.path=t.path.slice(0,r.pathLen)},Reporter.prototype.enterKey=function(r){return this._reporterState.path.push(r)},Reporter.prototype.exitKey=function(r){var t=this._reporterState;t.path=t.path.slice(0,r-1)},Reporter.prototype.leaveKey=function(r,t,e){var o=this._reporterState;this.exitKey(r),null!==o.obj&&(o.obj[t]=e)},Reporter.prototype.path=function(){return this._reporterState.path.join("/")},Reporter.prototype.enterObject=function(){var r=this._reporterState,t=r.obj;return r.obj={},t},Reporter.prototype.leaveObject=function(r){var t=this._reporterState,e=t.obj;return t.obj=r,e},Reporter.prototype.error=function(r){var t,e=this._reporterState,o=r instanceof ReporterError;if(t=o?r:new ReporterError(e.path.map(function(r){return"["+JSON.stringify(r)+"]"}).join(""),r.message||r,r.stack),!e.options.partial)throw t;return o||e.errors.push(t),t},Reporter.prototype.wrapResult=function(r){var t=this._reporterState;return t.options.partial?{result:this.isError(r)?null:r,errors:t.errors}:r},inherits(ReporterError,Error),ReporterError.prototype.rethrow=function(r){if(this.message=r+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,ReporterError),!this.stack)try{throw new Error(this.message)}catch(r){this.stack=r.stack}return this};
},{"inherits":102}],9:[function(require,module,exports){
var constants=require("../constants");exports.tagClass={0:"universal",1:"application",2:"context",3:"private"},exports.tagClassByName=constants._reverse(exports.tagClass),exports.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},exports.tagByName=constants._reverse(exports.tag);
},{"../constants":10}],10:[function(require,module,exports){
var constants=exports;constants._reverse=function(r){var e={};return Object.keys(r).forEach(function(n){(0|n)==n&&(n|=0);var t=r[n];e[t]=n}),e},constants.der=require("./der");
},{"./der":9}],11:[function(require,module,exports){
var inherits=require("inherits"),asn1=require("../../asn1"),base=asn1.base,bignum=asn1.bignum,der=asn1.constants.der;function DERDecoder(r){this.enc="der",this.name=r.name,this.entity=r,this.tree=new DERNode,this.tree._init(r.body)}function DERNode(r){base.Node.call(this,"der",r)}function derDecodeTag(r,e){var t=r.readUInt8(e);if(r.isError(t))return t;var i=der.tagClass[t>>6],o=0==(32&t);if(31==(31&t)){var n=t;for(t=0;128==(128&n);){if(n=r.readUInt8(e),r.isError(n))return n;t<<=7,t|=127&n}}else t&=31;return{cls:i,primitive:o,tag:t,tagStr:der.tag[t]}}function derDecodeLen(r,e,t){var i=r.readUInt8(t);if(r.isError(i))return i;if(!e&&128===i)return null;if(0==(128&i))return i;var o=127&i;if(o>4)return r.error("length octect is too long");i=0;for(var n=0;n<o;n++){i<<=8;var s=r.readUInt8(t);if(r.isError(s))return s;i|=s}return i}module.exports=DERDecoder,DERDecoder.prototype.decode=function(r,e){return r instanceof base.DecoderBuffer||(r=new base.DecoderBuffer(r,e)),this.tree._decode(r,e)},inherits(DERNode,base.Node),DERNode.prototype._peekTag=function(r,e,t){if(r.isEmpty())return!1;var i=r.save(),o=derDecodeTag(r,'Failed to peek tag: "'+e+'"');return r.isError(o)?o:(r.restore(i),o.tag===e||o.tagStr===e||o.tagStr+"of"===e||t)},DERNode.prototype._decodeTag=function(r,e,t){var i=derDecodeTag(r,'Failed to decode tag of "'+e+'"');if(r.isError(i))return i;var o=derDecodeLen(r,i.primitive,'Failed to get length of "'+e+'"');if(r.isError(o))return o;if(!t&&i.tag!==e&&i.tagStr!==e&&i.tagStr+"of"!==e)return r.error('Failed to match tag: "'+e+'"');if(i.primitive||null!==o)return r.skip(o,'Failed to match body of: "'+e+'"');var n=r.save(),s=this._skipUntilEnd(r,'Failed to skip indefinite length body: "'+this.tag+'"');return r.isError(s)?s:(o=r.offset-n.offset,r.restore(n),r.skip(o,'Failed to match body of: "'+e+'"'))},DERNode.prototype._skipUntilEnd=function(r,e){for(;;){var t=derDecodeTag(r,e);if(r.isError(t))return t;var i,o=derDecodeLen(r,t.primitive,e);if(r.isError(o))return o;if(i=t.primitive||null!==o?r.skip(o):this._skipUntilEnd(r,e),r.isError(i))return i;if("end"===t.tagStr)break}},DERNode.prototype._decodeList=function(r,e,t,i){for(var o=[];!r.isEmpty();){var n=this._peekTag(r,"end");if(r.isError(n))return n;var s=t.decode(r,"der",i);if(r.isError(s)&&n)break;o.push(s)}return o},DERNode.prototype._decodeStr=function(r,e){if("bitstr"===e){var t=r.readUInt8();return r.isError(t)?t:{unused:t,data:r.raw()}}if("bmpstr"===e){var i=r.raw();if(i.length%2==1)return r.error("Decoding of string type: bmpstr length mismatch");for(var o="",n=0;n<i.length/2;n++)o+=String.fromCharCode(i.readUInt16BE(2*n));return o}if("numstr"===e){var s=r.raw().toString("ascii");return this._isNumstr(s)?s:r.error("Decoding of string type: numstr unsupported characters")}if("octstr"===e)return r.raw();if("objDesc"===e)return r.raw();if("printstr"===e){var a=r.raw().toString("ascii");return this._isPrintstr(a)?a:r.error("Decoding of string type: printstr unsupported characters")}return/str$/.test(e)?r.raw().toString():r.error("Decoding of string type: "+e+" unsupported")},DERNode.prototype._decodeObjid=function(r,e,t){for(var i,o=[],n=0;!r.isEmpty();){var s=r.readUInt8();n<<=7,n|=127&s,0==(128&s)&&(o.push(n),n=0)}128&s&&o.push(n);var a=o[0]/40|0,d=o[0]%40;if(i=t?o:[a,d].concat(o.slice(1)),e){var u=e[i.join(" ")];void 0===u&&(u=e[i.join(".")]),void 0!==u&&(i=u)}return i},DERNode.prototype._decodeTime=function(r,e){var t=r.raw().toString();if("gentime"===e)var i=0|t.slice(0,4),o=0|t.slice(4,6),n=0|t.slice(6,8),s=0|t.slice(8,10),a=0|t.slice(10,12),d=0|t.slice(12,14);else{if("utctime"!==e)return r.error("Decoding "+e+" time is not supported yet");i=0|t.slice(0,2),o=0|t.slice(2,4),n=0|t.slice(4,6),s=0|t.slice(6,8),a=0|t.slice(8,10),d=0|t.slice(10,12);i=i<70?2e3+i:1900+i}return Date.UTC(i,o-1,n,s,a,d,0)},DERNode.prototype._decodeNull=function(r){return null},DERNode.prototype._decodeBool=function(r){var e=r.readUInt8();return r.isError(e)?e:0!==e},DERNode.prototype._decodeInt=function(r,e){var t=r.raw(),i=new bignum(t);return e&&(i=e[i.toString(10)]||i),i},DERNode.prototype._use=function(r,e){return"function"==typeof r&&(r=r(e)),r._getDecoder("der").tree};
},{"../../asn1":3,"inherits":102}],12:[function(require,module,exports){
var decoders=exports;decoders.der=require("./der"),decoders.pem=require("./pem");
},{"./der":11,"./pem":13}],13:[function(require,module,exports){
var inherits=require("inherits"),Buffer=require("buffer").Buffer,DERDecoder=require("./der");function PEMDecoder(e){DERDecoder.call(this,e),this.enc="pem"}inherits(PEMDecoder,DERDecoder),module.exports=PEMDecoder,PEMDecoder.prototype.decode=function(e,r){for(var o=e.toString().split(/[\r\n]+/g),i=r.label.toUpperCase(),t=/^-----(BEGIN|END) ([^-]+)-----$/,c=-1,n=-1,f=0;f<o.length;f++){var a=o[f].match(t);if(null!==a&&a[2]===i){if(-1!==c){if("END"!==a[1])break;n=f;break}if("BEGIN"!==a[1])break;c=f}}if(-1===c||-1===n)throw new Error("PEM section not found for: "+i);var d=o.slice(c+1,n).join("");d.replace(/[^a-z0-9\+\/=]+/gi,"");var D=Buffer.alloc(d,"base64");return DERDecoder.prototype.decode.call(this,D,r)};
},{"./der":11,"buffer":50,"inherits":102}],14:[function(require,module,exports){
var inherits=require("inherits"),Buffer=require("buffer").Buffer,asn1=require("../../asn1"),base=asn1.base,der=asn1.constants.der;function DEREncoder(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new DERNode,this.tree._init(e.body)}function DERNode(e){base.Node.call(this,"der",e)}function two(e){return e<10?"0"+e:e}function encodeTag(e,r,t,n){var o;if("seqof"===e?e="seq":"setof"===e&&(e="set"),der.tagByName.hasOwnProperty(e))o=der.tagByName[e];else{if("number"!=typeof e||(0|e)!==e)return n.error("Unknown tag: "+e);o=e}return o>=31?n.error("Multi-octet tag encoding unsupported"):(r||(o|=32),o|=der.tagClassByName[t||"universal"]<<6)}module.exports=DEREncoder,DEREncoder.prototype.encode=function(e,r){return this.tree._encode(e,r).join()},inherits(DERNode,base.Node),DERNode.prototype._encodeComposite=function(e,r,t,n){var o,i=encodeTag(e,r,t,this.reporter);if(n.length<128)return(o=Buffer.alloc(2))[0]=i,o[1]=n.length,this._createEncoderBuffer([o,n]);for(var f=1,s=n.length;s>=256;s>>=8)f++;(o=Buffer.alloc(2+f))[0]=i,o[1]=128|f;s=1+f;for(var u=n.length;u>0;s--,u>>=8)o[s]=255&u;return this._createEncoderBuffer([o,n])},DERNode.prototype._encodeStr=function(e,r){if("bitstr"===r)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===r){for(var t=Buffer.alloc(2*e.length),n=0;n<e.length;n++)t.writeUInt16BE(e.charCodeAt(n),2*n);return this._createEncoderBuffer(t)}return"numstr"===r?this._isNumstr(e)?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: numstr supports only digits and space"):"printstr"===r?this._isPrintstr(e)?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(r)?this._createEncoderBuffer(e):"objDesc"===r?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: "+r+" unsupported")},DERNode.prototype._encodeObjid=function(e,r,t){if("string"==typeof e){if(!r)return this.reporter.error("string objid given, but no values map found");if(!r.hasOwnProperty(e))return this.reporter.error("objid not found in values map");e=r[e].split(/[\s\.]+/g);for(var n=0;n<e.length;n++)e[n]|=0}else if(Array.isArray(e)){e=e.slice();for(n=0;n<e.length;n++)e[n]|=0}if(!Array.isArray(e))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(e));if(!t){if(e[1]>=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}var o=0;for(n=0;n<e.length;n++){var i=e[n];for(o++;i>=128;i>>=7)o++}var f=Buffer.alloc(o),s=f.length-1;for(n=e.length-1;n>=0;n--){i=e[n];for(f[s--]=127&i;(i>>=7)>0;)f[s--]=128|127&i}return this._createEncoderBuffer(f)},DERNode.prototype._encodeTime=function(e,r){var t,n=new Date(e);return"gentime"===r?t=[two(n.getFullYear()),two(n.getUTCMonth()+1),two(n.getUTCDate()),two(n.getUTCHours()),two(n.getUTCMinutes()),two(n.getUTCSeconds()),"Z"].join(""):"utctime"===r?t=[two(n.getFullYear()%100),two(n.getUTCMonth()+1),two(n.getUTCDate()),two(n.getUTCHours()),two(n.getUTCMinutes()),two(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+r+" time is not supported yet"),this._encodeStr(t,"octstr")},DERNode.prototype._encodeNull=function(){return this._createEncoderBuffer("")},DERNode.prototype._encodeInt=function(e,r){if("string"==typeof e){if(!r)return this.reporter.error("String int or enum given, but no values map");if(!r.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=r[e]}if("number"!=typeof e&&!Buffer.isBuffer(e)){var t=e.toArray();!e.sign&&128&t[0]&&t.unshift(0),e=Buffer.alloc(t)}if(Buffer.isBuffer(e)){var n=e.length;0===e.length&&n++;var o=Buffer.alloc(n);return e.copy(o),0===e.length&&(o[0]=0),this._createEncoderBuffer(o)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);n=1;for(var i=e;i>=256;i>>=8)n++;for(i=(o=new Array(n)).length-1;i>=0;i--)o[i]=255&e,e>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(Buffer.alloc(o))},DERNode.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},DERNode.prototype._use=function(e,r){return"function"==typeof e&&(e=e(r)),e._getEncoder("der").tree},DERNode.prototype._skipDefault=function(e,r,t){var n,o=this._baseState;if(null===o.default)return!1;var i=e.join();if(void 0===o.defaultBuffer&&(o.defaultBuffer=this._encodeValue(o.default,r,t).join()),i.length!==o.defaultBuffer.length)return!1;for(n=0;n<i.length;n++)if(i[n]!==o.defaultBuffer[n])return!1;return!0};
},{"../../asn1":3,"buffer":50,"inherits":102}],15:[function(require,module,exports){
var encoders=exports;encoders.der=require("./der"),encoders.pem=require("./pem");
},{"./der":14,"./pem":16}],16:[function(require,module,exports){
var inherits=require("inherits"),DEREncoder=require("./der");function PEMEncoder(e){DEREncoder.call(this,e),this.enc="pem"}inherits(PEMEncoder,DEREncoder),module.exports=PEMEncoder,PEMEncoder.prototype.encode=function(e,r){for(var n=DEREncoder.prototype.encode.call(this,e).toString("base64"),o=["-----BEGIN "+r.label+"-----"],E=0;E<n.length;E+=64)o.push(n.slice(E,E+64));return o.push("-----END "+r.label+"-----"),o.join("\n")};
},{"./der":14,"inherits":102}],17:[function(require,module,exports){
"use strict";exports.byteLength=byteLength,exports.toByteArray=toByteArray,exports.fromByteArray=fromByteArray;for(var lookup=[],revLookup=[],Arr="undefined"!=typeof Uint8Array?Uint8Array:Array,code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,len=code.length;i<len;++i)lookup[i]=code[i],revLookup[code.charCodeAt(i)]=i;function getLens(o){var r=o.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var e=o.indexOf("=");return-1===e&&(e=r),[e,e===r?0:4-e%4]}function byteLength(o){var r=getLens(o),e=r[0],t=r[1];return 3*(e+t)/4-t}function _byteLength(o,r,e){return 3*(r+e)/4-e}function toByteArray(o){for(var r,e=getLens(o),t=e[0],n=e[1],u=new Arr(_byteLength(o,t,n)),p=0,a=n>0?t-4:t,h=0;h<a;h+=4)r=revLookup[o.charCodeAt(h)]<<18|revLookup[o.charCodeAt(h+1)]<<12|revLookup[o.charCodeAt(h+2)]<<6|revLookup[o.charCodeAt(h+3)],u[p++]=r>>16&255,u[p++]=r>>8&255,u[p++]=255&r;return 2===n&&(r=revLookup[o.charCodeAt(h)]<<2|revLookup[o.charCodeAt(h+1)]>>4,u[p++]=255&r),1===n&&(r=revLookup[o.charCodeAt(h)]<<10|revLookup[o.charCodeAt(h+1)]<<4|revLookup[o.charCodeAt(h+2)]>>2,u[p++]=r>>8&255,u[p++]=255&r),u}function tripletToBase64(o){return lookup[o>>18&63]+lookup[o>>12&63]+lookup[o>>6&63]+lookup[63&o]}function encodeChunk(o,r,e){for(var t,n=[],u=r;u<e;u+=3)t=(o[u]<<16&16711680)+(o[u+1]<<8&65280)+(255&o[u+2]),n.push(tripletToBase64(t));return n.join("")}function fromByteArray(o){for(var r,e=o.length,t=e%3,n=[],u=0,p=e-t;u<p;u+=16383)n.push(encodeChunk(o,u,u+16383>p?p:u+16383));return 1===t?(r=o[e-1],n.push(lookup[r>>2]+lookup[r<<4&63]+"==")):2===t&&(r=(o[e-2]<<8)+o[e-1],n.push(lookup[r>>10]+lookup[r>>4&63]+lookup[r<<2&63]+"=")),n.join("")}revLookup["-".charCodeAt(0)]=62,revLookup["_".charCodeAt(0)]=63;
},{}],18:[function(require,module,exports){
!function(t,i){"use strict";function r(t,i){if(!t)throw new Error(i||"Assertion failed")}function h(t,i){t.super_=i;var r=function(){};r.prototype=i.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,i,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==i&&"be"!==i||(r=i,i=10),this._init(t||0,i||10,r||"be"))}var e;"object"==typeof t?t.exports=n:i.BN=n,n.BN=n,n.wordSize=26;try{e=require("buffer").Buffer}catch(t){}function o(t,i,r){for(var h=0,n=Math.min(t.length,r),e=i;e<n;e++){var o=t.charCodeAt(e)-48;h<<=4,h|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return h}function s(t,i,r,h){for(var n=0,e=Math.min(t.length,r),o=i;o<e;o++){var s=t.charCodeAt(o)-48;n*=h,n+=s>=49?s-49+10:s>=17?s-17+10:s}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,i){return t.cmp(i)>0?t:i},n.min=function(t,i){return t.cmp(i)<0?t:i},n.prototype._init=function(t,i,h){if("number"==typeof t)return this._initNumber(t,i,h);if("object"==typeof t)return this._initArray(t,i,h);"hex"===i&&(i=16),r(i===(0|i)&&i>=2&&i<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&n++,16===i?this._parseHex(t,n):this._parseBase(t,i,n),"-"===t[0]&&(this.negative=1),this.strip(),"le"===h&&this._initArray(this.toArray(),i,h)},n.prototype._initNumber=function(t,i,h){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===h&&this._initArray(this.toArray(),i,h)},n.prototype._initArray=function(t,i,h){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var e,o,s=0;if("be"===h)for(n=t.length-1,e=0;n>=0;n-=3)o=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[e]|=o<<s&67108863,this.words[e+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,e++);else if("le"===h)for(n=0,e=0;n<t.length;n+=3)o=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[e]|=o<<s&67108863,this.words[e+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,e++);return this.strip()},n.prototype._parseHex=function(t,i){this.length=Math.ceil((t.length-i)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var h,n,e=0;for(r=t.length-6,h=0;r>=i;r-=6)n=o(t,r,r+6),this.words[h]|=n<<e&67108863,this.words[h+1]|=n>>>26-e&4194303,(e+=24)>=26&&(e-=26,h++);r+6!==i&&(n=o(t,i,r+6),this.words[h]|=n<<e&67108863,this.words[h+1]|=n>>>26-e&4194303),this.strip()},n.prototype._parseBase=function(t,i,r){this.words=[0],this.length=1;for(var h=0,n=1;n<=67108863;n*=i)h++;h--,n=n/i|0;for(var e=t.length-r,o=e%h,u=Math.min(e,e-o)+r,a=0,l=r;l<u;l+=h)a=s(t,l,l+h,i),this.imuln(n),this.words[0]+a<67108864?this.words[0]+=a:this._iaddn(a);if(0!==o){var m=1;for(a=s(t,l,t.length,i),l=0;l<o;l++)m*=i;this.imuln(m),this.words[0]+a<67108864?this.words[0]+=a:this._iaddn(a)}},n.prototype.copy=function(t){t.words=new Array(this.length);for(var i=0;i<this.length;i++)t.words[i]=this.words[i];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],a=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function m(t,i,r){r.negative=i.negative^t.negative;var h=t.length+i.length|0;r.length=h,h=h-1|0;var n=0|t.words[0],e=0|i.words[0],o=n*e,s=67108863&o,u=o/67108864|0;r.words[0]=s;for(var a=1;a<h;a++){for(var l=u>>>26,m=67108863&u,f=Math.min(a,i.length-1),d=Math.max(0,a-t.length+1);d<=f;d++){var p=a-d|0;l+=(o=(n=0|t.words[p])*(e=0|i.words[d])+m)/67108864|0,m=67108863&o}r.words[a]=0|m,u=0|l}return 0!==u?r.words[a]=0|u:r.length--,r.strip()}n.prototype.toString=function(t,i){var h;if(i=0|i||1,16===(t=t||10)||"hex"===t){h="";for(var n=0,e=0,o=0;o<this.length;o++){var s=this.words[o],m=(16777215&(s<<n|e)).toString(16);h=0!==(e=s>>>24-n&16777215)||o!==this.length-1?u[6-m.length]+m+h:m+h,(n+=2)>=26&&(n-=26,o--)}for(0!==e&&(h=e.toString(16)+h);h.length%i!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}if(t===(0|t)&&t>=2&&t<=36){var f=a[t],d=l[t];h="";var p=this.clone();for(p.negative=0;!p.isZero();){var M=p.modn(d).toString(t);h=(p=p.idivn(d)).isZero()?M+h:u[f-M.length]+M+h}for(this.isZero()&&(h="0"+h);h.length%i!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,i){return r(void 0!==e),this.toArrayLike(e,t,i)},n.prototype.toArray=function(t,i){return this.toArrayLike(Array,t,i)},n.prototype.toArrayLike=function(t,i,h){var n=this.byteLength(),e=h||Math.max(1,n);r(n<=e,"byte array longer than desired length"),r(e>0,"Requested array length <= 0"),this.strip();var o,s,u="le"===i,a=new t(e),l=this.clone();if(u){for(s=0;!l.isZero();s++)o=l.andln(255),l.iushrn(8),a[s]=o;for(;s<e;s++)a[s]=0}else{for(s=0;s<e-n;s++)a[s]=0;for(s=0;!l.isZero();s++)o=l.andln(255),l.iushrn(8),a[e-s-1]=o}return a},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var i=t,r=0;return i>=4096&&(r+=13,i>>>=13),i>=64&&(r+=7,i>>>=7),i>=8&&(r+=4,i>>>=4),i>=2&&(r+=2,i>>>=2),r+i},n.prototype._zeroBits=function(t){if(0===t)return 26;var i=t,r=0;return 0==(8191&i)&&(r+=13,i>>>=13),0==(127&i)&&(r+=7,i>>>=7),0==(15&i)&&(r+=4,i>>>=4),0==(3&i)&&(r+=2,i>>>=2),0==(1&i)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],i=this._countBits(t);return 26*(this.length-1)+i},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,i=0;i<this.length;i++){var r=this._zeroBits(this.words[i]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var i=0;i<t.length;i++)this.words[i]=this.words[i]|t.words[i];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var i;i=this.length>t.length?t:this;for(var r=0;r<i.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=i.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var i,r;this.length>t.length?(i=this,r=t):(i=t,r=this);for(var h=0;h<r.length;h++)this.words[h]=i.words[h]^r.words[h];if(this!==i)for(;h<i.length;h++)this.words[h]=i.words[h];return this.length=i.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var i=0|Math.ceil(t/26),h=t%26;this._expand(i),h>0&&i--;for(var n=0;n<i;n++)this.words[n]=67108863&~this.words[n];return h>0&&(this.words[n]=~this.words[n]&67108863>>26-h),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,i){r("number"==typeof t&&t>=0);var h=t/26|0,n=t%26;return this._expand(h+1),this.words[h]=i?this.words[h]|1<<n:this.words[h]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var i,r,h;if(0!==this.negative&&0===t.negative)return this.negative=0,i=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,i=this.isub(t),t.negative=1,i._normSign();this.length>t.length?(r=this,h=t):(r=t,h=this);for(var n=0,e=0;e<h.length;e++)i=(0|r.words[e])+(0|h.words[e])+n,this.words[e]=67108863&i,n=i>>>26;for(;0!==n&&e<r.length;e++)i=(0|r.words[e])+n,this.words[e]=67108863&i,n=i>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;e<r.length;e++)this.words[e]=r.words[e];return this},n.prototype.add=function(t){var i;return 0!==t.negative&&0===this.negative?(t.negative=0,i=this.sub(t),t.negative^=1,i):0===t.negative&&0!==this.negative?(this.negative=0,i=t.sub(this),this.negative=1,i):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var i=this.iadd(t);return t.negative=1,i._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,h,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,h=t):(r=t,h=this);for(var e=0,o=0;o<h.length;o++)e=(i=(0|r.words[o])-(0|h.words[o])+e)>>26,this.words[o]=67108863&i;for(;0!==e&&o<r.length;o++)e=(i=(0|r.words[o])+e)>>26,this.words[o]=67108863&i;if(0===e&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var f=function(t,i,r){var h,n,e,o=t.words,s=i.words,u=r.words,a=0,l=0|o[0],m=8191&l,f=l>>>13,d=0|o[1],p=8191&d,M=d>>>13,v=0|o[2],g=8191&v,c=v>>>13,w=0|o[3],y=8191&w,b=w>>>13,_=0|o[4],k=8191&_,A=_>>>13,x=0|o[5],S=8191&x,Z=x>>>13,q=0|o[6],R=8191&q,B=q>>>13,N=0|o[7],L=8191&N,I=N>>>13,z=0|o[8],T=8191&z,E=z>>>13,O=0|o[9],j=8191&O,K=O>>>13,P=0|s[0],F=8191&P,C=P>>>13,D=0|s[1],H=8191&D,J=D>>>13,U=0|s[2],G=8191&U,Q=U>>>13,V=0|s[3],W=8191&V,X=V>>>13,Y=0|s[4],$=8191&Y,tt=Y>>>13,it=0|s[5],rt=8191&it,ht=it>>>13,nt=0|s[6],et=8191&nt,ot=nt>>>13,st=0|s[7],ut=8191&st,at=st>>>13,lt=0|s[8],mt=8191<,ft=lt>>>13,dt=0|s[9],pt=8191&dt,Mt=dt>>>13;r.negative=t.negative^i.negative,r.length=19;var vt=(a+(h=Math.imul(m,F))|0)+((8191&(n=(n=Math.imul(m,C))+Math.imul(f,F)|0))<<13)|0;a=((e=Math.imul(f,C))+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,h=Math.imul(p,F),n=(n=Math.imul(p,C))+Math.imul(M,F)|0,e=Math.imul(M,C);var gt=(a+(h=h+Math.imul(m,H)|0)|0)+((8191&(n=(n=n+Math.imul(m,J)|0)+Math.imul(f,H)|0))<<13)|0;a=((e=e+Math.imul(f,J)|0)+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,h=Math.imul(g,F),n=(n=Math.imul(g,C))+Math.imul(c,F)|0,e=Math.imul(c,C),h=h+Math.imul(p,H)|0,n=(n=n+Math.imul(p,J)|0)+Math.imul(M,H)|0,e=e+Math.imul(M,J)|0;var ct=(a+(h=h+Math.imul(m,G)|0)|0)+((8191&(n=(n=n+Math.imul(m,Q)|0)+Math.imul(f,G)|0))<<13)|0;a=((e=e+Math.imul(f,Q)|0)+(n>>>13)|0)+(ct>>>26)|0,ct&=67108863,h=Math.imul(y,F),n=(n=Math.imul(y,C))+Math.imul(b,F)|0,e=Math.imul(b,C),h=h+Math.imul(g,H)|0,n=(n=n+Math.imul(g,J)|0)+Math.imul(c,H)|0,e=e+Math.imul(c,J)|0,h=h+Math.imul(p,G)|0,n=(n=n+Math.imul(p,Q)|0)+Math.imul(M,G)|0,e=e+Math.imul(M,Q)|0;var wt=(a+(h=h+Math.imul(m,W)|0)|0)+((8191&(n=(n=n+Math.imul(m,X)|0)+Math.imul(f,W)|0))<<13)|0;a=((e=e+Math.imul(f,X)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,h=Math.imul(k,F),n=(n=Math.imul(k,C))+Math.imul(A,F)|0,e=Math.imul(A,C),h=h+Math.imul(y,H)|0,n=(n=n+Math.imul(y,J)|0)+Math.imul(b,H)|0,e=e+Math.imul(b,J)|0,h=h+Math.imul(g,G)|0,n=(n=n+Math.imul(g,Q)|0)+Math.imul(c,G)|0,e=e+Math.imul(c,Q)|0,h=h+Math.imul(p,W)|0,n=(n=n+Math.imul(p,X)|0)+Math.imul(M,W)|0,e=e+Math.imul(M,X)|0;var yt=(a+(h=h+Math.imul(m,$)|0)|0)+((8191&(n=(n=n+Math.imul(m,tt)|0)+Math.imul(f,$)|0))<<13)|0;a=((e=e+Math.imul(f,tt)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,h=Math.imul(S,F),n=(n=Math.imul(S,C))+Math.imul(Z,F)|0,e=Math.imul(Z,C),h=h+Math.imul(k,H)|0,n=(n=n+Math.imul(k,J)|0)+Math.imul(A,H)|0,e=e+Math.imul(A,J)|0,h=h+Math.imul(y,G)|0,n=(n=n+Math.imul(y,Q)|0)+Math.imul(b,G)|0,e=e+Math.imul(b,Q)|0,h=h+Math.imul(g,W)|0,n=(n=n+Math.imul(g,X)|0)+Math.imul(c,W)|0,e=e+Math.imul(c,X)|0,h=h+Math.imul(p,$)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(M,$)|0,e=e+Math.imul(M,tt)|0;var bt=(a+(h=h+Math.imul(m,rt)|0)|0)+((8191&(n=(n=n+Math.imul(m,ht)|0)+Math.imul(f,rt)|0))<<13)|0;a=((e=e+Math.imul(f,ht)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,h=Math.imul(R,F),n=(n=Math.imul(R,C))+Math.imul(B,F)|0,e=Math.imul(B,C),h=h+Math.imul(S,H)|0,n=(n=n+Math.imul(S,J)|0)+Math.imul(Z,H)|0,e=e+Math.imul(Z,J)|0,h=h+Math.imul(k,G)|0,n=(n=n+Math.imul(k,Q)|0)+Math.imul(A,G)|0,e=e+Math.imul(A,Q)|0,h=h+Math.imul(y,W)|0,n=(n=n+Math.imul(y,X)|0)+Math.imul(b,W)|0,e=e+Math.imul(b,X)|0,h=h+Math.imul(g,$)|0,n=(n=n+Math.imul(g,tt)|0)+Math.imul(c,$)|0,e=e+Math.imul(c,tt)|0,h=h+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,ht)|0)+Math.imul(M,rt)|0,e=e+Math.imul(M,ht)|0;var _t=(a+(h=h+Math.imul(m,et)|0)|0)+((8191&(n=(n=n+Math.imul(m,ot)|0)+Math.imul(f,et)|0))<<13)|0;a=((e=e+Math.imul(f,ot)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,h=Math.imul(L,F),n=(n=Math.imul(L,C))+Math.imul(I,F)|0,e=Math.imul(I,C),h=h+Math.imul(R,H)|0,n=(n=n+Math.imul(R,J)|0)+Math.imul(B,H)|0,e=e+Math.imul(B,J)|0,h=h+Math.imul(S,G)|0,n=(n=n+Math.imul(S,Q)|0)+Math.imul(Z,G)|0,e=e+Math.imul(Z,Q)|0,h=h+Math.imul(k,W)|0,n=(n=n+Math.imul(k,X)|0)+Math.imul(A,W)|0,e=e+Math.imul(A,X)|0,h=h+Math.imul(y,$)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(b,$)|0,e=e+Math.imul(b,tt)|0,h=h+Math.imul(g,rt)|0,n=(n=n+Math.imul(g,ht)|0)+Math.imul(c,rt)|0,e=e+Math.imul(c,ht)|0,h=h+Math.imul(p,et)|0,n=(n=n+Math.imul(p,ot)|0)+Math.imul(M,et)|0,e=e+Math.imul(M,ot)|0;var kt=(a+(h=h+Math.imul(m,ut)|0)|0)+((8191&(n=(n=n+Math.imul(m,at)|0)+Math.imul(f,ut)|0))<<13)|0;a=((e=e+Math.imul(f,at)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,h=Math.imul(T,F),n=(n=Math.imul(T,C))+Math.imul(E,F)|0,e=Math.imul(E,C),h=h+Math.imul(L,H)|0,n=(n=n+Math.imul(L,J)|0)+Math.imul(I,H)|0,e=e+Math.imul(I,J)|0,h=h+Math.imul(R,G)|0,n=(n=n+Math.imul(R,Q)|0)+Math.imul(B,G)|0,e=e+Math.imul(B,Q)|0,h=h+Math.imul(S,W)|0,n=(n=n+Math.imul(S,X)|0)+Math.imul(Z,W)|0,e=e+Math.imul(Z,X)|0,h=h+Math.imul(k,$)|0,n=(n=n+Math.imul(k,tt)|0)+Math.imul(A,$)|0,e=e+Math.imul(A,tt)|0,h=h+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,ht)|0)+Math.imul(b,rt)|0,e=e+Math.imul(b,ht)|0,h=h+Math.imul(g,et)|0,n=(n=n+Math.imul(g,ot)|0)+Math.imul(c,et)|0,e=e+Math.imul(c,ot)|0,h=h+Math.imul(p,ut)|0,n=(n=n+Math.imul(p,at)|0)+Math.imul(M,ut)|0,e=e+Math.imul(M,at)|0;var At=(a+(h=h+Math.imul(m,mt)|0)|0)+((8191&(n=(n=n+Math.imul(m,ft)|0)+Math.imul(f,mt)|0))<<13)|0;a=((e=e+Math.imul(f,ft)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,h=Math.imul(j,F),n=(n=Math.imul(j,C))+Math.imul(K,F)|0,e=Math.imul(K,C),h=h+Math.imul(T,H)|0,n=(n=n+Math.imul(T,J)|0)+Math.imul(E,H)|0,e=e+Math.imul(E,J)|0,h=h+Math.imul(L,G)|0,n=(n=n+Math.imul(L,Q)|0)+Math.imul(I,G)|0,e=e+Math.imul(I,Q)|0,h=h+Math.imul(R,W)|0,n=(n=n+Math.imul(R,X)|0)+Math.imul(B,W)|0,e=e+Math.imul(B,X)|0,h=h+Math.imul(S,$)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(Z,$)|0,e=e+Math.imul(Z,tt)|0,h=h+Math.imul(k,rt)|0,n=(n=n+Math.imul(k,ht)|0)+Math.imul(A,rt)|0,e=e+Math.imul(A,ht)|0,h=h+Math.imul(y,et)|0,n=(n=n+Math.imul(y,ot)|0)+Math.imul(b,et)|0,e=e+Math.imul(b,ot)|0,h=h+Math.imul(g,ut)|0,n=(n=n+Math.imul(g,at)|0)+Math.imul(c,ut)|0,e=e+Math.imul(c,at)|0,h=h+Math.imul(p,mt)|0,n=(n=n+Math.imul(p,ft)|0)+Math.imul(M,mt)|0,e=e+Math.imul(M,ft)|0;var xt=(a+(h=h+Math.imul(m,pt)|0)|0)+((8191&(n=(n=n+Math.imul(m,Mt)|0)+Math.imul(f,pt)|0))<<13)|0;a=((e=e+Math.imul(f,Mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,h=Math.imul(j,H),n=(n=Math.imul(j,J))+Math.imul(K,H)|0,e=Math.imul(K,J),h=h+Math.imul(T,G)|0,n=(n=n+Math.imul(T,Q)|0)+Math.imul(E,G)|0,e=e+Math.imul(E,Q)|0,h=h+Math.imul(L,W)|0,n=(n=n+Math.imul(L,X)|0)+Math.imul(I,W)|0,e=e+Math.imul(I,X)|0,h=h+Math.imul(R,$)|0,n=(n=n+Math.imul(R,tt)|0)+Math.imul(B,$)|0,e=e+Math.imul(B,tt)|0,h=h+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,ht)|0)+Math.imul(Z,rt)|0,e=e+Math.imul(Z,ht)|0,h=h+Math.imul(k,et)|0,n=(n=n+Math.imul(k,ot)|0)+Math.imul(A,et)|0,e=e+Math.imul(A,ot)|0,h=h+Math.imul(y,ut)|0,n=(n=n+Math.imul(y,at)|0)+Math.imul(b,ut)|0,e=e+Math.imul(b,at)|0,h=h+Math.imul(g,mt)|0,n=(n=n+Math.imul(g,ft)|0)+Math.imul(c,mt)|0,e=e+Math.imul(c,ft)|0;var St=(a+(h=h+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,Mt)|0)+Math.imul(M,pt)|0))<<13)|0;a=((e=e+Math.imul(M,Mt)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,h=Math.imul(j,G),n=(n=Math.imul(j,Q))+Math.imul(K,G)|0,e=Math.imul(K,Q),h=h+Math.imul(T,W)|0,n=(n=n+Math.imul(T,X)|0)+Math.imul(E,W)|0,e=e+Math.imul(E,X)|0,h=h+Math.imul(L,$)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(I,$)|0,e=e+Math.imul(I,tt)|0,h=h+Math.imul(R,rt)|0,n=(n=n+Math.imul(R,ht)|0)+Math.imul(B,rt)|0,e=e+Math.imul(B,ht)|0,h=h+Math.imul(S,et)|0,n=(n=n+Math.imul(S,ot)|0)+Math.imul(Z,et)|0,e=e+Math.imul(Z,ot)|0,h=h+Math.imul(k,ut)|0,n=(n=n+Math.imul(k,at)|0)+Math.imul(A,ut)|0,e=e+Math.imul(A,at)|0,h=h+Math.imul(y,mt)|0,n=(n=n+Math.imul(y,ft)|0)+Math.imul(b,mt)|0,e=e+Math.imul(b,ft)|0;var Zt=(a+(h=h+Math.imul(g,pt)|0)|0)+((8191&(n=(n=n+Math.imul(g,Mt)|0)+Math.imul(c,pt)|0))<<13)|0;a=((e=e+Math.imul(c,Mt)|0)+(n>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,h=Math.imul(j,W),n=(n=Math.imul(j,X))+Math.imul(K,W)|0,e=Math.imul(K,X),h=h+Math.imul(T,$)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(E,$)|0,e=e+Math.imul(E,tt)|0,h=h+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,ht)|0)+Math.imul(I,rt)|0,e=e+Math.imul(I,ht)|0,h=h+Math.imul(R,et)|0,n=(n=n+Math.imul(R,ot)|0)+Math.imul(B,et)|0,e=e+Math.imul(B,ot)|0,h=h+Math.imul(S,ut)|0,n=(n=n+Math.imul(S,at)|0)+Math.imul(Z,ut)|0,e=e+Math.imul(Z,at)|0,h=h+Math.imul(k,mt)|0,n=(n=n+Math.imul(k,ft)|0)+Math.imul(A,mt)|0,e=e+Math.imul(A,ft)|0;var qt=(a+(h=h+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,Mt)|0)+Math.imul(b,pt)|0))<<13)|0;a=((e=e+Math.imul(b,Mt)|0)+(n>>>13)|0)+(qt>>>26)|0,qt&=67108863,h=Math.imul(j,$),n=(n=Math.imul(j,tt))+Math.imul(K,$)|0,e=Math.imul(K,tt),h=h+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,ht)|0)+Math.imul(E,rt)|0,e=e+Math.imul(E,ht)|0,h=h+Math.imul(L,et)|0,n=(n=n+Math.imul(L,ot)|0)+Math.imul(I,et)|0,e=e+Math.imul(I,ot)|0,h=h+Math.imul(R,ut)|0,n=(n=n+Math.imul(R,at)|0)+Math.imul(B,ut)|0,e=e+Math.imul(B,at)|0,h=h+Math.imul(S,mt)|0,n=(n=n+Math.imul(S,ft)|0)+Math.imul(Z,mt)|0,e=e+Math.imul(Z,ft)|0;var Rt=(a+(h=h+Math.imul(k,pt)|0)|0)+((8191&(n=(n=n+Math.imul(k,Mt)|0)+Math.imul(A,pt)|0))<<13)|0;a=((e=e+Math.imul(A,Mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,h=Math.imul(j,rt),n=(n=Math.imul(j,ht))+Math.imul(K,rt)|0,e=Math.imul(K,ht),h=h+Math.imul(T,et)|0,n=(n=n+Math.imul(T,ot)|0)+Math.imul(E,et)|0,e=e+Math.imul(E,ot)|0,h=h+Math.imul(L,ut)|0,n=(n=n+Math.imul(L,at)|0)+Math.imul(I,ut)|0,e=e+Math.imul(I,at)|0,h=h+Math.imul(R,mt)|0,n=(n=n+Math.imul(R,ft)|0)+Math.imul(B,mt)|0,e=e+Math.imul(B,ft)|0;var Bt=(a+(h=h+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,Mt)|0)+Math.imul(Z,pt)|0))<<13)|0;a=((e=e+Math.imul(Z,Mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h=Math.imul(j,et),n=(n=Math.imul(j,ot))+Math.imul(K,et)|0,e=Math.imul(K,ot),h=h+Math.imul(T,ut)|0,n=(n=n+Math.imul(T,at)|0)+Math.imul(E,ut)|0,e=e+Math.imul(E,at)|0,h=h+Math.imul(L,mt)|0,n=(n=n+Math.imul(L,ft)|0)+Math.imul(I,mt)|0,e=e+Math.imul(I,ft)|0;var Nt=(a+(h=h+Math.imul(R,pt)|0)|0)+((8191&(n=(n=n+Math.imul(R,Mt)|0)+Math.imul(B,pt)|0))<<13)|0;a=((e=e+Math.imul(B,Mt)|0)+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,h=Math.imul(j,ut),n=(n=Math.imul(j,at))+Math.imul(K,ut)|0,e=Math.imul(K,at),h=h+Math.imul(T,mt)|0,n=(n=n+Math.imul(T,ft)|0)+Math.imul(E,mt)|0,e=e+Math.imul(E,ft)|0;var Lt=(a+(h=h+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,Mt)|0)+Math.imul(I,pt)|0))<<13)|0;a=((e=e+Math.imul(I,Mt)|0)+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,h=Math.imul(j,mt),n=(n=Math.imul(j,ft))+Math.imul(K,mt)|0,e=Math.imul(K,ft);var It=(a+(h=h+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,Mt)|0)+Math.imul(E,pt)|0))<<13)|0;a=((e=e+Math.imul(E,Mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863;var zt=(a+(h=Math.imul(j,pt))|0)+((8191&(n=(n=Math.imul(j,Mt))+Math.imul(K,pt)|0))<<13)|0;return a=((e=Math.imul(K,Mt))+(n>>>13)|0)+(zt>>>26)|0,zt&=67108863,u[0]=vt,u[1]=gt,u[2]=ct,u[3]=wt,u[4]=yt,u[5]=bt,u[6]=_t,u[7]=kt,u[8]=At,u[9]=xt,u[10]=St,u[11]=Zt,u[12]=qt,u[13]=Rt,u[14]=Bt,u[15]=Nt,u[16]=Lt,u[17]=It,u[18]=zt,0!==a&&(u[19]=a,r.length++),r};function d(t,i,r){return(new p).mulp(t,i,r)}function p(t,i){this.x=t,this.y=i}Math.imul||(f=m),n.prototype.mulTo=function(t,i){var r=this.length+t.length;return 10===this.length&&10===t.length?f(this,t,i):r<63?m(this,t,i):r<1024?function(t,i,r){r.negative=i.negative^t.negative,r.length=t.length+i.length;for(var h=0,n=0,e=0;e<r.length-1;e++){var o=n;n=0;for(var s=67108863&h,u=Math.min(e,i.length-1),a=Math.max(0,e-t.length+1);a<=u;a++){var l=e-a,m=(0|t.words[l])*(0|i.words[a]),f=67108863&m;s=67108863&(f=f+s|0),n+=(o=(o=o+(m/67108864|0)|0)+(f>>>26)|0)>>>26,o&=67108863}r.words[e]=s,h=o,o=n}return 0!==h?r.words[e]=h:r.length--,r.strip()}(this,t,i):d(this,t,i)},p.prototype.makeRBT=function(t){for(var i=new Array(t),r=n.prototype._countBits(t)-1,h=0;h<t;h++)i[h]=this.revBin(h,r,t);return i},p.prototype.revBin=function(t,i,r){if(0===t||t===r-1)return t;for(var h=0,n=0;n<i;n++)h|=(1&t)<<i-n-1,t>>=1;return h},p.prototype.permute=function(t,i,r,h,n,e){for(var o=0;o<e;o++)h[o]=i[t[o]],n[o]=r[t[o]]},p.prototype.transform=function(t,i,r,h,n,e){this.permute(e,t,i,r,h,n);for(var o=1;o<n;o<<=1)for(var s=o<<1,u=Math.cos(2*Math.PI/s),a=Math.sin(2*Math.PI/s),l=0;l<n;l+=s)for(var m=u,f=a,d=0;d<o;d++){var p=r[l+d],M=h[l+d],v=r[l+d+o],g=h[l+d+o],c=m*v-f*g;g=m*g+f*v,v=c,r[l+d]=p+v,h[l+d]=M+g,r[l+d+o]=p-v,h[l+d+o]=M-g,d!==s&&(c=u*m-a*f,f=u*f+a*m,m=c)}},p.prototype.guessLen13b=function(t,i){var r=1|Math.max(i,t),h=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+h},p.prototype.conjugate=function(t,i,r){if(!(r<=1))for(var h=0;h<r/2;h++){var n=t[h];t[h]=t[r-h-1],t[r-h-1]=n,n=i[h],i[h]=-i[r-h-1],i[r-h-1]=-n}},p.prototype.normalize13b=function(t,i){for(var r=0,h=0;h<i/2;h++){var n=8192*Math.round(t[2*h+1]/i)+Math.round(t[2*h]/i)+r;t[h]=67108863&n,r=n<67108864?0:n/67108864|0}return t},p.prototype.convert13b=function(t,i,h,n){for(var e=0,o=0;o<i;o++)e+=0|t[o],h[2*o]=8191&e,e>>>=13,h[2*o+1]=8191&e,e>>>=13;for(o=2*i;o<n;++o)h[o]=0;r(0===e),r(0==(-8192&e))},p.prototype.stub=function(t){for(var i=new Array(t),r=0;r<t;r++)i[r]=0;return i},p.prototype.mulp=function(t,i,r){var h=2*this.guessLen13b(t.length,i.length),n=this.makeRBT(h),e=this.stub(h),o=new Array(h),s=new Array(h),u=new Array(h),a=new Array(h),l=new Array(h),m=new Array(h),f=r.words;f.length=h,this.convert13b(t.words,t.length,o,h),this.convert13b(i.words,i.length,a,h),this.transform(o,e,s,u,h,n),this.transform(a,e,l,m,h,n);for(var d=0;d<h;d++){var p=s[d]*l[d]-u[d]*m[d];u[d]=s[d]*m[d]+u[d]*l[d],s[d]=p}return this.conjugate(s,u,h),this.transform(s,u,f,e,h,n),this.conjugate(f,e,h),this.normalize13b(f,h),r.negative=t.negative^i.negative,r.length=t.length+i.length,r.strip()},n.prototype.mul=function(t){var i=new n(null);return i.words=new Array(this.length+t.length),this.mulTo(t,i)},n.prototype.mulf=function(t){var i=new n(null);return i.words=new Array(this.length+t.length),d(this,t,i)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var i=0,h=0;h<this.length;h++){var n=(0|this.words[h])*t,e=(67108863&n)+(67108863&i);i>>=26,i+=n/67108864|0,i+=e>>>26,this.words[h]=67108863&e}return 0!==i&&(this.words[h]=i,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var i=function(t){for(var i=new Array(t.bitLength()),r=0;r<i.length;r++){var h=r/26|0,n=r%26;i[r]=(t.words[h]&1<<n)>>>n}return i}(t);if(0===i.length)return new n(1);for(var r=this,h=0;h<i.length&&0===i[h];h++,r=r.sqr());if(++h<i.length)for(var e=r.sqr();h<i.length;h++,e=e.sqr())0!==i[h]&&(r=r.mul(e));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var i,h=t%26,n=(t-h)/26,e=67108863>>>26-h<<26-h;if(0!==h){var o=0;for(i=0;i<this.length;i++){var s=this.words[i]&e,u=(0|this.words[i])-s<<h;this.words[i]=u|o,o=s>>>26-h}o&&(this.words[i]=o,this.length++)}if(0!==n){for(i=this.length-1;i>=0;i--)this.words[i+n]=this.words[i];for(i=0;i<n;i++)this.words[i]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,i,h){var n;r("number"==typeof t&&t>=0),n=i?(i-i%26)/26:0;var e=t%26,o=Math.min((t-e)/26,this.length),s=67108863^67108863>>>e<<e,u=h;if(n-=o,n=Math.max(0,n),u){for(var a=0;a<o;a++)u.words[a]=this.words[a];u.length=o}if(0===o);else if(this.length>o)for(this.length-=o,a=0;a<this.length;a++)this.words[a]=this.words[a+o];else this.words[0]=0,this.length=1;var l=0;for(a=this.length-1;a>=0&&(0!==l||a>=n);a--){var m=0|this.words[a];this.words[a]=l<<26-e|m>>>e,l=m&s}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,i,h){return r(0===this.negative),this.iushrn(t,i,h)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var i=t%26,h=(t-i)/26,n=1<<i;return!(this.length<=h)&&!!(this.words[h]&n)},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var i=t%26,h=(t-i)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=h)return this;if(0!==i&&h++,this.length=Math.min(h,this.length),0!==i){var n=67108863^67108863>>>i<<i;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var i=0;i<this.length&&this.words[i]>=67108864;i++)this.words[i]-=67108864,i===this.length-1?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i<this.length&&this.words[i]<0;i++)this.words[i]+=67108864,this.words[i+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,i,h){var n,e,o=t.length+h;this._expand(o);var s=0;for(n=0;n<t.length;n++){e=(0|this.words[n+h])+s;var u=(0|t.words[n])*i;s=((e-=67108863&u)>>26)-(u/67108864|0),this.words[n+h]=67108863&e}for(;n<this.length-h;n++)s=(e=(0|this.words[n+h])+s)>>26,this.words[n+h]=67108863&e;if(0===s)return this.strip();for(r(-1===s),s=0,n=0;n<this.length;n++)s=(e=-(0|this.words[n])+s)>>26,this.words[n]=67108863&e;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,i){var r=(this.length,t.length),h=this.clone(),e=t,o=0|e.words[e.length-1];0!==(r=26-this._countBits(o))&&(e=e.ushln(r),h.iushln(r),o=0|e.words[e.length-1]);var s,u=h.length-e.length;if("mod"!==i){(s=new n(null)).length=u+1,s.words=new Array(s.length);for(var a=0;a<s.length;a++)s.words[a]=0}var l=h.clone()._ishlnsubmul(e,1,u);0===l.negative&&(h=l,s&&(s.words[u]=1));for(var m=u-1;m>=0;m--){var f=67108864*(0|h.words[e.length+m])+(0|h.words[e.length+m-1]);for(f=Math.min(f/o|0,67108863),h._ishlnsubmul(e,f,m);0!==h.negative;)f--,h.negative=0,h._ishlnsubmul(e,1,m),h.isZero()||(h.negative^=1);s&&(s.words[m]=f)}return s&&s.strip(),h.strip(),"div"!==i&&0!==r&&h.iushrn(r),{div:s||null,mod:h}},n.prototype.divmod=function(t,i,h){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,i),"mod"!==i&&(e=s.div.neg()),"div"!==i&&(o=s.mod.neg(),h&&0!==o.negative&&o.iadd(t)),{div:e,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),i),"mod"!==i&&(e=s.div.neg()),{div:e,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),i),"div"!==i&&(o=s.mod.neg(),h&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===i?{div:this.divn(t.words[0]),mod:null}:"mod"===i?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,i);var e,o,s},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var i=this.divmod(t);if(i.mod.isZero())return i.div;var r=0!==i.div.negative?i.mod.isub(t):i.mod,h=t.ushrn(1),n=t.andln(1),e=r.cmp(h);return e<0||1===n&&0===e?i.div:0!==i.div.negative?i.div.isubn(1):i.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var i=(1<<26)%t,h=0,n=this.length-1;n>=0;n--)h=(i*h+(0|this.words[n]))%t;return h},n.prototype.idivn=function(t){r(t<=67108863);for(var i=0,h=this.length-1;h>=0;h--){var n=(0|this.words[h])+67108864*i;this.words[h]=n/t|0,i=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var i=this,h=t.clone();i=0!==i.negative?i.umod(t):i.clone();for(var e=new n(1),o=new n(0),s=new n(0),u=new n(1),a=0;i.isEven()&&h.isEven();)i.iushrn(1),h.iushrn(1),++a;for(var l=h.clone(),m=i.clone();!i.isZero();){for(var f=0,d=1;0==(i.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(i.iushrn(f);f-- >0;)(e.isOdd()||o.isOdd())&&(e.iadd(l),o.isub(m)),e.iushrn(1),o.iushrn(1);for(var p=0,M=1;0==(h.words[0]&M)&&p<26;++p,M<<=1);if(p>0)for(h.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(l),u.isub(m)),s.iushrn(1),u.iushrn(1);i.cmp(h)>=0?(i.isub(h),e.isub(s),o.isub(u)):(h.isub(i),s.isub(e),u.isub(o))}return{a:s,b:u,gcd:h.iushln(a)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var i=this,h=t.clone();i=0!==i.negative?i.umod(t):i.clone();for(var e,o=new n(1),s=new n(0),u=h.clone();i.cmpn(1)>0&&h.cmpn(1)>0;){for(var a=0,l=1;0==(i.words[0]&l)&&a<26;++a,l<<=1);if(a>0)for(i.iushrn(a);a-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var m=0,f=1;0==(h.words[0]&f)&&m<26;++m,f<<=1);if(m>0)for(h.iushrn(m);m-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);i.cmp(h)>=0?(i.isub(h),o.isub(s)):(h.isub(i),s.isub(o))}return(e=0===i.cmpn(1)?o:s).cmpn(0)<0&&e.iadd(t),e},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var i=this.clone(),r=t.clone();i.negative=0,r.negative=0;for(var h=0;i.isEven()&&r.isEven();h++)i.iushrn(1),r.iushrn(1);for(;;){for(;i.isEven();)i.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=i.cmp(r);if(n<0){var e=i;i=r,r=e}else if(0===n||0===r.cmpn(1))break;i.isub(r)}return r.iushln(h)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var i=t%26,h=(t-i)/26,n=1<<i;if(this.length<=h)return this._expand(h+1),this.words[h]|=n,this;for(var e=n,o=h;0!==e&&o<this.length;o++){var s=0|this.words[o];e=(s+=e)>>>26,s&=67108863,this.words[o]=s}return 0!==e&&(this.words[o]=e,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var i,h=t<0;if(0!==this.negative&&!h)return-1;if(0===this.negative&&h)return 1;if(this.strip(),this.length>1)i=1;else{h&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];i=n===t?0:n<t?-1:1}return 0!==this.negative?0|-i:i},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var i=this.ucmp(t);return 0!==this.negative?0|-i:i},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var i=0,r=this.length-1;r>=0;r--){var h=0|this.words[r],n=0|t.words[r];if(h!==n){h<n?i=-1:h>n&&(i=1);break}}return i},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new b(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var M={k256:null,p224:null,p192:null,p25519:null};function v(t,i){this.name=t,this.p=new n(i,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function g(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function c(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function y(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function b(t){if("string"==typeof t){var i=n._prime(t);this.m=i.p,this.prime=i}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function _(t){b.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var i,r=t;do{this.split(r,this.tmp),i=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(i>this.n);var h=i<this.n?-1:r.ucmp(this.p);return 0===h?(r.words[0]=0,r.length=1):h>0?r.isub(this.p):r.strip(),r},v.prototype.split=function(t,i){t.iushrn(this.n,0,i)},v.prototype.imulK=function(t){return t.imul(this.k)},h(g,v),g.prototype.split=function(t,i){for(var r=Math.min(t.length,9),h=0;h<r;h++)i.words[h]=t.words[h];if(i.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var n=t.words[9];for(i.words[i.length++]=4194303&n,h=10;h<t.length;h++){var e=0|t.words[h];t.words[h-10]=(4194303&e)<<4|n>>>22,n=e}n>>>=22,t.words[h-10]=n,0===n&&t.length>10?t.length-=10:t.length-=9},g.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var i=0,r=0;r<t.length;r++){var h=0|t.words[r];i+=977*h,t.words[r]=67108863&i,i=64*h+(i/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},h(c,v),h(w,v),h(y,v),y.prototype.imulK=function(t){for(var i=0,r=0;r<t.length;r++){var h=19*(0|t.words[r])+i,n=67108863&h;h>>>=26,t.words[r]=n,i=h}return 0!==i&&(t.words[t.length++]=i),t},n._prime=function(t){if(M[t])return M[t];var i;if("k256"===t)i=new g;else if("p224"===t)i=new c;else if("p192"===t)i=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);i=new y}return M[t]=i,i},b.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},b.prototype._verify2=function(t,i){r(0==(t.negative|i.negative),"red works only with positives"),r(t.red&&t.red===i.red,"red works only with red numbers")},b.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},b.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},b.prototype.add=function(t,i){this._verify2(t,i);var r=t.add(i);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},b.prototype.iadd=function(t,i){this._verify2(t,i);var r=t.iadd(i);return r.cmp(this.m)>=0&&r.isub(this.m),r},b.prototype.sub=function(t,i){this._verify2(t,i);var r=t.sub(i);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},b.prototype.isub=function(t,i){this._verify2(t,i);var r=t.isub(i);return r.cmpn(0)<0&&r.iadd(this.m),r},b.prototype.shl=function(t,i){return this._verify1(t),this.imod(t.ushln(i))},b.prototype.imul=function(t,i){return this._verify2(t,i),this.imod(t.imul(i))},b.prototype.mul=function(t,i){return this._verify2(t,i),this.imod(t.mul(i))},b.prototype.isqr=function(t){return this.imul(t,t.clone())},b.prototype.sqr=function(t){return this.mul(t,t)},b.prototype.sqrt=function(t){if(t.isZero())return t.clone();var i=this.m.andln(3);if(r(i%2==1),3===i){var h=this.m.add(new n(1)).iushrn(2);return this.pow(t,h)}for(var e=this.m.subn(1),o=0;!e.isZero()&&0===e.andln(1);)o++,e.iushrn(1);r(!e.isZero());var s=new n(1).toRed(this),u=s.redNeg(),a=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new n(2*l*l).toRed(this);0!==this.pow(l,a).cmp(u);)l.redIAdd(u);for(var m=this.pow(l,e),f=this.pow(t,e.addn(1).iushrn(1)),d=this.pow(t,e),p=o;0!==d.cmp(s);){for(var M=d,v=0;0!==M.cmp(s);v++)M=M.redSqr();r(v<p);var g=this.pow(m,new n(1).iushln(p-v-1));f=f.redMul(g),m=g.redSqr(),d=d.redMul(m),p=v}return f},b.prototype.invm=function(t){var i=t._invmp(this.m);return 0!==i.negative?(i.negative=0,this.imod(i).redNeg()):this.imod(i)},b.prototype.pow=function(t,i){if(i.isZero())return new n(1).toRed(this);if(0===i.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var h=2;h<r.length;h++)r[h]=this.mul(r[h-1],t);var e=r[0],o=0,s=0,u=i.bitLength()%26;for(0===u&&(u=26),h=i.length-1;h>=0;h--){for(var a=i.words[h],l=u-1;l>=0;l--){var m=a>>l&1;e!==r[0]&&(e=this.sqr(e)),0!==m||0!==o?(o<<=1,o|=m,(4===++s||0===h&&0===l)&&(e=this.mul(e,r[o]),s=0,o=0)):s=0}u=26}return e},b.prototype.convertTo=function(t){var i=t.umod(this.m);return i===t?i.clone():i},b.prototype.convertFrom=function(t){var i=t.clone();return i.red=null,i},n.mont=function(t){return new _(t)},h(_,b),_.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},_.prototype.convertFrom=function(t){var i=this.imod(t.mul(this.rinv));return i.red=null,i},_.prototype.imul=function(t,i){if(t.isZero()||i.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(i),h=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(h).iushrn(this.shift),e=n;return n.cmp(this.m)>=0?e=n.isub(this.m):n.cmpn(0)<0&&(e=n.iadd(this.m)),e._forceRed(this)},_.prototype.mul=function(t,i){if(t.isZero()||i.isZero())return new n(0)._forceRed(this);var r=t.mul(i),h=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),e=r.isub(h).iushrn(this.shift),o=e;return e.cmp(this.m)>=0?o=e.isub(this.m):e.cmpn(0)<0&&(o=e.iadd(this.m)),o._forceRed(this)},_.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}("undefined"==typeof module||module,this);
},{"buffer":20}],19:[function(require,module,exports){
var r;function Rand(t){this.rand=t}if(module.exports=function(t){return r||(r=new Rand(null)),r.generate(t)},module.exports.Rand=Rand,Rand.prototype.generate=function(t){return this._rand(t)},Rand.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var r=new Uint8Array(t),e=0;e<r.length;e++)r[e]=this.rand.getByte();return r},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?Rand.prototype._rand=function(t){var r=new Uint8Array(t);return self.crypto.getRandomValues(r),r}:self.msCrypto&&self.msCrypto.getRandomValues?Rand.prototype._rand=function(t){var r=new Uint8Array(t);return self.msCrypto.getRandomValues(r),r}:"object"==typeof window&&(Rand.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var crypto=require("crypto");if("function"!=typeof crypto.randomBytes)throw new Error("Not supported");Rand.prototype._rand=function(t){return crypto.randomBytes(t)}}catch(t){}
},{"crypto":20}],20:[function(require,module,exports){
},{}],21:[function(require,module,exports){
var Buffer=require("safe-buffer").Buffer;function asUInt32Array(r){Buffer.isBuffer(r)||(r=Buffer.from(r));for(var e=r.length/4|0,t=new Array(e),n=0;n<e;n++)t[n]=r.readUInt32BE(4*n);return t}function scrubVec(r){for(;0<r.length;r++)r[0]=0}function cryptBlock(r,e,t,n,o){for(var S,B,c,i,u=t[0],f=t[1],a=t[2],s=t[3],y=r[0]^e[0],_=r[1]^e[1],I=r[2]^e[2],l=r[3]^e[3],X=4,h=1;h<o;h++)S=u[y>>>24]^f[_>>>16&255]^a[I>>>8&255]^s[255&l]^e[X++],B=u[_>>>24]^f[I>>>16&255]^a[l>>>8&255]^s[255&y]^e[X++],c=u[I>>>24]^f[l>>>16&255]^a[y>>>8&255]^s[255&_]^e[X++],i=u[l>>>24]^f[y>>>16&255]^a[_>>>8&255]^s[255&I]^e[X++],y=S,_=B,I=c,l=i;return S=(n[y>>>24]<<24|n[_>>>16&255]<<16|n[I>>>8&255]<<8|n[255&l])^e[X++],B=(n[_>>>24]<<24|n[I>>>16&255]<<16|n[l>>>8&255]<<8|n[255&y])^e[X++],c=(n[I>>>24]<<24|n[l>>>16&255]<<16|n[y>>>8&255]<<8|n[255&_])^e[X++],i=(n[l>>>24]<<24|n[y>>>16&255]<<16|n[_>>>8&255]<<8|n[255&I])^e[X++],[S>>>=0,B>>>=0,c>>>=0,i>>>=0]}var RCON=[0,1,2,4,8,16,32,64,128,27,54],G=function(){for(var r=new Array(256),e=0;e<256;e++)r[e]=e<128?e<<1:e<<1^283;for(var t=[],n=[],o=[[],[],[],[]],S=[[],[],[],[]],B=0,c=0,i=0;i<256;++i){var u=c^c<<1^c<<2^c<<3^c<<4;u=u>>>8^255&u^99,t[B]=u,n[u]=B;var f=r[B],a=r[f],s=r[a],y=257*r[u]^16843008*u;o[0][B]=y<<24|y>>>8,o[1][B]=y<<16|y>>>16,o[2][B]=y<<8|y>>>24,o[3][B]=y,y=16843009*s^65537*a^257*f^16843008*B,S[0][u]=y<<24|y>>>8,S[1][u]=y<<16|y>>>16,S[2][u]=y<<8|y>>>24,S[3][u]=y,0===B?B=c=1:(B=f^r[r[r[s^f]]],c^=r[r[c]])}return{SBOX:t,INV_SBOX:n,SUB_MIX:o,INV_SUB_MIX:S}}();function AES(r){this._key=asUInt32Array(r),this._reset()}AES.blockSize=16,AES.keySize=32,AES.prototype.blockSize=AES.blockSize,AES.prototype.keySize=AES.keySize,AES.prototype._reset=function(){for(var r=this._key,e=r.length,t=e+6,n=4*(t+1),o=[],S=0;S<e;S++)o[S]=r[S];for(S=e;S<n;S++){var B=o[S-1];S%e==0?(B=B<<8|B>>>24,B=G.SBOX[B>>>24]<<24|G.SBOX[B>>>16&255]<<16|G.SBOX[B>>>8&255]<<8|G.SBOX[255&B],B^=RCON[S/e|0]<<24):e>6&&S%e==4&&(B=G.SBOX[B>>>24]<<24|G.SBOX[B>>>16&255]<<16|G.SBOX[B>>>8&255]<<8|G.SBOX[255&B]),o[S]=o[S-e]^B}for(var c=[],i=0;i<n;i++){var u=n-i,f=o[u-(i%4?0:4)];c[i]=i<4||u<=4?f:G.INV_SUB_MIX[0][G.SBOX[f>>>24]]^G.INV_SUB_MIX[1][G.SBOX[f>>>16&255]]^G.INV_SUB_MIX[2][G.SBOX[f>>>8&255]]^G.INV_SUB_MIX[3][G.SBOX[255&f]]}this._nRounds=t,this._keySchedule=o,this._invKeySchedule=c},AES.prototype.encryptBlockRaw=function(r){return cryptBlock(r=asUInt32Array(r),this._keySchedule,G.SUB_MIX,G.SBOX,this._nRounds)},AES.prototype.encryptBlock=function(r){var e=this.encryptBlockRaw(r),t=Buffer.allocUnsafe(16);return t.writeUInt32BE(e[0],0),t.writeUInt32BE(e[1],4),t.writeUInt32BE(e[2],8),t.writeUInt32BE(e[3],12),t},AES.prototype.decryptBlock=function(r){var e=(r=asUInt32Array(r))[1];r[1]=r[3],r[3]=e;var t=cryptBlock(r,this._invKeySchedule,G.INV_SUB_MIX,G.INV_SBOX,this._nRounds),n=Buffer.allocUnsafe(16);return n.writeUInt32BE(t[0],0),n.writeUInt32BE(t[3],4),n.writeUInt32BE(t[2],8),n.writeUInt32BE(t[1],12),n},AES.prototype.scrub=function(){scrubVec(this._keySchedule),scrubVec(this._invKeySchedule),scrubVec(this._key)},module.exports.AES=AES;
},{"safe-buffer":145}],22:[function(require,module,exports){
var aes=require("./aes"),Buffer=require("safe-buffer").Buffer,Transform=require("cipher-base"),inherits=require("inherits"),GHASH=require("./ghash"),xor=require("buffer-xor"),incr32=require("./incr32");function xorTest(t,e){var r=0;t.length!==e.length&&r++;for(var a=Math.min(t.length,e.length),i=0;i<a;++i)r+=t[i]^e[i];return r}function calcIv(t,e,r){if(12===e.length)return t._finID=Buffer.concat([e,Buffer.from([0,0,0,1])]),Buffer.concat([e,Buffer.from([0,0,0,2])]);var a=new GHASH(r),i=e.length,h=i%16;a.update(e),h&&(h=16-h,a.update(Buffer.alloc(h,0))),a.update(Buffer.alloc(8,0));var n=8*i,s=Buffer.alloc(8);s.writeUIntBE(n,0,8),a.update(s),t._finID=a.state;var u=Buffer.from(t._finID);return incr32(u),u}function StreamCipher(t,e,r,a){Transform.call(this);var i=Buffer.alloc(4,0);this._cipher=new aes.AES(e);var h=this._cipher.encryptBlock(i);this._ghash=new GHASH(h),r=calcIv(this,r,h),this._prev=Buffer.from(r),this._cache=Buffer.allocUnsafe(0),this._secCache=Buffer.allocUnsafe(0),this._decrypt=a,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}inherits(StreamCipher,Transform),StreamCipher.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=Buffer.alloc(e,0),this._ghash.update(e))}this._called=!0;var r=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(r),this._len+=t.length,r},StreamCipher.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=xor(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&xorTest(t,this._authTag))throw new Error("Unsupported state or unable to authenticate data");this._authTag=t,this._cipher.scrub()},StreamCipher.prototype.getAuthTag=function(){if(this._decrypt||!Buffer.isBuffer(this._authTag))throw new Error("Attempting to get auth tag in unsupported state");return this._authTag},StreamCipher.prototype.setAuthTag=function(t){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=t},StreamCipher.prototype.setAAD=function(t){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(t),this._alen+=t.length},module.exports=StreamCipher;
},{"./aes":21,"./ghash":26,"./incr32":27,"buffer-xor":49,"cipher-base":51,"inherits":102,"safe-buffer":145}],23:[function(require,module,exports){
var ciphers=require("./encrypter"),deciphers=require("./decrypter"),modes=require("./modes/list.json");function getCiphers(){return Object.keys(modes)}exports.createCipher=exports.Cipher=ciphers.createCipher,exports.createCipheriv=exports.Cipheriv=ciphers.createCipheriv,exports.createDecipher=exports.Decipher=deciphers.createDecipher,exports.createDecipheriv=exports.Decipheriv=deciphers.createDecipheriv,exports.listCiphers=exports.getCiphers=getCiphers;
},{"./decrypter":24,"./encrypter":25,"./modes/list.json":35}],24:[function(require,module,exports){
var AuthCipher=require("./authCipher"),Buffer=require("safe-buffer").Buffer,MODES=require("./modes"),StreamCipher=require("./streamCipher"),Transform=require("cipher-base"),aes=require("./aes"),ebtk=require("evp_bytestokey"),inherits=require("inherits");function Decipher(e,r,t){Transform.call(this),this._cache=new Splitter,this._last=void 0,this._cipher=new aes.AES(r),this._prev=Buffer.from(t),this._mode=e,this._autopadding=!0}function Splitter(){this.cache=Buffer.allocUnsafe(0)}function unpad(e){var r=e[15];if(r<1||r>16)throw new Error("unable to decrypt data");for(var t=-1;++t<r;)if(e[t+(16-r)]!==r)throw new Error("unable to decrypt data");if(16!==r)return e.slice(0,16-r)}function createDecipheriv(e,r,t){var i=MODES[e.toLowerCase()];if(!i)throw new TypeError("invalid suite type");if("string"==typeof t&&(t=Buffer.from(t)),"GCM"!==i.mode&&t.length!==i.iv)throw new TypeError("invalid iv length "+t.length);if("string"==typeof r&&(r=Buffer.from(r)),r.length!==i.key/8)throw new TypeError("invalid key length "+r.length);return"stream"===i.type?new StreamCipher(i.module,r,t,!0):"auth"===i.type?new AuthCipher(i.module,r,t,!0):new Decipher(i.module,r,t)}function createDecipher(e,r){var t=MODES[e.toLowerCase()];if(!t)throw new TypeError("invalid suite type");var i=ebtk(r,!1,t.key,t.iv);return createDecipheriv(e,i.key,i.iv)}inherits(Decipher,Transform),Decipher.prototype._update=function(e){var r,t;this._cache.add(e);for(var i=[];r=this._cache.get(this._autopadding);)t=this._mode.decrypt(this,r),i.push(t);return Buffer.concat(i)},Decipher.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return unpad(this._mode.decrypt(this,e));if(e)throw new Error("data not multiple of block length")},Decipher.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},Splitter.prototype.add=function(e){this.cache=Buffer.concat([this.cache,e])},Splitter.prototype.get=function(e){var r;if(e){if(this.cache.length>16)return r=this.cache.slice(0,16),this.cache=this.cache.slice(16),r}else if(this.cache.length>=16)return r=this.cache.slice(0,16),this.cache=this.cache.slice(16),r;return null},Splitter.prototype.flush=function(){if(this.cache.length)return this.cache},exports.createDecipher=createDecipher,exports.createDecipheriv=createDecipheriv;
},{"./aes":21,"./authCipher":22,"./modes":34,"./streamCipher":37,"cipher-base":51,"evp_bytestokey":86,"inherits":102,"safe-buffer":145}],25:[function(require,module,exports){
var MODES=require("./modes"),AuthCipher=require("./authCipher"),Buffer=require("safe-buffer").Buffer,StreamCipher=require("./streamCipher"),Transform=require("cipher-base"),aes=require("./aes"),ebtk=require("evp_bytestokey"),inherits=require("inherits");function Cipher(e,r,t){Transform.call(this),this._cache=new Splitter,this._cipher=new aes.AES(r),this._prev=Buffer.from(t),this._mode=e,this._autopadding=!0}inherits(Cipher,Transform),Cipher.prototype._update=function(e){var r,t;this._cache.add(e);for(var i=[];r=this._cache.get();)t=this._mode.encrypt(this,r),i.push(t);return Buffer.concat(i)};var PADDING=Buffer.alloc(16,16);function Splitter(){this.cache=Buffer.allocUnsafe(0)}function createCipheriv(e,r,t){var i=MODES[e.toLowerCase()];if(!i)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=Buffer.from(r)),r.length!==i.key/8)throw new TypeError("invalid key length "+r.length);if("string"==typeof t&&(t=Buffer.from(t)),"GCM"!==i.mode&&t.length!==i.iv)throw new TypeError("invalid iv length "+t.length);return"stream"===i.type?new StreamCipher(i.module,r,t):"auth"===i.type?new AuthCipher(i.module,r,t):new Cipher(i.module,r,t)}function createCipher(e,r){var t=MODES[e.toLowerCase()];if(!t)throw new TypeError("invalid suite type");var i=ebtk(r,!1,t.key,t.iv);return createCipheriv(e,i.key,i.iv)}Cipher.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if(!e.equals(PADDING))throw this._cipher.scrub(),new Error("data not multiple of block length")},Cipher.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},Splitter.prototype.add=function(e){this.cache=Buffer.concat([this.cache,e])},Splitter.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},Splitter.prototype.flush=function(){for(var e=16-this.cache.length,r=Buffer.allocUnsafe(e),t=-1;++t<e;)r.writeUInt8(e,t);return Buffer.concat([this.cache,r])},exports.createCipheriv=createCipheriv,exports.createCipher=createCipher;
},{"./aes":21,"./authCipher":22,"./modes":34,"./streamCipher":37,"cipher-base":51,"evp_bytestokey":86,"inherits":102,"safe-buffer":145}],26:[function(require,module,exports){
var Buffer=require("safe-buffer").Buffer,ZEROES=Buffer.alloc(16,0);function toArray(t){return[t.readUInt32BE(0),t.readUInt32BE(4),t.readUInt32BE(8),t.readUInt32BE(12)]}function fromArray(t){var r=Buffer.allocUnsafe(16);return r.writeUInt32BE(t[0]>>>0,0),r.writeUInt32BE(t[1]>>>0,4),r.writeUInt32BE(t[2]>>>0,8),r.writeUInt32BE(t[3]>>>0,12),r}function GHASH(t){this.h=t,this.state=Buffer.alloc(16,0),this.cache=Buffer.allocUnsafe(0)}GHASH.prototype.ghash=function(t){for(var r=-1;++r<t.length;)this.state[r]^=t[r];this._multiply()},GHASH.prototype._multiply=function(){for(var t,r,e=toArray(this.h),a=[0,0,0,0],h=-1;++h<128;){for(0!=(this.state[~~(h/8)]&1<<7-h%8)&&(a[0]^=e[0],a[1]^=e[1],a[2]^=e[2],a[3]^=e[3]),r=0!=(1&e[3]),t=3;t>0;t--)e[t]=e[t]>>>1|(1&e[t-1])<<31;e[0]=e[0]>>>1,r&&(e[0]=e[0]^225<<24)}this.state=fromArray(a)},GHASH.prototype.update=function(t){var r;for(this.cache=Buffer.concat([this.cache,t]);this.cache.length>=16;)r=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(r)},GHASH.prototype.final=function(t,r){return this.cache.length&&this.ghash(Buffer.concat([this.cache,ZEROES],16)),this.ghash(fromArray([0,t,0,r])),this.state},module.exports=GHASH;
},{"safe-buffer":145}],27:[function(require,module,exports){
function incr32(r){for(var n,t=r.length;t--;){if(255!==(n=r.readUInt8(t))){n++,r.writeUInt8(n,t);break}r.writeUInt8(0,t)}}module.exports=incr32;
},{}],28:[function(require,module,exports){
var xor=require("buffer-xor");exports.encrypt=function(r,e){var p=xor(e,r._prev);return r._prev=r._cipher.encryptBlock(p),r._prev},exports.decrypt=function(r,e){var p=r._prev;r._prev=e;var c=r._cipher.decryptBlock(e);return xor(c,p)};
},{"buffer-xor":49}],29:[function(require,module,exports){
var Buffer=require("safe-buffer").Buffer,xor=require("buffer-xor");function encryptStart(e,r,c){var f=r.length,t=xor(r,e._cache);return e._cache=e._cache.slice(f),e._prev=Buffer.concat([e._prev,c?r:t]),t}exports.encrypt=function(e,r,c){for(var f,t=Buffer.allocUnsafe(0);r.length;){if(0===e._cache.length&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=Buffer.allocUnsafe(0)),!(e._cache.length<=r.length)){t=Buffer.concat([t,encryptStart(e,r,c)]);break}f=e._cache.length,t=Buffer.concat([t,encryptStart(e,r.slice(0,f),c)]),r=r.slice(f)}return t};
},{"buffer-xor":49,"safe-buffer":145}],30:[function(require,module,exports){
var Buffer=require("safe-buffer").Buffer;function encryptByte(r,e,f){for(var n,t,u=-1,c=0;++u<8;)n=e&1<<7-u?128:0,c+=(128&(t=r._cipher.encryptBlock(r._prev)[0]^n))>>u%8,r._prev=shiftIn(r._prev,f?n:t);return c}function shiftIn(r,e){var f=r.length,n=-1,t=Buffer.allocUnsafe(r.length);for(r=Buffer.concat([r,Buffer.from([e])]);++n<f;)t[n]=r[n]<<1|r[n+1]>>7;return t}exports.encrypt=function(r,e,f){for(var n=e.length,t=Buffer.allocUnsafe(n),u=-1;++u<n;)t[u]=encryptByte(r,e[u],f);return t};
},{"safe-buffer":145}],31:[function(require,module,exports){
var Buffer=require("safe-buffer").Buffer;function encryptByte(r,e,f){var n=r._cipher.encryptBlock(r._prev)[0]^e;return r._prev=Buffer.concat([r._prev.slice(1),Buffer.from([f?e:n])]),n}exports.encrypt=function(r,e,f){for(var n=e.length,t=Buffer.allocUnsafe(n),c=-1;++c<n;)t[c]=encryptByte(r,e[c],f);return t};
},{"safe-buffer":145}],32:[function(require,module,exports){
var xor=require("buffer-xor"),Buffer=require("safe-buffer").Buffer,incr32=require("../incr32");function getBlock(e){var c=e._cipher.encryptBlockRaw(e._prev);return incr32(e._prev),c}var blockSize=16;exports.encrypt=function(e,c){var r=Math.ceil(c.length/blockSize),a=e._cache.length;e._cache=Buffer.concat([e._cache,Buffer.allocUnsafe(r*blockSize)]);for(var t=0;t<r;t++){var n=getBlock(e),i=a+t*blockSize;e._cache.writeUInt32BE(n[0],i+0),e._cache.writeUInt32BE(n[1],i+4),e._cache.writeUInt32BE(n[2],i+8),e._cache.writeUInt32BE(n[3],i+12)}var f=e._cache.slice(0,c.length);return e._cache=e._cache.slice(c.length),xor(c,f)};
},{"../incr32":27,"buffer-xor":49,"safe-buffer":145}],33:[function(require,module,exports){
exports.encrypt=function(r,c){return r._cipher.encryptBlock(c)},exports.decrypt=function(r,c){return r._cipher.decryptBlock(c)};
},{}],34:[function(require,module,exports){
var modeModules={ECB:require("./ecb"),CBC:require("./cbc"),CFB:require("./cfb"),CFB8:require("./cfb8"),CFB1:require("./cfb1"),OFB:require("./ofb"),CTR:require("./ctr"),GCM:require("./ctr")},modes=require("./list.json");for(var key in modes)modes[key].module=modeModules[modes[key].mode];module.exports=modes;
},{"./cbc":28,"./cfb":29,"./cfb1":30,"./cfb8":31,"./ctr":32,"./ecb":33,"./list.json":35,"./ofb":36}],35:[function(require,module,exports){
module.exports={
"aes-128-ecb": {
"cipher": "AES",
"key": 128,
"iv": 0,
"mode": "ECB",
"type": "block"
},
"aes-192-ecb": {
"cipher": "AES",
"key": 192,
"iv": 0,
"mode": "ECB",
"type": "block"
},
"aes-256-ecb": {
"cipher": "AES",
"key": 256,
"iv": 0,
"mode": "ECB",
"type": "block"
},
"aes-128-cbc": {
"cipher": "AES",
"key": 128,
"iv": 16,
"mode": "CBC",
"type": "block"
},
"aes-192-cbc": {
"cipher": "AES",
"key": 192,
"iv": 16,
"mode": "CBC",
"type": "block"
},
"aes-256-cbc": {
"cipher": "AES",
"key": 256,
"iv": 16,
"mode": "CBC",
"type": "block"
},
"aes128": {
"cipher": "AES",
"key": 128,
"iv": 16,
"mode": "CBC",
"type": "block"
},
"aes192": {
"cipher": "AES",
"key": 192,
"iv": 16,
"mode": "CBC",
"type": "block"
},
"aes256": {
"cipher": "AES",
"key": 256,
"iv": 16,
"mode": "CBC",
"type": "block"
},
"aes-128-cfb": {
"cipher": "AES",
"key": 128,
"iv": 16,
"mode": "CFB",
"type": "stream"
},
"aes-192-cfb": {
"cipher": "AES",
"key": 192,
"iv": 16,
"mode": "CFB",
"type": "stream"
},
"aes-256-cfb": {
"cipher": "AES",
"key": 256,
"iv": 16,
"mode": "CFB",
"type": "stream"
},
"aes-128-cfb8": {
"cipher": "AES",
"key": 128,
"iv": 16,
"mode": "CFB8",
"type": "stream"
},
"aes-192-cfb8": {
"cipher": "AES",
"key": 192,
"iv": 16,
"mode": "CFB8",
"type": "stream"
},
"aes-256-cfb8": {
"cipher": "AES",
"key": 256,
"iv": 16,
"mode": "CFB8",
"type": "stream"
},
"aes-128-cfb1": {
"cipher": "AES",
"key": 128,
"iv": 16,
"mode": "CFB1",
"type": "stream"
},
"aes-192-cfb1": {
"cipher": "AES",
"key": 192,
"iv": 16,
"mode": "CFB1",
"type": "stream"
},
"aes-256-cfb1": {
"cipher": "AES",
"key": 256,
"iv": 16,
"mode": "CFB1",
"type": "stream"
},
"aes-128-ofb": {
"cipher": "AES",
"key": 128,
"iv": 16,
"mode": "OFB",
"type": "stream"
},
"aes-192-ofb": {
"cipher": "AES",
"key": 192,
"iv": 16,
"mode": "OFB",
"type": "stream"
},
"aes-256-ofb": {
"cipher": "AES",
"key": 256,
"iv": 16,
"mode": "OFB",
"type": "stream"
},
"aes-128-ctr": {
"cipher": "AES",
"key": 128,
"iv": 16,
"mode": "CTR",
"type": "stream"
},
"aes-192-ctr": {
"cipher": "AES",
"key": 192,
"iv": 16,
"mode": "CTR",
"type": "stream"
},
"aes-256-ctr": {
"cipher": "AES",
"key": 256,
"iv": 16,
"mode": "CTR",
"type": "stream"
},
"aes-128-gcm": {
"cipher": "AES",
"key": 128,
"iv": 12,
"mode": "GCM",
"type": "auth"
},
"aes-192-gcm": {
"cipher": "AES",
"key": 192,
"iv": 12,
"mode": "GCM",
"type": "auth"
},
"aes-256-gcm": {
"cipher": "AES",
"key": 256,
"iv": 12,
"mode": "GCM",
"type": "auth"
}
}
},{}],36:[function(require,module,exports){
(function (Buffer){
var xor=require("buffer-xor");function getBlock(e){return e._prev=e._cipher.encryptBlock(e._prev),e._prev}exports.encrypt=function(e,c){for(;e._cache.length<c.length;)e._cache=Buffer.concat([e._cache,getBlock(e)]);var r=e._cache.slice(0,c.length);return e._cache=e._cache.slice(c.length),xor(c,r)};
}).call(this,require("buffer").Buffer)
},{"buffer":50,"buffer-xor":49}],37:[function(require,module,exports){
var aes=require("./aes"),Buffer=require("safe-buffer").Buffer,Transform=require("cipher-base"),inherits=require("inherits");function StreamCipher(e,r,i,t){Transform.call(this),this._cipher=new aes.AES(r),this._prev=Buffer.from(i),this._cache=Buffer.allocUnsafe(0),this._secCache=Buffer.allocUnsafe(0),this._decrypt=t,this._mode=e}inherits(StreamCipher,Transform),StreamCipher.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)},StreamCipher.prototype._final=function(){this._cipher.scrub()},module.exports=StreamCipher;
},{"./aes":21,"cipher-base":51,"inherits":102,"safe-buffer":145}],38:[function(require,module,exports){
var DES=require("browserify-des"),aes=require("browserify-aes/browser"),aesModes=require("browserify-aes/modes"),desModes=require("browserify-des/modes"),ebtk=require("evp_bytestokey");function createCipher(e,r){var s,i;if(e=e.toLowerCase(),aesModes[e])s=aesModes[e].key,i=aesModes[e].iv;else{if(!desModes[e])throw new TypeError("invalid suite type");s=8*desModes[e].key,i=desModes[e].iv}var t=ebtk(r,!1,s,i);return createCipheriv(e,t.key,t.iv)}function createDecipher(e,r){var s,i;if(e=e.toLowerCase(),aesModes[e])s=aesModes[e].key,i=aesModes[e].iv;else{if(!desModes[e])throw new TypeError("invalid suite type");s=8*desModes[e].key,i=desModes[e].iv}var t=ebtk(r,!1,s,i);return createDecipheriv(e,t.key,t.iv)}function createCipheriv(e,r,s){if(e=e.toLowerCase(),aesModes[e])return aes.createCipheriv(e,r,s);if(desModes[e])return new DES({key:r,iv:s,mode:e});throw new TypeError("invalid suite type")}function createDecipheriv(e,r,s){if(e=e.toLowerCase(),aesModes[e])return aes.createDecipheriv(e,r,s);if(desModes[e])return new DES({key:r,iv:s,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}function getCiphers(){return Object.keys(desModes).concat(aes.getCiphers())}exports.createCipher=exports.Cipher=createCipher,exports.createCipheriv=exports.Cipheriv=createCipheriv,exports.createDecipher=exports.Decipher=createDecipher,exports.createDecipheriv=exports.Decipheriv=createDecipheriv,exports.listCiphers=exports.getCiphers=getCiphers;
},{"browserify-aes/browser":23,"browserify-aes/modes":34,"browserify-des":39,"browserify-des/modes":40,"evp_bytestokey":86}],39:[function(require,module,exports){
var CipherBase=require("cipher-base"),des=require("des.js"),inherits=require("inherits"),Buffer=require("safe-buffer").Buffer,modes={"des-ede3-cbc":des.CBC.instantiate(des.EDE),"des-ede3":des.EDE,"des-ede-cbc":des.CBC.instantiate(des.EDE),"des-ede":des.EDE,"des-cbc":des.CBC.instantiate(des.DES),"des-ecb":des.DES};function DES(e){CipherBase.call(this);var s,r=e.mode.toLowerCase(),d=modes[r];s=e.decrypt?"decrypt":"encrypt";var t=e.key;Buffer.isBuffer(t)||(t=Buffer.from(t)),"des-ede"!==r&&"des-ede-cbc"!==r||(t=Buffer.concat([t,t.slice(0,8)]));var f=e.iv;Buffer.isBuffer(f)||(f=Buffer.from(f)),this._des=d.create({key:t,iv:f,type:s})}modes.des=modes["des-cbc"],modes.des3=modes["des-ede3-cbc"],module.exports=DES,inherits(DES,CipherBase),DES.prototype._update=function(e){return Buffer.from(this._des.update(e))},DES.prototype._final=function(){return Buffer.from(this._des.final())};
},{"cipher-base":51,"des.js":59,"inherits":102,"safe-buffer":145}],40:[function(require,module,exports){
exports["des-ecb"]={key:8,iv:0},exports["des-cbc"]=exports.des={key:8,iv:8},exports["des-ede3-cbc"]=exports.des3={key:24,iv:8},exports["des-ede3"]={key:24,iv:0},exports["des-ede-cbc"]={key:16,iv:8},exports["des-ede"]={key:16,iv:0};
},{}],41:[function(require,module,exports){
(function (Buffer){
var bn=require("bn.js"),randomBytes=require("randombytes");function blind(e){var n=getr(e);return{blinder:n.toRed(bn.mont(e.modulus)).redPow(new bn(e.publicExponent)).fromRed(),unblinder:n.invm(e.modulus)}}function crt(e,n){var r=blind(n),o=n.modulus.byteLength(),u=(bn.mont(n.modulus),new bn(e).mul(r.blinder).umod(n.modulus)),m=u.toRed(bn.mont(n.prime1)),d=u.toRed(bn.mont(n.prime2)),t=n.coefficient,i=n.prime1,b=n.prime2,l=m.redPow(n.exponent1),s=d.redPow(n.exponent2);l=l.fromRed(),s=s.fromRed();var p=l.isub(s).imul(t).umod(i);return p.imul(b),s.iadd(p),Buffer.alloc(s,imul(r.unblinder).umod(n.modulus).toArray(!1,o))}function getr(e){for(var n=e.modulus.byteLength(),r=new bn(randomBytes(n));r.cmp(e.modulus)>=0||!r.umod(e.prime1)||!r.umod(e.prime2);)r=new bn(randomBytes(n));return r}module.exports=crt,crt.getr=getr;
}).call(this,require("buffer").Buffer)
},{"bn.js":18,"buffer":50,"randombytes":128}],42:[function(require,module,exports){
module.exports=require("./browser/algorithms.json");
},{"./browser/algorithms.json":43}],43:[function(require,module,exports){
module.exports={
"sha224WithRSAEncryption": {
"sign": "rsa",
"hash": "sha224",
"id": "302d300d06096086480165030402040500041c"
},
"RSA-SHA224": {
"sign": "ecdsa/rsa",
"hash": "sha224",
"id": "302d300d06096086480165030402040500041c"
},
"sha256WithRSAEncryption": {
"sign": "rsa",
"hash": "sha256",
"id": "3031300d060960864801650304020105000420"
},
"RSA-SHA256": {
"sign": "ecdsa/rsa",
"hash": "sha256",
"id": "3031300d060960864801650304020105000420"
},
"sha384WithRSAEncryption": {
"sign": "rsa",
"hash": "sha384",
"id": "3041300d060960864801650304020205000430"
},
"RSA-SHA384": {
"sign": "ecdsa/rsa",
"hash": "sha384",
"id": "3041300d060960864801650304020205000430"
},
"sha512WithRSAEncryption": {
"sign": "rsa",
"hash": "sha512",
"id": "3051300d060960864801650304020305000440"
},
"RSA-SHA512": {
"sign": "ecdsa/rsa",
"hash": "sha512",
"id": "3051300d060960864801650304020305000440"
},
"RSA-SHA1": {
"sign": "rsa",
"hash": "sha1",
"id": "3021300906052b0e03021a05000414"
},
"ecdsa-with-SHA1": {
"sign": "ecdsa",
"hash": "sha1",
"id": ""
},
"sha256": {
"sign": "ecdsa",
"hash": "sha256",
"id": ""
},
"sha224": {
"sign": "ecdsa",
"hash": "sha224",
"id": ""
},
"sha384": {
"sign": "ecdsa",
"hash": "sha384",
"id": ""
},
"sha512": {
"sign": "ecdsa",
"hash": "sha512",
"id": ""
},
"DSA-SHA": {
"sign": "dsa",
"hash": "sha1",
"id": ""
},
"DSA-SHA1": {
"sign": "dsa",
"hash": "sha1",
"id": ""
},
"DSA": {
"sign": "dsa",
"hash": "sha1",
"id": ""
},
"DSA-WITH-SHA224": {
"sign": "dsa",
"hash": "sha224",
"id": ""
},
"DSA-SHA224": {
"sign": "dsa",
"hash": "sha224",
"id": ""
},
"DSA-WITH-SHA256": {
"sign": "dsa",
"hash": "sha256",
"id": ""
},
"DSA-SHA256": {
"sign": "dsa",
"hash": "sha256",
"id": ""
},
"DSA-WITH-SHA384": {
"sign": "dsa",
"hash": "sha384",
"id": ""
},
"DSA-SHA384": {
"sign": "dsa",
"hash": "sha384",
"id": ""
},
"DSA-WITH-SHA512": {
"sign": "dsa",
"hash": "sha512",
"id": ""
},
"DSA-SHA512": {
"sign": "dsa",
"hash": "sha512",
"id": ""
},
"DSA-RIPEMD160": {
"sign": "dsa",
"hash": "rmd160",
"id": ""
},
"ripemd160WithRSA": {
"sign": "rsa",
"hash": "rmd160",
"id": "3021300906052b2403020105000414"
},
"RSA-RIPEMD160": {
"sign": "rsa",
"hash": "rmd160",
"id": "3021300906052b2403020105000414"
},
"md5WithRSAEncryption": {
"sign": "rsa",
"hash": "md5",
"id": "3020300c06082a864886f70d020505000410"
},
"RSA-MD5": {
"sign": "rsa",
"hash": "md5",
"id": "3020300c06082a864886f70d020505000410"
}
}
},{}],44:[function(require,module,exports){
module.exports={
"1.3.132.0.10": "secp256k1",
"1.3.132.0.33": "p224",
"1.2.840.10045.3.1.1": "p192",
"1.2.840.10045.3.1.7": "p256",
"1.3.132.0.34": "p384",
"1.3.132.0.35": "p521"
}
},{}],45:[function(require,module,exports){
(function (Buffer){
var createHash=require("create-hash"),stream=require("stream"),inherits=require("inherits"),sign=require("./sign"),verify=require("./verify"),algorithms=require("./algorithms.json");function Sign(e){stream.Writable.call(this);var t=algorithms[e];if(!t)throw new Error("Unknown message digest");this._hashType=t.hash,this._hash=createHash(t.hash),this._tag=t.id,this._signType=t.sign}function Verify(e){stream.Writable.call(this);var t=algorithms[e];if(!t)throw new Error("Unknown message digest");this._hash=createHash(t.hash),this._tag=t.id,this._signType=t.sign}function createSign(e){return new Sign(e)}function createVerify(e){return new Verify(e)}Object.keys(algorithms).forEach(function(e){algorithms[e].id=Buffer.alloc(algorithms[e].id,"hex"),algorithms[e.toLowerCase()]=algorithms[e]}),inherits(Sign,stream.Writable),Sign.prototype._write=function(e,t,i){this._hash.update(e),i()},Sign.prototype.update=function(e,t){return"string"==typeof e&&(e=Buffer.alloc(e,t)),this._hash.update(e),this},Sign.prototype.sign=function(e,t){this.end();var i=this._hash.digest(),r=sign(i,e,this._hashType,this._signType,this._tag);return t?r.toString(t):r},inherits(Verify,stream.Writable),Verify.prototype._write=function(e,t,i){this._hash.update(e),i()},Verify.prototype.update=function(e,t){return"string"==typeof e&&(e=Buffer.alloc(e,t)),this._hash.update(e),this},Verify.prototype.verify=function(e,t,i){"string"==typeof t&&(t=Buffer.alloc(t,i)),this.end();var r=this._hash.digest();return verify(t,r,e,this._signType,this._tag)},module.exports={Sign:createSign,Verify:createVerify,createSign:createSign,createVerify:createVerify};
}).call(this,require("buffer").Buffer)
},{"./algorithms.json":43,"./sign":46,"./verify":47,"buffer":50,"create-hash":54,"inherits":102,"stream":154}],46:[function(require,module,exports){
(function (Buffer){
var createHmac=require("create-hmac"),crt=require("browserify-rsa"),EC=require("elliptic").ec,BN=require("bn.js"),parseKeys=require("parse-asn1"),curves=require("./curves.json");function sign(e,r,t,n,a){var u=parseKeys(r);if(u.curve){if("ecdsa"!==n&&"ecdsa/rsa"!==n)throw new Error("wrong private key type");return ecSign(e,u)}if("dsa"===u.type){if("dsa"!==n)throw new Error("wrong private key type");return dsaSign(e,u,t)}if("rsa"!==n&&"ecdsa/rsa"!==n)throw new Error("wrong private key type");e=Buffer.concat([a,e]);for(var i=u.modulus.byteLength(),o=[0,1];e.length+o.length+1<i;)o.push(255);o.push(0);for(var c=-1;++c<e.length;)o.push(e[c]);return crt(o,u)}function ecSign(e,r){var t=curves[r.curve.join(".")];if(!t)throw new Error("unknown curve "+r.curve.join("."));var n=new EC(t).keyFromPrivate(r.privateKey).sign(e);return Buffer.alloc(n.toDER())}function dsaSign(e,r,t){for(var n,a=r.params.priv_key,u=r.params.p,i=r.params.q,o=r.params.g,c=new BN(0),f=bits2int(e,i).mod(i),s=!1,g=getKey(a,i,e,t);!1===s;)c=makeR(o,n=makeKey(i,g,t),u,i),0===(s=n.invm(i).imul(f.add(a.mul(c))).mod(i)).cmpn(0)&&(s=!1,c=new BN(0));return toDER(c,s)}function toDER(e,r){e=e.toArray(),r=r.toArray(),128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r));var t=[48,e.length+r.length+4,2,e.length];return t=t.concat(e,[2,r.length],r),Buffer.alloc(t)}function getKey(e,r,t,n){if((e=Buffer.alloc(e.toArray())).length<r.byteLength()){var a=Buffer.alloc(r.byteLength()-e.length);a.fill(0),e=Buffer.concat([a,e])}var u=t.length,i=bits2octets(t,r),o=Buffer.alloc(u);o.fill(1);var c=Buffer.alloc(u);return c.fill(0),c=createHmac(n,c).update(o).update(Buffer.alloc([0])).update(e).update(i).digest(),o=createHmac(n,c).update(o).digest(),{k:c=createHmac(n,c).update(o).update(Buffer.alloc([1])).update(e).update(i).digest(),v:o=createHmac(n,c).update(o).digest()}}function bits2int(e,r){var t=new BN(e),n=(e.length<<3)-r.bitLength();return n>0&&t.ishrn(n),t}function bits2octets(e,r){e=(e=bits2int(e,r)).mod(r);var t=Buffer.alloc(e.toArray());if(t.length<r.byteLength()){var n=Buffer.alloc(r.byteLength()-t.length);n.fill(0),t=Buffer.concat([n,t])}return t}function makeKey(e,r,t){var n,a;do{for(n=Buffer.alloc(0);8*n.length<e.bitLength();)r.v=createHmac(t,r.k).update(r.v).digest(),n=Buffer.concat([n,r.v]);a=bits2int(n,e),r.k=createHmac(t,r.k).update(r.v).update(Buffer.from([0])).digest(),r.v=createHmac(t,r.k).update(r.v).digest()}while(-1!==a.cmp(e));return a}function makeR(e,r,t,n){return e.toRed(BN.mont(t)).redPow(r).fromRed().mod(n)}module.exports=sign,module.exports.getKey=getKey,module.exports.makeKey=makeKey;
}).call(this,require("buffer").Buffer)
},{"./curves.json":44,"bn.js":18,"browserify-rsa":41,"buffer":50,"create-hmac":56,"elliptic":69,"parse-asn1":113}],47:[function(require,module,exports){
(function (Buffer){
var BN=require("bn.js"),EC=require("elliptic").ec,parseKeys=require("parse-asn1"),curves=require("./curves.json");function verify(e,r,n,a,t){var o=parseKeys(n);if("ec"===o.type){if("ecdsa"!==a&&"ecdsa/rsa"!==a)throw new Error("wrong public key type");return ecVerify(e,r,o)}if("dsa"===o.type){if("dsa"!==a)throw new Error("wrong public key type");return dsaVerify(e,r,o)}if("rsa"!==a&&"ecdsa/rsa"!==a)throw new Error("wrong public key type");r=Buffer.concat([t,r]);for(var u=o.modulus.byteLength(),i=[1],d=0;r.length+i.length+2<u;)i.push(255),d++;i.push(0);for(var c=-1;++c<r.length;)i.push(r[c]);i=Buffer.from(i);var s=BN.mont(o.modulus);e=(e=new BN(e).toRed(s)).redPow(new BN(o.publicExponent)),e=Buffer.from(e.fromRed().toArray());var f=d<8?1:0;for(u=Math.min(e.length,i.length),e.length!==i.length&&(f=1),c=-1;++c<u;)f|=e[c]^i[c];return 0===f}function ecVerify(e,r,n){var a=curves[n.data.algorithm.curve.join(".")];if(!a)throw new Error("unknown curve "+n.data.algorithm.curve.join("."));var t=new EC(a),o=n.data.subjectPrivateKey.data;return t.verify(r,e,o)}function dsaVerify(e,r,n){var a=n.data.p,t=n.data.q,o=n.data.g,u=n.data.pub_key,i=parseKeys.signature.decode(e,"der"),d=i.s,c=i.r;checkValue(d,t),checkValue(c,t);var s=BN.mont(a),f=d.invm(t);return 0===o.toRed(s).redPow(new BN(r).mul(f).mod(t)).fromRed().mul(u.toRed(s).redPow(c.mul(f).mod(t)).fromRed()).mod(a).mod(t).cmp(c)}function checkValue(e,r){if(e.cmpn(0)<=0)throw new Error("invalid sig");if(e.cmp(r)>=r)throw new Error("invalid sig")}module.exports=verify;
}).call(this,require("buffer").Buffer)
},{"./curves.json":44,"bn.js":18,"buffer":50,"elliptic":69,"parse-asn1":113}],48:[function(require,module,exports){
},{}],49:[function(require,module,exports){
(function (Buffer){
module.exports=function(e,n){for(var r=Math.min(e.length,n.length),t=Buffer.alloc(r),f=0;f<r;++f)t[f]=e[f]^n[f];return t};
}).call(this,require("buffer").Buffer)
},{"buffer":50}],50:[function(require,module,exports){
(function (Buffer){
"use strict";var base64=require("base64-js"),ieee754=require("ieee754");exports.Buffer=Buffer,exports.SlowBuffer=SlowBuffer,exports.INSPECT_MAX_BYTES=50;var K_MAX_LENGTH=2147483647;function typedArraySupport(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(e){return!1}}function createBuffer(e){if(e>K_MAX_LENGTH)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return t.__proto__=Buffer.prototype,t}function Buffer(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(e)}return from(e,t,r)}function from(e,t,r){if("string"==typeof e)return fromString(e,t);if(ArrayBuffer.isView(e))return fromArrayLike(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(isInstance(e,ArrayBuffer)||e&&isInstance(e.buffer,ArrayBuffer))return fromArrayBuffer(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return Buffer.from(n,t,r);var f=fromObject(e);if(f)return f;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return Buffer.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function assertSize(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function alloc(e,t,r){return assertSize(e),e<=0?createBuffer(e):void 0!==t?"string"==typeof r?createBuffer(e).fill(t,r):createBuffer(e).fill(t):createBuffer(e)}function allocUnsafe(e){return assertSize(e),createBuffer(e<0?0:0|checked(e))}function fromString(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!Buffer.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var r=0|byteLength(e,t),n=createBuffer(r),f=n.write(e,t);return f!==r&&(n=n.slice(0,f)),n}function fromArrayLike(e){for(var t=e.length<0?0:0|checked(e.length),r=createBuffer(t),n=0;n<t;n+=1)r[n]=255&e[n];return r}function fromArrayBuffer(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');var n;return(n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r)).__proto__=Buffer.prototype,n}function fromObject(e){if(Buffer.isBuffer(e)){var t=0|checked(e.length),r=createBuffer(t);return 0===r.length?r:(e.copy(r,0,0,t),r)}return void 0!==e.length?"number"!=typeof e.length||numberIsNaN(e.length)?createBuffer(0):fromArrayLike(e):"Buffer"===e.type&&Array.isArray(e.data)?fromArrayLike(e.data):void 0}function checked(e){if(e>=K_MAX_LENGTH)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+K_MAX_LENGTH.toString(16)+" bytes");return 0|e}function SlowBuffer(e){return+e!=e&&(e=0),Buffer.alloc(+e)}function byteLength(e,t){if(Buffer.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||isInstance(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var f=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return utf8ToBytes(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return base64ToBytes(e).length;default:if(f)return n?-1:utf8ToBytes(e).length;t=(""+t).toLowerCase(),f=!0}}function slowToString(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return hexSlice(this,t,r);case"utf8":case"utf-8":return utf8Slice(this,t,r);case"ascii":return asciiSlice(this,t,r);case"latin1":case"binary":return latin1Slice(this,t,r);case"base64":return base64Slice(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function swap(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function bidirectionalIndexOf(e,t,r,n,f){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),numberIsNaN(r=+r)&&(r=f?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(f)return-1;r=e.length-1}else if(r<0){if(!f)return-1;r=0}if("string"==typeof t&&(t=Buffer.from(t,n)),Buffer.isBuffer(t))return 0===t.length?-1:arrayIndexOf(e,t,r,n,f);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?f?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):arrayIndexOf(e,[t],r,n,f);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(e,t,r,n,f){var i,o=1,u=e.length,s=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,u/=2,s/=2,r/=2}function a(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(f){var h=-1;for(i=r;i<u;i++)if(a(e,i)===a(t,-1===h?0:i-h)){if(-1===h&&(h=i),i-h+1===s)return h*o}else-1!==h&&(i-=i-h),h=-1}else for(r+s>u&&(r=u-s),i=r;i>=0;i--){for(var c=!0,l=0;l<s;l++)if(a(e,i+l)!==a(t,l)){c=!1;break}if(c)return i}return-1}function hexWrite(e,t,r,n){r=Number(r)||0;var f=e.length-r;n?(n=Number(n))>f&&(n=f):n=f;var i=t.length;n>i/2&&(n=i/2);for(var o=0;o<n;++o){var u=parseInt(t.substr(2*o,2),16);if(numberIsNaN(u))return o;e[r+o]=u}return o}function utf8Write(e,t,r,n){return blitBuffer(utf8ToBytes(t,e.length-r),e,r,n)}function asciiWrite(e,t,r,n){return blitBuffer(asciiToBytes(t),e,r,n)}function latin1Write(e,t,r,n){return asciiWrite(e,t,r,n)}function base64Write(e,t,r,n){return blitBuffer(base64ToBytes(t),e,r,n)}function ucs2Write(e,t,r,n){return blitBuffer(utf16leToBytes(t,e.length-r),e,r,n)}function base64Slice(e,t,r){return 0===t&&r===e.length?base64.fromByteArray(e):base64.fromByteArray(e.slice(t,r))}function utf8Slice(e,t,r){r=Math.min(e.length,r);for(var n=[],f=t;f<r;){var i,o,u,s,a=e[f],h=null,c=a>239?4:a>223?3:a>191?2:1;if(f+c<=r)switch(c){case 1:a<128&&(h=a);break;case 2:128==(192&(i=e[f+1]))&&(s=(31&a)<<6|63&i)>127&&(h=s);break;case 3:i=e[f+1],o=e[f+2],128==(192&i)&&128==(192&o)&&(s=(15&a)<<12|(63&i)<<6|63&o)>2047&&(s<55296||s>57343)&&(h=s);break;case 4:i=e[f+1],o=e[f+2],u=e[f+3],128==(192&i)&&128==(192&o)&&128==(192&u)&&(s=(15&a)<<18|(63&i)<<12|(63&o)<<6|63&u)>65535&&s<1114112&&(h=s)}null===h?(h=65533,c=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),f+=c}return decodeCodePointsArray(n)}exports.kMaxLength=K_MAX_LENGTH,Buffer.TYPED_ARRAY_SUPPORT=typedArraySupport(),Buffer.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(Buffer.prototype,"parent",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.buffer}}),Object.defineProperty(Buffer.prototype,"offset",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&Buffer[Symbol.species]===Buffer&&Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),Buffer.poolSize=8192,Buffer.from=function(e,t,r){return from(e,t,r)},Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array,Buffer.alloc=function(e,t,r){return alloc(e,t,r)},Buffer.allocUnsafe=function(e){return allocUnsafe(e)},Buffer.allocUnsafeSlow=function(e){return allocUnsafe(e)},Buffer.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==Buffer.prototype},Buffer.compare=function(e,t){if(isInstance(e,Uint8Array)&&(e=Buffer.from(e,e.offset,e.byteLength)),isInstance(t,Uint8Array)&&(t=Buffer.from(t,t.offset,t.byteLength)),!Buffer.isBuffer(e)||!Buffer.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,n=t.length,f=0,i=Math.min(r,n);f<i;++f)if(e[f]!==t[f]){r=e[f],n=t[f];break}return r<n?-1:n<r?1:0},Buffer.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Buffer.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Buffer.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=Buffer.allocUnsafe(t),f=0;for(r=0;r<e.length;++r){var i=e[r];if(isInstance(i,Uint8Array)&&(i=Buffer.from(i)),!Buffer.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(n,f),f+=i.length}return n},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)swap(this,t,t+1);return this},Buffer.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)swap(this,t,t+3),swap(this,t+1,t+2);return this},Buffer.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)swap(this,t,t+7),swap(this,t+1,t+6),swap(this,t+2,t+5),swap(this,t+3,t+4);return this},Buffer.prototype.toString=function(){var e=this.length;return 0===e?"":0===arguments.length?utf8Slice(this,0,e):slowToString.apply(this,arguments)},Buffer.prototype.toLocaleString=Buffer.prototype.toString,Buffer.prototype.equals=function(e){if(!Buffer.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Buffer.compare(this,e)},Buffer.prototype.inspect=function(){var e="",t=exports.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"},Buffer.prototype.compare=function(e,t,r,n,f){if(isInstance(e,Uint8Array)&&(e=Buffer.from(e,e.offset,e.byteLength)),!Buffer.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===f&&(f=this.length),t<0||r>e.length||n<0||f>this.length)throw new RangeError("out of range index");if(n>=f&&t>=r)return 0;if(n>=f)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(f>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),u=Math.min(i,o),s=this.slice(n,f),a=e.slice(t,r),h=0;h<u;++h)if(s[h]!==a[h]){i=s[h],o=a[h];break}return i<o?-1:o<i?1:0},Buffer.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},Buffer.prototype.indexOf=function(e,t,r){return bidirectionalIndexOf(this,e,t,r,!0)},Buffer.prototype.lastIndexOf=function(e,t,r){return bidirectionalIndexOf(this,e,t,r,!1)},Buffer.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var f=this.length-t;if((void 0===r||r>f)&&(r=f),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return hexWrite(this,e,t,r);case"utf8":case"utf-8":return utf8Write(this,e,t,r);case"ascii":return asciiWrite(this,e,t,r);case"latin1":case"binary":return latin1Write(this,e,t,r);case"base64":return base64Write(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(e){var t=e.length;if(t<=MAX_ARGUMENTS_LENGTH)return String.fromCharCode.apply(String,e);for(var r="",n=0;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=MAX_ARGUMENTS_LENGTH));return r}function asciiSlice(e,t,r){var n="";r=Math.min(e.length,r);for(var f=t;f<r;++f)n+=String.fromCharCode(127&e[f]);return n}function latin1Slice(e,t,r){var n="";r=Math.min(e.length,r);for(var f=t;f<r;++f)n+=String.fromCharCode(e[f]);return n}function hexSlice(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var f="",i=t;i<r;++i)f+=toHex(e[i]);return f}function utf16leSlice(e,t,r){for(var n=e.slice(t,r),f="",i=0;i<n.length;i+=2)f+=String.fromCharCode(n[i]+256*n[i+1]);return f}function checkOffset(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function checkInt(e,t,r,n,f,i){if(!Buffer.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>f||t<i)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function checkIEEE754(e,t,r,n,f,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function writeFloat(e,t,r,n,f){return t=+t,r>>>=0,f||checkIEEE754(e,t,r,4,3.4028234663852886e38,-3.4028234663852886e38),ieee754.write(e,t,r,n,23,4),r+4}function writeDouble(e,t,r,n,f){return t=+t,r>>>=0,f||checkIEEE754(e,t,r,8,1.7976931348623157e308,-1.7976931348623157e308),ieee754.write(e,t,r,n,52,8),r+8}Buffer.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);var n=this.subarray(e,t);return n.__proto__=Buffer.prototype,n},Buffer.prototype.readUIntLE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e],f=1,i=0;++i<t&&(f*=256);)n+=this[e+i]*f;return n},Buffer.prototype.readUIntBE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e+--t],f=1;t>0&&(f*=256);)n+=this[e+--t]*f;return n},Buffer.prototype.readUInt8=function(e,t){return e>>>=0,t||checkOffset(e,1,this.length),this[e]},Buffer.prototype.readUInt16LE=function(e,t){return e>>>=0,t||checkOffset(e,2,this.length),this[e]|this[e+1]<<8},Buffer.prototype.readUInt16BE=function(e,t){return e>>>=0,t||checkOffset(e,2,this.length),this[e]<<8|this[e+1]},Buffer.prototype.readUInt32LE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Buffer.prototype.readUInt32BE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Buffer.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e],f=1,i=0;++i<t&&(f*=256);)n+=this[e+i]*f;return n>=(f*=128)&&(n-=Math.pow(2,8*t)),n},Buffer.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=t,f=1,i=this[e+--n];n>0&&(f*=256);)i+=this[e+--n]*f;return i>=(f*=128)&&(i-=Math.pow(2,8*t)),i},Buffer.prototype.readInt8=function(e,t){return e>>>=0,t||checkOffset(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Buffer.prototype.readInt16LE=function(e,t){e>>>=0,t||checkOffset(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt16BE=function(e,t){e>>>=0,t||checkOffset(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt32LE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Buffer.prototype.readInt32BE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Buffer.prototype.readFloatLE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),ieee754.read(this,e,!0,23,4)},Buffer.prototype.readFloatBE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),ieee754.read(this,e,!1,23,4)},Buffer.prototype.readDoubleLE=function(e,t){return e>>>=0,t||checkOffset(e,8,this.length),ieee754.read(this,e,!0,52,8)},Buffer.prototype.readDoubleBE=function(e,t){return e>>>=0,t||checkOffset(e,8,this.length),ieee754.read(this,e,!1,52,8)},Buffer.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||checkInt(this,e,t,r,Math.pow(2,8*r)-1,0);var f=1,i=0;for(this[t]=255&e;++i<r&&(f*=256);)this[t+i]=e/f&255;return t+r},Buffer.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||checkInt(this,e,t,r,Math.pow(2,8*r)-1,0);var f=r-1,i=1;for(this[t+f]=255&e;--f>=0&&(i*=256);)this[t+f]=e/i&255;return t+r},Buffer.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,1,255,0),this[t]=255&e,t+1},Buffer.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},Buffer.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},Buffer.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},Buffer.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Buffer.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var f=Math.pow(2,8*r-1);checkInt(this,e,t,r,f-1,-f)}var i=0,o=1,u=0;for(this[t]=255&e;++i<r&&(o*=256);)e<0&&0===u&&0!==this[t+i-1]&&(u=1),this[t+i]=(e/o>>0)-u&255;return t+r},Buffer.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var f=Math.pow(2,8*r-1);checkInt(this,e,t,r,f-1,-f)}var i=r-1,o=1,u=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===u&&0!==this[t+i+1]&&(u=1),this[t+i]=(e/o>>0)-u&255;return t+r},Buffer.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},Buffer.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},Buffer.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},Buffer.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},Buffer.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Buffer.prototype.writeFloatLE=function(e,t,r){return writeFloat(this,e,t,!0,r)},Buffer.prototype.writeFloatBE=function(e,t,r){return writeFloat(this,e,t,!1,r)},Buffer.prototype.writeDoubleLE=function(e,t,r){return writeDouble(this,e,t,!0,r)},Buffer.prototype.writeDoubleBE=function(e,t,r){return writeDouble(this,e,t,!1,r)},Buffer.prototype.copy=function(e,t,r,n){if(!Buffer.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var f=n-r;if(this===e&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(t,r,n);else if(this===e&&r<t&&t<n)for(var i=f-1;i>=0;--i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,n),t);return f},Buffer.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!Buffer.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===e.length){var f=e.charCodeAt(0);("utf8"===n&&f<128||"latin1"===n)&&(e=f)}}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var i;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i<r;++i)this[i]=e;else{var o=Buffer.isBuffer(e)?e:Buffer.from(e,n),u=o.length;if(0===u)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(i=0;i<r-t;++i)this[i+t]=o[i%u]}return this};var INVALID_BASE64_RE=/[^+\/0-9A-Za-z-_]/g;function base64clean(e){if((e=(e=e.split("=")[0]).trim().replace(INVALID_BASE64_RE,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}function toHex(e){return e<16?"0"+e.toString(16):e.toString(16)}function utf8ToBytes(e,t){var r;t=t||1/0;for(var n=e.length,f=null,i=[],o=0;o<n;++o){if((r=e.charCodeAt(o))>55295&&r<57344){if(!f){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&i.push(239,191,189);continue}f=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),f=r;continue}r=65536+(f-55296<<10|r-56320)}else f&&(t-=3)>-1&&i.push(239,191,189);if(f=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function asciiToBytes(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}function utf16leToBytes(e,t){for(var r,n,f,i=[],o=0;o<e.length&&!((t-=2)<0);++o)n=(r=e.charCodeAt(o))>>8,f=r%256,i.push(f),i.push(n);return i}function base64ToBytes(e){return base64.toByteArray(base64clean(e))}function blitBuffer(e,t,r,n){for(var f=0;f<n&&!(f+r>=t.length||f>=e.length);++f)t[f+r]=e[f];return f}function isInstance(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function numberIsNaN(e){return e!=e}
}).call(this,require("buffer").Buffer)
},{"base64-js":17,"buffer":50,"ieee754":101}],51:[function(require,module,exports){
var Buffer=require("safe-buffer").Buffer,Transform=require("stream").Transform,StringDecoder=require("string_decoder").StringDecoder,inherits=require("inherits");function CipherBase(t){Transform.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}inherits(CipherBase,Transform),CipherBase.prototype.update=function(t,e,r){"string"==typeof t&&(t=Buffer.from(t,e));var i=this._update(t);return this.hashMode?this:(r&&(i=this._toString(i,r)),i)},CipherBase.prototype.setAutoPadding=function(){},CipherBase.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},CipherBase.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},CipherBase.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},CipherBase.prototype._transform=function(t,e,r){var i;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){i=t}finally{r(i)}},CipherBase.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},CipherBase.prototype._finalOrDigest=function(t){var e=this.__final()||Buffer.alloc(0);return t&&(e=this._toString(e,t,!0)),e},CipherBase.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new StringDecoder(e),this._encoding=e),this._encoding!==e)throw new Error("can't switch encodings");var i=this._decoder.write(t);return r&&(i+=this._decoder.end()),i},module.exports=CipherBase;
},{"inherits":102,"safe-buffer":145,"stream":154,"string_decoder":155}],52:[function(require,module,exports){
(function (Buffer){
function isArray(r){return Array.isArray?Array.isArray(r):"[object Array]"===objectToString(r)}function isBoolean(r){return"boolean"==typeof r}function isNull(r){return null===r}function isNullOrUndefined(r){return null==r}function isNumber(r){return"number"==typeof r}function isString(r){return"string"==typeof r}function isSymbol(r){return"symbol"==typeof r}function isUndefined(r){return void 0===r}function isRegExp(r){return"[object RegExp]"===objectToString(r)}function isObject(r){return"object"==typeof r&&null!==r}function isDate(r){return"[object Date]"===objectToString(r)}function isError(r){return"[object Error]"===objectToString(r)||r instanceof Error}function isFunction(r){return"function"==typeof r}function isPrimitive(r){return null===r||"boolean"==typeof r||"number"==typeof r||"string"==typeof r||"symbol"==typeof r||void 0===r}function objectToString(r){return Object.prototype.toString.call(r)}exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=Buffer.isBuffer;
}).call(this,{"isBuffer":require("../../is-buffer/index.js")})
},{"../../is-buffer/index.js":103}],53:[function(require,module,exports){
(function (Buffer){
var elliptic=require("elliptic"),BN=require("bn.js");module.exports=function(e){return new ECDH(e)};var aliases={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function ECDH(e){this.curveType=aliases[e],this.curveType||(this.curveType={name:e}),this.curve=new elliptic.ec(this.curveType.name),this.keys=void 0}function formatReturnValue(e,t,r){Array.isArray(e)||(e=e.toArray());var i=Buffer.from(e);if(r&&i.length<r){var s=Buffer.alloc(r-i.length);s.fill(0),i=Buffer.concat([s,i])}return t?i.toString(t):i}aliases.p224=aliases.secp224r1,aliases.p256=aliases.secp256r1=aliases.prime256v1,aliases.p192=aliases.secp192r1=aliases.prime192v1,aliases.p384=aliases.secp384r1,aliases.p521=aliases.secp521r1,ECDH.prototype.generateKeys=function(e,t){return this.keys=this.curve.genKeyPair(),this.getPublicKey(e,t)},ECDH.prototype.computeSecret=function(e,t,r){return t=t||"utf8",Buffer.isBuffer(e)||(e=Buffer.from(e,t)),formatReturnValue(this.curve.keyFromPublic(e).getPublic().mul(this.keys.getPrivate()).getX(),r,this.curveType.byteLength)},ECDH.prototype.getPublicKey=function(e,t){var r=this.keys.getPublic("compressed"===t,!0);return"hybrid"===t&&(r[r.length-1]%2?r[0]=7:r[0]=6),formatReturnValue(r,e)},ECDH.prototype.getPrivateKey=function(e){return formatReturnValue(this.keys.getPrivate(),e)},ECDH.prototype.setPublicKey=function(e,t){return t=t||"utf8",Buffer.isBuffer(e)||(e=Buffer.from(e,t)),this.keys._importPublic(e),this},ECDH.prototype.setPrivateKey=function(e,t){t=t||"utf8",Buffer.isBuffer(e)||(e=Buffer.from(e,t));var r=new BN(e);return r=r.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(r),this};
}).call(this,require("buffer").Buffer)
},{"bn.js":18,"buffer":50,"elliptic":69}],54:[function(require,module,exports){
"use strict";var inherits=require("inherits"),MD5=require("md5.js"),RIPEMD160=require("ripemd160"),sha=require("sha.js"),Base=require("cipher-base");function Hash(e){Base.call(this,"digest"),this._hash=e}inherits(Hash,Base),Hash.prototype._update=function(e){this._hash.update(e)},Hash.prototype._final=function(){return this._hash.digest()},module.exports=function(e){return"md5"===(e=e.toLowerCase())?new MD5:"rmd160"===e||"ripemd160"===e?new RIPEMD160:new Hash(sha(e))};
},{"cipher-base":51,"inherits":102,"md5.js":105,"ripemd160":144,"sha.js":147}],55:[function(require,module,exports){
var MD5=require("md5.js");module.exports=function(e){return(new MD5).update(e).digest()};
},{"md5.js":105}],56:[function(require,module,exports){
"use strict";var inherits=require("inherits"),Legacy=require("./legacy"),Base=require("cipher-base"),Buffer=require("safe-buffer").Buffer,md5=require("create-hash/md5"),RIPEMD160=require("ripemd160"),sha=require("sha.js"),ZEROS=Buffer.alloc(128);function Hmac(e,a){Base.call(this,"digest"),"string"==typeof a&&(a=Buffer.from(a));var r="sha512"===e||"sha384"===e?128:64;(this._alg=e,this._key=a,a.length>r)?a=("rmd160"===e?new RIPEMD160:sha(e)).update(a).digest():a.length<r&&(a=Buffer.concat([a,ZEROS],r));for(var t=this._ipad=Buffer.allocUnsafe(r),s=this._opad=Buffer.allocUnsafe(r),i=0;i<r;i++)t[i]=54^a[i],s[i]=92^a[i];this._hash="rmd160"===e?new RIPEMD160:sha(e),this._hash.update(t)}inherits(Hmac,Base),Hmac.prototype._update=function(e){this._hash.update(e)},Hmac.prototype._final=function(){var e=this._hash.digest();return("rmd160"===this._alg?new RIPEMD160:sha(this._alg)).update(this._opad).update(e).digest()},module.exports=function(e,a){return"rmd160"===(e=e.toLowerCase())||"ripemd160"===e?new Hmac("rmd160",a):"md5"===e?new Legacy(md5,a):new Hmac(e,a)};
},{"./legacy":57,"cipher-base":51,"create-hash/md5":55,"inherits":102,"ripemd160":144,"safe-buffer":145,"sha.js":147}],57:[function(require,module,exports){
"use strict";var inherits=require("inherits"),Buffer=require("safe-buffer").Buffer,Base=require("cipher-base"),ZEROS=Buffer.alloc(128),blocksize=64;function Hmac(e,s){Base.call(this,"digest"),"string"==typeof s&&(s=Buffer.from(s)),this._alg=e,this._key=s,s.length>blocksize?s=e(s):s.length<blocksize&&(s=Buffer.concat([s,ZEROS],blocksize));for(var i=this._ipad=Buffer.allocUnsafe(blocksize),t=this._opad=Buffer.allocUnsafe(blocksize),a=0;a<blocksize;a++)i[a]=54^s[a],t[a]=92^s[a];this._hash=[i]}inherits(Hmac,Base),Hmac.prototype._update=function(e){this._hash.push(e)},Hmac.prototype._final=function(){var e=this._alg(Buffer.concat(this._hash));return this._alg(Buffer.concat([this._opad,e]))},module.exports=Hmac;
},{"cipher-base":51,"inherits":102,"safe-buffer":145}],58:[function(require,module,exports){
"use strict";exports.randomBytes=exports.rng=exports.pseudoRandomBytes=exports.prng=require("randombytes"),exports.createHash=exports.Hash=require("create-hash"),exports.createHmac=exports.Hmac=require("create-hmac");var algos=require("browserify-sign/algos"),algoKeys=Object.keys(algos),hashes=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(algoKeys);exports.getHashes=function(){return hashes};var p=require("pbkdf2");exports.pbkdf2=p.pbkdf2,exports.pbkdf2Sync=p.pbkdf2Sync;var aes=require("browserify-cipher");exports.Cipher=aes.Cipher,exports.createCipher=aes.createCipher,exports.Cipheriv=aes.Cipheriv,exports.createCipheriv=aes.createCipheriv,exports.Decipher=aes.Decipher,exports.createDecipher=aes.createDecipher,exports.Decipheriv=aes.Decipheriv,exports.createDecipheriv=aes.createDecipheriv,exports.getCiphers=aes.getCiphers,exports.listCiphers=aes.listCiphers;var dh=require("diffie-hellman");exports.DiffieHellmanGroup=dh.DiffieHellmanGroup,exports.createDiffieHellmanGroup=dh.createDiffieHellmanGroup,exports.getDiffieHellman=dh.getDiffieHellman,exports.createDiffieHellman=dh.createDiffieHellman,exports.DiffieHellman=dh.DiffieHellman;var sign=require("browserify-sign");exports.createSign=sign.createSign,exports.Sign=sign.Sign,exports.createVerify=sign.createVerify,exports.Verify=sign.Verify,exports.createECDH=require("create-ecdh");var publicEncrypt=require("public-encrypt");exports.publicEncrypt=publicEncrypt.publicEncrypt,exports.privateEncrypt=publicEncrypt.privateEncrypt,exports.publicDecrypt=publicEncrypt.publicDecrypt,exports.privateDecrypt=publicEncrypt.privateDecrypt;var rf=require("randomfill");exports.randomFill=rf.randomFill,exports.randomFillSync=rf.randomFillSync,exports.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},exports.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6};
},{"browserify-cipher":38,"browserify-sign":45,"browserify-sign/algos":42,"create-ecdh":53,"create-hash":54,"create-hmac":56,"diffie-hellman":65,"pbkdf2":115,"public-encrypt":122,"randombytes":128,"randomfill":129}],59:[function(require,module,exports){
"use strict";exports.utils=require("./des/utils"),exports.Cipher=require("./des/cipher"),exports.DES=require("./des/des"),exports.CBC=require("./des/cbc"),exports.EDE=require("./des/ede");
},{"./des/cbc":60,"./des/cipher":61,"./des/des":62,"./des/ede":63,"./des/utils":64}],60:[function(require,module,exports){
"use strict";var assert=require("minimalistic-assert"),inherits=require("inherits"),proto={};function CBCState(t){assert.equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var i=0;i<this.iv.length;i++)this.iv[i]=t[i]}function instantiate(t){function i(i){t.call(this,i),this._cbcInit()}inherits(i,t);for(var e=Object.keys(proto),r=0;r<e.length;r++){var n=e[r];i.prototype[n]=proto[n]}return i.create=function(t){return new i(t)},i}exports.instantiate=instantiate,proto._cbcInit=function(){var t=new CBCState(this.options.iv);this._cbcState=t},proto._update=function(t,i,e,r){var n=this._cbcState,s=this.constructor.super_.prototype,o=n.iv;if("encrypt"===this.type){for(var a=0;a<this.blockSize;a++)o[a]^=t[i+a];s._update.call(this,o,0,e,r);for(a=0;a<this.blockSize;a++)o[a]=e[r+a]}else{s._update.call(this,t,i,e,r);for(a=0;a<this.blockSize;a++)e[r+a]^=o[a];for(a=0;a<this.blockSize;a++)o[a]=t[i+a]}};
},{"inherits":102,"minimalistic-assert":107}],61:[function(require,module,exports){
"use strict";var assert=require("minimalistic-assert");function Cipher(t){this.options=t,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}module.exports=Cipher,Cipher.prototype._init=function(){},Cipher.prototype.update=function(t){return 0===t.length?[]:"decrypt"===this.type?this._updateDecrypt(t):this._updateEncrypt(t)},Cipher.prototype._buffer=function(t,e){for(var r=Math.min(this.buffer.length-this.bufferOff,t.length-e),i=0;i<r;i++)this.buffer[this.bufferOff+i]=t[e+i];return this.bufferOff+=r,r},Cipher.prototype._flushBuffer=function(t,e){return this._update(this.buffer,0,t,e),this.bufferOff=0,this.blockSize},Cipher.prototype._updateEncrypt=function(t){var e=0,r=0,i=(this.bufferOff+t.length)/this.blockSize|0,f=new Array(i*this.blockSize);0!==this.bufferOff&&(e+=this._buffer(t,e),this.bufferOff===this.buffer.length&&(r+=this._flushBuffer(f,r)));for(var h=t.length-(t.length-e)%this.blockSize;e<h;e+=this.blockSize)this._update(t,e,f,r),r+=this.blockSize;for(;e<t.length;e++,this.bufferOff++)this.buffer[this.bufferOff]=t[e];return f},Cipher.prototype._updateDecrypt=function(t){for(var e=0,r=0,i=Math.ceil((this.bufferOff+t.length)/this.blockSize)-1,f=new Array(i*this.blockSize);i>0;i--)e+=this._buffer(t,e),r+=this._flushBuffer(f,r);return e+=this._buffer(t,e),f},Cipher.prototype.final=function(t){var e,r;return t&&(e=this.update(t)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(r):r},Cipher.prototype._pad=function(t,e){if(0===e)return!1;for(;e<t.length;)t[e++]=0;return!0},Cipher.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var t=new Array(this.blockSize);return this._update(this.buffer,0,t,0),t},Cipher.prototype._unpad=function(t){return t},Cipher.prototype._finalDecrypt=function(){assert.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var t=new Array(this.blockSize);return this._flushBuffer(t,0),this._unpad(t)};
},{"minimalistic-assert":107}],62:[function(require,module,exports){
"use strict";var assert=require("minimalistic-assert"),inherits=require("inherits"),des=require("../des"),utils=des.utils,Cipher=des.Cipher;function DESState(){this.tmp=new Array(2),this.keys=null}function DES(t){Cipher.call(this,t);var e=new DESState;this._desState=e,this.deriveKeys(e,t.key)}inherits(DES,Cipher),module.exports=DES,DES.create=function(t){return new DES(t)};var shiftTable=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];DES.prototype.deriveKeys=function(t,e){t.keys=new Array(32),assert.equal(e.length,this.blockSize,"Invalid key length");var r=utils.readUInt32BE(e,0),s=utils.readUInt32BE(e,4);utils.pc1(r,s,t.tmp,0),r=t.tmp[0],s=t.tmp[1];for(var i=0;i<t.keys.length;i+=2){var n=shiftTable[i>>>1];r=utils.r28shl(r,n),s=utils.r28shl(s,n),utils.pc2(r,s,t.keys,i)}},DES.prototype._update=function(t,e,r,s){var i=this._desState,n=utils.readUInt32BE(t,e),p=utils.readUInt32BE(t,e+4);utils.ip(n,p,i.tmp,0),n=i.tmp[0],p=i.tmp[1],"encrypt"===this.type?this._encrypt(i,n,p,i.tmp,0):this._decrypt(i,n,p,i.tmp,0),n=i.tmp[0],p=i.tmp[1],utils.writeUInt32BE(r,n,s),utils.writeUInt32BE(r,p,s+4)},DES.prototype._pad=function(t,e){for(var r=t.length-e,s=e;s<t.length;s++)t[s]=r;return!0},DES.prototype._unpad=function(t){for(var e=t[t.length-1],r=t.length-e;r<t.length;r++)assert.equal(t[r],e);return t.slice(0,t.length-e)},DES.prototype._encrypt=function(t,e,r,s,i){for(var n=e,p=r,u=0;u<t.keys.length;u+=2){var l=t.keys[u],a=t.keys[u+1];utils.expand(p,t.tmp,0),l^=t.tmp[0],a^=t.tmp[1];var h=utils.substitute(l,a),o=p;p=(n^utils.permute(h))>>>0,n=o}utils.rip(p,n,s,i)},DES.prototype._decrypt=function(t,e,r,s,i){for(var n=r,p=e,u=t.keys.length-2;u>=0;u-=2){var l=t.keys[u],a=t.keys[u+1];utils.expand(n,t.tmp,0),l^=t.tmp[0],a^=t.tmp[1];var h=utils.substitute(l,a),o=n;n=(p^utils.permute(h))>>>0,p=o}utils.rip(n,p,s,i)};
},{"../des":59,"inherits":102,"minimalistic-assert":107}],63:[function(require,module,exports){
"use strict";var assert=require("minimalistic-assert"),inherits=require("inherits"),des=require("../des"),Cipher=des.Cipher,DES=des.DES;function EDEState(e,t){assert.equal(t.length,24,"Invalid key length");var r=t.slice(0,8),p=t.slice(8,16),i=t.slice(16,24);this.ciphers="encrypt"===e?[DES.create({type:"encrypt",key:r}),DES.create({type:"decrypt",key:p}),DES.create({type:"encrypt",key:i})]:[DES.create({type:"decrypt",key:i}),DES.create({type:"encrypt",key:p}),DES.create({type:"decrypt",key:r})]}function EDE(e){Cipher.call(this,e);var t=new EDEState(this.type,this.options.key);this._edeState=t}inherits(EDE,Cipher),module.exports=EDE,EDE.create=function(e){return new EDE(e)},EDE.prototype._update=function(e,t,r,p){var i=this._edeState;i.ciphers[0]._update(e,t,r,p),i.ciphers[1]._update(r,p,r,p),i.ciphers[2]._update(r,p,r,p)},EDE.prototype._pad=DES.prototype._pad,EDE.prototype._unpad=DES.prototype._unpad;
},{"../des":59,"inherits":102,"minimalistic-assert":107}],64:[function(require,module,exports){
"use strict";exports.readUInt32BE=function(r,o){return(r[0+o]<<24|r[1+o]<<16|r[2+o]<<8|r[3+o])>>>0},exports.writeUInt32BE=function(r,o,t){r[0+t]=o>>>24,r[1+t]=o>>>16&255,r[2+t]=o>>>8&255,r[3+t]=255&o},exports.ip=function(r,o,t,e){for(var f=0,n=0,a=6;a>=0;a-=2){for(var p=0;p<=24;p+=8)f<<=1,f|=o>>>p+a&1;for(p=0;p<=24;p+=8)f<<=1,f|=r>>>p+a&1}for(a=6;a>=0;a-=2){for(p=1;p<=25;p+=8)n<<=1,n|=o>>>p+a&1;for(p=1;p<=25;p+=8)n<<=1,n|=r>>>p+a&1}t[e+0]=f>>>0,t[e+1]=n>>>0},exports.rip=function(r,o,t,e){for(var f=0,n=0,a=0;a<4;a++)for(var p=24;p>=0;p-=8)f<<=1,f|=o>>>p+a&1,f<<=1,f|=r>>>p+a&1;for(a=4;a<8;a++)for(p=24;p>=0;p-=8)n<<=1,n|=o>>>p+a&1,n<<=1,n|=r>>>p+a&1;t[e+0]=f>>>0,t[e+1]=n>>>0},exports.pc1=function(r,o,t,e){for(var f=0,n=0,a=7;a>=5;a--){for(var p=0;p<=24;p+=8)f<<=1,f|=o>>p+a&1;for(p=0;p<=24;p+=8)f<<=1,f|=r>>p+a&1}for(p=0;p<=24;p+=8)f<<=1,f|=o>>p+a&1;for(a=1;a<=3;a++){for(p=0;p<=24;p+=8)n<<=1,n|=o>>p+a&1;for(p=0;p<=24;p+=8)n<<=1,n|=r>>p+a&1}for(p=0;p<=24;p+=8)n<<=1,n|=r>>p+a&1;t[e+0]=f>>>0,t[e+1]=n>>>0},exports.r28shl=function(r,o){return r<<o&268435455|r>>>28-o};var pc2table=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];exports.pc2=function(r,o,t,e){for(var f=0,n=0,a=pc2table.length>>>1,p=0;p<a;p++)f<<=1,f|=r>>>pc2table[p]&1;for(p=a;p<pc2table.length;p++)n<<=1,n|=o>>>pc2table[p]&1;t[e+0]=f>>>0,t[e+1]=n>>>0},exports.expand=function(r,o,t){var e=0,f=0;e=(1&r)<<5|r>>>27;for(var n=23;n>=15;n-=4)e<<=6,e|=r>>>n&63;for(n=11;n>=3;n-=4)f|=r>>>n&63,f<<=6;f|=(31&r)<<1|r>>>31,o[t+0]=e>>>0,o[t+1]=f>>>0};var sTable=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];exports.substitute=function(r,o){for(var t=0,e=0;e<4;e++){t<<=4,t|=sTable[64*e+(r>>>18-6*e&63)]}for(e=0;e<4;e++){t<<=4,t|=sTable[256+64*e+(o>>>18-6*e&63)]}return t>>>0};var permuteTable=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];exports.permute=function(r){for(var o=0,t=0;t<permuteTable.length;t++)o<<=1,o|=r>>>permuteTable[t]&1;return o>>>0},exports.padSplit=function(r,o,t){for(var e=r.toString(2);e.length<o;)e="0"+e;for(var f=[],n=0;n<o;n+=t)f.push(e.slice(n,n+t));return f.join(" ")};
},{}],65:[function(require,module,exports){
(function (Buffer){
var generatePrime=require("./lib/generatePrime"),primes=require("./lib/primes.json"),DH=require("./lib/dh");function getDiffieHellman(e){var r=Buffer.from(promes[e].prime,"hex"),f=Buffer.from(primes[e].gen,"hex");return new DH(r,f)}var ENCODINGS={binary:!0,hex:!0,base64:!0};function createDiffieHellman(e,r,f,i){return Buffer.isBuffer(r)||void 0===ENCODINGS[r]?createDiffieHellman(e,"binary",r,f):(r=r||"binary",i=i||"binary",f=f||Buffer.from([2]),Buffer.isBuffer(f)||(f=Buffer.from(f,i)),"number"==typeof e?new DH(generatePrime(e,f),f,!0):(Buffer.isBuffer(e)||(e=Buffer.from(e,r)),new DH(e,f,!0)))}exports.DiffieHellmanGroup=exports.createDiffieHellmanGroup=exports.getDiffieHellman=getDiffieHellman,exports.createDiffieHellman=exports.DiffieHellman=createDiffieHellman;
}).call(this,require("buffer").Buffer)
},{"./lib/dh":66,"./lib/generatePrime":67,"./lib/primes.json":68,"buffer":50}],66:[function(require,module,exports){
(function (Buffer){
var BN=require("bn.js"),MillerRabin=require("miller-rabin"),millerRabin=new MillerRabin,TWENTYFOUR=new BN(24),ELEVEN=new BN(11),TEN=new BN(10),THREE=new BN(3),SEVEN=new BN(7),primes=require("./generatePrime"),randomBytes=require("randombytes");function setPublicKey(e,r){return r=r||"utf8",Buffer.isBuffer(e)||(e=Buffer.from(e,r)),this._pub=new BN(e),this}function setPrivateKey(e,r){return r=r||"utf8",Buffer.isBuffer(e)||(e=Buffer.from(e,r)),this._priv=new BN(e),this}module.exports=DH;var primeCache={};function checkPrime(e,r){var t=r.toString("hex"),i=[t,e.toString(16)].join("_");if(i in primeCache)return primeCache[i];var n,u=0;if(e.isEven()||!primes.simpleSieve||!primes.fermatTest(e)||!millerRabin.test(e))return u+=1,u+="02"===t||"05"===t?8:4,primeCache[i]=u,u;switch(millerRabin.test(e.shrn(1))||(u+=2),t){case"02":e.mod(TWENTYFOUR).cmp(ELEVEN)&&(u+=8);break;case"05":(n=e.mod(TEN)).cmp(THREE)&&n.cmp(SEVEN)&&(u+=8);break;default:u+=4}return primeCache[i]=u,u}function DH(e,r,t){this.setGenerator(r),this.__prime=new BN(e),this._prime=BN.mont(this.__prime),this._primeLen=e.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,t?(this.setPublicKey=setPublicKey,this.setPrivateKey=setPrivateKey):this._primeCode=8}function formatReturnValue(e,r){var t=Buffer.from(e.toArray());return r?t.toString(r):t}Object.defineProperty(DH.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=checkPrime(this.__prime,this.__gen)),this._primeCode}}),DH.prototype.generateKeys=function(){return this._priv||(this._priv=new BN(randomBytes(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},DH.prototype.computeSecret=function(e){var r=(e=(e=new BN(e)).toRed(this._prime)).redPow(this._priv).fromRed(),t=Buffer.from(r.toArray()),i=this.getPrime();if(t.length<i.length){var n=Buffer.alloc(i.length-t.length);n.fill(0),t=Buffer.concat([n,t])}return t},DH.prototype.getPublicKey=function(e){return formatReturnValue(this._pub,e)},DH.prototype.getPrivateKey=function(e){return formatReturnValue(this._priv,e)},DH.prototype.getPrime=function(e){return formatReturnValue(this.__prime,e)},DH.prototype.getGenerator=function(e){return formatReturnValue(this._gen,e)},DH.prototype.setGenerator=function(e,r){return r=r||"utf8",Buffer.isBuffer(e)||(e=Buffer.from(e,r)),this.__gen=e,this._gen=new BN(e),this};
}).call(this,require("buffer").Buffer)
},{"./generatePrime":67,"bn.js":18,"buffer":50,"miller-rabin":106,"randombytes":128}],67:[function(require,module,exports){
var randomBytes=require("randombytes");module.exports=findPrime,findPrime.simpleSieve=simpleSieve,findPrime.fermatTest=fermatTest;var BN=require("bn.js"),TWENTYFOUR=new BN(24),MillerRabin=require("miller-rabin"),millerRabin=new MillerRabin,ONE=new BN(1),TWO=new BN(2),FIVE=new BN(5),SIXTEEN=new BN(16),EIGHT=new BN(8),TEN=new BN(10),THREE=new BN(3),SEVEN=new BN(7),ELEVEN=new BN(11),FOUR=new BN(4),TWELVE=new BN(12),primes=null;function _getPrimes(){if(null!==primes)return primes;var e=[];e[0]=2;for(var r=1,i=3;i<1048576;i+=2){for(var n=Math.ceil(Math.sqrt(i)),t=0;t<r&&e[t]<=n&&i%e[t]!=0;t++);r!==t&&e[t]<=n||(e[r++]=i)}return primes=e,e}function simpleSieve(e){for(var r=_getPrimes(),i=0;i<r.length;i++)if(0===e.modn(r[i]))return 0===e.cmpn(r[i]);return!0}function fermatTest(e){var r=BN.mont(e);return 0===TWO.toRed(r).redPow(e.subn(1)).fromRed().cmpn(1)}function findPrime(e,r){if(e<16)return new BN(2===r||5===r?[140,123]:[140,39]);var i,n;for(r=new BN(r);;){for(i=new BN(randomBytes(Math.ceil(e/8)));i.bitLength()>e;)i.ishrn(1);if(i.isEven()&&i.iadd(ONE),i.testn(1)||i.iadd(TWO),r.cmp(TWO)){if(!r.cmp(FIVE))for(;i.mod(TEN).cmp(THREE);)i.iadd(FOUR)}else for(;i.mod(TWENTYFOUR).cmp(ELEVEN);)i.iadd(FOUR);if(simpleSieve(n=i.shrn(1))&&simpleSieve(i)&&fermatTest(n)&&fermatTest(i)&&millerRabin.test(n)&&millerRabin.test(i))return i}}
},{"bn.js":18,"miller-rabin":106,"randombytes":128}],68:[function(require,module,exports){
module.exports={
"modp1": {
"gen": "02",
"prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"
},
"modp2": {
"gen": "02",
"prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"
},
"modp5": {
"gen": "02",
"prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"
},
"modp14": {
"gen": "02",
"prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"
},
"modp15": {
"gen": "02",
"prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"
},
"modp16": {
"gen": "02",
"prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"
},
"modp17": {
"gen": "02",
"prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"
},
"modp18": {
"gen": "02",
"prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"
}
}
},{}],69:[function(require,module,exports){
"use strict";var elliptic=exports;elliptic.version=require("../package.json").version,elliptic.utils=require("./elliptic/utils"),elliptic.rand=require("brorand"),elliptic.curve=require("./elliptic/curve"),elliptic.curves=require("./elliptic/curves"),elliptic.ec=require("./elliptic/ec"),elliptic.eddsa=require("./elliptic/eddsa");
},{"../package.json":84,"./elliptic/curve":72,"./elliptic/curves":75,"./elliptic/ec":76,"./elliptic/eddsa":79,"./elliptic/utils":83,"brorand":19}],70:[function(require,module,exports){
"use strict";var BN=require("bn.js"),elliptic=require("../../elliptic"),utils=elliptic.utils,getNAF=utils.getNAF,getJSF=utils.getJSF,assert=utils.assert;function BaseCurve(t,e){this.type=t,this.p=new BN(e.p,16),this.red=e.prime?BN.red(e.prime):BN.mont(this.p),this.zero=new BN(0).toRed(this.red),this.one=new BN(1).toRed(this.red),this.two=new BN(2).toRed(this.red),this.n=e.n&&new BN(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4);var n=this.n&&this.p.div(this.n);!n||n.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function BasePoint(t,e){this.curve=t,this.type=e,this.precomputed=null}module.exports=BaseCurve,BaseCurve.prototype.point=function(){throw new Error("Not implemented")},BaseCurve.prototype.validate=function(){throw new Error("Not implemented")},BaseCurve.prototype._fixedNafMul=function(t,e){assert(t.precomputed);var n=t._getDoubles(),r=getNAF(e,1),i=(1<<n.step+1)-(n.step%2==0?2:1);i/=3;for(var o=[],s=0;s<r.length;s+=n.step){var a=0;for(e=s+n.step-1;e>=s;e--)a=(a<<1)+r[e];o.push(a)}for(var p=this.jpoint(null,null,null),u=this.jpoint(null,null,null),d=i;d>0;d--){for(s=0;s<o.length;s++){(a=o[s])===d?u=u.mixedAdd(n.points[s]):a===-d&&(u=u.mixedAdd(n.points[s].neg()))}p=p.add(u)}return p.toP()},BaseCurve.prototype._wnafMul=function(t,e){var n=4,r=t._getNAFPoints(n);n=r.wnd;for(var i=r.points,o=getNAF(e,n),s=this.jpoint(null,null,null),a=o.length-1;a>=0;a--){for(e=0;a>=0&&0===o[a];a--)e++;if(a>=0&&e++,s=s.dblp(e),a<0)break;var p=o[a];assert(0!==p),s="affine"===t.type?p>0?s.mixedAdd(i[p-1>>1]):s.mixedAdd(i[-p-1>>1].neg()):p>0?s.add(i[p-1>>1]):s.add(i[-p-1>>1].neg())}return"affine"===t.type?s.toP():s},BaseCurve.prototype._wnafMulAdd=function(t,e,n,r,i){for(var o=this._wnafT1,s=this._wnafT2,a=this._wnafT3,p=0,u=0;u<r;u++){var d=(N=e[u])._getNAFPoints(t);o[u]=d.wnd,s[u]=d.points}for(u=r-1;u>=1;u-=2){var l=u-1,h=u;if(1===o[l]&&1===o[h]){var f=[e[l],null,null,e[h]];0===e[l].y.cmp(e[h].y)?(f[1]=e[l].add(e[h]),f[2]=e[l].toJ().mixedAdd(e[h].neg())):0===e[l].y.cmp(e[h].y.redNeg())?(f[1]=e[l].toJ().mixedAdd(e[h]),f[2]=e[l].add(e[h].neg())):(f[1]=e[l].toJ().mixedAdd(e[h]),f[2]=e[l].toJ().mixedAdd(e[h].neg()));var c=[-3,-1,-5,-7,0,7,5,1,3],g=getJSF(n[l],n[h]);p=Math.max(g[0].length,p),a[l]=new Array(p),a[h]=new Array(p);for(var v=0;v<p;v++){var m=0|g[0][v],y=0|g[1][v];a[l][v]=c[3*(m+1)+(y+1)],a[h][v]=0,s[l]=f}}else a[l]=getNAF(n[l],o[l]),a[h]=getNAF(n[h],o[h]),p=Math.max(a[l].length,p),p=Math.max(a[h].length,p)}var w=this.jpoint(null,null,null),B=this._wnafT4;for(u=p;u>=0;u--){for(var A=0;u>=0;){var b=!0;for(v=0;v<r;v++)B[v]=0|a[v][u],0!==B[v]&&(b=!1);if(!b)break;A++,u--}if(u>=0&&A++,w=w.dblp(A),u<0)break;for(v=0;v<r;v++){var N,_=B[v];0!==_&&(_>0?N=s[v][_-1>>1]:_<0&&(N=s[v][-_-1>>1].neg()),w="affine"===N.type?w.mixedAdd(N):w.add(N))}}for(u=0;u<r;u++)s[u]=null;return i?w:w.toP()},BaseCurve.BasePoint=BasePoint,BasePoint.prototype.eq=function(){throw new Error("Not implemented")},BasePoint.prototype.validate=function(){return this.curve.validate(this)},BaseCurve.prototype.decodePoint=function(t,e){t=utils.toArray(t,e);var n=this.p.byteLength();if((4===t[0]||6===t[0]||7===t[0])&&t.length-1==2*n)return 6===t[0]?assert(t[t.length-1]%2==0):7===t[0]&&assert(t[t.length-1]%2==1),this.point(t.slice(1,1+n),t.slice(1+n,1+2*n));if((2===t[0]||3===t[0])&&t.length-1===n)return this.pointFromX(t.slice(1,1+n),3===t[0]);throw new Error("Unknown point format")},BasePoint.prototype.encodeCompressed=function(t){return this.encode(t,!0)},BasePoint.prototype._encode=function(t){var e=this.curve.p.byteLength(),n=this.getX().toArray("be",e);return t?[this.getY().isEven()?2:3].concat(n):[4].concat(n,this.getY().toArray("be",e))},BasePoint.prototype.encode=function(t,e){return utils.encode(this._encode(e),t)},BasePoint.prototype.precompute=function(t){if(this.precomputed)return this;var e={doubles:null,naf:null,beta:null};return e.naf=this._getNAFPoints(8),e.doubles=this._getDoubles(4,t),e.beta=this._getBeta(),this.precomputed=e,this},BasePoint.prototype._hasDoubles=function(t){if(!this.precomputed)return!1;var e=this.precomputed.doubles;return!!e&&e.points.length>=Math.ceil((t.bitLength()+1)/e.step)},BasePoint.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],r=this,i=0;i<e;i+=t){for(var o=0;o<t;o++)r=r.dbl();n.push(r)}return{step:t,points:n}},BasePoint.prototype._getNAFPoints=function(t){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var e=[this],n=(1<<t)-1,r=1===n?null:this.dbl(),i=1;i<n;i++)e[i]=e[i-1].add(r);return{wnd:t,points:e}},BasePoint.prototype._getBeta=function(){return null},BasePoint.prototype.dblp=function(t){for(var e=this,n=0;n<t;n++)e=e.dbl();return e};
},{"../../elliptic":69,"bn.js":18}],71:[function(require,module,exports){
"use strict";var curve=require("../curve"),elliptic=require("../../elliptic"),BN=require("bn.js"),inherits=require("inherits"),Base=curve.base,assert=elliptic.utils.assert;function EdwardsCurve(t){this.twisted=1!=(0|t.a),this.mOneA=this.twisted&&-1==(0|t.a),this.extended=this.mOneA,Base.call(this,"edwards",t),this.a=new BN(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new BN(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new BN(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),assert(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|t.c)}function Point(t,r,e,i,d){Base.BasePoint.call(this,t,"projective"),null===r&&null===e&&null===i?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new BN(r,16),this.y=new BN(e,16),this.z=i?new BN(i,16):this.curve.one,this.t=d&&new BN(d,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}inherits(EdwardsCurve,Base),module.exports=EdwardsCurve,EdwardsCurve.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},EdwardsCurve.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},EdwardsCurve.prototype.jpoint=function(t,r,e,i){return this.point(t,r,e,i)},EdwardsCurve.prototype.pointFromX=function(t,r){(t=new BN(t,16)).red||(t=t.toRed(this.red));var e=t.redSqr(),i=this.c2.redSub(this.a.redMul(e)),d=this.one.redSub(this.c2.redMul(this.d).redMul(e)),s=i.redMul(d.redInvm()),u=s.redSqrt();if(0!==u.redSqr().redSub(s).cmp(this.zero))throw new Error("invalid point");var n=u.fromRed().isOdd();return(r&&!n||!r&&n)&&(u=u.redNeg()),this.point(t,u)},EdwardsCurve.prototype.pointFromY=function(t,r){(t=new BN(t,16)).red||(t=t.toRed(this.red));var e=t.redSqr(),i=e.redSub(this.c2),d=e.redMul(this.d).redMul(this.c2).redSub(this.a),s=i.redMul(d.redInvm());if(0===s.cmp(this.zero)){if(r)throw new Error("invalid point");return this.point(this.zero,t)}var u=s.redSqrt();if(0!==u.redSqr().redSub(s).cmp(this.zero))throw new Error("invalid point");return u.fromRed().isOdd()!==r&&(u=u.redNeg()),this.point(u,t)},EdwardsCurve.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var r=t.x.redSqr(),e=t.y.redSqr(),i=r.redMul(this.a).redAdd(e),d=this.c2.redMul(this.one.redAdd(this.d.redMul(r).redMul(e)));return 0===i.cmp(d)},inherits(Point,Base.BasePoint),EdwardsCurve.prototype.pointFromJSON=function(t){return Point.fromJSON(this,t)},EdwardsCurve.prototype.point=function(t,r,e,i){return new Point(this,t,r,e,i)},Point.fromJSON=function(t,r){return new Point(t,r[0],r[1],r[2])},Point.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Point.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},Point.prototype._extDbl=function(){var t=this.x.redSqr(),r=this.y.redSqr(),e=this.z.redSqr();e=e.redIAdd(e);var i=this.curve._mulA(t),d=this.x.redAdd(this.y).redSqr().redISub(t).redISub(r),s=i.redAdd(r),u=s.redSub(e),n=i.redSub(r),h=d.redMul(u),o=s.redMul(n),l=d.redMul(n),c=u.redMul(s);return this.curve.point(h,o,c,l)},Point.prototype._projDbl=function(){var t,r,e,i=this.x.redAdd(this.y).redSqr(),d=this.x.redSqr(),s=this.y.redSqr();if(this.curve.twisted){var u=(o=this.curve._mulA(d)).redAdd(s);if(this.zOne)t=i.redSub(d).redSub(s).redMul(u.redSub(this.curve.two)),r=u.redMul(o.redSub(s)),e=u.redSqr().redSub(u).redSub(u);else{var n=this.z.redSqr(),h=u.redSub(n).redISub(n);t=i.redSub(d).redISub(s).redMul(h),r=u.redMul(o.redSub(s)),e=u.redMul(h)}}else{var o=d.redAdd(s);n=this.curve._mulC(this.z).redSqr(),h=o.redSub(n).redSub(n);t=this.curve._mulC(i.redISub(o)).redMul(h),r=this.curve._mulC(o).redMul(d.redISub(s)),e=o.redMul(h)}return this.curve.point(t,r,e)},Point.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},Point.prototype._extAdd=function(t){var r=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),e=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),i=this.t.redMul(this.curve.dd).redMul(t.t),d=this.z.redMul(t.z.redAdd(t.z)),s=e.redSub(r),u=d.redSub(i),n=d.redAdd(i),h=e.redAdd(r),o=s.redMul(u),l=n.redMul(h),c=s.redMul(h),p=u.redMul(n);return this.curve.point(o,l,p,c)},Point.prototype._projAdd=function(t){var r,e,i=this.z.redMul(t.z),d=i.redSqr(),s=this.x.redMul(t.x),u=this.y.redMul(t.y),n=this.curve.d.redMul(s).redMul(u),h=d.redSub(n),o=d.redAdd(n),l=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(s).redISub(u),c=i.redMul(h).redMul(l);return this.curve.twisted?(r=i.redMul(o).redMul(u.redSub(this.curve._mulA(s))),e=h.redMul(o)):(r=i.redMul(o).redMul(u.redSub(s)),e=this.curve._mulC(h).redMul(o)),this.curve.point(c,r,e)},Point.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},Point.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},Point.prototype.mulAdd=function(t,r,e){return this.curve._wnafMulAdd(1,[this,r],[t,e],2,!1)},Point.prototype.jmulAdd=function(t,r,e){return this.curve._wnafMulAdd(1,[this,r],[t,e],2,!0)},Point.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},Point.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Point.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Point.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},Point.prototype.eqXToP=function(t){var r=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(r))return!0;for(var e=t.clone(),i=this.curve.redN.redMul(this.z);;){if(e.iadd(this.curve.n),e.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},Point.prototype.toP=Point.prototype.normalize,Point.prototype.mixedAdd=Point.prototype.add;
},{"../../elliptic":69,"../curve":72,"bn.js":18,"inherits":102}],72:[function(require,module,exports){
"use strict";var curve=exports;curve.base=require("./base"),curve.short=require("./short"),curve.mont=require("./mont"),curve.edwards=require("./edwards");
},{"./base":70,"./edwards":71,"./mont":73,"./short":74}],73:[function(require,module,exports){
"use strict";var curve=require("../curve"),BN=require("bn.js"),inherits=require("inherits"),Base=curve.base,elliptic=require("../../elliptic"),utils=elliptic.utils;function MontCurve(t){Base.call(this,"mont",t),this.a=new BN(t.a,16).toRed(this.red),this.b=new BN(t.b,16).toRed(this.red),this.i4=new BN(4).toRed(this.red).redInvm(),this.two=new BN(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function Point(t,r,e){Base.BasePoint.call(this,t,"projective"),null===r&&null===e?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new BN(r,16),this.z=new BN(e,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}inherits(MontCurve,Base),module.exports=MontCurve,MontCurve.prototype.validate=function(t){var r=t.normalize().x,e=r.redSqr(),i=e.redMul(r).redAdd(e.redMul(this.a)).redAdd(r);return 0===i.redSqrt().redSqr().cmp(i)},inherits(Point,Base.BasePoint),MontCurve.prototype.decodePoint=function(t,r){return this.point(utils.toArray(t,r),1)},MontCurve.prototype.point=function(t,r){return new Point(this,t,r)},MontCurve.prototype.pointFromJSON=function(t){return Point.fromJSON(this,t)},Point.prototype.precompute=function(){},Point.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},Point.fromJSON=function(t,r){return new Point(t,r[0],r[1]||t.one)},Point.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Point.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},Point.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),r=this.x.redSub(this.z).redSqr(),e=t.redSub(r),i=t.redMul(r),o=e.redMul(r.redAdd(this.curve.a24.redMul(e)));return this.curve.point(i,o)},Point.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},Point.prototype.diffAdd=function(t,r){var e=this.x.redAdd(this.z),i=this.x.redSub(this.z),o=t.x.redAdd(t.z),n=t.x.redSub(t.z).redMul(e),u=o.redMul(i),d=r.z.redMul(n.redAdd(u).redSqr()),s=r.x.redMul(n.redISub(u).redSqr());return this.curve.point(d,s)},Point.prototype.mul=function(t){for(var r=t.clone(),e=this,i=this.curve.point(null,null),o=[];0!==r.cmpn(0);r.iushrn(1))o.push(r.andln(1));for(var n=o.length-1;n>=0;n--)0===o[n]?(e=e.diffAdd(i,this),i=i.dbl()):(i=e.diffAdd(i,this),e=e.dbl());return i},Point.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},Point.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},Point.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},Point.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()};
},{"../../elliptic":69,"../curve":72,"bn.js":18,"inherits":102}],74:[function(require,module,exports){
"use strict";var curve=require("../curve"),elliptic=require("../../elliptic"),BN=require("bn.js"),inherits=require("inherits"),Base=curve.base,assert=elliptic.utils.assert;function ShortCurve(r){Base.call(this,"short",r),this.a=new BN(r.a,16).toRed(this.red),this.b=new BN(r.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(r),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function Point(r,e,t,d){Base.BasePoint.call(this,r,"affine"),null===e&&null===t?(this.x=null,this.y=null,this.inf=!0):(this.x=new BN(e,16),this.y=new BN(t,16),d&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function JPoint(r,e,t,d){Base.BasePoint.call(this,r,"jacobian"),null===e&&null===t&&null===d?(this.x=this.curve.one,this.y=this.curve.one,this.z=new BN(0)):(this.x=new BN(e,16),this.y=new BN(t,16),this.z=new BN(d,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}inherits(ShortCurve,Base),module.exports=ShortCurve,ShortCurve.prototype._getEndomorphism=function(r){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,t;if(r.beta)e=new BN(r.beta,16).toRed(this.red);else{var d=this._getEndoRoots(this.p);e=(e=d[0].cmp(d[1])<0?d[0]:d[1]).toRed(this.red)}if(r.lambda)t=new BN(r.lambda,16);else{var i=this._getEndoRoots(this.n);0===this.g.mul(i[0]).x.cmp(this.g.x.redMul(e))?t=i[0]:(t=i[1],assert(0===this.g.mul(t).x.cmp(this.g.x.redMul(e))))}return{beta:e,lambda:t,basis:r.basis?r.basis.map(function(r){return{a:new BN(r.a,16),b:new BN(r.b,16)}}):this._getEndoBasis(t)}}},ShortCurve.prototype._getEndoRoots=function(r){var e=r===this.p?this.red:BN.mont(r),t=new BN(2).toRed(e).redInvm(),d=t.redNeg(),i=new BN(3).toRed(e).redNeg().redSqrt().redMul(t);return[d.redAdd(i).fromRed(),d.redSub(i).fromRed()]},ShortCurve.prototype._getEndoBasis=function(r){for(var e,t,d,i,n,u,s,o,h,l=this.n.ushrn(Math.floor(this.n.bitLength()/2)),p=r,a=this.n.clone(),c=new BN(1),f=new BN(0),v=new BN(0),S=new BN(1),b=0;0!==p.cmpn(0);){var I=a.div(p);o=a.sub(I.mul(p)),h=v.sub(I.mul(c));var y=S.sub(I.mul(f));if(!d&&o.cmp(l)<0)e=s.neg(),t=c,d=o.neg(),i=h;else if(d&&2==++b)break;s=o,a=p,p=o,v=c,c=h,S=f,f=y}n=o.neg(),u=h;var A=d.sqr().add(i.sqr());return n.sqr().add(u.sqr()).cmp(A)>=0&&(n=e,u=t),d.negative&&(d=d.neg(),i=i.neg()),n.negative&&(n=n.neg(),u=u.neg()),[{a:d,b:i},{a:n,b:u}]},ShortCurve.prototype._endoSplit=function(r){var e=this.endo.basis,t=e[0],d=e[1],i=d.b.mul(r).divRound(this.n),n=t.b.neg().mul(r).divRound(this.n),u=i.mul(t.a),s=n.mul(d.a),o=i.mul(t.b),h=n.mul(d.b);return{k1:r.sub(u).sub(s),k2:o.add(h).neg()}},ShortCurve.prototype.pointFromX=function(r,e){(r=new BN(r,16)).red||(r=r.toRed(this.red));var t=r.redSqr().redMul(r).redIAdd(r.redMul(this.a)).redIAdd(this.b),d=t.redSqrt();if(0!==d.redSqr().redSub(t).cmp(this.zero))throw new Error("invalid point");var i=d.fromRed().isOdd();return(e&&!i||!e&&i)&&(d=d.redNeg()),this.point(r,d)},ShortCurve.prototype.validate=function(r){if(r.inf)return!0;var e=r.x,t=r.y,d=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(d).redIAdd(this.b);return 0===t.redSqr().redISub(i).cmpn(0)},ShortCurve.prototype._endoWnafMulAdd=function(r,e,t){for(var d=this._endoWnafT1,i=this._endoWnafT2,n=0;n<r.length;n++){var u=this._endoSplit(e[n]),s=r[n],o=s._getBeta();u.k1.negative&&(u.k1.ineg(),s=s.neg(!0)),u.k2.negative&&(u.k2.ineg(),o=o.neg(!0)),d[2*n]=s,d[2*n+1]=o,i[2*n]=u.k1,i[2*n+1]=u.k2}for(var h=this._wnafMulAdd(1,d,i,2*n,t),l=0;l<2*n;l++)d[l]=null,i[l]=null;return h},inherits(Point,Base.BasePoint),ShortCurve.prototype.point=function(r,e,t){return new Point(this,r,e,t)},ShortCurve.prototype.pointFromJSON=function(r,e){return Point.fromJSON(this,r,e)},Point.prototype._getBeta=function(){if(this.curve.endo){var r=this.precomputed;if(r&&r.beta)return r.beta;var e=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(r){var t=this.curve,d=function(r){return t.point(r.x.redMul(t.endo.beta),r.y)};r.beta=e,e.precomputed={beta:null,naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(d)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(d)}}}return e}},Point.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},Point.fromJSON=function(r,e,t){"string"==typeof e&&(e=JSON.parse(e));var d=r.point(e[0],e[1],t);if(!e[2])return d;function i(e){return r.point(e[0],e[1],t)}var n=e[2];return d.precomputed={beta:null,doubles:n.doubles&&{step:n.doubles.step,points:[d].concat(n.doubles.points.map(i))},naf:n.naf&&{wnd:n.naf.wnd,points:[d].concat(n.naf.points.map(i))}},d},Point.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},Point.prototype.isInfinity=function(){return this.inf},Point.prototype.add=function(r){if(this.inf)return r;if(r.inf)return this;if(this.eq(r))return this.dbl();if(this.neg().eq(r))return this.curve.point(null,null);if(0===this.x.cmp(r.x))return this.curve.point(null,null);var e=this.y.redSub(r.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(r.x).redInvm()));var t=e.redSqr().redISub(this.x).redISub(r.x),d=e.redMul(this.x.redSub(t)).redISub(this.y);return this.curve.point(t,d)},Point.prototype.dbl=function(){if(this.inf)return this;var r=this.y.redAdd(this.y);if(0===r.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,t=this.x.redSqr(),d=r.redInvm(),i=t.redAdd(t).redIAdd(t).redIAdd(e).redMul(d),n=i.redSqr().redISub(this.x.redAdd(this.x)),u=i.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,u)},Point.prototype.getX=function(){return this.x.fromRed()},Point.prototype.getY=function(){return this.y.fromRed()},Point.prototype.mul=function(r){return r=new BN(r,16),this._hasDoubles(r)?this.curve._fixedNafMul(this,r):this.curve.endo?this.curve._endoWnafMulAdd([this],[r]):this.curve._wnafMul(this,r)},Point.prototype.mulAdd=function(r,e,t){var d=[this,e],i=[r,t];return this.curve.endo?this.curve._endoWnafMulAdd(d,i):this.curve._wnafMulAdd(1,d,i,2)},Point.prototype.jmulAdd=function(r,e,t){var d=[this,e],i=[r,t];return this.curve.endo?this.curve._endoWnafMulAdd(d,i,!0):this.curve._wnafMulAdd(1,d,i,2,!0)},Point.prototype.eq=function(r){return this===r||this.inf===r.inf&&(this.inf||0===this.x.cmp(r.x)&&0===this.y.cmp(r.y))},Point.prototype.neg=function(r){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(r&&this.precomputed){var t=this.precomputed,d=function(r){return r.neg()};e.precomputed={naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(d)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(d)}}}return e},Point.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},inherits(JPoint,Base.BasePoint),ShortCurve.prototype.jpoint=function(r,e,t){return new JPoint(this,r,e,t)},JPoint.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var r=this.z.redInvm(),e=r.redSqr(),t=this.x.redMul(e),d=this.y.redMul(e).redMul(r);return this.curve.point(t,d)},JPoint.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},JPoint.prototype.add=function(r){if(this.isInfinity())return r;if(r.isInfinity())return this;var e=r.z.redSqr(),t=this.z.redSqr(),d=this.x.redMul(e),i=r.x.redMul(t),n=this.y.redMul(e.redMul(r.z)),u=r.y.redMul(t.redMul(this.z)),s=d.redSub(i),o=n.redSub(u);if(0===s.cmpn(0))return 0!==o.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h=s.redSqr(),l=h.redMul(s),p=d.redMul(h),a=o.redSqr().redIAdd(l).redISub(p).redISub(p),c=o.redMul(p.redISub(a)).redISub(n.redMul(l)),f=this.z.redMul(r.z).redMul(s);return this.curve.jpoint(a,c,f)},JPoint.prototype.mixedAdd=function(r){if(this.isInfinity())return r.toJ();if(r.isInfinity())return this;var e=this.z.redSqr(),t=this.x,d=r.x.redMul(e),i=this.y,n=r.y.redMul(e).redMul(this.z),u=t.redSub(d),s=i.redSub(n);if(0===u.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var o=u.redSqr(),h=o.redMul(u),l=t.redMul(o),p=s.redSqr().redIAdd(h).redISub(l).redISub(l),a=s.redMul(l.redISub(p)).redISub(i.redMul(h)),c=this.z.redMul(u);return this.curve.jpoint(p,a,c)},JPoint.prototype.dblp=function(r){if(0===r)return this;if(this.isInfinity())return this;if(!r)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var e=this,t=0;t<r;t++)e=e.dbl();return e}var d=this.curve.a,i=this.curve.tinv,n=this.x,u=this.y,s=this.z,o=s.redSqr().redSqr(),h=u.redAdd(u);for(t=0;t<r;t++){var l=n.redSqr(),p=h.redSqr(),a=p.redSqr(),c=l.redAdd(l).redIAdd(l).redIAdd(d.redMul(o)),f=n.redMul(p),v=c.redSqr().redISub(f.redAdd(f)),S=f.redISub(v),b=c.redMul(S);b=b.redIAdd(b).redISub(a);var I=h.redMul(s);t+1<r&&(o=o.redMul(a)),n=v,s=I,h=b}return this.curve.jpoint(n,h.redMul(i),s)},JPoint.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},JPoint.prototype._zeroDbl=function(){var r,e,t;if(this.zOne){var d=this.x.redSqr(),i=this.y.redSqr(),n=i.redSqr(),u=this.x.redAdd(i).redSqr().redISub(d).redISub(n);u=u.redIAdd(u);var s=d.redAdd(d).redIAdd(d),o=s.redSqr().redISub(u).redISub(u),h=n.redIAdd(n);h=(h=h.redIAdd(h)).redIAdd(h),r=o,e=s.redMul(u.redISub(o)).redISub(h),t=this.y.redAdd(this.y)}else{var l=this.x.redSqr(),p=this.y.redSqr(),a=p.redSqr(),c=this.x.redAdd(p).redSqr().redISub(l).redISub(a);c=c.redIAdd(c);var f=l.redAdd(l).redIAdd(l),v=f.redSqr(),S=a.redIAdd(a);S=(S=S.redIAdd(S)).redIAdd(S),r=v.redISub(c).redISub(c),e=f.redMul(c.redISub(r)).redISub(S),t=(t=this.y.redMul(this.z)).redIAdd(t)}return this.curve.jpoint(r,e,t)},JPoint.prototype._threeDbl=function(){var r,e,t;if(this.zOne){var d=this.x.redSqr(),i=this.y.redSqr(),n=i.redSqr(),u=this.x.redAdd(i).redSqr().redISub(d).redISub(n);u=u.redIAdd(u);var s=d.redAdd(d).redIAdd(d).redIAdd(this.curve.a),o=s.redSqr().redISub(u).redISub(u);r=o;var h=n.redIAdd(n);h=(h=h.redIAdd(h)).redIAdd(h),e=s.redMul(u.redISub(o)).redISub(h),t=this.y.redAdd(this.y)}else{var l=this.z.redSqr(),p=this.y.redSqr(),a=this.x.redMul(p),c=this.x.redSub(l).redMul(this.x.redAdd(l));c=c.redAdd(c).redIAdd(c);var f=a.redIAdd(a),v=(f=f.redIAdd(f)).redAdd(f);r=c.redSqr().redISub(v),t=this.y.redAdd(this.z).redSqr().redISub(p).redISub(l);var S=p.redSqr();S=(S=(S=S.redIAdd(S)).redIAdd(S)).redIAdd(S),e=c.redMul(f.redISub(r)).redISub(S)}return this.curve.jpoint(r,e,t)},JPoint.prototype._dbl=function(){var r=this.curve.a,e=this.x,t=this.y,d=this.z,i=d.redSqr().redSqr(),n=e.redSqr(),u=t.redSqr(),s=n.redAdd(n).redIAdd(n).redIAdd(r.redMul(i)),o=e.redAdd(e),h=(o=o.redIAdd(o)).redMul(u),l=s.redSqr().redISub(h.redAdd(h)),p=h.redISub(l),a=u.redSqr();a=(a=(a=a.redIAdd(a)).redIAdd(a)).redIAdd(a);var c=s.redMul(p).redISub(a),f=t.redAdd(t).redMul(d);return this.curve.jpoint(l,c,f)},JPoint.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var r=this.x.redSqr(),e=this.y.redSqr(),t=this.z.redSqr(),d=e.redSqr(),i=r.redAdd(r).redIAdd(r),n=i.redSqr(),u=this.x.redAdd(e).redSqr().redISub(r).redISub(d),s=(u=(u=(u=u.redIAdd(u)).redAdd(u).redIAdd(u)).redISub(n)).redSqr(),o=d.redIAdd(d);o=(o=(o=o.redIAdd(o)).redIAdd(o)).redIAdd(o);var h=i.redIAdd(u).redSqr().redISub(n).redISub(s).redISub(o),l=e.redMul(h);l=(l=l.redIAdd(l)).redIAdd(l);var p=this.x.redMul(s).redISub(l);p=(p=p.redIAdd(p)).redIAdd(p);var a=this.y.redMul(h.redMul(o.redISub(h)).redISub(u.redMul(s)));a=(a=(a=a.redIAdd(a)).redIAdd(a)).redIAdd(a);var c=this.z.redAdd(u).redSqr().redISub(t).redISub(s);return this.curve.jpoint(p,a,c)},JPoint.prototype.mul=function(r,e){return r=new BN(r,e),this.curve._wnafMul(this,r)},JPoint.prototype.eq=function(r){if("affine"===r.type)return this.eq(r.toJ());if(this===r)return!0;var e=this.z.redSqr(),t=r.z.redSqr();if(0!==this.x.redMul(t).redISub(r.x.redMul(e)).cmpn(0))return!1;var d=e.redMul(this.z),i=t.redMul(r.z);return 0===this.y.redMul(i).redISub(r.y.redMul(d)).cmpn(0)},JPoint.prototype.eqXToP=function(r){var e=this.z.redSqr(),t=r.toRed(this.curve.red).redMul(e);if(0===this.x.cmp(t))return!0;for(var d=r.clone(),i=this.curve.redN.redMul(e);;){if(d.iadd(this.curve.n),d.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(i),0===this.x.cmp(t))return!0}},JPoint.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},JPoint.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};
},{"../../elliptic":69,"../curve":72,"bn.js":18,"inherits":102}],75:[function(require,module,exports){
"use strict";var pre,curves=exports,hash=require("hash.js"),elliptic=require("../elliptic"),assert=elliptic.utils.assert;function PresetCurve(f){"short"===f.type?this.curve=new elliptic.curve.short(f):"edwards"===f.type?this.curve=new elliptic.curve.edwards(f):this.curve=new elliptic.curve.mont(f),this.g=this.curve.g,this.n=this.curve.n,this.hash=f.hash,assert(this.g.validate(),"Invalid curve"),assert(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function defineCurve(f,e){Object.defineProperty(curves,f,{configurable:!0,enumerable:!0,get:function(){var a=new PresetCurve(e);return Object.defineProperty(curves,f,{configurable:!0,enumerable:!0,value:a}),a}})}curves.PresetCurve=PresetCurve,defineCurve("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:hash.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),defineCurve("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:hash.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),defineCurve("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:hash.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),defineCurve("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:hash.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),defineCurve("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:hash.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),defineCurve("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:hash.sha256,gRed:!1,g:["9"]}),defineCurve("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:hash.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{pre=require("./precomputed/secp256k1")}catch(f){pre=void 0}defineCurve("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:hash.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",pre]});
},{"../elliptic":69,"./precomputed/secp256k1":82,"hash.js":88}],76:[function(require,module,exports){
"use strict";var BN=require("bn.js"),HmacDRBG=require("hmac-drbg"),elliptic=require("../../elliptic"),utils=elliptic.utils,assert=utils.assert,KeyPair=require("./key"),Signature=require("./signature");function EC(e){if(!(this instanceof EC))return new EC(e);"string"==typeof e&&(assert(elliptic.curves.hasOwnProperty(e),"Unknown curve "+e),e=elliptic.curves[e]),e instanceof elliptic.curves.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}module.exports=EC,EC.prototype.keyPair=function(e){return new KeyPair(this,e)},EC.prototype.keyFromPrivate=function(e,t){return KeyPair.fromPrivate(this,e,t)},EC.prototype.keyFromPublic=function(e,t){return KeyPair.fromPublic(this,e,t)},EC.prototype.genKeyPair=function(e){e||(e={});for(var t=new HmacDRBG({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||elliptic.rand(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new BN(2));;){var i=new BN(t.generate(r));if(!(i.cmp(n)>0))return i.iaddn(1),this.keyFromPrivate(i)}},EC.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},EC.prototype.sign=function(e,t,r,n){"object"==typeof r&&(n=r,r=null),n||(n={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new BN(e,16));for(var i=this.n.byteLength(),s=t.getPrivate().toArray("be",i),u=e.toArray("be",i),o=new HmacDRBG({hash:this.hash,entropy:s,nonce:u,pers:n.pers,persEnc:n.persEnc||"utf8"}),c=this.n.sub(new BN(1)),h=0;;h++){var a=n.k?n.k(h):new BN(o.generate(this.n.byteLength()));if(!((a=this._truncateToN(a,!0)).cmpn(1)<=0||a.cmp(c)>=0)){var p=this.g.mul(a);if(!p.isInfinity()){var m=p.getX(),v=m.umod(this.n);if(0!==v.cmpn(0)){var y=a.invm(this.n).mul(v.mul(t.getPrivate()).iadd(e));if(0!==(y=y.umod(this.n)).cmpn(0)){var l=(p.getY().isOdd()?1:0)|(0!==m.cmp(v)?2:0);return n.canonical&&y.cmp(this.nh)>0&&(y=this.n.sub(y),l^=1),new Signature({r:v,s:y,recoveryParam:l})}}}}}},EC.prototype.verify=function(e,t,r,n){e=this._truncateToN(new BN(e,16)),r=this.keyFromPublic(r,n);var i=(t=new Signature(t,"hex")).r,s=t.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var u,o=s.invm(this.n),c=o.mul(e).umod(this.n),h=o.mul(i).umod(this.n);return this.curve._maxwellTrick?!(u=this.g.jmulAdd(c,r.getPublic(),h)).isInfinity()&&u.eqXToP(i):!(u=this.g.mulAdd(c,r.getPublic(),h)).isInfinity()&&0===u.getX().umod(this.n).cmp(i)},EC.prototype.recoverPubKey=function(e,t,r,n){assert((3&r)===r,"The recovery param is more than two bits"),t=new Signature(t,n);var i=this.n,s=new BN(e),u=t.r,o=t.s,c=1&r,h=r>>1;if(u.cmp(this.curve.p.umod(this.curve.n))>=0&&h)throw new Error("Unable to find sencond key candinate");u=h?this.curve.pointFromX(u.add(this.curve.n),c):this.curve.pointFromX(u,c);var a=t.r.invm(i),p=i.sub(s).mul(a).umod(i),m=o.mul(a).umod(i);return this.g.mulAdd(p,u,m)},EC.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new Signature(t,n)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var s;try{s=this.recoverPubKey(e,t,i)}catch(e){continue}if(s.eq(r))return i}throw new Error("Unable to find valid recovery factor")};
},{"../../elliptic":69,"./key":77,"./signature":78,"bn.js":18,"hmac-drbg":100}],77:[function(require,module,exports){
"use strict";var BN=require("bn.js"),elliptic=require("../../elliptic"),utils=elliptic.utils,assert=utils.assert;function KeyPair(i,t){this.ec=i,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}module.exports=KeyPair,KeyPair.fromPublic=function(i,t,e){return t instanceof KeyPair?t:new KeyPair(i,{pub:t,pubEnc:e})},KeyPair.fromPrivate=function(i,t,e){return t instanceof KeyPair?t:new KeyPair(i,{priv:t,privEnc:e})},KeyPair.prototype.validate=function(){var i=this.getPublic();return i.isInfinity()?{result:!1,reason:"Invalid public key"}:i.validate()?i.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},KeyPair.prototype.getPublic=function(i,t){return"string"==typeof i&&(t=i,i=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,i):this.pub},KeyPair.prototype.getPrivate=function(i){return"hex"===i?this.priv.toString(16,2):this.priv},KeyPair.prototype._importPrivate=function(i,t){this.priv=new BN(i,t||16),this.priv=this.priv.umod(this.ec.curve.n)},KeyPair.prototype._importPublic=function(i,t){if(i.x||i.y)return"mont"===this.ec.curve.type?assert(i.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||assert(i.x&&i.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(i.x,i.y));this.pub=this.ec.curve.decodePoint(i,t)},KeyPair.prototype.derive=function(i){return i.mul(this.priv).getX()},KeyPair.prototype.sign=function(i,t,e){return this.ec.sign(i,this,t,e)},KeyPair.prototype.verify=function(i,t){return this.ec.verify(i,t,this)},KeyPair.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};
},{"../../elliptic":69,"bn.js":18}],78:[function(require,module,exports){
"use strict";var BN=require("bn.js"),elliptic=require("../../elliptic"),utils=elliptic.utils,assert=utils.assert;function Signature(t,r){if(t instanceof Signature)return t;this._importDER(t,r)||(assert(t.r&&t.s,"Signature without r or s"),this.r=new BN(t.r,16),this.s=new BN(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}function Position(){this.place=0}function getLength(t,r){var e=t[r.place++];if(!(128&e))return e;for(var n=15&e,i=0,a=0,c=r.place;a<n;a++,c++)i<<=8,i|=t[c];return r.place=c,i}function rmPadding(t){for(var r=0,e=t.length-1;!t[r]&&!(128&t[r+1])&&r<e;)r++;return 0===r?t:t.slice(r)}function constructLength(t,r){if(r<128)t.push(r);else{var e=1+(Math.log(r)/Math.LN2>>>3);for(t.push(128|e);--e;)t.push(r>>>(e<<3)&255);t.push(r)}}module.exports=Signature,Signature.prototype._importDER=function(t,r){t=utils.toArray(t,r);var e=new Position;if(48!==t[e.place++])return!1;if(getLength(t,e)+e.place!==t.length)return!1;if(2!==t[e.place++])return!1;var n=getLength(t,e),i=t.slice(e.place,n+e.place);if(e.place+=n,2!==t[e.place++])return!1;var a=getLength(t,e);if(t.length!==a+e.place)return!1;var c=t.slice(e.place,a+e.place);return 0===i[0]&&128&i[1]&&(i=i.slice(1)),0===c[0]&&128&c[1]&&(c=c.slice(1)),this.r=new BN(i),this.s=new BN(c),this.recoveryParam=null,!0},Signature.prototype.toDER=function(t){var r=this.r.toArray(),e=this.s.toArray();for(128&r[0]&&(r=[0].concat(r)),128&e[0]&&(e=[0].concat(e)),r=rmPadding(r),e=rmPadding(e);!(e[0]||128&e[1]);)e=e.slice(1);var n=[2];constructLength(n,r.length),(n=n.concat(r)).push(2),constructLength(n,e.length);var i=n.concat(e),a=[48];return constructLength(a,i.length),a=a.concat(i),utils.encode(a,t)};
},{"../../elliptic":69,"bn.js":18}],79:[function(require,module,exports){
"use strict";var hash=require("hash.js"),elliptic=require("../../elliptic"),utils=elliptic.utils,assert=utils.assert,parseBytes=utils.parseBytes,KeyPair=require("./key"),Signature=require("./signature");function EDDSA(t){if(assert("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof EDDSA))return new EDDSA(t);t=elliptic.curves[t].curve;this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=hash.sha512}module.exports=EDDSA,EDDSA.prototype.sign=function(t,e){t=parseBytes(t);var i=this.keyFromSecret(e),r=this.hashInt(i.messagePrefix(),t),n=this.g.mul(r),s=this.encodePoint(n),o=this.hashInt(s,i.pubBytes(),t).mul(i.priv()),u=r.add(o).umod(this.curve.n);return this.makeSignature({R:n,S:u,Rencoded:s})},EDDSA.prototype.verify=function(t,e,i){t=parseBytes(t),e=this.makeSignature(e);var r=this.keyFromPublic(i),n=this.hashInt(e.Rencoded(),r.pubBytes(),t),s=this.g.mul(e.S());return e.R().add(r.pub().mul(n)).eq(s)},EDDSA.prototype.hashInt=function(){for(var t=this.hash(),e=0;e<arguments.length;e++)t.update(arguments[e]);return utils.intFromLE(t.digest()).umod(this.curve.n)},EDDSA.prototype.keyFromPublic=function(t){return KeyPair.fromPublic(this,t)},EDDSA.prototype.keyFromSecret=function(t){return KeyPair.fromSecret(this,t)},EDDSA.prototype.makeSignature=function(t){return t instanceof Signature?t:new Signature(this,t)},EDDSA.prototype.encodePoint=function(t){var e=t.getY().toArray("le",this.encodingLength);return e[this.encodingLength-1]|=t.getX().isOdd()?128:0,e},EDDSA.prototype.decodePoint=function(t){var e=(t=utils.parseBytes(t)).length-1,i=t.slice(0,e).concat(-129&t[e]),r=0!=(128&t[e]),n=utils.intFromLE(i);return this.curve.pointFromY(n,r)},EDDSA.prototype.encodeInt=function(t){return t.toArray("le",this.encodingLength)},EDDSA.prototype.decodeInt=function(t){return utils.intFromLE(t)},EDDSA.prototype.isPoint=function(t){return t instanceof this.pointClass};
},{"../../elliptic":69,"./key":80,"./signature":81,"hash.js":88}],80:[function(require,module,exports){
"use strict";var elliptic=require("../../elliptic"),utils=elliptic.utils,assert=utils.assert,parseBytes=utils.parseBytes,cachedProperty=utils.cachedProperty;function KeyPair(e,t){this.eddsa=e,this._secret=parseBytes(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=parseBytes(t.pub)}KeyPair.fromPublic=function(e,t){return t instanceof KeyPair?t:new KeyPair(e,{pub:t})},KeyPair.fromSecret=function(e,t){return t instanceof KeyPair?t:new KeyPair(e,{secret:t})},KeyPair.prototype.secret=function(){return this._secret},cachedProperty(KeyPair,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),cachedProperty(KeyPair,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),cachedProperty(KeyPair,"privBytes",function(){var e=this.eddsa,t=this.hash(),i=e.encodingLength-1,r=t.slice(0,e.encodingLength);return r[0]&=248,r[i]&=127,r[i]|=64,r}),cachedProperty(KeyPair,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),cachedProperty(KeyPair,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),cachedProperty(KeyPair,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),KeyPair.prototype.sign=function(e){return assert(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},KeyPair.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},KeyPair.prototype.getSecret=function(e){return assert(this._secret,"KeyPair is public only"),utils.encode(this.secret(),e)},KeyPair.prototype.getPublic=function(e){return utils.encode(this.pubBytes(),e)},module.exports=KeyPair;
},{"../../elliptic":69}],81:[function(require,module,exports){
"use strict";var BN=require("bn.js"),elliptic=require("../../elliptic"),utils=elliptic.utils,assert=utils.assert,cachedProperty=utils.cachedProperty,parseBytes=utils.parseBytes;function Signature(e,t){this.eddsa=e,"object"!=typeof t&&(t=parseBytes(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),assert(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof BN&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}cachedProperty(Signature,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),cachedProperty(Signature,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),cachedProperty(Signature,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),cachedProperty(Signature,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),Signature.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},Signature.prototype.toHex=function(){return utils.encode(this.toBytes(),"hex").toUpperCase()},module.exports=Signature;
},{"../../elliptic":69,"bn.js":18}],82:[function(require,module,exports){
module.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}};
},{}],83:[function(require,module,exports){
"use strict";var utils=exports,BN=require("bn.js"),minAssert=require("minimalistic-assert"),minUtils=require("minimalistic-crypto-utils");function getNAF(t,i){for(var r=[],e=1<<i+1,n=t.clone();n.cmpn(1)>=0;){var s;if(n.isOdd()){var u=n.andln(e-1);s=u>(e>>1)-1?(e>>1)-u:u,n.isubn(s)}else s=0;r.push(s);for(var l=0!==n.cmpn(0)&&0===n.andln(e-1)?i+1:1,o=1;o<l;o++)r.push(0);n.iushrn(l)}return r}function getJSF(t,i){var r=[[],[]];t=t.clone(),i=i.clone();for(var e=0,n=0;t.cmpn(-e)>0||i.cmpn(-n)>0;){var s,u,l,o=t.andln(3)+e&3,a=i.andln(3)+n&3;if(3===o&&(o=-1),3===a&&(a=-1),0==(1&o))s=0;else s=3!==(l=t.andln(7)+e&7)&&5!==l||2!==a?o:-o;if(r[0].push(s),0==(1&a))u=0;else u=3!==(l=i.andln(7)+n&7)&&5!==l||2!==o?a:-a;r[1].push(u),2*e===s+1&&(e=1-e),2*n===u+1&&(n=1-n),t.iushrn(1),i.iushrn(1)}return r}function cachedProperty(t,i,r){var e="_"+i;t.prototype[i]=function(){return void 0!==this[e]?this[e]:this[e]=r.call(this)}}function parseBytes(t){return"string"==typeof t?utils.toArray(t,"hex"):t}function intFromLE(t){return new BN(t,"hex","le")}utils.assert=minAssert,utils.toArray=minUtils.toArray,utils.zero2=minUtils.zero2,utils.toHex=minUtils.toHex,utils.encode=minUtils.encode,utils.getNAF=getNAF,utils.getJSF=getJSF,utils.cachedProperty=cachedProperty,utils.parseBytes=parseBytes,utils.intFromLE=intFromLE;
},{"bn.js":18,"minimalistic-assert":107,"minimalistic-crypto-utils":108}],84:[function(require,module,exports){
module.exports={
"_from": "elliptic@^6.0.0",
"_id": "elliptic@6.4.1",
"_inBundle": false,
"_integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==",
"_location": "/elliptic",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "elliptic@^6.0.0",
"name": "elliptic",
"escapedName": "elliptic",
"rawSpec": "^6.0.0",
"saveSpec": null,
"fetchSpec": "^6.0.0"
},
"_requiredBy": [
"/browserify-sign",
"/create-ecdh"
],
"_resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
"_shasum": "c2d0b7776911b86722c632c3c06c60f2f819939a",
"_spec": "elliptic@^6.0.0",
"_where": "/Users/jaime/Workspaces/yuml-diagram/node_modules/browserify-sign",
"author": {
"name": "Fedor Indutny",
"email": "fedor@indutny.com"
},
"bugs": {
"url": "https://github.com/indutny/elliptic/issues"
},
"bundleDependencies": false,
"dependencies": {
"bn.js": "^4.4.0",
"brorand": "^1.0.1",
"hash.js": "^1.0.0",
"hmac-drbg": "^1.0.0",
"inherits": "^2.0.1",
"minimalistic-assert": "^1.0.0",
"minimalistic-crypto-utils": "^1.0.0"
},
"deprecated": false,
"description": "EC cryptography",
"devDependencies": {
"brfs": "^1.4.3",
"coveralls": "^2.11.3",
"grunt": "^0.4.5",
"grunt-browserify": "^5.0.0",
"grunt-cli": "^1.2.0",
"grunt-contrib-connect": "^1.0.0",
"grunt-contrib-copy": "^1.0.0",
"grunt-contrib-uglify": "^1.0.1",
"grunt-mocha-istanbul": "^3.0.1",
"grunt-saucelabs": "^8.6.2",
"istanbul": "^0.4.2",
"jscs": "^2.9.0",
"jshint": "^2.6.0",
"mocha": "^2.1.0"
},
"files": [
"lib"
],
"homepage": "https://github.com/indutny/elliptic",
"keywords": [
"EC",
"Elliptic",
"curve",
"Cryptography"
],
"license": "MIT",
"main": "lib/elliptic.js",
"name": "elliptic",
"repository": {
"type": "git",
"url": "git+ssh://git@github.com/indutny/elliptic.git"
},
"scripts": {
"jscs": "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",
"jshint": "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",
"lint": "npm run jscs && npm run jshint",
"test": "npm run lint && npm run unit",
"unit": "istanbul test _mocha --reporter=spec test/index.js",
"version": "grunt dist && git add dist/"
},
"version": "6.4.1"
}
},{}],85:[function(require,module,exports){
var objectCreate=Object.create||objectCreatePolyfill,objectKeys=Object.keys||objectKeysPolyfill,bind=Function.prototype.bind||functionBindPolyfill;function EventEmitter(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=objectCreate(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0;var hasDefineProperty,defaultMaxListeners=10;try{var o={};Object.defineProperty&&Object.defineProperty(o,"x",{value:0}),hasDefineProperty=0===o.x}catch(e){hasDefineProperty=!1}function $getMaxListeners(e){return void 0===e._maxListeners?EventEmitter.defaultMaxListeners:e._maxListeners}function emitNone(e,t,n){if(t)e.call(n);else for(var r=e.length,i=arrayClone(e,r),s=0;s<r;++s)i[s].call(n)}function emitOne(e,t,n,r){if(t)e.call(n,r);else for(var i=e.length,s=arrayClone(e,i),o=0;o<i;++o)s[o].call(n,r)}function emitTwo(e,t,n,r,i){if(t)e.call(n,r,i);else for(var s=e.length,o=arrayClone(e,s),a=0;a<s;++a)o[a].call(n,r,i)}function emitThree(e,t,n,r,i,s){if(t)e.call(n,r,i,s);else for(var o=e.length,a=arrayClone(e,o),l=0;l<o;++l)a[l].call(n,r,i,s)}function emitMany(e,t,n,r){if(t)e.apply(n,r);else for(var i=e.length,s=arrayClone(e,i),o=0;o<i;++o)s[o].apply(n,r)}function _addListener(e,t,n,r){var i,s,o;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((s=e._events)?(s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),o=s[t]):(s=e._events=objectCreate(null),e._eventsCount=0),o){if("function"==typeof o?o=s[t]=r?[n,o]:[o,n]:r?o.unshift(n):o.push(n),!o.warned&&(i=$getMaxListeners(e))&&i>0&&o.length>i){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+' "'+String(t)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=o.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",a.name,a.message)}}else o=s[t]=n,++e._eventsCount;return e}function onceWrapper(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var e=new Array(arguments.length),t=0;t<e.length;++t)e[t]=arguments[t];this.listener.apply(this.target,e)}}function _onceWrap(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=bind.call(onceWrapper,r);return i.listener=n,r.wrapFn=i,i}function _listeners(e,t,n){var r=e._events;if(!r)return[];var i=r[t];return i?"function"==typeof i?n?[i.listener||i]:[i]:n?unwrapListeners(i):arrayClone(i,i.length):[]}function listenerCount(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function spliceOne(e,t){for(var n=t,r=n+1,i=e.length;r<i;n+=1,r+=1)e[n]=e[r];e.pop()}function arrayClone(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function unwrapListeners(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}function objectCreatePolyfill(e){var t=function(){};return t.prototype=e,new t}function objectKeysPolyfill(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return n}function functionBindPolyfill(e){var t=this;return function(){return t.apply(e,arguments)}}hasDefineProperty?Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:!0,get:function(){return defaultMaxListeners},set:function(e){if("number"!=typeof e||e<0||e!=e)throw new TypeError('"defaultMaxListeners" must be a positive number');defaultMaxListeners=e}}):EventEmitter.defaultMaxListeners=defaultMaxListeners,EventEmitter.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},EventEmitter.prototype.getMaxListeners=function(){return $getMaxListeners(this)},EventEmitter.prototype.emit=function(e){var t,n,r,i,s,o,a="error"===e;if(o=this._events)a=a&&null==o.error;else if(!a)return!1;if(a){if(arguments.length>1&&(t=arguments[1]),t instanceof Error)throw t;var l=new Error('Unhandled "error" event. ('+t+")");throw l.context=t,l}if(!(n=o[e]))return!1;var u="function"==typeof n;switch(r=arguments.length){case 1:emitNone(n,u,this);break;case 2:emitOne(n,u,this,arguments[1]);break;case 3:emitTwo(n,u,this,arguments[1],arguments[2]);break;case 4:emitThree(n,u,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(r-1),s=1;s<r;s++)i[s-1]=arguments[s];emitMany(n,u,this,i)}return!0},EventEmitter.prototype.addListener=function(e,t){return _addListener(this,e,t,!1)},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.prependListener=function(e,t){return _addListener(this,e,t,!0)},EventEmitter.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,_onceWrap(this,e,t)),this},EventEmitter.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,_onceWrap(this,e,t)),this},EventEmitter.prototype.removeListener=function(e,t){var n,r,i,s,o;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=objectCreate(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,s=n.length-1;s>=0;s--)if(n[s]===t||n[s].listener===t){o=n[s].listener,i=s;break}if(i<0)return this;0===i?n.shift():spliceOne(n,i),1===n.length&&(r[e]=n[0]),r.removeListener&&this.emit("removeListener",e,o||t)}return this},EventEmitter.prototype.removeAllListeners=function(e){var t,n,r;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=objectCreate(null),this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=objectCreate(null):delete n[e]),this;if(0===arguments.length){var i,s=objectKeys(n);for(r=0;r<s.length;++r)"removeListener"!==(i=s[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=objectCreate(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},EventEmitter.prototype.listeners=function(e){return _listeners(this,e,!0)},EventEmitter.prototype.rawListeners=function(e){return _listeners(this,e,!1)},EventEmitter.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):listenerCount.call(e,t)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};
},{}],86:[function(require,module,exports){
var Buffer=require("safe-buffer").Buffer,MD5=require("md5.js");function EVP_BytesToKey(e,f,r,t){if(Buffer.isBuffer(e)||(e=Buffer.from(e,"binary")),f&&(Buffer.isBuffer(f)||(f=Buffer.from(f,"binary")),8!==f.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var u=r/8,a=Buffer.alloc(u),l=Buffer.alloc(t||0),n=Buffer.alloc(0);u>0||t>0;){var i=new MD5;i.update(n),i.update(e),f&&i.update(f),n=i.digest();var o=0;if(u>0){var B=a.length-u;o=Math.min(u,n.length),n.copy(a,B,0,o),u-=o}if(o<n.length&&t>0){var h=l.length-t,s=Math.min(t,n.length-o);n.copy(l,h,o,o+s),t-=s}}return n.fill(0),{key:a,iv:l}}module.exports=EVP_BytesToKey;
},{"md5.js":105,"safe-buffer":145}],87:[function(require,module,exports){
"use strict";var Buffer=require("safe-buffer").Buffer,Transform=require("stream").Transform,inherits=require("inherits");function throwIfNotStringOrBuffer(t,e){if(!Buffer.isBuffer(t)&&"string"!=typeof t)throw new TypeError(e+" must be a string or a buffer")}function HashBase(t){Transform.call(this),this._block=Buffer.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}inherits(HashBase,Transform),HashBase.prototype._transform=function(t,e,r){var s=null;try{this.update(t,e)}catch(t){s=t}r(s)},HashBase.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)},HashBase.prototype.update=function(t,e){if(throwIfNotStringOrBuffer(t,"Data"),this._finalized)throw new Error("Digest already called");Buffer.isBuffer(t)||(t=Buffer.from(t,e));for(var r=this._block,s=0;this._blockOffset+t.length-s>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)r[i++]=t[s++];this._update(),this._blockOffset=0}for(;s<t.length;)r[this._blockOffset++]=t[s++];for(var f=0,o=8*t.length;o>0;++f)this._length[f]+=o,(o=this._length[f]/4294967296|0)>0&&(this._length[f]-=4294967296*o);return this},HashBase.prototype._update=function(){throw new Error("_update is not implemented")},HashBase.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},HashBase.prototype._digest=function(){throw new Error("_digest is not implemented")},module.exports=HashBase;
},{"inherits":102,"safe-buffer":145,"stream":154}],88:[function(require,module,exports){
var hash=exports;hash.utils=require("./hash/utils"),hash.common=require("./hash/common"),hash.sha=require("./hash/sha"),hash.ripemd=require("./hash/ripemd"),hash.hmac=require("./hash/hmac"),hash.sha1=hash.sha.sha1,hash.sha256=hash.sha.sha256,hash.sha224=hash.sha.sha224,hash.sha384=hash.sha.sha384,hash.sha512=hash.sha.sha512,hash.ripemd160=hash.ripemd.ripemd160;
},{"./hash/common":89,"./hash/hmac":90,"./hash/ripemd":91,"./hash/sha":92,"./hash/utils":99}],89:[function(require,module,exports){
"use strict";var utils=require("./utils"),assert=require("minimalistic-assert");function BlockHash(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}exports.BlockHash=BlockHash,BlockHash.prototype.update=function(t,i){if(t=utils.toArray(t,i),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var n=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-n,t.length),0===this.pending.length&&(this.pending=null),t=utils.join32(t,0,t.length-n,this.endian);for(var s=0;s<t.length;s+=this._delta32)this._update(t,s,s+this._delta32)}return this},BlockHash.prototype.digest=function(t){return this.update(this._pad()),assert(null===this.pending),this._digest(t)},BlockHash.prototype._pad=function(){var t=this.pendingTotal,i=this._delta8,n=i-(t+this.padLength)%i,s=new Array(n+this.padLength);s[0]=128;for(var e=1;e<n;e++)s[e]=0;if(t<<=3,"big"===this.endian){for(var h=8;h<this.padLength;h++)s[e++]=0;s[e++]=0,s[e++]=0,s[e++]=0,s[e++]=0,s[e++]=t>>>24&255,s[e++]=t>>>16&255,s[e++]=t>>>8&255,s[e++]=255&t}else for(s[e++]=255&t,s[e++]=t>>>8&255,s[e++]=t>>>16&255,s[e++]=t>>>24&255,s[e++]=0,s[e++]=0,s[e++]=0,s[e++]=0,h=8;h<this.padLength;h++)s[e++]=0;return s};
},{"./utils":99,"minimalistic-assert":107}],90:[function(require,module,exports){
"use strict";var utils=require("./utils"),assert=require("minimalistic-assert");function Hmac(t,i,e){if(!(this instanceof Hmac))return new Hmac(t,i,e);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(utils.toArray(i,e))}module.exports=Hmac,Hmac.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),assert(t.length<=this.blockSize);for(var i=t.length;i<this.blockSize;i++)t.push(0);for(i=0;i<t.length;i++)t[i]^=54;for(this.inner=(new this.Hash).update(t),i=0;i<t.length;i++)t[i]^=106;this.outer=(new this.Hash).update(t)},Hmac.prototype.update=function(t,i){return this.inner.update(t,i),this},Hmac.prototype.digest=function(t){return this.outer.update(this.inner.digest()),this.outer.digest(t)};
},{"./utils":99,"minimalistic-assert":107}],91:[function(require,module,exports){
"use strict";var utils=require("./utils"),common=require("./common"),rotl32=utils.rotl32,sum32=utils.sum32,sum32_3=utils.sum32_3,sum32_4=utils.sum32_4,BlockHash=common.BlockHash;function RIPEMD160(){if(!(this instanceof RIPEMD160))return new RIPEMD160;BlockHash.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function f(t,s,h,i){return t<=15?s^h^i:t<=31?s&h|~s&i:t<=47?(s|~h)^i:t<=63?s&i|h&~i:s^(h|~i)}function K(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function Kh(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}utils.inherits(RIPEMD160,BlockHash),exports.ripemd160=RIPEMD160,RIPEMD160.blockSize=512,RIPEMD160.outSize=160,RIPEMD160.hmacStrength=192,RIPEMD160.padLength=64,RIPEMD160.prototype._update=function(t,h){for(var i=this.h[0],u=this.h[1],o=this.h[2],e=this.h[3],l=this.h[4],n=i,m=u,c=o,a=e,_=l,D=0;D<80;D++){var E=sum32(rotl32(sum32_4(i,f(D,u,o,e),t[r[D]+h],K(D)),s[D]),l);i=l,l=e,e=rotl32(o,10),o=u,u=E,E=sum32(rotl32(sum32_4(n,f(79-D,m,c,a),t[rh[D]+h],Kh(D)),sh[D]),_),n=_,_=a,a=rotl32(c,10),c=m,m=E}E=sum32_3(this.h[1],o,a),this.h[1]=sum32_3(this.h[2],e,_),this.h[2]=sum32_3(this.h[3],l,n),this.h[3]=sum32_3(this.h[4],i,m),this.h[4]=sum32_3(this.h[0],u,c),this.h[0]=E},RIPEMD160.prototype._digest=function(t){return"hex"===t?utils.toHex32(this.h,"little"):utils.split32(this.h,"little")};var r=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],rh=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],s=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],sh=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11];
},{"./common":89,"./utils":99}],92:[function(require,module,exports){
"use strict";exports.sha1=require("./sha/1"),exports.sha224=require("./sha/224"),exports.sha256=require("./sha/256"),exports.sha384=require("./sha/384"),exports.sha512=require("./sha/512");
},{"./sha/1":93,"./sha/224":94,"./sha/256":95,"./sha/384":96,"./sha/512":97}],93:[function(require,module,exports){
"use strict";var utils=require("../utils"),common=require("../common"),shaCommon=require("./common"),rotl32=utils.rotl32,sum32=utils.sum32,sum32_5=utils.sum32_5,ft_1=shaCommon.ft_1,BlockHash=common.BlockHash,sha1_K=[1518500249,1859775393,2400959708,3395469782];function SHA1(){if(!(this instanceof SHA1))return new SHA1;BlockHash.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}utils.inherits(SHA1,BlockHash),module.exports=SHA1,SHA1.blockSize=512,SHA1.outSize=160,SHA1.hmacStrength=80,SHA1.padLength=64,SHA1.prototype._update=function(t,h){for(var s=this.W,i=0;i<16;i++)s[i]=t[h+i];for(;i<s.length;i++)s[i]=rotl32(s[i-3]^s[i-8]^s[i-14]^s[i-16],1);var o=this.h[0],r=this.h[1],u=this.h[2],e=this.h[3],l=this.h[4];for(i=0;i<s.length;i++){var m=~~(i/20),n=sum32_5(rotl32(o,5),ft_1(m,r,u,e),l,s[i],sha1_K[m]);l=e,e=u,u=rotl32(r,30),r=o,o=n}this.h[0]=sum32(this.h[0],o),this.h[1]=sum32(this.h[1],r),this.h[2]=sum32(this.h[2],u),this.h[3]=sum32(this.h[3],e),this.h[4]=sum32(this.h[4],l)},SHA1.prototype._digest=function(t){return"hex"===t?utils.toHex32(this.h,"big"):utils.split32(this.h,"big")};
},{"../common":89,"../utils":99,"./common":98}],94:[function(require,module,exports){
"use strict";var utils=require("../utils"),SHA256=require("./256");function SHA224(){if(!(this instanceof SHA224))return new SHA224;SHA256.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}utils.inherits(SHA224,SHA256),module.exports=SHA224,SHA224.blockSize=512,SHA224.outSize=224,SHA224.hmacStrength=192,SHA224.padLength=64,SHA224.prototype._digest=function(t){return"hex"===t?utils.toHex32(this.h.slice(0,7),"big"):utils.split32(this.h.slice(0,7),"big")};
},{"../utils":99,"./256":95}],95:[function(require,module,exports){
"use strict";var utils=require("../utils"),common=require("../common"),shaCommon=require("./common"),assert=require("minimalistic-assert"),sum32=utils.sum32,sum32_4=utils.sum32_4,sum32_5=utils.sum32_5,ch32=shaCommon.ch32,maj32=shaCommon.maj32,s0_256=shaCommon.s0_256,s1_256=shaCommon.s1_256,g0_256=shaCommon.g0_256,g1_256=shaCommon.g1_256,BlockHash=common.BlockHash,sha256_K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function SHA256(){if(!(this instanceof SHA256))return new SHA256;BlockHash.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=sha256_K,this.W=new Array(64)}utils.inherits(SHA256,BlockHash),module.exports=SHA256,SHA256.blockSize=512,SHA256.outSize=256,SHA256.hmacStrength=192,SHA256.padLength=64,SHA256.prototype._update=function(s,h){for(var t=this.W,i=0;i<16;i++)t[i]=s[h+i];for(;i<t.length;i++)t[i]=sum32_4(g1_256(t[i-2]),t[i-7],g0_256(t[i-15]),t[i-16]);var m=this.h[0],o=this.h[1],u=this.h[2],e=this.h[3],n=this.h[4],a=this.h[5],r=this.h[6],l=this.h[7];for(assert(this.k.length===t.length),i=0;i<t.length;i++){var _=sum32_5(l,s1_256(n),ch32(n,a,r),this.k[i],t[i]),c=sum32(s0_256(m),maj32(m,o,u));l=r,r=a,a=n,n=sum32(e,_),e=u,u=o,o=m,m=sum32(_,c)}this.h[0]=sum32(this.h[0],m),this.h[1]=sum32(this.h[1],o),this.h[2]=sum32(this.h[2],u),this.h[3]=sum32(this.h[3],e),this.h[4]=sum32(this.h[4],n),this.h[5]=sum32(this.h[5],a),this.h[6]=sum32(this.h[6],r),this.h[7]=sum32(this.h[7],l)},SHA256.prototype._digest=function(s){return"hex"===s?utils.toHex32(this.h,"big"):utils.split32(this.h,"big")};
},{"../common":89,"../utils":99,"./common":98,"minimalistic-assert":107}],96:[function(require,module,exports){
"use strict";var utils=require("../utils"),SHA512=require("./512");function SHA384(){if(!(this instanceof SHA384))return new SHA384;SHA512.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}utils.inherits(SHA384,SHA512),module.exports=SHA384,SHA384.blockSize=1024,SHA384.outSize=384,SHA384.hmacStrength=192,SHA384.padLength=128,SHA384.prototype._digest=function(t){return"hex"===t?utils.toHex32(this.h.slice(0,12),"big"):utils.split32(this.h.slice(0,12),"big")};
},{"../utils":99,"./512":97}],97:[function(require,module,exports){
"use strict";var utils=require("../utils"),common=require("../common"),assert=require("minimalistic-assert"),rotr64_hi=utils.rotr64_hi,rotr64_lo=utils.rotr64_lo,shr64_hi=utils.shr64_hi,shr64_lo=utils.shr64_lo,sum64=utils.sum64,sum64_hi=utils.sum64_hi,sum64_lo=utils.sum64_lo,sum64_4_hi=utils.sum64_4_hi,sum64_4_lo=utils.sum64_4_lo,sum64_5_hi=utils.sum64_5_hi,sum64_5_lo=utils.sum64_5_lo,BlockHash=common.BlockHash,sha512_K=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function SHA512(){if(!(this instanceof SHA512))return new SHA512;BlockHash.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=sha512_K,this.W=new Array(160)}function ch64_hi(t,h,r,i,s){var _=t&r^~t&s;return _<0&&(_+=4294967296),_}function ch64_lo(t,h,r,i,s,_){var o=h&i^~h&_;return o<0&&(o+=4294967296),o}function maj64_hi(t,h,r,i,s){var _=t&r^t&s^r&s;return _<0&&(_+=4294967296),_}function maj64_lo(t,h,r,i,s,_){var o=h&i^h&_^i&_;return o<0&&(o+=4294967296),o}function s0_512_hi(t,h){var r=rotr64_hi(t,h,28)^rotr64_hi(h,t,2)^rotr64_hi(h,t,7);return r<0&&(r+=4294967296),r}function s0_512_lo(t,h){var r=rotr64_lo(t,h,28)^rotr64_lo(h,t,2)^rotr64_lo(h,t,7);return r<0&&(r+=4294967296),r}function s1_512_hi(t,h){var r=rotr64_hi(t,h,14)^rotr64_hi(t,h,18)^rotr64_hi(h,t,9);return r<0&&(r+=4294967296),r}function s1_512_lo(t,h){var r=rotr64_lo(t,h,14)^rotr64_lo(t,h,18)^rotr64_lo(h,t,9);return r<0&&(r+=4294967296),r}function g0_512_hi(t,h){var r=rotr64_hi(t,h,1)^rotr64_hi(t,h,8)^shr64_hi(t,h,7);return r<0&&(r+=4294967296),r}function g0_512_lo(t,h){var r=rotr64_lo(t,h,1)^rotr64_lo(t,h,8)^shr64_lo(t,h,7);return r<0&&(r+=4294967296),r}function g1_512_hi(t,h){var r=rotr64_hi(t,h,19)^rotr64_hi(h,t,29)^shr64_hi(t,h,6);return r<0&&(r+=4294967296),r}function g1_512_lo(t,h){var r=rotr64_lo(t,h,19)^rotr64_lo(h,t,29)^shr64_lo(t,h,6);return r<0&&(r+=4294967296),r}utils.inherits(SHA512,BlockHash),module.exports=SHA512,SHA512.blockSize=1024,SHA512.outSize=512,SHA512.hmacStrength=192,SHA512.padLength=128,SHA512.prototype._prepareBlock=function(t,h){for(var r=this.W,i=0;i<32;i++)r[i]=t[h+i];for(;i<r.length;i+=2){var s=g1_512_hi(r[i-4],r[i-3]),_=g1_512_lo(r[i-4],r[i-3]),o=r[i-14],u=r[i-13],l=g0_512_hi(r[i-30],r[i-29]),n=g0_512_lo(r[i-30],r[i-29]),e=r[i-32],m=r[i-31];r[i]=sum64_4_hi(s,_,o,u,l,n,e,m),r[i+1]=sum64_4_lo(s,_,o,u,l,n,e,m)}},SHA512.prototype._update=function(t,h){this._prepareBlock(t,h);var r=this.W,i=this.h[0],s=this.h[1],_=this.h[2],o=this.h[3],u=this.h[4],l=this.h[5],n=this.h[6],e=this.h[7],m=this.h[8],a=this.h[9],c=this.h[10],f=this.h[11],v=this.h[12],g=this.h[13],H=this.h[14],S=this.h[15];assert(this.k.length===r.length);for(var p=0;p<r.length;p+=2){var A=H,k=S,B=s1_512_hi(m,a),d=s1_512_lo(m,a),j=ch64_hi(m,a,c,f,v,g),y=ch64_lo(m,a,c,f,v,g),b=this.k[p],q=this.k[p+1],x=r[p],W=r[p+1],w=sum64_5_hi(A,k,B,d,j,y,b,q,x,W),z=sum64_5_lo(A,k,B,d,j,y,b,q,x,W);A=s0_512_hi(i,s),k=s0_512_lo(i,s),B=maj64_hi(i,s,_,o,u,l),d=maj64_lo(i,s,_,o,u,l);var K=sum64_hi(A,k,B,d),L=sum64_lo(A,k,B,d);H=v,S=g,v=c,g=f,c=m,f=a,m=sum64_hi(n,e,w,z),a=sum64_lo(e,e,w,z),n=u,e=l,u=_,l=o,_=i,o=s,i=sum64_hi(w,z,K,L),s=sum64_lo(w,z,K,L)}sum64(this.h,0,i,s),sum64(this.h,2,_,o),sum64(this.h,4,u,l),sum64(this.h,6,n,e),sum64(this.h,8,m,a),sum64(this.h,10,c,f),sum64(this.h,12,v,g),sum64(this.h,14,H,S)},SHA512.prototype._digest=function(t){return"hex"===t?utils.toHex32(this.h,"big"):utils.split32(this.h,"big")};
},{"../common":89,"../utils":99,"minimalistic-assert":107}],98:[function(require,module,exports){
"use strict";var utils=require("../utils"),rotr32=utils.rotr32;function ft_1(r,t,o,n){return 0===r?ch32(t,o,n):1===r||3===r?p32(t,o,n):2===r?maj32(t,o,n):void 0}function ch32(r,t,o){return r&t^~r&o}function maj32(r,t,o){return r&t^r&o^t&o}function p32(r,t,o){return r^t^o}function s0_256(r){return rotr32(r,2)^rotr32(r,13)^rotr32(r,22)}function s1_256(r){return rotr32(r,6)^rotr32(r,11)^rotr32(r,25)}function g0_256(r){return rotr32(r,7)^rotr32(r,18)^r>>>3}function g1_256(r){return rotr32(r,17)^rotr32(r,19)^r>>>10}exports.ft_1=ft_1,exports.ch32=ch32,exports.maj32=maj32,exports.p32=p32,exports.s0_256=s0_256,exports.s1_256=s1_256,exports.g0_256=g0_256,exports.g1_256=g1_256;
},{"../utils":99}],99:[function(require,module,exports){
"use strict";var assert=require("minimalistic-assert"),inherits=require("inherits");function isSurrogatePair(r,t){return 55296==(64512&r.charCodeAt(t))&&(!(t<0||t+1>=r.length)&&56320==(64512&r.charCodeAt(t+1)))}function toArray(r,t){if(Array.isArray(r))return r.slice();if(!r)return[];var o=[];if("string"==typeof r)if(t){if("hex"===t)for((r=r.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(r="0"+r),n=0;n<r.length;n+=2)o.push(parseInt(r[n]+r[n+1],16))}else for(var e=0,n=0;n<r.length;n++){var u=r.charCodeAt(n);u<128?o[e++]=u:u<2048?(o[e++]=u>>6|192,o[e++]=63&u|128):isSurrogatePair(r,n)?(u=65536+((1023&u)<<10)+(1023&r.charCodeAt(++n)),o[e++]=u>>18|240,o[e++]=u>>12&63|128,o[e++]=u>>6&63|128,o[e++]=63&u|128):(o[e++]=u>>12|224,o[e++]=u>>6&63|128,o[e++]=63&u|128)}else for(n=0;n<r.length;n++)o[n]=0|r[n];return o}function toHex(r){for(var t="",o=0;o<r.length;o++)t+=zero2(r[o].toString(16));return t}function htonl(r){return(r>>>24|r>>>8&65280|r<<8&16711680|(255&r)<<24)>>>0}function toHex32(r,t){for(var o="",e=0;e<r.length;e++){var n=r[e];"little"===t&&(n=htonl(n)),o+=zero8(n.toString(16))}return o}function zero2(r){return 1===r.length?"0"+r:r}function zero8(r){return 7===r.length?"0"+r:6===r.length?"00"+r:5===r.length?"000"+r:4===r.length?"0000"+r:3===r.length?"00000"+r:2===r.length?"000000"+r:1===r.length?"0000000"+r:r}function join32(r,t,o,e){var n=o-t;assert(n%4==0);for(var u=new Array(n/4),s=0,i=t;s<u.length;s++,i+=4){var h;h="big"===e?r[i]<<24|r[i+1]<<16|r[i+2]<<8|r[i+3]:r[i+3]<<24|r[i+2]<<16|r[i+1]<<8|r[i],u[s]=h>>>0}return u}function split32(r,t){for(var o=new Array(4*r.length),e=0,n=0;e<r.length;e++,n+=4){var u=r[e];"big"===t?(o[n]=u>>>24,o[n+1]=u>>>16&255,o[n+2]=u>>>8&255,o[n+3]=255&u):(o[n+3]=u>>>24,o[n+2]=u>>>16&255,o[n+1]=u>>>8&255,o[n]=255&u)}return o}function rotr32(r,t){return r>>>t|r<<32-t}function rotl32(r,t){return r<<t|r>>>32-t}function sum32(r,t){return r+t>>>0}function sum32_3(r,t,o){return r+t+o>>>0}function sum32_4(r,t,o,e){return r+t+o+e>>>0}function sum32_5(r,t,o,e,n){return r+t+o+e+n>>>0}function sum64(r,t,o,e){var n=r[t],u=e+r[t+1]>>>0,s=(u<e?1:0)+o+n;r[t]=s>>>0,r[t+1]=u}function sum64_hi(r,t,o,e){return(t+e>>>0<t?1:0)+r+o>>>0}function sum64_lo(r,t,o,e){return t+e>>>0}function sum64_4_hi(r,t,o,e,n,u,s,i){var h=0,_=t;return h+=(_=_+e>>>0)<t?1:0,h+=(_=_+u>>>0)<u?1:0,r+o+n+s+(h+=(_=_+i>>>0)<i?1:0)>>>0}function sum64_4_lo(r,t,o,e,n,u,s,i){return t+e+u+i>>>0}function sum64_5_hi(r,t,o,e,n,u,s,i,h,_){var l=0,f=t;return l+=(f=f+e>>>0)<t?1:0,l+=(f=f+u>>>0)<u?1:0,l+=(f=f+i>>>0)<i?1:0,r+o+n+s+h+(l+=(f=f+_>>>0)<_?1:0)>>>0}function sum64_5_lo(r,t,o,e,n,u,s,i,h,_){return t+e+u+i+_>>>0}function rotr64_hi(r,t,o){return(t<<32-o|r>>>o)>>>0}function rotr64_lo(r,t,o){return(r<<32-o|t>>>o)>>>0}function shr64_hi(r,t,o){return r>>>o}function shr64_lo(r,t,o){return(r<<32-o|t>>>o)>>>0}exports.inherits=inherits,exports.toArray=toArray,exports.toHex=toHex,exports.htonl=htonl,exports.toHex32=toHex32,exports.zero2=zero2,exports.zero8=zero8,exports.join32=join32,exports.split32=split32,exports.rotr32=rotr32,exports.rotl32=rotl32,exports.sum32=sum32,exports.sum32_3=sum32_3,exports.sum32_4=sum32_4,exports.sum32_5=sum32_5,exports.sum64=sum64,exports.sum64_hi=sum64_hi,exports.sum64_lo=sum64_lo,exports.sum64_4_hi=sum64_4_hi,exports.sum64_4_lo=sum64_4_lo,exports.sum64_5_hi=sum64_5_hi,exports.sum64_5_lo=sum64_5_lo,exports.rotr64_hi=rotr64_hi,exports.rotr64_lo=rotr64_lo,exports.shr64_hi=shr64_hi,exports.shr64_lo=shr64_lo;
},{"inherits":102,"minimalistic-assert":107}],100:[function(require,module,exports){
"use strict";var hash=require("hash.js"),utils=require("minimalistic-crypto-utils"),assert=require("minimalistic-assert");function HmacDRBG(t){if(!(this instanceof HmacDRBG))return new HmacDRBG(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=utils.toArray(t.entropy,t.entropyEnc||"hex"),i=utils.toArray(t.nonce,t.nonceEnc||"hex"),s=utils.toArray(t.pers,t.persEnc||"hex");assert(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,i,s)}module.exports=HmacDRBG,HmacDRBG.prototype._init=function(t,e,i){var s=t.concat(e).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var h=0;h<this.V.length;h++)this.K[h]=0,this.V[h]=1;this._update(s),this._reseed=1,this.reseedInterval=281474976710656},HmacDRBG.prototype._hmac=function(){return new hash.hmac(this.hash,this.K)},HmacDRBG.prototype._update=function(t){var e=this._hmac().update(this.V).update([0]);t&&(e=e.update(t)),this.K=e.digest(),this.V=this._hmac().update(this.V).digest(),t&&(this.K=this._hmac().update(this.V).update([1]).update(t).digest(),this.V=this._hmac().update(this.V).digest())},HmacDRBG.prototype.reseed=function(t,e,i,s){"string"!=typeof e&&(s=i,i=e,e=null),t=utils.toArray(t,e),i=utils.toArray(i,s),assert(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(i||[])),this._reseed=1},HmacDRBG.prototype.generate=function(t,e,i,s){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(s=i,i=e,e=null),i&&(i=utils.toArray(i,s||"hex"),this._update(i));for(var h=[];h.length<t;)this.V=this._hmac().update(this.V).digest(),h=h.concat(this.V);var r=h.slice(0,t);return this._update(i),this._reseed++,utils.encode(r,e)};
},{"hash.js":88,"minimalistic-assert":107,"minimalistic-crypto-utils":108}],101:[function(require,module,exports){
exports.read=function(a,o,t,r,h){var M,p,w=8*h-r-1,f=(1<<w)-1,e=f>>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:1/0*(s?-1:1);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<<e)-1,N=i>>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),(o+=p+N>=1?n/f:n*Math.pow(2,1-N))*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<<h|w,e+=h;e>0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l};
},{}],102:[function(require,module,exports){
"function"==typeof Object.create?module.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(t,e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t};
},{}],103:[function(require,module,exports){
function isBuffer(f){return!!f.constructor&&"function"==typeof f.constructor.isBuffer&&f.constructor.isBuffer(f)}function isSlowBuffer(f){return"function"==typeof f.readFloatLE&&"function"==typeof f.slice&&isBuffer(f.slice(0,0))}module.exports=function(f){return null!=f&&(isBuffer(f)||isSlowBuffer(f)||!!f._isBuffer)};
},{}],104:[function(require,module,exports){
var toString={}.toString;module.exports=Array.isArray||function(r){return"[object Array]"==toString.call(r)};
},{}],105:[function(require,module,exports){
"use strict";var inherits=require("inherits"),HashBase=require("hash-base"),Buffer=require("safe-buffer").Buffer,ARRAY16=new Array(16);function MD5(){HashBase.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function rotl(n,f){return n<<f|n>>>32-f}function fnF(n,f,t,i,s,e,r){return rotl(n+(f&t|~f&i)+s+e|0,r)+f|0}function fnG(n,f,t,i,s,e,r){return rotl(n+(f&i|t&~i)+s+e|0,r)+f|0}function fnH(n,f,t,i,s,e,r){return rotl(n+(f^t^i)+s+e|0,r)+f|0}function fnI(n,f,t,i,s,e,r){return rotl(n+(t^(f|~i))+s+e|0,r)+f|0}inherits(MD5,HashBase),MD5.prototype._update=function(){for(var n=ARRAY16,f=0;f<16;++f)n[f]=this._block.readInt32LE(4*f);var t=this._a,i=this._b,s=this._c,e=this._d;t=fnF(t,i,s,e,n[0],3614090360,7),e=fnF(e,t,i,s,n[1],3905402710,12),s=fnF(s,e,t,i,n[2],606105819,17),i=fnF(i,s,e,t,n[3],3250441966,22),t=fnF(t,i,s,e,n[4],4118548399,7),e=fnF(e,t,i,s,n[5],1200080426,12),s=fnF(s,e,t,i,n[6],2821735955,17),i=fnF(i,s,e,t,n[7],4249261313,22),t=fnF(t,i,s,e,n[8],1770035416,7),e=fnF(e,t,i,s,n[9],2336552879,12),s=fnF(s,e,t,i,n[10],4294925233,17),i=fnF(i,s,e,t,n[11],2304563134,22),t=fnF(t,i,s,e,n[12],1804603682,7),e=fnF(e,t,i,s,n[13],4254626195,12),s=fnF(s,e,t,i,n[14],2792965006,17),t=fnG(t,i=fnF(i,s,e,t,n[15],1236535329,22),s,e,n[1],4129170786,5),e=fnG(e,t,i,s,n[6],3225465664,9),s=fnG(s,e,t,i,n[11],643717713,14),i=fnG(i,s,e,t,n[0],3921069994,20),t=fnG(t,i,s,e,n[5],3593408605,5),e=fnG(e,t,i,s,n[10],38016083,9),s=fnG(s,e,t,i,n[15],3634488961,14),i=fnG(i,s,e,t,n[4],3889429448,20),t=fnG(t,i,s,e,n[9],568446438,5),e=fnG(e,t,i,s,n[14],3275163606,9),s=fnG(s,e,t,i,n[3],4107603335,14),i=fnG(i,s,e,t,n[8],1163531501,20),t=fnG(t,i,s,e,n[13],2850285829,5),e=fnG(e,t,i,s,n[2],4243563512,9),s=fnG(s,e,t,i,n[7],1735328473,14),t=fnH(t,i=fnG(i,s,e,t,n[12],2368359562,20),s,e,n[5],4294588738,4),e=fnH(e,t,i,s,n[8],2272392833,11),s=fnH(s,e,t,i,n[11],1839030562,16),i=fnH(i,s,e,t,n[14],4259657740,23),t=fnH(t,i,s,e,n[1],2763975236,4),e=fnH(e,t,i,s,n[4],1272893353,11),s=fnH(s,e,t,i,n[7],4139469664,16),i=fnH(i,s,e,t,n[10],3200236656,23),t=fnH(t,i,s,e,n[13],681279174,4),e=fnH(e,t,i,s,n[0],3936430074,11),s=fnH(s,e,t,i,n[3],3572445317,16),i=fnH(i,s,e,t,n[6],76029189,23),t=fnH(t,i,s,e,n[9],3654602809,4),e=fnH(e,t,i,s,n[12],3873151461,11),s=fnH(s,e,t,i,n[15],530742520,16),t=fnI(t,i=fnH(i,s,e,t,n[2],3299628645,23),s,e,n[0],4096336452,6),e=fnI(e,t,i,s,n[7],1126891415,10),s=fnI(s,e,t,i,n[14],2878612391,15),i=fnI(i,s,e,t,n[5],4237533241,21),t=fnI(t,i,s,e,n[12],1700485571,6),e=fnI(e,t,i,s,n[3],2399980690,10),s=fnI(s,e,t,i,n[10],4293915773,15),i=fnI(i,s,e,t,n[1],2240044497,21),t=fnI(t,i,s,e,n[8],1873313359,6),e=fnI(e,t,i,s,n[15],4264355552,10),s=fnI(s,e,t,i,n[6],2734768916,15),i=fnI(i,s,e,t,n[13],1309151649,21),t=fnI(t,i,s,e,n[4],4149444226,6),e=fnI(e,t,i,s,n[11],3174756917,10),s=fnI(s,e,t,i,n[2],718787259,15),i=fnI(i,s,e,t,n[9],3951481745,21),this._a=this._a+t|0,this._b=this._b+i|0,this._c=this._c+s|0,this._d=this._d+e|0},MD5.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var n=Buffer.allocUnsafe(16);return n.writeInt32LE(this._a,0),n.writeInt32LE(this._b,4),n.writeInt32LE(this._c,8),n.writeInt32LE(this._d,12),n},module.exports=MD5;
},{"hash-base":87,"inherits":102,"safe-buffer":145}],106:[function(require,module,exports){
var bn=require("bn.js"),brorand=require("brorand");function MillerRabin(r){this.rand=r||new brorand.Rand}module.exports=MillerRabin,MillerRabin.create=function(r){return new MillerRabin(r)},MillerRabin.prototype._randbelow=function(r){var n=r.bitLength(),e=Math.ceil(n/8);do{var t=new bn(this.rand.generate(e))}while(t.cmp(r)>=0);return t},MillerRabin.prototype._randrange=function(r,n){var e=n.sub(r);return r.add(this._randbelow(e))},MillerRabin.prototype.test=function(r,n,e){var t=r.bitLength(),a=bn.mont(r),i=new bn(1).toRed(a);n||(n=Math.max(1,t/48|0));for(var o=r.subn(1),b=0;!o.testn(b);b++);for(var d=r.shrn(b),u=o.toRed(a);n>0;n--){var f=this._randrange(new bn(2),o);e&&e(f);var c=f.toRed(a).redPow(d);if(0!==c.cmp(i)&&0!==c.cmp(u)){for(var l=1;l<b;l++){if(0===(c=c.redSqr()).cmp(i))return!1;if(0===c.cmp(u))break}if(l===b)return!1}}return!0},MillerRabin.prototype.getDivisor=function(r,n){var e=r.bitLength(),t=bn.mont(r),a=new bn(1).toRed(t);n||(n=Math.max(1,e/48|0));for(var i=r.subn(1),o=0;!i.testn(o);o++);for(var b=r.shrn(o),d=i.toRed(t);n>0;n--){var u=this._randrange(new bn(2),i),f=r.gcd(u);if(0!==f.cmpn(1))return f;var c=u.toRed(t).redPow(b);if(0!==c.cmp(a)&&0!==c.cmp(d)){for(var l=1;l<o;l++){if(0===(c=c.redSqr()).cmp(a))return c.fromRed().subn(1).gcd(r);if(0===c.cmp(d))break}if(l===o)return(c=c.redSqr()).fromRed().subn(1).gcd(r)}}return!1};
},{"bn.js":18,"brorand":19}],107:[function(require,module,exports){
function assert(r,e){if(!r)throw new Error(e||"Assertion failed")}module.exports=assert,assert.equal=function(r,e,s){if(r!=e)throw new Error(s||"Assertion failed: "+r+" != "+e)};
},{}],108:[function(require,module,exports){
"use strict";var utils=exports;function toArray(r,t){if(Array.isArray(r))return r.slice();if(!r)return[];var e=[];if("string"!=typeof r){for(var n=0;n<r.length;n++)e[n]=0|r[n];return e}if("hex"===t){(r=r.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(r="0"+r);for(n=0;n<r.length;n+=2)e.push(parseInt(r[n]+r[n+1],16))}else for(n=0;n<r.length;n++){var o=r.charCodeAt(n),u=o>>8,i=255&o;u?e.push(u,i):e.push(i)}return e}function zero2(r){return 1===r.length?"0"+r:r}function toHex(r){for(var t="",e=0;e<r.length;e++)t+=zero2(r[e].toString(16));return t}utils.toArray=toArray,utils.zero2=zero2,utils.toHex=toHex,utils.encode=function(r,t){return"hex"===t?toHex(r):r};
},{}],109:[function(require,module,exports){
module.exports={"2.16.840.1.101.3.4.1.1": "aes-128-ecb",
"2.16.840.1.101.3.4.1.2": "aes-128-cbc",
"2.16.840.1.101.3.4.1.3": "aes-128-ofb",
"2.16.840.1.101.3.4.1.4": "aes-128-cfb",
"2.16.840.1.101.3.4.1.21": "aes-192-ecb",
"2.16.840.1.101.3.4.1.22": "aes-192-cbc",
"2.16.840.1.101.3.4.1.23": "aes-192-ofb",
"2.16.840.1.101.3.4.1.24": "aes-192-cfb",
"2.16.840.1.101.3.4.1.41": "aes-256-ecb",
"2.16.840.1.101.3.4.1.42": "aes-256-cbc",
"2.16.840.1.101.3.4.1.43": "aes-256-ofb",
"2.16.840.1.101.3.4.1.44": "aes-256-cfb"
}
},{}],110:[function(require,module,exports){
"use strict";var asn1=require("asn1.js");exports.certificate=require("./certificate");var RSAPrivateKey=asn1.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});exports.RSAPrivateKey=RSAPrivateKey;var RSAPublicKey=asn1.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});exports.RSAPublicKey=RSAPublicKey;var PublicKey=asn1.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(AlgorithmIdentifier),this.key("subjectPublicKey").bitstr())});exports.PublicKey=PublicKey;var AlgorithmIdentifier=asn1.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),PrivateKeyInfo=asn1.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(AlgorithmIdentifier),this.key("subjectPrivateKey").octstr())});exports.PrivateKey=PrivateKeyInfo;var EncryptedPrivateKeyInfo=asn1.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});exports.EncryptedPrivateKey=EncryptedPrivateKeyInfo;var DSAPrivateKey=asn1.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});exports.DSAPrivateKey=DSAPrivateKey,exports.DSAparam=asn1.define("DSAparam",function(){this.int()});var ECPrivateKey=asn1.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(ECParameters),this.key("publicKey").optional().explicit(1).bitstr())});exports.ECPrivateKey=ECPrivateKey;var ECParameters=asn1.define("ECParameters",function(){this.choice({namedCurve:this.objid()})});exports.signature=asn1.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())});
},{"./certificate":111,"asn1.js":3}],111:[function(require,module,exports){
"use strict";var asn=require("asn1.js"),Time=asn.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),AttributeTypeValue=asn.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),AlgorithmIdentifier=asn.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())}),SubjectPublicKeyInfo=asn.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(AlgorithmIdentifier),this.key("subjectPublicKey").bitstr())}),RelativeDistinguishedName=asn.define("RelativeDistinguishedName",function(){this.setof(AttributeTypeValue)}),RDNSequence=asn.define("RDNSequence",function(){this.seqof(RelativeDistinguishedName)}),Name=asn.define("Name",function(){this.choice({rdnSequence:this.use(RDNSequence)})}),Validity=asn.define("Validity",function(){this.seq().obj(this.key("notBefore").use(Time),this.key("notAfter").use(Time))}),Extension=asn.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),TBSCertificate=asn.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(AlgorithmIdentifier),this.key("issuer").use(Name),this.key("validity").use(Validity),this.key("subject").use(Name),this.key("subjectPublicKeyInfo").use(SubjectPublicKeyInfo),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(Extension).optional())}),X509Certificate=asn.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(TBSCertificate),this.key("signatureAlgorithm").use(AlgorithmIdentifier),this.key("signatureValue").bitstr())});module.exports=X509Certificate;
},{"asn1.js":3}],112:[function(require,module,exports){
var findProc=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r\+\/\=]+)[\n\r]+/m,startRegex=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,fullRegex=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r\+\/\=]+)-----END \1-----$/m,evp=require("evp_bytestokey"),ciphers=require("browserify-aes"),Buffer=require("safe-buffer").Buffer;module.exports=function(e,r){var f,a=e.toString(),t=a.match(findProc);if(t){var n="aes"+t[1],u=Buffer.from(t[2],"hex"),s=Buffer.from(t[3].replace(/[\r\n]/g,""),"base64"),c=evp(r,u.slice(0,8),parseInt(t[1],10)).key,i=[],p=ciphers.createDecipheriv(n,c,u);i.push(p.update(s)),i.push(p.final()),f=Buffer.concat(i)}else{var o=a.match(fullRegex);f=Buffer.from(o[2].replace(/[\r\n]/g,""),"base64")}return{tag:a.match(startRegex)[1],data:f}};
},{"browserify-aes":23,"evp_bytestokey":86,"safe-buffer":145}],113:[function(require,module,exports){
var asn1=require("./asn1"),aesid=require("./aesid.json"),fixProc=require("./fixProc"),ciphers=require("browserify-aes"),compat=require("pbkdf2"),Buffer=require("safe-buffer").Buffer;function parseKeys(e){var r;"object"!=typeof e||Buffer.isBuffer(e)||(r=e.passphrase,e=e.key),"string"==typeof e&&(e=Buffer.from(e));var a,t,s=fixProc(e,r),i=s.tag,c=s.data;switch(i){case"CERTIFICATE":t=asn1.certificate.decode(c,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(t||(t=asn1.PublicKey.decode(c,"der")),a=t.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return asn1.RSAPublicKey.decode(t.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return t.subjectPrivateKey=t.subjectPublicKey,{type:"ec",data:t};case"1.2.840.10040.4.1":return t.algorithm.params.pub_key=asn1.DSAparam.decode(t.subjectPublicKey.data,"der"),{type:"dsa",data:t.algorithm.params};default:throw new Error("unknown key id "+a)}throw new Error("unknown key type "+i);case"ENCRYPTED PRIVATE KEY":c=decrypt(c=asn1.EncryptedPrivateKey.decode(c,"der"),r);case"PRIVATE KEY":switch(a=(t=asn1.PrivateKey.decode(c,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return asn1.RSAPrivateKey.decode(t.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:t.algorithm.curve,privateKey:asn1.ECPrivateKey.decode(t.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return t.algorithm.params.priv_key=asn1.DSAparam.decode(t.subjectPrivateKey,"der"),{type:"dsa",params:t.algorithm.params};default:throw new Error("unknown key id "+a)}throw new Error("unknown key type "+i);case"RSA PUBLIC KEY":return asn1.RSAPublicKey.decode(c,"der");case"RSA PRIVATE KEY":return asn1.RSAPrivateKey.decode(c,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:asn1.DSAPrivateKey.decode(c,"der")};case"EC PRIVATE KEY":return{curve:(c=asn1.ECPrivateKey.decode(c,"der")).parameters.value,privateKey:c.privateKey};default:throw new Error("unknown key type "+i)}}function decrypt(e,r){var a=e.algorithm.decrypt.kde.kdeparams.salt,t=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10),s=aesid[e.algorithm.decrypt.cipher.algo.join(".")],i=e.algorithm.decrypt.cipher.iv,c=e.subjectPrivateKey,d=parseInt(s.split("-")[1],10)/8,n=compat.pbkdf2Sync(r,a,t,d,"sha1"),o=ciphers.createDecipheriv(s,n,i),u=[];return u.push(o.update(c)),u.push(o.final()),Buffer.concat(u)}module.exports=parseKeys,parseKeys.signature=asn1.signature;
},{"./aesid.json":109,"./asn1":110,"./fixProc":112,"browserify-aes":23,"pbkdf2":115,"safe-buffer":145}],114:[function(require,module,exports){
(function (process){
function normalizeArray(r,t){for(var e=0,n=r.length-1;n>=0;n--){var o=r[n];"."===o?r.splice(n,1):".."===o?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift("..");return r}function basename(r){"string"!=typeof r&&(r+="");var t,e=0,n=-1,o=!0;for(t=r.length-1;t>=0;--t)if(47===r.charCodeAt(t)){if(!o){e=t+1;break}}else-1===n&&(o=!1,n=t+1);return-1===n?"":r.slice(e,n)}function filter(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n<r.length;n++)t(r[n],n,r)&&e.push(r[n]);return e}exports.resolve=function(){for(var r="",t=!1,e=arguments.length-1;e>=-1&&!t;e--){var n=e>=0?arguments[e]:process.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(r=n+"/"+r,t="/"===n.charAt(0))}return(t?"/":"")+(r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"))||"."},exports.normalize=function(r){var t=exports.isAbsolute(r),e="/"===substr(r,-1);return(r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"))||t||(r="."),r&&e&&(r+="/"),(t?"/":"")+r},exports.isAbsolute=function(r){return"/"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(r,function(r,t){if("string"!=typeof r)throw new TypeError("Arguments to path.join must be strings");return r}).join("/"))},exports.relative=function(r,t){function e(r){for(var t=0;t<r.length&&""===r[t];t++);for(var e=r.length-1;e>=0&&""===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split("/")),o=e(t.split("/")),s=Math.min(n.length,o.length),i=s,u=0;u<s;u++)if(n[u]!==o[u]){i=u;break}var l=[];for(u=i;u<n.length;u++)l.push("..");return(l=l.concat(o.slice(i))).join("/")},exports.sep="/",exports.delimiter=":",exports.dirname=function(r){if("string"!=typeof r&&(r+=""),0===r.length)return".";for(var t=r.charCodeAt(0),e=47===t,n=-1,o=!0,s=r.length-1;s>=1;--s)if(47===(t=r.charCodeAt(s))){if(!o){n=s;break}}else o=!1;return-1===n?e?"/":".":e&&1===n?"/":r.slice(0,n)},exports.basename=function(r,t){var e=basename(r);return t&&e.substr(-1*t.length)===t&&(e=e.substr(0,e.length-t.length)),e},exports.extname=function(r){"string"!=typeof r&&(r+="");for(var t=-1,e=0,n=-1,o=!0,s=0,i=r.length-1;i>=0;--i){var u=r.charCodeAt(i);if(47!==u)-1===n&&(o=!1,n=i+1),46===u?-1===t?t=i:1!==s&&(s=1):-1!==t&&(s=-1);else if(!o){e=i+1;break}}return-1===t||-1===n||0===s||1===s&&t===n-1&&t===e+1?"":r.slice(t,n)};var substr="b"==="ab".substr(-1)?function(r,t,e){return r.substr(t,e)}:function(r,t,e){return t<0&&(t=r.length+t),r.substr(t,e)};
}).call(this,require('_process'))
},{"_process":121}],115:[function(require,module,exports){
exports.pbkdf2=require("./lib/async"),exports.pbkdf2Sync=require("./lib/sync");
},{"./lib/async":116,"./lib/sync":119}],116:[function(require,module,exports){
(function (process,global){
var ZERO_BUF,checkParameters=require("./precondition"),defaultEncoding=require("./default-encoding"),sync=require("./sync"),Buffer=require("safe-buffer").Buffer,subtle=global.crypto&&global.crypto.subtle,toBrowser={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},checks=[];function checkNative(e){if(global.process&&!global.process.browser)return Promise.resolve(!1);if(!subtle||!subtle.importKey||!subtle.deriveBits)return Promise.resolve(!1);if(void 0!==checks[e])return checks[e];var r=browserPbkdf2(ZERO_BUF=ZERO_BUF||Buffer.alloc(8),ZERO_BUF,10,128,e).then(function(){return!0}).catch(function(){return!1});return checks[e]=r,r}function browserPbkdf2(e,r,n,t,o){return subtle.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]).then(function(e){return subtle.deriveBits({name:"PBKDF2",salt:r,iterations:n,hash:{name:o}},e,t<<3)}).then(function(e){return Buffer.from(e)})}function resolvePromise(e,r){e.then(function(e){process.nextTick(function(){r(null,e)})},function(e){process.nextTick(function(){r(e)})})}module.exports=function(e,r,n,t,o,s){"function"==typeof o&&(s=o,o=void 0);var c=toBrowser[(o=o||"sha1").toLowerCase()];if(!c||"function"!=typeof global.Promise)return process.nextTick(function(){var c;try{c=sync(e,r,n,t,o)}catch(e){return s(e)}s(null,c)});if(checkParameters(e,r,n,t),"function"!=typeof s)throw new Error("No callback provided to pbkdf2");Buffer.isBuffer(e)||(e=Buffer.from(e,defaultEncoding)),Buffer.isBuffer(r)||(r=Buffer.from(r,defaultEncoding)),resolvePromise(checkNative(c).then(function(s){return s?browserPbkdf2(e,r,n,t,c):sync(e,r,n,t,o)}),s)};
}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"./default-encoding":117,"./precondition":118,"./sync":119,"_process":121,"safe-buffer":145}],117:[function(require,module,exports){
(function (process){
var defaultEncoding;if(process.browser)defaultEncoding="utf-8";else{var pVersionMajor=parseInt(process.version.split(".")[0].slice(1),10);defaultEncoding=pVersionMajor>=6?"utf-8":"binary"}module.exports=defaultEncoding;
}).call(this,require('_process'))
},{"_process":121}],118:[function(require,module,exports){
(function (Buffer){
var MAX_ALLOC=Math.pow(2,30)-1;function checkBuffer(r,e){if("string"!=typeof r&&!Buffer.isBuffer(r))throw new TypeError(e+" must be a buffer or string")}module.exports=function(r,e,o,t){if(checkBuffer(r,"Password"),checkBuffer(e,"Salt"),"number"!=typeof o)throw new TypeError("Iterations not a number");if(o<0)throw new TypeError("Bad iterations");if("number"!=typeof t)throw new TypeError("Key length not a number");if(t<0||t>MAX_ALLOC||t!=t)throw new TypeError("Bad key length")};
}).call(this,{"isBuffer":require("../../is-buffer/index.js")})
},{"../../is-buffer/index.js":103}],119:[function(require,module,exports){
var md5=require("create-hash/md5"),RIPEMD160=require("ripemd160"),sha=require("sha.js"),checkParameters=require("./precondition"),defaultEncoding=require("./default-encoding"),Buffer=require("safe-buffer").Buffer,ZEROS=Buffer.alloc(128),sizes={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function Hmac(e,r,a){var s=getDigest(e),f="sha512"===e||"sha384"===e?128:64;r.length>f?r=s(r):r.length<f&&(r=Buffer.concat([r,ZEROS],f));for(var i=Buffer.allocUnsafe(f+sizes[e]),t=Buffer.allocUnsafe(f+sizes[e]),n=0;n<f;n++)i[n]=54^r[n],t[n]=92^r[n];var u=Buffer.allocUnsafe(f+a+4);i.copy(u,0,0,f),this.ipad1=u,this.ipad2=i,this.opad=t,this.alg=e,this.blocksize=f,this.hash=s,this.size=sizes[e]}function getDigest(e){return"rmd160"===e||"ripemd160"===e?function(e){return(new RIPEMD160).update(e).digest()}:"md5"===e?md5:function(r){return sha(e).update(r).digest()}}function pbkdf2(e,r,a,s,f){checkParameters(e,r,a,s),Buffer.isBuffer(e)||(e=Buffer.from(e,defaultEncoding)),Buffer.isBuffer(r)||(r=Buffer.from(r,defaultEncoding));var i=new Hmac(f=f||"sha1",e,r.length),t=Buffer.allocUnsafe(s),n=Buffer.allocUnsafe(r.length+4);r.copy(n,0,0,r.length);for(var u=0,h=sizes[f],o=Math.ceil(s/h),c=1;c<=o;c++){n.writeUInt32BE(c,r.length);for(var d=i.run(n,i.ipad1),l=d,p=1;p<a;p++){l=i.run(l,i.ipad2);for(var m=0;m<h;m++)d[m]^=l[m]}d.copy(t,u),u+=h}return t}Hmac.prototype.run=function(e,r){return e.copy(r,this.blocksize),this.hash(r).copy(this.opad,this.blocksize),this.hash(this.opad)},module.exports=pbkdf2;
},{"./default-encoding":117,"./precondition":118,"create-hash/md5":55,"ripemd160":144,"safe-buffer":145,"sha.js":147}],120:[function(require,module,exports){
(function (process){
"use strict";function nextTick(e,n,c,r){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var s,t,o=arguments.length;switch(o){case 0:case 1:return process.nextTick(e);case 2:return process.nextTick(function(){e.call(null,n)});case 3:return process.nextTick(function(){e.call(null,n,c)});case 4:return process.nextTick(function(){e.call(null,n,c,r)});default:for(s=new Array(o-1),t=0;t<s.length;)s[t++]=arguments[t];return process.nextTick(function(){e.apply(null,s)})}}!process.version||0===process.version.indexOf("v0.")||0===process.version.indexOf("v1.")&&0!==process.version.indexOf("v1.8.")?module.exports={nextTick:nextTick}:module.exports=process;
}).call(this,require('_process'))
},{"_process":121}],121:[function(require,module,exports){
var cachedSetTimeout,cachedClearTimeout,process=module.exports={};function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}!function(){try{cachedSetTimeout="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){cachedSetTimeout=defaultSetTimout}try{cachedClearTimeout="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){cachedClearTimeout=defaultClearTimeout}}();var currentQueue,queue=[],draining=!1,queueIndex=-1;function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex<t;)currentQueue&¤tQueue[queueIndex].run();queueIndex=-1,t=queue.length}currentQueue=null,draining=!1,runClearTimeout(e)}}function Item(e,t){this.fun=e,this.array=t}function noop(){}process.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];queue.push(new Item(e,t)),1!==queue.length||draining||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.prependListener=noop,process.prependOnceListener=noop,process.listeners=function(e){return[]},process.binding=function(e){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(e){throw new Error("process.chdir is not supported")},process.umask=function(){return 0};
},{}],122:[function(require,module,exports){
exports.publicEncrypt=require("./publicEncrypt"),exports.privateDecrypt=require("./privateDecrypt"),exports.privateEncrypt=function(r,p){return exports.publicEncrypt(r,p,!0)},exports.publicDecrypt=function(r,p){return exports.privateDecrypt(r,p,!0)};
},{"./privateDecrypt":124,"./publicEncrypt":125}],123:[function(require,module,exports){
var createHash=require("create-hash"),Buffer=require("safe-buffer").Buffer;function i2ops(e){var r=Buffer.allocUnsafe(4);return r.writeUInt32BE(e,0),r}module.exports=function(e,r){for(var a,f=Buffer.alloc(0),t=0;f.length<r;)a=i2ops(t++),f=Buffer.concat([f,createHash("sha1").update(e).update(a).digest()]);return f.slice(0,r)};
},{"create-hash":54,"safe-buffer":145}],124:[function(require,module,exports){
var parseKeys=require("parse-asn1"),mgf=require("./mgf"),xor=require("./xor"),BN=require("bn.js"),crt=require("browserify-rsa"),createHash=require("create-hash"),withPublic=require("./withPublic"),Buffer=require("safe-buffer").Buffer;function oaep(r,e){var t=r.modulus.byteLength(),n=createHash("sha1").update(Buffer.alloc(0)).digest(),o=n.length;if(0!==e[0])throw new Error("decryption error");var i=e.slice(1,o+1),f=e.slice(o+1),u=xor(i,mgf(f,o)),a=xor(f,mgf(u,t-o-1));if(compare(n,a.slice(0,o)))throw new Error("decryption error");for(var c=o;0===a[c];)c++;if(1!==a[c++])throw new Error("decryption error");return a.slice(c)}function pkcs1(r,e,t){for(var n=e.slice(0,2),o=2,i=0;0!==e[o++];)if(o>=e.length){i++;break}var f=e.slice(2,o-1);if(("0002"!==n.toString("hex")&&!t||"0001"!==n.toString("hex")&&t)&&i++,f.length<8&&i++,i)throw new Error("decryption error");return e.slice(o)}function compare(r,e){r=Buffer.from(r),e=Buffer.from(e);var t=0,n=r.length;r.length!==e.length&&(t++,n=Math.min(r.length,e.length));for(var o=-1;++o<n;)t+=r[o]^e[o];return t}module.exports=function(r,e,t){var n;n=r.padding?r.padding:t?1:4;var o,i=parseKeys(r),f=i.modulus.byteLength();if(e.length>f||new BN(e).cmp(i.modulus)>=0)throw new Error("decryption error");o=t?withPublic(new BN(e),i):crt(e,i);var u=Buffer.alloc(f-o.length);if(o=Buffer.concat([u,o],f),4===n)return oaep(i,o);if(1===n)return pkcs1(i,o,t);if(3===n)return o;throw new Error("unknown padding")};
},{"./mgf":123,"./withPublic":126,"./xor":127,"bn.js":18,"browserify-rsa":41,"create-hash":54,"parse-asn1":113,"safe-buffer":145}],125:[function(require,module,exports){
var parseKeys=require("parse-asn1"),randomBytes=require("randombytes"),createHash=require("create-hash"),mgf=require("./mgf"),xor=require("./xor"),BN=require("bn.js"),withPublic=require("./withPublic"),crt=require("browserify-rsa"),Buffer=require("safe-buffer").Buffer;function oaep(r,e){var o=r.modulus.byteLength(),n=e.length,f=createHash("sha1").update(Buffer.alloc(0)).digest(),a=f.length,u=2*a;if(n>o-u-2)throw new Error("message too long");var t=Buffer.alloc(o-n-u-2),s=o-a-1,l=randomBytes(a),i=xor(Buffer.concat([f,t,Buffer.alloc(1,1),e],s),mgf(l,s)),c=xor(l,mgf(i,a));return new BN(Buffer.concat([Buffer.alloc(1),c,i],o))}function pkcs1(r,e,o){var n,f=e.length,a=r.modulus.byteLength();if(f>a-11)throw new Error("message too long");return n=o?Buffer.alloc(a-f-3,255):nonZero(a-f-3),new BN(Buffer.concat([Buffer.from([0,o?1:2]),n,Buffer.alloc(1),e],a))}function nonZero(r){for(var e,o=Buffer.allocUnsafe(r),n=0,f=randomBytes(2*r),a=0;n<r;)a===f.length&&(f=randomBytes(2*r),a=0),(e=f[a++])&&(o[n++]=e);return o}module.exports=function(r,e,o){var n;n=r.padding?r.padding:o?1:4;var f,a=parseKeys(r);if(4===n)f=oaep(a,e);else if(1===n)f=pkcs1(a,e,o);else{if(3!==n)throw new Error("unknown padding");if((f=new BN(e)).cmp(a.modulus)>=0)throw new Error("data too long for modulus")}return o?crt(f,a):withPublic(f,a)};
},{"./mgf":123,"./withPublic":126,"./xor":127,"bn.js":18,"browserify-rsa":41,"create-hash":54,"parse-asn1":113,"randombytes":128,"safe-buffer":145}],126:[function(require,module,exports){
var BN=require("bn.js"),Buffer=require("safe-buffer").Buffer;function withPublic(e,r){return Buffer.from(e.toRed(BN.mont(r.modulus)).redPow(new BN(r.publicExponent)).fromRed().toArray())}module.exports=withPublic;
},{"bn.js":18,"safe-buffer":145}],127:[function(require,module,exports){
module.exports=function(r,e){for(var n=r.length,o=-1;++o<n;)r[o]^=e[o];return r};
},{}],128:[function(require,module,exports){
(function (process,global){
"use strict";var MAX_BYTES=65536,MAX_UINT32=4294967295;function oldBrowser(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}var Buffer=require("safe-buffer").Buffer,crypto=global.crypto||global.msCrypto;function randomBytes(r,e){if(r>MAX_UINT32)throw new RangeError("requested too many random bytes");var o=Buffer.allocUnsafe(r);if(r>0)if(r>MAX_BYTES)for(var t=0;t<r;t+=MAX_BYTES)crypto.getRandomValues(o.slice(t,t+MAX_BYTES));else crypto.getRandomValues(o);return"function"==typeof e?process.nextTick(function(){e(null,o)}):o}crypto&&crypto.getRandomValues?module.exports=randomBytes:module.exports=oldBrowser;
}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"_process":121,"safe-buffer":145}],129:[function(require,module,exports){
(function (process,global){
"use strict";function oldBrowser(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var safeBuffer=require("safe-buffer"),randombytes=require("randombytes"),Buffer=safeBuffer.Buffer,kBufferMaxLength=safeBuffer.kMaxLength,crypto=global.crypto||global.msCrypto,kMaxUint32=Math.pow(2,32)-1;function assertOffset(r,e){if("number"!=typeof r||r!=r)throw new TypeError("offset must be a number");if(r>kMaxUint32||r<0)throw new TypeError("offset must be a uint32");if(r>kBufferMaxLength||r>e)throw new RangeError("offset out of range")}function assertSize(r,e,t){if("number"!=typeof r||r!=r)throw new TypeError("size must be a number");if(r>kMaxUint32||r<0)throw new TypeError("size must be a uint32");if(r+e>t||r>kBufferMaxLength)throw new RangeError("buffer too small")}function randomFill(r,e,t,n){if(!(Buffer.isBuffer(r)||r instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof e)n=e,e=0,t=r.length;else if("function"==typeof t)n=t,t=r.length-e;else if("function"!=typeof n)throw new TypeError('"cb" argument must be a function');return assertOffset(e,r.length),assertSize(t,e,r.length),actualFill(r,e,t,n)}function actualFill(r,e,t,n){if(process.browser){var o=r.buffer,f=new Uint8Array(o,e,t);return crypto.getRandomValues(f),n?void process.nextTick(function(){n(null,r)}):r}if(!n)return randombytes(t).copy(r,e),r;randombytes(t,function(t,o){if(t)return n(t);o.copy(r,e),n(null,r)})}function randomFillSync(r,e,t){if(void 0===e&&(e=0),!(Buffer.isBuffer(r)||r instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return assertOffset(e,r.length),void 0===t&&(t=r.length-e),assertSize(t,e,r.length),actualFill(r,e,t)}crypto&&crypto.getRandomValues||!process.browser?(exports.randomFill=randomFill,exports.randomFillSync=randomFillSync):(exports.randomFill=oldBrowser,exports.randomFillSync=oldBrowser);
}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"_process":121,"randombytes":128,"safe-buffer":145}],130:[function(require,module,exports){
module.exports=require("./lib/_stream_duplex.js");
},{"./lib/_stream_duplex.js":131}],131:[function(require,module,exports){
"use strict";var pna=require("process-nextick-args"),objectKeys=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};module.exports=Duplex;var util=require("core-util-is");util.inherits=require("inherits");var Readable=require("./_stream_readable"),Writable=require("./_stream_writable");util.inherits(Duplex,Readable);for(var keys=objectKeys(Writable.prototype),v=0;v<keys.length;v++){var method=keys[v];Duplex.prototype[method]||(Duplex.prototype[method]=Writable.prototype[method])}function Duplex(e){if(!(this instanceof Duplex))return new Duplex(e);Readable.call(this,e),Writable.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",onend)}function onend(){this.allowHalfOpen||this._writableState.ended||pna.nextTick(onEndNT,this)}function onEndNT(e){e.end()}Object.defineProperty(Duplex.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(Duplex.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),Duplex.prototype._destroy=function(e,t){this.push(null),this.end(),pna.nextTick(t,e)};
},{"./_stream_readable":133,"./_stream_writable":135,"core-util-is":52,"inherits":102,"process-nextick-args":120}],132:[function(require,module,exports){
"use strict";module.exports=PassThrough;var Transform=require("./_stream_transform"),util=require("core-util-is");function PassThrough(r){if(!(this instanceof PassThrough))return new PassThrough(r);Transform.call(this,r)}util.inherits=require("inherits"),util.inherits(PassThrough,Transform),PassThrough.prototype._transform=function(r,s,i){i(null,r)};
},{"./_stream_transform":134,"core-util-is":52,"inherits":102}],133:[function(require,module,exports){
(function (process,global){
"use strict";var pna=require("process-nextick-args");module.exports=Readable;var Duplex,isArray=require("isarray");Readable.ReadableState=ReadableState;var EE=require("events").EventEmitter,EElistenerCount=function(e,t){return e.listeners(t).length},Stream=require("./internal/streams/stream"),Buffer=require("safe-buffer").Buffer,OurUint8Array=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return Buffer.from(e)}function _isUint8Array(e){return Buffer.isBuffer(e)||e instanceof OurUint8Array}var util=require("core-util-is");util.inherits=require("inherits");var debugUtil=require("util"),debug=void 0;debug=debugUtil&&debugUtil.debuglog?debugUtil.debuglog("stream"):function(){};var StringDecoder,BufferList=require("./internal/streams/BufferList"),destroyImpl=require("./internal/streams/destroy");util.inherits(Readable,Stream);var kProxyEvents=["error","close","destroy","pause","resume"];function prependListener(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}function ReadableState(e,t){e=e||{};var r=t instanceof(Duplex=Duplex||require("./_stream_duplex"));this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var n=e.highWaterMark,a=e.readableHighWaterMark,i=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:r&&(a||0===a)?a:i,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new BufferList,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder),this.decoder=new StringDecoder(e.encoding),this.encoding=e.encoding)}function Readable(e){if(Duplex=Duplex||require("./_stream_duplex"),!(this instanceof Readable))return new Readable(e);this._readableState=new ReadableState(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),Stream.call(this)}function readableAddChunk(e,t,r,n,a){var i,d=e._readableState;null===t?(d.reading=!1,onEofChunk(e,d)):(a||(i=chunkInvalid(d,t)),i?e.emit("error",i):d.objectMode||t&&t.length>0?("string"==typeof t||d.objectMode||Object.getPrototypeOf(t)===Buffer.prototype||(t=_uint8ArrayToBuffer(t)),n?d.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):addChunk(e,d,t,!0):d.ended?e.emit("error",new Error("stream.push() after EOF")):(d.reading=!1,d.decoder&&!r?(t=d.decoder.write(t),d.objectMode||0!==t.length?addChunk(e,d,t,!1):maybeReadMore(e,d)):addChunk(e,d,t,!1))):n||(d.reading=!1));return needMoreData(d)}function addChunk(e,t,r,n){t.flowing&&0===t.length&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&emitReadable(e)),maybeReadMore(e,t)}function chunkInvalid(e,t){var r;return _isUint8Array(t)||"string"==typeof t||void 0===t||e.objectMode||(r=new TypeError("Invalid non-string/buffer chunk")),r}function needMoreData(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}Object.defineProperty(Readable.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),Readable.prototype.destroy=destroyImpl.destroy,Readable.prototype._undestroy=destroyImpl.undestroy,Readable.prototype._destroy=function(e,t){this.push(null),t(e)},Readable.prototype.push=function(e,t){var r,n=this._readableState;return n.objectMode?r=!0:"string"==typeof e&&((t=t||n.defaultEncoding)!==n.encoding&&(e=Buffer.from(e,t),t=""),r=!0),readableAddChunk(this,e,t,!1,r)},Readable.prototype.unshift=function(e){return readableAddChunk(this,e,null,!0,!1)},Readable.prototype.isPaused=function(){return!1===this._readableState.flowing},Readable.prototype.setEncoding=function(e){return StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder),this._readableState.decoder=new StringDecoder(e),this._readableState.encoding=e,this};var MAX_HWM=8388608;function computeNewHighWaterMark(e){return e>=MAX_HWM?e=MAX_HWM:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function howMuchToRead(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=computeNewHighWaterMark(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function onEofChunk(e,t){if(!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,emitReadable(e)}}function emitReadable(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(debug("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?pna.nextTick(emitReadable_,e):emitReadable_(e))}function emitReadable_(e){debug("emit readable"),e.emit("readable"),flow(e)}function maybeReadMore(e,t){t.readingMore||(t.readingMore=!0,pna.nextTick(maybeReadMore_,e,t))}function maybeReadMore_(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(debug("maybeReadMore read 0"),e.read(0),r!==t.length);)r=t.length;t.readingMore=!1}function pipeOnDrain(e){return function(){var t=e._readableState;debug("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&EElistenerCount(e,"data")&&(t.flowing=!0,flow(e))}}function nReadingNextTick(e){debug("readable nexttick read 0"),e.read(0)}function resume(e,t){t.resumeScheduled||(t.resumeScheduled=!0,pna.nextTick(resume_,e,t))}function resume_(e,t){t.reading||(debug("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),flow(e),t.flowing&&!t.reading&&e.read(0)}function flow(e){var t=e._readableState;for(debug("flow",t.flowing);t.flowing&&null!==e.read(););}function fromList(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=fromListPartial(e,t.buffer,t.decoder),r);var r}function fromListPartial(e,t,r){var n;return e<t.head.data.length?(n=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):n=e===t.head.data.length?t.shift():r?copyFromBufferString(e,t):copyFromBuffer(e,t),n}function copyFromBufferString(e,t){var r=t.head,n=1,a=r.data;for(e-=a.length;r=r.next;){var i=r.data,d=e>i.length?i.length:e;if(d===i.length?a+=i:a+=i.slice(0,e),0===(e-=d)){d===i.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=i.slice(d));break}++n}return t.length-=n,a}function copyFromBuffer(e,t){var r=Buffer.allocUnsafe(e),n=t.head,a=1;for(n.data.copy(r),e-=n.data.length;n=n.next;){var i=n.data,d=e>i.length?i.length:e;if(i.copy(r,r.length-e,0,d),0===(e-=d)){d===i.length?(++a,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=i.slice(d));break}++a}return t.length-=a,r}function endReadable(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,pna.nextTick(endReadableNT,t,e))}function endReadableNT(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function indexOf(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}Readable.prototype.read=function(e){debug("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return debug("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?endReadable(this):emitReadable(this),null;if(0===(e=howMuchToRead(e,t))&&t.ended)return 0===t.length&&endReadable(this),null;var n,a=t.needReadable;return debug("need readable",a),(0===t.length||t.length-e<t.highWaterMark)&&debug("length less than watermark",a=!0),t.ended||t.reading?debug("reading or ended",a=!1):a&&(debug("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=howMuchToRead(r,t))),null===(n=e>0?fromList(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&endReadable(this)),null!==n&&this.emit("data",n),n},Readable.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},Readable.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e)}n.pipesCount+=1,debug("pipe count=%d opts=%j",n.pipesCount,t);var a=(!t||!1!==t.end)&&e!==process.stdout&&e!==process.stderr?d:b;function i(t,a){debug("onunpipe"),t===r&&a&&!1===a.hasUnpiped&&(a.hasUnpiped=!0,debug("cleanup"),e.removeListener("close",f),e.removeListener("finish",p),e.removeListener("drain",o),e.removeListener("error",h),e.removeListener("unpipe",i),r.removeListener("end",d),r.removeListener("end",b),r.removeListener("data",s),u=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||o())}function d(){debug("onend"),e.end()}n.endEmitted?pna.nextTick(a):r.once("end",a),e.on("unpipe",i);var o=pipeOnDrain(r);e.on("drain",o);var u=!1;var l=!1;function s(t){debug("ondata"),l=!1,!1!==e.write(t)||l||((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==indexOf(n.pipes,e))&&!u&&(debug("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,l=!0),r.pause())}function h(t){debug("onerror",t),b(),e.removeListener("error",h),0===EElistenerCount(e,"error")&&e.emit("error",t)}function f(){e.removeListener("finish",p),b()}function p(){debug("onfinish"),e.removeListener("close",f),b()}function b(){debug("unpipe"),r.unpipe(e)}return r.on("data",s),prependListener(e,"error",h),e.once("close",f),e.once("finish",p),e.emit("pipe",r),n.flowing||(debug("pipe resume"),r.resume()),e},Readable.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var n=t.pipes,a=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i<a;i++)n[i].emit("unpipe",this,r);return this}var d=indexOf(t.pipes,e);return-1===d?this:(t.pipes.splice(d,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,r),this)},Readable.prototype.on=function(e,t){var r=Stream.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var n=this._readableState;n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.emittedReadable=!1,n.reading?n.length&&emitReadable(this):pna.nextTick(nReadingNextTick,this))}return r},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.resume=function(){var e=this._readableState;return e.flowing||(debug("resume"),e.flowing=!0,resume(this,e)),this},Readable.prototype.pause=function(){return debug("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(debug("pause"),this._readableState.flowing=!1,this.emit("pause")),this},Readable.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;for(var a in e.on("end",function(){if(debug("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(a){(debug("wrapped data"),r.decoder&&(a=r.decoder.write(a)),r.objectMode&&null==a)||(r.objectMode||a&&a.length)&&(t.push(a)||(n=!0,e.pause()))}),e)void 0===this[a]&&"function"==typeof e[a]&&(this[a]=function(t){return function(){return e[t].apply(e,arguments)}}(a));for(var i=0;i<kProxyEvents.length;i++)e.on(kProxyEvents[i],this.emit.bind(this,kProxyEvents[i]));return this._read=function(t){debug("wrapped _read",t),n&&(n=!1,e.resume())},this},Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Readable._fromList=fromList;
}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"./_stream_duplex":131,"./internal/streams/BufferList":136,"./internal/streams/destroy":137,"./internal/streams/stream":138,"_process":121,"core-util-is":52,"events":85,"inherits":102,"isarray":104,"process-nextick-args":120,"safe-buffer":145,"string_decoder/":139,"util":20}],134:[function(require,module,exports){
"use strict";module.exports=Transform;var Duplex=require("./_stream_duplex"),util=require("core-util-is");function afterTransform(r,t){var n=this._transformState;n.transforming=!1;var e=n.writecb;if(!e)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=t&&this.push(t),e(r);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Transform(r){if(!(this instanceof Transform))return new Transform(r);Duplex.call(this,r),this._transformState={afterTransform:afterTransform.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,r&&("function"==typeof r.transform&&(this._transform=r.transform),"function"==typeof r.flush&&(this._flush=r.flush)),this.on("prefinish",prefinish)}function prefinish(){var r=this;"function"==typeof this._flush?this._flush(function(t,n){done(r,t,n)}):done(this,null,null)}function done(r,t,n){if(t)return r.emit("error",t);if(null!=n&&r.push(n),r._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(r._transformState.transforming)throw new Error("Calling transform done when still transforming");return r.push(null)}util.inherits=require("inherits"),util.inherits(Transform,Duplex),Transform.prototype.push=function(r,t){return this._transformState.needTransform=!1,Duplex.prototype.push.call(this,r,t)},Transform.prototype._transform=function(r,t,n){throw new Error("_transform() is not implemented")},Transform.prototype._write=function(r,t,n){var e=this._transformState;if(e.writecb=n,e.writechunk=r,e.writeencoding=t,!e.transforming){var i=this._readableState;(e.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},Transform.prototype._read=function(r){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},Transform.prototype._destroy=function(r,t){var n=this;Duplex.prototype._destroy.call(this,r,function(r){t(r),n.emit("close")})};
},{"./_stream_duplex":131,"core-util-is":52,"inherits":102}],135:[function(require,module,exports){
(function (process,global,setImmediate){
"use strict";var pna=require("process-nextick-args");function WriteReq(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function CorkedRequest(e){var t=this;this.next=null,this.entry=null,this.finish=function(){onCorkedFinish(t,e)}}module.exports=Writable;var Duplex,asyncWrite=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:pna.nextTick;Writable.WritableState=WritableState;var util=require("core-util-is");util.inherits=require("inherits");var internalUtil={deprecate:require("util-deprecate")},Stream=require("./internal/streams/stream"),Buffer=require("safe-buffer").Buffer,OurUint8Array=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return Buffer.from(e)}function _isUint8Array(e){return Buffer.isBuffer(e)||e instanceof OurUint8Array}var realHasInstance,destroyImpl=require("./internal/streams/destroy");function nop(){}function WritableState(e,t){Duplex=Duplex||require("./_stream_duplex"),e=e||{};var r=t instanceof Duplex;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,n=e.writableHighWaterMark,o=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(n||0===n)?n:o,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===e.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){onwrite(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}function Writable(e){if(Duplex=Duplex||require("./_stream_duplex"),!(realHasInstance.call(Writable,this)||this instanceof Duplex))return new Writable(e);this._writableState=new WritableState(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),Stream.call(this)}function writeAfterEnd(e,t){var r=new Error("write after end");e.emit("error",r),pna.nextTick(t,r)}function validChunk(e,t,r,i){var n=!0,o=!1;return null===r?o=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||t.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(e.emit("error",o),pna.nextTick(i,o),n=!1),n}function decodeChunk(e,t,r){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=Buffer.from(t,r)),t}function writeOrBuffer(e,t,r,i,n,o){if(!r){var a=decodeChunk(t,i,n);i!==a&&(r=!0,n="buffer",i=a)}var s=t.objectMode?1:i.length;t.length+=s;var f=t.length<t.highWaterMark;if(f||(t.needDrain=!0),t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:i,encoding:n,isBuf:r,callback:o,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else doWrite(e,t,!1,s,i,n,o);return f}function doWrite(e,t,r,i,n,o,a){t.writelen=i,t.writecb=a,t.writing=!0,t.sync=!0,r?e._writev(n,t.onwrite):e._write(n,o,t.onwrite),t.sync=!1}function onwriteError(e,t,r,i,n){--t.pendingcb,r?(pna.nextTick(n,i),pna.nextTick(finishMaybe,e,t),e._writableState.errorEmitted=!0,e.emit("error",i)):(n(i),e._writableState.errorEmitted=!0,e.emit("error",i),finishMaybe(e,t))}function onwriteStateUpdate(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function onwrite(e,t){var r=e._writableState,i=r.sync,n=r.writecb;if(onwriteStateUpdate(r),t)onwriteError(e,r,i,t,n);else{var o=needFinish(r);o||r.corked||r.bufferProcessing||!r.bufferedRequest||clearBuffer(e,r),i?asyncWrite(afterWrite,e,r,o,n):afterWrite(e,r,o,n)}}function afterWrite(e,t,r,i){r||onwriteDrain(e,t),t.pendingcb--,i(),finishMaybe(e,t)}function onwriteDrain(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function clearBuffer(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,n=new Array(i),o=t.corkedRequestsFree;o.entry=r;for(var a=0,s=!0;r;)n[a]=r,r.isBuf||(s=!1),r=r.next,a+=1;n.allBuffers=s,doWrite(e,t,!0,t.length,n,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new CorkedRequest(t),t.bufferedRequestCount=0}else{for(;r;){var f=r.chunk,u=r.encoding,l=r.callback;if(doWrite(e,t,!1,t.objectMode?1:f.length,f,u,l),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function needFinish(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function callFinal(e,t){e._final(function(r){t.pendingcb--,r&&e.emit("error",r),t.prefinished=!0,e.emit("prefinish"),finishMaybe(e,t)})}function prefinish(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,pna.nextTick(callFinal,e,t)):(t.prefinished=!0,e.emit("prefinish")))}function finishMaybe(e,t){var r=needFinish(t);return r&&(prefinish(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),r}function endWritable(e,t,r){t.ending=!0,finishMaybe(e,t),r&&(t.finished?pna.nextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function onCorkedFinish(e,t,r){var i=e.entry;for(e.entry=null;i;){var n=i.callback;t.pendingcb--,n(r),i=i.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}util.inherits(Writable,Stream),WritableState.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(realHasInstance=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function(e){return!!realHasInstance.call(this,e)||this===Writable&&(e&&e._writableState instanceof WritableState)}})):realHasInstance=function(e){return e instanceof this},Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},Writable.prototype.write=function(e,t,r){var i=this._writableState,n=!1,o=!i.objectMode&&_isUint8Array(e);return o&&!Buffer.isBuffer(e)&&(e=_uint8ArrayToBuffer(e)),"function"==typeof t&&(r=t,t=null),o?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof r&&(r=nop),i.ended?writeAfterEnd(this,r):(o||validChunk(this,i,e,r))&&(i.pendingcb++,n=writeOrBuffer(this,i,o,e,t,r)),n},Writable.prototype.cork=function(){this._writableState.corked++},Writable.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||clearBuffer(this,e))},Writable.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Writable.prototype._write=function(e,t,r){r(new Error("_write() is not implemented"))},Writable.prototype._writev=null,Writable.prototype.end=function(e,t,r){var i=this._writableState;"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||endWritable(this,i,r)},Object.defineProperty(Writable.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),Writable.prototype.destroy=destroyImpl.destroy,Writable.prototype._undestroy=destroyImpl.undestroy,Writable.prototype._destroy=function(e,t){this.end(),t(e)};
}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("timers").setImmediate)
},{"./_stream_duplex":131,"./internal/streams/destroy":137,"./internal/streams/stream":138,"_process":121,"core-util-is":52,"inherits":102,"process-nextick-args":120,"safe-buffer":145,"timers":156,"util-deprecate":157}],136:[function(require,module,exports){
"use strict";function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var Buffer=require("safe-buffer").Buffer,util=require("util");function copyBuffer(t,e,i){t.copy(e,i)}module.exports=function(){function t(){_classCallCheck(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,i=""+e.data;e=e.next;)i+=t+e.data;return i},t.prototype.concat=function(t){if(0===this.length)return Buffer.alloc(0);if(1===this.length)return this.head.data;for(var e=Buffer.allocUnsafe(t>>>0),i=this.head,n=0;i;)copyBuffer(i.data,e,n),n+=i.data.length,i=i.next;return e},t}(),util&&util.inspect&&util.inspect.custom&&(module.exports.prototype[util.inspect.custom]=function(){var t=util.inspect({length:this.length});return this.constructor.name+" "+t});
},{"safe-buffer":145,"util":20}],137:[function(require,module,exports){
"use strict";var pna=require("process-nextick-args");function destroy(t,e){var r=this,a=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return a||i?(e?e(t):!t||this._writableState&&this._writableState.errorEmitted||pna.nextTick(emitErrorNT,this,t),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?(pna.nextTick(emitErrorNT,r,t),r._writableState&&(r._writableState.errorEmitted=!0)):e&&e(t)}),this)}function undestroy(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function emitErrorNT(t,e){t.emit("error",e)}module.exports={destroy:destroy,undestroy:undestroy};
},{"process-nextick-args":120}],138:[function(require,module,exports){
module.exports=require("events").EventEmitter;
},{"events":85}],139:[function(require,module,exports){
"use strict";var Buffer=require("safe-buffer").Buffer,isEncoding=Buffer.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function _normalizeEncoding(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function normalizeEncoding(t){var e=_normalizeEncoding(t);if("string"!=typeof e&&(Buffer.isEncoding===isEncoding||!isEncoding(t)))throw new Error("Unknown encoding: "+t);return e||t}function StringDecoder(t){var e;switch(this.encoding=normalizeEncoding(t),this.encoding){case"utf16le":this.text=utf16Text,this.end=utf16End,e=4;break;case"utf8":this.fillLast=utf8FillLast,e=4;break;case"base64":this.text=base64Text,this.end=base64End,e=3;break;default:return this.write=simpleWrite,void(this.end=simpleEnd)}this.lastNeed=0,this.lastTotal=0,this.lastChar=Buffer.allocUnsafe(e)}function utf8CheckByte(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function utf8CheckIncomplete(t,e,s){var i=e.length-1;if(i<s)return 0;var n=utf8CheckByte(e[i]);return n>=0?(n>0&&(t.lastNeed=n-1),n):--i<s||-2===n?0:(n=utf8CheckByte(e[i]))>=0?(n>0&&(t.lastNeed=n-2),n):--i<s||-2===n?0:(n=utf8CheckByte(e[i]))>=0?(n>0&&(2===n?n=0:t.lastNeed=n-3),n):0}function utf8CheckExtraBytes(t,e,s){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}function utf8FillLast(t){var e=this.lastTotal-this.lastNeed,s=utf8CheckExtraBytes(this,t,e);return void 0!==s?s:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function utf8Text(t,e){var s=utf8CheckIncomplete(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=s;var i=t.length-(s-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function utf8End(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e}function utf16Text(t,e){if((t.length-e)%2==0){var s=t.toString("utf16le",e);if(s){var i=s.charCodeAt(s.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],s.slice(0,-1)}return s}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function utf16End(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var s=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,s)}return e}function base64Text(t,e){var s=(t.length-e)%3;return 0===s?t.toString("base64",e):(this.lastNeed=3-s,this.lastTotal=3,1===s?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-s))}function base64End(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function simpleWrite(t){return t.toString(this.encoding)}function simpleEnd(t){return t&&t.length?this.write(t):""}exports.StringDecoder=StringDecoder,StringDecoder.prototype.write=function(t){if(0===t.length)return"";var e,s;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";s=this.lastNeed,this.lastNeed=0}else s=0;return s<t.length?e?e+this.text(t,s):this.text(t,s):e||""},StringDecoder.prototype.end=utf8End,StringDecoder.prototype.text=utf8Text,StringDecoder.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};
},{"safe-buffer":145}],140:[function(require,module,exports){
module.exports=require("./readable").PassThrough;
},{"./readable":141}],141:[function(require,module,exports){
exports=module.exports=require("./lib/_stream_readable.js"),exports.Stream=exports,exports.Readable=exports,exports.Writable=require("./lib/_stream_writable.js"),exports.Duplex=require("./lib/_stream_duplex.js"),exports.Transform=require("./lib/_stream_transform.js"),exports.PassThrough=require("./lib/_stream_passthrough.js");
},{"./lib/_stream_duplex.js":131,"./lib/_stream_passthrough.js":132,"./lib/_stream_readable.js":133,"./lib/_stream_transform.js":134,"./lib/_stream_writable.js":135}],142:[function(require,module,exports){
module.exports=require("./readable").Transform;
},{"./readable":141}],143:[function(require,module,exports){
module.exports=require("./lib/_stream_writable.js");
},{"./lib/_stream_writable.js":135}],144:[function(require,module,exports){
"use strict";var Buffer=require("buffer").Buffer,inherits=require("inherits"),HashBase=require("hash-base"),ARRAY16=new Array(16),zl=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],zr=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],sl=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],sr=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],hl=[0,1518500249,1859775393,2400959708,2840853838],hr=[1352829926,1548603684,1836072691,2053994217,0];function RIPEMD160(){HashBase.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function rotl(t,s){return t<<s|t>>>32-s}function fn1(t,s,r,i,h,e,n,f){return rotl(t+(s^r^i)+e+n|0,f)+h|0}function fn2(t,s,r,i,h,e,n,f){return rotl(t+(s&r|~s&i)+e+n|0,f)+h|0}function fn3(t,s,r,i,h,e,n,f){return rotl(t+((s|~r)^i)+e+n|0,f)+h|0}function fn4(t,s,r,i,h,e,n,f){return rotl(t+(s&i|r&~i)+e+n|0,f)+h|0}function fn5(t,s,r,i,h,e,n,f){return rotl(t+(s^(r|~i))+e+n|0,f)+h|0}inherits(RIPEMD160,HashBase),RIPEMD160.prototype._update=function(){for(var t=ARRAY16,s=0;s<16;++s)t[s]=this._block.readInt32LE(4*s);for(var r=0|this._a,i=0|this._b,h=0|this._c,e=0|this._d,n=0|this._e,f=0|this._a,l=0|this._b,_=0|this._c,o=0|this._d,c=0|this._e,u=0;u<80;u+=1){var a,b;u<16?(a=fn1(r,i,h,e,n,t[zl[u]],hl[0],sl[u]),b=fn5(f,l,_,o,c,t[zr[u]],hr[0],sr[u])):u<32?(a=fn2(r,i,h,e,n,t[zl[u]],hl[1],sl[u]),b=fn4(f,l,_,o,c,t[zr[u]],hr[1],sr[u])):u<48?(a=fn3(r,i,h,e,n,t[zl[u]],hl[2],sl[u]),b=fn3(f,l,_,o,c,t[zr[u]],hr[2],sr[u])):u<64?(a=fn4(r,i,h,e,n,t[zl[u]],hl[3],sl[u]),b=fn2(f,l,_,o,c,t[zr[u]],hr[3],sr[u])):(a=fn5(r,i,h,e,n,t[zl[u]],hl[4],sl[u]),b=fn1(f,l,_,o,c,t[zr[u]],hr[4],sr[u])),r=n,n=e,e=rotl(h,10),h=i,i=a,f=c,c=o,o=rotl(_,10),_=l,l=b}var E=this._b+h+o|0;this._b=this._c+e+c|0,this._c=this._d+n+f|0,this._d=this._e+r+l|0,this._e=this._a+i+_|0,this._a=E},RIPEMD160.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=Buffer.alloc?Buffer.alloc(20):Buffer.alloc(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},module.exports=RIPEMD160;
},{"buffer":50,"hash-base":87,"inherits":102}],145:[function(require,module,exports){
var buffer=require("buffer"),Buffer=buffer.Buffer;function copyProps(f,r){for(var e in f)r[e]=f[e]}function SafeBuffer(f,r,e){return Buffer(f,r,e)}Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow?module.exports=buffer:(copyProps(buffer,exports),exports.Buffer=SafeBuffer),copyProps(Buffer,SafeBuffer),SafeBuffer.from=function(f,r,e){if("number"==typeof f)throw new TypeError("Argument must not be a number");return Buffer(f,r,e)},SafeBuffer.alloc=function(f,r,e){if("number"!=typeof f)throw new TypeError("Argument must be a number");var u=Buffer(f);return void 0!==r?"string"==typeof e?u.fill(r,e):u.fill(r):u.fill(0),u},SafeBuffer.allocUnsafe=function(f){if("number"!=typeof f)throw new TypeError("Argument must be a number");return Buffer(f)},SafeBuffer.allocUnsafeSlow=function(f){if("number"!=typeof f)throw new TypeError("Argument must be a number");return buffer.SlowBuffer(f)};
},{"buffer":50}],146:[function(require,module,exports){
var Buffer=require("safe-buffer").Buffer;function Hash(t,i){this._block=Buffer.alloc(t),this._finalSize=i,this._blockSize=t,this._len=0}Hash.prototype.update=function(t,i){"string"==typeof t&&(i=i||"utf8",t=Buffer.from(t,i));for(var e=this._block,s=this._blockSize,h=t.length,o=this._len,l=0;l<h;){for(var r=o%s,_=Math.min(h-l,s-r),n=0;n<_;n++)e[r+n]=t[l+n];l+=_,(o+=_)%s==0&&this._update(e)}return this._len+=h,this},Hash.prototype.digest=function(t){var i=this._len%this._blockSize;this._block[i]=128,this._block.fill(0,i+1),i>=this._finalSize&&(this._update(this._block),this._block.fill(0));var e=8*this._len;if(e<=4294967295)this._block.writeUInt32BE(e,this._blockSize-4);else{var s=(4294967295&e)>>>0,h=(e-s)/4294967296;this._block.writeUInt32BE(h,this._blockSize-8),this._block.writeUInt32BE(s,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},Hash.prototype._update=function(){throw new Error("_update must be implemented by subclass")},module.exports=Hash;
},{"safe-buffer":145}],147:[function(require,module,exports){
var exports=module.exports=function(e){e=e.toLowerCase();var r=exports[e];if(!r)throw new Error(e+" is not supported (we accept pull requests)");return new r};exports.sha=require("./sha"),exports.sha1=require("./sha1"),exports.sha224=require("./sha224"),exports.sha256=require("./sha256"),exports.sha384=require("./sha384"),exports.sha512=require("./sha512");
},{"./sha":148,"./sha1":149,"./sha224":150,"./sha256":151,"./sha384":152,"./sha512":153}],148:[function(require,module,exports){
var inherits=require("inherits"),Hash=require("./hash"),Buffer=require("safe-buffer").Buffer,K=[1518500249,1859775393,-1894007588,-899497514],W=new Array(80);function Sha(){this.init(),this._w=W,Hash.call(this,64,56)}function rotl5(t){return t<<5|t>>>27}function rotl30(t){return t<<30|t>>>2}function ft(t,i,r,h){return 0===t?i&r|~i&h:2===t?i&r|i&h|r&h:i^r^h}inherits(Sha,Hash),Sha.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Sha.prototype._update=function(t){for(var i=this._w,r=0|this._a,h=0|this._b,s=0|this._c,e=0|this._d,n=0|this._e,_=0;_<16;++_)i[_]=t.readInt32BE(4*_);for(;_<80;++_)i[_]=i[_-3]^i[_-8]^i[_-14]^i[_-16];for(var a=0;a<80;++a){var o=~~(a/20),f=rotl5(r)+ft(o,h,s,e)+n+i[a]+K[o]|0;n=e,e=s,s=rotl30(h),h=r,r=f}this._a=r+this._a|0,this._b=h+this._b|0,this._c=s+this._c|0,this._d=e+this._d|0,this._e=n+this._e|0},Sha.prototype._hash=function(){var t=Buffer.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},module.exports=Sha;
},{"./hash":146,"inherits":102,"safe-buffer":145}],149:[function(require,module,exports){
var inherits=require("inherits"),Hash=require("./hash"),Buffer=require("safe-buffer").Buffer,K=[1518500249,1859775393,-1894007588,-899497514],W=new Array(80);function Sha1(){this.init(),this._w=W,Hash.call(this,64,56)}function rotl1(t){return t<<1|t>>>31}function rotl5(t){return t<<5|t>>>27}function rotl30(t){return t<<30|t>>>2}function ft(t,i,r,h){return 0===t?i&r|~i&h:2===t?i&r|i&h|r&h:i^r^h}inherits(Sha1,Hash),Sha1.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Sha1.prototype._update=function(t){for(var i=this._w,r=0|this._a,h=0|this._b,s=0|this._c,e=0|this._d,n=0|this._e,_=0;_<16;++_)i[_]=t.readInt32BE(4*_);for(;_<80;++_)i[_]=rotl1(i[_-3]^i[_-8]^i[_-14]^i[_-16]);for(var a=0;a<80;++a){var o=~~(a/20),f=rotl5(r)+ft(o,h,s,e)+n+i[a]+K[o]|0;n=e,e=s,s=rotl30(h),h=r,r=f}this._a=r+this._a|0,this._b=h+this._b|0,this._c=s+this._c|0,this._d=e+this._d|0,this._e=n+this._e|0},Sha1.prototype._hash=function(){var t=Buffer.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},module.exports=Sha1;
},{"./hash":146,"inherits":102,"safe-buffer":145}],150:[function(require,module,exports){
var inherits=require("inherits"),Sha256=require("./sha256"),Hash=require("./hash"),Buffer=require("safe-buffer").Buffer,W=new Array(64);function Sha224(){this.init(),this._w=W,Hash.call(this,64,56)}inherits(Sha224,Sha256),Sha224.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},Sha224.prototype._hash=function(){var t=Buffer.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},module.exports=Sha224;
},{"./hash":146,"./sha256":151,"inherits":102,"safe-buffer":145}],151:[function(require,module,exports){
var inherits=require("inherits"),Hash=require("./hash"),Buffer=require("safe-buffer").Buffer,K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],W=new Array(64);function Sha256(){this.init(),this._w=W,Hash.call(this,64,56)}function ch(t,i,h){return h^t&(i^h)}function maj(t,i,h){return t&i|h&(t|i)}function sigma0(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function sigma1(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function gamma0(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}function gamma1(t){return(t>>>17|t<<15)^(t>>>19|t<<13)^t>>>10}inherits(Sha256,Hash),Sha256.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},Sha256.prototype._update=function(t){for(var i=this._w,h=0|this._a,s=0|this._b,r=0|this._c,e=0|this._d,n=0|this._e,_=0|this._f,a=0|this._g,f=0|this._h,u=0;u<16;++u)i[u]=t.readInt32BE(4*u);for(;u<64;++u)i[u]=gamma1(i[u-2])+i[u-7]+gamma0(i[u-15])+i[u-16]|0;for(var o=0;o<64;++o){var c=f+sigma1(n)+ch(n,_,a)+K[o]+i[o]|0,m=sigma0(h)+maj(h,s,r)|0;f=a,a=_,_=n,n=e+c|0,e=r,r=s,s=h,h=c+m|0}this._a=h+this._a|0,this._b=s+this._b|0,this._c=r+this._c|0,this._d=e+this._d|0,this._e=n+this._e|0,this._f=_+this._f|0,this._g=a+this._g|0,this._h=f+this._h|0},Sha256.prototype._hash=function(){var t=Buffer.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},module.exports=Sha256;
},{"./hash":146,"inherits":102,"safe-buffer":145}],152:[function(require,module,exports){
var inherits=require("inherits"),SHA512=require("./sha512"),Hash=require("./hash"),Buffer=require("safe-buffer").Buffer,W=new Array(160);function Sha384(){this.init(),this._w=W,Hash.call(this,128,112)}inherits(Sha384,SHA512),Sha384.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},Sha384.prototype._hash=function(){var h=Buffer.allocUnsafe(48);function i(i,t,s){h.writeInt32BE(i,s),h.writeInt32BE(t,s+4)}return i(this._ah,this._al,0),i(this._bh,this._bl,8),i(this._ch,this._cl,16),i(this._dh,this._dl,24),i(this._eh,this._el,32),i(this._fh,this._fl,40),h},module.exports=Sha384;
},{"./hash":146,"./sha512":153,"inherits":102,"safe-buffer":145}],153:[function(require,module,exports){
var inherits=require("inherits"),Hash=require("./hash"),Buffer=require("safe-buffer").Buffer,K=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],W=new Array(160);function Sha512(){this.init(),this._w=W,Hash.call(this,128,112)}function Ch(h,t,i){return i^h&(t^i)}function maj(h,t,i){return h&t|i&(h|t)}function sigma0(h,t){return(h>>>28|t<<4)^(t>>>2|h<<30)^(t>>>7|h<<25)}function sigma1(h,t){return(h>>>14|t<<18)^(h>>>18|t<<14)^(t>>>9|h<<23)}function Gamma0(h,t){return(h>>>1|t<<31)^(h>>>8|t<<24)^h>>>7}function Gamma0l(h,t){return(h>>>1|t<<31)^(h>>>8|t<<24)^(h>>>7|t<<25)}function Gamma1(h,t){return(h>>>19|t<<13)^(t>>>29|h<<3)^h>>>6}function Gamma1l(h,t){return(h>>>19|t<<13)^(t>>>29|h<<3)^(h>>>6|t<<26)}function getCarry(h,t){return h>>>0<t>>>0?1:0}inherits(Sha512,Hash),Sha512.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},Sha512.prototype._update=function(h){for(var t=this._w,i=0|this._ah,s=0|this._bh,r=0|this._ch,_=0|this._dh,a=0|this._eh,e=0|this._fh,l=0|this._gh,n=0|this._hh,f=0|this._al,g=0|this._bl,u=0|this._cl,c=0|this._dl,m=0|this._el,o=0|this._fl,y=0|this._gl,C=0|this._hl,d=0;d<32;d+=2)t[d]=h.readInt32BE(4*d),t[d+1]=h.readInt32BE(4*d+4);for(;d<160;d+=2){var b=t[d-30],p=t[d-30+1],G=Gamma0(b,p),v=Gamma0l(p,b),B=Gamma1(b=t[d-4],p=t[d-4+1]),S=Gamma1l(p,b),w=t[d-14],E=t[d-14+1],I=t[d-32],j=t[d-32+1],q=v+E|0,H=G+w+getCarry(q,v)|0;H=(H=H+B+getCarry(q=q+S|0,S)|0)+I+getCarry(q=q+j|0,j)|0,t[d]=H,t[d+1]=q}for(var W=0;W<160;W+=2){H=t[W],q=t[W+1];var x=maj(i,s,r),A=maj(f,g,u),U=sigma0(i,f),k=sigma0(f,i),z=sigma1(a,m),D=sigma1(m,a),F=K[W],J=K[W+1],L=Ch(a,e,l),M=Ch(m,o,y),N=C+D|0,O=n+z+getCarry(N,C)|0;O=(O=(O=O+L+getCarry(N=N+M|0,M)|0)+F+getCarry(N=N+J|0,J)|0)+H+getCarry(N=N+q|0,q)|0;var P=k+A|0,Q=U+x+getCarry(P,k)|0;n=l,C=y,l=e,y=o,e=a,o=m,a=_+O+getCarry(m=c+N|0,c)|0,_=r,c=u,r=s,u=g,s=i,g=f,i=O+Q+getCarry(f=N+P|0,N)|0}this._al=this._al+f|0,this._bl=this._bl+g|0,this._cl=this._cl+u|0,this._dl=this._dl+c|0,this._el=this._el+m|0,this._fl=this._fl+o|0,this._gl=this._gl+y|0,this._hl=this._hl+C|0,this._ah=this._ah+i+getCarry(this._al,f)|0,this._bh=this._bh+s+getCarry(this._bl,g)|0,this._ch=this._ch+r+getCarry(this._cl,u)|0,this._dh=this._dh+_+getCarry(this._dl,c)|0,this._eh=this._eh+a+getCarry(this._el,m)|0,this._fh=this._fh+e+getCarry(this._fl,o)|0,this._gh=this._gh+l+getCarry(this._gl,y)|0,this._hh=this._hh+n+getCarry(this._hl,C)|0},Sha512.prototype._hash=function(){var h=Buffer.allocUnsafe(64);function t(t,i,s){h.writeInt32BE(t,s),h.writeInt32BE(i,s+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),h},module.exports=Sha512;
},{"./hash":146,"inherits":102,"safe-buffer":145}],154:[function(require,module,exports){
module.exports=Stream;var EE=require("events").EventEmitter,inherits=require("inherits");function Stream(){EE.call(this)}inherits(Stream,EE),Stream.Readable=require("readable-stream/readable.js"),Stream.Writable=require("readable-stream/writable.js"),Stream.Duplex=require("readable-stream/duplex.js"),Stream.Transform=require("readable-stream/transform.js"),Stream.PassThrough=require("readable-stream/passthrough.js"),Stream.Stream=Stream,Stream.prototype.pipe=function(e,r){var t=this;function n(r){e.writable&&!1===e.write(r)&&t.pause&&t.pause()}function a(){t.readable&&t.resume&&t.resume()}t.on("data",n),e.on("drain",a),e._isStdio||r&&!1===r.end||(t.on("end",i),t.on("close",s));var o=!1;function i(){o||(o=!0,e.end())}function s(){o||(o=!0,"function"==typeof e.destroy&&e.destroy())}function m(e){if(u(),0===EE.listenerCount(this,"error"))throw e}function u(){t.removeListener("data",n),e.removeListener("drain",a),t.removeListener("end",i),t.removeListener("close",s),t.removeListener("error",m),e.removeListener("error",m),t.removeListener("end",u),t.removeListener("close",u),e.removeListener("close",u)}return t.on("error",m),e.on("error",m),t.on("end",u),t.on("close",u),e.on("close",u),e.emit("pipe",t),e};
},{"events":85,"inherits":102,"readable-stream/duplex.js":130,"readable-stream/passthrough.js":140,"readable-stream/readable.js":141,"readable-stream/transform.js":142,"readable-stream/writable.js":143}],155:[function(require,module,exports){
"use strict";var Buffer=require("safe-buffer").Buffer,isEncoding=Buffer.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function _normalizeEncoding(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function normalizeEncoding(t){var e=_normalizeEncoding(t);if("string"!=typeof e&&(Buffer.isEncoding===isEncoding||!isEncoding(t)))throw new Error("Unknown encoding: "+t);return e||t}function StringDecoder(t){var e;switch(this.encoding=normalizeEncoding(t),this.encoding){case"utf16le":this.text=utf16Text,this.end=utf16End,e=4;break;case"utf8":this.fillLast=utf8FillLast,e=4;break;case"base64":this.text=base64Text,this.end=base64End,e=3;break;default:return this.write=simpleWrite,void(this.end=simpleEnd)}this.lastNeed=0,this.lastTotal=0,this.lastChar=Buffer.allocUnsafe(e)}function utf8CheckByte(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function utf8CheckIncomplete(t,e,s){var i=e.length-1;if(i<s)return 0;var n=utf8CheckByte(e[i]);return n>=0?(n>0&&(t.lastNeed=n-1),n):--i<s||-2===n?0:(n=utf8CheckByte(e[i]))>=0?(n>0&&(t.lastNeed=n-2),n):--i<s||-2===n?0:(n=utf8CheckByte(e[i]))>=0?(n>0&&(2===n?n=0:t.lastNeed=n-3),n):0}function utf8CheckExtraBytes(t,e,s){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}function utf8FillLast(t){var e=this.lastTotal-this.lastNeed,s=utf8CheckExtraBytes(this,t,e);return void 0!==s?s:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function utf8Text(t,e){var s=utf8CheckIncomplete(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=s;var i=t.length-(s-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function utf8End(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e}function utf16Text(t,e){if((t.length-e)%2==0){var s=t.toString("utf16le",e);if(s){var i=s.charCodeAt(s.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],s.slice(0,-1)}return s}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function utf16End(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var s=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,s)}return e}function base64Text(t,e){var s=(t.length-e)%3;return 0===s?t.toString("base64",e):(this.lastNeed=3-s,this.lastTotal=3,1===s?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-s))}function base64End(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function simpleWrite(t){return t.toString(this.encoding)}function simpleEnd(t){return t&&t.length?this.write(t):""}exports.StringDecoder=StringDecoder,StringDecoder.prototype.write=function(t){if(0===t.length)return"";var e,s;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";s=this.lastNeed,this.lastNeed=0}else s=0;return s<t.length?e?e+this.text(t,s):this.text(t,s):e||""},StringDecoder.prototype.end=utf8End,StringDecoder.prototype.text=utf8Text,StringDecoder.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};
},{"safe-buffer":145}],156:[function(require,module,exports){
(function (setImmediate,clearImmediate){
var nextTick=require("process/browser.js").nextTick,apply=Function.prototype.apply,slice=Array.prototype.slice,immediateIds={},nextImmediateId=0;function Timeout(e,t){this._id=e,this._clearFn=t}exports.setTimeout=function(){return new Timeout(apply.call(setTimeout,window,arguments),clearTimeout)},exports.setInterval=function(){return new Timeout(apply.call(setInterval,window,arguments),clearInterval)},exports.clearTimeout=exports.clearInterval=function(e){e.close()},Timeout.prototype.unref=Timeout.prototype.ref=function(){},Timeout.prototype.close=function(){this._clearFn.call(window,this._id)},exports.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},exports.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},exports._unrefActive=exports.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},exports.setImmediate="function"==typeof setImmediate?setImmediate:function(e){var t=nextImmediateId++,i=!(arguments.length<2)&&slice.call(arguments,1);return immediateIds[t]=!0,nextTick(function(){immediateIds[t]&&(i?e.apply(null,i):e.call(null),exports.clearImmediate(t))}),t},exports.clearImmediate="function"==typeof clearImmediate?clearImmediate:function(e){delete immediateIds[e]};
}).call(this,require("timers").setImmediate,require("timers").clearImmediate)
},{"process/browser.js":121,"timers":156}],157:[function(require,module,exports){
(function (global){
function deprecate(r,e){if(config("noDeprecation"))return r;var o=!1;return function(){if(!o){if(config("throwDeprecation"))throw new Error(e);config("traceDeprecation")?console.trace(e):console.warn(e),o=!0}return r.apply(this,arguments)}}function config(r){try{if(!global.localStorage)return!1}catch(r){return!1}var e=global.localStorage[r];return null!=e&&"true"===String(e).toLowerCase()}module.exports=deprecate;
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],158:[function(require,module,exports){
var indexOf=function(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0;n<e.length;n++)if(e[n]===t)return n;return-1},Object_keys=function(e){if(Object.keys)return Object.keys(e);var t=[];for(var n in e)t.push(n);return t},forEach=function(e,t){if(e.forEach)return e.forEach(t);for(var n=0;n<e.length;n++)t(e[n],n,e)},defineProp=function(){try{return Object.defineProperty({},"_",{}),function(e,t,n){Object.defineProperty(e,t,{writable:!0,enumerable:!1,configurable:!0,value:n})}}catch(e){return function(e,t,n){e[t]=n}}}(),globals=["Array","Boolean","Date","Error","EvalError","Function","Infinity","JSON","Math","NaN","Number","Object","RangeError","ReferenceError","RegExp","String","SyntaxError","TypeError","URIError","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","eval","isFinite","isNaN","parseFloat","parseInt","undefined","unescape"];function Context(){}Context.prototype={};var Script=exports.Script=function(e){if(!(this instanceof Script))return new Script(e);this.code=e};Script.prototype.runInContext=function(e){if(!(e instanceof Context))throw new TypeError("needs a 'context' argument.");var t=document.createElement("iframe");t.style||(t.style={}),t.style.display="none",document.body.appendChild(t);var n=t.contentWindow,r=n.eval,o=n.execScript;!r&&o&&(o.call(n,"null"),r=n.eval),forEach(Object_keys(e),function(t){n[t]=e[t]}),forEach(globals,function(t){e[t]&&(n[t]=e[t])});var c=Object_keys(n),i=r.call(n,this.code);return forEach(Object_keys(n),function(t){(t in e||-1===indexOf(c,t))&&(e[t]=n[t])}),forEach(globals,function(t){t in e||defineProp(e,t,n[t])}),document.body.removeChild(t),i},Script.prototype.runInThisContext=function(){return eval(this.code)},Script.prototype.runInNewContext=function(e){var t=Script.createContext(e),n=this.runInContext(t);return e&&forEach(Object_keys(t),function(n){e[n]=t[n]}),n},forEach(Object_keys(Script.prototype),function(e){exports[e]=Script[e]=function(t){var n=Script(t);return n[e].apply(n,[].slice.call(arguments,1))}}),exports.isContext=function(e){return e instanceof Context},exports.createScript=function(e){return exports.Script(e)},exports.createContext=Script.createContext=function(e){var t=new Context;return"object"==typeof e&&forEach(Object_keys(e),function(n){t[n]=e[n]}),t};
},{}],159:[function(require,module,exports){
require("../utils/yuml2dot-utils.js")(),module.exports=function(e,r){function t(e){for(var r=[],t=this.splitYumlExpr(e,"(<|"),n=0;n<t.length;n++){var l=t[n].trim();if(0!=l.length)if(l.match(/^\(.*\)$/)){l=l.substr(1,l.length-2);var i=extractBgAndNote(l,!0);r.push([i.isNote?"note":"record",i.part,i.bg,i.fontcolor])}else if(l.match(/^<.*>$/))l=l.substr(1,l.length-2),r.push(["diamond",l]);else if(l.match(/^\|.*\|$/))l=l.substr(1,l.length-2),r.push(["mrecord",l]);else if(l.match(/->$/))l=l.substr(0,l.length-2).trim(),r.push(["edge","none","vee",l,"solid"]);else{if("-"!=l)throw"Invalid expression";r.push(["edge","none","none","","solid"])}}return r}function n(e,r){for(var t=0;t<e.length;t++)if(2==e[t].length&&e[t][0]==r){var n=e[t][1],l=1;return n.label.length>0?(l=n.label.split("|").length+1,n.label+="|<f"+l+">"):n.label="<f1>","f"+l}return null}return function(e,r){for(var l={},i=0,o=[],a={LR:"w",RL:"e",TB:"n"},s=0;s<e.length;s++){for(var d=t(e[s]),h=0;h<d.length;h++)if("note"==d[h][0]||"record"==d[h][0]){var c=d[h][1];if(l.hasOwnProperty(recordName(c)))continue;var f="A"+(i++).toString();if(l[recordName(c)]=f,"record"!=d[h][0]||"start"!=c&&"end"!=c)u={shape:d[h][0],height:.5,fontsize:10,margin:"0.20,0.05",label:escape_label(c),style:"rounded"},d[h][2]&&(u.style+=",filled",u.fillcolor=d[h][2]),d[h][3]&&(u.fontcolor=d[h][3]);else var u={shape:"start"==c?"circle":"doublecircle",height:.3,width:.3,margin:"0,0",label:""};o.push([f,u])}else if("diamond"==d[h][0]){if(c=d[h][1],l.hasOwnProperty(recordName(c)))continue;f="A"+(i++).toString(),l[recordName(c)]=f,u={shape:"diamond",height:.5,width:.5,margin:"0,0",label:""},o.push([f,u])}else if("mrecord"==d[h][0]){if(c=d[h][1],l.hasOwnProperty(recordName(c)))continue;f="A"+(i++).toString(),l[recordName(c)]=f,u={shape:"record",height:"TB"==r.dir?.05:.5,width:"TB"==r.dir?.5:.05,margin:"0,0",style:"filled",label:"",fontsize:1,penwidth:4},o.push([f,u])}for(h=1;h<d.length-1;h++)if("edge"==d[h][0]&&"edge"!=d[h-1][0]&&"edge"!=d[h+1][0]){var g={shape:"edge",dir:"both",style:"note"==d[h-1][0]||"note"==d[h+1][0]?"dashed":d[h][4],arrowtail:d[h][1],arrowhead:d[h][2],labeldistance:1,fontsize:10};d[h][3].length>0&&(g.label=d[h][3]);var m=l[recordName(d[h-1][1])],p=l[recordName(d[h+1][1])];"mrecord"==d[h+1][0]&&(p+=":"+n(o,p)+":"+a[r.dir]),o.push([m,p,g])}}var b=" ranksep = 0.5\r\n";return b+=" rankdir = "+r.dir+"\r\n",b+=serializeDotElements(o),b+="}\r\n"}(e,r)};
},{"../utils/yuml2dot-utils.js":169}],160:[function(require,module,exports){
require("../utils/yuml2dot-utils.js")(),module.exports=function(e,r){function t(e){for(var r=[],t=this.splitYumlExpr(e,"["),i=0;i<t.length;i++){var a=t[i].trim();if(0!=a.length)if(a.match(/^\[.*\]$/)){a=a.substr(1,a.length-2);var n=extractBgAndNote(a,!0);r.push([n.isNote?"note":"record",n.part,n.bg,n.fontcolor])}else if("^"==a)r.push(["edge","empty","","none","","solid"]);else{if(!(a.indexOf("-")>=0))throw"Invalid expression";var s,o;if(a.indexOf("-.-")>=0?(s="dashed",o=a.split("-.-")):(s="solid",o=a.split("-")),2!=o.length)throw"Invalid expression";var d,l,h,g,c=o[0],u=o[1],m=function(e){return e.startsWith("<>")?["odiamond",e.substring(2)]:e.startsWith("++")?["diamond",e.substring(2)]:e.startsWith("+")?["odiamond",e.substring(1)]:e.startsWith("<")||e.endsWith(">")?["vee",e.substring(1)]:e.startsWith("^")?["empty",e.substring(1)]:["none",e]};d=(o=m(c))[0],l=o[1];h=(o=function(e){var r=e.length;return e.endsWith("<>")?["odiamond",e.substring(0,r-2)]:e.endsWith("++")?["diamond",e.substring(0,r-2)]:e.endsWith("+")?["odiamond",e.substring(0,r-1)]:e.endsWith(">")?["vee",e.substring(0,r-1)]:e.endsWith("^")?["empty",e.substring(0,r-1)]:m(e)}(u))[0],g=o[1],r.push(["edge",d,l,h,g,s])}}return r}return function(e,r){var i={},a=0,n=" ranksep = 0.7\r\n";n+=" rankdir = "+r.dir+"\r\n";for(var s=0;s<e.length;s++){for(var o=t(e[s]),d=0;d<o.length;d++)if("note"==o[d][0]||"record"==o[d][0]){var l=o[d][1];if(i.hasOwnProperty(recordName(l)))continue;var h="A"+(a++).toString();i[recordName(l)]=h,l=formatLabel(l,20,!0);var g={shape:o[d][0],height:.5,fontsize:10,margin:"0.20,0.05",label:l};o[d][2]&&(g.style="filled",g.fillcolor=o[d][2]),o[d][3]&&(g.fontcolor=o[d][3]),n+=" "+h+" "+serializeDot(g)+"\r\n"}if(3==o.length&&"edge"==o[1][0]){var c="note"==o[0][0]||"note"==o[2][0],u={shape:"edge",dir:"both",style:m=c?"dashed":o[1][5],arrowtail:o[1][1],taillabel:o[1][2],arrowhead:o[1][3],headlabel:o[1][4],labeldistance:2,fontsize:10};n+=c?" { rank=same; "+i[recordName(o[0][1])]+" -> "+i[recordName(o[2][1])]+" "+serializeDot(u)+";}\r\n":" "+i[recordName(o[0][1])]+" -> "+i[recordName(o[2][1])]+" "+serializeDot(u)+"\r\n"}else if(4==o.length&&"record,edge,record,record"==[o[0][0],o[1][0],o[2][0],o[3][0]].join()){var m=o[1][5];n+=" "+(h=i[recordName(o[0][1])]+"J"+i[recordName(o[2][1])])+" "+serializeDot({shape:"point",style:"invis",label:"",height:.01,width:.01})+"\r\n";var f={shape:"edge",dir:"both",style:m,arrowtail:o[1][1],taillabel:o[1][2],arrowhead:"none",labeldistance:2,fontsize:10},b={shape:"edge",dir:"both",style:m,arrowtail:"none",arrowhead:o[1][3],headlabel:o[1][4],labeldistance:2,fontsize:10};n+=" "+i[recordName(o[0][1])]+" -> "+h+" "+serializeDot(f)+"\r\n",n+=" "+h+" -> "+i[recordName(o[2][1])]+" "+serializeDot(b)+"\r\n",n+=" { rank=same; "+i[recordName(o[3][1])]+" -> "+h+" "+serializeDot({shape:"edge",dir:"both",style:"dashed",arrowtail:"none",arrowhead:"vee",labeldistance:2})+";}\r\n"}}return n+="}\r\n"}(e,r)};
},{"../utils/yuml2dot-utils.js":169}],161:[function(require,module,exports){
require("../utils/yuml2dot-utils.js")(),module.exports=function(e,r){function t(e){for(var r=[],t=this.splitYumlExpr(e,"["),o=0;o<t.length;o++){var n=t[o].trim();if(0!=n.length)if(n.match(/^\[.*\]$/)){n=n.substr(1,n.length-2);var a=extractBgAndNote(n,!0);r.push([a.isNote?"note":"box3d",a.part,a.bg,a.fontcolor])}else{if(!n.match(/-$/))throw"Invalid expression";n=n.substr(0,n.length-1).trim(),r.push(["edge","none","none",n,"solid"])}}return r}return function(e,r){var o={},n=0,a=" ranksep = 0.5\r\n";a+=" rankdir = "+r.dir+"\r\n";for(var i=0;i<e.length;i++){for(var l=t(e[i]),s=0;s<l.length;s++){var d=l[s][0];if("note"==d||"box3d"==d){var h=l[s][1];if(o.hasOwnProperty(recordName(h)))continue;var f="A"+(n++).toString();o[recordName(h)]=f;var g={shape:d,height:.5,fontsize:10,margin:"0.20,0.05",label:h=formatLabel(h,20,!0)};l[s][2]&&(g.style="filled",g.fillcolor=l[s][2]),l[s][3]&&(g.fontcolor=l[s][3]),a+=" "+f+" "+serializeDot(g)+"\r\n"}}for(s=1;s<l.length-1;s++)if("edge"==l[s][0]&&"edge"!=l[s-1][0]&&"edge"!=l[s+1][0]){var u={shape:"edge",dir:"both",style:"note"==l[s-1][0]||"note"==l[s+1][0]?"dashed":l[s][4],arrowtail:l[s][1],arrowhead:l[s][2],labeldistance:2,fontsize:10};l[s][3].length>0&&(u.label=l[s][3]),a+=" "+o[recordName(l[s-1][1])]+" -> "+o[recordName(l[s+1][1])]+" "+serializeDot(u)+"\r\n"}}return a+="}\r\n"}(e,r)};
},{"../utils/yuml2dot-utils.js":169}],162:[function(require,module,exports){
require("../utils/yuml2dot-utils.js")(),module.exports=function(e,r){function t(e){for(var r=[],t=this.splitYumlExpr(e,"["),n=0;n<t.length;n++){var o=t[n].trim();if(0!=o.length)if(o.match(/^\[.*\]$/)){o=o.substr(1,o.length-2);var a=extractBgAndNote(o,!0);r.push([a.isNote?"note":"tab",a.part,a.bg,a.fontcolor])}else if("-"==o)r.push(["edge","none","none","","dashed"]);else{if(!o.match(/->$/))throw"Invalid expression";o=o.substr(0,o.length-2).trim(),r.push(["edge","none","vee",o,"dashed"])}}return r}return function(e,r){var n={},o=0,a=" ranksep = 0.5\r\n";a+=" rankdir = "+r.dir+"\r\n";for(var i=0;i<e.length;i++){for(var l=t(e[i]),s=0;s<l.length;s++){var d=l[s][0];if("note"==d||"tab"==d){var h=l[s][1];if(n.hasOwnProperty(recordName(h)))continue;var f="A"+(o++).toString();n[recordName(h)]=f;var g={shape:d,height:.5,fontsize:10,margin:"0.20,0.05",label:h=formatLabel(h,20,!0)};l[s][2]&&(g.style="filled",g.fillcolor=l[s][2]),l[s][3]&&(g.fontcolor=l[s][3]),a+=" "+f+" "+serializeDot(g)+"\r\n"}}for(s=1;s<l.length-1;s++)if("edge"==l[s][0]&&"edge"!=l[s-1][0]&&"edge"!=l[s+1][0]){var u={shape:"edge",dir:"both",style:"note"==l[s-1][0]||"note"==l[s+1][0]?"dashed":l[s][4],arrowtail:l[s][1],arrowhead:l[s][2],labeldistance:2,fontsize:10};l[s][3].length>0&&(u.label=l[s][3]),a+=" "+n[recordName(l[s-1][1])]+" -> "+n[recordName(l[s+1][1])]+" "+serializeDot(u)+"\r\n"}}return a+="}\r\n"}(e,r)};
},{"../utils/yuml2dot-utils.js":169}],163:[function(require,module,exports){
require("../utils/yuml2dot-utils.js")();const renderer=require("./sequence-renderer.js");module.exports=function(e,r){var t=[],s=[];function a(e){for(var r=[],t=this.splitYumlExpr(e,"["),s=0;s<t.length;s++){var a=t[s].trim();if(0!=a.length)if(a.match(/^\[.*\]$/)){a=a.substr(1,a.length-2);var n=extractBgAndNote(a,!0);r.push([n.isNote?"note":"object",n.part,n.bg,n.fontcolor])}else if("-"==a)r.push(["signal","","","dashed",""]);else{if(!(a.indexOf(">")>=0))throw"Invalid expression";var o=a.indexOf(".>")>=0?"dashed":"solid";o=a.indexOf(">>")>=0?"async":o;var i="";(a.startsWith("(")||a.startsWith(")"))&&(i=a.substr(0,1),a=a.substr(1));var l="",d=a.match(/[\.|>]{0,1}>[\(|\)]{0,1}$/);if(null==d)throw"Invalid expression";d.index>0&&(l=a.substr(0,d.index),a=a.substr(d.index));var c="";(a.endsWith("(")||a.endsWith(")"))&&(c=a.charAt(a.length-1),a=a.substr(0,a.length-1)),r.push(["signal",i,l,o,c])}}return r}return function(e,r){for(var n={},o=0;o<e.length;o++){for(var i=a(e[o]),l=0;l<i.length;l++)if("object"==i[l][0]){var d=i[l][1],c=recordName(d);if(n.hasOwnProperty(c))continue;d=formatLabel(d,20,!0);var h={type:i[l][0],name:c,label:d,index:t.length};n[c]=h,t.push(h)}if(3==i.length&&"object"==i[0][0]&&"signal"==i[1][0]&&"object"==i[2][0]){var u=i[1][2],g=i[1][3],p=n[recordName(i[0][1])],f=n[recordName(i[2][1])],b=null;switch(g){case"dashed":b={type:"signal",actorA:p,actorB:f,linetype:"dashed",arrowtype:"arrow-filled",message:u};break;case"solid":b={type:"signal",actorA:p,actorB:f,linetype:"solid",arrowtype:"arrow-filled",message:u};break;case"async":b={type:"signal",actorA:p,actorB:f,linetype:"solid",arrowtype:"arrow-open",message:u}}null!=b&&s.push(b)}else if(3==i.length&&"object"==i[0][0]&&"signal"==i[1][0]&&"note"==i[2][0]){p=n[recordName(i[0][1])],d=i[2][1];var m={type:"note",message:d=formatLabel(d,20,!0),actor:p};i[2][2]&&(m.bgcolor=i[2][2]),i[2][3]&&(m.fontcolor=i[2][3]),s.push(m)}}return new renderer(t,s,n,r.dark).svg_.serialize()}(e,r)};
},{"../utils/yuml2dot-utils.js":169,"./sequence-renderer.js":164}],164:[function(require,module,exports){
var svg_builder=require("../utils/svg-builder.js");module.exports=function(t,i,h,s){function a(t){return t.x+t.width/2}function e(t){return t.y+t.height/2}this.svg_=new svg_builder(s),this._actors_height=0,this._signals_height=0,this.actors=t,this.signals=i,this.uids=h,this.width=0,this.height=0,this.draw=function(t){this.layout(),this.svg_.setDocumentSize(this.width,this.height);this.draw_actors(10),this.draw_signals(10+this._actors_height)},this.layout=function(){this.width=0,this.height=0,this.actors.forEach(function(t){var i=t.label,h=this.svg_.getTextSize(i);t.text_bb=h,t.x=0,t.y=0,t.width=h.width+40,t.height=h.height+40,t.distances=[],t.padding_right=0,this._actors_height=Math.max(t.height,this._actors_height)},this),i.forEach(function(i){var h,s,a=i.message,e=this.svg_.getTextSize(a);i.text_bb=e,i.width=e.width,i.height=e.height;var r=0;"signal"==i.type?(i.width+=20,i.height+=20,i.actorA==i.actorB?(s=(h=i.actorA.index)+1,i.width+=20):(h=Math.min(i.actorA.index,i.actorB.index),s=Math.max(i.actorA.index,i.actorB.index))):"note"==i.type&&(i.width+=30,i.height+=30,r=20,s=(h=i.actor.index)+1),function(i,h,s){console.assert(i<h,"a must be less than or equal to b"),i<0?(h=t[h]).x=Math.max(s-h.width/2,h.x):h>=t.length?(i=t[i]).padding_right=Math.max(s,i.padding_right):(i=t[i]).distances[h]=Math.max(s,i.distances[h]?i.distances[h]:0)}(h,s,i.width+r),this._signals_height+=i.height},this);var h=0;return this.actors.forEach(function(i){i.x=Math.max(h,i.x),i.distances.forEach(function(h,s){s=t[s],h=Math.max(h,i.width/2,s.width/2),s.x=Math.max(s.x,i.x+i.width/2+h-s.width/2)}),h=i.x+i.width+i.padding_right},this),this.width=20+Math.max(h,this.width),this.height=20+2*this._actors_height+this._signals_height,this},this.draw_actors=function(t){var i=t;this.actors.forEach(function(t){this.draw_actor(t,i,this._actors_height),this.draw_actor(t,i+this._actors_height+this._signals_height,this._actors_height);var h=a(t),s=this.svg_.createPath("M{0},{1} v{2}","solid","none",h,i+this._actors_height-10,20+this._signals_height);this.svg_.appendChild(s)},this)},this.draw_actor=function(t,i,h){t.y=i,t.height=h,this.draw_text_box(t,t.label,10,10)},this.draw_signals=function(t){var i=t;this.signals.forEach(function(t){"signal"==t.type?t.actorA==t.actorB?this.draw_self_signal(t,i):this.draw_signal(t,i):"note"==t.type&&this.draw_note(t,i),i+=t.height},this)},this.draw_self_signal=function(t,i){var h=t.text_bb,s=a(t.actorA),e=s+20+5+h.width/2,r=i+t.height/2;this.draw_text(e,r,t.message,!0);var n=this.svg_.createPath("M{0},{1} C{2},{1} {2},{3} {0},{3}",t.linetype,"none",s,i+5,s+40,i+t.height);n=this.svg_.setAttribute(n,"marker-end","url(#"+t.arrowtype+")"),this.svg_.appendChild(n)},this.draw_signal=function(t,i){var h=a(t.actorA),s=a(t.actorB),e=(s-h)/2+h,r=i+5+10;this.draw_text(e,r,t.message,!0),r=i+t.height-5-5;var n=this.svg_.createPath("M{0},{1} h{2}",t.linetype,"none",h,r,s-h);n=this.svg_.setAttribute(n,"marker-end","url(#"+t.arrowtype+")"),this.svg_.appendChild(n)},this.draw_note=function(t,i){var h=a(t.actor),s=t.bgcolor||"none";t.x=h+10,t.y=i;var r=this.svg_.createPath("M{0},{1} L{0},{2} L{3},{2} L{0},{1} L{4},{1} L{4},{5} L{3},{5} L{3},{2} Z","solid",s,t.x-10+t.width-7,t.y+10,t.y+10+7,t.x-10+t.width,t.x+10,t.y-10+t.height);this.svg_.appendChild(r),x=a(t),y=e(t),t.hasOwnProperty("fontcolor")?this.draw_text(x,y,t.message,!0,t.fontcolor):this.draw_text(x,y,t.message,!0)},this.draw_text=function(t,i,h,s,a){var e=this.svg_.createText(h,t,i,a);if(!s){var r=this.svg_.getTextSize(h),n=this.svg_.createRect(t,i,r.width,r.height);this.svg_.appendChild(n)}this.svg_.appendChild(e)},this.draw_text_box=function(t,i,h){var s=t.x+h,r=t.y+h,n=t.width-2*h,g=t.height-2*h,d=this.svg_.createRect(s,r,n,g);this.svg_.appendChild(d),s=a(t),r=e(t),this.draw_text(s,r,i,!0)},this.draw()};
},{"../utils/svg-builder.js":167}],165:[function(require,module,exports){
require("../utils/yuml2dot-utils.js")(),module.exports=function(e,r){function t(e){for(var r=[],t=this.splitYumlExpr(e,"("),o=0;o<t.length;o++){var n=t[o].trim();if(0!=n.length)if(n.match(/^\(.*\)$/)){n=n.substr(1,n.length-2);var i=extractBgAndNote(n,!0);r.push([i.isNote?"note":"record",i.part,i.bg,i.fontcolor])}else if(n.match(/->$/))n=n.substr(0,n.length-2).trim(),r.push(["edge","none","vee",n,"solid"]);else{if("-"!=n)throw"Invalid expression";r.push(["edge","none","none","","solid"])}}return r}return function(e,r){var o={},n=0,i=" ranksep = 0.5\r\n";i+=" rankdir = "+r.dir+"\r\n";for(var l=0;l<e.length;l++){for(var a=t(e[l]),s=0;s<a.length;s++){var d=a[s][0];if("note"==d||"record"==d){var h=a[s][1];if(o.hasOwnProperty(recordName(h)))continue;var c="A"+(n++).toString();if(o[recordName(h)]=c,"record"!=d||"start"!=h&&"end"!=h)h=formatLabel(h,20,!0),"record"==d&&(h="{"+h+"}"),f={shape:d,height:.5,fontsize:10,margin:"0.20,0.05",label:h,style:"rounded"},a[s][2]&&(f.style="filled",f.fillcolor=a[s][2]),a[s][3]&&(f.fontcolor=a[s][3]);else var f={shape:"start"==h?"circle":"doublecircle",height:.3,width:.3,margin:"0,0",label:""};i+=" "+c+" "+serializeDot(f)+"\r\n"}}for(s=1;s<a.length-1;s++)if("edge"==a[s][0]&&"edge"!=a[s-1][0]&&"edge"!=a[s+1][0]){var g={shape:"edge",dir:"both",style:"note"==a[s-1][0]||"note"==a[s+1][0]?"dashed":a[s][4],arrowtail:a[s][1],arrowhead:a[s][2],labeldistance:2,fontsize:10};a[s][3].length>0&&(g.label=a[s][3]),i+=" "+o[recordName(a[s-1][1])]+" -> "+o[recordName(a[s+1][1])]+" "+serializeDot(g)+"\r\n"}}return i+="}\r\n"}(e,r)};
},{"../utils/yuml2dot-utils.js":169}],166:[function(require,module,exports){
require("../utils/yuml2dot-utils.js")(),module.exports=function(e,r){function t(e){for(var r=[],t=this.splitYumlExpr(e,"[("),a=0;a<t.length;a++){var n=t[a].trim();if(0!=n.length)if(n.match(/^\(.*\)$/)){n=n.substr(1,n.length-2);var o=extractBgAndNote(n,!0);r.push([o.isNote?"note":"record",o.part,o.bg,o.fontcolor])}else if(n.match(/^\[.*\]$/))n=n.substr(1,n.length-2),r.push(["actor",n]);else switch(n){case"<":r.push(["edge","vee","<<extend>>","none","dashed"]);break;case">":r.push(["edge","none","<<include>>","vee","dashed"]);break;case"-":r.push(["edge","none","","none","solid"]);break;case"^":r.push(["edge","none","","empty","solid"]);break;default:throw"Invalid expression"}}return r}return function(e,r){var a={},n=0,o=" ranksep = 0.7\r\n";o+=" rankdir = "+r.dir+"\r\n";for(var l=0;l<e.length;l++){for(var s=t(e[l]),i=0;i<s.length;i++){var d=s[i][0];if("note"==d||"record"==d||"actor"==d){var h=s[i][1];if(a.hasOwnProperty(recordName(h)))continue;var c="A"+(n++).toString();a[recordName(h)]=c,h=formatLabel(h,20,!1);var u={fontsize:10};"actor"==d?(u.margin="0.05,0.05",u.shape="none",u.label="{img:actor} "+h,u.height=1):(u.margin="0.20,0.05",u.shape="record"==d?"ellipse":"note",u.label=h,u.height=.5,s[i][2]&&(u.style="filled",u.fillcolor=s[i][2]),s[i][3]&&(u.fontcolor=s[i][3])),o+=" "+c+" "+serializeDot(u)+"\r\n"}}if(3==s.length&&"edge"==s[1][0]){var g={shape:"edge",dir:"both",style:"note"==s[0][0]||"note"==s[2][0]?"dashed":s[1][4],arrowtail:s[1][1],arrowhead:s[1][3],labeldistance:2,fontsize:10};s[1][2].length>0&&(g.label=s[1][2]),o+=" "+a[recordName(s[0][1])]+" -> "+a[recordName(s[2][1])]+" "+serializeDot(g)+"\r\n"}}return o+="}\r\n"}(e,r)};
},{"../utils/yuml2dot-utils.js":169}],167:[function(require,module,exports){
require("./svg-utils.js")(),module.exports=function(t){this.setDocumentSize=function(t,e){var r=' width="'+t+'" height="'+e+'" viewBox="0.00 0.00 '+t+" "+e+'" ';this.svg=this.svg.replace("<svg ","<svg "+r)},this.createRect=function(e,r,n,i){return'<rect width="'+n+'" height="'+i+'" x="'+e+'" y="'+r+'" style="stroke-width: 1; fill: none; stroke: '+(t?"white;":"black;")+'" />'},this.createText=function(e,r,n,i){var s="<g>\r\n",a=e.split("\n");n-=(a.length-1)/2*18;for(var h=0;h<a.length;h++){var l=' <text fill="'+(i||(t?"white":"black"))+'" font-family="Helvetica,sans-Serif" x="'+r+'" y="'+n+'" style="text-anchor: middle; alignment-baseline: central;">'+a[h]+"</text>\r\n";n+=18,s+=l}return s+="</g>\r\n"},this.getTextSize=function(t){for(var e=0,r=t.split("\n"),n=0;n<r.length;n++)e=Math.max(e,8.5*r[n].length);return{x:0,y:0,width:e,height:18*r.length}},this.createPath=function(e,r,n){var i=arguments,s=e.replace(/\{(\d+)\}/g,function(t,e){return i[parseInt(e)+3]}),a='<path style="stroke-width: 1; fill: '+n+"; stroke: "+(t?"white;":"black;")+'" ';return"dashed"==r&&(a+='stroke-dasharray="7,4" '),a+='d="'+s+'"></path>\r\n'},this.createNewDocument=function(){this.svg='<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n\x3c!-- Generated by yuml-diagram (https://www.npmjs.com/package/yuml-diagram) --\x3e \n<svg xmlns="http://www.w3.org/2000/svg">\n<defs>\n <marker id="arrow-filled" refX="6" refY="3" markerWidth="6" markerHeight="6" orient="auto">\n <path d="M0,0 6,3 0,6z" style="stroke: none; fill: black;"></path>\n </marker>\n <marker id="arrow-open" refX="6" refY="3" markerWidth="6" markerHeight="6" orient="auto">\n <path d="M0,0 6,3 0,6" style="stroke-width: 1; fill: none; stroke: black;"></path>\n </marker>\n</defs>'},this.appendChild=function(t){this.svg+=t+"\r\n"},this.setAttribute=function(t,e,r){var n=0,i=t.indexOf("<");if(i<0)return t;var s=t.indexOf(" ",i+1);if(s>0)n=s;else{var a=t.indexOf(">",i+1);if(!(a>0))return t;n=a}var h=" "+e+'="'+r+'" ';return t.substring(0,n)+h+t.substring(n)},this.serialize=function(){return/<\/svg>[\r\n]*$/.test(this.svg)||(this.svg+="\r\n</svg>"),this.svg},this.svg="",this.createNewDocument()};
},{"./svg-utils.js":168}],168:[function(require,module,exports){
module.exports=function(){var e={actor:['<circle cx="0" cy="-20" r="7.5" />\n <line x1="0" y1="-12.5" x2="0" y2="5" />\n <line x1="-15" y1="-5" x2="15" y2="-5" />\n <line x1="0" y1="5" x2="-15" y2="17" />\n <line x1="0" y1="5" x2="15" y2="17" />',0,25]};this.processEmbeddedImages=function(t,r){return t=t.replace(/<text\s.*>{img:.*}.*<\/text>/g,function(t){try{var n=/<text\s(.*)>{img:(.*)}(.*)<\/text>/.exec(t),x="<text "+n[1]+">"+n[3].trim()+"</text>";if(!e.hasOwnProperty(n[2]))return x;var a=/<text\s.*x=\"(-?[0-9\.]+)\" y=\"(-?[0-9\.]+)\"/.exec(x),c=a[1],i=a[2],l=e[n[2]];return x=(x=x.replace(' x="'+c+'"',' x="'+(parseFloat(c)+l[1])+'"')).replace(' y="'+i+'"',' y="'+(parseFloat(i)+l[2])+'"'),'<g transform="translate('+c+","+i+')" style="fill:none;stroke:'+(r?"white":"black")+';stroke-width:1px">'+l[0]+"</g>\r\n"+x}catch(e){return t}})}};
},{}],169:[function(require,module,exports){
(function (__dirname){
const fs=require("fs");module.exports=function(){var e=null;const r={"\n":"<BR/>","&":"&","<":"<",">":">"};this.escape_label=function(e){for(var r="",t=0;t<e.length;t++)r+=n(e.charAt(t));function n(e){return e=(e=(e=e.replace("{","\\{").replace("}","\\}")).replace(";","\n")).replace("<","\\<").replace(">","\\>")}return r},this.unescape_label=function(e){var r=e.replace(/\\\{/g,"{").replace(/\\\}/g,"}");return r=r.replace(/\\</g,"<").replace(/\\>/g,">")},this.splitYumlExpr=function(e,r,t="\\"){for(var n="",a=null,l=[],o=0;o<e.length;o++)if(c=e[o],c===t&&o+1<e.length)n+=c,n+=e[++o];else if(r.indexOf(c)>=0&&null===a){switch(n.length>0&&(l.push(n.trim()),n=""),c){case"[":a="]";break;case"(":a=")";break;case"<":a=">";break;case"|":a="|";break;default:a=null}n=c}else c===a?(a=null,l.push(n.trim()+c),n=""):n+=c;return n.length>0&&l.push(n.trim()),l},this.extractBgAndNote=function(e,r){var t={bg:"",isNote:!1,luma:128},n=/^(.*)\{ *bg *: *([a-zA-Z]+\d*|#[0-9a-fA-F]{6}) *\}$/.exec(e);if(null!=n&&3==n.length){t.part=n[1].trim(),t.bg=n[2].trim().toLowerCase();var a=getLuma(t.bg);a<64?t.fontcolor="white":a>192&&(t.fontcolor="black")}else t.part=e.trim();return r&&e.startsWith("note:")&&(t.part=t.part.substring(5).trim(),t.isNote=!0),t},this.escape_token_escapes=function(e){return e.replace("\\[","\\u005b").replace("\\]","\\u005d")},this.unescape_token_escapes=function(e){return e.replace("\\u005b","[").replace("\\u005d","]")},this.recordName=function(e){return e.split("|")[0].trim()},this.formatLabel=function(e,r,t){var n=[e];t&&e.indexOf("|")>=0&&(n=e.split("|"));for(var a=0;a<n.length;a++)n[a]=wordwrap(n[a],r,"\n");return e=n.join("|"),escape_label(e)},this.wordwrap=function(e,r,t){if(!e||e.length<r)return e;var n;for(n=r;n>0&&" "!=e[n];n--);if(n>0){var a=e.substring(0,n),l=e.substring(n+1);return a+t+this.wordwrap(l,r,t)}return e},this.serializeDot=function(e){if("record"===e.shape&&!/^<.+>(|<.+>)*$/.test(e.label)){if(e.label.includes("|"))return`[fontsize=10,label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="9" ${e.fillcolor?`BGCOLOR="${e.fillcolor}"`:""} ${e.fontcolor?`COLOR="${e.fontcolor}"`:""}>${e.label.split("|").map(e=>{e=this.unescape_label(e);let t="<TD>";for(const n of e)t+=r[n]||n;return`<TR>${t+="</TD>"}</TR>`}).join("")}</TABLE>>]`;e.shape="rectangle"}return"["+Object.keys(e).map(r=>`${r}=`+("string"==typeof e[r]?`"${e[r]}"`:e[r])).join(" , ")+" ]"},this.serializeDotElements=function(e){for(var r="",t=0;t<e.length;t++){var n=e[t];2==n.length?r+=" "+n[0]+" "+serializeDot(n[1])+"\r\n":3==n.length&&(r+=" "+n[0]+" -> "+n[1]+" "+serializeDot(n[2])+"\r\n")}return r},this.buildDotHeader=function(e){var r=e?"color=white, fontcolor=white":"color=black, fontcolor=black";return"digraph G {\r\n graph [ bgcolor=transparent, fontname=Helvetica ]\r\n node [ shape=none, margin=0, "+r+", fontname=Helvetica ]\r\n edge [ "+r+", fontname=Helvetica ]\r\n"},loadColors=function(){if(null==e){e={};for(var r=fs.readFileSync(__dirname+"/../data/rgb.txt",{encoding:"utf8",flag:"r"}).split("\n"),t=0;t<r.length;t++){var n=/^(\d+) (\d+) (\d+) (.*)$/.exec(r[t]);if(null!=n&&5==n.length&&n[4].indexOf(" ")<0){var a=.2126*parseFloat(n[0])+.7152*parseFloat(n[1])+.0722*parseFloat(n[2]);e[n[4].toLowerCase()]=a}}}},getLuma=function(r){loadColors();var t=128;return r.startsWith("#")?t=.2126*parseInt(r.substr(1,2),16)+.7152*parseInt(r.substr(3,2),16)+.0722*parseInt(r.substr(5,2),16):e.hasOwnProperty(r)&&(t=e[r]),t}};
}).call(this,"/src/utils")
},{"fs":48}],170:[function(require,module,exports){
const classDiagram=require("../diagrams/class-diagram.js"),usecaseDiagram=require("../diagrams/usecase-diagram.js"),activityDiagram=require("../diagrams/activity-diagram.js"),stateDiagram=require("../diagrams/state-diagram.js"),deploymentDiagram=require("../diagrams/deployment-diagram.js"),packageDiagram=require("../diagrams/package-diagram.js"),sequenceDiagram=require("../diagrams/sequence-diagram.js"),Viz=require("../../lib/viz-lite.js");require("./svg-utils.js")(),module.exports=function(){this.processJson=function(e,r){for(var a=[],t={dir:"TB",generate:!1,dark:r},i=e.split(/\r|\n/),s=0;s<i.length;s++){var c=i[s].replace(/^\s+|\s+$/g,"");c.startsWith("//")?this.processDirectives(c,t):c.length>0&&a.push(c)}if(0==a.length)return"";if(t.hasOwnProperty("type")||(t.error="Error: Missing mandatory 'type' directive"),t.hasOwnProperty("error"))return t.error;var o=null,l=null;try{switch(t.type){case"class":o=classDiagram(a,t);break;case"usecase":o=usecaseDiagram(a,t);break;case"activity":o=activityDiagram(a,t);break;case"state":o=stateDiagram(a,t);break;case"deployment":o=deploymentDiagram(a,t);break;case"package":o=packageDiagram(a,t);break;case"sequence":l=sequenceDiagram(a,t)}}catch(e){return"Error parsing the yUML file"}if(null===o&&null===l)return"Error: unable to parse the yUML file";if(null!==o)try{l=Viz(buildDotHeader(r)+o),l=processEmbeddedImages(l,r)}catch(e){return"Error composing the diagram"}return l},this.processDirectives=function(e,r){const a={leftToRight:"LR",rightToLeft:"RL",topDown:"TB"};var t=/^\/\/\s+\{\s*([\w]+)\s*:\s*([\w]+)\s*\}$/.exec(e);if(null!=t&&3==t.length){var i=t[1],s=t[2];switch(i){case"type":if(!/^(class|usecase|activity|state|deployment|package|sequence)$/.test(s))return void(r.error="Error: invalid value for 'type'. Allowed values are: class, usecase, activity, state, deployment, package.");r.type=s;break;case"direction":if(!/^(leftToRight|rightToLeft|topDown)$/.test(s))return void(r.error="Error: invalid value for 'direction'. Allowed values are: leftToRight, rightToLeft, topDown <i>(default)</i>.");r.dir=a[s];break;case"generate":if(!/^(true|false)$/.test(s))return void(r.error="Error: invalid value for 'generate'. Allowed values are: true, false <i>(default)</i>.");r.generate="true"===s}}}};
},{"../../lib/viz-lite.js":2,"../diagrams/activity-diagram.js":159,"../diagrams/class-diagram.js":160,"../diagrams/deployment-diagram.js":161,"../diagrams/package-diagram.js":162,"../diagrams/sequence-diagram.js":163,"../diagrams/state-diagram.js":165,"../diagrams/usecase-diagram.js":166,"./svg-utils.js":168}]},{},[1])(1)
});