commit 97861b9de8a4128ddb430a5b0340a1cf05687f8e
Author: spesk1 <spesk@pm.me>
Date: Wed Apr 21 15:32:22 2021 -0400
Messing around
diff --git a/shmup.html b/shmup.html
new file mode 100644
index 0000000..acecf20
--- /dev/null
+++ b/shmup.html
@@ -0,0 +1,1104 @@
+<html><head>
+<title>PICO-8 Cartridge</title>
+<meta name="viewport" content="width=device-width, user-scalable=no">
+<script type="text/javascript">
+
+ // Default shell for PICO-8 0.2.2 (includes @weeble's gamepad mod 1.0)
+ // This file is available under a CC0 license https://creativecommons.org/share-your-work/public-domain/cc0/
+ // (note: "this file" does not include any cartridge or cartridge artwork injected into a derivative html file when using the PICO-8 html exporter)
+
+ // options
+
+ // fullscreen, sound, close button at top when playing on touchscreen
+ var p8_allow_mobile_menu = true;
+
+ // p8_autoplay true to boot the cartridge automatically after page load when possible
+ // if the browser can not create an audio context outside of a user gesture (e.g. on iOS), p8_autoplay has no effect
+ var p8_autoplay = false;
+
+ // When pico8_state is defined, PICO-8 will set .is_paused, .sound_volume and .frame_number each frame
+ // (used for determining button icons)
+ var pico8_state = [];
+
+ // When pico8_buttons is defined, PICO-8 reads each int as a bitfield holding that player's button states
+ // 0x1 left, 0x2 right, 0x4 up, 0x8 right, 0x10 O, 0x20 X, 0x40 menu
+ // (used by p8_update_gamepads)
+ var pico8_buttons = [0, 0, 0, 0, 0, 0, 0, 0]; // max 8 players
+
+ // When pico8_mouse is defined, PICO-8 reads the 3 integers as X, Y and a bitfield for buttons: 0x1 LMB, 0x2 RMB
+ var pico8_mouse = [];
+
+ // used to display number of detected joysticks
+ var pico8_gamepads = {};
+ pico8_gamepads.count = 0;
+
+ // When pico8_gpio is defined, reading and writing to gpio pins will read and write to these values
+ var pico8_gpio = new Array(128);
+
+ // When pico8_audio_context context is defined, the html shell (this file) is responsible for creating and managing it.
+ // This makes satisfying browser requirements easier -- e.g. initialising audio from a short script in response to a user action.
+ // Otherwise PICO-8 will try to create and use its own context.
+
+ var pico8_audio_context;
+
+
+ // menu button and controller graphics
+ p8_gfx_dat={
+ "p8b_pause1": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAOUlEQVRIx2NgGPbg/8cX/0F46FtAM4vobgHVLRowC6hm0YBbQLFFoxaM4FQ0dHPy0C1Nh26NNugBAAnizNiMfvbGAAAAAElFTkSuQmCC",
+"p8b_controls":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAQ0lEQVRIx2NgGAXEgP8fX/ynBaap4XBLhqcF1IyfYWQBrZLz0LEAlzqqxQFVLcAmT3MLqJqTaW7B4CqLaF4fjIIBBwBL/B2vqtPVIwAAAABJRU5ErkJggg==",
+"p8b_full":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAN0lEQVRIx2NgGPLg/8cX/2mJ6WcBrUJm4CwgOSgGrQVEB8WoBaMWDGMLhm5OHnql6dCt0YY8AAA9oZm+9Z9xQAAAAABJRU5ErkJggg==",
+"p8b_pause0":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAKUlEQVRIx2NgGHbg/8cX/7FhctWNWjBqwagFoxaMWjBqwagF5Fkw5AAAPaGZvsIUtXUAAAAASUVORK5CYII=",
+"p8b_sound0":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAANklEQVRIx2NgGDHg/8cX/5Hx0LEA3cChYwEugwavBcRG4qgFoxYMZwuGfk4efqXp8KnRBj0AAMz7cLDnG4FeAAAAAElFTkSuQmCC",
+"p8b_sound1":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAPUlEQVRIx2NgGDHg/8cX/5Hx0LEA3cChYwEugwhZQLQDqG4BsZFIKMhGLRi1YChbMPRz8vArTYdPjTboAQCSVgpXUWQAMAAAAABJRU5ErkJggg==",
+"p8b_close":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAU0lEQVRIx2NkoDFgpJsF/z+++I8iwS9BkuW49A+cBcRaREgf/Swg1SJi1dHfAkIG4EyOOIJy4Cwg1iJCiWDUAvItGLqpaOjm5KFfmg79Gm3ItioAl+mAGVYIZUUAAAAASUVORK5CYII=",
+
+"controls_left_panel":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAEI0lEQVR42u3dMU7DQBCG0Tjam9DTcP8jpEmfswS5iHBhAsLxev/hvQY6pGXyZRTQ+nQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHqbHEEtl+vt7hS+fLy/mXHBQqxEi/6aI/AiFW9SnB2BWDkDBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwONJ8tYvrXRAsImK19j0IFsPGSrQQLCJiNV+et7xAT7QQLIaN1dr3ooVgMWysRAvBIipWooVgERUr0UKwiIqVaCFYRMVKtBAsomIlWggWUbESLQSLqFiJFoJFVKxEC8EiKlaihWARFSvRQrDYJSSVfhaCBSBYAIIFCBbAHpoj4Bl/scOGBWDD4lX8iwE2LADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAECxAsAMECECxAsMh1ud7uTsHZVDcZyFo8Yt5sVJ6NyUAaSNEyIymaXwZepIKd4mwoQbAFC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQI4UHME2/10QZq7usyBObBhRQwpmBUb1nADuPbuaUD/p2ezMH+1admwhosVfBcxb2SCJVaIlmAhVoiWYIkVoiVagiVWiJZgiZVYIVqCJVaIlmgJllghWoIlViBagiVWiJZoCZZYIVqCJVYgWoIlViBaggUIlnc0sPELlmghVmIlWKKFWAmWaIFYCZZoIVYIlmghVoIlWiBWgiVaiJVgIVqIlWCJFoiVYIkWYiVYiBZiJViihViJ1XbNEWyL1mMQRYvfvIGJlQ1rmE0LzIoNyyBiDrBhAYIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgDc+Nn1D/tdH8YupwgZy5qG4ykKIlVmZDsDjshSlazqQqH7p793Q2CBaAYAGCBSBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWwENzBKxZPub9CJ7WjA0LsGFRV+9N5+jNDhsWgGABggUgWACCxW56fgjuA3cEiz9Z/nWwR0iWP8P/YCFYDBstsUKwiIiWWCFYRERLrBAsIqIlVggWEdESKwSLiGiJFYJFRLTECsEiIlpihWARES2xQrCIiJZYIVhEREusECwioiVWCBYx0RIrBIuoaIkVr+YhFHTZtMCGBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBbj2uOR8s6AEbhexgsWYri3SKhKczcXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA2n+e0UMDzh3yTAAAAAElFTkSuQmCC",
+
+
+"controls_right_panel":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAFeCAYAAAA/lyK/AAAKHklEQVR42u3dAZKaWBAGYE3tvfBmMCfDnGzWJLhLHHBGBt7rhu+rSiWbbAk8p3+7UeF0AgAAAAAAAAAAAOAQzpaAzN5vDlOsNwILhJXQSuIfP/YoZMGcxQ9LgLByfAILQGABAgtAYAEILEBgAQgsAIEFCCwAgQUgsACBBSCwAAQWILAABBYst/cL3LmA3/9ccRRFTRquZIigylKsrjwKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMZ0tAXz0/v7eLi6q8/nNCgos2CKYmttvl+E/uw02cX/M6y3IflpxgQVLu6fuScC8HDIP4ff08XVhwNMwuf3q3z9qvzP+fTUgh1+P+iHkAP4Li6mQairtTzO3T54tEFRhu5mZrk9wwYGDqo0+ds10XYILjhRUjgOI2J30ezqRvcdjAmH1dzeyu6KeCC7dFiQt5sMU8mMwe/YhV9cx1jhuQKehswRWCKvm4GvRCC3I0VUYhT6GlvNaIKyEFiCshBYIK6EltKBuAQorawYKz9oBaxWct+uXraGPf0ChYuudh7GOkKkzUGTrhpZOFTYcBY0x1hR0A7pWQFF5MYDDFJSxpdBoaDVgp93Vk3sJzmmjdjF76rLc+Zmq3dXvH8KbKCF1+nPn5svDP12HX1Om/v9fukh3d4621pC1u2oD7cv4+vDtwscJeZ/BSOsNKbur2udVtrqlVtT7DDqXBQlf7aduo1UoFPsjrzvorpaFVdGbOUwEZHPEtYeMYdXU6jZqXzcqQmiN9sHHSOCFsaQpvN0mSIdT9WoKo3UwFkLEkSTaZWtqh6exEIK+uke9xta40zpKlwvGwc+32Qf+NH2VfTMWQsBRJMMXq2t9bcZYCF8rkrZ0UUYefWp9Ofke5tl+hn4oI0oVSOnOZfjjr+/0/Yy6LsO+XWusUa1tQorAKjwOphp5KnVZzmNB7YLM+BWUGvvsPBY8L45eIc7uc/FvANxP+GdaJ+ewKOm602192+hc1sUaCSwqjzsVtnVNuFTX0utVY3sCiyxdxNset5V1nzOukcBibzrHsF8CC6EVcCxEYIHAElgAAgtAYAECC0BgAQgsiOdiCQQWx9IJLIEFwsoxCCxYW8YL07mYnsDiYAU5+kJvxtHq8nAMAhIqhVWxq2m6gN/XA8sF/OCTDqKALmEHcV+b6w6fD0jZYbkJRaD9zdiJ6rAopSu8vWuWLmt8S7IDPC+QooNo3Uh1ch+r3kjViXd4HiBthaJ0q/qZtfFTCZ90PJUCoQ+4HtX2zT0J4esdT1Nwm81oNGwDrsV7hW03xkEIWijRQuthf5oK22+jn9uDw46FEUJiqrOqtR/GQUjw6v4QWjXOG/UBwso4CAsKpq+8/WLBMWyzD9Lh9cZBSDSSTARIv+G22ppdnXEQ1iviNsh+rHpCfgjETR57D+sOuqx1g6tfUtTD4/TRgmpP3dVZ6VArJE5/vsfWlbr+0xf36XL6eBWD62n+KgpT//8p0nFFXW+BRbou6/cP4U3QQD2dvv7l4G44ljdrDTvtsqJ/128n69w7dwUrvfJ7m33T9W28Mwi6LN0VKCq8GECSscVoaE1BN6BrBTYqMqFlHSHVGKMz+F6nahSEwqGl4KwdKDxrBqxZgL0CXBRWzluB0BJWgNASViC0hBVQr0C9XT8dVj7+AQlCqz/oGvTCCnJ2F4fpto563KDT0FkCtQt5b13HxO3IjICws6JOH1x7PCZgvttK243s5TiAhQUfvTuJeuNVoF5whRurJkY/QQWC64NqXddMNyWogE+7mXt4tRtvu50JKSfTX+QusByy6xr+2E388/jvrufz+ecroXj6+7b1s4+f+XbxAmv/hfH6E+MHuljnNQqZboNNdEvCD4Hlhx4vNgLLWGGsAEJ2Uk7cAuG7KW+NA9mCyocPgfBB5esdQPygchxAxO7EJUqAVN2Ii8ABYYvZZXaBFF2HGxkYEUGnobME1g4rN+MUWpCiqzAKndzuHISV0AKEldACYYXQgmAFKKysGSg8awesVXDerl+2hj7+AYWKrXcexjpCps5Aka0bWjpV2HAUNMZYU9AN6FoBReXFAA5TUMaWQqOh1YBA3dWeinLNY9FlwYrdVdTH28u67GltyOtH9u5q+GO31mOeb7J3Wvd9vx/LirqHdQcivOJn7Sa23m9dFjqsIN1V9k5rw85KlwUZXumzdBQl91OXhQ7rtYK5f3zhuvW2MnRahTqrsevD8wAC64nLluNgptCqEFbjdb8oIQg6kkQbhWruj7EQHdZr42BXetuROq1KndWHLstYiMD62jh4rbHxCKEVIKzG628shOijiLHUWIgO66VxpKYanVaQzirU84DAitxdhfqwYsnQChhWYZ8XBFYot5p9O1JoRQ2rSM8DROywwp4z2Wrfop8nch4LHdZz16Bd3+qdVuQxMPrzgcBSIAVDK0lYCSwE1kwBpzixu0ZoJQqrdM8PAqt0ILwl2MfFoZUtrJx4R2DtwJLQythZgcA6YGgJKxBYKUJLWIHAShFawgoEVorQElYgsFKElrACgZUmtIQVCKzwpkZCQGCFDavzQGiBwAofVo8jodACgRU6rIQWCKxUYSW0YOeBlemqAK98dCFraLlKAwJruqDfkhXyy5+zytxpuWoDAmvaZY9hlTi0LsoIZoIgeiGvtY9ZrpXumu7osOZ1e+2skndanVJCYM0HQxtwn1b/bmD00HLCHYH1vIDfghbuZl9kztBpOeEOT8IhUvGW2p+I54qcv0KH9bluKJZmz51V9E5rtP6dMkJgzbsOv1+OElZBQ+vy8HwAEUeRo2/fOIgOK8lYGOFKobU7LeMgvFgwwwt8f+Suotb+/Fr3YdONn0YIWKxRR6Aa+2UcxEi4fCxsSxRo7TEwyng4Wm/jIER7pfedPt0VOqwUXVamW3GV6LR0VxD0FT9rJ7Hlfuuu0GGt12X1axZmls6qVKc1Wl/dFazxyr/G2+x76SLWPI7Rx0h0V7BCQbVrfS5rT0W5YmDdP3flcjKgqI7xYgBMjC0+gW1NQTegawU2KjKhZR0h1RijM/hep2oUhMKhpeCsHSg8awasWYC9AlwUVs5bgdASVoDQElYgtIQVUK9AvV0/HVY+/gEJQqs/6Br0wgpydheH6baOetyg09BZArULeW9dx9BVGQFhx0WdPrj2eEzAfLeVthvZy3EACws+encydFSCCgRX3LFqYvQTVCC4PqjWdc10U4IK+LSbuYdXu/G225mQcjKdwzhbguUBMvyxm/jn8d9dz+fzz1dC8fbbZeax/vq72+O+eSYQWLzceY1CpttgE92S8AOBxZIu7PUnRvcEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwwL/cvBIh09+hJAAAAABJRU5ErkJggg==",
+
+ };
+
+
+ // added 0.2.1: work-around for iOS/Safari running from an iFrame (e.g. from itch.io page):
+ // touch events only register after adding dummy listeners on document.
+
+ document.addEventListener('touchstart', {});
+ document.addEventListener('touchmove', {});
+ document.addEventListener('touchend', {});
+
+
+ // --------------------------------------------------------------------------------------------------------------------------------
+ // pico-8 0.2.2: allow dropping files
+ var p8_dropped_cart = null;
+ var p8_dropped_cart_name = "";
+ function p8_drop_file(e)
+ {
+ // console.log("@@ dropping file...");
+
+ e.stopPropagation();
+ e.preventDefault();
+
+ if (e.dataTransfer && e.dataTransfer.files && e.dataTransfer.files[0])
+ {
+ // read from file
+ reader = new FileReader();
+ reader.onload = function (event) {
+ p8_dropped_cart_name = e.dataTransfer.files[0].name;
+ p8_dropped_cart = reader.result;
+ // data:image/png;base64
+ e.stopPropagation();
+ e.preventDefault();
+ };
+ reader.readAsDataURL(e.dataTransfer.files[0]);
+ codo_command = 9; // read directly from p8_dropped_cart with libb64 decoder
+ }
+ else
+ {
+ // read from url (or data url)
+ txt = e.dataTransfer.getData('Text');
+ if (txt){
+ p8_dropped_cart_name = "untitled.p8.png";
+ p8_dropped_cart = txt;
+ codo_command = 9;
+ }
+ }
+ }
+ function nop(evt) {
+ evt.stopPropagation();
+ evt.preventDefault();
+ }
+ function dragover(evt) {
+ evt.stopPropagation();
+ evt.preventDefault();
+ Module.pico8DragOver();
+ }
+ function dragstop(evt) {
+ evt.stopPropagation();
+ evt.preventDefault();
+ Module.pico8DragStop();
+ }
+ // --------------------------------------------------------------------------------------------------------------------------------
+
+
+ var p8_buttons_hash = -1;
+ function p8_update_button_icons()
+ {
+ // buttons only appear when running
+ if (!p8_is_running)
+ {
+ requestAnimationFrame(p8_update_button_icons);
+ return;
+ }
+ var is_fullscreen=(document.fullscreenElement || document.mozFullScreenElement || document.webkitIsFullScreen || document.msFullscreenElement);
+
+ // hash based on: pico8_state.sound_volume pico8_state.is_paused bottom_margin left is_fullscreen p8_touch_detected
+ var hash = 0;
+ hash = pico8_state.sound_volume;
+ if (pico8_state.is_paused) hash += 0x100;
+ if (p8_touch_detected) hash += 0x200;
+ if (is_fullscreen) hash += 0x400;
+
+ if (p8_buttons_hash == hash)
+ {
+ requestAnimationFrame(p8_update_button_icons);
+ return;
+ }
+
+ p8_buttons_hash = hash;
+ // console.log("@@ updating button icons");
+
+ els = document.getElementsByClassName('p8_menu_button');
+ for (i = 0; i < els.length; i++)
+ {
+ el = els[i];
+ index = el.id;
+ if (index == 'p8b_sound') index += (pico8_state.sound_volume == 0 ? "0" : "1"); // 1 if undefined
+ if (index == 'p8b_pause') index += (pico8_state.is_paused > 0 ? "1" : "0"); // 0 if undefined
+
+ new_str = '<img width=24 height=24 style="pointer-events:none" src="'+p8_gfx_dat[index]+'">';
+ if (el.innerHTML != new_str)
+ el.innerHTML = new_str;
+
+
+
+
+ // hide all buttons for touch mode (can pause with menu buttons)
+
+ var is_visible = p8_is_running;
+
+ if ((!p8_touch_detected || !p8_allow_mobile_menu) && el.parentElement.id == "p8_menu_buttons_touch")
+ is_visible = false;
+
+ if (p8_touch_detected && el.parentElement.id == "p8_menu_buttons")
+ is_visible = false;
+
+ if (is_fullscreen)
+ is_visible = false;
+
+ if (is_visible)
+ el.style.display="";
+ else
+ el.style.display="none";
+ }
+ requestAnimationFrame(p8_update_button_icons);
+ }
+
+
+
+ function abs(x)
+ {
+ return x < 0 ? -x : x;
+ }
+
+ // step 0 down 1 drag 2 up (not used)
+ function pico8_buttons_event(e, step)
+ {
+ if (!p8_is_running) return;
+
+ pico8_buttons[0] = 0;
+
+ if (step == 2 && typeof(pico8_mouse) !== 'undefined')
+ {
+ pico8_mouse[2] = 0;
+ }
+
+ var num = 0;
+ if (e.touches) num = e.touches.length;
+
+ if (num == 0 && typeof(pico8_mouse) !== 'undefined')
+ {
+ // no active touches: release mouse button from anywhere on page. (maybe redundant? but just in case)
+ pico8_mouse[2] = 0;
+ }
+
+
+ for (var i = 0; i < num; i++)
+ {
+ var touch = e.touches[i];
+ var x = touch.clientX;
+ var y = touch.clientY;
+ var w = window.innerWidth;
+ var h = window.innerHeight;
+
+ var r = Math.min(w,h) / 12;
+ if (r > 40) r = 40;
+
+ // mouse (0.1.12d)
+
+ let canvas = document.getElementById("canvas");
+ if (p8_touch_detected)
+ if (typeof(pico8_mouse) !== 'undefined')
+ if (canvas)
+ {
+ var rect = canvas.getBoundingClientRect();
+ //console.log(rect.top, rect.right, rect.bottom, rect.left, x, y);
+
+ if (x >= rect.left && x < rect.right && y >= rect.top && y < rect.bottom)
+ {
+ pico8_mouse = [
+ Math.floor((x - rect.left) * 128 / (rect.right - rect.left)),
+ Math.floor((y - rect.top) * 128 / (rect.bottom - rect.top)),
+ step < 2 ? 1 : 0
+ ];
+ // return; // commented -- blocks overlapping buttons
+ }else
+ {
+ pico8_mouse[2] = 0;
+ }
+ }
+
+
+ // buttons
+
+ b = 0;
+
+ if (y < h - r*8)
+ {
+ // no controller buttons up here; includes canvas and menu buttons at top in touch mode
+ }
+ else
+ {
+ e.preventDefault();
+
+ if ((y < h - r*6) && y > (h - r*8))
+ {
+ // menu button: half as high as X O button
+ // stretch across right-hand half above X O buttons
+ if (x > w - r*3)
+ b |= 0x40;
+ }
+ else if (x < w/2 && x < r*6)
+ {
+ // stick
+
+ mask = 0xf; // dpad
+ var cx = 0 + r*3;
+ var cy = h - r*3;
+
+ deadzone = r/3;
+ var dx = x - cx;
+ var dy = y - cy;
+
+ if (abs(dx) > abs(dy) * 0.6) // horizontal
+ {
+ if (dx < -deadzone) b |= 0x1;
+ if (dx > deadzone) b |= 0x2;
+ }
+ if (abs(dy) > abs(dx) * 0.6) // vertical
+ {
+ if (dy < -deadzone) b |= 0x4;
+ if (dy > deadzone) b |= 0x8;
+ }
+ }
+ else if (x > w - r*6)
+ {
+ // button; diagonal split from bottom right corner
+
+ mask = 0x30;
+
+ // one or both of [X], [O]
+ if ( (h-y) > (w-x) * 0.8) b |= 0x10;
+ if ( (w-x) > (h-y) * 0.8) b |= 0x20;
+ }
+ }
+
+ pico8_buttons[0] |= b;
+
+ }
+ }
+
+ // p8_update_layout_hash is used to decide when to update layout (expensive especially when part of a heavy page)
+ var p8_update_layout_hash = -1;
+ var last_windowed_container_height = 512;
+ var p8_layout_frames = 0;
+
+ function p8_update_layout()
+ {
+ var canvas = document.getElementById("canvas");
+ var p8_playarea = document.getElementById("p8_playarea");
+ var p8_container = document.getElementById("p8_container");
+ var p8_frame = document.getElementById("p8_frame");
+ var csize = 512;
+ var margin_top = 0;
+ var margin_left = 0;
+
+ // page didn't load yet? first call should be after p8_frame is created so that layout doesn't jump around.
+ if (!canvas || !p8_playarea || !p8_container || !p8_frame)
+ {
+ p8_update_layout_hash = -1;
+ requestAnimationFrame(p8_update_layout);
+ return;
+ }
+
+ p8_layout_frames ++;
+
+ // assumes frame doesn't have padding
+
+ var is_fullscreen=(document.fullscreenElement || document.mozFullScreenElement || document.webkitIsFullScreen || document.msFullscreenElement);
+ var frame_width = p8_frame.offsetWidth;
+ var frame_height = p8_frame.offsetHeight;
+
+ if (is_fullscreen)
+ {
+ // same as window
+ frame_width = window.innerWidth;
+ frame_height = window.innerHeight;
+ }
+ else{
+ // never larger than window // (happens when address bar is down in portraight mode on phone)
+ frame_width = Math.min(frame_width, window.innerWidth);
+ frame_height = Math.min(frame_height, window.innerHeight);
+ }
+
+ // as big as will fit in a frame..
+ csize = Math.min(frame_width,frame_height);
+
+ // .. but never more than 2/3 of longest side for touch (e.g. leave space for controls on iPad)
+ if (p8_touch_detected && p8_is_running)
+ {
+ var longest_side = Math.max(window.innerWidth,window.innerHeight);
+ csize = Math.min(csize, longest_side * 2/3);
+ }
+
+ // pixel perfect: quantize to closest multiple of 128
+ // only when large display (desktop)
+ if (frame_width >= 512 && frame_height >= 512)
+ {
+ csize = (csize+1) & ~0x7f;
+ }
+
+ // csize should never be higher than parent frame
+ // (otherwise stretched large when fullscreen and then return)
+ if (!is_fullscreen && p8_frame)
+ csize = Math.min(csize, last_windowed_container_height); // p8_frame_0 parent
+
+
+ if (is_fullscreen)
+ {
+ // always center horizontally
+ margin_left = (frame_width - csize)/2;
+
+ if (p8_touch_detected)
+ {
+ if (window.innerWidth < window.innerHeight)
+ {
+ // portrait: keep at y=40 (avoid rounded top corners / camera nub thing etc.)
+ margin_top = Math.min(40, frame_height - csize);
+ }
+ else
+ {
+ // landscape: put a little above vertical center
+ margin_top = (frame_height - csize)/4;
+ }
+ }
+ else{
+ // non-touch: center vertically
+ margin_top = (frame_height - csize)/2;
+ }
+ }
+
+ // skip if relevant state has not changed
+
+ var update_hash = csize + margin_top * 1000.3 + margin_left * 0.001 + frame_width * 333.33 + frame_height * 772.15134;
+ if (is_fullscreen) update_hash += 0.1237;
+
+ // unexpected things can happen in the first few seconds, so just keep re-calculating layout. wasm version breaks layout otherwise.
+ // also: bonus refresh at 5, 8 seconds just in case ._.
+ if (p8_layout_frames < 180 || p8_layout_frames == 60*5 || p8_layout_frames == 60*8 )
+ update_hash = p8_layout_frames;
+
+ if (!is_fullscreen) // fullscreen: update every frame for safety. should be cheap!
+ if (!p8_touch_detected) // mobile: update every frame because nothing can be trusted
+ if (p8_update_layout_hash == update_hash)
+ {
+ //console.log("p8_update_layout(): skipping");
+ requestAnimationFrame(p8_update_layout);
+ return;
+ }
+ p8_update_layout_hash = update_hash;
+
+ // record this for returning to original size after fullscreen pushes out container height (argh)
+ if (!is_fullscreen && p8_frame)
+ last_windowed_container_height = p8_frame.parentNode.parentNode.offsetHeight;
+
+
+ // mobile in portrait mode: put screen at top (w / a little extra space for fullscreen button if needed)
+ // (don't cart too about buttons overlapping screen)
+ if (p8_touch_detected && p8_is_running && document.body.clientWidth < document.body.clientHeight)
+ p8_playarea.style.marginTop = p8_allow_mobile_menu ? 32 : 8;
+ else if (p8_touch_detected && p8_is_running) // landscape: slightly above vertical center (only relevant for iPad / highres devices)
+ p8_playarea.style.marginTop = (document.body.clientHeight - csize) / 4;
+ else
+ p8_playarea.style.marginTop = "";
+
+ canvas.style.width = csize;
+ canvas.style.height = csize;
+
+ // to do: this should just happen from css layout
+ canvas.style.marginLeft = margin_left;
+ canvas.style.marginTop = margin_top;
+
+ p8_container.style.width = csize;
+ p8_container.style.height = csize;
+
+ // set menu buttons position to bottom right
+ el = document.getElementById("p8_menu_buttons");
+ el.style.marginTop = csize - el.offsetHeight;
+
+ if (p8_touch_detected && p8_is_running)
+ {
+ // turn off pointer events to prevent double-tap zoom etc (works on Android)
+ // don't want this for desktop because breaks mouse input & click-to-focus when using codo_textarea
+ canvas.style.pointerEvents = "none";
+
+ p8_container.style.marginTop = "0px";
+
+ // buttons
+
+ // same as touch event handling
+ var w = window.innerWidth;
+ var h = window.innerHeight;
+ var r = Math.min(w,h) / 12;
+
+ if (r > 40) r = 40;
+
+ el = document.getElementById("controls_right_panel");
+ el.style.left = w-r*6;
+ el.style.top = h-r*7;
+ el.style.width = r*6;
+ el.style.height = r*7;
+ if (el.getAttribute("src") != p8_gfx_dat["controls_right_panel"]) // optimisation: avoid reload? (browser should handle though)
+ el.setAttribute("src", p8_gfx_dat["controls_right_panel"]);
+
+ el = document.getElementById("controls_left_panel");
+ el.style.left = 0;
+ el.style.top = h-r*6;
+ el.style.width = r*6;
+ el.style.height = r*6;
+ if (el.getAttribute("src") != p8_gfx_dat["controls_left_panel"]) // optimisation: avoid reload? (browser should handle though)
+ el.setAttribute("src", p8_gfx_dat["controls_left_panel"]);
+
+ // scroll to cart (commented; was a failed attempt to prevent scroll-on-drag on some browsers)
+ // p8_frame.scrollIntoView(true);
+
+ document.getElementById("touch_controls_gfx").style.display="table";
+ document.getElementById("touch_controls_background").style.display="table";
+
+ }
+ else{
+ document.getElementById("touch_controls_gfx").style.display="none";
+ document.getElementById("touch_controls_background").style.display="none";
+ }
+
+ if (!p8_is_running)
+ {
+ p8_playarea.style.display="none";
+ p8_container.style.display="flex";
+ p8_container.style.marginTop="auto";
+
+ el = document.getElementById("p8_start_button");
+ if (el) el.style.display="flex";
+ }
+ requestAnimationFrame(p8_update_layout);
+ }
+
+
+ var p8_touch_detected = false;
+ addEventListener("touchstart", function(event)
+ {
+ p8_touch_detected = true;
+
+ // hide codo_textarea -- clipboard support on mobile is not feasible
+ el = document.getElementById("codo_textarea");
+ if (el && el.style.display != "none"){
+ el.style.display="none";
+ }
+
+ }, {passive: true});
+
+ function p8_create_audio_context()
+ {
+ if (pico8_audio_context)
+ {
+ try {
+ pico8_audio_context.resume();
+ }
+ catch(err) {
+ console.log("** pico8_audio_context.resume() failed");
+ }
+ return;
+ }
+
+ var webAudioAPI = window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.oAudioContext || window.msAudioContext;
+ if (webAudioAPI)
+ {
+ pico8_audio_context = new webAudioAPI;
+
+ // wake up iOS
+ if (pico8_audio_context)
+ {
+ try {
+ var dummy_source_sfx = pico8_audio_context.createBufferSource();
+ dummy_source_sfx.buffer = pico8_audio_context.createBuffer(1, 1, 22050); // dummy
+ dummy_source_sfx.connect(pico8_audio_context.destination);
+ dummy_source_sfx.start(1, 0.25); // gives InvalidStateError -- why? hasn't been played before
+ //dummy_source_sfx.noteOn(0); // deleteme
+ }
+ catch(err) {
+ console.log("** dummy_source_sfx.start(1, 0.25) failed");
+ }
+ }
+ }
+ }
+
+ function p8_close_cart()
+ {
+ // just reload page! used for touch buttons -- hard to roll back state
+ window.location.hash = ""; // triggers reload
+ }
+
+ var p8_is_running = false;
+ var p8_script = null;
+ var Module = null;
+ function p8_run_cart()
+ {
+ if (p8_is_running) return;
+ p8_is_running = true;
+
+ // touch: hide everything except p8_frame_0
+ if (p8_touch_detected)
+ {
+ el = document.getElementById("body_0");
+ el2 = document.getElementById("p8_frame_0");
+ if (el && el2)
+ {
+ el.style.display="none";
+ el.parentNode.appendChild(el2);
+ }
+ }
+
+ // create audio context and wake it up (for iOS -- needs happen inside touch event)
+ p8_create_audio_context();
+
+ // show touch elements
+ els = document.getElementsByClassName('p8_controller_area');
+ for (i = 0; i < els.length; i++)
+ els[i].style.display="";
+
+
+ // install touch events. These also serve to block scrolling / pinching / zooming on phones when p8_is_running
+ // moved event.preventDefault(); calls into pico8_buttons_event() (want to let top buttons pass through)
+ addEventListener("touchstart", function(event){ pico8_buttons_event(event, 0); }, {passive: false});
+ addEventListener("touchmove", function(event){ pico8_buttons_event(event, 1); }, {passive: false});
+ addEventListener("touchend", function(event){ pico8_buttons_event(event, 2); }, {passive: false});
+
+
+ // load and run script
+ e = document.createElement("script");
+ p8_script = e;
+ e.onload = function(){
+
+ // show canvas / menu buttons only after loading
+ el = document.getElementById("p8_playarea");
+ if (el) el.style.display="table";
+
+ if (typeof(p8_update_layout_hash) !== 'undefined')
+ p8_update_layout_hash = -77;
+ if (typeof(p8_buttons_hash) !== 'undefined')
+ p8_buttons_hash = -33;
+
+
+ }
+ e.type = "application/javascript";
+ e.src = "shmup.js";
+ e.id = "e_script";
+
+ document.body.appendChild(e); // load and run
+
+ // hide start button and show canvas / menu buttons. hide start button
+ el = document.getElementById("p8_start_button");
+ if (el) el.style.display="none";
+
+ // add #playing for touchscreen devices (allows back button to close)
+ // X button can also be used to trigger this
+ if (p8_touch_detected)
+ {
+ window.location.hash = "#playing";
+ window.onhashchange = function()
+ {
+ if (window.location.hash.search("playing") < 0)
+ window.location.reload();
+ }
+ }
+
+ // install drag&drop listeners
+ {
+ let canvas = p8_document().getElementById("canvas");
+ if (canvas)
+ {
+ canvas.addEventListener('dragenter', dragover, false);
+ canvas.addEventListener('dragover', dragover, false);
+ canvas.addEventListener('dragleave', dragstop, false);
+ canvas.addEventListener('drop', nop, false);
+ canvas.addEventListener('drop', p8_drop_file, false);
+ }
+ }
+ }
+
+
+ // Gamepad code
+
+ var P8_BUTTON_O = {action:'button', code: 0x10};
+ var P8_BUTTON_X = {action:'button', code: 0x20};
+ var P8_DPAD_LEFT = {action:'button', code: 0x1};
+ var P8_DPAD_RIGHT = {action:'button', code: 0x2};
+ var P8_DPAD_UP = {action:'button', code: 0x4};
+ var P8_DPAD_DOWN = {action:'button', code: 0x8};
+ var P8_MENU = {action:'menu'};
+ var P8_NO_ACTION = {action:'none'};
+
+ var P8_BUTTON_MAPPING = [
+ // ref: https://w3c.github.io/gamepad/#remapping
+ P8_BUTTON_O, // Bottom face button
+ P8_BUTTON_X, // Right face button
+ P8_BUTTON_X, // Left face button
+ P8_BUTTON_O, // Top face button
+ P8_NO_ACTION, // Near left shoulder button (L1)
+ P8_NO_ACTION, // Near right shoulder button (R1)
+ P8_NO_ACTION, // Far left shoulder button (L2)
+ P8_NO_ACTION, // Far right shoulder button (R2)
+ P8_MENU, // Left auxiliary button (select)
+ P8_MENU, // Right auxiliary button (start)
+ P8_NO_ACTION, // Left stick button
+ P8_NO_ACTION, // Right stick button
+ P8_DPAD_UP, // Dpad up
+ P8_DPAD_DOWN, // Dpad down
+ P8_DPAD_LEFT, // Dpad left
+ P8_DPAD_RIGHT, // Dpad right
+ ];
+
+ // Track which player is controller by each gamepad. Gamepad index i controls the
+ // player with index pico8_gamepads_mapping[i]. Gamepads with null player are
+ // currently unassigned - they get assigned to a player when a button is pressed.
+ var pico8_gamepads_mapping = [];
+
+ function p8_unassign_gamepad(gamepad_index) {
+ if (pico8_gamepads_mapping[gamepad_index] == null) {
+ return;
+ }
+ pico8_buttons[pico8_gamepads_mapping[gamepad_index]] = 0;
+ pico8_gamepads_mapping[gamepad_index] = null;
+ }
+
+
+ function p8_first_player_without_gamepad(max_players) {
+ var allocated_players = pico8_gamepads_mapping.filter(function(x) { return x != null; });
+ var sorted_players = Array.from(allocated_players).sort();
+ for (var desired = 0; desired < sorted_players.length && desired < max_players; ++desired) {
+ if (desired != sorted_players[desired]) {
+ return desired;
+ }
+ }
+ if (sorted_players.length < max_players) {
+ return sorted_players.length;
+ }
+ return null;
+ }
+
+ function p8_assign_gamepad_to_player(gamepad_index, player_index) {
+ p8_unassign_gamepad(gamepad_index);
+ pico8_gamepads_mapping[gamepad_index] = player_index;
+ }
+
+
+
+ function p8_convert_standard_gamepad_to_button_state(gamepad, axis_threshold, button_threshold) {
+ // Given a gamepad object, return:
+ // {
+ // button_state: the binary encoded Pico 8 button state
+ // menu_button: true if any menu-mapped button was pressed
+ // any_button: true if any button was pressed, including d-pad
+ // buttons and unmapped buttons
+ // }
+ if (!gamepad || !gamepad.axes || !gamepad.buttons) {
+ return {
+ button_state: 0,
+ menu_button: false,
+ any_button: false
+ };
+ }
+ function button_state_from_axis(axis, low_state, high_state, default_state) {
+ if (axis && axis < -axis_threshold) return low_state;
+ if (axis && axis > axis_threshold) return high_state;
+ return default_state;
+ }
+ var axes_actions = [
+ button_state_from_axis(gamepad.axes[0], P8_DPAD_LEFT, P8_DPAD_RIGHT, P8_NO_ACTION),
+ button_state_from_axis(gamepad.axes[1], P8_DPAD_UP, P8_DPAD_DOWN, P8_NO_ACTION),
+ ];
+
+ var button_actions = gamepad.buttons.map(function (button, index) {
+ var pressed = button.value > button_threshold || button.pressed;
+ if (!pressed) return P8_NO_ACTION;
+ return P8_BUTTON_MAPPING[index] || P8_NO_ACTION;
+ });
+
+ var all_actions = axes_actions.concat(button_actions);
+
+ var menu_button = button_actions.some(function (action) { return action.action == 'menu'; });
+ var button_state = (all_actions
+ .filter(function (a) { return a.action == 'button'; })
+ .map(function (a) { return a.code; })
+ .reduce(function (result, code) { return result | code; }, 0)
+ );
+ var any_button = gamepad.buttons.some(function (button) {
+ return button.value > button_threshold || button.pressed;
+ });
+
+ any_button |= button_state; //jww: include axes 0,1 as might be first intended action
+
+ return {
+ button_state,
+ menu_button,
+ any_button
+ };
+ }
+
+ // jww: pico-8 0.2.1 version for unmapped gamepads, following p8_convert_standard_gamepad_to_button_state
+ // axes 0,1 & buttons 0,1,2,3 are reasonably safe. don't try to read dpad.
+ // menu buttons are unpredictable, but use 6..8 anyway (better to have a weird menu button than none)
+
+ function p8_convert_unmapped_gamepad_to_button_state(gamepad, axis_threshold, button_threshold) {
+
+ if (!gamepad || !gamepad.axes || !gamepad.buttons) {
+ return {
+ button_state: 0,
+ menu_button: false,
+ any_button: false
+ };
+ }
+
+ var button_state = 0;
+
+ if (gamepad.axes[0] && gamepad.axes[0] < -axis_threshold) button_state |= 0x1;
+ if (gamepad.axes[0] && gamepad.axes[0] > axis_threshold) button_state |= 0x2;
+ if (gamepad.axes[1] && gamepad.axes[1] < -axis_threshold) button_state |= 0x4;
+ if (gamepad.axes[1] && gamepad.axes[1] > axis_threshold) button_state |= 0x8;
+
+ // buttons: first 4 taken to be O/X, 6..8 taken to be menu button
+
+ for (j = 0; j < gamepad.buttons.length; j++)
+ if (gamepad.buttons[j].value > 0 || gamepad.buttons[j].pressed)
+ {
+ if (j < 4)
+ button_state |= (0x10 << (((j+1)/2)&1)); // 0 1 1 0 -- A,X -> O,X on xbox360
+ else if (j >= 6 && j <= 8)
+ button_state |= 0x40;
+ }
+
+ var menu_button = button_state & 0x40;
+
+ var any_button = gamepad.buttons.some(function (button) {
+ return button.value > button_threshold || button.pressed;
+ });
+
+ any_button |= button_state; //jww: include axes 0,1 as might be first intended action
+
+ return {
+ button_state,
+ menu_button,
+ any_button
+ };
+ }
+
+
+ // gamepad https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
+ // (sets bits in pico8_buttons[])
+ function p8_update_gamepads() {
+ var axis_threshold = 0.3;
+ var button_threshold = 0.5; // Should be unnecessary, we should be able to trust .pressed
+ var max_players = 8;
+ var gps = navigator.getGamepads() || navigator.webkitGetGamepads();
+
+ if (!gps) return;
+
+ // In Chrome, gps is iterable but it's not an array.
+ gps = Array.from(gps);
+
+ pico8_gamepads.count = gps.length;
+ while (gps.length > pico8_gamepads_mapping.length) {
+ pico8_gamepads_mapping.push(null);
+ }
+
+ var menu_button = false;
+ var gamepad_states = gps.map(function (gp) {
+ return (gp && gp.mapping == "standard") ?
+ p8_convert_standard_gamepad_to_button_state(gp, axis_threshold, button_threshold) :
+ p8_convert_unmapped_gamepad_to_button_state(gp, axis_threshold, button_threshold);
+ });
+
+ // Unassign disconnected gamepads.
+ // gps.forEach(function (gp, i) { if (gp && !gp.connected) { p8_unassign_gamepad(i); }});
+ gps.forEach(function (gp, i) { if (!gp || !gp.connected) { p8_unassign_gamepad(i); }}); // https://www.lexaloffle.com/bbs/?pid=87132#p
+
+
+ // Assign unassigned gamepads when any button is pressed.
+ gamepad_states.forEach(function (state, i) {
+ if (state.any_button && pico8_gamepads_mapping[i] == null) {
+ var first_free_player = p8_first_player_without_gamepad(max_players);
+ p8_assign_gamepad_to_player(i, first_free_player);
+ }
+ });
+
+ // Update pico8_buttons array.
+ gamepad_states.forEach(function (gamepad_state, i) {
+ if (pico8_gamepads_mapping[i] != null) {
+ pico8_buttons[pico8_gamepads_mapping[i]] = gamepad_state.button_state;
+ }
+ });
+
+ // Update menu button.
+ // Pico 8 only recognises the menu button on the first player, so we
+ // press it when any gamepad has pressed a button mapped to menu.
+ if (gamepad_states.some(function (state) { return state.menu_button; })) {
+ pico8_buttons[0] |= 0x40;
+ }
+
+ requestAnimationFrame(p8_update_gamepads);
+ }
+ requestAnimationFrame(p8_update_gamepads);
+
+ // End of gamepad code
+
+
+ // key blocker. prevent cursor keys from scrolling page while playing cart.
+ // also don't act on M, R so that can mute / reset cart
+ document.addEventListener('keydown',
+ function (event) {
+ event = event || window.event;
+ if (!p8_is_running) return;
+ if (pico8_state.has_focus == 1)
+ if ([32, 37, 38, 39, 40, 77, 82, 80, 9].indexOf(event.keyCode) > -1) // block cursors, M R P, tab
+ if (event.preventDefault) event.preventDefault();
+ },{passive: false});
+
+ // when using codo_textarea to determine focus, need to explicitly hand focus back when clicking a p8_menu_button
+ function p8_give_focus()
+ {
+ el = (typeof codo_textarea === 'undefined') ? document.getElementById("codo_textarea") : codo_textarea;
+ if (el)
+ {
+ el.focus();
+ el.select();
+ }
+ }
+
+ function p8_request_fullscreen() {
+
+ var is_fullscreen=(document.fullscreenElement || document.mozFullScreenElement || document.webkitIsFullScreen || document.msFullscreenElement);
+
+ if (is_fullscreen)
+ {
+ if (document.exitFullscreen) {
+ document.exitFullscreen();
+ } else if (document.webkitExitFullscreen) {
+ document.webkitExitFullscreen();
+ } else if (document.mozCancelFullScreen) {
+ document.mozCancelFullScreen();
+ } else if (document.msExitFullscreen) {
+ document.msExitFullscreen();
+ }
+ return;
+ }
+
+ var el = document.getElementById("p8_playarea");
+
+ if ( el.requestFullscreen ) {
+ el.requestFullscreen();
+ } else if ( el.mozRequestFullScreen ) {
+ el.mozRequestFullScreen();
+ } else if ( el.webkitRequestFullScreen ) {
+ el.webkitRequestFullScreen( Element.ALLOW_KEYBOARD_INPUT );
+ }
+ }
+
+</script>
+
+<STYLE TYPE="text/css">
+<!--
+.p8_menu_button{
+ opacity:0.3;
+ padding:4px;
+ display:table;
+ width:24px;
+ height:24px;
+ float:right;
+}
+
+@media screen and (min-width:512px) {
+ .p8_menu_button{
+ width:24px; margin-left:12px; margin-bottom:8px;
+ }
+}
+.p8_menu_button:hover{
+ opacity:1.0;
+ cursor:pointer;
+}
+
+canvas{
+ image-rendering: optimizeSpeed;
+ image-rendering: -moz-crisp-edges;
+ image-rendering: -webkit-optimize-contrast;
+ image-rendering: optimize-contrast;
+ image-rendering: pixelated;
+ -ms-interpolation-mode: nearest-neighbor;
+ border: 0px;
+ cursor: none;
+}
+
+
+.p8_start_button{
+ cursor:pointer;
+ background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAATNUlEQVR4Ae1dX0wb55Y/ZNwohjAShvFAjSiOglXbRaqVqNrSkDhqb3LvJmEviou0PESyqPalT1aqKA+RRpbycLVayS/bt0ZI2YeVErPdvSXam+2lNVDR3atcGbWyyTIRTi1SMyaANGlwmzDZbXvM58/jsT02/kfg6NNw5jcf33h+v3N+57WJ5eywH/WLA/sU7Auwp8OQC/m8SUwC42Y9edb/jp1L4zfu5MPz7dnvgHQgp7nX3G3aOEUrzTWNq273BdAbNOOkCQrt32bZN3aOiJF7u29B5YRm+avdbOwc0UCV7AugqwOwzDWL3edNauMUsyo7wkf75U9HE8vZ91nYNTNgP/YF2AND2LeqpB2cY3LzAMfQ2/BW9ajoZM6dEPsdkBWESkzoW+Tat6oEOIawT3KdsU99EQGQU/2n+FYV0iv7UZkO0EMocZ6S1NLjUcSm9voQJoZTYFRg+evRgNBagN/0oxfjPm9yLwjQxHL2mr0MyS08AHBP9D/+1XHhx8C4ea93QDXibIe8R6q7IQV4MQ4AIK7tdM/LEoY6sL/zPWXFxfMD9O3E5Nze6wBxDQAcF36M3rfsaE9Z7PfwbfRS6bEnBAh8ZQdxLfrZobuP2Z3sKY99FdggGjSxnP0lcNIC9qLJPom4tFFfL6r5EK4C9Zr2gpIUZr8R+mAXC0BTn0srMluY/UbQwLB72S9Krh7299YQriX7uyV2/QzYF2C//GsogM+bxOTMpXU6qT0eef4vlaIgLm1MTM7tAgFUXKhIqRnew/17Bb8/Lm1gV+0mCzpzaT2YaEZSMKkxDi/GaXwn0cO34bp4fqAuMpQgAPlm1cfXC69s1EuG0jogohgaKq+eDGTg50pCwIqoVfLHvPQaoAzIbA/fRkinn6r0AICyx3g5M2AvBLZC7qhQsZ/bNPsC1E2w8jTYF6DOGuwLUOfYF6DOTVCaAMFEc0Ple6sD2M8Pke9vhHzvWhCy0Dj5XhHApWhTUC98zwlg5mWaC8xdSt3wBoy4tDExOVfSvxj0b3W0pgAAHrMZPSTWzMv1whu8tC+eH8CksCQlzwAsPZcCSZqd+uENVf7IO64evg0X3ub7ryaWs+t8wdkOOSmly5D2JQCoC+74u7/fRV6fz51KsaDBAcfKqhrtfANWVh2vh9S44oZOrrr7AeLSRg/ftleGMMxPQSeXzQ4H81NRUUQ6aHaiolj1/QB1YT8ubeAq6b/Qi3bUAWkNLOvUrQn/RkXR0ZrOASD6RKzR/ppb/E4CNVAZUclDeG+GJvtlSJLbByV2QIPF9Tvf07fXzr1a49ovYwip+mC3CnD3Mftvd74HgJaVMAA87XQRPS4dN05MzqkKrexpUbTM6Q1lvKU0AaJPjMlpO7k187KjNQUASYm9+5gluEsBMy9Xdf9ZXr67EkbefW/z12OZH3nzXqolD02lElSqyZQhRhPLZT64cJztkJNShgXCUVJiw4x6M3Ja1f3ufzhHW9BJ9gcAmJEP4+2l48YCJlDVYVv4dXFpg57DTcLVj/Se9L//BI9MatCyDoobmJAaR7Bq+68/GCVE37yXunTciN85M7s4Ix8+yf5wctC2K7y0qWNE+PDI04+XWgDgQsvyZ0+7AQARFe788y33qYUsjizroWm7mZcdfX1ZHCnuqCgmJbZK+wn7ueM3cOPO005Xy0r44OkRnd9VXxyY/tGOEYHpHxWufsT0jzL9o17vGCIq/JTJfspkf99uIYtGhLdMZOU+rex+lrOznB1/FS7h6ke4WM6O144RAZdw9SNM8LsaAad5PnDt3KsbCyIAXL/zPfrmzXupjQUxF2+cONshn+2Q2+x96fK3fg/r38H6dwDgGzuH4LMvb2Hy8VLLhZZlAMgUXb1xmucDOMcIlGnzPHjjxLMvb7WshLMglGH9O9/b/MHTI9jshALy/fXFNxZEms8D+CcfxY1JPQDcfcxi0rISDnwtwfwUrKym1/zUx4dO4VOaAjrqhWvwSTtp4XXKZEfzpRd6tOqRJljx/cRVyS/EnbThNtTSZLUEAXLZIXToBCu7n3yVMORm+keFt0zCkFsYctPa1JHlwryTZdDf9b4TC/DIpEYt6/DIZH6intKO1pTbsl7V/RGAZ1/euvY2fz32qurRl/XzxjZ738aCCAB4LRrpGaAnQtN2sKyr2AlN2wMx3tGaZW2O1lQgxld7PwDgpL127tWWlfD11G9h5RtY+WbmlRN1HE46eSdRQgegBmZeJrfJaTsmgRjvUjQmZLX3AwA4jgPAxfMDE5NzAeAB4JitjvyXHCV0QGNGXNqISxsPF1dJQ3xrce2i319aBzRgfPa0GwDA0g2LpfV+3c2nUAdc+91dTIbPTNGJ+4Mk3v7f325hwnnXAcDnTeN4CwBnLq3XYP+Hvf+Mtxdali+eHwCAY7a+Cy3LFWGTJhRvVaDqUXkvamL6R1XQ8JkpJ7MFANf/8yzmmAAA4oFx85lL605mC5O64/CP7XB1CP7wx5CJCTOA0yLy3kjNqrhaM2D4zFQw0YwNgQmpPrz1eZONgMe9g/CHPwKAe13xrSoAEGbA+edbJRX7Tqq4kgLQXNMfSd82Gj7+0xf+0edwZQ2urPlHn0feGzl4ekR/B7TZ++o4OdQCRBQDudLI7spLjVwNrn1775rxT3rAnQbTP0ovz2UeRq2eyzwmuzHvGBFwMf2jJC+8VCQw/aMC2ASw6QF3uMqvmoYN2soxL2Ay+Xz/ev9xLPlcsLLxEgqQj2WVDEVHrop9eOvxtb/cq7gGe0IAnYwXib90VH0IX/vd3WCiee9IUjhCJqYoUuEOiCh7qCGKxlcWF0A4B6l0ZE35K+0wasXluczXOBeufqR/eb1j+c6hvwiX5zJPr9wNmku40o6b9f9LGUtDAJazk0+qZe71jp1+Z0jnOmWy5zsnl/GiS5uaUavXO1aSZmWsjOcMn5lSNQf7+aGa5ucBAE4O2mZmFwu0LG4IU26sOufMJfWHAECR2db/dcYSvn2bJOP9X3jXzz8xTVbceDJsk3oRrrRjB5DiYjk7LsyrjWMHsJy9cO3jhgLnkLomPbGTRSwIHcnrHSu72DWb70Bu4Zt52aVkygpzl1J1HOOYra9w7ZAN+c4JJppxVaRUlf6vsWDjq78PJppv3kuVVOb00txjwPb0dG0CQEQxAICjNQUA8JjNfKfEmnm52jjai85v67VxPZFP85xzsOKOEUw0A3xB9Mj1K00P12ODhnyV4lIgzIBLgSTNWjXxOEBc2tDJyMTknM+a7/zKC1C4P3SNmTzRBKNWoVv2L7PYBMFE8/vhZ0kpXVa0LwFAVfHDf/Pbh4urOn/3XxfFsx2y5jm3XZUUQOiW46u/H//piypJ2ASjVk/XJnGhYKJZOHwcVnKI6OR+6TNN3PSa/vfFpY2eV2TNc6Kzc0io+4MkgUOfmEmuwrHw3acWgHs/OjuH5hmI8b6xczXrADr88Yky/ssgdMto/ZmYn4I3383iqJOD+Sn42fS08LhzWH/lvlgQe45KmuckJT7MgM+bYTkwbgYmnefDNTWuiwDlRXoIq+H5KbCsU7emIjjAyUHbzOxigTfhhjAD7vznqFnejny4+6gUvW+B+3OOwQFYvR2atgMD+quhwlGCEWQLUJEI3LhzzNa3kw1uzxsg3k5v/sqeYf/EAojbh1B44QmhQvDVvTaOyKMnL/UcVaCr05Fb6xUToDC5ejbEn7MPk0PbmzP4TDLzjwRHakIPeGoGWNxHpXCMT8s2dg69qIdvC9y4g+DE5Bz5GXryks7JpVuPJJUR4OQgRVjB6LVxEPm0Bn4QlzZyC5NmVk9e6jl6ApuAKGFQT2AAAIg+MSanM81u5mVHa6rw1+p8/cTknM9aMZY1ZwDGw8XVXAMpI8o4R2Om5t+Th32JpRG8LaBB3eaejjGwQxn0n6OH9+JDmP38kOPt1xyvh9QbFTesfKN5xA///acXvwrm/iBJwNAn5kydUviLhQyuih6+rYdv029lE5NzmjOg18b12riKqFjaOT+V84osAYKJ5lMKREXR0ecGhtJAcUdF0dGqfURSYsMM+LwZlgPjZmIFubi7FNfOFy8WRPKKRmnH18r5pwOq8jfzMgBERREemciKikW6T81yMXwn8xw3hH9lH2dAdHbOMTjgeP1R6AGfe0gt850K4FIKGX3eSeh5A8Q1XFnsn1jQxAtH4MadHW7AZqpLXqYFsZ8fkn/zIwBg+Zca8efsw+QQ5seoaphJ9pGc4EVH2TFb5r+KbtCcAXWf//lCSMX8Rqu6A/7rpgk1CCaayyj/ysbJQZvOdfH8QIFzJibn6pIL3YUqOJf9n53C4FIALZX9/FC04xlqkJTYu49Z2prSs+GJMTltJ7iZl8vTLN85+tsZPxtnANyfcwwOwOrt0LQdJzPdJbXM/cssAHi6NoOJZs3C93RtOpckWgkDoTjMQFJikX0ccSTCDLi2H9E43h4ug/085zxcXN15GxV1uWo5jDmGZe5ktoLb1EeO8P5Ehu5gojlIse/p2mwShrOPUdzQycGKbiI6OTC9VsLAkDZ6XpE1zu/korNzqIT7g2TG5T/JTG8VHmbApQA1A8DRmgrUbwbgHM3tgAJgpgMI+1FRdKx8A2++q0uDTg7mp+LOYf2V+2JB7Dkqqc/v/OWcpMSHGfB5MywHxs1oKQB58aKzWtUQ1cOFbhktSEW0p2vTyWzluhMOjAPwyERWVNx+x/wUMKHia36Knp9FByy6mcb52+eoWd6OfDjOgOjsnGNwwPH6o9CDdPkfs/X12jhcKr+uHo4U07xj4lyS8JHQLdPs+5dZ/zJ7oFINGLhxZ4cb3J43QFzDlcX+iQVNvEDt99q4Hr4NF+Go2rgqnEsSyuA3WoVuWUjFaIXSkqRi2Ra0g9D8ESVtiD9nHyaHtjdn8JkkXXpZkzb0gKdmgMV9VArXbwbQViN0y/5lK9qRkIr5l61gZIVUzE9NYBzRlRGgqP+Q6LVxEPm02lxMTM5pal9VPJhoDhJIXAMjm/YZinRiPqiQBzabWM5OnrkUMPOyozX1i0CW9eIf+sgEAHHncEnU+KxS9IkxKWX6EV9a0jDHDsCjAMAxOACrt0PTdpwxF88P9PBt6caSNghfVcXl3/yoGrN0sUNfu39Z3QQAkNUBYQZcEpsWoJTQTxwAqNgHALw9XFEz/Hip5cMjT2dmF3tt3MHTI8++vFVtXMU+Vnra8Y1WAWQhFaP9Cnc2CUPurJ/fycH8VEkdQAh1f5AkT0KfZKalCnef4IEJqY9S3NDJwUqOkAhq7Q98LbkUoGYAOFpTgRh/8PQIAFxoWQaAz5521yx/YpoMJpoJ7yRBroVuOaIYcEjQfZA9Awj7pURSYsMM+LwZlgPjZmDSeS5uFkVHnzuLU8UdFUXHyjfw5rtZGvzM/vxU9IlRcz9AVhuRQDoAoIdvuyDVLo88B2Q5XfXb5e9ktoIAIK45+9pxNviNVk/XpnNJ8hutB4AJZVbp7GuzXAyPiiI8MpEVFcX0g/kpzd+Tb7/7qBS9b4nOzjkGBxyvPwo94AHg5r1UD992816K5Li52ngw0exfZp3MFpo+Gk565KZifqMVB7KnaxNVwf86sHPPdXveAHENVxb7JxY08RrEzOwifUWyaoADAIhrabqN1jT73bLfaBVSMaFbFrplogq6ULYFlRXx5+zD5ND2AKRYSPZRgzGd/HVxu9grEaEHPDUDLO6jUjjGn2R/IBtIPjO7eJJyrGrg8Nqvc7Gv/ed28Cib2BCZUdzXTkwJujbTgyEVq0AHNGB8a3ERamqZe7o2I4ohohiCiWas9IhiQC9KT+ZUDM2KWJAhNG0nv9vMy47WFABEnxiTFJ4vyP4y5vbdx5lCcilg5uXc95Lz8+3HGQD35xyDA7B6OzRtJ8Mfqel/FK5Z7un6n2CiGUsbr8R/6G9HDQDahVQM+tqzLCgppT+SJEV5BIDDpbMfpmgCgDADLonNfS/e5t2fDWasTz7cZqkDHkw0E8NxMlvQtelckkAEzxEDIv5lNnKEx+aAZQAjC8sAwnD2GnKznH1XL6Z/tGNEOP3OkNc7Rl+rjcOoVRgGcoVRq3ClHUatnst8BtlOPJd53JA9AxR3VBRdSrrNd+lVNQzyDYmK456uTXQY9BxP1yaIa0Iq5mS2COI3Wj1dm0K37FyS0oNBeMtE1vt2y/t2C8vZT5nsu/d6+p2hjhGhY0Twesfoa7VxYRg8l3mselL+mstzmcedwpXsGUBG3EvTAQDQw7fBUi1w9PcggNAtg7gG0I4NQXyfTAgcGNC1CQDZFrQdZl7WRHYLfqFlOU0NTVOVcSezJaRi6Dx+ozWiGIRuGfra0+ynYhHFgDYVTDRj4mS2NAQw83JSSgtFI7sFpxFkKjeqgfuXWSx2v9EqpGLIu3+ZFVIx7A8ns+VktoRuGakPJpr9y2wTy9lp8yHfQBcX/VWNj0feGyEVGpc2yPXjpZaq4v74BP4MtB3nkgR97SCuEfbTYvS1A0BEMTiZrYhiyJoBYQZc2RX0EsTM7GKvjasNLnTLEcUAS+BckvxGqyDGVI7vN1phGTxdm+lpkYr9PyIyq5nzvnj4AAAAEHRFWHRMb2RlUE5HADIwMTEwMjIx41m2wQAAAABJRU5ErkJggg==");
+ -repeat center;
+ -webkit-background-size:cover; -moz-background-size:cover; -o-background-size:cover; background-size:cover;
+}
+
+.button_gfx{
+ stroke-width:2;
+ stroke: #ffffff;
+ stroke-opacity:0.4;
+ fill-opacity:0.2;
+ fill:black;
+}
+
+.button_gfx_icon{
+ stroke-width:3;
+ stroke: #909090;
+ stroke-opacity:0.7;
+ fill:none;
+}
+
+-->
+</STYLE>
+
+</head>
+
+<body style="padding:0px; margin:0px; background-color:#222; color:#ccc">
+<div id="body_0"> <!-- hide this when playing in mobile (p8_touch_detected) so that elements don't affect layout -->
+
+
+<!-- Add any content above the cart here -->
+
+
+<div id="p8_frame_0" style="max-width:800px; max-height:800px; margin:auto;"> <!-- double function: limit size, and display only this div for touch devices -->
+<div id="p8_frame" style="display:flex; width:100%; max-width:95vw; height:100vw; max-height:95vh; margin:auto;">
+
+ <div id="p8_menu_buttons_touch" style="position:absolute; width:100%; z-index:10; left:0px;">
+ <div class="p8_menu_button" id="p8b_full" style="float:left;margin-left:10px" onClick="p8_give_focus(); p8_request_fullscreen();"></div>
+ <div class="p8_menu_button" id="p8b_sound" style="float:left;margin-left:10px" onClick="p8_give_focus(); p8_create_audio_context(); Module.pico8ToggleSound();"></div>
+ <div class="p8_menu_button" id="p8b_close" style="float:right; margin-right:10px" onClick="p8_close_cart();"></div>
+ </div>
+
+ <div id="p8_container"
+ style="margin:auto; display:table;"
+ onclick="p8_create_audio_context(); p8_run_cart();">
+
+ <div id="p8_start_button" class="p8_start_button" style="width:100%; height:100%; display:flex;">
+ <img width=80 height=80 style="margin:auto;"
+ src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAABpklEQVR42u3au23DQBCEYUXOXIGKcujQXUgFuA0XIKgW90Q9oEAg+Ljd27vd2RsCf058gEDqhofPj+OB6SMCAQlIQAIyAhKQgARkBAQDnM6XSRsB7/2e/tSA0//12fCAKsQX3ntDA4oRFwBRIc0AixE38BAhTQGLEAsBUSDNAXcRhYDRIZsAPlp99VECRoXsDpgN0g0wC6Q7IDpkGEBUyG6A0+vKBtkdMBukG2AWSHdAdMgwgKiQ4QDRIMMCokCGB4wOCQPYFVKw2cABNocUjl6wgE0gFashPKAZpHJ2TQNYBVmxW6cDFENWDv9pAUshCVgJScBKSAISkD9hPkT4GkNAMdzepyj8Kye852EBLe51CZHHWQK4JcThD1SlcHPEYY/0a+A0n6SkGZV6w6WZNb3g4Id1b7hwgGhwYQBR4dwB0eHcALPAdQfMBhcOEA0uDCAqnDsgOpwbYBa4poA/31+rZYFrBriFpwGMCtcEcA9PAhgdzhywBK8EEQXOFFCCtwaIBmcGKMWbI6LCmQBq8R6hw5kAMgISkIAEJCAjIAEJSEBGQI9ukV7lRn9nD+gAAAAASUVORK5CYII="/>
+ </div>
+
+ <div id="p8_playarea" style="display:none; margin:auto;
+ -webkit-user-select:none; -moz-user-select: none; user-select: none; -webkit-touch-callout:none;
+ ">
+
+ <div id="touch_controls_background"
+ style=" pointer-events:none; display:none; background-color:#000;
+ position:fixed; top:0px; left:0px; border:0; width:100vw; height:100vh">
+  
+ </div>
+
+ <div style="display:flex; position:relative">
+ <!-- pointer-events turned off for mobile in p8_update_layout because need for desktop mouse -->
+ <canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault();" >
+ </canvas>
+ <div class=p8_menu_buttons id="p8_menu_buttons" style="margin-left:10px;">
+ <div class="p8_menu_button" style="position:absolute; bottom:125px" id="p8b_controls" onClick="p8_give_focus(); Module.pico8ToggleControlMenu();"></div>
+ <div class="p8_menu_button" style="position:absolute; bottom:90px" id="p8b_pause" onClick="p8_give_focus(); Module.pico8TogglePaused(); p8_update_layout_hash = -22;"></div>
+ <div class="p8_menu_button" style="position:absolute; bottom:55px" id="p8b_sound" onClick="p8_give_focus(); p8_create_audio_context(); Module.pico8ToggleSound();"></div>
+ <div class="p8_menu_button" style="position:absolute; bottom:20px" id="p8b_full" onClick="p8_give_focus(); p8_request_fullscreen();"></div>
+ </div>
+ </div>
+
+
+ <!-- display after first layout update -->
+ <div id="touch_controls_gfx"
+ style=" pointer-events:none; display:table;
+ position:fixed; top:0px; left:0px; border:0; width:100vw; height:100vh">
+
+ <img src="" id="controls_right_panel" style="position:absolute; opacity:0.5;">
+ <img src="" id="controls_left_panel" style="position:absolute; opacity:0.5;">
+
+
+ </div> <!-- touch_controls_gfx -->
+
+ <!-- used for clipboard access & keyboard input; displayed and used by PICO-8 only once needed. can be safely removed if clipboard / key presses not needed. -->
+ <!-- (needs to be inside p8_playarea so that it still works under Chrome when fullscreened) -->
+ <textarea id="codo_textarea" class="emscripten" style="display:none; position:absolute; left:-9999px; height:0px; overflow:hidden"></textarea>
+
+ </div> <!--p8_playarea -->
+
+ </div> <!-- p8_container -->
+
+</div> <!-- p8_frame -->
+</div> <!-- p8_frame_0 size limit -->
+
+<script type="text/javascript">
+
+ p8_update_layout();
+ p8_update_button_icons();
+
+ var canvas = document.getElementById("canvas");
+ Module = {};
+ Module.canvas = canvas;
+
+ // from @ultrabrite's shell: test if an AudioContext can be created outside of an event callback.
+ // If it can't be created, then require pressing the start button to run the cartridge
+
+ if (p8_autoplay)
+ {
+ var temp_context = new AudioContext();
+ temp_context.onstatechange = function ()
+ {
+ if (temp_context.state=='running')
+ {
+ p8_run_cart();
+ temp_context.close();
+ }
+ };
+ }
+
+ // pointer lock request needs to be inside a canvas interaction event
+ // pico8_state.request_pointer_lock is true when 0x5f2d bit 0 and bit 2 are set -- poke(0x5f2d,0x5)
+ // note on mouse acceleration for future: // https://github.com/w3c/pointerlock/pull/49
+ canvas.addEventListener("click", function()
+ {
+ if (!p8_touch_detected)
+ if (pico8_state.request_pointer_lock)
+ canvas.requestPointerLock();
+ });
+
+</script>
+
+
+
+<!-- Add content below the cart here -->
+
+
+
+
+</div> <!-- body_0 -->
+</body></html>
+
diff --git a/shmup.js b/shmup.js
new file mode 100644
index 0000000..e7df668
--- /dev/null
+++ b/shmup.js
@@ -0,0 +1,8145 @@
+var _cartname=[`sonic_25_sage-0.p8`];
+var _cdpos=0; var iii=0; var ciii=0;
+var _cartdat=[
+0,119,215,0,0,119,215,0,0,112,7,0,0,112,7,0,0,112,7,0,0,119,215,0,119,119,119,119,0,0,0,112,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,112,221,221,13,112,215,221,13,0,119,221,0,0,112,7,0,0,215,215,0,112,221,125,13,102,102,102,102,0,0,0,112,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,215,0,0,221,112,13,208,13,0,119,222,0,0,112,7,0,0,237,215,0,208,13,112,13,68,68,68,68,0,0,0,112,85,85,85,51,51,51,85,85,85,85,85,85,85,85,85,53,51,51,83,85,85,85,85,85,85,85,85,85,85,85,85,85,215,0,0,215,112,13,112,13,0,119,222,0,0,112,13,0,0,237,221,0,208,1,112,13,100,68,100,68,0,0,0,112,85,85,34,50,35,50,51,35,85,85,85,85,85,85,37,50,35,50,51,83,82,85,85,85,85,85,85,85,85,85,85,85,
+215,0,0,23,112,13,112,1,0,215,30,0,0,208,13,0,0,237,29,0,208,1,112,1,36,68,36,68,0,0,0,112,85,85,85,37,35,60,51,51,82,85,85,85,85,85,85,34,35,60,51,51,82,85,85,85,85,85,85,85,85,85,85,85,209,0,0,231,208,13,112,1,0,221,30,0,0,208,1,0,0,237,29,0,208,1,112,1,68,68,68,68,0,0,0,112,85,85,85,53,51,51,68,51,83,85,85,85,85,85,85,53,51,51,68,51,83,85,85,85,85,85,85,51,51,85,85,85,16,125,119,1,16,221,215,14,0,209,237,0,0,16,14,0,0,209,237,0,16,221,215,14,68,68,68,68,0,0,0,103,85,85,53,51,67,99,119,52,84,85,85,85,85,85,85,51,67,99,119,52,84,85,85,85,85,85,51,51,51,51,85,85,0,30,225,0,0,30,225,0,0,16,14,0,0,224,14,0,0,224,14,0,0,30,225,0,68,68,68,68,0,0,0,103,85,37,50,51,51,115,119,50,82,85,85,85,85,85,53,51,51,115,119,50,82,85,85,85,85,85,37,51,50,51,83,85,
+136,88,136,88,136,88,85,85,85,85,85,85,0,13,0,13,207,204,204,252,102,102,102,102,119,119,119,119,0,0,0,103,85,85,37,50,51,115,119,114,82,85,85,85,85,85,34,50,51,115,119,114,82,85,85,85,85,53,51,51,194,51,51,85,88,85,88,88,88,88,85,85,85,85,85,85,240,247,240,247,248,204,204,143,68,68,68,68,102,102,102,102,0,0,0,103,85,85,85,53,51,252,127,119,34,85,85,85,85,85,85,133,136,248,127,119,34,85,85,85,85,51,51,51,51,67,54,85,136,88,136,88,136,85,85,85,85,85,85,85,125,119,13,13,136,17,17,136,116,68,116,68,68,68,68,68,0,0,0,103,85,85,85,195,60,252,255,255,92,85,85,85,85,85,136,136,136,136,255,255,92,85,85,85,53,51,51,51,51,99,102,85,85,88,88,85,88,88,85,85,85,85,85,85,240,247,0,0,136,17,17,136,100,68,100,68,36,34,34,66,0,0,112,70,85,85,50,112,103,2,204,12,85,85,85,85,85,133,136,136,136,40,204,12,85,85,85,85,85,37,51,51,51,99,38,85,
+136,88,88,85,88,88,85,85,85,85,85,85,0,13,0,0,136,17,17,136,100,68,100,68,36,103,118,66,0,0,112,70,85,136,53,96,119,64,132,152,89,85,85,85,85,136,136,136,34,66,84,85,85,85,85,85,85,53,51,51,195,108,38,82,85,85,85,85,85,85,85,85,85,85,85,85,240,0,240,0,136,17,17,136,36,68,36,68,36,70,100,66,0,0,112,70,133,36,50,51,68,66,94,153,89,85,85,85,133,136,40,34,68,67,94,85,89,85,85,85,85,51,51,34,195,76,70,85,85,85,85,85,85,85,85,85,85,85,85,85,125,13,0,0,232,153,153,142,68,68,68,68,36,36,66,66,0,0,103,68,133,68,51,51,51,37,148,148,89,85,85,85,133,136,37,51,51,85,85,85,89,85,85,85,85,83,53,35,34,100,70,133,85,85,85,85,85,85,85,85,85,85,85,85,240,0,0,0,158,153,153,233,34,34,34,34,36,34,34,66,0,0,103,68,133,136,88,85,85,69,148,153,85,85,85,85,133,88,85,36,82,85,85,149,89,85,85,85,85,85,51,51,206,67,84,88,
+85,85,85,85,85,85,85,85,85,85,85,85,115,119,51,119,34,34,34,34,100,119,103,36,0,0,0,0,0,112,70,68,69,136,84,85,85,69,153,153,85,85,85,85,133,88,85,37,85,85,85,153,89,85,85,85,85,50,85,51,68,51,133,88,85,85,85,85,85,85,85,85,85,85,85,85,70,68,68,68,34,68,36,34,100,119,103,36,0,0,0,0,0,112,70,100,85,100,136,85,85,85,153,153,85,85,85,85,85,88,85,73,84,85,149,153,85,85,85,85,85,85,53,51,73,149,137,85,85,85,85,85,85,85,85,85,85,85,85,85,70,71,68,68,66,102,70,34,100,119,103,36,0,0,0,0,0,103,68,36,85,133,136,153,85,85,149,89,85,85,85,85,85,133,149,153,73,153,153,153,85,85,85,85,85,85,50,51,153,153,89,85,85,85,85,85,85,85,85,85,85,85,85,85,70,66,68,68,100,119,103,36,34,34,34,34,0,0,0,0,0,103,68,68,85,85,149,153,153,85,85,85,85,85,85,85,85,85,149,153,148,153,153,85,85,85,85,85,85,85,85,51,153,89,85,85,
+85,85,85,85,85,85,85,85,85,85,85,85,70,68,68,68,100,119,103,36,100,119,103,36,0,0,0,0,112,70,68,66,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,70,68,68,68,36,34,34,36,100,119,103,36,0,0,0,0,103,68,36,70,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,70,68,68,68,98,119,103,34,100,119,103,36,0,0,0,112,66,66,98,68,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,70,71,68,68,100,119,103,36,100,119,103,36,0,0,0,103,38,68,68,68,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,
+85,85,85,85,85,85,85,85,85,85,85,85,6,0,0,64,0,0,0,0,0,0,0,0,0,0,112,98,68,66,68,68,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,187,186,187,186,8,34,34,8,85,85,85,85,85,85,85,85,85,85,85,85,100,0,0,36,0,0,0,0,0,0,0,0,0,0,103,36,36,66,68,68,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,178,187,178,187,136,34,34,136,85,85,85,85,85,85,85,85,85,85,85,85,64,7,64,2,0,0,0,0,0,0,0,0,0,119,70,66,34,70,34,100,85,85,85,51,51,51,85,85,85,85,85,85,85,85,85,53,51,51,83,85,85,85,85,85,178,43,178,43,34,136,136,34,85,85,85,85,85,85,85,85,85,85,85,85,0,116,36,0,0,0,0,0,0,0,0,0,119,102,68,68,68,36,103,66,85,85,34,50,35,50,51,35,85,85,85,85,85,85,37,50,35,50,51,83,82,85,85,85,41,43,34,43,130,136,8,40,
+85,85,85,85,85,85,85,85,85,85,85,85,0,64,7,0,0,0,0,0,0,0,0,119,102,68,68,66,68,98,183,38,85,85,85,37,35,60,51,51,82,85,85,85,85,85,85,34,35,60,51,51,82,85,85,85,158,34,146,146,130,136,136,40,85,85,85,85,85,85,85,85,85,85,85,85,0,36,116,0,0,0,0,0,0,112,119,102,68,68,36,70,68,98,187,36,85,85,85,53,51,51,68,51,83,85,85,85,85,85,85,53,51,51,68,51,83,85,85,85,232,34,226,233,130,136,136,40,85,85,85,85,85,85,85,85,85,85,85,85,64,2,64,6,0,0,0,119,119,103,102,68,100,68,98,68,68,36,70,66,85,85,53,51,67,99,119,52,84,85,85,85,85,85,85,51,67,99,119,52,84,85,85,85,232,41,153,142,146,136,136,41,85,85,85,85,85,85,85,85,85,85,85,85,36,0,0,100,119,119,119,102,102,70,68,68,36,68,68,68,68,70,34,100,85,37,50,51,51,115,119,50,82,85,85,85,85,85,53,51,51,115,119,50,82,85,85,85,158,153,153,233,34,153,153,34,
+85,53,51,51,85,85,85,85,0,0,0,0,0,0,0,208,187,187,187,187,10,0,160,170,117,85,86,117,0,0,0,0,85,85,37,50,51,115,119,114,82,85,85,85,85,85,34,50,51,115,119,114,82,85,85,85,0,0,0,0,173,162,34,34,37,51,34,51,51,37,85,85,0,0,0,0,0,0,0,160,187,187,187,187,170,170,170,170,80,112,0,86,0,0,0,0,85,85,85,53,51,252,127,119,34,85,85,85,85,85,85,53,51,252,127,119,34,85,85,85,0,0,0,0,107,170,34,34,85,50,194,51,51,35,85,85,0,0,0,0,0,0,0,160,187,187,187,187,171,170,186,187,7,0,6,0,0,0,0,0,85,85,85,195,140,136,248,255,92,85,85,85,85,85,136,195,60,252,255,255,92,85,85,85,0,0,0,0,178,166,34,34,85,53,51,67,52,51,85,85,0,0,0,0,0,0,0,160,187,187,187,187,187,187,187,187,0,6,0,0,0,0,0,0,85,85,50,112,103,130,136,8,85,85,85,85,85,133,50,112,103,194,204,12,85,85,85,85,0,0,0,0,34,162,210,106,
+53,51,54,118,71,67,85,85,0,0,0,0,0,0,0,160,187,187,187,187,187,187,187,187,0,0,0,0,0,0,0,0,85,85,53,96,119,64,132,153,89,85,85,85,85,136,56,96,119,64,84,85,85,85,85,85,0,0,0,0,34,162,106,43,51,51,51,119,39,35,85,85,0,0,0,0,0,0,0,160,187,187,187,187,187,187,187,187,0,0,0,0,0,0,0,0,85,41,50,51,68,67,158,153,88,85,85,85,133,40,50,51,68,67,94,85,89,85,85,85,208,0,10,160,34,162,34,34,34,51,51,119,39,39,85,85,0,0,0,0,0,0,0,189,187,187,187,187,187,187,187,187,0,0,0,0,0,0,0,0,149,73,84,51,51,53,149,134,88,85,85,85,133,136,37,51,51,85,85,85,89,85,85,85,218,13,218,160,34,162,34,34,85,53,195,255,119,39,82,85,0,0,0,0,0,0,0,186,187,187,187,187,187,187,187,187,0,0,0,0,170,218,0,0,149,73,34,82,85,85,115,143,89,85,85,85,133,88,85,53,85,85,85,149,89,85,85,85,218,173,219,189,34,109,43,34,
+85,34,195,255,255,207,85,85,0,0,0,0,0,0,0,189,219,189,219,189,162,186,171,186,171,186,171,42,136,17,17,136,149,153,89,85,85,85,136,104,85,85,85,85,133,88,85,68,85,85,85,153,89,85,85,85,187,186,187,186,153,238,238,153,37,34,34,192,204,80,85,85,0,0,0,0,0,0,0,189,171,189,171,189,185,186,171,186,171,186,171,155,136,17,17,136,85,153,153,85,85,85,134,152,85,85,85,85,85,88,85,104,84,85,149,153,85,85,85,85,178,187,178,187,153,238,238,153,85,85,53,51,158,85,85,85,0,0,0,0,0,0,0,189,171,186,171,186,46,186,171,186,171,186,171,226,136,17,17,136,85,149,153,153,89,85,149,89,85,85,85,85,85,133,133,136,104,136,136,153,85,85,85,85,178,43,178,43,238,153,153,238,85,85,195,3,204,94,85,85,0,0,0,0,0,0,208,189,171,186,171,186,152,186,171,186,171,186,171,137,136,17,17,136,85,85,149,153,153,153,85,85,85,85,85,85,85,85,149,136,134,136,153,85,85,85,85,85,41,43,34,43,238,153,153,238,
+85,37,60,3,204,80,85,85,0,0,0,0,0,0,208,189,171,186,171,186,232,186,162,186,171,42,171,142,136,17,17,136,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,158,34,146,146,238,153,153,238,85,85,124,50,0,84,85,85,0,0,0,0,0,0,218,186,171,186,171,186,136,43,34,186,171,34,178,136,136,17,17,136,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,232,34,226,233,238,153,153,238,85,85,119,38,34,84,85,85,0,0,0,0,0,0,218,186,171,186,171,186,232,34,153,187,187,153,34,142,136,17,17,136,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,232,41,153,142,153,238,238,153,85,85,102,36,37,85,85,85,0,0,0,0,0,208,171,186,171,186,171,186,158,146,153,178,43,153,41,233,136,17,17,136,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,158,153,153,233,153,238,238,153,
+85,85,85,37,37,85,85,85,0,0,0,0,0,160,171,186,119,119,119,119,119,119,119,103,0,0,0,170,170,10,0,0,207,204,204,204,204,204,204,252,85,85,85,85,85,85,85,51,51,83,85,85,85,85,85,85,85,85,85,85,34,34,34,34,85,85,85,102,69,86,85,85,0,0,0,0,0,173,171,186,70,68,68,68,68,68,68,148,0,0,170,170,160,170,10,0,248,204,204,204,204,204,204,143,85,85,85,85,85,85,51,51,51,51,83,85,85,85,85,85,85,85,85,85,41,41,41,41,85,85,133,135,41,153,85,85,0,0,0,0,0,189,171,186,70,71,68,68,68,68,116,36,0,160,10,10,10,170,170,0,136,17,17,17,17,17,17,136,82,85,85,85,85,53,51,51,51,51,51,85,85,85,85,85,85,85,85,85,146,146,146,146,85,85,101,136,136,41,89,85,0,0,0,0,208,189,171,186,70,66,68,68,68,68,36,36,0,171,160,0,0,208,173,10,136,17,17,17,17,17,17,136,82,85,85,85,85,50,50,51,51,67,52,83,85,85,85,85,34,211,93,85,153,153,153,153,
+85,85,85,85,85,85,85,85,0,0,0,0,218,189,171,186,70,68,68,68,68,68,68,36,0,11,10,0,0,125,215,10,136,17,17,17,17,17,17,136,83,85,85,85,85,34,51,51,51,116,71,83,85,85,85,194,204,156,102,83,233,153,153,233,85,85,85,85,85,85,85,85,0,0,0,208,219,189,171,186,118,119,119,119,119,119,119,103,176,187,0,0,0,125,215,170,136,17,17,17,17,17,17,136,84,85,85,85,37,34,51,51,51,116,71,51,85,85,37,51,204,20,100,89,158,153,153,158,85,85,85,85,85,85,85,85,0,0,208,160,219,186,171,186,102,102,102,102,102,102,102,38,176,11,0,0,0,208,13,170,136,17,17,17,17,17,17,136,82,85,85,85,37,50,50,51,51,67,52,51,85,85,50,51,195,113,209,233,153,238,238,153,85,85,85,85,85,85,85,85,0,160,208,189,171,186,171,186,70,68,68,68,68,68,68,36,160,176,0,0,0,0,160,160,136,17,17,17,17,17,17,136,82,85,85,85,53,34,51,51,51,51,51,51,85,37,179,59,195,20,52,238,153,238,238,153,
+0,0,0,0,0,0,0,0,0,160,218,189,0,0,0,0,158,217,221,157,153,217,221,157,160,11,0,0,0,0,0,170,136,17,17,17,17,17,17,136,34,85,85,85,53,34,50,51,51,51,51,51,85,34,50,187,195,221,227,238,146,158,146,34,0,0,0,0,0,0,0,0,208,160,171,189,0,0,0,0,41,221,221,34,34,221,221,34,160,187,0,0,0,0,160,170,136,17,17,17,17,17,17,136,92,85,85,85,53,34,35,51,51,51,51,51,85,34,35,51,227,238,238,94,34,233,41,34,0,0,0,0,0,0,0,0,208,189,171,186,0,0,0,0,217,221,45,34,210,221,45,34,0,10,11,0,0,0,10,10,136,17,17,17,17,17,17,136,85,85,85,85,85,35,50,50,51,51,51,83,37,34,50,51,63,51,51,82,146,158,146,34,0,0,0,0,0,0,208,208,218,189,171,186,0,0,0,0,31,17,34,34,17,17,34,34,0,186,176,0,0,176,176,10,136,17,17,17,17,17,17,136,85,85,85,85,85,35,34,35,35,35,35,83,37,34,35,51,255,51,47,85,34,233,41,34,
+0,0,0,0,0,160,208,173,219,189,171,186,0,0,0,0,70,68,68,68,68,68,68,36,0,160,11,11,11,11,171,0,136,17,17,17,17,17,17,136,85,85,85,85,85,53,34,34,50,50,50,85,37,34,50,50,242,242,82,85,146,158,146,34,0,0,10,0,218,160,218,189,171,189,171,186,0,0,0,0,70,68,68,68,68,68,68,36,0,0,170,187,176,187,11,0,136,17,17,17,17,17,17,136,85,85,85,85,85,85,51,34,34,34,82,85,37,34,34,34,47,47,85,85,34,233,41,34,160,160,10,173,218,173,219,189,171,186,171,186,0,0,0,0,70,68,68,68,68,68,68,36,0,0,0,170,187,11,0,0,232,153,153,153,153,153,153,142,85,85,85,85,85,85,85,51,34,82,85,85,85,34,34,34,34,85,85,85,146,158,146,34,170,173,219,173,219,189,219,189,171,186,171,186,0,0,0,0,70,68,68,68,68,68,68,36,0,0,0,0,0,0,0,0,158,153,153,153,153,153,153,233,85,85,85,85,85,85,85,85,85,85,85,85,85,37,34,34,85,85,85,85,34,233,41,34,
+85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,3,4,1,1,85,85,53,51,51,83,85,85,85,85,85,85,85,85,53,51,51,83,85,85,85,85,85,85,85,85,53,51,51,83,85,85,85,85,85,85,85,85,53,51,51,83,85,85,85,85,85,85,85,85,53,51,51,83,85,85,85,85,85,85,4,1,1,1,85,37,51,51,35,50,83,85,85,85,85,85,85,37,51,51,35,50,83,85,85,85,85,85,85,37,51,51,34,51,35,85,85,85,85,85,85,85,50,35,50,51,83,82,85,85,85,85,85,85,50,35,50,51,83,82,85,85,85,85,4,1,1,1,85,85,34,51,35,60,51,85,85,85,85,85,85,85,34,51,35,60,51,85,85,85,85,85,85,85,37,51,194,51,51,85,85,85,85,85,85,85,37,35,60,51,51,82,85,85,85,85,85,85,37,35,60,51,51,82,85,85,85,85,4,1,2,1,
+85,85,37,51,52,51,52,83,85,85,85,85,85,85,37,51,52,51,52,83,85,85,85,85,85,85,51,51,51,67,52,83,85,85,85,85,85,85,53,51,51,68,51,83,85,85,85,85,85,85,53,51,51,68,51,83,85,85,85,85,4,2,2,2,85,53,51,67,71,99,71,83,85,85,85,85,85,53,51,67,71,99,71,83,85,85,85,85,85,53,51,99,51,118,71,83,85,85,85,85,85,85,51,67,99,119,52,84,85,85,85,85,85,85,51,67,99,119,52,84,85,85,85,85,1,2,2,2,85,51,51,51,52,99,119,82,85,85,85,85,85,51,51,51,52,99,119,82,85,85,85,85,85,51,51,51,51,119,39,84,85,85,85,85,85,53,51,51,115,119,50,82,85,85,85,85,85,53,51,51,115,119,50,82,85,85,85,85,1,2,2,2,37,34,50,51,51,99,119,82,85,85,85,85,37,34,50,51,51,99,119,82,85,85,85,85,85,34,50,51,51,119,39,86,85,85,85,85,85,37,50,51,115,119,114,82,85,85,85,85,85,37,50,51,115,119,114,82,85,85,85,85,1,2,3,2,
+85,85,35,51,51,252,119,41,85,85,85,85,85,85,35,51,51,252,119,41,85,85,85,85,85,85,35,51,195,255,119,34,85,85,85,85,85,85,53,51,252,127,39,82,85,85,85,85,85,85,53,51,252,127,39,82,85,85,85,85,2,3,3,3,85,53,34,50,51,252,255,92,85,85,85,85,85,53,34,50,51,252,255,92,85,85,85,85,85,53,34,50,195,255,255,92,85,85,85,85,85,85,35,50,252,255,255,92,85,85,85,85,85,85,35,50,252,255,255,92,85,85,85,85,2,3,3,3,85,37,34,34,50,192,204,119,85,85,85,85,85,37,34,34,50,192,204,85,85,85,85,85,85,37,34,34,2,204,12,85,85,85,85,85,85,85,34,34,2,204,12,85,85,85,85,85,85,118,192,34,2,204,12,85,85,85,85,85,2,3,3,3,85,69,148,51,227,89,101,119,85,85,85,85,85,85,85,51,227,201,119,85,85,85,85,85,85,85,85,233,227,89,85,85,85,85,85,85,85,101,7,12,227,89,100,86,85,85,85,85,85,119,86,12,227,89,85,100,86,85,85,85,2,3,4,3,
+85,69,52,51,196,14,64,102,85,85,85,85,85,85,53,51,196,110,119,85,85,85,85,85,85,85,101,119,195,80,85,85,85,85,85,85,85,117,103,51,195,156,100,84,85,85,85,85,85,103,84,51,195,156,153,100,84,85,85,85,3,4,4,4,85,85,50,50,206,80,85,85,85,85,85,85,85,85,50,50,206,64,102,85,85,85,85,85,85,85,69,118,195,94,85,85,85,85,85,85,85,117,70,50,3,51,69,84,85,85,85,85,85,85,37,35,195,80,85,69,84,85,85,85,3,4,4,4,85,85,85,53,3,41,85,137,41,85,85,85,85,85,85,37,3,41,85,85,85,85,85,85,85,85,85,68,50,51,85,85,85,85,85,85,85,85,85,37,51,50,85,85,85,85,85,85,85,85,85,37,51,51,85,133,152,85,85,85,3,4,4,4,85,137,36,83,85,85,98,150,146,85,85,85,85,149,72,50,85,37,85,85,85,85,85,85,85,85,85,34,73,54,85,85,85,85,85,85,85,149,36,82,149,100,85,85,85,85,85,85,85,153,36,82,85,69,134,135,89,85,85,85,3,4,1,4,
+69,143,102,85,85,85,148,36,89,85,85,85,85,244,104,86,85,37,84,85,85,85,85,85,85,85,85,146,136,84,85,85,85,85,85,85,85,153,68,85,133,104,81,85,85,85,85,85,85,137,86,85,85,85,136,150,85,85,85,85,2,3,2,3,133,240,80,85,85,85,153,146,85,85,85,85,149,104,15,85,85,69,132,134,136,85,85,85,85,85,85,36,105,88,85,85,85,85,85,85,85,66,102,85,149,134,136,81,85,85,85,85,85,100,89,85,85,85,153,84,85,85,85,85,3,4,3,4,137,8,85,85,85,85,41,89,85,85,85,85,149,136,86,85,85,149,153,148,41,85,85,85,85,85,149,153,146,152,85,85,85,85,85,85,85,37,153,88,85,149,136,88,85,85,85,85,149,136,84,85,85,85,34,85,85,85,85,85,4,4,4,4,137,80,85,85,85,85,85,85,85,85,85,85,149,88,85,85,85,37,153,34,85,85,85,85,85,85,37,153,41,137,85,85,85,85,85,85,85,85,34,137,85,85,85,85,85,85,85,85,149,153,85,85,85,85,85,85,85,85,85,85,1,1,1,4,
+85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,1,1,1,1,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,2,1,2,1,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,2,2,2,2,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,2,2,2,2,
+85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,53,51,51,83,85,85,85,85,85,85,85,85,53,51,51,83,85,85,85,85,85,85,85,85,53,51,51,83,85,85,85,85,85,85,85,85,85,70,68,70,68,68,20,0,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,50,35,50,51,83,82,85,85,85,85,85,37,51,51,34,51,35,85,85,85,85,85,85,37,51,51,35,50,83,85,85,85,85,85,89,149,69,98,73,114,102,102,70,51,13,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,37,35,60,51,51,82,85,85,85,85,85,85,37,51,194,51,51,85,85,85,85,85,85,85,34,51,35,60,51,85,85,85,85,85,149,85,73,66,73,98,68,68,68,211,81,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,
+85,85,53,51,51,68,51,83,85,85,85,85,85,85,51,51,51,67,52,83,85,85,85,85,85,85,37,51,52,51,52,83,85,85,85,85,85,170,170,155,146,150,153,153,153,1,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,51,67,99,119,52,84,85,85,85,85,85,53,51,99,51,118,71,83,85,85,85,85,85,53,51,67,71,99,71,83,85,85,85,85,165,167,122,187,41,153,34,34,34,146,158,82,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,53,51,51,115,119,50,82,85,85,85,85,85,51,51,51,51,119,39,84,85,85,85,85,85,51,51,51,52,99,119,82,85,85,85,85,38,170,34,183,153,233,153,233,142,233,136,41,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,37,50,51,115,119,114,82,85,85,85,85,85,34,50,51,51,119,39,86,85,85,85,85,37,34,50,51,51,99,119,82,85,85,85,85,38,123,34,182,41,233,40,136,158,130,232,41,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,
+85,85,53,51,252,127,39,82,85,85,85,85,85,85,35,51,195,255,119,34,85,85,85,85,85,85,35,51,51,252,119,41,85,85,85,85,101,187,102,180,41,153,66,146,41,226,153,34,0,0,0,0,0,0,0,0,85,85,85,85,146,153,153,153,85,85,35,50,252,255,255,92,85,85,85,85,85,53,34,50,195,255,255,92,85,85,85,85,85,53,34,50,51,252,255,92,85,85,85,85,149,187,187,155,34,98,34,38,34,37,34,82,0,0,19,17,50,0,0,0,85,85,85,85,153,238,14,0,85,85,118,38,2,204,12,85,85,85,85,85,85,37,98,119,2,204,12,85,85,85,85,85,85,37,34,50,99,119,204,85,85,85,85,85,85,153,153,41,85,148,66,89,85,85,85,85,0,48,17,17,33,67,68,0,85,85,85,85,153,153,233,238,85,85,119,4,227,89,100,86,85,85,85,85,85,85,69,118,227,89,85,85,85,85,85,85,85,85,85,227,64,118,85,85,85,85,85,85,85,34,82,82,69,41,37,85,85,85,85,85,0,51,17,17,33,51,51,4,85,85,85,85,153,153,233,238,
+85,85,100,52,195,156,100,84,85,85,85,85,85,85,85,68,195,78,84,85,85,85,85,85,85,85,53,51,35,68,85,85,85,85,85,85,85,37,85,85,85,82,85,85,85,85,85,85,32,34,50,51,34,18,49,67,85,85,85,85,146,153,153,153,85,85,37,35,195,80,69,84,85,85,85,85,85,85,37,50,206,64,84,85,85,85,85,85,85,85,50,50,206,32,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,32,50,17,33,34,19,49,67,85,85,85,85,153,238,14,0,85,37,73,34,51,51,85,85,85,85,85,85,85,85,85,53,2,73,85,85,85,85,85,85,85,85,85,53,2,41,82,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,51,19,17,33,50,18,50,67,85,85,85,85,153,153,233,238,85,69,105,36,82,53,85,85,85,85,85,85,85,85,85,50,85,82,85,85,85,85,85,85,85,85,85,50,149,36,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,35,19,17,33,50,51,51,68,85,85,85,85,153,153,233,238,
+85,153,148,85,85,101,120,17,152,85,85,85,85,85,85,147,66,82,85,85,85,85,85,85,85,85,36,83,146,68,89,85,85,85,85,85,85,85,85,85,255,255,255,255,255,255,255,255,51,36,34,34,35,34,67,84,136,17,17,136,34,34,34,34,37,153,73,85,85,133,104,136,89,85,85,85,85,85,69,100,73,85,85,85,85,85,85,85,85,133,72,84,37,148,153,85,85,85,85,85,85,85,85,85,255,47,255,255,47,255,47,242,68,52,35,51,18,17,66,85,136,17,17,136,34,153,233,238,37,153,85,85,85,149,73,89,85,85,85,85,85,85,149,136,22,85,85,85,85,85,85,85,85,149,136,22,85,37,153,85,85,85,85,85,85,85,85,85,244,34,242,255,34,242,98,242,64,35,17,50,18,17,50,84,136,17,17,136,34,34,146,153,85,85,85,85,85,37,82,85,85,85,85,85,85,85,37,104,136,24,85,85,85,85,85,85,85,85,104,136,24,85,85,85,85,85,85,85,85,85,85,85,100,39,98,114,38,34,103,242,0,35,17,50,18,17,50,4,136,17,17,136,34,34,146,153,
+85,85,85,85,85,85,85,85,255,255,255,95,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,66,118,38,100,36,116,70,242,0,51,51,51,51,50,51,4,136,17,17,136,34,34,34,34,85,85,85,85,85,85,85,85,255,255,255,95,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,47,100,102,68,98,102,36,255,0,52,51,51,52,51,67,5,136,17,17,136,34,153,233,238,85,85,85,85,85,85,85,85,255,255,255,95,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,255,255,66,70,36,242,255,255,0,69,68,68,85,68,85,0,232,153,153,142,34,34,146,153,85,85,85,85,85,85,85,85,255,255,255,95,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,66,100,118,119,118,102,68,242,0,0,85,84,5,85,5,0,158,153,153,233,34,34,146,153,
+255,255,255,255,255,255,255,255,255,255,255,47,17,34,51,34,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,207,204,204,252,146,241,238,40,219,189,219,189,0,4,0,0,0,4,0,0,111,118,119,119,119,119,102,255,98,119,34,18,34,51,34,17,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,248,204,204,143,146,241,238,40,171,189,171,189,0,6,0,4,0,6,0,4,100,68,68,68,68,68,100,242,66,70,34,34,51,34,17,51,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,53,51,51,82,68,85,85,85,85,85,136,17,17,136,130,238,31,41,171,186,171,186,0,6,0,4,0,6,0,4,100,41,34,34,34,34,105,242,146,136,41,50,17,51,34,17,85,158,85,85,85,85,85,85,85,85,85,53,83,53,85,85,85,53,51,51,51,51,70,85,85,85,85,85,136,17,17,136,130,238,31,41,171,186,171,186,0,6,0,4,0,6,0,4,
+100,210,17,17,17,209,98,242,130,136,136,25,51,34,51,34,85,85,94,85,85,85,85,85,85,85,85,37,51,53,83,85,85,38,36,99,71,67,100,84,85,85,85,85,136,17,17,136,146,241,238,40,171,186,171,186,64,70,0,4,64,70,0,4,100,18,130,112,128,18,98,242,34,34,34,34,17,51,17,51,85,94,149,85,85,85,85,85,85,85,51,51,51,51,51,85,37,116,199,116,119,99,66,82,85,85,85,85,136,17,17,136,146,241,238,40,171,186,171,186,64,71,64,68,64,71,64,68,100,18,8,119,7,24,98,242,153,221,151,57,34,17,34,17,85,149,85,85,85,85,85,85,85,37,51,51,51,51,51,85,99,119,54,116,39,38,36,149,88,82,85,85,136,17,17,136,130,238,31,41,171,186,171,186,64,71,64,68,64,71,64,68,100,18,8,119,7,24,98,242,217,153,121,9,0,0,0,0,85,85,85,85,85,85,85,85,85,85,37,51,36,55,51,83,35,102,55,115,39,47,146,149,41,82,85,85,136,17,17,136,130,238,31,41,171,186,171,186,64,71,64,68,64,71,64,68,
+100,18,8,119,7,24,98,242,25,153,217,9,0,0,0,0,85,85,69,84,85,85,85,85,85,51,51,99,103,52,51,115,85,34,196,195,255,153,47,133,146,146,85,85,129,136,136,24,28,17,17,193,207,204,204,252,64,71,64,68,64,71,64,68,100,18,130,112,128,18,98,242,25,153,25,9,0,0,0,0,94,52,52,52,84,85,85,85,53,50,51,195,118,39,51,99,85,51,3,12,255,136,144,133,146,146,85,85,25,136,136,145,206,17,17,236,248,204,204,143,96,103,64,68,96,103,64,68,100,210,17,17,17,209,98,242,153,29,145,9,0,0,0,0,149,69,68,51,51,85,85,85,85,53,227,236,119,102,51,67,85,35,50,206,192,12,89,134,34,34,85,85,153,238,238,153,238,136,136,238,136,17,17,136,96,103,64,70,96,103,64,70,100,36,34,34,34,34,100,242,50,34,50,2,0,0,0,0,85,133,120,55,51,83,85,85,53,35,51,158,51,194,62,34,85,82,53,146,156,233,85,71,34,34,85,85,153,238,238,153,238,136,136,238,136,17,17,136,100,103,68,70,100,103,68,70,
+66,118,119,119,119,119,70,242,82,34,83,3,0,0,0,0,85,205,188,119,55,17,85,85,85,37,34,51,102,52,34,82,85,85,37,82,147,204,94,150,146,146,85,85,153,238,238,153,238,136,136,238,136,17,17,136,100,103,68,70,100,103,68,70,47,100,102,68,100,102,36,255,117,53,50,2,0,0,0,0,149,201,188,187,107,22,81,85,85,85,102,36,34,34,34,85,85,85,37,53,51,238,35,100,153,34,85,85,217,238,234,169,238,136,136,238,136,17,17,136,100,103,68,70,100,103,68,70,255,255,66,102,70,242,255,255,82,34,35,2,0,0,0,0,245,153,136,187,171,106,17,85,85,133,135,41,41,34,85,85,85,85,85,53,53,34,85,69,34,82,85,85,218,45,218,162,158,34,34,233,232,153,153,142,100,103,68,70,100,103,68,70,66,100,118,119,119,102,68,242,50,50,53,2,0,0,0,0,85,85,255,127,167,170,22,81,85,105,136,136,41,89,85,85,85,85,85,85,34,82,85,85,85,85,85,85,218,173,219,189,41,34,34,146,158,153,153,233,100,103,68,102,100,103,68,102,
+20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,0,16,17,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,20,20,20,20,20,35,35,35,35,35,35,35,35,20,20,20,20,20,20,20,20,20,20,20,20,22,6,6,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,35,35,37,37,37,20,20,134,135,136,0,0,0,0,0,128,129,130,20,20,0,32,33,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,129,130,20,20,20,35,35,35,35,35,35,35,35,20,134,135,136,0,0,0,0,128,129,130,20,21,21,21,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,35,35,37,37,37,
+20,149,150,0,0,0,0,0,0,0,0,0,146,147,20,0,48,49,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,147,20,20,100,101,51,51,100,101,51,51,149,150,0,0,0,0,0,0,0,0,146,147,35,35,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,6,6,22,22,6,6,0,0,0,0,0,0,37,37,35,35,37,37,37,20,165,0,0,0,0,0,0,0,0,0,0,0,163,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,20,20,116,117,51,51,116,117,51,51,165,0,0,0,0,0,0,0,0,0,0,163,35,35,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,21,21,21,21,21,21,0,0,0,0,0,0,37,37,35,35,37,37,37,
+20,181,0,0,0,0,0,0,0,0,0,0,0,179,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,20,20,35,35,35,35,35,35,35,35,181,0,0,0,0,0,0,0,0,0,0,179,35,35,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,35,35,36,100,101,36,0,0,0,0,0,0,37,37,35,35,37,37,37,20,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,20,35,35,35,35,35,35,35,35,0,0,0,0,0,0,0,0,0,0,0,0,35,35,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,6,6,22,22,6,6,22,37,35,35,37,116,117,37,0,0,0,0,0,0,37,37,35,35,37,37,37,
+20,0,0,0,0,0,0,0,0,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,51,51,51,51,51,51,51,0,0,0,0,0,0,0,7,100,101,36,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,0,0,0,0,0,0,37,37,35,35,37,37,37,20,138,0,0,0,0,0,0,0,0,0,20,138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,84,84,84,84,84,84,84,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,51,51,51,51,51,51,51,0,0,0,0,0,0,0,23,116,117,37,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,36,36,36,36,35,35,35,36,35,35,36,100,101,36,0,0,0,0,0,0,37,37,35,35,37,37,37,
+20,154,0,0,0,0,0,0,0,0,0,20,154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,20,20,20,20,20,100,101,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,51,51,51,51,51,51,51,0,0,0,0,0,0,38,39,35,35,37,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,35,35,37,116,117,37,0,0,0,0,0,0,37,37,35,35,37,37,37,20,170,171,0,0,238,239,0,0,0,0,20,170,171,0,0,0,0,0,0,0,0,0,0,0,0,0,98,99,20,20,100,101,20,116,117,20,22,6,6,22,6,0,0,0,0,0,0,0,0,0,51,51,51,51,51,51,51,51,51,51,51,51,0,0,0,0,52,53,54,55,35,35,37,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,35,35,37,21,21,21,0,0,0,0,0,0,37,37,35,35,37,37,37,
+20,85,187,188,189,254,255,0,0,0,0,20,85,187,188,189,0,0,0,0,0,0,0,0,0,112,113,114,86,20,20,116,117,20,100,101,20,21,21,21,21,21,0,0,0,0,0,0,0,84,84,22,6,6,22,22,6,6,22,51,51,6,22,22,6,6,22,22,6,6,22,51,51,37,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,35,35,37,37,37,20,20,20,85,84,84,84,84,84,84,84,20,20,20,85,84,84,84,84,84,84,84,84,84,84,84,86,20,20,20,20,100,101,20,116,117,20,36,36,36,36,36,0,0,0,0,0,0,0,20,20,21,21,21,21,21,21,21,21,51,51,21,21,21,21,21,21,21,21,21,21,51,51,37,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,35,35,37,37,37,
+20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,116,117,20,20,20,20,0,0,0,0,0,0,0,0,0,0,0,0,20,20,100,101,100,101,36,36,100,101,0,0,36,36,51,51,100,101,35,35,35,35,51,51,37,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,35,35,37,37,37,20,20,134,135,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,129,130,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,20,116,117,36,36,37,37,116,117,0,0,37,37,51,51,116,117,35,35,35,35,51,51,37,37,0,0,22,6,6,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,37,37,35,35,37,37,37,
+20,149,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,20,35,35,37,37,37,37,35,35,0,0,37,37,0,0,0,0,0,0,0,0,0,0,36,36,0,0,21,21,21,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,37,37,35,35,37,37,37,20,165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,20,35,35,36,36,37,37,35,35,0,0,36,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,35,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,39,37,37,35,35,37,37,37,
+20,181,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,20,35,35,35,35,37,37,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,35,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,53,54,55,37,37,35,35,37,37,37,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,20,35,35,35,35,37,37,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,101,100,101,22,6,6,22,22,6,6,22,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,22,6,6,22,22,6,6,22,22,6,6,22,22,6,6,22,22,6,6,22,
+20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,20,20,21,21,21,21,36,36,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,117,116,117,21,21,21,21,21,21,21,21,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,20,0,0,0,0,0,0,0,0,0,0,0,0,0,22,6,6,22,22,6,6,22,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,20,20,21,21,21,21,100,101,35,35,138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,35,35,35,35,100,101,100,101,35,35,35,35,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,35,37,37,35,35,35,37,35,35,37,37,35,35,35,37,37,35,35,35,37,
+20,138,0,0,0,0,0,0,0,0,0,0,0,7,21,21,21,21,21,21,21,21,0,0,238,239,0,0,0,170,171,0,0,238,239,0,0,0,0,0,0,0,0,0,0,0,0,98,99,20,20,35,35,35,35,116,117,35,35,154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,35,35,35,35,116,117,116,117,35,35,35,35,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,35,37,37,35,35,35,37,35,35,37,37,35,35,35,37,37,35,35,35,37,20,154,0,0,0,0,0,0,0,0,0,0,0,23,37,100,101,37,20,20,20,20,0,0,254,255,0,0,0,85,187,188,189,254,255,0,0,0,0,0,0,0,0,0,0,112,113,114,86,20,20,35,35,35,35,21,21,35,35,170,171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,39,35,35,35,35,35,35,35,35,35,35,35,35,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,35,37,37,35,35,35,37,35,35,37,37,35,35,35,37,37,35,35,35,37,
+20,170,171,0,0,0,238,239,0,0,0,0,38,39,37,116,117,37,100,101,20,20,84,84,84,84,84,84,84,20,20,85,84,84,84,84,22,6,84,84,84,6,6,6,22,84,86,20,20,20,20,35,35,20,20,20,20,20,20,85,187,188,189,0,0,0,0,0,0,0,0,0,0,52,53,54,55,35,35,35,35,35,35,35,35,35,35,35,35,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,35,37,37,35,35,35,37,35,35,37,37,35,35,35,37,37,35,35,35,37,20,85,187,188,189,0,254,255,0,0,52,53,54,55,37,21,21,36,116,117,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,100,0,0,0,0,0,101,37,21,20,20,20,20,20,20,35,35,20,20,20,20,20,20,20,20,85,84,84,84,84,84,84,84,21,21,21,21,21,21,21,21,35,35,35,35,35,35,35,35,35,35,35,35,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,35,37,37,35,35,35,37,35,35,37,37,35,35,35,37,37,35,35,35,37,
+20,20,20,85,22,6,6,22,6,6,22,6,6,22,36,116,117,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,116,0,0,0,0,0,117,36,21,20,20,20,20,20,20,35,35,35,35,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,35,36,36,35,35,35,36,35,35,36,36,35,35,35,36,36,35,35,35,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,1,0,0,161,161,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,161,161,161,1,161,161,1,1,1,0,1,0,0,0,1,1,1,1,1,176,1,1,1,1,1,0,0,0,0,0,
+13,14,67,68,9,25,67,68,74,28,91,68,92,29,25,68,65,26,67,68,21,94,95,68,23,32,67,68,33,34,35,36,165,38,39,34,40,41,42,34,37,38,39,34,43,41,44,45,46,38,34,37,47,41,34,40,46,38,34,37,48,41,49,43,72,50,51,34,72,50,52,34,53,50,51,34,53,50,54,49,72,55,56,34,102,55,57,45,56,55,49,58,57,187,60,61,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,
+0,15,0,15,128,14,128,14,128,12,128,12,128,12,128,12,128,12,128,12,128,12,128,12,128,0,128,12,128,12,128,12,128,12,128,12,128,12,128,12,128,12,128,12,128,12,128,12,128,12,128,0,128,0,128,0,128,0,128,0,128,0,128,0,0,2,13,26,164,6,164,6,164,6,164,6,164,6,164,6,164,6,164,6,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,140,0,1,1,0,8,176,15,176,15,176,15,176,15,176,15,176,15,176,15,176,15,176,15,176,15,176,15,176,15,176,15,176,15,176,15,176,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,16,240,8,235,8,228,8,228,8,228,8,228,8,228,8,228,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,8,56,48,0,0,0,0,140,48,0,0,0,0,0,0,0,0,251,1,247,1,244,1,140,48,247,1,244,1,240,1,237,1,140,48,24,49,0,0,19,49,24,49,0,0,24,49,0,0,24,49,0,0,140,48,0,0,19,49,24,49,19,49,0,0,0,13,0,0,0,128,1,128,34,128,36,128,36,128,36,128,36,128,36,128,36,128,36,128,36,128,36,128,36,128,43,128,40,128,36,128,33,128,33,128,45,208,45,208,33,128,33,128,45,208,45,208,34,128,34,128,46,208,46,208,34,128,34,128,46,208,46,208,0,13,0,0,57,0,169,0,169,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,169,0,169,0,169,0,169,0,169,0,169,0,169,0,169,0,0,13,0,0,55,0,38,1,166,0,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,36,1,36,1,
+36,1,36,1,36,1,36,1,36,1,36,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,0,13,0,0,228,14,228,12,228,10,225,14,225,12,225,10,225,10,225,10,225,8,225,8,225,6,225,6,225,4,225,4,225,2,204,32,204,32,204,0,204,0,204,0,204,0,204,0,204,0,204,0,204,0,204,0,204,0,204,0,204,0,204,0,204,0,204,0,0,4,0,0,113,132,114,150,115,152,116,150,117,150,118,150,119,150,119,148,119,148,119,148,119,132,119,130,119,130,119,130,119,130,183,0,183,0,183,0,183,0,183,0,183,0,183,0,183,0,183,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,1,10,0,0,190,87,191,91,191,93,191,91,190,91,187,91,185,91,183,89,181,89,177,89,173,89,170,89,169,89,166,89,163,89,161,87,158,87,156,87,154,87,153,85,150,85,148,85,146,83,144,83,141,83,137,83,135,83,140,81,140,81,128,208,128,208,128,208,1,2,0,0,184,87,182,91,180,95,177,93,173,91,169,90,165,91,162,90,159,91,157,88,
+155,89,153,88,152,89,151,88,150,89,149,88,148,89,147,88,146,89,145,88,144,89,143,88,142,89,141,88,141,89,141,86,141,87,141,86,141,87,141,86,141,85,141,82,0,2,0,0,57,10,55,10,57,10,55,8,57,8,55,8,57,8,55,8,57,8,55,8,57,6,55,6,57,6,55,6,57,6,55,6,57,6,55,6,57,6,55,6,57,4,55,2,57,2,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,0,249,11,249,91,249,11,249,89,249,9,249,89,249,9,249,89,249,9,249,89,249,7,249,87,249,7,249,87,249,7,249,87,249,7,249,87,249,7,249,7,249,5,249,3,249,3,249,3,249,3,249,3,249,3,192,1,192,1,192,1,192,1,192,1,1,4,0,0,247,91,247,11,247,91,247,9,247,89,247,9,247,89,247,9,247,89,247,9,247,87,247,7,247,87,247,7,247,87,247,7,247,87,247,7,247,7,247,7,247,5,247,3,247,3,247,3,247,3,247,3,247,3,192,1,192,1,192,1,192,1,192,1,1,4,0,0,105,154,106,154,
+107,154,108,154,109,154,110,154,111,154,112,154,113,154,114,154,115,154,116,154,117,154,117,154,117,154,117,154,117,152,117,152,117,152,117,152,117,150,117,150,117,150,117,150,117,148,117,148,117,148,117,148,117,146,117,146,117,146,117,146,1,4,0,0,29,10,29,26,29,26,29,26,29,26,34,26,34,26,35,26,35,26,36,26,36,26,37,26,37,26,38,26,39,26,40,26,41,26,42,26,43,24,44,24,45,24,46,22,47,22,49,20,50,20,52,18,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,161,27,161,27,161,27,161,27,35,24,36,24,37,24,38,22,39,20,39,18,40,18,40,18,40,18,40,18,39,18,38,18,37,18,36,18,35,18,33,18,32,18,31,18,29,18,27,18,26,18,24,18,22,18,20,18,17,18,16,18,17,18,20,18,0,1,0,0,161,27,161,27,161,27,35,20,38,20,39,18,40,18,40,18,39,18,37,18,34,18,31,18,28,18,24,18,20,18,16,18,16,18,20,2,192,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,2,0,0,10,10,10,26,11,28,11,28,11,30,11,30,11,28,11,28,11,42,11,42,11,40,11,40,11,38,11,38,11,36,11,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,0,133,10,6,11,178,9,169,9,143,10,29,14,141,10,33,12,144,10,35,10,141,6,36,6,135,4,36,0,144,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,244,6,247,6,252,4,252,4,252,2,252,2,252,2,252,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,1,3,0,0,238,10,238,10,238,10,236,10,238,10,236,10,192,0,192,0,238,10,236,10,238,10,236,10,238,10,236,10,238,10,236,10,238,10,236,10,238,10,236,10,
+238,10,236,10,238,10,236,10,238,10,236,10,238,8,236,8,238,6,236,6,192,0,0,0,1,2,0,0,139,30,139,94,151,15,13,95,16,31,18,31,147,28,149,28,150,28,152,26,152,26,152,24,152,24,152,6,152,6,152,4,152,4,152,4,152,4,152,4,24,35,24,35,24,35,24,35,24,33,24,33,24,33,24,1,24,1,24,1,24,1,24,1,1,2,0,0,139,26,139,26,139,28,141,28,16,31,18,31,19,29,21,29,86,28,88,26,88,26,88,24,88,24,88,6,88,6,88,4,88,4,88,2,88,2,88,0,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,0,75,14,75,14,75,14,75,10,128,10,128,12,128,14,128,14,128,14,128,14,128,14,128,14,128,14,128,14,128,14,128,14,128,12,128,12,128,12,128,12,128,10,128,10,128,10,128,10,128,8,128,8,128,8,128,8,128,6,128,6,128,6,128,6,0,4,0,0,180,210,187,210,191,210,191,210,190,130,187,130,185,130,183,130,181,130,177,130,173,130,170,130,
+169,130,166,130,163,130,161,130,158,130,156,130,154,130,153,130,150,130,148,130,146,130,144,130,140,130,137,130,134,130,132,130,130,130,128,130,128,130,128,130,1,2,0,0,190,87,191,91,191,93,191,91,190,91,187,91,185,91,183,89,181,89,177,89,173,89,170,89,169,89,166,89,163,89,161,87,158,87,156,87,154,87,153,85,150,85,148,85,146,83,144,83,141,83,137,83,135,83,128,81,128,81,128,208,128,208,128,208,0,2,0,0,133,30,150,31,133,30,150,31,145,108,144,108,145,110,144,110,145,110,144,110,145,110,144,108,145,108,144,106,145,106,144,106,145,106,144,106,145,106,144,106,145,104,144,102,145,100,144,98,145,96,144,96,145,96,144,96,145,96,144,96,145,96,144,96,0,2,0,0,105,134,106,152,107,154,108,154,109,154,110,154,111,154,112,154,113,154,114,154,115,138,116,138,117,138,117,138,117,154,117,152,117,136,117,150,117,150,117,148,117,132,117,148,117,146,117,146,117,130,117,146,117,146,117,146,117,130,117,146,117,146,117,146,1,4,0,0,0,0,244,134,244,134,247,134,
+247,134,252,132,252,132,252,132,252,132,252,130,252,130,252,130,252,130,252,128,252,128,252,128,192,128,192,128,192,128,192,128,192,128,192,128,192,128,192,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,0,232,134,232,134,232,134,232,134,232,134,232,134,235,134,235,134,235,134,240,134,240,134,240,134,240,134,240,134,240,134,240,134,240,132,240,132,240,132,240,132,240,132,240,132,240,132,240,132,240,132,240,130,240,130,240,130,240,130,240,130,240,130,240,130,1,1,0,0,139,26,139,90,139,92,139,93,158,93,143,94,145,30,146,30,147,28,149,28,150,28,151,28,152,26,152,26,152,24,152,24,152,24,152,6,152,6,152,6,152,4,152,4,152,4,152,4,152,4,152,4,24,35,24,35,24,35,24,35,24,35,24,35,1,2,0,0,36,5,33,3,221,2,33,5,228,2,225,2,29,5,33,3,228,2,33,5,221,2,225,2,36,5,33,3,221,2,33,5,230,2,227,2,31,5,35,3,230,2,35,5,223,2,227,2,38,5,35,3,223,2,35,5,230,2,227,2,
+31,5,227,2,1,13,0,0,147,56,0,0,176,83,176,83,171,89,0,0,147,56,176,83,176,83,147,56,176,83,176,83,171,89,0,0,176,83,176,83,147,56,0,0,176,83,176,83,171,89,0,0,140,54,140,54,147,56,0,0,176,83,176,83,171,89,0,0,171,89,0,0,1,13,0,32,29,136,29,128,29,136,29,136,29,136,29,128,29,136,29,136,29,136,29,128,29,136,29,136,30,136,30,128,30,136,30,136,31,136,31,128,31,136,31,136,31,136,31,128,31,136,31,136,31,136,31,128,31,136,31,136,32,136,32,128,32,136,32,136,1,13,0,0,221,4,221,4,216,4,216,4,221,4,221,4,216,4,216,4,221,4,221,4,216,4,216,4,223,4,224,20,225,20,225,4,223,4,223,4,218,4,218,4,223,4,223,4,218,4,218,4,223,4,223,4,218,4,218,4,225,4,226,20,227,20,227,4,1,13,0,0,156,6,156,6,128,0,156,0,156,0,128,0,156,6,156,6,156,6,156,6,156,6,156,6,156,6,128,0,128,0,128,0,154,6,154,6,128,0,154,0,154,0,128,0,
+154,6,154,6,154,6,154,6,128,0,128,0,149,6,149,6,149,6,149,6,1,13,0,0,33,134,33,128,33,134,33,134,37,134,37,134,33,134,36,128,33,134,0,0,33,134,33,134,38,134,38,134,33,134,0,0,31,134,0,0,31,134,31,134,38,134,38,134,31,134,31,134,30,134,0,0,30,134,30,134,38,134,38,134,30,134,30,134,1,13,0,0,33,5,33,5,33,1,33,1,33,1,33,1,32,5,32,5,32,5,32,5,32,5,32,5,32,5,32,5,32,5,32,5,31,5,31,5,0,1,31,1,31,1,0,1,30,5,30,5,30,5,30,5,0,1,0,1,26,5,26,5,26,5,26,5,1,13,0,0,215,4,215,4,215,4,215,4,215,4,215,4,215,4,215,4,215,0,215,0,215,0,215,0,217,6,217,6,218,6,218,6,217,6,217,6,215,6,215,6,213,6,213,6,215,6,215,6,215,6,215,6,215,6,215,6,0,0,0,0,0,0,0,0,1,13,0,0,28,134,0,0,28,134,28,134,32,134,32,134,28,134,28,134,28,134,0,0,28,134,28,134,33,134,33,134,
+28,134,28,134,28,134,28,134,35,134,35,134,28,134,28,134,28,134,28,134,36,134,36,134,28,134,28,134,35,134,35,134,28,134,28,134,1,13,0,0,28,5,28,5,28,5,28,5,28,5,28,5,28,5,28,5,28,1,28,1,28,1,28,1,101,36,101,34,102,36,102,34,101,36,101,34,99,36,99,34,97,36,97,34,99,36,99,36,99,36,99,36,99,34,99,34,0,0,0,0,0,0,0,0,1,13,0,0,212,4,212,4,212,4,212,4,212,4,212,4,213,4,213,4,213,4,213,4,213,4,213,4,208,4,208,4,208,4,208,4,216,4,216,4,216,4,216,4,216,4,216,4,215,4,215,4,215,4,215,4,215,4,215,4,212,4,212,4,212,4,212,4,1,13,0,0,28,3,28,3,28,3,28,3,28,3,28,3,28,3,28,3,28,1,28,1,28,5,28,3,31,5,31,3,28,5,28,3,100,4,88,2,95,2,83,4,92,2,80,2,99,4,87,2,95,2,83,4,92,2,80,2,96,4,84,2,92,4,80,2,1,13,0,0,147,56,0,0,176,83,176,83,171,89,0,0,
+147,56,176,83,176,83,147,56,176,83,176,83,171,89,0,0,176,83,176,83,147,56,0,0,176,83,176,83,171,89,0,0,140,54,140,54,171,89,0,0,147,56,176,83,171,89,171,81,147,56,147,56,1,13,0,0,0,0,0,0,0,0,220,4,220,4,128,0,156,0,156,0,128,0,220,2,220,2,220,2,220,2,220,2,220,2,220,2,128,0,128,0,128,0,218,4,218,4,128,0,218,0,218,0,128,0,218,2,218,2,218,2,218,2,128,0,128,0,213,2,1,13,0,0,213,2,213,2,213,2,215,2,215,2,215,2,215,2,215,2,215,2,215,2,215,2,215,0,215,0,215,0,215,0,217,2,217,2,218,2,218,2,217,2,217,2,215,2,215,2,213,2,213,2,215,2,215,2,215,2,215,2,215,2,215,2,0,0,1,13,0,0,213,2,213,2,213,2,212,2,212,2,212,2,212,2,212,2,212,2,213,2,213,2,213,2,213,2,213,2,213,2,208,2,208,2,208,2,208,2,216,2,216,2,216,2,216,2,216,2,216,2,215,2,215,2,215,2,215,2,215,2,215,2,212,2,
+1,13,0,0,147,56,0,0,176,83,176,83,171,89,0,0,147,56,176,83,176,83,147,56,176,83,176,83,171,89,0,0,176,83,176,83,147,56,0,0,176,83,176,83,171,89,0,0,140,54,140,54,147,56,0,0,176,83,176,83,171,89,171,89,171,89,171,89,1,13,0,0,30,134,0,0,30,134,30,134,30,134,0,0,30,134,30,134,30,134,0,0,30,134,30,134,30,134,0,0,35,134,35,134,33,134,0,0,30,134,30,134,30,134,0,0,30,134,30,134,30,134,0,0,30,134,30,134,30,134,0,0,28,134,29,134,1,13,0,0,0,0,0,0,156,8,156,8,0,0,0,0,0,0,0,0,158,8,158,8,0,0,0,0,153,8,153,8,156,8,156,8,0,0,0,0,156,8,156,8,161,8,161,8,0,0,0,0,160,8,160,8,156,8,156,8,0,0,0,0,156,8,156,8,1,13,0,0,0,0,0,0,156,8,156,8,0,0,0,0,0,0,0,0,158,8,158,8,0,0,0,0,153,8,153,8,156,8,156,8,0,0,0,0,33,5,30,5,33,5,33,5,30,5,0,0,
+33,5,0,0,30,5,0,0,35,5,35,21,36,21,37,5,1,13,0,0,229,4,222,2,225,2,222,4,229,2,222,2,225,4,222,2,229,4,222,2,225,0,222,0,229,0,222,0,225,4,222,2,227,2,220,4,224,2,220,2,227,4,220,2,224,2,220,4,227,2,220,0,224,0,220,0,227,0,220,0,224,0,220,0,1,13,0,0,0,0,0,0,156,8,156,8,0,0,0,0,0,0,0,0,158,8,158,8,0,0,0,0,153,8,153,8,156,8,156,8,0,0,0,0,33,5,30,5,33,5,33,5,30,5,0,0,33,5,0,0,30,5,0,0,28,5,28,5,29,5,29,5,1,13,0,0,30,136,0,0,28,136,40,136,28,136,0,0,28,136,40,136,28,136,0,0,28,136,40,136,30,136,0,0,28,136,40,136,28,136,0,0,28,136,40,136,28,136,0,0,28,136,40,136,25,136,0,0,27,136,27,136,28,136,0,0,29,136,29,136,1,13,0,0,30,5,30,5,28,5,28,5,0,1,0,1,28,5,28,5,0,1,0,1,25,5,25,5,30,5,30,5,28,5,28,5,
+0,1,0,1,28,5,28,5,0,1,0,1,25,5,25,5,32,5,32,5,33,5,33,5,32,5,32,5,28,5,28,5,1,13,0,0,30,5,30,5,28,5,28,5,0,1,0,1,28,5,28,5,0,1,0,1,25,5,25,5,30,5,30,5,28,5,28,5,0,1,0,1,28,5,28,5,0,1,0,1,25,1,25,1,32,1,32,1,33,1,33,1,32,1,32,1,28,1,28,1,1,13,0,0,161,4,161,2,160,4,160,2,128,0,128,0,160,4,160,2,128,0,128,0,156,4,156,2,161,4,161,2,160,4,160,2,128,0,128,0,160,4,160,2,128,0,128,0,156,4,156,2,163,4,163,2,165,4,165,2,163,4,163,2,160,4,160,2,1,13,0,0,30,136,0,0,28,136,40,136,28,136,0,0,28,136,40,136,28,136,0,0,28,136,40,136,30,136,0,0,28,136,40,136,28,136,0,0,28,136,28,136,28,136,0,0,28,136,28,136,31,136,0,0,31,136,31,136,32,136,0,0,32,136,32,136,1,13,0,0,147,56,0,0,176,83,176,83,171,89,0,0,147,56,176,83,
+176,83,147,56,176,83,176,83,171,89,0,0,176,83,176,83,147,56,0,0,176,83,176,83,171,89,0,0,140,54,140,54,171,87,171,87,171,87,171,87,171,89,171,89,171,89,171,89,0,13,0,0,165,4,165,2,163,4,163,2,128,0,128,0,163,4,163,2,128,0,128,0,156,4,156,2,165,4,165,2,163,4,163,2,128,0,128,0,163,4,163,2,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,1,13,0,0,184,9,213,14,21,15,213,10,21,15,213,10,21,15,213,10,176,9,44,11,32,15,44,11,32,15,44,11,32,15,44,11,32,13,44,9,32,13,44,9,32,11,44,7,32,11,44,7,32,25,44,23,32,25,33,21,32,19,33,19,32,19,33,19,0,2,0,0,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,
+0,112,120,97,185,43,55,10,235,193,27,60,192,3,28,127,247,236,29,71,156,50,146,6,119,191,68,151,180,237,233,239,208,188,192,51,164,193,249,239,16,14,84,11,97,20,79,188,66,123,125,154,69,183,100,199,228,229,59,44,228,105,147,86,118,120,128,129,87,136,157,177,80,250,34,142,227,244,9,154,160,159,72,179,244,170,151,152,154,41,250,171,214,154,160,175,37,5,222,161,45,118,146,9,87,156,118,90,30,180,14,200,79,155,139,130,88,43,28,121,218,101,74,65,27,107,51,83,91,81,176,208,44,76,61,69,27,197,19,151,213,205,121,55,174,108,220,87,121,35,125,135,184,244,221,84,213,30,24,23,113,156,53,198,205,251,129,36,13,134,171,102,43,219,24,136,166,162,119,8,162,157,170,219,24,29,53,65,86,169,138,106,145,188,65,48,216,134,27,111,241,26,85,181,92,167,163,225,120,80,46,103,217,78,208,142,102,85,53,90,76,116,73,151,119,42,8,111,147,44,76,62,68,159,5,209,226,214,92,150,205,12,140,231,10,1,229,96,28,152,177,223,144,74,120,161,
+1,129,128,69,251,53,230,79,32,27,98,198,160,235,125,45,26,244,72,162,1,106,3,102,123,22,179,235,129,156,17,181,186,193,221,173,137,85,167,71,92,41,66,162,44,142,21,57,82,133,144,74,153,92,239,36,50,142,62,31,95,156,217,28,242,128,145,246,156,18,8,187,195,50,23,84,170,238,200,12,57,90,108,37,18,73,19,209,152,198,65,50,223,54,2,79,194,225,210,13,26,190,160,75,133,194,123,128,57,194,82,54,77,32,188,27,2,225,203,70,87,87,39,165,199,167,60,106,31,65,169,217,160,14,86,36,204,255,75,193,220,113,186,184,41,97,100,198,169,94,188,252,80,61,255,68,195,51,163,26,142,78,32,39,158,24,201,163,145,225,229,133,110,186,169,166,52,34,118,86,245,33,214,39,28,62,85,136,102,105,194,247,119,225,251,119,114,209,247,183,190,248,93,28,224,251,55,209,17,191,163,153,192,248,63,148,202,239,34,144,54,191,131,64,123,252,14,125,127,23,201,166,241,127,168,149,255,232,212,202,127,232,170,255,18,86,191,3,101,245,31,129,180,250,143,84,
+162,253,213,127,25,88,95,16,129,211,21,81,96,127,181,61,214,214,5,66,170,89,101,136,98,192,225,147,23,138,229,197,223,129,92,26,38,143,28,142,184,40,36,157,6,124,81,184,37,73,28,148,39,133,175,84,85,170,164,144,24,26,144,146,143,192,200,64,227,112,116,69,231,43,65,18,245,144,74,47,156,69,167,23,158,72,101,168,243,77,39,35,126,250,34,209,41,182,183,228,149,194,252,93,170,191,223,129,228,253,29,72,234,191,138,52,10,233,119,17,72,164,223,65,160,145,126,183,26,233,119,160,145,126,39,26,233,119,43,146,254,163,137,34,231,159,109,19,201,173,223,69,86,233,179,191,73,210,72,137,223,93,171,0,255,70,101,168,135,126,23,165,198,252,233,140,42,83,153,116,127,68,198,52,122,36,39,196,39,27,209,229,68,213,31,161,204,149,22,133,177,210,80,176,74,30,62,109,97,172,180,84,12,95,36,42,98,172,80,99,172,203,84,195,99,172,50,149,18,63,157,209,36,206,63,219,38,11,181,196,239,84,159,30,234,227,12,68,198,223,40,2,154,240,40,156,
+179,10,52,209,239,64,120,85,69,157,171,59,193,200,206,147,108,76,69,67,204,24,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,37,127,201,89,50,99,248,220,35,47,110,102,12,255,203,122,225,87,205,116,225,119,80,51,96,248,203,140,225,127,25,51,252,218,96,210,240,59,199,139,240,59,168,133,207,143,222,88,208,24,254,255,255,255,255,151,68,250,85,4,26,233,119,16,136,164,223,208,24,254,87,36,253,202,69,210,239,5,149,244,31,73,132,15,225,47,52,6,66,88,248,151,33,74,248,143,160,129,176,240,187,194,160,240,31,217,4,132,133,223,5,106,133,191,208,24,14,231,27,26,131,181,196,31,104,12,175,250,56,160,49,252,255,165,112,142,6,76,195,127,116,157,138,250,9,141,161,250,244,15,52,6,234,217,95,65,135,216,225,63,20,237,15,89,217,4,227,195,127,4,26,251,210,155,87,128,10,226,47,52,6,173,204,78,97,198,232,12,86,12,250,40,244,91,26,251,48,245,99,233,187,196,151,216,47,100,
+180,212,145,65,99,212,198,122,169,15,49,93,200,104,234,161,153,122,168,238,56,2,35,42,143,6,210,163,141,243,48,89,252,179,29,22,139,67,46,40,241,29,246,10,117,39,28,144,52,168,43,232,133,206,42,185,213,108,147,54,182,10,173,146,91,205,54,69,99,171,192,22,169,211,34,62,21,237,236,19,248,172,200,124,216,250,177,245,21,79,10,74,143,150,129,246,56,130,64,124,60,165,248,56,2,241,241,84,226,227,104,212,199,165,225,101,140,42,209,237,181,70,37,213,235,21,99,37,141,177,2,69,94,175,24,171,172,140,21,10,239,122,37,19,219,118,70,16,8,236,90,35,209,212,245,138,177,178,208,88,185,116,174,87,140,213,53,198,90,84,200,245,74,166,138,237,140,169,66,9,215,26,27,226,183,94,49,86,25,27,107,76,227,214,43,198,138,2,99,173,74,217,122,197,24,242,21,217,72,148,220,144,132,156,69,82,129,4,193,206,222,108,170,147,145,239,118,203,115,141,55,7,203,97,251,64,35,209,232,226,192,234,178,218,205,1,212,69,50,51,59,176,70,194,65,107,
+179,145,163,7,139,202,19,193,160,229,233,136,34,105,60,15,20,21,42,68,130,237,2,151,66,134,21,22,72,26,101,17,203,131,96,197,84,255,34,17,155,205,116,96,101,136,106,201,206,20,98,40,211,201,164,182,248,255,255,255,227,112,216,79,170,65,24,97,49,169,7,11,111,105,50,36,82,12,129,4,67,144,52,202,227,208,9,183,82,248,231,112,68,246,177,70,97,122,121,98,160,18,26,40,164,71,21,194,47,141,240,89,31,122,66,137,225,99,62,5,8,145,66,247,127,254,54,62,116,137,182,116,196,175,133,174,91,112,255,15,255,133,129,241,35,164,62,75,170,112,4,89,162,35,232,240,87,121,92,18,226,167,46,68,17,72,136,255,145,24,149,17,255,15,243,72,136,255,146,24,83,51,255,31,13,241,159,74,230,255,41,31,254,255,151,204,141,254,248,255,59,72,228,216,143,176,200,196,207,43,124,255,199,235,104,82,37,242,35,240,64,101,122,200,225,159,14,127,68,51,116,217,31,117,173,82,93,35,81,211,80,39,135,8,62,29,78,87,4,161,10,132,66,251,101,241,
+74,224,63,14,151,88,69,214,37,77,100,81,81,251,79,0,255,117,191,74,17,145,40,181,71,97,181,64,58,95,158,136,178,172,83,110,127,132,196,255,120,32,234,172,84,20,238,143,39,170,32,138,244,219,33,98,255,75,215,124,157,251,89,165,81,85,37,60,17,126,200,136,255,234,66,113,115,200,163,255,86,53,255,87,20,194,230,16,17,255,255,255,209,169,255,171,102,254,255,209,16,255,255,255,240,189,4,196,255,255,255,255,255,127,9,42,156,146,236,255,149,5,137,210,39,62,132,155,163,194,41,36,254,159,85,148,117,16,17,110,77,244,255,63,210,68,35,67,60,149,33,194,173,173,254,255,73,202,168,169,146,42,208,34,180,88,87,42,229,75,163,253,191,233,39,252,113,191,178,4,237,195,15,33,241,255,255,69,243,225,86,36,255,47,173,93,159,194,124,248,47,41,241,255,84,220,243,41,207,135,255,146,55,255,255,255,144,163,255,255,101,141,182,249,161,109,127,73,210,255,127,138,66,221,252,144,234,255,255,95,234,237,255,227,151,48,80,99,255,227,119,209,100,160,72,248,
+235,250,215,243,10,213,195,255,53,141,124,248,255,255,255,255,75,188,252,175,252,248,255,255,167,235,95,207,255,63,18,245,250,63,126,255,127,4,96,31,254,223,238,255,33,233,214,144,114,185,56,76,252,143,227,63,248,10,135,238,255,24,42,252,246,251,203,93,225,208,16,63,8,42,252,116,251,7,94,225,195,155,241,19,192,196,31,244,10,255,255,208,151,248,255,138,236,63,118,255,39,40,254,255,255,255,159,97,106,17,45,95,183,5,153,197,209,4,40,39,174,166,177,56,84,224,28,47,206,26,159,241,148,106,133,197,31,178,19,159,174,248,255,159,18,101,170,226,127,210,180,81,185,21,43,127,164,231,68,197,255,191,26,168,149,170,248,255,255,209,86,255,31,165,66,139,11,7,195,131,120,226,209,86,255,255,75,87,252,70,105,97,49,248,63,218,234,255,165,4,111,175,75,85,252,255,79,113,117,8,193,91,86,252,63,40,132,252,83,174,151,215,228,255,9,101,227,255,1,31,228,135,158,248,255,80,217,248,79,242,32,175,62,251,63,172,32,39,205,136,207,229,69,16,114,41,
+201,255,84,20,55,212,136,7,237,195,255,183,82,59,255,165,35,254,255,204,100,196,255,255,255,47,214,16,255,165,107,254,255,31,58,135,255,82,72,255,129,24,228,79,150,72,247,50,79,120,165,196,255,15,85,199,93,68,85,164,36,254,255,127,72,97,252,0,9,82,89,242,127,162,255,50,122,113,131,156,48,65,78,69,241,255,63,181,209,131,151,225,255,35,82,254,195,247,144,71,15,82,134,255,143,152,248,255,223,240,21,126,105,242,127,154,111,149,218,59,117,206,31,53,241,255,103,163,38,126,56,253,255,169,244,166,31,254,255,191,148,221,37,64,254,255,19,187,23,255,133,255,146,50,255,95,173,251,16,95,248,47,33,241,255,63,21,201,255,255,127,180,205,41,73,254,255,255,35,11,79,157,244,79,236,253,255,141,71,226,127,68,196,255,255,86,34,255,255,255,3,244,240,95,170,232,255,255,42,171,255,255,255,169,247,63,18,226,255,255,255,255,255,63,74,230,255,255,255,75,163,168,180,248,165,33,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,147,245,200,255,201,221,255,191,153,143,252,151,138,248,255,255,255,255,255,150,52,255,255,255,175,50,250,255,255,255,73,43,231,159,138,248,255,255,255,255,255,238,112,72,252,209,242,255,255,135,125,199,101,228,10,89,203,77,141,225,255,15,130,22,143,145,69,194,111,202,19,255,15,37,241,255,255,255,71,223,252,255,255,255,99,48,114,90,157,122,233,255,255,23,170,205,101,117,0,119,248,255,223,176,65,30,163,75,125,253,255,111,130,16,255,255,255,255,127,106,136,255,255,255,163,75,180,204,255,255,255,81,36,122,232,255,255,191,8,48,168,136,254,255,255,129,120,227,183,200,254,139,72,227,175,233,255,74,199,255,151,166,248,255,255,149,240,255,7,165,228,63,124,255,143,119,207,45,42,254,255,255,255,41,170,255,255,255,255,255,255,255,255,79,229,247,255,255,255,87,81,253,255,218,233,45,84,73,215,179,156,121,156,193,207,183,127,140,247,222,221,182,198,57,89,240,80,239,246,142,81,240,72,207,245,122,79,18,122,
+209,108,131,71,245,185,61,222,232,181,90,3,61,223,107,166,94,54,195,3,60,190,65,170,248,161,28,153,188,231,203,100,94,110,154,68,96,96,168,142,186,167,178,239,131,134,157,151,171,230,230,155,111,42,180,71,28,253,44,93,231,238,46,56,180,186,207,254,191,187,100,112,208,254,127,82,245,128,169,41,251,255,81,15,153,90,176,255,63,237,177,73,251,159,251,153,246,224,67,57,107,64,6,201,254,88,238,181,7,95,234,197,38,116,84,69,206,241,8,251,149,238,225,210,147,189,222,83,138,170,218,243,224,227,31,226,148,133,169,49,251,57,68,84,209,126,73,242,16,6,122,8,57,241,136,42,217,175,110,206,217,75,10,217,96,81,117,55,201,117,97,82,216,255,79,152,8,11,185,159,246,215,64,167,45,126,216,31,89,211,100,218,226,135,253,103,64,251,159,85,51,108,64,251,159,86,146,38,255,101,255,255,255,115,229,210,166,184,171,253,191,167,74,146,49,251,255,186,240,166,55,18,119,180,255,245,40,111,116,91,227,136,49,251,191,126,154,158,54,223,203,220,113,131,4,135,
+115,95,255,165,190,134,175,225,107,216,216,56,224,128,19,78,176,228,41,167,40,199,195,190,147,163,69,97,79,185,29,251,123,113,180,40,236,123,134,253,159,52,149,34,167,253,169,45,98,255,127,218,34,246,255,252,42,131,191,77,153,114,56,118,115,214,241,152,53,127,29,97,127,13,216,255,255,63,113,241,169,135,255,135,246,248,99,248,21,10,234,176,255,185,43,99,30,251,63,85,21,216,111,87,95,214,254,154,85,108,46,244,101,237,175,89,251,67,95,214,254,145,157,177,47,60,132,218,91,118,70,76,186,16,211,21,206,113,197,220,156,227,212,131,117,62,117,53,41,47,224,144,32,144,134,126,146,96,99,35,9,238,50,64,219,58,165,9,138,192,37,133,125,71,70,236,215,71,77,99,255,43,11,236,27,46,12,20,246,203,3,251,31,105,24,218,255,211,30,71,84,25,164,200,218,74,250,91,123,92,246,172,74,251,75,123,60,77,107,64,251,95,161,114,161,253,71,193,97,169,129,28,7,111,225,163,224,48,251,79,162,199,222,199,28,97,79,105,162,212,117,199,76,138,45,230,
+199,216,55,180,127,150,118,236,43,147,31,121,241,216,255,153,176,255,255,232,238,199,254,79,51,32,110,31,123,43,213,158,146,36,34,175,246,151,82,237,41,145,253,79,165,202,67,14,177,255,34,251,42,85,129,109,152,253,47,211,232,205,195,254,177,90,99,47,189,89,251,223,245,140,193,36,126,195,104,194,126,165,253,207,210,190,46,63,203,210,254,255,100,76,236,127,54,85,21,8,206,218,255,42,147,36,16,156,181,255,173,30,254,175,81,15,255,109,25,161,94,251,223,66,189,246,255,163,30,254,87,44,215,254,127,164,201,255,54,246,255,255,255,18,23,255,143,215,121,29,131,217,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,231,225,178,255,5,231,225,178,255,255,191,226,226,255,97,255,255,72,244,250,99,255,255,127,27,251,255,67,204,16,11,164,66,246,183,106,79,230,119,52,5,101,132,207,254,255,35,46,254,31,138,61,22,177,255,173,216,99,17,17,253,187,80,46,179,63,164,201,169,208,255,255,143,253,127,167,226,226,191,83,251,255,77,83,1,255,
+127,80,24,106,127,100,6,183,238,57,237,127,73,178,43,53,184,67,251,255,143,246,248,255,255,159,253,255,106,143,243,178,227,138,128,119,35,118,86,143,220,186,248,196,91,239,24,188,153,36,90,248,48,226,62,75,173,90,30,7,90,210,44,136,212,142,35,123,207,164,175,18,81,82,147,127,49,169,241,90,141,144,231,210,8,236,52,2,69,194,117,110,194,9,14,87,70,12,30,227,17,73,241,221,123,169,164,144,132,248,60,153,36,129,136,120,175,190,21,213,35,102,234,176,215,23,127,52,141,155,227,157,19,231,85,49,127,113,39,58,142,54,104,103,14,184,120,138,235,227,51,196,245,145,154,40,99,167,156,33,118,82,6,103,207,237,88,66,244,228,232,153,243,151,134,186,164,60,59,90,28,88,68,30,167,21,241,147,60,160,202,152,52,15,22,241,61,38,246,195,43,212,10,130,131,205,82,182,96,168,102,75,70,72,241,40,13,92,102,140,32,200,7,166,38,22,156,209,236,4,19,186,131,84,213,50,97,249,14,31,232,120,239,156,92,88,254,72,110,182,188,11,195,136,24,204,
+13,0,65,164,253,185,174,33,126,204,22,139,150,127,18,203,63,226,227,71,165,89,126,100,243,142,217,213,56,59,123,97,243,158,41,59,156,109,9,42,130,51,75,31,163,60,171,53,138,58,53,123,98,0,108,243,230,64,131,130,77,8,215,18,37,245,217,150,129,90,40,107,132,64,188,108,10,175,53,161,87,163,132,145,87,140,193,255,43,232,190,2,222,43,193,132,128,24,182,65,121,35,2,208,214,168,243,65,227,29,208,109,42,164,201,81,20,58,229,137,58,179,169,8,134,157,152,225,64,4,22,77,17,131,183,169,17,242,65,75,144,138,147,167,232,212,137,221,145,137,25,106,153,79,202,60,149,148,177,84,66,216,25,39,108,80,164,69,44,161,8,4,106,82,201,26,244,149,199,204,100,191,176,158,52,69,178,163,33,179,152,236,28,24,54,209,204,240,220,78,183,221,40,76,205,175,29,30,120,53,210,153,217,149,223,191,92,161,192,255,217,70,132,67,78,32,9,58,61,127,22,1,81,4,8,132,105,14,10,132,215,123,101,82,40,229,196,123,131,245,22,181,201,84,182,84,
+20,146,40,9,82,71,41,244,149,54,92,172,151,203,129,124,67,198,96,250,128,199,25,89,41,219,170,150,209,190,108,211,10,85,93,212,252,47,143,45,187,232,31,108,156,48,51,60,198,109,178,205,80,183,52,175,252,37,20,14,217,144,82,36,68,44,4,173,37,2,141,160,114,109,161,172,235,162,181,138,225,210,38,246,205,114,153,28,48,86,205,44,205,206,120,101,59,136,6,242,176,46,234,122,165,11,216,224,105,216,10,245,220,136,93,35,249,0,106,151,88,156,157,77,211,203,67,207,73,4,196,123,75,246,25,53,69,223,140,53,246,146,24,216,168,154,105,163,156,176,21,69,219,166,90,139,151,133,130,70,108,51,21,36,121,164,53,208,103,197,108,177,188,52,22,69,155,147,101,162,218,176,233,137,68,172,172,93,115,106,118,214,194,202,152,77,34,55,221,16,177,196,140,160,5,160,202,204,58,202,120,241,100,57,52,213,87,171,3,163,158,152,217,233,102,103,74,189,212,129,65,157,5,51,23,249,76,81,47,12,79,85,139,23,68,163,163,219,178,18,145,206,16,249,61,104,
+35,68,246,200,243,196,175,59,96,51,51,225,127,20,3,137,16,139,95,54,7,187,42,26,216,243,78,85,37,73,50,233,154,60,215,119,216,89,177,154,172,130,106,67,57,81,85,217,224,98,178,183,83,86,85,18,25,115,41,13,6,162,153,126,97,71,165,144,159,2,22,102,228,24,94,107,246,132,66,158,101,237,206,97,254,12,242,133,160,200,140,192,155,43,38,145,112,114,45,195,153,144,145,229,102,210,251,239,246,176,247,127,141,39,222,115,255,217,109,195,186,203,174,174,248,157,84,129,251,127,78,87,238,85,149,89,30,16,179,8,182,212,203,191,184,110,211,132,14,92,244,203,207,166,144,47,72,177,160,33,144,18,93,152,92,153,89,218,149,65,191,164,12,66,62,147,24,208,28,213,101,72,166,228,210,47,250,118,17,54,24,168,197,73,117,57,196,154,164,213,47,212,10,89,168,183,133,12,131,64,124,29,226,7,81,223,108,75,151,232,174,127,165,170,129,61,103,102,134,84,253,187,170,234,181,167,217,95,73,151,237,112,180,24,45,24,127,62,12,29,98,140,32,203,78,144,
+236,136,166,119,67,43,132,73,97,136,40,41,108,161,152,53,176,229,20,157,15,115,140,71,139,101,52,81,91,140,119,158,146,33,11,141,92,48,113,69,127,133,146,0,75,77,169,4,136,98,133,236,60,101,53,151,63,161,243,148,67,167,246,3,117,14,13,134,241,213,149,104,116,39,217,137,160,39,68,25,71,196,35,27,213,39,153,146,42,80,171,208,60,95,210,108,42,109,200,157,99,220,112,27,43,60,19,212,44,44,47,41,93,129,236,196,234,110,4,56,65,48,21,228,140,11,194,208,74,99,148,60,117,59,154,78,90,225,248,173,0,77,196,70,244,130,72,119,18,126,194,169,186,34,43,230,24,185,80,49,2,133,240,209,83,56,221,47,176,158,33,146,32,53,34,39,117,67,171,97,197,98,225,88,158,34,172,192,199,201,130,74,143,212,113,154,70,75,116,61,85,186,81,80,140,115,2,74,13,1,159,184,218,52,213,194,160,132,176,66,146,56,138,134,153,137,40,34,92,74,137,234,132,11,91,153,170,168,36,210,25,197,9,107,59,225,220,122,52,211,15,70,131,131,85,145,
+205,182,201,78,51,157,92,146,29,49,232,198,237,13,185,85,68,10,148,14,221,104,183,181,195,23,180,73,146,54,91,139,226,129,118,10,67,101,51,46,14,214,37,104,87,71,37,135,14,144,28,203,163,52,80,19,94,172,54,98,137,176,25,27,234,136,99,33,114,129,178,193,136,76,144,216,7,33,5,164,65,94,186,254,156,242,200,218,100,224,30,239,15,249,133,102,138,118,190,75,204,37,149,176,98,175,66,81,164,168,87,20,197,76,185,101,25,201,144,35,36,195,58,243,100,1,97,6,53,78,203,230,74,152,23,143,116,61,181,225,87,79,217,72,194,202,52,11,187,199,228,101,24,104,177,204,12,186,102,139,191,224,29,0,24,124,3,13,164,177,66,7,102,44,221,154,152,92,109,20,37,164,28,51,203,71,77,72,38,188,171,188,62,161,60,89,4,65,57,29,77,155,35,216,219,219,24,152,218,115,4,198,135,140,169,138,7,233,3,219,0,234,195,107,8,88,15,11,20,231,167,200,33,41,30,81,174,43,102,219,176,53,197,131,165,248,28,178,57,57,43,58,171,115,24,7,
+241,86,46,115,148,175,161,72,101,37,81,48,90,13,142,206,69,209,104,42,81,30,17,10,237,51,4,17,20,20,157,116,156,146,241,78,54,35,230,41,62,170,61,172,155,56,192,221,97,83,139,74,125,238,25,91,89,57,97,111,109,121,43,202,103,204,55,43,200,161,161,179,214,47,110,66,49,157,242,253,42,59,68,59,117,146,85,67,205,136,74,6,10,141,40,239,39,88,137,122,1,52,185,76,189,11,148,8,81,73,148,28,182,197,96,181,208,143,10,145,115,88,98,35,112,253,33,79,84,104,246,10,146,123,78,145,168,22,30,154,220,84,212,25,19,115,161,47,129,0,188,4,52,248,85,38,50,225,9,138,68,218,209,199,83,66,187,38,163,187,193,101,53,7,172,10,89,27,138,22,19,210,27,143,166,71,175,118,209,179,65,229,82,32,6,11,72,98,88,17,230,165,96,50,242,205,236,21,52,24,208,187,72,33,10,42,194,163,183,226,30,141,116,202,50,169,174,2,161,56,36,144,64,47,252,215,128,68,250,21,108,137,175,35,33,57,65,229,16,71,179,153,136,212,176,3,
+250,241,133,62,85,251,145,14,9,17,110,128,61,171,56,169,206,83,90,130,194,97,150,100,72,241,89,174,145,138,40,134,165,226,229,171,56,144,108,113,135,221,186,233,34,145,9,154,217,107,100,194,133,168,226,50,156,55,218,149,29,239,8,98,105,187,241,112,160,178,154,224,177,157,20,75,5,203,31,69,36,168,20,87,210,138,165,67,255,44,144,33,213,141,32,98,33,97,175,110,68,115,37,176,102,217,85,218,48,15,176,225,253,10,148,195,38,46,92,91,208,82,135,41,52,120,22,84,96,228,165,180,156,131,121,101,47,51,232,34,204,182,219,102,81,186,149,98,135,202,162,4,153,216,76,81,76,89,65,194,118,7,169,3,101,99,167,49,63,92,56,27,126,40,50,169,156,172,231,94,144,99,88,237,245,38,54,166,96,95,28,210,30,114,25,193,214,238,92,136,226,129,43,229,60,70,4,170,148,172,139,71,171,108,12,72,187,220,129,67,50,111,51,49,191,79,231,193,50,124,58,131,90,239,146,81,242,140,76,124,114,91,100,129,182,198,184,222,24,45,135,150,75,185,99,132,
+135,4,37,118,84,70,252,158,198,15,251,126,20,226,83,47,210,79,221,170,84,195,164,116,242,145,33,221,240,56,102,82,103,89,204,190,113,160,89,175,32,144,166,167,159,148,41,181,14,149,83,247,22,217,68,188,106,77,225,208,220,216,218,68,162,215,102,154,213,57,97,177,169,45,35,4,133,76,99,208,108,12,169,116,37,43,220,30,168,208,27,81,128,88,83,38,81,98,205,65,91,53,123,189,125,230,124,36,248,94,66,19,18,146,172,131,51,148,21,54,70,70,199,130,149,180,104,44,163,233,34,182,115,64,219,138,104,35,145,36,191,213,172,194,106,40,86,16,14,7,202,67,58,17,211,12,37,197,80,2,93,61,164,32,212,5,83,74,89,161,80,78,184,48,129,194,33,248,44,84,232,238,166,65,22,44,201,237,107,163,111,66,43,106,254,79,89,61,146,250,221,146,212,214,28,84,45,255,255,191,250,228,255,169,131,178,158,207,84,113,156,170,160,138,96,97,150,237,17,250,44,71,20,18,1,133,176,57,119,2,157,149,204,24,126,165,240,32,176,21,89,95,30,93,61,196,
+149,194,134,70,143,241,116,30,102,102,199,178,102,100,96,103,115,35,153,158,32,55,129,38,82,110,209,162,184,32,108,178,19,78,25,221,75,18,13,245,167,181,42,132,132,95,186,90,39,40,187,244,155,193,88,51,212,212,163,59,108,83,82,32,197,69,20,173,36,146,59,125,54,232,139,102,72,189,168,152,88,78,143,40,218,100,40,107,251,90,209,69,205,33,218,205,59,217,135,166,211,192,17,227,210,8,213,149,153,41,182,181,99,71,39,149,52,21,225,35,36,57,20,56,83,133,122,191,27,217,152,1,216,240,98,80,96,103,20,72,23,139,210,105,35,141,55,141,132,60,118,6,203,105,53,155,165,221,76,34,30,11,214,233,131,161,165,21,169,251,136,140,139,235,197,165,88,35,42,50,46,53,254,106,141,127,81,39,107,15,137,245,131,71,8,244,181,164,16,135,52,86,52,55,74,95,148,82,90,74,88,201,30,177,91,233,101,21,133,68,79,54,97,29,191,84,180,36,158,176,6,246,32,185,64,88,13,208,62,141,233,40,28,115,109,89,54,105,58,91,85,91,190,210,224,49,
+214,136,49,2,227,169,134,67,92,70,47,32,140,93,49,89,229,61,245,140,174,232,238,234,201,31,66,181,146,227,255,29,169,9,105,52,76,174,171,143,191,165,33,2,245,49,169,112,228,141,87,197,63,19,81,123,232,200,17,125,56,6,24,66,28,186,154,117,138,238,37,249,37,93,149,206,48,173,72,30,137,150,75,4,31,142,154,211,104,11,212,217,223,74,141,5,71,7,105,193,228,148,157,70,175,81,98,104,158,64,135,69,76,210,118,97,214,107,32,23,178,180,20,107,135,12,30,176,211,55,182,146,121,66,144,65,191,104,189,75,71,216,145,105,105,22,145,34,182,17,85,53,172,36,199,179,181,36,242,64,36,226,136,145,68,40,168,197,6,209,106,32,40,131,46,184,224,152,64,94,92,122,33,137,226,141,213,116,198,227,162,44,160,193,240,74,148,31,108,42,126,136,153,170,207,31,226,243,127,55,36,81,197,154,82,63,137,239,48,65,217,90,165,137,30,152,39,244,26,147,138,100,77,109,60,219,204,200,179,105,167,87,54,189,141,190,48,236,138,255,193,110,98,157,113,52,
+59,145,217,51,109,70,189,190,59,230,133,203,100,202,67,209,68,67,193,118,76,165,67,75,23,24,8,50,199,183,96,74,198,28,159,231,26,188,28,151,159,56,178,28,109,233,73,68,44,89,241,26,82,144,185,106,33,32,162,50,21,66,70,42,87,227,185,114,200,156,82,28,123,35,149,43,137,94,188,158,194,165,226,173,101,77,15,15,12,78,24,47,10,194,169,225,109,117,186,1,189,245,255,82,198,135,112,206,200,74,17,52,153,232,248,47,204,18,127,36,191,186,173,177,90,217,253,146,128,11,91,153,247,107,83,118,188,220,77,226,54,10,50,27,170,251,164,231,157,160,45,109,163,182,72,236,39,106,115,13,42,4,68,217,153,107,179,81,22,69,45,96,146,99,76,119,30,91,137,27,229,196,152,167,102,156,123,11,162,77,97,33,243,106,151,80,241,136,61,202,137,102,112,163,219,218,112,110,191,176,69,55,35,206,255,100,137,204,89,85,97,96,92,66,10,211,19,52,126,200,36,164,217,72,36,229,80,108,252,98,177,241,87,9,150,42,194,127,232,251,71,35,159,189,150,43,
+80,150,137,162,99,173,213,61,86,201,244,166,212,28,202,133,71,116,254,51,157,234,252,231,60,77,207,116,198,111,32,77,186,23,192,93,56,20,238,39,251,207,9,201,63,88,50,40,3,160,8,231,246,234,200,224,122,135,21,225,156,204,229,126,105,163,88,58,219,134,10,31,219,89,21,236,141,23,16,92,182,2,240,225,240,157,100,60,48,48,200,4,129,27,199,220,18,184,185,152,82,251,85,167,38,105,33,213,13,48,35,116,194,174,101,198,135,38,252,132,216,199,198,56,160,56,225,134,65,77,145,161,53,43,104,136,71,146,70,71,68,49,108,222,14,145,93,36,194,16,52,240,148,104,42,16,44,54,150,220,24,96,137,216,89,219,194,235,10,2,235,41,226,67,204,36,184,68,230,98,112,111,115,115,215,45,3,85,52,89,193,118,248,120,60,144,76,11,8,112,160,102,97,3,240,17,202,46,72,230,165,168,151,36,63,37,254,84,23,39,111,240,227,13,253,226,130,24,162,192,199,29,77,35,240,15,49,241,8,14,99,27,249,33,145,81,44,212,176,70,14,209,104,80,35,7,
+144,154,14,52,78,101,214,241,128,24,249,61,108,28,162,204,121,129,220,176,116,58,174,52,154,64,182,33,96,44,151,29,50,255,4,123,226,95,97,230,1,108,29,146,215,135,216,184,148,247,173,180,115,131,182,58,21,255,43,142,31,196,38,191,164,196,101,45,204,38,135,166,248,150,25,79,52,218,118,170,212,25,79,152,87,8,62,192,16,78,181,113,235,43,107,69,245,43,118,157,236,67,73,255,71,209,88,179,72,64,220,219,134,211,150,101,139,225,125,130,42,243,14,68,21,183,35,203,221,200,214,78,43,80,67,145,52,69,212,166,154,11,98,175,85,182,169,63,44,39,42,177,18,233,215,211,123,186,170,66,231,127,197,136,181,136,181,111,180,99,22,181,7,166,115,29,154,64,198,9,63,13,74,37,247,186,34,10,61,231,165,194,139,10,239,214,103,170,122,25,227,170,108,144,148,60,17,105,143,73,193,50,91,57,198,166,2,46,52,110,78,201,236,50,183,172,86,61,188,53,176,34,99,91,6,160,119,94,118,37,159,201,104,176,252,227,206,67,147,112,156,177,97,20,113,188,
+23,55,0,84,176,197,117,134,214,1,178,240,80,235,57,180,67,45,185,49,198,96,38,246,75,52,51,174,24,153,160,60,115,45,172,51,108,158,134,71,190,50,142,193,38,197,234,58,255,235,8,119,177,133,137,202,120,144,61,80,46,96,25,168,181,244,227,110,145,108,143,158,236,176,31,197,2,201,207,102,146,50,82,218,177,133,146,97,42,138,108,73,27,30,162,225,79,22,72,133,107,78,67,112,44,147,63,88,30,31,39,159,112,41,42,211,186,168,38,242,148,22,249,161,85,110,153,113,11,148,51,29,76,53,202,195,221,196,58,227,40,198,132,198,127,231,109,83,44,201,106,107,141,255,13,180,198,39,127,62,150,46,63,100,25,183,164,206,131,156,226,25,109,38,146,169,148,9,77,194,100,99,43,137,195,54,75,169,194,92,180,150,214,6,83,70,90,205,252,52,79,86,102,117,86,70,70,163,151,164,129,173,221,2,108,83,194,200,136,225,222,144,106,216,196,108,150,47,80,115,72,104,184,48,203,18,195,113,92,162,156,216,64,141,130,197,182,240,141,218,216,230,112,67,118,193,
+167,204,238,47,138,140,12,206,31,161,20,14,250,49,138,103,209,108,103,170,115,4,116,151,201,145,174,207,216,36,17,22,53,71,99,40,56,76,67,1,113,140,54,182,219,114,205,86,128,215,233,54,29,99,167,95,198,3,237,244,199,119,72,141,24,25,81,172,156,185,88,185,55,196,202,10,177,114,7,98,133,77,192,13,233,84,32,79,160,182,185,170,32,38,99,170,99,62,97,242,20,194,228,53,194,80,112,71,190,219,15,168,35,89,79,2,89,218,117,213,169,105,81,19,105,129,22,67,210,105,179,108,170,46,99,103,234,5,246,173,132,215,37,247,187,57,171,156,56,16,168,140,95,107,27,195,91,74,227,104,154,249,38,172,117,197,159,180,202,210,74,208,81,204,252,200,23,166,18,239,201,148,134,120,160,170,100,151,46,135,98,148,35,115,210,52,227,237,166,156,168,100,163,122,167,54,61,182,36,228,33,42,62,133,244,31,232,161,14,110,52,199,252,102,32,98,191,86,213,222,148,164,26,159,112,7,94,5,204,47,167,195,151,208,101,202,20,93,38,21,9,105,166,35,61,0,
+94,208,195,107,232,23,148,155,109,51,185,121,181,46,23,39,23,179,97,4,45,32,223,35,8,74,40,134,56,252,40,155,42,41,18,81,18,239,13,170,55,24,241,128,74,39,117,155,9,244,195,61,69,210,200,156,82,204,248,69,37,72,12,115,78,213,33,22,66,84,36,184,32,218,49,5,202,165,108,185,193,19,236,150,226,129,38,25,243,147,176,40,74,240,84,168,103,54,66,23,166,184,39,94,220,66,214,254,104,219,121,248,24,15,23,153,12,44,4,228,43,30,199,28,50,229,40,229,18,236,74,148,37,211,125,84,28,233,21,199,255,223,235,138,227,107,21,199,143,64,113,252,186,162,179,151,44,161,74,140,12,99,56,32,215,50,132,21,134,2,38,126,216,203,115,142,79,86,63,162,37,20,205,54,146,68,228,110,78,158,65,220,25,145,127,176,193,10,128,167,151,28,140,111,217,106,146,21,74,48,91,189,97,80,182,99,175,145,136,78,131,110,60,232,25,184,148,15,78,42,250,86,202,211,148,140,135,220,218,118,26,65,157,70,56,19,141,240,53,186,179,82,63,154,249,8,
+153,106,168,9,92,176,39,31,101,31,224,24,56,226,10,105,87,85,82,4,61,15,249,151,83,3,70,191,68,32,84,103,180,14,139,32,150,10,77,186,192,58,156,101,58,94,34,199,57,54,2,173,96,4,215,210,60,0,13,241,136,229,93,144,93,17,170,141,37,164,127,34,191,14,219,174,171,164,204,52,1,108,8,172,76,45,160,225,144,16,35,170,153,49,11,122,189,121,64,14,70,234,6,3,229,170,90,144,42,43,37,51,100,151,2,59,109,238,43,134,27,200,135,135,214,48,158,84,248,30,134,139,210,133,214,12,116,71,84,24,101,99,179,170,82,144,60,7,228,159,93,16,80,228,185,25,240,156,0,120,188,116,132,149,109,129,114,231,148,105,76,60,47,201,20,203,64,68,209,9,82,34,2,155,244,161,52,9,124,228,16,8,201,182,22,172,60,80,148,184,27,30,234,29,81,12,34,201,132,38,226,248,178,46,128,66,242,12,44,52,243,203,172,152,101,252,48,63,74,116,128,49,38,76,31,189,155,1,70,81,206,102,88,71,73,108,200,90,88,65,154,84,107,185,233,65,
+162,39,155,195,147,76,72,106,124,76,26,143,34,73,141,163,30,213,7,120,165,10,14,197,132,150,230,40,57,116,73,195,146,181,178,80,247,10,99,135,168,187,44,95,176,180,215,239,144,98,250,145,174,31,193,146,233,32,185,180,231,57,96,215,0,180,222,29,148,227,219,148,220,177,185,84,76,173,58,100,120,25,131,59,86,231,251,86,111,230,140,101,93,29,69,161,178,76,178,90,178,162,200,242,198,63,83,82,25,156,114,2,53,75,178,1,97,19,103,42,27,199,100,157,174,192,124,52,213,87,2,3,213,33,162,34,73,89,119,51,154,194,193,100,92,102,29,95,119,14,132,250,65,138,89,113,190,208,118,121,148,165,85,146,168,4,140,169,10,12,68,29,81,119,50,104,137,22,209,68,87,5,69,175,12,17,151,73,23,92,163,48,22,69,55,156,114,132,128,192,142,76,193,43,212,23,20,56,135,18,134,43,36,224,115,72,36,77,0,20,12,129,0,229,33,195,253,208,206,228,152,216,201,106,90,53,130,67,160,27,194,250,29,65,24,6,43,225,146,96,64,50,42,134,18,27,
+252,90,231,26,223,81,112,204,161,103,14,2,79,255,84,215,197,215,201,39,236,43,89,171,54,45,171,107,236,66,126,50,60,165,149,155,155,119,128,71,48,238,44,94,113,192,138,128,88,83,46,247,132,182,142,124,156,54,17,205,31,17,152,109,45,30,42,241,136,119,21,20,202,238,2,53,140,44,187,163,17,19,60,224,144,228,138,88,152,79,35,56,11,110,168,237,143,236,142,142,152,215,202,34,149,10,149,216,53,133,172,222,146,192,48,55,143,72,111,117,129,198,56,58,176,36,217,200,87,154,186,190,162,204,43,251,212,177,93,179,190,146,12,8,18,25,241,255,87,41,33,142,64,62,184,215,197,53,153,120,18,150,40,133,128,88,14,129,115,64,114,222,192,128,135,178,204,155,53,60,219,85,213,134,135,2,223,28,177,37,251,40,123,163,210,113,67,160,96,101,3,41,44,105,140,209,3,182,246,150,151,29,6,135,62,7,204,34,232,217,5,195,71,168,121,60,142,117,4,95,162,64,177,3,73,10,238,152,174,196,39,68,69,211,73,103,212,218,17,138,12,72,160,49,36,95,
+92,85,233,76,112,200,33,55,37,201,45,8,215,51,75,235,26,9,174,232,172,193,89,87,148,176,168,0,16,163,111,74,8,174,153,147,130,25,155,91,140,152,63,111,53,213,13,73,161,70,139,220,115,92,49,80,221,212,37,139,128,31,110,5,250,10,71,210,243,218,192,202,1,123,75,36,160,138,51,71,2,54,235,211,71,236,40,4,249,226,150,100,126,102,90,205,26,184,87,198,22,247,116,131,130,242,132,126,54,234,249,187,192,24,201,98,81,151,101,62,214,231,9,61,167,128,184,199,212,12,191,123,110,77,109,103,99,128,164,118,203,14,136,31,48,79,153,108,125,102,34,9,58,15,116,58,97,71,172,204,172,223,33,174,65,192,7,51,90,225,167,13,106,109,23,45,149,197,190,180,170,49,92,155,90,105,63,160,140,113,44,232,89,57,2,165,23,102,90,228,64,82,191,202,0,58,133,17,9,150,78,88,15,55,169,119,100,162,62,97,65,59,76,173,75,67,252,21,60,12,180,13,132,14,85,79,154,32,113,84,53,35,32,30,208,67,132,211,146,118,97,111,51,145,101,66,
+243,243,40,19,106,10,211,208,71,61,135,31,90,89,108,123,9,42,78,196,148,243,211,110,204,10,13,43,26,143,41,154,255,150,18,159,198,80,30,134,68,130,206,37,161,143,77,61,247,99,98,71,230,60,101,98,150,85,203,0,66,58,164,106,212,24,54,166,55,138,65,117,119,118,128,17,22,4,75,84,77,166,199,186,69,121,164,124,204,54,127,195,230,78,183,222,236,172,133,160,74,48,48,51,66,19,33,59,162,232,255,79,217,165,161,181,37,77,244,95,253,192,74,24,100,177,245,207,41,31,217,91,37,253,63,4,124,148,143,165,106,245,221,38,103,154,217,96,110,73,220,93,50,167,154,51,83,162,19,216,175,160,52,145,78,220,80,8,77,212,141,3,236,208,99,168,72,78,141,233,212,200,95,32,145,55,16,77,105,40,153,98,82,108,99,53,46,138,21,49,125,150,157,144,158,90,76,150,138,133,43,89,43,10,177,240,238,200,138,13,54,98,225,199,80,85,248,73,166,63,141,178,88,174,44,254,223,97,16,138,122,11,145,83,182,115,115,107,0,227,215,52,97,207,209,232,
+41,72,160,124,85,169,101,22,184,74,67,49,72,54,148,59,162,221,118,171,8,182,150,118,242,114,195,218,110,24,88,84,13,96,155,166,58,2,135,161,34,216,96,207,130,84,48,92,67,3,14,225,115,242,174,91,101,122,190,32,95,182,145,209,81,20,91,115,65,94,233,149,194,83,26,199,4,5,19,129,106,225,12,243,49,21,45,179,181,75,213,171,46,140,145,180,11,198,85,128,106,180,75,234,164,200,24,171,93,54,237,208,155,237,146,177,68,0,21,224,61,184,203,209,48,67,27,37,193,216,24,78,80,170,111,26,79,12,120,171,136,104,219,108,102,189,15,28,25,52,3,150,42,130,192,49,108,200,16,69,193,72,94,154,68,121,38,184,35,235,77,196,238,235,22,104,167,102,103,80,85,11,99,106,228,218,192,78,43,57,242,8,253,40,12,107,138,83,52,143,217,154,100,173,171,74,141,68,69,192,38,141,139,98,75,73,215,137,5,77,238,45,78,76,181,14,139,119,230,114,147,140,85,153,59,233,159,108,79,47,117,140,203,13,128,62,193,38,123,153,110,186,146,121,227,5,
+198,37,100,226,136,145,219,237,12,64,84,1,248,113,97,35,161,214,64,187,147,74,73,149,81,129,188,142,44,89,126,8,157,7,212,18,14,225,223,19,52,112,54,92,181,215,116,42,248,159,159,38,84,38,245,73,233,100,32,2,1,127,187,253,191,138,166,240,121,61,68,212,12,172,17,52,210,131,233,216,180,102,155,55,6,170,220,1,165,168,70,212,78,151,124,206,208,214,29,99,56,12,113,91,128,13,202,33,91,8,254,232,239,4,67,58,33,2,33,42,186,77,224,155,58,23,234,48,198,168,177,82,65,243,8,156,83,70,91,112,75,17,177,95,41,211,53,55,239,192,88,136,221,145,21,118,27,196,232,80,28,85,153,32,194,133,157,35,16,69,252,82,206,12,83,186,75,20,158,25,74,118,160,43,164,165,247,132,213,106,106,128,228,216,33,214,23,140,200,108,114,126,49,145,136,24,82,216,174,73,58,233,183,122,34,235,245,77,69,4,165,239,186,9,133,160,232,138,68,35,96,100,101,196,248,46,3,231,135,242,194,37,88,126,115,209,143,240,73,90,180,186,13,250,229,42,
+206,17,48,55,243,109,205,40,158,122,134,32,76,6,20,204,255,255,87,175,83,126,48,65,176,130,31,169,165,223,116,176,56,194,191,137,117,50,192,32,105,252,155,218,240,111,162,241,88,96,93,39,244,40,143,110,122,112,29,22,8,197,180,116,5,170,172,98,22,3,27,33,39,163,44,148,46,152,74,146,5,40,93,191,212,5,71,196,195,65,26,233,8,3,25,254,195,177,3,165,18,111,194,97,233,87,224,26,249,156,38,168,4,136,70,4,136,130,141,70,250,202,93,246,225,103,173,129,1,94,73,157,10,171,172,72,20,139,70,20,139,196,66,165,241,231,120,164,137,46,121,60,69,236,44,69,56,9,5,99,87,224,244,79,123,5,197,187,36,73,104,134,70,123,16,237,89,103,179,94,229,175,72,249,107,107,41,139,229,210,211,200,157,145,76,178,160,89,219,11,154,163,231,254,159,36,116,151,170,26,254,8,235,171,59,210,87,23,112,36,202,183,91,154,131,126,80,74,45,246,200,235,13,165,42,78,157,138,83,32,162,170,228,126,199,74,238,2,128,135,233,233,21,206,110,129,
+141,52,246,49,7,187,186,241,124,96,105,44,51,74,212,213,130,148,206,91,27,31,67,45,225,52,31,26,198,7,197,3,34,67,148,50,28,19,94,200,199,34,181,240,111,161,94,177,253,129,226,35,65,81,249,78,225,103,113,27,37,123,72,149,116,124,129,234,130,120,235,147,177,62,251,42,227,192,49,221,191,174,88,17,254,8,25,162,72,7,71,162,24,207,88,178,89,224,54,152,11,167,250,197,61,126,25,242,187,6,224,33,168,214,20,17,16,88,177,63,198,86,74,120,8,163,183,101,8,25,79,214,135,137,60,177,28,178,182,200,238,170,210,64,211,180,80,77,226,132,66,115,68,131,196,247,159,246,8,182,132,202,15,245,97,56,19,171,142,31,114,235,75,106,1,245,187,16,80,245,189,116,174,108,255,100,173,49,84,222,27,44,109,9,213,95,141,130,63,88,49,84,248,84,58,122,71,251,173,109,7,6,148,247,1,101,33,130,123,75,231,64,130,75,171,221,144,54,179,146,251,73,54,219,72,202,175,148,242,143,112,230,168,14,215,218,130,210,189,98,141,153,37,193,235,40,
+16,215,191,87,53,139,113,37,252,7,173,132,87,185,102,100,4,199,215,211,204,49,70,248,225,200,222,241,199,130,227,143,194,242,2,129,112,21,162,171,50,94,107,104,19,150,84,48,20,216,204,56,133,98,95,148,138,213,205,191,45,65,127,113,208,155,94,114,82,233,165,7,175,130,49,51,253,207,102,173,120,30,202,76,159,225,116,92,232,209,139,132,68,246,250,184,19,196,118,62,74,71,242,175,187,220,15,101,37,217,112,104,251,236,99,39,178,162,254,82,88,249,242,181,182,36,49,61,44,41,118,109,236,137,107,78,136,107,104,121,180,162,90,35,78,17,12,223,36,228,37,205,204,164,169,7,194,118,107,175,2,7,87,91,148,141,60,79,167,36,202,127,41,232,91,178,103,131,66,179,167,152,233,240,71,37,138,225,145,172,234,212,42,21,254,65,75,43,211,81,210,212,185,50,205,94,85,68,85,20,230,93,49,148,101,72,68,210,142,40,83,106,119,115,96,248,99,44,244,119,39,115,22,77,195,194,43,159,27,90,101,168,20,47,187,97,83,158,94,44,44,254,106,90,203,210,
+215,174,106,193,97,64,49,14,103,196,251,88,236,100,142,149,14,54,200,220,88,171,107,73,212,156,178,191,213,87,249,226,34,64,189,143,159,96,74,108,45,48,210,6,136,60,148,3,121,30,81,19,60,246,231,208,225,29,206,192,96,35,92,121,211,10,92,96,136,199,181,186,193,136,55,52,124,209,19,188,103,32,243,17,211,180,7,200,224,105,121,20,26,164,44,153,126,32,29,124,24,201,60,82,194,198,2,70,151,156,208,212,231,126,21,109,219,186,126,242,99,181,219,69,132,9,51,222,71,7,237,235,15,229,191,42,152,11,104,217,37,176,114,70,55,177,185,209,66,172,250,191,129,192,47,103,72,114,141,104,50,45,38,253,252,96,219,46,250,117,169,153,173,21,190,85,132,233,63,125,186,225,217,217,42,12,171,61,48,170,28,200,95,206,27,34,243,16,31,195,100,24,241,33,245,241,237,150,134,150,31,154,88,144,134,7,90,67,66,3,161,50,177,232,227,212,32,249,136,15,207,97,228,197,159,33,154,252,228,182,146,158,116,35,103,217,175,168,40,66,15,48,221,71,30,3,
+15,132,230,56,116,68,78,161,178,145,112,91,115,84,193,112,108,109,40,80,24,255,129,181,61,60,85,178,176,37,38,62,201,0,134,49,90,232,58,14,105,191,232,216,148,225,10,86,244,152,215,56,123,100,215,206,235,118,200,23,7,74,161,55,94,35,78,45,49,217,160,214,40,218,143,48,26,203,235,32,170,193,220,234,0,112,153,92,49,25,241,8,196,72,81,241,77,33,155,165,140,79,18,214,203,25,12,82,2,32,38,43,214,81,205,44,214,20,136,102,23,242,5,193,124,176,101,177,108,152,80,145,143,228,60,40,142,220,200,87,190,45,226,43,22,44,117,60,246,164,136,56,15,33,159,40,11,21,234,153,166,104,194,57,190,126,196,191,98,129,235,217,0,123,222,31,214,58,94,26,202,69,75,245,239,127,177,121,60,76,49,44,152,177,37,51,31,75,236,197,115,69,6,232,205,34,161,36,31,62,236,98,241,196,34,24,255,164,3,200,40,52,138,45,103,149,168,40,149,168,139,32,13,87,40,67,192,84,226,98,122,210,252,45,56,169,32,128,66,78,140,29,30,184,119,175,
+158,55,30,62,170,234,3,48,198,134,36,132,1,94,72,109,60,82,254,70,98,117,2,142,115,24,117,4,42,14,108,31,203,96,85,156,27,151,112,99,120,149,66,113,71,168,29,33,70,113,184,170,115,251,178,110,199,251,9,180,133,49,233,217,54,2,226,220,17,32,245,86,225,253,13,186,85,156,156,112,51,30,21,226,92,105,252,154,30,8,145,74,252,18,99,139,148,212,255,44,9,167,224,105,192,108,85,45,72,43,107,176,162,1,18,237,41,142,144,35,28,114,188,180,142,11,204,48,87,34,73,84,197,73,235,64,15,17,116,70,63,100,99,120,199,69,74,108,10,237,19,198,71,106,178,75,219,13,212,231,127,74,16,9,191,75,152,31,178,151,75,60,166,200,172,238,67,210,159,9,198,135,180,63,218,133,5,182,91,127,59,91,203,161,39,218,25,66,176,245,161,103,187,216,116,221,44,82,72,117,229,68,22,249,0,14,249,47,40,94,45,152,120,29,8,210,46,89,174,8,72,200,213,71,14,80,13,195,163,131,169,206,171,237,74,19,53,196,20,255,224,45,121,232,218,96,
+115,132,111,201,255,255,15,211,153,135,111,201,255,255,218,137,8,151,136,111,201,255,21,5,225,146,110,16,46,185,147,132,113,137,189,197,184,228,255,139,138,227,99,92,242,255,255,127,171,152,255,119,167,84,126,80,106,121,117,106,184,178,252,255,223,157,128,43,203,127,160,202,163,172,213,29,155,70,202,132,163,133,191,58,196,40,44,68,163,182,234,43,248,178,252,132,226,66,42,139,155,6,156,115,245,216,56,111,199,3,130,207,172,38,50,234,230,120,171,154,116,145,227,112,47,30,178,5,152,98,126,196,25,238,182,131,101,20,137,148,8,34,227,240,96,94,94,15,102,141,4,60,33,77,159,179,98,225,25,33,51,53,179,225,239,185,132,57,199,215,14,25,191,196,40,87,4,116,49,28,94,65,221,71,114,30,192,183,2,192,97,11,66,158,144,32,73,76,111,35,35,154,158,171,115,178,28,154,145,36,75,115,79,31,138,135,110,84,242,1,197,6,88,24,57,227,30,231,167,112,78,227,220,131,156,143,109,231,243,32,53,113,23,145,181,196,253,115,70,32,73,126,109,47,21,224,
+107,168,70,78,241,112,249,210,21,229,94,21,21,116,47,11,32,113,44,164,176,20,243,249,212,244,120,92,100,229,108,130,211,101,10,225,233,21,194,17,68,201,156,66,168,138,208,17,193,132,110,203,250,206,78,156,243,175,177,55,1,252,164,24,21,222,209,20,152,224,130,232,245,13,203,36,228,25,157,36,130,163,90,76,130,97,42,37,100,3,209,117,153,83,146,185,85,49,33,157,34,60,49,234,17,117,70,140,160,159,166,79,36,133,240,207,9,131,185,68,72,26,68,94,146,142,149,156,89,88,222,243,18,23,33,41,136,223,18,3,71,52,51,75,100,68,113,68,124,72,224,150,180,186,160,235,172,148,0,199,140,250,136,60,249,171,61,212,230,68,45,180,54,164,61,123,80,251,0,66,2,40,62,83,180,133,93,248,126,162,116,204,21,19,110,58,197,109,129,219,70,188,23,120,139,216,167,220,99,36,199,80,251,147,33,18,163,24,98,37,48,9,114,174,204,5,38,96,124,84,63,16,11,18,68,140,209,154,209,218,204,64,79,115,5,19,137,27,201,206,44,226,27,134,66,37,
+140,65,144,44,142,200,130,58,225,185,128,6,191,26,139,44,40,140,83,89,204,69,186,162,133,174,104,179,88,89,128,53,12,60,226,254,168,137,9,75,9,22,28,129,96,53,82,233,160,1,136,2,0,190,26,223,76,4,203,69,192,137,203,16,42,119,11,72,63,248,2,2,102,4,67,139,32,84,17,219,186,161,241,133,200,74,16,112,175,204,14,9,209,41,138,71,35,196,30,3,123,19,9,164,65,121,254,25,241,12,163,174,224,97,202,34,173,162,68,69,98,9,108,69,31,176,162,142,237,76,205,55,162,72,83,235,209,2,108,172,71,105,106,198,87,59,190,218,245,189,85,238,47,69,30,129,15,5,141,170,218,208,8,191,53,121,52,2,163,66,218,75,210,124,26,63,219,59,81,19,12,35,115,53,137,140,1,16,251,197,131,233,58,162,4,107,228,14,51,234,55,182,72,24,181,100,115,158,73,188,58,170,230,150,215,215,156,228,26,130,174,33,235,21,185,166,218,1,49,18,212,195,101,48,132,38,71,180,140,251,235,79,65,95,105,188,200,62,155,205,100,105,111,72,167,12,
+10,180,138,145,9,134,19,46,216,167,66,42,60,74,127,65,2,227,12,148,35,79,17,253,195,43,11,249,153,92,44,246,16,219,6,182,168,6,108,33,185,66,247,52,243,227,44,13,33,255,64,85,139,105,52,69,20,42,62,56,99,11,114,84,150,111,96,197,180,38,8,68,22,196,79,192,197,118,165,80,141,17,210,186,32,32,32,21,240,9,26,205,54,65,70,237,18,193,160,238,10,160,73,203,12,128,65,105,242,105,247,180,245,72,133,11,69,133,137,10,167,44,218,101,196,51,235,198,137,220,183,96,29,19,89,171,181,206,136,117,20,30,238,17,121,211,185,72,134,145,199,142,52,211,156,48,95,187,136,57,136,240,184,102,206,110,155,99,244,56,24,27,174,180,195,64,229,24,133,96,203,196,104,77,25,155,78,246,67,78,78,195,8,116,171,118,51,85,156,153,129,250,148,57,191,114,248,4,18,84,72,132,67,249,131,192,34,180,82,38,218,61,165,112,76,198,82,150,142,62,2,237,229,97,122,196,149,95,4,132,213,167,137,130,216,53,164,249,179,54,233,122,44,6,138,30,
+123,1,130,184,53,94,208,30,40,198,108,17,225,89,147,102,157,104,57,48,175,72,208,69,55,96,36,10,154,205,230,164,196,254,225,185,149,102,39,19,62,70,202,136,91,6,103,132,248,96,166,124,204,153,174,112,66,104,19,163,212,51,59,37,148,142,145,50,177,187,82,154,94,163,151,149,134,158,43,8,177,152,191,76,154,166,18,223,63,24,43,252,245,222,9,35,138,154,248,78,127,208,3,17,48,16,206,68,233,110,66,229,79,193,96,177,129,122,40,51,5,204,184,139,172,43,238,72,18,23,196,16,93,7,51,150,249,13,93,139,216,111,27,117,176,7,37,53,55,77,135,250,25,56,175,114,194,242,180,243,184,198,32,184,160,138,154,60,222,16,187,209,14,132,139,137,162,134,240,55,237,16,80,174,137,131,1,13,17,233,131,209,41,201,140,189,19,32,94,5,99,41,66,111,92,19,18,191,13,35,199,236,196,23,65,126,140,109,166,202,50,80,228,79,152,84,100,94,177,145,79,100,85,102,95,228,174,209,21,33,63,97,157,131,96,10,131,46,101,120,80,3,194,19,83,19,
+210,7,83,165,4,66,97,118,240,179,84,27,169,28,37,77,162,88,148,100,243,190,245,211,92,229,207,102,194,87,141,155,6,10,115,21,115,180,78,127,50,174,248,64,34,105,126,104,103,16,171,235,189,173,178,218,118,232,93,141,255,243,15,226,68,98,255,224,94,190,231,137,184,47,245,71,76,63,190,113,143,68,61,144,82,118,149,50,220,133,64,199,76,87,37,67,149,206,134,33,205,153,16,147,217,218,29,215,80,58,205,200,70,152,155,128,141,78,194,27,218,36,196,245,121,102,129,142,136,188,228,8,13,31,137,160,19,48,213,131,162,170,210,216,19,117,216,169,230,144,132,208,60,53,138,135,161,209,177,92,30,1,30,239,136,177,89,112,112,105,31,15,104,98,190,79,106,164,204,51,128,62,38,113,156,102,238,128,10,133,188,148,212,203,70,251,176,158,25,24,50,94,94,41,109,164,190,71,83,243,80,250,130,133,34,10,101,100,139,36,2,186,196,30,134,85,7,230,246,2,213,43,180,16,226,97,37,64,84,15,158,168,167,50,81,88,151,234,225,67,21,135,104,89,52,75,
+71,68,58,92,108,169,72,212,170,117,64,126,106,10,66,250,225,151,252,56,196,199,79,33,113,212,71,56,174,235,84,42,133,152,98,178,77,140,17,80,77,54,171,165,243,22,121,56,187,44,217,217,111,156,184,78,25,119,184,9,220,22,162,129,102,74,147,33,106,8,91,109,33,105,28,133,17,47,194,18,51,33,54,75,52,189,57,141,57,107,28,30,54,89,16,17,4,218,149,38,204,55,232,78,190,38,19,33,70,186,97,77,244,255,63,80,86,81,98,29,219,202,232,7,218,170,27,184,209,181,83,160,121,58,54,214,34,81,156,13,214,136,113,29,150,142,41,79,181,178,13,85,136,183,74,125,41,67,177,147,210,173,82,60,84,184,231,2,202,71,86,157,151,224,60,100,70,197,205,255,255,219,217,145,125,175,49,117,223,33,204,79,180,40,199,128,220,125,194,70,98,15,163,210,18,197,88,59,128,124,201,168,1,106,55,98,106,194,108,53,80,4,129,137,140,20,148,150,50,69,226,65,75,91,196,99,150,51,80,96,64,203,199,246,160,215,52,204,43,154,171,230,96,80,177,94,
+1,215,162,5,224,45,87,194,76,108,65,196,162,229,135,224,121,169,62,153,98,109,136,62,149,39,103,150,75,46,57,207,16,140,167,163,222,29,228,50,146,161,104,53,9,74,234,107,11,147,100,130,213,24,69,44,206,105,55,65,169,148,64,11,37,3,230,234,65,128,177,52,3,224,210,136,5,165,233,78,3,130,132,41,10,217,67,103,169,194,34,99,55,17,56,154,53,87,86,140,143,40,89,51,118,80,84,45,225,210,75,152,32,75,184,37,18,8,21,2,246,162,23,60,15,213,142,94,156,31,168,124,84,75,134,204,177,135,136,64,64,48,17,36,137,31,202,11,168,15,169,167,26,248,216,231,130,142,206,227,35,28,90,117,214,41,218,110,8,124,21,4,196,191,56,206,215,242,180,41,104,25,126,234,225,13,38,228,131,58,253,241,166,122,29,34,130,89,86,193,33,60,193,154,108,83,210,28,77,51,184,179,129,76,145,109,52,228,149,80,252,176,211,61,7,39,176,161,124,250,56,34,71,32,156,21,105,176,153,109,178,78,204,142,212,140,66,198,166,219,208,19,143,56,121,2,
+137,103,65,130,161,174,17,107,223,65,176,91,162,213,20,96,65,49,51,46,50,214,29,17,20,211,202,122,16,177,253,193,239,233,3,16,206,93,132,63,255,12,110,80,238,137,244,77,189,65,1,175,179,19,103,160,146,69,176,87,173,76,210,50,185,168,47,119,183,173,14,56,96,212,10,229,17,179,204,73,239,161,89,189,1,40,187,212,29,7,78,176,69,189,244,157,108,72,30,72,155,163,232,13,177,148,8,137,115,96,70,73,136,241,174,132,196,37,202,179,168,24,196,34,55,10,228,152,216,147,17,143,224,80,62,113,129,38,60,52,199,116,234,97,14,71,148,141,122,57,187,73,209,241,91,233,28,101,24,106,135,11,4,238,21,110,80,15,195,184,122,74,92,172,239,106,157,99,78,79,213,18,217,144,165,38,2,207,202,114,41,32,76,24,9,122,110,130,213,89,155,120,166,208,72,143,36,219,132,109,34,225,165,200,55,226,205,60,233,126,137,185,81,164,187,68,33,46,128,72,39,111,166,210,16,13,34,212,193,22,19,114,80,132,123,144,234,60,179,182,49,53,37,17,194,185,
+84,35,170,176,150,10,120,96,194,35,102,82,28,239,5,50,35,165,220,104,154,228,198,189,192,248,12,192,162,21,218,169,165,104,215,5,112,24,24,59,118,203,36,228,231,73,132,67,210,7,65,105,173,223,182,179,67,54,113,12,65,198,40,174,72,13,196,3,43,181,252,80,211,200,9,66,74,53,10,210,36,1,58,67,241,73,60,215,240,0,173,192,66,123,41,217,76,114,163,69,105,137,62,78,122,204,112,177,54,72,188,75,106,30,69,161,60,198,189,246,171,34,203,26,75,251,83,225,156,163,201,168,98,92,137,66,246,130,103,83,200,199,146,68,17,223,199,92,155,232,67,233,239,63,103,80,73,158,132,154,114,240,6,252,229,238,249,70,155,70,32,220,158,17,83,81,16,194,147,92,170,121,114,205,10,80,216,48,34,205,56,134,10,229,242,228,200,231,246,130,131,114,200,146,63,244,59,245,204,165,212,37,180,86,181,91,90,202,190,152,219,86,96,213,10,7,97,210,199,12,176,61,179,194,133,46,85,147,34,225,75,182,152,10,187,72,132,161,178,101,212,137,145,97,137,141,
+232,120,140,71,115,22,37,194,212,122,219,60,99,129,176,64,114,67,113,197,148,150,33,191,186,233,133,44,181,34,161,80,33,103,14,84,177,58,65,65,156,74,101,136,63,49,169,17,158,121,40,181,35,82,57,177,141,2,107,176,160,237,118,49,144,31,229,107,85,167,165,129,237,216,21,214,121,172,115,63,75,81,89,186,249,156,222,120,123,12,96,117,216,141,168,144,172,98,52,15,147,242,101,74,11,166,152,113,165,176,57,145,183,170,144,47,39,66,208,75,119,20,49,208,5,12,247,194,137,251,98,119,189,4,195,129,82,213,40,47,3,11,235,210,141,146,64,210,25,135,60,84,64,32,213,74,228,255,255,147,171,234,229,147,133,169,192,70,166,20,166,119,17,32,240,253,7,111,242,150,20,38,168,74,187,193,161,60,197,87,165,77,173,158,156,173,109,67,178,182,223,248,168,206,59,250,21,158,183,255,167,180,62,17,70,186,124,39,3,58,135,193,13,147,37,240,188,102,232,72,62,168,213,128,191,252,224,171,195,60,64,215,64,194,232,18,36,140,55,88,78,81,37,255,4,64,
+83,93,145,162,40,198,10,222,118,64,144,232,173,74,86,128,182,113,86,76,82,246,71,28,98,22,16,53,68,145,113,139,5,113,238,14,147,140,51,15,156,103,43,79,4,65,121,206,108,207,45,98,65,211,236,171,27,108,17,221,113,150,228,96,213,62,191,67,124,118,238,146,224,8,6,145,130,181,51,206,168,143,50,161,13,176,225,196,13,249,106,50,230,44,205,148,53,93,51,200,148,127,100,195,35,114,196,149,109,129,244,81,177,163,29,30,221,36,160,216,207,136,181,120,196,76,20,213,11,48,173,177,223,243,118,44,180,101,218,98,104,165,48,205,17,102,26,8,32,5,63,225,6,177,157,167,129,126,28,38,222,37,10,152,132,37,207,55,2,57,164,100,69,86,213,3,145,157,84,92,121,121,149,214,115,160,198,101,15,179,136,55,48,139,92,131,152,69,98,124,96,22,177,111,194,145,3,48,128,58,14,212,205,3,121,43,45,42,153,207,60,0,72,158,34,128,7,249,40,21,75,149,155,2,201,37,79,254,255,255,193,232,237,17,59,50,141,111,180,110,10,144,112,19,90,58,
+134,116,77,209,115,171,49,133,244,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
+
+var Module = typeof Module !== "undefined" ? Module : {};
+
+if (!Module.expectedDataFileDownloads) {
+ Module.expectedDataFileDownloads = 0;
+ Module.finishedDataFileDownloads = 0;
+}
+
+Module.expectedDataFileDownloads++;
+
+(function() {
+ var loadPackage = function(metadata) {
+ function runWithFS() {
+ var fileData0 = [];
+ fileData0.push.apply(fileData0, [ 67, 80, 79, 68, 68, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 70, 73, 76, 0, 0, 0, 0, 123, 144, 0, 0, 112, 111, 100, 47, 112, 105, 99, 111, 56, 95, 98, 111, 111, 116, 46, 112, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 1, 0, 0, 242, 16, 112, 105, 99, 111, 45, 56, 32, 99, 97, 114, 116, 114, 105, 100, 103, 101, 32, 47, 47, 32, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 31, 0, 255, 13, 46, 99, 111, 109, 10, 118, 101, 114, 115, 105, 111, 110, 32, 56, 10, 95, 95, 108, 117, 97, 95, 95, 10, 10, 45, 45, 62, 56, 6, 0, 25, 159, 95, 95, 103, 102, 120, 95, 95, 10, 48, 1, 0, 108, 15, 129, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 45, 1, 137, 64, 31, 102, 137, 64, 112, 15, 139, 1, 109, 15, 1, 1, 239, 95, 95, 95, 109, 97, 112, 10, 2, 240, 15, 1, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 50, 95, 95, 115, 187, 98, 48, 49, 48, 99, 17, 0, 161, 51, 48, 53, 53, 53, 50, 98, 53, 54, 53, 10, 0, 64, 51, 53, 53, 52, 5, 0, 128, 49, 53, 51, 53, 55, 48, 53, 48, 3, 0, 15, 5, 0, 106, 0, 169, 0, 16, 56, 12, 0, 115, 50, 52, 48, 51, 53, 50, 52, 26, 0, 15, 91, 2, 130, 30, 49, 154, 0, 15, 169, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 113, 95, 95, 109, 117, 115, 105, 99, 114, 74, 50, 32, 52, 49, 2, 0, 15, 12, 0, 255, 255, 224, 80, 49, 52, 49, 10, 10, 99, 70, 73, 76, 0, 0, 0, 0, 27, 189, 12, 0, 112, 111, 100, 47, 103, 102, 120, 49, 46, 112, 111, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 74, 0, 0, 243, 22, 67, 80, 79, 68, 68, 0, 0, 0, 1, 0, 0, 0, 103, 102, 120, 49, 46, 112, 111, 100, 0, 47, 112, 97, 98, 97, 47, 112, 105, 99, 111, 56, 47, 112, 111, 100, 47, 25, 0, 63, 9, 1, 0, 1, 0, 10, 177, 67, 66, 77, 80, 20, 0, 1, 0, 128, 0, 0, 4, 0, 47, 32, 0, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 207, 79, 77, 0, 255, 255, 4, 0, 73, 47, 0, 0, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 91, 63, 163, 255, 255, 4, 0, 73, 47, 232, 241, 4, 0, 75, 47, 170, 204, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 79, 39, 236, 255, 255, 4, 0, 73, 47, 232, 241, 4, 0, 255, 12, 47, 168, 119, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 15, 1, 0, 77, 79, 54, 228, 0, 255, 4, 0, 73, 15, 160, 1, 77, 63, 156, 118, 131, 4, 0, 74, 15, 160, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 15, 1, 0, 77, 79, 255, 173, 41, 255, 4, 0, 73, 15, 99, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 92, 15, 1, 0, 255, 255, 255, 255, 255, 255, 255, 36, 97, 67, 80, 65, 76, 0, 3, 11, 0, 255, 39, 29, 43, 83, 126, 37, 83, 0, 135, 81, 171, 82, 54, 95, 87, 79, 194, 195, 199, 255, 241, 232, 255, 0, 77, 255, 163, 0, 255, 236, 39, 0, 228, 54, 41, 173, 255, 131, 118, 156, 255, 119, 168, 255, 204, 170, 0, 0, 0, 2, 4, 6, 2, 4, 8, 3, 0, 130, 17, 9, 3, 0, 15, 48, 0, 29, 9, 54, 0, 63, 3, 5, 10, 48, 0, 10, 12, 60, 0, 14, 48, 0, 15, 150, 0, 11, 56, 3, 5, 10, 3, 0, 254, 33, 41, 24, 20, 17, 29, 53, 66, 33, 54, 18, 83, 89, 116, 47, 41, 73, 51, 59, 162, 136, 121, 243, 239, 125, 190, 18, 80, 255, 108, 36, 168, 231, 46, 0, 181, 67, 6, 90, 181, 117, 70, 101, 255, 110, 89, 255, 157, 129, 122, 1, 15, 3, 0, 255, 44, 255, 2, 67, 66, 77, 80, 164, 1, 0, 0, 40, 0, 0, 0, 10, 0, 0, 0, 8, 68, 3, 24, 15, 44, 0, 20, 63, 9, 7, 15, 39, 0, 17, 95, 10, 7, 7, 7, 14, 41, 0, 17, 51, 11, 7, 13, 10, 0, 66, 7, 7, 7, 7, 5, 0, 20, 0, 5, 0, 22, 7, 25, 0, 37, 0, 12, 39, 0, 0, 3, 0, 5, 4, 0, 4, 16, 0, 0, 10, 0, 1, 3, 0, 23, 0, 79, 0, 14, 40, 0, 3, 99, 0, 9, 40, 0, 5, 7, 0, 10, 80, 0, 1, 18, 0, 12, 40, 0, 6, 165, 0, 9, 159, 0, 31, 7, 180, 4, 54, 57, 79, 72, 67, 180, 4, 91, 231, 39, 0, 231, 86, 180, 4, 15, 1, 0, 29, 240, 3, 28, 0, 73, 109, 24, 69, 0, 122, 44, 160, 72, 50, 52, 54, 53, 173, 177, 183, 100, 14, 240, 8, 0, 77, 255, 132, 0, 255, 255, 39, 0, 226, 50, 41, 173, 255, 174, 75, 176, 255, 136, 188, 255, 214, 197, 48, 0, 32, 48, 102, 144, 0, 177, 131, 72, 171, 82, 54, 63, 65, 65, 180, 182, 188, 48, 0, 49, 42, 255, 163, 79, 0, 96, 231, 86, 41, 162, 255, 132, 48, 0, 245, 7, 175, 255, 217, 177, 0, 0, 0, 32, 51, 123, 140, 28, 60, 0, 131, 49, 171, 100, 54, 80, 80, 80, 120, 0, 35, 255, 155, 9, 0, 97, 63, 155, 255, 132, 112, 169, 192, 0, 0, 75, 0, 255, 0, 28, 24, 87, 135, 37, 77, 0, 147, 60, 0, 0, 0, 69, 69, 69, 180, 0, 2, 98, 146, 133, 174, 255, 105, 154, 48, 0, 48, 55, 67, 91, 19, 0, 143, 135, 81, 0, 0, 0, 86, 70, 59, 48, 0, 2, 53, 131, 118, 156, 12, 0, 53, 37, 55, 77, 12, 0, 63, 101, 91, 82, 32, 1, 14, 53, 43, 55, 66, 12, 0, 63, 79, 72, 67, 48, 0, 15, 37, 62, 83, 12, 0, 63, 95, 87, 79, 48, 0, 14, 79, 29, 43, 83, 0, 1, 0, 255, 4, 48, 255, 0, 255, 180, 4, 158, 20, 48, 0, 0, 128, 0, 0, 0, 96, 180, 4, 15, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 26, 0, 28, 48, 83, 36, 0, 0, 0, 4, 4, 0, 9, 28, 48, 241, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 72, 48, 33, 0, 1, 72, 48, 0, 76, 48, 47, 32, 0, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 207, 79, 77, 0, 255, 255, 4, 0, 73, 47, 0, 0, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 91, 63, 163, 255, 255, 4, 0, 72, 15, 32, 170, 78, 47, 170, 204, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 79, 39, 236, 255, 255, 4, 0, 73, 47, 232, 241, 4, 0, 255, 12, 47, 168, 119, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 15, 1, 0, 77, 79, 54, 228, 0, 255, 4, 0, 73, 15, 160, 1, 77, 63, 156, 118, 131, 4, 0, 74, 15, 160, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 15, 1, 0, 77, 79, 255, 173, 41, 255, 4, 0, 73, 15, 99, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 92, 15, 1, 0, 255, 255, 255, 255, 255, 255, 255, 36, 151, 67, 66, 77, 80, 84, 0, 0, 0, 8, 4, 0, 4, 1, 0, 20, 8, 1, 0, 36, 2, 2, 8, 0, 36, 2, 2, 8, 0, 42, 2, 2, 8, 0, 8, 40, 0, 3, 1, 0, 15, 92, 0, 18, 36, 15, 15, 8, 0, 36, 15, 15, 8, 0, 42, 15, 15, 8, 0, 8, 40, 0, 15, 92, 0, 25, 6, 147, 0, 3, 186, 0, 4, 176, 0, 19, 8, 15, 0, 36, 8, 8, 208, 0, 15, 92, 0, 33, 40, 15, 15, 186, 0, 4, 176, 0, 19, 8, 15, 0, 36, 8, 8, 208, 0, 15, 92, 0, 32, 47, 2, 2, 191, 0, 1, 6, 16, 0, 4, 185, 0, 3, 8, 0, 15, 92, 0, 26, 47, 15, 15, 191, 0, 1, 6, 16, 0, 4, 185, 0, 3, 8, 0, 6, 92, 0, 95, 100, 0, 0, 0, 10, 20, 1, 12, 6, 194, 0, 3, 2, 0, 15, 10, 0, 23, 15, 108, 0, 39, 19, 15, 2, 0, 15, 10, 0, 22, 15, 216, 0, 50, 15, 20, 0, 8, 15, 216, 0, 62, 15, 20, 0, 30, 0, 108, 0, 95, 68, 1, 0, 0, 38, 108, 0, 1, 15, 1, 0, 33, 2, 236, 3, 45, 2, 2, 164, 0, 37, 15, 15, 4, 0, 85, 8, 2, 2, 15, 15, 39, 0, 18, 2, 103, 3, 1, 5, 1, 5, 162, 0, 0, 165, 0, 16, 2, 115, 2, 5, 139, 3, 21, 8, 7, 2, 6, 72, 0, 13, 38, 0, 1, 76, 0, 3, 43, 0, 4, 202, 1, 2, 76, 0, 8, 114, 0, 7, 83, 2, 10, 38, 0, 8, 190, 0, 6, 118, 0, 31, 2, 251, 0, 8, 15, 76, 1, 98, 2, 231, 0, 39, 2, 8, 93, 5, 0, 222, 0, 2, 156, 3, 35, 15, 15, 67, 1, 5, 90, 2, 5, 210, 4, 1, 42, 1, 4, 243, 0, 3, 29, 1, 6, 72, 0, 12, 38, 0, 1, 76, 0, 3, 43, 0, 5, 123, 1, 43, 2, 8, 114, 0, 7, 51, 3, 10, 38, 0, 8, 190, 0, 39, 15, 15, 114, 0, 15, 76, 1, 22, 95, 36, 0, 0, 0, 2, 76, 1, 0, 244, 1, 0, 8, 1, 9, 2, 10, 3, 11, 4, 12, 5, 13, 6, 14, 7, 15, 44, 0, 23, 8, 48, 0, 5, 44, 0, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 88, 0, 10, 255, 0, 10, 4, 9, 2, 8, 3, 11, 1, 12, 13, 14, 5, 15, 6, 7, 40, 5, 9, 34, 6, 7, 1, 0, 33, 13, 6, 1, 0, 0, 8, 0, 33, 5, 5, 8, 0, 129, 5, 5, 5, 5, 6, 7, 13, 5, 1, 0, 8, 32, 0, 2, 8, 0, 2, 1, 0, 31, 6, 92, 0, 10, 3, 37, 0, 18, 7, 52, 0, 8, 8, 0, 33, 5, 5, 8, 0, 1, 100, 0, 34, 13, 7, 100, 0, 6, 32, 0, 2, 1, 0, 31, 6, 184, 0, 26, 5, 168, 0, 3, 184, 0, 5, 200, 0, 15, 184, 0, 56, 5, 168, 0, 3, 184, 0, 5, 200, 0, 15, 184, 0, 23, 31, 5, 1, 0, 44, 0, 92, 0, 19, 44, 84, 0, 31, 3, 20, 1, 4, 19, 1, 236, 0, 18, 1, 1, 0, 1, 144, 0, 32, 20, 32, 68, 2, 60, 0, 0, 32, 44, 2, 255, 1, 0, 5, 1, 2, 1, 13, 6, 2, 4, 9, 3, 13, 5, 13, 6, 0, 1, 0, 221, 11, 88, 3, 15, 255, 0, 221, 16, 5, 0, 2, 30, 13, 0, 2, 15, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 4, 72, 34, 19, 4, 4, 0, 9, 28, 32, 255, 0, 5, 6, 7, 2, 4, 9, 10, 1, 13, 14, 15, 3, 11, 12, 8, 44, 0, 18, 67, 3, 11, 8, 2, 160, 34, 19, 35, 164, 32, 28, 5, 168, 32, 81, 0, 0, 6, 6, 0, 164, 32, 34, 0, 6, 131, 0, 19, 45, 39, 0, 12, 43, 0, 11, 174, 0, 17, 2, 2, 0, 31, 0, 200, 41, 12, 7, 106, 0, 0, 99, 0, 1, 113, 0, 2, 118, 0, 11, 8, 0, 4, 32, 0, 14, 20, 1, 15, 92, 0, 33, 47, 8, 8, 92, 0, 20, 83, 164, 0, 0, 0, 12, 4, 0, 8, 92, 0, 31, 11, 1, 0, 124, 0, 172, 0, 19, 76, 164, 0, 27, 7, 172, 0, 3, 35, 35, 31, 5, 8, 0, 29, 15, 84, 0, 9, 2, 183, 34, 47, 6, 5, 8, 0, 29, 15, 168, 0, 12, 31, 5, 4, 0, 1, 4, 1, 0, 15, 32, 0, 1, 15, 168, 0, 16, 31, 5, 4, 0, 1, 4, 1, 0, 15, 32, 0, 1, 15, 168, 0, 14, 18, 5, 2, 0, 5, 152, 0, 15, 16, 0, 20, 15, 168, 0, 10, 18, 5, 2, 0, 5, 152, 0, 15, 16, 0, 20, 15, 80, 1, 11, 1, 53, 1, 3, 138, 0, 31, 13, 168, 36, 6, 4, 32, 0, 4, 48, 0, 15, 80, 1, 11, 1, 53, 1, 3, 138, 0, 31, 6, 84, 0, 6, 4, 32, 0, 4, 48, 0, 15, 144, 4, 10, 65, 13, 13, 0, 13, 6, 0, 32, 0, 13, 6, 0, 15, 44, 0, 10, 0, 136, 4, 96, 11, 7, 6, 6, 11, 11, 151, 4, 30, 0, 172, 0, 15, 74, 5, 17, 95, 10, 10, 10, 10, 0, 104, 5, 5, 15, 84, 0, 70, 98, 20, 64, 0, 0, 128, 0, 4, 0, 8, 84, 0, 79, 1, 0, 0, 1, 4, 0, 102, 15, 127, 0, 111, 31, 1, 127, 0, 236, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 15, 196, 68, 19, 51, 0, 0, 14, 7, 0, 19, 14, 7, 0, 10, 16, 0, 5, 32, 0, 15, 32, 69, 32, 5, 24, 0, 36, 8, 8, 58, 106, 9, 16, 0, 5, 32, 0, 15, 92, 0, 33, 42, 14, 0, 168, 0, 4, 185, 0, 5, 16, 0, 31, 0, 92, 0, 39, 42, 8, 0, 168, 0, 4, 185, 0, 5, 16, 0, 15, 92, 0, 40, 4, 1, 0, 34, 7, 7, 7, 0, 2, 13, 66, 18, 7, 12, 0, 2, 20, 0, 47, 0, 7, 92, 0, 44, 4, 66, 0, 17, 7, 82, 0, 47, 7, 7, 92, 0, 59, 3, 187, 0, 8, 93, 0, 47, 7, 7, 92, 0, 49, 1, 187, 104, 1, 172, 0, 8, 4, 0, 3, 20, 0, 15, 184, 0, 46, 6, 165, 0, 6, 8, 0, 2, 114, 0, 15, 92, 0, 45, 40, 7, 0, 89, 0, 4, 110, 1, 3, 182, 0, 15, 92, 0, 48, 22, 7, 2, 0, 3, 1, 0, 7, 19, 0, 9, 120, 1, 15, 132, 2, 36, 6, 99, 1, 5, 14, 1, 14, 112, 1, 15, 56, 112, 32, 8, 10, 0, 5, 199, 113, 15, 16, 113, 68, 8, 10, 0, 5, 215, 113, 15, 16, 113, 67, 36, 2, 8, 157, 111, 15, 20, 0, 18, 15, 216, 0, 42, 36, 15, 8, 189, 110, 15, 20, 0, 18, 15, 48, 116, 34, 25, 2, 175, 1, 5, 128, 115, 11, 0, 117, 15, 48, 116, 35, 25, 15, 159, 1, 5, 128, 115, 11, 0, 117, 15, 48, 116, 29, 4, 144, 111, 7, 2, 0, 22, 2, 69, 2, 7, 16, 0, 11, 117, 112, 15, 48, 116, 17, 2, 135, 117, 39, 15, 8, 2, 0, 22, 15, 53, 2, 7, 16, 0, 3, 255, 116, 15, 20, 1, 26, 3, 17, 2, 6, 46, 114, 15, 8, 0, 3, 12, 57, 2, 15, 88, 118, 21, 2, 63, 118, 6, 12, 0, 15, 8, 0, 1, 12, 41, 2, 15, 16, 119, 22, 9, 0, 119, 1, 162, 0, 6, 16, 0, 6, 41, 2, 47, 8, 8, 184, 0, 32, 25, 8, 0, 119, 1, 162, 0, 6, 16, 0, 6, 41, 2, 47, 8, 8, 184, 0, 31, 4, 113, 1, 6, 8, 0, 8, 248, 2, 42, 2, 2, 8, 0, 15, 184, 0, 27, 4, 113, 1, 6, 8, 0, 8, 248, 2, 42, 15, 15, 8, 0, 15, 60, 3, 28, 21, 8, 98, 120, 5, 49, 2, 6, 8, 0, 4, 24, 0, 7, 50, 119, 15, 92, 0, 26, 5, 98, 120, 5, 49, 2, 6, 8, 0, 4, 24, 0, 7, 50, 119, 15, 128, 120, 32, 11, 88, 4, 15, 80, 4, 53, 14, 88, 4, 15, 80, 4, 17, 14, 112, 79, 15, 14, 7, 2, 19, 6, 68, 113, 7, 82, 7, 19, 7, 208, 79, 4, 212, 79, 15, 1, 0, 28, 8, 60, 0, 8, 84, 0, 8, 108, 0, 12, 28, 80, 82, 1, 0, 0, 20, 0, 4, 0, 15, 232, 9, 15, 41, 7, 6, 111, 0, 9, 188, 0, 14, 196, 0, 14, 153, 0, 15, 1, 0, 216, 14, 4, 1, 15, 44, 1, 3, 14, 84, 1, 15, 56, 83, 7, 48, 5, 0, 0, 84, 78, 31, 36, 208, 77, 1, 15, 188, 1, 17, 23, 6, 4, 0, 41, 7, 7, 15, 0, 15, 204, 1, 3, 15, 220, 1, 1, 15, 249, 0, 20, 15, 39, 0, 46, 31, 6, 144, 0, 255, 255, 255, 154, 15, 108, 0, 53, 15, 164, 4, 15, 15, 100, 88, 22, 98, 56, 19, 0, 0, 70, 0, 4, 0, 47, 8, 0, 1, 0, 62, 1, 120, 121, 1, 88, 88, 15, 8, 0, 3, 2, 229, 14, 47, 6, 6, 38, 0, 7, 14, 112, 5, 15, 137, 0, 35, 15, 70, 0, 123, 31, 6, 57, 7, 48, 15, 70, 0, 34, 15, 114, 8, 140, 15, 24, 1, 119, 15, 48, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 53, 15, 164, 1, 255, 6, 15, 70, 0, 49, 15, 82, 18, 53, 31, 0, 180, 148, 88, 6, 97, 144, 9, 156, 29, 9, 160, 145, 8, 9, 0, 15, 236, 28, 26, 40, 15, 15, 40, 147, 11, 253, 30, 5, 33, 31, 5, 9, 0, 14, 164, 29, 15, 184, 0, 22, 14, 8, 0, 14, 208, 0, 15, 184, 0, 37, 14, 8, 0, 14, 208, 0, 15, 184, 0, 31, 10, 8, 0, 14, 44, 150, 15, 184, 0, 41, 10, 8, 0, 14, 44, 150, 12, 184, 0, 16, 141, 72, 108, 3, 4, 0, 15, 104, 21, 42, 22, 1, 10, 0, 38, 7, 1, 11, 0, 38, 7, 1, 11, 0, 38, 7, 1, 11, 0, 37, 7, 1, 33, 0, 5, 34, 0, 35, 1, 7, 137, 40, 23, 69, 211, 37, 31, 8, 103, 0, 1, 2, 99, 0, 2, 4, 0, 17, 1, 42, 0, 19, 1, 14, 0, 6, 127, 0, 0, 6, 0, 15, 226, 0, 24, 38, 1, 0, 170, 0, 20, 1, 149, 0, 1, 11, 0, 42, 7, 1, 11, 0, 51, 1, 1, 7, 193, 0, 37, 1, 7, 11, 0, 2, 213, 0, 2, 11, 0, 2, 34, 0, 29, 1, 248, 0, 63, 0, 1, 1, 149, 0, 13, 15, 160, 0, 41, 14, 138, 0, 15, 149, 0, 28, 83, 245, 0, 0, 0, 15, 4, 0, 15, 116, 23, 60, 6, 30, 2, 11, 34, 2, 3, 15, 0, 6, 222, 0, 9, 213, 0, 9, 110, 1, 42, 0, 0, 114, 1, 27, 0, 225, 0, 12, 229, 0, 12, 233, 0, 6, 237, 0, 12, 158, 0, 14, 253, 0, 15, 81, 144, 89, 31, 0, 253, 0, 111, 14, 106, 108, 12, 126, 146, 1, 141, 111, 3, 167, 109, 30, 13, 8, 0, 4, 32, 0, 7, 118, 146, 15, 84, 0, 15, 34, 6, 6, 154, 109, 82, 8, 8, 8, 7, 6, 8, 0, 23, 8, 8, 0, 4, 32, 0, 15, 84, 0, 34, 82, 9, 9, 9, 7, 6, 8, 0, 23, 9, 8, 0, 15, 84, 0, 42, 82, 10, 10, 10, 7, 6, 8, 0, 23, 10, 8, 0, 15, 84, 0, 42, 82, 11, 11, 11, 7, 6, 8, 0, 23, 11, 8, 0, 15, 84, 0, 42, 82, 12, 12, 12, 7, 6, 8, 0, 23, 12, 8, 0, 15, 84, 0, 42, 82, 14, 14, 14, 7, 6, 8, 0, 23, 14, 8, 0, 14, 84, 0, 15, 248, 1, 66, 19, 55, 235, 115, 15, 84, 0, 3, 1, 29, 0, 51, 1, 1, 13, 226, 2, 0, 5, 0, 1, 20, 0, 15, 63, 0, 25, 10, 7, 10, 10, 63, 0, 15, 210, 0, 5, 23, 0, 217, 4, 34, 1, 1, 97, 3, 23, 1, 206, 48, 1, 8, 0, 15, 114, 3, 0, 15, 84, 0, 97, 6, 91, 0, 39, 1, 0, 115, 49, 2, 92, 0, 1, 16, 0, 14, 168, 5, 15, 84, 0, 103, 3, 67, 0, 15, 8, 0, 6, 47, 0, 0, 84, 0, 81, 15, 232, 46, 27, 9, 1, 0, 14, 17, 45, 15, 92, 0, 37, 42, 7, 7, 145, 46, 8, 11, 0, 14, 102, 0, 15, 48, 46, 31, 42, 7, 0, 200, 45, 4, 84, 47, 31, 7, 180, 48, 53, 5, 107, 0, 3, 3, 48, 3, 8, 0, 31, 0, 180, 48, 50, 7, 149, 46, 7, 156, 46, 15, 160, 47, 49, 13, 121, 1, 15, 92, 0, 49, 5, 11, 1, 9, 2, 0, 14, 127, 14, 15, 132, 2, 40, 42, 7, 7, 4, 0, 14, 92, 0, 15, 128, 50, 47, 6, 32, 2, 14, 232, 2, 15, 40, 2, 40, 11, 8, 0, 15, 112, 1, 48, 27, 7, 43, 3, 7, 212, 1, 15, 92, 0, 56, 31, 0, 132, 2, 64, 11, 126, 50, 6, 200, 0, 31, 0, 184, 0, 53, 8, 80, 4, 15, 60, 3, 63, 25, 7, 40, 2, 15, 112, 1, 66, 14, 8, 0, 11, 92, 0, 83, 101, 0, 0, 0, 9, 4, 0, 15, 60, 3, 13, 20, 6, 159, 123, 0, 205, 157, 2, 146, 17, 45, 13, 6, 9, 0, 4, 27, 0, 3, 46, 0, 3, 213, 122, 15, 109, 0, 21, 5, 178, 52, 0, 86, 158, 2, 160, 3, 45, 13, 7, 9, 0, 4, 27, 0, 3, 46, 0, 5, 9, 0, 4, 118, 0, 15, 218, 0, 41, 19, 6, 191, 0, 13, 9, 0, 15, 218, 0, 56, 4, 182, 0, 13, 9, 0, 15, 218, 0, 74, 5, 191, 0, 5, 180, 1, 15, 218, 0, 61, 0, 2, 11, 3, 182, 0, 3, 9, 0, 20, 14, 200, 0, 7, 27, 0, 10, 218, 0, 18, 14, 1, 0, 15, 218, 0, 50, 14, 227, 0, 15, 218, 0, 63, 14, 227, 0, 15, 218, 0, 17, 98, 20, 1, 0, 0, 16, 0, 4, 0, 14, 59, 15, 15, 44, 129, 235, 15, 28, 1, 5, 28, 7, 1, 0, 11, 31, 5, 15, 16, 0, 205, 15, 56, 2, 13, 15, 43, 1, 233, 15, 46, 4, 29, 21, 1, 203, 12, 53, 13, 7, 13, 13, 20, 11, 18, 0, 15, 231, 12, 3, 15, 41, 7, 1, 15, 18, 3, 76, 15, 109, 0, 19, 46, 7, 0, 126, 11, 25, 7, 246, 59, 11, 99, 8, 14, 47, 10, 15, 109, 0, 21, 7, 36, 10, 15, 9, 0, 4, 6, 255, 4, 8, 238, 25, 9, 138, 2, 15, 109, 0, 19, 14, 242, 11, 14, 11, 61, 14, 18, 0, 13, 54, 0, 15, 218, 0, 22, 8, 109, 60, 26, 7, 9, 0, 4, 209, 0, 9, 89, 1, 14, 74, 1, 15, 180, 1, 96, 162, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 127, 166, 4, 28, 0, 53, 105, 102, 102, 4, 0, 79, 8, 4, 2, 255, 4, 0, 255, 255, 83, 8, 116, 2, 8, 124, 2, 63, 103, 102, 102, 4, 0, 255, 255, 84, 12, 132, 2, 14, 124, 2, 15, 132, 2, 255, 255, 85, 15, 124, 2, 255, 255, 103, 8, 132, 2, 15, 128, 2, 255, 255, 255, 255, 255, 174, 63, 77, 0, 255, 128, 2, 255, 255, 104, 34, 0, 155, 155, 250, 63, 188, 204, 255, 128, 2, 255, 255, 96, 42, 39, 231, 31, 253, 63, 168, 119, 255, 0, 5, 255, 255, 96, 34, 50, 226, 247, 255, 62, 169, 112, 132, 124, 2, 15, 128, 2, 255, 217, 42, 232, 241, 140, 4, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 0, 27, 210, 15, 124, 1, 165, 63, 167, 171, 178, 8, 0, 26, 8, 56, 0, 4, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 4, 15, 80, 0, 10, 14, 28, 0, 14, 72, 0, 14, 56, 0, 15, 128, 2, 99, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 14, 36, 0, 15, 128, 2, 219, 12, 24, 0, 14, 12, 0, 15, 48, 0, 2, 15, 136, 0, 18, 15, 72, 0, 12, 15, 128, 2, 130, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 242, 15, 152, 4, 0, 15, 56, 2, 38, 14, 72, 2, 14, 128, 2, 15, 160, 0, 8, 15, 0, 5, 118, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 183, 14, 8, 2, 15, 24, 2, 26, 15, 0, 5, 57, 15, 128, 2, 186, 15, 20, 10, 16, 15, 252, 9, 37, 15, 128, 2, 230, 15, 16, 5, 29, 12, 72, 0, 15, 136, 0, 25, 15, 72, 0, 12, 15, 128, 2, 65, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 15, 80, 57, 255, 246, 15, 128, 2, 105, 63, 139, 138, 136, 4, 0, 255, 235, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 15, 4, 0, 255, 242, 15, 128, 2, 48, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 51, 31, 103, 124, 82, 255, 255, 46, 78, 105, 102, 102, 0, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 101, 14, 128, 2, 15, 124, 2, 255, 255, 77, 15, 128, 2, 4, 15, 124, 2, 255, 255, 104, 14, 132, 2, 15, 124, 2, 255, 255, 97, 14, 132, 2, 15, 124, 2, 255, 255, 97, 8, 132, 2, 15, 4, 0, 255, 255, 55, 15, 116, 2, 21, 255, 3, 67, 66, 77, 80, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 0, 0, 32, 0, 1, 0, 3, 14, 156, 2, 15, 4, 0, 255, 255, 69, 15, 124, 2, 0, 15, 36, 20, 255, 255, 96, 15, 124, 2, 255, 255, 103, 12, 132, 2, 14, 124, 2, 15, 156, 122, 255, 255, 255, 255, 255, 255, 255, 255, 31, 63, 77, 0, 255, 128, 2, 255, 255, 104, 191, 0, 155, 255, 255, 232, 241, 255, 255, 188, 204, 255, 128, 2, 255, 255, 96, 34, 39, 231, 124, 2, 4, 4, 0, 63, 168, 119, 255, 0, 5, 255, 255, 96, 49, 50, 226, 0, 124, 2, 62, 169, 112, 132, 124, 2, 15, 128, 2, 255, 217, 42, 232, 241, 140, 4, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 172, 1, 214, 53, 167, 171, 178, 4, 0, 15, 16, 0, 1, 8, 20, 0, 14, 16, 0, 15, 80, 0, 15, 14, 36, 0, 15, 80, 0, 6, 14, 64, 0, 15, 128, 2, 100, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 15, 44, 4, 225, 8, 248, 1, 8, 16, 2, 14, 12, 0, 15, 48, 0, 6, 15, 32, 0, 34, 14, 48, 0, 15, 128, 2, 127, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 234, 15, 144, 4, 0, 15, 48, 2, 38, 14, 64, 2, 15, 128, 2, 31, 14, 192, 2, 15, 0, 5, 103, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 235, 14, 20, 0, 15, 0, 5, 42, 15, 128, 2, 194, 15, 20, 10, 16, 15, 252, 9, 17, 15, 0, 5, 254, 12, 16, 0, 15, 160, 9, 16, 15, 80, 5, 38, 15, 80, 0, 8, 15, 128, 2, 65, 15, 156, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 54, 31, 8, 28, 190, 255, 255, 110, 0, 60, 0, 0, 132, 44, 15, 4, 0, 255, 234, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 201, 8, 108, 35, 15, 16, 0, 25, 15, 64, 0, 15, 15, 128, 2, 255, 255, 25, 57, 83, 37, 126, 64, 2, 8, 16, 0, 0, 12, 0, 12, 16, 0, 46, 232, 241, 64, 0, 0, 4, 0, 14, 16, 0, 15, 128, 2, 255, 255, 21, 15, 8, 0, 13, 14, 244, 4, 15, 0, 5, 255, 255, 61, 15, 8, 0, 13, 12, 208, 4, 8, 128, 2, 14, 32, 5, 10, 48, 5, 15, 0, 10, 255, 255, 71, 47, 232, 241, 0, 5, 255, 255, 53, 4, 176, 4, 4, 224, 4, 15, 16, 0, 56, 15, 128, 2, 255, 255, 20, 15, 4, 0, 72, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 63, 188, 182, 180, 4, 0, 2, 15, 0, 5, 255, 255, 91, 49, 53, 54, 52, 8, 0, 49, 54, 82, 171, 4, 0, 14, 0, 5, 15, 128, 2, 255, 255, 77, 0, 20, 81, 4, 124, 2, 15, 128, 2, 255, 34, 15, 68, 6, 4, 15, 116, 2, 255, 15, 12, 12, 0, 34, 177, 217, 252, 22, 15, 0, 5, 255, 34, 15, 68, 6, 0, 15, 128, 2, 255, 19, 0, 56, 1, 0, 12, 0, 0, 8, 0, 4, 116, 25, 0, 12, 0, 4, 80, 1, 8, 96, 1, 12, 20, 0, 15, 128, 2, 249, 14, 68, 6, 15, 120, 12, 255, 16, 0, 80, 2, 15, 60, 6, 5, 4, 112, 2, 12, 4, 0, 15, 128, 2, 249, 15, 68, 6, 8, 15, 0, 5, 255, 19, 14, 100, 2, 14, 4, 0, 15, 128, 2, 255, 18, 15, 68, 6, 28, 15, 128, 7, 254, 15, 108, 2, 24, 15, 128, 2, 250, 15, 68, 6, 36, 15, 148, 7, 255, 11, 31, 77, 128, 22, 255, 25, 15, 68, 6, 12, 15, 128, 2, 255, 27, 14, 28, 1, 15, 128, 2, 195, 0, 252, 101, 15, 4, 0, 53, 0, 128, 2, 47, 168, 119, 68, 6, 11, 14, 112, 0, 15, 4, 0, 255, 4, 15, 48, 1, 83, 15, 128, 22, 207, 14, 248, 19, 15, 0, 30, 255, 255, 89, 14, 224, 9, 15, 128, 2, 255, 255, 1, 15, 68, 6, 84, 15, 4, 0, 255, 135, 15, 0, 30, 255, 166, 12, 84, 98, 15, 0, 5, 255, 130, 15, 4, 0, 193, 47, 232, 241, 4, 0, 9, 15, 0, 5, 157, 15, 128, 2, 255, 156, 14, 124, 2, 15, 132, 2, 1, 15, 128, 2, 255, 255, 69, 14, 124, 2, 15, 132, 2, 9, 15, 128, 2, 255, 255, 49, 12, 72, 2, 15, 128, 2, 33, 14, 148, 2, 15, 128, 2, 255, 255, 17, 47, 232, 241, 4, 0, 77, 15, 128, 2, 255, 244, 15, 12, 2, 1, 47, 232, 241, 128, 2, 255, 255, 81, 15, 48, 7, 11, 15, 132, 2, 85, 15, 128, 2, 255, 255, 1, 15, 4, 0, 53, 47, 177, 217, 128, 2, 255, 255, 9, 15, 92, 2, 49, 47, 177, 217, 36, 0, 19, 47, 177, 217, 128, 2, 255, 255, 1, 14, 24, 2, 15, 56, 2, 19, 47, 177, 217, 4, 0, 43, 14, 192, 2, 15, 128, 2, 255, 228, 8, 132, 2, 15, 4, 0, 105, 15, 204, 5, 63, 15, 128, 2, 255, 176, 15, 32, 0, 45, 8, 40, 0, 15, 128, 2, 11, 15, 0, 28, 73, 15, 128, 17, 255, 152, 12, 12, 2, 12, 172, 35, 12, 32, 0, 15, 200, 2, 11, 15, 36, 0, 21, 15, 0, 28, 81, 15, 128, 22, 255, 160, 0, 120, 2, 4, 20, 148, 14, 48, 38, 15, 0, 28, 161, 15, 128, 2, 255, 160, 0, 16, 153, 46, 39, 231, 128, 2, 15, 0, 28, 183, 15, 128, 27, 255, 140, 14, 44, 43, 15, 0, 28, 197, 15, 128, 2, 255, 76, 14, 116, 45, 15, 0, 28, 153, 15, 128, 2, 255, 172, 15, 200, 9, 169, 31, 168, 0, 28, 90, 15, 128, 2, 118, 15, 200, 9, 255, 79, 31, 168, 0, 28, 94, 15, 128, 2, 195, 15, 72, 26, 141, 30, 168, 128, 7, 15, 0, 28, 255, 19, 15, 0, 5, 153, 4, 204, 74, 23, 168, 108, 62, 15, 4, 0, 44, 15, 0, 28, 255, 111, 15, 128, 2, 141, 38, 77, 0, 124, 2, 0, 88, 4, 0, 192, 0, 4, 228, 69, 15, 128, 2, 48, 15, 0, 28, 255, 111, 15, 128, 2, 121, 15, 164, 5, 5, 4, 172, 55, 8, 192, 0, 8, 128, 2, 15, 12, 5, 40, 15, 0, 28, 255, 111, 15, 128, 2, 113, 8, 116, 2, 8, 236, 113, 47, 232, 241, 44, 114, 3, 0, 12, 0, 0, 128, 2, 0, 8, 0, 31, 168, 140, 7, 255, 45, 14, 32, 0, 15, 0, 28, 69, 15, 128, 22, 131, 47, 232, 241, 128, 2, 3, 12, 4, 0, 15, 200, 10, 5, 4, 140, 2, 15, 12, 12, 9, 0, 160, 2, 4, 4, 0, 4, 140, 77, 15, 188, 12, 4, 15, 72, 0, 36, 15, 0, 65, 255, 168, 15, 128, 2, 0, 15, 4, 0, 30, 14, 0, 5, 15, 4, 0, 255, 132, 15, 148, 81, 1, 15, 128, 2, 125, 14, 228, 4, 15, 148, 2, 6, 14, 128, 7, 15, 4, 0, 255, 145, 4, 156, 18, 4, 204, 16, 15, 128, 2, 145, 8, 4, 0, 4, 244, 6, 15, 8, 20, 123, 15, 204, 7, 255, 24, 12, 24, 94, 15, 128, 2, 157, 4, 192, 1, 14, 128, 2, 15, 244, 4, 255, 136, 8, 160, 6, 4, 12, 0, 4, 24, 94, 15, 128, 2, 181, 14, 40, 21, 15, 4, 0, 255, 120, 0, 116, 2, 46, 177, 217, 24, 94, 15, 128, 2, 112, 15, 84, 56, 41, 15, 4, 5, 255, 151, 14, 24, 94, 15, 128, 12, 119, 15, 84, 28, 27, 15, 128, 2, 255, 164, 15, 24, 94, 9, 15, 128, 2, 117, 15, 84, 28, 43, 15, 128, 7, 255, 152, 15, 128, 2, 181, 14, 92, 23, 15, 4, 0, 255, 156, 4, 52, 24, 15, 128, 2, 112, 15, 4, 0, 255, 143, 15, 208, 103, 5, 15, 80, 0, 37, 4, 252, 4, 0, 76, 34, 15, 128, 2, 255, 162, 15, 68, 20, 11, 15, 88, 0, 39, 0, 56, 43, 38, 0, 155, 16, 0, 4, 76, 43, 4, 116, 0, 0, 48, 2, 4, 184, 19, 15, 192, 0, 49, 47, 177, 217, 0, 5, 255, 252, 4, 148, 208, 8, 84, 11, 4, 144, 2, 12, 56, 22, 15, 116, 0, 51, 15, 128, 92, 255, 160, 31, 168, 40, 45, 88, 15, 56, 22, 9, 15, 108, 0, 48, 15, 0, 10, 255, 255, 8, 8, 128, 2, 47, 177, 217, 80, 116, 11, 15, 88, 7, 0, 15, 0, 5, 21, 15, 128, 7, 255, 255, 24, 15, 80, 116, 20, 15, 128, 2, 255, 255, 48, 15, 128, 12, 3, 15, 208, 113, 6, 15, 128, 2, 255, 151, 14, 152, 1, 15, 48, 2, 75, 31, 177, 52, 17, 7, 15, 56, 22, 54, 15, 212, 0, 8, 15, 128, 2, 255, 123, 12, 148, 62, 15, 176, 14, 85, 31, 177, 52, 17, 60, 4, 4, 0, 14, 248, 19, 15, 128, 2, 255, 144, 8, 200, 6, 31, 177, 48, 12, 72, 14, 192, 4, 14, 52, 17, 15, 200, 5, 80, 15, 128, 7, 255, 215, 15, 128, 2, 1, 4, 52, 7, 12, 12, 0, 0, 180, 14, 15, 200, 0, 85, 14, 236, 7, 15, 128, 12, 255, 196, 15, 128, 7, 4, 15, 52, 17, 78, 15, 124, 2, 8, 14, 112, 10, 15, 128, 2, 255, 201, 4, 128, 12, 4, 8, 0, 42, 0, 155, 20, 0, 15, 52, 17, 69, 15, 120, 2, 8, 15, 248, 12, 5, 15, 128, 17, 255, 203, 42, 0, 155, 128, 7, 4, 8, 5, 15, 52, 17, 24, 15, 120, 2, 70, 14, 136, 2, 15, 0, 20, 255, 200, 8, 8, 10, 15, 52, 17, 41, 14, 184, 4, 15, 120, 2, 47, 14, 136, 2, 15, 128, 2, 255, 28, 14, 116, 36, 15, 128, 2, 139, 12, 188, 0, 15, 108, 37, 44, 15, 116, 2, 1, 15, 132, 2, 45, 15, 128, 2, 255, 15, 15, 248, 38, 4, 15, 136, 12, 158, 15, 244, 4, 20, 15, 4, 0, 97, 15, 128, 2, 254, 15, 200, 8, 20, 15, 56, 27, 146, 14, 128, 2, 15, 124, 2, 6, 15, 128, 2, 230, 15, 100, 57, 12, 15, 4, 0, 255, 207, 15, 0, 5, 125, 15, 176, 26, 44, 15, 104, 6, 65, 15, 20, 5, 45, 15, 228, 5, 145, 15, 128, 7, 246, 14, 176, 26, 15, 104, 1, 78, 15, 148, 2, 218, 15, 188, 0, 25, 4, 180, 59, 4, 192, 27, 15, 128, 7, 255, 255, 35, 15, 76, 1, 41, 12, 64, 30, 15, 128, 7, 196, 15, 4, 0, 255, 71, 15, 204, 8, 27, 15, 64, 30, 79, 15, 4, 0, 0, 15, 0, 70, 109, 15, 220, 11, 255, 75, 12, 204, 8, 15, 244, 4, 21, 47, 232, 241, 64, 30, 11, 15, 172, 6, 55, 15, 128, 2, 255, 204, 15, 32, 2, 31, 15, 196, 163, 30, 15, 128, 2, 255, 243, 15, 48, 11, 57, 15, 196, 163, 36, 15, 0, 10, 255, 231, 15, 176, 18, 16, 15, 116, 47, 61, 15, 0, 10, 255, 251, 14, 228, 9, 15, 100, 0, 63, 0, 120, 7, 15, 192, 0, 12, 15, 128, 7, 209, 15, 172, 17, 9, 15, 128, 7, 255, 55, 15, 96, 1, 4, 15, 128, 2, 255, 3, 12, 124, 6, 14, 176, 27, 15, 92, 10, 255, 124, 15, 128, 2, 193, 14, 124, 6, 15, 0, 30, 255, 255, 29, 15, 160, 3, 56, 15, 128, 2, 255, 255, 100, 14, 4, 0, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 169, 63, 255, 155, 63, 4, 0, 255, 235, 15, 128, 2, 255, 94, 4, 176, 20, 15, 128, 2, 255, 255, 99, 12, 48, 28, 15, 128, 2, 255, 255, 99, 8, 48, 28, 15, 128, 2, 255, 255, 31, 14, 60, 7, 15, 128, 7, 255, 204, 8, 40, 13, 15, 248, 0, 61, 14, 92, 0, 15, 60, 7, 255, 0, 14, 128, 1, 15, 0, 5, 255, 12, 12, 44, 1, 14, 56, 1, 15, 56, 0, 22, 15, 60, 7, 13, 15, 8, 2, 101, 15, 0, 5, 255, 91, 15, 160, 1, 25, 14, 72, 2, 15, 56, 0, 30, 15, 60, 7, 21, 15, 32, 3, 61, 15, 0, 10, 255, 199, 14, 52, 4, 15, 56, 0, 30, 15, 32, 3, 77, 15, 128, 2, 255, 187, 12, 220, 1, 14, 72, 2, 15, 56, 0, 30, 15, 32, 3, 81, 15, 0, 5, 255, 191, 15, 8, 10, 56, 15, 32, 3, 61, 15, 128, 2, 255, 227, 15, 144, 4, 89, 14, 44, 12, 15, 232, 2, 79, 8, 32, 62, 15, 32, 0, 8, 15, 80, 0, 34, 15, 4, 0, 20, 15, 128, 2, 186, 14, 212, 0, 15, 80, 19, 14, 15, 0, 20, 154, 14, 8, 10, 15, 0, 30, 255, 255, 89, 14, 4, 0, 15, 128, 2, 255, 255, 255, 250, 15, 32, 38, 0, 15, 0, 5, 255, 255, 255, 133, 15, 168, 3, 0, 15, 128, 2, 255, 135, 15, 84, 5, 20, 15, 8, 3, 255, 54, 15, 128, 12, 255, 255, 111, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48, 15, 4, 0, 255, 242, 15, 128, 2, 48, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 248, 8, 68, 58, 15, 16, 0, 17, 8, 20, 0, 8, 32, 0, 15, 228, 0, 0, 15, 80, 0, 34, 15, 84, 0, 25, 4, 12, 0, 15, 8, 0, 9, 14, 60, 0, 14, 32, 0, 15, 80, 0, 4, 15, 156, 0, 9, 15, 128, 2, 255, 59, 15, 8, 0, 57, 15, 240, 1, 0, 15, 20, 0, 10, 12, 32, 0, 14, 48, 0, 15, 80, 0, 6, 15, 128, 2, 21, 15, 240, 0, 69, 15, 0, 5, 255, 59, 15, 176, 4, 13, 15, 240, 1, 41, 14, 100, 2, 15, 128, 2, 11, 15, 100, 4, 0, 15, 160, 0, 13, 15, 64, 0, 29, 15, 128, 2, 49, 15, 0, 5, 255, 187, 15, 8, 5, 37, 15, 64, 0, 0, 15, 0, 5, 255, 163, 14, 120, 1, 15, 16, 9, 14, 15, 128, 2, 34, 15, 112, 10, 0, 15, 80, 10, 34, 15, 80, 2, 0, 14, 0, 5, 15, 128, 2, 20, 14, 164, 0, 15, 16, 10, 10, 14, 4, 10, 15, 0, 20, 255, 255, 255, 255, 255, 255, 255, 255, 196, 8, 8, 0, 12, 180, 0, 15, 48, 20, 24, 15, 128, 2, 255, 255, 24, 15, 8, 0, 0, 15, 128, 14, 30, 15, 24, 0, 0, 15, 0, 5, 255, 255, 28, 15, 224, 4, 0, 15, 4, 22, 9, 15, 64, 0, 1, 15, 0, 5, 255, 255, 52, 14, 100, 2, 14, 124, 2, 15, 16, 0, 20, 15, 0, 30, 255, 255, 52, 31, 54, 0, 10, 23, 15, 128, 2, 255, 255, 36, 15, 4, 0, 64, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43, 53, 143, 147, 154, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 5, 15, 80, 0, 8, 15, 36, 0, 10, 14, 128, 0, 15, 16, 0, 55, 15, 112, 0, 21, 15, 156, 0, 1, 12, 8, 0, 15, 48, 0, 4, 15, 32, 0, 29, 15, 128, 2, 255, 7, 8, 8, 0, 15, 12, 0, 0, 15, 48, 0, 13, 15, 32, 0, 34, 15, 240, 1, 0, 15, 144, 0, 13, 15, 32, 0, 34, 14, 112, 0, 14, 8, 2, 15, 144, 0, 4, 15, 240, 0, 50, 14, 120, 0, 15, 0, 5, 255, 12, 15, 128, 2, 29, 15, 64, 5, 4, 15, 128, 2, 26, 15, 192, 4, 17, 15, 124, 5, 0, 15, 128, 2, 38, 14, 156, 5, 15, 128, 2, 46, 15, 0, 5, 255, 47, 14, 208, 1, 15, 0, 5, 187, 15, 168, 4, 25, 12, 16, 3, 15, 240, 0, 52, 15, 128, 2, 255, 19, 15, 0, 10, 8, 14, 64, 4, 15, 0, 10, 52, 15, 128, 2, 32, 15, 48, 10, 54, 15, 52, 2, 4, 15, 32, 6, 1, 15, 32, 0, 25, 15, 0, 5, 255, 14, 15, 0, 20, 255, 255, 255, 255, 255, 255, 255, 113, 31, 103, 124, 82, 255, 255, 46, 78, 0, 0, 0, 0, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 101, 14, 128, 2, 15, 124, 2, 255, 255, 77, 15, 128, 2, 4, 15, 124, 2, 255, 255, 104, 14, 132, 2, 15, 124, 2, 255, 255, 97, 14, 132, 2, 15, 124, 2, 255, 255, 97, 8, 132, 2, 15, 4, 0, 255, 255, 55, 15, 116, 2, 21, 255, 2, 67, 66, 77, 80, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 0, 0, 32, 156, 2, 8, 15, 4, 0, 255, 255, 83, 15, 124, 2, 5, 63, 207, 195, 197, 4, 0, 255, 255, 76, 143, 224, 210, 212, 255, 242, 227, 229, 255, 160, 22, 1, 127, 140, 134, 135, 255, 173, 164, 166, 128, 2, 255, 255, 76, 0, 124, 2, 4, 4, 0, 8, 28, 30, 113, 75, 75, 74, 255, 107, 104, 104, 132, 2, 14, 160, 12, 15, 4, 0, 255, 255, 61, 49, 196, 184, 186, 128, 2, 53, 189, 177, 181, 144, 7, 0, 128, 2, 0, 4, 0, 14, 124, 2, 15, 4, 0, 255, 255, 69, 127, 174, 156, 166, 255, 138, 129, 134, 128, 2, 255, 255, 255, 49, 63, 77, 0, 255, 128, 2, 255, 255, 104, 34, 0, 155, 200, 82, 63, 188, 204, 255, 128, 2, 255, 255, 96, 42, 39, 231, 208, 173, 63, 168, 119, 255, 0, 5, 255, 255, 96, 68, 50, 226, 0, 255, 140, 251, 14, 124, 2, 15, 128, 2, 255, 216, 12, 92, 178, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 132, 1, 166, 63, 167, 171, 178, 8, 0, 26, 8, 56, 0, 4, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 4, 15, 80, 0, 10, 14, 28, 0, 14, 72, 0, 14, 56, 0, 15, 128, 2, 99, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 14, 36, 0, 15, 128, 2, 219, 12, 24, 0, 14, 12, 0, 15, 48, 0, 2, 15, 136, 0, 18, 15, 72, 0, 12, 15, 128, 2, 130, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 242, 15, 152, 4, 0, 15, 56, 2, 38, 14, 72, 2, 14, 128, 2, 15, 160, 0, 8, 15, 0, 5, 118, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 183, 14, 8, 2, 15, 24, 2, 26, 15, 0, 5, 57, 15, 128, 2, 186, 15, 20, 10, 16, 15, 252, 9, 37, 15, 128, 2, 230, 15, 16, 5, 29, 12, 72, 0, 15, 136, 0, 25, 15, 72, 0, 12, 15, 128, 2, 73, 15, 4, 0, 255, 255, 35, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 31, 8, 28, 190, 255, 255, 38, 15, 128, 2, 57, 0, 132, 44, 15, 4, 0, 255, 234, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 201, 8, 108, 35, 15, 16, 0, 25, 15, 64, 0, 15, 15, 128, 2, 255, 255, 25, 57, 83, 37, 126, 64, 2, 8, 16, 0, 0, 12, 0, 12, 16, 0, 46, 232, 241, 64, 0, 0, 4, 0, 14, 16, 0, 15, 128, 2, 255, 255, 21, 15, 8, 0, 13, 14, 244, 4, 15, 0, 5, 255, 255, 61, 15, 8, 0, 13, 12, 208, 4, 8, 128, 2, 14, 32, 5, 10, 48, 5, 15, 0, 10, 255, 255, 71, 47, 232, 241, 0, 5, 255, 255, 53, 4, 176, 4, 4, 224, 4, 15, 16, 0, 56, 15, 128, 2, 255, 255, 20, 15, 4, 0, 72, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 63, 188, 182, 180, 4, 0, 2, 15, 0, 5, 255, 255, 91, 49, 53, 54, 52, 8, 0, 49, 54, 82, 171, 4, 0, 14, 0, 5, 15, 128, 2, 255, 255, 77, 0, 20, 81, 4, 124, 2, 15, 128, 2, 255, 34, 15, 68, 6, 4, 15, 116, 2, 255, 15, 12, 12, 0, 34, 177, 217, 252, 22, 15, 0, 5, 255, 34, 15, 68, 6, 0, 15, 128, 2, 255, 19, 0, 56, 1, 0, 12, 0, 0, 8, 0, 4, 116, 25, 0, 12, 0, 4, 80, 1, 8, 96, 1, 12, 20, 0, 15, 128, 2, 249, 14, 68, 6, 15, 120, 12, 255, 16, 0, 80, 2, 15, 60, 6, 5, 4, 112, 2, 12, 4, 0, 15, 128, 2, 249, 15, 68, 6, 8, 15, 0, 5, 255, 19, 14, 100, 2, 14, 4, 0, 15, 128, 2, 255, 18, 15, 68, 6, 28, 15, 128, 7, 254, 15, 108, 2, 24, 15, 128, 2, 250, 15, 68, 6, 36, 15, 148, 7, 255, 11, 31, 77, 128, 22, 255, 25, 15, 68, 6, 12, 15, 128, 2, 255, 27, 14, 28, 1, 15, 128, 2, 195, 0, 252, 101, 15, 4, 0, 53, 0, 128, 2, 47, 168, 119, 68, 6, 11, 14, 112, 0, 15, 4, 0, 255, 4, 15, 48, 1, 83, 15, 128, 22, 207, 14, 248, 19, 15, 0, 30, 255, 255, 89, 14, 224, 9, 15, 128, 2, 255, 255, 1, 15, 68, 6, 84, 15, 4, 0, 255, 135, 15, 0, 30, 255, 166, 12, 84, 98, 15, 0, 5, 255, 130, 15, 4, 0, 193, 47, 232, 241, 4, 0, 9, 15, 0, 5, 157, 15, 128, 2, 255, 156, 14, 124, 2, 15, 132, 2, 1, 15, 128, 2, 255, 255, 69, 14, 124, 2, 15, 132, 2, 9, 15, 128, 2, 255, 255, 49, 12, 72, 2, 15, 128, 2, 33, 14, 148, 2, 15, 128, 2, 255, 255, 17, 47, 232, 241, 4, 0, 77, 15, 128, 2, 255, 244, 15, 12, 2, 1, 47, 232, 241, 128, 2, 255, 255, 81, 15, 48, 7, 11, 15, 132, 2, 85, 15, 128, 2, 255, 255, 1, 15, 4, 0, 53, 47, 177, 217, 128, 2, 255, 255, 9, 15, 92, 2, 49, 47, 177, 217, 36, 0, 19, 47, 177, 217, 128, 2, 255, 255, 1, 14, 24, 2, 15, 56, 2, 19, 47, 177, 217, 4, 0, 43, 14, 192, 2, 15, 128, 2, 255, 228, 8, 132, 2, 15, 4, 0, 105, 15, 204, 5, 63, 15, 128, 2, 255, 176, 15, 32, 0, 45, 8, 40, 0, 15, 128, 2, 11, 15, 0, 28, 73, 15, 128, 17, 255, 152, 12, 12, 2, 12, 172, 35, 12, 32, 0, 15, 200, 2, 11, 15, 36, 0, 21, 15, 0, 28, 81, 15, 128, 22, 255, 160, 0, 120, 2, 4, 20, 148, 14, 48, 38, 15, 0, 28, 161, 15, 128, 2, 255, 160, 0, 16, 153, 46, 39, 231, 128, 2, 15, 0, 28, 183, 15, 128, 27, 255, 140, 14, 44, 43, 15, 0, 28, 197, 15, 128, 2, 255, 76, 14, 116, 45, 15, 0, 28, 153, 15, 128, 2, 255, 172, 15, 200, 9, 169, 31, 168, 0, 28, 90, 15, 128, 2, 118, 15, 200, 9, 255, 79, 31, 168, 0, 28, 94, 15, 128, 2, 195, 15, 72, 26, 141, 30, 168, 128, 7, 15, 0, 28, 255, 19, 15, 0, 5, 153, 4, 204, 74, 23, 168, 108, 62, 15, 4, 0, 44, 15, 0, 28, 255, 111, 15, 128, 2, 141, 38, 77, 0, 124, 2, 0, 88, 4, 0, 192, 0, 4, 228, 69, 15, 128, 2, 48, 15, 0, 28, 255, 111, 15, 128, 2, 121, 15, 164, 5, 5, 4, 172, 55, 8, 192, 0, 8, 128, 2, 15, 12, 5, 40, 15, 0, 28, 255, 111, 15, 128, 2, 113, 8, 116, 2, 8, 236, 113, 47, 232, 241, 44, 114, 3, 0, 12, 0, 0, 128, 2, 0, 8, 0, 31, 168, 140, 7, 255, 45, 14, 32, 0, 15, 0, 28, 69, 15, 128, 22, 131, 47, 232, 241, 128, 2, 3, 12, 4, 0, 15, 200, 10, 5, 4, 140, 2, 15, 12, 12, 9, 0, 160, 2, 4, 4, 0, 4, 140, 77, 15, 188, 12, 4, 15, 72, 0, 36, 15, 0, 65, 255, 168, 15, 128, 2, 0, 15, 4, 0, 30, 14, 0, 5, 15, 4, 0, 255, 132, 15, 148, 81, 1, 15, 128, 2, 125, 14, 228, 4, 15, 148, 2, 6, 14, 128, 7, 15, 4, 0, 255, 145, 4, 156, 18, 4, 204, 16, 15, 128, 2, 145, 8, 4, 0, 4, 244, 6, 15, 8, 20, 123, 15, 204, 7, 255, 24, 12, 24, 94, 15, 128, 2, 157, 4, 192, 1, 14, 128, 2, 15, 244, 4, 255, 136, 8, 160, 6, 4, 12, 0, 4, 24, 94, 15, 128, 2, 181, 14, 40, 21, 15, 4, 0, 255, 120, 0, 116, 2, 46, 177, 217, 24, 94, 15, 128, 2, 112, 15, 84, 56, 41, 15, 4, 5, 255, 151, 14, 24, 94, 15, 128, 12, 119, 15, 84, 28, 27, 15, 128, 2, 255, 164, 15, 24, 94, 9, 15, 128, 2, 117, 15, 84, 28, 43, 15, 128, 7, 255, 152, 15, 128, 2, 181, 14, 92, 23, 15, 4, 0, 255, 156, 4, 52, 24, 15, 128, 2, 112, 15, 4, 0, 255, 143, 15, 208, 103, 5, 15, 80, 0, 37, 4, 252, 4, 0, 76, 34, 15, 128, 2, 255, 162, 15, 68, 20, 11, 15 ]);
+ fileData0.push.apply(fileData0, [ 88, 0, 39, 0, 56, 43, 38, 0, 155, 16, 0, 4, 76, 43, 4, 116, 0, 0, 48, 2, 4, 184, 19, 15, 192, 0, 49, 47, 177, 217, 0, 5, 255, 252, 4, 148, 208, 8, 84, 11, 4, 144, 2, 12, 56, 22, 15, 116, 0, 51, 15, 128, 92, 255, 160, 31, 168, 40, 45, 88, 15, 56, 22, 9, 15, 108, 0, 48, 15, 0, 10, 255, 255, 8, 8, 128, 2, 47, 177, 217, 80, 116, 11, 15, 88, 7, 0, 15, 0, 5, 21, 15, 128, 7, 255, 255, 24, 15, 80, 116, 20, 15, 128, 2, 255, 255, 48, 15, 128, 12, 3, 15, 208, 113, 6, 15, 128, 2, 255, 151, 14, 152, 1, 15, 48, 2, 75, 31, 177, 52, 17, 7, 15, 56, 22, 54, 15, 212, 0, 8, 15, 128, 2, 255, 123, 12, 148, 62, 15, 176, 14, 85, 31, 177, 52, 17, 60, 4, 4, 0, 14, 248, 19, 15, 128, 2, 255, 144, 8, 200, 6, 31, 177, 48, 12, 72, 14, 192, 4, 14, 52, 17, 15, 200, 5, 80, 15, 128, 7, 255, 215, 15, 128, 2, 1, 4, 52, 7, 12, 12, 0, 0, 180, 14, 15, 200, 0, 85, 14, 236, 7, 15, 128, 12, 255, 196, 15, 128, 7, 4, 15, 52, 17, 78, 15, 124, 2, 8, 14, 112, 10, 15, 128, 2, 255, 201, 4, 128, 12, 4, 8, 0, 42, 0, 155, 20, 0, 15, 52, 17, 69, 15, 120, 2, 8, 15, 248, 12, 5, 15, 128, 17, 255, 203, 42, 0, 155, 128, 7, 4, 8, 5, 15, 52, 17, 24, 15, 120, 2, 70, 14, 136, 2, 15, 0, 20, 255, 200, 8, 8, 10, 15, 52, 17, 41, 14, 184, 4, 15, 120, 2, 47, 14, 136, 2, 15, 128, 2, 255, 28, 14, 116, 36, 15, 128, 2, 139, 12, 188, 0, 15, 108, 37, 44, 15, 116, 2, 1, 15, 132, 2, 45, 15, 128, 2, 255, 15, 15, 248, 38, 4, 15, 136, 12, 158, 15, 244, 4, 20, 15, 4, 0, 97, 15, 128, 2, 254, 15, 200, 8, 20, 15, 56, 27, 146, 14, 128, 2, 15, 124, 2, 6, 15, 128, 2, 230, 15, 100, 57, 12, 15, 4, 0, 255, 207, 15, 0, 5, 125, 15, 176, 26, 44, 15, 104, 6, 65, 15, 20, 5, 45, 15, 228, 5, 145, 15, 128, 7, 246, 14, 176, 26, 15, 104, 1, 78, 15, 148, 2, 218, 15, 188, 0, 25, 4, 180, 59, 4, 192, 27, 15, 128, 7, 255, 255, 35, 15, 76, 1, 41, 12, 64, 30, 15, 128, 7, 196, 15, 4, 0, 255, 71, 15, 204, 8, 27, 15, 64, 30, 79, 15, 4, 0, 0, 15, 0, 70, 109, 15, 220, 11, 255, 75, 12, 204, 8, 15, 244, 4, 21, 47, 232, 241, 64, 30, 11, 15, 172, 6, 55, 15, 128, 2, 255, 204, 15, 32, 2, 31, 15, 196, 163, 30, 15, 128, 2, 255, 243, 15, 48, 11, 57, 15, 196, 163, 36, 15, 0, 10, 255, 231, 15, 176, 18, 16, 15, 116, 47, 61, 15, 0, 10, 255, 251, 14, 228, 9, 15, 100, 0, 63, 0, 120, 7, 15, 192, 0, 12, 15, 128, 7, 209, 15, 172, 17, 9, 15, 128, 7, 255, 55, 15, 96, 1, 4, 15, 128, 2, 255, 3, 12, 124, 6, 14, 176, 27, 15, 92, 10, 255, 124, 15, 128, 2, 193, 14, 124, 6, 15, 0, 30, 255, 255, 29, 15, 160, 3, 56, 15, 128, 2, 255, 255, 100, 14, 4, 0, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 169, 63, 255, 155, 63, 4, 0, 255, 235, 15, 128, 2, 255, 94, 4, 176, 20, 15, 128, 2, 255, 255, 99, 12, 48, 28, 15, 128, 2, 255, 255, 99, 8, 48, 28, 15, 128, 2, 255, 255, 31, 14, 60, 7, 15, 128, 7, 255, 204, 8, 40, 13, 15, 248, 0, 61, 14, 92, 0, 15, 60, 7, 255, 0, 14, 128, 1, 15, 0, 5, 255, 12, 12, 44, 1, 14, 56, 1, 15, 56, 0, 22, 15, 60, 7, 13, 15, 8, 2, 101, 15, 0, 5, 255, 91, 15, 160, 1, 25, 14, 72, 2, 15, 56, 0, 30, 15, 60, 7, 21, 15, 32, 3, 61, 15, 0, 10, 255, 199, 14, 52, 4, 15, 56, 0, 30, 15, 32, 3, 77, 15, 128, 2, 255, 187, 12, 220, 1, 14, 72, 2, 15, 56, 0, 30, 15, 32, 3, 81, 15, 0, 5, 255, 191, 15, 8, 10, 56, 15, 32, 3, 61, 15, 128, 2, 255, 227, 15, 144, 4, 89, 14, 44, 12, 15, 232, 2, 79, 8, 32, 62, 15, 32, 0, 8, 15, 80, 0, 34, 15, 4, 0, 20, 15, 128, 2, 186, 14, 212, 0, 15, 80, 19, 14, 15, 0, 20, 154, 14, 8, 10, 15, 0, 30, 255, 255, 89, 14, 4, 0, 15, 128, 2, 255, 255, 255, 250, 15, 32, 38, 0, 15, 0, 5, 255, 255, 255, 133, 15, 168, 3, 0, 15, 128, 2, 255, 135, 15, 84, 5, 20, 15, 8, 3, 255, 54, 15, 128, 12, 255, 255, 111, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48, 15, 4, 0, 255, 242, 15, 128, 2, 56, 15, 4, 0, 255, 255, 35, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 49, 93, 85, 88, 4, 0, 0, 132, 2, 15, 128, 82, 255, 255, 95, 4, 124, 2, 0, 4, 0, 0, 120, 2, 78, 0, 0, 0, 0, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 93, 14, 128, 2, 15, 124, 2, 255, 255, 93, 14, 128, 2, 15, 124, 2, 255, 255, 93, 14, 128, 2, 15, 124, 2, 255, 255, 93, 12, 128, 2, 63, 75, 65, 68, 124, 2, 255, 255, 92, 9, 132, 2, 111, 65, 68, 255, 75, 56, 63, 4, 0, 255, 255, 52, 15, 124, 2, 25, 9, 132, 2, 47, 56, 63, 4, 0, 255, 255, 56, 14, 124, 2, 15, 132, 2, 19, 15, 4, 0, 255, 255, 55, 15, 116, 2, 21, 208, 67, 66, 77, 80, 244, 0, 0, 0, 32, 0, 0, 0, 7, 132, 2, 7, 28, 0, 31, 5, 1, 0, 49, 31, 13, 1, 0, 4, 3, 31, 0, 31, 6, 55, 0, 5, 3, 8, 0, 34, 7, 6, 1, 0, 27, 13, 8, 0, 15, 155, 0, 49, 0, 252, 0, 19, 84, 244, 0, 27, 8, 252, 0, 115, 0, 0, 6, 6, 6, 7, 6, 9, 0, 3, 18, 0, 4, 26, 0, 15, 88, 1, 113, 15, 1, 0, 44, 4, 88, 1, 13, 8, 0, 15, 183, 1, 12, 31, 13, 88, 1, 46, 15, 96, 1, 1, 15, 88, 1, 27, 19, 69, 84, 1, 12, 88, 1, 0, 73, 0, 0, 196, 0, 15, 173, 1, 0, 1, 23, 0, 5, 105, 0, 15, 77, 0, 17, 9, 88, 0, 4, 75, 0, 0, 2, 0, 3, 3, 0, 3, 14, 0, 6, 84, 0, 15, 77, 0, 22, 21, 6, 86, 0, 2, 63, 0, 4, 83, 0, 15, 77, 0, 33, 2, 223, 0, 25, 6, 77, 0, 3, 91, 0, 47, 0, 0, 154, 0, 35, 27, 6, 154, 0, 31, 6, 154, 0, 32, 4, 74, 0, 1, 34, 0, 36, 6, 0, 150, 0, 28, 13, 65, 3, 14, 129, 1, 15, 1, 0, 40, 0, 77, 0, 83, 101, 0, 0, 0, 9, 4, 0, 15, 77, 0, 7, 20, 7, 8, 0, 36, 7, 7, 8, 0, 40, 7, 7, 8, 0, 4, 26, 0, 20, 7, 44, 0, 4, 42, 0, 15, 109, 0, 30, 5, 57, 0, 15, 9, 0, 6, 1, 117, 0, 22, 7, 106, 0, 7, 18, 0, 15, 109, 0, 27, 19, 7, 2, 0, 12, 232, 0, 15, 18, 0, 13, 11, 54, 0, 15, 218, 0, 22, 40, 0, 7, 66, 0, 9, 9, 0, 4, 209, 0, 9, 89, 1, 14, 74, 1, 15, 180, 1, 33, 12, 10, 0, 4, 45, 1, 22, 7, 118, 0, 3, 100, 0, 4, 85, 2, 15, 180, 1, 38, 10, 69, 0, 9, 162, 1, 15, 32, 0, 1, 31, 7, 109, 0, 32, 14, 253, 1, 15, 9, 0, 5, 15, 33, 2, 48, 14, 77, 1, 15, 10, 0, 23, 11, 218, 0, 147, 148, 0, 2, 0, 160, 0, 0, 0, 205, 227, 6, 7, 31, 0, 31, 255, 4, 0, 255, 255, 119, 14, 203, 20, 15, 4, 0, 255, 255, 69, 15, 124, 2, 255, 255, 107, 14, 132, 2, 14, 124, 2, 15, 132, 2, 255, 255, 86, 15, 128, 2, 255, 255, 255, 255, 255, 179, 63, 77, 0, 255, 128, 2, 255, 255, 104, 34, 0, 155, 127, 179, 63, 188, 204, 255, 128, 2, 255, 255, 96, 42, 39, 231, 3, 182, 63, 168, 119, 255, 0, 5, 255, 255, 96, 49, 50, 226, 0, 124, 2, 62, 169, 112, 132, 124, 2, 15, 128, 2, 255, 217, 12, 143, 186, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 124, 1, 166, 63, 167, 171, 178, 8, 0, 26, 8, 56, 0, 4, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 4, 15, 80, 0, 10, 14, 28, 0, 14, 72, 0, 14, 56, 0, 15, 128, 2, 99, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 14, 36, 0, 15, 128, 2, 219, 12, 24, 0, 14, 12, 0, 15, 48, 0, 2, 15, 136, 0, 18, 15, 72, 0, 12, 15, 128, 2, 130, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 242, 15, 152, 4, 0, 15, 56, 2, 38, 14, 72, 2, 14, 128, 2, 15, 160, 0, 8, 15, 0, 5, 118, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 183, 14, 8, 2, 15, 24, 2, 26, 15, 0, 5, 57, 15, 128, 2, 186, 15, 20, 10, 16, 15, 252, 9, 37, 15, 128, 2, 230, 15, 16, 5, 29, 12, 72, 0, 15, 136, 0, 25, 15, 72, 0, 12, 15, 128, 2, 65, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 15, 56, 57, 255, 255, 47, 15, 64, 0, 49, 63, 139, 138, 136, 4, 0, 255, 235, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 15, 4, 0, 255, 242, 15, 128, 2, 48, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 157, 14, 60, 2, 15, 128, 2, 255, 255, 89, 15, 124, 2, 44, 15, 128, 2, 45, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 47, 15, 128, 82, 255, 255, 68, 15, 192, 107, 32, 15, 124, 2, 255, 255, 108, 14, 128, 2, 15, 124, 2, 255, 255, 40, 15, 128, 2, 37, 15, 124, 2, 255, 255, 108, 14, 128, 2, 15, 124, 2, 255, 255, 32, 15, 128, 2, 45, 15, 124, 2, 255, 255, 108, 14, 128, 2, 15, 124, 2, 255, 255, 28, 15, 132, 2, 53, 15, 124, 2, 255, 255, 108, 14, 132, 2, 15, 124, 2, 255, 255, 12, 15, 4, 0, 255, 255, 188, 255, 3, 67, 66, 77, 80, 20, 6, 0, 0, 48, 0, 0, 0, 32, 0, 0, 0, 8, 0, 1, 0, 89, 31, 6, 1, 0, 24, 15, 47, 0, 28, 47, 6, 6, 47, 0, 17, 79, 7, 7, 7, 7, 24, 0, 5, 31, 7, 48, 0, 23, 46, 7, 7, 49, 0, 15, 119, 0, 12, 31, 5, 48, 0, 27, 63, 5, 5, 5, 48, 0, 25, 16, 5, 1, 0, 15, 144, 0, 4, 15, 192, 0, 48, 17, 13, 47, 0, 63, 13, 6, 6, 60, 1, 14, 2, 13, 0, 18, 13, 1, 0, 14, 87, 1, 12, 124, 0, 18, 7, 26, 1, 20, 6, 47, 0, 30, 5, 49, 0, 9, 12, 1, 0, 47, 0, 6, 25, 1, 2, 13, 0, 14, 48, 0, 1, 83, 0, 14, 73, 1, 13, 75, 0, 47, 7, 7, 96, 0, 23, 5, 183, 0, 15, 192, 0, 2, 6, 123, 0, 4, 192, 0, 5, 135, 0, 9, 60, 1, 10, 73, 1, 8, 87, 1, 5, 35, 2, 4, 60, 1, 2, 34, 0, 9, 73, 1, 8, 27, 0, 6, 231, 0, 7, 47, 0, 39, 6, 6, 47, 0, 5, 87, 1, 14, 243, 1, 15, 64, 2, 4, 15, 243, 1, 24, 13, 160, 2, 9, 183, 0, 15, 0, 3, 17, 14, 47, 0, 15, 160, 2, 68, 14, 48, 0, 14, 173, 0, 15, 49, 0, 0, 15, 173, 0, 22, 30, 6, 129, 4, 15, 225, 4, 65, 15, 158, 5, 79, 15, 28, 6, 255, 255, 79, 16, 14, 1, 0, 15, 28, 6, 23, 0, 46, 0, 63, 5, 14, 14, 28, 6, 22, 0, 47, 0, 0, 48, 0, 31, 6, 28, 6, 20, 0, 47, 0, 10, 48, 0, 14, 28, 6, 15, 96, 0, 0, 15, 28, 6, 22, 4, 192, 0, 15, 28, 6, 22, 1, 32, 1, 15, 28, 6, 255, 255, 255, 255, 232, 10, 197, 4, 2, 42, 6, 31, 6, 56, 12, 21, 1, 104, 5, 47, 14, 14, 56, 12, 22, 2, 201, 5, 31, 14, 56, 12, 22, 9, 42, 6, 14, 56, 12, 15, 96, 0, 5, 15, 56, 12, 22, 8, 192, 0, 15, 56, 12, 18, 7, 42, 6, 15, 28, 6, 255, 255, 255, 138, 14, 197, 4, 15, 48, 0, 10, 46, 14, 14, 49, 0, 15, 155, 0, 9, 2, 94, 10, 15, 48, 0, 25, 8, 239, 10, 15, 48, 0, 16, 1, 220, 3, 15, 144, 0, 4, 15, 192, 0, 48, 10, 239, 10, 15, 84, 18, 255, 255, 255, 255, 255, 255, 43, 15, 28, 6, 255, 69, 10, 171, 19, 15, 28, 6, 14, 4, 252, 7, 14, 28, 6, 15, 92, 8, 22, 14, 243, 1, 14, 188, 8, 15, 111, 5, 0, 15, 28, 9, 23, 14, 111, 5, 15, 188, 8, 68, 31, 6, 28, 6, 255, 255, 255, 107, 9, 199, 3, 15, 28, 6, 15, 9, 248, 3, 15, 28, 6, 16, 12, 9, 18, 15, 28, 6, 13, 0, 135, 4, 7, 48, 0, 15, 28, 6, 11, 15, 96, 0, 23, 5, 51, 1, 14, 192, 0, 15, 28, 6, 12, 8, 184, 4, 15, 56, 12, 255, 255, 255, 255, 255, 153, 4, 226, 5, 15, 96, 0, 20, 5, 19, 6, 15, 56, 12, 20, 5, 163, 6, 15, 56, 12, 20, 5, 91, 11, 15, 28, 6, 20, 6, 3, 7, 15, 28, 6, 19, 14, 139, 11, 14, 28, 6, 14, 71, 20, 15, 28, 6, 255, 255, 219, 14, 31, 3, 14, 28, 6, 14, 48, 0, 15, 196, 42, 255, 255, 255, 255, 220, 83, 69, 0, 0, 0, 7, 4, 0, 15, 28, 6, 1, 86, 6, 9, 9, 9, 6, 7, 0, 2, 153, 0, 0, 176, 1, 3, 14, 0, 15, 77, 0, 27, 3, 63, 0, 72, 5, 5, 5, 6, 14, 0, 31, 6, 77, 0, 33, 4, 22, 0, 241, 2, 9, 7, 15, 0, 0, 0, 10, 7, 7, 7, 14, 0, 0, 0, 11, 7, 13, 22, 0, 31, 12, 231, 0, 28, 0, 239, 1, 6, 7, 0, 15, 231, 0, 44, 70, 12, 12, 12, 6, 7, 0, 15, 77, 0, 43, 35, 13, 13, 7, 0, 63, 13, 13, 13, 7, 0, 2, 15, 52, 1, 27, 18, 7, 6, 0, 18, 7, 6, 0, 8, 14, 0, 4, 28, 0, 15, 77, 0, 30, 4, 64, 0, 3, 79, 0, 47, 7, 7, 77, 0, 33, 1, 145, 4, 15, 7, 0, 8, 31, 0, 231, 0, 35, 18, 7, 6, 0, 46, 7, 7, 175, 0, 15, 206, 1, 22, 70, 10, 10, 10, 6, 7, 0, 15, 2, 3, 46, 3, 7, 0, 6, 64, 4, 11, 7, 0, 15, 77, 0, 16, 34, 8, 8, 3, 0, 83, 8, 8, 8, 7, 8, 1, 0, 2, 15, 0, 1, 29, 0, 23, 8, 30, 3, 15, 129, 1, 21, 33, 11, 11, 5, 0, 66, 11, 11, 11, 0, 4, 0, 2, 18, 0, 17, 0, 5, 0, 5, 7, 0, 15, 77, 0, 16, 18, 10, 6, 0, 33, 10, 10, 5, 0, 65, 10, 7, 10, 10, 8, 0, 37, 10, 0, 7, 0, 5, 37, 0, 15, 77, 0, 14, 49, 9, 9, 9, 7, 0, 33, 1, 9, 13, 0, 49, 1, 9, 9, 20, 0, 65, 9, 9, 0, 9, 14, 0, 4, 1, 0, 15, 77, 0, 18, 98, 15, 15, 15, 0, 0, 15, 7, 0, 3, 57, 13, 1, 9, 0, 32, 0, 15, 46, 4, 1, 48, 4, 3, 7, 0, 15, 231, 0, 16, 32, 4, 4, 117, 0, 85, 2, 2, 2, 7, 2, 7, 0, 85, 8, 8, 8, 15, 8, 7, 0, 16, 2, 1, 0, 15, 52, 1, 20, 5, 159, 2, 22, 7, 7, 0, 17, 6, 21, 0, 2, 15, 2, 47, 6, 0, 183, 5, 22, 82, 4, 4, 4, 4, 10, 125, 0, 48, 7, 2, 2, 229, 0, 28, 15, 7, 0, 2, 1, 0, 15, 231, 0, 24, 0, 252, 7, 0, 135, 3, 50, 8, 8, 14, 7, 0, 22, 8, 7, 0, 0, 29, 0, 15, 52, 1, 40, 0, 146, 0, 21, 14, 7, 0, 15, 52, 1, 12, 15, 235, 6, 76, 9, 93, 3, 15, 79, 3, 44, 102, 0, 6, 8, 8, 8, 6, 7, 0, 15, 54, 4, 43, 33, 1, 1, 3, 0, 32, 8, 8, 3, 0, 17, 1, 154, 0, 1, 15, 0, 32, 8, 1, 29, 0, 34, 8, 1, 37, 0, 4, 238, 13, 82, 1, 0, 0, 16, 0, 4, 0, 9, 77, 0, 25, 32, 1, 0, 71, 0, 32, 32, 7, 1, 0, 72, 32, 32, 32, 7, 31, 0, 31, 7, 16, 0, 159, 11, 208, 0, 12, 240, 0, 0, 28, 1, 38, 120, 0, 128, 4, 8, 28, 1, 10, 9, 1, 2, 81, 0, 15, 10, 0, 52, 5, 1, 0, 0, 128, 0, 19, 84, 120, 0, 27, 8, 128, 0, 1, 161, 0, 0, 8, 0, 38, 7, 7, 8, 0, 5, 169, 1, 1, 236, 0, 7, 15, 0, 26, 7, 44, 0, 63, 32, 32, 32, 92, 0, 9, 12, 93, 0, 20, 32, 8, 0, 11, 64, 1, 3, 34, 0, 27, 32, 91, 0, 31, 0, 92, 0, 10, 3, 93, 0, 19, 32, 85, 0, 35, 32, 7, 8, 0, 21, 32, 117, 0, 3, 10, 0, 0, 24, 0, 19, 7, 8, 0, 36, 32, 32, 56, 0, 15, 184, 0, 14, 26, 32, 85, 0, 8, 152, 0, 9, 216, 0, 9, 99, 0, 31, 32, 184, 0, 4, 15, 93, 0, 23, 15, 91, 0, 5, 47, 0, 32, 184, 0, 16, 35, 0, 0, 62, 0, 2, 99, 1, 4, 115, 1, 5, 26, 2, 8, 12, 0, 2, 45, 0, 39, 7, 32, 55, 0, 15, 92, 0, 12, 8, 93, 0, 6, 227, 2, 42, 7, 7, 4, 0, 7, 60, 2, 8, 53, 0, 15, 92, 0, 13, 5, 93, 1, 3, 84, 0, 42, 0, 32, 80, 0, 35, 32, 7, 140, 2, 37, 7, 7, 39, 0, 8, 201, 4, 15, 96, 3, 5, 49, 0, 0, 16, 1, 0, 0, 9, 0, 2, 231, 8, 16, 16, 10, 0, 1, 110, 17, 15, 10, 0, 16, 6, 50, 0, 1, 38, 14, 5, 20, 0, 21, 16, 90, 0, 15, 128, 0, 14, 19, 0, 38, 0, 69, 0, 0, 16, 7, 58, 0, 63, 6, 15, 15, 10, 0, 19, 6, 50, 0, 38, 7, 7, 20, 0, 21, 16, 90, 0, 15, 0, 1, 15, 0, 39, 0, 4, 9, 0, 6, 58, 0, 15, 10, 0, 50, 3, 90, 0, 15, 0, 1, 22, 7, 206, 0, 15, 10, 0, 13, 20, 7, 10, 0, 5, 246, 0, 20, 7, 119, 0, 13, 1, 1, 15, 0, 2, 32, 10, 10, 0, 20, 7, 10, 0, 20, 7, 10, 0, 20, 7, 10, 0, 5, 246, 1, 35, 7, 7, 129, 0, 17, 16, 155, 17, 8, 1, 2, 15, 128, 0, 139, 10, 128, 1, 6, 88, 1, 21, 7, 88, 2, 3, 10, 0, 24, 7, 10, 0, 20, 6, 10, 0, 4, 148, 1, 5, 117, 0, 1, 51, 0, 14, 128, 1, 15, 128, 2, 19, 5, 57, 0, 31, 7, 10, 0, 1, 15, 108, 2, 1, 14, 30, 0, 15, 128, 2, 39, 7, 206, 0, 36, 14, 14, 88, 2, 15, 10, 0, 3, 15, 128, 3, 21, 15, 128, 4, 110, 15, 128, 0, 244, 16, 36, 231, 11, 3, 4, 0, 15, 176, 11, 6, 15, 44, 0, 32, 16, 245, 192, 13, 3, 4, 0, 15, 8, 12, 14, 5, 190, 7, 2, 14, 0, 1, 170, 0, 5, 53, 7, 17, 6, 30, 0, 0, 18, 0, 1, 42, 0, 53, 6, 32, 32, 30, 7, 67, 32, 7, 7, 13, 4, 8, 2, 14, 0, 0, 15, 0, 47, 7, 32, 15, 0, 3, 3, 82, 20, 7, 30, 0, 1, 61, 10, 15, 15, 0, 32, 3, 16, 0, 31, 32, 192, 0, 2, 0, 253, 0, 94, 19, 1, 0, 0, 17, 253, 0, 15, 1, 0, 51, 26, 17, 1, 0, 58, 0, 17, 7, 1, 0, 116, 17, 17, 7, 7, 13, 13, 7, 2, 0, 2, 17, 0, 7, 34, 0, 16, 13, 17, 0, 7, 33, 0, 17, 13, 17, 0, 15, 68, 0, 0, 17, 7, 48, 1, 2, 69, 0, 14, 34, 0, 13, 136, 0, 15, 1, 0, 7, 15, 32, 14, 70, 15, 61, 3, 17, 1, 146, 18, 47, 5, 16, 10, 0, 24, 2, 40, 2, 10, 20, 0, 14, 189, 3, 15, 128, 0, 51, 6, 108, 0, 14, 118, 0, 14, 61, 4, 15, 128, 0, 53, 15, 118, 0, 7, 15, 189, 4, 63, 15, 88, 1, 11, 7, 118, 0, 15, 61, 5, 68, 15, 118, 0, 7, 15, 189, 5, 83, 15, 118, 0, 7, 15, 128, 0, 89, 15, 61, 7, 255, 46, 4, 69, 1, 15, 128, 0, 91, 11, 60, 3, 31, 0, 128, 0, 83, 15, 40, 4, 6, 15, 0, 1, 74, 15, 40, 4, 7, 15, 128, 0, 73, 14, 10, 5, 15, 0, 1, 81, 15, 148, 5, 21, 11, 148, 0, 15, 128, 2, 44, 15, 10, 6, 27, 15, 128, 1, 0, 15, 128, 6, 64, 15, 138, 7, 26, 13, 128, 0, 15, 77, 8, 7, 5, 186, 12, 23, 16, 44, 13, 19, 16, 30, 14, 4, 14, 0, 21, 16, 42, 0, 0, 77, 0, 98, 184, 31, 0, 0, 90, 0, 4, 0, 47, 8, 0, 1, 0, 255, 25, 0, 146, 25, 1, 2, 0, 0, 8, 0, 2, 163, 25, 0, 3, 0, 12, 38, 0, 4, 34, 0, 47, 0, 14, 90, 0, 23, 3, 2, 0, 1, 51, 0, 23, 14, 16, 0, 15, 38, 0, 0, 31, 0, 90, 0, 27, 47, 14, 0, 90, 0, 17, 20, 14, 4, 0, 15, 180, 0, 69, 31, 0, 180, 0, 26, 4, 143, 0, 3, 90, 0, 47, 14, 0, 90, 0, 5, 4, 138, 1, 15, 28, 2, 113, 15, 1, 0, 9, 15, 38, 0, 15, 31, 0, 1, 0, 255, 255, 255, 37, 15, 63, 3, 71, 7, 124, 4, 15, 90, 0, 62, 1, 55, 6, 15, 180, 0, 69, 15, 90, 0, 68, 47, 14, 14, 90, 0, 72, 14, 31, 6, 15, 28, 2, 58, 15, 1, 0, 255, 255, 255, 194, 31, 13, 1, 0, 62, 47, 0, 0, 126, 9, 255, 255, 255, 131, 31, 0, 126, 9, 69, 47, 14, 0, 180, 0, 156, 14, 233, 14, 15, 126, 9, 255, 255, 255, 255, 255, 216, 0, 28, 1, 1, 4, 0, 17, 0, 85, 51, 1, 12, 0, 9, 24, 0, 34, 13, 0, 28, 0, 7, 48, 0, 54, 0, 0, 5, 28, 0, 5, 40, 0, 28, 13, 90, 0, 9, 2, 0, 0, 16, 0, 7, 114, 0, 7, 32, 0, 38, 0, 13, 48, 0, 53, 0, 5, 0, 28, 0, 4, 27, 0, 8, 126, 0, 14, 180, 0, 4, 136, 0, 5, 114, 0, 3, 176, 0, 13, 180, 0, 0, 90, 0, 23, 13, 90, 0, 3, 4, 0, 12, 180, 0, 8, 62, 0, 6, 122, 0, 47, 13, 0, 180, 0, 5, 31, 0, 180, 0, 21, 39, 0, 0, 100, 1, 4, 72, 1, 4, 180, 0, 6, 128, 1, 8, 48, 0, 0, 94, 48, 6, 28, 0, 7, 12, 0, 31, 0, 182, 13, 255, 88, 15, 1, 0, 255, 255, 255, 255, 224, 15, 13, 32, 10, 2, 148, 58, 31, 5, 1, 0, 1, 18, 13, 6, 0, 4, 54, 5, 2, 6, 0, 15, 167, 40, 17, 2, 195, 13, 15, 184, 28, 2, 3, 179, 69, 7, 77, 0, 147, 20, 50, 1, 0, 144, 0, 0, 0, 136, 210, 67, 4, 69, 0, 113, 59, 51, 73, 255, 64, 49, 62, 4, 0, 63, 0, 0, 2, 4, 0, 28, 31, 0, 16, 0, 255, 141, 15, 4, 0, 65, 81, 0, 255, 80, 49, 58, 4, 0, 8, 60, 2, 14, 64, 2, 15, 36, 2, 22, 15, 84, 2, 255, 221, 6, 64, 2, 0, 4, 0, 15, 64, 2, 8, 15, 86, 117, 255, 249, 15, 64, 2, 25, 30, 1, 56, 2, 15, 4, 0, 255, 247, 31, 1, 64, 2, 12, 29, 0, 64, 2, 63, 255, 173, 41, 4, 0, 86, 63, 83, 43, 29, 4, 0, 34, 15, 108, 0, 89, 14, 124, 0, 15, 108, 0, 43, 15, 152, 0, 0, 15, 4, 0, 122, 15, 64, 2, 27, 14, 180, 6, 15, 32, 2, 65, 15, 220, 1, 77, 14, 68, 0, 15, 56, 0, 35, 15, 184, 0, 9, 15, 68, 2, 213, 15, 64, 2, 31, 31, 1, 64, 2, 78, 15, 156, 1, 8, 14, 24, 0, 15, 92, 1, 84, 15, 124, 0, 0, 15, 44, 2, 1, 15, 16, 3, 9, 15, 72, 2, 57, 15, 64, 2, 255, 3, 15, 156, 1, 25, 14, 72, 1, 15, 104, 1, 2, 15, 132, 6, 94, 15, 116, 5, 53, 15, 144, 0, 16, 15, 64, 2, 160, 15, 0, 9, 87, 15, 132, 4, 0, 15, 44, 0, 9, 15, 192, 8, 106, 15, 72, 2, 0, 15, 116, 5, 50, 15, 68, 2, 145, 14, 72, 11, 15, 0, 9, 103, 15, 88, 4, 12, 15, 248, 10, 126, 15, 16, 2, 4, 15, 68, 2, 38, 14, 192, 0, 15, 68, 2, 18, 15, 64, 11, 246, 14, 12, 2, 15, 124, 6, 67, 15, 48, 2, 40, 15, 204, 6, 117, 15, 0, 9, 255, 7, 15, 176, 6, 8, 15, 224, 5, 33, 15, 32, 2, 65, 15, 244, 0, 117, 15, 0, 9, 255, 3, 14, 20, 4, 15, 216, 3, 14, 15, 100, 4, 21, 15, 60, 2, 142, 14, 164, 0, 15, 68, 2, 14, 15, 0, 9, 156, 14, 44, 0, 15, 136, 3, 85, 14, 8, 2, 15, 144, 1, 18, 14, 132, 4, 15, 124, 4, 160, 31, 255, 64, 20, 255, 21, 15, 100, 1, 44, 15, 180, 6, 1, 15, 4, 0, 177, 15, 64, 20, 205, 15, 4, 0, 255, 103, 15, 0, 9, 160, 15, 64, 2, 255, 55, 15, 228, 9, 12, 15, 72, 2, 25, 15, 0, 9, 157, 15, 64, 2, 255, 59, 14, 44, 14, 15, 236, 11, 34, 15, 64, 2, 255, 223, 14, 108, 4, 15, 108, 16, 46, 15, 64, 11, 145, 15, 64, 2, 255, 59, 15, 56, 2, 4, 15, 64, 2, 37, 15, 0, 9, 255, 219, 15, 248, 1, 4, 15, 64, 2, 41, 15, 192, 6, 255, 215, 31, 83, 40, 32, 3, 15, 0, 9, 255, 255, 8, 15, 40, 11, 0, 15, 68, 2, 17, 15, 64, 2, 29, 15, 0, 9, 255, 159, 14, 232, 1, 15, 24, 39, 35, 14, 56, 2, 14, 200, 31, 15, 0, 9, 255, 194, 15, 24, 2, 8, 15, 152, 25, 33, 15, 80, 36, 49, 15, 192, 6, 206, 53, 170, 204, 255, 4, 0, 15, 156, 6, 217, 31, 255, 48, 41, 43, 15, 36, 27, 25, 15, 64, 2, 194, 8, 56, 2, 0, 4, 0, 34, 232, 241, 4, 0, 15, 72, 2, 92, 15, 48, 41, 206, 15, 128, 4, 193, 15, 56, 2, 1, 47, 232, 241, 68, 2, 186, 15, 188, 51, 226, 15, 0, 9, 0, 15, 64, 2, 58, 14, 116, 4, 15, 64, 2, 199, 15, 224, 1, 44, 15, 196, 33, 25, 15, 128, 4, 210, 15, 60, 2, 21, 47, 232, 241, 16, 9, 10, 15, 88, 2, 214, 14, 252, 6, 15, 72, 2, 14, 15, 64, 2, 198, 15, 60, 2, 7, 15, 132, 4, 207, 31, 255, 48, 41, 55, 15, 128, 31, 226, 15, 60, 2, 7, 15, 132, 4, 18, 15, 148, 24, 226, 31, 83, 48, 41, 55, 15, 64, 2, 230, 14, 132, 4, 15, 124, 4, 223, 15, 48, 7, 52, 15, 64, 2, 255, 179, 15, 244, 4, 104, 15, 64, 2, 255, 255, 40, 14, 76, 2, 15, 64, 11, 162, 15, 64, 2, 255, 251, 53, 67, 49, 61, 4, 0, 15, 192, 15, 39, 15, 64, 2, 255, 255, 33, 14, 68, 2, 14, 80, 2, 15, 64, 2, 255, 255, 15, 14, 68, 2, 15, 76, 20, 22, 15, 64, 2, 255, 255, 40, 14, 140, 13, 15, 192, 6, 255, 255, 1, 15, 80, 11, 255, 58, 14, 60, 18, 15, 64, 11, 182, 15, 64, 2, 255, 91, 12, 68, 2, 15, 64, 2, 149, 15, 248, 1, 1, 14, 64, 2, 15, 68, 2, 5, 15, 12, 9, 255, 52, 15, 64, 2, 189, 8, 252, 1, 15, 4, 0, 23, 15, 4, 9, 255, 48, 8, 72, 2, 15, 64, 2, 173, 15, 72, 2, 21, 12, 36, 0, 14, 136, 13, 15, 196, 24, 255, 140, 15, 64, 2, 101, 15, 40, 0, 11, 15, 124, 4, 255, 148, 15, 64, 2, 81, 15, 192, 33, 19, 15, 60, 2, 255, 52, 15, 64, 2, 235, 15, 180, 6, 6, 15, 64, 11, 255, 227, 15, 64, 2, 53, 47, 170, 204, 156, 13, 10, 15, 12, 9, 255, 111, 15, 64, 2, 117, 15, 4, 9, 3, 15, 36, 18, 18, 15, 64, 2, 255, 255, 48, 14, 68, 2, 15, 192, 24, 255, 120, 53, 71, 49, 60, 4, 0, 15, 64, 11, 71, 15, 104, 20, 50, 15, 64, 2, 255, 235, 15, 128, 4, 7, 15, 68, 2, 26, 15, 4, 18, 255, 95, 15, 64, 2, 121, 15, 68, 2, 31, 15, 72, 18, 18, 15, 64, 2, 255, 219, 15, 184, 22, 17, 15, 80, 2, 32, 15, 64, 2, 255, 223, 14, 24, 9, 15, 68, 2, 46, 15, 64, 2, 255, 99, 53, 72, 50, 59, 4, 0, 15, 44, 0, 1, 15, 220, 1, 0, 15, 212, 6, 137, 15, 64, 2, 255, 147, 47, 170, 204, 204, 6, 85, 15, 64, 2, 255, 200, 47, 170, 204, 64, 2, 83, 15, 224, 31, 11, 15, 64, 2, 231, 63, 0, 163, 255, 64, 2, 174, 15, 68, 2, 53, 31, 255, 200, 76, 208, 8, 4, 0, 0, 252, 1, 15, 64, 2, 49, 14, 68, 2, 15, 64, 2, 159, 15, 68, 2, 47, 15, 60, 13, 219, 34, 0, 163, 52, 1, 14, 68, 2, 15, 68, 0, 31, 4, 72, 0, 15, 64, 2, 173, 47, 170, 204, 60, 2, 255, 20, 8, 88, 5, 46, 0, 163, 68, 2, 15, 64, 2, 233, 47, 170, 204, 56, 2, 255, 12, 4, 248, 1, 15, 4, 0, 59, 15, 64, 2, 111, 38, 75, 53, 4, 0, 15, 64, 2, 15, 15, 248, 44, 33, 15, 60, 2, 75, 14, 140, 22, 15, 64, 2, 223, 14, 68, 2, 15, 64, 2, 179, 4, 28, 13, 15, 128, 4, 53, 14, 240, 4, 15, 56, 36, 6, 15, 60, 2, 129, 15, 64, 2, 255, 31, 15, 212, 6, 16, 15, 60, 2, 58, 12, 72, 2, 15, 60, 2, 213, 14, 68, 2, 15, 192, 6, 203, 15, 68, 2, 0, 15, 168, 56, 69, 15, 60, 2, 113, 15, 64, 2, 255, 47, 15, 248, 1, 11, 15, 160, 2, 45, 15, 136, 4, 14, 15, 64, 2, 255, 63, 53, 78, 48, 57, 4, 0, 15, 64, 2, 61, 14, 16, 2, 15, 4, 0, 235, 15, 232, 1, 1, 49, 2, 0, 0, 4, 0, 15, 28, 2, 3, 15, 52, 0, 42, 15, 64, 2, 129, 15, 4, 0, 255, 39, 47, 0, 163, 64, 2, 218, 15, 0, 117, 255, 63, 14, 188, 6, 15, 196, 6, 159, 15, 64, 2, 45, 63, 199, 195, 194, 4, 0, 255, 35, 14, 60, 2, 15, 68, 2, 86, 15, 128, 4, 255, 179, 15, 64, 2, 245, 63, 156, 118, 131, 128, 4, 255, 159, 14, 68, 2, 15, 64, 2, 59, 53, 76, 48, 57, 4, 0, 15, 64, 2, 17, 0, 12, 10, 15, 168, 1, 133, 0, 160, 0, 14, 228, 2, 15, 60, 2, 147, 63, 54, 82, 171, 4, 0, 18, 15, 72, 2, 40, 15, 64, 2, 114, 4, 68, 2, 14, 72, 2, 15, 56, 2, 111, 8, 160, 0, 15, 124, 4, 245, 14, 68, 2, 15, 64, 2, 102, 15, 164, 1, 130, 12, 60, 2, 14, 68, 2, 15, 60, 2, 106, 15, 64, 2, 255, 3, 8, 216, 16, 15, 244, 1, 44, 15, 56, 2, 62, 14, 36, 5, 15, 60, 2, 247, 14, 68, 2, 15, 128, 4, 103, 4, 164, 1, 14, 4, 2, 15, 108, 6, 79, 15, 60, 2, 16, 14, 228, 2, 15, 60, 2, 128, 15, 156, 20, 51, 15, 64, 2, 119, 53, 77, 55, 58, 4, 0, 15, 64, 2, 17, 12, 4, 0, 15, 240, 1, 40, 15, 56, 2, 50, 15, 68, 2, 1, 4, 16, 0, 14, 188, 54, 15, 4, 0, 71, 15, 56, 2, 27, 15, 72, 2, 53, 15, 64, 2, 99, 53, 73, 47, 57, 4, 0, 15, 64, 2, 16, 15, 4, 0, 70, 15, 204, 4, 8, 15, 96, 0, 49, 15, 124, 4, 118, 14, 40, 25, 15, 68, 2, 151, 15, 64, 2, 73, 8, 236, 3, 15, 4, 0, 133, 15, 124, 4, 107, 15, 108, 27, 85, 15, 64, 2, 167, 15, 68, 2, 144, 15, 64, 2, 255, 135, 15, 4, 0, 157, 4, 240, 1, 15, 32, 9, 63, 15, 64, 2, 109, 15, 0, 9, 18, 15, 64, 2, 255, 47, 15, 156, 4, 79, 15, 64, 2, 127, 14, 128, 22, 15, 64, 2, 255, 60, 15, 72, 2, 9, 0, 64, 1, 8, 8, 0, 15, 64, 2, 255, 255, 11, 4, 68, 2, 12, 44, 2, 14, 60, 2, 15, 132, 4, 13, 15, 64, 2, 255, 160, 0, 40, 1, 15, 68, 2, 65, 15, 60, 2, 13, 63, 81, 135, 0, 64, 2, 12, 15, 60, 2, 171, 15, 64, 2, 5, 53, 70, 46, 57, 4, 0, 15, 64, 2, 173, 38, 0, 163, 180, 1, 15, 68, 2, 41, 0, 44, 1, 8, 12, 0, 4, 64, 2, 8, 68, 2, 12, 140, 4, 12, 64, 2, 5, 116, 1, 15, 64, 2, 60, 63, 79, 87, 95, 64, 2, 255, 47, 63, 168, 119, 255, 128, 4, 26, 8, 16, 2, 15, 64, 2, 33, 12, 4, 0, 8, 80, 2, 4, 16, 0, 8, 68, 2, 8, 28, 0, 12, 200, 1, 42, 81, 135, 72, 46, 12, 16, 0, 15, 60, 2, 68, 15, 64, 2, 246, 34, 168, 119, 172, 1, 15, 68, 2, 9, 0, 148, 1, 15, 68, 2, 0, 15, 20, 0, 26, 4, 68, 0, 0, 16, 0, 0, 12, 0, 15, 92, 1, 13, 4, 64, 2, 12, 40, 0, 12, 232, 46, 15, 64, 2, 25, 0, 48, 2, 8, 4, 0, 15, 60, 2, 21, 0, 84, 0, 15, 64, 2, 17, 0, 40, 0, 4, 4, 0, 15, 28, 0, 8, 15, 128, 4, 218, 8, 252, 1, 4, 0, 1, 8, 72, 4, 15, 48, 2, 5, 8, 60, 1, 8, 60, 0, 8, 64, 2, 15, 72, 2, 13, 8, 40, 0, 0, 124, 1, 14, 40, 49, 14, 224, 1, 4, 44, 0, 15, 76, 2, 1, 0, 16, 25, 8, 164, 18, 14, 120, 2, 15, 116, 4, 3, 8, 252, 1, 15, 4, 0, 1, 12, 32, 2, 15, 4, 0, 16, 15, 64, 2, 6, 53, 68, 46, 57, 4, 0, 53, 80, 58, 58, 4, 0, 15, 64, 2, 137, 0, 208, 0, 63, 54, 228, 0, 32, 0, 10, 8, 60, 2, 15, 96, 4, 4, 15, 172, 6, 14, 14, 116, 1, 6, 64, 2, 15, 84, 2, 5, 4, 48, 0, 4, 12, 9, 14, 68, 2, 6, 64, 2, 15, 232, 1, 13, 12, 64, 2, 14, 120, 2, 14, 72, 0, 15, 12, 2, 21, 15, 68, 2, 33, 15, 64, 2, 181, 12, 60, 2, 12, 16, 0, 14, 192, 6, 10, 220, 8, 12, 36, 4, 12, 132, 4, 12, 72, 4, 14, 180, 3, 15, 208, 3, 3, 49, 77, 0, 255, 4, 0, 15, 156, 13, 0, 15, 4, 0, 34, 15, 64, 2, 0, 15, 4, 0, 57, 15, 64, 2, 222, 4, 40, 2, 15, 124, 4, 17, 15, 24, 0, 5, 4, 48, 2, 0, 152, 8, 8, 20, 0, 15, 228, 5, 0, 15, 184, 3, 22, 4, 56, 2, 47, 77, 0, 224, 15, 7, 47, 77, 0, 4, 0, 23, 15, 64, 2, 255, 74, 4, 4, 0, 15, 92, 2, 0, 15, 64, 2, 10, 4, 28, 0, 42, 2, 0, 28, 2, 47, 54, 228, 228, 5, 23, 15, 132, 4, 0, 14, 120, 4, 15, 112, 4, 0, 15, 68, 2, 9, 4, 144, 6, 15, 28, 0, 1, 12, 64, 2, 63, 83, 37, 126, 64, 2, 255, 11, 14, 88, 4, 14, 60, 2, 15, 136, 4, 5, 8, 8, 2, 15, 20, 2, 5, 8, 96, 2, 4, 80, 0, 15, 76, 1, 37, 14, 240, 1, 15, 64, 2, 31, 4, 188, 8, 46, 39, 236, 68, 2, 15, 64, 2, 5, 0, 4, 0, 14, 172, 4, 15, 64, 2, 103, 53, 62, 45, 57, 4, 0, 15, 64, 2, 153, 14, 4, 0, 15, 64, 2, 3, 12, 180, 4, 14, 64, 2, 15, 60, 2, 51, 8, 68, 2, 15, 64, 2, 1, 12, 252, 1, 12, 52, 13, 15, 68, 2, 1, 12, 192, 15, 8, 64, 0, 4, 136, 0, 15, 64, 2, 121, 53, 77, 58, 62, 4, 0, 15, 64, 2, 0, 15, 12, 11, 98, 12, 36, 2, 14, 64, 2, 15, 76, 2, 10, 15, 44, 0, 18, 47, 54, 228, 60, 2, 51, 15, 4, 0, 25, 15, 236, 19, 3, 15, 40, 9, 30, 15, 64, 2, 186, 0, 68, 3, 15, 212, 8, 37, 15, 104, 4, 4, 15, 4, 0, 38, 14, 60, 2, 15, 64, 2, 43, 8, 244, 3, 15, 68, 2, 69, 14, 160, 6, 15, 60, 2, 10, 15, 64, 2, 186, 34, 39, 236, 188, 5, 14, 68, 2, 15, 88, 13, 27, 15, 64, 2, 9, 0, 56, 20, 14, 84, 2, 15, 4, 0, 59, 15, 112, 4, 0, 15, 4, 0, 74, 15, 60, 2, 25, 8, 144, 0, 15, 64, 2, 65, 47, 54, 228, 128, 4, 151, 15, 104, 4, 29, 8, 184, 24, 15, 68, 2, 77, 46, 54, 228, 60, 2, 15, 4, 0, 109, 14, 60, 2, 15, 64, 2, 171, 14, 236, 10, 14, 184, 19, 15, 96, 15, 9, 47, 81, 135, 168, 6, 31, 34, 168, 119, 60, 1, 15, 64, 2, 81, 8, 188, 1, 14, 20, 0, 15, 64, 2, 103, 14, 236, 1, 15, 12, 2, 23, 47, 54, 228, 64, 2, 135, 15, 156, 17, 13, 8, 64, 2, 14, 16, 11, 15, 216, 8, 25, 15, 60, 2, 91, 8, 68, 2, 15, 64, 2, 8, 15, 96, 2, 42, 15, 60, 0, 9, 46, 54, 228, 104, 13, 15, 100, 14, 3, 15, 64, 2, 51, 12, 104, 1, 15, 64, 2, 73, 15, 184, 8, 0, 15, 52, 22, 5, 14, 20, 11, 15, 4, 0, 164, 12, 240, 1, 4, 156, 4, 14, 160, 4, 15, 60, 2, 23, 14, 60, 0, 6, 56, 2, 14, 212, 1, 15, 64, 2, 39, 14, 56, 0, 15, 64, 2, 7, 47, 54, 228, 128, 4, 19, 53, 58, 44, 57, 4, 0, 53, 76, 59, 66, 4, 0, 15, 64, 2, 25, 8, 192, 19, 15, 228, 19, 12, 15, 64, 2, 214, 14, 52, 0, 15, 40, 0, 2, 15, 240, 4, 18, 31, 54, 252, 11, 32, 15, 24, 0, 3, 15, 40, 19, 9, 15, 64, 2, 79, 15, 116, 4, 4, 15, 64, 2, 6, 8, 132, 0, 14, 124, 4, 15, 4, 0, 231, 14, 184, 4, 15, 48, 7, 6, 15, 220, 7, 34, 47, 81, 135, 28, 19, 25, 15, 64, 2, 95, 15, 192, 0, 15, 15, 184, 8, 5, 15, 4, 0, 255, 16, 14, 52, 2, 15, 88, 14, 63, 14, 184, 1, 14, 0, 7, 15, 64, 2, 91, 15, 48, 2, 5, 15, 4, 0, 255, 128, 15, 120, 4, 5, 47, 81, 135, 64, 2, 47, 53, 74, 60, 70, 4, 0, 15, 64, 2, 3, 15, 4, 0, 255, 148, 15, 16, 11, 9, 47, 54, 228, 64, 2, 255, 255, 17, 47, 54, 228, 12, 2, 1, 15, 128, 4, 31, 31, 54, 192, 15, 16, 53, 56, 44, 57, 4, 0, 15, 64, 2, 255, 186, 47, 54, 228, 64, 2, 43, 14, 64, 20, 15, 64, 2, 255, 224, 14, 144, 4, 15, 116, 22, 5, 15, 64, 2, 255, 255, 17, 15, 68, 2, 13, 47, 54, 228, 64, 2, 255, 252, 14, 76, 17, 15, 232, 8, 5, 15, 64, 2, 255, 255, 13, 14, 12, 0, 15, 128, 4, 255, 255, 29, 47, 54, 228, 124, 31, 17, 15, 64, 2, 255, 255, 5, 14, 4, 0, 15, 64, 2, 255, 255, 25, 47, 54, 228, 64, 2, 31, 47, 54, 228, 64, 2, 43, 53, 73, 61, 74, 4, 0, 15, 64, 2, 45, 0, 148, 41, 15, 64, 2, 255, 138, 47, 54, 228, 64, 2, 135, 8, 136, 71, 15, 64, 2, 255, 122, 46, 54, 228, 64, 2, 15, 128, 4, 255, 255, 11, 31, 54, 252, 35, 18, 14, 128, 22, 15, 64, 2, 85, 0, 48, 47, 15, 128, 31, 7, 15, 84, 2, 255, 120, 14, 240, 35, 15, 64, 2, 111, 8, 176, 51, 15, 212, 6, 255, 154, 14, 88, 2, 15, 24, 18, 13, 15, 128, 4, 75, 47, 81, 135, 212, 6, 255, 160, 14, 64, 2, 15, 12, 0, 7, 8, 44, 0, 15, 64, 2, 49, 15, 16, 14, 29, 14, 180, 0, 14, 64, 2, 15, 28, 9, 255, 134, 13, 0, 4, 15, 64, 2, 52, 47, 54, 228, 12, 0, 9, 15, 64, 2, 255, 152, 15, 160, 1, 11, 15, 64, 2, 71, 15, 76, 34, 17, 47, 54, 228, 4, 0, 255, 192, 15, 128, 4, 57, 15, 60, 7, 7, 15, 64, 2, 255, 184, 47, 81, 135, 192, 6, 95, 47, 81, 135, 128, 4, 255, 255, 17, 15, 64, 11, 7, 15, 64, 2, 255, 255, 17, 15, 4, 0, 19, 15, 64, 2, 255, 243, 15, 4, 0, 255, 253, 15, 64, 2, 255, 255, 255, 255, 147, 63, 59, 51, 73, 64, 2, 255, 255, 40, 0, 60, 2, 147, 67, 66, 77, 80, 45, 0, 0, 0, 5, 4, 0, 41, 8, 0, 1, 0, 17, 13, 4, 0, 6, 2, 0, 32, 0, 13, 18, 0, 0, 53, 0, 83, 100, 1, 0, 0, 42, 49, 0, 8, 53, 0, 31, 8, 1, 0, 41, 19, 2, 1, 0, 13, 25, 0, 33, 15, 15, 4, 0, 35, 15, 15, 12, 0, 69, 2, 2, 15, 15, 43, 0, 32, 2, 2, 57, 0, 16, 8, 2, 0, 17, 8, 33, 0, 5, 2, 0, 0, 29, 0, 35, 15, 15, 43, 0, 16, 8, 32, 0, 3, 4, 0, 0, 42, 0, 47, 15, 15, 42, 0, 8, 1, 84, 0, 3, 47, 0, 8, 82, 0, 44, 15, 8, 126, 0, 40, 8, 2, 84, 0, 3, 4, 0, 33, 8, 15, 96, 0, 9, 210, 0, 6, 130, 0, 31, 2, 19, 1, 24, 15, 108, 1, 95, 2, 0, 1, 22, 8, 180, 0, 1, 1, 0, 0, 242, 0, 2, 125, 1, 4, 57, 1, 5, 205, 0, 3, 123, 1, 3, 83, 0, 1, 70, 1, 4, 137, 1, 2, 141, 1, 5, 159, 1, 15, 42, 0, 3, 5, 217, 1, 41, 8, 8, 82, 0, 44, 2, 8, 126, 0, 40, 8, 15, 84, 0, 4, 83, 1, 2, 255, 1, 9, 210, 0, 39, 15, 15, 126, 0, 15, 108, 1, 26, 23, 84, 104, 1, 15, 108, 1, 6, 3, 249, 1, 3, 161, 0, 40, 8, 8, 8, 0, 4, 24, 0, 6, 40, 0, 15, 92, 0, 27, 35, 15, 15, 6, 0, 3, 76, 2, 8, 8, 0, 4, 24, 0, 6, 40, 0, 15, 92, 0, 27, 0, 1, 0, 73, 14, 14, 14, 14, 8, 0, 1, 10, 0, 23, 14, 24, 0, 0, 20, 0, 2, 8, 0, 47, 8, 14, 92, 0, 27, 0, 210, 1, 9, 8, 0, 1, 10, 0, 23, 15, 24, 0, 3, 151, 1, 2, 208, 0, 97, 67, 80, 65, 76, 0, 3, 75, 0, 255, 81, 29, 43, 83, 126, 37, 83, 0, 135, 81, 171, 82, 54, 95, 87, 79, 194, 195, 199, 255, 241, 232, 255, 0, 77, 255, 163, 0, 255, 236, 39, 0, 228, 54, 41, 173, 255, 131, 118, 156, 255, 119, 168, 255, 204, 170, 12, 18, 35, 53, 41, 83, 94, 61, 82, 42, 121, 74, 152, 83, 60, 119, 114, 109, 209, 206, 207, 255, 180, 193, 255, 40, 57, 255, 181, 9, 191, 214, 42, 10, 214, 104, 63, 159, 230, 162, 118, 159, 255, 140, 168, 200, 161, 130, 2, 4, 8, 3, 0, 88, 17, 9, 3, 0, 15, 48, 0, 29, 9, 54, 0, 63, 3, 5, 10, 48, 0, 10, 12, 60, 0, 14, 48, 0, 15, 150, 0, 11, 56, 3, 5, 10, 3, 0, 254, 81, 41, 24, 20, 17, 29, 53, 66, 33, 54, 18, 83, 89, 116, 47, 41, 73, 51, 59, 162, 136, 121, 243, 239, 125, 190, 18, 80, 255, 108, 36, 168, 231, 46, 0, 181, 67, 6, 90, 181, 117, 70, 101, 255, 110, 89, 255, 157, 129, 52, 35, 31, 41, 31, 53, 54, 45, 62, 42, 74, 77, 105, 48, 45, 95, 72, 74, 182, 161, 122, 229, 183, 113, 206, 40, 69, 233, 138, 38, 126, 218, 51, 1, 158, 95, 33, 85, 161, 151, 80, 98, 255, 121, 99, 208, 135, 109, 128, 1, 15, 3, 0, 251, 0, 100, 3, 83, 101, 0, 0, 0, 9, 4, 0, 47, 8, 0, 1, 0, 3, 52, 7, 7, 7, 8, 0, 36, 7, 7, 8, 0, 47, 7, 7, 9, 0, 1, 5, 36, 0, 6, 54, 0, 3, 69, 0, 15, 109, 0, 19, 14, 91, 0, 15, 9, 0, 26, 15, 109, 0, 28, 3, 2, 0, 15, 18, 0, 44, 15, 109, 0, 14, 81, 16, 16, 16, 16, 0, 4, 0, 32, 7, 7, 5, 0, 4, 9, 0, 2, 22, 0, 25, 16, 41, 0, 1, 4, 0, 3, 36, 0, 23, 16, 18, 0, 15, 218, 0, 27, 15, 73, 0, 16, 6, 127, 0, 10, 145, 0, 0, 9, 0, 4, 181, 0, 15, 109, 0, 54, 15, 2, 1, 17, 0, 109, 0, 98, 184, 31, 0, 0, 90, 0, 4, 0, 47, 8, 0, 1, 0, 255, 25, 65, 14, 14, 14, 0, 2, 0, 18, 14, 4, 0, 17, 0, 8, 0, 13, 38, 0, 4, 34, 0, 47, 0, 14, 90, 0, 23, 3, 2, 0, 1, 51, 0, 23, 14, 16, 0, 15, 38, 0, 0, 31, 0, 90, 0, 27, 47, 14, 0, 90, 0, 17, 20, 14, 4, 0, 15, 180, 0, 69, 31, 0, 180, 0, 26, 4, 143, 0, 3, 90, 0, 47, 14, 0, 90, 0, 5, 4, 138, 1, 15, 28, 2, 113, 15, 1, 0, 9, 15, 38, 0, 15, 31, 0, 1, 0, 255, 239, 19, 13, 137, 15, 19, 13, 139, 15, 23, 13, 12, 0, 15, 89, 0, 43, 9, 233, 15, 10, 12, 0, 15, 90, 0, 52, 1, 167, 0, 25, 13, 12, 0, 15, 180, 0, 55, 12, 190, 0, 7, 1, 0, 15, 63, 3, 33, 4, 92, 1, 5, 172, 0, 6, 196, 0, 9, 95, 4, 5, 124, 4, 15, 1, 0, 60, 2, 185, 4, 15, 90, 0, 67, 31, 0, 90, 0, 70, 47, 14, 14, 90, 0, 72, 14, 31, 6, 15, 147, 5, 48, 15, 91, 5, 122, 4, 18, 3, 2, 196, 2, 57, 5, 0, 0, 16, 0, 15, 44, 3, 47, 3, 74, 0, 22, 5, 32, 3, 14, 90, 0, 15, 89, 0, 36, 2, 8, 0, 15, 90, 0, 58, 9, 74, 0, 8, 180, 0, 47, 13, 13, 104, 1, 56, 20, 5, 238, 3, 8, 115, 0, 15, 44, 7, 255, 182, 15, 1, 0, 61, 47, 0, 0, 126, 9, 255, 239, 2, 7, 0, 12, 8, 0, 31, 0, 69, 5, 56, 47, 0, 0, 70, 5, 58, 11, 164, 0, 6, 235, 4, 15, 84, 6, 55, 14, 180, 0, 15, 126, 9, 43, 12, 143, 5, 12, 112, 1, 25, 0, 126, 9, 31, 0, 126, 9, 69, 31, 14, 90, 0, 52, 15, 180, 0, 86, 14, 233, 14, 15, 126, 9, 191, 1, 66, 12, 3, 4, 0, 8, 37, 2, 15, 202, 8, 51, 8, 244, 12, 4, 118, 9, 15, 90, 0, 52, 45, 13, 13, 124, 3, 15, 180, 0, 64, 5, 230, 3, 15, 90, 0, 54, 11, 57, 4, 14, 90, 0, 15, 1, 0, 55, 15, 126, 9, 255, 255, 255, 40, 5, 20, 5, 3, 161, 33, 4, 28, 5, 6, 44, 5, 10, 108, 4, 2, 20, 8, 22, 5, 28, 0, 12, 84, 5, 6, 42, 0, 47, 0, 13, 88, 17, 2, 42, 13, 13, 116, 17, 46, 0, 13, 172, 13, 4, 24, 0, 5, 12, 0, 15, 180, 0, 6, 12, 28, 5, 5, 110, 17, 12, 180, 0, 3, 19, 15, 5, 90, 0, 14, 249, 18, 15, 22, 18, 2, 8, 204, 0, 15, 180, 0, 1, 31, 0, 180, 0, 21, 5, 34, 0, 10, 194, 18, 42, 13, 0, 128, 1, 26, 0, 19, 15, 7, 28, 0, 7, 12, 0, 31, 0, 182, 13, 255, 88, 15, 1, 0, 255, 255, 255, 255, 219, 80, 0, 0, 0, 0, 0, 99, 70, 73, 76, 0, 0, 0, 0, 76, 53, 0, 0, 112, 111, 100, 47, 102, 95, 112, 105, 99, 111, 56, 46, 112, 111, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 8, 0, 0, 241, 12, 67, 80, 79, 68, 68, 0, 0, 0, 1, 0, 0, 0, 102, 95, 112, 105, 99, 111, 56, 46, 112, 111, 100, 0, 98, 97, 47, 13, 0, 83, 47, 112, 111, 100, 47, 25, 0, 1, 37, 0, 15, 1, 0, 8, 247, 2, 67, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 28, 0, 66, 255, 255, 255, 255, 5, 0, 1, 12, 0, 15, 43, 0, 11, 79, 0, 0, 255, 0, 43, 0, 24, 31, 0, 43, 0, 19, 2, 128, 0, 15, 129, 0, 17, 3, 169, 0, 15, 43, 0, 16, 0, 123, 0, 18, 255, 128, 0, 15, 86, 0, 15, 47, 0, 255, 129, 0, 21, 4, 216, 0, 15, 129, 0, 18, 4, 85, 0, 15, 129, 0, 2, 15, 174, 1, 7, 15, 43, 0, 52, 47, 255, 255, 215, 0, 25, 2, 5, 1, 15, 172, 0, 58, 2, 125, 0, 15, 129, 0, 22, 0, 176, 1, 31, 0, 43, 0, 20, 6, 1, 0, 15, 172, 0, 12, 5, 40, 0, 15, 88, 1, 4, 14, 9, 3, 15, 43, 0, 18, 5, 2, 0, 15, 43, 0, 18, 31, 0, 43, 0, 22, 2, 3, 0, 15, 43, 0, 14, 21, 255, 92, 1, 47, 0, 0, 219, 2, 15, 6, 94, 1, 15, 4, 2, 16, 2, 220, 2, 15, 133, 2, 16, 4, 225, 3, 15, 178, 3, 18, 2, 7, 2, 31, 255, 219, 2, 17, 31, 255, 6, 3, 25, 2, 92, 1, 15, 43, 0, 19, 1, 47, 1, 15, 172, 0, 13, 47, 0, 255, 219, 2, 18, 7, 0, 2, 14, 172, 0, 15, 49, 3, 38, 24, 0, 129, 1, 15, 172, 0, 54, 6, 45, 2, 1, 6, 0, 15, 135, 3, 15, 5, 48, 2, 15, 129, 0, 12, 4, 6, 1, 31, 0, 86, 0, 14, 2, 169, 2, 47, 255, 255, 47, 2, 14, 7, 84, 1, 15, 131, 1, 18, 47, 0, 255, 4, 2, 18, 23, 255, 92, 1, 15, 215, 0, 15, 4, 173, 2, 15, 215, 0, 3, 14, 137, 3, 47, 0, 255, 4, 2, 23, 14, 135, 3, 15, 43, 0, 2, 3, 56, 6, 15, 90, 2, 24, 31, 255, 51, 4, 15, 5, 1, 1, 15, 16, 8, 17, 4, 56, 4, 15, 229, 7, 17, 3, 8, 1, 15, 57, 7, 15, 5, 95, 2, 15, 100, 7, 16, 31, 255, 94, 4, 20, 7, 185, 4, 15, 227, 6, 20, 31, 255, 16, 8, 16, 7, 15, 6, 15, 16, 8, 17, 15, 129, 0, 21, 31, 255, 86, 0, 21, 15, 215, 0, 21, 4, 222, 2, 3, 6, 0, 15, 43, 0, 21, 47, 255, 0, 47, 2, 16, 3, 54, 3, 31, 0, 100, 7, 16, 5, 6, 0, 15, 88, 1, 12, 5, 13, 7, 14, 133, 2, 15, 4, 2, 5, 15, 221, 3, 16, 4, 176, 2, 47, 0, 0, 188, 8, 15, 15, 10, 5, 20, 5, 183, 4, 14, 180, 4, 15, 86, 0, 5, 31, 0, 129, 0, 18, 21, 255, 175, 0, 31, 255, 145, 8, 17, 31, 255, 86, 0, 21, 3, 43, 0, 14, 94, 4, 15, 172, 0, 2, 15, 215, 0, 19, 47, 255, 0, 45, 1, 24, 30, 255, 8, 4, 15, 43, 0, 14, 15, 18, 9, 17, 4, 48, 1, 15, 43, 0, 14, 6, 152, 11, 15, 20, 10, 19, 14, 86, 0, 15, 174, 1, 9, 31, 0, 90, 2, 16, 14, 217, 1, 15, 133, 2, 14, 15, 178, 3, 16, 3, 67, 11, 15, 90, 2, 21, 47, 255, 0, 172, 0, 20, 3, 7, 0, 15, 174, 1, 21, 47, 0, 255, 192, 10, 23, 15, 90, 2, 23, 15, 86, 0, 22, 31, 255, 176, 2, 19, 5, 150, 8, 15, 90, 2, 17, 31, 255, 2, 1, 22, 31, 0, 184, 6, 18, 7, 10, 6, 31, 255, 10, 5, 17, 31, 255, 96, 5, 17, 10, 101, 7, 15, 149, 10, 12, 15, 192, 10, 22, 10, 224, 0, 31, 67, 61, 9, 14, 15, 75, 16, 27, 14, 49, 3, 15, 14, 7, 5, 15, 137, 4, 17, 47, 255, 255, 221, 3, 21, 8, 175, 3, 15, 243, 14, 20, 3, 235, 7, 15, 43, 0, 22, 47, 0, 0, 172, 0, 20, 15, 188, 8, 15, 15, 45, 1, 25, 15, 104, 9, 25, 6, 43, 0, 15, 239, 12, 13, 15, 96, 5, 21, 9, 229, 8, 15, 159, 15, 18, 14, 53, 5, 15, 174, 1, 4, 15, 43, 0, 19, 6, 93, 5, 14, 96, 5, 15, 133, 2, 7, 14, 174, 1, 15, 59, 8, 1, 15, 96, 5, 18, 47, 255, 255, 45, 1, 22, 5, 101, 10, 14, 94, 4, 15, 174, 1, 8, 15, 241, 13, 16, 15, 96, 5, 21, 8, 3, 3, 15, 86, 0, 22, 31, 255, 176, 2, 19, 5 ]);
+ fileData0.push.apply(fileData0, [ 51, 1, 15, 151, 11, 21, 15, 237, 11, 20, 47, 0, 255, 210, 19, 24, 15, 14, 7, 15, 47, 255, 0, 88, 1, 22, 5, 177, 5, 15, 145, 8, 17, 5, 196, 12, 15, 10, 5, 4, 15, 35, 16, 4, 0, 43, 0, 95, 55, 0, 0, 0, 7, 208, 18, 15, 15, 1, 0, 1, 15, 63, 0, 10, 15, 2, 0, 15, 15, 63, 0, 11, 9, 132, 0, 8, 197, 8, 4, 70, 3, 15, 63, 0, 9, 7, 136, 18, 7, 68, 22, 3, 246, 19, 15, 63, 0, 15, 5, 91, 6, 2, 57, 0, 15, 14, 0, 1, 15, 126, 0, 10, 4, 152, 6, 24, 255, 131, 12, 5, 161, 1, 15, 63, 0, 16, 5, 55, 0, 27, 255, 253, 16, 3, 28, 0, 15, 252, 0, 12, 47, 0, 255, 56, 0, 4, 3, 155, 0, 15, 126, 0, 19, 5, 113, 1, 4, 124, 1, 14, 126, 0, 15, 189, 0, 7, 7, 245, 0, 7, 126, 0, 31, 255, 252, 0, 24, 6, 255, 3, 7, 65, 9, 15, 248, 1, 21, 27, 255, 248, 1, 31, 0, 248, 1, 19, 43, 255, 255, 39, 2, 5, 181, 1, 15, 244, 2, 17, 8, 232, 0, 6, 7, 2, 9, 16, 1, 15, 181, 2, 26, 7, 0, 25, 15, 244, 2, 17, 7, 54, 3, 31, 0, 248, 1, 33, 15, 37, 4, 4, 6, 1, 0, 15, 189, 0, 20, 7, 122, 0, 3, 219, 16, 15, 189, 0, 29, 7, 135, 1, 25, 255, 74, 19, 15, 248, 1, 12, 10, 238, 0, 10, 10, 1, 15, 55, 2, 20, 10, 189, 0, 15, 122, 1, 22, 5, 221, 2, 4, 229, 5, 25, 255, 53, 22, 15, 63, 0, 19, 9, 135, 16, 2, 227, 16, 15, 122, 1, 26, 11, 82, 21, 15, 244, 2, 26, 15, 14, 0, 2, 15, 232, 5, 23, 15, 7, 0, 2, 15, 232, 5, 16, 14, 177, 1, 22, 255, 69, 22, 2, 12, 0, 15, 169, 5, 16, 6, 92, 4, 7, 109, 13, 47, 0, 255, 122, 1, 16, 5, 156, 3, 3, 155, 5, 8, 186, 3, 14, 236, 4, 15, 181, 2, 4, 27, 255, 197, 0, 6, 232, 10, 31, 0, 252, 0, 15, 25, 255, 237, 6, 6, 152, 25, 31, 255, 244, 2, 15, 8, 69, 23, 6, 114, 22, 11, 217, 25, 15, 110, 4, 10, 12, 123, 1, 24, 255, 230, 6, 15, 181, 2, 14, 3, 253, 0, 7, 241, 4, 3, 80, 1, 14, 228, 6, 15, 251, 22, 7, 8, 120, 0, 9, 128, 14, 15, 189, 0, 19, 8, 4, 14, 4, 163, 25, 15, 110, 4, 26, 29, 255, 77, 14, 15, 169, 5, 16, 15, 7, 0, 2, 15, 55, 2, 33, 7, 61, 1, 4, 59, 1, 15, 126, 0, 17, 7, 27, 30, 28, 255, 189, 0, 15, 161, 7, 17, 7, 245, 0, 6, 71, 0, 5, 64, 0, 15, 252, 0, 16, 7, 67, 0, 40, 255, 255, 3, 1, 15, 110, 4, 16, 8, 52, 1, 43, 255, 255, 18, 1, 31, 0, 232, 5, 19, 13, 127, 1, 5, 140, 2, 15, 63, 0, 20, 9, 160, 5, 15, 181, 2, 21, 11, 184, 0, 31, 255, 118, 2, 28, 5, 135, 8, 5, 59, 1, 8, 133, 2, 15, 189, 0, 15, 6, 44, 3, 4, 237, 4, 7, 246, 4, 31, 0, 169, 5, 14, 43, 0, 255, 46, 6, 7, 187, 13, 5, 187, 12, 15, 126, 0, 10, 11, 244, 16, 6, 63, 27, 14, 248, 1, 15, 118, 2, 4, 7, 216, 5, 40, 0, 255, 41, 5, 47, 0, 255, 244, 2, 16, 5, 116, 20, 11, 14, 0, 15, 106, 5, 13, 24, 255, 96, 4, 12, 110, 4, 15, 51, 3, 19, 15, 191, 3, 0, 6, 252, 6, 47, 0, 255, 90, 9, 18, 43, 255, 255, 77, 29, 5, 59, 2, 15, 98, 7, 12, 12, 203, 11, 27, 0, 192, 30, 15, 27, 9, 21, 28, 255, 179, 6, 6, 138, 15, 15, 78, 12, 9, 29, 0, 118, 4, 6, 244, 3, 15, 11, 13, 17, 11, 56, 2, 7, 144, 1, 15, 51, 3, 16, 15, 25, 8, 0, 7, 146, 13, 31, 255, 39, 6, 19, 29, 255, 14, 0, 31, 255, 236, 4, 17, 4, 142, 7, 8, 120, 1, 6, 183, 1, 47, 255, 0, 177, 3, 17, 41, 0, 0, 193, 12, 10, 51, 7, 15, 70, 14, 21, 13, 196, 0, 14, 161, 7, 15, 102, 6, 6, 10, 6, 2, 15, 244, 2, 22, 11, 147, 7, 9, 229, 5, 15, 106, 5, 25, 11, 245, 2, 47, 255, 255, 185, 1, 18, 40, 0, 255, 203, 14, 9, 16, 10, 7, 104, 17, 15, 126, 0, 30, 14, 55, 2, 15, 236, 4, 26, 15, 157, 8, 23, 24, 0, 29, 7, 41, 255, 255, 171, 5, 14, 70, 14, 15, 252, 0, 3, 9, 53, 4, 6, 68, 2, 15, 122, 1, 2, 15, 201, 13, 7, 11, 47, 7, 15, 7, 14, 21, 15, 250, 2, 5, 15, 70, 14, 21, 9, 102, 4, 6, 191, 15, 15, 63, 0, 26, 7, 253, 0, 15, 66, 15, 26, 7, 192, 2, 28, 255, 80, 1, 15, 126, 0, 13, 44, 255, 255, 185, 15, 15, 240, 3, 23, 10, 216, 9, 47, 255, 0, 51, 3, 38, 13, 119, 0, 15, 196, 14, 17, 11, 209, 9, 5, 202, 0, 6, 238, 6, 15, 114, 3, 19, 8, 242, 1, 7, 145, 11, 31, 255, 252, 0, 25, 14, 14, 0, 15, 149, 10, 20, 12, 209, 10, 47, 255, 0, 43, 5, 29, 5, 187, 22, 14, 244, 2, 15, 55, 2, 21, 9, 7, 0, 15, 122, 1, 5, 15, 146, 11, 14, 31, 0, 35, 7, 21, 7, 93, 8, 9, 79, 11, 5, 211, 10, 15, 189, 0, 28, 8, 100, 7, 14, 70, 14, 15, 248, 1, 18, 15, 15, 12, 27, 8, 34, 4, 15, 189, 0, 35, 5, 38, 4, 28, 255, 190, 0, 15, 172, 20, 18, 14, 81, 13, 15, 173, 4, 19, 8, 153, 29, 15, 189, 0, 32, 7, 93, 5, 15, 126, 0, 33, 47, 0, 255, 231, 7, 4, 5, 129, 1, 15, 70, 14, 32, 15, 126, 0, 23, 15, 196, 0, 1, 9, 203, 0, 15, 118, 2, 26, 9, 242, 18, 14, 86, 10, 15, 189, 0, 13, 5, 57, 20, 47, 0, 255, 165, 6, 21, 31, 255, 6, 14, 1, 15, 39, 6, 19, 7, 28, 9, 12, 12, 12, 3, 25, 0, 15, 255, 15, 18, 8, 6, 14, 6, 68, 14, 15, 196, 14, 24, 15, 118, 2, 37, 31, 0, 71, 12, 4, 3, 8, 0, 15, 169, 5, 32, 8, 9, 3, 15, 98, 7, 32, 15, 66, 15, 23, 7, 192, 15, 9, 77, 0, 3, 14, 0, 15, 58, 17, 19, 8, 159, 5, 5, 4, 1, 15, 160, 23, 18, 15, 183, 0, 2, 6, 223, 24, 15, 78, 12, 37, 4, 15, 0, 15, 106, 5, 39, 47, 255, 0, 110, 4, 23, 14, 7, 0, 14, 227, 22, 15, 11, 13, 6, 6, 49, 0, 12, 14, 0, 15, 121, 17, 22, 15, 254, 3, 0, 14, 220, 8, 15, 35, 7, 2, 11, 7, 0, 31, 0, 70, 14, 24, 31, 255, 7, 0, 3, 15, 125, 16, 18, 15, 49, 1, 0, 7, 16, 16, 15, 165, 6, 27, 13, 25, 13, 15, 43, 5, 21, 47, 255, 0, 35, 7, 42, 15, 186, 1, 3, 47, 0, 255, 94, 8, 27, 31, 0, 43, 5, 32, 6, 32, 4, 14, 188, 0, 15, 63, 0, 19, 14, 51, 3, 15, 78, 12, 28, 11, 204, 0, 31, 255, 47, 4, 22, 10, 58, 3, 12, 64, 0, 15, 110, 4, 25, 9, 84, 11, 15, 15, 12, 25, 6, 215, 9, 3, 143, 9, 160, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0 ]);
+ Module["FS_createDataFile"]("/", "data.pod", fileData0, true, true, false);
+ }
+ if (Module["calledRun"]) {
+ runWithFS();
+ } else {
+ if (!Module["preRun"]) Module["preRun"] = [];
+ Module["preRun"].push(runWithFS);
+ }
+ };
+ loadPackage({
+ "files": []
+ });
+})();
+
+var moduleOverrides = {};
+
+var key;
+
+for (key in Module) {
+ if (Module.hasOwnProperty(key)) {
+ moduleOverrides[key] = Module[key];
+ }
+}
+
+Module["arguments"] = [];
+
+Module["thisProgram"] = "./this.program";
+
+Module["quit"] = function(status, toThrow) {
+ throw toThrow;
+};
+
+Module["preRun"] = [];
+
+Module["postRun"] = [];
+
+var ENVIRONMENT_IS_WEB = false;
+
+var ENVIRONMENT_IS_WORKER = false;
+
+var ENVIRONMENT_IS_NODE = false;
+
+var ENVIRONMENT_IS_SHELL = false;
+
+ENVIRONMENT_IS_WEB = typeof window === "object";
+
+ENVIRONMENT_IS_WORKER = typeof importScripts === "function";
+
+ENVIRONMENT_IS_NODE = typeof process === "object" && typeof require === "function" && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER;
+
+ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
+
+var scriptDirectory = "";
+
+function locateFile(path) {
+ if (Module["locateFile"]) {
+ return Module["locateFile"](path, scriptDirectory);
+ } else {
+ return scriptDirectory + path;
+ }
+}
+
+if (ENVIRONMENT_IS_NODE) {
+ scriptDirectory = __dirname + "/";
+ var nodeFS;
+ var nodePath;
+ Module["read"] = function shell_read(filename, binary) {
+ var ret;
+ ret = tryParseAsDataURI(filename);
+ if (!ret) {
+ if (!nodeFS) nodeFS = require("fs");
+ if (!nodePath) nodePath = require("path");
+ filename = nodePath["normalize"](filename);
+ ret = nodeFS["readFileSync"](filename);
+ }
+ return binary ? ret : ret.toString();
+ };
+ Module["readBinary"] = function readBinary(filename) {
+ var ret = Module["read"](filename, true);
+ if (!ret.buffer) {
+ ret = new Uint8Array(ret);
+ }
+ assert(ret.buffer);
+ return ret;
+ };
+ if (process["argv"].length > 1) {
+ Module["thisProgram"] = process["argv"][1].replace(/\\/g, "/");
+ }
+ Module["arguments"] = process["argv"].slice(2);
+ if (typeof module !== "undefined") {
+ module["exports"] = Module;
+ }
+ process["on"]("uncaughtException", function(ex) {
+ if (!(ex instanceof ExitStatus)) {
+ throw ex;
+ }
+ });
+ process["on"]("unhandledRejection", abort);
+ Module["quit"] = function(status) {
+ process["exit"](status);
+ };
+ Module["inspect"] = function() {
+ return "[Emscripten Module object]";
+ };
+} else if (ENVIRONMENT_IS_SHELL) {
+ if (typeof read != "undefined") {
+ Module["read"] = function shell_read(f) {
+ var data = tryParseAsDataURI(f);
+ if (data) {
+ return intArrayToString(data);
+ }
+ return read(f);
+ };
+ }
+ Module["readBinary"] = function readBinary(f) {
+ var data;
+ data = tryParseAsDataURI(f);
+ if (data) {
+ return data;
+ }
+ if (typeof readbuffer === "function") {
+ return new Uint8Array(readbuffer(f));
+ }
+ data = read(f, "binary");
+ assert(typeof data === "object");
+ return data;
+ };
+ if (typeof scriptArgs != "undefined") {
+ Module["arguments"] = scriptArgs;
+ } else if (typeof arguments != "undefined") {
+ Module["arguments"] = arguments;
+ }
+ if (typeof quit === "function") {
+ Module["quit"] = function(status) {
+ quit(status);
+ };
+ }
+} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
+ if (ENVIRONMENT_IS_WORKER) {
+ scriptDirectory = self.location.href;
+ } else if (document.currentScript) {
+ scriptDirectory = document.currentScript.src;
+ }
+ if (scriptDirectory.indexOf("blob:") !== 0) {
+ scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1);
+ } else {
+ scriptDirectory = "";
+ }
+ Module["read"] = function shell_read(url) {
+ try {
+ var xhr = new XMLHttpRequest();
+ xhr.open("GET", url, false);
+ xhr.send(null);
+ return xhr.responseText;
+ } catch (err) {
+ var data = tryParseAsDataURI(url);
+ if (data) {
+ return intArrayToString(data);
+ }
+ throw err;
+ }
+ };
+ if (ENVIRONMENT_IS_WORKER) {
+ Module["readBinary"] = function readBinary(url) {
+ try {
+ var xhr = new XMLHttpRequest();
+ xhr.open("GET", url, false);
+ xhr.responseType = "arraybuffer";
+ xhr.send(null);
+ return new Uint8Array(xhr.response);
+ } catch (err) {
+ var data = tryParseAsDataURI(url);
+ if (data) {
+ return data;
+ }
+ throw err;
+ }
+ };
+ }
+ Module["readAsync"] = function readAsync(url, onload, onerror) {
+ var xhr = new XMLHttpRequest();
+ xhr.open("GET", url, true);
+ xhr.responseType = "arraybuffer";
+ xhr.onload = function xhr_onload() {
+ if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
+ onload(xhr.response);
+ return;
+ }
+ var data = tryParseAsDataURI(url);
+ if (data) {
+ onload(data.buffer);
+ return;
+ }
+ onerror();
+ };
+ xhr.onerror = onerror;
+ xhr.send(null);
+ };
+ Module["setWindowTitle"] = function(title) {
+ document.title = title;
+ };
+} else {}
+
+var out = Module["print"] || (typeof console !== "undefined" ? console.log.bind(console) : typeof print !== "undefined" ? print : null);
+
+var err = Module["printErr"] || (typeof printErr !== "undefined" ? printErr : typeof console !== "undefined" && console.warn.bind(console) || out);
+
+for (key in moduleOverrides) {
+ if (moduleOverrides.hasOwnProperty(key)) {
+ Module[key] = moduleOverrides[key];
+ }
+}
+
+moduleOverrides = undefined;
+
+var STACK_ALIGN = 16;
+
+function dynamicAlloc(size) {
+ var ret = HEAP32[DYNAMICTOP_PTR >> 2];
+ var end = ret + size + 15 & -16;
+ if (end <= _emscripten_get_heap_size()) {
+ HEAP32[DYNAMICTOP_PTR >> 2] = end;
+ } else {
+ return 0;
+ }
+ return ret;
+}
+
+function getNativeTypeSize(type) {
+ switch (type) {
+ case "i1":
+ case "i8":
+ return 1;
+
+ case "i16":
+ return 2;
+
+ case "i32":
+ return 4;
+
+ case "i64":
+ return 8;
+
+ case "float":
+ return 4;
+
+ case "double":
+ return 8;
+
+ default:
+ {
+ if (type[type.length - 1] === "*") {
+ return 4;
+ } else if (type[0] === "i") {
+ var bits = parseInt(type.substr(1));
+ assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type);
+ return bits / 8;
+ } else {
+ return 0;
+ }
+ }
+ }
+}
+
+function warnOnce(text) {
+ if (!warnOnce.shown) warnOnce.shown = {};
+ if (!warnOnce.shown[text]) {
+ warnOnce.shown[text] = 1;
+ err(text);
+ }
+}
+
+var jsCallStartIndex = 1;
+
+var functionPointers = new Array(0);
+
+var funcWrappers = {};
+
+function dynCall(sig, ptr, args) {
+ if (args && args.length) {
+ return Module["dynCall_" + sig].apply(null, [ ptr ].concat(args));
+ } else {
+ return Module["dynCall_" + sig].call(null, ptr);
+ }
+}
+
+var tempRet0 = 0;
+
+var setTempRet0 = function(value) {
+ tempRet0 = value;
+};
+
+var getTempRet0 = function() {
+ return tempRet0;
+};
+
+var GLOBAL_BASE = 8;
+
+function getValue(ptr, type, noSafe) {
+ type = type || "i8";
+ if (type.charAt(type.length - 1) === "*") type = "i32";
+ switch (type) {
+ case "i1":
+ return HEAP8[ptr >> 0];
+
+ case "i8":
+ return HEAP8[ptr >> 0];
+
+ case "i16":
+ return HEAP16[ptr >> 1];
+
+ case "i32":
+ return HEAP32[ptr >> 2];
+
+ case "i64":
+ return HEAP32[ptr >> 2];
+
+ case "float":
+ return HEAPF32[ptr >> 2];
+
+ case "double":
+ return HEAPF64[ptr >> 3];
+
+ default:
+ abort("invalid type for getValue: " + type);
+ }
+ return null;
+}
+
+var ABORT = false;
+
+var EXITSTATUS = 0;
+
+function assert(condition, text) {
+ if (!condition) {
+ abort("Assertion failed: " + text);
+ }
+}
+
+function getCFunc(ident) {
+ var func = Module["_" + ident];
+ assert(func, "Cannot call unknown function " + ident + ", make sure it is exported");
+ return func;
+}
+
+function ccall(ident, returnType, argTypes, args, opts) {
+ var toC = {
+ "string": function(str) {
+ var ret = 0;
+ if (str !== null && str !== undefined && str !== 0) {
+ var len = (str.length << 2) + 1;
+ ret = stackAlloc(len);
+ stringToUTF8(str, ret, len);
+ }
+ return ret;
+ },
+ "array": function(arr) {
+ var ret = stackAlloc(arr.length);
+ writeArrayToMemory(arr, ret);
+ return ret;
+ }
+ };
+ function convertReturnValue(ret) {
+ if (returnType === "string") return UTF8ToString(ret);
+ if (returnType === "boolean") return Boolean(ret);
+ return ret;
+ }
+ var func = getCFunc(ident);
+ var cArgs = [];
+ var stack = 0;
+ if (args) {
+ for (var i = 0; i < args.length; i++) {
+ var converter = toC[argTypes[i]];
+ if (converter) {
+ if (stack === 0) stack = stackSave();
+ cArgs[i] = converter(args[i]);
+ } else {
+ cArgs[i] = args[i];
+ }
+ }
+ }
+ var ret = func.apply(null, cArgs);
+ ret = convertReturnValue(ret);
+ if (stack !== 0) stackRestore(stack);
+ return ret;
+}
+
+function setValue(ptr, value, type, noSafe) {
+ type = type || "i8";
+ if (type.charAt(type.length - 1) === "*") type = "i32";
+ switch (type) {
+ case "i1":
+ HEAP8[ptr >> 0] = value;
+ break;
+
+ case "i8":
+ HEAP8[ptr >> 0] = value;
+ break;
+
+ case "i16":
+ HEAP16[ptr >> 1] = value;
+ break;
+
+ case "i32":
+ HEAP32[ptr >> 2] = value;
+ break;
+
+ case "i64":
+ tempI64 = [ value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= +1 ? tempDouble > +0 ? (Math_min(+Math_floor(tempDouble / +4294967296), +4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / +4294967296) >>> 0 : 0) ],
+ HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1];
+ break;
+
+ case "float":
+ HEAPF32[ptr >> 2] = value;
+ break;
+
+ case "double":
+ HEAPF64[ptr >> 3] = value;
+ break;
+
+ default:
+ abort("invalid type for setValue: " + type);
+ }
+}
+
+var ALLOC_NORMAL = 0;
+
+var ALLOC_NONE = 3;
+
+function allocate(slab, types, allocator, ptr) {
+ var zeroinit, size;
+ if (typeof slab === "number") {
+ zeroinit = true;
+ size = slab;
+ } else {
+ zeroinit = false;
+ size = slab.length;
+ }
+ var singleType = typeof types === "string" ? types : null;
+ var ret;
+ if (allocator == ALLOC_NONE) {
+ ret = ptr;
+ } else {
+ ret = [ _malloc, stackAlloc, dynamicAlloc ][allocator](Math.max(size, singleType ? 1 : types.length));
+ }
+ if (zeroinit) {
+ var stop;
+ ptr = ret;
+ assert((ret & 3) == 0);
+ stop = ret + (size & ~3);
+ for (;ptr < stop; ptr += 4) {
+ HEAP32[ptr >> 2] = 0;
+ }
+ stop = ret + size;
+ while (ptr < stop) {
+ HEAP8[ptr++ >> 0] = 0;
+ }
+ return ret;
+ }
+ if (singleType === "i8") {
+ if (slab.subarray || slab.slice) {
+ HEAPU8.set(slab, ret);
+ } else {
+ HEAPU8.set(new Uint8Array(slab), ret);
+ }
+ return ret;
+ }
+ var i = 0, type, typeSize, previousType;
+ while (i < size) {
+ var curr = slab[i];
+ type = singleType || types[i];
+ if (type === 0) {
+ i++;
+ continue;
+ }
+ if (type == "i64") type = "i32";
+ setValue(ret + i, curr, type);
+ if (previousType !== type) {
+ typeSize = getNativeTypeSize(type);
+ previousType = type;
+ }
+ i += typeSize;
+ }
+ return ret;
+}
+
+function getMemory(size) {
+ if (!runtimeInitialized) return dynamicAlloc(size);
+ return _malloc(size);
+}
+
+var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined;
+
+function UTF8ArrayToString(u8Array, idx, maxBytesToRead) {
+ var endIdx = idx + maxBytesToRead;
+ var endPtr = idx;
+ while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr;
+ if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
+ return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
+ } else {
+ var str = "";
+ while (idx < endPtr) {
+ var u0 = u8Array[idx++];
+ if (!(u0 & 128)) {
+ str += String.fromCharCode(u0);
+ continue;
+ }
+ var u1 = u8Array[idx++] & 63;
+ if ((u0 & 224) == 192) {
+ str += String.fromCharCode((u0 & 31) << 6 | u1);
+ continue;
+ }
+ var u2 = u8Array[idx++] & 63;
+ if ((u0 & 240) == 224) {
+ u0 = (u0 & 15) << 12 | u1 << 6 | u2;
+ } else {
+ u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63;
+ }
+ if (u0 < 65536) {
+ str += String.fromCharCode(u0);
+ } else {
+ var ch = u0 - 65536;
+ str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
+ }
+ }
+ }
+ return str;
+}
+
+function UTF8ToString(ptr, maxBytesToRead) {
+ return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
+}
+
+function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
+ if (!(maxBytesToWrite > 0)) return 0;
+ var startIdx = outIdx;
+ var endIdx = outIdx + maxBytesToWrite - 1;
+ for (var i = 0; i < str.length; ++i) {
+ var u = str.charCodeAt(i);
+ if (u >= 55296 && u <= 57343) {
+ var u1 = str.charCodeAt(++i);
+ u = 65536 + ((u & 1023) << 10) | u1 & 1023;
+ }
+ if (u <= 127) {
+ if (outIdx >= endIdx) break;
+ outU8Array[outIdx++] = u;
+ } else if (u <= 2047) {
+ if (outIdx + 1 >= endIdx) break;
+ outU8Array[outIdx++] = 192 | u >> 6;
+ outU8Array[outIdx++] = 128 | u & 63;
+ } else if (u <= 65535) {
+ if (outIdx + 2 >= endIdx) break;
+ outU8Array[outIdx++] = 224 | u >> 12;
+ outU8Array[outIdx++] = 128 | u >> 6 & 63;
+ outU8Array[outIdx++] = 128 | u & 63;
+ } else {
+ if (outIdx + 3 >= endIdx) break;
+ outU8Array[outIdx++] = 240 | u >> 18;
+ outU8Array[outIdx++] = 128 | u >> 12 & 63;
+ outU8Array[outIdx++] = 128 | u >> 6 & 63;
+ outU8Array[outIdx++] = 128 | u & 63;
+ }
+ }
+ outU8Array[outIdx] = 0;
+ return outIdx - startIdx;
+}
+
+function stringToUTF8(str, outPtr, maxBytesToWrite) {
+ return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
+}
+
+function lengthBytesUTF8(str) {
+ var len = 0;
+ for (var i = 0; i < str.length; ++i) {
+ var u = str.charCodeAt(i);
+ if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023;
+ if (u <= 127) ++len; else if (u <= 2047) len += 2; else if (u <= 65535) len += 3; else len += 4;
+ }
+ return len;
+}
+
+var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined;
+
+function allocateUTF8OnStack(str) {
+ var size = lengthBytesUTF8(str) + 1;
+ var ret = stackAlloc(size);
+ stringToUTF8Array(str, HEAP8, ret, size);
+ return ret;
+}
+
+function writeArrayToMemory(array, buffer) {
+ HEAP8.set(array, buffer);
+}
+
+function writeAsciiToMemory(str, buffer, dontAddNull) {
+ for (var i = 0; i < str.length; ++i) {
+ HEAP8[buffer++ >> 0] = str.charCodeAt(i);
+ }
+ if (!dontAddNull) HEAP8[buffer >> 0] = 0;
+}
+
+function demangle(func) {
+ return func;
+}
+
+function demangleAll(text) {
+ var regex = /__Z[\w\d_]+/g;
+ return text.replace(regex, function(x) {
+ var y = demangle(x);
+ return x === y ? x : y + " [" + x + "]";
+ });
+}
+
+function jsStackTrace() {
+ var err = new Error();
+ if (!err.stack) {
+ try {
+ throw new Error(0);
+ } catch (e) {
+ err = e;
+ }
+ if (!err.stack) {
+ return "(no stack trace available)";
+ }
+ }
+ return err.stack.toString();
+}
+
+function stackTrace() {
+ var js = jsStackTrace();
+ if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"]();
+ return demangleAll(js);
+}
+
+var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
+
+function updateGlobalBufferViews() {
+ Module["HEAP8"] = HEAP8 = new Int8Array(buffer);
+ Module["HEAP16"] = HEAP16 = new Int16Array(buffer);
+ Module["HEAP32"] = HEAP32 = new Int32Array(buffer);
+ Module["HEAPU8"] = HEAPU8 = new Uint8Array(buffer);
+ Module["HEAPU16"] = HEAPU16 = new Uint16Array(buffer);
+ Module["HEAPU32"] = HEAPU32 = new Uint32Array(buffer);
+ Module["HEAPF32"] = HEAPF32 = new Float32Array(buffer);
+ Module["HEAPF64"] = HEAPF64 = new Float64Array(buffer);
+}
+
+var STACK_BASE = 3042736, DYNAMIC_BASE = 8285616, DYNAMICTOP_PTR = 3042480;
+
+var TOTAL_STACK = 5242880;
+
+var TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 134217728;
+
+if (TOTAL_MEMORY < TOTAL_STACK) err("TOTAL_MEMORY should be larger than TOTAL_STACK, was " + TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")");
+
+if (Module["buffer"]) {
+ buffer = Module["buffer"];
+} else {
+ {
+ buffer = new ArrayBuffer(TOTAL_MEMORY);
+ }
+ Module["buffer"] = buffer;
+}
+
+updateGlobalBufferViews();
+
+HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;
+
+function callRuntimeCallbacks(callbacks) {
+ while (callbacks.length > 0) {
+ var callback = callbacks.shift();
+ if (typeof callback == "function") {
+ callback();
+ continue;
+ }
+ var func = callback.func;
+ if (typeof func === "number") {
+ if (callback.arg === undefined) {
+ Module["dynCall_v"](func);
+ } else {
+ Module["dynCall_vi"](func, callback.arg);
+ }
+ } else {
+ func(callback.arg === undefined ? null : callback.arg);
+ }
+ }
+}
+
+var __ATPRERUN__ = [];
+
+var __ATINIT__ = [];
+
+var __ATMAIN__ = [];
+
+var __ATEXIT__ = [];
+
+var __ATPOSTRUN__ = [];
+
+var runtimeInitialized = false;
+
+var runtimeExited = false;
+
+function preRun() {
+ if (Module["preRun"]) {
+ if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ];
+ while (Module["preRun"].length) {
+ addOnPreRun(Module["preRun"].shift());
+ }
+ }
+ callRuntimeCallbacks(__ATPRERUN__);
+}
+
+function ensureInitRuntime() {
+ if (runtimeInitialized) return;
+ runtimeInitialized = true;
+ callRuntimeCallbacks(__ATINIT__);
+}
+
+function preMain() {
+ callRuntimeCallbacks(__ATMAIN__);
+}
+
+function exitRuntime() {
+ callRuntimeCallbacks(__ATEXIT__);
+ runtimeExited = true;
+}
+
+function postRun() {
+ if (Module["postRun"]) {
+ if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ];
+ while (Module["postRun"].length) {
+ addOnPostRun(Module["postRun"].shift());
+ }
+ }
+ callRuntimeCallbacks(__ATPOSTRUN__);
+}
+
+function addOnPreRun(cb) {
+ __ATPRERUN__.unshift(cb);
+}
+
+function addOnPostRun(cb) {
+ __ATPOSTRUN__.unshift(cb);
+}
+
+var Math_abs = Math.abs;
+
+var Math_ceil = Math.ceil;
+
+var Math_floor = Math.floor;
+
+var Math_min = Math.min;
+
+var runDependencies = 0;
+
+var runDependencyWatcher = null;
+
+var dependenciesFulfilled = null;
+
+function getUniqueRunDependency(id) {
+ return id;
+}
+
+function addRunDependency(id) {
+ runDependencies++;
+ if (Module["monitorRunDependencies"]) {
+ Module["monitorRunDependencies"](runDependencies);
+ }
+}
+
+function removeRunDependency(id) {
+ runDependencies--;
+ if (Module["monitorRunDependencies"]) {
+ Module["monitorRunDependencies"](runDependencies);
+ }
+ if (runDependencies == 0) {
+ if (runDependencyWatcher !== null) {
+ clearInterval(runDependencyWatcher);
+ runDependencyWatcher = null;
+ }
+ if (dependenciesFulfilled) {
+ var callback = dependenciesFulfilled;
+ dependenciesFulfilled = null;
+ callback();
+ }
+ }
+}
+
+Module["preloadedImages"] = {};
+
+Module["preloadedAudios"] = {};
+
+var memoryInitializer = null;
+
+var dataURIPrefix = "data:application/octet-stream;base64,";
+
+function isDataURI(filename) {
+ return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0;
+}
+
+var ASM_CONSTS = [ function() {
+ if (typeof _cartdat !== "undefined") return 1;
+ return 0;
+}, function() {
+ return _cartdat.length / 32768;
+}, function() {
+ _cdpos = _cdpos + 1;
+ return _cartdat[_cdpos - 1];
+}, function($0) {
+ ciii = $0;
+ iii = 0;
+}, function() {
+ iii = iii + 1;
+ return _cartname[ciii].charCodeAt(iii - 1);
+}, function() {
+ Module.pico8Reset = function() {
+ codo_command = 1;
+ };
+ Module.pico8ToggleSound = function() {
+ codo_command = 3;
+ };
+ Module.pico8TogglePaused = function() {
+ codo_command = 4;
+ };
+ Module.pico8SetPaused = function(p) {
+ codo_command = 5;
+ codo_command_p = 0;
+ if (p) codo_command_p = 1;
+ };
+ Module.pico8ToggleControlMenu = function() {
+ codo_command = 7;
+ };
+ Module.pico8DragOver = function() {
+ codo_command = 10;
+ };
+ Module.pico8DragStop = function() {
+ codo_command = 11;
+ };
+}, function() {
+ function mkdir_0(d) {
+ try {
+ stat = FS.stat(d);
+ console.log("found directory: " + d);
+ } catch (e) {
+ FS.mkdir(d);
+ console.log("created directory: " + d);
+ }
+ }
+ console.log("mounting /user_data");
+ mkdir_0("/user_data");
+ FS.mount(IDBFS, {}, "/user_data");
+ FS.syncfs(true, function(err) {
+ if (!err) {
+ console.log("codo: mounted filesystem.\n");
+ codo_mounted_filesystem = 1;
+ mkdir_0("/user_data/cdata");
+ mkdir_0("/user_data/cstore");
+ mkdir_0("/user_data/carts");
+ mkdir_0("/user_data/backup");
+ mkdir_0("/user_data/plates");
+ mkdir_0("/user_data/bbs");
+ mkdir_0("/user_data/bbs/carts");
+ mkdir_0("/user_data/bbs/labels");
+ } else {
+ console.log("** could not mount filesystem\n");
+ console.log(err);
+ }
+ });
+}, function() {
+ var val = 0;
+ if (window.location.pathname.indexOf("widget.php") >= 0) val = 1;
+ return val;
+}, function() {
+ var val = 0;
+ if (window.location.pathname.indexOf("pico-8.php") >= 0) val = 1;
+ return val;
+}, function($0, $1, $2, $3, $4, $5) {
+ if (typeof pico8_state !== "undefined") {
+ pico8_state.is_paused = $0;
+ pico8_state.sound_volume = $1;
+ pico8_state.frame_number = $2;
+ pico8_state.has_focus = $3;
+ pico8_state.show_dpad = $4;
+ pico8_state.request_pointer_lock = $5;
+ }
+}, function() {
+ var val = 0;
+ if (typeof codo_command !== "undefined") {
+ val = codo_command;
+ codo_command = 0;
+ }
+ return val;
+}, function() {
+ var val = 0;
+ if (typeof codo_command_p !== "undefined") {
+ val = codo_command_p;
+ codo_command_p = 0;
+ }
+ return val;
+}, function() {
+ button_i = 0;
+}, function() {
+ var val = -1;
+ if (typeof pico8_buttons !== "undefined") {
+ val = pico8_buttons[button_i];
+ button_i++;
+ }
+ return val;
+}, function() {
+ var val = 0;
+ if (typeof pico8_gamepads !== "undefined") {
+ val = pico8_gamepads.count;
+ }
+ return val;
+}, function() {
+ if (typeof on_module_load !== "undefined") {
+ if (on_module_load) on_module_load();
+ }
+}, function($0, $1, $2, $3, $4, $5) {
+ if (typeof p8img !== "undefined") {
+ p8img.src = "";
+ }
+ p8img = document.createElement("img");
+ p8img.src = UTF8ToString($0, $1);
+ p8img.style = "width:128px; height:128px; image-rendering: pixelated; -ms-interpolation-mode: nearest-neighbor;";
+ if (typeof p8imgholder === "undefined" || !p8imgholder) {
+ p8imgholder = document.createElement("div");
+ p8imgholder.style.cssText = "min-width:160px; display:table; position:fixed; top:20px; left:20px; padding:12px; background-color:#000; box-shadow: 2px 2px 8px rgba(16, 0, 48, 0.4);";
+ document.body.appendChild(p8imgholder);
+ }
+ if (p8imgholder) {
+ while (p8imgholder.childElementCount > 0) p8imgholder.removeChild(p8imgholder.firstChild);
+ var dismiss = document.createElement("div");
+ dismiss.style.cssText = "display:table; font-size:10pt; color:#fff; padding:4px; cursor:pointer; margin-left:10px; float:right";
+ dismiss.addEventListener("click", function() {
+ p8img.src = "";
+ while (p8imgholder.childElementCount > 0) p8imgholder.removeChild(p8imgholder.firstChild);
+ p8imgholder.style.display = "none";
+ }, false);
+ dismiss.innerHTML = "X";
+ p8imgholder.appendChild(dismiss);
+ p8imgholder.appendChild(p8img);
+ var info = document.createElement("div");
+ info.innerHTML = '<br> <font style="color:#bbb; font-size:8pt"><center> (right-click to save) </center></font>';
+ p8imgholder.appendChild(info);
+ if (p8imgholder.style.display == "none") p8imgholder.style.display = "";
+ }
+}, function() {
+ jsString = p8_dropped_cart;
+ if (!jsString) return 0;
+ var lengthBytes = lengthBytesUTF8(jsString) + 1;
+ var stringOnWasmHeap = _malloc(lengthBytes);
+ stringToUTF8(jsString, stringOnWasmHeap, lengthBytes);
+ return stringOnWasmHeap;
+}, function() {
+ jsString = p8_dropped_cart_name;
+ if (!jsString) return 0;
+ var lengthBytes = lengthBytesUTF8(jsString) + 1;
+ var stringOnWasmHeap2 = _malloc(lengthBytes);
+ stringToUTF8(jsString, stringOnWasmHeap2, lengthBytes);
+ return stringOnWasmHeap2;
+}, function($0, $1) {
+ if (typeof pico8_state !== "undefined") {
+ if (typeof pico8_state.system_messages === "undefined") pico8_state.system_messages = new Array();
+ pico8_state.system_messages.push(UTF8ToString($0, $1));
+ }
+}, function($0) {
+ var str = window.location.hostname;
+ return allocate(intArrayFromString(str), "i8", ALLOC_NORMAL);
+}, function($0, $1) {
+ if (typeof pico8_gpio !== "undefined") pico8_gpio[$0] = $1;
+}, function($0) {
+ var val = 0;
+ if (typeof pico8_gpio !== "undefined") val = pico8_gpio[$0];
+ return val;
+}, function() {
+ FS.syncfs(false, function(err) {});
+}, function() {
+ var val = 0;
+ if (typeof codo_mounted_filesystem !== "undefined") val = 1;
+ return val;
+}, function() {
+ return typeof p8_touch_detected === "undefined" || !p8_touch_detected ? 0 : 1;
+}, function() {
+ return document.hidden ? 1 : 0;
+}, function() {
+ if (typeof codo_key_buffer === "undefined") codo_key_buffer = [];
+ document.addEventListener("keydown", function(e) {
+ var val = -1;
+ if (e.key.length == 1) {
+ val = e.key.charCodeAt(0);
+ } else {
+ if (e.key == "Tab") val = 9;
+ if (e.key == "Enter") val = 13;
+ if (e.key == "Backspace") val = 8;
+ if (e.key == "Escape") val = 27;
+ if (val == -1) {}
+ }
+ var el = document.getElementById("codo_textarea");
+ codo_key_buffer.push(val);
+ });
+}, function() {
+}, function() {
+ document.addEventListener("wheel", function(e) {
+ dx = e.deltaX;
+ if (dx < 0) dx = -1;
+ if (dx > 0) dx = 1;
+ if (e.deltaMode == 2) dx *= 4;
+ if (typeof codo_wheel_dx !== "undefined") codo_wheel_dx -= dx;
+ dy = e.deltaY;
+ if (dy < 0) dy = -1;
+ if (dy > 0) dy = 1;
+ if (e.deltaMode == 2) dy *= 4;
+ if (typeof codo_wheel_dy !== "undefined") codo_wheel_dy -= dy;
+ });
+}, function($0) {
+ function audio_log(msg) {
+ if (window.console && window.console.log) {
+ window.console.log("[codo] audio_init_webaudio " + msg);
+ }
+ }
+ audio_log("audio_init");
+ var codo_audio_context;
+ if (typeof Module === "undefined") audio_log(" *** Module undefined"); else if (typeof Module.ccall === "undefined") audio_log(" **** Module.ccall undefined"); else {
+ var webAudioAPI = window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.oAudioContext || window.msAudioContext;
+ if (webAudioAPI) {
+ if (typeof pico8_audio_context !== "undefined") {
+ codo_audio_context = pico8_audio_context;
+ audio_log("found pico8_audio_context");
+ } else if (typeof voxatron_audio_context !== "undefined") {
+ codo_audio_context = voxatron_audio_context;
+ audio_log("found voxatron_audio_context");
+ } else {
+ codo_audio_context = new webAudioAPI();
+ audio_log("creating own audio context");
+ }
+ if (codo_audio_context) {
+ audio_log("Sample Rate: " + codo_audio_context.sampleRate);
+ audio_log("Buffer Size: " + $0);
+ node = codo_audio_context.createScriptProcessor($0, 1, 1);
+ node.onaudioprocess = function(e) {
+ var data = e.outputBuffer.getChannelData(0);
+ var r = 22050 / codo_audio_context.sampleRate;
+ var len0 = Math.floor(data.length * r);
+ var len1 = data.length;
+ var ptr = Module.ccall("mix_0", "number", [ "number", "number" ], [ len0, len1 ]);
+ for (var j = 0; j < data.length; j++) data[j] = Module.getValue(ptr + j * 2, "i16") / 32768;
+ };
+ node.connect(codo_audio_context.destination);
+ } else {
+ audio_log("** failed to create codo_audio_context");
+ }
+ } else {
+ audio_log("** webAudioAPI not found");
+ }
+ }
+}, function() {
+ return document.pointerLockElement ? 1 : 0;
+}, function() {
+ var ret = 0;
+ if (typeof pico8_mouse !== "undefined" && pico8_mouse.length > 0) ret = 1;
+ return ret;
+}, function() {
+ return pico8_mouse[0];
+}, function() {
+ return pico8_mouse[1];
+}, function() {
+ if (typeof codo_key_buffer === "undefined") codo_key_buffer = [];
+ return codo_key_buffer.length > 0 ? 1 : 0;
+}, function() {
+ if (typeof codo_key_buffer === "undefined") codo_key_buffer = [];
+ let val = codo_key_buffer.shift() | 0;
+ return val;
+}, function() {
+ temp = typeof codo_wheel_dx !== "undefined" ? codo_wheel_dx : 0;
+ codo_wheel_dx = 0;
+ return temp;
+}, function() {
+ temp = typeof codo_wheel_dy !== "undefined" ? codo_wheel_dy : 0;
+ codo_wheel_dy = 0;
+ return temp;
+}, function() {
+ if (document.hidden) return 0;
+ el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
+ if (el) {
+ if (el == document.activeElement) return 1;
+ }
+ el = document.activeElement;
+ return !el || el.tagName.toLowerCase() != "input" && el.tagName.toLowerCase() != "textarea";
+}, function() {
+ el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
+ if (el && el.style.display != "none") {
+ el.focus();
+ el.select();
+ }
+}, function() {
+ el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
+ if (el && el.style.display != "none") {
+ el.select();
+ }
+}, function() {
+ return pico8_mouse[2];
+}, function() {
+ _dir_name = "";
+}, function($0) {
+ _dir_name = _dir_name + String.fromCharCode($0);
+}, function() {
+ console.log("@@ mkdir directory (nocheck): " + _dir_name);
+ FS.createPath("", _dir_name, true, true);
+}, function() {
+ Module["canvas"].exitPointerLock();
+}, function() {
+ el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
+ if (el) {}
+}, function() {
+ _codo_str_out = "";
+}, function($0) {
+ _codo_str_out = _codo_str_out + String.fromCharCode($0);
+}, function() {
+ el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
+ if (el) {
+ el.value = _codo_str_out;
+ return 0;
+ } else return 1;
+}, function() {
+ el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
+ if (el && el.style.display == "none" && (typeof p8_touch_detected === "undefined" || !p8_touch_detected)) {
+ console.log("@@ enabling codo_textfield");
+ el.style.display = "";
+ el.focus();
+ el.select();
+ }
+}, function() {
+ el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
+ if (el && el.style.display != "none" && el.value != "") {
+ _codo_text_value = el.value;
+ return 1;
+ }
+ return 0;
+}, function() {
+ return typeof _codo_text_value === "undefined" ? 1 : 0;
+}, function() {
+ iii = 0;
+}, function() {
+ iii = iii + 1;
+ return _codo_text_value.charCodeAt(iii - 1);
+} ];
+
+function _emscripten_asm_const_i(code) {
+ return ASM_CONSTS[code]();
+}
+
+function _emscripten_asm_const_ii(code, a0) {
+ return ASM_CONSTS[code](a0);
+}
+
+function _emscripten_asm_const_iiiiiii(code, a0, a1, a2, a3, a4, a5) {
+ return ASM_CONSTS[code](a0, a1, a2, a3, a4, a5);
+}
+
+function _emscripten_asm_const_iii(code, a0, a1) {
+ return ASM_CONSTS[code](a0, a1);
+}
+
+__ATINIT__.push({
+ func: function() {
+ ___emscripten_environ_constructor();
+ }
+});
+
+memoryInitializer = "data:application/octet-stream;base64,AAAAAAAAAACFsQAAxd0AAI6xAACWsQAAn7EAAKaxAACtsQAAZ90AAJaxAACzsQAAurEAAMCxAAAAAAAAAAAAAAAACAgICAgAAAAAAAAAAAAAAAAAAAAAAAAMBAQEBAQEBAQEBAQEBAQEFhYWFhYWFhYWFgQEBAQEBAQVFRUVFRUFBQUFBQUFBQUFBQUFBQUFBQUFBQQEBAQFBBUVFRUVFQUFBQUFBQUFBQUFBQUFBQUFBQUFBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBxQVRQUFxsPBA8VGx8fHx8fHx8fHx8fHx8fGB8YGBgYGBgaCK8vLyE5FRUEGJiBGIUUVAXAAAAAAAAAAAAAAAAAQICAwMDAwQEBAQEBAQEBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlt0AAL/dAACd3QAAgN0AAIXdAABw3QAAs94AAHTdAABn3QAAut0AAHjdAADJ3QAAoN0AAMXdAACS3QAAmt0AAK3dAACm3QAAe90AAK7eAAC03QAAjN0AAHr6AAAjtAAA67UAAO61AADxtQAA9LUAAPe1AACHvgAA+rUAAAO2AAAKtgAAAAAAAAAAAAAAAAAAEBAQEBERERERERQTCAgGBgcHCQkJCQkJCQkJCQUFEREoKCgoKCgPDgMDAwMDAwMDAwMDAwICAQEAAAAAAAAAALa6AAC+ugAAyboAAM66AADVugAA27oAAOC6AADmugAA7LoAAPK6AAD4ugAA/roAAAS7AAAKuwAAD7sAABW7AAAbuwAAIbsAACi7AAAvuwAANrsAADy7AABDuwAASrsAAFK7AABauwAAYLsAAGW7AABquwAAc7sAAAAAAAAAAAAAqt8AAJPfAADA5gAAxOYAAK/fAAC83wAAl98AAMvmAACN3wAAit8AAKDfAACl3wAA1uYAAOTmAADK3wAAz98AAPLmAAD85gAA1t8AAJrfAABf6AAADr0AAM/mAAC23wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBPv///z80NTY3ODk6Ozw9/////v///wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZ////////GhscHR4fICEiIyQlJicoKSorLC0uLzAxMjO53gAAvt4AAMPeAADI3gAAzd4AANLeAADX3gAA3N4AAOHeAAAAAAAAAAAAAAAAAAAQAQIDBAUGBwgJCgsMDQ4PAAECAwQFBgcICQoLDA0ODwAAgIAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEhISEhISEhAAAAAAAAAAAAAAAAAAAAAAAA/wAAARITJBXWZ0hJmjvcXY7vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAABAAAABQAAAAEAAAAFAAAABQAAAAUAAAABAAAAAQAAAAEAAAAFAAAAAAAAAAEAAAADAAAABQAAAAQAAAACAAAACwAAAA8AAAAHAAAADAAAAA0AAAAJAAAACAAAAAYAAAAKAAAADgAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBCAgICAgICAgICAgICAgICAAAAAAAAAAAAAAAAAAAAAAAAAAJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoQ7wAAHO8AACjvAAA07wAAQO8AAEvvAABW7wAAYu8AAG7vAAB67wAAhu8AAJHvAACc7wAAAAAAAAAAAAAAAAAA0e4AANbuAADc7gAA3+4AAOTuAADu7gAA+O4AAPruAAD87gAA/u4AAADvAAAE7wAABu8AAAAAAAAAAAAAAAAAABfzAAAg8wAAJ/MAADPzAAA98wAARfMAAFDzAABa8wAAZPMAAG3zAAB18wAAf/MAAAAAAAAAAAAAAAAAAAAAAACYbC4AiPMAAI7zAACU8wAAmvMAAKDzAACm8wAArPMAAAAAAAAAAAAAAAAAAAAAAACYbC4AsvMAAMHzAADS8wAA4/MAAPLzAAAE9AAAGvQAAJhsLgAp9AAAMfQAADv0AABF9AAAVvQAAGH0AABw9AAAY29kbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAQKCgAAAAofCh8KHxQfBR8RAgQIEQgUHRINBAQAAAAECAgIBAQCAgIEFQ4fDhUEBB8EBAAAAAgQAAAfAAAAAAAABAECBAgQHxERER8EDAQEHx8BHxAfHwEHAR8RER8BAR8QHwEfEBAfER8fAQEBAR8RHxEfHxEfAQEABAAEAAAEAAQIAwwQDAMADgAOABgGAQYYHwEHAAQfER0VHR8RHxERHhEeER8PEBAQDx4REREfHxAcEB8fEB4QEA4QEBEPEREfEREOBAQEDgICAhIMEhQYFBIQEBAQHxEbFRERERkVExEOERERDh4RHhAQHxEREx8eER4REQ8QDgEeHwQEBAQRERERDhEREQoEEREVGxERCgQKERERDgQEHwIECB8MCAgIDBAIBAIBBgICAgYECgAAAAAAAAAfBAIAAAAfER8RER4RHhEfDxAQEA8eERERHx8QHBAfHxAeEBAOEBARDxERHxERDgQEBA4CAgISDBIUGBQSEBAQEB8RGxUREREZFRMRDhEREQ4eER4QEB8RERMfHhEeEREPEA4BHh8EBAQEEREREQ4REREKBBERFRsREQoEChEREQ4EBB8CBAgfBAQIBAQEBAQEBAQEAgQEBQoAAAAAAAAAHwAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP7/AAD+/wAA/v8AAP7/AAD+/wAA/f8AAP3/AAD9/wAA/f8AAPz/AAD8/wAA/P8AAPz/AAD7/wAA+/8AAPv/AAD6/wAA+v8AAPr/AAD5/wAA+f8AAPn/AAD4/wAA+P8AAPf/AAD3/wAA9/8AAPb/AAD2/wAA9f8AAPX/AAD0/wAA9P8AAPP/AADz/wAA8v8AAPL/AADx/wAA8f8AAPD/AADw/wAA7/8AAO//AADu/wAA7f8AAO3/AADs/wAA7P8AAOv/AADq/wAA6v8AAOn/AADo/wAA6P8AAOf/AADm/wAA5v8AAOX/AADk/wAA4/8AAOP/AADi/wAA4f8AAOD/AADg/wAA3/8AAN7/AADd/wAA3P8AANz/AADb/wAA2v8AANn/AADY/wAA1/8AANb/AADV/wAA1f8AANT/AADT/wAA0v8AANH/AADQ/wAAz/8AAM7/AADN/wAAzP8AAMv/AADK/wAAyf8AAMj/AADH/wAAxv8AAMX/AADE/wAAwv8AAMH/AADA/wAAv/8AAL7/AAC9/wAAvP8AALv/AAC5/wAAuP8AALf/AAC2/wAAtf8AALT/AACy/wAAsf8AALD/AACv/wAArf8AAKz/AACr/wAAqf8AAKj/AACn/wAApv8AAKT/AACj/wAAov8AAKD/AACf/wAAnf8AAJz/AACb/wAAmf8AAJj/AACW/wAAlf8AAJT/AACS/wAAkf8AAI//AACO/wAAjP8AAIv/AACJ/wAAiP8AAIb/AACF/wAAg/8AAIL/AACA/wAAfv8AAH3/AAB7/wAAev8AAHj/AAB2/wAAdf8AAHP/AABx/wAAcP8AAG7/AABs/wAAa/8AAGn/AABn/wAAZv8AAGT/AABi/wAAYP8AAF//AABd/wAAW/8AAFn/AABY/wAAVv8AAFT/AABS/wAAUP8AAE7/AABN/wAAS/8AAEn/AABH/wAARf8AAEP/AABB/wAAP/8AAD3/AAA7/wAAOv8AADj/AAA2/wAANP8AADL/AAAw/wAALv8AACz/AAAq/wAAKP8AACX/AAAj/wAAIf8AAB//AAAd/wAAG/8AABn/AAAX/wAAFf8AABP/AAAQ/wAADv8AAAz/AAAK/wAACP8AAAb/AAAD/wAAAf8AAP/+AAD9/gAA+/4AAPj+AAD2/gAA9P4AAPH+AADv/gAA7f4AAOv+AADo/gAA5v4AAOT+AADh/gAA3/4AAN3+AADa/gAA2P4AANX+AADT/gAA0f4AAM7+AADM/gAAyf4AAMf+AADE/gAAwv4AAL/+AAC9/gAAuv4AALj+AAC1/gAAs/4AALD+AACu/gAAq/4AAKn+AACm/gAApP4AAKH+AACe/gAAnP4AAJn+AACX/gAAlP4AAJH+AACP/gAAjP4AAIn+AACH/gAAhP4AAIH+AAB+/gAAfP4AAHn+AAB2/gAAc/4AAHH+AABu/gAAa/4AAGj+AABm/gAAY/4AAGD+AABd/gAAWv4AAFf+AABV/gAAUv4AAE/+AABM/gAASf4AAEb+AABD/gAAQP4AAD3+AAA6/gAAN/4AADT+AAAx/gAALv4AACv+AAAo/gAAJf4AACL+AAAf/gAAHP4AABn+AAAW/gAAE/4AABD+AAAN/gAACv4AAAf+AAAE/gAAAf4AAP39AAD6/QAA9/0AAPT9AADx/QAA7v0AAOr9AADn/QAA5P0AAOH9AADd/QAA2v0AANf9AADU/QAA0P0AAM39AADK/QAAx/0AAMP9AADA/QAAvf0AALn9AAC2/QAAs/0AAK/9AACs/QAAqP0AAKX9AACi/QAAnv0AAJv9AACX/QAAlP0AAJD9AACN/QAAif0AAIb9AACD/QAAf/0AAHz9AAB4/QAAdP0AAHH9AABt/QAAav0AAGb9AABj/QAAX/0AAFv9AABY/QAAVP0AAFH9AABN/QAASf0AAEb9AABC/QAAPv0AADv9AAA3/QAAM/0AADD9AAAs/QAAKP0AACT9AAAh/QAAHf0AABn9AAAV/QAAEv0AAA79AAAK/QAABv0AAAL9AAD+/AAA+/wAAPf8AADz/AAA7/wAAOv8AADn/AAA4/wAAN/8AADc/AAA2PwAANT8AADQ/AAAzPwAAMj8AADE/AAAwPwAALz8AAC4/AAAtPwAALD8AACs/AAAqPwAAKT8AACg/AAAm/wAAJf8AACT/AAAj/wAAIv8AACH/AAAg/wAAH/8AAB7/AAAdvwAAHL8AABu/AAAavwAAGb8AABh/AAAXfwAAFn8AABV/AAAUfwAAEz8AABI/AAARPwAAD/8AAA7/AAAN/wAADP8AAAu/AAAKvwAACb8AAAh/AAAHfwAABj8AAAU/AAAEPwAAAv8AAAH/AAAAvwAAP77AAD6+wAA9fsAAPH7AADs+wAA6PsAAOP7AADf+wAA2vsAANb7AADR+wAAzfsAAMj7AADE+wAAv/sAALv7AAC2+wAAsfsAAK37AACo+wAApPsAAJ/7AACa+wAAlvsAAJH7AACM+wAAiPsAAIP7AAB++wAAevsAAHX7AABw+wAAa/sAAGf7AABi+wAAXfsAAFj7AABU+wAAT/sAAEr7AABF+wAAQPsAADz7AAA3+wAAMvsAAC37AAAo+wAAI/sAAB/7AAAa+wAAFfsAABD7AAAL+wAABvsAAAH7AAD8+gAA9/oAAPL6AADt+gAA6PoAAOP6AADe+gAA2foAANT6AADP+gAAyvoAAMX6AADA+gAAu/oAALb6AACx+gAArPoAAKf6AACh+gAAnPoAAJf6AACS+gAAjfoAAIj6AACD+gAAffoAAHj6AABz+gAAbvoAAGn6AABj+gAAXvoAAFn6AABU+gAATvoAAEn6AABE+gAAPvoAADn6AAA0+gAAL/oAACn6AAAk+gAAH/oAABn6AAAU+gAADvoAAAn6AAAE+gAA/vkAAPn5AADz+QAA7vkAAOj5AADj+QAA3vkAANj5AADT+QAAzfkAAMj5AADC+QAAvfkAALf5AACy+QAArPkAAKb5AACh+QAAm/kAAJb5AACQ+QAAivkAAIX5AAB/+QAAevkAAHT5AABu+QAAafkAAGP5AABd+QAAWPkAAFL5AABM+QAARvkAAEH5AAA7+QAANfkAADD5AAAq+QAAJPkAAB75AAAY+QAAE/kAAA35AAAH+QAAAfkAAPv4AAD1+AAA8PgAAOr4AADk+AAA3vgAANj4AADS+AAAzPgAAMb4AADA+AAAuvgAALT4AACv+AAAqfgAAKP4AACd+AAAl/gAAJH4AACL+AAAhfgAAH74AAB4+AAAcvgAAGz4AABm+AAAYPgAAFr4AABU+AAATvgAAEj4AABC+AAAO/gAADX4AAAv+AAAKfgAACP4AAAd+AAAFvgAABD4AAAK+AAABPgAAP73AAD39wAA8fcAAOv3AADl9wAA3vcAANj3AADS9wAAy/cAAMX3AAC/9wAAuPcAALL3AACs9wAApfcAAJ/3AACZ9wAAkvcAAIz3AACF9wAAf/cAAHn3AABy9wAAbPcAAGX3AABf9wAAWPcAAFL3AABL9wAARfcAAD73AAA49wAAMfcAACv3AAAk9wAAHvcAABf3AAAQ9wAACvcAAAP3AAD99gAA9vYAAO/2AADp9gAA4vYAANv2AADV9gAAzvYAAMf2AADB9gAAuvYAALP2AACt9gAApvYAAJ/2AACY9gAAkvYAAIv2AACE9gAAffYAAHf2AABw9gAAafYAAGL2AABb9gAAVPYAAE72AABH9gAAQPYAADn2AAAy9gAAK/YAACT2AAAd9gAAFvYAABD2AAAJ9gAAAvYAAPv1AAD09QAA7fUAAOb1AADf9QAA2PUAANH1AADK9QAAw/UAALz1AAC19QAArvUAAKb1AACf9QAAmPUAAJH1AACK9QAAg/UAAHz1AAB19QAAbvUAAGb1AABf9QAAWPUAAFH1AABK9QAAQ/UAADv1AAA09QAALfUAACb1AAAe9QAAF/UAABD1AAAJ9QAAAfUAAPr0AADz9AAA6/QAAOT0AADd9AAA1fQAAM70AADH9AAAv/QAALj0AACx9AAAqfQAAKL0AACa9AAAk/QAAIz0AACE9AAAffQAAHX0AABu9AAAZvQAAF/0AABX9AAAUPQAAEj0AABB9AAAOfQAADL0AAAq9AAAI/QAABv0AAAT9AAADPQAAAT0AAD98wAA9fMAAO3zAADm8wAA3vMAANfzAADP8wAAx/MAAMDzAAC48wAAsPMAAKjzAACh8wAAmfMAAJHzAACK8wAAgvMAAHrzAABy8wAAavMAAGPzAABb8wAAU/MAAEvzAABD8wAAPPMAADTzAAAs8wAAJPMAABzzAAAU8wAADPMAAATzAAD98gAA9fIAAO3yAADl8gAA3fIAANXyAADN8gAAxfIAAL3yAAC18gAArfIAAKXyAACd8gAAlfIAAI3yAACF8gAAffIAAHXyAABt8gAAZfIAAF3yAABU8gAATPIAAETyAAA88gAANPIAACzyAAAk8gAAG/IAABPyAAAL8gAAA/IAAPvxAADz8QAA6vEAAOLxAADa8QAA0vEAAMnxAADB8QAAufEAALHxAACo8QAAoPEAAJjxAACP8QAAh/EAAH/xAAB28QAAbvEAAGbxAABd8QAAVfEAAEzxAABE8QAAPPEAADPxAAAr8QAAIvEAABrxAAAR8QAACfEAAAHxAAD48AAA8PAAAOfwAADf8AAA1vAAAM7wAADF8AAAvPAAALTwAACr8AAAo/AAAJrwAACS8AAAifAAAIDwAAB48AAAb/AAAGfwAABe8AAAVfAAAE3wAABE8AAAO/AAADPwAAAq8AAAIfAAABjwAAAQ8AAAB/AAAP7vAAD17wAA7e8AAOTvAADb7wAA0u8AAMrvAADB7wAAuO8AAK/vAACm7wAAne8AAJXvAACM7wAAg+8AAHrvAABx7wAAaO8AAF/vAABW7wAATe8AAEXvAAA87wAAM+8AACrvAAAh7wAAGO8AAA/vAAAG7wAA/e4AAPTuAADr7gAA4u4AANnuAADQ7gAAx+4AAL3uAAC07gAAq+4AAKLuAACZ7gAAkO4AAIfuAAB+7gAAde4AAGvuAABi7gAAWe4AAFDuAABH7gAAPu4AADTuAAAr7gAAIu4AABnuAAAP7gAABu4AAP3tAAD07QAA6u0AAOHtAADY7QAAz+0AAMXtAAC87QAAs+0AAKntAACg7QAAl+0AAI3tAACE7QAAeu0AAHHtAABo7QAAXu0AAFXtAABL7QAAQu0AADjtAAAv7QAAJu0AABztAAAT7QAACe0AAADtAAD27AAA7ewAAOPsAADa7AAA0OwAAMbsAAC97AAAs+wAAKrsAACg7AAAl+wAAI3sAACD7AAAeuwAAHDsAABm7AAAXewAAFPsAABK7AAAQOwAADbsAAAs7AAAI+wAABnsAAAP7AAABuwAAPzrAADy6wAA6OsAAN/rAADV6wAAy+sAAMHrAAC36wAArusAAKTrAACa6wAAkOsAAIbrAAB86wAAc+sAAGnrAABf6wAAVesAAEvrAABB6wAAN+sAAC3rAAAj6wAAGesAAA/rAAAG6wAA/OoAAPLqAADo6gAA3uoAANTqAADK6gAAwOoAALbqAACr6gAAoeoAAJfqAACN6gAAg+oAAHnqAABv6gAAZeoAAFvqAABR6gAAR+oAADzqAAAy6gAAKOoAAB7qAAAU6gAACuoAAP/pAAD16QAA6+kAAOHpAADX6QAAzOkAAMLpAAC46QAArukAAKPpAACZ6QAAj+kAAIXpAAB66QAAcOkAAGbpAABb6QAAUekAAEfpAAA86QAAMukAACfpAAAd6QAAE+kAAAjpAAD+6AAA8+gAAOnoAADf6AAA1OgAAMroAAC/6AAAtegAAKroAACg6AAAlegAAIvoAACA6AAAdugAAGvoAABh6AAAVugAAEzoAABB6AAANugAACzoAAAh6AAAF+gAAAzoAAAB6AAA9+cAAOznAADi5wAA1+cAAMznAADC5wAAt+cAAKznAACh5wAAl+cAAIznAACB5wAAd+cAAGznAABh5wAAVucAAEznAABB5wAANucAACvnAAAg5wAAFucAAAvnAAAA5wAA9eYAAOrmAADf5gAA1eYAAMrmAAC/5gAAtOYAAKnmAACe5gAAk+YAAIjmAAB95gAAcuYAAGfmAABc5gAAUuYAAEfmAAA85gAAMeYAACbmAAAb5gAAEOYAAAXmAAD55QAA7uUAAOPlAADY5QAAzeUAAMLlAAC35QAArOUAAKHlAACW5QAAi+UAAH/lAAB05QAAaeUAAF7lAABT5QAASOUAAD3lAAAx5QAAJuUAABvlAAAQ5QAABOUAAPnkAADu5AAA4+QAANfkAADM5AAAweQAALbkAACq5AAAn+QAAJTkAACI5AAAfeQAAHLkAABm5AAAW+QAAFDkAABE5AAAOeQAAC7kAAAi5AAAF+QAAAvkAAAA5AAA9OMAAOnjAADe4wAA0uMAAMfjAAC74wAAsOMAAKTjAACZ4wAAjeMAAILjAAB24wAAa+MAAF/jAABT4wAASOMAADzjAAAx4wAAJeMAABrjAAAO4wAAAuMAAPfiAADr4gAA3+IAANTiAADI4gAAveIAALHiAACl4gAAmeIAAI7iAACC4gAAduIAAGviAABf4gAAU+IAAEfiAAA84gAAMOIAACTiAAAY4gAADeIAAAHiAAD14QAA6eEAAN3hAADR4QAAxuEAALrhAACu4QAAouEAAJbhAACK4QAAfuEAAHLhAABn4QAAW+EAAE/hAABD4QAAN+EAACvhAAAf4QAAE+EAAAfhAAD74AAA7+AAAOPgAADX4AAAy+AAAL/gAACz4AAAp+AAAJvgAACP4AAAg+AAAHfgAABq4AAAXuAAAFLgAABG4AAAOuAAAC7gAAAi4AAAFuAAAAngAAD93wAA8d8AAOXfAADZ3wAAzd8AAMDfAAC03wAAqN8AAJzfAACP3wAAg98AAHffAABr3wAAXt8AAFLfAABG3wAAOd8AAC3fAAAh3wAAFd8AAAjfAAD83gAA8N4AAOPeAADX3gAAyt4AAL7eAACy3gAApd4AAJneAACM3gAAgN4AAHTeAABn3gAAW94AAE7eAABC3gAANd4AACneAAAc3gAAEN4AAAPeAAD33QAA6t0AAN7dAADR3QAAxd0AALjdAACr3QAAn90AAJLdAACG3QAAed0AAGzdAABg3QAAU90AAEfdAAA63QAALd0AACHdAAAU3QAAB90AAPvcAADu3AAA4dwAANXcAADI3AAAu9wAAK7cAACi3AAAldwAAIjcAAB73AAAb9wAAGLcAABV3AAASNwAADvcAAAv3AAAItwAABXcAAAI3AAA+9sAAO7bAADh2wAA1dsAAMjbAAC72wAArtsAAKHbAACU2wAAh9sAAHrbAABt2wAAYNsAAFPbAABG2wAAOdsAACzbAAAf2wAAEtsAAAXbAAD42gAA69oAAN7aAADR2gAAxNoAALfaAACq2gAAndoAAJDaAACD2gAAdtoAAGnaAABc2gAAT9oAAEHaAAA02gAAJ9oAABraAAAN2gAAANoAAPLZAADl2QAA2NkAAMvZAAC+2QAAsNkAAKPZAACW2QAAidkAAHvZAABu2QAAYdkAAFTZAABG2QAAOdkAACzZAAAe2QAAEdkAAATZAAD22AAA6dgAANzYAADO2AAAwdgAALTYAACm2AAAmdgAAIvYAAB+2AAAcdgAAGPYAABW2AAASNgAADvYAAAt2AAAINgAABLYAAAF2AAA+NcAAOrXAADc1wAAz9cAAMHXAAC01wAAptcAAJnXAACL1wAAftcAAHDXAABj1wAAVdcAAEfXAAA61wAALNcAAB/XAAAR1wAAA9cAAPbWAADo1gAA2tYAAM3WAAC/1gAAsdYAAKTWAACW1gAAiNYAAHrWAABt1gAAX9YAAFHWAABE1gAANtYAACjWAAAa1gAADNYAAP/VAADx1QAA49UAANXVAADH1QAAutUAAKzVAACe1QAAkNUAAILVAAB01QAAZtUAAFnVAABL1QAAPdUAAC/VAAAh1QAAE9UAAAXVAAD31AAA6dQAANvUAADN1AAAv9QAALHUAACj1AAAldQAAIfUAAB51AAAa9QAAF3UAABP1AAAQdQAADPUAAAl1AAAF9QAAAnUAAD70wAA7dMAAN/TAADQ0wAAwtMAALTTAACm0wAAmNMAAIrTAAB80wAAbdMAAF/TAABR0wAAQ9MAADXTAAAm0wAAGNMAAArTAAD80gAA7tIAAN/SAADR0gAAw9IAALXSAACm0gAAmNIAAIrSAAB70gAAbdIAAF/SAABQ0gAAQtIAADTSAAAl0gAAF9IAAAnSAAD60QAA7NEAAN7RAADP0QAAwdEAALLRAACk0QAAldEAAIfRAAB50QAAatEAAFzRAABN0QAAP9EAADDRAAAi0QAAE9EAAAXRAAD20AAA6NAAANnQAADL0AAAvNAAAK7QAACf0AAAkNAAAILQAABz0AAAZdAAAFbQAABH0AAAOdAAACrQAAAc0AAADdAAAP7PAADwzwAA4c8AANLPAADEzwAAtc8AAKbPAACYzwAAic8AAHrPAABrzwAAXc8AAE7PAAA/zwAAMM8AACLPAAATzwAABM8AAPXOAADnzgAA2M4AAMnOAAC6zgAAq84AAJzOAACOzgAAf84AAHDOAABhzgAAUs4AAEPOAAA0zgAAJc4AABfOAAAIzgAA+c0AAOrNAADbzQAAzM0AAL3NAACuzQAAn80AAJDNAACBzQAAcs0AAGPNAABUzQAARc0AADbNAAAnzQAAGM0AAAnNAAD6zAAA68wAANzMAADNzAAAvswAAK7MAACfzAAAkMwAAIHMAAByzAAAY8wAAFTMAABFzAAANcwAACbMAAAXzAAACMwAAPnLAADqywAA2ssAAMvLAAC8ywAArcsAAJ7LAACOywAAf8sAAHDLAABhywAAUcsAAELLAAAzywAAI8sAABTLAAAFywAA9coAAObKAADXygAAx8oAALjKAACpygAAmcoAAIrKAAB7ygAAa8oAAFzKAABNygAAPcoAAC7KAAAeygAAD8oAAP/JAADwyQAA4ckAANHJAADCyQAAsskAAKPJAACTyQAAhMkAAHTJAABlyQAAVckAAEbJAAA2yQAAJ8kAABfJAAAHyQAA+MgAAOjIAADZyAAAycgAALrIAACqyAAAmsgAAIvIAAB7yAAAa8gAAFzIAABMyAAAPMgAAC3IAAAdyAAADcgAAP7HAADuxwAA3scAAM/HAAC/xwAAr8cAAKDHAACQxwAAgMcAAHDHAABhxwAAUccAAEHHAAAxxwAAIccAABLHAAACxwAA8sYAAOLGAADSxgAAwsYAALPGAACjxgAAk8YAAIPGAABzxgAAY8YAAFPGAABExgAANMYAACTGAAAUxgAABMYAAPTFAADkxQAA1MUAAMTFAAC0xQAApMUAAJTFAACExQAAdMUAAGTFAABUxQAARMUAADTFAAAkxQAAFMUAAATFAAD0xAAA5MQAANTEAADExAAAtMQAAKTEAACUxAAAg8QAAHPEAABjxAAAU8QAAEPEAAAzxAAAI8QAABPEAAACxAAA8sMAAOLDAADSwwAAwsMAALHDAAChwwAAkcMAAIHDAABxwwAAYMMAAFDDAABAwwAAMMMAAB/DAAAPwwAA/8IAAO7CAADewgAAzsIAAL7CAACtwgAAncIAAI3CAAB8wgAAbMIAAFzCAABLwgAAO8IAACrCAAAawgAACsIAAPnBAADpwQAA2MEAAMjBAAC4wQAAp8EAAJfBAACGwQAAdsEAAGXBAABVwQAARMEAADTBAAAjwQAAE8EAAALBAADywAAA4cAAANHAAADAwAAAsMAAAJ/AAACPwAAAfsAAAG7AAABdwAAATMAAADzAAAArwAAAG8AAAArAAAD5vwAA6b8AANi/AADHvwAAt78AAKa/AACVvwAAhb8AAHS/AABjvwAAU78AAEK/AAAxvwAAIb8AABC/AAD/vgAA7r4AAN6+AADNvgAAvL4AAKu+AACbvgAAir4AAHm+AABovgAAV74AAEe+AAA2vgAAJb4AABS+AAADvgAA8r0AAOK9AADRvQAAwL0AAK+9AACevQAAjb0AAHy9AABrvQAAWr0AAEq9AAA5vQAAKL0AABe9AAAGvQAA9bwAAOS8AADTvAAAwrwAALG8AACgvAAAj7wAAH68AABtvAAAXLwAAEu8AAA6vAAAKbwAABi8AAAHvAAA9rsAAOW7AADUuwAAw7sAALG7AACguwAAj7sAAH67AABtuwAAXLsAAEu7AAA6uwAAKLsAABe7AAAGuwAA9boAAOS6AADTugAAwboAALC6AACfugAAjroAAH26AABrugAAWroAAEm6AAA4ugAAJroAABW6AAAEugAA87kAAOG5AADQuQAAv7kAAK65AACcuQAAi7kAAHq5AABouQAAV7kAAEa5AAA0uQAAI7kAABK5AAAAuQAA77gAAN24AADMuAAAu7gAAKm4AACYuAAAhrgAAHW4AABkuAAAUrgAAEG4AAAvuAAAHrgAAAy4AAD7twAA6bcAANi3AADGtwAAtbcAAKO3AACStwAAgLcAAG+3AABdtwAATLcAADq3AAAptwAAF7cAAAW3AAD0tgAA4rYAANG2AAC/tgAArbYAAJy2AACKtgAAebYAAGe2AABVtgAARLYAADK2AAAgtgAAD7YAAP21AADrtQAA2rUAAMi1AAC2tQAApbUAAJO1AACBtQAAb7UAAF61AABMtQAAOrUAACi1AAAXtQAABbUAAPO0AADhtAAA0LQAAL60AACstAAAmrQAAIi0AAB3tAAAZbQAAFO0AABBtAAAL7QAAB20AAALtAAA+rMAAOizAADWswAAxLMAALKzAACgswAAjrMAAHyzAABqswAAWLMAAEezAAA1swAAI7MAABGzAAD/sgAA7bIAANuyAADJsgAAt7IAAKWyAACTsgAAgbIAAG+yAABdsgAAS7IAADmyAAAnsgAAFbIAAAOyAADwsQAA3rEAAMyxAAC6sQAAqLEAAJaxAACEsQAAcrEAAGCxAABOsQAAO7EAACmxAAAXsQAABbEAAPOwAADhsAAAzrAAALywAACqsAAAmLAAAIawAAB0sAAAYbAAAE+wAAA9sAAAK7AAABiwAAAGsAAA9K8AAOKvAADPrwAAva8AAKuvAACZrwAAhq8AAHSvAABirwAAT68AAD2vAAArrwAAGK8AAAavAAD0rgAA4a4AAM+uAAC9rgAAqq4AAJiuAACFrgAAc64AAGGuAABOrgAAPK4AACmuAAAXrgAABa4AAPKtAADgrQAAza0AALutAACorQAAlq0AAIOtAABxrQAAXq0AAEytAAA5rQAAJ60AABStAAACrQAA76wAAN2sAADKrAAAuKwAAKWsAACTrAAAgKwAAG2sAABbrAAASKwAADasAAAjrAAAEawAAP6rAADrqwAA2asAAMarAACzqwAAoasAAI6rAAB7qwAAaasAAFarAABDqwAAMasAAB6rAAALqwAA+aoAAOaqAADTqgAAwaoAAK6qAACbqgAAiKoAAHaqAABjqgAAUKoAAD2qAAAqqgAAGKoAAAWqAADyqQAA36kAAM2pAAC6qQAAp6kAAJSpAACBqQAAbqkAAFypAABJqQAANqkAACOpAAAQqQAA/agAAOqoAADXqAAAxagAALKoAACfqAAAjKgAAHmoAABmqAAAU6gAAECoAAAtqAAAGqgAAAeoAAD0pwAA4acAAM6nAAC7pwAAqKcAAJWnAACCpwAAb6cAAFynAABJpwAANqcAACOnAAAQpwAA/aYAAOqmAADXpgAAxKYAALGmAACepgAAi6YAAHimAABlpgAAUqYAAD6mAAArpgAAGKYAAAWmAADypQAA36UAAMylAAC4pQAApaUAAJKlAAB/pQAAbKUAAFmlAABFpQAAMqUAAB+lAAAMpQAA+aQAAOWkAADSpAAAv6QAAKykAACYpAAAhaQAAHKkAABfpAAAS6QAADikAAAlpAAAEqQAAP6jAADrowAA2KMAAMSjAACxowAAnqMAAIqjAAB3owAAZKMAAFCjAAA9owAAKqMAABajAAADowAA76IAANyiAADJogAAtaIAAKKiAACOogAAe6IAAGiiAABUogAAQaIAAC2iAAAaogAABqIAAPOhAADfoQAAzKEAALmhAACloQAAkqEAAH6hAABroQAAV6EAAEOhAAAwoQAAHKEAAAmhAAD1oAAA4qAAAM6gAAC7oAAAp6AAAJSgAACAoAAAbKAAAFmgAABFoAAAMqAAAB6gAAAKoAAA958AAOOfAADQnwAAvJ8AAKifAACVnwAAgZ8AAG2fAABanwAARp8AADKfAAAfnwAAC58AAPeeAADjngAA0J4AALyeAACongAAlZ4AAIGeAABtngAAWZ4AAEaeAAAyngAAHp4AAAqeAAD3nQAA450AAM+dAAC7nQAAp50AAJSdAACAnQAAbJ0AAFidAABEnQAAMZ0AAB2dAAAJnQAA9ZwAAOGcAADNnAAAuZwAAKacAACSnAAAfpwAAGqcAABWnAAAQpwAAC6cAAAanAAABpwAAPKbAADemwAAypsAALebAACjmwAAj5sAAHubAABnmwAAU5sAAD+bAAArmwAAF5sAAAObAADvmgAA25oAAMeaAACzmgAAn5oAAIuaAAB3mgAAY5oAAE+aAAA6mgAAJpoAABKaAAD+mQAA6pkAANaZAADCmQAArpkAAJqZAACGmQAAcpkAAF2ZAABJmQAANZkAACGZAAANmQAA+ZgAAOWYAADQmAAAvJgAAKiYAACUmAAAgJgAAGyYAABXmAAAQ5gAAC+YAAAbmAAAB5gAAPKXAADelwAAypcAALaXAAChlwAAjZcAAHmXAABllwAAUJcAADyXAAAolwAAE5cAAP+WAADrlgAA15YAAMKWAACulgAAmpYAAIWWAABxlgAAXZYAAEiWAAA0lgAAIJYAAAuWAAD3lQAA4pUAAM6VAAC6lQAApZUAAJGVAAB9lQAAaJUAAFSVAAA/lQAAK5UAABaVAAAClQAA7pQAANmUAADFlAAAsJQAAJyUAACHlAAAc5QAAF6UAABKlAAANZQAACGUAAAMlAAA+JMAAOOTAADPkwAAupMAAKaTAACRkwAAfZMAAGiTAABUkwAAP5MAACqTAAAWkwAAAZMAAO2SAADYkgAAxJIAAK+SAACakgAAhpIAAHGSAABdkgAASJIAADOSAAAfkgAACpIAAPWRAADhkQAAzJEAALeRAACjkQAAjpEAAHmRAABlkQAAUJEAADuRAAAnkQAAEpEAAP2QAADpkAAA1JAAAL+QAACqkAAAlpAAAIGQAABskAAAV5AAAEOQAAAukAAAGZAAAASQAADwjwAA248AAMaPAACxjwAAnI8AAIiPAABzjwAAXo8AAEmPAAA0jwAAH48AAAuPAAD2jgAA4Y4AAMyOAAC3jgAAoo4AAI2OAAB5jgAAZI4AAE+OAAA6jgAAJY4AABCOAAD7jQAA5o0AANGNAAC8jQAAp40AAJONAAB+jQAAaY0AAFSNAAA/jQAAKo0AABWNAAAAjQAA64wAANaMAADBjAAArIwAAJeMAACCjAAAbYwAAFiMAABDjAAALowAABmMAAAEjAAA74sAANqLAADFiwAAr4sAAJqLAACFiwAAcIsAAFuLAABGiwAAMYsAAByLAAAHiwAA8ooAAN2KAADHigAAsooAAJ2KAACIigAAc4oAAF6KAABJigAANIoAAB6KAAAJigAA9IkAAN+JAADKiQAAtIkAAJ+JAACKiQAAdYkAAGCJAABKiQAANYkAACCJAAALiQAA9ogAAOCIAADLiAAAtogAAKGIAACLiAAAdogAAGGIAABMiAAANogAACGIAAAMiAAA9ocAAOGHAADMhwAAt4cAAKGHAACMhwAAd4cAAGGHAABMhwAAN4cAACGHAAAMhwAA94YAAOGGAADMhgAAtoYAAKGGAACMhgAAdoYAAGGGAABMhgAANoYAACGGAAALhgAA9oUAAOCFAADLhQAAtoUAAKCFAACLhQAAdYUAAGCFAABKhQAANYUAAB+FAAAKhQAA9YQAAN+EAADKhAAAtIQAAJ+EAACJhAAAdIQAAF6EAABJhAAAM4QAAB2EAAAIhAAA8oMAAN2DAADHgwAAsoMAAJyDAACHgwAAcYMAAFyDAABGgwAAMIMAABuDAAAFgwAA8IIAANqCAADEggAAr4IAAJmCAACEggAAboIAAFiCAABDggAALYIAABeCAAACggAA7IEAANaBAADBgQAAq4EAAJWBAACAgQAAaoEAAFSBAAA/gQAAKYEAABOBAAD+gAAA6IAAANKAAAC8gAAAp4AAAJGAAAB7gAAAZoAAAFCAAAA6gAAAJIAAAA+AAAD5fwAA438AAM1/AAC3fwAAon8AAIx/AAB2fwAAYH8AAEp/AAA1fwAAH38AAAl/AADzfgAA3X4AAMh+AACyfgAAnH4AAIZ+AABwfgAAWn4AAER+AAAvfgAAGX4AAAN+AADtfQAA130AAMF9AACrfQAAlX0AAH99AABqfQAAVH0AAD59AAAofQAAEn0AAPx8AADmfAAA0HwAALp8AACkfAAAjnwAAHh8AABifAAATHwAADZ8AAAgfAAACnwAAPR7AADeewAAyHsAALJ7AACcewAAhnsAAHB7AABaewAARHsAAC57AAAYewAAAnsAAOx6AADWegAAwHoAAKp6AACUegAAfnoAAGh6AABSegAAPHoAACZ6AAAQegAA+XkAAON5AADNeQAAt3kAAKF5AACLeQAAdXkAAF95AABJeQAAMnkAABx5AAAGeQAA8HgAANp4AADEeAAArXgAAJd4AACBeAAAa3gAAFV4AAA/eAAAKHgAABJ4AAD8dwAA5ncAANB3AAC5dwAAo3cAAI13AAB3dwAAYHcAAEp3AAA0dwAAHncAAAh3AADxdgAA23YAAMV2AACudgAAmHYAAIJ2AABsdgAAVXYAAD92AAApdgAAEnYAAPx1AADmdQAA0HUAALl1AACjdQAAjXUAAHZ1AABgdQAASnUAADN1AAAddQAAB3UAAPB0AADadAAAw3QAAK10AACXdAAAgHQAAGp0AABUdAAAPXQAACd0AAAQdAAA+nMAAORzAADNcwAAt3MAAKBzAACKcwAAc3MAAF1zAABHcwAAMHMAABpzAAADcwAA7XIAANZyAADAcgAAqXIAAJNyAAB8cgAAZnIAAFByAAA5cgAAI3IAAAxyAAD2cQAA33EAAMlxAACycQAAm3EAAIVxAABucQAAWHEAAEFxAAArcQAAFHEAAP5wAADncAAA0XAAALpwAACjcAAAjXAAAHZwAABgcAAASXAAADNwAAAccAAABXAAAO9vAADYbwAAwm8AAKtvAACUbwAAfm8AAGdvAABQbwAAOm8AACNvAAANbwAA9m4AAN9uAADJbgAAsm4AAJtuAACFbgAAbm4AAFduAABBbgAAKm4AABNuAAD8bQAA5m0AAM9tAAC4bQAAom0AAIttAAB0bQAAXm0AAEdtAAAwbQAAGW0AAANtAADsbAAA1WwAAL5sAACobAAAkWwAAHpsAABjbAAATWwAADZsAAAfbAAACGwAAPFrAADbawAAxGsAAK1rAACWawAAf2sAAGlrAABSawAAO2sAACRrAAANawAA9moAAOBqAADJagAAsmoAAJtqAACEagAAbWoAAFdqAABAagAAKWoAABJqAAD7aQAA5GkAAM1pAAC2aQAAoGkAAIlpAAByaQAAW2kAAERpAAAtaQAAFmkAAP9oAADoaAAA0WgAALpoAACjaAAAjWgAAHZoAABfaAAASGgAADFoAAAaaAAAA2gAAOxnAADVZwAAvmcAAKdnAACQZwAAeWcAAGJnAABLZwAANGcAAB1nAAAGZwAA72YAANhmAADBZgAAqmYAAJNmAAB8ZgAAZWYAAE5mAAA3ZgAAIGYAAAlmAADyZQAA22UAAMNlAACsZQAAlWUAAH5lAABnZQAAUGUAADllAAAiZQAAC2UAAPRkAADdZAAAxmQAAK5kAACXZAAAgGQAAGlkAABSZAAAO2QAACRkAAANZAAA9WMAAN5jAADHYwAAsGMAAJljAACCYwAAa2MAAFNjAAA8YwAAJWMAAA5jAAD3YgAA4GIAAMhiAACxYgAAmmIAAINiAABsYgAAVGIAAD1iAAAmYgAAD2IAAPhhAADgYQAAyWEAALJhAACbYQAAg2EAAGxhAABVYQAAPmEAACZhAAAPYQAA+GAAAOFgAADJYAAAsmAAAJtgAACEYAAAbGAAAFVgAAA+YAAAJmAAAA9gAAD4XwAA4V8AAMlfAACyXwAAm18AAINfAABsXwAAVV8AAD1fAAAmXwAAD18AAPdeAADgXgAAyV4AALFeAACaXgAAg14AAGteAABUXgAAPF4AACVeAAAOXgAA9l0AAN9dAADIXQAAsF0AAJldAACBXQAAal0AAFNdAAA7XQAAJF0AAAxdAAD1XAAA3lwAAMZcAACvXAAAl1wAAIBcAABoXAAAUVwAADpcAAAiXAAAC1wAAPNbAADcWwAAxFsAAK1bAACVWwAAflsAAGZbAABPWwAAN1sAACBbAAAIWwAA8VoAANlaAADCWgAAqloAAJNaAAB7WgAAZFoAAExaAAA1WgAAHVoAAAZaAADuWQAA11kAAL9ZAACoWQAAkFkAAHlZAABhWQAASlkAADJZAAAaWQAAA1kAAOtYAADUWAAAvFgAAKVYAACNWAAAdVgAAF5YAABGWAAAL1gAABdYAAD/VwAA6FcAANBXAAC5VwAAoVcAAIlXAAByVwAAWlcAAENXAAArVwAAE1cAAPxWAADkVgAAzFYAALVWAACdVgAAhVYAAG5WAABWVgAAPlYAACdWAAAPVgAA91UAAOBVAADIVQAAsFUAAJlVAACBVQAAaVUAAFJVAAA6VQAAIlUAAAtVAADzVAAA21QAAMNUAACsVAAAlFQAAHxUAABkVAAATVQAADVUAAAdVAAABlQAAO5TAADWUwAAvlMAAKdTAACPUwAAd1MAAF9TAABIUwAAMFMAABhTAAAAUwAA6FIAANFSAAC5UgAAoVIAAIlSAAByUgAAWlIAAEJSAAAqUgAAElIAAPtRAADjUQAAy1EAALNRAACbUQAAg1EAAGxRAABUUQAAPFEAACRRAAAMUQAA9FAAAN1QAADFUAAArVAAAJVQAAB9UAAAZVAAAE1QAAA2UAAAHlAAAAZQAADuTwAA1k8AAL5PAACmTwAAjk8AAHdPAABfTwAAR08AAC9PAAAXTwAA/04AAOdOAADPTgAAt04AAJ9OAACHTgAAcE4AAFhOAABATgAAKE4AABBOAAD4TQAA4E0AAMhNAACwTQAAmE0AAIBNAABoTQAAUE0AADhNAAAgTQAACE0AAPBMAADYTAAAwEwAAKhMAACQTAAAeUwAAGFMAABJTAAAMUwAABlMAAABTAAA6UsAANFLAAC5SwAAoUsAAIlLAABxSwAAWEsAAEBLAAAoSwAAEEsAAPhKAADgSgAAyEoAALBKAACYSgAAgEoAAGhKAABQSgAAOEoAACBKAAAISgAA8EkAANhJAADASQAAqEkAAJBJAAB4SQAAX0kAAEdJAAAvSQAAF0kAAP9IAADnSAAAz0gAALdIAACfSAAAh0gAAG9IAABWSAAAPkgAACZIAAAOSAAA9kcAAN5HAADGRwAArkcAAJVHAAB9RwAAZUcAAE1HAAA1RwAAHUcAAAVHAADsRgAA1EYAALxGAACkRgAAjEYAAHRGAABcRgAAQ0YAACtGAAATRgAA+0UAAONFAADLRQAAskUAAJpFAACCRQAAakUAAFJFAAA5RQAAIUUAAAlFAADxRAAA2UQAAMBEAACoRAAAkEQAAHhEAABgRAAAR0QAAC9EAAAXRAAA/0MAAOZDAADOQwAAtkMAAJ5DAACFQwAAbUMAAFVDAAA9QwAAJEMAAAxDAAD0QgAA3EIAAMNCAACrQgAAk0IAAHtCAABiQgAASkIAADJCAAAaQgAAAUIAAOlBAADRQQAAuEEAAKBBAACIQQAAb0EAAFdBAAA/QQAAJ0EAAA5BAAD2QAAA3kAAAMVAAACtQAAAlUAAAHxAAABkQAAATEAAADNAAAAbQAAAA0AAAOo/AADSPwAAuj8AAKE/AACJPwAAcT8AAFg/AABAPwAAKD8AAA8/AAD3PgAA3z4AAMY+AACuPgAAlT4AAH0+AABlPgAATD4AADQ+AAAcPgAAAz4AAOs9AADSPQAAuj0AAKI9AACJPQAAcT0AAFg9AABAPQAAKD0AAA89AAD3PAAA3jwAAMY8AACuPAAAlTwAAH08AABkPAAATDwAADM8AAAbPAAAAzwAAOo7AADSOwAAuTsAAKE7AACIOwAAcDsAAFg7AAA/OwAAJzsAAA47AAD2OgAA3ToAAMU6AACsOgAAlDoAAHs6AABjOgAASjoAADI6AAAaOgAAAToAAOk5AADQOQAAuDkAAJ85AACHOQAAbjkAAFY5AAA9OQAAJTkAAAw5AAD0OAAA2zgAAMM4AACqOAAAkjgAAHk4AABhOAAASDgAADA4AAAXOAAA/jcAAOY3AADNNwAAtTcAAJw3AACENwAAazcAAFM3AAA6NwAAIjcAAAk3AADxNgAA2DYAAMA2AACnNgAAjjYAAHY2AABdNgAARTYAACw2AAAUNgAA+zUAAOI1AADKNQAAsTUAAJk1AACANQAAaDUAAE81AAA2NQAAHjUAAAU1AADtNAAA1DQAALs0AACjNAAAijQAAHI0AABZNAAAQDQAACg0AAAPNAAA9zMAAN4zAADFMwAArTMAAJQzAAB8MwAAYzMAAEozAAAyMwAAGTMAAAAzAADoMgAAzzIAALcyAACeMgAAhTIAAG0yAABUMgAAOzIAACMyAAAKMgAA8TEAANkxAADAMQAApzEAAI8xAAB2MQAAXjEAAEUxAAAsMQAAFDEAAPswAADiMAAAyjAAALEwAACYMAAAfzAAAGcwAABOMAAANTAAAB0wAAAEMAAA6y8AANMvAAC6LwAAoS8AAIkvAABwLwAAVy8AAD8vAAAmLwAADS8AAPQuAADcLgAAwy4AAKouAACSLgAAeS4AAGAuAABHLgAALy4AABYuAAD9LQAA5S0AAMwtAACzLQAAmi0AAIItAABpLQAAUC0AADctAAAfLQAABi0AAO0sAADULAAAvCwAAKMsAACKLAAAcSwAAFksAABALAAAJywAAA4sAAD2KwAA3SsAAMQrAACrKwAAkysAAHorAABhKwAASCsAADArAAAXKwAA/ioAAOUqAADMKgAAtCoAAJsqAACCKgAAaSoAAFEqAAA4KgAAHyoAAAYqAADtKQAA1SkAALwpAACjKQAAiikAAHEpAABZKQAAQCkAACcpAAAOKQAA9SgAAN0oAADEKAAAqygAAJIoAAB5KAAAYCgAAEgoAAAvKAAAFigAAP0nAADkJwAAzCcAALMnAACaJwAAgScAAGgnAABPJwAANycAAB4nAAAFJwAA7CYAANMmAAC6JgAAoiYAAIkmAABwJgAAVyYAAD4mAAAlJgAADCYAAPQlAADbJQAAwiUAAKklAACQJQAAdyUAAF4lAABGJQAALSUAABQlAAD7JAAA4iQAAMkkAACwJAAAlyQAAH8kAABmJAAATSQAADQkAAAbJAAAAiQAAOkjAADQIwAAuCMAAJ8jAACGIwAAbSMAAFQjAAA7IwAAIiMAAAkjAADwIgAA1yIAAL8iAACmIgAAjSIAAHQiAABbIgAAQiIAACkiAAAQIgAA9yEAAN4hAADGIQAArSEAAJQhAAB7IQAAYiEAAEkhAAAwIQAAFyEAAP4gAADlIAAAzCAAALMgAACaIAAAgiAAAGkgAABQIAAANyAAAB4gAAAFIAAA7B8AANMfAAC6HwAAoR8AAIgfAABvHwAAVh8AAD0fAAAkHwAACx8AAPMeAADaHgAAwR4AAKgeAACPHgAAdh4AAF0eAABEHgAAKx4AABIeAAD5HQAA4B0AAMcdAACuHQAAlR0AAHwdAABjHQAASh0AADEdAAAYHQAA/xwAAOYcAADNHAAAtBwAAJscAACCHAAAaRwAAFEcAAA4HAAAHxwAAAYcAADtGwAA1BsAALsbAACiGwAAiRsAAHAbAABXGwAAPhsAACUbAAAMGwAA8xoAANoaAADBGgAAqBoAAI8aAAB2GgAAXRoAAEQaAAArGgAAEhoAAPkZAADgGQAAxxkAAK4ZAACVGQAAfBkAAGMZAABKGQAAMRkAABgZAAD/GAAA5hgAAM0YAAC0GAAAmxgAAIIYAABpGAAAUBgAADcYAAAdGAAABBgAAOsXAADSFwAAuRcAAKAXAACHFwAAbhcAAFUXAAA8FwAAIxcAAAoXAADxFgAA2BYAAL8WAACmFgAAjRYAAHQWAABbFgAAQhYAACkWAAAQFgAA9xUAAN4VAADFFQAArBUAAJMVAAB6FQAAYRUAAEgVAAAuFQAAFRUAAPwUAADjFAAAyhQAALEUAACYFAAAfxQAAGYUAABNFAAANBQAABsUAAACFAAA6RMAANATAAC3EwAAnhMAAIUTAABsEwAAUhMAADkTAAAgEwAABxMAAO4SAADVEgAAvBIAAKMSAACKEgAAcRIAAFgSAAA/EgAAJhIAAA0SAAD0EQAA2hEAAMERAACoEQAAjxEAAHYRAABdEQAARBEAACsRAAASEQAA+RAAAOAQAADHEAAArhAAAJQQAAB7EAAAYhAAAEkQAAAwEAAAFxAAAP4PAADlDwAAzA8AALMPAACaDwAAgQ8AAGcPAABODwAANQ8AABwPAAADDwAA6g4AANEOAAC4DgAAnw4AAIYOAABtDgAAUw4AADoOAAAhDgAACA4AAO8NAADWDQAAvQ0AAKQNAACLDQAAcg0AAFkNAAA/DQAAJg0AAA0NAAD0DAAA2wwAAMIMAACpDAAAkAwAAHcMAABdDAAARAwAACsMAAASDAAA+QsAAOALAADHCwAArgsAAJULAAB8CwAAYgsAAEkLAAAwCwAAFwsAAP4KAADlCgAAzAoAALMKAACaCgAAgAoAAGcKAABOCgAANQoAABwKAAADCgAA6gkAANEJAAC4CQAAngkAAIUJAABsCQAAUwkAADoJAAAhCQAACAkAAO8IAADVCAAAvAgAAKMIAACKCAAAcQgAAFgIAAA/CAAAJggAAA0IAADzBwAA2gcAAMEHAACoBwAAjwcAAHYHAABdBwAARAcAACoHAAARBwAA+AYAAN8GAADGBgAArQYAAJQGAAB7BgAAYQYAAEgGAAAvBgAAFgYAAP0FAADkBQAAywUAALIFAACYBQAAfwUAAGYFAABNBQAANAUAABsFAAACBQAA6QQAAM8EAAC2BAAAnQQAAIQEAABrBAAAUgQAADkEAAAgBAAABgQAAO0DAADUAwAAuwMAAKIDAACJAwAAcAMAAFYDAAA9AwAAJAMAAAsDAADyAgAA2QIAAMACAACnAgAAjQIAAHQCAABbAgAAQgIAACkCAAAQAgAA9wEAAN4BAADEAQAAqwEAAJIBAAB5AQAAYAEAAEcBAAAuAQAAFAEAAPsAAADiAAAAyQAAALAAAACXAAAAfgAAAGUAAABLAAAAMgAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAKAAAADwAAABQAAAAZAAAAHwAAACQAAAApAAAALgAAADMAAAA4AAAAPQAAAEIAAABHAAAATAAAAFEAAABXAAAAXAAAAGEAAABmAAAAawAAAHAAAAB1AAAAegAAAH8AAACEAAAAigAAAI8AAACUAAAAmQAAAJ4AAACjAAAAqAAAAK0AAACyAAAAtwAAALwAAADCAAAAxwAAAMwAAADRAAAA1gAAANsAAADgAAAA5QAAAOoAAADvAAAA9AAAAPoAAAD/AAAABAEAAAkBAAAOAQAAEwEAABgBAAAdAQAAIgEAACcBAAAsAQAAMQEAADcBAAA8AQAAQQEAAEYBAABLAQAAUAEAAFUBAABaAQAAXwEAAGQBAABpAQAAbwEAAHQBAAB5AQAAfgEAAIMBAACIAQAAjQEAAJIBAACXAQAAnAEAAKEBAACmAQAArAEAALEBAAC2AQAAuwEAAMABAADFAQAAygEAAM8BAADUAQAA2QEAAN4BAADjAQAA6QEAAO4BAADzAQAA+AEAAP0BAAACAgAABwIAAAwCAAARAgAAFgIAABsCAAAgAgAAJgIAACsCAAAwAgAANQIAADoCAAA/AgAARAIAAEkCAABOAgAAUwIAAFgCAABdAgAAYgIAAGgCAABtAgAAcgIAAHcCAAB8AgAAgQIAAIYCAACLAgAAkAIAAJUCAACaAgAAnwIAAKQCAACpAgAArwIAALQCAAC5AgAAvgIAAMMCAADIAgAAzQIAANICAADXAgAA3AIAAOECAADmAgAA6wIAAPACAAD2AgAA+wIAAAADAAAFAwAACgMAAA8DAAAUAwAAGQMAAB4DAAAjAwAAKAMAAC0DAAAyAwAANwMAADwDAABBAwAARwMAAEwDAABRAwAAVgMAAFsDAABgAwAAZQMAAGoDAABvAwAAdAMAAHkDAAB+AwAAgwMAAIgDAACNAwAAkgMAAJcDAACcAwAAogMAAKcDAACsAwAAsQMAALYDAAC7AwAAwAMAAMUDAADKAwAAzwMAANQDAADZAwAA3gMAAOMDAADoAwAA7QMAAPIDAAD3AwAA/AMAAAEEAAAHBAAADAQAABEEAAAWBAAAGwQAACAEAAAlBAAAKgQAAC8EAAA0BAAAOQQAAD4EAABDBAAASAQAAE0EAABSBAAAVwQAAFwEAABhBAAAZgQAAGsEAABwBAAAdQQAAHoEAAB/BAAAhAQAAIkEAACOBAAAlAQAAJkEAACeBAAAowQAAKgEAACtBAAAsgQAALcEAAC8BAAAwQQAAMYEAADLBAAA0AQAANUEAADaBAAA3wQAAOQEAADpBAAA7gQAAPMEAAD4BAAA/QQAAAIFAAAHBQAADAUAABEFAAAWBQAAGwUAACAFAAAlBQAAKgUAAC8FAAA0BQAAOQUAAD4FAABDBQAASAUAAE0FAABSBQAAVwUAAFwFAABhBQAAZgUAAGsFAABwBQAAdQUAAHoFAAB/BQAAhAUAAIkFAACOBQAAkwUAAJgFAACdBQAAogUAAKcFAACsBQAAsQUAALYFAAC7BQAAwAUAAMUFAADKBQAAzwUAANQFAADZBQAA3gUAAOMFAADoBQAA7QUAAPIFAAD3BQAA/AUAAAEGAAAGBgAACwYAABAGAAAVBgAAGgYAAB8GAAAkBgAAKQYAAC4GAAAzBgAAOAYAAD0GAABCBgAARwYAAEwGAABRBgAAVgYAAFsGAABgBgAAZQYAAGoGAABuBgAAcwYAAHgGAAB9BgAAggYAAIcGAACMBgAAkQYAAJYGAACbBgAAoAYAAKUGAACqBgAArwYAALQGAAC5BgAAvgYAAMMGAADIBgAAzQYAANIGAADXBgAA3AYAAOEGAADlBgAA6gYAAO8GAAD0BgAA+QYAAP4GAAADBwAACAcAAA0HAAASBwAAFwcAABwHAAAhBwAAJgcAACsHAAAwBwAANQcAADkHAAA+BwAAQwcAAEgHAABNBwAAUgcAAFcHAABcBwAAYQcAAGYHAABrBwAAcAcAAHUHAAB6BwAAfgcAAIMHAACIBwAAjQcAAJIHAACXBwAAnAcAAKEHAACmBwAAqwcAALAHAAC1BwAAuQcAAL4HAADDBwAAyAcAAM0HAADSBwAA1wcAANwHAADhBwAA5gcAAOsHAADvBwAA9AcAAPkHAAD+BwAAAwgAAAgIAAANCAAAEggAABcIAAAcCAAAIAgAACUIAAAqCAAALwgAADQIAAA5CAAAPggAAEMIAABICAAATAgAAFEIAABWCAAAWwgAAGAIAABlCAAAaggAAG8IAABzCAAAeAgAAH0IAACCCAAAhwgAAIwIAACRCAAAlggAAJoIAACfCAAApAgAAKkIAACuCAAAswgAALgIAAC9CAAAwQgAAMYIAADLCAAA0AgAANUIAADaCAAA3wgAAOMIAADoCAAA7QgAAPIIAAD3CAAA/AgAAAEJAAAFCQAACgkAAA8JAAAUCQAAGQkAAB4JAAAiCQAAJwkAACwJAAAxCQAANgkAADsJAAA/CQAARAkAAEkJAABOCQAAUwkAAFgJAABcCQAAYQkAAGYJAABrCQAAcAkAAHUJAAB5CQAAfgkAAIMJAACICQAAjQkAAJIJAACWCQAAmwkAAKAJAAClCQAAqgkAAK4JAACzCQAAuAkAAL0JAADCCQAAxgkAAMsJAADQCQAA1QkAANoJAADeCQAA4wkAAOgJAADtCQAA8gkAAPYJAAD7CQAAAAoAAAUKAAAKCgAADgoAABMKAAAYCgAAHQoAACIKAAAmCgAAKwoAADAKAAA1CgAAOQoAAD4KAABDCgAASAoAAE0KAABRCgAAVgoAAFsKAABgCgAAZAoAAGkKAABuCgAAcwoAAHcKAAB8CgAAgQoAAIYKAACLCgAAjwoAAJQKAACZCgAAngoAAKIKAACnCgAArAoAALEKAAC1CgAAugoAAL8KAADECgAAyAoAAM0KAADSCgAA1woAANsKAADgCgAA5QoAAOkKAADuCgAA8woAAPgKAAD8CgAAAQsAAAYLAAALCwAADwsAABQLAAAZCwAAHgsAACILAAAnCwAALAsAADALAAA1CwAAOgsAAD8LAABDCwAASAsAAE0LAABRCwAAVgsAAFsLAABgCwAAZAsAAGkLAABuCwAAcgsAAHcLAAB8CwAAgAsAAIULAACKCwAAjwsAAJMLAACYCwAAnQsAAKELAACmCwAAqwsAAK8LAAC0CwAAuQsAAL0LAADCCwAAxwsAAMsLAADQCwAA1QsAANkLAADeCwAA4wsAAOcLAADsCwAA8QsAAPULAAD6CwAA/wsAAAMMAAAIDAAADQwAABEMAAAWDAAAGwwAAB8MAAAkDAAAKQwAAC0MAAAyDAAANwwAADsMAABADAAARQwAAEkMAABODAAAUwwAAFcMAABcDAAAYAwAAGUMAABqDAAAbgwAAHMMAAB4DAAAfAwAAIEMAACGDAAAigwAAI8MAACTDAAAmAwAAJ0MAAChDAAApgwAAKsMAACvDAAAtAwAALgMAAC9DAAAwgwAAMYMAADLDAAAzwwAANQMAADZDAAA3QwAAOIMAADmDAAA6wwAAPAMAAD0DAAA+QwAAP0MAAACDQAABw0AAAsNAAAQDQAAFA0AABkNAAAeDQAAIg0AACcNAAArDQAAMA0AADQNAAA5DQAAPg0AAEINAABHDQAASw0AAFANAABUDQAAWQ0AAF4NAABiDQAAZw0AAGsNAABwDQAAdA0AAHkNAAB9DQAAgg0AAIcNAACLDQAAkA0AAJQNAACZDQAAnQ0AAKINAACmDQAAqw0AAK8NAAC0DQAAuQ0AAL0NAADCDQAAxg0AAMsNAADPDQAA1A0AANgNAADdDQAA4Q0AAOYNAADqDQAA7w0AAPMNAAD4DQAA/A0AAAEOAAAFDgAACg4AAA8OAAATDgAAGA4AABwOAAAhDgAAJQ4AACoOAAAuDgAAMw4AADcOAAA8DgAAQA4AAEUOAABJDgAATg4AAFIOAABWDgAAWw4AAF8OAABkDgAAaA4AAG0OAABxDgAAdg4AAHoOAAB/DgAAgw4AAIgOAACMDgAAkQ4AAJUOAACaDgAAng4AAKMOAACnDgAArA4AALAOAAC0DgAAuQ4AAL0OAADCDgAAxg4AAMsOAADPDgAA1A4AANgOAADcDgAA4Q4AAOUOAADqDgAA7g4AAPMOAAD3DgAA/A4AAAAPAAAEDwAACQ8AAA0PAAASDwAAFg8AABsPAAAfDwAAIw8AACgPAAAsDwAAMQ8AADUPAAA6DwAAPg8AAEIPAABHDwAASw8AAFAPAABUDwAAWA8AAF0PAABhDwAAZg8AAGoPAABuDwAAcw8AAHcPAAB8DwAAgA8AAIQPAACJDwAAjQ8AAJEPAACWDwAAmg8AAJ8PAACjDwAApw8AAKwPAACwDwAAtQ8AALkPAAC9DwAAwg8AAMYPAADKDwAAzw8AANMPAADXDwAA3A8AAOAPAADlDwAA6Q8AAO0PAADyDwAA9g8AAPoPAAD/DwAAAxAAAAcQAAAMEAAAEBAAABQQAAAZEAAAHRAAACEQAAAmEAAAKhAAAC4QAAAzEAAANxAAADsQAABAEAAARBAAAEgQAABNEAAAURAAAFUQAABaEAAAXhAAAGIQAABnEAAAaxAAAG8QAABzEAAAeBAAAHwQAACAEAAAhRAAAIkQAACNEAAAkhAAAJYQAACaEAAAnhAAAKMQAACnEAAAqxAAALAQAAC0EAAAuBAAALwQAADBEAAAxRAAAMkQAADOEAAA0hAAANYQAADaEAAA3xAAAOMQAADnEAAA6xAAAPAQAAD0EAAA+BAAAP0QAAABEQAABREAAAkRAAAOEQAAEhEAABYRAAAaEQAAHxEAACMRAAAnEQAAKxEAADARAAA0EQAAOBEAADwRAABAEQAARREAAEkRAABNEQAAUREAAFYRAABaEQAAXhEAAGIRAABmEQAAaxEAAG8RAABzEQAAdxEAAHwRAACAEQAAhBEAAIgRAACMEQAAkREAAJURAACZEQAAnREAAKERAACmEQAAqhEAAK4RAACyEQAAthEAALsRAAC/EQAAwxEAAMcRAADLEQAAzxEAANQRAADYEQAA3BEAAOARAADkEQAA6REAAO0RAADxEQAA9REAAPkRAAD9EQAAAhIAAAYSAAAKEgAADhIAABISAAAWEgAAGhIAAB8SAAAjEgAAJxIAACsSAAAvEgAAMxIAADcSAAA8EgAAQBIAAEQSAABIEgAATBIAAFASAABUEgAAWRIAAF0SAABhEgAAZRIAAGkSAABtEgAAcRIAAHUSAAB6EgAAfhIAAIISAACGEgAAihIAAI4SAACSEgAAlhIAAJoSAACfEgAAoxIAAKcSAACrEgAArxIAALMSAAC3EgAAuxIAAL8SAADDEgAAxxIAAMwSAADQEgAA1BIAANgSAADcEgAA4BIAAOQSAADoEgAA7BIAAPASAAD0EgAA+BIAAPwSAAABEwAABRMAAAkTAAANEwAAERMAABUTAAAZEwAAHRMAACETAAAlEwAAKRMAAC0TAAAxEwAANRMAADkTAAA9EwAAQRMAAEUTAABJEwAATRMAAFETAABVEwAAWhMAAF4TAABiEwAAZhMAAGoTAABuEwAAchMAAHYTAAB6EwAAfhMAAIITAACGEwAAihMAAI4TAACSEwAAlhMAAJoTAACeEwAAohMAAKYTAACqEwAArhMAALITAAC2EwAAuhMAAL4TAADCEwAAxhMAAMoTAADOEwAA0hMAANYTAADaEwAA3hMAAOITAADmEwAA6RMAAO0TAADxEwAA9RMAAPkTAAD9EwAAARQAAAUUAAAJFAAADRQAABEUAAAVFAAAGRQAAB0UAAAhFAAAJRQAACkUAAAtFAAAMRQAADUUAAA5FAAAPRQAAEAUAABEFAAASBQAAEwUAABQFAAAVBQAAFgUAABcFAAAYBQAAGQUAABoFAAAbBQAAHAUAABzFAAAdxQAAHsUAAB/FAAAgxQAAIcUAACLFAAAjxQAAJMUAACXFAAAmxQAAJ4UAACiFAAAphQAAKoUAACuFAAAshQAALYUAAC6FAAAvhQAAMEUAADFFAAAyRQAAM0UAADRFAAA1RQAANkUAADdFAAA4BQAAOQUAADoFAAA7BQAAPAUAAD0FAAA+BQAAPsUAAD/FAAAAxUAAAcVAAALFQAADxUAABMVAAAWFQAAGhUAAB4VAAAiFQAAJhUAACoVAAAtFQAAMRUAADUVAAA5FQAAPRUAAEEVAABEFQAASBUAAEwVAABQFQAAVBUAAFgVAABbFQAAXxUAAGMVAABnFQAAaxUAAG4VAAByFQAAdhUAAHoVAAB+FQAAgRUAAIUVAACJFQAAjRUAAJEVAACUFQAAmBUAAJwVAACgFQAApBUAAKcVAACrFQAArxUAALMVAAC3FQAAuhUAAL4VAADCFQAAxhUAAMkVAADNFQAA0RUAANUVAADYFQAA3BUAAOAVAADkFQAA6BUAAOsVAADvFQAA8xUAAPcVAAD6FQAA/hUAAAIWAAAGFgAACRYAAA0WAAARFgAAFBYAABgWAAAcFgAAIBYAACMWAAAnFgAAKxYAAC8WAAAyFgAANhYAADoWAAA+FgAAQRYAAEUWAABJFgAATBYAAFAWAABUFgAAWBYAAFsWAABfFgAAYxYAAGYWAABqFgAAbhYAAHEWAAB1FgAAeRYAAH0WAACAFgAAhBYAAIgWAACLFgAAjxYAAJMWAACWFgAAmhYAAJ4WAAChFgAApRYAAKkWAACsFgAAsBYAALQWAAC3FgAAuxYAAL8WAADCFgAAxhYAAMoWAADNFgAA0RYAANUWAADYFgAA3BYAAOAWAADjFgAA5xYAAOsWAADuFgAA8hYAAPYWAAD5FgAA/RYAAAAXAAAEFwAACBcAAAsXAAAPFwAAExcAABYXAAAaFwAAHRcAACEXAAAlFwAAKBcAACwXAAAwFwAAMxcAADcXAAA6FwAAPhcAAEIXAABFFwAASRcAAEwXAABQFwAAVBcAAFcXAABbFwAAXhcAAGIXAABmFwAAaRcAAG0XAABwFwAAdBcAAHgXAAB7FwAAfxcAAIIXAACGFwAAiRcAAI0XAACRFwAAlBcAAJgXAACbFwAAnxcAAKIXAACmFwAAqhcAAK0XAACxFwAAtBcAALgXAAC7FwAAvxcAAMIXAADGFwAAyRcAAM0XAADRFwAA1BcAANgXAADbFwAA3xcAAOIXAADmFwAA6RcAAO0XAADwFwAA9BcAAPcXAAD7FwAA/hcAAAIYAAAGGAAACRgAAA0YAAAQGAAAFBgAABcYAAAbGAAAHhgAACIYAAAlGAAAKRgAACwYAAAwGAAAMxgAADcYAAA6GAAAPhgAAEEYAABFGAAASBgAAEwYAABPGAAAUxgAAFYYAABaGAAAXRgAAGAYAABkGAAAZxgAAGsYAABuGAAAchgAAHUYAAB5GAAAfBgAAIAYAACDGAAAhxgAAIoYAACOGAAAkRgAAJQYAACYGAAAmxgAAJ8YAACiGAAAphgAAKkYAACtGAAAsBgAALMYAAC3GAAAuhgAAL4YAADBGAAAxRgAAMgYAADMGAAAzxgAANIYAADWGAAA2RgAAN0YAADgGAAA4xgAAOcYAADqGAAA7hgAAPEYAAD1GAAA+BgAAPsYAAD/GAAAAhkAAAYZAAAJGQAADBkAABAZAAATGQAAFxkAABoZAAAdGQAAIRkAACQZAAAoGQAAKxkAAC4ZAAAyGQAANRkAADgZAAA8GQAAPxkAAEMZAABGGQAASRkAAE0ZAABQGQAAUxkAAFcZAABaGQAAXRkAAGEZAABkGQAAaBkAAGsZAABuGQAAchkAAHUZAAB4GQAAfBkAAH8ZAACCGQAAhhkAAIkZAACMGQAAkBkAAJMZAACWGQAAmhkAAJ0ZAACgGQAApBkAAKcZAACqGQAArhkAALEZAAC0GQAAuBkAALsZAAC+GQAAwhkAAMUZAADIGQAAzBkAAM8ZAADSGQAA1RkAANkZAADcGQAA3xkAAOMZAADmGQAA6RkAAO0ZAADwGQAA8xkAAPYZAAD6GQAA/RkAAAAaAAAEGgAABxoAAAoaAAANGgAAERoAABQaAAAXGgAAGxoAAB4aAAAhGgAAJBoAACgaAAArGgAALhoAADEaAAA1GgAAOBoAADsaAAA+GgAAQhoAAEUaAABIGgAASxoAAE8aAABSGgAAVRoAAFgaAABcGgAAXxoAAGIaAABlGgAAaRoAAGwaAABvGgAAchoAAHYaAAB5GgAAfBoAAH8aAACDGgAAhhoAAIkaAACMGgAAjxoAAJMaAACWGgAAmRoAAJwaAACfGgAAoxoAAKYaAACpGgAArBoAALAaAACzGgAAthoAALkaAAC8GgAAwBoAAMMaAADGGgAAyRoAAMwaAADPGgAA0xoAANYaAADZGgAA3BoAAN8aAADjGgAA5hoAAOkaAADsGgAA7xoAAPIaAAD2GgAA+RoAAPwaAAD/GgAAAhsAAAUbAAAJGwAADBsAAA8bAAASGwAAFRsAABgbAAAcGwAAHxsAACIbAAAlGwAAKBsAACsbAAAuGwAAMhsAADUbAAA4GwAAOxsAAD4bAABBGwAARBsAAEgbAABLGwAAThsAAFEbAABUGwAAVxsAAFobAABdGwAAYRsAAGQbAABnGwAAahsAAG0bAABwGwAAcxsAAHYbAAB5GwAAfRsAAIAbAACDGwAAhhsAAIkbAACMGwAAjxsAAJIbAACVGwAAmBsAAJwbAACfGwAAohsAAKUbAACoGwAAqxsAAK4bAACxGwAAtBsAALcbAAC6GwAAvRsAAMEbAADEGwAAxxsAAMobAADNGwAA0BsAANMbAADWGwAA2RsAANwbAADfGwAA4hsAAOUbAADoGwAA6xsAAO4bAADyGwAA9RsAAPgbAAD7GwAA/hsAAAEcAAAEHAAABxwAAAocAAANHAAAEBwAABMcAAAWHAAAGRwAABwcAAAfHAAAIhwAACUcAAAoHAAAKxwAAC4cAAAxHAAANBwAADccAAA6HAAAPRwAAEAcAABDHAAARhwAAEkcAABMHAAATxwAAFIcAABVHAAAWBwAAFscAABeHAAAYRwAAGQcAABnHAAAahwAAG0cAABwHAAAcxwAAHYcAAB5HAAAfBwAAH8cAACCHAAAhRwAAIgcAACLHAAAjhwAAJEcAACUHAAAlxwAAJocAACdHAAAoBwAAKMcAACmHAAAqRwAAKwcAACvHAAAshwAALUcAAC4HAAAuxwAAL4cAADBHAAAwxwAAMYcAADJHAAAzBwAAM8cAADSHAAA1RwAANgcAADbHAAA3hwAAOEcAADkHAAA5xwAAOocAADtHAAA8BwAAPMcAAD1HAAA+BwAAPscAAD+HAAAAR0AAAQdAAAHHQAACh0AAA0dAAAQHQAAEx0AABYdAAAYHQAAGx0AAB4dAAAhHQAAJB0AACcdAAAqHQAALR0AADAdAAAzHQAANR0AADgdAAA7HQAAPh0AAEEdAABEHQAARx0AAEodAABNHQAATx0AAFIdAABVHQAAWB0AAFsdAABeHQAAYR0AAGQdAABmHQAAaR0AAGwdAABvHQAAch0AAHUdAAB4HQAAex0AAH0dAACAHQAAgx0AAIYdAACJHQAAjB0AAI4dAACRHQAAlB0AAJcdAACaHQAAnR0AAKAdAACiHQAApR0AAKgdAACrHQAArh0AALEdAACzHQAAth0AALkdAAC8HQAAvx0AAMIdAADEHQAAxx0AAModAADNHQAA0B0AANMdAADVHQAA2B0AANsdAADeHQAA4R0AAOMdAADmHQAA6R0AAOwdAADvHQAA8R0AAPQdAAD3HQAA+h0AAP0dAAD/HQAAAh4AAAUeAAAIHgAACx4AAA0eAAAQHgAAEx4AABYeAAAZHgAAGx4AAB4eAAAhHgAAJB4AACYeAAApHgAALB4AAC8eAAAyHgAANB4AADceAAA6HgAAPR4AAD8eAABCHgAARR4AAEgeAABKHgAATR4AAFAeAABTHgAAVR4AAFgeAABbHgAAXh4AAGAeAABjHgAAZh4AAGkeAABrHgAAbh4AAHEeAAB0HgAAdh4AAHkeAAB8HgAAfx4AAIEeAACEHgAAhx4AAIoeAACMHgAAjx4AAJIeAACUHgAAlx4AAJoeAACdHgAAnx4AAKIeAAClHgAAqB4AAKoeAACtHgAAsB4AALIeAAC1HgAAuB4AALoeAAC9HgAAwB4AAMMeAADFHgAAyB4AAMseAADNHgAA0B4AANMeAADVHgAA2B4AANseAADeHgAA4B4AAOMeAADmHgAA6B4AAOseAADuHgAA8B4AAPMeAAD2HgAA+B4AAPseAAD+HgAAAB8AAAMfAAAGHwAACB8AAAsfAAAOHwAAEB8AABMfAAAWHwAAGB8AABsfAAAeHwAAIB8AACMfAAAmHwAAKB8AACsfAAAuHwAAMB8AADMfAAA2HwAAOB8AADsfAAA9HwAAQB8AAEMfAABFHwAASB8AAEsfAABNHwAAUB8AAFMfAABVHwAAWB8AAFofAABdHwAAYB8AAGIfAABlHwAAaB8AAGofAABtHwAAbx8AAHIfAAB1HwAAdx8AAHofAAB8HwAAfx8AAIIfAACEHwAAhx8AAIofAACMHwAAjx8AAJEfAACUHwAAlx8AAJkfAACcHwAAnh8AAKEfAACkHwAAph8AAKkfAACrHwAArh8AALAfAACzHwAAth8AALgfAAC7HwAAvR8AAMAfAADDHwAAxR8AAMgfAADKHwAAzR8AAM8fAADSHwAA1R8AANcfAADaHwAA3B8AAN8fAADhHwAA5B8AAOYfAADpHwAA7B8AAO4fAADxHwAA8x8AAPYfAAD4HwAA+x8AAP0fAAAAIAAAAAAAAAAAAAAAAAAAEAAAABEAAAASAAAAAAAAAAgAAAAHAAAACQAAAAYAAAAKAAAABQAAAAsAAAAEAAAADAAAAAMAAAANAAAAAgAAAA4AAAABAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAAFAAAABQAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAA0AAAAPAAAAEQAAABMAAAAXAAAAGwAAAB8AAAAjAAAAKwAAADMAAAA7AAAAQwAAAFMAAABjAAAAcwAAAIMAAACjAAAAwwAAAOMAAAACAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAcAAAAJAAAADQAAABEAAAAZAAAAIQAAADEAAABBAAAAYQAAAIEAAADBAAAAAQEAAIEBAAABAgAAAQMAAAEEAAABBgAAAQgAAAEMAAABEAAAARgAAAEgAAABMAAAAUAAAAFgAAAAAAAAAAAAAAgAAAAIAAAABAAAAAQAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAQAAAAAAAAAAgAAAAAAAAABAAAAAAAAAAAAAAAIAAAACAAAAAgAAAAEAAAABAAAAAIAAAACAAAAAAAAAAAAAAAAAAAABAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAMAAAACAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAALAgAAKgIAAEsCAABuAgAAkwIAALoCAADkAgAAEAMAAD8DAABwAwAApAMAANgDAAAWBAAAAAAAAAAAAAAAAAAAmGwuAJhsLgCYbC4AmGwuAGj8AABq/AAAbPwAAG78AABw/AAAcvwAAHT8AAB2/AAAePwAAHr8AAB8/AAAfvwAAID8AACC/AAAhPwAAIb8AACI/AAAivwAAIz8AACO/AAAkPwAAJL8AACU/AAAlvwAAJj8AACa/AAAnPwAAJ78AACg/AAAovwAAKT8AACm/AAAqPwAAKr8AACs/AAArvwAALD8AAC3/AAAvvwAAMj8AADM/AAA0vwAANT8AADW/AAA2PwAANr8AADg/AAA4vwAAOT8AADm/AAA6PwAAFYZAQDq/AAA7PwAAPX8AAD4/AAA+/wAAP78AAAB/QAABP0AAAf9AAAK/QAADf0AABD9AAAU/QAAGP0AABz9AAAo/QAAM/0AADn9AABA/QAARf0AAEz9AABT/QAAV/0AAGD9AABm/QAAa/0AAHD9AABz/QAAe/0AAIT9AACN/QAAlv0AAJ/9AACs/QAAtf0AAL79AADH/QAA0P0AANn9AADi/QAA6/0AAPT9AAD9/QAABv4AAJhsLgAP/gAAG/4AACH+AAAq/gAALv4AADL+AAA2/gAAOv4AAD7+AABC/gAARv4AAEr+AABO/gAAUv4AAFb+AABa/gAAYv4AAGf+AABs/gAAc/4AAHj+AAB+/gAAg/4AAIf+AACM/gAAkv4AAJf+AACc/gAApf4AAJhsLgCYbC4AmGwuALD+AAC5/gAAmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4Ayv4AANP+AADa/gAA4f4AAOf+AACw/AAA7f4AAPf+AAD7/gAAAP8AAA7/AAAU/wAAmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgAa/wAAJP8AAC//AABC/wAAU/8AAGD/AABw/wAAef8AAIL/AACL/wAAlP8AAJ//AACw/wAAuf8AAML/AADL/wAA1P8AAN3/AADm/wAA8f8AAPr/AAADAAEADAABABUAAQAeAAEAKAABADEAAQA7AAEARAABAE0AAQBaAAEAYwABAGwAAQB8AAEAjQABAJ0AAQCrAAEAvgABANEAAQDiAAEA7QABAPoAAQAMAQEAGgEBACcBAQA2AQEAmGwuAJhsLgBJAQEAUwEBAF4BAQBnAQEAcAEBAHsBAQCHAQEAkQEBAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCbAQEApgEBALABAQC6AQEAxAEBAM4BAQDYAQEA5AEBAOgBAQDtAQEA+AEBAAECAQALAgEAEwIBABsCAQAmAgEALgIBADkCAQBGAgEAVQIBAGICAQBwAgEAfwIBAIwCAQCXAgEAnQIBAKMCAQCoAgEArQIBALkCAQCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgDilogAAAAA4paSAAAAAPCfkLEAAADirIfvuI8A4paRAAAAAOKcvQAAAADil48AAAAA4pmlAAAAAOKYiQAAAADsm4MAAAAA4oyCAAAAAOKshe+4jwDwn5iQAAAA4pmqAAAAAPCfhb7vuI/il4YAAAAA4oCmAAAAAOKeoe+4jwDimIUAAAAA4qeXAAAAAOKshu+4jwDLhwAAAAAA4oinAAAAAOKdjgAAAADilqQAAAAA4palAAAAAOKWrgAAAADilqAAAAAA4pahAAAAAOKBmQAAAADigZgAAAAA4oCWAAAAAOKXgAAAAADilrYAAAAA44CMAAAAAOOAjQAAAADCpQAAAAAA4oCiAAAAAOOAgQAAAADjgIIAAAAA44KbAAAAAOOCnAAAAADil5wAAAAA4pedAAAAAPCdmKIAAADwnZijAAAA8J2YpAAAAPCdmKUAAADwnZimAAAA8J2YpwAAAPCdmKgAAADwnZipAAAA8J2YqgAAAPCdmKsAAADwnZisAAAA8J2YrQAAAPCdmK4AAADwnZivAAAA8J2YsAAAAPCdmLEAAADwnZiyAAAA8J2YswAAAPCdmLQAAADwnZi1AAAA8J2YtgAAAPCdmLcAAADwnZi4AAAA8J2YuQAAAPCdmLoAAADwnZi7AAAAAAAAAAAAsIHiALnCAACywgAAs8IAALSB4gC1geIAtoHiALeB4gC4geIAuYHiAIO14QCHteEAnLbhAIi14QCJteEAoLbhAIKBAACEgQAAhoEAAIiBAACKgQAAi4EAAI2BAACPgQAAkYEAAJOBAACVgQAAl4EAAJmBAACbgQAAnYEAAJ+BAAChgQAApIEAAKaBAACogQAAqoEAAKuBAACsgQAArYEAAK6BAACvgQAAsoEAALWBAAC4gQAAu4EAAL6BAAC/gQAAgIIAAIGCAACCggAAhIIAAIaCAACIggAAiYIAAIqCAACLggAAjIIAAI2CAACPggAAkoIAAJOCAACjgQAAg4IAAIWCAACHggAAAAAAAAAAAACiggAApIIAAKaCAACoggAAqoIAAKuCAACtggAAr4IAALGCAACzggAAtYIAALeCAAC5ggAAu4IAAL2CAAC/ggAAgYMAAISDAACGgwAAiIMAAIqDAACLgwAAjIMAAI2DAACOgwAAj4MAAJKDAACVgwAAmIMAAJuDAACegwAAn4MAAKCDAAChgwAAooMAAKSDAACmgwAAqIMAAKmDAACqgwAAq4MAAKyDAACtgwAAr4MAALKDAACzgwAAg4MAAKODAAClgwAAp4MAAAAAAAAAAAAAiwMAAIQDAAB+AwAAdwMAAHEDAABrAwAAZAMAAF4DAABYAwAAUgMAAEwDAABGAwAAQAMAADoDAAA0AwAALgMAACgDAAAiAwAAHAMAABcDAAARAwAACwMAAAYDAAAAAwAA+gIAAPUCAADwAgAA6gIAAOUCAADgAgAA2gIAANUCAADQAgAAywIAAMUCAADAAgAAuwIAALYCAACxAgAArAIAAKYCAACjAgAAngIAAJkCAACUAgAAjwIAAIsCAACGAgAAgAIAAHwCAAB4AgAAdAIAAG8CAABrAgAAZgIAAGICAABcAgAAWQIAAFUCAABQAgAATAIAAEgCAABEAgAAPwIAADoCAAA3AgAAMwIAAC8CAAArAgAAJwIAACMCAAAfAgAAGgIAABcCAAAUAgAAEAIAAAwCAAAIAgAABAIAAAECAAD8AQAA+QEAAPYBAADyAQAA7gEAAOsBAADnAQAA5AEAAOABAADdAQAA2gEAANYBAADTAQAAzwEAAMwBAADJAQAAAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzTAAAAABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRlQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fAAAAAAAAAAAAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1Bf////////////////////8iIgIA9gEAABmTDQoaCgAAfQYAAO++rd5nRSMBAQAAAP////8JAAAA776t3mdFIwET+wAA/////wEAAAAAADwAAQAAAGiJAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAOhUGQAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAK/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaIkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFxsLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX3CJAP8JLw9WGQEAmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4AmGwuAJhsLgCYbC4Af39/f39/f39/f39/f38AAHJvb3RfcGF0aABjZGF0YV9wYXRoAGpveXN0aWNrX2luZGV4ACAlZABidXR0b25fa2V5cwAgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQAbGl2ZV9ub3RlcwBjdXJzb3Jfc25hcABndWlfdGhlbWUAc2hpZnRfZ2x5cGhzAHNob3dfYmFja3VwX21lc3NhZ2VzAGhvc3RfZnJhbWVyYXRlX2NvbnRyb2wAY29udGVudF9maWx0ZXIAZHJhd190YWJzAHJlY29yZF9hY3Rpdml0eV9sb2cAYWxsb3dfZnVuY3Rpb25fa2V5cwBjaGVja19mb3JfY2FydF91cGRhdGVzAGVuYWJsZV9ncGlvAGZsaXBfYW1wZXJzYW5kAHZlcnNpb24gJXMKCgAwLjIuMmMALy8gYXVkaW8gdm9sdW1lOiAwLi4yNTYgCgB2b2x1bWUgJWQKCgAKLy8gTG9jYXRpb24gb2YgcGljby04J3Mgcm9vdCBmb2xkZXIKAHJvb3RfcGF0aCAlcwoKAAovLyBMb2NhdGlvbiBvZiBjYXJ0cmlkZ2Ugc2F2ZSBkYXRhCgBjZGF0YV9wYXRoICVzCgoACi8vIFNwZWNpZnkgd2hpY2ggcGxheWVyIGluZGV4IGpveXN0aWNrIGNvbnRyb2wgYmVnaW5zIGF0ICgwLi43KQoAam95c3RpY2tfaW5kZXggJWQKCgAKLy8gQ3VzdG9tIGtleWJvYXJkIHNjYW5jb2RlcyBmb3IgYnV0dG9ucy4gcGxheWVyMCAwLi42LCBwbGF5ZXIxIDAuLjUKAGJ1dHRvbl9rZXlzIAAlZCAACgoALy8gUGxheSBub3RlcyBhcyB0aGV5IGFyZSBwbG90dGVkIGluIGZyZXF1ZW5jeSBtb2RlCgBsaXZlX25vdGVzICVkCgoALy8gaWZmIDE6IHdoZW4gdXNpbmcga2V5Ym9hcmQgY3Vyc29yLCBzbmFwIHRvIGNsb3Nlc3QgcGl4ZWwgLyBtYXAgY2VsCgBjdXJzb3Jfc25hcCAlZAoKAC8vIDAgZGVmYXVsdCAgMSBkYXJrIGJsdWUgYmFja2dyb3VuZCBpbiBjb2RlIGVkaXRvciAgMiBibGFjayBiYWNrZ3JvdW5kIGluIGNvZGUgZWRpdG9yICAgMyBncmF5IGJhY2tncm91bmQgaW4gY29kZSBlZGl0b3IgICAKAGd1aV90aGVtZSAlZAoKAC8vIHNjYWxlIG9mIHNjcmVlbnNob3RzIGFuZCBnaWZzIC8vIDIgbWVhbnMgMjU2eDI1NgoAc2NyZWVuc2hvdF9zY2FsZSAlZAoAZ2lmX3NjYWxlICVkCgoALy8gbWF4aW11bSBnaWYgbGVuZ3RoIGluIHNlY29uZHMgKDAuLjEyMDsgMCBtZWFucyBubyBnaWYgcmVjb3JkaW5nKQoAZ2lmX2xlbiAlZAoKAC8vIHdoZW4gMSwgcmVzZXQgdGhlIHJlY29yZGluZyB3aGVuIHByZXNzaW5nIGN0cmwtOSAodXNlZnVsIGZvciBjcmVhdGluZyBhIG5vbi1vdmVybGFwcGluZyBzZXF1ZW5jZSkKAGdpZl9yZXNldF9tb2RlICVkCgoALy8gMCBmb3Igb2ZmLiAxIHRvIGFsbG93IGNvbnRyb2wgb2YgYSBjYXJ0J3MgZnJhbWVyYXRlIGR1ZSB0byBob3N0IG1hY2hpbmUncyBjcHUgY2FwYWNpdHkgKHJlY29tbWVuZGVkKQoAaG9zdF9mcmFtZXJhdGVfY29udHJvbCAlZAoKAC8vIGZpbHRlciBzcGxvcmUgY2FydHJpZGdlcwoALy8gMCBvZmYgICAxIG9uIChleGNsdWRlIGNhcnRyaWRnZSB0YWdnZWQgYXMgJ21hdHVyZScgYnkgY29tbXVuaXR5KQoAc3Bsb3JlX2ZpbHRlciAlZAoKAC8vIHRhYiBkaXNwbGF5IHdpZHRoICgxIH4gNCBzcGFjZXMpCgB0YWJfd2lkdGggJWQKCgAvLyAwIG9mZiAxIG9uOiBkcmF3IHRhYiBjaGFyYWN0ZXJzIGFzIHNtYWxsIHZlcnRpY2FsIGxpbmVzCgBkcmF3X3RhYnMgJWQKCgAvLyAwIG9mZiAxIG9uOiByZWNvcmQgdGhlIGN1cnJlbnQgY2FydHJpZGdlIGFuZCBlZGl0b3IgdmlldyBldmVyeSAzIHNlY29uZHMgKHNlZSBbYXBwZGF0YV0vYWN0aXZpdHkubG9nLnR4dCkKAHJlY29yZF9hY3Rpdml0eV9sb2cgJWQKCgAvLyAwIG9mZiAxIG9uOiBhbGxvdyBGNi4uRjkgKGFsdGVybmF0aXZlOiBjdHJsIDYuLjkpCgBhbGxvd19mdW5jdGlvbl9rZXlzICVkCgoALy8gMCBvZmYgMSBvbjogYXV0b21hdGljYWxseSBjaGVjayBmb3IgYSBuZXdlciB2ZXJzaW9uIG9mIGEgQkJTIGNhcnQgZWFjaCB0aW1lIGl0IGlzIHJ1bi4KAGNoZWNrX2Zvcl9jYXJ0X3VwZGF0ZXMgJWQKCgBmbGlwX2FtcGVyc2FuZCAxCgoAe2NpaWkgPSAkMDsgaWlpID0gMDt9ACJ7aWlpID0gaWlpKzE7IHJldHVybiBfY2FydG5hbWVbY2lpaV0uY2hhckNvZGVBdChpaWktMSk7IH0iAFtjb2RvXSBiYnNfd2dldF9vbmxvYWQgOjogcmVjZWl2ZWQuIHByZXBhcmluZyB0byBydW4uIHBzdGF0ZS5jdXJyZW50X2ZpbGVuYW1lICVzIGFwcC5hcmd2X2ZpbGVuYW1lICVzCgB3cm90ZSBsZW46ICVkCgAvYmJzL2dldF9jYXJ0LnBocABsaWQ9AGZpbGVuYW1lX25vdF9mb3VuZC5wOC5wbmcAYmJzX3dnZXRfb25sb2FkOiBzZXQgY3VycmVudF9maWxlbmFtZSB0byAlcyAoZGVyaXZlZCBmcm9tICVzKQoAZmV0Y2hpbmcgY2FydHJpZGdlLi4gb2sAY291bGQgbm90IGZldGNoIGNhcnQAInsgaWYgKHR5cGVvZiBfY2FydGRhdCAhPT0ndW5kZWZpbmVkJykgcmV0dXJuIDE7IHJldHVybiAwO30iACJ7cmV0dXJuIF9jYXJ0ZGF0Lmxlbmd0aCAvIDMyNzY4fSIAInsgX2NkcG9zPV9jZHBvcysxOyByZXR1cm4gX2NhcnRkYXRbX2NkcG9zLTFdOyB9IgBzdGFydGluZyBkb3dubG9hZAoAbG9hZGluZyBlbWJlZGRlZCBjYXJ0cmlkZ2UKAGpveXN0aWNrAGdsb2JhbF9hcGkAa2lvc2sAZ3Bpb19iYXNlAGdsaXRjaF90ZXN0AHgAZXhlYwBwYXJhbQBwAGFjY2VwdF9mdXR1cmUAdHZfZnJhbWUAZGlzcGxheXNfeABkaXNwbGF5c195AGkAbwBmdW5jdGlvbiBta2Rpcl8wKGQpIHsgdHJ5IHsgc3RhdCA9IEZTLnN0YXQoZCk7IGNvbnNvbGUubG9nKCJmb3VuZCBkaXJlY3Rvcnk6ICIrZCk7IH0gY2F0Y2ggKGUpIHsgRlMubWtkaXIoZCk7IGNvbnNvbGUubG9nKCJjcmVhdGVkIGRpcmVjdG9yeTogIitkKTsgfSB9IGNvbnNvbGUubG9nKCJtb3VudGluZyAvdXNlcl9kYXRhIik7IG1rZGlyXzAoJy91c2VyX2RhdGEnKTsgRlMubW91bnQoSURCRlMsIHt9LCAnL3VzZXJfZGF0YScpOyBGUy5zeW5jZnModHJ1ZSwgZnVuY3Rpb24gKGVycikgeyBpZiAoIWVycikgeyBjb25zb2xlLmxvZygiY29kbzogbW91bnRlZCBmaWxlc3lzdGVtLlxuIik7IGNvZG9fbW91bnRlZF9maWxlc3lzdGVtID0gMTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9jZGF0YScpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2NzdG9yZScpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2NhcnRzJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvYmFja3VwJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvcGxhdGVzJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvYmJzJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvYmJzL2NhcnRzJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvYmJzL2xhYmVscycpOyB9IGVsc2UgeyBjb25zb2xlLmxvZygiKiogY291bGQgbm90IG1vdW50IGZpbGVzeXN0ZW1cbiIpOyBjb25zb2xlLmxvZyhlcnIpOyB9IH0gKTsAdW50aXRsZWQucDgAdW50aXRsZWRfJWQucDgAInsgTW9kdWxlLnBpY284UmVzZXQgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gMTt9IDsgTW9kdWxlLnBpY284VG9nZ2xlU291bmQgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gMzt9IDsgTW9kdWxlLnBpY284VG9nZ2xlUGF1c2VkID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDQ7fSA7IE1vZHVsZS5waWNvOFNldFBhdXNlZCA9IGZ1bmN0aW9uKHApIHsgY29kb19jb21tYW5kID0gNTsgY29kb19jb21tYW5kX3AgPSAwOyBpZiAocCkgY29kb19jb21tYW5kX3A9MTt9IDsgTW9kdWxlLnBpY284VG9nZ2xlQ29udHJvbE1lbnUgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gNzt9IDsgTW9kdWxlLnBpY284RHJhZ092ZXIgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gMTA7fSA7IE1vZHVsZS5waWNvOERyYWdTdG9wID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDExO30gOyB9IgBwaWNvLTgAY2FydHMvAGNkYXRhLwBwaWNvOC5kYXQAZGF0YS5wb2QAUlVOTklORzogJXMKAGNvdWxkbid0IGxvYWQgJXMKAGNvdWxkIG5vdCBsb2FkICVzCgAuLwB7dmFyIHZhbD0wOyBpZiAod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLmluZGV4T2YoIndpZGdldC5waHAiKSA+PSAwKSB2YWw9MTsgcmV0dXJuIHZhbDt9AHt2YXIgdmFsPTA7IGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuaW5kZXhPZigicGljby04LnBocCIpID49IDApIHZhbD0xOyByZXR1cm4gdmFsO30AYSBuZXcgdmVyc2lvbiBvZiB0aGlzAGNhcnRyaWRnZSBpcyBhdmFpbGFibGUAJTAyZAAtLW1vcmUtLQBjb250aW51ZQByZXNldCBjYXJ0AHNvdW5kOm9uAHNvdW5kOm9mZgB1cGRhdGUgY2FydABza2lwAHNvdW5kIG9mZiAoY3RybC1tKQBzb3VuZCBvbiAoY3RybC1tKQBkb3dubG9hZCB0aW1lZCBvdXQAZG93bmxvYWRpbmcuLiBjYW5jZWxsZWQALm5mbwAvdGVtcC0AY291bGQgbm90IGZpbmQgY2FydABkb3dubG9hZGluZy4uIG9rAGxvYWRlZCAjJXMgKCVkIGNoYXJzKQBjb3VsZCBub3QgY29ubmVjdCB0byBiYnMAZnV0dXJlIHZlcnNpb24uIHBsZWFzZSB1cGRhdGUhAHsgaWYgKHR5cGVvZiBwaWNvOF9zdGF0ZSAhPT0gJ3VuZGVmaW5lZCcpeyBwaWNvOF9zdGF0ZS5pc19wYXVzZWQgPSAkMDsgcGljbzhfc3RhdGUuc291bmRfdm9sdW1lID0gJDE7IHBpY284X3N0YXRlLmZyYW1lX251bWJlciA9ICQyOyBwaWNvOF9zdGF0ZS5oYXNfZm9jdXMgPSAkMzsgcGljbzhfc3RhdGUuc2hvd19kcGFkID0gJDQ7IHBpY284X3N0YXRlLnJlcXVlc3RfcG9pbnRlcl9sb2NrID0gJDU7IH0gfQAie3ZhciB2YWw9MDsgaWYgKHR5cGVvZiBjb2RvX2NvbW1hbmQgIT09ICd1bmRlZmluZWQnKSB7dmFsPWNvZG9fY29tbWFuZDsgY29kb19jb21tYW5kPTA7fSByZXR1cm4gdmFsfSIAInt2YXIgdmFsPTA7IGlmICh0eXBlb2YgY29kb19jb21tYW5kX3AgIT09ICd1bmRlZmluZWQnKSB7dmFsPWNvZG9fY29tbWFuZF9wOyBjb2RvX2NvbW1hbmRfcD0wO30gcmV0dXJuIHZhbH0iACJ7YnV0dG9uX2kgPSAwfSIAInt2YXIgdmFsPS0xOyBpZiAodHlwZW9mIHBpY284X2J1dHRvbnMgIT09ICd1bmRlZmluZWQnKSB7dmFsID0gcGljbzhfYnV0dG9uc1tidXR0b25faV07IGJ1dHRvbl9pICsrO30gcmV0dXJuIHZhbDt9IgAie3ZhciB2YWwgPSAwOyBpZiAodHlwZW9mIHBpY284X2dhbWVwYWRzICE9PSAndW5kZWZpbmVkJykge3ZhbCA9IHBpY284X2dhbWVwYWRzLmNvdW50O30gcmV0dXJuIHZhbDt9IgAqKiBmYWlsZWQgdG8gc2F2ZSBzY3JlZW5zaG90AHNldCB2aWRlbyBzdGFydGluZyBwb2ludABubyB2aWRlbyByZWNvcmRlZCAocmVjOiBjdHJsLTgpACoqIGZhaWxlZCB0byBzYXZlIHZpZGVvAGpveXN0aWNrICVkIGNvbm5lY3RlZABqb3lzdGljayAlZCBkaXNjb25uZWN0ZWQAaWYgKHR5cGVvZiBvbl9tb2R1bGVfbG9hZCAhPT0gJ3VuZGVmaW5lZCcpIHsgaWYgKG9uX21vZHVsZV9sb2FkKSBvbl9tb2R1bGVfbG9hZCgpOyB9AFtjb2RvXSAqKiogYmJzX3dnZXRfb25sb2FkOiBpbiBtaWRkbGUgb2YgcnVubmluZyBzbGljZQBAQCBkb25lAGRhdGE6aW1hZ2UvJXM7YmFzZTY0LAB7IGlmICh0eXBlb2YgcDhpbWcgIT09ICd1bmRlZmluZWQnKSB7IHA4aW1nLnNyYz0iIjsgfSBwOGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOyBwOGltZy5zcmMgPSBVVEY4VG9TdHJpbmcoJDAsICQxKTsgcDhpbWcuc3R5bGUgPSAnd2lkdGg6MTI4cHg7IGhlaWdodDoxMjhweDsgaW1hZ2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQ7IC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IG5lYXJlc3QtbmVpZ2hib3I7JzsgaWYgKHR5cGVvZiBwOGltZ2hvbGRlciA9PT0gJ3VuZGVmaW5lZCcgfHwgIXA4aW1naG9sZGVyKXsgcDhpbWdob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgcDhpbWdob2xkZXIuc3R5bGUuY3NzVGV4dCA9ICdtaW4td2lkdGg6MTYwcHg7IGRpc3BsYXk6dGFibGU7IHBvc2l0aW9uOmZpeGVkOyB0b3A6MjBweDsgbGVmdDoyMHB4OyBwYWRkaW5nOjEycHg7IGJhY2tncm91bmQtY29sb3I6IzAwMDsgYm94LXNoYWRvdzogMnB4IDJweCA4cHggcmdiYSgxNiwgMCwgNDgsIDAuNCk7JzsgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwOGltZ2hvbGRlcik7IH0gaWYgKHA4aW1naG9sZGVyKSB7IHdoaWxlIChwOGltZ2hvbGRlci5jaGlsZEVsZW1lbnRDb3VudCA+IDApIHA4aW1naG9sZGVyLnJlbW92ZUNoaWxkKHA4aW1naG9sZGVyLmZpcnN0Q2hpbGQpOyB2YXIgZGlzbWlzcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBkaXNtaXNzLnN0eWxlLmNzc1RleHQgPSAnZGlzcGxheTp0YWJsZTsgZm9udC1zaXplOjEwcHQ7IGNvbG9yOiNmZmY7IHBhZGRpbmc6NHB4OyBjdXJzb3I6cG9pbnRlcjsgbWFyZ2luLWxlZnQ6MTBweDsgZmxvYXQ6cmlnaHQnOyBkaXNtaXNzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgcDhpbWcuc3JjPSIiOyB3aGlsZSAocDhpbWdob2xkZXIuY2hpbGRFbGVtZW50Q291bnQgPiAwKSBwOGltZ2hvbGRlci5yZW1vdmVDaGlsZChwOGltZ2hvbGRlci5maXJzdENoaWxkKTsgcDhpbWdob2xkZXIuc3R5bGUuZGlzcGxheT0ibm9uZSI7IH0sIGZhbHNlKTsgZGlzbWlzcy5pbm5lckhUTUwgPSAnWCc7IHA4aW1naG9sZGVyLmFwcGVuZENoaWxkKGRpc21pc3MpOyBwOGltZ2hvbGRlci5hcHBlbmRDaGlsZChwOGltZyk7IHZhciBpbmZvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7IGluZm8uaW5uZXJIVE1MID0gJzxicj4gPGZvbnQgc3R5bGU9ImNvbG9yOiNiYmI7IGZvbnQtc2l6ZTo4cHQiPjxjZW50ZXI+IChyaWdodC1jbGljayB0byBzYXZlKSA8L2NlbnRlcj48L2ZvbnQ+JzsgcDhpbWdob2xkZXIuYXBwZW5kQ2hpbGQoaW5mbyk7IGlmIChwOGltZ2hvbGRlci5zdHlsZS5kaXNwbGF5ID09ICJub25lIikgcDhpbWdob2xkZXIuc3R5bGUuZGlzcGxheSA9ICIiOyB9IH0AJTJ4AHBuZwBsb2FkaW5nIGZ1dHVyZSBjYXJ0IHZlcnNpb24AZnV0dXJlIHZlcnNpb246ICVkAGNhcnRyaWRnZSBkYXRhIGlzIGNvcnJ1cHRlZAAlcyVzLnA4JXMAJXMlcyVzLnA4AHVudGl0bGVkAGJhY2t1cC8AJTRkJTAyZCUwMmRfJTAyZCUwMmQlMDJkXwBwcm9ncmFtIG92ZXIgc2l6ZSBsaW1pdAoAY29tcHJlc3NlZCBjb2RlIHNpemUgdG9vIGxhcmdlCgAlZCAvICVkIGJ5dGVzAHdhcm5pbmc6IGNvbXByZXNzZWQgY29kZSB0b28gYmlnAHRvIGJlIGV4cG9ydGVkIG9yIHNhdmVkIGFzIHBuZwAoc2F2aW5nIC5wOCBhbnl3YXkpAGZsYXR0ZW5lZCAjaW5jbHVkZXMAKiogZmFpbGVkIHRvIHNhdmUgKioAL3VzZXJfZGF0YS9jc3RvcmUvJXMlcwBfXwBwcmVwYXJlX2xvYWRlZF9jYXJ0OiBsb29raW5nIGZvciBzYW5kYm94ZWQgY2FydCBwYXRjaDogJXMKACAgZm91bmQKACAgbm90IGZvdW5kCgB3YXJuaW5nOiBwb3NzaWJsZSBkZXByZWNhdGVkIEBAAGxlZ2FjeTogcGF0ICVkIHN3YXAgY2hhbjogJWQgJWQAcHJpbnQoImFyY2hlb3MiLDk4LDM0LDcpAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tIGxlZ2FjeSAwLjEuMSBhcGkgaW5qZWN0ZWQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIF92YWxpZGF0ZShjKSBpZiAoYy5fbnVtPT1uaWwpIHRoZW4gbG9jYWwgaT0wIHdoaWxlKGNbaSsxXX49bmlsKSBkbyBpPWkrMSBlbmQgYy5fbnVtPWkgYy5fbWF4PWkgCWMuX21pbj1pKzEgYy5fbnVtID0gaSBjLl9jaSA9IGkgZW5kIGVuZCAJZnVuY3Rpb24gZm9yZWFjaChjLCBmKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGVuZCBfdmFsaWRhdGUoYykgaWYgKGMuX21heCA9PSBuaWwpIHRoZW4gcmV0dXJuIGVuZCBmb3IgaT0xLGMuX21heCBkbyBpZiAoY1tpXSB+PSBuaWwpIHRoZW4gYy5fY2kgPSBpIGYoY1tpXSkgZW5kIGVuZCBlbmQgZnVuY3Rpb24gYWxsKGMpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZnVuY3Rpb24oKSBlbmQgZW5kIF92YWxpZGF0ZShjKSBsb2NhbCBpPTAgcmV0dXJuIGZ1bmN0aW9uKCkgaT1pKzEgd2hpbGUgKGNbaV09PW5pbCBhbmQgaTxjLl9tYXgpIGRvIGk9aSsxIGVuZCBpZiAoY1tpXSB+PSBuaWwpIHRoZW4gYy5fY2k9aSByZXR1cm4gY1tpXSBlbmQgZW5kIGVuZCBmdW5jdGlvbiBhZGQoYywgaSkgaWYgKGMgPT0gbmlsKSB0aGVuIHJldHVybiBlbmQgX3ZhbGlkYXRlKGMpIGZvciBqPWMuX21pbixjLl9tYXgrMSBkbyBpZiAoY1tqXSA9PSBuaWwpIHRoZW4gYy5fbWF4ID0gbWF4KGMuX21heCxqKSBjLl9taW4gPSBqKzEgYy5fbnVtID0gYy5fbnVtKzEgY1tqXT1pIHJldHVybiBpIGVuZCBlbmQgZW5kIGZ1bmN0aW9uIGNvdW50KGMpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gMCBlbmQgX3ZhbGlkYXRlKGMpIHJldHVybiBjLl9udW0gZW5kIGZ1bmN0aW9uIGRlbChjLGkpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZW5kIF92YWxpZGF0ZShjKSBpZiAoaT09bmlsKSB0aGVuIHJldHVybiBlbmQgaWYgKGMuX2NpPT1pKSB0aGVuIGNbYy5fY2ldPW5pbCBjLl9taW49bWluKGMuX21pbiwgYy5fY2kpIGMuX251bT1jLl9udW0tMSByZXR1cm4gZWxzZSBmb3Igaj0xLGMuX21heCBkbyBpZiAoY1tqXT09aSkgdGhlbiBjW2pdPW5pbCBjLl9taW49bWluKGMuX21pbixqKSBjLl9udW09Yy5fbnVtLTEgcmV0dXJuIGVuZCBlbmQgZW5kIHdoaWxlIChjLl9tYXg+MSBhbmQgY1tjLl9tYXhdPT1uaWwpIGRvIGMuX21heD1jLl9tYXgtMSBlbmQgZW5kICBuZD0wCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoAbGVnYWN5OiAwLjEuMSBhcGkgaW5qZWN0ZWQALmx1YQAuYmluAHBsZWFzZSBzcGVmaWN5IGEgZmlsZW5hbWUAKioqIG5vIGZpbGVuYW1lLiBub3Qgc2F2ZWQhICoqKgBjYW4gbm90IG92ZXJ3cml0ZSBiYnMgY2FydAAqIGNhbiBub3Qgb3ZlcndyaXRlIGJicyBjYXJ0ISAqAHNhdmUgZmFpbGVkACoqIHNhdmUgZmFpbGVkICoqAHNhdmVkICVzJXMlcwBsb2FkZWQgZXh0ZXJuYWwgY2hhbmdlcwAlc18lJWQucG5nACVzLnBuZwBmaWxlIG91dHB1dCBwYXRoOiAlcwoAc2F2aW5nIHNjcmVlbnNob3QgdG86ICVzCgBtb3VudF9lbWJlZGRlZF9jYXJ0OiAlcyAoJWQgY2hhcnMpICVzCgAqKiBtb3VudF9lbWJlZGRlZF9jYXJ0OiBmYWlsZWQgdG8gbW91bnQAY2FuIG5vdCBsb2FkAHA4bS5wbmcAcDhtLnBuZyBub3Qgc3VwcG9ydGVkAGltYWdlIGlzIHRvbyBsYXJnZSAoMTI4IG1heCkAZmlsZSBpcyB0b28gbGFyZ2UgKDI1NmsgbWF4KQB7IGpzU3RyaW5nID0gcDhfZHJvcHBlZF9jYXJ0OyBpZiAoIWpzU3RyaW5nKSByZXR1cm4gMDsgdmFyIGxlbmd0aEJ5dGVzID0gbGVuZ3RoQnl0ZXNVVEY4KGpzU3RyaW5nKSsxOyB2YXIgc3RyaW5nT25XYXNtSGVhcCA9IF9tYWxsb2MobGVuZ3RoQnl0ZXMpOyBzdHJpbmdUb1VURjgoanNTdHJpbmcsIHN0cmluZ09uV2FzbUhlYXAsIGxlbmd0aEJ5dGVzKTsgcmV0dXJuIHN0cmluZ09uV2FzbUhlYXA7IH0AeyBqc1N0cmluZyA9IHA4X2Ryb3BwZWRfY2FydF9uYW1lOyBpZiAoIWpzU3RyaW5nKSByZXR1cm4gMDsgdmFyIGxlbmd0aEJ5dGVzID0gbGVuZ3RoQnl0ZXNVVEY4KGpzU3RyaW5nKSsxOyB2YXIgc3RyaW5nT25XYXNtSGVhcDIgPSBfbWFsbG9jKGxlbmd0aEJ5dGVzKTsgc3RyaW5nVG9VVEY4KGpzU3RyaW5nLCBzdHJpbmdPbldhc21IZWFwMiwgbGVuZ3RoQnl0ZXMpOyByZXR1cm4gc3RyaW5nT25XYXNtSGVhcDI7IH0AbG9hZGluZyB1cmxfc3RyOiAlcwoAYmFzZTY0LABAQCB0cnlpbmcgdG8gbG9hZCBhcyBpbWFnZSAlZAoAQEAgc2V0dGluZyBhcyBkcm9wcGVkIGltYWdlOiAlZCAlZAoAQEAgdHJ5aW5nIGFzIGRhdGEgZmlsZS4gZGF0X2YtPmxlbjogJWQKAGNvdWxkIG5vdCBmaW5kIGRyb3BwZWQgZmlsZQBubyB2YWx1ZQBib29sZWFuAHVzZXJkYXRhAG51bWJlcgBzdHJpbmcAdGFibGUAdGhyZWFkAHByb3RvAHVwdmFsAHN0YWNrIG92ZXJmbG93AEMgc3RhY2sgb3ZlcmZsb3cAdGFibGUgb3ZlcmZsb3cAJ2ZvcicgaW5pdGlhbCB2YWx1ZSBtdXN0IGJlIGEgbnVtYmVyACdmb3InIGxpbWl0IG11c3QgYmUgYSBudW1iZXIAJ2Zvcicgc3RlcCBtdXN0IGJlIGEgbnVtYmVyAG5OAHhYAGJCAGF0dGVtcHQgdG8gY29tcGFyZSB0d28gJXMgdmFsdWVzAGF0dGVtcHQgdG8gY29tcGFyZSAlcyB3aXRoICVzAHN0cmluZyBsZW5ndGggb3ZlcmZsb3cAY29uY2F0ZW5hdGUAPwB1cHZhbHVlAGF0dGVtcHQgdG8gJXMgJXMgJyVzJyAoYSAlcyB2YWx1ZSkAYXR0ZW1wdCB0byAlcyBhICVzIHZhbHVlAF9FTlYAZ2xvYmFsAGZpZWxkAG1ldGhvZABjb25zdGFudAAlMC41ZgAuOTk5OQAuMDAwMAAlMC4zZgAlMC40ZgBnZXQgbGVuZ3RoIG9mAHBlcmZvcm0gYXJpdGhtZXRpYyBvbgB0YWJsZSBpbmRleCBpcyBuaWwAbWVtb3J5IGFsbG9jYXRpb24gZXJyb3I6IGJsb2NrIHRvbyBiaWcAaW5kZXgAbG9vcCBpbiBzZXR0YWJsZQBsb29wIGluIGdldHRhYmxlAGF0dGVtcHQgdG8geWllbGQgYWNyb3NzIGEgQy1jYWxsIGJvdW5kYXJ5AGF0dGVtcHQgdG8geWllbGQgZnJvbSBvdXRzaWRlIGEgY29yb3V0aW5lAGNhbGwALi4uAFtzdHJpbmcgIgAiXQAlcwAweCV4ACUAaW52YWxpZCBvcHRpb24gJyUlJWMnIHRvICdsdWFfcHVzaGZzdHJpbmcnAGVycm9yIGluIGVycm9yIGhhbmRsaW5nAGF0dGVtcHQgdG8gbG9hZCBhICVzIGNodW5rIChtb2RlIGlzICclcycpAGJpbmFyeQB0ZXh0AGNvbnRyb2wgc3RydWN0dXJlIHRvbyBsb25nAGxhYmVscy9nb3RvcwBubyB2aXNpYmxlIGxhYmVsICclcycgZm9yIDxnb3RvPiBhdCBsaW5lICVkICh0YWIgJWQpADwlcz4gYXQgbGluZSAlZCBub3QgaW5zaWRlIGEgbG9vcAA8Z290byAlcz4gYXQgbGluZSAlZCAodGFiICVkKSBqdW1wcyBpbnRvIHRoZSBzY29wZSBvZiBsb2NhbCAnJXMnAHRvbyBtYW55ICVzIChsaW1pdCBpcyAlZCkAJXM6JWQ6ICVzAGxleGljYWwgZWxlbWVudCB0b28gbG9uZwAnJXMnACVzIG5lYXIgJXMAJgB8AF5eADw8AD4+AD4+PgA8PD4APj48AFwAQABAQAAkACclYycAPT0APj0APD0Afj0AOjoAPG51bWJlcj4APG5hbWU+ADxzdHJpbmc+AG9wY29kZXMAJXMgZXhwZWN0ZWQAQyBsZXZlbHMAKGZvciBpbmRleCkAKGZvciBsaW1pdCkAKGZvciBzdGVwKQBmdW5jdGlvbiBvciBleHByZXNzaW9uIHRvbyBjb21wbGV4AChmb3IgZ2VuZXJhdG9yKQAoZm9yIHN0YXRlKQAoZm9yIGNvbnRyb2wpACc9JyBvciAnaW4nIGV4cGVjdGVkAGxhYmVsICclcycgYWxyZWFkeSBkZWZpbmVkIG9uIGxpbmUgJWQgKHRhYiAlZCkAdW5leHBlY3RlZCBzeW1ib2wAZnVuY3Rpb24gYXJndW1lbnRzIGV4cGVjdGVkAGl0ZW1zIGluIGEgY29uc3RydWN0b3IAZnVuY3Rpb25zAHNlbGYAPG5hbWU+IG9yICcuLi4nIGV4cGVjdGVkAGNvbnN0YW50cwBsb2NhbCB2YXJpYWJsZXMAY2Fubm90IHVzZSAnLi4uJyBvdXRzaWRlIGEgdmFyYXJnIGZ1bmN0aW9uACVzIGV4cGVjdGVkICh0byBjbG9zZSAlcyBhdCBsaW5lICVkICh0YWIgJWQpKQBmdW5jdGlvbiBhdCBsaW5lICVkICh0YWIgJWQpAG1haW4gZnVuY3Rpb24AdG9vIG1hbnkgJXMgKGxpbWl0IGlzICVkKSBpbiAlcwBpbnZhbGlkIGxvbmcgc3RyaW5nIGRlbGltaXRlcgB1bmZpbmlzaGVkIHN0cmluZwBoZXhhZGVjaW1hbCBkaWdpdCBleHBlY3RlZABpbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZQBkZWNpbWFsIGVzY2FwZSB0b28gbGFyZ2UAWHgARWUAUHAAKy0AbWFsZm9ybWVkIG51bWJlcgB1bmZpbmlzaGVkIGxvbmcgY29tbWVudAB1bmZpbmlzaGVkIGxvbmcgc3RyaW5nAGNodW5rIGhhcyB0b28gbWFueSBsaW5lcwB1cHZhbHVlcwBiaW5hcnkgc3RyaW5nAHRydW5jYXRlZABub3QgYQB2ZXJzaW9uIG1pc21hdGNoIGluAGluY29tcGF0aWJsZQBjb3JydXB0ZWQAJXM6ICVzIHByZWNvbXBpbGVkIGNodW5rAGludmFsaWQga2V5IHRvICduZXh0JwBzdGFjayB0cmFjZWJhY2s6AAoJLi4uAFNsbnQACgklczoAJWQ6ACBpbiAAZnVuY3Rpb24gJyVzJwBtYWluIGNodW5rAGZ1bmN0aW9uIDwlczolZD4ACgkoLi4udGFpbCBjYWxscy4uLikAPVtDXQA9PwBtYWluAEx1YQBmb3IgaXRlcmF0b3IAbWV0YW1ldGhvZABiYWQgYXJndW1lbnQgIyVkICglcykAbgBjYWxsaW5nICclcycgb24gYmFkIHNlbGYgKCVzKQBiYWQgYXJndW1lbnQgIyVkIHRvICclcycgKCVzKQBTbAAlczolZDogACVzIGV4cGVjdGVkLCBnb3QgJXMAdmFsdWUgZXhwZWN0ZWQAb2JqZWN0IGxlbmd0aCBpcyBub3QgYSBudW1iZXIAX190b3N0cmluZwAlczogJXAAX19pbmRleABfX25ld2luZGV4AF9fZ2MAX19tb2RlAF9fbGVuAF9fZXEAX19hZGQAX19zdWIAX19tdWwAX19kaXYAX19tb2QAX19wb3cAX19hbmQAX19vcgBfX3hvcgBfX3NobABfX3NocgBfX2xzaHIAX19yb3RsAF9fcm90cgBfX25vdABfX2lkaXYAX19wZWVrAF9fcGVlazIAX19wZWVrNABfX3VubQBfX2x0AF9fbGUAX19jb25jYXQAX19jYWxsAF9fbWV0YXRhYmxlAG5pbCBvciB0YWJsZSBleHBlY3RlZABjYW5ub3QgY2hhbmdlIGEgcHJvdGVjdGVkIG1ldGF0YWJsZQB0YWJsZSBvciBzdHJpbmcgZXhwZWN0ZWQAX19wYWlycwBfX2lwYWlycwBhc3NlcnRpb24gZmFpbGVkIQBpbmRleCBvdXQgb2YgcmFuZ2UAY29yb3V0aW5lIGV4cGVjdGVkAGNvcm9saWI6IHRvbyBtYW55IGFyZ3VtZW50cyB0byByZXN1bWUAY29yb2xpYjogY2Fubm90IHJlc3VtZSBkZWFkIGNvcm91dGluZQBjb3JvbGliOiB0b28gbWFueSByZXN1bHRzIHRvIHJlc3VtZQBjYW5ub3QgcmVzdW1lIG5vbi1zdXNwZW5kZWQgY29yb3V0aW5lAGNhbm5vdCByZXN1bWUgZGVhZCBjb3JvdXRpbmUAcnVubmluZwBzdXNwZW5kZWQAbm9ybWFsAGRlYWQAdG9vIG1hbnkgcmVzdWx0cyB0byB1bnBhY2sAdXBsb2FkAHsgaWYgKHR5cGVvZiBwaWNvOF9zdGF0ZSAhPT0gJ3VuZGVmaW5lZCcpeyBpZiAodHlwZW9mIHBpY284X3N0YXRlLnN5c3RlbV9tZXNzYWdlcyA9PT0gJ3VuZGVmaW5lZCcpIHBpY284X3N0YXRlLnN5c3RlbV9tZXNzYWdlcyA9IG5ldyBBcnJheSgpOyBwaWNvOF9zdGF0ZS5zeXN0ZW1fbWVzc2FnZXMucHVzaChVVEY4VG9TdHJpbmcoJDAsICQxKSk7IH0gfQBfZW5kX29mX3Byb2dyYW0AdG8gY2xvc2UgJwBhdCBsaW5lIAAlZCAodGFiICVkKQB1bmNsb3NlZCAlcyBhdCBsaW5lICVkICh0YWIgJWQpCgB1bmNsb3NlZCAlcwAtLSBwaWNvLTggaGVhZGVyAGFzc2VydGlvbiBmYWlsZWQAcG9zaXRpb24gb3V0IG9mIGJvdW5kcwBub3QgZW5vdWdoIG1lbW9yeQA8ZW9mPgB0aGVtZSAAdGhlbWUAYmx1ZQBzZXQgdGhlbWUgdG8gYmx1ZQBhdXRvAHNldCB0aGVtZSB0byBhdXRvAGNsYXNzaWMAc2V0IHRoZW1lIHRvIGNsYXNzaWMAY29uZmlnIHRoZW1lIFt2YWx1ZV0AYXZhaWxhYmxlIHRoZW1lczoAc3Bsb3JlX2ZpbHRlciAAc3Bsb3JlX2ZpbHRlcgBvbgBmaWx0ZXIgb24Ab2ZmAGZpbHRlciBvZmYAY29uZmlnIGZpbHRlciBbb24gfCBvZmZdAHdoZW4gb24sIGNhcnRyaWRnZXMgdGFnZ2VkIGFzAG1hdHVyZSB3aWxsIG5vdCBiZSBkb3dubG9hZGVkLgBmaWx0ZXIgaXMgY3VycmVudGx5OiBvbgBmaWx0ZXIgaXMgY3VycmVudGx5OiBvZmYAdm9sdW1lIABzZXQgdm9sdW1lOiAlZABjb25maWcgdm9sdW1lIFt2YWxdAHZhbDogOCBxdWlldCAuLiAyNTYgbG91ZABjdXJyZW50IHZvbHVtZTogJWQAZ2lmX2xlbiAAc2V0IGdpZl9sZW46ICVkAGdpZl9sZW4AY29uZmlnIGdpZl9sZW4gW3NlY29uZHNdAGN1cnJlbnQgZ2lmX2xlbjogJWQAZ2lmX3Jlc2V0X21vZGUgAHNldCBnaWZfcmVzZXRfbW9kZTogJWQAZ2lmX3Jlc2V0X21vZGUAY29uZmlnIGdpZl9yZXNldF9tb2RlIFttb2RlXQAgMDogZG9uJ3QgcmVzZXQgYWZ0ZXIgcmVjb3JkaW5nACAxOiByZXNldCBhZnRlciBlYWNoIHJlY29yZGluZwBjdXJyZW50IGdpZl9yZXNldF9tb2RlOiAlZABzZnhfZmlsdGVycyAAc2V0IHNmeF9maWx0ZXJzOiAlZABnaWZfc2NhbGUgAHNldCBnaWZfc2NhbGU6ICVkAGdpZl9zY2FsZQBjb25maWcgZ2lmX3NjYWxlIFtzaXplXQBjdXJyZW50IGdpZl9zY2FsZTogJWQAc2NyZWVuc2hvdF9zY2FsZSAAc2V0IHNjcmVlbnNob3Rfc2NhbGU6ICVkAHNjcmVlbnNob3Rfc2NhbGUAY29uZmlnIHNjcmVlbnNob3Rfc2NhbGUgW3NpemVdAGN1cnJlbnQgc2NyZWVuc2hvdF9zY2FsZTogJWQAdGFiX3dpZHRoIABzZXQgdGFiX3dpZHRoOiAlZAB0YWJfd2lkdGgAY29uZmlnIHRhYl93aWR0aCBbd2lkdGhdAGN1cnJlbnQgdGFiX3dpZHRoOiAlZABjb25maWcgW3NldHRpbmddAGF2YWlsYWJsZSBzZXR0aW5nczoAJWQvJWQgJTMuMWYgZnBzACVkLyVkICUxLjJmICUxLjJmAHJlc3VtZQByZXN1bWUoKQBub3RoaW5nIHRvIHJlc3VtZQBzdGF0KDQpACBfZHJhdwBwcm9ncmFtIGV4Y2VlZHMgY2hhciBsaW1pdAAlZCAvICVkIGNoYXJzCgBwcm9ncmFtIHRvbyBsYXJnZQAlZCAvICVkIHRva2VucwoALS0gcGljby04IGhlYWRlcgoJZG8gCWxvY2FsIF9yZWZ1bmRfY3B1XyA9IF9fcmVmdW5kX2NwdV9fIAlsb2NhbCBfcGFpcnMgPSBfX3BhaXJzX18gCWxvY2FsIF9pcGFpcnMgPSBfX2lwYWlyc19fIAlsb2NhbCBfdHlwZSA9IF9fdHlwZSAJbG9jYWwgX3Rvc3RyID0gX190b3N0ciAJbG9jYWwgX3N0b3AgPSBfX3N0b3AgCWxvY2FsIF9wcmludCA9IF9fcHJpbnQgCWxvY2FsIF9wcmludGggPSBfX3ByaW50aCAJbG9jYWwgX3Rvc3RyaW5nID0gX190b3N0cmluZ19fIAlsb2NhbCBfbG9hZCA9IF9fbG9hZCAJbG9jYWwgX3N0YXQgPSBzdGF0IAlsb2NhbCBfZXh0Y21kID0gX19leHRjbWQgCWxvY2FsIF9fbWVudWl0ZW0gPSBfbWVudWl0ZW0gCWxvY2FsIF95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSA9IF9feWllbGRlZF90b19lc2NhcGVfc2xpY2UgCWxvY2FsIF9jb3Jlc3VtZSA9IF9fY29yZXN1bWUgCWxvY2FsIF9zZWxlY3QgPSBfX3NlbGVjdCAJbG9jYWwgX3N1cGVyeWllbGQgPSBfX3N1cGVyeWllbGQgCWxvY2FsIF9sYXN0X21lbnVpdGVtX2luZGV4ID0gMCAJbG9jYWwgX2xhc3RfbWVudWl0ZW1fY2FsbGJhY2sgPSBmdW5jdGlvbigpIGVuZCAJX3BhdXNlbWVudT17fQlmdW5jdGlvbiBtZW51aXRlbShpbmRleCwgbGFiZWwsIGNhbGxiYWNrKSAJCWluZGV4ID0gaW5kZXggb3IgX2xhc3RfbWVudWl0ZW1faW5kZXggCQljYWxsYmFjayA9IGNhbGxiYWNrIG9yIF9sYXN0X21lbnVpdGVtX2NhbGxiYWNrIAkJaWYgKHR5cGUoaW5kZXgpfj0ibnVtYmVyIikgdGhlbiBzdG9wKCJiYWQgbWVudWl0ZW0gaW5kZXgiKSBlbmQgCQlpZiAoaW5kZXggPCAxIG9yIGluZGV4ID4gNSkgdGhlbiByZXR1cm4gZW5kCQlfcGF1c2VtZW51W2luZGV4XSA9IHt9IAkJX3BhdXNlbWVudVtpbmRleF0ubGFiZWwgPSBsYWJlbCAJCV9wYXVzZW1lbnVbaW5kZXhdLmNhbGxiYWNrID0gY2FsbGJhY2sgCQlfX21lbnVpdGVtKGluZGV4LCBsYWJlbCkgCWVuZCAJZnVuY3Rpb24gcGFpcnMoYykgIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZnVuY3Rpb24oKSBlbmQgZW5kIHJldHVybiBfcGFpcnMgKGMpIGVuZCAJZnVuY3Rpb24gaXBhaXJzKGMpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZnVuY3Rpb24oKSBlbmQgZW5kIHJldHVybiBfaXBhaXJzKGMpIGVuZCAJZnVuY3Rpb24gYWxsKGMpIGlmIChjID09IG5pbCBvciAjYyA9PSAwKSB0aGVuIHJldHVybiBmdW5jdGlvbigpIGVuZCBlbmQgCSAJbG9jYWwgaT0xIAkgCWxvY2FsIGxpPW5pbCAJCV9yZWZ1bmRfY3B1XygoI2MgPj0gMTYpIGFuZCAtMTYgb3IgLSNjKSAJIAlyZXR1cm4gZnVuY3Rpb24oKSAJIAkJaWYgKGNbaV0gPT0gbGkpIHRoZW4gaT1pKzEgZW5kIAkgCQl3aGlsZShjW2ldPT1uaWwgYW5kIGkgPD0gI2MpIGRvIGk9aSsxIGVuZCAJIAkJbGk9Y1tpXSAJCQlfcmVmdW5kX2NwdV8oLTE3KSAJIAkJcmV0dXJuIGxpIAkgCWVuZCAJZW5kIAlmdW5jdGlvbiBmb3JlYWNoKGMsX2YpIGZvciBpIGluIGFsbChjKSBkbyBfZihpKSBlbmQgZW5kIGZ1bmN0aW9uIHRvc3RyKC4uLikgCS0tW1sgbmVlZCB0byB1c2UgdG9zdHJpbmcgd2hlbiBtZXRhdGFibGUgc28gdGhhdCBtdC5fX3Rvc3RyaW5nIHdvcmtzLiBzZWUgdGVzdHMvbWV0YSoucDggXV0gCWxvY2FsIHA9ey4uLn0gCWxvY2FsIGEsYixtYXhfZGVwdGggPSBwWzFdLHBbMl0scFszXSAJaWYgKG1heF9kZXB0aCkgdGhlbiByZXR1cm4gX3Rvc3RyKC4uLikgZW5kIAlpZiAoKF90eXBlKGEpPT0idGFibGUiIGFuZCAoZ2V0bWV0YXRhYmxlKGEpIG9yIGIpKSkgb3IgKChfdHlwZShhKT09ImZ1bmN0aW9uIiBhbmQgYikpIHRoZW4gCSByZXR1cm4gX3Rvc3RyaW5nKGEpICAgICBlbHNlIAkgcmV0dXJuIF90b3N0ciguLi4pIAllbmQgZW5kIAktLVtbIHByaW50KCkgc2hvdWxkIHByaW50IG5vdGhpbmc7IHByaW50KG5pbCkgc2hvdWxkIHByaW50IFtuaWxdOyBzdG9wKCkgcGFzc2VzIGFyZ3MgdG8gcHJpbnQgc28gdGhhdCBjYW4gcHJpbnQgaW4gYSBjb2xvdXJdXQlmdW5jdGlvbiBzdG9wKC4uLikgICAgaWYgX3NlbGVjdCgnIycsLi4uKT09MCB0aGVuIF9zdG9wKCkgICBlbHNlIGxvY2FsIGE9ey4uLn0gcmV0dXJuIF9zdG9wICAodG9zdHIoYVsxXSksIF9zZWxlY3QoMiwuLi4pKSBlbmQgZW5kIAlmdW5jdGlvbiBwcmludCguLi4pICAgaWYgX3NlbGVjdCgnIycsLi4uKT09MCB0aGVuIF9wcmludCgpICBlbHNlIGxvY2FsIGE9ey4uLn0gcmV0dXJuIF9wcmludCAodG9zdHIoYVsxXSksIF9zZWxlY3QoMiwuLi4pKSBlbmQgZW5kIAlmdW5jdGlvbiBwcmludGgoLi4uKSAgaWYgX3NlbGVjdCgnIycsLi4uKT09MCB0aGVuIF9wcmludGgoKSBlbHNlIGxvY2FsIGE9ey4uLn0gcmV0dXJuIF9wcmludGgodG9zdHIoYVsxXSksIF9zZWxlY3QoMiwuLi4pKSBlbmQgZW5kIGZ1bmN0aW9uIGxvYWQoLi4uKSAJbG9jYWwgcmVzPV9sb2FkKC4uLikgCWZsaXAoKSAtLVtbdG8gc3VwZXJ5aWVsZC4gcmVmOnBpY293YXJlXV0JaWYgKF9zdGF0KDEwNykgPiAwKSB0aGVuIHJldHVybiB0cnVlIGVuZCAJaWYgKF9zdGF0KDEwNykgPT0gLTEpIHRoZW4gcmV0dXJuIGZhbHNlLCAiY291bGQgbm90IGZpbmQgY2FydCIgZW5kIAlpZiAoX3N0YXQoMTA3KSA9PSAtMikgdGhlbiByZXR1cm4gZmFsc2UsICJjb3VsZCBub3QgZmV0Y2ggY2FydCIgZW5kIAlpZiAoX3N0YXQoMTA3KSA9PSAtMykgdGhlbiByZXR1cm4gZmFsc2UsICJjb3VsZCBub3QgY29ubmVjdCB0byBiYnMiIGVuZCAJaWYgKF9zdGF0KDEwNykgPCAwIG9yIHJlcyA9PSBuaWwpIHRoZW4gcmV0dXJuIGZhbHNlLCAiYWNjZXNzIGRlbmllZCIgZW5kIAlyZXR1cm4gcmVzIGVuZCBmdW5jdGlvbiBleHRjbWQoY21kLCAuLi4pIAlsb2NhbCByZXM9X2V4dGNtZChjbWQsIC4uLikgCWlmIChjbWQ9PSJnb19iYWNrIiBvciBjbWQ9PSJicmVhZGNydW1iIikgdGhlbiAJCWZsaXAoKSAtLVtbdG8gc3VwZXJ5aWVsZF1dCWVuZCAJcmV0dXJuIHJlcyBlbmQgZnVuY3Rpb24gY29yZXN1bWUoYywuLi4pIAlfeWllbGRlZF90b19lc2NhcGVfc2xpY2UoMCkgCWxvY2FsIHIwLHIxID1fY29yZXN1bWUoYywuLi4pCXdoaWxlIChfeWllbGRlZF90b19lc2NhcGVfc2xpY2UoKSBhbmQgY29zdGF0dXMoYykgPT0gInN1c3BlbmRlZCIpIGRvIAkJX3lpZWxkZWRfdG9fZXNjYXBlX3NsaWNlKDApIAkJcjAscjEgPSBfY29yZXN1bWUoYywuLi4pIAllbmQgCV95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSgwKSAJcmV0dXJuIHIwLHIxIGVuZCBmdW5jdGlvbiBmbGlwKCkgCXJlcGVhdCAJCWxvY2FsIGNvbnRpbnVlX21lbnUgPSBmYWxzZSAJCWZvciBpPTEsNSBkbyAJCSBsb2NhbCB2YWwgPSBfZ2V0X21lbnVfaXRlbV9zZWxlY3RlZChpKSAJCSBpZiAodmFsKSB0aGVuIAkJICBfbGFzdF9tZW51aXRlbV9pbmRleCA9IGkgCQkgIF9sYXN0X21lbnVpdGVtX2NhbGxiYWNrID0gX3BhdXNlbWVudVtpXS5jYWxsYmFjayAJCSAgY29udGludWVfbWVudSA9IF9wYXVzZW1lbnVbaV0uY2FsbGJhY2sodmFsKSAJCSAgaWYgKHZhbCAmIDMgPiAwKSB0aGVuIGNvbnRpbnVlX21lbnUgPSB0cnVlIGVuZCAJCSBlbmQgCQllbmQgCQlpZiAoY29udGludWVfbWVudSkgdGhlbiBleHRjbWQoInBhdXNlIiwgMSkgX3N1cGVyeWllbGQoKSBlbmQgIAl1bnRpbCBub3QgY29udGludWVfbWVudSAJX19mbGlwKCkgZW5kIGVuZCAtLVtbIHNjb3BlIF1dX19yZWZ1bmRfY3B1X18gPSBuaWwgX19pcGFpcnNfXyA9IG5pbCBfX3BhaXJzX18gPSBuaWwgX190b3N0ciAgICA9IG5pbCBfX3N0b3AgICAgID0gbmlsIF9fcHJpbnQgICAgPSBuaWwgX19wcmludGggICA9IG5pbCBfX2xvYWQgICAgID0gbmlsIF9fZXh0Y21kICAgPSBuaWwgX190b3N0cmluZ19fID0gbmlsIF9feWllbGRlZF90b19lc2NhcGVfc2xpY2UgPSBuaWwgX19jb3Jlc3VtZSA9IG5pbCBfX3NlbGVjdCA9IG5pbCBfX3N1cGVyeWllbGQgPSBuaWwgAIA9gCBvciAwLjUggT2BIG9yIDIzMTMwLjUggj2CIG9yIDIwNzY3LjUggz2DIG9yIDMghD2EIG9yIDMyMTI1LjUghT2FIG9yIC0xODQwMi41IIY9hiBvciAtMTYzMi41IIc9hyBvciAyMDkyNy41IIg9iCBvciAtMTkwMDguNSCJPYkgb3IgLTI2MjA4LjUgij2KIG9yIC0yMDE5Mi41IIs9iyBvciAwIIw9jCBvciAtMjQzNTEuNSCNPY0gb3IgLTI1NzkyLjUgjj2OIG9yIDQgjz2PIG9yIC0yMDAzMi41IJA9kCBvciAtMjU2MC41IJE9kSBvciAxIJI9kiBvciAtMjAxMjguNSCTPZMgb3IgNjk0My41IJQ9lCBvciAyIJU9lSBvciAtMjYyNC41IJY9liBvciAzMTQ1NS41IJc9lyBvciA1IJg9mCBvciAzODU1LjUgmT2ZIG9yIDIxODQ1LjUgOwBsb2NhbCB0aW1lLHN1YixjaHIsb3JkLHRvc3RyLHRvbnVtLGFkZCxkZWwsZGVsaSxjbGlwLGNvbG9yLHBhbCxwYWx0LGZpbGxwLHBnZXQscHNldCxzZ2V0LHNzZXQsZmdldCxmc2V0LGNpcmMsY2lyY2ZpbGwscmVjdCxyZWN0ZmlsbCxvdmFsLG92YWxmaWxsLGxpbmUsc3ByLHNzcHI9ICAgICAgdGltZSxzdWIsY2hyLG9yZCx0b3N0cix0b251bSxhZGQsZGVsLGRlbGksY2xpcCxjb2xvcixwYWwscGFsdCxmaWxscCxwZ2V0LHBzZXQsc2dldCxzc2V0LGZnZXQsZnNldCxjaXJjLGNpcmNmaWxsLHJlY3QscmVjdGZpbGwsb3ZhbCxvdmFsZmlsbCxsaW5lLHNwcixzc3ByIGxvY2FsIG1nZXQsbXNldCx0bGluZSxwZWVrLHBva2UscGVlazIscG9rZTIscGVlazQscG9rZTQsbWVtY3B5LG1lbXNldCxtYXgsbWluLG1pZCxmbHIsY2VpbCxjb3Msc2luLGF0YW4yLHJhbmQsc3JhbmQsYmFuZCxib3IsYnhvcixibm90LHNobCxzaHIsbHNocixyb3RsLHJvdHI9ICAgICAgIG1nZXQsbXNldCx0bGluZSxwZWVrLHBva2UscGVlazIscG9rZTIscGVlazQscG9rZTQsbWVtY3B5LG1lbXNldCxtYXgsbWluLG1pZCxmbHIsY2VpbCxjb3Msc2luLGF0YW4yLHJhbmQsc3JhbmQsYmFuZCxib3IsYnhvcixibm90LHNobCxzaHIsbHNocixyb3RsLHJvdHI7IAA7CgAxMDM4OAAgbmQ9MCAAJXMgJXMoKQAlcyAlcygiJXMiKQBzcGxvcmUoKQBjb25maWcACiBfZW5kX29mX3Byb2dyYW0gPSAxIAoACgkgICAgX2VuZF9vZl9wcm9ncmFtID0gMSAKCSAgICBpZiAoX2luaXQgfj0gbmlsKSB0aGVuIF9pbml0KCkgZW5kCiAgICAgICAgICAgIF9zZXRfbWFpbmxvb3BfZXhpc3RzKDApCgkgICAgaWYgKF9tYWlubG9vcCB+PSBuaWwpIHRoZW4gX3NldF9tYWlubG9vcF9leGlzdHMoMSkgZW5kCgkgICAgaWYgKF91cGRhdGU2MCB+PSBuaWwpIHRoZW4gX3NldF9mcHMoNjApIF91cGRhdGU9bmlsIGVsc2UgX3NldF9mcHMoMzApIGVuZAoJICAgIGlmIChfbWFpbmxvb3AgPT0gbmlsIGFuZCAoX2RyYXcgfj0gbmlsIG9yIF91cGRhdGUgfj0gbmlsIG9yIF91cGRhdGU2MCB+PSBuaWwpKSB0aGVuCgkgICAgCV9zZXRfbWFpbmxvb3BfZXhpc3RzKDIpCgkJICAgIF9tYWlubG9vcCA9IGZ1bmN0aW9uKCkgCgkgICAgICAgIAl3aGlsZSAodHJ1ZSkgZG8KCQkJCQlfdXBkYXRlX2J1dHRvbnMoX3VwZGF0ZTYwIGFuZCAxIG9yIDIpCgkJCQkgICAgX3N0YXJ0ZnJhbWUoKSAKCQkJCSAgICBpZiAoc3RhdCg3KSA9PSA2MCkgdGhlbgoJCQkJICAgIAlfbWFya19jcHUoMCkgX3VwZGF0ZTYwKCkgCgkJCQkgICAgZWxzZWlmIChzdGF0KDcpID09IDMwIGFuZCBfdXBkYXRlNjApIHRoZW4KCQkJCSAgICAJX3VwZGF0ZTYwKCkgX3VwZGF0ZV9idXR0b25zKDEpIF9tYXJrX2NwdSgwKSBfdXBkYXRlNjAoKQoJCQkJICAgIGVsc2VpZiAoc3RhdCg3KSA9PSAzMCBhbmQgX3VwZGF0ZSkgdGhlbgoJCQkJICAgIAlfbWFya19jcHUoMCkgX3VwZGF0ZSgpIAoJCQkJICAgIGVsc2VpZiAoc3RhdCg3KSA9PSAxNSBhbmQgX3VwZGF0ZSkgdGhlbgoJCQkJICAgIAlfdXBkYXRlKCkgIF91cGRhdGVfYnV0dG9ucygyKSBfbWFya19jcHUoMCkgX3VwZGF0ZSgpCgkJCQkgICAgZW5kCgkJCQkgICAgX21hcmtfY3B1KDEpCgkJCQkgICAgaWYgKF9kcmF3IH49IG5pbCkgdGhlbgoJCQkJCQlsb2NhbCBkaSxyZXM9MCx0cnVlIAoJCQkJCQl3aGlsZSAoZGkgPCBzdGF0KDExKSBhbmQgcmVzKSBkbyByZXMgPSBfbWFwX2Rpc3BsYXkoZGkpIGlmIChyZXMpIHRoZW4gcmVzPV9kcmF3KCkgZW5kIGRpPWRpKzEgZW5kIAoJCQkJCQlfbWFwX2Rpc3BsYXkoMCkgCgkJCQkJZW5kCgkJCQkgICAgX21hcmtfY3B1KDIpCgkJCQkJX3VwZGF0ZV9mcmFtZXJhdGUoKQoJCQkJICAgIGZsaXAoKQoJCQkgICAgZW5kCgkJICAgIGVuZAoJICAgIGVuZAoJCWlmIChfbWFpbmxvb3Agfj0gbmlsKSB0aGVuIF9tYWlubG9vcCgpIGVuZAogICAgICAgIAoAc3ludGF4IGVycm9yAHN5bnRheCBlcnJvciBsaW5lICVkICh0YWIgJWQpAHVuZXhwZWN0ZWQgc3ltYm9sIG5lYXIgJ2VuZCcAdW5leHBlY3RlZCBlbmQgb2YgbGluZQAlcyBsaW5lICVkCgAKLS0+OAoAYmJzLwBydW5fY2FydCBjdXJyZW50X2ZpbGVuYW1lOiAlcyBydW5uaW5nX2ZpbGVuYW1lOiAlcyBydW5uaW5nX2NhcnRfbGlkOiAlcwoAc3RhY2sgdHJhY2ViYWNrACdfbWFpbmxvb3AAaW4gZnVuY3Rpb24gJwBpbiAlcyBsaW5lICVkICh0YWIgJWQpAGluIG1haW4gY2h1bmsAYXQgbGluZSAlZCAodGFiICVkKQBnYyBub3QgcnVubmluZzsgY291bGQgbm90IHBlcmZvcm0gZW1lcmdlbmN5IGNvbGxlY3Rpb24KAGdjIGhhcmQgY29sbGVjdDogJWQgLT4gJWQgKG92ZXJoZWFkOiVkKQoAb3V0IG9mIG1lbW9yeQBydW50aW1lIGVycm9yIGxpbmUgJWQgdGFiICVkAHJ1bnRpbWUgZXJyb3IAW1sAXV0Aa2V5d29yZCBoYXNoIGNvbGxpc2lvbjogJXMgJXMKAGZ1bmN0aW9uAGVuZABmb3IAaWYAdGhlbgBlbHNlAGVsc2VpZgB3aGlsZQBub3QAYW5kAG9yAGRvAGxvY2FsAHJldHVybgByZXBlYXQAdW50aWwAZ290bwBicmVhawBuaWwAaW4AZm9yZWFjaABhbGwAbWVudWl0ZW0AcGFpcnMAaXBhaXJzACVzXyUlZC5naWYAJXMuZ2lmACoqIEVHaWZPcGVuRmlsZU5hbWUgZXJyb3IgJWQ6ICVzCgBzYXZpbmcgZ2lmIHRvOiAlcwoATkVUU0NBUEUyLjAAZ2lmACoqIEVHaWZTcGV3KCkgR0lGX0VSUk9SCgBbY2FydF0AWy9jYXJ0XQBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvAHRydWUAZmFsc2UALnA4bAAudHh0AC5vYmoALm10bAAuc3ZnAC5wb3YALnNmZAAuY3N2AC5wcG0AWyVzXQBfX3JlZnVuZF9jcHVfXwBfX3BhaXJzX18AX19pcGFpcnNfXwBfX3N0b3AAX19wcmludABfX3ByaW50aABfX3Rvc3RyAF9fbG9hZABfX2V4dGNtZABfX3Rvc3RyaW5nX18AdG9zdHJpbmcAX190eXBlAF9fc2VsZWN0AF9fY29yZXN1bWUAX195aWVsZGVkX3RvX2VzY2FwZV9zbGljZQBjZABta2RpcgBydW4AbHMAbG9naW4AbG9hZABzYXZlAGhlbHAAcmVib290AHJlc2V0AHNodXRkb3duAGV4aXQAaW5mbwBleHBvcnQAaW1wb3J0AGZpbGU6ICVzJXMAdG9rZW5zOiAgICAgJTVkIC8gICVkAGNoYXJzOiAgICAgICU1ZCAvICVkAGNvbXByZXNzZWQ6ICU1ZCAvICVkAHVuc2F2ZWQgY2hhbmdlcwBleHRlcm5hbCBjaGFuZ2VzAGNvbnRpbnVlIHdpdGggc2h1dGRvd24/IFt5L25dAGNvbnRpbnVlIHdpdGggcmVib290PyBbeS9uXQBjb21tYW5kcwBsb2FkIDxmaWxlbmFtZT4gIHNhdmUgPGZpbGVuYW1lPgBydW4gKG9yIGN0cmwtcikgIHJlc3VtZQBzaHV0ZG93biAgICAgICAgIHJlYm9vdABpbnN0YWxsX2RlbW9zICAgIGxzAGNkIDxkaXJuYW1lPiAgICAgbWtkaXIgPGRpcm5hbWU+AGNkIC4uICAgICAgdG8gZ28gdXAgYSBkaXJlY3RvcnkAa2V5Y29uZmlnICB0byBjaG9vc2UgYnV0dG9ucwBzcGxvcmUgICAgIHRvIGV4cGxvcmUgY2FydHJpZGdlcwBwcmVzcyBlc2MgdG8gdG9nZ2xlIGVkaXRvciB2aWV3AGFsdCtlbnRlciB0byB0b2dnbGUgZnVsbHNjcmVlbgBhbHQrZjQgb3IgY3RybC1xIHRvIGZhc3RxdWl0AHNlZSBwaWNvOC50eHQgZm9yIG1vcmUgaW5mbwBvciB2aXNpdDogd3d3LnBpY28tOC5jb20AY2FuIG5vdCBzYXZlIHdoaWxlIHJ1bm5pbmcAZmlsZW5hbWUgdG9vIGxvbmcAQGNsaXAAQGNsaXAucDgAQGNsaXAucG5nAEBjbGlwLnA4LnBuZwB3YXJuaW5nOiBsYWJlbCBpcyBibGFuawBydW4gY2FydCBhbmQgY3RybC03IHRvIGNhcHR1cmUAX2NsaXAucDgucG5nAF9jbGlwLnA4LnBuZy5oZXgAY29waWVkIHRvIHRleHRmaWVsZCAtLSBwcmVzcwBjdHJsLWMgdG8gY29weSB0byBjbGlwYm9hcmQhAGZhaWxlZCB0byBzYXZlIHRvIGNsaXBib2FyZAAlcyVzJXMAZmlsZSBhbHJlYWR5IGV4aXN0cwBvdmVyd3JpdGU/IFt5L25dAHNhdmVkICVzJXMAbG9naW4gdW5hdmFpbGFibGUuAHBsZWFzZSB1cGRhdGUgcGljby04IQBta2RpciBbbmFtZV0AJXMlcyVzLwBkaXJlY3Rvcnk6IC8lcwAlcyVzLwBjZDogZmFpbGVkAGRpcmVjdG9yeSBub3QgZm91bmQALyVzAGxhYmVsAHNhdmVkIGxhYmVsAHNjcmVlbgAqKiBjb3VsZCBub3Qgc2F2ZSBzY3JlZW5zaG90AHNhdmVkIGltYWdlAGdlbmVyYXRlZCBzY3JlZW5zaG90AHJlYwByZWNfZnJhbWVzAHZpZGVvAEBAIHNhdmUgZ2lmIHJlc3VsdDogJWQgdmlkZW9fY2xpcF9pbmRleDogJWQKAG5vIHZpZGVvIHJlY29yZGVkICgwIGZyYW1lcykAKiogY291bGQgbm90IHNhdmUgZ2lmAHNhdmVkICVkIHNlY29uZCBnaWYAZ2VuZXJhdGVkICVkIHNlY29uZCBnaWYAcGF1c2UAY29udHJvbHMAYnJlYWRjcnVtYgBnb19iYWNrAHNldF90aXRsZQBzZXRfZmlsZW5hbWUAdW5rbm93biBleHRjbWQ6JXMAZG93bmxvYWRpbmcuLiAAL2Jicy9jcG9zdF9saXN0ZXIzLnBocD9uZm89MSZ2ZXJzaW9uPSVzJWMmbGlkPSVzAEBkcm9wcGVkAGRyb3BwZWQucDgAbG9hZGVkIGNhcnRyaWRnZSAoJWQgY2hhcnMpAHNvcnJ5LCBAY2xpcCBpcyBub3QgYXZhaWxhYmxlAGxvYWRlZCAlcyVzICglZCBjaGFycykAY291bGQgbm90IGxvYWQ6IGZ1dHVyZSB2ZXJzaW9uAGNvdWxkIG5vdCBsb2FkOiBjb2RlIHNpemUgPiA2NGsAY291bGQgbm90IGxvYWQAMHglMDR4LiUwNHgAcHJlc3MgY3RybC1jIHRvIGNvbXBsZXRlIGNvcHkAcHJpbnRoOiBiYWQgbG9nIGZpbGUgbmFtZQBwcmludGg6IHRvbyBtdWNoIGxvZyBkYXRhICgxMG1iIG1heCkAfCVzAHRvbyBtYW55IHByaW50aCBmaWxlcwBhACVzCgBwcmludGg6IGNvdWxkIG5vdCB3cml0ZSBmaWxlAGRlbGkAYWRkAGRlbABjb3VudABmbGlwAF9fZmxpcABfX3N1cGVyeWllbGQAY2FtZXJhAGNsaXAAY2xzAGZvbGRlcgBkaXIAYmFja3VwAGluc3RhbGxfZGVtb3MAaW5zdGFsbF9nYW1lcwBrZXljb25maWcAc3Bsb3JlAHBzZXQAcGdldABjb2xvcgBwcmludABwcmludGgAdG9zdHIAY3Vyc29yAHRvbnVtAHNwcgBzc3ByAHJlY3QAcmVjdGZpbGwAY2lyYwBjaXJjZmlsbABvdmFsAG92YWxmaWxsAGxpbmUAdGxpbmUAcGFsAHBhbHQAZmlsbHAAbWFwZHJhdwBtYXAAbWdldABtc2V0AGZnZXQAZnNldABzZ2V0AHNzZXQAc2Z4AHNlcmlhbABtZW1jcHkAbWVtc2V0AHJlbG9hZABjc3RvcmUAcm5kAHNyYW5kAGNlaWwAc2duAGFicwBjb3MAc2luAHNxcnQAYXRhbjIAYm5vdABmbHIAYmFuZABib3IAYnhvcgBzaGwAc2hyAGxzaHIAcm90bAByb3RyAG1pbgBtYXgAcGVlawBwZWVrMgBwZWVrNABwb2tlAHBva2UyAHBva2U0AHN0b3AAdGltZQB0AGxvZ291dABiYnNyZXEAc2NvcmVzdWIAZXh0Y21kAHJhZGlvAHNldF9kcmF3X3NsaWNlAGJ0bgBidG5wAF9tZW51aXRlbQBjYXJ0ZGF0YQBkZ2V0AGRzZXQAc3RhdABzdWIAY2hyAG9yZABzcGxpdABuZXh0AHNldG1ldGF0YWJsZQBnZXRtZXRhdGFibGUAcmF3ZXF1YWwAcmF3bGVuAHJhd2dldAByYXdzZXQAYXNzZXJ0AGNvY3JlYXRlAGNvcmVzdW1lAHlpZWxkAGNvc3RhdHVzAHVucGFjawBwYWNrAHNlbGVjdABfX3RyYWNlAHRyYWNlAGhvbGRmcmFtZQBfc3RhcnRmcmFtZQBfZ2V0X21lbnVfaXRlbV9zZWxlY3RlZABfdXBkYXRlX2J1dHRvbnMAX3VwZGF0ZV9mcmFtZXJhdGUAX3NldF9tYWlubG9vcF9leGlzdHMAX3NldF9mcHMAX21hcmtfY3B1AF9tYXBfZGlzcGxheQBkZXZraXQga2V5Ym9hcmQgZW5hYmxlZABkZXZraXQgbW91c2UgZW5hYmxlZAB7IHZhciBzdHIgPSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7IHJldHVybiBhbGxvY2F0ZShpbnRBcnJheUZyb21TdHJpbmcoc3RyKSwgJ2k4JywgQUxMT0NfTk9STUFMKTsgfQBkc2V0IGNhbGxlZCBiZWZvcmUgY2FydGRhdGEoKQBkZ2V0IGNhbGxlZCBiZWZvcmUgY2FydGRhdGEoKQBjYW4gbm90IGNvbm5lY3QgdG8gc2NvcmVzIGhvc3QAY2FuIG5vdCBjb25uZWN0IHRvIGJic3JlcSBob3N0AHRvbyBtYW55IHBlZWsgcmVzdWx0cwBjc3RvcmUvAHA4X2NzdG9yZTogc3RvcmluZyAlZCBieXRlcyBhczogJXMKAHNhbmRib3hlZF9jc3RvcmUgZmlsZSBub3QgZm91bmQ6ICVzCgAgIC0tPiB1c2luZyBpbnRlcm5hbCBmaWxlOiAlcwoAICByZWxvYWQoKWluZyAlZCBieXRlcyBmcm9tOiAlcwoAc29ycnksIHNwbG9yZSBpcyBub3QgYXZhaWxhYmxlAGluc3RhbGxpbmcgZ2FtZXMgdG8gL2dhbWVzLwBzb3JyeSwgZGVtb3MgYXJlIG5vdCBhdmFpbGFibGUuAGJhY2tlZCB1cCAlcyVzACoqKiAleCAleCAleCAleCAgKHgzMjoleCB5MzI6JXgpICBzdGVwICVkIGZyb20gJWQKAGhvc3QgYWxsb2NhdGlvbiBlcnJvcgAlZG1iICsgJWRrCgBiYWQgcG9rZSBhdCAweCV4CgBiYWQgbWVtY3B5IGF0IDB4JXgKAGJhZCBtZW1jcHkgYXQgMHg4MDAwAGJhZCBtZW1zZXQgYXQgMHgleAoAcHJpbnQoJXMpACE9ACs9AC09ACo9AC89ACU9AFw9ACY9AHw9AF5ePQA8PD49AD4+PD0APDw9AD4+Pj0APj49AF49AC4uPQAlcyA9ICVzICVzICglcykgJXMAaWYoAGlmIAB3aGlsZSgAd2hpbGUgACVzIHRoZW4gJXMgZW5kIAAlcyBkbyAlcyBlbmQgAF4KIDAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiEjJSgpe31bXTw+Kz0vKjo7Lix+XwBpZihfdXBkYXRlNjApX3VwZGF0ZT1mdW5jdGlvbigpX3VwZGF0ZTYwKClfdXBkYXRlNjAoKWVuZABpZihfdXBkYXRlNjApX3VwZGF0ZT1mdW5jdGlvbigpX3VwZGF0ZTYwKClfdXBkYXRlX2J1dHRvbnMoKV91cGRhdGU2MCgpZW5kAEdJRjg3YQBHSUY4OWEAAAEDBw8fP3//JXMlcy5wOGQudHh0ACUwOHgAY2FydGRhdGEoKSBjYW4gb25seSBiZSBjYWxsZWQgb25jZQBjYXJ0IGRhdGEgaWQgdG9vIGxvbmcAY2FydCBkYXRhIGlkOiBiYWQgY2hhcgBwbGF5ZXIga2V5IGNvbmZpZwBzYXZlZCBjb25maWcuAHByZXNzIGVzY2FwZQB0byBjb250aW51ZQBwcmVzcyBrZXkgZm9yOgBkZWwgZm9yIGRlZmF1bHQAZXNjIHRvIGNhbmNlbAAlcyA6ICVzAGxlZnQAcmlnaHQAdXAAZG93bgB6IC8gYyAvIG4AeCAvIHYgLyBtAHMAZgBlAGQAdGFiAHEAcCAvIGVudGVyAHAxIGxlZnQgICAgAHAxIHJpZ2h0ICAgAHAxIHVwICAgICAgAHAxIGRvd24gICAgAHAxII4gICAgICAAcDEglyAgICAgIABwMiBsZWZ0ICAgIABwMiByaWdodCAgIABwMiB1cCAgICAgIABwMiBkb3duICAgIABwMiCOICAgICAgAHAyIJcgICAgICAAcGF1c2UgICAgICAAbHJ1ZG94cCVkIGpveXN0aWNrcyBkZXRlY3RlZAAucG5nAHwlLTIwcyB8JS0yMHMgfCUtNmQgfCUtMTZzIHwlLTIwcyB8JXMKAGNvdWxkIG5vdCBsb2FkIGZhdm91cml0ZXMgZmlsZTogJXMKAGJicwBiYnMvJWQvACVzdGVtcC0lZC5uZm8AJXMlZC5wOC5wbmcAYmJzL2NhcnRzACVzL3RlbXAtJXMubmZvACVzLyVzLnA4LnBuZwAlcy9iYnMvZ2V0X2NhcnQucGhwP2NhdD03JnBsYXlfc3JjPSVkJmxpZD0lcwBiYnMvbGFiZWxzLwAlcyVzLnBuZwBydW4gY2FydABvcHRpb25zAHJlbW92ZSBmcm9tIGZhdm91cml0ZXMAZmF2b3VyaXRlAGNhcnRzIGJ5IEAlcwBzaW1pbGFyIGNhcnRzAHNlYXJjaCBiYnMgdGhyZWFkAG9wZW4gdGhyZWFkIGluIGJyb3dzZXIAW2JhY2tdAGVkaXQgY2FydAByZS1kb3dubG9hZABvcGVuIGluIGJyb3dzZXIAYmFjawB2b2x1bWUAZnVsbHNjcmVlbgBzaHV0ZG93biBwaWNvLTgAY2F0PTcmc2VhcmNoPSVzJm1heD0zMgBiYnMvdGVtcF8lc19fLnBpcC5wbmcAYmJzL3RlbXBfJXMucGlwLnBuZwBiYnMvJXMucGlwLnBuZwAvYmJzL2Nwb3N0X2xpc3RlcjMucGhwP21heD0zMiZzdGFydF9pbmRleD0lZCYlcyZ2ZXJzaW9uPSVzJWMmY2ZpbD0lZAAwMDAyMDJjAGRvd25sb2FkIGZhaWxlZAAqAC5wOABsaWQAdGl0bGUAYXV0aG9yAG1pZABjYXRzdWIAIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OQBjYW5jZWxsZWQAZG93bmxvYWQgY2FuY2VsbGVkAFBJQ08tOAB7IGlmICh0eXBlb2YgcGljbzhfZ3BpbyAhPT0gJ3VuZGVmaW5lZCcpIHBpY284X2dwaW9bJDBdPSQxfQB7dmFyIHZhbD0wOyBpZiAodHlwZW9mIHBpY284X2dwaW8gIT09ICd1bmRlZmluZWQnKSB2YWwgPSBwaWNvOF9ncGlvWyQwXTsgcmV0dXJuIHZhbH0AaGVsbG8ucDgAYXBpLnA4AGF1dG9tYXRhLnA4AGJvdW5jZS5wOABjYXN0LnA4AGNvbGxpZGUucDgAZG90czNkLnA4AGRyaXBweS5wOABqZWxwaS5wOABzb3J0LnA4AHdhbmRlci5wOAB3YXZlcy5wOAAxNTEzMwAxOTYzOQAxMDAyMgAxOTQ4OAAxODk3MwA0MTQyMgA1NzIwMQBjZWxlc3RlLnA4LnBuZwBmcm9nX2hvbWUucDgucG5nAGh1Z19hcmVuYS5wOC5wbmcAYXJjaGVvcy5wOC5wbmcAZHVza19jaGlsZC5wOC5wbmcAOF9sZWdzX3RvX2xvdmUucDgucG5nAGVtYnJhY2UucDgucG5nAGNlbGVzdGUAZnJvZyBob21lAGh1ZyBhcmVuYQB0b3dlciBvZiBhcmNoZW9zAGR1c2sgY2hpbGQAOCBsZWdzIHRvIGxvdmUAZW1icmFjZQBpbnN0YWxsaW5nIGRlbW8gY2FydHMgdG8gL2RlbW9zLwBkZW1vcy8AdwBjb3VsZCBub3Qgd3JpdGUgdG8gZGlzawBmYXZvdXJpdGVzLnR4dABnYW1lcy8AI2luY2x1ZGUgAGNhbiBub3QgI2luY2x1ZGUAc2VyaWFsIGJ1ZmZlciBvdmVyZmxvdwAlMTAyM3MAZnJlcQBkbWEAdHlwZQBicmlnaHRuZXNzAGludmVydABsZWRzAHBpY28tOCAwLjIuMmMAKGMpIDIwMTQtMjEgbGV4YWxvZmZsZSBnYW1lcyBsbHAAdXNpbmcgdGVtcG9yYXJ5IGJyb3dzZXIgc3RvcmFnZQBmZXRjaGluZyBjYXJ0cmlkZ2UuLgBib290aW5nIGNhcnRyaWRnZS4uAFtjb2RvXSAlcwA+Y29kb19pbml0CgBwbGF0Zm9ybTogJXMKAEVtc2NyaXB0ZW4AY29kb19zeXN0ZW1faW5pdAoAY29kb19yZXNldF90aW1lcgoAY29kb19ndWlfaW5pdAoAY29kb19rZXlzX2luaXQKAGNvZG9fdGV4dF9pbml0CgBjb2RvX3ZpZGVvX2luaXQKAGNvZG9fbW91c2VfaW5pdAoAY29kb19qb3lzdGlja19pbml0CgA8b2sKAHdpZHRoAGhlaWdodABzaG93X2ZwcwB3aW5kb3dlZAB3aW5kb3dfeAB3aW5kb3dfeQBmcmFtZWxlc3MAZnVsbHNjcmVlbl9tZXRob2QAZm9yZWdyb3VuZF9zbGVlcF9tcwBzb3VuZF92b2x1bWUAbXVzaWNfdm9sdW1lAHNvdW5kAG11c2ljAG1peF9idWZmZXJfc2l6ZQBzb2Z0d2FyZV9ibGl0AHNvZnR3YXJlX2JsaXR0ZXIAaG9tZQBkZXNrdG9wAHBpeGVsX3BlcmZlY3QAZHJhd19yZWN0AHRpbWVvdXQAaGVhZGxlc3MAcGVyZl90aW1pbmcAZnJhbWVidWZmZXIAYmFja2dyb3VuZF9zbGVlcF9tcwBlbXVsYXRlX3RleHRpbnB1dABkZWZlcnJlZF9kZWFsbG9jAGV4dF9kaXNwbGF5AHByZWJsaXRfc2NhbGUAZGlzcGxheQBsb2dfc3lzdGVtX2luZm8AJWQAJWQsJWQsJWQsJWQAPmNvZG9fZXhpdAoAY211c2ljX3N0b3AKAGNvZG9fbWFpbl9leGl0CgBjb2RvX2NvbmZpZ19zYXZlCgBjb2RvX3NvdW5kX2V4aXQKAGNvZG9fdmlkZW9fZXhpdAoAY29kb19qb3lzdGlja19leGl0CgBjb2RvX3N5c3RlbV9leGl0CgBjb2RvX2l0ZW1zX2NyZWF0ZWQ6ICVkCgBAQCBzeW5jaW5nAEZTLnN5bmNmcyggZmFsc2UsIGZ1bmN0aW9uIChlcnIpIHsgfSApOwBjb2RvX2Rlc3Ryb3lfcG9kOiBjcG9kLT5pdGVtcyAhPSAwCgBCYWQgY3BvZF9hZGRfaXRlbSB0eXBlAEJhZCBjcG9kX2FkZF9pdGVtAGNvZG9fbG9hZF9wb2RfZmlsZTogVW5rbm93biBDaHVuayEKAHJiAGZhaWxlZABvawBjb2RvX2xvYWRfcG9kOiAlcyAlcyAKACoqIHdlYiBmaWxlIHN5c3RlbSBub3QgbW91bnRlZC4gcmV0dXJuaW5nIHZkaXNrIGZpbGU6ICVzICglcykKAGNvZG9fZm9wZW4gJXMgKCVzKSAlcwoAb3BlbmVkACAtPiByZXR1cm5pbmcgdmRpc2sgZmlsZTogJXMgKCVzKQoAIntyZXR1cm4gKCh0eXBlb2YgcDhfdG91Y2hfZGV0ZWN0ZWQgPT09ICd1bmRlZmluZWQnKSB8fCAhcDhfdG91Y2hfZGV0ZWN0ZWQpID8gMCA6IDE7fSIAQEAgZGVmYXVsdCBtaXhfYnVmZmVyX3NpemUgYWRqdXN0ZWQgdG8gMjA0OCAoTW9iaWxlKQBjb2RvX3NwbGl0X2ZpbGVuYW1lX2V4OiBmaWxlX25hbWUgdG9vIGxvbmcKAC4uAH4AY29kb19zYXZlX3BuZyByZXN1bHQ6ICVkICBmaWxlOiAlcwoACkFzc2VydGlvbiBmYWlsZWQ6ICVzCgBDb3VsZCBub3QgYWxsb2NhdGUgdmVydGV4AENvdWxkIG5vdCBhbGxvY2F0ZSBib25lX3ZlcnRleABDb3VsZCBub3QgYWxsb2NhdGUgcG9seQBhY3RvciVkACAASUhEUgBQTFRFAGJLR0QAcEhZcwBJREFUAHRJTUUAelRYdABMb2RlUE5HADIwMTEwMjIxAGlUWHQAdEVYdAB0Uk5TAGNvZG9fZnJlZSBmYWlsICV4ICV4CgAlMDh4JTA4eCUwOHglMDh4JTA4eAAie3JldHVybiBkb2N1bWVudC5oaWRkZW4gPyAxIDogMDt9IgBjb2RvX3NvdW5kX2luaXQgbWl4X2J1ZmZlcl9zaXplOiAlZAoAY29kb19zZXRfc2NyZWVuICVkICVkICVkICV4CgByZXRyaWV2aW5nIGRlc2t0b3AgcmVzb2x1dGlvbjogJWQgJWQKACB3aW5kb3cgc2l6ZTogJWQgJWQKACBkZXNrdG9wIHNpemU6ICVkICVkCgBvawoAJVktJW0tJWQgJUg6JU06JVMAJXMvJXMAJWQtJWQtJWQgJWQ6JWQ6JWQAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaADEAMgAzADQANQA2ADcAOAA5ADAAUmV0dXJuAEVzY2FwZQBCYWNrc3BhY2UAVGFiAFNwYWNlAC0APQBbAF0AU2xhc2gAIwA7ACcAYAAsAC8AQ2Fwc0xvY2sARjEARjIARjMARjQARjUARjYARjcARjgARjkARjEwAEYxMQBGMTIAUHJpbnRTY3JlZW4AU2Nyb2xsTG9jawBQYXVzZQBJbnNlcnQASG9tZQBQYWdlVXAARGVsZXRlAEVuZABQYWdlRG93bgBSaWdodABMZWZ0AERvd24AVXAATnVtbG9jawBLZXlwYWQgLwBLZXlwYWQgKgBLZXlwYWQgLQBLZXlwYWQgKwBLZXlwYWQgRW50ZXIAS2V5cGFkIDEAS2V5cGFkIDIAS2V5cGFkIDMAS2V5cGFkIDQAS2V5cGFkIDUAS2V5cGFkIDYAS2V5cGFkIDcAS2V5cGFkIDgAS2V5cGFkIDkAS2V5cGFkIDAAS2V5cGFkIC4AQXBwbGljYXRpb24AUG93ZXIAS2V5cGFkID0ARjEzAEYxNABGMTUARjE2AEYxNwBGMTgARjE5AEYyMABGMjEARjIyAEYyMwBGMjQARXhlY3V0ZQBIZWxwAE1lbnUAU2VsZWN0AFN0b3AAQWdhaW4AVW5kbwBDdXQAQ29weQBQYXN0ZQBGaW5kAE11dGUAVm9sdW1lVXAAVm9sdW1lRG93bgBLZXlwYWQgLABLZXlwYWQgPSAoQVM0MDApAEFsdEVyYXNlAFN5c1JlcQBDYW5jZWwAQ2xlYXIAUHJpb3IAU2VwYXJhdG9yAE91dABPcGVyAENsZWFyIC8gQWdhaW4AQ3JTZWwARXhTZWwAS2V5cGFkIDAwAEtleXBhZCAwMDAAVGhvdXNhbmRzU2VwYXJhdG9yAERlY2ltYWxTZXBhcmF0b3IAQ3VycmVuY3lVbml0AEN1cnJlbmN5U3ViVW5pdABLZXlwYWQgKABLZXlwYWQgKQBLZXlwYWQgewBLZXlwYWQgfQBLZXlwYWQgVGFiAEtleXBhZCBCYWNrc3BhY2UAS2V5cGFkIEEAS2V5cGFkIEIAS2V5cGFkIEMAS2V5cGFkIEQAS2V5cGFkIEUAS2V5cGFkIEYAS2V5cGFkIFhPUgBLZXlwYWQgXgBLZXlwYWQgJQBLZXlwYWQgPABLZXlwYWQgPgBLZXlwYWQgJgBLZXlwYWQgJiYAS2V5cGFkIHwAS2V5cGFkIHx8AEtleXBhZCA6AEtleXBhZCAjAEtleXBhZCBTcGFjZQBLZXlwYWQgQABLZXlwYWQgIQBLZXlwYWQgTWVtU3RvcmUAS2V5cGFkIE1lbVJlY2FsbABLZXlwYWQgTWVtQ2xlYXIAS2V5cGFkIE1lbUFkZABLZXlwYWQgTWVtU3VidHJhY3QAS2V5cGFkIE1lbU11bHRpcGx5AEtleXBhZCBNZW1EaXZpZGUAS2V5cGFkICsvLQBLZXlwYWQgQ2xlYXIAS2V5cGFkIENsZWFyRW50cnkAS2V5cGFkIEJpbmFyeQBLZXlwYWQgT2N0YWwAS2V5cGFkIERlY2ltYWwAS2V5cGFkIEhleGFkZWNpbWFsAExlZnQgQ3RybABMZWZ0IFNoaWZ0AExlZnQgQWx0AExlZnQgR1VJAFJpZ2h0IEN0cmwAUmlnaHQgU2hpZnQAUmlnaHQgQWx0AFJpZ2h0IEdVSQBNb2RlU3dpdGNoAEF1ZGlvTmV4dABBdWRpb1ByZXYAQXVkaW9TdG9wAEF1ZGlvUGxheQBBdWRpb011dGUATWVkaWFTZWxlY3QAV1dXAE1haWwAQ2FsY3VsYXRvcgBDb21wdXRlcgBBQyBTZWFyY2gAQUMgSG9tZQBBQyBCYWNrAEFDIEZvcndhcmQAQUMgU3RvcABBQyBSZWZyZXNoAEFDIEJvb2ttYXJrcwBCcmlnaHRuZXNzRG93bgBCcmlnaHRuZXNzVXAARGlzcGxheVN3aXRjaABLQkRJbGx1bVRvZ2dsZQBLQkRJbGx1bURvd24AS0JESWxsdW1VcABFamVjdABTbGVlcABBcHAxAEFwcDIAQXVkaW9SZXdpbmQAQXVkaW9GYXN0Rm9yd2FyZABVbmFibGUgdG8gaW5pdGlhbGl6ZSBTREwAaWYgKHR5cGVvZiBjb2RvX2tleV9idWZmZXIgPT09ICd1bmRlZmluZWQnKSBjb2RvX2tleV9idWZmZXIgPSBbXTsgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGZ1bmN0aW9uKGUpeyB2YXIgdmFsID0gLTE7IGlmIChlLmtleS5sZW5ndGggPT0gMSkgeyB2YWwgPSBlLmtleS5jaGFyQ29kZUF0KDApOyB9IGVsc2UgeyBpZiAoZS5rZXkgPT0gIlRhYiIpIHZhbCA9IDk7IGlmIChlLmtleSA9PSAiRW50ZXIiKSB2YWwgPSAxMzsgaWYgKGUua2V5ID09ICJCYWNrc3BhY2UiKSB2YWwgPSA4OyBpZiAoZS5rZXkgPT0gIkVzY2FwZSIpIHZhbCA9IDI3OyBpZiAodmFsID09IC0xKXsgfSB9IHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIik7IGNvZG9fa2V5X2J1ZmZlci5wdXNoKHZhbCk7IH0pOwB2YXIgX2NvZG9fdGV4dF92YWx1ZSA9ICIiOyB2YXIgX2NvZG9fc3RyX291dCA9ICIiOyB2YXIgY29kb193aGVlbF9keCA9IDA7IHZhciBjb2RvX3doZWVsX2R5ID0gMDsAZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBmdW5jdGlvbihlKXsgZHggPSBlLmRlbHRhWDsgaWYgKGR4IDwgMCkgZHggPSAtMTsgaWYgKGR4ID4gMCkgZHggPSAxOyBpZiAoZS5kZWx0YU1vZGUgPT0gMikgZHggKj0gNDsgaWYgKHR5cGVvZiBjb2RvX3doZWVsX2R4ICE9PSAndW5kZWZpbmVkJykgY29kb193aGVlbF9keCAtPSBkeDsgZHkgPSBlLmRlbHRhWTsgaWYgKGR5IDwgMCkgZHkgPSAtMTsgaWYgKGR5ID4gMCkgZHkgPSAxOyBpZiAoZS5kZWx0YU1vZGUgPT0gMikgZHkgKj0gNDsgaWYgKHR5cGVvZiBjb2RvX3doZWVsX2R5ICE9PSAndW5kZWZpbmVkJykgY29kb193aGVlbF9keSAtPSBkeTsgfSk7AAoKKiogRkFUQUwgRVJST1I6ICVzCgoAU0RMIEVycm9yOiAlcwoAInt2YXIgcmV0ID0gMDsgaWYgKHR5cGVvZiBwaWNvOF9tb3VzZSAhPT0gJ3VuZGVmaW5lZCcgJiYgcGljbzhfbW91c2UubGVuZ3RoID4gMCkgcmV0PTE7IHJldHVybiByZXQ7fSIAIntyZXR1cm4gcGljbzhfbW91c2VbMF19IgAie3JldHVybiBwaWNvOF9tb3VzZVsxXX0iAGZ1bmN0aW9uIGF1ZGlvX2xvZyhtc2cpIHsgaWYgKHdpbmRvdy5jb25zb2xlICYmIHdpbmRvdy5jb25zb2xlLmxvZykgeyB3aW5kb3cuY29uc29sZS5sb2coIltjb2RvXSBhdWRpb19pbml0X3dlYmF1ZGlvICIrbXNnKTsgfSB9IGF1ZGlvX2xvZygiYXVkaW9faW5pdCIpOyB2YXIgY29kb19hdWRpb19jb250ZXh0OyBpZiAodHlwZW9mIE1vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIGF1ZGlvX2xvZygiICoqKiBNb2R1bGUgdW5kZWZpbmVkIik7IGVsc2UgaWYgKHR5cGVvZiBNb2R1bGUuY2NhbGwgPT09ICd1bmRlZmluZWQnKSBhdWRpb19sb2coIiAqKioqIE1vZHVsZS5jY2FsbCB1bmRlZmluZWQiKTsgZWxzZSB7IHZhciB3ZWJBdWRpb0FQSSA9IHdpbmRvdy5BdWRpb0NvbnRleHQgfHwgd2luZG93LndlYmtpdEF1ZGlvQ29udGV4dCB8fCB3aW5kb3cubW96QXVkaW9Db250ZXh0IHx8IHdpbmRvdy5vQXVkaW9Db250ZXh0IHx8IHdpbmRvdy5tc0F1ZGlvQ29udGV4dDsgaWYgKHdlYkF1ZGlvQVBJKSB7IGlmICh0eXBlb2YgcGljbzhfYXVkaW9fY29udGV4dCAhPT0gJ3VuZGVmaW5lZCcpIHsgY29kb19hdWRpb19jb250ZXh0ID0gcGljbzhfYXVkaW9fY29udGV4dDsgYXVkaW9fbG9nKCJmb3VuZCBwaWNvOF9hdWRpb19jb250ZXh0Iik7IH0gZWxzZSBpZiAodHlwZW9mIHZveGF0cm9uX2F1ZGlvX2NvbnRleHQgIT09ICd1bmRlZmluZWQnKSB7IGNvZG9fYXVkaW9fY29udGV4dCA9IHZveGF0cm9uX2F1ZGlvX2NvbnRleHQ7IGF1ZGlvX2xvZygiZm91bmQgdm94YXRyb25fYXVkaW9fY29udGV4dCIpOyB9IGVsc2UgeyBjb2RvX2F1ZGlvX2NvbnRleHQgPSBuZXcgd2ViQXVkaW9BUEk7IGF1ZGlvX2xvZygiY3JlYXRpbmcgb3duIGF1ZGlvIGNvbnRleHQiKTsgfSBpZiAoY29kb19hdWRpb19jb250ZXh0KSB7IGF1ZGlvX2xvZygiU2FtcGxlIFJhdGU6ICIrY29kb19hdWRpb19jb250ZXh0LnNhbXBsZVJhdGUpOyBhdWRpb19sb2coIkJ1ZmZlciBTaXplOiAiKyQwKTsgbm9kZSA9IGNvZG9fYXVkaW9fY29udGV4dC5jcmVhdGVTY3JpcHRQcm9jZXNzb3IoJDAsIDEsIDEpOyBub2RlLm9uYXVkaW9wcm9jZXNzID0gZnVuY3Rpb24oZSkgeyB2YXIgZGF0YSA9IGUub3V0cHV0QnVmZmVyLmdldENoYW5uZWxEYXRhKDApOyB2YXIgciA9IDIyMDUwLjAgLyBjb2RvX2F1ZGlvX2NvbnRleHQuc2FtcGxlUmF0ZTsgdmFyIGxlbjAgPSBNYXRoLmZsb29yKGRhdGEubGVuZ3RoICogcik7IHZhciBsZW4xID0gZGF0YS5sZW5ndGg7IHZhciBwdHIgPSBNb2R1bGUuY2NhbGwoJ21peF8wJywgJ251bWJlcicsIFsnbnVtYmVyJywnbnVtYmVyJ10sIFtsZW4wLCBsZW4xXSk7IGZvciAodmFyIGogPSAwOyBqIDwgZGF0YS5sZW5ndGg7IGorKykgZGF0YVtqXSA9IE1vZHVsZS5nZXRWYWx1ZShwdHIgKyBqKjIsICdpMTYnKSAvIDB4ODAwMDsgfTsgbm9kZS5jb25uZWN0KGNvZG9fYXVkaW9fY29udGV4dC5kZXN0aW5hdGlvbik7IH0gZWxzZSB7IGF1ZGlvX2xvZygiKiogZmFpbGVkIHRvIGNyZWF0ZSBjb2RvX2F1ZGlvX2NvbnRleHQiKTsgfSB9IGVsc2UgeyBhdWRpb19sb2coIioqIHdlYkF1ZGlvQVBJIG5vdCBmb3VuZCIpOyB9IH0AIntyZXR1cm4gZG9jdW1lbnQucG9pbnRlckxvY2tFbGVtZW50ID8gMSA6IDA7fSIAImlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAndW5kZWZpbmVkJykgY29kb19rZXlfYnVmZmVyID0gW107IHJldHVybiBjb2RvX2tleV9idWZmZXIubGVuZ3RoID4gMCA/IDEgOiAwOyIAImlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAndW5kZWZpbmVkJykgY29kb19rZXlfYnVmZmVyID0gW107IGxldCB2YWwgPSBjb2RvX2tleV9idWZmZXIuc2hpZnQoKSB8IDA7IHJldHVybiB2YWw7IgByZWFkIGN1cnNvciBrZXkgJWQKACJ7dGVtcCA9ICh0eXBlb2YgY29kb193aGVlbF9keCAhPT0gJ3VuZGVmaW5lZCcpID8gY29kb193aGVlbF9keDowOyBjb2RvX3doZWVsX2R4ID0gMDsgcmV0dXJuIHRlbXA7fSIAInt0ZW1wID0gKHR5cGVvZiBjb2RvX3doZWVsX2R5ICE9PSAndW5kZWZpbmVkJykgPyBjb2RvX3doZWVsX2R5OjA7IGNvZG9fd2hlZWxfZHkgPSAwOyByZXR1cm4gdGVtcDt9IgAieyBpZiAoZG9jdW1lbnQuaGlkZGVuKSByZXR1cm4gMDsgZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY29kb190ZXh0YXJlYVwiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCkgeyBpZiAoZWwgPT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkgcmV0dXJuIDE7IH0gZWwgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50OyByZXR1cm4gKCFlbCB8fCAoZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpICE9IFwiaW5wdXRcIiAmJiBlbC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT0gXCJ0ZXh0YXJlYVwiKSk7IH0iAGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgIT0gIm5vbmUiKSB7IGVsLmZvY3VzKCk7IGVsLnNlbGVjdCgpOyB9AGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgIT0gIm5vbmUiKSB7IGVsLnNlbGVjdCgpOyB9ACJ7cmV0dXJuIHBpY284X21vdXNlWzJdfSIAL3VzZXJfZGF0YS8lcwAie3ZhciB2YWw9MDsgaWYgKHR5cGVvZiBjb2RvX21vdW50ZWRfZmlsZXN5c3RlbSAhPT0gJ3VuZGVmaW5lZCcpIHZhbD0xOyByZXR1cm4gdmFsO30iAEBAIGNvZG9fbWtkaXIgZmFpbGVkOyBmaWxlc3lzdGVtIG5vdCBmb3VuZGVkAF9kaXJfbmFtZT0iIjsAe19kaXJfbmFtZT1fZGlyX25hbWUrU3RyaW5nLmZyb21DaGFyQ29kZSgkMCk7fQBjb25zb2xlLmxvZygiQEAgbWtkaXIgZGlyZWN0b3J5IChub2NoZWNrKTogIitfZGlyX25hbWUpOyBGUy5jcmVhdGVQYXRoKCIiLCBfZGlyX25hbWUsIHRydWUsIHRydWUpOwBbY29kb10gZXhpdGluZyBwb2ludGVyIGxvY2sAe01vZHVsZVsnY2FudmFzJ10uZXhpdFBvaW50ZXJMb2NrKCk7fQBAQCBjb2RvX3dnZXRfb25sb2FkOiBzYXZpbmcgJWQgYnl0ZXMgdG8gJXMKAEBAIGNvZG9fd2dldF9vbmVycm9yOiAlcwoAQEAgY29kb193Z2V0X3dpdGhfY2FsbGJhY2tzOiBkb3dubG9hZGluZyAlcyAtPiAlcwoAZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwpIHsgfQBfY29kb19zdHJfb3V0PSIiOwB7X2NvZG9fc3RyX291dD1fY29kb19zdHJfb3V0K1N0cmluZy5mcm9tQ2hhckNvZGUoJDApO30AInsgZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY29kb190ZXh0YXJlYVwiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCkgeyBlbC52YWx1ZSA9IF9jb2RvX3N0cl9vdXQ7IHJldHVybiAwOyB9IGVsc2UgcmV0dXJuIDE7IH0iAGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgPT0gIm5vbmUiICYmICgodHlwZW9mIHA4X3RvdWNoX2RldGVjdGVkID09PSAndW5kZWZpbmVkJykgfHwgIXA4X3RvdWNoX2RldGVjdGVkKSkgeyBjb25zb2xlLmxvZygiQEAgZW5hYmxpbmcgY29kb190ZXh0ZmllbGQiKTsgZWwuc3R5bGUuZGlzcGxheSA9ICIiOyBlbC5mb2N1cygpOyBlbC5zZWxlY3QoKTsgfQAie3JldHVybiAodHlwZW9mIF9jb2RvX3RleHRfdmFsdWUgPT09ICd1bmRlZmluZWQnKSA/IDEgOiAwO30iAGlpaSA9IDA7ACJ7aWlpID0gaWlpKzE7IHJldHVybiBfY29kb190ZXh0X3ZhbHVlLmNoYXJDb2RlQXQoaWlpLTEpOyB9IgAiZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY29kb190ZXh0YXJlYVwiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCAmJiBlbC5zdHlsZS5kaXNwbGF5ICE9IFwibm9uZVwiICYmIGVsLnZhbHVlICE9IFwiXCIpIHsgX2NvZG9fdGV4dF92YWx1ZSA9IGVsLnZhbHVlOyByZXR1cm4gMTsgfSByZXR1cm4gMDsiACVzJXMAcGljby04IGNhcnRyaWRnZQB2ZXJzaW9uICVkAF9fbHVhX18AX19nZnhfXwBfX2dmZl9fAF9fbWFwX18AX19zZnhfXwBfX211c2ljX18AX19sYWJlbF9fAF9fY2hhbmdlX21hc2tfXwAlMDJ4JTAyeCUwMnglMDJ4ACUwMnglMXglMXglMXgAJTAyeCAAcgBwaWNvLTggY2FydHJpZGdlIC8vIGh0dHA6Ly93d3cucGljby04LmNvbQoAdmVyc2lvbiAlZAoAX19sdWFfXwoACgBfX2dmeF9fCgAleABfX2xhYmVsX18KAF9fZ2ZmX18KACUwMngAX19tYXBfXwoAX19zZnhfXwoAJTAyeCV4JXgleABfX211c2ljX18KACUwMnglMDJ4JTAyeCUwMngKAF9fY2hhbmdlX21hc2tfXwoAd2IALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AAAECBAcDBgUAaW5maW5pdHkAbmFuAHJ3YQAu";
+
+var tempDoublePtr = 3042720;
+
+function ___setErrNo(value) {
+ if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value;
+ return value;
+}
+
+var PATH = {
+ splitPath: function(filename) {
+ var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
+ return splitPathRe.exec(filename).slice(1);
+ },
+ normalizeArray: function(parts, allowAboveRoot) {
+ var up = 0;
+ for (var i = parts.length - 1; i >= 0; i--) {
+ var last = parts[i];
+ if (last === ".") {
+ parts.splice(i, 1);
+ } else if (last === "..") {
+ parts.splice(i, 1);
+ up++;
+ } else if (up) {
+ parts.splice(i, 1);
+ up--;
+ }
+ }
+ if (allowAboveRoot) {
+ for (;up; up--) {
+ parts.unshift("..");
+ }
+ }
+ return parts;
+ },
+ normalize: function(path) {
+ var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/";
+ path = PATH.normalizeArray(path.split("/").filter(function(p) {
+ return !!p;
+ }), !isAbsolute).join("/");
+ if (!path && !isAbsolute) {
+ path = ".";
+ }
+ if (path && trailingSlash) {
+ path += "/";
+ }
+ return (isAbsolute ? "/" : "") + path;
+ },
+ dirname: function(path) {
+ var result = PATH.splitPath(path), root = result[0], dir = result[1];
+ if (!root && !dir) {
+ return ".";
+ }
+ if (dir) {
+ dir = dir.substr(0, dir.length - 1);
+ }
+ return root + dir;
+ },
+ basename: function(path) {
+ if (path === "/") return "/";
+ var lastSlash = path.lastIndexOf("/");
+ if (lastSlash === -1) return path;
+ return path.substr(lastSlash + 1);
+ },
+ extname: function(path) {
+ return PATH.splitPath(path)[3];
+ },
+ join: function() {
+ var paths = Array.prototype.slice.call(arguments, 0);
+ return PATH.normalize(paths.join("/"));
+ },
+ join2: function(l, r) {
+ return PATH.normalize(l + "/" + r);
+ },
+ resolve: function() {
+ var resolvedPath = "", resolvedAbsolute = false;
+ for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
+ var path = i >= 0 ? arguments[i] : FS.cwd();
+ if (typeof path !== "string") {
+ throw new TypeError("Arguments to path.resolve must be strings");
+ } else if (!path) {
+ return "";
+ }
+ resolvedPath = path + "/" + resolvedPath;
+ resolvedAbsolute = path.charAt(0) === "/";
+ }
+ resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) {
+ return !!p;
+ }), !resolvedAbsolute).join("/");
+ return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
+ },
+ relative: function(from, to) {
+ from = PATH.resolve(from).substr(1);
+ to = PATH.resolve(to).substr(1);
+ function trim(arr) {
+ var start = 0;
+ for (;start < arr.length; start++) {
+ if (arr[start] !== "") break;
+ }
+ var end = arr.length - 1;
+ for (;end >= 0; end--) {
+ if (arr[end] !== "") break;
+ }
+ if (start > end) return [];
+ return arr.slice(start, end - start + 1);
+ }
+ var fromParts = trim(from.split("/"));
+ var toParts = trim(to.split("/"));
+ var length = Math.min(fromParts.length, toParts.length);
+ var samePartsLength = length;
+ for (var i = 0; i < length; i++) {
+ if (fromParts[i] !== toParts[i]) {
+ samePartsLength = i;
+ break;
+ }
+ }
+ var outputParts = [];
+ for (var i = samePartsLength; i < fromParts.length; i++) {
+ outputParts.push("..");
+ }
+ outputParts = outputParts.concat(toParts.slice(samePartsLength));
+ return outputParts.join("/");
+ }
+};
+
+var TTY = {
+ ttys: [],
+ init: function() {},
+ shutdown: function() {},
+ register: function(dev, ops) {
+ TTY.ttys[dev] = {
+ input: [],
+ output: [],
+ ops: ops
+ };
+ FS.registerDevice(dev, TTY.stream_ops);
+ },
+ stream_ops: {
+ open: function(stream) {
+ var tty = TTY.ttys[stream.node.rdev];
+ if (!tty) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+ }
+ stream.tty = tty;
+ stream.seekable = false;
+ },
+ close: function(stream) {
+ stream.tty.ops.flush(stream.tty);
+ },
+ flush: function(stream) {
+ stream.tty.ops.flush(stream.tty);
+ },
+ read: function(stream, buffer, offset, length, pos) {
+ if (!stream.tty || !stream.tty.ops.get_char) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
+ }
+ var bytesRead = 0;
+ for (var i = 0; i < length; i++) {
+ var result;
+ try {
+ result = stream.tty.ops.get_char(stream.tty);
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ }
+ if (result === undefined && bytesRead === 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
+ }
+ if (result === null || result === undefined) break;
+ bytesRead++;
+ buffer[offset + i] = result;
+ }
+ if (bytesRead) {
+ stream.node.timestamp = Date.now();
+ }
+ return bytesRead;
+ },
+ write: function(stream, buffer, offset, length, pos) {
+ if (!stream.tty || !stream.tty.ops.put_char) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
+ }
+ try {
+ for (var i = 0; i < length; i++) {
+ stream.tty.ops.put_char(stream.tty, buffer[offset + i]);
+ }
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ }
+ if (length) {
+ stream.node.timestamp = Date.now();
+ }
+ return i;
+ }
+ },
+ default_tty_ops: {
+ get_char: function(tty) {
+ if (!tty.input.length) {
+ var result = null;
+ if (ENVIRONMENT_IS_NODE) {
+ var BUFSIZE = 256;
+ var buf = new Buffer(BUFSIZE);
+ var bytesRead = 0;
+ var isPosixPlatform = process.platform != "win32";
+ var fd = process.stdin.fd;
+ if (isPosixPlatform) {
+ var usingDevice = false;
+ try {
+ fd = fs.openSync("/dev/stdin", "r");
+ usingDevice = true;
+ } catch (e) {}
+ }
+ try {
+ bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);
+ } catch (e) {
+ if (e.toString().indexOf("EOF") != -1) bytesRead = 0; else throw e;
+ }
+ if (usingDevice) {
+ fs.closeSync(fd);
+ }
+ if (bytesRead > 0) {
+ result = buf.slice(0, bytesRead).toString("utf-8");
+ } else {
+ result = null;
+ }
+ } else if (typeof window != "undefined" && typeof window.prompt == "function") {
+ result = window.prompt("Input: ");
+ if (result !== null) {
+ result += "\n";
+ }
+ } else if (typeof readline == "function") {
+ result = readline();
+ if (result !== null) {
+ result += "\n";
+ }
+ }
+ if (!result) {
+ return null;
+ }
+ tty.input = intArrayFromString(result, true);
+ }
+ return tty.input.shift();
+ },
+ put_char: function(tty, val) {
+ if (val === null || val === 10) {
+ out(UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ } else {
+ if (val != 0) tty.output.push(val);
+ }
+ },
+ flush: function(tty) {
+ if (tty.output && tty.output.length > 0) {
+ out(UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ }
+ }
+ },
+ default_tty1_ops: {
+ put_char: function(tty, val) {
+ if (val === null || val === 10) {
+ err(UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ } else {
+ if (val != 0) tty.output.push(val);
+ }
+ },
+ flush: function(tty) {
+ if (tty.output && tty.output.length > 0) {
+ err(UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ }
+ }
+ }
+};
+
+var MEMFS = {
+ ops_table: null,
+ mount: function(mount) {
+ return MEMFS.createNode(null, "/", 16384 | 511, 0);
+ },
+ createNode: function(parent, name, mode, dev) {
+ if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ if (!MEMFS.ops_table) {
+ MEMFS.ops_table = {
+ dir: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr,
+ lookup: MEMFS.node_ops.lookup,
+ mknod: MEMFS.node_ops.mknod,
+ rename: MEMFS.node_ops.rename,
+ unlink: MEMFS.node_ops.unlink,
+ rmdir: MEMFS.node_ops.rmdir,
+ readdir: MEMFS.node_ops.readdir,
+ symlink: MEMFS.node_ops.symlink
+ },
+ stream: {
+ llseek: MEMFS.stream_ops.llseek
+ }
+ },
+ file: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr
+ },
+ stream: {
+ llseek: MEMFS.stream_ops.llseek,
+ read: MEMFS.stream_ops.read,
+ write: MEMFS.stream_ops.write,
+ allocate: MEMFS.stream_ops.allocate,
+ mmap: MEMFS.stream_ops.mmap,
+ msync: MEMFS.stream_ops.msync
+ }
+ },
+ link: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr,
+ readlink: MEMFS.node_ops.readlink
+ },
+ stream: {}
+ },
+ chrdev: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr
+ },
+ stream: FS.chrdev_stream_ops
+ }
+ };
+ }
+ var node = FS.createNode(parent, name, mode, dev);
+ if (FS.isDir(node.mode)) {
+ node.node_ops = MEMFS.ops_table.dir.node;
+ node.stream_ops = MEMFS.ops_table.dir.stream;
+ node.contents = {};
+ } else if (FS.isFile(node.mode)) {
+ node.node_ops = MEMFS.ops_table.file.node;
+ node.stream_ops = MEMFS.ops_table.file.stream;
+ node.usedBytes = 0;
+ node.contents = null;
+ } else if (FS.isLink(node.mode)) {
+ node.node_ops = MEMFS.ops_table.link.node;
+ node.stream_ops = MEMFS.ops_table.link.stream;
+ } else if (FS.isChrdev(node.mode)) {
+ node.node_ops = MEMFS.ops_table.chrdev.node;
+ node.stream_ops = MEMFS.ops_table.chrdev.stream;
+ }
+ node.timestamp = Date.now();
+ if (parent) {
+ parent.contents[name] = node;
+ }
+ return node;
+ },
+ getFileDataAsRegularArray: function(node) {
+ if (node.contents && node.contents.subarray) {
+ var arr = [];
+ for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);
+ return arr;
+ }
+ return node.contents;
+ },
+ getFileDataAsTypedArray: function(node) {
+ if (!node.contents) return new Uint8Array();
+ if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);
+ return new Uint8Array(node.contents);
+ },
+ expandFileStorage: function(node, newCapacity) {
+ var prevCapacity = node.contents ? node.contents.length : 0;
+ if (prevCapacity >= newCapacity) return;
+ var CAPACITY_DOUBLING_MAX = 1024 * 1024;
+ newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0);
+ if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);
+ var oldContents = node.contents;
+ node.contents = new Uint8Array(newCapacity);
+ if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);
+ return;
+ },
+ resizeFileStorage: function(node, newSize) {
+ if (node.usedBytes == newSize) return;
+ if (newSize == 0) {
+ node.contents = null;
+ node.usedBytes = 0;
+ return;
+ }
+ if (!node.contents || node.contents.subarray) {
+ var oldContents = node.contents;
+ node.contents = new Uint8Array(new ArrayBuffer(newSize));
+ if (oldContents) {
+ node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));
+ }
+ node.usedBytes = newSize;
+ return;
+ }
+ if (!node.contents) node.contents = [];
+ if (node.contents.length > newSize) node.contents.length = newSize; else while (node.contents.length < newSize) node.contents.push(0);
+ node.usedBytes = newSize;
+ },
+ node_ops: {
+ getattr: function(node) {
+ var attr = {};
+ attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
+ attr.ino = node.id;
+ attr.mode = node.mode;
+ attr.nlink = 1;
+ attr.uid = 0;
+ attr.gid = 0;
+ attr.rdev = node.rdev;
+ if (FS.isDir(node.mode)) {
+ attr.size = 4096;
+ } else if (FS.isFile(node.mode)) {
+ attr.size = node.usedBytes;
+ } else if (FS.isLink(node.mode)) {
+ attr.size = node.link.length;
+ } else {
+ attr.size = 0;
+ }
+ attr.atime = new Date(node.timestamp);
+ attr.mtime = new Date(node.timestamp);
+ attr.ctime = new Date(node.timestamp);
+ attr.blksize = 4096;
+ attr.blocks = Math.ceil(attr.size / attr.blksize);
+ return attr;
+ },
+ setattr: function(node, attr) {
+ if (attr.mode !== undefined) {
+ node.mode = attr.mode;
+ }
+ if (attr.timestamp !== undefined) {
+ node.timestamp = attr.timestamp;
+ }
+ if (attr.size !== undefined) {
+ MEMFS.resizeFileStorage(node, attr.size);
+ }
+ },
+ lookup: function(parent, name) {
+ throw FS.genericErrors[ERRNO_CODES.ENOENT];
+ },
+ mknod: function(parent, name, mode, dev) {
+ return MEMFS.createNode(parent, name, mode, dev);
+ },
+ rename: function(old_node, new_dir, new_name) {
+ if (FS.isDir(old_node.mode)) {
+ var new_node;
+ try {
+ new_node = FS.lookupNode(new_dir, new_name);
+ } catch (e) {}
+ if (new_node) {
+ for (var i in new_node.contents) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
+ }
+ }
+ }
+ delete old_node.parent.contents[old_node.name];
+ old_node.name = new_name;
+ new_dir.contents[new_name] = old_node;
+ old_node.parent = new_dir;
+ },
+ unlink: function(parent, name) {
+ delete parent.contents[name];
+ },
+ rmdir: function(parent, name) {
+ var node = FS.lookupNode(parent, name);
+ for (var i in node.contents) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
+ }
+ delete parent.contents[name];
+ },
+ readdir: function(node) {
+ var entries = [ ".", ".." ];
+ for (var key in node.contents) {
+ if (!node.contents.hasOwnProperty(key)) {
+ continue;
+ }
+ entries.push(key);
+ }
+ return entries;
+ },
+ symlink: function(parent, newname, oldpath) {
+ var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);
+ node.link = oldpath;
+ return node;
+ },
+ readlink: function(node) {
+ if (!FS.isLink(node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ return node.link;
+ }
+ },
+ stream_ops: {
+ read: function(stream, buffer, offset, length, position) {
+ var contents = stream.node.contents;
+ if (position >= stream.node.usedBytes) return 0;
+ var size = Math.min(stream.node.usedBytes - position, length);
+ assert(size >= 0);
+ if (size > 8 && contents.subarray) {
+ buffer.set(contents.subarray(position, position + size), offset);
+ } else {
+ for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];
+ }
+ return size;
+ },
+ write: function(stream, buffer, offset, length, position, canOwn) {
+ if (!length) return 0;
+ var node = stream.node;
+ node.timestamp = Date.now();
+ if (buffer.subarray && (!node.contents || node.contents.subarray)) {
+ if (canOwn) {
+ node.contents = buffer.subarray(offset, offset + length);
+ node.usedBytes = length;
+ return length;
+ } else if (node.usedBytes === 0 && position === 0) {
+ node.contents = new Uint8Array(buffer.subarray(offset, offset + length));
+ node.usedBytes = length;
+ return length;
+ } else if (position + length <= node.usedBytes) {
+ node.contents.set(buffer.subarray(offset, offset + length), position);
+ return length;
+ }
+ }
+ MEMFS.expandFileStorage(node, position + length);
+ if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); else {
+ for (var i = 0; i < length; i++) {
+ node.contents[position + i] = buffer[offset + i];
+ }
+ }
+ node.usedBytes = Math.max(node.usedBytes, position + length);
+ return length;
+ },
+ llseek: function(stream, offset, whence) {
+ var position = offset;
+ if (whence === 1) {
+ position += stream.position;
+ } else if (whence === 2) {
+ if (FS.isFile(stream.node.mode)) {
+ position += stream.node.usedBytes;
+ }
+ }
+ if (position < 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ return position;
+ },
+ allocate: function(stream, offset, length) {
+ MEMFS.expandFileStorage(stream.node, offset + length);
+ stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
+ },
+ mmap: function(stream, buffer, offset, length, position, prot, flags) {
+ if (!FS.isFile(stream.node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+ }
+ var ptr;
+ var allocated;
+ var contents = stream.node.contents;
+ if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) {
+ allocated = false;
+ ptr = contents.byteOffset;
+ } else {
+ if (position > 0 || position + length < stream.node.usedBytes) {
+ if (contents.subarray) {
+ contents = contents.subarray(position, position + length);
+ } else {
+ contents = Array.prototype.slice.call(contents, position, position + length);
+ }
+ }
+ allocated = true;
+ ptr = _malloc(length);
+ if (!ptr) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
+ }
+ buffer.set(contents, ptr);
+ }
+ return {
+ ptr: ptr,
+ allocated: allocated
+ };
+ },
+ msync: function(stream, buffer, offset, length, mmapFlags) {
+ if (!FS.isFile(stream.node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+ }
+ if (mmapFlags & 2) {
+ return 0;
+ }
+ var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
+ return 0;
+ }
+ }
+};
+
+var IDBFS = {
+ dbs: {},
+ indexedDB: function() {
+ if (typeof indexedDB !== "undefined") return indexedDB;
+ var ret = null;
+ if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
+ assert(ret, "IDBFS used, but indexedDB not supported");
+ return ret;
+ },
+ DB_VERSION: 21,
+ DB_STORE_NAME: "FILE_DATA",
+ mount: function(mount) {
+ return MEMFS.mount.apply(null, arguments);
+ },
+ syncfs: function(mount, populate, callback) {
+ IDBFS.getLocalSet(mount, function(err, local) {
+ if (err) return callback(err);
+ IDBFS.getRemoteSet(mount, function(err, remote) {
+ if (err) return callback(err);
+ var src = populate ? remote : local;
+ var dst = populate ? local : remote;
+ IDBFS.reconcile(src, dst, callback);
+ });
+ });
+ },
+ getDB: function(name, callback) {
+ var db = IDBFS.dbs[name];
+ if (db) {
+ return callback(null, db);
+ }
+ var req;
+ try {
+ req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
+ } catch (e) {
+ return callback(e);
+ }
+ if (!req) {
+ return callback("Unable to connect to IndexedDB");
+ }
+ req.onupgradeneeded = function(e) {
+ var db = e.target.result;
+ var transaction = e.target.transaction;
+ var fileStore;
+ if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
+ fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
+ } else {
+ fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
+ }
+ if (!fileStore.indexNames.contains("timestamp")) {
+ fileStore.createIndex("timestamp", "timestamp", {
+ unique: false
+ });
+ }
+ };
+ req.onsuccess = function() {
+ db = req.result;
+ IDBFS.dbs[name] = db;
+ callback(null, db);
+ };
+ req.onerror = function(e) {
+ callback(this.error);
+ e.preventDefault();
+ };
+ },
+ getLocalSet: function(mount, callback) {
+ var entries = {};
+ function isRealDir(p) {
+ return p !== "." && p !== "..";
+ }
+ function toAbsolute(root) {
+ return function(p) {
+ return PATH.join2(root, p);
+ };
+ }
+ var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));
+ while (check.length) {
+ var path = check.pop();
+ var stat;
+ try {
+ stat = FS.stat(path);
+ } catch (e) {
+ return callback(e);
+ }
+ if (FS.isDir(stat.mode)) {
+ check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path)));
+ }
+ entries[path] = {
+ timestamp: stat.mtime
+ };
+ }
+ return callback(null, {
+ type: "local",
+ entries: entries
+ });
+ },
+ getRemoteSet: function(mount, callback) {
+ var entries = {};
+ IDBFS.getDB(mount.mountpoint, function(err, db) {
+ if (err) return callback(err);
+ try {
+ var transaction = db.transaction([ IDBFS.DB_STORE_NAME ], "readonly");
+ transaction.onerror = function(e) {
+ callback(this.error);
+ e.preventDefault();
+ };
+ var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
+ var index = store.index("timestamp");
+ index.openKeyCursor().onsuccess = function(event) {
+ var cursor = event.target.result;
+ if (!cursor) {
+ return callback(null, {
+ type: "remote",
+ db: db,
+ entries: entries
+ });
+ }
+ entries[cursor.primaryKey] = {
+ timestamp: cursor.key
+ };
+ cursor.continue();
+ };
+ } catch (e) {
+ return callback(e);
+ }
+ });
+ },
+ loadLocalEntry: function(path, callback) {
+ var stat, node;
+ try {
+ var lookup = FS.lookupPath(path);
+ node = lookup.node;
+ stat = FS.stat(path);
+ } catch (e) {
+ return callback(e);
+ }
+ if (FS.isDir(stat.mode)) {
+ return callback(null, {
+ timestamp: stat.mtime,
+ mode: stat.mode
+ });
+ } else if (FS.isFile(stat.mode)) {
+ node.contents = MEMFS.getFileDataAsTypedArray(node);
+ return callback(null, {
+ timestamp: stat.mtime,
+ mode: stat.mode,
+ contents: node.contents
+ });
+ } else {
+ return callback(new Error("node type not supported"));
+ }
+ },
+ storeLocalEntry: function(path, entry, callback) {
+ try {
+ if (FS.isDir(entry.mode)) {
+ FS.mkdir(path, entry.mode);
+ } else if (FS.isFile(entry.mode)) {
+ FS.writeFile(path, entry.contents, {
+ canOwn: true
+ });
+ } else {
+ return callback(new Error("node type not supported"));
+ }
+ FS.chmod(path, entry.mode);
+ FS.utime(path, entry.timestamp, entry.timestamp);
+ } catch (e) {
+ return callback(e);
+ }
+ callback(null);
+ },
+ removeLocalEntry: function(path, callback) {
+ try {
+ var lookup = FS.lookupPath(path);
+ var stat = FS.stat(path);
+ if (FS.isDir(stat.mode)) {
+ FS.rmdir(path);
+ } else if (FS.isFile(stat.mode)) {
+ FS.unlink(path);
+ }
+ } catch (e) {
+ return callback(e);
+ }
+ callback(null);
+ },
+ loadRemoteEntry: function(store, path, callback) {
+ var req = store.get(path);
+ req.onsuccess = function(event) {
+ callback(null, event.target.result);
+ };
+ req.onerror = function(e) {
+ callback(this.error);
+ e.preventDefault();
+ };
+ },
+ storeRemoteEntry: function(store, path, entry, callback) {
+ var req = store.put(entry, path);
+ req.onsuccess = function() {
+ callback(null);
+ };
+ req.onerror = function(e) {
+ callback(this.error);
+ e.preventDefault();
+ };
+ },
+ removeRemoteEntry: function(store, path, callback) {
+ var req = store.delete(path);
+ req.onsuccess = function() {
+ callback(null);
+ };
+ req.onerror = function(e) {
+ callback(this.error);
+ e.preventDefault();
+ };
+ },
+ reconcile: function(src, dst, callback) {
+ var total = 0;
+ var create = [];
+ Object.keys(src.entries).forEach(function(key) {
+ var e = src.entries[key];
+ var e2 = dst.entries[key];
+ if (!e2 || e.timestamp > e2.timestamp) {
+ create.push(key);
+ total++;
+ }
+ });
+ var remove = [];
+ Object.keys(dst.entries).forEach(function(key) {
+ var e = dst.entries[key];
+ var e2 = src.entries[key];
+ if (!e2) {
+ remove.push(key);
+ total++;
+ }
+ });
+ if (!total) {
+ return callback(null);
+ }
+ var errored = false;
+ var completed = 0;
+ var db = src.type === "remote" ? src.db : dst.db;
+ var transaction = db.transaction([ IDBFS.DB_STORE_NAME ], "readwrite");
+ var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
+ function done(err) {
+ if (err) {
+ if (!done.errored) {
+ done.errored = true;
+ return callback(err);
+ }
+ return;
+ }
+ if (++completed >= total) {
+ return callback(null);
+ }
+ }
+ transaction.onerror = function(e) {
+ done(this.error);
+ e.preventDefault();
+ };
+ create.sort().forEach(function(path) {
+ if (dst.type === "local") {
+ IDBFS.loadRemoteEntry(store, path, function(err, entry) {
+ if (err) return done(err);
+ IDBFS.storeLocalEntry(path, entry, done);
+ });
+ } else {
+ IDBFS.loadLocalEntry(path, function(err, entry) {
+ if (err) return done(err);
+ IDBFS.storeRemoteEntry(store, path, entry, done);
+ });
+ }
+ });
+ remove.sort().reverse().forEach(function(path) {
+ if (dst.type === "local") {
+ IDBFS.removeLocalEntry(path, done);
+ } else {
+ IDBFS.removeRemoteEntry(store, path, done);
+ }
+ });
+ }
+};
+
+var NODEFS = {
+ isWindows: false,
+ staticInit: function() {
+ NODEFS.isWindows = !!process.platform.match(/^win/);
+ var flags = process["binding"]("constants");
+ if (flags["fs"]) {
+ flags = flags["fs"];
+ }
+ NODEFS.flagsForNodeMap = {
+ 1024: flags["O_APPEND"],
+ 64: flags["O_CREAT"],
+ 128: flags["O_EXCL"],
+ 0: flags["O_RDONLY"],
+ 2: flags["O_RDWR"],
+ 4096: flags["O_SYNC"],
+ 512: flags["O_TRUNC"],
+ 1: flags["O_WRONLY"]
+ };
+ },
+ bufferFrom: function(arrayBuffer) {
+ return Buffer.alloc ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer);
+ },
+ mount: function(mount) {
+ assert(ENVIRONMENT_IS_NODE);
+ return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0);
+ },
+ createNode: function(parent, name, mode, dev) {
+ if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ var node = FS.createNode(parent, name, mode);
+ node.node_ops = NODEFS.node_ops;
+ node.stream_ops = NODEFS.stream_ops;
+ return node;
+ },
+ getMode: function(path) {
+ var stat;
+ try {
+ stat = fs.lstatSync(path);
+ if (NODEFS.isWindows) {
+ stat.mode = stat.mode | (stat.mode & 292) >> 2;
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ return stat.mode;
+ },
+ realPath: function(node) {
+ var parts = [];
+ while (node.parent !== node) {
+ parts.push(node.name);
+ node = node.parent;
+ }
+ parts.push(node.mount.opts.root);
+ parts.reverse();
+ return PATH.join.apply(null, parts);
+ },
+ flagsForNode: function(flags) {
+ flags &= ~2097152;
+ flags &= ~2048;
+ flags &= ~32768;
+ flags &= ~524288;
+ var newFlags = 0;
+ for (var k in NODEFS.flagsForNodeMap) {
+ if (flags & k) {
+ newFlags |= NODEFS.flagsForNodeMap[k];
+ flags ^= k;
+ }
+ }
+ if (!flags) {
+ return newFlags;
+ } else {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ },
+ node_ops: {
+ getattr: function(node) {
+ var path = NODEFS.realPath(node);
+ var stat;
+ try {
+ stat = fs.lstatSync(path);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ if (NODEFS.isWindows && !stat.blksize) {
+ stat.blksize = 4096;
+ }
+ if (NODEFS.isWindows && !stat.blocks) {
+ stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0;
+ }
+ return {
+ dev: stat.dev,
+ ino: stat.ino,
+ mode: stat.mode,
+ nlink: stat.nlink,
+ uid: stat.uid,
+ gid: stat.gid,
+ rdev: stat.rdev,
+ size: stat.size,
+ atime: stat.atime,
+ mtime: stat.mtime,
+ ctime: stat.ctime,
+ blksize: stat.blksize,
+ blocks: stat.blocks
+ };
+ },
+ setattr: function(node, attr) {
+ var path = NODEFS.realPath(node);
+ try {
+ if (attr.mode !== undefined) {
+ fs.chmodSync(path, attr.mode);
+ node.mode = attr.mode;
+ }
+ if (attr.timestamp !== undefined) {
+ var date = new Date(attr.timestamp);
+ fs.utimesSync(path, date, date);
+ }
+ if (attr.size !== undefined) {
+ fs.truncateSync(path, attr.size);
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },
+ lookup: function(parent, name) {
+ var path = PATH.join2(NODEFS.realPath(parent), name);
+ var mode = NODEFS.getMode(path);
+ return NODEFS.createNode(parent, name, mode);
+ },
+ mknod: function(parent, name, mode, dev) {
+ var node = NODEFS.createNode(parent, name, mode, dev);
+ var path = NODEFS.realPath(node);
+ try {
+ if (FS.isDir(node.mode)) {
+ fs.mkdirSync(path, node.mode);
+ } else {
+ fs.writeFileSync(path, "", {
+ mode: node.mode
+ });
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ return node;
+ },
+ rename: function(oldNode, newDir, newName) {
+ var oldPath = NODEFS.realPath(oldNode);
+ var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
+ try {
+ fs.renameSync(oldPath, newPath);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },
+ unlink: function(parent, name) {
+ var path = PATH.join2(NODEFS.realPath(parent), name);
+ try {
+ fs.unlinkSync(path);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },
+ rmdir: function(parent, name) {
+ var path = PATH.join2(NODEFS.realPath(parent), name);
+ try {
+ fs.rmdirSync(path);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },
+ readdir: function(node) {
+ var path = NODEFS.realPath(node);
+ try {
+ return fs.readdirSync(path);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },
+ symlink: function(parent, newName, oldPath) {
+ var newPath = PATH.join2(NODEFS.realPath(parent), newName);
+ try {
+ fs.symlinkSync(oldPath, newPath);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },
+ readlink: function(node) {
+ var path = NODEFS.realPath(node);
+ try {
+ path = fs.readlinkSync(path);
+ path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path);
+ return path;
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ }
+ },
+ stream_ops: {
+ open: function(stream) {
+ var path = NODEFS.realPath(stream.node);
+ try {
+ if (FS.isFile(stream.node.mode)) {
+ stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags));
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },
+ close: function(stream) {
+ try {
+ if (FS.isFile(stream.node.mode) && stream.nfd) {
+ fs.closeSync(stream.nfd);
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },
+ read: function(stream, buffer, offset, length, position) {
+ if (length === 0) return 0;
+ try {
+ return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position);
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },
+ write: function(stream, buffer, offset, length, position) {
+ try {
+ return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position);
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },
+ llseek: function(stream, offset, whence) {
+ var position = offset;
+ if (whence === 1) {
+ position += stream.position;
+ } else if (whence === 2) {
+ if (FS.isFile(stream.node.mode)) {
+ try {
+ var stat = fs.fstatSync(stream.nfd);
+ position += stat.size;
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ }
+ }
+ if (position < 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ return position;
+ }
+ }
+};
+
+var WORKERFS = {
+ DIR_MODE: 16895,
+ FILE_MODE: 33279,
+ reader: null,
+ mount: function(mount) {
+ assert(ENVIRONMENT_IS_WORKER);
+ if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync();
+ var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0);
+ var createdParents = {};
+ function ensureParent(path) {
+ var parts = path.split("/");
+ var parent = root;
+ for (var i = 0; i < parts.length - 1; i++) {
+ var curr = parts.slice(0, i + 1).join("/");
+ if (!createdParents[curr]) {
+ createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0);
+ }
+ parent = createdParents[curr];
+ }
+ return parent;
+ }
+ function base(path) {
+ var parts = path.split("/");
+ return parts[parts.length - 1];
+ }
+ Array.prototype.forEach.call(mount.opts["files"] || [], function(file) {
+ WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate);
+ });
+ (mount.opts["blobs"] || []).forEach(function(obj) {
+ WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]);
+ });
+ (mount.opts["packages"] || []).forEach(function(pack) {
+ pack["metadata"].files.forEach(function(file) {
+ var name = file.filename.substr(1);
+ WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end));
+ });
+ });
+ return root;
+ },
+ createNode: function(parent, name, mode, dev, contents, mtime) {
+ var node = FS.createNode(parent, name, mode);
+ node.mode = mode;
+ node.node_ops = WORKERFS.node_ops;
+ node.stream_ops = WORKERFS.stream_ops;
+ node.timestamp = (mtime || new Date()).getTime();
+ assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);
+ if (mode === WORKERFS.FILE_MODE) {
+ node.size = contents.size;
+ node.contents = contents;
+ } else {
+ node.size = 4096;
+ node.contents = {};
+ }
+ if (parent) {
+ parent.contents[name] = node;
+ }
+ return node;
+ },
+ node_ops: {
+ getattr: function(node) {
+ return {
+ dev: 1,
+ ino: undefined,
+ mode: node.mode,
+ nlink: 1,
+ uid: 0,
+ gid: 0,
+ rdev: undefined,
+ size: node.size,
+ atime: new Date(node.timestamp),
+ mtime: new Date(node.timestamp),
+ ctime: new Date(node.timestamp),
+ blksize: 4096,
+ blocks: Math.ceil(node.size / 4096)
+ };
+ },
+ setattr: function(node, attr) {
+ if (attr.mode !== undefined) {
+ node.mode = attr.mode;
+ }
+ if (attr.timestamp !== undefined) {
+ node.timestamp = attr.timestamp;
+ }
+ },
+ lookup: function(parent, name) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+ },
+ mknod: function(parent, name, mode, dev) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ },
+ rename: function(oldNode, newDir, newName) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ },
+ unlink: function(parent, name) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ },
+ rmdir: function(parent, name) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ },
+ readdir: function(node) {
+ var entries = [ ".", ".." ];
+ for (var key in node.contents) {
+ if (!node.contents.hasOwnProperty(key)) {
+ continue;
+ }
+ entries.push(key);
+ }
+ return entries;
+ },
+ symlink: function(parent, newName, oldPath) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ },
+ readlink: function(node) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ },
+ stream_ops: {
+ read: function(stream, buffer, offset, length, position) {
+ if (position >= stream.node.size) return 0;
+ var chunk = stream.node.contents.slice(position, position + length);
+ var ab = WORKERFS.reader.readAsArrayBuffer(chunk);
+ buffer.set(new Uint8Array(ab), offset);
+ return chunk.size;
+ },
+ write: function(stream, buffer, offset, length, position) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ },
+ llseek: function(stream, offset, whence) {
+ var position = offset;
+ if (whence === 1) {
+ position += stream.position;
+ } else if (whence === 2) {
+ if (FS.isFile(stream.node.mode)) {
+ position += stream.node.size;
+ }
+ }
+ if (position < 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ return position;
+ }
+ }
+};
+
+var FS = {
+ root: null,
+ mounts: [],
+ devices: {},
+ streams: [],
+ nextInode: 1,
+ nameTable: null,
+ currentPath: "/",
+ initialized: false,
+ ignorePermissions: true,
+ trackingDelegate: {},
+ tracking: {
+ openFlags: {
+ READ: 1,
+ WRITE: 2
+ }
+ },
+ ErrnoError: null,
+ genericErrors: {},
+ filesystems: null,
+ syncFSRequests: 0,
+ handleFSError: function(e) {
+ if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace();
+ return ___setErrNo(e.errno);
+ },
+ lookupPath: function(path, opts) {
+ path = PATH.resolve(FS.cwd(), path);
+ opts = opts || {};
+ if (!path) return {
+ path: "",
+ node: null
+ };
+ var defaults = {
+ follow_mount: true,
+ recurse_count: 0
+ };
+ for (var key in defaults) {
+ if (opts[key] === undefined) {
+ opts[key] = defaults[key];
+ }
+ }
+ if (opts.recurse_count > 8) {
+ throw new FS.ErrnoError(40);
+ }
+ var parts = PATH.normalizeArray(path.split("/").filter(function(p) {
+ return !!p;
+ }), false);
+ var current = FS.root;
+ var current_path = "/";
+ for (var i = 0; i < parts.length; i++) {
+ var islast = i === parts.length - 1;
+ if (islast && opts.parent) {
+ break;
+ }
+ current = FS.lookupNode(current, parts[i]);
+ current_path = PATH.join2(current_path, parts[i]);
+ if (FS.isMountpoint(current)) {
+ if (!islast || islast && opts.follow_mount) {
+ current = current.mounted.root;
+ }
+ }
+ if (!islast || opts.follow) {
+ var count = 0;
+ while (FS.isLink(current.mode)) {
+ var link = FS.readlink(current_path);
+ current_path = PATH.resolve(PATH.dirname(current_path), link);
+ var lookup = FS.lookupPath(current_path, {
+ recurse_count: opts.recurse_count
+ });
+ current = lookup.node;
+ if (count++ > 40) {
+ throw new FS.ErrnoError(40);
+ }
+ }
+ }
+ }
+ return {
+ path: current_path,
+ node: current
+ };
+ },
+ getPath: function(node) {
+ var path;
+ while (true) {
+ if (FS.isRoot(node)) {
+ var mount = node.mount.mountpoint;
+ if (!path) return mount;
+ return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path;
+ }
+ path = path ? node.name + "/" + path : node.name;
+ node = node.parent;
+ }
+ },
+ hashName: function(parentid, name) {
+ var hash = 0;
+ for (var i = 0; i < name.length; i++) {
+ hash = (hash << 5) - hash + name.charCodeAt(i) | 0;
+ }
+ return (parentid + hash >>> 0) % FS.nameTable.length;
+ },
+ hashAddNode: function(node) {
+ var hash = FS.hashName(node.parent.id, node.name);
+ node.name_next = FS.nameTable[hash];
+ FS.nameTable[hash] = node;
+ },
+ hashRemoveNode: function(node) {
+ var hash = FS.hashName(node.parent.id, node.name);
+ if (FS.nameTable[hash] === node) {
+ FS.nameTable[hash] = node.name_next;
+ } else {
+ var current = FS.nameTable[hash];
+ while (current) {
+ if (current.name_next === node) {
+ current.name_next = node.name_next;
+ break;
+ }
+ current = current.name_next;
+ }
+ }
+ },
+ lookupNode: function(parent, name) {
+ var err = FS.mayLookup(parent);
+ if (err) {
+ throw new FS.ErrnoError(err, parent);
+ }
+ var hash = FS.hashName(parent.id, name);
+ for (var node = FS.nameTable[hash]; node; node = node.name_next) {
+ var nodeName = node.name;
+ if (node.parent.id === parent.id && nodeName === name) {
+ return node;
+ }
+ }
+ return FS.lookup(parent, name);
+ },
+ createNode: function(parent, name, mode, rdev) {
+ if (!FS.FSNode) {
+ FS.FSNode = function(parent, name, mode, rdev) {
+ if (!parent) {
+ parent = this;
+ }
+ this.parent = parent;
+ this.mount = parent.mount;
+ this.mounted = null;
+ this.id = FS.nextInode++;
+ this.name = name;
+ this.mode = mode;
+ this.node_ops = {};
+ this.stream_ops = {};
+ this.rdev = rdev;
+ };
+ FS.FSNode.prototype = {};
+ var readMode = 292 | 73;
+ var writeMode = 146;
+ Object.defineProperties(FS.FSNode.prototype, {
+ read: {
+ get: function() {
+ return (this.mode & readMode) === readMode;
+ },
+ set: function(val) {
+ val ? this.mode |= readMode : this.mode &= ~readMode;
+ }
+ },
+ write: {
+ get: function() {
+ return (this.mode & writeMode) === writeMode;
+ },
+ set: function(val) {
+ val ? this.mode |= writeMode : this.mode &= ~writeMode;
+ }
+ },
+ isFolder: {
+ get: function() {
+ return FS.isDir(this.mode);
+ }
+ },
+ isDevice: {
+ get: function() {
+ return FS.isChrdev(this.mode);
+ }
+ }
+ });
+ }
+ var node = new FS.FSNode(parent, name, mode, rdev);
+ FS.hashAddNode(node);
+ return node;
+ },
+ destroyNode: function(node) {
+ FS.hashRemoveNode(node);
+ },
+ isRoot: function(node) {
+ return node === node.parent;
+ },
+ isMountpoint: function(node) {
+ return !!node.mounted;
+ },
+ isFile: function(mode) {
+ return (mode & 61440) === 32768;
+ },
+ isDir: function(mode) {
+ return (mode & 61440) === 16384;
+ },
+ isLink: function(mode) {
+ return (mode & 61440) === 40960;
+ },
+ isChrdev: function(mode) {
+ return (mode & 61440) === 8192;
+ },
+ isBlkdev: function(mode) {
+ return (mode & 61440) === 24576;
+ },
+ isFIFO: function(mode) {
+ return (mode & 61440) === 4096;
+ },
+ isSocket: function(mode) {
+ return (mode & 49152) === 49152;
+ },
+ flagModes: {
+ "r": 0,
+ "rs": 1052672,
+ "r+": 2,
+ "w": 577,
+ "wx": 705,
+ "xw": 705,
+ "w+": 578,
+ "wx+": 706,
+ "xw+": 706,
+ "a": 1089,
+ "ax": 1217,
+ "xa": 1217,
+ "a+": 1090,
+ "ax+": 1218,
+ "xa+": 1218
+ },
+ modeStringToFlags: function(str) {
+ var flags = FS.flagModes[str];
+ if (typeof flags === "undefined") {
+ throw new Error("Unknown file open mode: " + str);
+ }
+ return flags;
+ },
+ flagsToPermissionString: function(flag) {
+ var perms = [ "r", "w", "rw" ][flag & 3];
+ if (flag & 512) {
+ perms += "w";
+ }
+ return perms;
+ },
+ nodePermissions: function(node, perms) {
+ if (FS.ignorePermissions) {
+ return 0;
+ }
+ if (perms.indexOf("r") !== -1 && !(node.mode & 292)) {
+ return 13;
+ } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) {
+ return 13;
+ } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) {
+ return 13;
+ }
+ return 0;
+ },
+ mayLookup: function(dir) {
+ var err = FS.nodePermissions(dir, "x");
+ if (err) return err;
+ if (!dir.node_ops.lookup) return 13;
+ return 0;
+ },
+ mayCreate: function(dir, name) {
+ try {
+ var node = FS.lookupNode(dir, name);
+ return 17;
+ } catch (e) {}
+ return FS.nodePermissions(dir, "wx");
+ },
+ mayDelete: function(dir, name, isdir) {
+ var node;
+ try {
+ node = FS.lookupNode(dir, name);
+ } catch (e) {
+ return e.errno;
+ }
+ var err = FS.nodePermissions(dir, "wx");
+ if (err) {
+ return err;
+ }
+ if (isdir) {
+ if (!FS.isDir(node.mode)) {
+ return 20;
+ }
+ if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
+ return 16;
+ }
+ } else {
+ if (FS.isDir(node.mode)) {
+ return 21;
+ }
+ }
+ return 0;
+ },
+ mayOpen: function(node, flags) {
+ if (!node) {
+ return 2;
+ }
+ if (FS.isLink(node.mode)) {
+ return 40;
+ } else if (FS.isDir(node.mode)) {
+ if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) {
+ return 21;
+ }
+ }
+ return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
+ },
+ MAX_OPEN_FDS: 4096,
+ nextfd: function(fd_start, fd_end) {
+ fd_start = fd_start || 0;
+ fd_end = fd_end || FS.MAX_OPEN_FDS;
+ for (var fd = fd_start; fd <= fd_end; fd++) {
+ if (!FS.streams[fd]) {
+ return fd;
+ }
+ }
+ throw new FS.ErrnoError(24);
+ },
+ getStream: function(fd) {
+ return FS.streams[fd];
+ },
+ createStream: function(stream, fd_start, fd_end) {
+ if (!FS.FSStream) {
+ FS.FSStream = function() {};
+ FS.FSStream.prototype = {};
+ Object.defineProperties(FS.FSStream.prototype, {
+ object: {
+ get: function() {
+ return this.node;
+ },
+ set: function(val) {
+ this.node = val;
+ }
+ },
+ isRead: {
+ get: function() {
+ return (this.flags & 2097155) !== 1;
+ }
+ },
+ isWrite: {
+ get: function() {
+ return (this.flags & 2097155) !== 0;
+ }
+ },
+ isAppend: {
+ get: function() {
+ return this.flags & 1024;
+ }
+ }
+ });
+ }
+ var newStream = new FS.FSStream();
+ for (var p in stream) {
+ newStream[p] = stream[p];
+ }
+ stream = newStream;
+ var fd = FS.nextfd(fd_start, fd_end);
+ stream.fd = fd;
+ FS.streams[fd] = stream;
+ return stream;
+ },
+ closeStream: function(fd) {
+ FS.streams[fd] = null;
+ },
+ chrdev_stream_ops: {
+ open: function(stream) {
+ var device = FS.getDevice(stream.node.rdev);
+ stream.stream_ops = device.stream_ops;
+ if (stream.stream_ops.open) {
+ stream.stream_ops.open(stream);
+ }
+ },
+ llseek: function() {
+ throw new FS.ErrnoError(29);
+ }
+ },
+ major: function(dev) {
+ return dev >> 8;
+ },
+ minor: function(dev) {
+ return dev & 255;
+ },
+ makedev: function(ma, mi) {
+ return ma << 8 | mi;
+ },
+ registerDevice: function(dev, ops) {
+ FS.devices[dev] = {
+ stream_ops: ops
+ };
+ },
+ getDevice: function(dev) {
+ return FS.devices[dev];
+ },
+ getMounts: function(mount) {
+ var mounts = [];
+ var check = [ mount ];
+ while (check.length) {
+ var m = check.pop();
+ mounts.push(m);
+ check.push.apply(check, m.mounts);
+ }
+ return mounts;
+ },
+ syncfs: function(populate, callback) {
+ if (typeof populate === "function") {
+ callback = populate;
+ populate = false;
+ }
+ FS.syncFSRequests++;
+ if (FS.syncFSRequests > 1) {
+ console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work");
+ }
+ var mounts = FS.getMounts(FS.root.mount);
+ var completed = 0;
+ function doCallback(err) {
+ assert(FS.syncFSRequests > 0);
+ FS.syncFSRequests--;
+ return callback(err);
+ }
+ function done(err) {
+ if (err) {
+ if (!done.errored) {
+ done.errored = true;
+ return doCallback(err);
+ }
+ return;
+ }
+ if (++completed >= mounts.length) {
+ doCallback(null);
+ }
+ }
+ mounts.forEach(function(mount) {
+ if (!mount.type.syncfs) {
+ return done(null);
+ }
+ mount.type.syncfs(mount, populate, done);
+ });
+ },
+ mount: function(type, opts, mountpoint) {
+ var root = mountpoint === "/";
+ var pseudo = !mountpoint;
+ var node;
+ if (root && FS.root) {
+ throw new FS.ErrnoError(16);
+ } else if (!root && !pseudo) {
+ var lookup = FS.lookupPath(mountpoint, {
+ follow_mount: false
+ });
+ mountpoint = lookup.path;
+ node = lookup.node;
+ if (FS.isMountpoint(node)) {
+ throw new FS.ErrnoError(16);
+ }
+ if (!FS.isDir(node.mode)) {
+ throw new FS.ErrnoError(20);
+ }
+ }
+ var mount = {
+ type: type,
+ opts: opts,
+ mountpoint: mountpoint,
+ mounts: []
+ };
+ var mountRoot = type.mount(mount);
+ mountRoot.mount = mount;
+ mount.root = mountRoot;
+ if (root) {
+ FS.root = mountRoot;
+ } else if (node) {
+ node.mounted = mount;
+ if (node.mount) {
+ node.mount.mounts.push(mount);
+ }
+ }
+ return mountRoot;
+ },
+ unmount: function(mountpoint) {
+ var lookup = FS.lookupPath(mountpoint, {
+ follow_mount: false
+ });
+ if (!FS.isMountpoint(lookup.node)) {
+ throw new FS.ErrnoError(22);
+ }
+ var node = lookup.node;
+ var mount = node.mounted;
+ var mounts = FS.getMounts(mount);
+ Object.keys(FS.nameTable).forEach(function(hash) {
+ var current = FS.nameTable[hash];
+ while (current) {
+ var next = current.name_next;
+ if (mounts.indexOf(current.mount) !== -1) {
+ FS.destroyNode(current);
+ }
+ current = next;
+ }
+ });
+ node.mounted = null;
+ var idx = node.mount.mounts.indexOf(mount);
+ assert(idx !== -1);
+ node.mount.mounts.splice(idx, 1);
+ },
+ lookup: function(parent, name) {
+ return parent.node_ops.lookup(parent, name);
+ },
+ mknod: function(path, mode, dev) {
+ var lookup = FS.lookupPath(path, {
+ parent: true
+ });
+ var parent = lookup.node;
+ var name = PATH.basename(path);
+ if (!name || name === "." || name === "..") {
+ throw new FS.ErrnoError(22);
+ }
+ var err = FS.mayCreate(parent, name);
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ if (!parent.node_ops.mknod) {
+ throw new FS.ErrnoError(1);
+ }
+ return parent.node_ops.mknod(parent, name, mode, dev);
+ },
+ create: function(path, mode) {
+ mode = mode !== undefined ? mode : 438;
+ mode &= 4095;
+ mode |= 32768;
+ return FS.mknod(path, mode, 0);
+ },
+ mkdir: function(path, mode) {
+ mode = mode !== undefined ? mode : 511;
+ mode &= 511 | 512;
+ mode |= 16384;
+ return FS.mknod(path, mode, 0);
+ },
+ mkdirTree: function(path, mode) {
+ var dirs = path.split("/");
+ var d = "";
+ for (var i = 0; i < dirs.length; ++i) {
+ if (!dirs[i]) continue;
+ d += "/" + dirs[i];
+ try {
+ FS.mkdir(d, mode);
+ } catch (e) {
+ if (e.errno != 17) throw e;
+ }
+ }
+ },
+ mkdev: function(path, mode, dev) {
+ if (typeof dev === "undefined") {
+ dev = mode;
+ mode = 438;
+ }
+ mode |= 8192;
+ return FS.mknod(path, mode, dev);
+ },
+ symlink: function(oldpath, newpath) {
+ if (!PATH.resolve(oldpath)) {
+ throw new FS.ErrnoError(2);
+ }
+ var lookup = FS.lookupPath(newpath, {
+ parent: true
+ });
+ var parent = lookup.node;
+ if (!parent) {
+ throw new FS.ErrnoError(2);
+ }
+ var newname = PATH.basename(newpath);
+ var err = FS.mayCreate(parent, newname);
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ if (!parent.node_ops.symlink) {
+ throw new FS.ErrnoError(1);
+ }
+ return parent.node_ops.symlink(parent, newname, oldpath);
+ },
+ rename: function(old_path, new_path) {
+ var old_dirname = PATH.dirname(old_path);
+ var new_dirname = PATH.dirname(new_path);
+ var old_name = PATH.basename(old_path);
+ var new_name = PATH.basename(new_path);
+ var lookup, old_dir, new_dir;
+ try {
+ lookup = FS.lookupPath(old_path, {
+ parent: true
+ });
+ old_dir = lookup.node;
+ lookup = FS.lookupPath(new_path, {
+ parent: true
+ });
+ new_dir = lookup.node;
+ } catch (e) {
+ throw new FS.ErrnoError(16);
+ }
+ if (!old_dir || !new_dir) throw new FS.ErrnoError(2);
+ if (old_dir.mount !== new_dir.mount) {
+ throw new FS.ErrnoError(18);
+ }
+ var old_node = FS.lookupNode(old_dir, old_name);
+ var relative = PATH.relative(old_path, new_dirname);
+ if (relative.charAt(0) !== ".") {
+ throw new FS.ErrnoError(22);
+ }
+ relative = PATH.relative(new_path, old_dirname);
+ if (relative.charAt(0) !== ".") {
+ throw new FS.ErrnoError(39);
+ }
+ var new_node;
+ try {
+ new_node = FS.lookupNode(new_dir, new_name);
+ } catch (e) {}
+ if (old_node === new_node) {
+ return;
+ }
+ var isdir = FS.isDir(old_node.mode);
+ var err = FS.mayDelete(old_dir, old_name, isdir);
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ if (!old_dir.node_ops.rename) {
+ throw new FS.ErrnoError(1);
+ }
+ if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {
+ throw new FS.ErrnoError(16);
+ }
+ if (new_dir !== old_dir) {
+ err = FS.nodePermissions(old_dir, "w");
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ }
+ try {
+ if (FS.trackingDelegate["willMovePath"]) {
+ FS.trackingDelegate["willMovePath"](old_path, new_path);
+ }
+ } catch (e) {
+ console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message);
+ }
+ FS.hashRemoveNode(old_node);
+ try {
+ old_dir.node_ops.rename(old_node, new_dir, new_name);
+ } catch (e) {
+ throw e;
+ } finally {
+ FS.hashAddNode(old_node);
+ }
+ try {
+ if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path);
+ } catch (e) {
+ console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message);
+ }
+ },
+ rmdir: function(path) {
+ var lookup = FS.lookupPath(path, {
+ parent: true
+ });
+ var parent = lookup.node;
+ var name = PATH.basename(path);
+ var node = FS.lookupNode(parent, name);
+ var err = FS.mayDelete(parent, name, true);
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ if (!parent.node_ops.rmdir) {
+ throw new FS.ErrnoError(1);
+ }
+ if (FS.isMountpoint(node)) {
+ throw new FS.ErrnoError(16);
+ }
+ try {
+ if (FS.trackingDelegate["willDeletePath"]) {
+ FS.trackingDelegate["willDeletePath"](path);
+ }
+ } catch (e) {
+ console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
+ }
+ parent.node_ops.rmdir(parent, name);
+ FS.destroyNode(node);
+ try {
+ if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path);
+ } catch (e) {
+ console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message);
+ }
+ },
+ readdir: function(path) {
+ var lookup = FS.lookupPath(path, {
+ follow: true
+ });
+ var node = lookup.node;
+ if (!node.node_ops.readdir) {
+ throw new FS.ErrnoError(20);
+ }
+ return node.node_ops.readdir(node);
+ },
+ unlink: function(path) {
+ var lookup = FS.lookupPath(path, {
+ parent: true
+ });
+ var parent = lookup.node;
+ var name = PATH.basename(path);
+ var node = FS.lookupNode(parent, name);
+ var err = FS.mayDelete(parent, name, false);
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ if (!parent.node_ops.unlink) {
+ throw new FS.ErrnoError(1);
+ }
+ if (FS.isMountpoint(node)) {
+ throw new FS.ErrnoError(16);
+ }
+ try {
+ if (FS.trackingDelegate["willDeletePath"]) {
+ FS.trackingDelegate["willDeletePath"](path);
+ }
+ } catch (e) {
+ console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
+ }
+ parent.node_ops.unlink(parent, name);
+ FS.destroyNode(node);
+ try {
+ if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path);
+ } catch (e) {
+ console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message);
+ }
+ },
+ readlink: function(path) {
+ var lookup = FS.lookupPath(path);
+ var link = lookup.node;
+ if (!link) {
+ throw new FS.ErrnoError(2);
+ }
+ if (!link.node_ops.readlink) {
+ throw new FS.ErrnoError(22);
+ }
+ return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
+ },
+ stat: function(path, dontFollow) {
+ var lookup = FS.lookupPath(path, {
+ follow: !dontFollow
+ });
+ var node = lookup.node;
+ if (!node) {
+ throw new FS.ErrnoError(2);
+ }
+ if (!node.node_ops.getattr) {
+ throw new FS.ErrnoError(1);
+ }
+ return node.node_ops.getattr(node);
+ },
+ lstat: function(path) {
+ return FS.stat(path, true);
+ },
+ chmod: function(path, mode, dontFollow) {
+ var node;
+ if (typeof path === "string") {
+ var lookup = FS.lookupPath(path, {
+ follow: !dontFollow
+ });
+ node = lookup.node;
+ } else {
+ node = path;
+ }
+ if (!node.node_ops.setattr) {
+ throw new FS.ErrnoError(1);
+ }
+ node.node_ops.setattr(node, {
+ mode: mode & 4095 | node.mode & ~4095,
+ timestamp: Date.now()
+ });
+ },
+ lchmod: function(path, mode) {
+ FS.chmod(path, mode, true);
+ },
+ fchmod: function(fd, mode) {
+ var stream = FS.getStream(fd);
+ if (!stream) {
+ throw new FS.ErrnoError(9);
+ }
+ FS.chmod(stream.node, mode);
+ },
+ chown: function(path, uid, gid, dontFollow) {
+ var node;
+ if (typeof path === "string") {
+ var lookup = FS.lookupPath(path, {
+ follow: !dontFollow
+ });
+ node = lookup.node;
+ } else {
+ node = path;
+ }
+ if (!node.node_ops.setattr) {
+ throw new FS.ErrnoError(1);
+ }
+ node.node_ops.setattr(node, {
+ timestamp: Date.now()
+ });
+ },
+ lchown: function(path, uid, gid) {
+ FS.chown(path, uid, gid, true);
+ },
+ fchown: function(fd, uid, gid) {
+ var stream = FS.getStream(fd);
+ if (!stream) {
+ throw new FS.ErrnoError(9);
+ }
+ FS.chown(stream.node, uid, gid);
+ },
+ truncate: function(path, len) {
+ if (len < 0) {
+ throw new FS.ErrnoError(22);
+ }
+ var node;
+ if (typeof path === "string") {
+ var lookup = FS.lookupPath(path, {
+ follow: true
+ });
+ node = lookup.node;
+ } else {
+ node = path;
+ }
+ if (!node.node_ops.setattr) {
+ throw new FS.ErrnoError(1);
+ }
+ if (FS.isDir(node.mode)) {
+ throw new FS.ErrnoError(21);
+ }
+ if (!FS.isFile(node.mode)) {
+ throw new FS.ErrnoError(22);
+ }
+ var err = FS.nodePermissions(node, "w");
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ node.node_ops.setattr(node, {
+ size: len,
+ timestamp: Date.now()
+ });
+ },
+ ftruncate: function(fd, len) {
+ var stream = FS.getStream(fd);
+ if (!stream) {
+ throw new FS.ErrnoError(9);
+ }
+ if ((stream.flags & 2097155) === 0) {
+ throw new FS.ErrnoError(22);
+ }
+ FS.truncate(stream.node, len);
+ },
+ utime: function(path, atime, mtime) {
+ var lookup = FS.lookupPath(path, {
+ follow: true
+ });
+ var node = lookup.node;
+ node.node_ops.setattr(node, {
+ timestamp: Math.max(atime, mtime)
+ });
+ },
+ open: function(path, flags, mode, fd_start, fd_end) {
+ if (path === "") {
+ throw new FS.ErrnoError(2);
+ }
+ flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags;
+ mode = typeof mode === "undefined" ? 438 : mode;
+ if (flags & 64) {
+ mode = mode & 4095 | 32768;
+ } else {
+ mode = 0;
+ }
+ var node;
+ if (typeof path === "object") {
+ node = path;
+ } else {
+ path = PATH.normalize(path);
+ try {
+ var lookup = FS.lookupPath(path, {
+ follow: !(flags & 131072)
+ });
+ node = lookup.node;
+ } catch (e) {}
+ }
+ var created = false;
+ if (flags & 64) {
+ if (node) {
+ if (flags & 128) {
+ throw new FS.ErrnoError(17);
+ }
+ } else {
+ node = FS.mknod(path, mode, 0);
+ created = true;
+ }
+ }
+ if (!node) {
+ throw new FS.ErrnoError(2);
+ }
+ if (FS.isChrdev(node.mode)) {
+ flags &= ~512;
+ }
+ if (flags & 65536 && !FS.isDir(node.mode)) {
+ throw new FS.ErrnoError(20);
+ }
+ if (!created) {
+ var err = FS.mayOpen(node, flags);
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ }
+ if (flags & 512) {
+ FS.truncate(node, 0);
+ }
+ flags &= ~(128 | 512);
+ var stream = FS.createStream({
+ node: node,
+ path: FS.getPath(node),
+ flags: flags,
+ seekable: true,
+ position: 0,
+ stream_ops: node.stream_ops,
+ ungotten: [],
+ error: false
+ }, fd_start, fd_end);
+ if (stream.stream_ops.open) {
+ stream.stream_ops.open(stream);
+ }
+ if (Module["logReadFiles"] && !(flags & 1)) {
+ if (!FS.readFiles) FS.readFiles = {};
+ if (!(path in FS.readFiles)) {
+ FS.readFiles[path] = 1;
+ console.log("FS.trackingDelegate error on read file: " + path);
+ }
+ }
+ try {
+ if (FS.trackingDelegate["onOpenFile"]) {
+ var trackingFlags = 0;
+ if ((flags & 2097155) !== 1) {
+ trackingFlags |= FS.tracking.openFlags.READ;
+ }
+ if ((flags & 2097155) !== 0) {
+ trackingFlags |= FS.tracking.openFlags.WRITE;
+ }
+ FS.trackingDelegate["onOpenFile"](path, trackingFlags);
+ }
+ } catch (e) {
+ console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message);
+ }
+ return stream;
+ },
+ close: function(stream) {
+ if (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(9);
+ }
+ if (stream.getdents) stream.getdents = null;
+ try {
+ if (stream.stream_ops.close) {
+ stream.stream_ops.close(stream);
+ }
+ } catch (e) {
+ throw e;
+ } finally {
+ FS.closeStream(stream.fd);
+ }
+ stream.fd = null;
+ },
+ isClosed: function(stream) {
+ return stream.fd === null;
+ },
+ llseek: function(stream, offset, whence) {
+ if (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(9);
+ }
+ if (!stream.seekable || !stream.stream_ops.llseek) {
+ throw new FS.ErrnoError(29);
+ }
+ if (whence != 0 && whence != 1 && whence != 2) {
+ throw new FS.ErrnoError(22);
+ }
+ stream.position = stream.stream_ops.llseek(stream, offset, whence);
+ stream.ungotten = [];
+ return stream.position;
+ },
+ read: function(stream, buffer, offset, length, position) {
+ if (length < 0 || position < 0) {
+ throw new FS.ErrnoError(22);
+ }
+ if (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(9);
+ }
+ if ((stream.flags & 2097155) === 1) {
+ throw new FS.ErrnoError(9);
+ }
+ if (FS.isDir(stream.node.mode)) {
+ throw new FS.ErrnoError(21);
+ }
+ if (!stream.stream_ops.read) {
+ throw new FS.ErrnoError(22);
+ }
+ var seeking = typeof position !== "undefined";
+ if (!seeking) {
+ position = stream.position;
+ } else if (!stream.seekable) {
+ throw new FS.ErrnoError(29);
+ }
+ var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
+ if (!seeking) stream.position += bytesRead;
+ return bytesRead;
+ },
+ write: function(stream, buffer, offset, length, position, canOwn) {
+ if (length < 0 || position < 0) {
+ throw new FS.ErrnoError(22);
+ }
+ if (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(9);
+ }
+ if ((stream.flags & 2097155) === 0) {
+ throw new FS.ErrnoError(9);
+ }
+ if (FS.isDir(stream.node.mode)) {
+ throw new FS.ErrnoError(21);
+ }
+ if (!stream.stream_ops.write) {
+ throw new FS.ErrnoError(22);
+ }
+ if (stream.flags & 1024) {
+ FS.llseek(stream, 0, 2);
+ }
+ var seeking = typeof position !== "undefined";
+ if (!seeking) {
+ position = stream.position;
+ } else if (!stream.seekable) {
+ throw new FS.ErrnoError(29);
+ }
+ var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
+ if (!seeking) stream.position += bytesWritten;
+ try {
+ if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path);
+ } catch (e) {
+ console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message);
+ }
+ return bytesWritten;
+ },
+ allocate: function(stream, offset, length) {
+ if (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(9);
+ }
+ if (offset < 0 || length <= 0) {
+ throw new FS.ErrnoError(22);
+ }
+ if ((stream.flags & 2097155) === 0) {
+ throw new FS.ErrnoError(9);
+ }
+ if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
+ throw new FS.ErrnoError(19);
+ }
+ if (!stream.stream_ops.allocate) {
+ throw new FS.ErrnoError(95);
+ }
+ stream.stream_ops.allocate(stream, offset, length);
+ },
+ mmap: function(stream, buffer, offset, length, position, prot, flags) {
+ if ((stream.flags & 2097155) === 1) {
+ throw new FS.ErrnoError(13);
+ }
+ if (!stream.stream_ops.mmap) {
+ throw new FS.ErrnoError(19);
+ }
+ return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags);
+ },
+ msync: function(stream, buffer, offset, length, mmapFlags) {
+ if (!stream || !stream.stream_ops.msync) {
+ return 0;
+ }
+ return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
+ },
+ munmap: function(stream) {
+ return 0;
+ },
+ ioctl: function(stream, cmd, arg) {
+ if (!stream.stream_ops.ioctl) {
+ throw new FS.ErrnoError(25);
+ }
+ return stream.stream_ops.ioctl(stream, cmd, arg);
+ },
+ readFile: function(path, opts) {
+ opts = opts || {};
+ opts.flags = opts.flags || "r";
+ opts.encoding = opts.encoding || "binary";
+ if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
+ throw new Error('Invalid encoding type "' + opts.encoding + '"');
+ }
+ var ret;
+ var stream = FS.open(path, opts.flags);
+ var stat = FS.stat(path);
+ var length = stat.size;
+ var buf = new Uint8Array(length);
+ FS.read(stream, buf, 0, length, 0);
+ if (opts.encoding === "utf8") {
+ ret = UTF8ArrayToString(buf, 0);
+ } else if (opts.encoding === "binary") {
+ ret = buf;
+ }
+ FS.close(stream);
+ return ret;
+ },
+ writeFile: function(path, data, opts) {
+ opts = opts || {};
+ opts.flags = opts.flags || "w";
+ var stream = FS.open(path, opts.flags, opts.mode);
+ if (typeof data === "string") {
+ var buf = new Uint8Array(lengthBytesUTF8(data) + 1);
+ var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
+ FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);
+ } else if (ArrayBuffer.isView(data)) {
+ FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);
+ } else {
+ throw new Error("Unsupported data type");
+ }
+ FS.close(stream);
+ },
+ cwd: function() {
+ return FS.currentPath;
+ },
+ chdir: function(path) {
+ var lookup = FS.lookupPath(path, {
+ follow: true
+ });
+ if (lookup.node === null) {
+ throw new FS.ErrnoError(2);
+ }
+ if (!FS.isDir(lookup.node.mode)) {
+ throw new FS.ErrnoError(20);
+ }
+ var err = FS.nodePermissions(lookup.node, "x");
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ FS.currentPath = lookup.path;
+ },
+ createDefaultDirectories: function() {
+ FS.mkdir("/tmp");
+ FS.mkdir("/home");
+ FS.mkdir("/home/web_user");
+ },
+ createDefaultDevices: function() {
+ FS.mkdir("/dev");
+ FS.registerDevice(FS.makedev(1, 3), {
+ read: function() {
+ return 0;
+ },
+ write: function(stream, buffer, offset, length, pos) {
+ return length;
+ }
+ });
+ FS.mkdev("/dev/null", FS.makedev(1, 3));
+ TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
+ TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
+ FS.mkdev("/dev/tty", FS.makedev(5, 0));
+ FS.mkdev("/dev/tty1", FS.makedev(6, 0));
+ var random_device;
+ if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") {
+ var randomBuffer = new Uint8Array(1);
+ random_device = function() {
+ crypto.getRandomValues(randomBuffer);
+ return randomBuffer[0];
+ };
+ } else if (ENVIRONMENT_IS_NODE) {
+ try {
+ var crypto_module = require("crypto");
+ random_device = function() {
+ return crypto_module["randomBytes"](1)[0];
+ };
+ } catch (e) {
+ random_device = function() {
+ return Math.random() * 256 | 0;
+ };
+ }
+ } else {
+ random_device = function() {
+ abort("random_device");
+ };
+ }
+ FS.createDevice("/dev", "random", random_device);
+ FS.createDevice("/dev", "urandom", random_device);
+ FS.mkdir("/dev/shm");
+ FS.mkdir("/dev/shm/tmp");
+ },
+ createSpecialDirectories: function() {
+ FS.mkdir("/proc");
+ FS.mkdir("/proc/self");
+ FS.mkdir("/proc/self/fd");
+ FS.mount({
+ mount: function() {
+ var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73);
+ node.node_ops = {
+ lookup: function(parent, name) {
+ var fd = +name;
+ var stream = FS.getStream(fd);
+ if (!stream) throw new FS.ErrnoError(9);
+ var ret = {
+ parent: null,
+ mount: {
+ mountpoint: "fake"
+ },
+ node_ops: {
+ readlink: function() {
+ return stream.path;
+ }
+ }
+ };
+ ret.parent = ret;
+ return ret;
+ }
+ };
+ return node;
+ }
+ }, {}, "/proc/self/fd");
+ },
+ createStandardStreams: function() {
+ if (Module["stdin"]) {
+ FS.createDevice("/dev", "stdin", Module["stdin"]);
+ } else {
+ FS.symlink("/dev/tty", "/dev/stdin");
+ }
+ if (Module["stdout"]) {
+ FS.createDevice("/dev", "stdout", null, Module["stdout"]);
+ } else {
+ FS.symlink("/dev/tty", "/dev/stdout");
+ }
+ if (Module["stderr"]) {
+ FS.createDevice("/dev", "stderr", null, Module["stderr"]);
+ } else {
+ FS.symlink("/dev/tty1", "/dev/stderr");
+ }
+ var stdin = FS.open("/dev/stdin", "r");
+ assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")");
+ var stdout = FS.open("/dev/stdout", "w");
+ assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")");
+ var stderr = FS.open("/dev/stderr", "w");
+ assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")");
+ },
+ ensureErrnoError: function() {
+ if (FS.ErrnoError) return;
+ FS.ErrnoError = function ErrnoError(errno, node) {
+ this.node = node;
+ this.setErrno = function(errno) {
+ this.errno = errno;
+ };
+ this.setErrno(errno);
+ this.message = "FS error";
+ if (this.stack) Object.defineProperty(this, "stack", {
+ value: new Error().stack,
+ writable: true
+ });
+ };
+ FS.ErrnoError.prototype = new Error();
+ FS.ErrnoError.prototype.constructor = FS.ErrnoError;
+ [ 2 ].forEach(function(code) {
+ FS.genericErrors[code] = new FS.ErrnoError(code);
+ FS.genericErrors[code].stack = "<generic error, no stack>";
+ });
+ },
+ staticInit: function() {
+ FS.ensureErrnoError();
+ FS.nameTable = new Array(4096);
+ FS.mount(MEMFS, {}, "/");
+ FS.createDefaultDirectories();
+ FS.createDefaultDevices();
+ FS.createSpecialDirectories();
+ FS.filesystems = {
+ "MEMFS": MEMFS,
+ "IDBFS": IDBFS,
+ "NODEFS": NODEFS,
+ "WORKERFS": WORKERFS
+ };
+ },
+ init: function(input, output, error) {
+ assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");
+ FS.init.initialized = true;
+ FS.ensureErrnoError();
+ Module["stdin"] = input || Module["stdin"];
+ Module["stdout"] = output || Module["stdout"];
+ Module["stderr"] = error || Module["stderr"];
+ FS.createStandardStreams();
+ },
+ quit: function() {
+ FS.init.initialized = false;
+ var fflush = Module["_fflush"];
+ if (fflush) fflush(0);
+ for (var i = 0; i < FS.streams.length; i++) {
+ var stream = FS.streams[i];
+ if (!stream) {
+ continue;
+ }
+ FS.close(stream);
+ }
+ },
+ getMode: function(canRead, canWrite) {
+ var mode = 0;
+ if (canRead) mode |= 292 | 73;
+ if (canWrite) mode |= 146;
+ return mode;
+ },
+ joinPath: function(parts, forceRelative) {
+ var path = PATH.join.apply(null, parts);
+ if (forceRelative && path[0] == "/") path = path.substr(1);
+ return path;
+ },
+ absolutePath: function(relative, base) {
+ return PATH.resolve(base, relative);
+ },
+ standardizePath: function(path) {
+ return PATH.normalize(path);
+ },
+ findObject: function(path, dontResolveLastLink) {
+ var ret = FS.analyzePath(path, dontResolveLastLink);
+ if (ret.exists) {
+ return ret.object;
+ } else {
+ ___setErrNo(ret.error);
+ return null;
+ }
+ },
+ analyzePath: function(path, dontResolveLastLink) {
+ try {
+ var lookup = FS.lookupPath(path, {
+ follow: !dontResolveLastLink
+ });
+ path = lookup.path;
+ } catch (e) {}
+ var ret = {
+ isRoot: false,
+ exists: false,
+ error: 0,
+ name: null,
+ path: null,
+ object: null,
+ parentExists: false,
+ parentPath: null,
+ parentObject: null
+ };
+ try {
+ var lookup = FS.lookupPath(path, {
+ parent: true
+ });
+ ret.parentExists = true;
+ ret.parentPath = lookup.path;
+ ret.parentObject = lookup.node;
+ ret.name = PATH.basename(path);
+ lookup = FS.lookupPath(path, {
+ follow: !dontResolveLastLink
+ });
+ ret.exists = true;
+ ret.path = lookup.path;
+ ret.object = lookup.node;
+ ret.name = lookup.node.name;
+ ret.isRoot = lookup.path === "/";
+ } catch (e) {
+ ret.error = e.errno;
+ }
+ return ret;
+ },
+ createFolder: function(parent, name, canRead, canWrite) {
+ var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
+ var mode = FS.getMode(canRead, canWrite);
+ return FS.mkdir(path, mode);
+ },
+ createPath: function(parent, path, canRead, canWrite) {
+ parent = typeof parent === "string" ? parent : FS.getPath(parent);
+ var parts = path.split("/").reverse();
+ while (parts.length) {
+ var part = parts.pop();
+ if (!part) continue;
+ var current = PATH.join2(parent, part);
+ try {
+ FS.mkdir(current);
+ } catch (e) {}
+ parent = current;
+ }
+ return current;
+ },
+ createFile: function(parent, name, properties, canRead, canWrite) {
+ var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
+ var mode = FS.getMode(canRead, canWrite);
+ return FS.create(path, mode);
+ },
+ createDataFile: function(parent, name, data, canRead, canWrite, canOwn) {
+ var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent;
+ var mode = FS.getMode(canRead, canWrite);
+ var node = FS.create(path, mode);
+ if (data) {
+ if (typeof data === "string") {
+ var arr = new Array(data.length);
+ for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
+ data = arr;
+ }
+ FS.chmod(node, mode | 146);
+ var stream = FS.open(node, "w");
+ FS.write(stream, data, 0, data.length, 0, canOwn);
+ FS.close(stream);
+ FS.chmod(node, mode);
+ }
+ return node;
+ },
+ createDevice: function(parent, name, input, output) {
+ var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
+ var mode = FS.getMode(!!input, !!output);
+ if (!FS.createDevice.major) FS.createDevice.major = 64;
+ var dev = FS.makedev(FS.createDevice.major++, 0);
+ FS.registerDevice(dev, {
+ open: function(stream) {
+ stream.seekable = false;
+ },
+ close: function(stream) {
+ if (output && output.buffer && output.buffer.length) {
+ output(10);
+ }
+ },
+ read: function(stream, buffer, offset, length, pos) {
+ var bytesRead = 0;
+ for (var i = 0; i < length; i++) {
+ var result;
+ try {
+ result = input();
+ } catch (e) {
+ throw new FS.ErrnoError(5);
+ }
+ if (result === undefined && bytesRead === 0) {
+ throw new FS.ErrnoError(11);
+ }
+ if (result === null || result === undefined) break;
+ bytesRead++;
+ buffer[offset + i] = result;
+ }
+ if (bytesRead) {
+ stream.node.timestamp = Date.now();
+ }
+ return bytesRead;
+ },
+ write: function(stream, buffer, offset, length, pos) {
+ for (var i = 0; i < length; i++) {
+ try {
+ output(buffer[offset + i]);
+ } catch (e) {
+ throw new FS.ErrnoError(5);
+ }
+ }
+ if (length) {
+ stream.node.timestamp = Date.now();
+ }
+ return i;
+ }
+ });
+ return FS.mkdev(path, mode, dev);
+ },
+ createLink: function(parent, name, target, canRead, canWrite) {
+ var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
+ return FS.symlink(target, path);
+ },
+ forceLoadFile: function(obj) {
+ if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
+ var success = true;
+ if (typeof XMLHttpRequest !== "undefined") {
+ throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
+ } else if (Module["read"]) {
+ try {
+ obj.contents = intArrayFromString(Module["read"](obj.url), true);
+ obj.usedBytes = obj.contents.length;
+ } catch (e) {
+ success = false;
+ }
+ } else {
+ throw new Error("Cannot load without read() or XMLHttpRequest.");
+ }
+ if (!success) ___setErrNo(5);
+ return success;
+ },
+ createLazyFile: function(parent, name, url, canRead, canWrite) {
+ function LazyUint8Array() {
+ this.lengthKnown = false;
+ this.chunks = [];
+ }
+ LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
+ if (idx > this.length - 1 || idx < 0) {
+ return undefined;
+ }
+ var chunkOffset = idx % this.chunkSize;
+ var chunkNum = idx / this.chunkSize | 0;
+ return this.getter(chunkNum)[chunkOffset];
+ };
+ LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
+ this.getter = getter;
+ };
+ LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
+ var xhr = new XMLHttpRequest();
+ xhr.open("HEAD", url, false);
+ xhr.send(null);
+ if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
+ var datalength = Number(xhr.getResponseHeader("Content-length"));
+ var header;
+ var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
+ var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
+ var chunkSize = 1024 * 1024;
+ if (!hasByteServing) chunkSize = datalength;
+ var doXHR = function(from, to) {
+ if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
+ if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!");
+ var xhr = new XMLHttpRequest();
+ xhr.open("GET", url, false);
+ if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
+ if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer";
+ if (xhr.overrideMimeType) {
+ xhr.overrideMimeType("text/plain; charset=x-user-defined");
+ }
+ xhr.send(null);
+ if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
+ if (xhr.response !== undefined) {
+ return new Uint8Array(xhr.response || []);
+ } else {
+ return intArrayFromString(xhr.responseText || "", true);
+ }
+ };
+ var lazyArray = this;
+ lazyArray.setDataGetter(function(chunkNum) {
+ var start = chunkNum * chunkSize;
+ var end = (chunkNum + 1) * chunkSize - 1;
+ end = Math.min(end, datalength - 1);
+ if (typeof lazyArray.chunks[chunkNum] === "undefined") {
+ lazyArray.chunks[chunkNum] = doXHR(start, end);
+ }
+ if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!");
+ return lazyArray.chunks[chunkNum];
+ });
+ if (usesGzip || !datalength) {
+ chunkSize = datalength = 1;
+ datalength = this.getter(0).length;
+ chunkSize = datalength;
+ console.log("LazyFiles on gzip forces download of the whole file when length is accessed");
+ }
+ this._length = datalength;
+ this._chunkSize = chunkSize;
+ this.lengthKnown = true;
+ };
+ if (typeof XMLHttpRequest !== "undefined") {
+ if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
+ var lazyArray = new LazyUint8Array();
+ Object.defineProperties(lazyArray, {
+ length: {
+ get: function() {
+ if (!this.lengthKnown) {
+ this.cacheLength();
+ }
+ return this._length;
+ }
+ },
+ chunkSize: {
+ get: function() {
+ if (!this.lengthKnown) {
+ this.cacheLength();
+ }
+ return this._chunkSize;
+ }
+ }
+ });
+ var properties = {
+ isDevice: false,
+ contents: lazyArray
+ };
+ } else {
+ var properties = {
+ isDevice: false,
+ url: url
+ };
+ }
+ var node = FS.createFile(parent, name, properties, canRead, canWrite);
+ if (properties.contents) {
+ node.contents = properties.contents;
+ } else if (properties.url) {
+ node.contents = null;
+ node.url = properties.url;
+ }
+ Object.defineProperties(node, {
+ usedBytes: {
+ get: function() {
+ return this.contents.length;
+ }
+ }
+ });
+ var stream_ops = {};
+ var keys = Object.keys(node.stream_ops);
+ keys.forEach(function(key) {
+ var fn = node.stream_ops[key];
+ stream_ops[key] = function forceLoadLazyFile() {
+ if (!FS.forceLoadFile(node)) {
+ throw new FS.ErrnoError(5);
+ }
+ return fn.apply(null, arguments);
+ };
+ });
+ stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
+ if (!FS.forceLoadFile(node)) {
+ throw new FS.ErrnoError(5);
+ }
+ var contents = stream.node.contents;
+ if (position >= contents.length) return 0;
+ var size = Math.min(contents.length - position, length);
+ assert(size >= 0);
+ if (contents.slice) {
+ for (var i = 0; i < size; i++) {
+ buffer[offset + i] = contents[position + i];
+ }
+ } else {
+ for (var i = 0; i < size; i++) {
+ buffer[offset + i] = contents.get(position + i);
+ }
+ }
+ return size;
+ };
+ node.stream_ops = stream_ops;
+ return node;
+ },
+ createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
+ Browser.init();
+ var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent;
+ var dep = getUniqueRunDependency("cp " + fullname);
+ function processData(byteArray) {
+ function finish(byteArray) {
+ if (preFinish) preFinish();
+ if (!dontCreateFile) {
+ FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
+ }
+ if (onload) onload();
+ removeRunDependency(dep);
+ }
+ var handled = false;
+ Module["preloadPlugins"].forEach(function(plugin) {
+ if (handled) return;
+ if (plugin["canHandle"](fullname)) {
+ plugin["handle"](byteArray, fullname, finish, function() {
+ if (onerror) onerror();
+ removeRunDependency(dep);
+ });
+ handled = true;
+ }
+ });
+ if (!handled) finish(byteArray);
+ }
+ addRunDependency(dep);
+ if (typeof url == "string") {
+ Browser.asyncLoad(url, function(byteArray) {
+ processData(byteArray);
+ }, onerror);
+ } else {
+ processData(url);
+ }
+ },
+ indexedDB: function() {
+ return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
+ },
+ DB_NAME: function() {
+ return "EM_FS_" + window.location.pathname;
+ },
+ DB_VERSION: 20,
+ DB_STORE_NAME: "FILE_DATA",
+ saveFilesToDB: function(paths, onload, onerror) {
+ onload = onload || function() {};
+ onerror = onerror || function() {};
+ var indexedDB = FS.indexedDB();
+ try {
+ var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
+ } catch (e) {
+ return onerror(e);
+ }
+ openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
+ console.log("creating db");
+ var db = openRequest.result;
+ db.createObjectStore(FS.DB_STORE_NAME);
+ };
+ openRequest.onsuccess = function openRequest_onsuccess() {
+ var db = openRequest.result;
+ var transaction = db.transaction([ FS.DB_STORE_NAME ], "readwrite");
+ var files = transaction.objectStore(FS.DB_STORE_NAME);
+ var ok = 0, fail = 0, total = paths.length;
+ function finish() {
+ if (fail == 0) onload(); else onerror();
+ }
+ paths.forEach(function(path) {
+ var putRequest = files.put(FS.analyzePath(path).object.contents, path);
+ putRequest.onsuccess = function putRequest_onsuccess() {
+ ok++;
+ if (ok + fail == total) finish();
+ };
+ putRequest.onerror = function putRequest_onerror() {
+ fail++;
+ if (ok + fail == total) finish();
+ };
+ });
+ transaction.onerror = onerror;
+ };
+ openRequest.onerror = onerror;
+ },
+ loadFilesFromDB: function(paths, onload, onerror) {
+ onload = onload || function() {};
+ onerror = onerror || function() {};
+ var indexedDB = FS.indexedDB();
+ try {
+ var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
+ } catch (e) {
+ return onerror(e);
+ }
+ openRequest.onupgradeneeded = onerror;
+ openRequest.onsuccess = function openRequest_onsuccess() {
+ var db = openRequest.result;
+ try {
+ var transaction = db.transaction([ FS.DB_STORE_NAME ], "readonly");
+ } catch (e) {
+ onerror(e);
+ return;
+ }
+ var files = transaction.objectStore(FS.DB_STORE_NAME);
+ var ok = 0, fail = 0, total = paths.length;
+ function finish() {
+ if (fail == 0) onload(); else onerror();
+ }
+ paths.forEach(function(path) {
+ var getRequest = files.get(path);
+ getRequest.onsuccess = function getRequest_onsuccess() {
+ if (FS.analyzePath(path).exists) {
+ FS.unlink(path);
+ }
+ FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
+ ok++;
+ if (ok + fail == total) finish();
+ };
+ getRequest.onerror = function getRequest_onerror() {
+ fail++;
+ if (ok + fail == total) finish();
+ };
+ });
+ transaction.onerror = onerror;
+ };
+ openRequest.onerror = onerror;
+ }
+};
+
+function _emscripten_set_main_loop_timing(mode, value) {
+ Browser.mainLoop.timingMode = mode;
+ Browser.mainLoop.timingValue = value;
+ if (!Browser.mainLoop.func) {
+ return 1;
+ }
+ if (mode == 0) {
+ Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() {
+ var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now()) | 0;
+ setTimeout(Browser.mainLoop.runner, timeUntilNextTick);
+ };
+ Browser.mainLoop.method = "timeout";
+ } else if (mode == 1) {
+ Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() {
+ Browser.requestAnimationFrame(Browser.mainLoop.runner);
+ };
+ Browser.mainLoop.method = "rAF";
+ } else if (mode == 2) {
+ if (typeof setImmediate === "undefined") {
+ var setImmediates = [];
+ var emscriptenMainLoopMessageId = "setimmediate";
+ var Browser_setImmediate_messageHandler = function(event) {
+ if (event.data === emscriptenMainLoopMessageId || event.data.target === emscriptenMainLoopMessageId) {
+ event.stopPropagation();
+ setImmediates.shift()();
+ }
+ };
+ addEventListener("message", Browser_setImmediate_messageHandler, true);
+ setImmediate = function Browser_emulated_setImmediate(func) {
+ setImmediates.push(func);
+ if (ENVIRONMENT_IS_WORKER) {
+ if (Module["setImmediates"] === undefined) Module["setImmediates"] = [];
+ Module["setImmediates"].push(func);
+ postMessage({
+ target: emscriptenMainLoopMessageId
+ });
+ } else postMessage(emscriptenMainLoopMessageId, "*");
+ };
+ }
+ Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() {
+ setImmediate(Browser.mainLoop.runner);
+ };
+ Browser.mainLoop.method = "immediate";
+ }
+ return 0;
+}
+
+function _emscripten_get_now() {
+ abort();
+}
+
+function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) {
+ Module["noExitRuntime"] = true;
+ assert(!Browser.mainLoop.func, "emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");
+ Browser.mainLoop.func = func;
+ Browser.mainLoop.arg = arg;
+ var browserIterationFunc;
+ if (typeof arg !== "undefined") {
+ browserIterationFunc = function() {
+ Module["dynCall_vi"](func, arg);
+ };
+ } else {
+ browserIterationFunc = function() {
+ Module["dynCall_v"](func);
+ };
+ }
+ var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop;
+ Browser.mainLoop.runner = function Browser_mainLoop_runner() {
+ if (ABORT) return;
+ if (Browser.mainLoop.queue.length > 0) {
+ var start = Date.now();
+ var blocker = Browser.mainLoop.queue.shift();
+ blocker.func(blocker.arg);
+ if (Browser.mainLoop.remainingBlockers) {
+ var remaining = Browser.mainLoop.remainingBlockers;
+ var next = remaining % 1 == 0 ? remaining - 1 : Math.floor(remaining);
+ if (blocker.counted) {
+ Browser.mainLoop.remainingBlockers = next;
+ } else {
+ next = next + .5;
+ Browser.mainLoop.remainingBlockers = (8 * remaining + next) / 9;
+ }
+ }
+ console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + " ms");
+ Browser.mainLoop.updateStatus();
+ if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
+ setTimeout(Browser.mainLoop.runner, 0);
+ return;
+ }
+ if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
+ Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;
+ if (Browser.mainLoop.timingMode == 1 && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) {
+ Browser.mainLoop.scheduler();
+ return;
+ } else if (Browser.mainLoop.timingMode == 0) {
+ Browser.mainLoop.tickStartTime = _emscripten_get_now();
+ }
+ if (Browser.mainLoop.method === "timeout" && Module.ctx) {
+ err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");
+ Browser.mainLoop.method = "";
+ }
+ Browser.mainLoop.runIter(browserIterationFunc);
+ if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
+ if (typeof SDL === "object" && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData();
+ Browser.mainLoop.scheduler();
+ };
+ if (!noSetTiming) {
+ if (fps && fps > 0) _emscripten_set_main_loop_timing(0, 1e3 / fps); else _emscripten_set_main_loop_timing(1, 1);
+ Browser.mainLoop.scheduler();
+ }
+ if (simulateInfiniteLoop) {
+ throw "SimulateInfiniteLoop";
+ }
+}
+
+var Browser = {
+ mainLoop: {
+ scheduler: null,
+ method: "",
+ currentlyRunningMainloop: 0,
+ func: null,
+ arg: 0,
+ timingMode: 0,
+ timingValue: 0,
+ currentFrameNumber: 0,
+ queue: [],
+ pause: function() {
+ Browser.mainLoop.scheduler = null;
+ Browser.mainLoop.currentlyRunningMainloop++;
+ },
+ resume: function() {
+ Browser.mainLoop.currentlyRunningMainloop++;
+ var timingMode = Browser.mainLoop.timingMode;
+ var timingValue = Browser.mainLoop.timingValue;
+ var func = Browser.mainLoop.func;
+ Browser.mainLoop.func = null;
+ _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true);
+ _emscripten_set_main_loop_timing(timingMode, timingValue);
+ Browser.mainLoop.scheduler();
+ },
+ updateStatus: function() {
+ if (Module["setStatus"]) {
+ var message = Module["statusMessage"] || "Please wait...";
+ var remaining = Browser.mainLoop.remainingBlockers;
+ var expected = Browser.mainLoop.expectedBlockers;
+ if (remaining) {
+ if (remaining < expected) {
+ Module["setStatus"](message + " (" + (expected - remaining) + "/" + expected + ")");
+ } else {
+ Module["setStatus"](message);
+ }
+ } else {
+ Module["setStatus"]("");
+ }
+ }
+ },
+ runIter: function(func) {
+ if (ABORT) return;
+ if (Module["preMainLoop"]) {
+ var preRet = Module["preMainLoop"]();
+ if (preRet === false) {
+ return;
+ }
+ }
+ try {
+ func();
+ } catch (e) {
+ if (e instanceof ExitStatus) {
+ return;
+ } else {
+ if (e && typeof e === "object" && e.stack) err("exception thrown: " + [ e, e.stack ]);
+ throw e;
+ }
+ }
+ if (Module["postMainLoop"]) Module["postMainLoop"]();
+ }
+ },
+ isFullscreen: false,
+ pointerLock: false,
+ moduleContextCreatedCallbacks: [],
+ workers: [],
+ init: function() {
+ if (!Module["preloadPlugins"]) Module["preloadPlugins"] = [];
+ if (Browser.initted) return;
+ Browser.initted = true;
+ try {
+ new Blob();
+ Browser.hasBlobConstructor = true;
+ } catch (e) {
+ Browser.hasBlobConstructor = false;
+ console.log("warning: no blob constructor, cannot create blobs with mimetypes");
+ }
+ Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : !Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null;
+ Browser.URLObject = typeof window != "undefined" ? window.URL ? window.URL : window.webkitURL : undefined;
+ if (!Module.noImageDecoding && typeof Browser.URLObject === "undefined") {
+ console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");
+ Module.noImageDecoding = true;
+ }
+ var imagePlugin = {};
+ imagePlugin["canHandle"] = function imagePlugin_canHandle(name) {
+ return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name);
+ };
+ imagePlugin["handle"] = function imagePlugin_handle(byteArray, name, onload, onerror) {
+ var b = null;
+ if (Browser.hasBlobConstructor) {
+ try {
+ b = new Blob([ byteArray ], {
+ type: Browser.getMimetype(name)
+ });
+ if (b.size !== byteArray.length) {
+ b = new Blob([ new Uint8Array(byteArray).buffer ], {
+ type: Browser.getMimetype(name)
+ });
+ }
+ } catch (e) {
+ warnOnce("Blob constructor present but fails: " + e + "; falling back to blob builder");
+ }
+ }
+ if (!b) {
+ var bb = new Browser.BlobBuilder();
+ bb.append(new Uint8Array(byteArray).buffer);
+ b = bb.getBlob();
+ }
+ var url = Browser.URLObject.createObjectURL(b);
+ var img = new Image();
+ img.onload = function img_onload() {
+ assert(img.complete, "Image " + name + " could not be decoded");
+ var canvas = document.createElement("canvas");
+ canvas.width = img.width;
+ canvas.height = img.height;
+ var ctx = canvas.getContext("2d");
+ ctx.drawImage(img, 0, 0);
+ Module["preloadedImages"][name] = canvas;
+ Browser.URLObject.revokeObjectURL(url);
+ if (onload) onload(byteArray);
+ };
+ img.onerror = function img_onerror(event) {
+ console.log("Image " + url + " could not be decoded");
+ if (onerror) onerror();
+ };
+ img.src = url;
+ };
+ Module["preloadPlugins"].push(imagePlugin);
+ var audioPlugin = {};
+ audioPlugin["canHandle"] = function audioPlugin_canHandle(name) {
+ return !Module.noAudioDecoding && name.substr(-4) in {
+ ".ogg": 1,
+ ".wav": 1,
+ ".mp3": 1
+ };
+ };
+ audioPlugin["handle"] = function audioPlugin_handle(byteArray, name, onload, onerror) {
+ var done = false;
+ function finish(audio) {
+ if (done) return;
+ done = true;
+ Module["preloadedAudios"][name] = audio;
+ if (onload) onload(byteArray);
+ }
+ function fail() {
+ if (done) return;
+ done = true;
+ Module["preloadedAudios"][name] = new Audio();
+ if (onerror) onerror();
+ }
+ if (Browser.hasBlobConstructor) {
+ try {
+ var b = new Blob([ byteArray ], {
+ type: Browser.getMimetype(name)
+ });
+ } catch (e) {
+ return fail();
+ }
+ var url = Browser.URLObject.createObjectURL(b);
+ var audio = new Audio();
+ audio.addEventListener("canplaythrough", function() {
+ finish(audio);
+ }, false);
+ audio.onerror = function audio_onerror(event) {
+ if (done) return;
+ console.log("warning: browser could not fully decode audio " + name + ", trying slower base64 approach");
+ function encode64(data) {
+ var BASE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+ var PAD = "=";
+ var ret = "";
+ var leftchar = 0;
+ var leftbits = 0;
+ for (var i = 0; i < data.length; i++) {
+ leftchar = leftchar << 8 | data[i];
+ leftbits += 8;
+ while (leftbits >= 6) {
+ var curr = leftchar >> leftbits - 6 & 63;
+ leftbits -= 6;
+ ret += BASE[curr];
+ }
+ }
+ if (leftbits == 2) {
+ ret += BASE[(leftchar & 3) << 4];
+ ret += PAD + PAD;
+ } else if (leftbits == 4) {
+ ret += BASE[(leftchar & 15) << 2];
+ ret += PAD;
+ }
+ return ret;
+ }
+ audio.src = "data:audio/x-" + name.substr(-3) + ";base64," + encode64(byteArray);
+ finish(audio);
+ };
+ audio.src = url;
+ Browser.safeSetTimeout(function() {
+ finish(audio);
+ }, 1e4);
+ } else {
+ return fail();
+ }
+ };
+ Module["preloadPlugins"].push(audioPlugin);
+ function pointerLockChange() {
+ Browser.pointerLock = document["pointerLockElement"] === Module["canvas"] || document["mozPointerLockElement"] === Module["canvas"] || document["webkitPointerLockElement"] === Module["canvas"] || document["msPointerLockElement"] === Module["canvas"];
+ }
+ var canvas = Module["canvas"];
+ if (canvas) {
+ canvas.requestPointerLock = canvas["requestPointerLock"] || canvas["mozRequestPointerLock"] || canvas["webkitRequestPointerLock"] || canvas["msRequestPointerLock"] || function() {};
+ canvas.exitPointerLock = document["exitPointerLock"] || document["mozExitPointerLock"] || document["webkitExitPointerLock"] || document["msExitPointerLock"] || function() {};
+ canvas.exitPointerLock = canvas.exitPointerLock.bind(document);
+ document.addEventListener("pointerlockchange", pointerLockChange, false);
+ document.addEventListener("mozpointerlockchange", pointerLockChange, false);
+ document.addEventListener("webkitpointerlockchange", pointerLockChange, false);
+ document.addEventListener("mspointerlockchange", pointerLockChange, false);
+ if (Module["elementPointerLock"]) {
+ canvas.addEventListener("click", function(ev) {
+ if (!Browser.pointerLock && Module["canvas"].requestPointerLock) {
+ Module["canvas"].requestPointerLock();
+ ev.preventDefault();
+ }
+ }, false);
+ }
+ }
+ },
+ createContext: function(canvas, useWebGL, setInModule, webGLContextAttributes) {
+ if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx;
+ var ctx;
+ var contextHandle;
+ if (useWebGL) {
+ var contextAttributes = {
+ antialias: false,
+ alpha: false,
+ majorVersion: 1
+ };
+ if (webGLContextAttributes) {
+ for (var attribute in webGLContextAttributes) {
+ contextAttributes[attribute] = webGLContextAttributes[attribute];
+ }
+ }
+ if (typeof GL !== "undefined") {
+ contextHandle = GL.createContext(canvas, contextAttributes);
+ if (contextHandle) {
+ ctx = GL.getContext(contextHandle).GLctx;
+ }
+ }
+ } else {
+ ctx = canvas.getContext("2d");
+ }
+ if (!ctx) return null;
+ if (setInModule) {
+ if (!useWebGL) assert(typeof GLctx === "undefined", "cannot set in module if GLctx is used, but we are a non-GL context that would replace it");
+ Module.ctx = ctx;
+ if (useWebGL) GL.makeContextCurrent(contextHandle);
+ Module.useWebGL = useWebGL;
+ Browser.moduleContextCreatedCallbacks.forEach(function(callback) {
+ callback();
+ });
+ Browser.init();
+ }
+ return ctx;
+ },
+ destroyContext: function(canvas, useWebGL, setInModule) {},
+ fullscreenHandlersInstalled: false,
+ lockPointer: undefined,
+ resizeCanvas: undefined,
+ requestFullscreen: function(lockPointer, resizeCanvas, vrDevice) {
+ lockPointer = false;
+ console.log("forcing lockPointer to false");
+ Browser.lockPointer = lockPointer;
+ Browser.resizeCanvas = resizeCanvas;
+ Browser.vrDevice = vrDevice;
+ if (typeof Browser.lockPointer === "undefined") Browser.lockPointer = false;
+ if (typeof Browser.resizeCanvas === "undefined") Browser.resizeCanvas = false;
+ if (typeof Browser.vrDevice === "undefined") Browser.vrDevice = null;
+ var canvas = Module["canvas"];
+ function fullscreenChange() {
+ Browser.isFullscreen = false;
+ var canvasContainer = canvas.parentNode;
+ if ((document["fullscreenElement"] || document["mozFullScreenElement"] || document["msFullscreenElement"] || document["webkitFullscreenElement"] || document["webkitCurrentFullScreenElement"]) === canvasContainer) {
+ canvas.exitFullscreen = document["exitFullscreen"] || document["cancelFullScreen"] || document["mozCancelFullScreen"] || document["msExitFullscreen"] || document["webkitCancelFullScreen"] || function() {};
+ canvas.exitFullscreen = canvas.exitFullscreen.bind(document);
+ Browser.isFullscreen = true;
+ if (Browser.resizeCanvas) {
+ Browser.setFullscreenCanvasSize();
+ } else {
+ Browser.updateCanvasDimensions(canvas);
+ }
+ } else {
+ canvasContainer.parentNode.insertBefore(canvas, canvasContainer);
+ canvasContainer.parentNode.removeChild(canvasContainer);
+ if (Browser.resizeCanvas) {
+ Browser.setWindowedCanvasSize();
+ } else {
+ Browser.updateCanvasDimensions(canvas);
+ }
+ }
+ if (Module["onFullScreen"]) Module["onFullScreen"](Browser.isFullscreen);
+ if (Module["onFullscreen"]) Module["onFullscreen"](Browser.isFullscreen);
+ }
+ if (!Browser.fullscreenHandlersInstalled) {
+ Browser.fullscreenHandlersInstalled = true;
+ document.addEventListener("fullscreenchange", fullscreenChange, false);
+ document.addEventListener("mozfullscreenchange", fullscreenChange, false);
+ document.addEventListener("webkitfullscreenchange", fullscreenChange, false);
+ document.addEventListener("MSFullscreenChange", fullscreenChange, false);
+ }
+ var canvasContainer = document.createElement("div");
+ canvas.parentNode.insertBefore(canvasContainer, canvas);
+ canvasContainer.appendChild(canvas);
+ canvasContainer.requestFullscreen = canvasContainer["requestFullscreen"] || canvasContainer["mozRequestFullScreen"] || canvasContainer["msRequestFullscreen"] || (canvasContainer["webkitRequestFullscreen"] ? function() {
+ canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]);
+ } : null) || (canvasContainer["webkitRequestFullScreen"] ? function() {
+ canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]);
+ } : null);
+ if (vrDevice) {
+ canvasContainer.requestFullscreen({
+ vrDisplay: vrDevice
+ });
+ } else {
+ canvasContainer.requestFullscreen();
+ }
+ },
+ requestFullScreen: function(lockPointer, resizeCanvas, vrDevice) {
+ err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");
+ Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) {
+ return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice);
+ };
+ return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice);
+ },
+ nextRAF: 0,
+ fakeRequestAnimationFrame: function(func) {
+ var now = Date.now();
+ if (Browser.nextRAF === 0) {
+ Browser.nextRAF = now + 1e3 / 60;
+ } else {
+ while (now + 2 >= Browser.nextRAF) {
+ Browser.nextRAF += 1e3 / 60;
+ }
+ }
+ var delay = Math.max(Browser.nextRAF - now, 0);
+ setTimeout(func, delay);
+ },
+ requestAnimationFrame: function requestAnimationFrame(func) {
+ if (typeof window === "undefined") {
+ Browser.fakeRequestAnimationFrame(func);
+ } else {
+ if (!window.requestAnimationFrame) {
+ window.requestAnimationFrame = window["requestAnimationFrame"] || window["mozRequestAnimationFrame"] || window["webkitRequestAnimationFrame"] || window["msRequestAnimationFrame"] || window["oRequestAnimationFrame"] || Browser.fakeRequestAnimationFrame;
+ }
+ window.requestAnimationFrame(func);
+ }
+ },
+ safeCallback: function(func) {
+ return function() {
+ if (!ABORT) return func.apply(null, arguments);
+ };
+ },
+ allowAsyncCallbacks: true,
+ queuedAsyncCallbacks: [],
+ pauseAsyncCallbacks: function() {
+ Browser.allowAsyncCallbacks = false;
+ },
+ resumeAsyncCallbacks: function() {
+ Browser.allowAsyncCallbacks = true;
+ if (Browser.queuedAsyncCallbacks.length > 0) {
+ var callbacks = Browser.queuedAsyncCallbacks;
+ Browser.queuedAsyncCallbacks = [];
+ callbacks.forEach(function(func) {
+ func();
+ });
+ }
+ },
+ safeRequestAnimationFrame: function(func) {
+ return Browser.requestAnimationFrame(function() {
+ if (ABORT) return;
+ if (Browser.allowAsyncCallbacks) {
+ func();
+ } else {
+ Browser.queuedAsyncCallbacks.push(func);
+ }
+ });
+ },
+ safeSetTimeout: function(func, timeout) {
+ Module["noExitRuntime"] = true;
+ return setTimeout(function() {
+ if (ABORT) return;
+ if (Browser.allowAsyncCallbacks) {
+ func();
+ } else {
+ Browser.queuedAsyncCallbacks.push(func);
+ }
+ }, timeout);
+ },
+ safeSetInterval: function(func, timeout) {
+ Module["noExitRuntime"] = true;
+ return setInterval(function() {
+ if (ABORT) return;
+ if (Browser.allowAsyncCallbacks) {
+ func();
+ }
+ }, timeout);
+ },
+ getMimetype: function(name) {
+ return {
+ "jpg": "image/jpeg",
+ "jpeg": "image/jpeg",
+ "png": "image/png",
+ "bmp": "image/bmp",
+ "ogg": "audio/ogg",
+ "wav": "audio/wav",
+ "mp3": "audio/mpeg"
+ }[name.substr(name.lastIndexOf(".") + 1)];
+ },
+ getUserMedia: function(func) {
+ if (!window.getUserMedia) {
+ window.getUserMedia = navigator["getUserMedia"] || navigator["mozGetUserMedia"];
+ }
+ window.getUserMedia(func);
+ },
+ getMovementX: function(event) {
+ return event["movementX"] || event["mozMovementX"] || event["webkitMovementX"] || 0;
+ },
+ getMovementY: function(event) {
+ return event["movementY"] || event["mozMovementY"] || event["webkitMovementY"] || 0;
+ },
+ getMouseWheelDelta: function(event) {
+ var delta = 0;
+ switch (event.type) {
+ case "DOMMouseScroll":
+ delta = event.detail;
+ break;
+
+ case "mousewheel":
+ delta = event.wheelDelta;
+ break;
+
+ case "wheel":
+ delta = event["deltaY"];
+ break;
+
+ default:
+ throw "unrecognized mouse wheel event: " + event.type;
+ }
+ return delta;
+ },
+ mouseX: 0,
+ mouseY: 0,
+ mouseMovementX: 0,
+ mouseMovementY: 0,
+ touches: {},
+ lastTouches: {},
+ calculateMouseEvent: function(event) {
+ if (Browser.pointerLock) {
+ if (event.type != "mousemove" && "mozMovementX" in event) {
+ Browser.mouseMovementX = Browser.mouseMovementY = 0;
+ } else {
+ Browser.mouseMovementX = Browser.getMovementX(event);
+ Browser.mouseMovementY = Browser.getMovementY(event);
+ }
+ if (typeof SDL != "undefined") {
+ Browser.mouseX = SDL.mouseX + Browser.mouseMovementX;
+ Browser.mouseY = SDL.mouseY + Browser.mouseMovementY;
+ } else {
+ Browser.mouseX += Browser.mouseMovementX;
+ Browser.mouseY += Browser.mouseMovementY;
+ }
+ } else {
+ var rect = Module["canvas"].getBoundingClientRect();
+ var cw = Module["canvas"].width;
+ var ch = Module["canvas"].height;
+ var scrollX = typeof window.scrollX !== "undefined" ? window.scrollX : window.pageXOffset;
+ var scrollY = typeof window.scrollY !== "undefined" ? window.scrollY : window.pageYOffset;
+ if (event.type === "touchstart" || event.type === "touchend" || event.type === "touchmove") {
+ var touch = event.touch;
+ if (touch === undefined) {
+ return;
+ }
+ var adjustedX = touch.pageX - (scrollX + rect.left);
+ var adjustedY = touch.pageY - (scrollY + rect.top);
+ adjustedX = adjustedX * (cw / rect.width);
+ adjustedY = adjustedY * (ch / rect.height);
+ var coords = {
+ x: adjustedX,
+ y: adjustedY
+ };
+ if (event.type === "touchstart") {
+ Browser.lastTouches[touch.identifier] = coords;
+ Browser.touches[touch.identifier] = coords;
+ } else if (event.type === "touchend" || event.type === "touchmove") {
+ var last = Browser.touches[touch.identifier];
+ if (!last) last = coords;
+ Browser.lastTouches[touch.identifier] = last;
+ Browser.touches[touch.identifier] = coords;
+ }
+ return;
+ }
+ var x = event.pageX - (scrollX + rect.left);
+ var y = event.pageY - (scrollY + rect.top);
+ x = x * (cw / rect.width);
+ y = y * (ch / rect.height);
+ Browser.mouseMovementX = x - Browser.mouseX;
+ Browser.mouseMovementY = y - Browser.mouseY;
+ Browser.mouseX = x;
+ Browser.mouseY = y;
+ }
+ },
+ asyncLoad: function(url, onload, onerror, noRunDep) {
+ var dep = !noRunDep ? getUniqueRunDependency("al " + url) : "";
+ Module["readAsync"](url, function(arrayBuffer) {
+ assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).');
+ onload(new Uint8Array(arrayBuffer));
+ if (dep) removeRunDependency(dep);
+ }, function(event) {
+ if (onerror) {
+ onerror();
+ } else {
+ throw 'Loading data file "' + url + '" failed.';
+ }
+ });
+ if (dep) addRunDependency(dep);
+ },
+ resizeListeners: [],
+ updateResizeListeners: function() {
+ var canvas = Module["canvas"];
+ Browser.resizeListeners.forEach(function(listener) {
+ listener(canvas.width, canvas.height);
+ });
+ },
+ setCanvasSize: function(width, height, noUpdates) {
+ var canvas = Module["canvas"];
+ Browser.updateCanvasDimensions(canvas, width, height);
+ if (!noUpdates) Browser.updateResizeListeners();
+ },
+ windowedWidth: 0,
+ windowedHeight: 0,
+ setFullscreenCanvasSize: function() {
+ if (typeof SDL != "undefined") {
+ var flags = HEAPU32[SDL.screen >> 2];
+ flags = flags | 8388608;
+ HEAP32[SDL.screen >> 2] = flags;
+ }
+ Browser.updateCanvasDimensions(Module["canvas"]);
+ Browser.updateResizeListeners();
+ },
+ setWindowedCanvasSize: function() {
+ if (typeof SDL != "undefined") {
+ var flags = HEAPU32[SDL.screen >> 2];
+ flags = flags & ~8388608;
+ HEAP32[SDL.screen >> 2] = flags;
+ }
+ Browser.updateCanvasDimensions(Module["canvas"]);
+ Browser.updateResizeListeners();
+ },
+ updateCanvasDimensions: function(canvas, wNative, hNative) {
+ if (wNative && hNative) {
+ canvas.widthNative = wNative;
+ canvas.heightNative = hNative;
+ } else {
+ wNative = canvas.widthNative;
+ hNative = canvas.heightNative;
+ }
+ var w = wNative;
+ var h = hNative;
+ if (Module["forcedAspectRatio"] && Module["forcedAspectRatio"] > 0) {
+ if (w / h < Module["forcedAspectRatio"]) {
+ w = Math.round(h * Module["forcedAspectRatio"]);
+ } else {
+ h = Math.round(w / Module["forcedAspectRatio"]);
+ }
+ }
+ if ((document["fullscreenElement"] || document["mozFullScreenElement"] || document["msFullscreenElement"] || document["webkitFullscreenElement"] || document["webkitCurrentFullScreenElement"]) === canvas.parentNode && typeof screen != "undefined") {
+ var factor = Math.min(screen.width / w, screen.height / h);
+ w = Math.round(w * factor);
+ h = Math.round(h * factor);
+ }
+ if (Browser.resizeCanvas) {
+ if (canvas.width != w) canvas.width = w;
+ if (canvas.height != h) canvas.height = h;
+ if (typeof canvas.style != "undefined") {
+ canvas.style.removeProperty("width");
+ canvas.style.removeProperty("height");
+ }
+ } else {
+ if (canvas.width != wNative) canvas.width = wNative;
+ if (canvas.height != hNative) canvas.height = hNative;
+ if (typeof canvas.style != "undefined") {
+ if (w != wNative || h != hNative) {
+ canvas.style.setProperty("width", w + "px", "important");
+ canvas.style.setProperty("height", h + "px", "important");
+ } else {
+ canvas.style.removeProperty("width");
+ canvas.style.removeProperty("height");
+ }
+ }
+ }
+ },
+ wgetRequests: {},
+ nextWgetRequestHandle: 0,
+ getNextWgetRequestHandle: function() {
+ var handle = Browser.nextWgetRequestHandle;
+ Browser.nextWgetRequestHandle++;
+ return handle;
+ }
+};
+
+function _SDL_GetTicks() {
+ return Date.now() - SDL.startTime | 0;
+}
+
+function _SDL_LockSurface(surf) {
+ var surfData = SDL.surfaces[surf];
+ surfData.locked++;
+ if (surfData.locked > 1) return 0;
+ if (!surfData.buffer) {
+ surfData.buffer = _malloc(surfData.width * surfData.height * 4);
+ HEAP32[surf + 20 >> 2] = surfData.buffer;
+ }
+ HEAP32[surf + 20 >> 2] = surfData.buffer;
+ if (surf == SDL.screen && Module.screenIsReadOnly && surfData.image) return 0;
+ if (SDL.defaults.discardOnLock) {
+ if (!surfData.image) {
+ surfData.image = surfData.ctx.createImageData(surfData.width, surfData.height);
+ }
+ if (!SDL.defaults.opaqueFrontBuffer) return;
+ } else {
+ surfData.image = surfData.ctx.getImageData(0, 0, surfData.width, surfData.height);
+ }
+ if (surf == SDL.screen && SDL.defaults.opaqueFrontBuffer) {
+ var data = surfData.image.data;
+ var num = data.length;
+ for (var i = 0; i < num / 4; i++) {
+ data[i * 4 + 3] = 255;
+ }
+ }
+ if (SDL.defaults.copyOnLock && !SDL.defaults.discardOnLock) {
+ if (surfData.isFlagSet(2097152)) {
+ throw "CopyOnLock is not supported for SDL_LockSurface with SDL_HWPALETTE flag set" + new Error().stack;
+ } else {
+ HEAPU8.set(surfData.image.data, surfData.buffer);
+ }
+ }
+ return 0;
+}
+
+var SDL = {
+ defaults: {
+ width: 320,
+ height: 200,
+ copyOnLock: false,
+ discardOnLock: true,
+ opaqueFrontBuffer: false
+ },
+ version: null,
+ surfaces: {},
+ canvasPool: [],
+ events: [],
+ fonts: [ null ],
+ audios: [ null ],
+ rwops: [ null ],
+ music: {
+ audio: null,
+ volume: 1
+ },
+ mixerFrequency: 22050,
+ mixerFormat: 32784,
+ mixerNumChannels: 2,
+ mixerChunkSize: 1024,
+ channelMinimumNumber: 0,
+ GL: false,
+ glAttributes: {
+ 0: 3,
+ 1: 3,
+ 2: 2,
+ 3: 0,
+ 4: 0,
+ 5: 1,
+ 6: 16,
+ 7: 0,
+ 8: 0,
+ 9: 0,
+ 10: 0,
+ 11: 0,
+ 12: 0,
+ 13: 0,
+ 14: 0,
+ 15: 1,
+ 16: 0,
+ 17: 0,
+ 18: 0
+ },
+ keyboardState: null,
+ keyboardMap: {},
+ canRequestFullscreen: false,
+ isRequestingFullscreen: false,
+ textInput: false,
+ startTime: null,
+ initFlags: 0,
+ buttonState: 0,
+ modState: 0,
+ DOMButtons: [ 0, 0, 0 ],
+ DOMEventToSDLEvent: {},
+ TOUCH_DEFAULT_ID: 0,
+ eventHandler: null,
+ eventHandlerContext: null,
+ eventHandlerTemp: 0,
+ keyCodes: {
+ 16: 1249,
+ 17: 1248,
+ 18: 1250,
+ 20: 1081,
+ 33: 1099,
+ 34: 1102,
+ 35: 1101,
+ 36: 1098,
+ 37: 1104,
+ 38: 1106,
+ 39: 1103,
+ 40: 1105,
+ 44: 316,
+ 45: 1097,
+ 46: 127,
+ 91: 1251,
+ 93: 1125,
+ 96: 1122,
+ 97: 1113,
+ 98: 1114,
+ 99: 1115,
+ 100: 1116,
+ 101: 1117,
+ 102: 1118,
+ 103: 1119,
+ 104: 1120,
+ 105: 1121,
+ 106: 1109,
+ 107: 1111,
+ 109: 1110,
+ 110: 1123,
+ 111: 1108,
+ 112: 1082,
+ 113: 1083,
+ 114: 1084,
+ 115: 1085,
+ 116: 1086,
+ 117: 1087,
+ 118: 1088,
+ 119: 1089,
+ 120: 1090,
+ 121: 1091,
+ 122: 1092,
+ 123: 1093,
+ 124: 1128,
+ 125: 1129,
+ 126: 1130,
+ 127: 1131,
+ 128: 1132,
+ 129: 1133,
+ 130: 1134,
+ 131: 1135,
+ 132: 1136,
+ 133: 1137,
+ 134: 1138,
+ 135: 1139,
+ 144: 1107,
+ 160: 94,
+ 161: 33,
+ 162: 34,
+ 163: 35,
+ 164: 36,
+ 165: 37,
+ 166: 38,
+ 167: 95,
+ 168: 40,
+ 169: 41,
+ 170: 42,
+ 171: 43,
+ 172: 124,
+ 173: 45,
+ 174: 123,
+ 175: 125,
+ 176: 126,
+ 181: 127,
+ 182: 129,
+ 183: 128,
+ 188: 44,
+ 190: 46,
+ 191: 47,
+ 192: 96,
+ 219: 91,
+ 220: 92,
+ 221: 93,
+ 222: 39,
+ 224: 1251
+ },
+ scanCodes: {
+ 8: 42,
+ 9: 43,
+ 13: 40,
+ 27: 41,
+ 32: 44,
+ 35: 204,
+ 39: 53,
+ 44: 54,
+ 46: 55,
+ 47: 56,
+ 48: 39,
+ 49: 30,
+ 50: 31,
+ 51: 32,
+ 52: 33,
+ 53: 34,
+ 54: 35,
+ 55: 36,
+ 56: 37,
+ 57: 38,
+ 58: 203,
+ 59: 51,
+ 61: 46,
+ 91: 47,
+ 92: 49,
+ 93: 48,
+ 96: 52,
+ 97: 4,
+ 98: 5,
+ 99: 6,
+ 100: 7,
+ 101: 8,
+ 102: 9,
+ 103: 10,
+ 104: 11,
+ 105: 12,
+ 106: 13,
+ 107: 14,
+ 108: 15,
+ 109: 16,
+ 110: 17,
+ 111: 18,
+ 112: 19,
+ 113: 20,
+ 114: 21,
+ 115: 22,
+ 116: 23,
+ 117: 24,
+ 118: 25,
+ 119: 26,
+ 120: 27,
+ 121: 28,
+ 122: 29,
+ 127: 76,
+ 305: 224,
+ 308: 226,
+ 316: 70
+ },
+ loadRect: function(rect) {
+ return {
+ x: HEAP32[rect + 0 >> 2],
+ y: HEAP32[rect + 4 >> 2],
+ w: HEAP32[rect + 8 >> 2],
+ h: HEAP32[rect + 12 >> 2]
+ };
+ },
+ updateRect: function(rect, r) {
+ HEAP32[rect >> 2] = r.x;
+ HEAP32[rect + 4 >> 2] = r.y;
+ HEAP32[rect + 8 >> 2] = r.w;
+ HEAP32[rect + 12 >> 2] = r.h;
+ },
+ intersectionOfRects: function(first, second) {
+ var leftX = Math.max(first.x, second.x);
+ var leftY = Math.max(first.y, second.y);
+ var rightX = Math.min(first.x + first.w, second.x + second.w);
+ var rightY = Math.min(first.y + first.h, second.y + second.h);
+ return {
+ x: leftX,
+ y: leftY,
+ w: Math.max(leftX, rightX) - leftX,
+ h: Math.max(leftY, rightY) - leftY
+ };
+ },
+ checkPixelFormat: function(fmt) {},
+ loadColorToCSSRGB: function(color) {
+ var rgba = HEAP32[color >> 2];
+ return "rgb(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + ")";
+ },
+ loadColorToCSSRGBA: function(color) {
+ var rgba = HEAP32[color >> 2];
+ return "rgba(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + "," + (rgba >> 24 & 255) / 255 + ")";
+ },
+ translateColorToCSSRGBA: function(rgba) {
+ return "rgba(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + "," + (rgba >>> 24) / 255 + ")";
+ },
+ translateRGBAToCSSRGBA: function(r, g, b, a) {
+ return "rgba(" + (r & 255) + "," + (g & 255) + "," + (b & 255) + "," + (a & 255) / 255 + ")";
+ },
+ translateRGBAToColor: function(r, g, b, a) {
+ return r | g << 8 | b << 16 | a << 24;
+ },
+ makeSurface: function(width, height, flags, usePageCanvas, source, rmask, gmask, bmask, amask) {
+ flags = flags || 0;
+ var is_SDL_HWSURFACE = flags & 1;
+ var is_SDL_HWPALETTE = flags & 2097152;
+ var is_SDL_OPENGL = flags & 67108864;
+ var surf = _malloc(60);
+ var pixelFormat = _malloc(44);
+ var bpp = is_SDL_HWPALETTE ? 1 : 4;
+ var buffer = 0;
+ if (!is_SDL_HWSURFACE && !is_SDL_OPENGL) {
+ buffer = _malloc(width * height * 4);
+ }
+ HEAP32[surf >> 2] = flags;
+ HEAP32[surf + 4 >> 2] = pixelFormat;
+ HEAP32[surf + 8 >> 2] = width;
+ HEAP32[surf + 12 >> 2] = height;
+ HEAP32[surf + 16 >> 2] = width * bpp;
+ HEAP32[surf + 20 >> 2] = buffer;
+ HEAP32[surf + 36 >> 2] = 0;
+ HEAP32[surf + 40 >> 2] = 0;
+ HEAP32[surf + 44 >> 2] = Module["canvas"].width;
+ HEAP32[surf + 48 >> 2] = Module["canvas"].height;
+ HEAP32[surf + 56 >> 2] = 1;
+ HEAP32[pixelFormat >> 2] = -2042224636;
+ HEAP32[pixelFormat + 4 >> 2] = 0;
+ HEAP8[pixelFormat + 8 >> 0] = bpp * 8;
+ HEAP8[pixelFormat + 9 >> 0] = bpp;
+ HEAP32[pixelFormat + 12 >> 2] = rmask || 255;
+ HEAP32[pixelFormat + 16 >> 2] = gmask || 65280;
+ HEAP32[pixelFormat + 20 >> 2] = bmask || 16711680;
+ HEAP32[pixelFormat + 24 >> 2] = amask || 4278190080;
+ SDL.GL = SDL.GL || is_SDL_OPENGL;
+ var canvas;
+ if (!usePageCanvas) {
+ if (SDL.canvasPool.length > 0) {
+ canvas = SDL.canvasPool.pop();
+ } else {
+ canvas = document.createElement("canvas");
+ }
+ canvas.width = width;
+ canvas.height = height;
+ } else {
+ canvas = Module["canvas"];
+ }
+ var webGLContextAttributes = {
+ antialias: SDL.glAttributes[13] != 0 && SDL.glAttributes[14] > 1,
+ depth: SDL.glAttributes[6] > 0,
+ stencil: SDL.glAttributes[7] > 0,
+ alpha: SDL.glAttributes[3] > 0
+ };
+ var ctx = Browser.createContext(canvas, is_SDL_OPENGL, usePageCanvas, webGLContextAttributes);
+ SDL.surfaces[surf] = {
+ width: width,
+ height: height,
+ canvas: canvas,
+ ctx: ctx,
+ surf: surf,
+ buffer: buffer,
+ pixelFormat: pixelFormat,
+ alpha: 255,
+ flags: flags,
+ locked: 0,
+ usePageCanvas: usePageCanvas,
+ source: source,
+ isFlagSet: function(flag) {
+ return flags & flag;
+ }
+ };
+ return surf;
+ },
+ copyIndexedColorData: function(surfData, rX, rY, rW, rH) {
+ if (!surfData.colors) {
+ return;
+ }
+ var fullWidth = Module["canvas"].width;
+ var fullHeight = Module["canvas"].height;
+ var startX = rX || 0;
+ var startY = rY || 0;
+ var endX = (rW || fullWidth - startX) + startX;
+ var endY = (rH || fullHeight - startY) + startY;
+ var buffer = surfData.buffer;
+ if (!surfData.image.data32) {
+ surfData.image.data32 = new Uint32Array(surfData.image.data.buffer);
+ }
+ var data32 = surfData.image.data32;
+ var colors32 = surfData.colors32;
+ for (var y = startY; y < endY; ++y) {
+ var base = y * fullWidth;
+ for (var x = startX; x < endX; ++x) {
+ data32[base + x] = colors32[HEAPU8[buffer + base + x >> 0]];
+ }
+ }
+ },
+ freeSurface: function(surf) {
+ var refcountPointer = surf + 56;
+ var refcount = HEAP32[refcountPointer >> 2];
+ if (refcount > 1) {
+ HEAP32[refcountPointer >> 2] = refcount - 1;
+ return;
+ }
+ var info = SDL.surfaces[surf];
+ if (!info.usePageCanvas && info.canvas) SDL.canvasPool.push(info.canvas);
+ if (info.buffer) _free(info.buffer);
+ _free(info.pixelFormat);
+ _free(surf);
+ SDL.surfaces[surf] = null;
+ if (surf === SDL.screen) {
+ SDL.screen = null;
+ }
+ },
+ blitSurface: function(src, srcrect, dst, dstrect, scale) {
+ var srcData = SDL.surfaces[src];
+ var dstData = SDL.surfaces[dst];
+ var sr, dr;
+ if (srcrect) {
+ sr = SDL.loadRect(srcrect);
+ } else {
+ sr = {
+ x: 0,
+ y: 0,
+ w: srcData.width,
+ h: srcData.height
+ };
+ }
+ if (dstrect) {
+ dr = SDL.loadRect(dstrect);
+ } else {
+ dr = {
+ x: 0,
+ y: 0,
+ w: srcData.width,
+ h: srcData.height
+ };
+ }
+ if (dstData.clipRect) {
+ var widthScale = !scale || sr.w === 0 ? 1 : sr.w / dr.w;
+ var heightScale = !scale || sr.h === 0 ? 1 : sr.h / dr.h;
+ dr = SDL.intersectionOfRects(dstData.clipRect, dr);
+ sr.w = dr.w * widthScale;
+ sr.h = dr.h * heightScale;
+ if (dstrect) {
+ SDL.updateRect(dstrect, dr);
+ }
+ }
+ var blitw, blith;
+ if (scale) {
+ blitw = dr.w;
+ blith = dr.h;
+ } else {
+ blitw = sr.w;
+ blith = sr.h;
+ }
+ if (sr.w === 0 || sr.h === 0 || blitw === 0 || blith === 0) {
+ return 0;
+ }
+ var oldAlpha = dstData.ctx.globalAlpha;
+ dstData.ctx.globalAlpha = srcData.alpha / 255;
+ dstData.ctx.drawImage(srcData.canvas, sr.x, sr.y, sr.w, sr.h, dr.x, dr.y, blitw, blith);
+ dstData.ctx.globalAlpha = oldAlpha;
+ if (dst != SDL.screen) {
+ warnOnce("WARNING: copying canvas data to memory for compatibility");
+ _SDL_LockSurface(dst);
+ dstData.locked--;
+ }
+ return 0;
+ },
+ downFingers: {},
+ savedKeydown: null,
+ receiveEvent: function(event) {
+ function unpressAllPressedKeys() {
+ for (var code in SDL.keyboardMap) {
+ SDL.events.push({
+ type: "keyup",
+ keyCode: SDL.keyboardMap[code]
+ });
+ }
+ }
+ switch (event.type) {
+ case "touchstart":
+ case "touchmove":
+ {
+ event.preventDefault();
+ var touches = [];
+ if (event.type === "touchstart") {
+ for (var i = 0; i < event.touches.length; i++) {
+ var touch = event.touches[i];
+ if (SDL.downFingers[touch.identifier] != true) {
+ SDL.downFingers[touch.identifier] = true;
+ touches.push(touch);
+ }
+ }
+ } else {
+ touches = event.touches;
+ }
+ var firstTouch = touches[0];
+ if (firstTouch) {
+ if (event.type == "touchstart") {
+ SDL.DOMButtons[0] = 1;
+ }
+ var mouseEventType;
+ switch (event.type) {
+ case "touchstart":
+ mouseEventType = "mousedown";
+ break;
+
+ case "touchmove":
+ mouseEventType = "mousemove";
+ break;
+ }
+ var mouseEvent = {
+ type: mouseEventType,
+ button: 0,
+ pageX: firstTouch.clientX,
+ pageY: firstTouch.clientY
+ };
+ SDL.events.push(mouseEvent);
+ }
+ for (var i = 0; i < touches.length; i++) {
+ var touch = touches[i];
+ SDL.events.push({
+ type: event.type,
+ touch: touch
+ });
+ }
+ break;
+ }
+
+ case "touchend":
+ {
+ event.preventDefault();
+ for (var i = 0; i < event.changedTouches.length; i++) {
+ var touch = event.changedTouches[i];
+ if (SDL.downFingers[touch.identifier] === true) {
+ delete SDL.downFingers[touch.identifier];
+ }
+ }
+ var mouseEvent = {
+ type: "mouseup",
+ button: 0,
+ pageX: event.changedTouches[0].clientX,
+ pageY: event.changedTouches[0].clientY
+ };
+ SDL.DOMButtons[0] = 0;
+ SDL.events.push(mouseEvent);
+ for (var i = 0; i < event.changedTouches.length; i++) {
+ var touch = event.changedTouches[i];
+ SDL.events.push({
+ type: "touchend",
+ touch: touch
+ });
+ }
+ break;
+ }
+
+ case "DOMMouseScroll":
+ case "mousewheel":
+ case "wheel":
+ var delta = -Browser.getMouseWheelDelta(event);
+ delta = delta == 0 ? 0 : delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1);
+ var button = delta > 0 ? 3 : 4;
+ SDL.events.push({
+ type: "mousedown",
+ button: button,
+ pageX: event.pageX,
+ pageY: event.pageY
+ });
+ SDL.events.push({
+ type: "mouseup",
+ button: button,
+ pageX: event.pageX,
+ pageY: event.pageY
+ });
+ SDL.events.push({
+ type: "wheel",
+ deltaX: 0,
+ deltaY: delta
+ });
+ event.preventDefault();
+ break;
+
+ case "mousemove":
+ if (SDL.DOMButtons[0] === 1) {
+ SDL.events.push({
+ type: "touchmove",
+ touch: {
+ identifier: 0,
+ deviceID: -1,
+ pageX: event.pageX,
+ pageY: event.pageY
+ }
+ });
+ }
+ if (Browser.pointerLock) {
+ if ("mozMovementX" in event) {
+ event["movementX"] = event["mozMovementX"];
+ event["movementY"] = event["mozMovementY"];
+ }
+ if (event["movementX"] == 0 && event["movementY"] == 0) {
+ event.preventDefault();
+ return;
+ }
+ }
+
+ case "keydown":
+ case "keyup":
+ case "keypress":
+ case "mousedown":
+ case "mouseup":
+ if (event.type !== "keydown" || !SDL.unicode && !SDL.textInput || (event.keyCode === 8 || event.keyCode === 9)) {}
+ if (event.type == "mousedown") {
+ SDL.DOMButtons[event.button] = 1;
+ SDL.events.push({
+ type: "touchstart",
+ touch: {
+ identifier: 0,
+ deviceID: -1,
+ pageX: event.pageX,
+ pageY: event.pageY
+ }
+ });
+ } else if (event.type == "mouseup") {
+ if (!SDL.DOMButtons[event.button]) {
+ return;
+ }
+ SDL.events.push({
+ type: "touchend",
+ touch: {
+ identifier: 0,
+ deviceID: -1,
+ pageX: event.pageX,
+ pageY: event.pageY
+ }
+ });
+ SDL.DOMButtons[event.button] = 0;
+ }
+ if (event.type === "keydown" || event.type === "mousedown") {
+ SDL.canRequestFullscreen = true;
+ } else if (event.type === "keyup" || event.type === "mouseup") {
+ if (SDL.isRequestingFullscreen) {
+ Module["requestFullscreen"](false, true);
+ SDL.isRequestingFullscreen = false;
+ }
+ SDL.canRequestFullscreen = false;
+ }
+ if (event.type === "keypress" && SDL.savedKeydown) {
+ SDL.savedKeydown.keypressCharCode = event.charCode;
+ SDL.savedKeydown = null;
+ } else if (event.type === "keydown") {
+ SDL.savedKeydown = event;
+ }
+ if (event.type !== "keypress" || SDL.textInput) {
+ SDL.events.push(event);
+ }
+ break;
+
+ case "mouseout":
+ for (var i = 0; i < 3; i++) {
+ if (SDL.DOMButtons[i]) {
+ SDL.events.push({
+ type: "mouseup",
+ button: i,
+ pageX: event.pageX,
+ pageY: event.pageY
+ });
+ SDL.DOMButtons[i] = 0;
+ }
+ }
+ event.preventDefault();
+ break;
+
+ case "focus":
+ SDL.events.push(event);
+ event.preventDefault();
+ break;
+
+ case "blur":
+ SDL.events.push(event);
+ unpressAllPressedKeys();
+ event.preventDefault();
+ break;
+
+ case "visibilitychange":
+ SDL.events.push({
+ type: "visibilitychange",
+ visible: !document.hidden
+ });
+ unpressAllPressedKeys();
+ event.preventDefault();
+ break;
+
+ case "unload":
+ if (Browser.mainLoop.runner) {
+ SDL.events.push(event);
+ Browser.mainLoop.runner();
+ }
+ return;
+
+ case "resize":
+ SDL.events.push(event);
+ if (event.preventDefault) {
+ event.preventDefault();
+ }
+ break;
+ }
+ if (SDL.events.length >= 1e4) {
+ err("SDL event queue full, dropping events");
+ SDL.events = SDL.events.slice(0, 1e4);
+ }
+ SDL.flushEventsToHandler();
+ return;
+ },
+ lookupKeyCodeForEvent: function(event) {
+ var code = event.keyCode;
+ if (code >= 65 && code <= 90) {
+ code += 32;
+ } else {
+ code = SDL.keyCodes[event.keyCode] || event.keyCode;
+ if (event.location === KeyboardEvent.DOM_KEY_LOCATION_RIGHT && code >= (224 | 1 << 10) && code <= (227 | 1 << 10)) {
+ code += 4;
+ }
+ }
+ return code;
+ },
+ handleEvent: function(event) {
+ if (event.handled) return;
+ event.handled = true;
+ switch (event.type) {
+ case "touchstart":
+ case "touchend":
+ case "touchmove":
+ {
+ Browser.calculateMouseEvent(event);
+ break;
+ }
+
+ case "keydown":
+ case "keyup":
+ {
+ var down = event.type === "keydown";
+ var code = SDL.lookupKeyCodeForEvent(event);
+ HEAP8[SDL.keyboardState + code >> 0] = down;
+ SDL.modState = (HEAP8[SDL.keyboardState + 1248 >> 0] ? 64 : 0) | (HEAP8[SDL.keyboardState + 1249 >> 0] ? 1 : 0) | (HEAP8[SDL.keyboardState + 1250 >> 0] ? 256 : 0) | (HEAP8[SDL.keyboardState + 1252 >> 0] ? 128 : 0) | (HEAP8[SDL.keyboardState + 1253 >> 0] ? 2 : 0) | (HEAP8[SDL.keyboardState + 1254 >> 0] ? 512 : 0);
+ if (down) {
+ SDL.keyboardMap[code] = event.keyCode;
+ } else {
+ delete SDL.keyboardMap[code];
+ }
+ break;
+ }
+
+ case "mousedown":
+ case "mouseup":
+ if (event.type == "mousedown") {
+ SDL.buttonState |= 1 << event.button;
+ } else if (event.type == "mouseup") {
+ SDL.buttonState &= ~(1 << event.button);
+ }
+
+ case "mousemove":
+ {
+ Browser.calculateMouseEvent(event);
+ break;
+ }
+ }
+ },
+ flushEventsToHandler: function() {
+ if (!SDL.eventHandler) return;
+ while (SDL.pollEvent(SDL.eventHandlerTemp)) {
+ Module["dynCall_iii"](SDL.eventHandler, SDL.eventHandlerContext, SDL.eventHandlerTemp);
+ }
+ },
+ pollEvent: function(ptr) {
+ if (SDL.initFlags & 512 && SDL.joystickEventState) {
+ SDL.queryJoysticks();
+ }
+ if (ptr) {
+ while (SDL.events.length > 0) {
+ if (SDL.makeCEvent(SDL.events.shift(), ptr) !== false) return 1;
+ }
+ return 0;
+ } else {
+ return SDL.events.length > 0;
+ }
+ },
+ makeCEvent: function(event, ptr) {
+ if (typeof event === "number") {
+ _memcpy(ptr, event, 28);
+ _free(event);
+ return;
+ }
+ SDL.handleEvent(event);
+ switch (event.type) {
+ case "keydown":
+ case "keyup":
+ {
+ var down = event.type === "keydown";
+ var key = SDL.lookupKeyCodeForEvent(event);
+ var scan;
+ if (key >= 1024) {
+ scan = key - 1024;
+ } else {
+ scan = SDL.scanCodes[key] || key;
+ }
+ HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
+ HEAP8[ptr + 8 >> 0] = down ? 1 : 0;
+ HEAP8[ptr + 9 >> 0] = 0;
+ HEAP32[ptr + 12 >> 2] = scan;
+ HEAP32[ptr + 16 >> 2] = key;
+ HEAP16[ptr + 20 >> 1] = SDL.modState;
+ HEAP32[ptr + 24 >> 2] = event.keypressCharCode || key;
+ break;
+ }
+
+ case "keypress":
+ {
+ HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
+ var cStr = intArrayFromString(String.fromCharCode(event.charCode));
+ for (var i = 0; i < cStr.length; ++i) {
+ HEAP8[ptr + (8 + i) >> 0] = cStr[i];
+ }
+ break;
+ }
+
+ case "mousedown":
+ case "mouseup":
+ case "mousemove":
+ {
+ if (event.type != "mousemove") {
+ var down = event.type === "mousedown";
+ HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
+ HEAP32[ptr + 4 >> 2] = 0;
+ HEAP32[ptr + 8 >> 2] = 0;
+ HEAP32[ptr + 12 >> 2] = 0;
+ HEAP8[ptr + 16 >> 0] = event.button + 1;
+ HEAP8[ptr + 17 >> 0] = down ? 1 : 0;
+ HEAP32[ptr + 20 >> 2] = Browser.mouseX;
+ HEAP32[ptr + 24 >> 2] = Browser.mouseY;
+ } else {
+ HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
+ HEAP32[ptr + 4 >> 2] = 0;
+ HEAP32[ptr + 8 >> 2] = 0;
+ HEAP32[ptr + 12 >> 2] = 0;
+ HEAP32[ptr + 16 >> 2] = SDL.buttonState;
+ HEAP32[ptr + 20 >> 2] = Browser.mouseX;
+ HEAP32[ptr + 24 >> 2] = Browser.mouseY;
+ HEAP32[ptr + 28 >> 2] = Browser.mouseMovementX;
+ HEAP32[ptr + 32 >> 2] = Browser.mouseMovementY;
+ }
+ break;
+ }
+
+ case "wheel":
+ {
+ HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
+ HEAP32[ptr + 16 >> 2] = event.deltaX;
+ HEAP32[ptr + 20 >> 2] = event.deltaY;
+ break;
+ }
+
+ case "touchstart":
+ case "touchend":
+ case "touchmove":
+ {
+ var touch = event.touch;
+ if (!Browser.touches[touch.identifier]) break;
+ var w = Module["canvas"].width;
+ var h = Module["canvas"].height;
+ var x = Browser.touches[touch.identifier].x / w;
+ var y = Browser.touches[touch.identifier].y / h;
+ var lx = Browser.lastTouches[touch.identifier].x / w;
+ var ly = Browser.lastTouches[touch.identifier].y / h;
+ var dx = x - lx;
+ var dy = y - ly;
+ if (touch["deviceID"] === undefined) touch.deviceID = SDL.TOUCH_DEFAULT_ID;
+ if (dx === 0 && dy === 0 && event.type === "touchmove") return false;
+ HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
+ HEAP32[ptr + 4 >> 2] = _SDL_GetTicks();
+ tempI64 = [ touch.deviceID >>> 0, (tempDouble = touch.deviceID, +Math_abs(tempDouble) >= +1 ? tempDouble > +0 ? (Math_min(+Math_floor(tempDouble / +4294967296), +4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / +4294967296) >>> 0 : 0) ],
+ HEAP32[ptr + 8 >> 2] = tempI64[0], HEAP32[ptr + 12 >> 2] = tempI64[1];
+ tempI64 = [ touch.identifier >>> 0, (tempDouble = touch.identifier, +Math_abs(tempDouble) >= +1 ? tempDouble > +0 ? (Math_min(+Math_floor(tempDouble / +4294967296), +4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / +4294967296) >>> 0 : 0) ],
+ HEAP32[ptr + 16 >> 2] = tempI64[0], HEAP32[ptr + 20 >> 2] = tempI64[1];
+ HEAPF32[ptr + 24 >> 2] = x;
+ HEAPF32[ptr + 28 >> 2] = y;
+ HEAPF32[ptr + 32 >> 2] = dx;
+ HEAPF32[ptr + 36 >> 2] = dy;
+ if (touch.force !== undefined) {
+ HEAPF32[ptr + 40 >> 2] = touch.force;
+ } else {
+ HEAPF32[ptr + 40 >> 2] = event.type == "touchend" ? 0 : 1;
+ }
+ break;
+ }
+
+ case "unload":
+ {
+ HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
+ break;
+ }
+
+ case "resize":
+ {
+ HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
+ HEAP32[ptr + 4 >> 2] = event.w;
+ HEAP32[ptr + 8 >> 2] = event.h;
+ break;
+ }
+
+ case "joystick_button_up":
+ case "joystick_button_down":
+ {
+ var state = event.type === "joystick_button_up" ? 0 : 1;
+ HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
+ HEAP8[ptr + 4 >> 0] = event.index;
+ HEAP8[ptr + 5 >> 0] = event.button;
+ HEAP8[ptr + 6 >> 0] = state;
+ break;
+ }
+
+ case "joystick_axis_motion":
+ {
+ HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
+ HEAP8[ptr + 4 >> 0] = event.index;
+ HEAP8[ptr + 5 >> 0] = event.axis;
+ HEAP32[ptr + 8 >> 2] = SDL.joystickAxisValueConversion(event.value);
+ break;
+ }
+
+ case "focus":
+ {
+ var SDL_WINDOWEVENT_FOCUS_GAINED = 12;
+ HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
+ HEAP32[ptr + 4 >> 2] = 0;
+ HEAP8[ptr + 8 >> 0] = SDL_WINDOWEVENT_FOCUS_GAINED;
+ break;
+ }
+
+ case "blur":
+ {
+ var SDL_WINDOWEVENT_FOCUS_LOST = 13;
+ HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
+ HEAP32[ptr + 4 >> 2] = 0;
+ HEAP8[ptr + 8 >> 0] = SDL_WINDOWEVENT_FOCUS_LOST;
+ break;
+ }
+
+ case "visibilitychange":
+ {
+ var SDL_WINDOWEVENT_SHOWN = 1;
+ var SDL_WINDOWEVENT_HIDDEN = 2;
+ var visibilityEventID = event.visible ? SDL_WINDOWEVENT_SHOWN : SDL_WINDOWEVENT_HIDDEN;
+ HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
+ HEAP32[ptr + 4 >> 2] = 0;
+ HEAP8[ptr + 8 >> 0] = visibilityEventID;
+ break;
+ }
+
+ default:
+ throw "Unhandled SDL event: " + event.type;
+ }
+ },
+ makeFontString: function(height, fontName) {
+ if (fontName.charAt(0) != "'" && fontName.charAt(0) != '"') {
+ fontName = '"' + fontName + '"';
+ }
+ return height + "px " + fontName + ", serif";
+ },
+ estimateTextWidth: function(fontData, text) {
+ var h = fontData.size;
+ var fontString = SDL.makeFontString(h, fontData.name);
+ var tempCtx = SDL.ttfContext;
+ tempCtx.save();
+ tempCtx.font = fontString;
+ var ret = tempCtx.measureText(text).width | 0;
+ tempCtx.restore();
+ return ret;
+ },
+ allocateChannels: function(num) {
+ if (SDL.numChannels && SDL.numChannels >= num && num != 0) return;
+ SDL.numChannels = num;
+ SDL.channels = [];
+ for (var i = 0; i < num; i++) {
+ SDL.channels[i] = {
+ audio: null,
+ volume: 1
+ };
+ }
+ },
+ setGetVolume: function(info, volume) {
+ if (!info) return 0;
+ var ret = info.volume * 128;
+ if (volume != -1) {
+ info.volume = Math.min(Math.max(volume, 0), 128) / 128;
+ if (info.audio) {
+ try {
+ info.audio.volume = info.volume;
+ if (info.audio.webAudioGainNode) info.audio.webAudioGainNode["gain"]["value"] = info.volume;
+ } catch (e) {
+ err("setGetVolume failed to set audio volume: " + e);
+ }
+ }
+ }
+ return ret;
+ },
+ setPannerPosition: function(info, x, y, z) {
+ if (!info) return;
+ if (info.audio) {
+ if (info.audio.webAudioPannerNode) {
+ info.audio.webAudioPannerNode["setPosition"](x, y, z);
+ }
+ }
+ },
+ playWebAudio: function(audio) {
+ if (!audio) return;
+ if (audio.webAudioNode) return;
+ if (!SDL.webAudioAvailable()) return;
+ try {
+ var webAudio = audio.resource.webAudio;
+ audio.paused = false;
+ if (!webAudio.decodedBuffer) {
+ if (webAudio.onDecodeComplete === undefined) abort("Cannot play back audio object that was not loaded");
+ webAudio.onDecodeComplete.push(function() {
+ if (!audio.paused) SDL.playWebAudio(audio);
+ });
+ return;
+ }
+ audio.webAudioNode = SDL.audioContext["createBufferSource"]();
+ audio.webAudioNode["buffer"] = webAudio.decodedBuffer;
+ audio.webAudioNode["loop"] = audio.loop;
+ audio.webAudioNode["onended"] = function() {
+ audio["onended"]();
+ };
+ audio.webAudioPannerNode = SDL.audioContext["createPanner"]();
+ audio.webAudioPannerNode["setPosition"](0, 0, -.5);
+ audio.webAudioPannerNode["panningModel"] = "equalpower";
+ audio.webAudioGainNode = SDL.audioContext["createGain"]();
+ audio.webAudioGainNode["gain"]["value"] = audio.volume;
+ audio.webAudioNode["connect"](audio.webAudioPannerNode);
+ audio.webAudioPannerNode["connect"](audio.webAudioGainNode);
+ audio.webAudioGainNode["connect"](SDL.audioContext["destination"]);
+ audio.webAudioNode["start"](0, audio.currentPosition);
+ audio.startTime = SDL.audioContext["currentTime"] - audio.currentPosition;
+ } catch (e) {
+ err("playWebAudio failed: " + e);
+ }
+ },
+ pauseWebAudio: function(audio) {
+ if (!audio) return;
+ if (audio.webAudioNode) {
+ try {
+ audio.currentPosition = (SDL.audioContext["currentTime"] - audio.startTime) % audio.resource.webAudio.decodedBuffer.duration;
+ audio.webAudioNode["onended"] = undefined;
+ audio.webAudioNode.stop(0);
+ audio.webAudioNode = undefined;
+ } catch (e) {
+ err("pauseWebAudio failed: " + e);
+ }
+ }
+ audio.paused = true;
+ },
+ openAudioContext: function() {
+ if (!SDL.audioContext) {
+ if (typeof AudioContext !== "undefined") SDL.audioContext = new AudioContext(); else if (typeof webkitAudioContext !== "undefined") SDL.audioContext = new webkitAudioContext();
+ }
+ },
+ webAudioAvailable: function() {
+ return !!SDL.audioContext;
+ },
+ fillWebAudioBufferFromHeap: function(heapPtr, sizeSamplesPerChannel, dstAudioBuffer) {
+ var numChannels = SDL.audio.channels;
+ for (var c = 0; c < numChannels; ++c) {
+ var channelData = dstAudioBuffer["getChannelData"](c);
+ if (channelData.length != sizeSamplesPerChannel) {
+ throw "Web Audio output buffer length mismatch! Destination size: " + channelData.length + " samples vs expected " + sizeSamplesPerChannel + " samples!";
+ }
+ if (SDL.audio.format == 32784) {
+ for (var j = 0; j < sizeSamplesPerChannel; ++j) {
+ channelData[j] = HEAP16[heapPtr + (j * numChannels + c) * 2 >> 1] / 32768;
+ }
+ } else if (SDL.audio.format == 8) {
+ for (var j = 0; j < sizeSamplesPerChannel; ++j) {
+ var v = HEAP8[heapPtr + (j * numChannels + c) >> 0];
+ channelData[j] = (v >= 0 ? v - 128 : v + 128) / 128;
+ }
+ } else if (SDL.audio.format == 33056) {
+ for (var j = 0; j < sizeSamplesPerChannel; ++j) {
+ channelData[j] = HEAPF32[heapPtr + (j * numChannels + c) * 4 >> 2];
+ }
+ } else {
+ throw "Invalid SDL audio format " + SDL.audio.format + "!";
+ }
+ }
+ },
+ debugSurface: function(surfData) {
+ console.log("dumping surface " + [ surfData.surf, surfData.source, surfData.width, surfData.height ]);
+ var image = surfData.ctx.getImageData(0, 0, surfData.width, surfData.height);
+ var data = image.data;
+ var num = Math.min(surfData.width, surfData.height);
+ for (var i = 0; i < num; i++) {
+ console.log(" diagonal " + i + ":" + [ data[i * surfData.width * 4 + i * 4 + 0], data[i * surfData.width * 4 + i * 4 + 1], data[i * surfData.width * 4 + i * 4 + 2], data[i * surfData.width * 4 + i * 4 + 3] ]);
+ }
+ },
+ joystickEventState: 1,
+ lastJoystickState: {},
+ joystickNamePool: {},
+ recordJoystickState: function(joystick, state) {
+ var buttons = new Array(state.buttons.length);
+ for (var i = 0; i < state.buttons.length; i++) {
+ buttons[i] = SDL.getJoystickButtonState(state.buttons[i]);
+ }
+ SDL.lastJoystickState[joystick] = {
+ buttons: buttons,
+ axes: state.axes.slice(0),
+ timestamp: state.timestamp,
+ index: state.index,
+ id: state.id
+ };
+ },
+ getJoystickButtonState: function(button) {
+ if (typeof button === "object") {
+ return button["pressed"];
+ } else {
+ return button > 0;
+ }
+ },
+ queryJoysticks: function() {
+ for (var joystick in SDL.lastJoystickState) {
+ var state = SDL.getGamepad(joystick - 1);
+ var prevState = SDL.lastJoystickState[joystick];
+ if (typeof state === "undefined") return;
+ if (state === null) return;
+ if (typeof state.timestamp !== "number" || state.timestamp !== prevState.timestamp || !state.timestamp) {
+ var i;
+ for (i = 0; i < state.buttons.length; i++) {
+ var buttonState = SDL.getJoystickButtonState(state.buttons[i]);
+ if (buttonState !== prevState.buttons[i]) {
+ SDL.events.push({
+ type: buttonState ? "joystick_button_down" : "joystick_button_up",
+ joystick: joystick,
+ index: joystick - 1,
+ button: i
+ });
+ }
+ }
+ for (i = 0; i < state.axes.length; i++) {
+ if (state.axes[i] !== prevState.axes[i]) {
+ SDL.events.push({
+ type: "joystick_axis_motion",
+ joystick: joystick,
+ index: joystick - 1,
+ axis: i,
+ value: state.axes[i]
+ });
+ }
+ }
+ SDL.recordJoystickState(joystick, state);
+ }
+ }
+ },
+ joystickAxisValueConversion: function(value) {
+ value = Math.min(1, Math.max(value, -1));
+ return Math.ceil((value + 1) * 32767.5 - 32768);
+ },
+ getGamepads: function() {
+ var fcn = navigator.getGamepads || navigator.webkitGamepads || navigator.mozGamepads || navigator.gamepads || navigator.webkitGetGamepads;
+ if (fcn !== undefined) {
+ return fcn.apply(navigator);
+ } else {
+ return [];
+ }
+ },
+ getGamepad: function(deviceIndex) {
+ var gamepads = SDL.getGamepads();
+ if (gamepads.length > deviceIndex && deviceIndex >= 0) {
+ return gamepads[deviceIndex];
+ }
+ return null;
+ }
+};
+
+function _SDL_ClearError() {}
+
+function _SDL_GetError() {
+ if (!SDL.errorMessage) {
+ SDL.errorMessage = allocate(intArrayFromString("unknown SDL-emscripten error"), "i8", ALLOC_NORMAL);
+ }
+ return SDL.errorMessage;
+}
+
+function _SDL_GetModState() {
+ return SDL.modState;
+}
+
+function _SDL_GetMouseState(x, y) {
+ if (x) HEAP32[x >> 2] = Browser.mouseX;
+ if (y) HEAP32[y >> 2] = Browser.mouseY;
+ return SDL.buttonState;
+}
+
+function _SDL_GetWindowSize(window, width, height) {
+ var w = Module["canvas"].width;
+ var h = Module["canvas"].height;
+ if (width) HEAP32[width >> 2] = w;
+ if (height) HEAP32[height >> 2] = h;
+}
+
+function _SDL_Init(initFlags) {
+ SDL.startTime = Date.now();
+ SDL.initFlags = initFlags;
+ if (!Module["doNotCaptureKeyboard"]) {
+ var keyboardListeningElement = Module["keyboardListeningElement"] || document;
+ keyboardListeningElement.addEventListener("keydown", SDL.receiveEvent);
+ keyboardListeningElement.addEventListener("keyup", SDL.receiveEvent);
+ keyboardListeningElement.addEventListener("keypress", SDL.receiveEvent);
+ window.addEventListener("focus", SDL.receiveEvent);
+ window.addEventListener("blur", SDL.receiveEvent);
+ document.addEventListener("visibilitychange", SDL.receiveEvent);
+ }
+ window.addEventListener("unload", SDL.receiveEvent);
+ SDL.keyboardState = _malloc(65536);
+ _memset(SDL.keyboardState, 0, 65536);
+ SDL.DOMEventToSDLEvent["keydown"] = 768;
+ SDL.DOMEventToSDLEvent["keyup"] = 769;
+ SDL.DOMEventToSDLEvent["keypress"] = 771;
+ SDL.DOMEventToSDLEvent["mousedown"] = 1025;
+ SDL.DOMEventToSDLEvent["mouseup"] = 1026;
+ SDL.DOMEventToSDLEvent["mousemove"] = 1024;
+ SDL.DOMEventToSDLEvent["wheel"] = 1027;
+ SDL.DOMEventToSDLEvent["touchstart"] = 1792;
+ SDL.DOMEventToSDLEvent["touchend"] = 1793;
+ SDL.DOMEventToSDLEvent["touchmove"] = 1794;
+ SDL.DOMEventToSDLEvent["unload"] = 256;
+ SDL.DOMEventToSDLEvent["resize"] = 28673;
+ SDL.DOMEventToSDLEvent["visibilitychange"] = 512;
+ SDL.DOMEventToSDLEvent["focus"] = 512;
+ SDL.DOMEventToSDLEvent["blur"] = 512;
+ SDL.DOMEventToSDLEvent["joystick_axis_motion"] = 1536;
+ SDL.DOMEventToSDLEvent["joystick_button_down"] = 1539;
+ SDL.DOMEventToSDLEvent["joystick_button_up"] = 1540;
+ return 0;
+}
+
+function _SDL_LockAudio() {}
+
+function _SDL_PollEvent(ptr) {
+ return SDL.pollEvent(ptr);
+}
+
+var GL = {
+ counter: 1,
+ lastError: 0,
+ buffers: [],
+ mappedBuffers: {},
+ programs: [],
+ framebuffers: [],
+ renderbuffers: [],
+ textures: [],
+ uniforms: [],
+ shaders: [],
+ vaos: [],
+ contexts: {},
+ currentContext: null,
+ offscreenCanvases: {},
+ timerQueriesEXT: [],
+ programInfos: {},
+ stringCache: {},
+ unpackAlignment: 4,
+ init: function() {
+ GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);
+ for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) {
+ GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i + 1);
+ }
+ },
+ recordError: function recordError(errorCode) {
+ if (!GL.lastError) {
+ GL.lastError = errorCode;
+ }
+ },
+ getNewId: function(table) {
+ var ret = GL.counter++;
+ for (var i = table.length; i < ret; i++) {
+ table[i] = null;
+ }
+ return ret;
+ },
+ MINI_TEMP_BUFFER_SIZE: 256,
+ miniTempBuffer: null,
+ miniTempBufferViews: [ 0 ],
+ getSource: function(shader, count, string, length) {
+ var source = "";
+ for (var i = 0; i < count; ++i) {
+ var len = length ? HEAP32[length + i * 4 >> 2] : -1;
+ source += UTF8ToString(HEAP32[string + i * 4 >> 2], len < 0 ? undefined : len);
+ }
+ return source;
+ },
+ createContext: function(canvas, webGLContextAttributes) {
+ var ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes);
+ return ctx && GL.registerContext(ctx, webGLContextAttributes);
+ },
+ registerContext: function(ctx, webGLContextAttributes) {
+ var handle = _malloc(8);
+ var context = {
+ handle: handle,
+ attributes: webGLContextAttributes,
+ version: webGLContextAttributes.majorVersion,
+ GLctx: ctx
+ };
+ if (ctx.canvas) ctx.canvas.GLctxObject = context;
+ GL.contexts[handle] = context;
+ if (typeof webGLContextAttributes.enableExtensionsByDefault === "undefined" || webGLContextAttributes.enableExtensionsByDefault) {
+ GL.initExtensions(context);
+ }
+ return handle;
+ },
+ makeContextCurrent: function(contextHandle) {
+ GL.currentContext = GL.contexts[contextHandle];
+ Module.ctx = GLctx = GL.currentContext && GL.currentContext.GLctx;
+ return !(contextHandle && !GLctx);
+ },
+ getContext: function(contextHandle) {
+ return GL.contexts[contextHandle];
+ },
+ deleteContext: function(contextHandle) {
+ if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null;
+ if (typeof JSEvents === "object") JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);
+ if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined;
+ _free(GL.contexts[contextHandle]);
+ GL.contexts[contextHandle] = null;
+ },
+ initExtensions: function(context) {
+ if (!context) context = GL.currentContext;
+ if (context.initExtensionsDone) return;
+ context.initExtensionsDone = true;
+ var GLctx = context.GLctx;
+ if (context.version < 2) {
+ var instancedArraysExt = GLctx.getExtension("ANGLE_instanced_arrays");
+ if (instancedArraysExt) {
+ GLctx["vertexAttribDivisor"] = function(index, divisor) {
+ instancedArraysExt["vertexAttribDivisorANGLE"](index, divisor);
+ };
+ GLctx["drawArraysInstanced"] = function(mode, first, count, primcount) {
+ instancedArraysExt["drawArraysInstancedANGLE"](mode, first, count, primcount);
+ };
+ GLctx["drawElementsInstanced"] = function(mode, count, type, indices, primcount) {
+ instancedArraysExt["drawElementsInstancedANGLE"](mode, count, type, indices, primcount);
+ };
+ }
+ var vaoExt = GLctx.getExtension("OES_vertex_array_object");
+ if (vaoExt) {
+ GLctx["createVertexArray"] = function() {
+ return vaoExt["createVertexArrayOES"]();
+ };
+ GLctx["deleteVertexArray"] = function(vao) {
+ vaoExt["deleteVertexArrayOES"](vao);
+ };
+ GLctx["bindVertexArray"] = function(vao) {
+ vaoExt["bindVertexArrayOES"](vao);
+ };
+ GLctx["isVertexArray"] = function(vao) {
+ return vaoExt["isVertexArrayOES"](vao);
+ };
+ }
+ var drawBuffersExt = GLctx.getExtension("WEBGL_draw_buffers");
+ if (drawBuffersExt) {
+ GLctx["drawBuffers"] = function(n, bufs) {
+ drawBuffersExt["drawBuffersWEBGL"](n, bufs);
+ };
+ }
+ }
+ GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query");
+ var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", "OES_element_index_uint", "EXT_texture_filter_anisotropic", "EXT_frag_depth", "WEBGL_draw_buffers", "ANGLE_instanced_arrays", "OES_texture_float_linear", "OES_texture_half_float_linear", "EXT_blend_minmax", "EXT_shader_texture_lod", "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", "EXT_sRGB", "WEBGL_compressed_texture_etc1", "EXT_disjoint_timer_query", "WEBGL_compressed_texture_etc", "WEBGL_compressed_texture_astc", "EXT_color_buffer_float", "WEBGL_compressed_texture_s3tc_srgb", "EXT_disjoint_timer_query_webgl2" ];
+ var exts = GLctx.getSupportedExtensions();
+ if (exts && exts.length > 0) {
+ GLctx.getSupportedExtensions().forEach(function(ext) {
+ if (automaticallyEnabledExtensions.indexOf(ext) != -1) {
+ GLctx.getExtension(ext);
+ }
+ });
+ }
+ },
+ populateUniformTable: function(program) {
+ var p = GL.programs[program];
+ var ptable = GL.programInfos[program] = {
+ uniforms: {},
+ maxUniformLength: 0,
+ maxAttributeLength: -1,
+ maxUniformBlockNameLength: -1
+ };
+ var utable = ptable.uniforms;
+ var numUniforms = GLctx.getProgramParameter(p, 35718);
+ for (var i = 0; i < numUniforms; ++i) {
+ var u = GLctx.getActiveUniform(p, i);
+ var name = u.name;
+ ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length + 1);
+ var ls = name.lastIndexOf("[");
+ if (ls > 0) {
+ name = name.slice(0, ls);
+ }
+ var loc = GLctx.getUniformLocation(p, name);
+ if (loc) {
+ var id = GL.getNewId(GL.uniforms);
+ utable[name] = [ u.size, id ];
+ GL.uniforms[id] = loc;
+ for (var j = 1; j < u.size; ++j) {
+ var n = name + "[" + j + "]";
+ loc = GLctx.getUniformLocation(p, n);
+ id = GL.getNewId(GL.uniforms);
+ GL.uniforms[id] = loc;
+ }
+ }
+ }
+ }
+};
+
+function _SDL_SetVideoMode(width, height, depth, flags) {
+ [ "touchstart", "touchend", "touchmove", "mousedown", "mouseup", "mousemove", "DOMMouseScroll", "mousewheel", "wheel", "mouseout" ].forEach(function(event) {
+ Module["canvas"].addEventListener(event, SDL.receiveEvent, true);
+ });
+ var canvas = Module["canvas"];
+ if (width == 0 && height == 0) {
+ width = canvas.width;
+ height = canvas.height;
+ }
+ if (!SDL.addedResizeListener) {
+ SDL.addedResizeListener = true;
+ Browser.resizeListeners.push(function(w, h) {
+ if (!SDL.settingVideoMode) {
+ SDL.receiveEvent({
+ type: "resize",
+ w: w,
+ h: h
+ });
+ }
+ });
+ }
+ SDL.settingVideoMode = true;
+ Browser.setCanvasSize(width, height);
+ SDL.settingVideoMode = false;
+ if (SDL.screen) {
+ SDL.freeSurface(SDL.screen);
+ assert(!SDL.screen);
+ }
+ if (SDL.GL) flags = flags | 67108864;
+ SDL.screen = SDL.makeSurface(width, height, flags, true, "screen");
+ return SDL.screen;
+}
+
+function _SDL_UnlockAudio() {}
+
+function _SDL_UnlockSurface(surf) {
+ assert(!SDL.GL);
+ var surfData = SDL.surfaces[surf];
+ if (!surfData.locked || --surfData.locked > 0) {
+ return;
+ }
+ if (surfData.isFlagSet(2097152)) {
+ SDL.copyIndexedColorData(surfData);
+ } else if (!surfData.colors) {
+ var data = surfData.image.data;
+ var buffer = surfData.buffer;
+ assert(buffer % 4 == 0, "Invalid buffer offset: " + buffer);
+ var src = buffer >> 2;
+ var dst = 0;
+ var isScreen = surf == SDL.screen;
+ var num;
+ if (typeof CanvasPixelArray !== "undefined" && data instanceof CanvasPixelArray) {
+ num = data.length;
+ while (dst < num) {
+ var val = HEAP32[src];
+ data[dst] = val & 255;
+ data[dst + 1] = val >> 8 & 255;
+ data[dst + 2] = val >> 16 & 255;
+ data[dst + 3] = isScreen ? 255 : val >> 24 & 255;
+ src++;
+ dst += 4;
+ }
+ } else {
+ var data32 = new Uint32Array(data.buffer);
+ if (isScreen && SDL.defaults.opaqueFrontBuffer) {
+ num = data32.length;
+ data32.set(HEAP32.subarray(src, src + num));
+ var data8 = new Uint8Array(data.buffer);
+ var i = 3;
+ var j = i + 4 * num;
+ if (num % 8 == 0) {
+ while (i < j) {
+ data8[i] = 255;
+ i = i + 4 | 0;
+ data8[i] = 255;
+ i = i + 4 | 0;
+ data8[i] = 255;
+ i = i + 4 | 0;
+ data8[i] = 255;
+ i = i + 4 | 0;
+ data8[i] = 255;
+ i = i + 4 | 0;
+ data8[i] = 255;
+ i = i + 4 | 0;
+ data8[i] = 255;
+ i = i + 4 | 0;
+ data8[i] = 255;
+ i = i + 4 | 0;
+ }
+ } else {
+ while (i < j) {
+ data8[i] = 255;
+ i = i + 4 | 0;
+ }
+ }
+ } else {
+ data32.set(HEAP32.subarray(src, src + data32.length));
+ }
+ }
+ } else {
+ var width = Module["canvas"].width;
+ var height = Module["canvas"].height;
+ var s = surfData.buffer;
+ var data = surfData.image.data;
+ var colors = surfData.colors;
+ for (var y = 0; y < height; y++) {
+ var base = y * width * 4;
+ for (var x = 0; x < width; x++) {
+ var val = HEAPU8[s++ >> 0] * 4;
+ var start = base + x * 4;
+ data[start] = colors[val];
+ data[start + 1] = colors[val + 1];
+ data[start + 2] = colors[val + 2];
+ }
+ s += width * 3;
+ }
+ }
+ surfData.ctx.putImageData(surfData.image, 0, 0);
+}
+
+var ENV = {};
+
+function ___buildEnvironment(environ) {
+ var MAX_ENV_VALUES = 64;
+ var TOTAL_ENV_SIZE = 1024;
+ var poolPtr;
+ var envPtr;
+ if (!___buildEnvironment.called) {
+ ___buildEnvironment.called = true;
+ ENV["USER"] = ENV["LOGNAME"] = "web_user";
+ ENV["PATH"] = "/";
+ ENV["PWD"] = "/";
+ ENV["HOME"] = "/home/web_user";
+ ENV["LANG"] = "C.UTF-8";
+ ENV["_"] = Module["thisProgram"];
+ poolPtr = getMemory(TOTAL_ENV_SIZE);
+ envPtr = getMemory(MAX_ENV_VALUES * 4);
+ HEAP32[envPtr >> 2] = poolPtr;
+ HEAP32[environ >> 2] = envPtr;
+ } else {
+ envPtr = HEAP32[environ >> 2];
+ poolPtr = HEAP32[envPtr >> 2];
+ }
+ var strings = [];
+ var totalSize = 0;
+ for (var key in ENV) {
+ if (typeof ENV[key] === "string") {
+ var line = key + "=" + ENV[key];
+ strings.push(line);
+ totalSize += line.length;
+ }
+ }
+ if (totalSize > TOTAL_ENV_SIZE) {
+ throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");
+ }
+ var ptrSize = 4;
+ for (var i = 0; i < strings.length; i++) {
+ var line = strings[i];
+ writeAsciiToMemory(line, poolPtr);
+ HEAP32[envPtr + i * ptrSize >> 2] = poolPtr;
+ poolPtr += line.length + 1;
+ }
+ HEAP32[envPtr + strings.length * ptrSize >> 2] = 0;
+}
+
+function ___lock() {}
+
+var ERRNO_CODES = {
+ EPERM: 1,
+ ENOENT: 2,
+ ESRCH: 3,
+ EINTR: 4,
+ EIO: 5,
+ ENXIO: 6,
+ E2BIG: 7,
+ ENOEXEC: 8,
+ EBADF: 9,
+ ECHILD: 10,
+ EAGAIN: 11,
+ EWOULDBLOCK: 11,
+ ENOMEM: 12,
+ EACCES: 13,
+ EFAULT: 14,
+ ENOTBLK: 15,
+ EBUSY: 16,
+ EEXIST: 17,
+ EXDEV: 18,
+ ENODEV: 19,
+ ENOTDIR: 20,
+ EISDIR: 21,
+ EINVAL: 22,
+ ENFILE: 23,
+ EMFILE: 24,
+ ENOTTY: 25,
+ ETXTBSY: 26,
+ EFBIG: 27,
+ ENOSPC: 28,
+ ESPIPE: 29,
+ EROFS: 30,
+ EMLINK: 31,
+ EPIPE: 32,
+ EDOM: 33,
+ ERANGE: 34,
+ ENOMSG: 42,
+ EIDRM: 43,
+ ECHRNG: 44,
+ EL2NSYNC: 45,
+ EL3HLT: 46,
+ EL3RST: 47,
+ ELNRNG: 48,
+ EUNATCH: 49,
+ ENOCSI: 50,
+ EL2HLT: 51,
+ EDEADLK: 35,
+ ENOLCK: 37,
+ EBADE: 52,
+ EBADR: 53,
+ EXFULL: 54,
+ ENOANO: 55,
+ EBADRQC: 56,
+ EBADSLT: 57,
+ EDEADLOCK: 35,
+ EBFONT: 59,
+ ENOSTR: 60,
+ ENODATA: 61,
+ ETIME: 62,
+ ENOSR: 63,
+ ENONET: 64,
+ ENOPKG: 65,
+ EREMOTE: 66,
+ ENOLINK: 67,
+ EADV: 68,
+ ESRMNT: 69,
+ ECOMM: 70,
+ EPROTO: 71,
+ EMULTIHOP: 72,
+ EDOTDOT: 73,
+ EBADMSG: 74,
+ ENOTUNIQ: 76,
+ EBADFD: 77,
+ EREMCHG: 78,
+ ELIBACC: 79,
+ ELIBBAD: 80,
+ ELIBSCN: 81,
+ ELIBMAX: 82,
+ ELIBEXEC: 83,
+ ENOSYS: 38,
+ ENOTEMPTY: 39,
+ ENAMETOOLONG: 36,
+ ELOOP: 40,
+ EOPNOTSUPP: 95,
+ EPFNOSUPPORT: 96,
+ ECONNRESET: 104,
+ ENOBUFS: 105,
+ EAFNOSUPPORT: 97,
+ EPROTOTYPE: 91,
+ ENOTSOCK: 88,
+ ENOPROTOOPT: 92,
+ ESHUTDOWN: 108,
+ ECONNREFUSED: 111,
+ EADDRINUSE: 98,
+ ECONNABORTED: 103,
+ ENETUNREACH: 101,
+ ENETDOWN: 100,
+ ETIMEDOUT: 110,
+ EHOSTDOWN: 112,
+ EHOSTUNREACH: 113,
+ EINPROGRESS: 115,
+ EALREADY: 114,
+ EDESTADDRREQ: 89,
+ EMSGSIZE: 90,
+ EPROTONOSUPPORT: 93,
+ ESOCKTNOSUPPORT: 94,
+ EADDRNOTAVAIL: 99,
+ ENETRESET: 102,
+ EISCONN: 106,
+ ENOTCONN: 107,
+ ETOOMANYREFS: 109,
+ EUSERS: 87,
+ EDQUOT: 122,
+ ESTALE: 116,
+ ENOTSUP: 95,
+ ENOMEDIUM: 123,
+ EILSEQ: 84,
+ EOVERFLOW: 75,
+ ECANCELED: 125,
+ ENOTRECOVERABLE: 131,
+ EOWNERDEAD: 130,
+ ESTRPIPE: 86
+};
+
+var SYSCALLS = {
+ DEFAULT_POLLMASK: 5,
+ mappings: {},
+ umask: 511,
+ calculateAt: function(dirfd, path) {
+ if (path[0] !== "/") {
+ var dir;
+ if (dirfd === -100) {
+ dir = FS.cwd();
+ } else {
+ var dirstream = FS.getStream(dirfd);
+ if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ dir = dirstream.path;
+ }
+ path = PATH.join2(dir, path);
+ }
+ return path;
+ },
+ doStat: function(func, path, buf) {
+ try {
+ var stat = func(path);
+ } catch (e) {
+ if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
+ return -ERRNO_CODES.ENOTDIR;
+ }
+ throw e;
+ }
+ HEAP32[buf >> 2] = stat.dev;
+ HEAP32[buf + 4 >> 2] = 0;
+ HEAP32[buf + 8 >> 2] = stat.ino;
+ HEAP32[buf + 12 >> 2] = stat.mode;
+ HEAP32[buf + 16 >> 2] = stat.nlink;
+ HEAP32[buf + 20 >> 2] = stat.uid;
+ HEAP32[buf + 24 >> 2] = stat.gid;
+ HEAP32[buf + 28 >> 2] = stat.rdev;
+ HEAP32[buf + 32 >> 2] = 0;
+ HEAP32[buf + 36 >> 2] = stat.size;
+ HEAP32[buf + 40 >> 2] = 4096;
+ HEAP32[buf + 44 >> 2] = stat.blocks;
+ HEAP32[buf + 48 >> 2] = stat.atime.getTime() / 1e3 | 0;
+ HEAP32[buf + 52 >> 2] = 0;
+ HEAP32[buf + 56 >> 2] = stat.mtime.getTime() / 1e3 | 0;
+ HEAP32[buf + 60 >> 2] = 0;
+ HEAP32[buf + 64 >> 2] = stat.ctime.getTime() / 1e3 | 0;
+ HEAP32[buf + 68 >> 2] = 0;
+ HEAP32[buf + 72 >> 2] = stat.ino;
+ return 0;
+ },
+ doMsync: function(addr, stream, len, flags) {
+ var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len));
+ FS.msync(stream, buffer, 0, len, flags);
+ },
+ doMkdir: function(path, mode) {
+ path = PATH.normalize(path);
+ if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1);
+ FS.mkdir(path, mode, 0);
+ return 0;
+ },
+ doMknod: function(path, mode, dev) {
+ switch (mode & 61440) {
+ case 32768:
+ case 8192:
+ case 24576:
+ case 4096:
+ case 49152:
+ break;
+
+ default:
+ return -ERRNO_CODES.EINVAL;
+ }
+ FS.mknod(path, mode, dev);
+ return 0;
+ },
+ doReadlink: function(path, buf, bufsize) {
+ if (bufsize <= 0) return -ERRNO_CODES.EINVAL;
+ var ret = FS.readlink(path);
+ var len = Math.min(bufsize, lengthBytesUTF8(ret));
+ var endChar = HEAP8[buf + len];
+ stringToUTF8(ret, buf, bufsize + 1);
+ HEAP8[buf + len] = endChar;
+ return len;
+ },
+ doAccess: function(path, amode) {
+ if (amode & ~7) {
+ return -ERRNO_CODES.EINVAL;
+ }
+ var node;
+ var lookup = FS.lookupPath(path, {
+ follow: true
+ });
+ node = lookup.node;
+ var perms = "";
+ if (amode & 4) perms += "r";
+ if (amode & 2) perms += "w";
+ if (amode & 1) perms += "x";
+ if (perms && FS.nodePermissions(node, perms)) {
+ return -ERRNO_CODES.EACCES;
+ }
+ return 0;
+ },
+ doDup: function(path, flags, suggestFD) {
+ var suggest = FS.getStream(suggestFD);
+ if (suggest) FS.close(suggest);
+ return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
+ },
+ doReadv: function(stream, iov, iovcnt, offset) {
+ var ret = 0;
+ for (var i = 0; i < iovcnt; i++) {
+ var ptr = HEAP32[iov + i * 8 >> 2];
+ var len = HEAP32[iov + (i * 8 + 4) >> 2];
+ var curr = FS.read(stream, HEAP8, ptr, len, offset);
+ if (curr < 0) return -1;
+ ret += curr;
+ if (curr < len) break;
+ }
+ return ret;
+ },
+ doWritev: function(stream, iov, iovcnt, offset) {
+ var ret = 0;
+ for (var i = 0; i < iovcnt; i++) {
+ var ptr = HEAP32[iov + i * 8 >> 2];
+ var len = HEAP32[iov + (i * 8 + 4) >> 2];
+ var curr = FS.write(stream, HEAP8, ptr, len, offset);
+ if (curr < 0) return -1;
+ ret += curr;
+ }
+ return ret;
+ },
+ varargs: 0,
+ get: function(varargs) {
+ SYSCALLS.varargs += 4;
+ var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];
+ return ret;
+ },
+ getStr: function() {
+ var ret = UTF8ToString(SYSCALLS.get());
+ return ret;
+ },
+ getStreamFromFD: function() {
+ var stream = FS.getStream(SYSCALLS.get());
+ if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ return stream;
+ },
+ getSocketFromFD: function() {
+ var socket = SOCKFS.getSocket(SYSCALLS.get());
+ if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ return socket;
+ },
+ getSocketAddress: function(allowNull) {
+ var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get();
+ if (allowNull && addrp === 0) return null;
+ var info = __read_sockaddr(addrp, addrlen);
+ if (info.errno) throw new FS.ErrnoError(info.errno);
+ info.addr = DNS.lookup_addr(info.addr) || info.addr;
+ return info;
+ },
+ get64: function() {
+ var low = SYSCALLS.get(), high = SYSCALLS.get();
+ return low;
+ },
+ getZero: function() {
+ SYSCALLS.get();
+ }
+};
+
+function ___syscall140(which, varargs) {
+ SYSCALLS.varargs = varargs;
+ try {
+ var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get();
+ var offset = offset_low;
+ FS.llseek(stream, offset, whence);
+ HEAP32[result >> 2] = stream.position;
+ if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;
+ return 0;
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+
+function ___syscall145(which, varargs) {
+ SYSCALLS.varargs = varargs;
+ try {
+ var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
+ return SYSCALLS.doReadv(stream, iov, iovcnt);
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+
+function ___syscall146(which, varargs) {
+ SYSCALLS.varargs = varargs;
+ try {
+ var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
+ return SYSCALLS.doWritev(stream, iov, iovcnt);
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+
+function ___syscall195(which, varargs) {
+ SYSCALLS.varargs = varargs;
+ try {
+ var path = SYSCALLS.getStr(), buf = SYSCALLS.get();
+ return SYSCALLS.doStat(FS.stat, path, buf);
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+
+function ___syscall220(which, varargs) {
+ SYSCALLS.varargs = varargs;
+ try {
+ var stream = SYSCALLS.getStreamFromFD(), dirp = SYSCALLS.get(), count = SYSCALLS.get();
+ if (!stream.getdents) {
+ stream.getdents = FS.readdir(stream.path);
+ }
+ var pos = 0;
+ while (stream.getdents.length > 0 && pos + 268 <= count) {
+ var id;
+ var type;
+ var name = stream.getdents.pop();
+ if (name[0] === ".") {
+ id = 1;
+ type = 4;
+ } else {
+ var child = FS.lookupNode(stream.node, name);
+ id = child.id;
+ type = FS.isChrdev(child.mode) ? 2 : FS.isDir(child.mode) ? 4 : FS.isLink(child.mode) ? 10 : 8;
+ }
+ HEAP32[dirp + pos >> 2] = id;
+ HEAP32[dirp + pos + 4 >> 2] = stream.position;
+ HEAP16[dirp + pos + 8 >> 1] = 268;
+ HEAP8[dirp + pos + 10 >> 0] = type;
+ stringToUTF8(name, dirp + pos + 11, 256);
+ pos += 268;
+ }
+ return pos;
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+
+function ___syscall221(which, varargs) {
+ SYSCALLS.varargs = varargs;
+ try {
+ var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get();
+ switch (cmd) {
+ case 0:
+ {
+ var arg = SYSCALLS.get();
+ if (arg < 0) {
+ return -ERRNO_CODES.EINVAL;
+ }
+ var newStream;
+ newStream = FS.open(stream.path, stream.flags, 0, arg);
+ return newStream.fd;
+ }
+
+ case 1:
+ case 2:
+ return 0;
+
+ case 3:
+ return stream.flags;
+
+ case 4:
+ {
+ var arg = SYSCALLS.get();
+ stream.flags |= arg;
+ return 0;
+ }
+
+ case 12:
+ {
+ var arg = SYSCALLS.get();
+ var offset = 0;
+ HEAP16[arg + offset >> 1] = 2;
+ return 0;
+ }
+
+ case 13:
+ case 14:
+ return 0;
+
+ case 16:
+ case 8:
+ return -ERRNO_CODES.EINVAL;
+
+ case 9:
+ ___setErrNo(ERRNO_CODES.EINVAL);
+ return -1;
+
+ default:
+ {
+ return -ERRNO_CODES.EINVAL;
+ }
+ }
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+
+function ___syscall5(which, varargs) {
+ SYSCALLS.varargs = varargs;
+ try {
+ var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get();
+ var stream = FS.open(pathname, flags, mode);
+ return stream.fd;
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+
+function ___syscall54(which, varargs) {
+ SYSCALLS.varargs = varargs;
+ try {
+ var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get();
+ switch (op) {
+ case 21509:
+ case 21505:
+ {
+ if (!stream.tty) return -ERRNO_CODES.ENOTTY;
+ return 0;
+ }
+
+ case 21510:
+ case 21511:
+ case 21512:
+ case 21506:
+ case 21507:
+ case 21508:
+ {
+ if (!stream.tty) return -ERRNO_CODES.ENOTTY;
+ return 0;
+ }
+
+ case 21519:
+ {
+ if (!stream.tty) return -ERRNO_CODES.ENOTTY;
+ var argp = SYSCALLS.get();
+ HEAP32[argp >> 2] = 0;
+ return 0;
+ }
+
+ case 21520:
+ {
+ if (!stream.tty) return -ERRNO_CODES.ENOTTY;
+ return -ERRNO_CODES.EINVAL;
+ }
+
+ case 21531:
+ {
+ var argp = SYSCALLS.get();
+ return FS.ioctl(stream, op, argp);
+ }
+
+ case 21523:
+ {
+ if (!stream.tty) return -ERRNO_CODES.ENOTTY;
+ return 0;
+ }
+
+ case 21524:
+ {
+ if (!stream.tty) return -ERRNO_CODES.ENOTTY;
+ return 0;
+ }
+
+ default:
+ abort("bad ioctl syscall " + op);
+ }
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+
+function ___syscall6(which, varargs) {
+ SYSCALLS.varargs = varargs;
+ try {
+ var stream = SYSCALLS.getStreamFromFD();
+ FS.close(stream);
+ return 0;
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+
+function ___unlock() {}
+
+function _abort() {
+ Module["abort"]();
+}
+
+function _emscripten_async_wget_data(url, arg, onload, onerror) {
+ Browser.asyncLoad(UTF8ToString(url), function(byteArray) {
+ var buffer = _malloc(byteArray.length);
+ HEAPU8.set(byteArray, buffer);
+ dynCall_viii(onload, arg, buffer, byteArray.length);
+ _free(buffer);
+ }, function() {
+ if (onerror) dynCall_vi(onerror, arg);
+ }, true);
+}
+
+function _emscripten_get_heap_size() {
+ return TOTAL_MEMORY;
+}
+
+function abortOnCannotGrowMemory(requestedSize) {
+ abort("Cannot enlarge memory arrays to size " + requestedSize + " bytes. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + TOTAL_MEMORY + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ");
+}
+
+function _emscripten_resize_heap(requestedSize) {
+ abortOnCannotGrowMemory(requestedSize);
+}
+
+function _exit(status) {
+ exit(status);
+}
+
+var ___tm_current = 3042576;
+
+var ___tm_timezone = (stringToUTF8("GMT", 3042624, 4), 3042624);
+
+function _gmtime_r(time, tmPtr) {
+ var date = new Date(HEAP32[time >> 2] * 1e3);
+ HEAP32[tmPtr >> 2] = date.getUTCSeconds();
+ HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes();
+ HEAP32[tmPtr + 8 >> 2] = date.getUTCHours();
+ HEAP32[tmPtr + 12 >> 2] = date.getUTCDate();
+ HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth();
+ HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900;
+ HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();
+ HEAP32[tmPtr + 36 >> 2] = 0;
+ HEAP32[tmPtr + 32 >> 2] = 0;
+ var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
+ var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;
+ HEAP32[tmPtr + 28 >> 2] = yday;
+ HEAP32[tmPtr + 40 >> 2] = ___tm_timezone;
+ return tmPtr;
+}
+
+function _gmtime(time) {
+ return _gmtime_r(time, ___tm_current);
+}
+
+function _tzset() {
+ if (_tzset.called) return;
+ _tzset.called = true;
+ HEAP32[__get_timezone() >> 2] = new Date().getTimezoneOffset() * 60;
+ var winter = new Date(2e3, 0, 1);
+ var summer = new Date(2e3, 6, 1);
+ HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset());
+ function extractZone(date) {
+ var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/);
+ return match ? match[1] : "GMT";
+ }
+ var winterName = extractZone(winter);
+ var summerName = extractZone(summer);
+ var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL);
+ var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL);
+ if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) {
+ HEAP32[__get_tzname() >> 2] = winterNamePtr;
+ HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr;
+ } else {
+ HEAP32[__get_tzname() >> 2] = summerNamePtr;
+ HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr;
+ }
+}
+
+function _localtime_r(time, tmPtr) {
+ _tzset();
+ var date = new Date(HEAP32[time >> 2] * 1e3);
+ HEAP32[tmPtr >> 2] = date.getSeconds();
+ HEAP32[tmPtr + 4 >> 2] = date.getMinutes();
+ HEAP32[tmPtr + 8 >> 2] = date.getHours();
+ HEAP32[tmPtr + 12 >> 2] = date.getDate();
+ HEAP32[tmPtr + 16 >> 2] = date.getMonth();
+ HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;
+ HEAP32[tmPtr + 24 >> 2] = date.getDay();
+ var start = new Date(date.getFullYear(), 0, 1);
+ var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0;
+ HEAP32[tmPtr + 28 >> 2] = yday;
+ HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);
+ var summerOffset = new Date(2e3, 6, 1).getTimezoneOffset();
+ var winterOffset = start.getTimezoneOffset();
+ var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;
+ HEAP32[tmPtr + 32 >> 2] = dst;
+ var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2];
+ HEAP32[tmPtr + 40 >> 2] = zonePtr;
+ return tmPtr;
+}
+
+function _localtime(time) {
+ return _localtime_r(time, ___tm_current);
+}
+
+function _longjmp(env, value) {
+ _setThrew(env, value || 1);
+ throw "longjmp";
+}
+
+function _emscripten_memcpy_big(dest, src, num) {
+ HEAPU8.set(HEAPU8.subarray(src, src + num), dest);
+}
+
+function __isLeapYear(year) {
+ return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
+}
+
+function __arraySum(array, index) {
+ var sum = 0;
+ for (var i = 0; i <= index; sum += array[i++]) ;
+ return sum;
+}
+
+var __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
+
+var __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
+
+function __addDays(date, days) {
+ var newDate = new Date(date.getTime());
+ while (days > 0) {
+ var leap = __isLeapYear(newDate.getFullYear());
+ var currentMonth = newDate.getMonth();
+ var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];
+ if (days > daysInCurrentMonth - newDate.getDate()) {
+ days -= daysInCurrentMonth - newDate.getDate() + 1;
+ newDate.setDate(1);
+ if (currentMonth < 11) {
+ newDate.setMonth(currentMonth + 1);
+ } else {
+ newDate.setMonth(0);
+ newDate.setFullYear(newDate.getFullYear() + 1);
+ }
+ } else {
+ newDate.setDate(newDate.getDate() + days);
+ return newDate;
+ }
+ }
+ return newDate;
+}
+
+function _strftime(s, maxsize, format, tm) {
+ var tm_zone = HEAP32[tm + 40 >> 2];
+ var date = {
+ tm_sec: HEAP32[tm >> 2],
+ tm_min: HEAP32[tm + 4 >> 2],
+ tm_hour: HEAP32[tm + 8 >> 2],
+ tm_mday: HEAP32[tm + 12 >> 2],
+ tm_mon: HEAP32[tm + 16 >> 2],
+ tm_year: HEAP32[tm + 20 >> 2],
+ tm_wday: HEAP32[tm + 24 >> 2],
+ tm_yday: HEAP32[tm + 28 >> 2],
+ tm_isdst: HEAP32[tm + 32 >> 2],
+ tm_gmtoff: HEAP32[tm + 36 >> 2],
+ tm_zone: tm_zone ? UTF8ToString(tm_zone) : ""
+ };
+ var pattern = UTF8ToString(format);
+ var EXPANSION_RULES_1 = {
+ "%c": "%a %b %d %H:%M:%S %Y",
+ "%D": "%m/%d/%y",
+ "%F": "%Y-%m-%d",
+ "%h": "%b",
+ "%r": "%I:%M:%S %p",
+ "%R": "%H:%M",
+ "%T": "%H:%M:%S",
+ "%x": "%m/%d/%y",
+ "%X": "%H:%M:%S"
+ };
+ for (var rule in EXPANSION_RULES_1) {
+ pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]);
+ }
+ var WEEKDAYS = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ];
+ var MONTHS = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ];
+ function leadingSomething(value, digits, character) {
+ var str = typeof value === "number" ? value.toString() : value || "";
+ while (str.length < digits) {
+ str = character[0] + str;
+ }
+ return str;
+ }
+ function leadingNulls(value, digits) {
+ return leadingSomething(value, digits, "0");
+ }
+ function compareByDay(date1, date2) {
+ function sgn(value) {
+ return value < 0 ? -1 : value > 0 ? 1 : 0;
+ }
+ var compare;
+ if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {
+ if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) {
+ compare = sgn(date1.getDate() - date2.getDate());
+ }
+ }
+ return compare;
+ }
+ function getFirstWeekStartDate(janFourth) {
+ switch (janFourth.getDay()) {
+ case 0:
+ return new Date(janFourth.getFullYear() - 1, 11, 29);
+
+ case 1:
+ return janFourth;
+
+ case 2:
+ return new Date(janFourth.getFullYear(), 0, 3);
+
+ case 3:
+ return new Date(janFourth.getFullYear(), 0, 2);
+
+ case 4:
+ return new Date(janFourth.getFullYear(), 0, 1);
+
+ case 5:
+ return new Date(janFourth.getFullYear() - 1, 11, 31);
+
+ case 6:
+ return new Date(janFourth.getFullYear() - 1, 11, 30);
+ }
+ }
+ function getWeekBasedYear(date) {
+ var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);
+ var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
+ var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);
+ var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
+ var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
+ if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {
+ if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {
+ return thisDate.getFullYear() + 1;
+ } else {
+ return thisDate.getFullYear();
+ }
+ } else {
+ return thisDate.getFullYear() - 1;
+ }
+ }
+ var EXPANSION_RULES_2 = {
+ "%a": function(date) {
+ return WEEKDAYS[date.tm_wday].substring(0, 3);
+ },
+ "%A": function(date) {
+ return WEEKDAYS[date.tm_wday];
+ },
+ "%b": function(date) {
+ return MONTHS[date.tm_mon].substring(0, 3);
+ },
+ "%B": function(date) {
+ return MONTHS[date.tm_mon];
+ },
+ "%C": function(date) {
+ var year = date.tm_year + 1900;
+ return leadingNulls(year / 100 | 0, 2);
+ },
+ "%d": function(date) {
+ return leadingNulls(date.tm_mday, 2);
+ },
+ "%e": function(date) {
+ return leadingSomething(date.tm_mday, 2, " ");
+ },
+ "%g": function(date) {
+ return getWeekBasedYear(date).toString().substring(2);
+ },
+ "%G": function(date) {
+ return getWeekBasedYear(date);
+ },
+ "%H": function(date) {
+ return leadingNulls(date.tm_hour, 2);
+ },
+ "%I": function(date) {
+ var twelveHour = date.tm_hour;
+ if (twelveHour == 0) twelveHour = 12; else if (twelveHour > 12) twelveHour -= 12;
+ return leadingNulls(twelveHour, 2);
+ },
+ "%j": function(date) {
+ return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);
+ },
+ "%m": function(date) {
+ return leadingNulls(date.tm_mon + 1, 2);
+ },
+ "%M": function(date) {
+ return leadingNulls(date.tm_min, 2);
+ },
+ "%n": function() {
+ return "\n";
+ },
+ "%p": function(date) {
+ if (date.tm_hour >= 0 && date.tm_hour < 12) {
+ return "AM";
+ } else {
+ return "PM";
+ }
+ },
+ "%S": function(date) {
+ return leadingNulls(date.tm_sec, 2);
+ },
+ "%t": function() {
+ return "\t";
+ },
+ "%u": function(date) {
+ var day = new Date(date.tm_year + 1900, date.tm_mon + 1, date.tm_mday, 0, 0, 0, 0);
+ return day.getDay() || 7;
+ },
+ "%U": function(date) {
+ var janFirst = new Date(date.tm_year + 1900, 0, 1);
+ var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay());
+ var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday);
+ if (compareByDay(firstSunday, endDate) < 0) {
+ var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31;
+ var firstSundayUntilEndJanuary = 31 - firstSunday.getDate();
+ var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate();
+ return leadingNulls(Math.ceil(days / 7), 2);
+ }
+ return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00";
+ },
+ "%V": function(date) {
+ var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4);
+ var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4);
+ var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
+ var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
+ var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);
+ if (compareByDay(endDate, firstWeekStartThisYear) < 0) {
+ return "53";
+ }
+ if (compareByDay(firstWeekStartNextYear, endDate) <= 0) {
+ return "01";
+ }
+ var daysDifference;
+ if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) {
+ daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate();
+ } else {
+ daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate();
+ }
+ return leadingNulls(Math.ceil(daysDifference / 7), 2);
+ },
+ "%w": function(date) {
+ var day = new Date(date.tm_year + 1900, date.tm_mon + 1, date.tm_mday, 0, 0, 0, 0);
+ return day.getDay();
+ },
+ "%W": function(date) {
+ var janFirst = new Date(date.tm_year, 0, 1);
+ var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1);
+ var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday);
+ if (compareByDay(firstMonday, endDate) < 0) {
+ var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31;
+ var firstMondayUntilEndJanuary = 31 - firstMonday.getDate();
+ var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate();
+ return leadingNulls(Math.ceil(days / 7), 2);
+ }
+ return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00";
+ },
+ "%y": function(date) {
+ return (date.tm_year + 1900).toString().substring(2);
+ },
+ "%Y": function(date) {
+ return date.tm_year + 1900;
+ },
+ "%z": function(date) {
+ var off = date.tm_gmtoff;
+ var ahead = off >= 0;
+ off = Math.abs(off) / 60;
+ off = off / 60 * 100 + off % 60;
+ return (ahead ? "+" : "-") + String("0000" + off).slice(-4);
+ },
+ "%Z": function(date) {
+ return date.tm_zone;
+ },
+ "%%": function() {
+ return "%";
+ }
+ };
+ for (var rule in EXPANSION_RULES_2) {
+ if (pattern.indexOf(rule) >= 0) {
+ pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date));
+ }
+ }
+ var bytes = intArrayFromString(pattern, false);
+ if (bytes.length > maxsize) {
+ return 0;
+ }
+ writeArrayToMemory(bytes, s);
+ return bytes.length - 1;
+}
+
+function _time(ptr) {
+ var ret = Date.now() / 1e3 | 0;
+ if (ptr) {
+ HEAP32[ptr >> 2] = ret;
+ }
+ return ret;
+}
+
+FS.staticInit();
+
+__ATINIT__.unshift(function() {
+ if (!Module["noFSInit"] && !FS.init.initialized) FS.init();
+});
+
+__ATMAIN__.push(function() {
+ FS.ignorePermissions = false;
+});
+
+__ATEXIT__.push(function() {
+ FS.quit();
+});
+
+Module["FS_createFolder"] = FS.createFolder;
+
+Module["FS_createPath"] = FS.createPath;
+
+Module["FS_createDataFile"] = FS.createDataFile;
+
+Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
+
+Module["FS_createLazyFile"] = FS.createLazyFile;
+
+Module["FS_createLink"] = FS.createLink;
+
+Module["FS_createDevice"] = FS.createDevice;
+
+Module["FS_unlink"] = FS.unlink;
+
+__ATINIT__.unshift(function() {
+ TTY.init();
+});
+
+__ATEXIT__.push(function() {
+ TTY.shutdown();
+});
+
+if (ENVIRONMENT_IS_NODE) {
+ var fs = require("fs");
+ var NODEJS_PATH = require("path");
+ NODEFS.staticInit();
+}
+
+Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) {
+ err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");
+ Module["requestFullScreen"] = Module["requestFullscreen"];
+ Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice);
+};
+
+Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) {
+ Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice);
+};
+
+Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) {
+ Browser.requestAnimationFrame(func);
+};
+
+Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) {
+ Browser.setCanvasSize(width, height, noUpdates);
+};
+
+Module["pauseMainLoop"] = function Module_pauseMainLoop() {
+ Browser.mainLoop.pause();
+};
+
+Module["resumeMainLoop"] = function Module_resumeMainLoop() {
+ Browser.mainLoop.resume();
+};
+
+Module["getUserMedia"] = function Module_getUserMedia() {
+ Browser.getUserMedia();
+};
+
+Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) {
+ return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes);
+};
+
+if (ENVIRONMENT_IS_NODE) {
+ _emscripten_get_now = function _emscripten_get_now_actual() {
+ var t = process["hrtime"]();
+ return t[0] * 1e3 + t[1] / 1e6;
+ };
+} else if (typeof dateNow !== "undefined") {
+ _emscripten_get_now = dateNow;
+} else if (typeof self === "object" && self["performance"] && typeof self["performance"]["now"] === "function") {
+ _emscripten_get_now = function() {
+ return self["performance"]["now"]();
+ };
+} else if (typeof performance === "object" && typeof performance["now"] === "function") {
+ _emscripten_get_now = function() {
+ return performance["now"]();
+ };
+} else {
+ _emscripten_get_now = Date.now;
+}
+
+var GLctx;
+
+GL.init();
+
+var ASSERTIONS = false;
+
+function intArrayFromString(stringy, dontAddNull, length) {
+ var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
+ var u8array = new Array(len);
+ var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
+ if (dontAddNull) u8array.length = numBytesWritten;
+ return u8array;
+}
+
+function intArrayToString(array) {
+ var ret = [];
+ for (var i = 0; i < array.length; i++) {
+ var chr = array[i];
+ if (chr > 255) {
+ if (ASSERTIONS) {
+ assert(false, "Character code " + chr + " (" + String.fromCharCode(chr) + ") at offset " + i + " not in 0x00-0xFF.");
+ }
+ chr &= 255;
+ }
+ ret.push(String.fromCharCode(chr));
+ }
+ return ret.join("");
+}
+
+var decodeBase64 = typeof atob === "function" ? atob : function(input) {
+ var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
+ var output = "";
+ var chr1, chr2, chr3;
+ var enc1, enc2, enc3, enc4;
+ var i = 0;
+ input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
+ do {
+ enc1 = keyStr.indexOf(input.charAt(i++));
+ enc2 = keyStr.indexOf(input.charAt(i++));
+ enc3 = keyStr.indexOf(input.charAt(i++));
+ enc4 = keyStr.indexOf(input.charAt(i++));
+ chr1 = enc1 << 2 | enc2 >> 4;
+ chr2 = (enc2 & 15) << 4 | enc3 >> 2;
+ chr3 = (enc3 & 3) << 6 | enc4;
+ output = output + String.fromCharCode(chr1);
+ if (enc3 !== 64) {
+ output = output + String.fromCharCode(chr2);
+ }
+ if (enc4 !== 64) {
+ output = output + String.fromCharCode(chr3);
+ }
+ } while (i < input.length);
+ return output;
+};
+
+function intArrayFromBase64(s) {
+ if (typeof ENVIRONMENT_IS_NODE === "boolean" && ENVIRONMENT_IS_NODE) {
+ var buf;
+ try {
+ buf = Buffer.from(s, "base64");
+ } catch (_) {
+ buf = new Buffer(s, "base64");
+ }
+ return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
+ }
+ try {
+ var decoded = decodeBase64(s);
+ var bytes = new Uint8Array(decoded.length);
+ for (var i = 0; i < decoded.length; ++i) {
+ bytes[i] = decoded.charCodeAt(i);
+ }
+ return bytes;
+ } catch (_) {
+ throw new Error("Converting base64 string to bytes failed.");
+ }
+}
+
+function tryParseAsDataURI(filename) {
+ if (!isDataURI(filename)) {
+ return;
+ }
+ return intArrayFromBase64(filename.slice(dataURIPrefix.length));
+}
+
+function invoke_vii(index, a1, a2) {
+ var sp = stackSave();
+ try {
+ dynCall_vii(index, a1, a2);
+ } catch (e) {
+ stackRestore(sp);
+ if (e !== e + 0 && e !== "longjmp") throw e;
+ _setThrew(1, 0);
+ }
+}
+
+var asmGlobalArg = {
+ "Math": Math,
+ "Int8Array": Int8Array,
+ "Int16Array": Int16Array,
+ "Int32Array": Int32Array,
+ "Uint8Array": Uint8Array,
+ "Uint16Array": Uint16Array,
+ "Float32Array": Float32Array,
+ "Float64Array": Float64Array,
+ "NaN": NaN,
+ Infinity: Infinity
+};
+
+var asmLibraryArg = {
+ "a": abort,
+ "b": setTempRet0,
+ "c": getTempRet0,
+ "d": invoke_vii,
+ "e": _SDL_ClearError,
+ "f": _SDL_GetError,
+ "g": _SDL_GetModState,
+ "h": _SDL_GetMouseState,
+ "i": _SDL_GetTicks,
+ "j": _SDL_GetWindowSize,
+ "k": _SDL_Init,
+ "l": _SDL_LockAudio,
+ "m": _SDL_LockSurface,
+ "n": _SDL_PollEvent,
+ "o": _SDL_SetVideoMode,
+ "p": _SDL_UnlockAudio,
+ "q": _SDL_UnlockSurface,
+ "r": ___buildEnvironment,
+ "s": ___lock,
+ "t": ___setErrNo,
+ "u": ___syscall140,
+ "v": ___syscall145,
+ "w": ___syscall146,
+ "x": ___syscall195,
+ "y": ___syscall220,
+ "z": ___syscall221,
+ "A": ___syscall5,
+ "B": ___syscall54,
+ "C": ___syscall6,
+ "D": ___unlock,
+ "E": __addDays,
+ "F": __arraySum,
+ "G": __isLeapYear,
+ "H": _abort,
+ "I": _emscripten_asm_const_i,
+ "J": _emscripten_asm_const_ii,
+ "K": _emscripten_asm_const_iii,
+ "L": _emscripten_asm_const_iiiiiii,
+ "M": _emscripten_async_wget_data,
+ "N": _emscripten_get_heap_size,
+ "O": _emscripten_get_now,
+ "P": _emscripten_memcpy_big,
+ "Q": _emscripten_resize_heap,
+ "R": _emscripten_set_main_loop,
+ "S": _emscripten_set_main_loop_timing,
+ "T": _exit,
+ "U": _gmtime,
+ "V": _gmtime_r,
+ "W": _localtime,
+ "X": _localtime_r,
+ "Y": _longjmp,
+ "Z": _strftime,
+ "_": _time,
+ "$": _tzset,
+ "aa": abortOnCannotGrowMemory,
+ "ab": tempDoublePtr,
+ "ac": DYNAMICTOP_PTR
+};
+
+// EMSCRIPTEN_START_ASM
+
+
+var asm = (/** @suppress {uselessCode} */ function(global,env,buffer) {
+"use asm";var a=new global.Int8Array(buffer),b=new global.Int16Array(buffer),c=new global.Int32Array(buffer),d=new global.Uint8Array(buffer),e=new global.Uint16Array(buffer),f=new global.Float32Array(buffer),g=new global.Float64Array(buffer),h=env.ab|0,i=env.ac|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.NaN,s=global.Infinity,t=global.Math.floor,u=global.Math.abs,v=global.Math.sqrt,w=global.Math.cos,x=global.Math.sin,y=global.Math.atan,z=global.Math.atan2,A=global.Math.ceil,B=global.Math.imul,C=global.Math.min,D=global.Math.clz32,E=env.a,F=env.b,G=env.c,H=env.d,I=env.e,J=env.f,K=env.g,L=env.h,M=env.i,N=env.j,O=env.k,P=env.l,Q=env.m,R=env.n,S=env.o,T=env.p,U=env.q,V=env.r,W=env.s,X=env.t,Y=env.u,Z=env.v,_=env.w,$=env.x,aa=env.y,ba=env.z,ca=env.A,da=env.B,ea=env.C,fa=env.D,ga=env.E,ha=env.F,ia=env.G,ja=env.H,ka=env.I,la=env.J,ma=env.K,na=env.L,oa=env.M,pa=env.N,qa=env.O,ra=env.P,sa=env.Q,ta=env.R,ua=env.S,va=env.T,wa=env.U,xa=env.V,ya=env.W,za=env.X,Aa=env.Y,Ba=env.Z,Ca=env._,Da=env.$,Ea=env.aa,Fa=3042736,Ga=8285616,Ha=0.0;
+// EMSCRIPTEN_START_FUNCS
+function zf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=Fa;Fa=Fa+16|0;d=b+8|0;e=b;f=a+16|0;g=c[c[f>>2]>>2]|0;h=g+16|0;i=a+8|0;j=c[i>>2]|0;if(h>>>0>=j>>>0|(h|0)==2099900)k=-1;else k=c[g+20>>2]&15;h=g+8|0;if(!(h>>>0>=j>>>0|(h|0)==2099900)){h=c[g+12>>2]&15;if((h|0)!=5){l=h+1|0;m=6}}else{l=0;m=6}if((m|0)==6){m=c[16+(l<<2)>>2]|0;c[e>>2]=45485;c[e+4>>2]=m;jf(a,1,Dd(a,47715,e)|0)|0}switch(k|0){case 0:case 5:break;default:jf(a,2,48006)|0}if(rf(a,1,47994)|0)kf(a,48028,d)|0;d=c[c[f>>2]>>2]|0;f=c[i>>2]|0;k=d+24|0;if(f>>>0>=k>>>0){c[i>>2]=k;Ld(a,1)|0;Fa=b;return 1}e=(d+20+(3-f)|0)>>>3;d=f;do{c[d+4>>2]=0;d=d+8|0}while(d>>>0<k>>>0);c[i>>2]=f+(e+1<<3);c[i>>2]=k;Ld(a,1)|0;Fa=b;return 1}function Af(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>=g>>>0|(e|0)==2099900){jf(a,1,47735)|0;h=c[c[b>>2]>>2]|0;i=c[f>>2]|0}else{h=d;i=g}g=h+16|0;if(g>>>0>=i>>>0|(g|0)==2099900){jf(a,2,47735)|0;a=c[c[b>>2]>>2]|0;j=a+16|0;k=a;l=c[f>>2]|0}else{j=g;k=h;l=i}i=k+8|0;k=i>>>0<l>>>0?i:2099900;i=j>>>0<l>>>0?j:2099900;if((k|0)!=2099900&(i|0)!=2099900?(c[k+4>>2]|0)==(c[i+4>>2]|0):0){j=(Ec(0,k,i)|0)!=0&1;m=j;n=c[f>>2]|0}else{m=0;n=l}c[n>>2]=m;c[n+4>>2]=1;c[f>>2]=(c[f>>2]|0)+8;return 1}function Bf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(!(e>>>0>=g>>>0|(e|0)==2099900)?(c[d+12>>2]&14|1|0)==5:0){h=e;i=g}else{jf(a,1,48064)|0;h=(c[c[b>>2]>>2]|0)+8|0;i=c[f>>2]|0}b=h>>>0<i>>>0?h:2099900;switch(c[b+4>>2]&15){case 4:{j=c[(c[b>>2]|0)+12>>2]|0;break}case 7:{j=c[(c[b>>2]|0)+16>>2]|0;break}case 5:{j=cd(c[b>>2]|0)|0;break}default:j=0}c[i>>2]=j<<16;c[i+4>>2]=3;c[f>>2]=(c[f>>2]|0)+8;return 1}function Cf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=Fa;Fa=Fa+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;i=c[h>>2]|0;if(!(g>>>0>=i>>>0|(g|0)==2099900)){g=c[f+12>>2]&15;if((g|0)==5){j=f;k=i}else{l=g+1|0;m=4}}else{l=0;m=4}if((m|0)==4){m=c[16+(l<<2)>>2]|0;c[d>>2]=45485;c[d+4>>2]=m;jf(a,1,Dd(a,47715,d)|0)|0;j=c[c[e>>2]>>2]|0;k=c[h>>2]|0}d=j+16|0;if(d>>>0>=k>>>0|(d|0)==2099900){jf(a,2,47735)|0;n=c[c[e>>2]>>2]|0;o=c[h>>2]|0}else{n=j;o=k}k=n+8|0;j=n+24|0;if(o>>>0>=j>>>0){c[h>>2]=j;p=c[k>>2]|0;q=n+16|0;r=xc(p,q)|0;s=c[h>>2]|0;t=s+-8|0;u=c[r>>2]|0;c[t>>2]=u;v=r+4|0;w=c[v>>2]|0;x=s+-4|0;c[x>>2]=w;Fa=b;return 1}e=(n+20+(3-o)|0)>>>3;a=o;do{c[a+4>>2]=0;a=a+8|0}while(a>>>0<j>>>0);c[h>>2]=o+(e+1<<3);c[h>>2]=j;p=c[k>>2]|0;q=n+16|0;r=xc(p,q)|0;s=c[h>>2]|0;t=s+-8|0;u=c[r>>2]|0;c[t>>2]=u;v=r+4|0;w=c[v>>2]|0;x=s+-4|0;c[x>>2]=w;Fa=b;return 1}function Df(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=Fa;Fa=Fa+16|0;e=d;f=b+16|0;g=c[c[f>>2]>>2]|0;h=g+8|0;i=b+8|0;j=c[i>>2]|0;if(!(h>>>0>=j>>>0|(h|0)==2099900)){h=c[g+12>>2]&15;if((h|0)==5){k=g;l=j}else{m=h+1|0;n=4}}else{m=0;n=4}if((n|0)==4){n=c[16+(m<<2)>>2]|0;c[e>>2]=45485;c[e+4>>2]=n;jf(b,1,Dd(b,47715,e)|0)|0;k=c[c[f>>2]>>2]|0;l=c[i>>2]|0}e=k+16|0;if(e>>>0>=l>>>0|(e|0)==2099900){jf(b,2,47735)|0;o=c[c[f>>2]>>2]|0;p=c[i>>2]|0}else{o=k;p=l}l=o+24|0;if(l>>>0>=p>>>0|(l|0)==2099900){jf(b,3,47735)|0;q=c[c[f>>2]>>2]|0;r=c[i>>2]|0}else{q=o;r=p}p=q+8|0;o=q+32|0;if(r>>>0<o>>>0){f=(q+28+(3-r)|0)>>>3;l=r;do{c[l+4>>2]=0;l=l+8|0}while(l>>>0<o>>>0);c[i>>2]=r+(f+1<<3)}c[i>>2]=o;o=c[p>>2]|0;f=q+16|0;r=xc(o,f)|0;if((r|0)==2099900)s=yc(b,o,f)|0;else s=r;c[s>>2]=c[q+24>>2];c[s+4>>2]=c[q+28>>2];a[(c[p>>2]|0)+6>>0]=0;q=c[i>>2]|0;if(!(c[q+-4>>2]&64)){t=q;u=t+-16|0;c[i>>2]=u;Fa=d;return 1}if(!(a[(c[q+-8>>2]|0)+5>>0]&3)){t=q;u=t+-16|0;c[i>>2]=u;Fa=d;return 1}s=c[p>>2]|0;p=s+5|0;r=a[p>>0]|0;if(!(r&4)){t=q;u=t+-16|0;c[i>>2]=u;Fa=d;return 1}q=c[b+12>>2]|0;a[p>>0]=r&-5;r=q+76|0;c[s+24>>2]=c[r>>2];c[r>>2]=s;t=c[i>>2]|0;u=t+-16|0;c[i>>2]=u;Fa=d;return 1}function Ef(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>=g>>>0|(e|0)==2099900){jf(a,1,47735)|0;h=c[c[b>>2]>>2]|0;i=h+8|0;j=c[f>>2]|0;k=h}else{i=e;j=g;k=d}if(i>>>0>=j>>>0|(i|0)==2099900){l=0;m=16+(l<<2)|0;n=c[m>>2]|0;Ad(a,n)|0;return 1}l=(c[k+12>>2]&15)+1|0;m=16+(l<<2)|0;n=c[m>>2]|0;Ad(a,n)|0;return 1}function Ff(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Fa;Fa=Fa+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;i=c[h>>2]|0;if(!(g>>>0>=i>>>0|(g|0)==2099900)){g=c[f+12>>2]&15;if((g|0)==5){j=f;k=i}else{l=g+1|0;m=4}}else{l=0;m=4}if((m|0)==4){m=c[16+(l<<2)>>2]|0;c[d>>2]=45485;c[d+4>>2]=m;jf(a,1,Dd(a,47715,d)|0)|0;j=c[c[e>>2]>>2]|0;k=c[h>>2]|0}e=j+24|0;if(k>>>0<e>>>0){d=(j+20+(3-k)|0)>>>3;j=k;do{c[j+4>>2]=0;j=j+8|0}while(j>>>0<e>>>0);c[h>>2]=k+(d+1<<3)}c[h>>2]=e;if(bf(a,1)|0){n=2;Fa=b;return n|0}a=c[h>>2]|0;c[a+4>>2]=0;c[h>>2]=a+8;n=1;Fa=b;return n|0}function Gf(a){a=a|0;Hf(a,48089,0,4);return 3}function Hf(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=Fa;Fa=Fa+16|0;h=g+8|0;i=g;j=(rf(a,1,d)|0)==0;d=a+16|0;k=c[c[d>>2]>>2]|0;l=k+8|0;m=a+8|0;n=c[m>>2]|0;o=l>>>0<n>>>0;if(j){if(!((l|0)==2099900|o^1)){j=c[k+12>>2]&15;if((j|0)==5)p=n;else{q=j+1|0;r=5}}else{q=0;r=5}if((r|0)==5){r=c[16+(q<<2)>>2]|0;c[i>>2]=45485;c[i+4>>2]=r;jf(a,1,Dd(a,47715,i)|0)|0;p=c[m>>2]|0}c[p>>2]=f;c[p+4>>2]=22;p=c[m>>2]|0;f=p+8|0;c[m>>2]=f;i=c[c[d>>2]>>2]|0;d=i>>>0<p>>>0?i+8|0:2099900;c[f>>2]=c[d>>2];c[p+12>>2]=c[d+4>>2];d=c[m>>2]|0;p=d+8|0;c[m>>2]=p;if(!e){c[d+12>>2]=0;c[m>>2]=d+16;Fa=g;return}else{c[p>>2]=0;c[d+12>>2]=3;c[m>>2]=(c[m>>2]|0)+8;Fa=g;return}}else{d=o?l:2099900;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];d=c[m>>2]|0;c[m>>2]=d+8;m=d+-8|0;d=a+38|0;n=(b[d>>1]|0)+1<<16>>16;b[d>>1]=n;if((n&65535)>199){if(n<<16>>16==200)lc(a,45525,h);if((n&65535)>224)jc(a,6)}n=a+36|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;if(!(pc(a,m,3)|0))qc(a);b[n>>1]=(b[n>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Fa=g;return}}function If(a){a=a|0;Hf(a,48097,1,5);return 3}function Jf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=Fa;Fa=Fa+16|0;e=b;f=of(a,2)|0;g=a+16|0;h=c[c[g>>2]>>2]|0;i=h+8|0;j=a+8|0;k=c[j>>2]|0;if(!(i>>>0>=k>>>0|(i|0)==2099900)){i=c[h+12>>2]&15;if((i|0)==5)l=k;else{m=i+1|0;n=4}}else{m=0;n=4}if((n|0)==4){n=c[16+(m<<2)>>2]|0;c[e>>2]=45485;c[e+4>>2]=n;jf(a,1,Dd(a,47715,e)|0)|0;l=c[j>>2]|0}e=f<<16;a=e+65536|0;c[l>>2]=a;c[l+4>>2]=3;l=c[j>>2]|0;n=l+8|0;c[j>>2]=n;m=c[c[g>>2]>>2]|0;g=c[(m>>>0<l>>>0?m+8|0:2099900)>>2]|0;a:do if(f>>>0<(c[g+28>>2]|0)>>>0)o=(c[g+12>>2]|0)+(f<<3)|0;else{m=-65536-e|0;i=(c[g+16>>2]|0)+(((((a|0)<0?((a|0)==(m|0)?0:m):a)|0)%((1<<(d[g+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[i+12>>2]|0)==3?(c[i+8>>2]|0)==(a|0):0)break;m=c[i+16>>2]|0;if(!m){o=2099900;break a}else i=m}o=i}while(0);c[n>>2]=c[o>>2];c[l+12>>2]=c[o+4>>2];o=c[j>>2]|0;c[j>>2]=o+8;if((o|0)==2099900){Fa=b;return 2}else{Fa=b;return ((c[o+4>>2]&15|0)==0?1:2)|0}return 0}function Kf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=Fa;Fa=Fa+16|0;e=d;f=b+16|0;g=c[c[f>>2]>>2]|0;h=g+8|0;i=b+8|0;j=c[i>>2]|0;k=h>>>0<j>>>0?h:2099900;l=j;switch(c[k+4>>2]|0){case 0:{m=l-h>>3;break}case 1:{n=l-h>>3;if(!(c[k>>2]|0))m=n;else{o=n;Fa=d;return o|0}break}default:{o=l-h>>3;Fa=d;return o|0}}if((m|0)<=1){Wg(3042456);p=nf(b,2,48106,0)|0;c[e>>2]=p;kf(b,46132,e)|0}m=g+16|0;g=m>>>0<j>>>0?m:2099900;if((c[g+4>>2]&15|0)!=4)if(!(ud(b,g)|0))q=0;else{m=c[b+12>>2]|0;j=m+12|0;o=c[j>>2]|0;do if((o|0)>0)if(!(a[m+51>>0]|0)){d=m+8|0;c[d>>2]=o+1600+(c[d>>2]|0);c[j>>2]=-1600;break}else{zc(b);break}while(0);j=(c[c[f>>2]>>2]|0)+16|0;r=j>>>0<(c[i>>2]|0)>>>0?j:2099900;s=13}else{r=g;s=13}if((s|0)==13)q=(c[r>>2]|0)+16|0;Wg(q);p=nf(b,2,48106,0)|0;c[e>>2]=p;kf(b,46132,e)|0;return 0}function Lf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=b+8|0;e=c[d>>2]|0;f=c[c[b+16>>2]>>2]|0;g=f+8|0;h=e-g|0;i=h>>3;j=e;if((!(g>>>0>=j>>>0|(g|0)==2099900)?(c[f+12>>2]&15|0)==4:0)?(a[(c[g>>2]|0)+16>>0]|0)==35:0){c[e>>2]=(h<<13)+-65536;c[j+4>>2]=3;c[d>>2]=(c[d>>2]|0)+8;k=1;return k|0}d=of(b,1)|0;j=(d|0)<0?d+i|0:(d|0)>(i|0)?i:d;if((j|0)<=0)jf(b,1,48124)|0;k=i-j|0;return k|0}function Mf(a){a=a|0;var b=0;b=(c[c[a+16>>2]>>2]|0)+8|0;if(!((b|0)==2099900?1:b>>>0>=(c[a+8>>2]|0)>>>0)){tf(a,1,0)|0;return 1}jf(a,1,47735)|0;tf(a,1,0)|0;return 1}function Nf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=a+16|0;e=(c[c[b>>2]>>2]|0)+8|0;f=a+8|0;g=c[f>>2]|0;h=e>>>0<g>>>0?e:2099900;if((c[h+4>>2]|0)==72?(i=c[h>>2]|0,(i|0)!=0):0){j=e;k=g;l=i}else{jf(a,1,48143)|0;j=(c[c[b>>2]>>2]|0)+8|0;k=c[f>>2]|0;l=0}i=Of(a,l,(k-j>>3)+-1|0)|0;j=c[f>>2]|0;if((i|0)<0){c[j>>2]=0;c[j+4>>2]=1;k=c[f>>2]|0;l=k+8|0;c[f>>2]=l;g=l;do{l=g;g=g+-8|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[l+-4>>2]}while(l>>>0>k>>>0);g=c[f>>2]|0;c[k+-8>>2]=c[g>>2];m=2;n=g;o=k+-4|0;p=n+4|0;q=c[p>>2]|0;c[o>>2]=q;return m|0}c[j>>2]=1;c[j+4>>2]=1;j=(c[f>>2]|0)+8|0;c[f>>2]=j;k=i+1|0;g=c[b>>2]|0;do if((i|0)>1000998){if((i|0)==1000999){r=(c[a+12>>2]|0)+36|0;break}b=c[g>>2]|0;if((c[b+4>>2]|32|0)==54)r=2099900;else{l=c[b>>2]|0;r=(i+-1000999|0)>(d[l+6>>0]|0|0)?2099900:l+16+(i+-1001e3<<3)|0}}else r=j+(~i<<3)|0;while(0);if(j>>>0>r>>>0){i=j;do{g=i;i=i+-8|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[g+-4>>2]}while(i>>>0>r>>>0);s=c[f>>2]|0}else s=j;c[r>>2]=c[s>>2];m=k;n=s;o=r+4|0;p=n+4|0;q=c[p>>2]|0;c[o>>2]=q;return m|0}function Of(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=Fa;Fa=Fa+16|0;g=f;c[g>>2]=e;h=d+16|0;i=c[h>>2]|0;j=d+8|0;k=c[j>>2]|0;do if(((c[d+24>>2]|0)-k>>3|0)>(e|0)){l=k;m=e;n=k}else{if(((k-(c[d+28>>2]|0)>>3)+5|0)<=(1e6-e|0)?(ic(d,2,g)|0)==0:0){o=c[j>>2]|0;l=o;m=c[g>>2]|0;n=o;break}o=c[b+12>>2]|0;p=o+12|0;q=c[p>>2]|0;do if((q|0)>0)if(!(a[o+51>>0]|0)){r=o+8|0;c[r>>2]=q+1600+(c[r>>2]|0);c[p>>2]=-1600;break}else{zc(b);break}while(0);p=Oc(b,48162,37)|0;q=b+8|0;o=c[q>>2]|0;c[o>>2]=p;c[o+4>>2]=(a[p+4>>0]|64)&255;c[q>>2]=(c[q>>2]|0)+8;s=-1;Fa=f;return s|0}while(0);k=i+4|0;i=l+(m<<3)|0;if((c[k>>2]|0)>>>0<i>>>0)c[k>>2]=i;if((a[d+6>>0]|0)==0?(n|0)==((c[c[h>>2]>>2]|0)+8|0):0){n=c[b+12>>2]|0;i=n+12|0;k=c[i>>2]|0;do if((k|0)>0)if(!(a[n+51>>0]|0)){m=n+8|0;c[m>>2]=k+1600+(c[m>>2]|0);c[i>>2]=-1600;break}else{zc(b);break}while(0);i=Oc(b,48200,37)|0;k=b+8|0;n=c[k>>2]|0;c[n>>2]=i;c[n+4>>2]=(a[i+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+8;s=-1;Fa=f;return s|0}k=(b|0)==(d|0);if((!k?(i=b+8|0,n=c[i>>2]|0,m=0-e|0,l=n+(m<<3)|0,c[i>>2]=l,(e|0)>0):0)?(q=c[j>>2]|0,c[j>>2]=q+8,c[q>>2]=c[l>>2],c[q+4>>2]=c[n+(m<<3)+4>>2],(e|0)!=1):0){m=1;do{n=c[i>>2]|0;q=c[j>>2]|0;c[j>>2]=q+8;c[q>>2]=c[n+(m<<3)>>2];c[q+4>>2]=c[n+(m<<3)+4>>2];m=m+1|0}while((m|0)!=(e|0))}if((Pf(d,b,e)|0)>>>0>=2){if(k){s=-1;Fa=f;return s|0}e=c[j>>2]|0;d=e+-8|0;c[j>>2]=d;m=b+8|0;i=c[m>>2]|0;c[m>>2]=i+8;c[i>>2]=c[d>>2];c[i+4>>2]=c[e+-4>>2];s=-1;Fa=f;return s|0}e=(c[j>>2]|0)-((c[c[h>>2]>>2]|0)+8)|0;i=e>>3;d=i+1|0;c[g>>2]=d;m=c[b+16>>2]|0;n=b+8|0;q=c[n>>2]|0;do if(((c[b+24>>2]|0)-q>>3|0)>(d|0)){t=q;u=d}else{if(((q-(c[b+28>>2]|0)>>3)+5|0)<=(999999-i|0)?(ic(b,2,g)|0)==0:0){t=c[n>>2]|0;u=c[g>>2]|0;break}l=~i;if((e|0)<0){p=c[c[h>>2]>>2]|0;o=c[j>>2]|0;r=p+8+(l<<3)|0;if(o>>>0<r>>>0){v=(p+(l<<3)+4+(3-o)|0)>>>3;l=o;do{c[l+4>>2]=0;l=l+8|0}while(l>>>0<r>>>0);c[j>>2]=o+(v+1<<3);w=r}else w=r}else w=(c[j>>2]|0)+(0-i<<3)|0;c[j>>2]=w;l=c[b+12>>2]|0;p=l+12|0;x=c[p>>2]|0;do if((x|0)>0)if(!(a[l+51>>0]|0)){y=l+8|0;c[y>>2]=x+1600+(c[y>>2]|0);c[p>>2]=-1600;break}else{zc(b);break}while(0);p=Oc(b,48238,35)|0;x=c[n>>2]|0;c[x>>2]=p;c[x+4>>2]=(a[p+4>>0]|64)&255;c[n>>2]=(c[n>>2]|0)+8;s=-1;Fa=f;return s|0}while(0);b=m+4|0;m=t+(u<<3)|0;if((c[b>>2]|0)>>>0<m>>>0)c[b>>2]=m;if(k){s=i;Fa=f;return s|0}k=c[j>>2]|0;m=0-i|0;b=k+(m<<3)|0;c[j>>2]=b;if((e|0)<=0){s=i;Fa=f;return s|0}u=c[n>>2]|0;c[n>>2]=u+8;c[u>>2]=c[b>>2];c[u+4>>2]=c[k+(m<<3)+4>>2];if((e|0)==8){s=1;Fa=f;return s|0}e=1;do{m=c[j>>2]|0;k=c[n>>2]|0;c[n>>2]=k+8;c[k>>2]=c[m+(e<<3)>>2];c[k+4>>2]=c[m+(e<<3)+4>>2];e=e+1|0}while((e|0)!=(i|0));s=i;Fa=f;return s|0}function Pf(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=d+36|0;i=b[h>>1]|0;if(!f)j=1;else j=(e[f+38>>1]|0)+1&65535;f=d+38|0;b[f>>1]=j;b[h>>1]=0;j=d+8|0;k=ic(d,6,(c[j>>2]|0)+(0-g<<3)|0)|0;if((k|0)==-1){l=2;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}if(k>>>0<=1){l=k;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}g=d+16|0;o=d+28|0;p=d+41|0;q=d+12|0;r=d+68|0;s=d+32|0;t=k;a:while(1){k=c[g>>2]|0;if(!k)break;u=k;while(1){if(a[u+18>>0]&16)break;k=c[u+8>>2]|0;if(!k)break a;else u=k}k=u+18|0;v=(c[o>>2]|0)+(c[u+20>>2]|0)|0;Dc(d,v);switch(t|0){case 4:{w=c[(c[q>>2]|0)+152>>2]|0;c[v>>2]=w;x=(a[w+4>>0]|64)&255;break}case 6:{w=Oc(d,46185,23)|0;c[v>>2]=w;x=(a[w+4>>0]|64)&255;break}default:{w=c[j>>2]|0;c[v>>2]=c[w+-8>>2];x=c[w+-4>>2]|0}}c[v+4>>2]=x;w=v+8|0;c[j>>2]=w;c[g>>2]=u;a[p>>0]=a[u+36>>0]|0;b[h>>1]=0;v=u;y=w;do{w=c[v+4>>2]|0;y=y>>>0<w>>>0?w:y;v=c[v+8>>2]|0}while((v|0)!=0);v=y-(c[o>>2]|0)|0;w=v>>3;z=w+11+((w+1|0)/8|0)|0;w=(z|0)<1e6?z:1e6;if((v|0)<=7999992?(w|0)<(c[s>>2]|0):0)kc(d,w);c[r>>2]=c[u+32>>2];a[k>>0]=a[k>>0]|32;a[u+37>>0]=t;w=ic(d,7,0)|0;if(w>>>0>1)t=w;else{l=w;A=25;break}}if((A|0)==25){b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}a[d+6>>0]=t;A=c[j>>2]|0;switch(t|0){case 4:{r=c[(c[q>>2]|0)+152>>2]|0;c[A>>2]=r;B=(a[r+4>>0]|64)&255;break}case 6:{r=Oc(d,46185,23)|0;c[A>>2]=r;B=(a[r+4>>0]|64)&255;break}default:{c[A>>2]=c[A+-8>>2];B=c[A+-4>>2]|0}}c[A+4>>2]=B;B=A+8|0;c[j>>2]=B;c[(c[g>>2]|0)+4>>2]=B;l=t;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}function Qf(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=d+16|0;h=c[g>>2]|0;if((e[d+38>>1]|0)>199)Tf(d,45525,f);i=d+6|0;switch(a[i>>0]|0){case 0:{if((h|0)!=(d+72|0))Tf(d,48274,f);if(pc(d,f+-8|0,-1)|0)return;qc(d);return}case 1:{a[i>>0]=0;c[h>>2]=(c[d+28>>2]|0)+(c[h+20>>2]|0);i=h+18|0;j=a[i>>0]|0;if(!(j&1)){k=c[h+28>>2]|0;if(!k){l=f;m=d+8|0;n=h}else{a[h+37>>0]=1;a[i>>0]=j|8;j=Ja[k&255](d)|0;k=d+8|0;l=(c[k>>2]|0)+(0-j<<3)|0;m=k;n=c[g>>2]|0}k=c[n>>2]|0;j=b[n+16>>1]|0;c[g>>2]=c[n+8>>2];a:do if(j<<16>>16){n=k;g=j<<16>>16;i=l;while(1){if(i>>>0>=(c[m>>2]|0)>>>0)break;h=n+8|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];o=g+-1|0;if(!o){p=h;break a}else{n=h;g=o;i=i+8|0}}if((g|0)>0){i=g;o=n;while(1){h=o+8|0;c[o+4>>2]=0;if((i|0)>1){i=i+-1|0;o=h}else{p=h;break}}}else p=n}else p=k;while(0);c[m>>2]=p}else qc(d);Rf(d,0);return}default:Tf(d,48312,f)}}function Rf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=d+16|0;f=c[e>>2]|0;g=d+72|0;if((f|0)==(g|0))return;h=d+68|0;i=d+8|0;j=f;do{f=j+18|0;k=a[f>>0]|0;if(!(k&1)){l=k&255;if(!(l&16))m=k;else{k=l&239;a[f>>0]=k;c[h>>2]=c[j+32>>2];m=k}if((b[j+16>>1]|0)==-1?(k=j+4|0,l=c[i>>2]|0,(c[k>>2]|0)>>>0<l>>>0):0)c[k>>2]=l;if(!(m&32))a[j+37>>0]=1;a[f>>0]=m&-57|8;f=Ja[c[j+28>>2]&255](d)|0;l=c[i>>2]|0;k=c[e>>2]|0;n=c[k>>2]|0;o=b[k+16>>1]|0;c[e>>2]=c[k+8>>2];a:do if(o<<16>>16){k=o<<16>>16;p=0-f|0;if((p|0)<0){q=n;r=k;s=l+(p<<3)|0;while(1){p=q+8|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];t=r+-1|0;if(!t){u=p;break a}s=s+8|0;if(s>>>0>=(c[i>>2]|0)>>>0){v=p;w=t;break}else{q=p;r=t}}}else{v=n;w=k}if((w|0)>0){r=w;q=v;while(1){s=q+8|0;c[q+4>>2]=0;if((r|0)>1){r=r+-1|0;q=s}else{u=s;break}}}else u=v}else u=n;while(0);c[i>>2]=u}else{Sf(d);qc(d)}j=c[e>>2]|0}while((j|0)!=(g|0));return}function Sf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=c[a+16>>2]|0;e=b+24|0;f=c[e>>2]|0;g=b+28|0;h=c[(c[g>>2]|0)+-4>>2]|0;i=h&63;switch(h&63){case 12:case 7:case 6:case 31:case 30:case 29:case 28:case 27:case 24:case 23:case 22:case 21:case 20:case 19:case 34:case 32:case 18:case 17:case 16:case 15:case 14:case 13:{j=a+8|0;k=c[j>>2]|0;l=k+-8|0;c[j>>2]=l;j=h>>>6&255;c[f+(j<<3)>>2]=c[l>>2];c[f+(j<<3)+4>>2]=c[k+-4>>2];return}case 37:case 38:case 39:{k=a+8|0;j=c[k>>2]|0;switch(c[j+-4>>2]|0){case 0:{m=1;break}case 1:{m=(c[j+-8>>2]|0)==0;break}default:m=0}l=(m^1)&1;c[k>>2]=j+-8;if((i|0)==39){i=h>>>23;j=f+(i<<3)|0;k=c[f+(i<<3)+4>>2]|0;switch(k&15){case 5:{n=(c[j>>2]|0)+8|0;break}case 7:{n=(c[j>>2]|0)+8|0;break}default:n=(c[a+12>>2]|0)+276+((k&15)<<2)|0}k=c[n>>2]|0;a:do if(!k)o=2099900;else{n=c[(c[a+12>>2]|0)+264>>2]|0;j=(c[k+16>>2]|0)+(((1<<(d[k+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[j+12>>2]|0)==68?(c[j+8>>2]|0)==(n|0):0)break;i=c[j+16>>2]|0;if(!i){o=2099900;break a}else j=i}o=j}while(0);p=(c[o+4>>2]|0)==0?m&1:l}else p=l;if((p|0)==(h>>>6&255|0))return;c[g>>2]=(c[g>>2]|0)+4;return}case 35:{g=a+8|0;p=c[g>>2]|0;l=p+-16|0;m=l-(f+(h>>>23<<3))|0;c[p+-24>>2]=c[p+-8>>2];c[p+-20>>2]=c[p+-4>>2];if((m|0)>8){c[g>>2]=l;Cc(a,m>>>3)}m=c[g>>2]|0;l=c[e>>2]|0;e=h>>>6&255;c[l+(e<<3)>>2]=c[m+-8>>2];c[l+(e<<3)+4>>2]=c[m+-4>>2];c[g>>2]=c[b+4>>2];return}case 47:{c[a+8>>2]=c[b+4>>2];return}case 42:{if(!(h&8372224))return;c[a+8>>2]=c[b+4>>2];return}default:return}}function Tf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+8|0;c[f>>2]=e;g=Bd(b,d)|0;c[e>>2]=g;c[e+4>>2]=(a[g+4>>0]|64)&255;c[f>>2]=(c[f>>2]|0)+8;jc(b,-1)}function Uf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Fa;Fa=Fa+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;if(!((g|0)==2099900?1:g>>>0>=(c[h>>2]|0)>>>0)){g=c[f+12>>2]&15;if((g|0)!=6){i=g+1|0;j=4}}else{i=0;j=4}if((j|0)==4){j=c[16+(i<<2)>>2]|0;c[d>>2]=56679;c[d+4>>2]=j;jf(a,1,Dd(a,47715,d)|0)|0}d=Vf(a)|0;j=(c[c[e>>2]>>2]|0)+8|0;e=c[h>>2]|0;i=j>>>0<e>>>0?j:2099900;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];i=c[h>>2]|0;c[h>>2]=i+8;if((d|0)==(a|0)){Fa=b;return 1}c[h>>2]=i;h=d+8|0;d=c[h>>2]|0;c[h>>2]=d+8;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];Fa=b;return 1}function Vf(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d+12|0;f=c[e>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;j=f;break}else{zc(d);j=c[e>>2]|0;break}else j=f;while(0);f=j+4|0;g=Ma[c[j>>2]&1](c[f>>2]|0,0,8,116)|0;if(!g){if(!(a[j+51>>0]|0))jc(d,4);vc(d,1);h=Ma[c[j>>2]&1](c[f>>2]|0,0,8,116)|0;if(!h)jc(d,4);else k=h}else k=g;g=j+12|0;c[g>>2]=(c[g>>2]|0)+116;g=j+56|0;a[k+5>>0]=a[j+48>>0]&3;a[k+4>>0]=8;c[k>>2]=c[g>>2];c[g>>2]=k;g=d+8|0;j=c[g>>2]|0;c[j>>2]=k;c[j+4>>2]=72;c[g>>2]=(c[g>>2]|0)+8;c[k+12>>2]=c[e>>2];g=k+28|0;c[g>>2]=0;j=k+16|0;c[j>>2]=0;h=k+32|0;c[h>>2]=0;c[k+64>>2]=0;b[k+38>>1]=0;f=k+52|0;c[f>>2]=0;i=k+40|0;a[i>>0]=0;l=k+44|0;c[l>>2]=0;a[k+41>>0]=1;c[k+56>>2]=0;b[k+36>>1]=1;a[k+6>>0]=0;c[k+68>>2]=0;a[i>>0]=a[d+40>>0]|0;i=c[d+44>>2]|0;c[l>>2]=i;c[f>>2]=c[d+52>>2];c[k+48>>2]=i;i=c[e>>2]|0;e=i+4|0;f=Ma[c[i>>2]&1](c[e>>2]|0,0,0,320)|0;if(!f){if(!(a[i+51>>0]|0))jc(d,4);vc(d,1);l=Ma[c[i>>2]&1](c[e>>2]|0,0,0,320)|0;if(!l)jc(d,4);else m=l}else m=f;f=i+12|0;c[f>>2]=(c[f>>2]|0)+320;c[g>>2]=m;c[h>>2]=40;h=m+4|0;c[h>>2]=0;c[m+12>>2]=0;c[m+20>>2]=0;c[m+28>>2]=0;c[m+36>>2]=0;c[m+44>>2]=0;c[m+52>>2]=0;c[m+60>>2]=0;c[m+68>>2]=0;c[m+76>>2]=0;c[m+84>>2]=0;c[m+92>>2]=0;c[m+100>>2]=0;c[m+108>>2]=0;c[m+116>>2]=0;c[m+124>>2]=0;c[m+132>>2]=0;c[m+140>>2]=0;c[m+148>>2]=0;c[m+156>>2]=0;c[m+164>>2]=0;c[m+172>>2]=0;c[m+180>>2]=0;c[m+188>>2]=0;c[m+196>>2]=0;c[m+204>>2]=0;c[m+212>>2]=0;c[m+220>>2]=0;c[m+228>>2]=0;c[m+236>>2]=0;c[m+244>>2]=0;c[m+252>>2]=0;c[m+260>>2]=0;c[m+268>>2]=0;c[m+276>>2]=0;c[m+284>>2]=0;c[m+292>>2]=0;c[m+300>>2]=0;c[m+308>>2]=0;c[m+316>>2]=0;c[k+24>>2]=m+280;g=k+72|0;c[k+80>>2]=0;c[k+84>>2]=0;a[k+90>>0]=0;c[g>>2]=m;c[k+8>>2]=m+8;c[h>>2]=0;c[k+76>>2]=m+168;c[j>>2]=g;return k|0}function Wf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=(c[c[b+16>>2]>>2]|0)+8|0;e=b+8|0;f=d>>>0<(c[e>>2]|0)>>>0?d:2099900;if((c[f+4>>2]|0)==72?(d=c[f>>2]|0,(d|0)!=0):0)g=d;else{jf(b,1,48143)|0;g=0}a:do if((g|0)==(b|0)){d=c[b+12>>2]|0;f=d+12|0;h=c[f>>2]|0;do if((h|0)>0)if(!(a[d+51>>0]|0)){i=d+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[f>>2]=-1600;break}else{zc(b);break}while(0);j=Oc(b,48341,7)|0}else switch(a[g+6>>0]|0){case 1:{f=c[b+12>>2]|0;h=f+12|0;d=c[h>>2]|0;do if((d|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=d+1600+(c[i>>2]|0);c[h>>2]=-1600;break}else{zc(b);break}while(0);j=Oc(b,48349,9)|0;break a;break}case 0:{h=c[g+16>>2]|0;if((h|0)!=(g+72|0)){d=c[b+12>>2]|0;f=d+12|0;i=c[f>>2]|0;do if((i|0)>0)if(!(a[d+51>>0]|0)){k=d+8|0;c[k>>2]=i+1600+(c[k>>2]|0);c[f>>2]=-1600;break}else{zc(b);break}while(0);j=Oc(b,48359,6)|0;break a}f=c[b+12>>2]|0;i=f+12|0;d=c[i>>2]|0;k=(d|0)>0;if((c[g+8>>2]|0)==((c[h>>2]|0)+8|0)){do if(k)if(!(a[f+51>>0]|0)){l=f+8|0;c[l>>2]=d+1600+(c[l>>2]|0);c[i>>2]=-1600;break}else{zc(b);break}while(0);j=Oc(b,48366,4)|0;break a}else{do if(k)if(!(a[f+51>>0]|0)){h=f+8|0;c[h>>2]=d+1600+(c[h>>2]|0);c[i>>2]=-1600;break}else{zc(b);break}while(0);j=Oc(b,48349,9)|0;break a}break}default:{i=c[b+12>>2]|0;d=i+12|0;f=c[d>>2]|0;do if((f|0)>0)if(!(a[i+51>>0]|0)){k=i+8|0;c[k>>2]=f+1600+(c[k>>2]|0);c[d>>2]=-1600;break}else{zc(b);break}while(0);j=Oc(b,48366,4)|0;break a}}while(0);b=c[e>>2]|0;c[b>>2]=j;c[b+4>>2]=(a[j+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return 1}function Xf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;if(!((e|0)==2099900?1:e>>>0>=(c[f>>2]|0)>>>0)?(g=c[d+12>>2]|0,(g&15|0)==8):0)if((g|0)==72){h=1;i=c[e>>2]|0}else{h=1;i=0}else{h=0;i=a}e=h+1|0;g=td(a,e,0)|0;d=c[c[b>>2]>>2]|0;if(!g){b=d+(e<<3)|0;j=c[f>>2]|0;if(!(b>>>0>=j>>>0|(b|0)==2099900)?(c[d+(e<<3)+4>>2]&15|0)!=0:0){c[j>>2]=c[b>>2];c[j+4>>2]=c[d+(e<<3)+4>>2];c[f>>2]=(c[f>>2]|0)+8;return 1}else k=j}else k=c[f>>2]|0;f=h|2;h=(i|0)==(a|0)&1;j=d+(f<<3)|0;if(!(j>>>0>=k>>>0|(j|0)==2099900)?(c[d+(f<<3)+4>>2]&15|0)!=0:0)l=of(a,f)|0;else l=h;ef(a,i,g,l);return 1}function Yf(a){a=a|0;wf(c[(c[a+12>>2]|0)+144>>2]|0);return}function Zf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=Fa;Fa=Fa+16|0;e=d;f=b+16|0;g=(c[c[f>>2]>>2]|0)+8|0;h=b+8|0;i=g>>>0<(c[h>>2]|0)>>>0?g:2099900;do if((c[i+4>>2]&15|0)==4){j=i;k=8}else{if(!(ud(b,i)|0)){g=c[c[f>>2]>>2]|0;l=g+8|0;if((l|0)==2099900?1:l>>>0>=(c[h>>2]|0)>>>0)m=0;else m=(c[g+12>>2]&15)+1|0;g=c[16+(m<<2)>>2]|0;c[e>>2]=45478;c[e+4>>2]=g;jf(b,1,Dd(b,47715,e)|0)|0;n=0;o=0;break}g=c[b+12>>2]|0;l=g+12|0;p=c[l>>2]|0;do if((p|0)>0)if(!(a[g+51>>0]|0)){q=g+8|0;c[q>>2]=p+1600+(c[q>>2]|0);c[l>>2]=-1600;break}else{zc(b);break}while(0);l=(c[c[f>>2]>>2]|0)+8|0;j=l>>>0<(c[h>>2]|0)>>>0?l:2099900;k=8}while(0);if((k|0)==8){k=c[j>>2]|0;n=k+16|0;o=c[k+12>>2]|0}k=of(b,2)|0;j=o+1|0;e=(k|0)>-1?k:o>>>0<(0-k|0)>>>0?0:j+k|0;k=c[c[f>>2]>>2]|0;f=k+24|0;if(!((f|0)==2099900?1:f>>>0>=(c[h>>2]|0)>>>0)?(c[k+28>>2]&15|0)!=0:0){k=of(b,3)|0;r=(k|0)>-1?k:o>>>0<(0-k|0)>>>0?0:j+k|0}else r=o;k=(e|0)==0?1:e;e=r>>>0>o>>>0?o:r;if(e>>>0<k>>>0){r=c[b+12>>2]|0;o=r+12|0;j=c[o>>2]|0;do if((j|0)>0)if(!(a[r+51>>0]|0)){f=r+8|0;c[f>>2]=j+1600+(c[f>>2]|0);c[o>>2]=-1600;break}else{zc(b);break}while(0);s=Oc(b,3042456,0)|0;t=c[h>>2]|0;c[t>>2]=s;u=s+4|0;v=a[u>>0]|0;w=v|64;x=w&255;y=t+4|0;c[y>>2]=x;z=c[h>>2]|0;A=z+8|0;c[h>>2]=A;Fa=d;return 1}else{o=n+k+-1|0;n=1-k+e|0;e=c[b+12>>2]|0;k=e+12|0;j=c[k>>2]|0;do if((j|0)>0)if(!(a[e+51>>0]|0)){r=e+8|0;c[r>>2]=j+1600+(c[r>>2]|0);c[k>>2]=-1600;break}else{zc(b);break}while(0);s=id(b,o,n)|0;t=c[h>>2]|0;c[t>>2]=s;u=s+4|0;v=a[u>>0]|0;w=v|64;x=w&255;y=t+4|0;c[y>>2]=x;z=c[h>>2]|0;A=z+8|0;c[h>>2]=A;Fa=d;return 1}return 0}function _f(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=Fa;Fa=Fa+16|0;e=b;f=b+8|0;g=b+4|0;h=a+16|0;i=c[c[h>>2]>>2]|0;j=i+8|0;k=a+8|0;l=c[k>>2]|0;if(j>>>0>=l>>>0|(j|0)==2099900){m=0;Fa=b;return m|0}if((c[i+12>>2]&15|0)!=5){m=0;Fa=b;return m|0}Bc(a,l,j);j=c[k>>2]|0;l=j+8|0;c[k>>2]=l;i=c[j+4>>2]|0;do if((i|0)!=3){if((i&15|0)!=4)kf(a,47750,e)|0;n=c[j>>2]|0;if(!(Hc(n+16|0,c[n+12>>2]|0,f)|0))kf(a,47750,e)|0;else{o=c[f>>2]|0;p=c[k>>2]|0;break}}else{o=c[j>>2]|0;p=l}while(0);l=o>>16;o=p+-8|0;c[k>>2]=o;p=l+1|0;j=c[c[h>>2]>>2]|0;switch(o-(j+8)>>3|0){case 2:{q=p;r=o;break}case 1:case 0:{m=0;Fa=b;return m|0}default:s=10}if((s|0)==10){e=j+24|0;j=e>>>0<o>>>0?e:2099900;e=c[j+4>>2]|0;do if((e|0)==3){t=j;s=14}else{if((e&15|0)==4?(o=c[j>>2]|0,Hc(o+16|0,c[o+12>>2]|0,f)|0):0){c[g>>2]=c[f>>2];t=g;s=14;break}u=0}while(0);if((s|0)==14)u=c[t>>2]|0;t=u>>16;s=c[k>>2]|0;g=c[c[h>>2]>>2]|0;f=2-(s-(g+8)>>3)|0;j=f+-1|0;e=s;if((f|0)>0){o=g+(f<<3)|0;if(o>>>0>e>>>0){i=(g+(j<<3)+4+(3-s)|0)>>>3;s=e;do{c[s+4>>2]=0;s=s+8|0}while(s>>>0<o>>>0);c[k>>2]=e+(i+1<<3);v=o}else v=o}else v=e+(f<<3)|0;c[k>>2]=v;if((u|0)<65536|(p|0)<(t|0))jf(a,2,48734)|0;if((l|0)>=(t|0)){l=p;do{u=l;l=l+-1|0;v=(c[c[h>>2]>>2]|0)+8|0;f=c[k>>2]|0;e=c[(v>>>0<f>>>0?v:2099900)>>2]|0;v=u+-2|0;a:do if(v>>>0<(c[e+28>>2]|0)>>>0)w=(c[e+12>>2]|0)+(v<<3)|0;else{o=l<<16;i=0-o|0;s=(c[e+16>>2]|0)+(((((o|0)<0?((o|0)==(i|0)?0:i):o)|0)%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[s+12>>2]|0)==3?(c[s+8>>2]|0)==(o|0):0)break;i=c[s+16>>2]|0;if(!i){w=2099900;break a}else s=i}w=s}while(0);c[f>>2]=c[w>>2];c[f+4>>2]=c[w+4>>2];c[k>>2]=(c[k>>2]|0)+8;Kd(a,1,u)}while((l|0)>(t|0))}Vg(p-t|0);q=t;r=c[k>>2]|0}c[r>>2]=c[r+-8>>2];c[r+4>>2]=c[r+-4>>2];c[k>>2]=(c[k>>2]|0)+8;Kd(a,1,q);m=1;Fa=b;return m|0}function $f(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;b=Fa;Fa=Fa+16|0;e=b;f=b+8|0;g=b+4|0;h=a+16|0;i=c[c[h>>2]>>2]|0;j=i+8|0;k=a+8|0;l=c[k>>2]|0;if(j>>>0>=l>>>0|(j|0)==2099900){m=0;Fa=b;return m|0}if((c[i+12>>2]&15|0)!=5){m=0;Fa=b;return m|0}Bc(a,l,j);j=c[k>>2]|0;l=j+8|0;c[k>>2]=l;i=c[j+4>>2]|0;do if((i|0)!=3){if((i&15|0)!=4)kf(a,47750,e)|0;n=c[j>>2]|0;if(!(Hc(n+16|0,c[n+12>>2]|0,f)|0))kf(a,47750,e)|0;else{o=c[f>>2]|0;p=c[k>>2]|0;break}}else{o=c[j>>2]|0;p=l}while(0);l=o>>16;o=p+-8|0;c[k>>2]=o;p=c[c[h>>2]>>2]|0;j=o-(p+8)|0;if((j|0)==8){e=p+16|0;if(!(e>>>0>=o>>>0|(e|0)==2099900)?(c[p+20>>2]&15|0)!=0:0){e=of(a,2)|0;i=c[k>>2]|0;n=c[c[h>>2]>>2]|0;q=e;r=i-(n+8)|0;s=n;t=i;u=13}else v=l}else{q=-1;r=j;s=p;t=o;u=13}if((u|0)==13)if((r|0)>8){r=s+16|0;s=r>>>0<t>>>0?r:2099900;r=c[s+4>>2]|0;do if((r|0)==3){w=s;u=18}else{if((r&15|0)==4?(t=c[s>>2]|0,Hc(t+16|0,c[t+12>>2]|0,f)|0):0){c[g>>2]=c[f>>2];w=g;u=18;break}x=0}while(0);if((u|0)==18)x=c[w>>2]>>16;v=x}else v=q;if((v|0)<1|(l|0)<(v|0)){m=0;Fa=b;return m|0}q=(c[c[h>>2]>>2]|0)+8|0;x=c[k>>2]|0;w=c[(q>>>0<x>>>0?q:2099900)>>2]|0;q=v+-1|0;a:do if(q>>>0<(c[w+28>>2]|0)>>>0)y=(c[w+12>>2]|0)+(q<<3)|0;else{u=v<<16;g=0-u|0;f=(c[w+16>>2]|0)+(((((u|0)<0?((u|0)==(g|0)?0:g):u)|0)%((1<<(d[w+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[f+12>>2]|0)==3?(c[f+8>>2]|0)==(u|0):0)break;g=c[f+16>>2]|0;if(!g){y=2099900;break a}else f=g}y=f}while(0);c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[k>>2]=(c[k>>2]|0)+8;Vg(l-v|0);if((l|0)>(v|0)){y=v;while(1){x=y;y=y+1|0;w=(c[c[h>>2]>>2]|0)+8|0;q=c[k>>2]|0;u=c[(w>>>0<q>>>0?w:2099900)>>2]|0;b:do if(x>>>0<(c[u+28>>2]|0)>>>0)z=(c[u+12>>2]|0)+(x<<3)|0;else{w=y<<16;g=0-w|0;s=(c[u+16>>2]|0)+(((((w|0)<0?((w|0)==(g|0)?0:g):w)|0)%((1<<(d[u+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[s+12>>2]|0)==3?(c[s+8>>2]|0)==(w|0):0)break;g=c[s+16>>2]|0;if(!g){z=2099900;break b}else s=g}z=s}while(0);c[q>>2]=c[z>>2];c[q+4>>2]=c[z+4>>2];c[k>>2]=(c[k>>2]|0)+8;Kd(a,1,x);if((y|0)==(l|0)){A=l;break}}}else A=v;v=c[k>>2]|0;c[v+4>>2]=0;c[k>>2]=v+8;Kd(a,1,A);m=1;Fa=b;return m|0}function ag(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=Fa;Fa=Fa+16|0;e=b;f=b+4|0;g=a+8|0;h=c[g>>2]|0;i=a+16|0;j=c[c[i>>2]>>2]|0;k=j+8|0;l=h;if(h-k>>3>>>0<2){m=0;Fa=b;return m|0}if((k|0)==2099900|k>>>0>=l>>>0){m=0;Fa=b;return m|0}if((c[j+12>>2]&15|0)!=5){m=0;Fa=b;return m|0}Bc(a,l,k);k=c[g>>2]|0;l=k+8|0;c[g>>2]=l;j=c[k+4>>2]|0;do if((j|0)!=3){if((j&15|0)!=4)kf(a,47750,e)|0;h=c[k>>2]|0;if(!(Hc(h+16|0,c[h+12>>2]|0,f)|0))kf(a,47750,e)|0;else{n=c[f>>2]|0;o=c[g>>2]|0;break}}else{n=c[k>>2]|0;o=l}while(0);l=n>>16;k=o+-8|0;c[g>>2]=k;if((n|0)<65536){Vg(l);m=0;Fa=b;return m|0}n=1;o=k;while(1){k=(c[c[i>>2]>>2]|0)+8|0;f=c[(k>>>0<o>>>0?k:2099900)>>2]|0;k=n+-1|0;a:do if(k>>>0<(c[f+28>>2]|0)>>>0)p=(c[f+12>>2]|0)+(k<<3)|0;else{e=n<<16;j=(c[f+16>>2]|0)+(((e|0)%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==(e|0):0)break;h=c[j+16>>2]|0;if(!h){p=2099900;break a}else j=h}p=j}while(0);c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];f=c[g>>2]|0;k=f+8|0;c[g>>2]=k;e=(c[c[i>>2]>>2]|0)+16|0;h=e>>>0<k>>>0?e:2099900;if((f|0)!=2099900&(h|0)!=2099900?(c[f+4>>2]|0)==(c[h+4>>2]|0):0){e=(Ec(a,f,h)|0)==0;h=(c[g>>2]|0)+-8|0;c[g>>2]=h;if(e)q=h;else{r=n;break}}else{c[g>>2]=f;q=f}if((n|0)<(l|0)){n=n+1|0;o=q}else{r=0;break}}Vg(l);if(!r){m=0;Fa=b;return m|0}q=(c[c[i>>2]>>2]|0)+8|0;o=c[g>>2]|0;n=c[(q>>>0<o>>>0?q:2099900)>>2]|0;q=r+-1|0;b:do if(q>>>0<(c[n+28>>2]|0)>>>0)s=(c[n+12>>2]|0)+(q<<3)|0;else{p=r<<16;f=0-p|0;h=(c[n+16>>2]|0)+(((((p|0)<0?((p|0)==(f|0)?0:f):p)|0)%((1<<(d[n+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==(p|0):0)break;f=c[h+16>>2]|0;if(!f){s=2099900;break b}else h=f}s=h}while(0);c[o>>2]=c[s>>2];c[o+4>>2]=c[s+4>>2];s=(c[g>>2]|0)+8|0;c[g>>2]=s;if((r|0)<(l|0)){o=r;n=s;while(1){q=o;o=o+1|0;p=(c[c[i>>2]>>2]|0)+8|0;f=c[(p>>>0<n>>>0?p:2099900)>>2]|0;c:do if(q>>>0<(c[f+28>>2]|0)>>>0)t=(c[f+12>>2]|0)+(q<<3)|0;else{p=o<<16;e=0-p|0;k=(c[f+16>>2]|0)+(((((p|0)<0?((p|0)==(e|0)?0:e):p)|0)%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[k+12>>2]|0)==3?(c[k+8>>2]|0)==(p|0):0)break;e=c[k+16>>2]|0;if(!e){t=2099900;break c}else k=e}t=k}while(0);c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[g>>2]=(c[g>>2]|0)+8;Kd(a,1,q);f=c[g>>2]|0;if((o|0)==(l|0)){u=l;v=f;break}else n=f}}else{u=r;v=s}c[v+4>>2]=0;c[g>>2]=v+8;Kd(a,1,u);m=1;Fa=b;return m|0}function bg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=Fa;Fa=Fa+16|0;e=b;f=b+4|0;g=a+16|0;h=c[c[g>>2]>>2]|0;i=h+8|0;j=a+8|0;k=c[j>>2]|0;if(i>>>0>=k>>>0|(i|0)==2099900){l=0;Fa=b;return l|0}if((c[h+12>>2]&15|0)!=5){l=0;Fa=b;return l|0}Bc(a,k,i);i=c[j>>2]|0;k=i+8|0;c[j>>2]=k;h=c[i+4>>2]|0;do if((h|0)!=3){if((h&15|0)!=4)kf(a,47750,e)|0;m=c[i>>2]|0;if(!(Hc(m+16|0,c[m+12>>2]|0,f)|0))kf(a,47750,e)|0;else{n=c[f>>2]|0;o=c[j>>2]|0;break}}else{n=c[i>>2]|0;o=k}while(0);k=n>>16;i=o+-8|0;c[j>>2]=i;o=c[c[g>>2]>>2]|0;a:do if((i-(o+8)|0)>8)if((n|0)<65536){p=0;q=0}else{f=0;e=1;h=0;m=o;r=i;while(1){s=m+8|0;t=c[(s>>>0<r>>>0?s:2099900)>>2]|0;s=e+-1|0;b:do if(s>>>0<(c[t+28>>2]|0)>>>0)u=(c[t+12>>2]|0)+(s<<3)|0;else{v=e<<16;w=(c[t+16>>2]|0)+(((v|0)%((1<<(d[t+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[w+12>>2]|0)==3?(c[w+8>>2]|0)==(v|0):0)break;x=c[w+16>>2]|0;if(!x){u=2099900;break b}else w=x}u=w}while(0);c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];t=c[j>>2]|0;s=t+8|0;c[j>>2]=s;v=(c[c[g>>2]>>2]|0)+16|0;x=v>>>0<s>>>0?v:2099900;if(((t|0)!=2099900&(x|0)!=2099900?(c[t+4>>2]|0)==(c[x+4>>2]|0):0)?(Ec(a,t,x)|0)!=0:0)y=f+1|0;else y=f;x=(c[j>>2]|0)+-8|0;c[j>>2]=x;t=h+1|0;if((e|0)>=(k|0)){p=t;q=y;break a}f=y;e=e+1|0;h=t;m=c[c[g>>2]>>2]|0;r=x}}else{p=0;q=k}while(0);Vg(p);p=c[j>>2]|0;c[p>>2]=q<<16;c[p+4>>2]=3;c[j>>2]=(c[j>>2]|0)+8;l=1;Fa=b;return l|0}function cg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b+8|0;e=b+16|0;f=(c[d>>2]|0)-((c[c[e>>2]>>2]|0)+8)|0;g=f>>3;Id(b,g,1);h=c[d>>2]|0;c[h>>2]=f<<13;c[h+4>>2]=3;h=c[d>>2]|0;c[d>>2]=h+16;i=id(b,47642,1)|0;c[h+8>>2]=i;c[h+12>>2]=(a[i+4>>0]|64)&255;i=c[d>>2]|0;tc(b,h+-8|0,i+-8|0,i+-16|0);i=c[d>>2]|0;h=i+-16|0;c[d>>2]=h;if((f|0)<=0){j=f>>2;Vg(j);return 1}k=(c[c[e>>2]>>2]|0)+8|0;l=k>>>0<h>>>0?k:2099900;c[h>>2]=c[l>>2];c[i+-12>>2]=c[l+4>>2];c[d>>2]=(c[d>>2]|0)+8;Kd(b,-2,1);l=c[d>>2]|0;i=(c[c[e>>2]>>2]|0)+8|0;e=i>>>0<l>>>0?i:2099900;c[e>>2]=c[l+-8>>2];c[e+4>>2]=c[l+-4>>2];c[d>>2]=(c[d>>2]|0)+-8;if((f|0)<=8){j=f>>2;Vg(j);return 1}d=g;while(1){Kd(b,1,d);if((d|0)>2)d=d+-1|0;else break}j=f>>2;Vg(j);return 1}function dg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=Fa;Fa=Fa+32|0;e=b+16|0;f=b+8|0;g=b;h=b+20|0;i=a+16|0;j=c[c[i>>2]>>2]|0;k=j+8|0;l=a+8|0;m=c[l>>2]|0;if(!(k>>>0>=m>>>0|(k|0)==2099900)){k=c[j+12>>2]&15;if((k|0)==5){n=j;o=m}else{p=k+1|0;q=4}}else{p=0;q=4}if((q|0)==4){q=c[16+(p<<2)>>2]|0;c[g>>2]=45485;c[g+4>>2]=q;jf(a,1,Dd(a,47715,g)|0)|0;n=c[c[i>>2]>>2]|0;o=c[l>>2]|0}g=n+16|0;if(!(g>>>0>=o>>>0|(g|0)==2099900)?(c[n+20>>2]&15|0)!=0:0){g=of(a,2)|0;r=c[c[i>>2]>>2]|0;s=c[l>>2]|0;t=g}else{r=n;s=o;t=1}o=r+24|0;if(!(o>>>0>=s>>>0|(o|0)==2099900)?(c[r+28>>2]&15|0)!=0:0)u=of(a,3)|0;else{o=r+8|0;Bc(a,s,o>>>0<s>>>0?o:2099900);o=c[l>>2]|0;s=o+8|0;c[l>>2]=s;r=c[o+4>>2]|0;do if((r|0)!=3){if((r&15|0)!=4)kf(a,47750,f)|0;n=c[o>>2]|0;if(!(Hc(n+16|0,c[n+12>>2]|0,h)|0))kf(a,47750,f)|0;else{v=c[h>>2]|0;w=c[l>>2]|0;break}}else{v=c[o>>2]|0;w=s}while(0);c[l>>2]=w+-8;u=v>>16}if((u|0)<(t|0)){x=0;Fa=b;return x|0}v=u-t|0;w=v+1|0;if((v|0)<0)kf(a,48371,e)|0;c[h>>2]=w;s=c[i>>2]|0;o=c[l>>2]|0;do if(((c[a+24>>2]|0)-o>>3|0)>(w|0)){y=o;z=w}else{if(((o-(c[a+28>>2]|0)>>3)+5|0)<=(999999-v|0)?(ic(a,2,h)|0)==0:0){y=c[l>>2]|0;z=c[h>>2]|0;break}kf(a,48371,e)|0}while(0);e=s+4|0;s=y+(z<<3)|0;if((c[e>>2]|0)>>>0<s>>>0)c[e>>2]=s;s=(c[c[i>>2]>>2]|0)+8|0;e=c[(s>>>0<y>>>0?s:2099900)>>2]|0;s=t+-1|0;a:do if(s>>>0<(c[e+28>>2]|0)>>>0)A=(c[e+12>>2]|0)+(s<<3)|0;else{z=t<<16;a=0-z|0;h=(c[e+16>>2]|0)+(((((z|0)<0?((z|0)==(a|0)?0:a):z)|0)%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==(z|0):0)break;a=c[h+16>>2]|0;if(!a){A=2099900;break a}else h=a}A=h}while(0);c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];A=(c[l>>2]|0)+8|0;c[l>>2]=A;if((u|0)>(t|0)){y=t;t=A;do{A=y;y=y+1|0;e=(c[c[i>>2]>>2]|0)+8|0;s=c[(e>>>0<t>>>0?e:2099900)>>2]|0;b:do if(A>>>0<(c[s+28>>2]|0)>>>0)B=(c[s+12>>2]|0)+(A<<3)|0;else{e=y<<16;z=0-e|0;a=(c[s+16>>2]|0)+(((((e|0)<0?((e|0)==(z|0)?0:z):e)|0)%((1<<(d[s+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[a+12>>2]|0)==3?(c[a+8>>2]|0)==(e|0):0)break;z=c[a+16>>2]|0;if(!z){B=2099900;break b}else a=z}B=a}while(0);c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];t=(c[l>>2]|0)+8|0;c[l>>2]=t}while((y|0)!=(u|0))}Vg(w<<1);x=w;Fa=b;return x|0}function eg(){c[524979]=0;return}function fg(){c[524978]=0;return}function gg(){return c[524980]|0}function hg(a){a=a|0;c[524980]=a;return}function ig(){return (c[524978]|0)+0|0}function jg(a){a=a|0;c[524978]=(c[524978]|0)+a;return 0}function kg(a){a=a|0;c[8776]=a;return}function lg(){c[524978]=0;return}function mg(){c[524979]=1073741824;c[524980]=1;return}function ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[524989]|0;if((e|0)>510)return;Lm(161840+(e*1320|0)|0,a)|0;Lm(161840+((c[524989]|0)*1320|0)+256|0,b)|0;b=c[524989]|0;c[161840+(b*1320|0)+1316>>2]=d;Lm(161840+(b*1320|0)+288|0,2971644)|0;c[524989]=(c[524989]|0)+1;return}function og(){c[759907]=0;c[524989]=0;return}function pg(){var a=0;a=c[524989]|0;return ((a|0)<1?0:161840+((a+-1|0)*1320|0)+256|0)|0}function qg(){var a=0;a=c[524989]|0;return ((a|0)<1?0:161840+((a+-1|0)*1320|0)|0)|0}function rg(){var a=0,b=0;a=c[524989]|0;if((a|0)<1)return;b=a+-1|0;if(!(c[161840+(b*1320|0)+1316>>2]|0))return;c[524989]=b;return}function sg(){var a=0,b=0;a=c[524989]|0;if(!a)return;b=161840+((a+-1|0)*1320|0)+1316|0;if(!(c[b>>2]|0))return;c[b>>2]=0;return}function tg(){var a=0;a=c[524989]|0;if((a|0)<1)return;Tb(161840+((a+-1|0)*1320|0)|0)|0;c[742427]=1;a=c[524989]|0;Lm(2972669,(a|0)<1?0:161840+((a+-1|0)*1320|0)+288|0)|0;c[742430]=20;a=c[524989]|0;if((a|0)>=1)c[524989]=a+-1;c[416456]=0;return}function ug(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=(c[704867]|0)!=0;f=c[742422]|0;if(e&(f|0)==0){su(b)|0;return}if(!((a[2062532]|0)==0|e^1)){su(b)|0;return}if((f|0)!=2)ma(19,b|0,ft(b)|0)|0;f=ft(b)|0;if((f|0)>32){e=~f;g=((f+((e|0)>-65?e:-65)+32|0)>>>5)*6|0;e=f;while(1){Ya();if((e|0)>64)e=e+-32|0;else break}h=g+6|0}else h=0;g=(c[742551]|0)-h|0;c[742551]=g;e=c[704852]|0;$m(e,0,g,127,g+5+((((ft(b)|0)+-1|0)>>>5)*6|0)|0,0);Ln(c[704852]|0,b,c[704871]|0,c[742550]|0,c[742551]|0,17,d)|0;c[742551]=(c[742551]|0)+h;Ya();return}function vg(b,d){b=b|0;d=d|0;var e=0,f=0;ug(b,d);d=c[516414]|0;if(!d){e=Ip(16)|0;c[516414]=e;f=e}else f=d;d=ft(c[f+12>>2]|0)|0;Jp(f,d+16+(ft(b)|0)|0)|0;pt(c[(c[516414]|0)+12>>2]|0,b)|0;b=c[(c[516414]|0)+12>>2]|0;d=b+(ft(b)|0)|0;a[d>>0]=10;a[d+1>>0]=0;return}function wg(a){a=a|0;ug(a,6);return}function xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=b;c[f+4>>2]=d;vs(1509584,a,f)|0;ug(1509584,6);Fa=e;return}function yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Fa;Fa=Fa+16|0;g=f;c[g>>2]=b;c[g+4>>2]=d;vs(1509584,a,g)|0;ug(1509584,e);Fa=f;return}function zg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Fa;Fa=Fa+48|0;f=e+24|0;g=e+8|0;h=e;i=e+32|0;j=e+28|0;if(eu(b,48607)|0){k=0;Fa=e;return k|0}l=eu(b,48623)|0;if(!l){if(!b){k=0;Fa=e;return k|0}m=Fp((ft(b)|0)+1|0)|0;Lm(m,b)|0;n=m+(ft(m)|0)|0;o=n+-1|0;a:do if(o>>>0>m>>>0){p=o;q=n;while(1){if((a[p>>0]|0)==58){r=p;s=q;break a}t=p+-1|0;if(t>>>0>m>>>0){u=p;p=t;q=u}else{r=t;s=p;break}}}else{r=o;s=n}while(0);nu(837680,(a[r>>0]|0)==58?s+1|0:r,1023)|0;a[838703]=0;Hp(m);k=837680;Fa=e;return k|0}c[i>>2]=0;c[j>>2]=0;m=eu(b,48634)|0;if(m|0){c[i>>2]=0;c[h>>2]=i;c[h+4>>2]=j;Vt(m+8|0,48643,h)|0}h=Fp((ft(b)|0)+1|0)|0;Lm(h,l+10|0)|0;l=h;b:while(1){v=l+1|0;switch(a[v>>0]|0){case 0:case 39:{break b;break}default:l=v}}a[v>>0]=0;if(!d){c[f>>2]=h;vs(1509584,48688,f)|0}else{f=c[i>>2]|0;d=c[j>>2]|0;c[g>>2]=h;c[g+4>>2]=f;c[g+8>>2]=d;vs(1509584,48655,g)|0}vg(1509584,6);g=c[i>>2]|0;if((g|0)>0?(i=c[740016]|0,d=g+-1|0,(Jr(c[i>>2]|0,c[i+336>>2]|0)|0)!=(d|0)):0){i=Kr(c[c[740016]>>2]|0,d)|0;d=c[740016]|0;c[d+336>>2]=i;Mr(d,52);c[416528]=g}Hp(h);k=0;Fa=e;return k|0}function Ag(b){b=b|0;var c=0,d=0;c=Dp(8192)|0;Lm(c,b)|0;if(!(eu(b,48700)|0)){if(!(Xs(b,48757)|0)){Hp(c);return}vg(c,6);Hp(c);return}if(eu(b,48717)|0?(vg(48717,6),a[3041272]|0):0)vg(3041272,7);d=eu(b,48734)|0;if(!d){Hp(c);return}ot(1509584,d)|0;a[1509584+((ft(1509584)|0)+-1)>>0]=0;vg(1509584,6);Hp(c);return}function Bg(a){a=a|0;var b=0;if(!a){b=ig()|0;return b|0}else{b=c[704848]|0;return b|0}return 0}function Cg(){var a=0;a=c[524987]|0;if(a|0)Yf(a);a=uf(1,0)|0;c[524987]=a;c[524986]=a;c[524988]=Vf(a)|0;ci(c[524986]|0);$e(c[524986]|0,6,100)|0;$e(c[524986]|0,7,200)|0;return}function Dg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!e){f=0;g=b}else{e=Dp(262144)|0;um(b,e)|0;f=e;g=e}Hp(c[524990]|0);if(!g){e=Fp(16)|0;c[524990]=e;a[e>>0]=0;Hp(f);h=c[524990]|0;return h|0}e=(ft(g)|0)+1|0;b=Fp(e>>>0>32?e:32)|0;c[524990]=b;Lm(b,g)|0;g=c[524990]|0;b=a[g>>0]|0;a:do if(b<<24>>24){e=g;i=1;j=b;while(1){if((i|0)==(d|0))break;k=j<<24>>24==0;l=e+1|0;if(k^j<<24>>24!=10){m=l;while(1){n=a[m>>0]|0;o=n<<24>>24==0;p=m+1|0;if(o^n<<24>>24!=10)m=p;else{q=m;r=p;s=o;break}}}else{q=e;r=l;s=k}m=s?q:r;o=a[m>>0]|0;if(!(o<<24>>24))break a;else{e=m;i=i+1|0;j=o}}i=e;o=j;b:while(1){switch(o<<24>>24){case 0:case 10:{break b;break}default:{}}m=i+1|0;i=m;o=a[m>>0]|0}a[i>>0]=0;Hp(f);h=e;return h|0}while(0);Lm(g,48775)|0;Hp(f);h=c[524990]|0;return h|0}function Eg(){var b=0,d=0,e=0,f=0,g=0;b=c[742550]|0;d=c[742551]|0;e=Sk(0)|0;f=Sk(1)|0;g=vk(2819376,c[743521]|0,24375)|0;yk(2819376,c[743521]|0,24320,0,128);c[742550]=b;c[742551]=d;Tk(0,e);Tk(1,f);uk(2819376,c[743521]|0,24375,g);c[742550]=0;c[742549]=6;c[742554]=4;c[742555]=6;c[742562]=15;c[742561]=15;c[742560]=255;c[742565]=0;c[742566]=0;c[742568]=0;c[742557]=0;c[742556]=0;c[742513]=0;c[742529]=0;c[742498]=1;c[742514]=1;c[742530]=1;c[742499]=2;c[742515]=2;c[742531]=18;c[742500]=3;c[742516]=3;c[742532]=19;c[742501]=4;c[742517]=4;c[742533]=36;c[742502]=5;c[742518]=5;c[742534]=21;c[742503]=6;c[742519]=6;c[742535]=214;c[742504]=7;c[742520]=7;c[742536]=103;c[742505]=8;c[742521]=8;c[742537]=72;c[742506]=9;c[742522]=9;c[742538]=73;c[742507]=10;c[742523]=10;c[742539]=154;c[742508]=11;c[742524]=11;c[742540]=59;c[742509]=12;c[742525]=12;c[742541]=220;c[742510]=13;c[742526]=13;c[742542]=93;c[742511]=14;c[742527]=14;c[742543]=142;c[742512]=15;c[742528]=15;c[742544]=239;c[742497]=16;c[742559]=0;hn(c[704852]|0);c[742546]=0;c[742545]=0;c[742548]=128;c[742547]=128;c[742564]=0;a[3041272]=0;c[742910]=0;c[515624]=0;c[759909]=0;c[759910]=0;c[759911]=0;c[704845]=0;c[760446]=0;Cm();if(c[760315]|0){c[704847]=0;c[742903]=0;Im();c[759984]=0;a[3041792]=0;ok();pk();return}c[415618]=0;c[415621]=0;c[704847]=0;c[742903]=0;Im();c[759984]=0;a[3041792]=0;ok();pk();return}function Fg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=Fa;Fa=Fa+176|0;e=d+152|0;f=d+144|0;g=d+136|0;h=d+128|0;i=d+120|0;j=d+112|0;k=d+104|0;l=d+96|0;m=d+88|0;n=d+80|0;o=d+72|0;p=d+64|0;q=d+56|0;r=d+48|0;s=d+40|0;t=d+32|0;u=d+24|0;v=d+16|0;w=d+8|0;x=d;y=d+160|0;c[y>>2]=0;c[742549]=6;if(ts(b,48781,6)|0)if(!(ts(b,48788,5)|0))z=b+5|0;else{if(ts(b,48908,14)|0)if(ts(b,48923,13)|0){if(!(ts(b,49100,7)|0)){c[x>>2]=y;Vt(b+7|0,63440,x)|0;x=c[y>>2]|0;A=(x|0)<256?x:256;x=(A|0)>8?A:8;c[y>>2]=x;c[515631]=x;if(c[525853]|0)c[525853]=x;c[w>>2]=x;vs(1509584,49108,w)|0;ug(1509584,14);Fa=d;return}if(!(ts(b,61771,6)|0)){ug(49123,14);ug(49143,12);c[v>>2]=c[515631];c[v+4>>2]=0;vs(1509584,49168,v)|0;ug(1509584,6);Fa=d;return}if(!(ts(b,49187,8)|0)){c[u>>2]=y;Vt(b+8|0,63440,u)|0;u=c[y>>2]|0;v=(u|0)<120?u:120;u=(v|0)>1?v:1;c[y>>2]=u;c[415604]=u;c[t>>2]=u;vs(1509584,49196,t)|0;ug(1509584,14);th();Fa=d;return}if(!(ts(b,49212,7)|0)){ug(49220,14);c[s>>2]=c[415604];c[s+4>>2]=0;vs(1509584,49245,s)|0;ug(1509584,6);Fa=d;return}if(!(ts(b,49265,15)|0)){c[r>>2]=y;Vt(b+15|0,63440,r)|0;r=c[y>>2]|0;s=(r|0)<1?r:1;r=(s|0)>0?s:0;c[y>>2]=r;c[415605]=r;c[q>>2]=r;vs(1509584,49281,q)|0;ug(1509584,14);Fa=d;return}if(!(ts(b,49304,14)|0)){ug(49319,14);ug(49348,12);ug(49380,12);ug(3042456,6);c[p>>2]=c[415605];c[p+4>>2]=0;vs(1509584,49411,p)|0;ug(1509584,6);Fa=d;return}if(!(ts(b,49438,12)|0)){c[o>>2]=y;Vt(b+12|0,63440,o)|0;o=c[y>>2]|0;p=(o|0)<1?o:1;o=(p|0)>0?p:0;c[y>>2]=o;c[415616]=o;c[n>>2]=o;vs(1509584,49451,n)|0;ug(1509584,14);Fa=d;return}n=b+10|0;if(!(ts(b,49471,10)|0)){c[m>>2]=y;Vt(n,63440,m)|0;m=c[y>>2]|0;o=(m|0)<8?m:8;m=(o|0)>1?o:1;c[y>>2]=m;c[415601]=m;c[l>>2]=m;vs(1509584,49482,l)|0;ug(1509584,14);Fa=d;return}if(!(ts(b,49500,9)|0)){ug(49510,14);c[k>>2]=c[415601];c[k+4>>2]=0;vs(1509584,49534,k)|0;ug(1509584,6);Fa=d;return}if(!(ts(b,49556,17)|0)){c[j>>2]=y;Vt(b+17|0,63440,j)|0;j=c[y>>2]|0;k=(j|0)<8?j:8;j=(k|0)>1?k:1;c[y>>2]=j;c[415600]=j;c[i>>2]=j;vs(1509584,49574,i)|0;ug(1509584,14);Fa=d;return}if(!(ts(b,49599,16)|0)){ug(49616,14);c[h>>2]=c[415600];c[h+4>>2]=0;vs(1509584,49647,h)|0;ug(1509584,6);Fa=d;return}if(!(ts(b,49676,10)|0)){c[g>>2]=y;Vt(n,63440,g)|0;g=c[y>>2]|0;n=(g|0)<8?g:8;g=(n|0)>1?n:1;c[y>>2]=g;c[415597]=g;y=((g|0)<4?g:4)<<2;c[(c[74e4]|0)+316>>2]=y;c[(c[740001]|0)+316>>2]=y;c[(c[740002]|0)+316>>2]=y;c[(c[740003]|0)+316>>2]=y;c[(c[740004]|0)+316>>2]=y;c[(c[740005]|0)+316>>2]=y;c[(c[740006]|0)+316>>2]=y;c[(c[740007]|0)+316>>2]=y;c[(c[740008]|0)+316>>2]=y;c[(c[740009]|0)+316>>2]=y;c[(c[740010]|0)+316>>2]=y;c[(c[740011]|0)+316>>2]=y;c[(c[740012]|0)+316>>2]=y;c[(c[740013]|0)+316>>2]=y;c[(c[740014]|0)+316>>2]=y;c[(c[740015]|0)+316>>2]=y;c[f>>2]=g;vs(1509584,49687,f)|0;ug(1509584,14);Fa=d;return}if(!(ts(b,49705,9)|0)){ug(49715,14);c[e>>2]=c[415597];c[e+4>>2]=0;vs(1509584,49740,e)|0;ug(1509584,6);Fa=d;return}else{ug(49762,14);ug(3042456,6);ug(49779,12);c[742549]=14;ug(61771,6);ug(48788,6);ug(49212,6);ug(49304,6);ug(49500,6);ug(49599,6);ug(48923,6);ug(49705,6);ug(3042456,6);Fa=d;return}}else B=b+13|0;else B=b+14|0;if(!(ts(B,48937,2)|0)){c[415613]=1;ug(48940,14);Fa=d;return}if(!(ts(B,48950,3)|0)){c[415613]=0;ug(48954,14);Fa=d;return}switch(a[B>>0]|0){case 49:{c[415613]=1;ug(48940,14);Fa=d;return}case 48:{c[415613]=0;ug(48954,14);Fa=d;return}default:{ug(48965,14);ug(3042456,6);ug(48990,6);ug(49020,6);ug(3042456,6);if(!((c[415613]|0)!=0?(ug(49051,12),(c[415613]|0)!=0):0))ug(49075,12);ug(3042456,6);Fa=d;return}}}else z=b+6|0;if(!(ts(z,48794,4)|0)){c[415607]=1;ug(48799,14);Fa=d;return}if(!(ts(z,48817,4)|0)){c[415607]=0;ug(48822,14);Fa=d;return}if(!(ts(z,48840,7)|0)){c[415607]=3;ug(48848,14);Fa=d;return}else{ug(48869,14);ug(3042456,6);ug(48890,12);ug(48817,6);ug(48794,6);ug(48840,6);ug(3042456,6);Fa=d;return}}function Gg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=(_q()|0)/120|0;if((c[516411]|0)==0|(c[704845]|0)<240)return;d=ig()|0;e=Su(d|0,((d|0)<0)<<31>>31|0,16)|0;d=G()|0;f=c[759973]|0;g=8388608/(((f|0)==0?30:f)|0)|0;f=Nu(e|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;G()|0;if((c[742422]|0)!=1|(f|0)<7864320|(c[742428]|0)==0)return;f=4;do{g=B(f+1001|0,b)|0;d=B(f,b)|0;e=f+-1|0;h=f|1;if(((((g*41|0)+103|0)%4701|0|0)%97|0)&4|0){$m(a,3,e,5,h,0);en(a,4,f,((Bo(2)|0)<<1)+12|0)}if(((((d<<2)+103|0)%4701|0|0)%101|0)&8|0){$m(a,3,e,5,h,0);en(a,4,f,7)}if(((((g*43|0)+103|0)%4701|0|0)%97|0)&4|0){$m(a,5,e,7,h,0);en(a,6,f,((Bo(2)|0)<<1)+12|0)}if(((((d*6|0)+103|0)%4701|0|0)%101|0)&8|0){$m(a,5,e,7,h,0);en(a,6,f,7)}if(((((g*45|0)+103|0)%4701|0|0)%97|0)&4|0){$m(a,7,e,9,h,0);en(a,8,f,((Bo(2)|0)<<1)+12|0)}if(((((d<<3)+103|0)%4701|0|0)%101|0)&8|0){$m(a,7,e,9,h,0);en(a,8,f,7)}f=f+2|0}while(f>>>0<10);return}function Hg(a){a=a|0;var b=0,d=0,e=0;b=Su(a|0,((a|0)<0)<<31>>31|0,16)|0;a=G()|0;d=c[759973]|0;e=8388608/(((d|0)==0?30:d)|0)|0;d=Nu(b|0,a|0,e|0,((e|0)<0)<<31>>31|0)|0;G()|0;return d|0}function Ig(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;b=Fa;Fa=Fa+48|0;d=b+16|0;e=b;if(!((c[742422]|0)==1&(c[742428]|0)!=0)){Fa=b;return}ek(a,60,4,123,26,0);an(a,60,4,124,27);f=0;do{h=((c[516408]|0)+f|0)%64|0;if(!f)i=60;else{j=f+60|0;k=c[2063584+(h<<5)+20>>2]|0;en(a,j,((k|0)/32768|0)+2|0,(k|0)>131071?8:2);i=j}en(a,i,19-(c[2063584+(h<<5)+16>>2]|0)|0,2);l=2063584+(h<<5)+4|0;j=c[l>>2]|0;k=(j|0)<98303?j:98303;j=c[2063584+(h<<5)+12>>2]|0;en(a,i,19-((((k|0)>0?k:0)>>>0)/6144|0)|0,(j|0)==0?1:j);f=f+1|0}while((f|0)!=64);if(!(An(225)|0)){f=c[759973]|0;m=+(c[l>>2]|0)*.0000152587890625;n=+((c[516401]|0)+((c[516393]|0)+((c[516385]|0)+((c[516377]|0)+((c[516369]|0)+((c[516361]|0)+((c[516353]|0)+((c[516345]|0)+((c[516337]|0)+((c[516329]|0)+((c[516321]|0)+((c[516313]|0)+((c[516305]|0)+((c[516297]|0)+((c[516289]|0)+((c[516281]|0)+((c[516273]|0)+((c[516265]|0)+((c[516257]|0)+((c[516249]|0)+((c[516241]|0)+((c[516233]|0)+((c[516225]|0)+((c[516217]|0)+((c[516209]|0)+((c[516201]|0)+((c[516193]|0)+((c[516185]|0)+((c[516177]|0)+((c[516169]|0)+((c[516161]|0)+((c[516153]|0)+((c[516145]|0)+((c[516137]|0)+((c[516129]|0)+((c[516121]|0)+((c[516113]|0)+((c[516105]|0)+((c[516097]|0)+((c[516089]|0)+((c[516081]|0)+((c[516073]|0)+((c[516065]|0)+((c[516057]|0)+((c[516049]|0)+((c[516041]|0)+((c[516033]|0)+((c[516025]|0)+((c[516017]|0)+((c[516009]|0)+((c[516001]|0)+((c[515993]|0)+((c[515985]|0)+((c[515977]|0)+((c[515969]|0)+((c[515961]|0)+((c[515953]|0)+((c[515945]|0)+((c[515937]|0)+((c[515929]|0)+((c[515921]|0)+((c[515913]|0)+((c[515905]|0)+(c[515897]|0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))|0)*2.384185791015625e-07;c[d>>2]=c[759972];c[d+4>>2]=f;g[d+8>>3]=m;g[d+16>>3]=n;vs(1509584,49815,d)|0;Ln(a,1509584,c[704871]|0,63,20,1,(c[759972]|0)<(c[759973]|0)?8:13)|0}else{d=c[759973]|0;n=+(c[2063584+(h<<5)+24>>2]|0);c[e>>2]=c[759972];c[e+4>>2]=d;g[e+8>>3]=n;vs(1509584,49799,e)|0;Ln(a,1509584,c[704871]|0,63,20,1,(c[759972]|0)<(c[759973]|0)?8:13)|0}hn(a);gn(a,59,3,124,27,0);Fa=b;return}function Jg(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=c[516408]|0;b=(c[759908]|0)+(c[742570]|0)|0;d=(b|0)>2097152?134217728:b<<6;c[2063584+(a<<5)>>2]=(d|0)>0?d:0;d=ig()|0;b=Su(d|0,((d|0)<0)<<31>>31|0,16)|0;d=G()|0;e=c[759973]|0;f=8388608/(((e|0)==0?30:e)|0)|0;g=((f|0)<0)<<31>>31;h=Nu(b|0,d|0,f|0,g|0)|0;G()|0;c[2063584+(a<<5)+4>>2]=h;h=c[704848]|0;d=Su(h|0,((h|0)<0)<<31>>31|0,16)|0;h=Nu(d|0,G()|0,f|0,g|0)|0;G()|0;c[2063584+(a<<5)+8>>2]=h;c[2063584+(a<<5)+12>>2]=(c[515628]|0)==0?((c[759972]|0)<(e|0)?14:6):7;c[2063584+(a<<5)+20>>2]=c[515627];c[2063584+(a<<5)+24>>2]=Gq()|0;a=((c[516408]|0)+1|0)%64|0;c[516408]=a;e=2063584+(a<<5)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;return}function Kg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=Fa;Fa=Fa+128|0;f=e+104|0;g=e+88|0;h=e+80|0;i=e+72|0;j=e+64|0;k=e+112|0;l=e;c[516411]=0;Kp(c[516414]|0);c[516414]=0;if((Xs(b,49833)|0?Xs(b,49840)|0:0)?Xs(b,71765)|0:0){if(Xs(b,72022)|0?!((a[b>>0]|0)==0&(c[416527]|0)!=0):0){c[416527]=0;Ih(c[524986]|0);c[704865]=0;if(!(c[742428]|0)){a[1733196]=0;a[1995340]=0;c[515219]=0}c[704849]=1;c[704849]=(eu(b,57067)|0)==0&1;if(!((eu(b,49867)|0)==0?!(eu(b,57902)|0):0))tr();c[516411]=(eu(b,49875)|0)!=0&1;c[704848]=0;c[704850]=0;lg();kg(279620);c[k>>2]=0;m=(d|0)!=0;d=(m^1)&1;n=Fp(262144)|0;a:do if(!(um(b,n)|0)){do if(!m){if((ft(n)|0)>>>0>65536){ug(49882,6);c[j>>2]=ft(n)|0;c[j+4>>2]=65536;vs(1509584,49909,j)|0;ug(1509584,6);Hp(n);break a}o=gh(n)|0;if((o|0)>8192){ug(49924,6);c[i>>2]=o;c[i+4>>2]=8192;vs(1509584,49942,i)|0;ug(1509584,6);Hp(n);break a}else{p=c[524987]|0;c[524986]=p;q=o*12|0;r=p;break}}else{p=c[524988]|0;c[524986]=p;q=0;r=p}while(0);_e(r);Yu(903216,0,262144)|0;Lm(903216,49958)|0;Xu(903216+(ft(903216)|0)|0,53895,358)|0;if(!(c[415563]|0))Xu(903216+(ft(903216)|0)|0,54253,639)|0;p=903216+(ft(903216)|0)|0;a[p>>0]=a[54892]|0;a[p+1>>0]=a[54893]|0;a[p+2>>0]=a[54894]|0;if(!((Xs(2966616,62362)|0)!=0?(Xs(2966616,54895)|0)!=0:0)){p=903216+(ft(903216)|0)|0;a[p>>0]=a[54901]|0;a[p+1>>0]=a[54902]|0;a[p+2>>0]=a[54903]|0;a[p+3>>0]=a[54904]|0;a[p+4>>0]=a[54905]|0;a[p+5>>0]=a[54906]|0;a[p+6>>0]=a[54907]|0}p=Fp(262144)|0;Lk(n,p);pt(903216,p)|0;Hp(n);Hp(p);if(57258){p=992;o=57258;do{ot(l,o)|0;s=c[p>>2]|0;if(!(Xs(b,s)|0)){c[h>>2]=49958;c[h+4>>2]=l;vs(903216,54908,h)|0;t=c[p>>2]|0}else t=s;s=ft(b)|0;u=ft(t)|0;b:do if(s>>>0>=(u+2|0)>>>0){if(ts(b,t,u)|0)break;v=b+u|0;switch(a[v>>0]|0){case 32:case 0:break;default:break b}if((a[b+(u+1)>>0]|0)==34)break;c[g>>2]=49958;c[g+4>>2]=l;c[g+8>>2]=v+1;vs(903216,54916,g)|0}while(0);p=p+4|0;o=c[p>>2]|0}while((o|0)!=0)}if(!(Xs(b,61176)|0)){o=903216;p=54928;u=o+9|0;do{a[o>>0]=a[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(u|0))}if((ts(b,54937,6)|0)==0?(a[b+6>>0]|0)<33:0){Fg(b+7|0);Lm(903216,3042456)|0}pt(903216,m?54944:54968)|0;c[759906]=1;p=qf(c[524986]|0,903216)|0;c[759906]=0;c[759908]=q;if(!p){Hk();c[759980]=0;if((c[742427]|0)==1)Eg();c[742422]=1;c[742428]=d;break}c[742549]=6;c:do if(m){vg(56198,14);w=d;x=0}else{p=Lg(c[8775]|0,k)|0;do if((p|0)>0){o=c[740016]|0;u=p+-1|0;if((Jr(c[o>>2]|0,c[o+336>>2]|0)|0)==(u|0))break;o=Kr(c[c[740016]>>2]|0,u)|0;u=c[740016]|0;c[u+336>>2]=o;Mr(u,52);c[416528]=p}else{if(p|0)break;vg(56198,14);w=d;x=0;break c}while(0);u=c[k>>2]|0;c[f>>2]=p;c[f+4>>2]=u;vs(1509584,56211,f)|0;vg(1509584,14);u=Dg(b,(c[8775]|0)+-2|0,1)|0;if(!u){w=0;x=0;break}vg(u,7);w=0;x=u}while(0);u=zg(td(c[524986]|0,-1,0)|0,w)|0;do if(u|0){if(Xs(u,56241)|0){vg(u,6);break}if(!(eu(x,56688)|0)){vg(56270,6);break}else{vg(u,6);break}}while(0);c[416455]=1}else Hp(n);while(0);Fa=e;return}n=c[524987]|0;if((n|0)!=0&(c[516412]|0)!=0){c[524986]=n;c[525571]=0;c[742428]=1;c[742422]=1;Hk();c[416527]=1;Fa=e;return}else{ug(49849,6);Fa=e;return}}n=c[524987]|0;if((n|0)!=0&(c[516412]|0)!=0){c[524986]=n;c[525571]=0;c[742428]=1;c[742422]=1;Hk();c[416527]=0;Fa=e;return}else{ug(49849,6);Fa=e;return}}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=Fa;Fa=Fa+16|0;e=d;f=a+-2|0;a=Dp(262144)|0;um(c[c[74e4]>>2]|0,a)|0;g=Jr(a,1048576)|0;Hp(a);a=g+2|0;if((f|0)>(a|0)){g=f-a|0;a=Dp(262144)|0;um(c[c[740001]>>2]|0,a)|0;h=Jr(a,1048576)|0;Hp(a);a=h+2|0;if((g|0)>(a|0)){h=g-a|0;a=Dp(262144)|0;um(c[c[740002]>>2]|0,a)|0;i=Jr(a,1048576)|0;Hp(a);a=i+2|0;if((h|0)>(a|0)){i=h-a|0;a=Dp(262144)|0;um(c[c[740003]>>2]|0,a)|0;j=Jr(a,1048576)|0;Hp(a);a=j+2|0;if((i|0)>(a|0)){j=i-a|0;a=Dp(262144)|0;um(c[c[740004]>>2]|0,a)|0;k=Jr(a,1048576)|0;Hp(a);a=k+2|0;if((j|0)>(a|0)){k=j-a|0;a=Dp(262144)|0;um(c[c[740005]>>2]|0,a)|0;l=Jr(a,1048576)|0;Hp(a);a=l+2|0;if((k|0)>(a|0)){l=k-a|0;a=Dp(262144)|0;um(c[c[740006]>>2]|0,a)|0;m=Jr(a,1048576)|0;Hp(a);a=m+2|0;if((l|0)>(a|0)){m=l-a|0;a=Dp(262144)|0;um(c[c[740007]>>2]|0,a)|0;n=Jr(a,1048576)|0;Hp(a);a=n+2|0;if((m|0)>(a|0)){n=m-a|0;a=Dp(262144)|0;um(c[c[740008]>>2]|0,a)|0;o=Jr(a,1048576)|0;Hp(a);a=o+2|0;if((n|0)>(a|0)){o=n-a|0;a=Dp(262144)|0;um(c[c[740009]>>2]|0,a)|0;p=Jr(a,1048576)|0;Hp(a);a=p+2|0;if((o|0)>(a|0)){p=o-a|0;a=Dp(262144)|0;um(c[c[740010]>>2]|0,a)|0;q=Jr(a,1048576)|0;Hp(a);a=q+2|0;if((p|0)>(a|0)){q=p-a|0;a=Dp(262144)|0;um(c[c[740011]>>2]|0,a)|0;r=Jr(a,1048576)|0;Hp(a);a=r+2|0;if((q|0)>(a|0)){r=q-a|0;a=Dp(262144)|0;um(c[c[740012]>>2]|0,a)|0;s=Jr(a,1048576)|0;Hp(a);a=s+2|0;if((r|0)>(a|0)){s=r-a|0;a=Dp(262144)|0;um(c[c[740013]>>2]|0,a)|0;t=Jr(a,1048576)|0;Hp(a);a=t+2|0;if((s|0)>(a|0)){t=s-a|0;a=Dp(262144)|0;um(c[c[740014]>>2]|0,a)|0;u=Jr(a,1048576)|0;Hp(a);a=u+2|0;if((t|0)>(a|0)){u=t-a|0;a=Dp(262144)|0;um(c[c[740015]>>2]|0,a)|0;v=Jr(a,1048576)|0;Hp(a);if((u|0)>(v+2|0)){if(!b){w=0;Fa=d;return w|0}c[b>>2]=0;w=0;Fa=d;return w|0}else{x=15;y=u}}else{x=14;y=t}}else{x=13;y=s}}else{x=12;y=r}}else{x=11;y=q}}else{x=10;y=p}}else{x=9;y=o}}else{x=8;y=n}}else{x=7;y=m}}else{x=6;y=l}}else{x=5;y=k}}else{x=4;y=j}}else{x=3;y=i}}else{x=2;y=h}}else{x=1;y=g}}else{x=0;y=f}if(b|0)c[b>>2]=x;if((vm()|0)<=0){w=y;Fa=d;return w|0}x=0;b=y;while(1){if((y|0)>(wm(x)|0)?(y|0)<=(xm(x)|0):0)break;if((y|0)>(xm(x)|0)){f=xm(x)|0;z=b+1-f+(wm(x)|0)|0}else z=b;f=x+1|0;if((f|0)<(vm()|0)){x=f;b=z}else{w=z;A=14;break}}if((A|0)==14){Fa=d;return w|0}A=ym(x)|0;z=y-(wm(x)|0)|0;c[e>>2]=A;c[e+4>>2]=z;vs(1509584,56293,e)|0;ug(1509584,9);w=1-y+b+(wm(x)|0)|0;Fa=d;return w|0}function Mg(){var a=0,b=0,d=0;if((c[704866]|0)>0)return;a=(c[742428]|0)!=0;if(a){c[524987]=c[524986];c[525571]=1;c[704865]=0;ul()|0;if(!((vk(2819376,c[743521]|0,24366)|0)&1)){c[742513]=0;c[742514]=1;c[742515]=2;c[742516]=3;c[742517]=4;c[742518]=5;c[742519]=6;c[742520]=7;c[742521]=8;c[742522]=9;c[742523]=10;c[742524]=11;c[742525]=12;c[742526]=13;c[742527]=14;c[742528]=15}if(!((vk(2819376,c[743521]|0,24366)|0)&2))uk(2819376,c[743521]|0,24415,0);if(!((vk(2819376,c[743521]|0,24366)|0)&4)){c[742906]=0;c[742907]=0;c[742908]=0;c[742909]=0}if(!((vk(2819376,c[743521]|0,24366)|0)&8)){c[742562]=15;c[742561]=15;c[742560]=255}if(!((vk(2819376,c[743521]|0,24366)|0)&16)){uk(2819376,c[743521]|0,24408,0);uk(2819376,c[743521]|0,24409,0);uk(2819376,c[743521]|0,24410,0);uk(2819376,c[743521]|0,24411,0)}if(!((vk(2819376,c[743521]|0,24366)|0)&32))c[742564]=0;hm();if(!(c[416455]|0))c[416455]=1}c[742422]=0;c[704863]=0;c[742557]=0;c[742556]=0;hn(c[704852]|0);ik(0);c[742550]=0;b=c[742551]|0;d=(b|0)<122?b:122;c[742551]=(d|0)>0?d:0;if(a?xn()|0:0)do yn()|0;while((xn()|0)!=0);c[415618]=0;return}function Ng(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=c[740018]|0;d=(a[c[c[74e4]>>2]>>0]|0)==0;e=(b|0)==1?1:(a[c[c[740001]>>2]>>0]|0)!=0;f=(b|0)==2?1:(a[c[c[740002]>>2]>>0]|0)!=0;g=(b|0)==3?1:(a[c[c[740003]>>2]>>0]|0)!=0;h=(b|0)==4?1:(a[c[c[740004]>>2]>>0]|0)!=0;i=(b|0)==5?1:(a[c[c[740005]>>2]>>0]|0)!=0;j=(b|0)==6?1:(a[c[c[740006]>>2]>>0]|0)!=0;k=(b|0)==7?1:(a[c[c[740007]>>2]>>0]|0)!=0;l=(b|0)==8?1:(a[c[c[740008]>>2]>>0]|0)!=0;m=(b|0)==9?1:(a[c[c[740009]>>2]>>0]|0)!=0;n=(b|0)==10?1:(a[c[c[740010]>>2]>>0]|0)!=0;o=(b|0)==11?1:(a[c[c[740011]>>2]>>0]|0)!=0;p=(b|0)==12?1:(a[c[c[740012]>>2]>>0]|0)!=0;q=(b|0)==13?1:(a[c[c[740013]>>2]>>0]|0)!=0;r=(b|0)==14?1:(a[c[c[740014]>>2]>>0]|0)!=0;s=(b|0)==15?1:(a[c[c[740015]>>2]>>0]|0)!=0;a[c[c[18328]>>2]>>0]=0;t=s?15:r?14:q?13:p?12:o?11:n?10:m?9:l?8:k?7:j?6:i?5:h?4:g?3:f?2:e?1:((b|0)!=0&d)<<31>>31;pt(c[c[18328]>>2]|0,c[c[74e4]>>2]|0)|0;if((t|0)>0){d=c[c[18328]>>2]|0;b=d+(ft(d)|0)|0;a[b>>0]=a[56305]|0;a[b+1>>0]=a[56306]|0;a[b+2>>0]=a[56307]|0;a[b+3>>0]=a[56308]|0;a[b+4>>0]=a[56309]|0;a[b+5>>0]=a[56310]|0;a[b+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740001]>>2]|0)|0;if((t|0)>1){b=c[c[18328]>>2]|0;d=b+(ft(b)|0)|0;a[d>>0]=a[56305]|0;a[d+1>>0]=a[56306]|0;a[d+2>>0]=a[56307]|0;a[d+3>>0]=a[56308]|0;a[d+4>>0]=a[56309]|0;a[d+5>>0]=a[56310]|0;a[d+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740002]>>2]|0)|0;if((t|0)>2){d=c[c[18328]>>2]|0;b=d+(ft(d)|0)|0;a[b>>0]=a[56305]|0;a[b+1>>0]=a[56306]|0;a[b+2>>0]=a[56307]|0;a[b+3>>0]=a[56308]|0;a[b+4>>0]=a[56309]|0;a[b+5>>0]=a[56310]|0;a[b+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740003]>>2]|0)|0;if((t|0)>3){b=c[c[18328]>>2]|0;d=b+(ft(b)|0)|0;a[d>>0]=a[56305]|0;a[d+1>>0]=a[56306]|0;a[d+2>>0]=a[56307]|0;a[d+3>>0]=a[56308]|0;a[d+4>>0]=a[56309]|0;a[d+5>>0]=a[56310]|0;a[d+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740004]>>2]|0)|0;if((t|0)>4){d=c[c[18328]>>2]|0;b=d+(ft(d)|0)|0;a[b>>0]=a[56305]|0;a[b+1>>0]=a[56306]|0;a[b+2>>0]=a[56307]|0;a[b+3>>0]=a[56308]|0;a[b+4>>0]=a[56309]|0;a[b+5>>0]=a[56310]|0;a[b+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740005]>>2]|0)|0;if((t|0)>5){b=c[c[18328]>>2]|0;d=b+(ft(b)|0)|0;a[d>>0]=a[56305]|0;a[d+1>>0]=a[56306]|0;a[d+2>>0]=a[56307]|0;a[d+3>>0]=a[56308]|0;a[d+4>>0]=a[56309]|0;a[d+5>>0]=a[56310]|0;a[d+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740006]>>2]|0)|0;if((t|0)>6){d=c[c[18328]>>2]|0;b=d+(ft(d)|0)|0;a[b>>0]=a[56305]|0;a[b+1>>0]=a[56306]|0;a[b+2>>0]=a[56307]|0;a[b+3>>0]=a[56308]|0;a[b+4>>0]=a[56309]|0;a[b+5>>0]=a[56310]|0;a[b+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740007]>>2]|0)|0;if((t|0)>7){b=c[c[18328]>>2]|0;d=b+(ft(b)|0)|0;a[d>>0]=a[56305]|0;a[d+1>>0]=a[56306]|0;a[d+2>>0]=a[56307]|0;a[d+3>>0]=a[56308]|0;a[d+4>>0]=a[56309]|0;a[d+5>>0]=a[56310]|0;a[d+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740008]>>2]|0)|0;if((t|0)>8){d=c[c[18328]>>2]|0;b=d+(ft(d)|0)|0;a[b>>0]=a[56305]|0;a[b+1>>0]=a[56306]|0;a[b+2>>0]=a[56307]|0;a[b+3>>0]=a[56308]|0;a[b+4>>0]=a[56309]|0;a[b+5>>0]=a[56310]|0;a[b+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740009]>>2]|0)|0;if((t|0)>9){b=c[c[18328]>>2]|0;d=b+(ft(b)|0)|0;a[d>>0]=a[56305]|0;a[d+1>>0]=a[56306]|0;a[d+2>>0]=a[56307]|0;a[d+3>>0]=a[56308]|0;a[d+4>>0]=a[56309]|0;a[d+5>>0]=a[56310]|0;a[d+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740010]>>2]|0)|0;if((t|0)>10){d=c[c[18328]>>2]|0;b=d+(ft(d)|0)|0;a[b>>0]=a[56305]|0;a[b+1>>0]=a[56306]|0;a[b+2>>0]=a[56307]|0;a[b+3>>0]=a[56308]|0;a[b+4>>0]=a[56309]|0;a[b+5>>0]=a[56310]|0;a[b+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740011]>>2]|0)|0;if((t|0)>11){b=c[c[18328]>>2]|0;d=b+(ft(b)|0)|0;a[d>>0]=a[56305]|0;a[d+1>>0]=a[56306]|0;a[d+2>>0]=a[56307]|0;a[d+3>>0]=a[56308]|0;a[d+4>>0]=a[56309]|0;a[d+5>>0]=a[56310]|0;a[d+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740012]>>2]|0)|0;if((t|0)>12){d=c[c[18328]>>2]|0;b=d+(ft(d)|0)|0;a[b>>0]=a[56305]|0;a[b+1>>0]=a[56306]|0;a[b+2>>0]=a[56307]|0;a[b+3>>0]=a[56308]|0;a[b+4>>0]=a[56309]|0;a[b+5>>0]=a[56310]|0;a[b+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740013]>>2]|0)|0;if((t|0)>13){b=c[c[18328]>>2]|0;d=b+(ft(b)|0)|0;a[d>>0]=a[56305]|0;a[d+1>>0]=a[56306]|0;a[d+2>>0]=a[56307]|0;a[d+3>>0]=a[56308]|0;a[d+4>>0]=a[56309]|0;a[d+5>>0]=a[56310]|0;a[d+6>>0]=a[56311]|0}pt(c[c[18328]>>2]|0,c[c[740014]>>2]|0)|0;if((t|0)<=14){u=c[18328]|0;v=c[u>>2]|0;w=c[740015]|0;x=c[w>>2]|0;pt(v,x)|0;return}t=c[c[18328]>>2]|0;d=t+(ft(t)|0)|0;a[d>>0]=a[56305]|0;a[d+1>>0]=a[56306]|0;a[d+2>>0]=a[56307]|0;a[d+3>>0]=a[56308]|0;a[d+4>>0]=a[56309]|0;a[d+5>>0]=a[56310]|0;a[d+6>>0]=a[56311]|0;u=c[18328]|0;v=c[u>>2]|0;w=c[740015]|0;x=c[w>>2]|0;pt(v,x)|0;return}function Og(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=c[(c[74e4]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740001]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740002]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740003]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740004]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740005]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740006]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740007]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740008]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740009]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740010]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740011]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740012]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740013]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740014]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[740015]|0)+4>>2]|0;Yu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=0;b=c[c[18328]>>2]|0;while(1){if((a|0)!=15){d=eu(b,56305)|0;e=c[c[296e4+(a<<2)>>2]>>2]|0;if(!d){f=e;g=6}else{Xu(e|0,b|0,d-b|0)|0;h=a+1|0;i=d+6|0}}else{f=c[c[740015]>>2]|0;g=6}if((g|0)==6){g=0;Lm(f,b)|0;h=16;i=b}if((h|0)<16){a=h;b=i}else break}return}function Pg(b){b=b|0;var c=0,d=0,e=0,f=0;c=Fa;Fa=Fa+1024|0;d=c;Yu(1165360,0,1024)|0;Lm(d,b)|0;a[1165360]=0;b=eu(d,61980)|0;if(!((b|0)!=0&b>>>0>d>>>0)){Fa=c;return 1165360}a[b>>0]=0;e=b;a:while(1){f=e+-1|0;b=a[f>>0]|0;if(!((b+-97&255)<26|(b+-48&255)<10))switch(b<<24>>24){case 45:case 95:break;default:break a}if(f>>>0>d>>>0)e=f;else break}Lm(1165360,f>>>0>d>>>0?e:f)|0;Fa=c;return 1165360}function Qg(a){a=a|0;return 1}function Rg(){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Fa;Fa=Fa+2064|0;e=d+2048|0;f=d+1024|0;g=d;Ng();Lm(2971644,2972669)|0;a[2972669]=0;a[2966616]=0;a[2967640]=0;Lm(g,2963156)|0;c[416455]=0;do if(!(eu(g,2960076)|0)){gr(56312,f);if(!(eu(g,f)|0)){Lm(2967640,g)|0;break}Yu(1165360,0,1024)|0;Lm(f,g)|0;a[1165360]=0;h=eu(f,61980)|0;if((h|0)!=0&h>>>0>f>>>0){a[h>>0]=0;i=h;a:while(1){j=i+-1|0;h=a[j>>0]|0;if(!((h+-97&255)<26|(h+-48&255)<10))switch(h<<24>>24){case 45:case 95:break;default:break a}if(j>>>0>f>>>0)i=j;else break}Lm(1165360,j>>>0>f>>>0?i:j)|0}Lm(2966616,1165360)|0;c[515893]=0}else Lm(2967640,g+(ft(2960076)|0)|0)|0;while(0);c[e>>2]=2963156;c[e+4>>2]=2967640;c[e+8>>2]=2966616;vs(1504976,56317,e)|0;Pm(1504976);a[2968664]=0;Cg();zk(2819376,c[743521]|0,0,0,17152);a[2964308]=0;a[2973694]=0;a[2973758]=0;a[2973822]=0;a[2973886]=0;a[2973950]=0;a[2974014]=0;b[1487039]=0;b[1487040]=0;b[1487041]=0;e=Ca(0)|0;Uk((_q()|0)+e|0);Kg(c[c[18328]>>2]|0,0);wq();tq(0,0);c[742906]=0;c[742907]=0;c[742908]=0;c[742909]=0;c[759972]=30;c[759973]=30;Hk();Eb(c[18328]|0,2964221);c[742431]=0;c[416527]=0;c[516412]=1;ik(0);Fa=d;return}function Sg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=Fa;Fa=Fa+560|0;e=d+536|0;f=d+520|0;g=d+512|0;h=d;i=d+548|0;j=d+544|0;c[j>>2]=0;Gd(b,59719);Nd(c[524986]|0,0,1,0,0,0)|0;k=td(b,-1,0)|0;if(!k){Fa=d;return}kd(b,-2);b=a[k>>0]|0;if(!(b<<24>>24)){Fa=d;return}l=k;k=0;m=b;while(1){if(k>>>0>=10){n=23;break}k=k+1|0;b=l;o=m;a:while(1){switch(o<<24>>24){case 10:case 0:{break a;break}default:{}}p=b+1|0;b=p;o=a[p>>0]|0}Yu(h|0,0,512)|0;nu(h,l,b-l|0)|0;l=(a[b>>0]|0)==10?b+1|0:b;b:do if((eu(h,56390)|0)==0?(eu(h,56406)|0)==0:0){o=h;c:while(1){switch(a[o>>0]|0){case 0:{break b;break}case 58:{break c;break}default:{}}o=o+1|0}c[i>>2]=0;c[g>>2]=i;Vt(o+1|0,63440,g)|0;p=c[i>>2]|0;if((p|0)>0){q=eu(h,56417)|0;if(!q){if(!(eu(h,56454)|0))break;r=Lg(p,j)|0;if((r|0)<=-1)break;p=c[j>>2]|0;c[e>>2]=r;c[e+4>>2]=p;vs(1509584,56468,e)|0;vg(1509584,13);break}p=q+13|0;q=p;d:while(1){switch(a[q>>0]|0){case 0:{break b;break}case 39:{break d;break}default:{}}q=q+1|0}a[q>>0]=0;o=Lg(c[i>>2]|0,j)|0;r=c[j>>2]|0;c[f>>2]=p;c[f+4>>2]=o;c[f+8>>2]=r;vs(1509584,56431,f)|0;ug(1509584,13)}}while(0);m=a[l>>0]|0;if(!(m<<24>>24)){n=23;break}}if((n|0)==23){Fa=d;return}}function Tg(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Fa;Fa=Fa+32|0;d=b+16|0;e=b;f=b+24|0;c[f>>2]=0;$e(c[524986]|0,1,0)|0;if($e(c[524986]|0,9,0)|0){g=c[524986]|0;if((c[759984]|0)>64)$e(g,2,0)|0;else $e(g,5,200)|0}if($e(c[524986]|0,9,0)|0?((c[759908]|0)+(c[742570]|0)|0)>2113536:0){g=c[704845]|0;if((c[524991]|0)!=(g|0)){c[759984]=(c[759984]|0)+1;c[524991]=g}$e(c[524986]|0,2,0)|0;g=c[742570]|0;if(((c[759908]|0)+g|0)>2113536){if(!($e(c[524986]|0,9,0)|0))Pm(56488);else vc(c[524986]|0,1);h=c[759908]|0;i=(c[742570]|0)+h|0;c[e>>2]=h+g;c[e+4>>2]=i;c[e+8>>2]=h;vs(1504976,56544,e)|0;Pm(1504976);if(((c[759908]|0)+(c[742570]|0)|0)>2113536){Cg();Mg();ug(56585,6);Fa=b;return}}}$e(c[524986]|0,0,0)|0;if((c[742422]|0)!=1|(c[742423]|0)!=0){Fa=b;return}eg();a:do switch(Pf(c[524986]|0,0,0)|0){case 0:{Mg();if((c[524986]|0)==(c[524987]|0))c[516412]=0;break}case 1:{c[742422]=1;break}default:if((c[704866]|0)<=0){Mg();if(c[742428]|0){e=c[524977]|0;if((e|0)>2){h=Dg(c[c[18328]>>2]|0,e+-2|0,1)|0;i=Lg(e,f)|0;e=c[f>>2]|0;c[d>>2]=i;c[d+4>>2]=e;vs(1509584,56599,d)|0;vg(1509584,14);if(h|0)vg(h,7);if((i|0)>0?(h=c[740016]|0,e=i+-1|0,(Jr(c[h>>2]|0,c[h+336>>2]|0)|0)!=(e|0)):0){h=Kr(c[c[740016]>>2]|0,e)|0;e=c[740016]|0;c[e+336>>2]=h;Mr(e,52);c[416528]=i}}}else vg(56628,14);Ag(td(c[524986]|0,-1,0)|0);if(a[3041272]|0)vg(3041272,6);if(c[759985]|0){c[759985]=0;break a}if(c[742428]|0)Sg(c[524986]|0)}}while(0);if(!(c[759981]|0)){Fa=b;return}d=_q()|0;if((d|0)<=((c[759982]|0)+1e3|0)){Fa=b;return}ul()|0;c[759982]=_q()|0;Fa=b;return}function Ug(){var a=0,b=0;_q()|0;kg(8388608/(c[759972]|0)|0);fg();c[416459]=0;if(qk()|0)return;a=1;while(1){c[742910]=(c[742910]|0)+1;c[759983]=0;Tg();if(!(c[759983]|0)){b=5;break}if(a>>>0<8192)a=a+1|0;else{b=5;break}}if((b|0)==5)return}function Vg(a){a=a|0;var b=0;b=(a|0)==0?2:a<<1;if((a|0)<0)return;c[704848]=(c[704848]|0)+b;jg(b)|0;return}function Wg(b){b=b|0;a[3041272]=0;if(!b)return;nu(3041272,b,254)|0;a[3041527]=0;return}function Xg(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0;a=c[516408]|0;c[759942]=c[759943];c[759943]=c[759944];c[759944]=c[759945];c[759945]=c[759946];c[759946]=c[759947];c[759947]=c[759948];c[759948]=c[759949];c[759949]=c[759950];c[759950]=c[759951];c[759951]=c[759952];c[759952]=c[759953];c[759953]=c[759954];c[759954]=c[759955];c[759955]=c[759956];c[759956]=c[759957];c[759957]=c[759958];c[759958]=c[759959];c[759959]=c[759960];c[759960]=c[759961];c[759961]=c[759962];c[759962]=c[759963];c[759963]=c[759964];c[759964]=c[759965];c[759965]=c[759966];c[759966]=c[759967];c[759967]=c[759968];c[759968]=c[759969];c[759969]=c[759970];c[759970]=c[759971];c[759971]=Gq()|0;b=c[759942]|0;d=c[759943]|0;e=c[759944]|0;f=c[759945]|0;g=c[759946]|0;h=c[759947]|0;i=c[759948]|0;j=c[759949]|0;k=c[759950]|0;l=c[759951]|0;m=c[759952]|0;n=c[759953]|0;o=c[759954]|0;p=c[759955]|0;q=c[759956]|0;r=c[759957]|0;s=c[759958]|0;t=c[759959]|0;u=c[759960]|0;v=c[759961]|0;w=c[759962]|0;x=c[759963]|0;y=c[759964]|0;z=c[759965]|0;A=c[759966]|0;B=c[759967]|0;C=c[759968]|0;D=c[759969]|0;E=c[759970]|0;F=c[759971]|0;H=((b|0)!=0&1)+((d|0)!=0&1)+((e|0)!=0&1)+((f|0)!=0&1)+((g|0)!=0&1)+((h|0)!=0&1)+((i|0)!=0&1)+((j|0)!=0&1)+((k|0)!=0&1)+((l|0)!=0&1)+((m|0)!=0&1)+((n|0)!=0&1)+((o|0)!=0&1)+((p|0)!=0&1)+((q|0)!=0&1)+((r|0)!=0&1)+((s|0)!=0&1)+((t|0)!=0&1)+((u|0)!=0&1)+((v|0)!=0&1)+((w|0)!=0&1)+((x|0)!=0&1)+((y|0)!=0&1)+((z|0)!=0&1)+((A|0)!=0&1)+((B|0)!=0&1)+((C|0)!=0&1)+((D|0)!=0&1)+((E|0)!=0&1)+((F|0)!=0&1)|0;I=c[759976]|0;J=c[759974]|0;if((I|0)>(J|0)){K=I-J|0;J=Su(K|0,((K|0)<0)<<31>>31|0,16)|0;K=G()|0;I=c[759973]|0;L=8388608/(((I|0)==0?30:I)|0)|0;I=Nu(J|0,K|0,L|0,((L|0)<0)<<31>>31|0)|0;G()|0;L=c[759913]|0;c[759912]=L;c[759913]=I;K=(L|0)==0|(L|0)<(I|0)?I:L;M=(I|0)==0|(K|0)>(I|0)?K:I}else M=1048576;I=c[759979]|0;K=c[759977]|0;if((I|0)<(K|0))return;L=c[515626]|0;J=I-K+(c[759910]|0)+((L|0)>0?L:0)|0;L=(c[515492]|0)==0;K=L?1e4:(F+(E+(D+(C+(B+(A+(z+(y+(x+(w+(v+(u+(t+(s+(r+(q+(p+(o+(n+(m+(l+(k+(j+(i+(h+(g+(f+(e+(d+b))))))))))))))))))))))))))))|0)/(((H|0)==0?1:H)|0)|0;H=c[759972]|0;b=c[759973]|0;if((c[515628]|0)!=0&(H|0)==(b|0)){c[2063584+(a<<5)+28>>2]=9;c[759972]=(H|0)/2|0;c[515628]=0;return}c[515628]=0;if((H|0)==60?(K|0)<60&(b|0)==60:0){d=2063584+(a<<5)+28|0;c[d>>2]=8;c[759972]=30;if(qr()|0?(e=_q()|0,(e-(c[759911]|0)|0)<2e3):0){c[d>>2]=10;d=(c[759910]|0)+1|0;c[759910]=(d|0)<5?d:5}c[759911]=_q()|0;return}if((H|0)>=(b|0))return;if((K|0)>=(b|0)?(M|0)<64512&(L|(J|0)<17|(b|0)==30):0){c[2063584+(a<<5)+28>>2]=11;c[759972]=b;return}if((M|0)>=63488)return;c[2063584+(a<<5)+28>>2]=2;return}function Yg(a){a=a|0;var b=0;if((a|0)>255){b=0;return b|0}b=d[1104+(a&255)>>0]|0;return b|0}function Zg(a){a=a|0;return d[1360+(a&255)>>0]|0|0}function _g(){c[291596]=0;c[524992]=0;return}function $g(a){a=a|0;Lm(1166384+(c[524992]<<6)|0,a)|0;c[524992]=(c[524992]|0)+1;return}function ah(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;d=c[524994]|0;if((d|4|0)!=-995)c[524995]=d;a[1182768]=0;c[524994]=0;e=b;a:while(1){f=a[e>>0]|0;switch(f<<24>>24){case 0:{g=6;break a;break}case 45:{g=7;break a;break}case 126:{g=16;break a;break}case 13:case 9:case 8:case 32:break;default:{h=0;i=f;break a}}e=e+1|0}if((g|0)==6){c[524994]=-1e3;j=e;return j|0}else if((g|0)==7){b=a[e+1>>0]|0;if(b<<24>>24==45){c[524994]=-995;b:do if((a[e+2>>0]|0)==91?(a[e+3>>0]|0)==91:0){k=e+4|0;l=1;while(1){m=eu(k,56642)|0;n=eu(k,56645)|0;if(!n)break b;o=(m|0)!=0&m>>>0<n>>>0;l=(o?1:-1)+l|0;p=(o?m:n)+2|0;if((l|0)<=0){j=p;break}else k=p}return j|0}while(0);k=e;l=45;c:while(1){switch(l<<24>>24){case 0:case 10:{j=k;break c;break}default:{}}p=k+1|0;k=p;l=a[p>>0]|0}return j|0}else{q=b;r=45;g=17}}else if((g|0)==16){q=a[e+1>>0]|0;r=126;g=17}do if((g|0)==17){if((q+-48&255)>9){if(q<<24>>24!=46){h=0;i=r;break}if(((a[e+2>>0]|0)+-48&255)>9){h=0;i=r;break}}b=c[524995]|0;h=((b|0)==-982|((b|0)==-980|((b+987|0)>>>0<2|((b|0)==-990|((b|0)==-972|((b|1|0)==-973|((b|0)==-963|((b|0)==61|((b|0)==-964|((b|1|0)==-965|((b|1|0)==-967|((b|1|0)==-969|((b|2|0)==62|((b|0)==37|((b|0)==94|((b|0)==45|((b|4|0)==47|((b|0)==42|((b|0)==126|((b|0)==63|((b|4|0)==44|(b|32|0)==123)))))))))))))))))))))&1;i=r}while(0);if(a[1104+(i&255)>>0]|0){c[524994]=0;r=c[8780]|0;q=f<<24>>24;if(!(a[1360+(q&255)>>0]|0)){s=r;t=0;u=e}else{b=r;r=0;l=e;k=q;q=f;while(1){p=(B(k,b)|0)&8191^7266;n=r+1|0;a[1182768+r>>0]=q;m=l+1|0;q=a[m>>0]|0;k=q<<24>>24;if(!(a[1360+(k&255)>>0]|0)){s=p;t=n;u=m;break}else{b=p;r=n;l=m}}}a[1182768+t>>0]=0;switch(d|0){case 46:case 58:break;default:{d=c[1248304+(s*20|0)+16>>2]|0;if(d|0?(Xs(1248304+(s*20|0)|0,1182768)|0)==0:0){c[524994]=d;j=u;return j|0}}}c[524994]=-998;j=u;return j|0}if((i+-48&255)>9)if(i<<24>>24==46)v=((a[e+1>>0]|0)+-48&255)<10&1;else v=0;else v=1;if(v|h|0){switch(i<<24>>24){case 126:case 45:{a[1182768]=i;h=e+1|0;w=h;x=a[h>>0]|0;break}default:{w=e;x=f}}c[524994]=0;d:do if(x<<24>>24!=48)if(x<<24>>24==46|(x+-48&255)<10)g=46;else{y=0;z=w}else{h=a[w+1>>0]|0;switch((h|32)<<24>>24){case 120:break;case 98:{a[1182768]=48;a[1182769]=h;v=0;u=w+2|0;while(1){d=a[u>>0]|0;switch(d<<24>>24){case 46:case 48:case 49:break;default:{y=v;z=u;break d}}a[1182768+v>>0]=d;v=v+1|0;u=u+1|0}break}default:{g=46;break d}}a[1182768]=48;a[1182769]=h;u=0;v=w+2|0;while(1){d=a[v>>0]|0;if(!((d+-48&255)<10|(d+-97&255)<6))switch(d<<24>>24){case 46:case 65:case 66:case 67:case 68:case 69:case 70:break;default:{y=u;z=v;break d}}a[1182768+u>>0]=d;u=u+1|0;v=v+1|0}}while(0);if((g|0)==46){v=0;u=w;w=x;while(1){x=v+1|0;a[1182768+v>>0]=w;h=u+1|0;w=a[h>>0]|0;if(!(w<<24>>24==46|(w+-48&255)<10)){y=x;z=h;break}else{v=x;u=h}}}a[1182768+y>>0]=0;c[524994]=-997;j=z;return j|0}switch(i<<24>>24){case 91:{z=e+1|0;y=a[z>>0]|0;if(y<<24>>24==91){c[524994]=-996;a[1182768]=0;u=e+2|0;v=1;while(1){w=eu(u,56642)|0;h=eu(u,56645)|0;if(!h)break;x=(w|0)!=0&w>>>0<h>>>0;v=(x?1:-1)+v|0;d=(x?w:h)+2|0;if((v|0)<=0){j=d;g=123;break}else u=d}if((g|0)==123)return j|0;j=e+(ft(e)|0)|0;return j|0}else{A=z;C=y;D=0}break}case 34:{a[1182768]=34;y=e;z=1;e:while(1){u=y+1|0;v=a[u>>0]|0;switch(v<<24>>24){case 34:{g=60;break e;break}case 10:case 0:{E=u;F=z;break e;break}case 92:{d=y+2|0;a[1182768+z>>0]=92;G=z+1|0;H=d;I=a[d>>0]|0;break}default:{G=z;H=u;I=v}}a[1182768+G>>0]=I;y=H;z=G+1|0}if((g|0)==60){a[1182768+z>>0]=34;E=y+2|0;F=z+1|0}a[1182768+F>>0]=0;c[524994]=-996;j=E;return j|0}case 39:{a[1182768]=39;E=e;F=1;f:while(1){z=E+1|0;y=a[z>>0]|0;switch(y<<24>>24){case 39:{g=66;break f;break}case 10:case 0:{J=F;K=z;break f;break}case 92:{G=E+2|0;a[1182768+F>>0]=92;L=G;M=F+1|0;N=a[G>>0]|0;break}default:{L=z;M=F;N=y}}a[1182768+M>>0]=N;E=L;F=M+1|0}if((g|0)==66){a[1182768+F>>0]=39;J=F+1|0;K=E+2|0}a[1182768+J>>0]=0;c[524994]=-996;j=K;return j|0}case 10:{c[524996]=(c[524996]|0)+1;c[524994]=-999;j=e+1|0;return j|0}case 58:{K=e+1|0;J=a[K>>0]|0;if(J<<24>>24==58){c[524994]=-958;j=e+2|0;return j|0}else{A=K;C=J;D=0}break}case 46:{J=e+1|0;K=a[J>>0]|0;if(K<<24>>24==46)if((a[e+2>>0]|0)==46){c[524994]=-959;j=e+3|0;return j|0}else{c[524994]=-962;j=e+2|0;return j|0}else{A=J;C=K;D=1}break}default:{K=e+1|0;A=K;C=a[K>>0]|0;D=0}}g:do if(C<<24>>24!=61){h:do if(!(i<<24>>24==0|C<<24>>24==0)?(a[e+2>>0]|0)==61:0){if(D&C<<24>>24==46){c[524994]=-963;j=e+3|0;return j|0}switch(i<<24>>24){case 47:{break h;break}case 60:{if(C<<24>>24!=60)break g;c[524994]=-963;j=e+3|0;return j|0}case 62:{if(C<<24>>24!=62)break g;c[524994]=-963;j=e+3|0;return j|0}case 94:{if(C<<24>>24!=94)break g;c[524994]=-963;j=e+3|0;return j|0}default:break g}}else g=100;while(0);i:do if((g|0)==100)switch(i<<24>>24){case 47:{break i;break}case 62:{if(C<<24>>24!=62)break g;K=e+2|0;switch(a[K>>0]|0){case 62:{if((a[e+3>>0]|0)==61){c[524994]=-963;j=e+4|0;return j|0}else{c[524994]=-954;j=e+3|0;return j|0}break}case 60:{c[524994]=-952;j=e+3|0;return j|0}default:{c[524994]=-955;j=K;return j|0}}break}case 60:{if(C<<24>>24!=60)break g;K=e+2|0;if((a[K>>0]|0)==62){c[524994]=-953;j=e+3|0;return j|0}else{c[524994]=-956;j=K;return j|0}break}case 94:{if(C<<24>>24!=94)break g;c[524994]=-951;j=e+2|0;return j|0}default:break g}while(0);if(C<<24>>24==47){c[524994]=-995;K=e;J=f;j:while(1){switch(J<<24>>24){case 0:case 10:{j=K;break j;break}default:{}}E=K+1|0;K=E;J=a[E>>0]|0}return j|0}}else do switch(i<<24>>24){case 60:{c[524994]=-968;j=e+2|0;return j|0}case 62:{c[524994]=-967;j=e+2|0;return j|0}case 126:{c[524994]=-965;j=e+2|0;return j|0}case 33:{c[524994]=-965;j=e+2|0;return j|0}case 61:{c[524994]=-964;j=e+2|0;return j|0}case 43:{c[524994]=-963;j=e+2|0;return j|0}case 45:{c[524994]=-963;j=e+2|0;return j|0}case 42:{c[524994]=-963;j=e+2|0;return j|0}case 47:{c[524994]=-963;j=e+2|0;return j|0}case 37:{c[524994]=-963;j=e+2|0;return j|0}case 38:{c[524994]=-963;j=e+2|0;return j|0}case 124:{c[524994]=-963;j=e+2|0;return j|0}default:break g}while(0);while(0);if(ts(e,62672,9)|0){c[524994]=i<<24>>24;j=A;return j|0}c[524994]=-960;A=e;e=f;k:while(1){switch(e<<24>>24){case 0:case 10:{j=A;break k;break}default:{}}f=A+1|0;A=f;e=a[f>>0]|0}return j|0}function bh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Fa;Fa=Fa+16|0;f=e+8|0;g=e;if((ft(b)|0)>>>0>15){Fa=e;return}h=c[8780]|0;i=a[b>>0]|0;if(!(i<<24>>24))j=h;else{k=b;l=h;h=i;while(1){i=(B(l,h<<24>>24)|0)&8191^7266;k=k+1|0;h=a[k>>0]|0;if(!(h<<24>>24)){j=i;break}else l=i}}l=1248304+(j*20|0)+16|0;h=1248304+(j*20|0)|0;if((c[l>>2]|0)==0?(a[h>>0]|0)==0:0){c[l>>2]=d;Lm(h,b)|0;Fa=e;return}c[g>>2]=h;c[g+4>>2]=b;xu(56648,g)|0;c[f>>2]=h;c[f+4>>2]=b;vs(1504976,56648,f)|0;Pm(1504976);va(0)}function ch(a){a=a|0;if(c[524993]|0)return;c[524993]=1;c[8780]=a;Yu(1248304,0,163840)|0;bh(56679,-993);bh(56688,-992);bh(56692,-991);bh(56696,-990);bh(56699,-989);bh(56704,-988);bh(56709,-987);bh(56716,-986);bh(56722,-974);bh(56726,-973);bh(56730,-972);bh(56733,-985);bh(56736,-983);bh(56742,-982);bh(56749,-981);bh(56756,-980);bh(56762,-979);bh(56767,-978);bh(57006,-961);bh(57011,-961);bh(56773,-961);bh(56777,-984);bh(56780,-977);bh(56788,-977);bh(56792,-977);bh(56801,-977);bh(56807,-977);if((c[524992]|0)<=0)return;a=0;do{bh(1166384+(a<<6)|0,-977);a=a+1|0}while((a|0)<(c[524992]|0));return}function dh(b){b=b|0;var c=0;c=ah(b)|0;if(!c)return 0;else return ((c|0)==(b|0)&(a[c>>0]|0)!=0?c+1|0:c)|0;return 0}function eh(b){b=b|0;var d=0,e=0;ch(c[8780]|0);c[524994]=0;c[524995]=0;c[524997]=b;d=ah(b)|0;if(!d){e=0;return e|0}e=(d|0)==(b|0)&(a[d>>0]|0)!=0?d+1|0:d;return e|0}function fh(){return c[524994]|0}function gh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=-1;e=0;while(1){if((d|0)==-1){ch(c[8780]|0);c[524994]=0;c[524995]=0;c[524997]=b;f=ah(b)|0;if(!f){g=0;h=0}else{g=0;h=(f|0)==(b|0)&(a[f>>0]|0)!=0?f+1|0:f}}else{if(!(a[e>>0]|0))break;f=ah(e)|0;if(!f){g=d;h=0}else{g=d;h=(f|0)==(e|0)&(a[f>>0]|0)!=0?f+1|0:f}}switch(c[524994]|0){case -958:case -960:case 58:case 44:case 46:case -992:case 93:case 125:case 41:case 59:case -1e3:case -983:case -995:case -999:{i=g;break}default:i=g+1|0}d=i;e=h}return d|0}function hh(){var a=0,b=0,d=0,e=0,f=0;a=tm(c[(c[18328]|0)+4>>2]|0,0)|0;b=c[18328]|0;d=c[b+44584>>2]|0;if(!(c[(c[d>>2]|0)+16>>2]|0))e=-4;else{f=c[b+4>>2]|0;e=(B(c[f>>2]<<1,c[f+4>>2]|0)|0)+260|0}Qr(a,d,e)|0;Oo(c[(c[18328]|0)+4>>2]|0,c[(c[728248]|0)+8>>2]|0,0,0,0,0,128,128);return}function ih(a){a=a|0;return}function jh(){return}function kh(){return}function lh(){return}function mh(a){a=a|0;return}function nh(){return}function oh(){return}function ph(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+4|0;f=b+8|0;b=32;do{g=b<<1;h=0;do{i=c[(c[(c[e>>2]|0)+16>>2]|0)+((h>>>6)+g<<2)>>2]|0;j=h<<1&126;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]=((d[i+(j|1)>>0]|0)<<4)+(d[i+j>>0]|0);h=h+1|0}while((h|0)!=128);b=b+1|0}while((b|0)!=64);return}function qh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+8|0;f=b+4|0;b=32;do{g=b<<1;h=0;do{i=(h>>>6)+g|0;j=h<<1&126;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+j>>0]=a[(c[(c[(c[e>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]&15;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+(j|1)>>0]=(d[(c[(c[(c[e>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]|0)>>>4;h=h+1|0}while((h|0)!=128);b=b+1|0}while((b|0)!=64);return}function rh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=Fa;Fa=Fa+2928|0;g=f+2920|0;h=f+2912|0;i=f+2904|0;j=f+2896|0;k=f+2888|0;l=f+2880|0;m=f+1856|0;n=f+832|0;o=f+64|0;p=f+2924|0;q=f;c[p>>2]=0;if(!(c[524999]|0)){c[524999]=1;Yu(1412144,0,1920)|0}if(!(c[524998]|0)){r=9;Fa=f;return r|0}c[l>>2]=mm()|0;vs(q,56814,l)|0;if(a[3041792]|0){c[k>>2]=3041792;vs(q,56825,k)|0}k=(e|0)==0;do if(!(rt(q,37)|0))if(k){ir(q,n);break}else{Zb(q,n);break}else if(k){e=0;while(1){c[j>>2]=e;vs(m,q,j)|0;ir(m,n);if(!(Kq(n)|0))break;else e=e+1|0}}else{e=0;while(1){c[i>>2]=e;vs(m,q,i)|0;Zb(m,n);if(!(Kq(n)|0))break;else e=e+1|0}}while(0);m=kl(n,0,p)|0;if(!m){c[h>>2]=c[p>>2];c[h+4>>2]=n;vs(1504976,56832,h)|0;Pm(1504976);s=1}else{c[g>>2]=n;vs(1504976,56866,g)|0;Pm(1504976);g=(b|0)>0?b:c[415601]|0;b=(g|0)<8?g:8;g=(b|0)<0?0:b<<7;b=cn(g,g,8)|0;if((c[524998]|0)>0){g=0;h=18;while(1){p=1412144+(g<<2)|0;i=c[p>>2]|0;if(!i){q=cn(128,128,8)|0;c[p>>2]=q;t=q}else t=i;i=c[t+12>>2]|0;q=0;u=h;do{u=(d[i+q>>0]|0)>15?256:u;q=q+1|0}while((q|0)!=16384);g=g+1|0;if((g|0)>=(c[524998]|0))break;else h=u}if((u|0)>0){v=u;w=25}else x=u}else{v=18;w=25}if((w|0)==25){w=c[704831]|0;u=0;do{a[o+(u*3|0)>>0]=a[w+(u*3|0)>>0]|0;a[o+(u*3|0)+1>>0]=a[w+(u*3|0)+1>>0]|0;a[o+(u*3|0)+2>>0]=a[w+(u*3|0)+2>>0]|0;u=u+1|0}while((u|0)!=(v|0));x=v}v=jl(1<<(sl(x)|0),o)|0;o=c[b>>2]|0;c[m>>2]=o;u=b+4|0;w=c[u>>2]|0;c[m+4>>2]=w;c[m+8>>2]=x;c[m+12>>2]=0;c[m+20>>2]=v;a:do if((c[524998]|0)>0){h=b+16|0;g=0;t=o;q=w;while(1){i=1412144+(g<<2)|0;jn(c[i>>2]|0,b,0,0,t,q,0);p=tl(m,0)|0;c[p>>2]=0;c[p+4>>2]=0;j=c[b>>2]|0;c[p+8>>2]=j;k=c[u>>2]|0;c[p+12>>2]=k;a[p+16>>0]=0;e=(g|0)!=0;c[p+20>>2]=e?0:v;l=hl(B(k,j)|0)|0;j=p+24|0;c[j>>2]=l;Yu(l|0,0,B(c[u>>2]|0,c[b>>2]|0)|0)|0;l=c[u>>2]|0;if((l|0)>0){k=0;y=l;z=c[b>>2]|0;while(1){if((z|0)>0){A=0;C=z;do{a[(c[j>>2]|0)+((B(C,k)|0)+A)>>0]=(d[(c[(c[h>>2]|0)+(k<<2)>>2]|0)+A>>0]|0)%(x|0)|0;A=A+1|0;C=c[b>>2]|0}while((A|0)<(C|0));D=c[u>>2]|0;E=C}else{D=y;E=z}k=k+1|0;if((k|0)>=(D|0)){F=D;break}else{y=D;z=E}}}else F=l;if(e&(F|0)>0){z=1412144+(g+-1<<2)|0;y=0;k=c[b>>2]|0;while(1){if((k|0)>0){A=0;G=k;while(1){H=c[415601]|0;I=(y|0)/(H|0)|0;J=(A|0)/(H|0)|0;if((a[(c[(c[(c[z>>2]|0)+16>>2]|0)+(I<<2)>>2]|0)+J>>0]|0)==(a[(c[(c[(c[i>>2]|0)+16>>2]|0)+(I<<2)>>2]|0)+J>>0]|0)){J=(B(G,y)|0)+A|0;a[(c[j>>2]|0)+J>>0]=17;K=c[b>>2]|0}else K=G;A=A+1|0;if((A|0)>=(K|0)){L=K;break}else G=K}}else L=k;y=y+1|0;if((y|0)>=(c[u>>2]|0))break;else k=L}}k=(g|0)==0;y=k?3:1;j=p+28|0;c[j>>2]=y;i=hl(y*12|0)|0;y=p+32|0;c[y>>2]=i;Yu(i|0,0,(c[j>>2]|0)*12|0)|0;if(k){k=c[y>>2]|0;c[k+8>>2]=255;c[k>>2]=11;j=hl(12)|0;c[k+4>>2]=j;k=j;j=56885;i=k+12|0;do{a[k>>0]=a[j>>0]|0;k=k+1|0;j=j+1|0}while((k|0)<(i|0));j=c[y>>2]|0;c[j+20>>2]=0;c[j+12>>2]=3;k=hl(3)|0;i=j+16|0;c[i>>2]=k;a[k>>0]=1;a[(c[i>>2]|0)+1>>0]=0;a[(c[i>>2]|0)+2>>0]=0;M=2}else M=0;i=c[y>>2]|0;c[i+(M*12|0)+8>>2]=249;c[i+(M*12|0)>>2]=4;k=hl(4)|0;j=i+(M*12|0)+4|0;c[j>>2]=k;a[k>>0]=1;a[(c[j>>2]|0)+1>>0]=3;a[(c[j>>2]|0)+2>>0]=0;a[(c[j>>2]|0)+3>>0]=17;j=g+1|0;if((j|0)>=(c[524998]|0))break a;g=j;t=c[b>>2]|0;q=c[u>>2]|0}}while(0);u=rl(m)|0;dn(b)|0;Gb(n,56897,128,128);il();n=(u|0)==0;if(n)Pm(56901);s=n&1}r=s;Fa=f;return r|0}function sh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Fa;Fa=Fa+16|0;d=b;if(!(c[524999]|0)){c[524999]=1;Yu(1412144,0,1920)|0}if(!(c[415615]|c[415604])){Fa=b;return}fr(b+8|0,b+4|0,d);_q()|0;d=c[415615]|0;e=c[415604]|0;if((e|0)>0|(d|0)!=0){f=0;g=e;e=d;while(1){d=1412144+(f<<2)|0;if(!(c[d>>2]|0)){c[d>>2]=cn(128,128,8)|0;h=c[415615]|0;i=c[415604]|0}else{h=e;i=g}f=f+1|0;d=(h|0)==0?i*30|0:480;j=(d|0)<480?d:480;if(f>>>0>=((j|0)>0?j:0)>>>0)break;else{g=i;e=h}}}Oo(a,c[1412144+(c[524998]<<2)>>2]|0,0,0,0,0,128,128);a=_q()|0;if((a|0)<(c[515893]|0))nb(c[1412144+(c[524998]<<2)>>2]|0);a=c[524998]|0;h=(c[415615]|0)==0?(c[415604]|0)*30|0:480;e=(h|0)<480;if((a|0)<(((h|0)<0?-1:e?h+-1|0:479)|0)){c[524998]=a+1;Fa=b;return}a=c[353036]|0;i=e?h:480;h=(i|0)<0?-1:i+-1|0;if((h|0)>0){e=0;do{g=e;e=e+1|0;c[1412144+(g<<2)>>2]=c[1412144+(((e|0)%(i|0)|0)<<2)>>2]}while((e|0)<(h|0));k=h}else k=0;c[1412144+(k<<2)>>2]=a;Fa=b;return}function th(){c[524998]=0;c[415606]=0;return}function uh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=Fa;Fa=Fa+16|0;f=e;g=Jt(a,63774)|0;if(!g){h=1;Fa=e;return h|0}a=Fp(1048576)|0;i=vu(a,1,1048576,g)|0;Pt(g)|0;g=Jt(b,62624)|0;if(!g){h=2;Fa=e;return h|0}ku(56926,6,1,g)|0;if((i|0)>0){b=0;do{c[f>>2]=d[a+b>>0];bu(g,71865,f)|0;b=b+1|0}while((b|0)!=(i|0))}ku(56933,7,1,g)|0;Pt(g)|0;h=0;Fa=e;return h|0}function vh(a){a=a|0;dn(c[(c[18328]|0)+44572>>2]|0)|0;a=cn(128,128,8)|0;c[(c[18328]|0)+44572>>2]=a;Oo(c[704861]|0,a,0,0,0,0,128,128);return 0}function wh(){return}function xh(){return ((c[524998]|0)+15|0)/30|0|0}function yh(b){b=b|0;c[b>>2]=0;a[b+4>>0]=0;c[b+8>>2]=0;return}function zh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;g=b+d|0;d=f+4|0;h=a[d>>0]|0;switch(c[f>>2]|0){case 0:{i=h;j=e;k=b;l=2;break}case 1:{m=h;n=e;o=b;l=6;break}case 2:{p=h;q=e;r=b;l=10;break}default:{s=0;return s|0}}while(1)if((l|0)==2){l=0;if((k|0)==(g|0)){t=i;u=j;v=0;break}b=a[k>>0]|0;h=b>>>2&63;if((h&255)<<24>>24>63)w=61;else w=a[56941+h>>0]|0;a[j>>0]=w;m=b<<4&48;n=j+1|0;o=k+1|0;l=6;continue}else if((l|0)==6){l=0;if((o|0)==(g|0)){t=m;u=n;v=1;break}b=a[o>>0]|0;h=b>>>4&15|m&255;if((h&255)<<24>>24>63)x=61;else x=a[56941+(h<<24>>24)>>0]|0;a[n>>0]=x;p=b<<2&60;q=n+1|0;r=o+1|0;l=10;continue}else if((l|0)==10){l=0;if((r|0)==(g|0)){t=p;u=q;v=2;break}b=a[r>>0]|0;h=b>>>6&3|p&255;if((h&255)<<24>>24>63)y=61;else y=a[56941+(h<<24>>24)>>0]|0;a[q>>0]=y;h=b&63;b=h&255;if(b<<24>>24>63)z=61;else z=a[56941+h>>0]|0;a[q+1>>0]=z;h=f+8|0;A=(c[h>>2]|0)+1|0;c[h>>2]=(A|0)==18?0:A;i=b;j=q+2|0;k=r+1|0;l=2;continue}a[d>>0]=t;c[f>>2]=v;s=u-e|0;return s|0}function Ah(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;switch(c[d>>2]|0){case 1:{e=a[d+4>>0]|0;if(e<<24>>24>63)f=61;else f=a[56941+(e<<24>>24)>>0]|0;a[b>>0]=f;a[b+1>>0]=61;g=b+2|0;h=3;break}case 2:{f=a[d+4>>0]|0;if(f<<24>>24>63)i=61;else i=a[56941+(f<<24>>24)>>0]|0;a[b>>0]=i;g=b+1|0;h=2;break}default:{j=b;k=j;l=b;m=k-l|0;return m|0}}a[g>>0]=61;j=b+h|0;k=j;l=b;m=k-l|0;return m|0}function Bh(b){b=b|0;c[b>>2]=0;a[b+4>>0]=0;return}function Ch(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;h=g+4|0;i=a[h>>0]|0;a[f>>0]=i;switch(c[g>>2]|0){case 0:{j=f;k=b;l=b+e|0;m=6;break}case 1:{n=f;o=b;p=b+e|0;q=i;m=12;break}case 2:{r=f;s=b;t=b+e|0;u=i;m=18;break}case 3:{v=f;w=b;x=b+e|0;y=i;m=24;break}default:{z=0;return z|0}}a:while(1)if((m|0)==6){m=0;i=k;do{if((i|0)==(l|0)){A=j;B=0;break a}e=i;i=i+1|0;b=(d[e>>0]<<24)+-721420288|0;if(b>>>0>1342177280)C=-1;else C=a[1616+(b>>>24)>>0]|0}while((C&128|0)!=0);b=C<<2&255;a[j>>0]=b;n=j;o=i;p=l;q=b;m=12;continue}else if((m|0)==12){m=0;b=o;do{if((b|0)==(p|0)){A=n;B=1;break a}e=b;b=b+1|0;D=(d[e>>0]<<24)+-721420288|0;if(D>>>0>1342177280)E=-1;else E=a[1616+(D>>>24)>>0]|0}while((E&128|0)!=0);i=n+1|0;a[n>>0]=E>>>4&3|q&255;D=E<<4&255;a[i>>0]=D;r=i;s=b;t=p;u=D;m=18;continue}else if((m|0)==18){m=0;D=s;do{if((D|0)==(t|0)){A=r;B=2;break a}i=D;D=D+1|0;e=(d[i>>0]<<24)+-721420288|0;if(e>>>0>1342177280)F=-1;else F=a[1616+(e>>>24)>>0]|0}while((F&128|0)!=0);b=r+1|0;a[r>>0]=F>>>2&15|u&255;e=F<<6&255;a[b>>0]=e;v=b;w=D;x=t;y=e;m=24;continue}else if((m|0)==24){m=0;e=w;do{if((e|0)==(x|0)){A=v;B=3;break a}b=e;e=e+1|0;i=(d[b>>0]<<24)+-721420288|0;if(i>>>0>1342177280)G=-1;else G=a[1616+(i>>>24)>>0]|0}while((G&128|0)!=0);a[v>>0]=G&63|y&255;j=v+1|0;k=e;l=x;m=6;continue}c[g>>2]=B;a[h>>0]=a[A>>0]|0;z=A-f|0;return z|0}function Dh(){return}function Eh(){return}function Fh(){return 0}function Gh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=Fa;Fa=Fa+16|0;d=b;e=b+4|0;f=c[2969988+((c[742549]&15)<<2)>>2]&15;c[e>>2]=0;g=jd(a)|0;if(!g){h=0;Fa=b;return h|0}i=nd(a,1)|0;do if((i+-3|0)>>>0>=2)if((i|0)==1){j=(sd(a,1)|0)==0;k=j?57011:57006;c[e>>2]=ft(k)|0;l=k;break}else{c[d>>2]=od(a,i)|0;vs(1509584,57062,d)|0;c[e>>2]=ft(1509584)|0;l=1509584;break}else l=td(a,1,e)|0;while(0);if((g|0)==2){d=c[742549]&255;if((jd(a)|0)>=2){i=pd(a,2,0)|0;k=i>>>16&255;c[742549]=k;if(!((i&268435456|0)==0|(c[742569]|0)!=1)?(j=i>>>8&65536|i&65535,c[742564]=j,(i&33554432|0)!=0):0){c[742564]=j|131072;m=k}else m=k}else m=d;d=c[2969988+((m&15)<<2)>>2]&15;if(!(c[742564]&262144)){n=c[2969988+(m>>>4<<2)>>2]<<4&240|d;o=0}else{n=c[2970116+(d<<2)>>2]|0;o=0}}else if((g|0)>2){d=(pd(a,2,0)|0)>>16;m=(pd(a,3,0)|0)>>16;c[742550]=d;c[742551]=m;if((g|0)!=3){m=c[742549]&255;if((jd(a)|0)>=4){d=pd(a,4,0)|0;k=d>>>16&255;c[742549]=k;if(!((d&268435456|0)==0|(c[742569]|0)!=1)?(j=d>>>8&65536|d&65535,c[742564]=j,(d&33554432|0)!=0):0){c[742564]=j|131072;p=k}else p=k}else p=m;m=c[2969988+((p&15)<<2)>>2]&15;if(!(c[742564]&262144)){n=c[2969988+(p>>>4<<2)>>2]<<4&240|m;o=1}else{n=c[2970116+(m<<2)>>2]|0;o=1}}else{n=f;o=1}}else{n=f;o=0}f=(g|0)<3?32:0;g=o|(c[742428]|0)!=0?f:f|16;c[525e3]=0;if(!(rk(c[704852]|0,l,c[e>>2]|0,g,n)|0)){yd(a,c[525e3]<<16);h=1;Fa=b;return h|0}Jg();a=c[759972]|0;if((a|0)==30){Jg();q=c[759972]|0}else q=a;if((q|0)==15){Jg();Jg()}sb();Ik();c[704863]=0;Dm();lg();c[704848]=0;if(c[416527]|0){c[742427]=2;c[742551]=0;c[742550]=0}if(c[415606]|0){ab(0);sh(c[704861]|0)}mg();h=0;Fa=b;return h|0}function Hh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Fa;Fa=Fa+2048|0;h=g+1024|0;i=g;if((b|0)==0|(d|0)==0){j=1;Fa=g;return j|0}k=ft(b)|0;l=ft(2960076)|0;if((e|0)>1023|(k+4+l+(ft(2961100)|0)|0)>>>0>=e>>>0){j=1;Fa=g;return j|0}Lm(h,b)|0;if(eu(h,64122)|0){j=1;Fa=g;return j|0}b=a[h>>0]|0;a:do if(b<<24>>24){e=h;l=b;b:while(1){if(!((l+-97&255)<26|(l+-48&255)<10))switch(l<<24>>24){case 32:case 46:case 47:case 95:break;default:{j=1;break b}}e=e+1|0;l=a[e>>0]|0;if(!(l<<24>>24))break a}Fa=g;return j|0}while(0);eo(h,0,0,i);if(57017){b=1696;l=0;e=57017;do{k=(Xs(i,e)|0)==0;l=k?1:l;b=b+4|0;e=c[b>>2]|0}while((e|0)!=0);if(!l)m=13}else m=13;if((m|0)==13){m=h+(ft(h)|0)|0;a[m>>0]=a[57017]|0;a[m+1>>0]=a[57018]|0;a[m+2>>0]=a[57019]|0;a[m+3>>0]=a[57020]|0;a[m+4>>0]=a[57021]|0}if(!f){Zb(h,d);j=0;Fa=g;return j|0}else{ir(h,d);j=0;Fa=g;return j|0}return 0}function Ih(a){a=a|0;Ed(a,6,0);Jd(a,57067);Ed(a,7,0);Jd(a,57082);Ed(a,8,0);Jd(a,57092);Ed(a,9,0);Jd(a,57103);Ed(a,10,0);Jd(a,57110);Ed(a,11,0);Jd(a,57118);Ed(a,12,0);Jd(a,57127);Ed(a,13,0);Jd(a,57135);Ed(a,14,0);Jd(a,57142);Ed(a,15,0);Jd(a,57151);Ed(a,15,0);Jd(a,57164);Ed(a,16,0);Jd(a,57173);Ed(a,17,0);Jd(a,57180);Ed(a,18,0);Jd(a,57189);Ed(a,19,0);Jd(a,57200);Ed(a,20,0);Jd(a,57226);Ed(a,21,0);Jd(a,57229);Ed(a,22,0);Jd(a,57235);Ed(a,23,0);Jd(a,57239);Ed(a,24,0);Jd(a,57242);Ed(a,13,0);Jd(a,57248);Ed(a,25,0);Jd(a,57253);Ed(a,26,0);Jd(a,57258);Ed(a,27,0);Jd(a,57263);Ed(a,28,0);Jd(a,57270);Ed(a,29,0);Jd(a,57276);Ed(a,29,0);Jd(a,57285);Ed(a,30,0);Jd(a,57290);Ed(a,31,0);Jd(a,57295);Ed(a,32,0);Jd(a,57302);return}function Jh(a){a=a|0;var b=0;if(!(c[704849]|0))return 0;b=(pd(a,1,0)|0)>>16<<1;c[524978]=b+(c[524978]|0);return 0}function Kh(a){a=a|0;if((c[704866]|0)>0)return 0;c[742427]=2;c[742557]=0;c[742556]=0;Gh(a)|0;mg();return 0}function Lh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Fa;Fa=Fa+2096|0;e=d+2080|0;f=d+2072|0;g=d+2064|0;h=d+1040|0;i=d;j=d+2084|0;c[j>>2]=0;if(!(jd(b)|0)){Fa=d;return 0}k=nd(b,1)|0;do if((k+-3|0)>>>0>=2)if((k|0)==1){l=(sd(b,1)|0)==0;m=l?57011:57006;c[j>>2]=ft(m)|0;n=m;break}else{c[g>>2]=od(b,k)|0;vs(1509584,57062,g)|0;c[j>>2]=ft(1509584)|0;n=1509584;break}else n=td(b,1,j)|0;while(0);if((jd(b)|0)<=1){g=Ir(n,0,1)|0;su(g)|0;Rt(c[8793]|0)|0;Hp(g);Fa=d;return 0}g=td(b,2,0)|0;if(!g){Fa=d;return 0}if((jd(b)|0)>2)o=sd(b,3)|0;else o=0;if(!(Xs(g,57902)|0)){k=Ir(n,0,1)|0;rr(k)|0;if((sr(k)|0)==0?(An(-5)|0)==0:0)cb(58862,1500);m=c[416461]|0;if(m|0)Hp(m);c[416461]=k;Fa=d;return 0}if((jd(b)|0)>3)p=sd(b,4)|0;else p=0;if(Hh(g,h,1023,p)|0){yb(58892)|0;Fa=d;return 0}p=c[515219]|0;g=(ft(n)|0)+p|0;if(g>>>0>10485759){yb(58918)|0;Fa=d;return 0}c[515219]=g;c[f>>2]=h;vs(i,58955,f)|0;do if(!(eu(1995340,i)|0)){f=0;g=0;a:while(1){switch(a[1995340+f>>0]|0){case 0:{break a;break}case 124:{q=g+1|0;break}default:q=g}f=f+1|0;g=q}if((g|0)<=63){pt(1995340,i)|0;break}yb(58959)|0;Fa=d;return 0}while(0);i=Jt(h,(o|0)==0?58981:62624)|0;if(!i){cb(58987,1500);Fa=d;return 0}o=Ir(n,0,1)|0;h=ft(n)|0;if(h>>>0<(c[j>>2]|0)>>>0)ju(o,i)|0;else{c[e>>2]=o;bu(i,58983,e)|0}Pt(i)|0;Hp(o);Fa=d;return 0}function Mh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Fa;Fa=Fa+16|0;d=b+8|0;e=b;f=nd(a,1)|0;Vg(2);if(!(jd(a)|0)){Ad(a,3042456)|0;Fa=b;return 1}switch(f|0){case 4:{kd(a,1);Fa=b;return 1}case 3:{if((jd(a)|0)>1?sd(a,2)|0:0){g=pd(a,1,0)|0;c[e>>2]=g>>>16;c[e+4>>2]=g&65535;vs(1509584,58850,e)|0;Ad(a,1509584)|0;Fa=b;return 1}Ad(a,td(a,1,0)|0)|0;Fa=b;return 1}case 1:{e=(sd(a,1)|0)==0;Ad(a,e?57011:57006)|0;Fa=b;return 1}default:{c[d>>2]=od(a,f)|0;vs(1509584,57062,d)|0;Ad(a,1509584)|0;Fa=b;return 1}}return 0}function Nh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=Fa;Fa=Fa+7200|0;e=d+7184|0;f=d+7168|0;g=d+6144|0;h=d+5120|0;i=d+4096|0;j=d+3072|0;k=d+2048|0;l=d+1024|0;m=d;n=d+7196|0;c[n>>2]=255;if((c[704866]|0)>0){o=0;Fa=d;return o|0}ul()|0;if((nd(b,1)|0)!=4){o=0;Fa=d;return o|0}if((jd(b)|0)<=1)if(!(c[742428]|0)){og();p=0}else p=0;else p=td(b,2,0)|0;if((jd(b)|0)>2?(td(b,3,0)|0)!=0:0)nu(2972669,td(b,3,0)|0,1024)|0;else a[2972669]=0;if((jd(b)|0)<=0){o=0;Fa=d;return o|0}q=td(b,1,n)|0;if(!q){o=0;Fa=d;return o|0}c[415621]=0;Lm(k,2963156)|0;Lm(m,2961100)|0;if((a[q>>0]|0)==47){Lm(m,3042456)|0;r=q+1|0}else r=q;Lm(g,r)|0;switch(a[r>>0]|0){case 95:{if((a[r+1>>0]|0)==95)s=37;else s=22;break}case 35:{c[415618]=0;c[415621]=0;if(!(c[742428]|0))xg(58607,0,0);q=r+1|0;m=cm()|0;c[f>>2]=61954;c[f+4>>2]=m;c[f+8>>2]=q;vs(l,58622,f)|0;am(l,Nl(q)|0,0);c[742430]=30;if((p|0)!=0?(ft(p)|0)>>>0>1:0){ng(k,p,1);t=100}else t=100;break}default:s=22}a:do if((s|0)==22){do if(!(Xs(r,58671)|0)){q=c[516415]|0;if(!q){s=37;break a}Pb(q,58680);c[516415]=0;Lm(2963156,3042456)|0;xg(58691,ft(c[c[18328]>>2]|0)|0,0)}else{if(((Xs(r,57902)|0?Xs(r,57908)|0:0)?Xs(r,57917)|0:0)?Xs(r,57927)|0:0){if(Tb(g)|0){s=37;break a}eo(2963156,h,i,j);q=ft(c[c[18328]>>2]|0)|0;c[e>>2]=i;c[e+4>>2]=j;c[e+8>>2]=q;vs(1509584,58749,e)|0;if(c[742428]|0)break;wg(1509584);break}wg(58719);t=1;break a}while(0);if(p|0?(ft(p)|0)>>>0>1:0)ng(k,p,0);Eg();q=c[740016]|0;l=q+336|0;c[q+324>>2]=0;c[q+320>>2]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;zk(2819376,c[743521]|0,0,0,17152);Vg(8388608);if((c[704867]|0)==0&(c[742428]|0)!=0?(c[742427]=1,(Xs(2963156,k)|0)!=0):0){c[742430]=30;t=0}else t=0}while(0);if((s|0)==37)if(!(c[742428]|0)){switch(c[741076]|0){case 1:{wg(58772);break}case 2:{wg(58803);break}default:wg(58835)}c[741076]=0;t=1}else t=1;switch(t&127){case 100:{mg();Fd(b,0);o=1;Fa=d;return o|0}case 0:{Fd(b,1);o=1;Fa=d;return o|0}default:{Fd(b,0);o=1;Fa=d;return o|0}}return 0}function Oh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Fa;Fa=Fa+16|0;e=d+8|0;f=d;g=td(b,1,0)|0;h=td(b,2,0)|0;i=(pd(b,2,0)|0)>>16;j=(pd(b,3,0)|0)>>16;if(!g){Fa=d;return 0}if(!(Xs(g,58284)|0)){ab(0);vh(c[704861]|0)|0;cb(58290,1500);Fa=d;return 0}if(!(Xs(g,58302)|0)){ab(0);if(Yb(c[704861]|0,i,j)|0){cb(58309,1500);Fa=d;return 0}if(!j){cb(58350,1500);Fa=d;return 0}else{cb(58338,1500);Fa=d;return 0}}if(!(Xs(g,58371)|0)){th();Fa=d;return 0}if(!(Xs(g,58375)|0)){th();c[415606]=1;Fa=d;return 0}if(!(Xs(g,58386)|0)){c[415606]=0;ab(0);b=rh(i,j)|0;k=c[524998]|0;c[f>>2]=b;c[f+4>>2]=k;xu(58392,f)|0;if((b|0)==9){cb(58437,1500);Fa=d;return 0}if((b|0)>0){cb(58466,1500);Fa=d;return 0}b=xh()|0;if(!j){wb(58508,1500,b,0);Fa=d;return 0}else{wb(58488,1500,b,0);Fa=d;return 0}}if(!(Xs(g,58532)|0)){c[416456]=1;rb();if(i|0){Fa=d;return 0}c[416458]=0;Fa=d;return 0}if(!(Xs(g,58538)|0)){c[416456]=3;rb();c[416458]=0;Fa=d;return 0}if(!(Xs(g,57270)|0)){if(c[704866]|0){Fa=d;return 0}i=_q()|0;if((i|0)<=((c[515629]|0)+500|0)){Fa=d;return 0}c[704866]=1;c[515629]=_q()|0;Fa=d;return 0}if(!((Xs(g,58547)|0)!=0?(Xs(g,58558)|0)!=0:0))l=33;if((l|0)==33?qg()|0:0){tg();mg();Fa=d;return 0}if(!(Xs(g,57276)|0)){c[742427]=2;mg();Fa=d;return 0}if(!((a[2966616]|0)!=0&(c[742428]|0)!=0|(c[415553]|0)!=0)?(h|0)!=0&(Xs(g,58566)|0)==0:0){Mm(h);Fa=d;return 0}if(Xs(g,58576)|0){c[e>>2]=g;vs(1509584,58589,e)|0;cb(1509584,2e3);Fa=d;return 0}if(!h)a[3041792]=0;else nu(3041792,h,63)|0;h=3041792;a:while(1){switch(a[h>>0]|0){case 0:{break a;break}case 46:{a[h>>0]=0;break}default:{}}h=h+1|0}Fa=d;return 0}function Ph(a){a=a|0;return Nf(a)|0}function Qh(a){a=a|0;var b=0;if((jd(a)|0)==1?(nd(a,1)|0)==3:0){hg((pd(a,1,0)|0)/65536|0);b=0;return b|0}Fd(a,gg()|0);b=1;return b|0}function Rh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=Fa;Fa=Fa+3936|0;e=d+3104|0;f=d+3088|0;g=d+3080|0;h=d+3072|0;i=d+2048|0;j=d+1024|0;k=d;l=d+3112|0;fo(2960076,k);if((c[704867]|0)==0&(c[742428]|0)!=0){Fa=d;return 0}if((jd(b)|0)>0?(m=td(b,1,0)|0,m|0):0){if((ft(m)|0)>>>0>511){Fa=d;return 0}if((a[m>>0]|0)==47){c[g>>2]=k;c[g+4>>2]=m+1;vs(i,58243,g)|0}else{c[f>>2]=k;c[f+4>>2]=2961100;c[f+8>>2]=m;vs(i,58220,f)|0}fo(i,j);if((a[k>>0]|0)!=46?(eu(j,k)|0)==0:0){ug(58249,7);Fa=d;return 0}i=Hq(j,61978,l,-1)|0;Jq(l)|0;if(i|0){ug(58260,7);Fa=d;return 0}if((a[k>>0]|0)==46)Lm(2961100,j)|0;else Lm(2961100,j+(ft(k)|0)|0)|0;if(!(Xs(2961100,64746)|0))a[2961100]=0;c[e>>2]=2961100;vs(1509584,58280,e)|0;ug(1509584,12);Fa=d;return 0}c[h>>2]=2961100;vs(1509584,58228,h)|0;ug(1509584,12);Fa=d;return 0}function Sh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Fa;Fa=Fa+1040|0;d=b+1024|0;e=b;if((c[704867]|0)==0&(c[742428]|0)!=0){f=0;Fa=b;return f|0}if((jd(a)|0)<1){wg(58207);f=0;Fa=b;return f|0}g=td(a,1,0)|0;if(!g){f=0;Fa=b;return f|0}if((ft(g)|0)>>>0>511){yd(a,0);f=1;Fa=b;return f|0}else{c[d>>2]=2960076;c[d+4>>2]=2961100;c[d+8>>2]=g;vs(e,58220,d)|0;kr(e)|0;f=0;Fa=b;return f|0}return 0}function Th(b){b=b|0;if((c[704866]|0)>0)return 0;if((jd(b)|0)>0)nu(2972669,td(b,1,0)|0,1024)|0;else a[2972669]=0;c[704866]=3;mg();return 0}function Uh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Fa;Fa=Fa+1856|0;e=d+1024|0;f=d+1032|0;g=d;c[760314]=17;a[2060884]=0;h=(c[742428]|0)==0;i=(jd(b)|0)>0;if(h){if(i)nu(2060884,td(b,1,0)|0,1023)|0;qb();j=0;Fa=d;return j|0}if(i|(c[415552]|0)==0){j=0;Fa=d;return j|0}c[e>>2]=2960076;c[e+4>>2]=2961100;vs(g,71619,e)|0;Hq(g,61978,f,-1)|0;Id(b,0,100);g=f+256|0;e=1;while(1){if((eu(g,61980)|0)!=0?(rt(g,126)|0)==0:0){Ad(b,g)|0;Kd(b,-2,e);Vg(32);k=e+1|0}else k=e;if(!(Iq(f)|0))e=k;else{j=1;break}}Fa=d;return j|0}function Vh(a){a=a|0;wg(58166);wg(58185);xd(a);return 1}function Wh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=Fa;Fa=Fa+4128|0;e=d+4112|0;f=d+4096|0;g=d+4120|0;h=d+3072|0;i=d+2048|0;j=d+1024|0;k=d;c[g>>2]=255;l=(c[704867]|0)==0;if(l&(c[742428]|0)!=0){wg(57857);Fa=d;return 0}if(!l){l=0;do{m=c[18328]|0;uk(0,m,l,vk(2819376,c[743521]|0,l)|0);l=l+1|0}while((l|0)!=17152)}if((jd(b)|0)>0?(nd(b,1)|0)==4:0){l=td(b,1,g)|0;if((ft(l)|0)>>>0>511){wg(57884);Fa=d;return 0}if(l|0?a[l>>0]|0:0){if(((Xs(l,57902)|0?Xs(l,57908)|0:0)?Xs(l,57917)|0:0)?Xs(l,57927)|0:0){c[f>>2]=2960076;c[f+4>>2]=2961100;c[f+8>>2]=l;vs(h,58111,f)|0;Mb(h,h);do if(Kq(h)|0){if(c[760316]|0){c[760316]=0;break}wg(58118);ug(58138,14);c[760316]=1;Fa=d;return 0}while(0);if(Ob(h)|0){Fa=d;return 0}Lm(2963156,h)|0;eo(h,i,j,k);c[e>>2]=j;c[e+4>>2]=k;vs(1509584,58155,e)|0;wg(1509584);Fa=d;return 0}if(!(c[(c[18328]|0)+44572>>2]|0)){ug(57940,9);ug(57964,10)}gr(57995,i);if(((Hb(c[18328]|0,i)|0)==0?(gr(58008,h),(uh(i,h)|0)==0):0)?(vr(h)|0)==0:0){tr();i=lo(h)|0;if(i|0){Sn(0,i);sr(c[i+12>>2]|0)|0;Kp(i)}wg(58025);wg(58054);Fa=d;return 0}wg(58083);Fa=d;return 0}}Wb(1);Fa=d;return 0}function Xh(a){a=a|0;if((c[704867]|0)==0&(c[742428]|0)!=0)return 0;wg(3042456);ug(57475,12);wg(3042456);wg(57484);wg(57517);wg(57541);wg(57565);wg(57585);wg(57618);wg(57650);ug(57679,14);wg(3042456);wg(57712);wg(57744);wg(57775);wg(3042456);ug(57804,12);ug(57832,12);wg(3042456);return 0}function Yh(a){a=a|0;if((c[704867]|0)==0&(c[742428]|0)!=0)return 0;if(dc(57447)|0)return 0;if(bc()|0)Nb(2963156,0)|0;c[742427]=3;c[415550]=0;mg();return 0}function Zh(a){a=a|0;var b=0,e=0;a=c[742550]|0;b=c[742551]|0;e=0;do{uk(2819376,c[743521]|0,e+24320|0,d[1744+e>>0]|0);e=e+1|0}while((e|0)!=128);e=Ca(0)|0;Uk((_q()|0)+e|0);c[742550]=a;c[742551]=b;Vg(16);return 0}function _h(a){a=a|0;if((c[704867]|0)==0&(c[742428]|0)!=0)return 0;if(dc(57417)|0)return 0;if(bc()|0)Nb(2963156,0)|0;mg();return 0}function $h(b){b=b|0;var d=0,e=0,f=0;b=Fa;Fa=Fa+3088|0;d=b+3072|0;e=b+1024|0;f=b;if((c[704867]|0)==0&(c[742428]|0)!=0){Fa=b;return 0}eo(2963156,b+2048|0,e,f);if(a[2963156]|0){if(!(a[f>>0]|0))Lm(f,61980)|0;c[d>>2]=e;c[d+4>>2]=f;vs(1509584,57309,d)|0;ug(1509584,14)}Ng();d=Fp(131072)|0;if(um(c[c[18328]>>2]|0,d)|0){Hp(d);Fa=b;return 0}f=Fp(131072)|0;e=fl(d,f,ft(d)|0)|0;Hp(f);f=gh(d)|0;yg(57320,f,8192,(f|0)<8193?6:9);f=ft(d)|0;yg(57342,f,65535,f>>>0<65536?6:9);yg(57363,e,15616,(e|0)<15617?6:9);if(bc()|0)xg(57384,0,0);if(cc()|0)xg(57400,0,0);Hp(d);Fa=b;return 0}function ai(a){a=a|0;return 0}function bi(a){a=a|0;return 0}function ci(a){a=a|0;_g();Ed(a,33,0);Jd(a,59016);$g(59016);Ed(a,34,0);Jd(a,59021);$g(59021);Ed(a,35,0);Jd(a,59025);$g(59025);Ed(a,36,0);Jd(a,59029);$g(59029);Ed(a,37,0);Jd(a,59035);$g(59035);Ed(a,37,0);Jd(a,59040);Ed(a,1,0);Jd(a,59047);Ed(a,28,0);Jd(a,57270);$g(57270);Ed(a,38,0);Jd(a,59060);$g(59060);Ed(a,39,0);Jd(a,59067);$g(59067);Ed(a,40,0);Jd(a,59072);$g(59072);Ed(a,41,0);Jd(a,59076);Ed(a,23,0);Jd(a,57239);$g(57239);Ed(a,23,0);Jd(a,59083);Ed(a,20,0);Jd(a,57226);Ed(a,21,0);Jd(a,57229);Ed(a,42,0);Jd(a,59087);Ed(a,43,0);Jd(a,59094);Ed(a,44,0);Jd(a,59108);Ed(a,45,0);Jd(a,59122);Ed(a,46,0);Jd(a,59132);Ed(a,47,-3333);Jd(a,59139);$g(59139);Ed(a,48,-3333);Jd(a,59144);$g(59144);Ed(a,49,0);Jd(a,59149);$g(59149);Ed(a,10,0);Jd(a,59155);$g(59155);Ed(a,11,0);Jd(a,59161);$g(59161);Ed(a,12,0);Jd(a,59168);$g(59168);Ed(a,12,0);Jd(a,57127);Ed(a,10,0);Jd(a,57110);Ed(a,11,0);Jd(a,57118);Ed(a,50,0);Jd(a,59174);$g(59174);Ed(a,51,0);Jd(a,59181);$g(59181);Ed(a,52,0);Jd(a,59187);$g(59187);Ed(a,53,0);Jd(a,59191);$g(59191);Ed(a,54,-3333);Jd(a,59196);$g(59196);Ed(a,55,-3333);Jd(a,59201);$g(59201);Ed(a,56,0);Jd(a,59210);$g(59210);Ed(a,57,0);Jd(a,59215);$g(59215);Ed(a,58,0);Jd(a,59224);$g(59224);Ed(a,59,0);Jd(a,59229);$g(59229);Ed(a,60,0);Jd(a,59238);$g(59238);Ed(a,61,0);Jd(a,59243);$g(59243);Ed(a,62,0);Jd(a,59249);$g(59249);Ed(a,63,0);Jd(a,59253);$g(59253);Ed(a,64,0);Jd(a,59258);$g(59258);Ed(a,65,0);Jd(a,59264);$g(59264);Ed(a,65,0);Jd(a,59272);$g(59272);Ed(a,66,0);Jd(a,59276);$g(59276);Ed(a,67,0);Jd(a,59281);$g(59281);Ed(a,68,0);Jd(a,59286);$g(59286);Ed(a,69,0);Jd(a,59291);$g(59291);Ed(a,70,0);Jd(a,59296);$g(59296);Ed(a,71,0);Jd(a,59301);$g(59301);Ed(a,72,0);Jd(a,63204);$g(63204);Ed(a,73,0);Jd(a,59306);$g(59306);Ed(a,74,0);Jd(a,59310);$g(59310);Ed(a,75,0);Jd(a,59317);$g(59317);Ed(a,76,0);Jd(a,59324);$g(59324);Ed(a,77,0);Jd(a,59331);$g(59331);Ed(a,78,0);Jd(a,59338);$g(59338);Ed(a,79,0);Jd(a,59345);$g(59345);Ed(a,80,-3333);Jd(a,59349);$g(59349);Ed(a,81,-3333);Jd(a,59355);$g(59355);Ed(a,82,-3333);Jd(a,59360);$g(59360);Ed(a,83,-3333);Jd(a,59364);$g(59364);Ed(a,84,-3333);Jd(a,62001);$g(62001);Ed(a,85,-3333);Jd(a,59368);$g(59368);Ed(a,86,-3333);Jd(a,59372);$g(59372);Ed(a,87,-3333);Jd(a,59376);$g(59376);Ed(a,88,-3333);Jd(a,59381);$g(59381);Ed(a,89,-3333);Jd(a,59387);$g(59387);Ed(a,90,-3333);Jd(a,59392);$g(59392);Ed(a,91,-3333);Jd(a,59396);$g(59396);Ed(a,92,-3333);Jd(a,59401);$g(59401);Ed(a,93,-3333);Jd(a,59405);$g(59405);Ed(a,94,-3333);Jd(a,59410);$g(59410);Ed(a,95,-3333);Jd(a,59414);$g(59414);Ed(a,96,-3333);Jd(a,59418);$g(59418);Ed(a,97,-3333);Jd(a,59423);$g(59423);Ed(a,98,-3333);Jd(a,59428);$g(59428);Ed(a,99,-3333);Jd(a,59433);$g(59433);Ed(a,100,-3333);Jd(a,59437);$g(59437);Ed(a,101,0);Jd(a,59441);$g(59441);Ed(a,102,0);Jd(a,59446);$g(59446);Ed(a,103,0);Jd(a,59452);$g(59452);Ed(a,104,-3333);Jd(a,59458);$g(59458);Ed(a,105,-3333);Jd(a,59463);$g(59463);Ed(a,106,-3333);Jd(a,59469);$g(59469);Ed(a,13,0);Jd(a,57135);Ed(a,13,0);Jd(a,57248);$g(57248);Ed(a,25,0);Jd(a,57253);Ed(a,22,0);Jd(a,57235);$g(57235);Ed(a,9,0);Jd(a,59475);$g(59475);Ed(a,27,0);Jd(a,57263);Ed(a,29,0);Jd(a,57276);Ed(a,29,0);Jd(a,57285);Ed(a,30,0);Jd(a,57290);Ed(a,31,0);Jd(a,57295);Ed(a,32,0);Jd(a,57302);Ed(a,26,0);Jd(a,57258);Ed(a,107,0);Jd(a,59480);$g(59480);Ed(a,107,0);Jd(a,59485);Ed(a,24,0);Jd(a,57242);$g(57242);Ed(a,108,0);Jd(a,59487);$g(59487);Ed(a,109,0);Jd(a,59494);$g(59494);Ed(a,110,0);Jd(a,59501);$g(59501);Ed(a,14,0);Jd(a,59510);$g(59510);Ed(a,14,0);Jd(a,57142);Ed(a,111,0);Jd(a,59517);Ed(a,112,0);Jd(a,59523);$g(59523);Ed(a,113,0);Jd(a,59538);$g(59538);Ed(a,114,0);Jd(a,59542);$g(59542);Ed(a,115,0);Jd(a,59547);Ed(a,116,0);Jd(a,59557);$g(59557);Ed(a,117,0);Jd(a,59566);$g(59566);Ed(a,118,0);Jd(a,59571);$g(59571);Ed(a,119,0);Jd(a,59576);$g(59576);Ed(a,120,0);Jd(a,59581);$g(59581);Ed(a,121,0);Jd(a,59585);$g(59585);Ed(a,122,0);Jd(a,59589);$g(59589);Ed(a,123,0);Jd(a,59593);$g(59593);Ed(a,7,0);Jd(a,57082);Ed(a,8,0);Jd(a,57092);Ed(a,124,0);Jd(a,62738);$g(62738);Ed(a,4,0);Jd(a,59599);$g(59599);Ed(a,125,0);Jd(a,59604);$g(59604);Ed(a,126,0);Jd(a,59617);$g(59617);Ed(a,127,0);Jd(a,59630);$g(59630);Ed(a,128,0);Jd(a,59639);$g(59639);Ed(a,129,0);Jd(a,59646);$g(59646);Ed(a,130,0);Jd(a,59653);$g(59653);Ed(a,131,0);Jd(a,59660);$g(59660);Ed(a,132,0);Jd(a,59667);$g(59667);Ed(a,18,0);Jd(a,59676);$g(59676);Ed(a,133,0);Jd(a,59685);$g(59685);Ed(a,134,0);Jd(a,59691);$g(59691);Ed(a,135,0);Jd(a,59700);$g(59700);Ed(a,136,0);Jd(a,59707);$g(59707);Ed(a,17,0);Jd(a,59712);$g(59712);Ed(a,137,0);Jd(a,59719);Ed(a,137,0);Jd(a,59727);Ed(a,138,0);Jd(a,59733);Ed(a,138,0);Jd(a,59743);Ed(a,139,0);Jd(a,59755);Ed(a,140,0);Jd(a,59779);Ed(a,141,0);Jd(a,59795);Ed(a,142,0);Jd(a,59813);Ed(a,143,0);Jd(a,59834);Ed(a,144,0);Jd(a,59843);Ed(a,145,0);Jd(a,59853);Ed(a,6,0);Jd(a,57067);return}function di(a){a=a|0;var b=0;Jg();a=c[759972]|0;if((a|0)==30){Jg();b=c[759972]|0}else b=a;if((b|0)==15){Jg();Jg()}sb();Ik();c[704863]=0;Dm();lg();c[704848]=0;if(c[416527]|0){c[742427]=2;c[742551]=0;c[742550]=0}if(!(c[415606]|0)){mg();return 0}ab(0);sh(c[704861]|0);mg();return 0}function ei(){mg();return 0}function fi(a){a=a|0;var b=0,d=0,e=0,f=0;b=vk(2819376,c[743521]|0,24360)|0;d=((vk(2819376,c[743521]|0,24361)|0)<<8)+b|0;b=vk(2819376,c[743521]|0,24362)|0;e=((vk(2819376,c[743521]|0,24363)|0)<<8)+b|0;b=pd(a,1,0)|0;f=pd(a,2,0)|0;uk(2819376,c[743521]|0,24360,b>>>16&255);uk(2819376,c[743521]|0,24361,b>>24);uk(2819376,c[743521]|0,24362,f>>>16&255);uk(2819376,c[743521]|0,24363,f>>24);yd(a,d<<16);yd(a,e<<16);return 2}function gi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[742545]|0;d=c[742546]|0;e=c[742547]|0;f=e-b|0;g=c[742548]|0;h=g-d|0;if((jd(a)|0)>3){i=(pd(a,1,0)|0)>>16;j=(pd(a,2,0)|0)>>16;k=(pd(a,3,0)|0)>>16;l=i;m=j;n=k;o=(pd(a,4,0)|0)>>16}else{l=0;m=0;n=128;o=128}if((jd(a)|0)>4){k=(sd(a,5)|0)==0;c[742545]=l;c[742546]=m;j=l+n|0;c[742547]=j;i=m+o|0;c[742548]=i;if(k){p=l;q=m;r=j;s=i}else{k=(l|0)<(e|0)?l:e;t=(b|0)>(k|0)?b:k;c[742545]=t;k=(m|0)<(g|0)?m:g;u=(d|0)>(k|0)?d:k;c[742546]=u;k=(j|0)<(e|0)?j:e;e=(b|0)>(k|0)?b:k;c[742547]=e;k=(i|0)<(g|0)?i:g;v=e;w=u;x=t;y=(d|0)>(k|0)?d:k;z=7}}else{c[742545]=l;c[742546]=m;k=l+n|0;c[742547]=k;v=k;w=m;x=l;y=m+o|0;z=7}if((z|0)==7){c[742548]=y;p=x;q=w;r=v;s=y}y=(p|0)<128?p:128;p=(y|0)>0?y:0;c[742545]=p;y=(q|0)<128?q:128;q=(y|0)>0?y:0;c[742546]=q;y=(r|0)<128?r:128;r=(y|0)>0?y:0;c[742547]=r;y=(s|0)<128?s:128;s=(y|0)>0?y:0;c[742548]=s;an(c[704852]|0,p,q,r,s);yd(a,b<<16);yd(a,d<<16);yd(a,f<<16);yd(a,h<<16);return 4}function hi(a){a=a|0;var b=0;if((jd(a)|0)>0)b=(pd(a,1,0)|0)>>16;else b=0;c[742551]=0;c[742550]=0;c[742546]=0;c[742545]=0;c[742548]=128;c[742547]=128;hn(c[704852]|0);$m(c[704852]|0,0,0,127,127,b);Vg(1024);return 0}function ii(a){a=a|0;var b=0;a=Fa;Fa=Fa+1040|0;b=a+1024|0;if((c[704867]|0)==0&(c[742428]|0)!=0){Fa=a;return 0}c[b>>2]=2960076;c[b+4>>2]=2961100;vs(a,71619,b)|0;Fa=a;return 0}function ji(a){a=a|0;var b=0,d=0,e=0;a=Fa;Fa=Fa+2064|0;b=a+2048|0;d=a+1024|0;e=a;if((c[704867]|0)==0&(c[742428]|0)!=0){Fa=a;return 0}Nb(2963156,0)|0;eo(2963156,0,d,e);c[b>>2]=d;c[b+4>>2]=e;vs(1509584,60393,b)|0;wg(1509584);Fa=a;return 0}function ki(a){a=a|0;if((c[704867]|0)==0&(c[742428]|0)!=0)return 0;if(!(c[415552]|0)){rm();return 0}else{wg(60361);return 0}return 0}function li(a){a=a|0;if((c[704867]|0)==0&(c[742428]|0)!=0)return 0;ug(60333,14);Fl();sm();Gl();return 0}function mi(a){a=a|0;if((c[704867]|0)==0&(c[742428]|0)!=0)return 0;xl();c[760315]=1;Hk();return 0}function ni(a){a=a|0;if((c[704867]|0)==0&(c[742428]|0)!=0)return 0;wg(60302);return 0}function oi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<2)return 0;e=a+8|0;a=c[e>>2]|0;f=0-d|0;g=a+(f<<3)|0;if((c[a+(f<<3)+4>>2]|0)!=3){f=qd(g)|0;a=c[b>>2]|0;h=f>>16;if((a|0)>1){i=a;j=h;k=6}else{l=c[742549]&255;m=h;n=0}}else{i=d;j=c[g>>2]>>16;k=6}if((k|0)==6){k=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[k+4>>2]|0)==3){o=c[k>>2]|0;p=i}else{i=qd(k)|0;o=i;p=c[b>>2]|0}b=o>>16;if((p|0)>=3){o=(c[e>>2]|0)+(0-p<<3)+24+-8|0;if((c[o+4>>2]|0)==3){p=c[o>>2]|0;o=p>>>16&255;c[742549]=o;if(!((p&268435456|0)==0|(c[742569]|0)!=1)?(e=p>>>8&65536|p&65535,c[742564]=e,(p&33554432|0)!=0):0){c[742564]=e|131072;l=o;m=j;n=b}else{l=o;m=j;n=b}}else{l=0;m=j;n=b}}else{l=c[742549]&255;m=j;n=b}}b=c[2969988+((l&15)<<2)>>2]&15;j=c[742564]|0;if(!(j&262144))q=c[2969988+(l>>>4<<2)>>2]<<4&240|b;else q=c[2970116+(b<<2)>>2]|0;Zj(c[704852]|0,m-(c[742556]|0)|0,n-(c[742557]|0)|0,q,j);return 0}function pi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<2){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)!=3){g=qd(h)|0;a=c[b>>2]|0;b=g>>16;if((a|0)>1){i=a;j=b;k=5}else{l=0;m=b}}else{i=d;j=c[h>>2]>>16;k=5}do if((k|0)==5){h=(c[f>>2]|0)+(0-i<<3)+8|0;if((c[h+4>>2]|0)==3){l=c[h>>2]|0;m=j;break}else{l=qd(h)|0;m=j;break}}while(0);e=(ln(c[704852]|0,m-(c[742556]|0)|0,(l>>16)-(c[742557]|0)|0)|0)<<16&983040;return e|0}function qi(a){a=a|0;var b=0,d=0,e=0;b=c[742549]|0;if(!(jd(a)|0))c[742549]=6;if(((jd(a)|0)>=1?(d=pd(a,1,0)|0,c[742549]=d>>>16&255,!((d&268435456|0)==0|(c[742569]|0)!=1)):0)?(e=d>>>8&65536|d&65535,c[742564]=e,d&33554432|0):0)c[742564]=e|131072;yd(a,b<<16);return 1}function ri(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[742550]|0;d=c[742551]|0;e=c[742549]|0;f=(pd(a,1,0)|0)>>16;g=(pd(a,2,0)|0)>>16;c[742550]=f;c[742551]=g;if(((jd(a)|0)>=3?(g=pd(a,3,0)|0,c[742549]=g>>>16&255,!((g&268435456|0)==0|(c[742569]|0)!=1)):0)?(f=g>>>8&65536|g&65535,c[742564]=f,g&33554432|0):0)c[742564]=f|131072;yd(a,b<<16);yd(a,d<<16);yd(a,e<<16);return 3}function si(a){a=a|0;var b=0,d=0,e=0,f=0;b=Fa;Fa=Fa+16|0;d=b;e=nd(a,1)|0;Vg(2);switch(e|0){case 3:{yd(a,pd(a,1,0)|0);f=1;break}case 4:{c[d>>2]=0;e=pd(a,1,d)|0;if(!(c[d>>2]|0))f=0;else{yd(a,e);f=1}break}default:f=0}Fa=b;return f|0}function ti(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=Fa;Fa=Fa+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=jd(a)|0;l=(pd(a,1,0)|0)>>16;m=(pd(a,2,0)|0)>>16;n=(pd(a,3,0)|0)>>16;if(l>>>0>255){Fa=b;return 0}if((k|0)>3){o=pd(a,4,0)|0;p=pd(a,5,0)|0;if((k|0)>5){k=sd(a,6)|0;q=sd(a,7)|0;r=k;s=p;t=o}else{q=0;r=0;s=p;t=o}}else{q=0;r=0;s=65536;t=65536}o=t>>13;p=s>>13;if((t|0)<8192|(s|0)<8192){Fa=b;return 0}s=(o|0)<128?o:128;o=(p|0)<128?p:128;p=m-(c[742556]|0)|0;m=n-(c[742557]|0)|0;n=c[525004]|0;do if(!n)u=10;else{if((c[n>>2]|0)==(s|0)?(c[n+4>>2]|0)==(o|0):0){v=n;w=s;x=o;break}dn(n)|0;u=10}while(0);if((u|0)==10){u=cn(s,o,8)|0;c[525004]=u;v=u;w=c[u>>2]|0;x=c[u+4>>2]|0}Ep(c[v+12>>2]|0,16,B(x,w)|0);Vj(c[(c[743521]|0)+4>>2]|0,c[525004]|0,l<<3&120,l>>>4<<3,0,0,s,o,r,q,2969988);Xj(c[525004]|0,c[704852]|0,0,0,p,m,s,o);c[d>>2]=s;c[e>>2]=o;c[g>>2]=0;c[h>>2]=0;c[i>>2]=p;c[j>>2]=m;m=0-s|0;if((s|0)<0){c[g>>2]=s;c[d>>2]=m;y=m}else y=s;s=0-o|0;if((o|0)<0){c[h>>2]=o;c[e>>2]=s;z=s}else z=o;c[f>>2]=y;c[f+4>>2]=z;fn(f,c[704852]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=B(d,j)|0;Vg((d|j|0)<0?0:e);Fa=b;return 0}function ui(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;b=Fa;Fa=Fa+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=jd(a)|0;l=(pd(a,1,0)|0)>>16;m=(pd(a,2,0)|0)>>16;n=pd(a,3,0)|0;o=n>>16;p=pd(a,4,0)|0;q=p>>16;r=(pd(a,5,0)|0)>>16;s=(pd(a,6,0)|0)>>16;if((k|0)>6){t=(pd(a,7,0)|0)>>16;u=(pd(a,8,0)|0)>>16;if((k|0)>8){v=sd(a,9)|0;if((k|0)==9){w=0;x=v;y=u;z=t}else{w=sd(a,10)|0;x=v;y=u;z=t}}else{w=0;x=0;y=u;z=t}}else{w=0;x=0;y=q;z=o}if((p+-65536|n+-65536)>>>0>8388607){Fa=b;return 0}if((z|0)==0|(y|0)==0){Fa=b;return 0}n=(z|0)<0;p=r-(c[742556]|0)+(n?z:0)|0;r=n?0-z|0:z;z=n?(x|0)==0&1:x;x=(y|0)<0;n=s-(c[742557]|0)+(x?y:0)|0;s=x?0-y|0:y;y=x?(w|0)==0&1:w;w=c[525003]|0;do if(!w)A=11;else{if((c[w>>2]|0)==(o|0)?(c[w+4>>2]|0)==(q|0):0){C=w;D=o;E=q;break}dn(w)|0;A=11}while(0);if((A|0)==11){A=cn(o,q,8)|0;c[525003]=A;C=A;D=c[A>>2]|0;E=c[A+4>>2]|0}Ep(c[C+12>>2]|0,16,B(E,D)|0);Vj(c[(c[743521]|0)+4>>2]|0,c[525003]|0,l,m,0,0,o,q,z,y,2969988);Wj(c[525003]|0,c[704852]|0,p,n,r,s);c[d>>2]=r;c[e>>2]=s;c[g>>2]=0;c[h>>2]=0;c[i>>2]=p;c[j>>2]=n;n=0-r|0;if((r|0)<0){c[g>>2]=r;c[d>>2]=n;F=n}else F=r;r=0-s|0;if((s|0)<0){c[h>>2]=s;c[e>>2]=r;G=r}else G=s;c[f>>2]=F;c[f+4>>2]=G;fn(f,c[704852]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=B(d,j)|0;Vg((d|j|0)<0?0:e);Fa=b;return 0}function vi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=a+112|0;d=c[b>>2]|0;if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{d=qd(h)|0;i=d;j=c[b>>2]|0}d=i>>16;if((j|0)>1){i=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[i+4>>2]|0)==3){k=c[i>>2]|0;l=j}else{j=qd(i)|0;k=j;l=c[b>>2]|0}j=k>>16;if((l|0)>2){k=(c[e>>2]|0)+(0-l<<3)+16|0;if((c[k+4>>2]|0)==3){m=c[k>>2]|0;n=l}else{l=qd(k)|0;m=l;n=c[b>>2]|0}l=m>>16;if((n|0)>3){m=(c[e>>2]|0)+(0-n<<3)+24|0;if((c[m+4>>2]|0)==3){o=c[m>>2]|0;p=n}else{n=qd(m)|0;o=n;p=c[b>>2]|0}b=o>>16;if((p|0)>=5){o=(c[a+8>>2]|0)+(0-p<<3)+40+-8|0;if((c[o+4>>2]|0)==3){p=c[o>>2]|0;o=p>>>16&255;c[742549]=o;if(!((p&268435456|0)==0|(c[742569]|0)!=1)?(a=p>>>8&65536|p&65535,c[742564]=a,(p&33554432|0)!=0):0){c[742564]=a|131072;q=o;r=b;s=d;t=j;u=l}else{q=o;r=b;s=d;t=j;u=l}}else{q=0;r=b;s=d;t=j;u=l}}else{q=c[742549]&255;r=b;s=d;t=j;u=l}}else{v=l;w=d;x=j;y=17}}else{v=0;w=d;x=j;y=17}}else{v=0;w=d;x=0;y=17}}else{v=0;w=0;x=0;y=17}if((y|0)==17){q=c[742549]&255;r=0;s=w;t=x;u=v}v=c[2969988+((q&15)<<2)>>2]&15;if(!(c[742564]&262144))z=c[2969988+(q>>>4<<2)>>2]<<4&240|v;else z=c[2970116+(v<<2)>>2]|0;v=c[742556]|0;q=s-v|0;s=c[742557]|0;x=t-s|0;t=u-v|0;v=r-s|0;s=_j(c[704852]|0,q,t,x,z)|0;if((v|0)==(x|0))A=s;else A=(_j(c[704852]|0,q,t,v,z)|0)+s|0;s=(v|0)<(x|0);r=s?v:x;u=s?x:v;if((u|0)<=(r|0)){B=A;C=(B|0)/16|0;Vg(C);return 0}v=r+1|0;r=u+-1|0;u=(hk(c[704852]|0,q,v,r,z)|0)+A|0;B=u+(hk(c[704852]|0,t,v,r,z)|0)|0;C=(B|0)/16|0;Vg(C);return 0}function wi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;b=a+112|0;d=c[b>>2]|0;if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{d=qd(h)|0;i=d;j=c[b>>2]|0}d=i>>16;if((j|0)>1){i=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[i+4>>2]|0)==3){k=c[i>>2]|0;l=j}else{j=qd(i)|0;k=j;l=c[b>>2]|0}j=k>>16;if((l|0)>2){k=(c[e>>2]|0)+(0-l<<3)+16|0;if((c[k+4>>2]|0)==3){m=c[k>>2]|0;n=l}else{l=qd(k)|0;m=l;n=c[b>>2]|0}l=m>>16;if((n|0)>3){m=(c[e>>2]|0)+(0-n<<3)+24|0;if((c[m+4>>2]|0)==3){o=c[m>>2]|0;p=n}else{n=qd(m)|0;o=n;p=c[b>>2]|0}b=o>>16;if((p|0)>=5){o=(c[a+8>>2]|0)+(0-p<<3)+40+-8|0;if((c[o+4>>2]|0)==3){p=c[o>>2]|0;o=p>>>16&255;c[742549]=o;if(!((p&268435456|0)==0|(c[742569]|0)!=1)?(a=p>>>8&65536|p&65535,c[742564]=a,(p&33554432|0)!=0):0){c[742564]=a|131072;q=o;r=b;s=d;t=j;u=l}else{q=o;r=b;s=d;t=j;u=l}}else{q=0;r=b;s=d;t=j;u=l}}else{q=c[742549]&255;r=b;s=d;t=j;u=l}}else{v=l;w=d;x=j;y=17}}else{v=0;w=d;x=j;y=17}}else{v=0;w=d;x=0;y=17}}else{v=0;w=0;x=0;y=17}if((y|0)==17){q=c[742549]&255;r=0;s=w;t=x;u=v}v=c[2969988+((q&15)<<2)>>2]&15;if(!(c[742564]&262144))z=c[2969988+(q>>>4<<2)>>2]<<4&240|v;else z=c[2970116+(v<<2)>>2]|0;v=c[742556]|0;q=s-v|0;s=c[742557]|0;x=t-s|0;t=u-v|0;v=r-s|0;s=(t|0)<(q|0);r=s?t:q;u=s?q:t;t=(v|0)<(x|0);q=t?v:x;s=t?x:v;v=c[704852]|0;x=c[v+28>>2]|0;t=(r|0)>(x|0)?r:x;x=(c[v+32>>2]|0)+-1|0;r=(u|0)<(x|0)?u:x;x=c[v+36>>2]|0;u=(q|0)>(x|0)?q:x;x=(c[v+40>>2]|0)+-1|0;q=(s|0)<(x|0)?s:x;if((r|0)<(t|0)|(q|0)<(u|0))return 0;if((r-t|0)<8&(q-u|0)>4){x=hk(v,t,u,q,z)|0;if((r|0)>(t|0)){s=t;w=x;while(1){s=s+1|0;y=(hk(c[704852]|0,s,u,q,z)|0)+w|0;if((s|0)>=(r|0)){A=y;break}else w=y}}else A=x}else{x=_j(v,t,r,u,z)|0;if((q|0)>(u|0)){v=u;u=x;while(1){v=v+1|0;w=(_j(c[704852]|0,t,r,v,z)|0)+u|0;if((v|0)>=(q|0)){A=w;break}else u=w}}else A=x}Vg((A|0)/16|0);return 0}function xi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=jd(b)|0;if((d|0)<2)return 0;e=(pd(b,1,0)|0)>>16;f=(pd(b,2,0)|0)>>16;if((d|0)!=2){d=pd(b,3,0)|0;if((d|0)<0)return 0;else{g=d>>16;h=(a[2998462]&2)==0?0:d>>>15&1}}else{g=4;h=0}d=c[742549]&255;if((jd(b)|0)>=4){i=pd(b,4,0)|0;b=i>>>16&255;c[742549]=b;if(!((i&268435456|0)==0|(c[742569]|0)!=1)?(j=i>>>8&65536|i&65535,c[742564]=j,(i&33554432|0)!=0):0){c[742564]=j|131072;k=b}else k=b}else k=d;d=c[2969988+((k&15)<<2)>>2]&15;if(!(c[742564]&262144))l=c[2969988+(k>>>4<<2)>>2]<<4&240|d;else l=c[2970116+(d<<2)>>2]|0;d=e-(c[742556]|0)|0;e=f-(c[742557]|0)|0;f=g+h|0;Vg((ak(c[704852]|0,d-g|0,e-g|0,f+d|0,f+e|0,l)|0)/2|0);return 0}function yi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=jd(b)|0;if((d|0)<2)return 0;e=(pd(b,1,0)|0)>>16;f=(pd(b,2,0)|0)>>16;do if((d|0)!=2){g=pd(b,3,0)|0;if((g|0)<0)return 0;else{h=g>>>16;i=(a[2998462]&2)==0?0:g>>>15&1;break}}else{h=4;i=0}while(0);d=c[742549]&255;if((jd(b)|0)>=4){g=pd(b,4,0)|0;b=g>>>16&255;c[742549]=b;if(!((g&268435456|0)==0|(c[742569]|0)!=1)?(j=g>>>8&65536|g&65535,c[742564]=j,(g&33554432|0)!=0):0){c[742564]=j|131072;k=b}else k=b}else k=d;d=c[2969988+((k&15)<<2)>>2]&15;if(!(c[742564]&262144))l=c[2969988+(k>>>4<<2)>>2]<<4&240|d;else l=c[2970116+(d<<2)>>2]|0;d=e-(c[742556]|0)|0;e=f-(c[742557]|0)|0;f=i+h|0;Vg((dk(c[704852]|0,d-h|0,e-h|0,f+d|0,f+e|0,l)|0)/16|0);return 0}function zi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=(pd(a,1,0)|0)>>16;d=(pd(a,2,0)|0)>>16;e=(pd(a,3,0)|0)>>16;f=(pd(a,4,0)|0)>>16;g=c[742549]&255;if((jd(a)|0)>=5){h=pd(a,5,0)|0;a=h>>>16&255;c[742549]=a;if(!((h&268435456|0)==0|(c[742569]|0)!=1)?(i=h>>>8&65536|h&65535,c[742564]=i,(h&33554432|0)!=0):0){c[742564]=i|131072;j=a}else j=a}else j=g;g=c[2969988+((j&15)<<2)>>2]&15;if(!(c[742564]&262144))k=c[2969988+(j>>>4<<2)>>2]<<4&240|g;else k=c[2970116+(g<<2)>>2]|0;g=c[742556]|0;j=b-g|0;b=c[742557]|0;a=d-b|0;d=e-g|0;g=f-b|0;b=(d|0)<(j|0);f=(g|0)<(a|0);Vg((ak(c[704852]|0,b?d:j,f?g:a,b?j:d,f?a:g,k)|0)/2|0);return 0}function Ai(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=(pd(a,1,0)|0)>>16;d=(pd(a,2,0)|0)>>16;e=(pd(a,3,0)|0)>>16;f=(pd(a,4,0)|0)>>16;g=c[742549]&255;if((jd(a)|0)>=5){h=pd(a,5,0)|0;a=h>>>16&255;c[742549]=a;if(!((h&268435456|0)==0|(c[742569]|0)!=1)?(i=h>>>8&65536|h&65535,c[742564]=i,(h&33554432|0)!=0):0){c[742564]=i|131072;j=a}else j=a}else j=g;g=c[2969988+((j&15)<<2)>>2]&15;if(!(c[742564]&262144))k=c[2969988+(j>>>4<<2)>>2]<<4&240|g;else k=c[2970116+(g<<2)>>2]|0;g=c[742556]|0;j=b-g|0;b=c[742557]|0;a=d-b|0;d=e-g|0;g=f-b|0;b=(d|0)<(j|0);f=(g|0)<(a|0);Vg((dk(c[704852]|0,b?d:j,f?g:a,b?j:d,f?a:g,k)|0)/16|0);return 0}function Bi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=(pd(a,1,0)|0)>>16;d=(pd(a,2,0)|0)>>16;if(!(jd(a)|0)){c[742567]=1;return 0}if((jd(a)|0)==1){c[742567]=1;if((jd(a)|0)<1)return 0;e=pd(a,1,0)|0;c[742549]=e>>>16&255;if((e&268435456|0)==0|(c[742569]|0)!=1)return 0;f=e>>>8&65536|e&65535;c[742564]=f;if(!(e&33554432))return 0;c[742564]=f|131072;return 0}do if((jd(a)|0)<4){if((((jd(a)|0)==3?(jd(a)|0)>=3:0)?(f=pd(a,3,0)|0,c[742549]=f>>>16&255,!((f&268435456|0)==0|(c[742569]|0)!=1)):0)?(e=f>>>8&65536|f&65535,c[742564]=e,f&33554432|0):0)c[742564]=e|131072;if(!(c[742567]&1)){e=c[742565]|0;f=c[742566]|0;c[742565]=b;c[742566]=d;g=f;h=e;break}c[742565]=b;c[742566]=d;c[742567]=0;return 0}else{e=(pd(a,3,0)|0)>>16;f=(pd(a,4,0)|0)>>16;c[742565]=e;c[742566]=f;c[742567]=0;g=f;h=e}while(0);e=c[742549]&255;if((jd(a)|0)>=5){f=pd(a,5,0)|0;a=f>>>16&255;c[742549]=a;if(!((f&268435456|0)==0|(c[742569]|0)!=1)?(i=f>>>8&65536|f&65535,c[742564]=i,(f&33554432|0)!=0):0){c[742564]=i|131072;j=a}else j=a}else j=e;e=c[2969988+((j&15)<<2)>>2]&15;if(!(c[742564]&262144))k=c[2969988+(j>>>4<<2)>>2]<<4&240|e;else k=c[2970116+(e<<2)>>2]|0;e=c[742556]|0;j=b-e|0;b=c[742557]|0;a=d-b|0;d=h-e|0;e=g-b|0;if((j|0)==(d|0)){Vg((hk(c[704852]|0,j,a,e,k)|0)/16|0);return 0}b=c[704852]|0;if((a|0)==(e|0)){Vg((_j(b,j,d,a,k)|0)/16|0);return 0}else{Vg((fk(b,j,a,d,e,k)|0)/2|0);return 0}return 0}function Ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=pd(a,1,0)|0;d=pd(a,2,0)|0;e=pd(a,3,0)|0;f=pd(a,4,0)|0;if((jd(a)|0)>4)g=pd(a,5,0)|0;else g=0;if((jd(a)|0)>5)h=pd(a,6,0)|0;else h=0;if((jd(a)|0)>6)i=pd(a,7,0)|0;else i=8192;if((jd(a)|0)>7)j=pd(a,8,0)|0;else j=0;if((jd(a)|0)>8)k=(pd(a,9,0)|0)>>16;else k=0;a=c[742556]<<16;l=c[742557]<<16;Vg((gk(c[704852]|0,b-a|0,d-l|0,e-a|0,f-l|0,g,h,i,j,k)|0)<<1);return 0}function Di(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=jd(a)|0;d=(b|0)>1;if((nd(a,1)|0)!=5){a:do if(d){e=(pd(a,1,0)|0)>>16;f=pd(a,2,0)|0;g=f>>16;b:do if((b|0)==2)h=e&15;else{i=e&15;switch((pd(a,3,0)|0)>>16|0){case 0:{h=i;break b;break}case 1:break;case 2:{j=2970116+(i<<2)|0;k=c[j>>2]|0;c[j>>2]=g;l=k;break a;break}default:{l=0;break a}}k=2970052+(i<<2)|0;i=c[k>>2]|0;c[k>>2]=g;if(!(f&8388608)){l=i;break a}kb();l=i;break a}while(0);f=2969988+(h<<2)|0;e=c[f>>2]|0;c[f>>2]=e&16|g&15;l=e&-17}else{c[742513]=0;c[742498]=1;c[742514]=1;c[742499]=2;c[742515]=2;c[742500]=3;c[742516]=3;c[742501]=4;c[742517]=4;c[742502]=5;c[742518]=5;c[742503]=6;c[742519]=6;c[742504]=7;c[742520]=7;c[742505]=8;c[742521]=8;c[742506]=9;c[742522]=9;c[742507]=10;c[742523]=10;c[742508]=11;c[742524]=11;c[742509]=12;c[742525]=12;c[742510]=13;c[742526]=13;c[742511]=14;c[742527]=14;c[742512]=15;c[742528]=15;c[742497]=16;l=0}while(0);yd(a,l<<16);m=1;return m|0}if(d)n=(pd(a,2,0)|0)>>16;else n=0;xd(a);if(!(bf(a,1)|0)){m=0;return m|0}switch(n|0){case 0:{do{if((nd(a,-2)|0)==3){d=rd(a,-2,0)|0;l=rd(a,-1,0)|0;h=2969988+((d&15)<<2)|0;c[h>>2]=c[h>>2]&16|l&15}kd(a,-2);Vg(2)}while((bf(a,1)|0)!=0);m=0;return m|0}case 1:{do{if((nd(a,-2)|0)==3?(l=rd(a,-2,0)|0,h=rd(a,-1,0)|0,c[2970052+((l&15)<<2)>>2]=h,h&128|0):0)kb();kd(a,-2);Vg(2)}while((bf(a,1)|0)!=0);m=0;return m|0}default:{h=(n|0)==2;do{if((nd(a,-2)|0)==3?(n=rd(a,-2,0)|0,l=rd(a,-1,0)|0,h):0)c[2970116+((n&15)<<2)>>2]=l;kd(a,-2);Vg(2)}while((bf(a,1)|0)!=0);m=0;return m|0}}return 0}function Ei(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=jd(a)|0;d=c[742497]|0;e=c[742498]|0;f=c[742499]|0;g=c[742500]|0;h=c[742501]|0;i=c[742502]|0;j=c[742503]|0;k=c[742504]|0;l=c[742505]|0;m=c[742506]|0;n=c[742507]|0;o=c[742508]|0;p=c[742509]|0;q=c[742510]|0;r=c[742511]|0;s=c[742512]|0;t=s>>>4&1|(r>>>3&2|(q>>>2&4|(p>>>1&8|(o&16|(n<<1&32|(m<<2&64|(l<<3&128|(k<<4&256|(j<<5&512|(i<<6&1024|(h<<7&2048|(g<<8&4096|(f<<9&8192|(e<<10&16384|d<<11&32768))))))))))))));if(!b){c[742498]=e&15;c[742499]=f&15;c[742500]=g&15;c[742501]=h&15;c[742502]=i&15;c[742503]=j&15;c[742504]=k&15;c[742505]=l&15;c[742506]=m&15;c[742507]=n&15;c[742508]=o&15;c[742509]=p&15;c[742510]=q&15;c[742511]=r&15;c[742512]=s&15;c[742497]=d&15|16;yd(a,t<<16);return 1}d=pd(a,1,0)|0;if((b|0)==1){b=c[742497]&15;c[742497]=(d|0)>-1?b:b|16;c[742498]=d>>>26&16|c[742498]&15;c[742499]=d>>>25&16|c[742499]&15;c[742500]=d>>>24&16|c[742500]&15;c[742501]=d>>>23&16|c[742501]&15;c[742502]=d>>>22&16|c[742502]&15;c[742503]=d>>>21&16|c[742503]&15;c[742504]=d>>>20&16|c[742504]&15;c[742505]=d>>>19&16|c[742505]&15;c[742506]=d>>>18&16|c[742506]&15;c[742507]=d>>>17&16|c[742507]&15;c[742508]=d>>>16&16|c[742508]&15;c[742509]=d>>>15&16|c[742509]&15;c[742510]=d>>>14&16|c[742510]&15;c[742511]=d>>>13&16|c[742511]&15;c[742512]=d>>>12&16|c[742512]&15;Vg(2);yd(a,t<<16);return 1}else{t=sd(a,2)|0;b=2969988+((d>>>16&15)<<2)|0;d=c[b>>2]|0;s=d&15;c[b>>2]=(t|0)==0?s:s|16;Fd(a,d>>>4&1);return 1}return 0}function Fi(a){a=a|0;var b=0,d=0,e=0;b=c[742564]|0;d=b>>>1&32768|b<<16|b>>>3&16384;if(!(jd(a)|0)){e=0;c[742564]=e;yd(a,d);return 1}b=pd(a,1,0)|0;e=b<<1&65536|b>>>16|b<<3&131072|b<<5&262144;c[742564]=e;yd(a,d);return 1}function Gi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;d=Fa;Fa=Fa+80|0;e=d+72|0;f=d+68|0;g=d+16|0;h=d+12|0;i=d+8|0;j=d+4|0;k=d;l=(a[2998462]<<4&255)<<24>>24>>7<<24>>24;m=(pd(b,1,0)|0)>>16;n=(pd(b,2,0)|0)>>16;o=(pd(b,3,0)|0)>>16;p=(pd(b,4,0)|0)>>16;if((jd(b)|0)>4){q=(pd(b,5,0)|0)>>16;r=(pd(b,6,0)|0)>>16;s=q;t=r;u=(pd(b,7,0)|0)>>16}else{s=128;t=32;u=0}if((t|0)<1|(s|0)<1){Fa=d;return 0}b=o-(c[742556]|0)|0;o=p-(c[742557]|0)|0;p=c[743521]|0;r=c[p+8>>2]|0;q=c[p+4>>2]|0;p=c[742545]|0;v=c[742546]|0;if((b|0)<(p+-7|0)){w=(p-b|0)/8|0;x=w+m|0;y=(w<<3)+b|0;z=s-w|0}else{x=m;y=b;z=s}if((o|0)<(v+-7|0)){s=(v-o|0)/8|0;A=s+n|0;C=(s<<3)+o|0;D=t-s|0}else{A=n;C=o;D=t}t=((7-p+(c[742547]|0)|0)/8|0)+1|0;p=(t|0)<(z|0)?t:z;z=((7-v+(c[742548]|0)|0)/8|0)+1|0;v=(z|0)<(D|0)?z:D;if((v|0)>0){D=(p|0)>0;z=(u|0)==0;t=g+4|0;o=0;n=0;while(1){a:do if(D){s=n+A|0;b=(n<<3)+C|0;if(z){m=0;w=o;while(1){E=ln(r,m+x|0,s)|0;if((E|0)==(l|0))F=w;else{G=(m<<3)+y|0;Yj(q,c[704852]|0,E<<3&120,((E|0)/16|0)<<3,G,b,8,8,2969988);c[e>>2]=8;c[f>>2]=8;c[h>>2]=0;c[i>>2]=0;c[j>>2]=G;c[k>>2]=b;c[g>>2]=8;c[t>>2]=8;fn(g,c[704852]|0,h,i,j,k,e,f);G=c[e>>2]|0;E=c[f>>2]|0;H=B(E,G)|0;F=((E|G|0)<0?0:H)+w|0}m=m+1|0;if((m|0)>=(p|0)){I=F;break a}else w=F}}w=0;m=o;while(1){H=ln(r,w+x|0,s)|0;if((H|0)!=(l|0)?(c[(c[743521]|0)+43548+(H<<2)>>2]&u|0)!=0:0){G=(w<<3)+y|0;Yj(q,c[704852]|0,H<<3&120,((H|0)/16|0)<<3,G,b,8,8,2969988);c[e>>2]=8;c[f>>2]=8;c[h>>2]=0;c[i>>2]=0;c[j>>2]=G;c[k>>2]=b;c[g>>2]=8;c[t>>2]=8;fn(g,c[704852]|0,h,i,j,k,e,f);G=c[e>>2]|0;H=c[f>>2]|0;E=B(H,G)|0;J=((H|G|0)<0?0:E)+m|0}else J=m;w=w+1|0;if((w|0)>=(p|0)){I=J;break}else m=J}}else I=o;while(0);n=n+1|0;if((n|0)>=(v|0)){K=I;break}else o=I}}else K=0;Vg(K);Fa=d;return 0}function Hi(a){a=a|0;var b=0,d=0;b=(pd(a,1,0)|0)>>16;d=(pd(a,2,0)|0)>>16;yd(a,(ln(c[(c[743521]|0)+8>>2]|0,b,d)|0)<<16);return 1}function Ii(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=pd(b,1,0)|0;e=d>>16;f=pd(b,2,0)|0;g=f>>16;h=pd(b,3,0)|0;b=h>>>16;en(c[(c[743521]|0)+8>>2]|0,e,g,b&255);if(!(d>>>0<8388608&(f&-2097152|0)==2097152))return 0;f=(g<<7)+e|0;e=f>>6;g=f<<1&126;a[(c[(c[(c[(c[743521]|0)+4>>2]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=b&15;a[(c[(c[(c[(c[743521]|0)+4>>2]|0)+16>>2]|0)+(e<<2)>>2]|0)+(g|1)>>0]=h>>>20&15;return 0}function Ji(a){a=a|0;var b=0,d=0,e=0,f=0;if(!(jd(a)|0)){b=0;return b|0}d=pd(a,1,0)|0;e=d>>16;if((jd(a)|0)==1){yd(a,c[(c[743521]|0)+43548+(e<<2)>>2]<<16&16711680);b=1;return b|0}f=pd(a,2,0)|0;if(d>>>0>16777215){Fd(a,0);b=1;return b|0}if(f>>>0>524287){Fd(a,0);b=1;return b|0}else{Fd(a,(c[(c[743521]|0)+43548+(e<<2)>>2]&1<<(f>>16)|0)!=0&1);b=1;return b|0}return 0}function Ki(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=jd(a)|0;if((b|0)<2)return 0;d=pd(a,1,0)|0;e=d>>16;f=pd(a,2,0)|0;g=f>>16;if(d>>>0>16777215)return 0;if((b|0)==2){c[(c[743521]|0)+43548+(e<<2)>>2]=g&255;return 0}b=sd(a,3)|0;if(f>>>0>524287)return 0;f=1<<g;g=(c[743521]|0)+43548+(e<<2)|0;e=(f&255^255)&c[g>>2];c[g>>2]=e;if(!b)return 0;c[g>>2]=e|f;return 0}function Li(a){a=a|0;var b=0,d=0;b=(pd(a,1,0)|0)>>16;d=(pd(a,2,0)|0)>>16;yd(a,(ln(c[(c[743521]|0)+4>>2]|0,b,d)|0)<<16&983040);return 1}function Mi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[742549]|0;d=pd(a,1,0)|0;e=pd(a,2,0)|0;if((jd(a)|0)>2)f=(pd(a,3,0)|0)>>16;else f=b;b=f&15;if((e|0)>8388607|((d|0)>8388607|(e|d|0)<0))return 0;f=(e>>16<<6)+((d>>16|0)/2|0)|0;e=vk(2819376,c[743521]|0,f)|0;if(!(d&65536))g=e&240|b;else g=e&15|b<<4;uk(2819376,c[743521]|0,f,g);return 0}function Ni(a){a=a|0;var b=0,d=0,e=0,f=0;if((c[742428]|0)==0&(c[525571]|0)!=0){tq(0,0);wq();c[525571]=0}b=c[743521]|0;d=(pd(a,1,0)|0)>>16;if((jd(a)|0)>1)e=(pd(a,2,0)|0)>>16;else e=0;if((jd(a)|0)>2)f=(pd(a,3,0)|0)>>16;else f=0;if((d|0)==-1){tq(0,e);Vg(16);return 0}else{a=(d|0)<63?d:63;nq(b,(a|0)>0?a:0,e);c[742905]=f;Vg(16);return 0}return 0}function Oi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((c[742428]|0)==0&(c[525571]|0)!=0){tq(0,0);wq();c[525571]=0}if((jd(a)|0)<1)return 0;b=pd(a,1,0)|0;d=b>>16;if((jd(a)|0)>1){e=pd(a,2,0)|0;if((e+131072|0)>>>0>393215)return 0;else f=e>>16}else f=-1;if((jd(a)|0)>2)g=(pd(a,3,0)|0)>>16;else g=0;if((jd(a)|0)>3)h=(pd(a,4,0)|0)>>16;else h=0;switch(d|0){case -1:{fq(0,0,0,c[743521]|0,f)|0;return 0}case -2:{lq(f);return 0}default:{if((f|0)!=-2){a=(d|0)<63?d:63;e=(a|0)>0?a:0;a=(g|0)<31?g:31;hq((c[743521]|0)+12+(e*660|0)|0);g=c[743521]|0;fq(g+12+(e*660|0)|0,(a|0)>0?a:0,h,g,f)|0;Vg(16);return 0}if(b>>>0>=4194304)return 0;hq((c[743521]|0)+12+(d*660|0)|0);return 0}}return 0}function Pi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=(pd(a,1,0)|0)>>16;if((jd(a)|0)==2?(nd(a,2)|0)==4:0){c=td(a,2,0)|0;if(!c){d=0;return d|0}Bm(b,c);d=0;return d|0}c=(pd(a,2,0)|0)>>16;e=(pd(a,3,0)|0)>>13;if((jd(a)|0)>3){f=pd(a,4,0)|0;if((f|0)>65535){g=f>>16;h=7}else i=0}else{g=1;h=7}if((h|0)==7){h=0;f=0;while(1){j=(Am(b,c,e)|0)+f|0;h=h+1|0;if((h|0)==(g|0)){i=j;break}else f=j}}Vg((i|0)/64|0);yd(a,i<<13);d=1;return d|0}function Qi(a){a=a|0;var b=0,d=0,e=0;b=(pd(a,1,0)|0)>>16;d=(pd(a,2,0)|0)>>16;e=pd(a,3,0)|0;a=e>>16;if((e|0)<65536|(b|0)==(d|0))return 0;xk(2819376,c[743521]|0,b,d,a);Vg((a+1|0)/2|0);return 0}function Ri(a){a=a|0;var b=0,d=0,e=0;b=pd(a,1,0)|0;d=pd(a,2,0)|0;e=pd(a,3,0)|0;a=e>>16;if((e|0)<65536)return 0;yk(2819376,c[743521]|0,b>>16,d>>16,a);Vg((a+1|0)/4|0);return 0}function Si(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=Fa;Fa=Fa+1056|0;e=d+1040|0;f=d+1032|0;g=d+1024|0;h=d+1048|0;i=d;if((jd(b)|0)>2){j=(pd(b,1,0)|0)>>16;k=(pd(b,2,0)|0)>>16;l=(pd(b,3,0)|0)>>16;m=j;n=l;o=k;p=((l|0)<4096?l:4096)<<3}else{m=0;n=17152;o=0;p=32768}Vg(p);if((jd(b)|0)==4?(nd(b,4)|0)==4:0){p=td(b,4,h)|0;if((a[p>>0]|0)==95?(a[p+1>>0]|0)==95:0){yd(b,0);Fa=d;return 1}a[i>>0]=0;if(!(ac(p,1)|0)){gr(60157,i);pt(i,(a[p>>0]|0)==47?p+1|0:p)|0}else{Lm(i,Rb(ac(p,1)|0)|0)|0;h=Yn(i,71765)|0;if(!h){c[g>>2]=i;vs(1504976,60201,g)|0;Pm(1504976);c[f>>2]=p;vs(1504976,60238,f)|0;Pm(1504976);Lm(i,p)|0}Zn(h)}c[e>>2]=n;c[e+4>>2]=i;vs(1504976,60269,e)|0;Pm(1504976);if(!(Ub(i,m,o,n)|0)){yd(b,n<<16);Fa=d;return 1}else{yd(b,0);Fa=d;return 1}}zk(2819376,c[743521]|0,m,o,n);yd(b,n<<16);Fa=d;return 1}function Ti(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Fa;Fa=Fa+1040|0;e=d+1024|0;f=d;g=d+1032|0;if((jd(b)|0)>2){h=(pd(b,1,0)|0)>>16;i=(pd(b,2,0)|0)>>16;j=(pd(b,3,0)|0)>>16;k=h;l=i;m=j;n=((j|0)<4096?j:4096)<<6}else{k=0;l=0;m=17152;n=262144}Vg(n);do if((jd(b)|0)>3?(nd(b,4)|0)==4:0){n=td(b,4,g)|0;if((ft(n)|0)>>>0>511){yd(b,0);Fa=d;return 1}if((a[n>>0]|0)==95?(a[n+1>>0]|0)==95:0){yd(b,0);Fa=d;return 1}if(!(ac(n,1)|0)){gr(60157,f);pt(f,(a[n>>0]|0)==47?n+1|0:n)|0;o=0;p=0;break}else{Lm(f,Rb(ac(n,1)|0)|0)|0;o=0;p=1;break}}else q=13;while(0);if((q|0)==13){Lm(f,Rb(2964180)|0)|0;o=1;p=1}c[e>>2]=m;c[e+4>>2]=f;vs(1504976,60165,e)|0;Pm(1504976);if(!(Vb(f,k,l,m,o,p)|0)){yd(b,m<<16);Fa=d;return 1}else{yd(b,0);Fa=d;return 1}return 0}function Ui(a){a=a|0;var b=0,c=0;if((nd(a,1)|0)==5){yd(a,((Vk((vd(a,1)|0)<<8)|0)>>>8<<16)+65536|0);Hd(a,-2);Vg(4);return 1}if((jd(a)|0)>0)b=pd(a,1,0)|0;else b=65536;c=Vk(b)|0;Vg(4);yd(a,c);return 1}function Vi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=qd(f)|0;break}}else g=0;while(0);Uk(g&2147483647);return 0}function Wi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;c[524978]=(c[524978]|0)-b;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=qd(f)|0;break}}else g=0;while(0);return g+65535&-65536|0}function Xi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=qd(f)|0;break}}else g=0;while(0);return g>>31&-131072|65536|0}function Yi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;if((b|0)<=0){d=0;return d|0}e=c[a+8>>2]|0;f=0-b|0;b=e+(f<<3)|0;if((c[e+(f<<3)+4>>2]|0)==3)g=c[b>>2]|0;else g=qd(b)|0;if((g|0)!=-2147483648)return ((g|0)<0?0-g|0:g)|0;yd(a,2147483647);d=1;return d|0}function Zi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<=0){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{d=qd(h)|0;i=d;j=c[b>>2]|0}do if((j|0)>1){d=(c[f>>2]|0)+(0-j<<3)+8|0;if((c[d+4>>2]|0)==3){k=c[d>>2]|0;l=j}else{h=qd(d)|0;k=h;l=c[b>>2]|0}if((l|0)>2){h=(c[f>>2]|0)+(0-l<<3)+16|0;if((c[h+4>>2]|0)==3){m=k;n=c[h>>2]|0;break}else{m=k;n=qd(h)|0;break}}else{m=k;n=0}}else{m=0;n=0}while(0);k=(i|0)<(m|0);l=(i|0)<(n|0);if(k&l){e=(m|0)<(n|0)?m:n;return e|0}if(!((m|0)<(i|0)&(m|0)<(n|0)))return (k?i:m)|0;e=l?i:n;return e|0}function _i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=qd(f)|0;break}}else g=0;while(0);return Co(g)|0}function $i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=qd(f)|0;break}}else g=0;while(0);return Do(g)|0}function aj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;Vg(6);b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=qd(f)|0;break}}else g=0;while(0);return Qk(g)|0}function bj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=qd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=qd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return Rk(l,k)|0}function cj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+112>>2]|0;c[524978]=(c[524978]|0)-b;if((b|0)<=0){d=0;e=~d;return e|0}f=c[a+8>>2]|0;a=0-b|0;b=f+(a<<3)|0;if((c[f+(a<<3)+4>>2]|0)==3){d=c[b>>2]|0;e=~d;return e|0}else{d=qd(b)|0;e=~d;return e|0}return 0}function dj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+112>>2]|0;c[524978]=(c[524978]|0)-b;if((b|0)<=0){d=0;e=d&-65536;return e|0}f=c[a+8>>2]|0;a=0-b|0;b=f+(a<<3)|0;if((c[f+(a<<3)+4>>2]|0)==3){d=c[b>>2]|0;e=d&-65536;return e|0}else{d=qd(b)|0;e=d&-65536;return e|0}return 0}function ej(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[524978]=(c[524978]|0)-d;if((d|0)<=0){e=0;f=0;g=e&f;return g|0}h=a+8|0;a=c[h>>2]|0;i=0-d|0;j=a+(i<<3)|0;if((c[a+(i<<3)+4>>2]|0)==3){k=c[j>>2]|0;l=d}else{d=qd(j)|0;k=d;l=c[b>>2]|0}if((l|0)<=1){e=0;f=k;g=e&f;return g|0}b=(c[h>>2]|0)+(0-l<<3)+8|0;if((c[b+4>>2]|0)==3){e=c[b>>2]|0;f=k;g=e&f;return g|0}else{e=qd(b)|0;f=k;g=e&f;return g|0}return 0}function fj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[524978]=(c[524978]|0)-d;if((d|0)<=0){e=0;f=0;g=e|f;return g|0}h=a+8|0;a=c[h>>2]|0;i=0-d|0;j=a+(i<<3)|0;if((c[a+(i<<3)+4>>2]|0)==3){k=c[j>>2]|0;l=d}else{d=qd(j)|0;k=d;l=c[b>>2]|0}if((l|0)<=1){e=0;f=k;g=e|f;return g|0}b=(c[h>>2]|0)+(0-l<<3)+8|0;if((c[b+4>>2]|0)==3){e=c[b>>2]|0;f=k;g=e|f;return g|0}else{e=qd(b)|0;f=k;g=e|f;return g|0}return 0}function gj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[524978]=(c[524978]|0)-d;if((d|0)<=0){e=0;f=0;g=e^f;return g|0}h=a+8|0;a=c[h>>2]|0;i=0-d|0;j=a+(i<<3)|0;if((c[a+(i<<3)+4>>2]|0)==3){k=c[j>>2]|0;l=d}else{d=qd(j)|0;k=d;l=c[b>>2]|0}if((l|0)<=1){e=0;f=k;g=e^f;return g|0}b=(c[h>>2]|0)+(0-l<<3)+8|0;if((c[b+4>>2]|0)==3){e=c[b>>2]|0;f=k;g=e^f;return g|0}else{e=qd(b)|0;f=k;g=e^f;return g|0}return 0}function hj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[524978]=(c[524978]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=qd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=qd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return Zk(l,k)|0}function ij(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[524978]=(c[524978]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=qd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=qd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return _k(l,k)|0}function jj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[524978]=(c[524978]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=qd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=qd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return Yk(l,k)|0}function kj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[524978]=(c[524978]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=qd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=qd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return Wk(l,k)|0}function lj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[524978]=(c[524978]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=qd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=qd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return Xk(l,k)|0}function mj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<=0){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{d=qd(h)|0;i=d;j=c[b>>2]|0}do if((j|0)>1){d=(c[f>>2]|0)+(0-j<<3)+8|0;if((c[d+4>>2]|0)==3){k=c[d>>2]|0;l=j;break}else{h=qd(d)|0;k=h;l=c[b>>2]|0;break}}else{k=0;l=j}while(0);if((i|0)<(k|0)){if((l|0)<=0){e=0;return e|0}k=c[f>>2]|0;i=0-l|0;j=k+(i<<3)|0;if((c[k+(i<<3)+4>>2]|0)==3){e=c[j>>2]|0;return e|0}else{e=qd(j)|0;return e|0}}else{if((l|0)<=1){e=0;return e|0}j=(c[f>>2]|0)+(0-l<<3)+8|0;if((c[j+4>>2]|0)==3){e=c[j>>2]|0;return e|0}else{e=qd(j)|0;return e|0}}return 0}function nj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<=0){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{d=qd(h)|0;i=d;j=c[b>>2]|0}do if((j|0)>1){d=(c[f>>2]|0)+(0-j<<3)+8|0;if((c[d+4>>2]|0)==3){k=c[d>>2]|0;l=j;break}else{h=qd(d)|0;k=h;l=c[b>>2]|0;break}}else{k=0;l=j}while(0);if((i|0)>(k|0)){if((l|0)<=0){e=0;return e|0}k=c[f>>2]|0;i=0-l|0;j=k+(i<<3)|0;if((c[k+(i<<3)+4>>2]|0)==3){e=c[j>>2]|0;return e|0}else{e=qd(j)|0;return e|0}}else{if((l|0)<=1){e=0;return e|0}j=(c[f>>2]|0)+(0-l<<3)+8|0;if((c[j+4>>2]|0)==3){e=c[j>>2]|0;return e|0}else{e=qd(j)|0;return e|0}}return 0}function oj(a){a=a|0;var b=0,d=0,e=0,f=0;if((jd(a)|0)>0)c[524978]=(c[524978]|0)+-2;if((jd(a)|0)>1){b=pd(a,2,0)|0;d=b>>16;if((b|0)<536870912)if((b|0)<0|(d|0)==0){e=0;return e|0}else f=d;else f=8192}else f=1;d=(pd(a,1,0)|0)>>16;if(!(gc(a,f)|0)){yb(60135)|0;e=0;return e|0}if((f|0)<=0){e=f;return e|0}b=0;do{yd(a,(vk(2819376,c[743521]|0,b+d|0)|0)<<16);b=b+1|0}while((b|0)!=(f|0));e=f;return e|0}function pj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((jd(a)|0)>0)c[524978]=(c[524978]|0)+-2;if((jd(a)|0)>1){b=pd(a,2,0)|0;d=b>>16;if((b|0)<536870912)if((b|0)<0|(d|0)==0){e=0;return e|0}else f=d;else f=8192}else f=1;d=(pd(a,1,0)|0)>>16;if(!(gc(a,f)|0)){yb(60135)|0;e=0;return e|0}if((f|0)<=0){e=f;return e|0}b=0;do{g=(b<<1)+d|0;h=(vk(2819376,c[743521]|0,g)|0)<<16;yd(a,((vk(2819376,c[743521]|0,g+1|0)|0)<<24)+h|0);b=b+1|0}while((b|0)!=(f|0));e=f;return e|0}function qj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if((jd(a)|0)>0)c[524978]=(c[524978]|0)+-2;if((jd(a)|0)>1){b=pd(a,2,0)|0;d=b>>16;if((b|0)<536870912)if((b|0)<0|(d|0)==0){e=0;return e|0}else f=d;else f=8192}else f=1;d=(pd(a,1,0)|0)>>16;if(!(gc(a,f)|0)){yb(60135)|0;e=0;return e|0}if((f|0)<=0){e=f;return e|0}b=0;do{g=(b<<2)+d|0;h=vk(2819376,c[743521]|0,g)|0;i=((vk(2819376,c[743521]|0,g+1|0)|0)<<8)+h|0;h=i+((vk(2819376,c[743521]|0,g+2|0)|0)<<16)|0;yd(a,h+((vk(2819376,c[743521]|0,g+3|0)|0)<<24)|0);b=b+1|0}while((b|0)!=(f|0));e=f;return e|0}function rj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b+112|0;e=c[d>>2]|0;if((e|0)>0){f=c[b+8>>2]|0;g=0-e|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=e}else{g=qd(h)|0;i=g;j=c[d>>2]|0}g=i>>16;if((j|0)>1){c[524978]=(c[524978]|0)+-2;k=g;l=j}else{k=g;l=j}}else{k=0;l=e}e=b+8|0;b=0;j=l;do{l=b;b=b+1|0;do if((j|0)>(b|0)){g=(c[e>>2]|0)+(0-j<<3)+(b<<3)|0;if((c[g+4>>2]|0)==3){m=c[g>>2]|0;break}else{m=qd(g)|0;break}}else m=0;while(0);g=m>>16;i=l+k|0;if((i&-8192|0)==24576){h=i+-24576|0;f=h>>6;n=h<<1&126;a[(c[(c[(c[704852]|0)+16>>2]|0)+(f<<2)>>2]|0)+n>>0]=g&15;a[(c[(c[(c[704852]|0)+16>>2]|0)+(f<<2)>>2]|0)+(n|1)>>0]=m>>>20&15}else uk(2819376,c[743521]|0,i,g);j=c[d>>2]|0;g=(j|0)<8193?j+-1|0:8192}while(b>>>0<((g|0)>1?g:1)>>>0);return 0}function sj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=b+112|0;e=c[d>>2]|0;if((e|0)>0){f=c[b+8>>2]|0;g=0-e|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=e}else{g=qd(h)|0;i=g;j=c[d>>2]|0}g=i>>16;if((j|0)>1){c[524978]=(c[524978]|0)+-2;k=g;l=j}else{k=g;l=j}}else{k=0;l=e}e=b+8|0;b=0;j=l;do{l=b;b=b+1|0;do if((j|0)>(b|0)){g=(c[e>>2]|0)+(0-j<<3)+(b<<3)|0;if((c[g+4>>2]|0)==3){m=c[g>>2]|0;break}else{m=qd(g)|0;break}}else m=0;while(0);g=m>>16;i=(l<<1)+k|0;if((i+-24576|0)>>>0<8191){h=(c[(c[704852]|0)+12>>2]|0)+((i<<1)+-49152)|0;a[h>>0]=g&15;f=h+1|0;a[f>>0]=g>>>4&15;h=f+1|0;a[h>>0]=g>>>8&15;a[h+1>>0]=g>>>12&15}else{uk(2819376,c[743521]|0,i,g&255);uk(2819376,c[743521]|0,i+1|0,g>>>8&255)}j=c[d>>2]|0;g=(j|0)<8193?j+-1|0:8192}while(b>>>0<((g|0)>1?g:1)>>>0);return 0}
+function Sa(a){a=a|0;var b=0;b=Fa;Fa=Fa+a|0;Fa=Fa+15&-16;return b|0}function Ta(){return Fa|0}function Ua(a){a=a|0;Fa=a}function Va(a,b){a=a|0;b=b|0;Fa=a;Ga=b}function Wa(){return c[(c[(c[c[704870]>>2]|0)+16>>2]|0)+12>>2]|0}function Xa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[742551]=(c[742551]|0)-a;b=128-a|0;d=c[704852]|0;if((b|0)>0){e=0;f=d;while(1){Oo(f,f,0,e+a|0,0,e,128,1);e=e+1|0;g=c[704852]|0;if((e|0)==(b|0)){h=b;i=g;break}else f=g}}else{h=0;i=d}$m(i,0,h,127,127,0);Vg(65536);return}function Ya(){var a=0,b=0;a=(c[742551]|0)+(c[742555]|0)|0;c[742551]=a;if((a|0)<=122)return;c[742551]=a+-6;a=0;b=c[704852]|0;do{Oo(b,b,0,a+6|0,0,a,128,1);a=a+1|0;b=c[704852]|0}while((a|0)!=122);$m(b,0,122,127,127,0);Vg(65536);return}function Za(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=Fa;Fa=Fa+224|0;d=b+208|0;e=b+200|0;f=b+192|0;g=b+184|0;h=b+176|0;i=b+168|0;j=b+160|0;k=b+152|0;l=b+144|0;m=b+136|0;n=b+128|0;o=b+120|0;p=b+112|0;q=b+104|0;r=b+96|0;s=b+88|0;t=b+80|0;u=b+72|0;v=b+64|0;w=b+8|0;x=b;y=b+212|0;if(!(ts(a,35736,9)|0))bo(a+10|0,2960076)|0;if(!(ts(a,35746,10)|0))bo(a+11|0,2962124)|0;if(!(ts(a,35757,14)|0)){c[x>>2]=1662220;Vt(a+14|0,35772,x)|0}if(!(ts(a,35776,11)|0)){c[w>>2]=1662256;c[w+4>>2]=1662260;c[w+8>>2]=1662264;c[w+12>>2]=1662268;c[w+16>>2]=1662272;c[w+20>>2]=1662276;c[w+24>>2]=1662280;c[w+28>>2]=1662284;c[w+32>>2]=1662288;c[w+36>>2]=1662292;c[w+40>>2]=1662296;c[w+44>>2]=1662300;c[w+48>>2]=1662304;Vt(a+11|0,35788,w)|0}if(!(ts(a,35828,10)|0)){c[v>>2]=1662384;Vt(a+10|0,35772,v)|0}if(!(ts(a,35839,11)|0)){c[u>>2]=1662412;Vt(a+11|0,35772,u)|0}if(!(ts(a,49212,7)|0)){c[t>>2]=1662416;Vt(a+7|0,35772,t)|0}if((ts(a,61771,6)|0)==0?(c[s>>2]=2062524,Vt(a+6|0,35772,s)|0,c[525853]|0):0)c[525853]=c[515631];if(!(ts(a,35851,9)|0)){c[r>>2]=1662428;Vt(a+9|0,35772,r)|0}if(!(ts(a,49599,16)|0)){c[q>>2]=1662400;Vt(a+16|0,35772,q)|0}if(!(ts(a,49500,9)|0)){c[p>>2]=1662404;Vt(a+9|0,35772,p)|0}if(!(ts(a,35861,12)|0)){c[o>>2]=1662444;Vt(a+12|0,35772,o)|0}if(!(ts(a,35874,20)|0)){c[n>>2]=2061964;Vt(a+20|0,35772,n)|0}if(!(ts(a,35895,22)|0)){c[m>>2]=2061968;Vt(a+22|0,35772,m)|0}if(!(ts(a,35918,14)|0)){c[l>>2]=y;Vt(a+14|0,35772,l)|0;c[415613]=(c[y>>2]|0)==2&1}if(!(ts(a,48923,13)|0)){c[k>>2]=1662452;Vt(a+13|0,35772,k)|0}if(!(ts(a,49705,9)|0)){c[j>>2]=1662388;Vt(a+9|0,35772,j)|0}if(!(ts(a,35933,9)|0)){c[i>>2]=1662392;Vt(a+9|0,35772,i)|0}if(!(ts(a,35943,19)|0)){c[h>>2]=1662244;Vt(a+19|0,35772,h)|0}if(!(ts(a,35963,19)|0)){c[g>>2]=1662240;Vt(a+19|0,35772,g)|0}if(!(ts(a,35983,22)|0)){c[f>>2]=1662248;Vt(a+22|0,35772,f)|0}if(!(ts(a,36006,11)|0)){c[e>>2]=1662436;Vt(a+11|0,35772,e)|0}if(ts(a,36018,14)|0){Fa=b;return 0}c[d>>2]=1662396;Vt(a+14|0,35772,d)|0;Fa=b;return 0}function _a(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;b=Fa;Fa=Fa+256|0;d=b+248|0;e=b+240|0;f=b+232|0;g=b+224|0;h=b+216|0;i=b+208|0;j=b+200|0;k=b+192|0;l=b+184|0;m=b+176|0;n=b+168|0;o=b+160|0;p=b+152|0;q=b+144|0;r=b+136|0;s=b+128|0;t=b+120|0;u=b+112|0;v=b+104|0;w=b+96|0;x=b+88|0;y=b+80|0;z=b+72|0;A=b+64|0;B=b+56|0;C=b+48|0;D=b+40|0;E=b+32|0;F=b+24|0;G=b+16|0;H=b+8|0;I=b;J=a+8|0;a=c[J>>2]|0;c[I>>2]=36046;bu(a,36033,I)|0;ku(36053,25,1,c[J>>2]|0)|0;I=c[J>>2]|0;c[H>>2]=c[515631];bu(I,36079,H)|0;ku(36091,37,1,c[J>>2]|0)|0;H=c[J>>2]|0;c[G>>2]=2960076;bu(H,36129,G)|0;ku(36144,36,1,c[J>>2]|0)|0;G=c[J>>2]|0;c[F>>2]=2962124;bu(G,36181,F)|0;ku(36197,65,1,c[J>>2]|0)|0;F=c[J>>2]|0;c[E>>2]=c[415555];bu(F,36263,E)|0;ku(36283,70,1,c[J>>2]|0)|0;ku(36354,12,1,c[J>>2]|0)|0;E=c[J>>2]|0;c[D>>2]=c[415564];bu(E,36367,D)|0;D=c[J>>2]|0;c[C>>2]=c[415565];bu(D,36367,C)|0;C=c[J>>2]|0;c[B>>2]=c[415566];bu(C,36367,B)|0;B=c[J>>2]|0;c[A>>2]=c[415567];bu(B,36367,A)|0;A=c[J>>2]|0;c[z>>2]=c[415568];bu(A,36367,z)|0;z=c[J>>2]|0;c[y>>2]=c[415569];bu(z,36367,y)|0;y=c[J>>2]|0;c[x>>2]=c[415570];bu(y,36367,x)|0;x=c[J>>2]|0;c[w>>2]=c[415571];bu(x,36367,w)|0;w=c[J>>2]|0;c[v>>2]=c[415572];bu(w,36367,v)|0;v=c[J>>2]|0;c[u>>2]=c[415573];bu(v,36367,u)|0;u=c[J>>2]|0;c[t>>2]=c[415574];bu(u,36367,t)|0;t=c[J>>2]|0;c[s>>2]=c[415575];bu(t,36367,s)|0;s=c[J>>2]|0;c[r>>2]=c[415576];bu(s,36367,r)|0;ku(36371,2,1,c[J>>2]|0)|0;ku(36374,52,1,c[J>>2]|0)|0;r=c[J>>2]|0;c[q>>2]=c[415596];bu(r,36427,q)|0;ku(36443,70,1,c[J>>2]|0)|0;q=c[J>>2]|0;c[p>>2]=c[415603];bu(q,36514,p)|0;ku(36531,125,1,c[J>>2]|0)|0;p=c[J>>2]|0;c[o>>2]=c[415607];bu(p,36657,o)|0;ku(36672,52,1,c[J>>2]|0)|0;o=c[J>>2]|0;c[n>>2]=c[415600];bu(o,36725,n)|0;n=c[J>>2]|0;c[m>>2]=c[415601];bu(n,36746,m)|0;ku(36761,68,1,c[J>>2]|0)|0;m=c[J>>2]|0;c[l>>2]=c[415604];bu(m,36830,l)|0;ku(36843,101,1,c[J>>2]|0)|0;l=c[J>>2]|0;c[k>>2]=c[415605];bu(l,36945,k)|0;ku(36965,104,1,c[J>>2]|0)|0;k=c[J>>2]|0;c[j>>2]=c[515492];bu(k,37070,j)|0;ku(37098,28,1,c[J>>2]|0)|0;ku(37127,68,1,c[J>>2]|0)|0;j=c[J>>2]|0;c[i>>2]=c[415613];bu(j,37196,i)|0;ku(37215,36,1,c[J>>2]|0)|0;i=c[J>>2]|0;c[h>>2]=c[415597];bu(i,37252,h)|0;ku(37267,59,1,c[J>>2]|0)|0;h=c[J>>2]|0;c[g>>2]=c[415598];bu(h,37327,g)|0;ku(37342,109,1,c[J>>2]|0)|0;g=c[J>>2]|0;c[f>>2]=c[415561];bu(g,37452,f)|0;ku(37477,53,1,c[J>>2]|0)|0;f=c[J>>2]|0;c[e>>2]=c[415560];bu(f,37531,e)|0;ku(37556,90,1,c[J>>2]|0)|0;e=c[J>>2]|0;c[d>>2]=c[415562];bu(e,37647,d)|0;if(!(c[415599]|0)){Fa=b;return 0}ku(37675,18,1,c[J>>2]|0)|0;Fa=b;return 0}function $a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;b=Fa;Fa=Fa+32|0;f=b+16|0;g=b+8|0;h=b;c[516419]=0;if(c[516413]|0){su(41052)|0;Fa=b;return}_b();c[h>>2]=2963156;c[h+4>>2]=1661168;xu(37776,h)|0;h=Ip(e)|0;Qn(d,1,e,h)|0;c[g>>2]=e;xu(37879,g)|0;c[h+20>>2]=0;g=Jb(h)|0;Zn(h);if(!g){c[415621]=-1;Fa=b;return}do if(eu(1661168,37894)|0){h=eu(1661168,37912)|0;if(!h){Lm(2963156,37917)|0;break}else{Lm(2963156,h+4|0)|0;break}}else co(1661168,0,2963156,0,1);while(0);h=2963156+(ft(2963156)|0)|0;e=h;a[e>>0]=46;a[e+1>>0]=112;a[e+2>>0]=56;a[e+3>>0]=46;e=h+4|0;a[e>>0]=112;a[e+1>>0]=110;a[e+2>>0]=103;a[e+3>>0]=0;c[f>>2]=2963156;c[f+4>>2]=1661168;xu(37943,f)|0;Pb(g,2963156);$b(g,2963156);c[742422]=0;c[742549]=6;if(!(c[415552]|0)){c[742427]=1;Fa=b;return}else{c[742551]=(c[742551]|0)+-6;c[742549]=6;wg(38006);wg(3042456);ab(0);Fa=b;return}}function ab(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Fa;Fa=Fa+64|0;f=e;g=c[2819412+(((c[742428]|0)==0?0:b)<<2)>>2]|0;b=c[704861]|0;c[742563]=1;c[f>>2]=vk(2819376,c[743521]|0,24416)|0;c[f+4>>2]=vk(2819376,c[743521]|0,24417)|0;c[f+8>>2]=vk(2819376,c[743521]|0,24418)|0;c[f+12>>2]=vk(2819376,c[743521]|0,24419)|0;c[f+16>>2]=vk(2819376,c[743521]|0,24420)|0;c[f+20>>2]=vk(2819376,c[743521]|0,24421)|0;c[f+24>>2]=vk(2819376,c[743521]|0,24422)|0;c[f+28>>2]=vk(2819376,c[743521]|0,24423)|0;c[f+32>>2]=vk(2819376,c[743521]|0,24424)|0;c[f+36>>2]=vk(2819376,c[743521]|0,24425)|0;c[f+40>>2]=vk(2819376,c[743521]|0,24426)|0;c[f+44>>2]=vk(2819376,c[743521]|0,24427)|0;c[f+48>>2]=vk(2819376,c[743521]|0,24428)|0;c[f+52>>2]=vk(2819376,c[743521]|0,24429)|0;c[f+56>>2]=vk(2819376,c[743521]|0,24430)|0;c[f+60>>2]=vk(2819376,c[743521]|0,24431)|0;h=vk(2819376,c[743521]|0,24415)|0;a:do if((h|0)==16){i=g+12|0;j=b+12|0;k=0;do{l=((vk(2819376,c[743521]|0,(k>>>3)+24432|0)|0)&1<<(k&7)|0)==0;m=l?2970052:f;l=k<<7;n=l+128|0;o=l;do{a[(c[j>>2]|0)+o>>0]=c[m+((a[(c[i>>2]|0)+o>>0]&15)<<2)>>2]&143;o=o+1|0}while(o>>>0<n>>>0);k=k+1|0}while((k|0)!=128);if(!(c[515893]|0))c[515893]=(_q()|0)+150}else{if((h|0)==32&(c[742559]|0)==1){k=g+12|0;i=b+12|0;j=0;n=64;while(1){o=j<<7;if(o>>>0<(o|64)>>>0){m=o;do{o=c[k>>2]|0;a[(c[i>>2]|0)+m>>0]=c[((a[o+(m+64)>>0]|0)==0?2970052:f)+((a[o+m>>0]&15)<<2)>>2]&143;m=m+1|0}while((m|0)!=(n|0))}j=j+1|0;if((j|0)==128)break;else n=n+128|0}if(c[515893]|0)break;c[515893]=(_q()|0)+150;break}n=g+12|0;if((h&-16|0)!=48){j=b+12|0;i=0;while(1){a[(c[j>>2]|0)+i>>0]=c[2970052+((a[(c[n>>2]|0)+i>>0]&15)<<2)>>2]&143;i=i+1|0;if((i|0)==16384)break a}}i=h+-48|0;j=b+12|0;k=0;do{m=k>>>3;o=((vk(2819376,c[743521]|0,m+24432|0)|0)&1<<(k&7)|0)==0;l=k<<7;p=l+128|0;q=f+((o?m:m+1&15)<<2)|0;m=l;do{l=d[(c[n>>2]|0)+m>>0]|0;a[(c[j>>2]|0)+m>>0]=c[((i|0)==(l|0)?q:2970052+((l&15)<<2)|0)>>2]&143;m=m+1|0}while(m>>>0<p>>>0);k=k+1|0}while((k|0)!=128);if(!(c[515893]|0))c[515893]=(_q()|0)+150}while(0);if(!((c[742422]|0)==1&(c[742428]|0)!=0)){Fa=e;return}jb(b,c[742559]|0);Fa=e;return}function bb(a){a=a|0;c[516419]=0;if(!(c[742428]|0)){xg(38030,0,0);c[415621]=-2;return}else{Lm(2061972,38030)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;c[415621]=-2;return}}function cb(a,b){a=a|0;b=b|0;Lm(2061972,a)|0;c[515557]=_q()|0;c[515558]=b+400+(_q()|0);c[515559]=15;return}function db(){var b=0,d=0,e=0,f=0,g=0,h=0;_b();if(!(ka(0)|0))return;b=ka(1)|0;d=(b|0)>0;e=d?((b|0)<16?b:16):0;b=e<<15;f=Fp(b)|0;if((e|0)>0){g=0;do{a[f+g>>0]=ka(2)|0;g=g+1|0}while((g|0)<(b|0))}b=yr()|0;Ib(b,f);c[b+44576>>2]=32;la(3,0)|0;a[72032]=0;g=0;do{h=ka(4)|0;a[72032+g>>0]=h;g=g+1|0;a[72032+g>>0]=0}while((h|0)!=0&g>>>0<1023);Pb(b,72032);if(d){d=0;do{b=yr()|0;Ib(b,f+(d<<15)|0);c[b+44576>>2]=32;la(3,d|0)|0;a[72032]=0;g=0;do{h=ka(4)|0;a[72032+g>>0]=h;g=g+1|0;a[72032+g>>0]=0}while((h|0)!=0&g>>>0<1023);$b(b,72032);zr(b);d=d+1|0}while((d|0)<(e|0))}c[742422]=0;c[742427]=1;return}function eb(){if(!(a[1661168]|0)){c[516419]=0;Pm(38216);c[415553]=0;db();return}else{c[516419]=1;Pm(38197);c[415553]=1;oa(1661168,0,1,1);return}}function fb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=Fa;Fa=Fa+16|0;f=e;g=e+4|0;Yu(2065680,0,34180)|0;if((b|0)<=1){Fa=e;return}h=0;i=1;a:while(1){j=d+(i<<2)|0;k=c[j>>2]|0;l=a[k>>0]|0;switch(l<<24>>24){case 62:case 124:case 38:{m=44;break a;break}default:{}}b:do if((h|0)!=17&l<<24>>24==45){n=k+1|0;o=(Xs(n,38244)|0)==0;if(!(Xs(n,57235)|0)){c[415549]=1;p=0}else p=o?4:-1;if(!(Xs(n,38253)|0)){c[415563]=1;q=0}else q=p;if(!(Xs(n,38264)|0)){c[415551]=1;c[415550]=1;r=0}else r=q;if((Xs(n,38292)|0)!=0?(o=(Xs(n,38280)|0)==0,s=(Xs(n,38270)|0)==0,t=(Xs(n,49500)|0)==0,u=(Xs(n,49599)|0)==0,v=(Xs(n,35851)|0)==0,w=(Xs(n,49212)|0)==0,(Xs(n,38294)|0)!=0):0)x=o?11:s?10:t?9:u?8:v?7:w?6:r;else{c[704867]=1;c[415549]=1;c[525889]=1;x=0}w=(Xs(n,38299)|0)==0;v=w|(Xs(n,38305)|0)==0;w=(Xs(n,48923)|0)==0;u=(Xs(n,35736)|0)==0;t=(Xs(n,35746)|0)==0;s=(Xs(n,38307)|0)==0;o=(Xs(n,57295)|0)==0;y=(Xs(n,61771)|0)==0;z=(Xs(n,38321)|0)==0;A=(Xs(n,38330)|0)==0;B=(Xs(n,38341)|0)==0;C=(Xs(n,49304)|0)==0;D=(Xs(n,38352)|0)==0;E=(Xs(n,38354)|0)==0;F=E?25:D?24:C?22:B?21:A?20:z?19:y?18:o?17:s?16:t?15:u?14:w?13:v?12:x}else{c[g>>2]=0;c[f>>2]=g;Vt(k,63440,f)|0;do switch(h|0){case 0:{if(!(a[1661168]|0)){Yu(1661168,0,1024)|0;Lm(1661168,c[j>>2]|0)|0;F=0;break b}else{Lm(2065684+(c[516420]<<10)|0,c[j>>2]|0)|0;c[516420]=(c[516420]|0)+1;F=0;break b}break}case 4:{c[415555]=c[g>>2];F=0;break b;break}case 6:{c[415604]=c[g>>2];F=0;break b;break}case 7:{c[415607]=c[g>>2];F=0;break b;break}case 8:{c[415600]=c[g>>2];F=0;break b;break}case 9:{c[415601]=c[g>>2];F=0;break b;break}case 10:{c[415608]=c[g>>2];F=0;break b;break}case 11:{c[515484]=c[g>>2];F=0;break b;break}case 12:{nu(2972669,c[j>>2]|0,1024)|0;F=0;break b;break}case 13:{c[415613]=c[g>>2];F=0;break b;break}case 14:{bo(c[j>>2]|0,2960076)|0;F=0;break b;break}case 15:{bo(c[j>>2]|0,2962124)|0;F=0;break b;break}case 16:{c[415554]=c[g>>2];F=0;break b;break}case 17:{nu(2062532,c[j>>2]|0,1023)|0;c[525889]=1;F=0;break b;break}case 18:{v=c[g>>2]|0;w=(v|0)<256?v:256;v=(w|0)>0?w:0;c[515631]=v;if(!(c[525853]|0)){F=0;break b}c[525853]=v;F=0;break b;break}case 19:{c[515892]=c[g>>2];F=0;break b;break}case 20:{c[515894]=c[g>>2];F=0;break b;break}case 21:{c[515895]=c[g>>2];F=0;break b;break}case 22:{c[415605]=c[g>>2];F=0;break b;break}case 23:{nu(2102356,c[j>>2]|0,1023)|0;F=0;break b;break}default:{if(!((h|0)!=24|(c[516417]|0)!=0)){c[516417]=Jt(c[j>>2]|0,63774)|0;F=0;break b}if((h|0)!=25|(c[516418]|0)!=0){F=0;break b}c[516418]=Jt(c[j>>2]|0,71945)|0;F=0;break b}}while(0)}while(0);i=i+1|0;if((i|0)>=(b|0)){m=44;break}else h=F}if((m|0)==44){Fa=e;return}}function gb(){var a=0;c[515890]=0;c[742422]=2;c[704844]=-15;Cg();Eg();wg(3042456);c[742549]=7;Zm(c[704852]|0);Zm(c[704861]|0);mn(c[(c[18328]|0)+4>>2]|0,2,2,5,5,7);mn(c[(c[18328]|0)+4>>2]|0,5,2,2,5,7);a=Ca(0)|0;Uk((_q()|0)+a|0);wq();tq(0,0);c[525571]=0;c[515893]=0;if(!(xn()|0))return;do yn()|0;while((xn()|0)!=0);return}function hb(){Yu(3039944,0,480)|0;c[760091]=2;c[760022]=0;c[760092]=5;c[759990]=1;c[760009]=8;c[760010]=0;c[740018]=0;c[415557]=0;c[515487]=1;return}function ib(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=Fa;Fa=Fa+2912|0;f=e+2904|0;g=e+2896|0;h=e+2888|0;i=e+2880|0;j=e+2872|0;k=e+2864|0;l=e+2048|0;m=e+1024|0;n=e;Yu(1661168,0,404508)|0;nk();c[415602]=0;c[415604]=8;c[415600]=3;c[415608]=-1;c[415611]=1;c[515491]=1;c[515492]=1;c[415613]=0;c[415597]=1;c[415562]=1;c[415561]=0;c[415560]=0;c[415601]=2;ka(5)|0;Km(39538);Mn(2);Nn(3);Ep(2819376,0,222480);Nm()|0;fb(b,d);bq(1);if((c[525847]|0)<32|(c[525848]|0)<32){c[525847]=580;c[525848]=540}if(!((a[2960076]|0)!=0?(d=Hq(2960076,61978,l,-1)|0,Jq(l)|0,!(d|0)):0))gr(39545,2960076);if(!((a[2962124]|0)!=0?(d=Hq(2962124,61978,l,-1)|0,Jq(l)|0,!(d|0)):0))gr(39552,2962124);Yu(3039944,0,480)|0;c[760091]=2;c[760022]=0;c[760092]=5;c[759990]=1;c[760009]=8;c[760010]=0;c[740018]=0;c[415557]=0;c[515487]=1;c[743521]=yr()|0;hr(39559,m);hr(39569,m);if(c[704867]|0){c[k>>2]=1661168;xu(39578,k)|0}k=Xn(m)|0;c[704868]=k;if(!k){c[j>>2]=m;xu(39591,j)|0;va(0)}j=c[c[k>>2]>>2]|0;c[j+20>>2]=0;c[704869]=Ar(j)|0;j=c[(c[c[704868]>>2]|0)+4>>2]|0;c[j+20>>2]=0;c[704870]=Un(3042456,j)|0;j=c[(c[c[704868]>>2]|0)+8>>2]|0;c[j+20>>2]=0;k=Un(3042456,j)|0;c[704871]=k;if(c[415599]|0){j=(c[(c[k>>2]|0)+152>>2]|0)+16|0;k=c[c[j>>2]>>2]|0;d=a[k>>0]|0;a[k>>0]=a[k+2>>0]|0;a[(c[c[j>>2]>>2]|0)+2>>0]=d;d=c[(c[j>>2]|0)+4>>2]|0;k=a[d>>0]|0;a[d>>0]=a[d+2>>0]|0;a[(c[(c[j>>2]|0)+4>>2]|0)+2>>0]=k;k=c[(c[j>>2]|0)+8>>2]|0;d=a[k>>0]|0;a[k>>0]=a[k+2>>0]|0;a[(c[(c[j>>2]|0)+8>>2]|0)+2>>0]=d;d=c[(c[j>>2]|0)+12>>2]|0;k=a[d>>0]|0;a[d>>0]=a[d+2>>0]|0;a[(c[(c[j>>2]|0)+12>>2]|0)+2>>0]=k;k=c[(c[j>>2]|0)+16>>2]|0;d=a[k>>0]|0;a[k>>0]=a[k+2>>0]|0;a[(c[(c[j>>2]|0)+16>>2]|0)+2>>0]=d}Mm(62079);Mm(c[(c[(c[c[704870]>>2]|0)+16>>2]|0)+12>>2]|0);do if(!(c[515892]|0)){d=c[515894]|0;j=c[515895]|0;if((d|0)>1|(j|0)>1){k=(d|0)<8?d:8;d=(j|0)<8?j:8;yq((k|0)<1?128:k<<7,(d|0)<1?128:d<<7,8,256)|0;break}else{yq(128,128,8,256)|0;break}}else yq(144,136,8,256)|0;while(0);zq(c[(c[c[704870]>>2]|0)+4>>2]|0);c[704852]=cn(128,128,8)|0;c[704853]=cn(128,128,8)|0;c[704854]=cn(128,128,8)|0;c[704855]=cn(128,128,8)|0;c[704856]=cn(128,128,8)|0;c[704852]=c[704853];c[704861]=cn(128,128,8)|0;c[515625]=cn(128,128,8)|0;c[728247]=$k(128,128)|0;c[728248]=$k(128,128)|0;d=0;do{c[2912996+(d<<2)>>2]=$k(8,32)|0;d=d+1|0}while((d|0)!=64);c[704872]=cn(1,1,8)|0;c[704873]=cn(8,8,8)|0;Yu(73056,0,260)|0;c[18328]=yr()|0;gb();d=Er(0,65538)|0;c[74e4]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[415597]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740001]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[415597]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740002]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[415597]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740003]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[415597]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740004]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[415597]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740005]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[415597]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740006]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[415597]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740007]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[415597]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740008]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[415597]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740009]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[415597]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740010]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[415597]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740011]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[415597]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740012]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[415597]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740013]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[415597]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740014]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[415597]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=Er(0,65538)|0;c[740015]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[415597]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;c[740016]=c[74e4];c[i>>2]=2960076;c[i+4>>2]=39044;vs(2963156,71619,i)|0;i=0;do{if(!(Kq(2963156)|0))break;i=i+1|0;c[h>>2]=i;vs(l,39056,h)|0;c[g>>2]=2960076;c[g+4>>2]=l;vs(2963156,71619,g)|0}while(i>>>0<1e3);Eb(c[18328]|0,2964180);$p(22050,1)|0;c[525872]=1;ka(6)|0;do if(!((c[704867]|0)==0&(a[2062532]|0)==0)){fo(1661168,m);i=(Tb(m)|0)==0;c[415548]=i&1;if(!i){c[f>>2]=1661168;xu(39609,f)|0;va(1)}if(!(a[2062532]|0)){c[742422]=0;c[742427]=1;break}else{c[704867]=1;Lm(n,2960076)|0;Lm(2960076,39628)|0;Lm(2961100,3042456)|0;Lm(2960076,n)|0;va(0)}}while(0);c[415614]=0;if(ka(7)|0)c[415614]=1;if(!(ka(8)|0)){Fa=e;return}c[415614]=3;Fa=e;return}function jb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d&-65;d=e|2;if((d|0)==3){f=b+16|0;g=0;do{h=127;while(1){i=c[(c[f>>2]|0)+(g<<2)>>2]|0;a[i+h>>0]=a[i+(h>>>1)>>0]|0;if(!h)break;else h=h+-1|0}g=g+1|0}while((g|0)!=128)}g=e|1;if((g|0)==3){f=b+16|0;h=127;while(1){i=h>>>1;j=0;do{k=c[f>>2]|0;a[(c[k+(h<<2)>>2]|0)+j>>0]=a[(c[k+(i<<2)>>2]|0)+j>>0]|0;j=j+1|0}while((j|0)!=128);if(!h)break;else h=h+-1|0}}if((d|0)==7){h=b+16|0;f=0;do{j=0;do{i=c[(c[h>>2]|0)+(f<<2)>>2]|0;a[i+(127-j)>>0]=a[i+j>>0]|0;j=j+1|0}while((j|0)!=64);f=f+1|0}while((f|0)!=128)}if((g|0)==7){f=b+16|0;h=0;do{j=127-h|0;i=0;do{k=c[f>>2]|0;a[(c[k+(j<<2)>>2]|0)+i>>0]=a[(c[k+(h<<2)>>2]|0)+i>>0]|0;i=i+1|0}while((i|0)!=128);h=h+1|0}while((h|0)!=64)}h=(e|0)==134;if(h|(g|0)==131){g=b+16|0;f=0;do{i=127-f|0;j=0;do{k=c[g>>2]|0;l=(c[k+(f<<2)>>2]|0)+j|0;m=a[l>>0]|0;a[l>>0]=a[(c[k+(i<<2)>>2]|0)+j>>0]|0;a[(c[(c[g>>2]|0)+(i<<2)>>2]|0)+j>>0]=m;j=j+1|0}while((j|0)!=128);f=f+1|0}while((f|0)!=64)}if(h|(d|0)==131){d=b+16|0;h=0;do{f=0;do{g=c[(c[d>>2]|0)+(h<<2)>>2]|0;j=g+f|0;i=a[j>>0]|0;m=127-f|0;a[j>>0]=a[g+m>>0]|0;a[(c[(c[d>>2]|0)+(h<<2)>>2]|0)+m>>0]=i;f=f+1|0}while((f|0)!=64);h=h+1|0}while((h|0)!=128)}switch(e|0){case 133:{e=b+16|0;h=0;do{d=127-h|0;f=0;do{i=c[e>>2]|0;m=(c[i+(h<<2)>>2]|0)+f|0;g=a[m>>0]|0;j=127-f|0;a[m>>0]=a[(c[i+(j<<2)>>2]|0)+h>>0]|0;i=c[e>>2]|0;a[(c[i+(j<<2)>>2]|0)+h>>0]=a[(c[i+(d<<2)>>2]|0)+j>>0]|0;i=c[e>>2]|0;a[(c[i+(d<<2)>>2]|0)+j>>0]=a[(c[i+(f<<2)>>2]|0)+d>>0]|0;a[(c[(c[e>>2]|0)+(f<<2)>>2]|0)+d>>0]=g;f=f+1|0}while((f|0)!=64);h=h+1|0}while((h|0)!=64);return}case 135:{h=b+16|0;b=0;do{e=127-b|0;f=0;do{d=c[h>>2]|0;g=(c[d+(b<<2)>>2]|0)+f|0;i=a[g>>0]|0;a[g>>0]=a[(c[d+(f<<2)>>2]|0)+e>>0]|0;d=c[h>>2]|0;g=127-f|0;a[(c[d+(f<<2)>>2]|0)+e>>0]=a[(c[d+(e<<2)>>2]|0)+g>>0]|0;d=c[h>>2]|0;a[(c[d+(e<<2)>>2]|0)+g>>0]=a[(c[d+(g<<2)>>2]|0)+b>>0]|0;a[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+b>>0]=i;f=f+1|0}while((f|0)!=64);b=b+1|0}while((b|0)!=64);return}default:return}}function kb(){if(c[515893]|0)return;c[515893]=(_q()|0)+150;return}function lb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;switch(c[416456]|0){case 2:{Al(a);return}case 3:{Dl(a);return}default:{b=(c[18541]|0)==7?22:0;d=((c[416457]<<3)+8|0)/2|0;e=b+d|0;ek(a,23,63-d+b|0,104,e+64|0,1);f=64-d+b|0;gn(a,24,f,103,e+63|0,7);e=f+6|0;if((c[18541]|0)==7){ek(a,10,25,118,55,1);gn(a,11,26,117,54,7);Ln(a,39809,c[704871]|0,22,34,1,7)|0;Ln(a,39831,c[704871]|0,20,42,1,7)|0;if((Co((_q()|0)*50|0)|0)<-1999)g=0;else g=(Co((_q()|0)*50|0)|0)/2e3|0;bn(c[(c[c[704870]>>2]|0)+((((g|0)/4|0|0)%10|0)+212<<2)>>2]|0,a,0,0,g+63|0,59,10,10);if((Co(((_q()|0)*50|0)+32768|0)|0)<-1999)h=0;else h=(Co(((_q()|0)*50|0)+32768|0)|0)/2e3|0;bn(c[(c[c[704870]>>2]|0)+((((h|0)/4|0|0)%10|0)+212<<2)>>2]|0,a,0,0,56-h|0,59,10,10)}if((c[416457]|0)<=0)return;h=0;g=e;while(1){Ln(a,74096+(h*72|0)|0,c[704871]|0,(h|0)==(c[416458]|0)?35:34,g,1,7)|0;if((h|0)==(c[416458]|0))bn(c[(c[c[704870]>>2]|0)+980>>2]|0,a,0,0,25,g+-1|0,7,7);do if((c[74096+(h*72|0)+68>>2]|0)==2){e=(Pl(2966616,2967640)|0)==0;f=c[(c[c[704870]>>2]|0)+752>>2]|0;b=g+-1|0;if(e){nn(f,a,0,0,74,b,7,7,13,0);break}else{bn(f,a,0,0,74,b,7,7);break}}while(0);h=h+1|0;if((h|0)>=(c[416457]|0))break;else g=g+8|0}return}}}function mb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;e=c[524965]|0;if(!e){f=cn(128,128,8)|0;c[524965]=f;g=f}else g=e;e=b+4|0;Oo(b,g,0,0,0,0,c[b>>2]|0,c[e>>2]|0);Zm(b);Oo(g,b,0,0,((c[b>>2]|0)+-128|0)/2|0,((c[e>>2]|0)+-128|0)/2|0,128,128);f=c[c[704870]>>2]|0;h=c[f+996>>2]|0;i=c[f+4>>2]|0;a[i+765>>0]=73;a[i+766>>0]=51;a[i+767>>0]=59;f=g+16|0;g=0;do{j=c[f>>2]|0;k=g<<1;l=c[j+(k<<2)>>2]|0;m=0;n=0;o=0;p=0;q=0;do{r=d[l+m>>0]|0;s=d[i+(r*3|0)>>0]|0;t=d[i+(r*3|0)+1>>0]|0;u=d[i+(r*3|0)+2>>0]|0;r=80-m+s+t+u|0;q=r+q|0;n=(B(r,s)|0)+n|0;o=(B(r,t)|0)+o|0;p=(B(r,u)|0)+p|0;m=m+1|0}while((m|0)!=64);m=c[j+((k|1)<<2)>>2]|0;l=0;u=n;r=o;t=p;s=q;do{v=d[m+l>>0]|0;w=d[i+(v*3|0)>>0]|0;x=d[i+(v*3|0)+1>>0]|0;y=d[i+(v*3|0)+2>>0]|0;v=80-l+w+x+y|0;s=v+s|0;u=(B(v,w)|0)+u|0;r=(B(v,x)|0)+r|0;t=(B(v,y)|0)+t|0;l=l+1|0}while((l|0)!=64);l=g+16|0;a[i+(l*3|0)>>0]=(u|0)/(s|0)|0;a[i+(l*3|0)+1>>0]=(r|0)/(s|0)|0;a[i+(l*3|0)+2>>0]=(t|0)/(s|0)|0;g=g+1|0}while((g|0)!=64);g=0;do{l=c[f>>2]|0;m=g<<1;q=c[l+(m<<2)>>2]|0;p=0;o=0;n=0;k=0;j=0;do{y=d[q+(127-p)>>0]|0;v=d[i+(y*3|0)>>0]|0;x=d[i+(y*3|0)+1>>0]|0;w=d[i+(y*3|0)+2>>0]|0;y=80-p+v+x+w|0;j=y+j|0;o=(B(y,v)|0)+o|0;n=(B(y,x)|0)+n|0;k=(B(y,w)|0)+k|0;p=p+1|0}while((p|0)!=64);p=c[l+((m|1)<<2)>>2]|0;q=0;s=o;t=n;r=k;u=j;do{w=d[p+(127-q)>>0]|0;y=d[i+(w*3|0)>>0]|0;x=d[i+(w*3|0)+1>>0]|0;v=d[i+(w*3|0)+2>>0]|0;w=80-q+y+x+v|0;u=w+u|0;s=(B(w,y)|0)+s|0;t=(B(w,x)|0)+t|0;r=(B(w,v)|0)+r|0;q=q+1|0}while((q|0)!=64);q=g+144|0;a[i+(q*3|0)>>0]=(s|0)/(u|0)|0;a[i+(q*3|0)+1>>0]=(t|0)/(u|0)|0;a[i+(q*3|0)+2>>0]=(r|0)/(u|0)|0;g=g+1|0}while((g|0)!=64);g=0;do{f=g<<7&128|16;q=0;do{p=q+f|0;j=q+-1|0;k=((j|0)>0?j:0)+f|0;q=q+1|0;j=(q>>>0<63?q:63)+f|0;n=i+(p*3|0)|0;a[n>>0]=(((d[n>>0]|0)*6|0)+(d[i+(k*3|0)>>0]|0)+(d[i+(j*3|0)>>0]|0)|0)>>>3;n=i+(p*3|0)+1|0;a[n>>0]=(((d[n>>0]|0)*6|0)+(d[i+(k*3|0)+1>>0]|0)+(d[i+(j*3|0)+1>>0]|0)|0)>>>3;n=i+(p*3|0)+2|0;a[n>>0]=(((d[n>>0]|0)*6|0)+(d[i+(k*3|0)+2>>0]|0)+(d[i+(j*3|0)+2>>0]|0)|0)>>>3}while((q|0)!=64);g=g+1|0}while((g|0)!=256);g=h+4|0;q=0;do{f=q+16|0;u=(ln(h,1,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>16;r=(ln(h,1,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>8;t=ln(h,1,(B(c[g>>2]|0,q)|0)/64|0)|0;s=i+(f*3|0)|0;a[s>>0]=u+(((d[s>>0]|0)/5|0)&255);s=i+(f*3|0)+1|0;a[s>>0]=r+(((d[s>>0]|0)/5|0)&255);s=i+(f*3|0)+2|0;a[s>>0]=t+(((d[s>>0]|0)/5|0)&255);q=q+1|0}while((q|0)!=64);q=0;do{s=q+144|0;t=(ln(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>16;f=(ln(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>8;r=ln(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,q)|0)/64|0)|0;u=i+(s*3|0)|0;a[u>>0]=t+(((d[u>>0]|0)/5|0)&255);u=i+(s*3|0)+1|0;a[u>>0]=f+(((d[u>>0]|0)/5|0)&255);u=i+(s*3|0)+2|0;a[u>>0]=r+(((d[u>>0]|0)/5|0)&255);q=q+1|0}while((q|0)!=64);zq(i);i=c[e>>2]|0;if((i|0)<=0){en(b,0,0,255);z=c[b>>2]|0;A=z+-1|0;en(b,A,0,255);C=c[e>>2]|0;D=C+-1|0;en(b,0,D,255);E=c[b>>2]|0;F=E+-1|0;G=c[e>>2]|0;H=G+-1|0;en(b,F,H,255);return}q=0;g=i;do{i=(q<<6|0)/(g|0)|0;mn(b,0,q,2,q,i+16|0);h=c[b>>2]|0;mn(b,h+-3|0,q,h+-1|0,q,i+144|0);q=q+1|0;g=c[e>>2]|0}while((q|0)<(g|0));en(b,0,0,255);z=c[b>>2]|0;A=z+-1|0;en(b,A,0,255);C=c[e>>2]|0;D=C+-1|0;en(b,0,D,255);E=c[b>>2]|0;F=E+-1|0;G=c[e>>2]|0;H=G+-1|0;en(b,F,H,255);return}function nb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=b+16|0;b=(((_q()|0)/4e3|0)*101|0)+10201|0;f=0;g=0;while(1){h=a[(c[(c[e>>2]|0)+(f<<2)>>2]|0)+g>>0]|0;i=h&255;j=B(f+1001|0,b)|0;if(!(f&2)){k=0;while(1){l=c[(c[e>>2]|0)+(f<<2)>>2]|0;if((k|0)==127){m=i;n=128}else{o=k+1|0;m=d[l+o>>0]|0;n=o}o=(k&6|0)==0?((B(j,k+1103|0)|0)%19|0|0)!=0:0;a[l+k>>0]=o?((m&15|0)==0?1:m^128):m;if((n|0)==128)break;else k=n}}else{k=0;do{j=c[(c[e>>2]|0)+(f<<2)>>2]|0;i=k;k=k+1|0;a[j+i>>0]=a[j+k>>0]|0}while((k|0)!=127);a[(c[(c[e>>2]|0)+(f<<2)>>2]|0)+k>>0]=h}f=f+2|0;if(f>>>0>=128)break;else g=128}return}function ob(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=Fa;Fa=Fa+16|0;e=b;f=b+12|0;g=b+8|0;h=b+4|0;i=c[704853]|0;a[2062240]=0;c[515626]=_q()|0;if(c[742427]|0){Fa=b;return}Zm(c[704835]|0);j=c[760315]|0;do if((j|0)!=0&(c[742422]|0)==0){if((j|0)==1){Al(i);k=c[760315]|0}else k=j}else if(c[742423]|0){$m(i,0,0,128,128,5);if((c[742423]|0)==1){l=c[415607]|0;if(l>>>0<2){$m(i,0,0,128,128,1);m=c[415607]|0}else m=l;if((m|0)==2){$m(i,0,0,128,128,0);n=c[415607]|0}else n=m;if((n|0)==3)$m(i,0,0,128,128,5)}$m(i,0,0,128,7,8);$m(i,0,121,128,127,8);Gn(7,0);fr(f,g,h);if(!(c[h>>2]|0))c[760105]=-1;l=c[760107]|0;do if((l|0)==89){o=Hn(In()|0)|0;if(((o|0?(c[o+12>>2]|0)<20:0)?(c[o+16>>2]|0)<20:0)?c[o+20>>2]&1|0:0){o=(c[h>>2]|0)==0?93:94;c[760107]=o;p=o;break}q=c[760107]|0;r=24}else{q=l;r=24}while(0);if((r|0)==24)if(!q)break;else p=q;l=c[(c[c[704870]>>2]|0)+(p<<2)>>2]|0;o=c[l>>2]|0;s=c[l+4>>2]|0;bn(l,i,0,0,(c[f>>2]|0)-((o|0)/2|0)|0,(c[g>>2]|0)-((s|0)/2|0)|0,o,s);if((c[760105]|0)!=-1){s=c[f>>2]|0;o=c[g>>2]|0;$m(i,s+6|0,o+4|0,s+14|0,o+10|0,7);c[e>>2]=c[760105];vs(1509584,39854,e)|0;Ln(i,1509584,c[704871]|0,(c[f>>2]|0)+7|0,(c[g>>2]|0)+5|0,1,14)|0}}while(0);if(!((c[415618]|0)!=0&(c[742428]|0)==0&(c[742422]|0)==1)){if(!(c[416459]|c[742430]|c[704863]))ab(0)}else Oo(i,c[704861]|0,0,0,0,0,128,128);i=c[704835]|0;Oo(c[704861]|0,i,0,0,0,0,128,128);if(c[416459]|c[416456]|0)lb(i);a:do if((c[742430]|0)>0|(c[742431]|0)>140?(c[742422]|0)==1&(c[742428]|0)!=0:0){do if(!((c[415618]|0)>0|(c[516419]|0)!=0)){if(c[515558]|0?(Xs(2061972,61962)|0)==0:0)break;g=c[760317]|0;f=(g|0)/2|0;if((g|0)>-2)t=f;else t=12-((0-f|0)%12|0)|0;bn(c[(c[c[704870]>>2]|0)+(((t|0)%12|0)+212<<2)>>2]|0,i,0,0,3,3,12,12);break a}while(0);f=c[760317]|0;g=(f|0)/2|0;if((f|0)>-2)u=g;else u=16-((0-g|0)%16|0)|0;bn(c[(c[c[704870]>>2]|0)+(((u|0)%16|0)+229<<2)>>2]|0,i,0,0,3,3,12,12)}while(0);Oo(c[704835]|0,c[515625]|0,0,0,0,0,128,128);i=_q()|0;do if((i|0)<(c[515558]|0)){u=_q()|0;t=c[515557]|0;g=u-t|0;f=(c[515558]|0)-u|0;u=(t|0)==0?0:(f|0)<200?(200-f|0)/20|0:(g|0)<200?(200-g|0)/20|0:0;if(!(Xs(2061972,59890)|0)){gn(c[704835]|0,0,u+119|0,101,u+127|0,0);$m(c[704835]|0,1,u+120|0,100,u+126|0,6);Ln(c[704835]|0,2061972,c[704871]|0,16,u+121|0,1,1)|0;bn(c[(c[c[704870]>>2]|0)+904>>2]|0,c[704835]|0,0,0,2,(u<<1)+112|0,15,15);break}g=(Xs(2061972,59866)|0)==0;f=c[704835]|0;if(g){gn(f,0,u+119|0,101,u+127|0,0);$m(c[704835]|0,1,u+120|0,127,u+126|0,6);Ln(c[704835]|0,2061972,c[704871]|0,16,u+121|0,1,1)|0;bn(c[(c[c[704870]>>2]|0)+908>>2]|0,c[704835]|0,0,0,109,(u<<1)+112|0,17,15);break}else{$m(f,0,u+121|0,128,u+127|0,8);Ln(c[704835]|0,2061972,c[704871]|0,1,u+122|0,1,c[515559]|0)|0;break}}else if(a[2062240]|0){$m(c[704835]|0,0,121,128,127,8);Ln(c[704835]|0,2062240,c[704871]|0,1,122,1,2)|0}while(0);i=_q()|0;c[515626]=i-(c[515626]|0);i=_q()|0;if((i|0)<(c[515893]|0)?(i=_q()|0,(i|0)>((c[515893]|0)+-150|0)):0){i=c[704835]|0;u=i+16|0;i=(((_q()|0)/4e3|0)*101|0)+10201|0;f=0;g=0;while(1){t=c[(c[u>>2]|0)+(f<<2)>>2]|0;e=a[t+g>>0]|0;p=e&255;q=B(f+1001|0,i)|0;b:do if(!(f&2)){h=0;n=t;while(1){m=h+1|0;if((h|0)==127){v=p;w=128}else{v=d[n+m>>0]|0;w=m}m=(h&6|0)==0?((B(q,h+1103|0)|0)%19|0|0)!=0:0;a[n+h>>0]=m?((v&15|0)==0?1:v^128):v;if((w|0)==128)break b;h=w;n=c[(c[u>>2]|0)+(f<<2)>>2]|0}}else{n=0;h=t;do{m=n;n=n+1|0;a[h+m>>0]=a[h+n>>0]|0;h=c[(c[u>>2]|0)+(f<<2)>>2]|0}while((n|0)!=127);a[h+127>>0]=e}while(0);f=f+2|0;if(f>>>0>=128)break;else g=128}}if(!(c[515892]|0))x=1;else{mb(c[704835]|0);x=(c[515892]|0)==0}g=(c[742428]|0)!=0;if(x&(g&(((a[2966616]|0)!=0&g|(c[415553]|0)!=0)^1))?(a[2998462]&1)!=0:0){g=c[704835]|0;x=c[g>>2]|0;f=(x|0)/128|0;if((x|0)>127?(c[g+4>>2]|0)>127:0){g=0;do{x=B(g,f)|0;u=g<<7;w=0;do{v=w+x|0;if((v+-1|0)>>>0<3){ab(v);Oo(c[704861]|0,c[704835]|0,0,0,w<<7,u,128,128)}w=w+1|0}while((w|0)!=(f|0));g=g+1|0}while((g|0)<((c[(c[704835]|0)+4>>2]|0)/128|0|0))}}else r=76;if((r|0)==76?(ik(0),(jk()|0)>1):0){r=1;do{Zm(c[2819412+(r<<2)>>2]|0);r=r+1|0}while((r|0)<(jk()|0))}if(c[516409]|0)Ig(c[704835]|0);if(c[416456]|0){Fa=b;return}Gg(c[704835]|0);Fa=b;return}function pb(a){a=a|0;return (a|0)>15|0}function qb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Fa;Fa=Fa+1040|0;d=b+1032|0;e=b+1024|0;f=b;if(!(c[760314]|0)){Fa=b;return}c[e>>2]=2960076;c[e+4>>2]=2961100;vs(f,71619,e)|0;switch(c[760313]|0){case 0:{c[d>>2]=2961100;vs(1509584,58228,d)|0;ug(1509584,12);d=Hq(f,61978,3040436,16384)|0;c[760313]=1;g=d;h=6;break}case 2:{d=Hq(f,61978,3040436,-16385)|0;c[760313]=3;i=d;h=11;break}default:{d=Iq(3040436)|0;switch(c[760313]|0){case 1:{g=d;h=6;break}case 3:{i=d;h=11;break}default:{}}}}do if((h|0)==6){if(g|0){c[760313]=2;break}if(Xs(3040692,72022)|0?Xs(3040692,64122)|0:0){ug(3040692,14);c[760314]=(c[760314]|0)+-1}}else if((h|0)==11){if(i|0){Jq(3040436)|0;c[760313]=0;break}if(eu(3040692,61980)|0){wg(3040692);c[760314]=(c[760314]|0)+-1;break}if((c[760237]&16384|0)==0&(a[2060884]|0)==42){ug(3040692,5);c[760314]=(c[760314]|0)+-1}}while(0);if(!((c[760314]|0)==0&(c[760313]|0)!=0)){Fa=b;return}ug(39859,12);Fa=b;return}function rb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Fa;Fa=Fa+16|0;d=b;c[416457]=0;e=c[416456]|0;if((e|0)<2){c[416457]=1;f=74096;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(74096,39868,16)|0;c[18541]=0;if(a[2973758]|0){h=c[416457]|0;c[416457]=h+1;i=74096+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(i,2973758,16)|0;c[74096+(h*72|0)+68>>2]=257}if(a[2973822]|0){h=c[416457]|0;c[416457]=h+1;i=74096+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(i,2973822,16)|0;c[74096+(h*72|0)+68>>2]=258}if(a[2973886]|0){h=c[416457]|0;c[416457]=h+1;i=74096+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(i,2973886,16)|0;c[74096+(h*72|0)+68>>2]=259}if(a[2973950]|0){h=c[416457]|0;c[416457]=h+1;i=74096+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(i,2973950,16)|0;c[74096+(h*72|0)+68>>2]=260}if(a[2974014]|0){h=c[416457]|0;c[416457]=h+1;i=74096+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(i,2974014,16)|0;c[74096+(h*72|0)+68>>2]=261}h=c[416457]|0;c[416457]=h+1;i=74096+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(i,61612,16)|0;c[74096+(h*72|0)+68>>2]=8;h=c[416457]|0;c[416457]=h+1;i=74096+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(i,39877,16)|0;c[74096+(h*72|0)+68>>2]=1;if(pg()|0){h=pg()|0;i=c[416457]|0;c[416457]=i+1;j=74096+(i*72|0)|0;f=j;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(j,h,16)|0;c[74096+(i*72|0)+68>>2]=5}if(c[415549]|0){i=c[416457]|0;c[416457]=i+1;h=74096+(i*72|0)|0;f=h;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(h,57276,16)|0;c[74096+(i*72|0)+68>>2]=6}k=c[416456]|0}else k=e;if((k|0)!=4){Fa=b;return}vs(1509584,(c[525853]|0)==0?39897:39888,d)|0;d=c[416457]|0;c[416457]=d+1;k=74096+(d*72|0)|0;f=k;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(k,1509584,16)|0;c[74096+(d*72|0)+68>>2]=9;d=c[416457]|0;c[416457]=d+1;k=74096+(d*72|0)|0;f=k;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(k,58538,16)|0;c[74096+(d*72|0)+68>>2]=13;d=c[416457]|0;c[416457]=d+1;k=74096+(d*72|0)|0;f=k;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));nu(k,61766,16)|0;c[74096+(d*72|0)+68>>2]=11;Fa=b;return}function sb(){var b=0,d=0,e=0,f=0,g=0;b=c[742577]|0;if(c[416460]|0){c[416460]=0;c[416456]=1;c[416457]=1;d=74096;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));nu(74096,39907,16)|0;c[18541]=7;f=c[416457]|0;c[416457]=f+1;g=74096+(f*72|0)|0;d=g;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));nu(g,39919,16)|0;c[74096+(f*72|0)+68>>2]=0;c[416458]=0;a[1514361]=1;Hk()}if((b|0)==0|(c[742428]|0)==0|(c[416456]|0)!=0)return;if((vk(2819376,c[743521]|0,24368)|0)==1)uk(2819376,c[743521]|0,24368,0);else{c[416456]=1;rb();c[416458]=0}a[1514361]=1;Hk();return}function tb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=(An(-5)|0)!=0;d=b&(c[524967]|0)==0&1;c[524967]=An(-5)|0;if(!(xn()|0))e=d;else{b=d;while(1){d=yn()|0;a:do if(!(An(-5)|0)){f=c[760446]|0;if((c[416456]|0)==0&(f|0)<256?(g=(d+-65|0)>>>0<26?d+63|0:d,h=(g|0)==127?8:g,h>>>0<154):0){a[3041528+f>>0]=h;c[760446]=(c[760446]|0)+1;i=b}else i=b}else{do if((d+-111|0)>>>0<2){c[516409]=((c[516409]|0)+1|0)%2|0;Hk()}else{if((d|0)==114&(c[704866]|0)==0){h=_q()|0;if((h|0)<=((c[515629]|0)+500|0))break;Xb();c[704866]=1;c[416456]=0;c[515629]=_q()|0;if(xn()|0)do yn()|0;while((xn()|0)!=0);Hk()}if((d|0)!=118)if((d+-97|0)>>>0<26)break;else{i=b;break a}h=ur()|0;if((h|0)!=0?(a[h>>0]|0)!=0:0){Hp(c[416461]|0);f=Fp((ft(h)|0)<<2)|0;c[416461]=f;Hr(h,f)|0;Hp(h)}else Hp(h);Hk()}while(0);a[3041528+(c[760446]|0)>>0]=d+95;c[760446]=(c[760446]|0)+1;i=0}while(0);if(!(xn()|0)){e=i;break}else b=i}}if(!e)return;a[3041528+(c[760446]|0)>>0]=-38;c[760446]=(c[760446]|0)+1;return}function ub(){var b=0,d=0,e=0,f=0,g=0,h=0;if(Kk(2,0)|0)c[416458]=(c[416458]|0)+-1;b=(Kk(3,0)|0)==0;d=c[416458]|0;if(b)e=d;else{b=d+1|0;c[416458]=b;e=b}b=c[416457]|0;if((e|0)>-1)f=e;else f=b-((0-e|0)%(b|0)|0)|0;c[416458]=(f|0)%(b|0)|0;b=Kk(0,0)|0;f=(b|0)==0;if(Kk(1,0)|0|b|0?(b=c[74096+((c[416458]|0)*72|0)+68>>2]|0,(b|0)>255):0){e=(b|0)<261?b+-256|0:5;a[2974078+((e|0)>0?e:0)>>0]=f?2:1;c[416459]=1;if(c[416456]|0)c[760446]=0;c[416456]=0;f=2970284;c[f>>2]=0;c[f+4>>2]=0;c[742699]=1;c[742700]=1}if(!(((Kk(4,0)|0)==0?(Kk(5,0)|0)==0:0)?!(Kk(6,0)|0):0))g=15;a:do if((g|0)==15){c[742575]=0;c[742576]=0;c[742577]=0;c[742703]=1;c[742704]=1;c[742705]=1;f=c[74096+((c[416458]|0)*72|0)+68>>2]|0;if((f|0)>255){a[2974078+((f|0)<261?f+-256|0:5)>>0]=112;c[416459]=1;if(c[416456]|0)c[760446]=0;c[416456]=0}do switch(f|0){case 0:{if(c[416456]|0)c[760446]=0;c[416456]=0;break a;break}case 1:{if(c[416456]|0)c[760446]=0;c[416456]=0;c[704866]=1;break a;break}case 13:{c[416456]=3;break a;break}case 3:{if(c[416456]|0)c[760446]=0;c[416456]=0;c[742427]=2;c[416455]=2;break a;break}case 4:{if(c[416456]|0)c[760446]=0;c[416456]=0;Mg();c[760315]=0;c[742422]=0;c[742549]=6;break a;break}case 5:{tg();break a;break}case 12:{xl();c[416456]=2;Hk();break a;break}case 8:{c[416456]=4;rb();c[416458]=0;break a;break}case 9:{if(!(c[525853]|0)){e=c[515631]|0;h=(e|0)==0?256:e}else h=0;c[525853]=h;rb();break a;break}case 10:{Cq();rb();break a;break}case 11:{c[416456]=1;rb();c[416458]=0;break a;break}default:break a}while(0)}while(0);if(c[416456]|c[525569]|0)return;Hk();return}function vb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;if(c[760315]|0){if(!(xn()|0))return;do{a=yn()|0;b=c[760315]|0;if((b|0)==2)d=c[760315]|0;else d=b;if((d|0)==1){zl(a);e=c[760315]|0}else e=d;if((e|0)==2){im(a);f=c[760315]|0}else f=e;if((f|0)==0?xn()|0:0)do yn()|0;while((xn()|0)!=0)}while((xn()|0)!=0);return}if(!(c[760313]|0)){if(!(c[760316]|0))return;if(!(xn()|0))return;f=yn()|0;switch(f|0){case 13:case 121:{g=26;break}case 27:case 110:break;default:return}a:do if((g|0)==26){e=1|0;d=(e|0)<0?e:0;Kg(75248+(((d|0)>0?d:0)<<8)|0,1);switch(f|0){case 27:case 110:{break a;break}default:{}}return}while(0);c[760316]=0;wg(62050);return}else{if(c[760314]|0)return;if(!(xn()|0))return;do{f=yn()|0;if((f|0)!=0?(g=c[742551]|0,d=g+-6|0,c[742551]=d,$m(c[704852]|0,0,d,128,g+-1|0,0),(f|0)==27):0){c[760313]=0;Jq(3040436)|0;h=0}else h=17;c[760314]=h}while((xn()|0)!=0);return}}function wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Fa;Fa=Fa+272|0;g=f+256|0;h=f;c[g>>2]=d;c[g+4>>2]=e;vs(h,a,g)|0;Lm(2061972,h)|0;c[515557]=_q()|0;c[515558]=b+400+(_q()|0);c[515559]=15;Fa=f;return}function xb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a=Fa;Fa=Fa+288|0;b=a+272|0;d=a+264|0;e=a+256|0;f=a;zr(c[743521]|0);zr(c[18328]|0);Gr(c[74e4]|0);Gr(c[740001]|0);Gr(c[740002]|0);Gr(c[740003]|0);Gr(c[740004]|0);Gr(c[740005]|0);Gr(c[740006]|0);Gr(c[740007]|0);Gr(c[740008]|0);Gr(c[740009]|0);Gr(c[740010]|0);Gr(c[740011]|0);Gr(c[740012]|0);Gr(c[740013]|0);Gr(c[740014]|0);Gr(c[740015]|0);c[740016]=0;Ep(2963152,0,77280);Yu(3039944,0,480)|0;c[760091]=2;c[760022]=0;c[760092]=5;c[759990]=1;c[760009]=8;c[760010]=0;c[740018]=0;c[415557]=0;c[515487]=1;Lm(2961100,3042456)|0;c[743521]=yr()|0;c[18328]=yr()|0;g=Er(0,65538)|0;c[74e4]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[415597]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740001]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[415597]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740002]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[415597]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740003]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[415597]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740004]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[415597]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740005]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[415597]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740006]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[415597]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740007]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[415597]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740008]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[415597]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740009]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[415597]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740010]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[415597]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740011]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[415597]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740012]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[415597]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740013]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[415597]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740014]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[415597]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=Er(0,65538)|0;c[740015]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[415597]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;c[740016]=c[74e4];gb();c[515889]=0;c[e>>2]=2960076;c[e+4>>2]=39044;vs(2963156,71619,e)|0;e=0;while(1){if(!(Kq(2963156)|0)){j=4;break}e=e+1|0;c[d>>2]=e;vs(f,39056,d)|0;c[b>>2]=2960076;c[b+4>>2]=f;vs(2963156,71619,b)|0;if(e>>>0>=1e3){j=4;break}}if((j|0)==4){Eb(c[18328]|0,2964180);Fa=a;return}}function yb(a){a=a|0;if((c[704866]|0)>0)return 0;else{Ad(c[524986]|0,a)|0;af(c[524986]|0)|0}return 0}function zb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a=c[704866]|0;if(!a)return;b=(a|0)<(((c[759972]|0)==60?12:6)|0)?a+1|0:0;c[704866]=b;if((b|0)==2){a=vk(2819376,c[743521]|0,24366)|0;if(!(Bo(8)|0))c[742559]=Bo(4)|0;d=c[743521]|0;uk(2819376,d,24384,Bo(256)|0);d=c[743521]|0;uk(2819376,d,24384,Bo(256)|0);d=c[743521]|0;uk(2819376,d,24384,Bo(256)|0);d=c[743521]|0;uk(2819376,d,24384,Bo(256)|0);if(!(Bo(4)|0)){d=c[743521]|0;uk(2819376,d,24414,Bo(16)|0|240)}Bo(3)|0;Bo(10)|0;d=(c[515484]|0)==0?4:c[515485]<<1;e=d*10|0;if((d|0)>0){f=0;do{g=c[743521]|0;h=Bo(12288)|0;uk(2819376,g,h,Bo(256)|0);f=f+1|0}while((f|0)<(e|0))}e=c[743521]|0;f=(Bo(32)|0)+24320|0;uk(2819376,e,f,Bo(140)|0);f=c[743521]|0;e=(Bo(32)|0)+24320|0;uk(2819376,f,e,Bo(140)|0);if(!(Bo(4)|0)){e=c[743521]|0;uk(2819376,e,24369,Bo(256)|0);e=c[743521]|0;uk(2819376,e,24370,Bo(256)|0);e=c[743521]|0;uk(2819376,e,24371,Bo(256)|0)}if(!(Bo(4)|0)){e=c[743521]|0;uk(2819376,e,24408,Bo(256)|0);e=c[743521]|0;uk(2819376,e,24409,Bo(256)|0);e=c[743521]|0;uk(2819376,e,24410,Bo(256)|0);e=c[743521]|0;uk(2819376,e,24411,Bo(256)|0)}e=(d|0)/2|0;f=(d|0)>1;if(f){d=0;do{h=(Bo(10240)|0)+1024|0;g=c[743521]|0;i=(Bo(2048)|0)+h|0;j=i-(Bo(2048)|0)|0;xk(2819376,g,h,j,Bo(1024)|0);j=c[743521]|0;h=Bo(11264)|0;g=Bo(11264)|0;xk(2819376,j,h,g,Bo(1024)|0);d=d+1|0}while((d|0)!=(e|0));if(f){f=0;do{d=Bo(11776)|0;g=c[743521]|0;h=Bo(256)|0;yk(2819376,g,d,h,Bo(512)|0);f=f+1|0}while((f|0)!=(e|0))}}uk(2819376,c[743521]|0,24366,a);k=c[704866]|0}else k=b;if(k|0)return;c[742427]=1;Lm(2972669,2971644)|0;return}function Ab(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=Fa;Fa=Fa+1040|0;b=a+1032|0;d=a+1024|0;e=a;switch(c[415618]|0){case 1:{f=2;break}case 0:{Fa=a;return}default:{}}if((f|0)==2){g=_q()|0;if((g|0)>(((c[525887]|0)*1e3|0)+(c[415619]|0)|0)?(bm(0),rg(),(c[742428]|0)==0):0){c[742551]=(c[742551]|0)+-6;xg(39961,0,0)}if(!(c[415618]|0)){Fa=a;return}}if((An(41)|0)==0?!((c[742428]|0)!=0&(c[742577]|0)!=0):0){g=c[415618]|0;if((g|0)==2){c[415618]=0;h=(eu(1663772,40004)|0)!=0;i=c[415620]|0;do if(!(h&(i|0)==0)){if(h&(i|0)==1){dm()|0;break}j=Kb(1663772)|0;if(j|0){Pb(j,1663772);c[415621]=6;if((c[742428]|0)==0|(c[704867]|0)!=0){c[742551]=(c[742551]|0)+-6;xg(40036,0,0);ug(1731654,14);k=Pg(1663772)|0;l=ft(c[j>>2]|0)|0;c[b>>2]=k;c[b+4>>2]=l;vs(1509584,40053,b)|0;xg(1509584,0,0);break}else{sg();c[742427]=1;c[742430]=20;break}}l=c[415559]|0;c[415621]=-10-l;if((l|0)==1){Lm(2061972,40075)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;m=c[415559]|0}else m=l;if((m|0)==2){Lm(2061972,58835)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;n=c[415559]|0}else n=m;if((n|0)==3){Lm(2061972,40100)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;o=c[415559]|0}else o=n;if((o|0)==4){Lm(2061972,42594)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15}}else{l=Uo(1663772)|0;Lm(e,1663772)|0;k=eu(1663772,40009)|0;if(k|0)Lm(e+(k-1663772)+1|0,k+6|0)|0;do if(l)if((ft(To(l,61984,0)|0)|0)>>>0<=1)if(!(Xs(To(l,62005,0)|0,64686)|0)){p=l;break}else{f=19;break}else{mo(1663772,e)|0;p=l;break}else f=19;while(0);if((f|0)==19){l=Uo(e)|0;if(!l){if(!(c[742428]|0))xg(40075,0,0);rg();c[415621]=-3;break}else p=l}l=To(p,61984,0)|0;if((ft(l)|0)>>>0<2){k=(Xs(To(p,62005,0)|0,64686)|0)==0;j=(c[742428]|0)!=0;do if(k)if(j)q=-1;else{xg(40016,0,0);q=-1}else if(j){Lm(2061972,38030)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;q=-2;break}else{xg(38030,0,0);q=-2;break}while(0);c[415621]=q;rg();c[742430]=0}else{j=Tb(Ml(l)|0)|0;lm(p);do if(!j){c[415621]=5;if((c[742428]|0)==0|(c[704867]|0)!=0){c[742551]=(c[742551]|0)+-6;xg(40036,0,0);Lm(1509584,To(p,61988,0)|0)|0;El(1509584);ug(1509584,14);k=ft(c[c[18328]>>2]|0)|0;c[d>>2]=l;c[d+4>>2]=k;vs(1509584,40053,d)|0;xg(1509584,0,0);break}else{sg();c[742427]=1;c[742430]=20;break}}else{Zl(l);Lm(1731654,To(p,61988,0)|0)|0;El(1731654)}while(0);So(p)}c[760317]=0}while(0);r=c[415618]|0}else r=g;if((r|0)!=3){Fa=a;return}c[415618]=0;c[415621]=-3;rg();if(!(c[742428]|0)){xg(61962,0,0);Fa=a;return}else{Lm(2061972,61962)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;Fa=a;return}}bm(0);rg();if(!(c[742428]|0)){c[742551]=(c[742551]|0)+-6;xg(39980,0,0)}c[742577]=0;c[742705]=1;Fa=a;return}function Bb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;b=Fa;Fa=Fa+304|0;d=b+272|0;e=b+264|0;f=b+256|0;g=b;h=b+292|0;i=b+288|0;j=b+284|0;k=b+280|0;l=b+276|0;ec();tk();m=c[525853]|0;if(m|0)c[515631]=m;c[525854]=256;m=((vk(2819376,c[743521]|0,24365)|0)&5|0)==5;lr((c[416456]|0)==0&((c[742422]|0)==1&m)&1);m=c[515484]|0;n=c[742422]|0;do if((m|0)!=0&(n|0)==1){o=m+1|0;c[515484]=o;if((o|0)==12)c[704866]=1;if((c[742427]|0)==1){Yb(c[704861]|0,0,0)|0;c[515484]=1;o=(c[515485]|0)+1|0;c[515485]=o;if((o|0)==48)va(0);else{p=c[742422]|0;break}}else p=1}else p=n;while(0);if(!((c[742423]|0)>>>0>1&((c[415602]|0)!=0&(p|0)==0))){c[525573]=0;c[525572]=0}if(An(-5)|0?(An(16)|0)==3:0){if(!(c[525853]|0)){p=c[515631]|0;c[525853]=(p|0)==0?256:p;Lm(2061972,39943)|0}else{c[525853]=0;Lm(2061972,39924)|0}c[515557]=_q()|0;c[515558]=(_q()|0)+1400;c[515559]=15;c[525854]=256};c[742831]=-1;c[742832]=-1;c[742833]=-1;c[742834]=-1;c[742835]=-1;c[742836]=-1;c[742837]=-1;c[742838]=-1;p=c[416456]|0;n=c[525853]|0;m=c[704845]|0;o=qr()|0;q=((vk(2819376,c[743521]|0,24365)|0)&5|0)==5;na(9,p|0,n|0,m|0,o|0,1,(c[416456]|0)==0&((c[742422]|0)==1&q)&1|0)|0;c[524968]=(c[524968]|0)+1;q=ka(10)|0;if((q|0)>0){o=ka(11)|0;a:do switch(q|0){case 1:{c[742427]=1;break}case 2:{m=(o|0)<256?o:256;c[525853]=(m|0)>0?m:0;c[525854]=256;break}case 3:{if(!(c[525853]|0)){m=c[515631]|0;c[525853]=(m|0)==0?256:m;Lm(2061972,39943)|0}else{c[525853]=0;Lm(2061972,39924)|0}c[515557]=_q()|0;c[515558]=(_q()|0)+1400;c[515559]=15;c[525854]=256;break}case 4:{if(!(c[416456]|0)){c[416456]=1;rb();c[416458]=0;break a}else{c[760446]=0;c[416456]=0;break a}break}case 5:{m=(o|0)==0;n=(c[416456]|0)!=0;if(!(m|n)){c[416456]=1;rb();c[416458]=0;break a}if(m&n){c[760446]=0;c[416456]=0}break}case 6:{Yu(1661168,0,1024)|0;la(3,0)|0;a[72032]=0;n=0;do{m=ka(4)|0;a[72032+n>>0]=m;n=n+1|0;a[72032+n>>0]=0}while((m|0)!=0&n>>>0<1023);Lm(1661168,Ol(3042456,72032)|0)|0;xb();Zm(c[704835]|0);Zm(c[704861]|0);Zm(c[704852]|0);break}case 7:{n=c[416456]|0;if((n|1|0)!=3){c[416456]=3;xl();break a}if(n|0)c[760446]=0;c[416456]=0;break}case 9:{c[516416]=0;fc();break}case 10:{c[516416]=1;break}case 11:{c[516416]=0;break}default:{}}while(0);su(41107)|0}ka(12)|0;c[742831]=ka(13)|0;c[742832]=ka(13)|0;c[742833]=ka(13)|0;c[742834]=ka(13)|0;c[742835]=ka(13)|0;c[742836]=ka(13)|0;c[742837]=ka(13)|0;c[742838]=ka(13)|0;c[515632]=ka(14)|0;c[760107]=89;o=c[742427]|0;if(o|0){c[704866]=0;if((o|0)==1){Rg();r=c[742427]|0}else r=o;if((r|0)==2){Mg();s=c[742427]|0}else s=r;if((s|0)==3){xb();t=c[742427]|0}else t=s;if((t|0)==4){Mg();Cg();wg(3042456);wg(141296);u=c[742427]|0}else u=t;if((u|0)==5){xb();v=c[742427]|0}else v=u;if((v|0)==6)Cg();c[742427]=0}if((c[742422]|0)!=1){c[525569]=0;if(c[416456]|0)c[760446]=0;c[416456]=0;c[759972]=30}v=(_q()|0)+72e6|0;u=(c[416456]|c[525569]|0)==0;t=c[759972]|0;s=v-(c[524969]|0)|0;r=B((((s|0)<32e3?s:32e3)<<16|0)/1e3|0,u?t:30)|0;s=r+(c[515627]|0)|0;r=(s|0)>0?s:0;c[515627]=r;c[524969]=v;if(!(c[515484]|0))w=r;else{c[515627]=65536;w=65536}r=(t|0)==60?131072:131071;t=w>>>0<r>>>0?w:r;r=(t|0)>0?t:0;c[515627]=r;if(u){fr(j,k,l);l=c[j>>2]|0;j=c[k>>2]|0;k=(j|0)!=(c[524971]|0)|(l|0)!=(c[524970]|0);c[524970]=l;c[524971]=j;j=(An(225)|0)==0;l=(c[742422]|0)!=1;u=c[515627]|0;if((u|0)<65536&(l&(k&j)^1)|l&(u|0)<32768){l=2063584+(c[516408]<<5)+16|0;c[l>>2]=(c[l>>2]|0)+1;l=(qr()|0)==0;j=l?c[525856]|0:c[525855]|0;if((j|0)>0)x=100/(((j|0)<50?j:50)>>>0)|0;else x=1e4;j=c[524972]|0;if((j|0)<(x|0)){Um();y=c[524972]|0}else y=j;z=c[515627]|0;A=y+1|0}else{z=u;A=0}c[524972]=A;if((z|0)>65535)do{do if((c[742422]|0)==1){if((c[415618]|0)>0|(c[516419]|0)!=0){Jk();if((c[415618]|0)>0)Ab();z=c[742430]|0;if((z|0)<=10)break;c[742430]=z+-1;break}z=c[742430]|0;if((z|0)>0){c[742430]=z+-1;break}z=(c[742431]|0)+-1|0;A=(z|0)<150?z:150;c[742431]=(A|0)>0?A:0;tb();c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;fr(g,h,i);A=c[8772]|0;z=c[g>>2]|0;do if((A|0)==-1){C=c[h>>2]|0;D=c[i>>2]|0}else{if((A|0)!=(z|0))c[742568]=c[742568]|1;u=c[h>>2]|0;if((c[8773]|0)!=(u|0))c[742568]=c[742568]|2;y=c[8774]|0;j=c[i>>2]|0;if((y|0)==(j|0)){C=u;D=y;break}c[742568]=c[742568]|4;C=u;D=j}while(0);c[8772]=z;c[8773]=C;c[8774]=D;if((c[742428]|0)==0|(c[742903]|0)<2){Jk();if(c[742428]|0)c[704845]=((c[759972]|0)==30?2:1)+(c[704845]|0);sb();Jg()}if((c[704866]|0)>2)break;c[516413]=1;Ug();c[516413]=0;if(!(c[704863]|0))break;c[515628]=1;if(!((c[742428]|0)!=0&(c[742903]|0)==2))break;if((Bg(0)|0)<=2097152)break;Ik();sb();Jg()}else{Jk();A=c[760315]|0;if((A|0)==1){Bl();E=c[760315]|0}else E=A;c[742430]=0}while(0);A=c[742422]|0;if((A|0)==2){Jm();F=c[742422]|0}else F=A;if((F|0)==3?(A=zn()|0,c[742571]|A|c[742572]|c[742573]|c[742574]|c[742575]|c[742576]|c[742577]|0):0)gb();zb();c[515627]=(c[515627]|0)+-65536;c[704844]=(c[704844]|0)+1;c[760317]=(c[760317]|0)+1;A=c[524973]&1^1;c[524973]=A;do if(!(c[415606]|0)){j=c[525569]|0;u=c[416456]|0;y=c[759972]|0;if((y|0)==60&(j|A|u|0)==0){sh(c[515625]|0);G=c[525569]|0;H=c[416456]|0;I=c[759972]|0}else{G=j;H=u;I=y}if((I|0)==30|(H|G|0)!=0){sh(c[515625]|0);J=c[525569]|0;K=c[416456]|0;L=c[759972]|0}else{J=G;K=H;L=I}if(!((K|J|0)==0&(L|0)==15))break;sh(c[515625]|0);sh(c[515625]|0)}while(0)}while((c[515627]|0)>65535)}else if((r|0)>65535){Jk();switch(c[416456]|0){case 2:{Bl();break}case 3:{if(Kk(6,0)|0){if(c[416456]|0)c[760446]=0;c[416456]=0;Hk()}break}default:{tb();ub()}}c[515627]=(c[515627]|0)+-65536;if(!(c[415606]|0))sh(c[515625]|0)}if(!(c[742423]|c[742422])){vb();r=c[760313]|0;L=c[760314]|0;if((r|0)!=0&(L|0)>0){qb();M=c[760313]|0;N=c[760314]|0}else{M=r;N=L}if((M|0)!=0&(N|0)>0)qb()}if((c[742422]|0)==1&(c[742423]|0)==0&(c[416456]|0)==2?(An(41)|0)==3:0)yl();if(c[742429]|0)c[742429]=0;do if(!(c[415560]|0))O=0;else{if((An(63)|0)!=3?(An(58)|0)!=3:0)P=0;else P=1;if((An(64)|0)!=3?(An(59)|0)!=3:0)Q=P;else Q=2;if((An(65)|0)!=3?(An(60)|0)!=3:0)R=Q;else R=3;if((An(66)|0)!=3?(An(61)|0)!=3:0)S=R;else S=4;if((An(67)|0)!=3?(An(62)|0)!=3:0){O=S;break}O=5}while(0);if(!(An(-5)|0))T=O;else{S=(An(35)|0)==3;T=S?1:O}if(!(An(-5)|0))U=T;else{O=(An(36)|0)==3;U=O?2:T}if(!(An(-5)|0))V=U;else{T=(An(37)|0)==3;V=T?3:U}if(!(An(-5)|0))W=V;else{U=(An(38)|0)==3;W=U?4:V}if(!(An(-5)|0))X=W;else{V=(An(39)|0)==3;X=V?5:W}b:do if(!(An(-4)|0))switch(X|0){case 1:{if(!(Yb(c[704861]|0,0,0)|0)){Lm(2061972,58350)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1400;c[515559]=15;break b}else{Lm(2061972,40810)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;break b}break}case 3:{th();Lm(2061972,40839)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1400;c[515559]=15;break b;break}case 4:{W=rh(0,0)|0;do if((W|0)!=9)if((W|0)>0){Lm(2061972,40896)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;break}else{c[f>>2]=xh()|0;c[f+4>>2]=0;vs(g,58508,f)|0;Lm(2061972,g)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15;break}else{Lm(2061972,40864)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1900;c[515559]=15}while(0);if((c[415605]|0)!=1)break b;th();break b;break}default:break b}while(0);if(c[433298]|0){Xu(1513808,1732678,512)|0;c[433298]=0}if(!(c[415618]|c[742430]|c[742431]))c[760317]=0;g=c[742422]|0;if((g|0)==1&(c[742428]|0)!=0){f=vk(2819376,c[743521]|0,24367)|0;X=(f|0)==1|((f|0)!=2?(c[416459]|c[416456]|0)!=0:0);f=c[525571]|0;c[525571]=(f+-1|0)>>>0<4&(X^1)?f+1|0:X&1;Y=c[742422]|0}else Y=g;do if((Y|1|0)==3){c[525587]=0;Z=190}else{g=c[525587]|0;if(g|0){c[e>>2]=g&255;vs(1509584,40920,e)|0;Lm(2061972,1509584)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1400;c[515559]=15;c[525587]=0}g=c[525588]|0;if(!g)break;c[d>>2]=g&255;vs(1509584,40942,d)|0;Lm(2061972,1509584)|0;c[515557]=_q()|0;c[515558]=(_q()|0)+1400;c[515559]=15;Z=190}while(0);if((Z|0)==190)c[525588]=0;c:do if((c[416456]|0)==0&(c[742422]|0)==1&(c[742428]|0)!=0){do if(!(Gk(6,0)|0)){Z=(Ek(6,0)|0)>128;d=_q()|0;if(Z){_=d;break}c[524966]=d;break c}else _=_q()|0;while(0);if((_|0)<=((c[524966]|0)+300|0))break;c[416456]=1;c[416458]=0;rb();Hk();a[1514361]=1}else c[524966]=_q()|0;while(0);_=c[516418]|0;if(!_){$=c[8793]|0;Rt($)|0;Fa=b;return}Rt(_)|0;$=c[8793]|0;Rt($)|0;Fa=b;return}function Cb(){var a=0;ul()|0;if(c[760313]|0)Jq(3040436)|0;a=c[516417]|0;if(a|0)Pt(a)|0;a=c[516418]|0;if(!a){Qm()|0;return}Pt(a)|0;Qm()|0;return}function Db(a,b){a=a|0;b=b|0;ka(15)|0;return Vm(a,b)|0}function Eb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Fa;Fa=Fa+1024|0;f=e;g=d;h=g+41|0;do{a[g>>0]=48;g=g+1|0}while((g|0)<(h|0));if(!b){Fa=e;return}i=Dp(32768)|0;g=f;h=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=c[b>>2]|0;Op(g,ft(g)|0,f)|0;a[f+40>>0]=0;g=c[b>>2]|0;c[b>>2]=f;h=Fb(b,i,0)|0;c[b>>2]=g;if(!h)Op(i,32768,d)|0;else ot(d,f)|0;a[d+40>>0]=0;Hp(i);Fa=e;return}function Fb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;Ep(d,0,32768);f=0;do{a[d+f>>0]=vk(0,b,f)|0;f=f+1|0}while((f|0)!=17152);f=Dp(262144)|0;g=c[b>>2]|0;do if(!e){h=0;i=fl(g,f,ft(g)|0)|0;j=f}else{if(!(um(g,f)|0)){b=Dp(262144)|0;h=f;i=fl(f,b,ft(f)|0)|0;j=b;break}Hp(f);k=2;return k|0}while(0);if((i|0)>15616){Hp(j);Hp(h);k=1;return k|0}else{Xu(d+17152|0,j|0,i|0)|0;Hp(j);Hp(h);k=0;return k|0}return 0}function Gb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Fa;Fa=Fa+16|0;g=f;h=f+4|0;i=lo(a)|0;j=i+16|0;k=Dp(((c[j>>2]<<3|0)/6|0)+256|0)|0;Ep(h,0,12);c[g>>2]=b;vs(k,41115,g)|0;g=k+(ft(k)|0)|0;if(i|0){yh(h);zh(c[i+12>>2]|0,c[j>>2]|0,g,h)|0;Ah(g+(ft(g)|0)|0,h)|0}h=ft(k)|0;na(16,k|0,h|0,d|0,e|0,a|0,ft(a)|0)|0;Hp(k);Zn(i);Fa=f;return}function Hb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=Fa;Fa=Fa+256|0;g=f+64|0;h=f+240|0;i=f+232|0;j=f+224|0;k=f+216|0;l=f+208|0;m=f+200|0;n=f+192|0;o=f+184|0;p=f+176|0;q=f+168|0;r=f+160|0;s=f+152|0;t=f+144|0;u=f+136|0;v=f+128|0;w=f+120|0;x=f+112|0;y=f+104|0;z=f+96|0;A=f;B=f+244|0;C=A;D=C+64|0;do{c[C>>2]=0;C=C+4|0}while((C|0)<(D|0));C=Fp(32800)|0;Ep(C,0,32800);D=Fb(b,C,0)|0;a[C+32768>>0]=32;a[C+32769>>0]=0;a[C+32770>>0]=2;a[C+32771>>0]=2;a[C+32772>>0]=cm()|0;a[C+32773>>0]=2;Op(C,32768,A)|0;c[B>>2]=0;c[z>>2]=B;Vt(A,42539,z)|0;a[C+32774>>0]=c[B>>2];c[B>>2]=0;c[y>>2]=B;Vt(A+2|0,42539,y)|0;a[C+32775>>0]=c[B>>2];c[B>>2]=0;c[x>>2]=B;Vt(A+4|0,42539,x)|0;a[C+32776>>0]=c[B>>2];c[B>>2]=0;c[w>>2]=B;Vt(A+6|0,42539,w)|0;a[C+32777>>0]=c[B>>2];c[B>>2]=0;c[v>>2]=B;Vt(A+8|0,42539,v)|0;a[C+32778>>0]=c[B>>2];c[B>>2]=0;c[u>>2]=B;Vt(A+10|0,42539,u)|0;a[C+32779>>0]=c[B>>2];c[B>>2]=0;c[t>>2]=B;Vt(A+12|0,42539,t)|0;a[C+32780>>0]=c[B>>2];c[B>>2]=0;c[s>>2]=B;Vt(A+14|0,42539,s)|0;a[C+32781>>0]=c[B>>2];c[B>>2]=0;c[r>>2]=B;Vt(A+16|0,42539,r)|0;a[C+32782>>0]=c[B>>2];c[B>>2]=0;c[q>>2]=B;Vt(A+18|0,42539,q)|0;a[C+32783>>0]=c[B>>2];c[B>>2]=0;c[p>>2]=B;Vt(A+20|0,42539,p)|0;a[C+32784>>0]=c[B>>2];c[B>>2]=0;c[o>>2]=B;Vt(A+22|0,42539,o)|0;a[C+32785>>0]=c[B>>2];c[B>>2]=0;c[n>>2]=B;Vt(A+24|0,42539,n)|0;a[C+32786>>0]=c[B>>2];c[B>>2]=0;c[m>>2]=B;Vt(A+26|0,42539,m)|0;a[C+32787>>0]=c[B>>2];c[B>>2]=0;c[l>>2]=B;Vt(A+28|0,42539,l)|0;a[C+32788>>0]=c[B>>2];c[B>>2]=0;c[k>>2]=B;Vt(A+30|0,42539,k)|0;a[C+32789>>0]=c[B>>2];c[B>>2]=0;c[j>>2]=B;Vt(A+32|0,42539,j)|0;a[C+32790>>0]=c[B>>2];c[B>>2]=0;c[i>>2]=B;Vt(A+34|0,42539,i)|0;a[C+32791>>0]=c[B>>2];c[B>>2]=0;c[h>>2]=B;Vt(A+36|0,42539,h)|0;a[C+32792>>0]=c[B>>2];c[B>>2]=0;c[g>>2]=B;Vt(A+38|0,42539,g)|0;a[C+32793>>0]=c[B>>2];if(D|0){Hp(C);E=1;Fa=f;return E|0}D=cn(160,205,32)|0;Oo(c[(c[c[704870]>>2]|0)+580>>2]|0,D,0,0,0,0,160,205);B=c[b+44572>>2]|0;if(B|0)Oo(B,D,0,0,16,24,128,128);B=c[b>>2]|0;b=B;while(1){A=a[b>>0]|0;F=A<<24>>24==10;G=b+1|0;if(F^A<<24>>24!=0)b=G;else break}A=F?G:b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;if((a[B>>0]|0)==45?(a[B+1>>0]|0)==45:0){b=B+2|0;G=0;F=(a[b>>0]|0)==32?B+3|0:b;a:while(1){b=a[F>>0]|0;switch(b<<24>>24){case 10:case 0:{break a;break}default:{}}if(G>>>0>=31)break;a[g+G>>0]=b;G=G+1|0;F=F+1|0}Ln(D,g,c[704871]|0,18,167,1,-1808)|0};c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;if((a[A>>0]|0)==45?(a[A+1>>0]|0)==45:0){F=A+2|0;G=0;b=(a[F>>0]|0)==32?A+3|0:F;b:while(1){F=a[b>>0]|0;switch(F<<24>>24){case 10:case 0:{break b;break}default:{}}if(G>>>0>=31)break;a[g+G>>0]=F;G=G+1|0;b=b+1|0}Ln(D,g,c[704871]|0,18,175,1,-1808)|0}Ln(D,71624,c[704871]|0,18,187,1,-6250336)|0;g=c[D+12>>2]|0;b=0;while(1){G=a[g>>0]&-4;a[g>>0]=G;a[g>>0]=(d[C+(b>>>2)>>0]|0)>>>(b<<1&6)&3|G&255;b=b+1|0;if((b|0)==131200)break;else g=g+1|0}io(e,D)|0;Gb(e,42543,80,102);dn(D)|0;Hp(C);E=0;Fa=f;return E|0}function Ib(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;do{uk(0,a,e,d[b+e>>0]|0);e=e+1|0}while((e|0)!=17152);if(!(c[a>>2]|0)){e=Fp(65538)|0;c[a>>2]=e;Ep(e,0,65538)}e=b+17152|0;b=(el(e)|0)==0;f=c[a>>2]|0;if(b){Xu(f|0,e|0,15616)|0;return}else{Ep(f,0,65538);gl(e,c[a>>2]|0,65537)|0;return}}function Jb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Fa;Fa=Fa+80|0;f=e+72|0;g=e+64|0;h=e;i=e+76|0;c[415559]=0;if(!b){c[415559]=2;j=0;Fa=e;return j|0}k=go(b)|0;if(!k){c[415559]=1;j=0;Fa=e;return j|0}if((c[k>>2]|0)==160?(c[k+4>>2]|0)==205:0){b=yr()|0;l=c[k+12>>2]|0;m=0;do{n=m<<2;a[l+m>>0]=a[l+(n|1)>>0]<<2&12|a[l+n>>0]&3|a[l+(n|2)>>0]<<4&48|a[l+(n|3)>>0]<<6&255;m=m+1|0}while((m|0)!=32800);m=l+32768|0;c[b+44576>>2]=d[m>>0];n=a[m>>0]|0;m=n&255;do if((n&255)>32){if(c[415554]|0){cb(42547,1500);break}c[g>>2]=m;vs(1509584,42575,g)|0;wg(1509584);c[415559]=3;dn(k)|0;j=0;Fa=e;return j|0}while(0);Ib(b,l);Op(l,32768,h)|0;g=0;m=0;n=0;do{c[i>>2]=0;c[f>>2]=i;Vt(h+(n<<1)|0,42539,f)|0;o=a[l+(n+32774)>>0]|0;g=o<<24>>24==0?g:1;m=(c[i>>2]|0)==(o&255|0)?m:1;n=n+1|0}while((n|0)!=20);dn(k)|0;if((g|0)!=0&(m|0)!=0){wg(42594);p=0;q=4}else{p=b;q=0}c[415559]=q;j=p;Fa=e;return j|0}dn(k)|0;c[415559]=5;j=0;Fa=e;return j|0}function Kb(a){a=a|0;var b=0,d=0;b=Yn(a,63774)|0;d=Jb(b)|0;Zn(b);if(!d)return d|0;c[d+44572>>2]=Ql(a)|0;return d|0}function Lb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=Fa;Fa=Fa+16|0;e=d;f=Yn(b,63774)|0;if(!f){g=0;Fa=d;return g|0}b=yr()|0;h=Dp(262144)|0;i=Dp(65536)|0;j=On(h,1,131071,f)|0;a:do switch(a[h>>0]|0){case -17:{if((a[h+1>>0]|0)==-69?(a[h+2>>0]|0)==-65:0){k=0;l=1;m=h+3|0}else n=17;break}case 0:{if(((a[h+1>>0]|0)==0?(a[h+2>>0]|0)==-2:0)?(a[h+3>>0]|0)==-1:0){k=3;l=4;m=h+4|0}else n=17;break}case -1:{if((a[h+1>>0]|0)==-2){if((a[h+2>>0]|0)==0?(a[h+3>>0]|0)==0:0){k=0;l=4;m=h+4|0;break a}o=h+2|0;if((a[o>>0]|0)==0?(a[h+3>>0]|0)==0:0){k=0;l=1;m=h;break a}k=0;l=2;m=o}else{k=0;l=1;m=h}break}case -2:{if((a[h+1>>0]|0)==-1){o=h+2|0;if((a[o>>0]|0)==0?(a[h+3>>0]|0)==0:0)n=17;else{k=1;l=2;m=o}}else n=17;break}default:n=17}while(0);if((n|0)==17){k=0;l=1;m=h}n=(j+h-m|0)/(l|0)|0;if((n|0)>0){j=0;o=0;while(1){p=B(o,l)|0;q=a[m+(p+k)>>0]|0;r=0;s=0;while(1){if((r|0)==(k|0))t=s;else t=(a[m+(r+p)>>0]|0)==0?s:1;r=r+1|0;if(r>>>0>=l>>>0)break;else s=t}if(!t)if(q<<24>>24==13)u=j;else{a[m+j>>0]=q;u=j+1|0}else{a[m+j>>0]=95;a[m+(j+1)>>0]=120;s=j+2|0;r=0;while(1){c[e>>2]=a[m+(r+p)>>0];vs(m+s|0,71865,e)|0;r=r+1|0;v=s+2|0;if(r>>>0>=l>>>0){u=v;break}else s=v}}o=o+1|0;if((o|0)==(n|0)){w=u;break}else j=u}}else w=0;a[m+w>>0]=10;a[m+(w+1)>>0]=0;w=Dp(131072)|0;Hr(m,w)|0;a[w+65534>>0]=0;Zn(f);Hp(h);Hp(i);i=w+(ft(w)|0)|0;a[i>>0]=10;a[i+1>>0]=0;ot(c[b>>2]|0,w)|0;Hp(w);g=b;Fa=d;return g|0}function Mb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=Fa;Fa=Fa+3104|0;e=d+3088|0;f=d+3072|0;g=d+2048|0;h=d+1024|0;i=d;Lm(b,a)|0;if(eu(b,61980)|0){Fa=d;return}eo(a,g,h,i);if(!(eu(i,61381)|0)){c[e>>2]=g;c[e+4>>2]=h;c[e+8>>2]=i;vs(b,42632,e)|0;Fa=d;return}else{c[f>>2]=g;c[f+4>>2]=h;c[f+8>>2]=i;vs(b,42622,f)|0;Fa=d;return}}function Nb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=Fa;Fa=Fa+4160|0;f=e+4096|0;g=e+2048|0;h=e+1024|0;i=e;j=e+4120|0;if(!(a[b>>0]|0)){Lm(g,42642)|0;Lm(h,61980)|0}else eo(b,e+3072|0,g,h);gr(42651,i);Lq(j,0);k=c[j+8>>2]|0;l=c[j+12>>2]|0;m=c[j+16>>2]|0;n=c[j+20>>2]|0;o=c[j+24>>2]|0;c[f>>2]=c[j+4>>2];c[f+4>>2]=k;c[f+8>>2]=l;c[f+12>>2]=m;c[f+16>>2]=n;c[f+20>>2]=o;vs(1509584,42659,f)|0;pt(i,1509584)|0;pt(i,g)|0;pt(i,h)|0;if(d|0){d=Fp(1048576)|0;h=Yn(b,63774)|0;g=On(d,1,1048576,h)|0;Zn(h);h=Yn(i,71945)|0;Qn(d,1,g,h)|0;Zn(h);Hp(d);Fa=e;return 0}Ng();d=(eu(b,61381)|0)==0;b=c[18328]|0;if(d){Dr(b,i)|0;Fa=e;return 0}else{Hb(b,i)|0;Fa=e;return 0}return 0}function Ob(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=Fa;Fa=Fa+1024|0;e=d;Ng();f=Dp(262144)|0;do if(um(c[c[18328]>>2]|0,f)|0){if(!(eu(b,61381)|0)){Lm(f,c[c[18328]>>2]|0)|0;break}Hp(f);g=1;Fa=d;return g|0}while(0);h=ft(f)|0;i=ft(c[c[18328]>>2]|0)|0;j=(h|0)==(i|0);if(i>>>0>65536){wg(42685);Hp(f);g=1;Fa=d;return g|0}i=Dp(262144)|0;Ep(i,0,262144);h=fl(f,i,ft(c[c[18328]>>2]|0)|0)|0;Hp(i);i=(h|0)>15616;do if(!(eu(b,61381)|0)){if(i){ug(42756,9);ug(42789,9);xg(42742,h,15616);wg(42820)}}else{if(i){ug(42710,8);xg(42742,h,15616);Hp(f);g=1;Fa=d;return g|0}k=c[(c[18328]|0)+44572>>2]|0;if(k|0){l=c[k+12>>2]|0;k=a[l>>0]|0;m=1;n=0;do{n=(a[l+m>>0]|0)==k<<24>>24?n:1;m=m+1|0}while((m|0)!=16384);if(n|0)break}ug(57940,9);ug(57964,10)}while(0);Mb(b,e);if(Xs(e,2963156)|0?Kq(e)|0:0)Nb(e,1)|0;b=(eu(e,61381)|0)==0;h=c[18328]|0;if(!b){Lm(c[h>>2]|0,f)|0;Og();b=Hb(c[18328]|0,e)|0;if(j)o=b;else{ug(42840,9);o=b}}else o=Dr(h,e)|0;if(!o){Lm(2963156,e)|0;Eb(c[18328]|0,2964180)}else cb(42860,1500);Hp(f);g=o;Fa=d;return g|0}function Pb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Fa;Fa=Fa+1040|0;g=f+1032|0;h=f+1024|0;i=f;if(!b){Fa=f;return}zr(c[18328]|0);c[18328]=b;Qb(b);j=c[(c[b+8>>2]|0)+16>>2]|0;k=0;l=32;while(1){m=c[j+(l<<2)>>2]|0;n=0;o=k;do{o=(a[m+n>>0]|0)==0?o:1;n=n+1|0}while((n|0)!=128);l=l+1|0;if((l|0)==64)break;else k=o}if(!o)ph(b);else qh(b);Eb(c[18328]|0,2964262);Og();Ng();Eb(c[18328]|0,2964180);a[160816]=0;c[h>>2]=42904;c[h+4>>2]=2964180;vs(160816,42881,h)|0;h=160816+(ft(160816)|0)|0;a[h>>0]=46;a[h+1>>0]=112;a[h+2>>0]=56;a[h+3>>0]=0;Lm(i,160816)|0;if(!e)Lm(2963156,i)|0;else Lm(2963156,e)|0;do if(Qg(e)|0){c[g>>2]=i;vs(1504976,42907,g)|0;Pm(1504976);h=Br(i)|0;if(!h){Pm(42975);break}Pm(42966);o=0;do{if(1<<(o&7)&d[(o>>>3)+(h+44600)>>0]|0)uk(0,b,o,vk(0,h,o)|0);o=o+1|0}while((o|0)!=17152)}while(0);hb();Pr(c[(c[74e4]|0)+364>>2]|0);Pr(c[(c[740001]|0)+364>>2]|0);Pr(c[(c[740002]|0)+364>>2]|0);Pr(c[(c[740003]|0)+364>>2]|0);Pr(c[(c[740004]|0)+364>>2]|0);Pr(c[(c[740005]|0)+364>>2]|0);Pr(c[(c[740006]|0)+364>>2]|0);Pr(c[(c[740007]|0)+364>>2]|0);Pr(c[(c[740008]|0)+364>>2]|0);Pr(c[(c[740009]|0)+364>>2]|0);Pr(c[(c[740010]|0)+364>>2]|0);Pr(c[(c[740011]|0)+364>>2]|0);Pr(c[(c[740012]|0)+364>>2]|0);Pr(c[(c[740013]|0)+364>>2]|0);Pr(c[(c[740014]|0)+364>>2]|0);Pr(c[(c[740015]|0)+364>>2]|0);c[515889]=0;c[415616]=0;i=0;do{if(c[b+12+(i*660|0)>>2]&294|0)c[415616]=1;i=i+1|0}while((i|0)!=64);Fa=f;return}function Qb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=Fa;Fa=Fa+16|0;d=b;e=a+44580|0;if(c[e>>2]|0){Fa=b;return}c[e>>2]=1;e=a+44576|0;f=c[e>>2]|0;do if((f+-19|0)>>>0<5)if(!(eu(c[a>>2]|0,46561)|0)){Fa=b;return}else{cb(42988,3e3);g=c[e>>2]|0;break}else g=f;while(0);if((g|0)<5){f=0;do{h=a+42252+(f<<4)|0;i=c[h>>2]|0;j=i>>>0<64;if(j){k=c[a+12+(i*660|0)+8>>2]|0;l=((k|0)>1?k:1)<<5;k=(c[a+12+(i*660|0)+16>>2]|0)>(c[a+12+(i*660|0)+12>>2]|0);m=k<<31>>31;n=k?0:l;o=l}else{m=-1;n=0;o=0}l=c[a+42252+(f<<4)+4>>2]|0;k=l>>>0<64;if(k){p=c[a+12+(l*660|0)+8>>2]|0;q=((p|0)>1?p:1)<<5;p=(o|0)>(q|0)?o:q;if((m|0)==-1){r=(c[a+12+(l*660|0)+16>>2]|0)>(c[a+12+(l*660|0)+12>>2]|0);s=r?-1:1;t=r?n:q;u=p}else{s=0;t=n;u=p}}else{s=m;t=n;u=o}p=c[a+42252+(f<<4)+8>>2]|0;q=p>>>0<64;if(q){r=c[a+12+(p*660|0)+8>>2]|0;v=((r|0)>1?r:1)<<5;r=(u|0)>(v|0)?u:v;if((s|0)==-1){w=(c[a+12+(p*660|0)+16>>2]|0)>(c[a+12+(p*660|0)+12>>2]|0);x=w?-1:2;y=w?t:v;z=r}else{x=s;y=t;z=r}}else{x=s;y=t;z=u}r=c[a+42252+(f<<4)+12>>2]|0;v=r>>>0<64;if(v){w=c[a+12+(r*660|0)+8>>2]|0;A=((w|0)>1?w:1)<<5;w=(z|0)>(A|0)?z:A;if((x|0)==-1){B=(c[a+12+(r*660|0)+16>>2]|0)>(c[a+12+(r*660|0)+12>>2]|0);C=B?-1:3;D=B?y:A;E=w}else{C=x;D=y;E=w}}else{C=x;D=y;E=z}a:do if((E|0)!=(D|0)&(C|0)!=-1){if((j?(c[a+12+(i*660|0)+16>>2]|0)<=(c[a+12+(i*660|0)+12>>2]|0):0)?(w=c[a+12+(i*660|0)+8>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0)break;if((k?(c[a+12+(l*660|0)+16>>2]|0)<=(c[a+12+(l*660|0)+12>>2]|0):0)?(w=c[a+12+(l*660|0)+8>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0)F=1;else G=49;do if((G|0)==49){G=0;if((q?(c[a+12+(p*660|0)+16>>2]|0)<=(c[a+12+(p*660|0)+12>>2]|0):0)?(w=c[a+12+(p*660|0)+8>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0){F=2;break}if(!v)break a;if((c[a+12+(r*660|0)+16>>2]|0)>(c[a+12+(r*660|0)+12>>2]|0))break a;w=c[a+12+(r*660|0)+8>>2]|0;if((((w|0)>1?w:1)<<5|0)==(E|0))F=3;else break a}while(0);c[d>>2]=f;c[d+4>>2]=0;c[d+8>>2]=F;vs(1509584,43020,d)|0;wg(1509584);w=c[h>>2]|0;A=a+42252+(f<<4)+(F<<2)|0;c[h>>2]=c[A>>2];c[A>>2]=w}while(0);f=f+1|0}while((f|0)!=64);f=c[e>>2]|0;if((f|0)<5){F=0;do{d=0;do{if((c[a+12+(F*660|0)+20+(d*20|0)+4>>2]|0)==6?(E=a+12+(F*660|0)+20+(d*20|0)+8|0,(c[E>>2]|0)>5):0)c[E>>2]=5;d=d+1|0}while((d|0)!=32);F=F+1|0}while((F|0)!=64);if(eu(c[a>>2]|0,43052)|0){F=Dp(65538)|0;Lm(F,c[a>>2]|0)|0;Lm(c[a>>2]|0,43077)|0;pt(c[a>>2]|0,F)|0;wg(44348);Hp(F);H=c[e>>2]|0}else H=f}else H=f}else H=g;if((H|0)>=11){Fa=b;return}H=0;g=0;do{H=H+((c[a+12+(g*660|0)+4>>2]|0)>1&1)+((c[a+12+(g*660|0)+12>>2]|0)>63&1)+((c[a+12+(g*660|0)+16>>2]|0)>63&1)+((c[a+12+(g*660|0)+36>>2]|0)!=0&1)+((c[a+12+(g*660|0)+56>>2]|0)!=0&1)+((c[a+12+(g*660|0)+76>>2]|0)!=0&1)+((c[a+12+(g*660|0)+96>>2]|0)!=0&1)+((c[a+12+(g*660|0)+116>>2]|0)!=0&1)+((c[a+12+(g*660|0)+136>>2]|0)!=0&1)+((c[a+12+(g*660|0)+156>>2]|0)!=0&1)+((c[a+12+(g*660|0)+176>>2]|0)!=0&1)+((c[a+12+(g*660|0)+196>>2]|0)!=0&1)+((c[a+12+(g*660|0)+216>>2]|0)!=0&1)+((c[a+12+(g*660|0)+236>>2]|0)!=0&1)+((c[a+12+(g*660|0)+256>>2]|0)!=0&1)+((c[a+12+(g*660|0)+276>>2]|0)!=0&1)+((c[a+12+(g*660|0)+296>>2]|0)!=0&1)+((c[a+12+(g*660|0)+316>>2]|0)!=0&1)+((c[a+12+(g*660|0)+336>>2]|0)!=0&1)+((c[a+12+(g*660|0)+356>>2]|0)!=0&1)+((c[a+12+(g*660|0)+376>>2]|0)!=0&1)+((c[a+12+(g*660|0)+396>>2]|0)!=0&1)+((c[a+12+(g*660|0)+416>>2]|0)!=0&1)+((c[a+12+(g*660|0)+436>>2]|0)!=0&1)+((c[a+12+(g*660|0)+456>>2]|0)!=0&1)+((c[a+12+(g*660|0)+476>>2]|0)!=0&1)+((c[a+12+(g*660|0)+496>>2]|0)!=0&1)+((c[a+12+(g*660|0)+516>>2]|0)!=0&1)+((c[a+12+(g*660|0)+536>>2]|0)!=0&1)+((c[a+12+(g*660|0)+556>>2]|0)!=0&1)+((c[a+12+(g*660|0)+576>>2]|0)!=0&1)+((c[a+12+(g*660|0)+596>>2]|0)!=0&1)+((c[a+12+(g*660|0)+616>>2]|0)!=0&1)+((c[a+12+(g*660|0)+636>>2]|0)!=0&1)+((c[a+12+(g*660|0)+656>>2]|0)!=0&1)|0;g=g+1|0}while((g|0)!=64);if(H|0){Fa=b;return}H=0;do{g=0;do{f=a+12+(H*660|0)+20+(g*20|0)+12|0;if((c[f>>2]|0)==1?(c[a+12+(H*660|0)+20+(g*20|0)+8>>2]|0)==0:0)c[f>>2]=0;g=g+1|0}while((g|0)!=32);H=H+1|0}while((H|0)!=64);Fa=b;return}function Rb(b){b=b|0;var d=0,e=0;d=Fa;Fa=Fa+16|0;e=d;a[160816]=0;c[e>>2]=42904;c[e+4>>2]=b;vs(160816,42881,e)|0;e=160816+(ft(160816)|0)|0;a[e>>0]=46;a[e+1>>0]=112;a[e+2>>0]=56;a[e+3>>0]=0;Fa=d;return 160816}function Sb(b){b=b|0;var d=0,e=0,f=0,g=0;d=Yn(b,63774)|0;e=Jb(d)|0;Zn(d);if(e|0){c[e+44572>>2]=Ql(b)|0;f=e;return f|0}e=Br(b)|0;if(e|0){f=e;return f|0}e=lo(b)|0;do if(e|0){if((c[e+16>>2]|0)!=32768){Zn(e);break}d=c[e+12>>2]|0;g=d+17152|0;if((el(g)|0)==0?a[g>>0]|0:0){Zn(e);break}g=yr()|0;Ib(g,d);c[g+44576>>2]=32;Zn(e);if(g|0){f=g;return f|0}}while(0);if(!(eu(b,44375)|0)){f=0;return f|0}f=Lb(b)|0;return f|0}function Tb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Fa;Fa=Fa+1024|0;e=d;Lm(e,b)|0;f=Sb(b)|0;g=c[741076]|0;h=c[415559]|0;if((f|0)==0&(g|0)!=1&(h|0)!=3){Mb(b,e);i=Sb(e)|0;j=i;k=c[741076]|0;l=c[415559]|0}else{j=f;k=g;l=h}if((j|0)==0&(k|0)!=1&(l|0)!=3){h=e+(ft(e)|0)|0;a[h>>0]=a[61381]|0;a[h+1>>0]=a[61382]|0;a[h+2>>0]=a[61383]|0;a[h+3>>0]=a[61384]|0;a[h+4>>0]=a[61385]|0;h=Sb(e)|0;m=h;n=c[741076]|0;o=c[415559]|0}else{m=j;n=k;o=l}if((m|0)==0&(n|0)!=1&(o|0)!=3){Lm(e,b)|0;b=e+(ft(e)|0)|0;a[b>>0]=a[61381]|0;a[b+1>>0]=a[61382]|0;a[b+2>>0]=a[61383]|0;a[b+3>>0]=a[61384]|0;a[b+4>>0]=a[61385]|0;p=Sb(e)|0}else p=m;if(!p){q=1;Fa=d;return q|0}Pb(p,e);q=0;Fa=d;return q|0}function Ub(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if(Xs(b,2968664)|0){Lm(2968664,b)|0;g=30-(c[742431]|0)|0;h=(g|0)<30?g:30;c[742430]=(h|0)>2?h:2;c[742431]=150}h=Sb(b)|0;if(!h){if(!(eu(b,44380)|0)){i=1;return i|0}g=Yn(b,63774)|0;if(!g){i=1;return i|0}b=yr()|0;j=Fp(17152)|0;Yu(j|0,0,17152)|0;On(j,1,17152,g)|0;g=0;do{uk(0,b,g,a[j+g>>0]|0);g=g+1|0}while((g|0)!=17152);Hp(j);if(!b){i=1;return i|0}else k=b}else k=h;if((f|0)>0){h=0;do{b=c[743521]|0;uk(2819376,b,h+d|0,vk(0,k,h+e|0)|0);h=h+1|0}while((h|0)!=(f|0))}zr(k);i=0;return i|0}function Vb(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=Fa;Fa=Fa+1040|0;k=j+1024|0;l=j;c[k>>2]=b;vs(l,58955,k)|0;do if(!(eu(1733196,l)|0)){k=0;m=0;a:while(1){switch(a[1733196+m>>0]|0){case 0:{break a;break}case 124:{n=k+1|0;break}default:n=k}k=n;m=m+1|0}if((k|0)>255){o=3;Fa=j;return o|0}else{pt(1733196,l)|0;break}}while(0);Lm(2968664,b)|0;c[742430]=30;l=Br(b)|0;if(!l){n=yr()|0;if(!i)p=n;else{Yu(n+44600|0,0,2144)|0;p=n}}else p=l;l=(g|0)>0;if(l)if(!h){h=0;do{uk(0,p,h+e|0,vk(2819376,c[743521]|0,h+f|0)|0);h=h+1|0}while((h|0)!=(g|0))}else{h=0;do{n=h+e|0;m=h+f|0;uk(0,p,n,vk(2819376,c[743521]|0,m)|0);q=c[18328]|0;uk(0,q,n,vk(2819376,c[743521]|0,m)|0);h=h+1|0}while((h|0)!=(g|0))}if(i|0?(i=g+e|0,l):0){l=e;do{e=((l|0)/8|0)+(p+44600)|0;a[e>>0]=1<<(l&7)|d[e>>0];l=l+1|0}while((l|0)<(i|0))}i=Dr(p,b)|0;zr(p);o=(i|0)==0?0:2;Fa=j;return o|0}function Wb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Fa;Fa=Fa+3104|0;e=d+3080|0;f=d+3072|0;g=d+2048|0;h=d+1024|0;i=d;if(!(a[2963156]|0))if(!b){cb(44411,1500);Fa=d;return}else{wg(44385);Fa=d;return}gr(61461,g);if(eu(2963156,g)|0)if(!b){cb(44470,1500);Fa=d;return}else{wg(44443);Fa=d;return}if(Ob(2963156)|0)if(!b){cb(44514,1500);Fa=d;return}else{wg(44502);Fa=d;return}eo(2963156,g,h,i);c[f>>2]=h;c[f+4>>2]=i;vs(1509584,58155,f)|0;if(!b){cb(1509584,1e3);Fa=d;return}b=ft(2960076)|0;f=(ts(g,2960076,b)|0)==0;j=f?g+(b+-1)|0:g;if((a[j>>0]|0)==47){g=ft(2961100)|0;b=(ts(j+1|0,2961100,g)|0)==0;k=b?j+(g+1)|0:j}else k=j;c[e>>2]=k;c[e+4>>2]=h;c[e+8>>2]=i;vs(1509584,44532,e)|0;wg(1509584);Fa=d;return}function Xb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=Fa;Fa=Fa+128|0;d=b+64|0;e=b;if(!(a[2963156]|0)){Fa=b;return}f=Sb(2963156)|0;if(!f){Fa=b;return}Qb(f);g=c[(c[f+8>>2]|0)+16>>2]|0;h=0;i=32;while(1){j=c[g+(i<<2)>>2]|0;k=0;l=h;do{l=(a[j+k>>0]|0)==0?l:1;k=k+1|0}while((k|0)!=128);i=i+1|0;if((i|0)==64)break;else h=l}if(!l)ph(f);else qh(f);Eb(f,d);Eb(c[18328]|0,e);if((Xs(d,e)|0?Xs(d,2964180)|0:0)?Xs(d,2964262)|0:0){cb(44545,1e3);Pb(f,2963156);Fa=b;return}zr(f);Fa=b;return}function Yb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=Fa;Fa=Fa+2176|0;g=f+2160|0;h=f+2152|0;i=f+2144|0;j=f+2136|0;k=f+2128|0;l=f+2120|0;m=f+2112|0;n=f+1088|0;o=f+64|0;p=f;q=c[415600]|0;r=(q|0)<32?q:32;q=(d|0)<32?d:32;s=(d|0)>0?((q|0)>1?q:1):(r|0)>1?r:1;c[m>>2]=mm()|0;vs(p,44569,m)|0;if(a[3041792]|0){c[l>>2]=3041792;vs(p,44580,l)|0}l=(e|0)==0;do if(!(rt(p,37)|0))if(l){ir(p,o);break}else{gr(3042456,o);e=o+(ft(o)|0)|0;m=e;a[m>>0]=97;a[m+1>>0]=112;a[m+2>>0]=112;a[m+3>>0]=100;m=e+4|0;a[m>>0]=97;a[m+1>>0]=116;a[m+2>>0]=97;a[m+3>>0]=0;kr(o)|0;m=o+(ft(o)|0)|0;a[m>>0]=47;a[m+1>>0]=0;pt(o,Wa()|0)|0;kr(o)|0;m=o+(ft(o)|0)|0;a[m>>0]=47;a[m+1>>0]=0;pt(o,p)|0;c[h>>2]=o;vs(1504976,44587,h)|0;Pm(1504976);break}else if(l){m=0;while(1){c[k>>2]=m;vs(n,p,k)|0;ir(n,o);if(!(Kq(o)|0))break;else m=m+1|0}}else{m=0;while(1){c[j>>2]=m;vs(n,p,j)|0;gr(3042456,o);e=o+(ft(o)|0)|0;r=e;a[r>>0]=97;a[r+1>>0]=112;a[r+2>>0]=112;a[r+3>>0]=100;r=e+4|0;a[r>>0]=97;a[r+1>>0]=116;a[r+2>>0]=97;a[r+3>>0]=0;kr(o)|0;r=o+(ft(o)|0)|0;a[r>>0]=47;a[r+1>>0]=0;pt(o,Wa()|0)|0;kr(o)|0;r=o+(ft(o)|0)|0;a[r>>0]=47;a[r+1>>0]=0;pt(o,n)|0;c[i>>2]=o;vs(1504976,44587,i)|0;Pm(1504976);if(!(Kq(o)|0))break;else m=m+1|0}}while(0);i=B(c[b>>2]|0,s)|0;n=cn(i,B(c[b+4>>2]|0,s)|0,8)|0;s=n+4|0;jn(b,n,0,0,c[n>>2]|0,c[s>>2]|0,0);if((c[s>>2]|0)<=0){c[g>>2]=o;vs(1504976,44609,g)|0;Pm(1504976);io(o,n)|0;Gb(o,42543,128,128);dn(n)|0;t=Kq(o)|0;u=(t|0)==0;v=u&1;Fa=f;return v|0}b=n+16|0;i=0;j=c[n>>2]|0;while(1){if((j|0)>0){p=0;k=j;while(1){l=(c[(c[b>>2]|0)+(i<<2)>>2]|0)+p|0;if(!(a[l>>0]|0)){a[l>>0]=16;w=c[n>>2]|0}else w=k;p=p+1|0;if((p|0)>=(w|0)){x=w;break}else k=w}}else x=j;i=i+1|0;if((i|0)>=(c[s>>2]|0))break;else j=x}c[g>>2]=o;vs(1504976,44609,g)|0;Pm(1504976);io(o,n)|0;Gb(o,42543,128,128);dn(n)|0;t=Kq(o)|0;u=(t|0)==0;v=u&1;Fa=f;return v|0}function Zb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Fa;Fa=Fa+16|0;f=e;gr(3042456,d);g=d+(ft(d)|0)|0;h=g;a[h>>0]=97;a[h+1>>0]=112;a[h+2>>0]=112;a[h+3>>0]=100;h=g+4|0;a[h>>0]=97;a[h+1>>0]=116;a[h+2>>0]=97;a[h+3>>0]=0;kr(d)|0;h=d+(ft(d)|0)|0;a[h>>0]=47;a[h+1>>0]=0;pt(d,Wa()|0)|0;kr(d)|0;h=d+(ft(d)|0)|0;a[h>>0]=47;a[h+1>>0]=0;pt(d,b)|0;c[f>>2]=d;vs(1504976,44587,f)|0;Pm(1504976);Fa=e;return}function _b(){c[524974]=0;return}function $b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Fa;Fa=Fa+16|0;e=d;f=c[524974]|0;if((f|0)==64){Fa=d;return}c[524974]=f+1;Lm(141808+(f*297|0)+41|0,b)|0;g=141808+(f*297|0)|0;Eb(a,g);f=ft(c[a>>2]|0)|0;c[e>>2]=b;c[e+4>>2]=f;c[e+8>>2]=g;vs(1504976,44635,e)|0;Pm(1504976);e=wr(b,62624)|0;if(!e){Pm(44674);Fa=d;return}else{Cr(a,e)|0;Zn(e);Fa=d;return}}function ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Fa;Fa=Fa+1024|0;f=e;g=c[524974]|0;if((g|0)<=0){h=0;Fa=e;return h|0}a:do if(d){i=0;while(1){j=141808+(i*297|0)+41|0;if(!(Xs(b,j)|0)){k=i;break a}Mb(b,f);if(!(Xs(f,j)|0)){l=10;break}m=f+(ft(f)|0)|0;a[m>>0]=a[61381]|0;a[m+1>>0]=a[61382]|0;a[m+2>>0]=a[61383]|0;a[m+3>>0]=a[61384]|0;a[m+4>>0]=a[61385]|0;if(!(Xs(f,j)|0)){l=12;break}j=i+1|0;if((j|0)<(c[524974]|0))i=j;else{h=0;l=14;break}}if((l|0)==10){h=141808+(i*297|0)|0;Fa=e;return h|0}else if((l|0)==12){h=141808+(i*297|0)|0;Fa=e;return h|0}else if((l|0)==14){Fa=e;return h|0}}else{j=0;while(1){if(!(Xs(b,141808+(j*297|0)+41|0)|0)){k=j;break a}j=j+1|0;if((j|0)>=(g|0)){h=0;break}}Fa=e;return h|0}while(0);h=141808+(k*297|0)|0;Fa=e;return h|0}function bc(){return 0}function cc(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=Fa;Fa=Fa+128|0;d=b+64|0;e=b;if(!(a[2963156]|0)){f=0;Fa=b;return f|0}g=Sb(2963156)|0;if(!g){f=0;Fa=b;return f|0}Qb(g);h=c[(c[g+8>>2]|0)+16>>2]|0;i=0;j=32;while(1){k=c[h+(j<<2)>>2]|0;l=0;m=i;do{m=(a[k+l>>0]|0)==0?m:1;l=l+1|0}while((l|0)!=128);j=j+1|0;if((j|0)==64)break;else i=m}if(!m)ph(g);else qh(g);Eb(g,d);Eb(c[18328]|0,e);zr(g);if(!(Xs(d,e)|0)){f=0;Fa=b;return f|0}if(!(Xs(d,2964180)|0)){f=0;Fa=b;return f|0}f=(Xs(d,2964262)|0)!=0&1;Fa=b;return f|0}function dc(a){a=a|0;return 0}function ec(){var b=0,d=0,e=0,f=0,g=0;if(!(a[2102356]|0)){a[2102356]=0;return}b=Sb(2102356)|0;if(b|0){zr(b);cb(44714,2e3);a[2102356]=0;return}if(eu(2102356,44727)|0){cb(44735,2e3);a[2102356]=0;return}if(!(eu(2102356,61381)|0)){if(!(a[2102356]|0)){a[2102356]=0;return}b=lo(2102356)|0;if((c[b+16>>2]|0)>262144)cb(44786,2e3);else Em(b);Kp(b);a[2102356]=0;return}b=ho(2102356)|0;if(!b){a[2102356]=0;return}hh();d=b+4|0;e=cn(c[b>>2]|0,c[d>>2]|0,8)|0;kk(b,e,c[704831]|0);do if((c[742422]|0)!=1&(c[742423]|0)==2){f=c[759990]|0;g=(f|0)/16|0;Oo(e,c[(c[18328]|0)+4>>2]|0,0,0,f-(g<<4)<<3,g<<3,c[b>>2]|0,c[d>>2]|0)}else{if((c[e>>2]|0)<=128?(c[e+4>>2]|0)<=128:0){Fm(e);break}cb(44757,2e3)}while(0);dn(b)|0;dn(e)|0;a[2102356]=0;return}function fc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a=Fa;Fa=Fa+48|0;b=a+24|0;d=a+16|0;e=a+8|0;f=a;g=a+32|0;h=Ip(139392)|0;i=ka(17)|0;j=i;ka(18)|0;if(!i){wg(45417);Zn(h);Fa=a;return}c[f>>2]=j;xu(45281,f)|0;f=eu(j,45302)|0;if(!f){Zn(h);Fa=a;return}j=f+7|0;Bh(g);f=ft(j)|0;i=h+16|0;c[i>>2]=Ch(j,f,c[h+12>>2]|0,g)|0;g=h+20|0;c[g>>2]=0;f=Jb(h)|0;if(f|0){zr(f);cb(44714,2e3);Zn(h);Fa=a;return}c[g>>2]=0;g=go(h)|0;f=(g|0)!=0;c[e>>2]=f&1;xu(45310,e)|0;if(!f){c[b>>2]=c[i>>2];xu(45377,b)|0;if((c[i>>2]|0)>262144){cb(44786,2e3);Zn(h);Fa=a;return}else{Em(h);Zn(h);Fa=a;return}}hh();i=g+4|0;b=cn(c[g>>2]|0,c[i>>2]|0,8)|0;kk(g,b,c[704831]|0);do if((c[742422]|0)!=1&(c[742423]|0)==2){f=c[759990]|0;e=(f|0)/16|0;Oo(b,c[(c[18328]|0)+4>>2]|0,0,0,f-(e<<4)<<3,e<<3,c[g>>2]|0,c[i>>2]|0)}else{e=c[b>>2]|0;if((e|0)<=128?(f=c[b+4>>2]|0,(f|0)<=128):0){c[d>>2]=e;c[d+4>>2]=f;xu(45341,d)|0;Fm(b);break}cb(44757,2e3)}while(0);dn(g)|0;dn(b)|0;Zn(h);Fa=a;return}function gc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Fa;Fa=Fa+16|0;e=d;c[e>>2]=b;f=c[a+16>>2]|0;g=a+8|0;h=c[g>>2]|0;do if(((c[a+24>>2]|0)-h>>3|0)<=(b|0)){if(((h-(c[a+28>>2]|0)>>3)+5|0)>(1e6-b|0)){i=0;Fa=d;return i|0}if(!(ic(a,2,e)|0)){j=c[g>>2]|0;k=c[e>>2]|0;break}else{i=0;Fa=d;return i|0}}else{j=h;k=b}while(0);b=f+4|0;f=j+(k<<3)|0;if((c[b>>2]|0)>>>0>=f>>>0){i=1;Fa=d;return i|0}c[b>>2]=f;i=1;Fa=d;return i|0}function hc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Fa;Fa=Fa+16|0;e=c[a+32>>2]|0;if((e|0)>1e6)jc(a,6);f=(c[b>>2]|0)+5+((c[a+8>>2]|0)-(c[a+28>>2]|0)>>3)|0;b=e<<1;e=(b|0)<1e6?b:1e6;b=(e|0)<(f|0)?f:e;if((b|0)>1e6){kc(a,1000200);lc(a,45510,d)}else{kc(a,b);Fa=d;return}}function ic(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=Fa;Fa=Fa+176|0;g=4;h=Wr(40)|0;c[h>>2]=0;i=f;l=a+38|0;m=b[l>>1]|0;n=i+160|0;c[n>>2]=0;o=a+64|0;c[i>>2]=c[o>>2];c[o>>2]=i;h=Uu(i+4|0,1,h|0,g|0)|0;g=G()|0;j=0;p=j;j=0;if((p|0)!=0&(k|0)!=0){q=Vu(c[p>>2]|0,h|0,g|0)|0;if(!q)Aa(p|0,k|0);F(k|0)}else q=-1;p=G()|0;if((q|0)==1)r=p;else r=0;do{if(r|0){s=6;break}j=0;H(d|0,a|0,e|0);p=j;j=0;if((p|0)!=0&(k|0)!=0){t=Vu(c[p>>2]|0,h|0,g|0)|0;if(!t)Aa(p|0,k|0);F(k|0)}else t=-1;r=G()|0}while((t|0)==1);if((s|0)==6){u=c[i>>2]|0;c[o>>2]=u;b[l>>1]=m;v=c[n>>2]|0;Xr(h|0);Fa=f;return v|0}u=c[i>>2]|0;c[o>>2]=u;b[l>>1]=m;v=c[n>>2]|0;Xr(h|0);Fa=f;return v|0}function jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b+64>>2]|0;if(e|0){c[e+160>>2]=d;Aa(e+4|0,1)}a[b+6>>0]=d;e=b+12|0;f=c[e>>2]|0;g=c[f+144>>2]|0;if(c[g+64>>2]|0){h=c[b+8>>2]|0;i=g+8|0;g=c[i>>2]|0;c[i>>2]=g+8;c[g>>2]=c[h+-8>>2];c[g+4>>2]=c[h+-4>>2];jc(c[(c[e>>2]|0)+144>>2]|0,d)}d=c[f+140>>2]|0;if(!d)ja();Ja[d&255](b)|0;ja()}function kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=b+28|0;f=c[e>>2]|0;g=b+32|0;h=c[g>>2]|0;if((d+1|0)>>>0>536870911)wc(b);i=h<<3;j=d<<3;k=c[b+12>>2]|0;l=(f|0)==0;m=k+4|0;n=Ma[c[k>>2]&1](c[m>>2]|0,f,i,j)|0;if((j|0)!=0&(n|0)==0){if(!(a[k+51>>0]|0))jc(b,4);vc(b,1);o=Ma[c[k>>2]&1](c[m>>2]|0,f,i,j)|0;if(!o)jc(b,4);else p=o}else p=n;n=k+12|0;c[n>>2]=(l?0:0-i|0)+j+(c[n>>2]|0);c[e>>2]=p;if((h|0)<(d|0)){n=h;do{c[p+(n<<3)+4>>2]=0;n=n+1|0}while((n|0)!=(d|0))}c[g>>2]=d;c[b+24>>2]=p+(d<<3)+-40;d=b+8|0;g=f;c[d>>2]=p+((c[d>>2]|0)-g>>3<<3);d=c[b+56>>2]|0;if(d|0?(f=d+8|0,c[f>>2]=p+((c[f>>2]|0)-g>>3<<3),f=c[d>>2]|0,f|0):0){d=f;do{f=d+8|0;c[f>>2]=(c[e>>2]|0)+((c[f>>2]|0)-g>>3<<3);d=c[d>>2]|0}while((d|0)!=0)}d=c[b+16>>2]|0;if(!d)return;b=d;do{d=b+4|0;f=c[e>>2]|0;c[d>>2]=f+((c[d>>2]|0)-g>>3<<3);c[b>>2]=f+((c[b>>2]|0)-g>>3<<3);if(a[b+18>>0]&1){d=b+24|0;c[d>>2]=f+((c[d>>2]|0)-g>>3<<3)}b=c[b+8>>2]|0}while((b|0)!=0);return}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=d;nc(a,mc(a,b,f)|0);oc(a)}function mc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;f=Fa;Fa=Fa+80|0;g=f+64|0;h=f+56|0;i=f+48|0;j=f+40|0;k=f;l=rt(d,37)|0;m=b+24|0;n=b+8|0;o=c[n>>2]|0;p=(c[m>>2]|0)-o|0;q=o;do if(l){r=b+32|0;s=b+28|0;t=0;u=d;v=p;w=q;x=o;y=l;a:while(1){if((v|0)<24){z=c[r>>2]|0;if((z|0)>1e6){A=5;break}B=(x-(c[s>>2]|0)>>3)+7|0;C=z<<1;z=(C|0)<1e6?C:1e6;C=(z|0)<(B|0)?B:z;if((C|0)>1e6){A=7;break}kc(b,C);D=c[n>>2]|0}else D=w;c[n>>2]=D+8;C=id(b,u,y-u|0)|0;c[D>>2]=C;c[D+4>>2]=(a[C+4>>0]|64)&255;E=a[y+1>>0]|0;switch(E<<24>>24|0){case 115:{C=(c[e>>2]|0)+(4-1)&~(4-1);z=c[C>>2]|0;c[e>>2]=C+4;C=(z|0)==0?71958:z;z=ft(C)|0;B=c[n>>2]|0;c[n>>2]=B+8;F=id(b,C,z)|0;c[B>>2]=F;c[B+4>>2]=(a[F+4>>0]|64)&255;break}case 99:{F=(c[e>>2]|0)+(4-1)&~(4-1);B=c[F>>2]|0;c[e>>2]=F+4;a[k>>0]=B;B=c[n>>2]|0;c[n>>2]=B+8;F=Oc(b,k,1)|0;c[B>>2]=F;c[B+4>>2]=(a[F+4>>0]|64)&255;break}case 100:{F=c[n>>2]|0;c[n>>2]=F+8;B=(c[e>>2]|0)+(4-1)&~(4-1);z=c[B>>2]|0;c[e>>2]=B+4;c[F>>2]=z;c[F+4>>2]=3;break}case 102:{F=c[n>>2]|0;c[n>>2]=F+8;z=(c[e>>2]|0)+(4-1)&~(4-1);B=c[z>>2]|0;c[e>>2]=z+4;c[F>>2]=B;c[F+4>>2]=3;break}case 112:{F=(c[e>>2]|0)+(4-1)&~(4-1);B=c[F>>2]|0;c[e>>2]=F+4;c[i>>2]=B;B=vs(k,46135,i)|0;F=c[n>>2]|0;c[n>>2]=F+8;z=id(b,k,B)|0;c[F>>2]=z;c[F+4>>2]=(a[z+4>>0]|64)&255;break}case 37:{z=c[n>>2]|0;c[n>>2]=z+8;F=Oc(b,46140,1)|0;c[z>>2]=F;c[z+4>>2]=(a[F+4>>0]|64)&255;break}default:{A=16;break a}}G=t+2|0;H=y+2|0;F=rt(H,37)|0;I=c[n>>2]|0;J=(c[m>>2]|0)-I|0;if(!F){A=18;break}else{t=G;u=H;v=J;w=I;x=I;y=F}}if((A|0)==5)jc(b,6);else if((A|0)==7){kc(b,1000200);lc(b,45510,j)}else if((A|0)==16){c[h>>2]=E<<24>>24;lc(b,46142,h)}else if((A|0)==18){K=H;L=G;M=J;N=I;O=I;break}}else{K=d;L=0;M=p;N=o;O=q}while(0);do if((M|0)<16){q=c[b+32>>2]|0;if((q|0)>1e6)jc(b,6);o=(N-(c[b+28>>2]|0)>>3)+6|0;p=q<<1;q=(p|0)<1e6?p:1e6;p=(q|0)<(o|0)?o:q;if((p|0)>1e6){kc(b,1000200);lc(b,45510,g)}else{kc(b,p);P=c[n>>2]|0;break}}else P=O;while(0);O=ft(K)|0;c[n>>2]=P+8;g=id(b,K,O)|0;c[P>>2]=g;c[P+4>>2]=(a[g+4>>0]|64)&255;if(!L){Q=c[n>>2]|0;R=Q+-8|0;S=c[R>>2]|0;T=S+16|0;Fa=f;return T|0}Cc(b,L|1);Q=c[n>>2]|0;R=Q+-8|0;S=c[R>>2]|0;T=S+16|0;Fa=f;return T|0}function nc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=Fa;Fa=Fa+80|0;f=e+64|0;g=e;h=c[b+16>>2]|0;if(!(a[h+18>>0]&1)){Fa=e;return}i=c[(c[c[h>>2]>>2]|0)+12>>2]|0;j=c[i+20>>2]|0;if(!j)k=0;else k=c[j+(((c[h+28>>2]|0)-(c[i+12>>2]|0)>>2)+-1<<2)>>2]|0;h=c[i+36>>2]|0;a:do if(!h){a[g>>0]=63;a[g+1>>0]=0}else{i=h+16|0;j=ft(i)|0;switch(a[i>>0]|0){case 61:{l=i+1|0;if(j>>>0>60){m=g;n=l;o=m+59|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));a[g+59>>0]=0;break a}else{Xu(g|0,l|0,j|0)|0;break a}break}case 64:{if(j>>>0>60){a[g>>0]=a[46115]|0;a[g+1>>0]=a[46116]|0;a[g+2>>0]=a[46117]|0;m=g+3|0;n=i+1+j+-57|0;o=m+57|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));break a}else{Xu(g|0,i+1|0,j|0)|0;break a}break}default:{l=rt(i,10)|0;m=g;n=46119;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));p=g+9|0;q=(l|0)==0;if(j>>>0<45&q){Xu(p|0,i|0,j|0)|0;r=p+j|0}else{s=q?j:l-i|0;q=s>>>0<45?s:45;Xu(p|0,i|0,q|0)|0;s=p+q|0;a[s>>0]=a[46115]|0;a[s+1>>0]=a[46116]|0;a[s+2>>0]=a[46117]|0;r=s+3|0};a[r>>0]=a[46129]|0;a[r+1>>0]=a[46130]|0;a[r+2>>0]=a[46131]|0;break a}}}while(0);c[f>>2]=d;hd(b,46132,f)|0;c[524977]=k;Fa=e;return}function oc(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;d=Fa;Fa=Fa+16|0;e=d;d=c[a+68>>2]|0;if(!d)jc(a,2);f=(c[a+28>>2]|0)+d|0;d=f+4|0;if((c[d>>2]&15|0)!=6)jc(a,6);g=a+8|0;h=c[g>>2]|0;c[h>>2]=c[h+-8>>2];c[h+4>>2]=c[h+-4>>2];h=c[g>>2]|0;c[h+-8>>2]=c[f>>2];c[h+-4>>2]=c[d>>2];d=c[g>>2]|0;c[g>>2]=d+8;g=d+-8|0;d=a+38|0;h=(b[d>>1]|0)+1<<16>>16;b[d>>1]=h;if((h&65535)>199){if(h<<16>>16==200)lc(a,45525,e);if((h&65535)>224)jc(a,6)}h=a+36|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;if(!(pc(a,g,1)|0))qc(a);b[h>>1]=(b[h>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;jc(a,2)}function pc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;h=Fa;Fa=Fa+32|0;i=h+24|0;j=h+16|0;k=h+8|0;l=h;m=e+28|0;n=e+12|0;o=e+8|0;p=e+24|0;q=e+32|0;r=f;a:while(1){s=c[m>>2]|0;t=r-s|0;f=c[r+4>>2]|0;u=(f&63)+-6|0;switch(u>>>4|u<<28|0){case 3:{v=3;break a;break}case 1:{v=6;break a;break}case 2:{v=7;break a;break}case 0:{v=33;break a;break}default:{}}switch(f&15){case 5:{w=(c[r>>2]|0)+8|0;break}case 7:{w=(c[r>>2]|0)+8|0;break}default:w=(c[n>>2]|0)+276+((f&15)<<2)|0}f=c[w>>2]|0;b:do if(!f)x=2099900;else{u=c[(c[n>>2]|0)+272>>2]|0;y=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+-1&c[u+8>>2])*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(u|0):0)break;z=c[y+16>>2]|0;if(!z){x=2099900;break b}else y=z}x=y}while(0);f=x+4|0;if((c[f>>2]&15|0)!=6){v=77;break}u=c[o>>2]|0;if(u>>>0>r>>>0){z=u;do{A=z;z=z+-8|0;c[A>>2]=c[z>>2];c[A+4>>2]=c[A+-4>>2]}while(z>>>0>r>>>0);B=c[o>>2]|0}else B=u;z=B+8|0;c[o>>2]=z;A=z;if(((c[p>>2]|0)-A|0)<8){z=c[q>>2]|0;if((z|0)>1e6){v=84;break}C=(A-(c[m>>2]|0)>>3)+5|0;A=z<<1;z=(A|0)<1e6?A:1e6;A=(z|0)<(C|0)?C:z;if((A|0)>1e6){v=86;break}kc(e,A)}A=(c[m>>2]|0)+t|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[f>>2];r=A}if((v|0)==3){c[e+112>>2]=((c[o>>2]|0)-r>>3)+-1;c[r>>2]=Ja[c[r>>2]&255](e)|0;c[r+4>>2]=3;c[o>>2]=r+8;if((g|0)<=1){D=1;Fa=h;return D|0}x=r;B=g;while(1){c[x+12>>2]=0;if((B|0)>2){x=x+8|0;B=B+-1|0}else{D=1;break}}Fa=h;return D|0}else if((v|0)==6)E=r;else if((v|0)==7)E=(c[r>>2]|0)+12|0;else if((v|0)==33){B=c[(c[r>>2]|0)+12>>2]|0;x=c[o>>2]|0;w=x-r>>3;A=w+-1|0;z=B+78|0;C=d[z>>0]|0;do if(((c[p>>2]|0)-x>>3|0)<=(C|0)){F=c[q>>2]|0;if((F|0)>1e6)jc(e,6);G=(x-s>>3)+5+C|0;H=F<<1;F=(H|0)<1e6?H:1e6;H=(F|0)<(G|0)?G:F;if((H|0)>1e6){kc(e,1000200);lc(e,45510,k)}else{kc(e,H);break}}while(0);k=a[B+76>>0]|0;C=k&255;if((w|0)>(C|0))I=A;else{w=A;A=c[o>>2]|0;do{x=A;A=A+8|0;c[x+4>>2]=0;w=w+1|0}while((w|0)<(C|0));c[o>>2]=A;I=w}if(!(a[B+77>>0]|0)){w=(c[m>>2]|0)+t|0;J=w+8|0;K=w}else{w=c[o>>2]|0;A=d[z>>0]|0;do if(((c[p>>2]|0)-w>>3|0)<=(A|0)){x=c[q>>2]|0;if((x|0)>1e6)jc(e,6);H=A+5+(w-(c[m>>2]|0)>>3)|0;F=x<<1;x=(F|0)<1e6?F:1e6;F=(x|0)<(H|0)?H:x;if((F|0)>1e6){kc(e,1000200);lc(e,45510,j)}else{kc(e,F);L=c[o>>2]|0;break}}else L=w;while(0);w=0-I|0;I=L+(w<<3)|0;if(k<<24>>24?(c[o>>2]=L+8,c[L>>2]=c[I>>2],j=L+(w<<3)+4|0,c[L+4>>2]=c[j>>2],c[j>>2]=0,k<<24>>24!=1):0){k=1;do{j=c[o>>2]|0;w=I+(k<<3)|0;c[o>>2]=j+8;c[j>>2]=c[w>>2];A=w+4|0;c[j+4>>2]=c[A>>2];c[A>>2]=0;k=k+1|0}while((k|0)!=(C|0))}J=L;K=(c[m>>2]|0)+t|0}L=e+16|0;C=c[(c[L>>2]|0)+12>>2]|0;if(!C){k=c[n>>2]|0;I=k+4|0;A=Ma[c[k>>2]&1](c[I>>2]|0,0,0,40)|0;if(!A){if(!(a[k+51>>0]|0))jc(e,4);vc(e,1);j=Ma[c[k>>2]&1](c[I>>2]|0,0,0,40)|0;if(!j)jc(e,4);else M=j}else M=A;A=k+12|0;c[A>>2]=(c[A>>2]|0)+40;A=c[L>>2]|0;c[A+12>>2]=M;c[M+8>>2]=A;c[M+12>>2]=0;N=M}else N=C;c[L>>2]=N;b[N+16>>1]=g;c[N>>2]=K;c[N+24>>2]=J;K=J+(d[z>>0]<<3)|0;c[N+4>>2]=K;c[N+28>>2]=c[B+12>>2];a[N+18>>0]=1;c[o>>2]=K;K=c[n>>2]|0;N=K+12|0;B=c[N>>2]|0;if((B|0)<=0){D=0;Fa=h;return D|0}if(!(a[K+51>>0]|0)){z=K+8|0;c[z>>2]=B+1600+(c[z>>2]|0);c[N>>2]=-1600;D=0;Fa=h;return D|0}else{zc(e);D=0;Fa=h;return D|0}}else if((v|0)==77)Qc(e,r,46110);else if((v|0)==84)jc(e,6);else if((v|0)==86){kc(e,1000200);lc(e,45510,i)}i=c[E>>2]|0;E=c[o>>2]|0;c[e+112>>2]=(E-r>>3)+-1;do if(((c[p>>2]|0)-E|0)<168){r=c[q>>2]|0;if((r|0)>1e6)jc(e,6);v=(E-s>>3)+25|0;N=r<<1;r=(N|0)<1e6?N:1e6;N=(r|0)<(v|0)?v:r;if((N|0)>1e6){kc(e,1000200);lc(e,45510,l)}else{kc(e,N);break}}while(0);l=e+16|0;s=c[(c[l>>2]|0)+12>>2]|0;if(!s){E=c[n>>2]|0;q=E+4|0;p=Ma[c[E>>2]&1](c[q>>2]|0,0,0,40)|0;if(!p){if(!(a[E+51>>0]|0))jc(e,4);vc(e,1);N=Ma[c[E>>2]&1](c[q>>2]|0,0,0,40)|0;if(!N)jc(e,4);else O=N}else O=p;p=E+12|0;c[p>>2]=(c[p>>2]|0)+40;p=c[l>>2]|0;c[p+12>>2]=O;c[O+8>>2]=p;c[O+12>>2]=0;P=O}else P=s;c[l>>2]=P;b[P+16>>1]=g;c[P>>2]=(c[m>>2]|0)+t;c[P+4>>2]=(c[o>>2]|0)+160;a[P+18>>0]=0;P=c[n>>2]|0;n=P+12|0;t=c[n>>2]|0;do if((t|0)>0)if(!(a[P+51>>0]|0)){m=P+8|0;c[m>>2]=t+1600+(c[m>>2]|0);c[n>>2]=-1600;break}else{zc(e);break}while(0);n=Ja[i&255](e)|0;e=c[o>>2]|0;i=c[l>>2]|0;t=c[i>>2]|0;P=b[i+16>>1]|0;c[l>>2]=c[i+8>>2];c:do if(P<<16>>16){i=P<<16>>16;l=0-n|0;if((l|0)<0){m=t;g=i;s=e+(l<<3)|0;while(1){l=m+8|0;c[m>>2]=c[s>>2];c[m+4>>2]=c[s+4>>2];O=g+-1|0;if(!O){Q=l;break c}s=s+8|0;if(s>>>0>=(c[o>>2]|0)>>>0){R=l;S=O;break}else{m=l;g=O}}}else{R=t;S=i}if((S|0)>0){g=S;m=R;while(1){s=m+8|0;c[m+4>>2]=0;if((g|0)>1){g=g+-1|0;m=s}else{Q=s;break}}}else Q=R}else Q=t;while(0);c[o>>2]=Q;D=1;Fa=h;return D|0}function qc(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0;f=Fa;Fa=Fa+64|0;g=f+40|0;h=f+32|0;i=f+24|0;j=f+16|0;k=f+8|0;l=f;m=f+48|0;n=e+16|0;o=e+12|0;p=e+8|0;q=e+38|0;r=e+24|0;s=e+32|0;t=e+28|0;u=m+4|0;v=c[n>>2]|0;a:while(1){w=c[c[v>>2]>>2]|0;x=w+12|0;y=c[(c[x>>2]|0)+8>>2]|0;z=v+24|0;A=v+28|0;B=v+4|0;C=v+4|0;D=v+4|0;E=v+4|0;F=v+4|0;G=v+4|0;H=v+4|0;I=c[v+24>>2]|0;b:while(1){J=c[A>>2]|0;c[A>>2]=J+4;K=c[J>>2]|0;J=c[524978]|0;if((J|c[524979]|0)>(c[8776]|0)){c[524980]=1;L=c[n>>2]|0;M=L+18|0;N=d[M>>0]|0;if(!(N&128)){O=5;break a}a[M>>0]=N&127;P=c[z>>2]|0}else P=I;c[524978]=J+2;N=K>>>6&255;Q=P+(N<<3)|0;c:do switch(K&63){case 44:{O=229;break b;break}case 0:{R=K>>>23;c[Q>>2]=c[P+(R<<3)>>2];c[P+(N<<3)+4>>2]=c[P+(R<<3)+4>>2];S=P;break}case 1:{c[524978]=J+1;R=K>>>14;c[Q>>2]=c[y+(R<<3)>>2];c[P+(N<<3)+4>>2]=c[y+(R<<3)+4>>2];S=P;break}case 2:{R=c[A>>2]|0;c[A>>2]=R+4;T=(c[R>>2]|0)>>>6;c[Q>>2]=c[y+(T<<3)>>2];c[P+(N<<3)+4>>2]=c[y+(T<<3)+4>>2];S=P;break}case 3:{c[Q>>2]=K>>>23;c[P+(N<<3)+4>>2]=1;if(!(K&8372224))S=P;else{c[A>>2]=(c[A>>2]|0)+4;S=P}break}case 4:{T=Q;R=K>>>23;while(1){c[T+4>>2]=0;if(!R){S=P;break}else{T=T+8|0;R=R+-1|0}}break}case 5:{R=c[(c[w+16+(K>>>23<<2)>>2]|0)+8>>2]|0;c[Q>>2]=c[R>>2];c[P+(N<<3)+4>>2]=c[R+4>>2];S=P;break}case 6:{R=K>>>14;sc(e,c[(c[w+16+(K>>>23<<2)>>2]|0)+8>>2]|0,(K&4194304|0)==0?P+((R&511)<<3)|0:y+((R&255)<<3)|0,Q);S=c[z>>2]|0;break}case 7:{R=K>>>14;sc(e,P+(K>>>23<<3)|0,(K&4194304|0)==0?P+((R&511)<<3)|0:y+((R&255)<<3)|0,Q);S=c[z>>2]|0;break}case 8:{R=K>>>23;T=K>>>14;tc(e,c[(c[w+16+(N<<2)>>2]|0)+8>>2]|0,(K|0)<0?y+((R&255)<<3)|0:P+(R<<3)|0,(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0);S=c[z>>2]|0;break}case 9:{T=c[w+16+(K>>>23<<2)>>2]|0;R=c[T+8>>2]|0;c[R>>2]=c[Q>>2];U=P+(N<<3)+4|0;c[R+4>>2]=c[U>>2];if(((c[U>>2]&64|0)!=0?(U=c[Q>>2]|0,(a[U+5>>0]&3)!=0):0)?(R=T+5|0,T=a[R>>0]|0,(T&4)!=0):0){V=c[o>>2]|0;if((d[V+49>>0]|0)<2){uc(V,U);S=P;break c}else{a[R>>0]=a[V+48>>0]&3|T&-72;S=P;break c}}else S=P;break}case 10:{T=K>>>23;V=K>>>14;tc(e,Q,(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0,(K&4194304|0)==0?P+((V&511)<<3)|0:y+((V&255)<<3)|0);S=c[z>>2]|0;break}case 11:{V=K>>>23;T=K>>>14;R=T&511;U=c[o>>2]|0;W=U+4|0;X=Ma[c[U>>2]&1](c[W>>2]|0,0,5,32)|0;if(!X){if(!(a[U+51>>0]|0)){O=29;break a}vc(e,1);Y=Ma[c[U>>2]&1](c[W>>2]|0,0,5,32)|0;if(!Y){O=29;break a}else Z=Y}else Z=X;X=U+12|0;c[X>>2]=(c[X>>2]|0)+32;X=U+56|0;a[Z+5>>0]=a[U+48>>0]&3;a[Z+4>>0]=5;c[Z>>2]=c[X>>2];c[X>>2]=Z;c[Z+8>>2]=0;a[Z+6>>0]=-1;X=Z+12|0;c[X>>2]=0;U=Z+28|0;c[U>>2]=0;Y=Z+16|0;c[Y>>2]=2099924;W=Z+7|0;a[W>>0]=0;_=Z+20|0;c[_>>2]=2099924;c[Q>>2]=Z;c[P+(N<<3)+4>>2]=69;if(R|V|0){$=K>>>26&31;aa=($|0)==0?V:(V&7|8)<<$+-1;$=K>>>17&31;V=($|0)==0?R:(T&7|8)<<$+-1;$=c[U>>2]|0;T=a[W>>0]|0;R=T&255;ba=c[Y>>2]|0;if(($|0)<(aa|0)){if((aa+1|0)>>>0>536870911){O=33;break a}ca=c[X>>2]|0;da=$<<3;$=aa<<3;ea=c[o>>2]|0;fa=(ca|0)==0;ga=ea+4|0;ha=Ma[c[ea>>2]&1](c[ga>>2]|0,ca,da,$)|0;if(($|0)!=0&(ha|0)==0){if(!(a[ea+51>>0]|0)){O=37;break a}vc(e,1);ia=Ma[c[ea>>2]&1](c[ga>>2]|0,ca,da,$)|0;if(!ia){O=37;break a}else ja=ia}else ja=ha;ha=ea+12|0;c[ha>>2]=(fa?0:0-da|0)+$+(c[ha>>2]|0);c[X>>2]=ja;X=c[U>>2]|0;if((X|0)<(aa|0)){ha=X;do{c[ja+(ha<<3)+4>>2]=0;ha=ha+1|0}while((ha|0)!=(aa|0))}c[U>>2]=aa}if(!V){c[Y>>2]=2099924;ka=0;la=0;ma=2099924}else{ha=V+-1|0;if(ha>>>0>255){X=ha;$=0;while(1){da=$+8|0;fa=X>>>8;if(X>>>0>65535){X=fa;$=da}else{na=da;oa=fa;break}}}else{na=0;oa=ha}$=na+(d[400+oa>>0]|0)|0;if(($|0)>30){O=48;break a}X=1<<$;if((X+1|0)>>>0>214748364){O=50;break a}V=20<<$;aa=c[o>>2]|0;U=aa+4|0;fa=Ma[c[aa>>2]&1](c[U>>2]|0,0,0,V)|0;if($>>>0<30&(fa|0)==0){if(!(a[aa+51>>0]|0)){O=54;break a}vc(e,1);da=Ma[c[aa>>2]&1](c[U>>2]|0,0,0,V)|0;if(!da){O=54;break a}else pa=da}else pa=fa;fa=aa+12|0;c[fa>>2]=(c[fa>>2]|0)+V;c[Y>>2]=pa;V=0;fa=pa;do{c[fa+(V*20|0)+16>>2]=0;c[fa+(V*20|0)+12>>2]=0;c[fa+(V*20|0)+4>>2]=0;V=V+1|0;fa=c[Y>>2]|0}while((V|0)<(X|0));ka=X;la=$&255;ma=fa}a[W>>0]=la;c[_>>2]=ma+(ka*20|0);if(T<<24>>24!=31){V=1<<R;do{Y=V;V=V+-1|0;ha=ba+(V*20|0)+4|0;if(c[ha>>2]|0){aa=ba+(V*20|0)+8|0;da=xc(Z,aa)|0;if((da|0)==2099900)qa=yc(e,Z,aa)|0;else qa=da;c[qa>>2]=c[ba+(V*20|0)>>2];c[qa+4>>2]=c[ha>>2]}}while((Y|0)>1)}if((ba|0)!=2099924){V=20<<R;T=c[o>>2]|0;Ma[c[T>>2]&1](c[T+4>>2]|0,ba,V,0)|0;_=T+12|0;c[_>>2]=(c[_>>2]|0)-((ba|0)==0?0:V)}}V=c[o>>2]|0;_=V+12|0;T=c[_>>2]|0;if((T|0)>0){c[p>>2]=Q+8;if(!(a[V+51>>0]|0)){W=V+8|0;c[W>>2]=T+1600+(c[W>>2]|0);c[_>>2]=-1600}else zc(e);c[p>>2]=c[G>>2]}S=c[z>>2]|0;break}case 12:{_=K>>>23;W=P+(_<<3)|0;T=Q+8|0;c[T>>2]=c[W>>2];c[T+4>>2]=c[P+(_<<3)+4>>2];_=K>>>14;sc(e,W,(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0,Q);S=c[z>>2]|0;break}case 13:{c[524978]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=(c[T>>2]|0)+(c[W>>2]|0);c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,6);S=c[z>>2]|0;break}case 14:{c[524978]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=(c[W>>2]|0)-(c[_>>2]|0);c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,7);S=c[z>>2]|0;break}case 15:{_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=Mk(c[W>>2]|0,c[T>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,8);S=c[z>>2]|0;break}case 16:{T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=Nk(c[W>>2]|0,c[_>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,9);S=c[z>>2]|0;break}case 17:{_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=Ok(c[W>>2]|0,c[T>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,10);S=c[z>>2]|0;break}case 18:{T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=Pk(c[W>>2]|0,c[_>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,11);S=c[z>>2]|0;break}case 19:{c[524978]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=c[T>>2]&c[W>>2];c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,12);S=c[z>>2]|0;break}case 20:{c[524978]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=c[_>>2]|c[W>>2];c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,13);S=c[z>>2]|0;break}case 21:{c[524978]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=c[T>>2]^c[W>>2];c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,14);S=c[z>>2]|0;break}case 22:{c[524978]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=Zk(c[W>>2]|0,c[_>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,15);S=c[z>>2]|0;break}case 23:{c[524978]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=_k(c[W>>2]|0,c[T>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,16);S=c[z>>2]|0;break}case 24:{c[524978]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=Yk(c[W>>2]|0,c[_>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,17);S=c[z>>2]|0;break}case 25:{c[524978]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=Wk(c[W>>2]|0,c[T>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,18);S=c[z>>2]|0;break}case 26:{c[524978]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=Xk(c[W>>2]|0,c[_>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,19);S=c[z>>2]|0;break}case 27:{c[524978]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=~c[W>>2];c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,20);S=c[z>>2]|0;break}case 28:{T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=(Nk(c[W>>2]|0,c[_>>2]|0)|0)&-65536;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,21);S=c[z>>2]|0;break}case 29:{c[524978]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=Ck(c[W>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,22);S=c[z>>2]|0;break}case 30:{c[524978]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=Bk(c[W>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,_,23);S=c[z>>2]|0;break}case 31:{c[524978]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=Ak(c[W>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Ac(e,Q,W,T,24);S=c[z>>2]|0;break}case 32:{T=K>>>23;W=P+(T<<3)|0;if((c[P+(T<<3)+4>>2]|0)==3){c[Q>>2]=0-(c[W>>2]|0);c[P+(N<<3)+4>>2]=3;S=P;break c}else{Ac(e,Q,W,W,25);S=c[z>>2]|0;break c}break}case 33:{W=K>>>23;switch(c[P+(W<<3)+4>>2]|0){case 0:{ra=1;break}case 1:{ra=(c[P+(W<<3)>>2]|0)==0;break}default:ra=0}c[Q>>2]=ra&1;c[P+(N<<3)+4>>2]=1;S=P;break}case 34:{Bc(e,Q,P+(K>>>23<<3)|0);S=c[z>>2]|0;break}case 35:{W=K>>>23;T=K>>>14&511;c[p>>2]=P+(T<<3)+8;Cc(e,1-W+T|0);T=c[z>>2]|0;_=T+(N<<3)|0;V=T+(W<<3)|0;c[_>>2]=c[V>>2];c[T+(N<<3)+4>>2]=c[T+(W<<3)+4>>2];T=c[o>>2]|0;fa=T+12|0;$=c[fa>>2]|0;if(($|0)>0){c[p>>2]=N>>>0<W>>>0?V:_+8|0;if(!(a[T+51>>0]|0)){_=T+8|0;c[_>>2]=$+1600+(c[_>>2]|0);c[fa>>2]=-1600}else zc(e);fa=c[C>>2]|0;c[p>>2]=fa;sa=fa}else sa=c[B>>2]|0;fa=c[z>>2]|0;c[p>>2]=sa;S=fa;break}case 36:{if(N|0)Dc(e,(c[z>>2]|0)+(N<<3)+-8|0);c[A>>2]=(c[A>>2]|0)+((K>>>14)+-131071<<2);S=P;break}case 37:{fa=K>>>23;_=(K|0)<0?y+((fa&255)<<3)|0:P+(fa<<3)|0;fa=K>>>14;$=(K&4194304|0)==0?P+((fa&511)<<3)|0:y+((fa&255)<<3)|0;if((c[_+4>>2]|0)==(c[$+4>>2]|0))ta=(Ec(e,_,$)|0)!=0;else ta=0;$=c[A>>2]|0;if((N|0)==(ta&1|0)){_=c[$>>2]|0;fa=_>>>6&255;if(!fa)ua=$;else{Dc(e,(c[z>>2]|0)+(fa<<3)+-8|0);ua=c[A>>2]|0}va=ua+((_>>>14)+-131070<<2)|0}else va=$+4|0;c[A>>2]=va;S=c[z>>2]|0;break}case 38:{$=K>>>23;_=K>>>14;fa=(Fc(e,(K|0)<0?y+(($&255)<<3)|0:P+($<<3)|0,(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0)|0)==(N|0);_=c[A>>2]|0;if(fa){fa=c[_>>2]|0;$=fa>>>6&255;if(!$)wa=_;else{Dc(e,(c[z>>2]|0)+($<<3)+-8|0);wa=c[A>>2]|0}xa=wa+((fa>>>14)+-131070<<2)|0}else xa=_+4|0;c[A>>2]=xa;S=c[z>>2]|0;break}case 39:{_=K>>>23;fa=K>>>14;$=(Gc(e,(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0,(K&4194304|0)==0?P+((fa&511)<<3)|0:y+((fa&255)<<3)|0)|0)==(N|0);fa=c[A>>2]|0;if($){$=c[fa>>2]|0;_=$>>>6&255;if(!_)ya=fa;else{Dc(e,(c[z>>2]|0)+(_<<3)+-8|0);ya=c[A>>2]|0}za=ya+(($>>>14)+-131070<<2)|0}else za=fa+4|0;c[A>>2]=za;S=c[z>>2]|0;break}case 40:{fa=c[P+(N<<3)+4>>2]|0;$=(fa|0)==0;if(!(K&8372224)){if(!$)if(!((fa|0)==1?!(c[Q>>2]|0):0))O=195}else if(!$){if((fa|0)==1?(c[Q>>2]|0)==0:0)O=195}else O=195;if((O|0)==195){O=0;c[A>>2]=(c[A>>2]|0)+4;S=P;break c}fa=c[A>>2]|0;$=c[fa>>2]|0;_=$>>>6&255;if(!_)Aa=fa;else{Dc(e,(c[z>>2]|0)+(_<<3)+-8|0);Aa=c[A>>2]|0}c[A>>2]=Aa+(($>>>14)+-131070<<2);S=P;break}case 41:{$=K>>>23;_=P+($<<3)|0;fa=c[P+($<<3)+4>>2]|0;$=(fa|0)==0;if(!(K&8372224))if(!$)if((fa|0)==1?(c[_>>2]|0)==0:0)O=207;else O=206;else O=207;else if(!$)if((fa|0)==1?(c[_>>2]|0)==0:0)O=206;else O=207;else O=206;if((O|0)==206){O=0;Ba=(c[A>>2]|0)+4|0}else if((O|0)==207){O=0;c[Q>>2]=c[_>>2];c[P+(N<<3)+4>>2]=fa;fa=c[A>>2]|0;_=c[fa>>2]|0;$=_>>>6&255;if(!$)Ca=fa;else{Dc(e,(c[z>>2]|0)+($<<3)+-8|0);Ca=c[A>>2]|0}Ba=Ca+((_>>>14)+-131070<<2)|0}c[A>>2]=Ba;S=P;break}case 42:{_=K>>>23;$=K>>>14&511;if(_|0)c[p>>2]=Q+(_<<3);if(!(pc(e,Q,$+-1|0)|0)){O=217;break b}if($|0)c[p>>2]=c[E>>2];S=c[z>>2]|0;break}case 43:{$=K>>>23;if($|0)c[p>>2]=Q+($<<3);if(!(pc(e,Q,-1)|0)){O=222;break b}S=c[z>>2]|0;break}case 45:{$=Q+16|0;_=c[$>>2]|0;fa=(c[Q>>2]|0)+_|0;T=c[Q+8>>2]|0;if(!((_|0)<1|(fa|0)>(T|0))){c[A>>2]=(c[A>>2]|0)+((K>>>14)+-131071<<2);c[Q>>2]=fa;c[P+(N<<3)+4>>2]=3;V=Q+24|0;c[V>>2]=fa;c[V+4>>2]=3;if((fa|0)<0|(_|0)<(2147483647-fa|0)){S=P;break c}c[$>>2]=0;c[$+4>>2]=3;S=P;break c}if(!((_|0)>-1|(fa|0)<(T|0))?(c[A>>2]=(c[A>>2]|0)+((K>>>14)+-131071<<2),c[Q>>2]=fa,c[P+(N<<3)+4>>2]=3,T=Q+24|0,c[T>>2]=fa,c[T+4>>2]=3,(fa|0)<0&(_|0)<(-2147483648-fa|0)):0){c[$>>2]=0;c[$+4>>2]=3;S=P}else S=P;break}case 46:{$=Q+8|0;fa=Q+16|0;_=P+(N<<3)+4|0;T=c[_>>2]|0;if((T|0)!=3){if((T&15|0)!=4){O=253;break a}T=c[Q>>2]|0;if(!(Hc(T+16|0,c[T+12>>2]|0,m)|0)){O=253;break a}c[Q>>2]=c[m>>2];c[_>>2]=3}T=$+4|0;V=c[T>>2]|0;if((V|0)!=3){if((V&15|0)!=4){O=258;break a}V=c[$>>2]|0;if(!(Hc(V+16|0,c[V+12>>2]|0,m)|0)){O=258;break a}c[$>>2]=c[m>>2];c[T>>2]=3}T=fa+4|0;$=c[T>>2]|0;if(($|0)==3)Da=fa;else{if(($&15|0)!=4){O=264;break a}$=c[fa>>2]|0;if(!(Hc($+16|0,c[$+12>>2]|0,m)|0)){O=264;break a}c[fa>>2]=c[m>>2];c[T>>2]=3;Da=fa}c[Q>>2]=(c[Q>>2]|0)-(c[Da>>2]|0);c[_>>2]=3;c[A>>2]=(c[A>>2]|0)+((K>>>14)+-131071<<2);S=P;break}case 47:{_=Q+24|0;fa=Q+16|0;T=_+16|0;c[T>>2]=c[fa>>2];c[T+4>>2]=c[fa+4>>2];fa=Q+8|0;T=_+8|0;c[T>>2]=c[fa>>2];c[T+4>>2]=c[fa+4>>2];c[_>>2]=c[Q>>2];c[_+4>>2]=c[P+(N<<3)+4>>2];c[p>>2]=_+24;fa=K>>>14&511;T=(b[q>>1]|0)+1<<16>>16;b[q>>1]=T;if((T&65535)>199){if(T<<16>>16==200){O=268;break a}if((T&65535)>224){O=270;break a}}if(!(pc(e,_,fa)|0))qc(e);b[q>>1]=(b[q>>1]|0)+-1<<16>>16;fa=c[z>>2]|0;c[p>>2]=c[D>>2];_=c[A>>2]|0;c[A>>2]=_+4;T=c[_>>2]|0;Ea=T;Ga=fa+((T>>>6&255)<<3)|0;Ha=fa;O=274;break}case 48:{Ea=K;Ga=Q;Ha=P;O=274;break}case 49:{fa=K>>>23;T=K>>>14&511;if(!fa)Ia=((c[p>>2]|0)-Q>>3)+-1|0;else Ia=fa;if(!T){fa=c[A>>2]|0;c[A>>2]=fa+4;Ja=(c[fa>>2]|0)>>>6}else Ja=T;T=c[Q>>2]|0;fa=Ia+-50+(Ja*50|0)|0;_=T+28|0;if((fa|0)>(c[_>>2]|0)){if((c[T+16>>2]|0)==2099924)Ka=0;else Ka=1<<d[T+7>>0];Ic(e,T,fa,Ka)}if((Ia|0)>0){$=T+12|0;V=T+16|0;W=T+7|0;X=T+5|0;Y=T+24|0;ha=fa;fa=Ia;while(1){da=Q+(fa<<3)|0;aa=ha;ha=ha+-1|0;d:do if(ha>>>0<(c[_>>2]|0)>>>0){La=(c[$>>2]|0)+(ha<<3)|0;O=293}else{U=aa<<16;ea=0-U|0;ia=(c[V>>2]|0)+(((((U|0)<0?((U|0)==(ea|0)?0:ea):U)|0)%((1<<d[W>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[ia+12>>2]|0)==3?(c[ia+8>>2]|0)==(U|0):0)break;ea=c[ia+16>>2]|0;if(!ea){Na=U;O=295;break d}else ia=ea}La=ia;O=293}while(0);if((O|0)==293){O=0;if((La|0)==2099900){Na=aa<<16;O=295}else Oa=La}if((O|0)==295){O=0;c[m>>2]=Na;c[u>>2]=3;Oa=yc(e,T,m)|0}c[Oa>>2]=c[da>>2];U=da+4|0;c[Oa+4>>2]=c[U>>2];if((c[U>>2]&64|0?a[(c[da>>2]|0)+5>>0]&3:0)?(U=a[X>>0]|0,U&4):0){ea=c[o>>2]|0;a[X>>0]=U&-5;U=ea+76|0;c[Y>>2]=c[U>>2];c[U>>2]=T}if((fa|0)<=1)break;else fa=fa+-1|0}}c[p>>2]=c[H>>2];S=P;break}case 50:{fa=c[(c[(c[x>>2]|0)+16>>2]|0)+(K>>>14<<2)>>2]|0;T=fa+32|0;Y=c[T>>2]|0;X=c[fa+40>>2]|0;W=c[fa+28>>2]|0;e:do if(!Y)O=310;else{if((X|0)>0){V=Y+16|0;ha=0;do{$=d[W+(ha<<3)+5>>0]|0;if(!(a[W+(ha<<3)+4>>0]|0))Pa=c[(c[w+16+($<<2)>>2]|0)+8>>2]|0;else Pa=P+($<<3)|0;if((c[(c[V+(ha<<2)>>2]|0)+8>>2]|0)!=(Pa|0)){O=310;break e}ha=ha+1|0}while((ha|0)<(X|0))}c[Q>>2]=Y;c[P+(N<<3)+4>>2]=70}while(0);if((O|0)==310){O=0;Y=Jc(e,X)|0;c[Y+12>>2]=fa;c[Q>>2]=Y;c[P+(N<<3)+4>>2]=70;if((X|0)>0){ha=Y+16|0;V=0;do{da=d[W+(V<<3)+5>>0]|0;if(!(a[W+(V<<3)+4>>0]|0))c[ha+(V<<2)>>2]=c[w+16+(da<<2)>>2];else c[ha+(V<<2)>>2]=Kc(e,P+(da<<3)|0)|0;V=V+1|0}while((V|0)!=(X|0))}X=fa+5|0;V=a[X>>0]|0;do if(V&4){if(c[T>>2]|0){ha=c[o>>2]|0;a[X>>0]=V&-5;W=ha+76|0;c[fa+72>>2]=c[W>>2];c[W>>2]=fa;break}if(a[Y+5>>0]&3){W=c[o>>2]|0;if((d[W+49>>0]|0)<2){uc(W,Y);break}else{a[X>>0]=a[W+48>>0]&3|V&-72;break}}}while(0);c[T>>2]=Y}V=c[o>>2]|0;X=V+12|0;fa=c[X>>2]|0;if((fa|0)>0){c[p>>2]=Q+8;if(!(a[V+51>>0]|0)){W=V+8|0;c[W>>2]=fa+1600+(c[W>>2]|0);c[X>>2]=-1600}else zc(e);c[p>>2]=c[F>>2]}S=c[z>>2]|0;break}case 51:{X=K>>>23;W=X+-1|0;fa=(P-(c[v>>2]|0)>>3)-(d[(c[x>>2]|0)+76>>0]|0)|0;V=fa+-1|0;if(!X){X=c[p>>2]|0;if(((c[r>>2]|0)-X>>3|0)<(fa|0)){ha=c[s>>2]|0;if((ha|0)>1e6){O=334;break a}da=fa+4+(X-(c[t>>2]|0)>>3)|0;X=ha<<1;ha=(X|0)<1e6?X:1e6;X=(ha|0)<(da|0)?da:ha;if((X|0)>1e6){O=336;break a}kc(e,X)}X=c[z>>2]|0;ha=X+(N<<3)|0;c[p>>2]=ha+(V<<3);Qa=V;Ra=ha;Sa=X}else{Qa=W;Ra=Q;Sa=P}if((Qa|0)>0){W=Sa+(1-fa<<3)|0;fa=0;do{if((fa|0)<(V|0)){X=W+(fa<<3)|0;c[Ra+(fa<<3)>>2]=c[X>>2];Ta=c[X+4>>2]|0}else Ta=0;c[Ra+(fa<<3)+4>>2]=Ta;fa=fa+1|0}while((fa|0)!=(Qa|0));S=Sa}else S=Sa;break}default:S=P}while(0);if((O|0)==274){O=0;N=c[Ga+12>>2]|0;if(!N)S=Ha;else{c[Ga>>2]=c[Ga+8>>2];c[Ga+4>>2]=N;c[A>>2]=(c[A>>2]|0)+((Ea>>>14)+-131071<<2);S=Ha}}I=S}if((O|0)==217){O=0;I=c[n>>2]|0;A=I+18|0;a[A>>0]=a[A>>0]|4;Ua=I}else if((O|0)==222){O=0;I=c[n>>2]|0;A=c[I+8>>2]|0;z=c[I>>2]|0;F=c[A>>2]|0;w=I+24|0;H=(c[w>>2]|0)+(d[(c[(c[z>>2]|0)+12>>2]|0)+76>>0]<<3)|0;if((c[(c[x>>2]|0)+56>>2]|0)>0)Dc(e,c[A+24>>2]|0);if(z>>>0<H>>>0){D=0;E=z;do{c[F+(D<<3)>>2]=c[E>>2];c[F+(D<<3)+4>>2]=c[z+(D<<3)+4>>2];D=D+1|0;E=z+(D<<3)|0}while(E>>>0<H>>>0)}H=z;c[A+24>>2]=F+((c[w>>2]|0)-H>>3<<3);E=F+((c[p>>2]|0)-H>>3<<3)|0;c[p>>2]=E;c[A+4>>2]=E;c[A+28>>2]=c[I+28>>2];E=A+18|0;a[E>>0]=a[E>>0]|64;c[n>>2]=A;Ua=A}else if((O|0)==229){O=0;E=K>>>23;if(E|0)c[p>>2]=Q+(E<<3)+-8;if((c[(c[x>>2]|0)+56>>2]|0)>0)Dc(e,P);E=c[n>>2]|0;H=c[E>>2]|0;D=b[E+16>>1]|0;c[n>>2]=c[E+8>>2];f:do if(D<<16>>16){E=H;y=D<<16>>16;B=Q;while(1){if(B>>>0>=(c[p>>2]|0)>>>0)break;C=E+8|0;c[E>>2]=c[B>>2];c[E+4>>2]=c[B+4>>2];G=y+-1|0;if(!G){Va=C;break f}else{E=C;y=G;B=B+8|0}}if((y|0)>0){B=y;G=E;while(1){C=G+8|0;c[G+4>>2]=0;if((B|0)>1){B=B+-1|0;G=C}else{Va=C;break}}}else Va=E}else Va=H;while(0);c[p>>2]=Va;if(!(a[v+18>>0]&4)){O=345;break}H=c[n>>2]|0;if(D<<16>>16==-1)Ua=H;else{c[p>>2]=c[H+4>>2];Ua=H}}v=Ua}switch(O|0){case 5:{rc(e,0,0,0)|0;O=L+28|0;c[e+20>>2]=c[O>>2];c[O>>2]=(c[O>>2]|0)+-4;a[M>>0]=a[M>>0]|-128;c[L>>2]=(c[p>>2]|0)+-8;jc(e,1);break}case 29:{jc(e,4);break}case 33:{wc(e);break}case 37:{jc(e,4);break}case 48:{lc(e,45542,l);break}case 50:{wc(e);break}case 54:{jc(e,4);break}case 253:{lc(e,45557,k);break}case 258:{lc(e,45594,j);break}case 264:{lc(e,45623,i);break}case 268:{lc(e,45525,h);break}case 270:{jc(e,6);break}case 334:{jc(e,6);break}case 336:{kc(e,1000200);lc(e,45510,g);break}case 345:{Fa=f;return}}}function rc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=Fa;Fa=Fa+16|0;i=h+8|0;j=h;k=c[d+16>>2]|0;if(b[d+36>>1]|0)if((c[(c[d+12>>2]|0)+144>>2]|0)==(d|0))lc(d,46068,i);else lc(d,46026,j);a[d+6>>0]=1;c[k+20>>2]=(c[k>>2]|0)-(c[d+28>>2]|0);if(a[k+18>>0]&1){Fa=h;return 0}c[k+28>>2]=g;if(!g){l=d+8|0;m=c[l>>2]|0;n=0-e|0;o=m+(n<<3)|0;p=o+-8|0;c[k>>2]=p;jc(d,1)}c[k+24>>2]=f;l=d+8|0;m=c[l>>2]|0;n=0-e|0;o=m+(n<<3)|0;p=o+-8|0;c[k>>2]=p;jc(d,1);return 0}function sc(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;i=Fa;Fa=Fa+16|0;j=i+8|0;k=i;l=e+12|0;m=f;n=0;o=c[f+4>>2]|0;while(1){if((o|0)==69){f=c[m>>2]|0;p=xc(f,g)|0;if(c[p+4>>2]|0)break;q=c[f+8>>2]|0;if(!q)break;r=a[q+6>>0]|0;if(r&1)break;f=c[(c[l>>2]|0)+156>>2]|0;s=(c[q+16>>2]|0)+(((1<<(d[q+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[s+12>>2]|0)==68?(c[s+8>>2]|0)==(f|0):0){t=10;break}u=c[s+16>>2]|0;if(!u){v=2099900;break}else s=u}if((t|0)==10){t=0;v=s}f=v+4|0;u=c[f>>2]|0;if(!u){t=13;break}if(!v)break;else{w=v;x=f;y=u}}else{switch(o&15){case 5:{z=(c[m>>2]|0)+8|0;break}case 7:{z=(c[m>>2]|0)+8|0;break}default:z=(c[l>>2]|0)+276+((o&15)<<2)|0}u=c[z>>2]|0;a:do if(!u)A=2099900;else{f=c[(c[l>>2]|0)+156>>2]|0;B=(c[u+16>>2]|0)+(((1<<(d[u+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[B+12>>2]|0)==68?(c[B+8>>2]|0)==(f|0):0)break;C=c[B+16>>2]|0;if(!C){A=2099900;break a}else B=C}A=B}while(0);u=A+4|0;s=c[u>>2]|0;if(!s){t=27;break}else{w=A;x=u;y=s}}n=n+1|0;if((y&15|0)==6){t=29;break}if(n>>>0>=100){t=41;break}else{m=w;o=y}}if((t|0)==13)a[q+6>>0]=r|1;else if((t|0)==27)Qc(e,m,45986);else if((t|0)==29){r=e+28|0;q=h-(c[r>>2]|0)|0;y=e+8|0;o=c[y>>2]|0;c[y>>2]=o+8;c[o>>2]=c[w>>2];c[o+4>>2]=c[x>>2];x=c[y>>2]|0;c[y>>2]=x+8;c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];m=c[y>>2]|0;c[y>>2]=m+8;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];g=(c[y>>2]|0)+-24|0;m=a[(c[e+16>>2]|0)+18>>0]&1;x=e+38|0;o=(b[x>>1]|0)+1<<16>>16;b[x>>1]=o;if((o&65535)>199){if(o<<16>>16==200)lc(e,45525,k);if((o&65535)>224)jc(e,6)}o=m<<24>>24!=0;if(!o){m=e+36|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}if(!(pc(e,g,1)|0))qc(e);if(!o){o=e+36|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16}b[x>>1]=(b[x>>1]|0)+-1<<16>>16;x=(c[r>>2]|0)+q|0;q=c[y>>2]|0;r=q+-8|0;c[y>>2]=r;c[x>>2]=c[r>>2];c[x+4>>2]=c[q+-4>>2];Fa=i;return}else if((t|0)==41)lc(e,46009,j);c[h>>2]=c[p>>2];c[h+4>>2]=c[p+4>>2];Fa=i;return}function tc(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;i=Fa;Fa=Fa+16|0;j=i+8|0;k=i;l=e+12|0;m=f;n=0;o=c[f+4>>2]|0;while(1){if((o|0)==69){p=c[m>>2]|0;q=xc(p,g)|0;if(c[q+4>>2]|0){r=17;break}s=c[p+8>>2]|0;if(!s){r=15;break}t=a[s+6>>0]|0;if(t&2){r=15;break}f=c[(c[l>>2]|0)+160>>2]|0;u=(c[s+16>>2]|0)+(((1<<(d[s+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[u+12>>2]|0)==68?(c[u+8>>2]|0)==(f|0):0){r=10;break}v=c[u+16>>2]|0;if(!v){w=2099900;break}else u=v}if((r|0)==10){r=0;w=u}f=w+4|0;v=c[f>>2]|0;if(!v){r=13;break}if(!w){r=15;break}else{x=w;y=f;z=v}}else{switch(o&15){case 5:{A=(c[m>>2]|0)+8|0;break}case 7:{A=(c[m>>2]|0)+8|0;break}default:A=(c[l>>2]|0)+276+((o&15)<<2)|0}v=c[A>>2]|0;a:do if(!v)B=2099900;else{f=c[(c[l>>2]|0)+160>>2]|0;C=(c[v+16>>2]|0)+(((1<<(d[v+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[C+12>>2]|0)==68?(c[C+8>>2]|0)==(f|0):0)break;D=c[C+16>>2]|0;if(!D){B=2099900;break a}else C=D}B=C}while(0);v=B+4|0;u=c[v>>2]|0;if(!u){r=33;break}else{x=B;y=v;z=u}}n=n+1|0;if((z&15|0)==6){r=35;break}if(n>>>0>=100){r=47;break}else{m=x;o=z}}if((r|0)==13){a[s+6>>0]=t|2;r=15}else if((r|0)==17){E=q;F=p}else if((r|0)==33)Qc(e,m,45986);else if((r|0)==35){t=e+8|0;s=c[t>>2]|0;c[t>>2]=s+8;c[s>>2]=c[x>>2];c[s+4>>2]=c[y>>2];y=c[t>>2]|0;c[t>>2]=y+8;c[y>>2]=c[m>>2];c[y+4>>2]=c[m+4>>2];m=c[t>>2]|0;c[t>>2]=m+8;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];m=c[t>>2]|0;c[t>>2]=m+8;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];m=(c[t>>2]|0)+-32|0;t=a[(c[e+16>>2]|0)+18>>0]&1;y=e+38|0;s=(b[y>>1]|0)+1<<16>>16;b[y>>1]=s;if((s&65535)>199){if(s<<16>>16==200)lc(e,45525,k);if((s&65535)>224)jc(e,6)}s=t<<24>>24!=0;if(!s){t=e+36|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}if(!(pc(e,m,0)|0))qc(e);if(!s){s=e+36|0;b[s>>1]=(b[s>>1]|0)+-1<<16>>16}b[y>>1]=(b[y>>1]|0)+-1<<16>>16;Fa=i;return}else if((r|0)==47)lc(e,45992,j);if((r|0)==15)if((q|0)==2099900){E=yc(e,p,g)|0;F=p}else{E=q;F=p}c[E>>2]=c[h>>2];q=h+4|0;c[E+4>>2]=c[q>>2];a[F+6>>0]=0;if(!(c[q>>2]&64)){Fa=i;return}if(!(a[(c[h>>2]|0)+5>>0]&3)){Fa=i;return}h=p+5|0;q=a[h>>0]|0;if(!(q&4)){Fa=i;return}F=c[l>>2]|0;a[h>>0]=q&-5;q=F+76|0;c[p+24>>2]=c[q>>2];c[q>>2]=p;Fa=i;return}function uc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=d+5|0;a[e>>0]=a[e>>0]&-4;switch(a[d+4>>0]|0){case 20:case 4:{f=(c[d+12>>2]|0)+17|0;break}case 7:{g=c[d+8>>2]|0;if(g|0?a[g+5>>0]&3:0)uc(b,g);g=c[d+12>>2]|0;if(g|0?a[g+5>>0]&3:0)uc(b,g);f=(c[d+16>>2]|0)+24|0;break}case 10:{g=d+8|0;h=c[g>>2]|0;if((c[h+4>>2]&64|0)!=0?(i=c[h>>2]|0,(a[i+5>>0]&3)!=0):0){uc(b,i);j=c[g>>2]|0}else j=h;if((j|0)==(d+12|0))f=20;else return;break}case 6:{j=b+72|0;c[d+8>>2]=c[j>>2];c[j>>2]=d;return}case 38:{j=b+72|0;c[d+8>>2]=c[j>>2];c[j>>2]=d;return}case 5:{j=b+72|0;c[d+24>>2]=c[j>>2];c[j>>2]=d;return}case 8:{j=b+72|0;c[d+60>>2]=c[j>>2];c[j>>2]=d;return}case 9:{j=b+72|0;c[d+72>>2]=c[j>>2];c[j>>2]=d;return}default:return}a[e>>0]=a[e>>0]|4;e=b+16|0;c[e>>2]=(c[e>>2]|0)+f;return}function vc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;f=b+12|0;g=c[f>>2]|0;h=g+50|0;i=a[h>>0]|0;j=(e|0)!=0;if(!j){a[h>>0]=0;e=g+92|0;k=c[e>>2]|0;if(k){l=k;do{k=l+5|0;a[k>>0]=a[k>>0]&-65;k=c[f>>2]|0;m=k+92|0;n=c[m>>2]|0;c[m>>2]=c[n>>2];m=k+56|0;c[n>>2]=c[m>>2];c[m>>2]=n;m=n+5|0;n=a[m>>0]|0;a[m>>0]=n&-17;if((d[k+49>>0]|0)>=2)a[m>>0]=a[k+48>>0]&3|n&-88;l=c[e>>2]|0}while((l|0)!=0);if((a[h>>0]|0)==2)o=10;else o=9}else o=9}else{a[h>>0]=1;o=9}if((o|0)==9?(d[g+49>>0]|0)<2:0)o=10;if((o|0)==10){o=c[f>>2]|0;a[o+49>>0]=2;c[o+52>>2]=0;l=o+60|0;e=d[o+48>>0]|0;n=(a[o+50>>0]|0)==2;k=c[l>>2]|0;a:do if(!k)p=0;else{m=n?64:0;q=n?64:e&3;r=n?255:184;s=e;t=k;while(1){u=s^3;v=l;w=1;x=t;while(1){if(!w)break;w=w+-1|0;y=x+5|0;z=d[y>>0]|0;if(!((z^3)&u)){c[v>>2]=c[x>>2];Zc(b,x);A=v}else{if(m&z|0){p=0;break a}if((a[x+4>>0]|0)==8)_c(b,x);a[y>>0]=r&z|q;A=x}x=c[A>>2]|0;if(!x){p=0;break a}else v=A}if((v|0)!=(l|0)){p=v;break a}x=c[f>>2]|0;u=d[x+48>>0]|0;w=(a[x+50>>0]|0)==2;t=c[l>>2]|0;if(!t){p=0;break}else{m=w?64:0;q=w?64:u&3;r=w?255:184;s=u}}}while(0);c[o+68>>2]=p;p=o+56|0;b:while(1){l=c[f>>2]|0;A=d[l+48>>0]|0;k=A^3;e=(a[l+50>>0]|0)==2;l=e?255:184;n=e?64:A&3;A=e?64:0;e=c[p>>2]|0;if(!e){C=0;break}s=p;r=1;q=e;while(1){if(!r)break;r=r+-1|0;e=q+5|0;m=d[e>>0]|0;if(!((m^3)&k)){c[s>>2]=c[q>>2];Zc(b,q);D=s}else{if(A&m|0){C=0;break b}if((a[q+4>>0]|0)==8)_c(b,q);a[e>>0]=l&m|n;D=q}q=c[D>>2]|0;if(!q){C=0;break b}else s=D}if((s|0)!=(p|0)){C=s;break}}c[o+64>>2]=C}C=(c[f>>2]|0)+49|0;if((a[C>>0]|0)==5){E=C;F=5}else{do Tc(b)|0;while((a[C>>0]|0)!=5);C=(c[f>>2]|0)+49|0;E=C;F=a[C>>0]|0}if(!(1<<(F&255)&-33)){do Tc(b)|0;while(!(1<<d[E>>0]&-33|0));C=(c[f>>2]|0)+49|0;G=C;H=a[C>>0]|0}else{G=E;H=F}if(H<<24>>24!=5)do Tc(b)|0;while((a[G>>0]|0)!=5);if(i<<24>>24==2?(G=(c[f>>2]|0)+49|0,a[G>>0]|0):0)do Tc(b)|0;while((a[G>>0]|0)!=0);a[h>>0]=i;i=g+8|0;h=g+12|0;G=(c[h>>2]|0)+(c[i>>2]|0)|0;b=(G|0)/100|0;H=c[g+128>>2]|0;g=B(b,0-H|0)|0;F=(H|0)<(2147483644/(b|0)|0|0)?g:-2147483644;c[i>>2]=0-F;c[h>>2]=F+G;if(j)return;j=(c[f>>2]|0)+92|0;G=c[j>>2]|0;if(!G)return;F=G;do{G=F+5|0;a[G>>0]=a[G>>0]&-65;G=c[f>>2]|0;h=G+92|0;i=c[h>>2]|0;c[h>>2]=c[i>>2];h=G+56|0;c[i>>2]=c[h>>2];c[h>>2]=i;h=i+5|0;i=a[h>>0]|0;a[h>>0]=i&-17;if((d[G+49>>0]|0)>=2)a[h>>0]=a[G+48>>0]&3|i&-88;F=c[j>>2]|0}while((F|0)!=0);return}function wc(a){a=a|0;var b=0;b=Fa;Fa=Fa+16|0;lc(a,45947,b)}function xc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b+4|0;f=c[e>>2]|0;switch(f&63){case 4:{g=c[b>>2]|0;h=(c[a+16>>2]|0)+(((1<<(d[a+7>>0]|0))+-1&c[g+8>>2])*20|0)|0;while(1){if((c[h+12>>2]|0)==68?(c[h+8>>2]|0)==(g|0):0)break;i=c[h+16>>2]|0;if(!i){j=2099900;k=21;break}else h=i}if((k|0)==21)return j|0;j=h;return j|0}case 3:{h=c[b>>2]|0;if((f|0)==3?!(h>>>0>4294901759|((h&65535|0)!=0|(h+-65536|0)>>>0>2147352576)):0){f=(h>>>16)+-1|0;if(f>>>0<(c[a+28>>2]|0)>>>0){j=(c[a+12>>2]|0)+(f<<3)|0;return j|0}f=h&-65536;h=0-f|0;g=(c[a+16>>2]|0)+(((((f|0)<0?((f|0)==(h|0)?0:h):f)|0)%((1<<(d[a+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[g+12>>2]|0)==3?(c[g+8>>2]|0)==(f|0):0)break;h=c[g+16>>2]|0;if(!h){j=2099900;k=21;break}else g=h}if((k|0)==21)return j|0;j=g;return j|0}break}case 0:{j=2099900;return j|0}default:{}}g=gd(a,b)|0;while(1){if((c[g+12>>2]|0)==(c[e>>2]|0)?Ec(0,g+8|0,b)|0:0)break;a=c[g+16>>2]|0;if(!a){j=2099900;k=21;break}else g=a}if((k|0)==21)return j|0;j=g;return j|0}function yc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;g=Fa;Fa=Fa+144|0;h=g;i=f+4|0;if(!(c[i>>2]|0))lc(b,45928,g+128|0);j=gd(e,f)|0;k=j+4|0;a:do if((j|0)==2099924|(c[k>>2]|0)!=0){l=e+20|0;m=c[l>>2]|0;n=c[e+16>>2]|0;b:do if(m>>>0>n>>>0){o=m;while(1){p=o+-20|0;c[l>>2]=p;if(!(c[o+-8>>2]|0))break;if(p>>>0>n>>>0)o=p;else break b}q=gd(e,j+8|0)|0;if((q|0)==(j|0)){r=j+16|0;c[o+-4>>2]=c[r>>2];c[r>>2]=p;s=p;break a}r=q;while(1){q=c[r+16>>2]|0;if((q|0)==(j|0))break;else r=q}c[r+16>>2]=p;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];c[p+16>>2]=c[j+16>>2];c[j+16>>2]=0;c[k>>2]=0;s=j;break a}while(0);l=h;m=l+124|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=e+12|0;m=c[e+28>>2]|0;o=1;q=0;t=1;u=0;while(1){if((t|0)>(m|0))if((o|0)>(m|0)){v=q;break}else w=m;else w=t;if((o|0)>(w|0)){x=0;y=o}else{z=c[l>>2]|0;A=0;B=o;while(1){C=A+((c[z+(B+-1<<3)+4>>2]|0)!=0&1)|0;D=B+1|0;if((B|0)<(w|0)){A=C;B=D}else{x=C;y=D;break}}}B=h+(u<<2)|0;c[B>>2]=(c[B>>2]|0)+x;B=x+q|0;u=u+1|0;if(u>>>0>=31){v=B;break}else{o=y;q=B;t=t<<1}}t=0;q=0;o=1<<(d[e+7>>0]|0);while(1){o=o+-1|0;if(!(c[n+(o*20|0)+4>>2]|0)){E=q;F=t}else{if(((c[n+(o*20|0)+12>>2]|0)==3?(u=c[n+(o*20|0)+8>>2]|0,!((u&65535|0)!=0|(u+-65536|0)>>>0>2147352576)):0)?(l=(u>>>16)+-1|0,l>>>0<32767):0){if(l>>>0>255){u=l;m=0;while(1){B=m+8|0;A=u>>>8;if(u>>>0>65535){u=A;m=B}else{G=B;H=A;break}}}else{G=0;H=l}m=h+(G+(d[400+H>>0]|0)<<2)|0;c[m>>2]=(c[m>>2]|0)+1;I=1}else I=0;E=q+1|0;F=I+t|0}if(!o)break;else{t=F;q=E}}q=F+v|0;if(((c[i>>2]|0)==3?(t=c[f>>2]|0,!((t&65535|0)!=0|(t+-65536|0)>>>0>2147352576)):0)?(o=(t>>>16)+-1|0,o>>>0<32767):0){if(o>>>0>255){t=o;n=0;while(1){m=n+8|0;u=t>>>8;if(t>>>0>65535){t=u;n=m}else{J=m;K=u;break}}}else{J=0;K=o}n=h+(J+(d[400+K>>0]|0)<<2)|0;c[n>>2]=(c[n>>2]|0)+1;L=1}else L=0;n=q+L|0;c:do if((n|0)>0){t=0;u=0;m=1;A=0;B=0;z=0;while(1){r=c[h+(A<<2)>>2]|0;D=(r|0)>0;C=r+u|0;u=D?C:u;r=D&(C|0)>(z|0);D=r?C:t;C=r?m:B;if((u|0)==(n|0)){M=C;N=D;break c}z=m&2147483647;if((z|0)>=(n|0)){M=C;N=D;break}else{t=D;m=m<<1;A=A+1|0;B=C}}}else{M=0;N=0}while(0);Ic(b,e,M,v+1+E-N|0);n=xc(e,f)|0;if((n|0)!=2099900){O=n;Fa=g;return O|0}O=yc(b,e,f)|0;Fa=g;return O|0}else s=j;while(0);c[s+8>>2]=c[f>>2];c[s+12>>2]=c[i>>2];if((c[i>>2]&64|0?a[(c[f>>2]|0)+5>>0]&3:0)?(f=e+5|0,i=a[f>>0]|0,i&4):0){j=c[b+12>>2]|0;a[f>>0]=i&-5;i=j+76|0;c[e+24>>2]=c[i>>2];c[i>>2]=e}O=s;Fa=g;return O|0}function zc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=b+12|0;f=c[e>>2]|0;do if((a[f+50>>0]|0)==2){g=f+20|0;h=c[g>>2]|0;if(!h){vc(b,0);i=f+8|0;j=f+12|0;k=(c[j>>2]|0)+(c[i>>2]|0)|0;l=j;m=k;n=i;o=f+49|0;p=k}else{k=f+49|0;if((a[k>>0]|0)!=5)do Tc(b)|0;while((a[k>>0]|0)!=5);a[k>>0]=0;i=f+8|0;j=f+12|0;q=(c[j>>2]|0)+(c[i>>2]|0)|0;r=q>>>0>(B(c[f+132>>2]|0,(h>>>0)/100|0)|0)>>>0;l=j;m=q;n=i;o=k;p=r?0:h}c[g>>2]=p;r=(m|0)/100|0;i=c[f+128>>2]|0;q=B(r,0-i|0)|0;j=(i|0)<(2147483644/(r|0)|0|0)?q:-2147483644;c[n>>2]=0-j;c[l>>2]=j+m;s=o}else{j=f+12|0;q=c[f+136>>2]|0;r=(q|0)>40?q:40;q=((c[j>>2]|0)/200|0)+1|0;i=B(r,q)|0;t=f+49|0;u=(q|0)<(2147483644/(r>>>0)|0|0)?i:2147483644;do{u=u-(Tc(b)|0)|0;v=(a[t>>0]|0)==5;if((u|0)<=-1600){w=12;break}}while(!v);if((w|0)==12?!v:0){g=((u|0)/(r|0)|0)*200|0;h=f+8|0;c[h>>2]=(c[j>>2]|0)-g+(c[h>>2]|0);c[j>>2]=g;s=t;break}g=(c[f+20>>2]|0)/100|0;h=c[f+128>>2]|0;k=f+8|0;i=B(h,0-g|0)|0;q=(h|0)<(2147483644/(g|0)|0|0)?i:-2147483644;i=(c[j>>2]|0)+(c[k>>2]|0)+q|0;c[k>>2]=0-q;c[j>>2]=i;s=t}while(0);v=f+92|0;if(!(c[v>>2]|0))return;f=0;while(1){if(f>>>0>=4?(a[s>>0]|0)!=5:0){w=22;break}b=c[e>>2]|0;o=b+92|0;m=c[o>>2]|0;c[o>>2]=c[m>>2];o=b+56|0;c[m>>2]=c[o>>2];c[o>>2]=m;o=m+5|0;m=a[o>>0]|0;a[o>>0]=m&-17;if((d[b+49>>0]|0)>=2)a[o>>0]=a[b+48>>0]&3|m&-88;if(!(c[v>>2]|0)){w=22;break}else f=f+1|0}if((w|0)==22)return}function Ac(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=Fa;Fa=Fa+16|0;h=g+8|0;i=g;j=c[d+4>>2]|0;do if((j|0)!=3){if((j&15|0)==4?(k=c[d>>2]|0,Hc(k+16|0,c[k+12>>2]|0,h)|0):0){c[i>>2]=c[h>>2];c[i+4>>2]=3;l=i;m=6;break}}else{l=d;m=6}while(0);a:do if((m|0)==6){i=c[e+4>>2]|0;do if((i|0)==3)n=e;else{if((i&15|0)==4?(j=c[e>>2]|0,Hc(j+16|0,c[j+12>>2]|0,h)|0):0){n=h;break}break a}while(0);c[b>>2]=dd(f+-6|0,c[l>>2]|0,c[n>>2]|0)|0;c[b+4>>2]=3;Fa=g;return}while(0);if(!(Lc(a,d,e,b,f)|0))ed(a,d,e);else{Fa=g;return}}function Bc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=Fa;Fa=Fa+16|0;i=h;j=g+4|0;k=c[j>>2]|0;a:do switch(k&15){case 5:{l=c[g>>2]|0;m=c[l+8>>2]|0;do if(m|0?(n=m+6|0,o=a[n>>0]|0,(o&16)==0):0){p=c[(c[e+12>>2]|0)+172>>2]|0;q=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[p+8>>2])*20|0)|0;while(1){if((c[q+12>>2]|0)==68?(c[q+8>>2]|0)==(p|0):0){r=7;break}s=c[q+16>>2]|0;if(!s){t=2099900;break}else q=s}if((r|0)==7)t=q;p=t+4|0;if(c[p>>2]|0)if(!t)break;else{u=t;v=p;break a}else{a[n>>0]=o|16;break}}while(0);c[f>>2]=(cd(l)|0)<<16;c[f+4>>2]=3;Fa=h;return}case 4:{c[f>>2]=c[(c[g>>2]|0)+12>>2]<<16;c[f+4>>2]=3;Fa=h;return}case 7:{w=(c[g>>2]|0)+8|0;r=16;break}default:{w=(c[e+12>>2]|0)+276+((k&15)<<2)|0;r=16}}while(0);if((r|0)==16){r=c[w>>2]|0;b:do if(!r)x=2099900;else{w=c[(c[e+12>>2]|0)+172>>2]|0;k=(c[r+16>>2]|0)+(((1<<(d[r+7>>0]|0))+-1&c[w+8>>2])*20|0)|0;while(1){if((c[k+12>>2]|0)==68?(c[k+8>>2]|0)==(w|0):0)break;t=c[k+16>>2]|0;if(!t){x=2099900;break b}else k=t}x=k}while(0);r=x+4|0;if(!(c[r>>2]|0))Qc(e,g,45892);else{u=x;v=r}}r=e+28|0;x=f-(c[r>>2]|0)|0;f=e+8|0;w=c[f>>2]|0;c[f>>2]=w+8;c[w>>2]=c[u>>2];c[w+4>>2]=c[v>>2];v=c[f>>2]|0;c[f>>2]=v+8;c[v>>2]=c[g>>2];c[v+4>>2]=c[j>>2];v=c[f>>2]|0;c[f>>2]=v+8;c[v>>2]=c[g>>2];c[v+4>>2]=c[j>>2];j=(c[f>>2]|0)+-24|0;v=a[(c[e+16>>2]|0)+18>>0]&1;g=e+38|0;w=(b[g>>1]|0)+1<<16>>16;b[g>>1]=w;if((w&65535)>199){if(w<<16>>16==200)lc(e,45525,i);if((w&65535)>224)jc(e,6)}w=v<<24>>24!=0;if(!w){v=e+36|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}if(!(pc(e,j,1)|0))qc(e);if(!w){w=e+36|0;b[w>>1]=(b[w>>1]|0)+-1<<16>>16}b[g>>1]=(b[g>>1]|0)+-1<<16>>16;g=(c[r>>2]|0)+x|0;x=c[f>>2]|0;r=x+-8|0;c[f>>2]=r;c[g>>2]=c[r>>2];c[g+4>>2]=c[x+-4>>2];Fa=h;return}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=Fa;Fa=Fa+48|0;f=e+32|0;g=e;h=b+8|0;i=b+12|0;j=d;d=c[h>>2]|0;a:while(1){k=d+-16|0;l=d+-12|0;m=c[l>>2]|0;n=d+-8|0;do if((m|0)==3|(m&15|0)==4){o=d+-4|0;p=c[o>>2]|0;if((p&15|0)==4){q=c[n>>2]|0;r=q;s=p;t=q;u=m}else{if((p|0)!=3){v=16;break}p=Nc(g,c[n>>2]|0)|0;if(p>>>0<41)w=Oc(b,g,p)|0;else{if((p+1|0)>>>0>4294967277){v=9;break a}q=c[i>>2]|0;x=c[q+44>>2]|0;y=p+17|0;z=q+4|0;A=Ma[c[q>>2]&1](c[z>>2]|0,0,4,y)|0;if((y|0)!=0&(A|0)==0){if(!(a[q+51>>0]|0)){v=13;break a}vc(b,1);B=Ma[c[q>>2]&1](c[z>>2]|0,0,4,y)|0;if(!B){v=13;break a}else C=B}else C=A;A=q+12|0;c[A>>2]=(c[A>>2]|0)+y;y=q+56|0;a[C+5>>0]=a[q+48>>0]&3;a[C+4>>0]=20;c[C>>2]=c[y>>2];c[y>>2]=C;c[C+12>>2]=p;c[C+8>>2]=x;a[C+6>>0]=0;x=C+16|0;Xu(x|0,g|0,p|0)|0;a[x+p>>0]=0;w=C}c[n>>2]=w;p=(a[w+4>>0]|64)&255;c[o>>2]=p;r=w;s=p;t=w;u=c[l>>2]|0}p=c[t+12>>2]|0;o=(u&15|0)==4;if(!p){if(!((u|0)==3&(o^1))){D=2;break}x=Nc(g,c[k>>2]|0)|0;if(x>>>0<41)E=Oc(b,g,x)|0;else{if((x+1|0)>>>0>4294967277){v=23;break a}y=c[i>>2]|0;q=c[y+44>>2]|0;A=x+17|0;B=y+4|0;z=Ma[c[y>>2]&1](c[B>>2]|0,0,4,A)|0;if((A|0)!=0&(z|0)==0){if(!(a[y+51>>0]|0)){v=27;break a}vc(b,1);F=Ma[c[y>>2]&1](c[B>>2]|0,0,4,A)|0;if(!F){v=27;break a}else G=F}else G=z;z=y+12|0;c[z>>2]=(c[z>>2]|0)+A;A=y+56|0;a[G+5>>0]=a[y+48>>0]&3;a[G+4>>0]=20;c[G>>2]=c[A>>2];c[A>>2]=G;c[G+12>>2]=x;c[G+8>>2]=q;a[G+6>>0]=0;q=G+16|0;Xu(q|0,g|0,x|0)|0;a[q+x>>0]=0;E=G}c[k>>2]=E;c[l>>2]=(a[E+4>>0]|64)&255;D=2;break}if(o?(c[(c[k>>2]|0)+12>>2]|0)==0:0){c[k>>2]=r;c[l>>2]=s;D=2;break}b:do if((j|0)>1){o=p;x=1;while(1){q=d+(0-x<<3)+-8|0;A=q+4|0;y=c[A>>2]|0;if((y&15|0)==4)H=c[q>>2]|0;else{if((y|0)!=3){I=o;J=x;break b}y=Nc(g,c[q>>2]|0)|0;if(y>>>0<41)K=Oc(b,g,y)|0;else{if((y+1|0)>>>0>4294967277){v=41;break a}z=c[i>>2]|0;F=c[z+44>>2]|0;B=y+17|0;L=z+4|0;M=Ma[c[z>>2]&1](c[L>>2]|0,0,4,B)|0;if((B|0)!=0&(M|0)==0){if(!(a[z+51>>0]|0)){v=45;break a}vc(b,1);N=Ma[c[z>>2]&1](c[L>>2]|0,0,4,B)|0;if(!N){v=45;break a}else O=N}else O=M;M=z+12|0;c[M>>2]=(c[M>>2]|0)+B;B=z+56|0;a[O+5>>0]=a[z+48>>0]&3;a[O+4>>0]=20;c[O>>2]=c[B>>2];c[B>>2]=O;c[O+12>>2]=y;c[O+8>>2]=F;a[O+6>>0]=0;F=O+16|0;Xu(F|0,g|0,y|0)|0;a[F+y>>0]=0;K=O}c[q>>2]=K;c[A>>2]=(a[K+4>>0]|64)&255;H=K}A=c[H+12>>2]|0;if(A>>>0>=(-3-o|0)>>>0){v=49;break a}q=A+o|0;A=x+1|0;if((A|0)<(j|0)){o=q;x=A}else{I=q;J=A;break}}}else{I=p;J=1}while(0);p=c[i>>2]|0;x=p+116|0;o=p+124|0;A=c[o>>2]|0;if(A>>>0<I>>>0){q=I>>>0>32?I:32;if((q+1|0)>>>0>4294967293){v=54;break a}y=c[x>>2]|0;F=(y|0)==0;B=p+4|0;z=Ma[c[p>>2]&1](c[B>>2]|0,y,A,q)|0;if(!z){if(!(a[p+51>>0]|0)){v=58;break a}vc(b,1);M=Ma[c[p>>2]&1](c[B>>2]|0,y,A,q)|0;if(!M){v=58;break a}else P=M}else P=z;z=p+12|0;c[z>>2]=(F?0:0-A|0)+q+(c[z>>2]|0);c[x>>2]=P;c[o>>2]=q;Q=P}else Q=c[x>>2]|0;x=0;q=J;while(1){o=c[d+(0-q<<3)>>2]|0;z=c[o+12>>2]|0;Xu(Q+x|0,o+16|0,z|0)|0;c[524978]=(c[524978]|0)+(z>>>5);x=z+x|0;if((q|0)<=1)break;else q=q+-1|0}q=0-J|0;z=d+(q<<3)|0;if(x>>>0<41)R=Oc(b,Q,x)|0;else{if((x+1|0)>>>0>4294967277){v=65;break a}o=c[i>>2]|0;A=c[o+44>>2]|0;F=x+17|0;p=o+4|0;M=Ma[c[o>>2]&1](c[p>>2]|0,0,4,F)|0;if((F|0)!=0&(M|0)==0){if(!(a[o+51>>0]|0)){v=69;break a}vc(b,1);y=Ma[c[o>>2]&1](c[p>>2]|0,0,4,F)|0;if(!y){v=69;break a}else S=y}else S=M;M=o+12|0;c[M>>2]=(c[M>>2]|0)+F;F=o+56|0;a[S+5>>0]=a[o+48>>0]&3;a[S+4>>0]=20;c[S>>2]=c[F>>2];c[F>>2]=S;c[S+12>>2]=x;c[S+8>>2]=A;a[S+6>>0]=0;A=S+16|0;Xu(A|0,Q|0,x|0)|0;a[A+x>>0]=0;R=S}c[z>>2]=R;c[d+(q<<3)+4>>2]=(a[R+4>>0]|64)&255;D=J}else v=16;while(0);if((v|0)==16){v=0;if(!(Lc(b,k,n,k,28)|0)){v=17;break}else D=2}j=j+1-D|0;d=(c[h>>2]|0)+(1-D<<3)|0;c[h>>2]=d;if((j|0)<=1){v=73;break}}switch(v|0){case 9:{wc(b);break}case 13:{jc(b,4);break}case 17:{Pc(b,k,n);break}case 23:{wc(b);break}case 27:{jc(b,4);break}case 41:{wc(b);break}case 45:{jc(b,4);break}case 49:{lc(b,45723,f);break}case 54:{wc(b);break}case 58:{jc(b,4);break}case 65:{wc(b);break}case 69:{jc(b,4);break}case 73:{Fa=e;return}}}
+function _d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=c[a>>2]|0;e=a+28|0;f=c[e>>2]|0;g=a+20|0;h=c[g>>2]|0;do if((f|0)!=-1){i=c[d+12>>2]|0;j=f;while(1){k=i+(j<<2)|0;l=c[k>>2]|0;m=(l>>>14)+-131071|0;n=j;j=(m|0)==-1?-1:j+1+m|0;if((n|0)>0?(m=k+-4|0,o=c[m>>2]|0,((o&63)+-37|0)>>>0<5):0){p=m;q=o}else{p=k;q=l}if((q&63|0)==41){c[p>>2]=q&8372224|q>>>23<<6|40;o=h+~n|0;if((((o|0)>-1?o:0-o|0)|0)>131071){r=8;break}s=c[k>>2]&16383;t=(o<<14)+2147467264|0}else{o=h+~n|0;if((((o|0)>-1?o:0-o|0)|0)>131071){r=11;break}s=(o<<14)+2147467264|0;t=l&16383}c[k>>2]=s|t;if((j|0)==-1){r=14;break}}if((r|0)==8)be(c[a+12>>2]|0,46263);else if((r|0)==11)be(c[a+12>>2]|0,46263);else if((r|0)==14){u=c[g>>2]|0;break}}else u=h;while(0);c[e>>2]=-1;e=d+48|0;if((u|0)<(c[e>>2]|0)){v=c[d+12>>2]|0;w=u}else{u=d+12|0;h=ce(c[(c[a+12>>2]|0)+32>>2]|0,c[u>>2]|0,e,4,2147483645,46611)|0;c[u>>2]=h;v=h;w=c[g>>2]|0}c[v+(w<<2)>>2]=b;b=c[g>>2]|0;w=d+52|0;v=a+12|0;if((b|0)<(c[w>>2]|0)){x=d+20|0;y=b;z=c[v>>2]|0;A=z+8|0;B=c[A>>2]|0;C=c[x>>2]|0;D=C+(y<<2)|0;c[D>>2]=B;E=c[g>>2]|0;F=E+1|0;c[g>>2]=F;return E|0}else{b=d+20|0;c[b>>2]=ce(c[(c[v>>2]|0)+32>>2]|0,c[b>>2]|0,w,4,2147483645,46611)|0;x=b;y=c[g>>2]|0;z=c[v>>2]|0;A=z+8|0;B=c[A>>2]|0;C=c[x>>2]|0;D=C+(y<<2)|0;c[D>>2]=B;E=c[g>>2]|0;F=E+1|0;c[g>>2]=F;return E|0}return 0}function $d(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=e+16|0;g=c[f>>2]|0;h=e+12|0;i=c[h>>2]|0;do if(c[g>>2]|0?a[g+9>>0]|0:0){j=e+28|0;k=c[j>>2]|0;c[j>>2]=-1;l=_d(e,2147450916)|0;do if((k|0)!=-1){if((l|0)==-1){m=k;n=d[g+8>>0]|0;break}o=c[(c[e>>2]|0)+12>>2]|0;p=l;while(1){q=o+(p<<2)|0;r=c[q>>2]|0;s=(r>>>14)+-131071|0;t=(s|0)==-1?-1:p+1+s|0;if((t|0)==-1)break;else p=t}o=k+~p|0;if((((o|0)>-1?o:0-o|0)|0)>131071)be(c[h>>2]|0,46263);else{c[q>>2]=(o<<14)+2147467264|r&16383;u=11;break}}else u=11;while(0);if((u|0)==11){k=d[g+8>>0]|0;if((l|0)==-1){c[e+24>>2]=c[e+20>>2];break}else{m=l;n=k}}k=c[(c[e>>2]|0)+12>>2]|0;o=(n<<6)+64&16320;t=m;do{s=k+(t<<2)|0;v=c[s>>2]|0;w=(v>>>14)+-131071|0;c[s>>2]=v&-16321|o;t=(w|0)==-1?-1:t+1+w|0}while((t|0)!=-1);c[e+24>>2]=c[e+20>>2];t=c[j>>2]|0;if((t|0)==-1){c[j>>2]=m;break}o=t;while(1){x=k+(o<<2)|0;y=c[x>>2]|0;t=(y>>>14)+-131071|0;l=(t|0)==-1?-1:o+1+t|0;if((l|0)==-1)break;else o=l}k=m+~o|0;if((((k|0)>-1?k:0-k|0)|0)>131071)be(c[h>>2]|0,46263);else{c[x>>2]=(k<<14)+2147467264|y&16383;break}}while(0);if(a[g+10>>0]|0){y=i+32|0;x=Oc(c[y>>2]|0,56767,5)|0;m=i+44|0;n=c[m>>2]|0;r=n+24|0;q=i+28|0;k=c[q>>2]|0;j=c[k+20>>2]|0;l=n+28|0;t=c[l>>2]|0;w=n+32|0;if((t|0)<(c[w>>2]|0)){z=k;A=t;B=n;C=c[r>>2]|0}else{n=ce(c[y>>2]|0,c[r>>2]|0,w,16,32767,46290)|0;c[r>>2]=n;z=c[q>>2]|0;A=c[l>>2]|0;B=c[m>>2]|0;C=n}c[C+(t<<4)>>2]=x;c[C+(t<<4)+8>>2]=0;a[C+(t<<4)+12>>0]=a[z+46>>0]|0;c[C+(t<<4)+4>>2]=j;c[l>>2]=A+1;A=(c[B+24>>2]|0)+(t<<4)|0;t=b[(c[z+16>>2]|0)+6>>1]|0;z=B+16|0;l=c[z>>2]|0;if((l|0)>(t|0)){j=B+12|0;B=t;t=l;while(1){l=c[(c[j>>2]|0)+(B<<4)>>2]|0;C=c[A>>2]|0;x=a[l+4>>0]|0;do if(x<<24>>24==(a[C+4>>0]|0)){if(x<<24>>24==4){if((l|0)!=(C|0)){u=35;break}}else{n=c[l+12>>2]|0;if((l|0)!=(C|0)){if((n|0)!=(c[C+12>>2]|0)){u=35;break}if(ss(l+16|0,C+16|0,n)|0){u=35;break}}}de(i,B,A);D=B;E=c[z>>2]|0}else u=35;while(0);if((u|0)==35){u=0;D=B+1|0;E=t}if((D|0)<(E|0)){B=D;t=E}else break}}}E=c[g>>2]|0;c[f>>2]=E;f=g+8|0;t=a[f>>0]|0;D=e+46|0;B=a[D>>0]|0;u=B&255;z=c[(c[h>>2]|0)+44>>2]|0;A=z+4|0;c[A>>2]=(t&255)-u+(c[A>>2]|0);if((t&255)<(B&255)){A=c[e+20>>2]|0;j=c[e+40>>2]|0;C=c[(c[e>>2]|0)+24>>2]|0;l=c[z>>2]|0;x=u;while(1){u=(x&255)+-1<<24>>24;c[C+((b[l+(j+(u&255)<<1)>>1]|0)*12|0)+8>>2]=A;if((u&255)>(t&255))x=x+-1|0;else break}a[D>>0]=t;F=t}else F=B;a[e+48>>0]=F;F=c[i+44>>2]|0;c[F+28>>2]=b[g+4>>1];B=b[g+6>>1]|0;if(!E)if((c[F+16>>2]|0)>(B|0))fe(i,(c[F+12>>2]|0)+(B<<4)|0);else return;F=z+16|0;if((c[F>>2]|0)<=(B|0))return;i=z+12|0;z=g+9|0;g=B;B=t;while(1){t=c[i>>2]|0;E=t+(g<<4)+12|0;D=B&255;if((d[E>>0]|0)>(B&255)){if(a[z>>0]|0?(x=c[t+(g<<4)+4>>2]|0,(x|0)!=-1):0){t=c[(c[e>>2]|0)+12>>2]|0;A=(D<<6)+64&16320;D=x;do{x=t+(D<<2)|0;j=c[x>>2]|0;l=(j>>>14)+-131071|0;c[x>>2]=j&-16321|A;D=(l|0)==-1?-1:D+1+l|0}while((D|0)!=-1)}a[E>>0]=B}D=g+((ee(c[h>>2]|0,g)|0)==0&1)|0;if((D|0)>=(c[F>>2]|0))break;g=D;B=a[f>>0]|0}return}function ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c[b+32>>2]|0;g=id(f,d,e)|0;e=f+8|0;d=c[e>>2]|0;c[e>>2]=d+8;c[d>>2]=g;c[d+4>>2]=(a[g+4>>0]|64)&255;d=c[(c[b+28>>2]|0)+4>>2]|0;b=(c[e>>2]|0)+-8|0;h=xc(d,b)|0;if((h|0)==2099900)i=yc(f,d,b)|0;else i=h;h=i+4|0;do if(!(c[h>>2]|0)){c[i>>2]=1;c[h>>2]=1;b=c[f+12>>2]|0;d=b+12|0;j=c[d>>2]|0;if((j|0)>0)if(!(a[b+51>>0]|0)){k=b+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[d>>2]=-1600;l=g;break}else{zc(f);l=g;break}else l=g}else l=c[i+8>>2]|0;while(0);c[e>>2]=(c[e>>2]|0)+-8;return l|0}function be(a,b){a=a|0;b=b|0;ke(a,b,c[a+12>>2]|0)}function ce(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=Fa;Fa=Fa+16|0;j=i;k=c[e>>2]|0;if((k|0)>=((g|0)/2|0|0))if((k|0)<(g|0))l=g;else{c[j>>2]=h;c[j+4>>2]=g;lc(b,46455,j)}else{j=k<<1;l=(j|0)>4?j:4}if((l+1|0)>>>0>(4294967293/(f>>>0)|0)>>>0)wc(b);j=B(k,f)|0;k=B(l,f)|0;f=c[b+12>>2]|0;g=(d|0)==0;h=f+4|0;m=Ma[c[f>>2]&1](c[h>>2]|0,d,j,k)|0;if(!((k|0)!=0&(m|0)==0)){n=m;o=f+12|0;p=c[o>>2]|0;q=0-j|0;r=g?0:q;s=k+r|0;t=s+p|0;c[o>>2]=t;c[e>>2]=l;Fa=i;return n|0}if(!(a[f+51>>0]|0))jc(b,4);vc(b,1);m=Ma[c[f>>2]&1](c[h>>2]|0,d,j,k)|0;if(!m)jc(b,4);else{n=m;o=f+12|0;p=c[o>>2]|0;q=0-j|0;r=g?0:q;s=k+r|0;t=s+p|0;c[o>>2]=t;c[e>>2]=l;Fa=i;return n|0}return 0}function de(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=Fa;Fa=Fa+16|0;i=h;j=c[e+28>>2]|0;k=c[e+44>>2]|0;l=k+12|0;m=c[l>>2]|0;n=a[m+(f<<4)+12>>0]|0;if((n&255)<(d[g+12>>0]|0)){o=c[(c[(c[j>>2]|0)+24>>2]|0)+((b[(c[c[(c[j+12>>2]|0)+44>>2]>>2]|0)+((c[j+40>>2]|0)+(n&255)<<1)>>1]|0)*12|0)>>2]|0;n=c[e+32>>2]|0;p=(c[m+(f<<4)>>2]|0)+16|0;q=m+(f<<4)+8|0;r=ge(c[q>>2]|0)|0;s=he(c[q>>2]|0)|0;c[i>>2]=p;c[i+4>>2]=r;c[i+8>>2]=s;c[i+12>>2]=o+16;ie(e,hd(n,46390,i)|0)}je(j,c[m+(f<<4)+4>>2]|0,c[g+4>>2]|0);g=k+16|0;k=(c[g>>2]|0)+-1|0;if((k|0)<=(f|0)){t=k;c[g>>2]=t;Fa=h;return}k=f;do{f=c[l>>2]|0;m=f+(k<<4)|0;k=k+1|0;j=f+(k<<4)|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];j=(c[g>>2]|0)+-1|0}while((k|0)<(j|0));t=j;c[g>>2]=t;Fa=h;return}function ee(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=c[e+28>>2]|0;h=c[e+44>>2]|0;i=c[h+12>>2]|0;j=b[(c[g+16>>2]|0)+4>>1]|0;k=c[h+28>>2]|0;if((k|0)<=(j|0)){l=0;return l|0}m=c[h+24>>2]|0;h=c[i+(f<<4)>>2]|0;n=a[h+4>>0]|0;o=h+12|0;p=h+16|0;q=n<<24>>24==4;r=j;a:while(1){s=m+(r<<4)|0;j=c[s>>2]|0;do if((a[j+4>>0]|0)==n<<24>>24){if(q)if((j|0)==(h|0))break a;else break;t=c[j+12>>2]|0;if((j|0)==(h|0))break a;if((t|0)==(c[o>>2]|0)?(ss(j+16|0,p,t)|0)==0:0)break a}while(0);j=r+1|0;if((j|0)<(k|0))r=j;else{l=0;u=15;break}}if((u|0)==15)return l|0;u=a[m+(r<<4)+12>>0]|0;if((d[i+(f<<4)+12>>0]|0)>(u&255)?(r=c[i+(f<<4)+4>>2]|0,(r|0)!=-1):0){i=c[(c[g>>2]|0)+12>>2]|0;g=((u&255)<<6)+64&16320;u=r;do{r=i+(u<<2)|0;m=c[r>>2]|0;k=(m>>>14)+-131071|0;c[r>>2]=m&-16321|g;u=(k|0)==-1?-1:u+1+k|0}while((u|0)!=-1)}de(e,f,s);l=1;return l|0}function fe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Fa;Fa=Fa+16|0;f=e;e=c[d>>2]|0;if((a[e+4>>0]|0)==4)g=(a[e+6>>0]|0)==0?46303:46356;else g=46303;h=c[b+32>>2]|0;i=d+8|0;d=ge(c[i>>2]|0)|0;j=he(c[i>>2]|0)|0;c[f>>2]=e+16;c[f+4>>2]=d;c[f+8>>2]=j;ie(b,hd(h,g,f)|0)}function ge(a){a=a|0;return (Lg(a,0)|0)<<16|0}function he(a){a=a|0;var b=0,d=0;b=Fa;Fa=Fa+16|0;d=b;Lg(a,d)|0;Fa=b;return c[d>>2]<<16|0}function ie(a,b){a=a|0;b=b|0;c[a+12>>2]=0;be(a,b)}function je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c[a+20>>2]|0)==(d|0)){c[a+24>>2]=d;e=a+28|0;if((b|0)==-1)return;f=c[e>>2]|0;if((f|0)==-1){c[e>>2]=b;return}e=c[(c[a>>2]|0)+12>>2]|0;g=f;while(1){h=e+(g<<2)|0;i=c[h>>2]|0;f=(i>>>14)+-131071|0;j=(f|0)==-1?-1:g+1+f|0;if((j|0)==-1)break;else g=j}e=~g+b|0;if((((e|0)>-1?e:0-e|0)|0)>131071)be(c[a+12>>2]|0,46263);c[h>>2]=(e<<14)+2147467264|i&16383;return}if((b|0)==-1)return;i=c[(c[a>>2]|0)+12>>2]|0;e=b;while(1){b=i+(e<<2)|0;h=c[b>>2]|0;g=(h>>>14)+-131071|0;j=e;e=(g|0)==-1?-1:e+1+g|0;if((j|0)>0?(g=b+-4|0,f=c[g>>2]|0,((f&63)+-37|0)>>>0<5):0){k=g;l=f}else{k=b;l=h}if((l&63|0)!=41){f=~j+d|0;if((((f|0)>-1?f:0-f|0)|0)>131071){m=20;break}else{n=f;o=h}}else{c[k>>2]=l&8372224|l>>>23<<6|40;h=~j+d|0;if((((h|0)>-1?h:0-h|0)|0)>131071){m=17;break}n=h;o=c[b>>2]|0}c[b>>2]=o&16383|(n<<14)+2147467264;if((e|0)==-1){m=22;break}}if((m|0)==17)be(c[a+12>>2]|0,46263);else if((m|0)==20)be(c[a+12>>2]|0,46263);else if((m|0)==22)return}function ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=Fa;Fa=Fa+96|0;g=f+88|0;h=f+80|0;i=f+64|0;j=f;f=(c[b+48>>2]|0)+16|0;k=ft(f)|0;a:do switch(a[f>>0]|0){case 61:{l=f+1|0;if(k>>>0>60){m=j;n=l;o=m+59|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));a[j+59>>0]=0;break a}else{Xu(j|0,l|0,k|0)|0;break a}break}case 64:{if(k>>>0>60){a[j>>0]=a[46115]|0;a[j+1>>0]=a[46116]|0;a[j+2>>0]=a[46117]|0;m=j+3|0;n=f+1+k+-57|0;o=m+57|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));break a}else{Xu(j|0,f+1|0,k|0)|0;break a}break}default:{l=rt(f,10)|0;m=j;n=46119;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));p=j+9|0;q=(l|0)==0;if(k>>>0<45&q){Xu(p|0,f|0,k|0)|0;r=p+k|0}else{s=q?k:l-f|0;q=s>>>0<45?s:45;Xu(p|0,f|0,q|0)|0;s=p+q|0;a[s>>0]=a[46115]|0;a[s+1>>0]=a[46116]|0;a[s+2>>0]=a[46117]|0;r=s+3|0};a[r>>0]=a[46129]|0;a[r+1>>0]=a[46130]|0;a[r+2>>0]=a[46131]|0}}while(0);r=b+32|0;f=c[r>>2]|0;k=c[b+4>>2]|0;c[i>>2]=j;c[i+4>>2]=k;c[i+8>>2]=d;d=hd(f,46481,i)|0;if(!e){t=c[r>>2]|0;jc(t,3)}i=c[r>>2]|0;if((e+-287|0)>>>0<3){f=b+40|0;k=c[f>>2]|0;j=k+4|0;n=c[j>>2]|0;m=n+1|0;o=k+8|0;s=c[o>>2]|0;if(m>>>0>s>>>0){if(s>>>0>2147483645)ke(b,46491,0);q=s<<1;if((q|0)==-2)wc(i);p=c[k>>2]|0;u=c[i+12>>2]|0;v=(p|0)==0;w=u+4|0;x=Ma[c[u>>2]&1](c[w>>2]|0,p,s,q)|0;if((q|0)!=0&(x|0)==0){if(!(a[u+51>>0]|0))jc(i,4);vc(i,1);y=Ma[c[u>>2]&1](c[w>>2]|0,p,s,q)|0;if(!y)jc(i,4);else z=y}else z=x;x=u+12|0;c[x>>2]=(v?0:0-s|0)+q+(c[x>>2]|0);c[k>>2]=z;c[o>>2]=q;q=c[j>>2]|0;A=q+1|0;B=z;C=q}else{A=m;B=c[k>>2]|0;C=n}c[j>>2]=A;a[B+C>>0]=0;C=c[r>>2]|0;c[h>>2]=c[c[f>>2]>>2];D=hd(C,46516,h)|0}else D=le(b,e)|0;c[g>>2]=d;c[g+4>>2]=D;hd(i,46521,g)|0;t=c[r>>2]|0;jc(t,3)}function le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=Fa;Fa=Fa+128|0;e=d+112|0;f=d+104|0;g=d+96|0;h=d+88|0;i=d+80|0;j=d+72|0;k=d+64|0;l=d+56|0;m=d+48|0;n=d+40|0;o=d+32|0;p=d+24|0;q=d+16|0;r=d+8|0;s=d;do switch(b|0){case 38:{t=c[a+32>>2]|0;c[s>>2]=46532;u=hd(t,46516,s)|0;Fa=d;return u|0}case 124:{t=c[a+32>>2]|0;c[r>>2]=46534;u=hd(t,46516,r)|0;Fa=d;return u|0}case 295:{t=c[a+32>>2]|0;c[q>>2]=46536;u=hd(t,46516,q)|0;Fa=d;return u|0}case 290:{t=c[a+32>>2]|0;c[p>>2]=46539;u=hd(t,46516,p)|0;Fa=d;return u|0}case 291:{t=c[a+32>>2]|0;c[o>>2]=46542;u=hd(t,46516,o)|0;Fa=d;return u|0}case 292:{t=c[a+32>>2]|0;c[n>>2]=46545;u=hd(t,46516,n)|0;Fa=d;return u|0}case 293:{t=c[a+32>>2]|0;c[m>>2]=46549;u=hd(t,46516,m)|0;Fa=d;return u|0}case 294:{t=c[a+32>>2]|0;c[l>>2]=46553;u=hd(t,46516,l)|0;Fa=d;return u|0}case 126:{t=c[a+32>>2]|0;c[k>>2]=64125;u=hd(t,46516,k)|0;Fa=d;return u|0}case 92:{t=c[a+32>>2]|0;c[j>>2]=46557;u=hd(t,46516,j)|0;Fa=d;return u|0}case 64:{t=c[a+32>>2]|0;c[i>>2]=46559;u=hd(t,46516,i)|0;Fa=d;return u|0}case 296:{t=c[a+32>>2]|0;c[h>>2]=46561;u=hd(t,46516,h)|0;Fa=d;return u|0}case 36:{t=c[a+32>>2]|0;c[g>>2]=46564;u=hd(t,46516,g)|0;Fa=d;return u|0}default:{if((b|0)<257){t=c[a+32>>2]|0;c[f>>2]=b;u=hd(t,46566,f)|0;Fa=d;return u|0}t=c[656+(b+-257<<2)>>2]|0;if((b|0)>=286){u=t;Fa=d;return u|0}v=c[a+32>>2]|0;c[e>>2]=t;u=hd(v,46516,e)|0;Fa=d;return u|0}}while(0);return 0}function me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Fa;Fa=Fa+32|0;f=e+8|0;g=e;h=e+20|0;e=a+12|0;i=c[(c[e>>2]|0)+32>>2]|0;j=c[(c[a>>2]|0)+64>>2]|0;if(!j)k=47073;else{a=(Lg(j,0)|0)<<16;Lg(j,h)|0;j=c[h>>2]<<16;c[g>>2]=a;c[g+4>>2]=j;k=hd(i,47044,g)|0}c[f>>2]=d;c[f+4>>2]=b<<16;c[f+8>>2]=k;k=hd(i,47087,f)|0;be(c[e>>2]|0,k)}function ne(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=Fa;Fa=Fa+32|0;g=f+16|0;h=f;i=d+28|0;j=c[i>>2]|0;k=d+4|0;l=d+8|0;c[l>>2]=c[k>>2];m=d+20|0;if((c[m>>2]|0)==286){n=d+12|0;c[n>>2]=Wd(d,d+16|0)|0;o=n}else{n=m;p=c[n+4>>2]|0;q=d+12|0;c[q>>2]=c[n>>2];c[q+4>>2]=p;c[m>>2]=286;o=d+12|0}pe(d,h,0)|0;if((c[o>>2]|0)!=275)Yd(d,275);c[l>>2]=c[k>>2];if((c[m>>2]|0)==286){p=Wd(d,d+16|0)|0;c[o>>2]=p;r=p}else{p=m;q=c[p>>2]|0;n=c[p+4>>2]|0;p=d+12|0;c[p>>2]=q;c[p+4>>2]=n;c[m>>2]=286;r=q}a:do switch(r|0){case 258:case 266:{Qe(c[i>>2]|0,h);a[g+10>>0]=0;a[g+8>>0]=a[j+46>>0]|0;q=j+12|0;n=c[(c[q>>2]|0)+44>>2]|0;b[g+4>>1]=c[n+28>>2];b[g+6>>1]=c[n+16>>2];a[g+9>>0]=0;n=j+16|0;c[g>>2]=c[n>>2];c[n>>2]=g;n=c[h+8>>2]|0;p=c[k>>2]|0;s=(c[o>>2]|0)==266;c[l>>2]=p;t=(c[m>>2]|0)==286;do if(s){if(t){u=Wd(d,d+16|0)|0;c[o>>2]=u;v=u}else{u=m;w=c[u>>2]|0;x=c[u+4>>2]|0;u=d+12|0;c[u>>2]=w;c[u+4>>2]=x;c[m>>2]=286;v=w}if((v|0)!=288)Yd(d,288);w=d+16|0;x=c[w>>2]|0;c[l>>2]=c[k>>2];if((c[m>>2]|0)==286){c[o>>2]=Wd(d,w)|0;y=x;break}else{w=m;u=c[w+4>>2]|0;z=d+12|0;c[z>>2]=c[w>>2];c[z+4>>2]=u;c[m>>2]=286;y=x;break}}else{if(t)c[o>>2]=Wd(d,d+16|0)|0;else{x=m;u=c[x+4>>2]|0;z=d+12|0;c[z>>2]=c[x>>2];c[z+4>>2]=u;c[m>>2]=286}y=id(c[d+32>>2]|0,56767,5)|0}while(0);t=c[d+44>>2]|0;s=t+12|0;u=t+16|0;z=c[u>>2]|0;x=t+20|0;if((z|0)<(c[x>>2]|0)){A=c[s>>2]|0;B=z}else{t=ce(c[d+32>>2]|0,c[s>>2]|0,x,16,32767,46290)|0;c[s>>2]=t;A=t;B=c[u>>2]|0}c[A+(z<<4)>>2]=y;c[A+(z<<4)+8>>2]=p;a[A+(z<<4)+12>>0]=a[(c[i>>2]|0)+46>>0]|0;c[A+(z<<4)+4>>2]=n;c[u>>2]=B+1;ee(d,z)|0;b:while(1){switch(c[o>>2]|0){case 286:case 262:case 261:case 260:{C=29;break b;break}case 285:case 59:break;default:break b}Xd(d)}if((C|0)==29){$d(j);Fa=f;return}n=j+28|0;p=c[n>>2]|0;c[n>>2]=-1;n=_d(j,2147450916)|0;if((p|0)!=-1)if((n|0)!=-1){z=c[(c[j>>2]|0)+12>>2]|0;u=n;while(1){D=z+(u<<2)|0;E=c[D>>2]|0;t=(E>>>14)+-131071|0;s=(t|0)==-1?-1:u+1+t|0;if((s|0)==-1)break;else u=s}z=p+~u|0;if((((z|0)>-1?z:0-z|0)|0)>131071)be(c[q>>2]|0,46263);else{c[D>>2]=(z<<14)+2147467264|E&16383;F=n;break a}}else F=p;else F=n;break}default:{qe(c[i>>2]|0,h);a[g+10>>0]=0;a[g+8>>0]=a[j+46>>0]|0;z=c[(c[j+12>>2]|0)+44>>2]|0;b[g+4>>1]=c[z+28>>2];b[g+6>>1]=c[z+16>>2];a[g+9>>0]=0;z=j+16|0;c[g>>2]=c[z>>2];c[z>>2]=g;F=c[h+12>>2]|0}}while(0);c:do{h=c[o>>2]|0;switch(h|0){case 277:case 286:case 262:case 261:case 260:{break c;break}default:{}}Xd(d)}while((h|0)!=274);$d(j);d=j+28|0;do if((c[o>>2]&-2|0)==260){h=c[d>>2]|0;c[d>>2]=-1;g=_d(j,2147450916)|0;do if((h|0)!=-1)if((g|0)!=-1){i=c[(c[j>>2]|0)+12>>2]|0;E=g;while(1){G=i+(E<<2)|0;H=c[G>>2]|0;D=(H>>>14)+-131071|0;B=(D|0)==-1?-1:E+1+D|0;if((B|0)==-1)break;else E=B}i=h+~E|0;if((((i|0)>-1?i:0-i|0)|0)>131071)be(c[j+12>>2]|0,46263);else{c[G>>2]=(i<<14)+2147467264|H&16383;C=49;break}}else I=h;else C=49;while(0);if((C|0)==49)if((g|0)==-1)break;else I=g;h=c[e>>2]|0;if((h|0)==-1){c[e>>2]=I;break}n=c[(c[j>>2]|0)+12>>2]|0;p=h;while(1){J=n+(p<<2)|0;K=c[J>>2]|0;h=(K>>>14)+-131071|0;q=(h|0)==-1?-1:p+1+h|0;if((q|0)==-1)break;else p=q}n=I+~p|0;if((((n|0)>-1?n:0-n|0)|0)>131071)be(c[j+12>>2]|0,46263);else{c[J>>2]=(n<<14)+2147467264|K&16383;break}}while(0);c[j+24>>2]=c[j+20>>2];if((F|0)==-1){Fa=f;return}K=c[d>>2]|0;if((K|0)==-1){c[d>>2]=F;Fa=f;return}d=c[(c[j>>2]|0)+12>>2]|0;J=K;while(1){L=d+(J<<2)|0;M=c[L>>2]|0;K=(M>>>14)+-131071|0;I=(K|0)==-1?-1:J+1+K|0;if((I|0)==-1)break;else J=I}d=F+~J|0;if((((d|0)>-1?d:0-d|0)|0)>131071)be(c[j+12>>2]|0,46263);c[L>>2]=(d<<14)+2147467264|M&16383;Fa=f;return}function oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=Fa;Fa=Fa+16|0;g=f;h=a+12|0;i=c[a+4>>2]|0;if((c[h>>2]|0)!=(b|0))if((i|0)==(e|0))Yd(a,b);else{j=c[a+32>>2]|0;k=le(a,b)|0;b=le(a,d)|0;d=ge(e)|0;l=he(e)|0;c[g>>2]=k;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=l;be(a,hd(j,46998,g)|0)}c[a+8>>2]=i;i=a+20|0;if((c[i>>2]|0)==286){c[h>>2]=Wd(a,a+16|0)|0;Fa=f;return}else{h=i;g=c[h+4>>2]|0;j=a+12|0;c[j>>2]=c[h>>2];c[j+4>>2]=g;c[i>>2]=286;Fa=f;return}}function pe(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=Fa;Fa=Fa+16|0;i=h;j=e+28|0;k=c[j>>2]|0;l=e+32|0;m=(c[l>>2]|0)+38|0;n=(b[m>>1]|0)+1<<16>>16;b[m>>1]=n;if((n&65535)>200)me(k,200,46631);n=e+12|0;a:do switch(c[n>>2]|0){case 271:{o=1;p=10;break}case 45:{o=0;p=10;break}case 35:{o=2;p=10;break}case 126:{o=14;p=10;break}case 64:{o=16;p=10;break}case 37:{o=17;p=10;break}case 36:{o=18;p=10;break}case 287:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=5;m=f+4|0;c[m>>2]=0;c[m>>2]=c[e+16>>2];p=28;break}case 289:{m=c[e+16>>2]|0;c[i>>2]=m;c[i+4>>2]=(a[m+4>>0]|64)&255;m=te(k,i,i)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=4;c[f+4>>2]=m;p=28;break}case 270:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=1;c[f+4>>2]=0;p=28;break}case 276:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=2;c[f+4>>2]=0;p=28;break}case 263:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=3;c[f+4>>2]=0;p=28;break}case 280:{if(!(a[(c[k>>2]|0)+77>>0]|0))be(e,46955);else{m=_d(k,8388659)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=13;c[f+4>>2]=m;p=28;break a}break}case 123:{He(e,f);p=31;break}case 265:{m=e+4|0;q=c[m>>2]|0;c[e+8>>2]=q;r=e+20|0;if((c[r>>2]|0)==286){c[n>>2]=Wd(e,e+16|0)|0;s=c[m>>2]|0}else{m=r;t=c[m+4>>2]|0;u=e+12|0;c[u>>2]=c[m>>2];c[u+4>>2]=t;c[r>>2]=286;s=q}Be(e,f,0,s);p=31;break}default:{De(e,f);p=31}}while(0);do if((p|0)==10){s=c[e+4>>2]|0;c[e+8>>2]=s;k=e+20|0;if((c[k>>2]|0)==286)c[n>>2]=Wd(e,e+16|0)|0;else{q=k;r=c[q+4>>2]|0;t=e+12|0;c[t>>2]=c[q>>2];c[t+4>>2]=r;c[k>>2]=286}pe(e,f,18)|0;Le(c[j>>2]|0,o,f,s);p=31}else if((p|0)==28){c[e+8>>2]=c[e+4>>2];s=e+20|0;if((c[s>>2]|0)==286){k=Wd(e,e+16|0)|0;c[n>>2]=k;v=k;break}else{k=s;r=c[k+4>>2]|0;t=e+12|0;c[t>>2]=c[k>>2];c[t+4>>2]=r;c[s>>2]=286;p=31;break}}while(0);if((p|0)==31)v=c[n>>2]|0;do switch(v|0){case 43:{w=0;break}case 45:{w=1;break}case 42:{w=2;break}case 47:{w=3;break}case 37:{w=4;break}case 94:{w=5;break}case 38:{w=6;break}case 124:{w=7;break}case 295:{w=8;break}case 290:{w=9;break}case 291:{w=10;break}case 292:{w=11;break}case 293:{w=12;break}case 294:{w=13;break}case 92:{w=15;break}case 279:{w=19;break}case 284:{w=23;break}case 281:{w=20;break}case 60:{w=21;break}case 283:{w=22;break}case 62:{w=24;break}case 282:{w=25;break}case 257:{w=26;break}case 272:{w=27;break}default:{x=28;y=c[l>>2]|0;z=y+38|0;A=b[z>>1]|0;B=A+-1<<16>>16;b[z>>1]=B;Fa=h;return x|0}}while(0);v=e+4|0;o=e+8|0;s=e+20|0;r=e+16|0;t=e+12|0;k=w;while(1){if((d[800+(k<<1)>>0]|0)<=(g|0)){x=k;p=62;break}w=c[v>>2]|0;c[o>>2]=w;if((c[s>>2]|0)==286)c[n>>2]=Wd(e,r)|0;else{q=s;u=c[q+4>>2]|0;m=t;c[m>>2]=c[q>>2];c[m+4>>2]=u;c[s>>2]=286}Me(c[j>>2]|0,k,f);u=k;k=pe(e,i,d[800+(k<<1)+1>>0]|0)|0;Ne(c[j>>2]|0,u,f,i,w);if((k|0)==28){x=28;p=62;break}}if((p|0)==62){y=c[l>>2]|0;z=y+38|0;A=b[z>>1]|0;B=A+-1<<16>>16;b[z>>1]=B;Fa=h;return x|0}return 0}function qe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;ve(b,e);f=c[e>>2]|0;a:do switch(f|0){case 10:{g=e+4|0;h=c[g>>2]|0;i=(c[(c[b>>2]|0)+12>>2]|0)+(h<<2)|0;if((h|0)>0?(h=i+-4|0,j=c[h>>2]|0,((j&63)+-37|0)>>>0<5):0){k=h;l=j}else{k=i;l=c[i>>2]|0}c[k>>2]=((l&16320|0)==0&1)<<6|l&-16321;m=c[g>>2]|0;n=32;break}case 2:case 5:case 4:break;case 11:{g=c[b>>2]|0;i=e+4|0;j=c[(c[g+12>>2]|0)+(c[i>>2]<<2)>>2]|0;h=b+20|0;if((j&63|0)==33){c[h>>2]=(c[h>>2]|0)+-1;_d(b,j>>>23<<6|16424)|0;j=b+28|0;h=c[j>>2]|0;c[j>>2]=-1;j=_d(b,2147450916)|0;if((h|0)!=-1)if((j|0)!=-1){o=c[(c[b>>2]|0)+12>>2]|0;p=j;while(1){q=o+(p<<2)|0;r=c[q>>2]|0;s=(r>>>14)+-131071|0;t=(s|0)==-1?-1:p+1+s|0;if((t|0)==-1)break;else p=t}o=h+~p|0;if((((o|0)>-1?o:0-o|0)|0)>131071)be(c[b+12>>2]|0,46263);else{c[q>>2]=(o<<14)+2147467264|r&16383;m=j;n=32;break a}}else{u=h;n=33}else{m=j;n=32}}else{v=i;w=g;n=16}break}default:{o=e+4|0;if((f|0)==6){x=o;n=22}else{v=o;w=c[b>>2]|0;n=16}}}while(0);if((n|0)==16){f=b+48|0;r=a[f>>0]|0;q=(r&255)+1|0;l=w+78|0;do if((r&255)>=(d[l>>0]|0))if((r&255)>248)be(c[b+12>>2]|0,46675);else{w=q&255;a[l>>0]=w;y=w;break}else y=q&255;while(0);a[f>>0]=y;Ke(b,e,(y&255)+-1|0);if((c[e>>2]|0)==6){x=v;n=22}else{z=v;n=25}}if((n|0)==22){v=c[e+4>>2]|0;if((v&256|0)==0?(v|0)>=(d[b+46>>0]|0|0):0){v=b+48|0;a[v>>0]=(a[v>>0]|0)+-1<<24>>24;z=x;n=25}else{z=x;n=25}}do if((n|0)==25){_d(b,c[z>>2]<<23|16361)|0;x=b+28|0;v=c[x>>2]|0;c[x>>2]=-1;x=_d(b,2147450916)|0;if((v|0)!=-1)if((x|0)!=-1){y=c[(c[b>>2]|0)+12>>2]|0;f=x;while(1){A=y+(f<<2)|0;B=c[A>>2]|0;q=(B>>>14)+-131071|0;l=(q|0)==-1?-1:f+1+q|0;if((l|0)==-1)break;else f=l}y=v+~f|0;if((((y|0)>-1?y:0-y|0)|0)>131071)be(c[b+12>>2]|0,46263);else{c[A>>2]=(y<<14)+2147467264|B&16383;m=x;n=32;break}}else{u=v;n=33}else{m=x;n=32}}while(0);if((n|0)==32?(m|0)!=-1:0){u=m;n=33}do if((n|0)==33){m=e+12|0;B=c[m>>2]|0;if((B|0)==-1){c[m>>2]=u;break}m=c[(c[b>>2]|0)+12>>2]|0;A=B;while(1){C=m+(A<<2)|0;D=c[C>>2]|0;B=(D>>>14)+-131071|0;z=(B|0)==-1?-1:A+1+B|0;if((z|0)==-1)break;else A=z}m=u+~A|0;if((((m|0)>-1?m:0-m|0)|0)>131071)be(c[b+12>>2]|0,46263);else{c[C>>2]=(m<<14)+2147467264|D&16383;break}}while(0);D=e+8|0;e=c[D>>2]|0;c[b+24>>2]=c[b+20>>2];C=b+28|0;if((e|0)==-1){c[D>>2]=-1;return}u=c[C>>2]|0;if((u|0)==-1){c[C>>2]=e;c[D>>2]=-1;return}C=c[(c[b>>2]|0)+12>>2]|0;n=u;while(1){E=C+(n<<2)|0;F=c[E>>2]|0;u=(F>>>14)+-131071|0;m=(u|0)==-1?-1:n+1+u|0;if((m|0)==-1)break;else n=m}C=e+~n|0;if((((C|0)>-1?C:0-C|0)|0)>131071)be(c[b+12>>2]|0,46263);c[E>>2]=(C<<14)+2147467264|F&16383;c[D>>2]=-1;return}function re(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=c[e+28>>2]|0;h=c[e+44>>2]|0;i=c[g>>2]|0;j=i+60|0;k=c[j>>2]|0;l=g+44|0;if((k|0)>(b[l>>1]|0)){m=k;n=c[i+24>>2]|0}else{o=i+24|0;p=ce(c[e+32>>2]|0,c[o>>2]|0,j,12,32767,46939)|0;c[o>>2]=p;m=c[j>>2]|0;n=p}if((k|0)<(m|0)?(p=k+1|0,c[n+(k*12|0)>>2]=0,(p|0)<(m|0)):0){k=p;do{c[n+(k*12|0)>>2]=0;k=k+1|0}while((k|0)!=(m|0))}c[n+((b[l>>1]|0)*12|0)>>2]=f;do if(a[f+5>>0]&3?(n=i+5|0,m=a[n>>0]|0,m&4):0){k=c[(c[e+32>>2]|0)+12>>2]|0;if((d[k+49>>0]|0)<2){uc(k,f);break}else{a[n>>0]=a[k+48>>0]&3|m&-72;break}}while(0);f=b[l>>1]|0;b[l>>1]=f+1<<16>>16;l=h+4|0;i=c[l>>2]|0;m=i+1|0;if((m-(c[g+40>>2]|0)|0)>200)me(g,200,46939);g=h+8|0;if((i+2|0)>(c[g>>2]|0)){k=ce(c[e+32>>2]|0,c[h>>2]|0,g,2,2147483645,46939)|0;c[h>>2]=k;g=c[l>>2]|0;q=g+1|0;r=k;s=g;c[l>>2]=q;t=r+(s<<1)|0;b[t>>1]=f;return}else{q=m;r=c[h>>2]|0;s=i;c[l>>2]=q;t=r+(s<<1)|0;b[t>>1]=f;return}}function se(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Fa;Fa=Fa+16|0;f=e;pe(b,f,0)|0;g=c[b+28>>2]|0;ve(g,f);if(((c[f>>2]|0)==6?(b=c[f+4>>2]|0,(b&256|0)==0):0)?(b|0)>=(d[g+46>>0]|0|0):0){b=g+48|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}b=g+48|0;h=a[b>>0]|0;i=(h&255)+1|0;j=(c[g>>2]|0)+78|0;if((h&255)<(d[j>>0]|0)){k=i&255;a[b>>0]=k;l=k&255;m=l+-1|0;we(g,f,m);Fa=e;return}if((h&255)>248)be(c[g+12>>2]|0,46675);h=i&255;a[j>>0]=h;k=h;a[b>>0]=k;l=k&255;m=l+-1|0;we(g,f,m);Fa=e;return}function te(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[(c[b+12>>2]|0)+32>>2]|0;h=c[b>>2]|0;i=c[b+4>>2]|0;j=xc(i,e)|0;if((j|0)==2099900)k=yc(g,i,e)|0;else k=j;j=k+4|0;if(((c[j>>2]|0)==3?(e=c[k>>2]>>16,i=c[h+8>>2]|0,(c[i+(e<<3)+4>>2]|0)==(c[f+4>>2]|0)):0)?Ec(0,i+(e<<3)|0,f)|0:0){l=e;return l|0}e=h+44|0;i=c[e>>2]|0;m=b+32|0;b=c[m>>2]|0;c[k>>2]=b;c[j>>2]=3;j=c[e>>2]|0;k=h+8|0;if((b|0)<(j|0)){n=j;o=c[k>>2]|0}else{j=ce(g,c[k>>2]|0,e,8,67108863,46929)|0;c[k>>2]=j;n=c[e>>2]|0;o=j}if((i|0)<(n|0)?(j=i+1|0,c[o+(i<<3)+4>>2]=0,(j|0)<(n|0)):0){i=j;do{c[o+(i<<3)+4>>2]=0;i=i+1|0}while((i|0)<(n|0))}c[o+(b<<3)>>2]=c[f>>2];n=f+4|0;c[o+(b<<3)+4>>2]=c[n>>2];c[m>>2]=(c[m>>2]|0)+1;if(!(c[n>>2]&64)){l=b;return l|0}n=c[f>>2]|0;if(!(a[n+5>>0]&3)){l=b;return l|0}f=h+5|0;h=a[f>>0]|0;if(!(h&4)){l=b;return l|0}m=c[g+12>>2]|0;if((d[m+49>>0]|0)<2){uc(m,n);l=b;return l|0}else{a[f>>0]=a[m+48>>0]&3|h&-72;l=b;return l|0}return 0}function ue(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;j=Fa;Fa=Fa+32|0;k=j+12|0;l=j;m=e+28|0;n=c[m>>2]|0;o=n+46|0;p=a[o>>0]|0;a[o>>0]=(p&255)+3;q=n+20|0;r=c[q>>2]|0;s=n+12|0;t=c[(c[n>>2]|0)+24>>2]|0;u=c[c[(c[s>>2]|0)+44>>2]>>2]|0;v=(c[n+40>>2]|0)+(p+3&255)|0;c[t+((b[u+(v+-3<<1)>>1]|0)*12|0)+4>>2]=r;c[t+((b[u+(v+-2<<1)>>1]|0)*12|0)+4>>2]=r;c[t+((b[u+(v+-1<<1)>>1]|0)*12|0)+4>>2]=r;r=e+12|0;if((c[r>>2]|0)!=259)Yd(e,259);c[e+8>>2]=c[e+4>>2];v=e+20|0;if((c[v>>2]|0)==286)c[r>>2]=Wd(e,e+16|0)|0;else{u=v;t=c[u+4>>2]|0;p=e+12|0;c[p>>2]=c[u>>2];c[p+4>>2]=t;c[v>>2]=286}v=(i|0)!=0;do if(!v){i=n+28|0;t=c[i>>2]|0;c[i>>2]=-1;i=_d(n,2147450916)|0;if((t|0)!=-1)if((i|0)!=-1){p=c[(c[n>>2]|0)+12>>2]|0;u=i;while(1){w=p+(u<<2)|0;x=c[w>>2]|0;y=(x>>>14)+-131071|0;z=(y|0)==-1?-1:u+1+y|0;if((z|0)==-1)break;else u=z}p=t+~u|0;if((((p|0)>-1?p:0-p|0)|0)>131071)be(c[s>>2]|0,46263);else{c[w>>2]=(p<<14)+2147467264|x&16383;A=i;break}}else A=t;else A=i}else A=_d(n,f<<6|2147450926)|0;while(0);a[l+10>>0]=0;a[l+8>>0]=a[o>>0]|0;o=c[s>>2]|0;x=c[o+44>>2]|0;b[l+4>>1]=c[x+28>>2];b[l+6>>1]=c[x+16>>2];a[l+9>>0]=0;x=n+16|0;c[l>>2]=c[x>>2];c[x>>2]=l;l=c[m>>2]|0;m=l+46|0;x=(d[m>>0]|0)+h|0;w=x&255;a[m>>0]=w;if(h|0){m=c[l+20>>2]|0;p=c[(c[l>>2]|0)+24>>2]|0;z=c[c[(c[l+12>>2]|0)+44>>2]>>2]|0;y=(c[l+40>>2]|0)+(x&255)|0;x=h;do{c[p+((b[z+(y-x<<1)>>1]|0)*12|0)+4>>2]=m;x=x+-1|0}while((x|0)!=0)}x=n+48|0;m=(d[x>>0]|0)+h|0;y=(c[n>>2]|0)+78|0;do if((m|0)>(d[y>>0]|0))if((m|0)>249)be(o,46675);else{z=m&255;a[y>>0]=z;B=z;break}else B=m&255;while(0);a[x>>0]=B;a[k+10>>0]=0;a[k+8>>0]=w;w=c[(c[l+12>>2]|0)+44>>2]|0;b[k+4>>1]=c[w+28>>2];b[k+6>>1]=c[w+16>>2];a[k+9>>0]=0;w=l+16|0;c[k>>2]=c[w>>2];c[w>>2]=k;a:do{k=c[r>>2]|0;switch(k|0){case 277:case 286:case 262:case 261:case 260:{break a;break}default:{}}Xd(e)}while((k|0)!=274);$d(l);$d(n);c[n+24>>2]=c[q>>2];l=n+28|0;do if((A|0)!=-1){e=c[l>>2]|0;if((e|0)==-1){c[l>>2]=A;break}r=c[(c[n>>2]|0)+12>>2]|0;k=e;while(1){C=r+(k<<2)|0;D=c[C>>2]|0;e=(D>>>14)+-131071|0;w=(e|0)==-1?-1:k+1+e|0;if((w|0)==-1)break;else k=w}r=A+~k|0;if((((r|0)>-1?r:0-r|0)|0)>131071)be(c[s>>2]|0,46263);else{c[C>>2]=(r<<14)+2147467264|D&16383;break}}while(0);D=f<<6;if(v){E=D|2147450925;F=_d(n,E)|0;G=A+1|0;je(n,F,G);H=c[n>>2]|0;I=H+20|0;J=c[I>>2]|0;K=c[q>>2]|0;L=K+-1|0;M=J+(L<<2)|0;c[M>>2]=g;Fa=j;return}else{_d(n,D|h<<14|47)|0;c[(c[(c[n>>2]|0)+20>>2]|0)+((c[q>>2]|0)+-1<<2)>>2]=g;E=D+128|2147450928;F=_d(n,E)|0;G=A+1|0;je(n,F,G);H=c[n>>2]|0;I=H+20|0;J=c[I>>2]|0;K=c[q>>2]|0;L=K+-1|0;M=J+(L<<2)|0;c[M>>2]=g;Fa=j;return}}function ve(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;switch(c[f>>2]|0){case 7:{c[f>>2]=6;return}case 8:{g=f+4|0;c[g>>2]=_d(e,c[g>>2]<<23|5)|0;c[f>>2]=11;return}case 9:{g=f+4|0;h=b[g>>1]|0;if((h&256|0)==0?(d[e+46>>0]|0)<=(h|0):0){h=e+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}h=g+2|0;if((a[g+3>>0]|0)==7)if((d[e+46>>0]|0)>(d[h>>0]|0))i=7;else{j=e+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;i=7}else i=6;c[g>>2]=_d(e,d[h>>0]<<23|i|b[g>>1]<<14)|0;c[f>>2]=11;return}case 12:{c[f>>2]=6;g=f+4|0;c[g>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>6&255;return}case 13:{g=(c[(c[e>>2]|0)+12>>2]|0)+(c[f+4>>2]<<2)|0;c[g>>2]=c[g>>2]&8388607|16777216;c[f>>2]=11;return}default:return}}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;Ke(a,b,d);e=(c[b>>2]|0)==10;f=b+8|0;do if(e?(g=c[b+4>>2]|0,(g|0)!=-1):0){h=c[f>>2]|0;if((h|0)==-1){c[f>>2]=g;i=g;break}j=c[(c[a>>2]|0)+12>>2]|0;k=h;while(1){l=j+(k<<2)|0;m=c[l>>2]|0;h=(m>>>14)+-131071|0;n=(h|0)==-1?-1:k+1+h|0;if((n|0)==-1)break;else k=n}j=g+~k|0;if((((j|0)>-1?j:0-j|0)|0)>131071)be(c[a+12>>2]|0,46263);else{c[l>>2]=(j<<14)+2147467264|m&16383;o=10;break}}else o=10;while(0);if((o|0)==10)i=c[f>>2]|0;m=b+12|0;l=c[m>>2]|0;if((i|0)==(l|0)){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}a:do if((i|0)==-1)o=19;else{j=c[(c[a>>2]|0)+12>>2]|0;n=i;while(1){h=j+(n<<2)|0;if((n|0)>0?(q=c[h+-4>>2]|0,((q&63)+-37|0)>>>0<5):0)r=q;else r=c[h>>2]|0;if((r&63|0)!=41){o=26;break a}q=((c[h>>2]|0)>>>14)+-131071|0;n=(q|0)==-1?-1:n+1+q|0;if((n|0)==-1){o=19;break}}}while(0);b:do if((o|0)==19)if((l|0)==-1){s=-1;t=-1}else{r=c[(c[a>>2]|0)+12>>2]|0;i=l;while(1){n=r+(i<<2)|0;if((i|0)>0?(j=c[n+-4>>2]|0,((j&63)+-37|0)>>>0<5):0)u=j;else u=c[n>>2]|0;if((u&63|0)!=41){o=26;break b}j=((c[n>>2]|0)>>>14)+-131071|0;i=(j|0)==-1?-1:i+1+j|0;if((i|0)==-1){s=-1;t=-1;break}}}while(0);do if((o|0)==26){u=a+28|0;do if(!e){l=c[u>>2]|0;c[u>>2]=-1;i=_d(a,2147450916)|0;if((l|0)!=-1)if((i|0)!=-1){r=c[(c[a>>2]|0)+12>>2]|0;j=i;while(1){v=r+(j<<2)|0;w=c[v>>2]|0;n=(w>>>14)+-131071|0;k=(n|0)==-1?-1:j+1+n|0;if((k|0)==-1)break;else j=k}r=l+~j|0;if((((r|0)>-1?r:0-r|0)|0)>131071)be(c[a+12>>2]|0,46263);else{c[v>>2]=(r<<14)+2147467264|w&16383;x=i;break}}else x=l;else x=i}else x=-1;while(0);r=a+20|0;k=a+24|0;c[k>>2]=c[r>>2];n=d<<6;g=_d(a,n|16387)|0;c[k>>2]=c[r>>2];q=_d(a,n|8388611)|0;c[k>>2]=c[r>>2];if((x|0)!=-1){r=c[u>>2]|0;if((r|0)==-1){c[u>>2]=x;s=g;t=q;break}k=c[(c[a>>2]|0)+12>>2]|0;n=r;while(1){y=k+(n<<2)|0;z=c[y>>2]|0;r=(z>>>14)+-131071|0;h=(r|0)==-1?-1:n+1+r|0;if((h|0)==-1)break;else n=h}k=x+~n|0;if((((k|0)>-1?k:0-k|0)|0)>131071)be(c[a+12>>2]|0,46263);else{c[y>>2]=(k<<14)+2147467264|z&16383;s=g;t=q;break}}else{s=g;t=q}}while(0);z=c[a+20>>2]|0;c[a+24>>2]=z;y=c[m>>2]|0;c:do if((y|0)!=-1){x=c[(c[a>>2]|0)+12>>2]|0;w=d<<6;v=w&16320;if((d|0)==255){e=y;while(1){k=x+(e<<2)|0;u=c[k>>2]|0;h=(u>>>14)+-131071|0;r=e;e=(h|0)==-1?-1:e+1+h|0;if((r|0)>0?(h=k+-4|0,A=c[h>>2]|0,((A&63)+-37|0)>>>0<5):0){B=h;C=A}else{B=k;C=u}if((C&63|0)!=41){A=s+~r|0;if((((A|0)>-1?A:0-A|0)|0)>131071){o=65;break}else{D=A;E=u}}else{c[B>>2]=C&8372224|C>>>23<<6|40;u=z+~r|0;if((((u|0)>-1?u:0-u|0)|0)>131071){o=62;break}D=u;E=c[k>>2]|0}c[k>>2]=E&16383|(D<<14)+2147467264;if((e|0)==-1)break c}if((o|0)==62){F=a+12|0;G=c[F>>2]|0;be(G,46263)}else if((o|0)==65){H=a+12|0;I=c[H>>2]|0;be(I,46263)}}e=y;while(1){q=x+(e<<2)|0;g=c[q>>2]|0;n=(g>>>14)+-131071|0;k=e;e=(n|0)==-1?-1:e+1+n|0;if((k|0)>0?(n=q+-4|0,u=c[n>>2]|0,((u&63)+-37|0)>>>0<5):0){J=n;K=u}else{J=q;K=g}if((K&63|0)!=41){u=s+~k|0;if((((u|0)>-1?u:0-u|0)|0)>131071){o=65;break}else{L=u;M=g}}else{if((K>>>23|0)==(d|0))N=K&8372224|w|40;else N=K&-16321|v;c[J>>2]=N;g=z+~k|0;if((((g|0)>-1?g:0-g|0)|0)>131071){o=62;break}L=g;M=c[q>>2]|0}c[q>>2]=M&16383|(L<<14)+2147467264;if((e|0)==-1)break c}if((o|0)==62){F=a+12|0;G=c[F>>2]|0;be(G,46263)}else if((o|0)==65){H=a+12|0;I=c[H>>2]|0;be(I,46263)}}while(0);I=c[f>>2]|0;if((I|0)==-1){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}H=c[(c[a>>2]|0)+12>>2]|0;G=d<<6;F=G&16320;if((d|0)==255){L=I;while(1){M=H+(L<<2)|0;N=c[M>>2]|0;J=(N>>>14)+-131071|0;K=L;L=(J|0)==-1?-1:L+1+J|0;if((K|0)>0?(J=M+-4|0,s=c[J>>2]|0,((s&63)+-37|0)>>>0<5):0){O=J;P=s}else{O=M;P=N}if((P&63|0)!=41){s=t+~K|0;if((((s|0)>-1?s:0-s|0)|0)>131071){o=90;break}else{Q=s;R=N}}else{c[O>>2]=P&8372224|P>>>23<<6|40;N=z+~K|0;if((((N|0)>-1?N:0-N|0)|0)>131071){o=87;break}Q=N;R=c[M>>2]|0}c[M>>2]=R&16383|(Q<<14)+2147467264;if((L|0)==-1){o=92;break}}if((o|0)==87){S=a+12|0;T=c[S>>2]|0;be(T,46263)}else if((o|0)==90){U=a+12|0;V=c[U>>2]|0;be(V,46263)}else if((o|0)==92){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}}L=I;while(1){I=H+(L<<2)|0;Q=c[I>>2]|0;R=(Q>>>14)+-131071|0;P=L;L=(R|0)==-1?-1:L+1+R|0;if((P|0)>0?(R=I+-4|0,O=c[R>>2]|0,((O&63)+-37|0)>>>0<5):0){W=R;X=O}else{W=I;X=Q}if((X&63|0)!=41){O=t+~P|0;if((((O|0)>-1?O:0-O|0)|0)>131071){o=90;break}else{Y=O;Z=Q}}else{if((X>>>23|0)==(d|0))_=X&8372224|G|40;else _=X&-16321|F;c[W>>2]=_;Q=z+~P|0;if((((Q|0)>-1?Q:0-Q|0)|0)>131071){o=87;break}Y=Q;Z=c[I>>2]|0}c[I>>2]=Z&16383|(Y<<14)+2147467264;if((L|0)==-1){o=92;break}}if((o|0)==87){S=a+12|0;T=c[S>>2]|0;be(T,46263)}else if((o|0)==90){U=a+12|0;V=c[U>>2]|0;be(V,46263)}else if((o|0)==92){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}}function xe(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=e-f|0;f=c[g>>2]|0;switch(f|0){case 13:case 12:{e=h+1|0;i=(e|0)>0?e:0;switch(f|0){case 12:{f=(c[(c[b>>2]|0)+12>>2]|0)+(c[g+4>>2]<<2)|0;c[f>>2]=c[f>>2]&-8372225|(i<<14)+16384&8372224;break}case 13:{f=c[b>>2]|0;e=c[f+12>>2]|0;j=g+4|0;k=e+(c[j>>2]<<2)|0;c[k>>2]=c[k>>2]&8388607|(i<<23)+8388608;k=e+(c[j>>2]<<2)|0;j=b+48|0;e=a[j>>0]|0;l=e&255;c[k>>2]=l<<6|c[k>>2]&-16321;k=l+1|0;l=f+78|0;do if((e&255)>=(d[l>>0]|0))if((e&255)>248)be(c[b+12>>2]|0,46675);else{f=k&255;a[l>>0]=f;m=f;break}else m=k&255;while(0);a[j>>0]=m;break}default:{}}if((i|0)<=1)return;m=b+48|0;j=i+-1+(d[m>>0]|0)|0;i=(c[b>>2]|0)+78|0;do if((j|0)>(d[i>>0]|0|0))if((j|0)>249)be(c[b+12>>2]|0,46675);else{k=j&255;a[i>>0]=k;n=k;break}else n=j&255;while(0);a[m>>0]=n;return}case 0:break;default:{ve(b,g);if(((c[g>>2]|0)==6?(n=c[g+4>>2]|0,(n&256|0)==0):0)?(n|0)>=(d[b+46>>0]|0|0):0){n=b+48|0;a[n>>0]=(a[n>>0]|0)+-1<<24>>24}n=b+48|0;m=a[n>>0]|0;j=(m&255)+1|0;i=(c[b>>2]|0)+78|0;do if((m&255)>=(d[i>>0]|0))if((m&255)>248)be(c[b+12>>2]|0,46675);else{k=j&255;a[i>>0]=k;o=k;break}else o=j&255;while(0);a[n>>0]=o;we(b,g,(o&255)+-1|0)}}if((h|0)<=0)return;o=b+48|0;g=d[o>>0]|0;n=h+g|0;j=c[b>>2]|0;i=j+78|0;do if((n|0)>(d[i>>0]|0|0))if((n|0)>249)be(c[b+12>>2]|0,46675);else{m=n&255;a[i>>0]=m;p=m;break}else p=n&255;while(0);a[o>>0]=p;p=n+511|0;o=c[b+20>>2]|0;do if((o|0)>(c[b+24>>2]|0)?(i=(c[j+12>>2]|0)+(o+-1<<2)|0,m=c[i>>2]|0,(m&63|0)==4):0){k=m>>>6&255;l=k+(m>>>23)|0;if(k>>>0>g>>>0|(l+1|0)>>>0<g>>>0?k>>>0<g>>>0|(k|0)>(n|0):0)break;e=k>>>0<g>>>0?k:g;c[i>>2]=e<<6|m&8372287|((l|0)<(n|0)?p:l)-e<<23;return}while(0);_d(b,(h<<23)+-8388608|g<<6|4)|0;return}function ye(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Fa;Fa=Fa+32|0;g=f+16|0;h=f;i=d+12|0;if((c[i>>2]|0)!=288)Yd(d,288);j=d+16|0;k=c[j>>2]|0;c[d+8>>2]=c[d+4>>2];l=d+20|0;if((c[l>>2]|0)==286)c[i>>2]=Wd(d,j)|0;else{j=l;i=c[j+4>>2]|0;m=d+12|0;c[m>>2]=c[j>>2];c[m+4>>2]=i;c[l>>2]=286}l=d+28|0;i=c[l>>2]|0;if(Je(i,k,e,1)|0){Fa=f;return}Je(i,c[d+52>>2]|0,e,1)|0;d=c[l>>2]|0;c[g>>2]=k;c[g+4>>2]=(a[k+4>>0]|64)&255;k=te(d,g,g)|0;c[h+8>>2]=-1;c[h+12>>2]=-1;c[h>>2]=4;c[h+4>>2]=k;k=e+4|0;a[k+2>>0]=c[k>>2];b[k>>1]=Ae(i,h)|0;a[k+3>>0]=(c[e>>2]|0)==8?8:7;c[e>>2]=9;Fa=f;return}function ze(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;ve(b,e);if((c[e>>2]|0)==6){f=e+4|0;g=c[f>>2]|0;if((c[e+8>>2]|0)==(c[e+12>>2]|0)){h=g;return h|0}if((g|0)>=(d[b+46>>0]|0|0)){we(b,e,g);i=f}else j=5}else j=5;if((j|0)==5){ve(b,e);if(((c[e>>2]|0)==6?(j=c[e+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}j=b+48|0;f=a[j>>0]|0;g=(f&255)+1|0;k=(c[b>>2]|0)+78|0;do if((f&255)>=(d[k>>0]|0))if((f&255)>248)be(c[b+12>>2]|0,46675);else{l=g&255;a[k>>0]=l;m=l;break}else m=g&255;while(0);a[j>>0]=m;we(b,e,(m&255)+-1|0);i=e+4|0}h=c[i>>2]|0;return h|0}function Ae(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=Fa;Fa=Fa+16|0;f=e+8|0;g=e;if((c[d+8>>2]|0)==(c[d+12>>2]|0))ve(b,d);else ze(b,d)|0;h=c[d>>2]|0;switch(h|0){case 1:case 3:case 2:{if((c[b+32>>2]|0)<256){if((h|0)==1){c[g+4>>2]=0;c[f>>2]=c[b+4>>2];c[f+4>>2]=69;i=te(b,f,g)|0}else{c[f>>2]=(h|0)==2&1;c[f+4>>2]=1;i=te(b,f,f)|0}c[d+4>>2]=i;c[d>>2]=4;j=i|256;Fa=e;return j|0}break}case 5:{i=d+4|0;h=c[i>>2]|0;c[f>>2]=h;k=c[(c[b+12>>2]|0)+32>>2]|0;c[g>>2]=h;c[g+4>>2]=3;if(!h){h=k+8|0;l=c[h>>2]|0;c[h>>2]=l+8;m=Oc(k,f,4)|0;c[l>>2]=m;c[l+4>>2]=(a[m+4>>0]|64)&255;m=te(b,(c[h>>2]|0)+-8|0,g)|0;c[h>>2]=(c[h>>2]|0)+-8;n=m}else n=te(b,g,g)|0;c[i>>2]=n;c[d>>2]=4;o=n;p=15;break}case 4:{o=c[d+4>>2]|0;p=15;break}default:{}}if((p|0)==15?(o|0)<256:0){j=o|256;Fa=e;return j|0}j=ze(b,d)|0;Fa=e;return j|0}function Be(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;i=Fa;Fa=Fa+80|0;j=i;k=i+16|0;l=i+4|0;m=e+28|0;n=c[m>>2]|0;o=e+32|0;p=c[o>>2]|0;q=c[n>>2]|0;r=n+36|0;n=q+56|0;s=c[n>>2]|0;if(((c[r>>2]|0)>=(s|0)?(t=q+16|0,u=ce(p,c[t>>2]|0,n,4,262143,46889)|0,c[t>>2]=u,v=c[n>>2]|0,(s|0)<(v|0)):0)?(n=s+1|0,c[u+(s<<2)>>2]=0,(n|0)<(v|0)):0){s=n;do{c[(c[t>>2]|0)+(s<<2)>>2]=0;s=s+1|0}while((s|0)!=(v|0))}v=p+12|0;s=c[v>>2]|0;t=s+4|0;n=Ma[c[s>>2]&1](c[t>>2]|0,0,9,80)|0;if(!n){if(!(a[s+51>>0]|0))jc(p,4);vc(p,1);u=Ma[c[s>>2]&1](c[t>>2]|0,0,9,80)|0;if(!u)jc(p,4);else w=u}else w=n;n=s+12|0;c[n>>2]=(c[n>>2]|0)+80;n=s+56|0;u=w+5|0;a[u>>0]=a[s+48>>0]&3;a[w+4>>0]=9;c[w>>2]=c[n>>2];c[n>>2]=w;a[w+76>>0]=0;a[w+77>>0]=0;n=w+78|0;a[n>>0]=0;s=w+8|0;p=s+64|0;do{c[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=c[q+16>>2]|0;p=c[r>>2]|0;c[r>>2]=p+1;c[s+(p<<2)>>2]=w;do if(a[u>>0]&3?(p=q+5|0,s=a[p>>0]|0,s&4):0){r=c[v>>2]|0;if((d[r+49>>0]|0)<2){uc(r,w);break}else{a[p>>0]=a[r+48>>0]&3|s&-72;break}}while(0);c[k>>2]=w;c[w+64>>2]=h;v=c[o>>2]|0;c[k+8>>2]=c[m>>2];o=k+12|0;c[o>>2]=e;c[m>>2]=k;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=-1;c[k+32>>2]=0;c[k+36>>2]=0;q=k+44|0;c[q>>2]=0;a[q+4>>0]=0;c[k+40>>2]=c[(c[e+44>>2]|0)+4>>2];q=k+16|0;c[q>>2]=0;c[w+36>>2]=c[e+48>>2];a[n>>0]=2;n=c[v+12>>2]|0;w=n+4|0;u=Ma[c[n>>2]&1](c[w>>2]|0,0,5,32)|0;if(!u){if(!(a[n+51>>0]|0))jc(v,4);vc(v,1);s=Ma[c[n>>2]&1](c[w>>2]|0,0,5,32)|0;if(!s)jc(v,4);else x=s}else x=u;u=n+12|0;c[u>>2]=(c[u>>2]|0)+32;u=n+56|0;a[x+5>>0]=a[n+48>>0]&3;a[x+4>>0]=5;c[x>>2]=c[u>>2];c[u>>2]=x;c[x+8>>2]=0;a[x+6>>0]=-1;c[x+12>>2]=0;c[x+28>>2]=0;c[x+16>>2]=2099924;a[x+7>>0]=0;c[x+20>>2]=2099924;c[k+4>>2]=x;u=v+8|0;n=c[u>>2]|0;c[n>>2]=x;c[n+4>>2]=69;n=(c[u>>2]|0)+8|0;c[u>>2]=n;u=n;do if(((c[v+24>>2]|0)-u|0)<8){n=c[v+32>>2]|0;if((n|0)>1e6)jc(v,6);x=(u-(c[v+28>>2]|0)>>3)+5|0;s=n<<1;n=(s|0)<1e6?s:1e6;s=(n|0)<(x|0)?x:n;if((s|0)>1e6){kc(v,1000200);lc(v,45510,j)}else{kc(v,s);break}}while(0);a[l+10>>0]=0;a[l+8>>0]=a[k+46>>0]|0;v=c[(c[o>>2]|0)+44>>2]|0;b[l+4>>1]=c[v+28>>2];b[l+6>>1]=c[v+16>>2];a[l+9>>0]=0;c[l>>2]=c[q>>2];c[q>>2]=l;l=e+12|0;if((c[l>>2]|0)!=40)Yd(e,40);q=e+4|0;v=e+8|0;c[v>>2]=c[q>>2];o=e+20|0;if((c[o>>2]|0)==286){j=Wd(e,e+16|0)|0;c[l>>2]=j;y=j}else{j=o;u=c[j>>2]|0;s=c[j+4>>2]|0;j=e+12|0;c[j>>2]=u;c[j+4>>2]=s;c[o>>2]=286;y=u}if(!g){g=c[m>>2]|0;z=g;A=c[g>>2]|0;B=y;C=g}else{re(e,ae(e,46899,4)|0);g=c[m>>2]|0;y=g+46|0;u=a[y>>0]|0;a[y>>0]=(u&255)+1;y=c[g>>2]|0;c[(c[y+24>>2]|0)+((b[(c[c[(c[g+12>>2]|0)+44>>2]>>2]|0)+((c[g+40>>2]|0)+(u+1&255)+-1<<1)>>1]|0)*12|0)+4>>2]=c[g+20>>2];z=g;A=y;B=c[l>>2]|0;C=g}g=A+77|0;a[g>>0]=0;a:do if((B|0)==41)D=0;else{y=e+16|0;u=e+12|0;s=0;j=B;b:while(1){switch(j|0){case 280:{break b;break}case 288:break;default:{E=43;break b}}n=c[y>>2]|0;c[v>>2]=c[q>>2];if((c[o>>2]|0)==286)c[l>>2]=Wd(e,y)|0;else{x=o;w=c[x+4>>2]|0;r=u;c[r>>2]=c[x>>2];c[r+4>>2]=w;c[o>>2]=286}re(e,n);n=s+1|0;if(a[g>>0]|0){D=n;break a}if((c[l>>2]|0)!=44){D=n;break a}c[v>>2]=c[q>>2];if((c[o>>2]|0)==286){w=Wd(e,y)|0;c[l>>2]=w;F=w}else{w=o;r=c[w>>2]|0;x=c[w+4>>2]|0;w=u;c[w>>2]=r;c[w+4>>2]=x;c[o>>2]=286;F=r}s=n;j=F}if((E|0)==43)be(e,46904);c[v>>2]=c[q>>2];if((c[o>>2]|0)==286)c[l>>2]=Wd(e,y)|0;else{j=o;n=c[j+4>>2]|0;r=u;c[r>>2]=c[j>>2];c[r+4>>2]=n;c[o>>2]=286}a[g>>0]=1;D=s}while(0);g=c[m>>2]|0;E=g+46|0;F=D+(d[E>>0]|0)|0;a[E>>0]=F;if(D|0){E=c[g+20>>2]|0;B=c[(c[g>>2]|0)+24>>2]|0;n=c[c[(c[g+12>>2]|0)+44>>2]>>2]|0;r=(c[g+40>>2]|0)+(F&255)|0;F=D;do{c[B+((b[n+(r-F<<1)>>1]|0)*12|0)+4>>2]=E;F=F+-1|0}while((F|0)!=0)}F=a[C+46>>0]|0;a[A+76>>0]=F;A=C+48|0;E=(d[A>>0]|0)+(F&255)|0;F=(c[z>>2]|0)+78|0;do if(E>>>0>(d[F>>0]|0)>>>0)if(E>>>0>249)be(c[C+12>>2]|0,46675);else{z=E&255;a[F>>0]=z;G=z;break}else G=E&255;while(0);a[A>>0]=G;if((c[l>>2]|0)!=41)Yd(e,41);c[v>>2]=c[q>>2];if((c[o>>2]|0)==286){v=Wd(e,e+16|0)|0;c[l>>2]=v;H=v}else{v=o;G=c[v>>2]|0;A=c[v+4>>2]|0;v=e+12|0;c[v>>2]=G;c[v+4>>2]=A;c[o>>2]=286;H=G}G=H;c:while(1){switch(G|0){case 277:case 286:case 262:case 261:case 260:{break c;break}default:{}}Xd(e);if((G|0)==274)break;G=c[l>>2]|0}c[(c[k>>2]|0)+68>>2]=c[q>>2];oe(e,262,265,h);h=c[(c[m>>2]|0)+8>>2]|0;m=_d(h,(c[h+36>>2]<<14)+-16384|50)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=11;q=f+4|0;c[q>>2]=m;ve(h,f);if(((c[f>>2]|0)==6?(m=c[q>>2]|0,(m&256|0)==0):0)?(m|0)>=(d[h+46>>0]|0):0){m=h+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24}m=h+48|0;q=a[m>>0]|0;k=(q&255)+1|0;l=(c[h>>2]|0)+78|0;if((q&255)<(d[l>>0]|0)){I=k&255;a[m>>0]=I;J=I&255;K=J+-1|0;we(h,f,K);Zd(e);Fa=i;return}if((q&255)>248)be(c[h+12>>2]|0,46675);q=k&255;a[l>>0]=q;I=q;a[m>>0]=I;J=I&255;K=J+-1|0;we(h,f,K);Zd(e);Fa=i;return}function Ce(b,f,g){b=b|0;f=f|0;g=g|0;var h=0;switch(c[f>>2]|0){case 7:{if(((c[g>>2]|0)==6?(h=c[g+4>>2]|0,(h&256|0)==0):0)?(h|0)>=(d[b+46>>0]|0):0){h=b+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}we(b,g,c[f+4>>2]|0);return}case 8:{_d(b,(ze(b,g)|0)<<6|c[f+4>>2]<<23|9)|0;break}case 9:{h=f+4|0;f=(a[h+3>>0]|0)==7?10:8;_d(b,(Ae(b,g)|0)<<14|f|d[h+2>>0]<<6|e[h>>1]<<23)|0;break}default:{}}if((c[g>>2]|0)!=6)return;h=c[g+4>>2]|0;if(h&256|0)return;if((h|0)<(d[b+46>>0]|0))return;h=b+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24;return}function De(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;g=Fa;Fa=Fa+32|0;h=g+16|0;i=g;j=e+28|0;k=c[j>>2]|0;l=e+4|0;m=c[l>>2]|0;n=e+12|0;switch(c[n>>2]|0){case 40:{o=e+8|0;c[o>>2]=m;p=e+20|0;if((c[p>>2]|0)==286)c[n>>2]=Wd(e,e+16|0)|0;else{q=p;r=c[q+4>>2]|0;s=e+12|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;c[p>>2]=286}pe(e,f,0)|0;oe(e,41,40,m);ve(c[j>>2]|0,f);t=p;u=p;v=o;break}case 288:{ye(e,f);o=e+20|0;t=o;u=o;v=e+8|0;break}default:be(e,46820)}o=f+8|0;p=f+12|0;r=e+16|0;s=e+12|0;q=f+4|0;w=k+48|0;x=h+8|0;y=h+12|0;z=k+46|0;A=h+4|0;B=i+8|0;C=i+12|0;D=i+4|0;E=h+4|0;F=i+8|0;G=i+12|0;H=i+4|0;I=f+4|0;J=I+2|0;K=I+3|0;a:while(1)switch(c[n>>2]|0){case 46:{L=c[j>>2]|0;if(!((c[f>>2]|0)==8?(c[o>>2]|0)==(c[p>>2]|0):0))ze(L,f)|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286){M=Wd(e,r)|0;c[n>>2]=M;N=M}else{M=t;O=c[M>>2]|0;P=c[M+4>>2]|0;M=s;c[M>>2]=O;c[M+4>>2]=P;c[u>>2]=286;N=O}if((N|0)!=288){Q=17;break a}O=c[r>>2]|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Wd(e,r)|0;else{P=t;M=c[P+4>>2]|0;R=s;c[R>>2]=c[P>>2];c[R+4>>2]=M;c[u>>2]=286}M=c[j>>2]|0;c[h>>2]=O;c[E>>2]=(a[O+4>>0]|64)&255;O=te(M,h,h)|0;c[F>>2]=-1;c[G>>2]=-1;c[i>>2]=4;c[H>>2]=O;a[J>>0]=c[I>>2];b[I>>1]=Ae(L,i)|0;a[K>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;break}case 91:{if(!((c[f>>2]|0)==8?(c[o>>2]|0)==(c[p>>2]|0):0))ze(k,f)|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Wd(e,r)|0;else{L=t;O=c[L+4>>2]|0;M=s;c[M>>2]=c[L>>2];c[M+4>>2]=O;c[u>>2]=286}pe(e,h,0)|0;O=c[j>>2]|0;if((c[x>>2]|0)==(c[y>>2]|0))ve(O,h);else ze(O,h)|0;if((c[n>>2]|0)!=93){Q=32;break a}c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Wd(e,r)|0;else{O=t;M=c[O+4>>2]|0;L=s;c[L>>2]=c[O>>2];c[L+4>>2]=M;c[u>>2]=286}a[J>>0]=c[I>>2];b[I>>1]=Ae(k,h)|0;a[K>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;break}case 58:{c[v>>2]=c[l>>2];if((c[u>>2]|0)==286){M=Wd(e,r)|0;c[n>>2]=M;S=M}else{M=t;L=c[M>>2]|0;O=c[M+4>>2]|0;M=s;c[M>>2]=L;c[M+4>>2]=O;c[u>>2]=286;S=L}if((S|0)!=288){Q=41;break a}L=c[r>>2]|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Wd(e,r)|0;else{O=t;M=c[O+4>>2]|0;R=s;c[R>>2]=c[O>>2];c[R+4>>2]=M;c[u>>2]=286}M=c[j>>2]|0;c[h>>2]=L;c[A>>2]=(a[L+4>>0]|64)&255;L=te(M,h,h)|0;c[B>>2]=-1;c[C>>2]=-1;c[i>>2]=4;c[D>>2]=L;Fe(k,f,i);Ge(e,f,m);break}case 123:case 289:case 40:{ve(k,f);if(((c[f>>2]|0)==6?(L=c[q>>2]|0,(L&256|0)==0):0)?(L|0)>=(d[z>>0]|0|0):0){L=(a[w>>0]|0)+-1<<24>>24;a[w>>0]=L;T=L}else T=a[w>>0]|0;L=(T&255)+1|0;M=(c[k>>2]|0)+78|0;if((T&255)<(d[M>>0]|0))U=L&255;else{if((T&255)>248){Q=54;break a}R=L&255;a[M>>0]=R;U=R}a[w>>0]=U;we(k,f,(U&255)+-1|0);Ge(e,f,m);break}default:{Q=58;break a}}if((Q|0)==17)Yd(e,288);else if((Q|0)==32)Yd(e,93);else if((Q|0)==41)Yd(e,288);else if((Q|0)==54)be(c[k+12>>2]|0,46675);else if((Q|0)==58){Fa=g;return}}function Ee(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=Fa;Fa=Fa+48|0;j=i+24|0;k=i;l=g+4|0;if(((c[l>>2]|0)+-7|0)>>>0>=3)be(f,56198);m=f+12|0;a:do switch(c[m>>2]|0){case 44:{c[f+8>>2]=c[f+4>>2];n=f+20|0;if((c[n>>2]|0)==286)c[m>>2]=Wd(f,f+16|0)|0;else{o=n;p=c[o+4>>2]|0;q=f+12|0;c[q>>2]=c[o>>2];c[q+4>>2]=p;c[n>>2]=286}c[k>>2]=g;n=k+4|0;De(f,n);p=c[n>>2]|0;if((p|0)!=9){n=c[f+28>>2]|0;q=n+48|0;o=a[q>>0]|0;r=k+8|0;s=o&255;t=(p|0)==7;u=g;v=0;while(1){if((c[u+4>>2]|0)==9){w=u+8|0;x=w+3|0;if((p|0)==(d[x>>0]|0)?(y=w+2|0,(c[r>>2]|0)==(d[y>>0]|0)):0){a[x>>0]=7;a[y>>0]=o;z=1}else z=v;if(t?(c[r>>2]|0)==(b[w>>1]|0):0){b[w>>1]=s;A=1}else A=z}else A=v;u=c[u>>2]|0;if(!u)break;else v=A}if(A|0){_d(n,(o&255)<<6|((p|0)==7?0:5)|c[r>>2]<<23)|0;v=a[q>>0]|0;u=(v&255)+1|0;s=(c[n>>2]|0)+78|0;do if((v&255)>=(d[s>>0]|0))if((v&255)>248)be(c[n+12>>2]|0,46675);else{t=u&255;a[s>>0]=t;B=t;break}else B=u&255;while(0);a[q>>0]=B}}if(((e[(c[f+32>>2]|0)+38>>1]|0)+h|0)>200)me(c[f+28>>2]|0,200,46631);else{Ee(f,k,h+1|0);C=f+28|0;break a}break}case 61:{u=f+4|0;s=f+8|0;c[s>>2]=c[u>>2];n=f+20|0;if((c[n>>2]|0)==286)c[m>>2]=Wd(f,f+16|0)|0;else{v=n;r=c[v+4>>2]|0;p=f+12|0;c[p>>2]=c[v>>2];c[p+4>>2]=r;c[n>>2]=286}pe(f,j,0)|0;b:do if((c[m>>2]|0)==44){r=f+16|0;p=f+28|0;v=f+12|0;o=j+4|0;t=1;while(1){c[s>>2]=c[u>>2];if((c[n>>2]|0)==286)c[m>>2]=Wd(f,r)|0;else{w=n;y=c[w+4>>2]|0;x=v;c[x>>2]=c[w>>2];c[x+4>>2]=y;c[n>>2]=286}D=c[p>>2]|0;ve(D,j);if(((c[j>>2]|0)==6?(y=c[o>>2]|0,(y&256|0)==0):0)?(y|0)>=(d[D+46>>0]|0):0){y=D+48|0;a[y>>0]=(a[y>>0]|0)+-1<<24>>24}y=D+48|0;x=a[y>>0]|0;w=(x&255)+1|0;E=(c[D>>2]|0)+78|0;if((x&255)<(d[E>>0]|0))F=w&255;else{if((x&255)>248)break;x=w&255;a[E>>0]=x;F=x}a[y>>0]=F;we(D,j,(F&255)+-1|0);pe(f,j,0)|0;y=t+1|0;if((c[m>>2]|0)==44)t=y;else{G=y;H=p;break b}}be(c[D+12>>2]|0,46675)}else{G=1;H=f+28|0}while(0);n=c[H>>2]|0;if((G|0)!=(h|0)){xe(n,h,G,j);if((G|0)<=(h|0)){C=H;break a}u=(c[H>>2]|0)+48|0;a[u>>0]=h-G+(d[u>>0]|0);C=H;break a}switch(c[j>>2]|0){case 12:{c[j>>2]=6;u=j+4|0;c[u>>2]=(c[(c[(c[n>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2]|0)>>>6&255;break}case 13:{u=(c[(c[n>>2]|0)+12>>2]|0)+(c[j+4>>2]<<2)|0;c[u>>2]=c[u>>2]&8388607|16777216;c[j>>2]=11;break}default:{}}Ce(n,l,j);Fa=i;return}default:Yd(f,61)}while(0);f=c[C>>2]|0;C=(d[f+48>>0]|0)+-1|0;c[j+8>>2]=-1;c[j+12>>2]=-1;c[j>>2]=6;c[j+4>>2]=C;Ce(f,l,j);Fa=i;return}function Fe(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;ze(b,e)|0;g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==6&(h&256|0)==0?(h|0)>=(d[b+46>>0]|0|0):0){i=b+48|0;a[i>>0]=(a[i>>0]|0)+-1<<24>>24}i=b+48|0;c[g>>2]=d[i>>0];c[e>>2]=6;e=(d[i>>0]|0)+2|0;j=(c[b>>2]|0)+78|0;do if(e>>>0>(d[j>>0]|0)>>>0)if(e>>>0>249)be(c[b+12>>2]|0,46675);else{k=e&255;a[j>>0]=k;l=k;break}else l=e&255;while(0);a[i>>0]=l;l=c[g>>2]|0;_d(b,h<<23|l<<6|(Ae(b,f)|0)<<14|12)|0;if((c[f>>2]|0)!=6)return;l=c[f+4>>2]|0;if(l&256|0)return;if((l|0)<(d[b+46>>0]|0|0))return;a[i>>0]=(a[i>>0]|0)+-1<<24>>24;return}function Ge(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;g=Fa;Fa=Fa+32|0;h=g+16|0;i=g;j=b+28|0;k=c[j>>2]|0;l=b+12|0;a:do switch(c[l>>2]|0){case 40:{m=b+4|0;n=b+8|0;c[n>>2]=c[m>>2];o=b+20|0;if((c[o>>2]|0)==286){p=Wd(b,b+16|0)|0;c[l>>2]=p;q=p}else{p=o;r=c[p>>2]|0;s=c[p+4>>2]|0;p=b+12|0;c[p>>2]=r;c[p+4>>2]=s;c[o>>2]=286;q=r}b:do if((q|0)==41)c[i>>2]=0;else{pe(b,i,0)|0;c:do if((c[l>>2]|0)==44){r=b+16|0;s=b+12|0;p=i+4|0;while(1){c[n>>2]=c[m>>2];if((c[o>>2]|0)==286)c[l>>2]=Wd(b,r)|0;else{t=o;u=c[t+4>>2]|0;v=s;c[v>>2]=c[t>>2];c[v+4>>2]=u;c[o>>2]=286}w=c[j>>2]|0;ve(w,i);if(((c[i>>2]|0)==6?(u=c[p>>2]|0,(u&256|0)==0):0)?(u|0)>=(d[w+46>>0]|0|0):0){u=w+48|0;a[u>>0]=(a[u>>0]|0)+-1<<24>>24}u=w+48|0;v=a[u>>0]|0;t=(v&255)+1|0;x=(c[w>>2]|0)+78|0;if((v&255)<(d[x>>0]|0))y=t&255;else{if((v&255)>248)break;v=t&255;a[x>>0]=v;y=v}a[u>>0]=y;we(w,i,(y&255)+-1|0);pe(b,i,0)|0;if((c[l>>2]|0)!=44){z=i;break c}}be(c[w+12>>2]|0,46675)}else z=i;while(0);switch(c[z>>2]|0){case 12:{p=(c[(c[k>>2]|0)+12>>2]|0)+(c[i+4>>2]<<2)|0;c[p>>2]=c[p>>2]&-8372225;break b;break}case 13:break;default:break b}p=c[k>>2]|0;s=c[p+12>>2]|0;r=i+4|0;u=s+(c[r>>2]<<2)|0;c[u>>2]=c[u>>2]&8388607;u=s+(c[r>>2]<<2)|0;r=k+48|0;s=a[r>>0]|0;v=s&255;c[u>>2]=v<<6|c[u>>2]&-16321;u=v+1|0;v=p+78|0;do if((s&255)>=(d[v>>0]|0))if((s&255)>248)be(c[k+12>>2]|0,46675);else{p=u&255;a[v>>0]=p;A=p;break}else A=u&255;while(0);a[r>>0]=A}while(0);oe(b,41,40,f);break}case 123:{He(b,i);break}case 289:{o=b+16|0;m=c[o>>2]|0;c[h>>2]=m;c[h+4>>2]=(a[m+4>>0]|64)&255;m=te(k,h,h)|0;c[i+8>>2]=-1;c[i+12>>2]=-1;c[i>>2]=4;c[i+4>>2]=m;c[b+8>>2]=c[b+4>>2];m=b+20|0;if((c[m>>2]|0)==286){c[l>>2]=Wd(b,o)|0;break a}else{o=m;n=c[o+4>>2]|0;u=b+12|0;c[u>>2]=c[o>>2];c[u+4>>2]=n;c[m>>2]=286;break a}break}default:be(b,46838)}while(0);b=e+4|0;l=c[b>>2]|0;switch(c[i>>2]|0){case 0:{B=k+48|0;break}case 13:case 12:{C=0;D=l<<6;E=D|C;F=E|32810;G=_d(k,F)|0;H=e+8|0;c[H>>2]=-1;I=e+12|0;c[I>>2]=-1;c[e>>2]=12;c[b>>2]=G;J=c[k>>2]|0;K=J+20|0;L=c[K>>2]|0;M=k+20|0;N=c[M>>2]|0;O=N+-1|0;P=L+(O<<2)|0;c[P>>2]=f;Q=l+1|0;R=Q&255;S=k+48|0;a[S>>0]=R;Fa=g;return}default:{ve(k,i);if(((c[i>>2]|0)==6?(h=c[i+4>>2]|0,(h&256|0)==0):0)?(h|0)>=(d[k+46>>0]|0|0):0){h=k+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}h=k+48|0;A=a[h>>0]|0;z=(A&255)+1|0;w=(c[k>>2]|0)+78|0;do if((A&255)>=(d[w>>0]|0))if((A&255)>248)be(c[k+12>>2]|0,46675);else{y=z&255;a[w>>0]=y;T=y;break}else T=z&255;while(0);a[h>>0]=T;we(k,i,(T&255)+-1|0);B=h}}C=((l^511)+(d[B>>0]|0)<<23)+8388608|0;D=l<<6;E=D|C;F=E|32810;G=_d(k,F)|0;H=e+8|0;c[H>>2]=-1;I=e+12|0;c[I>>2]=-1;c[e>>2]=12;c[b>>2]=G;J=c[k>>2]|0;K=J+20|0;L=c[K>>2]|0;M=k+20|0;N=c[M>>2]|0;O=N+-1|0;P=L+(O<<2)|0;c[P>>2]=f;Q=l+1|0;R=Q&255;S=k+48|0;a[S>>0]=R;Fa=g;return}function He(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;f=Fa;Fa=Fa+32|0;g=f;h=b+28|0;i=c[h>>2]|0;j=b+4|0;k=c[j>>2]|0;l=_d(i,11)|0;m=g+28|0;c[m>>2]=0;n=g+20|0;c[n>>2]=0;o=g+24|0;c[o>>2]=0;p=g+16|0;c[p>>2]=e;c[e+8>>2]=-1;c[e+12>>2]=-1;c[e>>2]=11;q=e+4|0;c[q>>2]=l;c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=0;r=g+4|0;c[r>>2]=0;s=c[h>>2]|0;ve(s,e);if(((c[e>>2]|0)==6?(t=c[q>>2]|0,(t&256|0)==0):0)?(t|0)>=(d[s+46>>0]|0|0):0){t=s+48|0;a[t>>0]=(a[t>>0]|0)+-1<<24>>24}t=s+48|0;q=a[t>>0]|0;u=(q&255)+1|0;v=(c[s>>2]|0)+78|0;do if((q&255)>=(d[v>>0]|0))if((q&255)>248)be(c[s+12>>2]|0,46675);else{w=u&255;a[v>>0]=w;x=w;break}else x=u&255;while(0);a[t>>0]=x;we(s,e,(x&255)+-1|0);x=b+12|0;if((c[x>>2]|0)!=123)Yd(b,123);e=b+8|0;c[e>>2]=c[j>>2];s=b+20|0;if((c[s>>2]|0)==286){t=Wd(b,b+16|0)|0;c[x>>2]=t;y=t}else{t=s;u=c[t>>2]|0;v=c[t+4>>2]|0;t=b+12|0;c[t>>2]=u;c[t+4>>2]=v;c[s>>2]=286;y=u}a:do if((y|0)!=125){u=b+24|0;v=b+20|0;t=i+48|0;q=i+46|0;w=b+16|0;z=b+12|0;A=0;b:while(1){if(A|0){ve(i,g);if(((c[g>>2]|0)==6?(B=c[r>>2]|0,(B&256|0)==0):0)?(B|0)>=(d[q>>0]|0|0):0){B=(a[t>>0]|0)+-1<<24>>24;a[t>>0]=B;C=B}else C=a[t>>0]|0;B=(C&255)+1|0;D=(c[i>>2]|0)+78|0;if((C&255)<(d[D>>0]|0))E=B&255;else{if((C&255)>248){F=28;break}G=B&255;a[D>>0]=G;E=G}a[t>>0]=E;we(i,g,(E&255)+-1|0);c[g>>2]=0;if((c[m>>2]|0)==50){G=c[(c[p>>2]|0)+4>>2]|0;D=c[o>>2]|0;B=((D+-1|0)/50|0)+1|0;H=G<<6|419430449;if((D|0)<25551)_d(i,B<<14|H)|0;else{_d(i,H)|0;_d(i,B<<6|52)|0}a[t>>0]=G+1;c[m>>2]=0}}c:do switch(c[x>>2]|0){case 288:{G=Wd(b,u)|0;c[v>>2]=G;if((G|0)==61){Ie(b,g);break c}pe(b,g,0)|0;G=c[o>>2]|0;if((G|0)>2147483645){F=38;break b}c[o>>2]=G+1;c[m>>2]=(c[m>>2]|0)+1;break}case 91:{Ie(b,g);break}default:{pe(b,g,0)|0;G=c[o>>2]|0;if((G|0)>2147483645){F=43;break b}c[o>>2]=G+1;c[m>>2]=(c[m>>2]|0)+1}}while(0);d:do switch(c[x>>2]|0){case 44:{c[e>>2]=c[j>>2];if((c[s>>2]|0)==286){G=Wd(b,w)|0;c[x>>2]=G;I=G;break d}else{G=s;B=c[G>>2]|0;H=c[G+4>>2]|0;G=z;c[G>>2]=B;c[G+4>>2]=H;c[s>>2]=286;I=B;break d}break}case 59:{c[e>>2]=c[j>>2];if((c[s>>2]|0)==286){B=Wd(b,w)|0;c[x>>2]=B;I=B;break d}else{B=s;H=c[B>>2]|0;G=c[B+4>>2]|0;B=z;c[B>>2]=H;c[B+4>>2]=G;c[s>>2]=286;I=H;break d}break}default:break a}while(0);if((I|0)==125)break a;A=c[g>>2]|0}if((F|0)==28)be(c[i+12>>2]|0,46675);else if((F|0)==38)me(c[h>>2]|0,2147483645,46866);else if((F|0)==43)me(c[h>>2]|0,2147483645,46866)}while(0);oe(b,125,123,k);k=c[m>>2]|0;do if(k|0){switch(c[g>>2]|0){case 0:{J=k;F=75;break}case 12:{b=(c[(c[i>>2]|0)+12>>2]|0)+(c[r>>2]<<2)|0;c[b>>2]=c[b>>2]&-8372225;F=61;break}case 13:{b=c[i>>2]|0;h=c[b+12>>2]|0;I=h+(c[r>>2]<<2)|0;c[I>>2]=c[I>>2]&8388607;I=h+(c[r>>2]<<2)|0;h=i+48|0;s=a[h>>0]|0;x=s&255;c[I>>2]=x<<6|c[I>>2]&-16321;I=x+1|0;x=b+78|0;do if((s&255)>=(d[x>>0]|0))if((s&255)>248)be(c[i+12>>2]|0,46675);else{b=I&255;a[x>>0]=b;K=b;break}else K=I&255;while(0);a[h>>0]=K;F=61;break}default:{ve(i,g);if(((c[g>>2]|0)==6?(I=c[r>>2]|0,(I&256|0)==0):0)?(I|0)>=(d[i+46>>0]|0|0):0){I=i+48|0;a[I>>0]=(a[I>>0]|0)+-1<<24>>24}I=i+48|0;x=a[I>>0]|0;s=(x&255)+1|0;b=(c[i>>2]|0)+78|0;do if((x&255)>=(d[b>>0]|0))if((x&255)>248)be(c[i+12>>2]|0,46675);else{j=s&255;a[b>>0]=j;L=j;break}else L=s&255;while(0);a[I>>0]=L;we(i,g,(L&255)+-1|0);J=c[m>>2]|0;F=75}}if((F|0)==61){s=c[(c[p>>2]|0)+4>>2]|0;b=c[o>>2]|0;x=((b+-1|0)/50|0)+1|0;h=s<<6|49;if((b|0)<25551)_d(i,x<<14|h)|0;else{_d(i,h)|0;_d(i,x<<6|52)|0}a[i+48>>0]=s+1;c[o>>2]=(c[o>>2]|0)+-1;break}else if((F|0)==75){s=c[(c[p>>2]|0)+4>>2]|0;x=c[o>>2]|0;h=((x+-1|0)/50|0)+1|0;b=((J|0)==-1?49:J<<23|49)|s<<6;if((x|0)<25551)_d(i,h<<14|b)|0;else{_d(i,b)|0;_d(i,h<<6|52)|0}a[i+48>>0]=s+1;break}}while(0);J=(c[(c[i>>2]|0)+12>>2]|0)+(l<<2)|0;l=c[J>>2]&8388607;i=c[o>>2]|0;if(i>>>0<8)M=i;else{if(i>>>0>15){o=1;p=i;do{F=p+1|0;p=F>>>1;o=o+1|0}while(F>>>0>31);N=o<<3;O=p}else{N=8;O=i}M=N|O+-8}O=M<<23|l;c[J>>2]=O;l=O&-8372225;O=c[n>>2]|0;if(O>>>0<8){P=O;Q=P<<14;R=Q&8372224;S=R|l;c[J>>2]=S;Fa=f;return}if(O>>>0>15){n=1;M=O;do{N=M+1|0;M=N>>>1;n=n+1|0}while(N>>>0>31);T=n<<3;U=M}else{T=8;U=O}P=T|U+-8;Q=P<<14;R=Q&8372224;S=R|l;c[J>>2]=S;Fa=f;return}function Ie(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=Fa;Fa=Fa+48|0;f=e+32|0;g=e+16|0;h=e;i=b+28|0;j=c[i>>2]|0;k=j+48|0;l=a[k>>0]|0;m=b+12|0;do if((c[m>>2]|0)!=288){n=b+4|0;o=b+8|0;c[o>>2]=c[n>>2];p=b+20|0;if((c[p>>2]|0)==286)c[m>>2]=Wd(b,b+16|0)|0;else{q=p;r=c[q+4>>2]|0;s=b+12|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;c[p>>2]=286}pe(b,g,0)|0;r=c[i>>2]|0;if((c[g+8>>2]|0)==(c[g+12>>2]|0))ve(r,g);else ze(r,g)|0;if((c[m>>2]|0)!=93)Yd(b,93);c[o>>2]=c[n>>2];if((c[p>>2]|0)==286){n=Wd(b,b+16|0)|0;c[m>>2]=n;t=n;break}else{n=p;o=c[n>>2]|0;r=c[n+4>>2]|0;n=b+12|0;c[n>>2]=o;c[n+4>>2]=r;c[p>>2]=286;t=o;break}}else{if((c[d+20>>2]|0)>2147483645)me(j,2147483645,46866);o=b+16|0;p=c[o>>2]|0;c[b+8>>2]=c[b+4>>2];r=b+20|0;if((c[r>>2]|0)==286){c[m>>2]=Wd(b,o)|0;u=c[i>>2]|0}else{o=r;n=c[o+4>>2]|0;s=b+12|0;c[s>>2]=c[o>>2];c[s+4>>2]=n;c[r>>2]=286;u=j}c[f>>2]=p;c[f+4>>2]=(a[p+4>>0]|64)&255;p=te(u,f,f)|0;c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=4;c[g+4>>2]=p;t=c[m>>2]|0}while(0);f=d+20|0;c[f>>2]=(c[f>>2]|0)+1;if((t|0)!=61)Yd(b,61);c[b+8>>2]=c[b+4>>2];t=b+20|0;if((c[t>>2]|0)==286){c[m>>2]=Wd(b,b+16|0)|0;v=Ae(j,g)|0;pe(b,h,0)|0;w=d+16|0;x=c[w>>2]|0;y=x+4|0;z=c[y>>2]|0;A=Ae(j,h)|0;B=z<<6;C=v<<23;D=A<<14;E=C|B;F=E|D;G=F|10;_d(j,G)|0;a[k>>0]=l;Fa=e;return}else{m=t;f=c[m+4>>2]|0;u=b+12|0;c[u>>2]=c[m>>2];c[u+4>>2]=f;c[t>>2]=286;v=Ae(j,g)|0;pe(b,h,0)|0;w=d+16|0;x=c[w>>2]|0;y=x+4|0;z=c[y>>2]|0;A=Ae(j,h)|0;B=z<<6;C=v<<23;D=A<<14;E=C|B;F=E|D;G=F|10;_d(j,G)|0;a[k>>0]=l;Fa=e;return}}function Je(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!e){i=0;return i|0}j=a[e+46>>0]|0;k=f+12|0;l=(j&255)+-1|0;m=c[e>>2]|0;a:do if(j<<24>>24){n=c[e+40>>2]|0;o=c[m+24>>2]|0;p=c[c[(c[e+12>>2]|0)+44>>2]>>2]|0;q=a[f+4>>0]|0;r=f+16|0;b:do if(q<<24>>24==4){s=l;while(1){t=c[o+((b[p+(s+n<<1)>>1]|0)*12|0)>>2]|0;if((t|0)==(f|0)&(a[t+4>>0]|0)==4){u=s;break b}if((s|0)>0)s=s+-1|0;else break a}}else{s=l;while(1){t=c[o+((b[p+(s+n<<1)>>1]|0)*12|0)>>2]|0;if(q<<24>>24==(a[t+4>>0]|0)){v=c[k>>2]|0;if((t|0)==(f|0)){u=s;break b}if((v|0)==(c[t+12>>2]|0)?(ss(r,t+16|0,v)|0)==0:0){u=s;break b}}if((s|0)>0)s=s+-1|0;else break a}}while(0);if((u|0)>-1){c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=7;c[g+4>>2]=u;if(h|0){i=7;return i|0}r=e+16|0;do r=c[r>>2]|0;while((u|0)<(d[r+8>>0]|0));a[r+9>>0]=1;i=7;return i|0}}while(0);u=c[m+28>>2]|0;m=a[e+47>>0]|0;c:do if(!(m<<24>>24))w=29;else{h=a[f+4>>0]|0;l=f+16|0;j=m&255;if(h<<24>>24==4){q=0;while(1){n=c[u+(q<<3)>>2]|0;if((a[n+4>>0]|0)==4&(n|0)==(f|0)){x=q;break c}q=q+1|0;if(q>>>0>=j>>>0){w=29;break c}}}q=0;while(1){r=c[u+(q<<3)>>2]|0;if((a[r+4>>0]|0)==h<<24>>24){n=c[r+12>>2]|0;if((r|0)==(f|0)){x=q;break c}if((n|0)==(c[k>>2]|0)?(ss(r+16|0,l,n)|0)==0:0){x=q;break c}}q=q+1|0;if(q>>>0>=j>>>0){w=29;break}}}while(0);do if((w|0)==29)if(!(Je(c[e+8>>2]|0,f,g,0)|0)){i=0;return i|0}else{x=Vd(e,f,g)|0;break}while(0);c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=8;c[g+4>>2]=x;i=8;return i|0}function Ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=Fa;Fa=Fa+16|0;g=f+8|0;h=f;ve(b,d);i=c[d>>2]|0;a:do switch(i|0){case 1:{j=e+1|0;k=c[b+20>>2]|0;do if((k|0)>(c[b+24>>2]|0)?(l=(c[(c[b>>2]|0)+12>>2]|0)+(k+-1<<2)|0,m=c[l>>2]|0,(m&63|0)==4):0){n=m>>>6&255;o=n+(m>>>23)|0;if((n|0)>(e|0)|(o+1|0)<(e|0)?(n|0)<(e|0)|(n|0)>(j|0):0)break;p=(n|0)<(e|0)?n:e;c[l>>2]=p<<6&16320|m&8372287|((o|0)>(e|0)?o:e)-p<<23;break a}while(0);_d(b,e<<6|4)|0;break}case 2:case 3:{_d(b,e<<6|((i|0)==2&1)<<23|3)|0;break}case 4:{j=c[d+4>>2]|0;k=e<<6;if((j|0)<262144){_d(b,k|j<<14|1)|0;break a}else{_d(b,k|2)|0;_d(b,j<<6|52)|0;break a}break}case 5:{j=c[d+4>>2]|0;c[g>>2]=j;k=c[(c[b+12>>2]|0)+32>>2]|0;c[h>>2]=j;c[h+4>>2]=3;if(!j){j=k+8|0;p=c[j>>2]|0;c[j>>2]=p+8;o=Oc(k,g,4)|0;c[p>>2]=o;c[p+4>>2]=(a[o+4>>0]|64)&255;o=te(b,(c[j>>2]|0)+-8|0,h)|0;c[j>>2]=(c[j>>2]|0)+-8;q=o}else q=te(b,h,h)|0;o=e<<6;if((q|0)<262144){_d(b,o|q<<14|1)|0;break a}else{_d(b,o|2)|0;_d(b,q<<6|52)|0;break a}break}case 11:{o=(c[(c[b>>2]|0)+12>>2]|0)+(c[d+4>>2]<<2)|0;c[o>>2]=c[o>>2]&-16321|e<<6&16320;break}case 6:{o=c[d+4>>2]|0;if((o|0)!=(e|0))_d(b,o<<23|e<<6)|0;break}default:{Fa=f;return}}while(0);c[d+4>>2]=e;c[d>>2]=6;Fa=f;return}function Le(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=Fa;Fa=Fa+16|0;i=h;c[i+12>>2]=-1;c[i+8>>2]=-1;c[i>>2]=5;c[i+4>>2]=0;switch(e|0){case 0:{if(((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0){e=f+4|0;c[e>>2]=0-(c[e>>2]|0);Fa=h;return}ze(b,f)|0;Oe(b,32,f,i,g);Fa=h;return}case 14:{ze(b,f)|0;Oe(b,27,f,i,g);Fa=h;return}case 16:{ze(b,f)|0;Oe(b,29,f,i,g);Fa=h;return}case 17:{ze(b,f)|0;Oe(b,30,f,i,g);Fa=h;return}case 18:{ze(b,f)|0;Oe(b,31,f,i,g);Fa=h;return}case 1:{ve(b,f);switch(c[f>>2]|0){case 3:case 1:{c[f>>2]=2;break}case 2:case 5:case 4:{c[f>>2]=3;break}case 10:{e=c[f+4>>2]|0;j=(c[(c[b>>2]|0)+12>>2]|0)+(e<<2)|0;if((e|0)>0?(e=j+-4|0,k=c[e>>2]|0,((k&63)+-37|0)>>>0<5):0){l=e;m=k}else{l=j;m=c[j>>2]|0}c[l>>2]=((m&16320|0)==0&1)<<6|m&-16321;break}case 6:{n=25;break}case 11:{m=b+48|0;l=a[m>>0]|0;j=(l&255)+1|0;k=(c[b>>2]|0)+78|0;do if((l&255)>=(d[k>>0]|0))if((l&255)>248)be(c[b+12>>2]|0,46675);else{e=j&255;a[k>>0]=e;o=e;break}else o=j&255;while(0);a[m>>0]=o;Ke(b,f,(o&255)+-1|0);if((c[f>>2]|0)==6)n=25;else{p=f+4|0;n=28}break}default:{}}if((n|0)==25){o=f+4|0;m=c[o>>2]|0;if((m&256|0)==0?(m|0)>=(d[b+46>>0]|0|0):0){m=b+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;p=o;n=28}else{p=o;n=28}}if((n|0)==28){c[p>>2]=_d(b,c[p>>2]<<23|33)|0;c[f>>2]=11}p=f+12|0;n=c[p>>2]|0;o=f+8|0;m=c[o>>2]|0;c[p>>2]=m;c[o>>2]=n;if((m|0)==-1)q=n;else{n=c[(c[b>>2]|0)+12>>2]|0;p=m;do{m=n+(p<<2)|0;if((p|0)>0?(j=m+-4|0,k=c[j>>2]|0,((k&63)+-37|0)>>>0<5):0){r=j;s=k}else{r=m;s=c[m>>2]|0}if((s&63|0)==41)c[r>>2]=s&8372224|s>>>23<<6|40;k=((c[m>>2]|0)>>>14)+-131071|0;p=(k|0)==-1?-1:p+1+k|0}while((p|0)!=-1);q=c[o>>2]|0}if((q|0)==-1){Fa=h;return}o=c[(c[b>>2]|0)+12>>2]|0;p=q;do{q=o+(p<<2)|0;if((p|0)>0?(s=q+-4|0,r=c[s>>2]|0,((r&63)+-37|0)>>>0<5):0){t=s;u=r}else{t=q;u=c[q>>2]|0}if((u&63|0)==41)c[t>>2]=u&8372224|u>>>23<<6|40;r=((c[q>>2]|0)>>>14)+-131071|0;p=(r|0)==-1?-1:p+1+r|0}while((p|0)!=-1);Fa=h;return}case 2:{ze(b,f)|0;Oe(b,34,f,i,g);Fa=h;return}default:{Fa=h;return}}}function Me(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;switch(e|0){case 26:{qe(b,f);return}case 27:{Qe(b,f);return}case 19:{ve(b,f);if(((c[f>>2]|0)==6?(e=c[f+4>>2]|0,(e&256|0)==0):0)?(e|0)>=(d[b+46>>0]|0|0):0){e=b+48|0;a[e>>0]=(a[e>>0]|0)+-1<<24>>24}e=b+48|0;g=a[e>>0]|0;h=(g&255)+1|0;i=(c[b>>2]|0)+78|0;do if((g&255)>=(d[i>>0]|0))if((g&255)>248)be(c[b+12>>2]|0,46675);else{j=h&255;a[i>>0]=j;k=j;break}else k=h&255;while(0);a[e>>0]=k;we(b,f,(k&255)+-1|0);return}case 18:case 17:case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:{if(((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0)return;Ae(b,f)|0;return}default:{Ae(b,f)|0;return}}}function Ne(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;switch(e|0){case 26:{ve(b,g);i=g+12|0;j=c[f+12>>2]|0;do if((j|0)!=-1){k=c[i>>2]|0;if((k|0)==-1){c[i>>2]=j;break}l=c[(c[b>>2]|0)+12>>2]|0;m=k;while(1){n=l+(m<<2)|0;o=c[n>>2]|0;k=(o>>>14)+-131071|0;p=(k|0)==-1?-1:m+1+k|0;if((p|0)==-1)break;else m=p}l=j+~m|0;if((((l|0)>-1?l:0-l|0)|0)>131071)be(c[b+12>>2]|0,46263);else{c[n>>2]=(l<<14)+2147467264|o&16383;break}}while(0);c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];return}case 27:{ve(b,g);o=g+8|0;n=c[f+8>>2]|0;do if((n|0)!=-1){j=c[o>>2]|0;if((j|0)==-1){c[o>>2]=n;break}i=c[(c[b>>2]|0)+12>>2]|0;l=j;while(1){q=i+(l<<2)|0;r=c[q>>2]|0;j=(r>>>14)+-131071|0;p=(j|0)==-1?-1:l+1+j|0;if((p|0)==-1)break;else l=p}i=n+~l|0;if((((i|0)>-1?i:0-i|0)|0)>131071)be(c[b+12>>2]|0,46263);else{c[q>>2]=(i<<14)+2147467264|r&16383;break}}while(0);c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];return}case 19:{if((c[g+8>>2]|0)==(c[g+12>>2]|0))ve(b,g);else ze(b,g)|0;if((c[g>>2]|0)==11?(r=c[(c[b>>2]|0)+12>>2]|0,q=g+4|0,n=r+(c[q>>2]<<2)|0,o=c[n>>2]|0,(o&63|0)==35):0){i=f+4|0;if(((c[f>>2]|0)==6?(m=c[i>>2]|0,(m&256|0)==0):0)?(m|0)>=(d[b+46>>0]|0|0):0){m=b+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;m=r+(c[q>>2]<<2)|0;s=m;t=c[m>>2]|0}else{s=n;t=o}c[s>>2]=c[i>>2]<<23|t&8388607;c[f>>2]=11;c[i>>2]=c[q>>2];return}ve(b,g);if(((c[g>>2]|0)==6?(q=c[g+4>>2]|0,(q&256|0)==0):0)?(q|0)>=(d[b+46>>0]|0|0):0){q=b+48|0;a[q>>0]=(a[q>>0]|0)+-1<<24>>24}q=b+48|0;i=a[q>>0]|0;t=(i&255)+1|0;s=(c[b>>2]|0)+78|0;do if((i&255)>=(d[s>>0]|0))if((i&255)>248)be(c[b+12>>2]|0,46675);else{o=t&255;a[s>>0]=o;u=o;break}else u=t&255;while(0);a[q>>0]=u;we(b,g,(u&255)+-1|0);Oe(b,35,f,g,h);return}case 18:case 17:case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:{Oe(b,e+13|0,f,g,h);return}case 22:case 21:case 20:{Pe(b,e+17|0,1,f,g);return}case 25:case 24:case 23:{Pe(b,e+14|0,0,f,g);return}default:return}}function Oe(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;if(((((((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0)?(c[g>>2]|0)==5:0)?(c[g+8>>2]|0)==-1:0)?(c[g+12>>2]|0)==-1:0)?(i=c[g+4>>2]|0,j=f+4|0,!((e|1|0)==17&(i|0)==0)):0){c[j>>2]=dd(e+-13|0,c[j>>2]|0,i)|0;return}if((e|2|0)==34)k=0;else k=Ae(b,g)|0;i=Ae(b,f)|0;if((i|0)>(k|0)){if(((c[f>>2]|0)==6?(j=c[f+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}if(((c[g>>2]|0)==6?(j=c[g+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}}else{if(((c[g>>2]|0)==6?(j=c[g+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}if(((c[f>>2]|0)==6?(j=c[f+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}}c[f+4>>2]=_d(b,k<<14|e|i<<23)|0;c[f>>2]=11;c[(c[(c[b>>2]|0)+20>>2]|0)+((c[b+20>>2]|0)+-1<<2)>>2]=h;return}function Pe(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=Ae(b,g)|0;j=Ae(b,h)|0;if(((c[h>>2]|0)==6?(k=c[h+4>>2]|0,(k&256|0)==0):0)?(k|0)>=(d[b+46>>0]|0|0):0){k=b+48|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24}if(((c[g>>2]|0)==6?(k=c[g+4>>2]|0,(k&256|0)==0):0)?(k|0)>=(d[b+46>>0]|0|0):0){k=b+48|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24}k=(e|0)!=37&(f|0)==0;_d(b,(k?64:f<<6)|e|(k?j:i)<<23|(k?i:j)<<14)|0;j=b+28|0;i=c[j>>2]|0;c[j>>2]=-1;j=_d(b,2147450916)|0;if((i|0)==-1){l=j;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}if((j|0)==-1){l=i;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}k=c[(c[b>>2]|0)+12>>2]|0;e=j;while(1){n=k+(e<<2)|0;o=c[n>>2]|0;f=(o>>>14)+-131071|0;h=(f|0)==-1?-1:e+1+f|0;if((h|0)==-1)break;else e=h}k=i+~e|0;if((((k|0)>-1?k:0-k|0)|0)>131071)be(c[b+12>>2]|0,46263);c[n>>2]=(k<<14)+2147467264|o&16383;l=j;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}function Qe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;ve(b,e);f=c[e>>2]|0;a:do switch(f|0){case 10:{g=c[e+4>>2]|0;h=29;break}case 3:case 1:break;case 11:{i=c[b>>2]|0;j=e+4|0;k=c[(c[i+12>>2]|0)+(c[j>>2]<<2)>>2]|0;l=b+20|0;if((k&63|0)==33){c[l>>2]=(c[l>>2]|0)+-1;_d(b,k>>>23<<6|40)|0;k=b+28|0;l=c[k>>2]|0;c[k>>2]=-1;k=_d(b,2147450916)|0;if((l|0)!=-1)if((k|0)!=-1){m=c[(c[b>>2]|0)+12>>2]|0;n=k;while(1){o=m+(n<<2)|0;p=c[o>>2]|0;q=(p>>>14)+-131071|0;r=(q|0)==-1?-1:n+1+q|0;if((r|0)==-1)break;else n=r}m=l+~n|0;if((((m|0)>-1?m:0-m|0)|0)>131071)be(c[b+12>>2]|0,46263);else{c[o>>2]=(m<<14)+2147467264|p&16383;g=k;h=29;break a}}else{s=l;h=30}else{g=k;h=29}}else{t=j;u=i;h=13}break}default:{m=e+4|0;if((f|0)==6){v=m;h=19}else{t=m;u=c[b>>2]|0;h=13}}}while(0);if((h|0)==13){f=b+48|0;p=a[f>>0]|0;o=(p&255)+1|0;m=u+78|0;do if((p&255)>=(d[m>>0]|0))if((p&255)>248)be(c[b+12>>2]|0,46675);else{u=o&255;a[m>>0]=u;w=u;break}else w=o&255;while(0);a[f>>0]=w;Ke(b,e,(w&255)+-1|0);if((c[e>>2]|0)==6){v=t;h=19}else{x=t;h=22}}if((h|0)==19){t=c[e+4>>2]|0;if((t&256|0)==0?(t|0)>=(d[b+46>>0]|0|0):0){t=b+48|0;a[t>>0]=(a[t>>0]|0)+-1<<24>>24;x=v;h=22}else{x=v;h=22}}do if((h|0)==22){_d(b,c[x>>2]<<23|32745)|0;v=b+28|0;t=c[v>>2]|0;c[v>>2]=-1;v=_d(b,2147450916)|0;if((t|0)!=-1)if((v|0)!=-1){w=c[(c[b>>2]|0)+12>>2]|0;f=v;while(1){y=w+(f<<2)|0;z=c[y>>2]|0;o=(z>>>14)+-131071|0;m=(o|0)==-1?-1:f+1+o|0;if((m|0)==-1)break;else f=m}w=t+~f|0;if((((w|0)>-1?w:0-w|0)|0)>131071)be(c[b+12>>2]|0,46263);else{c[y>>2]=(w<<14)+2147467264|z&16383;g=v;h=29;break}}else{s=t;h=30}else{g=v;h=29}}while(0);if((h|0)==29?(g|0)!=-1:0){s=g;h=30}do if((h|0)==30){g=e+8|0;z=c[g>>2]|0;if((z|0)==-1){c[g>>2]=s;break}g=c[(c[b>>2]|0)+12>>2]|0;y=z;while(1){A=g+(y<<2)|0;B=c[A>>2]|0;z=(B>>>14)+-131071|0;x=(z|0)==-1?-1:y+1+z|0;if((x|0)==-1)break;else y=x}g=s+~y|0;if((((g|0)>-1?g:0-g|0)|0)>131071)be(c[b+12>>2]|0,46263);else{c[A>>2]=(g<<14)+2147467264|B&16383;break}}while(0);B=e+12|0;e=c[B>>2]|0;c[b+24>>2]=c[b+20>>2];A=b+28|0;if((e|0)==-1){c[B>>2]=-1;return}s=c[A>>2]|0;if((s|0)==-1){c[A>>2]=e;c[B>>2]=-1;return}A=c[(c[b>>2]|0)+12>>2]|0;h=s;while(1){C=A+(h<<2)|0;D=c[C>>2]|0;s=(D>>>14)+-131071|0;g=(s|0)==-1?-1:h+1+s|0;if((g|0)==-1)break;else h=g}A=e+~h|0;if((((A|0)>-1?A:0-A|0)|0)>131071)be(c[b+12>>2]|0,46263);c[C>>2]=(A<<14)+2147467264|D&16383;c[B>>2]=-1;return}function Re(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Fa;Fa=Fa+16|0;e=b;f=c[a>>2]|0;g=a+36|0;h=c[g>>2]|0;i=c[h>>2]|0;c[h>>2]=i+-1;if(!i){i=La[c[h+8>>2]&7](c[h+16>>2]|0,c[h+12>>2]|0,e)|0;j=c[e>>2]|0;if((i|0)==0|(j|0)==0)k=-1;else{c[h>>2]=j+-1;c[h+4>>2]=i+1;k=d[i>>0]|0}l=k}else{k=h+4|0;h=c[k>>2]|0;c[k>>2]=h+1;l=d[h>>0]|0}c[a>>2]=l;switch(l|0){case 13:case 10:{if((l|0)!=(f|0)){f=c[g>>2]|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(!g){g=La[c[f+8>>2]&7](c[f+16>>2]|0,c[f+12>>2]|0,e)|0;l=c[e>>2]|0;if((g|0)==0|(l|0)==0)m=-1;else{c[f>>2]=l+-1;c[f+4>>2]=g+1;m=d[g>>0]|0}n=m}else{m=f+4|0;f=c[m>>2]|0;c[m>>2]=f+1;n=d[f>>0]|0}c[a>>2]=n}break}default:{}}n=a+4|0;f=c[n>>2]|0;c[n>>2]=f+1;if((f|0)>2147483643)be(a,47319);else{Fa=b;return}}function Se(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;e=Fa;Fa=Fa+16|0;f=e;g=c[b>>2]|0;h=b+40|0;i=c[h>>2]|0;j=i+4|0;k=c[j>>2]|0;l=k+1|0;m=i+8|0;n=c[m>>2]|0;if(l>>>0>n>>>0){if(n>>>0>2147483645)ke(b,46491,0);o=n<<1;p=c[b+32>>2]|0;if((o|0)==-2)wc(p);q=c[i>>2]|0;r=c[p+12>>2]|0;s=(q|0)==0;t=r+4|0;u=Ma[c[r>>2]&1](c[t>>2]|0,q,n,o)|0;if((o|0)!=0&(u|0)==0){if(!(a[r+51>>0]|0))jc(p,4);vc(p,1);v=Ma[c[r>>2]&1](c[t>>2]|0,q,n,o)|0;if(!v)jc(p,4);else w=v}else w=u;u=r+12|0;c[u>>2]=(s?0:0-n|0)+o+(c[u>>2]|0);c[i>>2]=w;c[m>>2]=o;o=c[j>>2]|0;x=o+1|0;y=w;z=o}else{x=l;y=c[i>>2]|0;z=k}c[j>>2]=x;a[y+z>>0]=g;z=b+36|0;y=c[z>>2]|0;x=c[y>>2]|0;c[y>>2]=x+-1;if(!x){x=La[c[y+8>>2]&7](c[y+16>>2]|0,c[y+12>>2]|0,f)|0;j=c[f>>2]|0;if((x|0)==0|(j|0)==0)A=-1;else{c[y>>2]=j+-1;c[y+4>>2]=x+1;A=d[x>>0]|0}B=A}else{A=y+4|0;y=c[A>>2]|0;c[A>>2]=y+1;B=d[y>>0]|0}c[b>>2]=B;if((B|0)!=61){C=0;D=B;E=(D|0)!=(g|0);F=E<<31>>31;G=C^F;Fa=e;return G|0}B=b+32|0;y=0;while(1){A=c[h>>2]|0;x=A+4|0;j=c[x>>2]|0;k=j+1|0;i=A+8|0;l=c[i>>2]|0;if(k>>>0>l>>>0){if(l>>>0>2147483645){H=22;break}o=l<<1;I=c[B>>2]|0;if((o|0)==-2){H=24;break}w=c[A>>2]|0;m=c[I+12>>2]|0;u=(w|0)==0;n=m+4|0;s=Ma[c[m>>2]&1](c[n>>2]|0,w,l,o)|0;if((o|0)!=0&(s|0)==0){if(!(a[m+51>>0]|0)){H=28;break}vc(I,1);r=Ma[c[m>>2]&1](c[n>>2]|0,w,l,o)|0;if(!r){H=28;break}else J=r}else J=s;s=m+12|0;c[s>>2]=(u?0:0-l|0)+o+(c[s>>2]|0);c[A>>2]=J;c[i>>2]=o;o=c[x>>2]|0;K=o+1|0;L=J;M=o}else{K=k;L=c[A>>2]|0;M=j}c[x>>2]=K;a[L+M>>0]=61;x=c[z>>2]|0;j=c[x>>2]|0;c[x>>2]=j+-1;if(!j){j=La[c[x+8>>2]&7](c[x+16>>2]|0,c[x+12>>2]|0,f)|0;A=c[f>>2]|0;if((j|0)==0|(A|0)==0)N=-1;else{c[x>>2]=A+-1;c[x+4>>2]=j+1;N=d[j>>0]|0}O=N}else{j=x+4|0;x=c[j>>2]|0;c[j>>2]=x+1;O=d[x>>0]|0}c[b>>2]=O;x=y+1|0;if((O|0)==61)y=x;else{C=x;D=O;H=36;break}}if((H|0)==22)ke(b,46491,0);else if((H|0)==24)wc(I);else if((H|0)==28)jc(I,4);else if((H|0)==36){E=(D|0)!=(g|0);F=E<<31>>31;G=C^F;Fa=e;return G|0}return 0}function Te(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;g=Fa;Fa=Fa+16|0;h=g;i=c[b>>2]|0;j=b+40|0;k=c[j>>2]|0;l=k+4|0;m=c[l>>2]|0;n=m+1|0;o=k+8|0;p=c[o>>2]|0;if(n>>>0>p>>>0){if(p>>>0>2147483645)ke(b,46491,0);q=p<<1;r=c[b+32>>2]|0;if((q|0)==-2)wc(r);s=c[k>>2]|0;t=c[r+12>>2]|0;u=(s|0)==0;v=t+4|0;w=Ma[c[t>>2]&1](c[v>>2]|0,s,p,q)|0;if((q|0)!=0&(w|0)==0){if(!(a[t+51>>0]|0))jc(r,4);vc(r,1);x=Ma[c[t>>2]&1](c[v>>2]|0,s,p,q)|0;if(!x)jc(r,4);else y=x}else y=w;w=t+12|0;c[w>>2]=(u?0:0-p|0)+q+(c[w>>2]|0);c[k>>2]=y;c[o>>2]=q;q=c[l>>2]|0;z=q+1|0;A=y;B=q}else{z=n;A=c[k>>2]|0;B=m}c[l>>2]=z;a[A+B>>0]=i;i=b+36|0;B=c[i>>2]|0;A=c[B>>2]|0;c[B>>2]=A+-1;if(!A){A=La[c[B+8>>2]&7](c[B+16>>2]|0,c[B+12>>2]|0,h)|0;z=c[h>>2]|0;if((A|0)==0|(z|0)==0)C=-1;else{c[B>>2]=z+-1;c[B+4>>2]=A+1;C=d[A>>0]|0}D=C}else{C=B+4|0;B=c[C>>2]|0;c[C>>2]=B+1;D=d[B>>0]|0}c[b>>2]=D;switch(D|0){case 13:case 10:{Re(b);break}default:{}}D=(e|0)==0;B=b+32|0;a:while(1){C=c[b>>2]|0;b:do switch(C|0){case -1:{E=21;break a;break}case 93:{if((Se(b)|0)==(f|0)){E=23;break a}break}case 13:case 10:{A=c[j>>2]|0;z=A+4|0;l=c[z>>2]|0;m=l+1|0;k=A+8|0;n=c[k>>2]|0;if(m>>>0>n>>>0){if(n>>>0>2147483645){E=43;break a}q=n<<1;F=c[B>>2]|0;if((q|0)==-2){E=45;break a}y=c[A>>2]|0;o=c[F+12>>2]|0;w=(y|0)==0;p=o+4|0;u=Ma[c[o>>2]&1](c[p>>2]|0,y,n,q)|0;if((q|0)!=0&(u|0)==0){if(!(a[o+51>>0]|0)){E=49;break a}vc(F,1);t=Ma[c[o>>2]&1](c[p>>2]|0,y,n,q)|0;if(!t){E=49;break a}else G=t}else G=u;u=o+12|0;c[u>>2]=(w?0:0-n|0)+q+(c[u>>2]|0);c[A>>2]=G;c[k>>2]=q;q=c[z>>2]|0;H=q+1|0;I=G;J=q}else{H=m;I=c[A>>2]|0;J=l}c[z>>2]=H;a[I+J>>0]=10;Re(b);if(D)c[(c[j>>2]|0)+4>>2]=0;break}default:{if(D){z=c[i>>2]|0;l=c[z>>2]|0;c[z>>2]=l+-1;if(!l){l=La[c[z+8>>2]&7](c[z+16>>2]|0,c[z+12>>2]|0,h)|0;A=c[h>>2]|0;if((l|0)==0|(A|0)==0)K=-1;else{c[z>>2]=A+-1;c[z+4>>2]=l+1;K=d[l>>0]|0}L=K}else{l=z+4|0;z=c[l>>2]|0;c[l>>2]=z+1;L=d[z>>0]|0}c[b>>2]=L;break b}z=c[j>>2]|0;l=z+4|0;A=c[l>>2]|0;m=A+1|0;q=z+8|0;k=c[q>>2]|0;if(m>>>0>k>>>0){if(k>>>0>2147483645){E=58;break a}u=k<<1;M=c[B>>2]|0;if((u|0)==-2){E=60;break a}n=c[z>>2]|0;w=c[M+12>>2]|0;o=(n|0)==0;t=w+4|0;y=Ma[c[w>>2]&1](c[t>>2]|0,n,k,u)|0;if((u|0)!=0&(y|0)==0){if(!(a[w+51>>0]|0)){E=64;break a}vc(M,1);p=Ma[c[w>>2]&1](c[t>>2]|0,n,k,u)|0;if(!p){E=64;break a}else N=p}else N=y;y=w+12|0;c[y>>2]=(o?0:0-k|0)+u+(c[y>>2]|0);c[z>>2]=N;c[q>>2]=u;u=c[l>>2]|0;O=u+1|0;P=N;Q=u}else{O=m;P=c[z>>2]|0;Q=A}c[l>>2]=O;a[P+Q>>0]=C;l=c[i>>2]|0;A=c[l>>2]|0;c[l>>2]=A+-1;if(!A){A=La[c[l+8>>2]&7](c[l+16>>2]|0,c[l+12>>2]|0,h)|0;z=c[h>>2]|0;if((A|0)==0|(z|0)==0)R=-1;else{c[l>>2]=z+-1;c[l+4>>2]=A+1;R=d[A>>0]|0}S=R}else{A=l+4|0;l=c[A>>2]|0;c[A>>2]=l+1;S=d[l>>0]|0}c[b>>2]=S}}while(0)}if((E|0)==21)ke(b,D?47272:47296,286);else if((E|0)==23){S=c[b>>2]|0;R=c[j>>2]|0;Q=R+4|0;P=c[Q>>2]|0;O=P+1|0;N=R+8|0;L=c[N>>2]|0;if(O>>>0>L>>>0){if(L>>>0>2147483645)ke(b,46491,0);K=L<<1;J=c[B>>2]|0;if((K|0)==-2)wc(J);B=c[R>>2]|0;I=c[J+12>>2]|0;H=(B|0)==0;G=I+4|0;C=Ma[c[I>>2]&1](c[G>>2]|0,B,L,K)|0;if((K|0)!=0&(C|0)==0){if(!(a[I+51>>0]|0))jc(J,4);vc(J,1);l=Ma[c[I>>2]&1](c[G>>2]|0,B,L,K)|0;if(!l)jc(J,4);else T=l}else T=C;C=I+12|0;c[C>>2]=(H?0:0-L|0)+K+(c[C>>2]|0);c[R>>2]=T;c[N>>2]=K;K=c[Q>>2]|0;U=K+1|0;V=T;W=K}else{U=O;V=c[R>>2]|0;W=P}c[Q>>2]=U;a[V+W>>0]=S;S=c[i>>2]|0;i=c[S>>2]|0;c[S>>2]=i+-1;if(!i){i=La[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,h)|0;W=c[h>>2]|0;if((i|0)==0|(W|0)==0)X=-1;else{c[S>>2]=W+-1;c[S+4>>2]=i+1;X=d[i>>0]|0}Y=X}else{X=S+4|0;S=c[X>>2]|0;c[X>>2]=S+1;Y=d[S>>0]|0}c[b>>2]=Y;if(D){Fa=g;return}D=c[j>>2]|0;j=f+2|0;c[e>>2]=ae(b,(c[D>>2]|0)+j|0,(c[D+4>>2]|0)-(j<<1)|0)|0;Fa=g;return}else if((E|0)==43)ke(b,46491,0);else if((E|0)==45)wc(F);else if((E|0)==49)jc(F,4);else if((E|0)==58)ke(b,46491,0);else if((E|0)==60)wc(M);else if((E|0)==64)jc(M,4)}function Ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[(c[a+40>>2]|0)+4>>2]=0;Ve(a,92);a:do if((d|0)>0){f=0;do{g=c[b+(f<<2)>>2]|0;if((g|0)==-1)break a;Ve(a,g);f=f+1|0}while((f|0)<(d|0))}while(0);ke(a,e,289)}function Ve(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[b+40>>2]|0;f=e+4|0;g=c[f>>2]|0;h=g+1|0;i=e+8|0;j=c[i>>2]|0;if(h>>>0<=j>>>0){k=h;l=c[e>>2]|0;m=g;n=d&255;c[f>>2]=k;o=l+m|0;a[o>>0]=n;return}if(j>>>0>2147483645)ke(b,46491,0);g=j<<1;h=c[b+32>>2]|0;if((g|0)==-2)wc(h);b=We(h,c[e>>2]|0,j,g)|0;c[e>>2]=b;c[i>>2]=g;g=c[f>>2]|0;k=g+1|0;l=b;m=g;n=d&255;c[f>>2]=k;o=l+m|0;a[o>>0]=n;return}function We(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=c[b+12>>2]|0;h=(d|0)==0;i=g+4|0;j=Ma[c[g>>2]&1](c[i>>2]|0,d,e,f)|0;if((f|0)!=0&(j|0)==0){if(!(a[g+51>>0]|0))jc(b,4);vc(b,1);k=Ma[c[g>>2]&1](c[i>>2]|0,d,e,f)|0;if(!k)jc(b,4);else l=k}else l=j;j=g+12|0;c[j>>2]=(h?0:0-e|0)+f+(c[j>>2]|0);return l|0}function Xe(a,b){a=a|0;b=b|0;var d=0,e=0;d=Fa;Fa=Fa+16|0;e=d;d=c[a>>2]|0;c[e>>2]=c[a+12>>2];c[e+4>>2]=b;hd(d,47426,e)|0;jc(c[a>>2]|0,3)}function Ye(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,Na=0,Oa=0;e=Fa;Fa=Fa+16|0;f=e+4|0;g=e;h=b+4|0;i=c[h>>2]|0;j=i+16|0;k=i+8|0;l=i+12|0;m=i+4|0;n=4;o=g;p=c[i>>2]|0;while(1){if(!p){q=La[c[k>>2]&7](c[j>>2]|0,c[l>>2]|0,f)|0;r=c[f>>2]|0;if((q|0)==0|(r|0)==0){s=7;break}c[i>>2]=r;c[m>>2]=q;t=r;u=q}else{t=p;u=c[m>>2]|0}q=n>>>0>t>>>0?t:n;Xu(o|0,u|0,q|0)|0;p=(c[i>>2]|0)-q|0;c[i>>2]=p;c[m>>2]=(c[m>>2]|0)+q;n=n-q|0;if(!n)break;else o=o+q|0}if((s|0)==7)Xe(b,47367);o=c[g>>2]|0;if((o|0)<0)Xe(b,47416);c[d+64>>2]=o;o=c[h>>2]|0;n=o+16|0;m=o+8|0;p=o+12|0;i=o+4|0;u=4;t=g;l=c[o>>2]|0;while(1){if(!l){j=La[c[m>>2]&7](c[n>>2]|0,c[p>>2]|0,f)|0;k=c[f>>2]|0;if((j|0)==0|(k|0)==0){s=16;break}c[o>>2]=k;c[i>>2]=j;v=k;w=j}else{v=l;w=c[i>>2]|0}j=u>>>0>v>>>0?v:u;Xu(t|0,w|0,j|0)|0;l=(c[o>>2]|0)-j|0;c[o>>2]=l;c[i>>2]=(c[i>>2]|0)+j;u=u-j|0;if(!u)break;else t=t+j|0}if((s|0)==16)Xe(b,47367);t=c[g>>2]|0;if((t|0)<0)Xe(b,47416);c[d+68>>2]=t;t=c[h>>2]|0;u=t+16|0;i=t+8|0;l=t+12|0;o=t+4|0;w=1;v=g;p=c[t>>2]|0;while(1){if(!p){n=La[c[i>>2]&7](c[u>>2]|0,c[l>>2]|0,f)|0;m=c[f>>2]|0;if((n|0)==0|(m|0)==0){s=25;break}c[t>>2]=m;c[o>>2]=n;x=m;y=n}else{x=p;y=c[o>>2]|0}n=w>>>0>x>>>0?x:w;Xu(v|0,y|0,n|0)|0;p=(c[t>>2]|0)-n|0;c[t>>2]=p;c[o>>2]=(c[o>>2]|0)+n;w=w-n|0;if(!w)break;else v=v+n|0}if((s|0)==25)Xe(b,47367);a[d+76>>0]=a[g>>0]|0;v=c[h>>2]|0;w=v+16|0;o=v+8|0;p=v+12|0;t=v+4|0;y=1;x=g;l=c[v>>2]|0;while(1){if(!l){u=La[c[o>>2]&7](c[w>>2]|0,c[p>>2]|0,f)|0;i=c[f>>2]|0;if((u|0)==0|(i|0)==0){s=32;break}c[v>>2]=i;c[t>>2]=u;z=i;A=u}else{z=l;A=c[t>>2]|0}u=y>>>0>z>>>0?z:y;Xu(x|0,A|0,u|0)|0;l=(c[v>>2]|0)-u|0;c[v>>2]=l;c[t>>2]=(c[t>>2]|0)+u;y=y-u|0;if(!y)break;else x=x+u|0}if((s|0)==32)Xe(b,47367);a[d+77>>0]=a[g>>0]|0;x=c[h>>2]|0;y=x+16|0;t=x+8|0;l=x+12|0;v=x+4|0;A=1;z=g;p=c[x>>2]|0;while(1){if(!p){w=La[c[t>>2]&7](c[y>>2]|0,c[l>>2]|0,f)|0;o=c[f>>2]|0;if((w|0)==0|(o|0)==0){s=39;break}c[x>>2]=o;c[v>>2]=w;B=o;C=w}else{B=p;C=c[v>>2]|0}w=A>>>0>B>>>0?B:A;Xu(z|0,C|0,w|0)|0;p=(c[x>>2]|0)-w|0;c[x>>2]=p;c[v>>2]=(c[v>>2]|0)+w;A=A-w|0;if(!A)break;else z=z+w|0}if((s|0)==39)Xe(b,47367);a[d+78>>0]=a[g>>0]|0;z=c[h>>2]|0;A=z+16|0;v=z+8|0;p=z+12|0;x=z+4|0;C=4;B=g;l=c[z>>2]|0;while(1){if(!l){y=La[c[v>>2]&7](c[A>>2]|0,c[p>>2]|0,f)|0;t=c[f>>2]|0;if((y|0)==0|(t|0)==0){s=46;break}c[z>>2]=t;c[x>>2]=y;D=t;E=y}else{D=l;E=c[x>>2]|0}y=C>>>0>D>>>0?D:C;Xu(B|0,E|0,y|0)|0;l=(c[z>>2]|0)-y|0;c[z>>2]=l;c[x>>2]=(c[x>>2]|0)+y;C=C-y|0;if(!C)break;else B=B+y|0}if((s|0)==46)Xe(b,47367);B=c[g>>2]|0;if((B|0)<0)Xe(b,47416);C=c[b>>2]|0;if((B+1|0)>>>0>1073741823)wc(C);x=B<<2;l=c[C+12>>2]|0;z=l+4|0;E=Ma[c[l>>2]&1](c[z>>2]|0,0,0,x)|0;if((x|0)!=0&(E|0)==0){if(!(a[l+51>>0]|0))jc(C,4);vc(C,1);D=Ma[c[l>>2]&1](c[z>>2]|0,0,0,x)|0;if(!D)jc(C,4);else F=D}else F=E;E=l+12|0;c[E>>2]=(c[E>>2]|0)+x;c[d+12>>2]=F;c[d+48>>2]=B;B=c[h>>2]|0;do if(x){E=B+16|0;l=B+8|0;D=B+12|0;C=B+4|0;z=x;p=F;A=c[B>>2]|0;while(1){if(!A){v=La[c[l>>2]&7](c[E>>2]|0,c[D>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=62;break}c[B>>2]=y;c[C>>2]=v;G=y;H=v}else{G=A;H=c[C>>2]|0}v=z>>>0>G>>>0?G:z;Xu(p|0,H|0,v|0)|0;A=(c[B>>2]|0)-v|0;c[B>>2]=A;c[C>>2]=(c[C>>2]|0)+v;z=z-v|0;if(!z){s=63;break}else p=p+v|0}if((s|0)==62)Xe(b,47367);else if((s|0)==63){I=c[h>>2]|0;break}}else I=B;while(0);B=I+16|0;H=I+8|0;G=I+12|0;F=I+4|0;x=4;p=g;z=c[I>>2]|0;while(1){if(!z){C=La[c[H>>2]&7](c[B>>2]|0,c[G>>2]|0,f)|0;A=c[f>>2]|0;if((C|0)==0|(A|0)==0){s=70;break}c[I>>2]=A;c[F>>2]=C;J=A;K=C}else{J=z;K=c[F>>2]|0}C=x>>>0>J>>>0?J:x;Xu(p|0,K|0,C|0)|0;z=(c[I>>2]|0)-C|0;c[I>>2]=z;c[F>>2]=(c[F>>2]|0)+C;x=x-C|0;if(!x)break;else p=p+C|0}if((s|0)==70)Xe(b,47367);p=c[g>>2]|0;if((p|0)<0)Xe(b,47416);x=c[b>>2]|0;if((p+1|0)>>>0>536870911)wc(x);F=p<<3;z=c[x+12>>2]|0;I=z+4|0;K=Ma[c[z>>2]&1](c[I>>2]|0,0,0,F)|0;if((F|0)!=0&(K|0)==0){if(!(a[z+51>>0]|0))jc(x,4);vc(x,1);J=Ma[c[z>>2]&1](c[I>>2]|0,0,0,F)|0;if(!J)jc(x,4);else L=J}else L=K;K=z+12|0;c[K>>2]=(c[K>>2]|0)+F;F=d+8|0;c[F>>2]=L;c[d+44>>2]=p;K=(p|0)>0;a:do if(K){z=0;do{c[L+(z<<3)+4>>2]=0;z=z+1|0}while((z|0)!=(p|0));if(K){z=b+8|0;J=0;x=L;b:while(1){I=x+(J<<3)|0;G=c[h>>2]|0;B=G+16|0;H=G+8|0;C=G+12|0;A=G+4|0;D=1;E=g;l=c[G>>2]|0;while(1){if(!l){v=La[c[H>>2]&7](c[B>>2]|0,c[C>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=90;break b}c[G>>2]=y;c[A>>2]=v;M=y;N=v}else{M=l;N=c[A>>2]|0}v=D>>>0>M>>>0?M:D;Xu(E|0,N|0,v|0)|0;l=(c[G>>2]|0)-v|0;c[G>>2]=l;c[A>>2]=(c[A>>2]|0)+v;D=D-v|0;if(!D)break;else E=E+v|0}E=a[g>>0]|0;switch(E|0){case 0:{O=E;s=125;break}case 1:{E=c[h>>2]|0;D=E+16|0;A=E+8|0;l=E+12|0;G=E+4|0;C=1;B=g;H=c[E>>2]|0;while(1){if(!H){v=La[c[A>>2]&7](c[D>>2]|0,c[l>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=98;break b}c[E>>2]=y;c[G>>2]=v;P=y;Q=v}else{P=H;Q=c[G>>2]|0}v=C>>>0>P>>>0?P:C;Xu(B|0,Q|0,v|0)|0;H=(c[E>>2]|0)-v|0;c[E>>2]=H;c[G>>2]=(c[G>>2]|0)+v;C=C-v|0;if(!C)break;else B=B+v|0}c[I>>2]=a[g>>0];O=1;s=125;break}case 3:{B=c[h>>2]|0;C=B+16|0;G=B+8|0;H=B+12|0;E=B+4|0;l=4;D=g;A=c[B>>2]|0;while(1){if(!A){v=La[c[G>>2]&7](c[C>>2]|0,c[H>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=106;break b}c[B>>2]=y;c[E>>2]=v;R=y;S=v}else{R=A;S=c[E>>2]|0}v=l>>>0>R>>>0?R:l;Xu(D|0,S|0,v|0)|0;A=(c[B>>2]|0)-v|0;c[B>>2]=A;c[E>>2]=(c[E>>2]|0)+v;l=l-v|0;if(!l)break;else D=D+v|0}c[I>>2]=c[g>>2];O=3;s=125;break}case 4:{D=c[h>>2]|0;l=D+16|0;E=D+8|0;A=D+12|0;B=D+4|0;H=4;C=g;G=c[D>>2]|0;while(1){if(!G){v=La[c[E>>2]&7](c[l>>2]|0,c[A>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=114;break b}c[D>>2]=y;c[B>>2]=v;T=y;U=v}else{T=G;U=c[B>>2]|0}v=H>>>0>T>>>0?T:H;Xu(C|0,U|0,v|0)|0;G=(c[D>>2]|0)-v|0;c[D>>2]=G;c[B>>2]=(c[B>>2]|0)+v;H=H-v|0;if(!H)break;else C=C+v|0}C=c[g>>2]|0;if(!C)V=0;else{H=Ze(c[b>>2]|0,c[z>>2]|0,C)|0;B=c[h>>2]|0;G=B+16|0;D=B+8|0;A=B+12|0;l=B+4|0;E=C;v=H;y=c[B>>2]|0;while(1){if(!y){t=La[c[D>>2]&7](c[G>>2]|0,c[A>>2]|0,f)|0;w=c[f>>2]|0;if((t|0)==0|(w|0)==0){s=122;break b}c[B>>2]=w;c[l>>2]=t;W=w;X=t}else{W=y;X=c[l>>2]|0}t=E>>>0>W>>>0?W:E;Xu(v|0,X|0,t|0)|0;y=(c[B>>2]|0)-t|0;c[B>>2]=y;c[l>>2]=(c[l>>2]|0)+t;E=E-t|0;if(!E)break;else v=v+t|0}V=id(c[b>>2]|0,H,C+-1|0)|0}c[I>>2]=V;O=(a[V+4>>0]|64)&255;s=125;break}default:{}}if((s|0)==125){s=0;c[x+(J<<3)+4>>2]=O}v=J+1|0;if((v|0)>=(p|0))break a;J=v;x=c[F>>2]|0}if((s|0)==90)Xe(b,47367);else if((s|0)==98)Xe(b,47367);else if((s|0)==106)Xe(b,47367);else if((s|0)==114)Xe(b,47367);else if((s|0)==122)Xe(b,47367)}}while(0);F=c[h>>2]|0;p=F+16|0;O=F+8|0;V=F+12|0;X=F+4|0;W=4;U=g;T=c[F>>2]|0;while(1){if(!T){S=La[c[O>>2]&7](c[p>>2]|0,c[V>>2]|0,f)|0;R=c[f>>2]|0;if((S|0)==0|(R|0)==0){s=134;break}c[F>>2]=R;c[X>>2]=S;Y=R;Z=S}else{Y=T;Z=c[X>>2]|0}S=W>>>0>Y>>>0?Y:W;Xu(U|0,Z|0,S|0)|0;T=(c[F>>2]|0)-S|0;c[F>>2]=T;c[X>>2]=(c[X>>2]|0)+S;W=W-S|0;if(!W)break;else U=U+S|0}if((s|0)==134)Xe(b,47367);U=c[g>>2]|0;if((U|0)<0)Xe(b,47416);W=c[b>>2]|0;if((U+1|0)>>>0>1073741823)wc(W);X=U<<2;T=c[W+12>>2]|0;F=T+4|0;Z=Ma[c[T>>2]&1](c[F>>2]|0,0,0,X)|0;if((X|0)!=0&(Z|0)==0){if(!(a[T+51>>0]|0))jc(W,4);vc(W,1);Y=Ma[c[T>>2]&1](c[F>>2]|0,0,0,X)|0;if(!Y)jc(W,4);else _=Y}else _=Z;Z=T+12|0;c[Z>>2]=(c[Z>>2]|0)+X;X=d+16|0;c[X>>2]=_;c[d+56>>2]=U;Z=(U|0)>0;c:do if(Z){c[_>>2]=0;if((U|0)!=1){T=1;do{c[(c[X>>2]|0)+(T<<2)>>2]=0;T=T+1|0}while((T|0)!=(U|0))}if(Z){T=0;while(1){$=c[b>>2]|0;Y=c[$+12>>2]|0;W=Y+4|0;F=Ma[c[Y>>2]&1](c[W>>2]|0,0,9,80)|0;if(!F){if(!(a[Y+51>>0]|0)){s=152;break}vc($,1);V=Ma[c[Y>>2]&1](c[W>>2]|0,0,9,80)|0;if(!V){s=152;break}else aa=V}else aa=F;F=Y+12|0;c[F>>2]=(c[F>>2]|0)+80;F=Y+56|0;a[aa+5>>0]=a[Y+48>>0]&3;a[aa+4>>0]=9;c[aa>>2]=c[F>>2];c[F>>2]=aa;a[aa+76>>0]=0;a[aa+77>>0]=0;a[aa+78>>0]=0;F=aa+8|0;Y=F+64|0;do{c[F>>2]=0;F=F+4|0}while((F|0)<(Y|0));c[(c[X>>2]|0)+(T<<2)>>2]=aa;Ye(b,c[(c[X>>2]|0)+(T<<2)>>2]|0);T=T+1|0;if((T|0)>=(U|0))break c}if((s|0)==152)jc($,4)}}while(0);$=c[h>>2]|0;U=$+16|0;X=$+8|0;aa=$+12|0;Z=$+4|0;_=4;T=g;F=c[$>>2]|0;while(1){if(!F){Y=La[c[X>>2]&7](c[U>>2]|0,c[aa>>2]|0,f)|0;I=c[f>>2]|0;if((Y|0)==0|(I|0)==0){s=160;break}c[$>>2]=I;c[Z>>2]=Y;ba=I;ca=Y}else{ba=F;ca=c[Z>>2]|0}Y=_>>>0>ba>>>0?ba:_;Xu(T|0,ca|0,Y|0)|0;F=(c[$>>2]|0)-Y|0;c[$>>2]=F;c[Z>>2]=(c[Z>>2]|0)+Y;_=_-Y|0;if(!_)break;else T=T+Y|0}if((s|0)==160)Xe(b,47367);T=c[g>>2]|0;if((T|0)<0)Xe(b,47416);_=c[b>>2]|0;if((T+1|0)>>>0>536870911)wc(_);Z=T<<3;F=c[_+12>>2]|0;$=F+4|0;ca=Ma[c[F>>2]&1](c[$>>2]|0,0,0,Z)|0;if((Z|0)!=0&(ca|0)==0){if(!(a[F+51>>0]|0))jc(_,4);vc(_,1);ba=Ma[c[F>>2]&1](c[$>>2]|0,0,0,Z)|0;if(!ba)jc(_,4);else da=ba}else da=ca;ca=F+12|0;c[ca>>2]=(c[ca>>2]|0)+Z;Z=d+28|0;c[Z>>2]=da;c[d+40>>2]=T;d:do if((T|0)>0){ca=0;do{c[da+(ca<<3)>>2]=0;ca=ca+1|0}while((ca|0)!=(T|0));ca=0;e:while(1){F=c[h>>2]|0;ba=F+16|0;_=F+8|0;$=F+12|0;aa=F+4|0;U=1;X=g;Y=c[F>>2]|0;while(1){if(!Y){I=La[c[_>>2]&7](c[ba>>2]|0,c[$>>2]|0,f)|0;C=c[f>>2]|0;if((I|0)==0|(C|0)==0){s=179;break e}c[F>>2]=C;c[aa>>2]=I;ea=C;fa=I}else{ea=Y;fa=c[aa>>2]|0}I=U>>>0>ea>>>0?ea:U;Xu(X|0,fa|0,I|0)|0;Y=(c[F>>2]|0)-I|0;c[F>>2]=Y;c[aa>>2]=(c[aa>>2]|0)+I;U=U-I|0;if(!U)break;else X=X+I|0}a[(c[Z>>2]|0)+(ca<<3)+4>>0]=a[g>>0]|0;X=c[h>>2]|0;U=X+16|0;aa=X+8|0;Y=X+12|0;F=X+4|0;$=1;ba=g;_=c[X>>2]|0;while(1){if(!_){I=La[c[aa>>2]&7](c[U>>2]|0,c[Y>>2]|0,f)|0;C=c[f>>2]|0;if((I|0)==0|(C|0)==0){s=186;break e}c[X>>2]=C;c[F>>2]=I;ga=C;ha=I}else{ga=_;ha=c[F>>2]|0}I=$>>>0>ga>>>0?ga:$;Xu(ba|0,ha|0,I|0)|0;_=(c[X>>2]|0)-I|0;c[X>>2]=_;c[F>>2]=(c[F>>2]|0)+I;$=$-I|0;if(!$)break;else ba=ba+I|0}a[(c[Z>>2]|0)+(ca<<3)+5>>0]=a[g>>0]|0;ca=ca+1|0;if((ca|0)>=(T|0))break d}if((s|0)==179)Xe(b,47367);else if((s|0)==186)Xe(b,47367)}while(0);T=c[h>>2]|0;ha=T+16|0;ga=T+8|0;fa=T+12|0;ea=T+4|0;da=4;ca=g;ba=c[T>>2]|0;while(1){if(!ba){$=La[c[ga>>2]&7](c[ha>>2]|0,c[fa>>2]|0,f)|0;F=c[f>>2]|0;if(($|0)==0|(F|0)==0){s=194;break}c[T>>2]=F;c[ea>>2]=$;ia=F;ja=$}else{ia=ba;ja=c[ea>>2]|0}$=da>>>0>ia>>>0?ia:da;Xu(ca|0,ja|0,$|0)|0;ba=(c[T>>2]|0)-$|0;c[T>>2]=ba;c[ea>>2]=(c[ea>>2]|0)+$;da=da-$|0;if(!da)break;else ca=ca+$|0}if((s|0)==194)Xe(b,47367);ca=c[g>>2]|0;do if(ca){da=Ze(c[b>>2]|0,c[b+8>>2]|0,ca)|0;ea=c[h>>2]|0;ba=ea+16|0;T=ea+8|0;ja=ea+12|0;ia=ea+4|0;fa=ca;ha=da;ga=c[ea>>2]|0;while(1){if(!ga){$=La[c[T>>2]&7](c[ba>>2]|0,c[ja>>2]|0,f)|0;F=c[f>>2]|0;if(($|0)==0|(F|0)==0){s=202;break}c[ea>>2]=F;c[ia>>2]=$;ka=F;la=$}else{ka=ga;la=c[ia>>2]|0}$=fa>>>0>ka>>>0?ka:fa;Xu(ha|0,la|0,$|0)|0;ga=(c[ea>>2]|0)-$|0;c[ea>>2]=ga;c[ia>>2]=(c[ia>>2]|0)+$;fa=fa-$|0;if(!fa){s=203;break}else ha=ha+$|0}if((s|0)==202)Xe(b,47367);else if((s|0)==203){ma=id(c[b>>2]|0,da,ca+-1|0)|0;break}}else ma=0;while(0);c[d+36>>2]=ma;ma=c[h>>2]|0;ca=ma+16|0;la=ma+8|0;ka=ma+12|0;ha=ma+4|0;fa=4;ia=g;ga=c[ma>>2]|0;while(1){if(!ga){ea=La[c[la>>2]&7](c[ca>>2]|0,c[ka>>2]|0,f)|0;ja=c[f>>2]|0;if((ea|0)==0|(ja|0)==0){s=210;break}c[ma>>2]=ja;c[ha>>2]=ea;na=ja;oa=ea}else{na=ga;oa=c[ha>>2]|0}ea=fa>>>0>na>>>0?na:fa;Xu(ia|0,oa|0,ea|0)|0;ga=(c[ma>>2]|0)-ea|0;c[ma>>2]=ga;c[ha>>2]=(c[ha>>2]|0)+ea;fa=fa-ea|0;if(!fa)break;else ia=ia+ea|0}if((s|0)==210)Xe(b,47367);ia=c[g>>2]|0;if((ia|0)<0)Xe(b,47416);fa=c[b>>2]|0;if((ia+1|0)>>>0>1073741823)wc(fa);ha=ia<<2;ga=c[fa+12>>2]|0;ma=ga+4|0;oa=Ma[c[ga>>2]&1](c[ma>>2]|0,0,0,ha)|0;do if((ha|0)!=0&(oa|0)==0){if(!(a[ga+51>>0]|0))jc(fa,4);vc(fa,1);na=Ma[c[ga>>2]&1](c[ma>>2]|0,0,0,ha)|0;if(na|0){pa=na;break}jc(fa,4)}else pa=oa;while(0);oa=ga+12|0;c[oa>>2]=(c[oa>>2]|0)+ha;c[d+20>>2]=pa;c[d+52>>2]=ia;ia=c[h>>2]|0;do if(ha){oa=ia+16|0;ga=ia+8|0;fa=ia+12|0;ma=ia+4|0;na=ha;ka=pa;ca=c[ia>>2]|0;while(1){if(!ca){la=La[c[ga>>2]&7](c[oa>>2]|0,c[fa>>2]|0,f)|0;ea=c[f>>2]|0;if((la|0)==0|(ea|0)==0){s=226;break}c[ia>>2]=ea;c[ma>>2]=la;qa=ea;ra=la}else{qa=ca;ra=c[ma>>2]|0}la=na>>>0>qa>>>0?qa:na;Xu(ka|0,ra|0,la|0)|0;ca=(c[ia>>2]|0)-la|0;c[ia>>2]=ca;c[ma>>2]=(c[ma>>2]|0)+la;na=na-la|0;if(!na){s=227;break}else ka=ka+la|0}if((s|0)==226)Xe(b,47367);else if((s|0)==227){sa=c[h>>2]|0;break}}else sa=ia;while(0);ia=sa+16|0;ra=sa+8|0;qa=sa+12|0;pa=sa+4|0;ha=4;ka=g;na=c[sa>>2]|0;while(1){if(!na){ma=La[c[ra>>2]&7](c[ia>>2]|0,c[qa>>2]|0,f)|0;ca=c[f>>2]|0;if((ma|0)==0|(ca|0)==0){s=234;break}c[sa>>2]=ca;c[pa>>2]=ma;ta=ca;ua=ma}else{ta=na;ua=c[pa>>2]|0}ma=ha>>>0>ta>>>0?ta:ha;Xu(ka|0,ua|0,ma|0)|0;na=(c[sa>>2]|0)-ma|0;c[sa>>2]=na;c[pa>>2]=(c[pa>>2]|0)+ma;ha=ha-ma|0;if(!ha)break;else ka=ka+ma|0}if((s|0)==234)Xe(b,47367);ka=c[g>>2]|0;if((ka|0)<0)Xe(b,47416);ha=c[b>>2]|0;if((ka+1|0)>>>0>357913941)wc(ha);pa=ka*12|0;na=c[ha+12>>2]|0;sa=na+4|0;ua=Ma[c[na>>2]&1](c[sa>>2]|0,0,0,pa)|0;do if((pa|0)!=0&(ua|0)==0){if(!(a[na+51>>0]|0))jc(ha,4);vc(ha,1);ta=Ma[c[na>>2]&1](c[sa>>2]|0,0,0,pa)|0;if(ta|0){va=ta;break}jc(ha,4)}else va=ua;while(0);ua=na+12|0;c[ua>>2]=(c[ua>>2]|0)+pa;pa=d+24|0;c[pa>>2]=va;c[d+60>>2]=ka;f:do if((ka|0)>0){d=0;do{c[va+(d*12|0)>>2]=0;d=d+1|0}while((d|0)!=(ka|0));d=b+8|0;ua=0;g:while(1){na=c[h>>2]|0;ha=na+16|0;sa=na+8|0;ta=na+12|0;qa=na+4|0;ia=4;ra=g;ma=c[na>>2]|0;while(1){if(!ma){ca=La[c[sa>>2]&7](c[ha>>2]|0,c[ta>>2]|0,f)|0;fa=c[f>>2]|0;if((ca|0)==0|(fa|0)==0){s=253;break g}c[na>>2]=fa;c[qa>>2]=ca;wa=fa;xa=ca}else{wa=ma;xa=c[qa>>2]|0}ca=ia>>>0>wa>>>0?wa:ia;Xu(ra|0,xa|0,ca|0)|0;ma=(c[na>>2]|0)-ca|0;c[na>>2]=ma;c[qa>>2]=(c[qa>>2]|0)+ca;ia=ia-ca|0;if(!ia)break;else ra=ra+ca|0}ra=c[g>>2]|0;if(!ra)ya=0;else{ia=Ze(c[b>>2]|0,c[d>>2]|0,ra)|0;qa=c[h>>2]|0;ma=qa+16|0;na=qa+8|0;ta=qa+12|0;ha=qa+4|0;sa=ra;ca=ia;fa=c[qa>>2]|0;while(1){if(!fa){oa=La[c[na>>2]&7](c[ma>>2]|0,c[ta>>2]|0,f)|0;ga=c[f>>2]|0;if((oa|0)==0|(ga|0)==0){s=261;break g}c[qa>>2]=ga;c[ha>>2]=oa;za=ga;Aa=oa}else{za=fa;Aa=c[ha>>2]|0}oa=sa>>>0>za>>>0?za:sa;Xu(ca|0,Aa|0,oa|0)|0;fa=(c[qa>>2]|0)-oa|0;c[qa>>2]=fa;c[ha>>2]=(c[ha>>2]|0)+oa;sa=sa-oa|0;if(!sa)break;else ca=ca+oa|0}ya=id(c[b>>2]|0,ia,ra+-1|0)|0}c[(c[pa>>2]|0)+(ua*12|0)>>2]=ya;ca=c[h>>2]|0;sa=ca+16|0;ha=ca+8|0;fa=ca+12|0;qa=ca+4|0;ta=4;ma=g;na=c[ca>>2]|0;while(1){if(!na){oa=La[c[ha>>2]&7](c[sa>>2]|0,c[fa>>2]|0,f)|0;ga=c[f>>2]|0;if((oa|0)==0|(ga|0)==0){s=269;break g}c[ca>>2]=ga;c[qa>>2]=oa;Ba=ga;Ca=oa}else{Ba=na;Ca=c[qa>>2]|0}oa=ta>>>0>Ba>>>0?Ba:ta;Xu(ma|0,Ca|0,oa|0)|0;na=(c[ca>>2]|0)-oa|0;c[ca>>2]=na;c[qa>>2]=(c[qa>>2]|0)+oa;ta=ta-oa|0;if(!ta)break;else ma=ma+oa|0}ma=c[g>>2]|0;if((ma|0)<0){s=271;break}c[(c[pa>>2]|0)+(ua*12|0)+4>>2]=ma;ma=c[h>>2]|0;ta=ma+16|0;qa=ma+8|0;na=ma+12|0;ca=ma+4|0;fa=4;sa=g;ha=c[ma>>2]|0;while(1){if(!ha){ra=La[c[qa>>2]&7](c[ta>>2]|0,c[na>>2]|0,f)|0;ia=c[f>>2]|0;if((ra|0)==0|(ia|0)==0){s=278;break g}c[ma>>2]=ia;c[ca>>2]=ra;Da=ia;Ea=ra}else{Da=ha;Ea=c[ca>>2]|0}ra=fa>>>0>Da>>>0?Da:fa;Xu(sa|0,Ea|0,ra|0)|0;ha=(c[ma>>2]|0)-ra|0;c[ma>>2]=ha;c[ca>>2]=(c[ca>>2]|0)+ra;fa=fa-ra|0;if(!fa)break;else sa=sa+ra|0}sa=c[g>>2]|0;if((sa|0)<0){s=280;break}c[(c[pa>>2]|0)+(ua*12|0)+8>>2]=sa;ua=ua+1|0;if((ua|0)>=(ka|0))break f}if((s|0)==253)Xe(b,47367);else if((s|0)==261)Xe(b,47367);else if((s|0)==269)Xe(b,47367);else if((s|0)==271)Xe(b,47416);else if((s|0)==278)Xe(b,47367);else if((s|0)==280)Xe(b,47416)}while(0);ka=c[h>>2]|0;pa=ka+16|0;Ea=ka+8|0;Da=ka+12|0;Ca=ka+4|0;Ba=4;ya=g;Aa=c[ka>>2]|0;while(1){if(!Aa){za=La[c[Ea>>2]&7](c[pa>>2]|0,c[Da>>2]|0,f)|0;xa=c[f>>2]|0;if((za|0)==0|(xa|0)==0){s=288;break}c[ka>>2]=xa;c[Ca>>2]=za;Ga=xa;Ha=za}else{Ga=Aa;Ha=c[Ca>>2]|0}za=Ba>>>0>Ga>>>0?Ga:Ba;Xu(ya|0,Ha|0,za|0)|0;Aa=(c[ka>>2]|0)-za|0;c[ka>>2]=Aa;c[Ca>>2]=(c[Ca>>2]|0)+za;Ba=Ba-za|0;if(!Ba)break;else ya=ya+za|0}if((s|0)==288)Xe(b,47367);ya=c[g>>2]|0;if((ya|0)<0)Xe(b,47416);if(!ya){Fa=e;return}Ba=b+8|0;Ca=0;h:while(1){Aa=c[h>>2]|0;ka=Aa+16|0;Ha=Aa+8|0;Ga=Aa+12|0;Da=Aa+4|0;pa=4;Ea=g;za=c[Aa>>2]|0;while(1){if(!za){xa=La[c[Ha>>2]&7](c[ka>>2]|0,c[Ga>>2]|0,f)|0;wa=c[f>>2]|0;if((xa|0)==0|(wa|0)==0){s=299;break h}c[Aa>>2]=wa;c[Da>>2]=xa;Ia=wa;Ja=xa}else{Ia=za;Ja=c[Da>>2]|0}xa=pa>>>0>Ia>>>0?Ia:pa;Xu(Ea|0,Ja|0,xa|0)|0;za=(c[Aa>>2]|0)-xa|0;c[Aa>>2]=za;c[Da>>2]=(c[Da>>2]|0)+xa;pa=pa-xa|0;if(!pa)break;else Ea=Ea+xa|0}Ea=c[g>>2]|0;if(!Ea)Ka=0;else{pa=Ze(c[b>>2]|0,c[Ba>>2]|0,Ea)|0;Da=c[h>>2]|0;za=Da+16|0;Aa=Da+8|0;Ga=Da+12|0;ka=Da+4|0;Ha=Ea;xa=pa;wa=c[Da>>2]|0;while(1){if(!wa){va=La[c[Aa>>2]&7](c[za>>2]|0,c[Ga>>2]|0,f)|0;ua=c[f>>2]|0;if((va|0)==0|(ua|0)==0){s=307;break h}c[Da>>2]=ua;c[ka>>2]=va;Na=ua;Oa=va}else{Na=wa;Oa=c[ka>>2]|0}va=Ha>>>0>Na>>>0?Na:Ha;Xu(xa|0,Oa|0,va|0)|0;wa=(c[Da>>2]|0)-va|0;c[Da>>2]=wa;c[ka>>2]=(c[ka>>2]|0)+va;Ha=Ha-va|0;if(!Ha)break;else xa=xa+va|0}Ka=id(c[b>>2]|0,pa,Ea+-1|0)|0}c[(c[Z>>2]|0)+(Ca<<3)>>2]=Ka;Ca=Ca+1|0;if((Ca|0)>=(ya|0)){s=310;break}}if((s|0)==299)Xe(b,47367);else if((s|0)==307)Xe(b,47367);else if((s|0)==310){Fa=e;return}}function Ze(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=d+8|0;g=c[f>>2]|0;if(g>>>0>=e>>>0){h=c[d>>2]|0;return h|0}i=e>>>0>32?e:32;if((i+1|0)>>>0>4294967293)wc(b);e=c[d>>2]|0;j=c[b+12>>2]|0;k=(e|0)==0;l=j+4|0;m=Ma[c[j>>2]&1](c[l>>2]|0,e,g,i)|0;if(!m){if(!(a[j+51>>0]|0))jc(b,4);vc(b,1);n=Ma[c[j>>2]&1](c[l>>2]|0,e,g,i)|0;if(!n)jc(b,4);else o=n}else o=m;m=j+12|0;c[m>>2]=(k?0:0-g|0)+i+(c[m>>2]|0);c[d>>2]=o;c[f>>2]=i;h=o;return h|0}function _e(b){b=b|0;a[b+6>>0]=0;c[b+16>>2]=b+72;return}function $e(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+12|0;h=c[g>>2]|0;do switch(e|0){case 0:{a[h+51>>0]=0;i=0;return i|0}case 1:{j=h+12|0;k=h+8|0;c[k>>2]=(c[k>>2]|0)+(c[j>>2]|0);c[j>>2]=0;a[h+51>>0]=1;i=0;return i|0}case 2:{vc(b,0);i=0;return i|0}case 3:{i=((c[h+12>>2]|0)+(c[h+8>>2]|0)|0)>>>10;return i|0}case 4:{i=(c[h+12>>2]|0)+(c[h+8>>2]|0)&1023;return i|0}case 5:{if((a[h+50>>0]|0)==2){j=(c[h+20>>2]|0)==0&1;zc(b);i=j;return i|0}else{j=h+12|0;k=c[j>>2]|0;l=(f<<10)+-1600+((a[h+51>>0]|0)==0?0:k)|0;m=h+8|0;c[m>>2]=k-l+(c[m>>2]|0);c[j>>2]=l;zc(b);i=(a[h+49>>0]|0)==5&1;return i|0}break}case 6:{l=h+128|0;j=c[l>>2]|0;c[l>>2]=f;i=j;return i|0}case 8:{j=h+132|0;l=c[j>>2]|0;c[j>>2]=f;i=l;return i|0}case 7:{l=h+136|0;j=c[l>>2]|0;c[l>>2]=f;i=j;return i|0}case 9:{i=d[h+51>>0]|0;return i|0}case 10:{j=h+50|0;if((a[j>>0]|0)==2){i=0;return i|0}l=h+49|0;if(a[l>>0]|0)do Tc(b)|0;while((a[l>>0]|0)!=0);c[h+20>>2]=(c[h+12>>2]|0)+(c[h+8>>2]|0);a[j>>0]=2;i=0;return i|0}case 11:{l=h+50|0;if(!(a[l>>0]|0)){i=0;return i|0}a[l>>0]=0;Yc(b)|0;l=(c[g>>2]|0)+49|0;if(1<<d[l>>0]&-29|0){i=0;return i|0}do Tc(b)|0;while(!(1<<d[l>>0]&-29|0));i=0;return i|0}default:{i=-1;return i|0}}while(0);return 0}function af(a){a=a|0;oc(a);return 0}function bf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2099900;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2099900:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2099900}while(0);b=c[f>>2]|0;f=a+8|0;e=c[f>>2]|0;g=e+-8|0;i=cf(a,b,g)|0;a=i+1|0;h=c[b+28>>2]|0;a:do if((a|0)<(h|0)){j=b+12|0;k=c[j>>2]|0;l=i;m=a;while(1){if(c[k+(m<<3)+4>>2]|0)break;n=m+1|0;if((n|0)<(h|0)){o=m;m=n;l=o}else{p=n;q=14;break a}}c[g>>2]=(l<<16)+131072;c[e+-4>>2]=3;k=c[j>>2]|0;c[e>>2]=c[k+(m<<3)>>2];r=k+(m<<3)+4|0}else{p=a;q=14}while(0);do if((q|0)==14){a=p-h|0;i=1<<(d[b+7>>0]|0);if((a|0)>=(i|0)){s=0;t=-1;u=c[f>>2]|0;v=u+(t<<3)|0;c[f>>2]=v;return s|0}k=b+16|0;n=c[k>>2]|0;o=a;while(1){if(c[n+(o*20|0)+4>>2]|0){q=17;break}a=o+1|0;if((a|0)<(i|0))o=a;else{s=0;t=-1;q=20;break}}if((q|0)==17){c[g>>2]=c[n+(o*20|0)+8>>2];c[e+-4>>2]=c[n+(o*20|0)+12>>2];i=c[k>>2]|0;c[e>>2]=c[i+(o*20|0)>>2];r=i+(o*20|0)+4|0;break}else if((q|0)==20){u=c[f>>2]|0;v=u+(t<<3)|0;c[f>>2]=v;return s|0}}while(0);c[e+4>>2]=c[r>>2];s=1;t=1;u=c[f>>2]|0;v=u+(t<<3)|0;c[f>>2]=v;return s|0}function cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=Fa;Fa=Fa+16|0;f=e;g=d+4|0;switch(c[g>>2]|0){case 3:{h=2;break}case 0:{i=-1;Fa=e;return i|0}default:{}}if(((h|0)==2?(j=c[d>>2]|0,k=j>>16,(j|0)>65535&((j+-65536|0)>>>0<2147352577&(j&65535|0)==0)):0)?(k|0)<=(c[b+28>>2]|0):0){i=k+-1|0;Fa=e;return i|0}k=gd(b,d)|0;while(1){j=k+8|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[g>>2]|0)){if(Ec(0,j,d)|0)break;n=c[l>>2]|0}else n=m;if(((n|0)==11?c[g>>2]&64|0:0)?(c[j>>2]|0)==(c[d>>2]|0):0)break;j=c[k+16>>2]|0;if(!j){h=14;break}else k=j}if((h|0)==14)lc(a,47451,f);i=((k-(c[b+16>>2]|0)|0)/20|0)+(c[b+28>>2]|0)|0;Fa=e;return i|0}function df(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if((d|0)<=1){if(d|0)return;e=b+8|0;f=c[e>>2]|0;g=Oc(b,3042456,0)|0;c[f>>2]=g;c[f+4>>2]=(a[g+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return}e=c[b+12>>2]|0;g=e+12|0;f=c[g>>2]|0;do if((f|0)>0)if(!(a[e+51>>0]|0)){h=e+8|0;c[h>>2]=f+1600+(c[h>>2]|0);c[g>>2]=-1600;break}else{zc(b);break}while(0);Cc(b,d);return}function ef(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;g=Fa;Fa=Fa+160|0;h=g+40|0;i=g+32|0;j=g+24|0;k=g+16|0;l=g+8|0;m=g;n=g+48|0;o=b+8|0;p=b+16|0;q=(c[o>>2]|0)-((c[c[p>>2]>>2]|0)+8)>>3;r=d+16|0;s=c[r>>2]|0;t=d+72|0;if((s|0)==(t|0)){u=1;v=0}else{w=1;x=1;while(1){if(!w){y=s;z=0}else{A=w;B=s;while(1){C=A+-1|0;D=c[B+8>>2]|0;if((A|0)>1&(D|0)!=(t|0)){A=C;B=D}else{y=D;z=C;break}}}if((z|0)!=0|(y|0)==(t|0)){E=x;F=w;break}B=w<<1;if((w|0)<0){E=w;F=B;break}else{A=w;w=B;x=A}}if((E|0)<(F|0)){x=F;w=E;while(1){E=x+w|0;y=(E|0)/2|0;if((E|0)<-1)G=0;else{if((E+1|0)>>>0>2){E=y;z=s;while(1){A=E+-1|0;B=c[z+8>>2]|0;if((E|0)>1&(B|0)!=(t|0)){E=A;z=B}else{H=B;I=A;break}}}else{H=s;I=y}G=(I|0)==0&(H|0)!=(t|0)&1}z=(G|0)==0;E=z?y:x;w=z?w:y+1|0;if((w|0)>=(E|0)){J=E;break}else x=E}}else J=F;u=J;v=(J|0)>23?12:0}if(e|0){c[m>>2]=e;Dd(b,58983,m)|0}m=b+12|0;e=c[m>>2]|0;J=e+12|0;F=c[J>>2]|0;do if((F|0)>0)if(!(a[e+51>>0]|0)){x=e+8|0;c[x>>2]=F+1600+(c[x>>2]|0);c[J>>2]=-1600;break}else{zc(b);break}while(0);J=Oc(b,47473,16)|0;F=c[o>>2]|0;c[F>>2]=J;c[F+4>>2]=(a[J+4>>0]|64)&255;J=(c[o>>2]|0)+8|0;c[o>>2]=J;if((f|0)<0){K=J;L=J}else{J=n+96|0;F=n+36|0;e=n+20|0;x=u+-11|0;u=n+8|0;w=n+12|0;G=n+35|0;H=n+4|0;I=n+24|0;s=f;while(1){f=s+1|0;E=c[r>>2]|0;if((s|0)!=0&(E|0)!=(t|0)){z=s;A=E;while(1){B=z+-1|0;C=c[A+8>>2]|0;if((z|0)>1&(C|0)!=(t|0)){z=B;A=C}else{M=C;N=B;break}}}else{M=E;N=s}if((N|0)!=0|(M|0)==(t|0))break;c[J>>2]=M;do if((f|0)==(v|0)){A=c[m>>2]|0;z=A+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[A+51>>0]|0)){B=A+8|0;c[B>>2]=y+1600+(c[B>>2]|0);c[z>>2]=-1600;break}else{zc(b);break}while(0);z=Oc(b,47490,5)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;O=x}else{ff(d,47496,n)|0;c[l>>2]=F;Dd(b,47501,l)|0;z=c[e>>2]|0;if((z|0)>0){c[k>>2]=z<<16;Dd(b,47507,k)|0}z=c[m>>2]|0;y=z+12|0;A=c[y>>2]|0;do if((A|0)>0)if(!(a[z+51>>0]|0)){B=z+8|0;c[B>>2]=A+1600+(c[B>>2]|0);c[y>>2]=-1600;break}else{zc(b);break}while(0);y=Oc(b,47511,4)|0;A=c[o>>2]|0;c[A>>2]=y;c[A+4>>2]=(a[y+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;a:do if(!(a[c[u>>2]>>0]|0))switch(a[c[w>>2]>>0]|0){case 109:{y=c[m>>2]|0;A=y+12|0;z=c[A>>2]|0;do if((z|0)>0)if(!(a[y+51>>0]|0)){B=y+8|0;c[B>>2]=z+1600+(c[B>>2]|0);c[A>>2]=-1600;break}else{zc(b);break}while(0);A=Oc(b,47530,10)|0;z=c[o>>2]|0;c[z>>2]=A;c[z+4>>2]=(a[A+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;break a;break}case 67:{if(!(gf(b,n)|0)){A=c[m>>2]|0;z=A+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[A+51>>0]|0)){B=A+8|0;c[B>>2]=y+1600+(c[B>>2]|0);c[z>>2]=-1600;break}else{zc(b);break}while(0);z=Oc(b,45758,1)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;break a}z=c[o>>2]|0;y=z+-8|0;if((c[z+-4>>2]&15|0)!=4)if(!(ud(b,y)|0))P=0;else{z=c[m>>2]|0;A=z+12|0;B=c[A>>2]|0;do if((B|0)>0)if(!(a[z+51>>0]|0)){C=z+8|0;c[C>>2]=B+1600+(c[C>>2]|0);c[A>>2]=-1600;break}else{zc(b);break}while(0);Q=(c[o>>2]|0)+-8|0;R=57}else{Q=y;R=57}if((R|0)==57){R=0;P=(c[Q>>2]|0)+16|0}c[i>>2]=P;Dd(b,47516,i)|0;A=c[o>>2]|0;B=A+-16|0;z=A+-8|0;while(1){c[B>>2]=c[z>>2];c[B+4>>2]=c[B+12>>2];A=z+8|0;S=c[o>>2]|0;if(A>>>0<S>>>0){C=z;z=A;B=C}else break}c[o>>2]=S+-8;break a;break}default:{B=c[I>>2]<<16;c[h>>2]=F;c[h+4>>2]=B;Dd(b,47541,h)|0;break a}}else{c[j>>2]=c[H>>2];Dd(b,47516,j)|0}while(0);if(!(a[G>>0]|0)){B=c[o>>2]|0;T=B;U=B}else{B=c[m>>2]|0;z=B+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[B+51>>0]|0)){C=B+8|0;c[C>>2]=y+1600+(c[C>>2]|0);c[z>>2]=-1600;break}else{zc(b);break}while(0);z=Oc(b,47558,20)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;z=(c[o>>2]|0)+8|0;c[o>>2]=z;T=z;U=z}z=(T-((c[c[p>>2]>>2]|0)+8)>>3)-q|0;if((z|0)<=1){if(z|0){O=f;break}y=Oc(b,3042456,0)|0;c[U>>2]=y;c[U+4>>2]=(a[y+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;O=f;break}y=c[m>>2]|0;B=y+12|0;C=c[B>>2]|0;do if((C|0)>0)if(!(a[y+51>>0]|0)){A=y+8|0;c[A>>2]=C+1600+(c[A>>2]|0);c[B>>2]=-1600;break}else{zc(b);break}while(0);Cc(b,z);O=f}while(0);if((O|0)<0)break;else s=O}O=c[o>>2]|0;K=O;L=O}O=(K-((c[c[p>>2]>>2]|0)+8)>>3)-q|0;if((O|0)<=1){if(O|0){Fa=g;return}q=Oc(b,3042456,0)|0;c[L>>2]=q;c[L+4>>2]=(a[q+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;Fa=g;return}o=c[m>>2]|0;m=o+12|0;q=c[m>>2]|0;do if((q|0)>0)if(!(a[o+51>>0]|0)){L=o+8|0;c[L>>2]=q+1600+(c[L>>2]|0);c[m>>2]=-1600;break}else{zc(b);break}while(0);Cc(b,O);Fa=g;return}function ff(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=Fa;Fa=Fa+16|0;h=g;if((a[e>>0]|0)==62){i=b+8|0;j=(c[i>>2]|0)+-8|0;c[i>>2]=j;k=e+1|0;l=0;m=j}else{j=c[f+96>>2]|0;k=e;l=j;m=c[j>>2]|0}j=m+4|0;if((c[j>>2]&31|0)==6)n=c[m>>2]|0;else n=0;e=a[k>>0]|0;a:do if(!(e<<24>>24))o=1;else{i=(n|0)==0;p=(l|0)==0;q=f+16|0;r=f+24|0;s=f+28|0;t=f+12|0;u=f+36|0;v=n+4|0;w=f+20|0;x=l+18|0;y=f+32|0;z=f+34|0;A=f+33|0;B=n+6|0;C=f+35|0;D=f+8|0;E=f+45|0;F=n+12|0;G=f+4|0;H=l+8|0;I=f+95|0;J=f+39|0;K=l+28|0;L=b+12|0;M=k;N=1;O=e;while(1){b:do switch(O<<24>>24|0){case 83:{if(!i?(a[v>>0]|0)!=38:0){P=c[F>>2]|0;Q=c[P+36>>2]|0;R=(Q|0)==0?47584:Q+16|0;c[q>>2]=R;Q=c[P+64>>2]|0;c[r>>2]=Q;c[s>>2]=c[P+68>>2];S=R;T=(Q|0)==0?47587:47592}else{c[q>>2]=47579;c[r>>2]=-1;c[s>>2]=-1;S=47579;T=64620}c[t>>2]=T;Q=ft(S)|0;switch(a[S>>0]|0){case 61:{R=S+1|0;if(Q>>>0>60){U=u;V=R;W=U+59|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));a[I>>0]=0;X=N;break b}else{Xu(u|0,R|0,Q|0)|0;X=N;break b}break}case 64:{if(Q>>>0>60){a[u>>0]=a[46115]|0;a[u+1>>0]=a[46116]|0;a[u+2>>0]=a[46117]|0;U=J;V=S+1+Q+-57|0;W=U+57|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));X=N;break b}else{Xu(u|0,S+1|0,Q|0)|0;X=N;break b}break}default:{R=rt(S,10)|0;U=u;V=46119;W=U+9|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));P=(R|0)==0;if(Q>>>0<45&P){Xu(E|0,S|0,Q|0)|0;Y=E+Q|0}else{Z=P?Q:R-S|0;P=Z>>>0<45?Z:45;Xu(E|0,S|0,P|0)|0;Z=E+P|0;a[Z>>0]=a[46115]|0;a[Z+1>>0]=a[46116]|0;a[Z+2>>0]=a[46117]|0;Y=Z+3|0};a[Y>>0]=a[46129]|0;a[Y+1>>0]=a[46130]|0;a[Y+2>>0]=a[46131]|0;X=N;break b}}break}case 108:{if(!p?(a[x>>0]&1)!=0:0){Z=c[(c[c[l>>2]>>2]|0)+12>>2]|0;P=c[Z+20>>2]|0;if(!P)_=0;else _=c[P+(((c[K>>2]|0)-(c[Z+12>>2]|0)>>2)+-1<<2)>>2]|0}else _=-1;c[w>>2]=_;X=N;break}case 117:{if(!i){a[y>>0]=a[B>>0]|0;if((a[v>>0]|0)!=38){a[z>>0]=a[(c[F>>2]|0)+77>>0]|0;a[A>>0]=a[(c[F>>2]|0)+76>>0]|0;X=N;break b}}else a[y>>0]=0;a[z>>0]=1;a[A>>0]=0;X=N;break}case 116:{if(p)$=0;else $=a[x>>0]&64;a[C>>0]=$;X=N;break}case 110:{c:do if((!p?(a[x>>0]&64)==0:0)?(Z=c[H>>2]|0,(a[Z+18>>0]&1)!=0):0){P=c[(c[c[Z>>2]>>2]|0)+12>>2]|0;aa=c[P+12>>2]|0;ba=((c[Z+28>>2]|0)-aa>>2)+-1|0;Z=c[aa+(ba<<2)>>2]|0;do switch(Z&63){case 43:case 42:{aa=Rc(P,ba,Z>>>6&255,G)|0;c[D>>2]=aa;if(!aa)break c;else{X=N;break b}break}case 47:{c[G>>2]=47596;ca=47596;break}case 7:case 6:case 12:{da=0;ea=68;break}case 10:case 8:{da=1;ea=68;break}case 37:{da=5;ea=68;break}case 13:{da=6;ea=68;break}case 14:{da=7;ea=68;break}case 15:{da=8;ea=68;break}case 16:{da=9;ea=68;break}case 17:{da=10;ea=68;break}case 18:{da=11;ea=68;break}case 19:{da=12;ea=68;break}case 20:{da=13;ea=68;break}case 21:{da=14;ea=68;break}case 22:{da=15;ea=68;break}case 23:{da=16;ea=68;break}case 24:{da=17;ea=68;break}case 25:{da=18;ea=68;break}case 26:{da=19;ea=68;break}case 27:{da=20;ea=68;break}case 28:{da=21;ea=68;break}case 29:{da=22;ea=68;break}case 30:{da=23;ea=68;break}case 31:{da=24;ea=68;break}case 32:{da=25;ea=68;break}case 34:{da=4;ea=68;break}case 38:{da=26;ea=68;break}case 39:{da=27;ea=68;break}case 35:{da=28;ea=68;break}default:{ea=69;break c}}while(0);if((ea|0)==68){ea=0;c[G>>2]=(c[(c[L>>2]|0)+156+(da<<2)>>2]|0)+16;ca=47609}c[D>>2]=ca;X=N;break b}else ea=69;while(0);if((ea|0)==69){ea=0;c[D>>2]=0}c[D>>2]=3042456;c[G>>2]=0;X=N;break}case 102:case 76:{X=N;break}default:X=0}while(0);M=M+1|0;O=a[M>>0]|0;if(!(O<<24>>24)){o=X;break a}else N=X}}while(0);if(rt(k,102)|0){X=b+8|0;ca=c[X>>2]|0;c[ca>>2]=c[m>>2];c[ca+4>>2]=c[j>>2];c[X>>2]=(c[X>>2]|0)+8}if(!(rt(k,76)|0)){Fa=g;return o|0}if(n|0?(a[n+4>>0]|0)!=38:0){k=n+12|0;n=c[(c[k>>2]|0)+20>>2]|0;X=c[b+12>>2]|0;j=X+4|0;ca=Ma[c[X>>2]&1](c[j>>2]|0,0,5,32)|0;if(!ca){if(!(a[X+51>>0]|0))jc(b,4);vc(b,1);m=Ma[c[X>>2]&1](c[j>>2]|0,0,5,32)|0;if(!m)jc(b,4);else fa=m}else fa=ca;ca=X+12|0;c[ca>>2]=(c[ca>>2]|0)+32;ca=X+56|0;a[fa+5>>0]=a[X+48>>0]&3;a[fa+4>>0]=5;c[fa>>2]=c[ca>>2];c[ca>>2]=fa;c[fa+8>>2]=0;a[fa+6>>0]=-1;ca=fa+12|0;c[ca>>2]=0;X=fa+28|0;c[X>>2]=0;m=fa+16|0;c[m>>2]=2099924;j=fa+7|0;a[j>>0]=0;c[fa+20>>2]=2099924;da=b+8|0;$=c[da>>2]|0;c[$>>2]=fa;c[$+4>>2]=69;c[da>>2]=(c[da>>2]|0)+8;if((c[(c[k>>2]|0)+52>>2]|0)<=0){Fa=g;return o|0}da=h+4|0;$=0;do{_=c[n+($<<2)>>2]|0;l=_+-1|0;d:do if(l>>>0<(c[X>>2]|0)>>>0){ga=(c[ca>>2]|0)+(l<<3)|0;ea=94}else{Y=_<<16;S=0-Y|0;V=(c[m>>2]|0)+(((((Y|0)<0?((Y|0)==(S|0)?0:S):Y)|0)%((1<<d[j>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[V+12>>2]|0)==3?(c[V+8>>2]|0)==(Y|0):0)break;S=c[V+16>>2]|0;if(!S){ha=Y;ea=96;break d}else V=S}ga=V;ea=94}while(0);if((ea|0)==94){ea=0;if((ga|0)==2099900){ha=_<<16;ea=96}else ia=ga}if((ea|0)==96){ea=0;c[h>>2]=ha;c[da>>2]=3;ia=yc(b,fa,h)|0}c[ia>>2]=1;c[ia+4>>2]=1;$=$+1|0}while(($|0)<(c[(c[k>>2]|0)+52>>2]|0));Fa=g;return o|0}k=b+8|0;b=c[k>>2]|0;c[b+4>>2]=0;c[k>>2]=b+8;Fa=g;return o|0}function gf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+8|0;f=a+16|0;g=(c[e>>2]|0)-((c[c[f>>2]>>2]|0)+8)|0;h=g>>3;ff(a,61178,b)|0;b=c[(c[a+12>>2]|0)+36>>2]|0;a:do if((c[b+28>>2]|0)>>>0>1)i=(c[b+12>>2]|0)+8|0;else{j=(c[b+16>>2]|0)+((131072%((1<<(d[b+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==131072:0)break;k=c[j+16>>2]|0;if(!k){i=2099900;break a}else j=k}i=j}while(0);b=c[e>>2]|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[e>>2]=(c[e>>2]|0)+8;i=h+1|0;if(hf(a,i,2)|0){ld(a,-1,i);l=1;m=(c[e>>2]|0)+-16|0;c[e>>2]=m;return l|0}if((g|0)<=-8){l=0;m=(c[e>>2]|0)+(i<<3)|0;c[e>>2]=m;return l|0}i=c[c[f>>2]>>2]|0;f=c[e>>2]|0;g=i+8+(h<<3)|0;if(f>>>0>=g>>>0){l=0;m=g;c[e>>2]=m;return l|0}a=(i+(h<<3)+4+(3-f)|0)>>>3;h=f;do{c[h+4>>2]=0;h=h+8|0}while(h>>>0<g>>>0);c[e>>2]=f+(a+1<<3);l=0;m=g;c[e>>2]=m;return l|0}function hf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if(!f){g=0;return g|0}h=b+16|0;i=b+8|0;j=c[i>>2]|0;if((j+-8|0)==2099900){g=0;return g|0}if((c[j+-4>>2]&15|0)!=5){g=0;return g|0}c[j+4>>2]=0;c[i>>2]=j+8;if(!(bf(b,-2)|0)){g=0;return g|0}j=f+-1|0;f=(e|0)<-1000999;k=(e|0)==-1001e3;l=b+12|0;m=-1001e3-e|0;n=m+-1|0;a:do if((e|0)>0){while(1){o=c[i>>2]|0;if((o+-16|0)!=2099900?(c[o+-12>>2]&15|0)==4:0){p=(c[c[h>>2]>>2]|0)+(e<<3)|0;q=p>>>0<o>>>0?p:2099900;p=o+-8|0;if(((p|0)!=2099900&(q|0)!=2099900?(c[q+4>>2]|0)==(c[o+-4>>2]|0):0)?Ec(0,q,p)|0:0){r=27;break a}if(hf(b,e,j)|0)break a;s=c[i>>2]|0}else s=o;c[i>>2]=s+-8;if(!(bf(b,-2)|0)){g=0;break}}return g|0}else{while(1){o=c[i>>2]|0;if((o+-16|0)!=2099900?(c[o+-12>>2]&15|0)==4:0){p=c[h>>2]|0;do if(f){if(k){t=(c[l>>2]|0)+36|0;r=24;break}q=c[p>>2]|0;if((c[q+4>>2]|32|0)!=54){u=c[q>>2]|0;t=(m|0)>(d[u+6>>0]|0)?2099900:u+16+(n<<3)|0;r=24}}else{t=o+(e<<3)|0;r=24}while(0);if((((r|0)==24?(r=0,p=o+-8|0,(p|0)!=2099900&(t|0)!=2099900):0)?(c[t+4>>2]|0)==(c[o+-4>>2]|0):0)?Ec(0,t,p)|0:0){r=27;break a}if(hf(b,e,j)|0)break a;v=c[i>>2]|0}else v=o;c[i>>2]=v+-8;if(!(bf(b,-2)|0)){g=0;break}}return g|0}while(0);if((r|0)==27){c[i>>2]=(c[i>>2]|0)+-8;g=1;return g|0}r=c[i>>2]|0;v=r+-16|0;j=r+-8|0;while(1){c[v>>2]=c[j>>2];c[v+4>>2]=c[v+12>>2];r=j+8|0;w=c[i>>2]|0;if(r>>>0<w>>>0){e=j;j=r;v=e}else break}c[i>>2]=w+-8;w=c[l>>2]|0;v=w+12|0;j=c[v>>2]|0;do if((j|0)>0)if(!(a[w+51>>0]|0)){e=w+8|0;c[e>>2]=j+1600+(c[e>>2]|0);c[v>>2]=-1600;break}else{zc(b);break}while(0);v=Oc(b,72022,1)|0;j=c[i>>2]|0;c[j>>2]=v;c[j+4>>2]=(a[v+4>>0]|64)&255;v=c[i>>2]|0;j=v+8|0;c[i>>2]=j;w=j;do{j=w;w=w+-8|0;c[j>>2]=c[w>>2];c[j+4>>2]=c[j+-4>>2]}while(j>>>0>v>>>0);w=c[i>>2]|0;c[v+-8>>2]=c[w>>2];c[v+-4>>2]=c[w+4>>2];w=c[l>>2]|0;l=w+12|0;v=c[l>>2]|0;do if((v|0)>0)if(!(a[w+51>>0]|0)){i=w+8|0;c[i>>2]=v+1600+(c[i>>2]|0);c[l>>2]=-1600;break}else{zc(b);break}while(0);Cc(b,3);g=1;return g|0}function jf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=Fa;Fa=Fa+128|0;g=f+16|0;h=f+8|0;i=f;j=f+28|0;f=c[b+16>>2]|0;if((f|0)==(b+72|0)){c[i>>2]=d;c[i+4>>2]=e;kf(b,47620,i)|0}c[j+96>>2]=f;ff(b,47642,j)|0;if(!(Xs(c[j+8>>2]|0,45846)|0)){f=d+-1|0;if(!f){c[h>>2]=c[j+4>>2];c[h+4>>2]=e;kf(b,47644,h)|0}else k=f}else k=d;d=j+4|0;f=c[d>>2]|0;if(f|0){l=f;c[g>>2]=k;m=g+4|0;c[m>>2]=l;n=g+8|0;c[n>>2]=e;kf(b,47674,g)|0}do if(!(gf(b,j)|0))o=45758;else{f=b+8|0;h=c[f>>2]|0;i=h+-8|0;if((c[h+-4>>2]&15|0)==4)p=i;else{if(!(ud(b,i)|0)){o=0;break}i=c[b+12>>2]|0;h=i+12|0;q=c[h>>2]|0;do if((q|0)>0)if(!(a[i+51>>0]|0)){r=i+8|0;c[r>>2]=q+1600+(c[r>>2]|0);c[h>>2]=-1600;break}else{zc(b);break}while(0);p=(c[f>>2]|0)+-8|0}o=(c[p>>2]|0)+16|0}while(0);c[d>>2]=o;l=o;c[g>>2]=k;m=g+4|0;c[m>>2]=l;n=g+8|0;c[n>>2]=e;kf(b,47674,g)|0;return 0}function kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=d;lf(a,1);Cd(a,b,f)|0;df(a,2);af(a)|0;return 0}function lf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=Fa;Fa=Fa+112|0;f=e;g=e+8|0;if((d|0)>=0){h=c[b+16>>2]|0;i=b+72|0;if((d|0)!=0&(h|0)!=(i|0)){j=d;k=h;while(1){l=j+-1|0;m=c[k+8>>2]|0;if((j|0)>1&(m|0)!=(i|0)){j=l;k=m}else{n=m;o=l;break}}}else{n=h;o=d}if(!((o|0)!=0|(n|0)==(i|0))?(c[g+96>>2]=n,ff(b,47704,g)|0,n=g+20|0,i=c[n>>2]|0,(i|0)>0):0){c[f>>2]=g+36;c[f+4>>2]=i<<16;Dd(b,47707,f)|0;c[524977]=c[n>>2];Fa=e;return}}n=c[b+12>>2]|0;f=n+12|0;i=c[f>>2]|0;do if((i|0)>0)if(!(a[n+51>>0]|0)){g=n+8|0;c[g>>2]=i+1600+(c[g>>2]|0);c[f>>2]=-1600;break}else{zc(b);break}while(0);f=Oc(b,3042456,0)|0;i=b+8|0;b=c[i>>2]|0;c[b>>2]=f;c[b+4>>2]=(a[f+4>>0]|64)&255;c[i>>2]=(c[i>>2]|0)+8;Fa=e;return}function mf(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Fa;Fa=Fa+16|0;g=f;h=td(a,b,e)|0;if(h|0){Fa=f;return h|0}e=c[a+16>>2]|0;do if((b|0)>0){i=(c[e>>2]|0)+(b<<3)|0;if(i>>>0<(c[a+8>>2]|0)>>>0){j=i;k=10}else l=0}else{if((b|0)>=-1000999){j=(c[a+8>>2]|0)+(b<<3)|0;k=10;break}if((b|0)==-1001e3){j=(c[a+12>>2]|0)+36|0;k=10;break}i=-1001e3-b|0;m=c[e>>2]|0;if((c[m+4>>2]|32|0)!=54?(n=c[m>>2]|0,(i|0)<=(d[n+6>>0]|0|0)):0){j=n+16+(i+-1<<3)|0;k=10}else l=0}while(0);if((k|0)==10)if((j|0)==2099900)l=0;else l=(c[j+4>>2]&15)+1|0;j=c[16+(l<<2)>>2]|0;c[g>>2]=45478;c[g+4>>2]=j;jf(a,b,Dd(a,47715,g)|0)|0;Fa=f;return h|0}function nf(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+16>>2]|0;do if((b|0)>0){h=(c[g>>2]|0)+(b<<3)|0;if(h>>>0<(c[a+8>>2]|0)>>>0){i=h;j=9}}else{if((b|0)>=-1000999){i=(c[a+8>>2]|0)+(b<<3)|0;j=9;break}if((b|0)==-1001e3){i=(c[a+12>>2]|0)+36|0;j=9;break}h=-1001e3-b|0;k=c[g>>2]|0;if((c[k+4>>2]|32|0)!=54?(l=c[k>>2]|0,(h|0)<=(d[l+6>>0]|0|0)):0){i=l+16+(h+-1<<3)|0;j=9}}while(0);if(((j|0)==9?(i|0)!=2099900:0)?c[i+4>>2]&15|0:0){m=mf(a,b,f)|0;return m|0}if(!f){m=e;return m|0}if(!e)n=0;else n=ft(e)|0;c[f>>2]=n;m=e;return m|0}function of(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=Fa;Fa=Fa+16|0;f=e;g=e+8|0;h=a+16|0;i=c[h>>2]|0;j=(b|0)>0;do if(!j){if((b|0)>=-1000999){k=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){k=(c[a+12>>2]|0)+36|0;break}l=-1001e3-b|0;m=c[i>>2]|0;if((c[m+4>>2]|32|0)==54)k=2099900;else{n=c[m>>2]|0;k=(l|0)>(d[n+6>>0]|0|0)?2099900:n+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(b<<3)|0;k=l>>>0<(c[a+8>>2]|0)>>>0?l:2099900}while(0);l=c[k+4>>2]|0;a:do if((l|0)==3)o=c[k>>2]|0;else{do if((l&15|0)==4){n=c[k>>2]|0;if(!(Hc(n+16|0,c[n+12>>2]|0,g)|0)){p=c[h>>2]|0;break}else{o=c[g>>2]|0;break a}}else p=i;while(0);do if(j){n=(c[p>>2]|0)+(b<<3)|0;if(n>>>0<(c[a+8>>2]|0)>>>0){q=n;r=24}else s=0}else{if((b|0)>=-1000999){q=(c[a+8>>2]|0)+(b<<3)|0;r=24;break}if((b|0)==-1001e3){q=(c[a+12>>2]|0)+36|0;r=24;break}n=-1001e3-b|0;m=c[p>>2]|0;if((c[m+4>>2]|32|0)!=54?(t=c[m>>2]|0,(n|0)<=(d[t+6>>0]|0|0)):0){q=t+16+(n+-1<<3)|0;r=24}else s=0}while(0);if((r|0)==24)if((q|0)==2099900)s=0;else s=(c[q+4>>2]&15)+1|0;n=c[16+(s<<2)>>2]|0;c[f>>2]=45471;c[f+4>>2]=n;jf(a,b,Dd(a,47715,f)|0)|0;u=0;Fa=e;return u|0}while(0);u=o>>16;Fa=e;return u|0}function pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=b+4|0;e=c[a>>2]|0;if(!e){f=0;return f|0}c[d>>2]=e;c[a>>2]=0;f=c[b>>2]|0;return f|0}function qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Fa;Fa=Fa+16|0;e=d;f=ft(b)|0;c[e>>2]=b;c[e+4>>2]=f;f=Qd(a,4,e,b,0)|0;Fa=d;return f|0}function rf(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}h=-1001e3-b|0;i=c[f>>2]|0;if((c[i+4>>2]|32|0)==54)g=2099900;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2099900:j+16+(h+-1<<3)|0}}else{h=(c[f>>2]|0)+(b<<3)|0;g=h>>>0<(c[a+8>>2]|0)>>>0?h:2099900}while(0);b=c[g+4>>2]|0;switch(b&15){case 5:{k=(c[g>>2]|0)+8|0;break}case 7:{k=(c[g>>2]|0)+8|0;break}default:k=(c[a+12>>2]|0)+276+((b&15)<<2)|0}b=c[k>>2]|0;if(!b){l=0;return l|0}k=a+8|0;g=c[k>>2]|0;c[g>>2]=b;c[g+4>>2]=69;c[k>>2]=(c[k>>2]|0)+8;Ad(a,e)|0;e=c[k>>2]|0;a=xc(c[e+-16>>2]|0,e+-8|0)|0;e=c[k>>2]|0;c[e+-8>>2]=c[a>>2];c[e+-4>>2]=c[a+4>>2];a=c[k>>2]|0;e=a+-8|0;if((e|0)!=2099900?(c[a+-4>>2]&15|0)==0:0){m=0;n=a+-16|0}else{g=a+-16|0;a=e;while(1){c[g>>2]=c[a>>2];c[g+4>>2]=c[g+12>>2];e=a+8|0;o=c[k>>2]|0;if(e>>>0<o>>>0){b=a;a=e;g=b}else break}m=1;n=o+-8|0}c[k>>2]=n;l=m;return l|0}function sf(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Fa;Fa=Fa+16|0;h=g;if((e+1000999|0)>>>0>1000999)i=e;else i=((c[a+8>>2]|0)-(c[c[a+16>>2]>>2]|0)>>3)+e|0;if(!(rf(a,i,f)|0)){j=0;Fa=g;return j|0}f=c[a+16>>2]|0;do if((i|0)<=0){if((i|0)>=-1000999){k=(c[a+8>>2]|0)+(i<<3)|0;break}if((i|0)==-1001e3){k=(c[a+12>>2]|0)+36|0;break}e=-1001e3-i|0;l=c[f>>2]|0;if((c[l+4>>2]|32|0)==54)k=2099900;else{m=c[l>>2]|0;k=(e|0)>(d[m+6>>0]|0|0)?2099900:m+16+(e+-1<<3)|0}}else{e=(c[f>>2]|0)+(i<<3)|0;k=e>>>0<(c[a+8>>2]|0)>>>0?e:2099900}while(0);i=a+8|0;f=c[i>>2]|0;c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];k=c[i>>2]|0;c[i>>2]=k+8;i=k+-8|0;k=a+38|0;f=(b[k>>1]|0)+1<<16>>16;b[k>>1]=f;if((f&65535)>199){if(f<<16>>16==200)lc(a,45525,h);if((f&65535)>224)jc(a,6)}f=a+36|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;if(!(pc(a,i,1)|0))qc(a);b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+-1<<16>>16;j=1;Fa=g;return j|0}function tf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=Fa;Fa=Fa+16|0;h=g;a:do if(!(sf(b,e,47780)|0)){i=c[b+16>>2]|0;j=(e|0)>0;do if(j){k=(c[i>>2]|0)+(e<<3)|0;l=c[b+8>>2]|0;if(k>>>0<l>>>0){m=k;n=10}else{o=k;p=l;n=40}}else{if((e|0)>=-1000999){m=(c[b+8>>2]|0)+(e<<3)|0;n=10;break}if((e|0)==-1001e3){m=(c[b+12>>2]|0)+36|0;n=10;break}l=-1001e3-e|0;k=c[i>>2]|0;q=c[k+4>>2]|32;if((q|0)!=54){r=c[k>>2]|0;if((l|0)>(d[r+6>>0]|0)){s=l;t=q;u=k;n=46}else{m=r+16+(l+-1<<3)|0;n=10}}else v=0}while(0);do if((n|0)==10){b:do if((m|0)!=2099900)switch(c[m+4>>2]&15){case 4:case 3:{do if(!j){if((e|0)>=-1000999){w=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){w=(c[b+12>>2]|0)+36|0;break}l=-1001e3-e|0;r=c[i>>2]|0;if((c[r+4>>2]|32|0)==54)w=2099900;else{k=c[r>>2]|0;w=(l|0)>(d[k+6>>0]|0)?2099900:k+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(e<<3)|0;w=l>>>0<(c[b+8>>2]|0)>>>0?l:2099900}while(0);l=b+8|0;k=c[l>>2]|0;c[k>>2]=c[w>>2];c[k+4>>2]=c[w+4>>2];c[l>>2]=(c[l>>2]|0)+8;break a;break}case 1:{do if(!j){if((e|0)>=-1000999){x=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){x=(c[b+12>>2]|0)+36|0;break}l=-1001e3-e|0;k=c[i>>2]|0;if((c[k+4>>2]|32|0)==54)x=2099900;else{r=c[k>>2]|0;x=(l|0)>(d[r+6>>0]|0)?2099900:r+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(e<<3)|0;x=l>>>0<(c[b+8>>2]|0)>>>0?l:2099900}while(0);switch(c[x+4>>2]|0){case 0:{n=31;break}case 1:{if(!(c[x>>2]|0))n=31;else y=57006;break}default:y=57006}if((n|0)==31)y=57011;Ad(b,y)|0;break a;break}case 0:{l=c[b+12>>2]|0;r=l+12|0;k=c[r>>2]|0;do if((k|0)>0)if(!(a[l+51>>0]|0)){q=l+8|0;c[q>>2]=k+1600+(c[q>>2]|0);c[r>>2]=-1600;break}else{zc(b);break}while(0);r=Oc(b,56773,3)|0;k=b+8|0;l=c[k>>2]|0;c[l>>2]=r;c[l+4>>2]=(a[r+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+8;break a;break}default:break b}while(0);if(j){o=(c[i>>2]|0)+(e<<3)|0;p=c[b+8>>2]|0;n=40;break}if((e|0)>=-1000999){z=(c[b+8>>2]|0)+(e<<3)|0;n=48;break}if((e|0)==-1001e3){z=(c[b+12>>2]|0)+36|0;n=48;break}else{k=c[i>>2]|0;s=-1001e3-e|0;t=c[k+4>>2]|32;u=k;n=46;break}}while(0);if((n|0)==40)if(o>>>0<p>>>0){z=o;n=48}else v=0;else if((n|0)==46)if((t|0)!=54?(i=c[u>>2]|0,(s|0)<=(d[i+6>>0]|0)):0){z=i+16+(s+-1<<3)|0;n=48}else v=0;if((n|0)==48)if((z|0)==2099900)v=0;else v=(c[z+4>>2]&15)+1|0;i=c[16+(v<<2)>>2]|0;j=wd(b,e)|0;c[h>>2]=i;c[h+4>>2]=j;Dd(b,47791,h)|0}while(0);h=b+8|0;e=c[h>>2]|0;v=e+-8|0;if((c[e+-4>>2]&15|0)==4)A=v;else{if(!(ud(b,v)|0)){if(!f){B=0;Fa=g;return B|0}c[f>>2]=0;B=0;Fa=g;return B|0}v=c[b+12>>2]|0;e=v+12|0;z=c[e>>2]|0;do if((z|0)>0)if(!(a[v+51>>0]|0)){n=v+8|0;c[n>>2]=z+1600+(c[n>>2]|0);c[e>>2]=-1600;break}else{zc(b);break}while(0);A=(c[h>>2]|0)+-8|0}if(f|0)c[f>>2]=c[(c[A>>2]|0)+12>>2];B=(c[A>>2]|0)+16|0;Fa=g;return B|0}function uf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=Fa;Fa=Fa+16|0;g=Ma[d&1](e,0,8,428)|0;if(!g){h=0;Fa=f;return h|0}i=g+116|0;c[g>>2]=0;a[g+4>>0]=8;a[g+164>>0]=33;a[g+5>>0]=1;a[g+166>>0]=0;c[g+12>>2]=i;c[g+28>>2]=0;c[g+16>>2]=0;c[g+32>>2]=0;c[g+64>>2]=0;b[g+38>>1]=0;c[g+52>>2]=0;a[g+40>>0]=0;c[g+44>>2]=0;a[g+41>>0]=1;c[g+48>>2]=0;c[g+56>>2]=0;b[g+36>>1]=1;a[g+6>>0]=0;c[g+68>>2]=0;c[i>>2]=d;c[g+120>>2]=e;c[g+260>>2]=g;e=g;d=f;i=(Ca(0)|0)^16;j=(i>>>2)+(1>>>24&255)+(i<<5)^i;i=(j>>>2)+(1>>>16&255)+(j<<5)^j;j=(i>>>2)+(1>>>8&255)+(i<<5)^i;i=(j>>>2)+1+(j<<5)^j;j=(i>>>2)+(2099900>>>24&255)+(i<<5)^i;i=(j>>>2)+(2099900>>>16&255)+(j<<5)^j;j=(i>>>2)+(2099900>>>8&255)+(i<<5)^i;i=(j>>>2)+188+(j<<5)^j;j=(i>>>2)+(d>>>24)+(i<<5)^i;i=(j>>>2)+(d>>>16&255)+(j<<5)^j;j=(i>>>2)+(d>>>8&255)+(i<<5)^i;i=(j>>>2)+(d&252)+(j<<5)^j;j=(i>>>2)+(e>>>24)+(i<<5)^i;i=(j>>>2)+(e>>>16&255)+(j<<5)^j;j=(i>>>2)+(e>>>8&255)+(i<<5)^i;c[g+160>>2]=(j>>>2)+(e&255)+(j<<5)^j;j=g+212|0;c[g+224>>2]=j;c[g+228>>2]=j;a[g+167>>0]=0;j=g+136|0;c[g+156>>2]=0;c[g+232>>2]=0;c[g+240>>2]=0;c[g+256>>2]=0;c[g+264>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;a[g+165>>0]=5;j=g+124|0;e=g+172|0;i=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));c[j>>2]=428;c[g+128>>2]=0;c[g+244>>2]=200;c[g+248>>2]=200;c[g+252>>2]=200;e=g+392|0;i=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));if(!(ic(g,5,0)|0)){h=g;Fa=f;return h|0}wf(g);h=0;Fa=f;return h|0}function vf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Fa;Fa=Fa+16|0;f=e;g=b+12|0;h=c[g>>2]|0;i=h+4|0;j=Ma[c[h>>2]&1](c[i>>2]|0,0,0,320)|0;if(!j){if(!(a[h+51>>0]|0))jc(b,4);vc(b,1);k=Ma[c[h>>2]&1](c[i>>2]|0,0,0,320)|0;if(!k)jc(b,4);else l=k}else l=j;j=h+12|0;c[j>>2]=(c[j>>2]|0)+320;c[b+28>>2]=l;c[b+32>>2]=40;j=l+4|0;c[j>>2]=0;c[l+12>>2]=0;c[l+20>>2]=0;c[l+28>>2]=0;c[l+36>>2]=0;c[l+44>>2]=0;c[l+52>>2]=0;c[l+60>>2]=0;c[l+68>>2]=0;c[l+76>>2]=0;c[l+84>>2]=0;c[l+92>>2]=0;c[l+100>>2]=0;c[l+108>>2]=0;c[l+116>>2]=0;c[l+124>>2]=0;c[l+132>>2]=0;c[l+140>>2]=0;c[l+148>>2]=0;c[l+156>>2]=0;c[l+164>>2]=0;c[l+172>>2]=0;c[l+180>>2]=0;c[l+188>>2]=0;c[l+196>>2]=0;c[l+204>>2]=0;c[l+212>>2]=0;c[l+220>>2]=0;c[l+228>>2]=0;c[l+236>>2]=0;c[l+244>>2]=0;c[l+252>>2]=0;c[l+260>>2]=0;c[l+268>>2]=0;c[l+276>>2]=0;c[l+284>>2]=0;c[l+292>>2]=0;c[l+300>>2]=0;c[l+308>>2]=0;c[l+316>>2]=0;c[b+24>>2]=l+280;k=b+72|0;c[b+80>>2]=0;c[b+84>>2]=0;a[b+90>>0]=0;c[k>>2]=l;c[b+8>>2]=l+8;c[j>>2]=0;c[b+76>>2]=l+168;c[b+16>>2]=k;k=c[g>>2]|0;l=k+4|0;j=Ma[c[k>>2]&1](c[l>>2]|0,0,5,32)|0;if(!j){if(!(a[k+51>>0]|0))jc(b,4);vc(b,1);i=Ma[c[k>>2]&1](c[l>>2]|0,0,5,32)|0;if(!i)jc(b,4);else m=i}else m=j;j=k+12|0;c[j>>2]=(c[j>>2]|0)+32;j=k+56|0;a[m+5>>0]=a[k+48>>0]&3;a[m+4>>0]=5;c[m>>2]=c[j>>2];c[j>>2]=m;c[m+8>>2]=0;a[m+6>>0]=-1;j=m+12|0;c[j>>2]=0;k=m+28|0;c[k>>2]=0;i=m+16|0;c[i>>2]=2099924;l=m+7|0;a[l>>0]=0;c[m+20>>2]=2099924;c[h+36>>2]=m;c[h+40>>2]=69;Ic(b,m,2,0);n=b;a:do if(!(c[k>>2]|0)){o=(c[i>>2]|0)+((65536%((1<<d[l>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[o+12>>2]|0)==3?(c[o+8>>2]|0)==65536:0)break;p=c[o+16>>2]|0;if(!p){q=17;break a}else o=p}r=o;q=16}else{r=c[j>>2]|0;q=16}while(0);if((q|0)==16)if((r|0)==2099900)q=17;else s=r;if((q|0)==17){c[f>>2]=65536;c[f+4>>2]=3;s=yc(b,m,f)|0}c[s>>2]=n;c[s+4>>2]=72;s=c[g>>2]|0;n=s+4|0;r=Ma[c[s>>2]&1](c[n>>2]|0,0,5,32)|0;if(!r){if(!(a[s+51>>0]|0))jc(b,4);vc(b,1);p=Ma[c[s>>2]&1](c[n>>2]|0,0,5,32)|0;if(!p)jc(b,4);else t=p}else t=r;r=s+12|0;c[r>>2]=(c[r>>2]|0)+32;r=s+56|0;a[t+5>>0]=a[s+48>>0]&3;a[t+4>>0]=5;c[t>>2]=c[r>>2];c[r>>2]=t;c[t+8>>2]=0;a[t+6>>0]=-1;c[t+12>>2]=0;c[t+28>>2]=0;c[t+16>>2]=2099924;a[t+7>>0]=0;c[t+20>>2]=2099924;r=t;b:do if((c[k>>2]|0)>>>0>1){u=(c[j>>2]|0)+8|0;q=29}else{t=(c[i>>2]|0)+((131072%((1<<d[l>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[t+12>>2]|0)==3?(c[t+8>>2]|0)==131072:0)break;s=c[t+16>>2]|0;if(!s){q=30;break b}else t=s}u=t;q=29}while(0);if((q|0)==29)if((u|0)==2099900)q=30;else v=u;if((q|0)==30){c[f>>2]=131072;c[f+4>>2]=3;v=yc(b,m,f)|0}c[v>>2]=r;c[v+4>>2]=69;Sc(b,32);v=0;do{r=c[864+(v<<2)>>2]|0;f=id(b,r,ft(r)|0)|0;c[(c[g>>2]|0)+156+(v<<2)>>2]=f;f=(c[(c[g>>2]|0)+156+(v<<2)>>2]|0)+5|0;a[f>>0]=a[f>>0]|32;v=v+1|0}while((v|0)!=30);v=0;do{g=c[656+(v<<2)>>2]|0;f=id(b,g,ft(g)|0)|0;g=f+5|0;a[g>>0]=a[g>>0]|32;v=v+1|0;a[f+6>>0]=v}while((v|0)!=22);v=Oc(b,48757,17)|0;c[h+152>>2]=v;b=v+5|0;a[b>>0]=a[b>>0]|32;a[h+51>>0]=1;c[h+148>>2]=35108;Fa=e;return}function wf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=a+12|0;d=c[b>>2]|0;e=a+28|0;Dc(a,c[e>>2]|0);xf(a);f=c[b>>2]|0;g=c[f+24>>2]|0;h=c[f+32>>2]<<2;Ma[c[f>>2]&1](c[f+4>>2]|0,g,h,0)|0;i=f+12|0;c[i>>2]=(c[i>>2]|0)+((g|0)==0?0:0-h|0);h=d+116|0;g=c[h>>2]|0;i=d+124|0;f=c[i>>2]|0;j=c[b>>2]|0;k=Ma[c[j>>2]&1](c[j+4>>2]|0,g,f,0)|0;l=j+12|0;c[l>>2]=(c[l>>2]|0)+((g|0)==0?0:0-f|0);c[h>>2]=k;c[i>>2]=0;i=c[e>>2]|0;if(!i){m=c[d>>2]|0;n=d+4|0;o=c[n>>2]|0;Ma[m&1](o,a,428,0)|0;return}c[a+16>>2]=a+72;k=a+84|0;h=c[k>>2]|0;c[k>>2]=0;if(!h)p=i;else{i=h;do{h=i;i=c[i+12>>2]|0;k=c[b>>2]|0;Ma[c[k>>2]&1](c[k+4>>2]|0,h,40,0)|0;f=k+12|0;c[f>>2]=(c[f>>2]|0)-((h|0)==0?0:40)}while((i|0)!=0);p=c[e>>2]|0}e=c[a+32>>2]<<3;i=c[b>>2]|0;Ma[c[i>>2]&1](c[i+4>>2]|0,p,e,0)|0;b=i+12|0;c[b>>2]=(c[b>>2]|0)-((p|0)==0?0:e);m=c[d>>2]|0;n=d+4|0;o=c[n>>2]|0;Ma[m&1](o,a,428,0)|0;return}function xf(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=b+12|0;f=c[e>>2]|0;g=f+60|0;h=f+92|0;i=c[h>>2]|0;if(!i)j=h;else{k=i;while(1){l=c[k>>2]|0;if(!l)break;else k=l}j=k}k=c[g>>2]|0;if(!k){m=h;n=f;o=i}else{i=j;j=k;while(1){k=j+5|0;a[k>>0]=a[k>>0]|8;c[g>>2]=c[j>>2];c[j>>2]=c[i>>2];c[i>>2]=j;k=c[g>>2]|0;if(!k)break;else{h=j;j=k;i=h}}i=c[e>>2]|0;j=i+92|0;m=j;n=i;o=c[j>>2]|0}if(!o){p=n;q=0}else{n=o;do{o=n+5|0;a[o>>0]=a[o>>0]&-65;o=c[e>>2]|0;j=o+92|0;i=c[j>>2]|0;c[j>>2]=c[i>>2];j=o+56|0;c[i>>2]=c[j>>2];c[j>>2]=i;j=i+5|0;i=a[j>>0]|0;a[j>>0]=i&-17;if((d[o+49>>0]|0)>=2)a[j>>0]=a[o+48>>0]&3|i&-88;n=c[m>>2]|0}while((n|0)!=0);p=c[e>>2]|0;q=c[g>>2]|0}a[f+48>>0]=3;a[f+50>>0]=0;n=d[p+48>>0]|0;m=n^3;i=a[p+50>>0]|0;p=i<<24>>24==2;o=n&3;n=p?255:184;j=p?64:o;h=p?64:0;if(!q){r=m;s=o;t=i}else{i=g;g=-3;o=q;while(1){if(!g)break;g=g+-1|0;q=o+5|0;p=d[q>>0]|0;if(!((p^3)&m)){c[i>>2]=c[o>>2];Zc(b,o);u=i}else{if(h&p|0)break;if((a[o+4>>0]|0)==8)_c(b,o);a[q>>0]=n&p|j;u=o}o=c[u>>2]|0;if(!o)break;else i=u}u=c[e>>2]|0;i=d[u+48>>0]|0;r=i^3;s=i&3;t=a[u+50>>0]|0}u=f+56|0;i=t<<24>>24==2;t=i?255:184;o=i?64:s;s=i?64:0;i=c[u>>2]|0;a:do if(i|0){j=u;n=-3;h=i;while(1){if(!n)break a;n=n+-1|0;m=h+5|0;g=d[m>>0]|0;if(!((g^3)&r)){c[j>>2]=c[h>>2];Zc(b,h);v=j}else{if(s&g|0)break a;if((a[h+4>>0]|0)==8)_c(b,h);a[m>>0]=t&g|o;v=h}h=c[v>>2]|0;if(!h)break;else j=v}}while(0);v=f+32|0;o=c[v>>2]|0;if((o|0)<=0)return;t=f+24|0;f=0;s=o;while(1){o=(c[t>>2]|0)+(f<<2)|0;r=c[e>>2]|0;i=d[r+48>>0]|0;u=i^3;j=(a[r+50>>0]|0)==2;r=j?255:184;h=j?64:i&3;i=j?64:0;j=c[o>>2]|0;if(!j)w=s;else{n=o;o=-3;g=j;while(1){if(!o)break;o=o+-1|0;j=g+5|0;m=d[j>>0]|0;if(!((m^3)&u)){c[n>>2]=c[g>>2];Zc(b,g);x=n}else{if(i&m|0)break;if((a[g+4>>0]|0)==8)_c(b,g);a[j>>0]=r&m|h;x=g}g=c[x>>2]|0;if(!g)break;else n=x}w=c[v>>2]|0}f=f+1|0;if((f|0)>=(w|0))break;else s=w}return}function yf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+16|0;d=(c[c[b>>2]>>2]|0)+8|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>=f>>>0|(d|0)==2099900){jf(a,1,47735)|0;g=(c[c[b>>2]>>2]|0)+8|0;h=c[e>>2]|0}else{g=d;h=f}f=g>>>0<h>>>0?g:2099900;g=c[f+4>>2]|0;switch(g&15){case 5:{i=(c[f>>2]|0)+8|0;break}case 7:{i=(c[f>>2]|0)+8|0;break}default:i=(c[a+12>>2]|0)+276+((g&15)<<2)|0}g=c[i>>2]|0;if(!g){c[h+4>>2]=0;c[e>>2]=h+8;return 1}else{c[h>>2]=g;c[h+4>>2]=69;c[e>>2]=(c[e>>2]|0)+8;rf(a,1,47994)|0;return 1}return 0}
+function bl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0,Kh=0,Lh=0,Mh=0,Nh=0,Oh=0,Ph=0,Qh=0,Rh=0,Sh=0;g=Fa;Fa=Fa+4112|0;h=g+4108|0;i=g+4104|0;j=g+3072|0;k=g+2048|0;l=g+1024|0;m=g;n=g+4100|0;o=g+4096|0;p=0;do{c[j+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=256);p=0;do{c[k+(c[j+(p<<2)>>2]<<2)>>2]=p;p=p+1|0}while((p|0)!=256);al(b,f);c[8783]=1;c[525045]=0;c[525043]=e;c[525044]=0;if(!f){q=0;Fa=g;return q|0}p=Fp(f)|0;Xu(p|0,b|0,f|0)|0;r=c[525043]|0;s=c[8783]|0;t=c[525044]|0;u=r+t|0;v=(s^255)&(d[u>>0]|0);a[u>>0]=v;w=s<<1;x=t+1|0;if((w|0)!=256){y=(w^255)&v;a[u>>0]=y;v=s<<2;if((v|0)==256){s=r+x|0;c[525044]=x;w=d[s>>0]|0;c[525045]=w;z=w&254;a[s>>0]=z;A=2;B=s;C=x;D=z;E=314}else{F=x;G=u;H=y;I=v;J=t;E=312}}else{v=r+x|0;c[525044]=x;y=d[v>>0]|0;c[525045]=y;u=y&254;a[v>>0]=u;F=t+2|0;G=v;H=u;I=2;J=x;E=312}do if((E|0)==312){x=(I^255)&(H&255);a[G>>0]=x;u=I<<1;if((u|0)==256){v=r+F|0;c[525044]=F;t=d[v>>0]|0;c[525045]=t;A=1;B=v;C=F;D=t;E=314;break}t=(u^255)&x;a[G>>0]=t;x=I<<2;if((x|0)==256){u=r+F|0;c[525044]=F;v=d[u>>0]|0;c[525045]=v;y=v&254;a[u>>0]=y;K=2;L=u;M=F;N=y;E=319}else{O=G;P=F;Q=t;R=x;S=J;E=317}}while(0);if((E|0)==314){J=(A^255)&D;a[B>>0]=J;O=B;P=C+1|0;Q=J;R=A<<1;S=C;E=317}do if((E|0)==317){C=(R^255)&(Q&255);a[O>>0]=C;A=R<<1;if((A|0)==256){J=r+P|0;c[525044]=P;B=d[J>>0]|0;c[525045]=B;K=1;L=J;M=P;N=B;E=319;break}B=(A^255)&C;a[O>>0]=B;C=R<<2;if((C|0)==256){A=r+P|0;c[525044]=P;J=d[A>>0]|0;c[525045]=J;D=J&254;a[A>>0]=D;T=2;U=A;V=P;W=D;E=324}else{X=O;Y=P;Z=B;_=C;$=S;E=322}}while(0);if((E|0)==319){S=(K^255)&N;a[L>>0]=S;X=L;Y=M+1|0;Z=S;_=K<<1;$=M;E=322}do if((E|0)==322){M=(_^255)&(Z&255);a[X>>0]=M;K=_<<1;if((K|0)==256){S=r+Y|0;c[525044]=Y;L=d[S>>0]|0;c[525045]=L;T=1;U=S;V=Y;W=L;E=324;break}L=(K^255)&M;a[X>>0]=L;M=_<<2;if((M|0)==256){K=r+Y|0;c[525044]=Y;S=d[K>>0]|0;c[525045]=S;aa=Y;ba=K;ca=Y+1|0;da=S;ea=1}else{fa=X;ga=Y;ha=L;ia=M;ja=$;E=326}}while(0);if((E|0)==324){$=(T^255)&W;a[U>>0]=$;fa=U;ga=V+1|0;ha=$;ia=T<<1;ja=V;E=326}if((E|0)==326){aa=ja;ba=fa;ca=ga;da=ha&255;ea=ia}c[8783]=ea;ia=c[525049]|0;c[525049]=ia+8;ha=(ea^255)&da;a[ba>>0]=ha;da=ea<<1;if((da|0)!=256){ga=(da^255)&ha;a[ba>>0]=ga;ha=ea<<2;if((ha|0)==256){ea=r+ca|0;c[525044]=ca;da=d[ea>>0]|0;c[525045]=da;fa=da&254;a[ea>>0]=fa;ka=2;la=ea;ma=ca;na=fa;E=296}else{oa=ba;pa=ca;qa=ga;ra=ha;sa=aa;E=294}}else{aa=r+ca|0;c[525044]=ca;ha=d[aa>>0]|0;c[525045]=ha;ga=ha&254;a[aa>>0]=ga;oa=aa;pa=ca+1|0;qa=ga;ra=2;sa=ca;E=294}do if((E|0)==294){ca=(ra^255)&(qa&255);a[oa>>0]=ca;ga=ra<<1;if((ga|0)==256){aa=r+pa|0;c[525044]=pa;ha=d[aa>>0]|0;c[525045]=ha;ka=1;la=aa;ma=pa;na=ha;E=296;break}ha=(ga^255)&ca;a[oa>>0]=ha;ca=ra<<2;if((ca|0)==256){ga=r+pa|0;c[525044]=pa;aa=d[ga>>0]|0;c[525045]=aa;ta=ga;ua=pa+1|0;va=aa;wa=1;xa=pa}else{ya=oa;za=pa;Aa=ha;Ba=ca;Ca=sa;E=298}}while(0);if((E|0)==296){sa=(ka^255)&na;a[la>>0]=sa;ya=la;za=ma+1|0;Aa=sa;Ba=ka<<1;Ca=ma;E=298}if((E|0)==298){ta=ya;ua=za;va=Aa&255;wa=Ba;xa=Ca}Ca=wa|(wa^255)&va;a[ta>>0]=Ca;va=wa<<1;if((va|0)==256){wa=r+ua|0;c[525044]=ua;Ba=d[wa>>0]|0;c[525045]=Ba;Da=wa;Ea=ua+1|0;Ga=Ba;Ha=1;Ia=ua}else{Da=ta;Ea=ua;Ga=Ca&255;Ha=va;Ia=xa}xa=Ha|(Ha^255)&Ga;a[Da>>0]=xa;Ga=Ha<<1;if((Ga|0)==256){Ha=r+Ea|0;c[525044]=Ea;va=d[Ha>>0]|0;c[525045]=va;Ja=Ha;Ka=Ea+1|0;La=va;Ma=1;Na=Ea}else{Ja=Da;Ka=Ea;La=xa&255;Ma=Ga;Na=Ia}Ia=Ma|(Ma^255)&La;a[Ja>>0]=Ia;La=Ma<<1;if((La|0)!=256){Ga=(La^255)&(Ia&255);a[Ja>>0]=Ga;Ia=Ma<<2;if((Ia|0)==256){Ma=r+Ka|0;c[525044]=Ka;La=d[Ma>>0]|0;c[525045]=La;Oa=Ka;Pa=Ma;Qa=Ka+1|0;Ra=La;Sa=1}else{Oa=Na;Pa=Ja;Qa=Ka;Ra=Ga;Sa=Ia}}else{Ia=r+Ka|0;c[525044]=Ka;Ga=d[Ia>>0]|0;c[525045]=Ga;Ja=Ga&254;a[Ia>>0]=Ja;Oa=Ka;Pa=Ia;Qa=Ka+1|0;Ra=Ja;Sa=2}c[8783]=Sa;c[525049]=ia+16;Ja=(Sa^255)&Ra;a[Pa>>0]=Ja;Ra=Sa<<1;do if((Ra|0)!=256){Ka=(Ra^255)&(Ja&255);a[Pa>>0]=Ka;Ia=Sa<<2;if((Ia|0)==256){Ga=r+Qa|0;c[525044]=Qa;Na=d[Ga>>0]|0;c[525045]=Na;Ta=1;Ua=Ga;Va=Na;E=275;break}Na=(Ia^255)&Ka;a[Pa>>0]=Na;Ka=Sa<<3;if((Ka|0)==256){Ia=r+Qa|0;c[525044]=Qa;Ga=d[Ia>>0]|0;c[525045]=Ga;Wa=Ia;Xa=Qa+1|0;Ya=Ga;Za=1;_a=Qa}else{$a=Pa;ab=Qa;bb=Na;cb=Ka;db=Oa;E=277}}else{Ka=r+Qa|0;c[525044]=Qa;Na=d[Ka>>0]|0;c[525045]=Na;Ga=Na&254;a[Ka>>0]=Ga;Ta=2;Ua=Ka;Va=Ga;E=275}while(0);if((E|0)==275){Oa=(Ta^255)&Va;a[Ua>>0]=Oa;$a=Ua;ab=Qa+1|0;bb=Oa;cb=Ta<<1;db=Qa;E=277}if((E|0)==277){Wa=$a;Xa=ab;Ya=bb&255;Za=cb;_a=db}db=Za|(Za^255)&Ya;a[Wa>>0]=db;Ya=Za<<1;if((Ya|0)==256){Za=r+Xa|0;c[525044]=Xa;cb=d[Za>>0]|0;c[525045]=cb;eb=Za;fb=Xa+1|0;gb=cb;hb=1;ib=Xa}else{eb=Wa;fb=Xa;gb=db&255;hb=Ya;ib=_a}_a=hb|(hb^255)&gb;a[eb>>0]=_a;gb=hb<<1;if((gb|0)==256){hb=r+fb|0;c[525044]=fb;Ya=d[hb>>0]|0;c[525045]=Ya;jb=hb;kb=fb+1|0;lb=Ya;mb=1;nb=fb}else{jb=eb;kb=fb;lb=_a&255;mb=gb;nb=ib}ib=mb|(mb^255)&lb;a[jb>>0]=ib;lb=mb<<1;if((lb|0)==256){mb=r+kb|0;c[525044]=kb;gb=d[mb>>0]|0;c[525045]=gb;ob=mb;pb=kb+1|0;qb=gb;rb=1;sb=kb}else{ob=jb;pb=kb;qb=ib&255;rb=lb;sb=nb}nb=rb|(rb^255)&qb;a[ob>>0]=nb;qb=rb<<1;if((qb|0)!=256){lb=(qb^255)&(nb&255);a[ob>>0]=lb;nb=rb<<2;if((nb|0)==256){rb=r+pb|0;c[525044]=pb;qb=d[rb>>0]|0;c[525045]=qb;tb=pb;ub=rb;vb=pb+1|0;wb=qb;xb=1}else{tb=sb;ub=ob;vb=pb;wb=lb;xb=nb}}else{nb=r+pb|0;c[525044]=pb;lb=d[nb>>0]|0;c[525045]=lb;ob=lb&254;a[nb>>0]=ob;tb=pb;ub=nb;vb=pb+1|0;wb=ob;xb=2}c[8783]=xb;c[525049]=ia+24;ob=xb|(xb^255)&wb;a[ub>>0]=ob;wb=xb<<1;do if((wb|0)!=256){pb=(wb^255)&(ob&255);a[ub>>0]=pb;nb=xb<<2;if((nb|0)==256){lb=r+vb|0;c[525044]=vb;sb=d[lb>>0]|0;c[525045]=sb;yb=1;zb=lb;Ab=sb;E=256;break}sb=(nb^255)&pb;a[ub>>0]=sb;pb=xb<<3;if((pb|0)==256){nb=r+vb|0;c[525044]=vb;lb=d[nb>>0]|0;c[525045]=lb;qb=lb&254;a[nb>>0]=qb;Bb=2;Cb=nb;Db=vb;Eb=qb;E=261}else{Fb=ub;Gb=vb;Hb=tb;Ib=sb;Jb=pb;E=259}}else{pb=r+vb|0;c[525044]=vb;sb=d[pb>>0]|0;c[525045]=sb;qb=sb&254;a[pb>>0]=qb;yb=2;zb=pb;Ab=qb;E=256}while(0);if((E|0)==256){tb=(yb^255)&Ab;a[zb>>0]=tb;Fb=zb;Gb=vb+1|0;Hb=vb;Ib=tb;Jb=yb<<1;E=259}do if((E|0)==259){yb=(Jb^255)&(Ib&255);a[Fb>>0]=yb;tb=Jb<<1;if((tb|0)==256){vb=r+Gb|0;c[525044]=Gb;zb=d[vb>>0]|0;c[525045]=zb;Bb=1;Cb=vb;Db=Gb;Eb=zb;E=261;break}zb=(tb^255)&yb;a[Fb>>0]=zb;yb=Jb<<2;if((yb|0)==256){tb=r+Gb|0;c[525044]=Gb;vb=d[tb>>0]|0;c[525045]=vb;Kb=tb;Lb=Gb+1|0;Mb=vb;Nb=1;Ob=Gb}else{Pb=Fb;Qb=Gb;Rb=zb;Sb=yb;Tb=Hb;E=263}}while(0);if((E|0)==261){Hb=(Bb^255)&Eb;a[Cb>>0]=Hb;Pb=Cb;Qb=Db+1|0;Rb=Hb;Sb=Bb<<1;Tb=Db;E=263}if((E|0)==263){Kb=Pb;Lb=Qb;Mb=Rb&255;Nb=Sb;Ob=Tb}Tb=Nb|(Nb^255)&Mb;a[Kb>>0]=Tb;Mb=Nb<<1;if((Mb|0)==256){Nb=r+Lb|0;c[525044]=Lb;Sb=d[Nb>>0]|0;c[525045]=Sb;Ub=Nb;Vb=Lb+1|0;Wb=Sb;Xb=1;Yb=Lb}else{Ub=Kb;Vb=Lb;Wb=Tb&255;Xb=Mb;Yb=Ob}Ob=Xb|(Xb^255)&Wb;a[Ub>>0]=Ob;Wb=Xb<<1;if((Wb|0)!=256){Mb=(Wb^255)&(Ob&255);a[Ub>>0]=Mb;Ob=Xb<<2;if((Ob|0)==256){Xb=r+Vb|0;c[525044]=Vb;Wb=d[Xb>>0]|0;c[525045]=Wb;Zb=Vb;_b=Xb;$b=Vb+1|0;ac=Wb;bc=1}else{Zb=Yb;_b=Ub;$b=Vb;ac=Mb;bc=Ob}}else{Ob=r+Vb|0;c[525044]=Vb;Mb=d[Ob>>0]|0;c[525045]=Mb;Ub=Mb&254;a[Ob>>0]=Ub;Zb=Vb;_b=Ob;$b=Vb+1|0;ac=Ub;bc=2}c[8783]=bc;c[525049]=ia+32;Ub=(f|0)/256|0;Vb=((Ub&1|0)==0?0:bc)|(bc^255)∾a[_b>>0]=Vb;ac=bc<<1;if((ac|0)==256){bc=r+$b|0;c[525044]=$b;Ob=d[bc>>0]|0;c[525045]=Ob;cc=bc;dc=$b+1|0;ec=Ob;fc=$b;gc=1}else{cc=_b;dc=$b;ec=Vb&255;fc=Zb;gc=ac}ac=((Ub&2|0)==0?0:gc)|(gc^255)&ec;a[cc>>0]=ac;ec=gc<<1;if((ec|0)==256){gc=r+dc|0;c[525044]=dc;Zb=d[gc>>0]|0;c[525045]=Zb;hc=gc;ic=dc+1|0;jc=Zb;kc=dc;lc=1}else{hc=cc;ic=dc;jc=ac&255;kc=fc;lc=ec}ec=((Ub&4|0)==0?0:lc)|(lc^255)&jc;a[hc>>0]=ec;jc=lc<<1;if((jc|0)==256){lc=r+ic|0;c[525044]=ic;fc=d[lc>>0]|0;c[525045]=fc;mc=lc;nc=ic+1|0;oc=fc;pc=ic;qc=1}else{mc=hc;nc=ic;oc=ec&255;pc=kc;qc=jc}jc=((Ub&8|0)==0?0:qc)|(qc^255)&oc;a[mc>>0]=jc;oc=qc<<1;if((oc|0)==256){qc=r+nc|0;c[525044]=nc;kc=d[qc>>0]|0;c[525045]=kc;rc=qc;sc=nc+1|0;tc=kc;uc=nc;vc=1}else{rc=mc;sc=nc;tc=jc&255;uc=pc;vc=oc}oc=((Ub&16|0)==0?0:vc)|(vc^255)&tc;a[rc>>0]=oc;tc=vc<<1;if((tc|0)==256){vc=r+sc|0;c[525044]=sc;pc=d[vc>>0]|0;c[525045]=pc;wc=vc;xc=sc+1|0;yc=pc;zc=sc;Ac=1}else{wc=rc;xc=sc;yc=oc&255;zc=uc;Ac=tc}tc=((Ub&32|0)==0?0:Ac)|(Ac^255)&yc;a[wc>>0]=tc;yc=Ac<<1;if((yc|0)==256){Ac=r+xc|0;c[525044]=xc;uc=d[Ac>>0]|0;c[525045]=uc;Bc=Ac;Cc=xc+1|0;Dc=uc;Ec=xc;Fc=1}else{Bc=wc;Cc=xc;Dc=tc&255;Ec=zc;Fc=yc}yc=((Ub&64|0)==0?0:Fc)|(Fc^255)&Dc;a[Bc>>0]=yc;Dc=Fc<<1;if((Dc|0)==256){Fc=r+Cc|0;c[525044]=Cc;zc=d[Fc>>0]|0;c[525045]=zc;Gc=Fc;Hc=Cc+1|0;Ic=zc;Jc=Cc;Kc=1}else{Gc=Bc;Hc=Cc;Ic=yc&255;Jc=Ec;Kc=Dc}Dc=((Ub&128|0)==0?0:Kc)|(Kc^255)&Ic;a[Gc>>0]=Dc;Ic=Kc<<1;if((Ic|0)==256){Kc=r+Hc|0;c[525044]=Hc;Ec=d[Kc>>0]|0;c[525045]=Ec;Lc=Hc;Mc=Kc;Nc=Hc+1|0;Oc=Ec;Pc=1}else{Lc=Jc;Mc=Gc;Nc=Hc;Oc=Dc&255;Pc=Ic}c[8783]=Pc;c[525049]=ia+40;Ic=f-(Ub<<8)|0;Ub=((Ic&1|0)==0?0:Pc)|(Pc^255)&Oc;a[Mc>>0]=Ub;Oc=Pc<<1;if((Oc|0)==256){Pc=r+Nc|0;c[525044]=Nc;Dc=d[Pc>>0]|0;c[525045]=Dc;Qc=Pc;Rc=Nc+1|0;Sc=Dc;Tc=Nc;Uc=1}else{Qc=Mc;Rc=Nc;Sc=Ub&255;Tc=Lc;Uc=Oc}Oc=((Ic&2|0)==0?0:Uc)|(Uc^255)⪼a[Qc>>0]=Oc;Sc=Uc<<1;if((Sc|0)==256){Uc=r+Rc|0;c[525044]=Rc;Lc=d[Uc>>0]|0;c[525045]=Lc;Vc=Uc;Wc=Rc+1|0;Xc=Lc;Yc=Rc;Zc=1}else{Vc=Qc;Wc=Rc;Xc=Oc&255;Yc=Tc;Zc=Sc}Sc=((Ic&4|0)==0?0:Zc)|(Zc^255)&Xc;a[Vc>>0]=Sc;Xc=Zc<<1;if((Xc|0)==256){Zc=r+Wc|0;c[525044]=Wc;Tc=d[Zc>>0]|0;c[525045]=Tc;_c=Zc;$c=Wc+1|0;ad=Tc;bd=Wc;cd=1}else{_c=Vc;$c=Wc;ad=Sc&255;bd=Yc;cd=Xc}Xc=((Ic&8|0)==0?0:cd)|(cd^255)&ad;a[_c>>0]=Xc;ad=cd<<1;if((ad|0)==256){cd=r+$c|0;c[525044]=$c;Yc=d[cd>>0]|0;c[525045]=Yc;dd=cd;ed=$c+1|0;fd=Yc;gd=$c;hd=1}else{dd=_c;ed=$c;fd=Xc&255;gd=bd;hd=ad}ad=((Ic&16|0)==0?0:hd)|(hd^255)&fd;a[dd>>0]=ad;fd=hd<<1;if((fd|0)==256){hd=r+ed|0;c[525044]=ed;bd=d[hd>>0]|0;c[525045]=bd;id=hd;jd=ed+1|0;kd=bd;ld=ed;md=1}else{id=dd;jd=ed;kd=ad&255;ld=gd;md=fd}fd=((Ic&32|0)==0?0:md)|(md^255)&kd;a[id>>0]=fd;kd=md<<1;if((kd|0)==256){md=r+jd|0;c[525044]=jd;gd=d[md>>0]|0;c[525045]=gd;nd=md;od=jd+1|0;pd=gd;qd=jd;rd=1}else{nd=id;od=jd;pd=fd&255;qd=ld;rd=kd}kd=((Ic&64|0)==0?0:rd)|(rd^255)&pd;a[nd>>0]=kd;pd=rd<<1;if((pd|0)==256){rd=r+od|0;c[525044]=od;ld=d[rd>>0]|0;c[525045]=ld;sd=rd;td=od+1|0;ud=ld;vd=od;wd=1}else{sd=nd;td=od;ud=kd&255;vd=qd;wd=pd}pd=((Ic&128|0)==0?0:wd)|(wd^255)&ud;a[sd>>0]=pd;ud=wd<<1;if((ud|0)==256){wd=r+td|0;c[525044]=td;Ic=d[wd>>0]|0;c[525045]=Ic;xd=td;yd=wd;zd=td+1|0;Ad=Ic;Bd=1}else{xd=vd;yd=sd;zd=td;Ad=pd&255;Bd=ud}c[8783]=Bd;c[525049]=ia+48;ud=(Bd^255)&Ad;a[yd>>0]=ud;Ad=Bd<<1;do if((Ad|0)==256){pd=r+zd|0;c[525044]=zd;td=d[pd>>0]|0;c[525045]=td;sd=td&254;a[pd>>0]=sd;Cd=pd;Dd=zd+1|0;Ed=zd;Fd=sd;Gd=2;E=197}else{sd=(Ad^255)&ud;a[yd>>0]=sd;pd=Bd<<2;if((pd|0)!=256){Cd=yd;Dd=zd;Ed=xd;Fd=sd;Gd=pd;E=197;break}pd=r+zd|0;c[525044]=zd;sd=d[pd>>0]|0;c[525045]=sd;td=sd&254;a[pd>>0]=td;Hd=2;Id=pd;Jd=zd;Kd=td;E=199}while(0);do if((E|0)==197){zd=(Gd^255)&(Fd&255);a[Cd>>0]=zd;xd=Gd<<1;if((xd|0)==256){yd=r+Dd|0;c[525044]=Dd;Bd=d[yd>>0]|0;c[525045]=Bd;Hd=1;Id=yd;Jd=Dd;Kd=Bd;E=199;break}Bd=(xd^255)&zd;a[Cd>>0]=Bd;zd=Gd<<2;if((zd|0)!=256){Ld=Cd;Md=Dd;Nd=Ed;Od=Bd;Pd=zd;E=202;break}zd=r+Dd|0;c[525044]=Dd;Bd=d[zd>>0]|0;c[525045]=Bd;xd=Bd&254;a[zd>>0]=xd;Qd=2;Rd=zd;Sd=Dd;Td=xd;E=204}while(0);if((E|0)==199){Dd=(Hd^255)&Kd;a[Id>>0]=Dd;Ld=Id;Md=Jd+1|0;Nd=Jd;Od=Dd;Pd=Hd<<1;E=202}do if((E|0)==202){Hd=(Pd^255)&(Od&255);a[Ld>>0]=Hd;Dd=Pd<<1;if((Dd|0)==256){Jd=r+Md|0;c[525044]=Md;Id=d[Jd>>0]|0;c[525045]=Id;Qd=1;Rd=Jd;Sd=Md;Td=Id;E=204;break}Id=(Dd^255)&Hd;a[Ld>>0]=Id;Hd=Pd<<2;if((Hd|0)!=256){Ud=Ld;Vd=Md;Wd=Nd;Xd=Id;Yd=Hd;E=207;break}Hd=r+Md|0;c[525044]=Md;Id=d[Hd>>0]|0;c[525045]=Id;Dd=Id&254;a[Hd>>0]=Dd;Zd=2;_d=Hd;$d=Md;ae=Dd;E=209}while(0);if((E|0)==204){Md=(Qd^255)&Td;a[Rd>>0]=Md;Ud=Rd;Vd=Sd+1|0;Wd=Sd;Xd=Md;Yd=Qd<<1;E=207}do if((E|0)==207){Qd=(Yd^255)&(Xd&255);a[Ud>>0]=Qd;Md=Yd<<1;if((Md|0)==256){Sd=r+Vd|0;c[525044]=Vd;Rd=d[Sd>>0]|0;c[525045]=Rd;Zd=1;_d=Sd;$d=Vd;ae=Rd;E=209;break}Rd=(Md^255)&Qd;a[Ud>>0]=Rd;Qd=Yd<<2;if((Qd|0)!=256){be=Ud;ce=Vd;de=Qd;ee=Wd;fe=Rd;E=211;break}Rd=r+Vd|0;c[525044]=Vd;Qd=d[Rd>>0]|0;c[525045]=Qd;ge=Vd;he=Rd;ie=Vd+1|0;je=Qd;ke=1}while(0);if((E|0)==209){Vd=(Zd^255)&ae;a[_d>>0]=Vd;be=_d;ce=$d+1|0;de=Zd<<1;ee=$d;fe=Vd;E=211}if((E|0)==211){ge=ee;he=be;ie=ce;je=fe&255;ke=de}c[8783]=ke;c[525049]=ia+56;de=(ke^255)&je;a[he>>0]=de;je=ke<<1;do if((je|0)==256){fe=r+ie|0;c[525044]=ie;ce=d[fe>>0]|0;c[525045]=ce;be=ce&254;a[fe>>0]=be;le=fe;me=ie+1|0;ne=ie;oe=be;pe=2;E=179}else{be=(je^255)&de;a[he>>0]=be;fe=ke<<2;if((fe|0)!=256){le=he;me=ie;ne=ge;oe=be;pe=fe;E=179;break}fe=r+ie|0;c[525044]=ie;be=d[fe>>0]|0;c[525045]=be;ce=be&254;a[fe>>0]=ce;qe=2;re=fe;se=ie;te=ce;E=181}while(0);do if((E|0)==179){ie=(pe^255)&(oe&255);a[le>>0]=ie;ge=pe<<1;if((ge|0)==256){he=r+me|0;c[525044]=me;ke=d[he>>0]|0;c[525045]=ke;qe=1;re=he;se=me;te=ke;E=181;break}ke=(ge^255)&ie;a[le>>0]=ke;ie=pe<<2;if((ie|0)!=256){ue=le;ve=me;we=ne;xe=ke;ye=ie;E=184;break}ie=r+me|0;c[525044]=me;ke=d[ie>>0]|0;c[525045]=ke;ge=ke&254;a[ie>>0]=ge;ze=2;Ae=ie;Be=me;Ce=ge;E=186}while(0);if((E|0)==181){me=(qe^255)&te;a[re>>0]=me;ue=re;ve=se+1|0;we=se;xe=me;ye=qe<<1;E=184}do if((E|0)==184){qe=(ye^255)&(xe&255);a[ue>>0]=qe;me=ye<<1;if((me|0)==256){se=r+ve|0;c[525044]=ve;re=d[se>>0]|0;c[525045]=re;ze=1;Ae=se;Be=ve;Ce=re;E=186;break}re=(me^255)&qe;a[ue>>0]=re;qe=ye<<2;if((qe|0)!=256){De=ue;Ee=ve;Fe=we;Ge=re;He=qe;E=189;break}qe=r+ve|0;c[525044]=ve;re=d[qe>>0]|0;c[525045]=re;me=re&254;a[qe>>0]=me;Ie=ve;Je=2;Ke=qe;Le=me;E=191}while(0);if((E|0)==186){ve=(ze^255)&Ce;a[Ae>>0]=ve;De=Ae;Ee=Be+1|0;Fe=Be;Ge=ve;He=ze<<1;E=189}do if((E|0)==189){ze=(He^255)&(Ge&255);a[De>>0]=ze;ve=He<<1;if((ve|0)==256){Be=r+Ee|0;c[525044]=Ee;Ae=d[Be>>0]|0;c[525045]=Ae;Ie=Ee;Je=1;Ke=Be;Le=Ae;E=191;break}a[De>>0]=(ve^255)&ze;ze=He<<2;if((ze|0)!=256){Me=ze;Ne=Fe;E=193;break}c[525044]=Ee;ze=d[r+Ee>>0]|0;c[525045]=ze;Oe=Ee;Pe=1;Qe=ze}while(0);if((E|0)==191){a[Ke>>0]=(Je^255)&Le;Me=Je<<1;Ne=Ie;E=193}if((E|0)==193){Oe=Ne;Pe=Me;Qe=c[525045]|0}c[8783]=Pe;c[525049]=ia+64;c[525040]=0;c[525041]=0;c[525042]=0;Xu(l|0,j|0,1024)|0;Xu(m|0,k|0,1024)|0;if((f|0)>0){ia=0;Me=0;Ne=0;Ie=Oe;Je=0;Le=Oe<<16|Pe|Qe<<8;while(1){Qe=cl(p,ia,f,h,i)|0;Pe=d[p+ia>>0]|0;Oe=k+(Pe<<2)|0;Ke=c[Oe>>2]|0;Ee=(Ke|0)<16;if(Ee)Re=4;else{r=16;Fe=4;while(1){He=Fe+1|0;r=r+(2<<Fe)|0;if((Ke|0)<(r|0)){Re=He;break}else Fe=He}}Fe=256/((Re<<1)+-2|0)|0;do if((Qe|0)>2){r=c[i>>2]|0;a:do if((r|0)>(Fe|0)&(r|0)<128){He=(r*6|0)/5|0;c[n>>2]=0;c[o>>2]=0;cl(p,ia+1|0,f,n,o)|0;do if((c[o>>2]|0)<=(He|0)){c[n>>2]=0;c[o>>2]=0;cl(p,ia+2|0,f,n,o)|0;if((c[o>>2]|0)>(He|0))break;Se=r;break a}while(0);c[i>>2]=0;Se=0}else Se=r;while(0);if((Se|0)<=(Fe|0)){E=58;break}r=c[8783]|0;He=c[525043]|0;De=c[525044]|0;Ge=He+De|0;a[Ge>>0]=(r^255)&(d[Ge>>0]|0);Ge=r<<1;c[8783]=Ge;if((Ge|0)==256){c[8783]=1;r=De+1|0;c[525044]=r;c[525045]=d[He+r>>0];Te=r;Ue=1}else{Te=De;Ue=Ge}Ge=(c[525047]|0)+1|0;c[525047]=Ge;De=c[h>>2]|0;r=5;while(1)if((1<<r|0)<(De|0))r=r+5|0;else break;ze=De+-1|0;ve=(r>>>0)/5|0;Ae=0;Be=3-ve|0;Ce=Te;we=Ue;while(1){ue=(Be|0)<1;ye=ue?Be:1;xe=He+Ce|0;a[xe>>0]=((ye&1|0)==0?0:we)|(we^255)&(d[xe>>0]|0);xe=we<<1;me=Ce+1|0;if((xe|0)==256){c[525044]=me;c[525045]=d[He+me>>0];Ve=me;We=1}else{Ve=Ce;We=xe}Ae=Ae+1|0;if(Ae>>>0>=2)break;if(ue)break;else{Be=Be-ye|0;Ce=Ve;we=We}}c[8783]=We;we=0;Ce=We;Be=Ve;while(1){Ae=He+Be|0;a[Ae>>0]=((1<<we&ze|0)==0?0:Ce)|(Ce^255)&(d[Ae>>0]|0);Ae=Ce<<1;De=Be+1|0;if((Ae|0)==256){c[525044]=De;c[525045]=d[He+De>>0];Xe=De;Ye=1}else{Xe=Be;Ye=Ae}we=we+1|0;if((we|0)==(r|0))break;else{Ce=Ye;Be=Xe}}c[8783]=Ye;Be=r+Ge+ve|0;c[525047]=Be;Ce=0;we=Qe+-3|0;ze=Xe;Ae=Ye;while(1){De=(we|0)<7;ye=De?we:7;ue=He+ze|0;xe=((ye&1|0)==0?0:Ae)|(Ae^255)&(d[ue>>0]|0);a[ue>>0]=xe;me=Ae<<1;qe=ze+1|0;if((me|0)==256){re=He+qe|0;c[525044]=qe;se=d[re>>0]|0;c[525045]=se;Ze=re;_e=ze+2|0;$e=se;af=qe;bf=1}else{Ze=ue;_e=qe;$e=xe&255;af=ze;bf=me}me=((ye&2|0)==0?0:bf)|(bf^255)&$e;a[Ze>>0]=me;xe=bf<<1;if((xe|0)==256){qe=He+_e|0;c[525044]=_e;ue=d[qe>>0]|0;c[525045]=ue;cf=qe;df=_e+1|0;ef=ue;ff=_e;gf=1}else{cf=Ze;df=_e;ef=me&255;ff=af;gf=xe}a[cf>>0]=((ye&4|0)==0?0:gf)|(gf^255)&ef;xe=gf<<1;if((xe|0)==256){c[525044]=df;c[525045]=d[He+df>>0];hf=df;jf=1}else{hf=ff;jf=xe}Ce=Ce+3|0;if(Ce>>>0>=1e5)break;if(De)break;else{we=we-ye|0;ze=hf;Ae=jf}}c[8783]=jf;c[525047]=Ce+Be;if((Qe|0)>9)c[525042]=(c[525042]|0)+1;c[525040]=(c[525040]|0)+1;kf=Qe;lf=jf;mf=hf;nf=He;of=2100192}else E=58;while(0);if((E|0)==58){E=0;Qe=c[8783]|0;Fe=c[525043]|0;Ae=c[525044]|0;ze=Fe+Ae|0;a[ze>>0]=(Qe^255)&(d[ze>>0]|0)|Qe;ze=Qe<<1;c[8783]=ze;if((ze|0)==256){c[8783]=1;Qe=Ae+1|0;c[525044]=Qe;c[525045]=d[Fe+Qe>>0];pf=Qe;qf=1}else{pf=Ae;qf=ze}if(Ee){rf=Ke;sf=4}else{ze=Ke;Ae=16;Qe=4;while(1){we=ze-(1<<Qe)|0;ve=Qe+1|0;Ae=Ae+(2<<Qe)|0;if((Ke|0)<(Ae|0)){rf=we;sf=ve;break}else{ze=we;Qe=ve}}}Qe=0;ze=sf+-4|0;Ae=pf;Ee=qf;while(1){ve=(ze|0)<1;we=ve?ze:1;Ge=Fe+Ae|0;a[Ge>>0]=((we&1|0)==0?0:Ee)|(Ee^255)&(d[Ge>>0]|0);Ge=Ee<<1;r=Ae+1|0;if((Ge|0)==256){c[525044]=r;c[525045]=d[Fe+r>>0];tf=r;uf=1}else{tf=Ae;uf=Ge}Qe=Qe+1|0;if(Qe>>>0>=16)break;if(ve)break;else{ze=ze-we|0;Ae=tf;Ee=uf}}c[8783]=uf;Ee=0;Ae=uf;ze=tf;while(1){Qe=Fe+ze|0;a[Qe>>0]=((1<<Ee&rf|0)==0?0:Ae)|(Ae^255)&(d[Qe>>0]|0);Qe=Ae<<1;we=ze+1|0;if((Qe|0)==256){c[525044]=we;c[525045]=d[Fe+we>>0];vf=we;wf=1}else{vf=ze;wf=Qe}Ee=Ee+1|0;if((Ee|0)==(sf|0))break;else{Ae=wf;ze=vf}}c[8783]=wf;if((Ke|0)>0){ze=Ke;do{Ae=ze;ze=ze+-1|0;Ee=c[j+(ze<<2)>>2]|0;c[j+(Ae<<2)>>2]=Ee;Qe=k+(Ee<<2)|0;c[Qe>>2]=(c[Qe>>2]|0)+1}while((Ae|0)>1)}c[j>>2]=Pe;c[Oe>>2]=0;kf=1;lf=wf;mf=vf;nf=Fe;of=2100164}c[of>>2]=(c[of>>2]|0)+kf;ze=(ia|0)<2?0:ia+-2|0;ia=kf+ia|0;Ke=ia+-2|0;if((ze|0)<(Ke|0)){Ae=ze;do Ae=Ae+1|0;while((Ae|0)<(Ke|0))}Ke=mf-Ie|0;if((ia|0)==(f|0)|(Ke|0)>31){Ae=ia-Je|0;if((Ke|0)>(Ae+((Me|0)==(Je|0)?3:0)|0)){Ke=Le&255;c[8783]=Ke;c[525045]=Le>>>8&255;Fe=Le>>>16&32767;c[525044]=Fe;if(!Ne){Oe=nf+Fe|0;Pe=(Le^255)&(d[Oe>>0]|0);a[Oe>>0]=Pe;ze=Ke<<1;c[8783]=ze;if((Ke|0)==128){c[8783]=1;Qe=Fe+1|0;c[525044]=Qe;Ee=nf+Qe|0;we=d[Ee>>0]|0;c[525045]=we;xf=Ee;yf=we;zf=1;Af=Qe}else{xf=Oe;yf=Pe;zf=ze;Af=Fe}ze=(zf^255)&yf|zf;a[xf>>0]=ze;Pe=zf<<1;c[8783]=Pe;if((zf|0)==128){c[8783]=1;Oe=Af+1|0;c[525044]=Oe;Qe=nf+Oe|0;we=d[Qe>>0]|0;c[525045]=we;Bf=Qe;Cf=we;Df=1;Ef=Oe}else{Bf=xf;Cf=ze&255;Df=Pe;Ef=Af}Pe=(Df^255)&Cf;a[Bf>>0]=Pe;ze=Df<<1;c[8783]=ze;if((Df|0)==128){c[8783]=1;Oe=Ef+1|0;c[525044]=Oe;we=nf+Oe|0;Qe=d[we>>0]|0;c[525045]=Qe;Ff=Oe;Gf=we;Hf=Qe;If=1}else{Ff=Ef;Gf=Bf;Hf=Pe;If=ze}ze=(If^255)&Hf;a[Gf>>0]=ze;Pe=If<<1;Qe=Ff+1|0;do if((Pe|0)==256){we=nf+Qe|0;c[525044]=Qe;Oe=d[we>>0]|0;c[525045]=Oe;Ee=Oe&254;a[we>>0]=Ee;Jf=2;Kf=we;Lf=Ee;E=121}else{Ee=(Pe^255)&(ze&255);a[Gf>>0]=Ee;we=If<<2;if((we|0)==256){Oe=nf+Qe|0;c[525044]=Qe;ve=d[Oe>>0]|0;c[525045]=ve;Jf=1;Kf=Oe;Lf=ve;E=121;break}ve=(we^255)&Ee;a[Gf>>0]=ve;Ee=If<<3;if((Ee|0)!=256){Mf=Gf;Nf=Qe;Of=Ff;Pf=ve;Qf=Ee;E=124;break}Ee=nf+Qe|0;c[525044]=Qe;ve=d[Ee>>0]|0;c[525045]=ve;we=ve&254;a[Ee>>0]=we;Rf=2;Sf=Ee;Tf=Qe;Uf=we;E=126}while(0);if((E|0)==121){E=0;ze=(Jf^255)&Lf;a[Kf>>0]=ze;Mf=Kf;Nf=Ff+2|0;Of=Qe;Pf=ze;Qf=Jf<<1;E=124}do if((E|0)==124){E=0;ze=(Qf^255)&(Pf&255);a[Mf>>0]=ze;Pe=Qf<<1;if((Pe|0)==256){we=nf+Nf|0;c[525044]=Nf;Ee=d[we>>0]|0;c[525045]=Ee;Rf=1;Sf=we;Tf=Nf;Uf=Ee;E=126;break}Ee=(Pe^255)&ze;a[Mf>>0]=Ee;ze=Qf<<2;if((ze|0)!=256){Vf=Mf;Wf=Nf;Xf=Of;Yf=Ee;Zf=ze;E=129;break}ze=nf+Nf|0;c[525044]=Nf;Ee=d[ze>>0]|0;c[525045]=Ee;Pe=Ee&254;a[ze>>0]=Pe;_f=2;$f=ze;ag=Nf;bg=Pe;E=131}while(0);if((E|0)==126){E=0;Qe=(Rf^255)&Uf;a[Sf>>0]=Qe;Vf=Sf;Wf=Tf+1|0;Xf=Tf;Yf=Qe;Zf=Rf<<1;E=129}do if((E|0)==129){E=0;Qe=(Zf^255)&(Yf&255);a[Vf>>0]=Qe;Pe=Zf<<1;if((Pe|0)==256){ze=nf+Wf|0;c[525044]=Wf;Ee=d[ze>>0]|0;c[525045]=Ee;_f=1;$f=ze;ag=Wf;bg=Ee;E=131;break}Ee=(Pe^255)&Qe;a[Vf>>0]=Ee;Qe=Zf<<2;if((Qe|0)!=256){cg=Vf;dg=Wf;eg=Xf;fg=Ee;gg=Qe;E=134;break}Qe=nf+Wf|0;c[525044]=Wf;Ee=d[Qe>>0]|0;c[525045]=Ee;Pe=Ee&254;a[Qe>>0]=Pe;hg=2;ig=Qe;jg=Wf;kg=Pe;E=136}while(0);if((E|0)==131){E=0;Pe=(_f^255)&bg;a[$f>>0]=Pe;cg=$f;dg=ag+1|0;eg=ag;fg=Pe;gg=_f<<1;E=134}do if((E|0)==134){E=0;Pe=(gg^255)&(fg&255);a[cg>>0]=Pe;Qe=gg<<1;if((Qe|0)==256){Ee=nf+dg|0;c[525044]=dg;ze=d[Ee>>0]|0;c[525045]=ze;hg=1;ig=Ee;jg=dg;kg=ze;E=136;break}ze=(Qe^255)&Pe;a[cg>>0]=ze;Pe=gg<<2;if((Pe|0)!=256){lg=cg;mg=dg;ng=eg;og=Pe;pg=ze;E=139;break}ze=nf+dg|0;c[525044]=dg;Pe=d[ze>>0]|0;c[525045]=Pe;a[ze>>0]=Pe&254;qg=dg;rg=2}while(0);if((E|0)==136){E=0;Pe=(hg^255)&kg;a[ig>>0]=Pe;lg=ig;mg=jg+1|0;ng=jg;og=hg<<1;pg=Pe;E=139}do if((E|0)==139){E=0;a[lg>>0]=(og^255)&pg;Pe=og<<1;if((Pe|0)!=256){qg=ng;rg=Pe;break}c[525044]=mg;c[525045]=d[nf+mg>>0];qg=mg;rg=1}while(0);c[8783]=rg;sg=qg;tg=rg}else{Pe=Fe+-1|0;c[525044]=Pe;sg=Pe;tg=Ke}if((Ae|0)>0){Pe=0;ze=tg;Qe=sg;while(1){Ee=d[p+(Pe+Je)>>0]|0;we=nf+Qe|0;ve=((Ee&1|0)==0?0:ze)|(ze^255)&(d[we>>0]|0);a[we>>0]=ve;Oe=ze<<1;Ge=Qe+1|0;if((Oe|0)==256){r=nf+Ge|0;c[525044]=Ge;ye=d[r>>0]|0;c[525045]=ye;ug=r;vg=Qe+2|0;wg=ye;xg=Ge;yg=1}else{ug=we;vg=Ge;wg=ve&255;xg=Qe;yg=Oe}Oe=((Ee&2|0)==0?0:yg)|(yg^255)&wg;a[ug>>0]=Oe;ve=yg<<1;if((ve|0)==256){Ge=nf+vg|0;c[525044]=vg;we=d[Ge>>0]|0;c[525045]=we;zg=Ge;Ag=vg+1|0;Bg=we;Cg=vg;Dg=1}else{zg=ug;Ag=vg;Bg=Oe&255;Cg=xg;Dg=ve}ve=((Ee&4|0)==0?0:Dg)|(Dg^255)&Bg;a[zg>>0]=ve;Oe=Dg<<1;if((Oe|0)==256){we=nf+Ag|0;c[525044]=Ag;Ge=d[we>>0]|0;c[525045]=Ge;Eg=we;Fg=Ag+1|0;Gg=Ge;Hg=Ag;Ig=1}else{Eg=zg;Fg=Ag;Gg=ve&255;Hg=Cg;Ig=Oe}Oe=((Ee&8|0)==0?0:Ig)|(Ig^255)⋙a[Eg>>0]=Oe;ve=Ig<<1;if((ve|0)==256){Ge=nf+Fg|0;c[525044]=Fg;we=d[Ge>>0]|0;c[525045]=we;Jg=Ge;Kg=Fg+1|0;Lg=we;Mg=Fg;Ng=1}else{Jg=Eg;Kg=Fg;Lg=Oe&255;Mg=Hg;Ng=ve}ve=((Ee&16|0)==0?0:Ng)|(Ng^255)&Lg;a[Jg>>0]=ve;Oe=Ng<<1;if((Oe|0)==256){we=nf+Kg|0;c[525044]=Kg;Ge=d[we>>0]|0;c[525045]=Ge;Og=we;Pg=Kg+1|0;Qg=Ge;Rg=Kg;Sg=1}else{Og=Jg;Pg=Kg;Qg=ve&255;Rg=Mg;Sg=Oe}Oe=((Ee&32|0)==0?0:Sg)|(Sg^255)&Qg;a[Og>>0]=Oe;ve=Sg<<1;if((ve|0)==256){Ge=nf+Pg|0;c[525044]=Pg;we=d[Ge>>0]|0;c[525045]=we;Tg=Ge;Ug=Pg+1|0;Vg=we;Wg=Pg;Xg=1}else{Tg=Og;Ug=Pg;Vg=Oe&255;Wg=Rg;Xg=ve}ve=((Ee&64|0)==0?0:Xg)|(Xg^255)&Vg;a[Tg>>0]=ve;Oe=Xg<<1;if((Oe|0)==256){we=nf+Ug|0;c[525044]=Ug;Ge=d[we>>0]|0;c[525045]=Ge;Yg=we;Zg=Ug+1|0;_g=Ge;$g=Ug;ah=1}else{Yg=Tg;Zg=Ug;_g=ve&255;$g=Wg;ah=Oe}a[Yg>>0]=((Ee&128|0)==0?0:ah)|(ah^255)&_g;Ee=ah<<1;if((Ee|0)==256){c[525044]=Zg;c[525045]=d[nf+Zg>>0];bh=Zg;ch=1}else{bh=$g;ch=Ee}Pe=Pe+1|0;if((Pe|0)==(Ae|0))break;else{ze=ch;Qe=bh}}c[8783]=ch;dh=bh;eh=ch}else{dh=sg;eh=tg}Qe=nf+dh|0;ze=(eh^255)&(d[Qe>>0]|0);a[Qe>>0]=ze;Ae=eh<<1;Pe=dh+1|0;do if((Ae|0)==256){Ke=nf+Pe|0;c[525044]=Pe;Fe=d[Ke>>0]|0;c[525045]=Fe;Ee=Fe&254;a[Ke>>0]=Ee;fh=Ke;gh=dh+2|0;hh=Pe;ih=Ee;jh=2;E=162}else{Ee=(Ae^255)&ze;a[Qe>>0]=Ee;Ke=eh<<2;if((Ke|0)!=256){fh=Qe;gh=Pe;hh=dh;ih=Ee;jh=Ke;E=162;break}Ke=nf+Pe|0;c[525044]=Pe;Ee=d[Ke>>0]|0;c[525045]=Ee;Fe=Ee&254;a[Ke>>0]=Fe;kh=2;lh=Ke;mh=Pe;nh=Fe;E=164}while(0);do if((E|0)==162){E=0;Pe=(jh^255)&(ih&255);a[fh>>0]=Pe;Qe=jh<<1;if((Qe|0)==256){ze=nf+gh|0;c[525044]=gh;Ae=d[ze>>0]|0;c[525045]=Ae;kh=1;lh=ze;mh=gh;nh=Ae;E=164;break}Ae=(Qe^255)&Pe;a[fh>>0]=Ae;Pe=jh<<2;if((Pe|0)!=256){oh=fh;ph=gh;qh=hh;rh=Ae;sh=Pe;E=167;break}Pe=nf+gh|0;c[525044]=gh;Ae=d[Pe>>0]|0;c[525045]=Ae;Qe=Ae&254;a[Pe>>0]=Qe;th=2;uh=Pe;vh=gh;wh=Qe;E=169}while(0);if((E|0)==164){E=0;Qe=(kh^255)&nh;a[lh>>0]=Qe;oh=lh;ph=mh+1|0;qh=mh;rh=Qe;sh=kh<<1;E=167}do if((E|0)==167){E=0;Qe=(sh^255)&(rh&255);a[oh>>0]=Qe;Pe=sh<<1;if((Pe|0)==256){Ae=nf+ph|0;c[525044]=ph;ze=d[Ae>>0]|0;c[525045]=ze;th=1;uh=Ae;vh=ph;wh=ze;E=169;break}ze=(Pe^255)&Qe;a[oh>>0]=ze;Qe=sh<<2;if((Qe|0)!=256){xh=oh;yh=ph;zh=qh;Ah=ze;Bh=Qe;E=172;break}Qe=nf+ph|0;c[525044]=ph;ze=d[Qe>>0]|0;c[525045]=ze;Pe=ze&254;a[Qe>>0]=Pe;Ch=ph;Dh=2;Eh=Qe;Fh=Pe;E=174}while(0);if((E|0)==169){E=0;Pe=(th^255)&wh;a[uh>>0]=Pe;xh=uh;yh=vh+1|0;zh=vh;Ah=Pe;Bh=th<<1;E=172}do if((E|0)==172){E=0;Pe=(Bh^255)&(Ah&255);a[xh>>0]=Pe;Qe=Bh<<1;if((Qe|0)==256){ze=nf+yh|0;c[525044]=yh;Ae=d[ze>>0]|0;c[525045]=Ae;Ch=yh;Dh=1;Eh=ze;Fh=Ae;E=174;break}a[xh>>0]=(Qe^255)&Pe;Pe=Bh<<2;if((Pe|0)!=256){Gh=zh;Hh=Pe;break}c[525044]=yh;c[525045]=d[nf+yh>>0];Gh=yh;Hh=1}while(0);if((E|0)==174){E=0;a[Eh>>0]=(Dh^255)&Fh;Gh=Ch;Hh=Dh<<1}c[8783]=Hh;Xu(j|0,l|0,1024)|0;Xu(k|0,m|0,1024)|0;Ih=Me;Jh=1;Kh=Gh;Lh=Hh}else{Xu(l|0,j|0,1024)|0;Xu(m|0,k|0,1024)|0;Ih=ia;Jh=0;Kh=mf;Lh=lf}Mh=Kh;Nh=ia;Oh=c[525045]<<8|Kh<<16|Lh;Ph=Ih;Qh=Jh}else{Mh=Ie;Nh=Je;Oh=Le;Ph=Me;Qh=Ne}if((ia|0)>=(f|0))break;else{Me=Ph;Ne=Qh;Ie=Mh;Je=Nh;Le=Oh}}}Hp(p);p=c[8783]|0;if((p|0)==1){Rh=c[525044]|0;Sh=c[525043]|0}else{Oh=c[525043]|0;Le=c[525044]|0;Nh=Oh+Le|0;Je=p;p=a[Nh>>0]|0;do{p=(Je^255)&(p&255)&255;Je=Je<<1}while((Je|0)!=256);a[Nh>>0]=p;p=Le+1|0;c[525044]=p;c[525045]=d[Oh+p>>0];c[8783]=1;Rh=p;Sh=Oh}a[Sh+6>>0]=(Rh|0)/256|0;a[Sh+7>>0]=Rh;if((Rh|0)<=(f|0)){q=Rh;Fa=g;return q|0}Xu(e|0,b|0,f|0)|0;q=f;Fa=g;return q|0}function cl(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;k=h-g|0;if((k|0)<3){l=0;return l|0}h=c[1417136+((((d[f+(g+1)>>0]|0)*1503|0)+((d[f+g>>0]|0)*7|0)+((d[f+(g+2)>>0]|0)*51717|0)&4095)<<2)>>2]|0;if(!h){l=0;return l|0}m=b[h+2>>1]|0;if(!(m<<16>>16)){n=-1;o=0;p=0}else{q=g+-32767|0;r=m&65535;m=0;s=-1;t=0;u=-1e5;while(1){v=e[h+(m+2<<1)>>1]|0;if((v|0)>=(g|0)){w=s;x=t;y=u;break}if((q|0)>(v|0)){z=s;A=t;B=u}else{C=0;while(1){D=C+v|0;if((D|0)>=(g|0)){E=C;F=D;break}if((a[f+D>>0]|0)!=(a[f+(C+g)>>0]|0)){E=C;F=D;break}C=C+1|0;if((C|0)>=(k|0)){G=21;break}}if((G|0)==21){G=0;E=C;F=C+v|0}D=g-v|0;a:do if((E|0)>=(k|0)|(F|0)<(g|0))H=E;else{I=E;while(1){if((a[f+(((I|0)%(D|0)|0)+v)>>0]|0)!=(a[f+(I+g)>>0]|0)){H=I;break a}J=I+1|0;if((J|0)>=(k|0)|(J+v|0)<(g|0)){H=J;break}else I=J}}while(0);if((D|0)>0){C=0;I=D;do{C=C+1|0;I=I>>>5}while((I|0)!=0);if(C>>>0<2){K=C;G=17}else{L=C;M=2}}else{K=0;G=17}if((G|0)==17){G=0;L=K;M=K}I=(H<<8>>>0)/(((L*5|0)+4+M|0)>>>0)|0;D=(I|0)>(s|0);z=D?I:s;A=D?H:t;B=D?v:u}m=m+1|0;if(m>>>0>=r>>>0){w=z;x=A;y=B;break}else{s=z;t=A;u=B}}n=w;o=x;p=(y|0)>-1?g-y|0:0}c[i>>2]=p;c[j>>2]=n;l=o;return l|0}function dl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0;g=Fa;Fa=Fa+2080|0;h=g+1056|0;i=g+32|0;j=g;c[8783]=1;c[525045]=0;c[525050]=b;k=0;do{c[h+(k<<2)>>2]=k;k=k+1|0}while((k|0)!=256);k=0;do{c[i+(c[h+(k<<2)>>2]<<2)>>2]=k;k=k+1|0}while((k|0)!=256);c[j>>2]=d[b>>0];c[j+4>>2]=d[b+1>>0];c[j+8>>2]=d[b+2>>0];c[j+12>>2]=d[b+3>>0];c[j+16>>2]=d[b+4>>0];c[j+20>>2]=d[b+5>>0];c[j+24>>2]=d[b+6>>0];c[j+28>>2]=d[b+7>>0];c[8783]=1;k=(c[j+16>>2]<<8)+(c[j+20>>2]|0)|0;l=(c[j+24>>2]<<8)+(c[j+28>>2]|0)|0;if(!((f|0)>0&((k|0)>0&(l|0)>8))){Fa=g;return 0}j=f+-1|0;m=0;n=1;o=8;a:while(1){p=n<<1;q=(p|0)==256;r=o+(q&1)|0;s=q?1:p;b:do if(!(n&(d[b+o>>0]|0))){p=(s&(d[b+r>>0]|0)|0)!=0;q=s<<1;t=(q|0)==256;u=r+(t&1)|0;v=t?1:q;if(p){q=v<<1;t=(q|0)==256;w=(p&1)+((v&(d[b+u>>0]|0)|0)!=0&1)|0;x=t?1:q;y=u+(t&1)|0}else{w=0;x=v;y=u}u=3-w|0;v=u*5|0;if((u|0)>0){u=0;t=0;q=y;p=y;z=x;while(1){A=z<<1;B=(A|0)==256;C=p+1|0;D=B?C:q;E=B?1:A;A=((z&(d[b+p>>0]|0)|0)==0?0:1<<u)|t;u=u+1|0;if((u|0)==(v|0)){F=A;G=E;H=D;break}else{t=A;q=D;p=B?C:p;z=E}}}else{F=0;G=x;H=y}z=F+1|0;if(!((v|0)==10&(F|0)==0|(z|0)==0)){p=0;q=0;t=H;u=G;while(1){E=d[b+t>>0]|0;C=(u&E|0)!=0;B=u<<1;D=t+1|0;do if((B|0)!=256){A=C&1;I=(B&E|0)==0;J=u<<2;if((J|0)==256){K=I;L=A;M=1;N=d[b+D>>0]|0;O=42;break}else{P=u<<3;Q=(P|0)==256;R=(I?0:2)|A;S=J&E;T=Q?D:t;U=Q?1:P;break}}else{P=d[b+D>>0]|0;K=(P&1|0)==0;L=C&1;M=2;N=P;O=42}while(0);if((O|0)==42){O=0;R=(K?0:2)|L;S=M&N;T=D;U=M<<1}C=((S|0)==0?0:4)|R;q=q+3|0;p=C+p|0;if(!(q>>>0<1e5&(C|0)==7))break;else{t=T;u=U}}u=p+3|0;t=m;while(1){a[e+t>>0]=a[e+(t-z)>>0]|0;t=t+1|0;if((u|0)<=1)break;else u=u+-1|0}if((t|0)>=(j|0)){V=t;W=U;X=T;break}a[e+t>>0]=0;V=t;W=U;X=T;break}if((m|0)<(k|0)){u=m;z=G;p=H;while(1){q=d[b+p>>0]|0;v=(z&q|0)!=0;C=z<<1;E=p+1|0;do if((C|0)!=256){B=v&1;P=(C&q|0)==0;Q=z<<2;if((Q|0)==256){Y=P;Z=B;_=1;$=d[b+E>>0]|0;O=46;break}J=(P?0:2)|B;B=(Q&q|0)==0;Q=z<<3;if((Q|0)==256){P=d[b+E>>0]|0;aa=(B?0:4)|J;ba=(P&1|0)==0;ca=2;da=P;ea=E;O=51}else{fa=J;ga=q;ha=E;ia=B;ja=Q;ka=p;O=49}}else{Q=d[b+E>>0]|0;Y=(Q&1|0)==0;Z=v&1;_=2;$=Q;O=46}while(0);if((O|0)==46){O=0;fa=(Y?0:2)|Z;ga=$;ha=p+2|0;ia=(_&$|0)==0;ja=_<<1;ka=E;O=49}do if((O|0)==49){O=0;v=(ia?0:4)|fa;q=(ja&ga|0)==0;C=ja<<1;if((C|0)==256){aa=v;ba=q;ca=1;da=d[b+ha>>0]|0;ea=ha;O=51;break}D=(q?0:8)|v;v=(C&ga|0)==0;C=ja<<2;if((C|0)==256){q=d[b+ha>>0]|0;la=(v?0:16)|D;ma=(q&1|0)==0;na=2;oa=q;pa=ha;O=56}else{qa=D;ra=ga;sa=ha;ta=v;ua=C;va=ka;O=54}}while(0);if((O|0)==51){O=0;qa=(ba?0:8)|aa;ra=da;sa=ea+1|0;ta=(ca&da|0)==0;ua=ca<<1;va=ea;O=54}do if((O|0)==54){O=0;E=(ta?0:16)|qa;C=(ua&ra|0)==0;v=ua<<1;if((v|0)==256){la=E;ma=C;na=1;oa=d[b+sa>>0]|0;pa=sa;O=56;break}D=(C?0:32)|E;E=(v&ra|0)==0;v=ua<<2;if((v|0)==256){wa=(E?0:64)|D;xa=sa;ya=(a[b+sa>>0]&1)==0;za=2}else{Aa=D;Ba=ra;Ca=sa;Da=E;Ea=v;Ga=va;O=59}}while(0);if((O|0)==56){O=0;Aa=(ma?0:32)|la;Ba=oa;Ca=pa+1|0;Da=(na&oa|0)==0;Ea=na<<1;Ga=pa;O=59}if((O|0)==59){O=0;v=Ea<<1;E=(v|0)==256;wa=(Da?0:64)|Aa;xa=E?Ca:Ga;ya=(Ea&Ba|0)==0;za=E?1:v}v=(ya?0:128)|wa;a[e+u>>0]=v;if(!(v&255)){V=u;W=za;X=xa;break b}v=u+1|0;if((v|0)<(k|0)){u=v;z=za;p=xa}else{V=v;W=za;X=xa;break}}}else{V=m;W=G;X=H}}else{p=0;z=0;u=0;t=r;v=s;while(1){E=v<<1;D=(E|0)==256;Ha=t+(D&1)|0;Ia=D?1:E;if(!(p>>>0<16?(v&(d[b+t>>0]|0)|0)!=0:0))break;E=(16<<z)+u|0;p=p+1|0;z=z+1|0;u=E;t=Ha;v=Ia}v=z+3|0;t=0;p=0;E=Ha;D=Ia;while(1){C=D<<1;q=(C|0)==256;Q=E;E=E+(q&1)|0;B=D;D=q?1:C;p=((B&(d[b+Q>>0]|0)|0)==0?0:1<<t)|p;if((t|0)==(v|0))break;else t=t+1|0}t=p+u|0;if((t|0)>255){Ja=D;break a}v=c[h+(t<<2)>>2]|0;a[e+m>>0]=v;z=m+1|0;a[e+z>>0]=0;if((t|0)>0){Q=t;do{t=Q;Q=Q+-1|0;B=c[h+(Q<<2)>>2]|0;c[h+(t<<2)>>2]=B;C=i+(B<<2)|0;c[C>>2]=(c[C>>2]|0)+1}while((t|0)>1)}c[h>>2]=v;c[i+(v<<2)>>2]=0;V=z;W=D;X=E}while(0);if((V|0)<(f|0)&((V|0)<(k|0)&(X|0)<(l|0))){m=V;n=W;o=X}else{Ja=W;break}}c[8783]=Ja;Fa=g;return 0}function el(b){b=b|0;var c=0;switch(a[b>>0]|0){case 58:{if(((a[b+1>>0]|0)==99?(a[b+2>>0]|0)==58:0)?(a[b+3>>0]|0)==0:0){c=1;return c|0}break}case 0:{if(((a[b+1>>0]|0)==112?(a[b+2>>0]|0)==120:0)?(a[b+3>>0]|0)==97:0){c=2;return c|0}break}default:{}}c=0;return c|0}function fl(a,b,c){a=a|0;b=b|0;c=c|0;return bl(a,b,c)|0}function gl(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;switch(a[b>>0]|0){case 58:{if((a[b+1>>0]|0)!=99){f=0;return f|0}if((a[b+2>>0]|0)!=58){f=0;return f|0}if(a[b+3>>0]|0){f=0;return f|0}g=d[b+4>>0]<<8|d[b+5>>0];Ep(c,0,e);if((g|0)>(e|0)){f=1;return f|0}h=c+g|0;if(!g)i=c;else{g=b+8|0;j=c;while(1){k=a[g>>0]|0;l=k&255;m=g+1|0;if((k&255)<60){n=k<<24>>24==0;a[j>>0]=a[(n?m:60714+l|0)>>0]|0;o=n?g+2|0:m;p=1}else{n=d[m>>0]|0;m=(n>>>4)+2|0;Xu(j|0,j+(0-(n&15|(l<<4)+-960))|0,m|0)|0;o=g+2|0;p=m}m=j+p|0;if(m>>>0<h>>>0){g=o;j=m}else{i=m;break}}}j=eu(c,60775)|0;if((j|0)!=0?(o=ft(c)|0,(c-j+o|0)==56):0){j=c+o+-56|0;a[j>>0]=0;q=j}else q=i;i=eu(c,60832)|0;if(i){j=ft(c)|0;o=c;if((o-i+j|0)==73){i=c+j+-73|0;a[i>>0]=0;r=i;s=o}else{r=q;s=o}}else{r=q;s=c}f=r-s|0;return f|0}case 0:{if((a[b+1>>0]|0)!=112){f=0;return f|0}if((a[b+2>>0]|0)!=120){f=0;return f|0}if((a[b+3>>0]|0)!=97){f=0;return f|0}dl(b,c,e)|0;f=0;return f|0}default:{f=0;return f|0}}return 0}function hl(a){a=a|0;var b=0;c[525052]=(c[525052]|0)+a;b=Yr(a,1)|0;a=c[525051]|0;c[1433520+(a<<2)>>2]=b;c[525051]=a+1;return b|0}function il(){var a=0,b=0;a=c[525051]|0;if((a|0)<=0)return;b=a;do{a=b+-1|0;c[525051]=a;Xr(c[1433520+(a<<2)>>2]|0);b=c[525051]|0}while((b|0)>0);return}function jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=1;while(1){e=1<<d;if(d>>>0<9&(e|0)<(a|0))d=d+1|0;else break}if((e|0)!=(a|0)){f=0;return f|0}e=(c[525052]|0)+16|0;c[525052]=e;d=Yr(16,1)|0;g=c[525051]|0;c[1433520+(g<<2)>>2]=d;h=g+1|0;c[525051]=h;if(!d){f=0;return f|0}i=a*3|0;c[525052]=e+i;e=Yr(a,3)|0;c[1433520+(h<<2)>>2]=e;c[525051]=g+2;c[d+12>>2]=e;if(!e){f=0;return f|0}c[d>>2]=a;g=1;while(1)if(g>>>0<9&(1<<g|0)<(a|0))g=g+1|0;else break;c[d+4>>2]=g;if(!b){f=d;return f|0}Xu(e|0,b|0,i|0)|0;f=d;return f|0}function kl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=384;g=xt(a,b?193:577,f)|0;if((g|0)==-1)if(!d)h=0;else{c[d>>2]=1;h=0}else{f=ll(g,d)|0;if(!f){wt(g)|0;h=0}else h=f}Fa=e;return h|0}function ll(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[525052]|0;c[525052]=d+76;e=Yr(76,1)|0;f=c[525051]|0;c[1433520+(f<<2)>>2]=e;g=f+1|0;c[525051]=g;if(!e){h=0;return h|0}i=e;j=i+76|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[525052]=d+24984;i=Yr(24908,1)|0;c[1433520+(g<<2)>>2]=i;g=f+2|0;c[525051]=g;if(!i){if(!b){h=0;return h|0}c[b>>2]=7;h=0;return h|0}c[525052]=d+57752;d=Yr(32768,1)|0;c[1433520+(g<<2)>>2]=d;c[525051]=f+3;if(d|0){Yu(d|0,-1,32768)|0;c[i+24900>>2]=d;d=Lt(a,71945)|0;c[e+72>>2]=i;c[i+4>>2]=a;c[i+56>>2]=d;c[i>>2]=1;c[i+64>>2]=0;c[e+68>>2]=0;c[e+64>>2]=0;h=e;return h|0}if(!b){h=0;return h|0}c[b>>2]=7;h=0;return h|0}function ml(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=c[b+72>>2]|0;e=c[b+24>>2]|0;if((e|0)>0){f=c[b+52>>2]|0;g=d+24904|0;h=0;do{i=c[f+(h*36|0)+28>>2]|0;a:do if((i|0)>0){j=c[f+(h*36|0)+32>>2]|0;switch(c[j+8>>2]|0){case 1:case 249:case 254:case 255:{a[g>>0]=1;break}default:{}}if((i|0)>1){k=1;while(1){switch(c[j+(k*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[g>>0]=1;break}default:{}}k=k+1|0;if((k|0)>=(i|0))break a}}}while(0);h=h+1|0}while((h|0)<(e|0))}e=c[b+56>>2]|0;if((e|0)<=0){l=d+24904|0;m=a[l>>0]|0;n=m<<24>>24==0;o=n?60906:60913;return o|0}h=c[b+60>>2]|0;b=d+24904|0;d=0;while(1){switch(c[h+(d*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[b>>0]=1;break}default:{}}d=d+1|0;if((d|0)>=(e|0)){l=b;break}}m=a[l>>0]|0;n=m<<24>>24==0;o=n?60906:60913;return o|0}function nl(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=Fa;Fa=Fa+16|0;j=i+4|0;k=i;l=b+72|0;m=c[l>>2]|0;n=c[m>>2]|0;if(n&2|0){c[b+64>>2]=3;o=0;Fa=i;return o|0}if(!(n&1)){c[b+64>>2]=10;o=0;Fa=i;return o|0}n=ml(b)|0;p=ft(n)|0;q=c[l>>2]|0;r=c[q+64>>2]|0;if(!r)s=ku(n,1,p,c[q+56>>2]|0)|0;else s=La[r&7](b,n,p)|0;if((s|0)!=(ft(n)|0)){c[b+64>>2]=2;o=0;Fa=i;return o|0}c[b>>2]=d;c[b+4>>2]=e;c[b+8>>2]=f;c[b+12>>2]=g;n=(h|0)!=0;if(n){s=jl(c[h>>2]|0,c[h+12>>2]|0)|0;c[b+20>>2]=s;if(!s){c[b+64>>2]=7;o=0;Fa=i;return o|0}}else c[b+20>>2]=0;a[j>>0]=d;s=j+1|0;a[s>>0]=d>>>8;d=c[l>>2]|0;p=c[d+64>>2]|0;if(!p)ku(j,1,2,c[d+56>>2]|0)|0;else La[p&7](b,j,2)|0;a[j>>0]=e;a[s>>0]=e>>>8;e=c[l>>2]|0;s=c[e+64>>2]|0;if(!s)ku(j,1,2,c[e+56>>2]|0)|0;else La[s&7](b,j,2)|0;j=(n?128:0)|(f<<4)+240;if(n){f=(c[h+4>>2]|0)+-1|j;a[k>>0]=f;if(a[h+8>>0]|0){t=f|8;u=24}}else{t=j|7;u=24}if((u|0)==24)a[k>>0]=t;t=k+1|0;a[t>>0]=g;g=k+2|0;a[g>>0]=a[b+16>>0]|0;u=c[l>>2]|0;j=c[u+64>>2]|0;if(!j)ku(k,1,3,c[u+56>>2]|0)|0;else La[j&7](b,k,3)|0;a:do if(n?(c[h>>2]|0)>0:0){j=h+12|0;u=0;while(1){f=c[j>>2]|0;a[k>>0]=a[f+(u*3|0)>>0]|0;a[t>>0]=a[f+(u*3|0)+1>>0]|0;a[g>>0]=a[f+(u*3|0)+2>>0]|0;f=c[l>>2]|0;s=c[f+64>>2]|0;if(!s)v=ku(k,1,3,c[f+56>>2]|0)|0;else v=La[s&7](b,k,3)|0;u=u+1|0;if((v|0)!=3)break;if((u|0)>=(c[h>>2]|0))break a}c[b+64>>2]=2;o=0;Fa=i;return o|0}while(0);c[m>>2]=c[m>>2]|2;o=1;Fa=i;return o|0}function ol(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=Fa;Fa=Fa+16|0;k=j+4|0;l=j;m=h&1;n=b+72|0;o=c[n>>2]|0;p=c[o>>2]|0;if(p&4|0?(c[o+52>>2]|0)>>>0>4294901760:0){c[b+64>>2]=4;q=0;Fa=j;return q|0}if(!(p&1)){c[b+64>>2]=10;q=0;Fa=j;return q|0}c[b+28>>2]=d;c[b+32>>2]=e;c[b+36>>2]=f;c[b+40>>2]=g;a[b+44>>0]=m;m=(i|0)!=0;p=b+48|0;do if(m){if(c[p>>2]|0)c[p>>2]=0;r=jl(c[i>>2]|0,c[i+12>>2]|0)|0;c[p>>2]=r;if(r|0){s=c[n>>2]|0;break}c[b+64>>2]=7;q=0;Fa=j;return q|0}else{c[p>>2]=0;s=o}while(0);a[l>>0]=44;r=c[s+64>>2]|0;if(!r)pu(44,c[s+56>>2]|0)|0;else La[r&7](b,l,1)|0;a[k>>0]=d;r=k+1|0;a[r>>0]=d>>>8;d=c[n>>2]|0;s=c[d+64>>2]|0;if(!s)ku(k,1,2,c[d+56>>2]|0)|0;else La[s&7](b,k,2)|0;a[k>>0]=e;a[r>>0]=e>>>8;e=c[n>>2]|0;s=c[e+64>>2]|0;if(!s)ku(k,1,2,c[e+56>>2]|0)|0;else La[s&7](b,k,2)|0;a[k>>0]=f;a[r>>0]=f>>>8;s=c[n>>2]|0;e=c[s+64>>2]|0;if(!e)ku(k,1,2,c[s+56>>2]|0)|0;else La[e&7](b,k,2)|0;a[k>>0]=g;a[r>>0]=g>>>8;r=c[n>>2]|0;e=c[r+64>>2]|0;if(!e)ku(k,1,2,c[r+56>>2]|0)|0;else La[e&7](b,k,2)|0;e=(m?128:0)|(h?64:0);a:do if(m){h=(c[i+4>>2]|0)+255|e;a[l>>0]=h;r=c[n>>2]|0;s=c[r+64>>2]|0;if(!s)pu(h<<24>>24,c[r+56>>2]|0)|0;else La[s&7](b,l,1)|0;if((c[i>>2]|0)>0){s=i+12|0;r=l+1|0;h=l+2|0;d=0;while(1){t=c[s>>2]|0;a[l>>0]=a[t+(d*3|0)>>0]|0;a[r>>0]=a[t+(d*3|0)+1>>0]|0;a[h>>0]=a[t+(d*3|0)+2>>0]|0;t=c[n>>2]|0;u=c[t+64>>2]|0;if(!u)v=ku(l,1,3,c[t+56>>2]|0)|0;else v=La[u&7](b,l,3)|0;d=d+1|0;if((v|0)!=3)break;if((d|0)>=(c[i>>2]|0))break a}c[b+64>>2]=2;q=0;Fa=j;return q|0}}else{a[l>>0]=e;d=c[n>>2]|0;h=c[d+64>>2]|0;if(!h){pu(e<<24>>24,c[d+56>>2]|0)|0;break}else{La[h&7](b,l,1)|0;break}}while(0);l=c[b+20>>2]|0;e=c[p>>2]|0;if((l|0)==0&(e|0)==0){c[b+64>>2]=5;q=0;Fa=j;return q|0}c[o>>2]=c[o>>2]|4;c[o+52>>2]=B(g,f)|0;f=c[n>>2]|0;n=c[((e|0)==0?l:e)+4>>2]|0;e=(n|0)>2?n:2;a[k>>0]=e;n=c[f+64>>2]|0;if(!n)pu(e<<24>>24,c[f+56>>2]|0)|0;else La[n&7](b,k,1)|0;a[f+68>>0]=0;c[f+8>>2]=e;k=1<<e;n=f+12|0;c[n>>2]=k;c[f+16>>2]=k+1;c[f+20>>2]=k+2;c[f+24>>2]=e+1;c[f+28>>2]=2<<e;c[f+36>>2]=4097;c[f+44>>2]=0;c[f+48>>2]=0;Yu(c[f+24900>>2]|0,-1,32768)|0;if(!(pl(b,c[n>>2]|0)|0))c[b+64>>2]=8;q=1;Fa=j;return q|0}function pl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=b+72|0;g=c[f>>2]|0;h=g+44|0;i=c[h>>2]|0;do if((e|0)==4096){j=g+68|0;if((i|0)>0){k=g+48|0;l=b+64|0;m=1;n=c[k>>2]|0;while(1){o=a[j>>0]|0;do if(o<<24>>24==-1){p=c[f>>2]|0;q=c[p+64>>2]|0;if(!q)r=ku(j,1,256,c[p+56>>2]|0)|0;else r=La[q&7](b,j,256)|0;if((r|0)==((d[j>>0]|0)+1|0)){a[j>>0]=0;s=0;t=10;break}else{c[l>>2]=2;u=0;break}}else{s=o;t=10}while(0);if((t|0)==10){t=0;o=s+1<<24>>24;a[j>>0]=o;a[(o&255)+(g+68)>>0]=n;u=m}n=(c[k>>2]|0)>>>8;c[k>>2]=n;o=c[h>>2]|0;c[h>>2]=o+-8;if((o|0)<=8){v=u;break}else m=u}}else v=1;c[h>>2]=0;m=a[j>>0]|0;if(m<<24>>24){n=(m&255)+1|0;m=c[f>>2]|0;k=c[m+64>>2]|0;if(!k)w=ku(j,1,n,c[m+56>>2]|0)|0;else w=La[k&7](b,j,n)|0;if((w|0)!=((d[j>>0]|0)+1|0)){c[b+64>>2]=2;x=0;break}}a[j>>0]=0;n=c[f>>2]|0;k=c[n+64>>2]|0;if(!k)y=ku(j,1,1,c[n+56>>2]|0)|0;else y=La[k&7](b,j,1)|0;if((y|0)==1)x=v;else{c[b+64>>2]=2;x=0}}else{k=g+48|0;n=c[k>>2]|e<<i;c[k>>2]=n;m=(c[g+24>>2]|0)+i|0;c[h>>2]=m;if((m|0)>7){m=g+68|0;l=b+64|0;o=1;q=n;while(1){n=a[m>>0]|0;do if(n<<24>>24==-1){p=c[f>>2]|0;z=c[p+64>>2]|0;if(!z)A=ku(m,1,256,c[p+56>>2]|0)|0;else A=La[z&7](b,m,256)|0;if((A|0)==((d[m>>0]|0)+1|0)){a[m>>0]=0;B=0;t=32;break}else{c[l>>2]=2;C=0;break}}else{B=n;t=32}while(0);if((t|0)==32){t=0;n=B+1<<24>>24;a[m>>0]=n;a[(n&255)+(g+68)>>0]=q;C=o}q=(c[k>>2]|0)>>>8;c[k>>2]=q;n=c[h>>2]|0;c[h>>2]=n+-8;if((n|0)<=15){x=C;break}else o=C}}else x=1}while(0);C=g+28|0;if(!((e|0)<4096?(c[g+20>>2]|0)>=(c[C>>2]|0):0))return x|0;e=g+24|0;g=(c[e>>2]|0)+1|0;c[e>>2]=g;c[C>>2]=1<<g;return x|0}function ql(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=c[a+72>>2]|0;g=c[f+24900>>2]|0;h=f+36|0;i=c[h>>2]|0;if((i|0)==4097){j=1;k=d[b>>0]|0}else{j=0;k=i}a:do if((j|0)<(e|0)){i=f+20|0;l=f+12|0;m=f+16|0;n=f+8|0;o=f+24|0;p=f+28|0;q=k;r=j;b:while(1){s=d[b+r>>0]|0;r=r+1|0;t=q<<8|s;u=t^q>>>4&1048575;v=u&8191;w=c[g+(v<<2)>>2]|0;x=w>>>12;c:do if((x|0)==1048575)y=10;else{z=v;A=x;B=w;while(1){if((A|0)==(t|0))break;z=z+1&8191;C=c[g+(z<<2)>>2]|0;A=C>>>12;if((A|0)==1048575){y=10;break c}else B=C}D=B&4095}while(0);do if((y|0)==10){y=0;if(!(pl(a,q)|0)){y=11;break b}w=c[i>>2]|0;if((w|0)>4094){if(!(pl(a,c[l>>2]|0)|0)){y=14;break b}c[i>>2]=(c[m>>2]|0)+1;x=(c[n>>2]|0)+1|0;c[o>>2]=x;c[p>>2]=1<<x;Yu(g|0,-1,32768)|0;D=s;break}c[i>>2]=w+1;x=u;while(1){v=x&8191;E=g+(v<<2)|0;if((c[E>>2]|0)>>>0<4294963200)x=v+1|0;else break}c[E>>2]=w&4095|t<<12;D=s}while(0);if((r|0)>=(e|0)){F=D;break a}else q=D}if((y|0)==11){c[a+64>>2]=8;G=0;return G|0}else if((y|0)==14){c[a+64>>2]=8;G=0;return G|0}}else F=k;while(0);c[h>>2]=F;if(c[f+52>>2]|0){G=1;return G|0}if(!(pl(a,F)|0)){c[a+64>>2]=8;G=0;return G|0}if(!(pl(a,c[f+16>>2]|0)|0)){c[a+64>>2]=8;G=0;return G|0}if(pl(a,4096)|0){G=1;return G|0}c[a+64>>2]=8;G=0;return G|0}function rl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;d=Fa;Fa=Fa+16|0;e=d;f=b+20|0;if(!(nl(b,c[b>>2]|0,c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0,c[f>>2]|0)|0)){g=0;Fa=d;return g|0}h=b+24|0;a:do if((c[h>>2]|0)>0){i=b+52|0;j=b+72|0;k=e+1|0;l=b+36|0;m=0;b:while(1){n=c[i>>2]|0;o=c[n+(m*36|0)+12>>2]|0;p=c[n+(m*36|0)+8>>2]|0;q=n+(m*36|0)+24|0;c:do if(c[q>>2]|0){r=c[n+(m*36|0)+32>>2]|0;s=c[n+(m*36|0)+28>>2]|0;if((r|0)!=0&(s|0)>0){t=s+-1|0;u=0;do{v=r+(u*12|0)|0;w=c[r+(u*12|0)+8>>2]|0;if(w|0){x=c[j>>2]|0;if(!(c[x>>2]&1)){y=13;break b}a[e>>0]=33;a[k>>0]=w;w=c[x+64>>2]|0;if(!w)ku(e,1,2,c[x+56>>2]|0)|0;else La[w&7](b,e,2)|0}w=c[v>>2]|0;x=c[r+(u*12|0)+4>>2]|0;z=c[j>>2]|0;if(!(c[z>>2]&1)){y=21;break b}a[e>>0]=w;A=c[z+64>>2]|0;if(!A)pu(w<<24>>24,c[z+56>>2]|0)|0;else La[A&7](b,e,1)|0;A=c[j>>2]|0;z=c[A+64>>2]|0;if(!z)ku(x,1,w,c[A+56>>2]|0)|0;else La[z&7](b,x,w)|0;if(!((u|0)!=(t|0)?!(c[v+12+8>>2]|0):0)){v=c[j>>2]|0;if(!(c[v>>2]&1)){y=29;break b}a[e>>0]=0;w=c[v+64>>2]|0;if(!w)pu(0,c[v+56>>2]|0)|0;else La[w&7](b,e,1)|0}u=u+1|0}while((u|0)<(s|0))}s=n+(m*36|0)+16|0;if(!(ol(b,c[n+(m*36|0)>>2]|0,c[n+(m*36|0)+4>>2]|0,p,o,(a[s>>0]|0)!=0,c[n+(m*36|0)+20>>2]|0)|0)){g=0;y=118;break b}if(!(a[s>>0]|0)){if((o|0)<=0)break;if(!p){s=0;while(1){u=c[q>>2]|0;t=c[j>>2]|0;if(!(c[t>>2]&1)){y=70;break b}r=c[l>>2]|0;w=t+52|0;v=c[w>>2]|0;if(v>>>0<r>>>0){y=72;break b}c[w>>2]=v-r;v=a[60920+(c[t+8>>2]|0)>>0]|0;if((r|0)>0){t=0;do{w=u+t|0;a[w>>0]=a[w>>0]&v;t=t+1|0}while((t|0)!=(r|0))}s=s+1|0;if(!(ql(b,u,r)|0)){g=0;y=118;break b}if((s|0)>=(o|0))break c}}else{s=(p|0)>0;t=0;while(1){v=(c[q>>2]|0)+(B(t,p)|0)|0;w=c[j>>2]|0;if(!(c[w>>2]&1)){y=70;break b}x=w+52|0;z=c[x>>2]|0;if(z>>>0<p>>>0){y=72;break b}c[x>>2]=z-p;z=a[60920+(c[w+8>>2]|0)>>0]|0;if(s){w=0;do{x=v+w|0;a[x>>0]=a[x>>0]&z;w=w+1|0}while((w|0)!=(p|0))}t=t+1|0;if(!(ql(b,v,p)|0)){g=0;y=118;break b}if((t|0)>=(o|0))break c}}}t=(o|0)>0;if(!p){if(!t)break;s=0;do{w=c[q>>2]|0;z=c[j>>2]|0;if(!(c[z>>2]&1)){y=48;break b}r=c[l>>2]|0;u=z+52|0;x=c[u>>2]|0;if(x>>>0<r>>>0){y=50;break b}c[u>>2]=x-r;x=a[60920+(c[z+8>>2]|0)>>0]|0;if((r|0)>0){z=0;do{u=w+z|0;a[u>>0]=a[u>>0]&x;z=z+1|0}while((z|0)!=(r|0))}if(!(ql(b,w,r)|0)){g=0;y=118;break b}s=s+8|0}while((s|0)<(o|0));if((o|0)>4){s=4;do{z=c[q>>2]|0;x=c[j>>2]|0;if(!(c[x>>2]&1)){y=48;break b}v=c[l>>2]|0;u=x+52|0;A=c[u>>2]|0;if(A>>>0<v>>>0){y=50;break b}c[u>>2]=A-v;A=a[60920+(c[x+8>>2]|0)>>0]|0;if((v|0)>0){x=0;do{u=z+x|0;a[u>>0]=a[u>>0]&A;x=x+1|0}while((x|0)!=(v|0))}if(!(ql(b,z,v)|0)){g=0;y=118;break b}s=s+8|0}while((s|0)<(o|0))}if((o|0)>2){s=2;do{x=c[q>>2]|0;A=c[j>>2]|0;if(!(c[A>>2]&1)){y=48;break b}r=c[l>>2]|0;w=A+52|0;u=c[w>>2]|0;if(u>>>0<r>>>0){y=50;break b}c[w>>2]=u-r;u=a[60920+(c[A+8>>2]|0)>>0]|0;if((r|0)>0){A=0;do{w=x+A|0;a[w>>0]=a[w>>0]&u;A=A+1|0}while((A|0)!=(r|0))}if(!(ql(b,x,r)|0)){g=0;y=118;break b}s=s+4|0}while((s|0)<(o|0))}if((o|0)<=1)break;s=1;do{A=c[q>>2]|0;u=c[j>>2]|0;if(!(c[u>>2]&1)){y=48;break b}v=c[l>>2]|0;z=u+52|0;w=c[z>>2]|0;if(w>>>0<v>>>0){y=50;break b}c[z>>2]=w-v;w=a[60920+(c[u+8>>2]|0)>>0]|0;if((v|0)>0){u=0;do{z=A+u|0;a[z>>0]=a[z>>0]&w;u=u+1|0}while((u|0)!=(v|0))}if(!(ql(b,A,v)|0)){g=0;y=118;break b}s=s+2|0}while((s|0)<(o|0))}else{if(!t)break;s=(p|0)>0;u=0;do{w=(c[q>>2]|0)+(B(u,p)|0)|0;r=c[j>>2]|0;if(!(c[r>>2]&1)){y=48;break b}x=r+52|0;z=c[x>>2]|0;if(z>>>0<p>>>0){y=50;break b}c[x>>2]=z-p;z=a[60920+(c[r+8>>2]|0)>>0]|0;if(s){r=0;do{x=w+r|0;a[x>>0]=a[x>>0]&z;r=r+1|0}while((r|0)!=(p|0))}if(!(ql(b,w,p)|0)){g=0;y=118;break b}u=u+8|0}while((u|0)<(o|0));if((o|0)>4){u=(p|0)>0;s=4;do{t=(c[q>>2]|0)+(B(s,p)|0)|0;r=c[j>>2]|0;if(!(c[r>>2]&1)){y=48;break b}z=r+52|0;v=c[z>>2]|0;if(v>>>0<p>>>0){y=50;break b}c[z>>2]=v-p;v=a[60920+(c[r+8>>2]|0)>>0]|0;if(u){r=0;do{z=t+r|0;a[z>>0]=a[z>>0]&v;r=r+1|0}while((r|0)!=(p|0))}if(!(ql(b,t,p)|0)){g=0;y=118;break b}s=s+8|0}while((s|0)<(o|0))}if((o|0)>2){s=(p|0)>0;u=2;do{r=(c[q>>2]|0)+(B(u,p)|0)|0;v=c[j>>2]|0;if(!(c[v>>2]&1)){y=48;break b}w=v+52|0;z=c[w>>2]|0;if(z>>>0<p>>>0){y=50;break b}c[w>>2]=z-p;z=a[60920+(c[v+8>>2]|0)>>0]|0;if(s){v=0;do{w=r+v|0;a[w>>0]=a[w>>0]&z;v=v+1|0}while((v|0)!=(p|0))}if(!(ql(b,r,p)|0)){g=0;y=118;break b}u=u+4|0}while((u|0)<(o|0))}if((o|0)<=1)break;u=(p|0)>0;s=1;do{v=(c[q>>2]|0)+(B(s,p)|0)|0;z=c[j>>2]|0;if(!(c[z>>2]&1)){y=48;break b}t=z+52|0;w=c[t>>2]|0;if(w>>>0<p>>>0){y=50;break b}c[t>>2]=w-p;w=a[60920+(c[z+8>>2]|0)>>0]|0;if(u){z=0;do{t=v+z|0;a[t>>0]=a[t>>0]&w;z=z+1|0}while((z|0)!=(p|0))}if(!(ql(b,v,p)|0)){g=0;y=118;break b}s=s+2|0}while((s|0)<(o|0))}}while(0);m=m+1|0;if((m|0)>=(c[h>>2]|0))break a}if((y|0)==13){c[b+64>>2]=10;g=0;Fa=d;return g|0}else if((y|0)==21){c[b+64>>2]=10;g=0;Fa=d;return g|0}else if((y|0)==29){c[b+64>>2]=10;g=0;Fa=d;return g|0}else if((y|0)==48){c[b+64>>2]=10;g=0;Fa=d;return g|0}else if((y|0)==50){c[b+64>>2]=6;g=0;Fa=d;return g|0}else if((y|0)==70){c[b+64>>2]=10;g=0;Fa=d;return g|0}else if((y|0)==72){c[b+64>>2]=6;g=0;Fa=d;return g|0}else if((y|0)==118){Fa=d;return g|0}}while(0);h=c[b+60>>2]|0;m=c[b+56>>2]|0;d:do if((h|0)!=0&(m|0)>0){j=m+-1|0;l=b+72|0;k=e+1|0;i=0;while(1){o=h+(i*12|0)|0;p=c[h+(i*12|0)+8>>2]|0;if(p|0){q=c[l>>2]|0;if(!(c[q>>2]&1)){y=87;break}a[e>>0]=33;a[k>>0]=p;p=c[q+64>>2]|0;if(!p)ku(e,1,2,c[q+56>>2]|0)|0;else La[p&7](b,e,2)|0}p=c[o>>2]|0;q=c[h+(i*12|0)+4>>2]|0;n=c[l>>2]|0;if(!(c[n>>2]&1)){y=95;break}a[e>>0]=p;s=c[n+64>>2]|0;if(!s)pu(p<<24>>24,c[n+56>>2]|0)|0;else La[s&7](b,e,1)|0;s=c[l>>2]|0;n=c[s+64>>2]|0;if(!n)ku(q,1,p,c[s+56>>2]|0)|0;else La[n&7](b,q,p)|0;if(!((i|0)!=(j|0)?!(c[o+12+8>>2]|0):0)){o=c[l>>2]|0;if(!(c[o>>2]&1)){y=103;break}a[e>>0]=0;p=c[o+64>>2]|0;if(!p)pu(0,c[o+56>>2]|0)|0;else La[p&7](b,e,1)|0}i=i+1|0;if((i|0)>=(m|0)){C=l;break d}}if((y|0)==87){c[b+64>>2]=10;g=0;Fa=d;return g|0}else if((y|0)==95){c[b+64>>2]=10;g=0;Fa=d;return g|0}else if((y|0)==103){c[b+64>>2]=10;g=0;Fa=d;return g|0}}else C=b+72|0;while(0);y=c[C>>2]|0;do if(y|0?c[y>>2]&1|0:0){C=c[y+56>>2]|0;a[e>>0]=59;m=c[y+64>>2]|0;if(!m)pu(59,C)|0;else La[m&7](b,e,1)|0;m=b+48|0;if(c[m>>2]|0)c[m>>2]=0;if(c[f>>2]|0)c[f>>2]=0;if(C|0?Pt(C)|0:0)break;g=1;Fa=d;return g|0}while(0);g=0;Fa=d;return g|0}function sl(a){a=a|0;var b=0;b=1;while(1)if(b>>>0<9&(1<<b|0)<(a|0))b=b+1|0;else break;return b|0}function tl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=b+52|0;f=c[e>>2]|0;a:do if(!f){c[525052]=(c[525052]|0)+36;g=Yr(36,1)|0;h=c[525051]|0;c[1433520+(h<<2)>>2]=g;c[525051]=h+1;i=g}else{g=((c[b+24>>2]|0)*36|0)+36|0;h=c[525051]|0;b:do if((h|0)>0){j=0;while(1){k=1433520+(j<<2)|0;if((c[k>>2]|0)==(f|0))break;j=j+1|0;if((j|0)>=(h|0))break b}j=Zr(f,g)|0;c[k>>2]=j;i=j;break a}while(0);i=Zr(f,g)|0}while(0);c[e>>2]=i;if(!i){l=0;return l|0}f=b+24|0;b=c[f>>2]|0;c[f>>2]=b+1;k=i+(b*36|0)|0;h=k;j=h+36|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));if(!d){l=k;return l|0}h=k;m=d;j=h+36|0;do{a[h>>0]=a[m>>0]|0;h=h+1|0;m=m+1|0}while((h|0)<(j|0));m=i+(b*36|0)+20|0;if(c[m>>2]|0?(h=c[d+20>>2]|0,j=jl(c[h>>2]|0,c[h+12>>2]|0)|0,c[m>>2]=j,(j|0)==0):0){j=c[e>>2]|0;if(!j){l=0;return l|0}m=(c[f>>2]|0)+-1|0;c[f>>2]=m;h=j+(m*36|0)+20|0;if(c[h>>2]|0)c[h>>2]=0;h=j+(m*36|0)+32|0;if(!(c[h>>2]|0)){l=0;return l|0}c[h>>2]=0;c[j+(m*36|0)+28>>2]=0;l=0;return l|0}m=d+12|0;j=d+8|0;h=B(c[j>>2]|0,c[m>>2]|0)|0;n=(c[525052]|0)+h|0;c[525052]=n;o=Yr(h,1)|0;h=c[525051]|0;c[1433520+(h<<2)>>2]=o;p=h+1|0;c[525051]=p;c[i+(b*36|0)+24>>2]=o;if(!o){q=c[e>>2]|0;if(!q){l=0;return l|0}r=(c[f>>2]|0)+-1|0;c[f>>2]=r;s=q+(r*36|0)+20|0;if(c[s>>2]|0)c[s>>2]=0;s=q+(r*36|0)+32|0;if(!(c[s>>2]|0)){l=0;return l|0}c[s>>2]=0;c[q+(r*36|0)+28>>2]=0;l=0;return l|0}Xu(o|0,c[d+24>>2]|0,B(c[j>>2]|0,c[m>>2]|0)|0)|0;m=i+(b*36|0)+32|0;if(!(c[m>>2]|0)){l=k;return l|0}b=d+28|0;i=(c[b>>2]|0)*12|0;c[525052]=i+n;n=Yr(i,1)|0;c[1433520+(p<<2)>>2]=n;c[525051]=h+2;c[m>>2]=n;if(n|0){Xu(n|0,c[d+32>>2]|0,(c[b>>2]|0)*12|0)|0;l=k;return l|0}k=c[e>>2]|0;if(!k){l=0;return l|0}e=(c[f>>2]|0)+-1|0;c[f>>2]=e;f=k+(e*36|0)+20|0;if(c[f>>2]|0)c[f>>2]=0;f=k+(e*36|0)+32|0;if(!(c[f>>2]|0)){l=0;return l|0}c[f>>2]=0;c[k+(e*36|0)+28>>2]=0;l=0;return l|0}function ul(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=Fa;Fa=Fa+1632|0;d=b+1616|0;e=b+1608|0;f=b+1600|0;g=b+1592|0;h=b+1584|0;i=b+1576|0;j=b+1568|0;k=b+1560|0;l=b+1552|0;m=b+528|0;n=b;c[759981]=0;Yu(n|0,0,521)|0;if((c[742422]|0)!=1|(c[742428]|0)==0|(a[2964308]|0)==0){o=0;Fa=b;return o|0}if((ft(2964308)|0)>>>0>64){o=0;Fa=b;return o|0}c[l>>2]=2962124;c[l+4>>2]=2964308;vs(m,60929,l)|0;l=Yn(m,71945)|0;if(!l){o=1;Fa=b;return o|0}m=0;do{p=m*65|0;q=m<<3;r=n+(p+64)|0;c[k>>2]=c[2965332+(q<<2)>>2];vs(n+p|0,60942,k)|0;a[r>>0]=10;c[j>>2]=c[2965332+((q|1)<<2)>>2];vs(n+(p+8)|0,60942,j)|0;a[r>>0]=10;c[i>>2]=c[2965332+((q|2)<<2)>>2];vs(n+(p+16)|0,60942,i)|0;a[r>>0]=10;c[h>>2]=c[2965332+((q|3)<<2)>>2];vs(n+(p+24)|0,60942,h)|0;a[r>>0]=10;c[g>>2]=c[2965332+((q|4)<<2)>>2];vs(n+(p+32)|0,60942,g)|0;a[r>>0]=10;c[f>>2]=c[2965332+((q|5)<<2)>>2];vs(n+(p+40)|0,60942,f)|0;a[r>>0]=10;c[e>>2]=c[2965332+((q|6)<<2)>>2];vs(n+(p+48)|0,60942,e)|0;a[r>>0]=10;c[d>>2]=c[2965332+((q|7)<<2)>>2];vs(n+(p+56)|0,60942,d)|0;a[r>>0]=10;m=m+1|0}while((m|0)!=8);Qn(n,1,520,l)|0;Zn(l);o=0;Fa=b;return o|0}function vl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Fa;Fa=Fa+2592|0;e=d+2584|0;f=d+2576|0;g=d+1552|0;h=d+528|0;i=d;if(!b){j=3;Fa=d;return j|0}if(!((c[742422]|0)==1&(c[742428]|0)!=0)){j=1;Fa=d;return j|0}if(a[2964308]|0){yb(60947)|0;j=2;Fa=d;return j|0}k=a[b>>0]|0;if(k<<24>>24?(l=ft(b)|0,l>>>0<=64):0){a:do if(l|0){m=0;n=k;b:while(1){o=n<<24>>24;if(!((o+-97|0)>>>0<26|(o+-48|0)>>>0<10))switch(o|0){case 45:case 95:break;default:break b}o=m+1|0;if(o>>>0>=l>>>0)break a;m=o;n=a[b+o>>0]|0}yb(61004)|0;j=2;Fa=d;return j|0}while(0);Lm(2964308,b)|0;Yu(2965332,0,256)|0;c[f>>2]=2962124;c[f+4>>2]=2964308;vs(g,60929,f)|0;f=Yn(g,63774)|0;if(!f){j=1;Fa=d;return j|0}Ep(h,0,1024);On(h,1,1024,f)|0;Zn(f);Ep(i,0,513);f=0;g=0;while(1){b=a[h+g>>0]|0;if((b+-48&255)<10)p=19;else switch(b<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:{p=19;break}default:q=f}if((p|0)==19){p=0;a[i+f>>0]=b;q=f+1|0}g=g+1|0;if(!(g>>>0<1024&(q|0)<512))break;else f=q}q=0;do{c[e>>2]=2965332+(q<<2);Vt(i+(q<<3)|0,60942,e)|0;q=q+1|0}while((q|0)!=64);j=0;Fa=d;return j|0}yb(60982)|0;j=2;Fa=d;return j|0}function wl(a){a=a|0;return}function xl(){var a=0,b=0,d=0;c[525053]=0;c[525054]=0;a=1662320;b=1662256;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function yl(){var a=0,b=0,d=0;if((c[525053]|0)>=13)return;a=1662256;b=1662320;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function zl(a){a=a|0;var b=0,d=0,e=0;b=(a|0)==27;if(b&(c[525053]|0)<13){a=1662256;d=1662320;e=a+64|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));Al(c[704852]|0)}if(b)c[760315]=0;if((c[525053]|0)<=12)return;c[760315]=0;c[742551]=120;return}function Al(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Fa;Fa=Fa+16|0;e=d+8|0;f=d;$m(b,0,0,127,127,1);$m(b,4,41,123,124,6);$m(b,0,0,127,6,7);Ln(b,61027,c[704871]|0,6,1,1,12)|0;g=c[c[704870]>>2]|0;h=c[525053]|0;i=c[((h|0)==13?g+672|0:(h|0)==12?g+700|0:g+(((h|0)%6|0)+169<<2)|0)>>2]|0;bn(i,b,0,0,6,8,c[i>>2]|0,c[i+4>>2]|0);i=c[704871]|0;if((c[525053]|0)>12){Ln(b,61045,i,60,12,1,11)|0;Ln(b,61059,c[704871]|0,60,22,1,12)|0;Ln(b,61072,c[704871]|0,60,29,1,12)|0}else{Ln(b,61084,i,60,12,1,6)|0;Ln(b,c[2320+(c[525053]<<2)>>2]|0,c[704871]|0,60,19,1,7)|0;Ln(b,61099,c[704871]|0,60,26,1,13)|0;Ln(b,61115,c[704871]|0,60,33,1,13)|0}i=0;h=44;while(1){g=c[1662256+(i<<2)>>2]|0;j=c[2320+(i<<2)>>2]|0;if(!g){k=c[2384+(i<<2)>>2]|0;c[f>>2]=j;c[f+4>>2]=k;vs(1509584,61129,f)|0}else{k=(g|0)<255?g:255;g=Rq((k|0)>0?k:0)|0;c[e>>2]=j;c[e+4>>2]=g;vs(1509584,61129,e)|0}g=a[1509584]|0;if(g<<24>>24){j=1509584;k=g;do{if((k+-65&255)<26)a[j>>0]=(k&255)+32;j=j+1|0;k=a[j>>0]|0}while(k<<24>>24!=0)}if((i|0)==(c[525053]|0)){$m(b,7,h+-1|0,120,h+5|0,14);l=1}else l=5;Ln(b,1509584,c[704871]|0,10,h,1,l)|0;i=i+1|0;if((i|0)==13)break;else h=h+6|0}Fa=d;return}function Bl(){var a=0,b=0,d=0;if(!(c[525054]|0)){c[525054]=1;a=0;do{if(An(a)|0)c[525054]=0;a=a+1|0}while((a|0)!=512);if((c[525053]|0)<=12)return;c[525054]=0;return}a=0;do{if(An(a)|0){switch(a&2147483647|0){case 42:case 76:{b=0;break}default:b=a}d=c[525053]|0;c[1662256+(d<<2)>>2]=b;c[525054]=0;c[525053]=d+1;if((d|0)>11?xn()|0:0)do yn()|0;while((xn()|0)!=0)}a=a+1|0}while((a|0)!=512);return}function Cl(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=Fa;Fa=Fa+16|0;j=i;if(e>>>0>6){Fa=i;return}if(!(Gk(e,f)|0))k=(Ek(e,f)|0)>128&1;else k=1;bn(c[(c[c[704870]>>2]|0)+(k+247<<2)>>2]|0,b,0,0,g,h,7,7);a[j>>0]=(d[61352+e>>0]|0)+31;a[j+1>>0]=0;Ln(b,j,c[704871]|0,g,k+h|0,1,7)|0;Fa=i;return}function Dl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;d=Fa;Fa=Fa+1056|0;e=d+1024|0;f=d+1040|0;g=d+1036|0;h=d+1032|0;i=d;fr(g,h,d+1028|0);j=c[(c[c[704870]>>2]|0)+984>>2]|0;k=j+4|0;l=(c[j>>2]|0)/2|0;m=64-l|0;n=(c[k>>2]|0)/2|0;o=64-n|0;ek(b,63-l|0,63-n|0,l+64|0,n+64|0,1);gn(b,m,o,l+63|0,n+63|0,7);bn(j,b,0,0,m,o,c[j>>2]|0,c[k>>2]|0);Yu(i|0,0,1024)|0;k=i;c[k>>2]=1936880995;c[k+4>>2]=7565935;k=i+256|0;j=k;c[j>>2]=796401786;c[j+4>>2]=7741539;j=i+512|0;n=j;c[n>>2]=543563891;c[n+4>>2]=6561893;n=i+768|0;l=n;c[l>>2]=543318388;c[l+4>>2]=7807089;l=c[415564]|0;a:do if(!((c[415564]|c[415565]|c[415566]|c[415567]|0)==0|(l|0)==80&(c[415565]|0)==79&(c[415566]|0)==82&(c[415567]|0)==81)){p=i;c[p>>2]=538976288;c[p+4>>2]=2105376;p=0;q=l;while(1){if(q|0){r=(q|0)<255?q:255;s=Rq((r|0)>0?r:0)|0;if((s|0)!=0?(ft(s)|0)==1:0){r=a[s>>0]|0;s=r<<24>>24;t=(r+-65&255)<26?s+32|0:s}else t=16;a[i+(p<<1)>>0]=t}s=p+1|0;if((s|0)==4)break a;p=s;q=c[1662256+(s<<2)>>2]|0}}while(0);if(c[415568]|c[415569]|0){t=k;c[t>>2]=538976288;c[t+4>>2]=2105376;t=c[415568]|0;if(t|0){l=(t|0)<255?t:255;t=Rq((l|0)>0?l:0)|0;if((t|0)!=0?(ft(t)|0)==1:0){l=a[t>>0]|0;t=l<<24>>24;u=(l+-65&255)<26?t+32|0:t}else u=16;a[i+256>>0]=u}u=c[415569]|0;if(u|0){t=(u|0)<255?u:255;u=Rq((t|0)>0?t:0)|0;if((u|0)!=0?(ft(u)|0)==1:0){t=a[u>>0]|0;u=t<<24>>24;v=(t+-65&255)<26?u+32|0:u}else v=16;a[i+258>>0]=v}}if(c[415570]|c[415571]|c[415572]|c[415573]|0){v=j;c[v>>2]=538976288;c[v+4>>2]=2105376;v=c[415570]|0;if(v|0){u=(v|0)<255?v:255;v=Rq((u|0)>0?u:0)|0;if((v|0)!=0?(ft(v)|0)==1:0){u=a[v>>0]|0;v=u<<24>>24;w=(u+-65&255)<26?v+32|0:v}else w=16;a[i+512>>0]=w}w=c[415571]|0;if(w|0){v=(w|0)<255?w:255;w=Rq((v|0)>0?v:0)|0;if((w|0)!=0?(ft(w)|0)==1:0){v=a[w>>0]|0;w=v<<24>>24;x=(v+-65&255)<26?w+32|0:w}else x=16;a[i+514>>0]=x}x=c[415572]|0;if(x|0){w=(x|0)<255?x:255;x=Rq((w|0)>0?w:0)|0;if((x|0)!=0?(ft(x)|0)==1:0){w=a[x>>0]|0;x=w<<24>>24;y=((w+-65&255)<26?x+32|0:x)&255}else y=16;a[i+516>>0]=y}y=c[415573]|0;if(y|0){x=(y|0)<255?y:255;y=Rq((x|0)>0?x:0)|0;if((y|0)!=0?(ft(y)|0)==1:0){x=a[y>>0]|0;y=x<<24>>24;z=((x+-65&255)<26?y+32|0:y)&255}else z=16;a[i+518>>0]=z}}if(c[415574]|c[415575]|0){z=n;c[z>>2]=538976288;c[z+4>>2]=2105376;z=c[415574]|0;if(z|0){y=(z|0)<255?z:255;z=Rq((y|0)>0?y:0)|0;if((z|0)!=0?(ft(z)|0)==1:0){y=a[z>>0]|0;z=y<<24>>24;A=((y+-65&255)<26?z+32|0:z)&255}else A=16;a[i+768>>0]=A}A=c[415575]|0;if(A|0){z=(A|0)<255?A:255;A=Rq((z|0)>0?z:0)|0;if((A|0)!=0?(ft(A)|0)==1:0){z=a[A>>0]|0;A=z<<24>>24;B=((z+-65&255)<26?A+32|0:A)&255}else B=16;a[i+770>>0]=B}}B=c[704871]|0;Ln(b,i,B,90-((ft(i)|0)<<1)|0,34,1,13)|0;i=c[704871]|0;Ln(b,k,i,90-((ft(k)|0)<<1)|0,44,1,13)|0;k=c[704871]|0;Ln(b,j,k,90-((ft(j)|0)<<1)|0,61,1,13)|0;j=c[704871]|0;Ln(b,n,j,90-((ft(n)|0)<<1)|0,72,1,13)|0;n=m+18|0;j=o+14|0;Cl(b,0,0,n,j);k=m+26|0;Cl(b,1,0,k,j);i=m+34|0;Cl(b,2,0,i,j);B=m+42|0;Cl(b,3,0,B,j);j=o+25|0;if(!(Gk(4,0)|0))C=(Ek(4,0)|0)>128&1;else C=1;bn(c[(c[c[704870]>>2]|0)+(C+247<<2)>>2]|0,b,0,0,n,j,7,7);a[f>>0]=-114;A=f+1|0;a[A>>0]=0;Ln(b,f,c[704871]|0,n,C+j|0,1,7)|0;C=m+26|0;if(!(Gk(5,0)|0))D=(Ek(5,0)|0)>128&1;else D=1;bn(c[(c[c[704870]>>2]|0)+(D+247<<2)>>2]|0,b,0,0,C,j,7,7);a[f>>0]=-105;a[A>>0]=0;Ln(b,f,c[704871]|0,C,D+j|0,1,7)|0;j=o+41|0;Cl(b,0,1,n,j);Cl(b,1,1,k,j);Cl(b,2,1,i,j);Cl(b,3,1,B,j);j=o+52|0;if(!(Gk(4,1)|0))E=(Ek(4,1)|0)>128&1;else E=1;bn(c[(c[c[704870]>>2]|0)+(E+247<<2)>>2]|0,b,0,0,n,j,7,7);a[f>>0]=-114;a[A>>0]=0;Ln(b,f,c[704871]|0,n,E+j|0,1,7)|0;if(Gk(5,1)|0){F=1;G=c[704870]|0;H=c[G>>2]|0;I=F+247|0;J=H+(I<<2)|0;K=c[J>>2]|0;bn(K,b,0,0,C,j,7,7);a[f>>0]=-105;a[A>>0]=0;L=c[704871]|0;M=F+j|0;Ln(b,f,L,C,M,1,7)|0;N=c[515632]|0;c[e>>2]=N;vs(1509584,61359,e)|0;O=c[704871]|0;P=m+5|0;Q=o+80|0;Ln(b,1509584,O,P,Q,1,13)|0;R=c[704870]|0;S=c[R>>2]|0;T=S+356|0;U=c[T>>2]|0;V=c[g>>2]|0;W=c[U>>2]|0;X=(W|0)/2|0;Y=V-X|0;Z=c[h>>2]|0;_=U+4|0;$=c[_>>2]|0;aa=($|0)/2|0;ba=Z-aa|0;bn(U,b,0,0,Y,ba,W,$);Fa=d;return}F=(Ek(5,1)|0)>128&1;G=c[704870]|0;H=c[G>>2]|0;I=F+247|0;J=H+(I<<2)|0;K=c[J>>2]|0;bn(K,b,0,0,C,j,7,7);a[f>>0]=-105;a[A>>0]=0;L=c[704871]|0;M=F+j|0;Ln(b,f,L,C,M,1,7)|0;N=c[515632]|0;c[e>>2]=N;vs(1509584,61359,e)|0;O=c[704871]|0;P=m+5|0;Q=o+80|0;Ln(b,1509584,O,P,Q,1,13)|0;R=c[704870]|0;S=c[R>>2]|0;T=S+356|0;U=c[T>>2]|0;V=c[g>>2]|0;W=c[U>>2]|0;X=(W|0)/2|0;Y=V-X|0;Z=c[h>>2]|0;_=U+4|0;$=c[_>>2]|0;aa=($|0)/2|0;ba=Z-aa|0;bn(U,b,0,0,Y,ba,W,$);Fa=d;return}function El(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=a[b>>0]|0;if(!(c<<24>>24))return;d=c;while(1){c=b+((ft(b)|0)+-1)|0;if((a[c>>0]|0)!=32)break;a[c>>0]=0;c=a[b>>0]|0;if(!(c<<24>>24)){e=15;break}else d=c}if((e|0)==15)return;c=b;f=d;do{if((f+-65&255)<26)a[c>>0]=(f&255)+32;c=c+1|0;f=a[c>>0]|0}while(f<<24>>24!=0);f=a[b>>0]|0;if(!(f<<24>>24))return;c=b;b=f;do{if(pb(b<<24>>24)|0){if((a[c>>0]|0)==124){g=95;e=13}}else{g=32;e=13}if((e|0)==13){e=0;a[c>>0]=g}c=c+1|0;b=a[c>>0]|0}while(b<<24>>24!=0);return}function Fl(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Fa;Fa=Fa+1056|0;b=a+1024|0;d=a;gr(62650,d);e=Jt(d,62624)|0;if(!e){Fa=a;return}d=c[367132]|0;if((d|0)>0){f=0;g=d;while(1){d=c[366865]|0;if((c[d+(f*692|0)+684>>2]|0)==1){h=c[d+(f*692|0)+644>>2]|0;c[b>>2]=d+(f*692|0)+388;c[b+4>>2]=d+(f*692|0)+516;c[b+8>>2]=h;c[b+12>>2]=d+(f*692|0)+132;c[b+16>>2]=d+(f*692|0)+260;c[b+20>>2]=d+(f*692|0)+4;bu(e,61386,b)|0;i=c[367132]|0}else i=g;f=f+1|0;if((f|0)>=(i|0))break;else g=i}}Pt(e)|0;Fa=a;return}function Gl(){var a=0,b=0;a=Fa;Fa=Fa+1024|0;b=a;gr(62650,b);Hl(1467456,b);Fa=a;return}function Hl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=Fa;Fa=Fa+528|0;f=e+520|0;g=e+512|0;h=e;i=Yn(d,71765)|0;if(!i){c[g>>2]=d;vs(1504976,61425,g)|0;Pm(1504976);Fa=e;return}a:do if(!(Wn(i)|0)){g=b+1072|0;d=b+4|0;j=h+1|0;k=0;do{if(k>>>0>=2048)break a;k=k+1|0;a[h>>0]=0;_n(h,511,i)|0;do if((a[h>>0]|0)==124){Jp(c[b>>2]|0,((c[g>>2]|0)*692|0)+692|0)|0;l=c[(c[b>>2]|0)+12>>2]|0;c[d>>2]=l;m=c[g>>2]|0;c[g>>2]=m+1;n=l+(m*692|0)|0;Yu(n|0,0,692)|0;m=n+684|0;c[m>>2]=1;l=j;b:while(1){switch(a[l>>0]|0){case 0:case 124:{break b;break}default:{}}l=l+1|0}a[l>>0]=0;o=n+388|0;Lm(o,j)|0;p=l+1|0;q=p;c:while(1){switch(a[q>>0]|0){case 0:case 124:{break c;break}default:{}}q=q+1|0}a[q>>0]=0;l=n+516|0;Lm(l,p)|0;r=q+1|0;s=r;d:while(1){switch(a[s>>0]|0){case 0:case 124:{break d;break}default:{}}s=s+1|0}a[s>>0]=0;c[f>>2]=n+644;Vt(r,63440,f)|0;q=s+1|0;p=q;e:while(1){switch(a[p>>0]|0){case 0:case 124:{break e;break}default:{}}p=p+1|0}a[p>>0]=0;Lm(n+132|0,q)|0;s=p+1|0;r=s;f:while(1){switch(a[r>>0]|0){case 0:case 124:{break f;break}default:{}}r=r+1|0}a[r>>0]=0;p=n+260|0;Lm(p,s)|0;q=r+1|0;t=q;g:while(1){switch(a[t>>0]|0){case 0:case 124:{break g;break}default:{}}t=t+1|0}a[t>>0]=0;Lm(n+4|0,q)|0;Il(n);r=Jl(b,o,p)|0;s=(c[g>>2]|0)+-1|0;if((r|0)!=(s|0)){c[g>>2]=s;break}if((c[m>>2]|0)==1)if((a[o>>0]|0)==0?(a[l>>0]|0)==0:0){s=(eu(p,61381)|0)==0;u=s?177:180}else u=176;else u=c[n>>2]|0;c[n>>2]=u}while(0)}while(!(Wn(i)|0))}while(0);Zn(i);Fa=e;return}function Il(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=b+388|0;a:do if(a[c>>0]|0)do{d=(ft(c)|0)+-1+(b+388)|0;if((a[d>>0]|0)!=32)break a;a[d>>0]=0}while((a[c>>0]|0)!=0);while(0);d=b+516|0;b:do if(a[d>>0]|0)do{e=(ft(d)|0)+-1+(b+516)|0;if((a[e>>0]|0)!=32)break b;a[e>>0]=0}while((a[d>>0]|0)!=0);while(0);e=b+260|0;c:do if(a[e>>0]|0)do{f=(ft(e)|0)+-1+(b+260)|0;if((a[f>>0]|0)!=32)break c;a[f>>0]=0}while((a[e>>0]|0)!=0);while(0);e=b+132|0;f=a[e>>0]|0;d:do if(f<<24>>24){g=f;while(1){h=(ft(e)|0)+-1+(b+132)|0;if((a[h>>0]|0)!=32)break;a[h>>0]=0;h=a[e>>0]|0;if(!(h<<24>>24))break d;else g=h}h=e;i=g;do{if((i+-65&255)<26)a[h>>0]=(i&255)+32;h=h+1|0;i=a[h>>0]|0}while(i<<24>>24!=0);i=a[e>>0]|0;if(i<<24>>24){h=e;g=i;do{if(!((g+-97&255)<26|(g+-48&255)<10))a[h>>0]=95;h=h+1|0;g=a[h>>0]|0}while(g<<24>>24!=0)}}while(0);if((ft(e)|0)>>>0>16)a[b+148>>0]=0;e=b+4|0;f=a[e>>0]|0;e:do if(f<<24>>24){g=f;while(1){h=(ft(e)|0)+-1+(b+4)|0;if((a[h>>0]|0)!=32)break;a[h>>0]=0;h=a[e>>0]|0;if(!(h<<24>>24))break e;else g=h}h=e;i=g;do{if((i+-65&255)<26)a[h>>0]=(i&255)+32;h=h+1|0;i=a[h>>0]|0}while(i<<24>>24!=0);i=a[e>>0]|0;if(i<<24>>24){h=e;g=i;do{if(pb(g<<24>>24)|0){if((a[h>>0]|0)==124){j=95;k=40}}else{j=32;k=40}if((k|0)==40){k=0;a[h>>0]=j}h=h+1|0;g=a[h>>0]|0}while(g<<24>>24!=0)}}while(0);if(!(Xs(c,64686)|0))a[c>>0]=0;if(Xs(d,64686)|0)return;a[d>>0]=0;return}function Jl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[b+1072>>2]|0;if((f|0)<=0){g=-1;return g|0}h=c[b+4>>2]|0;b=(e|0)==0;if(!(a[d>>0]|0)){if(b){g=-1;return g|0}i=(a[e>>0]|0)==0;j=0;while(1){if(((!i?(a[h+(j*692|0)+388>>0]|0)==0:0)?(a[h+(j*692|0)+516>>0]|0)==0:0)?(Xs(e,h+(j*692|0)+260|0)|0)==0:0){g=j;k=18;break}j=j+1|0;if((j|0)>=(f|0)){g=-1;k=18;break}}if((k|0)==18)return g|0}j=0;while(1){i=h+(j*692|0)+388|0;if(!(Xs(i,d)|0)){g=j;k=18;break}if((((!b?a[e>>0]|0:0)?(a[i>>0]|0)==0:0)?(a[h+(j*692|0)+516>>0]|0)==0:0)?(Xs(e,h+(j*692|0)+260|0)|0)==0:0){g=j;k=18;break}j=j+1|0;if((j|0)>=(f|0)){g=-1;k=18;break}}if((k|0)==18)return g|0;return 0}function Kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=Fa;Fa=Fa+2080|0;e=d+2064|0;f=d+2056|0;g=d+2048|0;h=d+1024|0;i=d;gr(61461,i);kr(i)|0;c[g>>2]=(a|0)/1e4|0;vs(h,61465,g)|0;gr(h,i);kr(i)|0;if(!b){c[e>>2]=i;c[e+4>>2]=a;vs(1485520,61487,e)|0;Fa=d;return 1485520}else{c[f>>2]=i;c[f+4>>2]=a;vs(1485520,61473,f)|0;Fa=d;return 1485520}return 0}function Ll(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Fa;Fa=Fa+1056|0;f=e+1040|0;g=e+1032|0;h=e+1024|0;i=e;j=e+1048|0;k=a[b>>0]|0;if(!(k<<24>>24)){a[1485520]=0;Fa=e;return 1485520}c[j>>2]=0;l=ft(b)|0;m=(k+-48&255)<10&1;if(l>>>0>1){k=m;n=1;while(1){o=((a[b+n>>0]|0)+-48&255)>9?0:k;p=n+1|0;if(p>>>0<l>>>0){k=o;n=p}else{q=o;r=p;break}}}else{q=m;r=1}c[j>>2]=r;if(q|0){c[j>>2]=0;c[h>>2]=j;Vt(b,63440,h)|0;Kl(c[j>>2]|0,d)|0;Fa=e;return 1485520}gr(61461,i);kr(i)|0;gr(61499,i);kr(i)|0;if(!d){c[f>>2]=i;c[f+4>>2]=b;vs(1485520,61524,f)|0;Fa=e;return 1485520}else{c[g>>2]=i;c[g+4>>2]=b;vs(1485520,61509,g)|0;Fa=e;return 1485520}return 0}function Ml(a){a=a|0;Ll(a,0)|0;return 1485520}function Nl(a){a=a|0;Ll(a,1)|0;return 1485520}function Ol(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Fa;Fa=Fa+16|0;f=e;if((ft(d)|0)>>>0<2){a[1486544]=0;Fa=e;return 1486544}else{g=c[415614]|0;c[f>>2]=b;c[f+4>>2]=g;c[f+8>>2]=d;vs(1486544,61537,f)|0;Fa=e;return 1486544}return 0}function Pl(a,b){a=a|0;b=b|0;return (Jl(1467456,a,b)|0)!=-1|0}function Ql(b){b=b|0;var d=0,e=0,f=0;if(!b){d=0;return d|0}if(!(a[b>>0]|0)){d=0;return d|0}if(!(eu(b,61381)|0)){e=Br(b)|0;if(!e){d=0;return d|0}f=e+44572|0;if(!(c[f>>2]|0)){d=0;return d|0}e=cn(128,128,8)|0;Oo(c[f>>2]|0,e,0,0,0,0,128,128);d=e;return d|0}e=ho(b)|0;if(!e){d=0;return d|0}if((c[e>>2]|0)!=160){d=0;return d|0}if((c[e+4>>2]|0)!=205){d=0;return d|0}b=cn(128,128,32)|0;f=cn(128,128,8)|0;Oo(e,b,16,24,0,0,128,128);lk(b,f,c[704831]|0);dn(e)|0;dn(b)|0;d=f;return d|0}function Rl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Fa;Fa=Fa+16|0;e=d;c[525055]=b;c[525056]=0;if((b|0)==1){Lm(1484980,61603)|0;f=c[525056]|0;c[1484976+(f*68|0)>>2]=1;g=f+1|0;c[525056]=g;Lm(1484976+(g*68|0)+4|0,61612)|0;g=c[525056]|0;c[1484976+(g*68|0)>>2]=5;f=g+1|0;c[525056]=f;g=1484976+(f*68|0)+4|0;if(1==1)Lm(g,61620)|0;else Lm(g,61643)|0;g=c[525056]|0;c[1484976+(g*68|0)>>2]=3;f=g+1|0;c[525056]=f;g=1467456;h=c[367133]|0;do if((h|0)>=0?(c[367132]|0)>(h|0):0)if((c[(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+684>>2]|0)==1){if((c[367132]|0)<=(h|0)){Yu(2100920,0,692)|0;i=f;break}if(a[(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+388>>0]|0){if((c[367132]|0)>(h|0))j=(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)|0;else{Yu(2100920,0,692)|0;j=2100920}c[e>>2]=j+132;vs(1509584,61653,e)|0;Lm(1484976+((c[525056]|0)*68|0)+4|0,1509584)|0;k=c[525056]|0;c[1484976+(k*68|0)>>2]=19;l=k+1|0;c[525056]=l;Lm(1484976+(l*68|0)+4|0,61666)|0;l=c[525056]|0;c[1484976+(l*68|0)>>2]=20;k=l+1|0;c[525056]=k;Lm(1484976+(k*68|0)+4|0,61680)|0;k=c[525056]|0;c[1484976+(k*68|0)>>2]=21;l=k+1|0;c[525056]=l;Lm(1484976+(l*68|0)+4|0,61698)|0;l=c[525056]|0;c[1484976+(l*68|0)>>2]=18;k=l+1|0;c[525056]=k;i=k}else i=f}else i=f;else m=7;while(0);if((m|0)==7){Yu(2100920,0,692)|0;i=f}Lm(1484976+(i*68|0)+4|0,61721)|0;i=c[525056]|0;c[1484976+(i*68|0)>>2]=6;f=i+1|0;c[525056]=f;n=c[525055]|0;o=f}else{n=b;o=0}if((n|0)==4){Lm(1484976+(o*68|0)+4|0,61728)|0;b=c[525056]|0;c[1484976+(b*68|0)>>2]=16;f=b+1|0;c[525056]=f;Lm(1484976+(f*68|0)+4|0,61738)|0;f=c[525056]|0;c[1484976+(f*68|0)>>2]=17;b=f+1|0;c[525056]=b;Lm(1484976+(b*68|0)+4|0,61750)|0;b=c[525056]|0;c[1484976+(b*68|0)>>2]=18;f=b+1|0;c[525056]=f;Lm(1484976+(f*68|0)+4|0,61766)|0;f=c[525056]|0;c[1484976+(f*68|0)>>2]=6;b=f+1|0;c[525056]=b;p=c[525055]|0;q=b}else{p=n;q=o}if((p|0)!=5){Fa=d;return}Lm(1484976+(q*68|0)+4|0,61771)|0;q=c[525056]|0;c[1484976+(q*68|0)>>2]=32;p=q+1|0;c[525056]=p;Lm(1484976+(p*68|0)+4|0,61778)|0;p=c[525056]|0;c[1484976+(p*68|0)>>2]=33;q=p+1|0;c[525056]=q;Lm(1484976+(q*68|0)+4|0,61789)|0;q=c[525056]|0;c[1484976+(q*68|0)>>2]=34;p=q+1|0;c[525056]=p;Lm(1484976+(p*68|0)+4|0,61766)|0;p=c[525056]|0;c[1484976+(p*68|0)>>2]=6;c[525056]=p+1;Fa=d;return}function Sl(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=Fa;Fa=Fa+2064|0;d=b+2048|0;e=b+1024|0;f=b;g=1467456;h=c[367133]|0;do if((h|0)<0)Yu(2100920,0,692)|0;else{if((c[367132]|0)<=(h|0)){Yu(2100920,0,692)|0;break}if(!((c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)|0)){Fa=b;return}if((c[(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+684>>2]|0)!=1){Fa=b;return}if((c[367132]|0)>(h|0)){i=(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)|0;j=(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+388|0}else{Yu(2100920,0,692)|0;i=2100920;j=2101308}k=Wl(j,i+260|0)|0;if(k|0){l=c[367133]|0;if((l|0)>=0?(c[367132]|0)>(l|0):0)m=(c[(c[366864]|0)+12>>2]|0)+(l*692|0)|0;else{Yu(2100920,0,692)|0;m=2100920}Xu(k|0,m|0,692)|0;l=k+648|0;c[l>>2]=cn(128,128,8)|0;n=1467456;o=c[367133]|0;if((o|0)>=0?(c[367132]|0)>(o|0):0){if(c[(c[(c[n>>2]|0)+12>>2]|0)+(o*692|0)+648>>2]|0){if((c[367132]|0)>(o|0))p=c[(c[(c[n>>2]|0)+12>>2]|0)+(o*692|0)+648>>2]|0;else{Yu(2100920,0,692)|0;p=0}Oo(p,c[l>>2]|0,0,0,0,0,128,128)}}else Yu(2100920,0,692)|0;o=k+388|0;if(a[o>>0]|0?(gr(61582,e),c[d>>2]=e,c[d+4>>2]=o,vs(f,61594,d)|0,(Kq(f)|0)==0):0)io(f,c[l>>2]|0)|0;Xl(k)}k=1468532;l=c[k>>2]|0;o=1468528;n=c[o>>2]|0;q=(n|0)<1?0:n+-1|0;r=(l|0)<(q|0)?l:q;c[k>>2]=(r|0)>0?r:0;if(1!=1&(n|0)>0){n=1467460;r=0;do{k=c[n>>2]|0;q=k+(r*692|0)+688|0;c[q>>2]=0;c[q>>2]=(Jl(1467456,k+(r*692|0)+388|0,k+(r*692|0)+260|0)|0)!=-1&1;r=r+1|0}while((r|0)<(c[o>>2]|0))}Fl();Fa=b;return}while(0);Yu(2100920,0,692)|0;Fa=b;return}function Tl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Fa;Fa=Fa+3120|0;g=f+3096|0;h=f+3088|0;i=f+3080|0;j=f+3072|0;k=f+2048|0;l=f+1024|0;m=f;if(!e){c[i>>2]=b;vs(l,61850,i)|0;gr(l,k);c[h>>2]=b;vs(l,61870,h)|0;gr(l,1664796)}else{c[j>>2]=b;vs(l,61828,j)|0;gr(l,k);a[1664796]=0}l=c[415613]|0;c[g>>2]=e;c[g+4>>2]=d;c[g+8>>2]=61954;c[g+12>>2]=101;c[g+16>>2]=l;vs(m,61885,g)|0;if(c[415618]|0){Fa=f;return}Lm(1662748,m)|0;Lm(1663772,k)|0;c[415618]=1;c[415619]=_q()|0;c[415620]=0;pr(1662748,1663772,2,3)|0;Fa=f;return}function Ul(a){a=a|0;var b=0;if(!(c[415618]|0))return;if(Kq(1663772)|0)if(eu(1663772,61381)|0){a=ho(1663772)|0;if(!a)b=3;else{dn(a)|0;b=2}}else b=2;else b=3;c[415618]=b;return}function Vl(a){a=a|0;if(!(c[415618]|0))return;c[415618]=3;return}function Wl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=Jl(1467456,b,d)|0;if((e|0)!=-1){dn(c[(c[366865]|0)+(e*692|0)+648>>2]|0)|0;f=(c[367132]|0)+-1|0;g=c[366865]|0;if((e|0)<(f|0)){h=e;e=g;while(1){i=h;h=h+1|0;Xu(e+(i*692|0)|0,e+(h*692|0)|0,692)|0;i=(c[367132]|0)+-1|0;j=c[366865]|0;if((h|0)>=(i|0)){k=j;l=i;break}else e=j}}else{k=g;l=f}Yu(k+(l*692|0)|0,0,692)|0;c[367132]=(c[367132]|0)+-1;m=0;return m|0}Jp(c[366864]|0,((c[367132]|0)*692|0)+692|0)|0;l=c[(c[366864]|0)+12>>2]|0;c[366865]=l;k=c[367132]|0;f=l;g=l;a:do if((k|0)>0){l=0;while(1){if((c[f+(l*692|0)+684>>2]|0)==1){n=l;break a}e=l+1|0;if((e|0)<(k|0))l=e;else{n=e;break}}}else n=0;while(0);if((k|0)>(n|0)){l=k+-1|0;Xu(f+(k*692|0)|0,f+(l*692|0)|0,692)|0;if((l|0)>(n|0)){f=l;do{l=c[366865]|0;e=f;f=f+-1|0;Xu(l+(e*692|0)|0,l+(f*692|0)|0,692)|0}while((f|0)>(n|0))}o=c[367132]|0;p=c[(c[366864]|0)+12>>2]|0}else{o=k;p=g}c[367132]=o+1;o=p+(n*692|0)|0;Yu(o|0,0,692)|0;c[o+684>>2]=1;Lm(o+388|0,b)|0;if(!d){m=o;return m|0}Lm(o+260|0,d)|0;if(!(a[d>>0]|0)){m=o;return m|0}b=o+4|0;if(a[b>>0]|0){m=o;return m|0}eo(d,0,b,0);d=ft(b)|0;if(d>>>0<=3){m=o;return m|0}b=d+-3+(o+4)|0;if((a[b>>0]|0)!=46){m=o;return m|0}a[b>>0]=0;m=o;return m|0}function Xl(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=Fa;Fa=Fa+1024|0;f=e;Yu(f|0,0,1024)|0;g=c[b+648>>2]|0;if(!g){Fa=e;return}h=b+652|0;if(a[h>>0]|0){Fa=e;return}i=b+653|0;if(a[i>>0]|0){Fa=e;return}j=c[g+12>>2]|0;g=16384;while(1){k=f+(d[j>>0]<<2)|0;c[k>>2]=(c[k>>2]|0)+1;g=g+-1|0;if(!g)break;else j=j+1|0}a[h>>0]=0;a[i>>0]=1;a[b+654>>0]=2;a[b+655>>0]=3;a[b+656>>0]=4;a[b+657>>0]=5;a[b+658>>0]=6;a[b+659>>0]=7;a[b+660>>0]=8;a[b+661>>0]=9;a[b+662>>0]=10;a[b+663>>0]=11;a[b+664>>0]=12;a[b+665>>0]=13;a[b+666>>0]=14;a[b+667>>0]=15;c[f>>2]=16384;i=f+4|0;c[i>>2]=16384;h=f+24|0;c[h>>2]=16384;j=f+28|0;c[j>>2]=16384;g=f+8|0;k=f+12|0;l=f+16|0;m=f+20|0;n=f+32|0;o=f+36|0;p=f+40|0;q=f+44|0;r=f+48|0;s=f+52|0;t=f+56|0;u=f+60|0;v=0;do{w=v+128|0;if(c[f+(w<<2)>>2]|0){x=(c[i>>2]|0)<(c[f>>2]|0)&1;y=(c[g>>2]|0)<(c[f+(x<<2)>>2]|0)?2:x;x=(c[k>>2]|0)<(c[f+(y<<2)>>2]|0)?3:y;y=(c[l>>2]|0)<(c[f+(x<<2)>>2]|0)?4:x;x=(c[m>>2]|0)<(c[f+(y<<2)>>2]|0)?5:y;y=(c[h>>2]|0)<(c[f+(x<<2)>>2]|0)?6:x;x=(c[j>>2]|0)<(c[f+(y<<2)>>2]|0)?7:y;y=(c[n>>2]|0)<(c[f+(x<<2)>>2]|0)?8:x;x=(c[o>>2]|0)<(c[f+(y<<2)>>2]|0)?9:y;y=(c[p>>2]|0)<(c[f+(x<<2)>>2]|0)?10:x;x=(c[q>>2]|0)<(c[f+(y<<2)>>2]|0)?11:y;y=(c[r>>2]|0)<(c[f+(x<<2)>>2]|0)?12:x;x=(c[s>>2]|0)<(c[f+(y<<2)>>2]|0)?13:y;y=(c[t>>2]|0)<(c[f+(x<<2)>>2]|0)?14:x;x=(c[f+(v<<2)>>2]|0)==0?v:(c[u>>2]|0)<(c[f+(y<<2)>>2]|0)?15:y;c[f+(x<<2)>>2]=16384;a[b+668+v>>0]=x;a[b+652+x>>0]=w}v=v+1|0}while((v|0)!=16);Fa=e;return}function Yl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Fa;Fa=Fa+1856|0;f=e+1032|0;g=e+1024|0;h=e+1040|0;i=e;c[b+1080>>2]=0;if(ft(2961100)|0){j=b+1072|0;Jp(c[b>>2]|0,((c[j>>2]|0)*692|0)+692|0)|0;k=c[(c[b>>2]|0)+12>>2]|0;c[b+4>>2]=k;l=c[j>>2]|0;c[j>>2]=l+1;j=k+(l*692|0)|0;Yu(j+4|0,0,688)|0;c[j>>2]=185;a[j+388>>0]=0;Lm(j+4|0,64122)|0;c[j+648>>2]=0;c[j+684>>2]=2}c[g>>2]=2960076;c[g+4>>2]=d;vs(i,71619,g)|0;if(!(Hq(i,61978,h,-1)|0)){g=h+256|0;d=h+512|0;j=b+1072|0;l=b+4|0;do do if((a[g>>0]|0)!=46){if((eu(g,61980)|0)==0?(c[d>>2]&16384|0)==0:0)break;Jp(c[b>>2]|0,((c[j>>2]|0)*692|0)+692|0)|0;k=c[(c[b>>2]|0)+12>>2]|0;c[l>>2]=k;m=c[j>>2]|0;c[j>>2]=m+1;n=k+(m*692|0)|0;Yu(n|0,0,692)|0;c[f>>2]=2961100;c[f+4>>2]=g;vs(i,71619,f)|0;m=n+260|0;nu(m,i,128)|0;c[n+648>>2]=0;k=n+684|0;c[k>>2]=1;a[n+388>>0]=0;if(!(c[d>>2]&16384))o=n+4|0;else{c[n>>2]=181;p=n+4|0;Lm(p,g)|0;c[k>>2]=2;o=p}if(((a[o>>0]|0)==0?(eo(m,0,o,0),m=ft(o)|0,m>>>0>3):0)?(p=m+-3+(n+4)|0,(a[p>>0]|0)==46):0)a[p>>0]=0}while(0);while(!(Iq(h)|0));q=j;r=l}else{q=b+1072|0;r=b+4|0}gt(c[r>>2]|0,c[q>>2]|0,692,2);if((b|0)==1467456){Fa=e;return}if((c[q>>2]|0)<=0){Fa=e;return}b=0;do{l=c[r>>2]|0;j=l+(b*692|0)+688|0;c[j>>2]=0;c[j>>2]=(Jl(1467456,l+(b*692|0)+388|0,l+(b*692|0)+260|0)|0)!=-1&1;b=b+1|0}while((b|0)<(c[q>>2]|0));Fa=e;return}function Zl(b){b=b|0;var d=0,e=0,f=0;d=Fa;Fa=Fa+16|0;e=d;if(b|0?(ft(b)|0)>>>0>=2:0){if((ft(b)|0)>>>0<2)a[1486544]=0;else{f=c[415614]|0;c[e>>2]=3042456;c[e+4>>2]=f;c[e+8>>2]=b;vs(1486544,61537,e)|0}Ll(b,0)|0;if(c[415618]|0){Fa=d;return}Lm(1662748,1486544)|0;Lm(1663772,1485520)|0;c[415618]=1;c[415619]=_q()|0;c[415620]=0;pr(1662748,1663772,2,3)|0;Fa=d;return}c[415618]=0;cb(61962,1500);c[742430]=0;Fa=d;return}function _l(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Xs(a+4|0,b+4|0)|0;e=(c[a+684>>2]|0)==2;f=c[b+684>>2]|0;if(e){if((f|0)!=2){g=-1;return g|0}}else if(!(e|(f|0)!=2)){g=1;return g|0}return ((d|0)==0?(a>>>0<b>>>0?1:-1):d)|0}function $l(){return}function am(a,b,d){a=a|0;b=b|0;d=d|0;if(c[415618]|0)return;Lm(1662748,a)|0;Lm(1663772,b)|0;c[415618]=1;c[415619]=_q()|0;c[415620]=d;pr(1662748,1663772,2,3)|0;return}function bm(a){a=a|0;c[415618]=0;if(a|0)cb(a,1500);c[742430]=0;return}function cm(){return 101}function dm(){var b=0,d=0,e=0;if(!((a[2966616]|0)!=0&(c[742428]|0)!=0|(c[415553]|0)!=0)){b=0;return b|0}d=Uo(1663772)|0;if(!d){b=0;return b|0}Ll(To(d,61984,0)|0,0)|0;e=(ft(To(d,61984,0)|0)|0)>>>0<2;So(d);if(e|(c[760315]|0)==0){b=0;return b|0}if(pg()|0){b=0;return b|0}if(!(Xs(1485520,2963156)|0)){b=0;return b|0}c[416460]=1;b=1;return b|0}function em(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Fa;Fa=Fa+16|0;e=d;if(!((a|0)!=0&(b|0)!=0)){Fa=d;return}Yu(a|0,0,692)|0;Lm(a+4|0,To(b,61988,0)|0)|0;Lm(a+132|0,To(b,61994,0)|0)|0;Lm(a+388|0,To(b,61984,0)|0)|0;Lm(a+516|0,To(b,62001,0)|0)|0;f=a+644|0;c[f>>2]=0;g=To(b,62005,0)|0;c[e>>2]=f;Vt(g,63440,e)|0;c[a+684>>2]=1;Il(a);Fa=d;return}function fm(){return c[367138]|0}function gm(b){b=b|0;var d=0,e=0,f=0;d=1468556+(c[367155]|0)|0;e=a[d>>0]|0;if(!(e<<24>>24)){a[d+1>>0]=0;f=(b|0)>0?57:97;a[d>>0]=f;return}else{f=a[62012+((37-b+(e<<24>>24==57?36:e<<24>>24==56?35:e<<24>>24==55?34:e<<24>>24==54?33:e<<24>>24==53?32:e<<24>>24==52?31:e<<24>>24==51?30:e<<24>>24==50?29:e<<24>>24==49?28:e<<24>>24==48?27:e<<24>>24==122?26:e<<24>>24==121?25:e<<24>>24==120?24:e<<24>>24==119?23:e<<24>>24==118?22:e<<24>>24==117?21:e<<24>>24==116?20:e<<24>>24==115?19:e<<24>>24==114?18:e<<24>>24==113?17:e<<24>>24==112?16:e<<24>>24==111?15:e<<24>>24==110?14:e<<24>>24==109?13:e<<24>>24==108?12:e<<24>>24==107?11:e<<24>>24==106?10:e<<24>>24==105?9:e<<24>>24==104?8:e<<24>>24==103?7:e<<24>>24==102?6:e<<24>>24==101?5:e<<24>>24==100?4:e<<24>>24==99?3:e<<24>>24==98?2:e<<24>>24==97?1:(e<<24>>24!=32)<<31>>31)|0)%37|0)>>0]|0;a[d>>0]=f;return}}function hm(){_q()|0;return}function im(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=Fa;Fa=Fa+16|0;e=d+8|0;f=d;g=c[367138]|0;if(!g){a:do if((b|0)==27){if((c[415618]|0)>0){c[415618]=0;cb(62060,1500);c[742430]=0;h=62;break}if(c[415550]|0){i=(c[525403]|0)==0&1;c[525403]=i;j=i;break}i=c[525055]|0;switch(i|0){case 0:{c[760315]=0;Eg();h=62;break a;break}case 1:{c[525055]=0;h=62;break a;break}default:{if((i|1|0)==5){c[525055]=1;k=1}else k=i;Rl(k);h=62;break a}}}else h=62;while(0);if((h|0)==62)j=c[525403]|0;if(j|0){Fa=d;return}j=1==1;b:do if((b|0)!=102|j){switch(b|0){case 8:case 127:break;default:{h=68;break b}}if(j)h=71}else if(!(Fk(9)|0)){Sl();_q()|0;h=68}else h=68;while(0);if(((h|0)==68?(An(76)|0)==3:0)?(Fk(76)|0)==0&1==1:0)h=71;if((h|0)==71){Sl();_q()|0}if(An(75)|0?(Fk(75)|0)==0:0){j=1468532;k=(c[j>>2]|0)+-6|0;i=c[367132]|0;l=(i|0)<1?0:i+-1|0;i=(k|0)<(l|0)?k:l;c[j>>2]=(i|0)>0?i:0}if(An(78)|0?(Fk(78)|0)==0:0){i=1468532;j=(c[i>>2]|0)+6|0;l=c[367132]|0;k=(l|0)<1?0:l+-1|0;l=(j|0)<(k|0)?j:k;c[i>>2]=(l|0)>0?l:0}if(An(74)|0?(Fk(74)|0)==0:0)c[367133]=0;if(!(An(77)|0)){Fa=d;return}if(Fk(77)|0){Fa=d;return}l=c[367132]|0;i=l+-1|0;k=(l|0)<1?0:i;l=(i|0)<(k|0)?i:k;c[367133]=(l|0)>0?l:0;Fa=d;return}l=ft(1468556)|0;do if((g|0)==1){if((An(82)|0)!=3?(An(81)|0)!=3:0){if((c[367138]|0)!=1)break;if(!((b|0)==13|(pb(b)|0)!=0))break;c[367138]=2;break}c[367138]=3}while(0);g=(b|0)==-1;if(g){if((An(80)|0)==3){k=ft(1468556)|0;i=1468620;j=(c[i>>2]|0)+-1|0;m=(j|0)<(k|0)?j:k;c[i>>2]=(m|0)>0?m:0}if((An(79)|0)==3){m=ft(1468556)|0;i=1468620;k=c[i>>2]|0;if((k|0)==(m|0)&(k|0)<21){a[1468556+m>>0]=32;j=(c[i>>2]|0)+1|0;c[i>>2]=j;a[1468556+j>>0]=0;n=m+1|0;o=c[i>>2]|0}else{n=m;o=k}k=o+1|0;o=(k|0)<(n|0)?k:n;c[i>>2]=(o|0)>0?o:0}}else if((b|0)==27)c[367138]=0;c:do if((c[367138]|0)==2){if((l|0)<22&(pb(b)|0)!=0){o=1468620;i=c[o>>2]|0;if((i|0)<22){n=22;do{k=n;n=n+-1|0;a[1468556+k>>0]=a[1468556+n>>0]|0;k=c[o>>2]|0}while((n|0)>(k|0));p=k}else p=i;a[1468578]=0;a[1468556+p>>0]=b;c[o>>2]=(c[o>>2]|0)+1;c[367138]=2;break}switch(b|0){case 8:case 127:{h=26;break}default:if((An(76)|0)==3)h=26}if((h|0)==26?(c[367155]|0)>0:0){n=(An(76)|0)==3;k=1468620;m=c[k>>2]|0;if(n)q=m;else{n=m+-1|0;c[k>>2]=n;q=n}if((q|0)>=22)break;n=q;while(1){k=n;n=n+1|0;a[1468556+k>>0]=a[1468556+n>>0]|0;if((k|0)>=21)break c}}if((b|0)==13){c[f>>2]=1468556;vs(1467468,61805,f)|0;Tl(c[366866]|0,1467468,0);Lm(1468496,1468556)|0;c[367138]=0;Hk();break}if(g){if((An(80)|0)==3){n=ft(1468556)|0;o=1468620;i=(c[o>>2]|0)+-1|0;k=(i|0)<(n|0)?i:n;c[o>>2]=(k|0)>0?k:0}if((An(79)|0)==3){k=ft(1468556)|0;o=1468620;n=c[o>>2]|0;if((n|0)==(k|0)&(n|0)<21){a[1468556+k>>0]=32;i=(c[o>>2]|0)+1|0;c[o>>2]=i;a[1468556+i>>0]=0;r=k+1|0;s=c[o>>2]|0}else{r=k;s=n}n=s+1|0;k=(n|0)<(r|0)?n:r;c[o>>2]=(k|0)>0?k:0}}}while(0);if((c[367138]|0)!=3){Fa=d;return}if(Gk(2,0)|0)gm(-1);if(Gk(3,0)|0)gm(1);if(!((Gk(4,0)|0)==0?!(Gk(5,0)|0):0)){c[e>>2]=1468556;vs(1467468,61805,e)|0;Tl(c[366866]|0,1467468,0);Lm(1468496,1468556)|0;c[367138]=0;Hk()}if(!(Gk(6,0)|0)){Fa=d;return}c[367138]=0;c[742705]=1;cb(62050,1e3);Fa=d;return}function jm(){var a=0,b=0,d=0,e=0,f=0,g=0;c[416455]=0;a=c[366840]|0;if((a|0)>0){b=0;d=a;while(1){a=c[(c[366573]|0)+(b*692|0)+648>>2]|0;if(!a)e=d;else{dn(a)|0;e=c[366840]|0}b=b+1|0;if((b|0)>=(e|0))break;else d=e}}c[366840]=0;Yl(1466288,2961100);e=1468532;d=c[e>>2]|0;b=1468528;a=c[b>>2]|0;f=(a|0)<1?0:a+-1|0;g=(d|0)<(f|0)?d:f;c[e>>2]=(g|0)>0?g:0;if(!(1!=1&(a|0)>0)){_q()|0;c[525403]=0;return}a=1467460;g=0;do{e=c[a>>2]|0;f=e+(g*692|0)+688|0;c[f>>2]=0;c[f>>2]=(Jl(1467456,e+(g*692|0)+388|0,e+(g*692|0)+260|0)|0)!=-1&1;g=g+1|0}while((g|0)<(c[b>>2]|0));_q()|0;c[525403]=0;return}function km(){return}function lm(a){a=a|0;em(2100228,a);return}function mm(){var b=0,d=0,e=0,f=0;b=Fa;Fa=Fa+1024|0;d=b;a[1487568]=0;eo(2963156,0,d,0);ot(1487568,d)|0;if((a[2966616]|0)!=0&(c[742428]|0)!=0|(c[415553]|0)!=0)Lm(1487568,2100232)|0;Lm(1487568,Wa()|0)|0;d=a[1487568]|0;if(!(d<<24>>24)){Lm(1487568,62079)|0;e=a[1487568]|0;if(!(e<<24>>24)){Fa=b;return 1487568}else f=e}else f=d;d=1487568;e=f;do{a:do if(!((e+-48&255)<10|((e&-33)+-65&255)<26)){switch(e<<24>>24){case 32:case 45:case 95:{break a;break}default:{}}a[d>>0]=32}while(0);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);Fa=b;return 1487568}function nm(){return}function om(){return}function pm(a,b){a=a|0;b=b|0;ma(21,a|0,b|0)|0;return}function qm(a){a=a|0;var b=0;b=la(22,a|0)|0;a=(b|0)<255?b:255;return ((a|0)>0?a:0)|0}function rm(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Fa;Fa=Fa+528|0;b=a+512|0;d=a;e=c[(c[c[704868]>>2]|0)+12>>2]|0;c[e+20>>2]=0;f=Un(3042456,e)|0;ug(62584,14);a:do if(62231){e=0;g=2448;while(1){h=c[(c[f>>2]|0)+(e<<2)>>2]|0;c[b>>2]=2960076;c[b+4>>2]=62617;vs(d,71619,b)|0;kr(d)|0;pt(d,c[g>>2]|0)|0;i=Yn(d,62624)|0;if(!i)break;Qn(c[h+12>>2]|0,1,c[h+16>>2]|0,i)|0;Zn(i);wg(c[g>>2]|0);e=e+1|0;g=2448+(e<<2)|0;if(!(c[g>>2]|0))break a}ug(62626,8);Fa=a;return}while(0);tn(f);Fa=a;return}function sm(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a=Fa;Fa=Fa+1040|0;b=a+1024|0;d=a;gr(62650,d);e=c[(c[c[704868]>>2]|0)+24>>2]|0;c[e+20>>2]=0;f=Un(3042456,e)|0;a:do if(62344){e=1;g=62344;while(1){h=c[(c[f>>2]|0)+(e<<2)>>2]|0;ot(d,Ml(g)|0)|0;i=Yn(d,71945)|0;if(!i)break;j=h+12|0;k=h+16|0;Qn(c[j>>2]|0,1,c[k>>2]|0,i)|0;Zn(i);wg(c[2592+(e<<2)>>2]|0);c[b>>2]=2960076;c[b+4>>2]=62665;vs(d,71619,b)|0;kr(d)|0;pt(d,c[2560+(e<<2)>>2]|0)|0;i=Yn(d,71945)|0;Qn(c[j>>2]|0,1,c[k>>2]|0,i)|0;Zn(i);e=e+1|0;g=c[2512+(e<<2)>>2]|0;if(!g)break a}ug(62626,8);Fa=a;return}while(0);tn(f);Fa=a;return}function tm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+4|0;e=Ip((B(c[a>>2]<<1,c[d>>2]|0)|0)+1024|0)|0;Qn(c[a+12>>2]|0,1,B(c[d>>2]|0,c[a>>2]|0)|0,e)|0;d=c[18328]|0;if((c[d+8>>2]|0)==(a|0)){Pn(1,e);f=c[c[728247]>>2]|0;Qn(c[f+12>>2]|0,1,B(c[f+4>>2]|0,c[f>>2]|0)|0,e)|0;Pn(c[760007]|0,e);Pn(c[760008]|0,e);Pn(c[760005]|0,e);Pn(c[760014]|0,e);g=c[18328]|0}else g=d;if((c[g+4>>2]|0)!=(a|0)){Pn(b,e);return e|0}Pn(0,e);Qn((c[18328]|0)+43548|0,1,256,e)|0;a=c[c[728248]>>2]|0;Qn(c[a+12>>2]|0,1,B(c[a+4>>2]|0,c[a>>2]|0)|0,e)|0;Pn(c[759990]|0,e);Pn(c[760009]|0,e);Pn(c[760010]|0,e);Pn(c[759991]|0,e);Pn(c[759992]|0,e);Pn(c[760004]|0,e);Pn(c[759989]|0,e);Pn(c[760015]|0,e);Pn(b,e);return e|0}function um(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a[c>>0]=0;d=Dp(262144)|0;a:do if(a[b>>0]|0){e=b;f=1;g=1;while(1){a[d>>0]=0;if(a[e>>0]|0){if(!f)h=dh(e)|0;else h=eh(e)|0;i=fh()|0;j=h-e|0;Xu(d|0,e|0,j|0)|0;a[d+j>>0]=0;if((i|1|0)!=-999&(a[h>>0]|0)!=0){i=j;j=h;while(1){k=dh(j)|0;l=fh()|0;m=k-j|0;Xu(d+i|0,j|0,m|0)|0;i=m+i|0;a[d+i>>0]=0;if(!((l|1|0)!=-999&(a[k>>0]|0)!=0)){n=k;o=0;break}else j=k}}else{n=h;o=0}}else{n=e;o=f}j=d;b:while(1){switch(a[j>>0]|0){case 32:case 9:break;default:break b}j=j+1|0}if(!(ts(j,62672,9)|0))break;pt(c,d)|0;i=(a[n>>0]|0)!=0;if(g>>>0<65536&i){e=n;f=o;g=g+(i&1)|0}else break a}ug(62682,6);Hp(d);p=1;return p|0}while(0);Hp(d);p=0;return p|0}function vm(){return 0}function wm(a){a=a|0;return 0}function xm(a){a=a|0;return 0}function ym(a){a=a|0;return 0}function zm(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[525410]|0;i=c[525411]|0;if(!((h|0)!=0&(i|0)!=0))return;j=(g|0)/4|0;g=(j|0)<(h|0)?j:h;j=g<<2;if((g|0)>0){k=0;do{l=f+(k<<1)|0;b[l>>1]=((d[i+(k>>>2)>>0]|0)<<8)+32768+(e[l>>1]|0);k=k+1|0}while((k|0)<(j|0))}j=h-g|0;c[525410]=j;if((j|0)<=0)return;a[i>>0]=a[i+g>>0]|0;if((c[525410]|0)<=1)return;i=1;do{j=c[525411]|0;a[j+i>>0]=a[j+(i+g)>>0]|0;i=i+1|0}while((i|0)<(c[525410]|0));return}function Am(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if((f|0)<1){g=0;return g|0}if(!(c[525412]|0)){c[525412]=1;c[525413]=Dp(262144)|0;Ep(1488592,0,16384)}h=1488592+(b<<2)|0;i=c[h>>2]|0;if(!i){j=Dp(48)|0;c[h>>2]=j;c[j>>2]=b;c[j+4>>2]=(b|0)/256|0;c[j+8>>2]=b&255;c[j+12>>2]=10;c[j+16>>2]=8e5;c[j+20>>2]=1050624;c[j+24>>2]=55;c[j+32>>2]=0;c[j+36>>2]=0;k=j}else k=i;do if(!(b&65280)){i=c[525414]|0;j=c[525415]|0;if((((f+7+j|0)/8|0)+i|0)>262138){cb(62699,1e3);c[525415]=0;g=0;return g|0}h=(b|0)==255;if(h|(c[8784]|0)!=(b|0)){if((j|0)>0){l=((j+7|0)/8|0)+i|0;c[525414]=l;m=c[525413]|0;n=c[525416]|0;a[m+n>>0]=j;a[m+(n+1)>>0]=j>>>8;o=m;p=l}else{o=c[525413]|0;p=i}c[8784]=b;c[525415]=0;a[o+p>>0]=b;a[o+(p+1)>>0]=b>>>8;c[525416]=p+2;l=p+4|0;c[525414]=l;q=l;r=0}else{q=i;r=j}if(h){h=c[525413]|0;a[h+q>>0]=f>>>3;a[h+(q+1)>>0]=f>>>11;c[525415]=r+16;s=f;break}h=0;j=0;i=r;l=q;while(1){m=h&7;if(!m){n=vk(2819376,c[743521]|0,(h>>>3)+e|0)|0;t=n;u=c[525415]|0;v=c[525414]|0}else{t=j;u=i;v=l}n=(c[525413]|0)+(((u|0)/8|0)+v)|0;a[n>>0]=(t>>>m&1)<<(u&7)|(d[n>>0]|0);i=u+1|0;c[525415]=i;h=h+1|0;if((h|0)==(f|0)){w=f;x=20;break}else{j=t;l=v}}}else{w=0;x=20}while(0);a:do if((x|0)==20){if((b|1|0)==257){if(!(c[525417]|0))c[525417]=Dp(32768)|0;v=(f+7|0)/8|0;t=(f|0)>0;if(t){u=0;do{q=(vk(2819376,c[743521]|0,u+e|0)|0)&255;y=c[525417]|0;a[y+u>>0]=q;u=u+1|0}while((u|0)<(v|0));if(t?(uk(2819376,c[743521]|0,e,d[y>>0]|0),(f|0)>8):0){u=1;do{uk(2819376,c[743521]|0,u+e|0,d[(c[525417]|0)+u>>0]|0);u=u+1|0}while((u|0)<(v|0));z=f}else z=f}else z=f}else z=w;switch(b|0){case 2048:{v=(f|0)/8|0;b:do if((f|0)>7){u=0;t=c[525405]|0;while(1){if((t|0)>=(c[525406]|0))break;uk(2819376,c[743521]|0,u+e|0,d[(c[525404]|0)+t>>0]|0);t=(c[525405]|0)+1|0;c[525405]=t;q=u+1|0;if((q|0)>=(v|0))break b;else u=q}Vg(u<<6);g=u<<3;return g|0}while(0);Vg(f<<3);g=f;return g|0}case 2050:{v=(f|0)/8|0;c:do if((f|0)>7){t=0;q=c[525408]|0;while(1){if((q|0)>=(c[525409]|0))break;uk(2819376,c[743521]|0,t+e|0,d[(c[525407]|0)+q>>0]|0);q=(c[525408]|0)+1|0;c[525408]=q;r=t+1|0;if((r|0)>=(v|0))break c;else t=r}Vg(t<<6);g=t<<3;return g|0}while(0);Vg(f<<3);g=f;return g|0}case 2056:{if(!(c[525411]|0))c[525411]=Dp(2048)|0;v=(f|0)/8|0;if(!((f|0)>7&(c[525410]|0)<2048)){s=f;break a}q=0;do{u=(vk(2819376,c[743521]|0,q+e|0)|0)&255;a[(c[525411]|0)+(c[525410]|0)>>0]=u;u=c[525410]|0;c[525410]=u+1;q=q+1|0}while((q|0)<(v|0)&(u|0)<2047);s=f;break}default:{s=z;break a}}}while(0);c[k+44>>2]=1;g=s;return g|0}function Bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Fa;Fa=Fa+1056|0;f=e+1040|0;g=e+1032|0;h=e+1024|0;i=e;j=e+1044|0;if(!(c[525412]|0)){c[525412]=1;c[525413]=Dp(262144)|0;Ep(1488592,0,16384)}k=1488592+(b<<2)|0;l=c[k>>2]|0;if(!l){m=Dp(48)|0;c[k>>2]=m;c[m>>2]=b;c[m+4>>2]=(b|0)/256|0;c[m+8>>2]=b&255;c[m+12>>2]=10;c[m+16>>2]=8e5;c[m+20>>2]=1050624;c[m+24>>2]=55;c[m+32>>2]=0;c[m+36>>2]=0;n=m}else n=l;if(c[n+44>>2]|0){Fa=e;return}l=a[d>>0]|0;if(l<<24>>24>47?(a[d+1>>0]|0)<58:0){c[h>>2]=j;Vt(d,63440,h)|0;c[n+16>>2]=c[j>>2];Fa=e;return}if(l<<24>>24==32){h=d;while(1){m=h+1|0;b=a[m>>0]|0;if(b<<24>>24==32)h=m;else{o=m;p=b;break}}}else{o=d;p=l}l=n+16|0;d=n+12|0;h=n+20|0;b=n+24|0;m=n+32|0;k=n+36|0;if(!(p<<24>>24)){Fa=e;return}p=o;while(1){a[i>>0]=0;c[g>>2]=i;o=Vt(p,62722,g)|0;if(!(rt(i,58)|0)){a[i>>0]=0;q=0}else{c[j>>2]=0;n=(rt(i,58)|0)+1|0;c[f>>2]=j;Vt(n,63440,f)|0;a[(rt(i,58)|0)>>0]=0;q=o}o=(a[p>>0]|0)==0?p:p+1|0;while(1){r=a[o>>0]|0;if(r<<24>>24==0|(r+-97&255)>25)break;else o=o+1|0}if(r<<24>>24!=0&(r+-97&255)>25){n=o;while(1){s=n+1|0;t=a[s>>0]|0;if(t<<24>>24!=0&(t+-97&255)>25)n=s;else{u=s;break}}}else u=o;if(!(Xs(i,62729)|0))c[l>>2]=c[j>>2];if(!(Xs(i,62734)|0))c[d>>2]=c[j>>2];if(!(Xs(i,62738)|0))c[h>>2]=c[j>>2];if(!(Xs(i,62743)|0))c[b>>2]=c[j>>2];if(!(Xs(i,62754)|0))c[m>>2]=c[j>>2];if(!(Xs(i,62761)|0))c[k>>2]=c[j>>2];if(!q){v=36;break}if(!(a[u>>0]|0)){v=36;break}else p=u}if((v|0)==36){Fa=e;return}}function Cm(){var a=0,b=0,d=0;c[525410]=0;if(!(c[525412]|0))return;a=0;do{b=c[1488592+(a<<2)>>2]|0;if(b|0){d=b;b=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0))}a=a+1|0}while((a|0)!=4096);c[525415]=0;Ep(c[525413]|0,0,262144);if(!(c[525412]|0))return;c[525415]=0;Ep(c[525413]|0,0,262144);c[8784]=-1;c[525416]=0;c[525414]=0;a=c[525417]|0;if(!a)return;Ep(a,0,32768);return}function Dm(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!(c[525412]|0))return;b=c[525415]|0;if((b|0)>0){e=(c[525414]|0)+((b+7|0)/8|0)|0;c[525414]=e;f=c[525413]|0;g=c[525416]|0;a[f+g>>0]=b;a[f+(g+1)>>0]=b>>>8;h=e}else h=c[525414]|0;if((h|0)>0){e=0;b=h;while(1){h=c[525413]|0;g=a[h+(e+1)>>0]|0;f=(g&255)<<8|(d[h+e>>0]|0);i=(d[h+(e+3)>>0]|0)<<8|(d[h+(e+2)>>0]|0);j=e+4|0;do if(!(g<<24>>24)){if((f|0)==255){k=e+6|0;l=b;break}m=(i+7|0)>>>3;if(m){pm(f,d[h+j>>0]|0);if((m|0)!=1){n=j;o=1;do{n=n+1|0;pm(f,d[(c[525413]|0)+n>>0]|0);o=o+1|0}while((o|0)!=(m|0))}k=j+m|0;l=c[525414]|0}else{k=j;l=b}}else{k=j;l=b}while(0);if((k|0)<(l|0)){e=k;b=l}else break}if(!(c[525412]|0))return}c[525415]=0;Ep(c[525413]|0,0,262144);c[8784]=-1;c[525416]=0;c[525414]=0;l=c[525417]|0;if(!l)return;Ep(l,0,32768);return}function Em(a){a=a|0;var b=0,d=0,e=0;Hp(c[525404]|0);b=a+16|0;d=c[b>>2]|0;c[525406]=d;e=Dp(d)|0;c[525404]=e;Xu(e|0,c[a+12>>2]|0,c[b>>2]|0)|0;c[525405]=0;return}function Fm(b){b=b|0;var d=0,e=0,f=0;Hp(c[525407]|0);d=b+4|0;e=(B(c[d>>2]|0,c[b>>2]|0)|0)+4|0;c[525409]=e;f=Dp(e)|0;c[525407]=f;a[f>>0]=c[b>>2];a[(c[525407]|0)+1>>0]=(c[b>>2]|0)/256|0;a[(c[525407]|0)+2>>0]=c[d>>2];a[(c[525407]|0)+3>>0]=(c[d>>2]|0)/256|0;Xu((c[525407]|0)+4|0,c[b+12>>2]|0,B(c[d>>2]|0,c[b>>2]|0)|0)|0;c[525408]=0;return}function Gm(){return (c[525406]|0)-(c[525405]|0)|0}function Hm(){return (c[525409]|0)-(c[525408]|0)|0}function Im(){c[525405]=0;c[525406]=0;c[525408]=0;c[525409]=0;return}function Jm(){var b=0,d=0,e=0,f=0,g=0,h=0;b=c[704844]|0;d=b+4|0;if((d|0)==1){e=0;do{f=e>>>5;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+2>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+10>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+18>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+26>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+34>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+42>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+50>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+58>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+66>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+74>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+82>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+90>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+98>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+106>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+114>>0]=g;g=(Bo(4)|0)+f&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+122>>0]=g;e=e+1|0}while((e|0)!=128)}switch(b|0){case 0:{e=b;do{g=0;do{a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=((g+e|0)>>>3&7)+6;g=g+4|0}while(g>>>0<128);e=e+2|0}while(e>>>0<128);h=31;break}case 3:{e=0;do{g=2;do{f=(Bo(4)|0)+10&255;a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=f;g=g+4|0}while(g>>>0<128);e=e+3|0}while(e>>>0<128);switch(b|0){case 5:{h=14;break}case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=31}break}case 5:{h=14;break}case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=31}if((h|0)==14){e=0;do{g=1;do{f=c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0;a[f+g>>0]=a[f+(g+1)>>0]|0;g=g+2|0}while(g>>>0<127);e=e+1|0}while((e|0)!=128);switch(b|0){case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=31}}if((h|0)==19){e=0;do{if(e&3|0){g=0;do{a[(c[(c[(c[704852]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=0;g=g+1|0}while((g|0)!=128)}e=e+1|0}while((e|0)!=128);switch(b|0){case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=31}}do if((h|0)==25)Zm(c[704852]|0);else if((h|0)==26){Zm(c[704852]|0);e=c[704869]|0;gq(e+12|0,e);wg(3042456);wg(3042456);Oo(c[(c[c[704870]>>2]|0)+8>>2]|0,c[704852]|0,0,0,1,1,40,10);c[742549]=6}else if((h|0)==27){wg(62766);Oo(c[(c[c[704870]>>2]|0)+8>>2]|0,c[704852]|0,0,0,1,1,40,10)}else if((h|0)==28){c[742549]=13;wg(62780);c[742549]=6;wg(3042456);if(!(c[415552]|0)){wg(62866);wg(3042456);break}else{ug(62813,14);wg(3042456);wg(62845);break}}else if((h|0)==31?(d|0)==70&(c[415550]|0)!=0:0){c[742422]=0;c[742549]=6;jm();c[760315]=2}while(0);h=(c[415549]|0)!=0;e=c[415548]|0;if(h&((d|0)==90&(e|0)!=0)){c[742427]=1;return}if(!(h|((d|0)!=60|(e|0)==0))){c[742422]=0;return}switch(b|0){case 76:{eb();return}case 896:{wg(63294);return}default:return}}function Km(a){a=a|0;if((a|0)!=2101684?(ot(2101684,a)|0,(a|0)==2624):0)return;ot(2624,a)|0;return}function Lm(a,b){a=a|0;b=b|0;var c=0;if((a|0)==(b|0))c=a;else{ot(a,b)|0;c=a}return c|0}function Mm(a){a=a|0;var b=0;if(a)if((a|0)==2101940)b=2101940;else{ot(2101940,a)|0;b=2101940}else b=0;c[525549]=b;return}function Nm(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=Fa;Fa=Fa+96|0;b=a+88|0;d=a+80|0;e=a+72|0;f=a+64|0;g=a+56|0;h=a+48|0;i=a+40|0;j=a+32|0;k=a+24|0;l=a+16|0;m=a+8|0;n=a;if(c[526408]|0){Fa=a;return 0}c[525418]=0;Ep(2101684,0,1700);ot(2101684,2624)|0;if(2624!=2101940)ot(2101940,2624)|0;c[525549]=2101940;$n();o=c[8785]|0;p=c[526409]|0;if((o|0)>0&(p|0)!=0)Om(o,p);c[n>>2]=62896;xu(62886,n)|0;n=c[8793]|0;Rt(n)|0;c[m>>2]=62922;vs(1504976,62908,m)|0;c[l>>2]=1504976;xu(62886,l)|0;Rt(n)|0;l=c[8785]|0;m=c[526409]|0;if((l|0)>0&(m|0)!=0)Om(l,m);if(!0){c[k>>2]=62933;xu(62886,k)|0;Rt(n)|0;Nq()|0;c[j>>2]=62951;xu(62886,j)|0;Rt(n)|0;_q()|0;c[i>>2]=62969;xu(62886,i)|0;Rt(n)|0;Dn();c[h>>2]=62984;xu(62886,h)|0;Rt(n)|0;Bn();c[g>>2]=63e3;xu(62886,g)|0;Rt(n)|0;Jn();c[f>>2]=63016;xu(62886,f)|0;Rt(n)|0;Aq()|0;c[e>>2]=63033;xu(62886,e)|0;Rt(n)|0;wn();c[d>>2]=63050;xu(62886,d)|0;Rt(n)|0}Ao(0);c[525886]=(c[525886]|0)+1;c[b>>2]=63070;xu(62886,b)|0;Rt(n)|0;c[526408]=1;Fa=a;return 0}function Om(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;e=Fa;Fa=Fa+32|0;f=e+8|0;g=e;h=e+24|0;if((b|0)<=1){Fa=e;return}i=0;j=1;a:while(1){k=d+(j<<2)|0;l=c[k>>2]|0;b:do switch(a[l>>0]|0){case 62:case 124:case 38:{m=43;break a;break}case 45:{n=l+1|0;o=(ts(n,63075,5)|0)==0;p=(ts(n,63081,6)|0)==0;q=(ts(n,63088,8)|0)==0;r=(ts(n,63097,8)|0)==0;s=(ts(n,63106,8)|0)==0;t=(ts(n,63115,8)|0)==0;u=(ts(n,63124,9)|0)==0;v=(ts(n,63134,17)|0)==0;w=(ts(n,63152,19)|0)==0;x=(ts(n,63172,12)|0)==0;y=(ts(n,63185,12)|0)==0;z=(ts(n,63198,5)|0)==0;A=(ts(n,63204,5)|0)==0;B=(ts(n,63210,15)|0)==0;C=(ts(n,63226,13)|0)==0|(ts(n,63240,16)|0)==0;D=(ts(n,63257,4)|0)==0;E=(ts(n,63262,7)|0)==0;F=(ts(n,63270,13)|0)==0;G=(ts(n,63284,9)|0)==0;H=(ts(n,63294,7)|0)==0;if(!(ts(n,63302,8)|0)){c[525889]=1;I=0}else I=H?20:G?19:F?18:E?17:D?16:v?15:C?14:B?12:A?11:z?10:y?11:x?10:w?9:v?8:u?7:t?6:s?5:r?4:q?3:p?2:o?1:i;o=(ts(n,63311,11)|0)==0;if(!(ts(n,63323,11)|0)){c[525890]=1;J=0}else J=o?29:I;if((a[n>>0]|0)==120){c[525889]=1;K=0}else K=J;o=(ts(n,63335,19)|0)==0;p=(ts(n,63355,17)|0)==0;q=(ts(n,63373,16)|0)==0;r=(ts(n,63390,11)|0)==0;s=(ts(n,63402,13)|0)==0;t=(ts(n,63416,7)|0)==0;u=(ts(n,63424,15)|0)==0;L=u?28:t?27:s?26:r?25:q?24:p?23:o?22:K;break}default:{c[h>>2]=0;c[g>>2]=h;Vt(l,63440,g)|0;do switch(i|0){case 1:{c[525850]=c[h>>2];L=0;break b;break}case 2:{c[525851]=c[h>>2];L=0;break b;break}case 3:{c[525868]=c[h>>2];L=0;break b;break}case 4:{c[525852]=c[h>>2];L=0;break b;break}case 5:{c[525860]=c[h>>2];L=0;break b;break}case 6:{c[525861]=c[h>>2];L=0;break b;break}case 7:{c[525859]=c[h>>2];L=0;break b;break}case 8:{c[525875]=c[h>>2];L=0;break b;break}case 9:{c[525855]=c[h>>2];L=0;break b;break}case 10:{c[525853]=c[h>>2];L=0;break b;break}case 11:{c[525854]=c[h>>2];L=0;break b;break}case 12:{c[525865]=c[h>>2];L=0;break b;break}case 14:{c[525876]=c[h>>2];L=0;break b;break}case 15:{c[525875]=c[h>>2];L=0;break b;break}case 16:{o=c[k>>2]|0;if((o|0)==2103568){L=0;break b}ot(2103568,o)|0;L=0;break b;break}case 17:{o=c[k>>2]|0;if((o|0)==2104592){L=0;break b}ot(2104592,o)|0;L=0;break b;break}case 18:{c[525879]=c[h>>2];L=0;break b;break}case 19:{c[525882]=0;c[525883]=0;c[525884]=4096;c[525885]=4096;o=c[k>>2]|0;c[f>>2]=2103528;c[f+4>>2]=2103532;c[f+8>>2]=2103536;c[f+12>>2]=2103540;Vt(o,63443,f)|0;L=0;break b;break}case 20:{o=c[h>>2]|0;p=(o|0)<240?o:240;c[525887]=(p|0)>1?p:1;L=0;break b;break}case 21:{c[525889]=1;L=0;break b;break}case 22:{c[525856]=c[h>>2];L=0;break b;break}case 23:{c[525858]=c[h>>2];L=0;break b;break}case 24:{c[526404]=c[h>>2];L=0;break b;break}case 25:{c[526405]=c[h>>2];L=0;break b;break}case 26:{p=c[h>>2]|0;o=(p|0)<8?p:8;c[525877]=(o|0)>0?o:0;L=0;break b;break}case 27:{c[525862]=c[h>>2];L=0;break b;break}case 28:{c[526407]=c[h>>2];L=0;break b;break}case 29:{c[525891]=c[h>>2];L=0;break b;break}default:{L=0;break b}}while(0)}}while(0);j=j+1|0;if((j|0)>=(b|0)){m=43;break}else i=L}if((m|0)==43){Fa=e;return}}function Pm(a){a=a|0;var b=0,d=0;b=Fa;Fa=Fa+16|0;d=b;c[d>>2]=a;xu(62886,d)|0;Rt(c[8793]|0)|0;Fa=b;return}function Qm(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=Fa;Fa=Fa+96|0;b=a+80|0;d=a+72|0;e=a+64|0;f=a+56|0;g=a+48|0;h=a+40|0;i=a+32|0;j=a+24|0;k=a+16|0;l=a+8|0;m=a;if(!(c[526408]|0)){Fa=a;return 0}c[526408]=0;c[m>>2]=63455;xu(62886,m)|0;m=c[8793]|0;Rt(m)|0;c[l>>2]=63467;xu(62886,l)|0;Rt(m)|0;tq(0,0);c[k>>2]=63480;xu(62886,k)|0;Rt(m)|0;Cb();c[j>>2]=63496;xu(62886,j)|0;Rt(m)|0;c[i>>2]=63514;xu(62886,i)|0;Rt(m)|0;aq()|0;c[h>>2]=63531;xu(62886,h)|0;Rt(m)|0;Bq()|0;c[g>>2]=63548;xu(62886,g)|0;Rt(m)|0;c[f>>2]=63568;xu(62886,f)|0;Rt(m)|0;if(!0){Kn();En()}c[e>>2]=c[525418];vs(1504976,63586,e)|0;c[d>>2]=1504976;xu(62886,d)|0;Rt(m)|0;c[b>>2]=63070;xu(62886,b)|0;Rt(m)|0;m=c[525550]|0;if(m|0)Pt(m)|0;m=c[525551]|0;if(m|0)Pt(m)|0;c[525550]=0;c[525551]=0;c[526408]=0;Fa=a;return 0}function Rm(a){a=a|0;return}function Sm(){var a=0;a=dr()|0;if(!(c[526410]|0)){c[526410]=1;Fn();c[526410]=0}fr(2101676,2101680,0);oq();return a|0}function Tm(){var a=0;Dq();dr()|0;if(!(c[526410]|0)){c[526410]=1;Fn();c[526410]=0}fr(2101676,2101680,0);oq();c[526411]=0;Bb();if(!(c[526411]|0)){ob();Fq();Eq()}c[525570]=0;a=c[525586]|0;if(!a)return;if((a|0)<=(_q()|0))return;su(63610)|0;c[525586]=0;ka(23)|0;return}function Um(){c[526411]=1;return}function Vm(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if((d|0)!=1509072)ot(1509072,d)|0;c[8785]=a;c[526409]=b;ib(a,b);ta(1,0,0);return 0}function Wm(){var a=0;a=Fp(768)|0;Yu(a|0,0,768)|0;c[525418]=(c[525418]|0)+1;return a|0}function Xm(a){a=a|0;if(!a)return;Hp(a);c[525418]=(c[525418]|0)+-1;return}function Ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=Fp((d<<2)+48|0)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;c[e+40>>2]=0;c[e+32>>2]=0;c[e+24>>2]=0;c[e+28>>2]=a;c[e+36>>2]=b;c[e+44>>2]=d;f=B(b,a)|0;g=e+12|0;c[g>>2]=Fp(B(f,d)|0)|0;h=e+16|0;c[h>>2]=e+48;if((d|0)<=0){i=c[525418]|0;j=i+1|0;c[525418]=j;return e|0}k=(b<<2)+52|0;if((b|0)<=0){l=0;do{m=Fp(k)|0;c[m>>2]=a;c[m+4>>2]=b;c[m+36>>2]=0;c[m+28>>2]=0;c[m+32>>2]=a;c[m+40>>2]=b;c[m+8>>2]=8;c[m+20>>2]=0;c[m+12>>2]=(c[g>>2]|0)+(B(l,f)|0);c[m+16>>2]=m+52;c[(c[h>>2]|0)+(l<<2)>>2]=m;l=l+1|0}while((l|0)!=(d|0));i=c[525418]|0;j=i+1|0;c[525418]=j;return e|0}l=(b|0)==1;m=0;do{n=Fp(k)|0;c[n>>2]=a;o=n+4|0;c[o>>2]=b;c[n+36>>2]=0;c[n+28>>2]=0;c[n+32>>2]=a;c[n+40>>2]=b;p=n+8|0;c[p>>2]=8;c[n+20>>2]=0;q=(c[g>>2]|0)+(B(m,f)|0)|0;r=n+12|0;c[r>>2]=q;s=n+52|0;t=n+16|0;c[t>>2]=s;c[s>>2]=q;if(!l){q=1;do{c[(c[t>>2]|0)+(q<<2)>>2]=(c[r>>2]|0)+(B(q,a)|0);q=q+1|0}while((q|0)!=(b|0))}if(2819272!=(n|0)?(Ep(c[c[t>>2]>>2]|0,0,a),(c[o>>2]|0)>1):0){q=1;do{Ep(c[(c[t>>2]|0)+(q<<2)>>2]|0,0,B(c[p>>2]>>3,c[n>>2]|0)|0);q=q+1|0}while((q|0)<(c[o>>2]|0))}c[(c[h>>2]|0)+(m<<2)>>2]=n;m=m+1|0}while((m|0)!=(d|0));i=c[525418]|0;j=i+1|0;c[525418]=j;return e|0}function Zm(a){a=a|0;var b=0,d=0,e=0,f=0;if(2819272==(a|0))return;b=a+4|0;if((c[b>>2]|0)<=0)return;d=a+16|0;e=a+8|0;f=0;do{Ep(c[(c[d>>2]|0)+(f<<2)>>2]|0,0,B(c[e>>2]>>3,c[a>>2]|0)|0);f=f+1|0}while((f|0)<(c[b>>2]|0));return}function _m(a){a=a|0;var b=0,d=0,e=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)Hp(b);b=a+8|0;if((c[b>>2]|0)>0){d=a+16|0;e=0;do{Hp(c[(c[d>>2]|0)+(e<<2)>>2]|0);e=e+1|0}while((e|0)<(c[b>>2]|0))}Hp(a);c[525418]=(c[525418]|0)+-1;return 0}function $m(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=(d|0)>(f|0);j=i?d:f;k=i?f:d;d=(e|0)>(g|0);f=d?e:g;i=d?g:e;e=b+8|0;g=c[e>>2]|0;if((g|0)==32){d=b+36|0;l=b+40|0;m=b+28|0;n=b+32|0;o=h&255;p=b+16|0;q=i;while(1){a:do if((2819272!=(b|0)?(c[d>>2]|0)<=(q|0):0)?(c[l>>2]|0)>(q|0):0){r=c[m>>2]|0;s=(k|0)<(r|0)?r:k;r=c[n>>2]|0;t=(j|0)<(r|0)?j:r+-1|0;switch(c[e>>2]|0){case 8:{if((s|0)>(t|0))break a;r=s;while(1){a[(c[(c[p>>2]|0)+(q<<2)>>2]|0)+r>>0]=o;if((r|0)<(t|0))r=r+1|0;else break}break}case 32:{r=1-s+t|0;if((r|0)<=0)break a;u=(c[(c[p>>2]|0)+(q<<2)>>2]|0)+(s<<2)|0;v=r;while(1){c[u>>2]=h;if((v|0)>1){u=u+4|0;v=v+-1|0}else break}break}default:break a}}while(0);if((q|0)<(f|0))q=q+1|0;else break}w=c[e>>2]|0}else w=g;if((w|0)!=8)return;w=c[b+28>>2]|0;g=(k|0)<(w|0)?w:k;k=c[b+32>>2]|0;w=c[b+36>>2]|0;e=c[b+40>>2]|0;q=(f|0)<(e|0)?f+1|0:e;e=((j|0)<(k|0)?j+1|0:k)-g|0;if((e|0)<=0)return;k=(i|0)<(w|0)?w:i;if((k|0)>=(q|0))return;i=b+16|0;b=k;do{Ep((c[(c[i>>2]|0)+(b<<2)>>2]|0)+g|0,h,e);b=b+1|0}while((b|0)<(q|0));return}function an(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a+28>>2]=(b|0)>0?b:0;b=c[a>>2]|0;c[a+32>>2]=(b|0)>(e|0)?e:b;c[a+36>>2]=(d|0)>0?d:0;d=c[a+4>>2]|0;c[a+40>>2]=(d|0)>(f|0)?f:d;return}function bn(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!((a|0)!=0&(b|0)!=0))return;j=c[b+8>>2]|0;if((j|0)!=(c[a+8>>2]|0))return;k=c[a>>2]|0;if((k|0)<=(d|0))return;l=c[a+4>>2]|0;if((l|0)<=(e|0))return;m=c[b+32>>2]|0;if((m|0)<=(f|0))return;n=c[b+40>>2]|0;if((n|0)<=(g|0))return;o=(d|0)<0;p=o?d:0;q=p+h|0;h=f-p|0;p=o?0:d;d=(e|0)<0;o=d?e:0;f=o+i|0;i=g-o|0;o=d?0:e;e=c[b+28>>2]|0;d=(h|0)<(e|0);g=d?h-e|0:0;r=g+((q+p|0)>(k|0)?k-p|0:q)|0;q=d?e:h;h=p-g|0;g=c[b+36>>2]|0;p=(i|0)<(g|0);e=p?i-g|0:0;d=e+((f+o|0)>(l|0)?l-o|0:f)|0;f=p?g:i;i=o-e|0;e=(r+q|0)>(m|0)?m-q|0:r;r=(d+f|0)>(n|0)?n-f|0:d;if((e|0)<1|(r|0)<1)return;if(2819272==(b|0)){Zq(a,b,h,i,q,f,e,r,1);return}switch(j|0){case 8:{Po(a,b,h,i,q,f,e,r);return}case 32:{Qo(a,b,h,i,q,f,e,r);return}default:return}}function cn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((a|0)<1|(b|0)<1){e=0;return e|0}f=Fp((b<<2)+52|0)|0;c[f>>2]=a;g=f+4|0;c[g>>2]=b;c[f+36>>2]=0;c[f+28>>2]=0;c[f+32>>2]=a;c[f+40>>2]=b;h=f+8|0;c[h>>2]=d;c[f+20>>2]=0;i=B(d>>3,a)|0;a=Fp(B(i,b)|0)|0;d=f+12|0;c[d>>2]=a;j=f+52|0;k=f+16|0;c[k>>2]=j;c[j>>2]=a;if((b|0)!=1){a=1;do{c[(c[k>>2]|0)+(a<<2)>>2]=(c[d>>2]|0)+(B(i,a)|0);a=a+1|0}while((a|0)!=(b|0))}if(2819272!=(f|0)?(c[g>>2]|0)>0:0){b=0;do{Ep(c[(c[k>>2]|0)+(b<<2)>>2]|0,0,B(c[h>>2]>>3,c[f>>2]|0)|0);b=b+1|0}while((b|0)<(c[g>>2]|0))}c[525418]=(c[525418]|0)+1;e=f;return e|0}function dn(a){a=a|0;var b=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)Hp(b);Hp(a);c[525418]=(c[525418]|0)+-1;return 0}function en(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((c[b+28>>2]|0)>(d|0))return;if((c[b+36>>2]|0)>(e|0))return;if((c[b+32>>2]|0)<=(d|0))return;if((c[b+40>>2]|0)<=(e|0))return;switch(c[b+8>>2]|0){case 8:{a[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+d>>0]=f;return}case 32:{c[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+(d<<2)>>2]=f;return}default:return}}function fn(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;j=c[d>>2]|0;do if((((j|0)<(c[a>>2]|0)?(k=c[e>>2]|0,l=a+4|0,(k|0)<(c[l>>2]|0)):0)?(m=b+32|0,(c[f>>2]|0)<(c[m>>2]|0)):0)?(n=b+40|0,(c[g>>2]|0)<(c[n>>2]|0)):0){if((j|0)<0){c[h>>2]=(c[h>>2]|0)+j;c[f>>2]=(c[f>>2]|0)-(c[d>>2]|0);c[d>>2]=0;o=c[e>>2]|0;p=0}else{o=k;p=j}if((o|0)<0){c[i>>2]=(c[i>>2]|0)+o;c[g>>2]=(c[g>>2]|0)-(c[e>>2]|0);c[e>>2]=0;q=c[d>>2]|0;r=0}else{q=p;r=o}k=c[a>>2]|0;if(((c[h>>2]|0)+q|0)>(k|0)){c[h>>2]=k-q;s=c[e>>2]|0}else s=r;k=c[l>>2]|0;if(((c[i>>2]|0)+s|0)>(k|0))c[i>>2]=k-s;k=c[f>>2]|0;l=b+28|0;t=c[l>>2]|0;if((k|0)<(t|0)){u=k-t|0;c[f>>2]=u;c[h>>2]=(c[h>>2]|0)+u;c[d>>2]=(c[d>>2]|0)-(c[f>>2]|0);u=c[l>>2]|0;c[f>>2]=u;v=u}else v=k;k=c[g>>2]|0;u=b+36|0;l=c[u>>2]|0;if((k|0)<(l|0)){t=k-l|0;c[g>>2]=t;c[i>>2]=(c[i>>2]|0)+t;c[e>>2]=(c[e>>2]|0)-(c[g>>2]|0);t=c[u>>2]|0;c[g>>2]=t;w=c[f>>2]|0;x=t}else{w=v;x=k}k=c[m>>2]|0;if(((c[h>>2]|0)+w|0)>(k|0)){c[h>>2]=k-w;y=c[g>>2]|0}else y=x;k=c[n>>2]|0;if(((c[i>>2]|0)+y|0)>(k|0)){z=k-y|0;break}else return}else z=0;while(0);c[i>>2]=z;return}function gn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=(b|0)==0;a:do if((!(i|2819272==(b|0))?(j=(g|0)<(e|0),k=j?e:g,l=j?g:e,(c[b+28>>2]|0)<=(d|0)):0)?(c[b+32>>2]|0)>(d|0):0){j=c[b+36>>2]|0;m=(l|0)<(j|0)?j:l;l=c[b+40>>2]|0;j=(k|0)<(l|0)?k:l+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(j|0))break a;l=h&255;k=b+16|0;n=m;while(1){a[(c[(c[k>>2]|0)+(n<<2)>>2]|0)+d>>0]=l;if((n|0)<(j|0))n=n+1|0;else break}break}case 32:{if((m|0)>(j|0))break a;n=c[b+16>>2]|0;l=m;while(1){c[(c[n+(l<<2)>>2]|0)+(d<<2)>>2]=h;if((l|0)<(j|0))l=l+1|0;else break}break}default:break a}}while(0);b:do if((!(i|2819272==(b|0))?(l=(g|0)<(e|0),j=l?e:g,n=l?g:e,(c[b+28>>2]|0)<=(f|0)):0)?(c[b+32>>2]|0)>(f|0):0){l=c[b+36>>2]|0;m=(n|0)<(l|0)?l:n;n=c[b+40>>2]|0;l=(j|0)<(n|0)?j:n+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(l|0))break b;n=h&255;j=b+16|0;k=m;while(1){a[(c[(c[j>>2]|0)+(k<<2)>>2]|0)+f>>0]=n;if((k|0)<(l|0))k=k+1|0;else break}break}case 32:{if((m|0)>(l|0))break b;k=c[b+16>>2]|0;n=m;while(1){c[(c[k+(n<<2)>>2]|0)+(f<<2)>>2]=h;if((n|0)<(l|0))n=n+1|0;else break}break}default:break b}}while(0);c:do if((!(i|2819272==(b|0))?(n=(f|0)<(d|0),l=n?d:f,k=n?f:d,(c[b+36>>2]|0)<=(e|0)):0)?(c[b+40>>2]|0)>(e|0):0){n=c[b+28>>2]|0;m=(k|0)<(n|0)?n:k;k=c[b+32>>2]|0;n=(l|0)<(k|0)?l:k+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(n|0))break c;k=h&255;l=b+16|0;j=m;while(1){a[(c[(c[l>>2]|0)+(e<<2)>>2]|0)+j>>0]=k;if((j|0)<(n|0))j=j+1|0;else break}break}case 32:{j=1-m+n|0;if((j|0)<=0)break c;k=(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+(m<<2)|0;l=j;while(1){c[k>>2]=h;if((l|0)>1){k=k+4|0;l=l+-1|0}else break}break}default:break c}}while(0);if(i|2819272==(b|0))return;i=(f|0)<(d|0);e=i?d:f;l=i?f:d;if((c[b+36>>2]|0)>(g|0))return;if((c[b+40>>2]|0)<=(g|0))return;d=c[b+28>>2]|0;f=(l|0)<(d|0)?d:l;l=c[b+32>>2]|0;d=(e|0)<(l|0)?e:l+-1|0;switch(c[b+8>>2]|0){case 8:{if((f|0)>(d|0))return;l=h&255;e=b+16|0;i=f;while(1){a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+i>>0]=l;if((i|0)<(d|0))i=i+1|0;else break}return}case 32:{i=1-f+d|0;if((i|0)<=0)return;d=(c[(c[b+16>>2]|0)+(g<<2)>>2]|0)+(f<<2)|0;f=i;while(1){c[d>>2]=h;if((f|0)>1){d=d+4|0;f=f+-1|0}else break}return}default:return}}function hn(a){a=a|0;c[a+36>>2]=0;c[a+28>>2]=0;c[a+32>>2]=c[a>>2];c[a+40>>2]=c[a+4>>2];return}function jn(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;if((b|0)==0|(d|0)==0|(g|0)==0|(h|0)==0)return;j=c[b>>2]|0;if((j|0)==(g|0)?(c[b+4>>2]|0)==(h|0):0)if(!(i&1)){Oo(b,d,0,0,e,f,g,h);return}else{bn(b,d,0,0,e,f,g,h);return}k=c[d+8>>2]|0;if((k|0)!=(c[b+8>>2]|0))return;l=(j<<16|0)/(g|0)|0;m=c[b+4>>2]|0;n=(m<<16|0)/(h|0)|0;o=c[d+36>>2]|0;p=(o|0)>(f|0);q=o-f|0;r=B(q,n)|0;s=h-(p?q:0)|0;q=p?o:f;f=(l|0)/2|0;o=(l|0)<0?f+j|0:((n|0)<0?m:0)+((n|0)/2|0)+(p?r:0)|0;r=c[d+28>>2]|0;p=(r|0)>(e|0);m=r-e|0;j=B(m,l)|0;h=(p?j:0)+f|0;f=g-(p?m:0)|0;m=p?r:e;e=(c[d+32>>2]|0)-m|0;r=(f|0)<(e|0)?f:e;e=(c[d+40>>2]|0)-q|0;f=(s|0)<(e|0)?s:e;switch(k|0){case 32:{k=f+q|0;if((f|0)<=0)return;e=c[b+16>>2]|0;s=c[d+16>>2]|0;p=(r|0)>0;if(!(i&1)){g=q;j=o;while(1){t=c[e+(j>>16<<2)>>2]|0;if(p){u=(c[s+(g<<2)>>2]|0)+(m<<2)|0;v=0;w=h;while(1){c[u>>2]=c[t+(w>>16<<2)>>2];v=v+1|0;if((v|0)>=(r|0))break;else{u=u+4|0;w=w+l|0}}}g=g+1|0;if((g|0)>=(k|0))break;else j=j+n|0}return}j=q;g=o;while(1){w=c[e+(g>>16<<2)>>2]|0;a:do if(p){u=(c[s+(j<<2)>>2]|0)+(m<<2)|0;v=0;t=h;while(1){x=c[w+(t>>16<<2)>>2]|0;y=c[u>>2]|0;z=x>>>24;switch((z&255)<<24>>24){case 0:{A=y&16777215;break}case -1:{A=x&16777215;break}default:{C=z^255;A=((((B(y>>>16&255,C)|0)+(B(x>>>16&255,z)|0)|0)>>>0)/255|0)<<16|((((B(y&255,C)|0)+(B(x&255,z)|0)|0)>>>0)/255|0)|((((B(y>>>8&255,C)|0)+(B(x>>>8&255,z)|0)|0)>>>0)/255|0)<<8}}c[u>>2]=A|y&-16777216;v=v+1|0;if((v|0)>=(r|0))break a;else{u=u+4|0;t=t+l|0}}}while(0);j=j+1|0;if((j|0)>=(k|0))break;else g=g+n|0}return}case 8:{g=f+q|0;if((f|0)<=0)return;f=b+16|0;b=d+16|0;d=(r|0)>0;if(!(i&1)){i=q;k=o;while(1){j=c[(c[f>>2]|0)+(k>>16<<2)>>2]|0;if(d){A=(c[(c[b>>2]|0)+(i<<2)>>2]|0)+m|0;s=h;p=0;while(1){a[A>>0]=a[j+(s>>16)>>0]|0;p=p+1|0;if((p|0)>=(r|0))break;else{A=A+1|0;s=s+l|0}}}i=i+1|0;if((i|0)>=(g|0))break;else k=k+n|0}return}if(!d)return;d=q;q=o;while(1){o=c[(c[f>>2]|0)+(q>>16<<2)>>2]|0;k=(c[(c[b>>2]|0)+(d<<2)>>2]|0)+m|0;i=h;s=0;while(1){A=a[o+(i>>16)>>0]|0;if(A<<24>>24)a[k>>0]=A;s=s+1|0;if((s|0)>=(r|0))break;else{k=k+1|0;i=i+l|0}}d=d+1|0;if((d|0)>=(g|0))break;else q=q+n|0}return}default:return}}function kn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;switch(c|0){case 0:{d=a&16777215;return d|0}case 255:{d=b&16777215;return d|0}default:{e=255-c|0;d=((B(b&255,c)|0)+(B(a&255,e)|0)|0)/255|0|((((B(b>>>8&255,c)|0)+(B(a>>>8&255,e)|0)|0)/255|0)<<8|(((B(b>>>16&255,c)|0)+(B(a>>>16&255,e)|0)|0)/255|0)<<16);return d|0}}return 0}function ln(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;if(!a){f=0;return f|0}if((c[a+28>>2]|0)>(b|0)){f=0;return f|0}if((c[a+36>>2]|0)>(e|0)){f=0;return f|0}if((c[a+32>>2]|0)<=(b|0)){f=0;return f|0}if((c[a+40>>2]|0)<=(e|0)){f=0;return f|0}switch(c[a+8>>2]|0){case 8:{f=d[(c[(c[a+16>>2]|0)+(e<<2)>>2]|0)+b>>0]|0;return f|0}case 32:{f=c[(c[(c[a+16>>2]|0)+(e<<2)>>2]|0)+(b<<2)>>2]|0;return f|0}default:{f=0;return f|0}}return 0}function mn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;a:do if((f|0)!=(d|0)){i=b+28|0;j=b+36|0;k=b+32|0;l=b+40|0;m=d;n=e;o=f;p=g;while(1){if((p|0)==(n|0)){q=14;break}r=c[i>>2]|0;s=(r|0)>(m|0)&1;t=c[j>>2]|0;u=(t|0)>(n|0)?s|2:s;s=c[k>>2]|0;v=(s|0)>(m|0)?u:u|4;u=c[l>>2]|0;w=(u|0)>(n|0)?v:v|8;v=(r|0)>(o|0)&1;x=(t|0)>(p|0)?v|2:v;v=(s|0)>(o|0)?x:x|4;x=(u|0)>(p|0)?v:v|8;if(!(w|x)){q=25;break}v=(w&1|0)!=0;if(!((x&1|0)==0|v^1)){q=51;break}y=(w&2|0)!=0;if(!((x&2|0)==0|y^1)){q=51;break}z=(w&4|0)!=0;if(!((x&4|0)==0|z^1)){q=51;break}A=(w&8|0)!=0;if(!((x&8|0)==0|A^1)){q=51;break}if(!v)if(z){z=s+-1|0;v=(m-z<<16|0)/(m-o|0)|0;x=65536-v|0;w=(B(x,m)|0)+(B(v,o)|0)>>16;C=(B(x,n)|0)+(B(v,p)|0)>>16;D=(w|0)<(s|0)?w:z;E=C}else{D=m;E=n}else{C=(r-m<<16|0)/(o-m|0)|0;z=65536-C|0;w=(B(z,m)|0)+(B(C,o)|0)>>16;s=(B(z,n)|0)+(B(C,p)|0)>>16;D=(w|0)<(r|0)?r:w;E=s}if(!y)if(A){if((E|0)==(p|0)){q=51;break}A=u+-1|0;y=(E-A<<16|0)/(E-p|0)|0;s=65536-y|0;w=(B(s,D)|0)+(B(y,o)|0)>>16;C=(B(s,E)|0)+(B(y,p)|0)>>16;F=w;G=(C|0)<(u|0)?C:A}else{F=D;G=E}else{if((E|0)==(p|0)){q=51;break}A=(t-E<<16|0)/(p-E|0)|0;C=65536-A|0;u=(B(C,D)|0)+(B(A,o)|0)>>16;w=(B(C,E)|0)+(B(A,p)|0)>>16;F=u;G=(w|0)<(t|0)?t:w}if((F|0)==(o|0)){H=o;I=p;J=G;break a}else{w=p;t=o;o=F;p=G;n=w;m=t}}if((q|0)==14){if((b|0)==0|2819272==(b|0))return;t=(o|0)<(m|0);w=t?m:o;u=t?o:m;if((c[j>>2]|0)>(p|0))return;if((c[l>>2]|0)<=(p|0))return;t=c[i>>2]|0;A=(u|0)<(t|0)?t:u;u=c[k>>2]|0;t=(w|0)<(u|0)?w:u+-1|0;switch(c[b+8>>2]|0){case 8:{if((A|0)>(t|0))return;u=h&255;w=b+16|0;C=A;while(1){a[(c[(c[w>>2]|0)+(p<<2)>>2]|0)+C>>0]=u;if((C|0)<(t|0))C=C+1|0;else break}return}case 32:{C=1-A+t|0;if((C|0)<=0)return;u=(c[(c[b+16>>2]|0)+(p<<2)>>2]|0)+(A<<2)|0;w=C;while(1){c[u>>2]=h;if((w|0)>1){u=u+4|0;w=w+-1|0}else break}return}default:return}}else if((q|0)==25){w=o-m|0;u=p-n|0;A=(w|0)<0?0-w|0:w;t=(u|0)<0?0-u|0:u;C=(A|0)>(t|0)?A:t;t=(C|0)==0?1:C;C=(w<<16|0)/(t|0)|0;w=(u<<16|0)/(t|0)|0;if((t|0)<=-1)return;u=b+8|0;A=h&255;y=b+16|0;s=n<<16|32768;z=m<<16|32768;v=t;t=r;while(1){x=z>>16;K=s>>16;b:do if((((t|0)<=(x|0)?(c[j>>2]|0)<=(K|0):0)?(c[k>>2]|0)>(x|0):0)?(c[l>>2]|0)>(K|0):0)switch(c[u>>2]|0){case 8:{a[(c[(c[y>>2]|0)+(K<<2)>>2]|0)+x>>0]=A;break b;break}case 32:{c[(c[(c[y>>2]|0)+(K<<2)>>2]|0)+(x<<2)>>2]=h;break b;break}default:break b}while(0);if((v|0)<=0)break;s=s+w|0;z=z+C|0;v=v+-1|0;t=c[i>>2]|0}return}else if((q|0)==51)return}else{H=f;I=e;J=g}while(0);if((b|0)==0|2819272==(b|0))return;g=(J|0)<(I|0);e=g?I:J;f=g?J:I;if((c[b+28>>2]|0)>(H|0))return;if((c[b+32>>2]|0)<=(H|0))return;I=c[b+36>>2]|0;J=(f|0)<(I|0)?I:f;f=c[b+40>>2]|0;I=(e|0)<(f|0)?e:f+-1|0;switch(c[b+8>>2]|0){case 8:{if((J|0)>(I|0))return;f=h&255;e=b+16|0;g=J;while(1){a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+H>>0]=f;if((g|0)<(I|0))g=g+1|0;else break}return}case 32:{if((J|0)>(I|0))return;g=c[b+16>>2]|0;b=J;while(1){c[(c[g+(b<<2)>>2]|0)+(H<<2)>>2]=h;if((b|0)<(I|0))b=b+1|0;else break}return}default:return}}function nn(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;if((b|0)==0|(d|0)==0|2819272==(d|0))return;m=c[b>>2]|0;if((((m|0)>(e|0)?(n=c[b+4>>2]|0,(n|0)>(f|0)):0)?(o=c[d+32>>2]|0,(o|0)>(g|0)):0)?(p=c[d+40>>2]|0,(p|0)>(h|0)):0){q=(e|0)<0;r=q?0:e;s=q?e:0;q=g-s|0;t=s+i|0;s=(f|0)<0;u=s?0:f;v=s?f:0;s=h-v|0;w=v+j|0;j=c[d+28>>2]|0;v=(q|0)<(j|0);x=v?q-j|0:0;y=v?j:q;q=x+((t+r|0)>(m|0)?m-r|0:t)|0;t=c[d+36>>2]|0;j=(s|0)<(t|0);v=j?s-t|0:0;z=j?t:s;s=v+((w+u|0)>(n|0)?n-u|0:w)|0;A=z;B=y;C=u-v|0;D=r-x|0;E=(s+z|0)>(p|0)?p-z|0:s;F=(q+y|0)>(o|0)?o-y|0:q}else{A=h;B=g;C=f;D=e;E=0;F=i}i=(l&1|0)!=0;if(i){l=m-D|0;e=l-F|0;if((((e|0)<(m|0)?(f=c[b+4>>2]|0,(C|0)<(f|0)):0)?(g=c[d+32>>2]|0,(B|0)<(g|0)):0)?(h=c[d+40>>2]|0,(A|0)<(h|0)):0){q=(e|0)<0;y=q?0:e;o=B-(q?e:0)|0;s=(C|0)<0;z=s?0:C;p=s?C:0;s=A-p|0;x=E+p|0;p=c[d+28>>2]|0;r=(o|0)<(p|0);v=r?o-p|0:0;u=r?p:o;o=v+((D|0)<0?m-y|0:q?l:F)|0;l=c[d+36>>2]|0;q=(s|0)<(l|0);m=q?s-l|0:0;p=q?l:s;s=m+((x+z|0)>(f|0)?f-z|0:x)|0;G=(o+u|0)>(g|0)?g-u|0:o;H=p;I=u;J=z-m|0;K=y-v|0;L=(s+p|0)>(h|0)?h-p|0:s}else{G=F;H=A;I=B;J=C;K=e;L=0}}else{G=F;H=A;I=B;J=C;K=D;L=E}if((G|0)<0)return;E=(L|0)>0;if((c[d+8>>2]|0)==8){if(!E)return;D=b+16|0;C=d+16|0;B=G+-1|0;A=(G|0)==0;F=k&255;if(i){e=0;do{if(!A){s=(c[(c[C>>2]|0)+(e+H<<2)>>2]|0)+I+B|0;p=(c[(c[D>>2]|0)+(e+J<<2)>>2]|0)+K|0;h=G;while(1){if(a[p>>0]|0)a[s>>0]=F;h=h+-1|0;if(!h)break;else{s=s+-1|0;p=p+1|0}}}e=e+1|0}while((e|0)!=(L|0));return}if(A)return;A=0;do{e=(c[(c[C>>2]|0)+(A+H<<2)>>2]|0)+I|0;B=(c[(c[D>>2]|0)+(A+J<<2)>>2]|0)+K|0;p=G;while(1){if(a[B>>0]|0)a[e>>0]=F;p=p+-1|0;if(!p)break;else{e=e+1|0;B=B+1|0}}A=A+1|0}while((A|0)!=(L|0));return}else{if(!E)return;E=b+16|0;b=d+16|0;d=(G<<2)+-4|0;A=(G|0)==0;if(i){i=0;do{if(!A){F=(c[(c[b>>2]|0)+(i+H<<2)>>2]|0)+(I<<2)+(d<<2)|0;D=(c[(c[E>>2]|0)+(i+J<<2)>>2]|0)+K|0;C=G;while(1){if(a[D>>0]|0)c[F>>2]=k;C=C+-1|0;if(!C)break;else{F=F+-4|0;D=D+1|0}}}i=i+1|0}while((i|0)!=(L|0));return}if(A)return;A=c[E>>2]|0;E=c[b>>2]|0;b=0;do{i=(c[E+(b+H<<2)>>2]|0)+(I<<2)|0;d=(c[A+(b+J<<2)>>2]|0)+K|0;D=G;while(1){if(a[d>>0]|0)c[i>>2]=k;D=D+-1|0;if(!D)break;else{i=i+4|0;d=d+1|0}}b=b+1|0}while((b|0)!=(L|0));return}}function on(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;g=c[b>>2]|0;if((g|0)!=(c[e>>2]|0))return;h=b+4|0;i=c[h>>2]|0;if((i|0)!=(c[e+4>>2]|0))return;j=b+8|0;k=c[j>>2]|0;l=e+8|0;m=c[l>>2]|0;if((k|0)==(m|0)){Oo(b,e,0,0,0,0,g,i);return}if((k|0)==8&(m|0)==32){if((i|0)<=0)return;m=b+16|0;n=e+16|0;o=0;p=i;q=g;while(1){if((q|0)>0){r=c[(c[m>>2]|0)+(o<<2)>>2]|0;s=c[(c[n>>2]|0)+(o<<2)>>2]|0;t=0;do{u=a[r+t>>0]|0;v=u&255;c[s+(t<<2)>>2]=(d[f+(v*3|0)>>0]|0)<<16|(u<<24>>24==0?0:-16777216)|(d[f+(v*3|0)+1>>0]|0)<<8|(d[f+(v*3|0)+2>>0]|0);t=t+1|0;w=c[b>>2]|0}while((t|0)<(w|0));x=w;y=c[h>>2]|0}else{x=q;y=p}o=o+1|0;if((o|0)>=(y|0))break;else{p=y;q=x}}z=x;A=c[j>>2]|0;C=y}else{z=g;A=k;C=i}if((A|0)!=32)return;if(!((c[l>>2]|0)==8&(C|0)>0))return;C=b+28|0;A=b+36|0;i=b+32|0;k=e+28|0;g=b+40|0;y=e+36|0;x=e+32|0;q=b+16|0;p=e+40|0;o=e+16|0;e=0;w=z;while(1){if((w|0)>0){z=0;while(1){a:do if((((c[C>>2]|0)<=(z|0)?(c[A>>2]|0)<=(e|0):0)?(c[i>>2]|0)>(z|0):0)?(c[g>>2]|0)>(e|0):0)switch(c[j>>2]|0){case 8:{D=d[(c[(c[q>>2]|0)+(e<<2)>>2]|0)+z>>0]|0;break a;break}case 32:{D=c[(c[(c[q>>2]|0)+(e<<2)>>2]|0)+(z<<2)>>2]|0;break a;break}default:{D=0;break a}}else D=0;while(0);n=D>>>16&255;m=D>>>8&255;t=D&255;s=-1;r=0;v=65536;while(1){u=n-(d[f+(r*3|0)>>0]|0)|0;E=B(u,u)|0;u=m-(d[f+(r*3|0)+1>>0]|0)|0;F=(B(u,u)|0)+E|0;E=t-(d[f+(r*3|0)+2>>0]|0)|0;u=F+(B(E,E)|0)|0;E=u>>>0<27;F=(s|0)==-1|(u|0)<(v|0);s=E|F?r:s;r=E?257:r+1|0;if((r|0)>=256)break;else v=E?v:F?u:v}b:do if((((c[k>>2]|0)<=(z|0)?(c[y>>2]|0)<=(e|0):0)?(c[x>>2]|0)>(z|0):0)?(c[p>>2]|0)>(e|0):0)switch(c[l>>2]|0){case 8:{a[(c[(c[o>>2]|0)+(e<<2)>>2]|0)+z>>0]=s;break b;break}case 32:{c[(c[(c[o>>2]|0)+(e<<2)>>2]|0)+(z<<2)>>2]=s;break b;break}default:break b}while(0);z=z+1|0;s=c[b>>2]|0;if((z|0)>=(s|0)){G=s;break}}}else G=w;e=e+1|0;if((e|0)>=(c[h>>2]|0))break;else w=G}return}function pn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+20|0;if((c[d>>2]|0)>=(b|0))return;e=b<<2;c[a>>2]=Gp(c[a>>2]|0,e)|0;f=a+4|0;c[f>>2]=Gp(c[f>>2]|0,e)|0;g=a+8|0;c[g>>2]=Gp(c[g>>2]|0,e)|0;h=a+12|0;i=Gp(c[h>>2]|0,e)|0;c[h>>2]=i;e=c[d>>2]|0;if((e|0)<(b|0)?(c[(c[f>>2]|0)+(e<<2)>>2]=0,c[(c[g>>2]|0)+(e<<2)>>2]=e,c[i+(e<<2)>>2]=e,c[(c[a>>2]|0)+(e<<2)>>2]=0,i=e+1|0,(i|0)!=(b|0)):0){e=i;do{i=c[h>>2]|0;c[(c[f>>2]|0)+(e<<2)>>2]=0;c[(c[g>>2]|0)+(e<<2)>>2]=e;c[i+(e<<2)>>2]=e;c[(c[a>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(b|0))}c[d>>2]=b;return}function qn(b){b=b|0;var d=0;d=Dp(64)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;pn(d,b);a[d+32>>0]=0;c[525418]=(c[525418]|0)+1;return d|0}function rn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Dp(64)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;pn(e,b);a[e+32>>0]=0;c[525418]=(c[525418]|0)+1;f=Fp(B(d,b)|0)|0;c[c[e>>2]>>2]=f;if((b|0)<=1){g=e+24|0;c[g>>2]=1;h=e+28|0;c[h>>2]=d;return e|0}f=1;do{i=c[e>>2]|0;c[i+(f<<2)>>2]=(c[i>>2]|0)+(B(f,d)|0);f=f+1|0}while((f|0)!=(b|0));g=e+24|0;c[g>>2]=1;h=e+28|0;c[h>>2]=d;return e|0}function sn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+4|0;a:do if((c[a+24>>2]|0)==0?(e=c[(c[d>>2]|0)+(b<<2)>>2]|0,(e|0)<=99):0)do switch(e|0){case 2:{Hp(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 3:{tn(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 4:{dn(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 5:{Xm(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 6:{ro(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 7:{uo(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 8:{Go(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 9:{dq(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 10:{_m(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 12:{Zn(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 11:{Wo(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 0:return;default:break a}while(0);while(0);e=(c[d>>2]|0)+(b<<2)|0;if(!(c[e>>2]|0))return;c[e>>2]=0;e=a+16|0;d=(c[e>>2]|0)+-1|0;c[e>>2]=d;f=c[a+8>>2]|0;g=f+(d<<2)|0;d=c[g>>2]|0;c[g>>2]=b;g=c[a+12>>2]|0;a=g+(b<<2)|0;c[f+(c[a>>2]<<2)>>2]=d;c[g+(d<<2)>>2]=c[a>>2];c[a>>2]=c[e>>2];return}function tn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;b=a+24|0;if(!(c[b>>2]|0)){d=a+16|0;e=c[d>>2]|0;if((e|0)>0){f=a+8|0;g=0;h=e;do{sn(a,c[(c[f>>2]|0)+(h+-1<<2)>>2]|0);g=g+1|0;h=c[d>>2]|0}while((g|0)<(e|0)&(h|0)!=0)}h=a+20|0;if((c[h>>2]|0)>0){e=c[a+4>>2]|0;g=c[a+8>>2]|0;f=c[a+12>>2]|0;i=0;do{c[e+(i<<2)>>2]=0;c[g+(i<<2)>>2]=i;c[f+(i<<2)>>2]=i;i=i+1|0}while((i|0)<(c[h>>2]|0))}if(c[b>>2]|0)Ep(c[c[a>>2]>>2]|0,0,B(c[d>>2]|0,c[a+28>>2]|0)|0);if(c[d>>2]|0)Pm(63661)}else Hp(c[c[a>>2]>>2]|0);Hp(c[a>>2]|0);Hp(c[a+4>>2]|0);Hp(c[a+8>>2]|0);Hp(c[a+12>>2]|0);Hp(a);c[525418]=(c[525418]|0)+-1;return}function un(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Fa;Fa=Fa+16|0;f=e+8|0;g=e;if(!b){c[g>>2]=63697;vs(1504976,64163,g)|0;Pm(1504976)}if(!d){c[f>>2]=63720;vs(1504976,64163,f)|0;Pm(1504976)}f=(c[a+24>>2]|0)==0;g=a+16|0;h=c[g>>2]|0;i=h+1|0;c[g>>2]=i;j=c[a+20>>2]|0;k=(j|0)<=(h|0);if(f)if(k){pn(a,j+8+((j|0)/2|0)|0);l=c[g>>2]|0}else l=i;else if(k){c[g>>2]=h;m=-1;n=a+4|0;o=c[a>>2]|0;p=o+(m<<2)|0;c[p>>2]=d;q=c[n>>2]|0;r=q+(m<<2)|0;c[r>>2]=b;Fa=e;return m|0}else l=i;i=c[(c[a+8>>2]|0)+(l+-1<<2)>>2]|0;l=a+4|0;c[(c[l>>2]|0)+(i<<2)>>2]=1;m=i;n=l;o=c[a>>2]|0;p=o+(m<<2)|0;c[p>>2]=d;q=c[n>>2]|0;r=q+(m<<2)|0;c[r>>2]=b;Fa=e;return m|0}function vn(){var a=0;if(!2819272)return;a=c[526412]|0;if(a|0)dn(a)|0;a=cn(33,33,32)|0;c[526412]=a;Zm(a);$m(c[526412]|0,15,8,17,24,-1);$m(c[526412]|0,8,15,24,17,-1);$m(c[526412]|0,16,9,16,23,-6250336);$m(c[526412]|0,9,16,23,16,-6250336);$m(c[526412]|0,11,11,21,21,0);$m(c[526412]|0,16,11,16,21,-1);$m(c[526412]|0,11,16,21,16,-1);$m(c[526412]|0,14,14,18,18,0);return}function wn(){vn();c[526413]=c[526412];return}function xn(){return (c[526414]|0)!=0|0}function yn(){var a=0,b=0,d=0,e=0;a=c[526414]|0;if(!a){do{Sm()|0;b=c[526414]|0}while(!(b|0));d=b}else d=a;a=c[378420]|0;b=d+-1|0;if((d|0)<=1){c[526414]=b;return a|0}d=0;do{e=d;d=d+1|0;c[1513680+(e<<2)>>2]=c[1513680+(d<<2)>>2]}while((d|0)!=(b|0));c[526414]=b;return a|0}function zn(){var b=0,c=0,d=0;b=0;while(1){if((b|0)!=57&(a[1513808+b>>0]|0)!=0){c=b;d=4;break}b=b+1|0;if(b>>>0>=512){c=0;d=4;break}}if((d|0)==4)return c|0;return 0}function An(b){b=b|0;var c=0,d=0;a:do if((b|0)<0)switch(b|0){case -6:{c=a[1514033]|0;if(c<<24>>24!=0&(a[1514545]|0)==0){d=c<<24>>24==3|(a[1515057]|0)==0?3:1;return d|0}c=a[1514037]|0;if(!(c<<24>>24!=0&(a[1514549]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1515061]|0)==0?3:1;return d|0}case -2:{c=a[1514310]|0;if(c<<24>>24!=0&(a[1514822]|0)==0){d=c<<24>>24==3|(a[1515334]|0)==0?3:1;return d|0}c=a[1514311]|0;if(!(c<<24>>24!=0&(a[1514823]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1515335]|0)==0?3:1;return d|0}case -3:{c=a[1514308]|0;if(c<<24>>24!=0&(a[1514820]|0)==0){d=c<<24>>24==3|(a[1515332]|0)==0?3:1;return d|0}c=a[1514309]|0;if(!(c<<24>>24!=0&(a[1514821]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1515333]|0)==0?3:1;return d|0}case -4:{c=a[1514034]|0;if(c<<24>>24!=0&(a[1514546]|0)==0){d=c<<24>>24==3|(a[1515058]|0)==0?3:1;return d|0}c=a[1514038]|0;if(!(c<<24>>24!=0&(a[1514550]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1515062]|0)==0?3:1;return d|0}case -5:{c=a[1514032]|0;if(c<<24>>24!=0&(a[1514544]|0)==0){d=c<<24>>24==3|(a[1515056]|0)==0?3:1;return d|0}c=a[1514036]|0;if(c<<24>>24!=0&(a[1514548]|0)==0){d=c<<24>>24==3|(a[1515060]|0)==0?3:1;return d|0}c=a[1514308]|0;if(c<<24>>24!=0&(a[1514820]|0)==0){d=c<<24>>24==3|(a[1515332]|0)==0?3:1;return d|0}c=a[1514309]|0;if(!(c<<24>>24!=0&(a[1514821]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1515333]|0)==0?3:1;return d|0}default:break a}while(0);c=a[1513808+b>>0]|0;if(!(c<<24>>24)){d=0;return d|0}if(!(a[1514320+b>>0]|0))return (c<<24>>24==3|(a[1514832+b>>0]|0)==0?3:1)|0;else{d=0;return d|0}return 0}function Bn(){Yu(1513808,0,512)|0;Yu(1514832,0,512)|0;Yu(1514320,0,512)|0;return}function Cn(){return}function Dn(){c[526415]=rn(1024,72)|0;return}function En(){tn(c[526415]|0);return}
+function Dc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=b+12|0;g=c[f>>2]|0;h=b+56|0;b=c[h>>2]|0;if(!b)return;i=g+48|0;j=g+56|0;k=g+50|0;l=g+49|0;m=b;while(1){b=m+8|0;n=c[b>>2]|0;if(n>>>0<e>>>0){o=16;break}c[h>>2]=c[m>>2];p=m+12|0;do if(((a[i>>0]^3)&(a[m+5>>0]^3))<<24>>24){q=m+16|0;c[(c[q>>2]|0)+12>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[q>>2];r=c[b>>2]|0;c[p>>2]=c[r>>2];s=c[r+4>>2]|0;c[q>>2]=s;c[b>>2]=p;c[m>>2]=c[j>>2];c[j>>2]=m;q=m+5|0;r=a[q>>0]|0;t=r&255;if(!(t&7)){if((a[k>>0]|0)!=2?(d[l>>0]|0)>=2:0){a[q>>0]=t&184|a[i>>0]&3;break}a[q>>0]=r&-69|4;if(s&64|0?(s=c[p>>2]|0,a[s+5>>0]&3):0)uc(g,s)}}else{if((n|0)!=(p|0)){s=m+16|0;c[(c[s>>2]|0)+12>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[s>>2]}s=c[f>>2]|0;Ma[c[s>>2]&1](c[s+4>>2]|0,m,20,0)|0;r=s+12|0;c[r>>2]=(c[r>>2]|0)+-20}while(0);m=c[h>>2]|0;if(!m){o=16;break}}if((o|0)==16)return}function Ec(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;h=Fa;Fa=Fa+16|0;i=h;j=f+4|0;a:do switch(c[j>>2]&63){case 0:{k=1;break}case 3:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 1:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 2:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 54:case 22:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 4:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 20:{l=c[f>>2]|0;m=c[g>>2]|0;n=c[l+12>>2]|0;if((l|0)!=(m|0))if((n|0)==(c[m+12>>2]|0))k=(ss(l+16|0,m+16|0,n)|0)==0;else k=0;else k=1;break}case 7:{n=c[f>>2]|0;m=c[g>>2]|0;if((n|0)!=(m|0))if(((e|0)!=0?(l=c[n+8>>2]|0,n=c[m+8>>2]|0,(l|0)!=0):0)?(m=l+6|0,o=a[m>>0]|0,(o&32)==0):0){p=c[(c[e+12>>2]|0)+176>>2]|0;q=c[p+8>>2]|0;r=(c[l+16>>2]|0)+(((1<<(d[l+7>>0]|0))+-1&q)*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(p|0):0){s=17;break}t=c[r+16>>2]|0;if(!t){u=2099900;break}else r=t}if((s|0)==17)u=r;t=u+4|0;v=c[t>>2]|0;if(!v){a[m>>0]=o|32;k=0;break a}if(u)if((l|0)!=(n|0))if((n|0)!=0?(w=n+6|0,x=a[w>>0]|0,(x&32)==0):0){y=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+-1&q)*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(p|0):0){s=28;break}z=c[y+16>>2]|0;if(!z){A=2099900;break}else y=z}if((s|0)==28)A=y;p=c[A+4>>2]|0;if(!p){a[w>>0]=x|32;k=0;break a}if((A|0)!=0&(v|0)==(p|0)?(Ec(0,u,A)|0)!=0:0){B=u;C=t;s=59}else k=0}else k=0;else{B=u;C=t;s=59}else k=0}else k=0;else k=1;break}case 5:{p=c[f>>2]|0;q=c[g>>2]|0;if((p|0)!=(q|0))if(((e|0)!=0?(n=c[p+8>>2]|0,p=c[q+8>>2]|0,(n|0)!=0):0)?(q=n+6|0,l=a[q>>0]|0,(l&32)==0):0){o=c[(c[e+12>>2]|0)+176>>2]|0;m=c[o+8>>2]|0;r=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+-1&m)*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(o|0):0){s=41;break}z=c[r+16>>2]|0;if(!z){D=2099900;break}else r=z}if((s|0)==41)D=r;t=D+4|0;v=c[t>>2]|0;if(!v){a[q>>0]=l|32;k=0;break a}if(D)if((n|0)!=(p|0))if((p|0)!=0?(x=p+6|0,w=a[x>>0]|0,(w&32)==0):0){y=(c[p+16>>2]|0)+(((1<<(d[p+7>>0]|0))+-1&m)*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(o|0):0){s=52;break}z=c[y+16>>2]|0;if(!z){E=2099900;break}else y=z}if((s|0)==52)E=y;o=c[E+4>>2]|0;if(!o){a[x>>0]=w|32;k=0;break a}if((E|0)!=0&(v|0)==(o|0)?(Ec(0,D,E)|0)!=0:0){B=D;C=t;s=59}else k=0}else k=0;else{B=D;C=t;s=59}else k=0}else k=0;else k=1;break}default:k=(c[f>>2]|0)==(c[g>>2]|0)}while(0);b:do if((s|0)==59){D=e+8|0;E=c[D>>2]|0;u=e+28|0;A=E-(c[u>>2]|0)|0;c[D>>2]=E+8;c[E>>2]=c[B>>2];c[E+4>>2]=c[C>>2];E=c[D>>2]|0;c[D>>2]=E+8;c[E>>2]=c[f>>2];c[E+4>>2]=c[j>>2];E=c[D>>2]|0;c[D>>2]=E+8;c[E>>2]=c[g>>2];c[E+4>>2]=c[g+4>>2];E=(c[D>>2]|0)+-24|0;o=a[(c[e+16>>2]|0)+18>>0]&1;m=e+38|0;p=(b[m>>1]|0)+1<<16>>16;b[m>>1]=p;if((p&65535)>199){if(p<<16>>16==200)lc(e,45525,i);if((p&65535)>224)jc(e,6)}p=o<<24>>24!=0;if(!p){o=e+36|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16}if(!(pc(e,E,1)|0))qc(e);if(!p){p=e+36|0;b[p>>1]=(b[p>>1]|0)+-1<<16>>16}b[m>>1]=(b[m>>1]|0)+-1<<16>>16;m=(c[u>>2]|0)+A|0;A=c[D>>2]|0;u=A+-8|0;c[D>>2]=u;c[m>>2]=c[u>>2];c[m+4>>2]=c[A+-4>>2];A=c[D>>2]|0;switch(c[A+4>>2]|0){case 0:{k=0;break b;break}case 1:{k=(c[A>>2]|0)!=0;break b;break}default:{k=1;break b}}}while(0);Fa=h;return k&1|0}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[b+4>>2]|0;if((e|0)==3){if((c[d+4>>2]|0)==3){f=(c[b>>2]|0)<(c[d>>2]|0)&1;return f|0}}else if((e&15|0)==4?(c[d+4>>2]&15|0)==4:0){e=c[b>>2]|0;g=c[d>>2]|0;h=e+16|0;i=g+16|0;j=zu(h,i)|0;a:do if(!j){k=c[g+12>>2]|0;l=i;m=c[e+12>>2]|0;n=h;while(1){o=ft(n)|0;if((o|0)==(k|0)){p=0;break a}q=o+1|0;if((o|0)==(m|0)){p=-1;break a}l=l+q|0;n=n+q|0;o=zu(n,l)|0;if(o|0){p=o;break}else{k=k-q|0;m=m-q|0}}}else p=j;while(0);f=p>>>31;return f|0}p=a+8|0;if(!(Lc(a,b,d,c[p>>2]|0,26)|0))Mc(a,b,d);d=c[p>>2]|0;p=c[d+4>>2]|0;switch(p|0){case 1:{f=(c[d>>2]|0)!=0&1;return f|0}case 0:{f=p;return f|0}default:{f=1;return f|0}}return 0}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c[b+4>>2]|0;if((e|0)==3){if((c[d+4>>2]|0)==3){f=(c[b>>2]|0)<=(c[d>>2]|0);g=f&1;return g|0}}else if((e&15|0)==4?(c[d+4>>2]&15|0)==4:0){e=c[b>>2]|0;h=c[d>>2]|0;i=e+16|0;j=h+16|0;k=zu(i,j)|0;a:do if(!k){l=c[h+12>>2]|0;m=j;n=c[e+12>>2]|0;o=i;while(1){p=ft(o)|0;q=(p|0)==(n|0);if((p|0)==(l|0))break;r=p+1|0;if(q){s=-1;break a}m=m+r|0;o=o+r|0;p=zu(o,m)|0;if(p|0){s=p;break a}else{l=l-r|0;n=n-r|0}}s=(q^1)&1}else s=k;while(0);f=(s|0)<1;g=f&1;return g|0}s=a+8|0;k=(Lc(a,b,d,c[s>>2]|0,27)|0)==0;q=c[s>>2]|0;if(!k)switch(c[q+4>>2]|0){case 1:{f=(c[q>>2]|0)!=0;g=f&1;return g|0}case 0:{f=0;g=f&1;return g|0}default:{f=1;g=f&1;return g|0}}if(!(Lc(a,d,b,q,26)|0))Mc(a,b,d);d=c[s>>2]|0;switch(c[d+4>>2]|0){case 1:{f=(c[d>>2]|0)==0;g=f&1;return g|0}case 0:{f=1;g=f&1;return g|0}default:{f=0;g=f&1;return g|0}}return 0}function Hc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;g=Fa;Fa=Fa+16|0;h=g;if(ou(b,45651)|0){i=0;Fa=g;return i|0}do if(!(ou(b,45654)|0)){if(!(ou(b,45657)|0)){j=~~(+Et(b,h)*65536.0)>>>0;c[f>>2]=j;k=c[h>>2]|0;break}c[h>>2]=b;j=b;while(1){l=a[j>>0]|0;m=j+1|0;if(!(a[64+((l&255)+1)>>0]&8))break;else j=m}switch(l<<24>>24){case 45:{n=1;o=m;break}case 43:{n=0;o=m;break}default:{n=0;o=j}}a:do if((a[o>>0]|0)==48){switch(a[o+1>>0]|0){case 66:case 98:break;default:{p=0;q=b;break a}}r=o+2|0;s=a[r>>0]|0;if((s&-2)<<24>>24==48){t=0;u=s;v=0;w=r;do{t=t<<1|u<<24>>24==49;v=v+1|0;w=w+1|0;u=a[w>>0]|0}while((u&-2)<<24>>24==48);x=t<<16;y=v;z=w;A=u}else{x=0;y=0;z=r;A=s}B=z;if(A<<24>>24==46){C=z+1|0;D=C;E=a[C>>0]|0;if((E&-2)<<24>>24==48){F=0;G=0;H=E;E=C;do{F=G>>>0<16?F<<1|H<<24>>24==49:F;G=G+1|0;E=E+1|0;H=a[E>>0]|0}while((H&-2)<<24>>24==48);I=F;J=G;K=E}else{I=0;J=0;K=D}H=K-D|0;L=I<<((H+-1|0)>>>0<15?16-H|0:0);M=J;N=K}else{L=0;M=0;N=B}if(M|y){c[h>>2]=N;H=N;switch(a[H>>0]|0){case 80:case 112:{p=0;q=H;break a;break}default:{}}c[h>>2]=H;s=L+x|0;if(!n){p=~~+is(+(s|0),0);q=H;break}else{p=~~+is(+(0-s|0),0);q=H;break}}else{p=0;q=b}}else{p=0;q=b}while(0);c[f>>2]=p;k=q}else{c[h>>2]=b;j=b;while(1){O=a[j>>0]|0;P=j+1|0;if(!(a[64+((O&255)+1)>>0]&8))break;else j=P}switch(O<<24>>24){case 45:{Q=1;R=P;break}case 43:{Q=0;R=P;break}default:{Q=0;R=j}}b:do if((a[R>>0]|0)==48){switch(a[R+1>>0]|0){case 88:case 120:break;default:{S=0;T=b;break b}}H=R+2|0;s=a[H>>0]|0;r=s&255;if(!(a[64+(r+1)>>0]&16)){U=0;V=0;W=H;X=s}else{s=0;u=r;r=0;w=H;do{H=u+-48|0;s=(H>>>0<10?H:(u|32)+-87|0)+(s<<4)|0;r=r+1|0;w=w+1|0;Y=a[w>>0]|0;u=Y&255}while((a[64+(u+1)>>0]&16)!=0);U=s<<16;V=r;W=w;X=Y}u=W;if(X<<24>>24==46){B=W+1|0;D=B;E=d[B>>0]|0;if(!(a[64+(E+1)>>0]&16)){Z=0;_=0;$=D}else{G=0;F=0;H=E;E=B;do{B=H+-48|0;G=F>>>0<4?(B>>>0<10?B:(H|32)+-87|0)+(G<<4)|0:G;F=F+1|0;E=E+1|0;H=d[E>>0]|0}while((a[64+(H+1)>>0]&16)!=0);Z=G;_=F;$=E}H=$-D|0;aa=Z<<((H+-1|0)>>>0<3?16-(H<<2)|0:0);ba=_;ca=$}else{aa=0;ba=0;ca=u}if(ba|V){c[h>>2]=ca;H=ca;switch(a[H>>0]|0){case 80:case 112:{S=0;T=H;break b;break}default:{}}c[h>>2]=H;w=aa+U|0;if(!Q){S=~~+is(+(w|0),0);T=H;break}else{S=~~+is(+(0-w|0),0);T=H;break}}else{S=0;T=b}}else{S=0;T=b}while(0);c[f>>2]=S;k=T}while(0);if((k|0)==(b|0)){i=0;Fa=g;return i|0}if(!(a[64+((d[k>>0]|0)+1)>>0]&8))da=k;else{T=k;do T=T+1|0;while((a[64+((d[T>>0]|0)+1)>>0]&8)!=0);c[h>>2]=T;da=T}i=(da|0)==(b+e|0)&1;Fa=g;return i|0}function Ic(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=Fa;Fa=Fa+16|0;i=h;j=e+28|0;k=c[j>>2]|0;l=e+7|0;m=a[l>>0]|0;n=m&255;o=e+16|0;p=c[o>>2]|0;if((k|0)<(f|0)){if((f+1|0)>>>0>536870911)wc(b);q=e+12|0;r=c[q>>2]|0;s=k<<3;k=f<<3;t=c[b+12>>2]|0;u=(r|0)==0;v=t+4|0;w=Ma[c[t>>2]&1](c[v>>2]|0,r,s,k)|0;if((k|0)!=0&(w|0)==0){if(!(a[t+51>>0]|0))jc(b,4);vc(b,1);x=Ma[c[t>>2]&1](c[v>>2]|0,r,s,k)|0;if(!x)jc(b,4);else y=x}else y=w;w=t+12|0;c[w>>2]=(u?0:0-s|0)+k+(c[w>>2]|0);c[q>>2]=y;q=c[j>>2]|0;if((q|0)<(f|0)){w=q;do{c[y+(w<<3)+4>>2]=0;w=w+1|0}while((w|0)!=(f|0))}c[j>>2]=f}if(!g){c[o>>2]=2099924;z=0;A=0;B=2099924}else{f=g+-1|0;if(f>>>0>255){g=f;j=0;while(1){w=j+8|0;y=g>>>8;if(g>>>0>65535){g=y;j=w}else{C=w;D=y;break}}}else{C=0;D=f}f=C+(d[400+D>>0]|0)|0;if((f|0)>30)lc(b,45542,i);i=1<<f;if((i+1|0)>>>0>214748364)wc(b);D=20<<f;C=c[b+12>>2]|0;j=C+4|0;g=Ma[c[C>>2]&1](c[j>>2]|0,0,0,D)|0;if(f>>>0<30&(g|0)==0){if(!(a[C+51>>0]|0))jc(b,4);vc(b,1);y=Ma[c[C>>2]&1](c[j>>2]|0,0,0,D)|0;if(!y)jc(b,4);else E=y}else E=g;g=C+12|0;c[g>>2]=(c[g>>2]|0)+D;c[o>>2]=E;D=0;g=E;do{c[g+(D*20|0)+16>>2]=0;c[g+(D*20|0)+12>>2]=0;c[g+(D*20|0)+4>>2]=0;D=D+1|0;g=c[o>>2]|0}while((D|0)<(i|0));z=i;A=f&255;B=g}a[l>>0]=A;c[e+20>>2]=B+(z*20|0);if(m<<24>>24!=31){m=1<<n;do{z=m;m=m+-1|0;B=p+(m*20|0)+4|0;if(c[B>>2]|0){A=p+(m*20|0)+8|0;l=xc(e,A)|0;if((l|0)==2099900)F=yc(b,e,A)|0;else F=l;c[F>>2]=c[p+(m*20|0)>>2];c[F+4>>2]=c[B>>2]}}while((z|0)>1)}if((p|0)==2099924){Fa=h;return}F=20<<n;n=c[b+12>>2]|0;Ma[c[n>>2]&1](c[n+4>>2]|0,p,F,0)|0;b=n+12|0;c[b>>2]=(c[b>>2]|0)-((p|0)==0?0:F);Fa=h;return}function Jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=d<<2;f=e+16|0;g=c[b+12>>2]|0;h=g+4|0;i=Ma[c[g>>2]&1](c[h>>2]|0,0,6,f)|0;if((f|0)!=0&(i|0)==0){if(!(a[g+51>>0]|0))jc(b,4);vc(b,1);j=Ma[c[g>>2]&1](c[h>>2]|0,0,6,f)|0;if(!j)jc(b,4);else k=j}else k=i;i=g+12|0;c[i>>2]=(c[i>>2]|0)+f;f=g+56|0;a[k+5>>0]=a[g+48>>0]&3;a[k+4>>0]=6;c[k>>2]=c[f>>2];c[f>>2]=k;c[k+12>>2]=0;a[k+6>>0]=d;if(!d)return k|0;Yu(k+16|0,0,e|0)|0;return k|0}function Kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[b+12>>2]|0;f=b+56|0;g=c[f>>2]|0;a:do if(!g)h=f;else{i=f;j=g;while(1){k=c[j+8>>2]|0;if(k>>>0<d>>>0){h=i;break a}if((k|0)==(d|0))break;k=c[j>>2]|0;if(!k){l=8;break}else{m=j;j=k;i=m}}if((l|0)==8){h=j;break}i=j+5|0;m=a[i>>0]^3;if(((a[e+48>>0]^3)&m)<<24>>24){n=j;return n|0}a[i>>0]=m;n=j;return n|0}while(0);l=e+4|0;g=Ma[c[e>>2]&1](c[l>>2]|0,0,10,20)|0;if(!g){if(!(a[e+51>>0]|0))jc(b,4);vc(b,1);f=Ma[c[e>>2]&1](c[l>>2]|0,0,10,20)|0;if(!f)jc(b,4);else o=f}else o=g;g=e+12|0;c[g>>2]=(c[g>>2]|0)+20;g=(h|0)==0?e+56|0:h;a[o+5>>0]=a[e+48>>0]&3;a[o+4>>0]=10;c[o>>2]=c[g>>2];c[g>>2]=o;c[o+8>>2]=d;c[o+12>>2]=e+96;d=e+112|0;e=c[d>>2]|0;c[o+16>>2]=e;c[e+12>>2]=o;c[d>>2]=o;n=o;return n|0}function Lc(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=Fa;Fa=Fa+16|0;k=j;l=f+4|0;m=c[l>>2]|0;switch(m&15){case 5:{n=(c[f>>2]|0)+8|0;break}case 7:{n=(c[f>>2]|0)+8|0;break}default:n=(c[e+12>>2]|0)+276+((m&15)<<2)|0}m=c[n>>2]|0;a:do if(!m)o=2099900;else{n=c[(c[e+12>>2]|0)+156+(i<<2)>>2]|0;p=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[p+12>>2]|0)==68?(c[p+8>>2]|0)==(n|0):0)break;q=c[p+16>>2]|0;if(!q){o=2099900;break a}else p=q}o=p}while(0);b:do if(!(c[o+4>>2]|0)){m=c[g+4>>2]|0;switch(m&15){case 5:{r=(c[g>>2]|0)+8|0;break}case 7:{r=(c[g>>2]|0)+8|0;break}default:r=(c[e+12>>2]|0)+276+((m&15)<<2)|0}m=c[r>>2]|0;if(!m)s=2099900;else{n=c[(c[e+12>>2]|0)+156+(i<<2)>>2]|0;q=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[q+12>>2]|0)==68?(c[q+8>>2]|0)==(n|0):0)break;m=c[q+16>>2]|0;if(!m){s=2099900;break b}else q=m}s=q}}else s=o;while(0);o=s+4|0;if(!(c[o>>2]|0)){t=0;Fa=j;return t|0}i=e+28|0;r=h-(c[i>>2]|0)|0;h=e+8|0;n=c[h>>2]|0;c[h>>2]=n+8;c[n>>2]=c[s>>2];c[n+4>>2]=c[o>>2];o=c[h>>2]|0;c[h>>2]=o+8;c[o>>2]=c[f>>2];c[o+4>>2]=c[l>>2];l=c[h>>2]|0;c[h>>2]=l+8;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];g=(c[h>>2]|0)+-24|0;l=a[(c[e+16>>2]|0)+18>>0]&1;o=e+38|0;f=(b[o>>1]|0)+1<<16>>16;b[o>>1]=f;if((f&65535)>199){if(f<<16>>16==200)lc(e,45525,k);if((f&65535)>224)jc(e,6)}f=l<<24>>24!=0;if(!f){l=e+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16}if(!(pc(e,g,1)|0))qc(e);if(!f){f=e+36|0;b[f>>1]=(b[f>>1]|0)+-1<<16>>16}b[o>>1]=(b[o>>1]|0)+-1<<16>>16;o=(c[i>>2]|0)+r|0;r=c[h>>2]|0;i=r+-8|0;c[h>>2]=i;c[o>>2]=c[i>>2];c[o+4>>2]=c[r+-4>>2];t=1;Fa=j;return t|0}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Fa;Fa=Fa+16|0;f=e+8|0;g=e;e=c[16+((c[b+4>>2]&15)+1<<2)>>2]|0;b=c[16+((c[d+4>>2]&15)+1<<2)>>2]|0;if((e|0)==(b|0)){c[g>>2]=e;lc(a,45660,g)}else{c[f>>2]=e;c[f+4>>2]=b;lc(a,45693,f)}}function Nc(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=Fa;Fa=Fa+64|0;e=d+48|0;f=d+40|0;h=d+32|0;i=d;j=+(c|0)*.0000152587890625;g[h>>3]=j;vs(i,45862,h)|0;if((eu(i,45868)|0)==0?(eu(i,45874)|0)==0:0){g[e>>3]=j;vs(i,45886,e)|0}else{g[f>>3]=j;vs(i,45880,f)|0}f=ft(i)|0;e=f+-1|0;h=i+e|0;c=a[h>>0]|0;k=(f|0)>0;if(k&c<<24>>24==48){f=h;l=e;while(1){a[f>>0]=0;e=l;l=l+-1|0;m=i+l|0;n=a[m>>0]|0;o=(e|0)>0;if(!(o&n<<24>>24==48)){p=o;q=n;r=m;break}else f=m}}else{p=k;q=c;r=h}if(!(p&q<<24>>24==46)){s=ft(i)|0;t=s+1|0;Xu(b|0,i|0,t|0)|0;Fa=d;return s|0}a[r>>0]=0;s=ft(i)|0;t=s+1|0;Xu(b|0,i|0,t|0)|0;Fa=d;return s|0}function Oc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=b+12|0;h=c[g>>2]|0;i=c[h+44>>2]^f;j=f>>>5;if(j>>>0<f>>>0){k=~j;l=f;m=i;while(1){n=(m<<5)+(m>>>2)+(d[e+(l+-1)>>0]|0)^m;l=l+k|0;if(l>>>0<=j>>>0){o=n;break}else m=n}}else o=i;i=h+24|0;m=h+32|0;j=c[m>>2]|0;l=(c[i>>2]|0)+((j+-1&o)<<2)|0;k=c[l>>2]|0;a:do if(k|0){n=k;while(1){if(((o|0)==(c[n+8>>2]|0)?(c[n+12>>2]|0)==(f|0):0)?(ss(e,n+16|0,f)|0)==0:0)break;p=c[n>>2]|0;if(!p)break a;else n=p}p=n+5|0;q=a[p>>0]^3;if(((a[h+48>>0]^3)&q)<<24>>24){r=n;return r|0}a[p>>0]=q;r=n;return r|0}while(0);k=h+28|0;if((j|0)<1073741823?(c[k>>2]|0)>>>0>=j>>>0:0){Sc(b,j<<1);s=(c[i>>2]|0)+(((c[m>>2]|0)+-1&o)<<2)|0;t=c[g>>2]|0}else{s=l;t=h}h=f+17|0;l=t+4|0;g=Ma[c[t>>2]&1](c[l>>2]|0,0,4,h)|0;if((h|0)!=0&(g|0)==0){if(!(a[t+51>>0]|0))jc(b,4);vc(b,1);m=Ma[c[t>>2]&1](c[l>>2]|0,0,4,h)|0;if(!m)jc(b,4);else u=m}else u=g;g=t+12|0;c[g>>2]=(c[g>>2]|0)+h;h=(s|0)==0?t+56|0:s;a[u+5>>0]=a[t+48>>0]&3;a[u+4>>0]=4;c[u>>2]=c[h>>2];c[h>>2]=u;c[u+12>>2]=f;c[u+8>>2]=o;a[u+6>>0]=0;o=u+16|0;Xu(o|0,e|0,f|0)|0;a[o+f>>0]=0;c[k>>2]=(c[k>>2]|0)+1;r=u;return r|0}function Pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;Qc(a,(e|0)==3|(e&15|0)==4?d:b,45746)}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=Fa;Fa=Fa+32|0;g=f+16|0;h=f;i=f+24|0;f=c[b+16>>2]|0;c[i>>2]=0;j=c[16+((c[d+4>>2]&15)+1<<2)>>2]|0;a:do if(a[f+18>>0]&1){k=c[c[f>>2]>>2]|0;l=a[k+6>>0]|0;b:do if(l<<24>>24){m=l&255;n=0;while(1){if((c[(c[k+16+(n<<2)>>2]|0)+8>>2]|0)==(d|0))break;o=n+1|0;if(o>>>0<m>>>0)n=o;else break b}m=c[(c[(c[k+12>>2]|0)+28>>2]|0)+(n<<3)>>2]|0;o=(m|0)==0?45758:m+16|0;c[i>>2]=o;p=45760;q=o;c[h>>2]=e;r=h+4|0;c[r>>2]=p;s=h+8|0;c[s>>2]=q;t=h+12|0;c[t>>2]=j;lc(b,45768,h)}while(0);l=c[f+24>>2]|0;o=c[f+4>>2]|0;m=l;if(l>>>0<o>>>0){u=l;while(1){if((u|0)==(d|0))break;u=u+8|0;if(u>>>0>=o>>>0)break a}o=c[k+12>>2]|0;u=Rc(o,((c[f+28>>2]|0)-(c[o+12>>2]|0)>>2)+-1|0,d-m>>3,i)|0;if(u|0){p=u;q=c[i>>2]|0;c[h>>2]=e;r=h+4|0;c[r>>2]=p;s=h+8|0;c[s>>2]=q;t=h+12|0;c[t>>2]=j;lc(b,45768,h)}}}while(0);c[g>>2]=e;c[g+4>>2]=j;lc(b,45803,g)}function Rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=b+24|0;h=b+12|0;i=c[b+60>>2]|0;j=(i|0)>0;k=d;d=e;a:while(1){b:do if(j){l=c[g>>2]|0;e=d+1|0;m=0;while(1){if((c[l+(m*12|0)+4>>2]|0)>(k|0))break b;if((c[l+(m*12|0)+8>>2]|0)>(k|0)){n=e+-1|0;if(!n){o=8;break a}else p=n}else p=e;n=m+1|0;if((n|0)<(i|0)){e=p;m=n}else break}}while(0);c[f>>2]=0;if((k|0)<=0){q=0;o=51;break}r=c[h>>2]|0;e=-1;n=0;s=0;while(1){t=c[r+(s<<2)>>2]|0;u=t>>>6&255;switch(t&63){case 4:{v=(u|0)>(d|0)|(u+(t>>>23)|0)<(d|0)?e:(s|0)<(n|0)?-1:s;w=n;break}case 47:{v=(u+2|0)>(d|0)?e:(s|0)<(n|0)?-1:s;w=n;break}case 43:case 42:{v=(u|0)>(d|0)?e:(s|0)<(n|0)?-1:s;w=n;break}case 36:{x=s+-131070+(t>>>14)|0;v=e;w=(x|0)>(n|0)&((x|0)<=(k|0)&(s|0)<(x|0))?x:n;break}case 40:{v=(u|0)==(d|0)?((s|0)<(n|0)?-1:s):e;w=n;break}default:{v=((u|0)==(d|0)?(a[336+(t&63)>>0]&64)!=0:0)?((s|0)<(n|0)?-1:s):e;w=n}}s=s+1|0;if((s|0)==(k|0))break;else{e=v;n=w}}if((v|0)==-1){q=0;o=51;break}y=c[r+(v<<2)>>2]|0;switch(y&63){case 7:case 6:{o=22;break a;break}case 5:{o=39;break a;break}case 2:case 1:{o=40;break a;break}case 12:{o=45;break a;break}case 0:break;default:{q=0;o=51;break a}}d=y>>>23;if(d>>>0>=(y>>>6&255)>>>0){q=0;o=51;break}else k=v}if((o|0)==8){c[f>>2]=(c[l+(m*12|0)>>2]|0)+16;q=56736;return q|0}else if((o|0)==22){m=y>>>14;l=m&511;k=y>>>23;c:do if((y&63|0)==7)if(j){d=c[g>>2]|0;w=k+1|0;h=0;while(1){if((c[d+(h*12|0)+4>>2]|0)>(v|0)){z=0;break c}if((c[d+(h*12|0)+8>>2]|0)>(v|0)){p=w+-1|0;if(!p)break;else A=p}else A=w;p=h+1|0;if((p|0)<(i|0)){w=A;h=p}else{z=0;break c}}z=(c[d+(h*12|0)>>2]|0)+16|0}else z=0;else{w=c[(c[b+28>>2]|0)+(k<<3)>>2]|0;z=(w|0)==0?45758:w+16|0}while(0);if(!(y&4194304)){k=Rc(b,v,l,f)|0;if(!((k|0)!=0?(a[k>>0]|0)==99:0))o=36}else{k=c[b+8>>2]|0;l=m&255;if((c[k+(l<<3)+4>>2]&15|0)==4)c[f>>2]=(c[k+(l<<3)>>2]|0)+16;else o=36}if((o|0)==36)c[f>>2]=45758;if(!z){q=45840;return q|0}l=(Xs(z,45828)|0)==0;q=l?45833:45840;return q|0}else if((o|0)==39){l=c[(c[b+28>>2]|0)+(y>>>23<<3)>>2]|0;c[f>>2]=(l|0)==0?45758:l+16|0;q=45760;return q|0}else if((o|0)==40){if((y&63|0)==1)B=y>>>14;else B=(c[r+(v+1<<2)>>2]|0)>>>6;r=c[b+8>>2]|0;if((c[r+(B<<3)+4>>2]&15|0)!=4){q=0;return q|0}c[f>>2]=(c[r+(B<<3)>>2]|0)+16;q=45853;return q|0}else if((o|0)==45){B=y>>>14;if(!(y&4194304)){y=Rc(b,v,B&511,f)|0;if(y|0?(a[y>>0]|0)==99:0){q=45846;return q|0}}else{y=c[b+8>>2]|0;b=B&255;if((c[y+(b<<3)+4>>2]&15|0)==4){c[f>>2]=(c[y+(b<<3)>>2]|0)+16;q=45846;return q|0}}c[f>>2]=45758;q=45846;return q|0}else if((o|0)==51)return q|0;return 0}function Sc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=b+12|0;g=c[f>>2]|0;h=g+24|0;i=g+49|0;if(!(1<<d[i>>0]&-5))do Tc(b)|0;while(!(1<<d[i>>0]&-5|0));i=g+32|0;g=c[i>>2]|0;if((g|0)<(e|0)){if((e+1|0)>>>0>1073741823)wc(b);j=c[h>>2]|0;k=g<<2;l=e<<2;m=c[f>>2]|0;n=(j|0)==0;o=m+4|0;p=Ma[c[m>>2]&1](c[o>>2]|0,j,k,l)|0;if((l|0)!=0&(p|0)==0){if(!(a[m+51>>0]|0))jc(b,4);vc(b,1);q=Ma[c[m>>2]&1](c[o>>2]|0,j,k,l)|0;if(!q)jc(b,4);else r=q}else r=p;p=m+12|0;c[p>>2]=(n?0:0-k|0)+l+(c[p>>2]|0);c[h>>2]=r;p=c[i>>2]|0;if((p|0)<(e|0)?(c[r+(p<<2)>>2]=0,r=p+1|0,(r|0)!=(e|0)):0){l=r;do{c[(c[h>>2]|0)+(l<<2)>>2]=0;l=l+1|0}while((l|0)!=(e|0));s=p}else s=p}else s=g;if((s|0)>0){g=e+-1|0;p=0;l=s;while(1){r=(c[h>>2]|0)+(p<<2)|0;k=c[r>>2]|0;c[r>>2]=0;if(!k)t=l;else{r=k;do{k=r;r=c[r>>2]|0;n=c[k+8>>2]&g;c[k>>2]=c[(c[h>>2]|0)+(n<<2)>>2];c[(c[h>>2]|0)+(n<<2)>>2]=k;n=k+5|0;a[n>>0]=a[n>>0]&-65}while((r|0)!=0);t=c[i>>2]|0}p=p+1|0;if((p|0)>=(t|0)){u=t;break}else l=t}}else u=s;if((u|0)<=(e|0)){c[i>>2]=e;return}if((e+1|0)>>>0>1073741823)wc(b);s=c[h>>2]|0;t=u<<2;u=e<<2;l=c[f>>2]|0;f=(s|0)==0;p=l+4|0;g=Ma[c[l>>2]&1](c[p>>2]|0,s,t,u)|0;if((u|0)!=0&(g|0)==0){if(!(a[l+51>>0]|0))jc(b,4);vc(b,1);r=Ma[c[l>>2]&1](c[p>>2]|0,s,t,u)|0;if(!r)jc(b,4);else v=r}else v=g;g=l+12|0;c[g>>2]=(f?0:0-t|0)+u+(c[g>>2]|0);c[h>>2]=v;c[i>>2]=e;return}function Tc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;e=Fa;Fa=Fa+16|0;f=e;g=b+12|0;h=c[g>>2]|0;i=h+49|0;switch(a[i>>0]|0){case 5:{j=h+16|0;c[j>>2]=c[h+32>>2]<<2;k=h+72|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;k=c[h+144>>2]|0;if(k|0?a[k+5>>0]&3:0)uc(h,k);if(c[h+40>>2]&64|0?(k=c[h+36>>2]|0,a[k+5>>0]&3):0)uc(h,k);Uc(h);k=c[h+92>>2]|0;if(k|0){l=h+48|0;m=k;do{k=m+5|0;a[k>>0]=a[l>>0]&3|a[k>>0]&-72;uc(h,m);m=c[m>>2]|0}while((m|0)!=0)}a[i>>0]=0;n=c[j>>2]|0;Fa=e;return n|0}case 0:{j=h+72|0;if(c[j>>2]|0){m=h+16|0;l=c[m>>2]|0;Vc(h);n=(c[m>>2]|0)-l|0;Fa=e;return n|0}a[i>>0]=1;l=h+16|0;m=c[l>>2]|0;k=h+20|0;c[k>>2]=m;if(a[b+5>>0]&3)uc(h,b);if(c[h+40>>2]&64|0?(o=c[h+36>>2]|0,a[o+5>>0]&3):0)uc(h,o);Uc(h);o=h+96|0;p=c[h+112>>2]|0;if((p|0)!=(o|0)){q=p;do{if(((a[q+5>>0]&7)==0?(p=c[q+8>>2]|0,c[p+4>>2]&64|0):0)?(r=c[p>>2]|0,a[r+5>>0]&3):0)uc(h,r);q=c[q+16>>2]|0}while((q|0)!=(o|0))}if(c[j>>2]|0)do Vc(h);while((c[j>>2]|0)!=0);o=(c[l>>2]|0)-m|0;m=h+80|0;q=c[m>>2]|0;r=h+76|0;p=c[r>>2]|0;s=h+84|0;t=c[s>>2]|0;c[s>>2]=0;c[r>>2]=0;c[m>>2]=0;c[j>>2]=p;if(p|0)do Vc(h);while((c[j>>2]|0)!=0);c[j>>2]=q;if(q|0)do Vc(h);while((c[j>>2]|0)!=0);c[j>>2]=t;if(t|0)do Vc(h);while((c[j>>2]|0)!=0);t=o-(c[l>>2]|0)|0;do{o=c[s>>2]|0;c[s>>2]=0;if(!o)break;q=0;p=o;while(1){o=p;p=c[p+24>>2]|0;if(Wc(h,o)|0)if(!(c[j>>2]|0))u=1;else{do Vc(h);while((c[j>>2]|0)!=0);u=1}else u=q;if(!p)break;else q=u}}while((u|0)!=0);Xc(h,c[m>>2]|0,0);u=h+88|0;Xc(h,c[u>>2]|0,0);q=c[m>>2]|0;p=c[u>>2]|0;o=t+(c[l>>2]|0)|0;t=c[g>>2]|0;r=t+60|0;v=t+92|0;t=c[v>>2]|0;if(!t)w=v;else{v=t;while(1){t=c[v>>2]|0;if(!t)break;else v=t}w=v}v=c[r>>2]|0;if(v|0){t=r;r=w;w=v;while(1){v=w+5|0;x=d[v>>0]|0;if(!(x&3)){y=w;z=r}else{a[v>>0]=x|8;c[t>>2]=c[w>>2];c[w>>2]=c[r>>2];c[r>>2]=w;y=t;z=w}w=c[y>>2]|0;if(!w)break;else{t=y;r=z}}}z=c[h+92>>2]|0;if(z|0){r=h+48|0;y=z;do{z=y+5|0;a[z>>0]=a[r>>0]&3|a[z>>0]&-72;uc(h,y);y=c[y>>2]|0}while((y|0)!=0)}if(c[j>>2]|0)do Vc(h);while((c[j>>2]|0)!=0);y=o-(c[l>>2]|0)|0;while(1){o=c[s>>2]|0;c[s>>2]=0;if(!o)break;r=0;z=o;while(1){o=z;z=c[z+24>>2]|0;if(Wc(h,o)|0)if(!(c[j>>2]|0))A=1;else{do Vc(h);while((c[j>>2]|0)!=0);A=1}else A=r;if(!z)break;else r=A}if(!A){B=72;break}}if((B|0)==72?(A=c[s>>2]|0,A|0):0){s=A;do{A=c[s+16>>2]|0;j=a[s+7>>0]|0;r=A+((1<<(j&255))*20|0)|0;if(j<<24>>24!=31){j=A;do{A=j+4|0;do if(c[A>>2]|0){z=j+12|0;o=c[z>>2]|0;if(!(o&64))break;t=c[j+8>>2]|0;if((o&15|0)==4){if(!t)break;if(!(a[t+5>>0]&3))break;uc(h,t);break}else{o=t+5|0;if(!(a[o>>0]&3))break;c[A>>2]=0;if(!(a[o>>0]&3))break;c[z>>2]=11;break}}while(0);j=j+20|0}while(j>>>0<r>>>0)}s=c[s+24>>2]|0}while((s|0)!=0)}s=c[u>>2]|0;if(s|0){r=s;do{s=c[r+16>>2]|0;j=a[r+7>>0]|0;A=s+((1<<(j&255))*20|0)|0;if(j<<24>>24!=31){j=s;do{s=j+4|0;do if(c[s>>2]|0){z=j+12|0;o=c[z>>2]|0;if(!(o&64))break;t=c[j+8>>2]|0;if((o&15|0)==4){if(!t)break;if(!(a[t+5>>0]&3))break;uc(h,t);break}else{o=t+5|0;if(!(a[o>>0]&3))break;c[s>>2]=0;if(!(a[o>>0]&3))break;c[z>>2]=11;break}}while(0);j=j+20|0}while(j>>>0<A>>>0)}r=c[r+24>>2]|0}while((r|0)!=0)}Xc(h,c[m>>2]|0,q);Xc(h,c[u>>2]|0,p);p=h+48|0;a[p>>0]=a[p>>0]^3;p=y+(c[l>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+p;n=((Yc(b)|0)*5|0)+p|0;Fa=e;return n|0}case 2:{p=h+52|0;k=h+32|0;l=h+24|0;y=0;while(1){u=(c[p>>2]|0)+y|0;q=c[k>>2]|0;if((u|0)>=(q|0)){C=y;D=u;E=q;break}q=(c[l>>2]|0)+(u<<2)|0;u=c[g>>2]|0;m=d[u+48>>0]|0;r=m^3;A=(a[u+50>>0]|0)==2;u=A?255:184;j=A?64:m&3;m=A?64:0;A=c[q>>2]|0;a:do if(A|0){s=q;z=-3;o=A;while(1){if(!z)break a;z=z+-1|0;t=o+5|0;w=d[t>>0]|0;if(!((w^3)&r)){c[s>>2]=c[o>>2];Zc(b,o);F=s}else{if(m&w|0)break a;if((a[o+4>>0]|0)==8)_c(b,o);a[t>>0]=u&w|j;F=o}o=c[F>>2]|0;if(!o)break;else s=F}}while(0);y=y+1|0;if(y>>>0>=80){B=116;break}}if((B|0)==116){C=y;D=(c[p>>2]|0)+y|0;E=c[k>>2]|0}c[p>>2]=D;if((D|0)>=(E|0))a[i>>0]=3;n=C*5|0;Fa=e;return n|0}case 3:{C=h+68|0;E=c[C>>2]|0;if(!E){a[i>>0]=4;n=0;Fa=e;return n|0}D=d[h+48>>0]|0;p=D^3;k=(a[h+50>>0]|0)==2;y=k?255:184;B=k?64:D&3;D=k?64:0;k=c[E>>2]|0;b:do if(!k)G=0;else{F=E;l=80;j=k;while(1){if(!l){G=F;break b}l=l+-1|0;u=j+5|0;m=d[u>>0]|0;if(!((m^3)&p)){c[F>>2]=c[j>>2];Zc(b,j);H=F}else{if(D&m|0){G=0;break b}if((a[j+4>>0]|0)==8)_c(b,j);a[u>>0]=y&m|B;H=j}j=c[H>>2]|0;if(!j){G=0;break}else F=H}}while(0);c[C>>2]=G;n=400;Fa=e;return n|0}case 4:{G=h+64|0;C=c[G>>2]|0;if(C|0){H=d[h+48>>0]|0;B=H^3;y=(a[h+50>>0]|0)==2;D=y?255:184;p=y?64:H&3;H=y?64:0;y=c[C>>2]|0;c:do if(!y)I=0;else{k=C;E=80;F=y;while(1){if(!E){I=k;break c}E=E+-1|0;j=F+5|0;l=d[j>>0]|0;if(!((l^3)&B)){c[k>>2]=c[F>>2];Zc(b,F);J=k}else{if(H&l|0){I=0;break c}if((a[F+4>>0]|0)==8)_c(b,F);a[j>>0]=D&l|p;J=F}F=c[J>>2]|0;if(!F){I=0;break}else k=J}}while(0);c[G>>2]=I;n=400;Fa=e;return n|0}I=c[h+144>>2]|0;c[f>>2]=I;G=d[h+48>>0]|0;J=G^3;p=a[h+50>>0]|0;D=p<<24>>24==2;H=D?255:184;B=D?64:G&3;G=D?64:0;if(!I){K=p;L=h}else{h=f;f=1;p=I;while(1){if(!f)break;f=f+-1|0;I=p+5|0;D=d[I>>0]|0;if(!((D^3)&J)){c[h>>2]=c[p>>2];Zc(b,p);M=h}else{if(G&D|0)break;if((a[p+4>>0]|0)==8)_c(b,p);a[I>>0]=H&D|B;M=p}p=c[M>>2]|0;if(!p)break;else h=M}M=c[g>>2]|0;K=a[M+50>>0]|0;L=M}if(K<<24>>24!=1){K=(c[L+32>>2]|0)/2|0;if((c[L+28>>2]|0)>>>0<K>>>0){Sc(b,K);N=c[g>>2]|0}else N=L;g=L+116|0;K=c[g>>2]|0;b=L+124|0;L=c[b>>2]|0;M=Ma[c[N>>2]&1](c[N+4>>2]|0,K,L,0)|0;h=N+12|0;c[h>>2]=(c[h>>2]|0)-((K|0)==0?0:L);c[g>>2]=M;c[b>>2]=0}a[i>>0]=5;n=5;Fa=e;return n|0}default:{n=0;Fa=e;return n|0}}return 0}function Uc(b){b=b|0;var d=0;d=c[b+276>>2]|0;if(d|0?a[d+5>>0]&3:0)uc(b,d);d=c[b+280>>2]|0;if(d|0?a[d+5>>0]&3:0)uc(b,d);d=c[b+284>>2]|0;if(d|0?a[d+5>>0]&3:0)uc(b,d);d=c[b+288>>2]|0;if(d|0?a[d+5>>0]&3:0)uc(b,d);d=c[b+292>>2]|0;if(d|0?a[d+5>>0]&3:0)uc(b,d);d=c[b+296>>2]|0;if(d|0?a[d+5>>0]&3:0)uc(b,d);d=c[b+300>>2]|0;if(d|0?a[d+5>>0]&3:0)uc(b,d);d=c[b+304>>2]|0;if(d|0?a[d+5>>0]&3:0)uc(b,d);d=c[b+308>>2]|0;if(!d)return;if(!(a[d+5>>0]&3))return;uc(b,d);return}function Vc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;e=b+72|0;f=c[e>>2]|0;g=f+5|0;a[g>>0]=a[g>>0]|4;switch(a[f+4>>0]|0){case 5:{h=f+24|0;c[e>>2]=c[h>>2];i=c[f+8>>2]|0;do if(i){j=i+6|0;k=a[j>>0]|0;if(!(k&8)){l=c[b+168>>2]|0;m=(c[i+16>>2]|0)+(((1<<d[i+7>>0])+-1&c[l+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(l|0):0){n=7;break}o=c[m+16>>2]|0;if(!o){p=2099900;break}else m=o}if((n|0)==7)p=m;if(!(c[p+4>>2]|0)){a[j>>0]=k|8;q=0}else q=p}else q=0;if(a[i+5>>0]&3)uc(b,i);if(((q|0)!=0?(c[q+4>>2]&15|0)==4:0)?(l=(c[q>>2]|0)+16|0,o=rt(l,107)|0,r=(o|0)!=0,o=(rt(l,118)|0)!=0,r|o):0){l=f+5|0;a[l>>0]=a[l>>0]&-5;if(r)if(o){o=b+88|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}else{Wc(b,f)|0;break}o=c[f+16>>2]|0;r=a[f+7>>0]|0;l=o+((1<<(r&255))*20|0)|0;s=(c[f+28>>2]|0)>0&1;if(r<<24>>24==31)t=s;else{r=o;o=s;while(1){s=r+4|0;u=r+12|0;v=(c[u>>2]&64|0)==0;a:do if(!(c[s>>2]|0))if(!v?(a[(c[r+8>>2]|0)+5>>0]&3)!=0:0){c[u>>2]=11;w=o}else w=o;else{if(!v?(x=c[r+8>>2]|0,a[x+5>>0]&3):0)uc(b,x);if(!o){x=c[s>>2]|0;do if(x&64|0){y=c[r>>2]|0;if((x&15|0)!=4)if(!(a[y+5>>0]&3))break;else{w=1;break a}if(y|0){if(!(a[y+5>>0]&3))break;uc(b,y)}}while(0);w=0}else w=o}while(0);r=r+20|0;if(r>>>0>=l>>>0){t=w;break}else o=w}}if(!t){o=b+76|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}else{o=b+80|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}}else n=41}else n=41;while(0);if((n|0)==41){n=f+16|0;h=c[n>>2]|0;t=h+((1<<d[f+7>>0])*20|0)|0;w=f+28|0;q=c[w>>2]|0;if((q|0)>0){i=f+12|0;p=0;o=q;while(1){q=c[i>>2]|0;if((c[q+(p<<3)+4>>2]&64|0)!=0?(l=c[q+(p<<3)>>2]|0,(a[l+5>>0]&3)!=0):0){uc(b,l);z=c[w>>2]|0}else z=o;p=p+1|0;if((p|0)>=(z|0))break;else o=z}A=c[n>>2]|0}else A=h;if(A>>>0<t>>>0){h=A;do{A=h+4|0;n=c[A>>2]|0;z=h+12|0;o=(c[z>>2]&64|0)==0;if(!n){if(!o?a[(c[h+8>>2]|0)+5>>0]&3:0)c[z>>2]=11}else{if(!o?(o=c[h+8>>2]|0,(a[o+5>>0]&3)!=0):0){uc(b,o);B=c[A>>2]|0}else B=n;if(B&64|0?(n=c[h>>2]|0,a[n+5>>0]&3):0)uc(b,n)}h=h+20|0}while(h>>>0<t>>>0)}}C=(c[f+28>>2]<<3)+32+(20<<d[f+7>>0])|0;break}case 6:{c[e>>2]=c[f+8>>2];t=c[f+12>>2]|0;if(t|0?a[t+5>>0]&3:0)uc(b,t);t=f+6|0;h=a[t>>0]|0;if(!(h<<24>>24))C=16;else{B=0;n=h;while(1){h=c[f+16+(B<<2)>>2]|0;if((h|0)!=0?(a[h+5>>0]&3)!=0:0){uc(b,h);D=a[t>>0]|0}else D=n;B=B+1|0;E=D&255;if(B>>>0>=E>>>0)break;else n=D}C=(E<<2)+16|0}break}case 38:{c[e>>2]=c[f+8>>2];E=f+6|0;D=a[E>>0]|0;if(!(D<<24>>24))C=16;else{n=0;B=D;while(1){if((c[f+16+(n<<3)+4>>2]&64|0)!=0?(D=c[f+16+(n<<3)>>2]|0,(a[D+5>>0]&3)!=0):0){uc(b,D);F=a[E>>0]|0}else F=B;n=n+1|0;G=F&255;if(n>>>0>=G>>>0)break;else B=F}C=(G<<3)+16|0}break}case 8:{G=f+60|0;c[e>>2]=c[G>>2];F=b+76|0;c[G>>2]=c[F>>2];c[F>>2]=f;a[g>>0]=a[g>>0]&-5;g=f+28|0;F=c[g>>2]|0;if(!F)C=1;else{G=f+8|0;B=c[G>>2]|0;if(F>>>0<B>>>0){n=F;E=B;while(1){if((c[n+4>>2]&64|0)!=0?(B=c[n>>2]|0,(a[B+5>>0]&3)!=0):0){uc(b,B);H=c[G>>2]|0}else H=E;B=n+8|0;if(B>>>0<H>>>0){n=B;E=H}else{I=B;break}}}else I=F;if((a[b+49>>0]|0)==1){F=(c[g>>2]|0)+(c[f+32>>2]<<3)|0;if(I>>>0<F>>>0){g=I;do{c[g+4>>2]=0;g=g+8|0}while(g>>>0<F>>>0);J=116}else J=116}else{F=f+72|0;g=c[f+16>>2]|0;if((g|0)==(F|0))J=116;else{I=0;H=F;do{I=I+1|0;H=c[H+12>>2]|0}while((H|0)!=(g|0));J=(I*40|0)+116|0}}C=(c[f+32>>2]<<3)+J|0}break}case 9:{c[e>>2]=c[f+72>>2];e=f+32|0;J=c[e>>2]|0;if(J|0?a[J+5>>0]&3:0)c[e>>2]=0;e=c[f+36>>2]|0;if(e|0?a[e+5>>0]&3:0)uc(b,e);e=f+44|0;J=c[e>>2]|0;if((J|0)>0){I=f+8|0;g=0;H=J;while(1){J=c[I>>2]|0;if((c[J+(g<<3)+4>>2]&64|0)!=0?(F=c[J+(g<<3)>>2]|0,(a[F+5>>0]&3)!=0):0){uc(b,F);K=c[e>>2]|0}else K=H;g=g+1|0;if((g|0)>=(K|0))break;else H=K}}K=f+40|0;H=c[K>>2]|0;if((H|0)>0){g=f+28|0;I=0;F=H;while(1){H=c[(c[g>>2]|0)+(I<<3)>>2]|0;if((H|0)!=0?(a[H+5>>0]&3)!=0:0){uc(b,H);L=c[K>>2]|0}else L=F;I=I+1|0;if((I|0)>=(L|0))break;else F=L}}L=f+56|0;F=c[L>>2]|0;if((F|0)>0){I=f+16|0;g=0;H=F;while(1){J=c[(c[I>>2]|0)+(g<<2)>>2]|0;if((J|0)!=0?(a[J+5>>0]&3)!=0:0){uc(b,J);M=c[L>>2]|0}else M=H;g=g+1|0;if((g|0)>=(M|0)){N=M;break}else H=M}}else N=F;F=f+60|0;M=c[F>>2]|0;if((M|0)>0){H=f+24|0;g=0;I=M;while(1){J=c[(c[H>>2]|0)+(g*12|0)>>2]|0;if((J|0)!=0?(a[J+5>>0]&3)!=0:0){uc(b,J);O=c[F>>2]|0}else O=I;g=g+1|0;if((g|0)>=(O|0))break;else I=O}P=O;Q=c[L>>2]|0}else{P=M;Q=N}C=(P*12|0)+80+((c[f+48>>2]|0)+Q+(c[f+52>>2]|0)<<2)+((c[K>>2]|0)+(c[e>>2]|0)<<3)|0;break}default:return}e=b+16|0;c[e>>2]=(c[e>>2]|0)+C;return}function Wc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=e+16|0;g=c[f>>2]|0;h=g+((1<<(d[e+7>>0]|0))*20|0)|0;i=e+28|0;j=c[i>>2]|0;if((j|0)>0){k=e+12|0;l=0;m=0;n=j;while(1){j=c[k>>2]|0;if((c[j+(m<<3)+4>>2]&64|0)!=0?(o=c[j+(m<<3)>>2]|0,(a[o+5>>0]&3)!=0):0){uc(b,o);p=1;q=c[i>>2]|0}else{p=l;q=n}m=m+1|0;if((m|0)>=(q|0))break;else{l=p;n=q}}r=p;s=c[f>>2]|0}else{r=0;s=g}if(s>>>0<h>>>0){g=s;s=0;f=0;p=r;while(1){q=g+4|0;n=c[q>>2]|0;l=g+12|0;m=c[l>>2]|0;i=(m&64|0)==0;a:do if(!n)if(!i?(a[(c[g+8>>2]|0)+5>>0]&3)!=0:0){c[l>>2]=11;t=s;u=f;v=p}else{t=s;u=f;v=p}else{do if(i){w=n;x=19}else{k=c[g+8>>2]|0;if((m&15|0)==4){if(!k){w=n;x=19;break}if(!(a[k+5>>0]&3)){w=n;x=19;break}uc(b,k);w=c[q>>2]|0;x=19;break}o=(n&64|0)==0;if(!(a[k+5>>0]&3))if(o){t=s;u=f;v=p;break a}else break;if(o){t=s;u=1;v=p;break a}t=(a[(c[g>>2]|0)+5>>0]&3)==0?s:1;u=1;v=p;break a}while(0);if((x|0)==19?(x=0,(w&64|0)==0):0){t=s;u=f;v=p;break}o=c[g>>2]|0;if(!(a[o+5>>0]&3)){t=s;u=f;v=p}else{uc(b,o);t=s;u=f;v=1}}while(0);g=g+20|0;if(g>>>0>=h>>>0)break;else{s=t;f=u;p=v}}if(t|0){y=v;z=b+84|0;A=c[z>>2]|0;B=e+24|0;c[B>>2]=A;c[z>>2]=e;return y|0}if(!u)C=v;else{y=v;z=b+88|0;A=c[z>>2]|0;B=e+24|0;c[B>>2]=A;c[z>>2]=e;return y|0}}else C=r;y=C;z=b+76|0;A=c[z>>2]|0;B=e+24|0;c[B>>2]=A;c[z>>2]=e;return y|0}function Xc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((e|0)==(f|0))return;g=e;do{e=g+16|0;h=c[e>>2]|0;i=h+((1<<(d[g+7>>0]|0))*20|0)|0;j=g+28|0;if((c[j>>2]|0)>0){k=g+12|0;l=0;do{m=c[k>>2]|0;if(bd(b,m+(l<<3)|0)|0)c[m+(l<<3)+4>>2]=0;l=l+1|0}while((l|0)<(c[j>>2]|0));n=c[e>>2]|0}else n=h;if(n>>>0<i>>>0){j=n;do{l=j+4|0;if(((c[l>>2]|0?bd(b,j)|0:0)?(c[l>>2]=0,l=j+12|0,c[l>>2]&64|0):0)?a[(c[j+8>>2]|0)+5>>0]&3:0)c[l>>2]=11;j=j+20|0}while(j>>>0<i>>>0)}g=c[g+24>>2]|0}while((g|0)!=(f|0));return}function Yc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=b+12|0;f=c[e>>2]|0;a[f+49>>0]=2;c[f+52>>2]=0;g=f+60|0;h=d[f+48>>0]|0;i=(a[f+50>>0]|0)==2;j=c[g>>2]|0;a:do if(!j){k=0;l=1}else{m=i?64:0;n=i?64:h&3;o=i?255:184;p=h;q=1;r=j;while(1){s=p^3;t=g;u=1;v=r;while(1){if(!u)break;u=u+-1|0;w=v+5|0;x=d[w>>0]|0;if(!((x^3)&s)){c[t>>2]=c[v>>2];Zc(b,v);y=t}else{if(m&x|0){k=0;l=q;break a}if((a[v+4>>0]|0)==8)_c(b,v);a[w>>0]=o&x|n;y=v}v=c[y>>2]|0;if(!v){k=0;l=q;break a}else t=y}if((t|0)!=(g|0)){k=t;l=q;break a}v=c[e>>2]|0;s=q+1|0;u=d[v+48>>0]|0;x=(a[v+50>>0]|0)==2;r=c[g>>2]|0;if(!r){k=0;l=s;break}else{m=x?64:0;n=x?64:u&3;o=x?255:184;p=u;q=s}}}while(0);c[f+68>>2]=k;k=f+56|0;g=0;b:while(1){g=g+1|0;y=c[e>>2]|0;j=d[y+48>>0]|0;h=j^3;i=(a[y+50>>0]|0)==2;y=i?255:184;q=i?64:j&3;j=i?64:0;i=c[k>>2]|0;if(!i){z=0;A=26;break}p=k;o=1;n=i;while(1){if(!o)break;o=o+-1|0;i=n+5|0;m=d[i>>0]|0;if(!((m^3)&h)){c[p>>2]=c[n>>2];Zc(b,n);B=p}else{if(j&m|0){z=0;A=26;break b}if((a[n+4>>0]|0)==8)_c(b,n);a[i>>0]=y&m|q;B=n}n=c[B>>2]|0;if(!n){z=0;A=26;break b}else p=B}if((p|0)!=(k|0)){z=p;A=26;break}}if((A|0)==26){c[f+64>>2]=z;return g+l|0}return 0}function Zc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;do switch(a[e+4>>0]|0){case 9:{$c(b,e);return}case 6:{f=(d[e+6>>0]<<2)+16|0;g=c[b+12>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,f,0)|0;h=g+12|0;c[h>>2]=(c[h>>2]|0)-f;return}case 38:{f=(d[e+6>>0]<<3)+16|0;h=c[b+12>>2]|0;Ma[c[h>>2]&1](c[h+4>>2]|0,e,f,0)|0;g=h+12|0;c[g>>2]=(c[g>>2]|0)-f;return}case 10:{f=e+12|0;if((c[e+8>>2]|0)!=(f|0)){g=e+16|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[f>>2]|0)+16>>2]=c[g>>2]}g=c[b+12>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,20,0)|0;f=g+12|0;c[f>>2]=(c[f>>2]|0)+-20;return}case 5:{f=c[e+16>>2]|0;if((f|0)==2099924)i=b+12|0;else{g=20<<d[e+7>>0];h=b+12|0;j=c[h>>2]|0;Ma[c[j>>2]&1](c[j+4>>2]|0,f,g,0)|0;k=j+12|0;c[k>>2]=(c[k>>2]|0)-((f|0)==0?0:g);i=h}h=c[e+12>>2]|0;g=c[e+28>>2]<<3;f=c[i>>2]|0;Ma[c[f>>2]&1](c[f+4>>2]|0,h,g,0)|0;k=f+12|0;c[k>>2]=(c[k>>2]|0)-((h|0)==0?0:g);g=c[i>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,32,0)|0;h=g+12|0;c[h>>2]=(c[h>>2]|0)+-32;return}case 8:{ad(b,e);return}case 7:{h=(c[e+16>>2]|0)+24|0;g=c[b+12>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,h,0)|0;k=g+12|0;c[k>>2]=(c[k>>2]|0)-h;return}case 4:{h=c[b+12>>2]|0;k=h+28|0;c[k>>2]=(c[k>>2]|0)+-1;l=h;break}case 20:{l=c[b+12>>2]|0;break}default:return}while(0);b=(c[e+12>>2]|0)+17|0;Ma[c[l>>2]&1](c[l+4>>2]|0,e,b,0)|0;e=l+12|0;c[e>>2]=(c[e>>2]|0)-b;return}function _c(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=e+28|0;if(!(c[f>>2]|0))return;g=e+56|0;h=b+12|0;i=c[h>>2]|0;j=d[i+48>>0]|0;k=j^3;l=(a[i+50>>0]|0)==2;i=l?255:184;m=l?64:j&3;j=l?64:0;l=c[g>>2]|0;a:do if(l|0){n=g;o=-3;p=l;while(1){if(!o)break a;o=o+-1|0;q=p+5|0;r=d[q>>0]|0;if(!((r^3)&k)){c[n>>2]=c[p>>2];Zc(b,p);s=n}else{if(j&r|0)break a;if((a[p+4>>0]|0)==8)_c(b,p);a[q>>0]=i&r|m;s=p}p=c[s>>2]|0;if(!p)break;else n=s}}while(0);s=e+16|0;m=(c[s>>2]|0)+12|0;i=c[m>>2]|0;c[m>>2]=0;if(i|0){m=e+12|0;b=i;do{i=b;b=c[b+12>>2]|0;j=c[m>>2]|0;Ma[c[j>>2]&1](c[j+4>>2]|0,i,40,0)|0;k=j+12|0;c[k>>2]=(c[k>>2]|0)-((i|0)==0?0:40)}while((b|0)!=0)}if((a[(c[h>>2]|0)+50>>0]|0)==1)return;h=c[e+8>>2]|0;b=c[s>>2]|0;if(!b)t=h;else{s=b;b=h;while(1){h=c[s+4>>2]|0;m=b>>>0<h>>>0?h:b;s=c[s+8>>2]|0;if(!s){t=m;break}else b=m}}b=t-(c[f>>2]|0)|0;f=b>>3;t=f+11+((f+1|0)/8|0)|0;f=(t|0)<1e6?t:1e6;if((b|0)>7999992)return;if((f|0)>=(c[e+32>>2]|0))return;kc(e,f);return}function $c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b+12>>2]|0;e=c[b+48>>2]<<2;f=a+12|0;a=c[f>>2]|0;Ma[c[a>>2]&1](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+16>>2]|0;d=c[b+56>>2]<<2;g=c[f>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[b+8>>2]|0;e=c[b+44>>2]<<3;a=c[f>>2]|0;Ma[c[a>>2]&1](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+20>>2]|0;d=c[b+52>>2]<<2;g=c[f>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[b+24>>2]|0;e=(c[b+60>>2]|0)*12|0;a=c[f>>2]|0;Ma[c[a>>2]&1](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+28>>2]|0;d=c[b+40>>2]<<3;g=c[f>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[f>>2]|0;Ma[c[d>>2]&1](c[d+4>>2]|0,b,80,0)|0;f=d+12|0;c[f>>2]=(c[f>>2]|0)-((b|0)==0?0:80);return}function ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=b+28|0;Dc(b,c[d>>2]|0);e=c[d>>2]|0;if(e|0){c[b+16>>2]=b+72;f=b+84|0;g=c[f>>2]|0;c[f>>2]=0;f=b+12|0;if(!g)h=e;else{e=g;do{g=e;e=c[e+12>>2]|0;i=c[f>>2]|0;Ma[c[i>>2]&1](c[i+4>>2]|0,g,40,0)|0;j=i+12|0;c[j>>2]=(c[j>>2]|0)-((g|0)==0?0:40)}while((e|0)!=0);h=c[d>>2]|0}d=c[b+32>>2]<<3;e=c[f>>2]|0;Ma[c[e>>2]&1](c[e+4>>2]|0,h,d,0)|0;f=e+12|0;c[f>>2]=(c[f>>2]|0)-((h|0)==0?0:d)}d=c[a+12>>2]|0;Ma[c[d>>2]&1](c[d+4>>2]|0,b,116,0)|0;b=d+12|0;c[b>>2]=(c[b>>2]|0)+-116;return}function bd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[d+4>>2]|0;if(!(e&64)){f=0;return f|0}g=c[d>>2]|0;if((e&15|0)!=4){f=a[g+5>>0]&3;return f|0}if(!g){f=0;return f|0}if(!(a[g+5>>0]&3)){f=0;return f|0}uc(b,g);f=0;return f|0}function cd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+28>>2]|0;if(b|0?(e=c[a+12>>2]|0,(c[e+(b+-1<<3)+4>>2]|0)==0):0){if(b>>>0<=1){f=0;return f|0}g=b;h=0;while(1){i=(g+h|0)>>>1;j=(c[e+(i+-1<<3)+4>>2]|0)==0;k=j?h:i;g=j?i:g;if((g-k|0)>>>0<=1){f=k;break}else h=k}return f|0}h=c[a+16>>2]|0;if((h|0)==2099924){f=b;return f|0}g=a+12|0;e=a+7|0;a=b;k=b+1|0;while(1){i=k+-1|0;a:do if(i>>>0<b>>>0)l=(c[g>>2]|0)+(i<<3)|0;else{j=k<<16;m=0-j|0;n=h+(((((j|0)<0?((j|0)==(m|0)?0:m):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[n+12>>2]|0)==3?(c[n+8>>2]|0)==(j|0):0)break;m=c[n+16>>2]|0;if(!m){l=2099900;break a}else n=m}l=n}while(0);if(!(c[l+4>>2]|0))break;i=k<<1;if(i>>>0>2147483645){o=17;break}else{j=k;k=i;a=j}}if((o|0)==17){o=1;while(1){l=o+-1|0;b:do if(l>>>0<b>>>0)p=(c[g>>2]|0)+(l<<3)|0;else{j=o<<16;i=0-j|0;m=h+(((((j|0)<0?((j|0)==(i|0)?0:i):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[m+12>>2]|0)==3?(c[m+8>>2]|0)==(j|0):0)break;i=c[m+16>>2]|0;if(!i){p=2099900;break b}else m=i}p=m}while(0);if(!(c[p+4>>2]|0)){f=l;break}else o=o+1|0}return f|0}if((k-a|0)>>>0<=1){f=a;return f|0}o=k;k=a;while(1){a=(o+k|0)>>>1;p=a+-1|0;c:do if(p>>>0<b>>>0)q=(c[g>>2]|0)+(p<<3)|0;else{j=a<<16;n=0-j|0;i=h+(((((j|0)<0?((j|0)==(n|0)?0:n):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[i+12>>2]|0)==3?(c[i+8>>2]|0)==(j|0):0)break;n=c[i+16>>2]|0;if(!n){q=2099900;break c}else i=n}q=i}while(0);p=(c[q+4>>2]|0)==0;o=p?a:o;l=p?k:a;if((o-l|0)>>>0<=1){f=l;break}else k=l}return f|0}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;do switch(a|0){case 0:{d=c+b|0;break}case 1:{d=b-c|0;break}case 2:{d=Mk(b,c)|0;break}case 3:{d=Nk(b,c)|0;break}case 4:{d=Ok(b,c)|0;break}case 5:{d=Pk(b,c)|0;break}case 6:{d=c&b;break}case 7:{d=c|b;break}case 8:{d=c^b;break}case 9:{d=Zk(b,c)|0;break}case 10:{d=_k(b,c)|0;break}case 11:{d=Yk(b,c)|0;break}case 12:{d=Wk(b,c)|0;break}case 13:{d=Xk(b,c)|0;break}case 14:{d=~b;break}case 15:{d=(Nk(b,c)|0)&-65536;break}case 16:{d=Ck(b)|0;break}case 17:{d=Bk(b)|0;break}case 18:{d=Ak(b)|0;break}case 19:{d=0-b|0;break}default:d=0}while(0);return d|0}function ed(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Fa;Fa=Fa+16|0;e=(fd(b,d)|0)==0;Qc(a,e?b:c,45906)}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Fa;Fa=Fa+16|0;e=d;f=c[a+4>>2]|0;if((f|0)!=3)if((f&15|0)==4?(f=c[a>>2]|0,(Hc(f+16|0,c[f+12>>2]|0,e)|0)!=0):0){c[b>>2]=c[e>>2];c[b+4>>2]=3;g=b}else g=0;else g=a;Fa=d;return g|0}function gd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;switch(c[e+4>>2]&63){case 3:{f=c[e>>2]|0;g=0-f|0;h=(c[b+16>>2]|0)+(((((f|0)<0?((f|0)==(g|0)?0:g):f)|0)%((1<<d[b+7>>0])+-1|1|0)|0)*20|0)|0;return h|0}case 20:{f=c[e>>2]|0;g=f+6|0;if(!(a[g>>0]|0)){i=f+16|0;j=c[f+12>>2]|0;k=f+8|0;l=c[k>>2]^j;m=j>>>5;if(m>>>0<j>>>0){n=~m;o=j;j=l;while(1){p=(j<<5)+(j>>>2)+(d[i+(o+-1)>>0]|0)^j;o=o+n|0;if(o>>>0<=m>>>0){q=p;break}else j=p}}else q=l;c[k>>2]=q;a[g>>0]=1;r=c[e>>2]|0}else r=f;h=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[r+8>>2])*20|0)|0;return h|0}case 4:{h=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[(c[e>>2]|0)+8>>2])*20|0)|0;return h|0}case 1:{h=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[e>>2])*20|0)|0;return h|0}case 2:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}case 54:case 22:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}default:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}}return 0}function hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=d;d=mc(a,b,f)|0;Fa=e;return d|0}function id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(e>>>0<41){f=Oc(b,d,e)|0;return f|0}if((e+1|0)>>>0>4294967277)wc(b);g=c[b+12>>2]|0;h=c[g+44>>2]|0;i=e+17|0;j=g+4|0;k=Ma[c[g>>2]&1](c[j>>2]|0,0,4,i)|0;if((i|0)!=0&(k|0)==0){if(!(a[g+51>>0]|0))jc(b,4);vc(b,1);l=Ma[c[g>>2]&1](c[j>>2]|0,0,4,i)|0;if(!l)jc(b,4);else m=l}else m=k;k=g+12|0;c[k>>2]=(c[k>>2]|0)+i;i=g+56|0;a[m+5>>0]=a[g+48>>0]&3;a[m+4>>0]=20;c[m>>2]=c[i>>2];c[i>>2]=m;c[m+12>>2]=e;c[m+8>>2]=h;a[m+6>>0]=0;h=m+16|0;Xu(h|0,d|0,e|0)|0;a[h+e>>0]=0;f=m;return f|0}function jd(a){a=a|0;return (c[a+8>>2]|0)-((c[c[a+16>>2]>>2]|0)+8)>>3|0}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)<=-1){d=a+8|0;c[d>>2]=(c[d>>2]|0)+(b+1<<3);return}d=c[c[a+16>>2]>>2]|0;e=a+8|0;a=c[e>>2]|0;f=d+8+(b<<3)|0;if(a>>>0<f>>>0){g=((d+(b<<3)+4+(3-a)|0)>>>3)+1|0;b=a;do{c[b+4>>2]=0;b=b+8|0}while(b>>>0<f>>>0);c[e>>2]=a+(g<<3)}c[e>>2]=f;return}function ld(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+16|0;h=c[g>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){i=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){i=(c[b+12>>2]|0)+36|0;break}j=-1001e3-e|0;k=c[h>>2]|0;if((c[k+4>>2]|32|0)==54)i=2099900;else{l=c[k>>2]|0;i=(j|0)>(d[l+6>>0]|0|0)?2099900:l+16+(j+-1<<3)|0}}else{j=(c[h>>2]|0)+(e<<3)|0;i=j>>>0<(c[b+8>>2]|0)>>>0?j:2099900}while(0);do if((f|0)<=0){if((f|0)>=-1000999){m=(c[b+8>>2]|0)+(f<<3)|0;break}if((f|0)==-1001e3){m=(c[b+12>>2]|0)+36|0;break}e=-1001e3-f|0;j=c[h>>2]|0;if((c[j+4>>2]|32|0)==54)m=2099900;else{l=c[j>>2]|0;m=(e|0)>(d[l+6>>0]|0|0)?2099900:l+16+(e+-1<<3)|0}}else{e=(c[h>>2]|0)+(f<<3)|0;m=e>>>0<(c[b+8>>2]|0)>>>0?e:2099900}while(0);c[m>>2]=c[i>>2];h=i+4|0;c[m+4>>2]=c[h>>2];if((f|0)>=-1001e3)return;if(!(c[h>>2]&64))return;h=c[i>>2]|0;if(!(a[h+5>>0]&3))return;i=(c[c[c[g>>2]>>2]>>2]|0)+5|0;g=a[i>>0]|0;if(!(g&4))return;f=c[b+12>>2]|0;if((d[f+49>>0]|0)<2){uc(f,h);return}else{a[i>>0]=a[f+48>>0]&3|g&-72;return}}function md(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2099900;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2099900:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2099900}while(0);b=a+8|0;a=c[b>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[b>>2]=(c[b>>2]|0)+8;return}function nd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)>0){f=(c[e>>2]|0)+(b<<3)|0;if(f>>>0<(c[a+8>>2]|0)>>>0)g=f;else{h=-1;return h|0}}else{if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}f=-1001e3-b|0;i=c[e>>2]|0;if((c[i+4>>2]|32|0)==54){h=-1;return h|0}j=c[i>>2]|0;if((f|0)>(d[j+6>>0]|0|0)){h=-1;return h|0}else g=j+16+(f+-1<<3)|0}while(0);if((g|0)==2099900){h=-1;return h|0}h=c[g+4>>2]&15;return h|0}function od(a,b){a=a|0;b=b|0;return c[16+(b+1<<2)>>2]|0}function pd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Fa;Fa=Fa+16|0;g=f+8|0;h=f;i=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){j=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){j=(c[a+12>>2]|0)+36|0;break}k=-1001e3-b|0;l=c[i>>2]|0;if((c[l+4>>2]|32|0)==54)j=2099900;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0|0)?2099900:m+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(b<<3)|0;j=k>>>0<(c[a+8>>2]|0)>>>0?k:2099900}while(0);a=c[j+4>>2]|0;do if((a|0)==3)n=j;else{if((a&15|0)==4?(b=c[j>>2]|0,Hc(b+16|0,c[b+12>>2]|0,g)|0):0){c[h>>2]=c[g>>2];c[h+4>>2]=3;n=h;break}if(!e){o=0;Fa=f;return o|0}c[e>>2]=0;o=0;Fa=f;return o|0}while(0);if(e|0)c[e>>2]=1;o=c[n>>2]|0;Fa=f;return o|0}function qd(a){a=a|0;var b=0,d=0,e=0,f=0;b=Fa;Fa=Fa+16|0;d=b;e=c[a+4>>2]|0;if((e|0)==3){f=c[a>>2]|0;Fa=b;return f|0}if((e&15|0)==4?(e=c[a>>2]|0,Hc(e+16|0,c[e+12>>2]|0,d)|0):0){f=c[d>>2]|0;Fa=b;return f|0}f=0;Fa=b;return f|0}function rd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Fa;Fa=Fa+16|0;g=f;h=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){i=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){i=(c[a+12>>2]|0)+36|0;break}j=-1001e3-b|0;k=c[h>>2]|0;if((c[k+4>>2]|32|0)==54)i=2099900;else{l=c[k>>2]|0;i=(j|0)>(d[l+6>>0]|0|0)?2099900:l+16+(j+-1<<3)|0}}else{j=(c[h>>2]|0)+(b<<3)|0;i=j>>>0<(c[a+8>>2]|0)>>>0?j:2099900}while(0);a=c[i+4>>2]|0;do if((a|0)==3)m=c[i>>2]|0;else{if((a&15|0)==4?(b=c[i>>2]|0,Hc(b+16|0,c[b+12>>2]|0,g)|0):0){m=c[g>>2]|0;break}if(!e){n=0;Fa=f;return n|0}c[e>>2]=0;n=0;Fa=f;return n|0}while(0);g=m>>16;if(!e){n=g;Fa=f;return n|0}c[e>>2]=1;n=g;Fa=f;return n|0}function sd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2099900;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2099900:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2099900}while(0);a=c[f+4>>2]|0;switch(a|0){case 1:{j=(c[f>>2]|0)!=0&1;return j|0}case 0:{j=a;return j|0}default:{j=1;return j|0}}return 0}function td(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=b+16|0;h=c[g>>2]|0;i=(e|0)>0;do if(!i){if((e|0)>=-1000999){j=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){j=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;l=c[h>>2]|0;if((c[l+4>>2]|32|0)==54)j=2099900;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0)?2099900:m+16+(k+-1<<3)|0}}else{k=(c[h>>2]|0)+(e<<3)|0;j=k>>>0<(c[b+8>>2]|0)>>>0?k:2099900}while(0);do if((c[j+4>>2]&15|0)!=4){if(!(ud(b,j)|0)){if(!f){n=0;return n|0}c[f>>2]=0;n=0;return n|0}h=b+12|0;k=c[h>>2]|0;m=k+12|0;l=c[m>>2]|0;do if((l|0)>0)if(!(a[k+51>>0]|0)){o=k+8|0;c[o>>2]=l+1600+(c[o>>2]|0);c[m>>2]=-1600;break}else{zc(b);break}while(0);m=c[g>>2]|0;if(i){l=(c[m>>2]|0)+(e<<3)|0;p=l>>>0<(c[b+8>>2]|0)>>>0?l:2099900;break}if((e|0)>=-1000999){p=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){p=(c[h>>2]|0)+36|0;break}l=-1001e3-e|0;k=c[m>>2]|0;if((c[k+4>>2]|32|0)==54)p=2099900;else{m=c[k>>2]|0;p=(l|0)>(d[m+6>>0]|0)?2099900:m+16+(l+-1<<3)|0}}else p=j;while(0);if(f|0)c[f>>2]=c[(c[p>>2]|0)+12>>2];n=(c[p>>2]|0)+16|0;return n|0}function ud(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Fa;Fa=Fa+32|0;f=e;g=d+4|0;if((c[g>>2]|0)!=3){h=0;Fa=e;return h|0}i=Nc(f,c[d>>2]|0)|0;if(i>>>0<41)j=Oc(b,f,i)|0;else{if((i+1|0)>>>0>4294967277)wc(b);k=c[b+12>>2]|0;l=c[k+44>>2]|0;m=i+17|0;n=k+4|0;o=Ma[c[k>>2]&1](c[n>>2]|0,0,4,m)|0;if((m|0)!=0&(o|0)==0){if(!(a[k+51>>0]|0))jc(b,4);vc(b,1);p=Ma[c[k>>2]&1](c[n>>2]|0,0,4,m)|0;if(!p)jc(b,4);else q=p}else q=o;o=k+12|0;c[o>>2]=(c[o>>2]|0)+m;m=k+56|0;a[q+5>>0]=a[k+48>>0]&3;a[q+4>>0]=20;c[q>>2]=c[m>>2];c[m>>2]=q;c[q+12>>2]=i;c[q+8>>2]=l;a[q+6>>0]=0;l=q+16|0;Xu(l|0,f|0,i|0)|0;a[l+i>>0]=0;j=q}c[d>>2]=j;c[g>>2]=(a[j+4>>0]|64)&255;h=1;Fa=e;return h|0}function vd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2099900;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2099900:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2099900}while(0);switch(c[f+4>>2]&15){case 4:{j=c[(c[f>>2]|0)+12>>2]|0;return j|0}case 7:{j=c[(c[f>>2]|0)+16>>2]|0;return j|0}case 5:{j=cd(c[f>>2]|0)|0;return j|0}default:{j=0;return j|0}}return 0}function wd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[a+16>>2]|0;f=(b|0)>0;do if(!f){if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}h=-1001e3-b|0;i=c[e>>2]|0;if((c[i+4>>2]|32|0)==54)g=2099900;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2099900:j+16+(h+-1<<3)|0}}else{h=(c[e>>2]|0)+(b<<3)|0;g=h>>>0<(c[a+8>>2]|0)>>>0?h:2099900}while(0);switch(c[g+4>>2]&63){case 5:{k=c[g>>2]|0;return k|0}case 6:{k=c[g>>2]|0;return k|0}case 38:{k=c[g>>2]|0;return k|0}case 54:case 22:{k=c[g>>2]|0;return k|0}case 8:{k=c[g>>2]|0;return k|0}case 2:case 7:{do if(!f){if((b|0)>=-1000999){l=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){l=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)l=2099900;else{j=c[h>>2]|0;l=(g|0)>(d[j+6>>0]|0|0)?2099900:j+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;l=g>>>0<(c[a+8>>2]|0)>>>0?g:2099900}while(0);switch(c[l+4>>2]&15){case 7:{k=(c[l>>2]|0)+24|0;return k|0}case 2:{k=c[l>>2]|0;return k|0}default:{k=0;return k|0}}break}default:{k=0;return k|0}}return 0}function xd(a){a=a|0;var b=0;b=a+8|0;a=c[b>>2]|0;c[a+4>>2]=0;c[b>>2]=a+8;return}function yd(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;c[a>>2]=b;c[a+4>>2]=3;c[d>>2]=(c[d>>2]|0)+8;return}function zd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+12>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;break}else{zc(b);break}while(0);g=id(b,d,e)|0;e=b+8|0;b=c[e>>2]|0;c[b>>2]=g;c[b+4>>2]=(a[g+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return g+16|0}function Ad(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!d){e=b+8|0;f=c[e>>2]|0;c[f+4>>2]=0;c[e>>2]=f+8;g=0;return g|0}f=c[b+12>>2]|0;e=f+12|0;h=c[e>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[e>>2]=-1600;break}else{zc(b);break}while(0);e=id(b,d,ft(d)|0)|0;d=b+8|0;b=c[d>>2]|0;c[b>>2]=e;c[b+4>>2]=(a[e+4>>0]|64)&255;c[d>>2]=(c[d>>2]|0)+8;g=e+16|0;return g|0}function Bd(a,b){a=a|0;b=b|0;return id(a,b,ft(b)|0)|0}function Cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+12>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;break}else{zc(b);break}while(0);return mc(b,d,e)|0}function Dd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Fa;Fa=Fa+16|0;g=f;h=c[b+12>>2]|0;i=h+12|0;j=c[i>>2]|0;do if((j|0)>0)if(!(a[h+51>>0]|0)){k=h+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[i>>2]=-1600;break}else{zc(b);break}while(0);c[g>>2]=e;e=mc(b,d,g)|0;Fa=f;return e|0}function Ed(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;a:do if((e|0)<0){switch(e|0){case -3333:break;default:break a}f=b+8|0;g=c[f>>2]|0;c[g>>2]=d;h=f;i=54;j=g;k=j+4|0;c[k>>2]=i;l=c[h>>2]|0;m=l+8|0;c[h>>2]=m;return}else{switch(e|0){case 0:break;default:break a}g=b+8|0;f=c[g>>2]|0;c[f>>2]=d;h=g;i=22;j=f;k=j+4|0;c[k>>2]=i;l=c[h>>2]|0;m=l+8|0;c[h>>2]=m;return}while(0);f=b+12|0;g=c[f>>2]|0;n=g+12|0;o=c[n>>2]|0;if((o|0)<=0){p=(e<<3)+16|0;q=g+4|0;r=Ma[c[g>>2]&1](c[q>>2]|0,0,6,p)|0;if((p|0)!=0&(r|0)==0){if(!(a[g+51>>0]|0))jc(b,4);vc(b,1);s=Ma[c[g>>2]&1](c[q>>2]|0,0,6,p)|0;if(!s)jc(b,4);else{t=s;u=n;v=g;w=p}}else{t=r;u=n;v=g;w=p}}else{if(!(a[g+51>>0]|0)){p=g+8|0;c[p>>2]=o+1600+(c[p>>2]|0);c[n>>2]=-1600;x=g}else{zc(b);x=c[f>>2]|0}f=(e<<3)+16|0;g=x+4|0;n=Ma[c[x>>2]&1](c[g>>2]|0,0,6,f)|0;if((f|0)!=0&(n|0)==0){if(!(a[x+51>>0]|0))jc(b,4);vc(b,1);p=Ma[c[x>>2]&1](c[g>>2]|0,0,6,f)|0;if(!p)jc(b,4);else y=p}else y=n;t=y;u=x+12|0;v=x;w=f}c[u>>2]=(c[u>>2]|0)+w;w=v+56|0;a[t+5>>0]=a[v+48>>0]&3;a[t+4>>0]=38;c[t>>2]=c[w>>2];c[w>>2]=t;a[t+6>>0]=e;c[t+12>>2]=d;d=b+8|0;b=(c[d>>2]|0)+(0-e<<3)|0;c[d>>2]=b;w=e;e=b;do{w=w+-1|0;c[t+16+(w<<3)>>2]=c[e+(w<<3)>>2];c[t+16+(w<<3)+4>>2]=c[e+(w<<3)+4>>2];e=c[d>>2]|0}while((w|0)!=0);c[e>>2]=t;h=d;i=102;j=e;k=j+4|0;c[k>>2]=i;l=c[h>>2]|0;m=l+8|0;c[h>>2]=m;return}function Fd(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;c[a>>2]=(b|0)!=0&1;c[a+4>>2]=1;c[d>>2]=(c[d>>2]|0)+8;return}function Gd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[(c[b+12>>2]|0)+36>>2]|0;a:do if((c[f+28>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+8|0;else{h=(c[f+16>>2]|0)+((131072%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==131072:0)break;i=c[h+16>>2]|0;if(!i){g=2099900;break a}else h=i}g=h}while(0);f=b+8|0;i=c[f>>2]|0;c[f>>2]=i+8;j=id(b,e,ft(e)|0)|0;c[i>>2]=j;c[i+4>>2]=(a[j+4>>0]|64)&255;j=(c[f>>2]|0)+-8|0;sc(b,g,j,j);return}function Hd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2099900;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2099900:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2099900}while(0);b=(c[a+8>>2]|0)+-8|0;sc(a,f,b,b);return}function Id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=b+12|0;g=c[f>>2]|0;h=g+12|0;i=c[h>>2]|0;do if((i|0)>0)if(!(a[g+51>>0]|0)){j=g+8|0;c[j>>2]=i+1600+(c[j>>2]|0);c[h>>2]=-1600;k=g;break}else{zc(b);k=c[f>>2]|0;break}else k=g;while(0);g=k+4|0;f=Ma[c[k>>2]&1](c[g>>2]|0,0,5,32)|0;if(!f){if(!(a[k+51>>0]|0))jc(b,4);vc(b,1);h=Ma[c[k>>2]&1](c[g>>2]|0,0,5,32)|0;if(!h)jc(b,4);else l=h}else l=f;f=k+12|0;c[f>>2]=(c[f>>2]|0)+32;f=k+56|0;a[l+5>>0]=a[k+48>>0]&3;a[l+4>>0]=5;c[l>>2]=c[f>>2];c[f>>2]=l;c[l+8>>2]=0;a[l+6>>0]=-1;c[l+12>>2]=0;c[l+28>>2]=0;c[l+16>>2]=2099924;a[l+7>>0]=0;c[l+20>>2]=2099924;f=b+8|0;k=c[f>>2]|0;c[k>>2]=l;c[k+4>>2]=69;c[f>>2]=(c[f>>2]|0)+8;if(!((d|0)>0|(e|0)>0))return;Ic(b,l,d,e);return}function Jd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[(c[b+12>>2]|0)+36>>2]|0;a:do if((c[f+28>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+8|0;else{h=(c[f+16>>2]|0)+((131072%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==131072:0)break;i=c[h+16>>2]|0;if(!i){g=2099900;break a}else h=i}g=h}while(0);f=b+8|0;i=c[f>>2]|0;c[f>>2]=i+8;j=id(b,e,ft(e)|0)|0;c[i>>2]=j;c[i+4>>2]=(a[j+4>>0]|64)&255;j=c[f>>2]|0;tc(b,g,j+-8|0,j+-16|0);c[f>>2]=(c[f>>2]|0)+-16;return}function Kd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=Fa;Fa=Fa+16|0;h=g;i=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){j=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){j=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;l=c[i>>2]|0;if((c[l+4>>2]|32|0)==54)j=2099900;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0|0)?2099900:m+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(e<<3)|0;j=k>>>0<(c[b+8>>2]|0)>>>0?k:2099900}while(0);e=c[j>>2]|0;i=b+8|0;k=c[i>>2]|0;m=k+-8|0;l=f+-1|0;a:do if(l>>>0<(c[e+28>>2]|0)>>>0){n=(c[e+12>>2]|0)+(l<<3)|0;o=16}else{p=f<<16;q=0-p|0;r=(c[e+16>>2]|0)+(((((p|0)<0?((p|0)==(q|0)?0:q):p)|0)%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[r+12>>2]|0)==3?(c[r+8>>2]|0)==(p|0):0)break;q=c[r+16>>2]|0;if(!q){s=p;o=18;break a}else r=q}n=r;o=16}while(0);if((o|0)==16)if((n|0)==2099900){s=f<<16;o=18}else t=n;if((o|0)==18){c[h>>2]=s;c[h+4>>2]=3;t=yc(b,e,h)|0}c[t>>2]=c[m>>2];c[t+4>>2]=c[k+-4>>2];k=c[i>>2]|0;if(!(c[k+-4>>2]&64)){u=k;v=u+-8|0;c[i>>2]=v;Fa=g;return}if(!(a[(c[k+-8>>2]|0)+5>>0]&3)){u=k;v=u+-8|0;c[i>>2]=v;Fa=g;return}t=c[j>>2]|0;j=t+5|0;m=a[j>>0]|0;if(!(m&4)){u=k;v=u+-8|0;c[i>>2]=v;Fa=g;return}k=c[b+12>>2]|0;a[j>>0]=m&-5;m=k+76|0;c[t+24>>2]=c[m>>2];c[m>>2]=t;u=c[i>>2]|0;v=u+-8|0;c[i>>2]=v;Fa=g;return}function Ld(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){g=(c[b+12>>2]|0)+36|0;break}h=-1001e3-e|0;i=c[f>>2]|0;if((c[i+4>>2]|32|0)==54)g=2099900;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2099900:j+16+(h+-1<<3)|0}}else{h=(c[f>>2]|0)+(e<<3)|0;g=h>>>0<(c[b+8>>2]|0)>>>0?h:2099900}while(0);e=b+8|0;f=c[e>>2]|0;if(!(c[f+-4>>2]|0)){k=0;l=0}else{h=c[f+-8>>2]|0;k=h;l=h}h=c[g+4>>2]|0;switch(h&15){case 5:{c[(c[g>>2]|0)+8>>2]=l;if(!k){m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}if(a[k+5>>0]&3?(f=c[g>>2]|0,j=f+5|0,i=a[j>>0]|0,i&4):0){o=c[b+12>>2]|0;a[j>>0]=i&-5;i=o+76|0;c[f+24>>2]=c[i>>2];c[i>>2]=f}Md(b,c[g>>2]|0,k);m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}case 7:{c[(c[g>>2]|0)+8>>2]=k;if(!k){m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}do if(a[l+5>>0]&3?(f=(c[g>>2]|0)+5|0,i=a[f>>0]|0,i&4):0){o=c[b+12>>2]|0;if((d[o+49>>0]|0)<2){uc(o,l);break}else{a[f>>0]=a[o+48>>0]&3|i&-72;break}}while(0);Md(b,c[g>>2]|0,k);m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}default:{c[(c[b+12>>2]|0)+276+((h&15)<<2)>>2]=k;m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}}return 0}function Md(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=b+12|0;h=c[g>>2]|0;i=e+5|0;if((f|0)==0|(a[i>>0]&24)!=0)return;j=f+6|0;k=a[j>>0]|0;if(k&4)return;l=c[h+164>>2]|0;m=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+-1&c[l+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(l|0):0){n=6;break}f=c[m+16>>2]|0;if(!f){o=2099900;break}else m=f}if((n|0)==6)o=m;if(!(c[o+4>>2]|0)){a[j>>0]=k|4;return}if(!o)return;o=h+64|0;k=c[o>>2]|0;if((k|0)==(e|0)){j=h;while(1){m=d[j+48>>0]|0;n=m^3;l=(a[j+50>>0]|0)==2;f=l?255:184;p=l?64:m&3;m=l?64:0;l=c[k>>2]|0;a:do if(!l)q=0;else{r=k;s=1;t=l;while(1){if(!s){q=r;break a}s=s+-1|0;u=t+5|0;v=d[u>>0]|0;if(!((v^3)&n)){c[r>>2]=c[t>>2];Zc(b,t);w=r}else{if(m&v|0){q=0;break a}if((a[t+4>>0]|0)==8)_c(b,t);a[u>>0]=f&v|p;w=t}t=c[w>>2]|0;if(!t){q=0;break}else r=w}}while(0);if((q|0)!=(k|0))break;j=c[g>>2]|0}c[o>>2]=q}q=h+56|0;o=c[q>>2]|0;if((o|0)==(e|0))x=q;else{q=o;while(1){o=c[q>>2]|0;if((o|0)==(e|0))break;else q=o}x=q}c[x>>2]=c[e>>2];x=h+60|0;c[e>>2]=c[x>>2];c[x>>2]=e;e=a[i>>0]|16;a[i>>0]=e;x=e&255;if((d[h+49>>0]|0)<2)y=x&191;else y=x&184|a[h+48>>0]&3;a[i>>0]=y;return}function Nd(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=Fa;Fa=Fa+16|0;l=k;m=k+8|0;if(!h)n=0;else{o=c[e+16>>2]|0;do if((h|0)<=0){if((h|0)>=-1000999){p=(c[e+8>>2]|0)+(h<<3)|0;break}if((h|0)==-1001e3){p=(c[e+12>>2]|0)+36|0;break}q=-1001e3-h|0;r=c[o>>2]|0;if((c[r+4>>2]|32|0)==54)p=2099900;else{s=c[r>>2]|0;p=(q|0)>(d[s+6>>0]|0)?2099900:s+16+(q+-1<<3)|0}}else{q=(c[o>>2]|0)+(h<<3)|0;p=q>>>0<(c[e+8>>2]|0)>>>0?q:2099900}while(0);n=p-(c[e+28>>2]|0)|0}p=e+8|0;h=(c[p>>2]|0)+(~f<<3)|0;c[m>>2]=h;f=h;if((j|0)!=0?(b[e+36>>1]|0)==0:0){o=c[e+16>>2]|0;c[o+28>>2]=j;c[o+24>>2]=i;c[o+20>>2]=f-(c[e+28>>2]|0);a[o+36>>0]=a[e+41>>0]|0;i=e+68|0;j=o+32|0;c[j>>2]=c[i>>2];c[i>>2]=n;q=o+18|0;a[q>>0]=a[q>>0]|16;o=e+38|0;s=(b[o>>1]|0)+1<<16>>16;b[o>>1]=s;if((s&65535)>199){if(s<<16>>16==200)lc(e,45525,l);if((s&65535)>224)jc(e,6)}if(!(pc(e,h,g)|0))qc(e);b[o>>1]=(b[o>>1]|0)+-1<<16>>16;a[q>>0]=a[q>>0]&-17;c[i>>2]=c[j>>2];t=0}else{c[m+4>>2]=g;t=Pd(e,3,m,f-(c[e+28>>2]|0)|0,n)|0}if((g|0)!=-1){Fa=k;return t|0}g=(c[e+16>>2]|0)+4|0;e=c[p>>2]|0;if((c[g>>2]|0)>>>0>=e>>>0){Fa=k;return t|0}c[g>>2]=e;Fa=k;return t|0}function Od(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Fa;Fa=Fa+16|0;f=e;g=c[d>>2]|0;h=c[d+4>>2]|0;d=a+38|0;i=(b[d>>1]|0)+1<<16>>16;b[d>>1]=i;if((i&65535)>199){if(i<<16>>16==200)lc(a,45525,f);if((i&65535)>224)jc(a,6)}i=a+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;if(!(pc(a,g,h)|0))qc(a);b[i>>1]=(b[i>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Fa=e;return}function Pd(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=d+16|0;j=c[i>>2]|0;k=d+41|0;l=a[k>>0]|0;m=d+36|0;n=b[m>>1]|0;o=d+68|0;p=c[o>>2]|0;c[o>>2]=h;h=ic(d,e,f)|0;if(!h){c[o>>2]=p;return h|0}f=d+28|0;e=(c[f>>2]|0)+g|0;Dc(d,e);switch(h|0){case 4:{g=c[(c[d+12>>2]|0)+152>>2]|0;c[e>>2]=g;q=(a[g+4>>0]|64)&255;break}case 6:{g=Oc(d,46185,23)|0;c[e>>2]=g;q=(a[g+4>>0]|64)&255;break}default:{g=c[d+8>>2]|0;c[e>>2]=c[g+-8>>2];q=c[g+-4>>2]|0}}c[e+4>>2]=q;q=e+8|0;c[d+8>>2]=q;c[i>>2]=j;a[k>>0]=l;b[m>>1]=n;if(!j)r=q;else{n=j;j=q;while(1){q=c[n+4>>2]|0;m=j>>>0<q>>>0?q:j;n=c[n+8>>2]|0;if(!n){r=m;break}else j=m}}j=r-(c[f>>2]|0)|0;f=j>>3;r=f+11+((f+1|0)/8|0)|0;f=(r|0)<1e6?r:1e6;if((j|0)>7999992){c[o>>2]=p;return h|0}if((f|0)>=(c[d+32>>2]|0)){c[o>>2]=p;return h|0}kc(d,f);c[o>>2]=p;return h|0}function Qd(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=Fa;Fa=Fa+32|0;j=i;c[j+16>>2]=b;c[j+8>>2]=e;c[j+12>>2]=f;c[j>>2]=0;c[j+4>>2]=0;f=Rd(b,j,(g|0)==0?45758:g,h)|0;if(f|0){Fa=i;return f|0}h=c[(c[b+8>>2]|0)+-8>>2]|0;if((a[h+6>>0]|0)!=1){Fa=i;return f|0}g=b+12|0;b=c[(c[g>>2]|0)+36>>2]|0;a:do if((c[b+28>>2]|0)>>>0>1)k=(c[b+12>>2]|0)+8|0;else{j=(c[b+16>>2]|0)+((131072%((1<<d[b+7>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==131072:0)break;e=c[j+16>>2]|0;if(!e){k=2099900;break a}else j=e}k=j}while(0);b=h+16|0;h=c[(c[b>>2]|0)+8>>2]|0;c[h>>2]=c[k>>2];e=k+4|0;c[h+4>>2]=c[e>>2];if(!(c[e>>2]&64)){Fa=i;return f|0}e=c[k>>2]|0;if(!(a[e+5>>0]&3)){Fa=i;return f|0}k=(c[b>>2]|0)+5|0;b=a[k>>0]|0;if(!(b&4)){Fa=i;return f|0}h=c[g>>2]|0;if((d[h+49>>0]|0)<2){uc(h,e);Fa=i;return f|0}else{a[k>>0]=a[h+48>>0]&3|b&-72;Fa=i;return f|0}return 0}function Rd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=Fa;Fa=Fa+64|0;h=g;i=a+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;c[h>>2]=d;c[h+56>>2]=e;c[h+52>>2]=f;f=h+16|0;c[f>>2]=0;e=h+24|0;c[e>>2]=0;d=h+28|0;c[d>>2]=0;j=h+36|0;c[j>>2]=0;k=h+40|0;c[k>>2]=0;l=h+48|0;c[l>>2]=0;m=h+4|0;c[m>>2]=0;n=h+12|0;c[n>>2]=0;o=Pd(a,4,h,(c[a+8>>2]|0)-(c[a+28>>2]|0)|0,c[a+68>>2]|0)|0;h=c[m>>2]|0;p=c[n>>2]|0;q=a+12|0;a=c[q>>2]|0;r=Ma[c[a>>2]&1](c[a+4>>2]|0,h,p,0)|0;s=a+12|0;c[s>>2]=(c[s>>2]|0)+((h|0)==0?0:0-p|0);c[m>>2]=r;c[n>>2]=0;n=c[f>>2]|0;f=c[e>>2]<<1;e=c[q>>2]|0;Ma[c[e>>2]&1](c[e+4>>2]|0,n,f,0)|0;r=e+12|0;c[r>>2]=(c[r>>2]|0)+((n|0)==0?0:0-f|0);f=c[d>>2]|0;d=c[j>>2]<<4;j=c[q>>2]|0;Ma[c[j>>2]&1](c[j+4>>2]|0,f,d,0)|0;n=j+12|0;c[n>>2]=(c[n>>2]|0)+((f|0)==0?0:0-d|0);d=c[k>>2]|0;k=c[l>>2]<<4;l=c[q>>2]|0;Ma[c[l>>2]&1](c[l+4>>2]|0,d,k,0)|0;q=l+12|0;c[q>>2]=(c[q>>2]|0)+((d|0)==0?0:0-k|0);b[i>>1]=(b[i>>1]|0)+-1<<16>>16;Fa=g;return o|0}function Sd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=Fa;Fa=Fa+32|0;g=f+8|0;h=f;i=f+16|0;j=c[e>>2]|0;k=c[j>>2]|0;c[j>>2]=k+-1;if(!k){k=La[c[j+8>>2]&7](c[j+16>>2]|0,c[j+12>>2]|0,i)|0;l=c[i>>2]|0;if((k|0)==0|(l|0)==0)m=-1;else{c[j>>2]=l+-1;c[j+4>>2]=k+1;m=d[k>>0]|0}n=m}else{m=j+4|0;j=c[m>>2]|0;c[m>>2]=j+1;n=d[j>>0]|0}j=c[e+52>>2]|0;m=(j|0)==0;if((n|0)==27){if(!m?(rt(j,98)|0)==0:0){c[h>>2]=46251;c[h+4>>2]=j;hd(b,46209,h)|0;jc(b,3)}o=Td(b,c[e>>2]|0,e+4|0,c[e+56>>2]|0)|0}else{if(!m?(rt(j,116)|0)==0:0){c[g>>2]=46258;c[g+4>>2]=j;hd(b,46209,g)|0;jc(b,3)}o=Ud(b,c[e>>2]|0,e+4|0,e+16|0,c[e+56>>2]|0,n)|0}n=o+6|0;if(!(a[n>>0]|0)){Fa=f;return}e=b+12|0;g=o+16|0;j=o+5|0;o=0;while(1){m=c[e>>2]|0;h=m+4|0;k=Ma[c[m>>2]&1](c[h>>2]|0,0,10,20)|0;if(!k){if(!(a[m+51>>0]|0)){p=20;break}vc(b,1);l=Ma[c[m>>2]&1](c[h>>2]|0,0,10,20)|0;if(!l){p=20;break}else q=l}else q=k;k=m+12|0;c[k>>2]=(c[k>>2]|0)+20;k=m+56|0;l=q+5|0;a[l>>0]=a[m+48>>0]&3;a[q+4>>0]=10;c[q>>2]=c[k>>2];c[k>>2]=q;c[q+8>>2]=q+12;c[q+16>>2]=0;c[g+(o<<2)>>2]=q;do if(a[l>>0]&3?(k=a[j>>0]|0,k&4):0){m=c[e>>2]|0;if((d[m+49>>0]|0)<2){uc(m,q);break}else{a[j>>0]=a[m+48>>0]&3|k&-72;break}}while(0);o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0){p=27;break}}if((p|0)==20)jc(b,4);else if((p|0)==27){Fa=f;return}}function Td(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=Fa;Fa=Fa+96|0;i=h+56|0;j=h+80|0;k=h+32|0;l=h;m=h+64|0;switch(a[g>>0]|0){case 61:case 64:{n=g+1|0;break}case 27:{n=47353;break}default:n=g}c[m+12>>2]=n;c[m>>2]=d;c[m+4>>2]=e;c[m+8>>2]=f;c[k>>2]=1635077147;a[k+4>>0]=82;a[k+5>>0]=0;f=k+7|0;a[k+6>>0]=1;n=k+12|0;a[f>>0]=4;a[f+1>>0]=4;a[f+2>>0]=4;a[f+3>>0]=4;a[k+11>>0]=1;c[n>>2]=c[8778];b[n+4>>1]=b[17558]|0;a[l>>0]=27;n=e+16|0;f=e+8|0;g=e+12|0;o=e+4|0;p=17;q=l+1|0;r=c[e>>2]|0;while(1){if(!r){s=La[c[f>>2]&7](c[n>>2]|0,c[g>>2]|0,j)|0;t=c[j>>2]|0;if((s|0)==0|(t|0)==0){u=10;break}c[e>>2]=t;c[o>>2]=s;v=t;w=s}else{v=r;w=c[o>>2]|0}s=p>>>0>v>>>0?v:p;Xu(q|0,w|0,s|0)|0;r=(c[e>>2]|0)-s|0;c[e>>2]=r;c[o>>2]=(c[o>>2]|0)+s;p=p-s|0;if(!p)break;else q=q+s|0}if((u|0)==10)Xe(m,47367);if(ss(k,l,18)|0){if((c[k>>2]|0)!=(c[l>>2]|0))Xe(m,47377);if(ss(k,l,6)|0)Xe(m,47383);if(!(ss(k,l,12)|0))Xe(m,47416);else Xe(m,47403)}l=d+12|0;k=c[l>>2]|0;u=k+4|0;q=Ma[c[k>>2]&1](c[u>>2]|0,0,6,20)|0;if(!q){if(!(a[k+51>>0]|0))jc(d,4);vc(d,1);p=Ma[c[k>>2]&1](c[u>>2]|0,0,6,20)|0;if(!p)jc(d,4);else x=p}else x=q;q=k+12|0;c[q>>2]=(c[q>>2]|0)+20;q=k+56|0;a[x+5>>0]=a[k+48>>0]&3;a[x+4>>0]=6;c[x>>2]=c[q>>2];c[q>>2]=x;q=x+12|0;c[q>>2]=0;a[x+6>>0]=1;c[x+16>>2]=0;k=d+8|0;p=c[k>>2]|0;c[p>>2]=x;c[p+4>>2]=70;p=(c[k>>2]|0)+8|0;c[k>>2]=p;u=p;do if(((c[d+24>>2]|0)-u|0)<8){p=c[d+32>>2]|0;if((p|0)>1e6)jc(d,6);o=(u-(c[d+28>>2]|0)>>3)+5|0;r=p<<1;p=(r|0)<1e6?r:1e6;r=(p|0)<(o|0)?o:p;if((r|0)>1e6){kc(d,1000200);lc(d,45510,i)}else{kc(d,r);break}}while(0);i=c[l>>2]|0;l=i+4|0;u=Ma[c[i>>2]&1](c[l>>2]|0,0,9,80)|0;if(!u){if(!(a[i+51>>0]|0))jc(d,4);vc(d,1);r=Ma[c[i>>2]&1](c[l>>2]|0,0,9,80)|0;if(!r)jc(d,4);else y=r}else y=u;u=i+12|0;c[u>>2]=(c[u>>2]|0)+80;u=i+56|0;a[y+5>>0]=a[i+48>>0]&3;a[y+4>>0]=9;c[y>>2]=c[u>>2];c[u>>2]=y;a[y+76>>0]=0;a[y+77>>0]=0;a[y+78>>0]=0;u=y+8|0;i=u+64|0;do{c[u>>2]=0;u=u+4|0}while((u|0)<(i|0));c[q>>2]=y;Ye(m,y);y=c[q>>2]|0;q=c[y+40>>2]|0;if((q|0)==1){z=x;Fa=h;return z|0}x=Jc(d,q)|0;c[x+12>>2]=y;y=c[k>>2]|0;c[y+-8>>2]=x;c[y+-4>>2]=70;z=x;Fa=h;return z|0}function Ud(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;j=Fa;Fa=Fa+160|0;k=j+8|0;l=j;m=j+144|0;n=j+128|0;o=j+64|0;p=j+12|0;q=d+12|0;r=c[q>>2]|0;s=r+4|0;t=Ma[c[r>>2]&1](c[s>>2]|0,0,6,20)|0;if(!t){if(!(a[r+51>>0]|0))jc(d,4);vc(d,1);u=Ma[c[r>>2]&1](c[s>>2]|0,0,6,20)|0;if(!u)jc(d,4);else v=u}else v=t;t=r+12|0;c[t>>2]=(c[t>>2]|0)+20;t=r+56|0;a[v+5>>0]=a[r+48>>0]&3;a[v+4>>0]=6;c[v>>2]=c[t>>2];c[t>>2]=v;t=v+12|0;c[t>>2]=0;a[v+6>>0]=1;c[v+16>>2]=0;r=d+8|0;u=c[r>>2]|0;c[u>>2]=v;c[u+4>>2]=70;u=(c[r>>2]|0)+8|0;c[r>>2]=u;r=u;do if(((c[d+24>>2]|0)-r|0)<8){u=c[d+32>>2]|0;if((u|0)>1e6)jc(d,6);s=(r-(c[d+28>>2]|0)>>3)+5|0;w=u<<1;u=(w|0)<1e6?w:1e6;w=(u|0)<(s|0)?s:u;if((w|0)>1e6){kc(d,1000200);lc(d,45510,l)}else{kc(d,w);break}}while(0);l=c[q>>2]|0;q=l+4|0;r=Ma[c[l>>2]&1](c[q>>2]|0,0,9,80)|0;if(!r){if(!(a[l+51>>0]|0))jc(d,4);vc(d,1);w=Ma[c[l>>2]&1](c[q>>2]|0,0,9,80)|0;if(!w)jc(d,4);else x=w}else x=r;r=l+12|0;c[r>>2]=(c[r>>2]|0)+80;r=l+56|0;a[x+5>>0]=a[l+48>>0]&3;a[x+4>>0]=9;c[x>>2]=c[r>>2];c[r>>2]=x;a[x+76>>0]=0;a[x+77>>0]=0;a[x+78>>0]=0;r=x+8|0;l=r+64|0;do{c[r>>2]=0;r=r+4|0}while((r|0)<(l|0));c[t>>2]=x;c[p>>2]=x;t=id(d,h,ft(h)|0)|0;c[x+36>>2]=t;h=o+40|0;c[h>>2]=f;f=o+44|0;c[f>>2]=g;c[g+28>>2]=0;c[g+16>>2]=0;c[g+4>>2]=0;a[o+56>>0]=46;g=o+32|0;c[g>>2]=d;c[o>>2]=i;c[o+20>>2]=286;c[o+36>>2]=e;e=o+28|0;c[e>>2]=0;i=o+4|0;c[i>>2]=1;r=o+8|0;c[r>>2]=1;l=o+48|0;c[l>>2]=t;t=Oc(d,45828,4)|0;d=o+52|0;c[d>>2]=t;w=t+5|0;a[w>>0]=a[w>>0]|32;w=c[g>>2]|0;g=c[h>>2]|0;h=c[g>>2]|0;t=g+8|0;q=c[t>>2]|0;u=w+12|0;s=c[u>>2]|0;y=(h|0)==0;z=s+4|0;A=Ma[c[s>>2]&1](c[z>>2]|0,h,q,32)|0;if(!A){if(!(a[s+51>>0]|0))jc(w,4);vc(w,1);B=Ma[c[s>>2]&1](c[z>>2]|0,h,q,32)|0;if(!B)jc(w,4);else C=B}else C=A;A=s+12|0;c[A>>2]=(c[A>>2]|0)+(y?32:32-q|0);c[g>>2]=C;c[t>>2]=32;c[p+8>>2]=c[e>>2];t=p+12|0;c[t>>2]=o;c[e>>2]=p;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=-1;c[p+32>>2]=0;c[p+36>>2]=0;e=p+44|0;c[e>>2]=0;a[e+4>>0]=0;c[p+40>>2]=c[(c[f>>2]|0)+4>>2];f=p+16|0;c[f>>2]=0;c[x+36>>2]=c[l>>2];a[x+78>>0]=2;x=c[u>>2]|0;u=x+4|0;l=Ma[c[x>>2]&1](c[u>>2]|0,0,5,32)|0;if(!l){if(!(a[x+51>>0]|0))jc(w,4);vc(w,1);e=Ma[c[x>>2]&1](c[u>>2]|0,0,5,32)|0;if(!e)jc(w,4);else D=e}else D=l;l=x+12|0;c[l>>2]=(c[l>>2]|0)+32;l=x+56|0;a[D+5>>0]=a[x+48>>0]&3;a[D+4>>0]=5;c[D>>2]=c[l>>2];c[l>>2]=D;c[D+8>>2]=0;a[D+6>>0]=-1;c[D+12>>2]=0;c[D+28>>2]=0;c[D+16>>2]=2099924;a[D+7>>0]=0;c[D+20>>2]=2099924;c[p+4>>2]=D;l=w+8|0;x=c[l>>2]|0;c[x>>2]=D;c[x+4>>2]=69;x=(c[l>>2]|0)+8|0;c[l>>2]=x;l=x;do if(((c[w+24>>2]|0)-l|0)<8){x=c[w+32>>2]|0;if((x|0)>1e6)jc(w,6);D=(l-(c[w+28>>2]|0)>>3)+5|0;e=x<<1;x=(e|0)<1e6?e:1e6;e=(x|0)<(D|0)?D:x;if((e|0)>1e6){kc(w,1000200);lc(w,45510,k)}else{kc(w,e);break}}while(0);a[m+10>>0]=0;a[m+8>>0]=a[p+46>>0]|0;w=c[(c[t>>2]|0)+44>>2]|0;b[m+4>>1]=c[w+28>>2];b[m+6>>1]=c[w+16>>2];a[m+9>>0]=0;c[m>>2]=c[f>>2];c[f>>2]=m;a[(c[p>>2]|0)+77>>0]=1;c[n+8>>2]=-1;c[n+12>>2]=-1;c[n>>2]=7;c[n+4>>2]=0;Vd(p,c[d>>2]|0,n)|0;c[r>>2]=c[i>>2];i=o+20|0;if((c[i>>2]|0)==286){r=Wd(o,o+16|0)|0;n=o+12|0;c[n>>2]=r;E=r;F=n}else{n=i;r=c[n>>2]|0;d=c[n+4>>2]|0;n=o+12|0;c[n>>2]=r;c[n+4>>2]=d;c[i>>2]=286;E=r;F=o+12|0}r=E;a:while(1){switch(r|0){case 277:case 286:case 262:case 261:case 260:{G=r;break a;break}default:{}}Xd(o);E=c[F>>2]|0;if((r|0)==274){G=E;break}else r=E}if((G|0)==286){Zd(o);Fa=j;return v|0}else Yd(o,286);return 0}function Vd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[b>>2]|0;h=g+40|0;i=c[h>>2]|0;j=b+47|0;k=a[j>>0]|0;if(k<<24>>24==-1)me(b,255,47344);if((i|0)>(k&255|0))l=i;else{k=g+28|0;c[k>>2]=ce(c[(c[b+12>>2]|0)+32>>2]|0,c[k>>2]|0,h,8,255,47344)|0;l=c[h>>2]|0}h=c[g+28>>2]|0;if((i|0)<(l|0)){k=i;do{c[h+(k<<3)>>2]=0;k=k+1|0}while((k|0)<(l|0))}l=d[j>>0]|0;a[h+(l<<3)+4>>0]=(c[f>>2]|0)==7&1;a[h+(l<<3)+5>>0]=c[f+4>>2];c[h+(l<<3)>>2]=e;if(!(a[e+5>>0]&3)){m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}l=g+5|0;g=a[l>>0]|0;if(!(g&4)){m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}h=c[(c[(c[b+12>>2]|0)+32>>2]|0)+12>>2]|0;if((d[h+49>>0]|0)<2){uc(h,e);m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}else{a[l>>0]=a[h+48>>0]&3|g&-72;m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}return 0}function Wd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Ic=0,Jc=0;f=Fa;Fa=Fa+16|0;g=f+12|0;h=f;i=b+40|0;c[(c[i>>2]|0)+4>>2]=0;j=b+36|0;a:while(1){k=c[b>>2]|0;b:do switch(k|0){case 91:{l=34;break a;break}case 61:{l=38;break a;break}case 94:{l=50;break a;break}case 64:{l=62;break a;break}case 60:{l=68;break a;break}case 62:{l=92;break a;break}case 126:{l=122;break a;break}case 58:{l=134;break a;break}case 39:case 34:{l=146;break a;break}case 46:{l=293;break a;break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{m=k;break a;break}case -1:{n=286;l=497;break a;break}case 13:case 10:{Re(b);break}case 11:case 9:case 12:case 32:{o=c[j>>2]|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(!p){p=La[c[o+8>>2]&7](c[o+16>>2]|0,c[o+12>>2]|0,g)|0;q=c[g>>2]|0;if((p|0)==0|(q|0)==0)r=-1;else{c[o>>2]=q+-1;c[o+4>>2]=p+1;r=d[p>>0]|0}s=r}else{p=o+4|0;o=c[p>>2]|0;c[p>>2]=o+1;s=d[o>>0]|0}c[b>>2]=s;break}case 45:{o=c[j>>2]|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(!p){p=La[c[o+8>>2]&7](c[o+16>>2]|0,c[o+12>>2]|0,g)|0;q=c[g>>2]|0;if((p|0)==0|(q|0)==0)t=-1;else{c[o>>2]=q+-1;c[o+4>>2]=p+1;t=d[p>>0]|0}u=t}else{p=o+4|0;o=c[p>>2]|0;c[p>>2]=o+1;u=d[o>>0]|0}c[b>>2]=u;if((u|0)!=45){n=45;l=497;break a}o=c[j>>2]|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(!p){p=La[c[o+8>>2]&7](c[o+16>>2]|0,c[o+12>>2]|0,g)|0;q=c[g>>2]|0;if((p|0)==0|(q|0)==0)v=-1;else{c[o>>2]=q+-1;c[o+4>>2]=p+1;v=d[p>>0]|0}w=v}else{p=o+4|0;o=c[p>>2]|0;c[p>>2]=o+1;w=d[o>>0]|0}c[b>>2]=w;do if((w|0)==91){o=Se(b)|0;c[(c[i>>2]|0)+4>>2]=0;if((o|0)>-1){Te(b,0,o);c[(c[i>>2]|0)+4>>2]=0;break b}else{x=c[b>>2]|0;break}}else x=w;while(0);o=x;while(1){switch(o|0){case -1:case 13:case 10:{break b;break}default:{}}p=c[j>>2]|0;q=c[p>>2]|0;c[p>>2]=q+-1;if(!q){q=La[c[p+8>>2]&7](c[p+16>>2]|0,c[p+12>>2]|0,g)|0;y=c[g>>2]|0;if((q|0)==0|(y|0)==0)z=-1;else{c[p>>2]=y+-1;c[p+4>>2]=q+1;z=d[q>>0]|0}A=z}else{q=p+4|0;p=c[q>>2]|0;c[q>>2]=p+1;A=d[p>>0]|0}c[b>>2]=A;o=A}break}default:{l=469;break a}}while(0)}switch(l|0){case 34:{A=Se(b)|0;if((A|0)>-1){Te(b,e,A);n=289;Fa=f;return n|0}if((A|0)==-1){n=91;Fa=f;return n|0}else ke(b,47119,289);break}case 38:{A=c[j>>2]|0;z=c[A>>2]|0;c[A>>2]=z+-1;if(!z){z=La[c[A+8>>2]&7](c[A+16>>2]|0,c[A+12>>2]|0,g)|0;x=c[g>>2]|0;if((z|0)==0|(x|0)==0)B=-1;else{c[A>>2]=x+-1;c[A+4>>2]=z+1;B=d[z>>0]|0}C=B}else{B=A+4|0;A=c[B>>2]|0;c[B>>2]=A+1;C=d[A>>0]|0}c[b>>2]=C;if((C|0)!=61){n=61;Fa=f;return n|0}C=c[j>>2]|0;A=c[C>>2]|0;c[C>>2]=A+-1;if(!A){A=La[c[C+8>>2]&7](c[C+16>>2]|0,c[C+12>>2]|0,g)|0;B=c[g>>2]|0;if((A|0)==0|(B|0)==0)D=-1;else{c[C>>2]=B+-1;c[C+4>>2]=A+1;D=d[A>>0]|0}E=D}else{D=C+4|0;C=c[D>>2]|0;c[D>>2]=C+1;E=d[C>>0]|0}c[b>>2]=E;n=281;Fa=f;return n|0}case 50:{E=c[j>>2]|0;C=c[E>>2]|0;c[E>>2]=C+-1;if(!C){C=La[c[E+8>>2]&7](c[E+16>>2]|0,c[E+12>>2]|0,g)|0;D=c[g>>2]|0;if((C|0)==0|(D|0)==0)F=-1;else{c[E>>2]=D+-1;c[E+4>>2]=C+1;F=d[C>>0]|0}G=F}else{F=E+4|0;E=c[F>>2]|0;c[F>>2]=E+1;G=d[E>>0]|0}c[b>>2]=G;if((G|0)!=94){n=94;Fa=f;return n|0}G=c[j>>2]|0;E=c[G>>2]|0;c[G>>2]=E+-1;if(!E){E=La[c[G+8>>2]&7](c[G+16>>2]|0,c[G+12>>2]|0,g)|0;F=c[g>>2]|0;if((E|0)==0|(F|0)==0)H=-1;else{c[G>>2]=F+-1;c[G+4>>2]=E+1;H=d[E>>0]|0}I=H}else{H=G+4|0;G=c[H>>2]|0;c[H>>2]=G+1;I=d[G>>0]|0}c[b>>2]=I;n=295;Fa=f;return n|0}case 62:{I=c[j>>2]|0;G=c[I>>2]|0;c[I>>2]=G+-1;if(!G){G=La[c[I+8>>2]&7](c[I+16>>2]|0,c[I+12>>2]|0,g)|0;H=c[g>>2]|0;if((G|0)==0|(H|0)==0)J=-1;else{c[I>>2]=H+-1;c[I+4>>2]=G+1;J=d[G>>0]|0}K=J}else{J=I+4|0;I=c[J>>2]|0;c[J>>2]=I+1;K=d[I>>0]|0}c[b>>2]=K;n=64;Fa=f;return n|0}case 68:{K=c[j>>2]|0;I=c[K>>2]|0;c[K>>2]=I+-1;if(!I){I=La[c[K+8>>2]&7](c[K+16>>2]|0,c[K+12>>2]|0,g)|0;J=c[g>>2]|0;if((I|0)==0|(J|0)==0)L=-1;else{c[K>>2]=J+-1;c[K+4>>2]=I+1;L=d[I>>0]|0}M=L}else{L=K+4|0;K=c[L>>2]|0;c[L>>2]=K+1;M=d[K>>0]|0}c[b>>2]=M;switch(M|0){case 61:{M=c[j>>2]|0;K=c[M>>2]|0;c[M>>2]=K+-1;if(!K){K=La[c[M+8>>2]&7](c[M+16>>2]|0,c[M+12>>2]|0,g)|0;L=c[g>>2]|0;if((K|0)==0|(L|0)==0)N=-1;else{c[M>>2]=L+-1;c[M+4>>2]=K+1;N=d[K>>0]|0}O=N}else{N=M+4|0;M=c[N>>2]|0;c[N>>2]=M+1;O=d[M>>0]|0}c[b>>2]=O;n=283;Fa=f;return n|0}case 60:{O=c[j>>2]|0;M=c[O>>2]|0;c[O>>2]=M+-1;if(!M){M=La[c[O+8>>2]&7](c[O+16>>2]|0,c[O+12>>2]|0,g)|0;N=c[g>>2]|0;if((M|0)==0|(N|0)==0)P=-1;else{c[O>>2]=N+-1;c[O+4>>2]=M+1;P=d[M>>0]|0}Q=P}else{P=O+4|0;O=c[P>>2]|0;c[P>>2]=O+1;Q=d[O>>0]|0}c[b>>2]=Q;if((Q|0)!=62){n=290;Fa=f;return n|0}Q=c[j>>2]|0;O=c[Q>>2]|0;c[Q>>2]=O+-1;if(!O){O=La[c[Q+8>>2]&7](c[Q+16>>2]|0,c[Q+12>>2]|0,g)|0;P=c[g>>2]|0;if((O|0)==0|(P|0)==0)R=-1;else{c[Q>>2]=P+-1;c[Q+4>>2]=O+1;R=d[O>>0]|0}S=R}else{R=Q+4|0;Q=c[R>>2]|0;c[R>>2]=Q+1;S=d[Q>>0]|0}c[b>>2]=S;n=293;Fa=f;return n|0}default:{n=60;Fa=f;return n|0}}break}case 92:{S=c[j>>2]|0;Q=c[S>>2]|0;c[S>>2]=Q+-1;if(!Q){Q=La[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,g)|0;R=c[g>>2]|0;if((Q|0)==0|(R|0)==0)T=-1;else{c[S>>2]=R+-1;c[S+4>>2]=Q+1;T=d[Q>>0]|0}U=T}else{T=S+4|0;S=c[T>>2]|0;c[T>>2]=S+1;U=d[S>>0]|0}c[b>>2]=U;switch(U|0){case 61:{U=c[j>>2]|0;S=c[U>>2]|0;c[U>>2]=S+-1;if(!S){S=La[c[U+8>>2]&7](c[U+16>>2]|0,c[U+12>>2]|0,g)|0;T=c[g>>2]|0;if((S|0)==0|(T|0)==0)V=-1;else{c[U>>2]=T+-1;c[U+4>>2]=S+1;V=d[S>>0]|0}W=V}else{V=U+4|0;U=c[V>>2]|0;c[V>>2]=U+1;W=d[U>>0]|0}c[b>>2]=W;n=282;Fa=f;return n|0}case 62:{W=c[j>>2]|0;U=c[W>>2]|0;c[W>>2]=U+-1;if(!U){U=La[c[W+8>>2]&7](c[W+16>>2]|0,c[W+12>>2]|0,g)|0;V=c[g>>2]|0;if((U|0)==0|(V|0)==0)X=-1;else{c[W>>2]=V+-1;c[W+4>>2]=U+1;X=d[U>>0]|0}Y=X}else{X=W+4|0;W=c[X>>2]|0;c[X>>2]=W+1;Y=d[W>>0]|0}c[b>>2]=Y;switch(Y|0){case 62:{Y=c[j>>2]|0;W=c[Y>>2]|0;c[Y>>2]=W+-1;if(!W){W=La[c[Y+8>>2]&7](c[Y+16>>2]|0,c[Y+12>>2]|0,g)|0;X=c[g>>2]|0;if((W|0)==0|(X|0)==0)Z=-1;else{c[Y>>2]=X+-1;c[Y+4>>2]=W+1;Z=d[W>>0]|0}_=Z}else{Z=Y+4|0;Y=c[Z>>2]|0;c[Z>>2]=Y+1;_=d[Y>>0]|0}c[b>>2]=_;n=292;Fa=f;return n|0}case 60:{_=c[j>>2]|0;Y=c[_>>2]|0;c[_>>2]=Y+-1;if(!Y){Y=La[c[_+8>>2]&7](c[_+16>>2]|0,c[_+12>>2]|0,g)|0;Z=c[g>>2]|0;if((Y|0)==0|(Z|0)==0)$=-1;else{c[_>>2]=Z+-1;c[_+4>>2]=Y+1;$=d[Y>>0]|0}aa=$}else{$=_+4|0;_=c[$>>2]|0;c[$>>2]=_+1;aa=d[_>>0]|0}c[b>>2]=aa;n=294;Fa=f;return n|0}default:{n=291;Fa=f;return n|0}}break}default:{n=62;Fa=f;return n|0}}break}case 122:{aa=c[j>>2]|0;_=c[aa>>2]|0;c[aa>>2]=_+-1;if(!_){_=La[c[aa+8>>2]&7](c[aa+16>>2]|0,c[aa+12>>2]|0,g)|0;$=c[g>>2]|0;if((_|0)==0|($|0)==0)ba=-1;else{c[aa>>2]=$+-1;c[aa+4>>2]=_+1;ba=d[_>>0]|0}ca=ba}else{ba=aa+4|0;aa=c[ba>>2]|0;c[ba>>2]=aa+1;ca=d[aa>>0]|0}c[b>>2]=ca;if((ca|0)!=61){n=126;Fa=f;return n|0}ca=c[j>>2]|0;aa=c[ca>>2]|0;c[ca>>2]=aa+-1;if(!aa){aa=La[c[ca+8>>2]&7](c[ca+16>>2]|0,c[ca+12>>2]|0,g)|0;ba=c[g>>2]|0;if((aa|0)==0|(ba|0)==0)da=-1;else{c[ca>>2]=ba+-1;c[ca+4>>2]=aa+1;da=d[aa>>0]|0}ea=da}else{da=ca+4|0;ca=c[da>>2]|0;c[da>>2]=ca+1;ea=d[ca>>0]|0}c[b>>2]=ea;n=284;Fa=f;return n|0}case 134:{ea=c[j>>2]|0;ca=c[ea>>2]|0;c[ea>>2]=ca+-1;if(!ca){ca=La[c[ea+8>>2]&7](c[ea+16>>2]|0,c[ea+12>>2]|0,g)|0;da=c[g>>2]|0;if((ca|0)==0|(da|0)==0)fa=-1;else{c[ea>>2]=da+-1;c[ea+4>>2]=ca+1;fa=d[ca>>0]|0}ga=fa}else{fa=ea+4|0;ea=c[fa>>2]|0;c[fa>>2]=ea+1;ga=d[ea>>0]|0}c[b>>2]=ga;if((ga|0)!=58){n=58;Fa=f;return n|0}ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;fa=c[g>>2]|0;if((ea|0)==0|(fa|0)==0)ha=-1;else{c[ga>>2]=fa+-1;c[ga+4>>2]=ea+1;ha=d[ea>>0]|0}ia=ha}else{ha=ga+4|0;ga=c[ha>>2]|0;c[ha>>2]=ga+1;ia=d[ga>>0]|0}c[b>>2]=ia;n=285;Fa=f;return n|0}case 146:{ia=c[i>>2]|0;ga=ia+4|0;ha=c[ga>>2]|0;ea=ha+1|0;fa=ia+8|0;ca=c[fa>>2]|0;if(ea>>>0>ca>>>0){if(ca>>>0>2147483645)ke(b,46491,0);da=ca<<1;aa=c[b+32>>2]|0;if((da|0)==-2)wc(aa);ba=c[ia>>2]|0;_=c[aa+12>>2]|0;$=(ba|0)==0;Y=_+4|0;Z=Ma[c[_>>2]&1](c[Y>>2]|0,ba,ca,da)|0;if((da|0)!=0&(Z|0)==0){if(!(a[_+51>>0]|0))jc(aa,4);vc(aa,1);W=Ma[c[_>>2]&1](c[Y>>2]|0,ba,ca,da)|0;if(!W)jc(aa,4);else ja=W}else ja=Z;Z=_+12|0;c[Z>>2]=($?0:0-ca|0)+da+(c[Z>>2]|0);c[ia>>2]=ja;c[fa>>2]=da;da=c[ga>>2]|0;ka=da+1|0;la=ja;ma=da}else{ka=ea;la=c[ia>>2]|0;ma=ha}ha=k&255;c[ga>>2]=ka;a[la+ma>>0]=ha;ma=c[j>>2]|0;la=c[ma>>2]|0;c[ma>>2]=la+-1;if(!la){la=La[c[ma+8>>2]&7](c[ma+16>>2]|0,c[ma+12>>2]|0,g)|0;ka=c[g>>2]|0;if((la|0)==0|(ka|0)==0)na=-1;else{c[ma>>2]=ka+-1;c[ma+4>>2]=la+1;na=d[la>>0]|0}oa=na}else{na=ma+4|0;ma=c[na>>2]|0;c[na>>2]=ma+1;oa=d[ma>>0]|0}c[b>>2]=oa;c:do if((oa|0)!=(k|0)){ma=b+32|0;na=h+4|0;la=h+8|0;ka=oa;d:while(1){e:do switch(ka|0){case -1:{l=165;break d;break}case 13:case 10:{l=166;break d;break}case 92:{ga=c[j>>2]|0;ia=c[ga>>2]|0;c[ga>>2]=ia+-1;if(!ia){ia=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;ea=c[g>>2]|0;if((ia|0)==0|(ea|0)==0)pa=-1;else{c[ga>>2]=ea+-1;c[ga+4>>2]=ia+1;pa=d[ia>>0]|0}qa=pa}else{ia=ga+4|0;ga=c[ia>>2]|0;c[ia>>2]=ga+1;qa=d[ga>>0]|0}c[b>>2]=qa;do switch(qa|0){case -1:{ra=qa;break e;break}case 97:{sa=7;l=240;break}case 98:{sa=8;l=240;break}case 102:{sa=12;l=240;break}case 110:{sa=10;l=240;break}case 114:{sa=13;l=240;break}case 116:{sa=9;l=240;break}case 118:{sa=11;l=240;break}case 42:{sa=1;l=240;break}case 35:{sa=2;l=240;break}case 45:{sa=3;l=240;break}case 124:{sa=4;l=240;break}case 43:{sa=5;l=240;break}case 94:{sa=6;l=240;break}case 120:{c[h>>2]=120;ga=c[j>>2]|0;ia=c[ga>>2]|0;c[ga>>2]=ia+-1;if(!ia){ia=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;ea=c[g>>2]|0;if((ia|0)==0|(ea|0)==0)ta=-1;else{c[ga>>2]=ea+-1;c[ga+4>>2]=ia+1;ta=d[ia>>0]|0}ua=ta}else{ia=ga+4|0;ga=c[ia>>2]|0;c[ia>>2]=ga+1;ua=d[ga>>0]|0}c[b>>2]=ua;c[na>>2]=ua;if(!(a[64+(ua+1)>>0]&16)){va=2;l=191;break d}ga=ua+-48|0;ia=ga>>>0<10?ga:(ua|32)+268435369|0;ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;da=c[g>>2]|0;if((ea|0)==0|(da|0)==0)wa=-1;else{c[ga>>2]=da+-1;c[ga+4>>2]=ea+1;wa=d[ea>>0]|0}xa=wa}else{ea=ga+4|0;ga=c[ea>>2]|0;c[ea>>2]=ga+1;xa=d[ga>>0]|0}c[b>>2]=xa;c[la>>2]=xa;if(!(a[64+(xa+1)>>0]&16)){va=3;l=191;break d}ga=xa+-48|0;sa=(ga>>>0<10?ga:(xa|32)+-87|0)+(ia<<4)|0;l=240;break}case 13:case 10:{Re(b);ya=10;break}case 39:case 34:case 92:{sa=qa;l=240;break}case 122:{ia=c[j>>2]|0;ga=c[ia>>2]|0;c[ia>>2]=ga+-1;if(!ga){ga=La[c[ia+8>>2]&7](c[ia+16>>2]|0,c[ia+12>>2]|0,g)|0;ea=c[g>>2]|0;if((ga|0)==0|(ea|0)==0)za=-1;else{c[ia>>2]=ea+-1;c[ia+4>>2]=ga+1;za=d[ga>>0]|0}Aa=za}else{ga=ia+4|0;ia=c[ga>>2]|0;c[ga>>2]=ia+1;Aa=d[ia>>0]|0}c[b>>2]=Aa;if(!(a[64+(Aa+1)>>0]&8)){ra=Aa;break e}ia=Aa;while(1){switch(ia|0){case 13:case 10:{Re(b);Ba=c[b>>2]|0;break}default:{ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;da=c[g>>2]|0;if((ea|0)==0|(da|0)==0)Ca=-1;else{c[ga>>2]=da+-1;c[ga+4>>2]=ea+1;Ca=d[ea>>0]|0}Da=Ca}else{ea=ga+4|0;ga=c[ea>>2]|0;c[ea>>2]=ga+1;Da=d[ga>>0]|0}c[b>>2]=Da;Ba=Da}}if(!(a[64+(Ba+1)>>0]&8)){ra=Ba;break e}else ia=Ba}break}default:{ia=qa+-48|0;if(ia>>>0>=10){l=218;break d}c[h>>2]=qa;ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;da=c[g>>2]|0;if((ea|0)==0|(da|0)==0)Ea=-1;else{c[ga>>2]=da+-1;c[ga+4>>2]=ea+1;Ea=d[ea>>0]|0}Ga=Ea}else{ea=ga+4|0;ga=c[ea>>2]|0;c[ea>>2]=ga+1;Ga=d[ga>>0]|0}c[b>>2]=Ga;ga=Ga+-48|0;if(ga>>>0<10){c[na>>2]=Ga;ea=ga+(ia*10|0)|0;ga=c[j>>2]|0;da=c[ga>>2]|0;c[ga>>2]=da+-1;if(!da){da=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;ja=c[g>>2]|0;if((da|0)==0|(ja|0)==0)Ha=-1;else{c[ga>>2]=ja+-1;c[ga+4>>2]=da+1;Ha=d[da>>0]|0}Ia=Ha}else{da=ga+4|0;ga=c[da>>2]|0;c[da>>2]=ga+1;Ia=d[ga>>0]|0}c[b>>2]=Ia;ga=Ia+-48|0;if(ga>>>0<10){c[la>>2]=Ia;da=ga+(ea*10|0)|0;ga=c[j>>2]|0;ja=c[ga>>2]|0;c[ga>>2]=ja+-1;if(!ja){ja=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;fa=c[g>>2]|0;if((ja|0)==0|(fa|0)==0)Ja=-1;else{c[ga>>2]=fa+-1;c[ga+4>>2]=ja+1;Ja=d[ja>>0]|0}Ka=Ja}else{ja=ga+4|0;ga=c[ja>>2]|0;c[ja>>2]=ga+1;Ka=d[ga>>0]|0}c[b>>2]=Ka;Na=da;Oa=3}else{Na=ea;Oa=2}if((Na|0)>255){l=226;break d}else Pa=Na}else Pa=ia;ya=Pa}}while(0);if((l|0)==240){l=0;ia=c[j>>2]|0;ea=c[ia>>2]|0;c[ia>>2]=ea+-1;if(!ea){ea=La[c[ia+8>>2]&7](c[ia+16>>2]|0,c[ia+12>>2]|0,g)|0;da=c[g>>2]|0;if((ea|0)==0|(da|0)==0)Qa=-1;else{c[ia>>2]=da+-1;c[ia+4>>2]=ea+1;Qa=d[ea>>0]|0}Ra=Qa}else{ea=ia+4|0;ia=c[ea>>2]|0;c[ea>>2]=ia+1;Ra=d[ia>>0]|0}c[b>>2]=Ra;ya=sa}ia=c[i>>2]|0;ea=ia+4|0;da=c[ea>>2]|0;ga=da+1|0;ja=ia+8|0;fa=c[ja>>2]|0;if(ga>>>0>fa>>>0){if(fa>>>0>2147483645){l=249;break d}Z=fa<<1;Sa=c[ma>>2]|0;if((Z|0)==-2){l=251;break d}ca=c[ia>>2]|0;$=c[Sa+12>>2]|0;_=(ca|0)==0;W=$+4|0;aa=Ma[c[$>>2]&1](c[W>>2]|0,ca,fa,Z)|0;if((Z|0)!=0&(aa|0)==0){if(!(a[$+51>>0]|0)){l=255;break d}vc(Sa,1);ba=Ma[c[$>>2]&1](c[W>>2]|0,ca,fa,Z)|0;if(!ba){l=255;break d}else Ta=ba}else Ta=aa;aa=$+12|0;c[aa>>2]=(_?0:0-fa|0)+Z+(c[aa>>2]|0);c[ia>>2]=Ta;c[ja>>2]=Z;Z=c[ea>>2]|0;Ua=Z+1|0;Va=Ta;Wa=Z}else{Ua=ga;Va=c[ia>>2]|0;Wa=da}c[ea>>2]=Ua;a[Va+Wa>>0]=ya;ra=c[b>>2]|0;break}default:{ea=c[i>>2]|0;da=ea+4|0;ia=c[da>>2]|0;ga=ia+1|0;Z=ea+8|0;ja=c[Z>>2]|0;if(ga>>>0>ja>>>0){if(ja>>>0>2147483645){l=261;break d}aa=ja<<1;Xa=c[ma>>2]|0;if((aa|0)==-2){l=263;break d}fa=c[ea>>2]|0;_=c[Xa+12>>2]|0;$=(fa|0)==0;ba=_+4|0;ca=Ma[c[_>>2]&1](c[ba>>2]|0,fa,ja,aa)|0;if((aa|0)!=0&(ca|0)==0){if(!(a[_+51>>0]|0)){l=267;break d}vc(Xa,1);W=Ma[c[_>>2]&1](c[ba>>2]|0,fa,ja,aa)|0;if(!W){l=267;break d}else Ya=W}else Ya=ca;ca=_+12|0;c[ca>>2]=($?0:0-ja|0)+aa+(c[ca>>2]|0);c[ea>>2]=Ya;c[Z>>2]=aa;aa=c[da>>2]|0;Za=aa+1|0;_a=Ya;$a=aa}else{Za=ga;_a=c[ea>>2]|0;$a=ia}c[da>>2]=Za;a[_a+$a>>0]=ka;da=c[j>>2]|0;ia=c[da>>2]|0;c[da>>2]=ia+-1;if(!ia){ia=La[c[da+8>>2]&7](c[da+16>>2]|0,c[da+12>>2]|0,g)|0;ea=c[g>>2]|0;if((ia|0)==0|(ea|0)==0)ab=-1;else{c[da>>2]=ea+-1;c[da+4>>2]=ia+1;ab=d[ia>>0]|0}bb=ab}else{ia=da+4|0;da=c[ia>>2]|0;c[ia>>2]=da+1;bb=d[da>>0]|0}c[b>>2]=bb;ra=bb}}while(0);if((ra|0)==(k|0))break c;else ka=ra}switch(l|0){case 165:{ke(b,47149,286);break}case 166:{ke(b,47149,289);break}case 191:{Ue(b,h,va,47167);break}case 218:{Ue(b,b,1,47194);break}case 226:{Ue(b,h,Oa,47218);break}case 249:{ke(b,46491,0);break}case 251:{wc(Sa);break}case 255:{jc(Sa,4);break}case 261:{ke(b,46491,0);break}case 263:{wc(Xa);break}case 267:{jc(Xa,4);break}}}while(0);Xa=c[i>>2]|0;Sa=Xa+4|0;Oa=c[Sa>>2]|0;h=Oa+1|0;va=Xa+8|0;ra=c[va>>2]|0;if(h>>>0>ra>>>0){if(ra>>>0>2147483645)ke(b,46491,0);bb=ra<<1;ab=c[b+32>>2]|0;if((bb|0)==-2)wc(ab);$a=c[Xa>>2]|0;_a=c[ab+12>>2]|0;Za=($a|0)==0;Ya=_a+4|0;ya=Ma[c[_a>>2]&1](c[Ya>>2]|0,$a,ra,bb)|0;if((bb|0)!=0&(ya|0)==0){if(!(a[_a+51>>0]|0))jc(ab,4);vc(ab,1);Wa=Ma[c[_a>>2]&1](c[Ya>>2]|0,$a,ra,bb)|0;if(!Wa)jc(ab,4);else cb=Wa}else cb=ya;ya=_a+12|0;c[ya>>2]=(Za?0:0-ra|0)+bb+(c[ya>>2]|0);c[Xa>>2]=cb;c[va>>2]=bb;bb=c[Sa>>2]|0;db=bb+1|0;eb=cb;fb=bb}else{db=h;eb=c[Xa>>2]|0;fb=Oa}c[Sa>>2]=db;a[eb+fb>>0]=ha;ha=c[j>>2]|0;fb=c[ha>>2]|0;c[ha>>2]=fb+-1;if(!fb){fb=La[c[ha+8>>2]&7](c[ha+16>>2]|0,c[ha+12>>2]|0,g)|0;eb=c[g>>2]|0;if((fb|0)==0|(eb|0)==0)gb=-1;else{c[ha>>2]=eb+-1;c[ha+4>>2]=fb+1;gb=d[fb>>0]|0}hb=gb}else{gb=ha+4|0;ha=c[gb>>2]|0;c[gb>>2]=ha+1;hb=d[ha>>0]|0}c[b>>2]=hb;hb=c[i>>2]|0;c[e>>2]=ae(b,(c[hb>>2]|0)+1|0,(c[hb+4>>2]|0)+-2|0)|0;n=289;Fa=f;return n|0}case 293:{hb=c[i>>2]|0;ha=hb+4|0;gb=c[ha>>2]|0;fb=gb+1|0;eb=hb+8|0;db=c[eb>>2]|0;if(fb>>>0>db>>>0){if(db>>>0>2147483645)ke(b,46491,0);Sa=db<<1;Oa=c[b+32>>2]|0;if((Sa|0)==-2)wc(Oa);Xa=c[hb>>2]|0;h=c[Oa+12>>2]|0;bb=(Xa|0)==0;cb=h+4|0;va=Ma[c[h>>2]&1](c[cb>>2]|0,Xa,db,Sa)|0;if((Sa|0)!=0&(va|0)==0){if(!(a[h+51>>0]|0))jc(Oa,4);vc(Oa,1);ya=Ma[c[h>>2]&1](c[cb>>2]|0,Xa,db,Sa)|0;if(!ya)jc(Oa,4);else ib=ya}else ib=va;va=h+12|0;c[va>>2]=(bb?0:0-db|0)+Sa+(c[va>>2]|0);c[hb>>2]=ib;c[eb>>2]=Sa;Sa=c[ha>>2]|0;jb=Sa+1|0;kb=ib;lb=Sa}else{jb=fb;kb=c[hb>>2]|0;lb=gb}c[ha>>2]=jb;a[kb+lb>>0]=46;lb=c[j>>2]|0;kb=c[lb>>2]|0;c[lb>>2]=kb+-1;if(!kb){kb=La[c[lb+8>>2]&7](c[lb+16>>2]|0,c[lb+12>>2]|0,g)|0;jb=c[g>>2]|0;if((kb|0)==0|(jb|0)==0)mb=-1;else{c[lb>>2]=jb+-1;c[lb+4>>2]=kb+1;mb=d[kb>>0]|0}nb=mb}else{mb=lb+4|0;lb=c[mb>>2]|0;c[mb>>2]=lb+1;nb=d[lb>>0]|0}c[b>>2]=nb;if(!nb){n=46;Fa=f;return n|0}if(!(Js(72022,nb,2)|0)){if((nb+-48|0)>>>0<10){m=nb;break}else n=46;Fa=f;return n|0}lb=c[i>>2]|0;mb=lb+4|0;kb=c[mb>>2]|0;jb=kb+1|0;ha=lb+8|0;gb=c[ha>>2]|0;if(jb>>>0>gb>>>0){if(gb>>>0>2147483645)ke(b,46491,0);hb=gb<<1;fb=c[b+32>>2]|0;if((hb|0)==-2)wc(fb);Sa=c[lb>>2]|0;ib=c[fb+12>>2]|0;eb=(Sa|0)==0;va=ib+4|0;db=Ma[c[ib>>2]&1](c[va>>2]|0,Sa,gb,hb)|0;if((hb|0)!=0&(db|0)==0){if(!(a[ib+51>>0]|0))jc(fb,4);vc(fb,1);bb=Ma[c[ib>>2]&1](c[va>>2]|0,Sa,gb,hb)|0;if(!bb)jc(fb,4);else ob=bb}else ob=db;db=ib+12|0;c[db>>2]=(eb?0:0-gb|0)+hb+(c[db>>2]|0);c[lb>>2]=ob;c[ha>>2]=hb;hb=c[mb>>2]|0;pb=hb+1|0;qb=ob;rb=hb}else{pb=jb;qb=c[lb>>2]|0;rb=kb}c[mb>>2]=pb;a[qb+rb>>0]=nb;nb=c[j>>2]|0;rb=c[nb>>2]|0;c[nb>>2]=rb+-1;if(!rb){rb=La[c[nb+8>>2]&7](c[nb+16>>2]|0,c[nb+12>>2]|0,g)|0;qb=c[g>>2]|0;if((rb|0)==0|(qb|0)==0)sb=-1;else{c[nb>>2]=qb+-1;c[nb+4>>2]=rb+1;sb=d[rb>>0]|0}tb=sb}else{sb=nb+4|0;nb=c[sb>>2]|0;c[sb>>2]=nb+1;tb=d[nb>>0]|0}c[b>>2]=tb;if(!tb){n=279;Fa=f;return n|0}if(!(Js(72022,tb,2)|0)){n=279;Fa=f;return n|0}nb=c[i>>2]|0;sb=nb+4|0;rb=c[sb>>2]|0;qb=rb+1|0;pb=nb+8|0;mb=c[pb>>2]|0;if(qb>>>0>mb>>>0){if(mb>>>0>2147483645)ke(b,46491,0);kb=mb<<1;lb=c[b+32>>2]|0;if((kb|0)==-2)wc(lb);jb=c[nb>>2]|0;hb=c[lb+12>>2]|0;ob=(jb|0)==0;ha=hb+4|0;db=Ma[c[hb>>2]&1](c[ha>>2]|0,jb,mb,kb)|0;if((kb|0)!=0&(db|0)==0){if(!(a[hb+51>>0]|0))jc(lb,4);vc(lb,1);gb=Ma[c[hb>>2]&1](c[ha>>2]|0,jb,mb,kb)|0;if(!gb)jc(lb,4);else ub=gb}else ub=db;db=hb+12|0;c[db>>2]=(ob?0:0-mb|0)+kb+(c[db>>2]|0);c[nb>>2]=ub;c[pb>>2]=kb;kb=c[sb>>2]|0;vb=kb+1|0;wb=ub;xb=kb}else{vb=qb;wb=c[nb>>2]|0;xb=rb}c[sb>>2]=vb;a[wb+xb>>0]=tb;tb=c[j>>2]|0;xb=c[tb>>2]|0;c[tb>>2]=xb+-1;if(!xb){xb=La[c[tb+8>>2]&7](c[tb+16>>2]|0,c[tb+12>>2]|0,g)|0;wb=c[g>>2]|0;if((xb|0)==0|(wb|0)==0)yb=-1;else{c[tb>>2]=wb+-1;c[tb+4>>2]=xb+1;yb=d[xb>>0]|0}zb=yb}else{yb=tb+4|0;tb=c[yb>>2]|0;c[yb>>2]=tb+1;zb=d[tb>>0]|0}c[b>>2]=zb;n=280;Fa=f;return n|0}case 469:{if(!((k&-128|0)==128|((k|0)==95|(Cu(k)|0)!=0))?!((k|0)<0|(k&-2|0)==30):0){zb=c[j>>2]|0;tb=c[zb>>2]|0;c[zb>>2]=tb+-1;if(!tb){tb=La[c[zb+8>>2]&7](c[zb+16>>2]|0,c[zb+12>>2]|0,g)|0;yb=c[g>>2]|0;if((tb|0)==0|(yb|0)==0)Ab=-1;else{c[zb>>2]=yb+-1;c[zb+4>>2]=tb+1;Ab=d[tb>>0]|0}Bb=Ab}else{Ab=zb+4|0;zb=c[Ab>>2]|0;c[Ab>>2]=zb+1;Bb=d[zb>>0]|0}c[b>>2]=Bb;n=k;Fa=f;return n|0}Bb=b+32|0;zb=k;while(1){k=c[i>>2]|0;Ab=k+4|0;tb=c[Ab>>2]|0;yb=tb+1|0;xb=k+8|0;wb=c[xb>>2]|0;if(yb>>>0>wb>>>0){if(wb>>>0>2147483645){l=475;break}vb=wb<<1;Cb=c[Bb>>2]|0;if((vb|0)==-2){l=477;break}sb=c[k>>2]|0;rb=c[Cb+12>>2]|0;nb=(sb|0)==0;qb=rb+4|0;kb=Ma[c[rb>>2]&1](c[qb>>2]|0,sb,wb,vb)|0;if((vb|0)!=0&(kb|0)==0){if(!(a[rb+51>>0]|0)){l=481;break}vc(Cb,1);ub=Ma[c[rb>>2]&1](c[qb>>2]|0,sb,wb,vb)|0;if(!ub){l=481;break}else Db=ub}else Db=kb;kb=rb+12|0;c[kb>>2]=(nb?0:0-wb|0)+vb+(c[kb>>2]|0);c[k>>2]=Db;c[xb>>2]=vb;vb=c[Ab>>2]|0;Eb=vb+1|0;Fb=Db;Gb=vb}else{Eb=yb;Fb=c[k>>2]|0;Gb=tb}c[Ab>>2]=Eb;a[Fb+Gb>>0]=zb;Ab=c[j>>2]|0;tb=c[Ab>>2]|0;c[Ab>>2]=tb+-1;if(!tb){tb=La[c[Ab+8>>2]&7](c[Ab+16>>2]|0,c[Ab+12>>2]|0,g)|0;k=c[g>>2]|0;if((tb|0)==0|(k|0)==0)Hb=-1;else{c[Ab>>2]=k+-1;c[Ab+4>>2]=tb+1;Hb=d[tb>>0]|0}Ib=Hb}else{tb=Ab+4|0;Ab=c[tb>>2]|0;c[tb>>2]=Ab+1;Ib=d[Ab>>0]|0}c[b>>2]=Ib;if(Ib>>>0>127|((Bu(Ib)|0)!=0|(Ib|0)==95)|(Ib&-2|0)==30)zb=Ib;else{l=489;break}}if((l|0)==475)ke(b,46491,0);else if((l|0)==477)wc(Cb);else if((l|0)==481)jc(Cb,4);else if((l|0)==489){Cb=c[i>>2]|0;Ib=ae(b,c[Cb>>2]|0,c[Cb+4>>2]|0)|0;c[e>>2]=Ib;if((a[Ib+4>>0]|0)==4){Cb=a[Ib+6>>0]|0;Fa=f;return (Cb<<24>>24==0?288:Cb&255|256)|0}else{n=288;Fa=f;return n|0}}break}case 497:{Fa=f;return n|0}}Cb=c[i>>2]|0;Ib=Cb+4|0;zb=c[Ib>>2]|0;Hb=zb+1|0;Gb=Cb+8|0;Fb=c[Gb>>2]|0;if(Hb>>>0>Fb>>>0){if(Fb>>>0>2147483645)ke(b,46491,0);Eb=Fb<<1;Db=c[b+32>>2]|0;if((Eb|0)==-2)wc(Db);Bb=c[Cb>>2]|0;Ab=c[Db+12>>2]|0;tb=(Bb|0)==0;k=Ab+4|0;yb=Ma[c[Ab>>2]&1](c[k>>2]|0,Bb,Fb,Eb)|0;if((Eb|0)!=0&(yb|0)==0){if(!(a[Ab+51>>0]|0))jc(Db,4);vc(Db,1);vb=Ma[c[Ab>>2]&1](c[k>>2]|0,Bb,Fb,Eb)|0;if(!vb)jc(Db,4);else Jb=vb}else Jb=yb;yb=Ab+12|0;c[yb>>2]=(tb?0:0-Fb|0)+Eb+(c[yb>>2]|0);c[Cb>>2]=Jb;c[Gb>>2]=Eb;Eb=c[Ib>>2]|0;Kb=Eb+1|0;Lb=Jb;Mb=Eb}else{Kb=Hb;Lb=c[Cb>>2]|0;Mb=zb}c[Ib>>2]=Kb;a[Lb+Mb>>0]=m;Mb=c[j>>2]|0;Lb=c[Mb>>2]|0;c[Mb>>2]=Lb+-1;if(!Lb){Lb=La[c[Mb+8>>2]&7](c[Mb+16>>2]|0,c[Mb+12>>2]|0,g)|0;Kb=c[g>>2]|0;if((Lb|0)==0|(Kb|0)==0)Nb=-1;else{c[Mb>>2]=Kb+-1;c[Mb+4>>2]=Lb+1;Nb=d[Lb>>0]|0}Ob=Nb}else{Nb=Mb+4|0;Mb=c[Nb>>2]|0;c[Nb>>2]=Mb+1;Ob=d[Mb>>0]|0}c[b>>2]=Ob;if(!((m|0)!=48|(Ob|0)==0)?(Js(47243,Ob,3)|0)!=0:0){m=c[i>>2]|0;Mb=m+4|0;Nb=c[Mb>>2]|0;Lb=Nb+1|0;Kb=m+8|0;Ib=c[Kb>>2]|0;if(Lb>>>0>Ib>>>0){if(Ib>>>0>2147483645)ke(b,46491,0);zb=Ib<<1;Cb=c[b+32>>2]|0;if((zb|0)==-2)wc(Cb);Hb=c[m>>2]|0;Eb=c[Cb+12>>2]|0;Jb=(Hb|0)==0;Gb=Eb+4|0;yb=Ma[c[Eb>>2]&1](c[Gb>>2]|0,Hb,Ib,zb)|0;if((zb|0)!=0&(yb|0)==0){if(!(a[Eb+51>>0]|0))jc(Cb,4);vc(Cb,1);Fb=Ma[c[Eb>>2]&1](c[Gb>>2]|0,Hb,Ib,zb)|0;if(!Fb)jc(Cb,4);else Pb=Fb}else Pb=yb;yb=Eb+12|0;c[yb>>2]=(Jb?0:0-Ib|0)+zb+(c[yb>>2]|0);c[m>>2]=Pb;c[Kb>>2]=zb;zb=c[Mb>>2]|0;Qb=zb+1|0;Rb=Pb;Sb=zb}else{Qb=Lb;Rb=c[m>>2]|0;Sb=Nb}c[Mb>>2]=Qb;a[Rb+Sb>>0]=Ob;Sb=c[j>>2]|0;Rb=c[Sb>>2]|0;c[Sb>>2]=Rb+-1;if(!Rb){Rb=La[c[Sb+8>>2]&7](c[Sb+16>>2]|0,c[Sb+12>>2]|0,g)|0;Qb=c[g>>2]|0;if((Rb|0)==0|(Qb|0)==0)Tb=-1;else{c[Sb>>2]=Qb+-1;c[Sb+4>>2]=Rb+1;Tb=d[Rb>>0]|0}Ub=Tb}else{Tb=Sb+4|0;Sb=c[Tb>>2]|0;c[Tb>>2]=Sb+1;Ub=d[Sb>>0]|0}c[b>>2]=Ub;Vb=47249;Wb=Ub}else{Vb=47246;Wb=Ob}Ob=b+32|0;Ub=Wb;while(1){if(Ub)if(Js(Vb,Ub,3)|0){Wb=c[i>>2]|0;Sb=Wb+4|0;Tb=c[Sb>>2]|0;Rb=Tb+1|0;Qb=Wb+8|0;Mb=c[Qb>>2]|0;if(Rb>>>0>Mb>>>0){if(Mb>>>0>2147483645){l=388;break}Nb=Mb<<1;Xb=c[Ob>>2]|0;if((Nb|0)==-2){l=390;break}m=c[Wb>>2]|0;Lb=c[Xb+12>>2]|0;zb=(m|0)==0;Pb=Lb+4|0;Kb=Ma[c[Lb>>2]&1](c[Pb>>2]|0,m,Mb,Nb)|0;if((Nb|0)!=0&(Kb|0)==0){if(!(a[Lb+51>>0]|0)){l=394;break}vc(Xb,1);yb=Ma[c[Lb>>2]&1](c[Pb>>2]|0,m,Mb,Nb)|0;if(!yb){l=394;break}else Yb=yb}else Yb=Kb;Kb=Lb+12|0;c[Kb>>2]=(zb?0:0-Mb|0)+Nb+(c[Kb>>2]|0);c[Wb>>2]=Yb;c[Qb>>2]=Nb;Nb=c[Sb>>2]|0;Zb=Nb+1|0;_b=Yb;$b=Nb}else{Zb=Rb;_b=c[Wb>>2]|0;$b=Tb}c[Sb>>2]=Zb;a[_b+$b>>0]=Ub;Sb=c[j>>2]|0;Tb=c[Sb>>2]|0;c[Sb>>2]=Tb+-1;if(!Tb){Tb=La[c[Sb+8>>2]&7](c[Sb+16>>2]|0,c[Sb+12>>2]|0,g)|0;Wb=c[g>>2]|0;if((Tb|0)==0|(Wb|0)==0)ac=-1;else{c[Sb>>2]=Wb+-1;c[Sb+4>>2]=Tb+1;ac=d[Tb>>0]|0}bc=ac}else{Tb=Sb+4|0;Sb=c[Tb>>2]|0;c[Tb>>2]=Sb+1;bc=d[Sb>>0]|0}c[b>>2]=bc;if(bc)if(!(Js(47252,bc,3)|0))cc=bc;else{Sb=c[i>>2]|0;Tb=Sb+4|0;Wb=c[Tb>>2]|0;Rb=Wb+1|0;Nb=Sb+8|0;Qb=c[Nb>>2]|0;if(Rb>>>0>Qb>>>0){if(Qb>>>0>2147483645){l=406;break}Kb=Qb<<1;dc=c[Ob>>2]|0;if((Kb|0)==-2){l=408;break}Mb=c[Sb>>2]|0;zb=c[dc+12>>2]|0;Lb=(Mb|0)==0;yb=zb+4|0;m=Ma[c[zb>>2]&1](c[yb>>2]|0,Mb,Qb,Kb)|0;if((Kb|0)!=0&(m|0)==0){if(!(a[zb+51>>0]|0)){l=412;break}vc(dc,1);Pb=Ma[c[zb>>2]&1](c[yb>>2]|0,Mb,Qb,Kb)|0;if(!Pb){l=412;break}else ec=Pb}else ec=m;m=zb+12|0;c[m>>2]=(Lb?0:0-Qb|0)+Kb+(c[m>>2]|0);c[Sb>>2]=ec;c[Nb>>2]=Kb;Kb=c[Tb>>2]|0;fc=Kb+1|0;gc=ec;hc=Kb}else{fc=Rb;gc=c[Sb>>2]|0;hc=Wb}c[Tb>>2]=fc;a[gc+hc>>0]=bc;Tb=c[j>>2]|0;Wb=c[Tb>>2]|0;c[Tb>>2]=Wb+-1;if(!Wb){Wb=La[c[Tb+8>>2]&7](c[Tb+16>>2]|0,c[Tb+12>>2]|0,g)|0;Sb=c[g>>2]|0;if((Wb|0)==0|(Sb|0)==0)ic=-1;else{c[Tb>>2]=Sb+-1;c[Tb+4>>2]=Wb+1;ic=d[Wb>>0]|0}kc=ic}else{Wb=Tb+4|0;Tb=c[Wb>>2]|0;c[Wb>>2]=Tb+1;kc=d[Tb>>0]|0}c[b>>2]=kc;cc=kc}else cc=0}else cc=Ub;else cc=0;lc=c[i>>2]|0;mc=lc+4|0;nc=c[mc>>2]|0;oc=nc+1|0;pc=lc+8|0;qc=c[pc>>2]|0;rc=oc>>>0>qc>>>0;if(!((cc|0)==46?1:(a[64+(cc+1)>>0]&16)!=0)){l=438;break}if(rc){if(qc>>>0>2147483645){l=424;break}Tb=qc<<1;sc=c[Ob>>2]|0;if((Tb|0)==-2){l=426;break}Wb=c[lc>>2]|0;Sb=c[sc+12>>2]|0;Rb=(Wb|0)==0;Kb=Sb+4|0;Nb=Ma[c[Sb>>2]&1](c[Kb>>2]|0,Wb,qc,Tb)|0;if((Tb|0)!=0&(Nb|0)==0){if(!(a[Sb+51>>0]|0)){l=430;break}vc(sc,1);m=Ma[c[Sb>>2]&1](c[Kb>>2]|0,Wb,qc,Tb)|0;if(!m){l=430;break}else tc=m}else tc=Nb;Nb=Sb+12|0;c[Nb>>2]=(Rb?0:0-qc|0)+Tb+(c[Nb>>2]|0);c[lc>>2]=tc;c[pc>>2]=Tb;Tb=c[mc>>2]|0;uc=Tb+1|0;xc=tc;yc=Tb}else{uc=oc;xc=c[lc>>2]|0;yc=nc}c[mc>>2]=uc;a[xc+yc>>0]=cc;Tb=c[j>>2]|0;Nb=c[Tb>>2]|0;c[Tb>>2]=Nb+-1;if(!Nb){Nb=La[c[Tb+8>>2]&7](c[Tb+16>>2]|0,c[Tb+12>>2]|0,g)|0;Rb=c[g>>2]|0;if((Nb|0)==0|(Rb|0)==0)zc=-1;else{c[Tb>>2]=Rb+-1;c[Tb+4>>2]=Nb+1;zc=d[Nb>>0]|0}Ac=zc}else{Nb=Tb+4|0;Tb=c[Nb>>2]|0;c[Nb>>2]=Tb+1;Ac=d[Tb>>0]|0}c[b>>2]=Ac;Ub=Ac}switch(l|0){case 388:{ke(b,46491,0);break}case 390:{wc(Xb);break}case 394:{jc(Xb,4);break}case 406:{ke(b,46491,0);break}case 408:{wc(dc);break}case 412:{jc(dc,4);break}case 424:{ke(b,46491,0);break}case 426:{wc(sc);break}case 430:{jc(sc,4);break}case 438:{if(rc){if(qc>>>0>2147483645)ke(b,46491,0);rc=qc<<1;sc=c[Ob>>2]|0;if((rc|0)==-2)wc(sc);Ob=c[lc>>2]|0;dc=c[sc+12>>2]|0;Xb=(Ob|0)==0;l=dc+4|0;Ac=Ma[c[dc>>2]&1](c[l>>2]|0,Ob,qc,rc)|0;if((rc|0)!=0&(Ac|0)==0){if(!(a[dc+51>>0]|0))jc(sc,4);vc(sc,1);Ub=Ma[c[dc>>2]&1](c[l>>2]|0,Ob,qc,rc)|0;if(!Ub)jc(sc,4);else Bc=Ub}else Bc=Ac;Ac=dc+12|0;c[Ac>>2]=(Xb?0:0-qc|0)+rc+(c[Ac>>2]|0);c[lc>>2]=Bc;c[pc>>2]=rc;rc=c[mc>>2]|0;Cc=rc+1|0;Dc=Bc;Ec=rc}else{Cc=oc;Dc=c[lc>>2]|0;Ec=nc}c[mc>>2]=Cc;a[Dc+Ec>>0]=0;Ec=b+56|0;Dc=a[Ec>>0]|0;Cc=c[i>>2]|0;mc=c[Cc>>2]|0;nc=c[Cc+4>>2]|0;if(!nc){Fc=mc;Gc=-1}else{Cc=nc;do{Cc=Cc+-1|0;nc=mc+Cc|0;if((a[nc>>0]|0)==46)a[nc>>0]=Dc}while((Cc|0)!=0);Cc=c[i>>2]|0;Fc=c[Cc>>2]|0;Gc=(c[Cc+4>>2]|0)+-1|0}if(Hc(Fc,Gc,e)|0){n=287;Fa=f;return n|0}Gc=a[Ec>>0]|0;Fc=a[c[(Du()|0)>>2]>>0]|0;a[Ec>>0]=Fc;Cc=c[i>>2]|0;Dc=c[Cc>>2]|0;mc=c[Cc+4>>2]|0;if(!mc){Ic=Dc;Jc=-1}else{Cc=mc;do{Cc=Cc+-1|0;mc=Dc+Cc|0;if((a[mc>>0]|0)==Gc<<24>>24)a[mc>>0]=Fc}while((Cc|0)!=0);Cc=c[i>>2]|0;Ic=c[Cc>>2]|0;Jc=(c[Cc+4>>2]|0)+-1|0}if(Hc(Ic,Jc,e)|0){n=287;Fa=f;return n|0}n=a[Ec>>0]|0;Ec=c[i>>2]|0;i=c[Ec>>2]|0;f=c[Ec+4>>2]|0;if(!f)ke(b,47255,287);Ec=f;do{Ec=Ec+-1|0;f=i+Ec|0;if((a[f>>0]|0)==n<<24>>24)a[f>>0]=46}while((Ec|0)!=0);ke(b,47255,287);break}}return 0}function Xd(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0;f=Fa;Fa=Fa+96|0;g=f;h=f+64|0;i=f+48|0;j=f+32|0;k=f+16|0;l=e+4|0;m=c[l>>2]|0;c[8775]=m;n=e+28|0;o=c[n>>2]|0;p=e+32|0;q=(c[p>>2]|0)+38|0;r=(b[q>>1]|0)+1<<16>>16;b[q>>1]=r;if((r&65535)>200)me(o,200,46631);r=e+12|0;do switch(c[r>>2]|0){case 59:{c[e+8>>2]=m;q=e+20|0;if((c[q>>2]|0)==286){c[r>>2]=Wd(e,e+16|0)|0;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}else{A=q;B=c[A+4>>2]|0;C=e+12|0;c[C>>2]=c[A>>2];c[C+4>>2]=B;c[q>>2]=286;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}break}case 267:{c[i>>2]=-1;ne(e,i);a:while(1){switch(c[r>>2]|0){case 260:{D=10;break a;break}case 261:break;default:break a}ne(e,i)}if((D|0)==10){c[e+8>>2]=c[l>>2];q=e+20|0;if((c[q>>2]|0)==286){B=Wd(e,e+16|0)|0;c[r>>2]=B;E=B}else{B=q;C=c[B>>2]|0;A=c[B+4>>2]|0;B=e+12|0;c[B>>2]=C;c[B+4>>2]=A;c[q>>2]=286;E=C}C=c[n>>2]|0;a[h+10>>0]=0;a[h+8>>0]=a[C+46>>0]|0;q=c[(c[C+12>>2]|0)+44>>2]|0;b[h+4>>1]=c[q+28>>2];b[h+6>>1]=c[q+16>>2];a[h+9>>0]=0;q=C+16|0;c[h>>2]=c[q>>2];c[q>>2]=h;q=E;b:while(1){switch(q|0){case 277:case 286:case 262:case 261:case 260:{break b;break}default:{}}Xd(e);if((q|0)==274)break;q=c[r>>2]|0}$d(C)}oe(e,262,267,m);q=c[i>>2]|0;c[o+24>>2]=c[o+20>>2];A=o+28|0;do if((q|0)!=-1){B=c[A>>2]|0;if((B|0)==-1){c[A>>2]=q;break}F=c[(c[o>>2]|0)+12>>2]|0;G=B;while(1){H=F+(G<<2)|0;I=c[H>>2]|0;B=(I>>>14)+-131071|0;J=(B|0)==-1?-1:G+1+B|0;if((J|0)==-1)break;else G=J}F=q+~G|0;if((((F|0)>-1?F:0-F|0)|0)>131071)be(c[o+12>>2]|0,46263);else{c[H>>2]=(F<<14)+2147467264|I&16383;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 278:{q=e+8|0;c[q>>2]=m;A=e+20|0;if((c[A>>2]|0)==286)c[r>>2]=Wd(e,e+16|0)|0;else{C=A;F=c[C+4>>2]|0;J=e+12|0;c[J>>2]=c[C>>2];c[J+4>>2]=F;c[A>>2]=286}F=o+20|0;J=c[F>>2]|0;C=o+24|0;c[C>>2]=J;pe(e,h,0)|0;if((c[h>>2]|0)==1)c[h>>2]=3;qe(c[n>>2]|0,h);B=c[h+12>>2]|0;a[i+10>>0]=1;a[i+8>>0]=a[o+46>>0]|0;K=o+12|0;L=c[(c[K>>2]|0)+44>>2]|0;b[i+4>>1]=c[L+28>>2];b[i+6>>1]=c[L+16>>2];a[i+9>>0]=0;L=o+16|0;c[i>>2]=c[L>>2];c[L>>2]=i;if((c[r>>2]|0)!=259)Yd(e,259);c[q>>2]=c[l>>2];if((c[A>>2]|0)==286){q=Wd(e,e+16|0)|0;c[r>>2]=q;M=q}else{q=A;L=c[q>>2]|0;N=c[q+4>>2]|0;q=e+12|0;c[q>>2]=L;c[q+4>>2]=N;c[A>>2]=286;M=L}L=c[n>>2]|0;a[h+10>>0]=0;a[h+8>>0]=a[L+46>>0]|0;A=c[(c[L+12>>2]|0)+44>>2]|0;b[h+4>>1]=c[A+28>>2];b[h+6>>1]=c[A+16>>2];a[h+9>>0]=0;A=L+16|0;c[h>>2]=c[A>>2];c[A>>2]=h;A=M;c:while(1){switch(A|0){case 277:case 286:case 262:case 261:case 260:{break c;break}default:{}}Xd(e);if((A|0)==274)break;A=c[r>>2]|0}$d(L);A=o+28|0;N=c[A>>2]|0;c[A>>2]=-1;q=_d(o,2147450916)|0;do if((N|0)!=-1)if((q|0)!=-1){O=c[(c[o>>2]|0)+12>>2]|0;P=q;while(1){Q=O+(P<<2)|0;R=c[Q>>2]|0;S=(R>>>14)+-131071|0;T=(S|0)==-1?-1:P+1+S|0;if((T|0)==-1)break;else P=T}O=N+~P|0;if((((O|0)>-1?O:0-O|0)|0)>131071)be(c[K>>2]|0,46263);else{c[Q>>2]=(O<<14)+2147467264|R&16383;U=q;break}}else U=N;else U=q;while(0);je(o,U,J);oe(e,262,278,m);$d(o);c[C>>2]=c[F>>2];do if((B|0)!=-1){q=c[A>>2]|0;if((q|0)==-1){c[A>>2]=B;break}N=c[(c[o>>2]|0)+12>>2]|0;L=q;while(1){V=N+(L<<2)|0;W=c[V>>2]|0;q=(W>>>14)+-131071|0;O=(q|0)==-1?-1:L+1+q|0;if((O|0)==-1)break;else L=O}N=B+~L|0;if((((N|0)>-1?N:0-N|0)|0)>131071)be(c[K>>2]|0,46263);else{c[V>>2]=(N<<14)+2147467264|W&16383;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 259:{c[e+8>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){B=Wd(e,e+16|0)|0;c[r>>2]=B;X=B;Y=c[n>>2]|0}else{B=K;A=c[B>>2]|0;F=c[B+4>>2]|0;B=e+12|0;c[B>>2]=A;c[B+4>>2]=F;c[K>>2]=286;X=A;Y=o}a[h+10>>0]=0;a[h+8>>0]=a[Y+46>>0]|0;A=c[(c[Y+12>>2]|0)+44>>2]|0;b[h+4>>1]=c[A+28>>2];b[h+6>>1]=c[A+16>>2];a[h+9>>0]=0;A=Y+16|0;c[h>>2]=c[A>>2];c[A>>2]=h;A=X;d:while(1){switch(A|0){case 277:case 286:case 262:case 261:case 260:{break d;break}default:{}}Xd(e);if((A|0)==274)break;A=c[r>>2]|0}$d(Y);oe(e,262,259,m);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 264:{a[i+10>>0]=1;a[i+8>>0]=a[o+46>>0]|0;A=c[(c[o+12>>2]|0)+44>>2]|0;b[i+4>>1]=c[A+28>>2];b[i+6>>1]=c[A+16>>2];a[i+9>>0]=0;A=o+16|0;c[i>>2]=c[A>>2];c[A>>2]=i;A=e+8|0;c[A>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){F=Wd(e,e+16|0)|0;c[r>>2]=F;Z=F}else{F=K;B=c[F>>2]|0;C=c[F+4>>2]|0;F=e+12|0;c[F>>2]=B;c[F+4>>2]=C;c[K>>2]=286;Z=B}if((Z|0)!=288)Yd(e,288);B=e+16|0;C=c[B>>2]|0;c[A>>2]=c[l>>2];if((c[K>>2]|0)==286){F=Wd(e,B)|0;c[r>>2]=F;_=F}else{F=K;J=c[F>>2]|0;N=c[F+4>>2]|0;F=e+12|0;c[F>>2]=J;c[F+4>>2]=N;c[K>>2]=286;_=J}switch(_|0){case 61:{J=c[n>>2]|0;N=J+48|0;F=d[N>>0]|0;re(e,ae(e,46640,11)|0);re(e,ae(e,46652,11)|0);re(e,ae(e,46664,10)|0);re(e,C);if((c[r>>2]|0)!=61)Yd(e,61);c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Wd(e,B)|0;else{P=K;O=c[P+4>>2]|0;q=e+12|0;c[q>>2]=c[P>>2];c[q+4>>2]=O;c[K>>2]=286}se(e);if((c[r>>2]|0)!=44)Yd(e,44);c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Wd(e,B)|0;else{O=K;q=c[O+4>>2]|0;P=e+12|0;c[P>>2]=c[O>>2];c[P+4>>2]=q;c[K>>2]=286}se(e);if((c[r>>2]|0)==44){c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Wd(e,B)|0;else{q=K;P=c[q+4>>2]|0;O=e+12|0;c[O>>2]=c[q>>2];c[O+4>>2]=P;c[K>>2]=286}se(e)}else{P=d[N>>0]|0;O=J+12|0;c[h>>2]=65536;c[h+4>>2]=3;q=te(J,h,h)|0;G=P<<6;if((q|0)<262144)_d(J,G|q<<14|1)|0;else{_d(J,G|2)|0;_d(J,q<<6|52)|0}q=a[N>>0]|0;G=(q&255)+1|0;P=(c[J>>2]|0)+78|0;do if((q&255)>=(d[P>>0]|0))if((q&255)>248)be(c[O>>2]|0,46675);else{J=G&255;a[P>>0]=J;$=J;break}else $=G&255;while(0);a[N>>0]=$}ue(e,F,m,1,1);break}case 268:case 44:{G=c[n>>2]|0;P=G+48|0;O=d[P>>0]|0;re(e,ae(e,46710,15)|0);re(e,ae(e,46726,11)|0);re(e,ae(e,46738,13)|0);re(e,C);q=c[r>>2]|0;do if((q|0)==44){J=e+12|0;T=4;while(1){c[A>>2]=c[l>>2];if((c[K>>2]|0)==286){S=Wd(e,B)|0;c[r>>2]=S;aa=S}else{S=K;ba=c[S>>2]|0;ca=c[S+4>>2]|0;S=J;c[S>>2]=ba;c[S+4>>2]=ca;c[K>>2]=286;aa=ba}if((aa|0)!=288){D=105;break}ba=c[B>>2]|0;c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Wd(e,B)|0;else{ca=K;S=c[ca+4>>2]|0;da=J;c[da>>2]=c[ca>>2];c[da+4>>2]=S;c[K>>2]=286}re(e,ba);ea=c[r>>2]|0;if((ea|0)==44)T=T+1|0;else{D=110;break}}if((D|0)==105)Yd(e,288);else if((D|0)==110){fa=T+-2|0;ga=ea;break}}else{fa=1;ga=q}while(0);if((ga|0)!=268)Yd(e,268);q=c[l>>2]|0;c[A>>2]=q;if((c[K>>2]|0)==286){c[r>>2]=Wd(e,B)|0;ha=c[l>>2]|0}else{C=K;F=c[C+4>>2]|0;N=e+12|0;c[N>>2]=c[C>>2];c[N+4>>2]=F;c[K>>2]=286;ha=q}pe(e,h,0)|0;e:do if((c[r>>2]|0)==44){q=e+12|0;F=h+4|0;N=1;while(1){c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Wd(e,B)|0;else{C=K;J=c[C+4>>2]|0;L=q;c[L>>2]=c[C>>2];c[L+4>>2]=J;c[K>>2]=286}ia=c[n>>2]|0;ve(ia,h);if(((c[h>>2]|0)==6?(J=c[F>>2]|0,(J&256|0)==0):0)?(J|0)>=(d[ia+46>>0]|0):0){J=ia+48|0;a[J>>0]=(a[J>>0]|0)+-1<<24>>24}J=ia+48|0;L=a[J>>0]|0;C=(L&255)+1|0;ba=(c[ia>>2]|0)+78|0;if((L&255)<(d[ba>>0]|0))ja=C&255;else{if((L&255)>248)break;L=C&255;a[ba>>0]=L;ja=L}a[J>>0]=ja;we(ia,h,(ja&255)+-1|0);pe(e,h,0)|0;J=N+1|0;if((c[r>>2]|0)==44)N=J;else{ka=J;break e}}be(c[ia+12>>2]|0,46675)}else ka=1;while(0);xe(c[n>>2]|0,3,ka,h);K=(d[P>>0]|0)+3|0;B=(c[G>>2]|0)+78|0;do if(K>>>0>(d[B>>0]|0)>>>0)if(K>>>0>249)be(c[G+12>>2]|0,46675);else{a[B>>0]=K;break}while(0);ue(e,O,ha,fa,0);break}default:be(e,46752)}oe(e,262,264,m);$d(o);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 273:{K=c[o+20>>2]|0;c[o+24>>2]=K;a[i+10>>0]=1;B=a[o+46>>0]|0;a[i+8>>0]=B;G=c[(c[o+12>>2]|0)+44>>2]|0;P=c[G+28>>2]&65535;b[i+4>>1]=P;A=c[G+16>>2]&65535;b[i+6>>1]=A;a[i+9>>0]=0;G=o+16|0;c[i>>2]=c[G>>2];a[j+10>>0]=0;N=j+8|0;a[N>>0]=B;b[j+4>>1]=P;b[j+6>>1]=A;A=j+9|0;a[A>>0]=0;c[j>>2]=i;c[G>>2]=j;c[e+8>>2]=m;G=e+20|0;if((c[G>>2]|0)==286){P=Wd(e,e+16|0)|0;c[r>>2]=P;la=P}else{P=G;B=c[P>>2]|0;F=c[P+4>>2]|0;P=e+12|0;c[P>>2]=B;c[P+4>>2]=F;c[G>>2]=286;la=B}B=la;f:while(1){switch(B|0){case 277:case 286:case 262:case 261:case 260:{break f;break}default:{}}Xd(e);if((B|0)==274)break;B=c[r>>2]|0}oe(e,277,273,m);pe(e,h,0)|0;if((c[h>>2]|0)==1)c[h>>2]=3;qe(c[n>>2]|0,h);B=c[h+12>>2]|0;if(!((B|0)==-1|(a[A>>0]|0)==0)){O=c[(c[o>>2]|0)+12>>2]|0;G=(d[N>>0]<<6)+64&16320;F=B;do{P=O+(F<<2)|0;q=c[P>>2]|0;T=(q>>>14)+-131071|0;c[P>>2]=q&-16321|G;F=(T|0)==-1?-1:F+1+T|0}while((F|0)!=-1)}$d(o);je(o,B,K);$d(o);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 265:{F=e+8|0;c[F>>2]=m;G=e+20|0;if((c[G>>2]|0)==286){O=e+16|0;c[r>>2]=Wd(e,O)|0;ma=G;na=e+12|0;oa=O}else{O=e+12|0;N=G;A=c[N+4>>2]|0;T=O;c[T>>2]=c[N>>2];c[T+4>>2]=A;c[G>>2]=286;ma=G;na=O;oa=e+16|0}ye(e,j);O=j+8|0;A=j+12|0;T=h+4|0;N=i+8|0;q=i+12|0;P=i+4|0;J=j+4|0;L=J+2|0;ba=J+3|0;g:while(1){switch(c[r>>2]|0){case 58:{D=168;break g;break}case 46:break;default:{pa=0;break g}}C=c[n>>2]|0;if(!((c[j>>2]|0)==8?(c[O>>2]|0)==(c[A>>2]|0):0))ze(C,j)|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286){S=Wd(e,oa)|0;c[r>>2]=S;qa=S}else{S=ma;da=c[S>>2]|0;ca=c[S+4>>2]|0;S=na;c[S>>2]=da;c[S+4>>2]=ca;c[G>>2]=286;qa=da}if((qa|0)!=288){D=163;break}da=c[oa>>2]|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286)c[r>>2]=Wd(e,oa)|0;else{ca=ma;S=c[ca+4>>2]|0;ra=na;c[ra>>2]=c[ca>>2];c[ra+4>>2]=S;c[G>>2]=286}S=c[n>>2]|0;c[h>>2]=da;c[T>>2]=(a[da+4>>0]|64)&255;da=te(S,h,h)|0;c[N>>2]=-1;c[q>>2]=-1;c[i>>2]=4;c[P>>2]=da;a[L>>0]=c[J>>2];b[J>>1]=Ae(C,i)|0;a[ba>>0]=(c[j>>2]|0)==8?8:7;c[j>>2]=9}if((D|0)==163)Yd(e,288);if((D|0)==168){P=c[n>>2]|0;if(!((c[j>>2]|0)==8?(c[O>>2]|0)==(c[A>>2]|0):0))ze(P,j)|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286){q=Wd(e,oa)|0;c[r>>2]=q;sa=q}else{q=ma;N=c[q>>2]|0;T=c[q+4>>2]|0;q=na;c[q>>2]=N;c[q+4>>2]=T;c[G>>2]=286;sa=N}if((sa|0)!=288)Yd(e,288);N=c[oa>>2]|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286)c[r>>2]=Wd(e,oa)|0;else{T=ma;q=c[T+4>>2]|0;K=na;c[K>>2]=c[T>>2];c[K+4>>2]=q;c[G>>2]=286}q=c[n>>2]|0;c[h>>2]=N;c[h+4>>2]=(a[N+4>>0]|64)&255;N=te(q,h,h)|0;c[i+8>>2]=-1;c[i+12>>2]=-1;c[i>>2]=4;c[i+4>>2]=N;a[L>>0]=c[J>>2];b[J>>1]=Ae(P,i)|0;a[ba>>0]=(c[j>>2]|0)==8?8:7;c[j>>2]=9;pa=1}Be(e,k,pa,m);Ce(c[n>>2]|0,j,k);P=c[n>>2]|0;c[(c[(c[P>>2]|0)+20>>2]|0)+((c[P+20>>2]|0)+-1<<2)>>2]=m;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 269:{P=e+8|0;c[P>>2]=m;N=e+20|0;if((c[N>>2]|0)==286){q=Wd(e,e+16|0)|0;c[r>>2]=q;ta=q}else{q=N;K=c[q>>2]|0;T=c[q+4>>2]|0;q=e+12|0;c[q>>2]=K;c[q+4>>2]=T;c[N>>2]=286;ta=K}if((ta|0)==265){c[P>>2]=c[l>>2];if((c[N>>2]|0)==286){K=Wd(e,e+16|0)|0;c[r>>2]=K;ua=K}else{K=N;T=c[K>>2]|0;q=c[K+4>>2]|0;K=e+12|0;c[K>>2]=T;c[K+4>>2]=q;c[N>>2]=286;ua=T}T=c[n>>2]|0;if((ua|0)!=288)Yd(e,288);q=e+16|0;K=c[q>>2]|0;c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Wd(e,q)|0;else{q=N;B=c[q+4>>2]|0;C=e+12|0;c[C>>2]=c[q>>2];c[C+4>>2]=B;c[N>>2]=286}re(e,K);K=c[n>>2]|0;B=K+46|0;C=a[B>>0]|0;a[B>>0]=(C&255)+1;c[(c[(c[K>>2]|0)+24>>2]|0)+((b[(c[c[(c[K+12>>2]|0)+44>>2]>>2]|0)+((c[K+40>>2]|0)+(C+1&255)+-1<<1)>>1]|0)*12|0)+4>>2]=c[K+20>>2];Be(e,h,0,c[l>>2]|0);c[(c[(c[T>>2]|0)+24>>2]|0)+((b[(c[c[(c[T+12>>2]|0)+44>>2]>>2]|0)+((c[T+40>>2]|0)+(c[h+4>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[T+20>>2];s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}if((ta|0)!=288)Yd(e,288);T=e+16|0;K=e+12|0;C=0;h:while(1){B=c[T>>2]|0;c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Wd(e,T)|0;else{q=N;da=c[q+4>>2]|0;S=K;c[S>>2]=c[q>>2];c[S+4>>2]=da;c[N>>2]=286}re(e,B);C=C+1|0;switch(c[r>>2]|0){case 61:{D=205;break h;break}case 44:break;default:{D=223;break h}}c[P>>2]=c[l>>2];if((c[N>>2]|0)==286){B=Wd(e,T)|0;c[r>>2]=B;va=B}else{B=N;da=c[B>>2]|0;S=c[B+4>>2]|0;B=K;c[B>>2]=da;c[B+4>>2]=S;c[N>>2]=286;va=da}if((va|0)!=288){D=196;break}}i:do if((D|0)==196)Yd(e,288);else if((D|0)==205){c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Wd(e,T)|0;else{ba=N;J=c[ba+4>>2]|0;L=K;c[L>>2]=c[ba>>2];c[L+4>>2]=J;c[N>>2]=286}pe(e,h,0)|0;if((c[r>>2]|0)==44){J=h+4|0;L=1;while(1){c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Wd(e,T)|0;else{ba=N;G=c[ba+4>>2]|0;F=K;c[F>>2]=c[ba>>2];c[F+4>>2]=G;c[N>>2]=286}wa=c[n>>2]|0;ve(wa,h);if(((c[h>>2]|0)==6?(G=c[J>>2]|0,(G&256|0)==0):0)?(G|0)>=(d[wa+46>>0]|0):0){G=wa+48|0;a[G>>0]=(a[G>>0]|0)+-1<<24>>24}G=wa+48|0;F=a[G>>0]|0;ba=(F&255)+1|0;A=(c[wa>>2]|0)+78|0;if((F&255)<(d[A>>0]|0))xa=ba&255;else{if((F&255)>248)break;F=ba&255;a[A>>0]=F;xa=F}a[G>>0]=xa;we(wa,h,(xa&255)+-1|0);pe(e,h,0)|0;G=L+1|0;if((c[r>>2]|0)==44)L=G;else{ya=G;break i}}be(c[wa+12>>2]|0,46675)}else ya=1}else if((D|0)==223){c[h>>2]=0;ya=0}while(0);xe(c[n>>2]|0,C,ya,h);N=c[n>>2]|0;K=N+46|0;T=C+(d[K>>0]|0)|0;a[K>>0]=T;K=c[N+20>>2]|0;P=c[(c[N>>2]|0)+24>>2]|0;L=c[c[(c[N+12>>2]|0)+44>>2]>>2]|0;J=(c[N+40>>2]|0)+(T&255)|0;T=C;do{c[P+((b[L+(J-T<<1)>>1]|0)*12|0)+4>>2]=K;T=T+-1|0}while((T|0)!=0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 285:{T=e+8|0;c[T>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){J=Wd(e,e+16|0)|0;c[r>>2]=J;za=J}else{J=K;L=c[J>>2]|0;P=c[J+4>>2]|0;J=e+12|0;c[J>>2]=L;c[J+4>>2]=P;c[K>>2]=286;za=L}if((za|0)!=288)Yd(e,288);L=e+16|0;P=c[L>>2]|0;c[T>>2]=c[l>>2];if((c[K>>2]|0)==286){J=Wd(e,L)|0;c[r>>2]=J;Aa=J}else{J=K;C=c[J>>2]|0;N=c[J+4>>2]|0;J=e+12|0;c[J>>2]=C;c[J+4>>2]=N;c[K>>2]=286;Aa=C}C=c[n>>2]|0;N=e+44|0;J=c[N>>2]|0;G=J+24|0;F=C+16|0;A=b[(c[F>>2]|0)+4>>1]|0;ba=J+28|0;O=c[ba>>2]|0;j:do if((O|0)>(A|0)){da=c[G>>2]|0;S=a[P+4>>0]|0;B=P+12|0;q=P+16|0;if(S<<24>>24==4){ra=A;while(1){ca=c[da+(ra<<4)>>2]|0;if((ca|0)==(P|0)&(a[ca+4>>0]|0)==4){Ba=ra;break}ra=ra+1|0;if((ra|0)>=(O|0))break j}Ca=C+12|0;Da=c[Ca>>2]|0;Ea=Da+32|0;Ga=c[Ea>>2]|0;Ha=da+(Ba<<4)+8|0;Ia=c[Ha>>2]|0;Ja=ge(Ia)|0;Ka=c[G>>2]|0;La=Ka+(Ba<<4)+8|0;Ma=c[La>>2]|0;Na=he(Ma)|0;c[g>>2]=q;Oa=g+4|0;c[Oa>>2]=Ja;Pa=g+8|0;c[Pa>>2]=Na;Qa=hd(Ga,46773,g)|0;Ra=c[Ca>>2]|0;ie(Ra,Qa)}ra=A;while(1){ca=c[da+(ra<<4)>>2]|0;if(S<<24>>24==(a[ca+4>>0]|0)){Sa=c[B>>2]|0;if((ca|0)==(P|0)){Ba=ra;D=245;break}if((Sa|0)==(c[ca+12>>2]|0)?(ss(q,ca+16|0,Sa)|0)==0:0){Ba=ra;D=245;break}}ra=ra+1|0;if((ra|0)>=(O|0))break j}if((D|0)==245){Ca=C+12|0;Da=c[Ca>>2]|0;Ea=Da+32|0;Ga=c[Ea>>2]|0;Ha=da+(Ba<<4)+8|0;Ia=c[Ha>>2]|0;Ja=ge(Ia)|0;Ka=c[G>>2]|0;La=Ka+(Ba<<4)+8|0;Ma=c[La>>2]|0;Na=he(Ma)|0;c[g>>2]=q;Oa=g+4|0;c[Oa>>2]=Ja;Pa=g+8|0;c[Pa>>2]=Na;Qa=hd(Ga,46773,g)|0;Ra=c[Ca>>2]|0;ie(Ra,Qa)}}while(0);if((Aa|0)!=285)Yd(e,285);c[T>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Wd(e,L)|0;else{O=K;A=c[O+4>>2]|0;ra=e+12|0;c[ra>>2]=c[O>>2];c[ra+4>>2]=A;c[K>>2]=286}A=c[C+20>>2]|0;ra=c[ba>>2]|0;O=J+32|0;if((ra|0)<(c[O>>2]|0)){Ta=c[G>>2]|0;Ua=ra}else{B=ce(c[p>>2]|0,c[G>>2]|0,O,16,32767,46290)|0;c[G>>2]=B;Ta=B;Ua=c[ba>>2]|0}c[Ta+(ra<<4)>>2]=P;c[Ta+(ra<<4)+8>>2]=m;a[Ta+(ra<<4)+12>>0]=a[(c[n>>2]|0)+46>>0]|0;c[Ta+(ra<<4)+4>>2]=A;c[ba>>2]=Ua+1;k:while(1){switch(c[r>>2]|0){case 286:case 262:case 261:case 260:{D=259;break k;break}case 285:case 59:break;default:{D=258;break k}}Xd(e)}if((D|0)==258)Va=c[G>>2]|0;else if((D|0)==259){ba=c[G>>2]|0;a[ba+(ra<<4)+12>>0]=a[(c[F>>2]|0)+8>>0]|0;Va=ba}ba=Va+(ra<<4)|0;P=c[N>>2]|0;J=b[(c[(c[n>>2]|0)+16>>2]|0)+6>>1]|0;C=P+16|0;K=c[C>>2]|0;if((K|0)<=(J|0)){s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}L=P+12|0;P=J;J=K;while(1){K=c[(c[L>>2]|0)+(P<<4)>>2]|0;T=c[ba>>2]|0;A=a[K+4>>0]|0;do if(A<<24>>24==(a[T+4>>0]|0)){if(A<<24>>24==4){if((K|0)!=(T|0)){D=269;break}}else{B=c[K+12>>2]|0;if((K|0)!=(T|0)){if((B|0)!=(c[T+12>>2]|0)){D=269;break}if(ss(K+16|0,T+16|0,B)|0){D=269;break}}}de(e,P,ba);Wa=P;Xa=c[C>>2]|0}else D=269;while(0);if((D|0)==269){D=0;Wa=P+1|0;Xa=J}if((Wa|0)<(Xa|0)){P=Wa;J=Xa}else break}s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 274:{J=e+8|0;c[J>>2]=m;P=e+20|0;if((c[P>>2]|0)==286){C=Wd(e,e+16|0)|0;c[r>>2]=C;Ya=C;Za=c[n>>2]|0}else{C=P;ba=c[C>>2]|0;L=c[C+4>>2]|0;C=e+12|0;c[C>>2]=ba;c[C+4>>2]=L;c[P>>2]=286;Ya=ba;Za=o}l:do switch(Ya|0){case 59:case 277:case 286:case 262:case 261:case 260:{_a=0;$a=0;break}default:{pe(e,h,0)|0;m:do if((c[r>>2]|0)==44){ba=e+16|0;L=e+12|0;C=h+4|0;N=1;while(1){c[J>>2]=c[l>>2];if((c[P>>2]|0)==286)c[r>>2]=Wd(e,ba)|0;else{ra=P;F=c[ra+4>>2]|0;G=L;c[G>>2]=c[ra>>2];c[G+4>>2]=F;c[P>>2]=286}ab=c[n>>2]|0;ve(ab,h);if(((c[h>>2]|0)==6?(F=c[C>>2]|0,(F&256|0)==0):0)?(F|0)>=(d[ab+46>>0]|0):0){F=ab+48|0;a[F>>0]=(a[F>>0]|0)+-1<<24>>24}F=ab+48|0;G=a[F>>0]|0;ra=(G&255)+1|0;T=(c[ab>>2]|0)+78|0;if((G&255)<(d[T>>0]|0))bb=ra&255;else{if((G&255)>248)break;G=ra&255;a[T>>0]=G;bb=G}a[F>>0]=bb;we(ab,h,(bb&255)+-1|0);pe(e,h,0)|0;F=N+1|0;if((c[r>>2]|0)==44)N=F;else{cb=F;db=h;break m}}be(c[ab+12>>2]|0,46675)}else{cb=1;db=h}while(0);N=c[db>>2]|0;if((N&-2|0)==12){switch(N|0){case 12:{N=(c[(c[Za>>2]|0)+12>>2]|0)+(c[h+4>>2]<<2)|0;c[N>>2]=c[N>>2]&-8372225;if((cb|0)==1){N=(c[(c[Za>>2]|0)+12>>2]|0)+(c[h+4>>2]<<2)|0;c[N>>2]=c[N>>2]&-64|43}break}case 13:{N=c[Za>>2]|0;C=c[N+12>>2]|0;L=h+4|0;ba=C+(c[L>>2]<<2)|0;c[ba>>2]=c[ba>>2]&8388607;ba=C+(c[L>>2]<<2)|0;L=Za+48|0;C=a[L>>0]|0;F=C&255;c[ba>>2]=F<<6|c[ba>>2]&-16321;ba=F+1|0;F=N+78|0;do if((C&255)>=(d[F>>0]|0))if((C&255)>248)be(c[Za+12>>2]|0,46675);else{N=ba&255;a[F>>0]=N;eb=N;break}else eb=ba&255;while(0);a[L>>0]=eb;break}default:{}}_a=-1;$a=d[Za+46>>0]|0;break l}if((cb|0)==1){_a=1;$a=ze(Za,h)|0;break l}ve(Za,h);if(((c[db>>2]|0)==6?(ba=c[h+4>>2]|0,(ba&256|0)==0):0)?(ba|0)>=(d[Za+46>>0]|0):0){ba=Za+48|0;a[ba>>0]=(a[ba>>0]|0)+-1<<24>>24}ba=Za+48|0;F=a[ba>>0]|0;C=(F&255)+1|0;N=(c[Za>>2]|0)+78|0;do if((F&255)>=(d[N>>0]|0))if((F&255)>248)be(c[Za+12>>2]|0,46675);else{G=C&255;a[N>>0]=G;fb=G;break}else fb=C&255;while(0);a[ba>>0]=fb;we(Za,h,(fb&255)+-1|0);_a=cb;$a=d[Za+46>>0]|0}}while(0);_d(Za,$a<<6|(_a<<23)+8388608|44)|0;do if((c[r>>2]|0)==59){c[J>>2]=c[l>>2];if((c[P>>2]|0)==286){c[r>>2]=Wd(e,e+16|0)|0;break}else{C=P;N=c[C+4>>2]|0;F=e+12|0;c[F>>2]=c[C>>2];c[F+4>>2]=N;c[P>>2]=286;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}case 266:case 258:{P=o+28|0;J=c[P>>2]|0;c[P>>2]=-1;P=_d(o,2147450916)|0;do if((J|0)!=-1)if((P|0)!=-1){N=c[(c[o>>2]|0)+12>>2]|0;F=P;while(1){gb=N+(F<<2)|0;hb=c[gb>>2]|0;C=(hb>>>14)+-131071|0;L=(C|0)==-1?-1:F+1+C|0;if((L|0)==-1)break;else F=L}N=J+~F|0;if((((N|0)>-1?N:0-N|0)|0)>131071)be(c[o+12>>2]|0,46263);else{c[gb>>2]=(N<<14)+2147467264|hb&16383;ib=P;break}}else ib=J;else ib=P;while(0);P=c[l>>2]|0;J=(c[r>>2]|0)==266;N=e+8|0;c[N>>2]=P;ba=e+20|0;L=(c[ba>>2]|0)==286;do if(J){if(L){C=Wd(e,e+16|0)|0;c[r>>2]=C;jb=C}else{C=ba;G=c[C>>2]|0;T=c[C+4>>2]|0;C=e+12|0;c[C>>2]=G;c[C+4>>2]=T;c[ba>>2]=286;jb=G}if((jb|0)!=288)Yd(e,288);G=e+16|0;T=c[G>>2]|0;c[N>>2]=c[l>>2];if((c[ba>>2]|0)==286){c[r>>2]=Wd(e,G)|0;kb=T;break}else{G=ba;C=c[G+4>>2]|0;ra=e+12|0;c[ra>>2]=c[G>>2];c[ra+4>>2]=C;c[ba>>2]=286;kb=T;break}}else{if(L)c[r>>2]=Wd(e,e+16|0)|0;else{T=ba;C=c[T+4>>2]|0;ra=e+12|0;c[ra>>2]=c[T>>2];c[ra+4>>2]=C;c[ba>>2]=286}kb=id(c[p>>2]|0,56767,5)|0}while(0);ba=c[e+44>>2]|0;L=ba+12|0;N=ba+16|0;J=c[N>>2]|0;C=ba+20|0;if((J|0)<(c[C>>2]|0)){lb=c[L>>2]|0;mb=J}else{ba=ce(c[p>>2]|0,c[L>>2]|0,C,16,32767,46290)|0;c[L>>2]=ba;lb=ba;mb=c[N>>2]|0}c[lb+(J<<4)>>2]=kb;c[lb+(J<<4)+8>>2]=P;a[lb+(J<<4)+12>>0]=a[(c[n>>2]|0)+46>>0]|0;c[lb+(J<<4)+4>>2]=ib;c[N>>2]=mb+1;ee(e,J)|0;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}default:{J=h+4|0;De(e,J);n:do switch(c[r>>2]|0){case 44:case 61:{c[h>>2]=0;Ee(e,h,1);break}default:if((c[J>>2]|0)==12){N=(c[(c[o>>2]|0)+12>>2]|0)+(c[h+8>>2]<<2)|0;c[N>>2]=c[N>>2]&-8372225|16384;break n}else be(e,56198)}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Fa=f;return}}while(0)}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0;d=Fa;Fa=Fa+16|0;e=d;d=c[a+32>>2]|0;c[e>>2]=le(a,b)|0;be(a,hd(d,46619,e)|0)}function Zd(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=c[e+32>>2]|0;g=e+28|0;h=c[g>>2]|0;i=c[h>>2]|0;_d(h,8388652)|0;$d(h);j=h+20|0;k=c[j>>2]|0;if((k+1|0)>>>0>1073741823)wc(f);l=i+12|0;m=c[l>>2]|0;n=i+48|0;o=c[n>>2]<<2;p=k<<2;k=f+12|0;q=c[k>>2]|0;r=(m|0)==0;s=q+4|0;t=Ma[c[q>>2]&1](c[s>>2]|0,m,o,p)|0;if((p|0)!=0&(t|0)==0){if(!(a[q+51>>0]|0))jc(f,4);vc(f,1);u=Ma[c[q>>2]&1](c[s>>2]|0,m,o,p)|0;if(!u)jc(f,4);else v=u}else v=t;t=q+12|0;c[t>>2]=(r?0:0-o|0)+p+(c[t>>2]|0);c[l>>2]=v;v=c[j>>2]|0;c[n>>2]=v;if((v+1|0)>>>0>1073741823)wc(f);n=i+20|0;l=c[n>>2]|0;t=i+52|0;p=c[t>>2]<<2;o=v<<2;v=c[k>>2]|0;r=(l|0)==0;q=v+4|0;u=Ma[c[v>>2]&1](c[q>>2]|0,l,p,o)|0;if((o|0)!=0&(u|0)==0){if(!(a[v+51>>0]|0))jc(f,4);vc(f,1);m=Ma[c[v>>2]&1](c[q>>2]|0,l,p,o)|0;if(!m)jc(f,4);else w=m}else w=u;u=v+12|0;c[u>>2]=(r?0:0-p|0)+o+(c[u>>2]|0);c[n>>2]=w;c[t>>2]=c[j>>2];j=h+32|0;t=c[j>>2]|0;if((t+1|0)>>>0>536870911)wc(f);w=i+8|0;n=c[w>>2]|0;u=i+44|0;o=c[u>>2]<<3;p=t<<3;t=c[k>>2]|0;r=(n|0)==0;v=t+4|0;m=Ma[c[t>>2]&1](c[v>>2]|0,n,o,p)|0;if((p|0)!=0&(m|0)==0){if(!(a[t+51>>0]|0))jc(f,4);vc(f,1);l=Ma[c[t>>2]&1](c[v>>2]|0,n,o,p)|0;if(!l)jc(f,4);else x=l}else x=m;m=t+12|0;c[m>>2]=(r?0:0-o|0)+p+(c[m>>2]|0);c[w>>2]=x;c[u>>2]=c[j>>2];j=h+36|0;u=c[j>>2]|0;if((u+1|0)>>>0>1073741823)wc(f);x=i+16|0;w=c[x>>2]|0;m=i+56|0;p=c[m>>2]<<2;o=u<<2;u=c[k>>2]|0;r=(w|0)==0;t=u+4|0;l=Ma[c[u>>2]&1](c[t>>2]|0,w,p,o)|0;if((o|0)!=0&(l|0)==0){if(!(a[u+51>>0]|0))jc(f,4);vc(f,1);n=Ma[c[u>>2]&1](c[t>>2]|0,w,p,o)|0;if(!n)jc(f,4);else y=n}else y=l;l=u+12|0;c[l>>2]=(r?0:0-p|0)+o+(c[l>>2]|0);c[x>>2]=y;c[m>>2]=c[j>>2];j=h+44|0;m=b[j>>1]|0;y=m<<16>>16;if((y+1|0)>>>0>357913941)wc(f);x=i+24|0;l=c[x>>2]|0;o=i+60|0;p=(c[o>>2]|0)*12|0;r=y*12|0;y=c[k>>2]|0;u=(l|0)==0;n=y+4|0;w=Ma[c[y>>2]&1](c[n>>2]|0,l,p,r)|0;if(m<<16>>16!=0&(w|0)==0){if(!(a[y+51>>0]|0))jc(f,4);vc(f,1);m=Ma[c[y>>2]&1](c[n>>2]|0,l,p,r)|0;if(!m)jc(f,4);else z=m}else z=w;w=y+12|0;c[w>>2]=(u?0:0-p|0)+r+(c[w>>2]|0);c[x>>2]=z;c[o>>2]=b[j>>1];j=h+47|0;o=a[j>>0]|0;z=i+28|0;x=c[z>>2]|0;w=i+40|0;i=c[w>>2]<<3;r=(o&255)<<3;p=c[k>>2]|0;u=(x|0)==0;y=p+4|0;m=Ma[c[p>>2]&1](c[y>>2]|0,x,i,r)|0;if(o<<24>>24!=0&(m|0)==0){if(!(a[p+51>>0]|0))jc(f,4);vc(f,1);o=Ma[c[p>>2]&1](c[y>>2]|0,x,i,r)|0;if(!o)jc(f,4);else A=o}else A=m;m=p+12|0;c[m>>2]=(u?0:0-i|0)+r+(c[m>>2]|0);c[z>>2]=A;c[w>>2]=d[j>>0];c[g>>2]=c[h+8>>2];if((c[e+12>>2]&-2|0)==288){h=c[e+16>>2]|0;ae(e,h+16|0,c[h+12>>2]|0)|0}h=f+8|0;c[h>>2]=(c[h>>2]|0)+-8;h=c[k>>2]|0;k=h+12|0;e=c[k>>2]|0;if((e|0)<=0)return;if(!(a[h+51>>0]|0)){g=h+8|0;c[g>>2]=e+1600+(c[g>>2]|0);c[k>>2]=-1600;return}else{zc(f);return}}
+function Bp(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;j=Fa;Fa=Fa+64|0;k=j;switch(h|0){case 3:case 0:{l=1;break}case 2:{l=3;break}case 4:{l=2;break}case 6:{l=4;break}default:l=0}m=B(l,i)|0;l=((B(m,f)|0)+7|0)>>>3;f=(m+7|0)>>>3;if(!m){n=31;Fa=j;return n|0}if((h|0)==3|i>>>0<8){if(!g){n=0;Fa=j;return n|0}i=l+1|0;if(!l){h=0;do{a[b+(B(h,i)|0)>>0]=0;h=h+1|0}while((h|0)!=(g|0));n=0;Fa=j;return n|0}h=0;do{m=B(h,i)|0;o=B(h,l)|0;a[b+m>>0]=0;p=b+(m+1)|0;m=e+o|0;o=0;do{a[p+o>>0]=a[m+o>>0]|0;o=o+1|0}while((o|0)!=(l|0));h=h+1|0}while((h|0)!=(g|0));n=0;Fa=j;return n|0}h=k;i=h+60|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));h=l<<1;i=k+8|0;do if(!l){c[k+4>>2]=l;c[k+16>>2]=l;c[k+28>>2]=l;c[k+40>>2]=l;q=k+56|0;r=k+44|0;s=k+32|0;t=k+20|0;u=0;v=0;w=0;x=0;y=0;z=89}else{o=Gp(0,h)|0;if(o){c[i>>2]=h;c[k>>2]=o;c[k+4>>2]=l;m=k+20|0;p=Gp(0,h)|0;if(p){c[m>>2]=h;c[k+12>>2]=p;c[k+16>>2]=l;A=k+32|0;C=Gp(0,h)|0;if(C){c[A>>2]=h;c[k+24>>2]=C;c[k+28>>2]=l;D=k+44|0;E=Gp(0,h)|0;if(E){c[D>>2]=h;c[k+36>>2]=E;c[k+40>>2]=l;F=k+56|0;G=Gp(0,h)|0;if(!G){H=m;I=E;J=C;K=p;L=o}else{c[F>>2]=h;c[k+48>>2]=G;q=F;r=D;s=A;t=m;u=E;v=p;w=o;x=C;y=G;z=89;break}}else{H=m;I=0;J=C;K=p;L=o}}else{H=m;I=0;J=0;K=p;L=o}}else{H=m;I=0;J=0;K=0;L=o}}else{H=k+20|0;I=0;J=0;K=0;L=0}M=9949;N=k+32|0;O=k+44|0;P=k+56|0;Q=H;R=L;S=K;T=J;U=I;V=0}while(0);if((z|0)==89){c[k+52>>2]=l;if(!g){M=0;N=s;O=r;P=q;Q=t;R=w;S=v;T=x;U=u;V=y}else{y=(l|0)==0;u=(f|0)!=0;x=(l|0)!=0;v=f>>>0<l>>>0;w=l+1|0;z=0;I=0;J=0;K=0;while(1){L=J;J=e+(B(K,l)|0)|0;H=(L|0)==0;h=z;i=I;o=0;do{m=c[k+(o*12|0)>>2]|0;a:do switch((o&255)<<24>>24){case 0:{if(!y){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(l|0))}break}case 1:{if(H){if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[J+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}else{if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[J+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}break}case 2:{if(H){if(!x)break a;p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(l|0))}else{if(!x)break a;p=0;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[L+p>>0]|0);p=p+1|0}while((p|0)!=(l|0))}break}case 3:{if(H){if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-((d[J+(p-f)>>0]|0)>>>1&255);p=p+1|0}while((p|0)!=(l|0))}else{if(u){p=0;do{a[m+p>>0]=(d[J+p>>0]|0)-((d[L+p>>0]|0)>>>1&255);p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(((d[L+p>>0]|0)+(d[J+(p-f)>>0]|0)|0)>>>1);p=p+1|0}while((p|0)!=(l|0))}break}case 4:{if(H){if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[J+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}else{if(u){p=0;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[L+p>>0]|0);p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{C=p-f|0;G=a[J+C>>0]|0;E=a[L+p>>0]|0;A=a[L+C>>0]|0;C=E&255;D=A&255;F=C-D|0;W=(F|0)>-1?F:0-F|0;F=G&255;X=F-D|0;Y=(X|0)>-1?X:0-X|0;X=C+F+(B(D,-2)|0)|0;D=(X|0)>-1?X:0-X|0;a[m+p>>0]=(d[J+p>>0]|0)-(((W|0)>(Y|0)|(W|0)>(D|0)?((Y|0)>(D|0)?A:E):G)&255);p=p+1|0}while((p|0)!=(l|0))}break}default:{}}while(0);p=c[k+(o*12|0)+4>>2]|0;if(!p)Z=0;else{G=0;E=0;while(1){A=E+(d[m+G>>0]|0)|0;G=G+3|0;if(G>>>0>=p>>>0){Z=A;break}else E=A}}E=(o|0)==0|Z>>>0<h>>>0;h=E?Z:h;i=E?o:i;o=o+1|0}while((o|0)!=5);o=B(K,w)|0;a[b+o>>0]=i;if(!y){L=c[k+(i*12|0)>>2]|0;H=0;do{E=H;H=H+1|0;a[b+(H+o)>>0]=a[L+E>>0]|0}while((H|0)!=(l|0))}K=K+1|0;if((K|0)==(g|0))break;else{z=h;I=i}}M=0;N=s;O=r;P=q;Q=t;R=c[k>>2]|0;S=c[k+12>>2]|0;T=c[k+24>>2]|0;U=c[k+36>>2]|0;V=c[k+48>>2]|0}}Hp(R);c[Q>>2]=0;Hp(S);c[N>>2]=0;Hp(T);c[O>>2]=0;Hp(U);c[P>>2]=0;Hp(V);n=M;Fa=j;return n|0}function Cp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=Fa;Fa=Fa+240|0;j=i+8|0;k=i+4|0;l=i;c[j>>2]=2;c[j+4>>2]=1;c[j+8>>2]=2048;c[j+12>>2]=1;c[j+16>>2]=0;c[j+20>>2]=1;c[j+24>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;m=j+64|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[j+48>>2]=6;c[j+52>>2]=8;c[j+56>>2]=0;c[j+60>>2]=0;c[j+44>>2]=0;c[j+36>>2]=0;c[j+40>>2]=0;m=j+80|0;c[j+144>>2]=0;n=j+160|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;n=m;o=n+48|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));a[m+48>>0]=0;m=j+192|0;n=j+216|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[n>>2]=1;c[j+184>>2]=g;c[j+188>>2]=h;wp(j,k,l,d,e,f);f=c[n>>2]|0;op(j+28|0);j=c[m>>2]|0;if(j|0)Hp(j);j=c[k>>2]|0;k=c[l>>2]|0;l=Jt(b,71945)|0;if(!l){Hp(j);Fa=i;return f|0}ku(j,1,k,l)|0;Pt(l)|0;Hp(j);Fa=i;return f|0}function Dp(a){a=a|0;var b=0,d=0;if(a>>>0<=1073741824?(c[526429]=(c[526429]|0)+1,(a|0)!=0):0){b=Wr(a+8|0)|0;c[b>>2]=-1060065012;c[b+4>>2]=a;c[526431]=(c[526431]|0)+a;d=b+8|0}else d=0;Yu(d|0,0,a|0)|0;return d|0}function Ep(a,b,c){a=a|0;b=b|0;c=c|0;Yu(a|0,b&255|0,c|0)|0;return}function Fp(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;if(b>>>0<=1073741824?(c[526429]=(c[526429]|0)+1,(b|0)!=0):0){d=Wr(a+24|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=b;c[526431]=(c[526431]|0)+b;e=d+8|0}else e=0;Yu(e|0,0,b|0)|0;return e|0}function Gp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(a|0){c[526431]=b-(c[a+-4>>2]|0)+(c[526431]|0);d=Zr(a+-8|0,b+8|0)|0;c[d+4>>2]=b;e=d+8|0;return e|0}d=b+16|0;if(d>>>0<=1073741824?(c[526429]=(c[526429]|0)+1,(d|0)!=0):0){a=Wr(b+24|0)|0;c[a>>2]=-1060065012;c[a+4>>2]=d;c[526431]=(c[526431]|0)+d;f=a+8|0}else f=0;Yu(f|0,0,d|0)|0;e=f;return e|0}function Hp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Fa;Fa=Fa+16|0;d=b+8|0;e=b;if(c[526404]|0){Fa=b;return}if(!a){Fa=b;return}c[526430]=(c[526430]|0)+1;f=a+-8|0;g=c[f>>2]|0;h=a+-4|0;i=c[h>>2]|0;if((g|0)!=-1060065012){c[e>>2]=g;c[e+4>>2]=i;xu(64344,e)|0;Rt(c[8793]|0)|0;e=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;vs(1504976,64344,d)|0;Pm(1504976);Fa=b;return}if(i>>>0>3){d=i>>>2;e=0;do{c[a+(e<<2)>>2]=-559038737;e=e+1|0}while(e>>>0<d>>>0)}c[526431]=(c[526431]|0)-i;c[f>>2]=11254272;c[h>>2]=13491200;Xr(f);Fa=b;return}function Ip(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[526429]|0;c[526429]=d+1;e=Wr(100)|0;c[e>>2]=-1060065012;c[e+4>>2]=92;f=(c[526431]|0)+92|0;c[526431]=f;g=e+8|0;h=e+12|0;i=h+84|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));c[g>>2]=1;h=e+20|0;c[h>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;i=(b|0)>4?b:4;c[e+96>>2]=i;if(i>>>0>1073741824){j=0;Yu(j|0,0,i|0)|0;c[h>>2]=j;return g|0}c[526429]=d+2;if(!i){j=0;Yu(j|0,0,i|0)|0;c[h>>2]=j;return g|0}d=Wr(i+8|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=i;c[526431]=f+i;j=d+8|0;Yu(j|0,0,i|0)|0;c[h>>2]=j;return g|0}function Jp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=a+88|0;e=c[d>>2]|0;if((e|0)>=(b|0))return 0;f=b<<1;c[d>>2]=f;b=a+12|0;a=c[b>>2]|0;if(!a){g=f+16|0;if(g>>>0<=1073741824?(c[526429]=(c[526429]|0)+1,(g|0)!=0):0){h=Wr(f+24|0)|0;c[h>>2]=-1060065012;c[h+4>>2]=g;c[526431]=(c[526431]|0)+g;i=h+8|0}else i=0;Yu(i|0,0,g|0)|0;j=i;k=f}else{c[526431]=f-(c[a+-4>>2]|0)+(c[526431]|0);i=Zr(a+-8|0,f+8|0)|0;c[i+4>>2]=f;j=i+8|0;k=c[d>>2]|0}c[b>>2]=j;Yu(j+e|0,0,k-e|0)|0;return 0}function Kp(a){a=a|0;Zn(a);return}function Lp(a){a=a|0;if(!a)return;c[a+16>>2]=0;c[a+20>>2]=0;return}function Mp(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+92|0;e=c[d>>2]|0;c[d>>2]=e+1;a[b+28+e>>0]=-128;f=c[d>>2]|0;if((e|0)>55){if((f|0)<64){e=f;do{c[d>>2]=e+1;a[b+28+e>>0]=0;e=c[d>>2]|0}while((e|0)<64)}Np(b);e=c[d>>2]|0;if((e|0)<56){g=e;do{c[d>>2]=g+1;a[b+28+g>>0]=0;g=c[d>>2]|0}while((g|0)<56)}}else if((f|0)<56){g=f;do{c[d>>2]=g+1;a[b+28+g>>0]=0;g=c[d>>2]|0}while((g|0)<56)}g=c[b+24>>2]|0;a[b+84>>0]=g>>>24;a[b+85>>0]=g>>>16;a[b+86>>0]=g>>>8;a[b+87>>0]=g;g=c[b+20>>2]|0;a[b+88>>0]=g>>>24;a[b+89>>0]=g>>>16;a[b+90>>0]=g>>>8;a[b+91>>0]=g;Np(b);return}function Np(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=Fa;Fa=Fa+320|0;e=b;f=0;do{g=f<<2;c[e+(f<<2)>>2]=(d[(g|2)+(a+28)>>0]|0)<<8|((d[(g|1)+(a+28)>>0]|0)<<16|(d[a+28+g>>0]|0)<<24)|(d[(g|3)+(a+28)>>0]|0);f=f+1|0}while((f|0)!=16);f=16;do{g=c[e+(f+-8<<2)>>2]^c[e+(f+-3<<2)>>2]^c[e+(f+-14<<2)>>2]^c[e+(f+-16<<2)>>2];c[e+(f<<2)>>2]=g<<1|g>>>31;f=f+1|0}while((f|0)!=80);f=c[a>>2]|0;g=a+4|0;h=c[g>>2]|0;i=a+8|0;j=c[i>>2]|0;k=a+12|0;l=c[k>>2]|0;m=a+16|0;n=c[m>>2]|0;o=l;p=j;q=h;r=f;s=n;t=0;while(1){u=(r<<5|r>>>27)+1518500249+s+(o&~q|p&q)+(c[e+(t<<2)>>2]|0)|0;v=q<<30|q>>>2;t=t+1|0;if((t|0)==20)break;else{w=r;x=p;p=v;r=u;s=o;q=w;o=x}}q=p;p=v;v=r;r=u;u=o;o=20;while(1){y=(r<<5|r>>>27)+1859775393+(p^v^q)+u+(c[e+(o<<2)>>2]|0)|0;z=v<<30|v>>>2;o=o+1|0;if((o|0)==40)break;else{s=r;t=p;p=z;r=y;u=q;v=s;q=t}}v=p;p=z;z=r;r=y;y=q;q=40;while(1){A=(r<<5|r>>>27)+-1894007588+y+((v|p)&z|v&p)+(c[e+(q<<2)>>2]|0)|0;B=z<<30|z>>>2;q=q+1|0;if((q|0)==60)break;else{u=r;o=p;p=B;r=A;y=v;z=u;v=o}}z=p;p=B;B=r;r=A;A=v;v=60;while(1){C=(r<<5|r>>>27)+-899497514+(p^B^z)+A+(c[e+(v<<2)>>2]|0)|0;D=B<<30|B>>>2;v=v+1|0;if((v|0)==80)break;else{y=r;q=p;p=D;r=C;A=z;B=y;z=q}}c[a>>2]=C+f;c[g>>2]=r+h;c[i>>2]=D+j;c[k>>2]=p+l;c[m>>2]=z+n;c[a+92>>2]=0;Fa=b;return}function Op(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=Fa;Fa=Fa+128|0;g=f;h=f+24|0;i=h+20|0;c[i>>2]=0;j=h+24|0;c[j>>2]=0;k=h+92|0;c[k>>2]=0;c[h>>2]=1732584193;l=h+4|0;c[l>>2]=-271733879;m=h+8|0;c[m>>2]=-1732584194;n=h+12|0;c[n>>2]=271733878;o=h+16|0;c[o>>2]=-1009589776;p=h+96|0;c[p>>2]=0;q=h+100|0;c[q>>2]=0;a:do if(d){r=b;s=d;t=0;u=0;while(1){v=s+-1|0;w=a[r>>0]|0;c[k>>2]=t+1;a[h+28+t>>0]=w;w=u+8|0;c[i>>2]=w;if((w|0)==0?(w=(c[j>>2]|0)+1|0,c[j>>2]=w,(w|0)==0):0)c[q>>2]=1;if((c[k>>2]|0)==64)Np(h);x=(c[q>>2]|0)==0;if(!v)break;if(!x){y=0;break a}r=r+1|0;s=v;t=c[k>>2]|0;u=c[i>>2]|0}if(x)if(!(c[p>>2]|0))z=13;else y=1;else y=0}else z=13;while(0);if((z|0)==13){Mp(h);c[p>>2]=1;y=1}p=c[l>>2]|0;l=c[m>>2]|0;m=c[n>>2]|0;n=c[o>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=p;c[g+8>>2]=l;c[g+12>>2]=m;c[g+16>>2]=n;vs(e,64366,g)|0;Fa=f;return y|0}function Pp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;h=b+f|0;i=e+g|0;j=i+-12|0;if(!g){if((f|0)!=1){k=-1;return k|0}k=((a[b>>0]|0)!=0)<<31>>31;return k|0}f=i+-8|0;g=h+-8|0;l=h+-6|0;m=i+-5|0;n=b;o=e;while(1){p=o;q=n+1|0;r=d[n>>0]|0;s=r>>>4;if((s|0)==15)if(q>>>0<h>>>0){t=15;u=q;while(1){v=u+1|0;w=a[u>>0]|0;x=t+(w&255)|0;if(w<<24>>24==-1&v>>>0<h>>>0){t=x;u=v}else{y=x;z=v;break}}}else{y=15;z=q}else{y=s;z=q}A=o+y|0;B=z+y|0;if(A>>>0>j>>>0|B>>>0>g>>>0){C=10;break}u=o+8|0;t=(A>>>0>u>>>0?A:u)+-1+(0-p)&-8;v=o;x=z;while(1){w=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[v>>0]=w;a[v+1>>0]=w>>8;a[v+2>>0]=w>>16;a[v+3>>0]=w>>24;w=v+4|0;D=x+4|0;E=d[D>>0]|d[D+1>>0]<<8|d[D+2>>0]<<16|d[D+3>>0]<<24;a[w>>0]=E;a[w+1>>0]=E>>8;a[w+2>>0]=E>>16;a[w+3>>0]=E>>24;v=v+8|0;if(v>>>0>=A>>>0)break;else x=x+8|0}x=z+8+t+(A-(u+t))|0;v=d[x>>0]|d[x+1>>0]<<8;p=A+(0-(v&65535))|0;q=x+2|0;if(p>>>0<e>>>0){F=q;break}x=r&15;a:do if((x|0)==15){s=15;E=q;while(1){if(E>>>0>=l>>>0){G=s;H=E;break a}w=E+1|0;D=a[E>>0]|0;I=s+(D&255)|0;if(D<<24>>24==-1){s=I;E=w}else{G=I;H=w;break}}}else{G=x;H=q}while(0);if((v&65535)<4){a[A>>0]=a[p>>0]|0;a[A+1>>0]=a[p+1>>0]|0;a[A+2>>0]=a[p+2>>0]|0;a[A+3>>0]=a[p+3>>0]|0;q=A+4|0;x=p+4|0;r=q;t=x+(0-(c[28688+(r-x<<2)>>2]|0))|0;x=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;a[q>>0]=x;a[q+1>>0]=x>>8;a[q+2>>0]=x>>16;a[q+3>>0]=x>>24;J=t;K=q;L=r}else{r=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;a[A>>0]=r;a[A+1>>0]=r>>8;a[A+2>>0]=r>>16;a[A+3>>0]=r>>24;r=A+4|0;J=p+4|0;K=r;L=r}r=A+4+G|0;if(r>>>0>f>>>0){if(r>>>0>m>>>0){F=H;break}q=A+12|0;t=(f>>>0>q>>>0?f:q)+-1+(0-L)&-8;x=J;u=K;while(1){E=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[u>>0]=E;a[u+1>>0]=E>>8;a[u+2>>0]=E>>16;a[u+3>>0]=E>>24;E=u+4|0;s=x+4|0;w=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;a[E>>0]=w;a[E+1>>0]=w>>8;a[E+2>>0]=w>>16;a[E+3>>0]=w>>24;u=u+8|0;if(u>>>0>=f>>>0)break;else x=x+8|0}x=q+t|0;if(x>>>0<r>>>0){u=J+8+t|0;p=x;while(1){a[p>>0]=a[u>>0]|0;p=p+1|0;if((p|0)==(r|0))break;else u=u+1|0}}}else{u=J;p=K;while(1){t=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;a[p>>0]=t;a[p+1>>0]=t>>8;a[p+2>>0]=t>>16;a[p+3>>0]=t>>24;t=p+4|0;q=u+4|0;x=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;a[t>>0]=x;a[t+1>>0]=x>>8;a[t+2>>0]=x>>16;a[t+3>>0]=x>>24;p=p+8|0;if(p>>>0>=r>>>0)break;else u=u+8|0}}n=H;o=r}if((C|0)==10)if(A>>>0>i>>>0|(B|0)!=(h|0))F=z;else{Xu(o|0,z|0,y|0)|0;k=A-e|0;return k|0}k=b+-1-F|0;return k|0}function Qp(a,b,d){a=a|0;b=b|0;d=d|0;if(!d)return;if(c[525571]|c[525569]|0){Yu(b|0,0,d|0)|0;return}if((c[525584]|0)==(c[525582]|0)?(c[525585]|0)==(c[525583]|0):0){Rp(0,b,d);return}if((d|0)<=0)return;Yu(b|0,0,d|0)|0;return}function Rp(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(ka(26)|0){Yu(d|0,0,e|0)|0;return}a=c[525570]|0;c[525570]=a+1;if((a|0)>2){Yu(d|0,0,e|0)|0;return}c[704816]=1;a=(e|0)/2|0;f=(c[525583]|0)==2?(e|0)/4|0:a;g=(c[525582]|0)==44100?(f|0)/2|0:f;f=(c[8789]|0)==-1;h=_q()|0;if(!f){f=(h-(c[8789]|0)|0)>500;c[8789]=_q()|0;if(f){if((g|0)<=0)return;Yu(d|0,0,g<<1|0)|0;return}}else c[8789]=h;c[526437]=0;Sp(2631360,g);Sp(2643104,g);Sp(2654848,g);Sp(2666592,g);Sp(2678336,g);Sp(2690080,g);Sp(2701824,g);Sp(2713568,g);Sp(2725312,g);Sp(2737056,g);Sp(2748800,g);Sp(2760544,g);Sp(2772288,g);Sp(2784032,g);Sp(2795776,g);Sp(2807520,g);if(c[526437]|0)c[525577]=(c[525577]|0)+1;h=(c[525872]|0)==0;if(!h){if(c[659896]|0)Yu(2678336,0,e|0)|0;if(c[662832]|0)Yu(2690080,0,e|0)|0;if(c[665768]|0)Yu(2701824,0,e|0)|0;if(c[668704]|0)Yu(2713568,0,e|0)|0}e=h?16:8;h=(g|0)>0;if(h){f=2;do{i=(f|0)/2|0;j=0;do{k=j+i|0;l=0;do{m=2631360+(j*11744|0)+(l<<1)|0;n=(b[2631360+(k*11744|0)+(l<<1)>>1]|0)+(b[m>>1]|0)|0;if((n|0)<=24575)if((n|0)<-24575)o=((n+24576|0)/5|0)+-24576|0;else o=n;else o=((n+-24576|0)/5|0)+24576|0;b[m>>1]=o;l=l+1|0}while((l|0)!=(g|0));j=j+f|0}while(j>>>0<e>>>0);f=f<<1}while(f>>>0<=e>>>0)}else{f=2;do{o=0;do o=o+f|0;while(o>>>0<e>>>0);f=f<<1}while(f>>>0<=e>>>0)}e=c[525853]|0;if((e|0)!=256&h){f=0;do{o=2631360+(f<<1)|0;b[o>>1]=(B(e,b[o>>1]|0)|0)>>>8;f=f+1|0}while((f|0)!=(g|0))}if(!((c[657839]|0)==0|(c[526438]|0)==0)?(f=c[526436]|0,f|0):0){e=(B(c[525854]|0,f)|0)>>16;if(0)Vr(2105752,1517392,g);if(h){f=0;do{o=1517392+(f<<1)|0;b[o>>1]=(B(e,b[o>>1]|0)|0)>>>8;f=f+1|0}while((f|0)!=(g|0));f=0;do{e=2631360+(f<<1)|0;o=(b[1517392+(f<<1)>>1]|0)+(b[e>>1]|0)|0;if((o|0)<=24575)if((o|0)<-24575)p=((o+24576|0)/5|0)+-24576|0;else p=o;else p=((o+-24576|0)/5|0)+24576|0;b[e>>1]=p;f=f+1|0}while((f|0)!=(g|0))}}f=c[525582]|0;p=c[525583]|0;if((f|0)==22050&(p|0)==1){if(h){e=0;do{b[d+(e<<1)>>1]=b[2631360+(e<<1)>>1]|0;e=e+1|0}while((e|0)!=(g|0));if((c[525576]|0)!=0&h){e=0;do{Tn(b[d+(e<<1)>>1]|0,0);e=e+1|0}while((e|0)!=(g|0))}}}else if((f|0)==44100&(p|0)==2?(p=g<<2,h):0){h=0;do{b[d+(h<<1)>>1]=b[2631360+(h>>>2<<1)>>1]|0;h=h+1|0}while((h|0)<(p|0))}p=c[704817]|0;if(p|0)Pa[p&7](d,a);c[704816]=0;return}function Sp(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;Ep(a,0,8192);if(1<<c[a+8236>>2]&c[742906]){Tp(a,((d|0)/2|0)+1|0);if((d|0)>0){e=d;do{f=e;e=e+-1|0;b[a+(e<<1)>>1]=b[a+(((e|0)/2|0)<<1)>>1]|0}while((f|0)>1)}}else Tp(a,d);e=a+8208|0;f=c[e>>2]|0;if(!((f|0)!=0&(d|0)>0))return;g=c[f>>2]|0;h=a+8216|0;i=f+28|0;j=f+20|0;f=~d;k=~g;l=0;m=c[h>>2]|0;while(1){n=d-l|0;o=g-m|0;p=(n|0)<(o|0)?n:o;if((p|0)<1)break;o=c[j>>2]|0;n=l+f|0;q=m+k|0;r=(n|0)>(q|0)?n:q;q=l+-1|0;n=0;s=l;t=m;while(1){b[a+(s<<1)>>1]=b[o+(t<<1)>>1]|0;n=n+1|0;if((n|0)>=(p|0))break;else{s=s+1|0;t=t+1|0}}t=m+-1-r|0;l=q-r|0;c[h>>2]=t;s=(c[i>>2]|0)==0|(t|0)<(g|0);c[h>>2]=s?t:0;if((l|0)>=(d|0)){u=14;break}else m=s?t:0}if((u|0)==14)return;if((g|0)>(m|0))return;c[a+11544>>2]=0;c[e>>2]=0;c[a+8232>>2]=0;e=a+8220|0;c[e>>2]=0;c[e+4>>2]=0;return}function Tp(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;if((d|0)<=0)return;f=a+11540|0;g=a+8240|0;h=a+8604|0;i=a+8224|0;j=a+11624|0;k=a+8236|0;l=a+11732|0;m=a+11736|0;n=a+11536|0;o=a;p=d;while(1){d=b[f>>1]|0;q=d<<16>>16;if(d<<16>>16<183){d=183-q|0;r=(d|0)<(p|0)?d:p;Xu(o|0,a+8240+(q<<1)|0,r<<1|0)|0;b[f>>1]=r+(e[f>>1]|0);q=p-r|0;if((q|0)>0){s=o+(r<<1)|0;t=q}else{u=28;break}}else{s=o;t=p}q=b[h>>1]|0;r=c[i>>2]|0;d=(r|0)==0;if(d)v=0;else v=((c[r>>2]>>3|0)/3|0|0)%3|0;w=c[j>>2]>>3;x=((w|0)/3|0|0)%3|0;y=(v|0)>(x|0)?v:x;x=c[742907]|0;z=c[k>>2]|0;A=1<<z+4;C=1<<z;c[l>>2]=(C&x|0)==0?((A&x|0)==0|(y|0)>1?y:1):2;if(d)D=0;else D=((c[r>>2]>>3|0)/9|0|0)%3|0;r=((w|0)/9|0|0)%3|0;w=(D|0)>(r|0)?D:r;r=(w|0)==2?12:w;w=(r|0)==1?8:r;c[m>>2]=w;r=c[742909]|0;if(!(r&A))E=w;else{A=(w|0)>8?w:8;c[m>>2]=A;E=A}if(!(r&C))F=E;else{C=(E|0)>12?E:12;c[m>>2]=C;F=C}C=17<<z;if((r&C|0)==(C|0))c[m>>2]=(F|0)>15?F:15;Up(a,g);C=c[742908]|0;r=c[k>>2]|0;if(!(1<<r&C)){if(1<<r+4&C|0){C=0;do{r=a+8240+(C<<1)|0;b[r>>1]=b[r>>1]&-4089;C=C+1|0}while((C|0)!=183)}}else{C=0;do{r=a+8240+(C<<1)|0;z=b[r>>1]|0;A=z<<16>>16;if(z<<16>>16>-1)G=A&-4096;else G=0-((0-(A<<16)|0)>>>16&61440)|0;b[r>>1]=G;C=C+1|0}while((C|0)!=183)}C=c[m>>2]|0;if((C|0)>0){r=16-C|0;A=((B(r,b[g>>1]|0)|0)+(B(C,q<<16>>16)|0)|0)/16|0;b[g>>1]=A;z=1;w=A;do{A=a+8240+(z<<1)|0;w=((B(C,w<<16>>16)|0)+(B(r,b[A>>1]|0)|0)|0)/16|0;b[A>>1]=w;z=z+1|0}while((z|0)!=183)}b[f>>1]=0;Xu(a+8606+(((c[n>>2]|0)%8|0)*366|0)|0,g|0,366)|0;c[n>>2]=((c[n>>2]|0)+1|0)%8|0;if((t|0)>0){o=s;p=t}else{u=28;break}}if((u|0)==28)return}function Up(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;e=Fa;Fa=Fa+96|0;f=e;Yu(d|0,0,366)|0;g=a+8224|0;h=c[g>>2]|0;i=(h|0)!=0;if(i){j=c[h+8>>2]|0;k=(j|0)>1?j:1;j=a+8228|0;l=c[j>>2]|0;m=(l+1|0)/(k|0)|0;n=(l|0)%(k|0)|0;l=a+11552|0;o=f;p=l;q=o+96|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));if(!n){c[a+11652>>2]=c[a+11616>>2];c[a+11648>>2]=c[a+11612>>2];c[a+11656>>2]=c[a+11608>>2]}Wp(a,l);Vp(l,d,183,a);o=1525584;q=o+128|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(q|0));Vp(f,1525584,64,a);f=0;do{o=d+(f<<1)|0;q=B(f,b[o>>1]|0)|0;b[o>>1]=((B(64-f|0,b[1525584+(f<<1)>>1]|0)|0)+q|0)/64|0;f=f+1|0}while((f|0)!=64);f=a+11728|0;r=k;s=f;t=j;u=c[f>>2]|0;v=m}else{m=a+8228|0;f=c[m>>2]|0;Yu(d|0,0,366)|0;j=f+1|0;f=a+11552|0;k=a+11580|0;if(c[a+11560>>2]|0?c[k>>2]|0:0){Vp(f,d,64,a);f=0;do{q=d+(f<<1)|0;b[q>>1]=(B(64-f|0,b[q>>1]|0)|0)/64|0;f=f+1|0}while((f|0)!=64)}c[k>>2]=0;k=a+11728|0;c[k>>2]=0;r=1;s=k;t=m;u=0;v=j}j=(c[t>>2]|0)+1|0;c[t>>2]=j;m=a+11740|0;k=(c[m>>2]|0)+-1|0;c[m>>2]=k;c[s>>2]=u+1;if((i?(c[a+8232>>2]|0)!=0:0)?(i=c[h+16>>2]|0,u=c[h+12>>2]|0,!((i|0)<=(u|0)|(j|0)<(B(i,r)|0))):0){i=B(u,r)|0;c[t>>2]=i;w=i}else w=j;a:do if(c[g>>2]|0?(c[a+11544>>2]|0)==0:0){if(!k){c[g>>2]=0;break}j=c[h+16>>2]|0;i=c[h+12>>2]|0;if((j|0)<=(i|0)){do if((v|0)<(((j|0)==0&(i|0)>0?i:32)|0)){if((v|0)<32){r=0;u=v;while(1){r=(c[h+20+(u*20|0)+8>>2]|0)>0?1:r;if((u|0)>=31)break;else u=u+1|0}if((v|0)<31)x=(c[h+20+(v*20|0)+12>>2]|0)==1?1:r;else x=r}else x=0;if(!(c[a+11732>>2]|0))if(!x)break;else break a;else{u=c[h+8>>2]|0;if((x|0)==0?(w|0)>=((((u|0)>1?u:1)<<5)+128|0):0)break;else break a}}while(0);c[g>>2]=0}}while(0);w=a+8220|0;x=c[w>>2]|0;if(!x){Fa=e;return}h=a+11544|0;if(!((k|0)==0&(c[h>>2]|0)!=0)){Fa=e;return}k=a+11548|0;v=c[k>>2]|0;if(v>>>0>=64){Fa=e;return}c[526437]=1;i=c[x+43276+(v<<2)>>2]|0;do if(!(i&4)){b:do if(i&2){if((v|0)<=0){c[525578]=v;y=0;break}if(!(i&1)){j=v;while(1){u=j+-1|0;c[k>>2]=u;if((j|0)<=1){z=u;A=44;break b}if(!(c[x+43276+(u<<2)>>2]&1))j=u;else{z=u;A=44;break}}}else{z=v;A=44}}else{j=v+1|0;c[k>>2]=j;z=j;A=44}while(0);if((A|0)==44){c[525578]=z;if(z>>>0>63)break;else y=z}j=x+42252+(y<<4)|0;if((((c[j>>2]|0)>63?(c[x+42252+(y<<4)+4>>2]|0)>63:0)?(c[x+42252+(y<<4)+8>>2]|0)>63:0)?(c[x+42252+(y<<4)+12>>2]|0)>63:0){c[h>>2]=0;c[a+8208>>2]=0;c[a+8232>>2]=0;r=w;c[r>>2]=0;c[r+4>>2]=0;Fa=e;return}r=c[x+42252+(y<<4)+(c[a+8236>>2]<<2)>>2]|0;if((r|0)>63)C=0;else C=x+12+(((r|0)>0?r:0)*660|0)|0;c[g>>2]=C;c[t>>2]=0;b[a+11540>>1]=183;c[m>>2]=Xp(x,j)|0;Fa=e;return}else{c[k>>2]=-1;c[525578]=-1}while(0);c[h>>2]=0;c[a+8208>>2]=0;c[a+8232>>2]=0;a=w;c[a>>2]=0;c[a+4>>2]=0;Fa=e;return}function Vp(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;g=c[a+84>>2]|0;h=c[a+80>>2]|0;i=c[a+28>>2]|0;if((i|0)==0?(c[f+11732>>2]|0)==0:0){c[a+4>>2]=0;Yu(d|0,0,e<<1|0)|0;return}j=a+4|0;k=c[j>>2]|0;l=a+12|0;m=c[a+8>>2]|0;n=c[a+16>>2]|0;o=(m|0)==(n|0)?k:c[l>>2]|0;p=(i*3|0)/2|0;i=c[a>>2]|0;switch(i|0){case 7:case 0:{if((e|0)>0){q=(g|0)==0;r=k;s=0;t=o;while(1){u=(r&32768|0)==0?(r*3|0)+-49152|0:(49152-r|0)*3|0;if(q){v=t&65535;w=u;x=(t&32768|0)==0?(v*3|0)+-49152|0:(49152-v|0)*3|0}else{v=(r|0)>57343;y=t&65535;if(y>>>0>57343)z=((y^65535)*24572|0)>>>13;else z=((y*24572|0)>>>0)/57344|0;w=(((u|0)/4|0)*3|0)+-12286+(((v?65535-r|0:r)*24572|0)/((v?8192:57344)|0)|0)|0;x=(((((t&32768|0)==0?(y*3|0)+-49152|0:(49152-y|0)*3|0)|0)/4|0)*3|0)+-12286+z|0}y=r+m&65535;v=t+n&131071;b[d+(s<<1)>>1]=(B(((w|0)/4|0)+((x|0)/8|0)|0,p)|0)/3072|0;s=s+1|0;if((s|0)==(e|0)){A=y;C=v;D=14;break}else{r=y;t=v}}}else{E=k;F=o;G=0}break}default:{A=k;C=o;D=14}}if((D|0)==14){o=(e|0)>0;if((i|0)==1&o){k=(h|0)==2&1;t=(g|0)==0;r=0;s=A;x=C;while(1){w=x<<k;do if(t){z=(s|0)>57343;q=((z?65535-s|0:s)*24572|0)/((z?8192:57344)|0)|0;z=w&65535;if(z>>>0>57343){H=q;I=((z^65535)*24572|0)>>>13;break}else{H=q;I=((z*24572|0)>>>0)/57344|0;break}}else{z=(s|0)>61439;q=((z?65535-s|0:s)*24572|0)/((z?4096:61440)|0)|0;z=w&65535;if(z>>>0>61439){H=q;I=((z^65535)*24572|0)>>>12;break}else{H=q;I=((z*24572|0)>>>0)/61440|0;break}}while(0);w=s+m&65535;z=x+n&131071;b[d+(r<<1)>>1]=(B(H+-12286+((I+-12286|0)/2|0)|0,p)|0)/3072|0;r=r+1|0;if((r|0)==(e|0)){E=w;F=z;G=o;break}else{s=w;x=z}}}else{E=A;F=C;G=o}}if((i|0)==2&G){o=(h|0)==2&1;C=(g|0)==0;A=0;x=E;s=F;while(1){r=s<<o;if(C){J=(x+-32768|0)/4|0;K=(r&65535)+-32768|0;L=4}else{J=(((((x|0)/2|0)+-32768|0)/4|0)+(((x&65535)+-32768|0)/4|0)|0)/2|0;K=((((r|0)/2|0)+-32768|0)/4|0)+(((r&65535)+-32768|0)/4|0)|0;L=2}r=x+m&65535;I=s+n&131071;b[d+(A<<1)>>1]=(B((((K|0)/(L|0)|0|0)/2|0)+J|0,p)|0)/3072|0;A=A+1|0;if((A|0)==(e|0)){M=r;N=I;break}else{x=r;s=I}}}else{M=E;N=F}if((i+-3|0)>>>0<2){F=(i|0)==3?32768:45056;E=(g|0)==0?F:F+6144|0;if(G)if((h|0)==2){F=0;s=M;x=N;while(1){A=s+m&65535;J=x+n&131071;b[d+(F<<1)>>1]=(B(((x<<1&65534)>>>0<E>>>0?-3071:3071)+((s|0)<(E|0)?-6143:6143)|0,p)|0)/3072|0;F=F+1|0;if((F|0)==(e|0)){O=A;P=J;D=37;break}else{s=A;x=J}}}else{x=0;s=M;F=N;while(1){J=s+m&65535;A=F+n&131071;b[d+(x<<1)>>1]=(B(((F&65535)>>>0<E>>>0?-3071:3071)+((s|0)<(E|0)?-6143:6143)|0,p)|0)/3072|0;x=x+1|0;if((x|0)==(e|0)){O=J;P=A;D=37;break}else{s=J;F=A}}}else{Q=N;R=M;S=0}}else{O=M;P=N;D=37}a:do if((D|0)==37){b:do if((i|0)==5&G){N=(h|0)==2&1;if(g|0){M=32768>>>N;F=0;s=O;x=P;while(1){E=(s&16384|0)!=0;if(!(s&32768))T=E?32768-s|0:s;else T=((E?65536-s|0:s+-32768|0)<<1|0)/3|0;E=s+m&65535;A=x+n&131071;b[d+(F<<1)>>1]=(B(T+-8192+((x&M|0)==0?-1535:1535)|0,p)|0)/3072|0;F=F+1|0;if((F|0)==(e|0)){U=A;V=E;break b}else{s=E;x=A}}}x=0;s=O;F=P;while(1){M=(s&16384|0)!=0;if(!(s&32768))W=M?32768-s|0:s;else W=((M?65536-s|0:s+-32768|0)<<1|0)/3|0;M=F<<N;A=M&65535;E=(M&16384|0)!=0;if(!(M&32768))X=E?32768-A|0:A;else X=((E?65536-A|0:A+-32768|0)<<1|0)/3|0;A=s+m&65535;E=F+n&131071;b[d+(x<<1)>>1]=(B(W+-8192+((X+-8192|0)/2|0)|0,p)|0)/3072|0;x=x+1|0;if((x|0)==(e|0)){U=E;V=A;break}else{s=A;F=E}}}else{U=P;V=O}while(0);if((i|0)==6){F=a+88|0;if(c[F>>2]|0?(s=64-(c[a+32>>2]>>16)|0,x=(s|0)>1?s:1,s=(x|0)>63?(x<<2)+-192|0:x,G):0){x=a+44|0;N=a+52|0;E=a+48|0;A=0;M=c[x>>2]|0;do{do if(M)if((c[F>>2]|0)>1){J=(B(s-M|0,p)|0)/(s|0)|0;L=(B(M,p)|0)/(s|0)|0;K=B(c[E>>2]|0,J)|0;b[d+(A<<1)>>1]=((B(c[N>>2]|0,L)|0)+K|0)/2048|0;Y=M;break}else{b[d+(A<<1)>>1]=(B(c[E>>2]|0,p)|0)/2048|0;Y=M;break}else{c[E>>2]=c[N>>2];c[N>>2]=(Bo(12286)|0)+-6143;b[d+(A<<1)>>1]=(B(c[E>>2]|0,p)|0)/2048|0;Y=c[x>>2]|0}while(0);M=(Y+1|0)%(s|0)|0;c[x>>2]=M;A=A+1|0}while((A|0)!=(e|0));if((c[a>>2]|0)!=6){Q=U;R=V;S=G;break}}if(!(c[a+88>>2]|0)){if((m|0)>78)Z=(m<<3)+1120|0;else Z=(B(79-m|0,-60)|0)+1752|0;A=(Z|0)>0?Z:0;M=(g|0)==0?c[a+40>>2]|0:0;if(G){x=a+24|0;s=A>>>1;E=a+20|0;N=a+36|0;F=(m+500|0)/3|0;if(!M){K=V;L=0;while(1){J=c[x>>2]&1^1;c[x>>2]=J;if(!J)_=c[E>>2]|0;else{J=(Bo(A)|0)-s|0;C=J+(c[E>>2]|0)|0;c[E>>2]=C;_=C}C=c[N>>2]|0;J=(2048/(((C|0)<48?64:C+16|0)|0)|0)+48|0;C=(_|0)<6143?_:6143;c[E>>2]=(C|0)>-6143?C:-6143;b[d+(L<<1)>>1]=(B(B(_>>6,p)|0,(J|0)>64?J:64)|0)/2048|0;J=K+m&65535;L=L+1|0;if((L|0)==(e|0)){Q=U;R=J;S=G;break a}else K=J}}K=V;L=0;while(1){J=c[x>>2]&1^1;c[x>>2]=J;if(J|0){J=(Bo(A)|0)-s|0;c[E>>2]=J+(c[E>>2]|0)}if(((B(K+101|0,K+317|0)|0)&8191|0)<(F|0)){J=(B((Bo(12286)|0)+-6143|0,M)|0)/1792|0;C=J+(c[E>>2]|0)|0;c[E>>2]=C;$=C}else $=c[E>>2]|0;C=c[N>>2]|0;J=(2048/(((C|0)<48?64:C+16|0)|0)|0)+48|0;C=($|0)<6143?$:6143;c[E>>2]=(C|0)>-6143?C:-6143;b[d+(L<<1)>>1]=(B(B($>>6,p)|0,(J|0)>64?J:64)|0)/2048|0;J=K+m&65535;L=L+1|0;if((L|0)==(e|0)){Q=U;R=J;S=G;break}else K=J}}else{Q=U;R=V;S=0}}else{Q=U;R=V;S=G}}else{Q=U;R=V;S=G}}while(0);c[j>>2]=R;c[l>>2]=Q;Q=c[a+92>>2]|0;if((Q|0)<=0)return;a=(c[f+11536>>2]|0)-((Q|0)==1?2:4)|0;if((a|0)>-1)aa=a;else aa=8-((0-a|0)%8|0)|0;a=(aa|0)%8|0;if(!S)return;S=0;do{aa=d+(S<<1)|0;b[aa>>1]=((b[f+8606+(a*366|0)+(S<<1)>>1]<<1)+(b[aa>>1]<<2)|0)/4|0;S=S+1|0}while((S|0)!=(e|0));return}function Wp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;d=a+8224|0;e=c[d>>2]|0;f=(e|0)==0;if(!f?(g=c[e+8>>2]|0,h=(g|0)>1?g:1,g=a+8228|0,i=c[g>>2]|0,j=(i|0)/(h|0)|0,k=i-(B(j,h)|0)|0,!(f|j>>>0>31)):0){f=(c[e+8>>2]|0)<9;l=e+20+(j*20|0)|0;m=c[e+20+(j*20|0)+4>>2]|0;c[b>>2]=m;n=c[e+20+(j*20|0)+8>>2]|0;o=n<<8;p=b+28|0;c[p>>2]=o;q=c[l>>2]|0;r=q<<16;s=b+32|0;c[s>>2]=r;c[b+60>>2]=q;c[b+64>>2]=m;c[b+56>>2]=n;n=e+20+(j*20|0)+12|0;t=c[n>>2]|0;switch(t|0){case 1:{if((j|0)>0){u=c[a+11648>>2]|0;v=c[a+11656>>2]<<8}else{u=24;v=o}w=h-k|0;x=((B(w<<16,u)|0)+(B(r,k)|0)|0)/(h|0)|0;c[s>>2]=x;u=((B(v,w)|0)+(B(o,k)|0)|0)/(h|0)|0;c[p>>2]=u;y=x;z=0;A=u;break}case 4:{u=(B(o,k)|0)/(h|0)|0;c[p>>2]=u;y=r;z=1;A=u;break}case 5:{u=(B(o,h-k|0)|0)/(h|0)|0;c[p>>2]=u;y=r;z=0;A=u;break}case 6:{u=c[e+20+(((((i|0)/((f?2:4)|0)|0|0)%4|0)+(j&28)|0)*20|0)>>2]<<16;c[s>>2]=u;y=u;z=0;A=o;break}case 7:{u=c[e+20+(((((i|0)/((f?4:8)|0)|0|0)%4|0)+(j&28)|0)*20|0)>>2]<<16;c[s>>2]=u;y=u;z=0;A=o;break}default:{y=r;z=0;A=o}}c[b+36>>2]=q;c[b+40>>2]=A;A=b+68|0;c[A>>2]=0;o=b+72|0;c[o>>2]=0;r=e+20+(j*20|0)+16|0;if(!(c[r>>2]|0)){c[a+11728>>2]=0;C=y}else{do if(!k){y=a+11728|0;u=c[a+8220>>2]|0;f=(m|0)<7?m:7;i=(f|0)>0?f:0;f=c[u+12+(i*660|0)+16>>2]|0;x=c[u+12+(i*660|0)+12>>2]|0;if((f|0)>(x|0))D=16777216;else{w=c[u+12+(i*660|0)+8>>2]|0;D=B((w|0)>1?w:1,(f|0)==0&(x|0)>0?x:32)|0}x=(t|0)==3;if((t|0)!=1&((j|0)==0?1:(q|0)!=(c[a+11648>>2]|0))|(c[y>>2]|0)>=(D|0)){if(!(z|x^1))E=19}else if(!(x|z))E=19;if((E|0)==19?(m|0)==(c[a+11652>>2]|0):0)break;c[y>>2]=0}while(0);Yp(a,l,b);C=c[s>>2]|0}l=c[a+8236>>2]|0;m=1<<l+4;if(!(m&c[742906]))F=C;else{z=C+-786432|0;c[s>>2]=z;F=z}z=F&65535;s=F>>16;C=((s+48|0)/12|0)+-4|0;if((F|0)>-1)G=s;else G=12-((0-s|0)%12|0)|0;s=(G|0)%12|0;G=B(c[28720+(s<<2)>>2]|0,65536-z|0)|0;D=((B(c[28720+(s+1<<2)>>2]|0,z)|0)+G|0)/22050|0;if((F|0)<2359296){F=D;G=C;while(1){z=G+1|0;s=(F|0)/2|0;if((G|0)<2){F=s;G=z}else{H=z;I=s;break}}}else{H=C;I=D}if((H|0)>3){D=I;C=H;while(1){H=D<<1;if((C|0)>4){D=H;C=C+-1|0}else{J=H;break}}}else J=I;I=(J|0)<32768?J:32768;J=(I|0)>8?I:8;I=b+8|0;c[I>>2]=J;C=c[n>>2]|0;n=c[A>>2]|0;A=(n|0)==2;a:do if((C|0)==2)if(A)switch((c[g>>2]|0)>>>1&7){case 1:{D=(J*130|0)>>>7;c[I>>2]=D;K=D;break a;break}case 2:{D=(J*132|0)>>>7;c[I>>2]=D;K=D;break a;break}case 3:{D=(J*130|0)>>>7;c[I>>2]=D;K=D;break a;break}case 5:{D=(J*126|0)>>>7;c[I>>2]=D;K=D;break a;break}case 6:{D=(J*124|0)>>>7;c[I>>2]=D;K=D;break a;break}case 7:{D=(J*126|0)>>>7;c[I>>2]=D;K=D;break a;break}default:{K=J;break a}}else E=43;else if(A)E=43;else{L=J;E=50}while(0);b:do if((E|0)==43)switch((c[g>>2]|0)>>>1&7){case 1:{A=(J*129|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}case 2:{A=(J*130|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}case 3:{A=(J*129|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}case 5:{A=(J*127|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}case 6:{A=(J*126|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}case 7:{A=(J*127|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}default:{L=J;E=50;break b}}while(0);if((E|0)==50){if((C|0)==3&(c[r>>2]|0)==0){r=(B(L,h-k|0)|0)/(h|0)|0;c[I>>2]=r;M=r}else M=L;if((n|0)==3){n=(B(c[b+76>>2]|0,M)|0)/256|0;c[I>>2]=n;K=n}else K=M}if(c[a+11544>>2]|0){M=(B(c[526436]>>8,c[p>>2]|0)|0)/256|0;c[p>>2]=(B(M,c[525854]|0)|0)/256|0}M=c[e>>2]|0;e=(M>>3|0)%3|0;n=M>>>2&1;I=c[o>>2]|0;o=(I>>3|0)%3|0;L=(e|0)>(o|0)?e:o;c[b+80>>2]=L;o=I>>>2&1;c[b+84>>2]=n>>>0>o>>>0?n:o;o=M>>>1&1;M=b+88|0;n=I>>>1&1;I=o>>>0>n>>>0?o:n;c[M>>2]=I;n=c[b>>2]|0;c:do if((n|0)!=6|(I|0)==0){o=(L|0)==0;e=b+16|0;c[e>>2]=(B(K,o?256:255)|0)/256|0;d:do switch(n|0){case 0:{switch(L|0){case 1:{c[e>>2]=(K*193|0)/256|0;break d;break}case 2:{c[e>>2]=(K*384|0)/256|0;break d;break}default:break d}break}case 7:{if(o){c[e>>2]=(K*254|0)/256|0;break c}switch(L|0){case 1:{c[e>>2]=(K*250|0)/256|0;break c;break}case 2:{c[e>>2]=(K*508|0)/256|0;break c;break}default:break c}break}default:{}}while(0);if(n>>>0<6&(L|0)>0)c[p>>2]=((c[p>>2]|0)*5|0)/4|0}else{e=a+11736|0;if((c[e>>2]|0)>11){c[M>>2]=2;c[e>>2]=0}c[b+16>>2]=(B(K,(L|0)==0?256:255)|0)/256|0}while(0);L=c[d>>2]|0;if(!L)N=0;else N=((c[L>>2]>>3|0)/3|0|0)%3|0;L=b+92|0;d=((c[a+11624>>2]>>3|0)/3|0|0)%3|0;a=(N|0)>(d|0)?N:d;c[L>>2]=a;d=c[742907]|0;if(!(d&m))O=a;else{m=(a|0)>1?a:1;c[L>>2]=m;O=m}if(!(d&1<<l))return;c[L>>2]=(O|0)>2?O:2;return}c[b+28>>2]=0;c[b>>2]=0;c[b+8>>2]=0;return}function Xp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0;d=c[b>>2]|0;e=d>>>0<64;if(e?(f=c[a+12+(d*660|0)+16>>2]|0,g=c[a+12+(d*660|0)+12>>2]|0,(f|0)<=(g|0)):0){h=d;i=f;j=g}else k=4;do if((k|0)==4){g=c[b+4>>2]|0;f=g>>>0<64;if(f?(l=c[a+12+(g*660|0)+16>>2]|0,m=c[a+12+(g*660|0)+12>>2]|0,(l|0)<=(m|0)):0){h=g;i=l;j=m;break}m=c[b+8>>2]|0;l=m>>>0<64;if(l?(n=c[a+12+(m*660|0)+16>>2]|0,o=c[a+12+(m*660|0)+12>>2]|0,(n|0)<=(o|0)):0){h=m;i=n;j=o;break}o=c[b+12>>2]|0;n=o>>>0<64;if(n?(p=c[a+12+(o*660|0)+16>>2]|0,q=c[a+12+(o*660|0)+12>>2]|0,(p|0)<=(q|0)):0){h=o;i=p;j=q;break}if(e){q=c[a+12+(d*660|0)+8>>2]|0;p=(q|0)>1?q:1;q=(c[a+12+(d*660|0)+16>>2]|0)==0;if(q?(r=c[a+12+(d*660|0)+12>>2]|0,(r|0)>0):0)s=r;else s=32;if((B(s,p)|0)>=0){if(q?(q=c[a+12+(d*660|0)+12>>2]|0,(q|0)>0):0)t=q;else t=32;u=B(t,p)|0}else u=0}else u=0;if(f){f=c[a+12+(g*660|0)+8>>2]|0;p=(f|0)>1?f:1;f=(c[a+12+(g*660|0)+16>>2]|0)==0;if(f?(q=c[a+12+(g*660|0)+12>>2]|0,(q|0)>0):0)v=q;else v=32;if((u|0)<=(B(v,p)|0)){if(f?(f=c[a+12+(g*660|0)+12>>2]|0,(f|0)>0):0)w=f;else w=32;x=B(w,p)|0}else x=u}else x=u;if(l){l=c[a+12+(m*660|0)+8>>2]|0;p=(l|0)>1?l:1;l=(c[a+12+(m*660|0)+16>>2]|0)==0;if(l?(f=c[a+12+(m*660|0)+12>>2]|0,(f|0)>0):0)y=f;else y=32;if((x|0)<=(B(y,p)|0)){if(l?(l=c[a+12+(m*660|0)+12>>2]|0,(l|0)>0):0)z=l;else z=32;A=B(z,p)|0}else A=x}else A=x;if(!n){C=A;return C|0}n=c[a+12+(o*660|0)+8>>2]|0;p=(n|0)>1?n:1;n=(c[a+12+(o*660|0)+16>>2]|0)==0;if(n?(l=c[a+12+(o*660|0)+12>>2]|0,(l|0)>0):0)D=l;else D=32;if((A|0)>(B(D,p)|0)){C=A;return C|0}if(n?(n=c[a+12+(o*660|0)+12>>2]|0,(n|0)>0):0)E=n;else E=32;C=B(E,p)|0;return C|0}while(0);E=c[a+12+(h*660|0)+8>>2]|0;C=B((i|0)==0&(j|0)>0?j:32,(E|0)>1?E:1)|0;return C|0}function Yp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[a+8220>>2]|0;if(!e)return;f=c[b+4>>2]|0;b=(f|0)<7?f:7;f=(b|0)>0?b:0;b=c[e+12+(f*660|0)+8>>2]|0;g=(b|0)>1?b:1;h=(b|0)<9;b=h?4:8;i=h?2:4;h=c[e+12+(f*660|0)+16>>2]|0;j=c[e+12+(f*660|0)+12>>2]|0;k=a+11728|0;l=c[k>>2]|0;if((h|0)<=(j|0)|(l|0)<(B(g,h)|0))m=l;else{l=B(j,g)|0;c[k>>2]=l;m=l}l=(m|0)/(g|0)|0;k=m-(B(l,g)|0)|0;if((l|0)<=31?(l|0)<(((h|0)==0&(j|0)>0?j:32)|0):0){j=(l|0)<31?l:31;h=(j|0)>0?j:0;j=e+12+(f*660|0)+20+(h*20|0)|0;n=c[j>>2]|0;o=n<<16;p=e+12+(f*660|0)+20+(h*20|0)+8|0;q=c[p>>2]|0;r=q<<8;if((k|0)==(g+-1|0)){c[a+11668>>2]=n;c[a+11676>>2]=q;c[a+11672>>2]=c[e+12+(f*660|0)+20+(h*20|0)+4>>2]}q=c[e+12+(f*660|0)+20+(h*20|0)+12>>2]|0;switch(q|0){case 1:{if((l|0)>0){s=c[a+11668>>2]<<16;t=c[a+11676>>2]<<8}else{s=1572864;t=r}a=g-k|0;u=((B(s,a)|0)+(B(k<<16,c[j>>2]|0)|0)|0)/(g|0)|0;v=((B(t,a)|0)+(B(r,k)|0)|0)/(g|0)|0;break}case 3:{c[d+76>>2]=(g-k<<8|0)/(g|0)|0;u=o;v=r;break}case 4:{u=o;v=(B(r,k)|0)/(g|0)|0;break}case 5:{u=o;v=(B(r,g-k|0)|0)/(g|0)|0;break}case 6:{u=c[e+12+(f*660|0)+20+(((((m|0)/(i|0)|0|0)%4|0)+(l&28)|0)*20|0)>>2]<<16;v=r;break}case 7:{u=c[e+12+(f*660|0)+20+(((((m|0)/(b|0)|0|0)%4|0)+(l&28)|0)*20|0)>>2]<<16;v=r;break}default:{u=o;v=r}}c[d>>2]=c[e+12+(f*660|0)+20+(h*20|0)+4>>2];h=d+32|0;c[h>>2]=u+-1572864+(c[h>>2]|0);h=d+36|0;c[h>>2]=(c[j>>2]|0)+-24+(c[h>>2]|0);h=c[p>>2]|0;c[d+40>>2]=(v*7|0)/(((h|0)>1?h:1)|0)|0;h=d+28|0;c[h>>2]=(B(c[h>>2]|0,v)|0)/1792|0;c[d+68>>2]=q;c[d+72>>2]=c[e+12+(f*660|0)>>2];return}c[d+28>>2]=0;c[d>>2]=0;return}function Zp(){Uq();return}function _p(){Vq();return}function $p(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Fa;Fa=Fa+16|0;e=d;Ep(1517392,0,8192);c[526438]=0;Ep(2631360,0,187904);c[e>>2]=c[525865];vs(1504976,64423,e)|0;Pm(1504976);if(c[525889]|0){f=0;Fa=d;return f|0}e=Sq(a,b)|0;if(e|0){f=e;Fa=d;return f|0}c[525582]=a;c[525583]=b;f=0;Fa=d;return f|0}function aq(){return Tq()|0}function bq(a){a=a|0;c[704817]=a;return}function cq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Fp(40)|0;if(!d){e=0;return e|0}c[d>>2]=a;c[d+8>>2]=22050;c[d+4>>2]=b;c[d+12>>2]=1;c[d+28>>2]=0;c[d+32>>2]=256;f=Fp(B((b|0)/8|0,a)|0)|0;c[d+16>>2]=f;c[d+20>>2]=f;c[d+36>>2]=-1;c[525418]=(c[525418]|0)+1;e=d;return e|0}function dq(a){a=a|0;var b=0,d=0,e=0;if(!a)return;Uq();if(0){Uq();b=a+36|0;d=c[b>>2]|0;if(d>>>0<16?(e=2631360+(d*11744|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[2631360+(d*11744|0)+11544>>2]=0;c[e>>2]=0;c[2631360+(d*11744|0)+8232>>2]=0;e=2631360+(d*11744|0)+8220|0;c[e>>2]=0;c[e+4>>2]=0;c[b>>2]=-1}Vq()}Hp(c[a+16>>2]|0);Hp(a);c[525418]=(c[525418]|0)+-1;Vq();return}function eq(a){a=a|0;var b=0,d=0,e=0;if(!((a|0)!=0&0!=0))return;Uq();b=a+36|0;d=c[b>>2]|0;if(d>>>0<16?(e=2631360+(d*11744|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[2631360+(d*11744|0)+11544>>2]=0;c[e>>2]=0;c[2631360+(d*11744|0)+8232>>2]=0;e=2631360+(d*11744|0)+8220|0;c[e>>2]=0;c[e+4>>2]=0;c[b>>2]=-1}Vq();return}function fq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;Uq();g=(d|0)==0?-1:d;do if(!a){if((f|0)!=-1){c[2631360+(f*11744|0)+11544>>2]=0;c[2631360+(f*11744|0)+8208>>2]=0;c[2631360+(f*11744|0)+8232>>2]=0;d=2631360+(f*11744|0)+8220|0;c[d>>2]=0;c[d+4>>2]=0;break}d=(c[525872]|0)==0?16:4;h=0;do{c[2631360+(h*11744|0)+11544>>2]=0;c[2631360+(h*11744|0)+8208>>2]=0;c[2631360+(h*11744|0)+8232>>2]=0;i=2631360+(h*11744|0)+8220|0;c[i>>2]=0;c[i+4>>2]=0;h=h+1|0}while(h>>>0<d>>>0)}else{d=(f|0)==-1;do if(!(c[525872]|0))if(d)if(!((c[683380]|0)==0&(c[683384]|0)==0&(c[684214]|0)==0))if(!((c[686316]|0)==0&(c[686320]|0)==0&(c[687150]|0)==0))if(!((c[689252]|0)==0&(c[689256]|0)==0&(c[690086]|0)==0))if(!((c[692188]|0)==0&(c[692192]|0)==0&(c[693022]|0)==0))if(!((c[695124]|0)==0&(c[695128]|0)==0&(c[695958]|0)==0))if(!((c[698060]|0)==0&(c[698064]|0)==0&(c[698894]|0)==0))if(!((c[700996]|0)==0&(c[701e3]|0)==0&(c[701830]|0)==0))if((c[703932]|0)==0&(c[703936]|0)==0&(c[704766]|0)==0)j=15;else{h=c[683384]|0;if((h|0)!=0&(c[684214]|0)==0){k=c[h+8>>2]|0;l=8}else{k=256;l=-1}h=c[686320]|0;if((h|0)!=0&(c[687150]|0)==0){i=c[h+8>>2]|0;h=(l|0)==-1|(i|0)<(k|0);m=h?i:k;n=h?9:l}else{m=k;n=l}h=c[689256]|0;if((h|0)!=0&(c[690086]|0)==0){i=c[h+8>>2]|0;h=(n|0)==-1|(i|0)<(m|0);o=h?i:m;p=h?10:n}else{o=m;p=n}h=c[692192]|0;if((h|0)!=0&(c[693022]|0)==0){i=c[h+8>>2]|0;h=(p|0)==-1|(i|0)<(o|0);q=h?i:o;r=h?11:p}else{q=o;r=p}h=c[695128]|0;if((h|0)!=0&(c[695958]|0)==0){i=c[h+8>>2]|0;h=(r|0)==-1|(i|0)<(q|0);s=h?i:q;t=h?12:r}else{s=q;t=r}h=c[698064]|0;if((h|0)!=0&(c[698894]|0)==0){i=c[h+8>>2]|0;h=(t|0)==-1|(i|0)<(s|0);u=h?i:s;v=h?13:t}else{u=s;v=t}h=c[701e3]|0;if((h|0)!=0&(c[701830]|0)==0){i=c[h+8>>2]|0;h=(v|0)==-1|(i|0)<(u|0);w=h?i:u;x=h?14:v}else{w=u;x=v}h=c[703936]|0;if(!((h|0)!=0&(c[704766]|0)==0)){y=x;z=25;break}if((x|0)!=-1?(c[h+8>>2]|0)>=(w|0):0){j=x;break}j=15}else j=14;else j=13;else j=12;else j=11;else j=10;else j=9;else j=8;else{y=f;z=25}else if(d){h=(c[659892]|0)==0;if(!(h&(c[659896]|0)==0&(c[660726]|0)==0&(c[671636]|0)==0&(c[671640]|0)==0&(c[672470]|0)==0)){i=(c[662828]|0)==0;if(!(i&(c[662832]|0)==0&(c[663662]|0)==0&(c[674572]|0)==0&(c[674576]|0)==0&(c[675406]|0)==0)){A=(c[665764]|0)==0;if(!(A&(c[665768]|0)==0&(c[666598]|0)==0&(c[677508]|0)==0&(c[677512]|0)==0&(c[678342]|0)==0)){C=(c[668700]|0)==0;if(!(C&(c[668704]|0)==0&(c[669534]|0)==0&(c[680444]|0)==0&(c[680448]|0)==0&(c[681278]|0)==0)){D=c[742905]|0;if(!(h&(c[659896]|0)==0&(c[660726]|0)==0&(c[671636]|0)==0&(c[671640]|0)==0&(D&1|0)==0))if(!(i&(c[662832]|0)==0&(c[663662]|0)==0&(c[674572]|0)==0&(c[674576]|0)==0&(D&2|0)==0))if(!(A&(c[665768]|0)==0&(c[666598]|0)==0&(c[677508]|0)==0&(c[677512]|0)==0&(D&4|0)==0))if(!(C&(c[668704]|0)==0&(c[669534]|0)==0&(c[680444]|0)==0&(c[680448]|0)==0&(D&8|0)==0))if(!((c[660726]|D&1|0)==0&(h&(c[659896]|0)==0)))if(!((c[663662]|D&2|0)==0&(i&(c[662832]|0)==0)))if(!((c[666598]|D&4|0)==0&(A&(c[665768]|0)==0)))if((c[669534]|D&8|0)==0&(C&(c[668704]|0)==0))j=3;else{if((D&1|0)!=0?!((c[671636]|0)==0&(c[671640]|0)==0&(c[672470]|0)==0):0){E=256;F=-1}else{C=c[659896]|0;if(!C){E=256;F=-1}else{E=c[C+8>>2]|0;F=0}}if((D&2|0)!=0?!((c[674572]|0)==0&(c[674576]|0)==0&(c[675406]|0)==0):0){G=E;H=F}else z=51;do if((z|0)==51){C=c[662832]|0;if(!C){G=E;H=F;break}A=(F|0)!=-1;i=c[C+8>>2]|0;C=(i|0)>(E|0);G=A&C?E:i;H=(A&C^1)&1}while(0);if((D&4|0)!=0?!((c[677508]|0)==0&(c[677512]|0)==0&(c[678342]|0)==0):0){I=G;J=H}else z=55;do if((z|0)==55){C=c[665768]|0;if(!C){I=G;J=H;break}A=c[C+8>>2]|0;C=(H|0)!=-1&(A|0)>(G|0);I=C?G:A;J=C?H:2}while(0);if(D&8|0?!((c[680444]|0)==0&(c[680448]|0)==0&(c[681278]|0)==0):0){y=J;z=25;break}C=c[668704]|0;if(!C){y=J;z=25;break}if((J|0)!=-1?(c[C+8>>2]|0)>(I|0):0){j=J;break}j=3}else j=2;else j=1;else j=0;else j=3;else j=2;else j=1;else j=0}else j=3}else j=2}else j=1}else j=0}else{y=f;z=25}while(0);if((z|0)==25)if(y>>>0>15)break;else j=y;d=c[a+8>>2]|0;C=(d|0)>1?d:1;c[2631360+(j*11744|0)+8224>>2]=a;c[2631360+(j*11744|0)+8236>>2]=j&3;c[2631360+(j*11744|0)+8228>>2]=B(C,b)|0;c[2631360+(j*11744|0)+11740>>2]=B(C,g)|0;c[2631360+(j*11744|0)+8220>>2]=e;c[2631360+(j*11744|0)+11544>>2]=0;c[2631360+(j*11744|0)+8232>>2]=1;Vq();K=j;return K|0}while(0);Vq();K=-1;return K|0}function gq(a,b){a=a|0;b=b|0;var d=0,e=0;hq(a);d=c[a+16>>2]|0;e=c[a+12>>2]|0;fq(a,0,(d|0)>(e|0)?-1:(d|0)==0&(e|0)>0?e:32,b,-1)|0;return}function hq(a){a=a|0;var b=0;Uq();if(!a){if(!(c[660726]|0)){c[660726]=0;c[659892]=0;c[659898]=0;b=2639580;c[b>>2]=0;c[b+4>>2]=0}if(!(c[663662]|0)){c[663662]=0;c[662828]=0;c[662834]=0;b=2651324;c[b>>2]=0;c[b+4>>2]=0}if(!(c[666598]|0)){c[666598]=0;c[665764]=0;c[665770]=0;b=2663068;c[b>>2]=0;c[b+4>>2]=0}if(!(c[669534]|0)){c[669534]=0;c[668700]=0;c[668706]=0;b=2674812;c[b>>2]=0;c[b+4>>2]=0}if(!(c[672470]|0)){c[672470]=0;c[671636]=0;c[671642]=0;b=2686556;c[b>>2]=0;c[b+4>>2]=0}if(!(c[675406]|0)){c[675406]=0;c[674572]=0;c[674578]=0;b=2698300;c[b>>2]=0;c[b+4>>2]=0}if(!(c[678342]|0)){c[678342]=0;c[677508]=0;c[677514]=0;b=2710044;c[b>>2]=0;c[b+4>>2]=0}if(!(c[681278]|0)){c[681278]=0;c[680444]=0;c[680450]=0;b=2721788;c[b>>2]=0;c[b+4>>2]=0}if(!(c[684214]|0)){c[684214]=0;c[683380]=0;c[683386]=0;b=2733532;c[b>>2]=0;c[b+4>>2]=0}if(!(c[687150]|0)){c[687150]=0;c[686316]=0;c[686322]=0;b=2745276;c[b>>2]=0;c[b+4>>2]=0}if(!(c[690086]|0)){c[690086]=0;c[689252]=0;c[689258]=0;b=2757020;c[b>>2]=0;c[b+4>>2]=0}if(!(c[693022]|0)){c[693022]=0;c[692188]=0;c[692194]=0;b=2768764;c[b>>2]=0;c[b+4>>2]=0}if(!(c[695958]|0)){c[695958]=0;c[695124]=0;c[695130]=0;b=2780508;c[b>>2]=0;c[b+4>>2]=0}if(!(c[698894]|0)){c[698894]=0;c[698060]=0;c[698066]=0;b=2792252;c[b>>2]=0;c[b+4>>2]=0}if(!(c[701830]|0)){c[701830]=0;c[700996]=0;c[701002]=0;b=2803996;c[b>>2]=0;c[b+4>>2]=0}if(c[704766]|0){Vq();return}c[704766]=0;c[703932]=0;c[703938]=0;b=2815740;c[b>>2]=0;c[b+4>>2]=0;Vq();return}else{if((c[659896]|0)==(a|0)){c[660726]=0;c[659892]=0;c[659898]=0;b=2639580;c[b>>2]=0;c[b+4>>2]=0}if((c[662832]|0)==(a|0)){c[663662]=0;c[662828]=0;c[662834]=0;b=2651324;c[b>>2]=0;c[b+4>>2]=0}if((c[665768]|0)==(a|0)){c[666598]=0;c[665764]=0;c[665770]=0;b=2663068;c[b>>2]=0;c[b+4>>2]=0}if((c[668704]|0)==(a|0)){c[669534]=0;c[668700]=0;c[668706]=0;b=2674812;c[b>>2]=0;c[b+4>>2]=0}if((c[671640]|0)==(a|0)){c[672470]=0;c[671636]=0;c[671642]=0;b=2686556;c[b>>2]=0;c[b+4>>2]=0}if((c[674576]|0)==(a|0)){c[675406]=0;c[674572]=0;c[674578]=0;b=2698300;c[b>>2]=0;c[b+4>>2]=0}if((c[677512]|0)==(a|0)){c[678342]=0;c[677508]=0;c[677514]=0;b=2710044;c[b>>2]=0;c[b+4>>2]=0}if((c[680448]|0)==(a|0)){c[681278]=0;c[680444]=0;c[680450]=0;b=2721788;c[b>>2]=0;c[b+4>>2]=0}if((c[683384]|0)==(a|0)){c[684214]=0;c[683380]=0;c[683386]=0;b=2733532;c[b>>2]=0;c[b+4>>2]=0}if((c[686320]|0)==(a|0)){c[687150]=0;c[686316]=0;c[686322]=0;b=2745276;c[b>>2]=0;c[b+4>>2]=0}if((c[689256]|0)==(a|0)){c[690086]=0;c[689252]=0;c[689258]=0;b=2757020;c[b>>2]=0;c[b+4>>2]=0}if((c[692192]|0)==(a|0)){c[693022]=0;c[692188]=0;c[692194]=0;b=2768764;c[b>>2]=0;c[b+4>>2]=0}if((c[695128]|0)==(a|0)){c[695958]=0;c[695124]=0;c[695130]=0;b=2780508;c[b>>2]=0;c[b+4>>2]=0}if((c[698064]|0)==(a|0)){c[698894]=0;c[698060]=0;c[698066]=0;b=2792252;c[b>>2]=0;c[b+4>>2]=0}if((c[701e3]|0)==(a|0)){c[701830]=0;c[700996]=0;c[701002]=0;b=2803996;c[b>>2]=0;c[b+4>>2]=0}if((c[703936]|0)!=(a|0)){Vq();return}c[704766]=0;c[703932]=0;c[703938]=0;a=2815740;c[a>>2]=0;c[a+4>>2]=0;Vq();return}}function iq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;Uq();b=(c[660726]|0)==0;do if(!a)if(b|(c[659895]|0)==0)if((c[663662]|0)==0|(c[662831]|0)==0)if((c[666598]|0)==0|(c[665767]|0)==0)if((c[669534]|0)==0|(c[668703]|0)==0)if((c[672470]|0)==0|(c[671639]|0)==0)if((c[675406]|0)==0|(c[674575]|0)==0)if((c[678342]|0)==0|(c[677511]|0)==0)if((c[681278]|0)==0|(c[680447]|0)==0)if((c[684214]|0)==0|(c[683383]|0)==0)if((c[687150]|0)==0|(c[686319]|0)==0)if((c[690086]|0)==0|(c[689255]|0)==0)if((c[693022]|0)==0|(c[692191]|0)==0)if((c[695958]|0)==0|(c[695127]|0)==0)if((c[698894]|0)==0|(c[698063]|0)==0)if((c[701830]|0)==0|(c[700999]|0)==0)if((c[704766]|0)==0|(c[703935]|0)==0)d=8;else{e=15;d=6}else{e=14;d=6}else{e=13;d=6}else{e=12;d=6}else{e=11;d=6}else{e=10;d=6}else{e=9;d=6}else{e=8;d=6}else{e=7;d=6}else{e=6;d=6}else{e=5;d=6}else{e=4;d=6}else{e=3;d=6}else{e=2;d=6}else{e=1;d=6}else{e=0;d=6}else{if(!b?(f=c[659895]|0,(f|0)!=0&(f|0)==(a|0)):0){e=0;d=6;break}if(c[663662]|0?(f=c[662831]|0,(f|0)!=0&(f|0)==(a|0)):0){e=1;d=6;break}if(c[666598]|0?(f=c[665767]|0,(f|0)!=0&(f|0)==(a|0)):0){e=2;d=6;break}if(c[669534]|0?(f=c[668703]|0,(f|0)!=0&(f|0)==(a|0)):0){e=3;d=6;break}if(c[672470]|0?(f=c[671639]|0,(f|0)!=0&(f|0)==(a|0)):0){e=4;d=6;break}if(c[675406]|0?(f=c[674575]|0,(f|0)!=0&(f|0)==(a|0)):0){e=5;d=6;break}if(c[678342]|0?(f=c[677511]|0,(f|0)!=0&(f|0)==(a|0)):0){e=6;d=6;break}if(c[681278]|0?(f=c[680447]|0,(f|0)!=0&(f|0)==(a|0)):0){e=7;d=6;break}if(c[684214]|0?(f=c[683383]|0,(f|0)!=0&(f|0)==(a|0)):0){e=8;d=6;break}if(c[687150]|0?(f=c[686319]|0,(f|0)!=0&(f|0)==(a|0)):0){e=9;d=6;break}if(c[690086]|0?(f=c[689255]|0,(f|0)!=0&(f|0)==(a|0)):0){e=10;d=6;break}if(c[693022]|0?(f=c[692191]|0,(f|0)!=0&(f|0)==(a|0)):0){e=11;d=6;break}if(c[695958]|0?(f=c[695127]|0,(f|0)!=0&(f|0)==(a|0)):0){e=12;d=6;break}if(c[698894]|0?(f=c[698063]|0,(f|0)!=0&(f|0)==(a|0)):0){e=13;d=6;break}if(c[701830]|0?(f=c[700999]|0,(f|0)!=0&(f|0)==(a|0)):0){e=14;d=6;break}if((c[704766]|0)!=0?(f=c[703935]|0,(f|0)!=0&(f|0)==(a|0)):0){e=15;d=6}else d=8}while(0);if((d|0)==6){Vq();g=c[2631360+(e*11744|0)+11548>>2]|0;return g|0}else if((d|0)==8){Vq();g=-1;return g|0}return 0}function jq(a){a=a|0;var b=0,d=0,e=0;Uq();if((c[659896]|0)!=(a|0))if((c[662832]|0)!=(a|0))if((c[665768]|0)!=(a|0))if((c[668704]|0)!=(a|0))if((c[671640]|0)!=(a|0))if((c[674576]|0)!=(a|0))if((c[677512]|0)!=(a|0))if((c[680448]|0)!=(a|0))if((c[683384]|0)!=(a|0))if((c[686320]|0)!=(a|0))if((c[689256]|0)!=(a|0))if((c[692192]|0)!=(a|0))if((c[695128]|0)!=(a|0))if((c[698064]|0)!=(a|0))if((c[701e3]|0)!=(a|0))if((c[703936]|0)==(a|0))b=15;else{Vq();d=-1;return d|0}else b=14;else b=13;else b=12;else b=11;else b=10;else b=9;else b=8;else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;Vq();e=c[a+8>>2]|0;d=(c[2631360+(b*11744|0)+8228>>2]|0)/(((e|0)>1?e:1)|0)|0;return d|0}function kq(a){a=a|0;var b=0;Uq();b=c[2631360+(a*11744|0)+8224>>2]|0;Vq();return b|0}function lq(a){a=a|0;if(a>>>0>15)return;Uq();c[2631360+(a*11744|0)+8232>>2]=0;Vq();return}function mq(a){a=a|0;var b=0,d=0;Uq();b=(c[660726]|0)==0;if(!a){if(!b){c[660726]=0;c[659892]=0;c[659898]=0;d=2639580;c[d>>2]=0;c[d+4>>2]=0}if(c[663662]|0){c[663662]=0;c[662828]=0;c[662834]=0;d=2651324;c[d>>2]=0;c[d+4>>2]=0}if(c[666598]|0){c[666598]=0;c[665764]=0;c[665770]=0;d=2663068;c[d>>2]=0;c[d+4>>2]=0}if(c[669534]|0){c[669534]=0;c[668700]=0;c[668706]=0;d=2674812;c[d>>2]=0;c[d+4>>2]=0}if(c[672470]|0){c[672470]=0;c[671636]=0;c[671642]=0;d=2686556;c[d>>2]=0;c[d+4>>2]=0}if(c[675406]|0){c[675406]=0;c[674572]=0;c[674578]=0;d=2698300;c[d>>2]=0;c[d+4>>2]=0}if(c[678342]|0){c[678342]=0;c[677508]=0;c[677514]=0;d=2710044;c[d>>2]=0;c[d+4>>2]=0}if(c[681278]|0){c[681278]=0;c[680444]=0;c[680450]=0;d=2721788;c[d>>2]=0;c[d+4>>2]=0}if(c[684214]|0){c[684214]=0;c[683380]=0;c[683386]=0;d=2733532;c[d>>2]=0;c[d+4>>2]=0}if(c[687150]|0){c[687150]=0;c[686316]=0;c[686322]=0;d=2745276;c[d>>2]=0;c[d+4>>2]=0}if(c[690086]|0){c[690086]=0;c[689252]=0;c[689258]=0;d=2757020;c[d>>2]=0;c[d+4>>2]=0}if(c[693022]|0){c[693022]=0;c[692188]=0;c[692194]=0;d=2768764;c[d>>2]=0;c[d+4>>2]=0}if(c[695958]|0){c[695958]=0;c[695124]=0;c[695130]=0;d=2780508;c[d>>2]=0;c[d+4>>2]=0}if(c[698894]|0){c[698894]=0;c[698060]=0;c[698066]=0;d=2792252;c[d>>2]=0;c[d+4>>2]=0}if(c[701830]|0){c[701830]=0;c[700996]=0;c[701002]=0;d=2803996;c[d>>2]=0;c[d+4>>2]=0}if(!(c[704766]|0)){Vq();return}c[704766]=0;c[703932]=0;c[703938]=0;d=2815740;c[d>>2]=0;c[d+4>>2]=0;Vq();return}if(!b?(b=c[659895]|0,(b|0)!=0&(b|0)==(a|0)):0){c[660726]=0;c[659892]=0;c[659898]=0;b=2639580;c[b>>2]=0;c[b+4>>2]=0}if(c[663662]|0?(b=c[662831]|0,(b|0)!=0&(b|0)==(a|0)):0){c[663662]=0;c[662828]=0;c[662834]=0;b=2651324;c[b>>2]=0;c[b+4>>2]=0}if(c[666598]|0?(b=c[665767]|0,(b|0)!=0&(b|0)==(a|0)):0){c[666598]=0;c[665764]=0;c[665770]=0;b=2663068;c[b>>2]=0;c[b+4>>2]=0}if(c[669534]|0?(b=c[668703]|0,(b|0)!=0&(b|0)==(a|0)):0){c[669534]=0;c[668700]=0;c[668706]=0;b=2674812;c[b>>2]=0;c[b+4>>2]=0}if(c[672470]|0?(b=c[671639]|0,(b|0)!=0&(b|0)==(a|0)):0){c[672470]=0;c[671636]=0;c[671642]=0;b=2686556;c[b>>2]=0;c[b+4>>2]=0}if(c[675406]|0?(b=c[674575]|0,(b|0)!=0&(b|0)==(a|0)):0){c[675406]=0;c[674572]=0;c[674578]=0;b=2698300;c[b>>2]=0;c[b+4>>2]=0}if(c[678342]|0?(b=c[677511]|0,(b|0)!=0&(b|0)==(a|0)):0){c[678342]=0;c[677508]=0;c[677514]=0;b=2710044;c[b>>2]=0;c[b+4>>2]=0}if(c[681278]|0?(b=c[680447]|0,(b|0)!=0&(b|0)==(a|0)):0){c[681278]=0;c[680444]=0;c[680450]=0;b=2721788;c[b>>2]=0;c[b+4>>2]=0}if(c[684214]|0?(b=c[683383]|0,(b|0)!=0&(b|0)==(a|0)):0){c[684214]=0;c[683380]=0;c[683386]=0;b=2733532;c[b>>2]=0;c[b+4>>2]=0}if(c[687150]|0?(b=c[686319]|0,(b|0)!=0&(b|0)==(a|0)):0){c[687150]=0;c[686316]=0;c[686322]=0;b=2745276;c[b>>2]=0;c[b+4>>2]=0}if(c[690086]|0?(b=c[689255]|0,(b|0)!=0&(b|0)==(a|0)):0){c[690086]=0;c[689252]=0;c[689258]=0;b=2757020;c[b>>2]=0;c[b+4>>2]=0}if(c[693022]|0?(b=c[692191]|0,(b|0)!=0&(b|0)==(a|0)):0){c[693022]=0;c[692188]=0;c[692194]=0;b=2768764;c[b>>2]=0;c[b+4>>2]=0}if(c[695958]|0?(b=c[695127]|0,(b|0)!=0&(b|0)==(a|0)):0){c[695958]=0;c[695124]=0;c[695130]=0;b=2780508;c[b>>2]=0;c[b+4>>2]=0}if(c[698894]|0?(b=c[698063]|0,(b|0)!=0&(b|0)==(a|0)):0){c[698894]=0;c[698060]=0;c[698066]=0;b=2792252;c[b>>2]=0;c[b+4>>2]=0}if(c[701830]|0?(b=c[700999]|0,(b|0)!=0&(b|0)==(a|0)):0){c[701830]=0;c[700996]=0;c[701002]=0;b=2803996;c[b>>2]=0;c[b+4>>2]=0}if(!(c[704766]|0)){Vq();return}b=c[703935]|0;if(!((b|0)!=0&(b|0)==(a|0))){Vq();return}c[704766]=0;c[703932]=0;c[703938]=0;a=2815740;c[a>>2]=0;c[a+4>>2]=0;Vq();return}function nq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;Uq();mq(a);if(!((a|0)!=0&b>>>0<64)){Vq();return}e=a+42252+(b<<4)|0;if(!(Xp(a,e)|0)){Vq();return}c[525577]=0;c[525578]=b;f=c[e>>2]|0;g=(f|0)<63?f:63;f=fq(a+12+(((g|0)>0?g:0)*660|0)|0,0,32,a,4)|0;if((f|0)!=-1){if((c[e>>2]|0)>63)c[2631360+(f*11744|0)+8224>>2]=0;c[2631360+(f*11744|0)+11544>>2]=1;c[2631360+(f*11744|0)+8220>>2]=a;c[2631360+(f*11744|0)+11548>>2]=b;c[2631360+(f*11744|0)+8236>>2]=0;c[2631360+(f*11744|0)+11740>>2]=Xp(a,e)|0}f=a+42252+(b<<4)+4|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=fq(a+12+(((h|0)>0?h:0)*660|0)|0,0,32,a,5)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[2631360+(g*11744|0)+8224>>2]=0;c[2631360+(g*11744|0)+11544>>2]=1;c[2631360+(g*11744|0)+8220>>2]=a;c[2631360+(g*11744|0)+11548>>2]=b;c[2631360+(g*11744|0)+8236>>2]=1;c[2631360+(g*11744|0)+11740>>2]=Xp(a,e)|0}g=a+42252+(b<<4)+8|0;f=c[g>>2]|0;h=(f|0)<63?f:63;f=fq(a+12+(((h|0)>0?h:0)*660|0)|0,0,32,a,6)|0;if((f|0)!=-1){if((c[g>>2]|0)>63)c[2631360+(f*11744|0)+8224>>2]=0;c[2631360+(f*11744|0)+11544>>2]=1;c[2631360+(f*11744|0)+8220>>2]=a;c[2631360+(f*11744|0)+11548>>2]=b;c[2631360+(f*11744|0)+8236>>2]=2;c[2631360+(f*11744|0)+11740>>2]=Xp(a,e)|0}f=a+42252+(b<<4)+12|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=fq(a+12+(((h|0)>0?h:0)*660|0)|0,0,32,a,7)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[2631360+(g*11744|0)+8224>>2]=0;c[2631360+(g*11744|0)+11544>>2]=1;c[2631360+(g*11744|0)+8220>>2]=a;c[2631360+(g*11744|0)+11548>>2]=b;c[2631360+(g*11744|0)+8236>>2]=3;c[2631360+(g*11744|0)+11740>>2]=Xp(a,e)|0}c[526433]=d;c[526432]=_q()|0;c[526434]=0;c[526435]=65536;oq();Vq();return}function oq(){var a=0,b=0,d=0,e=0;a=c[526436]|0;b=c[526435]|0;if((a|0)==(b|0)){if(a|0)return;c[657839]=0;mq(0);return}if(!(c[526433]|0)){c[526436]=b;if(b|0)return;c[657839]=0;mq(0);return}b=_q()|0;a=b-(c[526432]|0)|0;b=c[526433]|0;if((b|0)>(a|0)){d=B(c[526434]|0,b-a|0)|0;e=((B(c[526435]|0,a)|0)+d|0)/(b|0)|0;b=(e|0)<65536?e:65536;c[526436]=(b|0)>0?b:0;return}b=c[526435]|0;c[526436]=b;if(b|0)return;c[657839]=0;mq(0);return}function pq(a){a=a|0;return c[a+16>>2]|0}function qq(a){a=a|0;return}function rq(a,b){a=a|0;b=b|0;if(!a)return;c[a+8>>2]=b;return}function sq(a){a=a|0;if(!0)return;c[525853]=a;return}function tq(a,b){a=a|0;b=b|0;c[526434]=c[526436];c[526435]=0;c[526432]=_q()|0;c[526433]=b;oq();return}function uq(a){a=a|0;c[525854]=a;return}function vq(){var a=0;if((iq(0)|0)!=-1){a=1;return a|0}if(0==0|(c[526438]|0)==0){a=0;return a|0}if(!(c[526436]|c[526435])){a=0;return a|0}a=(c[657839]|0)!=0&1;return a|0}function wq(){var a=0;c[660726]=0;c[659892]=0;c[659898]=0;a=2639580;c[a>>2]=0;c[a+4>>2]=0;c[663662]=0;c[662828]=0;c[662834]=0;a=2651324;c[a>>2]=0;c[a+4>>2]=0;c[666598]=0;c[665764]=0;c[665770]=0;a=2663068;c[a>>2]=0;c[a+4>>2]=0;c[669534]=0;c[668700]=0;c[668706]=0;a=2674812;c[a>>2]=0;c[a+4>>2]=0;c[672470]=0;c[671636]=0;c[671642]=0;a=2686556;c[a>>2]=0;c[a+4>>2]=0;c[675406]=0;c[674572]=0;c[674578]=0;a=2698300;c[a>>2]=0;c[a+4>>2]=0;c[678342]=0;c[677508]=0;c[677514]=0;a=2710044;c[a>>2]=0;c[a+4>>2]=0;c[681278]=0;c[680444]=0;c[680450]=0;a=2721788;c[a>>2]=0;c[a+4>>2]=0;c[684214]=0;c[683380]=0;c[683386]=0;a=2733532;c[a>>2]=0;c[a+4>>2]=0;c[687150]=0;c[686316]=0;c[686322]=0;a=2745276;c[a>>2]=0;c[a+4>>2]=0;c[690086]=0;c[689252]=0;c[689258]=0;a=2757020;c[a>>2]=0;c[a+4>>2]=0;c[693022]=0;c[692188]=0;c[692194]=0;a=2768764;c[a>>2]=0;c[a+4>>2]=0;c[695958]=0;c[695124]=0;c[695130]=0;a=2780508;c[a>>2]=0;c[a+4>>2]=0;c[698894]=0;c[698060]=0;c[698066]=0;a=2792252;c[a>>2]=0;c[a+4>>2]=0;c[701830]=0;c[700996]=0;c[701002]=0;a=2803996;c[a>>2]=0;c[a+4>>2]=0;c[704766]=0;c[703932]=0;c[703938]=0;a=2815740;c[a>>2]=0;c[a+4>>2]=0;return}function xq(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[659896]|0)==0|(c[660726]|0)==0)a=0;else{b=c[659897]|0;a=(b|0)>0?b:0}if((c[662832]|0)==0|(c[663662]|0)==0)d=a;else{b=c[662833]|0;d=(a|0)>(b|0)?a:b}if((c[665768]|0)==0|(c[666598]|0)==0)e=d;else{b=c[665769]|0;e=(d|0)>(b|0)?d:b}if((c[668704]|0)==0|(c[669534]|0)==0)f=e;else{b=c[668705]|0;f=(e|0)>(b|0)?e:b}if((c[671640]|0)==0|(c[672470]|0)==0)g=f;else{b=c[671641]|0;g=(f|0)>(b|0)?f:b}if((c[674576]|0)==0|(c[675406]|0)==0)h=g;else{b=c[674577]|0;h=(g|0)>(b|0)?g:b}if((c[677512]|0)==0|(c[678342]|0)==0)i=h;else{b=c[677513]|0;i=(h|0)>(b|0)?h:b}if((c[680448]|0)==0|(c[681278]|0)==0)j=i;else{b=c[680449]|0;j=(i|0)>(b|0)?i:b}if((c[683384]|0)==0|(c[684214]|0)==0)k=j;else{b=c[683385]|0;k=(j|0)>(b|0)?j:b}if((c[686320]|0)==0|(c[687150]|0)==0)l=k;else{b=c[686321]|0;l=(k|0)>(b|0)?k:b}if((c[689256]|0)==0|(c[690086]|0)==0)m=l;else{b=c[689257]|0;m=(l|0)>(b|0)?l:b}if((c[692192]|0)==0|(c[693022]|0)==0)n=m;else{b=c[692193]|0;n=(m|0)>(b|0)?m:b}if((c[695128]|0)==0|(c[695958]|0)==0)o=n;else{b=c[695129]|0;o=(n|0)>(b|0)?n:b}if((c[698064]|0)==0|(c[698894]|0)==0)p=o;else{b=c[698065]|0;p=(o|0)>(b|0)?o:b}if((c[701e3]|0)==0|(c[701830]|0)==0)q=p;else{b=c[701001]|0;q=(p|0)>(b|0)?p:b}if((c[703936]|0)==0|(c[704766]|0)==0){r=q;return r|0}b=c[703937]|0;r=(q|0)>(b|0)?q:b;return r|0}function yq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=Fa;Fa=Fa+48|0;g=f+32|0;h=f+24|0;i=f+16|0;j=f;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;vs(1504976,64460,j)|0;Pm(1504976);if((a|0)==0|(b|0)==0){c[i>>2]=0;c[i+4>>2]=0;vs(1504976,64489,i)|0;Pm(1504976);k=0;l=0}else{k=a;l=b}if((c[525575]|0)==1){b=c[525850]|0;a=c[525851]|0;if((b|0)<32|(a|0)<32){c[525850]=640;c[525851]=540;m=640;n=540}else{m=b;n=a}c[h>>2]=m;c[h+4>>2]=n;vs(1504976,64527,h)|0;Pm(1504976);o=m;p=n}else{c[525850]=k;c[525851]=l;o=k;p=l}if(!(e&256)){if(e&4|0)c[8790]=0;if(e&8|0)c[8790]=1}else if(c[525852]|0)c[8790]=0;n=((l|0)==0|(k|0)==0)&((p|0)==0|(o|0)==0);m=n?216:p;p=n?384:o;o=n?384:k;k=n?216:l;l=c[704835]|0;do if(!l)q=20;else{if(((c[l>>2]|0)==(o|0)?(c[l+4>>2]|0)==(k|0):0)?(c[l+8>>2]|0)==(d|0):0)break;dn(l)|0;c[704835]=0;q=20}while(0);if((q|0)==20)c[704835]=cn(o,k,d)|0;if((c[525889]|c[525890]|0)==0?(q=Yq(p,m,o,k,d,e)|0,q|0):0){r=q;Fa=f;return r|0}c[704818]=p;c[704819]=m;c[704820]=d;c[704825]=0;c[704827]=0;c[704826]=p;c[704828]=m;c[g>>2]=0;c[g+4>>2]=0;vs(1504976,64548,g)|0;Pm(1504976);Pm(64570);r=0;Fa=f;return r|0}function zq(a){a=a|0;var b=0;b=c[704831]|0;if((b|0)==(a|0))return;Xu(b|0,a|0,768)|0;return}function Aq(){var b=0,d=0,e=0;if(c[704833]|0){b=0;return b|0}c[704833]=1;c[704831]=Wm()|0;c[704832]=Wm()|0;d=0;do{e=d&255;a[(c[704831]|0)+(d*3|0)>>0]=e;a[(c[704831]|0)+(d*3|0)+1>>0]=e;a[(c[704831]|0)+(d*3|0)+2>>0]=e;d=d+1|0}while((d|0)!=256);if(c[525889]|0){b=0;return b|0}b=Wq()|0;return b|0}function Bq(){var a=0,b=0;if(!(c[704833]|0)){a=0;return a|0}c[704833]=0;b=c[704835]|0;if(b|0)dn(b)|0;b=c[526412]|0;if(b|0)dn(b)|0;c[526412]=0;c[704835]=0;Xm(c[704831]|0);Xm(c[704832]|0);if(c[525889]|0){a=0;return a|0}a=Xq()|0;return a|0}function Cq(){var a=0;if(c[525890]|c[525889]|0)return;c[8790]=(c[8790]|0)==0&1;a=c[704835]|0;Yq(c[525850]|0,c[525851]|0,c[a>>2]|0,c[a+4>>2]|0,c[704820]|0,0)|0;return}function Dq(){c[704834]=_q()|0;return}function Eq(){var a=0,b=0;a=_q()|0;b=a-(c[704834]|0)|0;c[704834]=_q()|0;a=(b|0)<1e3?b:1e3;c[8791]=(1e3/(((a|0)>1?a:1)>>>0)|0)<<16;return}function Fq(){var a=0;a=c[704835]|0;if(!a)return;Oo(a,2819272,0,0,0,0,c[704818]|0,c[704819]|0);return}function Gq(){return c[8791]>>16|0}function Hq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;Lm(e,b)|0;g=e+548|0;if((a[d>>0]|0)==42){Lm(g,d+1|0)|0;h=ft(g)|0}else{a[g>>0]=0;h=0}c[e+804>>2]=h;c[e+812>>2]=st(b)|0;c[e+808>>2]=f;return Iq(e)|0}function Iq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=Fa;Fa=Fa+608|0;d=b+512|0;e=b+520|0;f=b;g=a+812|0;h=c[g>>2]|0;if(!h){i=1;Fa=b;return i|0}j=vt(h)|0;h=a+808|0;if(!j){i=1;Fa=b;return i|0}k=a+256|0;l=a+520|0;m=e+56|0;n=e+36|0;o=a+516|0;p=e+12|0;q=a+512|0;r=a+804|0;s=j;while(1){j=s+11|0;Lm(k,j)|0;c[d>>2]=a;c[d+4>>2]=j;vs(f,64592,d)|0;Ep(e,0,1);tt(f,e)|0;c[l>>2]=c[m>>2];c[o>>2]=c[n>>2];t=c[p>>2]|0;c[q>>2]=t;u=ft(j)|0;if((u|0)>=(c[r>>2]|0)?c[h>>2]&t|0:0){i=0;v=7;break}s=vt(c[g>>2]|0)|0;if(!s){i=1;v=7;break}}if((v|0)==7){Fa=b;return i|0}return 0}function Jq(a){a=a|0;var b=0;if(!a)return 0;b=c[a+812>>2]|0;if(!b)return 0;ut(b)|0;return 0}function Kq(a){a=a|0;var b=0,c=0;b=Yn(a,71765)|0;if(!b){c=0;return c|0}Zn(b);c=1;return c|0}function Lq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Fa;Fa=Fa+96|0;e=d+64|0;f=d+88|0;g=d;Ca(f|0)|0;if(!b)h=wa(f|0)|0;else h=ya(f|0)|0;Ba(g|0,64,64574,h|0)|0;h=a+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[e>>2]=h;c[e+4>>2]=a+8;c[e+8>>2]=a+12;c[e+12>>2]=a+16;c[e+16>>2]=a+20;c[e+20>>2]=a+24;Vt(g,64598,e)|0;Fa=d;return}function Mq(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;Qp(0,1525712,a<<1);if((c|0)<=0)return 1558480;d=a<<4;e=a+-1|0;a=0;do{f=(B(d,a)|0)/(c|0)|0;g=f&15;h=(f|0)/16|0;f=h+1|0;i=B(16-g|0,b[1525712+(h<<1)>>1]|0)|0;b[1558480+(a<<1)>>1]=((B(g,b[1525712+(((f|0)<(e|0)?f:e)<<1)>>1]|0)|0)+i|0)/16|0;a=a+1|0}while((a|0)!=(c|0));return 1558480}function Nq(){if((O(65535)|0)<0)Oq(66250);else{ka(27)|0;ka(28)|0;ka(29)|0;return 0}return 0}function Oq(a){a=a|0;var b=0,d=0,e=0;b=Fa;Fa=Fa+16|0;d=b+8|0;e=b;Pq();c[e>>2]=a;xu(67146,e)|0;Rt(c[8793]|0)|0;c[d>>2]=a;vs(1504976,67146,d)|0;Pm(1504976);Qm()|0;va(0)}function Pq(){var b=0,d=0,e=0;b=Fa;Fa=Fa+16|0;d=b;e=J()|0;if(!(a[e>>0]|0)){Fa=b;return}c[d>>2]=e;xu(67169,d)|0;Rt(c[8793]|0)|0;I();Fa=b;return}function Qq(){return 0}function Rq(b){b=b|0;var d=0,e=0;a[1591248]=63;a[1591249]=0;if(b>>>0>511)return 1591248;ot(1591248,c[28784+(b<<2)>>2]|0)|0;if(!(ft(1591248)|0))return 1591248;b=0;do{d=1591248+b|0;e=a[d>>0]|0;if((e+-97&255)<26)a[d>>0]=(e&255)+224;b=b+1|0}while(b>>>0<(ft(1591248)|0)>>>0);return 1591248}function Sq(a,b){a=a|0;b=b|0;la(30,c[525865]|0)|0;c[525584]=a;c[525585]=b;c[525582]=a;c[525583]=b;sq(c[525853]|0);uq(c[525854]|0);return 0}function Tq(){return 0}function Uq(){P();c[704836]=(c[704836]|0)+1;return}function Vq(){c[704836]=(c[704836]|0)+-1;T();return}function Wq(){return 0}function Xq(){return 0}function Yq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=No()|0;c[704840]=S(B(g,d)|0,B(g,e)|0,32,0)|0;return 0}function Zq(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(f|e|g|h|0)return;if((c[a+8>>2]|0)==8){h=c[704841]|0;do if(!h){l=a;m=8}else{g=c[h>>2]|0;if((g|0)==(c[a>>2]|0)?(e=c[h+4>>2]|0,(e|0)==(c[a+4>>2]|0)):0){n=h;o=g;p=e;q=g;break}dn(h)|0;l=a;m=8}while(0);if((m|0)==8){m=a+4|0;h=cn(c[l>>2]|0,c[m>>2]|0,32)|0;c[704841]=h;n=h;o=c[h>>2]|0;p=c[m>>2]|0;q=c[l>>2]|0}l=c[n+12>>2]|0;m=c[704831]|0;h=0;do{c[1591504+(h<<2)>>2]=(d[m+(h*3|0)>>0]|0)<<16|(d[m+(h*3|0)+1>>0]|0)<<8|(d[m+(h*3|0)+2>>0]|0)|-16777216;h=h+1|0}while((h|0)!=256);h=o<<2;o=0;do{m=1591504+(o<<2)|0;g=c[m>>2]|0;c[m>>2]=g<<16&16711680|g&-16711936|g>>>16&255;o=o+1|0}while((o|0)!=256);if((p|0)<1|(q|0)==0)r=n;else{o=c[a+16>>2]|0;g=l;l=0;while(1){m=c[o+(l<<2)>>2]|0;e=g;f=q;while(1){c[e>>2]=c[1591504+((d[m>>0]|0)<<2)>>2];f=f+-1|0;if(!f)break;else{m=m+1|0;e=e+4|0}}l=l+1|0;if((l|0)==(p|0)){r=n;break}else g=g+h|0}}}else r=a;Q(c[704840]|0)|0;a=c[704840]|0;if((j|0)>0?(h=r+16|0,r=i<<2,g=a+20|0,Xu(c[g>>2]|0,c[c[h>>2]>>2]|0,r|0)|0,(j|0)!=1):0){n=1;do{p=(c[g>>2]|0)+((B(n,i)|0)<<2)|0;Xu(p|0,c[(c[h>>2]|0)+(n<<2)>>2]|0,r|0)|0;n=n+1|0}while((n|0)!=(j|0))}U(a|0);return}function _q(){return M()|0}function $q(){return}function ar(){return}function br(){return 0}function cr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(b|0)c[b>>2]=0;if(d|0)c[d>>2]=0;if(!e)return;c[e>>2]=0;return}function dr(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=Fa;Fa=Fa+64|0;d=b+48|0;e=b+56|0;f=b+52|0;g=b;h=0;do{i=1513808+h|0;j=a[i>>0]|0;a[1514832+h>>0]=j;if(j<<24>>24==3)a[i>>0]=1;h=h+1|0}while((h|0)!=512);h=0;do{if(!(a[1513808+h>>0]|0))a[1514320+h>>0]=0;h=h+1|0}while((h|0)!=512);h=K()|0;a[1514032]=h&64;a[1514036]=h&128;a[1514034]=0;a[1514038]=0;a[1514033]=h&1;a[1514037]=h&2;a:do if(R(g|0)|0){h=g+12|0;i=g+28|0;j=g+32|0;while(1){k=c[g>>2]|0;b:do switch(k|0){case 768:case 769:{l=c[h>>2]|0;m=(l|0)==1104?80:l;l=(m|0)==1103?79:m;m=(l|0)==1106?82:l;l=(m|0)==1105?81:m;m=(l|0)==1099?75:l;l=(m|0)==1102?78:m;m=(l|0)==1248?224:l;if((k|0)!=768){if((m|0)>=512)break b;a[1513808+m>>0]=0;a[1514832]=0;break b}if((((An(80)|0)==0?(An(79)|0)==0:0)?(An(82)|0)==0:0)?(An(81)|0)==0:0)n=0;else n=-1;if((m|0)<512){a[1513808+m>>0]=3;a[1514832+m>>0]=0;a[1514320+m>>0]=0}m=c[526414]|0;if((n|0)!=0&(m|0)<32){c[1513680+(m<<2)>>2]=n;c[526414]=m+1}break}case 1024:{do if(c[525568]|0){if(ka(31)|0){m=c[i>>2]|0;c[525562]=(c[525562]|0)+m;l=c[j>>2]|0;c[525563]=(c[525563]|0)+l;o=(c[704838]|0)+m|0;m=c[704835]|0;p=(c[m>>2]<<2)+-1|0;q=(o|0)<(p|0)?o:p;c[704838]=(q|0)>0?q:0;q=(c[704839]|0)+l|0;l=(c[m+4>>2]<<2)+-1|0;m=(q|0)<(l|0)?q:l;c[704839]=(m|0)>0?m:0;break}if(c[525568]|0){L(e|0,f|0)|0;if(!(ka(32)|0))r=c[f>>2]|0;else{c[e>>2]=ka(33)|0;m=ka(34)|0;c[f>>2]=m;r=m}c[704838]=c[e>>2]<<2;c[704839]=r<<2}}while(0);m=c[525562]|0;if((m|0)>=0){if(m|0){l=~m;q=(l|0)>-2?l:-2;s=-2-q|0;t=m+2+(c[525564]|0)+q|0;u=24}}else{s=0;t=m+(c[525564]|0)|0;u=24}if((u|0)==24){u=0;c[525564]=t;c[525562]=s}m=c[525563]|0;if((m|0)<0){c[525565]=m+(c[525565]|0);c[525563]=0;break b}if(m|0){q=~m;l=(q|0)>-2?q:-2;c[525565]=m+2+(c[525565]|0)+l;c[525563]=-2-l}break}default:{}}while(0);if(!(R(g|0)|0))break a}}while(0);g=(ka(35)|0)!=0;if(g&(c[526414]|0)<32)do{g=ka(36)|0;s=(g|0)<-1;if(s){c[d>>2]=g;xu(69196,d)|0}t=c[526414]|0;c[1513680+(t<<2)>>2]=s?-1:g;c[526414]=t+1;t=(ka(35)|0)!=0}while(t&(c[526414]|0)<32);d=ka(37)|0;c[525558]=(c[525558]|0)+d;c[525560]=(c[525560]|0)+d;d=ka(38)|0;c[525559]=(c[525559]|0)+d;c[525561]=(c[525561]|0)+d;er();if((c[525569]|0)==0?(ka(39)|0)!=0:0){if(c[526414]|0){Fa=b;return 0}}else{c[526414]=0;Yu(1513808,0,512)|0;Yu(1514832,0,512)|0;Yu(1514320,0,512)|0;c[525558]=0;c[525559]=0;c[525560]=0;c[525561]=0}d=0;while(1){if((An(d)|0)==3)break;if(d>>>0<511)d=d+1|0;else{u=55;break}}if((u|0)==55){Fa=b;return 0}c[378420]=-1;c[526414]=(c[526414]|0)+1;Fa=b;return 0}function er(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=Fa;Fa=Fa+16|0;b=a+8|0;d=a+4|0;e=a;fr(b,d,e);if(!(c[8792]|0)){f=(c[e>>2]|0)>0;g=c[b>>2]|0;h=c[d>>2]|0}else{c[e>>2]=1;c[d>>2]=1;c[b>>2]=1;c[8792]=0;f=1;g=1;h=1}if((f&(h|g|0)>-1?(g|0)<(c[704818]|0):0)?(h|0)<(c[704819]|0):0)ka(40)|0;if(c[525569]|0){Fa=a;return}if(!(ka(39)|0)){Fa=a;return}ka(41)|0;Fa=a;return}function fr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Fa;Fa=Fa+16|0;f=e+12|0;g=e+8|0;h=e+4|0;i=e;j=ka(32)|0;if(!(c[525568]|0))k=1;else k=(ka(31)|0)==0;if((j|0)!=0&k){if(a|0)c[a>>2]=ka(33)|0;if(b|0)c[b>>2]=ka(34)|0;if(!d){Fa=e;return}c[d>>2]=ka(42)|0;Fa=e;return}k=(L(f|0,g|0)|0)&255;if(c[525568]|0?ka(31)|0:0){c[f>>2]=(c[704838]|0)/4|0;c[g>>2]=(c[704839]|0)/4|0}N(0,h|0,i|0);j=c[h>>2]|0;h=c[i>>2]|0;if((j|0)==0|(h|0)==0){Fa=e;return}i=c[704818]|0;l=c[704819]|0;if(!(+(j|0)/+(h|0)>=+(i|0)/+(l|0))){m=(h-((B(l,j)|0)/(i|0)|0)|0)/2|0;n=(c[g>>2]|0)-m|0;c[g>>2]=n;m=(B(c[704818]|0,c[f>>2]|0)|0)/(j|0)|0;c[f>>2]=m;o=B(c[704818]|0,n)|0;p=j;q=m}else{m=(j-((B(i,h)|0)/(l|0)|0)|0)/2|0;i=(B((c[f>>2]|0)-m|0,l)|0)/(h|0)|0;c[f>>2]=i;o=B(c[g>>2]|0,l)|0;p=h;q=i}i=(o|0)/(p|0)|0;c[g>>2]=i;if(a|0)c[a>>2]=q;if(b|0)c[b>>2]=i;if(!d){Fa=e;return}c[d>>2]=k<<1&4|k&1|k>>>1&2;Fa=e;return}function gr(a,b){a=a|0;b=b|0;var d=0,e=0;d=Fa;Fa=Fa+16|0;e=d;c[e>>2]=a;vs(b,70103,e)|0;Fa=d;return}function hr(a,b){a=a|0;b=b|0;ot(b,a)|0;return}function ir(a,b){a=a|0;b=b|0;ot(b,a)|0;return}function jr(a,b){a=a|0;b=b|0;ot(b,a)|0;return}function kr(b){b=b|0;var c=0,d=0;if(!(ka(24)|0)){su(70203)|0;return 0}ka(43)|0;c=ft(b)|0;if((c|0)>0){d=0;do{la(44,a[b+d>>0]|0)|0;d=d+1|0}while((d|0)!=(c|0))}ka(45)|0;return 0}function lr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Fa;Fa=Fa+16|0;d=b+4|0;e=b;f=(a|0)==0;g=c[525568]|0;if(f|(g|0)!=0)h=g;else{L(d|0,e|0)|0;if(!(ka(32)|0))i=c[e>>2]|0;else{c[d>>2]=ka(33)|0;g=ka(34)|0;c[e>>2]=g;i=g}c[704838]=c[d>>2]<<2;c[704839]=i<<2;h=c[525568]|0}if(!(f&(h|0)!=0)){c[525568]=a;Fa=b;return}su(70408)|0;ka(46)|0;c[525568]=a;Fa=b;return}function mr(a){a=a|0;return}function nr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Fa;Fa=Fa+16|0;f=e;if(a|0){c[f>>2]=d;c[f+4>>2]=a;xu(70474,f)|0}Rt(c[8793]|0)|0;f=wr(a,71945)|0;if(f|0){Qn(b,1,d,f)|0;Zn(f)}f=c[a+1024>>2]|0;if(!f){Hp(a);Fa=e;return}Oa[f&7](a);Hp(a);Fa=e;return}function or(a){a=a|0;var b=0,d=0;b=Fa;Fa=Fa+16|0;d=b;if(a|0){c[d>>2]=a;xu(70518,d)|0}Rt(c[8793]|0)|0;d=c[a+1028>>2]|0;if(!d){Hp(a);Fa=b;return}Oa[d&7](a);Hp(a);Fa=b;return}function pr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Fa;Fa=Fa+16|0;g=f;h=Dp(1032)|0;ot(h,b)|0;c[h+1024>>2]=d;c[h+1028>>2]=e;c[g>>2]=a;c[g+4>>2]=h;xu(70544,g)|0;Rt(c[8793]|0)|0;oa(a|0,h|0,2,4);Fa=f;return 0}function qr(){var a=0;if(c[525569]|0){a=0;return a|0}a=ka(39)|0;return a|0}function rr(a){a=a|0;var b=0;b=c[704842]|0;if(b|0)Hp(b);b=Dp((ft(a)|0)+1|0)|0;c[704842]=b;ot(b,a)|0;ka(47)|0;return 0}function sr(b){b=b|0;var c=0,d=0,e=0;ka(48)|0;c=ft(b)|0;if((c|0)<=0){d=ka(50)|0;return d|0}e=0;do{la(49,a[b+e>>0]|0)|0;e=e+1|0}while((e|0)!=(c|0));d=ka(50)|0;return d|0}function tr(){if(c[704837]|0)return;c[704837]=1;ka(51)|0;return}function ur(){var b=0,d=0,e=0;if(!(ka(52)|0)){b=c[704842]|0;if(!b){d=Fp(2)|0;a[d>>0]=0;e=d;return e|0}else{d=Dp((ft(b)|0)+1|0)|0;ot(d,c[704842]|0)|0;e=d;return e|0}}a[1592528]=0;if(!(ka(53)|0)){ka(54)|0;a[1592528]=0;d=0;do{b=ka(55)|0;a[1592528+d>>0]=b;d=d+1|0;a[1592528+d>>0]=0}while((b|0)!=0&d>>>0<65536)}else a[1592528]=0;d=Fp((ft(1592528)|0)+1|0)|0;ot(d,1592528)|0;e=d;return e|0}function vr(a){a=a|0;return 0}function wr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Fa;Fa=Fa+1296|0;f=e+1280|0;g=e+1024|0;h=e+512|0;i=e;eo(b,0,h,i);c[f>>2]=h;c[f+4>>2]=i;vs(g,71619,f)|0;f=c[704843]|0;a:do if((f|0)>0){i=0;while(1){h=c[1658080+(i<<2)>>2]|0;i=i+1|0;if(!(Xs(g,h+24|0)|0)){j=h;break a}if((i|0)>=(f|0)){j=0;break}}}else j=0;while(0);switch(a[d>>0]|0){case 114:{if(!j){k=0;Fa=e;return k|0}c[j+20>>2]=0;k=j;Fa=e;return k|0}case 119:{if(!j){d=Ip(0)|0;c[d+4>>2]=1;Lm(d+24|0,g)|0;g=c[704843]|0;c[1658080+(g<<2)>>2]=d;c[704843]=g+1;k=d;Fa=e;return k|0}else{c[j+16>>2]=0;c[j+20>>2]=0;k=j;Fa=e;return k|0}break}default:{k=0;Fa=e;return k|0}}return 0}function xr(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[704843]|0;if((b|0)<=0){d=0;return d|0}e=0;while(1){if((c[1658080+(e<<2)>>2]|0)==(a|0)){d=1;f=5;break}e=e+1|0;if((e|0)>=(b|0)){d=0;f=5;break}}if((f|0)==5)return d|0;return 0}function yr(){var a=0,b=0,d=0;a=Fp(46744)|0;Yu(a|0,0,46744)|0;c[a>>2]=Dp(65538)|0;c[a+4>>2]=cn(128,128,8)|0;c[a+8>>2]=cn(128,64,8)|0;b=a+12|0;d=0;do{c[b+(d*660|0)+8>>2]=(d|0)==0?1:16;d=d+1|0}while((d|0)!=64);d=a+42252|0;b=0;do{c[d+(b<<4)>>2]=65;c[d+(b<<4)+4>>2]=66;c[d+(b<<4)+8>>2]=67;c[d+(b<<4)+12>>2]=68;b=b+1|0}while((b|0)!=64);c[a+44584>>2]=Nr()|0;c[a+44588>>2]=Nr()|0;c[a+44592>>2]=Nr()|0;c[a+44596>>2]=Nr()|0;Yu(a+44600|0,-1,2144)|0;return a|0}function zr(a){a=a|0;if(!a)return;dn(c[a+4>>2]|0)|0;dn(c[a+8>>2]|0)|0;mq(a);hq(a+12|0);hq(a+672|0);hq(a+1332|0);hq(a+1992|0);hq(a+2652|0);hq(a+3312|0);hq(a+3972|0);hq(a+4632|0);hq(a+5292|0);hq(a+5952|0);hq(a+6612|0);hq(a+7272|0);hq(a+7932|0);hq(a+8592|0);hq(a+9252|0);hq(a+9912|0);hq(a+10572|0);hq(a+11232|0);hq(a+11892|0);hq(a+12552|0);hq(a+13212|0);hq(a+13872|0);hq(a+14532|0);hq(a+15192|0);hq(a+15852|0);hq(a+16512|0);hq(a+17172|0);hq(a+17832|0);hq(a+18492|0);hq(a+19152|0);hq(a+19812|0);hq(a+20472|0);hq(a+21132|0);hq(a+21792|0);hq(a+22452|0);hq(a+23112|0);hq(a+23772|0);hq(a+24432|0);hq(a+25092|0);hq(a+25752|0);hq(a+26412|0);hq(a+27072|0);hq(a+27732|0);hq(a+28392|0);hq(a+29052|0);hq(a+29712|0);hq(a+30372|0);hq(a+31032|0);hq(a+31692|0);hq(a+32352|0);hq(a+33012|0);hq(a+33672|0);hq(a+34332|0);hq(a+34992|0);hq(a+35652|0);hq(a+36312|0);hq(a+36972|0);hq(a+37632|0);hq(a+38292|0);hq(a+38952|0);hq(a+39612|0);hq(a+40272|0);hq(a+40932|0);hq(a+41592|0);Hp(c[a>>2]|0);Or(c[a+44584>>2]|0);Or(c[a+44588>>2]|0);Or(c[a+44592>>2]|0);Or(c[a+44596>>2]|0);Hp(a);if((c[743521]|0)!=(a|0))return;c[743521]=0;return}function Ar(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;d=Fa;Fa=Fa+80|0;e=d+48|0;f=d+40|0;g=d+24|0;h=d+8|0;i=d;j=d+64|0;c[741076]=0;k=Dp(196609)|0;l=Dp(196609)|0;a[k>>0]=0;m=_n(k,196608,b)|0;a:while(1){switch(a[m>>0]|0){case 0:{break a;break}case 112:case 10:{n=4;break a;break}default:{}}m=m+1|0}if((n|0)==4?(ts(m,71624,16)|0)==0:0){_n(k,196608,b)|0;c[j>>2]=0;c[i>>2]=j;Vt(k,71641,i)|0;if((c[j>>2]|0)>32){Hp(k);Hp(l);c[741076]=1;o=0;Fa=d;return o|0}m=yr()|0;c[m+44576>>2]=c[j>>2];p=0;do{Yu(m+12+(p*660|0)|0,0,660)|0;c[m+12+(p*660|0)+8>>2]=(p|0)==0?1:16;p=p+1|0}while((p|0)!=64);p=m+4|0;Zm(c[p>>2]|0);q=m+8|0;Zm(c[q>>2]|0);Yu(m+43548|0,0,1024)|0;a[c[m>>2]>>0]=0;b:do if(!(Wn(b)|0)){r=k+3|0;s=m+44572|0;t=0;u=0;v=0;w=0;x=0;y=0;z=0;c:while(1){Yu(k|0,0,196609)|0;_n(k,196608,b)|0;if((Wn(b)|0)!=0?(a[k>>0]|0)==0:0){A=-1;B=u;C=v;D=w;E=x;F=y;G=z}else n=14;do if((n|0)==14){n=0;if(ts(k,71652,7)|0)if(ts(k,71660,7)|0)if(ts(k,71668,7)|0)if(ts(k,71676,7)|0)if(ts(k,71684,7)|0)if(ts(k,71692,9)|0)if(ts(k,71702,9)|0)if(!(ts(k,71712,15)|0)){A=7;B=u;C=v;D=w;E=x;F=y;G=z}else{if((t|0)==1){Hr(k,l)|0;H=c[m>>2]|0;I=ft(H)|0;if(((ft(l)|0)+I|0)>>>0>=65536)break c;pt(H,l)|0;if(!(Wn(b)|0)){H=c[m>>2]|0;I=H+(ft(H)|0)|0;a[I>>0]=10;a[I+1>>0]=0}a[(c[m>>2]|0)+65536>>0]=0;A=1;B=u;C=v;D=w;E=x;F=y;G=z;break}if((z|0)<128&(t|0)==2){I=0;do{H=a[k+I>>0]|0;J=H+-48|0;a[(c[(c[(c[p>>2]|0)+16>>2]|0)+(z<<2)>>2]|0)+I>>0]=J>>>0<10?J:(H+-97|0)>>>0<6?H+169|0:0;I=I+1|0}while((I|0)!=128);K=z+1|0}else K=z;if((u|0)<2&(t|0)==10){I=u<<7;H=(c[j>>2]|0)>2;J=0;do{if(H){L=J<<1;M=a[k+L>>0]|0;N=M+-48|0;O=a[k+(L|1)>>0]|0;L=O+-48|0;P=((N>>>0<10?N:(M+-97|0)>>>0<6?M+268435369|0:0)<<4)+(L>>>0<10?L:(O+-97|0)>>>0<6?O+-87|0:0)|0}else{O=a[k+J>>0]|0;L=O+-48|0;P=L>>>0<10?L:(O+-97|0)>>>0<6?O+-87|0:0}c[m+43548+(J+I<<2)>>2]=P;J=J+1|0}while((J|0)!=128);Q=u+1|0}else Q=u;if((x|0)<64&(t|0)==3){J=0;do{I=J<<1;H=a[k+I>>0]|0;O=H+-48|0;L=a[k+(I|1)>>0]|0;I=L+-48|0;a[(c[(c[(c[q>>2]|0)+16>>2]|0)+(x<<2)>>2]|0)+J>>0]=((O>>>0<10?O:(H+-97|0)>>>0<6?H+9|0:0)<<4)+(I>>>0<10?I:(L+-97|0)>>>0<6?L+169|0:0);J=J+1|0}while((J|0)!=128);R=x+1|0}else R=x;if((w|0)<64&(t|0)==4){c[i>>2]=0;c[h>>2]=i;c[h+4>>2]=m+12+(w*660|0)+8;c[h+8>>2]=m+12+(w*660|0)+12;c[h+12>>2]=m+12+(w*660|0)+16;Vt(k,71728,h)|0;J=c[i>>2]|0;c[m+12+(w*660|0)+4>>2]=J&1;c[m+12+(w*660|0)>>2]=J&254;J=0;do{L=m+12+(w*660|0)+20+(J*20|0)|0;I=m+12+(w*660|0)+20+(J*20|0)+4|0;H=m+12+(w*660|0)+20+(J*20|0)+8|0;O=m+12+(w*660|0)+20+(J*20|0)+12|0;c[g>>2]=L;c[g+4>>2]=I;c[g+8>>2]=H;c[g+12>>2]=O;Vt(k+((J*5|0)+8)|0,71745,g)|0;M=c[O>>2]|0;if(M&8|0)c[m+12+(w*660|0)+20+(J*20|0)+16>>2]=128;N=c[I>>2]|0;if(N&8|0)c[m+12+(w*660|0)+20+(J*20|0)+16>>2]=128;c[O>>2]=M&7;c[I>>2]=N&7;c[H>>2]=c[H>>2]&7;c[L>>2]=c[L>>2]&63;J=J+1|0}while((J|0)!=32);S=w+1|0}else S=w;if((v|0)<64&(t|0)==5){if((c[j>>2]|0)>2){c[f>>2]=m+43276+(v<<2);Vt(k,71759,f)|0;T=r}else T=k;J=m+42252+(v<<4)|0;L=m+42252+(v<<4)+4|0;H=m+42252+(v<<4)+8|0;N=m+42252+(v<<4)+12|0;c[e>>2]=J;c[e+4>>2]=L;c[e+8>>2]=H;c[e+12>>2]=N;Vt(T,71728,e)|0;do if((c[j>>2]|0)<4){if(!(c[J>>2]|0))c[J>>2]=65;if(!(c[L>>2]|0))c[L>>2]=65;if(!(c[H>>2]|0))c[H>>2]=65;if(c[N>>2]|0)break;c[N>>2]=65}while(0);A=5;B=Q;C=v+1|0;D=S;E=R;F=y;G=K;break}if((y|0)<128&(t|0)==6){if(!(c[s>>2]|0))c[s>>2]=cn(128,128,8)|0;N=0;do{H=a[k+N>>0]|0;L=H+-48|0;do if(L>>>0>=10)if((H+-97|0)>>>0<22){U=H+-87|0;break}else{U=(H+-65|0)>>>0<22?H+-55|0:0;break}else U=L;while(0);a[(c[(c[(c[s>>2]|0)+16>>2]|0)+(y<<2)>>2]|0)+N>>0]=(U|0)>15?U+112|0:U;N=N+1|0}while((N|0)!=128);V=y+1|0}else V=y;if((t|0)!=7){A=t;B=Q;C=v;D=S;E=R;F=V;G=K;break}N=0;do{L=N<<1;H=a[k+L>>0]|0;J=H+-48|0;I=a[k+(L|1)>>0]|0;L=I+-48|0;a[m+44600+N>>0]=((J>>>0<10?J:(H+-97|0)>>>0<6?H+9|0:0)<<4)+(L>>>0<10?L:(I+-97|0)>>>0<6?I+169|0:0);N=N+1|0}while((N|0)!=2144);A=0;B=Q;C=v;D=S;E=R;F=V;G=K}else{A=6;B=u;C=v;D=w;E=x;F=y;G=z}else{A=5;B=u;C=v;D=w;E=x;F=y;G=z}else{A=4;B=u;C=v;D=w;E=x;F=y;G=z}else{A=3;B=u;C=v;D=w;E=x;F=y;G=z}else{A=10;B=u;C=v;D=w;E=x;F=y;G=z}else{A=2;B=u;C=v;D=w;E=x;F=y;G=z}else{A=1;B=u;C=v;D=w;E=x;F=y;G=z}}while(0);if((A|0)!=-1&(Wn(b)|0)==0){t=A;u=B;v=C;w=D;x=E;y=F;z=G}else break b}Hp(k);Hp(l);c[741076]=2;o=0;Fa=d;return o|0}while(0);G=c[m>>2]|0;if(a[G>>0]|0)a[G+((ft(G)|0)+-1)>>0]=0;Hp(k);Hp(l);o=m;Fa=d;return o|0}Hp(k);Hp(l);o=0;Fa=d;return o|0}function Br(a){a=a|0;var b=0,c=0;b=Yn(a,71765)|0;if(!b){c=0;return c|0}a=Ar(b)|0;Zn(b);c=a;return c|0}function Cr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=Fa;Fa=Fa+256|0;g=f;Yu(g|0,0,256)|0;jo(e,71767,0)|0;jo(e,71810,32)|0;jo(e,71822,0)|0;h=Fp(196614)|0;Lr(c[b>>2]|0,h)|0;Qn(h,1,ft(h)|0,e)|0;Hp(h);jo(e,71831,0)|0;h=b+4|0;i=c[(c[h>>2]|0)+16>>2]|0;j=-1;k=0;while(1){l=c[i+(k<<2)>>2]|0;m=0;n=j;do{n=(a[l+m>>0]|0)==0?n:k;m=m+1|0}while((m|0)!=128);k=k+1|0;if((k|0)==128)break;else j=n}if((n|0)>-1){jo(e,71833,0)|0;j=0;while(1){k=0;do{i=a[(c[(c[(c[h>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+k>>0]|0;ko(e,71842,((i&255)<15?i:15)&255,0,0,0)|0;k=k+1|0}while((k|0)!=128);jo(e,71831,0)|0;if((j|0)==(n|0))break;else j=j+1|0}}j=b+44572|0;n=c[j>>2]|0;if((n|0?(c[n>>2]|0)==128:0)?(c[n+4>>2]|0)==128:0){h=c[n+12>>2]|0;n=0;k=0;do{n=(a[h+k>>0]|0)==0?n:1;k=k+1|0}while((k|0)!=16384);if(n|0){jo(e,71845,0)|0;n=0;do{k=(c[j>>2]|0)+16|0;h=0;do{i=a[(c[(c[k>>2]|0)+(n<<2)>>2]|0)+h>>0]|0;m=i&15;l=i<<24>>24<0?m|16:m;a[g+h>>0]=(l>>>0<10?48:87)+l;h=h+1|0}while((h|0)!=128);Qn(g,1,128,e)|0;jo(e,71831,0)|0;n=n+1|0}while((n|0)!=128);jo(e,71831,0)|0}}n=0;g=0;do{n=(c[b+43548+(g<<2)>>2]|0)==0?n:1;g=g+1|0}while((g|0)!=256);if(n|0){jo(e,71856,0)|0;n=0;do{ko(e,71865,c[b+43548+(n<<2)>>2]&255,0,0,0)|0;n=n+1|0}while((n|0)!=128);jo(e,71831,0)|0;n=0;do{ko(e,71865,c[b+43548+(n+128<<2)>>2]&255,0,0,0)|0;n=n+1|0}while((n|0)!=128);jo(e,71831,0)|0}n=b+8|0;g=c[(c[n>>2]|0)+16>>2]|0;j=-1;h=0;while(1){k=c[g+(h<<2)>>2]|0;o=j;l=0;do{o=(a[k+l>>0]|0)==0?o:h;l=l+1|0}while((l|0)!=128);h=h+1|0;if((h|0)==32)break;else j=o}if((o|0)>-1){jo(e,71870,0)|0;j=0;while(1){h=0;do{ko(e,71865,d[(c[(c[(c[n>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+h>>0]|0,0,0,0)|0;h=h+1|0}while((h|0)!=128);jo(e,71831,0)|0;if((j|0)==(o|0))break;else j=j+1|0}}j=-1;o=0;while(1){n=(c[b+12+(o*660|0)+4>>2]|0)==0?j:o;h=c[b+12+(o*660|0)+8>>2]|0;p=(c[b+12+(o*660|0)+16>>2]|c[b+12+(o*660|0)+12>>2]|0)==0?((o|0)==0?((h|0)==1?n:o):(h|0)==16?n:o):o;n=0;do{p=(c[b+12+(o*660|0)+20+(n*20|0)+4>>2]|c[b+12+(o*660|0)+20+(n*20|0)>>2]|c[b+12+(o*660|0)+20+(n*20|0)+16>>2]|c[b+12+(o*660|0)+20+(n*20|0)+8>>2]|c[b+12+(o*660|0)+20+(n*20|0)+12>>2]|0)==0?p:o;n=n+1|0}while((n|0)!=32);o=o+1|0;if((o|0)==64)break;else j=p}if((p|0)>-1){jo(e,71879,0)|0;j=0;while(1){o=c[b+12+(j*660|0)+8>>2]|0;n=(o|0)<255?o:255;o=c[b+12+(j*660|0)+12>>2]|0;h=(o|0)<255?o:255;o=c[b+12+(j*660|0)+16>>2]|0;g=(o|0)<255?o:255;ko(e,71728,c[b+12+(j*660|0)>>2]&254|(c[b+12+(j*660|0)+4>>2]|0)!=0,(n|0)>0?n:0,(h|0)>0?h:0,(g|0)>0?g:0)|0;g=0;do{h=c[b+12+(j*660|0)+20+(g*20|0)>>2]|0;n=(h|0)<63?h:63;h=c[b+12+(j*660|0)+20+(g*20|0)+4>>2]|0;o=(h|0)<7?h:7;h=c[b+12+(j*660|0)+20+(g*20|0)+8>>2]|0;l=(h|0)<7?h:7;h=c[b+12+(j*660|0)+20+(g*20|0)+12>>2]|0;k=(h|0)<7?h:7;ko(e,71888,(n|0)>0?n:0,((o|0)>0?o:0)+((c[b+12+(j*660|0)+20+(g*20|0)+16>>2]|0)==0?0:8)|0,(l|0)>0?l:0,(k|0)>0?k:0)|0;g=g+1|0}while((g|0)!=32);jo(e,71831,0)|0;if((j|0)==(p|0))break;else j=j+1|0}}j=-1;p=0;do{j=(c[b+42252+(p<<4)+8>>2]|0)==67&((c[b+42252+(p<<4)+4>>2]|0)==66&((c[b+43276+(p<<2)>>2]|0)==0?(c[b+42252+(p<<4)>>2]|0)==65:0))?j:p;p=p+1|0}while((p|0)!=64);if((j|0)>-1){jo(e,71899,0)|0;p=0;while(1){ko(e,71759,c[b+43276+(p<<2)>>2]|0,0,0,0)|0;ko(e,71910,c[b+42252+(p<<4)>>2]|0,c[b+42252+(p<<4)+4>>2]|0,c[b+42252+(p<<4)+8>>2]|0,c[b+42252+(p<<4)+12>>2]|0)|0;if((p|0)==(j|0))break;else p=p+1|0}jo(e,71831,0)|0}p=0;j=0;do{j=(a[b+44600+p>>0]|0)==-1?j:1;p=p+1|0}while((p|0)!=2144);if(!j){Fa=f;return 0}jo(e,71928,0)|0;j=0;do{ko(e,71865,d[b+44600+j>>0]|0,0,0,0)|0;j=j+1|0}while((j|0)!=2144);jo(e,71831,0)|0;Fa=f;return 0}function Dr(a,b){a=a|0;b=b|0;var c=0,d=0;c=Yn(b,71945)|0;if(!c){d=1;return d|0}Cr(a,c)|0;Zn(c);d=0;return d|0}function Er(a,b){a=a|0;b=b|0;var d=0,e=0;d=Dp(370)|0;if(!a){e=Ip(b+1|0)|0;c[d+4>>2]=e;c[d>>2]=c[e+12>>2]}else c[d>>2]=a;c[d+8>>2]=b;b=Nr()|0;c[d+364>>2]=b;c[b+16>>2]=24;Fr(d);return d|0}function Fr(a){a=a|0;var b=0,d=0;b=Ip(2048)|0;d=c[a>>2]|0;Qn(d,1,(ft(d)|0)+1|0,b)|0;Pn(c[a+336>>2]|0,b);Pn(c[a+344>>2]|0,b);Pn(c[a+348>>2]|0,b);Pn(c[a+320>>2]|0,b);Pn(c[a+324>>2]|0,b);Pn(c[a+352>>2]|0,b);d=c[a+364>>2]|0;Qr(b,d,(ft(c[a>>2]|0)|0)+1|0)|0;return}function Gr(a){a=a|0;var b=0;if(!a)return;b=c[a+4>>2]|0;if(b|0)Kp(b);Or(c[a+364>>2]|0);Hp(a);return}function Hr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=ft(b)|0;if(!d)f=Fp(e+1|0)|0;else f=d;a[f>>0]=0;if((e|0)<=0)return f|0;d=f;g=0;while(1){h=(a[b+g>>0]|0)+256|0;i=(h|0)%256|0;do if((i|0)>127){j=b+(g+1)|0;k=b+(g+2)|0;l=b+(g+3)|0;m=b+(g+4)|0;n=b+(g+5)|0;o=b+(g+6)|0;p=0;while(1){q=a[30832+(p*7|0)>>0]|0;if(q<<24>>24!=0&(i|0)==(q&255|0)){r=a[30832+(p*7|0)+1>>0]|0;if(r<<24>>24?(((a[j>>0]|0)+256|0)%256|0|0)==(r&255|0):0){s=a[30832+(p*7|0)+2>>0]|0;if(s<<24>>24?(((a[k>>0]|0)+256|0)%256|0|0)==(s&255|0):0){t=a[30832+(p*7|0)+3>>0]|0;if(t<<24>>24?(((a[l>>0]|0)+256|0)%256|0|0)==(t&255|0):0){u=a[30832+(p*7|0)+4>>0]|0;if(u<<24>>24?(((a[m>>0]|0)+256|0)%256|0|0)==(u&255|0):0){v=a[30832+(p*7|0)+5>>0]|0;if(v<<24>>24?(((a[n>>0]|0)+256|0)%256|0|0)==(v&255|0):0){w=a[30832+(p*7|0)+6>>0]|0;if(w<<24>>24?(((a[o>>0]|0)+256|0)%256|0|0)==(w&255|0):0){x=7;y=11;break}else{z=6;A=w}}else{z=5;A=v}}else{z=4;A=u}}else{z=3;A=t}}else{z=2;A=s}}else{z=1;A=r}}else{z=0;A=q}if(!(A<<24>>24)){x=z;y=11;break}q=p+1|0;if(q>>>0<70)p=q;else break}if((y|0)==11){y=0;if(p>>>0>=26)if(p>>>0<42)B=246;else B=p>>>0<44?212:21;else B=128;a[d>>0]=p+B;o=d+1|0;a[o>>0]=0;C=o;D=g+-1+x|0;break}if((i|0)==227){o=d;n=g;m=0;l=-1;while(1){k=b+(n+1)|0;j=c[31392+(m<<2)>>2]|0;if((((a[k>>0]|0)+256|0)%256|0|0)==(j>>>8&255|0)?(q=n+2|0,r=o+1|0,(((a[b+q>>0]|0)+256|0)%256|0|0)==(j&255|0)):0){a[o>>0]=m+154;a[r>>0]=0;E=r;F=q;G=m;H=b+(n+3)|0}else{E=o;F=n;G=l;H=k}k=c[31600+(m<<2)>>2]|0;if((((a[H>>0]|0)+256|0)%256|0|0)==(k>>>8&255|0)?(q=F+2|0,r=E+1|0,(((a[b+q>>0]|0)+256|0)%256|0|0)==(k&255|0)):0){a[E>>0]=m+204;a[r>>0]=0;I=r;J=q;K=m}else{I=E;J=F;K=G}m=m+1|0;if((m|0)==50)break;else{o=I;n=J;l=K}}if((K|0)<0){L=I;M=J;N=K;O=(a[b+J>>0]|0)+256|0;y=26}else{C=I;D=J}}else{L=d;M=g;N=-1;O=h;y=26}}else{L=d;M=g;N=-1;O=h;y=26}while(0);do if((y|0)==26){y=0;if((((O|0)%256|0|0)==226?(((a[b+(M+1)>>0]|0)+256|0)%256|0|0)==151:0)?(h=M+2|0,(((a[b+h>>0]|0)+256|0)%256|0|0)==139):0){a[L>>0]=127;i=L+1|0;a[i>>0]=0;C=i;D=h;break}h=1;i=L;l=M;n=N;while(1){a:do if((h|0)<4){o=c[31328+(h<<2)>>2]|0;if((o>>>8&255|0)==(((a[b+l>>0]|0)+256|0)%256|0|0)?(m=l+1|0,(o&255|0)==(((a[b+m>>0]|0)+256|0)%256|0|0)):0){a[i>>0]=h;o=i+1|0;a[o>>0]=0;P=1e3;Q=o;R=m;S=h}else{P=h;Q=i;R=l;S=n}}else{switch(h|0){case 9:case 10:case 13:{P=h;Q=i;R=l;S=n;break a;break}default:{}}m=c[31328+(h<<2)>>2]|0;if(((m>>>16&255|0)==(((a[b+l>>0]|0)+256|0)%256|0|0)?(m>>>8&255|0)==(((a[b+(l+1)>>0]|0)+256|0)%256|0|0):0)?(o=l+2|0,(m&255|0)==(((a[b+o>>0]|0)+256|0)%256|0|0)):0){a[i>>0]=h;m=i+1|0;a[m>>0]=0;P=1e3;Q=m;R=o;S=h}else{P=h;Q=i;R=l;S=n}}while(0);if((P|0)<15){h=P+1|0;i=Q;l=R;n=S}else break}if((S|0)<0?(n=a[b+R>>0]|0,n<<24>>24!=13):0){a[Q>>0]=n;n=Q+1|0;a[n>>0]=0;C=n;D=R}else{C=Q;D=R}}while(0);g=D+1|0;if((g|0)>=(e|0))break;else d=C}return f|0}function Ir(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=ft(b)|0;if(!d)g=Fp((f*7|0)+1|0)|0;else g=d;a[g>>0]=0;if((f|0)<=0)return g|0;d=(e|0)==0;e=g;h=0;while(1){i=a[b+h>>0]|0;j=((i<<24>>24)+256|0)%256|0;a:do if((j+-1|0)>>>0>=3){b:do if((j|0)<16){switch(j|0){case 13:case 10:case 9:{break b;break}default:{}}k=c[31328+(j<<2)>>2]|0;a[e>>0]=k>>>16;a[e+1>>0]=k>>>8;a[e+2>>0]=k;l=e+3|0;break a}else{if((j|0)==127){a[e>>0]=-30;a[e+1>>0]=-105;a[e+2>>0]=-117;l=e+3|0;break a}k=j+-128|0;if(k>>>0>=26){m=j+-154|0;if(m>>>0<50){a[e>>0]=-29;n=c[31392+(m<<2)>>2]|0;a[e+1>>0]=n>>>8;a[e+2>>0]=n;l=e+3|0;break a}n=j+-204|0;if(n>>>0>=50)break;a[e>>0]=-29;m=c[31600+(n<<2)>>2]|0;a[e+1>>0]=m>>>8;a[e+2>>0]=m;l=e+3|0;break a}m=a[30832+(k*7|0)>>0]|0;if(!(m<<24>>24))o=e;else{a[e>>0]=m;o=e+1|0}m=a[30832+(k*7|0)+1>>0]|0;if(!(m<<24>>24))p=o;else{a[o>>0]=m;p=o+1|0}m=a[30832+(k*7|0)+2>>0]|0;if(!(m<<24>>24))q=p;else{a[p>>0]=m;q=p+1|0}m=a[30832+(k*7|0)+3>>0]|0;if(!(m<<24>>24))r=q;else{a[q>>0]=m;r=q+1|0}m=a[30832+(k*7|0)+4>>0]|0;if(!(m<<24>>24))s=r;else{a[r>>0]=m;s=r+1|0}m=a[30832+(k*7|0)+5>>0]|0;if(!(m<<24>>24))t=s;else{a[s>>0]=m;t=s+1|0}m=a[30832+(k*7|0)+6>>0]|0;if(!(m<<24>>24)){l=t;break a}a[t>>0]=m;l=t+1|0;break a}while(0);if((j&-16|0)==16){m=j+10|0;k=a[30832+(m*7|0)>>0]|0;if(!(k<<24>>24))u=e;else{a[e>>0]=k;u=e+1|0}k=a[30832+(m*7|0)+1>>0]|0;if(!(k<<24>>24))v=u;else{a[u>>0]=k;v=u+1|0}k=a[30832+(m*7|0)+2>>0]|0;if(!(k<<24>>24))w=v;else{a[v>>0]=k;w=v+1|0}k=a[30832+(m*7|0)+3>>0]|0;if(!(k<<24>>24))x=w;else{a[w>>0]=k;x=w+1|0}k=a[30832+(m*7|0)+4>>0]|0;if(!(k<<24>>24))y=x;else{a[x>>0]=k;y=x+1|0}k=a[30832+(m*7|0)+5>>0]|0;if(!(k<<24>>24))z=y;else{a[y>>0]=k;z=y+1|0}k=a[30832+(m*7|0)+6>>0]|0;if(!(k<<24>>24)){l=z;break}a[z>>0]=k;l=z+1|0;break}if((j|0)>253){k=j+-212|0;m=a[30832+(k*7|0)>>0]|0;if(!(m<<24>>24))A=e;else{a[e>>0]=m;A=e+1|0}m=a[30832+(k*7|0)+1>>0]|0;if(!(m<<24>>24))B=A;else{a[A>>0]=m;B=A+1|0}m=a[30832+(k*7|0)+2>>0]|0;if(!(m<<24>>24))C=B;else{a[B>>0]=m;C=B+1|0}m=a[30832+(k*7|0)+3>>0]|0;if(!(m<<24>>24))D=C;else{a[C>>0]=m;D=C+1|0}m=a[30832+(k*7|0)+4>>0]|0;if(!(m<<24>>24))E=D;else{a[D>>0]=m;E=D+1|0}m=a[30832+(k*7|0)+5>>0]|0;if(!(m<<24>>24))F=E;else{a[E>>0]=m;F=E+1|0}m=a[30832+(k*7|0)+6>>0]|0;if(!(m<<24>>24)){l=F;break}a[F>>0]=m;l=F+1|0;break}if(!(d&(j+-65|0)>>>0<26)){a[e>>0]=i;l=e+1|0;break}m=j+-21|0;k=a[30832+(m*7|0)>>0]|0;if(!(k<<24>>24))G=e;else{a[e>>0]=k;G=e+1|0}k=a[30832+(m*7|0)+1>>0]|0;if(!(k<<24>>24))H=G;else{a[G>>0]=k;H=G+1|0}k=a[30832+(m*7|0)+2>>0]|0;if(!(k<<24>>24))I=H;else{a[H>>0]=k;I=H+1|0}k=a[30832+(m*7|0)+3>>0]|0;if(!(k<<24>>24))J=I;else{a[I>>0]=k;J=I+1|0}k=a[30832+(m*7|0)+4>>0]|0;if(!(k<<24>>24))K=J;else{a[J>>0]=k;K=J+1|0}k=a[30832+(m*7|0)+5>>0]|0;if(!(k<<24>>24))L=K;else{a[K>>0]=k;L=K+1|0}k=a[30832+(m*7|0)+6>>0]|0;if(!(k<<24>>24))l=L;else{a[L>>0]=k;l=L+1|0}}else{k=c[31328+(j<<2)>>2]|0;a[e>>0]=k>>>8;a[e+1>>0]=k;l=e+2|0}while(0);a[l>>0]=0;h=h+1|0;if((h|0)==(f|0))break;else e=l}return g|0}function Jr(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;if((c|0)==0|d<<24>>24==0){e=0;return e|0}f=c;c=b;b=0;g=d;while(1){f=f+-1|0;d=b+(g<<24>>24==10&1)|0;c=c+1|0;g=a[c>>0]|0;if((f|0)==0|g<<24>>24==0){e=d;break}else b=d}return e|0}function Kr(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=a[b>>0]|0;if((c|0)==0|d<<24>>24==0){e=b;f=e;g=b;h=f-g|0;return h|0}i=0;j=b;k=d;while(1){i=i+(k<<24>>24==10&1)|0;d=j+1|0;k=a[d>>0]|0;if((i|0)==(c|0)|k<<24>>24==0){e=d;break}else j=d}f=e;g=b;h=f-g|0;return h|0}function Lr(a,b){a=a|0;b=b|0;return Ir(a,b,1)|0}function Mr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[b+292>>2]|0;if(!e)return;f=c[b+336>>2]|0;a:do if(!f){g=0;h=0;i=b+308|0;j=b+312|0}else{k=c[b>>2]|0;l=b+316|0;m=b+308|0;n=b+312|0;o=k;p=0;q=0;r=k;while(1){k=a[r>>0]|0;if(!(k<<24>>24)){g=0;h=0;i=m;j=n;break a}s=c[l>>2]|0;t=(s|0)>4?s:4;if(k<<24>>24!=9)if(k<<24>>24==10){u=0;v=(c[n>>2]|0)+q|0}else{u=(c[m>>2]<<((k&255)>>>7))+p|0;v=q}else{u=t+p-((p|0)%(t|0)|0)|0;v=q}r=r+1|0;if((r-o|0)==(f|0)){g=v;h=u;i=m;j=n;break}else{p=u;q=v}}}while(0);v=(c[j>>2]|0)-(c[e+16>>2]|0)+g|0;j=b+324|0;u=c[j>>2]|0;f=(u|0)<(g|0)?u:g;u=(d|0)==0?((v|0)>(f|0)?v:f):g-d|0;c[j>>2]=(u|0)>0?u:0;u=(c[i>>2]|0)-(c[e+12>>2]|0)+h|0;e=b+320|0;b=c[e>>2]|0;i=(b|0)<(h|0)?b:h;h=(u|0)>(i|0)?u:i;c[e>>2]=(h|0)>0?h:0;return}function Nr(){var a=0;a=Dp(20)|0;c[a>>2]=Ip(0)|0;c[a+4>>2]=Ip(0)|0;c[a+8>>2]=Ip(0)|0;c[a+12>>2]=Ip(0)|0;return a|0}function Or(a){a=a|0;if(!a)return;Kp(c[a>>2]|0);Kp(c[a+4>>2]|0);Kp(c[a+8>>2]|0);Kp(c[a+12>>2]|0);return}function Pr(a){a=a|0;if(!a)return;Lp(c[a>>2]|0);Lp(c[a+4>>2]|0);Lp(c[a+8>>2]|0);Lp(c[a+12>>2]|0);return}function Qr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+8|0;f=c[e>>2]|0;g=c[f+16>>2]|0;if(!g){Kp(f);c[e>>2]=a;h=0;return h|0}if((c[a+16>>2]|0)==(g|0)?(ss(c[a+12>>2]|0,c[f+12>>2]|0,((d|0)<1?g:0)+d|0)|0)==0:0){Kp(a);h=0;return h|0}d=Rr(a,f,c[b+16>>2]|0)|0;f=c[b+4>>2]|0;g=d+16|0;Qn(c[d+12>>2]|0,1,c[g>>2]|0,f)|0;Pn(c[g>>2]|0,f);Kp(d);Lp(c[b>>2]|0);Kp(c[e>>2]|0);c[e>>2]=a;h=1;return h|0}function Rr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=Ip(0)|0;h=(c[b+16>>2]|0)-f|0;i=e+16|0;j=(c[i>>2]|0)-f|0;k=(h|0)<(j|0)?h:j;if((k|0)<0)return g|0;a:do if(k){l=c[b+12>>2]|0;m=c[e+12>>2]|0;n=0;while(1){if((a[l+n>>0]|0)!=(a[m+n>>0]|0)){o=n;break}p=n+1|0;if((p|0)<(k|0))n=p;else{o=p;break}}if((k|0)>0){n=c[b+12>>2]|0;m=h+-1|0;l=c[e+12>>2]|0;p=j+-1|0;q=0;r=0;while(1){if((a[n+(m+q)>>0]|0)!=(a[l+(p+q)>>0]|0)){s=r;t=q;u=o;break a}v=r+1|0;w=~r;if((v|0)<(k-v|0)){q=w;r=v}else{s=v;t=w;u=o;break}}}else{s=0;t=0;u=o}}else{s=0;t=0;u=0}while(0);Rn(j,g);Rn(u,g);Rn(s,g);s=j-u+t|0;t=(s+7|0)/8|0;j=(s|0)>0;if(j){o=b+12|0;b=e+12|0;k=0;do{r=k<<3;do if((r|0)<(s|0)){q=r+u|0;if((q|0)<(h|0)?(a[(c[o>>2]|0)+q>>0]|0)==(a[(c[b>>2]|0)+q>>0]|0):0){x=0;break}x=1}else x=0;while(0);q=r|1;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){y=x;break}y=x|2}else y=x;while(0);q=r|2;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){z=y;break}z=y|4}else z=y;while(0);q=r|3;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){A=z;break}A=z|8}else A=z;while(0);q=r|4;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){B=A;break}B=A|16}else B=A;while(0);q=r|5;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){C=B;break}C=B|32}else C=B;while(0);q=r|6;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){D=C;break}D=C|64}else D=C;while(0);q=r|7;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){E=D;break}E=D|-128}else E=D;while(0);Sn(E,g);k=k+1|0}while((k|0)<(t|0));if(j){j=g+12|0;t=e+12|0;k=0;do{E=k+u|0;if(!((E|0)<(h|0)?!(1<<(k&7)&d[(c[j>>2]|0)+((k>>>3)+12)>>0]|0):0))Sn(a[(c[t>>2]|0)+E>>0]|0,g);k=k+1|0}while((k|0)!=(s|0));F=t}else G=18}else G=18;if((G|0)==18)F=e+12|0;e=g+20|0;c[e>>2]=c[g+16>>2];Qn((c[F>>2]|0)+((c[i>>2]|0)-f)|0,1,f,g)|0;Pn(f,g);c[e>>2]=0;return g|0}function Sr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0,D=0,E=0,F=0;e=d+64|0;f=c[e>>2]|0;g=d+68|0;h=c[g>>2]|0;i=c[b+525580>>2]|0;a:do if(!i)j=f;else{k=c[d+28>>2]|0;if((k|0)<=-1?(c[d+32>>2]|0)==0:0){j=f;break}switch(k|0){case 0:{switch((i|0)%3|0|0){case 1:{j=(c[d+32>>2]>>4)+f|0;break a;break}case 2:{j=(c[d+32>>2]&15)+f|0;break a;break}default:{j=f;break a}}break}case 1:{c[g>>2]=(c[d+32>>2]<<4)+h;j=f;break a;break}case 2:{c[g>>2]=h-(c[d+32>>2]<<4);j=f;break a;break}case 3:{k=c[d+76>>2]|0;if((f|0)<(k|0)){l=(c[d+32>>2]<<4)+h|0;c[g>>2]=l;if((l|0)<0){m=255-l+((l|0)>-256?l:-256)|0;n=f+-1-(m>>>8)|0;o=l+256+(m&-256)|0;c[e>>2]=n;c[g>>2]=o;p=o;q=n}else{p=l;q=f}if((p|0)>255){l=~p;n=p+256+((l|0)>-512?l:-512)|0;l=(n>>>8)+1+q|0;c[e>>2]=l;c[g>>2]=p+-256-(n&-256);r=l}else r=q;if((r|0)<(k|0)){j=f;break a}c[e>>2]=k;c[g>>2]=0;j=f;break a}if((f|0)<=(k|0)?(h|0)==0|(f|0)!=(k|0):0){j=f;break a}l=h-(c[d+32>>2]<<4)|0;c[g>>2]=l;if((l|0)<0){n=255-l+((l|0)>-256?l:-256)|0;o=f+-1-(n>>>8)|0;m=l+256+(n&-256)|0;c[e>>2]=o;c[g>>2]=m;s=m;t=o}else{s=l;t=f}if((s|0)>255){l=~s;o=s+256+((l|0)>-512?l:-512)|0;l=(o>>>8)+1+t|0;c[e>>2]=l;c[g>>2]=s+-256-(o&-256);u=l}else u=t;if((u|0)>(k|0)){j=f;break a}c[e>>2]=k;c[g>>2]=0;j=f;break a;break}case 4:{k=c[d+32>>2]>>4;if(!k){j=f;break a}l=B(c[b+525588>>2]|0,k)|0;k=c[(c[b>>2]|0)+48>>2]|0;c[d+60>>2]=65536/((B(l,k)|0)/(k+-1|0)|0|0)|0;j=f;break a;break}case 10:{k=d+8|0;l=(c[k>>2]|0)-(c[d+32>>2]|0)|0;o=(l|0)<63?l:63;c[k>>2]=(o|0)>0?o:0;j=f;break a;break}default:{j=f;break a}}}while(0);f=c[d+4>>2]|0;if(!f)return;g=c[b>>2]|0;if((f|0)>(c[g+64>>2]|0))return;b=c[g+68>>2]|0;if((c[d+28>>2]|0)==4){g=c[d+32>>2]|0;e=d+56|0;u=(g>>4<<5)+(c[e>>2]|0)|0;c[e>>2]=u&2047;e=u+512&2047;v=(B(512-(e>>>0<1024?e:2048-e|0)|0,g&15)|0)/16|0}else v=0;g=(c[b+(f*332|0)+100>>2]|0)+j|0;j=h-((c[b+(f*332|0)+88>>2]|0)/2|0)+v|0;if((j|0)<0){v=255-j+((j|0)>-256?j:-256)|0;w=g+-1-(v>>>8)|0;x=j+256+(v&-256)|0}else{w=g;x=j}if((x|0)>255){j=~x;g=x+256+((j|0)>-512?j:-512)|0;y=w+1+(g>>>8)|0;z=x+-256-(g&-256)|0}else{y=w;z=x}if((y|0)<0)A=1;else{x=(y>>>0)/12|0;C=+(c[31808+((y-(x*12|0)<<3)+((z|0)/32|0)<<2)>>2]<<4|0)*64.0/+(1<<x|0);A=C!=0.0?~~(916317184.0/C/44742.0*65536.0*256.0+.5):3749769}c[d+52>>2]=A;A=c[b+(f*332|0)+128>>2]|0;if(A|0?a[b+(f*332|0)+116>>0]&1:0){x=d+20|0;z=c[x>>2]|0;y=A+-1|0;if((z|0)<(y|0)?(w=z+1|0,(c[d+24>>2]|0)>=(c[b+(f*332|0)+132+(w<<2)>>2]|0)):0){c[x>>2]=w;D=w}else D=z;z=(D|0)<(y|0)?D:y;y=(z|0)>0?z:0;c[x>>2]=y;x=y+1|0;if((x|0)<(A|0)){A=c[b+(f*332|0)+132+(y<<2)>>2]|0;z=(c[b+(f*332|0)+132+(x<<2)>>2]|0)-A|0;D=d+24|0;w=c[D>>2]|0;g=w-A|0;A=B(z-g|0,c[b+(f*332|0)+180+(y<<2)>>2]|0)|0;j=d+16|0;c[j>>2]=A;c[j>>2]=((B(c[b+(f*332|0)+180+(x<<2)>>2]|0,g)|0)+A|0)/(z|0)|0;E=D;F=w}else{c[d+16>>2]=c[b+(f*332|0)+180+(y<<2)>>2];y=d+24|0;E=y;F=c[y>>2]|0}c[E>>2]=F+1;return}c[d+16>>2]=64;return}function Tr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;f=e+28|0;g=c[f>>2]|0;h=e+36|0;c[h>>2]=g;i=e+32|0;j=c[i>>2]|0;k=e+40|0;c[k>>2]=j;l=c[b>>2]|0;m=c[l+60>>2]|0;n=d[(c[b+525572>>2]|0)+(l+72)>>0]|0;o=c[e>>2]|0;p=c[b+525576>>2]|0;q=m+(n*2596|0)+36+(o*320|0)+(p*5|0)|0;r=a[m+(n*2596|0)+36+(o*320|0)+(p*5|0)+1>>0]|0;s=e+4|0;do if(!(r<<24>>24)){t=c[s>>2]|0;if(!t){u=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+3|0;if((a[u>>0]|0)==11){v=u;w=11;x=c[l+68>>2]|0;y=0;z=1;A=7;break}else return}else{B=t;A=6}}else{t=r&255;c[s>>2]=t;B=t;A=6}while(0);if((A|0)==6){s=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+3|0;r=a[s>>0]|0;t=c[l+68>>2]|0;if(!(r<<24>>24)){C=s;D=t;E=B;F=0;G=g}else{v=s;w=r;x=t;y=B;z=0;A=7}}if((A|0)==7){A=w&255;c[f>>2]=A;C=v;D=x;E=y;F=z;G=A}A=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+4|0;z=a[A>>0]|0;if(z<<24>>24)c[i>>2]=z&255;if((a[C>>0]|0)==0?(a[A>>0]|0)==0:0){c[i>>2]=0;c[f>>2]=0;H=0}else H=G;G=a[q>>0]|0;do if(G<<24>>24){q=G&255;if((G&255)>96){c[e+8>>2]=0;break}if((H|0)==3){c[e+76>>2]=q;c[e+20>>2]=0;c[e+24>>2]=0;break}c[e+64>>2]=q;if(!F){c[e+68>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+8>>2]=c[D+(E*332|0)+84>>2];c[e+20>>2]=0;c[e+24>>2]=0;c[e+56>>2]=0}}while(0);E=a[m+(n*2596|0)+36+(o*320|0)+(p*5|0)+2>>0]|0;if(E<<24>>24)c[e+8>>2]=(E&255)+-16;if((g|0)!=11)return;c[b+525592>>2]=j;c[f>>2]=0;c[k>>2]=0;c[h>>2]=0;return}function Ur(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=d+8|0;h=B(c[d+16>>2]|0,c[g>>2]|0)|0;i=(e|0)==0?d+80|0:e;if((h|0?(e=c[d+4>>2]|0,e|0):0)?(j=c[a>>2]|0,(e|0)<=(c[j+64>>2]|0)):0){k=c[j+68>>2]|0;j=c[k+(e*332|0)+72>>2]|0;l=c[k+(e*332|0)+328>>2]|0;if(l|0){Ra[l&0](a,d,i,f,h);return}if((f|0)<=0)return;a=k+(e*332|0)+104|0;l=d+52|0;m=d+48|0;n=d+44|0;d=k+(e*332|0)+80|0;o=k+(e*332|0)+68|0;p=k+(e*332|0)+92|0;q=k+(e*332|0)+76|0;e=h;h=0;k=i;while(1){if((c[a>>2]|0)==8){r=Bo(32e3)|0;s=r;t=c[m>>2]|0;u=c[n>>2]|0}else{r=c[n>>2]|0;v=c[m>>2]|0;w=v>>16;x=B(256-w|0,b[j+(r<<1)>>1]|0)|0;s=x+(B(w,b[j+(r+1<<1)>>1]|0)|0)>>8;t=v;u=r}b[k>>1]=(B(s,e)|0)>>>12;k=k+2|0;r=t+(c[l>>2]|0)|0;v=u+(r>>24)|0;c[n>>2]=v;c[m>>2]=r&16777215;r=c[d>>2]|0;if(((r|0)!=0?(c[p>>2]&3|0)!=0:0)?(v|0)>=((c[q>>2]|0)+r|0):0){w=v-r|0;c[n>>2]=w;y=w}else y=v;if((y|0)<(c[o>>2]|0))z=e;else{c[g>>2]=0;z=0}h=h+1|0;if((h|0)==(f|0))break;else e=z}return}Ep(i,0,f<<1);return}function Vr(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=c[a>>2]|0;_q()|0;if((f|0)<=0)return;h=a+525596|0;i=a+525588|0;j=a+525572|0;k=g+32|0;l=g+40|0;g=a+525592|0;m=a+525580|0;n=a+525576|0;o=a+525600|0;p=a+525584|0;q=e;e=f;f=c[h>>2]|0;a:while(1){r=c[i>>2]|0;if((r|0)>(f|0)){s=r-f|0;r=(s|0)<(e|0)?s:e;do if((r|0)!=0?(s=r+f|0,(r|0)>0):0){t=c[(c[a>>2]|0)+40>>2]|0;if((t|0)<=0){u=f+1|0;Yu(q|0,0,((s|0)>(u|0)?s:u)-f<<1|0)|0;v=c[h>>2]|0;break}u=f;w=q;while(1){x=0;y=0;do{y=y+(b[a+4+(x*32848|0)+80+(u<<1)>>1]|0)|0;x=x+1|0}while((x|0)!=(t|0));x=(y|0)/3|0;z=(x|0)<32767?x:32767;b[w>>1]=(z|0)>-32767?z:-32767;u=u+1|0;if((u|0)>=(s|0)){v=f;break}else w=w+2|0}}else v=f;while(0);c[h>>2]=v+r;w=e-r|0;if((w|0)>0){A=q+(r<<1)|0;C=w}else{D=44;break}}else{A=q;C=e}w=c[l>>2]|0;b:do if((c[j>>2]|0)<(c[k>>2]|0))E=w;else{c:do if((w|0)>0){s=0;while(1){F=a+4+(s*32848|0)+28|0;if((c[F>>2]|0)==11)break;u=s+1|0;if((u|0)<(w|0))s=u;else break c}y=c[a+4+(s*32848|0)+32>>2]|0;c[j>>2]=y;c[j>>2]=((y|0)<0?1:(y|0)>=(c[k>>2]|0))?0:y;c[F>>2]=0;c[a+4+(s*32848|0)+40>>2]=0;c[a+4+(s*32848|0)+36>>2]=0;c[m>>2]=0;c[n>>2]=0;E=c[l>>2]|0;break b}while(0);if(!(c[o>>2]|0)){D=21;break a}c[j>>2]=0;E=w}while(0);if((E|0)>0){w=0;do{r=a+262788+(w*32848|0)|0;y=a+4+(w*32848|0)|0;u=r+80|0;do{c[r>>2]=c[y>>2];r=r+4|0;y=y+4|0}while((r|0)<(u|0));w=w+1|0;y=c[l>>2]|0}while((w|0)<(y|0));G=y}else G=E;c[g>>2]=-1;if(!(c[m>>2]|0)){if((G|0)>0){w=0;do{Tr(a,a+4+(w*32848|0)|0);w=w+1|0;H=c[l>>2]|0}while((w|0)<(H|0));w=c[g>>2]|0;if((w|0)!=-1){c[j>>2]=w;c[m>>2]=0;c[n>>2]=0;if((H|0)>0){w=0;do{Tr(a,a+4+(w*32848|0)|0);w=w+1|0;y=c[l>>2]|0}while((w|0)<(y|0));I=y;D=33}}else{I=H;D=33}}}else{I=G;D=33}if((D|0)==33?(D=0,(I|0)>0):0){w=0;do{y=a+4+(w*32848|0)|0;Sr(a,y);Ur(a,y,0,c[i>>2]|0);Ur(a,a+262788+(w*32848|0)|0,0,128);y=0;do{r=B(128-y|0,b[a+262788+(w*32848|0)+80+(y<<1)>>1]|0)|0;u=a+4+(w*32848|0)+80+(y<<1)|0;b[u>>1]=((B(y,b[u>>1]|0)|0)+r|0)>>>7;y=y+1|0}while((y|0)!=128);w=w+1|0}while((w|0)<(c[l>>2]|0))}c[h>>2]=0;w=(c[m>>2]|0)+1|0;c[m>>2]=w;if((w|0)<(c[p>>2]|0))J=c[n>>2]|0;else{c[m>>2]=0;w=(c[n>>2]|0)+1|0;c[n>>2]=w;J=w}w=c[a>>2]|0;y=c[j>>2]|0;if((J|0)>=(c[(c[w+60>>2]|0)+((d[w+72+y>>0]|0)*2596|0)+32>>2]|0)){c[n>>2]=0;c[j>>2]=y+1}if((C|0)>0){q=A;e=C;f=0}else{D=44;break}}if((D|0)==21){c[a+525604>>2]=0;return}else if((D|0)==44)return}function Wr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0;b=Fa;Fa=Fa+16|0;d=b;do if(a>>>0<245){e=a>>>0<11?16:a+11&-8;f=e>>>3;g=c[760464]|0;h=g>>>f;if(h&3|0){i=(h&1^1)+f|0;j=3041896+(i<<1<<2)|0;k=j+8|0;l=c[k>>2]|0;m=l+8|0;n=c[m>>2]|0;if((n|0)==(j|0))c[760464]=g&~(1<<i);else{c[n+12>>2]=j;c[k>>2]=n}n=i<<3;c[l+4>>2]=n|3;i=l+n+4|0;c[i>>2]=c[i>>2]|1;o=m;Fa=b;return o|0}m=c[760466]|0;if(e>>>0>m>>>0){if(h|0){i=2<<f;n=h<<f&(i|0-i);i=(n&0-n)+-1|0;n=i>>>12&16;f=i>>>n;i=f>>>5&8;h=f>>>i;f=h>>>2&4;l=h>>>f;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|f|h|l)+(k>>>l)|0;l=3041896+(j<<1<<2)|0;k=l+8|0;h=c[k>>2]|0;f=h+8|0;n=c[f>>2]|0;if((n|0)==(l|0)){i=g&~(1<<j);c[760464]=i;p=i}else{c[n+12>>2]=l;c[k>>2]=n;p=g}n=j<<3;j=n-e|0;c[h+4>>2]=e|3;k=h+e|0;c[k+4>>2]=j|1;c[h+n>>2]=j;if(m|0){n=c[760469]|0;h=m>>>3;l=3041896+(h<<1<<2)|0;i=1<<h;if(!(p&i)){c[760464]=p|i;q=l;r=l+8|0}else{i=l+8|0;q=c[i>>2]|0;r=i}c[r>>2]=n;c[q+12>>2]=n;c[n+8>>2]=q;c[n+12>>2]=l}c[760466]=j;c[760469]=k;o=f;Fa=b;return o|0}f=c[760465]|0;if(f){k=(f&0-f)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=c[3042160+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=s;h=s;n=(c[s+4>>2]&-8)-e|0;while(1){s=c[i+16>>2]|0;if(!s){l=c[i+20>>2]|0;if(!l)break;else t=l}else t=s;s=(c[t+4>>2]&-8)-e|0;l=s>>>0<n>>>0;i=t;h=l?t:h;n=l?s:n}i=h+e|0;if(i>>>0>h>>>0){s=c[h+24>>2]|0;l=c[h+12>>2]|0;do if((l|0)==(h|0)){j=h+20|0;k=c[j>>2]|0;if(!k){u=h+16|0;v=c[u>>2]|0;if(!v){w=0;break}else{x=v;y=u}}else{x=k;y=j}j=x;k=y;while(1){u=j+20|0;v=c[u>>2]|0;if(!v){z=j+16|0;A=c[z>>2]|0;if(!A)break;else{B=A;C=z}}else{B=v;C=u}j=B;k=C}c[k>>2]=0;w=j}else{u=c[h+8>>2]|0;c[u+12>>2]=l;c[l+8>>2]=u;w=l}while(0);do if(s|0){l=c[h+28>>2]|0;u=3042160+(l<<2)|0;if((h|0)==(c[u>>2]|0)){c[u>>2]=w;if(!w){c[760465]=f&~(1<<l);break}}else{l=s+16|0;c[((c[l>>2]|0)==(h|0)?l:s+20|0)>>2]=w;if(!w)break}c[w+24>>2]=s;l=c[h+16>>2]|0;if(l|0){c[w+16>>2]=l;c[l+24>>2]=w}l=c[h+20>>2]|0;if(l|0){c[w+20>>2]=l;c[l+24>>2]=w}}while(0);if(n>>>0<16){s=n+e|0;c[h+4>>2]=s|3;f=h+s+4|0;c[f>>2]=c[f>>2]|1}else{c[h+4>>2]=e|3;c[i+4>>2]=n|1;c[i+n>>2]=n;if(m|0){f=c[760469]|0;s=m>>>3;l=3041896+(s<<1<<2)|0;u=1<<s;if(!(u&g)){c[760464]=u|g;D=l;E=l+8|0}else{u=l+8|0;D=c[u>>2]|0;E=u}c[E>>2]=f;c[D+12>>2]=f;c[f+8>>2]=D;c[f+12>>2]=l}c[760466]=n;c[760469]=i}o=h+8|0;Fa=b;return o|0}else F=e}else F=e}else F=e}else if(a>>>0<=4294967231){l=a+11|0;f=l&-8;u=c[760465]|0;if(u){s=0-f|0;v=l>>>8;if(v)if(f>>>0>16777215)G=31;else{l=(v+1048320|0)>>>16&8;z=v<<l;v=(z+520192|0)>>>16&4;A=z<<v;z=(A+245760|0)>>>16&2;H=14-(v|l|z)+(A<<z>>>15)|0;G=f>>>(H+7|0)&1|H<<1}else G=0;H=c[3042160+(G<<2)>>2]|0;a:do if(!H){I=0;J=0;K=s;L=61}else{z=0;A=s;l=H;v=f<<((G|0)==31?0:25-(G>>>1)|0);M=0;while(1){N=(c[l+4>>2]&-8)-f|0;if(N>>>0<A>>>0)if(!N){O=l;P=0;Q=l;L=65;break a}else{R=l;S=N}else{R=z;S=A}N=c[l+20>>2]|0;l=c[l+16+(v>>>31<<2)>>2]|0;T=(N|0)==0|(N|0)==(l|0)?M:N;if(!l){I=T;J=R;K=S;L=61;break}else{z=R;A=S;v=v<<1;M=T}}}while(0);if((L|0)==61){if((I|0)==0&(J|0)==0){H=2<<G;s=(H|0-H)&u;if(!s){F=f;break}H=(s&0-s)+-1|0;s=H>>>12&16;e=H>>>s;H=e>>>5&8;h=e>>>H;e=h>>>2&4;i=h>>>e;h=i>>>1&2;n=i>>>h;i=n>>>1&1;U=0;V=c[3042160+((H|s|e|h|i)+(n>>>i)<<2)>>2]|0}else{U=J;V=I}if(!V){W=U;X=K}else{O=U;P=K;Q=V;L=65}}if((L|0)==65){i=O;n=P;h=Q;while(1){e=(c[h+4>>2]&-8)-f|0;s=e>>>0<n>>>0;H=s?e:n;e=s?h:i;s=c[h+16>>2]|0;if(!s)Y=c[h+20>>2]|0;else Y=s;if(!Y){W=e;X=H;break}else{i=e;n=H;h=Y}}}if(((W|0)!=0?X>>>0<((c[760466]|0)-f|0)>>>0:0)?(h=W+f|0,h>>>0>W>>>0):0){n=c[W+24>>2]|0;i=c[W+12>>2]|0;do if((i|0)==(W|0)){H=W+20|0;e=c[H>>2]|0;if(!e){s=W+16|0;g=c[s>>2]|0;if(!g){Z=0;break}else{_=g;$=s}}else{_=e;$=H}H=_;e=$;while(1){s=H+20|0;g=c[s>>2]|0;if(!g){m=H+16|0;M=c[m>>2]|0;if(!M)break;else{aa=M;ba=m}}else{aa=g;ba=s}H=aa;e=ba}c[e>>2]=0;Z=H}else{s=c[W+8>>2]|0;c[s+12>>2]=i;c[i+8>>2]=s;Z=i}while(0);do if(n){i=c[W+28>>2]|0;s=3042160+(i<<2)|0;if((W|0)==(c[s>>2]|0)){c[s>>2]=Z;if(!Z){s=u&~(1<<i);c[760465]=s;ca=s;break}}else{s=n+16|0;c[((c[s>>2]|0)==(W|0)?s:n+20|0)>>2]=Z;if(!Z){ca=u;break}}c[Z+24>>2]=n;s=c[W+16>>2]|0;if(s|0){c[Z+16>>2]=s;c[s+24>>2]=Z}s=c[W+20>>2]|0;if(s){c[Z+20>>2]=s;c[s+24>>2]=Z;ca=u}else ca=u}else ca=u;while(0);b:do if(X>>>0<16){u=X+f|0;c[W+4>>2]=u|3;n=W+u+4|0;c[n>>2]=c[n>>2]|1}else{c[W+4>>2]=f|3;c[h+4>>2]=X|1;c[h+X>>2]=X;n=X>>>3;if(X>>>0<256){u=3041896+(n<<1<<2)|0;s=c[760464]|0;i=1<<n;if(!(s&i)){c[760464]=s|i;da=u;ea=u+8|0}else{i=u+8|0;da=c[i>>2]|0;ea=i}c[ea>>2]=h;c[da+12>>2]=h;c[h+8>>2]=da;c[h+12>>2]=u;break}u=X>>>8;if(u)if(X>>>0>16777215)fa=31;else{i=(u+1048320|0)>>>16&8;s=u<<i;u=(s+520192|0)>>>16&4;n=s<<u;s=(n+245760|0)>>>16&2;g=14-(u|i|s)+(n<<s>>>15)|0;fa=X>>>(g+7|0)&1|g<<1}else fa=0;g=3042160+(fa<<2)|0;c[h+28>>2]=fa;s=h+16|0;c[s+4>>2]=0;c[s>>2]=0;s=1<<fa;if(!(ca&s)){c[760465]=ca|s;c[g>>2]=h;c[h+24>>2]=g;c[h+12>>2]=h;c[h+8>>2]=h;break}s=c[g>>2]|0;c:do if((c[s+4>>2]&-8|0)==(X|0))ga=s;else{g=X<<((fa|0)==31?0:25-(fa>>>1)|0);n=s;while(1){ha=n+16+(g>>>31<<2)|0;i=c[ha>>2]|0;if(!i)break;if((c[i+4>>2]&-8|0)==(X|0)){ga=i;break c}else{g=g<<1;n=i}}c[ha>>2]=h;c[h+24>>2]=n;c[h+12>>2]=h;c[h+8>>2]=h;break b}while(0);s=ga+8|0;H=c[s>>2]|0;c[H+12>>2]=h;c[s>>2]=h;c[h+8>>2]=H;c[h+12>>2]=ga;c[h+24>>2]=0}while(0);o=W+8|0;Fa=b;return o|0}else F=f}else F=f}else F=-1;while(0);W=c[760466]|0;if(W>>>0>=F>>>0){ga=W-F|0;ha=c[760469]|0;if(ga>>>0>15){X=ha+F|0;c[760469]=X;c[760466]=ga;c[X+4>>2]=ga|1;c[ha+W>>2]=ga;c[ha+4>>2]=F|3}else{c[760466]=0;c[760469]=0;c[ha+4>>2]=W|3;ga=ha+W+4|0;c[ga>>2]=c[ga>>2]|1}o=ha+8|0;Fa=b;return o|0}ha=c[760467]|0;if(ha>>>0>F>>>0){ga=ha-F|0;c[760467]=ga;W=c[760470]|0;X=W+F|0;c[760470]=X;c[X+4>>2]=ga|1;c[W+4>>2]=F|3;o=W+8|0;Fa=b;return o|0}if(!(c[760582]|0)){c[760584]=4096;c[760583]=4096;c[760585]=-1;c[760586]=-1;c[760587]=0;c[760575]=0;c[760582]=d&-16^1431655768;ia=4096}else ia=c[760584]|0;d=F+48|0;W=F+47|0;ga=ia+W|0;X=0-ia|0;ia=ga&X;if(ia>>>0<=F>>>0){o=0;Fa=b;return o|0}fa=c[760574]|0;if(fa|0?(ca=c[760572]|0,da=ca+ia|0,da>>>0<=ca>>>0|da>>>0>fa>>>0):0){o=0;Fa=b;return o|0}d:do if(!(c[760575]&4)){fa=c[760470]|0;e:do if(fa){da=3042304;while(1){ca=c[da>>2]|0;if(ca>>>0<=fa>>>0?(ca+(c[da+4>>2]|0)|0)>>>0>fa>>>0:0)break;ca=c[da+8>>2]|0;if(!ca){L=128;break e}else da=ca}ca=ga-ha&X;if(ca>>>0<2147483647){ea=Zu(ca|0)|0;if((ea|0)==((c[da>>2]|0)+(c[da+4>>2]|0)|0))if((ea|0)==(-1|0))ja=ca;else{ka=ca;la=ea;L=145;break d}else{ma=ea;na=ca;L=136}}else ja=0}else L=128;while(0);do if((L|0)==128){fa=Zu(0)|0;if((fa|0)!=(-1|0)?(f=fa,ca=c[760583]|0,ea=ca+-1|0,Z=((ea&f|0)==0?0:(ea+f&0-ca)-f|0)+ia|0,f=c[760572]|0,ca=Z+f|0,Z>>>0>F>>>0&Z>>>0<2147483647):0){ea=c[760574]|0;if(ea|0?ca>>>0<=f>>>0|ca>>>0>ea>>>0:0){ja=0;break}ea=Zu(Z|0)|0;if((ea|0)==(fa|0)){ka=Z;la=fa;L=145;break d}else{ma=ea;na=Z;L=136}}else ja=0}while(0);do if((L|0)==136){Z=0-na|0;if(!(d>>>0>na>>>0&(na>>>0<2147483647&(ma|0)!=(-1|0))))if((ma|0)==(-1|0)){ja=0;break}else{ka=na;la=ma;L=145;break d}ea=c[760584]|0;fa=W-na+ea&0-ea;if(fa>>>0>=2147483647){ka=na;la=ma;L=145;break d}if((Zu(fa|0)|0)==(-1|0)){Zu(Z|0)|0;ja=0;break}else{ka=fa+na|0;la=ma;L=145;break d}}while(0);c[760575]=c[760575]|4;oa=ja;L=143}else{oa=0;L=143}while(0);if(((L|0)==143?ia>>>0<2147483647:0)?(ja=Zu(ia|0)|0,ia=Zu(0)|0,ma=ia-ja|0,na=ma>>>0>(F+40|0)>>>0,!((ja|0)==(-1|0)|na^1|ja>>>0<ia>>>0&((ja|0)!=(-1|0)&(ia|0)!=(-1|0))^1)):0){ka=na?ma:oa;la=ja;L=145}if((L|0)==145){ja=(c[760572]|0)+ka|0;c[760572]=ja;if(ja>>>0>(c[760573]|0)>>>0)c[760573]=ja;ja=c[760470]|0;f:do if(ja){oa=3042304;while(1){pa=c[oa>>2]|0;qa=c[oa+4>>2]|0;if((la|0)==(pa+qa|0)){L=154;break}ma=c[oa+8>>2]|0;if(!ma)break;else oa=ma}if(((L|0)==154?(ma=oa+4|0,(c[oa+12>>2]&8|0)==0):0)?la>>>0>ja>>>0&pa>>>0<=ja>>>0:0){c[ma>>2]=qa+ka;ma=(c[760467]|0)+ka|0;na=ja+8|0;ia=(na&7|0)==0?0:0-na&7;na=ja+ia|0;W=ma-ia|0;c[760470]=na;c[760467]=W;c[na+4>>2]=W|1;c[ja+ma+4>>2]=40;c[760471]=c[760586];break}if(la>>>0<(c[760468]|0)>>>0)c[760468]=la;ma=la+ka|0;W=3042304;while(1){if((c[W>>2]|0)==(ma|0)){L=162;break}na=c[W+8>>2]|0;if(!na)break;else W=na}if((L|0)==162?(c[W+12>>2]&8|0)==0:0){c[W>>2]=la;oa=W+4|0;c[oa>>2]=(c[oa>>2]|0)+ka;oa=la+8|0;na=la+((oa&7|0)==0?0:0-oa&7)|0;oa=ma+8|0;ia=ma+((oa&7|0)==0?0:0-oa&7)|0;oa=na+F|0;d=ia-na-F|0;c[na+4>>2]=F|3;g:do if((ja|0)==(ia|0)){X=(c[760467]|0)+d|0;c[760467]=X;c[760470]=oa;c[oa+4>>2]=X|1}else{if((c[760469]|0)==(ia|0)){X=(c[760466]|0)+d|0;c[760466]=X;c[760469]=oa;c[oa+4>>2]=X|1;c[oa+X>>2]=X;break}X=c[ia+4>>2]|0;if((X&3|0)==1){ha=X&-8;ga=X>>>3;h:do if(X>>>0<256){fa=c[ia+8>>2]|0;Z=c[ia+12>>2]|0;if((Z|0)==(fa|0)){c[760464]=c[760464]&~(1<<ga);break}else{c[fa+12>>2]=Z;c[Z+8>>2]=fa;break}}else{fa=c[ia+24>>2]|0;Z=c[ia+12>>2]|0;do if((Z|0)==(ia|0)){ea=ia+16|0;ca=ea+4|0;f=c[ca>>2]|0;if(!f){ba=c[ea>>2]|0;if(!ba){ra=0;break}else{sa=ba;ta=ea}}else{sa=f;ta=ca}ca=sa;f=ta;while(1){ea=ca+20|0;ba=c[ea>>2]|0;if(!ba){aa=ca+16|0;$=c[aa>>2]|0;if(!$)break;else{ua=$;va=aa}}else{ua=ba;va=ea}ca=ua;f=va}c[f>>2]=0;ra=ca}else{ea=c[ia+8>>2]|0;c[ea+12>>2]=Z;c[Z+8>>2]=ea;ra=Z}while(0);if(!fa)break;Z=c[ia+28>>2]|0;n=3042160+(Z<<2)|0;do if((c[n>>2]|0)!=(ia|0)){ea=fa+16|0;c[((c[ea>>2]|0)==(ia|0)?ea:fa+20|0)>>2]=ra;if(!ra)break h}else{c[n>>2]=ra;if(ra|0)break;c[760465]=c[760465]&~(1<<Z);break h}while(0);c[ra+24>>2]=fa;Z=ia+16|0;n=c[Z>>2]|0;if(n|0){c[ra+16>>2]=n;c[n+24>>2]=ra}n=c[Z+4>>2]|0;if(!n)break;c[ra+20>>2]=n;c[n+24>>2]=ra}while(0);wa=ia+ha|0;xa=ha+d|0}else{wa=ia;xa=d}ga=wa+4|0;c[ga>>2]=c[ga>>2]&-2;c[oa+4>>2]=xa|1;c[oa+xa>>2]=xa;ga=xa>>>3;if(xa>>>0<256){X=3041896+(ga<<1<<2)|0;da=c[760464]|0;n=1<<ga;if(!(da&n)){c[760464]=da|n;ya=X;za=X+8|0}else{n=X+8|0;ya=c[n>>2]|0;za=n}c[za>>2]=oa;c[ya+12>>2]=oa;c[oa+8>>2]=ya;c[oa+12>>2]=X;break}X=xa>>>8;do if(!X)Aa=0;else{if(xa>>>0>16777215){Aa=31;break}n=(X+1048320|0)>>>16&8;da=X<<n;ga=(da+520192|0)>>>16&4;Z=da<<ga;da=(Z+245760|0)>>>16&2;ea=14-(ga|n|da)+(Z<<da>>>15)|0;Aa=xa>>>(ea+7|0)&1|ea<<1}while(0);X=3042160+(Aa<<2)|0;c[oa+28>>2]=Aa;ha=oa+16|0;c[ha+4>>2]=0;c[ha>>2]=0;ha=c[760465]|0;ea=1<<Aa;if(!(ha&ea)){c[760465]=ha|ea;c[X>>2]=oa;c[oa+24>>2]=X;c[oa+12>>2]=oa;c[oa+8>>2]=oa;break}ea=c[X>>2]|0;i:do if((c[ea+4>>2]&-8|0)==(xa|0))Ba=ea;else{X=xa<<((Aa|0)==31?0:25-(Aa>>>1)|0);ha=ea;while(1){Ca=ha+16+(X>>>31<<2)|0;da=c[Ca>>2]|0;if(!da)break;if((c[da+4>>2]&-8|0)==(xa|0)){Ba=da;break i}else{X=X<<1;ha=da}}c[Ca>>2]=oa;c[oa+24>>2]=ha;c[oa+12>>2]=oa;c[oa+8>>2]=oa;break g}while(0);ea=Ba+8|0;X=c[ea>>2]|0;c[X+12>>2]=oa;c[ea>>2]=oa;c[oa+8>>2]=X;c[oa+12>>2]=Ba;c[oa+24>>2]=0}while(0);o=na+8|0;Fa=b;return o|0}oa=3042304;while(1){d=c[oa>>2]|0;if(d>>>0<=ja>>>0?(Da=d+(c[oa+4>>2]|0)|0,Da>>>0>ja>>>0):0)break;oa=c[oa+8>>2]|0}oa=Da+-47|0;na=oa+8|0;d=oa+((na&7|0)==0?0:0-na&7)|0;na=ja+16|0;oa=d>>>0<na>>>0?ja:d;d=oa+8|0;ia=ka+-40|0;ma=la+8|0;W=(ma&7|0)==0?0:0-ma&7;ma=la+W|0;X=ia-W|0;c[760470]=ma;c[760467]=X;c[ma+4>>2]=X|1;c[la+ia+4>>2]=40;c[760471]=c[760586];ia=oa+4|0;c[ia>>2]=27;c[d>>2]=c[760576];c[d+4>>2]=c[760577];c[d+8>>2]=c[760578];c[d+12>>2]=c[760579];c[760576]=la;c[760577]=ka;c[760579]=0;c[760578]=d;d=oa+24|0;do{X=d;d=d+4|0;c[d>>2]=7}while((X+8|0)>>>0<Da>>>0);if((oa|0)!=(ja|0)){d=oa-ja|0;c[ia>>2]=c[ia>>2]&-2;c[ja+4>>2]=d|1;c[oa>>2]=d;X=d>>>3;if(d>>>0<256){ma=3041896+(X<<1<<2)|0;W=c[760464]|0;ea=1<<X;if(!(W&ea)){c[760464]=W|ea;Ea=ma;Ga=ma+8|0}else{ea=ma+8|0;Ea=c[ea>>2]|0;Ga=ea}c[Ga>>2]=ja;c[Ea+12>>2]=ja;c[ja+8>>2]=Ea;c[ja+12>>2]=ma;break}ma=d>>>8;if(ma)if(d>>>0>16777215)Ha=31;else{ea=(ma+1048320|0)>>>16&8;W=ma<<ea;ma=(W+520192|0)>>>16&4;X=W<<ma;W=(X+245760|0)>>>16&2;fa=14-(ma|ea|W)+(X<<W>>>15)|0;Ha=d>>>(fa+7|0)&1|fa<<1}else Ha=0;fa=3042160+(Ha<<2)|0;c[ja+28>>2]=Ha;c[ja+20>>2]=0;c[na>>2]=0;W=c[760465]|0;X=1<<Ha;if(!(W&X)){c[760465]=W|X;c[fa>>2]=ja;c[ja+24>>2]=fa;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break}X=c[fa>>2]|0;j:do if((c[X+4>>2]&-8|0)==(d|0))Ia=X;else{fa=d<<((Ha|0)==31?0:25-(Ha>>>1)|0);W=X;while(1){Ja=W+16+(fa>>>31<<2)|0;ea=c[Ja>>2]|0;if(!ea)break;if((c[ea+4>>2]&-8|0)==(d|0)){Ia=ea;break j}else{fa=fa<<1;W=ea}}c[Ja>>2]=ja;c[ja+24>>2]=W;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break f}while(0);d=Ia+8|0;X=c[d>>2]|0;c[X+12>>2]=ja;c[d>>2]=ja;c[ja+8>>2]=X;c[ja+12>>2]=Ia;c[ja+24>>2]=0}}else{X=c[760468]|0;if((X|0)==0|la>>>0<X>>>0)c[760468]=la;c[760576]=la;c[760577]=ka;c[760579]=0;c[760473]=c[760582];c[760472]=-1;c[760477]=3041896;c[760476]=3041896;c[760479]=3041904;c[760478]=3041904;c[760481]=3041912;c[760480]=3041912;c[760483]=3041920;c[760482]=3041920;c[760485]=3041928;c[760484]=3041928;c[760487]=3041936;c[760486]=3041936;c[760489]=3041944;c[760488]=3041944;c[760491]=3041952;c[760490]=3041952;c[760493]=3041960;c[760492]=3041960;c[760495]=3041968;c[760494]=3041968;c[760497]=3041976;c[760496]=3041976;c[760499]=3041984;c[760498]=3041984;c[760501]=3041992;c[760500]=3041992;c[760503]=3042e3;c[760502]=3042e3;c[760505]=3042008;c[760504]=3042008;c[760507]=3042016;c[760506]=3042016;c[760509]=3042024;c[760508]=3042024;c[760511]=3042032;c[760510]=3042032;c[760513]=3042040;c[760512]=3042040;c[760515]=3042048;c[760514]=3042048;c[760517]=3042056;c[760516]=3042056;c[760519]=3042064;c[760518]=3042064;c[760521]=3042072;c[760520]=3042072;c[760523]=3042080;c[760522]=3042080;c[760525]=3042088;c[760524]=3042088;c[760527]=3042096;c[760526]=3042096;c[760529]=3042104;c[760528]=3042104;c[760531]=3042112;c[760530]=3042112;c[760533]=3042120;c[760532]=3042120;c[760535]=3042128;c[760534]=3042128;c[760537]=3042136;c[760536]=3042136;c[760539]=3042144;c[760538]=3042144;X=ka+-40|0;d=la+8|0;na=(d&7|0)==0?0:0-d&7;d=la+na|0;oa=X-na|0;c[760470]=d;c[760467]=oa;c[d+4>>2]=oa|1;c[la+X+4>>2]=40;c[760471]=c[760586]}while(0);la=c[760467]|0;if(la>>>0>F>>>0){ka=la-F|0;c[760467]=ka;la=c[760470]|0;ja=la+F|0;c[760470]=ja;c[ja+4>>2]=ka|1;c[la+4>>2]=F|3;o=la+8|0;Fa=b;return o|0}}c[(es()|0)>>2]=12;o=0;Fa=b;return o|0}function Xr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;if(!a)return;b=a+-8|0;d=c[760468]|0;e=c[a+-4>>2]|0;a=e&-8;f=b+a|0;do if(!(e&1)){g=c[b>>2]|0;if(!(e&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0<d>>>0)return;if((c[760469]|0)==(h|0)){j=f+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}c[760466]=i;c[j>>2]=k&-2;c[h+4>>2]=i|1;c[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=c[h+8>>2]|0;j=c[h+12>>2]|0;if((j|0)==(g|0)){c[760464]=c[760464]&~(1<<k);l=h;m=i;n=h;break}else{c[g+12>>2]=j;c[j+8>>2]=g;l=h;m=i;n=h;break}}g=c[h+24>>2]|0;j=c[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=c[o>>2]|0;if(!p){q=c[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}o=s;p=t;while(1){k=o+20|0;q=c[k>>2]|0;if(!q){u=o+16|0;v=c[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=k}o=w;p=x}c[p>>2]=0;r=o}else{k=c[h+8>>2]|0;c[k+12>>2]=j;c[j+8>>2]=k;r=j}while(0);if(g){j=c[h+28>>2]|0;k=3042160+(j<<2)|0;if((c[k>>2]|0)==(h|0)){c[k>>2]=r;if(!r){c[760465]=c[760465]&~(1<<j);l=h;m=i;n=h;break}}else{j=g+16|0;c[((c[j>>2]|0)==(h|0)?j:g+20|0)>>2]=r;if(!r){l=h;m=i;n=h;break}}c[r+24>>2]=g;j=h+16|0;k=c[j>>2]|0;if(k|0){c[r+16>>2]=k;c[k+24>>2]=r}k=c[j+4>>2]|0;if(k){c[r+20>>2]=k;c[k+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=f>>>0)return;b=f+4|0;a=c[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((c[760470]|0)==(f|0)){r=(c[760467]|0)+m|0;c[760467]=r;c[760470]=l;c[l+4>>2]=r|1;if((l|0)!=(c[760469]|0))return;c[760469]=0;c[760466]=0;return}if((c[760469]|0)==(f|0)){r=(c[760466]|0)+m|0;c[760466]=r;c[760469]=n;c[l+4>>2]=r|1;c[n+r>>2]=r;return}r=(a&-8)+m|0;x=a>>>3;do if(a>>>0<256){w=c[f+8>>2]|0;t=c[f+12>>2]|0;if((t|0)==(w|0)){c[760464]=c[760464]&~(1<<x);break}else{c[w+12>>2]=t;c[t+8>>2]=w;break}}else{w=c[f+24>>2]|0;t=c[f+12>>2]|0;do if((t|0)==(f|0)){s=f+16|0;d=s+4|0;e=c[d>>2]|0;if(!e){k=c[s>>2]|0;if(!k){y=0;break}else{z=k;A=s}}else{z=e;A=d}d=z;e=A;while(1){s=d+20|0;k=c[s>>2]|0;if(!k){j=d+16|0;q=c[j>>2]|0;if(!q)break;else{B=q;C=j}}else{B=k;C=s}d=B;e=C}c[e>>2]=0;y=d}else{o=c[f+8>>2]|0;c[o+12>>2]=t;c[t+8>>2]=o;y=t}while(0);if(w|0){t=c[f+28>>2]|0;h=3042160+(t<<2)|0;if((c[h>>2]|0)==(f|0)){c[h>>2]=y;if(!y){c[760465]=c[760465]&~(1<<t);break}}else{t=w+16|0;c[((c[t>>2]|0)==(f|0)?t:w+20|0)>>2]=y;if(!y)break}c[y+24>>2]=w;t=f+16|0;h=c[t>>2]|0;if(h|0){c[y+16>>2]=h;c[h+24>>2]=y}h=c[t+4>>2]|0;if(h|0){c[y+20>>2]=h;c[h+24>>2]=y}}}while(0);c[l+4>>2]=r|1;c[n+r>>2]=r;if((l|0)==(c[760469]|0)){c[760466]=r;return}else D=r}else{c[b>>2]=a&-2;c[l+4>>2]=m|1;c[n+m>>2]=m;D=m}m=D>>>3;if(D>>>0<256){n=3041896+(m<<1<<2)|0;a=c[760464]|0;b=1<<m;if(!(a&b)){c[760464]=a|b;E=n;F=n+8|0}else{b=n+8|0;E=c[b>>2]|0;F=b}c[F>>2]=l;c[E+12>>2]=l;c[l+8>>2]=E;c[l+12>>2]=n;return}n=D>>>8;if(n)if(D>>>0>16777215)G=31;else{E=(n+1048320|0)>>>16&8;F=n<<E;n=(F+520192|0)>>>16&4;b=F<<n;F=(b+245760|0)>>>16&2;a=14-(n|E|F)+(b<<F>>>15)|0;G=D>>>(a+7|0)&1|a<<1}else G=0;a=3042160+(G<<2)|0;c[l+28>>2]=G;c[l+20>>2]=0;c[l+16>>2]=0;F=c[760465]|0;b=1<<G;a:do if(!(F&b)){c[760465]=F|b;c[a>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l}else{E=c[a>>2]|0;b:do if((c[E+4>>2]&-8|0)==(D|0))H=E;else{n=D<<((G|0)==31?0:25-(G>>>1)|0);m=E;while(1){I=m+16+(n>>>31<<2)|0;r=c[I>>2]|0;if(!r)break;if((c[r+4>>2]&-8|0)==(D|0)){H=r;break b}else{n=n<<1;m=r}}c[I>>2]=l;c[l+24>>2]=m;c[l+12>>2]=l;c[l+8>>2]=l;break a}while(0);E=H+8|0;w=c[E>>2]|0;c[w+12>>2]=l;c[E>>2]=l;c[l+8>>2]=w;c[l+12>>2]=H;c[l+24>>2]=0}while(0);l=(c[760472]|0)+-1|0;c[760472]=l;if(l|0)return;l=3042312;while(1){H=c[l>>2]|0;if(!H)break;else l=H+8|0}c[760472]=-1;return}function Yr(a,b){a=a|0;b=b|0;var d=0,e=0;if(a){d=B(b,a)|0;if((b|a)>>>0>65535)e=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1;else e=d}else e=0;d=Wr(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;Yu(d|0,0,e|0)|0;return d|0}function Zr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=Wr(b)|0;return d|0}if(b>>>0>4294967231){c[(es()|0)>>2]=12;d=0;return d|0}e=_r(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e|0){d=e+8|0;return d|0}e=Wr(b)|0;if(!e){d=0;return d|0}f=c[a+-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;Xu(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;Xr(a);d=e;return d|0}function _r(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;if(!(e&3)){if(b>>>0<256){h=0;return h|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[760584]<<1>>>0:0){h=a;return h|0}h=0;return h|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){h=a;return h|0}j=a+b|0;c[d>>2]=e&1|b|2;c[j+4>>2]=i|3;k=g+4|0;c[k>>2]=c[k>>2]|1;$r(j,i);h=a;return h|0}if((c[760470]|0)==(g|0)){i=(c[760467]|0)+f|0;j=i-b|0;k=a+b|0;if(i>>>0<=b>>>0){h=0;return h|0}c[d>>2]=e&1|b|2;c[k+4>>2]=j|1;c[760470]=k;c[760467]=j;h=a;return h|0}if((c[760469]|0)==(g|0)){j=(c[760466]|0)+f|0;if(j>>>0<b>>>0){h=0;return h|0}k=j-b|0;if(k>>>0>15){i=a+b|0;l=a+j|0;c[d>>2]=e&1|b|2;c[i+4>>2]=k|1;c[l>>2]=k;m=l+4|0;c[m>>2]=c[m>>2]&-2;n=i;o=k}else{c[d>>2]=e&1|j|2;k=a+j+4|0;c[k>>2]=c[k>>2]|1;n=0;o=0}c[760466]=o;c[760469]=n;h=a;return h|0}n=c[g+4>>2]|0;if(n&2|0){h=0;return h|0}o=(n&-8)+f|0;if(o>>>0<b>>>0){h=0;return h|0}f=o-b|0;k=n>>>3;do if(n>>>0<256){j=c[g+8>>2]|0;i=c[g+12>>2]|0;if((i|0)==(j|0)){c[760464]=c[760464]&~(1<<k);break}else{c[j+12>>2]=i;c[i+8>>2]=j;break}}else{j=c[g+24>>2]|0;i=c[g+12>>2]|0;do if((i|0)==(g|0)){m=g+16|0;l=m+4|0;p=c[l>>2]|0;if(!p){q=c[m>>2]|0;if(!q){r=0;break}else{s=q;t=m}}else{s=p;t=l}l=s;p=t;while(1){m=l+20|0;q=c[m>>2]|0;if(!q){u=l+16|0;v=c[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=m}l=w;p=x}c[p>>2]=0;r=l}else{m=c[g+8>>2]|0;c[m+12>>2]=i;c[i+8>>2]=m;r=i}while(0);if(j|0){i=c[g+28>>2]|0;m=3042160+(i<<2)|0;if((c[m>>2]|0)==(g|0)){c[m>>2]=r;if(!r){c[760465]=c[760465]&~(1<<i);break}}else{i=j+16|0;c[((c[i>>2]|0)==(g|0)?i:j+20|0)>>2]=r;if(!r)break}c[r+24>>2]=j;i=g+16|0;m=c[i>>2]|0;if(m|0){c[r+16>>2]=m;c[m+24>>2]=r}m=c[i+4>>2]|0;if(m|0){c[r+20>>2]=m;c[m+24>>2]=r}}}while(0);if(f>>>0<16){c[d>>2]=e&1|o|2;r=a+o+4|0;c[r>>2]=c[r>>2]|1;h=a;return h|0}else{r=a+b|0;c[d>>2]=e&1|b|2;c[r+4>>2]=f|3;b=a+o+4|0;c[b>>2]=c[b>>2]|1;$r(r,f);h=a;return h|0}return 0}
+function bp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0;h=Fa;Fa=Fa+192|0;i=h+136|0;j=h+92|0;k=h+48|0;l=h+4|0;m=h;switch(c[g>>2]|0){case 0:{n=f>>>16;o=b+4|0;p=b+8|0;q=0;r=0;while(1){s=(q|0)==(n|0);t=s&1;u=c[o>>2]|0;v=u+1|0;if((c[p>>2]|0)>>>0<v>>>0){w=v<<1;x=Gp(c[b>>2]|0,w)|0;if(x|0){c[p>>2]=w;c[b>>2]=x;y=x;z=7}}else{y=c[b>>2]|0;z=7}if((z|0)==7){z=0;c[o>>2]=v;a[y+u>>0]=t}t=f-r|0;u=t>>>0<65535?t:65535;t=u^65535;v=u&255;x=c[o>>2]|0;w=x+1|0;if((c[p>>2]|0)>>>0<w>>>0){A=w<<1;B=Gp(c[b>>2]|0,A)|0;if(B|0){c[p>>2]=A;c[b>>2]=B;C=B;z=12}}else{C=c[b>>2]|0;z=12}if((z|0)==12){z=0;c[o>>2]=w;a[C+x>>0]=v}v=u>>>8&255;u=c[o>>2]|0;x=u+1|0;if((c[p>>2]|0)>>>0<x>>>0){w=x<<1;B=Gp(c[b>>2]|0,w)|0;if(B|0){c[p>>2]=w;c[b>>2]=B;D=B;z=17}}else{D=c[b>>2]|0;z=17}if((z|0)==17){z=0;c[o>>2]=x;a[D+u>>0]=v}v=t&255;u=c[o>>2]|0;x=u+1|0;if((c[p>>2]|0)>>>0<x>>>0){B=x<<1;w=Gp(c[b>>2]|0,B)|0;if(w|0){c[p>>2]=B;c[b>>2]=w;E=w;z=22}}else{E=c[b>>2]|0;z=22}if((z|0)==22){z=0;c[o>>2]=x;a[E+u>>0]=v}v=t>>>8&255;t=c[o>>2]|0;u=t+1|0;if((c[p>>2]|0)>>>0<u>>>0){x=u<<1;w=Gp(c[b>>2]|0,x)|0;if(w|0){c[p>>2]=x;c[b>>2]=w;F=w;z=27}}else{F=c[b>>2]|0;z=27}if((z|0)==27){z=0;c[o>>2]=u;a[F+t>>0]=v}if(r>>>0<f>>>0){v=0;t=r;while(1){u=t+1|0;w=a[e+t>>0]|0;x=c[o>>2]|0;B=x+1|0;if((c[p>>2]|0)>>>0<B>>>0){A=B<<1;G=Gp(c[b>>2]|0,A)|0;if(G|0){c[p>>2]=A;c[b>>2]=G;H=G;z=34}}else{H=c[b>>2]|0;z=34}if((z|0)==34){z=0;c[o>>2]=B;a[H+x>>0]=w}v=v+1|0;if(!(v>>>0<65535&u>>>0<f>>>0)){I=u;break}else t=u}}else I=r;if(s){J=0;break}else{q=q+1|0;r=I}}Fa=h;return J|0}case 1:{c[k>>2]=0;K=i;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=j;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));Zo(i);_o(j);I=b+4|0;r=c[I>>2]|0;q=r+1|0;H=b+8|0;if((c[H>>2]|0)>>>0<q>>>0){o=q<<1;p=Gp(c[b>>2]|0,o)|0;if(!p)M=b;else{c[H>>2]=o;c[b>>2]=p;N=b;O=p;z=41}}else{N=b;O=c[b>>2]|0;z=41}if((z|0)==41){c[I>>2]=q;a[O+r>>0]=0;M=N}N=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[N>>0]=a[N>>0]|1;N=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[N>>0]=a[N>>0]|2;N=(c[g+4>>2]|0)==0;c[k>>2]=3;do if(N)if(!f)z=60;else{r=c[i+12>>2]|0;O=c[i+24>>2]|0;q=0;p=3;while(1){o=d[e+q>>0]|0;F=c[r+(o<<2)>>2]|0;E=c[O+(o<<2)>>2]|0;if(!E)P=p;else{o=E+-1|0;D=0;C=p;while(1){y=F>>>(o-D|0)&1;n=C&7;do if(!n){t=c[I>>2]|0;v=t+1|0;if((c[H>>2]|0)>>>0<v>>>0){u=v<<1;w=Gp(c[M>>2]|0,u)|0;if(!w)break;c[H>>2]=u;c[M>>2]=w;Q=w}else Q=c[M>>2]|0;c[I>>2]=v;a[Q+t>>0]=0}while(0);t=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[t>>0]=y<<n|(d[t>>0]|0);D=D+1|0;if((D|0)==(E|0))break;else C=C+1|0}P=E+p|0}q=q+1|0;if((q|0)==(f|0))break;else p=P}c[k>>2]=P;z=60}else{c[l>>2]=0;p=l+8|0;c[p>>2]=0;q=l+4|0;c[q>>2]=0;O=cp(l,e,f,c[g+8>>2]|0)|0;if(!O){dp(k,b,l,i,j);c[p>>2]=0;c[q>>2]=0;Hp(c[l>>2]|0);z=60;break}else{c[p>>2]=0;c[q>>2]=0;Hp(c[l>>2]|0);R=O;S=c[i+12>>2]|0;T=c[i+24>>2]|0;break}}while(0);if((z|0)==60){P=c[i+12>>2]|0;Q=c[P+1024>>2]|0;N=c[i+24>>2]|0;O=c[N+1024>>2]|0;if(!O){R=0;S=P;T=N}else{q=O+-1|0;p=c[k>>2]|0;r=0;s=p;while(1){C=Q>>>(q-r|0)&1;D=s&7;do if(!D){o=c[I>>2]|0;F=o+1|0;if((c[H>>2]|0)>>>0<F>>>0){t=F<<1;v=Gp(c[M>>2]|0,t)|0;if(!v)break;c[H>>2]=t;c[M>>2]=v;U=v}else U=c[M>>2]|0;c[I>>2]=F;a[U+o>>0]=0}while(0);o=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[o>>0]=C<<D|(d[o>>0]|0);r=r+1|0;if((r|0)==(O|0))break;else s=s+1|0}c[k>>2]=p+O;R=0;S=P;T=N}}c[i+8>>2]=0;c[i+4>>2]=0;Hp(c[i>>2]|0);Hp(S);Hp(T);c[j+8>>2]=0;c[j+4>>2]=0;Hp(c[j>>2]|0);c[j>>2]=0;T=j+12|0;c[j+20>>2]=0;c[j+16>>2]=0;Hp(c[T>>2]|0);c[T>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;Hp(c[j+24>>2]|0);J=R;Fa=h;return J|0}case 2:{c[m>>2]=0;c[i>>2]=0;R=i+8|0;c[R>>2]=0;T=i+4|0;c[T>>2]=0;K=j;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=k;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=l;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));do if(!(c[g+4>>2]|0)){if(!(f&1073741823))V=0;else{S=f<<3;N=Gp(0,S)|0;if(!N){W=9923;X=0;Y=0;Z=0;_=0;$=0;aa=0;break}c[R>>2]=S;c[i>>2]=N;V=N}c[T>>2]=f;if(!f)z=79;else{N=0;do{c[V+(N<<2)>>2]=d[e+N>>0];N=N+1|0}while((N|0)!=(f|0));z=79}}else{N=cp(i,e,f,c[g+8>>2]|0)|0;if(!N)z=79;else{W=N;X=0;Y=0;Z=0;_=0;$=0;aa=0}}while(0);a:do if((z|0)==79){g=Gp(0,2288)|0;if(g){Yu(g|0,0,1144)|0;f=Gp(0,240)|0;if(f){K=f;L=K+120|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));e=c[T>>2]|0;if(e|0){V=c[i>>2]|0;N=0;do{D=c[V+(N<<2)>>2]|0;C=g+(D<<2)|0;c[C>>2]=(c[C>>2]|0)+1;if(D>>>0>256){D=f+(c[V+(N+2<<2)>>2]<<2)|0;c[D>>2]=(c[D>>2]|0)+1;ba=N+3|0}else ba=N;N=ba+1|0}while(N>>>0<e>>>0)}c[g+1024>>2]=1;e=ep(j,g,286,15)|0;if(!e){N=ep(k,f,30,15)|0;if(!N){V=c[m>>2]&7;D=b+4|0;do if(!V){C=c[D>>2]|0;S=C+1|0;P=b+8|0;if((c[P>>2]|0)>>>0<S>>>0){O=S<<1;p=Gp(c[b>>2]|0,O)|0;if(!p){ca=0;break}c[P>>2]=O;c[b>>2]=p;da=p}else da=c[b>>2]|0;c[D>>2]=S;a[da+C>>0]=0;ca=c[m>>2]&7}else ca=V;while(0);V=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[V>>0]=1<<ca|(d[V>>0]|0);V=(c[m>>2]|0)+1|0;c[m>>2]=V;do if(!(V&7)){C=c[D>>2]|0;S=C+1|0;p=b+8|0;if((c[p>>2]|0)>>>0<S>>>0){O=S<<1;P=Gp(c[b>>2]|0,O)|0;if(!P){ea=V;break}c[p>>2]=O;c[b>>2]=P;fa=P}else fa=c[b>>2]|0;c[D>>2]=S;a[fa+C>>0]=0;ea=c[m>>2]|0}else ea=V;while(0);V=c[b>>2]|0;C=c[D>>2]|0;S=ea+1|0;c[m>>2]=S;P=S&7;do if(!P){S=C+1|0;O=b+8|0;if((c[O>>2]|0)>>>0<S>>>0){p=S<<1;s=Gp(V,p)|0;if(!s){ga=0;break}c[O>>2]=p;c[b>>2]=s;ha=s}else ha=V;c[D>>2]=S;a[ha+C>>0]=0;ga=c[m>>2]&7}else ga=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=1<<ga|(d[P>>0]|0);c[m>>2]=(c[m>>2]|0)+1;P=c[j+40>>2]|0;C=P>>>0<286?P:286;P=c[k+40>>2]|0;V=P>>>0<30?P:30;if(!C){ia=0;ja=0;ka=0;la=0;ma=0}else{P=c[j+24>>2]|0;S=0;s=0;p=0;O=0;r=0;I=0;M=0;while(1){U=c[P+(S<<2)>>2]|0;H=p+1|0;if(H<<2>>>0>O>>>0){q=H<<3;Q=Gp(M,q)|0;if(!Q){na=s;oa=p;pa=O;qa=I;ra=r;sa=M}else{ta=Q;ua=q;va=Q;wa=Q;xa=Q;z=110}}else{ta=s;ua=O;va=I;wa=r;xa=M;z=110}if((z|0)==110){z=0;c[ta+(p<<2)>>2]=U;na=ta;oa=H;pa=ua;qa=va;ra=wa;sa=xa}S=S+1|0;if(S>>>0>=C>>>0){ia=ra;ja=qa;ka=na;la=oa;ma=pa;break}else{s=na;p=oa;O=pa;r=ra;I=qa;M=sa}}}if(!V){ya=ja;za=ka;Aa=la}else{M=c[k+24>>2]|0;I=0;r=ka;O=la;p=ma;s=ja;S=ia;while(1){P=c[M+(I<<2)>>2]|0;H=O+1|0;if(H<<2>>>0>p>>>0){U=H<<3;Q=Gp(S,U)|0;if(!Q){Ba=r;Ca=O;Da=p;Ea=s;Ga=S}else{Ha=Q;Ia=U;Ja=Q;Ka=Q;z=117}}else{Ha=r;Ia=p;Ja=s;Ka=S;z=117}if((z|0)==117){z=0;c[Ha+(O<<2)>>2]=P;Ba=Ha;Ca=H;Da=Ia;Ea=Ja;Ga=Ka}I=I+1|0;if(I>>>0>=V>>>0){ya=Ea;za=Ba;Aa=Ca;break}else{r=Ba;O=Ca;p=Da;s=Ea;S=Ga}}}if(!Aa){La=0;Ma=0;Na=0}else{S=0;s=0;p=0;O=0;r=0;I=0;M=0;H=0;P=0;Q=0;U=0;q=0;o=0;F=0;v=0;while(1){t=S+1|0;w=c[za+(S<<2)>>2]|0;do if(t>>>0<Aa>>>0){u=S+2|0;x=0;B=t;while(1){if((c[za+(B<<2)>>2]|0)!=(w|0)){Oa=x;break}G=x+1|0;B=u+x|0;if(B>>>0>=Aa>>>0){Oa=G;break}else x=G}if((w|0)==0&Oa>>>0>1){x=Oa+1|0;do if(x>>>0<11){B=p+1|0;u=B<<2;do if(u>>>0>O>>>0){n=B<<3;y=Gp(q,n)|0;if(!y){Pa=B;Qa=u;Ra=s;Sa=p;Ta=O;Ua=U;Va=v;Wa=Q;Xa=P;Ya=H;Za=M;_a=F;$a=I;ab=o;bb=q;cb=r;break}db=y;eb=n;fb=y;gb=y;hb=y;ib=y;jb=y;kb=y;lb=y;mb=y;nb=y;ob=y;pb=y;z=130}else{db=s;eb=O;fb=U;gb=v;hb=Q;ib=P;jb=H;kb=M;lb=F;mb=I;nb=o;ob=r;pb=q;z=130}while(0);if((z|0)==130){z=0;c[db+(p<<2)>>2]=17;u=p+2|0;Pa=u;Qa=u<<2;Ra=db;Sa=B;Ta=eb;Ua=fb;Va=gb;Wa=hb;Xa=ib;Ya=jb;Za=kb;_a=lb;$a=mb;ab=nb;bb=pb;cb=ob}u=Oa+-2|0;if(Qa>>>0>Ta>>>0){y=Pa<<3;n=Gp(cb,y)|0;if(!n){qb=x;rb=Ra;sb=Sa;tb=Ta;ub=Ua;vb=Va;wb=Wa;xb=Xa;yb=Ya;zb=Za;Ab=_a;Bb=$a;Cb=ab;Db=cb;Eb=bb;break}Fb=n;Gb=y;Hb=n;Ib=n;Jb=n;Kb=n;Lb=n;Mb=n;Nb=n;Ob=n;Pb=n;Qb=n;Rb=n}else{Fb=Ra;Gb=Ta;Hb=Ua;Ib=Va;Jb=Wa;Kb=Xa;Lb=Ya;Mb=Za;Nb=_a;Ob=$a;Pb=ab;Qb=cb;Rb=bb}c[Fb+(Sa<<2)>>2]=u;qb=x;rb=Fb;sb=Pa;tb=Gb;ub=Hb;vb=Ib;wb=Jb;xb=Kb;yb=Lb;zb=Mb;Ab=Nb;Bb=Ob;Cb=Pb;Db=Qb;Eb=Rb}else{u=x>>>0<138?x:138;n=p+1|0;y=n<<2;do if(y>>>0>O>>>0){G=n<<3;A=Gp(o,G)|0;if(!A){Sb=n;Tb=y;Ub=s;Vb=p;Wb=O;Xb=U;Yb=v;Zb=Q;_b=P;$b=H;ac=M;bc=F;cc=o;dc=r;ec=q;fc=I;break}gc=A;hc=G;ic=A;jc=A;kc=A;lc=A;mc=A;nc=A;oc=A;pc=A;qc=A;rc=A;sc=A;z=138}else{gc=s;hc=O;ic=U;jc=v;kc=Q;lc=P;mc=H;nc=M;oc=F;pc=I;qc=o;rc=r;sc=q;z=138}while(0);if((z|0)==138){z=0;c[gc+(p<<2)>>2]=18;y=p+2|0;Sb=y;Tb=y<<2;Ub=gc;Vb=n;Wb=hc;Xb=ic;Yb=jc;Zb=kc;_b=lc;$b=mc;ac=nc;bc=oc;cc=qc;dc=rc;ec=sc;fc=pc}y=u+-11|0;if(Tb>>>0>Wb>>>0){B=Sb<<3;A=Gp(fc,B)|0;if(!A){qb=u;rb=Ub;sb=Vb;tb=Wb;ub=Xb;vb=Yb;wb=Zb;xb=_b;yb=$b;zb=ac;Ab=bc;Bb=fc;Cb=cc;Db=dc;Eb=ec;break}tc=A;uc=B;vc=A;wc=A;xc=A;yc=A;zc=A;Ac=A;Bc=A;Cc=A;Dc=A;Ec=A;Fc=A}else{tc=Ub;uc=Wb;vc=Xb;wc=Yb;xc=Zb;yc=_b;zc=$b;Ac=ac;Bc=bc;Cc=fc;Dc=cc;Ec=dc;Fc=ec}c[tc+(Vb<<2)>>2]=y;qb=u;rb=tc;sb=Sb;tb=uc;ub=vc;vb=wc;wb=xc;xb=yc;yb=zc;zb=Ac;Ab=Bc;Bb=Cc;Cb=Dc;Db=Ec;Eb=Fc}while(0);Gc=S+-1+qb|0;Hc=rb;Ic=sb;Jc=tb;Kc=ub;Lc=vb;Mc=wb;Nc=xb;Oc=yb;Pc=zb;Qc=Ab;Rc=Bb;Sc=Cb;Tc=Db;Uc=Eb;break}if(Oa>>>0>2){x=(Oa>>>0)/6|0;y=Oa-(x*6|0)|0;A=p+1|0;do if(A<<2>>>0>O>>>0){B=A<<3;G=Gp(F,B)|0;if(!G){Vc=s;Wc=p;Xc=O;Yc=U;Zc=v;_c=Q;$c=P;ad=H;bd=M;cd=F;dd=I;ed=o;fd=r;gd=q;break}hd=G;id=B;jd=G;kd=G;ld=G;md=G;nd=G;od=G;pd=G;qd=G;rd=G;sd=G;td=G;z=148}else{hd=s;id=O;jd=U;kd=v;ld=Q;md=P;nd=H;od=M;pd=F;qd=I;rd=o;sd=r;td=q;z=148}while(0);if((z|0)==148){z=0;c[hd+(p<<2)>>2]=w;Vc=hd;Wc=A;Xc=id;Yc=jd;Zc=kd;_c=ld;$c=md;ad=nd;bd=od;cd=pd;dd=qd;ed=rd;fd=sd;gd=td}if(Oa>>>0>5){G=0;B=Vc;ud=Wc;vd=Xc;wd=gd;xd=fd;yd=ed;zd=dd;Ad=cd;Bd=ad;Cd=$c;Dd=_c;Ed=Zc;Fd=Yc;Gd=bd;while(1){Hd=ud+1|0;Id=Hd<<2;do if(Id>>>0>vd>>>0){Jd=Hd<<3;Kd=Gp(Gd,Jd)|0;if(!Kd){Ld=Hd;Md=Id;Nd=B;Od=ud;Pd=vd;Qd=Fd;Rd=Ed;Sd=Dd;Td=Cd;Ud=Gd;Vd=Ad;Wd=zd;Xd=yd;Yd=xd;Zd=wd;_d=Bd;break}$d=Kd;ae=Jd;be=Kd;ce=Kd;de=Kd;ee=Kd;fe=Kd;ge=Kd;he=Kd;ie=Kd;je=Kd;ke=Kd;le=Kd;z=154}else{$d=B;ae=vd;be=Fd;ce=Ed;de=Dd;ee=Cd;fe=Bd;ge=Gd;he=Ad;ie=zd;je=yd;ke=xd;le=wd;z=154}while(0);if((z|0)==154){z=0;c[$d+(ud<<2)>>2]=16;Id=ud+2|0;Ld=Id;Md=Id<<2;Nd=$d;Od=Hd;Pd=ae;Qd=be;Rd=ce;Sd=de;Td=ee;Ud=ge;Vd=he;Wd=ie;Xd=je;Yd=ke;Zd=le;_d=fe}do if(Md>>>0>Pd>>>0){Id=Ld<<3;u=Gp(_d,Id)|0;if(!u){me=Nd;ne=Od;oe=Pd;pe=Qd;qe=Rd;re=Sd;se=Td;te=_d;ue=Ud;ve=Vd;we=Wd;xe=Xd;ye=Yd;ze=Zd;break}Ae=u;Be=Id;Ce=u;De=u;Ee=u;Fe=u;Ge=u;He=u;Ie=u;Je=u;Ke=u;Le=u;Me=u;z=158}else{Ae=Nd;Be=Pd;Ce=Qd;De=Rd;Ee=Sd;Fe=Td;Ge=_d;He=Ud;Ie=Vd;Je=Wd;Ke=Xd;Le=Yd;Me=Zd;z=158}while(0);if((z|0)==158){z=0;c[Ae+(Od<<2)>>2]=3;me=Ae;ne=Ld;oe=Be;pe=Ce;qe=De;re=Ee;se=Fe;te=Ge;ue=He;ve=Ie;we=Je;xe=Ke;ye=Le;ze=Me}G=G+1|0;if(G>>>0>=x>>>0){Ne=ze;Oe=ye;Pe=xe;Qe=we;Re=ve;Se=ue;Te=te;Ue=se;Ve=re;We=qe;Xe=pe;Ye=me;Ze=ne;_e=oe;break}else{B=me;ud=ne;vd=oe;wd=ze;xd=ye;yd=xe;zd=we;Ad=ve;Bd=te;Cd=se;Dd=re;Ed=qe;Fd=pe;Gd=ue}}}else{Ne=gd;Oe=fd;Pe=ed;Qe=dd;Re=cd;Se=bd;Te=ad;Ue=$c;Ve=_c;We=Zc;Xe=Yc;Ye=Vc;Ze=Wc;_e=Xc}do if(y>>>0>2){Gd=Ze+1|0;Fd=Gd<<2;do if(Fd>>>0>_e>>>0){Ed=Gd<<3;Dd=Gp(Ue,Ed)|0;if(!Dd){$e=Gd;af=Fd;bf=Ye;cf=Ze;df=_e;ef=Xe;ff=We;gf=Ue;hf=Te;jf=Se;kf=Re;lf=Qe;mf=Pe;nf=Oe;of=Ne;pf=Ve;break}qf=Dd;rf=Ed;sf=Dd;tf=Dd;uf=Dd;vf=Dd;wf=Dd;xf=Dd;yf=Dd;zf=Dd;Af=Dd;Bf=Dd;Cf=Dd;z=164}else{qf=Ye;rf=_e;sf=Xe;tf=We;uf=Ve;vf=Ue;wf=Te;xf=Se;yf=Re;zf=Qe;Af=Pe;Bf=Oe;Cf=Ne;z=164}while(0);if((z|0)==164){z=0;c[qf+(Ze<<2)>>2]=16;Fd=Ze+2|0;$e=Fd;af=Fd<<2;bf=qf;cf=Gd;df=rf;ef=sf;ff=tf;gf=vf;hf=wf;jf=xf;kf=yf;lf=zf;mf=Af;nf=Bf;of=Cf;pf=uf}Fd=y+-3|0;if(af>>>0>df>>>0){Dd=$e<<3;Ed=Gp(pf,Dd)|0;if(!Ed){Df=Oa;Ef=bf;Ff=cf;Gf=df;Hf=ef;If=ff;Jf=pf;Kf=gf;Lf=hf;Mf=jf;Nf=kf;Of=lf;Pf=mf;Qf=nf;Rf=of;break}Sf=Ed;Tf=Dd;Uf=Ed;Vf=Ed;Wf=Ed;Xf=Ed;Yf=Ed;Zf=Ed;_f=Ed;$f=Ed;ag=Ed;bg=Ed;cg=Ed}else{Sf=bf;Tf=df;Uf=ef;Vf=ff;Wf=pf;Xf=gf;Yf=hf;Zf=jf;_f=kf;$f=lf;ag=mf;bg=nf;cg=of}c[Sf+(cf<<2)>>2]=Fd;Df=Oa;Ef=Sf;Ff=$e;Gf=Tf;Hf=Uf;If=Vf;Jf=Wf;Kf=Xf;Lf=Yf;Mf=Zf;Nf=_f;Of=$f;Pf=ag;Qf=bg;Rf=cg}else{Df=Oa-y|0;Ef=Ye;Ff=Ze;Gf=_e;Hf=Xe;If=We;Jf=Ve;Kf=Ue;Lf=Te;Mf=Se;Nf=Re;Of=Qe;Pf=Pe;Qf=Oe;Rf=Ne}while(0);Gc=Df+S|0;Hc=Ef;Ic=Ff;Jc=Gf;Kc=Hf;Lc=If;Mc=Jf;Nc=Kf;Oc=Lf;Pc=Mf;Qc=Nf;Rc=Of;Sc=Pf;Tc=Qf;Uc=Rf}else z=171}else z=171;while(0);do if((z|0)==171){z=0;t=p+1|0;if(t<<2>>>0>O>>>0){E=t<<3;y=Gp(v,E)|0;if(!y){Gc=S;Hc=s;Ic=p;Jc=O;Kc=U;Lc=v;Mc=Q;Nc=P;Oc=H;Pc=M;Qc=F;Rc=I;Sc=o;Tc=r;Uc=q;break}dg=y;eg=E;fg=y;gg=y;hg=y;ig=y;jg=y;kg=y;lg=y;mg=y;ng=y;og=y;pg=y}else{dg=s;eg=O;fg=U;gg=v;hg=Q;ig=P;jg=H;kg=M;lg=F;mg=I;ng=o;og=r;pg=q}c[dg+(p<<2)>>2]=w;Gc=S;Hc=dg;Ic=t;Jc=eg;Kc=fg;Lc=gg;Mc=hg;Nc=ig;Oc=jg;Pc=kg;Qc=lg;Rc=mg;Sc=ng;Tc=og;Uc=pg}while(0);S=Gc+1|0;if(S>>>0>=Aa>>>0){La=Kc;Ma=Hc;Na=Ic;break}else{s=Hc;p=Ic;O=Jc;r=Tc;I=Rc;M=Pc;H=Oc;P=Nc;Q=Mc;U=Kc;q=Uc;o=Sc;F=Qc;v=Lc}}}v=Gp(0,152)|0;if(v){K=v;L=K+76|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));F=(Na|0)==0;if(!F){o=0;do{q=Ma+(o<<2)|0;U=v+(c[q>>2]<<2)|0;c[U>>2]=(c[U>>2]|0)+1;o=o+1+((c[q>>2]|0)>>>0>15&1)|0}while(o>>>0<Na>>>0)}o=ep(l,v,19,7)|0;if(!o){q=Gp(0,152)|0;if(!q){W=9927;X=g;Y=f;Z=v;_=La;$=ya;aa=0}else{U=c[l+24>>2]|0;c[q>>2]=c[U+64>>2];c[q+4>>2]=c[U+68>>2];c[q+8>>2]=c[U+72>>2];c[q+12>>2]=c[U>>2];c[q+16>>2]=c[U+32>>2];c[q+20>>2]=c[U+28>>2];c[q+24>>2]=c[U+36>>2];c[q+28>>2]=c[U+24>>2];c[q+32>>2]=c[U+40>>2];c[q+36>>2]=c[U+20>>2];c[q+40>>2]=c[U+44>>2];c[q+44>>2]=c[U+16>>2];c[q+48>>2]=c[U+48>>2];c[q+52>>2]=c[U+12>>2];c[q+56>>2]=c[U+52>>2];c[q+60>>2]=c[U+8>>2];c[q+64>>2]=c[U+56>>2];c[q+68>>2]=c[U+4>>2];Q=c[U+60>>2]|0;c[q+72>>2]=Q;if(!Q){Q=q;P=152;H=q;M=18;I=q;while(1){if(M<<2>>>0>P>>>0){r=M<<3;O=Gp(I,r)|0;if(!O){W=9928;X=g;Y=f;Z=v;_=La;$=ya;aa=H;break a}qg=O;rg=r;sg=O;tg=O}else{qg=Q;rg=P;sg=H;tg=I}O=M+-1|0;if(M>>>0>4?(c[qg+(O<<2)>>2]|0)==0:0){Q=qg;P=rg;H=sg;M=O;I=tg}else{ug=sg;vg=qg;wg=M;break}}}else{ug=q;vg=q;wg=19}M=C+-257|0;I=V+-1|0;H=b+8|0;P=M&1;Q=c[m>>2]&7;do if(!Q){O=c[D>>2]|0;r=O+1|0;if((c[H>>2]|0)>>>0<r>>>0){p=r<<1;s=Gp(c[b>>2]|0,p)|0;if(!s){xg=0;break}c[H>>2]=p;c[b>>2]=s;yg=s}else yg=c[b>>2]|0;c[D>>2]=r;a[yg+O>>0]=0;xg=c[m>>2]&7}else xg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<xg|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=M>>>1&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0<q>>>0){O=q<<1;r=Gp(c[b>>2]|0,O)|0;if(!r){zg=0;break}c[H>>2]=O;c[b>>2]=r;Ag=r}else Ag=c[b>>2]|0;c[D>>2]=q;a[Ag+Q>>0]=0;zg=c[m>>2]&7}else zg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<zg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=M>>>2&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0<q>>>0){r=q<<1;O=Gp(c[b>>2]|0,r)|0;if(!O){Bg=0;break}c[H>>2]=r;c[b>>2]=O;Cg=O}else Cg=c[b>>2]|0;c[D>>2]=q;a[Cg+C>>0]=0;Bg=c[m>>2]&7}else Bg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<Bg|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=M>>>3&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0<q>>>0){O=q<<1;r=Gp(c[b>>2]|0,O)|0;if(!r){Dg=0;break}c[H>>2]=O;c[b>>2]=r;Eg=r}else Eg=c[b>>2]|0;c[D>>2]=q;a[Eg+Q>>0]=0;Dg=c[m>>2]&7}else Dg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Dg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=M>>>4&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0<q>>>0){r=q<<1;O=Gp(c[b>>2]|0,r)|0;if(!O){Fg=0;break}c[H>>2]=r;c[b>>2]=O;Gg=O}else Gg=c[b>>2]|0;c[D>>2]=q;a[Gg+C>>0]=0;Fg=c[m>>2]&7}else Fg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<Fg|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;M=wg+-4|0;V=I&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0<q>>>0){O=q<<1;r=Gp(c[b>>2]|0,O)|0;if(!r){Hg=0;break}c[H>>2]=O;c[b>>2]=r;Ig=r}else Ig=c[b>>2]|0;c[D>>2]=q;a[Ig+Q>>0]=0;Hg=c[m>>2]&7}else Hg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Hg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=I>>>1&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0<q>>>0){r=q<<1;O=Gp(c[b>>2]|0,r)|0;if(!O){Jg=0;break}c[H>>2]=r;c[b>>2]=O;Kg=O}else Kg=c[b>>2]|0;c[D>>2]=q;a[Kg+C>>0]=0;Jg=c[m>>2]&7}else Jg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<Jg|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=I>>>2&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0<q>>>0){O=q<<1;r=Gp(c[b>>2]|0,O)|0;if(!r){Lg=0;break}c[H>>2]=O;c[b>>2]=r;Mg=r}else Mg=c[b>>2]|0;c[D>>2]=q;a[Mg+Q>>0]=0;Lg=c[m>>2]&7}else Lg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Lg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=I>>>3&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0<q>>>0){r=q<<1;O=Gp(c[b>>2]|0,r)|0;if(!O){Ng=0;break}c[H>>2]=r;c[b>>2]=O;Og=O}else Og=c[b>>2]|0;c[D>>2]=q;a[Og+C>>0]=0;Ng=c[m>>2]&7}else Ng=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<Ng|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=I>>>4&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0<q>>>0){O=q<<1;r=Gp(c[b>>2]|0,O)|0;if(!r){Pg=0;break}c[H>>2]=O;c[b>>2]=r;Qg=r}else Qg=c[b>>2]|0;c[D>>2]=q;a[Qg+Q>>0]=0;Pg=c[m>>2]&7}else Pg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Pg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;I=M&1;P=C&7;do if(!P){C=c[D>>2]|0;Q=C+1|0;if((c[H>>2]|0)>>>0<Q>>>0){q=Q<<1;r=Gp(c[b>>2]|0,q)|0;if(!r){Rg=0;break}c[H>>2]=q;c[b>>2]=r;Sg=r}else Sg=c[b>>2]|0;c[D>>2]=Q;a[Sg+C>>0]=0;Rg=c[m>>2]&7}else Rg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=I<<Rg|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=M>>>1&1;C=P&7;do if(!C){P=c[D>>2]|0;Q=P+1|0;if((c[H>>2]|0)>>>0<Q>>>0){r=Q<<1;q=Gp(c[b>>2]|0,r)|0;if(!q){Tg=0;break}c[H>>2]=r;c[b>>2]=q;Ug=q}else Ug=c[b>>2]|0;c[D>>2]=Q;a[Ug+P>>0]=0;Tg=c[m>>2]&7}else Tg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Tg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;I=M>>>2&1;P=C&7;do if(!P){C=c[D>>2]|0;Q=C+1|0;if((c[H>>2]|0)>>>0<Q>>>0){q=Q<<1;r=Gp(c[b>>2]|0,q)|0;if(!r){Vg=0;break}c[H>>2]=q;c[b>>2]=r;Wg=r}else Wg=c[b>>2]|0;c[D>>2]=Q;a[Wg+C>>0]=0;Vg=c[m>>2]&7}else Vg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=I<<Vg|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=M>>>3&1;C=P&7;do if(!C){P=c[D>>2]|0;Q=P+1|0;if((c[H>>2]|0)>>>0<Q>>>0){r=Q<<1;q=Gp(c[b>>2]|0,r)|0;if(!q){Xg=0;break}c[H>>2]=r;c[b>>2]=q;Yg=q}else Yg=c[b>>2]|0;c[D>>2]=Q;a[Yg+P>>0]=0;Xg=c[m>>2]&7}else Xg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Xg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;if(!wg)Zg=C;else{M=0;I=C;while(1){C=c[vg+(M<<2)>>2]|0;P=C&1;Q=I&7;do if(!Q){q=c[D>>2]|0;r=q+1|0;if((c[H>>2]|0)>>>0<r>>>0){O=r<<1;s=Gp(c[b>>2]|0,O)|0;if(!s){_g=0;break}c[H>>2]=O;c[b>>2]=s;$g=s}else $g=c[b>>2]|0;c[D>>2]=r;a[$g+q>>0]=0;_g=c[m>>2]&7}else _g=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<_g|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;q=C>>>1&1;r=Q&7;do if(!r){Q=c[D>>2]|0;s=Q+1|0;if((c[H>>2]|0)>>>0<s>>>0){O=s<<1;p=Gp(c[b>>2]|0,O)|0;if(!p){ah=0;break}c[H>>2]=O;c[b>>2]=p;bh=p}else bh=c[b>>2]|0;c[D>>2]=s;a[bh+Q>>0]=0;ah=c[m>>2]&7}else ah=r;while(0);r=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[r>>0]=q<<ah|(d[r>>0]|0);r=(c[m>>2]|0)+1|0;c[m>>2]=r;P=C>>>2&1;Q=r&7;do if(!Q){r=c[D>>2]|0;s=r+1|0;if((c[H>>2]|0)>>>0<s>>>0){p=s<<1;O=Gp(c[b>>2]|0,p)|0;if(!O){ch=0;break}c[H>>2]=p;c[b>>2]=O;dh=O}else dh=c[b>>2]|0;c[D>>2]=s;a[dh+r>>0]=0;ch=c[m>>2]&7}else ch=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<ch|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;M=M+1|0;if((M|0)==(wg|0)){Zg=Q;break}else I=Q}}b:do if(!F){I=c[l+12>>2]|0;M=0;V=Zg;while(1){Q=Ma+(M<<2)|0;C=c[Q>>2]|0;q=c[I+(C<<2)>>2]|0;r=c[U+(C<<2)>>2]|0;if(!r){eh=V;fh=C}else{C=r+-1|0;s=0;O=V;do{p=q>>>(C-s|0)&1;S=O&7;do if(!S){w=c[D>>2]|0;t=w+1|0;if((c[H>>2]|0)>>>0<t>>>0){y=t<<1;E=Gp(c[b>>2]|0,y)|0;if(!E){gh=0;break}c[H>>2]=y;c[b>>2]=E;hh=E}else hh=c[b>>2]|0;c[D>>2]=t;a[hh+w>>0]=0;gh=c[m>>2]&7}else gh=S;while(0);S=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[S>>0]=p<<gh|(d[S>>0]|0);O=(c[m>>2]|0)+1|0;c[m>>2]=O;s=s+1|0}while((s|0)!=(r|0));eh=O;fh=c[Q>>2]|0}switch(fh|0){case 16:{r=M+1|0;s=c[Ma+(r<<2)>>2]|0;C=s&1;q=eh&7;do if(!q){S=c[D>>2]|0;Gd=S+1|0;if((c[H>>2]|0)>>>0<Gd>>>0){w=Gd<<1;t=Gp(c[b>>2]|0,w)|0;if(!t){ih=0;break}c[H>>2]=w;c[b>>2]=t;jh=t}else jh=c[b>>2]|0;c[D>>2]=Gd;a[jh+S>>0]=0;ih=c[m>>2]&7}else ih=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=C<<ih|(d[q>>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;Q=s>>>1&1;O=q&7;do if(!O){q=c[D>>2]|0;S=q+1|0;if((c[H>>2]|0)>>>0<S>>>0){Gd=S<<1;t=Gp(c[b>>2]|0,Gd)|0;if(!t){kh=0;break}c[H>>2]=Gd;c[b>>2]=t;lh=t}else lh=c[b>>2]|0;c[D>>2]=S;a[lh+q>>0]=0;kh=c[m>>2]&7}else kh=O;while(0);O=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[O>>0]=Q<<kh|(d[O>>0]|0);O=(c[m>>2]|0)+1|0;c[m>>2]=O;mh=r;nh=O;break}case 17:{O=M+1|0;s=c[Ma+(O<<2)>>2]|0;C=s&1;q=eh&7;do if(!q){S=c[D>>2]|0;t=S+1|0;if((c[H>>2]|0)>>>0<t>>>0){Gd=t<<1;w=Gp(c[b>>2]|0,Gd)|0;if(!w){oh=0;break}c[H>>2]=Gd;c[b>>2]=w;ph=w}else ph=c[b>>2]|0;c[D>>2]=t;a[ph+S>>0]=0;oh=c[m>>2]&7}else oh=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=C<<oh|(d[q>>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;r=s>>>1&1;Q=q&7;do if(!Q){q=c[D>>2]|0;S=q+1|0;if((c[H>>2]|0)>>>0<S>>>0){t=S<<1;w=Gp(c[b>>2]|0,t)|0;if(!w){qh=0;break}c[H>>2]=t;c[b>>2]=w;rh=w}else rh=c[b>>2]|0;c[D>>2]=S;a[rh+q>>0]=0;qh=c[m>>2]&7}else qh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<<qh|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;C=s>>>2&1;q=Q&7;do if(!q){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0<S>>>0){w=S<<1;t=Gp(c[b>>2]|0,w)|0;if(!t){sh=0;break}c[H>>2]=w;c[b>>2]=t;th=t}else th=c[b>>2]|0;c[D>>2]=S;a[th+Q>>0]=0;sh=c[m>>2]&7}else sh=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=C<<sh|(d[q>>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;mh=O;nh=q;break}case 18:{q=M+1|0;s=c[Ma+(q<<2)>>2]|0;r=s&1;Q=eh&7;do if(!Q){S=c[D>>2]|0;t=S+1|0;if((c[H>>2]|0)>>>0<t>>>0){w=t<<1;Gd=Gp(c[b>>2]|0,w)|0;if(!Gd){uh=0;break}c[H>>2]=w;c[b>>2]=Gd;vh=Gd}else vh=c[b>>2]|0;c[D>>2]=t;a[vh+S>>0]=0;uh=c[m>>2]&7}else uh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<<uh|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;O=s>>>1&1;C=Q&7;do if(!C){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0<S>>>0){t=S<<1;Gd=Gp(c[b>>2]|0,t)|0;if(!Gd){wh=0;break}c[H>>2]=t;c[b>>2]=Gd;xh=Gd}else xh=c[b>>2]|0;c[D>>2]=S;a[xh+Q>>0]=0;wh=c[m>>2]&7}else wh=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=O<<wh|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;r=s>>>2&1;Q=C&7;do if(!Q){C=c[D>>2]|0;S=C+1|0;if((c[H>>2]|0)>>>0<S>>>0){Gd=S<<1;t=Gp(c[b>>2]|0,Gd)|0;if(!t){yh=0;break}c[H>>2]=Gd;c[b>>2]=t;zh=t}else zh=c[b>>2]|0;c[D>>2]=S;a[zh+C>>0]=0;yh=c[m>>2]&7}else yh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<<yh|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;O=s>>>3&1;C=Q&7;do if(!C){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0<S>>>0){t=S<<1;Gd=Gp(c[b>>2]|0,t)|0;if(!Gd){Ah=0;break}c[H>>2]=t;c[b>>2]=Gd;Bh=Gd}else Bh=c[b>>2]|0;c[D>>2]=S;a[Bh+Q>>0]=0;Ah=c[m>>2]&7}else Ah=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=O<<Ah|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;r=s>>>4&1;Q=C&7;do if(!Q){C=c[D>>2]|0;S=C+1|0;if((c[H>>2]|0)>>>0<S>>>0){Gd=S<<1;t=Gp(c[b>>2]|0,Gd)|0;if(!t){Ch=0;break}c[H>>2]=Gd;c[b>>2]=t;Dh=t}else Dh=c[b>>2]|0;c[D>>2]=S;a[Dh+C>>0]=0;Ch=c[m>>2]&7}else Ch=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<<Ch|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;O=s>>>5&1;C=Q&7;do if(!C){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0<S>>>0){t=S<<1;Gd=Gp(c[b>>2]|0,t)|0;if(!Gd){Eh=0;break}c[H>>2]=t;c[b>>2]=Gd;Fh=Gd}else Fh=c[b>>2]|0;c[D>>2]=S;a[Fh+Q>>0]=0;Eh=c[m>>2]&7}else Eh=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=O<<Eh|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;r=s>>>6&1;Q=C&7;do if(!Q){C=c[D>>2]|0;S=C+1|0;if((c[H>>2]|0)>>>0<S>>>0){Gd=S<<1;t=Gp(c[b>>2]|0,Gd)|0;if(!t){Gh=0;break}c[H>>2]=Gd;c[b>>2]=t;Hh=t}else Hh=c[b>>2]|0;c[D>>2]=S;a[Hh+C>>0]=0;Gh=c[m>>2]&7}else Gh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<<Gh|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;mh=q;nh=Q;break}default:{mh=M;nh=eh}}M=mh+1|0;if(M>>>0>=Na>>>0)break b;else V=nh}}while(0);dp(m,b,i,j,k);U=c[(c[j+24>>2]|0)+1024>>2]|0;if(!U){W=64;X=g;Y=f;Z=v;_=La;$=ya;aa=ug;break}F=c[(c[j+12>>2]|0)+1024>>2]|0;V=U+-1|0;M=0;I=c[m>>2]|0;do{P=F>>>(V-M|0)&1;Q=I&7;do if(!Q){s=c[D>>2]|0;O=s+1|0;if((c[H>>2]|0)>>>0<O>>>0){C=O<<1;S=Gp(c[b>>2]|0,C)|0;if(!S){Ih=0;break}c[H>>2]=C;c[b>>2]=S;Jh=S}else Jh=c[b>>2]|0;c[D>>2]=O;a[Jh+s>>0]=0;Ih=c[m>>2]&7}else Ih=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<Ih|(d[Q>>0]|0);I=(c[m>>2]|0)+1|0;c[m>>2]=I;M=M+1|0}while((M|0)!=(U|0));W=0;X=g;Y=f;Z=v;_=La;$=ya;aa=ug}}else{W=o;X=g;Y=f;Z=v;_=La;$=ya;aa=0}}else{W=9926;X=g;Y=f;Z=0;_=La;$=ya;aa=0}}else{W=N;X=g;Y=f;Z=0;_=0;$=0;aa=0}}else{W=e;X=g;Y=f;Z=0;_=0;$=0;aa=0}}else{W=9925;X=g;Y=0;Z=0;_=0;$=0;aa=0}}else{W=9924;X=0;Y=0;Z=0;_=0;$=0;aa=0}}while(0);c[R>>2]=0;c[T>>2]=0;Hp(c[i>>2]|0);c[j+8>>2]=0;c[j+4>>2]=0;Hp(c[j>>2]|0);c[j>>2]=0;i=j+12|0;c[j+20>>2]=0;c[j+16>>2]=0;Hp(c[i>>2]|0);c[i>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;Hp(c[j+24>>2]|0);c[k+8>>2]=0;c[k+4>>2]=0;Hp(c[k>>2]|0);c[k>>2]=0;j=k+12|0;c[k+20>>2]=0;c[k+16>>2]=0;Hp(c[j>>2]|0);c[j>>2]=0;c[k+32>>2]=0;c[k+28>>2]=0;Hp(c[k+24>>2]|0);c[l+8>>2]=0;c[l+4>>2]=0;Hp(c[l>>2]|0);c[l>>2]=0;k=l+12|0;c[l+20>>2]=0;c[l+16>>2]=0;Hp(c[k>>2]|0);c[k>>2]=0;c[l+32>>2]=0;c[l+28>>2]=0;Hp(c[l+24>>2]|0);Hp(X);Hp(Y);Hp(Z);Hp(_);Hp($);Hp(aa);J=W;Fa=h;return J|0}default:{J=61;Fa=h;return J|0}}return 0}function cp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0;h=Gp(0,1572864)|0;if(!h){i=9917;return i|0}Yu(h|0,0,786432)|0;j=Gp(0,524288)|0;if(!j){k=0;l=9918;m=0}else{Yu(j|0,0,262144)|0;k=j;l=0;m=j}j=Gp(0,524288)|0;a:do if(j){Yu(j|0,0,262144)|0;if(!l)if(!f){n=0;o=j;p=0}else{q=b+4|0;r=b+8|0;s=0;t=0;u=0;v=0;w=0;x=0;y=0;z=0;while(1){A=s>>>0<g>>>0?s:g;B=f-s|0;C=(s+6|0)>>>0<f>>>0?6:B;if(!C)D=0;else{E=0;F=0;do{E=d[e+(F+s)>>0]<<(F<<1)^E;F=F+1|0}while(F>>>0<C>>>0);D=E&65535}C=B>>>0<258?B:258;b:do if(!C)G=0;else{F=0;while(1){if(a[e+(F+s)>>0]|0){G=F;break b}F=F+1|0;if(F>>>0>=C>>>0){G=C;break}}}while(0);C=h+(D*12|0)|0;E=C+4|0;F=c[E>>2]|0;H=F+1|0;I=C+8|0;if(H<<2>>>0>(c[I>>2]|0)>>>0){J=H<<3;K=Gp(c[C>>2]|0,J)|0;if(!K){n=9920;o=j;p=y;break a}c[I>>2]=J;c[C>>2]=K;L=K}else L=c[C>>2]|0;c[E>>2]=H;c[L+(F<<2)>>2]=s;F=(D|0)==0;if(F){H=v+1|0;if(H<<2>>>0>w>>>0){E=H<<3;K=Gp(z,E)|0;if(!K){n=9920;o=j;p=y;break a}M=C;N=c[C>>2]|0;O=K;P=E;Q=K;R=K;S=K}else{M=C;N=L;O=u;P=w;Q=y;R=x;S=z}c[O+(v<<2)>>2]=G;T=M;U=O;V=H;W=P;X=Q;Y=R;Z=S;_=N}else{T=C;U=u;V=v;W=w;X=y;Y=x;Z=z;_=L}C=k+(D<<2)|0;H=c[C>>2]|0;K=s-A|0;if((c[_+(H<<2)>>2]|0)>>>0<K>>>0){E=c[T>>2]|0;J=H;while(1){I=J+1|0;c[C>>2]=I;if((c[E+(I<<2)>>2]|0)>>>0<K>>>0)J=I;else{$=E;aa=I;break}}}else{$=_;aa=H}E=j+(D<<2)|0;J=c[E>>2]|0;if((c[$+(J<<2)>>2]|0)>>>0<s>>>0){K=J;do{K=K+1|0;c[E>>2]=K}while((c[$+(K<<2)>>2]|0)>>>0<s>>>0);ba=K;ca=c[C>>2]|0}else{ba=J;ca=aa}E=s+258|0;H=E>>>0>f>>>0?f:E;E=e+H|0;A=ba+-1|0;c:do if(A>>>0>=ca>>>0&(ba|0)!=0){I=e+s|0;da=I;d:do if(F){ea=0;fa=0;ga=A;while(1){ha=c[$+(ga<<2)>>2]|0;ia=s-ha|0;ja=c[U+(ga<<2)>>2]|0;ka=ja>>>0>G>>>0?G:ja;ja=ka>>>0>B>>>0?B:ka;ka=I+ja|0;e:do if((ka|0)==(E|0))la=E;else{ma=e+ha+ja|0;na=ka;while(1){if((a[ma>>0]|0)!=(a[na>>0]|0)){la=na;break e}na=na+1|0;if((na|0)==(E|0)){la=E;break}else ma=ma+1|0}}while(0);ka=la-da|0;if(ka>>>0>ea>>>0)if((ka|0)==258){oa=258;pa=ia;break d}else{qa=ka;ra=ia}else{qa=ea;ra=fa}ga=ga+-1|0;if(!(ga>>>0>=ca>>>0&ga>>>0<ba>>>0)){sa=qa;ta=ra;ua=53;break}else{ea=qa;fa=ra}}}else{fa=(s|0)==(H|0);ea=0;ga=0;ka=A;while(1){ja=c[$+(ka<<2)>>2]|0;ha=s-ja|0;if(fa)va=da;else{ma=e+ja|0;ja=I;while(1){if((a[ma>>0]|0)!=(a[ja>>0]|0)){wa=ja;break}ja=ja+1|0;if((ja|0)==(E|0)){wa=E;break}else ma=ma+1|0}va=wa}ma=va-da|0;if(ma>>>0>ea>>>0)if((ma|0)==258){oa=258;pa=ha;break d}else{xa=ma;ya=ha}else{xa=ea;ya=ga}ka=ka+-1|0;if(!(ka>>>0>=ca>>>0&ka>>>0<ba>>>0)){sa=xa;ta=ya;ua=53;break}else{ea=xa;ga=ya}}}while(0);if((ua|0)==53){ua=0;if(sa>>>0<3){ua=54;break}else{oa=sa;pa=ta}}da=28;I=1;while(1){ga=(I+da|0)>>>1;if((c[28176+(ga<<2)>>2]|0)>>>0>oa>>>0){ea=ga+-1|0;ka=c[28176+(ea<<2)>>2]|0;if(ka>>>0>oa>>>0){za=ea;Aa=I}else{Ba=ea;Ca=ka;break}}else{za=da;Aa=ga+1|0}if(Aa>>>0>za>>>0){Ba=28;Ca=258;break}else{da=za;I=Aa}}I=oa-Ca|0;da=29;ga=1;while(1){ka=(ga+da|0)>>>1;if((c[28432+(ka<<2)>>2]|0)>>>0>pa>>>0){ea=ka+-1|0;fa=c[28432+(ea<<2)>>2]|0;if(fa>>>0>pa>>>0){Da=ea;Ea=ga}else{Fa=ea;Ga=fa;break}}else{Da=da;Ea=ka+1|0}if(Ea>>>0>Da>>>0){Fa=29;Ga=24577;break}else{da=Da;ga=Ea}}ga=pa-Ga|0;da=Ba+257|0;ka=c[q>>2]|0;fa=ka+1|0;ea=c[r>>2]|0;do if(fa<<2>>>0>ea>>>0){ma=fa<<3;ja=Gp(c[b>>2]|0,ma)|0;if(!ja){Ha=c[q>>2]|0;Ia=c[r>>2]|0;break}else{c[r>>2]=ma;c[b>>2]=ja;Ja=ja;Ka=ma;ua=74;break}}else{Ja=c[b>>2]|0;Ka=ea;ua=74}while(0);if((ua|0)==74){ua=0;c[q>>2]=fa;c[Ja+(ka<<2)>>2]=da;Ha=fa;Ia=Ka}ea=Ha+1|0;do if(ea<<2>>>0>Ia>>>0){ma=ea<<3;ja=Gp(c[b>>2]|0,ma)|0;if(!ja){La=c[q>>2]|0;Ma=c[r>>2]|0;break}else{c[r>>2]=ma;c[b>>2]=ja;Na=ja;Oa=ma;ua=80;break}}else{Na=c[b>>2]|0;Oa=Ia;ua=80}while(0);if((ua|0)==80){ua=0;c[q>>2]=ea;c[Na+(Ha<<2)>>2]=I;La=ea;Ma=Oa}fa=La+1|0;do if(fa<<2>>>0>Ma>>>0){da=fa<<3;ka=Gp(c[b>>2]|0,da)|0;if(!ka){Pa=c[q>>2]|0;Qa=c[r>>2]|0;break}else{c[r>>2]=da;c[b>>2]=ka;Ra=ka;Sa=da;ua=86;break}}else{Ra=c[b>>2]|0;Sa=Ma;ua=86}while(0);if((ua|0)==86){ua=0;c[q>>2]=fa;c[Ra+(La<<2)>>2]=Fa;Pa=fa;Qa=Sa}ea=Pa+1|0;do if(ea<<2>>>0>Qa>>>0){I=ea<<3;da=Gp(c[b>>2]|0,I)|0;if(!da)break;c[r>>2]=I;c[b>>2]=da;Ta=da;ua=91}else{Ta=c[b>>2]|0;ua=91}while(0);if((ua|0)==91){ua=0;c[q>>2]=ea;c[Ta+(Pa<<2)>>2]=ga}fa=oa+-1|0;if(!fa){Ua=s;Va=t;Wa=U;Xa=V;Ya=W;Za=X;_a=Y;$a=Z;break}da=0;I=s;ka=U;ma=V;ja=W;ia=Y;na=Z;ab=X;while(1){bb=I+1|0;do if(bb>>>0<f>>>0){cb=(I+7|0)>>>0<f>>>0?6:f-bb|0;if(!cb){db=0;break}eb=0;fb=0;do{eb=d[e+(fb+bb)>>0]<<(fb<<1)^eb;fb=fb+1|0}while(fb>>>0<cb>>>0);db=eb&65535}else db=0;while(0);cb=h+(db*12|0)|0;fb=cb+4|0;ha=c[fb>>2]|0;gb=ha+1|0;hb=cb+8|0;if(gb<<2>>>0>(c[hb>>2]|0)>>>0){ib=gb<<3;jb=Gp(c[cb>>2]|0,ib)|0;if(!jb){Ua=bb;Va=9922;Wa=ka;Xa=ma;Ya=ja;Za=ab;_a=ia;$a=na;break c}c[hb>>2]=ib;c[cb>>2]=jb;kb=jb}else kb=c[cb>>2]|0;c[fb>>2]=gb;c[kb+(ha<<2)>>2]=bb;if(!db){ha=f-bb|0;gb=ha>>>0<258?ha:258;f:do if(!gb)lb=0;else{ha=0;while(1){if(a[e+(ha+bb)>>0]|0){lb=ha;break f}ha=ha+1|0;if(ha>>>0>=gb>>>0){lb=gb;break}}}while(0);gb=ma+1|0;if(gb<<2>>>0>ja>>>0){ha=gb<<3;eb=Gp(ia,ha)|0;if(!eb){Ua=bb;Va=9922;Wa=ka;Xa=ma;Ya=ja;Za=ab;_a=ia;$a=na;break c}mb=eb;nb=ha;ob=eb;pb=eb;qb=eb}else{mb=ka;nb=ja;ob=ab;pb=ia;qb=na}c[mb+(ma<<2)>>2]=lb;rb=mb;sb=gb;tb=nb;ub=ob;vb=pb;wb=qb}else{rb=ka;sb=ma;tb=ja;ub=ab;vb=ia;wb=na}da=da+1|0;if(da>>>0>=fa>>>0){Ua=bb;Va=t;Wa=rb;Xa=sb;Ya=tb;Za=ub;_a=vb;$a=wb;break}else{I=bb;ka=rb;ma=sb;ja=tb;ia=vb;na=wb;ab=ub}}}else ua=54;while(0);if((ua|0)==54){ua=0;E=d[e+s>>0]|0;A=c[q>>2]|0;H=A+1|0;if(H<<2>>>0>(c[r>>2]|0)>>>0){B=H<<3;F=Gp(c[b>>2]|0,B)|0;if(!F){n=9921;o=j;p=X;break a}c[r>>2]=B;c[b>>2]=F;xb=F}else xb=c[b>>2]|0;c[q>>2]=H;c[xb+(A<<2)>>2]=E;Ua=s;Va=t;Wa=U;Xa=V;Ya=W;Za=X;_a=Y;$a=Z}s=Ua+1|0;if(s>>>0>=f>>>0){n=Va;o=j;p=Za;break}else{t=Va;u=Wa;v=Xa;w=Ya;x=_a;y=Za;z=$a}}}else{n=l;o=j;p=0}}else{n=9919;o=0;p=0}while(0);j=0;do{l=h+(j*12|0)|0;c[l+8>>2]=0;c[l+4>>2]=0;Hp(c[l>>2]|0);c[l>>2]=0;j=j+1|0}while((j|0)!=65536);Hp(h);Hp(m);Hp(o);Hp(p);i=n;return i|0}function dp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=f+4|0;if(!(c[i>>2]|0))return;j=g+12|0;k=g+24|0;g=e+4|0;l=e+8|0;m=h+12|0;n=h+24|0;h=0;do{o=c[(c[f>>2]|0)+(h<<2)>>2]|0;p=c[(c[j>>2]|0)+(o<<2)>>2]|0;q=c[(c[k>>2]|0)+(o<<2)>>2]|0;if(q|0){r=q+-1|0;s=0;t=c[b>>2]|0;do{u=p>>>(r-s|0)&1;do if(!(t&7)){v=c[g>>2]|0;w=v+1|0;if((c[l>>2]|0)>>>0<w>>>0){x=w<<1;y=Gp(c[e>>2]|0,x)|0;if(!y)break;c[l>>2]=x;c[e>>2]=y;z=y}else z=c[e>>2]|0;c[g>>2]=w;a[z+v>>0]=0}while(0);v=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[v>>0]=u<<(c[b>>2]&7)|(d[v>>0]|0);t=(c[b>>2]|0)+1|0;c[b>>2]=t;s=s+1|0}while((s|0)!=(q|0))}if(o>>>0>256){q=c[28048+(o+-257<<2)>>2]|0;s=c[f>>2]|0;t=c[s+(h+1<<2)>>2]|0;r=c[s+(h+2<<2)>>2]|0;p=c[28304+(r<<2)>>2]|0;v=h+3|0;w=c[s+(v<<2)>>2]|0;if((o+-265|0)>>>0<=19){s=0;y=c[b>>2]|0;do{x=t>>>s&1;do if(!(y&7)){A=c[g>>2]|0;B=A+1|0;if((c[l>>2]|0)>>>0<B>>>0){C=B<<1;D=Gp(c[e>>2]|0,C)|0;if(!D)break;c[l>>2]=C;c[e>>2]=D;E=D}else E=c[e>>2]|0;c[g>>2]=B;a[E+A>>0]=0}while(0);u=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[u>>0]=x<<(c[b>>2]&7)|(d[u>>0]|0);y=(c[b>>2]|0)+1|0;c[b>>2]=y;s=s+1|0}while((s|0)!=(q|0))}q=c[(c[m>>2]|0)+(r<<2)>>2]|0;s=c[(c[n>>2]|0)+(r<<2)>>2]|0;if(s|0){y=s+-1|0;t=0;o=c[b>>2]|0;do{u=q>>>(y-t|0)&1;do if(!(o&7)){A=c[g>>2]|0;B=A+1|0;if((c[l>>2]|0)>>>0<B>>>0){D=B<<1;C=Gp(c[e>>2]|0,D)|0;if(!C)break;c[l>>2]=D;c[e>>2]=C;F=C}else F=c[e>>2]|0;c[g>>2]=B;a[F+A>>0]=0}while(0);x=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[x>>0]=u<<(c[b>>2]&7)|(d[x>>0]|0);o=(c[b>>2]|0)+1|0;c[b>>2]=o;t=t+1|0}while((t|0)!=(s|0))}if(r>>>0<4)G=v;else{s=0;t=c[b>>2]|0;do{o=w>>>s&1;do if(!(t&7)){y=c[g>>2]|0;q=y+1|0;if((c[l>>2]|0)>>>0<q>>>0){x=q<<1;A=Gp(c[e>>2]|0,x)|0;if(!A)break;c[l>>2]=x;c[e>>2]=A;H=A}else H=c[e>>2]|0;c[g>>2]=q;a[H+y>>0]=0}while(0);u=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[u>>0]=o<<(c[b>>2]&7)|(d[u>>0]|0);t=(c[b>>2]|0)+1|0;c[b>>2]=t;s=s+1|0}while((s|0)!=(p|0));G=v}}else G=h;h=G+1|0}while(h>>>0<(c[i>>2]|0)>>>0);return}function ep(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;g=Fa;Fa=Fa+16|0;h=g;c[a+36>>2]=e;i=(d|0)==0;if(i){j=80;Fa=g;return j|0}k=0;l=0;m=0;do{n=c[b+(m<<2)>>2]|0;l=n+l|0;k=k+((n|0)!=0&1)|0;m=m+1|0}while((m|0)!=(d|0));if(i){j=80;Fa=g;return j|0}i=a+40|0;c[i>>2]=d;m=a+24|0;n=a+32|0;o=a+28|0;c[o>>2]=0;p=d<<2;do if(p>>>0>(c[n>>2]|0)>>>0){q=d<<3;r=Gp(c[m>>2]|0,q)|0;if(!r){j=9905;Fa=g;return j|0}else{c[n>>2]=q;c[m>>2]=r;break}}while(0);c[o>>2]=d;Yu(c[m>>2]|0,0,p|0)|0;switch(k|0){case 0:{c[c[m>>2]>>2]=1;j=$o(a)|0;Fa=g;return j|0}case 1:{p=0;do{if(c[b+(p<<2)>>2]|0)c[(c[m>>2]|0)+(p<<2)>>2]=1;p=p+1|0}while((p|0)!=(d|0));j=$o(a)|0;Fa=g;return j|0}default:{c[h>>2]=0;d=h+8|0;c[d>>2]=0;p=h+4|0;c[p>>2]=0;o=h+12|0;c[o>>2]=16;n=fp(h,b,c[i>>2]|0,l)|0;do if(!n){if(e){r=1;q=0;s=0;t=0;do{u=t;t=c[p>>2]|0;c[p>>2]=u;v=q;q=c[d>>2]|0;c[d>>2]=v;w=s;s=c[h>>2]|0;c[h>>2]=w;x=w;if(u|0){w=c[o>>2]|0;y=0;do{z=x+(B(w,y)|0)|0;c[z+8>>2]=0;c[z+4>>2]=0;Hp(c[z>>2]|0);c[z>>2]=0;y=y+1|0}while(y>>>0<u>>>0)}c[p>>2]=0;if(t>>>0>1){u=c[o>>2]|0;y=s;w=0;z=0;A=v;C=x;D=1;while(1){E=z+1|0;F=B(u,E)|0;if(F>>>0>A>>>0){G=F<<1;F=Gp(C,G)|0;if(!F){H=9907;I=C;J=A;K=z;break}else{L=G;M=F}}else{L=A;M=C}F=M+(B(u,z)|0)|0;c[F>>2]=0;G=F+8|0;c[G>>2]=0;N=F+4|0;c[N>>2]=0;O=y+(w<<4)|0;P=F+12|0;c[P>>2]=c[O+12>>2];Q=O+4|0;R=c[Q>>2]|0;if(R&1073741823){S=R<<3;T=Gp(0,S)|0;if(T|0){c[G>>2]=S;c[F>>2]=T;U=T;V=28}}else{U=0;V=28}if((V|0)==28?(V=0,c[N>>2]=R,R=c[Q>>2]|0,R|0):0){Q=c[O>>2]|0;O=0;do{c[U+(O<<2)>>2]=c[Q+(O<<2)>>2];O=O+1|0}while((O|0)!=(R|0))}R=y+(D<<4)|0;O=R+4|0;if(c[O>>2]|0){Q=0;do{T=c[(c[R>>2]|0)+(Q<<2)>>2]|0;S=c[N>>2]|0;W=S+1|0;do if(W<<2>>>0>(c[G>>2]|0)>>>0){X=W<<3;Y=Gp(c[F>>2]|0,X)|0;if(!Y)break;c[G>>2]=X;c[F>>2]=Y;Z=Y;V=37}else{Z=c[F>>2]|0;V=37}while(0);if((V|0)==37){V=0;c[N>>2]=W;c[Z+(S<<2)>>2]=T}Q=Q+1|0}while(Q>>>0<(c[O>>2]|0)>>>0)}f[P>>2]=+f[R+12>>2]+ +f[P>>2];w=w+2|0;D=w|1;if(D>>>0>=t>>>0){H=0;I=M;J=L;K=E;break}else{z=E;A=L;C=M}}c[p>>2]=K;c[d>>2]=J;c[h>>2]=I;_=H}else _=0;if(r>>>0<e>>>0)$=fp(h,b,c[i>>2]|0,l)|0;else $=_;r=r+1|0}while(r>>>0<=e>>>0&($|0)==0);if(!$){aa=s;ba=t}else{ca=$;da=s;ea=t;V=60;break}}else{aa=0;ba=0}r=k+-1|0;q=c[p>>2]|0;if(q>>>0>r>>>0){C=c[h>>2]|0;A=c[o>>2]|0;z=r;do{D=C+(B(A,z)|0)|0;c[D+8>>2]=0;c[D+4>>2]=0;Hp(c[D>>2]|0);c[D>>2]=0;z=z+1|0}while(z>>>0<q>>>0);fa=A}else fa=c[o>>2]|0;A=B(fa,r)|0;if(A>>>0>(c[d>>2]|0)>>>0){z=A<<1;A=Gp(c[h>>2]|0,z)|0;if(!A)ga=q;else{c[d>>2]=z;c[h>>2]=A;V=52}}else V=52;if((V|0)==52){c[p>>2]=r;ga=r}if(!ga)ha=0;else{A=c[h>>2]|0;z=0;do{C=A+(B(fa,z)|0)|0;t=c[C+4>>2]|0;if(t|0){s=c[m>>2]|0;D=c[C>>2]|0;C=0;do{w=s+(c[D+(C<<2)>>2]<<2)|0;c[w>>2]=(c[w>>2]|0)+1;C=C+1|0}while(C>>>0<t>>>0)}z=z+1|0}while(z>>>0<ga>>>0);ha=ga}ia=$o(a)|0;ja=aa;ka=ba;la=ha;ma=ga}else{ca=n;da=0;ea=0;V=60}while(0);if((V|0)==60){V=c[p>>2]|0;ia=ca;ja=da;ka=ea;la=V;ma=V}V=c[h>>2]|0;if(la|0){la=c[o>>2]|0;o=0;do{ea=V+(B(la,o)|0)|0;c[ea+8>>2]=0;c[ea+4>>2]=0;Hp(c[ea>>2]|0);c[ea>>2]=0;o=o+1|0}while(o>>>0<ma>>>0)}ma=p;c[ma>>2]=0;c[ma+4>>2]=0;Hp(V);c[h>>2]=0;h=ja;if(ka|0){ja=0;do{V=h+(ja<<4)|0;c[V+8>>2]=0;c[V+4>>2]=0;Hp(c[V>>2]|0);c[V>>2]=0;ja=ja+1|0}while((ja|0)!=(ka|0))}Hp(h);j=ia;Fa=g;return j|0}}return 0}function fp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;g=a+4|0;a:do if(d|0){h=a+12|0;i=a+8|0;j=+(e>>>0);k=0;while(1){l=b+(k<<2)|0;m=c[l>>2]|0;if(m|0){n=c[g>>2]|0;o=n+1|0;p=c[h>>2]|0;q=B(p,o)|0;if(q>>>0>(c[i>>2]|0)>>>0){r=q<<1;q=Gp(c[a>>2]|0,r)|0;if(!q)break;c[i>>2]=r;c[a>>2]=q;s=q;t=c[h>>2]|0;u=c[l>>2]|0}else{s=c[a>>2]|0;t=p;u=m}c[g>>2]=o;o=s+(B(t,n)|0)|0;c[o>>2]=0;n=o+8|0;c[n>>2]=0;m=o+4|0;c[m>>2]=0;f[o+12>>2]=+(u>>>0)/j;p=Gp(0,8)|0;if(p|0){c[n>>2]=8;c[o>>2]=p;c[m>>2]=1;c[p>>2]=k}}k=k+1|0;if(k>>>0>=d>>>0)break a}c[i>>2]=0;c[g>>2]=0;Hp(c[a>>2]|0);c[a>>2]=0;v=9904;return v|0}while(0);d=c[g>>2]|0;if(!d){v=0;return v|0}g=c[a>>2]|0;if((d|0)==1){v=0;return v|0}a=d;do{u=a*10|0;t=(u+-117|0)>>>0<13|(u+-130|0)>>>0<13?11:(u>>>0)/13|0;a=(t|0)==0?1:t;t=d-a|0;if(!t)w=0;else{u=0;s=0;while(1){b=u+a|0;e=g+(b<<4)+12|0;j=+f[e>>2];k=g+(u<<4)+12|0;x=+f[k>>2];if(j<x){f[e>>2]=x;f[k>>2]=j;k=g+(u<<4)|0;e=g+(b<<4)|0;h=g+(u<<4)+4|0;p=c[h>>2]|0;m=g+(b<<4)+4|0;c[h>>2]=c[m>>2];c[m>>2]=p;p=g+(u<<4)+8|0;m=c[p>>2]|0;h=g+(b<<4)+8|0;c[p>>2]=c[h>>2];c[h>>2]=m;m=c[k>>2]|0;c[k>>2]=c[e>>2];c[e>>2]=m;y=1}else y=s;u=u+1|0;if(u>>>0>=t>>>0){w=y;break}else s=y}}}while(a>>>0>1|w<<24>>24!=0);v=0;return v|0}function gp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d>>>24&255;f=b+4|0;g=c[f>>2]|0;h=g+1|0;i=b+8|0;if((c[i>>2]|0)>>>0<h>>>0){j=h<<1;k=Gp(c[b>>2]|0,j)|0;if(k|0){c[i>>2]=j;c[b>>2]=k;l=k;m=5}}else{l=c[b>>2]|0;m=5}if((m|0)==5){c[f>>2]=h;a[l+g>>0]=e}e=d>>>16&255;g=c[f>>2]|0;l=g+1|0;if((c[i>>2]|0)>>>0<l>>>0){h=l<<1;k=Gp(c[b>>2]|0,h)|0;if(k|0){c[i>>2]=h;c[b>>2]=k;n=k;m=10}}else{n=c[b>>2]|0;m=10}if((m|0)==10){c[f>>2]=l;a[n+g>>0]=e}e=d>>>8&255;g=c[f>>2]|0;n=g+1|0;if((c[i>>2]|0)>>>0<n>>>0){l=n<<1;k=Gp(c[b>>2]|0,l)|0;if(k|0){c[i>>2]=l;c[b>>2]=k;o=k;m=15}}else{o=c[b>>2]|0;m=15}if((m|0)==15){c[f>>2]=n;a[o+g>>0]=e}e=d&255;d=c[f>>2]|0;g=d+1|0;do if((c[i>>2]|0)>>>0<g>>>0){o=g<<1;n=Gp(c[b>>2]|0,o)|0;if(!n)return;else{c[i>>2]=o;c[b>>2]=n;p=n;break}}else p=c[b>>2]|0;while(0);c[f>>2]=g;a[p+d>>0]=e;return}function hp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=Fa;Fa=Fa+16|0;j=i;if(g>>>0<2){k=53;Fa=i;return k|0}l=a[f>>0]|0;m=l&255;n=d[f+1>>0]|0;if(((m<<8|n)>>>0)%31|0|0){k=24;Fa=i;return k|0}if(l<<24>>24<0|(m&15|0)!=8){k=25;Fa=i;return k|0}if(n&32|0){k=26;Fa=i;return k|0}n=c[e>>2]|0;c[j>>2]=c[b>>2];m=j+4|0;c[m>>2]=n;c[j+8>>2]=n;n=Yo(j,f,g,2)|0;l=c[j>>2]|0;c[b>>2]=l;b=c[m>>2]|0;c[e>>2]=b;e=l;if(n|0){k=n;Fa=i;return k|0}if(!(c[h>>2]|0)){h=f+(g+-4)|0;g=(d[h+1>>0]|0)<<16|(d[h>>0]|0)<<24|(d[h+2>>0]|0)<<8|(d[h+3>>0]|0);if(!b){o=0;p=1}else{h=0;f=1;n=b;b=e;while(1){e=n>>>0<5550?n:5550;n=n-e|0;if(!e){q=h;r=f;s=b}else{l=e;m=f;j=b;t=h;while(1){m=m+(d[j>>0]|0)|0;t=m+t|0;l=l+-1|0;if(!l)break;else j=j+1|0}q=t;r=m;s=b+e|0}f=(r>>>0)%65521|0;h=(q>>>0)%65521|0;if(!n)break;else b=s}o=h<<16;p=f}if((o|p|0)!=(g|0)){k=58;Fa=i;return k|0}}k=0;Fa=i;return k|0}function ip(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;i=Fa;Fa=Fa+32|0;j=i+12|0;k=i;l=c[b>>2]|0;m=c[e>>2]|0;c[k>>2]=l;n=k+4|0;c[n>>2]=m;o=k+8|0;c[o>>2]=m;p=m+1|0;if((m|0)!=-1){q=p<<1;r=Gp(l,q)|0;if(!r){s=p;t=m;u=l;v=m}else{c[o>>2]=q;c[k>>2]=r;w=r;x=q;y=4}}else{w=l;x=-1;y=4}if((y|0)==4){c[n>>2]=p;a[w+m>>0]=120;s=m+2|0;t=x;u=w;v=p}if(t>>>0<s>>>0){t=s<<1;p=Gp(u,t)|0;if(p|0){c[o>>2]=t;c[k>>2]=p;z=p;y=8}}else{z=u;y=8}if((y|0)==8){c[n>>2]=s;a[z+v>>0]=1}c[j>>2]=0;v=j+8|0;c[v>>2]=0;z=j+4|0;c[z>>2]=0;s=bp(j,f,g,h)|0;if(s|0){A=c[k>>2]|0;c[b>>2]=A;B=c[n>>2]|0;c[e>>2]=B;Fa=i;return s|0}if(!g){C=0;D=1}else{h=0;u=1;p=g;g=f;while(1){f=p>>>0<5550?p:5550;p=p-f|0;if(!f){E=h;F=u;G=g}else{t=f;w=u;x=g;m=h;while(1){w=w+(d[x>>0]|0)|0;m=w+m|0;t=t+-1|0;if(!t)break;else x=x+1|0}E=m;F=w;G=g+f|0}u=(F>>>0)%65521|0;h=(E>>>0)%65521|0;if(!p)break;else g=G}C=h<<16;D=u}u=C|D;if(c[z>>2]|0){D=0;C=c[k>>2]|0;h=c[n>>2]|0;G=c[o>>2]|0;while(1){g=a[(c[j>>2]|0)+D>>0]|0;p=h+1|0;if(G>>>0<p>>>0){E=p<<1;F=Gp(C,E)|0;if(!F){H=C;I=h;J=G}else{K=F;L=E;y=22}}else{K=C;L=G;y=22}if((y|0)==22){y=0;a[K+h>>0]=g;H=K;I=p;J=L}D=D+1|0;if(D>>>0>=(c[z>>2]|0)>>>0)break;else{C=H;h=I;G=J}}c[n>>2]=I;c[o>>2]=J;c[k>>2]=H}c[v>>2]=0;c[z>>2]=0;Hp(c[j>>2]|0);c[j>>2]=0;gp(k,u);A=c[k>>2]|0;c[b>>2]=A;B=c[n>>2]|0;c[e>>2]=B;Fa=i;return s|0}function jp(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;if(!(c[526428]|0)){e=0;do{f=e>>>1;g=(e&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;c[1516368+(e<<2)>>2]=(g&1|0)==0?f:f^-306674912;e=e+1|0}while((e|0)!=256);c[526428]=1}if(!b){i=0;return i|0}e=-1;f=0;do{e=c[1516368+((e&255^(d[a+f>>0]|0))<<2)>>2]^e>>>8;f=f+1|0}while((f|0)!=(b|0));i=~e;return i|0}function kp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=c[d>>2]|0;i=e+12|0;j=i+h|0;if(j>>>0<i>>>0|j>>>0<h>>>0){k=77;return k|0}i=Gp(c[b>>2]|0,j)|0;if(!i){k=9930;return k|0}c[b>>2]=i;c[d>>2]=j;j=i+h|0;h=e>>>24&255;a[j>>0]=h;i=e>>>16&255;d=j+1|0;a[d>>0]=i;b=e>>>8&255;l=j+2|0;a[l>>0]=b;m=j+3|0;a[m>>0]=e;n=j+4|0;a[n>>0]=a[f>>0]|0;a[j+5>>0]=a[f+1>>0]|0;a[j+6>>0]=a[f+2>>0]|0;a[j+7>>0]=a[f+3>>0]|0;if(!e){o=h;p=i;q=b;r=0}else{b=0;do{a[j+(b+8)>>0]=a[g+b>>0]|0;b=b+1|0}while((b|0)!=(e|0));o=a[j>>0]|0;p=a[d>>0]|0;q=a[l>>0]|0;r=a[m>>0]|0}m=(p&255)<<16|(o&255)<<24|(q&255)<<8|r&255;r=jp(n,m+4|0)|0;n=j+8+m|0;a[n>>0]=r>>>24;a[n+1>>0]=r>>>16;a[n+2>>0]=r>>>8;a[n+3>>0]=r;k=0;return k|0}function lp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b+4|0;g=Gp(c[f>>2]|0,(c[b>>2]<<2)+4|0)|0;h=b+8|0;i=Gp(c[h>>2]|0,(c[b>>2]<<2)+4|0)|0;if(!((g|0)!=0&(i|0)!=0)){Hp(g);Hp(i);j=9933;return j|0}k=c[b>>2]|0;c[b>>2]=k+1;c[f>>2]=g;c[h>>2]=i;i=g+(k<<2)|0;c[i>>2]=0;k=Gp(0,1)|0;if(k|0){a[k>>0]=0;c[i>>2]=k}k=(c[f>>2]|0)+((c[b>>2]|0)+-1<<2)|0;f=ft(d)|0;i=Gp(c[k>>2]|0,f+1|0)|0;if((i|0?(a[i+f>>0]=0,c[k>>2]=i,f|0):0)?(a[i>>0]=a[d>>0]|0,(f|0)!=1):0){i=1;do{a[(c[k>>2]|0)+i>>0]=a[d+i>>0]|0;i=i+1|0}while((i|0)!=(f|0))}f=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[f>>2]=0;i=Gp(0,1)|0;if(i|0){a[i>>0]=0;c[f>>2]=i}i=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;b=ft(e)|0;h=Gp(c[i>>2]|0,b+1|0)|0;if(!h){j=0;return j|0}a[h+b>>0]=0;c[i>>2]=h;if(!b){j=0;return j|0}a[h>>0]=a[e>>0]|0;if((b|0)==1){j=0;return j|0}h=1;do{a[(c[i>>2]|0)+h>>0]=a[e+h>>0]|0;h=h+1|0}while((h|0)!=(b|0));j=0;return j|0}function mp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+4|0;d=c[b>>2]|0;e=a+8|0;f=a+12|0;g=a+16|0;if(!(c[a>>2]|0)){h=d;Hp(h);i=c[e>>2]|0;Hp(i);j=c[f>>2]|0;Hp(j);k=c[g>>2]|0;Hp(k);return}l=0;m=d;while(1){d=m+(l<<2)|0;Hp(c[d>>2]|0);c[d>>2]=0;d=(c[e>>2]|0)+(l<<2)|0;Hp(c[d>>2]|0);c[d>>2]=0;d=(c[f>>2]|0)+(l<<2)|0;Hp(c[d>>2]|0);c[d>>2]=0;d=(c[g>>2]|0)+(l<<2)|0;Hp(c[d>>2]|0);c[d>>2]=0;l=l+1|0;d=c[b>>2]|0;if(l>>>0>=(c[a>>2]|0)>>>0){h=d;break}else m=d}Hp(h);i=c[e>>2]|0;Hp(i);j=c[f>>2]|0;Hp(j);k=c[g>>2]|0;Hp(k);return}function np(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=b+4|0;i=Gp(c[h>>2]|0,(c[b>>2]<<2)+4|0)|0;j=b+8|0;k=Gp(c[j>>2]|0,(c[b>>2]<<2)+4|0)|0;l=b+12|0;m=Gp(c[l>>2]|0,(c[b>>2]<<2)+4|0)|0;n=b+16|0;o=Gp(c[n>>2]|0,(c[b>>2]<<2)+4|0)|0;if(!((i|0)!=0&(k|0)!=0&(m|0)!=0&(o|0)!=0)){Hp(i);Hp(k);Hp(m);Hp(o);p=9934;return p|0}q=c[b>>2]|0;c[b>>2]=q+1;c[h>>2]=i;c[j>>2]=k;c[l>>2]=m;c[n>>2]=o;o=i+(q<<2)|0;c[o>>2]=0;q=Gp(0,1)|0;if(q|0){a[q>>0]=0;c[o>>2]=q}q=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;h=ft(d)|0;o=Gp(c[q>>2]|0,h+1|0)|0;if((o|0?(a[o+h>>0]=0,c[q>>2]=o,h|0):0)?(a[o>>0]=a[d>>0]|0,(h|0)!=1):0){o=1;do{a[(c[q>>2]|0)+o>>0]=a[d+o>>0]|0;o=o+1|0}while((o|0)!=(h|0))}h=(c[j>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[h>>2]=0;o=Gp(0,1)|0;if(o|0){a[o>>0]=0;c[h>>2]=o}o=(c[j>>2]|0)+((c[b>>2]|0)+-1<<2)|0;j=ft(e)|0;h=Gp(c[o>>2]|0,j+1|0)|0;if((h|0?(a[h+j>>0]=0,c[o>>2]=h,j|0):0)?(a[h>>0]=a[e>>0]|0,(j|0)!=1):0){h=1;do{a[(c[o>>2]|0)+h>>0]=a[e+h>>0]|0;h=h+1|0}while((h|0)!=(j|0))}j=(c[l>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[j>>2]=0;h=Gp(0,1)|0;if(h|0){a[h>>0]=0;c[j>>2]=h}h=(c[l>>2]|0)+((c[b>>2]|0)+-1<<2)|0;l=ft(f)|0;j=Gp(c[h>>2]|0,l+1|0)|0;if((j|0?(a[j+l>>0]=0,c[h>>2]=j,l|0):0)?(a[j>>0]=a[f>>0]|0,(l|0)!=1):0){j=1;do{a[(c[h>>2]|0)+j>>0]=a[f+j>>0]|0;j=j+1|0}while((j|0)!=(l|0))}l=(c[n>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[l>>2]=0;j=Gp(0,1)|0;if(j|0){a[j>>0]=0;c[l>>2]=j}j=(c[n>>2]|0)+((c[b>>2]|0)+-1<<2)|0;b=ft(g)|0;n=Gp(c[j>>2]|0,b+1|0)|0;if(!n){p=0;return p|0}a[n+b>>0]=0;c[j>>2]=n;if(!b){p=0;return p|0}a[n>>0]=a[g>>0]|0;if((b|0)==1){p=0;return p|0}n=1;do{a[(c[j>>2]|0)+n>>0]=a[g+n>>0]|0;n=n+1|0}while((n|0)!=(b|0));p=0;return p|0}function op(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a+28>>2]|0;if(b|0)Hp(b);c[a+32>>2]=0;b=a+68|0;d=a+72|0;e=c[d>>2]|0;f=a+76|0;if(!(c[b>>2]|0))g=e;else{h=0;i=e;while(1){e=i+(h<<2)|0;Hp(c[e>>2]|0);c[e>>2]=0;e=(c[f>>2]|0)+(h<<2)|0;Hp(c[e>>2]|0);c[e>>2]=0;h=h+1|0;e=c[d>>2]|0;if(h>>>0>=(c[b>>2]|0)>>>0){g=e;break}else i=e}}Hp(g);Hp(c[f>>2]|0);mp(a+80|0);Hp(c[a+132>>2]|0);Hp(c[a+136>>2]|0);Hp(c[a+140>>2]|0);return}function pp(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;j=B(i,h)|0;h=c[f>>2]|0;i=c[f+4>>2]|0;switch(h|0){case 3:case 0:{k=1;break}case 2:{k=3;break}case 4:{k=2;break}case 6:{k=4;break}default:k=0}f=(B(k,i)|0)>>>3;k=h>>>2&1;l=c[g>>2]|0;if((l|0)==(h|0)?(c[g+4>>2]|0)==(i|0):0){switch(h|0){case 3:case 0:{m=1;break}case 2:{m=3;break}case 4:{m=2;break}case 6:{m=4;break}default:m=0}n=((B(B(i,j)|0,m)|0)+7|0)>>>3;if(!n){o=0;return o|0}m=0;do{a[b+m>>0]=a[e+m>>0]|0;m=m+1|0}while((m|0)!=(n|0));o=0;return o|0}switch(h|0){case 6:case 2:break;default:{if(!((h|4|0)==4&(i|0)==8)){o=59;return o|0}if((l|4|0)!=4){o=62;return o|0}h=g+4|0;n=c[h>>2]|0;switch(n|0){case 8:{switch(l|0){case 0:{if(!j){o=0;return o|0}m=g+16|0;p=g+20|0;if(!k){q=0;do{a[b+(B(q,f)|0)>>0]=a[e+q>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}q=0;do{r=B(q,f)|0;s=b+(r+1)|0;a[s>>0]=-1;t=e+q|0;a[b+r>>0]=a[t>>0]|0;if(c[m>>2]|0?(c[p>>2]|0)==(d[t>>0]|0|0):0)a[s>>0]=0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}case 4:{if(!j){o=0;return o|0}if(!k){q=0;do{a[b+(B(q,f)|0)>>0]=a[e+(q<<1)>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}else{q=0;do{p=q<<1;m=B(q,f)|0;a[b+m>>0]=a[e+p>>0]|0;a[b+(m+1)>>0]=a[e+(p|1)>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}break}default:{o=31;return o|0}}break}case 16:{switch(l|0){case 0:{if(!j){o=0;return o|0}q=g+16|0;p=g+20|0;if(!k){m=0;do{a[b+(B(m,f)|0)>>0]=a[e+(m<<1)>>0]|0;m=m+1|0}while((m|0)!=(j|0));o=0;return o|0}m=0;while(1){s=B(m,f)|0;t=b+(s+1)|0;a[t>>0]=-1;a[b+s>>0]=a[e+(m<<1)>>0]|0;if(c[q>>2]|0){s=m+1|0;if(((d[e+m>>0]|0)<<8|(d[e+s>>0]|0)|0)==(c[p>>2]|0)){a[t>>0]=0;u=s}else u=s}else u=m+1|0;if((u|0)==(j|0)){o=0;break}else m=u}return o|0}case 4:{if(!j){o=0;return o|0}if(!k){u=0;do{a[b+(B(u,f)|0)>>0]=a[e+(u<<2)>>0]|0;u=u+1|0}while((u|0)!=(j|0));o=0;return o|0}else{u=0;do{m=u<<2;p=B(u,f)|0;a[b+p>>0]=a[e+m>>0]|0;a[b+(p+1)>>0]=a[e+(m|2)>>0]|0;u=u+1|0}while((u|0)!=(j|0));o=0;return o|0}break}default:{o=31;return o|0}}break}default:{if(l|0){o=31;return o|0}if(!j){o=0;return o|0}u=g+16|0;m=g+20|0;if(!k){p=0;q=0;s=n;while(1){if(!s){v=0;w=q}else{t=0;r=s+-1|0;x=q;while(1){y=x+1|0;z=(((d[e+(x>>>3)>>0]|0)>>>(x&7^7)&1)<<r)+t|0;r=r+-1|0;if(r>>>0>=s>>>0){v=z;w=y;break}else{t=z;x=y}}}a[b+(B(p,f)|0)>>0]=((v*255|0)>>>0)/(((1<<s)+-1|0)>>>0)|0;x=p+1|0;if((x|0)==(j|0)){o=0;break}p=x;q=w;s=c[h>>2]|0}return o|0}s=0;w=0;q=n;while(1){if(!q){A=0;C=w}else{n=0;p=q+-1|0;v=w;while(1){x=v+1|0;t=(((d[e+(v>>>3)>>0]|0)>>>(v&7^7)&1)<<p)+n|0;p=p+-1|0;if(p>>>0>=q>>>0){A=t;C=x;break}else{n=t;v=x}}}v=B(s,f)|0;n=b+(v+1)|0;a[n>>0]=-1;if((A|0)!=0&(c[u>>2]|0)!=0?(p=(1<<c[h>>2])+-1|0,!((p|0)==0?1:(p|0)!=(c[m>>2]|0))):0)a[n>>0]=0;a[b+v>>0]=((A*255|0)>>>0)/(((1<<c[h>>2])+-1|0)>>>0)|0;v=s+1|0;if((v|0)==(j|0)){o=0;break}s=v;w=C;q=c[h>>2]|0}return o|0}}}}if((i|0)!=8){o=59;return o|0}i=g+4|0;h=c[i>>2]|0;switch(h|0){case 8:{switch(l|0){case 0:{if(!j){o=0;return o|0}q=g+16|0;C=g+20|0;if(!k){w=0;do{s=e+w|0;A=B(w,f)|0;a[b+A>>0]=a[s>>0]|0;a[b+(A+1)>>0]=a[s>>0]|0;a[b+(A+2)>>0]=a[s>>0]|0;w=w+1|0}while((w|0)!=(j|0));o=0;return o|0}w=0;do{s=B(w,f)|0;A=b+(s+3)|0;a[A>>0]=-1;m=e+w|0;a[b+s>>0]=a[m>>0]|0;a[b+(s+1)>>0]=a[m>>0]|0;a[b+(s+2)>>0]=a[m>>0]|0;if(c[q>>2]|0?(c[C>>2]|0)==(d[m>>0]|0|0):0)a[A>>0]=0;w=w+1|0}while((w|0)!=(j|0));o=0;return o|0}case 2:{if(!j){o=0;return o|0}w=(k|0)!=0;C=g+16|0;q=g+20|0;A=g+24|0;m=g+28|0;s=0;do{u=B(s,f)|0;if(w)a[b+(u+3)>>0]=-1;v=s*3|0;n=e+v|0;a[b+u>>0]=a[n>>0]|0;p=e+(v+1)|0;a[b+(u+1)>>0]=a[p>>0]|0;x=e+(v+2)|0;a[b+(u+2)>>0]=a[x>>0]|0;if((((w?(c[C>>2]|0)==1:0)?(c[q>>2]|0)==(d[n>>0]|0|0):0)?(c[A>>2]|0)==(d[p>>0]|0|0):0)?(c[m>>2]|0)==(d[x>>0]|0|0):0)a[b+(u+3)>>0]=0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}case 3:{if(!j){o=0;return o|0}s=g+12|0;m=(f|0)!=0;A=g+8|0;q=(f|0)==1;if(!k){C=0;while(1){w=e+C|0;u=a[w>>0]|0;if((c[s>>2]|0)>>>0<=(u&255)>>>0){o=46;D=179;break}if(m?(x=B(C,f)|0,a[b+x>>0]=a[(c[A>>2]|0)+((u&255)<<2)>>0]|0,!q):0){u=1;do{a[b+(u+x)>>0]=a[(c[A>>2]|0)+(((d[w>>0]|0)<<2)+u)>>0]|0;u=u+1|0}while((u|0)!=(f|0))}C=C+1|0;if(C>>>0>=j>>>0){o=0;D=179;break}}if((D|0)==179)return o|0}else{C=0;while(1){u=B(C,f)|0;a[b+(u+3)>>0]=-1;w=e+C|0;x=a[w>>0]|0;if((c[s>>2]|0)>>>0<=(x&255)>>>0){o=46;D=179;break}if(m?(a[b+u>>0]=a[(c[A>>2]|0)+((x&255)<<2)>>0]|0,!q):0){x=1;do{a[b+(x+u)>>0]=a[(c[A>>2]|0)+(((d[w>>0]|0)<<2)+x)>>0]|0;x=x+1|0}while((x|0)!=(f|0))}C=C+1|0;if(C>>>0>=j>>>0){o=0;D=179;break}}if((D|0)==179)return o|0}break}case 4:{if(!j){o=0;return o|0}if(!k){C=0;do{A=e+(C<<1)|0;q=B(C,f)|0;a[b+q>>0]=a[A>>0]|0;a[b+(q+1)>>0]=a[A>>0]|0;a[b+(q+2)>>0]=a[A>>0]|0;C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}else{C=0;do{A=C<<1;q=e+A|0;m=B(C,f)|0;a[b+m>>0]=a[q>>0]|0;a[b+(m+1)>>0]=a[q>>0]|0;a[b+(m+2)>>0]=a[q>>0]|0;a[b+(m+3)>>0]=a[e+(A|1)>>0]|0;C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}break}case 6:{if((j|0)==0|(f|0)==0){o=0;return o|0}C=0;do{A=C<<2;m=B(C,f)|0;q=0;do{a[b+(q+m)>>0]=a[e+(q+A)>>0]|0;q=q+1|0}while((q|0)!=(f|0));C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}default:{o=0;return o|0}}break}case 16:{switch(l|0){case 0:{if(!j){o=0;return o|0}C=g+16|0;q=g+20|0;if(!k){A=0;do{m=e+(A<<1)|0;s=B(A,f)|0;a[b+s>>0]=a[m>>0]|0;a[b+(s+1)>>0]=a[m>>0]|0;a[b+(s+2)>>0]=a[m>>0]|0;A=A+1|0}while((A|0)!=(j|0));o=0;return o|0}A=0;while(1){m=B(A,f)|0;s=b+(m+3)|0;a[s>>0]=-1;x=e+(A<<1)|0;a[b+m>>0]=a[x>>0]|0;a[b+(m+1)>>0]=a[x>>0]|0;a[b+(m+2)>>0]=a[x>>0]|0;if(c[C>>2]|0){x=A+1|0;if(((d[e+A>>0]|0)<<8|(d[e+x>>0]|0)|0)==(c[q>>2]|0)){a[s>>0]=0;E=x}else E=x}else E=A+1|0;if((E|0)==(j|0)){o=0;break}else A=E}return o|0}case 2:{if(!j){o=0;return o|0}E=(k|0)!=0;A=g+16|0;q=g+20|0;C=g+24|0;x=g+28|0;s=0;do{m=B(s,f)|0;if(E)a[b+(m+3)>>0]=-1;w=s*6|0;u=e+w|0;a[b+m>>0]=a[u>>0]|0;p=e+(w+2)|0;a[b+(m+1)>>0]=a[p>>0]|0;n=e+(w+4)|0;a[b+(m+2)>>0]=a[n>>0]|0;if((((E?c[A>>2]|0:0)?((d[u>>0]|0)<<8|(d[e+(w|1)>>0]|0)|0)==(c[q>>2]|0):0)?((d[p>>0]|0)<<8|(d[e+(w+3)>>0]|0)|0)==(c[C>>2]|0):0)?((d[n>>0]|0)<<8|(d[e+(w+5)>>0]|0)|0)==(c[x>>2]|0):0)a[b+(m+3)>>0]=0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}case 4:{if(!j){o=0;return o|0}if(!k){s=0;do{x=e+(s<<2)|0;C=B(s,f)|0;a[b+C>>0]=a[x>>0]|0;a[b+(C+1)>>0]=a[x>>0]|0;a[b+(C+2)>>0]=a[x>>0]|0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}else{s=0;do{x=s<<2;C=e+x|0;q=B(s,f)|0;a[b+q>>0]=a[C>>0]|0;a[b+(q+1)>>0]=a[C>>0]|0;a[b+(q+2)>>0]=a[C>>0]|0;a[b+(q+3)>>0]=a[e+(x|2)>>0]|0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}break}case 6:{if((j|0)==0|(f|0)==0){o=0;return o|0}s=0;do{x=s<<3;q=B(s,f)|0;C=0;do{a[b+(C+q)>>0]=a[e+((C<<1)+x)>>0]|0;C=C+1|0}while((C|0)!=(f|0));s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}default:{o=0;return o|0}}break}default:switch(l|0){case 0:{if(!j){o=0;return o|0}l=(k|0)==0;s=g+16|0;C=g+20|0;x=0;q=0;A=h;while(1){if(!A){F=0;G=x}else{E=0;m=A+-1|0;w=x;while(1){n=w+1|0;p=(((d[e+(w>>>3)>>0]|0)>>>(w&7^7)&1)<<m)+E|0;m=m+-1|0;if(m>>>0>=A>>>0){F=p;G=n;break}else{E=p;w=n}}}w=B(q,f)|0;if((!l?(E=b+(w+3)|0,a[E>>0]=-1,(F|0)!=0&(c[s>>2]|0)!=0):0)?(m=(1<<c[i>>2])+-1|0,!((m|0)==0?1:(m|0)!=(c[C>>2]|0))):0)a[E>>0]=0;E=(((F*255|0)>>>0)/(((1<<c[i>>2])+-1|0)>>>0)|0)&255;a[b+w>>0]=E;a[b+(w+1)>>0]=E;a[b+(w+2)>>0]=E;E=q+1|0;if((E|0)==(j|0)){o=0;break}x=G;q=E;A=c[i>>2]|0}return o|0}case 3:{if(!j){o=0;return o|0}A=(k|0)==0;k=g+12|0;q=(f|0)==0;G=g+8|0;g=0;x=0;F=h;while(1){if(!F){H=0;I=x}else{h=0;C=F+-1|0;s=x;while(1){l=s+1|0;E=(((d[e+(s>>>3)>>0]|0)>>>(s&7^7)&1)<<C)+h|0;C=C+-1|0;if(C>>>0>=F>>>0){H=E;I=l;break}else{h=E;s=l}}}if(!A)a[b+((B(g,f)|0)+3)>>0]=-1;if(H>>>0>=(c[k>>2]|0)>>>0){o=47;D=179;break}if(!q){s=H<<2;h=B(g,f)|0;C=0;do{a[b+(C+h)>>0]=a[(c[G>>2]|0)+(C+s)>>0]|0;C=C+1|0}while((C|0)!=(f|0))}C=g+1|0;if(C>>>0>=j>>>0){o=0;D=179;break}g=C;x=I;F=c[i>>2]|0}if((D|0)==179)return o|0;break}default:{o=0;return o|0}}}return 0}function qp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if((e|0)==0|(f|0)==0){c[b+208>>2]=48;return}if(f>>>0<29){c[b+208>>2]=27;return}f=b+52|0;op(f);g=b+56|0;c[g>>2]=0;c[f>>2]=0;h=b+88|0;i=b+72|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[i>>2]=6;h=b+76|0;c[h>>2]=8;c[b+80>>2]=0;c[b+84>>2]=0;j=b+68|0;c[j>>2]=0;k=b+60|0;c[k>>2]=0;l=b+64|0;c[l>>2]=0;m=b+104|0;c[b+168>>2]=0;n=b+184|0;o=m;p=o+48|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));a[m+48>>0]=0;m=b+208|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;if((((((((a[e>>0]|0)==-119?(a[e+1>>0]|0)==80:0)?(a[e+2>>0]|0)==78:0)?(a[e+3>>0]|0)==71:0)?(a[e+4>>0]|0)==13:0)?(a[e+5>>0]|0)==10:0)?(a[e+6>>0]|0)==26:0)?(a[e+7>>0]|0)==10:0){n=e+12|0;if((((a[n>>0]|0)==73?(a[e+13>>0]|0)==72:0)?(a[e+14>>0]|0)==68:0)?(a[e+15>>0]|0)==82:0){c[f>>2]=d[e+17>>0]<<16|d[e+16>>0]<<24|d[e+18>>0]<<8|d[e+19>>0];c[g>>2]=d[e+21>>0]<<16|d[e+20>>0]<<24|d[e+22>>0]<<8|d[e+23>>0];c[h>>2]=d[e+24>>0];c[i>>2]=d[e+25>>0];g=d[e+26>>0]|0;c[k>>2]=g;c[l>>2]=d[e+27>>0];c[j>>2]=d[e+28>>0];do if(!(c[b+4>>2]|0)){f=d[e+30>>0]<<16|d[e+29>>0]<<24|d[e+31>>0]<<8|d[e+32>>0];if((f|0)==(jp(n,17)|0)){q=c[k>>2]|0;break}c[m>>2]=57;return}else q=g;while(0);if(q|0){c[m>>2]=32;return}if(c[l>>2]|0){c[m>>2]=33;return}if((c[j>>2]|0)>>>0>1){c[m>>2]=34;return}j=c[h>>2]|0;switch(c[i>>2]|0){case 0:{switch(j|0){case 1:case 2:case 4:case 8:case 16:{r=35;break}default:s=37}break}case 2:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}case 3:{switch(j|0){case 1:case 2:case 4:case 8:{r=35;break}default:s=37}break}case 4:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}case 6:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}default:s=31}if((r|0)==35)s=0;c[m>>2]=s;return}c[m>>2]=29;return}c[m>>2]=28;return}function rp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0;i=Fa;Fa=Fa+336|0;j=i+288|0;k=i+256|0;l=i+224|0;m=i+192|0;n=i+160|0;o=i+128|0;p=i+96|0;q=i+64|0;r=i+32|0;s=i;t=i+316|0;c[e>>2]=0;c[f>>2]=0;qp(b,g,h);u=b+208|0;if(c[u>>2]|0){Fa=i;return}v=g;w=b+4|0;x=b+80|0;y=b+84|0;z=b+72|0;A=b+88|0;C=b+100|0;D=b+96|0;E=b+92|0;F=b+12|0;G=b+104|0;H=b+116|0;I=b+112|0;J=b+108|0;K=j+8|0;L=j+4|0;M=b+16|0;N=j+8|0;O=j+4|0;P=b+152|0;Q=b+156|0;R=b+160|0;S=b+161|0;T=b+162|0;U=b+163|0;V=b+164|0;W=b+168|0;X=b+172|0;Y=b+176|0;Z=b+180|0;_=b+120|0;$=b+132|0;a:do if(h>>>0<45){aa=0;ba=4}else{ca=g+33|0;da=0;ea=1;fa=0;ga=0;ha=0;ia=45;b:while(1){ja=ca+1|0;ka=ca+2|0;la=ca+3|0;ma=d[ja>>0]<<16|d[ca>>0]<<24|d[ka>>0]<<8|d[la>>0];if((ma|0)<0){ba=6;break}if((ma+ia|0)>>>0>h>>>0){ba=9;break}if((ca+ma+12|0)>>>0<g>>>0){ba=9;break}na=ca+8|0;oa=ca+4|0;pa=a[oa>>0]|0;c:do switch(pa<<24>>24){case 73:{switch(a[ca+5>>0]|0){case 68:break;case 69:{if((a[ca+6>>0]|0)!=78){ba=187;break b}if((a[ca+7>>0]|0)==68){qa=1;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}else{ba=187;break b}break}default:{ba=187;break b}}if((a[ca+6>>0]|0)!=65){ba=187;break b}if((a[ca+7>>0]|0)!=84){ba=187;break b}wa=ma+ha|0;if(ga>>>0<wa>>>0){xa=wa<<1;ya=Gp(fa,xa)|0;if(!ya){ba=19;break b}else{za=ya;Aa=xa}}else{za=fa;Aa=ga}if(!ma){qa=0;ra=da;sa=3;ta=za;ua=Aa;va=wa}else{xa=0;do{a[za+(xa+ha)>>0]=a[na+xa>>0]|0;xa=xa+1|0}while((xa|0)!=(ma|0));qa=0;ra=da;sa=3;ta=za;ua=Aa;va=wa}break}case 80:{if((a[ca+5>>0]|0)!=76){ba=187;break b}if((a[ca+6>>0]|0)!=84){ba=187;break b}if((a[ca+7>>0]|0)!=69){ba=187;break b}wa=c[x>>2]|0;if(wa|0)Hp(wa);wa=(ma>>>0)/3|0;c[y>>2]=wa;xa=Fp(wa<<2)|0;c[x>>2]=xa;wa=c[y>>2]|0;if(!xa)if(!wa){qa=0;ra=da;sa=2;ta=fa;ua=ga;va=ha;break c}else{ba=29;break b}if(wa>>>0>256){ba=31;break b}if(!wa){qa=0;ra=da;sa=2;ta=fa;ua=ga;va=ha}else{wa=0;ya=0;Ba=xa;while(1){xa=ya<<2;a[Ba+xa>>0]=a[na+wa>>0]|0;a[(c[x>>2]|0)+(xa|1)>>0]=a[na+(wa+1)>>0]|0;a[(c[x>>2]|0)+(xa|2)>>0]=a[na+(wa+2)>>0]|0;a[(c[x>>2]|0)+(xa|3)>>0]=-1;xa=ya+1|0;if(xa>>>0>=(c[y>>2]|0)>>>0){qa=0;ra=da;sa=2;ta=fa;ua=ga;va=ha;break c}wa=wa+3|0;ya=xa;Ba=c[x>>2]|0}}break}case 116:{switch(a[ca+5>>0]|0){case 82:{if((a[ca+6>>0]|0)!=78){ba=188;break c}if((a[ca+7>>0]|0)!=83){ba=188;break c}switch(c[z>>2]|0){case 3:{if(ma>>>0>(c[y>>2]|0)>>>0){ba=41;break b}if(!ma){qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}Ba=0;do{a[(c[x>>2]|0)+(Ba<<2|3)>>0]=a[na+Ba>>0]|0;Ba=Ba+1|0}while((Ba|0)!=(ma|0));qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break}case 0:{if((ma|0)!=2){ba=46;break b}c[A>>2]=1;Ba=d[na>>0]<<8|d[ca+9>>0];c[C>>2]=Ba;c[D>>2]=Ba;c[E>>2]=Ba;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 2:{if((ma|0)!=6){ba=49;break b}c[A>>2]=1;c[E>>2]=d[na>>0]<<8|d[ca+9>>0];c[D>>2]=d[ca+10>>0]<<8|d[ca+11>>0];c[C>>2]=d[ca+12>>0]<<8|d[ca+13>>0];qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}default:{ba=51;break b}}break}case 69:{if((a[ca+6>>0]|0)!=88){ba=188;break c}if((a[ca+7>>0]|0)!=116){ba=188;break c}if(!(c[F>>2]|0)){qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}if(!(c[u>>2]|0)){d:do if(!ma){Ca=0;ba=72}else{Ba=0;while(1){ya=Ba+1|0;if(!(a[na+Ba>>0]|0)){Da=Ba;Ea=ya;break d}if(ya>>>0<ma>>>0)Ba=ya;else{Ca=ya;ba=72;break}}}while(0);if((ba|0)==72){ba=0;Da=Ca;Ea=Ca+1|0}do if(ma>>>0>Ea>>>0){Ba=Fp(Ea)|0;if(Ba){a[Ba+Da>>0]=0;if(Da|0){ya=0;do{a[Ba+ya>>0]=a[na+ya>>0]|0;ya=ya+1|0}while((ya|0)!=(Da|0))}if(ma>>>0<Ea>>>0){Ga=0;Ha=Ba;Ia=75}else{ya=ma-Ea|0;wa=Fp(ya+1|0)|0;if(!wa){Ga=0;Ha=Ba;Ia=9939;break}a[wa+ya>>0]=0;if(ya|0){xa=0;do{a[wa+xa>>0]=a[na+(xa+Ea)>>0]|0;xa=xa+1|0}while((xa|0)!=(ya|0))}Ga=wa;Ha=Ba;Ia=lp(_,Ba,wa)|0}}else{Ga=0;Ha=0;Ia=9938}}else{Ga=0;Ha=0;Ia=75}while(0);c[u>>2]=Ia;Ja=Ga;Ka=Ha}else{Ja=0;Ka=0}Hp(Ka);Hp(Ja);qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 73:{if((a[ca+6>>0]|0)!=77){ba=188;break c}if((a[ca+7>>0]|0)!=69){ba=188;break c}if((ma|0)!=7){ba=178;break b}a[P>>0]=1;c[Q>>2]=d[na>>0]<<8|d[ca+9>>0];a[R>>0]=a[ca+10>>0]|0;a[S>>0]=a[ca+11>>0]|0;a[T>>0]=a[ca+12>>0]|0;a[U>>0]=a[ca+13>>0]|0;a[V>>0]=a[ca+14>>0]|0;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}default:{ba=188;break c}}break}case 98:{if(((a[ca+5>>0]|0)==75?(a[ca+6>>0]|0)==71:0)?(a[ca+7>>0]|0)==68:0)switch(c[z>>2]|0){case 3:{if((ma|0)!=1){ba=57;break b}c[G>>2]=1;ya=d[na>>0]|0;c[H>>2]=ya;c[I>>2]=ya;c[J>>2]=ya;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 4:case 0:{if((ma|0)!=2){ba=60;break b}c[G>>2]=1;ya=d[na>>0]<<8|d[ca+9>>0];c[H>>2]=ya;c[I>>2]=ya;c[J>>2]=ya;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 6:case 2:{if((ma|0)!=6){ba=63;break b}c[G>>2]=1;c[J>>2]=d[na>>0]<<8|d[ca+9>>0];c[I>>2]=d[ca+10>>0]<<8|d[ca+11>>0];c[H>>2]=d[ca+12>>0]<<8|d[ca+13>>0];qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}default:{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}}else ba=188;break}case 122:{if(((a[ca+5>>0]|0)==84?(a[ca+6>>0]|0)==88:0)?(a[ca+7>>0]|0)==116:0)if(c[F>>2]|0){c[j>>2]=0;c[K>>2]=0;c[L>>2]=0;do if(!(c[u>>2]|0)){e:do if(!ma)La=0;else{ya=0;while(1){if(!(a[na+ya>>0]|0)){La=ya;break e}xa=ya+1|0;if(xa>>>0<ma>>>0)ya=xa;else{La=xa;break}}}while(0);wa=La+2|0;if(ma>>>0<=wa>>>0){c[u>>2]=75;Ma=0;Na=0;break}Ba=La+1|0;ya=Fp(Ba)|0;if(!ya){c[u>>2]=9940;Ma=0;Na=0;break}a[ya+La>>0]=0;if(La|0){xa=0;do{a[ya+xa>>0]=a[na+xa>>0]|0;xa=xa+1|0}while((xa|0)!=(La|0))}if(a[na+Ba>>0]|0){c[u>>2]=72;Ma=ya;Na=0;break}if(ma>>>0<wa>>>0){c[u>>2]=75;Ma=ya;Na=0;break}xa=hp(j,L,na+wa|0,ma-wa|0,b)|0;c[u>>2]=xa;if(xa|0){Ma=ya;Na=c[j>>2]|0;break}xa=c[L>>2]|0;Oa=xa+1|0;do if((c[K>>2]|0)>>>0<Oa>>>0){Pa=Oa<<1;Qa=c[j>>2]|0;Ra=Gp(Qa,Pa)|0;if(!Ra){Sa=Qa;break}c[K>>2]=Pa;c[j>>2]=Ra;Ta=Ra;ba=113}else{Ta=c[j>>2]|0;ba=113}while(0);if((ba|0)==113){ba=0;c[L>>2]=Oa;a[Ta+xa>>0]=0;Sa=Ta}c[u>>2]=lp(_,ya,Sa)|0;Ma=ya;Na=Sa}else{Ma=0;Na=0}while(0);Hp(Ma);Hp(Na);if(c[u>>2]|0){Ua=fa;break a}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}else ba=188;break}case 105:{if(((a[ca+5>>0]|0)==84?(a[ca+6>>0]|0)==88:0)?(a[ca+7>>0]|0)==116:0)if(c[F>>2]|0){c[j>>2]=0;c[N>>2]=0;c[O>>2]=0;f:do if(!(c[u>>2]|0)){if(ma>>>0<5){c[u>>2]=76;Va=0;Wa=0;Xa=0;Ya=0;break}wa=0;while(1){if(!(a[na+wa>>0]|0)){Za=wa;break}Ba=wa+1|0;if(Ba>>>0<ma>>>0)wa=Ba;else{Za=Ba;break}}wa=Za+2|0;if(wa>>>0>=ma>>>0){c[u>>2]=75;Va=0;Wa=0;Xa=0;Ya=0;break}ya=Za+1|0;xa=Fp(ya)|0;if(!xa){c[u>>2]=9941;Va=0;Wa=0;Xa=0;Ya=0;break}a[xa+Za>>0]=0;if(Za|0){Oa=0;do{a[xa+Oa>>0]=a[na+Oa>>0]|0;Oa=Oa+1|0}while((Oa|0)!=(Za|0))}Oa=a[na+ya>>0]|0;if(a[na+wa>>0]|0){c[u>>2]=72;Va=0;Wa=0;Xa=xa;Ya=0;break}Ba=Za+3|0;g:do if(Ba>>>0<ma>>>0){Ra=0;Pa=Ba;while(1){if(!(a[na+Pa>>0]|0)){_a=Ra;break g}Qa=Ra+1|0;Pa=Pa+1|0;if(Pa>>>0>=ma>>>0){_a=Qa;break}else Ra=Qa}}else _a=0;while(0);wa=_a+1|0;ya=wa+Ba|0;if(ya>>>0>=ma>>>0){c[u>>2]=75;Va=0;Wa=0;Xa=xa;Ya=0;break}Ra=Fp(wa)|0;if(!Ra){c[u>>2]=9942;Va=0;Wa=0;Xa=xa;Ya=0;break}a[Ra+_a>>0]=0;if(_a|0){wa=0;do{a[Ra+wa>>0]=a[na+(wa+Ba)>>0]|0;wa=wa+1|0}while((wa|0)!=(_a|0))}wa=0;Ba=ya;while(1){if(!(a[na+Ba>>0]|0)){$a=wa;break}Pa=wa+1|0;Ba=Ba+1|0;if(Ba>>>0>=ma>>>0){$a=Pa;break}else wa=Pa}wa=$a+1|0;Ba=wa+ya|0;if(ma>>>0<=Ba>>>0){c[u>>2]=75;Va=0;Wa=Ra;Xa=xa;Ya=0;break}Pa=Fp(wa)|0;if(!Pa){c[u>>2]=9943;Va=0;Wa=Ra;Xa=xa;Ya=0;break}a[Pa+$a>>0]=0;if($a|0){wa=0;do{a[Pa+wa>>0]=a[na+(wa+ya)>>0]|0;wa=wa+1|0}while((wa|0)!=($a|0))}if(ma>>>0<Ba>>>0){c[u>>2]=75;Va=Pa;Wa=Ra;Xa=xa;Ya=0;break}wa=ma-Ba|0;h:do if(!(Oa<<24>>24)){ya=wa+1|0;do if(ya){Qa=ya<<1;ab=Gp(0,Qa)|0;if(ab){c[N>>2]=Qa;c[j>>2]=ab;c[O>>2]=ya;a[ab+wa>>0]=0;if(!wa){bb=ab;break h}else{cb=ab;break}}else{c[u>>2]=9944;Va=Pa;Wa=Ra;Xa=xa;Ya=0;break f}}else{c[O>>2]=0;a[0+wa>>0]=0;cb=0}while(0);ya=0;do{a[cb+ya>>0]=a[na+(ya+Ba)>>0]|0;ya=ya+1|0}while((ya|0)!=(wa|0));bb=cb}else{ya=hp(j,O,na+Ba|0,wa,b)|0;c[u>>2]=ya;if(ya|0){Va=Pa;Wa=Ra;Xa=xa;Ya=c[j>>2]|0;break f}ya=c[O>>2]|0;ab=ya+1|0;if((c[N>>2]|0)>>>0<ab>>>0){Qa=ab<<1;db=c[j>>2]|0;eb=Gp(db,Qa)|0;if(!eb){bb=db;break}c[N>>2]=Qa;c[j>>2]=eb;fb=eb}else fb=c[j>>2]|0;c[O>>2]=ab;a[fb+ya>>0]=0;bb=fb}while(0);c[u>>2]=np($,xa,Ra,Pa,bb)|0;Va=Pa;Wa=Ra;Xa=xa;Ya=bb}else{Va=0;Wa=0;Xa=0;Ya=0}while(0);Hp(Xa);Hp(Wa);Hp(Va);Hp(Ya);if(c[u>>2]|0){Ua=fa;break a}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}else ba=188;break}case 112:{if(((a[ca+5>>0]|0)==72?(a[ca+6>>0]|0)==89:0)?(a[ca+7>>0]|0)==115:0){if((ma|0)!=9){ba=184;break b}c[W>>2]=1;c[X>>2]=d[ca+9>>0]<<16|d[na>>0]<<24|d[ca+10>>0]<<8|d[ca+11>>0];c[Y>>2]=d[ca+13>>0]<<16|d[ca+12>>0]<<24|d[ca+14>>0]<<8|d[ca+15>>0];a[Z>>0]=a[ca+16>>0]|0;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}else ba=188;break}default:if(!(pa&32)){ba=187;break b}else ba=188}while(0);if((ba|0)==188){ba=0;if(!(c[M>>2]|0)){qa=0;ra=1;sa=ea;ta=fa;ua=ga;va=ha}else{pa=ea+-1|0;na=b+184+(pa<<2)|0;wa=b+196+(pa<<2)|0;pa=ma+12|0;Ba=c[wa>>2]|0;Oa=Ba+pa|0;if(Oa>>>0<pa>>>0|Oa>>>0<Ba>>>0){gb=77;ba=193;break}ya=Gp(c[na>>2]|0,Oa)|0;if(!ya){gb=9929;ba=193;break}c[na>>2]=ya;c[wa>>2]=Oa;Oa=ya+Ba|0;Ba=0;do{a[Oa+Ba>>0]=a[ca+Ba>>0]|0;Ba=Ba+1|0}while((Ba|0)!=(pa|0));c[u>>2]=0;qa=0;ra=1;sa=ea;ta=fa;ua=ga;va=ha}}if((c[w>>2]|ra|0)==0?(pa=d[ja>>0]<<16|d[ca>>0]<<24|d[ka>>0]<<8|d[la>>0],Ba=ca+(pa+8)|0,Oa=d[Ba+1>>0]<<16|d[Ba>>0]<<24|d[Ba+2>>0]<<8|d[Ba+3>>0],(Oa|0)!=(jp(oa,pa+4|0)|0)):0){ba=197;break}if(qa<<24>>24){ba=200;break}ca=ca+((d[ja>>0]<<16|d[ca>>0]<<24|d[ka>>0]<<8|d[la>>0])+12)|0;ia=ca-v+12|0;if(ca>>>0<g>>>0|ia>>>0>h>>>0){aa=ta;ba=4;break a}else{da=ra;ea=sa;fa=ta;ga=ua;ha=va}}switch(ba|0){case 6:{c[u>>2]=63;Ua=fa;break a;break}case 9:{c[u>>2]=35;Ua=fa;break a;break}case 19:{c[u>>2]=9936;Ua=fa;break a;break}case 29:{c[y>>2]=0;c[u>>2]=9937;Ua=fa;break a;break}case 31:{c[u>>2]=38;Ua=fa;break a;break}case 41:{c[u>>2]=39;Ua=fa;break a;break}case 46:{c[u>>2]=40;Ua=fa;break a;break}case 49:{c[u>>2]=41;Ua=fa;break a;break}case 51:{c[u>>2]=42;Ua=fa;break a;break}case 57:{c[u>>2]=43;Ua=fa;break a;break}case 60:{c[u>>2]=44;Ua=fa;break a;break}case 63:{c[u>>2]=45;Ua=fa;break a;break}case 178:{c[u>>2]=73;Ua=fa;break a;break}case 184:{c[u>>2]=74;Ua=fa;break a;break}case 187:{c[u>>2]=69;Ua=fa;break a;break}case 193:{c[u>>2]=gb;Ua=fa;break a;break}case 197:{c[u>>2]=57;Ua=ta;break a;break}case 200:{if(c[u>>2]|0){Ua=ta;break a}c[t>>2]=0;ha=t+8|0;c[ha>>2]=0;ga=t+4|0;c[ga>>2]=0;ea=b+52|0;da=c[ea>>2]|0;ia=b+56|0;ca=c[ia>>2]|0;pa=b+76|0;Oa=c[pa>>2]|0;switch(c[z>>2]|0){case 3:case 0:{hb=1;break}case 2:{hb=3;break}case 4:{hb=2;break}case 6:{hb=4;break}default:hb=0}Ba=((B((B(B(Oa,ca)|0,hb)|0)+7|0,da)|0)>>>3)+ca|0;do if(Ba){ca=Ba<<1;da=Gp(0,ca)|0;if(da){c[ha>>2]=ca;c[t>>2]=da;da=c[u>>2]|0;c[ga>>2]=Ba;if(!da){ba=211;break}else break}else{c[u>>2]=9945;break}}else{c[ga>>2]=0;ba=211}while(0);if((ba|0)==211?(Ba=hp(t,ga,ta,va,b)|0,c[u>>2]=Ba,(Ba|0)==0):0){Ba=c[ia>>2]|0;fa=c[ea>>2]|0;da=c[z>>2]|0;ca=c[pa>>2]|0;switch(da|0){case 3:case 0:{ib=1;break}case 2:{ib=3;break}case 4:{ib=2;break}case 6:{ib=4;break}default:ib=0}Oa=((B(B(B(fa,Ba)|0,ca)|0,ib)|0)+7|0)>>>3;if(Oa){Ba=Gp(0,Oa<<1)|0;if(Ba){Yu(Ba|0,0,Oa|0)|0;fa=Ba;if(!(c[u>>2]|0)){jb=fa;kb=c[z>>2]|0;lb=c[pa>>2]|0;ba=221}else{mb=fa;nb=Oa}}else{ob=9946;pb=0;qb=0;ba=286}}else{jb=0;kb=da;lb=ca;ba=221}i:do if((ba|0)==221){ca=jb;da=c[t>>2]|0;switch(kb|0){case 3:case 0:{rb=1;break}case 2:{rb=3;break}case 4:{rb=2;break}case 6:{rb=4;break}default:rb=0}fa=B(rb,lb)|0;Ba=c[ea>>2]|0;ma=c[ia>>2]|0;if(!fa){ob=31;pb=jb;qb=Oa;ba=286}else{do if(!(c[b+68>>2]|0)){if(fa>>>0>=8){sb=sp(ca,da,Ba,ma,fa)|0;break}ya=B(Ba,fa)|0;wa=ya+7&-8;if((ya|0)==(wa|0)){sb=sp(ca,da,Ba,ma,fa)|0;break}na=sp(da,da,Ba,ma,fa)|0;if(na|0){ob=na;pb=jb;qb=Oa;ba=286;break i}if((ma|0)==0|(ya|0)==0)sb=0;else{na=0;ab=0;eb=0;while(1){Qa=0;db=ab;tb=na;while(1){ub=1<<(tb&7^7);if(!(1<<(db&7^7)&d[da+(db>>>3)>>0])){vb=ca+(tb>>>3)|0;wb=vb;xb=(ub^255)&d[vb>>0]}else{vb=ca+(tb>>>3)|0;wb=vb;xb=ub|d[vb>>0]}a[wb>>0]=xb;Qa=Qa+1|0;if((Qa|0)==(ya|0))break;else{db=db+1|0;tb=tb+1|0}}eb=eb+1|0;if((eb|0)==(ma|0)){sb=0;break}else{na=na+ya|0;ab=ab+wa|0}}}}else{tp(o,p,q,r,s,Ba,ma,fa);j:do if(fa>>>0>=8){wa=sp(da+(c[r>>2]|0)|0,da+(c[q>>2]|0)|0,c[o>>2]|0,c[p>>2]|0,fa)|0;if(!wa){ab=sp(da+(c[r+4>>2]|0)|0,da+(c[q+4>>2]|0)|0,c[o+4>>2]|0,c[p+4>>2]|0,fa)|0;if(!ab){ya=sp(da+(c[r+8>>2]|0)|0,da+(c[q+8>>2]|0)|0,c[o+8>>2]|0,c[p+8>>2]|0,fa)|0;if(!ya){na=sp(da+(c[r+12>>2]|0)|0,da+(c[q+12>>2]|0)|0,c[o+12>>2]|0,c[p+12>>2]|0,fa)|0;if(!na){eb=sp(da+(c[r+16>>2]|0)|0,da+(c[q+16>>2]|0)|0,c[o+16>>2]|0,c[p+16>>2]|0,fa)|0;if(!eb){tb=sp(da+(c[r+20>>2]|0)|0,da+(c[q+20>>2]|0)|0,c[o+20>>2]|0,c[p+20>>2]|0,fa)|0;if(tb|0){yb=0;zb=tb;Ab=tb;break}tb=sp(da+(c[r+24>>2]|0)|0,da+(c[q+24>>2]|0)|0,c[o+24>>2]|0,c[p+24>>2]|0,fa)|0;if(!tb)ba=255;else{yb=0;zb=tb;Ab=tb}}else{yb=0;zb=eb;Ab=eb}}else{yb=0;zb=na;Ab=na}}else{yb=0;zb=ya;Ab=ya}}else{yb=0;zb=ab;Ab=ab}}else{yb=0;zb=wa;Ab=wa}}else{wa=0;while(1){ab=da+(c[r+(wa<<2)>>2]|0)|0;ya=c[o+(wa<<2)>>2]|0;na=c[p+(wa<<2)>>2]|0;eb=sp(ab,da+(c[q+(wa<<2)>>2]|0)|0,ya,na,fa)|0;if(eb|0){yb=0;zb=eb;Ab=eb;break j}eb=da+(c[s+(wa<<2)>>2]|0)|0;tb=B(ya,fa)|0;ya=tb+7&-8;if(!((na|0)==0|(tb|0)==0)){db=0;Qa=0;xa=0;while(1){Ra=0;Pa=Qa;vb=db;while(1){ub=1<<(vb&7^7);if(!(1<<(Pa&7^7)&d[ab+(Pa>>>3)>>0])){Bb=eb+(vb>>>3)|0;Cb=Bb;Db=(ub^255)&d[Bb>>0]}else{Bb=eb+(vb>>>3)|0;Cb=Bb;Db=ub|d[Bb>>0]}a[Cb>>0]=Db;Ra=Ra+1|0;if((Ra|0)==(tb|0))break;else{Pa=Pa+1|0;vb=vb+1|0}}xa=xa+1|0;if((xa|0)==(na|0))break;else{db=db+tb|0;Qa=Qa+ya|0}}}wa=wa+1|0;if(wa>>>0>=7){ba=255;break}}}while(0);if((ba|0)==255){tp(j,k,l,m,n,Ba,ma,fa);if(fa>>>0>7){wa=fa>>>3;if(wa|0){ya=0;do{Qa=c[k+(ya<<2)>>2]|0;do if(Qa|0){tb=c[j+(ya<<2)>>2]|0;if(!tb)break;db=c[n+(ya<<2)>>2]|0;na=c[28656+(ya<<2)>>2]|0;xa=c[28624+(ya<<2)>>2]|0;eb=c[28592+(ya<<2)>>2]|0;ab=c[28560+(ya<<2)>>2]|0;vb=0;do{Pa=(B((B(vb,xa)|0)+na|0,Ba)|0)+eb|0;Ra=B(vb,tb)|0;Bb=0;do{ub=(B(Bb+Ra|0,wa)|0)+db|0;Eb=B(Pa+(B(Bb,ab)|0)|0,wa)|0;Fb=0;do{a[ca+(Fb+Eb)>>0]=a[da+(ub+Fb)>>0]|0;Fb=Fb+1|0}while((Fb|0)!=(wa|0));Bb=Bb+1|0}while((Bb|0)!=(tb|0));vb=vb+1|0}while((vb|0)!=(Qa|0))}while(0);ya=ya+1|0}while((ya|0)!=7)}}else{ya=0;do{wa=c[j+(ya<<2)>>2]|0;Qa=c[k+(ya<<2)>>2]|0;if(!((wa|0)==0|(Qa|0)==0)){vb=c[28656+(ya<<2)>>2]|0;tb=c[28624+(ya<<2)>>2]|0;ab=c[28592+(ya<<2)>>2]|0;db=c[28560+(ya<<2)>>2]|0;eb=c[n+(ya<<2)>>2]<<3;na=0;do{xa=B(na,wa)|0;Bb=(B((B(na,tb)|0)+vb|0,Ba)|0)+ab|0;Pa=0;do{Ra=B(Bb+(B(Pa,db)|0)|0,fa)|0;Fb=0;ub=(B(Pa+xa|0,fa)|0)+eb|0;while(1){Eb=(d[da+(ub>>>3)>>0]|0)>>>(ub&7^7)&1;if(Eb|0){Gb=ca+(Ra>>>3)|0;a[Gb>>0]=Eb<<(Ra&7^7)|d[Gb>>0]}Fb=Fb+1|0;if((Fb|0)==(fa|0))break;else{Ra=Ra+1|0;ub=ub+1|0}}Pa=Pa+1|0}while((Pa|0)!=(wa|0));na=na+1|0}while((na|0)!=(Qa|0))}ya=ya+1|0}while((ya|0)!=7)}yb=1;zb=0;Ab=0}if(yb)sb=Ab;else{ob=zb;pb=jb;qb=Oa;ba=286;break i}}while(0);ob=sb;pb=jb;qb=Oa;ba=286}}while(0);if((ba|0)==286){c[u>>2]=ob;mb=pb;nb=qb}c[e>>2]=mb;c[f>>2]=nb}c[ha>>2]=0;c[ga>>2]=0;Hp(c[t>>2]|0);Ua=ta;break a;break}}}while(0);if((ba|0)==4){c[u>>2]=30;Ua=aa}Hp(Ua);if(c[u>>2]|0){Fa=i;return}Ua=b+20|0;aa=b+72|0;if(!(c[b+8>>2]|0)){ba=b+28|0;ta=c[ba>>2]|0;if(ta|0)Hp(ta);c[Ua>>2]=c[aa>>2];c[Ua+4>>2]=c[aa+4>>2];c[Ua+8>>2]=c[aa+8>>2];c[Ua+12>>2]=c[aa+12>>2];c[Ua+16>>2]=c[aa+16>>2];c[Ua+20>>2]=c[aa+20>>2];c[Ua+24>>2]=c[aa+24>>2];c[Ua+28>>2]=c[aa+28>>2];ta=Fp(c[y>>2]<<2)|0;c[ba>>2]=ta;t=c[y>>2]|0;if(!ta){Hb=(t|0)==0?0:9935;c[u>>2]=Hb;Fa=i;return}if(!(t&1073741823)){Hb=0;c[u>>2]=Hb;Fa=i;return}a[ta>>0]=a[c[x>>2]>>0]|0;if(!(c[y>>2]&1073741823)){Hb=0;c[u>>2]=Hb;Fa=i;return}ta=1;do{a[(c[ba>>2]|0)+ta>>0]=a[(c[x>>2]|0)+ta>>0]|0;ta=ta+1|0}while(ta>>>0<c[y>>2]<<2>>>0);Hb=0;c[u>>2]=Hb;Fa=i;return}Hb=c[Ua>>2]|0;if((Hb|0)==(c[aa>>2]|0)?(c[b+24>>2]|0)==(c[b+76>>2]|0):0){Fa=i;return}y=c[e>>2]|0;switch(Hb|0){case 6:case 2:break;default:if((c[b+24>>2]|0)!=8){c[u>>2]=56;Fa=i;return}}ta=b+52|0;x=c[ta>>2]|0;ba=b+56|0;t=c[ba>>2]|0;nb=c[b+24>>2]|0;switch(Hb|0){case 3:case 0:{Ib=1;break}case 2:{Ib=3;break}case 4:{Ib=2;break}case 6:{Ib=4;break}default:Ib=0}Hb=((B(B(B(t,x)|0,nb)|0,Ib)|0)+7|0)>>>3;c[f>>2]=Hb;Ib=Fp(Hb)|0;c[e>>2]=Ib;if(!Ib){c[u>>2]=9947;c[f>>2]=0}else c[u>>2]=pp(Ib,y,Ua,aa,c[ta>>2]|0,c[ba>>2]|0)|0;Hp(y);Fa=i;return}function sp(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0;h=(g+7|0)>>>3;i=((B(g,e)|0)+7|0)>>>3;if(!f){j=0;return j|0}e=i+1|0;g=(i|0)==0;k=(h|0)==0;l=(i|0)!=0;m=(h|0)!=0;n=h>>>0<i>>>0;o=0;p=0;a:while(1){q=B(o,i)|0;r=B(o,e)|0;s=p;p=b+q|0;q=c+(r+1)|0;b:do switch(a[c+r>>0]|0){case 0:{if(!g){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(i|0))}break}case 1:{if(!k){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(n){t=h;do{a[p+t>>0]=(d[p+(t-h)>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 2:{if(!s){if(!l)break b;t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(i|0))}else{if(!l)break b;t=0;do{a[p+t>>0]=(d[s+t>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 3:{if(!s){if(m){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[p+t>>0]=((d[p+(t-h)>>0]|0)>>>1&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}else{if(m){t=0;do{a[p+t>>0]=((d[s+t>>0]|0)>>>1&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[p+t>>0]=(((d[s+t>>0]|0)+(d[p+(t-h)>>0]|0)|0)>>>1)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 4:{if(!s){if(m){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[p+t>>0]=(d[p+(t-h)>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}else{if(m){t=0;do{a[p+t>>0]=(d[s+t>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{u=t-h|0;v=a[p+u>>0]|0;w=a[s+t>>0]|0;x=a[s+u>>0]|0;u=w&255;y=x&255;z=u-y|0;A=(z|0)>-1?z:0-z|0;z=v&255;C=z-y|0;D=(C|0)>-1?C:0-C|0;C=u+z+(B(y,-2)|0)|0;y=(C|0)>-1?C:0-C|0;a[p+t>>0]=(((A|0)>(D|0)|(A|0)>(y|0)?((D|0)>(y|0)?x:w):v)&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}default:{j=36;E=47;break a}}while(0);o=o+1|0;if(o>>>0>=f>>>0){j=0;E=47;break}}if((E|0)==47)return j|0;return 0}function tp(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;c[a>>2]=(g+7|0)>>>3;j=(h+7|0)>>>3;c[b>>2]=j;k=(c[a>>2]|0)==0?0:j;c[b>>2]=k;if(!k)c[a>>2]=0;k=a+4|0;c[k>>2]=(g+3|0)>>>3;l=b+4|0;c[l>>2]=j;m=(c[k>>2]|0)==0?0:j;c[l>>2]=m;if(!m)c[k>>2]=0;m=a+8|0;c[m>>2]=(g+3|0)>>>2;j=(h+3|0)>>>3;n=b+8|0;c[n>>2]=j;o=(c[m>>2]|0)==0?0:j;c[n>>2]=o;if(!o)c[m>>2]=0;o=a+12|0;c[o>>2]=(g+1|0)>>>2;j=(h+3|0)>>>2;p=b+12|0;c[p>>2]=j;q=(c[o>>2]|0)==0?0:j;c[p>>2]=q;if(!q)c[o>>2]=0;q=a+16|0;c[q>>2]=(g+1|0)>>>1;j=(h+1|0)>>>2;r=b+16|0;c[r>>2]=j;s=(c[q>>2]|0)==0?0:j;c[r>>2]=s;if(!s)c[q>>2]=0;s=a+20|0;c[s>>2]=g>>>1;j=(h+1|0)>>>1;t=b+20|0;c[t>>2]=j;u=(c[s>>2]|0)==0?0:j;c[t>>2]=u;if(!u)c[s>>2]=0;u=a+24|0;c[u>>2]=g;g=h>>>1;h=b+24|0;c[h>>2]=g;j=(c[u>>2]|0)==0?0:g;c[h>>2]=j;if(!j)c[u>>2]=0;c[f>>2]=0;c[e>>2]=0;c[d>>2]=0;j=c[a>>2]|0;a=c[b>>2]|0;if(!j){v=0;w=0;x=0}else{b=B(j,i)|0;j=(b+7|0)>>>3;v=j;w=b;x=B(a,j+1|0)|0}j=d+4|0;c[j>>2]=x;x=e+4|0;c[x>>2]=(B(a,v)|0)+(c[e>>2]|0);v=f+4|0;c[v>>2]=(((B(w,a)|0)+7|0)>>>3)+(c[f>>2]|0);a=c[k>>2]|0;k=c[l>>2]|0;if(!a){y=0;z=0;A=0}else{l=B(a,i)|0;a=(l+7|0)>>>3;y=l;z=a;A=B(k,a+1|0)|0}a=d+8|0;c[a>>2]=A+(c[j>>2]|0);j=e+8|0;c[j>>2]=(B(k,z)|0)+(c[x>>2]|0);x=f+8|0;c[x>>2]=(((B(y,k)|0)+7|0)>>>3)+(c[v>>2]|0);v=c[m>>2]|0;m=c[n>>2]|0;if(!v){C=0;D=0;E=0}else{n=B(v,i)|0;v=(n+7|0)>>>3;C=n;D=v;E=B(m,v+1|0)|0}v=d+12|0;c[v>>2]=E+(c[a>>2]|0);a=e+12|0;c[a>>2]=(B(m,D)|0)+(c[j>>2]|0);j=f+12|0;c[j>>2]=(((B(C,m)|0)+7|0)>>>3)+(c[x>>2]|0);x=c[o>>2]|0;o=c[p>>2]|0;if(!x){F=0;G=0;H=0}else{p=B(x,i)|0;x=(p+7|0)>>>3;F=p;G=x;H=B(o,x+1|0)|0}x=d+16|0;c[x>>2]=H+(c[v>>2]|0);v=e+16|0;c[v>>2]=(B(o,G)|0)+(c[a>>2]|0);a=f+16|0;c[a>>2]=(((B(F,o)|0)+7|0)>>>3)+(c[j>>2]|0);j=c[q>>2]|0;q=c[r>>2]|0;if(!j){I=0;J=0;K=0}else{r=B(j,i)|0;j=(r+7|0)>>>3;I=j;J=r;K=B(q,j+1|0)|0}j=d+20|0;c[j>>2]=K+(c[x>>2]|0);x=e+20|0;c[x>>2]=(B(q,I)|0)+(c[v>>2]|0);v=f+20|0;c[v>>2]=(((B(J,q)|0)+7|0)>>>3)+(c[a>>2]|0);a=c[s>>2]|0;s=c[t>>2]|0;if(!a){L=0;M=0;N=0}else{t=B(a,i)|0;a=(t+7|0)>>>3;L=t;M=a;N=B(s,a+1|0)|0}a=d+24|0;c[a>>2]=N+(c[j>>2]|0);j=e+24|0;c[j>>2]=(B(s,M)|0)+(c[x>>2]|0);x=f+24|0;c[x>>2]=(((B(L,s)|0)+7|0)>>>3)+(c[v>>2]|0);v=c[a>>2]|0;a=c[u>>2]|0;u=c[h>>2]|0;if(!a){O=0;P=0;Q=0;R=Q+v|0;S=d+28|0;c[S>>2]=R;T=c[j>>2]|0;U=B(u,P)|0;V=U+T|0;W=e+28|0;c[W>>2]=V;X=c[x>>2]|0;Y=B(O,u)|0;Z=Y+7|0;_=Z>>>3;$=_+X|0;aa=f+28|0;c[aa>>2]=$;return}h=B(a,i)|0;i=(h+7|0)>>>3;O=h;P=i;Q=B(u,i+1|0)|0;R=Q+v|0;S=d+28|0;c[S>>2]=R;T=c[j>>2]|0;U=B(u,P)|0;V=U+T|0;W=e+28|0;c[W>>2]=V;X=c[x>>2]|0;Y=B(O,u)|0;Z=Y+7|0;_=Z>>>3;$=_+X|0;aa=f+28|0;c[aa>>2]=$;return}function up(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;i=Fa;Fa=Fa+224|0;j=i+212|0;k=i;if(!f){l=100;Fa=i;return l|0}m=c[f>>2]|0;if(!m){n=c[f+8>>2]|0;au(n,0,2)|0;o=uu(n)|0;if(o>>>0>268435456){l=333;Fa=i;return l|0}wu(n);p=Fp(o)|0;vu(p,1,o,n)|0;c[k+8>>2]=1;c[k+12>>2]=1;c[k+4>>2]=0;c[k+16>>2]=0;c[k>>2]=0;n=k+20|0;q=k+24|0;r=k+28|0;s=k+32|0;t=k+56|0;u=k+52|0;v=k+88|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[k+72>>2]=6;c[k+76>>2]=8;c[k+80>>2]=0;c[k+84>>2]=0;c[k+68>>2]=0;c[k+60>>2]=0;c[k+64>>2]=0;v=k+104|0;c[k+168>>2]=0;w=k+184|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;x=v;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));a[v+48>>0]=0;v=k+208|0;c[v>>2]=1;c[n>>2]=g;c[q>>2]=h;rp(k,b,j,p,o);o=c[v>>2]|0;c[d>>2]=c[u>>2];c[e>>2]=c[t>>2];t=c[r>>2]|0;if(t|0)Hp(t);c[s>>2]=0;op(k+52|0);Hp(p);z=o;A=c[f>>2]|0}else{z=0;A=m}if((A|0)!=1){l=z;Fa=i;return l|0}c[f+20>>2]=0;z=c[f+12>>2]|0;A=c[f+16>>2]|0;c[k+8>>2]=1;c[k+12>>2]=1;c[k+4>>2]=0;c[k+16>>2]=0;c[k>>2]=0;f=k+20|0;m=k+24|0;o=k+28|0;p=k+32|0;s=k+56|0;t=k+52|0;r=k+88|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;c[k+72>>2]=6;c[k+76>>2]=8;c[k+80>>2]=0;c[k+84>>2]=0;c[k+68>>2]=0;c[k+60>>2]=0;c[k+64>>2]=0;r=k+104|0;c[k+168>>2]=0;u=k+184|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;x=r;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));a[r+48>>0]=0;r=k+208|0;c[r>>2]=1;c[f>>2]=g;c[m>>2]=h;rp(k,b,j,z,A);A=c[r>>2]|0;c[d>>2]=c[t>>2];c[e>>2]=c[s>>2];s=c[o>>2]|0;if(s|0)Hp(s);c[p>>2]=0;op(k+52|0);l=A;Fa=i;return l|0}function vp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return up(a,b,c,d,6,8)|0}function wp(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0;j=Fa;Fa=Fa+192|0;k=j+176|0;l=j+20|0;m=j+8|0;n=j+4|0;o=j;c[n>>2]=0;c[o>>2]=0;c[e>>2]=0;c[f>>2]=0;p=b+216|0;c[p>>2]=0;Xu(l|0,b+28|0,156)|0;c[l>>2]=h;c[l+4>>2]=i;a:do if(c[b+12>>2]|0){q=B(i,h)|0;b:do switch(c[b+184>>2]|0){case 6:{r=(q|0)!=0;if((c[b+188>>2]|0)==8){if(!r)break b;s=0;while(1){if((a[g+(s<<2|3)>>0]|0)!=-1)break a;s=s+1|0;if(s>>>0>=q>>>0)break b}}if(r){s=0;do{t=s<<3;if((a[g+(t|6)>>0]|0)!=-1)break a;s=s+1|0;if((a[g+(t|7)>>0]|0)!=-1)break a}while(s>>>0<q>>>0)}break}case 4:{s=(q|0)!=0;if((c[b+188>>2]|0)==8){if(!s)break b;r=0;while(1){if((a[g+(r<<1|1)>>0]|0)!=-1)break a;r=r+1|0;if(r>>>0>=q>>>0)break b}}if(s){r=0;do{t=r<<2;if((a[g+(t|2)>>0]|0)!=-1)break a;r=r+1|0;if((a[g+(t|3)>>0]|0)!=-1)break a}while(r>>>0<q>>>0)}break}case 3:{r=c[b+192>>2]|0;s=c[b+196>>2]|0;if(s|0){t=0;do{if((a[r+(t<<2|3)>>0]|0)!=-1)break a;t=t+1|0}while(t>>>0<s>>>0)}break}default:break a}while(0);q=l+20|0;switch(c[q>>2]|0){case 6:{c[q>>2]=2;break a;break}case 4:{c[q>>2]=0;break a;break}default:break a}}while(0);if((c[b+8>>2]|0)>>>0>32768){c[p>>2]=60;Fa=j;return}if((c[b>>2]|0)>>>0>2){c[p>>2]=61;Fa=j;return}if((c[b+44>>2]|0)>>>0>1){c[p>>2]=71;Fa=j;return}q=l+20|0;s=c[q>>2]|0;t=l+24|0;r=c[t>>2]|0;switch(s|0){case 0:{switch(r|0){case 1:case 2:case 4:case 8:case 16:break;default:{u=37;v=42}}break}case 2:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}case 3:{switch(r|0){case 1:case 2:case 4:case 8:break;default:{u=37;v=42}}break}case 4:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}case 6:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}default:{u=31;v=42}}if((v|0)==42){c[p>>2]=u;Fa=j;return}c[p>>2]=0;u=b+184|0;w=c[u>>2]|0;x=c[b+188>>2]|0;switch(w|0){case 0:{switch(x|0){case 1:case 2:case 4:case 8:case 16:break;default:{y=37;v=49}}break}case 2:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}case 3:{switch(x|0){case 1:case 2:case 4:case 8:break;default:{y=37;v=49}}break}case 4:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}case 6:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}default:{y=31;v=49}}if((v|0)==49){c[p>>2]=y;Fa=j;return}c[p>>2]=0;do if((w|0)==(s|0)&(x|0)==(r|0))xp(n,o,g,l);else{y=B(i,h)|0;switch(s|0){case 3:case 0:{z=-1;v=55;break}case 2:{A=3;v=54;break}case 4:break;case 6:{A=4;v=54;break}default:{z=0;v=55}}if((v|0)==54){C=((B(B(r,y)|0,A)|0)+7|0)>>>3;v=56}else if((v|0)==55)switch(s|0){case 2:case 6:{C=((B(z&r,y)|0)+7|0)>>>3;v=56;break}default:{}}if((v|0)==56?(r|0)==8:0){y=Fp(C)|0;if(!((C|0)!=0&(y|0)==0)){if((c[p>>2]|0)==0?(D=pp(y,g,q,u,h,i)|0,c[p>>2]=D,(D|0)==0):0)xp(n,o,y,l)}else c[p>>2]=9955;Hp(y);break}c[p>>2]=59;Fa=j;return}while(0);c[m>>2]=0;u=m+8|0;c[u>>2]=0;g=m+4|0;c[g>>2]=0;c:do if(!(c[p>>2]|0)){C=Gp(0,2)|0;if(!C){E=0;F=0}else{c[u>>2]=2;c[m>>2]=C;c[g>>2]=1;a[C>>0]=-119;E=c[g>>2]|0;F=c[u>>2]|0}C=E+1|0;if(F>>>0<C>>>0){r=C<<1;z=Gp(c[m>>2]|0,r)|0;if(!z){G=C;H=F;I=E}else{c[u>>2]=r;c[m>>2]=z;J=z;v=72}}else{J=c[m>>2]|0;v=72}if((v|0)==72){c[g>>2]=C;a[J+E>>0]=80;C=c[g>>2]|0;G=C+1|0;H=c[u>>2]|0;I=C}if(H>>>0<G>>>0){C=G<<1;z=Gp(c[m>>2]|0,C)|0;if(!z){K=G;L=H;M=I}else{c[u>>2]=C;c[m>>2]=z;N=z;v=77}}else{N=c[m>>2]|0;v=77}if((v|0)==77){c[g>>2]=G;a[N+I>>0]=78;z=c[g>>2]|0;K=z+1|0;L=c[u>>2]|0;M=z}if(L>>>0<K>>>0){z=K<<1;C=Gp(c[m>>2]|0,z)|0;if(!C){O=K;P=L;Q=M}else{c[u>>2]=z;c[m>>2]=C;R=C;v=82}}else{R=c[m>>2]|0;v=82}if((v|0)==82){c[g>>2]=K;a[R+M>>0]=71;C=c[g>>2]|0;O=C+1|0;P=c[u>>2]|0;Q=C}if(P>>>0<O>>>0){C=O<<1;z=Gp(c[m>>2]|0,C)|0;if(!z){S=O;T=P;U=Q}else{c[u>>2]=C;c[m>>2]=z;V=z;v=87}}else{V=c[m>>2]|0;v=87}if((v|0)==87){c[g>>2]=O;a[V+Q>>0]=13;z=c[g>>2]|0;S=z+1|0;T=c[u>>2]|0;U=z}if(T>>>0<S>>>0){z=S<<1;C=Gp(c[m>>2]|0,z)|0;if(!C){W=S;X=T;Y=U}else{c[u>>2]=z;c[m>>2]=C;Z=C;v=92}}else{Z=c[m>>2]|0;v=92}if((v|0)==92){c[g>>2]=S;a[Z+U>>0]=10;C=c[g>>2]|0;W=C+1|0;X=c[u>>2]|0;Y=C}if(X>>>0<W>>>0){C=W<<1;z=Gp(c[m>>2]|0,C)|0;if(!z){_=W;$=X;aa=Y}else{c[u>>2]=C;c[m>>2]=z;ba=z;v=97}}else{ba=c[m>>2]|0;v=97}if((v|0)==97){c[g>>2]=W;a[ba+Y>>0]=26;z=c[g>>2]|0;_=z+1|0;$=c[u>>2]|0;aa=z}if($>>>0<_>>>0){z=_<<1;C=Gp(c[m>>2]|0,z)|0;if(C|0){c[u>>2]=z;c[m>>2]=C;ca=C;v=102}}else{ca=c[m>>2]|0;v=102}if((v|0)==102){c[g>>2]=_;a[ca+aa>>0]=10}C=c[t>>2]|0;z=c[q>>2]|0;r=c[l+16>>2]|0;s=Gp(0,8)|0;A=(s|0)==0;x=A?0:8;w=A?0:4;y=s+(A?-4:0)|0;a[y>>0]=h>>>24;a[y+1>>0]=h>>>16;a[y+2>>0]=h>>>8;a[y+3>>0]=h;y=w+4|0;if(x>>>0<y>>>0){A=y<<1;D=Gp(s,A)|0;da=(D|0)==0;ea=da?s:D;fa=da?w:y;ga=da?x:A}else{ea=s;fa=y;ga=x}x=ea+(fa+-4)|0;a[x>>0]=i>>>24;a[x+1>>0]=i>>>16;a[x+2>>0]=i>>>8;a[x+3>>0]=i;x=C&255;C=fa+1|0;if(ga>>>0<C>>>0){y=C<<1;s=Gp(ea,y)|0;if(!s){ha=C;ia=ea;ja=fa;ka=ga}else{la=s;ma=y;v=107}}else{la=ea;ma=ga;v=107}if((v|0)==107){a[la+fa>>0]=x;ha=fa+2|0;ia=la;ja=C;ka=ma}C=z&255;if(ka>>>0<ha>>>0){z=ha<<1;x=Gp(ia,z)|0;if(!x){na=ha;oa=ia;pa=ja;qa=ka}else{ra=x;sa=z;v=110}}else{ra=ia;sa=ka;v=110}if((v|0)==110){a[ra+ja>>0]=C;na=ha+1|0;oa=ra;pa=ha;qa=sa}if(qa>>>0<na>>>0){C=na<<1;z=Gp(oa,C)|0;if(!z){ta=na;ua=oa;va=pa;wa=qa}else{xa=z;ya=C;v=113}}else{xa=oa;ya=qa;v=113}if((v|0)==113){a[xa+pa>>0]=0;ta=na+1|0;ua=xa;va=na;wa=ya}if(wa>>>0<ta>>>0){C=ta<<1;z=Gp(ua,C)|0;if(!z){za=ta;Aa=ua;Ba=va;Ca=wa}else{Da=z;Ea=C;v=116}}else{Da=ua;Ea=wa;v=116}if((v|0)==116){a[Da+va>>0]=0;za=ta+1|0;Aa=Da;Ba=ta;Ca=Ea}C=r&255;if(Ca>>>0<za>>>0){r=Gp(Aa,za<<1)|0;if(!r){Ga=Aa;Ha=Ba}else{Ia=r;v=119}}else{Ia=Aa;v=119}if((v|0)==119){a[Ia+Ba>>0]=C;Ga=Ia;Ha=za}if(!(kp(m,g,Ha,64277,Ga)|0))c[u>>2]=c[g>>2];Hp(Ga);C=c[l+132>>2]|0;if(C|0){r=c[l+144>>2]|0;z=C;d:do if(r|0){x=C;y=c[g>>2]|0;while(1){s=x+1|0;A=x+2|0;da=x+3|0;w=(d[s>>0]<<16|d[x>>0]<<24|d[A>>0]<<8|d[da>>0])+12|0;D=w+y|0;if(D>>>0<w>>>0|D>>>0<y>>>0){Ja=77;break}Ka=Gp(c[m>>2]|0,D)|0;if(!Ka){Ja=9929;break}c[m>>2]=Ka;c[g>>2]=D;La=Ka+y|0;if(!w)Ma=D;else{D=0;do{a[La+D>>0]=a[x+D>>0]|0;D=D+1|0}while((D|0)!=(w|0));Ma=c[g>>2]|0}c[u>>2]=Ma;x=x+((d[s>>0]<<16|d[x>>0]<<24|d[A>>0]<<8|d[da>>0])+12)|0;if((x-z|0)>>>0>=r>>>0)break d;else y=Ma}c[p>>2]=Ja;break c}while(0);c[p>>2]=0}if((c[q>>2]|0)==3){r=l+32|0;z=c[r>>2]|0;if((z+-1|0)>>>0>255){c[p>>2]=68;break}if(!(z&1073741823)){Na=0;Oa=0}else{C=l+28|0;y=0;x=0;w=0;D=0;La=z;while(1){do if((y&3|0)==3){Pa=x;Qa=w;Ra=D;Sa=La}else{z=a[(c[C>>2]|0)+y>>0]|0;Ka=D+1|0;if(w>>>0<Ka>>>0){Ta=Ka<<1;Ua=Gp(x,Ta)|0;if(!Ua){Pa=x;Qa=w;Ra=D;Sa=La;break}else{Va=Ua;Wa=Ta}}else{Va=x;Wa=w}a[Va+D>>0]=z;Pa=Va;Qa=Wa;Ra=Ka;Sa=c[r>>2]|0}while(0);y=y+1|0;if(y>>>0>=Sa<<2>>>0){Na=Pa;Oa=Ra;break}else{x=Pa;w=Qa;D=Ra;La=Sa}}}if(!(kp(m,g,Oa,64282,Na)|0))c[u>>2]=c[g>>2];Hp(Na)}e:do if(!(c[b+16>>2]|0))v=161;else{La=c[q>>2]|0;switch(La|0){case 6:case 2:break;default:{Xa=La;break e}}La=l+32|0;D=c[La>>2]|0;if((D+-1|0)>>>0>255){c[p>>2]=68;break c}if(!(D&1073741823)){Ya=0;Za=0}else{w=l+28|0;x=0;y=0;r=0;C=0;Ka=D;while(1){do if((x&3|0)==3){_a=y;$a=r;ab=C;bb=Ka}else{D=a[(c[w>>2]|0)+x>>0]|0;z=C+1|0;if(r>>>0<z>>>0){Ta=z<<1;Ua=Gp(y,Ta)|0;if(!Ua){_a=y;$a=r;ab=C;bb=Ka;break}else{cb=Ua;db=Ta}}else{cb=y;db=r}a[cb+C>>0]=D;_a=cb;$a=db;ab=z;bb=c[La>>2]|0}while(0);x=x+1|0;if(x>>>0>=bb<<2>>>0){Ya=_a;Za=ab;break}else{y=_a;r=$a;C=ab;Ka=bb}}}if(!(kp(m,g,Za,64282,Ya)|0))c[u>>2]=c[g>>2];Hp(Ya);v=161}while(0);if((v|0)==161)Xa=c[q>>2]|0;f:do if((Xa|0)==3){Ka=c[l+28>>2]|0;C=c[l+32>>2]|0;if(!C)break;r=0;while(1){if((a[Ka+(r<<2|3)>>0]|0)!=-1)break;r=r+1|0;if(r>>>0>=C>>>0)break f}yp(m,q);eb=c[q>>2]|0;v=168}else{eb=Xa;v=168}while(0);g:do if((v|0)==168){switch(eb|0){case 2:case 0:break;default:break g}if(!(c[l+36>>2]|0))break;yp(m,q)}while(0);if(c[l+52>>2]|0){h:do switch(c[l+20>>2]|0){case 4:case 0:{C=l+56|0;r=c[C>>2]|0;Ka=Gp(0,2)|0;if(!Ka){y=Gp(0,2)|0;if(!y){fb=0;gb=0;break h}else{hb=r;ib=y;jb=0;kb=1}}else{a[Ka>>0]=r>>>8;hb=c[C>>2]|0;ib=Ka;jb=1;kb=2}a[ib+jb>>0]=hb;fb=ib;gb=kb;break}case 6:case 2:{Ka=l+56|0;C=c[Ka>>2]|0;r=Gp(0,2)|0;if(!r){y=Gp(0,2)|0;if(!y){lb=0;mb=0;nb=0}else{ob=C;pb=y;qb=0;rb=1;v=180}}else{a[r>>0]=C>>>8;ob=c[Ka>>2]|0;pb=r;qb=1;rb=2;v=180}if((v|0)==180){a[pb+qb>>0]=ob;lb=pb;mb=rb;nb=2}r=l+60|0;Ka=c[r>>2]|0;C=Ka>>>8&255;y=mb+1|0;if(nb>>>0<y>>>0){x=y<<1;La=Gp(lb,x)|0;if(!La){sb=y;tb=lb;ub=mb;vb=nb;wb=Ka}else{xb=La;yb=x;v=183}}else{xb=lb;yb=nb;v=183}if((v|0)==183){a[xb+mb>>0]=C;sb=mb+2|0;tb=xb;ub=y;vb=yb;wb=c[r>>2]|0}r=wb&255;if(vb>>>0<sb>>>0){y=sb<<1;C=Gp(tb,y)|0;if(!C){zb=sb;Ab=tb;Bb=ub;Cb=vb}else{Db=C;Eb=y;v=186}}else{Db=tb;Eb=vb;v=186}if((v|0)==186){a[Db+ub>>0]=r;zb=sb+1|0;Ab=Db;Bb=sb;Cb=Eb}r=l+64|0;y=c[r>>2]|0;C=y>>>8&255;if(Cb>>>0<zb>>>0){x=zb<<1;La=Gp(Ab,x)|0;if(!La){Fb=zb;Gb=Ab;Hb=Bb;Ib=Cb;Jb=y}else{Kb=La;Lb=x;v=189}}else{Kb=Ab;Lb=Cb;v=189}if((v|0)==189){a[Kb+Bb>>0]=C;Fb=zb+1|0;Gb=Kb;Hb=zb;Ib=Lb;Jb=c[r>>2]|0}r=Jb&255;if(Ib>>>0<Fb>>>0){C=Gp(Gb,Fb<<1)|0;if(!C){fb=Gb;gb=Hb;break h}else Mb=C}else Mb=Gb;a[Mb+Hb>>0]=r;fb=Mb;gb=Fb;break}case 3:{r=c[l+56>>2]|0;C=Gp(0,2)|0;if(!C){fb=0;gb=0;break h}a[C>>0]=r;fb=C;gb=1;break}default:{fb=0;gb=0}}while(0);if(!(kp(m,g,gb,64287,fb)|0))c[u>>2]=c[g>>2];Hp(fb)}if(c[l+116>>2]|0){C=c[l+120>>2]|0;r=Gp(0,8)|0;x=(r|0)==0;La=x?0:8;y=x?0:4;Ka=r+(x?-4:0)|0;a[Ka>>0]=C>>>24;a[Ka+1>>0]=C>>>16;a[Ka+2>>0]=C>>>8;a[Ka+3>>0]=C;C=c[l+124>>2]|0;Ka=y+4|0;if(La>>>0<Ka>>>0){x=Ka<<1;w=Gp(r,x)|0;da=(w|0)==0;Nb=da?r:w;Ob=da?y:Ka;Pb=da?La:x}else{Nb=r;Ob=Ka;Pb=La}La=Nb+(Ob+-4)|0;a[La>>0]=C>>>24;a[La+1>>0]=C>>>16;a[La+2>>0]=C>>>8;a[La+3>>0]=C;C=a[l+128>>0]|0;La=Ob+1|0;if(Pb>>>0<La>>>0){Ka=Gp(Nb,La<<1)|0;if(!Ka){Qb=Nb;Rb=Ob}else{Sb=Ka;v=203}}else{Sb=Nb;v=203}if((v|0)==203){a[Sb+Ob>>0]=C;Qb=Sb;Rb=La}if(!(kp(m,g,Rb,64292,Qb)|0))c[u>>2]=c[g>>2];Hp(Qb)}La=c[l+136>>2]|0;if(La|0){C=c[l+148>>2]|0;Ka=La;i:do if(C|0){r=La;x=c[g>>2]|0;while(1){da=r+1|0;y=r+2|0;w=r+3|0;A=(d[da>>0]<<16|d[r>>0]<<24|d[y>>0]<<8|d[w>>0])+12|0;s=A+x|0;if(s>>>0<A>>>0|s>>>0<x>>>0){Tb=77;break}z=Gp(c[m>>2]|0,s)|0;if(!z){Tb=9929;break}c[m>>2]=z;c[g>>2]=s;D=z+x|0;if(!A)Ub=s;else{s=0;do{a[D+s>>0]=a[r+s>>0]|0;s=s+1|0}while((s|0)!=(A|0));Ub=c[g>>2]|0}c[u>>2]=Ub;r=r+((d[da>>0]<<16|d[r>>0]<<24|d[y>>0]<<8|d[w>>0])+12)|0;if((r-Ka|0)>>>0>=C>>>0)break i;else x=Ub}c[p>>2]=Tb;break c}while(0);c[p>>2]=0}C=c[n>>2]|0;Ka=c[o>>2]|0;c[k>>2]=0;c[k+8>>2]=0;La=k+4|0;c[La>>2]=0;x=ip(k,La,C,Ka,b)|0;Ka=c[k>>2]|0;do if(!x){C=kp(m,g,c[La>>2]|0,64297,Ka)|0;if(C|0){Vb=C;break}c[u>>2]=c[g>>2];Vb=0}else Vb=x;while(0);Hp(Ka);c[p>>2]=Vb;if(Vb|0)break;do if(a[l+100>>0]|0){x=Fp(7)|0;if(!x)break;La=l+104|0;a[x>>0]=(c[La>>2]|0)>>>8;a[x+1>>0]=c[La>>2];a[x+2>>0]=a[l+108>>0]|0;a[x+3>>0]=a[l+109>>0]|0;a[x+4>>0]=a[l+110>>0]|0;a[x+5>>0]=a[l+111>>0]|0;a[x+6>>0]=a[l+112>>0]|0;if(!(kp(m,g,7,64302,x)|0))c[u>>2]=c[g>>2];Hp(x)}while(0);Ka=l+68|0;x=c[Ka>>2]|0;j:do if(x){La=l+72|0;C=b+24|0;r=l+76|0;A=k+8|0;s=k+4|0;D=0;z=x;while(1){Ta=c[(c[La>>2]|0)+(D<<2)>>2]|0;if((ft(Ta)|0)>>>0>79){v=231;break}Ua=a[Ta>>0]|0;if(!(Ua<<24>>24)){v=233;break}Wb=c[(c[r>>2]|0)+(D<<2)>>2]|0;if(!(c[C>>2]|0))zp(m,Ta,Wb);else{Xb=ft(Wb)|0;c[k>>2]=0;c[A>>2]=0;c[s>>2]=0;Yb=0;Zb=0;_b=0;$b=0;ac=1;bc=Ua;Ua=1;while(1){if(Ua){cc=ac<<1;dc=Gp(Zb,cc)|0;if(!dc){ec=Zb;fc=_b;gc=$b}else{hc=dc;ic=cc;v=238}}else{hc=Zb;ic=$b;v=238}if((v|0)==238){v=0;a[hc+_b>>0]=bc;ec=hc;fc=ac;gc=ic}Yb=Yb+1|0;bc=a[Ta+Yb>>0]|0;ac=fc+1|0;Ua=gc>>>0<ac>>>0;if(!(bc<<24>>24))break;else{Zb=ec;_b=fc;$b=gc}}if(Ua){$b=ac<<1;_b=Gp(ec,$b)|0;if(!_b){jc=ac;kc=ec;lc=fc;mc=gc}else{nc=_b;oc=$b;v=242}}else{nc=ec;oc=gc;v=242}if((v|0)==242){v=0;a[nc+fc>>0]=0;jc=fc+2|0;kc=nc;lc=ac;mc=oc}if(mc>>>0<jc>>>0){$b=jc<<1;_b=Gp(kc,$b)|0;if(!_b){pc=kc;qc=lc;rc=mc}else{sc=_b;tc=$b;v=245}}else{sc=kc;tc=mc;v=245}if((v|0)==245){v=0;a[sc+lc>>0]=0;pc=sc;qc=jc;rc=tc}do if(!(ip(k,s,Wb,Xb,b)|0)){$b=c[s>>2]|0;if(!$b){uc=pc;vc=qc}else{_b=0;Zb=pc;bc=qc;Yb=rc;Ta=$b;while(1){$b=a[(c[k>>2]|0)+_b>>0]|0;w=bc+1|0;if(Yb>>>0<w>>>0){y=w<<1;da=Gp(Zb,y)|0;if(!da){wc=Zb;xc=bc;yc=Yb;zc=Ta}else{Ac=da;Bc=y;v=251}}else{Ac=Zb;Bc=Yb;v=251}if((v|0)==251){v=0;a[Ac+bc>>0]=$b;wc=Ac;xc=w;yc=Bc;zc=c[s>>2]|0}_b=_b+1|0;if(_b>>>0>=zc>>>0){uc=wc;vc=xc;break}else{Zb=wc;bc=xc;Yb=yc;Ta=zc}}}if(kp(m,g,vc,64307,uc)|0){Cc=uc;break}c[u>>2]=c[g>>2];Cc=uc}else Cc=pc;while(0);c[A>>2]=0;c[s>>2]=0;Hp(c[k>>2]|0);Hp(Cc)}D=D+1|0;Xb=c[Ka>>2]|0;if(D>>>0>=Xb>>>0){Dc=Xb;break j}else z=Xb}if((v|0)==231){c[p>>2]=66;Dc=z;break}else if((v|0)==233){c[p>>2]=67;Dc=z;break}}else Dc=0;while(0);k:do if(c[b+20>>2]|0){if(Dc|0){Ka=c[l+72>>2]|0;x=0;do{if(!(Xs(c[Ka+(x<<2)>>2]|0,64312)|0))break k;x=x+1|0}while(x>>>0<Dc>>>0)}zp(m,64312,64320)}while(0);x=l+80|0;l:do if(c[x>>2]|0){Ka=l+84|0;z=b+24|0;D=l+88|0;s=l+92|0;A=l+96|0;C=k+8|0;r=k+4|0;La=0;while(1){Xb=c[(c[Ka>>2]|0)+(La<<2)>>2]|0;if((ft(Xb)|0)>>>0>79){v=267;break}Wb=a[Xb>>0]|0;if(!(Wb<<24>>24)){v=269;break}ac=c[z>>2]|0;Ua=c[(c[D>>2]|0)+(La<<2)>>2]|0;Ta=c[(c[s>>2]|0)+(La<<2)>>2]|0;Yb=c[(c[A>>2]|0)+(La<<2)>>2]|0;bc=ft(Yb)|0;Zb=0;_b=0;w=0;$b=0;y=1;da=Wb;Wb=1;while(1){if(Wb){cc=y<<1;dc=Gp(_b,cc)|0;if(!dc){Ec=_b;Fc=w;Gc=$b}else{Hc=dc;Ic=cc;v=273}}else{Hc=_b;Ic=$b;v=273}if((v|0)==273){v=0;a[Hc+w>>0]=da;Ec=Hc;Fc=y;Gc=Ic}Zb=Zb+1|0;da=a[Xb+Zb>>0]|0;y=Fc+1|0;Wb=Gc>>>0<y>>>0;if(!(da<<24>>24))break;else{_b=Ec;w=Fc;$b=Gc}}if(Wb){$b=y<<1;w=Gp(Ec,$b)|0;if(!w){Jc=y;Kc=Ec;Lc=Fc;Mc=Gc}else{Nc=w;Oc=$b;v=277}}else{Nc=Ec;Oc=Gc;v=277}if((v|0)==277){v=0;a[Nc+Fc>>0]=0;Jc=Fc+2|0;Kc=Nc;Lc=y;Mc=Oc}$b=(ac|0)!=0;w=$b&1;if(Mc>>>0<Jc>>>0){_b=Jc<<1;da=Gp(Kc,_b)|0;if(!da){Pc=Jc;Qc=Kc;Rc=Lc;Sc=Mc}else{Tc=da;Uc=_b;v=280}}else{Tc=Kc;Uc=Mc;v=280}if((v|0)==280){v=0;a[Tc+Lc>>0]=w;Pc=Lc+2|0;Qc=Tc;Rc=Jc;Sc=Uc}if(Sc>>>0<Pc>>>0){w=Pc<<1;_b=Gp(Qc,w)|0;if(!_b){Vc=Pc;Wc=Qc;Xc=Rc;Yc=Sc}else{Zc=_b;_c=w;v=283}}else{Zc=Qc;_c=Sc;v=283}if((v|0)==283){v=0;a[Zc+Rc>>0]=0;Vc=Pc+1|0;Wc=Zc;Xc=Pc;Yc=_c}w=a[Ua>>0]|0;_b=Yc>>>0<Vc>>>0;if(!(w<<24>>24)){$c=_b;ad=Vc;bd=Wc;cd=Xc;dd=Yc}else{da=0;Zb=Wc;Xb=Xc;cc=Yc;dc=Vc;ed=w;w=_b;while(1){if(w){_b=dc<<1;fd=Gp(Zb,_b)|0;if(!fd){gd=Zb;hd=Xb;id=cc}else{jd=fd;kd=_b;v=288}}else{jd=Zb;kd=cc;v=288}if((v|0)==288){v=0;a[jd+Xb>>0]=ed;gd=jd;hd=dc;id=kd}da=da+1|0;ed=a[Ua+da>>0]|0;_b=hd+1|0;fd=id>>>0<_b>>>0;if(!(ed<<24>>24)){$c=fd;ad=_b;bd=gd;cd=hd;dd=id;break}else{Zb=gd;Xb=hd;cc=id;dc=_b;w=fd}}}if($c){w=ad<<1;dc=Gp(bd,w)|0;if(!dc){ld=bd;md=cd;nd=dd}else{od=dc;pd=w;v=292}}else{od=bd;pd=dd;v=292}if((v|0)==292){v=0;a[od+cd>>0]=0;ld=od;md=ad;nd=pd}w=a[Ta>>0]|0;dc=md+1|0;cc=nd>>>0<dc>>>0;if(!(w<<24>>24)){qd=cc;rd=dc;sd=ld;td=md;ud=nd}else{Xb=0;Zb=ld;ed=md;da=nd;Ua=dc;dc=w;w=cc;while(1){if(w){cc=Ua<<1;ac=Gp(Zb,cc)|0;if(!ac){vd=Zb;wd=ed;xd=da}else{yd=ac;zd=cc;v=297}}else{yd=Zb;zd=da;v=297}if((v|0)==297){v=0;a[yd+ed>>0]=dc;vd=yd;wd=Ua;xd=zd}Xb=Xb+1|0;dc=a[Ta+Xb>>0]|0;cc=wd+1|0;ac=xd>>>0<cc>>>0;if(!(dc<<24>>24)){qd=ac;rd=cc;sd=vd;td=wd;ud=xd;break}else{Zb=vd;ed=wd;da=xd;Ua=cc;w=ac}}}if(qd){w=rd<<1;Ua=Gp(sd,w)|0;if(!Ua){Ad=sd;Bd=td;Cd=ud}else{Dd=Ua;Ed=w;v=301}}else{Dd=sd;Ed=ud;v=301}if((v|0)==301){v=0;a[Dd+td>>0]=0;Ad=Dd;Bd=rd;Cd=Ed}do if($b){c[k>>2]=0;c[C>>2]=0;c[r>>2]=0;if(ip(k,r,Yb,bc,b)|0){Fd=Ad;break}w=c[r>>2]|0;if(!w){Gd=Ad;Hd=Bd;Id=Cd}else{Ua=0;da=Ad;ed=Bd;Zb=Cd;dc=w;while(1){w=a[(c[k>>2]|0)+Ua>>0]|0;Xb=ed+1|0;if(Zb>>>0<Xb>>>0){Ta=Xb<<1;ac=Gp(da,Ta)|0;if(!ac){Jd=da;Kd=ed;Ld=Zb;Md=dc}else{Nd=ac;Od=Ta;v=308}}else{Nd=da;Od=Zb;v=308}if((v|0)==308){v=0;a[Nd+ed>>0]=w;Jd=Nd;Kd=Xb;Ld=Od;Md=c[r>>2]|0}Ua=Ua+1|0;if(Ua>>>0>=Md>>>0){Gd=Jd;Hd=Kd;Id=Ld;break}else{da=Jd;ed=Kd;Zb=Ld;dc=Md}}}dc=a[Yb>>0]|0;if(!(dc<<24>>24)){Pd=Gd;Qd=Hd;v=322;break}Zb=0;ed=Gd;da=Hd;Ua=Id;Xb=dc;while(1){dc=da+1|0;if(Ua>>>0<dc>>>0){w=dc<<1;Ta=Gp(ed,w)|0;if(!Ta){Rd=ed;Sd=da;Td=Ua}else{Ud=Ta;Vd=w;v=314}}else{Ud=ed;Vd=Ua;v=314}if((v|0)==314){v=0;a[Ud+da>>0]=Xb;Rd=Ud;Sd=dc;Td=Vd}Zb=Zb+1|0;Xb=a[Yb+Zb>>0]|0;if(!(Xb<<24>>24)){Pd=Rd;Qd=Sd;v=322;break}else{ed=Rd;da=Sd;Ua=Td}}}else{Ua=a[Yb>>0]|0;if(!(Ua<<24>>24)){Pd=Ad;Qd=Bd;v=322;break}da=0;ed=Ad;Xb=Bd;Zb=Cd;dc=Ua;while(1){Ua=Xb+1|0;if(Zb>>>0<Ua>>>0){w=Ua<<1;Ta=Gp(ed,w)|0;if(!Ta){Wd=ed;Xd=Xb;Yd=Zb}else{Zd=Ta;_d=w;v=320}}else{Zd=ed;_d=Zb;v=320}if((v|0)==320){v=0;a[Zd+Xb>>0]=dc;Wd=Zd;Xd=Ua;Yd=_d}da=da+1|0;dc=a[Yb+da>>0]|0;if(!(dc<<24>>24)){Pd=Wd;Qd=Xd;v=322;break}else{ed=Wd;Xb=Xd;Zb=Yd}}}while(0);do if((v|0)==322){v=0;if(kp(m,g,Qd,64329,Pd)|0){Fd=Pd;break}c[u>>2]=c[g>>2];Fd=Pd}while(0);Hp(Fd);La=La+1|0;if(La>>>0>=(c[x>>2]|0)>>>0)break l}if((v|0)==267){c[p>>2]=66;break}else if((v|0)==269){c[p>>2]=67;break}}while(0);x=c[l+140>>2]|0;if(x|0){La=c[l+152>>2]|0;r=x;m:do if(La|0){C=x;A=c[g>>2]|0;while(1){s=C+1|0;D=C+2|0;z=C+3|0;Ka=(d[s>>0]<<16|d[C>>0]<<24|d[D>>0]<<8|d[z>>0])+12|0;Yb=Ka+A|0;if(Yb>>>0<Ka>>>0|Yb>>>0<A>>>0){$d=77;break}bc=Gp(c[m>>2]|0,Yb)|0;if(!bc){$d=9929;break}c[m>>2]=bc;c[g>>2]=Yb;$b=bc+A|0;if(!Ka)ae=Yb;else{Yb=0;do{a[$b+Yb>>0]=a[C+Yb>>0]|0;Yb=Yb+1|0}while((Yb|0)!=(Ka|0));ae=c[g>>2]|0}c[u>>2]=ae;C=C+((d[s>>0]<<16|d[C>>0]<<24|d[D>>0]<<8|d[z>>0])+12)|0;if((C-r|0)>>>0>=La>>>0)break m;else A=ae}c[p>>2]=$d;break c}while(0);c[p>>2]=0}La=c[g>>2]|0;r=La+12|0;if(La>>>0>4294967283)break;x=Gp(c[m>>2]|0,r)|0;if(!x)break;c[m>>2]=x;c[g>>2]=r;r=x+La|0;a[r>>0]=0;a[r+1>>0]=0;a[r+2>>0]=0;a[r+3>>0]=0;La=r+4|0;a[La>>0]=73;a[r+5>>0]=69;a[r+6>>0]=78;a[r+7>>0]=68;x=jp(La,4)|0;La=r+8|0;a[La>>0]=x>>>24;a[La+1>>0]=x>>>16;a[La+2>>0]=x>>>8;a[La+3>>0]=x;c[u>>2]=c[g>>2]}while(0);Hp(c[n>>2]|0);c[e>>2]=c[m>>2];c[f>>2]=c[g>>2];Fa=j;return}function xp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;h=Fa;Fa=Fa+320|0;i=h+288|0;j=h+256|0;k=h+224|0;l=h+192|0;m=h+160|0;n=h+128|0;o=h+96|0;p=h+64|0;q=h+32|0;r=h;s=g+20|0;t=g+24|0;u=c[t>>2]|0;switch(c[s>>2]|0){case 3:case 0:{v=1;break}case 2:{v=3;break}case 4:{v=2;break}case 6:{v=4;break}default:v=0}w=B(v,u)|0;u=c[g>>2]|0;v=c[g+4>>2]|0;if(!(c[g+16>>2]|0)){g=B(u,w)|0;x=g+7|0;y=B(x>>>3,v)|0;z=y+v|0;c[e>>2]=z;A=Fp(z)|0;c[b>>2]=A;if((A|0)==0?c[e>>2]|0:0){Fa=h;return}if(w>>>0<8?(z=x&-8,(g|0)!=(z|0)):0){if(y){x=Gp(0,y<<1)|0;if(!x)C=0;else{D=x;E=13}}else{D=0;E=13}if((E|0)==13){Ap(D,f,z,g,v);Bp(c[b>>2]|0,D,u,v,c[s>>2]|0,c[t>>2]|0)|0;C=D}Hp(C);Fa=h;return}Bp(A,f,u,v,c[s>>2]|0,c[t>>2]|0)|0;Fa=h;return}A=B(w,u)|0;C=((B(A,v)|0)+7|0)>>>3;D=Fp(C)|0;g=(C|0)==0|(D|0)!=0;C=g?0:9952;if(g){tp(n,o,p,q,r,u,v,w);z=c[p+28>>2]|0;c[e>>2]=z;x=Fp(z)|0;c[b>>2]=x;if(!((x|0)==0?(c[e>>2]|0)!=0:0))E=19;do if((E|0)==19){tp(i,j,k,l,m,u,v,w);if(w>>>0>7){e=w>>>3;if(e|0){x=0;do{z=c[j+(x<<2)>>2]|0;if(z|0?(y=c[i+(x<<2)>>2]|0,y|0):0){F=c[28656+(x<<2)>>2]|0;G=c[28624+(x<<2)>>2]|0;H=c[28592+(x<<2)>>2]|0;I=c[28560+(x<<2)>>2]|0;J=c[m+(x<<2)>>2]|0;K=0;do{L=(B((B(K,G)|0)+F|0,u)|0)+H|0;M=B(K,y)|0;N=0;do{O=B(L+(B(N,I)|0)|0,e)|0;P=(B(N+M|0,e)|0)+J|0;Q=0;do{a[D+(P+Q)>>0]=a[f+(Q+O)>>0]|0;Q=Q+1|0}while((Q|0)!=(e|0));N=N+1|0}while((N|0)!=(y|0));K=K+1|0}while((K|0)!=(z|0))}x=x+1|0}while((x|0)!=7)}}else{x=(w|0)==0;e=0;do{z=c[i+(e<<2)>>2]|0;K=c[j+(e<<2)>>2]|0;if(K|0?(y=28656+(e<<2)|0,J=28624+(e<<2)|0,I=28592+(e<<2)|0,z|0):0){H=c[28560+(e<<2)>>2]|0;F=c[m+(e<<2)>>2]<<3;G=0;do{N=B(G,z)|0;if(!x){M=B(c[J>>2]|0,G)|0;L=(B(M+(c[y>>2]|0)|0,u)|0)+(c[I>>2]|0)|0;M=0;do{Q=(B(M+N|0,w)|0)+F|0;O=0;P=B(L+(B(M,H)|0)|0,w)|0;while(1){R=1<<(Q&7^7);if(!(1<<(P&7^7)&(d[f+(P>>>3)>>0]|0))){S=D+(Q>>>3)|0;T=S;U=(R^255)&(d[S>>0]|0)}else{S=D+(Q>>>3)|0;T=S;U=R|(d[S>>0]|0)}a[T>>0]=U;O=O+1|0;if((O|0)==(w|0))break;else{Q=Q+1|0;P=P+1|0}}M=M+1|0}while((M|0)!=(z|0))}G=G+1|0}while((G|0)!=(K|0))}e=e+1|0}while((e|0)!=7)}e=B((A+7|0)>>>3,v)|0;x=(e|0)==0;K=e<<1;if(w>>>0>=8){Bp((c[b>>2]|0)+(c[p>>2]|0)|0,D+(c[q>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bp((c[b>>2]|0)+(c[p+4>>2]|0)|0,D+(c[q+4>>2]|0)|0,c[n+4>>2]|0,c[o+4>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bp((c[b>>2]|0)+(c[p+8>>2]|0)|0,D+(c[q+8>>2]|0)|0,c[n+8>>2]|0,c[o+8>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bp((c[b>>2]|0)+(c[p+12>>2]|0)|0,D+(c[q+12>>2]|0)|0,c[n+12>>2]|0,c[o+12>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bp((c[b>>2]|0)+(c[p+16>>2]|0)|0,D+(c[q+16>>2]|0)|0,c[n+16>>2]|0,c[o+16>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bp((c[b>>2]|0)+(c[p+20>>2]|0)|0,D+(c[q+20>>2]|0)|0,c[n+20>>2]|0,c[o+20>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bp((c[b>>2]|0)+(c[p+24>>2]|0)|0,D+(c[q+24>>2]|0)|0,c[n+24>>2]|0,c[o+24>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;break}if(!x){e=Gp(0,K)|0;if(!e){V=9954;W=0}else{X=e;E=48}}else{X=0;E=48}if((E|0)==48)if(g){e=X+(c[q>>2]|0)|0;G=c[n>>2]|0;z=B(G,w)|0;H=c[o>>2]|0;Ap(e,D+(c[r>>2]|0)|0,z+7&-8,z,H);V=Bp((c[b>>2]|0)+(c[p>>2]|0)|0,e,G,H,c[s>>2]|0,c[t>>2]|0)|0;W=X}else{V=C;W=X}Hp(W);if(!x){H=Gp(0,K)|0;if(!H){Y=9954;Z=0}else{_=H;E=56}}else{_=0;E=56}if((E|0)==56)if(!V){H=_+(c[q+4>>2]|0)|0;G=c[n+4>>2]|0;e=B(G,w)|0;z=c[o+4>>2]|0;Ap(H,D+(c[r+4>>2]|0)|0,e+7&-8,e,z);Y=Bp((c[b>>2]|0)+(c[p+4>>2]|0)|0,H,G,z,c[s>>2]|0,c[t>>2]|0)|0;Z=_}else{Y=V;Z=_}Hp(Z);if(!x){z=Gp(0,K)|0;if(!z){$=9954;aa=0}else{ba=z;E=60}}else{ba=0;E=60}if((E|0)==60)if(!Y){z=ba+(c[q+8>>2]|0)|0;G=c[n+8>>2]|0;H=B(G,w)|0;e=c[o+8>>2]|0;Ap(z,D+(c[r+8>>2]|0)|0,H+7&-8,H,e);$=Bp((c[b>>2]|0)+(c[p+8>>2]|0)|0,z,G,e,c[s>>2]|0,c[t>>2]|0)|0;aa=ba}else{$=Y;aa=ba}Hp(aa);if(!x){e=Gp(0,K)|0;if(!e){ca=9954;da=0}else{ea=e;E=64}}else{ea=0;E=64}if((E|0)==64)if(!$){e=ea+(c[q+12>>2]|0)|0;G=c[n+12>>2]|0;z=B(G,w)|0;H=c[o+12>>2]|0;Ap(e,D+(c[r+12>>2]|0)|0,z+7&-8,z,H);ca=Bp((c[b>>2]|0)+(c[p+12>>2]|0)|0,e,G,H,c[s>>2]|0,c[t>>2]|0)|0;da=ea}else{ca=$;da=ea}Hp(da);if(!x){H=Gp(0,K)|0;if(!H){fa=9954;ga=0}else{ha=H;E=68}}else{ha=0;E=68}if((E|0)==68)if(!ca){H=ha+(c[q+16>>2]|0)|0;G=c[n+16>>2]|0;e=B(G,w)|0;z=c[o+16>>2]|0;Ap(H,D+(c[r+16>>2]|0)|0,e+7&-8,e,z);fa=Bp((c[b>>2]|0)+(c[p+16>>2]|0)|0,H,G,z,c[s>>2]|0,c[t>>2]|0)|0;ga=ha}else{fa=ca;ga=ha}Hp(ga);if(!x){z=Gp(0,K)|0;if(!z){ia=9954;ja=0}else{ka=z;E=72}}else{ka=0;E=72}if((E|0)==72)if(!fa){z=ka+(c[q+20>>2]|0)|0;G=c[n+20>>2]|0;H=B(G,w)|0;e=c[o+20>>2]|0;Ap(z,D+(c[r+20>>2]|0)|0,H+7&-8,H,e);ia=Bp((c[b>>2]|0)+(c[p+20>>2]|0)|0,z,G,e,c[s>>2]|0,c[t>>2]|0)|0;ja=ka}else{ia=fa;ja=ka}Hp(ja);if(!x){x=Gp(0,K)|0;if(!x)la=0;else{ma=x;E=76}}else{ma=0;E=76}if((E|0)==76)if(!ia){x=ma+(c[q+24>>2]|0)|0;K=c[n+24>>2]|0;e=B(K,w)|0;G=c[o+24>>2]|0;Ap(x,D+(c[r+24>>2]|0)|0,e+7&-8,e,G);Bp((c[b>>2]|0)+(c[p+24>>2]|0)|0,x,K,G,c[s>>2]|0,c[t>>2]|0)|0;la=ma}else la=ma;Hp(la)}while(0)}Hp(D);Fa=h;return}function yp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;a:do switch(c[d>>2]|0){case 3:{e=d+12|0;if(!(c[e>>2]|0)){f=0;g=0}else{h=d+8|0;i=0;j=0;k=0;l=0;while(1){m=a[(c[h>>2]|0)+(i<<2|3)>>0]|0;n=k+1|0;if(l>>>0<n>>>0){o=n<<1;p=Gp(j,o)|0;if(!p){q=j;r=k;s=l}else{t=p;u=o;v=6}}else{t=j;u=l;v=6}if((v|0)==6){v=0;a[t+k>>0]=m;q=t;r=n;s=u}i=i+1|0;if(i>>>0>=(c[e>>2]|0)>>>0){f=q;g=r;break}else{j=q;k=r;l=s}}}break}case 0:{if(!(c[d+16>>2]|0)){f=0;g=0}else{l=d+20|0;k=c[l>>2]|0;j=Gp(0,2)|0;if(!j){e=c[l>>2]|0;i=Gp(0,2)|0;if(!i){f=0;g=0;break a}else{w=e;x=i;y=0;z=1}}else{a[j>>0]=k>>>8;w=c[l>>2]|0;x=j;y=1;z=2}a[x+y>>0]=w;f=x;g=z}break}case 2:{if(!(c[d+16>>2]|0)){f=0;g=0}else{j=d+20|0;l=c[j>>2]|0;k=Gp(0,2)|0;if(!k){i=c[j>>2]|0;e=Gp(0,2)|0;if(!e){A=0;B=0;C=0}else{D=i;E=e;F=0;G=1;v=17}}else{a[k>>0]=l>>>8;D=c[j>>2]|0;E=k;F=1;G=2;v=17}if((v|0)==17){a[E+F>>0]=D;A=E;B=G;C=2}k=d+24|0;j=(c[k>>2]|0)>>>8&255;l=B+1|0;if(C>>>0<l>>>0){e=l<<1;i=Gp(A,e)|0;if(!i){H=l;I=A;J=B;K=C}else{L=i;M=e;v=20}}else{L=A;M=C;v=20}if((v|0)==20){a[L+B>>0]=j;H=B+2|0;I=L;J=l;K=M}l=c[k>>2]&255;if(K>>>0<H>>>0){k=H<<1;j=Gp(I,k)|0;if(!j){N=H;O=I;P=J;Q=K}else{R=j;S=k;v=23}}else{R=I;S=K;v=23}if((v|0)==23){a[R+J>>0]=l;N=H+1|0;O=R;P=H;Q=S}l=d+28|0;k=(c[l>>2]|0)>>>8&255;if(Q>>>0<N>>>0){j=N<<1;e=Gp(O,j)|0;if(!e){T=N;U=O;V=P;W=Q}else{X=e;Y=j;v=26}}else{X=O;Y=Q;v=26}if((v|0)==26){a[X+P>>0]=k;T=N+1|0;U=X;V=N;W=Y}k=c[l>>2]&255;if(W>>>0<T>>>0){l=Gp(U,T<<1)|0;if(!l){f=U;g=V;break a}else Z=l}else Z=U;a[Z+V>>0]=k;f=Z;g=T}break}default:{f=0;g=0}}while(0);T=b+4|0;if(kp(b,T,g,64339,f)|0){Hp(f);return}c[b+8>>2]=c[T>>2];Hp(f);return}function zp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=a[d>>0]|0;if(f<<24>>24){g=0;h=0;i=0;j=0;k=f;f=1;l=1;while(1){if(f){m=l<<1;n=Gp(h,m)|0;if(!n){o=h;p=i;q=j}else{r=n;s=m;t=5}}else{r=h;s=j;t=5}if((t|0)==5){t=0;a[r+i>>0]=k;o=r;p=l;q=s}g=g+1|0;k=a[d+g>>0]|0;l=p+1|0;f=q>>>0<l>>>0;if(!(k<<24>>24))break;else{h=o;i=p;j=q}}if(f){u=l;v=o;w=p;x=q;t=8}else{y=l;z=o;A=p;B=q;t=9}}else{u=1;v=0;w=0;x=0;t=8}if((t|0)==8){q=u<<1;p=Gp(v,q)|0;if(!p){C=v;D=w;E=x}else{y=u;z=p;A=w;B=q;t=9}}if((t|0)==9){a[z+A>>0]=0;C=z;D=y;E=B}B=a[e>>0]|0;if(!(B<<24>>24)){F=C;G=D}else{y=0;z=C;C=D;D=E;E=B;while(1){B=C+1|0;if(D>>>0<B>>>0){A=B<<1;q=Gp(z,A)|0;if(!q){H=z;I=C;J=D}else{K=q;L=A;t=14}}else{K=z;L=D;t=14}if((t|0)==14){t=0;a[K+C>>0]=E;H=K;I=B;J=L}y=y+1|0;E=a[e+y>>0]|0;if(!(E<<24>>24)){F=H;G=I;break}else{z=H;C=I;D=J}}}J=b+4|0;if(kp(b,J,G,64334,F)|0){Hp(F);return}c[b+8>>2]=c[J>>2];Hp(F);return}function Ap(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=e-f|0;if(!g)return;i=(h|0)!=0;if(!f){j=0;k=0;while(1){if(i){l=0;m=j;while(1){n=b+(m>>>3)|0;a[n>>0]=(1<<(m&7^7)^255)&(d[n>>0]|0);l=l+1|0;if((l|0)==(h|0))break;else m=m+1|0}o=j+e|0}else o=j;k=k+1|0;if((k|0)==(g|0))break;else j=o}return}o=0;j=0;k=0;while(1){m=j+f|0;l=0;n=o;p=j;while(1){q=1<<(p&7^7);if(!(1<<(n&7^7)&(d[c+(n>>>3)>>0]|0))){r=b+(p>>>3)|0;s=r;t=(q^255)&(d[r>>0]|0)}else{r=b+(p>>>3)|0;s=r;t=q|(d[r>>0]|0)}a[s>>0]=t;l=l+1|0;if((l|0)==(f|0))break;else{n=n+1|0;p=p+1|0}}o=o+f|0;if(i){p=0;n=m;while(1){l=b+(n>>>3)|0;a[l>>0]=(1<<(n&7^7)^255)&(d[l>>0]|0);p=p+1|0;if((p|0)==(h|0))break;else n=n+1|0}u=j+e|0}else u=m;k=k+1|0;if((k|0)==(g|0))break;else j=u}return}
+function tj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=b+112|0;e=c[d>>2]|0;if((e|0)>0){f=c[b+8>>2]|0;g=0-e|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=e}else{g=qd(h)|0;i=g;j=c[d>>2]|0}g=i>>16;if((j|0)>1){c[524978]=(c[524978]|0)+-2;k=g;l=j}else{k=g;l=j}}else{k=0;l=e}e=b+8|0;b=0;j=l;do{l=b;b=b+1|0;do if((j|0)>(b|0)){g=(c[e>>2]|0)+(0-j<<3)+(b<<3)|0;if((c[g+4>>2]|0)==3){m=c[g>>2]|0;break}else{m=qd(g)|0;break}}else m=0;while(0);g=(l<<2)+k|0;if((g+-24576|0)>>>0<8189){i=(c[(c[704852]|0)+12>>2]|0)+((g<<1)+-49152)|0;a[i>>0]=m&15;h=i+1|0;a[h>>0]=m>>>4&15;i=h+1|0;a[i>>0]=m>>>8&15;h=i+1|0;a[h>>0]=m>>>12&15;i=h+1|0;a[i>>0]=m>>>16&15;h=i+1|0;a[h>>0]=m>>>20&15;i=h+1|0;a[i>>0]=m>>>24&15;a[i+1>>0]=m>>>28}else{uk(2819376,c[743521]|0,g,m&255);uk(2819376,c[743521]|0,g+1|0,m>>>8&255);uk(2819376,c[743521]|0,g+2|0,m>>>16&255);uk(2819376,c[743521]|0,g+3|0,m>>>24)}j=c[d>>2]|0;g=(j|0)<8193?j+-1|0:8192}while(b>>>0<((g|0)>1?g:1)>>>0);return 0}function uj(a){a=a|0;var b=0,d=0;b=c[704845]|0;d=Su(b|0,((b|0)<0)<<31>>31|0,16)|0;b=Nu(d|0,G()|0,60,0)|0;G()|0;yd(a,b);return 1}function vj(a){a=a|0;xd(a);return 1}function wj(a){a=a|0;if(!(c[525002]|0))cb(60104,2e3);c[525002]=1;xd(a);return 1}function xj(a){a=a|0;if(!(c[525001]|0))cb(60073,2e3);c[525001]=1;xd(a);yd(a,0);return 2}function yj(a){a=a|0;xd(a);yd(a,0);return 2}function zj(a){a=a|0;return 0}function Aj(a){a=a|0;c[759980]=1;Uj(a,0);return 1}function Bj(a){a=a|0;c[759980]=1;Uj(a,1);return 1}function Cj(b){b=b|0;var c=0,d=0,e=0;c=pd(b,1,0)|0;d=c>>16;e=td(b,2,0)|0;if(!e){a[2973694+(d<<6)>>0]=0;return 0}if((c+-65536|0)>>>0>327679)return 0;nu(2973694+(d<<6)|0,e,16)|0;return 0}function Dj(a){a=a|0;var b=0,d=0,e=0,f=0;b=Fa;Fa=Fa+16|0;d=b;c[d>>2]=255;if((jd(a)|0)>0?(e=td(a,1,d)|0,(e|0)!=0):0){Fd(a,(vl(e)|0)==0&1);f=1}else f=0;Fa=b;return f|0}function Ej(b){b=b|0;var d=0,e=0;d=pd(b,1,0)|0;if(!(a[2964308]|0)){yb(60043)|0;e=0;return e|0}if(d>>>0>4194303){yd(b,0);e=1;return e|0}else{yd(b,c[2965332+(d>>16<<2)>>2]|0);e=1;return e|0}return 0}function Fj(b){b=b|0;var d=0,e=0;d=pd(b,1,0)|0;e=pd(b,2,0)|0;if(!(a[2964308]|0)){yb(60013)|0;return 0}if(d>>>0>4194303)return 0;b=2965332+(d>>16<<2)|0;if((c[b>>2]|0)!=(e|0))c[759981]=1;c[b>>2]=e;return 0}function Gj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=Fa;Fa=Fa+112|0;e=d+64|0;f=d+108|0;g=d+104|0;h=d+100|0;i=d+72|0;j=d;Vg(16);a:do if((jd(b)|0)>0){k=(pd(b,1,0)|0)>>16;switch(k|0){case 1:{l=4;break a;break}case 0:{$e(c[524986]|0,2,0)|0;m=(c[759908]|0)+(c[742570]|0)|0;n=((m|0)<2097152?m:2097152)<<6;o=0;p=(n|0)>0?n:0;l=15;break a;break}case 2:{q=2;r=Hg(Bg(1)|0)|0;l=93;break a;break}default:{n=(k|0)==3?c[760447]<<16:0;switch(k|0){case 5:{q=k;r=2097152;l=93;break a;break}case 4:{tr();m=c[416461]|0;if(!m){zd(b,3042456,0)|0;Fa=d;return 1}else{s=Fp((ft(m)|0)+16|0)|0;Hr(c[416461]|0,s)|0;zd(b,s,ft(s)|0)|0;Hp(s);Fa=d;return 1}break}case 6:{s=ft(2971644)|0;zd(b,2971644,s>>>0<1024?s:1024)|0;Fa=d;return 1}case 7:{q=7;r=c[759972]<<16;l=93;break a;break}case 9:{q=9;r=(Gq()|0)<<16;l=93;break a;break}case 11:{q=11;r=(jk()|0)<<16;l=93;break a;break}case 13:{rb();q=13;r=4128768-((((c[416457]<<3)+8|0)/2|0)<<16)|0;l=93;break a;break}default:{o=k;p=n;l=15;break a}}}}}else l=4;while(0);if((l|0)==4){o=1;p=Hg(Bg(0)|0)|0;l=15}b:do if((l|0)==15)switch(o|0){case 12:{q=o;r=1507328;l=93;break b;break}case 14:{q=o;r=6815744;l=93;break b;break}case 15:{rb();t=((((c[416457]<<3)+8|0)/2|0)<<16)+4194304|0;break b;break}default:{n=(o|0)==10?c[759910]<<16:(o|0)==8?c[759973]<<16:p;k=o&-4;if((k|0)==16){s=kq(o+-16|0)|0;m=c[743521]|0;u=0;v=-65536;do{v=(s|0)==(m+12+(u*660|0)|0)?u<<16:v;u=u+1|0}while((u|0)!=64);if((v|0)==-65536){u=kq(o+-12|0)|0;m=c[743521]|0;s=0;w=-65536;while(1){x=(u|0)==(m+12+(s*660|0)|0)?s<<16:w;s=s+1|0;if((s|0)==64){y=x;break}else w=x}}else y=v}else y=n;do if((k|0)==20){w=kq(o+-20|0)|0;if(!w){s=kq(o+-16|0)|0;if(!s){z=-65536;break}else A=s}else A=w;z=(jq(A)|0)<<16}else z=y;while(0);switch(o|0){case 24:{k=c[525578]<<16;n=(vq()|0)==0;t=n?-65536:k;break b;break}case 25:{k=c[525577]<<16;n=(vq()|0)==0;t=n?-65536:k;break b;break}case 26:{k=(xq()|0)<<16;n=(vq()|0)==0;t=n?-65536:k;break b;break}case 29:{t=br()|0;break b;break}default:{k=(o|0)==30;n=(o|0)==31;if((o|1|0)==31){if(!((vk(2819376,c[743521]|0,24365)|0)&1)){if(k)Fd(b,0);if(!n){Fa=d;return 1}zd(b,3042456,0)|0;Fa=d;return 1}tr();if((a[2966616]|0)!=0&(c[742428]|0)!=0|(c[415553]|0)!=0){if(!(c[759907]|0))cb(59866,2e3);c[759907]=1}if(k){Fd(b,(c[760446]|0)>0&1);Fa=d;return 1}if(n){if(!(c[760446]|0)){zd(b,3042456,0)|0;Fa=d;return 1}zd(b,3041528,1)|0;n=0;do{k=n;n=n+1|0;a[3041528+k>>0]=a[3041528+n>>0]|0}while((n|0)!=255);c[760446]=(c[760446]|0)+-1;Fa=d;return 1}}if((o+-32|0)>>>0<9){if(!((vk(2819376,c[743521]|0,24365)|0)&1))B=z;else{if((a[2966616]|0)!=0&(c[742428]|0)!=0|(c[415553]|0)!=0){if(!(c[759907]|0))cb(59890,2e3);c[759907]=1}fr(f,g,h);n=(o|0)==36?c[742828]|0:(o|0)==35?c[742827]|0:(o|0)==34?c[h>>2]|0:(o|0)==33?c[g>>2]|0:(o|0)==32?c[f>>2]|0:z;if(!((vk(2819376,c[743521]|0,24365)|0)&4))C=n;else C=(o|0)==39?c[742830]|0:(o|0)==38?c[742829]|0:n;B=C<<16}if((o|0)==37){n=c[742568]<<16;c[742568]=0;t=n;break b}else D=B}else D=z;switch(o|0){case 48:{xd(b);Fa=d;return 1}case 49:{zd(b,3042456,0)|0;Fa=d;return 1}default:{if((o+-50|0)>>>0<8){xd(b);Fa=d;return 1}if((o+-58|0)>>>0<6){zd(b,3042456,0)|0;Fa=d;return 1}if((o&-8|0)==64){xd(b);Fa=d;return 1}do if((o+-80|0)>>>0>=6){if((o+-90|0)>>>0<6){Lq(i,1);E=((o|0)==95?c[i+24>>2]|0:(o|0)==94?c[i+20>>2]|0:(o|0)==93?c[i+16>>2]|0:(o|0)==92?c[i+12>>2]|0:(o|0)==91?c[i+8>>2]|0:(o|0)==90?c[i+4>>2]|0:D)<<16;break}if((o|0)==99){n=(c[759908]|0)+(c[742570]|0)|0;k=((n|0)<2097152?n:2097152)<<6;t=(k|0)>0?k:0;break b}else E=D}else{Lq(i,0);E=((o|0)==85?c[i+24>>2]|0:(o|0)==84?c[i+20>>2]|0:(o|0)==83?c[i+16>>2]|0:(o|0)==82?c[i+12>>2]|0:(o|0)==81?c[i+8>>2]|0:(o|0)==80?c[i+4>>2]|0:D)<<16}while(0);switch(o|0){case 100:{if(!(pg()|0)){xd(b);Fa=d;return 1}else{k=pg()|0;zd(b,k,ft(pg()|0)|0)|0;Fa=d;return 1}break}case 101:{if((a[2966616]|0)!=0&(c[742428]|0)!=0){zd(b,2966616,ft(2966616)|0)|0;Fa=d;return 1}else{xd(b);Fa=d;return 1}break}case 102:{k=la(20,0)|0;n=k;if(!k){xd(b);Fa=d;return 1}else{zd(b,n,ft(n)|0)|0;Fa=d;return 1}break}case 103:{zd(b,2964221,ft(2964221)|0)|0;Fa=d;return 1}case 104:{Fd(b,0);Fa=d;return 1}case 106:{c[e>>2]=2971644;c[e+4>>2]=2964221;vs(1509584,71619,e)|0;Op(1509584,ft(1509584)|0,j)|0;zd(b,j,ft(j)|0)|0;Fa=d;return 1}case 107:{t=c[415621]<<16;break b;break}default:{if((o|0)!=109){q=o;r=(o|0)==108?c[525410]<<16:E;l=93;break b}t=((c[525865]|0)/4|0)<<16;break b}}}}}}}}while(0);c:do if((l|0)==93)switch(q|0){case 110:{Fd(b,c[416527]|0);Fa=d;return 1}case 120:{Fd(b,(Gm()|0)>0&1);Fa=d;return 1}case 121:{Fd(b,(Hm()|0)>0&1);Fa=d;return 1}case 122:{Fd(b,c[516416]|0);Fa=d;return 1}default:{t=r;break c}}while(0);yd(b,t);Fa=d;return 1}function Hj(b){b=b|0;var d=0,e=0;d=Fa;Fa=Fa+16|0;e=d;c[e>>2]=32;a[e>>0]=(pd(b,1,0)|0)>>>16;zd(b,e,1)|0;Vg(1);Fa=d;return 1}function Ij(b){b=b|0;var d=0,e=0,f=0,g=0;d=Fa;Fa=Fa+16|0;e=d;c[e>>2]=32768;if((jd(b)|0)>0)f=td(b,1,e)|0;else f=0;if((jd(b)|0)>1)g=((pd(b,2,0)|0)>>16)+-1|0;else g=0;Vg(1);if((f|0)!=0&(g|0)>-1&g>>>0<(c[e>>2]|0)>>>0){yd(b,(((a[f+g>>0]|0)+256|0)%256|0)<<16);Fa=d;return 1}else{xd(b);Fa=d;return 1}return 0}function Jj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=Fa;Fa=Fa+16|0;e=d+4|0;f=d;if((jd(b)|0)<=0){g=0;Fa=d;return g|0}h=td(b,1,0)|0;if(!h){g=0;Fa=d;return g|0}i=ft(h)|0;Id(b,0,1);Vg(i);if((jd(b)|0)>2)j=sd(b,3)|0;else j=1;k=(pd(b,3,0)|0)==2;l=k?1:j;if((nd(b,2)|0)==3){j=(pd(b,2,0)|0)>>16;k=(j|0)<(i|0)?j:i;j=(k|0)>1?k:1;k=Dp(j+1|0)|0;a:do if((i|0)>0){if(!l){m=0;n=1;while(1){Ep(k,0,j);o=i-m|0;Xu(k|0,h+m|0,((j|0)<(o|0)?j:o)|0)|0;c[f>>2]=0;Ad(b,k)|0;Kd(b,-2,n);m=m+j|0;if((i|0)<=(m|0))break a;else n=n+1|0}}n=0;m=1;while(1){Ep(k,0,j);o=i-n|0;Xu(k|0,h+n|0,((j|0)<(o|0)?j:o)|0)|0;c[f>>2]=0;if(!(Hc(k,ft(k)|0,f)|0))Ad(b,k)|0;else yd(b,c[f>>2]|0);Kd(b,-2,m);n=n+j|0;if((i|0)<=(n|0))break;else m=m+1|0}}while(0);Hp(k);g=1;Fa=d;return g|0}if((jd(b)|0)>1)p=td(b,2,0)|0;else p=0;k=(p|0)==0?64744:p;if(!(a[k>>0]|0)){if((i|0)<=0){g=1;Fa=d;return g|0}p=e+1|0;if(!l){j=0;m=1;while(1){a[e>>0]=a[h+j>>0]|0;a[p>>0]=0;Ad(b,e)|0;Kd(b,-2,m);j=j+1|0;if((j|0)==(i|0)){g=1;break}else m=m+1|0}Fa=d;return g|0}m=0;j=1;while(1){n=a[h+m>>0]|0;a[e>>0]=n;a[p>>0]=0;if((n+-48&255)<10)yd(b,(n<<24>>24<<16)+-3145728|0);else Ad(b,e)|0;Kd(b,-2,j);m=m+1|0;if((m|0)==(i|0)){g=1;break}else j=j+1|0}Fa=d;return g|0}j=Fp(i+1|0)|0;ot(j,h)|0;b:do if(!l){h=0;i=1;while(1){m=a[k>>0]|0;e=h;while(1){p=a[j+e>>0]|0;q=p<<24>>24==0;if(q|p<<24>>24==m<<24>>24)break;e=e+1|0}a[j+e>>0]=0;c[f>>2]=0;Ad(b,j+h|0)|0;Kd(b,-2,i);if(q)break b;h=e+1|0;i=i+1|0}}else{i=0;h=1;while(1){m=a[k>>0]|0;p=i;while(1){n=a[j+p>>0]|0;r=n<<24>>24==0;if(r|n<<24>>24==m<<24>>24)break;p=p+1|0}m=j+i|0;a[j+p>>0]=0;c[f>>2]=0;if(!(Hc(m,p-i|0,f)|0))Ad(b,m)|0;else yd(b,c[f>>2]|0);Kd(b,-2,h);if(r)break b;i=p+1|0;h=h+1|0}}while(0);Hp(j);g=1;Fa=d;return g|0}function Kj(a){a=a|0;var b=0;if(!(jd(a)|0)){b=0;return b|0}b=Ef(a)|0;return b|0}function Lj(a){a=a|0;var b=0,c=0;b=jd(a)|0;if((b|0)>=1){c=1;while(1){md(a,c);if((c|0)==(b|0))break;else c=c+1|0}}return rc(a,b,0,0)|0}function Mj(a){a=a|0;c[704863]=1;if(c[759909]|0)return 0;c[759909]=1;return 0}function Nj(b){b=b|0;var c=0,d=0,e=0;c=pd(b,1,0)|0;if((c+-65536|0)>>>0>327679){d=0;return d|0}e=2974078+(c>>>16)|0;c=a[e>>0]|0;if(!(c<<24>>24)){d=0;return d|0}yd(b,c<<24>>24<<16);a[e>>0]=0;d=1;return d|0}function Oj(a){a=a|0;var b=0;b=(pd(a,1,0)|0)>>16;c[704845]=(c[704845]|0)+b;Jk();return 0}function Pj(a){a=a|0;Xg();return 0}function Qj(a){a=a|0;c[742903]=(pd(a,1,0)|0)>>16;return 0}function Rj(a){a=a|0;var b=0;b=(pd(a,1,0)|0)>>16;c[759972]=b;c[759973]=b;return 0}function Sj(a){a=a|0;var b=0;b=(pd(a,1,0)|0)>>16;a=(b|0)<2?b:2;b=(a|0)>0?a:0;c[3039896+(b<<2)>>2]=Bg(0)|0;c[3039908+(b<<2)>>2]=_q()|0;return 0}function Tj(b){b=b|0;var c=0,d=0,e=0;c=pd(b,1,0)|0;d=c>>16;e=(c|0)>65535;c=e?((d|0)<7?d:7):0;if(e?(a[2998462]&1)==0:0){Fd(b,0);return 1}ik(c);Fd(b,1);return 1}function Uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=(pd(a,1,0)|0)>>16;e=(d|0)<7?d:7;d=(e|0)>0?e:0;if(!(jd(a)|0)){e=(b|0)==0;yd(a,((((e?c[742586]|0:c[742778]|0)|0)==0?0:32768)|((((e?c[742585]|0:c[742777]|0)|0)==0?0:16384)|((((e?c[742584]|0:c[742776]|0)|0)==0?0:8192)|((((e?c[742583]|0:c[742775]|0)|0)==0?0:4096)|((((e?c[742582]|0:c[742774]|0)|0)==0?0:2048)|((((e?c[742581]|0:c[742773]|0)|0)==0?0:1024)|((((e?c[742580]|0:c[742772]|0)|0)==0?0:512)|((((e?c[742579]|0:c[742771]|0)|0)==0?0:256)|((((e?c[742578]|0:c[742770]|0)|0)==0?0:128)|((((e?c[742577]|0:c[742769]|0)|0)==0?0:64)|((((e?c[742576]|0:c[742768]|0)|0)==0?0:32)|((((e?c[742575]|0:c[742767]|0)|0)==0?0:16)|((((e?c[742574]|0:c[742766]|0)|0)==0?0:8)|((((e?c[742573]|0:c[742765]|0)|0)==0?0:4)|((((e?c[742572]|0:c[742764]|0)|0)==0?0:2)|((e?c[742571]|0:c[742763]|0)|0)!=0)))))))))))))))<<16);return}if((jd(a)|0)>1)f=(pd(a,2,0)|0)>>16;else f=0;if((f|d)>>>0<8)if(!b)g=c[2970284+(f<<5)+(d<<2)>>2]|0;else g=c[2971052+(f<<5)+(d<<2)>>2]|0;else g=0;Fd(a,g);Vg(4);return}function Vj(b,d,e,f,g,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;n=Fa;Fa=Fa+32|0;o=n+20|0;p=n+16|0;q=n+12|0;r=n+8|0;s=n+4|0;t=n;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=i;c[t>>2]=j;fn(b,d,o,p,q,r,s,t);j=c[s>>2]|0;i=c[t>>2]|0;if((j|0)<1|(i|0)<1){Fa=n;return}h=(k|0)!=0;k=(l|0)!=0;if(h&k){l=b+16|0;g=d+16|0;f=0;e=i;u=j;while(1){if((u|0)>0){v=~f;w=0;x=e;y=u;while(1){a[(c[(c[g>>2]|0)+((c[r>>2]|0)+f<<2)>>2]|0)+((c[q>>2]|0)+w)>>0]=c[m+((a[(c[(c[l>>2]|0)+((c[p>>2]|0)+v+x<<2)>>2]|0)+(y+~w+(c[o>>2]|0))>>0]&15)<<2)>>2];w=w+1|0;z=c[s>>2]|0;A=c[t>>2]|0;if((w|0)>=(z|0)){B=z;C=A;break}else{x=A;y=z}}}else{B=u;C=e}f=f+1|0;if((f|0)>=(C|0))break;else{e=C;u=B}}Fa=n;return}if(k){k=b+16|0;B=d+16|0;u=0;C=i;e=j;while(1){if((e|0)>0){f=~u;l=0;g=C;while(1){a[(c[(c[B>>2]|0)+((c[r>>2]|0)+u<<2)>>2]|0)+((c[q>>2]|0)+l)>>0]=c[m+((a[(c[(c[k>>2]|0)+((c[p>>2]|0)+f+g<<2)>>2]|0)+((c[o>>2]|0)+l)>>0]&15)<<2)>>2];l=l+1|0;y=c[s>>2]|0;x=c[t>>2]|0;if((l|0)>=(y|0)){D=y;E=x;break}else g=x}}else{D=e;E=C}u=u+1|0;if((u|0)>=(E|0))break;else{C=E;e=D}}Fa=n;return}if(h){h=b+16|0;D=d+16|0;e=0;E=i;C=j;while(1){if((C|0)>0){u=0;k=C;do{a[(c[(c[D>>2]|0)+((c[r>>2]|0)+e<<2)>>2]|0)+((c[q>>2]|0)+u)>>0]=c[m+((a[(c[(c[h>>2]|0)+((c[p>>2]|0)+e<<2)>>2]|0)+(k+~u+(c[o>>2]|0))>>0]&15)<<2)>>2];u=u+1|0;k=c[s>>2]|0}while((u|0)<(k|0));F=c[t>>2]|0;G=k}else{F=E;G=C}e=e+1|0;if((e|0)>=(F|0))break;else{E=F;C=G}}Fa=n;return}G=d+16|0;d=b+16|0;b=0;C=j;j=i;while(1){if(!C)H=j;else{i=(c[(c[G>>2]|0)+((c[r>>2]|0)+b<<2)>>2]|0)+(c[q>>2]|0)|0;F=(c[(c[d>>2]|0)+((c[p>>2]|0)+b<<2)>>2]|0)+(c[o>>2]|0)|0;E=C;while(1){a[i>>0]=c[m+((a[F>>0]&15)<<2)>>2];E=E+-1|0;if(!E)break;else{i=i+1|0;F=F+1|0}}H=c[t>>2]|0}F=b+1|0;if((F|0)>=(H|0))break;b=F;C=c[s>>2]|0;j=H}Fa=n;return}function Wj(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((b|0)==0|(e|0)==0|(h|0)==0|(i|0)==0)return;j=c[b>>2]|0;k=c[b+4>>2]|0;if((j|0)==(h|0)&(k|0)==(i|0)){Xj(b,e,0,0,f,g,h,i);return}l=(j<<16|0)/(h|0)|0;j=(k<<16|0)/(i|0)|0;m=c[e+36>>2]|0;n=(m|0)>(g|0);o=m-g|0;p=i-(n?o:0)|0;i=n?m:g;g=c[e+28>>2]|0;m=(g|0)>(f|0);q=g-f|0;r=B(q,l)|0;s=(m?r:0)+((l|0)/2|0)|0;r=h-(m?q:0)|0;q=m?g:f;f=(c[e+32>>2]|0)-q|0;g=(r|0)<(f|0)?r:f;f=(c[e+40>>2]|0)-i|0;r=(p|0)<(f|0)?p:f;f=r+i|0;if((r|0)<=0)return;r=b+16|0;b=e+16|0;if((g|0)<=0){e=i;do e=e+1|0;while((e|0)<(f|0));return}e=B(o,j)|0;o=i;i=((j|0)<0?k:0)+((j|0)/2|0)+(n?e:0)|0;while(1){e=c[(c[r>>2]|0)+(i>>16<<2)>>2]|0;if(!(c[742564]&131072)){n=s;k=0;p=(c[(c[b>>2]|0)+(o<<2)>>2]|0)+q|0;while(1){m=d[e+(n>>16)>>0]|0;if(!(m&240)){h=c[742561]|0;a[p>>0]=((h^15)&(d[p>>0]|0)|h&m&c[742562])&15}k=k+1|0;if((k|0)>=(g|0))break;else{n=n+l|0;p=p+1|0}}}else{p=o<<2&12^12;n=s;k=0;while(1){m=d[e+(n>>16)>>0]|0;if((m&240|0)==0?(h=k+q|0,t=c[742564]|0,u=t>>p>>>(h&3^3)&1,(t&65536|0)==0|(u|0)==0):0){t=(c[(c[b>>2]|0)+(o<<2)>>2]|0)+h|0;h=c[742561]|0;a[t>>0]=((h^15)&(d[t>>0]|0)|h&c[2970116+((m&15)<<2)>>2]>>(u<<2)&c[742562])&15}k=k+1|0;if((k|0)>=(g|0))break;else n=n+l|0}}o=o+1|0;if((o|0)>=(f|0))break;else i=i+j|0}return}function Xj(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=Fa;Fa=Fa+32|0;m=l+20|0;n=l+16|0;o=l+12|0;p=l+8|0;q=l+4|0;r=l;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;c[r>>2]=k;if(!((b|0)!=0&(e|0)!=0)){Fa=l;return}fn(b,e,m,n,o,p,q,r);if(!((c[r>>2]|0)>0&(c[q>>2]|0)>0)){Fa=l;return}k=b+16|0;b=e+16|0;e=0;do{j=(c[(c[k>>2]|0)+((c[n>>2]|0)+e<<2)>>2]|0)+(c[m>>2]|0)|0;i=c[q>>2]|0;if(!(c[742564]&131072)){if(i|0){h=(c[(c[b>>2]|0)+((c[p>>2]|0)+e<<2)>>2]|0)+(c[o>>2]|0)|0;g=i;f=j;while(1){s=d[f>>0]|0;if(!(s&240)){t=c[742561]|0;a[h>>0]=((t^15)&(d[h>>0]|0)|t&s&c[742562])&15}g=g+-1|0;if(!g)break;else{h=h+1|0;f=f+1|0}}}}else if((i|0)>0){f=j;h=0;g=i;while(1){s=d[f>>0]|0;if((s&240|0)==0?(t=(c[o>>2]|0)+h|0,u=(c[p>>2]|0)+e|0,v=c[742564]|0,w=v>>(u<<2&12^12)>>>(t&3^3)&1,(v&65536|0)==0|(w|0)==0):0){v=(c[(c[b>>2]|0)+(u<<2)>>2]|0)+t|0;t=c[742561]|0;a[v>>0]=((t^15)&(d[v>>0]|0)|t&c[2970116+((s&15)<<2)>>2]>>(w<<2)&c[742562])&15;x=c[q>>2]|0}else x=g;h=h+1|0;if((h|0)>=(x|0))break;else{f=f+1|0;g=x}}}e=e+1|0}while((e|0)<(c[r>>2]|0));Fa=l;return}function Yj(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=Fa;Fa=Fa+32|0;n=m+20|0;o=m+16|0;p=m+12|0;q=m+8|0;r=m+4|0;s=m;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;if(!((b|0)!=0&(e|0)!=0)){Fa=m;return}fn(b,e,n,o,p,q,r,s);if(!((c[s>>2]|0)>0&(c[r>>2]|0)>0)){Fa=m;return}k=b+16|0;b=e+16|0;e=0;do{j=(c[(c[k>>2]|0)+((c[o>>2]|0)+e<<2)>>2]|0)+(c[n>>2]|0)|0;i=c[r>>2]|0;if(!(c[742564]&131072)){if(i|0){h=(c[(c[b>>2]|0)+((c[q>>2]|0)+e<<2)>>2]|0)+(c[p>>2]|0)|0;g=i;f=j;while(1){t=c[l+((a[f>>0]&15)<<2)>>2]|0;if(!(t&240)){u=c[742561]|0;a[h>>0]=((u^15)&(d[h>>0]|0)|u&t&c[742562])&15}g=g+-1|0;if(!g)break;else{h=h+1|0;f=f+1|0}}}}else if((i|0)>0){f=j;h=0;g=i;while(1){t=c[l+((a[f>>0]&15)<<2)>>2]|0;if((t&240|0)==0?(u=(c[p>>2]|0)+h|0,v=(c[q>>2]|0)+e|0,w=c[742564]|0,x=w>>(v<<2&12^12)>>>(u&3^3)&1,(w&65536|0)==0|(x|0)==0):0){w=(c[(c[b>>2]|0)+(v<<2)>>2]|0)+u|0;u=c[742561]|0;a[w>>0]=((u^15)&(d[w>>0]|0)|u&c[2970116+((t&15)<<2)>>2]>>(x<<2)&c[742562])&15;y=c[r>>2]|0}else y=g;h=h+1|0;if((h|0)>=(y|0))break;else{f=f+1|0;g=y}}}e=e+1|0}while((e|0)<(c[s>>2]|0));Fa=m;return}function Zj(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;if((c[b+28>>2]|0)>(e|0))return;if((c[b+32>>2]|0)<=(e|0))return;if((c[b+36>>2]|0)>(f|0))return;if((c[b+40>>2]|0)<=(f|0))return;i=h>>(f<<2&12^12)>>>(e&3^3)&1;if(!((h&65536|0)==0|(i|0)==0))return;h=(c[(c[b+16>>2]|0)+(f<<2)>>2]|0)+e|0;e=c[742561]|0;a[h>>0]=((e^15)&(d[h>>0]|0)|e&g>>(i<<2)&c[742562])&15;return}function _j(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=c[742564]|0;if((c[b+36>>2]|0)>(g|0))return 0;if((c[b+40>>2]|0)<=(g|0))return 0;j=h&15;k=(i&65536|0)!=0;l=k?16:h>>>4&15;h=i>>(12-(g<<2)&12);i=((h&4|0)==0?j:l)<<8|((h&8|0)==0?j:l)|((h&2|0)==0?j:l)<<16|((h&1|0)==0?j:l)<<24;l=(f|0)<(e|0);j=l?e:f;h=l?f:e;e=c[b+28>>2]|0;f=(h|0)<(e|0)?e:h;h=c[b+32>>2]|0;e=(j|0)<(h|0)?j:h+-1|0;h=b+16|0;b=c[(c[h>>2]|0)+(g<<2)>>2]|0;j=b+f|0;l=b+(f+3&-4)|0;if(k){if((f|0)>(e|0)){m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}k=f;b=j;while(1){q=i>>>(k<<3&24);if(!(q&16)){r=c[742561]|0;a[b>>0]=((r^15)&(d[b>>0]|0)|r&q&c[742562])&15}if((k|0)<(e|0)){k=k+1|0;b=b+1|0}else break}m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}b=c[742562]|0;k=b<<8|b|b<<16|b<<24;b=c[742561]|0;q=b<<8|b|b<<16|b<<24;a:do if((f|0)>(e|0))s=f;else{b=f;r=j;while(1){t=b&3;if(!t){s=b;break a}u=c[742561]|0;a[r>>0]=((u^15)&(d[r>>0]|0)|u&i>>>(t<<3)&c[742562])&15;t=b+1|0;if((b|0)<(e|0)){b=t;r=r+1|0}else{s=t;break}}}while(0);j=e+1&-4;if((s|0)<(j|0)){r=q^252645135;b=k&i&q;q=s+(j+-1-s&-4)|0;k=l;l=s;while(1){c[k>>2]=(c[k>>2]&r|b)&252645135;l=l+4|0;if((l|0)>=(j|0))break;else k=k+4|0}v=q+4|0}else v=s;if((v|0)>(e|0)){m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}s=v;while(1){v=(c[(c[h>>2]|0)+(g<<2)>>2]|0)+s|0;q=c[742561]|0;a[v>>0]=((q^15)&(d[v>>0]|0)|q&i>>>(s<<3&24)&c[742562])&15;if((s|0)<(e|0))s=s+1|0;else break}m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}function $j(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;l=c[742564]|0;m=B(g,g)|0;n=B(h,h)|0;o=0-(n+(((g|0)%2|0)+(m>>>2)))|0;p=(n>>>2)+((h|0)%2|0)|0;q=0-(m+p)|0;r=0-p|0;p=n<<1;s=m<<1;if((h|g|0)<=-1){t=0;return t|0}u=i+e|0;v=j+f|0;w=b+28|0;x=b+32|0;y=b+36|0;z=b+40|0;A=(l&65536|0)==0;C=b+16|0;b=0;D=h;E=B(B(m,-2)|0,h)|0;F=0;G=B(0-m|0,h)|0;h=0;while(1){H=u+b|0;I=v+D|0;if(((((c[w>>2]|0)<=(H|0)?(c[x>>2]|0)>(H|0):0)?(c[y>>2]|0)<=(I|0):0)?(c[z>>2]|0)>(I|0):0)?(J=l>>(I<<2&12^12)>>>(H&3^3)&1,A|(J|0)==0):0){K=(c[(c[C>>2]|0)+(I<<2)>>2]|0)+H|0;L=c[742561]|0;a[K>>0]=((L^15)&(d[K>>0]|0)|L&k>>(J<<2)&c[742562])&15}J=(D|j|0)!=0;L=(b|i|0)==0;if(L|J^1)M=h+2|0;else{K=e-b|0;N=f-D|0;if(((((c[w>>2]|0)<=(K|0)?(c[x>>2]|0)>(K|0):0)?(c[y>>2]|0)<=(N|0):0)?(c[z>>2]|0)>(N|0):0)?(O=l>>(N<<2&12^12)>>>(K&3^3)&1,A|(O|0)==0):0){P=(c[(c[C>>2]|0)+(N<<2)>>2]|0)+K|0;K=c[742561]|0;a[P>>0]=((K^15)&(d[P>>0]|0)|K&k>>(O<<2)&c[742562])&15}M=h+3|0}if(J){J=f-D|0;if(((((c[w>>2]|0)<=(H|0)?(c[x>>2]|0)>(H|0):0)?(c[y>>2]|0)<=(J|0):0)?(c[z>>2]|0)>(J|0):0)?(O=l>>(J<<2&12^12)>>>(H&3^3)&1,A|(O|0)==0):0){K=(c[(c[C>>2]|0)+(J<<2)>>2]|0)+H|0;H=c[742561]|0;a[K>>0]=((H^15)&(d[K>>0]|0)|H&k>>(O<<2)&c[742562])&15}Q=M+1|0}else Q=M;if(L)R=Q;else{L=e-b|0;if(((((c[w>>2]|0)<=(L|0)?(c[x>>2]|0)>(L|0):0)?(c[y>>2]|0)<=(I|0):0)?(c[z>>2]|0)>(I|0):0)?(O=l>>(I<<2&12^12)>>>(L&3^3)&1,A|(O|0)==0):0){H=(c[(c[C>>2]|0)+(I<<2)>>2]|0)+L|0;L=c[742561]|0;a[H>>0]=((L^15)&(d[H>>0]|0)|L&k>>(O<<2)&c[742562])&15}R=Q+1|0}do if(((B(b,n)|0)+G|0)>(o|0)?(O=B(D,m)|0,(O+G|0)>(r|0)):0)if((G-O|0)>(q|0)){O=E+s|0;S=b;T=D+-1|0;U=O;V=F;W=O+G|0;break}else{O=F+p|0;L=E+s|0;S=b+1|0;T=D+-1|0;U=L;V=O;W=O+G+L|0;break}else X=35;while(0);if((X|0)==35){X=0;L=F+p|0;S=b+1|0;T=D;U=E;V=L;W=L+G|0}if((T|0)>-1&(S|0)<=(g|0)){b=S;D=T;E=U;F=V;G=W;h=R}else{t=R;break}}return t|0}function ak(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=(e|0)<(b|0);i=h?b:e;j=h?e:b;b=(f|0)<(d|0);e=b?d:f;h=b?f:d;d=e-h|0;if((d|0)>=2?(f=i-j|0,(f|0)>=2):0){b=i+j>>1;k=e+h>>1;l=f>>>1;m=d>>>1;n=c[a+32>>2]|0;o=c[a+28>>2]|0;if(((f|0)>(n-o|0)?(p=((l*7|0)>>>0)/10|0,!((p+b|0)<(n|0)|(b-p|0)>=(o|0))):0)?(p=((m*7|0)>>>0)/10|0,(k-p|0)<(c[a+36>>2]|0)):0){q=c[a+40>>2]|0;if((i|0)<(o|0)|((j|0)>=(n|0)|(p+k|0)>=(q|0))){r=0;return r|0}else s=q}else t=9;do if((t|0)==9)if((j|0)>=(n|0)|(i|0)<(o|0)){r=0;return r|0}else{s=c[a+40>>2]|0;break}while(0);if((h|0)>=(s|0)){r=0;return r|0}if((e|0)<(c[a+36>>2]|0)){r=0;return r|0}r=$j(a,b,k,l,m,f&1,d&1,g)|0;return r|0}d=0;f=h;while(1){h=(_j(a,j,i,f,g)|0)+d|0;if((f|0)<(e|0)){d=h;f=f+1|0}else{r=h;break}}return r|0}function bk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;i=((e|0)<0)<<31>>31;j=((d|0)<0)<<31>>31;k=Pu(d|0,j|0,d|0,j|0)|0;l=G()|0;m=Pu(e|0,i|0,e|0,i|0)|0;n=G()|0;o=Ru(k|0,l|0,2)|0;p=(d|0)%2|0;q=Ju(o|0,G()|0,p|0,((p|0)<0)<<31>>31|0)|0;p=Ju(m|0,n|0,q|0,G()|0)|0;q=Ku(0,0,p|0,G()|0)|0;p=G()|0;o=Ru(m|0,n|0,2)|0;r=(e|0)%2|0;s=Ju(o|0,G()|0,r|0,((r|0)<0)<<31>>31|0)|0;r=G()|0;o=Ju(k|0,l|0,s|0,r|0)|0;t=Ku(0,0,o|0,G()|0)|0;o=G()|0;u=Ku(0,0,s|0,r|0)|0;r=G()|0;s=Su(m|0,n|0,1)|0;v=G()|0;w=Su(k|0,l|0,1)|0;x=G()|0;if((e|d|0)<0)y=0;else{z=Pu(k|0,l|0,-2,-1)|0;A=Pu(z|0,G()|0,e|0,i|0)|0;z=G()|0;B=Ku(0,0,k|0,l|0)|0;C=Pu(B|0,G()|0,e|0,i|0)|0;B=f+b|0;D=g+c|0;E=0;F=A;A=z;z=0;H=0;I=C;C=G()|0;J=e;K=i;i=0;L=0;while(1){M=E+8|0;N=Pu(z|0,H|0,m|0,n|0)|0;O=Ju(N|0,G()|0,I|0,C|0)|0;N=G()|0;do if((N|0)>(p|0)|(N|0)==(p|0)&O>>>0>q>>>0?(P=Pu(J|0,K|0,k|0,l|0)|0,Q=G()|0,R=Ju(P|0,Q|0,I|0,C|0)|0,S=G()|0,(S|0)>(r|0)|(S|0)==(r|0)&R>>>0>u>>>0):0){R=Ku(I|0,C|0,P|0,Q|0)|0;Q=G()|0;P=b-z|0;S=B+z|0;T=(_j(a,P,S,c-J|0,h)|0)+M|0;if(!((Q|0)>(o|0)|(Q|0)==(o|0)&R>>>0>t>>>0)){R=(_j(a,P,S,D+J|0,h)|0)+T|0;Q=Ju(z|0,H|0,1,0)|0;U=G()|0;V=Ju(i|0,L|0,s|0,v|0)|0;W=G()|0;X=Ju(V|0,W|0,I|0,C|0)|0;Y=G()|0;Z=Ju(J|0,K|0,-1,-1)|0;_=G()|0;$=Ju(F|0,A|0,w|0,x|0)|0;aa=G()|0;ba=Ju(X|0,Y|0,$|0,aa|0)|0;ca=R;da=_;ea=U;fa=Q;ga=ba;ha=G()|0;ia=V;ja=W;ka=$;la=aa;ma=Z;break}if((J|0)==0&(K|0)==0)na=T;else na=(_j(a,P,S,D+J|0,h)|0)+T|0;T=Ju(J|0,K|0,-1,-1)|0;S=G()|0;P=Ju(F|0,A|0,w|0,x|0)|0;Z=G()|0;aa=Ju(P|0,Z|0,I|0,C|0)|0;ca=na;da=S;ea=H;fa=z;ga=aa;ha=G()|0;ia=i;ja=L;ka=P;la=Z;ma=T}else oa=5;while(0);if((oa|0)==5){oa=0;O=Ju(z|0,H|0,1,0)|0;N=G()|0;T=Ju(i|0,L|0,s|0,v|0)|0;Z=G()|0;P=Ju(T|0,Z|0,I|0,C|0)|0;ca=M;da=K;ea=N;fa=O;ga=P;ha=G()|0;ia=T;ja=Z;ka=F;la=A;ma=J}if((da|0)<0|((ea|0)>(j|0)|(ea|0)==(j|0)&fa>>>0>d>>>0)){y=ca;break}else{E=ca;F=ka;A=la;z=fa;H=ea;I=ga;C=ha;J=ma;K=da;i=ia;L=ja}}}if(!g)pa=y;else pa=(_j(a,b-d|0,d+b+f|0,c+1|0,h)|0)+y|0;if(e|0){qa=pa;return qa|0}qa=(_j(a,b-d|0,d+b|0,c,h)|0)+pa|0;return qa|0}function ck(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;i=B(d,d)|0;j=B(e,e)|0;k=0-(j+(((d|0)%2|0)+(i>>>2)))|0;l=(j>>>2)+((e|0)%2|0)|0;m=0-(i+l)|0;n=0-l|0;l=j<<1;o=i<<1;if((e|d|0)<0)p=0;else{q=f+b|0;r=g+c|0;s=0;t=e;u=B(B(i,-2)|0,e)|0;v=0;w=B(0-i|0,e)|0;x=0;while(1){y=x+8|0;do if(((B(s,j)|0)+w|0)>(k|0)?(z=B(t,i)|0,(z+w|0)>(n|0)):0){A=b-s|0;C=q+s|0;D=(_j(a,A,C,c-t|0,h)|0)+y|0;if((w-z|0)<=(m|0)){z=v+l|0;E=u+o|0;F=s+1|0;G=t+-1|0;H=E;I=z;J=z+w+E|0;K=(_j(a,A,C,r+t|0,h)|0)+D|0;break}if(!t)L=D;else L=(_j(a,A,C,r+t|0,h)|0)+D|0;D=u+o|0;F=s;G=t+-1|0;H=D;I=v;J=D+w|0;K=L}else M=5;while(0);if((M|0)==5){M=0;D=v+l|0;F=s+1|0;G=t;H=u;I=D;J=D+w|0;K=y}if((G|0)<0|(F|0)>(d|0)){p=K;break}else{s=F;t=G;u=H;v=I;w=J;x=K}}}if(!g)N=p;else N=(_j(a,b-d|0,d+b+f|0,c+1|0,h)|0)+p|0;if(e|0){O=N;return O|0}O=(_j(a,b-d|0,d+b|0,c,h)|0)+N|0;return O|0}function dk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=(e|0)<(b|0);i=h?b:e;j=h?e:b;b=(f|0)<(d|0);e=b?d:f;h=b?f:d;d=e-h|0;if((d|0)>=2?(f=i-j|0,(f|0)>=2):0){b=i+j>>1;k=e+h>>1;l=f>>>1;m=d>>>1;n=c[a+32>>2]|0;o=c[a+28>>2]|0;if((((f|0)>(n-o|0)?(p=((l*7|0)>>>0)/10|0,!((p+b|0)<(n|0)|(b-p|0)>=(o|0))):0)?(p=((m*7|0)>>>0)/10|0,q=c[a+36>>2]|0,(k-p|0)<(q|0)):0)?(r=c[a+40>>2]|0,(p+k|0)>=(r|0)):0){p=c[704852]|0;s=(n|0)<(o|0);t=s?o:n;u=s?n:o;s=(r|0)<(q|0);v=s?q:r;w=s?r:q;q=0;while(1){r=(_j(p,u,t,w,g)|0)+q|0;if((w|0)<(v|0)){w=w+1|0;q=r}else{x=r;break}}return x|0}if((j|0)>=(n|0)|(i|0)<(o|0)){x=0;return x|0}if((h|0)>=(c[a+40>>2]|0)){x=0;return x|0}if((e|0)<(c[a+36>>2]|0)){x=0;return x|0}o=f&1;n=d&1;if((f|0)<128&(d|0)<128){x=ck(a,b,k,l,m,o,n,g)|0;return x|0}else{x=bk(a,b,k,l,m,o,n,g)|0;return x|0}}n=0;o=h;while(1){h=(_j(a,j,i,o,g)|0)+n|0;if((o|0)<(e|0)){n=h;o=o+1|0}else{x=h;break}}return x|0}function ek(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;i=Fa;Fa=Fa+128|0;j=i+64|0;k=i;l=k;m=1872;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if((h|0)==1){l=k;m=1936;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));l=j;n=l+64|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(n|0));if(!((e|0)>(g|0)|(d|0)>(f|0))){l=c[b+16>>2]|0;n=e;while(1){m=c[l+(n<<2)>>2]|0;h=d;while(1){o=j+(c[2e3+((a[m+h>>0]&15)<<2)>>2]<<2)|0;c[o>>2]=(c[o>>2]|0)+1;if((h|0)<(f|0))h=h+1|0;else break}if((n|0)<(g|0))n=n+1|0;else break}}n=(B(1-d+f<<1,1-e+g|0)|0)/3|0;l=(c[j+4>>2]|0)+(c[j>>2]|0)-n|0;h=(l|0)<0?0-l|0:l;l=(c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))-n|0;m=(l|0)<0?0-l|0:l;l=(m|0)<(h|0);o=l?m:h;h=(c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))-n|0;m=(h|0)<0?0-h|0:h;h=(m|0)<(o|0);p=h?m:o;o=(c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))-n|0;m=(o|0)<0?0-o|0:o;o=(m|0)<(p|0);q=o?m:p;p=(c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))-n|0;m=(p|0)<0?0-p|0:p;p=(m|0)<(q|0);r=p?m:q;q=(c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))-n|0;m=(q|0)<0?0-q|0:q;q=(m|0)<(r|0);s=q?m:r;r=(c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))-n|0;m=(r|0)<0?0-r|0:r;r=(m|0)<(s|0);t=r?m:s;s=(c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))-n|0;m=(s|0)<0?0-s|0:s;s=(m|0)<(t|0);u=s?m:t;t=(c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))-n|0;m=(t|0)<0?0-t|0:t;t=(m|0)<(u|0);v=t?m:u;u=(c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))-n|0;m=(u|0)<0?0-u|0:u;u=(m|0)<(v|0);w=u?m:v;v=(c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))))-n|0;m=(v|0)<0?0-v|0:v;v=(m|0)<(w|0);x=v?12:u?11:t?10:s?9:r?8:q?7:p?6:o?5:h?4:l?3:2;l=v?m:w;w=(c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))))-n|0;m=(w|0)<0?0-w|0:w;w=(x|0)==-1|(m|0)<(l|0);v=w?13:x;x=w?m:l;l=(c[j+52>>2]|0)+((c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))))))-n|0;m=(l|0)<0?0-l|0:l;l=(v|0)==-1|(m|0)<(x|0);w=l?14:v;v=(c[j+56>>2]|0)+((c[j+52>>2]|0)+((c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))))))-n|0;n=((w|0)==-1?1:(((v|0)<0?0-v|0:v)|0)<((l?m:x)|0))?15:w;if(!(An(225)|0)){c[k>>2]=(n|0)<1&1;c[k+4>>2]=(n|0)<2&1;c[k+8>>2]=(n|0)<4&1;c[k+12>>2]=(n|0)<6&1;c[k+16>>2]=(n|0)<5&1;c[k+20>>2]=(n|0)<3&1;c[k+24>>2]=(n|0)<12&1;c[k+28>>2]=(n|0)<16&1;c[k+32>>2]=(n|0)<8&1;c[k+36>>2]=(n|0)<13&1;c[k+40>>2]=(n|0)<14&1;c[k+44>>2]=(n|0)<10&1;c[k+48>>2]=(n|0)<9&1;c[k+52>>2]=(n|0)<7&1;c[k+56>>2]=(n|0)<11&1;c[k+60>>2]=(n|0)<15&1}}if((e|0)>(g|0)){Fa=i;return}n=b+16|0;if((d|0)>(f|0)){Fa=i;return}b=e;while(1){e=d;while(1){w=(c[(c[n>>2]|0)+(b<<2)>>2]|0)+e|0;a[w>>0]=c[k+((a[w>>0]&15)<<2)>>2];if((e|0)<(f|0))e=e+1|0;else break}if((b|0)<(g|0))b=b+1|0;else break}Fa=i;return}function fk(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;j=Fa;Fa=Fa+64|0;k=j+32|0;l=j;m=c[742564]|0;n=(h|0)<(f|0);o=n?f:h;p=n?e:g;q=n?h:f;f=n?g:e;e=p-f|0;g=((e|0)<0)<<31>>31;n=o-q|0;h=((n|0)<0)<<31>>31;r=(g|0)<0;s=Ku(0,0,e|0,g|0)|0;t=G()|0;u=r?s:e;s=r?t:g;t=(h|0)<0;r=Ku(0,0,n|0,h|0)|0;v=G()|0;w=t?r:n;r=t?v:h;v=(s|0)>(r|0)|(s|0)==(r|0)&u>>>0>w>>>0;r=v?u:w;w=((r|0)<0)<<31>>31;if((r|0)>0){u=Su(n|0,h|0,16)|0;v=G()|0;s=Su(e|0,g|0,16)|0;t=Nu(s|0,G()|0,r|0,w|0)|0;s=G()|0;x=Nu(u|0,v|0,r|0,w|0)|0;y=t;z=s;A=x;C=G()|0}else{y=e;z=g;A=n;C=h}h=c[b+36>>2]|0;if((o|0)<(h|0)){D=0;Fa=j;return D|0}n=c[b+40>>2]|0;if((q|0)>=(n|0)){D=0;Fa=j;return D|0}g=c[b+28>>2]|0;e=(f|0)<(g|0);x=(p|0)<(g|0);if(e&x){D=0;Fa=j;return D|0}s=c[b+32>>2]|0;t=(f|0)<(s|0);w=(p|0)<(s|0);if(!(t|w)){D=0;Fa=j;return D|0}v=f<<16|32768;u=((v|0)<0)<<31>>31;E=q<<16|32768;F=((E|0)<0)<<31>>31;if((q|0)<(h|0)){H=h<<16;h=Ku(H|0,((H|0)<0)<<31>>31|0,E|0,F|0)|0;H=Su(h|0,G()|0,16)|0;h=Nu(H|0,G()|0,A|0,C|0)|0;G()|0;H=(h>>16)+1|0;I=(H|0)>0?H:0}else I=0;if((o|0)<(n|0))J=r;else{H=n<<16;n=Ku(H|0,((H|0)<0)<<31>>31|0,E|0,F|0)|0;F=Su(n|0,G()|0,16)|0;n=Ju(F|0,G()|0,-65536,-1)|0;F=Nu(n|0,G()|0,A|0,C|0)|0;G()|0;C=F>>16;J=(C|0)>(r|0)?r:C}if(e){e=g<<16;C=Ku(e|0,((e|0)<0)<<31>>31|0,v|0,u|0)|0;e=Su(C|0,G()|0,16)|0;C=Nu(e|0,G()|0,y|0,z|0)|0;G()|0;e=(C>>16)+1|0;K=(I|0)>(e|0)?I:e}else K=I;if(t)L=K;else{t=s<<16;I=Ku(v|0,u|0,t|0,((t|0)<0)<<31>>31|0)|0;t=Su(I|0,G()|0,16)|0;I=G()|0;e=Ku(0,0,y|0,z|0)|0;C=Nu(t|0,I|0,e|0,G()|0)|0;G()|0;e=(C>>16)+1|0;L=(K|0)>(e|0)?K:e}if(x){x=g<<16;g=Ku(v|0,u|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Su(g|0,G()|0,16)|0;g=Ju(x|0,G()|0,-65536,-1)|0;x=G()|0;e=Ku(0,0,y|0,z|0)|0;K=Nu(g|0,x|0,e|0,G()|0)|0;G()|0;e=K>>16;M=(J|0)<(e|0)?J:e}else M=J;if(w)N=M;else{w=s<<16;s=Ku(w|0,((w|0)<0)<<31>>31|0,v|0,u|0)|0;u=Su(s|0,G()|0,16)|0;s=Ju(u|0,G()|0,-65536,-1)|0;u=Nu(s|0,G()|0,y|0,z|0)|0;G()|0;z=u>>16;N=(M|0)<(z|0)?M:z}z=N-L|0;N=z+1|0;M=(B(L,y)|0)+v|0;v=(B(L,A)|0)+E|0;if((z|0)<=-1){D=N;Fa=j;return D|0}E=b+16|0;if(!(m&65536)){b=v;L=M;u=z;while(1){s=L>>16;if((L|0)>8388607){c[l>>2]=f;c[l+4>>2]=q;c[l+8>>2]=p;c[l+12>>2]=o;c[l+16>>2]=L;c[l+20>>2]=b;c[l+24>>2]=u;c[l+28>>2]=z;xu(60408,l)|0}w=b>>16;J=(c[(c[E>>2]|0)+(w<<2)>>2]|0)+s|0;e=c[742561]|0;a[J>>0]=((e^15)&(d[J>>0]|0)|e&i>>(m>>(w<<2&12^12)>>>(s&3^3)<<2&4)&c[742562])&15;if((u|0)>0){b=b+A|0;L=L+y|0;u=u+-1|0}else{D=N;break}}Fa=j;return D|0}u=v;v=M;M=z;while(1){L=v>>16;if((v|0)>8388607){c[k>>2]=f;c[k+4>>2]=q;c[k+8>>2]=p;c[k+12>>2]=o;c[k+16>>2]=v;c[k+20>>2]=u;c[k+24>>2]=M;c[k+28>>2]=z;xu(60408,k)|0}b=u>>16;if(!(m>>(b<<2&12^12)&1<<(L&3^3))){l=(c[(c[E>>2]|0)+(b<<2)>>2]|0)+L|0;L=c[742561]|0;a[l>>0]=((L^15)&(d[l>>0]|0)|L&i&c[742562])&15}if((M|0)>0){u=u+A|0;v=v+y|0;M=M+-1|0}else{D=N;break}}Fa=j;return D|0}function gk(b,e,f,g,h,i,j,k,l,m){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;n=c[743521]|0;o=c[n+8>>2]|0;p=c[n+4>>2]|0;q=(vk(2819376,n,24376)|0)+255&255;n=(vk(2819376,c[743521]|0,24377)|0)+255&255;r=vk(2819376,c[743521]|0,24378)|0;s=vk(2819376,c[743521]|0,24379)|0;t=(a[2998462]<<4&255)<<24>>24>>7<<24>>24;u=e>>16;e=f>>16;f=g>>16;g=h>>16;h=f-u|0;v=((h|0)<0)<<31>>31;w=g-e|0;x=((w|0)<0)<<31>>31;y=(v|0)<0;z=Ku(0,0,h|0,v|0)|0;A=G()|0;C=y?z:h;D=y?A:v;y=(x|0)<0;E=Ku(0,0,w|0,x|0)|0;F=G()|0;H=y?E:w;I=y?F:x;y=(D|0)>(I|0)|(D|0)==(I|0)&C>>>0>H>>>0;I=y?C:H;H=(g|0)<(e|0);C=B(I,k)|0;y=B(I,l)|0;D=H?E:w;w=H?F:x;x=H?z:h;h=H?A:v;v=H?0-l|0:l;l=H?0-k|0:k;k=H?e:g;A=H?u:f;z=H?g:e;e=H?f:u;u=((I|0)<0)<<31>>31;if((I|0)>0){f=Su(D|0,w|0,16)|0;g=G()|0;F=Su(x|0,h|0,16)|0;E=Nu(F|0,G()|0,I|0,u|0)|0;F=G()|0;J=Nu(f|0,g|0,I|0,u|0)|0;K=J;L=G()|0;M=E;N=F}else{K=D;L=w;M=x;N=h}h=c[b+36>>2]|0;if((k|0)<(h|0)){O=0;return O|0}x=c[b+40>>2]|0;if((z|0)>=(x|0)){O=0;return O|0}w=c[b+28>>2]|0;D=(e|0)<(w|0);F=(A|0)<(w|0);if(D&F){O=0;return O|0}E=c[b+32>>2]|0;J=(e|0)<(E|0);u=(A|0)<(E|0);if(!(J|u)){O=0;return O|0}A=e<<16|32768;e=((A|0)<0)<<31>>31;g=z<<16|32768;f=((g|0)<0)<<31>>31;if((z|0)<(h|0)){z=h<<16;h=Ku(z|0,((z|0)<0)<<31>>31|0,g|0,f|0)|0;z=Su(h|0,G()|0,16)|0;h=Nu(z|0,G()|0,K|0,L|0)|0;G()|0;z=(h>>16)+1|0;P=(z|0)>0?z:0}else P=0;if((k|0)<(x|0))Q=I;else{k=x<<16;x=Ku(k|0,((k|0)<0)<<31>>31|0,g|0,f|0)|0;k=Su(x|0,G()|0,16)|0;x=Ju(k|0,G()|0,-65536,-1)|0;k=Nu(x|0,G()|0,K|0,L|0)|0;G()|0;x=k>>16;Q=(x|0)>(I|0)?I:x}if(D){D=w<<16;x=Ku(D|0,((D|0)<0)<<31>>31|0,A|0,e|0)|0;D=Su(x|0,G()|0,16)|0;x=Nu(D|0,G()|0,M|0,N|0)|0;G()|0;D=(x>>16)+1|0;R=(P|0)>(D|0)?P:D}else R=P;if(J)S=R;else{J=E<<16;P=Ku(A|0,e|0,J|0,((J|0)<0)<<31>>31|0)|0;J=Su(P|0,G()|0,16)|0;P=G()|0;D=Ku(0,0,M|0,N|0)|0;x=Nu(J|0,P|0,D|0,G()|0)|0;G()|0;D=(x>>16)+1|0;S=(R|0)>(D|0)?R:D}if(F){F=w<<16;w=Ku(A|0,e|0,F|0,((F|0)<0)<<31>>31|0)|0;F=Su(w|0,G()|0,16)|0;w=Ju(F|0,G()|0,-65536,-1)|0;F=G()|0;D=Ku(0,0,M|0,N|0)|0;R=Nu(w|0,F|0,D|0,G()|0)|0;G()|0;D=R>>16;T=(Q|0)<(D|0)?Q:D}else T=Q;if(u)U=T;else{u=E<<16;E=Ku(u|0,((u|0)<0)<<31>>31|0,A|0,e|0)|0;u=Su(E|0,G()|0,16)|0;E=Ju(u|0,G()|0,-65536,-1)|0;u=Nu(E|0,G()|0,M|0,N|0)|0;G()|0;E=u>>16;U=(T|0)<(E|0)?T:E}E=((S|0)<0)<<31>>31;T=Pu(M|0,N|0,S|0,E|0)|0;u=Ju(T|0,G()|0,A|0,e|0)|0;e=G()|0;A=Pu(K|0,L|0,S|0,E|0)|0;E=Ju(A|0,G()|0,g|0,f|0)|0;f=G()|0;g=(H?C:0)+i+(B(S,l)|0)|0;i=(H?y:0)+j+(B(S,v)|0)|0;j=U-S|0;S=j+1|0;if(!(c[742564]&131072)){if((j|0)<=-1){O=S;return O|0}U=b+16|0;if(!m){y=i;H=g;C=j;A=E;T=f;Q=u;D=e;while(1){R=ln(o,(H>>>16&q)+r|0,(y>>>16&n)+s|0)|0;if((R|0)!=(t|0)?(F=(R|0)/16|0,w=c[2969988+(((ln(p,R-(F<<4)<<3|H>>>13&7,F<<3|y>>>13&7)|0)&15)<<2)>>2]|0,(w&16|0)==0):0){F=c[U>>2]|0;R=Ru(A|0,T|0,16)|0;G()|0;x=c[F+(R<<2)>>2]|0;R=Ru(Q|0,D|0,16)|0;G()|0;F=x+R|0;R=c[742561]|0;a[F>>0]=((R^15)&(d[F>>0]|0)|R&w&c[742562])&15}Q=Ju(Q|0,D|0,M|0,N|0)|0;D=G()|0;A=Ju(A|0,T|0,K|0,L|0)|0;T=G()|0;if((C|0)<=0){O=S;break}else{y=y+v|0;H=H+l|0;C=C+-1|0}}return O|0}C=i;H=g;y=j;T=E;A=f;f=u;D=e;while(1){e=ln(o,(H>>>16&q)+r|0,(C>>>16&n)+s|0)|0;if(((e|0)!=(t|0)?c[(c[743521]|0)+43548+(e<<2)>>2]&m|0:0)?(Q=(e|0)/16|0,w=c[2969988+(((ln(p,e-(Q<<4)<<3|H>>>13&7,Q<<3|C>>>13&7)|0)&15)<<2)>>2]|0,(w&16|0)==0):0){Q=c[U>>2]|0;e=Ru(T|0,A|0,16)|0;G()|0;R=c[Q+(e<<2)>>2]|0;e=Ru(f|0,D|0,16)|0;G()|0;Q=R+e|0;e=c[742561]|0;a[Q>>0]=((e^15)&(d[Q>>0]|0)|e&w&c[742562])&15}f=Ju(f|0,D|0,M|0,N|0)|0;D=G()|0;T=Ju(T|0,A|0,K|0,L|0)|0;A=G()|0;if((y|0)<=0){O=S;break}else{C=C+v|0;H=H+l|0;y=y+-1|0}}return O|0}if((j|0)<=-1){O=S;return O|0}y=b+16|0;if(!m){b=u;H=E;C=i;A=g;L=j;while(1){T=ln(o,(A>>>16&q)+r|0,(C>>>16&n)+s|0)|0;if(((T|0)!=(t|0)?(D=(T|0)/16|0,N=(ln(p,T-(D<<4)<<3|A>>>13&7,D<<3|C>>>13&7)|0)&15,(c[2969988+(N<<2)>>2]&16|0)==0):0)?(D=b>>16,T=H>>16,f=c[742564]|0,U=f>>(T<<2&12^12)>>>(D&3^3)&1,(f&65536|0)==0|(U|0)==0):0){f=(c[(c[y>>2]|0)+(T<<2)>>2]|0)+D|0;D=c[742561]|0;a[f>>0]=((D^15)&(d[f>>0]|0)|D&c[2970116+(N<<2)>>2]>>(U<<2)&c[742562])&15}if((L|0)>0){b=b+M|0;H=H+K|0;C=C+v|0;A=A+l|0;L=L+-1|0}else{O=S;break}}return O|0}L=u;u=E;E=i;i=g;g=j;while(1){j=ln(o,(i>>>16&q)+r|0,(E>>>16&n)+s|0)|0;if((((j|0)!=(t|0)?c[(c[743521]|0)+43548+(j<<2)>>2]&m|0:0)?(A=(j|0)/16|0,C=(ln(p,j-(A<<4)<<3|i>>>13&7,A<<3|E>>>13&7)|0)&15,(c[2969988+(C<<2)>>2]&16|0)==0):0)?(A=L>>16,j=u>>16,H=c[742564]|0,b=H>>(j<<2&12^12)>>>(A&3^3)&1,(H&65536|0)==0|(b|0)==0):0){H=(c[(c[y>>2]|0)+(j<<2)>>2]|0)+A|0;A=c[742561]|0;a[H>>0]=((A^15)&(d[H>>0]|0)|A&c[2970116+(C<<2)>>2]>>(b<<2)&c[742562])&15}if((g|0)>0){L=L+M|0;u=u+K|0;E=E+v|0;i=i+l|0;g=g+-1|0}else{O=S;break}}return O|0}function hk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[742564]|0;if((c[b+28>>2]|0)>(e|0))return 0;if((c[b+32>>2]|0)<=(e|0))return 0;j=h&15;k=(i&65536|0)!=0;l=k?16:h>>>4&15;h=i>>(3-e&3);i=((h&256|0)==0?j:l)<<8|((h&4096|0)==0?j:l)|((h&16|0)==0?j:l)<<16|((h&1|0)==0?j:l)<<24;l=(g|0)<(f|0);j=l?f:g;h=l?g:f;f=c[b+36>>2]|0;g=(h|0)<(f|0)?f:h;h=c[b+40>>2]|0;f=(j|0)<(h|0)?j:h+-1|0;h=(c[(c[b+16>>2]|0)+(g<<2)>>2]|0)+e|0;e=(g|0)>(f|0);if(!k){if(e){m=1-g|0;n=m+f|0;o=e?0:n;return o|0}k=g;b=h;while(1){j=c[742561]|0;a[b>>0]=((j^15)&(d[b>>0]|0)|j&i>>>(k<<3&24)&c[742562])&15;if((k|0)<(f|0)){k=k+1|0;b=b+128|0}else break}m=1-g|0;n=m+f|0;o=e?0:n;return o|0}if(e){m=1-g|0;n=m+f|0;o=e?0:n;return o|0}b=g;k=h;while(1){h=i>>>(b<<3&24);if(!(h&16)){j=c[742561]|0;a[k>>0]=((j^15)&(d[k>>0]|0)|j&h&c[742562])&15}if((b|0)<(f|0)){b=b+1|0;k=k+128|0}else break}m=1-g|0;n=m+f|0;o=e?0:n;return o|0}function ik(a){a=a|0;var b=0;if(c[525005]|0)Ep(1414064,0,1024);c[525005]=1;c[760447]=a;b=(a|0)<3?a:3;if(!(c[743521]|0))return;c[704852]=c[2819412+(((b|0)>0?b:0)<<2)>>2];return}function jk(){var a=0,b=0;if(c[515892]|0)return 1;a=c[704835]|0;b=B((c[a+4>>2]|0)/128|0,(c[a>>2]|0)/128|0)|0;if((b|0)<1)return 1;else return ((b|0)<4?b:4)|0;return 0}function kk(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=c[a>>2]|0;if((f|0)!=(c[b>>2]|0))return;g=a+4|0;h=c[g>>2]|0;if((h|0)!=(c[b+4>>2]|0))return;i=c[a+8>>2]|0;j=c[b+8>>2]|0;if((i|0)==(j|0)){Oo(a,b,0,0,0,0,f,h);return}if(!((i|0)==32&(j|0)==8&(h|0)>0))return;j=0;i=f;f=h;while(1){if((i|0)>0){h=0;do{k=ln(a,h,j)|0;l=k>>>16&255;m=k>>>8&255;n=k&255;k=-1;o=0;p=1e7;while(1){q=c[2970052+(o<<2)>>2]|0;r=l-(d[e+(q*3|0)>>0]|0)|0;s=B(r,r)|0;r=m-(d[e+(q*3|0)+1>>0]|0)|0;t=(B(r,r)|0)+s|0;s=n-(d[e+(q*3|0)+2>>0]|0)|0;q=t+(B(s,s)|0)|0;s=(k|0)==-1|(q|0)<(p|0);k=s?o:k;o=o+1|0;if((o|0)==16)break;else p=s?q:p}en(b,h,j,k);h=h+1|0;u=c[a>>2]|0}while((h|0)<(u|0));v=c[g>>2]|0;w=u}else{v=f;w=i}j=j+1|0;if((j|0)>=(v|0))break;else{i=w;f=v}}return}function lk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;g=c[b>>2]|0;if((g|0)!=(c[e>>2]|0))return;h=b+4|0;i=c[h>>2]|0;if((i|0)!=(c[e+4>>2]|0))return;j=b+8|0;k=c[j>>2]|0;l=e+8|0;m=c[l>>2]|0;if((k|0)==(m|0)){Oo(b,e,0,0,0,0,g,i);return}if((k|0)==8&(m|0)==32){if((i|0)<=0)return;m=b+16|0;n=e+16|0;o=0;p=g;q=i;while(1){if((p|0)>0){r=c[(c[m>>2]|0)+(o<<2)>>2]|0;s=c[(c[n>>2]|0)+(o<<2)>>2]|0;t=0;do{u=a[r+t>>0]|0;v=u&255;c[s+(t<<2)>>2]=(d[f+(v*3|0)>>0]|0)<<16|(u<<24>>24==0?0:-16777216)|(d[f+(v*3|0)+1>>0]|0)<<8|(d[f+(v*3|0)+2>>0]|0);t=t+1|0;w=c[b>>2]|0}while((t|0)<(w|0));x=c[h>>2]|0;y=w}else{x=q;y=p}o=o+1|0;if((o|0)>=(x|0))break;else{p=y;q=x}}z=c[j>>2]|0;A=x;C=y}else{z=k;A=i;C=g}if((z|0)!=32)return;if(!((c[l>>2]|0)==8&(A|0)>0))return;l=0;z=C;C=A;while(1){if((z|0)>0){A=0;do{g=ln(b,A,l)|0;i=g>>>16&255;k=g>>>8&255;y=g&255;g=-1;x=0;j=1e7;while(1){q=x>>>0<16?x:x+112|0;p=i-(d[f+(q*3|0)>>0]|0)|0;o=B(p,p)|0;p=k-(d[f+(q*3|0)+1>>0]|0)|0;w=(B(p,p)|0)+o|0;o=y-(d[f+(q*3|0)+2>>0]|0)|0;p=w+(B(o,o)|0)|0;o=(g|0)==-1|(p|0)<(j|0);g=o?q:g;x=x+1|0;if((x|0)==32)break;else j=o?p:j}en(e,A,l,g);A=A+1|0;D=c[b>>2]|0}while((A|0)<(D|0));E=c[h>>2]|0;F=D}else{E=C;F=z}l=l+1|0;if((l|0)>=(E|0))break;else{z=F;C=E}}return}function mk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;e=b+4|0;f=c[e>>2]|0;g=a[f>>0]|0;a:do switch(g<<24>>24){case 1:{h=f+1|0;i=a[h>>0]|0;if(!(i<<24>>24))j=117;else{k=i&255;l=k+-48|0;c[b+116>>2]=l>>>0<10?l:(i&255)>96?k+-87|0:0;m=0;n=h}break}case 2:{h=f+1|0;k=a[h>>0]|0;if(!(k<<24>>24))j=117;else{i=k&255;l=i+-48|0;c[b+40>>2]=(l>>>0<10?l:(k&255)>96?i+9|0:0)&15;c[b+76>>2]=1;m=0;n=h}break}case 3:{h=f+1|0;i=a[h>>0]|0;if(!(i<<24>>24))j=117;else{k=i&255;l=k+-48|0;c[742550]=(l>>>0<10?l:(i&255)>96?k+-87|0:0)+-16+(c[742550]|0);m=0;n=h}break}case 4:{h=f+1|0;k=a[h>>0]|0;if(!(k<<24>>24))j=117;else{i=k&255;l=i+-48|0;c[742551]=(l>>>0<10?l:(k&255)>96?i+-87|0:0)+-16+(c[742551]|0);m=0;n=h}break}case 5:{h=a[f+1>>0]|0;i=h&255;if(h<<24>>24!=0?(k=f+2|0,(a[k>>0]|0)!=0):0){l=i+-48|0;c[742550]=(l>>>0<10?l:(h&255)>96?i+-87|0:0)+-16+(c[742550]|0);i=a[k>>0]|0;h=i&255;l=h+-48|0;c[742551]=(c[742551]|0)+-16+(l>>>0<10?l:(i&255)>96?h+-87|0:0);m=0;n=k}else j=117;break}case 6:{k=f+1|0;h=a[k>>0]|0;i=h&255;switch(h<<24>>24){case 0:{j=117;break a;break}case 45:{h=f+2|0;l=a[h>>0]|0;o=l<<24>>24==0;p=o?k:h;q=o?i:l&255;r=o&1;break}default:{p=k;q=i;r=1}}i=q+-49|0;b:do if(i>>>0<9){c[b+52>>2]=(1<<i)+-1;s=1}else{switch(q|0){case 99:break;case 100:{k=p+1|0;o=a[k>>0]|0;if(!(o<<24>>24)){m=0;n=p;break a}l=o&255;h=l+-48|0;c[b+128>>2]=h>>>0<10?h:(o&255)>96?l+-87|0:0;m=0;n=k;break a;break}default:{s=0;break b}}k=p+1|0;l=a[k>>0]|0;if(!(l<<24>>24))t=p;else{o=l&255;h=o+-48|0;$m(c[704852]|0,0,0,127,127,h>>>0<10?h:(l&255)>96?o+-87|0:0);c[742550]=0;c[742551]=0;t=k}c[b+20>>2]=r;m=0;n=t;break a}while(0);do switch(q|0){case 103:{c[742550]=c[b+28>>2];c[742551]=c[b+32>>2];m=s;n=p;break a;break}case 104:{c[b+28>>2]=c[742550];c[b+32>>2]=c[742551];m=s;n=p;break a;break}case 106:{i=a[p+1>>0]|0;if(!(i<<24>>24)){m=s;n=p;break a}k=i&255;o=k+-48|0;c[742550]=(o>>>0<10?o:(i&255)>96?k+-87|0:0)<<2;k=p+2|0;i=a[k>>0]|0;o=i&255;l=o+-48|0;c[742551]=(l>>>0<10?l:(i&255)>96?o+-87|0:0)<<2;m=s;n=k;break a;break}case 114:{k=p+1|0;o=a[k>>0]|0;i=o&255;l=i+-48|0;c[b+24>>2]=(l>>>0<10?l:(o&255)>96?i+-87|0:0)<<2;c[b+20>>2]=1;m=s;n=k;break a;break}case 120:{k=p+1|0;i=a[k>>0]|0;if(!(i<<24>>24)){m=s;n=p;break a}o=i&255;l=o+-48|0;c[b+84>>2]=l>>>0<10?l:(i&255)>96?o+-87|0:0;o=c[b+12>>2]|0;i=a[k>>0]|0;l=i&255;h=l+-48|0;c[b+88>>2]=(d[o+1>>0]|0)-(d[o>>0]|0)+(h>>>0<10?h:(i&255)>96?l+-87|0:0);m=s;n=k;break a;break}case 121:{k=p+1|0;l=a[k>>0]|0;if(!(l<<24>>24)){m=s;n=p;break a}i=l&255;h=i+-48|0;c[b+92>>2]=h>>>0<10?h:(l&255)>96?i+-87|0:0;m=s;n=k;break a;break}case 115:{k=p+1|0;i=a[k>>0]|0;l=i&255;h=l+-48|0;c[b+108>>2]=(h>>>0<10?h:(i&255)>96?l+-87|0:0)<<2;m=s;n=k;break a;break}case 119:{c[b+56>>2]=r;m=s;n=p;break a;break}case 116:{c[b+60>>2]=r;m=s;n=p;break a;break}case 46:{c[b+64>>2]=r;m=s;n=p;break a;break}case 112:{c[b+68>>2]=r;m=s;n=p;break a;break}case 35:{c[b+76>>2]=r;m=s;n=p;break a;break}case 105:{c[b+80>>2]=r;m=s;n=p;break a;break}case 98:{c[b+72>>2]=r;m=s;n=p;break a;break}case 64:{k=b+8|0;l=p+1|0;i=c[k>>2]|0;if(l>>>0<i>>>0){h=a[l>>0]|0;o=h&255;u=o+-48|0;v=u>>>0<10?u:(h&255)>96?o+-87|0:0;o=p+2|0;if(o>>>0<i>>>0){h=a[o>>0]|0;u=h&255;w=u+-48|0;x=(w>>>0<10?w:(h&255)>96?u+-87|0:0)+(v<<4)|0;u=p+3|0;if(u>>>0<i>>>0){h=a[u>>0]|0;w=h&255;y=w+-48|0;z=(y>>>0<10?y:(h&255)>96?w+-87|0:0)+(x<<4)|0;w=p+4|0;if(w>>>0<i>>>0){h=a[w>>0]|0;y=h&255;A=y+-48|0;C=(A>>>0<10?A:(h&255)>96?y+-87|0:0)+(z<<4)|0;D=p+5|0}else{C=z;D=w}}else{C=x;D=u}}else{C=v;D=o}}else{C=0;D=l}c:do if(D>>>0<i>>>0){l=a[D>>0]|0;o=l&255;v=o+-48|0;u=v>>>0<10?v:(l&255)>96?o+-87|0:0;o=D+1|0;if(o>>>0<i>>>0){l=a[o>>0]|0;v=l&255;x=v+-48|0;w=(x>>>0<10?x:(l&255)>96?v+-87|0:0)+(u<<4)|0;v=D+2|0;if(v>>>0<i>>>0){l=a[v>>0]|0;x=l&255;z=x+-48|0;y=(z>>>0<10?z:(l&255)>96?x+-87|0:0)+(w<<4)|0;x=D+3|0;if(x>>>0<i>>>0){l=a[x>>0]|0;z=l&255;h=z+-48|0;E=(h>>>0<10?h:(l&255)>96?z+-87|0:0)+(y<<4)|0;F=D+4|0}else{E=y;F=x}}else{E=w;F=v}}else{E=u;F=o}if((E|0)>0&F>>>0<i>>>0){o=F;u=C;v=0;while(1){uk(2819376,c[743521]|0,u,d[o>>0]|0);w=o+1|0;Vg(4);v=v+1|0;if((v|0)>=(E|0)){G=w;break c}if(w>>>0>=(c[k>>2]|0)>>>0){G=w;break}else{o=w;u=u+1|0}}}else G=F}else G=D;while(0);H=G+-1|0;break}default:H=p}while(0);if((q|0)==33){k=b+8|0;i=H+1|0;u=c[k>>2]|0;if(i>>>0<u>>>0){o=a[i>>0]|0;v=o&255;w=v+-48|0;x=w>>>0<10?w:(o&255)>96?v+-87|0:0;v=H+2|0;if(v>>>0<u>>>0){o=a[v>>0]|0;w=o&255;y=w+-48|0;z=(y>>>0<10?y:(o&255)>96?w+-87|0:0)+(x<<4)|0;w=H+3|0;if(w>>>0<u>>>0){o=a[w>>0]|0;y=o&255;l=y+-48|0;h=(l>>>0<10?l:(o&255)>96?y+-87|0:0)+(z<<4)|0;y=H+4|0;if(y>>>0<u>>>0){o=a[y>>0]|0;l=o&255;A=l+-48|0;I=(A>>>0<10?A:(o&255)>96?l+-87|0:0)+(h<<4)|0;J=H+5|0}else{I=h;J=y}}else{I=z;J=w}}else{I=x;J=v}}else{I=0;J=i}if(J>>>0<u>>>0){u=J;i=I;while(1){uk(2819376,c[743521]|0,i,d[u>>0]|0);v=u+1|0;Vg(4);if(v>>>0<(c[k>>2]|0)>>>0){u=v;i=i+1|0}else{K=v;break}}}else K=J;i=K+-1|0;c[e>>2]=i;a[i>>0]=0;L=0;return L|0}else{m=s;n=H}break}case 7:{i=f+1|0;u=a[i>>0]|0;if((u+-48&255)<10){k=(u&255)+-48|0;u=f+2|0;v=a[u>>0]|0;if((v+-48&255)<10){x=(k*10|0)+-48+(v&255)|0;w=(x|0)<63?x:63;x=f+3|0;M=(w|0)>0?w:0;N=x;O=a[x>>0]|0}else{M=k;N=u;O=v}v=c[743521]|0;u=v+12+(M*660|0)|0;switch(O<<24>>24){case 0:case 10:{P=N;Q=u;break}default:{R=N;S=M;T=u;U=v;j=64}}}else{v=kq(0)|0;u=(v|0)==((c[743521]|0)+41592|0);v=kq(1)|0;k=(v|0)==((c[743521]|0)+41592|0)|u;u=kq(2)|0;v=(u|0)==((c[743521]|0)+41592|0)|k;k=kq(3)|0;u=c[743521]|0;if((k|0)==(u+41592|0)|v){v=kq(0)|0;k=(v|0)==((c[743521]|0)+40932|0);v=kq(1)|0;x=(v|0)==((c[743521]|0)+40932|0)|k;k=kq(2)|0;v=(k|0)==((c[743521]|0)+40932|0)|x;x=kq(3)|0;k=c[743521]|0;if((x|0)==(k+40932|0)|v){v=kq(0)|0;x=(v|0)==((c[743521]|0)+40272|0);v=kq(1)|0;w=(v|0)==((c[743521]|0)+40272|0)|x;x=kq(2)|0;v=(x|0)==((c[743521]|0)+40272|0)|w;w=kq(3)|0;x=c[743521]|0;if((w|0)==(x+40272|0)|v){v=kq(0)|0;w=(v|0)==((c[743521]|0)+39612|0);v=kq(1)|0;z=(v|0)==((c[743521]|0)+39612|0)|w;w=kq(2)|0;v=(w|0)==((c[743521]|0)+39612|0)|z;z=kq(3)|0;w=c[743521]|0;V=(z|0)==(w+39612|0)|v?63:60;W=w}else{V=61;W=x}}else{V=62;W=k}}else{V=63;W=u}R=i;S=V;T=W+12+(V*660|0)|0;U=W;j=64}d:do if((j|0)==64){Ep(T,0,660);i=U+12+(S*660|0)+8|0;c[i>>2]=4;u=U+12+(S*660|0)+12|0;k=U+12+(S*660|0)+16|0;x=R;e:while(1){switch(a[x>>0]|0){case 0:case 10:case 32:{j=74;break e;break}case 115:{w=a[x+1>>0]|0;if(!(w<<24>>24)){X=0;break e}v=w&255;z=v+-48|0;c[i>>2]=z>>>0<10?z:(w&255)>96?v+-87|0:0;Y=2;break}case 108:{v=a[x+1>>0]|0;w=v&255;if(!(v<<24>>24)){X=0;break e}z=x+2|0;if(!(a[z>>0]|0)){X=0;break e}y=w+-48|0;c[u>>2]=y>>>0<10?y:(v&255)>96?w+-87|0:0;w=a[z>>0]|0;z=w&255;v=z+-48|0;c[k>>2]=v>>>0<10?v:(w&255)>96?z+-87|0:0;Y=3;break}case 102:{z=a[x+1>>0]|0;if(!(z<<24>>24)){X=0;break e}w=z&255;v=w+-48|0;c[T>>2]=(v>>>0<10?v:(z&255)>96?w+2147483561|0:0)<<1;Y=2;break}default:{X=0;break e}}x=x+Y|0}if((j|0)==74){c[i>>2]=16;c[U+12+(S*660|0)+20>>2]=46;c[U+12+(S*660|0)+24>>2]=0;c[U+12+(S*660|0)+28>>2]=5;c[U+12+(S*660|0)+32>>2]=0;X=1}k=5;u=5;w=0;z=3;v=X;y=x;while(1){h=k;l=u;o=w;A=v;Z=y;f:while(1){_=h;$=l;aa=A;ba=Z;g:while(1){ca=_;da=aa;ea=ba;h:while(1){fa=da;ga=ea;i:while(1){ha=a[ga>>0]|0;switch(ha<<24>>24){case 32:case 0:{P=ga;Q=T;break d;break}default:{}}if(!((fa|0)<32&ha<<24>>24!=10)){P=ga;Q=T;break d}switch(ha<<24>>24){case 93:case 91:{j=89;break f;break}case 0:{j=96;break f;break}case 98:{j=95;break f;break}case 100:{ia=2;j=98;break f;break}case 101:{j=91;break f;break}case 102:{j=92;break f;break}case 103:{j=93;break f;break}case 97:{j=94;break f;break}case 120:{break g;break}case 118:{j=84;break h;break}case 62:case 60:{j=88;break h;break}case 105:{break i;break}case 46:break;default:{j=97;break f}}fa=fa+1|0;ga=ga+1|0}ja=a[ga+1>>0]|0;ka=ja&255;la=ka+-48|0;ca=(la>>>0<10?la:(ja&255)>96?ka+9|0:0)&15;da=fa;ea=ga+2|0}if((j|0)==84){j=0;ea=a[ga+1>>0]|0;da=ea&255;ka=da+-48|0;ma=(ka>>>0<10?ka:(ea&255)>96?da+1|0:0)&7;na=ga+2|0}else if((j|0)==88){j=0;da=(ha<<24>>24==60?-1:1)+$|0;ea=(da|0)<7?da:7;ma=(ea|0)>0?ea:0;na=ga+1|0}_=ca;$=ma;aa=fa;ba=na}ba=a[ga+1>>0]|0;aa=ba&255;_=aa+-48|0;h=ca;l=$;o=(_>>>0<10?_:(ba&255)>96?aa+1|0:0)&7;A=fa;Z=ga+2|0}if((j|0)==89){j=0;Z=(ha<<24>>24==91?-1:1)+z|0;A=(Z|0)<5?Z:5;oa=(A|0)>0?A:0;pa=fa;qa=ga+1|0}else if((j|0)==91){j=0;ia=4;j=98}else if((j|0)==92){j=0;ia=5;j=98}else if((j|0)==93){j=0;ia=7;j=98}else if((j|0)==94){j=0;ia=9;j=98}else if((j|0)==95){j=0;ia=11;j=98}else if((j|0)==96){j=0;ia=12;j=98}else if((j|0)==97){j=0;ia=0;j=98}if((j|0)==98){j=0;A=U+12+(S*660|0)+20+(fa*20|0)|0;c[A>>2]=ia;c[U+12+(S*660|0)+20+(fa*20|0)+4>>2]=ca&7;c[U+12+(S*660|0)+20+(fa*20|0)+8>>2]=$&7;c[U+12+(S*660|0)+20+(fa*20|0)+12>>2]=o;Z=ga+1|0;l=a[Z>>0]|0;h=ga+2|0;if(l<<24>>24==35){aa=ia+1|0;c[A>>2]=aa;ra=h;sa=a[h>>0]|0;ta=aa}else{ra=Z;sa=l;ta=ia}if(sa<<24>>24==45){l=ta+-1|0;c[A>>2]=l;Z=ra+1|0;ua=Z;va=a[Z>>0]|0;wa=l}else{ua=ra;va=sa;wa=ta}l=(va+-48&255)<6;Z=l?(va&255)+-48|0:z;aa=(Z*12|0)+wa|0;h=(aa|0)<63?aa:63;c[A>>2]=(h|0)>0?h:0;oa=Z;pa=fa+1|0;qa=l?ua+1|0:ua}k=ca;u=$;w=o;z=oa;v=pa;y=qa}}while(0);if((c[742428]|0)==0&(c[525571]|0)!=0){tq(0,0);wq();c[525571]=0}fq(Q,0,0,c[743521]|0,-1)|0;m=0;n=(a[P>>0]|0)==10?P+-1|0:P;break}case 8:{c[742550]=(c[742550]|0)-(c[b+104>>2]|0);m=0;n=f;break}case 9:{y=c[b+108>>2]|0;v=y+-1+(c[742550]|0)|0;c[742550]=v-((v|0)%(y|0)|0);m=0;n=f;break}case 10:{c[742550]=c[b+28>>2];y=b+48|0;v=c[y>>2]|0;if(!(c[b+16>>2]|0))c[742551]=(c[742551]|0)+v;else{c[742555]=v;Ya();c[742555]=6}c[y>>2]=c[b+92>>2];m=0;n=f;break}case 11:{y=c[742550]|0;v=b+96|0;z=c[v>>2]|0;c[742550]=z;c[v>>2]=y;y=c[742551]|0;v=b+100|0;w=c[v>>2]|0;c[742551]=w;c[v>>2]=y;c[b+112>>2]=1;y=f+1|0;v=a[y>>0]|0;u=v&255;k=u+-48|0;x=k>>>0<10?k:(v&255)>96?u+-87|0:0;u=(x|0)/4|0;c[742550]=z+-2+(x-(u<<2));c[742551]=w+-8+u;m=0;n=y;break}case 12:{y=f+1|0;u=a[y>>0]|0;w=u&255;x=w+-48|0;z=x>>>0<10?x:(u&255)>96?w+-87|0:0;c[b+36>>2]=z;c[742549]=z;m=0;n=y;break}case 13:{c[742550]=c[b+28>>2];m=0;n=f;break}case 14:{c[b+12>>2]=2996104;c[b+84>>2]=d[2996104];c[b+88>>2]=d[2996105];c[b+92>>2]=d[2996106];c[b+120>>2]=d[2996107];c[b+124>>2]=d[2996108];m=0;n=f;break}case 15:{c[b+12>>2]=1415088;c[b+84>>2]=d[1415088];c[b+88>>2]=d[1415089];c[b+92>>2]=d[1415090];c[b+120>>2]=d[1415091];c[b+124>>2]=d[1415092];m=0;n=f;break}default:j=117}while(0);if((j|0)==117){j=b+84|0;P=c[(g<<24>>24<0?b+88|0:j)>>2]|0;g=b+92|0;Q=c[g>>2]|0;qa=b+112|0;if(!(c[qa>>2]|0)){pa=c[742550]|0;c[b+96>>2]=pa;oa=c[742551]|0;c[b+100>>2]=oa;if(c[b+20>>2]|0?(pa|0)>((c[b+24>>2]|0)-P|0):0){c[742550]=c[b+28>>2];pa=b+48|0;$=c[pa>>2]|0;if(!(c[b+16>>2]|0)){c[742551]=$+oa;xa=Q}else{c[742555]=$;Ya();c[742555]=6;xa=c[g>>2]|0}c[pa>>2]=xa}xa=b+68|0;if((c[xa>>2]|0)==0?(c[b+60>>2]|0)==0:0)ya=Q;else ya=Q<<1;if((c[b+16>>2]|0)!=0?(c[742551]|0)>(128-ya|0):0){Xa(ya);za=xa}else za=xa}else za=b+68|0;xa=c[b+80>>2]|0;ya=c[b+36>>2]|0;pa=c[b+40>>2]|0;if(!(c[za>>2]|0)){za=(c[b+56>>2]|0)==0;$=za?1:2;if(za)Aa=1;else Aa=(c[b+64>>2]|0)==0?1:2;if(!(c[b+60>>2]|0)){Ba=$;Ca=1;Da=Aa;Ea=1}else{Ba=$;Ca=2;Da=Aa;Ea=(c[b+64>>2]|0)==0?1:2}}else{Ba=2;Ca=2;Da=2;Ea=2}Aa=c[b+72>>2]|0;$=B(Aa,Ba)|0;za=b+12|0;oa=B($,(c[j>>2]|0)+1-(d[c[za>>2]>>0]|0)|0)|0;j=(oa|0)>0?oa:0;oa=0-j|0;$=B(Aa,Ca)|0;Aa=($|0)>0?$:0;$=0-Aa|0;ca=(c[b+120>>2]|0)-(c[742556]|0)|0;ua=(c[b+124>>2]|0)-(c[742557]|0)|0;if(!(c[b+76>>2]|0))Fa=B(Ca,Q)|0;else{fa=c[b+44>>2]|0;wa=ca-j+(c[742550]|0)|0;va=ua-Aa+(c[742551]|0)|0;ta=(B(Ba,P)|0)+-1+j+wa|0;j=B(Ca,Q)|0;Q=j+-1+Aa+va|0;Aa=(ta|0)<(wa|0);sa=Aa?wa:ta;ra=Aa?ta:wa;wa=(Q|0)<(va|0);ta=wa?va:Q;Aa=wa?Q:va;while(1){_j(fa,ra,sa,Aa,pa)|0;if((Aa|0)<(ta|0))Aa=Aa+1|0;else{Fa=j;break}}}if((Fa|0)>($|0)){j=((xa|0)!=0)<<31>>31;xa=B(Ba,P)|0;Aa=Ba<<3;ta=b+44|0;if((xa|0)>(oa|0)){pa=$;do{$=(pa+Ca|0)/(Ca|0)|0;sa=$+-1|0;if(($|0)>0?(ra=c[g>>2]|0,($|0)<=(((ra|0)<8?ra:8)|0)):0)Ga=d[(c[za>>2]|0)+(sa+(d[f>>0]<<3))>>0]<<8;else Ga=0;sa=Ga^j;ra=pa+ua|0;$=oa;do{if((((1<<(($+Aa|0)/(Ba|0)|0)&sa|0?(fa=$+ca+(c[742550]|0)|0,va=ra+(c[742551]|0)|0,Q=c[ta>>2]|0,(fa|0)>=(c[Q+28>>2]|0)):0)?(fa|0)<(c[Q+32>>2]|0):0)?(va|0)>=(c[Q+36>>2]|0):0)?(va|0)<(c[Q+40>>2]|0):0){wa=(c[(c[Q+16>>2]|0)+(va<<2)>>2]|0)+fa|0;fa=c[742561]|0;a[wa>>0]=((fa^15)&d[wa>>0]|fa&ya&c[742562])&15}$=$+Da|0}while(($|0)<(xa|0));pa=pa+Ea|0}while((pa|0)<(Fa|0));Ha=xa}else Ha=xa}else Ha=B(Ba,P)|0;Vg(((B(Ha,Fa)|0)+1|0)/2|0);c[b+104>>2]=Ha;Fa=(c[742550]|0)+Ha|0;c[742550]=Fa;Ha=c[525e3]|0;c[525e3]=(Ha|0)>(Fa|0)?Ha:Fa;Fa=b+48|0;Ha=c[Fa>>2]|0;P=B(c[g>>2]|0,Ca)|0;c[Fa>>2]=(Ha|0)>(P|0)?Ha:P;if(c[qa>>2]|0){c[742550]=c[b+96>>2];c[742551]=c[b+100>>2];c[qa>>2]=0}qa=b+116|0;P=c[qa>>2]|0;if((P|0)>0){c[qa>>2]=P+-1;Ia=(P|0)==1?f:f+-1|0}else Ia=f;f=c[b+128>>2]|0;if((f|0)>0){c[b+52>>2]=f+-1;c[e>>2]=(a[Ia>>0]|0)==0?Ia:Ia+1|0;L=1;return L|0}else{m=0;n=Ia}}c[e>>2]=(a[n>>0]|0)==0?n:n+1|0;L=m;return L|0}function nk(){Yu(2100028,0,132)|0;return}function ok(){Hp(c[525007]|0);c[525007]=0;return}function pk(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0;b=vk(2819376,c[743521]|0,24408)|0;e=vk(2819376,c[743521]|0,24409)|0;f=vk(2819376,c[743521]|0,24410)|0;g=vk(2819376,c[743521]|0,24411)|0;h=(b&1|0)==0?2:b;b=(h&128|0)==0?1415088:2996104;c[525010]=b;c[525025]=h>>>1&1;c[525021]=h>>>2&1;c[525022]=h>>>3&1;c[525026]=h>>>4&1;c[525027]=h>>>5&1;c[525023]=h>>>6&1;c[525024]=0;c[525034]=16;h=a[b>>0]|0;c[525028]=h&255;i=a[b+1>>0]|0;c[525029]=i&255;j=a[b+2>>0]|0;c[525030]=j&255;c[525037]=d[b+3>>0];c[525038]=d[b+4>>0];if(!((i|h|j)<<24>>24)){c[525028]=8;c[525030]=8;c[525029]=8}j=e&15;if(j|0)c[525028]=j;if(e&240|0)c[525030]=e>>>4&15;e=f&15;if(e|0)c[525029]=e;if(f&240|0)c[525034]=(f>>>2&60)+4;f=g&15;if(f|0)c[525037]=f;if(!(g&240))return;c[525038]=g>>>4&15;return}function qk(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[525007]|0;if(!b){d=0;return d|0}e=c[525020]|0;if((e|0)>0){c[525020]=e+-1;d=1;return d|0}e=c[525008]|0;do if(a[e>>0]|0){f=e;while(1){g=mk(2100028)|0;Vg((c[525008]|0)-f|0);if(g|0){d=g;h=10;break}f=c[525008]|0;if(!(a[f>>0]|0)){h=8;break}}if((h|0)==8){i=c[525007]|0;break}else if((h|0)==10)return d|0}else i=b;while(0);Hp(i);c[525007]=0;d=0;return d|0}function rk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!d){h=0;return h|0}if(!(c[525006]|0)){c[525006]=1;Ep(1415088,0,2048);i=c[704871]|0;j=0;do{k=c[(c[i>>2]|0)+(j<<2)>>2]|0;l=k+4|0;if((c[l>>2]|0)>0){m=j<<3;n=k+16|0;o=0;do{p=c[k>>2]|0;if((p|0)>0){q=c[(c[n>>2]|0)+(o<<2)>>2]|0;r=0;s=0;while(1){t=((a[q+r>>0]|0)==0?0:1<<r)|s;r=r+1|0;if((r|0)==(p|0)){u=t;break}else s=t}}else u=0;a[1415088+(o+m)>>0]=u;o=o+1|0}while((o|0)<(c[l>>2]|0))}j=j+1|0}while((j|0)!=256);a[1415088]=4;a[1415089]=8;a[1415090]=6;a[1415091]=0;a[1415092]=0}Hp(c[525007]|0);Ep(2100028,0,132);j=Dp(e+4|0)|0;c[525007]=j;Xu(j|0,d|0,e|0)|0;pk();d=c[525007]|0;c[525008]=d;j=d+e|0;c[525009]=j;c[525012]=f&16;c[525013]=c[b+32>>2];c[525011]=f&32;c[525014]=c[742550];c[525015]=c[742551];c[525016]=g&15;c[525017]=g>>>4&15;c[525018]=b;c[525020]=0;c[525036]=0;c[525019]=c[525030];c[525033]=c[525028];if(!(a[2998462]&4)){a[j>>0]=10;a[(c[525007]|0)+(e+1)>>0]=0;v=c[525007]|0}else v=d;if(!v){h=0;return h|0}d=c[525020]|0;if((d|0)>0){c[525020]=d+-1;h=1;return h|0}d=c[525008]|0;do if(a[d>>0]|0){e=d;while(1){j=mk(2100028)|0;Vg((c[525008]|0)-e|0);if(j|0){h=j;w=23;break}e=c[525008]|0;if(!(a[e>>0]|0)){w=21;break}}if((w|0)==21){x=c[525007]|0;break}else if((w|0)==23)return h|0}else x=v;while(0);Hp(x);c[525007]=0;h=0;return h|0}function sk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;a=(b|0)!=0;if(!e){if(!a){f=0;return f|0}g=b+-4|0;h=c[g>>2]|0;Hp(g);c[742570]=(c[742570]|0)-h;f=0;return f|0}h=c[742570]|0;if((h-(c[759908]|0)|0)>2097152){c[759983]=1;mg();g=c[742570]|0;if((g-(c[759908]|0)|0)>67108864){wg(60459);xg(60481,(c[742570]|0)/1048576|0,e>>>10);c[759985]=1;f=0;return f|0}else i=g}else i=h;if(a){h=b+-4|0;g=c[h>>2]|0;c[742570]=i-g;i=Gp(h,e+4|0)|0;j=(g|0)==0?0:e;k=i}else{j=0;k=Gp(0,e+4|0)|0}i=(b|0)==0;b=i&(d|0)==0&(c[759906]|0)!=0?0:i&(d+-7|0)>>>0<13?32:a?j:(d|0)!=2&(i&d>>>0<7)?e:0;c[742570]=b+(c[742570]|0);c[k>>2]=b;f=k+4|0;return f|0}function tk(){var a=0,b=0;a=c[515479]|0;b=c[74e4]|0;if(b|0)c[b+332>>2]=a;b=c[740001]|0;if(b|0)c[b+332>>2]=a;b=c[740002]|0;if(b|0)c[b+332>>2]=a;b=c[740003]|0;if(b|0)c[b+332>>2]=a;b=c[740004]|0;if(b|0)c[b+332>>2]=a;b=c[740005]|0;if(b|0)c[b+332>>2]=a;b=c[740006]|0;if(b|0)c[b+332>>2]=a;b=c[740007]|0;if(b|0)c[b+332>>2]=a;b=c[740008]|0;if(b|0)c[b+332>>2]=a;b=c[740009]|0;if(b|0)c[b+332>>2]=a;b=c[740010]|0;if(b|0)c[b+332>>2]=a;b=c[740011]|0;if(b|0)c[b+332>>2]=a;b=c[740012]|0;if(b|0)c[b+332>>2]=a;b=c[740013]|0;if(b|0)c[b+332>>2]=a;b=c[740014]|0;if(b|0)c[b+332>>2]=a;b=c[740015]|0;if(!b)return;c[b+332>>2]=a;return}function uk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=Fa;Fa=Fa+16|0;h=g;i=e&65535;j=(e&32768|0)!=0;k=(b|0)!=0;if(k&j?(a[2998462]&16)==0:0){c[h>>2]=i;vs(1509584,60493,h)|0;yb(1509584)|0;Fa=g;return}h=i>>>0<24320;if((i+-17152|0)>>>0<7168&(c[704866]|0)>0){Fa=g;return}l=f&255;m=l>>>0>127?f|-256:l;if(k)a[b+154712+i>>0]=f;if(j){Fa=g;return}if(i>>>0<4096){j=d+4|0;k=i>>>6;n=e<<1&126;a[(c[(c[(c[j>>2]|0)+16>>2]|0)+(k<<2)>>2]|0)+n>>0]=f&15;a[(c[(c[(c[j>>2]|0)+16>>2]|0)+(k<<2)>>2]|0)+(n|1)>>0]=f>>>4&15;Fa=g;return}if(i>>>0<8192){n=d+4|0;k=i>>>6;j=e<<1&126;a[(c[(c[(c[n>>2]|0)+16>>2]|0)+(k<<2)>>2]|0)+j>>0]=f&15;a[(c[(c[(c[n>>2]|0)+16>>2]|0)+(k<<2)>>2]|0)+(j|1)>>0]=f>>>4&15;a[(c[(c[(c[d+8>>2]|0)+16>>2]|0)+(i>>>7<<2)>>2]|0)+(e&127)>>0]=f;Fa=g;return}if(i>>>0<12288){j=i+-8192|0;a[(c[(c[(c[d+8>>2]|0)+16>>2]|0)+(j>>7<<2)>>2]|0)+(j&127)>>0]=f;Fa=g;return}if(i>>>0<12544){c[d+43548+(i+-12288<<2)>>2]=l;Fa=g;return}if(i>>>0<12800){j=i+-12544|0;k=(j|0)/4|0;n=j&3;c[d+42252+(k<<4)+(n<<2)>>2]=f&127;j=1<<n;n=d+43276+(k<<2)|0;k=c[n>>2]|0;c[n>>2]=k&~j;if(!(f&128)){Fa=g;return}c[n>>2]=k|j;Fa=g;return}if(i>>>0<17152){j=i+-12800|0;k=(j|0)/68|0;n=j-(k*68|0)|0;if((n|0)<64){j=(n|0)/2|0;if(!(n&1)){c[d+12+(k*660|0)+20+(j*20|0)>>2]=f&63;o=d+12+(k*660|0)+20+(j*20|0)+4|0;c[o>>2]=c[o>>2]&4|f>>>6&3;Fa=g;return}else{o=d+12+(k*660|0)+20+(j*20|0)+4|0;c[o>>2]=c[o>>2]&3|f<<2&4;c[d+12+(k*660|0)+20+(j*20|0)+8>>2]=f>>>1&7;c[d+12+(k*660|0)+20+(j*20|0)+12>>2]=f>>>4&7;c[d+12+(k*660|0)+20+(j*20|0)+16>>2]=f&128;Fa=g;return}}switch(n|0){case 64:{c[d+12+(k*660|0)+4>>2]=f&1;c[d+12+(k*660|0)>>2]=f&254;Fa=g;return}case 65:{c[d+12+(k*660|0)+8>>2]=l;Fa=g;return}case 66:{c[d+12+(k*660|0)+12>>2]=l;Fa=g;return}case 67:{c[d+12+(k*660|0)+16>>2]=l;Fa=g;return}default:{Fa=g;return}}}if((b|0)==0|i>>>0<24064){Fa=g;return}if(h){h=i+-24064|0;b=2965332+(((h|0)/4|0)<<2)|0;k=c[b>>2]|0;d=h<<3&24;h=k&~(255<<d)|l<<d;c[b>>2]=h;if((k|0)==(h|0)){Fa=g;return}c[759981]=1;Fa=g;return}if(i>>>0>=24448)if(i>>>0<24576){pm(i+-24448|0,l);Fa=g;return}else{h=i+-24576|0;k=h>>6;b=h<<1&126;a[(c[(c[(c[704852]|0)+16>>2]|0)+(k<<2)>>2]|0)+b>>0]=f&15;a[(c[(c[(c[704852]|0)+16>>2]|0)+(k<<2)>>2]|0)+(b|1)>>0]=f>>>4&15;Fa=g;return}b=i+-24320|0;if(i>>>0<24336){c[2969988+(b<<2)>>2]=l;Fa=g;return}if(i>>>0<24352){c[2970052+(i+-24336<<2)>>2]=l;if(!(f&128)){Fa=g;return}kb();Fa=g;return}if(i>>>0<24356){c[2970180+(i+-24352<<2)>>2]=l;an(c[704852]|0,c[742545]|0,c[742546]|0,c[742547]|0,c[742548]|0);Fa=g;return}do switch((e&65535)<<16>>16){case 24357:{c[742549]=l;Fa=g;return}case 24358:{c[742550]=l;Fa=g;return}case 24359:{c[742551]=l;Fa=g;return}case 24360:{c[742556]=c[742556]&-256|l;Fa=g;return}case 24361:{c[742556]=c[742556]&255|m<<8;Fa=g;return}case 24362:{c[742557]=c[742557]&-256|l;Fa=g;return}case 24363:{c[742557]=c[742557]&255|m<<8;Fa=g;return}case 24364:{c[742559]=l;Fa=g;return}case 24369:{c[742564]=c[742564]&-256|l;Fa=g;return}case 24370:{c[742564]=c[742564]&-65281|l<<8;Fa=g;return}case 24371:{c[742564]=c[742564]&-16711681|l<<16;Fa=g;return}case 24372:{c[742569]=l;Fa=g;return}case 24373:{c[742567]=l;Fa=g;return}case 24380:{c[742565]=c[742565]&-256|l;Fa=g;return}case 24381:{c[742565]=c[742565]&255|m<<8;Fa=g;return}case 24382:{c[742566]=c[742566]&-256|l;Fa=g;return}case 24383:{c[742566]=c[742566]&255|m<<8;Fa=g;return}case 24384:{c[742906]=l;Fa=g;return}case 24385:{c[742907]=l;Fa=g;return}case 24386:{c[742908]=l;Fa=g;return}case 24387:{c[742909]=l;Fa=g;return}default:switch((e&65532)<<16>>16){case 24388:{k=(i<<3)+-195104|0;Tk(0,(Sk(0)|0)&~(255<<k)|l<<k);Fa=g;return}case 24392:{k=(i<<3)+-195136|0;Tk(1,(Sk(1)|0)&~(255<<k)|l<<k);Fa=g;return}case 24396:{k=i+-24396|0;c[2970284+(k<<5)>>2]=f&1;c[2970284+(k<<5)+4>>2]=f>>>1&1;c[2970284+(k<<5)+8>>2]=f>>>2&1;c[2970284+(k<<5)+12>>2]=f>>>3&1;c[2970284+(k<<5)+16>>2]=f>>>4&1;c[2970284+(k<<5)+20>>2]=f>>>5&1;Fa=g;return}default:{if((b|0)==94){c[742560]=l;c[742561]=f&15;c[742562]=f>>>4&15;Fa=g;return}if((e&65520|0)!=24416){Fa=g;return}c[2970116+(i+-24416<<2)>>2]=l;Fa=g;return}}}while(0)}function vk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=f&65535;h=(b|0)!=0;if(h&g>>>0>32767?(a[2998462]&16)==0:0){i=0;return i|0}if(h)j=d[b+154712+g>>0]|0;else j=0;a:do if(g>>>0>=8192){if(g>>>0<12288){h=g+-8192|0;k=d[(c[(c[(c[e+8>>2]|0)+16>>2]|0)+(h>>7<<2)>>2]|0)+(h&127)>>0]|0;break}if(g>>>0<12544){k=c[e+43548+(g+-12288<<2)>>2]|0;break}if(g>>>0<12800){h=g+-12544|0;l=(h|0)/4|0;m=h&3;h=c[e+42252+(l<<4)+(m<<2)>>2]&127;k=(c[e+43276+(l<<2)>>2]&1<<m|0)==0?h:h|128;break}if(g>>>0<17152){h=g+-12800|0;m=(h|0)/68|0;l=h-(m*68|0)|0;if((l|0)<64){h=(l|0)/2|0;if(!(l&1)){k=c[e+12+(m*660|0)+20+(h*20|0)+4>>2]<<6&192|c[e+12+(m*660|0)+20+(h*20|0)>>2];break}else{k=c[e+12+(m*660|0)+20+(h*20|0)+8>>2]<<1&14|(c[e+12+(m*660|0)+20+(h*20|0)+4>>2]|0)>>>2&1|c[e+12+(m*660|0)+20+(h*20|0)+12>>2]<<4&112|c[e+12+(m*660|0)+20+(h*20|0)+16>>2]&128;break}}switch(l|0){case 64:{k=c[e+12+(m*660|0)>>2]&254|c[e+12+(m*660|0)+4>>2]&1;break a;break}case 65:{k=c[e+12+(m*660|0)+8>>2]|0;break a;break}case 66:{k=c[e+12+(m*660|0)+12>>2]|0;break a;break}case 67:{k=c[e+12+(m*660|0)+16>>2]|0;break a;break}default:{k=j;break a}}}if(!b){i=0;return i|0}if(g>>>0<24064)k=j;else{if(g>>>0<24320){m=g+-24064|0;k=(c[2965332+(((m|0)/4|0)<<2)>>2]|0)>>>(m<<3&24)&255;break}if(g>>>0>=24448){if(g>>>0<24576){k=qm(g+-24448|0)|0;break}if(g>>>0>=32768){k=j;break}m=g+-24576|0;l=c[(c[(c[704852]|0)+16>>2]|0)+(m>>6<<2)>>2]|0;h=m<<1&126;k=(a[l+(h|1)>>0]<<4&255|a[l+h>>0]&15)&255;break}h=g+-24320|0;b:do if(g>>>0<24336)n=c[2969988+(h<<2)>>2]|0;else{if(g>>>0<24352){n=c[2970052+(g+-24336<<2)>>2]|0;break}if(g>>>0<24356){n=c[2970180+(g+-24352<<2)>>2]|0;break}do switch((f&65535)<<16>>16){case 24357:{n=c[742549]|0;break b;break}case 24358:{n=c[742550]|0;break b;break}case 24359:{n=c[742551]|0;break b;break}case 24360:{n=c[742556]&255;break b;break}case 24361:{n=c[742556]>>8;break b;break}case 24362:{n=c[742557]&255;break b;break}case 24363:{n=c[742557]>>8;break b;break}case 24364:{n=c[742559]|0;break b;break}case 24369:{n=c[742564]&255;break b;break}case 24370:{n=(c[742564]|0)>>>8&255;break b;break}case 24371:{n=(c[742564]|0)>>>16&255;break b;break}case 24373:{n=c[742567]&255;break b;break}case 24380:{n=c[742565]&255;break b;break}case 24381:{n=c[742565]>>8;break b;break}case 24382:{n=c[742566]&255;break b;break}case 24383:{n=c[742566]>>8;break b;break}case 24384:{n=c[742906]|0;break b;break}case 24385:{n=c[742907]|0;break b;break}case 24386:{n=c[742908]|0;break b;break}case 24387:{n=c[742909]|0;break b;break}default:switch((f&65532)<<16>>16){case 24388:{n=(Sk(0)|0)>>>((g<<3)+-195104|0)&255;break b;break}case 24392:{n=(Sk(1)|0)>>>((g<<3)+-195136|0)&255;break b;break}default:{l=g+-24396|0;if(l>>>0<8){n=((c[2970284+(l<<5)+20>>2]|0)==0?0:32)|(((c[2970284+(l<<5)+16>>2]|0)==0?0:16)|(((c[2970284+(l<<5)+12>>2]|0)==0?0:8)|(((c[2970284+(l<<5)+8>>2]|0)==0?0:4)|(((c[2970284+(l<<5)+4>>2]|0)==0?0:2)|(c[2970284+(l<<5)>>2]|0)!=0))))|a[2974088+g>>0]&-64&255;break b}if((h|0)==94){n=c[742560]&255;break b}if((f&65520|0)!=24416){n=j;break b}n=c[2970116+(g+-24416<<2)>>2]|0;break b}}}while(0)}while(0);k=n&255}}else{h=c[(c[(c[e+4>>2]|0)+16>>2]|0)+(g>>>6<<2)>>2]|0;l=f<<1&126;k=((d[h+(l|1)>>0]|0)<<4)+(d[h+l>>0]|0)|0}while(0);i=k&255;return i|0}function wk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if((h|0)>32767)return;i=g&65535;j=f&65535;k=a[2064+(g>>>8&255)>>0]|0;g=k<<24>>24;l=i+h|0;m=a[2064+(f>>>8&255)>>0]|0;f=m<<24>>24;n=j+h|0;o=(j|0)>=(l|0);p=(n|0)<=(i|0);q=p|o;if(!(m<<24>>24==(a[2064+((n+65535|0)>>>8&255)>>0]|0)&(k<<24>>24==(a[2064+((l+65535|0)>>>8&255)>>0]|0)&(k<<24>>24!=0&m<<24>>24!=0)))){l=(h|0)>0;if(j>>>0<i>>>0){if(!l)return;r=0;do{uk(b,e,r+j|0,vk(b,e,r+i|0)|0);r=r+1|0}while((r|0)!=(h|0));return}else{if(!l)return;l=h;do{r=l;l=l+-1|0;uk(b,e,l+j|0,vk(b,e,l+i|0)|0)}while((r|0)>1);return}}switch(g|0){case 1:{s=(c[(c[(c[e+4>>2]|0)+16>>2]|0)+(i>>>6<<2)>>2]|0)+(i<<1&126)|0;break}case 2:{l=i+-24576|0;s=(c[(c[(c[704852]|0)+16>>2]|0)+(l>>6<<2)>>2]|0)+(l<<1&126)|0;break}case 8:{l=i+-8192|0;s=(c[(c[(c[e+8>>2]|0)+16>>2]|0)+(l>>7<<2)>>2]|0)+(l&127)|0;break}default:s=b+154712+i|0}switch(f|0){case 1:{t=(c[(c[(c[e+4>>2]|0)+16>>2]|0)+(j>>>6<<2)>>2]|0)+(j<<1&126)|0;break}case 2:{l=j+-24576|0;t=(c[(c[(c[704852]|0)+16>>2]|0)+(l>>6<<2)>>2]|0)+(l<<1&126)|0;break}case 8:{l=j+-8192|0;t=(c[(c[(c[e+8>>2]|0)+16>>2]|0)+(l>>7<<2)>>2]|0)+(l&127)|0;break}default:t=b+154712+j|0}b=g&8;if(i>>>0<j>>>0&((p|o)^1)){o=h<<(b>>>3^1);if(o|0){p=o;do{p=p+-1|0;a[t+p>>0]=a[s+p>>0]|0}while((p|0)!=0)}}else{p=(f&8|0)!=0;do if((k&8&m)<<24>>24){if(q){Xu(t|0,s|0,h|0)|0;u=t;v=s;break}if((h|0)>0){f=t+h|0;o=t;i=s;g=0;while(1){a[o>>0]=a[i>>0]|0;g=g+1|0;if((g|0)==(h|0))break;else{o=o+1|0;i=i+1|0}}u=f;v=s+h|0}else{u=t;v=s}}else{u=t;v=s}while(0);do if(!((m|k)&8)){s=h<<1;if(q){Xu(u|0,v|0,s|0)|0;w=u;x=v;y=31;break}if((h|0)<=0){z=u;A=v;B=(b|0)==0;C=0;break}t=u;i=v;o=0;while(1){a[t>>0]=a[i>>0]|0;g=t+1|0;l=i+1|0;o=o+1|0;if((o|0)>=(s|0)){w=g;x=l;y=31;break}else{t=g;i=l}}}else{w=u;x=v;y=31}while(0);if((y|0)==31){y=(b|0)==0;b=(h|0)>0;if(b&((y|p)^1)){v=w+(h<<1)|0;u=0;q=w;k=x;while(1){a[q>>0]=a[k>>0]&15;a[q+1>>0]=(d[k>>0]|0)>>>4;u=u+1|0;if((u|0)==(h|0))break;else{q=q+2|0;k=k+1|0}}z=v;A=x+h|0;B=y;C=b}else{z=w;A=x;B=y;C=b}}if(B&p&C){C=0;p=z;z=A;while(1){a[p>>0]=(a[z+1>>0]<<4&255)+(d[z>>0]|0);C=C+1|0;if((C|0)==(h|0))break;else{p=p+1|0;z=z+2|0}}}}z=j+-4096|0;j=(z|0)<4096?z:4096;z=(j|0)>0?j:0;j=(n|0)<4096?0:(n|0)<8192?n+-4096|0:4096;if(!((j|0)>0&(z|0)<4096&(z|0)<(j|0)))return;n=z;p=(c[(c[e+8>>2]|0)+12>>2]|0)+(z+4096)|0;h=(c[(c[e+4>>2]|0)+12>>2]|0)+((z<<1)+8192)|0;while(1){a[p>>0]=a[h+1>>0]<<4&255|a[h>>0]&15;n=n+1|0;if((n|0)>=(j|0))break;else{p=p+1|0;h=h+2|0}}return}function xk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=Fa;Fa=Fa+16|0;i=h;j=e&65535;k=f&65535;f=(b|0)!=0;if(f?!((e&32768|0)==0|(a[2998462]&16)!=0):0){c[i>>2]=j;vs(1509584,60511,i)|0;yb(1509584)|0;Fa=h;return}i=(g|0)>0;if(j>>>0<k>>>0){if(i){l=k;m=g;n=j;while(1){o=256-(l&255)|0;p=256-(n&255)|0;q=o>>>0<p>>>0?o:p;p=(q|0)<(m|0)?q:m;wk(b,d,n,l,p);m=m-p|0;if((m|0)<=0)break;else{l=p+l|0;n=p+n|0}}}}else if(i){i=k+g|0;k=g;n=j+g|0;do{j=(i+255&255)+1|0;l=(n+255&255)+1|0;m=j>>>0<l>>>0?j:l;l=(m|0)<(k|0)?m:k;i=i-l|0;n=n-l|0;wk(b,d,n,i,l);k=k-l|0}while((k|0)>0)}if(!f){Fa=h;return}if(a[2998462]&16){Fa=h;return}if(!(e+65535+g&32768)){Fa=h;return}g=1509584;e=60531;f=g+21|0;do{a[g>>0]=a[e>>0]|0;g=g+1|0;e=e+1|0}while((g|0)<(f|0));yb(1509584)|0;Fa=h;return}function yk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;h=Fa;Fa=Fa+16|0;i=h+8|0;j=h;k=e&65535;l=(b|0)!=0;if(l?!((e&32768|0)==0|(a[2998462]&16)!=0):0){c[j>>2]=k;vs(1509584,60552,j)|0;yb(1509584)|0;Fa=h;return}if((g|0)>0){j=f&255;e=d+4|0;m=d+8|0;n=f&15;o=n&255;p=f>>>4&15;q=n*17&255;n=g;r=k;while(1){s=256-(r&255)|0;t=(s|0)<(n|0)?s:n;a:do if((t|0)<=32767){s=r&65535;u=a[2064+(r>>>8&255)>>0]|0;v=u<<24>>24;w=t+s|0;if(!(u<<24>>24)){if((t|0)<=0)break;u=0;while(1){uk(b,d,u+s|0,f);u=u+1|0;if((u|0)==(t|0))break a}}switch(v|0){case 1:{x=s;y=(c[(c[e>>2]|0)+16>>2]|0)+(s>>>6<<2)|0;z=14;break}case 2:{u=s+-24576|0;x=u;y=(c[(c[704852]|0)+16>>2]|0)+(u>>6<<2)|0;z=14;break}case 8:{u=s+-8192|0;A=(c[(c[(c[m>>2]|0)+16>>2]|0)+(u>>7<<2)>>2]|0)+(u&127)|0;z=13;break}default:{u=b+154712+s|0;if(!(v&8)){B=u;z=15}else{A=u;z=13}}}if((z|0)==13){z=0;Yu(A|0,j|0,t|0)|0}else if((z|0)==14){z=0;B=(c[y>>2]|0)+(x<<1&126)|0;z=15}if((z|0)==15?(z=0,(t|0)>0):0){u=B;C=0;while(1){a[u>>0]=o;a[u+1>>0]=p;C=C+1|0;if((C|0)==(t|0))break;else u=u+2|0}}u=s+-4096|0;C=(u|0)<4096?u:4096;u=(C|0)>0?C:0;C=(w|0)<4096?0:(w|0)<8192?w+-4096|0:4096;if((C|0)>(u|0)&((u|0)<4096&(C|0)>0))Yu((c[(c[m>>2]|0)+12>>2]|0)+(u+4096)|0,q|0,C-u|0)|0}while(0);u=t+r|0;C=n-t|0;if((C|0)>0){n=C;r=u}else{D=u;E=C;break}}}else{D=k;E=g}if(!l){Fa=h;return}if(a[2998462]&16){Fa=h;return}l=E+-1+D|0;if(!(l&32768)){Fa=h;return}c[i>>2]=l;vs(1509584,60552,i)|0;yb(1509584)|0;Fa=h;return}function zk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if((g|0)>32767)return;if((g|0)>0){h=0;do{uk(b,d,h+e|0,vk(0,c[18328]|0,h+f|0)|0);h=h+1|0}while((h|0)!=(g|0))}if(!(a[2968664]|0))return;a[2968664]=0;g=30-(c[742431]|0)|0;h=(g|0)<30?g:30;c[742430]=(h|0)>2?h:2;c[742431]=150;return}function Ak(a){a=a|0;var b=0,d=0;b=a>>16;a=vk(2819376,c[743521]|0,b)|0;d=((vk(2819376,c[743521]|0,b+1|0)|0)<<8)+a|0;a=d+((vk(2819376,c[743521]|0,b+2|0)|0)<<16)|0;return a+((vk(2819376,c[743521]|0,b+3|0)|0)<<24)|0}function Bk(a){a=a|0;var b=0;b=a>>16;a=(vk(2819376,c[743521]|0,b)|0)<<16;return ((vk(2819376,c[743521]|0,b+1|0)|0)<<24)+a|0}function Ck(a){a=a|0;return (vk(2819376,c[743521]|0,a>>16)|0)<<16|0}function Dk(){return}function Ek(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=Fa;Fa=Fa+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=0;c[f>>2]=0;c[g>>2]=0;a:do if(b>>>0>7)h=0;else{cr(b-(c[415555]|0)|0,e,f,g);if((a|0)>=4)switch(a|0){case 4:{h=(c[g>>2]&9|0)==0?0:255;break a;break}case 5:{h=(c[g>>2]&6|0)==0?0:255;break a;break}case 6:{h=(c[g>>2]&64|0)==0?0:255;break a;break}default:{h=0;break a}}i=c[e>>2]|0;j=B((i|0)/2|0,i)|0;k=c[f>>2]|0;b:do if(((B((k|0)/2|0,k)|0)+j|0)>134217728)switch(a|0){case 0:{l=i<<8;m=0-l|0;if((32767-l|0)>>>0>8388606){h=(m|0)<-32767?0:255;break a}h=(m|0)/32768|0;break a;break}case 1:{if((i+127|0)>>>0>32766){h=(i|0)<-127?0:255;break a}h=(i|0)/128|0;break a;break}case 2:{m=k<<8;l=0-m|0;if((32767-m|0)>>>0>8388606){h=(l|0)<-32767?0:255;break a}h=(l|0)/32768|0;break a;break}case 3:{if((k+127|0)>>>0>32766){h=(k|0)<-127?0:255;break a}h=(k|0)/128|0;break a;break}default:break b}else switch(a|0){case 0:{if(!(c[g>>2]&8192))break b;else{h=255;break a}break}case 1:{if(!(c[g>>2]&16384))break b;else{h=255;break a}break}case 2:{if(!(c[g>>2]&2048))break b;else{h=255;break a}break}case 3:{if(!(c[g>>2]&4096))break b;else{h=255;break a}break}default:break b}while(0);h=0}while(0);Fa=d;return h|0}function Fk(a){a=a|0;return ((c[415564]|0)==(a|0)|(c[415565]|0)==(a|0)|(c[415566]|0)==(a|0)|(c[415567]|0)==(a|0)|(c[415568]|0)==(a|0)|(c[415569]|0)==(a|0))&1|0}function Gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=Fa;Fa=Fa+16|0;e=d+8|0;f=d+4|0;g=d;h=(b|0)==0;a:do if(h){switch(a|0){case 0:{i=c[415564]|0;j=0;k=0;l=(i|0)==0?80:i;m=9;break}case 1:{i=c[415565]|0;j=0;k=0;l=(i|0)==0?79:i;m=9;break}case 2:{i=c[415566]|0;j=0;k=0;l=(i|0)==0?82:i;m=9;break}case 3:{i=c[415567]|0;j=0;k=0;l=(i|0)==0?81:i;m=9;break}case 4:{i=c[415568]|0;j=0;k=1;l=(i|0)==0?29:i;m=9;break}case 5:{i=c[415569]|0;j=1;k=0;l=(i|0)==0?27:i;m=9;break}default:{n=0;o=0;p=0}}if((m|0)==9){n=An(l)|0;o=k;p=j}if(!(An(-5)|0)){if(o){i=c[415568]|0;q=An((i|0)==0?6:i)|0|n}else q=n;if(p){i=c[415569]|0;r=An((i|0)==0?25:i)|0|q}else r=q}else r=n;if(o){i=c[415568]|0;s=An((i|0)==0?17:i)|0|r}else s=r;if(p&(An(-5)|0)==0){i=c[415569]|0;t=An((i|0)==0?16:i)|0|s}else t=s;i=(a|0)==6;if(i){u=c[415576]|0;v=An((u|0)==0?19:u)|0|t;u=c[415576]|0;w=v|(An((u|0)==0?40:u)|0)}else w=t;if(i&((c[760315]|0)==2&(((c[742422]|0)!=1|(c[742428]|0)==0|(c[416456]|0)!=0)^1))){i=c[415576]|0;x=An((i|0)==0?41:i)|0|w}else x=w}else if((b|0)==1)switch(a|0){case 0:{i=c[415570]|0;if(!i){x=An(22)|0;break a}else{x=An(i)|0;break a}break}case 1:{i=c[415571]|0;if(!i){x=An(9)|0;break a}else{x=An(i)|0;break a}break}case 2:{i=c[415572]|0;if(!i){x=An(8)|0;break a}else{x=An(i)|0;break a}break}case 3:{i=c[415573]|0;if(!i){x=An(7)|0;break a}else{x=An(i)|0;break a}break}case 4:{i=c[415574]|0;u=An((i|0)==0?225:i)|0;i=c[415574]|0;v=An((i|0)==0?43:i)|0|u;u=c[415574]|0;x=v|(An((u|0)==0?26:u)|0);break a;break}case 5:{u=c[415575]|0;v=An((u|0)==0?4:u)|0;u=c[415575]|0;x=An((u|0)==0?20:u)|0|v;break a;break}default:{x=0;break a}}else x=0;while(0);w=c[2971324+(b<<2)>>2]|0;b=x|(w|0)!=-1&(w&1<<a|0)!=0&1;if(!((a+-4|0)>>>0<3&h)){y=b;Fa=d;return y|0}if(((vk(2819376,c[743521]|0,24365)|0)&3|0)!=3){y=b;Fa=d;return y|0}fr(e,f,g);switch(a|0){case 4:{z=c[g>>2]&2;break}case 5:{z=c[g>>2]&1;break}default:z=c[g>>2]&4}y=(z|0)==0?b:x|1;Fa=d;return y|0}function Hk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;a=(c[416459]|0)==0?0:2;b=a;d=c[416456]|0;while(1){c[2970796+(b<<2)>>2]=1;c[2970284+(b<<2)>>2]=0;if(!d){e=vk(2819376,c[743521]|0,24412)|0;f=(e|0)==0?15:e;g=c[416456]|0}else{f=15;g=d}h=c[525569]|0;if(!(g|h)){e=c[759973]|0;i=(e|0)>0?e:30}else i=30;c[2971356+(b<<2)>>2]=((B(i,f)|0)/30|0)+1;b=b+1|0;if((b|0)==8)break;else d=g}d=a;b=h;h=g;while(1){c[2970828+(d<<2)>>2]=1;c[2970316+(d<<2)>>2]=0;if(!h){g=vk(2819376,c[743521]|0,24412)|0;j=(g|0)==0?15:g;k=c[525569]|0;l=c[416456]|0}else{j=15;k=b;l=h}if(!(l|k)){g=c[759973]|0;m=(g|0)>0?g:30}else m=30;c[2971388+(d<<2)>>2]=((B(m,j)|0)/30|0)+1;d=d+1|0;if((d|0)==8)break;else{b=k;h=l}}h=a;b=k;k=l;while(1){c[2970860+(h<<2)>>2]=1;c[2970348+(h<<2)>>2]=0;if(!k){l=vk(2819376,c[743521]|0,24412)|0;n=(l|0)==0?15:l;o=c[525569]|0;p=c[416456]|0}else{n=15;o=b;p=k}if(!(p|o)){l=c[759973]|0;q=(l|0)>0?l:30}else q=30;c[2971420+(h<<2)>>2]=((B(q,n)|0)/30|0)+1;h=h+1|0;if((h|0)==8)break;else{b=o;k=p}}k=a;b=o;o=p;while(1){c[2970892+(k<<2)>>2]=1;c[2970380+(k<<2)>>2]=0;if(!o){p=vk(2819376,c[743521]|0,24412)|0;r=(p|0)==0?15:p;s=c[525569]|0;t=c[416456]|0}else{r=15;s=b;t=o}if(!(t|s)){p=c[759973]|0;u=(p|0)>0?p:30}else u=30;c[2971452+(k<<2)>>2]=((B(u,r)|0)/30|0)+1;k=k+1|0;if((k|0)==8)break;else{b=s;o=t}}o=a;b=s;s=t;while(1){c[2970924+(o<<2)>>2]=1;c[2970412+(o<<2)>>2]=0;if(!s){t=vk(2819376,c[743521]|0,24412)|0;v=(t|0)==0?15:t;w=c[525569]|0;x=c[416456]|0}else{v=15;w=b;x=s}if(!(x|w)){t=c[759973]|0;y=(t|0)>0?t:30}else y=30;c[2971484+(o<<2)>>2]=((B(y,v)|0)/30|0)+1;o=o+1|0;if((o|0)==8)break;else{b=w;s=x}}s=a;b=x;x=w;while(1){c[2970956+(s<<2)>>2]=1;c[2970444+(s<<2)>>2]=0;if(!b){w=vk(2819376,c[743521]|0,24412)|0;z=(w|0)==0?15:w;A=c[525569]|0;C=c[416456]|0}else{z=15;A=x;C=b}if(!(C|A)){w=c[759973]|0;D=(w|0)>0?w:30}else D=30;c[2971516+(s<<2)>>2]=((B(D,z)|0)/30|0)+1;s=s+1|0;if((s|0)==8)break;else{b=C;x=A}}x=a;b=C;C=A;while(1){c[2970988+(x<<2)>>2]=1;c[2970476+(x<<2)>>2]=0;if(!b){A=vk(2819376,c[743521]|0,24412)|0;E=(A|0)==0?15:A;F=c[525569]|0;G=c[416456]|0}else{E=15;F=C;G=b}if(!(G|F)){A=c[759973]|0;H=(A|0)>0?A:30}else H=30;c[2971548+(x<<2)>>2]=((B(H,E)|0)/30|0)+1;x=x+1|0;if((x|0)==8)break;else{b=G;C=F}}C=a;a=G;G=F;while(1){c[2971020+(C<<2)>>2]=1;c[2970508+(C<<2)>>2]=0;if(!a){F=vk(2819376,c[743521]|0,24412)|0;I=(F|0)==0?15:F;J=c[525569]|0;K=c[416456]|0}else{I=15;J=G;K=a}if(!(K|J)){F=c[759973]|0;L=(F|0)>0?F:30}else L=30;c[2971580+(C<<2)>>2]=((B(L,I)|0)/30|0)+1;C=C+1|0;if((C|0)==8)break;else{a=K;G=J}}return}function Ik(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;Yu(2970284,0,256)|0;if((c[515484]|0)>0){c[742571]=Bo(2)|0;c[742572]=Bo(2)|0;c[742573]=Bo(2)|0;c[742574]=Bo(2)|0;c[742575]=Bo(2)|0;c[742576]=Bo(2)|0;c[742579]=Bo(2)|0;c[742580]=Bo(2)|0;c[742581]=Bo(2)|0;c[742582]=Bo(2)|0;c[742583]=Bo(2)|0;c[742584]=Bo(2)|0;c[742587]=Bo(2)|0;c[742588]=Bo(2)|0;c[742589]=Bo(2)|0;c[742590]=Bo(2)|0;c[742591]=Bo(2)|0;c[742592]=Bo(2)|0;c[742595]=Bo(2)|0;c[742596]=Bo(2)|0;c[742597]=Bo(2)|0;c[742598]=Bo(2)|0;c[742599]=Bo(2)|0;c[742600]=Bo(2)|0;c[742603]=Bo(2)|0;c[742604]=Bo(2)|0;c[742605]=Bo(2)|0;c[742606]=Bo(2)|0;c[742607]=Bo(2)|0;c[742608]=Bo(2)|0;c[742611]=Bo(2)|0;c[742612]=Bo(2)|0;c[742613]=Bo(2)|0;c[742614]=Bo(2)|0;c[742615]=Bo(2)|0;c[742616]=Bo(2)|0;c[742619]=Bo(2)|0;c[742620]=Bo(2)|0;c[742621]=Bo(2)|0;c[742622]=Bo(2)|0;c[742623]=Bo(2)|0;c[742624]=Bo(2)|0;c[742627]=Bo(2)|0;c[742628]=Bo(2)|0;c[742629]=Bo(2)|0;c[742630]=Bo(2)|0;c[742631]=Bo(2)|0;c[742632]=Bo(2)|0;return}a=0;do{b=0;do{if((Gk(b,a)|0)==0?(Ek(b,a)|0)<=128:0)c[2970796+(a<<5)+(b<<2)>>2]=0;else d=7;if(((d|0)==7?(d=0,(c[2970796+(a<<5)+(b<<2)>>2]|0)==0):0)?(c[2970284+(a<<5)+(b<<2)>>2]=1,(c[2970540+(a<<5)+(b<<2)>>2]|0)==0):0){e=c[416456]|0;if(!e){f=vk(2819376,c[743521]|0,24412)|0;g=(f|0)==0?15:f;h=c[416456]|0}else{g=15;h=e}if(!(h|c[525569])){e=c[759973]|0;i=(e|0)>0?e:30}else i=30;c[2971356+(a<<5)+(b<<2)>>2]=((B(i,g)|0)/30|0)+1}b=b+1|0}while((b|0)!=8);a=a+1|0}while((a|0)!=8);c[742827]=c[525558];c[742828]=c[525559];c[525558]=0;c[525559]=0;c[742829]=c[525564];c[742830]=c[525565];c[525564]=0;c[525565]=0;return}function Jk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;if((c[742422]|0)!=1|(c[742428]|0)==0|(c[416456]|0)!=0)a=0;else{Ik();a=1}b=0;do{d=2971052+(b<<5)|0;c[d>>2]=0;e=c[2970284+(b<<5)>>2]|0;f=2970540+(b<<5)|0;do if(e|0){if(c[f>>2]|0?(c[2971356+(b<<5)>>2]|0)!=1:0)break;if(!(c[2970796+(b<<5)>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=2971052+(b<<5)+4|0;c[d>>2]=0;g=c[2970284+(b<<5)+4>>2]|0;h=2970540+(b<<5)+4|0;do if(g|0){if(c[h>>2]|0?(c[2971356+(b<<5)+4>>2]|0)!=1:0)break;if(!(c[2970796+(b<<5)+4>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=2971052+(b<<5)+8|0;c[d>>2]=0;e=c[2970284+(b<<5)+8>>2]|0;f=2970540+(b<<5)+8|0;do if(e|0){if(c[f>>2]|0?(c[2971356+(b<<5)+8>>2]|0)!=1:0)break;if(!(c[2970796+(b<<5)+8>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=2971052+(b<<5)+12|0;c[d>>2]=0;g=c[2970284+(b<<5)+12>>2]|0;h=2970540+(b<<5)+12|0;do if(g|0){if(c[h>>2]|0?(c[2971356+(b<<5)+12>>2]|0)!=1:0)break;if(!(c[2970796+(b<<5)+12>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=2971052+(b<<5)+16|0;c[d>>2]=0;e=c[2970284+(b<<5)+16>>2]|0;f=2970540+(b<<5)+16|0;do if(e|0){if(c[f>>2]|0?(c[2971356+(b<<5)+16>>2]|0)!=1:0)break;if(!(c[2970796+(b<<5)+16>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=2971052+(b<<5)+20|0;c[d>>2]=0;g=c[2970284+(b<<5)+20>>2]|0;h=2970540+(b<<5)+20|0;do if(g|0){if(c[h>>2]|0?(c[2971356+(b<<5)+20>>2]|0)!=1:0)break;if(!(c[2970796+(b<<5)+20>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=2971052+(b<<5)+24|0;c[d>>2]=0;e=c[2970284+(b<<5)+24>>2]|0;f=2970540+(b<<5)+24|0;do if(e|0){if(c[f>>2]|0?(c[2971356+(b<<5)+24>>2]|0)!=1:0)break;if(!(c[2970796+(b<<5)+24>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=2971052+(b<<5)+28|0;c[d>>2]=0;g=c[2970284+(b<<5)+28>>2]|0;h=2970540+(b<<5)+28|0;do if(g|0){if(c[h>>2]|0?(c[2971356+(b<<5)+28>>2]|0)!=1:0)break;if(!(c[2970796+(b<<5)+28>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;b=b+1|0}while((b|0)!=8);if((vk(2819376,c[743521]|0,24412)|0)!=255){b=0;do{d=2971356+(b<<5)|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[416456]|0;if(!f){e=vk(2819376,c[743521]|0,24413)|0;i=(e|0)==0?4:e;j=c[416456]|0}else{i=4;j=f}if(!(j|c[525569])){f=c[759973]|0;k=(f|0)>0?f:30}else k=30;c[d>>2]=(B(k,i)|0)/30|0}d=2971356+(b<<5)+4|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[416456]|0;if(!e){f=vk(2819376,c[743521]|0,24413)|0;l=(f|0)==0?4:f;m=c[416456]|0}else{l=4;m=e}if(!(m|c[525569])){e=c[759973]|0;n=(e|0)>0?e:30}else n=30;c[d>>2]=(B(n,l)|0)/30|0}d=2971356+(b<<5)+8|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[416456]|0;if(!f){e=vk(2819376,c[743521]|0,24413)|0;o=(e|0)==0?4:e;p=c[416456]|0}else{o=4;p=f}if(!(p|c[525569])){f=c[759973]|0;q=(f|0)>0?f:30}else q=30;c[d>>2]=(B(q,o)|0)/30|0}d=2971356+(b<<5)+12|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[416456]|0;if(!e){f=vk(2819376,c[743521]|0,24413)|0;r=(f|0)==0?4:f;s=c[416456]|0}else{r=4;s=e}if(!(s|c[525569])){e=c[759973]|0;t=(e|0)>0?e:30}else t=30;c[d>>2]=(B(t,r)|0)/30|0}d=2971356+(b<<5)+16|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[416456]|0;if(!f){e=vk(2819376,c[743521]|0,24413)|0;u=(e|0)==0?4:e;v=c[416456]|0}else{u=4;v=f}if(!(v|c[525569])){f=c[759973]|0;w=(f|0)>0?f:30}else w=30;c[d>>2]=(B(w,u)|0)/30|0}d=2971356+(b<<5)+20|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[416456]|0;if(!e){f=vk(2819376,c[743521]|0,24413)|0;x=(f|0)==0?4:f;y=c[416456]|0}else{x=4;y=e}if(!(y|c[525569])){e=c[759973]|0;z=(e|0)>0?e:30}else z=30;c[d>>2]=(B(z,x)|0)/30|0}d=2971356+(b<<5)+24|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[416456]|0;if(!f){e=vk(2819376,c[743521]|0,24413)|0;A=(e|0)==0?4:e;C=c[416456]|0}else{A=4;C=f}if(!(C|c[525569])){f=c[759973]|0;D=(f|0)>0?f:30}else D=30;c[d>>2]=(B(D,A)|0)/30|0}d=2971356+(b<<5)+28|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[416456]|0;if(!e){f=vk(2819376,c[743521]|0,24413)|0;E=(f|0)==0?4:f;F=c[416456]|0}else{E=4;F=e}if(!(F|c[525569])){e=c[759973]|0;G=(e|0)>0?e:30}else G=30;c[d>>2]=(B(G,E)|0)/30|0}b=b+1|0}while((b|0)!=8)}if(a|0)return;Ik();return}function Kk(a,b){a=a|0;b=b|0;var d=0,e=0;if((b|a)>>>0>=8){d=0;return d|0}e=c[2970284+(b<<5)+(a<<2)>>2]|0;if(!(c[2970540+(b<<5)+(a<<2)>>2]|0)){d=e;return d|0}else return ((c[2971356+(b<<5)+(a<<2)>>2]|0)==1?e:0)|0;return 0}function Lk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0;e=Fa;Fa=Fa+64|0;f=e+40|0;g=e+32|0;h=e+8|0;i=e;j=e+48|0;k=Fp(131072)|0;l=Fp(131072)|0;m=Fp(131072)|0;n=Fp(131072)|0;o=Fp(131072)|0;a[d>>0]=0;if(!(a[b>>0]|0)){Hp(k);Hp(l);Hp(m);Hp(n);Hp(o);Fa=e;return}p=m;q=m+1|0;r=l+1|0;s=b;b=1;t=1;while(1){a[k>>0]=0;a[l>>0]=0;a[m>>0]=0;Yu(n|0,0,131072)|0;u=0;v=0;w=0;x=0;y=0;z=s;A=b;while(1){if(y>>>0>=16384){B=u;C=v;D=x;E=z;F=A;break}y=y+1|0;if(!A)G=dh(z)|0;else G=eh(z)|0;H=fh()|0;if((H|0)<-998|(H|0)==-995)if(z>>>0<G>>>0){I=z;J=x;while(1){K=J+((a[I>>0]|0)==10&1)|0;I=I+1|0;if((I|0)==(G|0)){L=u;M=v;N=w;O=K;break}else J=K}}else{L=u;M=v;N=w;O=x}else{J=G-z|0;Xu(m+w|0,z|0,J|0)|0;I=J+w|0;a[m+I>>0]=0;switch(H|0){case -996:{if((J|0)>0){J=w+1|0;Yu(n+w|0,1,((I|0)>(J|0)?I:J)-w|0)|0;P=I}else P=I;break}case -997:{J=m+(ft(m)|0)|0;a[J>>0]=32;a[J+1>>0]=0;P=I+1|0;break}default:P=I}L=(H|0)==-985?1:u;M=(H|0)==-989?1:v;N=P;O=x}if(!((H|1|0)!=-999&(G|0)!=0)){B=L;C=M;D=O;E=G;F=0;break}else{u=L;v=M;w=N;x=O;z=G;A=0}}A=m;a:while(1){switch(a[A>>0]|0){case 63:{Q=21;break a;break}case 9:case 32:break;default:break a}A=A+1|0}if((Q|0)==21){Q=0;Lm(l,A)|0;c[i>>2]=r;vs(A,60572,i)|0;z=(ft(m)|0)+5|0;if((z|0)>4){x=z;while(1){a[n+x>>0]=a[n+(x+-5)>>0]|0;if((x|0)>5)x=x+-1|0;else break}};a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0}x=n;A=m;while(1){z=eu(A,60582)|0;if(z){w=z-A|0;v=w+2|0;if(!((a[x+(w+1)>>0]|a[x+w>>0])<<24>>24)){a[z>>0]=126;R=1;Q=30}else{S=x+v|0;T=A+v|0}}else{R=0;Q=30}if((Q|0)==30){Q=0;v=n;z=m;while(1){U=eu(z,60585)|0;if(!U){Q=32;break}w=U-z|0;u=w+2|0;if(!((a[v+(w+1)>>0]|a[v+w>>0])<<24>>24)){Q=38;break}else{v=v+u|0;z=z+u|0}}b:do if((Q|0)==32){Q=0;z=n;v=m;while(1){V=eu(v,60588)|0;if(!V)break;H=V-v|0;u=H+2|0;if(!((a[z+(H+1)>>0]|a[z+H>>0])<<24>>24)){Q=37;break}else{z=z+u|0;v=v+u|0}}if((Q|0)==37){Q=0;a[j>>0]=a[60588]|0;a[j+1>>0]=a[60589]|0;a[j+2>>0]=a[60590]|0;W=V;Q=94;break}v=n;z=m;while(1){X=eu(z,60591)|0;if(!X)break;u=X-z|0;H=u+2|0;if(!((a[v+(u+1)>>0]|a[v+u>>0])<<24>>24)){Q=42;break}else{v=v+H|0;z=z+H|0}}if((Q|0)==42){Q=0;a[j>>0]=a[60591]|0;a[j+1>>0]=a[60592]|0;a[j+2>>0]=a[60593]|0;W=X;Q=94;break}z=n;v=m;while(1){Y=eu(v,60594)|0;if(!Y)break;H=Y-v|0;u=H+2|0;if(!((a[z+(H+1)>>0]|a[z+H>>0])<<24>>24)){Q=46;break}else{z=z+u|0;v=v+u|0}}if((Q|0)==46){Q=0;a[j>>0]=a[60594]|0;a[j+1>>0]=a[60595]|0;a[j+2>>0]=a[60596]|0;W=Y;Q=94;break}v=n;z=m;while(1){Z=eu(z,60597)|0;if(!Z)break;u=Z-z|0;H=u+2|0;if(!((a[v+(u+1)>>0]|a[v+u>>0])<<24>>24)){Q=50;break}else{v=v+H|0;z=z+H|0}}if((Q|0)==50){Q=0;a[j>>0]=a[60597]|0;a[j+1>>0]=a[60598]|0;a[j+2>>0]=a[60599]|0;W=Z;Q=94;break}z=n;v=m;while(1){_=eu(v,60600)|0;if(!_)break;H=_-v|0;u=H+2|0;if(!((a[z+(H+1)>>0]|a[z+H>>0])<<24>>24)){Q=54;break}else{z=z+u|0;v=v+u|0}}if((Q|0)==54){Q=0;a[j>>0]=a[60600]|0;a[j+1>>0]=a[60601]|0;a[j+2>>0]=a[60602]|0;W=_;Q=94;break}v=n;z=m;while(1){$=eu(z,60603)|0;if(!$)break;u=$-z|0;H=u+2|0;if(!((a[v+(u+1)>>0]|a[v+u>>0])<<24>>24)){Q=58;break}else{v=v+H|0;z=z+H|0}}if((Q|0)==58){Q=0;a[j>>0]=a[60603]|0;a[j+1>>0]=a[60604]|0;a[j+2>>0]=a[60605]|0;W=$;Q=94;break}z=n;v=m;while(1){aa=eu(v,60606)|0;if(!aa)break;H=aa-v|0;u=H+2|0;if(!((a[z+(H+1)>>0]|a[z+H>>0])<<24>>24)){Q=62;break}else{z=z+u|0;v=v+u|0}}if((Q|0)==62){Q=0;a[j>>0]=a[60606]|0;a[j+1>>0]=a[60607]|0;a[j+2>>0]=a[60608]|0;W=aa;Q=94;break}v=n;z=m;while(1){ba=eu(z,60609)|0;if(!ba)break;u=ba-z|0;H=u+3|0;if(!((a[v+(u+2)>>0]|(a[v+(u+1)>>0]|a[v+u>>0]))<<24>>24)){Q=66;break}else{v=v+H|0;z=z+H|0}}if((Q|0)==66){Q=0;c[j>>2]=4021854;W=ba;Q=94;break}z=n;v=m;while(1){ca=eu(v,60613)|0;if(!ca)break;H=ca-v|0;u=H+4|0;if(!((a[z+(H+3)>>0]|(a[z+(H+2)>>0]|(a[z+(H+1)>>0]|a[z+H>>0])))<<24>>24)){Q=70;break}else{z=z+u|0;v=v+u|0}}if((Q|0)==70){Q=0;a[j>>0]=a[60613]|0;a[j+1>>0]=a[60614]|0;a[j+2>>0]=a[60615]|0;a[j+3>>0]=a[60616]|0;a[j+4>>0]=a[60617]|0;W=ca;Q=94;break}v=n;z=m;while(1){da=eu(z,60618)|0;if(!da)break;u=da-z|0;H=u+4|0;if(!((a[v+(u+3)>>0]|(a[v+(u+2)>>0]|(a[v+(u+1)>>0]|a[v+u>>0])))<<24>>24)){Q=74;break}else{v=v+H|0;z=z+H|0}}if((Q|0)==74){Q=0;a[j>>0]=a[60618]|0;a[j+1>>0]=a[60619]|0;a[j+2>>0]=a[60620]|0;a[j+3>>0]=a[60621]|0;a[j+4>>0]=a[60622]|0;W=da;Q=94;break}z=n;v=m;while(1){ea=eu(v,60623)|0;if(!ea)break;H=ea-v|0;u=H+3|0;if(!((a[z+(H+2)>>0]|(a[z+(H+1)>>0]|a[z+H>>0]))<<24>>24)){Q=78;break}else{z=z+u|0;v=v+u|0}}if((Q|0)==78){Q=0;c[j>>2]=4013116;W=ea;Q=94;break}v=n;z=m;while(1){fa=eu(z,60627)|0;if(!fa)break;u=fa-z|0;H=u+4|0;if(!((a[v+(u+3)>>0]|(a[v+(u+2)>>0]|(a[v+(u+1)>>0]|a[v+u>>0])))<<24>>24)){Q=82;break}else{v=v+H|0;z=z+H|0}}if((Q|0)==82){Q=0;a[j>>0]=a[60627]|0;a[j+1>>0]=a[60628]|0;a[j+2>>0]=a[60629]|0;a[j+3>>0]=a[60630]|0;a[j+4>>0]=a[60631]|0;W=fa;Q=94;break}z=n;v=m;while(1){ga=eu(v,60632)|0;if(!ga)break;H=ga-v|0;u=H+3|0;if(!((a[z+(H+2)>>0]|(a[z+(H+1)>>0]|a[z+H>>0]))<<24>>24)){Q=86;break}else{z=z+u|0;v=v+u|0}}if((Q|0)==86){Q=0;c[j>>2]=4013630;W=ga;Q=94;break}v=n;z=m;while(1){ha=eu(z,60636)|0;if(!ha)break;u=ha-z|0;H=u+2|0;if(!((a[v+(u+1)>>0]|a[v+u>>0])<<24>>24)){Q=90;break}else{v=v+H|0;z=z+H|0}}if((Q|0)==90){Q=0;a[j>>0]=a[60636]|0;a[j+1>>0]=a[60637]|0;a[j+2>>0]=a[60638]|0;W=ha;Q=94;break}z=n;v=m;while(1){ia=eu(v,60639)|0;if(!ia){Q=130;break b}H=ia-v|0;u=H+3|0;if(!((a[z+(H+2)>>0]|(a[z+(H+1)>>0]|a[z+H>>0]))<<24>>24))break;else{z=z+u|0;v=v+u|0}}c[j>>2]=4009518;W=ia;Q=94}else if((Q|0)==38){Q=0;a[j>>0]=a[60585]|0;a[j+1>>0]=a[60586]|0;a[j+2>>0]=a[60587]|0;W=U;Q=94}while(0);if((Q|0)==94){Q=0;if((W|0)!=0&W>>>0>m>>>0){a[o>>0]=0;v=W;while(1){ja=v+-1|0;ka=a[ja>>0]|0;la=ja>>>0>m>>>0;if(ka<<24>>24==32&la)v=ja;else break}c:do if(la){z=W+-2|0;u=0;H=ka<<24>>24==93&1;w=-1;y=ja;while(1){d:do if((H|0)<=0){I=a[y+-1>>0]|0;J=I<<24>>24;if(y>>>0>q>>>0)ma=a[z>>0]|0;else ma=0;if(I<<24>>24!=46){if(u|0){switch(J|0){case 91:case 93:{break d;break}default:{}}if((J|1|0)==41)break}if(!(I<<24>>24==58&(ma|0)!=58)?(Zg(J)|0)==0:0){na=w;break c}}}while(0);J=w+-1|0;y=v+J|0;I=a[y>>0]|0;K=I<<24>>24==91;oa=H+(I<<24>>24==93&1)+(K<<31>>31)+(I<<24>>24==41&1)+((I<<24>>24==40)<<31>>31)|0;switch(I<<24>>24){case 58:case 46:{pa=1;break}default:pa=0}if(y>>>0<=m>>>0){na=J;break c}else{u=K&(oa|0)==0?1:pa;H=oa;w=J}}}else na=-1;while(0);w=na;while(1)if((w|0)<-1&(Yg(a[v+w>>0]|0)|0)==0)w=w+1|0;else break;Lm(k,v+w|0)|0;a[k+(0-w)>>0]=0;a[v>>0]=0;H=W+(ft(j)|0)|0;eh(m)|0;u=dh(H)|0;y=fh()|0;e:do if((y|1|0)!=-999){z=0;J=H;oa=0;K=y;I=u;f:while(1){g:do if((z|0)==1){switch(K|0){case 40:case 91:case 123:{qa=oa+1|0;break}default:qa=oa}switch(K|0){case 41:case 93:case 125:{ra=qa+-1|0;break}default:ra=qa}if((ra|0)<0)break f;else{sa=(ra|0)==0?2:1;ta=ra}}else switch(K|0){case 40:case 91:case 123:{sa=1;ta=1;break g;break}case -996:{sa=2;ta=oa;break g;break}case 37:case 42:case 43:case 45:case 47:case 94:case -962:{sa=0;ta=oa;break g;break}default:{if(((K&-9)+973|0)>>>0<2){sa=0;ta=oa;break g}switch(K|0){case 35:case 36:case 37:case 38:case 46:case 58:case 64:case 92:case 124:case 126:case -974:case -970:case -969:case -968:case -967:case -956:case -955:case -954:case -953:case -951:{sa=0;ta=oa;break g;break}default:{}}ua=(K|0)==-952;if(ua|(z|0)!=2){sa=ua?0:2;ta=oa;break g}else break f}}while(0);ua=dh(I)|0;K=fh()|0;if((K|1|0)==-999)break e;else{va=I;z=sa;oa=ta;I=ua;J=va}}Lm(o,J)|0;a[J>>0]=0}while(0);a[j+((ft(j)|0)+-1)>>0]=0;c[h>>2]=m;c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=H;c[h+16>>2]=o;vs(l,60643,h)|0;Lm(m,l)|0;wa=1}else Q=130}if((Q|0)==130){Q=0;if(!R)break;else wa=R}Yu(n|0,0,(ft(m)|0)+1|0)|0;u=eh(m)|0;if(u|0){y=0;v=u;do{u=fh()|0;w=v;I=y;y=w-p|0;if((u|0)==-996&(I|0)<(y|0))Yu(n+I|0,1,w-p-I|0)|0;v=dh(v)|0}while((u|1|0)!=-999&(v|0)!=0)}if(!wa)break;else{S=n;T=m}}x=S;A=T}h:do if(!C){A=n;x=m;while(1){v=eu(x,60662)|0;if(!v){xa=0;break}y=v-x|0;H=y+3|0;if(!((a[A+(y+2)>>0]|(a[A+(y+1)>>0]|a[A+y>>0]))<<24>>24)){xa=v;break}else{A=A+H|0;x=x+H|0}}x=n;A=m;while(1){H=eu(A,60666)|0;if(!H){ya=xa;Q=144;break h}v=H-A|0;y=v+3|0;if(!((a[x+(v+2)>>0]|(a[x+(v+1)>>0]|a[x+v>>0]))<<24>>24)){za=2;Aa=H;Ba=xa;break}else{x=x+y|0;A=A+y|0}}}else{ya=0;Q=144}while(0);if((Q|0)==144){Q=0;if(!ya)if(!B){A=n;x=m;while(1){y=eu(x,60670)|0;if(!y){Ca=0;break}H=y-x|0;v=H+6|0;if(!((a[A+(H+5)>>0]|(a[A+(H+4)>>0]|(a[A+(H+3)>>0]|(a[A+(H+2)>>0]|(a[A+(H+1)>>0]|a[A+H>>0])))))<<24>>24)){Ca=y;break}else{A=A+v|0;x=x+v|0}}x=n;A=m;while(1){v=eu(A,60677)|0;if(!v){Da=0;break}y=v-A|0;H=y+6|0;if(!((a[x+(y+5)>>0]|(a[x+(y+4)>>0]|(a[x+(y+3)>>0]|(a[x+(y+2)>>0]|(a[x+(y+1)>>0]|a[x+y>>0])))))<<24>>24)){Da=v;break}else{x=x+H|0;A=A+H|0}}za=(Ca|0)!=0|(Da|0)!=0?5:0;Aa=Da;Ba=Ca}else{za=0;Aa=0;Ba=0}else{za=2;Aa=0;Ba=ya}}A=(Aa|0)!=0;x=(Ba|0)!=0&A?(Ba>>>0<Aa>>>0?Ba:Aa):A?Aa:Ba;i:do if(x|0){if((x|0)!=(m|0))switch(a[x+-1>>0]|0){case 9:case 32:break;default:break i}A=x+za|0;j:while(1){switch(a[A>>0]|0){case 40:{break j;break}case 32:case 9:break;default:break i}A=A+1|0}H=A+1|0;v=a[H>>0]|0;if(v<<24>>24){y=1;u=H;H=v;while(1){if(!((y|0)>0&H<<24>>24!=10)){Ea=y;Ga=u;Ha=H;break}v=(a[n+(u-p)>>0]|0)==0?y+(H<<24>>24==40&1)+((H<<24>>24==41)<<31>>31)|0:y;I=u+1|0;H=a[I>>0]|0;if(!(H<<24>>24)){Ea=v;Ga=I;Ha=0;break}else{y=v;u=I}}if(!Ea){u=l+(Ga-p)|0;switch(za&7){case 2:{y=Ga;H=Ha;k:while(1){switch(H<<24>>24){case 10:case 0:{break i;break}default:{}}if(((H&-33)+-65&255)<26)break;if((((H<<24>>24)+256|0)%256|0|0)>127)break;switch(H<<24>>24){case 95:case 31:case 30:{break k;break}case 9:case 32:break;default:break i}A=y+1|0;y=A;H=a[A>>0]|0}dh(y)|0;if((fh()|0)==-973)break i;if((fh()|0)==-972)break i;Lm(l,m)|0;a[u>>0]=0;c[g>>2]=l;c[g+4>>2]=Ga;vs(k,60684,g)|0;Lm(m,k)|0;break i;break}case 5:{H=Ga;A=Ha;l:while(1){switch(A<<24>>24){case 10:case 0:{break i;break}default:{}}if(((A&-33)+-65&255)<26)break;if((((A<<24>>24)+256|0)%256|0|0)>127)break;switch(A<<24>>24){case 95:case 31:case 30:{break l;break}case 9:case 32:break;default:break i}I=H+1|0;H=I;A=a[I>>0]|0}dh(H)|0;if((fh()|0)==-973)break i;if((fh()|0)==-972)break i;Lm(l,m)|0;a[u>>0]=0;c[f>>2]=l;c[f+4>>2]=Ga;vs(k,60700,f)|0;Lm(m,k)|0;break i;break}default:{A=Ga;y=Ha;m:while(1){switch(y<<24>>24){case 10:case 0:{break i;break}default:{}}if(((y&-33)+-65&255)<26)break;if((((y<<24>>24)+256|0)%256|0|0)>127)break;switch(y<<24>>24){case 95:case 31:case 30:{break m;break}case 9:case 32:break;default:break i}I=A+1|0;A=I;y=a[I>>0]|0}dh(A)|0;if((fh()|0)==-973)break i;if((fh()|0)==-972)break i;Lm(l,m)|0;a[u>>0]=0;Lm(m,k)|0;break i}}}}}while(0);pt(d,m)|0;if(D|0){x=D;do{x=x+-1|0;y=d+(ft(d)|0)|0;a[y>>0]=10;a[y+1>>0]=0}while((x|0)!=0)}x=(a[E>>0]|0)!=0;if(t>>>0<65536&x){s=E;b=F;t=t+(x&1)|0}else break}Hp(k);Hp(l);Hp(m);Hp(n);Hp(o);Fa=e;return}function Mk(a,b){a=a|0;b=b|0;var c=0;c=Pu(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ru(c|0,G()|0,16)|0;G()|0;return a|0}function Nk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)>65535&(b&65535|0)==0){c=(a|0)/(b>>>16|0)|0;return c|0}if(!b){c=(a>>31&2)+2147483647|0;return c|0}else{d=Su(a|0,((a|0)<0)<<31>>31|0,16)|0;a=Nu(d|0,G()|0,b|0,((b|0)<0)<<31>>31|0)|0;b=G()|0;d=(b|0)<0|(b|0)==0&a>>>0<2147483647;e=d?a:2147483647;a=d?b:0;b=(a|0)>-1|(a|0)==-1&e>>>0>2147483649;a=b?e:-2147483647;c=a;return c|0}return 0}function Ok(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!b){c=a;return c|0}d=(b|0)<0?0-b|0:b;b=((a|0)==-2147483648?d:0)+a|0;if((b|0)<0)e=d-((0-b|0)%(d|0)|0)|0;else e=b;c=(e|0)%(d|0)|0;return c|0}function Pk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!b){c=65536;return c|0}if((b|0)<0){if(!((a|0)>65535&(a&65535|0)==0))if(!a)d=2147483647;else{e=Nu(0,1,a|0,((a|0)<0)<<31>>31|0)|0;f=G()|0;g=(f|0)<0|(f|0)==0&e>>>0<2147483647;h=g?e:2147483647;e=g?f:0;f=(e|0)>-1|(e|0)==-1&h>>>0>2147483649;e=f?h:-2147483647;d=e}else d=65536/(a>>>16>>>0)|0;i=0-b|0;j=d}else{i=b;j=a}a=i&-65536;b=i-a|0;if((a|0)>65535){i=j;d=65536;e=a;while(1){a=((i|0)<0)<<31>>31;h=Pu(i|0,a|0,d|0,((d|0)<0)<<31>>31|0)|0;f=Ru(h|0,G()|0,16)|0;G()|0;h=(e&65536|0)==0?d:f;f=Pu(i|0,a|0,i|0,a|0)|0;i=Ru(f|0,G()|0,16)|0;G()|0;if(e>>>0<=131071){k=h;break}else{d=h;e=e>>>1}}}else k=65536;if((b|0)>0){e=b;b=j;j=k;while(1){if((e|0)<65536){d=e;i=b;while(1){h=Su(i|0,((i|0)<0)<<31>>31|0,16)|0;f=G()|0;if((i|0)<0)l=0;else{a=1073741824;g=0;while(1){m=Ru(g|0,a|0,2)|0;n=G()|0;if(a>>>0>f>>>0|(a|0)==(f|0)&g>>>0>h>>>0){a=n;g=m}else break}if((g|0)==0&(a|0)==0)o=0;else{m=0;n=0;p=g;q=a;r=f;s=h;while(1){t=Ju(m|0,n|0,p|0,q|0)|0;u=G()|0;if(r>>>0<u>>>0|(r|0)==(u|0)&s>>>0<t>>>0){v=Ru(m|0,n|0,1)|0;w=s;x=r;y=v;z=G()|0}else{v=Ku(s|0,r|0,t|0,u|0)|0;u=G()|0;t=Ru(m|0,n|0,1)|0;A=Ju(t|0,G()|0,p|0,q|0)|0;w=v;x=u;y=A;z=G()|0}p=Ru(p|0,q|0,2)|0;q=G()|0;if((p|0)==0&(q|0)==0)break;else{m=y;n=z;r=x;s=w}}o=y}Vg(8);l=o}s=d<<1;if((d|0)<32768){d=s;i=l}else{B=s;C=l;break}}}else{B=e;C=b}i=Pu(C|0,((C|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0;d=Ru(i|0,G()|0,16)|0;G()|0;if((B|0)>65536){e=B+-65536|0;b=C;j=d}else{D=d;break}}}else D=k;Vg(8);c=D;return c|0}function Qk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=Su(a|0,((a|0)<0)<<31>>31|0,16)|0;c=G()|0;if((a|0)<0){d=0;return d|0}a=1073741824;e=0;while(1){f=Ru(e|0,a|0,2)|0;g=G()|0;if(a>>>0>c>>>0|(a|0)==(c|0)&e>>>0>b>>>0){a=g;e=f}else break}if((e|0)==0&(a|0)==0)h=0;else{f=e;e=a;a=0;g=0;i=c;c=b;while(1){b=Ju(f|0,e|0,a|0,g|0)|0;j=G()|0;if(i>>>0<j>>>0|(i|0)==(j|0)&c>>>0<b>>>0){k=Ru(a|0,g|0,1)|0;l=c;m=i;n=k;o=G()|0}else{k=Ku(c|0,i|0,b|0,j|0)|0;j=G()|0;b=Ru(a|0,g|0,1)|0;p=Ju(b|0,G()|0,f|0,e|0)|0;l=k;m=j;n=p;o=G()|0}f=Ru(f|0,e|0,2)|0;e=G()|0;if((f|0)==0&(e|0)==0)break;else{a=n;g=o;i=m;c=l}}h=n}Vg(8);d=h;return d|0}function Rk(a,b){a=a|0;b=b|0;return Eo(a,b)|0}function Sk(a){a=a|0;var b=0,d=0,e=0;switch(a|0){case 0:{b=35124;d=3;break}case 1:{b=35128;d=3;break}default:e=0}if((d|0)==3)e=c[b>>2]|0;return e|0}function Tk(a,b){a=a|0;b=b|0;var d=0;switch(a|0){case 0:{d=35124;break}case 1:{d=35128;break}default:return}c[d>>2]=b;return}function Uk(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[8782]=b;c[8781]=b^-1095947846;b=0;do{c[8781]=(c[8781]|0)>>>16|c[8781]<<16;c[8781]=(c[8781]|0)+(c[8782]|0);c[8782]=(c[8782]|0)+(c[8781]|0);b=b+1|0}while((b|0)!=32);Vg(8);return}function Vk(a){a=a|0;var b=0;if(!a){b=0;return b|0}c[8781]=(c[8781]|0)>>>16|c[8781]<<16;c[8781]=(c[8781]|0)+(c[8782]|0);c[8782]=(c[8782]|0)+(c[8781]|0);b=((c[8781]|0)>>>0)%(a>>>0)|0;return b|0}function Wk(a,b){a=a|0;b=b|0;var c=0;c=b>>>16;b=c&31;return (1<<b)+-1&a>>>(0-c&31)|a<<b|0}function Xk(a,b){a=a|0;b=b|0;var c=0;c=b>>>16;b=0-c&31;return (1<<b)+-1&a>>>(c&31)|a<<b|0}function Yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;a:do if((b|0)<0){c=b;while(1){if((c|0)<-2031616){d=0;e=9;break}f=c&-65536;g=0-f|0;if((g|0)>=0){e=7;break}if((g|0)<-2031616){d=0;e=9;break}if((f|0)<0)c=f;else{h=f;break a}}if((e|0)==7){d=(g|0)>2097151?0:a<<(g>>>16);return d|0}else if((e|0)==9)return d|0}else h=b;while(0);return ((h|0)>2097151?0:a>>>(h>>>16))|0}function Zk(a,b){a=a|0;b=b|0;var c=0;if((b|0)>=0)return ((b|0)>2097151?0:a<<(b>>>16))|0;if((b|0)<-2031616){c=0;return c|0}c=Yk(a,0-(b&-65536)|0)|0;return c|0}function _k(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=b>>16;do if((b|0)<0)if((b|0)>=-2031616){d=b&-65536;e=0-d|0;if((e|0)>=0){f=(e|0)>2097151?0:a<<(e>>>16);break}if((e|0)>=-2031616){if((d|0)>=0){f=(d|0)>2097151?0:a>>>(d>>>16);break}if((d|0)>=-2031616)while(1){}else f=0}else f=0}else f=0;else if((b|0)>2097151){f=a>>31;break}else{f=a>>c;break}while(0);return f|0}function $k(a,b){a=a|0;b=b|0;var d=0;d=Fp(2080)|0;Ep(d,0,2080);c[d>>2]=cn(a,b,8)|0;c[d+12>>2]=cn(a,b,8)|0;c[d+4>>2]=cn(a,b,8)|0;c[d+8>>2]=cn(a,b,8)|0;return d|0}function al(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;Yu(1417136,0,16384)|0;g=c[525046]|0;if(!g){h=Wr(524288)|0;c[525046]=h;i=h;j=h}else{i=g;j=g}Yu(j|0,0,524288)|0;j=f+-2|0;if((f|0)<=2)return;f=0;g=0;while(1){h=f;f=f+1|0;k=1417136+((((d[a+f>>0]|0)*1503|0)+((d[a+h>>0]|0)*7|0)+((d[a+(h+2)>>0]|0)*51717|0)&4095)<<2)|0;l=c[k>>2]|0;if(l){m=l+2|0;n=b[m>>1]|0;if((b[l>>1]|0)==n<<16>>16){o=i+(g<<1)|0;c[k>>2]=o;p=(n&65535)<<1;b[o>>1]=p;q=b[m>>1]|0;r=o+2|0;b[r>>1]=q;Xu(o+4|0,l+4|0,e[m>>1]<<1|0)|0;s=o;t=g+2+(p&65534)|0;u=r;v=q}else{s=l;t=g;u=m;v=n}}else{n=i+(g<<1)|0;c[k>>2]=n;b[n>>1]=4;k=n+2|0;b[k>>1]=0;s=n;t=g+6|0;u=k;v=0}b[s+((v&65535)+2<<1)>>1]=h;b[u>>1]=v+1<<16>>16;if((f|0)==(j|0))break;else g=t}return}
+function Fn(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;a=Fa;Fa=Fa+16|0;b=a+8|0;d=a+4|0;e=a;f=c[526415]|0;if(!f){Fa=a;return}if(!(c[f+16>>2]|0)){Fa=a;return}fr(b,d,e);f=(c[b>>2]|0)-(c[526416]|0)|0;g=B(f,f)|0;f=(c[d>>2]|0)-(c[526417]|0)|0;h=(B(f,f)|0)+g|0;Zp();g=c[526415]|0;f=c[g+16>>2]|0;i=(f|0)>0;a:do if(i){j=c[b>>2]|0;k=c[d>>2]|0;l=c[g>>2]|0;m=c[g+8>>2]|0;n=c[l+(c[m>>2]<<2)>>2]|0;o=c[n+4>>2]|0;if(((j|0)>=(o|0)?(j|0)<((c[n+12>>2]|0)+o|0):0)?(o=c[n+8>>2]|0,(k|0)>=(o|0)):0)p=(k|0)<((c[n+16>>2]|0)+o|0)?n:0;else p=0;if((f|0)>1){n=1;o=p;while(1){q=c[l+(c[m+(n<<2)>>2]<<2)>>2]|0;r=c[q+4>>2]|0;do if((((j|0)>=(r|0)?(j|0)<((c[q+12>>2]|0)+r|0):0)?(s=c[q+8>>2]|0,(k|0)>=(s|0)):0)?(k|0)<((c[q+16>>2]|0)+s|0):0){if(o|0?c[o+20>>2]&32|0:0){t=o;break}t=q}else t=o;while(0);n=n+1|0;if((n|0)>=(f|0))break;else o=t}if(i)u=t;else break}else u=p;o=u+20|0;n=u+28|0;k=u+28|0;j=u+28|0;m=u+28|0;l=u+24|0;q=u+24|0;r=h;s=f;v=g;while(1){w=s+-1|0;x=c[(c[v>>2]|0)+(c[(c[v+8>>2]|0)+(w<<2)>>2]<<2)>>2]|0;if((x|0)==(u|0)){y=c[e>>2]|0;z=c[o>>2]|0;A=z&2;if(!y){if(!A)Ra[c[n>>2]&0](u,c[b>>2]|0,c[d>>2]|0,0,3)}else if(!(c[526418]|A)){c[o>>2]=z|2;Ra[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,y,4);y=_q()|0;if((y-(c[526419]|0)|0)<400?(y=(c[c[l>>2]>>2]|0)/64|0,(r|0)<(B(y,y)|0)):0)Ra[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,18);y=_q()|0;if((y-(c[526420]|0)|0)<400?(y=(c[c[q>>2]>>2]|0)/64|0,(r|0)<(B(y,y)|0)):0){Ra[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,11);c[526419]=_q()|0}c[526420]=_q()|0;c[526416]=c[b>>2];c[526417]=c[d>>2]}y=c[o>>2]|0;if(!(y&1)){c[o>>2]=y|1;Ra[c[k>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,1)}y=c[525558]|0;z=c[525559]|0;if(z|y|0){Ra[c[m>>2]&0](u,y,z,c[e>>2]|0,16);c[525558]=0;c[525559]=0}}else{z=x+20|0;y=c[z>>2]|0;if(!(y&1))C=y;else{c[z>>2]=y&-2;Ra[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,2);C=c[z>>2]|0}c[z>>2]=C&-33}z=x+20|0;y=c[z>>2]|0;if((y&2|0)==0|(c[e>>2]|0)!=0)if((y&1|0)!=0&(c[525566]|0)!=0?(A=_q()|0,(A|0)<((c[525567]|0)+500|0)):0){A=c[525566]|0;c[526418]=A;D=x+28|0;Ra[c[D>>2]&0](x,c[b>>2]|0,c[d>>2]|0,A,12);A=(c[b>>2]|0)-(c[526421]|0)|0;E=B(A,A)|0;A=(c[d>>2]|0)-(c[526422]|0)|0;F=(B(A,A)|0)+E|0;E=_q()|0;if((E-(c[526423]|0)|0)<400&F>>>0<400)Ra[c[D>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[526418]|0,15);c[526423]=_q()|0;c[526421]=c[b>>2];c[526422]=c[d>>2];G=F}else G=r;else{c[z>>2]=y&-3;y=x+28|0;Ra[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,0,6);F=_q()|0;if((r|0)<400&(F-(c[526420]|0)|0)<400)Ra[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[526418]|0,12);F=(c[b>>2]|0)-(c[526421]|0)|0;D=B(F,F)|0;F=(c[d>>2]|0)-(c[526422]|0)|0;E=(B(F,F)|0)+D|0;D=_q()|0;if((D-(c[526423]|0)|0)<400&E>>>0<400)Ra[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[526418]|0,15);c[526423]=_q()|0;c[526421]=c[b>>2];c[526422]=c[d>>2];G=E}E=c[z>>2]|0;y=c[e>>2]|0;if((E&2|0)!=0&(y|0)!=0){Ra[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,y,5);H=c[z>>2]|0}else H=E;if(H&1|0?!((c[526424]|0)==0|(c[e>>2]|0)!=0):0)Ra[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,0,17);if((s|0)<=1)break a;r=G;s=w;v=c[526415]|0}}while(0);c[525566]=0;G=c[e>>2]|0;c[526418]=G;c[526424]=G;_p();Fa=a;return}function Gn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Fa;Fa=Fa+16|0;e=d+8|0;f=d+4|0;g=d;if(!(c[526415]|0)){Fa=d;return}fr(e,f,g);h=c[526415]|0;if((c[h+16>>2]|0)<=0){Fa=d;return}if(!b){i=0;j=h;do{k=c[(c[j>>2]|0)+(c[(c[j+8>>2]|0)+(i<<2)>>2]<<2)>>2]|0;Ra[c[k+28>>2]&0](k,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);i=i+1|0;j=c[526415]|0}while((i|0)<(c[j+16>>2]|0));Fa=d;return}j=0;i=h;while(1){h=c[(c[i>>2]|0)+(c[(c[i+8>>2]|0)+(j<<2)>>2]<<2)>>2]|0;if((c[h>>2]|0)==(b|0)){Ra[c[h+28>>2]&0](h,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);l=c[526415]|0}else l=i;j=j+1|0;if((j|0)>=(c[l+16>>2]|0))break;else i=l}Fa=d;return}function Hn(a){a=a|0;var b=0,d=0;b=c[526415]|0;if((a|0)<0|(b|0)==0){d=0;return d|0}if((c[b+20>>2]|0)<=(a|0)){d=0;return d|0}d=c[(c[b>>2]|0)+(a<<2)>>2]|0;return d|0}function In(){var a=0,b=0,d=0,e=0,f=0;a=c[526415]|0;b=c[a+16>>2]|0;if((b|0)<=0){d=-1;return d|0}e=c[a>>2]|0;a=b;while(1){b=a;a=a+-1|0;if(c[(c[e+(a<<2)>>2]|0)+20>>2]&1|0){d=a;f=5;break}if((b|0)<=1){d=-1;f=5;break}}if((f|0)==5)return d|0;return 0}function Jn(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[526425]=qn(512)|0;c[526426]=qn(512)|0;b=0;do{e=(b|0)==0;f=e?8:32;g=0;do{h=cn(5,5,f)|0;i=cn(6,5,f)|0;un(c[526425]|0,4,h)|0;un(c[526426]|0,4,i)|0;g=g+1|0}while((g|0)!=32);g=0;do{i=cn(5,5,f)|0;h=cn(6,5,f)|0;Zm(i);j=g*5|0;k=i+16|0;l=h+16|0;if(e){m=0;do{n=d[2880+(m+j)>>0]|0;if(n&16|0){a[c[(c[k>>2]|0)+(m<<2)>>2]>>0]=-1;a[c[(c[l>>2]|0)+(m<<2)>>2]>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1}if(n&8|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1}if(n&4|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1}if(n&2|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1}if(n&1|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+5>>0]=-1}m=m+1|0}while((m|0)!=5)}else{m=0;do{n=d[2880+(m+j)>>0]|0;if(n&16|0){c[c[(c[k>>2]|0)+(m<<2)>>2]>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o>>2]=-1;c[o+4>>2]=-1}if(n&8|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+4>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+4>>2]=-1;c[o+8>>2]=-1}if(n&4|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+8>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+8>>2]=-1;c[o+12>>2]=-1}if(n&2|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+12>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+12>>2]=-1;c[o+16>>2]=-1}if(n&1|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+16>>2]=-4144960;n=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[n+16>>2]=-1;c[n+20>>2]=-1}m=m+1|0}while((m|0)!=5)}un(c[526425]|0,4,i)|0;un(c[526426]|0,4,h)|0;g=g+1|0}while((g|0)!=96);g=0;do{e=cn(5,5,f)|0;m=cn(6,5,f)|0;un(c[526425]|0,4,e)|0;un(c[526426]|0,4,m)|0;g=g+1|0}while((g|0)!=128);b=b+1|0}while((b|0)!=2);return}function Kn(){tn(c[526425]|0);tn(c[526426]|0);return}function Ln(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;if((d|0)==0|(e|0)==0){j=g;return j|0}k=c[e+16>>2]|0;l=(k&255|0)==0;m=l?0:32;n=l?256:96;if(h&8){o=a[d>>0]|0;if(!(o<<24>>24)){p=0;q=1}else{r=0;s=d;t=o;while(1){o=t<<24>>24;if((m|0)>(o|0))u=r;else u=r+1+(c[c[(c[e>>2]|0)+(o-m<<2)>>2]>>2]|0)|0;s=s+1|0;t=a[s>>0]|0;if(!(t<<24>>24)){p=u;q=1;break}else r=u}}u=p-q|0;q=c[b+32>>2]|0;p=b+28|0;if((u|0)>(q-f|0)){c[p>>2]=(c[p>>2]|0)+15;v=1;w=q-u|0}else{v=0;w=f}}else{v=0;w=f}if(!(h&2))x=w;else{u=a[d>>0]|0;if(!(u<<24>>24)){y=0;z=1}else{q=0;p=d;r=u;while(1){u=r<<24>>24;if((m|0)>(u|0))A=q;else A=q+1+(c[c[(c[e>>2]|0)+(u-m<<2)>>2]>>2]|0)|0;p=p+1|0;r=a[p>>0]|0;if(!(r<<24>>24)){y=A;z=1;break}else q=A}}x=w-((y-z|0)/2|0)|0}if(!(h&4))B=x;else{z=a[d>>0]|0;if(!(z<<24>>24)){C=0;D=1}else{y=0;w=d;A=z;while(1){z=A<<24>>24;if((m|0)>(z|0))E=y;else E=y+1+(c[c[(c[e>>2]|0)+(z-m<<2)>>2]>>2]|0)|0;w=w+1|0;A=a[w>>0]|0;if(!(A<<24>>24)){C=E;D=1;break}else y=E}}B=D+x-C|0}a:do if(!(h&1)){C=c[e>>2]|0;x=c[b+8>>2]|0;D=0;E=h;while(1){if((c[(c[C+(D<<2)>>2]|0)+8>>2]|0)==(x|0)){F=D;G=E;H=0;break a}y=D+n|0;A=(y|0)<(k|0);w=E|(A^1)&1;z=A?y:D;if(!(w&1)){D=z;E=w}else{F=z;G=w;H=1;break}}}else{F=0;G=h;H=1}while(0);h=a[d>>0]|0;if(h<<24>>24){k=l?256:128;l=F-m|0;F=(G&16|0)==0;G=b+32|0;if(H){H=g;n=d;E=0;D=B;x=h;while(1){C=x&255;if(m>>>0<=C>>>0&k>>>0>C>>>0){w=c[(c[e>>2]|0)+(l+C<<2)>>2]|0;C=w+4|0;nn(w,b,0,0,D,H,c[w>>2]|0,c[C>>2]|0,i,0);z=1+(c[w>>2]|0)|0;w=c[C>>2]|0;I=z;J=(E|0)>(w|0)?E:w;K=z+D|0;L=a[n>>0]|0}else{I=0;J=E;K=D;L=x}if(L<<24>>24!=10)if(!F?(K|0)>((c[G>>2]|0)-I|0):0)M=37;else{N=H;O=J;P=K}else M=37;if((M|0)==37){M=0;N=J+H+1|0;O=0;P=f}n=n+1|0;x=a[n>>0]|0;if(!(x<<24>>24)){Q=N;break}else{H=N;E=O;D=P}}}else{P=g;D=d;d=0;O=B;B=h;while(1){h=B&255;if(m>>>0<=h>>>0&k>>>0>h>>>0){E=c[(c[e>>2]|0)+(l+h<<2)>>2]|0;h=E+4|0;bn(E,b,0,0,O,P,c[E>>2]|0,c[h>>2]|0);N=1+(c[E>>2]|0)|0;E=c[h>>2]|0;R=N;S=(d|0)>(E|0)?d:E;T=N+O|0;U=a[D>>0]|0}else{R=0;S=d;T=O;U=B}if(U<<24>>24!=10)if(!F?(T|0)>((c[G>>2]|0)-R|0):0)M=44;else{V=P;W=S;X=T}else M=44;if((M|0)==44){M=0;V=S+P+1|0;W=0;X=f}D=D+1|0;B=a[D>>0]|0;if(!(B<<24>>24)){Q=V;break}else{P=V;d=W;O=X}}}}else Q=g;if(!v){j=Q;return j|0}else{j=b+28|0;v=(c[j>>2]|0)+-15|0;c[j>>2]=v;Ln(b,64122,c[526425]|0,v,Q,0,0)|0;return Q|0}return 0}function Mn(a){a=a|0;var b=0,d=0;b=Fa;Fa=Fa+16|0;d=b;c[d>>2]=0;c[d>>2]=a;Fa=b;return}function Nn(a){a=a|0;var b=0,d=0;b=Fa;Fa=Fa+16|0;d=b;c[d>>2]=0;c[d>>2]=a;Fa=b;return}function On(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;switch(c[e>>2]|0){case 0:{f=vu(a,b,d,c[e+8>>2]|0)|0;return f|0}case 1:{g=B(d,b)|0;b=e+20|0;d=c[b>>2]|0;h=(c[e+16>>2]|0)-d|0;i=(g|0)<(h|0)?g:h;h=(i|0)>0?i:0;Xu(a|0,(c[e+12>>2]|0)+d|0,h|0)|0;c[b>>2]=h+(c[b>>2]|0);f=h;return f|0}default:{f=0;return f|0}}return 0}function Pn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=b;switch(c[d>>2]|0){case 0:{g=d+20|0;c[g>>2]=(c[g>>2]|0)+1;g=d+16|0;c[g>>2]=(c[g>>2]|0)+1;ku(f,4,1,c[d+8>>2]|0)|0;Fa=e;return}case 1:{f=d+20|0;if(c[d+88>>2]|0)Jp(d,(c[f>>2]|0)+4|0)|0;g=(c[d+12>>2]|0)+(c[f>>2]|0)|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=(c[f>>2]|0)+4|0;c[f>>2]=b;f=d+16|0;d=c[f>>2]|0;c[f>>2]=(d|0)>(b|0)?d:b;Fa=e;return}default:{Fa=e;return}}}function Qn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;switch(c[e>>2]|0){case 0:{f=e+20|0;c[f>>2]=(c[f>>2]|0)+d;f=e+16|0;c[f>>2]=(c[f>>2]|0)+d;g=ku(a,b,d,c[e+8>>2]|0)|0;return g|0}case 1:{f=B(d,b)|0;do if(c[e+88>>2]|0){b=e+20|0;Jp(e,(c[b>>2]|0)+f|0)|0;d=(c[e+12>>2]|0)+(c[b>>2]|0)|0;if(!a){Ep(d,0,f);h=b;break}else{Xu(d|0,a|0,f|0)|0;h=b;break}}else{b=e+20|0;Xu((c[e+12>>2]|0)+(c[b>>2]|0)|0,a|0,f|0)|0;h=b}while(0);a=(c[h>>2]|0)+f|0;c[h>>2]=a;h=e+16|0;e=c[h>>2]|0;c[h>>2]=(e|0)>(a|0)?e:a;g=f;return g|0}default:{g=0;return g|0}}return 0}function Rn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=b;switch(c[d>>2]|0){case 0:{g=d+20|0;c[g>>2]=(c[g>>2]|0)+1;g=d+16|0;c[g>>2]=(c[g>>2]|0)+1;ku(f,4,1,c[d+8>>2]|0)|0;Fa=e;return}case 1:{f=d+20|0;if(c[d+88>>2]|0)Jp(d,(c[f>>2]|0)+4|0)|0;g=(c[d+12>>2]|0)+(c[f>>2]|0)|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=(c[f>>2]|0)+4|0;c[f>>2]=b;f=d+16|0;d=c[f>>2]|0;c[f>>2]=(d|0)>(b|0)?d:b;Fa=e;return}default:{Fa=e;return}}}function Sn(b,d){b=b|0;d=d|0;var e=0;switch(c[d>>2]|0){case 0:{e=d+20|0;c[e>>2]=(c[e>>2]|0)+1;e=d+16|0;c[e>>2]=(c[e>>2]|0)+1;pu(b<<24>>24,c[d+8>>2]|0)|0;return}case 1:{e=d+20|0;if(c[d+88>>2]|0)Jp(d,(c[e>>2]|0)+1|0)|0;a[(c[d+12>>2]|0)+(c[e>>2]|0)>>0]=b;b=(c[e>>2]|0)+1|0;c[e>>2]=b;e=d+16|0;d=c[e>>2]|0;c[e>>2]=(d|0)>(b|0)?d:b;return}default:return}}function Tn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;f=Fa;Fa=Fa+16|0;g=f;b[g>>1]=d;switch(c[e>>2]|0){case 0:{h=e+20|0;c[h>>2]=(c[h>>2]|0)+1;h=e+16|0;c[h>>2]=(c[h>>2]|0)+1;ku(g,2,1,c[e+8>>2]|0)|0;Fa=f;return}case 1:{g=e+20|0;if(c[e+88>>2]|0)Jp(e,(c[g>>2]|0)+2|0)|0;h=(c[e+12>>2]|0)+(c[g>>2]|0)|0;a[h>>0]=d;a[h+1>>0]=d>>8;d=(c[g>>2]|0)+2|0;c[g>>2]=d;g=e+16|0;e=c[g>>2]|0;c[g>>2]=(e|0)>(d|0)?e:d;Fa=f;return}default:{Fa=f;return}}}function Un(d,e){d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0;d=Fa;Fa=Fa+16|0;g=d;if(!e){h=0;Fa=d;return h|0}i=qn(0)|0;a:do if(i|0){switch(c[e>>2]|0){case 0:{j=Ut(c[e+8>>2]|0)|0;k=6;break}case 1:{j=(c[e+20>>2]|0)>=(c[e+16>>2]|0)&1;k=6;break}default:k=7}if((k|0)==6?(j|0)==0:0)k=7;b:do if((k|0)==7){l=e+8|0;m=e+16|0;n=e+20|0;o=e+12|0;p=i+32|0;q=0;c:while(1){c[g>>2]=0;switch(c[e>>2]|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{r=c[n>>2]|0;s=(c[m>>2]|0)-r|0;t=(s|0)<4?s:4;s=(t|0)>0?t:0;Xu(g|0,(c[o>>2]|0)+r|0,s|0)|0;c[n>>2]=s+r;break}default:{k=9;break c}}r=c[g>>2]|0;if(!r)break b;c[g>>2]=0;switch(c[e>>2]|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{s=c[n>>2]|0;t=(c[m>>2]|0)-s|0;u=(t|0)<4?t:4;t=(u|0)>0?u:0;Xu(g|0,(c[o>>2]|0)+s|0,t|0)|0;c[n>>2]=t+s;break}default:{}}s=c[g>>2]|0;t=(q|0)==0;if(t&(r|0)!=1146048579)break a;d:do if(t)if((r|0)==1146048579){c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;v=c[e>>2]|0;k=26;break}case 1:{w=c[n>>2]|0;x=(c[m>>2]|0)-w|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+w|0,x|0)|0;c[n>>2]=x+w;k=28;break}default:{v=u;k=26}}e:do if((k|0)==26){k=0;switch(v|0){case 1:{k=28;break e;break}case 0:break;default:break e}vu(p,1,32,c[l>>2]|0)|0}while(0);if((k|0)==28){k=0;u=c[n>>2]|0;w=(c[m>>2]|0)-u|0;x=(w|0)<32?w:32;w=(x|0)>0?x:0;Xu(p|0,(c[o>>2]|0)+u|0,w|0)|0;c[n>>2]=w+(c[n>>2]|0)}c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;z=c[e>>2]|0;k=32;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;break}default:{z=w;k=32}}f:do if((k|0)==32){k=0;switch(z|0){case 1:{break f;break}case 0:break;default:{k=396;break d}}au(c[l>>2]|0,28,1)|0;k=396;break d}while(0);c[n>>2]=(c[n>>2]|0)+28;k=396}else k=35;else if((r|0)<1347374659)switch(r|0){case 1146048579:{break c;break}default:{k=35;break d}}else switch(r|0){case 1347374659:{break c;break}default:{k=35;break d}}while(0);g:do if((k|0)==35){k=0;t=r|32;h:do if((t|0)<1347245667){switch(t|0){case 1347240547:break;default:break h}w=(r|0)==1347240547;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;A=c[e>>2]|0;k=39;break}case 1:{x=c[n>>2]|0;y=(c[m>>2]|0)-x|0;C=(y|0)<4?y:4;y=(C|0)>0?C:0;Xu(g|0,(c[o>>2]|0)+x|0,y|0)|0;c[n>>2]=y+x;A=1;k=39;break}default:{D=0;E=u}}if((k|0)==39){k=0;D=c[g>>2]|0;E=A}c[g>>2]=0;switch(E|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;F=c[e>>2]|0;k=43;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;u=c[g>>2]|0;c[g>>2]=0;G=u;k=45;break}default:{F=E;k=43}}i:do if((k|0)==43){k=0;u=c[g>>2]|0;c[g>>2]=0;switch(F|0){case 1:{G=u;k=45;break i;break}case 0:break;default:{H=u;break i}}vu(g,4,1,c[l>>2]|0)|0;H=u}while(0);if((k|0)==45){k=0;u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;H=G}u=c[g>>2]|0;x=cn(D,H,u)|0;c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;I=c[e>>2]|0;k=49;break}case 1:{C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Xu(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;c[x+20>>2]=c[g>>2];c[g>>2]=0;k=51;break}default:{I=y;k=49}}j:do if((k|0)==49){k=0;c[x+20>>2]=c[g>>2];c[g>>2]=0;switch(I|0){case 1:{k=51;break j;break}case 0:break;default:break j}vu(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==51){k=0;y=c[n>>2]|0;C=(c[m>>2]|0)-y|0;J=(C|0)<4?C:4;C=(J|0)>0?J:0;Xu(g|0,(c[o>>2]|0)+y|0,C|0)|0;c[n>>2]=C+y}y=c[x+12>>2]|0;C=B(B(H,D)|0,u>>3)|0;k:do if(w)Vn(y,C,e)|0;else switch(c[e>>2]|0){case 0:{vu(y,1,C,c[l>>2]|0)|0;break k;break}case 1:{J=c[n>>2]|0;K=(c[m>>2]|0)-J|0;L=(C|0)<(K|0)?C:K;K=(L|0)>0?L:0;Xu(y|0,(c[o>>2]|0)+J|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break k;break}default:break k}while(0);un(i,4,x)|0;k=396;break g}else{switch(t|0){case 1347245667:break;default:break h}y=(r|0)==1347245667;c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;M=c[e>>2]|0;k=61;break}case 1:{w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;K=(u|0)<4?u:4;u=(K|0)>0?K:0;Xu(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;M=1;k=61;break}default:{N=C;O=0}}if((k|0)==61){k=0;N=M;O=c[g>>2]|0}c[g>>2]=0;switch(N|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;P=c[e>>2]|0;k=65;break}case 1:{C=c[n>>2]|0;w=(c[m>>2]|0)-C|0;u=(w|0)<4?w:4;w=(u|0)>0?u:0;Xu(g|0,(c[o>>2]|0)+C|0,w|0)|0;c[n>>2]=w+C;C=c[g>>2]|0;c[g>>2]=0;Q=C;k=67;break}default:{P=N;k=65}}l:do if((k|0)==65){k=0;C=c[g>>2]|0;c[g>>2]=0;switch(P|0){case 1:{Q=C;k=67;break l;break}case 0:break;default:{R=C;break l}}vu(g,4,1,c[l>>2]|0)|0;R=C}while(0);if((k|0)==67){k=0;x=c[n>>2]|0;C=(c[m>>2]|0)-x|0;w=(C|0)<4?C:4;C=(w|0)>0?w:0;Xu(g|0,(c[o>>2]|0)+x|0,C|0)|0;c[n>>2]=C+x;R=Q}x=c[g>>2]|0;C=Ym(O,R,x)|0;c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;S=c[e>>2]|0;k=71;break}case 1:{u=c[n>>2]|0;K=(c[m>>2]|0)-u|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Xu(g|0,(c[o>>2]|0)+u|0,K|0)|0;c[n>>2]=K+u;c[C+20>>2]=c[g>>2];c[g>>2]=0;k=73;break}default:{S=w;k=71}}m:do if((k|0)==71){k=0;c[C+20>>2]=c[g>>2];c[g>>2]=0;switch(S|0){case 1:{k=73;break m;break}case 0:break;default:break m}vu(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==73){k=0;w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;K=(u|0)<4?u:4;u=(K|0)>0?K:0;Xu(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w}w=c[C+12>>2]|0;u=B(B(R,O)|0,x)|0;n:do if(y)Vn(w,u,e)|0;else switch(c[e>>2]|0){case 0:{vu(w,1,u,c[l>>2]|0)|0;break n;break}case 1:{K=c[n>>2]|0;J=(c[m>>2]|0)-K|0;L=(u|0)<(J|0)?u:J;J=(L|0)>0?L:0;Xu(w|0,(c[o>>2]|0)+K|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break n;break}default:break n}while(0);un(i,10,C)|0;k=396;break g}while(0);o:do if((r|0)<1279348803){if((r|0)<1146047811){switch(r|0){case 1145983811:break;default:break o}c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;T=c[e>>2]|0;k=299;break}case 1:{u=c[n>>2]|0;y=(c[m>>2]|0)-u|0;x=(y|0)<4?y:4;y=(x|0)>0?x:0;Xu(g|0,(c[o>>2]|0)+u|0,y|0)|0;c[n>>2]=y+u;T=1;k=299;break}default:{U=w;V=0}}if((k|0)==299){k=0;U=T;V=c[g>>2]|0}c[g>>2]=0;switch(U|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;y=(u|0)<4?u:4;u=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;break}default:{}}w=cq(V,c[g>>2]|0)|0;if(!w){u=s+-8|0;y=c[e>>2]|0;switch(y|0){case 0:{au(c[l>>2]|0,u,1)|0;k=396;break g;break}case 1:{c[n>>2]=(c[n>>2]|0)+u;k=396;break g;break}default:{W=y;break g}}}c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;X=c[e>>2]|0;k=307;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;J=(x|0)<4?x:4;x=(J|0)>0?J:0;Xu(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;u=w+8|0;c[u>>2]=c[g>>2];c[g>>2]=0;Y=u;k=309;break}default:{X=y;k=307}}p:do if((k|0)==307){k=0;y=w+8|0;c[y>>2]=c[g>>2];c[g>>2]=0;switch(X|0){case 1:{Y=y;k=309;break p;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;Z=c[e>>2]|0;break}default:Z=X}c[w+12>>2]=c[g>>2];c[g>>2]=0;switch(Z|0){case 1:{_=y;k=312;break p;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;$=c[e>>2]|0;break}default:$=Z}c[g>>2]=0;switch($|0){case 1:{aa=y;k=315;break p;break}case 0:break;default:{ba=y;break p}}vu(g,4,1,c[l>>2]|0)|0;ba=y}while(0);if((k|0)==309){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Xu(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;c[w+12>>2]=c[g>>2];c[g>>2]=0;_=Y;k=312}if((k|0)==312){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Xu(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;c[g>>2]=0;aa=_;k=315}if((k|0)==315){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Xu(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;ba=aa}C=pq(w)|0;y=(B(c[w+4>>2]|0,c[w>>2]|0)|0)/8|0;switch(c[e>>2]|0){case 0:{vu(C,y,1,c[l>>2]|0)|0;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;J=(y|0)<(x|0)?y:x;x=(J|0)>0?J:0;Xu(C|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+(c[n>>2]|0);break}default:{}}rq(w,c[ba>>2]|0);un(i,9,w)|0;k=396;break g}if((r|0)<1229865283){switch(r|0){case 1146047811:break;default:break o}x=qo()|0;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;ca=c[e>>2]|0;k=88;break}case 1:{C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;C=x+4|0;c[C>>2]=c[g>>2];c[g>>2]=0;da=C;k=90;break}default:{ca=u;k=88}}q:do if((k|0)==88){k=0;u=x+4|0;c[u>>2]=c[g>>2];c[g>>2]=0;switch(ca|0){case 1:{da=u;k=90;break q;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;ea=c[e>>2]|0;break}default:ea=ca}C=x+16|0;c[C>>2]=c[g>>2];c[g>>2]=0;switch(ea|0){case 1:{fa=C;ga=u;k=93;break q;break}case 0:break;default:{ha=u;ia=C;break q}}vu(g,4,1,c[l>>2]|0)|0;ha=u;ia=C}while(0);if((k|0)==90){k=0;w=c[n>>2]|0;C=(c[m>>2]|0)-w|0;u=(C|0)<4?C:4;C=(u|0)>0?u:0;Xu(g|0,(c[o>>2]|0)+w|0,C|0)|0;c[n>>2]=C+w;w=x+16|0;c[w>>2]=c[g>>2];c[g>>2]=0;fa=w;ga=da;k=93}if((k|0)==93){k=0;w=c[n>>2]|0;C=(c[m>>2]|0)-w|0;u=(C|0)<4?C:4;C=(u|0)>0?u:0;Xu(g|0,(c[o>>2]|0)+w|0,C|0)|0;c[n>>2]=C+w;ha=ga;ia=fa}w=x+24|0;c[w>>2]=c[g>>2];no(x,c[ha>>2]|0);oo(x,c[ia>>2]|0);r:do if((c[ha>>2]|0)>0){C=0;while(1){f[g>>2]=0.0;u=c[e>>2]|0;switch(u|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;ja=c[e>>2]|0;k=99;break}case 1:{J=c[n>>2]|0;y=(c[m>>2]|0)-J|0;K=(y|0)<4?y:4;y=(K|0)>0?K:0;Xu(g|0,(c[o>>2]|0)+J|0,y|0)|0;c[n>>2]=y+J;J=c[x>>2]|0;c[J+(C*12|0)>>2]=c[g>>2];f[g>>2]=0.0;ka=J;k=405;break}default:{ja=u;k=99}}s:do if((k|0)==99){k=0;u=c[x>>2]|0;c[u+(C*12|0)>>2]=c[g>>2];f[g>>2]=0.0;switch(ja|0){case 1:{ka=u;k=405;break s;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;la=c[x>>2]|0;ma=c[e>>2]|0;break}default:{la=u;ma=ja}}c[la+(C*12|0)+4>>2]=c[g>>2];f[g>>2]=0.0;switch(ma|0){case 1:{na=la;k=408;break s;break}case 0:break;default:{oa=la;break s}}vu(g,4,1,c[l>>2]|0)|0;oa=c[x>>2]|0}while(0);if((k|0)==405){k=0;u=c[n>>2]|0;J=(c[m>>2]|0)-u|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+u|0,J|0)|0;c[n>>2]=J+u;c[ka+(C*12|0)+4>>2]=c[g>>2];f[g>>2]=0.0;na=ka;k=408}if((k|0)==408){k=0;u=c[n>>2]|0;J=(c[m>>2]|0)-u|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+u|0,J|0)|0;c[n>>2]=J+u;oa=na}c[oa+(C*12|0)+8>>2]=c[g>>2];C=C+1|0;if((C|0)>=(c[ha>>2]|0))break r}}while(0);t:do if((c[ia>>2]|0)>0){C=x+12|0;u=0;while(1){J=c[C>>2]|0;y=J+(u*80|0)|0;b[g>>1]=0;switch(c[e>>2]|0){case 0:{vu(g,2,1,c[l>>2]|0)|0;break}case 1:{K=c[n>>2]|0;L=(c[m>>2]|0)-K|0;pa=(L|0)<2?L:2;L=(pa|0)>0?pa:0;Xu(g|0,(c[o>>2]|0)+K|0,L|0)|0;c[n>>2]=L+K;break}default:{}}K=b[g>>1]|0;L=J+(u*80|0)+56|0;b[L>>1]=K;po(y,K<<16>>16);b[g>>1]=0;K=c[e>>2]|0;switch(K|0){case 0:{vu(g,2,1,c[l>>2]|0)|0;qa=c[e>>2]|0;k=108;break}case 1:{y=c[n>>2]|0;pa=(c[m>>2]|0)-y|0;ra=(pa|0)<2?pa:2;pa=(ra|0)>0?ra:0;Xu(g|0,(c[o>>2]|0)+y|0,pa|0)|0;c[n>>2]=pa+y;b[J+(u*80|0)+72>>1]=b[g>>1]|0;b[g>>1]=0;k=110;break}default:{qa=K;k=108}}u:do if((k|0)==108){k=0;b[J+(u*80|0)+72>>1]=b[g>>1]|0;b[g>>1]=0;switch(qa|0){case 1:{k=110;break u;break}case 0:break;default:break u}vu(g,2,1,c[l>>2]|0)|0}while(0);if((k|0)==110){k=0;K=c[n>>2]|0;y=(c[m>>2]|0)-K|0;pa=(y|0)<2?y:2;y=(pa|0)>0?pa:0;Xu(g|0,(c[o>>2]|0)+K|0,y|0)|0;c[n>>2]=y+K}b[J+(u*80|0)+74>>1]=b[g>>1]|0;v:do if((b[L>>1]|0)>0){K=J+(u*80|0)+48|0;y=J+(u*80|0)+52|0;pa=0;while(1){c[g>>2]=0;switch(c[e>>2]|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;ta=(sa|0)<4?sa:4;sa=(ta|0)>0?ta:0;Xu(g|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+ra;break}default:{}}c[(c[K>>2]|0)+(pa<<2)>>2]=c[g>>2];f[g>>2]=0.0;ra=c[e>>2]|0;switch(ra|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;ua=c[e>>2]|0;k=119;break}case 1:{sa=c[n>>2]|0;ta=(c[m>>2]|0)-sa|0;va=(ta|0)<4?ta:4;ta=(va|0)>0?va:0;Xu(g|0,(c[o>>2]|0)+sa|0,ta|0)|0;c[n>>2]=ta+sa;sa=c[y>>2]|0;c[sa+(pa<<3)>>2]=c[g>>2];f[g>>2]=0.0;wa=sa;k=121;break}default:{ua=ra;k=119}}w:do if((k|0)==119){k=0;ra=c[y>>2]|0;c[ra+(pa<<3)>>2]=c[g>>2];f[g>>2]=0.0;switch(ua|0){case 1:{wa=ra;k=121;break w;break}case 0:break;default:{xa=ra;break w}}vu(g,4,1,c[l>>2]|0)|0;xa=c[y>>2]|0}while(0);if((k|0)==121){k=0;ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;ta=(sa|0)<4?sa:4;sa=(ta|0)>0?ta:0;Xu(g|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+ra;xa=wa}c[xa+(pa<<3)+4>>2]=c[g>>2];pa=pa+1|0;if((pa|0)>=(b[L>>1]|0))break v}}while(0);u=u+1|0;if((u|0)>=(c[ia>>2]|0))break t}}while(0);x:do if((c[w>>2]|0)>0?(c[ha>>2]|0)>0:0){u=x+28|0;C=0;while(1){b[g>>1]=0;L=c[e>>2]|0;switch(L|0){case 0:{vu(g,2,1,c[l>>2]|0)|0;ya=c[e>>2]|0;k=130;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;y=(pa|0)<2?pa:2;pa=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+J;J=b[g>>1]|0;pa=c[u>>2]|0;y=pa+(C<<5)|0;b[y>>1]=J;b[g>>1]=0;za=y;Aa=pa;Ba=J;k=132;break}default:{ya=L;k=130}}y:do if((k|0)==130){k=0;L=b[g>>1]|0;J=c[u>>2]|0;pa=J+(C<<5)|0;b[pa>>1]=L;b[g>>1]=0;switch(ya|0){case 1:{za=pa;Aa=J;Ba=L;k=132;break y;break}case 0:break;default:{Ca=pa;Da=J;Ea=L;Ga=ya;break y}}vu(g,2,1,c[l>>2]|0)|0;L=c[u>>2]|0;J=L+(C<<5)|0;Ca=J;Da=L;Ea=b[J>>1]|0;Ga=c[e>>2]|0}while(0);if((k|0)==132){k=0;J=c[n>>2]|0;L=(c[m>>2]|0)-J|0;pa=(L|0)<2?L:2;L=(pa|0)>0?pa:0;Xu(g|0,(c[o>>2]|0)+J|0,L|0)|0;c[n>>2]=L+J;Ca=za;Da=Aa;Ea=Ba;Ga=1}J=b[g>>1]|0;L=Ea&65535;pa=(c[w>>2]|0)+-1|0;y=(pa|0)>(L|0)?L:pa;b[Ca>>1]=(y|0)>0?y:0;y=J&65535;J=(pa|0)>(y|0)?y:pa;b[Da+(C<<5)+2>>1]=(J|0)>0?J:0;f[g>>2]=0.0;switch(Ga|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Ha=c[u>>2]|0;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;y=(pa|0)<4?pa:4;pa=(y|0)>0?y:0;Xu(g|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+J;Ha=Da;break}default:Ha=Da}c[Ha+(C<<5)+4>>2]=c[g>>2];C=C+1|0;if((C|0)>=(c[ha>>2]|0))break x}}while(0);wo(x);un(i,6,x)|0;k=396;break g}switch(r|0){case 1229865283:break;default:break o}w=Fo()|0;c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Ia=c[e>>2]|0;k=145;break}case 1:{u=c[n>>2]|0;J=(c[m>>2]|0)-u|0;pa=(J|0)<4?J:4;J=(pa|0)>0?pa:0;Xu(g|0,(c[o>>2]|0)+u|0,J|0)|0;c[n>>2]=J+u;Ia=1;k=145;break}default:{Ja=C;Ka=0}}if((k|0)==145){k=0;Ja=Ia;Ka=c[g>>2]|0}c[g>>2]=0;switch(Ja|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;La=c[g>>2]|0;Ma=c[e>>2]|0;k=149;break}case 1:{C=c[m>>2]|0;u=c[n>>2]|0;J=C-u|0;pa=(J|0)<4?J:4;J=(pa|0)>0?pa:0;pa=c[o>>2]|0;Xu(g|0,pa+u|0,J|0)|0;y=J+u|0;c[n>>2]=y;c[w+8>>2]=c[g>>2];c[g>>2]=0;Na=y;Oa=C;Pa=pa;k=152;break}default:{La=0;Ma=Ja;k=149}}z:do if((k|0)==149){k=0;c[w+8>>2]=La;c[g>>2]=0;switch(Ma|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Qa=c[g>>2]|0;Ra=c[e>>2]|0;break}case 1:{Na=c[n>>2]|0;Oa=c[m>>2]|0;Pa=c[o>>2]|0;k=152;break z;break}default:{Qa=0;Ra=Ma}}c[w+12>>2]=Qa;c[g>>2]=0;switch(Ra|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Sa=c[e>>2]|0;break}case 1:{Ta=c[n>>2]|0;Ua=c[m>>2]|0;Va=c[o>>2]|0;k=156;break z;break}default:Sa=Ra}c[g>>2]=0;switch(Sa|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Wa=c[e>>2]|0;break}case 1:{Xa=c[n>>2]|0;Ya=c[m>>2]|0;Za=c[o>>2]|0;k=280;break z;break}default:Wa=Sa}c[g>>2]=0;switch(Wa|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;_a=c[e>>2]|0;break}case 1:{$a=c[n>>2]|0;ab=c[m>>2]|0;bb=c[o>>2]|0;k=284;break z;break}default:_a=Wa}c[g>>2]=0;switch(_a|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;cb=c[e>>2]|0;break}case 1:{db=c[n>>2]|0;eb=c[m>>2]|0;fb=c[o>>2]|0;k=288;break z;break}default:cb=_a}c[g>>2]=0;switch(cb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break z;break}case 1:{gb=c[n>>2]|0;hb=c[m>>2]|0;ib=c[o>>2]|0;k=292;break z;break}default:break z}}while(0);if((k|0)==152){k=0;x=Oa-Na|0;pa=(x|0)<4?x:4;x=(pa|0)>0?pa:0;Xu(g|0,Pa+Na|0,x|0)|0;pa=x+Na|0;c[n>>2]=pa;c[w+12>>2]=c[g>>2];c[g>>2]=0;Ta=pa;Ua=Oa;Va=Pa;k=156}if((k|0)==156){k=0;pa=Ua-Ta|0;x=(pa|0)<4?pa:4;pa=(x|0)>0?x:0;Xu(g|0,Va+Ta|0,pa|0)|0;x=pa+Ta|0;c[n>>2]=x;c[g>>2]=0;Xa=x;Ya=Ua;Za=Va;k=280}if((k|0)==280){k=0;x=Ya-Xa|0;pa=(x|0)<4?x:4;x=(pa|0)>0?pa:0;Xu(g|0,Za+Xa|0,x|0)|0;pa=x+Xa|0;c[n>>2]=pa;c[g>>2]=0;$a=pa;ab=Ya;bb=Za;k=284}if((k|0)==284){k=0;pa=ab-$a|0;x=(pa|0)<4?pa:4;pa=(x|0)>0?x:0;Xu(g|0,bb+$a|0,pa|0)|0;x=pa+$a|0;c[n>>2]=x;c[g>>2]=0;db=x;eb=ab;fb=bb;k=288}if((k|0)==288){k=0;x=eb-db|0;pa=(x|0)<4?x:4;x=(pa|0)>0?pa:0;Xu(g|0,fb+db|0,x|0)|0;pa=x+db|0;c[n>>2]=pa;c[g>>2]=0;gb=pa;hb=eb;ib=fb;k=292}if((k|0)==292){k=0;pa=hb-gb|0;x=(pa|0)<4?pa:4;pa=(x|0)>0?x:0;Xu(g|0,ib+gb|0,pa|0)|0;c[n>>2]=pa+gb}A:do if((Ka|0)>0){pa=w+4|0;x=0;while(1){Io(w)|0;C=c[pa>>2]|0;y=C+(x*112|0)|0;u=c[e>>2]|0;switch(u|0){case 0:{vu(y,1,32,c[l>>2]|0)|0;k=163;break}case 1:{J=c[n>>2]|0;L=(c[m>>2]|0)-J|0;K=(L|0)<32?L:32;L=(K|0)>0?K:0;Xu(y|0,(c[o>>2]|0)+J|0,L|0)|0;c[n>>2]=L+(c[n>>2]|0);k=163;break}default:jb=u}if((k|0)==163){k=0;jb=c[e>>2]|0}u=C+(x*112|0)+32|0;switch(jb|0){case 0:{vu(u,1,32,c[l>>2]|0)|0;break}case 1:{L=c[n>>2]|0;J=(c[m>>2]|0)-L|0;y=(J|0)<32?J:32;J=(y|0)>0?y:0;Xu(u|0,(c[o>>2]|0)+L|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break}default:{}}c[g>>2]=0;J=c[e>>2]|0;switch(J|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;kb=c[g>>2]|0;lb=c[e>>2]|0;k=170;break}case 1:{L=c[m>>2]|0;u=c[n>>2]|0;y=L-u|0;K=(y|0)<4?y:4;y=(K|0)>0?K:0;K=c[o>>2]|0;Xu(g|0,K+u|0,y|0)|0;ra=y+u|0;c[n>>2]=ra;c[C+(x*112|0)+68>>2]=c[g>>2];c[g>>2]=0;mb=ra;nb=L;ob=K;k=173;break}default:{kb=0;lb=J;k=170}}B:do if((k|0)==170){k=0;c[C+(x*112|0)+68>>2]=kb;c[g>>2]=0;switch(lb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;pb=c[g>>2]|0;qb=c[e>>2]|0;break}case 1:{mb=c[n>>2]|0;nb=c[m>>2]|0;ob=c[o>>2]|0;k=173;break B;break}default:{pb=0;qb=lb}}c[C+(x*112|0)+72>>2]=pb;c[g>>2]=0;switch(qb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;rb=c[g>>2]|0;sb=c[e>>2]|0;break}case 1:{tb=c[n>>2]|0;ub=c[m>>2]|0;vb=c[o>>2]|0;k=177;break B;break}default:{rb=0;sb=qb}}c[C+(x*112|0)+76>>2]=rb;c[g>>2]=0;switch(sb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;wb=c[g>>2]|0;xb=c[e>>2]|0;break}case 1:{yb=c[n>>2]|0;zb=c[m>>2]|0;Ab=c[o>>2]|0;k=181;break B;break}default:{wb=0;xb=sb}}c[C+(x*112|0)+100>>2]=wb;c[g>>2]=0;switch(xb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Bb=c[g>>2]|0;Cb=c[e>>2]|0;break}case 1:{Db=c[n>>2]|0;Eb=c[m>>2]|0;Fb=c[o>>2]|0;k=185;break B;break}default:{Bb=0;Cb=xb}}J=C+(x*112|0)+104|0;c[J>>2]=Bb;c[g>>2]=0;switch(Cb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Gb=c[g>>2]|0;Hb=c[e>>2]|0;break}case 1:{Ib=J;Jb=c[n>>2]|0;Kb=c[m>>2]|0;Lb=c[o>>2]|0;k=189;break B;break}default:{Gb=0;Hb=Cb}}c[C+(x*112|0)+108>>2]=Gb;c[g>>2]=0;switch(Hb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Mb=c[e>>2]|0;break}case 1:{Nb=J;Ob=c[n>>2]|0;Pb=c[m>>2]|0;Qb=c[o>>2]|0;k=193;break B;break}default:Mb=Hb}c[g>>2]=0;switch(Mb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Rb=c[e>>2]|0;break}case 1:{Sb=J;Tb=c[n>>2]|0;Ub=c[m>>2]|0;Vb=c[o>>2]|0;k=272;break B;break}default:Rb=Mb}c[g>>2]=0;switch(Rb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Wb=c[e>>2]|0;break}case 1:{Xb=J;Yb=c[n>>2]|0;Zb=c[m>>2]|0;_b=c[o>>2]|0;k=276;break B;break}default:Wb=Rb}K=c[C+(x*112|0)+80>>2]|0;c[g>>2]=0;switch(Wb|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;$b=K;ac=J;break B;break}case 1:{bc=K;cc=J;dc=c[n>>2]|0;ec=c[m>>2]|0;fc=c[o>>2]|0;k=197;break B;break}default:{$b=K;ac=J;break B}}}while(0);if((k|0)==173){k=0;J=nb-mb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Xu(g|0,ob+mb|0,J|0)|0;K=J+mb|0;c[n>>2]=K;c[C+(x*112|0)+72>>2]=c[g>>2];c[g>>2]=0;tb=K;ub=nb;vb=ob;k=177}if((k|0)==177){k=0;K=ub-tb|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Xu(g|0,vb+tb|0,K|0)|0;J=K+tb|0;c[n>>2]=J;c[C+(x*112|0)+76>>2]=c[g>>2];c[g>>2]=0;yb=J;zb=ub;Ab=vb;k=181}if((k|0)==181){k=0;J=zb-yb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Xu(g|0,Ab+yb|0,J|0)|0;K=J+yb|0;c[n>>2]=K;c[C+(x*112|0)+100>>2]=c[g>>2];c[g>>2]=0;Db=K;Eb=zb;Fb=Ab;k=185}if((k|0)==185){k=0;K=Eb-Db|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Xu(g|0,Fb+Db|0,K|0)|0;J=K+Db|0;c[n>>2]=J;K=C+(x*112|0)+104|0;c[K>>2]=c[g>>2];c[g>>2]=0;Ib=K;Jb=J;Kb=Eb;Lb=Fb;k=189}if((k|0)==189){k=0;J=Kb-Jb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Xu(g|0,Lb+Jb|0,J|0)|0;K=J+Jb|0;c[n>>2]=K;c[C+(x*112|0)+108>>2]=c[g>>2];c[g>>2]=0;Nb=Ib;Ob=K;Pb=Kb;Qb=Lb;k=193}if((k|0)==193){k=0;K=Pb-Ob|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Xu(g|0,Qb+Ob|0,K|0)|0;J=K+Ob|0;c[n>>2]=J;c[g>>2]=0;Sb=Nb;Tb=J;Ub=Pb;Vb=Qb;k=272}if((k|0)==272){k=0;J=Ub-Tb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Xu(g|0,Vb+Tb|0,J|0)|0;K=J+Tb|0;c[n>>2]=K;c[g>>2]=0;Xb=Sb;Yb=K;Zb=Ub;_b=Vb;k=276}if((k|0)==276){k=0;K=Zb-Yb|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Xu(g|0,_b+Yb|0,K|0)|0;J=K+Yb|0;c[n>>2]=J;K=c[C+(x*112|0)+80>>2]|0;c[g>>2]=0;bc=K;cc=Xb;dc=J;ec=Zb;fc=_b;k=197}if((k|0)==197){k=0;J=ec-dc|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Xu(g|0,fc+dc|0,J|0)|0;c[n>>2]=J+dc;$b=bc;ac=cc}J=c[g>>2]|0;c[$b>>2]=J;Ko($b,J);J=c[$b>>2]|0;C:do if(!J)k=209;else{K=c[$b+12>>2]|0;L=c[$b+8>>2]|0;ra=c[e>>2]|0;switch(ra|0){case 0:{vu(K,L,J,c[l>>2]|0)|0;k=202;break}case 1:{u=B(L,J)|0;L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;sa=(u|0)<(y|0)?u:y;y=(sa|0)>0?sa:0;Xu(K|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);k=202;break}default:{gc=ra;hc=J}}if((k|0)==202){k=0;gc=c[e>>2]|0;hc=c[$b>>2]|0}ra=c[$b+16>>2]|0;switch(gc|0){case 0:{vu(ra,4,hc,c[l>>2]|0)|0;break}case 1:{y=hc<<2;L=c[n>>2]|0;K=(c[m>>2]|0)-L|0;sa=(y|0)<(K|0)?y:K;K=(sa|0)>0?sa:0;Xu(ra|0,(c[o>>2]|0)+L|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break}default:{}}K=c[$b+20>>2]|0;L=c[$b>>2]|0;ra=c[e>>2]|0;switch(ra|0){case 0:{vu(K,4,L,c[l>>2]|0)|0;k=209;break C;break}case 1:{sa=L<<2;L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;u=(sa|0)<(y|0)?sa:y;y=(u|0)>0?u:0;Xu(K|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);k=209;break C;break}default:{ic=ra;break C}}}while(0);if((k|0)==209){k=0;ic=c[e>>2]|0}J=c[C+(x*112|0)+84>>2]|0;c[g>>2]=0;switch(ic|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;y=(c[m>>2]|0)-ra|0;L=(y|0)<4?y:4;y=(L|0)>0?L:0;Xu(g|0,(c[o>>2]|0)+ra|0,y|0)|0;c[n>>2]=y+ra;break}default:{}}ra=c[g>>2]|0;c[J>>2]=ra;Ko(J,ra);ra=c[J>>2]|0;D:do if(!ra)k=224;else{y=c[J+12>>2]|0;L=c[J+8>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{vu(y,L,ra,c[l>>2]|0)|0;k=217;break}case 1:{u=B(L,ra)|0;L=c[n>>2]|0;sa=(c[m>>2]|0)-L|0;ta=(u|0)<(sa|0)?u:sa;sa=(ta|0)>0?ta:0;Xu(y|0,(c[o>>2]|0)+L|0,sa|0)|0;c[n>>2]=sa+(c[n>>2]|0);k=217;break}default:{jc=K;kc=ra}}if((k|0)==217){k=0;jc=c[e>>2]|0;kc=c[J>>2]|0}K=c[J+16>>2]|0;switch(jc|0){case 0:{vu(K,4,kc,c[l>>2]|0)|0;break}case 1:{sa=kc<<2;L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;ta=(sa|0)<(y|0)?sa:y;y=(ta|0)>0?ta:0;Xu(K|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);break}default:{}}y=c[J+20>>2]|0;L=c[J>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{vu(y,4,L,c[l>>2]|0)|0;k=224;break D;break}case 1:{ta=L<<2;L=c[n>>2]|0;sa=(c[m>>2]|0)-L|0;u=(ta|0)<(sa|0)?ta:sa;sa=(u|0)>0?u:0;Xu(y|0,(c[o>>2]|0)+L|0,sa|0)|0;c[n>>2]=sa+(c[n>>2]|0);k=224;break D;break}default:{lc=K;break D}}}while(0);if((k|0)==224){k=0;lc=c[e>>2]|0}J=c[C+(x*112|0)+88>>2]|0;c[g>>2]=0;switch(lc|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;K=(c[m>>2]|0)-ra|0;sa=(K|0)<4?K:4;K=(sa|0)>0?sa:0;Xu(g|0,(c[o>>2]|0)+ra|0,K|0)|0;c[n>>2]=K+ra;break}default:{}}ra=c[g>>2]|0;c[J>>2]=ra;Ko(J,ra);ra=c[J>>2]|0;E:do if(ra|0){K=c[J+12>>2]|0;sa=c[J+8>>2]|0;L=c[e>>2]|0;switch(L|0){case 0:{vu(K,sa,ra,c[l>>2]|0)|0;k=232;break}case 1:{y=B(sa,ra)|0;sa=c[n>>2]|0;u=(c[m>>2]|0)-sa|0;ta=(y|0)<(u|0)?y:u;u=(ta|0)>0?ta:0;Xu(K|0,(c[o>>2]|0)+sa|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);k=232;break}default:{mc=L;nc=ra}}if((k|0)==232){k=0;mc=c[e>>2]|0;nc=c[J>>2]|0}L=c[J+16>>2]|0;switch(mc|0){case 0:{vu(L,4,nc,c[l>>2]|0)|0;break}case 1:{u=nc<<2;sa=c[n>>2]|0;K=(c[m>>2]|0)-sa|0;ta=(u|0)<(K|0)?u:K;K=(ta|0)>0?ta:0;Xu(L|0,(c[o>>2]|0)+sa|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break}default:{}}K=c[J+20>>2]|0;sa=c[J>>2]|0;switch(c[e>>2]|0){case 0:{vu(K,4,sa,c[l>>2]|0)|0;break E;break}case 1:{L=sa<<2;sa=c[n>>2]|0;ta=(c[m>>2]|0)-sa|0;u=(L|0)<(ta|0)?L:ta;ta=(u|0)>0?u:0;Xu(K|0,(c[o>>2]|0)+sa|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);break E;break}default:break E}}while(0);J=c[ac>>2]|0;F:do if(J|0){ra=C+(x*112|0)+92|0;c[ra>>2]=Fp(J<<2)|0;if((c[ac>>2]|0)<=0)break;ta=0;while(1){sa=Jo(16)|0;c[(c[ra>>2]|0)+(ta<<2)>>2]=sa;sa=c[(c[ra>>2]|0)+(ta<<2)>>2]|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{K=c[n>>2]|0;u=(c[m>>2]|0)-K|0;L=(u|0)<4?u:4;u=(L|0)>0?L:0;Xu(g|0,(c[o>>2]|0)+K|0,u|0)|0;c[n>>2]=u+K;break}default:{}}K=c[g>>2]|0;c[sa>>2]=K;Ko(sa,K);K=c[sa>>2]|0;G:do if(K|0){u=c[sa+12>>2]|0;L=c[sa+8>>2]|0;y=c[e>>2]|0;switch(y|0){case 0:{vu(u,L,K,c[l>>2]|0)|0;k=249;break}case 1:{va=B(L,K)|0;L=c[n>>2]|0;oc=(c[m>>2]|0)-L|0;pc=(va|0)<(oc|0)?va:oc;oc=(pc|0)>0?pc:0;Xu(u|0,(c[o>>2]|0)+L|0,oc|0)|0;c[n>>2]=oc+(c[n>>2]|0);k=249;break}default:{qc=y;rc=K}}if((k|0)==249){k=0;qc=c[e>>2]|0;rc=c[sa>>2]|0}y=c[sa+16>>2]|0;switch(qc|0){case 0:{vu(y,4,rc,c[l>>2]|0)|0;break}case 1:{oc=rc<<2;L=c[n>>2]|0;u=(c[m>>2]|0)-L|0;pc=(oc|0)<(u|0)?oc:u;u=(pc|0)>0?pc:0;Xu(y|0,(c[o>>2]|0)+L|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);break}default:{}}u=c[sa+20>>2]|0;L=c[sa>>2]|0;switch(c[e>>2]|0){case 0:{vu(u,4,L,c[l>>2]|0)|0;break G;break}case 1:{y=L<<2;L=c[n>>2]|0;pc=(c[m>>2]|0)-L|0;oc=(y|0)<(pc|0)?y:pc;pc=(oc|0)>0?oc:0;Xu(u|0,(c[o>>2]|0)+L|0,pc|0)|0;c[n>>2]=pc+(c[n>>2]|0);break G;break}default:break G}}while(0);ta=ta+1|0;if((ta|0)>=(c[ac>>2]|0))break F}}while(0);J=c[C+(x*112|0)+96>>2]|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{ta=c[n>>2]|0;ra=(c[m>>2]|0)-ta|0;sa=(ra|0)<4?ra:4;ra=(sa|0)>0?sa:0;Xu(g|0,(c[o>>2]|0)+ta|0,ra|0)|0;c[n>>2]=ra+ta;break}default:{}}ta=c[g>>2]|0;c[J>>2]=ta;Ko(J,ta);ta=c[J>>2]|0;H:do if(ta|0){ra=c[J+12>>2]|0;sa=c[J+8>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{vu(ra,sa,ta,c[l>>2]|0)|0;k=264;break}case 1:{pc=B(sa,ta)|0;sa=c[n>>2]|0;L=(c[m>>2]|0)-sa|0;u=(pc|0)<(L|0)?pc:L;L=(u|0)>0?u:0;Xu(ra|0,(c[o>>2]|0)+sa|0,L|0)|0;c[n>>2]=L+(c[n>>2]|0);k=264;break}default:{sc=K;tc=ta}}if((k|0)==264){k=0;sc=c[e>>2]|0;tc=c[J>>2]|0}K=c[J+16>>2]|0;switch(sc|0){case 0:{vu(K,4,tc,c[l>>2]|0)|0;break}case 1:{L=tc<<2;sa=c[n>>2]|0;ra=(c[m>>2]|0)-sa|0;u=(L|0)<(ra|0)?L:ra;ra=(u|0)>0?u:0;Xu(K|0,(c[o>>2]|0)+sa|0,ra|0)|0;c[n>>2]=ra+(c[n>>2]|0);break}default:{}}ra=c[J+20>>2]|0;sa=c[J>>2]|0;switch(c[e>>2]|0){case 0:{vu(ra,4,sa,c[l>>2]|0)|0;break H;break}case 1:{K=sa<<2;sa=c[n>>2]|0;u=(c[m>>2]|0)-sa|0;L=(K|0)<(u|0)?K:u;u=(L|0)>0?L:0;Xu(ra|0,(c[o>>2]|0)+sa|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);break H;break}default:break H}}while(0);x=x+1|0;if((x|0)==(Ka|0))break A}}while(0);un(i,8,w)|0;k=396;break g}else{if((r|0)<1314476867){switch(r|0){case 1279348803:break;default:break o}x=Wm()|0;switch(c[e>>2]|0){case 0:{vu(x,1,768,c[l>>2]|0)|0;break}case 1:{pa=c[n>>2]|0;J=(c[m>>2]|0)-pa|0;ta=(J|0)<768?J:768;J=(ta|0)>0?ta:0;Xu(x|0,(c[o>>2]|0)+pa|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break}default:{}}un(i,5,x)|0;k=396;break g}if((r|0)>=1413565763){switch(r|0){case 1413565763:break;default:break o}x=to()|0;switch(c[e>>2]|0){case 0:{vu(x,96,1,c[l>>2]|0)|0;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;ta=(pa|0)<96?pa:96;pa=(ta|0)>0?ta:0;Xu(x|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+(c[n>>2]|0);break}default:{}}un(i,7,x)|0;k=396;break g}switch(r|0){case 1314476867:break;default:break o}x=Vo(0)|0;un(i,11,x)|0;Ep(x,0,11032);c[g>>2]=0;pa=c[e>>2]|0;switch(pa|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;uc=c[e>>2]|0;k=326;break}case 1:{J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Xu(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x>>2]=c[g>>2];c[g>>2]=0;vc=x;k=328;break}default:{uc=pa;k=326}}I:do if((k|0)==326){k=0;c[x>>2]=c[g>>2];c[g>>2]=0;switch(uc|0){case 1:{vc=x;k=328;break I;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;wc=c[e>>2]|0;break}default:wc=uc}c[x+4>>2]=c[g>>2];c[g>>2]=0;switch(wc|0){case 1:{xc=x;k=331;break I;break}case 0:break;default:{yc=wc;zc=0;Ac=x;break I}}vu(g,4,1,c[l>>2]|0)|0;Bc=c[e>>2]|0;Cc=x;k=332}while(0);if((k|0)==328){k=0;w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;Xu(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;c[x+4>>2]=c[g>>2];c[g>>2]=0;xc=vc;k=331}if((k|0)==331){k=0;w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;Xu(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;Bc=1;Cc=xc;k=332}if((k|0)==332){k=0;yc=Bc;zc=c[g>>2]|0;Ac=Cc}c[g>>2]=0;switch(yc|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;Xu(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;break}default:{}}if(!zc)c[Ac>>2]=(c[Ac>>2]|0)/2|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;Xu(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;break}default:{k=396;break g}}w=c[g>>2]|0;if((w|0)<=0){k=396;break g}pa=0;while(1){c[g>>2]=0;J=c[e>>2]|0;switch(J|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Dc=c[e>>2]|0;k=347;break}case 1:{ta=c[n>>2]|0;C=(c[m>>2]|0)-ta|0;u=(C|0)<4?C:4;C=(u|0)>0?u:0;Xu(g|0,(c[o>>2]|0)+ta|0,C|0)|0;c[n>>2]=C+ta;c[x+8+(pa*344|0)>>2]=c[g>>2];c[g>>2]=0;k=349;break}default:{Dc=J;k=347}}J:do if((k|0)==347){k=0;c[x+8+(pa*344|0)>>2]=c[g>>2];c[g>>2]=0;switch(Dc|0){case 1:{k=349;break J;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;Ec=c[e>>2]|0;break}default:Ec=Dc}c[x+8+(pa*344|0)+4>>2]=c[g>>2];c[g>>2]=0;switch(Ec|0){case 1:{k=352;break J;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;Fc=c[e>>2]|0;break}default:Fc=Ec}c[x+8+(pa*344|0)+8>>2]=c[g>>2];c[g>>2]=0;switch(Fc|0){case 1:{k=355;break J;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;Gc=c[e>>2]|0;break}default:Gc=Fc}c[x+8+(pa*344|0)+340>>2]=c[g>>2];c[g>>2]=0;switch(Gc|0){case 1:{k=358;break J;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;Hc=c[e>>2]|0;break}default:Hc=Gc}J=c[g>>2]|0;c[x+8+(pa*344|0)+332>>2]=J;ta=x+8+(pa*344|0)+268|0;switch(Hc|0){case 1:{Ic=J;Jc=ta;k=361;break J;break}case 0:break;default:{Kc=Hc;break J}}vu(ta,1,J,c[l>>2]|0)|0;k=362}while(0);if((k|0)==349){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Xu(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x+8+(pa*344|0)+4>>2]=c[g>>2];c[g>>2]=0;k=352}if((k|0)==352){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Xu(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x+8+(pa*344|0)+8>>2]=c[g>>2];c[g>>2]=0;k=355}if((k|0)==355){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Xu(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x+8+(pa*344|0)+340>>2]=c[g>>2];c[g>>2]=0;k=358}if((k|0)==358){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Xu(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;J=c[g>>2]|0;c[x+8+(pa*344|0)+332>>2]=J;Ic=J;Jc=x+8+(pa*344|0)+268|0;k=361}if((k|0)==361){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(Ic|0)<(ta|0)?Ic:ta;ta=(C|0)>0?C:0;Xu(Jc|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);k=362}if((k|0)==362){k=0;Kc=c[e>>2]|0}c[g>>2]=0;switch(Kc|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;k=367;break}case 1:{ta=c[n>>2]|0;J=(c[m>>2]|0)-ta|0;C=(J|0)<4?J:4;J=(C|0)>0?C:0;Xu(g|0,(c[o>>2]|0)+ta|0,J|0)|0;c[n>>2]=J+ta;k=367;break}default:{}}K:do if((k|0)==367?(k=0,ta=c[g>>2]|0,(ta|0)>0):0){J=0;while(1){c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;Lc=c[e>>2]|0;k=372;break}case 1:{u=c[n>>2]|0;sa=(c[m>>2]|0)-u|0;ra=(sa|0)<4?sa:4;sa=(ra|0)>0?ra:0;Xu(g|0,(c[o>>2]|0)+u|0,sa|0)|0;c[n>>2]=sa+u;c[x+8+(pa*344|0)+12+(J<<4)>>2]=c[g>>2];c[g>>2]=0;k=374;break}default:{Lc=C;k=372}}L:do if((k|0)==372){k=0;c[x+8+(pa*344|0)+12+(J<<4)>>2]=c[g>>2];c[g>>2]=0;switch(Lc|0){case 1:{k=374;break L;break}case 0:{vu(g,4,1,c[l>>2]|0)|0;Mc=c[e>>2]|0;break}default:Mc=Lc}c[x+8+(pa*344|0)+12+(J<<4)+8>>2]=c[g>>2];c[g>>2]=0;switch(Mc|0){case 1:{k=377;break L;break}case 0:break;default:break L}vu(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==374){k=0;C=c[n>>2]|0;u=(c[m>>2]|0)-C|0;sa=(u|0)<4?u:4;u=(sa|0)>0?sa:0;Xu(g|0,(c[o>>2]|0)+C|0,u|0)|0;c[n>>2]=u+C;c[x+8+(pa*344|0)+12+(J<<4)+8>>2]=c[g>>2];c[g>>2]=0;k=377}if((k|0)==377){k=0;C=c[n>>2]|0;u=(c[m>>2]|0)-C|0;sa=(u|0)<4?u:4;u=(sa|0)>0?sa:0;Xu(g|0,(c[o>>2]|0)+C|0,u|0)|0;c[n>>2]=u+C}c[x+8+(pa*344|0)+12+(J<<4)+12>>2]=c[g>>2];J=J+1|0;if((J|0)==(ta|0))break K}}while(0);pa=pa+1|0;if((pa|0)==(w|0)){k=396;break g}}}while(0);if((t|0)!=1279870563){Pm(63738);w=c[e>>2]|0;switch(w|0){case 0:{au(c[l>>2]|0,s,1)|0;k=396;break g;break}case 1:{c[n>>2]=(c[n>>2]|0)+s;k=396;break g;break}default:{W=w;break g}}}w=(r|0)==1279870563;c[g>>2]=0;switch(c[e>>2]|0){case 0:{vu(g,4,1,c[l>>2]|0)|0;break}case 1:{pa=c[n>>2]|0;x=(c[m>>2]|0)-pa|0;ta=(x|0)<4?x:4;x=(ta|0)>0?ta:0;Xu(g|0,(c[o>>2]|0)+pa|0,x|0)|0;c[n>>2]=x+pa;break}default:{}}pa=c[g>>2]|0;x=Ip(pa)|0;un(i,12,x)|0;ta=x+24|0;switch(c[e>>2]|0){case 0:{vu(ta,1,64,c[l>>2]|0)|0;break}case 1:{J=c[n>>2]|0;C=(c[m>>2]|0)-J|0;u=(C|0)<64?C:64;C=(u|0)>0?u:0;Xu(ta|0,(c[o>>2]|0)+J|0,C|0)|0;c[n>>2]=C+(c[n>>2]|0);break}default:{}}a[x+87>>0]=0;C=c[x+12>>2]|0;M:do if(w)Vn(C,pa,e)|0;else switch(c[e>>2]|0){case 0:{vu(C,1,pa,c[l>>2]|0)|0;break M;break}case 1:{J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;u=(pa|0)<(ta|0)?pa:ta;ta=(u|0)>0?u:0;Xu(C|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);break M;break}default:break M}while(0);c[x+16>>2]=pa;k=396}while(0);if((k|0)==396){k=0;W=c[e>>2]|0}q=q+1|0;switch(W|0){case 0:{Nc=Ut(c[l>>2]|0)|0;break}case 1:{Nc=(c[n>>2]|0)>=(c[m>>2]|0)&1;break}default:Nc=0}if(Nc|0)break b}if((k|0)==9)break;switch(c[e>>2]|0){case 0:{au(c[l>>2]|0,-8,1)|0;break b;break}case 1:{c[n>>2]=(c[n>>2]|0)+-8;break b;break}default:break b}}while(0);if(c[i+16>>2]|0){h=i;Fa=d;return h|0}tn(i);h=0;Fa=d;return h|0}while(0);tn(i);h=0;Fa=d;return h|0}function Vn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=0;switch(c[d>>2]|0){case 0:{vu(f,4,1,c[d+8>>2]|0)|0;break}case 1:{g=d+20|0;h=c[g>>2]|0;i=(c[d+16>>2]|0)-h|0;j=(i|0)<4?i:4;i=(j|0)>0?j:0;Xu(f|0,(c[d+12>>2]|0)+h|0,i|0)|0;c[g>>2]=i+h;break}default:{}}h=c[f>>2]|0;f=Fp(h)|0;switch(c[d>>2]|0){case 0:{vu(f,1,h,c[d+8>>2]|0)|0;k=Pp(f,a,h,b)|0;Fa=e;return k|0}case 1:{i=d+20|0;g=c[i>>2]|0;j=(c[d+16>>2]|0)-g|0;l=(h|0)<(j|0)?h:j;j=(l|0)>0?l:0;Xu(f|0,(c[d+12>>2]|0)+g|0,j|0)|0;c[i>>2]=j+(c[i>>2]|0);k=Pp(f,a,h,b)|0;Fa=e;return k|0}default:{k=Pp(f,a,h,b)|0;Fa=e;return k|0}}return 0}function Wn(a){a=a|0;var b=0;switch(c[a>>2]|0){case 0:{b=Ut(c[a+8>>2]|0)|0;return b|0}case 1:{b=(c[a+20>>2]|0)>=(c[a+16>>2]|0)&1;return b|0}default:{b=0;return b|0}}return 0}function Xn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Fa;Fa=Fa+16|0;d=b;e=Yn(a,63774)|0;if(e){f=Un(0,e)|0;if(!(xr(e)|0)){if(!(c[e>>2]|0))Pt(c[e+8>>2]|0)|0;if(c[e+88>>2]|0)Hp(c[e+12>>2]|0);Hp(e);if(!(c[525586]|0)){c[525586]=(_q()|0)+1e3;g=f}else g=f}else g=f}else g=0;c[d>>2]=a;c[d+4>>2]=(g|0)==0?63777:63784;vs(1504976,63787,d)|0;Pm(1504976);Fa=b;return g|0}function Yn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Fa;Fa=Fa+48|0;f=e+40|0;g=e+24|0;h=e+8|0;i=e;if((ka(24)|0)!=1){j=wr(b,d)|0;k=(j|0)!=0;if(k){c[i>>2]=b;c[i+4>>2]=d;xu(63810,i)|0}i=a[d>>0]|0;if(i<<24>>24==119|k&i<<24>>24==114){l=j;Fa=e;return l|0}}j=Fp(92)|0;Ep(j,0,92);c[j>>2]=0;i=Jt(b,d)|0;c[j+8>>2]=i;if(i){i=(j|0)!=0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=i?63896:63777;xu(63873,g)|0;if(i){l=j;Fa=e;return l|0}}else{Hp(j);c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=63777;xu(63873,h)|0}h=wr(b,d)|0;if(!h){l=0;Fa=e;return l|0}c[f>>2]=b;c[f+4>>2]=d;xu(63903,f)|0;l=h;Fa=e;return l|0}function Zn(a){a=a|0;if(!a)return;if(xr(a)|0)return;if(!(c[a>>2]|0))Pt(c[a+8>>2]|0)|0;if(c[a+88>>2]|0)Hp(c[a+12>>2]|0);Hp(a);if(c[525586]|0)return;c[525586]=(_q()|0)+1e3;return}function _n(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;a[b>>0]=0;if(!f){g=0;return g|0}switch(c[f>>2]|0){case 0:{h=Ut(c[f+8>>2]|0)|0;i=5;break}case 1:{h=(c[f+20>>2]|0)>=(c[f+16>>2]|0)&1;i=5;break}default:{}}if((i|0)==5?h|0:0){g=0;return g|0}a[b>>0]=0;switch(c[f>>2]|0){case 0:{j=tu(c[f+8>>2]|0)|0;i=10;break}case 1:{h=f+20|0;k=c[h>>2]|0;if((k|0)<(c[f+16>>2]|0)){c[h>>2]=k+1;j=d[(c[f+12>>2]|0)+k>>0]|0;i=10}else{l=0;i=11}break}default:{l=0;i=11}}if((i|0)==10){k=(j+256|0)%256|0;switch(k|0){case 10:case 13:case 255:{m=0;n=k;break}default:{l=k;i=11}}}a:do if((i|0)==11){a[b>>0]=l;switch(c[f>>2]|0){case 0:{o=Ut(c[f+8>>2]|0)|0;break}case 1:{o=(c[f+20>>2]|0)>=(c[f+16>>2]|0)&1;break}default:o=0}k=e+-1|0;if((e|0)>2&(o|0)==0){j=f+8|0;h=f+20|0;p=f+16|0;q=f+12|0;r=1;while(1){switch(c[f>>2]|0){case 0:{s=tu(c[j>>2]|0)|0;i=20;break}case 1:{t=c[h>>2]|0;if((t|0)<(c[p>>2]|0)){c[h>>2]=t+1;s=d[(c[q>>2]|0)+t>>0]|0;i=20}else u=0;break}default:u=0}if((i|0)==20){i=0;switch(s|0){case 10:case 13:{m=r;n=s;break a;break}default:u=s}}a[b+r>>0]=u;t=r+1|0;switch(c[f>>2]|0){case 0:{v=Ut(c[j>>2]|0)|0;break}case 1:{v=(c[h>>2]|0)>=(c[p>>2]|0)&1;break}default:v=0}if((t|0)<(k|0)&(v|0)==0)r=t;else{m=t;n=u;break a}}}else{m=1;n=l}}while(0);a[b+m>>0]=0;if((n|0)!=13){g=b;return g|0}switch(c[f>>2]|0){case 0:{w=tu(c[f+8>>2]|0)|0;i=30;break}case 1:{n=f+20|0;m=c[n>>2]|0;if((m|0)<(c[f+16>>2]|0)){c[n>>2]=m+1;w=d[(c[f+12>>2]|0)+m>>0]|0;i=30}break}default:{g=b;return g|0}}if((i|0)==30){if((w|0)==10){g=b;return g|0}if((c[f>>2]|0)!=1){g=b;return g|0}}w=f+20|0;c[w>>2]=(c[w>>2]|0)+-1;g=b;return g|0}function $n(){Ep(2103384,0,2248);c[525847]=0;c[525848]=0;c[525849]=32;c[525853]=256;c[525854]=256;if(c[526406]|0)c[525853]=64;c[525865]=1024;if(ka(25)|0){su(64025)|0;c[525865]=2048}c[525866]=-1;c[525859]=0;c[525867]=0;c[525868]=0;c[525869]=0;c[525870]=0;c[525860]=-1;c[525861]=-1;c[525862]=-1;c[525879]=-1;c[525880]=1;c[525886]=0;c[525855]=2;c[525856]=10;c[525858]=0;if(!(c[526406]|0)){c[525875]=1;c[525887]=30;return}c[525855]=5;c[525875]=1;c[525887]=30;return}function ao(){return}function bo(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=(c|0)==0?1515344:c;a[d>>0]=0;c=b;a:while(1){e=a[c>>0]|0;switch(e<<24>>24){case 32:{c=c+1|0;break}case 0:{f=13;break a;break}default:break a}}if((f|0)==13)return d|0;b=0;g=d;h=c;c=e;while(1){if(c<<24>>24>31){e=c<<24>>24==92?47:c<<24>>24;if((b|0)!=47|(e|0)!=47){a[g>>0]=e;i=g+1|0;a[i>>0]=0;j=e;k=i}else{j=47;k=g}}else{j=b;k=g}h=h+1|0;c=a[h>>0]|0;if(!(c<<24>>24))break;else{b=j;g=k}}if(k>>>0<=d>>>0)return d|0;g=k;b:while(1){k=g+-1|0;switch(a[k>>0]|0){case 47:{f=13;break b;break}case 32:break;default:{f=12;break b}}a[k>>0]=0;if(k>>>0>d>>>0)g=k;else{f=13;break}}if((f|0)==12){a[g>>0]=47;a[g+1>>0]=0;return d|0}else if((f|0)==13)return d|0;return 0}function co(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=Fa;Fa=Fa+1024|0;h=g;i=(c|0)!=0;if(i)a[c>>0]=0;j=(d|0)!=0;if(j)a[d>>0]=0;k=(e|0)!=0;if(k)a[e>>0]=0;if((ft(b)|0)>>>0>1023){Pm(64078);Fa=g;return}Lm(h,b)|0;l=ft(b)|0;b=h+l|0;a:do if((l|0)>0){m=b;while(1){if((a[m>>0]&-2)<<24>>24==46){n=m;break a}o=m+-1|0;if(o>>>0>h>>>0)m=o;else{n=o;break}}}else n=b;while(0);if(f){f=a[n>>0]|0;if(f<<24>>24==46){b=n+-1|0;b:do if(b>>>0>h>>>0){l=b;while(1){if((a[l>>0]|1)<<24>>24==47){p=l;break b}m=l+-1|0;if(m>>>0>h>>>0)l=m;else{p=m;break}}}else p=b;while(0);q=(a[p>>0]|0)==46?p:n;r=20}else{s=n;t=f;r=27}}else{q=n;r=20}c:do if((r|0)==20){n=a[q>>0]|0;if(n<<24>>24==46){if(k)Lm(e,q)|0;a[q>>0]=0;if(q>>>0>h>>>0){f=q;while(1){p=f+-1|0;b=a[p>>0]|0;if(p>>>0<=h>>>0){s=p;t=b;r=27;break c}if(b<<24>>24==47){u=p;r=28;break}else f=p}}else v=q}else{s=q;t=n;r=27}}while(0);if((r|0)==27)if(t<<24>>24==47){u=s;r=28}else v=s;if((r|0)==28)v=u+1|0;if(j)Lm(d,v)|0;if((v|0)==(h|0)){Fa=g;return}a[v>>0]=0;if(!i){Fa=g;return}Lm(c,h)|0;Fa=g;return}function eo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;co(a,b,c,d,0);return}function fo(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=Fa;Fa=Fa+1024|0;e=d;switch(a[b>>0]|0){case 92:case 47:{f=3;break}default:if((a[b+1>>0]|0)==58)f=3;else jr(b,e)}if((f|0)==3)ot(e,b)|0;a[c>>0]=0;b=1;g=0;a:while(1){h=e+g|0;i=g;b:while(1){j=a[e+i>>0]|0;switch(j<<24>>24){case 0:case 92:case 47:{break b;break}default:{}}i=i+1|0}k=e+i|0;l=j<<24>>24==0;if((g|0)==(i|0)&l){f=10;break}a[k>>0]=0;c:do if(Xs(h,72022)|0){if(!((g|0)==0|(Xs(h,64122)|0)!=0)){m=(ft(c)|0)+-1|0;if((m|0)<=0){n=b;f=24;break}a[c+m>>0]=0;o=m;while(1){m=c+o|0;switch(a[m>>0]|0){case 58:case 92:case 47:{n=b;f=24;break c;break}default:{}}a[m>>0]=0;if((o|0)>1)o=o+-1|0;else{n=b;f=24;break c}}}if(Xs(h,64125)|0){if((b|0)==0?(a[h>>0]|0)==0:0){n=0;f=24;break}pt(c,h)|0;if(l){f=22;break a}o=c+(ft(c)|0)|0;a[o>>0]=47;a[o+1>>0]=0;a[k>>0]=j;p=0}else{n=b;f=24}}else{n=b;f=24}while(0);if((f|0)==24){f=0;a[k>>0]=j;if(l){f=26;break}else p=n}b=p;g=i+1|0}if((f|0)==10){if(g|0){Fa=d;return}a[c>>0]=0;Fa=d;return}else if((f|0)==22){a[k>>0]=0;Fa=d;return}else if((f|0)==26){Fa=d;return}}function go(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Fa;Fa=Fa+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=0;c[g>>2]=0;if(!b){h=0;Fa=d;return h|0}if(vp(e,f,g,b)|0){h=0;Fa=d;return h|0}b=c[f>>2]|0;i=c[g>>2]|0;if((i+-1|b+-1)>>>0>16383){h=0;Fa=d;return h|0}j=cn(b,i,32)|0;i=j+12|0;Xu(c[i>>2]|0,c[e>>2]|0,B(c[f>>2]<<2,c[g>>2]|0)|0)|0;b=B(c[g>>2]|0,c[f>>2]|0)|0;if(b|0){f=b;b=c[i>>2]|0;while(1){i=a[b>>0]|0;g=b+2|0;a[b>>0]=a[g>>0]|0;a[g>>0]=i;f=f+-1|0;if(!f)break;else b=b+4|0}}Hp(c[e>>2]|0);h=j;Fa=d;return h|0}function ho(a){a=a|0;var b=0,d=0;b=Yn(a,63774)|0;if(!b){d=0;return d|0}a=go(b)|0;if(xr(b)|0){d=a;return d|0}if(!(c[b>>2]|0))Pt(c[b+8>>2]|0)|0;if(c[b+88>>2]|0)Hp(c[b+12>>2]|0);Hp(b);if(c[525586]|0){d=a;return d|0}c[525586]=(_q()|0)+1e3;d=a;return d|0}function io(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=Fa;Fa=Fa+16|0;f=e;g=d+4|0;h=cn(c[d>>2]|0,c[g>>2]|0,32)|0;i=d+8|0;j=c[i>>2]|0;if((j|0)==32){Oo(d,h,0,0,0,0,c[d>>2]|0,c[g>>2]|0);k=c[i>>2]|0}else k=j;if((k|0)==8)on(d,h,c[704831]|0);k=h+12|0;j=c[d>>2]|0;i=c[g>>2]|0;l=B(i,j)|0;if(!l){m=j;n=i}else{i=c[k>>2]|0;j=l;while(1){l=a[i>>0]|0;o=i+2|0;a[i>>0]=a[o>>0]|0;a[o>>0]=l;j=j+-1|0;if(!j)break;else i=i+4|0}m=c[d>>2]|0;n=c[g>>2]|0}c[f>>2]=Cp(b,c[k>>2]|0,m,n,6,8)|0;c[f+4>>2]=b;vs(1504976,64127,f)|0;Pm(1504976);dn(h)|0;Fa=e;return 0}function jo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Fa;Fa=Fa+1040|0;f=e+1024|0;g=e;Ep(g,0,1024);c[f>>2]=d;vs(g,b,f)|0;f=ft(g)|0;switch(c[a>>2]|0){case 0:{b=a+20|0;c[b>>2]=(c[b>>2]|0)+f;b=a+16|0;c[b>>2]=(c[b>>2]|0)+f;ku(g,1,f,c[a+8>>2]|0)|0;Fa=e;return 0}case 1:{if(!(c[a+88>>2]|0)){b=a+20|0;Xu((c[a+12>>2]|0)+(c[b>>2]|0)|0,g|0,f|0)|0;h=b}else{b=a+20|0;Jp(a,(c[b>>2]|0)+f|0)|0;Xu((c[a+12>>2]|0)+(c[b>>2]|0)|0,g|0,f|0)|0;h=b}b=(c[h>>2]|0)+f|0;c[h>>2]=b;h=a+16|0;a=c[h>>2]|0;c[h>>2]=(a|0)>(b|0)?a:b;Fa=e;return 0}default:{Fa=e;return 0}}return 0}function ko(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=Fa;Fa=Fa+1040|0;i=h+1024|0;j=h;Ep(j,0,1024);c[i>>2]=d;c[i+4>>2]=e;c[i+8>>2]=f;c[i+12>>2]=g;vs(j,b,i)|0;i=ft(j)|0;switch(c[a>>2]|0){case 0:{b=a+20|0;c[b>>2]=(c[b>>2]|0)+i;b=a+16|0;c[b>>2]=(c[b>>2]|0)+i;ku(j,1,i,c[a+8>>2]|0)|0;Fa=h;return 0}case 1:{if(!(c[a+88>>2]|0)){b=a+20|0;Xu((c[a+12>>2]|0)+(c[b>>2]|0)|0,j|0,i|0)|0;k=b}else{b=a+20|0;Jp(a,(c[b>>2]|0)+i|0)|0;Xu((c[a+12>>2]|0)+(c[b>>2]|0)|0,j|0,i|0)|0;k=b}b=(c[k>>2]|0)+i|0;c[k>>2]=b;k=a+16|0;a=c[k>>2]|0;c[k>>2]=(a|0)>(b|0)?a:b;Fa=h;return 0}default:{Fa=h;return 0}}return 0}function lo(a){a=a|0;var b=0,c=0,d=0,e=0;b=Jt(a,63774)|0;if(!b){c=0;return c|0}a=Ip(1024)|0;d=Fp(65536)|0;if(!(Ut(b)|0))do{e=vu(d,1,65536,b)|0;Qn(d,1,e,a)|0}while((e|0)!=0&(Ut(b)|0)==0);Hp(d);Pt(b)|0;c=a;return c|0}function mo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Jt(a,63774)|0;if(!c){d=1;return d|0}a=Jt(b,71945)|0;if(!a){Pt(c)|0;d=2;return d|0}b=Fp(65536)|0;if(!(Ut(c)|0))do{e=vu(b,1,65536,c)|0;ku(b,1,e,a)|0}while((e|0)!=0&(Ut(c)|0)==0);Hp(b);Pt(c)|0;Pt(a)|0;d=0;return d|0}function no(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Fa;Fa=Fa+16|0;g=e+8|0;h=e;i=a+24|0;if(((c[i>>2]|0)>0?(j=a+28|0,(c[j>>2]|0)==0):0)?(k=a+8|0,l=Fp(c[k>>2]<<5)|0,c[j>>2]=l,j=c[k>>2]|0,(j|0)>0):0){k=0;do{b[l+(k<<5)>>1]=0;b[l+(k<<5)+2>>1]=0;f[l+(k<<5)+4>>2]=1.0;k=k+1|0}while((k|0)<(j|0))}j=a+8|0;k=c[j>>2]|0;if((k|0)>=(d|0)){Fa=e;return}l=(k+1|0)==(d|0)?(d*5|0)/4|0:d;d=Gp(c[a>>2]|0,l*12|0)|0;c[a>>2]=d;if(!d){c[h>>2]=64186;vs(1504976,64163,h)|0;Pm(1504976)}if((c[i>>2]|0)>0){i=a+28|0;a=Gp(c[i>>2]|0,l<<5)|0;c[i>>2]=a;if(!a){c[g>>2]=64212;vs(1504976,64163,g)|0;Pm(1504976)}g=c[j>>2]|0;if((g|0)<(l|0)){a=c[i>>2]|0;i=g;do{b[a+(i<<5)>>1]=0;b[a+(i<<5)+2>>1]=0;f[a+(i<<5)+4>>2]=1.0;i=i+1|0}while((i|0)!=(l|0))}}c[j>>2]=l;Fa=e;return}function oo(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Fa;Fa=Fa+16|0;g=e;h=a+20|0;i=c[h>>2]|0;if((i|0)>=(d|0)){Fa=e;return}j=(i+1|0)==(d|0)?(d*5|0)/4|0:d;d=a+12|0;i=Gp(c[d>>2]|0,j*80|0)|0;c[d>>2]=i;if(!i){c[g>>2]=64243;vs(1504976,64163,g)|0;Pm(1504976)}g=c[a+16>>2]|0;if((g|0)>0){a=c[d>>2]|0;i=0;do{if((b[a+(i*80|0)+56>>1]|0)<5){c[a+(i*80|0)+48>>2]=a+(i*80|0);c[a+(i*80|0)+52>>2]=a+(i*80|0)+16}i=i+1|0}while((i|0)<(g|0))}g=c[h>>2]|0;if((g|0)<(j|0)){i=c[d>>2]|0;d=g;do{f[i+(d*80|0)+64>>2]=0.0;f[i+(d*80|0)+60>>2]=0.0;f[i+(d*80|0)+68>>2]=1.0;b[i+(d*80|0)+72>>1]=0;b[i+(d*80|0)+74>>1]=0;g=i+(d*80|0)+56|0;a=i+(d*80|0)|0;c[i+(d*80|0)+48>>2]=a;c[i+(d*80|0)+52>>2]=i+(d*80|0)+16;b[i+(d*80|0)+58>>1]=4;k=a;a=k+48|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(a|0));b[g>>1]=4;d=d+1|0}while((d|0)!=(j|0))}c[h>>2]=j;Fa=e;return}function po(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=(d&1)+d|0;g=a+58|0;h=b[g>>1]|0;if((e|0)>4&(e|0)>(h<<16>>16|0)){i=a+48|0;if(h<<16>>16<5){c[i>>2]=0;h=a+52|0;c[h>>2]=0;j=i;k=h;l=0}else{j=i;k=a+52|0;l=c[i>>2]|0}c[j>>2]=Gp(l,e<<2)|0;c[k>>2]=Gp(c[k>>2]|0,e<<3)|0;if((b[g>>1]|0)<5){l=a+56|0;Xu(c[j>>2]|0,a|0,b[l>>1]<<2|0)|0;Xu(c[k>>2]|0,a+16|0,b[l>>1]<<3|0)|0}b[g>>1]=e}e=a+56|0;g=b[e>>1]|0;if((g|0)>=(d|0)){m=d&65535;b[e>>1]=m;return}l=c[a+48>>2]|0;k=c[a+52>>2]|0;a=g;do{c[l+(a<<2)>>2]=0;f[k+(a<<3)+4>>2]=0.0;f[k+(a<<3)>>2]=0.0;a=a+1|0}while((a|0)!=(d|0));m=d&65535;b[e>>1]=m;return}function qo(){var a=0,b=0,d=0;a=Fp(52)|0;b=a;d=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[525418]=(c[525418]|0)+1;return a|0}function ro(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;d=a+16|0;e=c[d>>2]|0;if((e|0)>0){f=a+12|0;g=0;h=e;while(1){e=c[f>>2]|0;if((b[e+(g*80|0)+58>>1]|0)>4){Hp(c[e+(g*80|0)+48>>2]|0);Hp(c[(c[f>>2]|0)+(g*80|0)+52>>2]|0);i=c[d>>2]|0}else i=h;g=g+1|0;if((g|0)>=(i|0))break;else h=i}}i=c[a>>2]|0;if(i|0)Hp(i);i=c[a+32>>2]|0;if(i|0)Hp(i);i=c[a+12>>2]|0;if(i|0)Hp(i);i=c[a+28>>2]|0;if(i|0)Hp(i);i=c[a+48>>2]|0;if(i|0)Hp(i);i=c[a+36>>2]|0;if(i|0)Hp(i);i=c[a+40>>2]|0;if(i|0)Hp(i);Hp(a);c[525418]=(c[525418]|0)+-1;return}function so(a){a=a|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=Fa;Fa=Fa+32|0;e=d+12|0;g=d;h=a+16|0;i=c[h>>2]|0;if((i|0)<=0){Fa=d;return}j=a+12|0;k=e+4|0;l=e+8|0;m=g+4|0;n=g+8|0;o=0;p=i;while(1){i=c[j>>2]|0;if((b[i+(o*80|0)+56>>1]|0)>2){q=c[a>>2]|0;r=c[i+(o*80|0)+48>>2]|0;s=c[r+4>>2]|0;t=q+(s*12|0)|0;u=c[r>>2]|0;f[e>>2]=+f[t>>2]-+f[q+(u*12|0)>>2];v=q+(s*12|0)+4|0;f[k>>2]=+f[v>>2]-+f[q+(u*12|0)+4>>2];w=q+(s*12|0)+8|0;f[l>>2]=+f[w>>2]-+f[q+(u*12|0)+8>>2];u=c[r+8>>2]|0;f[g>>2]=+f[t>>2]-+f[q+(u*12|0)>>2];f[m>>2]=+f[v>>2]-+f[q+(u*12|0)+4>>2];f[n>>2]=+f[w>>2]-+f[q+(u*12|0)+8>>2];u=i+(o*80|0)+60|0;yo(e,g,u);xo(u);x=c[h>>2]|0}else{f[i+(o*80|0)+60>>2]=0.0;f[i+(o*80|0)+64>>2]=1.0;f[i+(o*80|0)+68>>2]=0.0;x=p}o=o+1|0;if((o|0)>=(x|0))break;else p=x}Fa=d;return}function to(){var a=0,b=0,d=0,e=0,f=0;a=Fp(96)|0;if(!a){b=0;return b|0}d=a+32|0;e=a;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=-13408615;c[a+36>>2]=-10461088;c[525418]=(c[525418]|0)+1;b=a;return b|0}function uo(a){a=a|0;if(!a)return;Hp(a);c[525418]=(c[525418]|0)+-1;return}function vo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=a+44|0;c[b>>2]=0;d=a+24|0;e=c[d>>2]|0;f=a+36|0;g=c[f>>2]|0;if(!e){Hp(g);c[f>>2]=0;h=a+40|0;Hp(c[h>>2]|0);c[h>>2]=0;return}c[f>>2]=Gp(g,e<<2)|0;e=a+40|0;g=Gp(c[e>>2]|0,c[d>>2]<<2)|0;c[e>>2]=g;e=c[d>>2]|0;if((e|0)>0){h=c[f>>2]|0;i=a+12|0;a=0;do{j=h+(a<<2)|0;c[j>>2]=-1;k=c[d>>2]|0;if((k|0)>0){l=c[i>>2]|0;m=c[l+(a*80|0)+48>>2]|0;n=0;o=k;while(1){if((c[m>>2]|0)==(c[(c[l+(n*80|0)+48>>2]|0)+4>>2]|0)){c[j>>2]=n;p=c[d>>2]|0}else p=o;n=n+1|0;if((n|0)>=(p|0)){q=p;break}else o=p}}else q=k;a=a+1|0}while((a|0)<(q|0));c[b>>2]=(q<<4)+16;if((q|0)>0){a=0;do{c[g+(a<<2)>>2]=32768;a=a+1|0;p=c[d>>2]|0}while((a|0)<(p|0));r=p}else r=q}else{c[b>>2]=(e<<4)+16;r=e}e=0;b=r;while(1){if((b|0)<=0){s=24;break}r=0;q=e;a=0;p=b;while(1){i=g+(a<<2)|0;do if(!(c[i>>2]&32768)){t=r;u=q;v=p}else{h=c[(c[f>>2]|0)+(a<<2)>>2]|0;if((h|0)!=-1?c[g+(h<<2)>>2]&32768|0:0){t=r;u=q;v=p;break}h=g+(q<<2)|0;c[h>>2]=c[h>>2]|a;c[i>>2]=c[i>>2]&32767;t=1;u=q+1|0;v=c[d>>2]|0}while(0);a=a+1|0;if((a|0)>=(v|0))break;else{r=t;q=u;p=v}}if(!t){s=24;break}else{e=u;b=v}}if((s|0)==24)return}function wo(a){a=a|0;so(a);vo(a);Mo(a,0);return}function xo(a){a=a|0;var b=0.0,c=0,d=0.0,e=0,g=0.0,h=0.0,i=0.0,j=0.0;b=+f[a>>2];c=a+4|0;d=+f[c>>2];e=a+8|0;g=+f[e>>2];h=+v(+(b*b+d*d+g*g));if(h==0.0){f[a>>2]=0.0;f[c>>2]=1.0;i=0.0;f[e>>2]=i;return}else{j=1.0/h;f[a>>2]=b*j;f[c>>2]=d*j;i=g*j;f[e>>2]=i;return}}function yo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=a+4|0;e=b+8|0;g=a+8|0;h=b+4|0;f[c>>2]=+f[d>>2]*+f[e>>2]-+f[g>>2]*+f[h>>2];f[c+4>>2]=+f[g>>2]*+f[b>>2]-+f[a>>2]*+f[e>>2];f[c+8>>2]=+f[a>>2]*+f[h>>2]-+f[d>>2]*+f[b>>2];return}function zo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;d=+f[a>>2];e=+f[a+12>>2];g=+f[a+24>>2];h=1.0/(d*d+e*e+g*g);i=+f[a+4>>2]*h;j=+f[a+8>>2]*h;k=+f[a+16>>2]*h;l=+f[a+20>>2]*h;m=+f[a+28>>2]*h;n=+f[a+32>>2]*h;o=+f[b>>2]-+f[a+36>>2];p=+f[b+4>>2]-+f[a+40>>2];q=+f[b+8>>2]-+f[a+44>>2];f[c>>2]=d*h*o+e*h*p+g*h*q;f[c+4>>2]=i*o+k*p+m*q;f[c+8>>2]=j*o+l*p+n*q;return}function Ao(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[8787]=b;c[8786]=b^-1095947846;return}function Bo(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a){b=0;return b|0}d=c[8786]|0;e=c[8787]|0;f=(d<<16|d>>>16)+e|0;c[8786]=f;c[8787]=f+e;b=(f>>>0)%(a>>>0)|0;return b|0}function Co(a){a=a|0;var b=0,d=0;b=(a+2|0)>>>2&16383;a=b>>>0>8191?16384-b|0:b;if(a>>>0>4095){d=0-(c[3360+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[3360+(a<<2)>>2]|0;return d|0}return 0}function Do(a){a=a|0;var b=0,d=0;b=(a+16386|0)>>>2&16383;a=b>>>0>8191?16384-b|0:b;if(a>>>0>4095){d=0-(c[3360+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[3360+(a<<2)>>2]|0;return d|0}return 0}function Eo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=0-b|0;if(!a)e=B(d>>31|1,2147483647)|0;else{b=Su(d|0,((d|0)<0)<<31>>31|0,16)|0;d=Nu(b|0,G()|0,a|0,((a|0)<0)<<31>>31|0)|0;b=G()|0;f=(b|0)>-1|(b|0)==-1&d>>>0>2147483649;g=f?d:-2147483647;d=f?b:-1;b=(d|0)<0|(d|0)==0&g>>>0<2147483647;d=b?g:2147483647;e=d}d=(e|0)<0?0-e|0:e;if((d|0)>65536){g=Nu(0,1,d|0,((d|0)<0)<<31>>31|0)|0;b=G()|0;f=(b|0)>-1|(b|0)==-1&g>>>0>2147483649;h=f?g:-2147483647;g=f?b:-1;b=(g|0)<0|(g|0)==0&h>>>0<2147483647;g=b?h:2147483647;i=0;j=g}else{i=1;j=d}d=j>>5;j=(d|0)<2048?d:2048;d=c[19760+(((j|0)>0?j:0)<<2)>>2]|0;j=B(i?d:16384-d|0,e>>31|1)|0;return ((a|0)<0?j+32768|0:j)&65535|0}function Fo(){var a=0;a=Fp(16)|0;c[a>>2]=0;c[a+4>>2]=0;c[525418]=(c[525418]|0)+1;return a|0}function Go(a){a=a|0;var b=0;if(!a)return;if((c[a>>2]|0)>0){b=0;do{Ho(a,b);b=b+1|0}while((b|0)<(c[a>>2]|0))}Hp(c[a+4>>2]|0);c[525418]=(c[525418]|0)+-1;return}function Ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((a|0)==0|(b|0)<0)return;if((c[a>>2]|0)<=(b|0))return;d=a+4|0;a=c[d>>2]|0;e=c[a+(b*112|0)+80>>2]|0;if(!e)f=a;else{Hp(c[e+12>>2]|0);Hp(c[e+16>>2]|0);Hp(c[e+20>>2]|0);Hp(e);f=c[d>>2]|0}e=c[f+(b*112|0)+84>>2]|0;if(!e)g=f;else{Hp(c[e+12>>2]|0);Hp(c[e+16>>2]|0);Hp(c[e+20>>2]|0);Hp(e);g=c[d>>2]|0}e=c[g+(b*112|0)+88>>2]|0;if(!e)h=g;else{Hp(c[e+12>>2]|0);Hp(c[e+16>>2]|0);Hp(c[e+20>>2]|0);Hp(e);h=c[d>>2]|0}e=c[h+(b*112|0)+96>>2]|0;if(!e)i=h;else{Hp(c[e+12>>2]|0);Hp(c[e+16>>2]|0);Hp(c[e+20>>2]|0);Hp(e);i=c[d>>2]|0}e=c[i+(b*112|0)+92>>2]|0;if((c[i+(b*112|0)+104>>2]|0)>0){h=0;g=e;f=i;while(1){i=c[g+(h<<2)>>2]|0;if(!i)j=f;else{Hp(c[i+12>>2]|0);Hp(c[i+16>>2]|0);Hp(c[i+20>>2]|0);Hp(i);j=c[d>>2]|0}h=h+1|0;i=c[j+(b*112|0)+92>>2]|0;if((h|0)>=(c[j+(b*112|0)+104>>2]|0)){k=i;break}else{g=i;f=j}}}else k=e;Hp(k);return}function Io(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Fa;Fa=Fa+16|0;e=d;f=(c[b>>2]|0)+1|0;c[b>>2]=f;g=b+4|0;h=Gp(c[g>>2]|0,f*112|0)|0;c[g>>2]=h;g=(c[b>>2]|0)+-1|0;c[e>>2]=g;vs(h+(g*112|0)|0,64267,e)|0;a[h+(g*112|0)+32>>0]=0;e=h+(g*112|0)+64|0;c[e>>2]=-1;c[e+4>>2]=-1;c[e+8>>2]=-1;c[e+12>>2]=-1;c[h+(g*112|0)+104>>2]=0;c[h+(g*112|0)+100>>2]=0;c[h+(g*112|0)+108>>2]=0;e=Fp(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+80>>2]=e;e=Fp(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+84>>2]=e;e=Fp(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+88>>2]=e;e=Fp(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=24;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+96>>2]=e;c[h+(g*112|0)+92>>2]=0;Fa=d;return (c[b>>2]|0)+-1|0}function Jo(a){a=a|0;var b=0;b=Fp(24)|0;c[b+4>>2]=0;c[b>>2]=0;c[b+8>>2]=a;c[b+16>>2]=0;c[b+20>>2]=0;c[b+12>>2]=0;return b|0}function Ko(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;if((c[d>>2]|0)>=(b|0)){c[a>>2]=b;return}c[d>>2]=b;d=a+12|0;c[d>>2]=Gp(c[d>>2]|0,B(c[a+8>>2]|0,b)|0)|0;d=a+16|0;e=b<<2;c[d>>2]=Gp(c[d>>2]|0,e)|0;d=a+20|0;c[d>>2]=Gp(c[d>>2]|0,e)|0;c[a>>2]=b;return}function Lo(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0;d=a+24|0;e=c[d>>2]|0;g=e<<2;h=b+(g<<2)|0;i=b+((g|3)<<2)|0;if(!e)return;g=a+48|0;j=Gp(c[g>>2]|0,e*48|0)|0;c[g>>2]=j;e=c[d>>2]|0;if((e|0)>0){k=a+36|0;l=0;m=b;b=j;while(1){n=+f[m>>2];o=+x(+n);p=+f[m+4>>2];q=+x(+p);r=+f[m+8>>2];s=+x(+r);t=+w(+n);n=+w(+p);p=+w(+r);u=b+(l*48|0)|0;f[b+(l*48|0)+4>>2]=q;f[u>>2]=t*n;f[b+(l*48|0)+8>>2]=o*n;v=b+(l*48|0)+12|0;r=n*0.0-q*s;f[b+(l*48|0)+16>>2]=q*0.0+n*s;f[v>>2]=r*t-o*p;f[b+(l*48|0)+20>>2]=t*p+r*o;yo(u,v,b+(l*48|0)+24|0);v=m+12|0;b=c[g>>2]|0;u=b+(l*48|0)|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+4|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+8|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+12|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+16|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+20|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+24|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+28|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+32|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+12|0;v=c[u>>2]|0;y=b+(l*48|0)+4|0;c[u>>2]=c[y>>2];c[y>>2]=v;v=b+(l*48|0)+24|0;y=c[v>>2]|0;u=b+(l*48|0)+8|0;c[v>>2]=c[u>>2];c[u>>2]=y;y=b+(l*48|0)+28|0;u=c[y>>2]|0;v=b+(l*48|0)+20|0;c[y>>2]=c[v>>2];c[v>>2]=u;if((c[(c[k>>2]|0)+(l<<2)>>2]|0)==-1){f[b+(l*48|0)+36>>2]=0.0;f[b+(l*48|0)+40>>2]=0.0;f[b+(l*48|0)+44>>2]=0.0}l=l+1|0;z=c[d>>2]|0;if((l|0)>=(z|0))break;else m=m+16|0}m=(z|0)>0;if(m){l=c[a+40>>2]|0;d=c[a+36>>2]|0;a=0;do{k=c[l+(a<<2)>>2]|0;g=c[d+(k<<2)>>2]|0;if((g|0)!=-1){f[b+(k*48|0)+36>>2]=+f[b+(g*48|0)+36>>2]+ +f[b+(g*48|0)>>2];f[b+(k*48|0)+40>>2]=+f[b+(g*48|0)+40>>2]+ +f[b+(g*48|0)+12>>2];f[b+(k*48|0)+44>>2]=+f[b+(g*48|0)+44>>2]+ +f[b+(g*48|0)+24>>2]}a=a+1|0}while((a|0)!=(z|0));A=z;B=b;C=m}else{A=z;B=b;C=0}}else{A=e;B=j;C=0}j=c[i>>2]|0;i=(j|0)<0;e=i?0-j|0:j;o=+f[B+(e*48|0)+36>>2];r=+f[B+(e*48|0)+40>>2];p=+f[B+(e*48|0)+44>>2];if(i){D=o+ +f[B+(e*48|0)>>2];E=r+ +f[B+(e*48|0)+12>>2];F=p+ +f[B+(e*48|0)+24>>2]}else{D=o;E=r;F=p}p=+f[h>>2]-D;D=+f[h+4>>2]-E;E=+f[h+8>>2]-F;if(!C)return;C=0;do{h=B+(C*48|0)+36|0;f[h>>2]=p+ +f[h>>2];h=B+(C*48|0)+40|0;f[h>>2]=D+ +f[h>>2];h=B+(C*48|0)+44|0;f[h>>2]=E+ +f[h>>2];C=C+1|0}while((C|0)!=(A|0));return}function Mo(a,b){a=a|0;b=b|0;var d=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0.0,A=0.0,B=0.0,C=0.0,D=0.0;d=Fa;Fa=Fa+16|0;g=d;if(!a){Fa=d;return}h=a+24|0;i=a+28|0;j=c[i>>2]|0;if(!(c[h>>2]|0)){Hp(j);c[i>>2]=0;Fa=d;return}k=a+4|0;c[i>>2]=Gp(j,c[k>>2]<<5)|0;j=a+44|0;l=Fp(c[j>>2]|0)|0;if((c[h>>2]|0)>0){m=a+12|0;n=g+4|0;o=g+8|0;p=a+36|0;q=0;r=0;while(1){s=c[a>>2]|0;t=c[(c[m>>2]|0)+(r*80|0)+48>>2]|0;u=c[t+4>>2]|0;w=c[t>>2]|0;x=+f[s+(u*12|0)>>2]-+f[s+(w*12|0)>>2];f[g>>2]=x;A=+f[s+(u*12|0)+4>>2]-+f[s+(w*12|0)+4>>2];f[n>>2]=A;B=+f[s+(u*12|0)+8>>2]-+f[s+(w*12|0)+8>>2];f[o>>2]=B;f[l+((q|3)<<2)>>2]=+v(+(x*x+A*A+B*B));xo(g);B=+f[g>>2];A=+f[o>>2];x=+v(+(B*B+A*A));C=+z(+A,+B);w=l+(q<<2)|0;f[w>>2]=C;B=+f[n>>2];if(x==0.0)D=B>=0.0?1.5707963267948966:-1.5707963267948966;else D=+y(+(B/x));x=D;s=l+((q|1)<<2)|0;f[s>>2]=x;f[l+((q|2)<<2)>>2]=0.0;if(+f[o>>2]<0.0){f[w>>2]=C+3.141592653589793;f[s>>2]=(1.5707963267948966-(x<0.0?-x:x))*2.0*(+f[n>>2]>=0.0?1.0:-1.0)+x}if((c[(c[p>>2]|0)+(r<<2)>>2]|0)==-1){s=c[h>>2]<<2;w=l+(s<<2)|0;u=c[a>>2]|0;t=c[c[(c[m>>2]|0)+(r*80|0)+48>>2]>>2]|0;c[w>>2]=c[u+(t*12|0)>>2];c[w+4>>2]=c[u+(t*12|0)+4>>2];c[w+8>>2]=c[u+(t*12|0)+8>>2];c[l+((s|3)<<2)>>2]=r}r=r+1|0;if((r|0)>=(c[h>>2]|0))break;else q=q+4|0}}if(b|0){Xu(b|0,l|0,c[j>>2]|0)|0;Hp(l);Fa=d;return}Lo(a,l);if((c[k>>2]|0)>0){j=a+48|0;b=0;do{q=c[i>>2]|0;zo((c[j>>2]|0)+((e[q+(b<<5)>>1]|0)*48|0)|0,(c[a>>2]|0)+(b*12|0)|0,q+(b<<5)+8|0);q=c[i>>2]|0;zo((c[j>>2]|0)+((e[q+(b<<5)+2>>1]|0)*48|0)|0,(c[a>>2]|0)+(b*12|0)|0,q+(b<<5)+20|0);b=b+1|0}while((b|0)<(c[k>>2]|0))}Hp(l);Fa=d;return}function No(){var a=0,b=0,d=0,e=0;a=c[525877]|0;b=c[525879]|0;if((b|0)==-1)d=(c[704818]|0)<720&1;else d=b;b=c[525876]|0;e=(a|0)<8?a:8;return ((c[525890]|b|((b|0)==0?d:1)|0)==0?((e|0)<1?1:(e|0)>0?e:0):1)|0}function Oo(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=Fa;Fa=Fa+32|0;l=k+20|0;m=k+16|0;n=k+12|0;o=k+8|0;p=k+4|0;q=k;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;if(!((a|0)!=0&(b|0)!=0)){Fa=k;return}j=b+8|0;i=a+8|0;if(2819272==(a|0)?1:(c[j>>2]|0)<(c[i>>2]|0)){Fa=k;return}fn(a,b,l,m,n,o,p,q);h=c[p>>2]|0;if((h|0)<1){Fa=k;return}g=c[j>>2]|0;j=g>>3;if(2819272==(b|0)){f=c[525877]|0;e=c[525879]|0;if((e|0)==-1)r=(c[b>>2]|0)<720&1;else r=e;e=c[525876]|0;s=(f|0)<8?f:8;f=(c[525890]|e|((e|0)==0?r:1)|0)==0?((s|0)<1?1:(s|0)>0?s:0):1;if((f|0)<=1){Zq(a,b,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,h,c[q>>2]|0,0);Fa=k;return}s=c[526427]|0;if(((s|0)!=0?(r=c[s>>2]|0,(r|0)==(B(c[a>>2]|0,f)|0)):0)?(e=c[s+4>>2]|0,(e|0)==(B(c[a+4>>2]|0,f)|0)):0){t=s;u=r;v=e}else{w=a;x=12}if((x|0)==12){dn(s)|0;s=B(c[w>>2]|0,f)|0;w=B(c[a+4>>2]|0,f)|0;f=cn(s,w,c[i>>2]|0)|0;c[526427]=f;t=f;u=c[f>>2]|0;v=c[f+4>>2]|0}jn(a,t,0,0,u,v,0);v=c[526427]|0;Zq(v,b,0,0,0,0,c[v>>2]|0,c[v+4>>2]|0,0);Fa=k;return}v=c[i>>2]|0;if((g|0)==(v|0)){if((c[q>>2]|0)<=0){Fa=k;return}i=b+16|0;u=a+16|0;t=0;f=h;while(1){w=(c[(c[i>>2]|0)+((c[o>>2]|0)+t<<2)>>2]|0)+(B(c[n>>2]|0,j)|0)|0;Xu(w|0,(c[(c[u>>2]|0)+((c[m>>2]|0)+t<<2)>>2]|0)+(B(c[l>>2]|0,j)|0)|0,B(f,j)|0)|0;w=t+1|0;if((w|0)>=(c[q>>2]|0))break;t=w;f=c[p>>2]|0}Fa=k;return}if(!((g|0)==32&(v|0)==8)){Fa=k;return}v=c[704831]|0;g=c[q>>2]|0;if((g|0)<=0){Fa=k;return}f=a+16|0;a=b+16|0;b=0;t=h;h=g;while(1){if((t|0)>0){g=c[f>>2]|0;j=c[a>>2]|0;u=0;do{i=d[(c[g+((c[m>>2]|0)+b<<2)>>2]|0)+((c[l>>2]|0)+u)>>0]|0;c[(c[j+((c[o>>2]|0)+b<<2)>>2]|0)+((c[n>>2]|0)+u<<2)>>2]=(d[v+(i*3|0)>>0]|0)<<16|(d[v+(i*3|0)+1>>0]|0)<<8|(d[v+(i*3|0)+2>>0]|0)|-16777216;u=u+1|0;y=c[p>>2]|0}while((u|0)<(y|0));z=c[q>>2]|0;A=y}else{z=h;A=t}b=b+1|0;if((b|0)>=(z|0))break;else{t=A;h=z}}Fa=k;return}function Po(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;if((j|0)<=0)return;k=b+16|0;b=d+16|0;if(!i)return;d=0;do{l=(c[(c[k>>2]|0)+(d+f<<2)>>2]|0)+e|0;m=i;n=(c[(c[b>>2]|0)+(d+h<<2)>>2]|0)+g|0;while(1){o=a[l>>0]|0;if(o<<24>>24)a[n>>0]=o;m=m+-1|0;if(!m)break;else{l=l+1|0;n=n+1|0}}d=d+1|0}while((d|0)!=(j|0));return}function Qo(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if((i|0)<=0)return;j=a+16|0;a=b+16|0;if((h|0)<=0)return;b=0;do{k=(c[(c[j>>2]|0)+(b+e<<2)>>2]|0)+(d<<2)|0;l=0;m=(c[(c[a>>2]|0)+(b+g<<2)>>2]|0)+(f<<2)|0;while(1){n=c[k>>2]|0;o=kn(c[m>>2]|0,n,n>>>24)|0;c[m>>2]=c[m>>2]&-16777216|o;l=l+1|0;if((l|0)==(h|0))break;else{k=k+4|0;m=m+4|0}}b=b+1|0}while((b|0)!=(i|0));return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a>>2]|0;e=a+8|0;do if((d|0)>0){f=c[e>>2]|0;if(!(Xs(b,c[f+(d+-1<<2)>>2]|0)|0))return;else{g=e;h=f;break}}else{g=e;h=c[e>>2]|0}while(0);c[g>>2]=Gp(h,(d<<2)+4|0)|0;d=Fp((ft(b)|0)+1|0)|0;h=c[a>>2]|0;c[(c[e>>2]|0)+(h<<2)>>2]=d;Lm(c[(c[e>>2]|0)+(h<<2)>>2]|0,b)|0;b=a+16|0;h=Gp(c[b>>2]|0,(c[a>>2]<<2)+4|0)|0;c[b>>2]=h;c[h+(c[a>>2]<<2)>>2]=c[a+4>>2];c[a>>2]=(c[a>>2]|0)+1;return}function So(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=a+8|0;d=c[b>>2]|0;if((c[a>>2]|0)>0){e=0;f=d;while(1){Hp(c[f+(e<<2)>>2]|0);e=e+1|0;g=c[b>>2]|0;if((e|0)>=(c[a>>2]|0)){h=g;break}else f=g}}else h=d;Hp(h);Hp(c[a+16>>2]|0);h=a+4|0;d=a+12|0;a=c[d>>2]|0;if((c[h>>2]|0)<=0){i=a;Hp(i);j=c[525418]|0;k=j+-1|0;c[525418]=k;return}f=0;e=a;while(1){Hp(c[e+(f<<2)>>2]|0);f=f+1|0;a=c[d>>2]|0;if((f|0)>=(c[h>>2]|0)){i=a;break}else e=a}Hp(i);j=c[525418]|0;k=j+-1|0;c[525418]=k;return}function To(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;a:do if((e|0)>0){f=c[a+8>>2]|0;g=0;while(1){if(!(Xs(b,c[f+(g<<2)>>2]|0)|0)){h=g;break a}i=g+1|0;if((i|0)<(e|0))g=i;else{h=i;break}}}else h=0;while(0);if((h|0)==(e|0)){j=35152;k=c[j>>2]|0;return k|0}b=c[a+16>>2]|0;g=(c[b+(h<<2)>>2]|0)+d|0;if((g|0)>=(c[a+4>>2]|0)){j=35152;k=c[j>>2]|0;return k|0}if((h|0)<(e+-1|0)?(g|0)>=(c[b+(h+1<<2)>>2]|0):0){j=35152;k=c[j>>2]|0;return k|0}j=(c[a+12>>2]|0)+(g<<2)|0;k=c[j>>2]|0;return k|0}function Uo(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=Fa;Fa=Fa+2048|0;e=d+1024|0;f=d;g=Yn(b,71765)|0;if(!g){h=0;Fa=d;return h|0}b=Fp(24)|0;Ep(b,0,24);a:do if(!(Wn(g)|0)){i=b+12|0;j=b+4|0;while(1){a[e>>0]=0;_n(e,1023,g)|0;k=a[e>>0]|0;b:do switch(k<<24>>24){case 0:case 47:break;default:{l=e;m=k;while(1){n=m<<24>>24;switch(m<<24>>24){case 47:case 0:{break b;break}default:{}}if(m<<24>>24==95|((n+-48|0)>>>0<10|((n&-33)+-65|0)>>>0<26))break;n=l+1|0;l=n;m=a[n>>0]|0}if(m<<24>>24){a[f>>0]=0;n=0;o=l;p=m;while(1){a[f+n>>0]=p;n=n+1|0;a[f+n>>0]=0;q=o+1|0;p=a[q>>0]|0;r=p<<24>>24;if(!(p<<24>>24==95|((r+-48|0)>>>0<10|((r&-33)+-65|0)>>>0<26)))break;else o=q}if(a[f>>0]|0){Ro(b,f);p=a[q>>0]|0;if(p<<24>>24==58)s=(a[o+2>>0]|0)==58;else s=0;n=q;m=p;c:while(1){switch(m<<24>>24){case 58:case 32:break;default:break c}p=n+1|0;n=p;m=a[p>>0]|0}o=m<<24>>24==0;if(!s){if(o)break b;c[i>>2]=Gp(c[i>>2]|0,(c[j>>2]<<2)+4|0)|0;p=Fp((ft(n)|0)+1|0)|0;l=c[j>>2]|0;c[(c[i>>2]|0)+(l<<2)>>2]=p;Lm(c[(c[i>>2]|0)+(l<<2)>>2]|0,n)|0;c[j>>2]=(c[j>>2]|0)+1;break b}if(!o){o=n;while(1){a[f>>0]=0;l=o;while(1){t=a[l>>0]|0;if(t<<24>>24==32)l=l+1|0;else break}p=0;r=l;u=t;d:while(1){switch(u<<24>>24){case 32:case 0:{break d;break}default:{}}a[f+p>>0]=u;v=p+1|0;a[f+v>>0]=0;w=r+1|0;p=v;r=w;u=a[w>>0]|0}if(!(a[f>>0]|0))x=u;else{c[i>>2]=Gp(c[i>>2]|0,(c[j>>2]<<2)+4|0)|0;p=Fp((ft(f)|0)+1|0)|0;l=c[j>>2]|0;c[(c[i>>2]|0)+(l<<2)>>2]=p;Lm(c[(c[i>>2]|0)+(l<<2)>>2]|0,f)|0;c[j>>2]=(c[j>>2]|0)+1;x=a[r>>0]|0}if(!(x<<24>>24))break;else o=r}}}}}}while(0);if(Wn(g)|0)break a}}while(0);Zn(g);c[525418]=(c[525418]|0)+1;h=b;Fa=d;return h|0}function Vo(a){a=a|0;var b=0;b=Dp(11032)|0;c[b>>2]=a<<2;c[525418]=(c[525418]|0)+1;return b|0}function Wo(a){a=a|0;if(!a)return;Xo(a);Hp(a);c[525418]=(c[525418]|0)+-1;return}function Xo(a){a=a|0;var b=0;b=a+11016|0;eq(c[b>>2]|0);dq(c[b>>2]|0);c[b>>2]=0;b=a+344|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+688|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+1032|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+1376|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+1720|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+2064|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+2408|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+2752|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+3096|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+3440|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+3784|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+4128|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+4472|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+4816|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+5160|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+5504|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+5848|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+6192|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+6536|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+6880|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+7224|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+7568|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+7912|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+8256|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+8600|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+8944|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+9288|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+9632|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+9976|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+10320|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+10664|0;Hp(c[b>>2]|0);c[b>>2]=0;b=a+11008|0;Hp(c[b>>2]|0);c[b>>2]=0;return}function Yo(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0;h=Fa;Fa=Fa+144|0;i=h+88|0;j=h+44|0;k=h;l=f<<3;m=e+g|0;g=f+-2|0;e=f+-4|0;n=i+8|0;o=i+4|0;p=i+12|0;q=i+20|0;r=i+16|0;s=i+24|0;t=i+32|0;u=i+28|0;v=j+8|0;w=j+4|0;x=j+12|0;y=j+20|0;z=j+16|0;A=j+24|0;B=j+32|0;C=j+28|0;D=i+40|0;E=b+4|0;F=b+8|0;G=j+40|0;H=k+8|0;I=k+4|0;J=k+12|0;K=k+20|0;L=k+16|0;M=k+24|0;N=k+32|0;O=k+28|0;P=k+40|0;Q=k+36|0;R=i+36|0;S=j+36|0;T=0;U=0;a:while(1){V=U+2|0;if(V>>>0>=l>>>0){W=52;X=125;break}Y=d[m+(U>>>3)>>0]|0;Z=U&7;_=U+1|0;$=U+3|0;aa=((d[m+(V>>>3)>>0]|0)>>>(V&7)<<1|(d[m+(_>>>3)>>0]|0)>>>(_&7)&1)&255;switch(aa&3){case 3:{W=20;X=125;break a;break}case 0:{if(!($&7))ba=$;else{_=$;while(1){V=_+1|0;if(!(V&7)){ba=V;break}else _=V}}_=ba>>>3;if(_>>>0>=e>>>0){W=52;X=125;break a}V=(d[m+(_+1)>>0]|0)<<8|(d[m+_>>0]|0);ca=_+4|0;if((((d[m+(_+3)>>0]|0)<<8|(d[m+(_+2)>>0]|0))+V|0)!=65535){W=21;X=125;break a}_=V+T|0;if(_>>>0>=(c[E>>2]|0)>>>0){if((c[F>>2]|0)>>>0<_>>>0){da=_<<1;ea=Gp(c[b>>2]|0,da)|0;if(!ea){W=9915;X=125;break a}c[F>>2]=da;c[b>>2]=ea}c[E>>2]=_}ea=V+ca|0;if(ea>>>0>f>>>0){W=23;X=125;break a}if(!V){fa=ca;ga=T}else{da=0;ha=ca;ca=T;while(1){a[(c[b>>2]|0)+ca>>0]=a[m+ha>>0]|0;da=da+1|0;if((da|0)==(V|0)){fa=ea;ga=_;break}else{ha=ha+1|0;ca=ca+1|0}}}ia=fa<<3;ja=ga;break}default:{ca=i;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));ca=j;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));switch(aa&3){case 1:{Zo(i);_o(j);ka=0;la=$;break}case 2:{ca=k;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));aa=$>>>3;b:do if(aa>>>0<g>>>0){_=U+4|0;ea=U+5|0;V=U+6|0;da=U+7|0;ma=(d[m+(_>>>3)>>0]|0)>>>(_&7)<<1&2|(d[m+aa>>0]|0)>>>($&7)&1|(d[m+(ea>>>3)>>0]|0)>>>(ea&7)<<2&4|(d[m+(V>>>3)>>0]|0)>>>(V&7)<<3&8|(d[m+(da>>>3)>>0]|0)>>>(da&7)<<4&16;da=U+8|0;V=ma+257|0;ea=U+9|0;_=U+10|0;na=U+11|0;oa=U+12|0;pa=(d[m+(ea>>>3)>>0]|0)>>>(ea&7)<<1&2|(d[m+(da>>>3)>>0]|0)>>>(da&7)&1|(d[m+(_>>>3)>>0]|0)>>>(_&7)<<2&4|(d[m+(na>>>3)>>0]|0)>>>(na&7)<<3&8|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)<<4&16;oa=U+13|0;na=U+14|0;_=U+15|0;da=U+16|0;ea=U+17|0;qa=((d[m+(na>>>3)>>0]|0)>>>(na&7)<<1&2|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)&1|(d[m+(_>>>3)>>0]|0)>>>(_&7)<<2&4|(d[m+(da>>>3)>>0]|0)>>>(da&7)<<3&8)+4|0;da=Gp(0,152)|0;do if(!da){ra=9911;sa=ea;ta=0}else{_=0;oa=ea;while(1){if(_>>>0<qa>>>0){na=oa+1|0;ua=oa+2|0;va=oa+3|0;wa=(d[m+(na>>>3)>>0]|0)>>>(na&7)<<1&2|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)&1|(d[m+(ua>>>3)>>0]|0)>>>(ua&7)<<2&4}else{va=oa;wa=0}c[da+(c[27968+(_<<2)>>2]<<2)>>2]=wa;_=_+1|0;if((_|0)==19)break;else oa=va}if((c[N>>2]|0)>>>0<76){oa=Gp(c[M>>2]|0,152)|0;if(!oa){ra=9903;sa=va;ta=da;break}c[N>>2]=152;c[M>>2]=oa;c[O>>2]=19;xa=oa}else{c[O>>2]=19;xa=c[M>>2]|0}c[xa>>2]=c[da>>2];c[xa+4>>2]=c[da+4>>2];c[xa+8>>2]=c[da+8>>2];c[xa+12>>2]=c[da+12>>2];c[xa+16>>2]=c[da+16>>2];c[xa+20>>2]=c[da+20>>2];c[xa+24>>2]=c[da+24>>2];c[xa+28>>2]=c[da+28>>2];c[xa+32>>2]=c[da+32>>2];c[xa+36>>2]=c[da+36>>2];c[xa+40>>2]=c[da+40>>2];c[xa+44>>2]=c[da+44>>2];c[xa+48>>2]=c[da+48>>2];c[xa+52>>2]=c[da+52>>2];c[xa+56>>2]=c[da+56>>2];c[xa+60>>2]=c[da+60>>2];c[xa+64>>2]=c[da+64>>2];c[xa+68>>2]=c[da+68>>2];c[xa+72>>2]=c[da+72>>2];c[P>>2]=19;c[Q>>2]=7;oa=$o(k)|0;Hp(da);if(oa|0){ya=oa;za=va;break b}oa=Gp(0,2304)|0;if(!oa){Aa=0;Ba=0;Ca=0}else{Yu(oa|0,0,1152)|0;Aa=oa;Ba=288;Ca=oa}oa=Gp(0,256)|0;c:do if(oa){ca=oa;ha=ca+128|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));if(Aa){_=ma+258+pa|0;do if(_){ua=c[k>>2]|0;na=c[P>>2]|0;Da=-258-ma|0;Ea=0;Ga=0;Ha=va;d:while(1){if(Ha>>>0>l>>>0){Ia=Ha;X=59;break}Ja=0;Ka=Ha;while(1){La=c[ua+(((d[m+(Ka>>>3)>>0]|0)>>>(Ka&7)&1|Ja<<1)<<2)>>2]|0;Ma=Ka+1|0;if(La>>>0<na>>>0)break;Ja=La-na|0;if(Ka>>>0>=l>>>0|Ja>>>0>=na>>>0){Ia=Ma;X=59;break d}else Ka=Ma}e:do if(La>>>0<16){c[(Ea>>>0<V>>>0?Aa+(Ea<<2)|0:oa+(Ea-V<<2)|0)>>2]=La;Na=Ga;Oa=Ma;Pa=Ea+1|0}else switch(La|0){case 16:{Ja=Ma>>>3;if(Ja>>>0>=f>>>0){Qa=Ma;Ra=50;Sa=oa;break c}Ta=Ka+2|0;Ua=Ka+3|0;Va=((d[m+(Ta>>>3)>>0]|0)>>>(Ta&7)<<1&2|(d[m+Ja>>0]|0)>>>(Ma&7)&1)+3|0;Ja=Ea+-1|0;Ta=c[(Ja>>>0<V>>>0?Aa+(Ja<<2)|0:oa+(Da+Ea<<2)|0)>>2]|0;Ja=0;Wa=Ea;while(1){if(Wa>>>0>=_>>>0){Na=13;Oa=Ua;Pa=Wa;break e}c[(Wa>>>0<V>>>0?Aa+(Wa<<2)|0:oa+(Wa-V<<2)|0)>>2]=Ta;Xa=Wa+1|0;Ja=Ja+1|0;if(Ja>>>0>=Va>>>0){Na=Ga;Oa=Ua;Pa=Xa;break}else Wa=Xa}break}case 17:{Wa=Ma>>>3;if(Wa>>>0>=f>>>0){Qa=Ma;Ra=50;Sa=oa;break c}Ua=Ka+2|0;Va=Ka+3|0;Ja=Ka+4|0;Ta=((d[m+(Ua>>>3)>>0]|0)>>>(Ua&7)<<1&2|(d[m+Wa>>0]|0)>>>(Ma&7)&1|(d[m+(Va>>>3)>>0]|0)>>>(Va&7)<<2&4)+3|0;Va=0;Wa=Ea;while(1){if(Wa>>>0>=_>>>0){Na=14;Oa=Ja;Pa=Wa;break e}c[(Wa>>>0<V>>>0?Aa+(Wa<<2)|0:oa+(Wa-V<<2)|0)>>2]=0;Ua=Wa+1|0;Va=Va+1|0;if(Va>>>0>=Ta>>>0){Na=Ga;Oa=Ja;Pa=Ua;break}else Wa=Ua}break}case 18:{Wa=Ma>>>3;if(Wa>>>0>=f>>>0){Qa=Ma;Ra=50;Sa=oa;break c}Ja=Ka+2|0;Ta=Ka+3|0;Va=Ka+4|0;Ua=Ka+5|0;Xa=Ka+6|0;Ya=Ka+7|0;Za=Ka+8|0;_a=((d[m+(Ja>>>3)>>0]|0)>>>(Ja&7)<<1&2|(d[m+Wa>>0]|0)>>>(Ma&7)&1|(d[m+(Ta>>>3)>>0]|0)>>>(Ta&7)<<2&4|(d[m+(Va>>>3)>>0]|0)>>>(Va&7)<<3&8|(d[m+(Ua>>>3)>>0]|0)>>>(Ua&7)<<4&16|(d[m+(Xa>>>3)>>0]|0)>>>(Xa&7)<<5&32|(d[m+(Ya>>>3)>>0]|0)>>>(Ya&7)<<6&64)+11|0;if(!_a){Na=Ga;Oa=Za;Pa=Ea;break e}Ya=0;Xa=Ea;while(1){if(Xa>>>0>=_>>>0){Na=15;Oa=Za;Pa=Xa;break e}c[(Xa>>>0<V>>>0?Aa+(Xa<<2)|0:oa+(Xa-V<<2)|0)>>2]=0;Ua=Xa+1|0;Ya=Ya+1|0;if(Ya>>>0>=_a>>>0){Na=Ga;Oa=Za;Pa=Ua;break}else Xa=Ua}break}default:{Qa=Ma;Ra=16;Sa=oa;break c}}while(0);if(Pa>>>0<_>>>0){Ea=Pa;Ga=Na;Ha=Oa}else{X=61;break}}if((X|0)==59){X=0;Qa=Ia;Ra=Ia>>>0>l>>>0?10:11;Sa=oa;break c}else if((X|0)==61){X=0;if(!Na){$a=Oa;break}else{Qa=Oa;Ra=Na;Sa=oa;break c}}}else $a=va;while(0);if(c[Aa+1024>>2]|0){if(Ba<<2>>>0>(c[t>>2]|0)>>>0){_=Ba<<3;Ha=Gp(c[s>>2]|0,_)|0;if(!Ha){Qa=$a;Ra=9903;Sa=oa;break}c[t>>2]=_;c[s>>2]=Ha}c[u>>2]=Ba;if(Ba|0){Ha=c[s>>2]|0;_=0;do{c[Ha+(_<<2)>>2]=c[Aa+(_<<2)>>2];_=_+1|0}while((_|0)!=(Ba|0))}c[D>>2]=Ba;c[R>>2]=15;_=$o(i)|0;if(!_){if((c[B>>2]|0)>>>0<128){Ha=Gp(c[A>>2]|0,256)|0;if(!Ha){Qa=$a;Ra=9903;Sa=oa;break}c[B>>2]=256;c[A>>2]=Ha;c[C>>2]=32;ab=Ha}else{c[C>>2]=32;ab=c[A>>2]|0}c[ab>>2]=c[oa>>2];c[ab+4>>2]=c[oa+4>>2];c[ab+8>>2]=c[oa+8>>2];c[ab+12>>2]=c[oa+12>>2];c[ab+16>>2]=c[oa+16>>2];c[ab+20>>2]=c[oa+20>>2];c[ab+24>>2]=c[oa+24>>2];c[ab+28>>2]=c[oa+28>>2];c[ab+32>>2]=c[oa+32>>2];c[ab+36>>2]=c[oa+36>>2];c[ab+40>>2]=c[oa+40>>2];c[ab+44>>2]=c[oa+44>>2];c[ab+48>>2]=c[oa+48>>2];c[ab+52>>2]=c[oa+52>>2];c[ab+56>>2]=c[oa+56>>2];c[ab+60>>2]=c[oa+60>>2];c[ab+64>>2]=c[oa+64>>2];c[ab+68>>2]=c[oa+68>>2];c[ab+72>>2]=c[oa+72>>2];c[ab+76>>2]=c[oa+76>>2];c[ab+80>>2]=c[oa+80>>2];c[ab+84>>2]=c[oa+84>>2];c[ab+88>>2]=c[oa+88>>2];c[ab+92>>2]=c[oa+92>>2];c[ab+96>>2]=c[oa+96>>2];c[ab+100>>2]=c[oa+100>>2];c[ab+104>>2]=c[oa+104>>2];c[ab+108>>2]=c[oa+108>>2];c[ab+112>>2]=c[oa+112>>2];c[ab+116>>2]=c[oa+116>>2];c[ab+120>>2]=c[oa+120>>2];c[ab+124>>2]=c[oa+124>>2];c[G>>2]=32;c[S>>2]=15;Qa=$a;Ra=$o(j)|0;Sa=oa}else{Qa=$a;Ra=_;Sa=oa}}else{Qa=$a;Ra=64;Sa=oa}}else{Qa=va;Ra=9912;Sa=oa}}else{Qa=va;Ra=9912;Sa=0}while(0);Hp(Ca);Hp(Sa);ya=Ra;za=Qa;break b}while(0);Hp(ta);ya=ra;za=sa}else{ya=49;za=$}while(0);c[H>>2]=0;c[I>>2]=0;Hp(c[k>>2]|0);c[k>>2]=0;c[K>>2]=0;c[L>>2]=0;Hp(c[J>>2]|0);c[J>>2]=0;c[N>>2]=0;c[O>>2]=0;Hp(c[M>>2]|0);ka=ya;la=za;break}default:{ka=0;la=$}}f:do if(la>>>0<=l>>>0){ca=c[i>>2]|0;ha=c[D>>2]|0;aa=c[j>>2]|0;V=c[G>>2]|0;ma=T;pa=la;g:while(1){da=0;qa=pa;while(1){bb=c[ca+(((d[m+(qa>>>3)>>0]|0)>>>(qa&7)&1|da<<1)<<2)>>2]|0;cb=qa+1|0;if(bb>>>0<ha>>>0)break;da=bb-ha|0;if(cb>>>0>l>>>0|da>>>0>=ha>>>0){db=cb;eb=ma;X=115;break f}else qa=cb}if(bb>>>0>=256){if(!((bb|0)!=256&bb>>>0<286)){X=114;break}qa=bb+-257|0;if(cb>>>3>>>0>=f>>>0){fb=cb;gb=51;X=118;break}da=c[28048+(qa<<2)>>2]|0;ea=c[28176+(qa<<2)>>2]|0;if((bb+-265|0)>>>0>19){hb=0;ib=cb}else{qa=0;oa=0;_=cb;while(1){qa=(((d[m+(_>>>3)>>0]|0)>>>(_&7)&1)<<oa)+qa|0;oa=oa+1|0;if((oa|0)==(da|0))break;else _=_+1|0}hb=qa;ib=cb+da|0}_=hb+ea|0;if(ib>>>0>l>>>0){jb=ib;X=100;break}oa=0;Ha=ib;while(1){kb=c[aa+(((d[m+(Ha>>>3)>>0]|0)>>>(Ha&7)&1|oa<<1)<<2)>>2]|0;lb=Ha+1|0;if(kb>>>0<V>>>0)break;oa=kb-V|0;if(Ha>>>0>=l>>>0|oa>>>0>=V>>>0){jb=lb;X=100;break g}else Ha=lb}if(kb>>>0>29){jb=lb;X=100;break}if(lb>>>3>>>0>=f>>>0){fb=lb;gb=51;X=118;break}Ha=c[28304+(kb<<2)>>2]|0;oa=c[28432+(kb<<2)>>2]|0;if(kb>>>0<4){mb=0;nb=lb}else{da=0;qa=0;Ga=lb;while(1){da=(((d[m+(Ga>>>3)>>0]|0)>>>(Ga&7)&1)<<qa)+da|0;qa=qa+1|0;if((qa|0)==(Ha|0))break;else Ga=Ga+1|0}mb=da;nb=lb+Ha|0}Ga=ma-oa-mb|0;qa=_+ma|0;if(qa>>>0>=(c[E>>2]|0)>>>0){Ea=qa<<1;if((c[F>>2]|0)>>>0<Ea>>>0){Da=qa<<2;qa=Gp(c[b>>2]|0,Da)|0;if(!qa){fb=nb;gb=9914;X=118;break}c[F>>2]=Da;c[b>>2]=qa}c[E>>2]=Ea}if(!_){ob=nb;pb=ma}else{Ea=ma+hb|0;qa=Ga;Da=0;na=ma;while(1){ua=c[b>>2]|0;a[ua+na>>0]=a[ua+qa>>0]|0;ua=qa+1|0;Da=Da+1|0;if((Da|0)==(_|0))break;else{qa=ua>>>0<ma>>>0?ua:Ga;na=na+1|0}}ob=nb;pb=Ea+ea|0}}else{if(ma>>>0>=(c[E>>2]|0)>>>0){na=(ma<<1)+2|0;if((c[F>>2]|0)>>>0<na>>>0){Ga=na<<1;qa=Gp(c[b>>2]|0,Ga)|0;if(!qa){fb=cb;gb=9913;X=118;break}c[F>>2]=Ga;c[b>>2]=qa}c[E>>2]=na}a[(c[b>>2]|0)+ma>>0]=bb;ob=cb;pb=ma+1|0}if(ob>>>0>l>>>0){db=ob;eb=pb;X=115;break f}else{ma=pb;pa=ob}}if((X|0)==100){X=0;qb=jb;rb=(bb|0)==-1?(jb>>>0>l>>>0?10:11):18;sb=ma;tb=ca;break}else if((X|0)==114){X=0;if((bb|0)==256){qb=cb;rb=ka;sb=ma;tb=ca;break}else{db=cb;eb=ma;X=115;break}}else if((X|0)==118){X=0;qb=fb;rb=gb;sb=ma;tb=ca;break}}else{db=la;eb=T;X=115}while(0);if((X|0)==115){X=0;qb=db;rb=db>>>0>l>>>0?10:11;sb=eb;tb=c[i>>2]|0}c[n>>2]=0;c[o>>2]=0;Hp(tb);c[i>>2]=0;c[q>>2]=0;c[r>>2]=0;Hp(c[p>>2]|0);c[p>>2]=0;c[t>>2]=0;c[u>>2]=0;Hp(c[s>>2]|0);c[v>>2]=0;c[w>>2]=0;Hp(c[j>>2]|0);c[j>>2]=0;c[y>>2]=0;c[z>>2]=0;Hp(c[x>>2]|0);c[x>>2]=0;c[B>>2]=0;c[C>>2]=0;Hp(c[A>>2]|0);if(!rb){ia=qb;ja=sb}else{W=rb;X=125;break a}}}if(!(1<<Z&Y)){T=ja;U=ia}else{X=121;break}}if((X|0)==121){if((c[F>>2]|0)>>>0>=ja>>>0){c[E>>2]=ja;W=0;Fa=h;return W|0}ia=ja<<1;U=Gp(c[b>>2]|0,ia)|0;if(!U){W=9916;Fa=h;return W|0}c[F>>2]=ia;c[b>>2]=U;c[E>>2]=ja;W=0;Fa=h;return W|0}else if((X|0)==125){Fa=h;return W|0}return 0}function Zo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=Gp(0,2304)|0;if(!b){d=0;Hp(d);return}e=0;do{c[b+(e<<2)>>2]=8;e=e+1|0}while((e|0)!=144);e=144;do{c[b+(e<<2)>>2]=9;e=e+1|0}while((e|0)!=256);c[b+1024>>2]=7;c[b+1028>>2]=7;c[b+1032>>2]=7;c[b+1036>>2]=7;c[b+1040>>2]=7;c[b+1044>>2]=7;c[b+1048>>2]=7;c[b+1052>>2]=7;c[b+1056>>2]=7;c[b+1060>>2]=7;c[b+1064>>2]=7;c[b+1068>>2]=7;c[b+1072>>2]=7;c[b+1076>>2]=7;c[b+1080>>2]=7;c[b+1084>>2]=7;c[b+1088>>2]=7;c[b+1092>>2]=7;c[b+1096>>2]=7;c[b+1100>>2]=7;c[b+1104>>2]=7;c[b+1108>>2]=7;c[b+1112>>2]=7;c[b+1116>>2]=7;c[b+1120>>2]=8;c[b+1124>>2]=8;c[b+1128>>2]=8;c[b+1132>>2]=8;c[b+1136>>2]=8;c[b+1140>>2]=8;c[b+1144>>2]=8;c[b+1148>>2]=8;e=a+24|0;f=a+32|0;do if((c[f>>2]|0)>>>0<1152){g=Gp(c[e>>2]|0,2304)|0;if(!g){d=b;Hp(d);return}else{c[f>>2]=2304;c[e>>2]=g;c[a+28>>2]=288;h=g;break}}else{c[a+28>>2]=288;h=c[e>>2]|0}while(0);e=0;do{c[h+(e<<2)>>2]=c[b+(e<<2)>>2];e=e+1|0}while((e|0)!=288);c[a+40>>2]=288;c[a+36>>2]=15;$o(a)|0;d=b;Hp(d);return}function _o(a){a=a|0;var b=0,d=0;b=Gp(0,256)|0;if(!b){d=0;Hp(d);return}c[b>>2]=5;c[b+4>>2]=5;c[b+8>>2]=5;c[b+12>>2]=5;c[b+16>>2]=5;c[b+20>>2]=5;c[b+24>>2]=5;c[b+28>>2]=5;c[b+32>>2]=5;c[b+36>>2]=5;c[b+40>>2]=5;c[b+44>>2]=5;c[b+48>>2]=5;c[b+52>>2]=5;c[b+56>>2]=5;c[b+60>>2]=5;c[b+64>>2]=5;c[b+68>>2]=5;c[b+72>>2]=5;c[b+76>>2]=5;c[b+80>>2]=5;c[b+84>>2]=5;c[b+88>>2]=5;c[b+92>>2]=5;c[b+96>>2]=5;c[b+100>>2]=5;c[b+104>>2]=5;c[b+108>>2]=5;c[b+112>>2]=5;c[b+116>>2]=5;c[b+120>>2]=5;c[b+124>>2]=5;ap(a,b,32,15)|0;d=b;Hp(d);return}function $o(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;b=a+12|0;d=a+40|0;e=c[d>>2]|0;f=a+20|0;if(e<<2>>>0>(c[f>>2]|0)>>>0){g=e<<3;h=Gp(c[b>>2]|0,g)|0;if(!h)i=0;else{c[f>>2]=g;c[b>>2]=h;j=4}}else j=4;do if((j|0)==4){c[a+16>>2]=e;h=a+36|0;g=(c[h>>2]|0)+1|0;f=g<<2;if(!f){k=0;l=0}else{m=Gp(0,g<<3)|0;if(!m){i=0;break}k=m;l=m}if(g|0)Yu(l|0,0,f|0)|0;f=(c[h>>2]|0)+1|0;g=f<<2;if(!g){n=0;o=0}else{m=Gp(0,f<<3)|0;if(!m){i=l;break}n=m;o=m}if(f|0)Yu(o|0,0,g|0)|0;if(!(c[d>>2]|0))p=0;else{g=c[a+24>>2]|0;f=0;do{m=k+(c[g+(f<<2)>>2]<<2)|0;c[m>>2]=(c[m>>2]|0)+1;f=f+1|0;m=c[d>>2]|0}while(f>>>0<m>>>0);p=m}if(!(c[h>>2]|0))q=p;else{f=1;g=c[n>>2]|0;do{g=(c[k+(f+-1<<2)>>2]|0)+g<<1;c[n+(f<<2)>>2]=g;f=f+1|0}while(f>>>0<=(c[h>>2]|0)>>>0);q=c[d>>2]|0}if(q|0){h=c[a+24>>2]|0;f=0;g=q;while(1){m=c[h+(f<<2)>>2]|0;if(!m)r=g;else{s=n+(m<<2)|0;m=c[s>>2]|0;c[s>>2]=m+1;c[(c[b>>2]|0)+(f<<2)>>2]=m;r=c[d>>2]|0}f=f+1|0;if(f>>>0>=r>>>0)break;else g=r}}Hp(l);Hp(o);g=c[d>>2]|0;f=g<<1;h=a+8|0;do if(g<<3>>>0>(c[h>>2]|0)>>>0){m=g<<4;s=Gp(c[a>>2]|0,m)|0;if(!s){t=9901;return t|0}else{c[h>>2]=m;c[a>>2]=s;c[a+4>>2]=f;u=c[d>>2]|0;break}}else{c[a+4>>2]=f;u=g}while(0);if(!(u&2147483647))v=u;else{g=c[a>>2]|0;f=0;do{c[g+(f<<2)>>2]=32767;f=f+1|0;h=c[d>>2]|0}while(f>>>0<h<<1>>>0);v=h}if(!v){t=0;return t|0}f=c[a+24>>2]|0;g=a+12|0;h=0;s=0;m=0;w=v;a:while(1){x=f+(m<<2)|0;y=c[x>>2]|0;b:do if(!y){z=h;A=s;B=w}else{if(h>>>0>(w+-2|0)>>>0){t=55;j=52;break a}C=(c[g>>2]|0)+(m<<2)|0;D=c[a>>2]|0;E=0;F=h;G=s;H=y;I=w;while(1){J=D+(((c[C>>2]|0)>>>(H+~E|0)&1|F<<1)<<2)|0;K=c[J>>2]|0;do if((K|0)==32767){L=E+1|0;if((L|0)==(H|0)){c[J>>2]=m;M=0;N=G;O=H;break}else{P=G+1|0;c[J>>2]=P+I;M=P;N=P;O=L;break}}else{M=K-I|0;N=G;O=E+1|0}while(0);H=c[x>>2]|0;I=c[d>>2]|0;if(H>>>0<=O>>>0){z=M;A=N;B=I;break b}if(M>>>0>(I+-2|0)>>>0){t=55;j=52;break a}else{E=O;F=M;G=N}}}while(0);m=m+1|0;if(m>>>0>=B>>>0){j=46;break}else{h=z;s=A;w=B}}if((j|0)==46){if(!(B&2147483647)){t=0;return t|0}w=c[a>>2]|0;s=0;h=B;while(1){m=w+(s<<2)|0;if((c[m>>2]|0)==32767){c[m>>2]=0;Q=c[d>>2]|0}else Q=h;s=s+1|0;if(s>>>0>=Q<<1>>>0){t=0;break}else h=Q}return t|0}else if((j|0)==52)return t|0}while(0);Hp(i);Hp(0);t=9902;return t|0}function ap(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+24|0;g=a+32|0;do if(d<<2>>>0>(c[g>>2]|0)>>>0){h=d<<3;i=Gp(c[f>>2]|0,h)|0;if(!i){j=9903;return j|0}else{c[g>>2]=h;c[f>>2]=i;break}}while(0);c[a+28>>2]=d;if(d|0){g=c[f>>2]|0;f=0;do{c[g+(f<<2)>>2]=c[b+(f<<2)>>2];f=f+1|0}while((f|0)!=(d|0))}c[a+40>>2]=d;c[a+36>>2]=e;j=$o(a)|0;return j|0}
+function $r(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=a+b|0;e=c[a+4>>2]|0;do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;if((c[760469]|0)==(g|0)){i=d+4|0;j=c[i>>2]|0;if((j&3|0)!=3){k=g;l=h;break}c[760466]=h;c[i>>2]=j&-2;c[g+4>>2]=h|1;c[d>>2]=h;return}j=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;i=c[g+12>>2]|0;if((i|0)==(f|0)){c[760464]=c[760464]&~(1<<j);k=g;l=h;break}else{c[f+12>>2]=i;c[i+8>>2]=f;k=g;l=h;break}}f=c[g+24>>2]|0;i=c[g+12>>2]|0;do if((i|0)==(g|0)){j=g+16|0;m=j+4|0;n=c[m>>2]|0;if(!n){o=c[j>>2]|0;if(!o){p=0;break}else{q=o;r=j}}else{q=n;r=m}m=q;n=r;while(1){j=m+20|0;o=c[j>>2]|0;if(!o){s=m+16|0;t=c[s>>2]|0;if(!t)break;else{u=t;v=s}}else{u=o;v=j}m=u;n=v}c[n>>2]=0;p=m}else{j=c[g+8>>2]|0;c[j+12>>2]=i;c[i+8>>2]=j;p=i}while(0);if(f){i=c[g+28>>2]|0;j=3042160+(i<<2)|0;if((c[j>>2]|0)==(g|0)){c[j>>2]=p;if(!p){c[760465]=c[760465]&~(1<<i);k=g;l=h;break}}else{i=f+16|0;c[((c[i>>2]|0)==(g|0)?i:f+20|0)>>2]=p;if(!p){k=g;l=h;break}}c[p+24>>2]=f;i=g+16|0;j=c[i>>2]|0;if(j|0){c[p+16>>2]=j;c[j+24>>2]=p}j=c[i+4>>2]|0;if(j){c[p+20>>2]=j;c[j+24>>2]=p;k=g;l=h}else{k=g;l=h}}else{k=g;l=h}}else{k=a;l=b}while(0);b=d+4|0;a=c[b>>2]|0;if(!(a&2)){if((c[760470]|0)==(d|0)){p=(c[760467]|0)+l|0;c[760467]=p;c[760470]=k;c[k+4>>2]=p|1;if((k|0)!=(c[760469]|0))return;c[760469]=0;c[760466]=0;return}if((c[760469]|0)==(d|0)){p=(c[760466]|0)+l|0;c[760466]=p;c[760469]=k;c[k+4>>2]=p|1;c[k+p>>2]=p;return}p=(a&-8)+l|0;v=a>>>3;do if(a>>>0<256){u=c[d+8>>2]|0;r=c[d+12>>2]|0;if((r|0)==(u|0)){c[760464]=c[760464]&~(1<<v);break}else{c[u+12>>2]=r;c[r+8>>2]=u;break}}else{u=c[d+24>>2]|0;r=c[d+12>>2]|0;do if((r|0)==(d|0)){q=d+16|0;e=q+4|0;j=c[e>>2]|0;if(!j){i=c[q>>2]|0;if(!i){w=0;break}else{x=i;y=q}}else{x=j;y=e}e=x;j=y;while(1){q=e+20|0;i=c[q>>2]|0;if(!i){o=e+16|0;s=c[o>>2]|0;if(!s)break;else{z=s;A=o}}else{z=i;A=q}e=z;j=A}c[j>>2]=0;w=e}else{m=c[d+8>>2]|0;c[m+12>>2]=r;c[r+8>>2]=m;w=r}while(0);if(u|0){r=c[d+28>>2]|0;h=3042160+(r<<2)|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=w;if(!w){c[760465]=c[760465]&~(1<<r);break}}else{r=u+16|0;c[((c[r>>2]|0)==(d|0)?r:u+20|0)>>2]=w;if(!w)break}c[w+24>>2]=u;r=d+16|0;h=c[r>>2]|0;if(h|0){c[w+16>>2]=h;c[h+24>>2]=w}h=c[r+4>>2]|0;if(h|0){c[w+20>>2]=h;c[h+24>>2]=w}}}while(0);c[k+4>>2]=p|1;c[k+p>>2]=p;if((k|0)==(c[760469]|0)){c[760466]=p;return}else B=p}else{c[b>>2]=a&-2;c[k+4>>2]=l|1;c[k+l>>2]=l;B=l}l=B>>>3;if(B>>>0<256){a=3041896+(l<<1<<2)|0;b=c[760464]|0;p=1<<l;if(!(b&p)){c[760464]=b|p;C=a;D=a+8|0}else{p=a+8|0;C=c[p>>2]|0;D=p}c[D>>2]=k;c[C+12>>2]=k;c[k+8>>2]=C;c[k+12>>2]=a;return}a=B>>>8;if(a)if(B>>>0>16777215)E=31;else{C=(a+1048320|0)>>>16&8;D=a<<C;a=(D+520192|0)>>>16&4;p=D<<a;D=(p+245760|0)>>>16&2;b=14-(a|C|D)+(p<<D>>>15)|0;E=B>>>(b+7|0)&1|b<<1}else E=0;b=3042160+(E<<2)|0;c[k+28>>2]=E;c[k+20>>2]=0;c[k+16>>2]=0;D=c[760465]|0;p=1<<E;if(!(D&p)){c[760465]=D|p;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;return}p=c[b>>2]|0;a:do if((c[p+4>>2]&-8|0)==(B|0))F=p;else{b=B<<((E|0)==31?0:25-(E>>>1)|0);D=p;while(1){G=D+16+(b>>>31<<2)|0;C=c[G>>2]|0;if(!C)break;if((c[C+4>>2]&-8|0)==(B|0)){F=C;break a}else{b=b<<1;D=C}}c[G>>2]=k;c[k+24>>2]=D;c[k+12>>2]=k;c[k+8>>2]=k;return}while(0);G=F+8|0;B=c[G>>2]|0;c[B+12>>2]=k;c[G>>2]=k;c[k+8>>2]=B;c[k+12>>2]=F;c[k+24>>2]=0;return}function as(a){a=a|0;var b=0,d=0;b=Fa;Fa=Fa+16|0;d=b;c[d>>2]=fs(c[a+60>>2]|0)|0;a=ds(ea(6,d|0)|0)|0;Fa=b;return a|0}function bs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Fa;Fa=Fa+32|0;g=f+16|0;h=f;c[h>>2]=d;i=h+4|0;j=b+48|0;k=c[j>>2]|0;c[i>>2]=e-((k|0)!=0&1);l=b+44|0;c[h+8>>2]=c[l>>2];c[h+12>>2]=k;c[g>>2]=c[b+60>>2];c[g+4>>2]=h;c[g+8>>2]=2;h=ds(Z(145,g|0)|0)|0;if((h|0)>=1){g=c[i>>2]|0;if(h>>>0>g>>>0){i=c[l>>2]|0;l=b+4|0;c[l>>2]=i;k=i;c[b+8>>2]=k+(h-g);if(!(c[j>>2]|0))m=e;else{c[l>>2]=k+1;a[d+(e+-1)>>0]=a[k>>0]|0;m=e}}else m=h}else{c[b>>2]=c[b>>2]|h&48^16;m=h}Fa=f;return m|0}function cs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Fa;Fa=Fa+32|0;f=e;g=e+20|0;c[f>>2]=c[a+60>>2];c[f+4>>2]=0;c[f+8>>2]=b;c[f+12>>2]=g;c[f+16>>2]=d;if((ds(Y(140,f|0)|0)|0)<0){c[g>>2]=-1;h=-1}else h=c[g>>2]|0;Fa=e;return h|0}function ds(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(es()|0)>>2]=0-a;b=-1}else b=a;return b|0}function es(){return 3042352}function fs(a){a=a|0;return a|0}function gs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Fa;Fa=Fa+32|0;g=f;c[b+36>>2]=5;if((c[b>>2]&64|0)==0?(c[g>>2]=c[b+60>>2],c[g+4>>2]=21523,c[g+8>>2]=f+16,da(54,g|0)|0):0)a[b+75>>0]=-1;g=hs(b,d,e)|0;Fa=f;return g|0}function hs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Fa;Fa=Fa+48|0;f=e+32|0;g=e+16|0;h=e;i=a+28|0;j=c[i>>2]|0;c[h>>2]=j;k=a+20|0;l=(c[k>>2]|0)-j|0;c[h+4>>2]=l;c[h+8>>2]=b;c[h+12>>2]=d;b=l+d|0;l=a+60|0;c[g>>2]=c[l>>2];c[g+4>>2]=h;c[g+8>>2]=2;j=ds(_(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=c[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;c[r>>2]=(c[r>>2]|0)+t;p=r+4|0;c[p>>2]=(c[p>>2]|0)-t;c[f>>2]=c[l>>2];c[f+4>>2]=r;c[f+8>>2]=s;o=ds(_(146,f|0)|0)|0;if((m|0)==(o|0)){u=3;break a}else{g=s;n=r}}c[a+16>>2]=0;c[i>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((g|0)==2)v=0;else v=d-(c[n+4>>2]|0)|0}else u=3;while(0);if((u|0)==3){u=c[a+44>>2]|0;c[a+16>>2]=u+(c[a+48>>2]|0);a=u;c[i>>2]=a;c[k>>2]=a;v=d}Fa=e;return v|0}function is(a,b){a=+a;b=b|0;return +(+js(a,b))}function js(a,b){a=+a;b=b|0;var d=0.0,e=0,f=0,i=0.0,j=0;if((b|0)<=1023)if((b|0)<-1022){d=a*2.2250738585072014e-308;e=(b|0)<-2044;f=b+2044|0;i=e?d*2.2250738585072014e-308:d;j=e?((f|0)>-1022?f:-1022):b+1022|0}else{i=a;j=b}else{d=a*8988465674311579538646525.0e283;f=(b|0)>2046;e=b+-2046|0;i=f?d*8988465674311579538646525.0e283:d;j=f?((e|0)<1023?e:1023):b+-1023|0}b=Su(j+1023|0,0,52)|0;j=G()|0;c[h>>2]=b;c[h+4>>2]=j;return +(i*+g[h>>3])}function ks(a,b){a=+a;b=b|0;var d=0,e=0,f=0,i=0.0,j=0.0,k=0,l=0.0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=Ru(d|0,e|0,52)|0;G()|0;switch(f&2047){case 0:{if(a!=0.0){i=+ks(a*18446744073709551616.0,b);j=i;k=(c[b>>2]|0)+-64|0}else{j=a;k=0}c[b>>2]=k;l=j;break}case 2047:{l=a;break}default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;l=+g[h>>3]}}return +l}function ls(a,b){a=+a;b=+b;return +(+ms(a,b))}function ms(a,b){a=+a;b=+b;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;g[h>>3]=b;f=c[h+4>>2]&-2147483648|e&2147483647;c[h>>2]=d;c[h+4>>2]=f;return +(+g[h>>3])}function ns(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;g[h>>3]=b;f=c[h>>2]|0;i=c[h+4>>2]|0;j=Ru(d|0,e|0,52)|0;G()|0;k=j&2047;j=Ru(f|0,i|0,52)|0;G()|0;l=j&2047;j=e&-2147483648;m=Su(f|0,i|0,1)|0;n=G()|0;a:do if(!((m|0)==0&(n|0)==0)?(o=os(b)|0,p=(G()|0)&2147483647,!((k|0)==2047|(p>>>0>2146435072|(p|0)==2146435072&o>>>0>0))):0){o=Su(d|0,e|0,1)|0;p=G()|0;if(!(p>>>0>n>>>0|(p|0)==(n|0)&o>>>0>m>>>0))return +((o|0)==(m|0)&(p|0)==(n|0)?a*0.0:a);if(!k){p=Su(d|0,e|0,12)|0;o=G()|0;if((o|0)>-1|(o|0)==-1&p>>>0>4294967295){q=0;r=p;p=o;while(1){o=q+-1|0;r=Su(r|0,p|0,1)|0;p=G()|0;if(!((p|0)>-1|(p|0)==-1&r>>>0>4294967295)){s=o;break}else q=o}}else s=0;q=Su(d|0,e|0,1-s|0)|0;t=s;u=q;v=G()|0}else{t=k;u=d;v=e&1048575|1048576}if(!l){q=Su(f|0,i|0,12)|0;r=G()|0;if((r|0)>-1|(r|0)==-1&q>>>0>4294967295){p=0;o=q;q=r;while(1){r=p+-1|0;o=Su(o|0,q|0,1)|0;q=G()|0;if(!((q|0)>-1|(q|0)==-1&o>>>0>4294967295)){w=r;break}else p=r}}else w=0;p=Su(f|0,i|0,1-w|0)|0;x=w;y=p;z=G()|0}else{x=l;y=f;z=i&1048575|1048576}p=Ku(u|0,v|0,y|0,z|0)|0;o=G()|0;q=(o|0)>-1|(o|0)==-1&p>>>0>4294967295;b:do if((t|0)>(x|0)){r=t;A=o;B=q;C=u;D=v;E=p;while(1){if(B)if((E|0)==0&(A|0)==0)break;else{F=E;H=A}else{F=C;H=D}I=Su(F|0,H|0,1)|0;J=G()|0;K=r+-1|0;L=Ku(I|0,J|0,y|0,z|0)|0;M=G()|0;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(x|0)){r=K;A=M;B=N;C=I;D=J;E=L}else{O=K;P=N;Q=L;R=M;S=I;T=J;break b}}U=a*0.0;break a}else{O=t;P=q;Q=p;R=o;S=u;T=v}while(0);if(P)if((Q|0)==0&(R|0)==0){U=a*0.0;break}else{V=R;W=Q}else{V=T;W=S}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){o=O;p=W;q=V;while(1){E=Su(p|0,q|0,1)|0;D=G()|0;C=o+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){o=C;p=E;q=D}else{X=C;Y=E;Z=D;break}}}else{X=O;Y=W;Z=V}if((X|0)>0){q=Ju(Y|0,Z|0,0,-1048576)|0;p=G()|0;o=Su(X|0,0,52)|0;_=p|(G()|0);$=q|o}else{o=Ru(Y|0,Z|0,1-X|0)|0;_=G()|0;$=o}c[h>>2]=$;c[h+4>>2]=_|j;U=+g[h>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function os(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;F(c[h+4>>2]|0);return b|0}function ps(a,b){a=+a;b=+b;return +(+ns(a,b))}function qs(a,b){a=+a;b=b|0;return +(+js(a,b))}function rs(a,b){a=+a;b=b|0;return +(+ks(a,b))}function ss(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=b;g=d;h=c;while(1){i=a[f>>0]|0;j=a[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function ts(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!e)f=0;else{g=a[b>>0]|0;a:do if(!(g<<24>>24)){h=c;i=0}else{j=b;k=e;l=c;m=g;while(1){k=k+-1|0;n=a[l>>0]|0;if(!(m<<24>>24==n<<24>>24&((k|0)!=0&n<<24>>24!=0))){h=l;i=m;break a}j=j+1|0;n=l+1|0;m=a[j>>0]|0;if(!(m<<24>>24)){h=n;i=0;break}else l=n}}while(0);f=(i&255)-(d[h>>0]|0)|0}return f|0}function us(a){a=a|0;return (a+-48|0)>>>0<10|0}function vs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=d;d=ws(a,b,f)|0;Fa=e;return d|0}function ws(a,b,c){a=a|0;b=b|0;c=c|0;return xs(a,2147483647,b,c)|0}function xs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Fa;Fa=Fa+128|0;h=g+124|0;i=g;j=i;k=35304;l=j+124|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((d+-1|0)>>>0>2147483646)if(!d){m=h;n=1;o=4}else{c[(es()|0)>>2]=75;p=-1}else{m=b;n=d;o=4}if((o|0)==4){o=-2-m|0;d=n>>>0>o>>>0?o:n;c[i+48>>2]=d;n=i+20|0;c[n>>2]=m;c[i+44>>2]=m;o=m+d|0;m=i+16|0;c[m>>2]=o;c[i+28>>2]=o;o=ys(i,e,f)|0;if(!d)p=o;else{d=c[n>>2]|0;a[d+(((d|0)==(c[m>>2]|0))<<31>>31)>>0]=0;p=o}}Fa=g;return p|0}function ys(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=Fa;Fa=Fa+224|0;g=f+208|0;h=f+160|0;i=f+80|0;j=f;k=h;l=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));c[g>>2]=c[e>>2];if((zs(0,d,g,i,h)|0)<0)m=-1;else{if((c[b+76>>2]|0)>-1)n=As(b)|0;else n=0;e=c[b>>2]|0;k=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){l=b+44|0;o=c[l>>2]|0;c[l>>2]=j;p=b+28|0;c[p>>2]=j;q=b+20|0;c[q>>2]=j;c[e>>2]=80;r=b+16|0;c[r>>2]=j+80;j=zs(b,d,g,i,h)|0;if(!o)s=j;else{La[c[b+36>>2]&7](b,0,0)|0;t=(c[q>>2]|0)==0?-1:j;c[l>>2]=o;c[e>>2]=0;c[r>>2]=0;c[p>>2]=0;c[q>>2]=0;s=t}}else s=zs(b,d,g,i,h)|0;h=c[b>>2]|0;c[b>>2]=h|k;if(n|0)Bs(b);m=(h&32|0)==0?s:-1}Fa=f;return m|0}function zs(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;j=Fa;Fa=Fa+64|0;k=j+56|0;l=j+40|0;m=j;n=j+48|0;o=j+60|0;c[k>>2]=e;e=(d|0)!=0;p=m+40|0;q=p;r=m+39|0;m=n+4|0;s=0;t=0;u=0;a:while(1){v=s;w=t;while(1){do if((w|0)>-1)if((v|0)>(2147483647-w|0)){c[(es()|0)>>2]=75;x=-1;break}else{x=v+w|0;break}else x=w;while(0);y=c[k>>2]|0;z=a[y>>0]|0;if(!(z<<24>>24)){A=94;break a}B=z;z=y;b:while(1){switch(B<<24>>24){case 37:{A=10;break b;break}case 0:{C=z;break b;break}default:{}}D=z+1|0;c[k>>2]=D;B=a[D>>0]|0;z=D}c:do if((A|0)==10){A=0;B=z;D=z;while(1){if((a[D+1>>0]|0)!=37){C=B;break c}E=B+1|0;D=D+2|0;c[k>>2]=D;if((a[D>>0]|0)!=37){C=E;break}else B=E}}while(0);v=C-y|0;if(e)Cs(d,y,v);if(!v)break;else w=x}w=(us(a[(c[k>>2]|0)+1>>0]|0)|0)==0;v=c[k>>2]|0;if(!w?(a[v+2>>0]|0)==36:0){F=(a[v+1>>0]|0)+-48|0;H=1;I=3}else{F=-1;H=u;I=1}w=v+I|0;c[k>>2]=w;v=a[w>>0]|0;z=(v<<24>>24)+-32|0;if(z>>>0>31|(1<<z&75913|0)==0){J=0;K=v;L=w}else{v=0;B=z;z=w;while(1){w=1<<B|v;D=z+1|0;c[k>>2]=D;E=a[D>>0]|0;B=(E<<24>>24)+-32|0;if(B>>>0>31|(1<<B&75913|0)==0){J=w;K=E;L=D;break}else{v=w;z=D}}}if(K<<24>>24==42){if((us(a[L+1>>0]|0)|0)!=0?(z=c[k>>2]|0,(a[z+2>>0]|0)==36):0){v=z+1|0;c[i+((a[v>>0]|0)+-48<<2)>>2]=10;M=c[h+((a[v>>0]|0)+-48<<3)>>2]|0;N=1;O=z+3|0}else{if(H|0){P=-1;break}if(e){z=(c[f>>2]|0)+(4-1)&~(4-1);v=c[z>>2]|0;c[f>>2]=z+4;Q=v}else Q=0;M=Q;N=0;O=(c[k>>2]|0)+1|0}c[k>>2]=O;v=(M|0)<0;R=v?0-M|0:M;S=v?J|8192:J;T=N;U=O}else{v=Ds(k)|0;if((v|0)<0){P=-1;break}R=v;S=J;T=H;U=c[k>>2]|0}do if((a[U>>0]|0)==46){v=U+1|0;if((a[v>>0]|0)!=42){c[k>>2]=v;v=Ds(k)|0;V=v;W=c[k>>2]|0;break}if(us(a[U+2>>0]|0)|0?(v=c[k>>2]|0,(a[v+3>>0]|0)==36):0){z=v+2|0;c[i+((a[z>>0]|0)+-48<<2)>>2]=10;B=c[h+((a[z>>0]|0)+-48<<3)>>2]|0;z=v+4|0;c[k>>2]=z;V=B;W=z;break}if(T|0){P=-1;break a}if(e){z=(c[f>>2]|0)+(4-1)&~(4-1);B=c[z>>2]|0;c[f>>2]=z+4;X=B}else X=0;B=(c[k>>2]|0)+2|0;c[k>>2]=B;V=X;W=B}else{V=-1;W=U}while(0);B=0;z=W;while(1){if(((a[z>>0]|0)+-65|0)>>>0>57){P=-1;break a}v=z;z=z+1|0;c[k>>2]=z;Y=a[(a[v>>0]|0)+-65+(32400+(B*58|0))>>0]|0;Z=Y&255;if((Z+-1|0)>>>0>=8)break;else B=Z}if(!(Y<<24>>24)){P=-1;break}v=(F|0)>-1;do if(Y<<24>>24==19)if(v){P=-1;break a}else A=54;else{if(v){c[i+(F<<2)>>2]=Z;D=h+(F<<3)|0;w=c[D+4>>2]|0;E=l;c[E>>2]=c[D>>2];c[E+4>>2]=w;A=54;break}if(!e){P=0;break a}Es(l,Z,f);_=c[k>>2]|0;A=55}while(0);if((A|0)==54){A=0;if(e){_=z;A=55}else $=0}d:do if((A|0)==55){A=0;v=a[_+-1>>0]|0;w=(B|0)!=0&(v&15|0)==3?v&-33:v;v=S&-65537;E=(S&8192|0)==0?S:v;e:do switch(w|0){case 110:{switch((B&255)<<24>>24){case 0:{c[c[l>>2]>>2]=x;$=0;break d;break}case 1:{c[c[l>>2]>>2]=x;$=0;break d;break}case 2:{D=c[l>>2]|0;c[D>>2]=x;c[D+4>>2]=((x|0)<0)<<31>>31;$=0;break d;break}case 3:{b[c[l>>2]>>1]=x;$=0;break d;break}case 4:{a[c[l>>2]>>0]=x;$=0;break d;break}case 6:{c[c[l>>2]>>2]=x;$=0;break d;break}case 7:{D=c[l>>2]|0;c[D>>2]=x;c[D+4>>2]=((x|0)<0)<<31>>31;$=0;break d;break}default:{$=0;break d}}break}case 112:{aa=120;ba=V>>>0>8?V:8;ca=E|8;A=67;break}case 88:case 120:{aa=w;ba=V;ca=E;A=67;break}case 111:{D=l;da=c[D>>2]|0;ea=c[D+4>>2]|0;D=Gs(da,ea,p)|0;fa=q-D|0;ga=D;ha=0;ia=71948;ja=(E&8|0)==0|(V|0)>(fa|0)?V:fa+1|0;ka=E;la=da;ma=ea;A=73;break}case 105:case 100:{ea=l;da=c[ea>>2]|0;fa=c[ea+4>>2]|0;if((fa|0)<0){ea=Ku(0,0,da|0,fa|0)|0;D=G()|0;na=l;c[na>>2]=ea;c[na+4>>2]=D;oa=1;pa=71948;qa=ea;ra=D;A=72;break e}else{oa=(E&2049|0)!=0&1;pa=(E&2048|0)==0?((E&1|0)==0?71948:71950):71949;qa=da;ra=fa;A=72;break e}break}case 117:{fa=l;oa=0;pa=71948;qa=c[fa>>2]|0;ra=c[fa+4>>2]|0;A=72;break}case 99:{a[r>>0]=c[l>>2];sa=r;ta=0;ua=71948;va=1;wa=v;xa=q;break}case 109:{ya=Is(c[(es()|0)>>2]|0)|0;A=77;break}case 115:{fa=c[l>>2]|0;ya=(fa|0)==0?71958:fa;A=77;break}case 67:{c[n>>2]=c[l>>2];c[m>>2]=0;c[l>>2]=n;za=-1;A=81;break}case 83:{if(!V){Ks(d,32,R,0,E);Aa=0;A=91}else{za=V;A=81}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{$=Ms(d,+g[l>>3],R,V,E,w)|0;break d;break}default:{sa=y;ta=0;ua=71948;va=V;wa=E;xa=q}}while(0);f:do if((A|0)==67){A=0;w=l;fa=c[w>>2]|0;da=c[w+4>>2]|0;w=Fs(fa,da,p,aa&32)|0;D=(ca&8|0)==0|(fa|0)==0&(da|0)==0;ga=w;ha=D?0:2;ia=D?71948:71948+(aa>>>4)|0;ja=ba;ka=ca;la=fa;ma=da;A=73}else if((A|0)==72){A=0;ga=Hs(qa,ra,p)|0;ha=oa;ia=pa;ja=V;ka=E;la=qa;ma=ra;A=73}else if((A|0)==77){A=0;da=Js(ya,0,V)|0;fa=(da|0)==0;sa=ya;ta=0;ua=71948;va=fa?V:da-ya|0;wa=v;xa=fa?ya+V|0:da}else if((A|0)==81){A=0;da=c[l>>2]|0;fa=0;while(1){D=c[da>>2]|0;if(!D){Ba=fa;break}w=Ls(o,D)|0;Ca=(w|0)<0;if(Ca|w>>>0>(za-fa|0)>>>0){A=85;break}D=w+fa|0;if(za>>>0>D>>>0){da=da+4|0;fa=D}else{Ba=D;break}}if((A|0)==85){A=0;if(Ca){P=-1;break a}else Ba=fa}Ks(d,32,R,Ba,E);if(!Ba){Aa=0;A=91}else{da=c[l>>2]|0;D=0;while(1){w=c[da>>2]|0;if(!w){Aa=Ba;A=91;break f}ea=Ls(o,w)|0;D=ea+D|0;if((D|0)>(Ba|0)){Aa=Ba;A=91;break f}Cs(d,o,ea);if(D>>>0>=Ba>>>0){Aa=Ba;A=91;break}else da=da+4|0}}}while(0);if((A|0)==73){A=0;v=(la|0)!=0|(ma|0)!=0;da=(ja|0)!=0|v;D=q-ga+((v^1)&1)|0;sa=da?ga:p;ta=ha;ua=ia;va=da?((ja|0)>(D|0)?ja:D):0;wa=(ja|0)>-1?ka&-65537:ka;xa=q}else if((A|0)==91){A=0;Ks(d,32,R,Aa,E^8192);$=(R|0)>(Aa|0)?R:Aa;break}D=xa-sa|0;da=(va|0)<(D|0)?D:va;v=da+ta|0;fa=(R|0)<(v|0)?v:R;Ks(d,32,fa,v,wa);Cs(d,ua,ta);Ks(d,48,fa,v,wa^65536);Ks(d,48,da,D,0);Cs(d,sa,D);Ks(d,32,fa,v,wa^8192);$=fa}while(0);s=$;t=x;u=T}g:do if((A|0)==94)if(!d)if(!u)P=0;else{T=1;while(1){t=c[i+(T<<2)>>2]|0;if(!t)break;Es(h+(T<<3)|0,t,f);t=T+1|0;if(t>>>0<10)T=t;else{P=1;break g}}t=T;while(1){if(c[i+(t<<2)>>2]|0){P=-1;break g}t=t+1|0;if(t>>>0>=10){P=1;break}}}else P=x;while(0);Fa=j;return P|0}function As(a){a=a|0;return 1}function Bs(a){a=a|0;return}function Cs(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))Ys(b,d,a)|0;return}function Ds(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!(us(a[c[b>>2]>>0]|0)|0))d=0;else{e=0;while(1){f=c[b>>2]|0;g=(e*10|0)+-48+(a[f>>0]|0)|0;h=f+1|0;c[b>>2]=h;if(!(us(a[h>>0]|0)|0)){d=g;break}else e=g}}return d|0}function Es(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f;break a;break}case 10:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a;break}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=f;c[e+4>>2]=0;break a;break}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);f=e;h=c[f>>2]|0;i=c[f+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=h;c[e+4>>2]=i;break a;break}case 13:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&65535)<<16>>16;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 14:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&65535;c[i+4>>2]=0;break a;break}case 15:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&255)<<24>>24;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 16:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&255;c[i+4>>2]=0;break a;break}case 17:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+g[i>>3];c[d>>2]=i+8;g[a>>3]=j;break a;break}case 18:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+g[i>>3];c[d>>2]=i+8;g[a>>3]=j;break a;break}default:break a}while(0);while(0);return}function Fs(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0;if((b|0)==0&(c|0)==0)g=e;else{h=e;e=c;c=b;while(1){b=h+-1|0;a[b>>0]=d[32864+(c&15)>>0]|0|f;c=Ru(c|0,e|0,4)|0;e=G()|0;if((c|0)==0&(e|0)==0){g=b;break}else h=b}}return g|0}function Gs(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;if((b|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=b;while(1){b=f+-1|0;a[b>>0]=c&7|48;c=Ru(c|0,d|0,3)|0;d=G()|0;if((c|0)==0&(d|0)==0){e=b;break}else f=b}}return e|0}function Hs(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=d;f=b;g=c;do{c=f;f=Qu(f|0,g|0,10,0)|0;h=g;g=G()|0;i=Pu(f|0,g|0,10,0)|0;j=Ku(c|0,h|0,i|0,G()|0)|0;G()|0;e=e+-1|0;a[e>>0]=j&255|48}while(h>>>0>9|(h|0)==9&c>>>0>4294967295);k=f;l=e}else{k=b;l=d}if(!k)m=l;else{d=k;k=l;while(1){l=d;d=(d>>>0)/10|0;b=k+-1|0;a[b>>0]=l-(d*10|0)|48;if(l>>>0<10){m=b;break}else k=b}}return m|0}function Is(a){a=a|0;return Ss(a,c[(Rs()|0)+188>>2]|0)|0}function Js(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=b;j=e;while(1){if((a[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=b;r=e;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else m=16;b:do if((m|0)==6){r=d&255;if((a[k>>0]|0)==r<<24>>24)if(!l){m=16;break}else{t=k;break}q=B(f,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){e=c[s>>2]^q;if((e&-2139062144^-2139062144)&e+-16843009|0){u=g;v=s;break c}e=s+4|0;b=g+-4|0;if(b>>>0>3){s=e;g=b}else{w=e;x=b;m=11;break}}}else{w=k;x=l;m=11}while(0);if((m|0)==11)if(!x){m=16;break}else{u=x;v=w}q=v;g=u;while(1){if((a[q>>0]|0)==r<<24>>24){t=q;break b}g=g+-1|0;if(!g){m=16;break}else q=q+1|0}}while(0);if((m|0)==16)t=0;return t|0}function Ks(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Fa;Fa=Fa+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Yu(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{Cs(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;Cs(a,g,h)}Fa=f;return}function Ls(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Os(a,b,0)|0;return c|0}function Ms(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0.0,F=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0;j=Fa;Fa=Fa+560|0;k=j+32|0;l=j+536|0;m=j;n=m;o=j+540|0;c[l>>2]=0;p=o+12|0;q=Ns(e)|0;r=G()|0;if((r|0)<0){s=-e;t=Ns(s)|0;u=s;v=1;w=71965;x=G()|0;y=t}else{u=e;v=(h&2049|0)!=0&1;w=(h&2048|0)==0?((h&1|0)==0?71966:71971):71968;x=r;y=q}do if(0==0&(x&2146435072|0)==2146435072){q=(i&32|0)!=0;y=v+3|0;Ks(b,32,f,y,h&-65537);Cs(b,w,v);Cs(b,u!=u|0.0!=0.0?(q?72014:71992):q?71984:71988,3);Ks(b,32,f,y,h^8192);z=y}else{e=+rs(u,l)*2.0;y=e!=0.0;if(y)c[l>>2]=(c[l>>2]|0)+-1;q=i|32;if((q|0)==97){r=i&32;t=(r|0)==0?w:w+9|0;A=v|2;C=12-g|0;do if(!(g>>>0>11|(C|0)==0)){s=8.0;D=C;do{D=D+-1|0;s=s*16.0}while((D|0)!=0);if((a[t>>0]|0)==45){E=-(s+(-e-s));break}else{E=e+s-s;break}}else E=e;while(0);C=c[l>>2]|0;D=(C|0)<0?0-C|0:C;F=Hs(D,((D|0)<0)<<31>>31,p)|0;if((F|0)==(p|0)){D=o+11|0;a[D>>0]=48;H=D}else H=F;a[H+-1>>0]=(C>>31&2)+43;C=H+-2|0;a[C>>0]=i+15;F=(g|0)<1;D=(h&8|0)==0;I=m;J=E;while(1){K=~~J;L=I+1|0;a[I>>0]=r|d[32864+K>>0];J=(J-+(K|0))*16.0;if((L-n|0)==1?!(D&(F&J==0.0)):0){a[L>>0]=46;M=I+2|0}else M=L;if(!(J!=0.0))break;else I=M}I=M;if((g|0)!=0?(-2-n+I|0)<(g|0):0){F=p;D=C;N=g+2+F-D|0;O=F;P=D}else{D=p;F=C;N=D-n-F+I|0;O=D;P=F}F=N+A|0;Ks(b,32,f,F,h);Cs(b,t,A);Ks(b,48,f,F,h^65536);D=I-n|0;Cs(b,m,D);I=O-P|0;Ks(b,48,N-(D+I)|0,0,0);Cs(b,C,I);Ks(b,32,f,F,h^8192);z=F;break}F=(g|0)<0?6:g;if(y){I=(c[l>>2]|0)+-28|0;c[l>>2]=I;Q=e*268435456.0;R=I}else{Q=e;R=c[l>>2]|0}I=(R|0)<0?k:k+288|0;D=I;J=Q;do{r=~~J>>>0;c[D>>2]=r;D=D+4|0;J=(J-+(r>>>0))*1.0e9}while(J!=0.0);y=I;if((R|0)>0){C=I;A=D;t=R;while(1){r=(t|0)<29?t:29;L=A+-4|0;if(L>>>0>=C>>>0){K=L;L=0;do{S=Su(c[K>>2]|0,0,r|0)|0;T=Ju(S|0,G()|0,L|0,0)|0;S=G()|0;L=Qu(T|0,S|0,1e9,0)|0;U=Pu(L|0,G()|0,1e9,0)|0;V=Ku(T|0,S|0,U|0,G()|0)|0;G()|0;c[K>>2]=V;K=K+-4|0}while(K>>>0>=C>>>0);if(L){K=C+-4|0;c[K>>2]=L;W=K}else W=C}else W=C;a:do if(A>>>0>W>>>0){K=A;while(1){V=K+-4|0;if(c[V>>2]|0){X=K;break a}if(V>>>0>W>>>0)K=V;else{X=V;break}}}else X=A;while(0);L=(c[l>>2]|0)-r|0;c[l>>2]=L;if((L|0)>0){C=W;A=X;t=L}else{Y=W;Z=X;_=L;break}}}else{Y=I;Z=D;_=R}if((_|0)<0){t=((F+25|0)/9|0)+1|0;A=(q|0)==102;C=Y;L=Z;K=_;while(1){V=0-K|0;U=(V|0)<9?V:9;if(C>>>0<L>>>0){V=(1<<U)+-1|0;S=1e9>>>U;T=0;$=C;do{aa=c[$>>2]|0;c[$>>2]=(aa>>>U)+T;T=B(aa&V,S)|0;$=$+4|0}while($>>>0<L>>>0);$=(c[C>>2]|0)==0?C+4|0:C;if(!T){ba=L;ca=$}else{c[L>>2]=T;ba=L+4|0;ca=$}}else{ba=L;ca=(c[C>>2]|0)==0?C+4|0:C}$=A?I:ca;S=(ba-$>>2|0)>(t|0)?$+(t<<2)|0:ba;K=(c[l>>2]|0)+U|0;c[l>>2]=K;if((K|0)>=0){da=ca;ea=S;break}else{C=ca;L=S}}}else{da=Y;ea=Z}if(da>>>0<ea>>>0){L=(y-da>>2)*9|0;C=c[da>>2]|0;if(C>>>0<10)fa=L;else{K=L;L=10;while(1){L=L*10|0;t=K+1|0;if(C>>>0<L>>>0){fa=t;break}else K=t}}}else fa=0;K=(q|0)==103;L=(F|0)!=0;C=F-((q|0)==102?0:fa)+((L&K)<<31>>31)|0;if((C|0)<(((ea-y>>2)*9|0)+-9|0)){t=C+9216|0;C=(t|0)/9|0;A=I+4+(C+-1024<<2)|0;D=t-(C*9|0)|0;if((D|0)<8){C=D;D=10;while(1){t=D*10|0;if((C|0)<7){C=C+1|0;D=t}else{ga=t;break}}}else ga=10;D=c[A>>2]|0;C=(D>>>0)/(ga>>>0)|0;q=D-(B(C,ga)|0)|0;t=(A+4|0)==(ea|0);if(!(t&(q|0)==0)){s=(C&1|0)==0?9007199254740992.0:9007199254740994.0;C=ga>>>1;J=q>>>0<C>>>0?.5:t&(q|0)==(C|0)?1.0:1.5;if(!v){ha=J;ia=s}else{C=(a[w>>0]|0)==45;ha=C?-J:J;ia=C?-s:s}C=D-q|0;c[A>>2]=C;if(ia+ha!=ia){q=C+ga|0;c[A>>2]=q;if(q>>>0>999999999){q=A;C=da;while(1){D=q+-4|0;c[q>>2]=0;if(D>>>0<C>>>0){t=C+-4|0;c[t>>2]=0;ja=t}else ja=C;t=(c[D>>2]|0)+1|0;c[D>>2]=t;if(t>>>0>999999999){q=D;C=ja}else{ka=D;la=ja;break}}}else{ka=A;la=da}C=(y-la>>2)*9|0;q=c[la>>2]|0;if(q>>>0<10){ma=ka;na=C;oa=la}else{D=C;C=10;while(1){C=C*10|0;t=D+1|0;if(q>>>0<C>>>0){ma=ka;na=t;oa=la;break}else D=t}}}else{ma=A;na=fa;oa=da}}else{ma=A;na=fa;oa=da}D=ma+4|0;pa=na;qa=ea>>>0>D>>>0?D:ea;ra=oa}else{pa=fa;qa=ea;ra=da}D=0-pa|0;b:do if(qa>>>0>ra>>>0){C=qa;while(1){q=C+-4|0;if(c[q>>2]|0){sa=C;ta=1;break b}if(q>>>0>ra>>>0)C=q;else{sa=q;ta=0;break}}}else{sa=qa;ta=0}while(0);do if(K){A=F+((L^1)&1)|0;if((A|0)>(pa|0)&(pa|0)>-5){ua=i+-1|0;va=A+-1-pa|0}else{ua=i+-2|0;va=A+-1|0}if(!(h&8)){if(ta?(A=c[sa+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){C=0;U=10;while(1){U=U*10|0;T=C+1|0;if((A>>>0)%(U>>>0)|0|0){wa=T;break}else C=T}}else wa=0;else wa=9;C=((sa-y>>2)*9|0)+-9|0;if((ua|32|0)==102){U=C-wa|0;A=(U|0)>0?U:0;xa=ua;ya=(va|0)<(A|0)?va:A;break}else{A=C+pa-wa|0;C=(A|0)>0?A:0;xa=ua;ya=(va|0)<(C|0)?va:C;break}}else{xa=ua;ya=va}}else{xa=i;ya=F}while(0);F=(ya|0)!=0;y=F?1:h>>>3&1;L=(xa|32|0)==102;if(L){za=0;Aa=(pa|0)>0?pa:0}else{K=(pa|0)<0?D:pa;C=Hs(K,((K|0)<0)<<31>>31,p)|0;K=p;if((K-C|0)<2){A=C;while(1){U=A+-1|0;a[U>>0]=48;if((K-U|0)<2)A=U;else{Ba=U;break}}}else Ba=C;a[Ba+-1>>0]=(pa>>31&2)+43;A=Ba+-2|0;a[A>>0]=xa;za=A;Aa=K-A|0}A=v+1+ya+y+Aa|0;Ks(b,32,f,A,h);Cs(b,w,v);Ks(b,48,f,A,h^65536);if(L){D=ra>>>0>I>>>0?I:ra;U=m+9|0;T=U;q=m+8|0;t=D;do{S=Hs(c[t>>2]|0,0,U)|0;if((t|0)==(D|0))if((S|0)==(U|0)){a[q>>0]=48;Ca=q}else Ca=S;else if(S>>>0>m>>>0){Yu(m|0,48,S-n|0)|0;$=S;while(1){V=$+-1|0;if(V>>>0>m>>>0)$=V;else{Ca=V;break}}}else Ca=S;Cs(b,Ca,T-Ca|0);t=t+4|0}while(t>>>0<=I>>>0);if(!((h&8|0)==0&(F^1)))Cs(b,72022,1);if(t>>>0<sa>>>0&(ya|0)>0){I=ya;T=t;while(1){q=Hs(c[T>>2]|0,0,U)|0;if(q>>>0>m>>>0){Yu(m|0,48,q-n|0)|0;D=q;while(1){L=D+-1|0;if(L>>>0>m>>>0)D=L;else{Da=L;break}}}else Da=q;Cs(b,Da,(I|0)<9?I:9);T=T+4|0;D=I+-9|0;if(!(T>>>0<sa>>>0&(I|0)>9)){Ea=D;break}else I=D}}else Ea=ya;Ks(b,48,Ea+9|0,9,0)}else{I=ta?sa:ra+4|0;if(ra>>>0<I>>>0&(ya|0)>-1){T=m+9|0;U=(h&8|0)==0;t=T;F=0-n|0;D=m+8|0;S=ya;L=ra;while(1){y=Hs(c[L>>2]|0,0,T)|0;if((y|0)==(T|0)){a[D>>0]=48;Ga=D}else Ga=y;do if((L|0)==(ra|0)){y=Ga+1|0;Cs(b,Ga,1);if(U&(S|0)<1){Ha=y;break}Cs(b,72022,1);Ha=y}else{if(Ga>>>0<=m>>>0){Ha=Ga;break}Yu(m|0,48,Ga+F|0)|0;y=Ga;while(1){K=y+-1|0;if(K>>>0>m>>>0)y=K;else{Ha=K;break}}}while(0);q=t-Ha|0;Cs(b,Ha,(S|0)>(q|0)?q:S);y=S-q|0;L=L+4|0;if(!(L>>>0<I>>>0&(y|0)>-1)){Ia=y;break}else S=y}}else Ia=ya;Ks(b,48,Ia+18|0,18,0);Cs(b,za,p-za|0)}Ks(b,32,f,A,h^8192);z=A}while(0);Fa=j;return ((z|0)<(f|0)?f:z)|0}function Ns(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;F(c[h+4>>2]|0);return b|0}function Os(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;do if(b){if(d>>>0<128){a[b>>0]=d;f=1;break}if(!(c[c[(Ps()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;f=1;break}else{c[(es()|0)>>2]=84;f=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;f=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;f=4;break}else{c[(es()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function Ps(){return Qs()|0}function Qs(){return 35428}function Rs(){return Qs()|0}function Ss(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((d[32880+f>>0]|0)==(b|0)){g=4;break}h=f+1|0;if((h|0)==87){i=87;g=5;break}else f=h}if((g|0)==4)if(!f)j=32976;else{i=f;g=5}if((g|0)==5){g=32976;f=i;while(1){i=g;do{b=i;i=i+1|0}while((a[b>>0]|0)!=0);f=f+-1|0;if(!f){j=i;break}else g=i}}return Ts(j,c[e+20>>2]|0)|0}function Ts(a,b){a=a|0;b=b|0;return Us(a,b)|0}function Us(a,b){a=a|0;b=b|0;var d=0;if(!b)d=0;else d=Vs(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((d|0)==0?a:d)|0}function Vs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=(c[b>>2]|0)+1794895138|0;g=Ws(c[b+8>>2]|0,f)|0;h=Ws(c[b+12>>2]|0,f)|0;i=Ws(c[b+16>>2]|0,f)|0;a:do if((g>>>0<d>>>2>>>0?(j=d-(g<<2)|0,h>>>0<j>>>0&i>>>0<j>>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=Ws(c[b+(q<<2)>>2]|0,f)|0;s=Ws(c[b+(q+1<<2)>>2]|0,f)|0;if(!(s>>>0<d>>>0&r>>>0<(d-s|0)>>>0)){t=0;break a}if(a[b+(s+r)>>0]|0){t=0;break a}r=Xs(e,b+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}l=s?l:o;m=s?n:m-n|0}m=p+k|0;l=Ws(c[b+(m<<2)>>2]|0,f)|0;j=Ws(c[b+(m+1<<2)>>2]|0,f)|0;if(j>>>0<d>>>0&l>>>0<(d-j|0)>>>0)t=(a[b+(j+l)>>0]|0)==0?b+j|0:0;else t=0}else t=0;while(0);return t|0}function Ws(a,b){a=a|0;b=b|0;var c=0;c=Tu(a|0)|0;return ((b|0)==0?a:c)|0}function Xs(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=b;do{c=c+1|0;d=d+1|0;b=a[c>>0]|0;e=a[d>>0]|0}while(!(b<<24>>24==0?1:b<<24>>24!=e<<24>>24));f=e;g=b}return (g&255)-(f&255)|0}function Ys(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Zs(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0<d>>>0){j=La[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){l=0;m=b;n=d;o=k}else{f=d;while(1){p=f+-1|0;if((a[b+p>>0]|0)==10)break;if(!p){l=0;m=b;n=d;o=k;break b}else f=p}p=La[c[e+36>>2]&7](e,b,f)|0;if(p>>>0<f>>>0){j=p;break a}l=f;m=b+f|0;n=d-f|0;o=c[g>>2]|0}while(0);Xu(o|0,m|0,n|0)|0;c[g>>2]=(c[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function Zs(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function _s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+20|0;f=c[e>>2]|0;g=(c[a+16>>2]|0)-f|0;a=g>>>0>d>>>0?d:g;Xu(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function $s(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function at(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;a:do if(e>>>0>36){c[(es()|0)>>2]=22;i=0;j=0}else{k=b+4|0;l=b+100|0;do{m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;n=d[m>>0]|0}else n=bt(b)|0}while((ct(n)|0)!=0);b:do switch(n|0){case 43:case 45:{m=((n|0)==45)<<31>>31;o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;p=m;q=d[o>>0]|0;break b}else{p=m;q=bt(b)|0;break b}break}default:{p=0;q=n}}while(0);m=(e|0)==0;do if((e|16|0)==16&(q|0)==48){o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;r=d[o>>0]|0}else r=bt(b)|0;if((r|32|0)!=120)if(m){s=r;t=8;u=47;break}else{v=r;w=e;u=32;break}o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;x=d[o>>0]|0}else x=bt(b)|0;if((d[34785+x>>0]|0)>15){o=(c[l>>2]|0)==0;if(!o)c[k>>2]=(c[k>>2]|0)+-1;if(!f){$s(b,0);i=0;j=0;break a}if(o){i=0;j=0;break a}c[k>>2]=(c[k>>2]|0)+-1;i=0;j=0;break a}else{s=x;t=16;u=47}}else{o=m?10:e;if(o>>>0>(d[34785+q>>0]|0)>>>0){v=q;w=o;u=32}else{if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;$s(b,0);c[(es()|0)>>2]=22;i=0;j=0;break a}}while(0);c:do if((u|0)==32)if((w|0)==10){m=v+-48|0;if(m>>>0<10){o=0;y=m;do{o=(o*10|0)+y|0;m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;z=d[m>>0]|0}else z=bt(b)|0;y=z+-48|0}while(y>>>0<10&o>>>0<429496729);if(y>>>0<10){m=z;A=o;C=0;D=y;while(1){E=Pu(A|0,C|0,10,0)|0;H=G()|0;I=((D|0)<0)<<31>>31;J=~I;if(H>>>0>J>>>0|(H|0)==(J|0)&E>>>0>~D>>>0){K=10;L=m;M=A;N=C;u=76;break c}A=Ju(E|0,H|0,D|0,I|0)|0;C=G()|0;I=c[k>>2]|0;if(I>>>0<(c[l>>2]|0)>>>0){c[k>>2]=I+1;O=d[I>>0]|0}else O=bt(b)|0;D=O+-48|0;if(!(D>>>0<10&(C>>>0<429496729|(C|0)==429496729&A>>>0<2576980378)))break;else m=O}if(D>>>0>9){P=p;Q=C;R=A}else{K=10;L=O;M=A;N=C;u=76}}else{P=p;Q=0;R=o}}else{P=p;Q=0;R=0}}else{s=v;t=w;u=47}while(0);d:do if((u|0)==47){if(!(t+-1&t)){m=a[71996+((t*23|0)>>>5&7)>>0]|0;y=a[34785+s>>0]|0;I=y&255;if(t>>>0>I>>>0){H=0;E=I;do{H=E|H<<m;J=c[k>>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;S=d[J>>0]|0}else S=bt(b)|0;T=a[34785+S>>0]|0;E=T&255}while(H>>>0<134217728&t>>>0>E>>>0);U=S;V=E;W=0;X=H;Y=T}else{U=s;V=I;W=0;X=0;Y=y}o=Ru(-1,-1,m|0)|0;C=G()|0;if(t>>>0<=V>>>0|(C>>>0<W>>>0|(C|0)==(W|0)&o>>>0<X>>>0)){K=t;L=U;M=X;N=W;u=76;break}A=X;D=W;J=Y;while(1){Z=Su(A|0,D|0,m|0)|0;_=G()|0;$=Z|J&255;Z=c[k>>2]|0;if(Z>>>0<(c[l>>2]|0)>>>0){c[k>>2]=Z+1;aa=d[Z>>0]|0}else aa=bt(b)|0;J=a[34785+aa>>0]|0;if(t>>>0<=(J&255)>>>0|(_>>>0>C>>>0|(_|0)==(C|0)&$>>>0>o>>>0)){K=t;L=aa;M=$;N=_;u=76;break d}else{A=$;D=_}}}D=a[34785+s>>0]|0;A=D&255;if(t>>>0>A>>>0){o=0;C=A;do{o=C+(B(o,t)|0)|0;J=c[k>>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;ba=d[J>>0]|0}else ba=bt(b)|0;ca=a[34785+ba>>0]|0;C=ca&255}while(o>>>0<119304647&t>>>0>C>>>0);da=ba;ea=C;fa=ca;ga=o;ha=0}else{da=s;ea=A;fa=D;ga=0;ha=0}if(t>>>0>ea>>>0){J=Qu(-1,-1,t|0,0)|0;m=G()|0;y=da;I=ha;H=ga;E=fa;while(1){if(I>>>0>m>>>0|(I|0)==(m|0)&H>>>0>J>>>0){K=t;L=y;M=H;N=I;u=76;break d}_=Pu(H|0,I|0,t|0,0)|0;$=G()|0;Z=E&255;if($>>>0>4294967295|($|0)==-1&_>>>0>~Z>>>0){K=t;L=y;M=H;N=I;u=76;break d}ia=Ju(_|0,$|0,Z|0,0)|0;Z=G()|0;$=c[k>>2]|0;if($>>>0<(c[l>>2]|0)>>>0){c[k>>2]=$+1;ja=d[$>>0]|0}else ja=bt(b)|0;E=a[34785+ja>>0]|0;if(t>>>0<=(E&255)>>>0){K=t;L=ja;M=ia;N=Z;u=76;break}else{y=ja;I=Z;H=ia}}}else{K=t;L=da;M=ga;N=ha;u=76}}while(0);if((u|0)==76)if(K>>>0>(d[34785+L>>0]|0)>>>0){do{H=c[k>>2]|0;if(H>>>0<(c[l>>2]|0)>>>0){c[k>>2]=H+1;ka=d[H>>0]|0}else ka=bt(b)|0}while(K>>>0>(d[34785+ka>>0]|0)>>>0);c[(es()|0)>>2]=34;P=(g&1|0)==0&0==0?p:0;Q=h;R=g}else{P=p;Q=N;R=M}if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;if(!(Q>>>0<h>>>0|(Q|0)==(h|0)&R>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(P|0)!=0)){c[(es()|0)>>2]=34;H=Ju(g|0,h|0,-1,-1)|0;i=G()|0;j=H;break}if(Q>>>0>h>>>0|(Q|0)==(h|0)&R>>>0>g>>>0){c[(es()|0)>>2]=34;i=h;j=g;break}}H=((P|0)<0)<<31>>31;I=Ku(R^P|0,Q^H|0,P|0,H|0)|0;i=G()|0;j=I}while(0);F(i|0);return j|0}function bt(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=b+104|0;f=c[e>>2]|0;if((f|0)!=0?(c[b+108>>2]|0)>=(f|0):0)g=4;else{f=dt(b)|0;if((f|0)>=0){h=c[e>>2]|0;e=c[b+8>>2]|0;if(h){i=c[b+4>>2]|0;j=h-(c[b+108>>2]|0)|0;h=e;if((e-i|0)<(j|0)){k=h;g=9}else{c[b+100>>2]=i+(j+-1);l=h}}else{k=e;g=9}if((g|0)==9){c[b+100>>2]=e;l=k}k=b+4|0;if(!l)m=c[k>>2]|0;else{e=c[k>>2]|0;k=b+108|0;c[k>>2]=l+1-e+(c[k>>2]|0);m=e}e=m+-1|0;if((f|0)==(d[e>>0]|0|0))n=f;else{a[e>>0]=f;n=f}}else g=4}if((g|0)==4){c[b+100>>2]=0;n=-1}return n|0}function ct(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function dt(a){a=a|0;var b=0,e=0,f=0;b=Fa;Fa=Fa+16|0;e=b;if((et(a)|0)==0?(La[c[a+32>>2]&7](a,e,1)|0)==1:0)f=d[e>>0]|0;else f=-1;Fa=b;return f|0}function et(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=b+20|0;d=b+28|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)La[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[d>>2]=0;c[e>>2]=0;e=c[b>>2]|0;if(!(e&4)){d=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=d;c[b+4>>2]=d;f=e<<27>>31}else{c[b>>2]=e|32;f=-1}return f|0}function ft(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b;a:do if(!(d&3)){e=b;f=5}else{g=b;h=d;while(1){if(!(a[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){e=j;f=5;break}else g=j}}while(0);if((f|0)==5){f=e;while(1){k=c[f>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))f=f+4|0;else break}if(!((k&255)<<24>>24))l=f;else{k=f;while(1){f=k+1|0;if(!(a[f>>0]|0)){l=f;break}else k=f}}i=l}return i-d|0}function gt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=Fa;Fa=Fa+208|0;g=f;h=f+192|0;i=B(d,b)|0;b=h;c[b>>2]=1;c[b+4>>2]=0;a:do if(i|0){b=0-d|0;c[g+4>>2]=d;c[g>>2]=d;j=2;k=d;l=d;while(1){m=k+d+l|0;c[g+(j<<2)>>2]=m;if(m>>>0<i>>>0){n=l;j=j+1|0;l=m;k=n}else break}k=a+i+b|0;if(k>>>0>a>>>0){l=k;j=1;n=a;m=1;while(1){do if((m&3|0)!=3){o=j+-1|0;if((c[g+(o<<2)>>2]|0)>>>0<(l-n|0)>>>0)ht(n,d,e,j,g);else jt(n,d,e,h,j,0,g);if((j|0)==1){kt(h,1);p=0;break}else{kt(h,o);p=1;break}}else{ht(n,d,e,j,g);it(h,2);p=j+2|0}while(0);o=c[h>>2]|1;c[h>>2]=o;q=n+d|0;if(q>>>0<k>>>0){j=p;n=q;m=o}else{r=p;s=q;t=o;break}}}else{r=1;s=a;t=1}jt(s,d,e,h,r,0,g);m=h+4|0;n=s;j=r;k=t;while(1){if((j|0)==1&(k|0)==1)if(!(c[m>>2]|0))break a;else u=19;else if((j|0)<2)u=19;else{kt(h,2);l=j+-2|0;c[h>>2]=c[h>>2]^7;it(h,1);jt(n+(0-(c[g+(l<<2)>>2]|0))+b|0,d,e,h,j+-1|0,1,g);kt(h,1);o=c[h>>2]|1;c[h>>2]=o;q=n+b|0;jt(q,d,e,h,l,1,g);v=q;w=l;x=o}if((u|0)==19){u=0;o=lt(h)|0;it(h,o);v=n+b|0;w=o+j|0;x=c[h>>2]|0}n=v;j=w;k=x}}while(0);Fa=f;return}function ht(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=Fa;Fa=Fa+240|0;h=g;c[h>>2]=a;a:do if((e|0)>1){i=0-b|0;j=a;k=e;l=1;m=a;while(1){n=j+i|0;o=k+-2|0;p=n+(0-(c[f+(o<<2)>>2]|0))|0;if((Ka[d&3](m,p)|0)>-1?(Ka[d&3](m,n)|0)>-1:0){q=l;break a}r=h+(l<<2)|0;if((Ka[d&3](p,n)|0)>-1){c[r>>2]=p;s=p;t=k+-1|0}else{c[r>>2]=n;s=n;t=o}o=l+1|0;if((t|0)<=1){q=o;break a}j=s;k=t;l=o;m=c[h>>2]|0}}else q=1;while(0);nt(b,h,q);Fa=g;return}function it(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+4|0;if(b>>>0>31){e=c[d>>2]|0;c[a>>2]=e;c[d>>2]=0;f=b+-32|0;g=0;h=e}else{f=b;g=c[d>>2]|0;h=c[a>>2]|0}c[a>>2]=g<<32-f|h>>>f;c[d>>2]=g>>>f;return}function jt(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;i=Fa;Fa=Fa+240|0;j=i+232|0;k=i;l=c[e>>2]|0;c[j>>2]=l;m=c[e+4>>2]|0;e=j+4|0;c[e>>2]=m;c[k>>2]=a;a:do if((l|0)!=1|(m|0)!=0?(n=0-b|0,o=a+(0-(c[h+(f<<2)>>2]|0))|0,(Ka[d&3](o,a)|0)>=1):0){p=1;q=f;r=(g|0)==0;s=a;t=o;while(1){if(r&(q|0)>1){o=s+n|0;u=c[h+(q+-2<<2)>>2]|0;if((Ka[d&3](o,t)|0)>-1){v=p;w=q;x=s;y=10;break a}if((Ka[d&3](o+(0-u)|0,t)|0)>-1){v=p;w=q;x=s;y=10;break a}}u=p+1|0;c[k+(p<<2)>>2]=t;o=lt(j)|0;it(j,o);z=o+q|0;if(!((c[j>>2]|0)!=1|(c[e>>2]|0)!=0)){v=u;w=z;x=t;y=10;break a}o=t+(0-(c[h+(z<<2)>>2]|0))|0;if((Ka[d&3](o,c[k>>2]|0)|0)<1){A=t;B=u;C=z;D=0;y=9;break}else{E=t;p=u;q=z;r=1;t=o;s=E}}}else{A=a;B=1;C=f;D=g;y=9}while(0);if((y|0)==9?(D|0)==0:0){v=B;w=C;x=A;y=10}if((y|0)==10){nt(b,k,v);ht(x,b,d,w,h)}Fa=i;return}function kt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[d>>2]=e;c[a>>2]=0;f=b+-32|0;g=0;h=e}else{f=b;g=c[a>>2]|0;h=c[d>>2]|0}c[d>>2]=g>>>(32-f|0)|h<<f;c[a>>2]=g<<f;return}function lt(a){a=a|0;var b=0,d=0;b=mt((c[a>>2]|0)+-1|0)|0;if(!b){d=mt(c[a+4>>2]|0)|0;return ((d|0)==0?0:d+32|0)|0}else return b|0;return 0}function mt(a){a=a|0;var b=0,c=0,d=0;if(a)if(!(a&1)){b=a;a=0;while(1){c=a+1|0;if(!(b&2)){b=b>>>1;a=c}else{d=c;break}}}else d=0;else d=32;return d|0}function nt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Fa;Fa=Fa+256|0;f=e;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=f,a|0):0){h=a;i=f;while(1){j=h>>>0<256?h:256;Xu(i|0,c[b>>2]|0,j|0)|0;k=0;do{l=b+(k<<2)|0;k=k+1|0;Xu(c[l>>2]|0,c[b+(k<<2)>>2]|0,j|0)|0;c[l>>2]=(c[l>>2]|0)+j}while((k|0)!=(d|0));k=h-j|0;if(!k)break a;h=k;i=c[g>>2]|0}}while(0);Fa=e;return}function ot(a,b){a=a|0;b=b|0;qt(a,b)|0;return a|0}function pt(a,b){a=a|0;b=b|0;ot(a+(ft(a)|0)|0,b)|0;return a|0}function qt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=d;a:do if(!((e^b)&3)){if(!(e&3)){f=d;g=b}else{h=d;i=b;while(1){j=a[h>>0]|0;a[i>>0]=j;if(!(j<<24>>24)){k=i;break a}j=h+1|0;l=i+1|0;if(!(j&3)){f=j;g=l;break}else{h=j;i=l}}}i=c[f>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){h=g;l=f;j=i;while(1){i=l+4|0;m=h+4|0;c[h>>2]=j;j=c[i>>2]|0;if((j&-2139062144^-2139062144)&j+-16843009|0){n=i;o=m;break}else{h=m;l=i}}}else{n=f;o=g}p=n;q=o;r=10}else{p=d;q=b;r=10}while(0);if((r|0)==10){r=a[p>>0]|0;a[q>>0]=r;if(!(r<<24>>24))k=q;else{r=q;q=p;while(1){q=q+1|0;p=r+1|0;b=a[q>>0]|0;a[p>>0]=b;if(!(b<<24>>24)){k=p;break}else r=p}}}return k|0}function rt(b,c){b=b|0;c=c|0;var d=0;d=yt(b,c)|0;return ((a[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function st(a){a=a|0;var b=0,d=0,e=0,f=0;b=Fa;Fa=Fa+16|0;d=b+8|0;e=xt(a,589824,b)|0;do if((e|0)>=0){a=Yr(1,2072)|0;if(!a){c[d>>2]=e;ea(6,d|0)|0;f=0;break}else{c[a>>2]=e;f=a;break}}else f=0;while(0);Fa=b;return f|0}function tt(a,b){a=a|0;b=b|0;var d=0,e=0;d=Fa;Fa=Fa+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=ds($(195,e|0)|0)|0;Fa=d;return b|0}function ut(a){a=a|0;var b=0;b=wt(c[a>>2]|0)|0;Xr(a);return b|0}function vt(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Fa;Fa=Fa+16|0;d=b;f=a+8|0;g=c[f>>2]|0;h=a+12|0;a:do if((g|0)<(c[h>>2]|0)){i=a+24+g|0;j=g;k=7}else{l=a+24|0;c[d>>2]=c[a>>2];c[d+4>>2]=l;c[d+8>>2]=2048;m=aa(220,d|0)|0;if((m|0)>=1){c[h>>2]=m;c[f>>2]=0;i=l;j=0;k=7;break}switch(m|0){case 0:case -2:{n=0;break a;break}default:{}}c[(es()|0)>>2]=0-m;n=0}while(0);if((k|0)==7){c[f>>2]=j+(e[i+8>>1]|0);c[a+4>>2]=c[i+4>>2];n=i}Fa=b;return n|0}function wt(a){a=a|0;var b=0,d=0;b=Fa;Fa=Fa+16|0;d=b;c[d>>2]=fs(a)|0;a=ea(6,d|0)|0;d=ds((a|0)==-4?0:a)|0;Fa=b;return d|0}function xt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Fa;Fa=Fa+48|0;f=e+32|0;g=e+16|0;h=e;if(!(b&4194368))i=0;else{c[h>>2]=d;d=(c[h>>2]|0)+(4-1)&~(4-1);j=c[d>>2]|0;c[h>>2]=d+4;i=j}c[g>>2]=a;c[g+4>>2]=b|32768;c[g+8>>2]=i;i=ca(5,g|0)|0;if(!((b&524288|0)==0|(i|0)<0)){c[f>>2]=i;c[f+4>>2]=2;c[f+8>>2]=1;ba(221,f|0)|0}f=ds(i)|0;Fa=e;return f|0}function yt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d&255;a:do if(!e)f=b+(ft(b)|0)|0;else{if(!(b&3))g=b;else{h=d&255;i=b;while(1){j=a[i>>0]|0;if(j<<24>>24==0?1:j<<24>>24==h<<24>>24){f=i;break a}j=i+1|0;if(!(j&3)){g=j;break}else i=j}}i=B(e,16843009)|0;h=c[g>>2]|0;b:do if(!((h&-2139062144^-2139062144)&h+-16843009)){j=g;k=h;while(1){l=k^i;if((l&-2139062144^-2139062144)&l+-16843009|0){m=j;break b}l=j+4|0;k=c[l>>2]|0;if((k&-2139062144^-2139062144)&k+-16843009|0){m=l;break}else j=l}}else m=g;while(0);i=d&255;h=m;while(1){j=a[h>>0]|0;if(j<<24>>24==0?1:j<<24>>24==i<<24>>24){f=h;break}else h=h+1|0}}while(0);return f|0}function zt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0;e=Fa;Fa=Fa+128|0;f=e;g=f;h=g+124|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=f+4|0;c[g>>2]=a;h=f+8|0;c[h>>2]=-1;c[f+44>>2]=a;c[f+76>>2]=-1;$s(f,0);i=+At(f,d,1);d=(c[g>>2]|0)-(c[h>>2]|0)+(c[f+108>>2]|0)|0;if(b|0)c[b>>2]=(d|0)==0?a:a+d|0;Fa=e;return +i}function At(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;switch(e|0){case 0:{g=-149;h=24;i=4;break}case 1:{g=-1074;h=53;i=4;break}case 2:{g=-1074;h=53;i=4;break}default:j=0.0}a:do if((i|0)==4){e=b+4|0;k=b+100|0;do{l=c[e>>2]|0;if(l>>>0<(c[k>>2]|0)>>>0){c[e>>2]=l+1;m=d[l>>0]|0}else m=bt(b)|0}while((ct(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=c[e>>2]|0;if(n>>>0<(c[k>>2]|0)>>>0){c[e>>2]=n+1;o=d[n>>0]|0;p=l;break b}else{o=bt(b)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=0;n=o;while(1){if((n|32|0)!=(a[72005+l>>0]|0)){q=n;t=l;break}do if(l>>>0<7){u=c[e>>2]|0;if(u>>>0<(c[k>>2]|0)>>>0){c[e>>2]=u+1;v=d[u>>0]|0;break}else{v=bt(b)|0;break}}else v=n;while(0);l=l+1|0;if(l>>>0>=8){q=v;t=8;break}else n=v}c:do switch(t&2147483647|0){case 8:break;case 3:{i=23;break}default:{n=(f|0)!=0;if(n&t>>>0>3)if((t|0)==8)break c;else{i=23;break c}d:do if(!t){l=0;u=q;while(1){if((u|32|0)!=(a[72014+l>>0]|0)){w=l;x=u;break d}do if(l>>>0<2){y=c[e>>2]|0;if(y>>>0<(c[k>>2]|0)>>>0){c[e>>2]=y+1;z=d[y>>0]|0;break}else{z=bt(b)|0;break}}else z=u;while(0);l=l+1|0;if(l>>>0>=3){w=3;x=z;break}else u=z}}else{w=t;x=q}while(0);switch(w|0){case 3:{u=c[e>>2]|0;if(u>>>0<(c[k>>2]|0)>>>0){c[e>>2]=u+1;A=d[u>>0]|0}else A=bt(b)|0;if((A|0)!=40){if(!(c[k>>2]|0)){j=r;break a}c[e>>2]=(c[e>>2]|0)+-1;j=r;break a}u=1;while(1){l=c[e>>2]|0;if(l>>>0<(c[k>>2]|0)>>>0){c[e>>2]=l+1;B=d[l>>0]|0}else B=bt(b)|0;if(!((B+-48|0)>>>0<10|(B+-65|0)>>>0<26)?!((B|0)==95|(B+-97|0)>>>0<26):0)break;u=u+1|0}if((B|0)==41){j=r;break a}l=(c[k>>2]|0)==0;if(!l)c[e>>2]=(c[e>>2]|0)+-1;if(!n){c[(es()|0)>>2]=22;$s(b,0);j=0.0;break a}if(!u){j=r;break a}y=u;while(1){y=y+-1|0;if(!l)c[e>>2]=(c[e>>2]|0)+-1;if(!y){j=r;break a}}break}case 0:{if((x|0)==48){y=c[e>>2]|0;if(y>>>0<(c[k>>2]|0)>>>0){c[e>>2]=y+1;C=d[y>>0]|0}else C=bt(b)|0;if((C|32|0)==120){j=+Bt(b,h,g,p,f);break a}if(!(c[k>>2]|0))D=48;else{c[e>>2]=(c[e>>2]|0)+-1;D=48}}else D=x;j=+Ct(b,D,h,g,p,f);break a;break}default:{if(c[k>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;c[(es()|0)>>2]=22;$s(b,0);j=0.0;break a}}}}while(0);if((i|0)==23){y=(c[k>>2]|0)==0;if(!y)c[e>>2]=(c[e>>2]|0)+-1;if((f|0)!=0&t>>>0>3){l=t;do{if(!y)c[e>>2]=(c[e>>2]|0)+-1;l=l+-1|0}while(l>>>0>3)}}j=+(p|0)*s}while(0);return +j}function Bt(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,H=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0.0,aa=0,ba=0.0;h=a+4|0;i=c[h>>2]|0;j=a+100|0;if(i>>>0<(c[j>>2]|0)>>>0){c[h>>2]=i+1;k=d[i>>0]|0}else k=bt(a)|0;i=k;k=0;a:while(1){switch(i|0){case 46:{l=10;break a;break}case 48:break;default:{m=0;n=i;o=k;p=0;q=0;break a}}r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;s=d[r>>0]|0}else s=bt(a)|0;i=s;k=1}if((l|0)==10){s=c[h>>2]|0;if(s>>>0<(c[j>>2]|0)>>>0){c[h>>2]=s+1;t=d[s>>0]|0}else t=bt(a)|0;if((t|0)==48){s=0;i=0;while(1){r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;u=d[r>>0]|0}else u=bt(a)|0;r=Ju(s|0,i|0,-1,-1)|0;v=G()|0;if((u|0)==48){s=r;i=v}else{m=1;n=u;o=1;p=r;q=v;break}}}else{m=1;n=t;o=k;p=0;q=0}}k=0;w=1.0;x=0.0;t=0;u=m;m=n;n=o;o=0;i=0;s=p;p=q;while(1){q=m+-48|0;v=m|32;if(q>>>0>=10){r=(m|0)==46;if(!(r|(v+-97|0)>>>0<6)){y=m;break}if(r)if(!u){z=1;A=k;B=w;C=x;D=t;E=n;F=i;H=o;I=i;J=o}else{y=46;break}else l=24}else l=24;if((l|0)==24){l=0;r=(m|0)>57?v+-87|0:q;do if(!((o|0)<0|(o|0)==0&i>>>0<8))if((o|0)<0|(o|0)==0&i>>>0<14){K=w*.0625;L=k;M=K;N=x+K*+(r|0);O=t;break}else{q=(k|0)!=0|(r|0)==0;L=q?k:1;M=w;N=q?x:x+w*.5;O=t;break}else{L=k;M=w;N=x;O=r+(t<<4)|0}while(0);r=Ju(i|0,o|0,1,0)|0;z=u;A=L;B=M;C=N;D=O;E=1;F=s;H=p;I=r;J=G()|0}r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;P=d[r>>0]|0}else P=bt(a)|0;k=A;w=B;x=C;t=D;u=z;m=P;n=E;o=J;i=I;s=F;p=H}do if(!n){H=(c[j>>2]|0)==0;if(!H)c[h>>2]=(c[h>>2]|0)+-1;if(g){if(!H?(c[h>>2]=(c[h>>2]|0)+-1,!((u|0)==0|H)):0)c[h>>2]=(c[h>>2]|0)+-1}else $s(a,0);Q=+(f|0)*0.0}else{H=(u|0)==0;F=H?i:s;I=H?o:p;if((o|0)<0|(o|0)==0&i>>>0<8){H=t;J=i;E=o;while(1){P=H<<4;m=J;J=Ju(J|0,E|0,1,0)|0;z=E;E=G()|0;if(!((z|0)<0|(z|0)==0&m>>>0<7)){R=P;break}else H=P}}else R=t;if((y|32|0)==112){H=Dt(a,g)|0;E=G()|0;if((H|0)==0&(E|0)==-2147483648){if(!g){$s(a,0);Q=0.0;break}if(!(c[j>>2]|0)){S=0;T=0}else{c[h>>2]=(c[h>>2]|0)+-1;S=0;T=0}}else{S=H;T=E}}else if(!(c[j>>2]|0)){S=0;T=0}else{c[h>>2]=(c[h>>2]|0)+-1;S=0;T=0}E=Su(F|0,I|0,2)|0;H=Ju(E|0,G()|0,-32,-1)|0;E=Ju(H|0,G()|0,S|0,T|0)|0;H=G()|0;if(!R){Q=+(f|0)*0.0;break}J=0-e|0;P=((J|0)<0)<<31>>31;if((H|0)>(P|0)|(H|0)==(P|0)&E>>>0>J>>>0){c[(es()|0)>>2]=34;Q=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}J=e+-106|0;P=((J|0)<0)<<31>>31;if((H|0)<(P|0)|(H|0)==(P|0)&E>>>0<J>>>0){c[(es()|0)>>2]=34;Q=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((R|0)>-1){C=x;J=R;P=E;m=H;while(1){z=!(C>=.5);D=J<<1|(z^1)&1;B=C+(z?C:C+-1.0);z=Ju(P|0,m|0,-1,-1)|0;A=G()|0;if((D|0)>-1){C=B;J=D;P=z;m=A}else{U=B;V=D;W=z;X=A;break}}}else{U=x;V=R;W=E;X=H}m=((b|0)<0)<<31>>31;P=Ku(32,0,e|0,((e|0)<0)<<31>>31|0)|0;J=Ju(P|0,G()|0,W|0,X|0)|0;P=G()|0;if((P|0)<(m|0)|(P|0)==(m|0)&J>>>0<b>>>0)if((J|0)>0){Y=J;l=65}else{Z=0;_=84;l=67}else{Y=b;l=65}if((l|0)==65)if((Y|0)<53){Z=Y;_=84-Y|0;l=67}else{$=0.0;aa=Y;ba=+(f|0)}if((l|0)==67){C=+(f|0);$=+ls(+js(1.0,_),C);aa=Z;ba=C}J=(V&1|0)==0&(U!=0.0&(aa|0)<32);C=(J?0.0:U)*ba+($+ba*+((V+(J&1)|0)>>>0))-$;if(!(C!=0.0))c[(es()|0)>>2]=34;Q=+qs(C,W)}while(0);return +Q}function Ct(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0.0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0.0,fb=0,gb=0.0,hb=0.0,ib=0.0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0;i=Fa;Fa=Fa+512|0;j=i;k=f+e|0;l=0-k|0;m=a+4|0;n=a+100|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=7;break a;break}case 48:break;default:{q=0;r=o;s=b;t=0;v=0;break a}}w=c[m>>2]|0;if(w>>>0<(c[n>>2]|0)>>>0){c[m>>2]=w+1;x=d[w>>0]|0}else x=bt(a)|0;o=x;b=1}if((p|0)==7){x=c[m>>2]|0;if(x>>>0<(c[n>>2]|0)>>>0){c[m>>2]=x+1;y=d[x>>0]|0}else y=bt(a)|0;if((y|0)==48){x=0;o=0;while(1){w=Ju(x|0,o|0,-1,-1)|0;z=G()|0;A=c[m>>2]|0;if(A>>>0<(c[n>>2]|0)>>>0){c[m>>2]=A+1;C=d[A>>0]|0}else C=bt(a)|0;if((C|0)==48){x=w;o=z}else{q=1;r=C;s=1;t=w;v=z;break}}}else{q=1;r=y;s=b;t=0;v=0}}c[j>>2]=0;b=r+-48|0;y=(r|0)==46;b:do if(y|b>>>0<10){C=j+496|0;o=0;x=0;z=0;w=q;A=s;D=r;E=y;F=b;H=t;I=v;J=0;K=0;c:while(1){do if(E)if(!w){L=o;M=x;N=1;O=z;P=A;Q=J;R=K;S=J;T=K}else break c;else{U=Ju(J|0,K|0,1,0)|0;V=G()|0;W=(D|0)!=48;if((x|0)>=125){if(!W){L=o;M=x;N=w;O=z;P=A;Q=H;R=I;S=U;T=V;break}c[C>>2]=c[C>>2]|1;L=o;M=x;N=w;O=z;P=A;Q=H;R=I;S=U;T=V;break}X=j+(x<<2)|0;if(!o)Y=F;else Y=D+-48+((c[X>>2]|0)*10|0)|0;c[X>>2]=Y;X=o+1|0;Z=(X|0)==9;L=Z?0:X;M=x+(Z&1)|0;N=w;O=W?U:z;P=1;Q=H;R=I;S=U;T=V}while(0);V=c[m>>2]|0;if(V>>>0<(c[n>>2]|0)>>>0){c[m>>2]=V+1;_=d[V>>0]|0}else _=bt(a)|0;F=_+-48|0;E=(_|0)==46;if(!(E|F>>>0<10)){$=L;aa=M;ba=O;ca=N;da=_;ea=P;fa=Q;ga=S;ha=R;ia=T;p=31;break b}else{o=L;x=M;z=O;w=N;A=P;D=_;H=Q;I=R;J=S;K=T}}ja=o;ka=x;la=z;ma=J;na=K;oa=H;pa=I;qa=(A|0)!=0;p=39}else{$=0;aa=0;ba=0;ca=q;da=r;ea=s;fa=t;ga=0;ha=v;ia=0;p=31}while(0);do if((p|0)==31){v=(ca|0)==0;t=v?ga:fa;s=v?ia:ha;v=(ea|0)!=0;if(!(v&(da|32|0)==101))if((da|0)>-1){ja=$;ka=aa;la=ba;ma=ga;na=ia;oa=t;pa=s;qa=v;p=39;break}else{ra=$;sa=aa;ta=ba;ua=ga;va=ia;wa=v;xa=t;ya=s;p=41;break}v=Dt(a,h)|0;r=G()|0;if((v|0)==0&(r|0)==-2147483648){if(!h){$s(a,0);za=0.0;break}if(!(c[n>>2]|0)){Aa=0;Ba=0}else{c[m>>2]=(c[m>>2]|0)+-1;Aa=0;Ba=0}}else{Aa=v;Ba=r}r=Ju(Aa|0,Ba|0,t|0,s|0)|0;Ca=$;Da=aa;Ea=ba;Ga=r;Ha=ga;Ia=G()|0;Ja=ia;p=43}while(0);if((p|0)==39)if(c[n>>2]|0){c[m>>2]=(c[m>>2]|0)+-1;if(qa){Ca=ja;Da=ka;Ea=la;Ga=oa;Ha=ma;Ia=pa;Ja=na;p=43}else p=42}else{ra=ja;sa=ka;ta=la;ua=ma;va=na;wa=qa;xa=oa;ya=pa;p=41}if((p|0)==41)if(wa){Ca=ra;Da=sa;Ea=ta;Ga=xa;Ha=ua;Ia=ya;Ja=va;p=43}else p=42;do if((p|0)==42){c[(es()|0)>>2]=22;$s(a,0);za=0.0}else if((p|0)==43){va=c[j>>2]|0;if(!va){za=+(g|0)*0.0;break}if(((Ja|0)<0|(Ja|0)==0&Ha>>>0<10)&((Ga|0)==(Ha|0)&(Ia|0)==(Ja|0))?(e|0)>30|(va>>>e|0)==0:0){za=+(g|0)*+(va>>>0);break}va=(f|0)/-2|0;ya=((va|0)<0)<<31>>31;if((Ia|0)>(ya|0)|(Ia|0)==(ya|0)&Ga>>>0>va>>>0){c[(es()|0)>>2]=34;za=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}va=f+-106|0;ya=((va|0)<0)<<31>>31;if((Ia|0)<(ya|0)|(Ia|0)==(ya|0)&Ga>>>0<va>>>0){c[(es()|0)>>2]=34;za=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Ca)Ka=Da;else{if((Ca|0)<9){va=j+(Da<<2)|0;ya=Ca;ua=c[va>>2]|0;while(1){ua=ua*10|0;if((ya|0)>=8)break;else ya=ya+1|0}c[va>>2]=ua}Ka=Da+1|0}if((Ea|0)<9?(Ea|0)<=(Ga|0)&(Ga|0)<18:0){if((Ga|0)==9){za=+(g|0)*+((c[j>>2]|0)>>>0);break}if((Ga|0)<9){za=+(g|0)*+((c[j>>2]|0)>>>0)/+(c[35056+(8-Ga<<2)>>2]|0);break}ya=e+27+(B(Ga,-3)|0)|0;A=c[j>>2]|0;if((ya|0)>30|(A>>>ya|0)==0){za=+(g|0)*+(A>>>0)*+(c[35056+(Ga+-10<<2)>>2]|0);break}}A=(Ga|0)%9|0;if(!A){La=Ka;Ma=0;Na=Ga}else{ya=(Ga|0)>-1?A:A+9|0;A=c[35056+(8-ya<<2)>>2]|0;if(Ka){I=1e9/(A|0)|0;H=0;K=0;J=Ga;z=0;do{x=j+(z<<2)|0;o=c[x>>2]|0;xa=(o>>>0)/(A>>>0)|0;ta=o-(B(xa,A)|0)|0;o=xa+H|0;c[x>>2]=o;H=B(I,ta)|0;ta=(z|0)==(K|0)&(o|0)==0;J=ta?J+-9|0:J;K=ta?K+1&127:K;z=z+1|0}while((z|0)!=(Ka|0));if(!H){Oa=K;Pa=Ka;Qa=J}else{c[j+(Ka<<2)>>2]=H;Oa=K;Pa=Ka+1|0;Qa=J}}else{Oa=0;Pa=0;Qa=Ga}La=Pa;Ma=Oa;Na=9-ya+Qa|0}z=0;I=La;A=Ma;ua=Na;d:while(1){va=(ua|0)<18;ta=(ua|0)==18;o=j+(A<<2)|0;Ra=z;Sa=I;while(1){if(!va){if(!ta){Ta=ua;break d}if((c[o>>2]|0)>>>0>=9007199){Ta=18;break d}}x=0;Ua=Sa;xa=Sa+127|0;while(1){sa=xa&127;ra=j+(sa<<2)|0;wa=Su(c[ra>>2]|0,0,29)|0;pa=Ju(wa|0,G()|0,x|0,0)|0;wa=G()|0;if(wa>>>0>0|(wa|0)==0&pa>>>0>1e9){oa=Qu(pa|0,wa|0,1e9,0)|0;qa=Pu(oa|0,G()|0,1e9,0)|0;na=Ku(pa|0,wa|0,qa|0,G()|0)|0;G()|0;Va=oa;Wa=na}else{Va=0;Wa=pa}c[ra>>2]=Wa;ra=(sa|0)==(A|0);Xa=(sa|0)!=(Ua+127&127|0)|ra?Ua:(Wa|0)==0?sa:Ua;if(ra)break;else{x=Va;Ua=Xa;xa=sa+-1|0}}Ya=Ra+-29|0;if(!Va){Ra=Ya;Sa=Ua}else break}o=A+127&127;ta=Xa+127&127;va=j+((Xa+126&127)<<2)|0;if((o|0)==(Xa|0)){c[va>>2]=c[va>>2]|c[j+(ta<<2)>>2];Za=ta}else Za=Ua;c[j+(o<<2)>>2]=Va;z=Ya;I=Za;A=o;ua=ua+9|0}ua=Ra;I=A;z=Ta;ya=Sa;e:while(1){J=ya+1&127;K=j+((ya+127&127)<<2)|0;H=ua;o=I;ta=z;while(1){va=(ta|0)==18;xa=(ta|0)>27?9:1;_a=H;$a=o;while(1){x=0;while(1){sa=x+$a&127;if((sa|0)==(ya|0)){p=92;break}ra=c[j+(sa<<2)>>2]|0;sa=c[35672+(x<<2)>>2]|0;if(ra>>>0<sa>>>0){p=92;break}if(ra>>>0>sa>>>0)break;if((x+1|0)>>>0<2)x=1;else{p=92;break}}if((p|0)==92?(p=0,va):0)break e;ab=xa+_a|0;if(($a|0)==(ya|0)){_a=ab;$a=ya}else break}va=(1<<xa)+-1|0;x=1e9>>>xa;bb=0;cb=$a;db=ta;sa=$a;do{ra=j+(sa<<2)|0;pa=c[ra>>2]|0;na=(pa>>>xa)+bb|0;c[ra>>2]=na;bb=B(pa&va,x)|0;pa=(sa|0)==(cb|0)&(na|0)==0;db=pa?db+-9|0:db;cb=pa?cb+1&127:cb;sa=sa+1&127}while((sa|0)!=(ya|0));if(bb|0){if((J|0)!=(cb|0))break;c[K>>2]=c[K>>2]|1}H=ab;o=cb;ta=db}c[j+(ya<<2)>>2]=bb;ua=ab;I=cb;z=db;ya=J}eb=0.0;z=ya;I=0;while(1){ua=I+$a&127;A=z+1&127;if((ua|0)==(z|0)){c[j+(A+-1<<2)>>2]=0;fb=A}else fb=z;eb=eb*1.0e9+ +((c[j+(ua<<2)>>2]|0)>>>0);I=I+1|0;if((I|0)==2)break;else z=fb}gb=+(g|0);hb=eb*gb;z=_a+53|0;I=z-f|0;ya=(I|0)<(e|0);ua=ya?((I|0)>0?I:0):e;if((ua|0)<53){ib=+ls(+js(1.0,105-ua|0),hb);jb=+ps(hb,+js(1.0,53-ua|0));kb=ib;lb=jb;mb=ib+(hb-jb)}else{kb=0.0;lb=0.0;mb=hb}A=$a+2&127;if((A|0)!=(fb|0)){ta=c[j+(A<<2)>>2]|0;do if(ta>>>0>=5e8){if((ta|0)!=5e8){nb=gb*.75+lb;break}if(($a+3&127|0)==(fb|0)){nb=gb*.5+lb;break}else{nb=gb*.75+lb;break}}else{if((ta|0)==0?($a+3&127|0)==(fb|0):0){nb=lb;break}nb=gb*.25+lb}while(0);if((53-ua|0)>1?!(+ps(nb,1.0)!=0.0):0)ob=nb+1.0;else ob=nb}else ob=lb;gb=mb+ob-kb;do if((z&2147483647|0)>(-2-k|0)){ta=!(+u(+gb)>=9007199254740992.0);A=_a+((ta^1)&1)|0;eb=ta?gb:gb*.5;if((A+50|0)<=(l|0)?!(ob!=0.0&(ya&((ua|0)!=(I|0)|ta))):0){pb=eb;qb=A;break}c[(es()|0)>>2]=34;pb=eb;qb=A}else{pb=gb;qb=_a}while(0);za=+qs(pb,qb)}while(0);Fa=i;return +za}function Dt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a+4|0;f=c[e>>2]|0;g=a+100|0;if(f>>>0<(c[g>>2]|0)>>>0){c[e>>2]=f+1;h=d[f>>0]|0}else h=bt(a)|0;switch(h|0){case 43:case 45:{f=(h|0)==45&1;i=c[e>>2]|0;if(i>>>0<(c[g>>2]|0)>>>0){c[e>>2]=i+1;j=d[i>>0]|0}else j=bt(a)|0;i=j+-48|0;if((b|0)!=0&i>>>0>9)if(!(c[g>>2]|0)){k=0;l=-2147483648}else{c[e>>2]=(c[e>>2]|0)+-1;m=14}else{n=f;o=j;p=i;m=12}break}default:{n=0;o=h;p=h+-48|0;m=12}}if((m|0)==12)if(p>>>0>9)m=14;else{p=0;h=o;while(1){p=h+-48+(p*10|0)|0;o=c[e>>2]|0;if(o>>>0<(c[g>>2]|0)>>>0){c[e>>2]=o+1;q=d[o>>0]|0}else q=bt(a)|0;r=q+-48|0;if(!(r>>>0<10&(p|0)<214748364))break;else h=q}h=((p|0)<0)<<31>>31;if(r>>>0<10){r=q;q=p;o=h;while(1){i=Pu(q|0,o|0,10,0)|0;j=G()|0;f=Ju(r|0,((r|0)<0)<<31>>31|0,-48,-1)|0;q=Ju(f|0,G()|0,i|0,j|0)|0;o=G()|0;j=c[e>>2]|0;if(j>>>0<(c[g>>2]|0)>>>0){c[e>>2]=j+1;s=d[j>>0]|0}else s=bt(a)|0;t=s+-48|0;if(!(t>>>0<10&((o|0)<21474836|(o|0)==21474836&q>>>0<2061584302)))break;else r=s}if(t>>>0<10){do{t=c[e>>2]|0;if(t>>>0<(c[g>>2]|0)>>>0){c[e>>2]=t+1;u=d[t>>0]|0}else u=bt(a)|0}while((u+-48|0)>>>0<10);v=q;w=o}else{v=q;w=o}}else{v=p;w=h}if(c[g>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;h=(n|0)==0;n=Ku(0,0,v|0,w|0)|0;p=G()|0;k=h?v:n;l=h?w:p}if((m|0)==14)if(!(c[g>>2]|0)){k=0;l=-2147483648}else{c[e>>2]=(c[e>>2]|0)+-1;k=0;l=-2147483648}F(l|0);return k|0}function Et(a,b){a=a|0;b=b|0;return +(+zt(a,b,1))}function Ft(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Fa;Fa=Fa+32|0;f=e;g=a[d>>0]|0;a:do if(g<<24>>24!=0?(a[d+1>>0]|0)!=0:0){Yu(f|0,0,32)|0;h=a[d>>0]|0;if(h<<24>>24){i=d;j=h;do{h=j&255;k=f+(h>>>5<<2)|0;c[k>>2]=c[k>>2]|1<<(h&31);i=i+1|0;j=a[i>>0]|0}while(j<<24>>24!=0)}j=a[b>>0]|0;if(!(j<<24>>24))l=b;else{i=b;h=j;while(1){j=h&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0){l=i;break a}j=i+1|0;h=a[j>>0]|0;if(!(h<<24>>24)){l=j;break}else i=j}}}else m=3;while(0);if((m|0)==3)l=yt(b,g<<24>>24)|0;Fa=e;return l-b|0}function Gt(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=Fa;Fa=Fa+16|0;i=h;j=(g|0)==0?3042420:g;g=c[j>>2]|0;a:do if(!e)if(!g)k=0;else l=19;else{m=(b|0)==0?i:b;if(!f)k=-2;else{if(!g){n=a[e>>0]|0;if(n<<24>>24>-1){c[m>>2]=n&255;k=n<<24>>24!=0&1;break}n=(c[c[(Ht()|0)+188>>2]>>2]|0)==0;o=a[e>>0]|0;if(n){c[m>>2]=o<<24>>24&57343;k=1;break}n=(o&255)+-194|0;if(n>>>0>50){l=19;break}o=c[32192+(n<<2)>>2]|0;n=f+-1|0;if(!n)p=o;else{q=e+1|0;r=o;s=n;l=11}}else{q=e;r=g;s=f;l=11}b:do if((l|0)==11){n=d[q>>0]|0;o=n>>>3;if((o+-16|o+(r>>26))>>>0>7){l=19;break a}o=n+-128|r<<6;n=s+-1|0;if((o|0)<0){t=q;u=o;v=n;while(1){t=t+1|0;if(!v){p=u;break b}w=a[t>>0]|0;if((w&-64)<<24>>24!=-128){l=19;break a}x=(w&255)+-128|u<<6;w=v+-1|0;if((x|0)>=0){y=w;z=x;break}else{u=x;v=w}}}else{y=n;z=o}c[j>>2]=0;c[m>>2]=z;k=f-y|0;break a}while(0);c[j>>2]=p;k=-2}}while(0);if((l|0)==19){c[j>>2]=0;c[(es()|0)>>2]=84;k=-1}Fa=h;return k|0}function Ht(){return Qs()|0}function It(a){a=a|0;var b=0;if(!a)b=1;else b=(c[a>>2]|0)==0&1;return b|0}function Jt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Fa;Fa=Fa+48|0;f=e+32|0;g=e+16|0;h=e;if(rt(72018,a[d>>0]|0)|0){i=Kt(d)|0;c[h>>2]=b;c[h+4>>2]=i|32768;c[h+8>>2]=438;b=ds(ca(5,h|0)|0)|0;if((b|0)>=0){if(i&524288|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ba(221,g|0)|0}g=Lt(b,d)|0;if(!g){c[f>>2]=b;ea(6,f|0)|0;j=0}else j=g}else j=0}else{c[(es()|0)>>2]=22;j=0}Fa=e;return j|0}function Kt(b){b=b|0;var c=0,d=0,e=0,f=0;c=(rt(b,43)|0)==0;d=a[b>>0]|0;e=c?d<<24>>24!=114&1:2;c=(rt(b,120)|0)==0;f=c?e:e|128;e=(rt(b,101)|0)==0;b=e?f:f|524288;f=d<<24>>24==114?b:b|64;b=d<<24>>24==119?f|512:f;return (d<<24>>24==97?b|1024:b)|0}function Lt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Fa;Fa=Fa+64|0;f=e+40|0;g=e+24|0;h=e+16|0;i=e;j=e+56|0;if(rt(72018,a[d>>0]|0)|0){k=Wr(1156)|0;if(!k)l=0;else{Yu(k|0,0,124)|0;if(!(rt(d,43)|0))c[k>>2]=(a[d>>0]|0)==114?8:4;if(rt(d,101)|0){c[i>>2]=b;c[i+4>>2]=2;c[i+8>>2]=1;ba(221,i|0)|0}if((a[d>>0]|0)==97){c[h>>2]=b;c[h+4>>2]=3;d=ba(221,h|0)|0;if(!(d&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=d|1024;ba(221,g|0)|0}g=c[k>>2]|128;c[k>>2]=g;m=g}else m=c[k>>2]|0;c[k+60>>2]=b;c[k+44>>2]=k+132;c[k+48>>2]=1024;g=k+75|0;a[g>>0]=-1;if((m&8|0)==0?(c[f>>2]=b,c[f+4>>2]=21523,c[f+8>>2]=j,(da(54,f|0)|0)==0):0)a[g>>0]=10;c[k+32>>2]=6;c[k+36>>2]=5;c[k+40>>2]=2;c[k+12>>2]=1;if(!(c[760590]|0))c[k+76>>2]=-1;Mt(k)|0;l=k}}else{c[(es()|0)>>2]=22;l=0}Fa=e;return l|0}function Mt(a){a=a|0;var b=0,d=0;b=Nt()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;Ot();return a|0}function Nt(){W(3042424);return 3042432}function Ot(){fa(3042424);return}function Pt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>-1)b=As(a)|0;else b=0;Qt(a);d=(c[a>>2]&1|0)!=0;if(!d){e=Nt()|0;f=c[a+52>>2]|0;g=a+56|0;if(f|0)c[f+56>>2]=c[g>>2];h=c[g>>2]|0;if(h|0)c[h+52>>2]=f;if((c[e>>2]|0)==(a|0))c[e>>2]=h;Ot()}h=Rt(a)|0;e=Ja[c[a+12>>2]&255](a)|0|h;h=c[a+92>>2]|0;if(h|0)Xr(h);if(d){if(b|0)Bs(a)}else Xr(a);return e|0}function Qt(a){a=a|0;var b=0,d=0,e=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;d=a+112|0;if(b|0)c[b+112>>2]=c[d>>2];a=c[d>>2]|0;if(!a)e=(Tt()|0)+232|0;else e=a+116|0;c[e>>2]=b}return}function Rt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do if(a){if((c[a+76>>2]|0)<=-1){b=St(a)|0;break}d=(As(a)|0)==0;e=St(a)|0;if(d)b=e;else{Bs(a);b=e}}else{if(!(c[8825]|0))f=0;else f=Rt(c[8825]|0)|0;e=c[(Nt()|0)>>2]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=As(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=St(d)|0|e;else i=e;if(h|0)Bs(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}Ot();b=g}while(0);return b|0}function St(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+20|0;d=a+28|0;if((c[b>>2]|0)>>>0>(c[d>>2]|0)>>>0?(La[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)e=-1;else{f=a+4|0;g=c[f>>2]|0;h=a+8|0;i=c[h>>2]|0;if(g>>>0<i>>>0)La[c[a+40>>2]&7](a,g-i|0,1)|0;c[a+16>>2]=0;c[d>>2]=0;c[b>>2]=0;c[h>>2]=0;c[f>>2]=0;e=0}return e|0}function Tt(){return Qs()|0}function Ut(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(As(a)|0)==0;d=(c[a>>2]|0)>>>4&1;if(b)e=d;else{Bs(a);e=d}}else e=(c[a>>2]|0)>>>4&1;return e|0}function Vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=d;d=Wt(a,b,f)|0;Fa=e;return d|0}function Wt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Fa;Fa=Fa+128|0;f=e;g=f;h=g+124|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[f+32>>2]=7;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;a=Yt(f,b,d)|0;Fa=e;return a|0}function Xt(a,b,c){a=a|0;b=b|0;c=c|0;return $t(a,b,c)|0}function Yt(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0.0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0;j=Fa;Fa=Fa+288|0;k=j+264|0;l=j;m=j+260|0;n=j+272|0;if((c[e+76>>2]|0)>-1)o=As(e)|0;else o=0;p=a[h>>0]|0;a:do if(p<<24>>24){q=e+4|0;r=e+100|0;s=e+108|0;t=e+8|0;u=l+10|0;v=l+33|0;w=l+46|0;x=l+94|0;y=k+4|0;z=h;A=0;B=0;C=0;D=p;E=0;b:while(1){c:do if(!(ct(D&255)|0)){F=(a[z>>0]|0)==37;d:do if(F){H=z+1|0;I=a[H>>0]|0;e:do switch(I<<24>>24){case 37:{break d;break}case 42:{J=0;K=z+2|0;break}default:{if(us(I&255)|0?(a[z+2>>0]|0)==36:0){J=Zt(i,(d[H>>0]|0)+-48|0)|0;K=z+3|0;break e}L=(c[i>>2]|0)+(4-1)&~(4-1);M=c[L>>2]|0;c[i>>2]=L+4;J=M;K=H}}while(0);if(!(us(d[K>>0]|0)|0)){N=0;O=K}else{H=0;I=K;while(1){M=(H*10|0)+-48+(d[I>>0]|0)|0;L=I+1|0;if(!(us(d[L>>0]|0)|0)){N=M;O=L;break}else{H=M;I=L}}}I=a[O>>0]|0;H=O+1|0;if(I<<24>>24==109){P=(J|0)!=0&1;Q=0;R=H;S=O+2|0;T=a[H>>0]|0;U=0}else{P=0;Q=C;R=O;S=H;T=I;U=E}switch(T<<24>>24){case 104:{I=(a[S>>0]|0)==104;V=I?-2:-1;W=I?R+2|0:S;break}case 108:{I=(a[S>>0]|0)==108;V=I?3:1;W=I?R+2|0:S;break}case 106:{V=3;W=S;break}case 116:case 122:{V=1;W=S;break}case 76:{V=2;W=S;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{V=0;W=R;break}default:{X=Q;Y=U;Z=143;break b}}I=d[W>>0]|0;H=(I&47|0)==3;L=H?I|32:I;I=H?1:V;H=L&255;switch(H<<24>>24){case 99:{_=(N|0)>1?N:1;$=A;break}case 91:{_=N;$=A;break}case 110:{_t(J,I,A,((A|0)<0)<<31>>31);aa=W;ba=B;ca=A;da=Q;ea=U;break c;break}default:{$s(e,0);do{M=c[q>>2]|0;if(M>>>0<(c[r>>2]|0)>>>0){c[q>>2]=M+1;fa=d[M>>0]|0}else fa=bt(e)|0}while((ct(fa)|0)!=0);if(!(c[r>>2]|0))ga=c[q>>2]|0;else{M=(c[q>>2]|0)+-1|0;c[q>>2]=M;ga=M}_=N;$=(c[s>>2]|0)+A+ga-(c[t>>2]|0)|0}}$s(e,_);M=c[q>>2]|0;ha=c[r>>2]|0;if(M>>>0<ha>>>0){c[q>>2]=M+1;ia=ha}else{if((bt(e)|0)<0){X=Q;Y=U;Z=143;break b}ia=c[r>>2]|0}if(ia|0)c[q>>2]=(c[q>>2]|0)+-1;f:do switch(H<<24>>24){case 91:case 99:case 115:{ha=(L|0)==99;g:do if((L|16|0)==115){Yu(l|0,-1,257)|0;a[l>>0]=0;if((L|0)==115){a[v>>0]=0;b[u>>1]=0;b[u+2>>1]=0;a[u+4>>0]=0;ja=W}else ja=W}else{M=W+1|0;ka=(a[M>>0]|0)==94;la=ka&1;ma=ka?W+2|0:M;Yu(l|0,la|0,257)|0;a[l>>0]=0;switch(a[ma>>0]|0){case 45:{M=(la^1)&255;a[w>>0]=M;na=ma+1|0;oa=M;break}case 93:{M=(la^1)&255;a[x>>0]=M;na=ma+1|0;oa=M;break}default:{na=ma;oa=(la^1)&255}}la=na;while(1){ma=a[la>>0]|0;h:do switch(ma<<24>>24){case 0:{X=Q;Y=U;Z=143;break b;break}case 93:{ja=la;break g;break}case 45:{M=la+1|0;ka=a[M>>0]|0;switch(ka<<24>>24){case 93:case 0:{pa=la;qa=45;break h;break}default:{}}ra=a[la+-1>>0]|0;if((ra&255)<(ka&255)){sa=ra&255;do{sa=sa+1|0;a[l+sa>>0]=oa;ra=a[M>>0]|0}while(sa>>>0<(ra&255)>>>0);pa=M;qa=ra}else{pa=M;qa=ka}break}default:{pa=la;qa=ma}}while(0);a[l+((qa&255)+1)>>0]=oa;la=pa+1|0}}while(0);la=ha?_+1|0:31;ma=(I|0)==1;sa=(P|0)!=0;i:do if(ma){if(sa){ra=Wr(la<<2)|0;if(!ra){X=0;Y=0;Z=143;break b}else ta=ra}else ta=J;c[k>>2]=0;c[y>>2]=0;ra=la;ua=0;va=ta;j:while(1){wa=(va|0)==0;xa=ua;while(1){k:while(1){ya=c[q>>2]|0;if(ya>>>0<(c[r>>2]|0)>>>0){c[q>>2]=ya+1;za=d[ya>>0]|0}else za=bt(e)|0;if(!(a[l+(za+1)>>0]|0))break j;a[n>>0]=za;switch(Gt(m,n,1,k)|0){case -1:{X=0;Y=va;Z=143;break b;break}case -2:break;default:break k}}if(wa)Aa=xa;else{c[va+(xa<<2)>>2]=c[m>>2];Aa=xa+1|0}if(sa&(Aa|0)==(ra|0))break;else xa=Aa}ra=ra<<1|1;wa=Zr(va,ra<<2)|0;if(!wa){X=0;Y=va;Z=143;break b}else{ua=Aa;va=wa}}if(!(It(k)|0)){X=0;Y=va;Z=143;break b}else{Ba=xa;Ca=0;Da=va;Ea=va}}else{if(sa){ua=Wr(la)|0;if(!ua){X=0;Y=0;Z=143;break b}ra=la;wa=0;ka=ua;while(1){ua=wa;do{M=c[q>>2]|0;if(M>>>0<(c[r>>2]|0)>>>0){c[q>>2]=M+1;Ga=d[M>>0]|0}else Ga=bt(e)|0;if(!(a[l+(Ga+1)>>0]|0)){Ba=ua;Ca=ka;Da=0;Ea=0;break i}M=ua;ua=ua+1|0;a[ka+M>>0]=Ga}while((ua|0)!=(ra|0));ra=ra<<1|1;M=Zr(ka,ra)|0;if(!M){X=ka;Y=0;Z=143;break b}else{wa=ua;ka=M}}}if(!J)while(1){ka=c[q>>2]|0;if(ka>>>0<(c[r>>2]|0)>>>0){c[q>>2]=ka+1;Ha=d[ka>>0]|0}else Ha=bt(e)|0;if(!(a[l+(Ha+1)>>0]|0)){Ba=0;Ca=0;Da=0;Ea=0;break i}}ka=0;while(1){wa=c[q>>2]|0;if(wa>>>0<(c[r>>2]|0)>>>0){c[q>>2]=wa+1;Ia=d[wa>>0]|0}else Ia=bt(e)|0;if(!(a[l+(Ia+1)>>0]|0)){Ba=ka;Ca=J;Da=0;Ea=0;break i}a[J+ka>>0]=Ia;ka=ka+1|0}}while(0);if(!(c[r>>2]|0))Ja=c[q>>2]|0;else{la=(c[q>>2]|0)+-1|0;c[q>>2]=la;Ja=la}la=Ja-(c[t>>2]|0)+(c[s>>2]|0)|0;if(!la){Ka=Ca;La=P;Ma=B;Na=Ea;break b}if(!((la|0)==(_|0)|ha^1)){Ka=Ca;La=P;Ma=B;Na=Ea;break b}do if(sa)if(ma){c[J>>2]=Da;break}else{c[J>>2]=Ca;break}while(0);if(ha){Oa=ja;Pa=Ca;Qa=Ea}else{if(Da|0)c[Da+(Ba<<2)>>2]=0;if(!Ca){Oa=ja;Pa=0;Qa=Ea;break f}a[Ca+Ba>>0]=0;Oa=ja;Pa=Ca;Qa=Ea}break}case 120:case 88:case 112:{Ra=16;Z=131;break}case 111:{Ra=8;Z=131;break}case 117:case 100:{Ra=10;Z=131;break}case 105:{Ra=0;Z=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{Sa=+At(e,I,0);if((c[s>>2]|0)==((c[t>>2]|0)-(c[q>>2]|0)|0)){Ka=Q;La=P;Ma=B;Na=U;break b}if(!J){Oa=W;Pa=Q;Qa=U}else switch(I|0){case 0:{f[J>>2]=Sa;Oa=W;Pa=Q;Qa=U;break f;break}case 1:{g[J>>3]=Sa;Oa=W;Pa=Q;Qa=U;break f;break}case 2:{g[J>>3]=Sa;Oa=W;Pa=Q;Qa=U;break f;break}default:{Oa=W;Pa=Q;Qa=U;break f}}break}default:{Oa=W;Pa=Q;Qa=U}}while(0);do if((Z|0)==131){Z=0;H=at(e,Ra,0,-1,-1)|0;ma=G()|0;if((c[s>>2]|0)==((c[t>>2]|0)-(c[q>>2]|0)|0)){Ka=Q;La=P;Ma=B;Na=U;break b}if((J|0)!=0&(L|0)==112){c[J>>2]=H;Oa=W;Pa=Q;Qa=U;break}else{_t(J,I,H,ma);Oa=W;Pa=Q;Qa=U;break}}while(0);aa=Oa;ba=B+((J|0)!=0&1)|0;ca=(c[s>>2]|0)+$+(c[q>>2]|0)-(c[t>>2]|0)|0;da=Pa;ea=Qa;break c}while(0);I=z+(F&1)|0;$s(e,0);L=c[q>>2]|0;if(L>>>0<(c[r>>2]|0)>>>0){c[q>>2]=L+1;Ta=d[L>>0]|0}else Ta=bt(e)|0;if((Ta|0)!=(d[I>>0]|0)){Z=23;break b}aa=I;ba=B;ca=A+1|0;da=C;ea=E}else{I=z;while(1){L=I+1|0;if(!(ct(d[L>>0]|0)|0))break;else I=L}$s(e,0);do{F=c[q>>2]|0;if(F>>>0<(c[r>>2]|0)>>>0){c[q>>2]=F+1;Ua=d[F>>0]|0}else Ua=bt(e)|0}while((ct(Ua)|0)!=0);if(!(c[r>>2]|0))Va=c[q>>2]|0;else{F=(c[q>>2]|0)+-1|0;c[q>>2]=F;Va=F}aa=I;ba=B;ca=(c[s>>2]|0)+A+Va-(c[t>>2]|0)|0;da=C;ea=E}while(0);z=aa+1|0;D=a[z>>0]|0;if(!(D<<24>>24)){Wa=ba;break a}else{A=ca;B=ba;C=da;E=ea}}if((Z|0)==23){if(c[r>>2]|0)c[q>>2]=(c[q>>2]|0)+-1;if((B|0)!=0|(Ta|0)>-1){Wa=B;break}else{Xa=0;Ya=C;Za=E;Z=144}}else if((Z|0)==143)if(!B){Xa=P;Ya=X;Za=Y;Z=144}else{Ka=X;La=P;Ma=B;Na=Y}if((Z|0)==144){Ka=Ya;La=Xa;Ma=-1;Na=Za}if(!La)Wa=Ma;else{Xr(Ka);Xr(Na);Wa=Ma}}else Wa=0;while(0);if(o|0)Bs(e);Fa=j;return Wa|0}function Zt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Fa;Fa=Fa+16|0;e=d;c[e>>2]=c[a>>2];a=b;while(1){b=(c[e>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[e>>2]=b+4;if(a>>>0>1)a=a+-1|0;else break}Fa=d;return f|0}function _t(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a;break}case -1:{b[d>>1]=f;break a;break}case 0:{c[d>>2]=f;break a;break}case 1:{c[d>>2]=f;break a;break}case 3:{h=d;c[h>>2]=f;c[h+4>>2]=g;break a;break}default:break a}while(0);return}function $t(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+84|0;f=c[e>>2]|0;g=d+256|0;h=Js(f,0,g)|0;i=(h|0)==0?g:h-f|0;h=i>>>0<d>>>0?i:d;Xu(b|0,f|0,h|0)|0;c[a+4>>2]=f+h;b=f+i|0;c[a+8>>2]=b;c[e>>2]=b;return h|0}function au(a,b,c){a=a|0;b=b|0;c=c|0;return cu(a,b,c)|0}function bu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Fa;Fa=Fa+16|0;f=e;c[f>>2]=d;d=ys(a,b,f)|0;Fa=e;return d|0}function cu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+76>>2]|0)>-1){e=(As(a)|0)==0;f=du(a,b,d)|0;if(e)g=f;else{Bs(a);g=f}}else g=du(a,b,d)|0;return g|0}function du(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==1)e=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;else e=b;b=a+20|0;f=a+28|0;if((c[b>>2]|0)>>>0>(c[f>>2]|0)>>>0?(La[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)g=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[b>>2]=0;if((La[c[a+40>>2]&7](a,e,d)|0)<0)g=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;g=0}}return g|0}function eu(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=a[c>>0]|0;do if(d<<24>>24){e=rt(b,d<<24>>24)|0;if(e)if(a[c+1>>0]|0)if(a[e+1>>0]|0){if(!(a[c+2>>0]|0)){f=fu(e,c)|0;break}if(a[e+2>>0]|0){if(!(a[c+3>>0]|0)){f=gu(e,c)|0;break}if(a[e+3>>0]|0)if(!(a[c+4>>0]|0)){f=hu(e,c)|0;break}else{f=iu(e,c)|0;break}else f=0}else f=0}else f=0;else f=e;else f=0}else f=b;while(0);return f|0}function fu(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=(d[c>>0]|0)<<8|(d[c+1>>0]|0);c=b+1|0;f=a[c>>0]|0;a:do if(!(f<<24>>24))g=0;else{h=(d[b>>0]|0)<<8|f&255;i=c;while(1){j=h&65535;if((j|0)==(e|0))break;k=i+1|0;l=a[k>>0]|0;if(!(l<<24>>24)){g=0;break a}else{h=j<<8|l&255;i=k}}g=i+-1|0}while(0);return g|0}function gu(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;c=b+2|0;f=a[c>>0]|0;g=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(f&255)<<8;b=f<<24>>24==0;if((g|0)==(e|0)|b){h=c;i=b}else{b=c;c=g;while(1){g=b+1|0;f=a[g>>0]|0;c=(c|f&255)<<8;j=f<<24>>24==0;if((c|0)==(e|0)|j){h=g;i=j;break}else b=g}}return (i?0:h+-2|0)|0}function hu(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;f=a[c>>0]|0;g=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|f&255;b=f<<24>>24==0;if((g|0)==(e|0)|b){h=c;i=b}else{b=c;c=g;while(1){g=b+1|0;f=a[g>>0]|0;c=c<<8|f&255;j=f<<24>>24==0;if((c|0)==(e|0)|j){h=g;i=j;break}else b=g}}return (i?0:h+-3|0)|0}function iu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=Fa;Fa=Fa+1056|0;g=f+1024|0;h=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;i=a[e>>0]|0;a:do if(i<<24>>24){j=0;k=i;do{if(!(a[b+j>>0]|0)){l=0;break a}m=k&255;n=g+(m>>>5<<2)|0;c[n>>2]=c[n>>2]|1<<(m&31);j=j+1|0;c[h+(m<<2)>>2]=j;k=a[e+j>>0]|0}while(k<<24>>24!=0);k=j>>>0>1;if(k){m=1;n=1;o=0;p=-1;q=1;while(1){r=a[e+(n+p)>>0]|0;s=a[e+q>>0]|0;do if(r<<24>>24==s<<24>>24)if((n|0)==(m|0)){t=m;u=1;v=m+o|0;w=p;break}else{t=m;u=n+1|0;v=o;w=p;break}else if((r&255)>(s&255)){t=q-p|0;u=1;v=q;w=p;break}else{t=1;u=1;v=o+1|0;w=o;break}while(0);q=u+v|0;if(q>>>0>=j>>>0)break;else{m=t;n=u;o=v;p=w}}if(k){p=1;o=1;n=0;m=-1;q=1;while(1){s=a[e+(o+m)>>0]|0;r=a[e+q>>0]|0;do if(s<<24>>24==r<<24>>24)if((o|0)==(p|0)){x=p;y=1;z=p+n|0;A=m;break}else{x=p;y=o+1|0;z=n;A=m;break}else if((s&255)<(r&255)){x=q-m|0;y=1;z=q;A=m;break}else{x=1;y=1;z=n+1|0;A=n;break}while(0);q=y+z|0;if(q>>>0>=j>>>0){B=t;C=w;D=j;E=x;F=A;G=25;break}else{p=x;o=y;n=z;m=A}}}else{B=t;C=w;D=j;E=1;F=-1;G=25}}else{B=1;C=-1;D=j;E=1;F=-1;G=25}}else{B=1;C=-1;D=0;E=1;F=-1;G=25}while(0);b:do if((G|0)==25){w=(F+1|0)>>>0>(C+1|0)>>>0;t=w?E:B;A=w?F:C;w=A+1|0;if(!(ss(e,e+t|0,w)|0)){z=D-t|0;H=z;I=t;J=z}else{z=D-A+-1|0;t=(A>>>0>z>>>0?A:z)+1|0;H=0;I=t;J=D-t|0}t=D|63;z=D+-1|0;y=(H|0)!=0;x=b;v=0;u=b;while(1){i=x;do if((u-i|0)>>>0<D>>>0){m=Js(u,0,t)|0;if(m)if((m-i|0)>>>0<D>>>0){l=0;break b}else{K=m;break}else{K=u+t|0;break}}else K=u;while(0);i=d[x+z>>0]|0;c:do if(!(1<<(i&31)&c[g+(i>>>5<<2)>>2])){L=0;M=D}else{m=D-(c[h+(i<<2)>>2]|0)|0;if(m|0){L=0;M=y&(v|0)!=0&m>>>0<I>>>0?J:m;break}m=w>>>0>v>>>0;n=m?w:v;o=a[e+n>>0]|0;d:do if(o<<24>>24){p=n;q=o;while(1){if(q<<24>>24!=(a[x+p>>0]|0))break;k=p+1|0;q=a[e+k>>0]|0;if(!(q<<24>>24))break d;else p=k}L=0;M=p-A|0;break c}while(0);if(!m){l=x;break b}o=w;while(1){o=o+-1|0;if((a[e+o>>0]|0)!=(a[x+o>>0]|0)){L=H;M=I;break c}if(o>>>0<=v>>>0){l=x;break b}}}while(0);x=x+M|0;v=L;u=K}}while(0);Fa=f;return l|0}function ju(a,b){a=a|0;b=b|0;var c=0;c=ft(a)|0;return ((ku(a,1,c,b)|0)!=(c|0))<<31>>31|0}function ku(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=B(d,b)|0;g=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){d=(As(e)|0)==0;h=Ys(a,f,e)|0;if(d)i=h;else{Bs(e);i=h}}else i=Ys(a,f,e)|0;if((i|0)==(f|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function lu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Fa;Fa=Fa+16|0;g=f;h=e&255;a[g>>0]=h;i=b+16|0;j=c[i>>2]|0;if(!j)if(!(Zs(b)|0)){k=c[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=b+20|0;i=c[j>>2]|0;if(i>>>0<k>>>0?(n=e&255,(n|0)!=(a[b+75>>0]|0)):0){c[j>>2]=i+1;a[i>>0]=h;m=n;break}if((La[c[b+36>>2]&7](b,g,1)|0)==1)m=d[g>>0]|0;else m=-1}while(0);Fa=f;return m|0}function mu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=d;a:do if(!((f^b)&3)){g=(e|0)!=0;if(g&(f&3|0)!=0){h=e;i=d;j=b;while(1){k=a[i>>0]|0;a[j>>0]=k;if(!(k<<24>>24)){l=j;m=h;break a}k=h+-1|0;n=i+1|0;o=j+1|0;p=(k|0)!=0;if(p&(n&3|0)!=0){h=k;i=n;j=o}else{q=k;r=n;s=o;t=p;break}}}else{q=e;r=d;s=b;t=g}if(t)if(!(a[r>>0]|0)){l=s;m=q}else{b:do if(q>>>0>3){j=s;i=r;h=q;while(1){p=c[i>>2]|0;if((p&-2139062144^-2139062144)&p+-16843009|0){u=i;v=j;w=h;break b}c[j>>2]=p;p=h+-4|0;o=i+4|0;n=j+4|0;if(p>>>0>3){j=n;i=o;h=p}else{u=o;v=n;w=p;break}}}else{u=r;v=s;w=q}while(0);x=u;y=v;z=w;A=13}else{l=s;m=0}}else{x=d;y=b;z=e;A=13}while(0);c:do if((A|0)==13)if(!z){l=y;m=0}else{e=x;b=y;d=z;while(1){s=a[e>>0]|0;a[b>>0]=s;if(!(s<<24>>24)){l=b;m=d;break c}d=d+-1|0;s=b+1|0;if(!d){l=s;m=0;break}else{e=e+1|0;b=s}}}while(0);Yu(l|0,0,m|0)|0;return l|0}function nu(a,b,c){a=a|0;b=b|0;c=c|0;mu(a,b,c)|0;return a|0}function ou(b,c){b=b|0;c=c|0;var d=0;d=b+(Ft(b,c)|0)|0;return ((a[d>>0]|0)==0?0:d)|0}function pu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(As(d)|0)!=0:0){e=b&255;f=b&255;if((f|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=e;i=f}else i=lu(d,b)|0;Bs(d);j=i}else k=3;do if((k|0)==3){i=b&255;f=b&255;if((f|0)!=(a[d+75>>0]|0)?(e=d+20|0,h=c[e>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[e>>2]=h+1;a[h>>0]=i;j=f;break}j=lu(d,b)|0}while(0);return j|0}function qu(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(As(a)|0)==0;d=ru(a)|0;if(b)e=d;else{Bs(a);e=d}}else e=ru(a)|0;return e|0}function ru(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;d=La[c[a+40>>2]&7](a,0,b)|0;if((d|0)<0)e=d;else e=d-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return e|0}function su(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[8793]|0;if((c[d+76>>2]|0)>-1)e=As(d)|0;else e=0;do if((ju(b,d)|0)<0)f=-1;else{if((a[d+75>>0]|0)!=10?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=10;f=0;break}f=(lu(d,10)|0)>>31}while(0);if(e|0)Bs(d);return f|0}function tu(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>=0?(As(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;f=d[e>>0]|0}else f=dt(a)|0;Bs(a);g=f}else h=3;do if((h|0)==3){f=a+4|0;e=c[f>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[f>>2]=e+1;g=d[e>>0]|0;break}else{g=dt(a)|0;break}}while(0);return g|0}function uu(a){a=a|0;return qu(a)|0}function vu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=B(e,d)|0;h=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)i=As(f)|0;else i=0;e=f+74|0;j=a[e>>0]|0;a[e>>0]=j+255|j;j=f+4|0;e=c[j>>2]|0;k=(c[f+8>>2]|0)-e|0;if((k|0)>0){l=k>>>0<g>>>0?k:g;Xu(b|0,e|0,l|0)|0;c[j>>2]=(c[j>>2]|0)+l;m=g-l|0;n=b+l|0}else{m=g;n=b}a:do if(!m)o=13;else{b=f+32|0;l=n;j=m;while(1){if(et(f)|0)break;e=La[c[b>>2]&7](f,l,j)|0;if((e+1|0)>>>0<2)break;k=j-e|0;if(!k){o=13;break a}else{l=l+e|0;j=k}}if(i|0)Bs(f);p=((g-j|0)>>>0)/(d>>>0)|0}while(0);if((o|0)==13)if(!i)p=h;else{Bs(f);p=h}return p|0}function wu(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(As(a)|0)==0;du(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Bs(a)}else{du(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function xu(a,b){a=a|0;b=b|0;var d=0,e=0;d=Fa;Fa=Fa+16|0;e=d;c[e>>2]=b;b=ys(c[8793]|0,a,e)|0;Fa=d;return b|0}function yu(a,b,c){a=a|0;b=b|0;c=c|0;return Xs(a,b)|0}function zu(a,b){a=a|0;b=b|0;Au()|0;return yu(a,b,0)|0}function Au(){return Qs()|0}function Bu(a){a=a|0;var b=0;if(!(Cu(a)|0))b=(us(a)|0)!=0&1;else b=1;return b|0}function Cu(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Du(){return 35680}function Eu(){V(3042452);return}function Fu(){return 3042436}function Gu(){return 3042444}function Hu(){return 3042448}function Iu(){return 3042452}function Ju(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (F(b+d+(e>>>0<a>>>0|0)>>>0|0),e|0)|0}function Ku(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (F(e|0),a-c>>>0|0)|0}function Lu(a){a=a|0;return (a?31-(D(a^a-1)|0)|0:32)|0}function Mu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (F(n|0),o)|0}else{if(!m){n=0;o=0;return (F(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (F(n|0),o)|0}}m=(l|0)==0;do if(j){if(!m){p=(D(l|0)|0)-(D(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!f){n=0;o=0;return (F(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (F(n|0),o)|0}r=j-1|0;if(r&j|0){s=(D(j|0)|0)+33-(D(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (F(n|0),o)|0}else{r=Lu(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (F(n|0),o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (F(n|0),o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (F(n|0),o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((Lu(l|0)|0)>>>0);return (F(n|0),o)|0}r=(D(l|0)|0)-(D(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!f){n=0;o=0;return (F(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (F(n|0),o)|0}while(0);if(!t){B=x;C=w;E=v;H=u;I=0;J=0}else{b=d|0|0;d=k|e&0;e=Ju(b|0,d|0,-1,-1)|0;k=G()|0;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Ku(e|0,k|0,g|0,a|0)|0;i=G()|0;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Ku(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=G()|0;u=u-1|0}while((u|0)!=0);B=h;C=x;E=w;H=v;I=0;J=t}t=C;C=0;if(f|0){c[f>>2]=H;c[f+4>>2]=E}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|I;o=(t<<1|0>>>31)&-2|J;return (F(n|0),o)|0}function Nu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Ku(e^a|0,f^b|0,e|0,f|0)|0;b=G()|0;a=g^e;e=h^f;return Ku((Mu(i,b,Ku(g^c|0,h^d|0,g|0,h|0)|0,G()|0,0)|0)^a|0,(G()|0)^e|0,a|0,e|0)|0}function Ou(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=B(d,c)|0;f=a>>>16;a=(e>>>16)+(B(d,f)|0)|0;d=b>>>16;b=B(d,c)|0;return (F((a>>>16)+(B(d,f)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|e&65535|0)|0}function Pu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=Ou(e,a)|0;f=G()|0;return (F((B(b,a)|0)+(B(d,e)|0)+f|f&0|0),c|0|0)|0}function Qu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Mu(a,b,c,d,0)|0}function Ru(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}F(0);return b>>>c-32|0}function Su(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}F(a<<c-32|0);return 0}function Tu(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Uu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;l=l+1|0;c[a>>2]=l;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=l;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;F(e|0);return d|0}f=f+1|0}e=e*2|0;d=Zr(d|0,8*(e+1|0)|0)|0;d=Uu(a|0,b|0,d|0,e|0)|0;F(e|0);return d|0}function Vu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((e|0)<(d|0)){f=c[b+(e<<3)>>2]|0;if(!f)break;if((f|0)==(a|0))return c[b+((e<<3)+4)>>2]|0;e=e+1|0}return 0}function Wu(a,b){a=a|0;b=b|0;if(!j){j=a;k=b}}function Xu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){ra(b|0,d|0,e|0)|0;return b|0}f=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}h=g&-4|0;e=h-64|0;while((b|0)<=(e|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(h|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{h=g-4|0;while((b|0)<(h|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return f|0}function Yu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=f&-4|0;h=d|d<<8|d<<16|d<<24;i=g-64|0;while((b|0)<=(i|0)){c[b>>2]=h;c[b+4>>2]=h;c[b+8>>2]=h;c[b+12>>2]=h;c[b+16>>2]=h;c[b+20>>2]=h;c[b+24>>2]=h;c[b+28>>2]=h;c[b+32>>2]=h;c[b+36>>2]=h;c[b+40>>2]=h;c[b+44>>2]=h;c[b+48>>2]=h;c[b+52>>2]=h;c[b+56>>2]=h;c[b+60>>2]=h;b=b+64|0}while((b|0)<(g|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function Zu(a){a=a|0;var b=0,d=0;b=c[i>>2]|0;d=b+a|0;if((a|0)>0&(d|0)<(b|0)|(d|0)<0){Ea(d|0)|0;X(12);return -1}if((d|0)>(pa()|0)){if(!(sa(d|0)|0)){X(12);return -1}}else c[i>>2]=d;return b|0}function _u(a){a=a|0;return Ia[a&1]()|0}function $u(a,b){a=a|0;b=b|0;return Ja[a&255](b|0)|0}function av(a,b,c){a=a|0;b=b|0;c=c|0;return Ka[a&3](b|0,c|0)|0}function bv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return La[a&7](b|0,c|0,d|0)|0}function cv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ma[a&1](b|0,c|0,d|0,e|0)|0}function dv(a){a=a|0;Na[a&1]()}function ev(a,b){a=a|0;b=b|0;Oa[a&7](b|0)}function fv(a,b,c){a=a|0;b=b|0;c=c|0;Pa[a&7](b|0,c|0)}function gv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qa[a&3](b|0,c|0,d|0)}function hv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ra[a&0](b|0,c|0,d|0,e|0,f|0)}function iv(){E(0);return 0}function jv(a){a=a|0;E(1);return 0}function kv(a,b){a=a|0;b=b|0;E(2);return 0}function lv(a,b,c){a=a|0;b=b|0;c=c|0;E(3);return 0}function mv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;E(4);return 0}function nv(){E(5)}function ov(a){a=a|0;E(6)}function pv(a,b){a=a|0;b=b|0;E(7)}function qv(a,b,c){a=a|0;b=b|0;c=c|0;E(8)}function rv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;E(9)}
+
+// EMSCRIPTEN_END_FUNCS
+var Ia=[iv,ei];var Ja=[jv,as,Za,_a,Ff,Jf,Jh,Gf,If,Kh,Gh,Lh,Mh,Nh,Oh,Mf,Ef,Lf,Ph,Qh,Rh,Sh,Th,Uh,Vh,Wh,Xh,Yh,Zh,_h,$h,ai,bi,$f,_f,ag,bg,di,fi,gi,hi,ii,ji,ki,li,mi,ni,oi,pi,qi,ri,si,ti,ui,vi,wi,xi,yi,zi,Ai,Bi,Ci,Di,Ei,Fi,Gi,Hi,Ii,Ji,Ki,Li,Mi,Ni,Oi,Pi,Qi,Ri,Si,Ti,Ui,Vi,Wi,Xi,Yi,Zi,_i,$i,aj,bj,cj,dj,ej,fj,gj,hj,ij,jj,kj,lj,mj,nj,oj,pj,qj,rj,sj,tj,uj,vj,wj,xj,yj,zj,Aj,Bj,Cj,Dj,Ej,Fj,Gj,Zf,Hj,Ij,Jj,Kj,zf,yf,Af,Bf,Cf,Df,Kf,Uf,Lj,Wf,dg,cg,Xf,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv,jv];var Ka=[kv,uf,_l,kv];var La=[lv,gs,cs,_s,pf,hs,bs,Xt];var Ma=[mv,sk];var Na=[nv,Tm];var Oa=[ov,bb,Ul,Vl,or,ov,ov,ov];var Pa=[pv,zm,hc,Od,Sd,vf,Qf,Rf];var Qa=[qv,$a,nr,qv];var Ra=[rv];return{___divdi3:Nu,___emscripten_environ_constructor:Eu,___errno_location:es,___muldi3:Pu,___udivdi3:Qu,__get_daylight:Gu,__get_environ:Iu,__get_timezone:Hu,__get_tzname:Fu,_bitshift64Lshr:Ru,_bitshift64Shl:Su,_codo_mixer_callback:Qp,_free:Xr,_i64Add:Ju,_i64Subtract:Ku,_llvm_bswap_i32:Tu,_main:Db,_malloc:Wr,_memcpy:Xu,_memset:Yu,_mix_0:Mq,_realloc:Zr,_saveSetjmp:Uu,_sbrk:Zu,_setThrew:Wu,_testSetjmp:Vu,dynCall_i:_u,dynCall_ii:$u,dynCall_iii:av,dynCall_iiii:bv,dynCall_iiiii:cv,dynCall_v:dv,dynCall_vi:ev,dynCall_vii:fv,dynCall_viii:gv,dynCall_viiiii:hv,establishStackSpace:Va,stackAlloc:Sa,stackRestore:Ua,stackSave:Ta}})
+
+
+// EMSCRIPTEN_END_ASM
+(asmGlobalArg, asmLibraryArg, buffer);
+
+var ___divdi3 = Module["___divdi3"] = asm["___divdi3"];
+
+var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = asm["___emscripten_environ_constructor"];
+
+var ___errno_location = Module["___errno_location"] = asm["___errno_location"];
+
+var ___muldi3 = Module["___muldi3"] = asm["___muldi3"];
+
+var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"];
+
+var __get_daylight = Module["__get_daylight"] = asm["__get_daylight"];
+
+var __get_environ = Module["__get_environ"] = asm["__get_environ"];
+
+var __get_timezone = Module["__get_timezone"] = asm["__get_timezone"];
+
+var __get_tzname = Module["__get_tzname"] = asm["__get_tzname"];
+
+var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"];
+
+var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"];
+
+var _codo_mixer_callback = Module["_codo_mixer_callback"] = asm["_codo_mixer_callback"];
+
+var _free = Module["_free"] = asm["_free"];
+
+var _i64Add = Module["_i64Add"] = asm["_i64Add"];
+
+var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"];
+
+var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"];
+
+var _main = Module["_main"] = asm["_main"];
+
+var _malloc = Module["_malloc"] = asm["_malloc"];
+
+var _memcpy = Module["_memcpy"] = asm["_memcpy"];
+
+var _memset = Module["_memset"] = asm["_memset"];
+
+var _mix_0 = Module["_mix_0"] = asm["_mix_0"];
+
+var _realloc = Module["_realloc"] = asm["_realloc"];
+
+var _saveSetjmp = Module["_saveSetjmp"] = asm["_saveSetjmp"];
+
+var _sbrk = Module["_sbrk"] = asm["_sbrk"];
+
+var _setThrew = Module["_setThrew"] = asm["_setThrew"];
+
+var _testSetjmp = Module["_testSetjmp"] = asm["_testSetjmp"];
+
+var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"];
+
+var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"];
+
+var stackRestore = Module["stackRestore"] = asm["stackRestore"];
+
+var stackSave = Module["stackSave"] = asm["stackSave"];
+
+var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"];
+
+var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"];
+
+var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"];
+
+var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"];
+
+var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"];
+
+var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"];
+
+var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"];
+
+var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"];
+
+var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"];
+
+var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"];
+
+Module["asm"] = asm;
+
+Module["ccall"] = ccall;
+
+Module["getValue"] = getValue;
+
+Module["getMemory"] = getMemory;
+
+Module["addRunDependency"] = addRunDependency;
+
+Module["removeRunDependency"] = removeRunDependency;
+
+Module["FS_createFolder"] = FS.createFolder;
+
+Module["FS_createPath"] = FS.createPath;
+
+Module["FS_createDataFile"] = FS.createDataFile;
+
+Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
+
+Module["FS_createLazyFile"] = FS.createLazyFile;
+
+Module["FS_createLink"] = FS.createLink;
+
+Module["FS_createDevice"] = FS.createDevice;
+
+Module["FS_unlink"] = FS.unlink;
+
+if (memoryInitializer) {
+ if (!isDataURI(memoryInitializer)) {
+ memoryInitializer = locateFile(memoryInitializer);
+ }
+ if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) {
+ var data = Module["readBinary"](memoryInitializer);
+ HEAPU8.set(data, GLOBAL_BASE);
+ } else {
+ addRunDependency("memory initializer");
+ var applyMemoryInitializer = function(data) {
+ if (data.byteLength) data = new Uint8Array(data);
+ HEAPU8.set(data, GLOBAL_BASE);
+ if (Module["memoryInitializerRequest"]) delete Module["memoryInitializerRequest"].response;
+ removeRunDependency("memory initializer");
+ };
+ var doBrowserLoad = function() {
+ Module["readAsync"](memoryInitializer, applyMemoryInitializer, function() {
+ throw "could not load memory initializer " + memoryInitializer;
+ });
+ };
+ var memoryInitializerBytes = tryParseAsDataURI(memoryInitializer);
+ if (memoryInitializerBytes) {
+ applyMemoryInitializer(memoryInitializerBytes.buffer);
+ } else if (Module["memoryInitializerRequest"]) {
+ var useRequest = function() {
+ var request = Module["memoryInitializerRequest"];
+ var response = request.response;
+ if (request.status !== 200 && request.status !== 0) {
+ var data = tryParseAsDataURI(Module["memoryInitializerRequestURL"]);
+ if (data) {
+ response = data.buffer;
+ } else {
+ console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: " + request.status + ", retrying " + memoryInitializer);
+ doBrowserLoad();
+ return;
+ }
+ }
+ applyMemoryInitializer(response);
+ };
+ if (Module["memoryInitializerRequest"].response) {
+ setTimeout(useRequest, 0);
+ } else {
+ Module["memoryInitializerRequest"].addEventListener("load", useRequest);
+ }
+ } else {
+ doBrowserLoad();
+ }
+ }
+}
+
+function ExitStatus(status) {
+ this.name = "ExitStatus";
+ this.message = "Program terminated with exit(" + status + ")";
+ this.status = status;
+}
+
+ExitStatus.prototype = new Error();
+
+ExitStatus.prototype.constructor = ExitStatus;
+
+var calledMain = false;
+
+dependenciesFulfilled = function runCaller() {
+ if (!Module["calledRun"]) run();
+ if (!Module["calledRun"]) dependenciesFulfilled = runCaller;
+};
+
+Module["callMain"] = function callMain(args) {
+ args = args || [];
+ ensureInitRuntime();
+ var argc = args.length + 1;
+ var argv = stackAlloc((argc + 1) * 4);
+ HEAP32[argv >> 2] = allocateUTF8OnStack(Module["thisProgram"]);
+ for (var i = 1; i < argc; i++) {
+ HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]);
+ }
+ HEAP32[(argv >> 2) + argc] = 0;
+ try {
+ var ret = Module["_main"](argc, argv, 0);
+ exit(ret, true);
+ } catch (e) {
+ if (e instanceof ExitStatus) {
+ return;
+ } else if (e == "SimulateInfiniteLoop") {
+ Module["noExitRuntime"] = true;
+ return;
+ } else {
+ var toLog = e;
+ if (e && typeof e === "object" && e.stack) {
+ toLog = [ e, e.stack ];
+ }
+ err("exception thrown: " + toLog);
+ Module["quit"](1, e);
+ }
+ } finally {
+ calledMain = true;
+ }
+};
+
+function run(args) {
+ args = args || Module["arguments"];
+ if (runDependencies > 0) {
+ return;
+ }
+ preRun();
+ if (runDependencies > 0) return;
+ if (Module["calledRun"]) return;
+ function doRun() {
+ if (Module["calledRun"]) return;
+ Module["calledRun"] = true;
+ if (ABORT) return;
+ ensureInitRuntime();
+ preMain();
+ if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"]();
+ if (Module["_main"] && shouldRunNow) Module["callMain"](args);
+ postRun();
+ }
+ if (Module["setStatus"]) {
+ Module["setStatus"]("Running...");
+ setTimeout(function() {
+ setTimeout(function() {
+ Module["setStatus"]("");
+ }, 1);
+ doRun();
+ }, 1);
+ } else {
+ doRun();
+ }
+}
+
+Module["run"] = run;
+
+function exit(status, implicit) {
+ if (implicit && Module["noExitRuntime"] && status === 0) {
+ return;
+ }
+ if (Module["noExitRuntime"]) {} else {
+ ABORT = true;
+ EXITSTATUS = status;
+ exitRuntime();
+ if (Module["onExit"]) Module["onExit"](status);
+ }
+ Module["quit"](status, new ExitStatus(status));
+}
+
+function abort(what) {
+ if (Module["onAbort"]) {
+ Module["onAbort"](what);
+ }
+ if (what !== undefined) {
+ out(what);
+ err(what);
+ what = JSON.stringify(what);
+ } else {
+ what = "";
+ }
+ ABORT = true;
+ EXITSTATUS = 1;
+ throw "abort(" + what + "). Build with -s ASSERTIONS=1 for more info.";
+}
+
+Module["abort"] = abort;
+
+if (Module["preInit"]) {
+ if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ];
+ while (Module["preInit"].length > 0) {
+ Module["preInit"].pop()();
+ }
+}
+
+var shouldRunNow = true;
+
+if (Module["noInitialRun"]) {
+ shouldRunNow = false;
+}
+
+Module["noExitRuntime"] = true;
+
+run();
+
diff --git a/shmup.p8 b/shmup.p8
new file mode 100644
index 0000000..9a172e4
--- /dev/null
+++ b/shmup.p8
@@ -0,0 +1,172 @@
+pico-8 cartridge // http://www.pico-8.com
+version 32
+__lua__
+--https://ztiromoritz.github.io/pico-8-shooter/
+--https://github.com/ztiromoritz/pico-8-shooter/tree/master/p8
+function fps()
+ f = stat(7)
+ print("fps: "..f, 0, 120, 1)
+end
+
+t=0
+bullets={}
+
+function init_stars()
+ stars={}
+ star_cols={1,2,5,6,7,12}
+ warp_f=3
+ for i=1,#star_cols do
+ for j=1,10 do
+ local s={
+ x=rnd(128),
+ y=rnd(128),
+ z=i,
+ c=star_cols[i]
+ }
+ add(stars,s)
+ end
+ end
+end
+
+function init_enemies()
+ enemies={}
+ for i=1,10 do
+ add(enemies, {
+ sp=4,
+ m_x=i*16,
+ m_y=60-i*8,
+ x=-32,
+ y=-32,
+ r=12,
+ })
+ end
+end
+
+function draw_enemies()
+ for e in all(enemies) do
+ spr(e.sp,e.x,e.y)
+ end
+end
+
+function update_enemies()
+ for e in all(enemies) do
+ e.x = e.r*sin(t/50) + e.m_x
+ e.y = e.r*cos(t/50) + e.m_y
+ end
+end
+
+function init_player()
+ player={
+ h=3,
+ sp=1,
+ x=64,
+ y=64,
+ }
+end
+
+function draw_health()
+ inc=10
+ for i=1,player.h do
+ spr(2,(inc*i),1)
+ end
+end
+
+function draw_player()
+ spr(player.sp,player.x,player.y)
+end
+
+function update_player()
+ if(t%6<3) then
+ player.sp=0
+ else
+ player.sp=1
+ end
+end
+
+function fire()
+ local b={
+ sp=3,
+ x=player.x,
+ y=player.y,
+ dx=0,
+ dy=-3,
+ }
+ add(bullets,b)
+end
+
+function draw_bullets()
+ for b in all(bullets) do
+ spr(b.sp,b.x,b.y)
+ end
+end
+
+function draw_stars()
+ for s in all(stars) do
+ pset(s.x,s.y,s.c)
+ end
+end
+
+function update_stars()
+ for s in all(stars) do
+ s.y+=s.z*warp_f/10
+ if s.y>128 then
+ s.y=0
+ s.x=rnd(128)
+ end
+ end
+end
+
+function _init()
+ player_xpos=64
+ player_ypos=64
+ init_stars()
+ init_player()
+ init_enemies()
+end
+
+function _update60()
+ t=t+1
+ if ( t > 1000) then t=0 end
+
+ for b in all(bullets) do
+ b.x+=b.dx
+ b.y+=b.dy
+ if b.x < 0 or b.x > 128 or
+ b.y < 0 or b.y > 128 then
+ del(bullets,b)
+ end
+ end
+
+ if (btn(0) and player.x > 0) player.x -= 2
+ if (btn(1) and player.x < 127) player.x += 2
+ if (btn(2) and player.y > 0) player.y -= 2
+ if (btn(3) and player.y < 127) player.y += 2
+ if btnp(4) then fire() end
+
+ update_stars()
+ update_player()
+ update_enemies()
+end
+
+function _draw()
+ cls()
+ fps()
+ draw_health()
+ draw_stars()
+ draw_player()
+ draw_bullets()
+ draw_enemies()
+end
+
+
+
+
+__gfx__
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+005dd500005dd500005dd500000000000b3333b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0455554004555540045555400000000000b33b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+04466440044664400446644000088000000bb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+07466470074664700746647000088000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+07898970079898700700007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+57089075570980755700007500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+55008055550800555500005500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000