-
Notifications
You must be signed in to change notification settings - Fork 29
/
h3.js
2 lines (2 loc) · 156 KB
/
h3.js
1
2
!function(A,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(A.h3={})}(this,function(A){var e=function(A){var e,r=void 0!==(A=A||{})?A:{},n={};for(e in r)r.hasOwnProperty(e)&&(n[e]=r[e]);var i,t,a,f,o=[],l=!1;i="object"==typeof window,t="function"==typeof importScripts,a="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,l=a&&!i&&!t,f=!i&&!l&&!t;var u,c,s,g,b,d="";l?(d=__dirname+"/",u=function(A,e){var r;return(r=tA(A))||(g||(g=require("fs")),b||(b=require("path")),A=b.normalize(A),r=g.readFileSync(A)),e?r:r.toString()},s=function(A){var e=u(A,!0);return e.buffer||(e=new Uint8Array(e)),E(e.buffer),e},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),o=process.argv.slice(2),r.inspect=function(){return"[Emscripten Module object]"}):f?("undefined"!=typeof read&&(u=function(A){var e=tA(A);return e?nA(e):read(A)}),s=function(A){var e;return(e=tA(A))?e:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(E("object"==typeof(e=read(A,"binary"))),e)},"undefined"!=typeof scriptArgs?o=scriptArgs:void 0!==arguments&&(o=arguments),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(i||t)&&(t?d=self.location.href:document.currentScript&&(d=document.currentScript.src),d=0!==d.indexOf("blob:")?d.substr(0,d.lastIndexOf("/")+1):"",u=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.send(null),e.responseText}catch(e){var r=tA(A);if(r)return nA(r);throw e}},t&&(s=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 r=tA(A);if(r)return r;throw e}}),c=function(A,e,r){var n=new XMLHttpRequest;n.open("GET",A,!0),n.responseType="arraybuffer",n.onload=function(){if(200==n.status||0==n.status&&n.response)e(n.response);else{var i=tA(A);i?e(i.buffer):r()}},n.onerror=r,n.send(null)});var w=r.print||console.log.bind(console),B=r.printErr||console.warn.bind(console);for(e in n)n.hasOwnProperty(e)&&(r[e]=n[e]);n=null,r.arguments&&(o=r.arguments);var k=0,D=function(){return k},m=!1;function E(A,e){A||DA("Assertion failed: "+e)}function Q(A){var e=r["_"+A];return E(e,"Cannot call unknown function "+A+", make sure it is exported"),e}var h,v,_,C,M,y,I,F="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function p(A,e){return A?function(A,e,r){for(var n=e+r,i=e;A[i]&&!(i>=n);)++i;if(i-e>16&&A.subarray&&F)return F.decode(A.subarray(e,i));for(var t="";e<i;){var a=A[e++];if(128&a){var f=63&A[e++];if(192!=(224&a)){var o=63&A[e++];if((a=224==(240&a)?(15&a)<<12|f<<6|o:(7&a)<<18|f<<12|o<<6|63&A[e++])<65536)t+=String.fromCharCode(a);else{var l=a-65536;t+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else t+=String.fromCharCode((31&a)<<6|f)}else t+=String.fromCharCode(a)}return t}(_,A,e):""}function P(A,e){return A%e>0&&(A+=e-A%e),A}function T(A){h=A,r.HEAP8=v=new Int8Array(A),r.HEAP16=C=new Int16Array(A),r.HEAP32=M=new Int32Array(A),r.HEAPU8=_=new Uint8Array(A),r.HEAPU16=new Uint16Array(A),r.HEAPU32=new Uint32Array(A),r.HEAPF32=y=new Float32Array(A),r.HEAPF64=I=new Float64Array(A)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var G=r.TOTAL_MEMORY||33554432;function L(A){for(;A.length>0;){var e=A.shift();if("function"!=typeof e){var n=e.func;"number"==typeof n?void 0===e.arg?r.dynCall_v(n):r.dynCall_vi(n,e.arg):n(void 0===e.arg?null:e.arg)}else e()}}G=(h=r.buffer?r.buffer:new ArrayBuffer(G)).byteLength,T(h),M[5972]=5266800;var U=[],x=[],R=[],H=[],V=Math.abs,z=Math.ceil,S=Math.floor,Y=Math.min,O=0,N=null,Z=null;r.preloadedImages={},r.preloadedAudios={};var K,W,J=null,j="data:application/octet-stream;base64,";function X(A){return String.prototype.startsWith?A.startsWith(j):0===A.indexOf(j)}function q(A){return A}function $(A){return A.replace(/\b__Z[\w\d_]+/g,function(A){var e=q(A);return A===e?A:e+" ["+A+"]"})}function AA(){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()}function eA(){return v.length}function rA(A){try{var e=new ArrayBuffer(A);if(e.byteLength!=A)return;return new Int8Array(e).set(v),lA(e),T(e),1}catch(A){}}function nA(A){for(var e=[],r=0;r<A.length;r++){var n=A[r];n>255&&(n&=255),e.push(String.fromCharCode(n))}return e.join("")}J="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAA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AAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAA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Zhu25b633D8c1YgmzowSQNM25BRKWARArGS08/lNxD+LFssHwmMRQLC5aNcxBgJABL9HT0WRF0CjCmJmOGEOQHsuaVzMP/s/TWJCaGGwBUCeu1PAPLzjP9nqN9DZOBNAKE4JcydbCkCGtbd1qjPzP8dgm9U8jhVAtPeKTkVwDkCeCLss5l37P401XMPLmBdAFd29VMVQDUBg0yA55h75Pz6odcYLCRdApBM4rBrkAkDyAVWgQxbRP4XDMnK20hFAymLlF7EmzD8GUgo9XBHlP3lbK7T9COc/k+OhPthhy7+YGEpnrOvCPzBFhLs15u4/epbqB6H4uz9IuuLF5svev6lzLKY31es/CaQ0envF5z8ZY0xlUADXv7zaz7HYEuI/CfbK1sn16T8uAQfWwxLWPzKn/YuFN94/5KdbC1AFu793fyCSnlfvPzK2y4doAMY/NRg5t1/X6b/shq4QJaHDP5yNIAKPOeI/vpn7BSE30r/X4YQrO6nrv78Ziv/Thto/DqJ1Y6+y5z9l51NaxFrlv8QlA65HOLS/86dxiEc96z+Hj0+LFjneP6LzBZ8LTc2/DaJ1Y6+y579l51NaxFrlP8QlA65HOLQ/8qdxiEc967+Jj0+LFjnev6LzBZ8LTc0/1qdbC1AFuz93fyCSnlfvvzK2y4doAMa/NRg5t1/X6T/vhq4QJaHDv5yNIAKPOeK/wJn7BSE30j/W4YQrO6nrP78Ziv/Thtq/CaQ0envF578XY0xlUADXP7zaz7HYEuK/CvbK1sn16b8rAQfWwxLWvzKn/YuFN96/zWLlF7EmzL8GUgo9XBHlv3lbK7T9COe/kOOhPthhyz+cGEpnrOvCvzBFhLs15u6/c5bqB6H4u79IuuLF5sveP6lzLKY31eu/AQAAAP////8HAAAA/////zEAAAD/////VwEAAP////9hCQAA/////6dBAAD/////kcsBAP/////3kAwA/////8H2VwAAAAAAAAAAAAAAAAACAAAA/////w4AAAD/////YgAAAP////+uAgAA/////8ISAAD/////ToMAAP////8ilwMA/////+4hGQD/////gu2vAAAAAAAAAAAAAAAAAAAAAAACAAAA//////////8BAAAAAwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////AgAAAP//////////AQAAAAAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD/////////////////////AQAAAP///////////////wIAAAD///////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP///////////////////////////////wIAAAD///////////////8BAAAA/////////////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAABAAAA//////////8CAAAA//////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAAAQAAAP//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAAAAAAAAIAAAADAAAAEwAAAAAAAAACAAAAAgAAAAMAAAAPAAAAAAAAAAAAAAAAAAAAAAAAABAAAAACAAAAAAAAAAIAAAABAAAAEwAAAAIAAAACAAAAAAAAAAUAAAAKAAAAAAAAAAIAAAACAAAAAwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAIAAAAAAAAAAgAAAAEAAAAPAAAAAgAAAAIAAAAAAAAABQAAAAsAAAAAAAAAAgAAAAIAAAADAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAgAAAAAAAAACAAAAAQAAABAAAAACAAAAAgAAAAAAAAAFAAAADAAAAAAAAAACAAAAAgAAAAMAAAASAAAAAAAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAIAAAABAAAAEQAAAAIAAAACAAAAAAAAAAUAAAANAAAAAAAAAAIAAAACAAAAAwAAABMAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAIAAAAAAAAAAgAAAAEAAAASAAAAAgAAAAIAAAAAAAAABQAAAA4AAAAAAAAAAgAAAAIAAAADAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAACAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAAAAAACAAAAAQAAAAAAAAABAAAAAgAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAOgehWlKfUEEz1zLi+JsiQa2og3wcMfVAWCbHorc0yEDi+Yn/Y6mbQJ11/mfsnG9At6bnG4UQQkBvMCQWKqUUQJVmwwswmOc/3hVgVBL3uj//qqOEOdGOPw/WDN4gnGE/H3ANkCUgND+AA8btKgAHPwTXBqJVSdo+XfRQAqsKrj4fc+zLYbSPQklEmCZHv2FCUP+uDso1NEKYtPhwphUHQptxnyFXYdpB7CddZAMmrkGAt1AxSTqBQUibBVdTsFNBSuX3MV+AJkFocv82SLf5QAqmgj7AY81A23VDSEnLoEDGEJVSeDFzQDYrqvBk70VA8U157pcRGUBWfEF+ZKbsP7KBdLHZTpFAqKYk69AqekDbeGY41MdjQD8AZzHK501A1vcrrjubNkD5LnquvBYhQCbiRRD71QlAqt72EbOH8z8Eu+jL1YbdP4uaox/xUcY/abedg1XfsD+BsUdzJ4KZP5wE9YFySIM/rW1kAKMpbT+rZFthVRhWPy4PKlXIs0A/qMZLlwDnMEHByqEF0I0ZQQYSFD8lUQNBPpY+dFs07UAH8BZImBPWQN9RY0I0sMBA2T7kLfc6qUByFYvfhBKTQMq+0Mis1XxA0XQbeQXMZUBJJ5aEGXpQQP7/SY0a6ThAaMD92b/UIkAs8s8yqXoMQNIegOvCk/U/aOi7NZJP4D8AAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAD/////AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA/////wAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAP////8AAAAABQAAAAAAAAAAAAAAAAAAAAAAAAD/////BQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAABAAAAAAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAEAAQAAAQEAAAAAAAEAAAABAAAAAQABAAAAAAAAAAAAAAAAAAAAAAcAAAAHAAAAAQAAAAIAAAAEAAAAAwAAAAAAAAAAAAAABwAAAAMAAAABAAAAAgAAAAUAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAGAAAAAgAAAAMAAAAFAAAABAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAwAAAAEAAAAFAAAABAAAAAAAAAAAAAAABwAAAAUAAAADAAAABAAAAAEAAAAAAAAAAgAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAAGFkamFjZW50RmFjZURpclt0bXBGaWprLmZhY2VdW2ZpamsuZmFjZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvQ2VsbEJvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9DZWxsQm91bmRhcnkAcG9seWdvbi0+bmV4dCA9PSBOVUxMAGxpbmtlZEdlby5jAGFkZE5ld0xpbmtlZFBvbHlnb24AbmV4dCAhPSBOVUxMAGxvb3AgIT0gTlVMTABhZGROZXdMaW5rZWRMb29wAHBvbHlnb24tPmZpcnN0ID09IE5VTEwAYWRkTGlua2VkTG9vcABjb29yZCAhPSBOVUxMAGFkZExpbmtlZENvb3JkAGxvb3AtPmZpcnN0ID09IE5VTEwAaW5uZXJMb29wcyAhPSBOVUxMAG5vcm1hbGl6ZU11bHRpUG9seWdvbgBiYm94ZXMgIT0gTlVMTABjYW5kaWRhdGVzICE9IE5VTEwAZmluZFBvbHlnb25Gb3JIb2xlAGNhbmRpZGF0ZUJCb3hlcyAhPSBOVUxMAHJldkRpciAhPSBJTlZBTElEX0RJR0lUAGxvY2FsaWouYwBjZWxsVG9Mb2NhbElqawBiYXNlQ2VsbCAhPSBvcmlnaW5CYXNlQ2VsbAAhKG9yaWdpbk9uUGVudCAmJiBpbmRleE9uUGVudCkAYmFzZUNlbGwgPT0gb3JpZ2luQmFzZUNlbGwAYmFzZUNlbGwgIT0gSU5WQUxJRF9CQVNFX0NFTEwAbG9jYWxJamtUb0NlbGwAIV9pc0Jhc2VDZWxsUGVudGFnb24oYmFzZUNlbGwpAGJhc2VDZWxsUm90YXRpb25zID49IDAAZ3JhcGgtPmJ1Y2tldHMgIT0gTlVMTAB2ZXJ0ZXhHcmFwaC5jAGluaXRWZXJ0ZXhHcmFwaABub2RlICE9IE5VTEwAYWRkVmVydGV4Tm9kZQ==";var iA="function"==typeof atob?atob:function(A){var e,r,n,i,t,a,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="",l=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{n=f.indexOf(A.charAt(l++)),e=(15&(i=f.indexOf(A.charAt(l++))))<<4|(t=f.indexOf(A.charAt(l++)))>>2,r=(3&t)<<6|(a=f.indexOf(A.charAt(l++))),o+=String.fromCharCode(n<<2|i>>4),64!==t&&(o+=String.fromCharCode(e)),64!==a&&(o+=String.fromCharCode(r))}while(l<A.length);return o};function tA(A){if(X(A))return function(A){if("boolean"==typeof l&&l){var e;try{e=Buffer.from(A,"base64")}catch(r){e=new Buffer(A,"base64")}return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}try{for(var r=iA(A),n=new Uint8Array(r.length),i=0;i<r.length;++i)n[i]=r.charCodeAt(i);return n}catch(A){throw new Error("Converting base64 string to bytes failed.")}}(A.slice(j.length))}var aA,fA,oA=function(A,e,r){var n=new A.Int8Array(r),i=new A.Int32Array(r),t=(new A.Uint8Array(r),new A.Float32Array(r),new A.Float64Array(r)),a=0|e.p,f=A.Math.floor,o=A.Math.abs,l=A.Math.sqrt,u=A.Math.pow,c=A.Math.cos,s=A.Math.sin,g=A.Math.tan,b=A.Math.acos,d=A.Math.asin,w=A.Math.atan,B=A.Math.atan2,k=A.Math.ceil,D=A.Math.imul,m=A.Math.min,E=A.Math.clz32,Q=e.b,h=e.c,v=e.d,_=e.e,C=e.f,M=e.g,y=e.h,I=e.i,F=23920;function p(A,e,r,n){var i=0,t=0,a=0;return 0|P(A|=0,e|=0,r|=0,n|=0,0)?(a=0|Fe(0|r,0|(i=((0|r)<0)<<31>>31),3,0),t=0|h(),i=0|_e(0|r,0|i,1,0),i=0|_e(0|(i=0|Fe(0|a,0|t,0|i,0|h())),0|h(),1,0),t=0|h(),(0|r)<0?0|(n=2):(He(0|n,0,i<<3|0),(a=0|ve(i,4))?(n=0|T(A,e,r,n,a,i,t,0),he(a),0|n):0|(n=13))):0|(n=0)}function P(A,e,r,n,t){e|=0,r|=0,n|=0,t|=0;var a,f,o,l=0,u=0,c=0,s=0,g=0,b=0,d=0,w=0;if(f=F,F=F+16|0,o=f+8|0,i[(w=a=f)>>2]=A|=0,i[w+4>>2]=e,(0|r)<0)return F=f,2;if(i[(l=n)>>2]=A,i[l+4>>2]=e,(l=0!=(0|t))&&(i[t>>2]=0),0|PA(A,e))return F=f,9;i[o>>2]=0;A:do{if((0|r)>=1)if(l)for(b=1,g=0,d=0,w=1,l=A;;){if(!(g|d)){if(0|(l=0|G(l,e,4,o,a)))break A;if(0|PA(l=0|i[(e=a)>>2],e=0|i[e+4>>2])){l=9;break A}}if(0|(l=0|G(l,e,0|i[22384+(d<<2)>>2],o,a)))break A;if(l=0|i[(e=a)>>2],e=0|i[e+4>>2],i[(A=n+(b<<3)|0)>>2]=l,i[A+4>>2]=e,i[t+(b<<2)>>2]=w,u=(0|(A=g+1|0))==(0|w),s=6==(0|(c=d+1|0)),0|PA(l,e)){l=9;break A}if((0|(w=w+(s&u&1)|0))>(0|r)){l=0;break}b=b+1|0,g=u?0:A,d=u?s?0:c:d}else for(b=1,g=0,d=0,w=1,l=A;;){if(!(g|d)){if(0|(l=0|G(l,e,4,o,a)))break A;if(0|PA(l=0|i[(e=a)>>2],e=0|i[e+4>>2])){l=9;break A}}if(0|(l=0|G(l,e,0|i[22384+(d<<2)>>2],o,a)))break A;if(l=0|i[(e=a)>>2],e=0|i[e+4>>2],i[(A=n+(b<<3)|0)>>2]=l,i[A+4>>2]=e,u=(0|(A=g+1|0))==(0|w),s=6==(0|(c=d+1|0)),0|PA(l,e)){l=9;break A}if((0|(w=w+(s&u&1)|0))>(0|r)){l=0;break}b=b+1|0,g=u?0:A,d=u?s?0:c:d}else l=0}while(0);return F=f,0|l}function T(A,e,r,n,t,a,f,o){r|=0,n|=0,t|=0,o|=0;var l,u,c,s=0,g=0,b=0,d=0,w=0,B=0,k=0;if(c=F,F=F+16|0,l=c+8|0,u=c,s=0|Pe(0|(A|=0),0|(e|=0),0|(a|=0),0|(f|=0)),b=0|h(),!(0==(0|(k=0|i[(B=d=n+(s<<3)|0)>>2]))&0==(0|(B=0|i[B+4>>2]))|(g=(0|k)==(0|A)&(0|B)==(0|e))))do{s=0|pe(0|(s=0|_e(0|s,0|b,1,0)),0|h(),0|a,0|f),b=0|h(),g=(0|(B=0|i[(k=d=n+(s<<3)|0)>>2]))==(0|A)&(0|(k=0|i[k+4>>2]))==(0|e)}while(!(0==(0|B)&0==(0|k)|g));if(s=t+(s<<2)|0,g&&(0|i[s>>2])<=(0|o))return F=c,0;if(i[(k=d)>>2]=A,i[k+4>>2]=e,i[s>>2]=o,(0|o)>=(0|r))return F=c,0;switch(g=o+1|0,i[l>>2]=0,0|(s=0|G(A,e,2,l,u))){case 9:w=9;break;case 0:(s=0|T(0|i[(s=u)>>2],0|i[s+4>>2],r,n,t,a,f,g))||(w=9)}A:do{if(9==(0|w)){switch(i[l>>2]=0,0|(s=0|G(A,e,3,l,u))){case 9:break;case 0:if(0|(s=0|T(0|i[(s=u)>>2],0|i[s+4>>2],r,n,t,a,f,g)))break A;break;default:break A}switch(i[l>>2]=0,0|(s=0|G(A,e,1,l,u))){case 9:break;case 0:if(0|(s=0|T(0|i[(s=u)>>2],0|i[s+4>>2],r,n,t,a,f,g)))break A;break;default:break A}switch(i[l>>2]=0,0|(s=0|G(A,e,5,l,u))){case 9:break;case 0:if(0|(s=0|T(0|i[(s=u)>>2],0|i[s+4>>2],r,n,t,a,f,g)))break A;break;default:break A}switch(i[l>>2]=0,0|(s=0|G(A,e,4,l,u))){case 9:break;case 0:if(0|(s=0|T(0|i[(s=u)>>2],0|i[s+4>>2],r,n,t,a,f,g)))break A;break;default:break A}switch(i[l>>2]=0,0|(s=0|G(A,e,6,l,u))){case 9:break;case 0:if(0|(s=0|T(0|i[(s=u)>>2],0|i[s+4>>2],r,n,t,a,f,g)))break A;break;default:break A}return F=c,0}}while(0);return F=c,0|s}function G(A,e,r,n,t){A|=0,e|=0,t|=0;var a,f,o,l=0,u=0,c=0,s=0,g=0,b=0;if((r|=0)>>>0>6)return 1;if((0|i[(n|=0)>>2])>0){l=0;do{r=0|lA(r),l=l+1|0}while((0|l)<(0|i[n>>2]))}if(o=0|Ge(0|A,0|e,45),h(),(f=127&o)>>>0>121)return 5;a=0|TA(A,e),l=0|Ge(0|A,0|e,52),h(),l&=15;A:do{if(l){for(;;){if(c=0|Ge(0|A,0|e,0|(u=3*(15-l|0)|0)),h(),7==(0|(c&=7))){e=5;break}if(b=0==(0|RA(l)),l=l+-1|0,g=0|Le(7,0,0|u),e&=~(0|h()),A=0|Le(0|i[(b?432:16)+(28*c|0)+(r<<2)>>2],0,0|u)|A&~g,e|=u=0|h(),!(r=0|i[(b?640:224)+(28*c|0)+(r<<2)>>2])){r=0;break A}if(!l){s=8;break A}}return 0|e}s=8}while(0);8==(0|s)&&(A|=0|Le(0|(b=0|i[848+(28*f|0)+(r<<2)>>2]),0,45),e=0|h()|-1040385&e,r=0|i[4272+(28*f|0)+(r<<2)>>2],127==(127&b|0)&&(b=0|Le(0|i[848+(28*f|0)+20>>2],0,45),e=0|h()|-1040385&e,r=0|i[4272+(28*f|0)+20>>2],A=0|LA(b|A,e),e=0|h(),i[n>>2]=1+(0|i[n>>2]))),c=0|Ge(0|A,0|e,45),h(),c&=127;A:do{if(0|x(c)){e:do{if(1==(0|TA(A,e))){if((0|f)!=(0|c)){if(0|z(c,0|i[7696+(28*f|0)>>2])){A=0|xA(A,e),u=1,e=0|h();break}A=0|LA(A,e),u=1,e=0|h();break}switch(0|a){case 3:A=0|LA(A,e),e=0|h(),i[n>>2]=1+(0|i[n>>2]),u=0;break e;case 5:A=0|xA(A,e),e=0|h(),i[n>>2]=5+(0|i[n>>2]),u=0;break e;case 0:return 9;default:return 1}}else u=0}while(0);if((0|r)>0){l=0;do{A=0|GA(A,e),e=0|h(),l=l+1|0}while((0|l)!=(0|r))}if((0|f)!=(0|c)){if(!(0|R(c))){if(0!=(0|u)|5!=(0|TA(A,e)))break;i[n>>2]=1+(0|i[n>>2]);break}switch(127&o){case 8:case 118:break A}3!=(0|TA(A,e))&&(i[n>>2]=1+(0|i[n>>2]))}}else if((0|r)>0){l=0;do{A=0|LA(A,e),e=0|h(),l=l+1|0}while((0|l)!=(0|r))}}while(0);return i[n>>2]=((0|i[n>>2])+r|0)%6|0,i[(b=t)>>2]=A,i[b+4>>2]=e,0}function L(A,e,r,n){r|=0,n|=0;var t,a,f,o=0,l=0;for(f=F,F=F+16|0,t=f,a=f+8|0,o=(o=0==(0|PA(A|=0,e|=0)))?1:2;;){if(i[a>>2]=0,0==(0|G(A,e,o,a,t))&((0|i[(l=t)>>2])==(0|r)?(0|i[l+4>>2])==(0|n):0)){A=4;break}if((o=o+1|0)>>>0>=7){o=7,A=4;break}}return 4==(0|A)?(F=f,0|o):0}function U(A,e,r,n,a,f,o){e|=0,r|=0,n|=0,a|=0,f|=0,o|=0;var l,u,c,s,g,b,d,w,B,k=0,D=0,m=0,E=0,Q=0,v=0,_=0,C=0,M=0,y=0,I=0,p=0,P=0,T=0,G=0,L=0,U=0,x=0,R=0,H=0,V=0;if(B=F,F=F+64|0,l=B,(0|(k=0|i[(A|=0)>>2]))<=0)return F=B,0;u=A+4|0,c=8+(b=B+40|0)|0,s=8+(d=B+24|0)|0,g=8+(w=B+8|0)|0,L=0;A:for(;;){if(i[b>>2]=i[(G=(D=0|i[u>>2])+(L<<4)|0)>>2],i[b+4>>2]=i[G+4>>2],i[b+8>>2]=i[G+8>>2],i[b+12>>2]=i[G+12>>2],(0|L)==(k+-1|0)?(i[d>>2]=i[D>>2],i[d+4>>2]=i[D+4>>2],i[d+8>>2]=i[D+8>>2],i[d+12>>2]=i[D+12>>2]):(i[d>>2]=i[(G=D+(L+1<<4)|0)>>2],i[d+4>>2]=i[G+4>>2],i[d+8>>2]=i[G+8>>2],i[d+12>>2]=i[G+12>>2]),I=0|K(b,d,n),(0|(p=0|h()))>0|0==(0|p)&I>>>0>0){P=+(I>>>0)+4294967296*+(0|p),T=0,G=0;do{if(V=+t[b>>3],H=+((k=0|Ce(0|I,0|p,0|T,0|G))>>>0)+4294967296*+(0|h()),t[w>>3]=V*H/P+ +t[d>>3]*(R=+(T>>>0)+4294967296*+(0|G))/P,t[g>>3]=+t[c>>3]*H/P+ +t[s>>3]*R/P,0|(k=0|HA(w,n,l)))break A;E=0|Pe(0|(M=0|i[(y=l)>>2]),0|(y=0|i[y+4>>2]),0|e,0|r),v=0|h(),D=0|i[(m=k=o+(E<<3)|0)>>2],m=0|i[m+4>>2];e:do{if(0==(0|D)&0==(0|m))U=k,x=14;else for(_=0,C=0,Q=m,k=v;;){if((0|_)>(0|r)|(0|_)==(0|r)&C>>>0>e>>>0){k=1;break A}if((0|D)==(0|M)&(0|Q)==(0|y))break e;if(E=0|pe(0|(m=0|_e(0|E,0|k,1,0)),0|h(),0|e,0|r),k=0|h(),C=0|_e(0|C,0|_,1,0),_=0|h(),0==(0|(D=0|i[(Q=m=o+(E<<3)|0)>>2]))&0==(0|(Q=0|i[Q+4>>2]))){U=m,x=14;break}}}while(0);14!=(0|x)||(x=0,0==(0|M)&0==(0|y))||(i[(C=U)>>2]=M,i[C+4>>2]=y,i[(C=f+(i[a>>2]<<3)|0)>>2]=M,i[C+4>>2]=y,C=0|_e(0|i[(C=a)>>2],0|i[C+4>>2],1,0),M=0|h(),i[(y=a)>>2]=C,i[y+4>>2]=M),T=0|_e(0|T,0|G,1,0),G=0|h()}while((0|p)>(0|G)|(0|p)==(0|G)&I>>>0>T>>>0)}if((0|(L=L+1|0))>=(0|(k=0|i[A>>2]))){k=0,x=19;break}}return 19==(0|x)?(F=B,0|k):(F=B,0|(x=k))}function x(A){return(A|=0)>>>0>121?0|(A=0):0|(A=0|i[7696+(28*A|0)+16>>2])}function R(A){return 4==(0|(A|=0))|117==(0|A)|0}function H(A){return 0|i[11120+(216*(0|i[(A|=0)>>2])|0)+(72*(0|i[A+4>>2])|0)+(24*(0|i[A+8>>2])|0)+(i[A+12>>2]<<3)>>2]}function V(A){return 0|i[11120+(216*(0|i[(A|=0)>>2])|0)+(72*(0|i[A+4>>2])|0)+(24*(0|i[A+8>>2])|0)+(i[A+12>>2]<<3)+4>>2]}function z(A,e){return(0|i[7696+(28*(A|=0)|0)+20>>2])==(0|(e|=0))?0|(e=1):0|(e=(0|i[7696+(28*A|0)+24>>2])==(0|e))}function S(A,e){return 0|i[848+(28*(A|=0)|0)+((e|=0)<<2)>>2]}function Y(A,e){return(0|i[848+(28*(A|=0)|0)>>2])==(0|(e|=0))?0|(e=0):(0|i[848+(28*A|0)+4>>2])==(0|e)?0|(e=1):(0|i[848+(28*A|0)+8>>2])==(0|e)?0|(e=2):(0|i[848+(28*A|0)+12>>2])==(0|e)?0|(e=3):(0|i[848+(28*A|0)+16>>2])==(0|e)?0|(e=4):(0|i[848+(28*A|0)+20>>2])==(0|e)?0|(e=5):0|((0|i[848+(28*A|0)+24>>2])==(0|e)?6:7)}function O(A){return+t[16+(A|=0)>>3]<+t[A+24>>3]|0}function N(A,e){var r,n,i=0;return(i=+t[(e|=0)>>3])>=+t[8+(A|=0)>>3]&&i<=+t[A>>3]?(e=(n=+t[e+8>>3])>=(i=+t[A+24>>3]),A=n<=(r=+t[A+16>>3])&1,r<i?e&&(A=1):e||(A=0),0|(e=0!=(0|A))):0|(e=0)}function Z(A,e){A|=0,e|=0;var r,n,a,l,u=0,c=0,s=0,g=0;a=F,F=F+288|0,r=a+264|0,n=a+96|0,s=(c=u=a)+96|0;do{i[c>>2]=0,c=c+4|0}while((0|c)<(0|s));return OA(e,u),SA(s=0|i[u>>2],u=0|i[u+4>>2],r),YA(s,u,n),g=+JA(r,n+8|0),t[r>>3]=+t[A>>3],t[(u=r+8|0)>>3]=+t[A+16>>3],t[n>>3]=+t[A+8>>3],t[(s=n+8|0)>>3]=+t[A+24>>3],l=+JA(r,n),s=~~(g=+k(+l*l/+Ue(+ +o(+(+t[u>>3]-+t[s>>3])/(+t[r>>3]-+t[n>>3])),3)/(g*(2.59807621135*g)*.8)))>>>0,u=+o(g)>=1?g>0?~~+m(+f(g/4294967296),4294967295)>>>0:~~+k((g-+(~~g>>>0))/4294967296)>>>0:0,Q(0|((c=0==(0|s)&0==(0|u))?0:u)),F=a,0|(c?1:s)}function K(A,e,r){A|=0,e|=0,r|=0;var n,t,a,l=0,u=0,c=0,s=0;a=F,F=F+288|0,n=a+264|0,t=a+96|0,c=(u=l=a)+96|0;do{i[u>>2]=0,u=u+4|0}while((0|u)<(0|c));return OA(r,l),SA(l=0|i[(c=l)>>2],c=0|i[c+4>>2],n),YA(l,c,t),s=+JA(n,t+8|0),c=~~(s=+k(+ +JA(A,e)/(2*s)))>>>0,l=+o(s)>=1?s>0?~~+m(+f(s/4294967296),4294967295)>>>0:~~+k((s-+(~~s>>>0))/4294967296)>>>0:0,Q(0|((u=0==(0|c)&0==(0|l))?0:l)),F=a,0|(u?1:c)}function W(A,e,r,n){r|=0,n|=0,i[(A|=0)>>2]=e|=0,i[A+4>>2]=r,i[A+8>>2]=n}function J(A,e){A|=0;var r,n,a,f,l=0,u=0,c=0,s=0,g=0,b=0,d=0;i[(f=8+(e|=0)|0)>>2]=0,s=+o(+(n=+t[A>>3])),s+=.5*(g=+o(+(a=+t[A+8>>3]))/.8660254037844386),s-=+(0|(l=~~s)),g-=+(0|(A=~~g));do{if(s<.5){if(s<.3333333333333333){if(i[e>>2]=l,g<.5*(s+1)){i[e+4>>2]=A;break}i[e+4>>2]=A=A+1|0;break}if(i[e+4>>2]=A=(1&!(g<(d=1-s)))+A|0,d<=g&g<2*s){i[e>>2]=l=l+1|0;break}i[e>>2]=l;break}if(!(s<.6666666666666666)){if(i[e>>2]=l=l+1|0,g<.5*s){i[e+4>>2]=A;break}i[e+4>>2]=A=A+1|0;break}if(g<1-s){if(i[e+4>>2]=A,2*s-1<g){i[e>>2]=l;break}}else i[e+4>>2]=A=A+1|0;i[e>>2]=l=l+1|0}while(0);do{if(n<0){if(1&A){l=~~(+(0|l)-(2*(+((b=0|Ce(0|l,((0|l)<0)<<31>>31|0,0|(b=(A+1|0)/2|0),((0|b)<0)<<31>>31|0))>>>0)+4294967296*+(0|h()))+1)),i[e>>2]=l;break}l=~~(+(0|l)-2*(+((b=0|Ce(0|l,((0|l)<0)<<31>>31|0,0|(b=(0|A)/2|0),((0|b)<0)<<31>>31|0))>>>0)+4294967296*+(0|h()))),i[e>>2]=l;break}}while(0);b=e+4|0,a<0&&(i[e>>2]=l=l-((1|A<<1)/2|0)|0,i[b>>2]=A=0-A|0),u=A-l|0,(0|l)<0?(c=0-l|0,i[b>>2]=u,i[f>>2]=c,i[e>>2]=0,A=u,l=0):c=0,(0|A)<0&&(i[e>>2]=l=l-A|0,i[f>>2]=c=c-A|0,i[b>>2]=0,A=0),r=l-c|0,u=A-c|0,(0|c)<0&&(i[e>>2]=r,i[b>>2]=u,i[f>>2]=0,A=u,l=r,c=0),(0|(u=(0|c)<(0|(u=(0|A)<(0|l)?A:l))?c:u))<=0||(i[e>>2]=l-u,i[b>>2]=A-u,i[f>>2]=c-u)}function j(A){var e,r=0,n=0,t=0,a=0,f=0;n=0|i[(e=4+(A|=0)|0)>>2],(0|(r=0|i[A>>2]))<0&&(i[e>>2]=n=n-r|0,i[(f=A+8|0)>>2]=(0|i[f>>2])-r,i[A>>2]=0,r=0),(0|n)<0?(i[A>>2]=r=r-n|0,i[(f=A+8|0)>>2]=a=(0|i[f>>2])-n|0,i[e>>2]=0,n=0):(f=a=A+8|0,a=0|i[a>>2]),(0|a)<0&&(i[A>>2]=r=r-a|0,i[e>>2]=n=n-a|0,i[f>>2]=0,a=0),(0|(t=(0|a)<(0|(t=(0|n)<(0|r)?n:r))?a:t))<=0||(i[A>>2]=r-t,i[e>>2]=n-t,i[f>>2]=a-t)}function X(A,e){var r,n;t[(e|=0)>>3]=+((0|i[(A|=0)>>2])-(n=0|i[A+8>>2])|0)-.5*(r=+((0|i[A+4>>2])-n|0)),t[e+8>>3]=.8660254037844386*r}function q(A,e,r){i[(r|=0)>>2]=(0|i[(e|=0)>>2])+(0|i[(A|=0)>>2]),i[r+4>>2]=(0|i[e+4>>2])+(0|i[A+4>>2]),i[r+8>>2]=(0|i[e+8>>2])+(0|i[A+8>>2])}function $(A,e,r){i[(r|=0)>>2]=(0|i[(A|=0)>>2])-(0|i[(e|=0)>>2]),i[r+4>>2]=(0|i[A+4>>2])-(0|i[e+4>>2]),i[r+8>>2]=(0|i[A+8>>2])-(0|i[e+8>>2])}function AA(A,e){var r,n=0;n=0|D(0|i[(A|=0)>>2],e|=0),i[A>>2]=n,r=0|D(0|i[(n=A+4|0)>>2],e),i[n>>2]=r,e=0|D(0|i[(A=A+8|0)>>2],e),i[A>>2]=e}function eA(A){var e,r,n,t=0,a=0,f=0,o=0;A=(A=(a=(0|(o=(0|i[8+(A|=0)>>2])-((n=(0|(r=0|i[A>>2]))<0)?r:0)+((e=(0|(f=(0|i[A+4>>2])-(n?r:0)|0))<0)?0-f|0:0)|0))<0)?0:o)-((f=(0|(a=(0|A)<(0|(a=(0|(t=(e?0:f)-(a?o:0)|0))<(0|(o=(n?0:r)-(e?f:0)-(a?o:0)|0))?t:o))?A:a))>0)?a:0)|0,t=t-(f?a:0)|0;A:do{switch(o-(f?a:0)|0){case 0:switch(0|t){case 0:return 0|(0==(0|A)?0:1==(0|A)?1:7);case 1:return 0|(0==(0|A)?2:1==(0|A)?3:7);default:break A}case 1:switch(0|t){case 0:return 0|(0==(0|A)?4:1==(0|A)?5:7);case 1:if(A)break A;return 6;default:break A}}}while(0);return 7}function rA(A){var e,r,n=0,t=0,a=0,f=0,o=0;a=0|Ee(+((3*(n=(0|i[(A|=0)>>2])-(t=0|i[(e=A+8|0)>>2])|0)|0)-(t=(0|i[(r=A+4|0)>>2])-t|0)|0)/7),i[A>>2]=a,n=0|Ee(+((t<<1)+n|0)/7),i[r>>2]=n,i[e>>2]=0,t=n-a|0,(0|a)<0?(o=0-a|0,i[r>>2]=t,i[e>>2]=o,i[A>>2]=0,n=t,a=0,t=o):t=0,(0|n)<0&&(i[A>>2]=a=a-n|0,i[e>>2]=t=t-n|0,i[r>>2]=0,n=0),o=a-t|0,f=n-t|0,(0|t)<0?(i[A>>2]=o,i[r>>2]=f,i[e>>2]=0,n=f,f=o,t=0):f=a,(0|(a=(0|t)<(0|(a=(0|n)<(0|f)?n:f))?t:a))<=0||(i[A>>2]=f-a,i[r>>2]=n-a,i[e>>2]=t-a)}function nA(A){var e,r,n=0,t=0,a=0,f=0,o=0;a=0|Ee(+(((n=(0|i[(A|=0)>>2])-(t=0|i[(e=A+8|0)>>2])|0)<<1)+(t=(0|i[(r=A+4|0)>>2])-t|0)|0)/7),i[A>>2]=a,n=0|Ee(+((3*t|0)-n|0)/7),i[r>>2]=n,i[e>>2]=0,t=n-a|0,(0|a)<0?(o=0-a|0,i[r>>2]=t,i[e>>2]=o,i[A>>2]=0,n=t,a=0,t=o):t=0,(0|n)<0&&(i[A>>2]=a=a-n|0,i[e>>2]=t=t-n|0,i[r>>2]=0,n=0),o=a-t|0,f=n-t|0,(0|t)<0?(i[A>>2]=o,i[r>>2]=f,i[e>>2]=0,n=f,f=o,t=0):f=a,(0|(a=(0|t)<(0|(a=(0|n)<(0|f)?n:f))?t:a))<=0||(i[A>>2]=f-a,i[r>>2]=n-a,i[e>>2]=t-a)}function iA(A){var e,r,n,t=0,a=0,f=0,o=0;f=0|i[(n=8+(A|=0)|0)>>2],i[A>>2]=o=(a=0|i[(r=A+4|0)>>2])+(3*(t=0|i[A>>2])|0)|0,i[r>>2]=a=f+(3*a|0)|0,i[n>>2]=t=(3*f|0)+t|0,f=a-o|0,(0|o)<0?(t=t-o|0,i[r>>2]=f,i[n>>2]=t,i[A>>2]=0,a=f,f=0):f=o,(0|a)<0&&(i[A>>2]=f=f-a|0,i[n>>2]=t=t-a|0,i[r>>2]=0,a=0),e=f-t|0,o=a-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=o,i[n>>2]=0,f=e,t=0):o=a,(0|(a=(0|t)<(0|(a=(0|o)<(0|f)?o:f))?t:a))<=0||(i[A>>2]=f-a,i[r>>2]=o-a,i[n>>2]=t-a)}function tA(A){var e,r,n,t=0,a=0,f=0,o=0;f=(3*(t=0|i[(r=4+(A|=0)|0)>>2])|0)+(o=0|i[A>>2])|0,i[A>>2]=o=(a=0|i[(n=A+8|0)>>2])+(3*o|0)|0,i[r>>2]=f,i[n>>2]=t=(3*a|0)+t|0,a=f-o|0,(0|o)<0?(t=t-o|0,i[r>>2]=a,i[n>>2]=t,i[A>>2]=0,o=0):a=f,(0|a)<0&&(i[A>>2]=o=o-a|0,i[n>>2]=t=t-a|0,i[r>>2]=0,a=0),e=o-t|0,f=a-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=f,i[n>>2]=0,o=e,t=0):f=a,(0|(a=(0|t)<(0|(a=(0|f)<(0|o)?f:o))?t:a))<=0||(i[A>>2]=o-a,i[r>>2]=f-a,i[n>>2]=t-a)}function aA(A,e){A|=0;var r,n,t,a=0,f=0,o=0;((e|=0)-1|0)>>>0>=6||(i[A>>2]=o=(0|i[15440+(12*e|0)>>2])+(0|i[A>>2])|0,i[(t=A+4|0)>>2]=f=(0|i[15440+(12*e|0)+4>>2])+(0|i[t>>2])|0,i[(n=A+8|0)>>2]=e=(0|i[15440+(12*e|0)+8>>2])+(0|i[n>>2])|0,a=f-o|0,(0|o)<0?(e=e-o|0,i[t>>2]=a,i[n>>2]=e,i[A>>2]=0,f=0):(a=f,f=o),(0|a)<0&&(i[A>>2]=f=f-a|0,i[n>>2]=e=e-a|0,i[t>>2]=0,a=0),r=f-e|0,o=a-e|0,(0|e)<0?(i[A>>2]=r,i[t>>2]=o,i[n>>2]=0,f=r,e=0):o=a,(0|(a=(0|e)<(0|(a=(0|o)<(0|f)?o:f))?e:a))<=0||(i[A>>2]=f-a,i[t>>2]=o-a,i[n>>2]=e-a))}function fA(A){var e,r,n,t=0,a=0,f=0,o=0;f=(t=0|i[(r=4+(A|=0)|0)>>2])+(o=0|i[A>>2])|0,i[A>>2]=o=(a=0|i[(n=A+8|0)>>2])+o|0,i[r>>2]=f,i[n>>2]=t=a+t|0,a=f-o|0,(0|o)<0?(t=t-o|0,i[r>>2]=a,i[n>>2]=t,i[A>>2]=0,f=0):(a=f,f=o),(0|a)<0&&(i[A>>2]=f=f-a|0,i[n>>2]=t=t-a|0,i[r>>2]=0,a=0),e=f-t|0,o=a-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=o,i[n>>2]=0,f=e,t=0):o=a,(0|(a=(0|t)<(0|(a=(0|o)<(0|f)?o:f))?t:a))<=0||(i[A>>2]=f-a,i[r>>2]=o-a,i[n>>2]=t-a)}function oA(A){var e,r,n,t=0,a=0,f=0,o=0;a=0|i[(n=8+(A|=0)|0)>>2],i[A>>2]=o=(f=0|i[(r=A+4|0)>>2])+(t=0|i[A>>2])|0,i[r>>2]=f=a+f|0,i[n>>2]=t=a+t|0,a=f-o|0,(0|o)<0?(t=t-o|0,i[r>>2]=a,i[n>>2]=t,i[A>>2]=0,f=0):(a=f,f=o),(0|a)<0&&(i[A>>2]=f=f-a|0,i[n>>2]=t=t-a|0,i[r>>2]=0,a=0),e=f-t|0,o=a-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=o,i[n>>2]=0,f=e,t=0):o=a,(0|(a=(0|t)<(0|(a=(0|o)<(0|f)?o:f))?t:a))<=0||(i[A>>2]=f-a,i[r>>2]=o-a,i[n>>2]=t-a)}function lA(A){switch(0|(A|=0)){case 1:A=5;break;case 5:A=4;break;case 4:A=6;break;case 6:A=2;break;case 2:A=3;break;case 3:A=1}return 0|A}function uA(A){switch(0|(A|=0)){case 1:A=3;break;case 3:A=2;break;case 2:A=6;break;case 6:A=4;break;case 4:A=5;break;case 5:A=1}return 0|A}function cA(A){var e,r,n,t=0,a=0,f=0,o=0;f=0|i[(n=8+(A|=0)|0)>>2],i[A>>2]=o=(a=0|i[(r=A+4|0)>>2])+((t=0|i[A>>2])<<1)|0,i[r>>2]=a=f+(a<<1)|0,i[n>>2]=t=(f<<1)+t|0,f=a-o|0,(0|o)<0?(t=t-o|0,i[r>>2]=f,i[n>>2]=t,i[A>>2]=0,a=f,f=0):f=o,(0|a)<0&&(i[A>>2]=f=f-a|0,i[n>>2]=t=t-a|0,i[r>>2]=0,a=0),e=f-t|0,o=a-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=o,i[n>>2]=0,f=e,t=0):o=a,(0|(a=(0|t)<(0|(a=(0|o)<(0|f)?o:f))?t:a))<=0||(i[A>>2]=f-a,i[r>>2]=o-a,i[n>>2]=t-a)}function sA(A){var e,r,n,t=0,a=0,f=0,o=0;f=((t=0|i[(r=4+(A|=0)|0)>>2])<<1)+(o=0|i[A>>2])|0,i[A>>2]=o=(a=0|i[(n=A+8|0)>>2])+(o<<1)|0,i[r>>2]=f,i[n>>2]=t=(a<<1)+t|0,a=f-o|0,(0|o)<0?(t=t-o|0,i[r>>2]=a,i[n>>2]=t,i[A>>2]=0,o=0):a=f,(0|a)<0&&(i[A>>2]=o=o-a|0,i[n>>2]=t=t-a|0,i[r>>2]=0,a=0),e=o-t|0,f=a-t|0,(0|t)<0?(i[A>>2]=e,i[r>>2]=f,i[n>>2]=0,o=e,t=0):f=a,(0|(a=(0|t)<(0|(a=(0|f)<(0|o)?f:o))?t:a))<=0||(i[A>>2]=o-a,i[r>>2]=f-a,i[n>>2]=t-a)}function gA(A,e){var r,n,t,a=0,f=0,o=0;return e=(e=(A=(0|(o=((t=(0|(n=(0|i[(A|=0)>>2])-(0|i[(e|=0)>>2])|0))<0)?0-n|0:0)+(0|i[A+8>>2])-(0|i[e+8>>2])+((r=(0|(f=(0|i[A+4>>2])-(0|i[e+4>>2])-(t?n:0)|0))<0)?0-f|0:0)|0))<0)?0:o)-((f=(0|(A=(0|e)<(0|(A=(0|(a=(r?0:f)-(A?o:0)|0))<(0|(o=(t?0:n)-(r?f:0)-(A?o:0)|0))?a:o))?e:A))>0)?A:0)|0,a=a-(f?A:0)|0,0|((0|(A=(0|(A=o-(f?A:0)|0))>-1?A:0-A|0))>(0|(e=(0|(a=(0|a)>-1?a:0-a|0))>(0|(e=(0|e)>-1?e:0-e|0))?a:e))?A:e)}function bA(A,e){var r;i[(e|=0)>>2]=(0|i[(A|=0)>>2])-(r=0|i[A+8>>2]),i[e+4>>2]=(0|i[A+4>>2])-r}function dA(A,e){var r,n,t,a=0,f=0,o=0;i[(e|=0)>>2]=f=0|i[(A|=0)>>2],i[(n=e+4|0)>>2]=A=0|i[A+4>>2],i[(t=e+8|0)>>2]=0,a=A-f|0,(0|f)<0?(A=0-f|0,i[n>>2]=a,i[t>>2]=A,i[e>>2]=0,f=0):(a=A,A=0),(0|a)<0&&(i[e>>2]=f=f-a|0,i[t>>2]=A=A-a|0,i[n>>2]=0,a=0),r=f-A|0,o=a-A|0,(0|A)<0?(i[e>>2]=r,i[n>>2]=o,i[t>>2]=0,a=o,o=r,A=0):o=f,(0|(f=(0|A)<(0|(f=(0|a)<(0|o)?a:o))?A:f))<=0||(i[e>>2]=o-f,i[n>>2]=a-f,i[t>>2]=A-f)}function wA(A){var e,r,n,t;i[(A|=0)>>2]=r=(t=0|i[(e=A+8|0)>>2])-(0|i[A>>2])|0,i[(n=A+4|0)>>2]=A=(0|i[n>>2])-t|0,i[e>>2]=0-(A+r)}function BA(A){var e,r,n=0,t=0,a=0,f=0,o=0;i[(A|=0)>>2]=n=0-(t=0|i[A>>2])|0,i[(e=A+8|0)>>2]=0,f=(a=0|i[(r=A+4|0)>>2])+t|0,(0|t)>0?(i[r>>2]=f,i[e>>2]=t,i[A>>2]=0,n=0,a=f):t=0,(0|a)<0?(i[A>>2]=o=n-a|0,i[e>>2]=t=t-a|0,i[r>>2]=0,f=o-t|0,n=0-t|0,(0|t)<0?(i[A>>2]=f,i[r>>2]=n,i[e>>2]=0,a=n,t=0):(a=0,f=o)):f=n,(0|(n=(0|t)<(0|(n=(0|a)<(0|f)?a:f))?t:n))<=0||(i[A>>2]=f-n,i[r>>2]=a-n,i[e>>2]=t-n)}function kA(A,e,r){r|=0;var n,t,a,f=0,o=0;if(t=F,F=F+16|0,n=t,a=-2130706433&(e|=0)|134217728,!(!0&268435456==(2013265920&e|0)))return F=t,6;if(o=0|Ge(0|(A|=0),0|e,56),h(),-1==(0|(o=0|function(A,e,r){r|=0;var n,t,a=0;if(n=F,F=F+16|0,t=n,a=0|PA(A|=0,e|=0),(r+-1|0)>>>0>5)return F=n,-1;if(1==(0|r)&(a=0!=(0|a)))return F=n,-1;do{if(!(0|se(A,e,t))){if(a){a=(5+(0|i[21936+(r<<2)>>2])-(0|i[t>>2])|0)%5|0;break}a=(6+(0|i[21968+(r<<2)>>2])-(0|i[t>>2])|0)%6|0;break}a=-1}while(0);return F=n,0|a}(A,a,7&o))))return i[r>>2]=0,F=t,6;f=0|zA(A,a,n);do{if(!f){if(f=0|Ge(0|A,0|e,52),h(),f&=15,0|PA(A,a)){QA(n,f,o,2,r),f=0;break}CA(n,f,o,2,r),f=0;break}}while(0);return F=t,0|f}function DA(A,e,r,n){e|=0,n|=0;var a,f=0,o=0,l=0,u=0;if(a=F,F=F+16|0,function(A,e,r){e|=0,r|=0;var n,a,f=0;a=F,F=F+32|0,function(A,e){e|=0;var r,n,i=0;r=+c(+(i=+t[(A|=0)>>3])),i=+s(+i),t[e+16>>3]=i,n=r*+c(+(i=+t[A+8>>3])),t[e>>3]=n,i=r*+s(+i),t[e+8>>3]=i}(A|=0,n=a),i[e>>2]=0,t[r>>3]=5,(f=+ce(16400,n))<+t[r>>3]&&(i[e>>2]=0,t[r>>3]=f),(f=+ce(16424,n))<+t[r>>3]&&(i[e>>2]=1,t[r>>3]=f),(f=+ce(16448,n))<+t[r>>3]&&(i[e>>2]=2,t[r>>3]=f),(f=+ce(16472,n))<+t[r>>3]&&(i[e>>2]=3,t[r>>3]=f),(f=+ce(16496,n))<+t[r>>3]&&(i[e>>2]=4,t[r>>3]=f),(f=+ce(16520,n))<+t[r>>3]&&(i[e>>2]=5,t[r>>3]=f),(f=+ce(16544,n))<+t[r>>3]&&(i[e>>2]=6,t[r>>3]=f),(f=+ce(16568,n))<+t[r>>3]&&(i[e>>2]=7,t[r>>3]=f),(f=+ce(16592,n))<+t[r>>3]&&(i[e>>2]=8,t[r>>3]=f),(f=+ce(16616,n))<+t[r>>3]&&(i[e>>2]=9,t[r>>3]=f),(f=+ce(16640,n))<+t[r>>3]&&(i[e>>2]=10,t[r>>3]=f),(f=+ce(16664,n))<+t[r>>3]&&(i[e>>2]=11,t[r>>3]=f),(f=+ce(16688,n))<+t[r>>3]&&(i[e>>2]=12,t[r>>3]=f),(f=+ce(16712,n))<+t[r>>3]&&(i[e>>2]=13,t[r>>3]=f),(f=+ce(16736,n))<+t[r>>3]&&(i[e>>2]=14,t[r>>3]=f),(f=+ce(16760,n))<+t[r>>3]&&(i[e>>2]=15,t[r>>3]=f),(f=+ce(16784,n))<+t[r>>3]&&(i[e>>2]=16,t[r>>3]=f),(f=+ce(16808,n))<+t[r>>3]&&(i[e>>2]=17,t[r>>3]=f),(f=+ce(16832,n))<+t[r>>3]&&(i[e>>2]=18,t[r>>3]=f),(f=+ce(16856,n))<+t[r>>3]?(i[e>>2]=19,t[r>>3]=f,F=a):F=a}(A|=0,r|=0,u=a),(o=+b(+(1-.5*+t[u>>3])))<1e-16)return i[n>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,i[n+12>>2]=0,void(F=a);if(f=+KA((f=+t[15920+(24*(u=0|i[r>>2])|0)>>3])-+KA(+function(A,e){var r,n,i,a,f;return A|=0,f=(n=+c(+(a=+t[(e|=0)>>3])))*+s(+(i=+t[e+8>>3]-+t[A+8>>3])),r=+t[A>>3],+ +B(+f,+(+s(+a)*+c(+r)-+c(+i)*(n*+s(+r))))}(15600+(u<<4)|0,A))),l=0|RA(e)?+KA(f+-.3334731722518321):f,f=+g(+o)/.381966011250105,(0|e)>0){A=0;do{f*=2.6457513110645907,A=A+1|0}while((0|A)!=(0|e))}o=+c(+l)*f,t[n>>3]=o,l=+s(+l)*f,t[n+8>>3]=l,F=a}function mA(A,e,r,n,a){e|=0,r|=0,n|=0,a|=0;var f=0,u=0;if((f=+function(A){var e,r;return+ +l(+((r=+t[(A|=0)>>3])*r+(e=+t[A+8>>3])*e))}(A|=0))<1e-16)return i[a>>2]=i[(e=15600+(e<<4)|0)>>2],i[a+4>>2]=i[e+4>>2],i[a+8>>2]=i[e+8>>2],void(i[a+12>>2]=i[e+12>>2]);if(u=+B(+ +t[A+8>>3],+ +t[A>>3]),(0|r)>0){A=0;do{f/=2.6457513110645907,A=A+1|0}while((0|A)!=(0|r))}n?(f/=3,r=0==(0|RA(r)),f=+w(.381966011250105*(r?f:f/2.6457513110645907))):(f=+w(.381966011250105*f),0|RA(r)&&(u=+KA(u+.3334731722518321))),function(A,e,r,n){A|=0,e=+e,n|=0;var a=0,f=0,l=0,u=0;if((r=+r)<1e-16)return i[n>>2]=i[A>>2],i[n+4>>2]=i[A+4>>2],i[n+8>>2]=i[A+8>>2],void(i[n+12>>2]=i[A+12>>2]);f=e<0?e+6.283185307179586:e,f=e>=6.283185307179586?f+-6.283185307179586:f;do{if(!(f<1e-16)){if(a=+o(+(f+-3.141592653589793))<1e-16,e=+t[A>>3],a){t[n>>3]=e-=r,a=n;break}if(l=+c(+r),r=+s(+r),e=l*+s(+e)+ +c(+f)*(r*+c(+e)),e=+d(+((e=e>1?1:e)<-1?-1:e)),t[n>>3]=e,+o(+(e+-1.5707963267948966))<1e-16)return t[n>>3]=1.5707963267948966,void(t[n+8>>3]=0);if(+o(+(e+1.5707963267948966))<1e-16)return t[n>>3]=-1.5707963267948966,void(t[n+8>>3]=0);if(u=+c(+e),f=r*+s(+f)/u,r=+t[A>>3],e=(l-+s(+e)*+s(+r))/+c(+r)/u,(e=+t[A+8>>3]+ +B(+((l=f>1?1:f)<-1?-1:l),+((e=e>1?1:e)<-1?-1:e)))>3.141592653589793)do{e+=-6.283185307179586}while(e>3.141592653589793);if(e<-3.141592653589793)do{e+=6.283185307179586}while(e<-3.141592653589793);return void(t[n+8>>3]=e)}t[n>>3]=e=+t[A>>3]+r,a=n}while(0);if(+o(+(e+-1.5707963267948966))<1e-16)return t[a>>3]=1.5707963267948966,void(t[n+8>>3]=0);if(+o(+(e+1.5707963267948966))<1e-16)return t[a>>3]=-1.5707963267948966,void(t[n+8>>3]=0);if((e=+t[A+8>>3])>3.141592653589793)do{e+=-6.283185307179586}while(e>3.141592653589793);if(e<-3.141592653589793)do{e+=6.283185307179586}while(e<-3.141592653589793);t[n+8>>3]=e}(15600+(e<<4)|0,+KA(+t[15920+(24*e|0)>>3]-u),f,a)}function EA(A,e,r){var n,t;e|=0,r|=0,n=F,F=F+16|0,X(4+(A|=0)|0,t=n),mA(t,0|i[A>>2],e,0,r),F=n}function QA(A,e,r,n,a){A|=0,r|=0,n|=0,a|=0;var f,o,l,u,c,s,g,b,d,w,B,k,D,m,E,Q,h,_,C,M,y,I,p=0,P=0,T=0,G=0,L=0,U=0;if(I=F,F=F+272|0,G=I+240|0,C=I,M=I+224|0,y=I+208|0,B=I+176|0,k=I+160|0,D=I+192|0,m=I+144|0,E=I+128|0,Q=I+112|0,h=I+96|0,_=I+80|0,i[(p=I+256|0)>>2]=e|=0,i[G>>2]=i[A>>2],i[G+4>>2]=i[A+4>>2],i[G+8>>2]=i[A+8>>2],i[G+12>>2]=i[A+12>>2],hA(G,p,C),i[a>>2]=0,(0|(G=n+r+(5==(0|n)&1)|0))<=(0|r))F=I;else{o=M+4|0,l=B+4|0,u=r+5|0,c=16880+((f=0|i[p>>2])<<2)|0,s=16960+(f<<2)|0,g=E+8|0,b=Q+8|0,d=h+8|0,w=y+4|0,T=r;A:for(;;){i[y>>2]=i[(P=C+(((0|T)%5|0)<<4)|0)>>2],i[y+4>>2]=i[P+4>>2],i[y+8>>2]=i[P+8>>2],i[y+12>>2]=i[P+12>>2];do{}while(2==(0|vA(y,f,0,1)));if((0|T)>(0|r)&0!=(0|RA(e))){if(i[B>>2]=i[y>>2],i[B+4>>2]=i[y+4>>2],i[B+8>>2]=i[y+8>>2],i[B+12>>2]=i[y+12>>2],X(o,k),i[B>>2]=i[18640+(80*(n=0|i[B>>2])|0)+(20*(p=0|i[17040+(80*n|0)+(i[M>>2]<<2)>>2])|0)>>2],(0|(P=0|i[18640+(80*n|0)+(20*p|0)+16>>2]))>0){A=0;do{fA(l),A=A+1|0}while((0|A)<(0|P))}switch(i[D>>2]=i[(P=18640+(80*n|0)+(20*p|0)+4|0)>>2],i[D+4>>2]=i[P+4>>2],i[D+8>>2]=i[P+8>>2],AA(D,3*(0|i[c>>2])|0),q(l,D,l),j(l),X(l,m),t[E>>3]=3*(L=+(0|i[s>>2])),t[g>>3]=0,t[Q>>3]=U=-1.5*L,t[b>>3]=2.598076211353316*L,t[h>>3]=U,t[d>>3]=-2.598076211353316*L,0|i[17040+(80*(0|i[B>>2])|0)+(i[y>>2]<<2)>>2]){case 1:A=Q,n=E;break;case 3:A=h,n=Q;break;case 2:A=E,n=h;break;default:A=12;break A}le(k,m,n,A,_),mA(_,0|i[B>>2],f,1,a+8+(i[a>>2]<<4)|0),i[a>>2]=1+(0|i[a>>2])}if((0|T)<(0|u)&&(X(w,B),mA(B,0|i[y>>2],f,1,a+8+(i[a>>2]<<4)|0),i[a>>2]=1+(0|i[a>>2])),i[M>>2]=i[y>>2],i[M+4>>2]=i[y+4>>2],i[M+8>>2]=i[y+8>>2],i[M+12>>2]=i[y+12>>2],(0|(T=T+1|0))>=(0|G)){A=3;break}}3!=(0|A)?12==(0|A)&&v(22416,22463,571,22473):F=I}}function hA(A,e,r){A|=0,e|=0,r|=0;var n,t=0,a=0,f=0,o=0,l=0;n=F,F=F+128|0,a=n,o=20240,l=60+(f=t=n+64|0)|0;do{i[f>>2]=i[o>>2],f=f+4|0,o=o+4|0}while((0|f)<(0|l));o=20304,l=(f=a)+60|0;do{i[f>>2]=i[o>>2],f=f+4|0,o=o+4|0}while((0|f)<(0|l));t=(l=0==(0|RA(0|i[e>>2])))?t:a,cA(a=A+4|0),sA(a),0|RA(0|i[e>>2])&&(tA(a),i[e>>2]=1+(0|i[e>>2])),i[r>>2]=i[A>>2],q(a,t,e=r+4|0),j(e),i[r+16>>2]=i[A>>2],q(a,t+12|0,e=r+20|0),j(e),i[r+32>>2]=i[A>>2],q(a,t+24|0,e=r+36|0),j(e),i[r+48>>2]=i[A>>2],q(a,t+36|0,e=r+52|0),j(e),i[r+64>>2]=i[A>>2],q(a,t+48|0,r=r+68|0),j(r),F=n}function vA(A,e,r,n){r|=0;var t,a,f,o,l,u,c,s=0,g=0,b=0,d=0;if(u=F,F=F+32|0,l=u+12|0,a=u,d=0|i[16960+((e|=0)<<2)>>2],d=(o=0!=(0|(n|=0)))?3*d|0:d,s=0|i[(c=4+(A|=0)|0)>>2],t=0|i[(f=A+8|0)>>2],o){if((0|(s=t+s+(n=0|i[(g=A+12|0)>>2])|0))==(0|d))return F=u,1;b=g}else s=t+s+(n=0|i[(b=A+12|0)>>2])|0;if((0|s)<=(0|d))return F=u,0;do{if((0|n)>0){if(n=0|i[A>>2],(0|t)>0){g=18640+(80*n|0)+60|0,n=A;break}n=18640+(80*n|0)+40|0,r?(W(l,d,0,0),$(c,l,a),oA(a),q(a,l,c),g=n,n=A):(g=n,n=A)}else g=18640+(80*(0|i[A>>2])|0)+20|0,n=A}while(0);if(i[n>>2]=i[g>>2],(0|i[(s=g+16|0)>>2])>0){n=0;do{fA(c),n=n+1|0}while((0|n)<(0|i[s>>2]))}return i[l>>2]=i[(A=g+4|0)>>2],i[l+4>>2]=i[A+4>>2],i[l+8>>2]=i[A+8>>2],e=0|i[16880+(e<<2)>>2],AA(l,o?3*e|0:e),q(c,l,c),j(c),F=u,0|(o&&((0|i[f>>2])+(0|i[c>>2])+(0|i[b>>2])|0)==(0|d)?1:2)}function _A(A,e){A|=0,e|=0;var r=0;do{r=0|vA(A,e,0,1)}while(2==(0|r));return 0|r}function CA(A,e,r,n,a){A|=0,r|=0,n|=0,a|=0;var f,o,l,u,c,s,g,b,d,w,B,k,D,m,E,Q,h,_,C=0,M=0,y=0,I=0,p=0;if(_=F,F=F+240|0,m=_+208|0,E=_,Q=_+192|0,h=_+176|0,d=_+160|0,w=_+144|0,B=_+128|0,k=_+112|0,D=_+96|0,i[(C=_+224|0)>>2]=e|=0,i[m>>2]=i[A>>2],i[m+4>>2]=i[A+4>>2],i[m+8>>2]=i[A+8>>2],i[m+12>>2]=i[A+12>>2],MA(m,C,E),i[a>>2]=0,(0|(b=n+r+(6==(0|n)&1)|0))<=(0|r))F=_;else{o=r+6|0,l=16960+((f=0|i[C>>2])<<2)|0,u=w+8|0,c=B+8|0,s=k+8|0,g=Q+4|0,M=0,y=r,n=-1;A:for(;;){if(i[Q>>2]=i[(A=E+((C=(0|y)%6|0)<<4)|0)>>2],i[Q+4>>2]=i[A+4>>2],i[Q+8>>2]=i[A+8>>2],i[Q+12>>2]=i[A+12>>2],A=M,M=0|vA(Q,f,0,1),(0|y)>(0|r)&0!=(0|RA(e))&&1!=(0|A)&&(0|i[Q>>2])!=(0|n)){switch(X(E+(((C+5|0)%6|0)<<4)+4|0,h),X(E+(C<<4)+4|0,d),t[w>>3]=3*(I=+(0|i[l>>2])),t[u>>3]=0,t[B>>3]=p=-1.5*I,t[c>>3]=2.598076211353316*I,t[k>>3]=p,t[s>>3]=-2.598076211353316*I,0|i[17040+(80*(C=0|i[m>>2])|0)+(((0|n)==(0|C)?0|i[Q>>2]:n)<<2)>>2]){case 1:A=B,n=w;break;case 3:A=k,n=B;break;case 2:A=w,n=k;break;default:A=8;break A}le(h,d,n,A,D),0|ue(h,D)||0|ue(d,D)||(mA(D,0|i[m>>2],f,1,a+8+(i[a>>2]<<4)|0),i[a>>2]=1+(0|i[a>>2]))}if((0|y)<(0|o)&&(X(g,h),mA(h,0|i[Q>>2],f,1,a+8+(i[a>>2]<<4)|0),i[a>>2]=1+(0|i[a>>2])),(0|(y=y+1|0))>=(0|b)){A=3;break}n=0|i[Q>>2]}3!=(0|A)?8==(0|A)&&v(22500,22463,736,22545):F=_}}function MA(A,e,r){A|=0,e|=0,r|=0;var n,t=0,a=0,f=0,o=0,l=0;n=F,F=F+160|0,a=n,o=20368,l=72+(f=t=n+80|0)|0;do{i[f>>2]=i[o>>2],f=f+4|0,o=o+4|0}while((0|f)<(0|l));o=20448,l=(f=a)+72|0;do{i[f>>2]=i[o>>2],f=f+4|0,o=o+4|0}while((0|f)<(0|l));t=(l=0==(0|RA(0|i[e>>2])))?t:a,cA(a=A+4|0),sA(a),0|RA(0|i[e>>2])&&(tA(a),i[e>>2]=1+(0|i[e>>2])),i[r>>2]=i[A>>2],q(a,t,e=r+4|0),j(e),i[r+16>>2]=i[A>>2],q(a,t+12|0,e=r+20|0),j(e),i[r+32>>2]=i[A>>2],q(a,t+24|0,e=r+36|0),j(e),i[r+48>>2]=i[A>>2],q(a,t+36|0,e=r+52|0),j(e),i[r+64>>2]=i[A>>2],q(a,t+48|0,e=r+68|0),j(e),i[r+80>>2]=i[A>>2],q(a,t+60|0,r=r+84|0),j(r),F=n}function yA(A,e){return e=0|Ge(0|(A|=0),0|(e|=0),45),h(),127&e|0}function IA(A,e){var r=0,n=0,i=0,t=0,a=0,f=0;if(!(!0&134217728==(-16777216&(e|=0)|0)))return 0;if(a=0|Ge(0|(A|=0),0|e,45),h(),(a&=127)>>>0>121)return 0;r=0|Ge(0|A,0|e,52),h(),r&=15;do{if(0|r){for(i=1,n=0;;){if(t=0|Ge(0|A,0|e,3*(15-i|0)|0),h(),0!=(0|(t&=7))&(1^n)){if(1==(0|t)&0!=(0|x(a))){f=0,n=13;break}n=1}if(7==(0|t)){f=0,n=13;break}if(!(i>>>0<r>>>0)){n=9;break}i=i+1|0}if(9==(0|n)){if(15!=(0|r))break;return 1}if(13==(0|n))return 0|f}}while(0);for(;;){if(f=0|Ge(0|A,0|e,3*(14-r|0)|0),h(),!(7==(7&f|0)&!0)){f=0,n=13;break}if(!(r>>>0<14)){f=1,n=13;break}r=r+1|0}return 13==(0|n)?0|f:0}function FA(A,e,r,n){r|=0,n|=0;var t=0,a=0;if(a=0|Ge(0|(A|=0),0|(e|=0),52),h(),r>>>0>15)return 4;if((0|(a&=15))<(0|r))return 12;if((0|a)==(0|r))return i[n>>2]=A,i[n+4>>2]=e,0;if(t=0|Le(0|r,0,52),t|=A,A=0|h()|-15728641&e,(0|a)>(0|r))do{e=0|Le(7,0,3*(14-r|0)|0),r=r+1|0,t|=e,A=0|h()|A}while((0|r)<(0|a));return i[n>>2]=t,i[n+4>>2]=A,0}function pA(A,e,r,n){r|=0,n|=0;var t=0,a=0,f=0;if(a=0|Ge(0|(A|=0),0|(e|=0),52),h(),!((0|r)<16&(0|(a&=15))<=(0|r)))return 4;t=r-a|0,r=0|Ge(0|A,0|e,45),h();A:do{if(0|x(127&r)){e:do{if(0|a){for(r=1;0==((f=0|Le(7,0,3*(15-r|0)|0))&A|0)&0==((0|h())&e|0);){if(!(r>>>0<a>>>0))break e;r=r+1|0}r=0|ie(7,0,t,((0|t)<0)<<31>>31),t=0|h();break A}}while(0);r=0|_e(0|(r=0|Fe(0|(r=0|ie(7,0,t,((0|t)<0)<<31>>31)),0|h(),5,0)),0|h(),-5,-1),r=0|_e(0|(r=0|Ie(0|r,0|h(),6,0)),0|h(),1,0),t=0|h()}else r=0|ie(7,0,t,((0|t)<0)<<31>>31),t=0|h()}while(0);return i[(f=n)>>2]=r,i[f+4>>2]=t,0}function PA(A,e){var r=0,n=0,i=0;if(i=0|Ge(0|(A|=0),0|(e|=0),45),h(),!(0|x(127&i)))return 0;i=0|Ge(0|A,0|e,52),h(),i&=15;A:do{if(i)for(n=1;;){if(r=0|Ge(0|A,0|e,3*(15-n|0)|0),h(),0|(r&=7))break A;if(!(n>>>0<i>>>0)){r=0;break}n=n+1|0}else r=0}while(0);return 0|0==(0|r)&1}function TA(A,e){var r=0,n=0,i=0;if(i=0|Ge(0|(A|=0),0|(e|=0),52),h(),!(i&=15))return 0;for(n=1;;){if(r=0|Ge(0|A,0|e,3*(15-n|0)|0),h(),0|(r&=7)){n=5;break}if(!(n>>>0<i>>>0)){r=0,n=5;break}n=n+1|0}return 5==(0|n)?0|r:0}function GA(A,e){var r=0,n=0,i=0,t=0,a=0,f=0,o=0;if(o=0|Ge(0|(A|=0),0|(e|=0),52),h(),!(o&=15))return o=A,Q(0|(f=e)),0|o;for(f=1,r=0;;){n=0|Le(7,0,0|(t=3*(15-f|0)|0)),i=0|h(),a=0|Ge(0|A,0|e,0|t),h(),A=(t=0|Le(0|lA(7&a),0,0|t))|A&~n,e=(a=0|h())|e&~i;A:do{if(!r)if(0==(t&n|0)&0==(a&i|0))r=0;else if(n=0|Ge(0|A,0|e,52),h(),n&=15){r=1;e:for(;;){switch(a=0|Ge(0|A,0|e,3*(15-r|0)|0),h(),7&a){case 1:break e;case 0:break;default:r=1;break A}if(!(r>>>0<n>>>0)){r=1;break A}r=r+1|0}for(r=1;;){if(i=0|Ge(0|A,0|e,0|(a=3*(15-r|0)|0)),h(),t=0|Le(7,0,0|a),e&=~(0|h()),A=A&~t|(a=0|Le(0|lA(7&i),0,0|a)),e=0|e|h(),!(r>>>0<n>>>0)){r=1;break}r=r+1|0}}else r=1}while(0);if(!(f>>>0<o>>>0))break;f=f+1|0}return Q(0|e),0|A}function LA(A,e){var r=0,n=0,i=0,t=0,a=0;if(n=0|Ge(0|(A|=0),0|(e|=0),52),h(),!(n&=15))return n=A,Q(0|(r=e)),0|n;for(r=1;a=0|Ge(0|A,0|e,0|(t=3*(15-r|0)|0)),h(),i=0|Le(7,0,0|t),e&=~(0|h()),A=(t=0|Le(0|lA(7&a),0,0|t))|A&~i,e=0|h()|e,r>>>0<n>>>0;)r=r+1|0;return Q(0|e),0|A}function UA(A,e){var r=0,n=0,i=0,t=0,a=0,f=0,o=0;if(o=0|Ge(0|(A|=0),0|(e|=0),52),h(),!(o&=15))return o=A,Q(0|(f=e)),0|o;for(f=1,r=0;;){n=0|Le(7,0,0|(t=3*(15-f|0)|0)),i=0|h(),a=0|Ge(0|A,0|e,0|t),h(),A=(t=0|Le(0|uA(7&a),0,0|t))|A&~n,e=(a=0|h())|e&~i;A:do{if(!r)if(0==(t&n|0)&0==(a&i|0))r=0;else if(n=0|Ge(0|A,0|e,52),h(),n&=15){r=1;e:for(;;){switch(a=0|Ge(0|A,0|e,3*(15-r|0)|0),h(),7&a){case 1:break e;case 0:break;default:r=1;break A}if(!(r>>>0<n>>>0)){r=1;break A}r=r+1|0}for(r=1;;){if(t=0|Le(7,0,0|(i=3*(15-r|0)|0)),a=e&~(0|h()),e=0|Ge(0|A,0|e,0|i),h(),A=A&~t|(e=0|Le(0|uA(7&e),0,0|i)),e=0|a|h(),!(r>>>0<n>>>0)){r=1;break}r=r+1|0}}else r=1}while(0);if(!(f>>>0<o>>>0))break;f=f+1|0}return Q(0|e),0|A}function xA(A,e){var r=0,n=0,i=0,t=0,a=0;if(n=0|Ge(0|(A|=0),0|(e|=0),52),h(),!(n&=15))return n=A,Q(0|(r=e)),0|n;for(r=1;t=0|Le(7,0,0|(a=3*(15-r|0)|0)),i=e&~(0|h()),e=0|Ge(0|A,0|e,0|a),h(),A=(e=0|Le(0|uA(7&e),0,0|a))|A&~t,e=0|h()|i,r>>>0<n>>>0;)r=r+1|0;return Q(0|e),0|A}function RA(A){return 0|(0|(A|=0))%2}function HA(A,e,r){r|=0;var n,t=0;return n=F,F=F+16|0,t=n,(e|=0)>>>0>15?(F=n,0|(t=4)):2146435072==(2146435072&i[4+(A|=0)>>2]|0)?(F=n,0|(t=3)):2146435072==(2146435072&i[A+8+4>>2]|0)?(F=n,0|(t=3)):(function(A,e,r){var n,i;n=F,F=F+16|0,DA(A|=0,e|=0,r|=0,i=n),J(i,r+4|0),F=n}(A,e,t),e=0|function(A,e){A|=0;var r,n=0,t=0,a=0,f=0,o=0,l=0,u=0,c=0;if(r=F,F=F+64|0,l=r+40|0,t=r+24|0,a=r+12|0,f=r,Le(0|(e|=0),0,52),n=134225919|h(),!e)return(0|i[A+4>>2])>2?(l=0,Q(0|(o=0)),F=r,0|l):(0|i[A+8>>2])>2?(l=0,Q(0|(o=0)),F=r,0|l):(0|i[A+12>>2])>2?(l=0,Q(0|(o=0)),F=r,0|l):(Le(0|H(A),0,45),o=0|h()|n,l=-1,Q(0|o),F=r,0|l);if(i[l>>2]=i[A>>2],i[l+4>>2]=i[A+4>>2],i[l+8>>2]=i[A+8>>2],i[l+12>>2]=i[A+12>>2],o=l+4|0,(0|e)>0)for(A=-1;i[t>>2]=i[o>>2],i[t+4>>2]=i[o+4>>2],i[t+8>>2]=i[o+8>>2],1&e?(rA(o),i[a>>2]=i[o>>2],i[a+4>>2]=i[o+4>>2],i[a+8>>2]=i[o+8>>2],iA(a)):(nA(o),i[a>>2]=i[o>>2],i[a+4>>2]=i[o+4>>2],i[a+8>>2]=i[o+8>>2],tA(a)),$(t,a,f),j(f),u=0|Le(7,0,0|(c=3*(15-e|0)|0)),n&=~(0|h()),A=(c=0|Le(0|eA(f),0,0|c))|A&~u,n=0|h()|n,(0|e)>1;)e=e+-1|0;else A=-1;A:do{if((0|i[o>>2])<=2&&(0|i[l+8>>2])<=2&&(0|i[l+12>>2])<=2){if(e=0|Le(0|(t=0|H(l)),0,45),e|=A,A=0|h()|-1040385&n,f=0|V(l),!(0|x(t))){if((0|f)<=0)break;for(a=0;;){if(t=0|Ge(0|e,0|A,52),h(),t&=15)for(n=1;l=0|Ge(0|e,0|A,0|(c=3*(15-n|0)|0)),h(),u=0|Le(7,0,0|c),A&=~(0|h()),e=e&~u|(c=0|Le(0|lA(7&l),0,0|c)),A=0|A|h(),n>>>0<t>>>0;)n=n+1|0;if((0|(a=a+1|0))==(0|f))break A}}a=0|Ge(0|e,0|A,52),h(),a&=15;e:do{if(a){n=1;r:for(;;){switch(c=0|Ge(0|e,0|A,3*(15-n|0)|0),h(),7&c){case 1:break r;case 0:break;default:break e}if(!(n>>>0<a>>>0))break e;n=n+1|0}if(0|z(t,0|i[l>>2]))for(n=1;u=0|Le(7,0,0|(l=3*(15-n|0)|0)),c=A&~(0|h()),A=0|Ge(0|e,0|A,0|l),h(),e=e&~u|(A=0|Le(0|uA(7&A),0,0|l)),A=0|c|h(),n>>>0<a>>>0;)n=n+1|0;else for(n=1;l=0|Ge(0|e,0|A,0|(c=3*(15-n|0)|0)),h(),u=0|Le(7,0,0|c),A&=~(0|h()),e=e&~u|(c=0|Le(0|lA(7&l),0,0|c)),A=0|A|h(),n>>>0<a>>>0;)n=n+1|0}}while(0);if((0|f)>0){n=0;do{e=0|GA(e,A),A=0|h(),n=n+1|0}while((0|n)!=(0|f))}}else e=0,A=0}while(0);return c=e,Q(0|(u=A)),F=r,0|c}(t,e),t=0|h(),i[r>>2]=e,i[r+4>>2]=t,F=n,0|(t=0==(0|e)&0==(0|t)&1))}function VA(A,e,r){var n,t=0,a=0,f=0;if(n=4+(r|=0)|0,a=0|Ge(0|(A|=0),0|(e|=0),52),h(),a&=15,f=0|Ge(0|A,0|e,45),h(),t=0==(0|a),0|x(127&f)){if(t)return 1;t=1}else{if(t)return 0;t=0==(0|i[n>>2])&&0==(0|i[r+8>>2])?0!=(0|i[r+12>>2])&1:1}for(r=1;1&r?iA(n):tA(n),f=0|Ge(0|A,0|e,3*(15-r|0)|0),h(),aA(n,7&f),r>>>0<a>>>0;)r=r+1|0;return 0|t}function zA(A,e,r){r|=0;var n,t,a=0,f=0,o=0,l=0,u=0,c=0;if(t=F,F=F+16|0,n=t,c=0|Ge(0|(A|=0),0|(e|=0),45),h(),(c&=127)>>>0>121)return i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,F=t,5;A:do{if(0!=(0|x(c))&&(o=0|Ge(0|A,0|e,52),h(),0!=(0|(o&=15)))){a=1;e:for(;;){switch(u=0|Ge(0|A,0|e,3*(15-a|0)|0),h(),7&u){case 5:break e;case 0:break;default:a=e;break A}if(!(a>>>0<o>>>0)){a=e;break A}a=a+1|0}for(f=1,a=e;l=0|Le(7,0,0|(e=3*(15-f|0)|0)),u=a&~(0|h()),a=0|Ge(0|A,0|a,0|e),h(),A=A&~l|(a=0|Le(0|uA(7&a),0,0|e)),a=0|u|h(),f>>>0<o>>>0;)f=f+1|0}else a=e}while(0);if(i[r>>2]=i[(u=7696+(28*c|0)|0)>>2],i[r+4>>2]=i[u+4>>2],i[r+8>>2]=i[u+8>>2],i[r+12>>2]=i[u+12>>2],!(0|VA(A,a,r)))return F=t,0;if(i[n>>2]=i[(l=r+4|0)>>2],i[n+4>>2]=i[l+4>>2],i[n+8>>2]=i[l+8>>2],o=0|Ge(0|A,0|a,52),h(),u=15&o,1&o?(tA(l),o=u+1|0):o=u,0|x(c)){A:do{if(u)for(e=1;;){if(f=0|Ge(0|A,0|a,3*(15-e|0)|0),h(),0|(f&=7)){a=f;break A}if(!(e>>>0<u>>>0)){a=0;break}e=e+1|0}else a=0}while(0);a=4==(0|a)&1}else a=0;if(0|vA(r,o,a,0)){if(0|x(c))do{}while(0!=(0|vA(r,o,0,0)));(0|o)!=(0|u)&&nA(l)}else(0|o)!=(0|u)&&(i[l>>2]=i[n>>2],i[l+4>>2]=i[n+4>>2],i[l+8>>2]=i[n+8>>2]);return F=t,0}function SA(A,e,r){r|=0;var n,i,t=0;return i=F,F=F+16|0,0|(t=0|zA(A|=0,e|=0,n=i))?(F=i,0|t):(t=0|Ge(0|A,0|e,52),h(),EA(n,15&t,r),F=i,0|(t=0))}function YA(A,e,r){r|=0;var n,i,t=0,a=0;if(n=F,F=F+16|0,0|(t=0|zA(A|=0,e|=0,i=n)))return F=n,0|t;t=0|Ge(0|A,0|e,45),h(),t=0==(0|x(127&t)),a=0|Ge(0|A,0|e,52),h(),a&=15;A:do{if(!t){if(0|a)for(t=1;;){if(!(0==((0|Le(7,0,3*(15-t|0)|0))&A|0)&0==((0|h())&e|0)))break A;if(!(t>>>0<a>>>0))break;t=t+1|0}return QA(i,a,0,5,r),F=n,0}}while(0);return CA(i,a,0,6,r),F=n,0}function OA(A,e){e|=0;var r,n=0,t=0,a=0,f=0,o=0,l=0;if((A|=0)>>>0>15)return 4;if(Le(0|A,0,52),r=134225919|h(),!A){n=0,t=0;do{0|x(t)&&(Le(0|t,0,45),o=0|r|h(),i[(A=e+(n<<3)|0)>>2]=-1,i[A+4>>2]=o,n=n+1|0),t=t+1|0}while(122!=(0|t));return 0}n=0,o=0;do{if(0|x(o)){for(Le(0|o,0,45),t=1,a=-1,f=0|r|h();a&=~(l=0|Le(7,0,3*(15-t|0)|0)),f&=~(0|h()),(0|t)!=(0|A);)t=t+1|0;i[(l=e+(n<<3)|0)>>2]=a,i[l+4>>2]=f,n=n+1|0}o=o+1|0}while(122!=(0|o));return 0}function NA(A,e,r,n){A|=0,n|=0;var t=0,a=0;t=0|Ge(0|(e|=0),0|(r|=0),52),h(),0==(0|e)&0==(0|r)|(0|n)>15|(0|(t&=15))>(0|n)?(n=-1,t=-1,e=0,r=0):(a=0|function(A,e,r,n){return A|=0,e|=0,(0|(n|=0))<(0|(r|=0))?(n=A,Q(0|(r=e)),0|n):(r=0|Le(-1,-1,3+(3*(n-r|0)|0)|0),n=0|Le(0|~r,0|~(0|h()),3*(15-n|0)|0),r=~(0|h())&e,n=~n&A,Q(0|r),0|n)}(e,r,t+1|0,n),r=-15728641&(0|h()),e=0|Le(0|n,0,52),n=(a=0==(0|PA(e|=a,r=0|r|h())))?-1:n),i[(a=A)>>2]=e,i[a+4>>2]=r,i[A+8>>2]=t,i[A+12>>2]=n}function ZA(A){var e,r=0,n=0,t=0,a=0,f=0,o=0,l=0,u=0;if(!(0==(0|(r=0|i[(n=A|=0)>>2]))&0==(0|(n=0|i[n+4>>2]))||(t=0|Ge(0|r,0|n,52),h(),r=0|_e(0|(l=0|Le(1,0,3*(15^(t&=15))|0)),0|h(),0|r,0|n),n=0|h(),i[(l=A)>>2]=r,i[l+4>>2]=n,(0|t)<(0|(o=0|i[(l=A+8|0)>>2]))))){for(e=A+12|0,f=t;;){if((0|f)==(0|o)){t=5;break}if(u=(0|f)==(0|i[e>>2]),t=0|Ge(0|r,0|n,0|(a=3*(15-f|0)|0)),h(),u&1==(0|(t&=7))&!0){t=7;break}if(!(7==(0|t)&!0)){t=10;break}if(r=0|_e(0|r,0|n,0|(u=0|Le(1,0,0|a)),0|h()),n=0|h(),i[(u=A)>>2]=r,i[u+4>>2]=n,!((0|f)>(0|o))){t=10;break}f=f+-1|0}if(5==(0|t))return i[(u=A)>>2]=0,i[u+4>>2]=0,i[l>>2]=-1,void(i[e>>2]=-1);if(7==(0|t))return o=0|_e(0|r,0|n,0|(o=0|Le(1,0,0|a)),0|h()),l=0|h(),i[(u=A)>>2]=o,i[u+4>>2]=l,void(i[e>>2]=f+-1)}}function KA(A){var e;return e=(A=+A)<0?A+6.283185307179586:A,+(A>=6.283185307179586?e+-6.283185307179586:e)}function WA(A,e){return+o(+(+t[(A|=0)>>3]-+t[(e|=0)>>3]))<1.7453292519943298e-11?0|(e=+o(+(+t[A+8>>3]-+t[e+8>>3]))<1.7453292519943298e-11):0|(e=0)}function JA(A,e){var r,n,i,a=0;return a=(i=+s(.5*((n=+t[(e|=0)>>3])-(r=+t[(A|=0)>>3]))))*i+(a=+s(.5*(+t[e+8>>3]-+t[A+8>>3])))*(+c(+n)*+c(+r)*a),2*+B(+ +l(+a),+ +l(+(1-a)))*6371.007180918475}function jA(A,e,r){r|=0;var n,i,a,f,o=0,u=0,b=0,d=0,k=0,D=0;return k=+s(.5*((D=+t[(e|=0)>>3])-(a=+t[(A|=0)>>3]))),d=+s(.5*((b=+t[e+8>>3])-(i=+t[A+8>>3]))),n=+c(+a),f=+c(+D),d=2*+B(+ +l(+(d=k*k+d*(f*n*d))),+ +l(+(1-d))),D=+s(.5*((k=+t[r>>3])-D)),b=+s(.5*((o=+t[r+8>>3])-b)),u=+c(+k),b=2*+B(+ +l(+(b=D*D+b*(f*u*b))),+ +l(+(1-b))),k=+s(.5*(a-k)),o=+s(.5*(i-o)),o=2*+B(+ +l(+(o=k*k+o*(n*u*o))),+ +l(+(1-o))),4*+w(+ +l(+ +g(.5*(u=.5*(d+b+o)))*+g(.5*(u-d))*+g(.5*(u-b))*+g(.5*(u-o))))}function XA(A,e,r){r|=0;var n,a,f,o=0,l=0;if(f=F,F=F+192|0,a=f,!(o=0|SA(A|=0,e|=0,n=f+168|0))&&!(o=0|YA(A,e,a))){if((0|(A=0|i[a>>2]))>0){if(l=+jA(a+8|0,a+8+((1!=(0|A)&1)<<4)|0,n)+0,1!=(0|A)){o=1;do{l+=+jA(a+8+((e=o)<<4)|0,a+8+(((0|(o=o+1|0))%(0|A)|0)<<4)|0,n)}while((0|o)<(0|A))}}else l=0;return t[r>>3]=6371.007180918475*l*6371.007180918475,F=f,0}return F=f,0|o}function qA(A){A|=0;var e,r,n=0;return(e=0|ve(1,12))||v(22635,22590,49,22648),0|(n=0|i[(r=A+4|0)>>2])?(i[(n=n+8|0)>>2]=e,i[r>>2]=e,0|e):(0|i[A>>2]&&v(22665,22590,61,22688),i[(n=A)>>2]=e,i[r>>2]=e,0|e)}function $A(A,e){var r,n;return A|=0,e|=0,(n=0|Qe(24))||v(22702,22590,78,22716),i[n>>2]=i[e>>2],i[n+4>>2]=i[e+4>>2],i[n+8>>2]=i[e+8>>2],i[n+12>>2]=i[e+12>>2],i[n+16>>2]=0,0|(r=0|i[(e=A+4|0)>>2])?(i[r+16>>2]=n,i[e>>2]=n,0|n):(0|i[A>>2]&&v(22731,22590,82,22716),i[A>>2]=n,i[e>>2]=n,0|n)}function Ae(A){var e,r,n=0,a=0,f=0,l=0,u=0,c=0,s=0,g=0,b=0,d=0,w=0,B=0,k=0,D=0,m=0,E=0,Q=0,h=0,_=0,C=0,M=0,y=0,I=0,F=0,p=0,P=0,T=0,G=0,L=0,U=0;if(0|i[(l=8+(A|=0)|0)>>2])return 1;if(!(f=0|i[A>>2]))return 0;n=f,a=0;do{a=a+1|0,n=0|i[n+8>>2]}while(0!=(0|n));if(a>>>0<2)return 0;(r=0|Qe(a<<2))||v(22751,22590,317,22770),(e=0|Qe(a<<5))||v(22792,22590,321,22770),i[A>>2]=0,i[(y=A+4|0)>>2]=0,i[l>>2]=0,a=0,G=0,M=0,w=0;A:for(;;){if(d=0|i[f>>2]){u=0,c=d;do{if(n=c,+o(+((g=+t[c+8>>3])-(s=+t[(l=(b=0==(0|(c=0|i[c+16>>2])))?d:c)+8>>3])))>3.141592653589793){U=14;break}u+=(s-g)*(+t[n>>3]+ +t[l>>3])}while(!b);if(14==(0|U)){U=0,u=0,n=d;do{u+=(+t[n>>3]+ +t[(P=0==(0|(P=0|i[(T=n+16|0)>>2]))?d:P)>>3])*(((_=+t[P+8>>3])<0?_+6.283185307179586:_)-((C=+t[n+8>>3])<0?C+6.283185307179586:C)),n=0|i[(0==(0|n)?f:T)>>2]}while(0!=(0|n))}u>0?(i[r+(G<<2)>>2]=f,G=G+1|0,l=M,n=w):U=19}else U=19;if(19==(0|U)){U=0;do{if(!a){if(w){l=y,c=w+8|0,n=f,a=A;break}if(0|i[A>>2]){U=27;break A}l=y,c=A,n=f,a=A;break}if(0|i[(n=a+8|0)>>2]){U=21;break A}if(!(a=0|ve(1,12))){U=23;break A}i[n>>2]=a,l=a+4|0,c=a,n=w}while(0);if(i[c>>2]=f,i[l>>2]=f,c=e+(M<<5)|0,b=0|i[f>>2]){for(t[(d=e+(M<<5)+8|0)>>3]=1.7976931348623157e308,t[(w=e+(M<<5)+24|0)>>3]=1.7976931348623157e308,t[c>>3]=-1.7976931348623157e308,t[(B=e+(M<<5)+16|0)>>3]=-1.7976931348623157e308,Q=1.7976931348623157e308,h=-1.7976931348623157e308,l=0,k=b,g=1.7976931348623157e308,m=1.7976931348623157e308,E=-1.7976931348623157e308,s=-1.7976931348623157e308;u=+t[k>>3],C=+t[k+8>>3],_=+t[((D=0==(0|(k=0|i[k+16>>2])))?b:k)+8>>3],u<g&&(t[d>>3]=u,g=u),C<m&&(t[w>>3]=C,m=C),u>E?t[c>>3]=u:u=E,C>s&&(t[B>>3]=C,s=C),Q=C>0&C<Q?C:Q,h=C<0&C>h?C:h,l|=+o(+(C-_))>3.141592653589793,!D;)E=u;l&&(t[B>>3]=h,t[w>>3]=Q)}else i[c>>2]=0,i[c+4>>2]=0,i[c+8>>2]=0,i[c+12>>2]=0,i[c+16>>2]=0,i[c+20>>2]=0,i[c+24>>2]=0,i[c+28>>2]=0;l=M+1|0}if(f=0|i[(T=f+8|0)>>2],i[T>>2]=0,!f){U=45;break}M=l,w=n}if(21==(0|U))v(22568,22590,35,22602);else if(23==(0|U))v(22622,22590,37,22602);else if(27==(0|U))v(22665,22590,61,22688);else if(45==(0|U)){A:do{if((0|G)>0){for(T=0==(0|l),p=l<<2,P=0==(0|A),F=0,n=0;;){if(I=0|i[r+(F<<2)>>2],T)U=73;else{if(!(M=0|Qe(p))){U=50;break}if(!(y=0|Qe(p))){U=52;break}e:do{if(P)a=0;else{for(l=0,a=0,c=A;0|ee(0|i[c>>2],f=e+(l<<5)|0,0|i[I>>2])?(i[M+(a<<2)>>2]=c,i[y+(a<<2)>>2]=f,D=a+1|0):D=a,c=0|i[c+8>>2];)l=l+1|0,a=D;if((0|D)>0)if(f=0|i[M>>2],1==(0|D))a=f;else for(B=0,k=-1,a=f,w=f;;){for(b=0|i[w>>2],f=0,c=0;d=(0|(l=0|i[i[M+(c<<2)>>2]>>2]))==(0|b)?f:f+(1&(0|ee(l,0|i[y+(c<<2)>>2],0|i[b>>2])))|0,(0|(c=c+1|0))!=(0|D);)f=d;if(a=(l=(0|d)>(0|k))?w:a,(0|(f=B+1|0))==(0|D))break e;B=f,k=l?d:k,w=0|i[M+(f<<2)>>2]}else a=0}}while(0);if(he(M),he(y),a){if(f=0|i[(l=a+4|0)>>2])a=f+8|0;else if(0|i[a>>2]){U=70;break}i[a>>2]=I,i[l>>2]=I}else U=73}if(73==(0|U)){if(U=0,0|(n=0|i[I>>2]))do{y=n,n=0|i[n+16>>2],he(y)}while(0!=(0|n));he(I),n=2}if((0|(F=F+1|0))>=(0|G)){L=n;break A}}50==(0|U)?v(22807,22590,249,22826):52==(0|U)?v(22845,22590,252,22826):70==(0|U)&&v(22665,22590,61,22688)}else L=0}while(0);return he(r),he(e),0|L}return 0}function ee(A,e,r){A|=0;var n=0,a=0,f=0,o=0,l=0,u=0,c=0,s=0;if(!(0|N(e|=0,r|=0)))return 0;if(e=0|O(e),n=+t[r>>3],a=e&(a=+t[r+8>>3])<0?a+6.283185307179586:a,!(A=0|i[A>>2]))return 0;if(e){e=0,c=a,r=A;A:for(;;){for(;o=+t[r>>3],a=+t[r+8>>3],l=+t[(s=0==(0|(s=0|i[(r=r+16|0)>>2]))?A:s)+8>>3],o>(f=+t[s>>3])?(u=o,o=l):(u=f,f=o,o=a,a=l),(n=n==f|n==u?n+2.220446049250313e-16:n)<f|n>u;)if(!(r=0|i[r>>2])){r=22;break A}if(((u=(l=o<0?o+6.283185307179586:o)+(n-f)/(u-f)*((o=a<0?a+6.283185307179586:a)-l))<0?u+6.283185307179586:u)>(c=l==c|o==c?c+-2.220446049250313e-16:c)&&(e^=1),!(r=0|i[r>>2])){r=22;break}}if(22==(0|r))return 0|e}else{e=0,c=a,r=A;A:for(;;){for(;o=+t[r>>3],a=+t[r+8>>3],l=+t[(s=0==(0|(s=0|i[(r=r+16|0)>>2]))?A:s)+8>>3],o>(f=+t[s>>3])?(u=o,o=l):(u=f,f=o,o=a,a=l),(n=n==f|n==u?n+2.220446049250313e-16:n)<f|n>u;)if(!(r=0|i[r>>2])){r=22;break A}if(o+(n-f)/(u-f)*(a-o)>(c=o==c|a==c?c+-2.220446049250313e-16:c)&&(e^=1),!(r=0|i[r>>2])){r=22;break}}if(22==(0|r))return 0|e}return 0}function re(A,e,r,t,a){r|=0,t|=0,a|=0;var f,o,l,u,c,s=0,g=0,b=0,d=0,w=0,B=0,k=0,D=0,m=0;if(u=F,F=F+32|0,c=u+16|0,l=u,s=0|Ge(0|(A|=0),0|(e|=0),52),h(),s&=15,k=0|Ge(0|r,0|t,52),h(),(0|s)!=(15&k|0))return F=u,12;if(w=0|Ge(0|A,0|e,45),h(),w&=127,B=0|Ge(0|r,0|t,45),h(),w>>>0>121|(B&=127)>>>0>121)return F=u,5;if(k=(0|w)!=(0|B)){if(7==(0|(b=0|Y(w,B))))return F=u,1;7==(0|(d=0|Y(B,w)))?v(22869,22893,161,22903):(D=b,g=d)}else D=0,g=0;f=0|x(w),o=0|x(B),i[c>>2]=0,i[c+4>>2]=0,i[c+8>>2]=0,i[c+12>>2]=0;do{if(D){if(b=(0|(B=0|i[4272+(28*w|0)+(D<<2)>>2]))>0,o)if(b){w=0,d=r,b=t;do{d=0|UA(d,b),b=0|h(),1==(0|(g=0|uA(g)))&&(g=0|uA(1)),w=w+1|0}while((0|w)!=(0|B));B=g,w=d,d=b}else B=g,w=r,d=t;else if(b){w=0,d=r,b=t;do{d=0|xA(d,b),b=0|h(),g=0|uA(g),w=w+1|0}while((0|w)!=(0|B));B=g,w=d,d=b}else B=g,w=r,d=t;if(VA(w,d,c),k||v(22918,22893,191,22903),(b=0!=(0|f))&(g=0!=(0|o))&&v(22945,22893,192,22903),b){if(7==(0|(g=0|TA(A,e)))){s=5;break}if(0|n[21872+(7*g|0)+D>>0]){s=1;break}w=d=0|i[21040+(28*g|0)+(D<<2)>>2]}else if(g){if(7==(0|(g=0|TA(w,d)))){s=5;break}if(0|n[21872+(7*g|0)+B>>0]){s=1;break}w=0,d=0|i[21040+(28*B|0)+(g<<2)>>2]}else w=0,d=0;if((w|d|0)<0)s=5;else{if((0|d)>0){b=c+4|0,g=0;do{oA(b),g=g+1|0}while((0|g)!=(0|d))}if(i[l>>2]=0,i[l+4>>2]=0,i[l+8>>2]=0,aA(l,D),0|s)for(;0|RA(s)?iA(l):tA(l),(0|s)>1;)s=s+-1|0;if((0|w)>0){s=0;do{oA(l),s=s+1|0}while((0|s)!=(0|w))}q(m=c+4|0,l,m),j(m),m=51}}else if(VA(r,t,c),0!=(0|f)&0!=(0|o))if((0|B)!=(0|w)&&v(22976,22893,261,22903),7==(0|(g=0|TA(A,e)))|7==(0|(s=0|TA(r,t))))s=5;else if(0|n[21872+(7*g|0)+s>>0])s=1;else if((0|(g=0|i[21040+(28*g|0)+(s<<2)>>2]))>0){b=c+4|0,s=0;do{oA(b),s=s+1|0}while((0|s)!=(0|g));m=51}else m=51;else m=51}while(0);return 51==(0|m)&&(i[a>>2]=i[(s=c+4|0)>>2],i[a+4>>2]=i[s+4>>2],i[a+8>>2]=i[s+8>>2],s=0),F=u,0|s}function ne(A,e,r,n){r|=0,n|=0;var t,a,f=0,o=0,l=0,u=0,c=0,s=0,g=0,b=0,d=0,w=0,B=0,k=0,D=0;if(a=F,F=F+48|0,l=a+36|0,u=a+24|0,c=a+12|0,s=a,o=0|Ge(0|(A|=0),0|(e|=0),52),h(),o&=15,b=0|Ge(0|A,0|e,45),h(),(b&=127)>>>0>121)return F=a,5;if(t=0|x(b),Le(0|o,0,52),B=134225919|h(),i[(w=n)>>2]=-1,i[w+4>>2]=B,!o)return(0|i[r>>2])>1?(F=a,0|(B=1)):(0|i[r+4>>2])>1?(F=a,0|(B=1)):(0|i[r+8>>2])>1?(F=a,0|(B=1)):127==(0|(f=0|S(b,0|eA(r))))?(F=a,0|(B=1)):(d=0|Le(0|f,0,45),w=0|h(),w|=-1040385&i[(b=n)+4>>2],i[(B=n)>>2]=i[b>>2]|d,i[B+4>>2]=w,F=a,0|(B=0));for(i[l>>2]=i[r>>2],i[l+4>>2]=i[r+4>>2],i[l+8>>2]=i[r+8>>2];i[u>>2]=i[l>>2],i[u+4>>2]=i[l+4>>2],i[u+8>>2]=i[l+8>>2],0|RA(o)?(rA(l),i[c>>2]=i[l>>2],i[c+4>>2]=i[l+4>>2],i[c+8>>2]=i[l+8>>2],iA(c)):(nA(l),i[c>>2]=i[l>>2],i[c+4>>2]=i[l+4>>2],i[c+8>>2]=i[l+8>>2],tA(c)),$(u,c,s),j(s),k=0|i[(w=n)>>2],w=0|i[w+4>>2],r=0|Le(7,0,0|(D=3*(15-o|0)|0)),w&=~(0|h()),D=0|Le(0|eA(s),0,0|D),w=0|h()|w,i[(B=n)>>2]=D|k&~r,i[B+4>>2]=w,(0|o)>1;)o=o+-1|0;A:do{if((0|i[l>>2])<=1&&(0|i[l+4>>2])<=1&&(0|i[l+8>>2])<=1){s=127==(0|(u=0|S(b,r=0|eA(l))))?0:0|x(u);e:do{if(r){if(t){if(7==(0|(o=0|TA(A,e)))){f=5;break A}if((0|(l=0|i[21248+(28*o|0)+(r<<2)>>2]))>0){o=r,r=0;do{o=0|lA(o),r=r+1|0}while((0|r)!=(0|l))}else o=r;if(1==(0|o)){f=9;break A}127==(0|(r=0|S(b,o)))&&v(23003,22893,406,23033),0|x(r)?v(23048,22893,407,23033):(f=r,d=l,g=o)}else f=u,d=0,g=r;if((0|(c=0|i[4272+(28*b|0)+(g<<2)>>2]))<=-1&&v(23079,22893,414,23033),!s){if((0|d)<0){f=5;break A}if(0|d){o=0,r=0|i[(l=n)>>2],l=0|i[l+4>>2];do{r=0|LA(r,l),l=0|h(),i[(D=n)>>2]=r,i[D+4>>2]=l,o=o+1|0}while((0|o)<(0|d))}if((0|c)<=0){o=55;break}for(o=0,r=0|i[(l=n)>>2],l=0|i[l+4>>2];;)if(r=0|LA(r,l),l=0|h(),i[(D=n)>>2]=r,i[D+4>>2]=l,(0|(o=o+1|0))==(0|c)){o=55;break e}}if(7==(0|(u=0|Y(f,b)))&&v(22869,22893,423,23033),r=0|i[(o=n)>>2],o=0|i[o+4>>2],(0|c)>0){l=0;do{r=0|LA(r,o),o=0|h(),i[(D=n)>>2]=r,i[D+4>>2]=o,l=l+1|0}while((0|l)!=(0|c))}if(7==(0|(o=0|TA(r,o)))){f=5;break A}if(r=0|R(f),(0|(r=0|i[(r?21664:21456)+(28*u|0)+(o<<2)>>2]))<0){f=5;break A}if(r){o=0,l=0|i[(u=n)>>2],u=0|i[u+4>>2];do{l=0|GA(l,u),u=0|h(),i[(D=n)>>2]=l,i[D+4>>2]=u,o=o+1|0}while((0|o)<(0|r));o=55}else o=55}else if(0!=(0|t)&0!=(0|s)){if(7==(0|(f=0|TA(A,e)))|7==(0|(o=0|TA(0|i[(o=n)>>2],0|i[o+4>>2])))){f=5;break A}if((0|(o=0|i[21248+(28*f|0)+(o<<2)>>2]))<0){f=5;break A}if(o){f=0,r=0|i[(l=n)>>2],l=0|i[l+4>>2];do{r=0|LA(r,l),l=0|h(),i[(D=n)>>2]=r,i[D+4>>2]=l,f=f+1|0}while((0|f)<(0|o));f=u,o=55}else f=u,o=56}else f=u,o=55}while(0);if(55==(0|o)&&s&&(o=56),56==(0|o)&&1==(0|TA(0|i[(D=n)>>2],0|i[D+4>>2]))){f=9;break}B=0|i[(D=n)>>2],D=-1040385&i[D+4>>2],k=0|Le(0|f,0,45),D=0|D|h(),i[(f=n)>>2]=B|k,i[f+4>>2]=D,f=0}else f=1}while(0);return F=a,0|f}function ie(A,e,r,n){A|=0,e|=0;var i=0,t=0,a=0;if(0==(0|(r|=0))&0==(0|(n|=0)))return t=1,Q(0|(i=0)),0|t;t=A,i=e,A=1,e=0;do{A=0|Fe(0|((a=0==(1&r|0)&!0)?1:t),0|(a?0:i),0|A,0|e),e=0|h(),r=0|Te(0|r,0|n,1),n=0|h(),t=0|Fe(0|t,0|i,0|t,0|i),i=0|h()}while(!(0==(0|r)&0==(0|n)));return Q(0|e),0|A}function te(A,e,r){A|=0;var n,a,f=0,o=0,l=0,u=0,c=0,s=0,g=0,b=0;if(!(0|N(e|=0,r|=0)))return 0;if(e=0|O(e),f=+t[r>>3],o=e&(o=+t[r+8>>3])<0?o+6.283185307179586:o,(0|(a=0|i[A>>2]))<=0)return 0;if(n=0|i[A+4>>2],e){e=0,b=o,r=-1,A=0;A:for(;;){for(g=A;o=+t[n+(g<<4)+8>>3],c=+t[n+((A=(r+2|0)%(0|a)|0)<<4)+8>>3],(u=+t[n+(g<<4)>>3])>(l=+t[n+(A<<4)>>3])?(s=u,u=c):(s=l,l=u,u=o,o=c),(f=f==l|f==s?f+2.220446049250313e-16:f)<l|f>s;){if((0|(r=g+1|0))>=(0|a)){r=22;break A}A=g,g=r,r=A}if(((s=(c=u<0?u+6.283185307179586:u)+(f-l)/(s-l)*((u=o<0?o+6.283185307179586:o)-c))<0?s+6.283185307179586:s)>(b=c==b|u==b?b+-2.220446049250313e-16:b)&&(e^=1),(0|(A=g+1|0))>=(0|a)){r=22;break}r=g}if(22==(0|r))return 0|e}else{e=0,b=o,r=-1,A=0;A:for(;;){for(g=A;o=+t[n+(g<<4)+8>>3],c=+t[n+((A=(r+2|0)%(0|a)|0)<<4)+8>>3],(u=+t[n+(g<<4)>>3])>(l=+t[n+(A<<4)>>3])?(s=u,u=c):(s=l,l=u,u=o,o=c),(f=f==l|f==s?f+2.220446049250313e-16:f)<l|f>s;){if((0|(r=g+1|0))>=(0|a)){r=22;break A}A=g,g=r,r=A}if(u+(f-l)/(s-l)*(o-u)>(b=u==b|o==b?b+-2.220446049250313e-16:b)&&(e^=1),(0|(A=g+1|0))>=(0|a)){r=22;break}r=g}if(22==(0|r))return 0|e}return 0}function ae(A,e){e|=0;var r,n,a,f,l,u=0,c=0,s=0,g=0,b=0,d=0,w=0,B=0,k=0,D=0,m=0,E=0;if(!(n=0|i[(A|=0)>>2]))return i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,i[e+12>>2]=0,i[e+16>>2]=0,i[e+20>>2]=0,i[e+24>>2]=0,void(i[e+28>>2]=0);if(t[(a=e+8|0)>>3]=1.7976931348623157e308,t[(f=e+24|0)>>3]=1.7976931348623157e308,t[e>>3]=-1.7976931348623157e308,t[(l=e+16|0)>>3]=-1.7976931348623157e308,!((0|n)<=0)){for(r=0|i[A+4>>2],B=1.7976931348623157e308,k=-1.7976931348623157e308,D=0,A=-1,g=1.7976931348623157e308,b=1.7976931348623157e308,w=-1.7976931348623157e308,c=-1.7976931348623157e308,m=0;d=+t[r+(m<<4)+8>>3],s=+t[r+(((0|(A=A+2|0))==(0|n)?0:A)<<4)+8>>3],(u=+t[r+(m<<4)>>3])<g&&(t[a>>3]=u,g=u),d<b&&(t[f>>3]=d,b=d),u>w?t[e>>3]=u:u=w,d>c&&(t[l>>3]=d,c=d),B=d>0&d<B?d:B,k=d<0&d>k?d:k,D|=+o(+(d-s))>3.141592653589793,(0|(A=m+1|0))!=(0|n);)E=m,w=u,m=A,A=E;D&&(t[l>>3]=k,t[f>>3]=B)}}function fe(A,e){e|=0;var r,n=0,a=0,f=0,l=0,u=0,c=0,s=0,g=0,b=0,d=0,w=0,B=0,k=0,D=0,m=0,E=0,Q=0,h=0,v=0,_=0,C=0;if(k=0|i[(A|=0)>>2]){if(t[(D=e+8|0)>>3]=1.7976931348623157e308,t[(m=e+24|0)>>3]=1.7976931348623157e308,t[e>>3]=-1.7976931348623157e308,t[(E=e+16|0)>>3]=-1.7976931348623157e308,(0|k)>0){for(f=0|i[A+4>>2],w=1.7976931348623157e308,B=-1.7976931348623157e308,a=0,n=-1,s=1.7976931348623157e308,g=1.7976931348623157e308,d=-1.7976931348623157e308,u=-1.7976931348623157e308,Q=0;b=+t[f+(Q<<4)+8>>3],c=+t[f+(((0|(_=n+2|0))==(0|k)?0:_)<<4)+8>>3],(l=+t[f+(Q<<4)>>3])<s&&(t[D>>3]=l,s=l),b<g&&(t[m>>3]=b,g=b),l>d?t[e>>3]=l:l=d,b>u&&(t[E>>3]=b,u=b),w=b>0&b<w?b:w,B=b<0&b>B?b:B,a|=+o(+(b-c))>3.141592653589793,(0|(n=Q+1|0))!=(0|k);)_=Q,d=l,Q=n,n=_;a&&(t[E>>3]=B,t[m>>3]=w)}}else i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,i[e+12>>2]=0,i[e+16>>2]=0,i[e+20>>2]=0,i[e+24>>2]=0,i[e+28>>2]=0;if(!((0|(n=0|i[(_=A+8|0)>>2]))<=0)){r=A+12|0,v=0;do{if(a=v,m=e+((v=v+1|0)<<5)|0,E=0|i[(f=0|i[r>>2])+(a<<3)>>2]){if(t[(Q=e+(v<<5)+8|0)>>3]=1.7976931348623157e308,t[(A=e+(v<<5)+24|0)>>3]=1.7976931348623157e308,t[m>>3]=-1.7976931348623157e308,t[(h=e+(v<<5)+16|0)>>3]=-1.7976931348623157e308,(0|E)>0){for(k=0|i[f+(a<<3)+4>>2],w=1.7976931348623157e308,B=-1.7976931348623157e308,f=0,a=-1,D=0,s=1.7976931348623157e308,g=1.7976931348623157e308,b=-1.7976931348623157e308,u=-1.7976931348623157e308;d=+t[k+(D<<4)+8>>3],c=+t[k+(((0|(a=a+2|0))==(0|E)?0:a)<<4)+8>>3],(l=+t[k+(D<<4)>>3])<s&&(t[Q>>3]=l,s=l),d<g&&(t[A>>3]=d,g=d),l>b?t[m>>3]=l:l=b,d>u&&(t[h>>3]=d,u=d),w=d>0&d<w?d:w,B=d<0&d>B?d:B,f|=+o(+(d-c))>3.141592653589793,(0|(a=D+1|0))!=(0|E);)C=D,D=a,b=l,a=C;f&&(t[h>>3]=B,t[A>>3]=w)}}else i[m>>2]=0,i[m+4>>2]=0,i[m+8>>2]=0,i[m+12>>2]=0,i[m+16>>2]=0,i[m+20>>2]=0,i[m+24>>2]=0,i[m+28>>2]=0,n=0|i[_>>2]}while((0|v)<(0|n))}}function oe(A,e,r){var n,t=0;if(!(0|te(A|=0,e|=0,r|=0)))return 0;if((0|i[(n=A+8|0)>>2])<=0)return 1;for(t=A+12|0,A=0;;){if(0|te((0|i[t>>2])+(A<<3)|0,e+((A=A+1|0)<<5)|0,r)){A=0,t=6;break}if((0|A)>=(0|i[n>>2])){A=1,t=6;break}}return 6==(0|t)?0|A:0}function le(A,e,r,n,i){var a,f,o,l,u,c,s,g=0;t[(i|=0)>>3]=(l=+t[(A|=0)>>3])+(o=+t[(e|=0)>>3]-l)*(g=((g=+t[(n|=0)>>3]-(c=+t[(r|=0)>>3]))*((f=+t[A+8>>3])-(s=+t[r+8>>3]))-(l-c)*(u=+t[n+8>>3]-s))/(o*u-(a=+t[e+8>>3]-f)*g)),t[i+8>>3]=f+a*g}function ue(A,e){return+t[(A|=0)>>3]!=+t[(e|=0)>>3]?0|(e=0):0|(e=+t[A+8>>3]==+t[e+8>>3])}function ce(A,e){var r,n,i;return+((i=+t[(A|=0)>>3]-+t[(e|=0)>>3])*i+(n=+t[A+8>>3]-+t[e+8>>3])*n+(r=+t[A+16>>3]-+t[e+16>>3])*r)}function se(A,e,r){r|=0;var n,t,a,f,o=0,l=0,u=0,c=0;if(f=F,F=F+32|0,c=f,0|(o=0|zA(A|=0,e|=0,t=f+16|0)))return F=f,0|o;n=0|yA(A,e),a=0|TA(A,e),function(A,e){i[(e|=0)>>2]=i[(A=7696+(28*(A|=0)|0)|0)>>2],i[e+4>>2]=i[A+4>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=i[A+12>>2]}(n,c),o=0|function(A,e){A|=0;var r=0,n=0;if((e|=0)>>>0>20)return-1;do{if((0|i[11120+(216*e|0)>>2])!=(0|A))if((0|i[11120+(216*e|0)+8>>2])!=(0|A))if((0|i[11120+(216*e|0)+16>>2])!=(0|A))if((0|i[11120+(216*e|0)+24>>2])!=(0|A))if((0|i[11120+(216*e|0)+32>>2])!=(0|A))if((0|i[11120+(216*e|0)+40>>2])!=(0|A))if((0|i[11120+(216*e|0)+48>>2])!=(0|A))if((0|i[11120+(216*e|0)+56>>2])!=(0|A))if((0|i[11120+(216*e|0)+64>>2])!=(0|A))if((0|i[11120+(216*e|0)+72>>2])!=(0|A))if((0|i[11120+(216*e|0)+80>>2])!=(0|A))if((0|i[11120+(216*e|0)+88>>2])!=(0|A))if((0|i[11120+(216*e|0)+96>>2])!=(0|A))if((0|i[11120+(216*e|0)+104>>2])!=(0|A))if((0|i[11120+(216*e|0)+112>>2])!=(0|A))if((0|i[11120+(216*e|0)+120>>2])!=(0|A))if((0|i[11120+(216*e|0)+128>>2])!=(0|A)){if((0|i[11120+(216*e|0)+136>>2])!=(0|A)){if((0|i[11120+(216*e|0)+144>>2])==(0|A)){A=0,r=2,n=0;break}if((0|i[11120+(216*e|0)+152>>2])==(0|A)){A=0,r=2,n=1;break}if((0|i[11120+(216*e|0)+160>>2])==(0|A)){A=0,r=2,n=2;break}if((0|i[11120+(216*e|0)+168>>2])==(0|A)){A=1,r=2,n=0;break}if((0|i[11120+(216*e|0)+176>>2])==(0|A)){A=1,r=2,n=1;break}if((0|i[11120+(216*e|0)+184>>2])==(0|A)){A=1,r=2,n=2;break}if((0|i[11120+(216*e|0)+192>>2])==(0|A)){A=2,r=2,n=0;break}if((0|i[11120+(216*e|0)+200>>2])==(0|A)){A=2,r=2,n=1;break}if((0|i[11120+(216*e|0)+208>>2])==(0|A)){A=2,r=2,n=2;break}return-1}A=2,r=1,n=2}else A=2,r=1,n=1;else A=2,r=1,n=0;else A=1,r=1,n=2;else A=1,r=1,n=1;else A=1,r=1,n=0;else A=0,r=1,n=2;else A=0,r=1,n=1;else A=0,r=1,n=0;else A=2,r=0,n=2;else A=2,r=0,n=1;else A=2,r=0,n=0;else A=1,r=0,n=2;else A=1,r=0,n=1;else A=1,r=0,n=0;else A=0,r=0,n=2;else A=0,r=0,n=1;else A=0,r=0,n=0}while(0);return 0|i[11120+(216*e|0)+(72*r|0)+(24*A|0)+(n<<3)+4>>2]}(n,0|i[t>>2]);do{if(0|x(n)){switch(0|n){case 4:A=0,l=15;break;case 14:A=1,l=15;break;case 24:A=2,l=15;break;case 38:A=3,l=15;break;case 49:A=4,l=15;break;case 58:A=5,l=15;break;case 63:A=6,l=15;break;case 72:A=7,l=15;break;case 83:A=8,l=15;break;case 97:A=9,l=15;break;case 107:A=10,l=15;break;case 117:A=11,l=15;break;default:u=0,e=0}if(15==(0|l)&&(u=0|i[22e3+(24*A|0)+8>>2],e=0|i[22e3+(24*A|0)+16>>2]),(0|(A=0|i[t>>2]))!=(0|i[c>>2])&&(c=0|R(n))|(0|(A=0|i[t>>2]))==(0|e)&&(o=(o+1|0)%6|0),3==(0|a)&(0|A)==(0|e)){o=(o+5|0)%6|0;break}5==(0|a)&(0|A)==(0|u)&&(o=(o+1|0)%6|0)}}while(0);return i[r>>2]=o,F=f,0}function ge(A,e,r,n){r|=0,n|=0;var t,a,f,o,l,u=0,c=0,s=0,g=0,b=0,d=0,w=0,B=0,k=0,D=0,m=0,E=0,Q=0;if(l=F,F=F+32|0,Q=l+24|0,o=l+20|0,f=l+8|0,a=l+16|0,t=l,g=(g=0==(0|PA(A|=0,e|=0)))?6:5,d=0|Ge(0|A,0|e,52),h(),g>>>0<=r>>>0)return F=l,2;if((w=0==(0|(d&=15)))||!(0==((m=0|Le(7,0,3*(15^d)|0))&A|0)&0==((0|h())&e|0))){if((0|((u=0!=(0|PA(A,e)))?4:5))<(0|r))return F=l,1;if(0|se(A,e,Q))return F=l,1;if(c=(0|i[Q>>2])+r|0,7==(0|(m=0|i[(u=u?22288+(((0|c)%5|0)<<2)|0:22320+(((0|c)%6|0)<<2)|0)>>2])))return F=l,1;i[o>>2]=0,G(A,e,m,o,f),b=0|i[(s=f)>>2],u=(c=(s=0|i[s+4>>2])>>>0<e>>>0|(0|s)==(0|e)&b>>>0<A>>>0)?b:A,c=c?s:e,!w&&0==(b&(w=0|Le(7,0,3*(15^d)|0))|0)&0==(s&(0|h())|0)||(k=13);A:do{if(13==(0|k)){s=(r+-1+g|0)%(0|g)|0,g=0|PA(A,e);do{if((0|s)>=0&&(0|((B=0!=(0|g))?4:5))>=(0|s)){if(0|se(A,e,Q))break;if(s=(0|i[Q>>2])+s|0,7!=(0|(s=0|i[(s=B?22288+(((0|s)%5|0)<<2)|0:22320+(((0|s)%6|0)<<2)|0)>>2]))){if(i[a>>2]=0,G(A,e,s,a,t),g=0|i[(b=t)>>2],(b=0|i[b+4>>2])>>>0<c>>>0|(0|b)==(0|c)&g>>>0<u>>>0)if(u=0|PA(g,b)?0|L(g,b,A,e):0|i[22384+((((0|i[a>>2])+(0|i[22352+(s<<2)>>2])|0)%6|0)<<2)>>2],r=0|PA(g,b),(u+-1|0)>>>0<=5&&!(1==(0|u)&(D=0!=(0|r)))){do{if(!(0|se(g,b,Q))){if(D){r=(5+(0|i[21936+(u<<2)>>2])-(0|i[Q>>2])|0)%5|0;break}r=(6+(0|i[21968+(u<<2)>>2])-(0|i[Q>>2])|0)%6|0;break}r=-1}while(0);u=g,c=b}else r=-1,u=g,c=b;b=0|i[(s=f)>>2],s=0|i[s+4>>2];break A}}}while(0);return F=l,1}}while(0);if((0|u)==(0|b)&(0|c)==(0|s)){if(A=(g=0!=(0|PA(b,s)))?0|L(b,s,A,e):0|i[22384+((((0|i[o>>2])+(0|i[22352+(m<<2)>>2])|0)%6|0)<<2)>>2],r=0|PA(b,s),(A+-1|0)>>>0<=5&&!(1==(0|A)&(E=0!=(0|r))))do{if(!(0|se(b,s,Q))){if(E){r=(5+(0|i[21936+(A<<2)>>2])-(0|i[Q>>2])|0)%5|0;break}r=(6+(0|i[21968+(A<<2)>>2])-(0|i[Q>>2])|0)%6|0;break}r=-1}while(0);else r=-1;r=6==(0|(r=r+1|0))|g&5==(0|r)?0:r}e=c,A=u}return E=0|Le(0|r,0,56),Q=0|h()|-2130706433&e|536870912,i[n>>2]=E|A,i[n+4>>2]=Q,F=l,0}function be(A,e,r){A|=0,r|=0;var n=0;(0|(e|=0))>0?(n=0|ve(e,4),i[A>>2]=n,n||v(23102,23125,40,23139)):i[A>>2]=0,i[A+4>>2]=e,i[A+8>>2]=0,i[A+12>>2]=r}function de(A){var e,r,n,a=0,f=0,l=0,c=0;e=4+(A|=0)|0,r=A+12|0,n=A+8|0;A:for(;;){for(f=0|i[e>>2],a=0;;){if((0|a)>=(0|f))break A;if(c=0|i[(l=0|i[A>>2])+(a<<2)>>2])break;a=a+1|0}a=l+(~~(+o(+ +u(10,+ +(15-(0|i[r>>2])|0))*(+t[c>>3]+ +t[c+8>>3]))%+(0|f))>>>0<<2)|0,f=0|i[a>>2];e:do{if(0|f){if(l=c+32|0,(0|f)==(0|c))i[a>>2]=i[l>>2];else{if(!(a=0|i[(f=f+32|0)>>2]))break;for(;(0|a)!=(0|c);)if(!(a=0|i[(f=a+32|0)>>2]))break e;i[f>>2]=i[l>>2]}he(c),i[n>>2]=(0|i[n>>2])-1}}while(0)}he(0|i[A>>2])}function we(A){var e,r=0,n=0;for(e=0|i[4+(A|=0)>>2],n=0;;){if((0|n)>=(0|e)){r=0,n=4;break}if(r=0|i[(0|i[A>>2])+(n<<2)>>2]){n=4;break}n=n+1|0}return 4==(0|n)?0|r:0}function Be(A,e){e|=0;var r=0,n=0,a=0,f=0;if(r=~~(+o(+ +u(10,+ +(15-(0|i[12+(A|=0)>>2])|0))*(+t[e>>3]+ +t[e+8>>3]))%+(0|i[A+4>>2]))>>>0,!(n=0|i[(r=(0|i[A>>2])+(r<<2)|0)>>2]))return 1;f=e+32|0;do{if((0|n)!=(0|e)){if(!(r=0|i[n+32>>2]))return 1;for(a=r;;){if((0|a)==(0|e)){a=8;break}if(!(r=0|i[a+32>>2])){r=1,a=10;break}n=a,a=r}if(8==(0|a)){i[n+32>>2]=i[f>>2];break}if(10==(0|a))return 0|r}else i[r>>2]=i[f>>2]}while(0);return he(e),i[(f=A+8|0)>>2]=(0|i[f>>2])-1,0}function ke(A,e,r){A|=0,e|=0,r|=0;var n,a=0,f=0,l=0;(n=0|Qe(40))||v(23155,23125,98,23168),i[n>>2]=i[e>>2],i[n+4>>2]=i[e+4>>2],i[n+8>>2]=i[e+8>>2],i[n+12>>2]=i[e+12>>2],i[(f=n+16|0)>>2]=i[r>>2],i[f+4>>2]=i[r+4>>2],i[f+8>>2]=i[r+8>>2],i[f+12>>2]=i[r+12>>2],i[n+32>>2]=0,f=~~(+o(+ +u(10,+ +(15-(0|i[A+12>>2])|0))*(+t[e>>3]+ +t[e+8>>3]))%+(0|i[A+4>>2]))>>>0,a=0|i[(f=(0|i[A>>2])+(f<<2)|0)>>2];do{if(a){for(;!(0|WA(a,e)&&0|WA(a+16|0,r));)if(!(0|i[(a=0==(0|(f=0|i[a+32>>2]))?a:f)+32>>2])){l=10;break}if(10==(0|l)){i[a+32>>2]=n;break}return he(n),0|a}i[f>>2]=n}while(0);return i[(l=A+8|0)>>2]=1+(0|i[l>>2]),0|n}function De(A,e,r){e|=0,r|=0;var n=0,a=0;if(a=~~(+o(+ +u(10,+ +(15-(0|i[12+(A|=0)>>2])|0))*(+t[e>>3]+ +t[e+8>>3]))%+(0|i[A+4>>2]))>>>0,!(a=0|i[(0|i[A>>2])+(a<<2)>>2]))return 0;if(!r){for(A=a;;){if(0|WA(A,e)){n=10;break}if(!(A=0|i[A+32>>2])){A=0,n=10;break}}if(10==(0|n))return 0|A}for(A=a;;){if(0|WA(A,e)&&0|WA(A+16|0,r)){n=10;break}if(!(A=0|i[A+32>>2])){A=0,n=10;break}}return 10==(0|n)?0|A:0}function me(A,e){var r;if(e|=0,r=~~(+o(+ +u(10,+ +(15-(0|i[12+(A|=0)>>2])|0))*(+t[e>>3]+ +t[e+8>>3]))%+(0|i[A+4>>2]))>>>0,!(A=0|i[(0|i[A>>2])+(r<<2)>>2]))return 0;for(;;){if(0|WA(A,e)){e=5;break}if(!(A=0|i[A+32>>2])){A=0,e=5;break}}return 5==(0|e)?0|A:0}function Ee(A){return 0|~~+function(A){return+ +Ve(+(A=+A))}(A=+A)}function Qe(A){A|=0;var e,r=0,n=0,t=0,a=0,f=0,o=0,l=0,u=0,c=0,s=0,g=0,b=0,d=0,w=0,B=0,k=0,D=0,m=0,E=0,Q=0;e=F,F=F+16|0,b=e;do{if(A>>>0<245){if(3&(n=(g=0|i[5797])>>>(A=(c=A>>>0<11?16:A+11&-8)>>>3))|0)return(0|(f=0|i[(a=8+(t=0|i[(n=8+(A=23228+((r=(1&n^1)+A|0)<<1<<2)|0)|0)>>2])|0)>>2]))==(0|A)?i[5797]=g&~(1<<r):(i[f+12>>2]=A,i[n>>2]=f),i[t+4>>2]=3|(Q=r<<3),i[(Q=t+Q+4|0)>>2]=1|i[Q>>2],F=e,0|a;if(c>>>0>(s=0|i[5799])>>>0){if(0|n)return r=((r=n<<A&((r=2<<A)|0-r))&0-r)-1|0,(0|(n=0|i[(l=8+(f=0|i[(A=8+(r=23228+((t=((n=(r>>>=l=r>>>12&16)>>>5&8)|l|(f=(r>>>=n)>>>2&4)|(A=(r>>>=f)>>>1&2)|(t=(r>>>=A)>>>1&1))+(r>>>t)|0)<<1<<2)|0)|0)>>2])|0)>>2]))==(0|r)?i[5797]=A=g&~(1<<t):(i[n+12>>2]=r,i[A>>2]=n,A=g),o=(Q=t<<3)-c|0,i[f+4>>2]=3|c,i[4+(a=f+c|0)>>2]=1|o,i[f+Q>>2]=o,0|s&&(t=0|i[5802],n=23228+((r=s>>>3)<<1<<2)|0,A&(r=1<<r)?r=0|i[(A=n+8|0)>>2]:(i[5797]=A|r,r=n,A=n+8|0),i[A>>2]=t,i[r+12>>2]=t,i[t+8>>2]=r,i[t+12>>2]=n),i[5799]=o,i[5802]=a,F=e,0|l;if(f=0|i[5798]){for(n=(f&0-f)-1|0,n=u=0|i[23492+(((t=(n>>>=a=n>>>12&16)>>>5&8)|a|(o=(n>>>=t)>>>2&4)|(l=(n>>>=o)>>>1&2)|(u=(n>>>=l)>>>1&1))+(n>>>u)<<2)>>2],l=u,u=(-8&i[u+4>>2])-c|0;(A=0|i[n+16>>2])||(A=0|i[n+20>>2]);)n=A,l=(a=(o=(-8&i[A+4>>2])-c|0)>>>0<u>>>0)?A:l,u=a?o:u;if((o=l+c|0)>>>0>l>>>0){a=0|i[l+24>>2],r=0|i[l+12>>2];do{if((0|r)==(0|l)){if(!(r=0|i[(A=l+20|0)>>2])&&!(r=0|i[(A=l+16|0)>>2])){n=0;break}for(;;)if(n=0|i[(t=r+20|0)>>2])r=n,A=t;else{if(!(n=0|i[(t=r+16|0)>>2]))break;r=n,A=t}i[A>>2]=0,n=r}else i[12+(n=0|i[l+8>>2])>>2]=r,i[r+8>>2]=n,n=r}while(0);do{if(0|a){if((0|l)==(0|i[(A=23492+((r=0|i[l+28>>2])<<2)|0)>>2])){if(i[A>>2]=n,!n){i[5798]=f&~(1<<r);break}}else if(i[((0|i[(Q=a+16|0)>>2])==(0|l)?Q:a+20|0)>>2]=n,!n)break;i[n+24>>2]=a,0|(r=0|i[l+16>>2])&&(i[n+16>>2]=r,i[r+24>>2]=n),0|(r=0|i[l+20>>2])&&(i[n+20>>2]=r,i[r+24>>2]=n)}}while(0);return u>>>0<16?(i[l+4>>2]=3|(Q=u+c|0),i[(Q=l+Q+4|0)>>2]=1|i[Q>>2]):(i[l+4>>2]=3|c,i[o+4>>2]=1|u,i[o+u>>2]=u,0|s&&(t=0|i[5802],n=23228+((r=s>>>3)<<1<<2)|0,(r=1<<r)&g?r=0|i[(A=n+8|0)>>2]:(i[5797]=r|g,r=n,A=n+8|0),i[A>>2]=t,i[r+12>>2]=t,i[t+8>>2]=r,i[t+12>>2]=n),i[5799]=u,i[5802]=o),F=e,0|l+8}g=c}else g=c}else g=c}else if(A>>>0<=4294967231)if(c=-8&(A=A+11|0),t=0|i[5798]){a=0-c|0,u=(A>>>=8)?c>>>0>16777215?31:c>>>(7+(u=14-((l=(520192+(B=A<<(g=(A+1048320|0)>>>16&8))|0)>>>16&4)|g|(u=(245760+(B<<=l)|0)>>>16&2))+(B<<u>>>15)|0)|0)&1|u<<1:0,n=0|i[23492+(u<<2)>>2];A:do{if(n)for(A=0,l=c<<(31==(0|u)?0:25-(u>>>1)|0),f=0;;){if((o=(-8&i[n+4>>2])-c|0)>>>0<a>>>0){if(!o){A=n,a=0,B=65;break A}A=n,a=o}if(f=0==(0|(B=0|i[n+20>>2]))|(0|B)==(0|(n=0|i[n+16+(l>>>31<<2)>>2]))?f:B,!n){n=f,B=61;break}l<<=1}else n=0,A=0,B=61}while(0);if(61==(0|B)){if(0==(0|n)&0==(0|A)){if(!(A=((A=2<<u)|0-A)&t)){g=c;break}g=(A&0-A)-1|0,A=0,n=0|i[23492+(((f=(g>>>=o=g>>>12&16)>>>5&8)|o|(l=(g>>>=f)>>>2&4)|(u=(g>>>=l)>>>1&2)|(n=(g>>>=u)>>>1&1))+(g>>>n)<<2)>>2]}n?B=65:(l=A,o=a)}if(65==(0|B))for(f=n;;){if(a=(n=(g=(-8&i[f+4>>2])-c|0)>>>0<a>>>0)?g:a,A=n?f:A,(n=0|i[f+16>>2])||(n=0|i[f+20>>2]),!n){l=A,o=a;break}f=n}if(0!=(0|l)&&o>>>0<((0|i[5799])-c|0)>>>0&&(s=l+c|0)>>>0>l>>>0){f=0|i[l+24>>2],r=0|i[l+12>>2];do{if((0|r)==(0|l)){if(!(r=0|i[(A=l+20|0)>>2])&&!(r=0|i[(A=l+16|0)>>2])){r=0;break}for(;;)if(n=0|i[(a=r+20|0)>>2])r=n,A=a;else{if(!(n=0|i[(a=r+16|0)>>2]))break;r=n,A=a}i[A>>2]=0}else i[12+(Q=0|i[l+8>>2])>>2]=r,i[r+8>>2]=Q}while(0);do{if(f){if((0|l)==(0|i[(n=23492+((A=0|i[l+28>>2])<<2)|0)>>2])){if(i[n>>2]=r,!r){i[5798]=t&=~(1<<A);break}}else if(i[((0|i[(Q=f+16|0)>>2])==(0|l)?Q:f+20|0)>>2]=r,!r)break;i[r+24>>2]=f,0|(A=0|i[l+16>>2])&&(i[r+16>>2]=A,i[A+24>>2]=r),(A=0|i[l+20>>2])&&(i[r+20>>2]=A,i[A+24>>2]=r)}}while(0);A:do{if(o>>>0<16)i[l+4>>2]=3|(Q=o+c|0),i[(Q=l+Q+4|0)>>2]=1|i[Q>>2];else{if(i[l+4>>2]=3|c,i[s+4>>2]=1|o,i[s+o>>2]=o,r=o>>>3,o>>>0<256){n=23228+(r<<1<<2)|0,(A=0|i[5797])&(r=1<<r)?r=0|i[(A=n+8|0)>>2]:(i[5797]=A|r,r=n,A=n+8|0),i[A>>2]=s,i[r+12>>2]=s,i[s+8>>2]=r,i[s+12>>2]=n;break}if(r=23492+((n=(r=o>>>8)?o>>>0>16777215?31:o>>>(7+(n=14-((m=(520192+(Q=r<<(E=(r+1048320|0)>>>16&8))|0)>>>16&4)|E|(n=(245760+(Q<<=m)|0)>>>16&2))+(Q<<n>>>15)|0)|0)&1|n<<1:0)<<2)|0,i[s+28>>2]=n,i[4+(A=s+16|0)>>2]=0,i[A>>2]=0,!(t&(A=1<<n))){i[5798]=t|A,i[r>>2]=s,i[s+24>>2]=r,i[s+12>>2]=s,i[s+8>>2]=s;break}r=0|i[r>>2];e:do{if((-8&i[r+4>>2]|0)!=(0|o)){for(t=o<<(31==(0|n)?0:25-(n>>>1)|0);A=0|i[(n=r+16+(t>>>31<<2)|0)>>2];){if((-8&i[A+4>>2]|0)==(0|o)){r=A;break e}t<<=1,r=A}i[n>>2]=s,i[s+24>>2]=r,i[s+12>>2]=s,i[s+8>>2]=s;break A}}while(0);i[12+(Q=0|i[(E=r+8|0)>>2])>>2]=s,i[E>>2]=s,i[s+8>>2]=Q,i[s+12>>2]=r,i[s+24>>2]=0}}while(0);return F=e,0|l+8}g=c}else g=c;else g=-1}while(0);if((n=0|i[5799])>>>0>=g>>>0)return A=0|i[5802],(r=n-g|0)>>>0>15?(i[5802]=Q=A+g|0,i[5799]=r,i[Q+4>>2]=1|r,i[A+n>>2]=r,i[A+4>>2]=3|g):(i[5799]=0,i[5802]=0,i[A+4>>2]=3|n,i[(Q=A+n+4|0)>>2]=1|i[Q>>2]),F=e,0|A+8;if((o=0|i[5800])>>>0>g>>>0)return i[5800]=m=o-g|0,i[5803]=E=(Q=0|i[5803])+g|0,i[E+4>>2]=1|m,i[Q+4>>2]=3|g,F=e,0|Q+8;if(0|i[5915]?A=0|i[5917]:(i[5917]=4096,i[5916]=4096,i[5918]=-1,i[5919]=-1,i[5920]=0,i[5908]=0,i[5915]=-16&b^1431655768,A=4096),l=g+48|0,(c=(f=A+(u=g+47|0)|0)&(a=0-A|0))>>>0<=g>>>0)return F=e,0;if(0|(A=0|i[5907])&&(b=(s=0|i[5905])+c|0)>>>0<=s>>>0|b>>>0>A>>>0)return F=e,0;A:do{if(4&i[5908])r=0,B=143;else{n=0|i[5803];e:do{if(n){for(t=23636;!((b=0|i[t>>2])>>>0<=n>>>0&&(b+(0|i[t+4>>2])|0)>>>0>n>>>0);){if(!(A=0|i[t+8>>2])){B=128;break e}t=A}if((r=f-o&a)>>>0<2147483647)if((0|(A=0|ze(0|r)))==((0|i[t>>2])+(0|i[t+4>>2])|0)){if(-1!=(0|A)){o=r,f=A,B=145;break A}}else t=A,B=136;else r=0}else B=128}while(0);do{if(128==(0|B))if(-1!=(0|(n=0|ze(0)))&&(w=(r=(0==((w=(d=0|i[5916])-1|0)&(r=n)|0)?0:(w+r&0-d)-r|0)+c|0)+(d=0|i[5905])|0,r>>>0>g>>>0&r>>>0<2147483647)){if(0|(b=0|i[5907])&&w>>>0<=d>>>0|w>>>0>b>>>0){r=0;break}if((0|(A=0|ze(0|r)))==(0|n)){o=r,f=n,B=145;break A}t=A,B=136}else r=0}while(0);do{if(136==(0|B)){if(n=0-r|0,!(l>>>0>r>>>0&r>>>0<2147483647&-1!=(0|t))){if(-1==(0|t)){r=0;break}o=r,f=t,B=145;break A}if((A=u-r+(A=0|i[5917])&0-A)>>>0>=2147483647){o=r,f=t,B=145;break A}if(-1==(0|ze(0|A))){ze(0|n),r=0;break}o=A+r|0,f=t,B=145;break A}}while(0);i[5908]=4|i[5908],B=143}}while(0);if(143==(0|B)&&c>>>0<2147483647&&!(-1==(0|(m=0|ze(0|c)))|1^(D=(k=(w=0|ze(0))-m|0)>>>0>(g+40|0)>>>0)|m>>>0<w>>>0&-1!=(0|m)&-1!=(0|w)^1)&&(o=D?k:r,f=m,B=145),145==(0|B)){i[5905]=r=(0|i[5905])+o|0,r>>>0>(0|i[5906])>>>0&&(i[5906]=r),u=0|i[5803];A:do{if(u){for(r=23636;;){if((0|f)==((A=0|i[r>>2])+(n=0|i[r+4>>2])|0)){B=154;break}if(!(t=0|i[r+8>>2]))break;r=t}if(154==(0|B)&&(E=r+4|0,0==(8&i[r+12>>2]|0))&&f>>>0>u>>>0&A>>>0<=u>>>0){i[E>>2]=n+o,E=u+(m=0==(7&(m=u+8|0)|0)?0:0-m&7)|0,m=(Q=(0|i[5800])+o|0)-m|0,i[5803]=E,i[5800]=m,i[E+4>>2]=1|m,i[u+Q+4>>2]=40,i[5804]=i[5919];break}for(f>>>0<(0|i[5801])>>>0&&(i[5801]=f),n=f+o|0,r=23636;;){if((0|i[r>>2])==(0|n)){B=162;break}if(!(A=0|i[r+8>>2]))break;r=A}if(162==(0|B)&&0==(8&i[r+12>>2]|0)){i[r>>2]=f,i[(s=r+4|0)>>2]=(0|i[s>>2])+o,c=(s=f+(0==(7&(s=f+8|0)|0)?0:0-s&7)|0)+g|0,l=(r=n+(0==(7&(r=n+8|0)|0)?0:0-r&7)|0)-s-g|0,i[s+4>>2]=3|g;e:do{if((0|u)==(0|r))i[5800]=Q=(0|i[5800])+l|0,i[5803]=c,i[c+4>>2]=1|Q;else{if((0|i[5802])==(0|r)){i[5799]=Q=(0|i[5799])+l|0,i[5802]=c,i[c+4>>2]=1|Q,i[c+Q>>2]=Q;break}if(1==(3&(A=0|i[r+4>>2])|0)){o=-8&A,t=A>>>3;r:do{if(A>>>0<256){if((0|(n=0|i[r+12>>2]))==(0|(A=0|i[r+8>>2]))){i[5797]=i[5797]&~(1<<t);break}i[A+12>>2]=n,i[n+8>>2]=A;break}f=0|i[r+24>>2],A=0|i[r+12>>2];do{if((0|A)==(0|r)){if(A=0|i[(t=4+(n=r+16|0)|0)>>2])n=t;else if(!(A=0|i[n>>2])){A=0;break}for(;;)if(t=0|i[(a=A+20|0)>>2])A=t,n=a;else{if(!(t=0|i[(a=A+16|0)>>2]))break;A=t,n=a}i[n>>2]=0}else i[12+(Q=0|i[r+8>>2])>>2]=A,i[A+8>>2]=Q}while(0);if(!f)break;t=23492+((n=0|i[r+28>>2])<<2)|0;do{if((0|i[t>>2])==(0|r)){if(i[t>>2]=A,0|A)break;i[5798]=i[5798]&~(1<<n);break r}if(i[((0|i[(Q=f+16|0)>>2])==(0|r)?Q:f+20|0)>>2]=A,!A)break r}while(0);if(i[A+24>>2]=f,0|(t=0|i[(n=r+16|0)>>2])&&(i[A+16>>2]=t,i[t+24>>2]=A),!(n=0|i[n+4>>2]))break;i[A+20>>2]=n,i[n+24>>2]=A}while(0);r=r+o|0,a=o+l|0}else a=l;if(i[(r=r+4|0)>>2]=-2&i[r>>2],i[c+4>>2]=1|a,i[c+a>>2]=a,r=a>>>3,a>>>0<256){n=23228+(r<<1<<2)|0,(A=0|i[5797])&(r=1<<r)?r=0|i[(A=n+8|0)>>2]:(i[5797]=A|r,r=n,A=n+8|0),i[A>>2]=c,i[r+12>>2]=c,i[c+8>>2]=r,i[c+12>>2]=n;break}r=a>>>8;do{if(r){if(a>>>0>16777215){t=31;break}t=a>>>(7+(t=14-((m=(520192+(Q=r<<(E=(r+1048320|0)>>>16&8))|0)>>>16&4)|E|(t=(245760+(Q<<=m)|0)>>>16&2))+(Q<<t>>>15)|0)|0)&1|t<<1}else t=0}while(0);if(r=23492+(t<<2)|0,i[c+28>>2]=t,i[4+(A=c+16|0)>>2]=0,i[A>>2]=0,!((A=0|i[5798])&(n=1<<t))){i[5798]=A|n,i[r>>2]=c,i[c+24>>2]=r,i[c+12>>2]=c,i[c+8>>2]=c;break}r=0|i[r>>2];r:do{if((-8&i[r+4>>2]|0)!=(0|a)){for(t=a<<(31==(0|t)?0:25-(t>>>1)|0);A=0|i[(n=r+16+(t>>>31<<2)|0)>>2];){if((-8&i[A+4>>2]|0)==(0|a)){r=A;break r}t<<=1,r=A}i[n>>2]=c,i[c+24>>2]=r,i[c+12>>2]=c,i[c+8>>2]=c;break e}}while(0);i[12+(Q=0|i[(E=r+8|0)>>2])>>2]=c,i[E>>2]=c,i[c+8>>2]=Q,i[c+12>>2]=r,i[c+24>>2]=0}}while(0);return F=e,0|s+8}for(r=23636;!((A=0|i[r>>2])>>>0<=u>>>0&&(Q=A+(0|i[r+4>>2])|0)>>>0>u>>>0);)r=0|i[r+8>>2];r=(A=(A=(a=Q+-47|0)+(0==(7&(A=a+8|0)|0)?0:0-A&7)|0)>>>0<(a=u+16|0)>>>0?u:A)+8|0,E=f+(m=0==(7&(m=f+8|0)|0)?0:0-m&7)|0,m=(n=o+-40|0)-m|0,i[5803]=E,i[5800]=m,i[E+4>>2]=1|m,i[f+n+4>>2]=40,i[5804]=i[5919],i[(n=A+4|0)>>2]=27,i[r>>2]=i[5909],i[r+4>>2]=i[5910],i[r+8>>2]=i[5911],i[r+12>>2]=i[5912],i[5909]=f,i[5910]=o,i[5912]=0,i[5911]=r,r=A+24|0;do{E=r,i[(r=r+4|0)>>2]=7}while((E+8|0)>>>0<Q>>>0);if((0|A)!=(0|u)){if(f=A-u|0,i[n>>2]=-2&i[n>>2],i[u+4>>2]=1|f,i[A>>2]=f,r=f>>>3,f>>>0<256){n=23228+(r<<1<<2)|0,(A=0|i[5797])&(r=1<<r)?r=0|i[(A=n+8|0)>>2]:(i[5797]=A|r,r=n,A=n+8|0),i[A>>2]=u,i[r+12>>2]=u,i[u+8>>2]=r,i[u+12>>2]=n;break}if(n=23492+((t=(r=f>>>8)?f>>>0>16777215?31:f>>>(7+(t=14-((m=(520192+(Q=r<<(E=(r+1048320|0)>>>16&8))|0)>>>16&4)|E|(t=(245760+(Q<<=m)|0)>>>16&2))+(Q<<t>>>15)|0)|0)&1|t<<1:0)<<2)|0,i[u+28>>2]=t,i[u+20>>2]=0,i[a>>2]=0,!((r=0|i[5798])&(A=1<<t))){i[5798]=r|A,i[n>>2]=u,i[u+24>>2]=n,i[u+12>>2]=u,i[u+8>>2]=u;break}r=0|i[n>>2];e:do{if((-8&i[r+4>>2]|0)!=(0|f)){for(t=f<<(31==(0|t)?0:25-(t>>>1)|0);A=0|i[(n=r+16+(t>>>31<<2)|0)>>2];){if((-8&i[A+4>>2]|0)==(0|f)){r=A;break e}t<<=1,r=A}i[n>>2]=u,i[u+24>>2]=r,i[u+12>>2]=u,i[u+8>>2]=u;break A}}while(0);i[12+(Q=0|i[(E=r+8|0)>>2])>>2]=u,i[E>>2]=u,i[u+8>>2]=Q,i[u+12>>2]=r,i[u+24>>2]=0}}else 0==(0|(Q=0|i[5801]))|f>>>0<Q>>>0&&(i[5801]=f),i[5909]=f,i[5910]=o,i[5912]=0,i[5806]=i[5915],i[5805]=-1,i[5810]=23228,i[5809]=23228,i[5812]=23236,i[5811]=23236,i[5814]=23244,i[5813]=23244,i[5816]=23252,i[5815]=23252,i[5818]=23260,i[5817]=23260,i[5820]=23268,i[5819]=23268,i[5822]=23276,i[5821]=23276,i[5824]=23284,i[5823]=23284,i[5826]=23292,i[5825]=23292,i[5828]=23300,i[5827]=23300,i[5830]=23308,i[5829]=23308,i[5832]=23316,i[5831]=23316,i[5834]=23324,i[5833]=23324,i[5836]=23332,i[5835]=23332,i[5838]=23340,i[5837]=23340,i[5840]=23348,i[5839]=23348,i[5842]=23356,i[5841]=23356,i[5844]=23364,i[5843]=23364,i[5846]=23372,i[5845]=23372,i[5848]=23380,i[5847]=23380,i[5850]=23388,i[5849]=23388,i[5852]=23396,i[5851]=23396,i[5854]=23404,i[5853]=23404,i[5856]=23412,i[5855]=23412,i[5858]=23420,i[5857]=23420,i[5860]=23428,i[5859]=23428,i[5862]=23436,i[5861]=23436,i[5864]=23444,i[5863]=23444,i[5866]=23452,i[5865]=23452,i[5868]=23460,i[5867]=23460,i[5870]=23468,i[5869]=23468,i[5872]=23476,i[5871]=23476,E=f+(m=0==(7&(m=f+8|0)|0)?0:0-m&7)|0,m=(Q=o+-40|0)-m|0,i[5803]=E,i[5800]=m,i[E+4>>2]=1|m,i[f+Q+4>>2]=40,i[5804]=i[5919]}while(0);if((r=0|i[5800])>>>0>g>>>0)return i[5800]=m=r-g|0,i[5803]=E=(Q=0|i[5803])+g|0,i[E+4>>2]=1|m,i[Q+4>>2]=3|g,F=e,0|Q+8}return i[(Q=23184)>>2]=12,F=e,0}function he(A){var e=0,r=0,n=0,t=0,a=0,f=0,o=0,l=0;if(A|=0){t=0|i[5801],l=(r=A+-8|0)+(e=-8&(A=0|i[A+-4>>2]))|0;do{if(1&A)o=r,f=r;else{if(!(3&A))return;if(a=(n=0|i[r>>2])+e|0,(f=r+(0-n)|0)>>>0<t>>>0)return;if((0|i[5802])==(0|f)){if(3!=(3&(e=0|i[(A=l+4|0)>>2])|0)){o=f,e=a;break}return i[5799]=a,i[A>>2]=-2&e,i[f+4>>2]=1|a,void(i[f+a>>2]=a)}if(r=n>>>3,n>>>0<256){if((0|(e=0|i[f+12>>2]))==(0|(A=0|i[f+8>>2]))){i[5797]=i[5797]&~(1<<r),o=f,e=a;break}i[A+12>>2]=e,i[e+8>>2]=A,o=f,e=a;break}t=0|i[f+24>>2],A=0|i[f+12>>2];do{if((0|A)==(0|f)){if(A=0|i[(r=4+(e=f+16|0)|0)>>2])e=r;else if(!(A=0|i[e>>2])){A=0;break}for(;;)if(r=0|i[(n=A+20|0)>>2])A=r,e=n;else{if(!(r=0|i[(n=A+16|0)>>2]))break;A=r,e=n}i[e>>2]=0}else i[12+(o=0|i[f+8>>2])>>2]=A,i[A+8>>2]=o}while(0);if(t){if((0|i[(r=23492+((e=0|i[f+28>>2])<<2)|0)>>2])==(0|f)){if(i[r>>2]=A,!A){i[5798]=i[5798]&~(1<<e),o=f,e=a;break}}else if(i[((0|i[(o=t+16|0)>>2])==(0|f)?o:t+20|0)>>2]=A,!A){o=f,e=a;break}i[A+24>>2]=t,0|(r=0|i[(e=f+16|0)>>2])&&(i[A+16>>2]=r,i[r+24>>2]=A),(e=0|i[e+4>>2])?(i[A+20>>2]=e,i[e+24>>2]=A,o=f,e=a):(o=f,e=a)}else o=f,e=a}}while(0);if(!(f>>>0>=l>>>0)&&1&(n=0|i[(A=l+4|0)>>2])){if(2&n)i[A>>2]=-2&n,i[o+4>>2]=1|e,i[f+e>>2]=e,t=e;else{if((0|i[5803])==(0|l)){if(i[5800]=l=(0|i[5800])+e|0,i[5803]=o,i[o+4>>2]=1|l,(0|o)!=(0|i[5802]))return;return i[5802]=0,void(i[5799]=0)}if((0|i[5802])==(0|l))return i[5799]=l=(0|i[5799])+e|0,i[5802]=f,i[o+4>>2]=1|l,void(i[f+l>>2]=l);t=(-8&n)+e|0,r=n>>>3;do{if(n>>>0<256){if((0|(A=0|i[l+12>>2]))==(0|(e=0|i[l+8>>2]))){i[5797]=i[5797]&~(1<<r);break}i[e+12>>2]=A,i[A+8>>2]=e;break}a=0|i[l+24>>2],A=0|i[l+12>>2];do{if((0|A)==(0|l)){if(A=0|i[(r=4+(e=l+16|0)|0)>>2])e=r;else if(!(A=0|i[e>>2])){r=0;break}for(;;)if(r=0|i[(n=A+20|0)>>2])A=r,e=n;else{if(!(r=0|i[(n=A+16|0)>>2]))break;A=r,e=n}i[e>>2]=0,r=A}else i[12+(r=0|i[l+8>>2])>>2]=A,i[A+8>>2]=r,r=A}while(0);if(0|a){if((0|i[(e=23492+((A=0|i[l+28>>2])<<2)|0)>>2])==(0|l)){if(i[e>>2]=r,!r){i[5798]=i[5798]&~(1<<A);break}}else if(i[((0|i[(n=a+16|0)>>2])==(0|l)?n:a+20|0)>>2]=r,!r)break;i[r+24>>2]=a,0|(e=0|i[(A=l+16|0)>>2])&&(i[r+16>>2]=e,i[e+24>>2]=r),0|(A=0|i[A+4>>2])&&(i[r+20>>2]=A,i[A+24>>2]=r)}}while(0);if(i[o+4>>2]=1|t,i[f+t>>2]=t,(0|o)==(0|i[5802]))return void(i[5799]=t)}if(A=t>>>3,t>>>0<256)return r=23228+(A<<1<<2)|0,(e=0|i[5797])&(A=1<<A)?A=0|i[(e=r+8|0)>>2]:(i[5797]=e|A,A=r,e=r+8|0),i[e>>2]=o,i[A+12>>2]=o,i[o+8>>2]=A,void(i[o+12>>2]=r);A=23492+((n=(A=t>>>8)?t>>>0>16777215?31:t>>>(7+(n=14-((a=(520192+(l=A<<(f=(A+1048320|0)>>>16&8))|0)>>>16&4)|f|(n=(245760+(l<<=a)|0)>>>16&2))+(l<<n>>>15)|0)|0)&1|n<<1:0)<<2)|0,i[o+28>>2]=n,i[o+20>>2]=0,i[o+16>>2]=0,e=0|i[5798],r=1<<n;A:do{if(e&r){A=0|i[A>>2];e:do{if((-8&i[A+4>>2]|0)!=(0|t)){for(n=t<<(31==(0|n)?0:25-(n>>>1)|0);e=0|i[(r=A+16+(n>>>31<<2)|0)>>2];){if((-8&i[e+4>>2]|0)==(0|t)){A=e;break e}n<<=1,A=e}i[r>>2]=o,i[o+24>>2]=A,i[o+12>>2]=o,i[o+8>>2]=o;break A}}while(0);i[12+(l=0|i[(f=A+8|0)>>2])>>2]=o,i[f>>2]=o,i[o+8>>2]=l,i[o+12>>2]=A,i[o+24>>2]=0}else i[5798]=e|r,i[A>>2]=o,i[o+24>>2]=A,i[o+12>>2]=o,i[o+8>>2]=o}while(0);if(i[5805]=l=(0|i[5805])-1|0,!(0|l)){for(A=23644;A=0|i[A>>2];)A=A+8|0;i[5805]=-1}}}}function ve(A,e){e|=0;var r=0;return(A|=0)?(r=0|D(e,A),(e|A)>>>0>65535&&(r=(0|(r>>>0)/(A>>>0))==(0|e)?r:-1)):r=0,(A=0|Qe(r))&&3&i[A+-4>>2]?(He(0|A,0,0|r),0|A):0|A}function _e(A,e,r,n){return 0|(Q((e|=0)+(n|=0)+((r=(A|=0)+(r|=0)>>>0)>>>0<A>>>0|0)>>>0|0),0|r)}function Ce(A,e,r,n){return 0|(Q(0|(n=(e|=0)-(n|=0)-((r|=0)>>>0>(A|=0)>>>0|0)>>>0)),A-r>>>0|0)}function Me(A){return 0|((A|=0)?31-(0|E(A^A-1))|0:32)}function ye(A,e,r,n,t){t|=0;var a=0,f=0,o=0,l=0,u=0,c=0,s=0,g=0,b=0,d=0;if(c=A|=0,f=r|=0,o=g=n|=0,!(u=l=e|=0))return a=0!=(0|t),o?a?(i[t>>2]=0|A,i[t+4>>2]=0&e,t=0,0|(Q(0|(g=0)),t)):(t=0,0|(Q(0|(g=0)),t)):(a&&(i[t>>2]=(c>>>0)%(f>>>0),i[t+4>>2]=0),t=(c>>>0)/(f>>>0)>>>0,0|(Q(0|(g=0)),t));a=0==(0|o);do{if(f){if(!a){if((a=(0|E(0|o))-(0|E(0|u))|0)>>>0<=31){f=s=a+1|0,A=c>>>(s>>>0)&(e=a-31>>31)|u<<(o=31-a|0),e&=u>>>(s>>>0),a=0,o=c<<o;break}return t?(i[t>>2]=0|A,i[t+4>>2]=l|0&e,t=0,0|(Q(0|(g=0)),t)):(t=0,0|(Q(0|(g=0)),t))}if((a=f-1|0)&f|0){f=o=33+(0|E(0|f))-(0|E(0|u))|0,A=(s=32-o|0)-1>>31&u>>>((b=o-32|0)>>>0)|(u<<s|c>>>(o>>>0))&(e=b>>31),e&=u>>>(o>>>0),a=c<<(d=64-o|0)&(l=s>>31),o=(u<<d|c>>>(b>>>0))&l|c<<s&o-33>>31;break}return 0|t&&(i[t>>2]=a&c,i[t+4>>2]=0),1==(0|f)?(d=0|A,0|(Q(0|(b=l|0&e)),d)):(b=u>>>((d=0|Me(0|f))>>>0)|0,d=u<<32-d|c>>>(d>>>0)|0,0|(Q(0|b),d))}if(a)return 0|t&&(i[t>>2]=(u>>>0)%(f>>>0),i[t+4>>2]=0),d=(u>>>0)/(f>>>0)>>>0,0|(Q(0|(b=0)),d);if(!c)return 0|t&&(i[t>>2]=0,i[t+4>>2]=(u>>>0)%(o>>>0)),d=(u>>>0)/(o>>>0)>>>0,0|(Q(0|(b=0)),d);if(!((a=o-1|0)&o))return 0|t&&(i[t>>2]=0|A,i[t+4>>2]=a&u|0&e),b=0,d=u>>>((0|Me(0|o))>>>0),0|(Q(0|b),d);if((a=(0|E(0|o))-(0|E(0|u))|0)>>>0<=30){f=e=a+1|0,A=u<<(o=31-a|0)|c>>>(e>>>0),e=u>>>(e>>>0),a=0,o=c<<o;break}return t?(i[t>>2]=0|A,i[t+4>>2]=l|0&e,d=0,0|(Q(0|(b=0)),d)):(d=0,0|(Q(0|(b=0)),d))}while(0);if(f){u=0|_e(0|(s=0|r),0|(c=g|0&n),-1,-1),r=0|h(),l=o,o=0;do{n=l,l=a>>>31|l<<1,a=o|a<<1,Ce(0|u,0|r,0|(n=A<<1|n>>>31|0),0|(g=A>>>31|e<<1|0)),o=1&(b=(d=0|h())>>31|((0|d)<0?-1:0)<<1),A=0|Ce(0|n,0|g,b&s|0,(((0|d)<0?-1:0)>>31|((0|d)<0?-1:0)<<1)&c|0),e=0|h(),f=f-1|0}while(0!=(0|f));u=l,l=0}else u=o,l=0,o=0;return f=0,0|t&&(i[t>>2]=A,i[t+4>>2]=e),d=-2&(a<<1|0)|o,0|(Q(0|(b=(0|a)>>>31|(u|f)<<1|0&(f<<1|a>>>31)|l)),d)}function Ie(A,e,r,n){var i,t,a,f,o;return r|=0,t=(n|=0)>>31|((0|n)<0?-1:0)<<1,i=((0|n)<0?-1:0)>>31|((0|n)<0?-1:0)<<1,a=0|Ce((o=(e|=0)>>31|((0|e)<0?-1:0)<<1)^(A|=0)|0,(f=((0|e)<0?-1:0)>>31|((0|e)<0?-1:0)<<1)^e|0,0|o,0|f),A=t^o,e=i^f,0|Ce((0|ye(a,0|h(),0|Ce(t^r|0,i^n|0,0|t,0|i),0|h(),0))^A|0,(0|h())^e|0,0|A,0|e)}function Fe(A,e,r,n){var i,t;return e|=0,n|=0,r=0|function(A,e){var r,n,i,t=0;return A=((r=0|D(t=65535&(e|=0),i=65535&(A|=0)))>>>16)+(0|D(t,n=A>>>16))|0,e=0|D(t=e>>>16,i),0|(Q((A>>>16)+(0|D(t,n))+(((65535&A)+e|0)>>>16)|0),A+e<<16|65535&r|0)}(i=A|=0,t=r|=0),A=0|h(),0|(Q((0|D(e,t))+(0|D(n,i))+A|0&A|0),0|r)}function pe(A,e,r,n){var t,a,f,o,l,u;return r|=0,t=F,F=F+16|0,o=0|t,u=(n|=0)>>31|((0|n)<0?-1:0)<<1,l=((0|n)<0?-1:0)>>31|((0|n)<0?-1:0)<<1,ye(A=0|Ce((f=(e|=0)>>31|((0|e)<0?-1:0)<<1)^(A|=0)|0,(a=((0|e)<0?-1:0)>>31|((0|e)<0?-1:0)<<1)^e|0,0|f,0|a),e=0|h(),0|Ce(u^r|0,l^n|0,0|u,0|l),0|h(),o),n=0|Ce(i[o>>2]^f|0,i[o+4>>2]^a|0,0|f,0|a),r=0|h(),F=t,0|(Q(0|r),n)}function Pe(A,e,r,n){var t,a;return a=F,F=F+16|0,ye(A|=0,e|=0,r|=0,n|=0,t=0|a),F=a,0|(Q(0|i[t+4>>2]),0|i[t>>2])}function Te(A,e,r){return A|=0,e|=0,(0|(r|=0))<32?(Q(e>>r|0),A>>>r|(e&(1<<r)-1)<<32-r):(Q(0|((0|e)<0?-1:0)),e>>r-32|0)}function Ge(A,e,r){return A|=0,e|=0,(0|(r|=0))<32?(Q(e>>>r|0),A>>>r|(e&(1<<r)-1)<<32-r):(Q(0),e>>>r-32|0)}function Le(A,e,r){return A|=0,(0|(r|=0))<32?(Q((e|=0)<<r|(A&(1<<r)-1<<32-r)>>>32-r|0),A<<r):(Q(A<<r-32|0),0)}function Ue(A,e){return e=+e,(A=+A)!=A?+e:e!=e?+A:+m(+A,+e)}function xe(A){return(A=+A)>=0?+f(A+.5):+k(A-.5)}function Re(A,e,r){A|=0,e|=0;var t,a,f=0;if((0|(r|=0))>=8192)return M(0|A,0|e,0|r),0|A;if(a=0|A,t=A+r|0,(3&A)==(3&e)){for(;3&A;){if(!r)return 0|a;n[A>>0]=0|n[e>>0],A=A+1|0,e=e+1|0,r=r-1|0}for(f=(r=-4&t|0)-64|0;(0|A)<=(0|f);)i[A>>2]=i[e>>2],i[A+4>>2]=i[e+4>>2],i[A+8>>2]=i[e+8>>2],i[A+12>>2]=i[e+12>>2],i[A+16>>2]=i[e+16>>2],i[A+20>>2]=i[e+20>>2],i[A+24>>2]=i[e+24>>2],i[A+28>>2]=i[e+28>>2],i[A+32>>2]=i[e+32>>2],i[A+36>>2]=i[e+36>>2],i[A+40>>2]=i[e+40>>2],i[A+44>>2]=i[e+44>>2],i[A+48>>2]=i[e+48>>2],i[A+52>>2]=i[e+52>>2],i[A+56>>2]=i[e+56>>2],i[A+60>>2]=i[e+60>>2],A=A+64|0,e=e+64|0;for(;(0|A)<(0|r);)i[A>>2]=i[e>>2],A=A+4|0,e=e+4|0}else for(r=t-4|0;(0|A)<(0|r);)n[A>>0]=0|n[e>>0],n[A+1>>0]=0|n[e+1>>0],n[A+2>>0]=0|n[e+2>>0],n[A+3>>0]=0|n[e+3>>0],A=A+4|0,e=e+4|0;for(;(0|A)<(0|t);)n[A>>0]=0|n[e>>0],A=A+1|0,e=e+1|0;return 0|a}function He(A,e,r){e|=0;var t,a=0,f=0,o=0;if(t=(A|=0)+(r|=0)|0,e&=255,(0|r)>=67){for(;3&A;)n[A>>0]=e,A=A+1|0;for(o=e|e<<8|e<<16|e<<24,f=(a=-4&t|0)-64|0;(0|A)<=(0|f);)i[A>>2]=o,i[A+4>>2]=o,i[A+8>>2]=o,i[A+12>>2]=o,i[A+16>>2]=o,i[A+20>>2]=o,i[A+24>>2]=o,i[A+28>>2]=o,i[A+32>>2]=o,i[A+36>>2]=o,i[A+40>>2]=o,i[A+44>>2]=o,i[A+48>>2]=o,i[A+52>>2]=o,i[A+56>>2]=o,i[A+60>>2]=o,A=A+64|0;for(;(0|A)<(0|a);)i[A>>2]=o,A=A+4|0}for(;(0|A)<(0|t);)n[A>>0]=e,A=A+1|0;return t-r|0}function Ve(A){return(A=+A)>=0?+f(A+.5):+k(A-.5)}function ze(A){var e,r,n;return A|=0,n=0|C(),(0|A)>0&(0|(e=(r=0|i[a>>2])+A|0))<(0|r)|(0|e)<0?(I(0|e),_(12),-1):(0|e)>(0|n)&&!(0|y(0|e))?(_(12),-1):(i[a>>2]=e,0|r)}return{___divdi3:Ie,___muldi3:Fe,___remdi3:pe,___uremdi3:Pe,_areNeighborCells:function(A,e,r,n,t){t|=0;var a,f,o=0,l=0,u=0;if(f=F,F=F+64|0,a=f,u=f+56|0,!(!0&134217728==(2013265920&(e|=0)|0)&!0&134217728==(2013265920&(n|=0)|0)))return F=f,5;if((0|(A|=0))==(0|(r|=0))&(0|e)==(0|n))return i[t>>2]=0,F=f,0;if(o=0|Ge(0|A,0|e,52),h(),o&=15,l=0|Ge(0|r,0|n,52),h(),(0|o)!=(15&l|0))return F=f,12;if(l=o+-1|0,o>>>0>1){FA(A,e,l,a),FA(r,n,l,u),l=a;do{if((0|i[l>>2])==(0|i[u>>2])&&(0|i[l+4>>2])==(0|i[u+4>>2])){if(l=0|Ge(0|A,0|e,0|(u=3*(15^o)|0)),h(),l&=7,u=0|Ge(0|r,0|n,0|u),h(),!(0==(0|l)|0==(0|(u&=7))||(0|i[15536+(l<<2)>>2])==(0|u))&&(0|i[15568+(l<<2)>>2])!=(0|u))break;return i[t>>2]=1,F=f,0}}while(0)}l=(o=a)+56|0;do{i[o>>2]=0,o=o+4|0}while((0|o)<(0|l));return p(A,e,1,a),o=(0|i[(e=a)>>2])==(0|r)&&(0|i[e+4>>2])==(0|n)||(0|i[(e=a+8|0)>>2])==(0|r)&&(0|i[e+4>>2])==(0|n)||(0|i[(e=a+16|0)>>2])==(0|r)&&(0|i[e+4>>2])==(0|n)||(0|i[(e=a+24|0)>>2])==(0|r)&&(0|i[e+4>>2])==(0|n)||(0|i[(e=a+32|0)>>2])==(0|r)&&(0|i[e+4>>2])==(0|n)||(0|i[(e=a+40|0)>>2])==(0|r)&&(0|i[e+4>>2])==(0|n)?1:1&((0|i[(o=a+48|0)>>2])==(0|r)?(0|i[o+4>>2])==(0|n):0),i[t>>2]=o,F=f,0},_bitshift64Ashr:Te,_bitshift64Lshr:Ge,_bitshift64Shl:Le,_calloc:ve,_cellAreaKm2:XA,_cellAreaM2:function(A,e,r){return 0|(A=0|XA(A|=0,e|=0,r|=0))?0|A:(t[r>>3]=1e3*+t[r>>3]*1e3,0|A)},_cellAreaRads2:function(A,e,r){r|=0;var n,a,f,o=0,l=0;if(f=F,F=F+192|0,a=f,0|(l=0|SA(A|=0,e|=0,n=f+168|0)))return F=f,0|l;if(0|(A=0|YA(A,e,a)))return F=f,0|A;if((0|(e=0|i[a>>2]))>0){if(o=+jA(a+8|0,a+8+((1!=(0|e)&1)<<4)|0,n)+0,1!=(0|e)){A=1;do{o+=+jA(a+8+((l=A)<<4)|0,a+8+(((0|(A=A+1|0))%(0|e)|0)<<4)|0,n)}while((0|A)<(0|e))}}else o=0;return t[r>>3]=o,F=f,0},_cellToBoundary:YA,_cellToCenterChild:function(A,e,r,n){r|=0,n|=0;var t=0;return t=0|Ge(0|(A|=0),0|(e|=0),52),h(),(0|r)<16&(0|(t&=15))<=(0|r)?((0|t)<(0|r)&&(t=0|Le(-1,-1,3+(3*(r+-1-t|0)|0)|0),t=0|Le(0|~t,0|~(0|h()),3*(15-r|0)|0),e=~(0|h())&e,A&=~t),t=0|Le(0|r,0,52),r=-15728641&e|0|h(),i[n>>2]=A|t,i[n+4>>2]=r,0|(n=0)):0|(n=4)},_cellToChildren:function(A,e,r,n){n|=0;var t,a,f=0,o=0;if(a=F,F=F+16|0,NA(t=a,A|=0,e|=0,r|=0),0==(0|(A=0|i[(e=t)>>2]))&0==(0|(e=0|i[e+4>>2])))return F=a,0;f=0,r=0;do{i[(o=n+(f<<3)|0)>>2]=A,i[o+4>>2]=e,f=0|_e(0|f,0|r,1,0),r=0|h(),ZA(t),A=0|i[(o=t)>>2],e=0|i[o+4>>2]}while(!(0==(0|A)&0==(0|e)));return F=a,0},_cellToChildrenSize:pA,_cellToLatLng:SA,_cellToLocalIj:function(A,e,r,n,i,t){var a,f;return A|=0,t|=0,f=F,F=F+16|0,a=f,(i|=0)?A=15:(A=0|re(A,e|=0,r|=0,n|=0,a))||(bA(a,t),A=0),F=f,0|A},_cellToParent:FA,_cellToVertex:ge,_cellToVertexes:function(A,e,r){r|=0;var n,t=0,a=0;return a=0==(0|PA(A|=0,e|=0)),n=0==(0|(t=0|ge(A,e,0,r))),a?n?0|(t=0|ge(A,e,1,r+8|0))?0|(a=t):0|(t=0|ge(A,e,2,r+16|0))?0|(a=t):0|(t=0|ge(A,e,3,r+24|0))?0|(a=t):(t=0|ge(A,e,4,r+32|0))?0|(a=t):0|ge(A,e,5,r+40|0):0|(a=t):n?0|(t=0|ge(A,e,1,r+8|0))?0|(a=t):0|(t=0|ge(A,e,2,r+16|0))?0|(a=t):0|(t=0|ge(A,e,3,r+24|0))?0|(a=t):0|(t=0|ge(A,e,4,r+32|0))?0|(a=t):(i[(a=r+40|0)>>2]=0,i[a+4>>2]=0,0|(a=0)):0|(a=t)},_cellsToDirectedEdge:function(A,e,r,n,t){return t|=0,7==(0|(r=0|L(A|=0,e|=0,r|=0,n|=0)))?0|(t=11):(n=0|Le(0|r,0,56),e=-2130706433&e|0|h()|268435456,i[t>>2]=A|n,i[t+4>>2]=e,0|(t=0))},_cellsToLinkedMultiPolygon:function(A,e,r){r|=0;var n,t,a,f=0;if(t=F,F=F+32|0,n=t,0|(A=0|function(A,e,r){A|=0,r|=0;var n,t,a=0,f=0,o=0,l=0,u=0,c=0;if(t=F,F=F+176|0,n=t,(0|(e|=0))<1)return be(r,0,0),F=t,0;for(u=0|Ge(0|i[(u=A)>>2],0|i[u+4>>2],52),h(),be(r,(0|e)>6?e:6,15&u),u=0;!(0|(a=0|YA(0|i[(a=A+(u<<3)|0)>>2],0|i[a+4>>2],n)));){if((0|(a=0|i[n>>2]))>0){l=0;do{o=n+8+(l<<4)|0,(f=0|De(r,a=n+8+(((0|(l=l+1|0))%(0|a)|0)<<4)|0,o))?Be(r,f):ke(r,o,a),a=0|i[n>>2]}while((0|l)<(0|a))}if((0|(u=u+1|0))>=(0|e)){a=0,c=13;break}}return 13==(0|c)?(F=t,0|a):(de(r),F=t,0|(c=a))}(A|=0,e|=0,a=t+16|0)))return F=t,0|A;if(i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,0|(A=0|we(a)))do{e=0|qA(r);do{$A(e,A),i[n>>2]=i[(f=A+16|0)>>2],i[n+4>>2]=i[f+4>>2],i[n+8>>2]=i[f+8>>2],i[n+12>>2]=i[f+12>>2],Be(a,A),A=0|me(a,n)}while(0!=(0|A));A=0|we(a)}while(0!=(0|A));return 0|Ae(r)?(F=t,0|(f=1)):(de(a),F=t,0|(f=0))},_compactCells:function(A,e,r,n){e|=0;var t,a=0,f=0,o=0,l=0,u=0,c=0,s=0,g=0,b=0,d=0,w=0,B=0,k=0,D=0,m=0,E=0,Q=0,v=0,_=0,C=0;if(0==(0|(r|=0))&0==(0|(n|=0)))return 0;if(f=0|i[(a=A|=0)>>2],!0&0==(15728640&(a=0|i[a+4>>2])|0)){if(!((0|n)>0|0==(0|n)&r>>>0>0))return 0;if(i[(_=e)>>2]=f,i[_+4>>2]=a,1==(0|r)&0==(0|n))return 0;a=1;do{v=0|i[4+(Q=A+(a<<3)|0)>>2],i[(_=e+(a<<3)|0)>>2]=i[Q>>2],i[_+4>>2]=v,a=a+1|0}while(0<(0|n)|0==(0|n)&a>>>0<r>>>0);return 0}if(!(v=0|Qe(t=r<<3)))return 13;if(Re(0|v,0|A,0|t),!(Q=0|ve(r,8)))return he(v),13;A:do{if(0|r){e:for(;;){m=0|Ge(0|(D=0|i[(a=v)>>2]),0|(a=0|i[a+4>>2]),52),h(),E=(m&=15)-1|0,k=(0|r)>0;r:do{if(k){if(d=((0|r)<0)<<31>>31,w=0|Le(0|E,0,52),B=0|h(),E>>>0>15){if(!(0==(0|D)&0==(0|a))){_=17;break e}for(f=0;;){if((0|(f=f+1|0))>=(0|r))break r;if(!(0==(0|(B=0|i[(n=v+(f<<3)|0)>>2]))&0==(0|(n=0|i[n+4>>2])))){a=n,_=17;break e}}}for(f=0,A=D,n=a;;){if(!(0==(0|A)&0==(0|n))){if(!(!0&0==(117440512&n|0))){_=22;break e}if(l=0|Ge(0|A,0|n,52),h(),(0|(l&=15))<(0|E)){a=12,_=28;break e}if((0|l)!=(0|E)&&(A|=w,n=-15728641&n|B,l>>>0>=m>>>0)){o=E;do{b=0|Le(7,0,3*(14-o|0)|0),o=o+1|0,A|=b,n=0|h()|n}while(o>>>0<l>>>0)}if(o=0|Pe(0|A,0|n,0|r,0|d),h(),0==(0|(u=0|i[(l=c=Q+(o<<3)|0)>>2]))&0==(0|(l=0|i[l+4>>2])))o=c;else for(b=0;;){if((0|b)>(0|r)){_=32;break e}if((0|u)==(0|A)&(-117440513&l|0)==(0|n)){s=0|Ge(0|u,0|l,56),h(),g=1+(s&=7)|0,C=0|Ge(0|u,0|l,45),h();n:do{if(0|x(127&C)){if(u=0|Ge(0|u,0|l,52),h(),!(u&=15)){l=6;break}for(l=1;;){if(!(0==((C=0|Le(7,0,3*(15-l|0)|0))&A|0)&0==((0|h())&n|0))){l=7;break n}if(!(l>>>0<u>>>0)){l=6;break}l=l+1|0}}else l=7}while(0);if((s+2|0)>>>0>l>>>0){_=42;break e}C=0|Le(0|g,0,56),n=0|h()|-117440513&n,i[(g=c)>>2]=0,i[g+4>>2]=0,A|=C}else o=(o+1|0)%(0|r)|0;if(0==(0|(u=0|i[(l=c=Q+(o<<3)|0)>>2]))&0==(0|(l=0|i[l+4>>2]))){o=c;break}b=b+1|0}i[(C=o)>>2]=A,i[C+4>>2]=n}if((0|(f=f+1|0))>=(0|r))break r;A=0|i[(n=v+(f<<3)|0)>>2],n=0|i[n+4>>2]}}}while(0);if((r+5|0)>>>0<11){_=85;break}if(!(B=0|ve((0|r)/6|0,8))){_=49;break}r:do{if(k){b=0,g=0;do{if(!(0==(0|(f=0|i[(n=l=Q+(b<<3)|0)>>2]))&0==(0|(n=0|i[n+4>>2])))){u=0|Ge(0|f,0|n,56),h(),A=1+(u&=7)|0,c=-117440513&n,C=0|Ge(0|f,0|n,45),h();n:do{if(0|x(127&C)){if(s=0|Ge(0|f,0|n,52),h(),0|(s&=15))for(o=1;;){if(!(0==(f&(C=0|Le(7,0,3*(15-o|0)|0))|0)&0==(c&(0|h())|0)))break n;if(!(o>>>0<s>>>0))break;o=o+1|0}f|=n=0|Le(0|A,0,56),n=0|h()|c,i[(A=l)>>2]=f,i[A+4>>2]=n,A=u+2|0}}while(0);7==(0|A)&&(i[(C=B+(g<<3)|0)>>2]=f,i[C+4>>2]=-117440513&n,g=g+1|0)}b=b+1|0}while((0|b)!=(0|r));if(k){if(b=((0|r)<0)<<31>>31,d=0|Le(0|E,0,52),w=0|h(),E>>>0>15){if(!(0==(0|D)&0==(0|a))){a=4,_=75;break e}for(a=0;;){if((0|(a=a+1|0))>=(0|r)){f=0,a=g;break r}if(!(0==(0|i[(C=v+(a<<3)|0)>>2])&0==(0|i[C+4>>2]))){a=4,_=75;break e}}}for(s=0,f=0,c=D;;){do{if(!(0==(0|c)&0==(0|a))){if(l=0|Ge(0|c,0|a,52),h(),(0|(l&=15))<(0|E)){a=12,_=75;break e}do{if((0|l)==(0|E))n=c,l=a;else{if(n=c|d,A=-15728641&a|w,l>>>0<m>>>0){l=A;break}o=E;do{C=0|Le(7,0,3*(14-o|0)|0),o=o+1|0,n|=C,A=0|h()|A}while(o>>>0<l>>>0);l=A}}while(0);for(o=0|Pe(0|n,0|l,0|r,0|b),h(),A=0;;){if((0|A)>(0|r)){_=78;break e}if((-117440513&(u=0|i[4+(C=Q+(o<<3)|0)>>2])|0)==(0|l)&&(0|i[C>>2])==(0|n)){_=80;break}if((0|i[(C=Q+((o=(o+1|0)%(0|r)|0)<<3)|0)>>2])==(0|n)&&(0|i[C+4>>2])==(0|l))break;A=A+1|0}if(80==(0|_)&&(_=0,!0&100663296==(117440512&u|0)))break;i[(C=e+(f<<3)|0)>>2]=c,i[C+4>>2]=a,f=f+1|0}}while(0);if((0|(a=s+1|0))>=(0|r)){a=g;break r}s=a,c=0|i[(C=v+(a<<3)|0)>>2],a=0|i[C+4>>2]}}else f=0,a=g}else f=0,a=0}while(0);if(He(0|Q,0,0|t),Re(0|v,0|B,a<<3|0),he(B),!a)break A;e=e+(f<<3)|0,r=a}if(17==(0|_))!0&0==(117440512&a|0)?(a=4,_=28):_=22;else{if(32==(0|_))return he(v),he(Q),1;if(42==(0|_))return he(v),he(Q),10;if(49==(0|_))return he(v),he(Q),13;if(75==(0|_))return he(v),he(Q),0|a;if(78==(0|_))return he(B),he(v),he(Q),1;if(85==(0|_)){Re(0|e,0|v,r<<3|0);break}}if(22==(0|_))return he(v),he(Q),5;if(28==(0|_))return he(v),he(Q),0|a}}while(0);return he(v),he(Q),0},_destroyLinkedMultiPolygon:function(A){var e=0,r=0,n=0,t=0;if(A|=0)for(n=1;;){if(0|(e=0|i[A>>2]))do{if(0|(r=0|i[e>>2]))do{t=r,r=0|i[r+16>>2],he(t)}while(0!=(0|r));t=e,e=0|i[e+8>>2],he(t)}while(0!=(0|e));if(e=A,A=0|i[A+8>>2],n||he(e),!A)break;n=0}},_directedEdgeToBoundary:kA,_directedEdgeToCells:function(A,e,r){A|=0;var n,t,a,f=0;return n=F,F=F+16|0,f=n,!0&268435456==(2013265920&(e|=0)|0)?(t=-2130706433&e|134217728,i[(a=r|=0)>>2]=A,i[a+4>>2]=t,i[f>>2]=0,e=0|Ge(0|A,0|e,56),h(),f=0|G(A,t,7&e,f,r+8|0),F=n,0|f):(F=n,0|(f=6))},_emscripten_replace_memory:function(A){return n=new Int8Array(A),new Uint8Array(A),i=new Int32Array(A),new Float32Array(A),t=new Float64Array(A),r=A,!0},_exactEdgeLengthKm:function(A,e,r){r|=0;var n,a=0,f=0,o=0,u=0,g=0,b=0,d=0;if(n=F,F=F+176|0,0|(A=0|kA(A|=0,e|=0,u=n)))return u=A,o=+t[r>>3],t[r>>3]=o*=6371.007180918475,F=n,0|u;if(t[r>>3]=0,(0|(A=0|i[u>>2]))<=1)return u=0,o=0,t[r>>3]=o*=6371.007180918475,F=n,0|u;e=A+-1|0,A=0,a=+t[u+8>>3],f=+t[u+16>>3],o=0;do{b=a,g=f,g=(d=+s(.5*((a=+t[u+8+((A=A+1|0)<<4)>>3])-b)))*d+(g=+s(.5*((f=+t[u+8+(A<<4)+8>>3])-g)))*(+c(+b)*+c(+a)*g),o+=2*+B(+ +l(+g),+ +l(+(1-g)))}while((0|A)!=(0|e));return t[r>>3]=o,u=0,d=o,t[r>>3]=d*=6371.007180918475,F=n,0|u},_exactEdgeLengthM:function(A,e,r){r|=0;var n,a=0,f=0,o=0,u=0,g=0,b=0,d=0;if(n=F,F=F+176|0,0|(A=0|kA(A|=0,e|=0,u=n)))return u=A,o=+t[r>>3],o*=6371.007180918475,t[r>>3]=o*=1e3,F=n,0|u;if(t[r>>3]=0,(0|(A=0|i[u>>2]))<=1)return u=0,o=0,o*=6371.007180918475,t[r>>3]=o*=1e3,F=n,0|u;e=A+-1|0,A=0,a=+t[u+8>>3],f=+t[u+16>>3],o=0;do{b=a,g=f,g=(d=+s(.5*((a=+t[u+8+((A=A+1|0)<<4)>>3])-b)))*d+(g=+s(.5*((f=+t[u+8+(A<<4)+8>>3])-g)))*(+c(+b)*+c(+a)*g),o+=2*+B(+ +l(+g),+ +l(+(1-g)))}while((0|A)!=(0|e));return t[r>>3]=o,u=0,d=o,d*=6371.007180918475,t[r>>3]=d*=1e3,F=n,0|u},_exactEdgeLengthRads:function(A,e,r){r|=0;var n,a,f=0,o=0,u=0,g=0,b=0,d=0;if(n=F,F=F+176|0,0|(A=0|kA(A|=0,e|=0,a=n)))return F=n,0|A;if(t[r>>3]=0,(0|(A=0|i[a>>2]))<=1)return F=n,0;e=A+-1|0,A=0,f=+t[a+8>>3],o=+t[a+16>>3],u=0;do{b=f,g=o,g=(d=+s(.5*((f=+t[a+8+((A=A+1|0)<<4)>>3])-b)))*d+(g=+s(.5*((o=+t[a+8+(A<<4)+8>>3])-g)))*(+c(+f)*+c(+b)*g),u+=2*+B(+ +l(+g),+ +l(+(1-g)))}while((0|A)<(0|e));return t[r>>3]=u,F=n,0},_free:he,_getBaseCellNumber:yA,_getDirectedEdgeDestination:function(A,e,r){A|=0,e|=0,r|=0;var n,t,a=0;return n=F,F=F+16|0,i[(a=n)>>2]=0,!0&268435456==(2013265920&e|0)?(t=0|Ge(0|A,0|e,56),h(),a=0|G(A,-2130706433&e|134217728,7&t,a,r),F=n,0|a):(F=n,0|(a=6))},_getDirectedEdgeOrigin:function(A,e,r){return r|=0,!0&268435456==(2013265920&(e|=0)|0)?(i[r>>2]=A|=0,i[r+4>>2]=-2130706433&e|134217728,0|(r=0)):0|(r=6)},_getHexagonAreaAvgKm2:function(A,e){return e|=0,(A|=0)>>>0>15?0|(e=4):(t[e>>3]=+t[20528+(A<<3)>>3],0|(e=0))},_getHexagonAreaAvgM2:function(A,e){return e|=0,(A|=0)>>>0>15?0|(e=4):(t[e>>3]=+t[20656+(A<<3)>>3],0|(e=0))},_getHexagonEdgeLengthAvgKm:function(A,e){return e|=0,(A|=0)>>>0>15?0|(e=4):(t[e>>3]=+t[20784+(A<<3)>>3],0|(e=0))},_getHexagonEdgeLengthAvgM:function(A,e){return e|=0,(A|=0)>>>0>15?0|(e=4):(t[e>>3]=+t[20912+(A<<3)>>3],0|(e=0))},_getIcosahedronFaces:function A(e,r,n){n|=0;var t,a=0,f=0,o=0,l=0,u=0,c=0,s=0,g=0;t=F,F=F+128|0,s=t+112|0,o=t+96|0,g=t,f=0|Ge(0|(e|=0),0|(r|=0),52),h(),i[s>>2]=u=15&f,l=0|Ge(0|e,0|r,45),h(),l&=127;A:do{if(0|x(l)){if(0|u)for(a=1;;){if(!(0==((c=0|Le(7,0,3*(15-a|0)|0))&e|0)&0==((0|h())&r|0))){f=0;break A}if(!(a>>>0<u>>>0))break;a=a+1|0}if(!(1&f))return c=0|Le(u+1|0,0,52),g=0|h()|-15728641&r,g=0|A((c|e)&~(s=0|Le(7,0,3*(14-u|0)|0)),g&~(0|h()),n),F=t,0|g;f=1}else f=0}while(0);if(!(a=0|zA(e,r,o))){f?(hA(o,s,g),c=5):(MA(o,s,g),c=6);A:do{if(0|x(l))if(u)for(a=1;;){if(!(0==((l=0|Le(7,0,3*(15-a|0)|0))&e|0)&0==((0|h())&r|0))){e=2;break A}if(!(a>>>0<u>>>0)){e=5;break}a=a+1|0}else e=5;else e=2}while(0);He(0|n,-1,e<<2|0);A:do{if(f)for(o=0;;){if(_A(l=g+(o<<4)|0,0|i[s>>2]),-1==(0|(u=0|i[n>>2]))|(0|u)==(0|(l=0|i[l>>2])))a=n;else{f=0;do{if((f=f+1|0)>>>0>=e>>>0){a=1;break A}u=0|i[(a=n+(f<<2)|0)>>2]}while(!(-1==(0|u)|(0|u)==(0|l)))}if(i[a>>2]=l,(o=o+1|0)>>>0>=c>>>0){a=0;break}}else for(o=0;;){if(vA(l=g+(o<<4)|0,0|i[s>>2],0,1),-1==(0|(u=0|i[n>>2]))|(0|u)==(0|(l=0|i[l>>2])))a=n;else{f=0;do{if((f=f+1|0)>>>0>=e>>>0){a=1;break A}u=0|i[(a=n+(f<<2)|0)>>2]}while(!(-1==(0|u)|(0|u)==(0|l)))}if(i[a>>2]=l,(o=o+1|0)>>>0>=c>>>0){a=0;break}}}while(0)}return F=t,0|a},_getNumCells:function(A,e){e|=0;var r=0;return(A|=0)>>>0>15?0|(e=4):(r=0|Fe(0|(r=0|ie(7,0,A,((0|A)<0)<<31>>31)),0|h(),120,0),A=0|h(),i[e>>2]=2|r,i[e+4>>2]=A,0|(e=0))},_getPentagons:OA,_getRes0Cells:function(A){A|=0;var e=0,r=0,n=0;e=0;do{Le(0|e,0,45),n=134225919|h(),i[(r=A+(e<<3)|0)>>2]=-1,i[r+4>>2]=n,e=e+1|0}while(122!=(0|e));return 0},_getResolution:function(A,e){return e=0|Ge(0|(A|=0),0|(e|=0),52),h(),15&e|0},_greatCircleDistanceKm:JA,_greatCircleDistanceM:function(A,e){var r,n,i,a=0;return a=(i=+s(.5*((n=+t[(e|=0)>>3])-(r=+t[(A|=0)>>3]))))*i+(a=+s(.5*(+t[e+8>>3]-+t[A+8>>3])))*(+c(+n)*+c(+r)*a),2*+B(+ +l(+a),+ +l(+(1-a)))*6371.007180918475*1e3},_greatCircleDistanceRads:function(A,e){var r,n,i,a=0;return a=(i=+s(.5*((n=+t[(e|=0)>>3])-(r=+t[(A|=0)>>3]))))*i+(a=+s(.5*(+t[e+8>>3]-+t[A+8>>3])))*(+c(+n)*+c(+r)*a),2*+B(+ +l(+a),+ +l(+(1-a)))},_gridDisk:p,_gridDiskDistances:function(A,e,r,n,i){var t=0,a=0,f=0;return 0|P(A|=0,e|=0,r|=0,n|=0,i|=0)?(f=0|Fe(0|r,0|(t=((0|r)<0)<<31>>31),3,0),a=0|h(),t=0|_e(0|r,0|t,1,0),t=0|_e(0|(t=0|Fe(0|f,0|a,0|t,0|h())),0|h(),1,0),a=0|h(),(0|r)<0?0|(f=2):(He(0|n,0,t<<3|0),0|i?(He(0|i,0,t<<2|0),0|(f=0|T(A,e,r,n,i,t,a,0))):(i=0|ve(t,4))?(f=0|T(A,e,r,n,i,t,a,0),he(i),0|f):0|(f=13))):0|(n=0)},_gridDistance:function(A,e,r,n,t){r|=0,n|=0,t|=0;var a,f,o=0,l=0;return f=F,F=F+32|0,l=f,0|(a=0|re(A|=0,e|=0,A,e,o=f+12|0))?(F=f,0|(l=a)):0|(A=0|re(A,e,r,n,l))?(F=f,0|(l=A)):(o=0|gA(o,l),i[(l=t)>>2]=o,i[l+4>>2]=((0|o)<0)<<31>>31,F=f,0|(l=0))},_gridPathCells:function(A,e,r,n,t){r|=0,n|=0,t|=0;var a,f,l=0,u=0,c=0,s=0,g=0,b=0,d=0,w=0,B=0,k=0,D=0,m=0,E=0,Q=0,v=0,_=0,C=0,M=0;if(a=F,F=F+48|0,c=a+12|0,f=a,!(l=0|re(A|=0,e|=0,A,e,u=a+24|0))&&!(l=0|re(A,e,r,n,c))){if(C=((0|(_=0|gA(u,c)))<0)<<31>>31,i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,i[c>>2]=0,i[c+4>>2]=0,i[c+8>>2]=0,!(l=0|re(A,e,A,e,u))&&!(l=0|re(A,e,r,n,c))){wA(u),wA(c),_?(v=u,n=d=0|i[u>>2],l=w=0|i[(E=u+4|0)>>2],r=B=0|i[(Q=u+8|0)>>2],D=+((0|i[c>>2])-d|0)/(k=+(0|_)),m=+((0|i[c+4>>2])-w|0)/k,k=+((0|i[c+8>>2])-B|0)/k):(E=l=u+4|0,Q=r=u+8|0,v=u,n=0|i[u>>2],l=0|i[l>>2],r=0|i[r>>2],D=0,m=0,k=0),i[f>>2]=n,i[(B=f+4|0)>>2]=l,i[(w=f+8|0)>>2]=r;A:do{if((0|_)<0)l=0;else for(b=0,d=0,l=n;;){M=D*(g=+(d>>>0)+4294967296*+(0|b))+ +(0|l),s=m*g+ +(0|i[E>>2]),g=k*g+ +(0|i[Q>>2]),r=~~+xe(+M),u=~~+xe(+s),l=~~+xe(+g),M=+o(+(+(0|r)-M)),s=+o(+(+(0|u)-s)),g=+o(+(+(0|l)-g));do{if(!(M>s&M>g)){if(c=0-r|0,s>g){n=c-l|0;break}n=u,l=c-u|0;break}r=0-(u+l)|0,n=u}while(0);if(i[f>>2]=r,i[B>>2]=n,i[w>>2]=l,BA(f),0|(l=0|ne(A,e,f,t+(d<<3)|0)))break A;if(!((0|b)<(0|C)|(0|b)==(0|C)&d>>>0<_>>>0)){l=0;break A}l=0|_e(0|d,0|b,1,0),b=c=0|h(),d=l,l=0|i[v>>2]}}while(0)}return F=a,0|l}return F=a,0|l},_gridPathCellsSize:function(A,e,r,n,t){r|=0,n|=0,t|=0;var a,f=0,o=0,l=0;return a=F,F=F+32|0,l=a,(f=0|re(A|=0,e|=0,A,e,o=a+12|0))||(f=0|re(A,e,r,n,l))?(F=a,0|(l=f)):(n=0|_e(0|(n=0|gA(o,l)),((0|n)<0)<<31>>31|0,1,0),o=0|h(),i[(l=t)>>2]=n,i[l+4>>2]=o,F=a,0|(l=0))},_gridRingUnsafe:function(A,e,r,n){e|=0,r|=0,n|=0;var t,a,f=0,o=0,l=0,u=0,c=0,s=0,g=0,b=0,d=0;if(a=F,F=F+16|0,d=a+8|0,i[(b=t=a)>>2]=A|=0,i[b+4>>2]=e,!r)return i[(d=n)>>2]=A,i[d+4>>2]=e,F=a,0;i[d>>2]=0;A:do{if(0|PA(A,e))A=9;else{if(o=(0|r)>0){f=0,b=A;do{if(0|(A=0|G(b,e,4,d,t)))break A;if(f=f+1|0,0|PA(b=0|i[(e=t)>>2],e=0|i[e+4>>2])){A=9;break A}}while((0|f)<(0|r));if(i[(g=n)>>2]=b,i[g+4>>2]=e,g=r+-1|0,o){s=0,A=1;do{if(f=22384+(s<<2)|0,5==(0|s))for(l=0|i[f>>2],o=0,f=A;;){if(0|(A=0|G(0|i[(A=t)>>2],0|i[A+4>>2],l,d,t)))break A;if((0|o)!=(0|g)){if(u=0|i[(c=t)>>2],c=0|i[c+4>>2],i[(A=n+(f<<3)|0)>>2]=u,i[A+4>>2]=c,0|PA(u,c)){A=9;break A}A=f+1|0}else A=f;if((0|(o=o+1|0))>=(0|r))break;f=A}else for(c=0|i[f>>2],u=0,f=A,o=0|i[(l=t)>>2],l=0|i[l+4>>2];;){if(0|(A=0|G(o,l,c,d,t)))break A;if(o=0|i[(l=t)>>2],l=0|i[l+4>>2],i[(A=n+(f<<3)|0)>>2]=o,i[A+4>>2]=l,A=f+1|0,0|PA(o,l)){A=9;break A}if((0|(u=u+1|0))>=(0|r))break;f=A}s=s+1|0}while(s>>>0<6);l=b,f=0|i[(A=t)>>2],o=e,A=0|i[A+4>>2]}else l=b,f=b,o=e,A=e}else i[(l=n)>>2]=A,i[l+4>>2]=e,l=A,f=A,o=e,A=e;A=(0|l)==(0|f)&(0|o)==(0|A)?0:9}}while(0);return F=a,0|A},_i64Add:_e,_i64Subtract:Ce,_isPentagon:PA,_isResClassIII:function(A,e){return e=0|Ge(0|(A|=0),0|(e|=0),52),h(),1&e|0},_isValidCell:IA,_isValidDirectedEdge:function(A,e){var r=0;switch(r=0|Ge(0|(A|=0),0|(e|=0),56),h(),7&r){case 0:case 7:return 0}return r=-2130706433&e|134217728,!0&268435456==(2013265920&e|0)?!0&16777216==(117440512&e|0)&0!=(0|PA(A,r))?0|(r=0):0|(r=0|IA(A,r)):0|(r=0)},_isValidVertex:function(A,e){A|=0;var r,n,t=0,a=0;return n=F,F=F+16|0,r=n,!0&536870912==(2013265920&(e|=0)|0)&&0|IA(A,t=-2130706433&e|134217728)?(a=0|Ge(0|A,0|e,56),h(),a=0==(0|ge(A,t,7&a,r)),F=n,0|(t=a&((0|i[(t=r)>>2])==(0|A)?(0|i[t+4>>2])==(0|e):0)&1)):(F=n,0|(t=0))},_latLngToCell:HA,_llvm_minnum_f64:Ue,_llvm_round_f64:xe,_localIjToCell:function(A,e,r,n,i){var t,a;return A|=0,e|=0,i|=0,a=F,F=F+16|0,t=a,(n|=0)?A=15:(dA(r|=0,t),A=0|ne(A,e,t,i)),F=a,0|A},_malloc:Qe,_maxFaceCount:function(A,e,r){r|=0;var n=0,t=0;if(t=0|Ge(0|(A|=0),0|(e|=0),45),h(),!(0|x(127&t)))return i[r>>2]=t=2,0;if(t=0|Ge(0|A,0|e,52),h(),!(t&=15))return i[r>>2]=t=5,0;for(n=1;;){if(!(0==((0|Le(7,0,3*(15-n|0)|0))&A|0)&0==((0|h())&e|0))){n=2,A=6;break}if(!(n>>>0<t>>>0)){n=5,A=6;break}n=n+1|0}return 6==(0|A)?(i[r>>2]=n,0):0},_maxGridDiskSize:function(A,e){e|=0;var r,n,t=0,a=0;return t=((0|(A|=0))<0)<<31>>31,(0|A)<0?0|(t=2):(n=0|Fe(0|A,0|t,3,0),r=0|h(),a=0|_e(0|A,0|t,1,0),a=0|_e(0|(a=0|Fe(0|n,0|r,0|a,0|h())),0|h(),1,0),A=0|h(),i[(t=e)>>2]=a,i[t+4>>2]=A,0|(t=0))},_maxPolygonToCellsSize:function(A,e,r,n){e|=0,n|=0;var t,a=0,f=0,o=0,l=0;if(t=F,F=F+48|0,a=t+8|0,0|(r|=0))return F=t,15;if(l=0|i[4+(r=A|=0)>>2],i[(o=f=t)>>2]=i[r>>2],i[o+4>>2]=l,ae(f,a),o=0|Z(a,e),l=0|h(),e=0|i[f>>2],(0|(f=0|i[A+8>>2]))>0){a=0|i[A+12>>2],r=0;do{e=(0|i[a+(r<<3)>>2])+e|0,r=r+1|0}while((0|r)<(0|f))}return o=0|_e(0|((f=(0|l)<(0|(A=((0|e)<0)<<31>>31))|(0|l)==(0|A)&o>>>0<e>>>0)?e:o),0|(f?A:l),12,0),l=0|h(),i[n>>2]=o,i[n+4>>2]=l,F=t,0},_memcpy:Re,_memset:He,_originToDirectedEdges:function(A,e,r){r|=0;var n,t=0;return n=0==(0|PA(A|=0,e|=0)),e&=-2130706433,i[(t=r)>>2]=n?A:0,i[t+4>>2]=n?285212672|e:0,i[(t=r+8|0)>>2]=A,i[t+4>>2]=301989888|e,i[(t=r+16|0)>>2]=A,i[t+4>>2]=318767104|e,i[(t=r+24|0)>>2]=A,i[t+4>>2]=335544320|e,i[(t=r+32|0)>>2]=A,i[t+4>>2]=352321536|e,i[(r=r+40|0)>>2]=A,i[r+4>>2]=369098752|e,0},_pentagonCount:function(){return 12},_polygonToCells:function(A,e,r,n){e|=0,n|=0;var t,a,f,o,l,u=0,c=0,s=0,g=0,b=0,d=0,w=0,B=0,k=0,D=0,m=0,E=0,Q=0,v=0,_=0,C=0,M=0,y=0,I=0,p=0,G=0,L=0,x=0,R=0,H=0,V=0;if(o=F,F=F+112|0,t=o+80|0,w=o+72|0,a=o,f=o+56|0,0|(r|=0))return F=o,15;if(!(l=0|Qe(32+(i[(B=8+(A|=0)|0)>>2]<<5)|0)))return F=o,13;if(fe(A,l),b=0|i[(r=A)+4>>2],i[(g=w)>>2]=i[r>>2],i[g+4>>2]=b,ae(w,t),g=0|Z(t,e),b=0|h(),r=0|i[w>>2],(0|(c=0|i[B>>2]))>0){s=0|i[A+12>>2],u=0;do{r=(0|i[s+(u<<3)>>2])+r|0,u=u+1|0}while((0|u)!=(0|c))}if(H=0|_e(0|(d=(V=(0|b)<(0|(H=((0|r)<0)<<31>>31))|(0|b)==(0|H)&g>>>0<r>>>0)?r:g),0|(g=V?H:b),12,0),V=0|h(),!(u=0|ve(H,8)))return he(l),F=o,13;if(!(b=0|ve(H,8)))return he(l),he(u),F=o,13;i[(x=t)>>2]=0,i[x+4>>2]=0,R=0|i[(x=A)+4>>2],i[(r=w)>>2]=i[x>>2],i[r+4>>2]=R,r=0|U(w,H,V,e,t,u,b);A:do{if(r)he(u),he(b),he(l);else{e:do{if((0|i[B>>2])>0){for(s=A+12|0,c=0;r=0|U((0|i[s>>2])+(c<<3)|0,H,V,e,t,u,b),c=c+1|0,!(0|r);)if((0|c)>=(0|i[B>>2]))break e;he(u),he(b),he(l);break A}}while(0);(0|g)>-1|-1==(0|g)&d>>>0>4294967284&&He(0|b,0,(R=(x=(0|V)>0|0==(0|V)&H>>>0>1)?H:1)<<3|0),x=0|i[(R=t)+4>>2];e:do{if((0|x)>0|0==(0|x)&(0|i[R>>2])>>>0>0){p=u,G=b,L=u,x=b,R=u,r=u,M=u,y=b,I=b,u=b;r:for(;;){for(Q=0,v=0,_=0,C=0,c=0,s=0;;){b=(g=a)+56|0;do{i[g>>2]=0,g=g+4|0}while((0|g)<(0|b));if(0|P(d=0|i[(w=p+(Q<<3)|0)>>2],w=0|i[w+4>>2],1,a,0)){b=(g=a)+56|0;do{i[g>>2]=0,g=g+4|0}while((0|g)<(0|b));0|(g=0|ve(7,4))&&(T(d,w,1,a,g,7,0,0),he(g))}for(E=0;;){D=0|i[(m=a+(E<<3)|0)>>2],m=0|i[m+4>>2];n:do{if(0==(0|D)&0==(0|m))g=c,b=s;else{if(B=0|Pe(0|D,0|m,0|H,0|V),d=0|h(),!(0==(0|(b=0|i[(w=g=n+(B<<3)|0)>>2]))&0==(0|(w=0|i[w+4>>2])))){e=0,k=0;do{if((0|e)>(0|V)|(0|e)==(0|V)&k>>>0>H>>>0)break r;if((0|b)==(0|D)&(0|w)==(0|m)){g=c,b=s;break n}B=0|pe(0|(g=0|_e(0|B,0|d,1,0)),0|h(),0|H,0|V),d=0|h(),k=0|_e(0|k,0|e,1,0),e=0|h(),b=0|i[(w=g=n+(B<<3)|0)>>2],w=0|i[w+4>>2]}while(!(0==(0|b)&0==(0|w)))}0==(0|D)&0==(0|m)?(g=c,b=s):(SA(D,m,f),0|oe(A,l,f)&&(k=0|_e(0|c,0|s,1,0),s=0|h(),i[(e=g)>>2]=D,i[e+4>>2]=m,i[(c=G+(c<<3)|0)>>2]=D,i[c+4>>2]=m,c=k),g=c,b=s)}}while(0);if((E=E+1|0)>>>0>=7)break;c=g,s=b}if(Q=0|_e(0|Q,0|v,1,0),v=0|h(),_=0|_e(0|_,0|C,1,0),C=0|h(),c=0|i[(s=t)>>2],!((0|C)<(0|(s=0|i[s+4>>2]))|(0|C)==(0|s)&_>>>0<c>>>0))break;c=g,s=b}if((0|s)>0|0==(0|s)&c>>>0>0){c=0,s=0;do{i[(C=p+(c<<3)|0)>>2]=0,i[C+4>>2]=0,c=0|_e(0|c,0|s,1,0),s=0|h(),_=0|i[(C=t)+4>>2]}while((0|s)<(0|_)|((0|s)==(0|_)?c>>>0<(0|i[C>>2])>>>0:0))}if(i[(C=t)>>2]=g,i[C+4>>2]=b,!((0|b)>0|0==(0|b)&g>>>0>0))break e;E=u,Q=I,v=R,_=y,C=G,u=M,I=r,y=L,M=E,r=Q,R=x,x=v,L=_,G=p,p=C}he(L),he(x),he(l),r=1;break A}r=b}while(0);he(l),he(u),he(r),r=0}}while(0);return F=o,0|r},_readInt64AsDoubleFromPointer:function(A){return+(+((0|i[(A|=0)>>2])>>>0)+4294967296*+(0|i[A+4>>2]))},_res0CellCount:function(){return 122},_round:Ve,_sbrk:ze,_sizeOfCellBoundary:function(){return 168},_sizeOfCoordIJ:function(){return 8},_sizeOfGeoLoop:function(){return 8},_sizeOfGeoPolygon:function(){return 16},_sizeOfH3Index:function(){return 8},_sizeOfLatLng:function(){return 16},_sizeOfLinkedGeoPolygon:function(){return 12},_uncompactCells:function(A,e,r,n,t,a,f){A|=0,n|=0,t|=0,a|=0;var o,l=0,u=0,c=0,s=0,g=0,b=0,d=0,w=0;if(o=F,F=F+16|0,w=o,!((0|(r|=0))>0|0==(0|r)&(e|=0)>>>0>0))return F=o,0;if((0|(f|=0))>=16)return F=o,12;b=0,d=0,g=0,l=0;A:for(;;){if(s=0|Ge(0|(u=0|i[(c=A+(b<<3)|0)>>2]),0|(c=0|i[c+4>>2]),52),h(),(15&s|0)>(0|f)){l=12,u=11;break}if(NA(w,u,c,f),0==(0|(c=0|i[(s=w)>>2]))&0==(0|(s=0|i[s+4>>2])))u=g;else{u=g;do{if(!((0|l)<(0|a)|(0|l)==(0|a)&u>>>0<t>>>0)){u=10;break A}i[(g=n+(u<<3)|0)>>2]=c,i[g+4>>2]=s,u=0|_e(0|u,0|l,1,0),l=0|h(),ZA(w),c=0|i[(g=w)>>2],s=0|i[g+4>>2]}while(!(0==(0|c)&0==(0|s)))}if(b=0|_e(0|b,0|d,1,0),!((0|(d=0|h()))<(0|r)|(0|d)==(0|r)&b>>>0<e>>>0)){l=0,u=11;break}g=u}return 10==(0|u)?(F=o,0|(w=14)):11==(0|u)?(F=o,0|l):0},_uncompactCellsSize:function(A,e,r,n,t){A|=0,e|=0,r|=0,n|=0,t|=0;var a,f,o=0,l=0,u=0,c=0,s=0,g=0;f=F,F=F+16|0,a=f;A:do{if((0|r)>0|0==(0|r)&e>>>0>0){for(s=0,l=0,o=0,g=0;;){if(!(0==(0|(u=0|i[(c=A+(s<<3)|0)>>2]))&0==(0|(c=0|i[c+4>>2]))||(c=0==(0|pA(u,c,n,a)),l=0|_e(0|i[(u=a)>>2],0|i[u+4>>2],0|l,0|o),o=0|h(),c))){o=12;break}if(s=0|_e(0|s,0|g,1,0),!((0|(g=0|h()))<(0|r)|(0|g)==(0|r)&s>>>0<e>>>0))break A}return F=f,0|o}l=0,o=0}while(0);return i[t>>2]=l,i[t+4>>2]=o,F=f,0},_vertexToLatLng:function(A,e,r){r|=0;var n,t,a,f,o=0,l=0;return f=F,F=F+192|0,t=f,a=f+168|0,o=0|Ge(0|(A|=0),0|(e|=0),56),h(),o&=7,0|(n=0|zA(A,l=-2130706433&e|134217728,a))?(F=f,0|(l=n)):(e=0|Ge(0|A,0|e,52),h(),e&=15,0|PA(A,l)?QA(a,e,o,1,t):CA(a,e,o,1,t),i[r>>2]=i[(l=t+8|0)>>2],i[r+4>>2]=i[l+4>>2],i[r+8>>2]=i[l+8>>2],i[r+12>>2]=i[l+12>>2],F=f,0|(l=0))},establishStackSpace:function(A,e){F=A|=0},stackAlloc:function(A){var e;return e=F,F=15+(F=F+(A|=0)|0)&-16,0|e},stackRestore:function(A){F=A|=0},stackSave:function(){return 0|F}}}({Math:Math,Int8Array:Int8Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Float32Array:Float32Array,Float64Array:Float64Array},{a:DA,b:function(A){k=A},c:D,d:function(A,e,r,n){DA("Assertion failed: "+p(A)+", at: "+[e?p(e):"unknown filename",r,n?p(n):"unknown function"])},e:function(A){return r.___errno_location&&(M[r.___errno_location()>>2]=A),A},f:eA,g:function(A,e,r){_.set(_.subarray(e,e+r),A)},h:function(A){var e=eA();if(A>2130706432)return!1;for(var r=Math.max(e,16777216);r<A;)r=r<=536870912?P(2*r,16777216):Math.min(P((3*r+2147483648)/4,16777216),2130706432);return!!rA(r)},i:function(A){DA("OOM")},j:q,k:$,l:rA,m:AA,n:function(){var A=AA();return r.extraStackTrace&&(A+="\n"+r.extraStackTrace()),$(A)},o:23904,p:23888},h),lA=(r.___divdi3=oA.___divdi3,r.___muldi3=oA.___muldi3,r.___remdi3=oA.___remdi3,r.___uremdi3=oA.___uremdi3,r._areNeighborCells=oA._areNeighborCells,r._bitshift64Ashr=oA._bitshift64Ashr,r._bitshift64Lshr=oA._bitshift64Lshr,r._bitshift64Shl=oA._bitshift64Shl,r._calloc=oA._calloc,r._cellAreaKm2=oA._cellAreaKm2,r._cellAreaM2=oA._cellAreaM2,r._cellAreaRads2=oA._cellAreaRads2,r._cellToBoundary=oA._cellToBoundary,r._cellToCenterChild=oA._cellToCenterChild,r._cellToChildren=oA._cellToChildren,r._cellToChildrenSize=oA._cellToChildrenSize,r._cellToLatLng=oA._cellToLatLng,r._cellToLocalIj=oA._cellToLocalIj,r._cellToParent=oA._cellToParent,r._cellToVertex=oA._cellToVertex,r._cellToVertexes=oA._cellToVertexes,r._cellsToDirectedEdge=oA._cellsToDirectedEdge,r._cellsToLinkedMultiPolygon=oA._cellsToLinkedMultiPolygon,r._compactCells=oA._compactCells,r._destroyLinkedMultiPolygon=oA._destroyLinkedMultiPolygon,r._directedEdgeToBoundary=oA._directedEdgeToBoundary,r._directedEdgeToCells=oA._directedEdgeToCells,r._emscripten_replace_memory=oA._emscripten_replace_memory),uA=(r._exactEdgeLengthKm=oA._exactEdgeLengthKm,r._exactEdgeLengthM=oA._exactEdgeLengthM,r._exactEdgeLengthRads=oA._exactEdgeLengthRads,r._free=oA._free,r._getBaseCellNumber=oA._getBaseCellNumber,r._getDirectedEdgeDestination=oA._getDirectedEdgeDestination,r._getDirectedEdgeOrigin=oA._getDirectedEdgeOrigin,r._getHexagonAreaAvgKm2=oA._getHexagonAreaAvgKm2,r._getHexagonAreaAvgM2=oA._getHexagonAreaAvgM2,r._getHexagonEdgeLengthAvgKm=oA._getHexagonEdgeLengthAvgKm,r._getHexagonEdgeLengthAvgM=oA._getHexagonEdgeLengthAvgM,r._getIcosahedronFaces=oA._getIcosahedronFaces,r._getNumCells=oA._getNumCells,r._getPentagons=oA._getPentagons,r._getRes0Cells=oA._getRes0Cells,r._getResolution=oA._getResolution,r._greatCircleDistanceKm=oA._greatCircleDistanceKm,r._greatCircleDistanceM=oA._greatCircleDistanceM,r._greatCircleDistanceRads=oA._greatCircleDistanceRads,r._gridDisk=oA._gridDisk,r._gridDiskDistances=oA._gridDiskDistances,r._gridDistance=oA._gridDistance,r._gridPathCells=oA._gridPathCells,r._gridPathCellsSize=oA._gridPathCellsSize,r._gridRingUnsafe=oA._gridRingUnsafe,r._i64Add=oA._i64Add,r._i64Subtract=oA._i64Subtract,r._isPentagon=oA._isPentagon,r._isResClassIII=oA._isResClassIII,r._isValidCell=oA._isValidCell,r._isValidDirectedEdge=oA._isValidDirectedEdge,r._isValidVertex=oA._isValidVertex,r._latLngToCell=oA._latLngToCell,r._llvm_minnum_f64=oA._llvm_minnum_f64,r._llvm_round_f64=oA._llvm_round_f64,r._localIjToCell=oA._localIjToCell,r._malloc=oA._malloc,r._maxFaceCount=oA._maxFaceCount,r._maxGridDiskSize=oA._maxGridDiskSize,r._maxPolygonToCellsSize=oA._maxPolygonToCellsSize,r._memcpy=oA._memcpy,r._memset=oA._memset,r._originToDirectedEdges=oA._originToDirectedEdges,r._pentagonCount=oA._pentagonCount,r._polygonToCells=oA._polygonToCells,r._readInt64AsDoubleFromPointer=oA._readInt64AsDoubleFromPointer,r._res0CellCount=oA._res0CellCount,r._round=oA._round,r._sbrk=oA._sbrk,r._sizeOfCellBoundary=oA._sizeOfCellBoundary,r._sizeOfCoordIJ=oA._sizeOfCoordIJ,r._sizeOfGeoLoop=oA._sizeOfGeoLoop,r._sizeOfGeoPolygon=oA._sizeOfGeoPolygon,r._sizeOfH3Index=oA._sizeOfH3Index,r._sizeOfLatLng=oA._sizeOfLatLng,r._sizeOfLinkedGeoPolygon=oA._sizeOfLinkedGeoPolygon,r._uncompactCells=oA._uncompactCells,r._uncompactCellsSize=oA._uncompactCellsSize,r._vertexToLatLng=oA._vertexToLatLng,r.establishStackSpace=oA.establishStackSpace,r.stackAlloc=oA.stackAlloc),cA=r.stackRestore=oA.stackRestore,sA=r.stackSave=oA.stackSave;if(r.asm=oA,r.cwrap=function(A,e,r,n){var i=(r=r||[]).every(function(A){return"number"===A});return"string"!==e&&i&&!n?Q(A):function(){return function(A,e,r,n,i){var t={string:function(A){var e=0;return null!=A&&0!==A&&(e=uA(1+(A.length<<2))),e},array:function(A){var e=uA(A.length);return v.set(A,e),e}},a=Q(A),f=[],o=0;if(n)for(var l=0;l<n.length;l++){var u=t[r[l]];u?(0===o&&(o=sA()),f[l]=u(n[l])):f[l]=n[l]}var c=a.apply(null,f);return c=function(A){return"string"===e?p(A):"boolean"===e?Boolean(A):A}(c),0!==o&&cA(o),c}(A,e,r,arguments)}},r.setValue=function(A,e,r,n){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":v[A>>0]=e;break;case"i16":C[A>>1]=e;break;case"i32":M[A>>2]=e;break;case"i64":W=[e>>>0,(K=e,+V(K)>=1?K>0?(0|Y(+S(K/4294967296),4294967295))>>>0:~~+z((K-+(~~K>>>0))/4294967296)>>>0:0)],M[A>>2]=W[0],M[A+4>>2]=W[1];break;case"float":y[A>>2]=e;break;case"double":I[A>>3]=e;break;default:DA("invalid type for setValue: "+r)}},r.getValue=function(A,e,r){switch("*"===(e=e||"i8").charAt(e.length-1)&&(e="i32"),e){case"i1":case"i8":return v[A>>0];case"i16":return C[A>>1];case"i32":case"i64":return M[A>>2];case"float":return y[A>>2];case"double":return I[A>>3];default:DA("invalid type for getValue: "+e)}return null},r.getTempRet0=D,J)if(X(J)||(aA=J,J=r.locateFile?r.locateFile(aA,d):d+aA),l||f){var gA=s(J);_.set(gA,8)}else{O++,r.monitorRunDependencies&&r.monitorRunDependencies(O);var bA=function(A){A.byteLength&&(A=new Uint8Array(A)),_.set(A,8),r.memoryInitializerRequest&&delete r.memoryInitializerRequest.response,function(A){if(O--,r.monitorRunDependencies&&r.monitorRunDependencies(O),0==O&&(null!==N&&(clearInterval(N),N=null),Z)){var e=Z;Z=null,e()}}()},dA=function(){c(J,bA,function(){throw"could not load memory initializer "+J})},wA=tA(J);if(wA)bA(wA.buffer);else if(r.memoryInitializerRequest){var BA=function(){var A=r.memoryInitializerRequest,e=A.response;if(200!==A.status&&0!==A.status){var n=tA(r.memoryInitializerRequestURL);if(!n)return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+A.status+", retrying "+J),void dA();e=n.buffer}bA(e)};r.memoryInitializerRequest.response?setTimeout(BA,0):r.memoryInitializerRequest.addEventListener("load",BA)}else dA()}function kA(A){function e(){fA||(fA=!0,m||(L(x),L(R),r.onRuntimeInitialized&&r.onRuntimeInitialized(),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;)A=r.postRun.shift(),H.unshift(A);var A;L(H)}()))}A=A||o,O>0||(function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)A=r.preRun.shift(),U.unshift(A);var A;L(U)}(),O>0||(r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),e()},1)):e()))}function DA(A){throw r.onAbort&&r.onAbort(A),w(A+=""),B(A),m=!0,"abort("+A+"). Build with -s ASSERTIONS=1 for more info."}if(Z=function A(){fA||kA(),fA||(Z=A)},r.run=kA,r.abort=DA,r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return kA(),A}("object"==typeof e?e:{}),r="number",n=[["sizeOfH3Index",r],["sizeOfLatLng",r],["sizeOfCellBoundary",r],["sizeOfGeoLoop",r],["sizeOfGeoPolygon",r],["sizeOfLinkedGeoPolygon",r],["sizeOfCoordIJ",r],["readInt64AsDoubleFromPointer",r],["isValidCell","number",["number","number"]],["latLngToCell","number",[r,r,"number",r]],["cellToLatLng","number",["number","number",r]],["cellToBoundary","number",["number","number",r]],["maxGridDiskSize","number",[r,r]],["gridDisk","number",["number","number",r,r]],["gridDiskDistances","number",["number","number",r,r,r]],["gridRingUnsafe","number",["number","number",r,r]],["maxPolygonToCellsSize","number",[r,"number",r,r]],["polygonToCells","number",[r,"number",r,r]],["cellsToLinkedMultiPolygon","number",[r,r,r]],["destroyLinkedMultiPolygon",null,[r]],["compactCells","number",[r,r,r,r]],["uncompactCells","number",[r,r,r,r,r,"number"]],["uncompactCellsSize","number",[r,r,r,"number",r]],["isPentagon","number",["number","number"]],["isResClassIII","number",["number","number"]],["getBaseCellNumber",r,["number","number"]],["getResolution",r,["number","number"]],["maxFaceCount","number",["number","number",r]],["getIcosahedronFaces","number",["number","number",r]],["cellToParent","number",["number","number","number",r]],["cellToChildren","number",["number","number","number",r]],["cellToCenterChild","number",["number","number","number",r]],["cellToChildrenSize","number",["number","number","number",r]],["areNeighborCells","number",["number","number","number","number",r]],["cellsToDirectedEdge","number",["number","number","number","number",r]],["getDirectedEdgeOrigin","number",["number","number",r]],["getDirectedEdgeDestination","number",["number","number",r]],["isValidDirectedEdge","number",["number","number"]],["directedEdgeToCells","number",["number","number",r]],["originToDirectedEdges","number",["number","number",r]],["directedEdgeToBoundary","number",["number","number",r]],["gridDistance","number",["number","number","number","number",r]],["gridPathCells","number",["number","number","number","number",r]],["gridPathCellsSize","number",["number","number","number","number",r]],["cellToLocalIj","number",["number","number","number","number",r,r]],["localIjToCell","number",["number","number",r,r,r]],["getHexagonAreaAvgM2","number",["number",r]],["getHexagonAreaAvgKm2","number",["number",r]],["getHexagonEdgeLengthAvgM","number",["number",r]],["getHexagonEdgeLengthAvgKm","number",["number",r]],["greatCircleDistanceM",r,[r,r]],["greatCircleDistanceKm",r,[r,r]],["greatCircleDistanceRads",r,[r,r]],["cellAreaM2","number",["number","number",r]],["cellAreaKm2","number",["number","number",r]],["cellAreaRads2","number",["number","number",r]],["exactEdgeLengthM","number",["number","number",r]],["exactEdgeLengthKm","number",["number","number",r]],["exactEdgeLengthRads","number",["number","number",r]],["getNumCells","number",["number",r]],["getRes0Cells","number",[r]],["res0CellCount",r],["getPentagons","number",[r,r]],["pentagonCount",r],["cellToVertex","number",["number","number",r,r]],["cellToVertexes","number",["number","number",r]],["vertexToLatLng","number",["number","number",r]],["isValidVertex","number",["number","number"]]],i=4,t={0:"Success",1:"The operation failed but a more specific error is not available",2:"Argument was outside of acceptable range",3:"Latitude or longitude arguments were outside of acceptable range"};t[i]="Resolution argument was outside of acceptable range",t[5]="Cell argument was not valid",t[6]="Directed edge argument was not valid",t[7]="Undirected edge argument was not valid",t[8]="Vertex argument was not valid",t[9]="Pentagon distortion was encountered",t[10]="Duplicate input",t[11]="Cell arguments were not neighbors",t[12]="Cell arguments had incompatible resolutions",t[13]="Memory allocation failed",t[14]="Bounds of provided memory were insufficient",t[15]="Mode or flags argument was not valid";var a=1001,f={1000:"Unknown unit"};f[a]="Array length out of bounds";var o="Unknown error";function l(A,e,r){var n=new Error((A[e]||o)+" (code: "+e+("value"in r?", value: "+r.value:"")+")");return n.code=e,n}function u(A,e){return l(t,A,2===arguments.length?{value:e}:{})}function c(A,e){return l(f,A,2===arguments.length?{value:e}:{})}function s(A){if(0!==A)throw u(A)}var g={};n.forEach(function(A){g[A[0]]=e.cwrap.apply(e,A)});var b=16,d=4,w=8,B=g.sizeOfH3Index(),k=g.sizeOfLatLng(),D=g.sizeOfCellBoundary(),m=g.sizeOfGeoPolygon(),E=g.sizeOfGeoLoop(),Q=g.sizeOfLinkedGeoPolygon(),h=g.sizeOfCoordIJ(),v={m:"m",m2:"m2",km:"km",km2:"km2",rads:"rads",rads2:"rads2"};function _(A){if("number"!=typeof A||A<0||A>15||Math.floor(A)!==A)throw u(i,A)}var C=Math.pow(2,32)-1;function M(A){if(A>C)throw c(a,A)}var y=/[^0-9a-fA-F]/;function I(A){if(Array.isArray(A)&&2===A.length&&Number.isInteger(A[0])&&Number.isInteger(A[1]))return A;if("string"!=typeof A||y.test(A))return[0,0];var e=parseInt(A.substring(0,A.length-8),b);return[parseInt(A.substring(A.length-8),b),e]}function F(A){if(A>=0)return A.toString(b);var e=P(8,(A&=2147483647).toString(b));return(parseInt(e[0],b)+8).toString(b)+e.substring(1)}function p(A,e){return F(e)+P(8,F(A))}function P(A,e){for(var r=A-e.length,n="",i=0;i<r;i++)n+="0";return n+e}function T(A,r,n){for(var i=A.length,t=e._calloc(i,k),a=n?1:0,f=n?0:1,o=0;o<2*i;o+=2)e.HEAPF64.set([A[o/2][a],A[o/2][f]].map(Z),t/w+o);return e.HEAPU32.set([i,t],r/d),r}function G(A,r){void 0===r&&(r=0);var n=e.getValue(A+B*r,"i32"),i=e.getValue(A+B*r+d,"i32");return i?p(n,i):null}function L(A,r){return void 0===r&&(r=0),e.getValue(A+w*r,"double")}function U(A){return g.readInt64AsDoubleFromPointer(A)}function x(A,r,n){e.HEAPU32.set(I(A),r/d+2*n)}function R(A,e){for(var r=[],n=0;n<e;n++){var i=G(A,n);null!==i&&r.push(i)}return r}function H(A,e){for(var r=e.length,n=0;n<r;n++)x(e[n],A,n)}function V(A,r){var n=e._calloc(1,k);return e.HEAPF64.set([A,r].map(Z),n/w),n}function z(A){return K(e.getValue(A,"double"))}function S(A){return[z(A),z(A+w)]}function Y(A){return[z(A+w),z(A)]}function O(A,r,n){for(var i=e.getValue(A,"i32"),t=A+w,a=[],f=r?Y:S,o=0;o<2*i;o+=2)a.push(f(t+w*o));return n&&a.push(a[0]),a}function N(A){var e=I(A);return Boolean(g.isValidCell(e[0],e[1]))}function Z(A){return A*Math.PI/180}function K(A){return 180*A/Math.PI}A.UNITS=v,A.h3IndexToSplitLong=I,A.splitLongToH3Index=p,A.isValidCell=N,A.isPentagon=function(A){var e=I(A);return Boolean(g.isPentagon(e[0],e[1]))},A.isResClassIII=function(A){var e=I(A);return Boolean(g.isResClassIII(e[0],e[1]))},A.getBaseCellNumber=function(A){var e=I(A);return g.getBaseCellNumber(e[0],e[1])},A.getIcosahedronFaces=function(A){var r=I(A),n=r[0],i=r[1],t=e._malloc(d);try{s(g.maxFaceCount(n,i,t));var a=e.getValue(t,"i32"),f=e._malloc(d*a);try{return s(g.getIcosahedronFaces(n,i,f)),function(A,r){for(var n=[],i=0;i<r;i++){var t=e.getValue(A+d*i,"i32");t>=0&&n.push(t)}return n}(f,a)}finally{e._free(f)}}finally{e._free(t)}},A.getResolution=function(A){var e=I(A),r=e[0],n=e[1];return g.isValidCell(r,n)?g.getResolution(r,n):-1},A.latLngToCell=function(A,r,n){var i=e._malloc(k);e.HEAPF64.set([A,r].map(Z),i/w);var t=e._malloc(B);try{return s(g.latLngToCell(i,n,t)),G(t)}finally{e._free(t),e._free(i)}},A.cellToLatLng=function(A){var r=e._malloc(k),n=I(A),i=n[0],t=n[1];try{return s(g.cellToLatLng(i,t,r)),S(r)}finally{e._free(r)}},A.cellToBoundary=function(A,r){var n=e._malloc(D),i=I(A),t=i[0],a=i[1];try{return s(g.cellToBoundary(t,a,n)),O(n,r,r)}finally{e._free(n)}},A.cellToParent=function(A,r){var n=I(A),i=n[0],t=n[1],a=e._malloc(B);try{return s(g.cellToParent(i,t,r,a)),G(a)}finally{e._free(a)}},A.cellToChildren=function(A,r){if(!N(A))return[];var n=I(A),i=n[0],t=n[1],a=e._malloc(8);try{s(g.cellToChildrenSize(i,t,r,a));var f=U(a);M(f);var o=e._calloc(f,B);try{return s(g.cellToChildren(i,t,r,o)),R(o,f)}finally{e._free(o)}}finally{e._free(a)}},A.cellToCenterChild=function(A,r){var n=I(A),i=n[0],t=n[1],a=e._malloc(B);try{return s(g.cellToCenterChild(i,t,r,a)),G(a)}finally{e._free(a)}},A.gridDisk=function(A,r){var n=I(A),i=n[0],t=n[1],a=e._malloc(8);try{s(g.maxGridDiskSize(r,a));var f=U(a);M(f);var o=e._calloc(f,B);try{return s(g.gridDisk(i,t,r,o)),R(o,f)}finally{e._free(o)}}finally{e._free(a)}},A.gridDiskDistances=function(A,r){var n=I(A),i=n[0],t=n[1],a=e._malloc(8);try{s(g.maxGridDiskSize(r,a));var f=U(a);M(f);var o=e._calloc(f,B),l=e._calloc(f,d);try{s(g.gridDiskDistances(i,t,r,o,l));for(var u=[],c=0;c<r+1;c++)u.push([]);for(var b=0;b<f;b++){var w=G(o,b),k=e.getValue(l+d*b,"i32");null!==w&&u[k].push(w)}return u}finally{e._free(o),e._free(l)}}finally{e._free(a)}},A.gridRingUnsafe=function(A,r){var n=0===r?1:6*r,i=e._calloc(n,B);try{return s(g.gridRingUnsafe.apply(g,I(A).concat([r],[i]))),R(i,n)}finally{e._free(i)}},A.polygonToCells=function(A,r,n){if(_(r),n=Boolean(n),0===A.length||0===A[0].length)return[];"number"==typeof A[0][0]&&(A=[A]);var i=function(A,r){var n,i=A.length-1,t=e._calloc(m),a=0+E,f=a+d;if(T(A[0],t+0,r),i>0){n=e._calloc(i,E);for(var o=0;o<i;o++)T(A[o+1],n+E*o,r)}return e.setValue(t+a,i,"i32"),e.setValue(t+f,n,"i32"),t}(A,n),t=e._malloc(8);try{s(g.maxPolygonToCellsSize(i,r,0,t));var a=U(t);M(a);var f=e._calloc(a,B);try{return s(g.polygonToCells(i,r,0,f)),R(f,a)}finally{e._free(f)}}finally{e._free(t),function(A){var r=0+E,n=r+d,i=d;e._free(e.getValue(A+0+i,"i8*"));var t=e.getValue(A+r,"i32");if(t>0){for(var a=e.getValue(A+n,"i32"),f=0;f<t;f++)e._free(e.getValue(a+E*f+i,"i8*"));e._free(a)}e._free(A)}(i)}},A.cellsToMultiPolygon=function(A,r){if(!A||!A.length)return[];var n=A.length,i=e._calloc(n,B);H(i,A);var t=e._calloc(Q);try{return s(g.cellsToLinkedMultiPolygon(i,n,t)),function(A,r){for(var n,i,t,a,f=[],o=r?Y:S;A;){for(f.push(n=[]),i=e.getValue(A,"i8*");i;){for(n.push(t=[]),a=e.getValue(i,"i8*");a;)t.push(o(a)),a=e.getValue(a+2*w,"i8*");r&&t.push(t[0]),i=e.getValue(i+8,"i8*")}A=e.getValue(A+8,"i8*")}return f}(t,r)}finally{g.destroyLinkedMultiPolygon(t),e._free(t),e._free(i)}},A.compactCells=function(A){if(!A||!A.length)return[];var r=A.length,n=e._calloc(r,B);H(n,A);var i=e._calloc(r,B);try{return s(g.compactCells(n,i,r,0)),R(i,r)}finally{e._free(n),e._free(i)}},A.uncompactCells=function(A,r){if(_(r),!A||!A.length)return[];var n=A.length,i=e._calloc(n,B);H(i,A);var t=e._malloc(8);try{s(g.uncompactCellsSize(i,n,0,r,t));var a=U(t);M(a);var f=e._calloc(a,B);try{return s(g.uncompactCells(i,n,0,f,a,0,r)),R(f,a)}finally{e._free(i),e._free(f)}}finally{e._free(t)}},A.areNeighborCells=function(A,r){var n=I(A),i=n[0],t=n[1],a=I(r),f=a[0],o=a[1],l=e._malloc(d);try{return s(g.areNeighborCells(i,t,f,o,l)),function(A,r){void 0===r&&(r=0);var n=e.getValue(l+d*r,"i32");return Boolean(n)}()}finally{e._free(l)}},A.cellsToDirectedEdge=function(A,r){var n=I(A),i=n[0],t=n[1],a=I(r),f=a[0],o=a[1],l=e._malloc(B);try{return s(g.cellsToDirectedEdge(i,t,f,o,l)),G(l)}finally{e._free(l)}},A.getDirectedEdgeOrigin=function(A){var r=I(A),n=r[0],i=r[1],t=e._malloc(B);try{return s(g.getDirectedEdgeOrigin(n,i,t)),G(t)}finally{e._free(t)}},A.getDirectedEdgeDestination=function(A){var r=I(A),n=r[0],i=r[1],t=e._malloc(B);try{return s(g.getDirectedEdgeDestination(n,i,t)),G(t)}finally{e._free(t)}},A.isValidDirectedEdge=function(A){var e=I(A);return Boolean(g.isValidDirectedEdge(e[0],e[1]))},A.directedEdgeToCells=function(A){var r=I(A),n=r[0],i=r[1],t=e._calloc(2,B);try{return s(g.directedEdgeToCells(n,i,t)),R(t,2)}finally{e._free(t)}},A.originToDirectedEdges=function(A){var r=I(A),n=r[0],i=r[1],t=e._calloc(6,B);try{return s(g.originToDirectedEdges(n,i,t)),R(t,6)}finally{e._free(t)}},A.directedEdgeToBoundary=function(A,r){var n=e._malloc(D),i=I(A),t=i[0],a=i[1];try{return s(g.directedEdgeToBoundary(t,a,n)),O(n,r)}finally{e._free(n)}},A.gridDistance=function(A,r){var n=I(A),i=n[0],t=n[1],a=I(r),f=a[0],o=a[1],l=e._malloc(8);try{return s(g.gridDistance(i,t,f,o,l)),U(l)}finally{e._free(l)}},A.gridPathCells=function(A,r){var n=I(A),i=n[0],t=n[1],a=I(r),f=a[0],o=a[1],l=e._malloc(8);try{s(g.gridPathCellsSize(i,t,f,o,l));var u=U(l);M(u);var c=e._calloc(u,B);try{return g.gridPathCells(i,t,f,o,c),R(c,u)}finally{e._free(c)}}finally{e._free(l)}},A.cellToLocalIj=function(A,r){var n,i=e._malloc(h);try{return s(g.cellToLocalIj.apply(g,I(A).concat(I(r),[0],[i]))),{i:e.getValue(n=i,"i32"),j:e.getValue(n+d,"i32")}}finally{e._free(i)}},A.localIjToCell=function(A,r){if(!r||"number"!=typeof r.i||"number"!=typeof r.j)throw new Error("Coordinates must be provided as an {i, j} object");var n,i,t,a=e._malloc(h),f=e._malloc(B);t=(i=r).j,e.setValue(n=a,i.i,"i32"),e.setValue(n+d,t,"i32");try{return s(g.localIjToCell.apply(g,I(A).concat([a],[0],[f]))),G(f)}finally{e._free(a),e._free(f)}},A.greatCircleDistance=function(A,r,n){var i,t=V(A[0],A[1]),a=V(r[0],r[1]);switch(n){case v.m:i=g.greatCircleDistanceM(t,a);break;case v.km:i=g.greatCircleDistanceKm(t,a);break;case v.rads:i=g.greatCircleDistanceRads(t,a);break;default:i=null}if(e._free(t),e._free(a),null===i)throw c(1e3,n);return i},A.cellArea=function(A,r){var n=I(A),i=n[0],t=n[1],a=e._malloc(w);try{switch(r){case v.m2:s(g.cellAreaM2(i,t,a));break;case v.km2:s(g.cellAreaKm2(i,t,a));break;case v.rads2:s(g.cellAreaRads2(i,t,a));break;default:throw c(1e3,r)}return L(a)}finally{e._free(a)}},A.exactEdgeLength=function(A,r){var n=I(A),i=n[0],t=n[1],a=e._malloc(w);try{switch(r){case v.m:s(g.exactEdgeLengthM(i,t,a));break;case v.km:s(g.exactEdgeLengthKm(i,t,a));break;case v.rads:s(g.exactEdgeLengthRads(i,t,a));break;default:throw c(1e3,r)}return L(a)}finally{e._free(a)}},A.getHexagonAreaAvg=function(A,r){_(A);var n=e._malloc(w);try{switch(r){case v.m2:s(g.getHexagonAreaAvgM2(A,n));break;case v.km2:s(g.getHexagonAreaAvgKm2(A,n));break;default:throw c(1e3,r)}return L(n)}finally{e._free(n)}},A.getHexagonEdgeLengthAvg=function(A,r){_(A);var n=e._malloc(w);try{switch(r){case v.m:s(g.getHexagonEdgeLengthAvgM(A,n));break;case v.km:s(g.getHexagonEdgeLengthAvgKm(A,n));break;default:throw c(1e3,r)}return L(n)}finally{e._free(n)}},A.cellToVertex=function(A,r){var n=I(A),i=n[0],t=n[1],a=e._malloc(B);try{return s(g.cellToVertex(i,t,r,a)),G(a)}finally{e._free(a)}},A.cellToVertexes=function(A){var r=I(A),n=r[0],i=r[1],t=e._calloc(6,B);try{return s(g.cellToVertexes(n,i,t)),R(t,6)}finally{e._free(t)}},A.vertexToLatLng=function(A){var r=e._malloc(k),n=I(A),i=n[0],t=n[1];try{return s(g.vertexToLatLng(i,t,r)),S(r)}finally{e._free(r)}},A.isValidVertex=function(A){var e=I(A);return Boolean(g.isValidVertex(e[0],e[1]))},A.getNumCells=function(A){_(A);var r=e._malloc(8);try{return s(g.getNumCells(A,r)),U(r)}finally{e._free(r)}},A.getRes0Cells=function(){var A=g.res0CellCount(),r=e._malloc(B*A);try{return s(g.getRes0Cells(r)),R(r,A)}finally{e._free(r)}},A.getPentagons=function(A){_(A);var r=g.pentagonCount(),n=e._malloc(B*r);try{return s(g.getPentagons(A,n)),R(n,r)}finally{e._free(n)}},A.degsToRads=Z,A.radsToDegs=K});
//# sourceMappingURL=h3-js.umd.js.map