Ode to joy

Ode to joy is my first pico8 game. It is a simple platformer. To win, gather all music notes, and heal the sad 'Do' notes by singing next to them with all your grace! There's not much to do in this game, but hopefully you'll find it cute or something. Left and right keys to move, X or Up to jump, C to sing. (QWERTY or something, dunno)
Jam year: 
2017
Platforms: 
MS Windows, Mac OS X, Linux / Unix, Web standard (HTML5, Java, JavaScript, Flash), Other digital platform
Technology Notes: 
I developed all the game with Pico-8, meaning all the code, sprites, maps, sounds were made with the tools inside the Pico8 console. I also used Sublimetext 3 to write the code, with the Pico-8 plugin made by Neko250.
Installation Instructions: 

If you have Pico8 you can use the cartridge (.p8.png file), or the p8 file (.p8), to play.

If you don't have Pico8, a .html and .js export is provided so you can play with just a navigator, simply by opening the .html file (don't forget to put the .js in the same folder)

The game should also be playable right here, if you scroll to the bottom of the page. Another web version can be played on the Pico-8 BBS.

Credits: 

I'm very new to Pico8 and despite being alone to make it, it wouldn't have been possible without some help. Let's give credit where it's due:

  •  All the the persons who contributed to picozines
  •  Johannes Richter for picozine vol 2
  •  Matt Riche for the awesome actor and particles management in his awesome game Super Poulet Poulet
  •  Alix Fumoleau (eolhing) and Fernand Veyrier for helping me with weird bugs on our jam site
  •  Juliette Orain (KrakenRose) for introducing me to pico8 last week
  • I would also like to thank my girlfriend Linda Boulogne for making the "ode to joy" tune on pico8, which ultimately inspired me for everything you can see, hear and do in the game. You can hear it when you complete the game.

Game Stills: 
Embed code: 
<html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>PICO-8 Cartridge</title> <meta name="description" content=""> <STYLE TYPE="text/css"> <!-- canvas#canvas { width: 512px; height: 512px; } .pico8_el { float:left; width:92px; display:inline-block; margin: 1px; padding: 4px; text-align: center; color:#fff; background-color:#777; font-family : verdana; font-size: 9pt; cursor: pointer; cursor: hand; } .pico8_el a{ text-decoration: none; color:#fff; } .pico8_el:hover{ background-color:#aaa; } .pico8_el:link{ background-color:#aaa; } 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 } --> </STYLE> </head> <body bgcolor=#303030> <br><br><br> <center><div style="width:512px;"> <canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()"></canvas> <script type="text/javascript"> var canvas = document.getElementById("canvas"); canvas.width = window.innerWidth; canvas.height = window.innerHeight; // show Emscripten environment where the canvas is // arguments are passed to PICO-8 var Module = {}; Module.canvas = canvas; /* // When pico8_buttons is defined, PICO-8 takes each int to be a live bitfield // representing the state of each player's buttons var pico8_buttons = [0, 0, 0, 0, 0, 0, 0, 0]; // max 8 players pico8_buttons[0] = 2 | 16; // example: player 0, RIGHT and Z held down // when pico8_gpio is defined, reading and writing to gpio pins will // read and write to these values var pico8_gpio = new Array(128); */ </script> <script async type="text/javascript" >var _cartname=['odetojoy.p8']; var _cdpos=0; var iii=0; var ciii=0; var _cartdat=[ 0,0,0,0,112,119,119,0,0,112,119,0,0,112,119,0,112,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,7,0,119,119,7,0,119,119,7,119,119,119,7,0,0,0,0,0,0,0,0,0,0,0,0,112,119,119,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,255,255,7,112,247,255,7,112,247,255,7,247,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,112,255,255,167,0,0,0,0,0,112,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,240,240,0,112,15,15,7,112,15,15,7,255,240,240,0,0,0,0,0,0,0,0,0,0,0,0,0,127,15,15,247,0,0,0,0,0,199,7,0,0,208,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,255,255,255,160,112,255,255,0,112,255,255,0,255,255,255,160,0,0,0,0,0,0,0,0,0,0,0,0,245,255,255,0,0,112,7,0,112,220,124,0,192,125,205,0,0,124,12,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,85,87,85,160,0,117,5,0,0,117,5,0,85,87,85,160,0,0,0,0,0,0,0,0,0,0,0,0,5,117,5,0,0,112,7,0,0,199,7,0,0,208,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,87,5,245,80,117,245,0,80,117,245,0,85,87,5,245,0,0,0,0,0,0,0,0,0,0,0,0,80,117,5,0,0,0,0,0,0,112,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,80,0,0,85,6,6,0,85,6,6,0,80,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,68,4,0,68,68,4,4,68,68,4,0,68,68,4,0,68,68,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,7,0,0,112,119,0,64,68,255,79,64,68,255,79,68,68,255,79,64,68,255,79,64,68,255,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,0,0,119,119,7,68,244,245,69,68,244,245,69,68,244,245,69,68,244,245,69,68,244,245,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,124,0,0,199,204,0,0,199,204,0,0,0,0,0,0,0,0,0,119,255,127,0,112,247,255,167,68,255,245,69,68,255,245,69,68,255,245,69,68,255,245,69,68,255,245,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,192,0,0,12,112,0,0,12,112,0, 0,0,0,0,0,0,0,0,247,240,112,160,112,15,15,167,68,255,255,15,68,255,255,15,64,255,255,15,68,255,255,15,4,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,192,0,0,12,192,0,0,12,192,0,0,0,0,0,0,0,0,0,247,255,15,10,112,255,255,160,64,136,143,0,4,136,143,0,8,136,143,0,64,136,143,0,136,136,143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,12,199,0,192,7,124,0,192,7,124,0,0,0,0,0,0,0,0,0,80,117,245,0,0,85,87,245,0,136,136,0,128,136,136,0,128,136,136,0,136,136,136,0,96,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,7,204,0,112,12,199,0,112,12,199,0,0,0,0,0,0,0,0,0,96,0,6,0,0,6,96,0,128,104,96,0,104,0,0,6,96,0,0,6,0,6,0,6,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 192,220,0,220,0,220,192,13,0,0,0,0,0,0,0,0,0,68,68,4,0,68,68,4,4,68,68,4,0,68,68,4,0,68,68,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,202,205,218,0,172,173,13,192,220,0,220,0,0,0,0,64,68,255,79,64,68,255,79,68,68,255,79,64,68,255,79,64,68,255,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,12,0,0,0,12,0,192,204,204,220,0,204,204,13,192,202,205,218,0,0,0,0,68,84,245,69,68,84,245,69,68,84,245,69,68,84,245,69,68,84,245,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,0,0,0,124,0,0,0,124,0,192,202,204,218,0,172,172,13,192,204,204,220,0,0,0,0,68,255,238,79,68,255,238,79,68,255,238,79,68,255,238,79,68,255,238,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,0,0,12,12,0,0,12,12, 192,172,170,220,0,204,202,13,192,202,204,218,0,0,0,0,68,255,238,15,68,255,238,15,64,255,238,15,68,255,238,15,4,255,238,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,12,0,0,0,12,0,192,13,0,220,0,220,192,13,192,172,170,220,0,0,0,0,64,136,143,240,4,136,143,240,8,136,143,240,64,136,143,240,136,136,143,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,12,0,0,124,12,0,0,124,12,0,204,13,192,220,192,220,204,13,192,13,0,220,0,0,0,0,0,136,136,0,128,136,136,0,128,136,136,0,136,136,136,0,96,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,7,0,0,199,12,0,0,199,12,0,204,13,192,220,192,220,204,13,204,13,192,220,0,0,0,0,128,104,96,0,104,0,0,6,96,0,0,6,0,6,0,6,0,0,96,0,0,0,0,0,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,40,0,40,0,40,128,2,0,0,0,0,0,220,192,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,12,0,192,0,12,0,192,0,12,0,0,0,0,0,128,138,130,42,0,168,162,2,128,40,0,40,0,172,173,13,0,0,0,0,0,32,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,12,0,0,124,12,0,0,124,12,0,192,112,112,0,112,192,192,0,112,192,192,0,0,0,0,0,128,136,136,40,0,136,136,2,128,138,130,42,0,204,204,13,0,0,0,0,0,226,226,2,0,238,224,14,0,224,224,0,0,0,0,0,112,0,112,192,192,0,192,192,192,0,192,192,192,0,192,0,192,0,192,0,192,0,192,0,0,0,0,0,128,168,170,40,0,136,138,2,128,136,136,40,0,172,172,13,0,0,0,0,0,226,238,2,0,238,231,14,0,0,7,0,0,0,7,0,0,12,192,0,0,12,192,0,0,12,192,0,192,192,12,0,192,112,12,0,192,112,12,0,0,0,0,0, 128,138,136,42,0,168,168,2,128,168,170,40,0,204,202,13,0,112,7,0,0,226,238,2,0,224,238,0,0,224,224,0,0,0,0,0,0,124,192,112,0,199,112,192,0,199,112,192,112,0,7,0,192,0,12,0,192,0,12,0,0,0,0,0,128,2,0,40,0,40,128,2,128,138,136,42,0,220,192,13,0,112,7,0,0,32,46,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,112,0,192,0,112,0,112,0,112,0,112,0,0,0,0,0,136,2,128,40,128,40,136,2,128,2,0,40,192,220,204,13,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,7,0,0,112,12,0,0,112,12,0,192,192,192,0,112,192,192,0,112,192,192,0,0,0,0,0,136,2,128,40,128,40,136,2,136,2,128,40,192,220,204,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,12,0,0,0,12,0,0,192,0,7,0,192,0,12,0,192,0,12,0,0,0,0,0, 17,17,17,113,17,17,17,17,0,16,17,17,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,112,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,0,16,23,23,0,0,0,0,0,0,0,0,0,0,0,16,17,0,0,0,0,0,0,0,0,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,0,0,221,0,0,113,17,113,17,113,17,113,17,0,16,17,17,0,0,0,0,0,0,0,0,0,0,0,17,16,0,0,0,0,0,0,0,112,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,0,0,0,221,221,221,208,29,221,13,17,17,17,17,17,17,17,17,0,16,23,23,0,0,1,0,0,0,0,8,0,0,16,1,17,1,0,0,0,0,0,0,119,119,119,7,0,0,0,0,0,0,0,0,0,160,0,0,0,160,0,0,0,0,0,0,221,221,221,209,221,209,221,221, 17,113,17,113,17,113,113,17,0,16,17,17,0,16,17,0,0,0,0,1,0,16,17,1,0,0,0,0,0,0,0,0,119,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,29,209,221,221,221,221,209,17,17,17,17,17,17,17,17,0,16,17,17,0,17,17,1,0,0,0,1,0,16,17,1,0,0,0,0,0,0,0,112,119,119,7,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,221,29,13,208,221,29,209,113,17,113,17,113,17,113,17,0,16,17,23,24,17,17,129,0,0,17,17,0,0,17,0,0,0,0,0,0,0,0,112,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,221,0,0,13,221,13,17,17,17,17,17,17,17,17,0,16,17,17,17,17,17,17,0,16,17,17,0,24,17,1,0,0,0,0,0,0,0,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0, 113,113,17,17,17,17,17,17,0,17,17,17,17,17,17,113,0,17,113,17,16,17,23,1,0,0,0,0,0,0,112,119,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,17,17,17,17,17,17,17,17,0,17,17,17,17,17,17,17,0,17,17,17,16,17,17,1,0,0,0,0,0,17,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,17,113,17,113,113,17,113,17,0,17,17,17,113,17,113,17,0,17,113,17,16,17,23,1,0,0,0,0,16,113,119,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,17,17,17,17,17,17,17,17,0,17,17,17,17,17,17,17,0,17,17,17,16,17,17,1,0,0,0,0,17,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 113,17,17,113,17,113,113,17,0,113,17,17,17,113,17,113,0,113,17,17,16,23,17,1,0,0,0,0,17,119,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,17,17,17,17,17,17,17,17,0,17,17,17,17,17,17,17,0,17,17,17,16,17,17,1,0,0,0,0,17,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,17,17,17,113,113,17,113,17,0,17,113,17,113,17,113,17,0,17,113,17,16,17,23,1,0,0,0,0,16,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,0,17,17,17,17,17,17,17,0,17,17,17,16,17,17,1,0,0,0,0,16,17,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, 113,113,17,113,113,17,17,17,16,17,17,17,113,113,17,113,16,17,17,17,0,0,0,0,0,0,0,0,17,17,17,113,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,16,23,17,17,17,17,17,17,16,23,17,17,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,113,17,17,113,17,113,17,16,17,23,17,17,113,17,17,16,17,23,17,0,0,0,0,0,0,0,0,113,17,113,17,113,17,113,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,16,17,17,17,17,17,17,17,16,17,17,17,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 113,17,17,113,17,113,113,17,16,17,23,23,113,17,17,113,16,17,23,23,0,0,0,0,0,0,0,0,17,113,17,113,17,113,113,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,16,17,17,17,17,17,17,17,16,17,17,17,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,113,113,17,17,113,113,17,16,23,23,17,17,113,113,17,16,23,23,17,0,0,0,0,0,0,0,0,113,17,113,17,113,17,113,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,16,17,17,17,17,17,17,17,16,17,17,17,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 17,17,17,113,17,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,113,17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,17,113,113,113,17,17,17,113,17,17,17,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,17,113,17,113,113,17,113,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,17,0,0,1,0,0,0,0,0,0,16,17,0,0,0,0,0,17,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 113,17,17,17,17,113,17,17,17,113,17,17,0,16,17,0,0,8,0,0,0,17,16,0,0,0,0,0,113,17,17,113,17,113,113,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,17,0,17,17,1,0,1,0,0,16,1,16,0,0,0,0,0,17,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,113,113,113,113,17,113,17,113,17,113,17,24,17,17,129,16,1,0,0,17,0,17,1,0,0,0,0,17,17,17,113,113,17,113,17,128,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,0,0,17,1,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 221,221,221,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,0,0,0,0,0,0,0,209,221,221,215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,119,0,0,0,0,17,85,85,221,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,79,68,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,16,17,17,17,17,17,17,119,0,0,0,0,17,85,85,221,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,79,51,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,16,17,17,17,17,17,17,17,119,7,0,0,0, 17,85,85,221,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,70,0,0,0,0,0,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,17,17,17,17,17,17,17,17,119,119,7,0,0,17,85,85,221,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,113,119,119,0,0,33,34,34,213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,113,119,119,7,0,34,34,34,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,102,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,119,119,119,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,102,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,17,17,17,17,17,17,17,17,17,17,17,113,119,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,17,17,17,17,17,17,17,17,17,17,17,113,119,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,17,113,119,119,119, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,17,113,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,17,119,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,111,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,17,119,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,255,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,17,119,119,119,119, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,255,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,17,119,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,255,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,17,119,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,255,111,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,17,17,17,17,17,17,17,17,17,17,113,119,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,153,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,23,17,17,17,17,17,17,17,17,17,119,119,119,119,119, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,68,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,23,17,17,17,17,17,17,17,113,119,119,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,68,68,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,17,17,17,17,17,17,17,119,119,119,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,68,68,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,119,119,23,17,17,17,17,119,119,119,119,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,68,68,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,119,119,119,17,17,119,119,119,119,119,119,119,119,7, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,68,152,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,119,119,119,119,119,119,119,119,119,119,119,119,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,68,68,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,119,119,119,119,119,119,119,119,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,68,148,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,119,119,119,119,119,119,119,119,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,68,148,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,119,119,119,119,119,119,119,119,119,119,119,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,0,116,102,68,152,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,119,119,119,119,119,119,119,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,119,71,68,68,148,73,4,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,119,119,119,119,119,119,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,102,102,68,0,73,136,73,68,68,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,119,119,119,119,119,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,68,68,4,64,153,152,137,72,132,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,119,119,119,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,204,204,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,204,204,12,12,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,204,204,12,12,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,204,204,12,12,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,144,153,41,0,144,153,41,0,144,121,42,0,144,153,41,0,144,122,41,0,12,12,192,0,192,192,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,2,39,41,144,2,39,42,112,2,41,42,144,2,41,41,112,2,39,42,192,192,0,12,0,12,12,192,0,0,0,0,0,0,0,0,0,0,12,0,0,0,12,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,114,42,167,170,146,42,153,169,146,42,153,121,146,41,169,167,146,42,169,192,192,0,12,0,12,12,192,0,0,0,0,0,12,0,0,0,12,192,0,0,12,192,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,114,41,39,169,146,41,41,153,146,41,39,154,162,39,41,153,146,41,42,192,192,0,12,0,12,12,192,0,0,0,0,0,192,0,0,0,192,192,0,0,192,192,192,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,42,0,0,0,42,192,192,0,12,0,12,12,192,192,0,0,0,192,192,0,0,192,192,192,0,192,192,192,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,41,0,0,153,39,0,0,169,41,0,0,153,41,0,0,153,39,192,192,0,12,0,12,12,192,0,0,0,0,0,192,0,0,0,192,192,0,0,192,192,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,2,0,0,153,2,0,0,151,2,0,0,154,2,0,0,153,2,192,192,0,12,0,12,12,192,0,0,0,0,0,12,0,0,0,12,192,0,0,12,192,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,192,0,192,192,0,12,0,0,0,0,0,0,0,0,0,0,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,204,204,12,12,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,204,204,12,12,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,204,204,12,12,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,204,204,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,76,0,0,0,76,71,72,0,78,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,140,141,142,143,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,78,129,129,78,79,129,129,87,88,129,129,129,129,129,0,74,0,74,0,0,0,0,0,0,0,0,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,79,0,0,78,79,74,0,0,0,0,0,0,74,0,0,0,74,0,0,74,0,156,157,158,159,160,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 121,121,0,0,0,0,0,0,104,65,111,0,74,0,0,0,0,0,0,0,74,0,74,0,0,0,0,0,0,0,0,0,78,79,0,0,74,0,0,0,0,0,0,68,115,0,0,74,0,0,0,74,0,0,0,78,79,0,0,74,0,0,0,0,0,0,0,0,172,173,174,175,176,0,0,0,78,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,65,107,108,92,110,79,78,96,97,0,0,0,0,74,0,78,79,0,74,0,0,0,0,0,0,0,0,74,0,0,0,0,0,0,0,0,0,74,74,0,0,0,82,65,0,0,0,0,0,0,0,0,74,0,0,0,0,0,0,0,57,29,45,45,0,0,0,188,189,189,191,192,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 80,81,123,124,125,126,110,129,64,97,129,129,129,129,129,129,0,0,0,0,0,0,0,78,79,0,0,0,0,0,0,57,29,29,45,29,0,0,0,0,78,79,0,65,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,28,0,0,0,68,68,0,0,192,192,0,0,78,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,97,68,5,5,5,126,0,104,97,0,0,0,0,0,0,0,0,0,68,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,97,0,0,0,0,57,29,0,0,0,0,0,29,0,0,48,0,0,0,0,0,0,0,81,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 112,113,66,5,5,5,5,5,120,97,0,78,79,0,0,0,0,0,0,82,65,0,0,0,0,60,29,45,29,45,0,0,0,0,0,0,0,0,0,0,0,0,0,81,113,45,0,0,0,0,45,0,0,0,0,29,0,0,0,128,128,128,0,48,0,0,0,81,113,0,0,78,79,0,0,0,0,78,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,97,98,155,5,5,5,129,80,65,129,129,68,115,69,70,29,0,0,65,65,0,0,0,0,0,0,0,0,0,0,128,128,128,128,0,0,0,0,0,29,0,0,65,65,0,0,26,0,25,45,0,0,0,45,0,0,26,48,0,0,0,128,128,128,0,0,81,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 112,113,114,115,0,0,0,0,80,81,0,0,82,65,65,27,0,0,0,65,97,57,29,45,0,0,25,42,48,0,0,0,0,29,0,0,0,0,0,0,0,0,0,65,97,0,0,128,128,128,0,0,0,60,0,0,0,128,128,115,115,0,0,0,0,0,0,81,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,65,64,65,0,0,0,0,64,81,45,0,64,65,97,128,0,0,0,81,113,0,0,0,0,0,128,128,128,128,0,0,0,48,28,0,0,0,0,25,25,48,0,81,113,128,0,0,0,0,0,0,0,0,0,0,128,0,0,81,113,0,68,115,0,0,0,81,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 80,81,80,81,0,0,0,0,80,113,0,0,80,81,113,60,29,45,45,65,65,0,25,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,128,128,128,0,65,65,0,0,0,0,0,0,0,0,48,25,128,0,0,0,81,113,0,82,65,0,0,0,81,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,97,96,97,107,108,109,0,97,128,129,0,96,128,128,128,128,128,0,65,97,0,128,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,65,128,0,60,29,29,29,45,0,128,128,128,0,0,0,0,81,113,0,81,113,0,0,0,81,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 112,113,112,113,123,57,45,45,97,97,0,0,112,113,65,107,123,123,123,81,113,48,123,123,123,123,123,57,29,45,45,29,29,45,29,29,45,29,45,45,45,0,0,81,113,48,0,0,0,0,0,0,0,0,0,0,0,0,0,81,113,0,81,113,0,0,0,81,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,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,128,128,128,128,128,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,128,0,0,0,0,0,0,128,128,128,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 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,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, 176,24,176,96,240,16,244,16,244,16,242,16,240,16,244,16,244,16,242,16,245,16,247,16,249,16,249,16,251,16,252,16,238,16,236,16,234,16,234,16,234,16,234,16,23,0,15,0,23,0,15,0,13,0,23,0,15,0,22,0,15,0,13,0,1,9,0,0,116,41,116,33,116,41,116,33,117,41,112,33,119,41,119,41,114,33,119,41,112,33,117,41,112,33,116,41,116,33,114,41,112,33,112,41,112,33,112,41,112,33,114,41,116,33,116,41,116,41,112,33,114,41,114,41,112,33,112,41,112,41,112,33,1,13,0,32,220,8,220,88,99,1,85,1,83,1,106,1,107,1,109,1,111,1,113,1,115,1,226,1,237,1,242,1,0,0,111,1,0,0,0,0,99,1,109,1,0,0,0,0,0,0,0,0,223,1,225,1,227,1,229,1,230,1,227,1,223,1,0,0,1,16,0,0,221,8,221,88,99,1,85,1,83,1,106,1,107,1,109,1,111,1,113,1,115,1,226,1,237,1,242,1,0,0,111,1,0,0,0,0,99,1,109,1,0,0,0,0,0,0,0,0,223,1,225,1, 227,1,229,1,230,1,227,1,223,1,0,0,1,16,0,0,223,8,223,88,112,81,114,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,16,0,0,218,8,218,88,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,16,0,0,216,8,216,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,16,0,0,228,56,230,88,102,89,107,89,114,91,174,1,171,80,168,80,171,80,168,80,171,80,168,80,169,80,171,80,168,80,171,80,173,80,169,80, 171,80,168,80,171,80,169,80,171,80,168,80,171,80,169,80,171,80,168,80,171,80,169,80,171,80,168,80,1,8,0,0,220,15,220,81,220,15,29,0,221,15,31,0,223,15,223,15,192,1,223,15,0,0,221,15,0,0,220,15,0,0,218,15,24,0,216,15,0,0,216,15,0,0,218,15,33,0,220,15,28,14,192,1,218,15,218,15,0,0,216,15,0,0,0,0,1,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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, 58,99,58,0,29,77,0,0,0,45,0,45,37,27,2,32,20,21,31,2,60,19,32,27,25,1,0,45,0,45,15,27,16,17,2,19,27,17,31,2,20,17,30,17,61,17,32,27,32,13,24,24,37,2,21,26,31,28,21,30,17,16,2,14,37,2,22,27,20,13,26,26,62,20,30,21,15,20,32,17,30,0,39,31,2,19,33,21,63,25,27,26,2,28,21,15,27,38,21,26,17,2,5,63,45,62,24,23,2,37,27,33,63,243,1,66,28,67,253,67,253,67,253,67,253,67,253,67,253,67,253,67,45,18,33,26,15,32,21,70,31,59,21,26,21,32,42,43,1,2,35,21,26,25,33,31,21,15,51,18,13,24,31,17,1,2,28,13,32,51,3,2,0,45,0,45,31,32,13,32,17,2,32,21,25,17,30,2,18,27,30,2,28,24,13,37,71,31,2,61,95,61,137,13,32,32,13,15,23,63,25,36,51,5,3,64,16,37,51,9,7,64,23,64,48,64,58,15,33,30,30,17,26,32,2,65,50,61,42,28,30,62,26,61,169,28,30,21,61,58,16,21,30,63,178,61, 16,17,70,63,67,23,63,54,4,10,69,26,67,65,63,118,71,62,26,27,32,17,62,66,4,1,2,15,13,71,21,13,36,51,68,30,13,15,32,27,30,31,51,44,45,1,2,17,28,20,17,25,60,58,31,15,27,30,69,27,60,25,17,29,33,17,26,15,17,51,44,5,57,5,57,6,57,7,57,7,60,20,6,60,28,8,57,9,57,9,60,22,61,40,8,60,78,64,19,21,31,31,21,26,19,60,19,78,93,76,30,16,16,59,66,68,80,44,27,14,22,71,32,34,17,31,51,40,67,74,1,17,26,16,83,166,16,30,13,35,83,38,15,24,63,49,0,45,0,45,61,33,100,27,17,2,35,27,30,24,16,2,0,135,73,16,13,28,42,72,82,52,11,57,3,57,72,94,0,45,73,86,41,61,36,4,10,60,19,43,1,1,68,18,85,28,17,13,15,20,42,74,74,57,2,66,34,69,67,62,16,66,161,88,97,68,35,20,33,16,91,44,84,26,42,84,47,57,28,36,57,28,37,57,4,57,4,57,84,52,51,0,45,4,63,221,90,101,21,18,42,14,32,26,42,7, 43,43,63,44,83,171,57,92,17,60,20,37,0,45,11,57,2,4,60,19,57,2,97,49,98,18,63,116,2,13,26,16,90,69,51,4,43,75,37,89,24,68,52,89,45,64,32,50,63,28,68,24,64,208,17,101,24,64,244,70,69,64,245,100,22,68,33,64,133,32,30,33,64,52,84,23,2,2,78,142,92,61,57,93,68,59,33,28,16,106,28,43,86,236,61,71,110,36,14,3,51,75,38,3,60,43,4,60,59,78,16,2,14,5,61,54,8,43,2,109,31,77,38,5,62,43,7,62,59,7,113,42,13,94,111,2,51,95,139,114,50,50,51,4,95,29,80,29,13,32,49,4,3,77,56,13,32,48,5,3,77,118,106,111,78,17,106,240,72,77,63,77,112,24,63,93,6,63,93,74,21,110,109,11,63,254,4,5,63,190,6,67,123,7,63,254,4,12,67,252,4,6,67,188,63,244,5,124,32,117,224,124,28,71,80,127,27,49,8,3,70,133,130,24,63,138,73,71,2,77,70,14,94,28,76,105,78,60,92,52,88,32,131,31,80,29,66,39,100,26,123,170,49,73,28,43, 124,219,65,255,109,49,21,16,24,17,132,108,69,21,134,89,139,20,101,81,70,25,14,7,101,110,134,78,6,9,60,43,123,142,97,37,103,27,69,53,62,117,75,61,2,31,18,36,42,0,45,108,16,6,145,27,63,163,145,94,100,89,112,39,3,95,55,4,43,15,161,20,19,17,59,147,48,97,56,114,37,15,13,26,149,16,24,42,43,89,85,62,181,98,40,109,118,5,112,122,67,60,102,36,2,62,207,68,59,108,49,108,54,131,38,35,13,24,144,17,76,244,4,76,148,70,17,43,149,66,0,45,4,76,24,61,101,119,25,150,55,146,23,2,36,25,27,34,17,51,151,38,53,25,21,26,42,159,26,57,69,59,126,21,120,28,61,62,2,48,2,10,4,53,11,43,121,28,51,62,63,123,34,15,30,27,24,24,60,22,17,17,26,42,64,52,75,69,83,247,18,24,133,31,13,32,52,5,43,41,5,50,6,101,32,84,244,84,132,82,251,84,236,65,243,50,5,105,16,85,129,160,19,85,133,85,198,3,43,0,45,0,45,19,27,2,14,163,39,32,27,2,96,34,88,85, 83,254,83,254,6,63,76,63,23,22,33,25,28,92,162,90,132,89,222,157,38,27,28,111,34,198,34,26,148,65,21,179,28,104,67,181,29,64,43,104,244,51,51,6,104,244,124,63,104,85,128,45,104,245,145,62,106,105,134,24,5,4,80,254,80,254,104,119,154,30,51,9,0,45,191,18,95,147,111,121,36,0,45,51,130,30,90,223,0,45,103,76,108,85,97,64,63,130,50,63,242,145,69,63,145,186,25,147,25,147,34,198,25,49,10,43,109,202,144,17,122,71,177,43,164,33,24,122,250,51,51,5,122,250,78,70,185,126,150,31,122,82,123,95,11,145,37,78,105,121,244,79,140,75,64,78,248,112,63,121,210,129,49,79,211,79,52,113,41,79,229,125,54,168,84,79,247,79,56,63,246,166,67,63,117,28,37,50,51,118,36,7,57,218,16,43,77,45,117,62,189,168,82,128,131,157,216,30,116,54,37,52,11,43,53,11,81,37,15,20,17,211,29,19,30,27,33,184,29,15,27,26,219,29,32,77,111,126,72,63,245,84,26,21,36,2,28,27,31,21,227,59,35,166,38,35, 17,2,20,21,32,64,88,135,243,136,54,135,115,195,55,117,47,177,130,43,192,43,212,127,192,141,147,30,147,93,191,86,180,149,195,46,95,47,42,63,136,63,185,151,103,158,73,209,232,224,58,59,14,17,20,13,135,48,61,255,61,63,15,137,25,253,16,192,235,139,194,205,51,238,31,49,51,9,8,81,20,204,88,231,101,8,10,82,24,147,65,232,72,220,109,57,37,204,124,242,28,2,49,2,9,122,79,246,44,145,50,252,25,24,37,2,25,21,16,145,75,0,45,21,31,20,65,136,147,31,65,242,57,201,33,65,114,48,51,65,81,68,141,178,91,68,248,173,41,209,68,233,207,225,155,222,25,242,55,156,17,237,134,219,181,7,11,233,107,50,4,5,11,0,45,11,53,6,57,60,40,42,11,53,5,43,50,228,43,172,60,253,27,26,32,42,0,34,243,40,42,15,223,21,27,100,33,17,30,2,33,140,16,13,16,2,16,27,0,34,57,251,96,227,24,64,32,9,64,16,235,43,66,69,8,66,245,66,85,4,43,66,211,149,47,85,29,230,53,19,17,32,245,53,233,60, 66,242,9,63,29,229,88,1,2,0,9,159,75,2,35,21,26,236,63,233,105,0,9,0,9,188,43,11,253,22,0,9,0,9,61,108,191,89,0,9,143,94,73,75,0,141,251,31,13,26,23,2,37,27,33,248,45,246,56,223,36,0,135,73,250,73,74,83,248,189,30,190,110,251,33,31,32,17,28,92,27,17,57,72,54,25,13,28,2,32,21,203,18,118,31,79,23,252,69,2,18,17,17,151,20,34,229,24,25,74,27,42,178,41,183,35,7,43,122,23,247,25,60,63,37,50,11,60,47,65,132,32,35,27,57,2,31,17,17,165,57,32,0,39,31,62,24,13,19,19,17,231,27,31,234,28,24,24,1,2,30,17,32,33,30,26,114,53,18,65,40,34,88,36,241,54,0,45,0,45,3,175,55,253,28,62,44,23,57,2,5,94,30,27,28,206,25,173,72,72,140,204,175,31,251,31,214,81,31,239,57,223,19,65,80,20,17,97,29,21,240,29,75,16,244,33,17,16,21,32,68,28,31,27,25,17,133,23,16,137,28,13,23,236,30,18,30,27,25,2,31,33,28,75,44,27, 33,24,89,24,60,87,14,110,27,13,32,32,2,30,21,137,18,65,32,32,32,28,54,52,52,35,35,35,56,24,17,36,13,24,27,18,18,24,17,56,15,27,25,52,14,14,31,52,0,63,32,21,16,51,5,6,12,6,72,26,75,60,19,125,30,32,247,57,28,75,22,32,37,57,144,56,77,24,123,151,13,16,16,59,127,79,85,74,82,61,31,2,165,38,85,35,129,21,24,27,27,23,254,32,91,40,130,57,81,52,31,56,167,63,239,18,82,146,132,56,57,2,17,25,28,32,37,89,66,253,25,172,28,17,2,35,30,21,32,32,238,45,63,68,64,136,136,20,150,21,57,192,38,68,27,86,25,199,28,192,44,24,21,31,32,66,67,137,77,103,28,32,20,27,33,32,2,0,34,27,26,213,71,0,34,64,64,31,108,23,16,27,26,0,39,96,23,215,59,16,17,24,141,80,114,33,102,45,153,24,244,31,119,41,116,27,252,24,61,52,37,61,68,7,61,67,94,55,34,13,24,98,109,21,36,57,21,128,67,226,38,94,56,62,82,57,2,185,16,51,179,77,173,150,25,88, 25,80,72,148,125,63,113,64,29,67,16,242,60,2,25,70,31,65,78,57,2,236,71,242,77,235,107,2,111,230,24,17,13,26,86,97,13,247,16,74,161,155,17,43,63,225,68,169,57,32,37,28,17,57,149,69,24,27,15,73,31,13,51,44,45,1,2,13,56,61,41,192,34,62,16,60,47,253,27,101,25,61,145,145,38,42,36,2,53,2,125,44,13,56,78,45,42,37,60,127,147,101,60,26,80,55,61,52,24,143,29,197,117,13,56,30,17,24,17,34,13,26,32,61,147,221,31,14,27,30,26,67,41,235,95,13,56,182,68,118,16,61,148,13,26,21,25,31,28,17,61,53,6,206,36,24,27,35,144,30,226,24,18,112,41,226,20,72,17,21,15,23,146,18,68,87,18,30,165,25,69,100,63,107,56,217,26,13,56,172,77,71,96,150,26,38,68,176,32,17,248,30,30,73,112,60,79,73,69,185,50,80,34,212,30,12,243,35,60,76,7,8,60,140,5,10,60,156,11,242,119,74,139,252,98,70,83,51,30,26,16,203,52,238,69,115,28,88,154,133,123,13,181,218,183,183, 92,53,0,45,0,45,202,66,125,28,250,47,185,50,31,199,23,196,53,14,7,251,112,235,32,88,45,49,2,143,26,2,0,45,2,4,9,217,26,197,38,61,54,48,61,54,50,61,70,219,160,91,33,63,35,37,63,211,37,63,51,37,63,227,254,40,234,24,7,3,199,62,97,77,78,24,11,2,223,150,253,16,14,17,18,30,21,106,35,254,43,17,26,17,25,37,61,74,247,36,10,109,78,63,109,6,245,53,113,86,32,167,22,23,24,75,25,56,36,50,11,57,100,29,0,45,11,57,2,7,57,2,8,246,55,247,61,184,36,50,51,151,23,230,50,228,84,113,201,243,16,242,30,252,34,225,128,131,37,218,17,32,240,47,32,20,132,34,208,40,244,56,79,183,162,17,79,246,61,53,82,183,79,132,63,144,79,131,63,144,79,49,78,87,97,75,79,117,97,61,80,99,8,97,63,81,97,9,244,166,187,37,51,31,17,29,33,17,26,15,17,46,4,47,245,59,139,43,61,100,57,189,39,240,37,31,20,21,18,190,73,62,111,248,55,99,44,62,204,249,68,253,25,60,142,126, 121,210,34,105,56,122,86,120,80,86,243,56,202,17,126,31,86,48,12,65,82,85,142,243,57,85,215,251,60,135,223,91,98,206,30,167,20,13,25,248,23,32,185,22,28,30,26,14,233,70,177,20,90,30,61,107,153,70,148,50,17,28,20,17,25,42,60,54,57,2,63,79,63,103,220,250,63,178,142,38,57,23,142,120,141,45,142,42,253,23,23,203,49,172,18,16,39,250,26,56,23,227,16,23,60,41,227,41,230,31,17,141,61,104,27,17,141,119,60,26,141,87,135,124,214,40,14,180,19,135,45,62,25,138,145,8,65,37,136,144,180,18,30,252,21,27,25,134,41,217,47,16,21,30,229,42,121,45,66,51,106,24,42,0,45,42,128,41,56,8,43,218,51,61,86,61,83,68,80,62,247,61,102,62,103,131,79,78,91,168,27,252,79,253,128,80,59,59,33,28,16,202,36,93,46,75,35,114,21,74,40,75,71,60,77,37,232,23,73,163,0,45,116,24,166,39,241,29,74,170,48,246,23,241,123,75,98,119,36,60,63,77,226,93,53,179,60,77,109,49,2,6,245,122,186,35, 71,153,175,72,250,29,247,34,67,21,23,137,20,81,84,222,25,86,26,60,37,253,17,252,248,35,183,98,203,74,197,40,146,94,196,47,0,34,168,99,57,0,34,62,61,225,16,203,20,119,59,170,93,168,88,188,119,225,75,71,159,147,29,172,104,243,83,149,69,13,56,15,33,30,30,17,26,32,170,43,192,46,4,148,160,169,112,199,22,246,57,137,71,182,151,184,65,191,94,139,53,63,199,64,79,63,247,131,85,155,35,195,107,63,253,51,235,21,67,244,67,244,67,244,182,42,70,251,67,196,150,79,71,81,71,88,174,61,184,92,92,93,77,63,185,95,49,74,43,188,143,210,110,187,207,177,126,96,111,80,164,95,23,214,133,190,185,211,154,159,71,221,26,96,33,204,110,136,41,136,110,130,27,130,46,56,18,24,21,28,225,38,128,252,182,84,194,77,97,96,30,33,26,235,27,195,31,21,27,33,232,17,242,29,19,206,20,98,114,219,23,182,64,96,254,96,254,108,109,184,61,163,43,48,2,15,203,18,30,13,36,43,197,41,186,100,61,84,185,35,196,30,196,159,212,157, 211,90,17,152,64,214,248,197,107,102,53,216,132,215,82,235,96,251,73,164,20,73,37,244,78,150,16,23,21,28,2,35,20,27,251,22,231,111,109,212,111,94,171,249,171,249,171,233,174,179,11,175,161,6,5,211,150,113,181,132,38,155,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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;if(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,106,176,0,0,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,0,0,0,0,103,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,18,46,99,111,109,10,118,101,114,115,105,111,110,32,51,10,95,95,108,117,97,95,95,10,10,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,0,136,64,31,102,136,64,112,15,138,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,108,50,95,95,115,218,130,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,79,10,48,48,49,90,1,144,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,255,7,113,95,95,109,117,115,105,99,146,106,23,32,191,0,15,12,0,255,255,221,80,48,48,48,10,10,99,70,73,76,0,0,0,0,72,36,11,0,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,0,0,0,0,156,61,0,0,242,6,67,80,79,68,68,0,0,0,1,0,0,0,103,102,120,49,46,112,111,100,0,6,0,33,111,100,23,0,20,255,3,0,63,0,229,0,1,0,11,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,36,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,8,3,0,3,46,3,7,27,0,15,3,0,175,20,9,3,0,2,12,0,15,48,0,23,15,3,0,3,56,3,5,10,3,0,254,33,0,0,0,24,31,55,99,46,63,14,104,70,131,64,44,72,60,77,162,136,121,243,225,186,177,16,51,200,122,66,238,183,91,0,167,52,43,124,213,117,95,101,220,74,96,222,177,141,98,1,15,3,0,255,41,240,0,255,0,255,67,66,77,80,164,1,0,0,40,0,0,0,141,1,31,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,3,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,18,64,72,48,31,128,72,48,6,32,15,15,3,0,19,4,1,0,64,3,3,11,3,4,0,15,210,0,87,12,128,0,2,1,0,15,120,0,79,4,204,52,16,15,1,0,50,0,4,2,128,0,19,2,1,0,15,249,0,80,3,35,53,123,15,1,15,15,1,0,4,1,0,15,128,0,88,2,0,1,14,128,0,47,7,0,128,1,82,17,0,110,0,2,125,1,8,128,0,79,7,10,7,0,1,0,82,79,9,9,9,0,0,1,96,5,1,0,63,15,0,15,128,0,2,47,11,0,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,255,255,255,255,255,255,255,255,255,255,255,255,132,0,28,64,19,84,20,64,4,4,0,5,248,116,4,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,15,184,0,33,68,2,2,8,2,183,0,7,40,2,13,200,0,15,184,0,33,68,15,15,8,15,183,0,7,40,2,13,200,0,15,40,2,29,5,90,1,7,8,0,3,22,0,7,248,2,15,40,2,35,5,90,1,7,8,0,3,22,0,7,248,2,12,40,2,15,252,115,255,11,47,5,6,52,0,31,15,207,67,60,15,129,0,143,31,2,129,0,1,15,132,0,55,31,4,119,0,5,15,0,1,76,4,252,1,46,3,3,11,2,15,127,1,89,15,80,0,2,47,2,0,1,0,207,4,118,72,1,7,0,7,13,0,11,35,0,47,0,0,197,70,66,31,3,1,0,3,14,25,0,14,29,0,15,84,72,50,31,2,1,0,3,14,25,0,15,29,0,4,15,128,0,109,14,8,1,15,128,0,91,14,8,1,15,128,0,255,236,31,4,86,6,3,0,14,74,15,128,0,74,31,3,1,0,36,31,2,1,0,9,15,157,0,7,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,76,47,0,0,180,51,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,15,208,115,7,1,199,113,5,8,0,15,208,115,89,0,184,48,33,0,0,199,114,20,0,8,0,15,208,115,86,125,12,12,0,8,9,9,8,0,1,15,208,115,9,47,7,7,128,0,62,33,15,9,1,0,20,15,8,0,15,208,115,8,30,7,31,169,15,128,1,49,17,9,200,114,4,8,0,15,208,114,7,31,7,128,0,58,2,124,0,0,1,0,67,10,10,10,10,7,0,47,10,10,208,115,7,18,15,127,0,31,15,131,0,52,1,252,1,34,12,12,222,171,21,10,20,3,31,8,0,1,5,1,54,52,30,7,4,1,15,128,0,47,25,8,145,3,15,208,115,5,2,183,52,4,131,0,15,128,1,52,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,255,255,255,255,255,255,255,255,42,10,0,59,19,6,1,0,6,0,60,4,134,58,2,8,0,19,5,1,0,64,6,6,7,6,4,0,15,128,0,47,10,0,60,6,128,0,4,0,60,50,1,4,4,32,0,1,8,0,6,128,0,2,1,0,15,0,1,62,3,90,0,4,104,0,13,0,1,18,1,24,0,19,1,1,0,15,126,0,46,11,100,111,27,6,1,0,18,4,24,60,20,4,8,0,27,5,1,0,31,0,10,58,54,2,8,0,12,128,0,11,32,60,31,5,128,0,63,67,14,14,14,14,7,0,34,14,14,128,0,24,5,128,0,10,32,60,2,125,1,15,128,0,58,1,3,0,4,158,106,14,0,1,10,32,60,15,0,1,63,10,183,102,14,128,1,10,32,60,15,128,0,61,4,24,180,31,2,148,112,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,15,68,180,5,15,88,0,10,255,0,10,4,9,2,8,3,11,1,12,13,14,5,15,6,7,24,113,9,19,6,115,61,18,13,15,1,0,8,0,1,125,4,17,13,162,3,50,6,7,13,7,1,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,3,67,5,1,144,0,32,20,32,68,2,61,0,0,32,160,66,96,5,1,2,1,13,6,34,237,95,13,5,13,6,0,1,0,221,11,88,3,15,255,0,221,16,5,0,2,30,13,0,2,15,184,214,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,16,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,0,135,35,2,138,35,34,0,6,131,0,19,45,39,0,12,43,0,13,204,143,0,2,0,15,40,151,13,25,0,238,35,2,113,0,2,118,0,11,8,0,4,32,0,14,20,1,15,92,0,33,47,8,8,92,0,20,16,164,159,98,3,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,3,147,37,31,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,7,60,41,14,32,0,15,168,0,13,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,14,80,1,15,242,4,17,3,240,40,15,16,5,4,15,84,0,237,15,200,104,5,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,20,69,19,1,235,105,2,117,106,3,7,0,10,16,0,5,32,0,15,112,69,32,6,36,106,2,8,0,42,8,8,16,0,14,56,0,15,92,0,24,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,26,0,58,169,18,7,13,66,18,7,12,0,4,89,168,15,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,4,201,167,10,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,4,111,169,5,17,0,10,120,1,15,132,2,36,6,99,1,5,14,1,15,112,1,3,18,100,30,170,15,172,221,10,41,8,8,1,222,4,10,0,23,2,10,0,4,6,0,12,10,0,9,24,222,15,108,0,26,25,15,10,0,23,15,10,0,4,6,0,12,10,0,15,108,0,39,0,146,223,27,2,170,225,15,20,0,9,15,216,0,42,0,13,225,11,186,225,15,20,0,6,15,184,223,183,15,92,0,13,3,139,174,23,8,2,0,22,2,69,2,7,16,0,2,39,0,15,224,225,26,3,87,172,23,8,2,0,22,15,53,2,7,16,0,4,55,225,15,20,1,25,3,17,2,3,203,225,15,8,0,6,12,57,2,15,8,228,21,2,239,227,6,12,0,15,8,0,1,12,41,2,15,192,228,22,9,176,228,30,8,152,226,15,80,227,37,4,181,0,23,15,0,228,14,152,226,15,80,227,35,21,2,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,3,1,2,2,9,228,5,109,229,3,8,0,4,24,0,7,226,228,15,92,0,26,38,15,15,9,228,5,109,229,3,8,0,4,24,0,8,134,117,15,48,230,31,11,88,4,15,80,4,53,14,88,4,15,80,4,17,14,192,79,15,14,7,2,19,6,148,113,7,82,7,19,7,32,80,4,36,80,15,1,0,28,8,60,0,8,84,0,8,108,0,12,108,80,82,1,0,0,20,0,4,0,15,232,9,15,10,112,120,10,188,0,14,196,0,14,153,0,15,1,0,216,14,4,1,15,44,1,3,14,84,1,15,136,83,7,48,5,0,0,96,83,31,36,96,230,33,0,104,0,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,180,88,22,98,56,19,0,0,70,0,4,0,15,140,235,64,1,200,121,1,168,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,47,15,28,204,56,15,236,28,21,3,156,29,3,136,29,11,253,30,5,33,31,5,9,0,15,236,28,26,3,156,29,3,136,29,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,46,2,2,8,0,15,184,0,39,10,8,0,46,15,15,8,0,10,184,0,19,141,33,205,31,11,104,21,45,6,202,147,54,1,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,16,245,80,149,3,4,0,15,116,23,60,10,232,149,7,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,161,144,89,31,0,253,0,111,14,106,108,12,206,146,1,221,111,3,247,109,30,13,8,0,4,32,0,7,198,146,15,84,0,15,3,40,152,98,6,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,59,116,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,1,91,3,4,211,154,20,1,16,0,47,0,0,114,3,1,15,84,0,97,6,91,0,39,1,0,115,49,3,131,155,46,1,1,168,5,15,84,0,105,4,26,156,15,8,0,5,47,0,0,84,0,81,15,232,46,27,31,0,234,216,2,15,252,47,46,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,15,24,122,23,15,44,0,255,63,16,101,246,159,3,4,0,15,188,1,13,4,141,161,16,6,157,156,2,18,16,45,13,6,9,0,4,27,0,3,46,0,3,165,121,15,109,0,21,5,50,51,0,38,157,2,32,2,45,13,7,9,0,4,27,0,3,174,220,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,130,9,3,182,0,3,9,0,20,14,200,0,7,27,0,10,218,0,19,14,22,162,15,218,0,49,14,227,0,15,218,0,63,14,227,0,15,218,0,17,98,20,1,0,0,16,0,4,0,14,187,13,15,184,226,236,15,28,1,4,28,7,1,0,14,6,7,15,16,0,202,15,56,2,13,15,43,1,233,15,46,4,29,5,201,167,69,1,13,7,13,141,18,11,18,0,14,237,167,15,41,7,5,15,18,3,76,15,109,0,19,46,7,0,254,9,25,7,118,58,4,115,10,4,65,24,7,161,11,15,109,0,27,7,207,11,15,9,0,4,6,255,4,8,110,24,9,77,228,15,109,0,19,14,114,10,14,139,59,14,18,0,13,54,0,15,218,0,22,8,237,58,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,79,165,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,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,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,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]);fileData0.push.apply(fileData0,[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,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,31,0,110,2,54,15,77,0,151,147,148,0,2,0,160,0,0,0,205,131,6,7,31,0,31,255,4,0,255,255,119,14,107,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,31,179,63,188,204,255,128,2,255,255,96,42,39,231,163,181,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,47,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,0,21,0,23,5,48,0,7,25,1,2,13,0,31,7,108,1,8,10,73,1,9,87,1,4,183,0,15,96,0,20,5,183,0,15,192,0,2,6,171,0,4,192,0,5,108,0,9,60,1,10,73,1,8,87,1,5,231,0,4,60,1,2,34,0,9,73,1,8,27,0,6,204,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,255,35,4,126,4,15,96,0,20,5,175,4,15,28,6,20,5,63,5,15,28,6,20,0,62,5,2,48,0,15,56,12,19,6,159,5,15,56,12,19,14,111,5,14,56,12,14,43,14,15,56,12,255,255,255,255,49,9,116,4,15,28,6,15,9,165,4,15,28,6,16,5,53,5,15,28,6,20,9,164,10,15,56,12,13,15,96,0,23,5,51,1,14,192,0,15,56,12,12,8,101,5,15,84,18,255,255,255,140,14,59,9,14,28,6,14,48,0,15,84,18,255,255,37,3,135,0,15,112,24,70,4,231,0,15,28,6,255,255,60,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,240,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,98,20,64,0,0,128,0,4,0,14,96,9,15,1,0,60,223,8,8,9,9,10,10,11,11,12,12,13,13,7,1,0,12,15,129,0,203,82,0,12,0,13,0,230,16,0,5,0,18,7,6,0,6,253,16,15,129,0,76,6,229,1,42,0,7,128,0,40,7,0,44,0,3,174,16,36,7,7,5,0,22,8,25,0,15,129,0,40,5,226,17,4,128,0,31,0,0,1,1,1,125,0,21,7,4,0,4,16,0,0,10,0,1,3,0,15,129,0,41,7,113,1,26,7,2,0,3,147,0,3,255,0,14,128,0,4,193,17,15,131,1,41,8,129,19,15,40,0,9,5,7,0,10,0,1,31,8,0,1,42,1,129,0,39,7,7,0,1,1,135,1,1,205,14,4,206,16,7,128,0,6,5,2,9,255,1,15,128,0,41,24,7,0,2,5,120,1,41,0,7,134,1,15,1,0,74,9,0,3,15,128,0,96,6,102,0,4,71,16,4,128,0,30,0,128,0,15,1,0,226,31,8,1,0,255,255,255,255,42,3,42,24,31,14,124,0,98,0,187,4,18,15,128,0,95,15,14,15,14,14,125,0,92,13,113,0,63,14,15,14,126,0,88,15,24,0,3,15,131,0,82,15,50,6,8,63,14,7,15,253,0,79,31,14,25,0,5,0,6,0,47,15,7,253,0,100,62,14,7,7,160,0,15,127,0,63,0,96,1,31,15,152,0,2,40,7,14,36,0,15,127,0,68,42,14,8,128,0,16,14,122,0,19,14,52,11,4,71,8,47,15,15,127,0,74,37,8,15,124,0,34,14,7,120,1,26,15,18,3,47,15,15,127,0,73,40,8,15,175,12,0,243,2,43,14,7,246,1,15,136,3,66,5,214,0,19,7,255,4,3,157,12,9,156,0,15,129,0,71,2,96,3,3,128,0,18,14,112,2,0,249,0,26,15,107,31,4,173,0,15,128,0,62,23,7,10,0,3,127,0,0,236,2,47,7,14,128,0,2,31,14,129,0,61,37,15,14,94,4,3,117,2,39,8,8,248,2,29,7,47,1,15,255,0,64,3,174,11,3,172,15,9,14,5,47,7,8,129,0,75,42,7,14,128,0,19,14,96,0,10,128,0,31,14,128,0,71,22,8,19,15,52,15,8,8,120,2,5,113,6,22,7,128,7,47,14,15,129,0,63,38,15,14,128,0,0,96,0,19,7,120,0,59,15,8,7,249,6,2,153,3,2,30,9,15,253,2,61,18,7,244,8,22,15,119,1,17,14,26,0,37,15,7,239,2,16,15,34,0,15,130,1,62,3,252,3,3,12,17,19,14,142,2,2,98,0,10,251,5,8,81,14,31,14,127,1,60,0,246,0,21,15,128,0,40,7,7,119,7,6,125,1,47,14,14,128,0,63,22,7,5,3,4,128,0,36,7,7,138,9,25,14,255,0,15,131,3,66,25,7,249,5,19,8,128,2,10,252,0,1,13,2,47,7,14,128,0,66,23,15,5,4,19,14,10,0,8,236,9,2,116,2,0,128,0,15,131,4,67,4,101,4,31,14,7,10,3,34,15,7,142,1,2,251,8,47,14,8,1,0,62,27,14,86,7,7,126,0,19,14,149,2,16,7,240,3,47,7,14,1,10,66,41,14,14,8,0,9,252,0,36,7,7,118,3,17,15,13,4,12,21,2,15,255,0,56,3,128,0,39,7,15,251,0,18,14,135,8,22,14,70,22,47,14,15,128,0,70,1,243,9,25,14,122,10,1,12,1,53,7,14,8,128,0,14,123,8,15,128,1,55,0,241,14,3,254,2,34,7,7,238,2,21,14,14,5,4,128,0,47,14,15,251,5,59,8,205,8,2,210,5,4,124,0,35,7,7,154,5,41,7,8,137,0,47,15,14,0,4,68,40,8,8,122,10,1,9,2,5,128,0,5,28,0,4,126,6,15,0,5,64,37,8,8,122,10,1,128,0,27,14,128,0,12,1,15,15,128,0,64,19,14,225,0,1,246,11,24,8,128,0,14,150,15,15,128,0,65,5,249,10,53,14,14,7,128,0,31,15,20,16,4,31,14,130,3,62,0,119,0,3,121,11,52,14,14,7,155,2,27,15,248,6,15,128,0,71,5,253,4,35,7,14,128,1,29,14,254,13,6,53,0,14,129,9,15,11,9,55,3,251,0,36,14,14,126,0,14,133,0,47,7,8,128,0,75,22,14,143,2,6,65,26,15,128,0,87,35,8,14,126,0,38,14,15,18,9,7,128,0,47,7,14,128,0,72,7,243,2,19,15,125,7,46,14,7,41,0,15,128,0,70,6,108,9,39,14,7,128,0,31,15,126,1,76,5,88,0,21,15,104,5,2,146,11,0,128,0,24,14,128,0,47,14,7,5,7,68,3,113,12,11,18,19,0,128,0,10,36,7,15,1,16,69,2,115,17,11,19,19,0,141,3,25,7,166,0,31,14,122,1,69,12,101,21,22,7,149,7,6,3,22,47,15,7,123,2,69,47,14,14,151,17,5,9,149,10,15,252,2,66,30,15,246,22,5,23,18,8,145,11,15,123,3,68,15,87,1,3,29,7,125,23,15,127,0,70,10,249,2,8,14,19,8,113,0,15,131,22,74,14,98,23,11,253,24,14,131,23,15,125,24,76,0,253,0,30,7,33,1,15,131,23,73,41,7,14,25,8,47,7,7,128,24,88,6,131,10,15,23,0,1,15,254,26,89,23,15,23,13,42,14,15,122,11,15,130,0,80,25,15,69,32,14,129,27,15,127,28,87,47,14,8,1,0,255,255,255,255,46,31,7,1,0,255,255,255,141,14,71,66,15,206,69,18,15,61,0,8,15,127,0,74,9,95,0,34,5,6,160,60,2,223,66,4,12,0,31,13,127,0,61,0,3,64,15,129,0,1,33,15,5,56,63,16,0,6,0,37,0,6,12,0,15,128,0,38,1,114,64,15,128,0,6,29,5,1,0,0,128,0,23,0,128,0,47,0,6,0,1,42,3,86,0,15,129,1,3,15,0,1,80,1,234,61,15,128,0,29,39,0,0,0,1,31,0,128,0,44,1,145,71,15,128,0,26,14,1,0,15,128,1,40,1,18,0,15,128,0,26,31,17,1,0,1,15,0,2,87,31,17,1,0,3,15,128,0,36,17,13,127,0,31,13,132,3,7,28,5,128,0,15,1,0,3,31,7,128,0,30,2,93,0,4,168,71,14,6,1,10,28,1,12,63,0,14,240,1,15,126,5,28,1,15,73,4,129,0,0,135,2,14,129,0,0,21,0,0,35,0,6,253,3,21,7,0,5,15,128,0,49,7,249,2,2,13,0,13,128,0,41,5,7,0,1,20,5,0,4,15,128,0,50,8,121,3,9,135,3,4,247,1,4,0,1,13,128,0,15,0,1,75,5,247,1,13,0,2,4,128,5,47,6,0,0,2,55,6,235,1,4,0,2,5,12,1,8,28,3,12,0,5,15,0,1,46,10,121,3,8,135,3,5,119,1,8,196,74,12,0,5,15,128,0,47,9,121,3,8,107,0,6,12,2,7,20,75,12,0,5,15,128,0,46,23,6,127,0,5,135,3,14,19,5,15,0,5,6,14,128,0,15,0,6,53,4,140,1,30,5,1,0,6,0,5,14,240,4,15,0,7,54,15,187,76,2,2,167,0,6,63,0,14,128,0,15,0,8,55,14,11,77,8,128,0,15,128,2,4,15,0,7,81,3,128,4,15,128,0,2,15,0,7,65,14,128,0,15,0,5,55,14,237,1,15,128,0,16,2,0,5,15,0,1,57,15,248,78,19,15,128,4,59,47,5,6,1,0,30,31,5,128,0,58,15,129,0,30,47,5,5,0,5,57,47,7,5,1,0,30,30,7,0,5,15,129,0,89,7,59,0,14,0,5,15,1,0,255,255,4,0,28,64,16,245,132,77,3,4,0,8,28,64,15,192,20,17,1,119,3,6,14,0,4,20,0,8,15,0,5,234,20,41,13,7,75,36,0,155,3,15,15,0,4,3,110,5,11,37,21,15,15,0,34,7,203,60,13,189,0,14,253,0,15,1,0,12,5,127,72,2,14,0,1,253,0,5,246,71,17,6,30,0,0,18,0,1,42,0,53,6,32,32,223,71,17,32,223,0,20,32,56,0,3,238,0,31,32,15,0,3,3,253,0,7,30,0,0,1,0,15,15,0,33,3,16,0,30,32,192,0,15,198,77,104,15,1,0,10,80,0,0,0,0,0,99,70,73,76,0,0,0,0,84,45,0,0,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,0,0,0,0,0,4,0,0,242,14,67,80,79,68,68,0,0,0,1,0,0,0,102,95,112,105,99,111,56,46,112,111,100,0,0,105,120,101,100,10,0,6,1,0,47,1,0,1,0,10,255,2,67,66,77,80,35,0,0,0,3,0,0,0,5,0,0,0,8,43,0,255,255,255,255,255,137,20,255,3,0,1,12,0,15,43,0,9,111,255,0,255,255,0,255,86,0,18,0,43,0,37,255,255,6,0,15,43,0,10,1,35,0,4,42,0,15,129,0,13,2,5,0,2,7,0,15,86,0,11,4,3,0,1,90,0,15,2,1,12,31,255,45,1,23,6,47,1,31,255,88,1,14,5,45,0,15,215,0,15,1,167,0,47,0,255,215,0,13,5,92,1,47,0,255,4,2,23,1,45,0,15,43,0,15,1,135,1,15,90,2,26,15,2,1,12,7,46,1,14,129,0,13,4,2,5,179,1,31,255,217,1,13,6,86,0,15,43,0,13,5,88,2,15,43,0,19,2,93,0,14,129,0,15,6,3,0,3,49,0,15,219,2,15,7,135,0,15,86,0,11,1,3,0,30,255,2,1,15,172,0,5,31,0,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,15,129,0,14,2,173,2,2,6,0,15,88,1,12,3,4,0,14,133,2,15,4,2,7,15,221,3,16,4,176,2,0,56,0,15,172,0,12,15,10,5,21,47,0,0,180,4,23,5,93,2,47,0,0,43,0,17,5,182,2,31,0,86,0,16,30,255,86,0,15,43,0,11,47,0,0,172,0,20,15,215,0,17,31,0,45,1,24,4,10,6,31,255,43,0,24,31,0,129,0,16,4,48,1,15,43,0,14,6,184,3,15,45,1,17,3,222,1,15,174,1,22,15,135,3,16,31,255,217,1,25,4,13,5,15,98,6,16,4,182,4,15,219,2,20,31,0,172,0,20,3,7,0,15,174,1,21,14,98,6,15,47,2,4,1,8,0,15,90,2,21,15,86,0,22,31,255,176,2,19,31,0,47,2,22,6,235,8,15,223,4,17,15,184,6,18,8,133,2,15,10,5,17,31,255,96,5,17,10,101,7,15,10,5,12,15,20,10,21,11,224,0,15,61,9,13,14,86,0,15,227,6,7,15,92,3,19,8,173,2,15,20,10,14,6,3,1,31,0,131,1,14,15,188,8,23,3,215,1,14,96,5,15,43,0,10,47,0,0,172,0,20,15,188,8,15,15,45,1,25,15,104,9,25,47,255,0,96,5,18,5,174,4,15,96,5,15,31,255,96,5,23,8,93,5,47,255,0,174,1,23,31,0,4,2,15,14,96,5,15,133,2,12,14,174,1,15,59,8,1,15,96,5,18,47,255,255,45,1,22,25,0,106,10,31,0,174,1,21,15,241,13,15,15,96,5,21,8,3,3,15,86,0,22,31,255,176,2,16,14,96,5,15,151,11,6,15,96,5,21,4,141,8,15,231,8,17,4,126,1,31,0,14,7,15,47,255,0,88,1,22,5,177,5,15,145,8,17,5,196,12,14,10,5,15,186,7,4,5,2,1,95,55,0,0,0,7,49,3,1,15,1,0,15,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,6,193,4,4,39,5,5,18,0,15,63,0,17,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,208,17,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,4,173,4,15,189,0,19,8,54,3,31,0,248,1,33,31,0,191,3,0,9,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,8,135,0,47,0,0,63,0,19,9,135,16,9,224,10,15,122,1,19,11,82,21,15,244,2,26,15,14,0,2,15,232,5,23,15,7,0,1,15,173,20,21,11,98,2,15,43,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,235,80,0,0,0,0,0]);Module["FS_createDataFile"]("/","pico8.dat",fileData0,true,true)}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}});loadPackage({"files":[]})}))();var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;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)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<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];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<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){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;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 if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||128e6;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;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){Runtime.dynCall("v",func)}else{Runtime.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)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;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}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;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}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;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["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};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})}}),(function(){console.log("mounting /user_data");FS.mkdir("/user_data");FS.mount(IDBFS,{},"/user_data");function mkdir_0(d){try{stat=FS.stat(d);console.log("found directory: "+d)}catch(e){FS.mkdir(d);console.log("created directory: "+d)}}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")}else{console.log("** could not mount filesystem\n");console.log(err)}}))}),(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(){if(typeof on_module_load!=="undefined"){if(on_module_load)on_module_load()}}),(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((function(err){}))}),(function(){{var val=0;if(typeof codo_mounted_filesystem!=="undefined")val=1;return val}}),(function(){function log(msg){if(window.console&&window.console.log){window.console.log(msg)}}log("audio_init");var audio_context;var webAudioAPI=window.AudioContext||window.webkitAudioContext||window.mozAudioContext||window.oAudioContext||window.msAudioContext;if(webAudioAPI){audio_context=new webAudioAPI;if(audio_context){log("Sample Rate: "+audio_context.sampleRate);node=audio_context.createScriptProcessor(2048,1,1);node.onaudioprocess=(function(e){var data=e.outputBuffer.getChannelData(0);var r=22050/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(audio_context.destination)}else{log("** failed to create audio_context")}}else{log("** webAudioAPI not found")}})];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_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}function _emscripten_asm_const_v(code){return ASM_CONSTS[code]()}STATIC_BASE=8;STATICTOP=STATIC_BASE+1195600;__ATINIT__.push();allocate([81,124,0,0,62,147,0,0,90,124,0,0,98,124,0,0,107,124,0,0,114,124,0,0,121,124,0,0,177,146,0,0,98,124,0,0,127,124,0,0,134,124,0,0,140,124,0,0,255,255,255,255,246,1,0,0,25,147,13,10,26,10,0,0,219,146,0,0,4,147,0,0,226,146,0,0,197,146,0,0,202,146,0,0,186,146,0,0,56,147,0,0,190,146,0,0,177,146,0,0,255,146,0,0,194,146,0,0,82,130,0,0,229,146,0,0,62,147,0,0,215,146,0,0,223,146,0,0,242,146,0,0,235,146,0,0,104,154,0,0,51,147,0,0,249,146,0,0,209,146,0,0,13,170,0,0,28,129,0,0,85,130,0,0,88,130,0,0,91,130,0,0,94,130,0,0,97,130,0,0,59,137,0,0,100,130,0,0,109,130,0,0,116,130,0,0,37,135,0,0,45,135,0,0,56,135,0,0,61,135,0,0,68,135,0,0,74,135,0,0,79,135,0,0,85,135,0,0,91,135,0,0,97,135,0,0,103,135,0,0,109,135,0,0,115,135,0,0,121,135,0,0,126,135,0,0,131,135,0,0,140,135,0,0,168,152,0,0,153,150,0,0,99,147,0,0,103,147,0,0,162,150,0,0,169,150,0,0,110,147,0,0,113,147,0,0,185,147,0,0,169,147,0,0,19,150,0,0,148,150,0,0,191,147,0,0,249,147,0,0,247,150,0,0,13,151,0,0,7,148,0,0,17,148,0,0,34,151,0,0,219,152,0,0,225,152,0,0,0,0,0,0,51,147,0,0,56,147,0,0,62,147,0,0,239,190,173,222,103,69,35,1,125,154,0,0,0,0,0,0,4,0,0,0,2,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,2,0,0,0,99,158,0,0,111,158,0,0,123,158,0,0,135,158,0,0,147,158,0,0,159,158,0,0,171,158,0,0,183,158,0,0,195,158,0,0,207,158,0,0,219,158,0,0,231,158,0,0,243,158,0,0,26,159,0,0,31,159,0,0,37,159,0,0,40,159,0,0,45,159,0,0,47,159,0,0,49,159,0,0,51,159,0,0,53,159,0,0,55,159,0,0,57,159,0,0,61,159,0,0,63,159,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,0,0,1,0,245,162,0,0,252,162,0,0,7,163,0,0,15,163,0,0,25,163,0,0,34,163,0,0,44,163,0,0,57,163,0,0,67,163,0,0,74,163,0,0,83,163,0,0,93,163,0,0,0,0,0,0,255,255,255,255,29,59,0,0,183,76,0,0,38,39,0,0,32,76,0,0,29,74,0,0,0,0,0,0,1,0,0,0,9,0,0,0,16,0,0,0,16,0,0,0,1,0,0,0,255,255,255,255,239,190,173,222,103,69,35,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,253,255,0,0,253,255,0,0,253,255,0,0,253,255,0,0,252,255,0,0,252,255,0,0,252,255,0,0,252,255,0,0,251,255,0,0,251,255,0,0,251,255,0,0,250,255,0,0,250,255,0,0,250,255,0,0,249,255,0,0,249,255,0,0,249,255,0,0,248,255,0,0,248,255,0,0,247,255,0,0,247,255,0,0,247,255,0,0,246,255,0,0,246,255,0,0,245,255,0,0,245,255,0,0,244,255,0,0,244,255,0,0,243,255,0,0,243,255,0,0,242,255,0,0,242,255,0,0,241,255,0,0,241,255,0,0,240,255,0,0,240,255,0,0,239,255,0,0,239,255,0,0,238,255,0,0,237,255,0,0,237,255,0,0,236,255,0,0,236,255,0,0,235,255,0,0,234,255,0,0,234,255,0,0,233,255,0,0,232,255,0,0,232,255,0,0,231,255,0,0,230,255,0,0,230,255,0,0,229,255,0,0,228,255,0,0,227,255,0,0,227,255,0,0,226,255,0,0,225,255,0,0,224,255,0,0,224,255,0,0,223,255,0,0,222,255,0,0,221,255,0,0,220,255,0,0,220,255,0,0,219,255,0,0,218,255,0,0,217,255,0,0,216,255,0,0,215,255,0,0,214,255,0,0,213,255,0,0,213,255,0,0,212,255,0,0,211,255,0,0,210,255,0,0,209,255,0,0,208,255,0,0,207,255,0,0,206,255,0,0,205,255,0,0,204,255,0,0,203,255,0,0,202,255,0,0,201,255,0,0,200,255,0,0,199,255,0,0,198,255,0,0,197,255,0,0,196,255,0,0,194,255,0,0,193,255,0,0,192,255,0,0,191,255,0,0,190,255,0,0,189,255,0,0,188,255,0,0,187,255,0,0,185,255,0,0,184,255,0,0,183,255,0,0,182,255,0,0,181,255,0,0,180,255,0,0,178,255,0,0,177,255,0,0,176,255,0,0,175,255,0,0,173,255,0,0,172,255,0,0,171,255,0,0,169,255,0,0,168,255,0,0,167,255,0,0,166,255,0,0,164,255,0,0,163,255,0,0,162,255,0,0,160,255,0,0,159,255,0,0,157,255,0,0,156,255,0,0,155,255,0,0,153,255,0,0,152,255,0,0,150,255,0,0,149,255,0,0,148,255,0,0,146,255,0,0,145,255,0,0,143,255,0,0,142,255,0,0,140,255,0,0,139,255,0,0,137,255,0,0,136,255,0,0,134,255,0,0,133,255,0,0,131,255,0,0,130,255,0,0,128,255,0,0,126,255,0,0,125,255,0,0,123,255,0,0,122,255,0,0,120,255,0,0,118,255,0,0,117,255,0,0,115,255,0,0,113,255,0,0,112,255,0,0,110,255,0,0,108,255,0,0,107,255,0,0,105,255,0,0,103,255,0,0,102,255,0,0,100,255,0,0,98,255,0,0,96,255,0,0,95,255,0,0,93,255,0,0,91,255,0,0,89,255,0,0,88,255,0,0,86,255,0,0,84,255,0,0,82,255,0,0,80,255,0,0,78,255,0,0,77,255,0,0,75,255,0,0,73,255,0,0,71,255,0,0,69,255,0,0,67,255,0,0,65,255,0,0,63,255,0,0,61,255,0,0,59,255,0,0,58,255,0,0,56,255,0,0,54,255,0,0,52,255,0,0,50,255,0,0,48,255,0,0,46,255,0,0,44,255,0,0,42,255,0,0,40,255,0,0,37,255,0,0,35,255,0,0,33,255,0,0,31,255,0,0,29,255,0,0,27,255,0,0,25,255,0,0,23,255,0,0,21,255,0,0,19,255,0,0,16,255,0,0,14,255,0,0,12,255,0,0,10,255,0,0,8,255,0,0,6,255,0,0,3,255,0,0,1,255,0,0,255,254,0,0,253,254,0,0,251,254,0,0,248,254,0,0,246,254,0,0,244,254,0,0,241,254,0,0,239,254,0,0,237,254,0,0,235,254,0,0,232,254,0,0,230,254,0,0,228,254,0,0,225,254,0,0,223,254,0,0,221,254,0,0,218,254,0,0,216,254,0,0,213,254,0,0,211,254,0,0,209,254,0,0,206,254,0,0,204,254,0,0,201,254,0,0,199,254,0,0,196,254,0,0,194,254,0,0,191,254,0,0,189,254,0,0,186,254,0,0,184,254,0,0,181,254,0,0,179,254,0,0,176,254,0,0,174,254,0,0,171,254,0,0,169,254,0,0,166,254,0,0,164,254,0,0,161,254,0,0,158,254,0,0,156,254,0,0,153,254,0,0,151,254,0,0,148,254,0,0,145,254,0,0,143,254,0,0,140,254,0,0,137,254,0,0,135,254,0,0,132,254,0,0,129,254,0,0,126,254,0,0,124,254,0,0,121,254,0,0,118,254,0,0,115,254,0,0,113,254,0,0,110,254,0,0,107,254,0,0,104,254,0,0,102,254,0,0,99,254,0,0,96,254,0,0,93,254,0,0,90,254,0,0,87,254,0,0,85,254,0,0,82,254,0,0,79,254,0,0,76,254,0,0,73,254,0,0,70,254,0,0,67,254,0,0,64,254,0,0,61,254,0,0,58,254,0,0,55,254,0,0,52,254,0,0,49,254,0,0,46,254,0,0,43,254,0,0,40,254,0,0,37,254,0,0,34,254,0,0,31,254,0,0,28,254,0,0,25,254,0,0,22,254,0,0,19,254,0,0,16,254,0,0,13,254,0,0,10,254,0,0,7,254,0,0,4,254,0,0,1,254,0,0,253,253,0,0,250,253,0,0,247,253,0,0,244,253,0,0,241,253,0,0,238,253,0,0,234,253,0,0,231,253,0,0,228,253,0,0,225,253,0,0,221,253,0,0,218,253,0,0,215,253,0,0,212,253,0,0,208,253,0,0,205,253,0,0,202,253,0,0,199,253,0,0,195,253,0,0,192,253,0,0,189,253,0,0,185,253,0,0,182,253,0,0,179,253,0,0,175,253,0,0,172,253,0,0,168,253,0,0,165,253,0,0,162,253,0,0,158,253,0,0,155,253,0,0,151,253,0,0,148,253,0,0,144,253,0,0,141,253,0,0,137,253,0,0,134,253,0,0,131,253,0,0,127,253,0,0,124,253,0,0,120,253,0,0,116,253,0,0,113,253,0,0,109,253,0,0,106,253,0,0,102,253,0,0,99,253,0,0,95,253,0,0,91,253,0,0,88,253,0,0,84,253,0,0,81,253,0,0,77,253,0,0,73,253,0,0,70,253,0,0,66,253,0,0,62,253,0,0,59,253,0,0,55,253,0,0,51,253,0,0,48,253,0,0,44,253,0,0,40,253,0,0,36,253,0,0,33,253,0,0,29,253,0,0,25,253,0,0,21,253,0,0,18,253,0,0,14,253,0,0,10,253,0,0,6,253,0,0,2,253,0,0,254,252,0,0,251,252,0,0,247,252,0,0,243,252,0,0,239,252,0,0,235,252,0,0,231,252,0,0,227,252,0,0,223,252,0,0,220,252,0,0,216,252,0,0,212,252,0,0,208,252,0,0,204,252,0,0,200,252,0,0,196,252,0,0,192,252,0,0,188,252,0,0,184,252,0,0,180,252,0,0,176,252,0,0,172,252,0,0,168,252,0,0,164,252,0,0,160,252,0,0,155,252,0,0,151,252,0,0,147,252,0,0,143,252,0,0,139,252,0,0,135,252,0,0,131,252,0,0,127,252,0,0,123,252,0,0,118,252,0,0,114,252,0,0,110,252,0,0,106,252,0,0,102,252,0,0,97,252,0,0,93,252,0,0,89,252,0,0,85,252,0,0,81,252,0,0,76,252,0,0,72,252,0,0,68,252,0,0,63,252,0,0,59,252,0,0,55,252,0,0,51,252,0,0,46,252,0,0,42,252,0,0,38,252,0,0,33,252,0,0,29,252,0,0,24,252,0,0,20,252,0,0,16,252,0,0,11,252,0,0,7,252,0,0,2,252,0,0,254,251,0,0,250,251,0,0,245,251,0,0,241,251,0,0,236,251,0,0,232,251,0,0,227,251,0,0,223,251,0,0,218,251,0,0,214,251,0,0,209,251,0,0,205,251,0,0,200,251,0,0,196,251,0,0,191,251,0,0,187,251,0,0,182,251,0,0,177,251,0,0,173,251,0,0,168,251,0,0,164,251,0,0,159,251,0,0,154,251,0,0,150,251,0,0,145,251,0,0,140,251,0,0,136,251,0,0,131,251,0,0,126,251,0,0,122,251,0,0,117,251,0,0,112,251,0,0,107,251,0,0,103,251,0,0,98,251,0,0,93,251,0,0,88,251,0,0,84,251,0,0,79,251,0,0,74,251,0,0,69,251,0,0,64,251,0,0,60,251,0,0,55,251,0,0,50,251,0,0,45,251,0,0,40,251,0,0,35,251,0,0,31,251,0,0,26,251,0,0,21,251,0,0,16,251,0,0,11,251,0,0,6,251,0,0,1,251,0,0,252,250,0,0,247,250,0,0,242,250,0,0,237,250,0,0,232,250,0,0,227,250,0,0,222,250,0,0,217,250,0,0,212,250,0,0,207,250,0,0,202,250,0,0,197,250,0,0,192,250,0,0,187,250,0,0,182,250,0,0,177,250,0,0,172,250,0,0,167,250,0,0,161,250,0,0,156,250,0,0,151,250,0,0,146,250,0,0,141,250,0,0,136,250,0,0,131,250,0,0,125,250,0,0,120,250,0,0,115,250,0,0,110,250,0,0,105,250,0,0,99,250,0,0,94,250,0,0,89,250,0,0,84,250,0,0,78,250,0,0,73,250,0,0,68,250,0,0,62,250,0,0,57,250,0,0,52,250,0,0,47,250,0,0,41,250,0,0,36,250,0,0,31,250,0,0,25,250,0,0,20,250,0,0,14,250,0,0,9,250,0,0,4,250,0,0,254,249,0,0,249,249,0,0,243,249,0,0,238,249,0,0,232,249,0,0,227,249,0,0,222,249,0,0,216,249,0,0,211,249,0,0,205,249,0,0,200,249,0,0,194,249,0,0,189,249,0,0,183,249,0,0,178,249,0,0,172,249,0,0,166,249,0,0,161,249,0,0,155,249,0,0,150,249,0,0,144,249,0,0,138,249,0,0,133,249,0,0,127,249,0,0,122,249,0,0,116,249,0,0,110,249,0,0,105,249,0,0,99,249,0,0,93,249,0,0,88,249,0,0,82,249,0,0,76,249,0,0,70,249,0,0,65,249,0,0,59,249,0,0,53,249,0,0,48,249,0,0,42,249,0,0,36,249,0,0,30,249,0,0,24,249,0,0,19,249,0,0,13,249,0,0,7,249,0,0,1,249,0,0,251,248,0,0,245,248,0,0,240,248,0,0,234,248,0,0,228,248,0,0,222,248,0,0,216,248,0,0,210,248,0,0,204,248,0,0,198,248,0,0,192,248,0,0,186,248,0,0,180,248,0,0,175,248,0,0,169,248,0,0,163,248,0,0,157,248,0,0,151,248,0,0,145,248,0,0,139,248,0,0,133,248,0,0,126,248,0,0,120,248,0,0,114,248,0,0,108,248,0,0,102,248,0,0,96,248,0,0,90,248,0,0,84,248,0,0,78,248,0,0,72,248,0,0,66,248,0,0,59,248,0,0,53,248,0,0,47,248,0,0,41,248,0,0,35,248,0,0,29,248,0,0,22,248,0,0,16,248,0,0,10,248,0,0,4,248,0,0,254,247,0,0,247,247,0,0,241,247,0,0,235,247,0,0,229,247,0,0,222,247,0,0,216,247,0,0,210,247,0,0,203,247,0,0,197,247,0,0,191,247,0,0,184,247,0,0,178,247,0,0,172,247,0,0,165,247,0,0,159,247,0,0,153,247,0,0,146,247,0,0,140,247,0,0,133,247,0,0,127,247,0,0,121,247,0,0,114,247,0,0,108,247,0,0,101,247,0,0,95,247,0,0,88,247,0,0,82,247,0,0,75,247,0,0,69,247,0,0,62,247,0,0,56,247,0,0,49,247,0,0,43,247,0,0,36,247,0,0,30,247,0,0,23,247,0,0,16,247,0,0,10,247,0,0,3,247,0,0,253,246,0,0,246,246,0,0,239,246,0,0,233,246,0,0,226,246,0,0,219,246,0,0,213,246,0,0,206,246,0,0,199,246,0,0,193,246,0,0,186,246,0,0,179,246,0,0,173,246,0,0,166,246,0,0,159,246,0,0,152,246,0,0,146,246,0,0,139,246,0,0,132,246,0,0,125,246,0,0,119,246,0,0,112,246,0,0,105,246,0,0,98,246,0,0,91,246,0,0,84,246,0,0,78,246,0,0,71,246,0,0,64,246,0,0,57,246,0,0,50,246,0,0,43,246,0,0,36,246,0,0,29,246,0,0,22,246,0,0,16,246,0,0,9,246,0,0,2,246,0,0,251,245,0,0,244,245,0,0,237,245,0,0,230,245,0,0,223,245,0,0,216,245,0,0,209,245,0,0,202,245,0,0,195,245,0,0,188,245,0,0,181,245,0,0,174,245,0,0,166,245,0,0,159,245,0,0,152,245,0,0,145,245,0,0,138,245,0,0,131,245,0,0,124,245,0,0,117,245,0,0,110,245,0,0,102,245,0,0,95,245,0,0,88,245,0,0,81,245,0,0,74,245,0,0,67,245,0,0,59,245,0,0,52,245,0,0,45,245,0,0,38,245,0,0,30,245,0,0,23,245,0,0,16,245,0,0,9,245,0,0,1,245,0,0,250,244,0,0,243,244,0,0,235,244,0,0,228,244,0,0,221,244,0,0,213,244,0,0,206,244,0,0,199,244,0,0,191,244,0,0,184,244,0,0,177,244,0,0,169,244,0,0,162,244,0,0,154,244,0,0,147,244,0,0,140,244,0,0,132,244,0,0,125,244,0,0,117,244,0,0,110,244,0,0,102,244,0,0,95,244,0,0,87,244,0,0,80,244,0,0,72,244,0,0,65,244,0,0,57,244,0,0,50,244,0,0,42,244,0,0,35,244,0,0,27,244,0,0,19,244,0,0,12,244,0,0,4,244,0,0,253,243,0,0,245,243,0,0,237,243,0,0,230,243,0,0,222,243,0,0,215,243,0,0,207,243,0,0,199,243,0,0,192,243,0,0,184,243,0,0,176,243,0,0,168,243,0,0,161,243,0,0,153,243,0,0,145,243,0,0,138,243,0,0,130,243,0,0,122,243,0,0,114,243,0,0,106,243,0,0,99,243,0,0,91,243,0,0,83,243,0,0,75,243,0,0,67,243,0,0,60,243,0,0,52,243,0,0,44,243,0,0,36,243,0,0,28,243,0,0,20,243,0,0,12,243,0,0,4,243,0,0,253,242,0,0,245,242,0,0,237,242,0,0,229,242,0,0,221,242,0,0,213,242,0,0,205,242,0,0,197,242,0,0,189,242,0,0,181,242,0,0,173,242,0,0,165,242,0,0,157,242,0,0,149,242,0,0,141,242,0,0,133,242,0,0,125,242,0,0,117,242,0,0,109,242,0,0,101,242,0,0,93,242,0,0,84,242,0,0,76,242,0,0,68,242,0,0,60,242,0,0,52,242,0,0,44,242,0,0,36,242,0,0,27,242,0,0,19,242,0,0,11,242,0,0,3,242,0,0,251,241,0,0,243,241,0,0,234,241,0,0,226,241,0,0,218,241,0,0,210,241,0,0,201,241,0,0,193,241,0,0,185,241,0,0,177,241,0,0,168,241,0,0,160,241,0,0,152,241,0,0,143,241,0,0,135,241,0,0,127,241,0,0,118,241,0,0,110,241,0,0,102,241,0,0,93,241,0,0,85,241,0,0,76,241,0,0,68,241,0,0,60,241,0,0,51,241,0,0,43,241,0,0,34,241,0,0,26,241,0,0,17,241,0,0,9,241,0,0,1,241,0,0,248,240,0,0,240,240,0,0,231,240,0,0,223,240,0,0,214,240,0,0,206,240,0,0,197,240,0,0,188,240,0,0,180,240,0,0,171,240,0,0,163,240,0,0,154,240,0,0,146,240,0,0,137,240,0,0,128,240,0,0,120,240,0,0,111,240,0,0,103,240,0,0,94,240,0,0,85,240,0,0,77,240,0,0,68,240,0,0,59,240,0,0,51,240,0,0,42,240,0,0,33,240,0,0,24,240,0,0,16,240,0,0,7,240,0,0,254,239,0,0,245,239,0,0,237,239,0,0,228,239,0,0,219,239,0,0,210,239,0,0,202,239,0,0,193,239,0,0,184,239,0,0,175,239,0,0,166,239,0,0,157,239,0,0,149,239,0,0,140,239,0,0,131,239,0,0,122,239,0,0,113,239,0,0,104,239,0,0,95,239,0,0,86,239,0,0,77,239,0,0,69,239,0,0,60,239,0,0,51,239,0,0,42,239,0,0,33,239,0,0,24,239,0,0,15,239,0,0,6,239,0,0,253,238,0,0,244,238,0,0,235,238,0,0,226,238,0,0,217,238,0,0,208,238,0,0,199,238,0,0,189,238,0,0,180,238,0,0,171,238,0,0,162,238,0,0,153,238,0,0,144,238,0,0,135,238,0,0,126,238,0,0,117,238,0,0,107,238,0,0,98,238,0,0,89,238,0,0,80,238,0,0,71,238,0,0,62,238,0,0,52,238,0,0,43,238,0,0,34,238,0,0,25,238,0,0,15,238,0,0,6,238,0,0,253,237,0,0,244,237,0,0,234,237,0,0,225,237,0,0,216,237,0,0,207,237,0,0,197,237,0,0,188,237,0,0,179,237,0,0,169,237,0,0,160,237,0,0,151,237,0,0,141,237,0,0,132,237,0,0,122,237,0,0,113,237,0,0,104,237,0,0,94,237,0,0,85,237,0,0,75,237,0,0,66,237,0,0,56,237,0,0,47,237,0,0,38,237,0,0,28,237,0,0,19,237,0,0,9,237,0,0,0,237,0,0,246,236,0,0,237,236,0,0,227,236,0,0,218,236,0,0,208,236,0,0,198,236,0,0,189,236,0,0,179,236,0,0,170,236,0,0,160,236,0,0,151,236,0,0,141,236,0,0,131,236,0,0,122,236,0,0,112,236,0,0,102,236,0,0,93,236,0,0,83,236,0,0,74,236,0,0,64,236,0,0,54,236,0,0,44,236,0,0,35,236,0,0,25,236,0,0,15,236,0,0,6,236,0,0,252,235,0,0,242,235,0,0,232,235,0,0,223,235,0,0,213,235,0,0,203,235,0,0,193,235,0,0,183,235,0,0,174,235,0,0,164,235,0,0,154,235,0,0,144,235,0,0,134,235,0,0,124,235,0,0,115,235,0,0,105,235,0,0,95,235,0,0,85,235,0,0,75,235,0,0,65,235,0,0,55,235,0,0,45,235,0,0,35,235,0,0,25,235,0,0,15,235,0,0,6,235,0,0,252,234,0,0,242,234,0,0,232,234,0,0,222,234,0,0,212,234,0,0,202,234,0,0,192,234,0,0,182,234,0,0,171,234,0,0,161,234,0,0,151,234,0,0,141,234,0,0,131,234,0,0,121,234,0,0,111,234,0,0,101,234,0,0,91,234,0,0,81,234,0,0,71,234,0,0,60,234,0,0,50,234,0,0,40,234,0,0,30,234,0,0,20,234,0,0,10,234,0,0,255,233,0,0,245,233,0,0,235,233,0,0,225,233,0,0,215,233,0,0,204,233,0,0,194,233,0,0,184,233,0,0,174,233,0,0,163,233,0,0,153,233,0,0,143,233,0,0,133,233,0,0,122,233,0,0,112,233,0,0,102,233,0,0,91,233,0,0,81,233,0,0,71,233,0,0,60,233,0,0,50,233,0,0,39,233,0,0,29,233,0,0,19,233,0,0,8,233,0,0,254,232,0,0,243,232,0,0,233,232,0,0,223,232,0,0,212,232,0,0,202,232,0,0,191,232,0,0,181,232,0,0,170,232,0,0,160,232,0,0,149,232,0,0,139,232,0,0,128,232,0,0,118,232,0,0,107,232,0,0,97,232,0,0,86,232,0,0,76,232,0,0,65,232,0,0,54,232,0,0,44,232,0,0,33,232,0,0,23,232,0,0,12,232,0,0,1,232,0,0,247,231,0,0,236,231,0,0,226,231,0,0,215,231,0,0,204,231,0,0,194,231,0,0,183,231,0,0,172,231,0,0,161,231,0,0,151,231,0,0,140,231,0,0,129,231,0,0,119,231,0,0,108,231,0,0,97,231,0,0,86,231,0,0,76,231,0,0,65,231,0,0,54,231,0,0,43,231,0,0,32,231,0,0,22,231,0,0,11,231,0,0,0,231,0,0,245,230,0,0,234,230,0,0,223,230,0,0,213,230,0,0,202,230,0,0,191,230,0,0,180,230,0,0,169,230,0,0,158,230,0,0,147,230,0,0,136,230,0,0,125,230,0,0,114,230,0,0,103,230,0,0,92,230,0,0,82,230,0,0,71,230,0,0,60,230,0,0,49,230,0,0,38,230,0,0,27,230,0,0,16,230,0,0,5,230,0,0,249,229,0,0,238,229,0,0,227,229,0,0,216,229,0,0,205,229,0,0,194,229,0,0,183,229,0,0,172,229,0,0,161,229,0,0,150,229,0,0,139,229,0,0,127,229,0,0,116,229,0,0,105,229,0,0,94,229,0,0,83,229,0,0,72,229,0,0,61,229,0,0,49,229,0,0,38,229,0,0,27,229,0,0,16,229,0,0,4,229,0,0,249,228,0,0,238,228,0,0,227,228,0,0,215,228,0,0,204,228,0,0,193,228,0,0,182,228,0,0,170,228,0,0,159,228,0,0,148,228,0,0,136,228,0,0,125,228,0,0,114,228,0,0,102,228,0,0,91,228,0,0,80,228,0,0,68,228,0,0,57,228,0,0,46,228,0,0,34,228,0,0,23,228,0,0,11,228,0,0,0,228,0,0,244,227,0,0,233,227,0,0,222,227,0,0,210,227,0,0,199,227,0,0,187,227,0,0,176,227,0,0,164,227,0,0,153,227,0,0,141,227,0,0,130,227,0,0,118,227,0,0,107,227,0,0,95,227,0,0,83,227,0,0,72,227,0,0,60,227,0,0,49,227,0,0,37,227,0,0,26,227,0,0,14,227,0,0,2,227,0,0,247,226,0,0,235,226,0,0,223,226,0,0,212,226,0,0,200,226,0,0,189,226,0,0,177,226,0,0,165,226,0,0,153,226,0,0,142,226,0,0,130,226,0,0,118,226,0,0,107,226,0,0,95,226,0,0,83,226,0,0,71,226,0,0,60,226,0,0,48,226,0,0,36,226,0,0,24,226,0,0,13,226,0,0,1,226,0,0,245,225,0,0,233,225,0,0,221,225,0,0,209,225,0,0,198,225,0,0,186,225,0,0,174,225,0,0,162,225,0,0,150,225,0,0,138,225,0,0,126,225,0,0,114,225,0,0,103,225,0,0,91,225,0,0,79,225,0,0,67,225,0,0,55,225,0,0,43,225,0,0,31,225,0,0,19,225,0,0,7,225,0,0,251,224,0,0,239,224,0,0,227,224,0,0,215,224,0,0,203,224,0,0,191,224,0,0,179,224,0,0,167,224,0,0,155,224,0,0,143,224,0,0,131,224,0,0,119,224,0,0,106,224,0,0,94,224,0,0,82,224,0,0,70,224,0,0,58,224,0,0,46,224,0,0,34,224,0,0,22,224,0,0,9,224,0,0,253,223,0,0,241,223,0,0,229,223,0,0,217,223,0,0,205,223,0,0,192,223,0,0,180,223,0,0,168,223,0,0,156,223,0,0,143,223,0,0,131,223,0,0,119,223,0,0,107,223,0,0,94,223,0,0,82,223,0,0,70,223,0,0,57,223,0,0,45,223,0,0,33,223,0,0,21,223,0,0,8,223,0,0,252,222,0,0,240,222,0,0,227,222,0,0,215,222,0,0,202,222,0,0,190,222,0,0,178,222,0,0,165,222,0,0,153,222,0,0,140,222,0,0,128,222,0,0,116,222,0,0,103,222,0,0,91,222,0,0,78,222,0,0,66,222,0,0,53,222,0,0,41,222,0,0,28,222,0,0,16,222,0,0,3,222,0,0,247,221,0,0,234,221,0,0,222,221,0,0,209,221,0,0,197,221,0,0,184,221,0,0,171,221,0,0,159,221,0,0,146,221,0,0,134,221,0,0,121,221,0,0,108,221,0,0,96,221,0,0,83,221,0,0,71,221,0,0,58,221,0,0,45,221,0,0,33,221,0,0,20,221,0,0,7,221,0,0,251,220,0,0,238,220,0,0,225,220,0,0,213,220,0,0,200,220,0,0,187,220,0,0,174,220,0,0,162,220,0,0,149,220,0,0,136,220,0,0,123,220,0,0,111,220,0,0,98,220,0,0,85,220,0,0,72,220,0,0,59,220,0,0,47,220,0,0,34,220,0,0,21,220,0,0,8,220,0,0,251,219,0,0,238,219,0,0,225,219,0,0,213,219,0,0,200,219,0,0,187,219,0,0,174,219,0,0,161,219,0,0,148,219,0,0,135,219,0,0,122,219,0,0,109,219,0,0,96,219,0,0,83,219,0,0,70,219,0,0,57,219,0,0,44,219,0,0,31,219,0,0,18,219,0,0,5,219,0,0,248,218,0,0,235,218,0,0,222,218,0,0,209,218,0,0,196,218,0,0,183,218,0,0,170,218,0,0,157,218,0,0,144,218,0,0,131,218,0,0,118,218,0,0,105,218,0,0,92,218,0,0,79,218,0,0,65,218,0,0,52,218,0,0,39,218,0,0,26,218,0,0,13,218,0,0,0,218,0,0,242,217,0,0,229,217,0,0,216,217,0,0,203,217,0,0,190,217,0,0,176,217,0,0,163,217,0,0,150,217,0,0,137,217,0,0,123,217,0,0,110,217,0,0,97,217,0,0,84,217,0,0,70,217,0,0,57,217,0,0,44,217,0,0,30,217,0,0,17,217,0,0,4,217,0,0,246,216,0,0,233,216,0,0,220,216,0,0,206,216,0,0,193,216,0,0,180,216,0,0,166,216,0,0,153,216,0,0,139,216,0,0,126,216,0,0,113,216,0,0,99,216,0,0,86,216,0,0,72,216,0,0,59,216,0,0,45,216,0,0,32,216,0,0,18,216,0,0,5,216,0,0,248,215,0,0,234,215,0,0,220,215,0,0,207,215,0,0,193,215,0,0,180,215,0,0,166,215,0,0,153,215,0,0,139,215,0,0,126,215,0,0,112,215,0,0,99,215,0,0,85,215,0,0,71,215,0,0,58,215,0,0,44,215,0,0,31,215,0,0,17,215,0,0,3,215,0,0,246,214,0,0,232,214,0,0,218,214,0,0,205,214,0,0,191,214,0,0,177,214,0,0,164,214,0,0,150,214,0,0,136,214,0,0,122,214,0,0,109,214,0,0,95,214,0,0,81,214,0,0,68,214,0,0,54,214,0,0,40,214,0,0,26,214,0,0,12,214,0,0,255,213,0,0,241,213,0,0,227,213,0,0,213,213,0,0,199,213,0,0,186,213,0,0,172,213,0,0,158,213,0,0,144,213,0,0,130,213,0,0,116,213,0,0,102,213,0,0,89,213,0,0,75,213,0,0,61,213,0,0,47,213,0,0,33,213,0,0,19,213,0,0,5,213,0,0,247,212,0,0,233,212,0,0,219,212,0,0,205,212,0,0,191,212,0,0,177,212,0,0,163,212,0,0,149,212,0,0,135,212,0,0,121,212,0,0,107,212,0,0,93,212,0,0,79,212,0,0,65,212,0,0,51,212,0,0,37,212,0,0,23,212,0,0,9,212,0,0,251,211,0,0,237,211,0,0,223,211,0,0,208,211,0,0,194,211,0,0,180,211,0,0,166,211,0,0,152,211,0,0,138,211,0,0,124,211,0,0,109,211,0,0,95,211,0,0,81,211,0,0,67,211,0,0,53,211,0,0,38,211,0,0,24,211,0,0,10,211,0,0,252,210,0,0,238,210,0,0,223,210,0,0,209,210,0,0,195,210,0,0,181,210,0,0,166,210,0,0,152,210,0,0,138,210,0,0,123,210,0,0,109,210,0,0,95,210,0,0,80,210,0,0,66,210,0,0,52,210,0,0,37,210,0,0,23,210,0,0,9,210,0,0,250,209,0,0,236,209,0,0,222,209,0,0,207,209,0,0,193,209,0,0,178,209,0,0,164,209,0,0,149,209,0,0,135,209,0,0,121,209,0,0,106,209,0,0,92,209,0,0,77,209,0,0,63,209,0,0,48,209,0,0,34,209,0,0,19,209,0,0,5,209,0,0,246,208,0,0,232,208,0,0,217,208,0,0,203,208,0,0,188,208,0,0,174,208,0,0,159,208,0,0,144,208,0,0,130,208,0,0,115,208,0,0,101,208,0,0,86,208,0,0,71,208,0,0,57,208,0,0,42,208,0,0,28,208,0,0,13,208,0,0,254,207,0,0,240,207,0,0,225,207,0,0,210,207,0,0,196,207,0,0,181,207,0,0,166,207,0,0,152,207,0,0,137,207,0,0,122,207,0,0,107,207,0,0,93,207,0,0,78,207,0,0,63,207,0,0,48,207,0,0,34,207,0,0,19,207,0,0,4,207,0,0,245,206,0,0,231,206,0,0,216,206,0,0,201,206,0,0,186,206,0,0,171,206,0,0,156,206,0,0,142,206,0,0,127,206,0,0,112,206,0,0,97,206,0,0,82,206,0,0,67,206,0,0,52,206,0,0,37,206,0,0,23,206,0,0,8,206,0,0,249,205,0,0,234,205,0,0,219,205,0,0,204,205,0,0,189,205,0,0,174,205,0,0,159,205,0,0,144,205,0,0,129,205,0,0,114,205,0,0,99,205,0,0,84,205,0,0,69,205,0,0,54,205,0,0,39,205,0,0,24,205,0,0,9,205,0,0,250,204,0,0,235,204,0,0,220,204,0,0,205,204,0,0,190,204,0,0,174,204,0,0,159,204,0,0,144,204,0,0,129,204,0,0,114,204,0,0,99,204,0,0,84,204,0,0,69,204,0,0,53,204,0,0,38,204,0,0,23,204,0,0,8,204,0,0,249,203,0,0,234,203,0,0,218,203,0,0,203,203,0,0,188,203,0,0,173,203,0,0,158,203,0,0,142,203,0,0,127,203,0,0,112,203,0,0,97,203,0,0,81,203,0,0,66,203,0,0,51,203,0,0,35,203,0,0,20,203,0,0,5,203,0,0,245,202,0,0,230,202,0,0,215,202,0,0,199,202,0,0,184,202,0,0,169,202,0,0,153,202,0,0,138,202,0,0,123,202,0,0,107,202,0,0,92,202,0,0,77,202,0,0,61,202,0,0,46,202,0,0,30,202,0,0,15,202,0,0,255,201,0,0,240,201,0,0,225,201,0,0,209,201,0,0,194,201,0,0,178,201,0,0,163,201,0,0,147,201,0,0,132,201,0,0,116,201,0,0,101,201,0,0,85,201,0,0,70,201,0,0,54,201,0,0,39,201,0,0,23,201,0,0,7,201,0,0,248,200,0,0,232,200,0,0,217,200,0,0,201,200,0,0,186,200,0,0,170,200,0,0,154,200,0,0,139,200,0,0,123,200,0,0,107,200,0,0,92,200,0,0,76,200,0,0,60,200,0,0,45,200,0,0,29,200,0,0,13,200,0,0,254,199,0,0,238,199,0,0,222,199,0,0,207,199,0,0,191,199,0,0,175,199,0,0,160,199,0,0,144,199,0,0,128,199,0,0,112,199,0,0,97,199,0,0,81,199,0,0,65,199,0,0,49,199,0,0,33,199,0,0,18,199,0,0,2,199,0,0,242,198,0,0,226,198,0,0,210,198,0,0,194,198,0,0,179,198,0,0,163,198,0,0,147,198,0,0,131,198,0,0,115,198,0,0,99,198,0,0,83,198,0,0,68,198,0,0,52,198,0,0,36,198,0,0,20,198,0,0,4,198,0,0,244,197,0,0,228,197,0,0,212,197,0,0,196,197,0,0,180,197,0,0,164,197,0,0,148,197,0,0,132,197,0,0,116,197,0,0,100,197,0,0,84,197,0,0,68,197,0,0,52,197,0,0,36,197,0,0,20,197,0,0,4,197,0,0,244,196,0,0,228,196,0,0,212,196,0,0,196,196,0,0,180,196,0,0,164,196,0,0,148,196,0,0,131,196,0,0,115,196,0,0,99,196,0,0,83,196,0,0,67,196,0,0,51,196,0,0,35,196,0,0,19,196,0,0,2,196,0,0,242,195,0,0,226,195,0,0,210,195,0,0,194,195,0,0,177,195,0,0,161,195,0,0,145,195,0,0,129,195,0,0,113,195,0,0,96,195,0,0,80,195,0,0,64,195,0,0,48,195,0,0,31,195,0,0,15,195,0,0,255,194,0,0,238,194,0,0,222,194,0,0,206,194,0,0,190,194,0,0,173,194,0,0,157,194,0,0,141,194,0,0,124,194,0,0,108,194,0,0,92,194,0,0,75,194,0,0,59,194,0,0,42,194,0,0,26,194,0,0,10,194,0,0,249,193,0,0,233,193,0,0,216,193,0,0,200,193,0,0,184,193,0,0,167,193,0,0,151,193,0,0,134,193,0,0,118,193,0,0,101,193,0,0,85,193,0,0,68,193,0,0,52,193,0,0,35,193,0,0,19,193,0,0,2,193,0,0,242,192,0,0,225,192,0,0,209,192,0,0,192,192,0,0,176,192,0,0,159,192,0,0,143,192,0,0,126,192,0,0,110,192,0,0,93,192,0,0,76,192,0,0,60,192,0,0,43,192,0,0,27,192,0,0,10,192,0,0,249,191,0,0,233,191,0,0,216,191,0,0,199,191,0,0,183,191,0,0,166,191,0,0,149,191,0,0,133,191,0,0,116,191,0,0,99,191,0,0,83,191,0,0,66,191,0,0,49,191,0,0,33,191,0,0,16,191,0,0,255,190,0,0,238,190,0,0,222,190,0,0,205,190,0,0,188,190,0,0,171,190,0,0,155,190,0,0,138,190,0,0,121,190,0,0,104,190,0,0,87,190,0,0,71,190,0,0,54,190,0,0,37,190,0,0,20,190,0,0,3,190,0,0,242,189,0,0,226,189,0,0,209,189,0,0,192,189,0,0,175,189,0,0,158,189,0,0,141,189,0,0,124,189,0,0,107,189,0,0,90,189,0,0,74,189,0,0,57,189,0,0,40,189,0,0,23,189,0,0,6,189,0,0,245,188,0,0,228,188,0,0,211,188,0,0,194,188,0,0,177,188,0,0,160,188,0,0,143,188,0,0,126,188,0,0,109,188,0,0,92,188,0,0,75,188,0,0,58,188,0,0,41,188,0,0,24,188,0,0,7,188,0,0,246,187,0,0,229,187,0,0,212,187,0,0,195,187,0,0,177,187,0,0,160,187,0,0,143,187,0,0,126,187,0,0,109,187,0,0,92,187,0,0,75,187,0,0,58,187,0,0,40,187,0,0,23,187,0,0,6,187,0,0,245,186,0,0,228,186,0,0,211,186,0,0,193,186,0,0,176,186,0,0,159,186,0,0,142,186,0,0,125,186,0,0,107,186,0,0,90,186,0,0,73,186,0,0,56,186,0,0,38,186,0,0,21,186,0,0,4,186,0,0,243,185,0,0,225,185,0,0,208,185,0,0,191,185,0,0,174,185,0,0,156,185,0,0,139,185,0,0,122,185,0,0,104,185,0,0,87,185,0,0,70,185,0,0,52,185,0,0,35,185,0,0,18,185,0,0,0,185,0,0,239,184,0,0,221,184,0,0,204,184,0,0,187,184,0,0,169,184,0,0,152,184,0,0,134,184,0,0,117,184,0,0,100,184,0,0,82,184,0,0,65,184,0,0,47,184,0,0,30,184,0,0,12,184,0,0,251,183,0,0,233,183,0,0,216,183,0,0,198,183,0,0,181,183,0,0,163,183,0,0,146,183,0,0,128,183,0,0,111,183,0,0,93,183,0,0,76,183,0,0,58,183,0,0,41,183,0,0,23,183,0,0,5,183,0,0,244,182,0,0,226,182,0,0,209,182,0,0,191,182,0,0,173,182,0,0,156,182,0,0,138,182,0,0,121,182,0,0,103,182,0,0,85,182,0,0,68,182,0,0,50,182,0,0,32,182,0,0,15,182,0,0,253,181,0,0,235,181,0,0,218,181,0,0,200,181,0,0,182,181,0,0,165,181,0,0,147,181,0,0,129,181,0,0,111,181,0,0,94,181,0,0,76,181,0,0,58,181,0,0,40,181,0,0,23,181,0,0,5,181,0,0,243,180,0,0,225,180,0,0,208,180,0,0,190,180,0,0,172,180,0,0,154,180,0,0,136,180,0,0,119,180,0,0,101,180,0,0,83,180,0,0,65,180,0,0,47,180,0,0,29,180,0,0,11,180,0,0,250,179,0,0,232,179,0,0,214,179,0,0,196,179,0,0,178,179,0,0,160,179,0,0,142,179,0,0,124,179,0,0,106,179,0,0,88,179,0,0,71,179,0,0,53,179,0,0,35,179,0,0,17,179,0,0,255,178,0,0,237,178,0,0,219,178,0,0,201,178,0,0,183,178,0,0,165,178,0,0,147,178,0,0,129,178,0,0,111,178,0,0,93,178,0,0,75,178,0,0,57,178,0,0,39,178,0,0,21,178,0,0,3,178,0,0,240,177,0,0,222,177,0,0,204,177,0,0,186,177,0,0,168,177,0,0,150,177,0,0,132,177,0,0,114,177,0,0,96,177,0,0,78,177,0,0,59,177,0,0,41,177,0,0,23,177,0,0,5,177,0,0,243,176,0,0,225,176,0,0,206,176,0,0,188,176,0,0,170,176,0,0,152,176,0,0,134,176,0,0,116,176,0,0,97,176,0,0,79,176,0,0,61,176,0,0,43,176,0,0,24,176,0,0,6,176,0,0,244,175,0,0,226,175,0,0,207,175,0,0,189,175,0,0,171,175,0,0,153,175,0,0,134,175,0,0,116,175,0,0,98,175,0,0,79,175,0,0,61,175,0,0,43,175,0,0,24,175,0,0,6,175,0,0,244,174,0,0,225,174,0,0,207,174,0,0,189,174,0,0,170,174,0,0,152,174,0,0,133,174,0,0,115,174,0,0,97,174,0,0,78,174,0,0,60,174,0,0,41,174,0,0,23,174,0,0,5,174,0,0,242,173,0,0,224,173,0,0,205,173,0,0,187,173,0,0,168,173,0,0,150,173,0,0,131,173,0,0,113,173,0,0,94,173,0,0,76,173,0,0,57,173,0,0,39,173,0,0,20,173,0,0,2,173,0,0,239,172,0,0,221,172,0,0,202,172,0,0,184,172,0,0,165,172,0,0,147,172,0,0,128,172,0,0,109,172,0,0,91,172,0,0,72,172,0,0,54,172,0,0,35,172,0,0,17,172,0,0,254,171,0,0,235,171,0,0,217,171,0,0,198,171,0,0,179,171,0,0,161,171,0,0,142,171,0,0,123,171,0,0,105,171,0,0,86,171,0,0,67,171,0,0,49,171,0,0,30,171,0,0,11,171,0,0,249,170,0,0,230,170,0,0,211,170,0,0,193,170,0,0,174,170,0,0,155,170,0,0,136,170,0,0,118,170,0,0,99,170,0,0,80,170,0,0,61,170,0,0,42,170,0,0,24,170,0,0,5,170,0,0,242,169,0,0,223,169,0,0,205,169,0,0,186,169,0,0,167,169,0,0,148,169,0,0,129,169,0,0,110,169,0,0,92,169,0,0,73,169,0,0,54,169,0,0,35,169,0,0,16,169,0,0,253,168,0,0,234,168,0,0,215,168,0,0,197,168,0,0,178,168,0,0,159,168,0,0,140,168,0,0,121,168,0,0,102,168,0,0,83,168,0,0,64,168,0,0,45,168,0,0,26,168,0,0,7,168,0,0,244,167,0,0,225,167,0,0,206,167,0,0,187,167,0,0,168,167,0,0,149,167,0,0,130,167,0,0,111,167,0,0,92,167,0,0,73,167,0,0,54,167,0,0,35,167,0,0,16,167,0,0,253,166,0,0,234,166,0,0,215,166,0,0,196,166,0,0,177,166,0,0,158,166,0,0,139,166,0,0,120,166,0,0,101,166,0,0,82,166,0,0,62,166,0,0,43,166,0,0,24,166,0,0,5,166,0,0,242,165,0,0,223,165,0,0,204,165,0,0,184,165,0,0,165,165,0,0,146,165,0,0,127,165,0,0,108,165,0,0,89,165,0,0,69,165,0,0,50,165,0,0,31,165,0,0,12,165,0,0,249,164,0,0,229,164,0,0,210,164,0,0,191,164,0,0,172,164,0,0,152,164,0,0,133,164,0,0,114,164,0,0,95,164,0,0,75,164,0,0,56,164,0,0,37,164,0,0,18,164,0,0,254,163,0,0,235,163,0,0,216,163,0,0,196,163,0,0,177,163,0,0,158,163,0,0,138,163,0,0,119,163,0,0,100,163,0,0,80,163,0,0,61,163,0,0,42,163,0,0,22,163,0,0,3,163,0,0,239,162,0,0,220,162,0,0,201,162,0,0,181,162,0,0,162,162,0,0,142,162,0,0,123,162,0,0,104,162,0,0,84,162,0,0,65,162,0,0,45,162,0,0,26,162,0,0,6,162,0,0,243,161,0,0,223,161,0,0,204,161,0,0,185,161,0,0,165,161,0,0,146,161,0,0,126,161,0,0,107,161,0,0,87,161,0,0,67,161,0,0,48,161,0,0,28,161,0,0,9,161,0,0,245,160,0,0,226,160,0,0,206,160,0,0,187,160,0,0,167,160,0,0,148,160,0,0,128,160,0,0,108,160,0,0,89,160,0,0,69,160,0,0,50,160,0,0,30,160,0,0,10,160,0,0,247,159,0,0,227,159,0,0,208,159,0,0,188,159,0,0,168,159,0,0,149,159,0,0,129,159,0,0,109,159,0,0,90,159,0,0,70,159,0,0,50,159,0,0,31,159,0,0,11,159,0,0,247,158,0,0,227,158,0,0,208,158,0,0,188,158,0,0,168,158,0,0,149,158,0,0,129,158,0,0,109,158,0,0,89,158,0,0,70,158,0,0,50,158,0,0,30,158,0,0,10,158,0,0,247,157,0,0,227,157,0,0,207,157,0,0,187,157,0,0,167,157,0,0,148,157,0,0,128,157,0,0,108,157,0,0,88,157,0,0,68,157,0,0,49,157,0,0,29,157,0,0,9,157,0,0,245,156,0,0,225,156,0,0,205,156,0,0,185,156,0,0,166,156,0,0,146,156,0,0,126,156,0,0,106,156,0,0,86,156,0,0,66,156,0,0,46,156],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([26,156,0,0,6,156,0,0,242,155,0,0,222,155,0,0,202,155,0,0,183,155,0,0,163,155,0,0,143,155,0,0,123,155,0,0,103,155,0,0,83,155,0,0,63,155,0,0,43,155,0,0,23,155,0,0,3,155,0,0,239,154,0,0,219,154,0,0,199,154,0,0,179,154,0,0,159,154,0,0,139,154,0,0,119,154,0,0,99,154,0,0,79,154,0,0,58,154,0,0,38,154,0,0,18,154,0,0,254,153,0,0,234,153,0,0,214,153,0,0,194,153,0,0,174,153,0,0,154,153,0,0,134,153,0,0,114,153,0,0,93,153,0,0,73,153,0,0,53,153,0,0,33,153,0,0,13,153,0,0,249,152,0,0,229,152,0,0,208,152,0,0,188,152,0,0,168,152,0,0,148,152,0,0,128,152,0,0,108,152,0,0,87,152,0,0,67,152,0,0,47,152,0,0,27,152,0,0,7,152,0,0,242,151,0,0,222,151,0,0,202,151,0,0,182,151,0,0,161,151,0,0,141,151,0,0,121,151,0,0,101,151,0,0,80,151,0,0,60,151,0,0,40,151,0,0,19,151,0,0,255,150,0,0,235,150,0,0,215,150,0,0,194,150,0,0,174,150,0,0,154,150,0,0,133,150,0,0,113,150,0,0,93,150,0,0,72,150,0,0,52,150,0,0,32,150,0,0,11,150,0,0,247,149,0,0,226,149,0,0,206,149,0,0,186,149,0,0,165,149,0,0,145,149,0,0,125,149,0,0,104,149,0,0,84,149,0,0,63,149,0,0,43,149,0,0,22,149,0,0,2,149,0,0,238,148,0,0,217,148,0,0,197,148,0,0,176,148,0,0,156,148,0,0,135,148,0,0,115,148,0,0,94,148,0,0,74,148,0,0,53,148,0,0,33,148,0,0,12,148,0,0,248,147,0,0,227,147,0,0,207,147,0,0,186,147,0,0,166,147,0,0,145,147,0,0,125,147,0,0,104,147,0,0,84,147,0,0,63,147,0,0,42,147,0,0,22,147,0,0,1,147,0,0,237,146,0,0,216,146,0,0,196,146,0,0,175,146,0,0,154,146,0,0,134,146,0,0,113,146,0,0,93,146,0,0,72,146,0,0,51,146,0,0,31,146,0,0,10,146,0,0,245,145,0,0,225,145,0,0,204,145,0,0,183,145,0,0,163,145,0,0,142,145,0,0,121,145,0,0,101,145,0,0,80,145,0,0,59,145,0,0,39,145,0,0,18,145,0,0,253,144,0,0,233,144,0,0,212,144,0,0,191,144,0,0,170,144,0,0,150,144,0,0,129,144,0,0,108,144,0,0,87,144,0,0,67,144,0,0,46,144,0,0,25,144,0,0,4,144,0,0,240,143,0,0,219,143,0,0,198,143,0,0,177,143,0,0,156,143,0,0,136,143,0,0,115,143,0,0,94,143,0,0,73,143,0,0,52,143,0,0,31,143,0,0,11,143,0,0,246,142,0,0,225,142,0,0,204,142,0,0,183,142,0,0,162,142,0,0,141,142,0,0,121,142,0,0,100,142,0,0,79,142,0,0,58,142,0,0,37,142,0,0,16,142,0,0,251,141,0,0,230,141,0,0,209,141,0,0,188,141,0,0,167,141,0,0,147,141,0,0,126,141,0,0,105,141,0,0,84,141,0,0,63,141,0,0,42,141,0,0,21,141,0,0,0,141,0,0,235,140,0,0,214,140,0,0,193,140,0,0,172,140,0,0,151,140,0,0,130,140,0,0,109,140,0,0,88,140,0,0,67,140,0,0,46,140,0,0,25,140,0,0,4,140,0,0,239,139,0,0,218,139,0,0,197,139,0,0,175,139,0,0,154,139,0,0,133,139,0,0,112,139,0,0,91,139,0,0,70,139,0,0,49,139,0,0,28,139,0,0,7,139,0,0,242,138,0,0,221,138,0,0,199,138,0,0,178,138,0,0,157,138,0,0,136,138,0,0,115,138,0,0,94,138,0,0,73,138,0,0,52,138,0,0,30,138,0,0,9,138,0,0,244,137,0,0,223,137,0,0,202,137,0,0,180,137,0,0,159,137,0,0,138,137,0,0,117,137,0,0,96,137,0,0,74,137,0,0,53,137,0,0,32,137,0,0,11,137,0,0,246,136,0,0,224,136,0,0,203,136,0,0,182,136,0,0,161,136,0,0,139,136,0,0,118,136,0,0,97,136,0,0,76,136,0,0,54,136,0,0,33,136,0,0,12,136,0,0,246,135,0,0,225,135,0,0,204,135,0,0,183,135,0,0,161,135,0,0,140,135,0,0,119,135,0,0,97,135,0,0,76,135,0,0,55,135,0,0,33,135,0,0,12,135,0,0,247,134,0,0,225,134,0,0,204,134,0,0,182,134,0,0,161,134,0,0,140,134,0,0,118,134,0,0,97,134,0,0,76,134,0,0,54,134,0,0,33,134,0,0,11,134,0,0,246,133,0,0,224,133,0,0,203,133,0,0,182,133,0,0,160,133,0,0,139,133,0,0,117,133,0,0,96,133,0,0,74,133,0,0,53,133,0,0,31,133,0,0,10,133,0,0,245,132,0,0,223,132,0,0,202,132,0,0,180,132,0,0,159,132,0,0,137,132,0,0,116,132,0,0,94,132,0,0,73,132,0,0,51,132,0,0,29,132,0,0,8,132,0,0,242,131,0,0,221,131,0,0,199,131,0,0,178,131,0,0,156,131,0,0,135,131,0,0,113,131,0,0,92,131,0,0,70,131,0,0,48,131,0,0,27,131,0,0,5,131,0,0,240,130,0,0,218,130,0,0,196,130,0,0,175,130,0,0,153,130,0,0,132,130,0,0,110,130,0,0,88,130,0,0,67,130,0,0,45,130,0,0,23,130,0,0,2,130,0,0,236,129,0,0,214,129,0,0,193,129,0,0,171,129,0,0,149,129,0,0,128,129,0,0,106,129,0,0,84,129,0,0,63,129,0,0,41,129,0,0,19,129,0,0,254,128,0,0,232,128,0,0,210,128,0,0,188,128,0,0,167,128,0,0,145,128,0,0,123,128,0,0,102,128,0,0,80,128,0,0,58,128,0,0,36,128,0,0,15,128,0,0,249,127,0,0,227,127,0,0,205,127,0,0,183,127,0,0,162,127,0,0,140,127,0,0,118,127,0,0,96,127,0,0,74,127,0,0,53,127,0,0,31,127,0,0,9,127,0,0,243,126,0,0,221,126,0,0,200,126,0,0,178,126,0,0,156,126,0,0,134,126,0,0,112,126,0,0,90,126,0,0,68,126,0,0,47,126,0,0,25,126,0,0,3,126,0,0,237,125,0,0,215,125,0,0,193,125,0,0,171,125,0,0,149,125,0,0,127,125,0,0,106,125,0,0,84,125,0,0,62,125,0,0,40,125,0,0,18,125,0,0,252,124,0,0,230,124,0,0,208,124,0,0,186,124,0,0,164,124,0,0,142,124,0,0,120,124,0,0,98,124,0,0,76,124,0,0,54,124,0,0,32,124,0,0,10,124,0,0,244,123,0,0,222,123,0,0,200,123,0,0,178,123,0,0,156,123,0,0,134,123,0,0,112,123,0,0,90,123,0,0,68,123,0,0,46,123,0,0,24,123,0,0,2,123,0,0,236,122,0,0,214,122,0,0,192,122,0,0,170,122,0,0,148,122,0,0,126,122,0,0,104,122,0,0,82,122,0,0,60,122,0,0,38,122,0,0,16,122,0,0,249,121,0,0,227,121,0,0,205,121,0,0,183,121,0,0,161,121,0,0,139,121,0,0,117,121,0,0,95,121,0,0,73,121,0,0,50,121,0,0,28,121,0,0,6,121,0,0,240,120,0,0,218,120,0,0,196,120,0,0,173,120,0,0,151,120,0,0,129,120,0,0,107,120,0,0,85,120,0,0,63,120,0,0,40,120,0,0,18,120,0,0,252,119,0,0,230,119,0,0,208,119,0,0,185,119,0,0,163,119,0,0,141,119,0,0,119,119,0,0,96,119,0,0,74,119,0,0,52,119,0,0,30,119,0,0,8,119,0,0,241,118,0,0,219,118,0,0,197,118,0,0,174,118,0,0,152,118,0,0,130,118,0,0,108,118,0,0,85,118,0,0,63,118,0,0,41,118,0,0,18,118,0,0,252,117,0,0,230,117,0,0,208,117,0,0,185,117,0,0,163,117,0,0,141,117,0,0,118,117,0,0,96,117,0,0,74,117,0,0,51,117,0,0,29,117,0,0,7,117,0,0,240,116,0,0,218,116,0,0,195,116,0,0,173,116,0,0,151,116,0,0,128,116,0,0,106,116,0,0,84,116,0,0,61,116,0,0,39,116,0,0,16,116,0,0,250,115,0,0,228,115,0,0,205,115,0,0,183,115,0,0,160,115,0,0,138,115,0,0,115,115,0,0,93,115,0,0,71,115,0,0,48,115,0,0,26,115,0,0,3,115,0,0,237,114,0,0,214,114,0,0,192,114,0,0,169,114,0,0,147,114,0,0,124,114,0,0,102,114,0,0,80,114,0,0,57,114,0,0,35,114,0,0,12,114,0,0,246,113,0,0,223,113,0,0,201,113,0,0,178,113,0,0,155,113,0,0,133,113,0,0,110,113,0,0,88,113,0,0,65,113,0,0,43,113,0,0,20,113,0,0,254,112,0,0,231,112,0,0,209,112,0,0,186,112,0,0,163,112,0,0,141,112,0,0,118,112,0,0,96,112,0,0,73,112,0,0,51,112,0,0,28,112,0,0,5,112,0,0,239,111,0,0,216,111,0,0,194,111,0,0,171,111,0,0,148,111,0,0,126,111,0,0,103,111,0,0,80,111,0,0,58,111,0,0,35,111,0,0,13,111,0,0,246,110,0,0,223,110,0,0,201,110,0,0,178,110,0,0,155,110,0,0,133,110,0,0,110,110,0,0,87,110,0,0,65,110,0,0,42,110,0,0,19,110,0,0,252,109,0,0,230,109,0,0,207,109,0,0,184,109,0,0,162,109,0,0,139,109,0,0,116,109,0,0,94,109,0,0,71,109,0,0,48,109,0,0,25,109,0,0,3,109,0,0,236,108,0,0,213,108,0,0,190,108,0,0,168,108,0,0,145,108,0,0,122,108,0,0,99,108,0,0,77,108,0,0,54,108,0,0,31,108,0,0,8,108,0,0,241,107,0,0,219,107,0,0,196,107,0,0,173,107,0,0,150,107,0,0,127,107,0,0,105,107,0,0,82,107,0,0,59,107,0,0,36,107,0,0,13,107,0,0,246,106,0,0,224,106,0,0,201,106,0,0,178,106,0,0,155,106,0,0,132,106,0,0,109,106,0,0,87,106,0,0,64,106,0,0,41,106,0,0,18,106,0,0,251,105,0,0,228,105,0,0,205,105,0,0,182,105,0,0,160,105,0,0,137,105,0,0,114,105,0,0,91,105,0,0,68,105,0,0,45,105,0,0,22,105,0,0,255,104,0,0,232,104,0,0,209,104,0,0,186,104,0,0,163,104,0,0,141,104,0,0,118,104,0,0,95,104,0,0,72,104,0,0,49,104,0,0,26,104,0,0,3,104,0,0,236,103,0,0,213,103,0,0,190,103,0,0,167,103,0,0,144,103,0,0,121,103,0,0,98,103,0,0,75,103,0,0,52,103,0,0,29,103,0,0,6,103,0,0,239,102,0,0,216,102,0,0,193,102,0,0,170,102,0,0,147,102,0,0,124,102,0,0,101,102,0,0,78,102,0,0,55,102,0,0,32,102,0,0,9,102,0,0,242,101,0,0,219,101,0,0,195,101,0,0,172,101,0,0,149,101,0,0,126,101,0,0,103,101,0,0,80,101,0,0,57,101,0,0,34,101,0,0,11,101,0,0,244,100,0,0,221,100,0,0,198,100,0,0,174,100,0,0,151,100,0,0,128,100,0,0,105,100,0,0,82,100,0,0,59,100,0,0,36,100,0,0,13,100,0,0,245,99,0,0,222,99,0,0,199,99,0,0,176,99,0,0,153,99,0,0,130,99,0,0,107,99,0,0,83,99,0,0,60,99,0,0,37,99,0,0,14,99,0,0,247,98,0,0,224,98,0,0,200,98,0,0,177,98,0,0,154,98,0,0,131,98,0,0,108,98,0,0,84,98,0,0,61,98,0,0,38,98,0,0,15,98,0,0,248,97,0,0,224,97,0,0,201,97,0,0,178,97,0,0,155,97,0,0,131,97,0,0,108,97,0,0,85,97,0,0,62,97,0,0,38,97,0,0,15,97,0,0,248,96,0,0,225,96,0,0,201,96,0,0,178,96,0,0,155,96,0,0,132,96,0,0,108,96,0,0,85,96,0,0,62,96,0,0,38,96,0,0,15,96,0,0,248,95,0,0,225,95,0,0,201,95,0,0,178,95,0,0,155,95,0,0,131,95,0,0,108,95,0,0,85,95,0,0,61,95,0,0,38,95,0,0,15,95,0,0,247,94,0,0,224,94,0,0,201,94,0,0,177,94,0,0,154,94,0,0,131,94,0,0,107,94,0,0,84,94,0,0,60,94,0,0,37,94,0,0,14,94,0,0,246,93,0,0,223,93,0,0,200,93,0,0,176,93,0,0,153,93,0,0,129,93,0,0,106,93,0,0,83,93,0,0,59,93,0,0,36,93,0,0,12,93,0,0,245,92,0,0,222,92,0,0,198,92,0,0,175,92,0,0,151,92,0,0,128,92,0,0,104,92,0,0,81,92,0,0,58,92,0,0,34,92,0,0,11,92,0,0,243,91,0,0,220,91,0,0,196,91,0,0,173,91,0,0,149,91,0,0,126,91,0,0,102,91,0,0,79,91,0,0,55,91,0,0,32,91,0,0,8,91,0,0,241,90,0,0,217,90,0,0,194,90,0,0,170,90,0,0,147,90,0,0,123,90,0,0,100,90,0,0,76,90,0,0,53,90,0,0,29,90,0,0,6,90,0,0,238,89,0,0,215,89,0,0,191,89,0,0,168,89,0,0,144,89,0,0,121,89,0,0,97,89,0,0,74,89,0,0,50,89,0,0,26,89,0,0,3,89,0,0,235,88,0,0,212,88,0,0,188,88,0,0,165,88,0,0,141,88,0,0,117,88,0,0,94,88,0,0,70,88,0,0,47,88,0,0,23,88,0,0,255,87,0,0,232,87,0,0,208,87,0,0,185,87,0,0,161,87,0,0,137,87,0,0,114,87,0,0,90,87,0,0,67,87,0,0,43,87,0,0,19,87,0,0,252,86,0,0,228,86,0,0,204,86,0,0,181,86,0,0,157,86,0,0,133,86,0,0,110,86,0,0,86,86,0,0,62,86,0,0,39,86,0,0,15,86,0,0,247,85,0,0,224,85,0,0,200,85,0,0,176,85,0,0,153,85,0,0,129,85,0,0,105,85,0,0,82,85,0,0,58,85,0,0,34,85,0,0,11,85,0,0,243,84,0,0,219,84,0,0,195,84,0,0,172,84,0,0,148,84,0,0,124,84,0,0,100,84,0,0,77,84,0,0,53,84,0,0,29,84,0,0,6,84,0,0,238,83,0,0,214,83,0,0,190,83,0,0,167,83,0,0,143,83,0,0,119,83,0,0,95,83,0,0,72,83,0,0,48,83,0,0,24,83,0,0,0,83,0,0,232,82,0,0,209,82,0,0,185,82,0,0,161,82,0,0,137,82,0,0,114,82,0,0,90,82,0,0,66,82,0,0,42,82,0,0,18,82,0,0,251,81,0,0,227,81,0,0,203,81,0,0,179,81,0,0,155,81,0,0,131,81,0,0,108,81,0,0,84,81,0,0,60,81,0,0,36,81,0,0,12,81,0,0,244,80,0,0,221,80,0,0,197,80,0,0,173,80,0,0,149,80,0,0,125,80,0,0,101,80,0,0,77,80,0,0,54,80,0,0,30,80,0,0,6,80,0,0,238,79,0,0,214,79,0,0,190,79,0,0,166,79,0,0,142,79,0,0,119,79,0,0,95,79,0,0,71,79,0,0,47,79,0,0,23,79,0,0,255,78,0,0,231,78,0,0,207,78,0,0,183,78,0,0,159,78,0,0,135,78,0,0,112,78,0,0,88,78,0,0,64,78,0,0,40,78,0,0,16,78,0,0,248,77,0,0,224,77,0,0,200,77,0,0,176,77,0,0,152,77,0,0,128,77,0,0,104,77,0,0,80,77,0,0,56,77,0,0,32,77,0,0,8,77,0,0,240,76,0,0,216,76,0,0,192,76,0,0,168,76,0,0,144,76,0,0,121,76,0,0,97,76,0,0,73,76,0,0,49,76,0,0,25,76,0,0,1,76,0,0,233,75,0,0,209,75,0,0,185,75,0,0,161,75,0,0,137,75,0,0,113,75,0,0,88,75,0,0,64,75,0,0,40,75,0,0,16,75,0,0,248,74,0,0,224,74,0,0,200,74,0,0,176,74,0,0,152,74,0,0,128,74,0,0,104,74,0,0,80,74,0,0,56,74,0,0,32,74,0,0,8,74,0,0,240,73,0,0,216,73,0,0,192,73,0,0,168,73,0,0,144,73,0,0,120,73,0,0,95,73,0,0,71,73,0,0,47,73,0,0,23,73,0,0,255,72,0,0,231,72,0,0,207,72,0,0,183,72,0,0,159,72,0,0,135,72,0,0,111,72,0,0,86,72,0,0,62,72,0,0,38,72,0,0,14,72,0,0,246,71,0,0,222,71,0,0,198,71,0,0,174,71,0,0,149,71,0,0,125,71,0,0,101,71,0,0,77,71,0,0,53,71,0,0,29,71,0,0,5,71,0,0,236,70,0,0,212,70,0,0,188,70,0,0,164,70,0,0,140,70,0,0,116,70,0,0,92,70,0,0,67,70,0,0,43,70,0,0,19,70,0,0,251,69,0,0,227,69,0,0,203,69,0,0,178,69,0,0,154,69,0,0,130,69,0,0,106,69,0,0,82,69,0,0,57,69,0,0,33,69,0,0,9,69,0,0,241,68,0,0,217,68,0,0,192,68,0,0,168,68,0,0,144,68,0,0,120,68,0,0,96,68,0,0,71,68,0,0,47,68,0,0,23,68,0,0,255,67,0,0,230,67,0,0,206,67,0,0,182,67,0,0,158,67,0,0,133,67,0,0,109,67,0,0,85,67,0,0,61,67,0,0,36,67,0,0,12,67,0,0,244,66,0,0,220,66,0,0,195,66,0,0,171,66,0,0,147,66,0,0,123,66,0,0,98,66,0,0,74,66,0,0,50,66,0,0,26,66,0,0,1,66,0,0,233,65,0,0,209,65,0,0,184,65,0,0,160,65,0,0,136,65,0,0,111,65,0,0,87,65,0,0,63,65,0,0,39,65,0,0,14,65,0,0,246,64,0,0,222,64,0,0,197,64,0,0,173,64,0,0,149,64,0,0,124,64,0,0,100,64,0,0,76,64,0,0,51,64,0,0,27,64,0,0,3,64,0,0,234,63,0,0,210,63,0,0,186,63,0,0,161,63,0,0,137,63,0,0,113,63,0,0,88,63,0,0,64,63,0,0,40,63,0,0,15,63,0,0,247,62,0,0,223,62,0,0,198,62,0,0,174,62,0,0,149,62,0,0,125,62,0,0,101,62,0,0,76,62,0,0,52,62,0,0,28,62,0,0,3,62,0,0,235,61,0,0,210,61,0,0,186,61,0,0,162,61,0,0,137,61,0,0,113,61,0,0,88,61,0,0,64,61,0,0,40,61,0,0,15,61,0,0,247,60,0,0,222,60,0,0,198,60,0,0,174,60,0,0,149,60,0,0,125,60,0,0,100,60,0,0,76,60,0,0,51,60,0,0,27,60,0,0,3,60,0,0,234,59,0,0,210,59,0,0,185,59,0,0,161,59,0,0,136,59,0,0,112,59,0,0,88,59,0,0,63,59,0,0,39,59,0,0,14,59,0,0,246,58,0,0,221,58,0,0,197,58,0,0,172,58,0,0,148,58,0,0,123,58,0,0,99,58,0,0,74,58,0,0,50,58,0,0,26,58,0,0,1,58,0,0,233,57,0,0,208,57,0,0,184,57,0,0,159,57,0,0,135,57,0,0,110,57,0,0,86,57,0,0,61,57,0,0,37,57,0,0,12,57,0,0,244,56,0,0,219,56,0,0,195,56,0,0,170,56,0,0,146,56,0,0,121,56,0,0,97,56,0,0,72,56,0,0,48,56,0,0,23,56,0,0,254,55,0,0,230,55,0,0,205,55,0,0,181,55,0,0,156,55,0,0,132,55,0,0,107,55,0,0,83,55,0,0,58,55,0,0,34,55,0,0,9,55,0,0,241,54,0,0,216,54,0,0,192,54,0,0,167,54,0,0,142,54,0,0,118,54,0,0,93,54,0,0,69,54,0,0,44,54,0,0,20,54,0,0,251,53,0,0,226,53,0,0,202,53,0,0,177,53,0,0,153,53,0,0,128,53,0,0,104,53,0,0,79,53,0,0,54,53,0,0,30,53,0,0,5,53,0,0,237,52,0,0,212,52,0,0,187,52,0,0,163,52,0,0,138,52,0,0,114,52,0,0,89,52,0,0,64,52,0,0,40,52,0,0,15,52,0,0,247,51,0,0,222,51,0,0,197,51,0,0,173,51,0,0,148,51,0,0,124,51,0,0,99,51,0,0,74,51,0,0,50,51,0,0,25,51,0,0,0,51,0,0,232,50,0,0,207,50,0,0,183,50,0,0,158,50,0,0,133,50,0,0,109,50,0,0,84,50,0,0,59,50,0,0,35,50,0,0,10,50,0,0,241,49,0,0,217,49,0,0,192,49,0,0,167,49,0,0,143,49,0,0,118,49,0,0,94,49,0,0,69,49,0,0,44,49,0,0,20,49,0,0,251,48,0,0,226,48,0,0,202,48,0,0,177,48,0,0,152,48,0,0,127,48,0,0,103,48,0,0,78,48,0,0,53,48,0,0,29,48,0,0,4,48,0,0,235,47,0,0,211,47,0,0,186,47,0,0,161,47,0,0,137,47,0,0,112,47,0,0,87,47,0,0,63,47,0,0,38,47,0,0,13,47,0,0,244,46,0,0,220,46,0,0,195,46,0,0,170,46,0,0,146,46,0,0,121,46,0,0,96,46,0,0,71,46,0,0,47,46,0,0,22,46,0,0,253,45,0,0,229,45,0,0,204,45,0,0,179,45,0,0,154,45,0,0,130,45,0,0,105,45,0,0,80,45,0,0,55,45,0,0,31,45,0,0,6,45,0,0,237,44,0,0,212,44,0,0,188,44,0,0,163,44,0,0,138,44,0,0,113,44,0,0,89,44,0,0,64,44,0,0,39,44,0,0,14,44,0,0,246,43,0,0,221,43,0,0,196,43,0,0,171,43,0,0,147,43,0,0,122,43,0,0,97,43,0,0,72,43,0,0,48,43,0,0,23,43,0,0,254,42,0,0,229,42,0,0,204,42,0,0,180,42,0,0,155,42,0,0,130,42,0,0,105,42,0,0,81,42,0,0,56,42,0,0,31,42,0,0,6,42,0,0,237,41,0,0,213,41,0,0,188,41,0,0,163,41,0,0,138,41,0,0,113,41,0,0,89,41,0,0,64,41,0,0,39,41,0,0,14,41,0,0,245,40,0,0,221,40,0,0,196,40,0,0,171,40,0,0,146,40,0,0,121,40,0,0,96,40,0,0,72,40,0,0,47,40,0,0,22,40,0,0,253,39,0,0,228,39,0,0,204,39,0,0,179,39,0,0,154,39,0,0,129,39,0,0,104,39,0,0,79,39,0,0,55,39,0,0,30,39,0,0,5,39,0,0,236,38,0,0,211,38,0,0,186,38,0,0,162,38,0,0,137,38,0,0,112,38,0,0,87,38,0,0,62,38,0,0,37,38,0,0,12,38,0,0,244,37,0,0,219,37,0,0,194,37,0,0,169,37,0,0,144,37,0,0,119,37,0,0,94,37,0,0,70,37,0,0,45,37,0,0,20,37,0,0,251,36,0,0,226,36,0,0,201,36,0,0,176,36,0,0,151,36,0,0,127,36,0,0,102,36,0,0,77,36,0,0,52,36,0,0,27,36,0,0,2,36,0,0,233,35,0,0,208,35,0,0,184,35,0,0,159,35,0,0,134,35,0,0,109,35,0,0,84,35,0,0,59,35,0,0,34,35,0,0,9,35,0,0,240,34,0,0,215,34,0,0,191,34,0,0,166,34,0,0,141,34,0,0,116,34,0,0,91,34,0,0,66,34,0,0,41,34,0,0,16,34,0,0,247,33,0,0,222,33,0,0,198,33,0,0,173,33,0,0,148,33,0,0,123,33,0,0,98,33,0,0,73,33,0,0,48,33,0,0,23,33,0,0,254,32,0,0,229,32,0,0,204,32,0,0,179,32,0,0,154,32,0,0,130,32,0,0,105,32,0,0,80,32,0,0,55,32,0,0,30,32,0,0,5,32,0,0,236,31,0,0,211,31,0,0,186,31,0,0,161,31,0,0,136,31,0,0,111,31,0,0,86,31,0,0,61,31,0,0,36,31,0,0,11,31,0,0,243,30,0,0,218,30,0,0,193,30,0,0,168,30,0,0,143,30,0,0,118,30,0,0,93,30,0,0,68,30,0,0,43,30,0,0,18,30,0,0,249,29,0,0,224,29,0,0,199,29,0,0,174,29,0,0,149,29,0,0,124,29,0,0,99,29,0,0,74,29,0,0,49,29,0,0,24,29,0,0,255,28,0,0,230,28,0,0,205,28,0,0,180,28,0,0,155,28,0,0,130,28,0,0,105,28,0,0,81,28,0,0,56,28,0,0,31,28,0,0,6,28,0,0,237,27,0,0,212,27,0,0,187,27,0,0,162,27,0,0,137,27,0,0,112,27,0,0,87,27,0,0,62,27,0,0,37,27,0,0,12,27,0,0,243,26,0,0,218,26,0,0,193,26,0,0,168,26,0,0,143,26,0,0,118,26,0,0,93,26,0,0,68,26,0,0,43,26,0,0,18,26,0,0,249,25,0,0,224,25,0,0,199,25,0,0,174,25,0,0,149,25,0,0,124,25,0,0,99,25,0,0,74,25,0,0,49,25,0,0,24,25,0,0,255,24,0,0,230,24,0,0,205,24,0,0,180,24,0,0,155,24,0,0,130,24,0,0,105,24,0,0,80,24,0,0,55,24,0,0,29,24,0,0,4,24,0,0,235,23,0,0,210,23,0,0,185,23,0,0,160,23,0,0,135,23,0,0,110,23,0,0,85,23,0,0,60,23,0,0,35,23,0,0,10,23,0,0,241,22,0,0,216,22,0,0,191,22,0,0,166,22,0,0,141,22,0,0,116,22,0,0,91,22,0,0,66,22,0,0,41,22,0,0,16,22,0,0,247,21,0,0,222,21,0,0,197,21,0,0,172,21,0,0,147,21,0,0,122,21,0,0,97,21,0,0,72,21,0,0,46,21,0,0,21,21,0,0,252,20,0,0,227,20,0,0,202,20,0,0,177,20,0,0,152,20,0,0,127,20,0,0,102,20,0,0,77,20,0,0,52,20,0,0,27,20,0,0,2,20,0,0,233,19,0,0,208,19,0,0,183,19,0,0,158,19,0,0,133,19,0,0,108,19,0,0,82,19,0,0,57,19,0,0,32,19,0,0,7,19,0,0,238,18,0,0,213,18,0,0,188,18,0,0,163,18,0,0,138,18,0,0,113,18,0,0,88,18,0,0,63,18,0,0,38,18,0,0,13,18,0,0,244,17,0,0,218,17,0,0,193,17,0,0,168,17,0,0,143,17,0,0,118,17,0,0,93,17,0,0,68,17,0,0,43,17,0,0,18,17,0,0,249,16,0,0,224,16,0,0,199,16,0,0,174,16,0,0,148,16,0,0,123,16,0,0,98,16,0,0,73,16,0,0,48,16,0,0,23,16,0,0,254,15,0,0,229,15,0,0,204,15,0,0,179,15,0,0,154,15,0,0,129,15,0,0,103,15,0,0,78,15,0,0,53,15,0,0,28,15,0,0,3,15,0,0,234,14,0,0,209,14,0,0,184,14,0,0,159,14,0,0,134,14,0,0,109,14,0,0,83,14,0,0,58,14,0,0,33,14,0,0,8,14,0,0,239,13,0,0,214,13,0,0,189,13,0,0,164,13,0,0,139,13,0,0,114,13,0,0,89,13,0,0,63,13,0,0,38,13,0,0,13,13,0,0,244,12,0,0,219,12,0,0,194,12,0,0,169,12,0,0,144,12,0,0,119,12,0,0,93,12,0,0,68,12,0,0,43,12,0,0,18,12,0,0,249,11,0,0,224,11,0,0,199,11,0,0,174,11,0,0,149,11,0,0,124,11,0,0,98,11,0,0,73,11,0,0,48,11,0,0,23,11,0,0,254,10,0,0,229,10,0,0,204,10,0,0,179,10,0,0,154,10,0,0,128,10,0,0,103,10,0,0,78,10,0,0,53,10,0,0,28,10,0,0,3,10,0,0,234,9,0,0,209,9,0,0,184,9,0,0,158,9,0,0,133,9,0,0,108,9,0,0,83,9,0,0,58,9,0,0,33,9,0,0,8,9,0,0,239,8,0,0,213,8,0,0,188,8,0,0,163,8,0,0,138,8,0,0,113,8,0,0,88,8,0,0,63,8,0,0,38,8,0,0,13,8,0,0,243,7,0,0,218,7,0,0,193,7,0,0,168,7,0,0,143,7,0,0,118,7,0,0,93,7,0,0,68,7,0,0,42,7,0,0,17,7,0,0,248,6,0,0,223,6,0,0,198,6,0,0,173,6,0,0,148,6,0,0,123,6,0,0,97,6,0,0,72,6,0,0,47,6,0,0,22,6,0,0,253,5,0,0,228,5,0,0,203,5,0,0,178,5,0,0,152,5,0,0,127,5,0,0,102,5,0,0,77,5,0,0,52,5,0,0,27,5,0,0,2,5,0,0,233,4,0,0,207,4,0,0,182,4,0,0,157,4,0,0,132,4,0,0,107,4,0,0,82,4,0,0,57,4,0,0,32,4,0,0,6,4,0,0,237,3,0,0,212,3,0,0,187,3,0,0,162,3,0,0,137,3,0,0,112,3,0,0,86,3,0,0,61,3,0,0,36,3,0,0,11,3,0,0,242,2,0,0,217,2,0,0,192,2,0,0,167,2,0,0,141,2,0,0,116,2,0,0,91,2,0,0,66,2,0,0,41,2,0,0,16,2,0,0,247,1,0,0,222,1,0,0,196,1,0,0,171,1,0,0,146,1,0,0,121,1,0,0,96,1,0,0,71,1,0,0,46,1,0,0,20,1,0,0,251,0,0,0,226,0,0,0,201,0,0,0,176,0,0,0,151,0,0,0,126,0,0,0,101,0,0,0,75,0,0,0,50,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,10,0,0,0,15,0,0,0,20,0,0,0,25,0,0,0,31,0,0,0,36,0,0,0,41,0,0,0,46,0,0,0,51,0,0,0,56,0,0,0,61,0,0,0,66,0,0,0,71,0,0,0,76,0,0,0,81,0,0,0,87,0,0,0,92,0,0,0,97,0,0,0,102,0,0,0,107,0,0,0,112,0,0,0,117,0,0,0,122,0,0,0,127,0,0,0,132,0,0,0,138,0,0,0,143,0,0,0,148,0,0,0,153,0,0,0,158,0,0,0,163,0,0,0,168,0,0,0,173,0,0,0,178,0,0,0,183,0,0,0,188,0,0,0,194,0,0,0,199,0,0,0,204,0,0,0,209,0,0,0,214,0,0,0,219,0,0,0,224,0,0,0,229,0,0,0,234,0,0,0,239,0,0,0,244,0,0,0,250,0,0,0,255,0,0,0,4,1,0,0,9,1,0,0,14,1,0,0,19,1,0,0,24,1,0,0,29,1,0,0,34,1,0,0,39,1,0,0,44,1,0,0,49,1,0,0,55,1,0,0,60,1,0,0,65,1,0,0,70,1,0,0,75,1,0,0,80,1,0,0,85,1,0,0,90,1,0,0,95,1,0,0,100,1,0,0,105,1,0,0,111,1,0,0,116,1,0,0,121,1,0,0,126,1,0,0,131,1,0,0,136,1,0,0,141,1,0,0,146,1,0,0,151,1,0,0,156,1,0,0,161,1,0,0,166,1,0,0,172,1,0,0,177,1,0,0,182,1,0,0,187,1,0,0,192,1,0,0,197,1,0,0,202,1,0,0,207,1,0,0,212,1,0,0,217,1,0,0,222,1,0,0,227,1,0,0,233,1,0,0,238,1,0,0,243,1,0,0,248,1,0,0,253,1,0,0,2,2,0,0,7,2,0,0,12,2,0,0,17,2,0,0,22,2,0,0,27,2,0,0,32,2,0,0,38,2,0,0,43,2,0,0,48,2,0,0,53,2,0,0,58,2,0,0,63,2,0,0,68,2,0,0,73,2,0,0,78,2,0,0,83,2,0,0,88,2,0,0,93,2,0,0,98,2,0,0,104,2,0,0,109,2,0,0,114,2,0,0,119,2,0,0,124,2,0,0,129,2,0,0,134,2,0,0,139,2,0,0,144,2,0,0,149,2,0,0,154,2,0,0,159,2,0,0,164,2,0,0,169,2,0,0,175,2,0,0,180,2,0,0,185,2,0,0,190,2,0,0,195,2,0,0,200,2,0,0,205,2,0,0,210,2,0,0,215,2,0,0,220,2,0,0,225,2,0,0,230,2,0,0,235,2,0,0,240,2,0,0,246,2,0,0,251,2,0,0,0,3,0,0,5,3,0,0,10,3,0,0,15,3,0,0,20,3,0,0,25,3,0,0,30,3,0,0,35,3,0,0,40,3,0,0,45,3,0,0,50,3,0,0,55,3,0,0,60,3,0,0,65,3,0,0,71,3,0,0,76,3,0,0,81,3,0,0,86,3,0,0,91,3,0,0,96,3,0,0,101,3,0,0,106,3,0,0,111,3,0,0,116,3,0,0,121,3,0,0,126,3,0,0,131,3,0,0,136,3,0,0,141,3,0,0,146,3,0,0,151,3,0,0,156,3,0,0,162,3,0,0,167,3,0,0,172,3,0,0,177,3,0,0,182,3,0,0,187,3,0,0,192,3,0,0,197,3,0,0,202,3,0,0,207,3,0,0,212,3,0,0,217,3,0,0,222,3,0,0,227,3,0,0,232,3,0,0,237,3,0,0,242,3,0,0,247,3,0,0,252,3,0,0,1,4,0,0,7,4,0,0,12,4,0,0,17,4,0,0,22,4,0,0,27,4,0,0,32,4,0,0,37,4,0,0,42,4,0,0,47,4,0,0,52,4,0,0,57,4,0,0,62,4,0,0,67,4,0,0,72,4,0,0,77,4,0,0,82,4,0,0,87,4,0,0,92,4,0,0,97,4,0,0,102,4,0,0,107,4,0,0,112,4,0,0,117,4,0,0,122,4,0,0,127,4,0,0,132,4,0,0,137,4,0,0,142,4,0,0,148,4,0,0,153,4,0,0,158,4,0,0,163,4,0,0,168,4,0,0,173,4,0,0,178,4,0,0,183,4,0,0,188,4,0,0,193,4,0,0,198,4,0,0,203,4,0,0,208,4,0,0,213,4,0,0,218,4,0,0,223,4,0,0,228,4,0,0,233,4,0,0,238,4,0,0,243,4,0,0,248,4,0,0,253,4,0,0,2,5,0,0,7,5,0,0,12,5,0,0,17,5,0,0,22,5,0,0,27,5,0,0,32,5,0,0,37,5,0,0,42,5,0,0,47,5,0,0,52,5,0,0,57,5,0,0,62,5,0,0,67,5,0,0,72,5,0,0,77,5,0,0,82,5,0,0,87,5,0,0,92,5,0,0,97,5,0,0,102,5,0,0,107,5,0,0,112,5,0,0,117,5,0,0,122,5,0,0,127,5,0,0,132,5,0,0,137,5,0,0,142,5,0,0,147,5,0,0,152,5,0,0,157,5,0,0,162,5,0,0,167,5,0,0,172,5,0,0,177,5,0,0,182,5,0,0,187,5,0,0,192,5,0,0,197,5,0,0,202,5,0,0,207,5,0,0,212,5,0,0,217,5,0,0,222,5,0,0,227,5,0,0,232,5,0,0,237,5,0,0,242,5,0,0,247,5,0,0,252,5,0,0,1,6,0,0,6,6,0,0,11,6,0,0,16,6,0,0,21,6,0,0,26,6,0,0,31,6,0,0,36,6,0,0,41,6,0,0,46,6,0,0,51,6,0,0,56,6,0,0,61,6,0,0,66,6,0,0,71,6,0,0,76,6,0,0,81,6,0,0,86,6,0,0,91,6,0,0,96,6,0,0,101,6,0,0,106,6,0,0,110,6,0,0,115,6,0,0,120,6,0,0,125,6,0,0,130,6,0,0,135,6,0,0,140,6,0,0,145,6,0,0,150,6,0,0,155,6,0,0,160,6,0,0,165,6,0,0,170,6,0,0,175,6,0,0,180,6,0,0,185,6,0,0,190,6,0,0,195,6,0,0,200,6,0,0,205,6,0,0,210,6,0,0,215,6,0,0,220,6,0,0,225,6,0,0,229,6,0,0,234,6,0,0,239,6,0,0,244,6,0,0,249,6,0,0,254,6,0,0,3,7,0,0,8,7,0,0,13,7,0,0,18,7,0,0,23,7,0,0,28,7,0,0,33,7,0,0,38,7,0,0,43,7,0,0,48,7,0,0,53,7,0,0,57,7,0,0,62,7,0,0,67,7,0,0,72,7,0,0,77,7,0,0,82,7,0,0,87,7,0,0,92,7,0,0,97,7,0,0,102,7,0,0,107,7,0,0,112,7,0,0,117,7,0,0,122,7,0,0,126,7,0,0,131,7,0,0,136,7,0,0,141,7,0,0,146,7,0,0,151,7,0,0,156,7,0,0,161,7,0,0,166,7,0,0,171,7,0,0,176,7,0,0,181,7,0,0,185,7,0,0,190,7,0,0,195,7,0,0,200,7,0,0,205,7,0,0,210,7,0,0,215,7,0,0,220,7,0,0,225,7,0,0,230,7,0,0,235,7,0,0,239,7,0,0,244,7,0,0,249,7,0,0,254,7,0,0,3,8,0,0,8,8,0,0,13,8,0,0,18,8,0,0,23,8,0,0,28,8,0,0,32,8,0,0,37,8,0,0,42,8,0,0,47,8,0,0,52,8,0,0,57,8,0,0,62,8,0,0,67,8,0,0,72,8,0,0,76,8,0,0,81,8,0,0,86,8,0,0,91,8,0,0,96,8,0,0,101,8,0,0,106,8,0,0,111,8,0,0,115,8,0,0,120,8,0,0,125,8,0,0,130,8,0,0,135,8,0,0,140,8,0,0,145,8,0,0,150,8,0,0,154,8,0,0,159,8,0,0,164,8,0,0,169,8,0,0,174,8,0,0,179,8,0,0,184,8,0,0,189,8,0,0,193,8,0,0,198,8,0,0,203,8,0,0,208,8,0,0,213,8,0,0,218,8,0,0,223,8,0,0,227,8,0,0,232,8,0,0,237,8,0,0,242,8,0,0,247,8,0,0,252,8,0,0,1,9,0,0,5,9,0,0,10,9,0,0,15,9,0,0,20,9,0,0,25,9,0,0,30,9,0,0,34,9,0,0,39,9,0,0,44,9,0,0,49,9,0,0,54,9,0,0,59,9,0,0,63,9,0,0,68,9,0,0,73,9,0,0,78,9,0,0,83,9,0,0,88,9,0,0,92,9,0,0,97,9,0,0,102,9,0,0,107,9,0,0,112,9,0,0,117,9,0,0,121,9,0,0,126,9,0,0,131,9,0,0,136,9,0,0,141,9,0,0,146,9,0,0,150,9,0,0,155,9,0,0,160,9,0,0,165,9,0,0,170,9,0,0,174,9,0,0,179,9,0,0,184,9,0,0,189,9,0,0,194,9,0,0,198,9,0,0,203,9,0,0,208,9,0,0,213,9,0,0,218,9,0,0,222,9,0,0,227,9,0,0,232,9,0,0,237,9,0,0,242,9,0,0,246,9,0,0,251,9,0,0,0,10,0,0,5,10,0,0,10,10,0,0,14,10,0,0,19,10,0,0,24,10,0,0,29,10,0,0,34,10,0,0,38,10,0,0,43,10,0,0,48,10,0,0,53,10,0,0,57,10,0,0,62,10,0,0,67,10,0,0,72,10,0,0,77,10,0,0,81,10,0,0,86,10,0,0,91,10,0,0,96,10,0,0,100,10,0,0,105,10,0,0,110,10,0,0,115,10,0,0,119,10,0,0,124,10,0,0,129,10,0,0,134,10,0,0,139,10,0,0,143,10,0,0,148,10,0,0,153,10,0,0,158,10,0,0,162,10,0,0,167,10,0,0,172,10,0,0,177,10,0,0,181,10,0,0,186,10,0,0,191,10,0,0,196,10,0,0,200,10,0,0,205,10,0,0,210,10,0,0,215,10,0,0,219,10,0,0,224,10,0,0,229,10,0,0,233,10,0,0,238,10,0,0,243,10,0,0,248,10,0,0,252,10,0,0,1,11,0,0,6,11,0,0,11,11,0,0,15,11,0,0,20,11,0,0,25,11,0,0,30,11,0,0,34,11,0,0,39,11,0,0,44,11,0,0,48,11,0,0,53,11,0,0,58,11,0,0,63,11,0,0,67,11,0,0,72,11,0,0,77,11,0,0,81,11,0,0,86,11,0,0,91,11,0,0,96,11,0,0,100,11,0,0,105,11,0,0,110,11,0,0,114,11,0,0,119,11,0,0,124,11,0,0,128,11,0,0,133,11,0,0,138,11,0,0,143,11,0,0,147,11,0,0,152,11,0,0,157,11,0,0,161,11,0,0,166,11,0,0,171,11,0,0,175,11,0,0,180,11,0,0,185,11,0,0,189,11,0,0,194,11,0,0,199,11,0,0,203,11,0,0,208,11,0,0,213,11,0,0,217,11,0,0,222,11,0,0,227,11,0,0,231,11,0,0,236,11,0,0,241,11,0,0,245,11,0,0,250,11,0,0,255,11,0,0,3,12,0,0,8,12,0,0,13,12,0,0,17,12,0,0,22,12,0,0,27,12,0,0,31,12,0,0,36,12,0,0,41,12,0,0,45,12,0,0,50,12,0,0,55,12,0,0,59,12,0,0,64,12,0,0,69,12,0,0,73,12,0,0,78,12,0,0,83,12,0,0,87,12,0,0,92,12,0,0,96,12,0,0,101,12,0,0,106,12,0,0,110,12,0,0,115,12,0,0,120,12,0,0,124,12,0,0,129,12,0,0,134,12,0,0,138,12,0,0,143,12,0,0,147,12,0,0,152,12,0,0,157,12,0,0,161,12,0,0,166,12,0,0,171,12,0,0,175,12,0,0,180,12,0,0,184,12,0,0,189,12,0,0,194,12,0,0,198,12,0,0,203,12,0,0,207,12,0,0,212,12,0,0,217,12,0,0,221,12,0,0,226,12,0,0,230,12,0,0,235,12,0,0,240,12,0,0,244,12,0,0,249,12,0,0,253,12,0,0,2,13,0,0,7,13,0,0,11,13,0,0,16,13,0,0,20,13,0,0,25,13,0,0,30,13,0,0,34,13,0,0,39,13,0,0,43,13,0,0,48,13,0,0,52,13,0,0,57,13,0,0,62,13,0,0,66,13,0,0,71,13,0,0,75,13,0,0,80,13,0,0,84,13,0,0,89,13,0,0,94,13,0,0,98,13,0,0,103,13,0,0,107,13,0,0,112,13,0,0,116,13,0,0,121,13,0,0,125,13,0,0,130,13,0,0,135,13,0,0,139,13,0,0,144,13,0,0,148,13,0,0,153,13,0,0,157,13,0,0,162,13,0,0,166,13,0,0,171,13,0,0,175,13,0,0,180,13,0,0,185,13,0,0,189,13,0,0,194,13,0,0,198,13,0,0,203,13,0,0,207,13,0,0,212,13,0,0,216,13,0,0,221,13,0,0,225,13,0,0,230,13,0,0,234,13,0,0,239,13,0,0,243,13,0,0,248,13,0,0,252,13,0,0,1,14,0,0,5,14,0,0,10,14,0,0,15,14,0,0,19,14,0,0,24,14,0,0,28,14,0,0,33,14,0,0,37,14,0,0,42,14,0,0,46,14,0,0,51,14,0,0,55,14,0,0,60,14,0,0,64,14,0,0,69,14,0,0,73,14,0,0,78,14,0,0,82,14,0,0,86,14,0,0,91,14,0,0,95,14,0,0,100,14,0,0,104,14,0,0,109,14,0,0,113,14,0,0,118,14,0,0,122,14,0,0,127,14,0,0,131,14,0,0,136,14,0,0,140,14,0,0,145,14,0,0,149,14,0,0,154,14,0,0,158,14,0,0,163,14,0,0,167,14,0,0,172,14,0,0,176,14,0,0,180,14,0,0,185,14,0,0,189,14,0,0,194,14,0,0,198,14,0,0,203,14,0,0,207,14,0,0,212,14,0,0,216,14,0,0,220,14,0,0,225,14,0,0,229,14,0,0,234,14,0,0,238,14,0,0,243,14,0,0,247,14,0,0,252,14,0,0,0,15,0,0,4,15,0,0,9,15,0,0,13,15,0,0,18,15,0,0,22,15,0,0,27,15,0,0,31,15,0,0,35,15,0,0,40,15,0,0,44,15,0,0,49,15,0,0,53,15,0,0,58,15,0,0,62,15,0,0,66,15,0,0,71,15,0,0,75,15,0,0,80,15,0,0,84,15,0,0,88,15,0,0,93,15,0,0,97,15,0,0,102,15,0,0,106,15,0,0,110,15,0,0,115,15,0,0,119,15,0,0,124,15,0,0,128,15,0,0,132,15,0,0,137,15,0,0,141,15,0,0,145,15,0,0,150,15,0,0,154,15,0,0,159,15,0,0,163,15,0,0,167,15,0,0,172,15,0,0,176,15,0,0,181,15,0,0,185,15,0,0,189,15,0,0,194,15,0,0,198,15,0,0,202,15,0,0,207,15,0,0,211,15,0,0,215,15,0,0,220,15,0,0,224,15,0,0,229,15,0,0,233,15,0,0,237,15,0,0,242,15,0,0,246,15,0,0,250,15,0,0,255,15],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([3,16,0,0,7,16,0,0,12,16,0,0,16,16,0,0,20,16,0,0,25,16,0,0,29,16,0,0,33,16,0,0,38,16,0,0,42,16,0,0,46,16,0,0,51,16,0,0,55,16,0,0,59,16,0,0,64,16,0,0,68,16,0,0,72,16,0,0,77,16,0,0,81,16,0,0,85,16,0,0,90,16,0,0,94,16,0,0,98,16,0,0,103,16,0,0,107,16,0,0,111,16,0,0,115,16,0,0,120,16,0,0,124,16,0,0,128,16,0,0,133,16,0,0,137,16,0,0,141,16,0,0,146,16,0,0,150,16,0,0,154,16,0,0,158,16,0,0,163,16,0,0,167,16,0,0,171,16,0,0,176,16,0,0,180,16,0,0,184,16,0,0,188,16,0,0,193,16,0,0,197,16,0,0,201,16,0,0,206,16,0,0,210,16,0,0,214,16,0,0,218,16,0,0,223,16,0,0,227,16,0,0,231,16,0,0,235,16,0,0,240,16,0,0,244,16,0,0,248,16,0,0,253,16,0,0,1,17,0,0,5,17,0,0,9,17,0,0,14,17,0,0,18,17,0,0,22,17,0,0,26,17,0,0,31,17,0,0,35,17,0,0,39,17,0,0,43,17,0,0,48,17,0,0,52,17,0,0,56,17,0,0,60,17,0,0,64,17,0,0,69,17,0,0,73,17,0,0,77,17,0,0,81,17,0,0,86,17,0,0,90,17,0,0,94,17,0,0,98,17,0,0,102,17,0,0,107,17,0,0,111,17,0,0,115,17,0,0,119,17,0,0,124,17,0,0,128,17,0,0,132,17,0,0,136,17,0,0,140,17,0,0,145,17,0,0,149,17,0,0,153,17,0,0,157,17,0,0,161,17,0,0,166,17,0,0,170,17,0,0,174,17,0,0,178,17,0,0,182,17,0,0,187,17,0,0,191,17,0,0,195,17,0,0,199,17,0,0,203,17,0,0,207,17,0,0,212,17,0,0,216,17,0,0,220,17,0,0,224,17,0,0,228,17,0,0,233,17,0,0,237,17,0,0,241,17,0,0,245,17,0,0,249,17,0,0,253,17,0,0,2,18,0,0,6,18,0,0,10,18,0,0,14,18,0,0,18,18,0,0,22,18,0,0,26,18,0,0,31,18,0,0,35,18,0,0,39,18,0,0,43,18,0,0,47,18,0,0,51,18,0,0,55,18,0,0,60,18,0,0,64,18,0,0,68,18,0,0,72,18,0,0,76,18,0,0,80,18,0,0,84,18,0,0,89,18,0,0,93,18,0,0,97,18,0,0,101,18,0,0,105,18,0,0,109,18,0,0,113,18,0,0,117,18,0,0,122,18,0,0,126,18,0,0,130,18,0,0,134,18,0,0,138,18,0,0,142,18,0,0,146,18,0,0,150,18,0,0,154,18,0,0,159,18,0,0,163,18,0,0,167,18,0,0,171,18,0,0,175,18,0,0,179,18,0,0,183,18,0,0,187,18,0,0,191,18,0,0,195,18,0,0,199,18,0,0,204,18,0,0,208,18,0,0,212,18,0,0,216,18,0,0,220,18,0,0,224,18,0,0,228,18,0,0,232,18,0,0,236,18,0,0,240,18,0,0,244,18,0,0,248,18,0,0,252,18,0,0,1,19,0,0,5,19,0,0,9,19,0,0,13,19,0,0,17,19,0,0,21,19,0,0,25,19,0,0,29,19,0,0,33,19,0,0,37,19,0,0,41,19,0,0,45,19,0,0,49,19,0,0,53,19,0,0,57,19,0,0,61,19,0,0,65,19,0,0,69,19,0,0,73,19,0,0,77,19,0,0,81,19,0,0,85,19,0,0,90,19,0,0,94,19,0,0,98,19,0,0,102,19,0,0,106,19,0,0,110,19,0,0,114,19,0,0,118,19,0,0,122,19,0,0,126,19,0,0,130,19,0,0,134,19,0,0,138,19,0,0,142,19,0,0,146,19,0,0,150,19,0,0,154,19,0,0,158,19,0,0,162,19,0,0,166,19,0,0,170,19,0,0,174,19,0,0,178,19,0,0,182,19,0,0,186,19,0,0,190,19,0,0,194,19,0,0,198,19,0,0,202,19,0,0,206,19,0,0,210,19,0,0,214,19,0,0,218,19,0,0,222,19,0,0,226,19,0,0,230,19,0,0,233,19,0,0,237,19,0,0,241,19,0,0,245,19,0,0,249,19,0,0,253,19,0,0,1,20,0,0,5,20,0,0,9,20,0,0,13,20,0,0,17,20,0,0,21,20,0,0,25,20,0,0,29,20,0,0,33,20,0,0,37,20,0,0,41,20,0,0,45,20,0,0,49,20,0,0,53,20,0,0,57,20,0,0,61,20,0,0,64,20,0,0,68,20,0,0,72,20,0,0,76,20,0,0,80,20,0,0,84,20,0,0,88,20,0,0,92,20,0,0,96,20,0,0,100,20,0,0,104,20,0,0,108,20,0,0,112,20,0,0,115,20,0,0,119,20,0,0,123,20,0,0,127,20,0,0,131,20,0,0,135,20,0,0,139,20,0,0,143,20,0,0,147,20,0,0,151,20,0,0,155,20,0,0,158,20,0,0,162,20,0,0,166,20,0,0,170,20,0,0,174,20,0,0,178,20,0,0,182,20,0,0,186,20,0,0,190,20,0,0,193,20,0,0,197,20,0,0,201,20,0,0,205,20,0,0,209,20,0,0,213,20,0,0,217,20,0,0,221,20,0,0,224,20,0,0,228,20,0,0,232,20,0,0,236,20,0,0,240,20,0,0,244,20,0,0,248,20,0,0,251,20,0,0,255,20,0,0,3,21,0,0,7,21,0,0,11,21,0,0,15,21,0,0,19,21,0,0,22,21,0,0,26,21,0,0,30,21,0,0,34,21,0,0,38,21,0,0,42,21,0,0,45,21,0,0,49,21,0,0,53,21,0,0,57,21,0,0,61,21,0,0,65,21,0,0,68,21,0,0,72,21,0,0,76,21,0,0,80,21,0,0,84,21,0,0,88,21,0,0,91,21,0,0,95,21,0,0,99,21,0,0,103,21,0,0,107,21,0,0,110,21,0,0,114,21,0,0,118,21,0,0,122,21,0,0,126,21,0,0,129,21,0,0,133,21,0,0,137,21,0,0,141,21,0,0,145,21,0,0,148,21,0,0,152,21,0,0,156,21,0,0,160,21,0,0,164,21,0,0,167,21,0,0,171,21,0,0,175,21,0,0,179,21,0,0,183,21,0,0,186,21,0,0,190,21,0,0,194,21,0,0,198,21,0,0,201,21,0,0,205,21,0,0,209,21,0,0,213,21,0,0,216,21,0,0,220,21,0,0,224,21,0,0,228,21,0,0,232,21,0,0,235,21,0,0,239,21,0,0,243,21,0,0,247,21,0,0,250,21,0,0,254,21,0,0,2,22,0,0,6,22,0,0,9,22,0,0,13,22,0,0,17,22,0,0,20,22,0,0,24,22,0,0,28,22,0,0,32,22,0,0,35,22,0,0,39,22,0,0,43,22,0,0,47,22,0,0,50,22,0,0,54,22,0,0,58,22,0,0,62,22,0,0,65,22,0,0,69,22,0,0,73,22,0,0,76,22,0,0,80,22,0,0,84,22,0,0,88,22,0,0,91,22,0,0,95,22,0,0,99,22,0,0,102,22,0,0,106,22,0,0,110,22,0,0,113,22,0,0,117,22,0,0,121,22,0,0,125,22,0,0,128,22,0,0,132,22,0,0,136,22,0,0,139,22,0,0,143,22,0,0,147,22,0,0,150,22,0,0,154,22,0,0,158,22,0,0,161,22,0,0,165,22,0,0,169,22,0,0,172,22,0,0,176,22,0,0,180,22,0,0,183,22,0,0,187,22,0,0,191,22,0,0,194,22,0,0,198,22,0,0,202,22,0,0,205,22,0,0,209,22,0,0,213,22,0,0,216,22,0,0,220,22,0,0,224,22,0,0,227,22,0,0,231,22,0,0,235,22,0,0,238,22,0,0,242,22,0,0,246,22,0,0,249,22,0,0,253,22,0,0,0,23,0,0,4,23,0,0,8,23,0,0,11,23,0,0,15,23,0,0,19,23,0,0,22,23,0,0,26,23,0,0,29,23,0,0,33,23,0,0,37,23,0,0,40,23,0,0,44,23,0,0,48,23,0,0,51,23,0,0,55,23,0,0,58,23,0,0,62,23,0,0,66,23,0,0,69,23,0,0,73,23,0,0,76,23,0,0,80,23,0,0,84,23,0,0,87,23,0,0,91,23,0,0,94,23,0,0,98,23,0,0,102,23,0,0,105,23,0,0,109,23,0,0,112,23,0,0,116,23,0,0,120,23,0,0,123,23,0,0,127,23,0,0,130,23,0,0,134,23,0,0,137,23,0,0,141,23,0,0,145,23,0,0,148,23,0,0,152,23,0,0,155,23,0,0,159,23,0,0,162,23,0,0,166,23,0,0,170,23,0,0,173,23,0,0,177,23,0,0,180,23,0,0,184,23,0,0,187,23,0,0,191,23,0,0,194,23,0,0,198,23,0,0,201,23,0,0,205,23,0,0,209,23,0,0,212,23,0,0,216,23,0,0,219,23,0,0,223,23,0,0,226,23,0,0,230,23,0,0,233,23,0,0,237,23,0,0,240,23,0,0,244,23,0,0,247,23,0,0,251,23,0,0,254,23,0,0,2,24,0,0,6,24,0,0,9,24,0,0,13,24,0,0,16,24,0,0,20,24,0,0,23,24,0,0,27,24,0,0,30,24,0,0,34,24,0,0,37,24,0,0,41,24,0,0,44,24,0,0,48,24,0,0,51,24,0,0,55,24,0,0,58,24,0,0,62,24,0,0,65,24,0,0,69,24,0,0,72,24,0,0,76,24,0,0,79,24,0,0,83,24,0,0,86,24,0,0,90,24,0,0,93,24,0,0,96,24,0,0,100,24,0,0,103,24,0,0,107,24,0,0,110,24,0,0,114,24,0,0,117,24,0,0,121,24,0,0,124,24,0,0,128,24,0,0,131,24,0,0,135,24,0,0,138,24,0,0,142,24,0,0,145,24,0,0,148,24,0,0,152,24,0,0,155,24,0,0,159,24,0,0,162,24,0,0,166,24,0,0,169,24,0,0,173,24,0,0,176,24,0,0,179,24,0,0,183,24,0,0,186,24,0,0,190,24,0,0,193,24,0,0,197,24,0,0,200,24,0,0,204,24,0,0,207,24,0,0,210,24,0,0,214,24,0,0,217,24,0,0,221,24,0,0,224,24,0,0,227,24,0,0,231,24,0,0,234,24,0,0,238,24,0,0,241,24,0,0,245,24,0,0,248,24,0,0,251,24,0,0,255,24,0,0,2,25,0,0,6,25,0,0,9,25,0,0,12,25,0,0,16,25,0,0,19,25,0,0,23,25,0,0,26,25,0,0,29,25,0,0,33,25,0,0,36,25,0,0,40,25,0,0,43,25,0,0,46,25,0,0,50,25,0,0,53,25,0,0,56,25,0,0,60,25,0,0,63,25,0,0,67,25,0,0,70,25,0,0,73,25,0,0,77,25,0,0,80,25,0,0,83,25,0,0,87,25,0,0,90,25,0,0,93,25,0,0,97,25,0,0,100,25,0,0,104,25,0,0,107,25,0,0,110,25,0,0,114,25,0,0,117,25,0,0,120,25,0,0,124,25,0,0,127,25,0,0,130,25,0,0,134,25,0,0,137,25,0,0,140,25,0,0,144,25,0,0,147,25,0,0,150,25,0,0,154,25,0,0,157,25,0,0,160,25,0,0,164,25,0,0,167,25,0,0,170,25,0,0,174,25,0,0,177,25,0,0,180,25,0,0,184,25,0,0,187,25,0,0,190,25,0,0,194,25,0,0,197,25,0,0,200,25,0,0,204,25,0,0,207,25,0,0,210,25,0,0,213,25,0,0,217,25,0,0,220,25,0,0,223,25,0,0,227,25,0,0,230,25,0,0,233,25,0,0,237,25,0,0,240,25,0,0,243,25,0,0,246,25,0,0,250,25,0,0,253,25,0,0,0,26,0,0,4,26,0,0,7,26,0,0,10,26,0,0,13,26,0,0,17,26,0,0,20,26,0,0,23,26,0,0,27,26,0,0,30,26,0,0,33,26,0,0,36,26,0,0,40,26,0,0,43,26,0,0,46,26,0,0,49,26,0,0,53,26,0,0,56,26,0,0,59,26,0,0,62,26,0,0,66,26,0,0,69,26,0,0,72,26,0,0,75,26,0,0,79,26,0,0,82,26,0,0,85,26,0,0,88,26,0,0,92,26,0,0,95,26,0,0,98,26,0,0,101,26,0,0,105,26,0,0,108,26,0,0,111,26,0,0,114,26,0,0,118,26,0,0,121,26,0,0,124,26,0,0,127,26,0,0,131,26,0,0,134,26,0,0,137,26,0,0,140,26,0,0,143,26,0,0,147,26,0,0,150,26,0,0,153,26,0,0,156,26,0,0,159,26,0,0,163,26,0,0,166,26,0,0,169,26,0,0,172,26,0,0,176,26,0,0,179,26,0,0,182,26,0,0,185,26,0,0,188,26,0,0,192,26,0,0,195,26,0,0,198,26,0,0,201,26,0,0,204,26,0,0,207,26,0,0,211,26,0,0,214,26,0,0,217,26,0,0,220,26,0,0,223,26,0,0,227,26,0,0,230,26,0,0,233,26,0,0,236,26,0,0,239,26,0,0,242,26,0,0,246,26,0,0,249,26,0,0,252,26,0,0,255,26,0,0,2,27,0,0,5,27,0,0,9,27,0,0,12,27,0,0,15,27,0,0,18,27,0,0,21,27,0,0,24,27,0,0,28,27,0,0,31,27,0,0,34,27,0,0,37,27,0,0,40,27,0,0,43,27,0,0,46,27,0,0,50,27,0,0,53,27,0,0,56,27,0,0,59,27,0,0,62,27,0,0,65,27,0,0,68,27,0,0,72,27,0,0,75,27,0,0,78,27,0,0,81,27,0,0,84,27,0,0,87,27,0,0,90,27,0,0,93,27,0,0,97,27,0,0,100,27,0,0,103,27,0,0,106,27,0,0,109,27,0,0,112,27,0,0,115,27,0,0,118,27,0,0,121,27,0,0,125,27,0,0,128,27,0,0,131,27,0,0,134,27,0,0,137,27,0,0,140,27,0,0,143,27,0,0,146,27,0,0,149,27,0,0,152,27,0,0,156,27,0,0,159,27,0,0,162,27,0,0,165,27,0,0,168,27,0,0,171,27,0,0,174,27,0,0,177,27,0,0,180,27,0,0,183,27,0,0,186,27,0,0,189,27,0,0,193,27,0,0,196,27,0,0,199,27,0,0,202,27,0,0,205,27,0,0,208,27,0,0,211,27,0,0,214,27,0,0,217,27,0,0,220,27,0,0,223,27,0,0,226,27,0,0,229,27,0,0,232,27,0,0,235,27,0,0,238,27,0,0,242,27,0,0,245,27,0,0,248,27,0,0,251,27,0,0,254,27,0,0,1,28,0,0,4,28,0,0,7,28,0,0,10,28,0,0,13,28,0,0,16,28,0,0,19,28,0,0,22,28,0,0,25,28,0,0,28,28,0,0,31,28,0,0,34,28,0,0,37,28,0,0,40,28,0,0,43,28,0,0,46,28,0,0,49,28,0,0,52,28,0,0,55,28,0,0,58,28,0,0,61,28,0,0,64,28,0,0,67,28,0,0,70,28,0,0,73,28,0,0,76,28,0,0,79,28,0,0,82,28,0,0,85,28,0,0,88,28,0,0,91,28,0,0,94,28,0,0,97,28,0,0,100,28,0,0,103,28,0,0,106,28,0,0,109,28,0,0,112,28,0,0,115,28,0,0,118,28,0,0,121,28,0,0,124,28,0,0,127,28,0,0,130,28,0,0,133,28,0,0,136,28,0,0,139,28,0,0,142,28,0,0,145,28,0,0,148,28,0,0,151,28,0,0,154,28,0,0,157,28,0,0,160,28,0,0,163,28,0,0,166,28,0,0,169,28,0,0,172,28,0,0,175,28,0,0,178,28,0,0,181,28,0,0,184,28,0,0,187,28,0,0,190,28,0,0,193,28,0,0,195,28,0,0,198,28,0,0,201,28,0,0,204,28,0,0,207,28,0,0,210,28,0,0,213,28,0,0,216,28,0,0,219,28,0,0,222,28,0,0,225,28,0,0,228,28,0,0,231,28,0,0,234,28,0,0,237,28,0,0,240,28,0,0,243,28,0,0,245,28,0,0,248,28,0,0,251,28,0,0,254,28,0,0,1,29,0,0,4,29,0,0,7,29,0,0,10,29,0,0,13,29,0,0,16,29,0,0,19,29,0,0,22,29,0,0,24,29,0,0,27,29,0,0,30,29,0,0,33,29,0,0,36,29,0,0,39,29,0,0,42,29,0,0,45,29,0,0,48,29,0,0,51,29,0,0,53,29,0,0,56,29,0,0,59,29,0,0,62,29,0,0,65,29,0,0,68,29,0,0,71,29,0,0,74,29,0,0,77,29,0,0,79,29,0,0,82,29,0,0,85,29,0,0,88,29,0,0,91,29,0,0,94,29,0,0,97,29,0,0,100,29,0,0,102,29,0,0,105,29,0,0,108,29,0,0,111,29,0,0,114,29,0,0,117,29,0,0,120,29,0,0,123,29,0,0,125,29,0,0,128,29,0,0,131,29,0,0,134,29,0,0,137,29,0,0,140,29,0,0,142,29,0,0,145,29,0,0,148,29,0,0,151,29,0,0,154,29,0,0,157,29,0,0,160,29,0,0,162,29,0,0,165,29,0,0,168,29,0,0,171,29,0,0,174,29,0,0,177,29,0,0,179,29,0,0,182,29,0,0,185,29,0,0,188,29,0,0,191,29,0,0,194,29,0,0,196,29,0,0,199,29,0,0,202,29,0,0,205,29,0,0,208,29,0,0,211,29,0,0,213,29,0,0,216,29,0,0,219,29,0,0,222,29,0,0,225,29,0,0,227,29,0,0,230,29,0,0,233,29,0,0,236,29,0,0,239,29,0,0,241,29,0,0,244,29,0,0,247,29,0,0,250,29,0,0,253,29,0,0,255,29,0,0,2,30,0,0,5,30,0,0,8,30,0,0,11,30,0,0,13,30,0,0,16,30,0,0,19,30,0,0,22,30,0,0,25,30,0,0,27,30,0,0,30,30,0,0,33,30,0,0,36,30,0,0,38,30,0,0,41,30,0,0,44,30,0,0,47,30,0,0,50,30,0,0,52,30,0,0,55,30,0,0,58,30,0,0,61,30,0,0,63,30,0,0,66,30,0,0,69,30,0,0,72,30,0,0,74,30,0,0,77,30,0,0,80,30,0,0,83,30,0,0,85,30,0,0,88,30,0,0,91,30,0,0,94,30,0,0,96,30,0,0,99,30,0,0,102,30,0,0,105,30,0,0,107,30,0,0,110,30,0,0,113,30,0,0,116,30,0,0,118,30,0,0,121,30,0,0,124,30,0,0,127,30,0,0,129,30,0,0,132,30,0,0,135,30,0,0,138,30,0,0,140,30,0,0,143,30,0,0,146,30,0,0,148,30,0,0,151,30,0,0,154,30,0,0,157,30,0,0,159,30,0,0,162,30,0,0,165,30,0,0,168,30,0,0,170,30,0,0,173,30,0,0,176,30,0,0,178,30,0,0,181,30,0,0,184,30,0,0,186,30,0,0,189,30,0,0,192,30,0,0,195,30,0,0,197,30,0,0,200,30,0,0,203,30,0,0,205,30,0,0,208,30,0,0,211,30,0,0,213,30,0,0,216,30,0,0,219,30,0,0,222,30,0,0,224,30,0,0,227,30,0,0,230,30,0,0,232,30,0,0,235,30,0,0,238,30,0,0,240,30,0,0,243,30,0,0,246,30,0,0,248,30,0,0,251,30,0,0,254,30,0,0,0,31,0,0,3,31,0,0,6,31,0,0,8,31,0,0,11,31,0,0,14,31,0,0,16,31,0,0,19,31,0,0,22,31,0,0,24,31,0,0,27,31,0,0,30,31,0,0,32,31,0,0,35,31,0,0,38,31,0,0,40,31,0,0,43,31,0,0,46,31,0,0,48,31,0,0,51,31,0,0,54,31,0,0,56,31,0,0,59,31,0,0,61,31,0,0,64,31,0,0,67,31,0,0,69,31,0,0,72,31,0,0,75,31,0,0,77,31,0,0,80,31,0,0,83,31,0,0,85,31,0,0,88,31,0,0,90,31,0,0,93,31,0,0,96,31,0,0,98,31,0,0,101,31,0,0,104,31,0,0,106,31,0,0,109,31,0,0,111,31,0,0,114,31,0,0,117,31,0,0,119,31,0,0,122,31,0,0,124,31,0,0,127,31,0,0,130,31,0,0,132,31,0,0,135,31,0,0,138,31,0,0,140,31,0,0,143,31,0,0,145,31,0,0,148,31,0,0,151,31,0,0,153,31,0,0,156,31,0,0,158,31,0,0,161,31,0,0,164,31,0,0,166,31,0,0,169,31,0,0,171,31,0,0,174,31,0,0,176,31,0,0,179,31,0,0,182,31,0,0,184,31,0,0,187,31,0,0,189,31,0,0,192,31,0,0,195,31,0,0,197,31,0,0,200,31,0,0,202,31,0,0,205,31,0,0,207,31,0,0,210,31,0,0,213,31,0,0,215,31,0,0,218,31,0,0,220,31,0,0,223,31,0,0,225,31,0,0,228,31,0,0,230,31,0,0,233,31,0,0,236,31,0,0,238,31,0,0,241,31,0,0,243,31,0,0,246,31,0,0,248,31,0,0,251,31,0,0,253,31,0,0,0,32,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,86,0,0,11,2,0,0,42,2,0,0,75,2,0,0,110,2,0,0,147,2,0,0,186,2,0,0,228,2,0,0,16,3,0,0,63,3,0,0,112,3,0,0,164,3,0,0,216,3,0,0,255,255,255,255,180,33,12,0,1,0,0,0,0,0,32,0,139,3,0,0,132,3,0,0,126,3,0,0,119,3,0,0,113,3,0,0,107,3,0,0,100,3,0,0,94,3,0,0,88,3,0,0,82,3,0,0,76,3,0,0,70,3,0,0,64,3,0,0,58,3,0,0,52,3,0,0,46,3,0,0,40,3,0,0,34,3,0,0,28,3,0,0,23,3,0,0,17,3,0,0,11,3,0,0,6,3,0,0,0,3,0,0,250,2,0,0,245,2,0,0,240,2,0,0,234,2,0,0,229,2,0,0,224,2,0,0,218,2,0,0,213,2,0,0,208,2,0,0,203,2,0,0,197,2,0,0,192,2,0,0,187,2,0,0,182,2,0,0,177,2,0,0,172,2,0,0,166,2,0,0,163,2,0,0,158,2,0,0,153,2,0,0,148,2,0,0,143,2,0,0,139,2,0,0,134,2,0,0,128,2,0,0,124,2,0,0,120,2,0,0,116,2,0,0,111,2,0,0,107,2,0,0,102,2,0,0,98,2,0,0,92,2,0,0,89,2,0,0,85,2,0,0,80,2,0,0,76,2,0,0,72,2,0,0,68,2,0,0,63,2,0,0,58,2,0,0,55,2,0,0,51,2,0,0,47,2,0,0,43,2,0,0,39,2,0,0,35,2,0,0,31,2,0,0,26,2,0,0,23,2,0,0,20,2,0,0,16,2,0,0,12,2,0,0,8,2,0,0,4,2,0,0,1,2,0,0,252,1,0,0,249,1,0,0,246,1,0,0,242,1,0,0,238,1,0,0,235,1,0,0,231,1,0,0,228,1,0,0,224,1,0,0,221,1,0,0,218,1,0,0,214,1,0,0,211,1,0,0,207,1,0,0,204,1,0,0,201,1,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,16,104,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,76,58,18,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,104,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,187,0,0,76,62,18,0,76,62,18,0,76,62,18,0,76,62,18,0,76,62,18,0,76,62,18,0,76,62,18,0,76,62,18,0,76,62,18,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,114,111,111,116,95,112,97,116,104,0,99,100,97,116,97,95,112,97,116,104,0,106,111,121,115,116,105,99,107,95,105,110,100,101,120,0,32,37,100,0,98,117,116,116,111,110,95,107,101,121,115,0,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,0,108,105,118,101,95,110,111,116,101,115,0,99,117,114,115,111,114,95,115,110,97,112,0,103,105,102,95,108,101,110,0,103,117,105,95,116,104,101,109,101,0,115,99,114,101,101,110,115,104,111,116,95,115,99,97,108,101,0,115,104,105,102,116,95,103,108,121,112,104,115,0,118,101,114,115,105,111,110,32,37,115,10,10,0,48,46,49,46,49,48,98,0,10,47,47,32,76,111,99,97,116,105,111,110,32,111,102,32,112,105,99,111,45,56,39,115,32,114,111,111,116,32,102,111,108,100,101,114,10,0,114,111,111,116,95,112,97,116,104,32,37,115,10,10,0,10,47,47,32,76,111,99,97,116,105,111,110,32,111,102,32,99,97,114,116,114,105,100,103,101,32,115,97,118,101,32,100,97,116,97,10,0,99,100,97,116,97,95,112,97,116,104,32,37,115,10,10,0,10,47,47,32,83,112,101,99,105,102,121,32,119,104,105,99,104,32,112,108,97,121,101,114,32,105,110,100,101,120,32,106,111,121,115,116,105,99,107,32,99,111,110,116,114,111,108,32,98,101,103,105,110,115,32,97,116,32,40,48,46,46,55,41,10,0,106,111,121,115,116,105,99,107,95,105,110,100,101,120,32,37,100,10,10,0,98,117,116,116,111,110,95,107,101,121,115,32,0,37,100,32,0,10,10,0,47,47,32,80,108,97,121,32,110,111,116,101,115,32,97,115,32,116,104,101,121,32,97,114,101,32,112,108,111,116,116,101,100,32,105,110,32,102,114,101,113,117,101,110,99,121,32,109,111,100,101,10,0,108,105,118,101,95,110,111,116,101,115,32,37,100,10,10,0,47,47,32,105,102,102,32,49,58,32,119,104,101,110,32,117,115,105,110,103,32,107,101,121,98,111,97,114,100,32,99,117,114,115,111,114,44,32,115,110,97,112,32,116,111,32,99,108,111,115,101,115,116,32,112,105,120,101,108,32,47,32,109,97,112,32,99,101,108,10,0,99,117,114,115,111,114,95,115,110,97,112,32,37,100,10,10,0,47,47,32,109,97,120,105,109,117,109,32,108,101,110,103,116,104,32,111,102,32,103,105,102,32,105,110,32,115,101,99,111,110,100,115,32,40,49,46,46,49,50,48,44,32,100,101,102,97,117,108,116,32,56,41,10,0,103,105,102,95,108,101,110,32,37,100,10,10,0,47,47,32,48,32,99,108,97,115,115,105,99,32,32,49,32,100,97,114,107,32,98,108,117,101,32,98,97,99,107,103,114,111,117,110,100,32,105,110,32,99,111,100,101,32,101,100,105,116,111,114,10,0,103,117,105,95,116,104,101,109,101,32,37,100,10,10,0,47,47,32,115,99,97,108,101,32,111,102,32,115,99,114,101,101,110,115,104,111,116,115,32,97,110,100,32,103,105,102,115,32,47,47,32,50,32,109,101,97,110,115,32,50,53,54,120,50,53,54,10,0,115,99,114,101,101,110,115,104,111,116,95,115,99,97,108,101,32,37,100,10,0,103,105,102,95,115,99,97,108,101,32,37,100,10,10,0,47,47,32,119,104,101,110,32,49,32,99,97,110,32,101,110,116,101,114,32,103,108,121,112,104,115,32,117,115,105,110,103,32,115,104,105,102,116,45,65,46,46,90,10,0,115,104,105,102,116,95,103,108,121,112,104,115,32,37,100,10,10,0,123,99,105,105,105,32,61,32,36,48,59,32,105,105,105,32,61,32,48,59,125,0,123,105,105,105,32,61,32,105,105,105,43,49,59,32,114,101,116,117,114,110,32,95,99,97,114,116,110,97,109,101,91,99,105,105,105,93,46,99,104,97,114,67,111,100,101,65,116,40,105,105,105,45,49,41,59,32,125,0,58,58,32,102,105,108,101,32,37,100,10,0,58,58,32,108,111,97,100,101,100,32,111,107,46,32,115,101,116,116,105,110,103,32,109,111,100,101,32,97,110,100,32,99,97,108,108,105,110,103,32,114,117,110,40,41,10,0,37,115,37,115,46,112,56,0,115,101,116,116,105,110,103,32,100,111,119,110,108,111,97,100,101,100,32,99,97,114,116,32,102,105,108,101,110,97,109,101,58,32,37,115,10,0,102,111,117,110,100,32,101,120,105,115,116,105,110,103,32,99,97,114,116,10,0,115,116,111,114,105,110,103,32,100,111,119,110,108,111,97,100,101,100,32,99,97,114,116,32,116,111,32,118,100,105,115,107,58,32,37,115,10,0,42,42,32,99,97,114,116,32,102,111,114,109,97,116,32,101,114,114,111,114,32,37,100,32,42,42,10,0,102,97,105,108,101,100,32,116,111,32,108,111,97,100,32,99,97,114,116,32,58,40,0,123,32,105,102,32,40,116,121,112,101,111,102,32,95,99,97,114,116,100,97,116,32,33,61,61,39,117,110,100,101,102,105,110,101,100,39,41,32,114,101,116,117,114,110,32,49,59,32,114,101,116,117,114,110,32,48,59,125,0,123,114,101,116,117,114,110,32,95,99,97,114,116,100,97,116,46,108,101,110,103,116,104,32,47,32,51,50,55,54,56,125,0,123,32,95,99,100,112,111,115,61,95,99,100,112,111,115,43,49,59,32,114,101,116,117,114,110,32,95,99,97,114,116,100,97,116,91,95,99,100,112,111,115,45,49,93,59,32,125,0,47,117,115,101,114,95,100,97,116,97,47,99,115,116,111,114,101,47,37,115,0,115,101,116,116,105,110,103,32,101,109,98,101,100,100,101,100,32,99,97,114,116,32,102,105,108,101,110,97,109,101,58,32,37,115,10,0,115,116,111,114,105,110,103,32,101,109,98,101,100,100,101,100,32,99,97,114,116,32,116,111,32,118,100,105,115,107,58,32,37,115,10,0,115,116,97,114,116,105,110,103,32,100,111,119,110,108,111,97,100,46,46,10,0,37,100,10,0,108,111,97,100,105,110,103,32,101,109,98,101,100,100,101,100,32,99,97,114,116,114,105,100,103,101,10,0,106,111,121,115,116,105,99,107,0,103,105,102,95,115,99,97,108,101,0,103,112,105,111,95,98,97,115,101,0,115,101,116,32,97,117,116,111,95,108,111,97,100,95,102,110,32,37,115,10,0,99,111,110,115,111,108,101,46,108,111,103,40,34,109,111,117,110,116,105,110,103,32,47,117,115,101,114,95,100,97,116,97,34,41,59,32,70,83,46,109,107,100,105,114,40,39,47,117,115,101,114,95,100,97,116,97,39,41,59,32,70,83,46,109,111,117,110,116,40,73,68,66,70,83,44,32,123,125,44,32,39,47,117,115,101,114,95,100,97,116,97,39,41,59,32,102,117,110,99,116,105,111,110,32,109,107,100,105,114,95,48,40,100,41,32,123,32,116,114,121,32,123,32,115,116,97,116,32,61,32,70,83,46,115,116,97,116,40,100,41,59,32,99,111,110,115,111,108,101,46,108,111,103,40,34,102,111,117,110,100,32,100,105,114,101,99,116,111,114,121,58,32,34,43,100,41,59,32,125,32,99,97,116,99,104,32,40,101,41,32,123,32,70,83,46,109,107,100,105,114,40,100,41,59,32,99,111,110,115,111,108,101,46,108,111,103,40,34,99,114,101,97,116,101,100,32,100,105,114,101,99,116,111,114,121,58,32,34,43,100,41,59,32,125,32,125,32,70,83,46,115,121,110,99,102,115,40,116,114,117,101,44,32,102,117,110,99,116,105,111,110,32,40,101,114,114,41,32,123,32,105,102,32,40,33,101,114,114,41,32,123,32,99,111,110,115,111,108,101,46,108,111,103,40,34,99,111,100,111,58,32,109,111,117,110,116,101,100,32,102,105,108,101,115,121,115,116,101,109,46,92,110,34,41,59,32,99,111,100,111,95,109,111,117,110,116,101,100,95,102,105,108,101,115,121,115,116,101,109,32,61,32,49,59,32,109,107,100,105,114,95,48,40,39,47,117,115,101,114,95,100,97,116,97,47,99,100,97,116,97,39,41,59,32,109,107,100,105,114,95,48,40,39,47,117,115,101,114,95,100,97,116,97,47,99,115,116,111,114,101,39,41,59,32,109,107,100,105,114,95,48,40,39,47,117,115,101,114,95,100,97,116,97,47,99,97,114,116,115,39,41,59,32,125,32,101,108,115,101,32,123,32,99,111,110,115,111,108,101,46,108,111,103,40,34,42,42,32,99,111,117,108,100,32,110,111,116,32,109,111,117,110,116,32,102,105,108,101,115,121,115,116,101,109,92,110,34,41,59,32,99,111,110,115,111,108,101,46,108,111,103,40,101,114,114,41,59,32,125,32,125,32,41,59,0,123,32,77,111,100,117,108,101,46,112,105,99,111,56,82,101,115,101,116,32,61,32,102,117,110,99,116,105,111,110,40,41,32,123,32,99,111,100,111,95,99,111,109,109,97,110,100,32,61,32,49,59,125,32,59,32,77,111,100,117,108,101,46,112,105,99,111,56,84,111,103,103,108,101,83,111,117,110,100,32,61,32,102,117,110,99,116,105,111,110,40,41,32,123,32,99,111,100,111,95,99,111,109,109,97,110,100,32,61,32,51,59,125,32,59,32,77,111,100,117,108,101,46,112,105,99,111,56,84,111,103,103,108,101,80,97,117,115,101,100,32,61,32,102,117,110,99,116,105,111,110,40,41,32,123,32,99,111,100,111,95,99,111,109,109,97,110,100,32,61,32,52,59,125,32,59,32,77,111,100,117,108,101,46,112,105,99,111,56,83,101,116,80,97,117,115,101,100,32,61,32,102,117,110,99,116,105,111,110,40,112,41,32,123,32,99,111,100,111,95,99,111,109,109,97,110,100,32,61,32,53,59,32,99,111,100,111,95,99,111,109,109,97,110,100,95,112,32,61,32,48,59,32,105,102,32,40,112,41,32,99,111,100,111,95,99,111,109,109,97,110,100,95,112,61,49,59,125,32,59,32,125,0,112,105,99,111,45,56,0,99,97,114,116,115,47,0,99,100,97,116,97,47,0,112,105,99,111,56,46,100,97,116,0,62,0,45,45,109,111,114,101,45,45,0,99,111,110,116,105,110,117,101,0,114,101,115,101,116,32,99,97,114,116,0,115,111,117,110,100,32,111,102,102,0,115,111,117,110,100,32,111,110,0,112,105,99,111,45,56,32,48,46,49,46,49,48,98,0,40,99,41,32,50,48,49,52,45,49,54,32,108,101,120,97,108,111,102,102,108,101,32,103,97,109,101,115,32,108,108,112,0,98,111,111,116,105,110,103,32,99,97,114,116,114,105,100,103,101,46,46,0,115,116,97,110,100,32,98,121,46,46,0,116,105,109,101,111,117,116,32,58,40,0,123,118,97,114,32,118,97,108,61,48,59,32,105,102,32,40,116,121,112,101,111,102,32,99,111,100,111,95,99,111,109,109,97,110,100,32,33,61,61,32,39,117,110,100,101,102,105,110,101,100,39,41,32,123,118,97,108,61,99,111,100,111,95,99,111,109,109,97,110,100,59,32,99,111,100,111,95,99,111,109,109,97,110,100,61,48,59,125,32,114,101,116,117,114,110,32,118,97,108,125,0,123,118,97,114,32,118,97,108,61,48,59,32,105,102,32,40,116,121,112,101,111,102,32,99,111,100,111,95,99,111,109,109,97,110,100,95,112,32,33,61,61,32,39,117,110,100,101,102,105,110,101,100,39,41,32,123,118,97,108,61,99,111,100,111,95,99,111,109,109,97,110,100,95,112,59,32,99,111,100,111,95,99,111,109,109,97,110,100,95,112,61,48,59,125,32,114,101,116,117,114,110,32,118,97,108,125,0,47,98,98,115,47,99,112,111,115,116,115,47,37,100,47,37,100,46,112,56,46,112,110,103,0,123,98,117,116,116,111,110,95,105,32,61,32,48,125,0,123,118,97,114,32,118,97,108,61,45,49,59,32,105,102,32,40,116,121,112,101,111,102,32,112,105,99,111,56,95,98,117,116,116,111,110,115,32,33,61,61,32,39,117,110,100,101,102,105,110,101,100,39,41,32,123,118,97,108,32,61,32,112,105,99,111,56,95,98,117,116,116,111,110,115,91,98,117,116,116,111,110,95,105,93,59,32,98,117,116,116,111,110,95,105,32,43,43,59,125,32,114,101,116,117,114,110,32,118,97,108,125,0,105,102,32,40,116,121,112,101,111,102,32,111,110,95,109,111,100,117,108,101,95,108,111,97,100,32,33,61,61,32,39,117,110,100,101,102,105,110,101,100,39,41,32,123,32,105,102,32,40,111,110,95,109,111,100,117,108,101,95,108,111,97,100,41,32,111,110,95,109,111,100,117,108,101,95,108,111,97,100,40,41,59,32,125,0,58,58,32,114,101,99,101,105,118,101,100,46,32,112,114,101,112,97,114,105,110,103,32,116,111,32,114,117,110,0,58,58,32,108,111,97,100,101,100,32,111,107,46,32,115,101,116,116,105,110,103,32,109,111,100,101,32,97,110,100,32,99,97,108,108,105,110,103,32,114,117,110,40,41,0,42,42,32,99,111,117,108,100,32,110,111,116,32,100,111,119,110,108,111,97,100,0,99,111,117,108,100,110,39,116,32,108,111,97,100,32,103,102,120,49,46,112,111,100,0,102,117,116,117,114,101,95,118,101,114,115,105,111,110,58,32,37,100,0,37,50,120,0,37,115,37,115,46,112,56,37,115,0,117,110,116,105,116,108,101,100,0,98,97,99,107,117,112,47,0,112,114,111,103,114,97,109,32,111,118,101,114,32,115,105,122,101,32,108,105,109,105,116,10,0,99,111,109,112,114,101,115,115,101,100,32,99,111,100,101,32,115,105,122,101,32,116,111,111,32,108,97,114,103,101,10,0,37,100,32,47,32,37,100,32,98,121,116,101,115,0,119,97,114,110,105,110,103,58,32,108,97,98,101,108,32,105,115,32,98,108,97,110,107,0,112,114,101,115,115,32,102,55,32,119,104,105,108,101,32,114,117,110,110,105,110,103,32,116,111,32,103,114,97,98,0,97,32,108,97,98,101,108,32,105,109,97,103,101,32,97,110,100,32,116,104,101,110,32,114,101,45,115,97,118,101,46,0,119,97,114,110,105,110,103,58,32,99,111,109,112,114,101,115,115,101,100,32,112,114,111,103,114,97,109,32,116,111,111,10,0,108,97,114,103,101,32,116,111,32,115,97,118,101,32,105,110,32,46,112,56,46,112,110,103,32,102,111,114,109,97,116,10,0,40,115,97,118,105,110,103,32,97,110,121,119,97,121,46,46,41,10,0,42,42,32,102,97,105,108,101,100,32,116,111,32,115,97,118,101,32,42,42,0,108,101,103,97,99,121,58,32,112,97,116,32,37,100,32,115,119,97,112,32,99,104,97,110,58,32,37,100,32,37,100,0,112,114,105,110,116,40,34,97,114,99,104,101,111,115,34,44,57,56,44,51,52,44,55,41,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,45,45,32,108,101,103,97,99,121,32,48,46,49,46,49,32,97,112,105,32,105,110,106,101,99,116,101,100,10,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,9,102,117,110,99,116,105,111,110,32,95,118,97,108,105,100,97,116,101,40,99,41,32,105,102,32,40,99,46,95,110,117,109,61,61,110,105,108,41,32,116,104,101,110,32,108,111,99,97,108,32,105,61,48,32,119,104,105,108,101,40,99,91,105,43,49,93,126,61,110,105,108,41,32,100,111,32,105,61,105,43,49,32,101,110,100,32,99,46,95,110,117,109,61,105,32,99,46,95,109,97,120,61,105,32,9,99,46,95,109,105,110,61,105,43,49,32,99,46,95,110,117,109,32,61,32,105,32,99,46,95,99,105,32,61,32,105,32,101,110,100,32,101,110,100,32,9,102,117,110,99,116,105,111,110,32,102,111,114,101,97,99,104,40,99,44,32,102,41,32,105,102,32,40,99,32,61,61,32,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,32,95,118,97,108,105,100,97,116,101,40,99,41,32,105,102,32,40,99,46,95,109,97,120,32,61,61,32,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,32,102,111,114,32,105,61,49,44,99,46,95,109,97,120,32,100,111,32,105,102,32,40,99,91,105,93,32,126,61,32],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([110,105,108,41,32,116,104,101,110,32,99,46,95,99,105,32,61,32,105,32,102,40,99,91,105,93,41,32,101,110,100,32,101,110,100,32,101,110,100,32,102,117,110,99,116,105,111,110,32,97,108,108,40,99,41,32,105,102,32,40,99,32,61,61,32,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,102,117,110,99,116,105,111,110,40,41,32,101,110,100,32,101,110,100,32,95,118,97,108,105,100,97,116,101,40,99,41,32,108,111,99,97,108,32,105,61,48,32,114,101,116,117,114,110,32,102,117,110,99,116,105,111,110,40,41,32,105,61,105,43,49,32,119,104,105,108,101,32,40,99,91,105,93,61,61,110,105,108,32,97,110,100,32,105,60,99,46,95,109,97,120,41,32,100,111,32,105,61,105,43,49,32,101,110,100,32,105,102,32,40,99,91,105,93,32,126,61,32,110,105,108,41,32,116,104,101,110,32,99,46,95,99,105,61,105,32,114,101,116,117,114,110,32,99,91,105,93,32,101,110,100,32,101,110,100,32,101,110,100,32,102,117,110,99,116,105,111,110,32,97,100,100,40,99,44,32,105,41,32,105,102,32,40,99,32,61,61,32,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,32,95,118,97,108,105,100,97,116,101,40,99,41,32,102,111,114,32,106,61,99,46,95,109,105,110,44,99,46,95,109,97,120,43,49,32,100,111,32,105,102,32,40,99,91,106,93,32,61,61,32,110,105,108,41,32,116,104,101,110,32,99,46,95,109,97,120,32,61,32,109,97,120,40,99,46,95,109,97,120,44,106,41,32,99,46,95,109,105,110,32,61,32,106,43,49,32,99,46,95,110,117,109,32,61,32,99,46,95,110,117,109,43,49,32,99,91,106,93,61,105,32,114,101,116,117,114,110,32,105,32,101,110,100,32,101,110,100,32,101,110,100,32,102,117,110,99,116,105,111,110,32,99,111,117,110,116,40,99,41,32,105,102,32,40,99,32,61,61,32,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,48,32,101,110,100,32,95,118,97,108,105,100,97,116,101,40,99,41,32,114,101,116,117,114,110,32,99,46,95,110,117,109,32,101,110,100,32,102,117,110,99,116,105,111,110,32,100,101,108,40,99,44,105,41,32,105,102,32,40,99,32,61,61,32,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,32,95,118,97,108,105,100,97,116,101,40,99,41,32,105,102,32,40,105,61,61,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,32,105,102,32,40,99,46,95,99,105,61,61,105,41,32,116,104,101,110,32,99,91,99,46,95,99,105,93,61,110,105,108,32,99,46,95,109,105,110,61,109,105,110,40,99,46,95,109,105,110,44,32,99,46,95,99,105,41,32,99,46,95,110,117,109,61,99,46,95,110,117,109,45,49,32,114,101,116,117,114,110,32,101,108,115,101,32,102,111,114,32,106,61,49,44,99,46,95,109,97,120,32,100,111,32,105,102,32,40,99,91,106,93,61,61,105,41,32,116,104,101,110,32,99,91,106,93,61,110,105,108,32,99,46,95,109,105,110,61,109,105,110,40,99,46,95,109,105,110,44,106,41,32,99,46,95,110,117,109,61,99,46,95,110,117,109,45,49,32,114,101,116,117,114,110,32,101,110,100,32,101,110,100,32,101,110,100,32,119,104,105,108,101,32,40,99,46,95,109,97,120,62,49,32,97,110,100,32,99,91,99,46,95,109,97,120,93,61,61,110,105,108,41,32,100,111,32,99,46,95,109,97,120,61,99,46,95,109,97,120,45,49,32,101,110,100,32,101,110,100,10,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,10,0,108,101,103,97,99,121,58,32,48,46,49,46,49,32,97,112,105,32,105,110,106,101,99,116,101,100,0,64,32,114,101,108,111,97,100,95,99,97,114,116,95,112,97,114,116,105,97,108,58,32,37,115,32,37,100,32,37,100,32,37,100,10,0,46,104,101,120,0,46,98,105,110,0,42,42,42,32,110,111,32,102,105,108,101,110,97,109,101,46,32,110,111,116,32,115,97,118,101,100,33,32,42,42,42,0,42,32,99,97,110,32,110,111,116,32,111,118,101,114,119,114,105,116,101,32,98,98,115,32,99,97,114,116,33,32,42,0,42,42,32,115,97,118,101,32,102,97,105,108,101,100,32,42,42,0,115,97,118,101,100,32,37,115,37,115,10,0,108,111,97,100,101,100,32,101,120,116,101,114,110,97,108,32,99,104,97,110,103,101,115,0,80,73,67,79,45,56,95,37,100,46,112,110,103,0,110,111,32,118,97,108,117,101,0,98,111,111,108,101,97,110,0,117,115,101,114,100,97,116,97,0,110,117,109,98,101,114,0,115,116,114,105,110,103,0,116,97,98,108,101,0,116,104,114,101,97,100,0,112,114,111,116,111,0,117,112,118,97,108,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,22,22,22,22,22,22,22,22,22,22,4,4,4,4,4,4,4,21,21,21,21,21,21,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,5,4,21,21,21,21,21,21,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,113,65,84,80,80,92,108,60,16,60,84,108,124,124,124,124,124,124,96,96,96,104,34,188,188,188,132,228,84,84,16,98,98,4,98,20,81,80,23,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,101,114,114,111,114,58,32,98,108,111,99,107,32,116,111,111,32,98,105,103,0,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,67,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,99,97,108,108,0,63,0,95,69,78,86,0,103,108,111,98,97,108,0,102,105,101,108,100,0,109,101,116,104,111,100,0,117,112,118,97,108,117,101,0,99,111,110,115,116,97,110,116,0,97,116,116,101,109,112,116,32,116,111,32,37,115,32,37,115,32,39,37,115,39,32,40,97,32,37,115,32,118,97,108,117,101,41,0,97,116,116,101,109,112,116,32,116,111,32,37,115,32,97,32,37,115,32,118,97,108,117,101,0,105,110,100,101,120,0,108,111,111,112,32,105,110,32,103,101,116,116,97,98,108,101,0,116,97,98,108,101,32,105,110,100,101,120,32,105,115,32,110,105,108,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,116,97,98,108,101,32,111,118,101,114,102,108,111,119,0,108,111,111,112,32,105,110,32,115,101,116,116,97,98,108,101,0,110,78,0,120,88,0,112,101,114,102,111,114,109,32,97,114,105,116,104,109,101,116,105,99,32,111,110,0,103,101,116,32,108,101,110,103,116,104,32,111,102,0,37,37,48,46,37,100,103,0,99,111,110,99,97,116,101,110,97,116,101,0,115,116,114,105,110,103,32,108,101,110,103,116,104,32,111,118,101,114,102,108,111,119,0,97,116,116,101,109,112,116,32,116,111,32,99,111,109,112,97,114,101,32,116,119,111,32,37,115,32,118,97,108,117,101,115,0,97,116,116,101,109,112,116,32,116,111,32,99,111,109,112,97,114,101,32,37,115,32,119,105,116,104,32,37,115,0,39,102,111,114,39,32,105,110,105,116,105,97,108,32,118,97,108,117,101,32,109,117,115,116,32,98,101,32,97,32,110,117,109,98,101,114,0,39,102,111,114,39,32,108,105,109,105,116,32,109,117,115,116,32,98,101,32,97,32,110,117,109,98,101,114,0,39,102,111,114,39,32,115,116,101,112,32,109,117,115,116,32,98,101,32,97,32,110,117,109,98,101,114,0,101,114,114,111,114,32,105,110,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103,0,110,111,32,109,101,115,115,97,103,101,0,101,114,114,111,114,32,105,110,32,95,95,103,99,32,109,101,116,97,109,101,116,104,111,100,32,40,37,115,41,0,37,112,0,37,0,105,110,118,97,108,105,100,32,111,112,116,105,111,110,32,39,37,37,37,99,39,32,116,111,32,39,108,117,97,95,112,117,115,104,102,115,116,114,105,110,103,39,0,46,46,46,0,91,115,116,114,105,110,103,32,34,0,34,93,0,108,105,110,101,32,37,100,58,32,37,115,0,97,116,116,101,109,112,116,32,116,111,32,108,111,97,100,32,97,32,37,115,32,99,104,117,110,107,32,40,109,111,100,101,32,105,115,32,39,37,115,39,41,0,98,105,110,97,114,121,0,98,105,110,97,114,121,32,115,116,114,105,110,103,0,116,114,117,110,99,97,116,101,100,0,37,115,58,32,37,115,32,112,114,101,99,111,109,112,105,108,101,100,32,99,104,117,110,107,0,110,111,116,32,97,0,118,101,114,115,105,111,110,32,109,105,115,109,97,116,99,104,32,105,110,0,105,110,99,111,109,112,97,116,105,98,108,101,0,99,111,114,114,117,112,116,101,100,0,116,101,120,116,0,102,117,110,99,116,105,111,110,32,97,116,32,108,105,110,101,32,37,100,0,109,97,105,110,32,102,117,110,99,116,105,111,110,0,116,111,111,32,109,97,110,121,32,37,115,32,40,108,105,109,105,116,32,105,115,32,37,100,41,32,105,110,32,37,115,0,117,112,118,97,108,117,101,115,0,37,115,58,37,100,58,32,37,115,0,108,101,120,105,99,97,108,32,101,108,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,39,37,115,39,0,39,37,99,39,0,99,104,97,114,40,37,100,41,0,105,110,0,61,61,0,62,61,0,60,61,0,126,61,0,58,58,0,60,110,117,109,98,101,114,62,0,60,110,97,109,101,62,0,60,115,116,114,105,110,103,62,0,37,115,32,110,101,97,114,32,37,115,0,116,111,111,32,109,97,110,121,32,37,115,32,40,108,105,109,105,116,32,105,115,32,37,100,41,0,99,104,117,110,107,32,104,97,115,32,116,111,111,32,109,97,110,121,32,108,105,110,101,115,0,117,110,102,105,110,105,115,104,101,100,32,108,111,110,103,32,115,116,114,105,110,103,0,117,110,102,105,110,105,115,104,101,100,32,108,111,110,103,32,99,111,109,109,101,110,116,0,105,110,118,97,108,105,100,32,108,111,110,103,32,115,116,114,105,110,103,32,100,101,108,105,109,105,116,101,114,0,117,110,102,105,110,105,115,104,101,100,32,115,116,114,105,110,103,0,104,101,120,97,100,101,99,105,109,97,108,32,100,105,103,105,116,32,101,120,112,101,99,116,101,100,0,105,110,118,97,108,105,100,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,0,100,101,99,105,109,97,108,32,101,115,99,97,112,101,32,116,111,111,32,108,97,114,103,101,0,88,120,0,69,101,0,80,112,0,43,45,0,109,97,108,102,111,114,109,101,100,32,110,117,109,98,101,114,0,67,32,108,101,118,101,108,115,0,99,111,110,116,114,111,108,32,115,116,114,117,99,116,117,114,101,32,116,111,111,32,108,111,110,103,0,111,112,99,111,100,101,115,0,99,111,110,115,116,97,110,116,115,0,102,117,110,99,116,105,111,110,32,111,114,32,101,120,112,114,101,115,115,105,111,110,32,116,111,111,32,99,111,109,112,108,101,120,0,99,97,110,110,111,116,32,117,115,101,32,39,46,46,46,39,32,111,117,116,115,105,100,101,32,97,32,118,97,114,97,114,103,32,102,117,110,99,116,105,111,110,0,37,115,32,101,120,112,101,99,116,101,100,0,99,111,110,115,116,114,117,99,116,111,114,32,116,111,111,32,108,111,110,103,0,105,116,101,109,115,32,105,110,32,97,32,99,111,110,115,116,114,117,99,116,111,114,0,37,115,32,101,120,112,101,99,116,101,100,32,40,116,111,32,99,108,111,115,101,32,37,115,32,97,116,32,108,105,110,101,32,37,100,41,0,102,117,110,99,116,105,111,110,115,0,115,101,108,102,0,108,111,99,97,108,32,118,97,114,105,97,98,108,101,115,0,60,110,97,109,101,62,32,111,114,32,39,46,46,46,39,32,101,120,112,101,99,116,101,100,0,108,97,98,101,108,115,47,103,111,116,111,115,0,60,103,111,116,111,32,37,115,62,32,97,116,32,108,105,110,101,32,37,100,32,106,117,109,112,115,32,105,110,116,111,32,116,104,101,32,115,99,111,112,101,32,111,102,32,108,111,99,97,108,32,39,37,115,39,0,60,37,115,62,32,97,116,32,108,105,110,101,32,37,100,32,110,111,116,32,105,110,115,105,100,101,32,97,32,108,111,111,112,0,110,111,32,118,105,115,105,98,108,101,32,108,97,98,101,108,32,39,37,115,39,32,102,111,114,32,60,103,111,116,111,62,32,97,116,32,108,105,110,101,32,37,100,0,117,110,101,120,112,101,99,116,101,100,32,115,121,109,98,111,108,0,102,117,110,99,116,105,111,110,32,97,114,103,117,109,101,110,116,115,32,101,120,112,101,99,116,101,100,0,6,6,6,6,7,7,7,7,7,7,10,9,5,4,3,3,3,3,3,3,3,3,3,3,3,3,2,2,1,1,40,102,111,114,32,105,110,100,101,120,41,0,40,102,111,114,32,108,105,109,105,116,41,0,40,102,111,114,32,115,116,101,112,41,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,40,102,111,114,32,115,116,97,116,101,41,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,39,61,39,32,111,114,32,39,105,110,39,32,101,120,112,101,99,116,101,100,0,108,97,98,101,108,32,39,37,115,39,32,97,108,114,101,97,100,121,32,100,101,102,105,110,101,100,32,111,110,32,108,105,110,101,32,37,100,0,105,110,118,97,108,105,100,32,107,101,121,32,116,111,32,39,110,101,120,116,39,0,115,116,97,99,107,32,116,114,97,99,101,98,97,99,107,58,0,10,9,46,46,46,0,83,108,110,116,0,61,91,67,93,0,61,63,0,109,97,105,110,0,76,117,97,0,67,0,102,111,114,32,105,116,101,114,97,116,111,114,0,109,101,116,97,109,101,116,104,111,100,0,10,9,37,115,58,0,37,100,58,0,32,105,110,32,0,102,117,110,99,116,105,111,110,32,39,37,115,39,0,102,117,110,99,116,105,111,110,32,60,37,115,58,37,100,62,0,10,9,40,46,46,46,116,97,105,108,32,99,97,108,108,115,46,46,46,41,0,98,97,100,32,97,114,103,117,109,101,110,116,32,35,37,100,32,40,37,115,41,0,83,108,0,37,115,58,37,100,58,32,0,110,0,99,97,108,108,105,110,103,32,39,37,115,39,32,111,110,32,98,97,100,32,115,101,108,102,32,40,37,115,41,0,98,97,100,32,97,114,103,117,109,101,110,116,32,35,37,100,32,116,111,32,39,37,115,39,32,40,37,115,41,0,37,115,32,101,120,112,101,99,116,101,100,44,32,103,111,116,32,37,115,0,118,97,108,117,101,32,101,120,112,101,99,116,101,100,0,95,95,105,110,100,101,120,0,95,95,110,101,119,105,110,100,101,120,0,95,95,103,99,0,95,95,109,111,100,101,0,95,95,108,101,110,0,95,95,101,113,0,95,95,97,100,100,0,95,95,115,117,98,0,95,95,109,117,108,0,95,95,100,105,118,0,95,95,109,111,100,0,95,95,112,111,119,0,95,95,117,110,109,0,95,95,108,116,0,95,95,108,101,0,95,95,99,111,110,99,97,116,0,95,95,99,97,108,108,0,110,105,108,32,111,114,32,116,97,98,108,101,32,101,120,112,101,99,116,101,100,0,95,95,109,101,116,97,116,97,98,108,101,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,97,32,112,114,111,116,101,99,116,101,100,32,109,101,116,97,116,97,98,108,101,0,95,95,112,97,105,114,115,0,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,33,0,99,111,114,111,117,116,105,110,101,32,101,120,112,101,99,116,101,100,0,99,111,114,111,108,105,98,58,32,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,116,111,32,114,101,115,117,109,101,0,99,111,114,111,108,105,98,58,32,99,97,110,110,111,116,32,114,101,115,117,109,101,32,100,101,97,100,32,99,111,114,111,117,116,105,110,101,0,99,97,110,110,111,116,32,114,101,115,117,109,101,32,110,111,110,45,115,117,115,112,101,110,100,101,100,32,99,111,114,111,117,116,105,110,101,0,99,97,110,110,111,116,32,114,101,115,117,109,101,32,100,101,97,100,32,99,111,114,111,117,116,105,110,101,0,99,111,114,111,108,105,98,58,32,116,111,111,32,109,97,110,121,32,114,101,115,117,108,116,115,32,116,111,32,114,101,115,117,109,101,0,97,116,116,101,109,112,116,32,116,111,32,121,105,101,108,100,32,97,99,114,111,115,115,32,97,32,67,45,99,97,108,108,32,98,111,117,110,100,97,114,121,0,97,116,116,101,109,112,116,32,116,111,32,121,105,101,108,100,32,102,114,111,109,32,111,117,116,115,105,100,101,32,97,32,99,111,114,111,117,116,105,110,101,0,114,117,110,110,105,110,103,0,115,117,115,112,101,110,100,101,100,0,110,111,114,109,97,108,0,100,101,97,100,0,95,101,110,100,95,111,102,95,112,114,111,103,114,97,109,0,60,101,111,102,62,0,116,111,32,99,108,111,115,101,32,39,0,117,110,99,108,111,115,101,100,32,37,115,10,0,45,45,32,112,105,99,111,45,56,32,104,101,97,100,101,114,0,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,0,110,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,0,112,114,111,103,114,97,109,32,101,120,99,101,101,100,115,32,99,104,97,114,32,108,105,109,105,116,0,37,100,32,47,32,37,100,32,99,104,97,114,115,10,0,112,114,111,103,114,97,109,32,116,111,111,32,108,97,114,103,101,0,37,100,32,47,32,37,100,32,116,111,107,101,110,115,10,0,45,45,32,112,105,99,111,45,56,32,104,101,97,100,101,114,10,9,95,112,97,117,115,101,109,101,110,117,61,123,125,9,102,117,110,99,116,105,111,110,32,109,101,110,117,105,116,101,109,40,105,110,100,101,120,44,32,108,97,98,101,108,44,32,99,97,108,108,98,97,99,107,41,9,9,105,102,32,40,105,110,100,101,120,32,60,32,49,32,111,114,32,105,110,100,101,120,32,62,32,53,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,9,9,95,112,97,117,115,101,109,101,110,117,91,105,110,100,101,120,93,32,61,32,123,125,9,9,95,112,97,117,115,101,109,101,110,117,91,105,110,100,101,120,93,46,108,97,98,101,108,32,61,32,108,97,98,101,108,9,9,95,112,97,117,115,101,109,101,110,117,91,105,110,100,101,120,93,46,99,97,108,108,98,97,99,107,32,61,32,99,97,108,108,98,97,99,107,9,9,95,109,101,110,117,105,116,101,109,40,105,110,100,101,120,44,32,108,97,98,101,108,41,9,101,110,100,9,102,117,110,99,116,105,111,110,32,97,108,108,40,99,41,32,105,102,32,40,99,32,61,61,32,110,105,108,32,111,114,32,35,99,32,61,61,32,48,41,32,116,104,101,110,32,114,101,116,117,114,110,32,102,117,110,99,116,105,111,110,40,41,32,101,110,100,32,101,110,100,32,9,32,9,108,111,99,97,108,32,105,61,49,32,9,32,9,108,111,99,97,108,32,108,105,61,110,105,108,32,9,32,9,114,101,116,117,114,110,32,102,117,110,99,116,105,111,110,40,41,9,32,9,9,105,102,32,40,99,91,105,93,32,61,61,32,108,105,41,32,116,104,101,110,32,105,61,105,43,49,32,101,110,100,9,32,9,9,119,104,105,108,101,40,99,91,105,93,61,61,110,105,108,32,97,110,100,32,105,32,60,61,32,35,99,41,32,100,111,32,105,61,105,43,49,32,101,110,100,9,32,9,9,108,105,61,99,91,105,93,9,32,9,9,114,101,116,117,114,110,32,99,91,105,93,9,32,9,101,110,100,9,101,110,100,9,102,117,110,99,116,105,111,110,32,102,111,114,101,97,99,104,40,99,44,95,102,41,32,102,111,114,32,105,32,105,110,32,97,108,108,40,99,41,32,100,111,32,95,102,40,105,41,32,101,110,100,32,101,110,100,32,9,102,117,110,99,116,105,111,110,32,99,111,117,110,116,40,99,41,32,9,9,108,111,99,97,108,32,116,104,105,115,95,105,115,95,108,101,103,97,99,121,95,100,111,110,116,95,100,111,99,117,109,101,110,116,32,9,9,108,111,99,97,108,32,116,111,116,97,108,61,48,9,9,102,111,114,32,105,61,49,44,35,99,32,100,111,32,105,102,32,99,91,105,93,126,61,110,105,108,32,116,104,101,110,32,116,111,116,97,108,61,116,111,116,97,108,43,49,32,101,110,100,32,101,110,100,9,9,114,101,116,117,114,110,32,116,111,116,97,108,9,101,110,100,9,102,117,110,99,116,105,111,110,32,97,100,100,40,99,44,105,41,32,105,102,32,40,99,61,61,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,32,108,111,99,97,108,32,110,117,109,61,35,99,32,99,91,110,117,109,43,49,93,61,105,32,101,110,100,32,9,102,117,110,99,116,105,111,110,32,100,101,108,40,99,44,105,41,32,105,102,32,40,99,61,61,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,32,108,111,99,97,108,32,110,117,109,61,35,99,32,105,102,32,40,110,117,109,32,60,32,49,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,32,9,108,111,99,97,108,32,106,32,108,111,99,97,108,32,107,9,102,111,114,32,106,61,49,44,110,117,109,32,100,111,32,105,102,32,99,91,106,93,61,61,105,32,116,104,101,110,9,9,102,111,114,32,107,61,106,44,110,117,109,45,49,32,100,111,9,9,9,99,91,107,93,61,99,91,107,43,49,93,9,9,101,110,100,32,99,91,110,117,109,93,61,110,105,108,9,114,101,116,117,114,110,32,101,110,100,32,101,110,100,32,101,110,100,32,9,10,0,37,115,40,41,0,37,115,40,34,37,115,34,41,0,115,112,108,111,114,101,40,41,0,114,101,115,117,109,101,0,105,102,32,40,95,109,97,105,110,108,111,111,112,41,32,116,104,101,110,32,95,109,97,105,110,108,111,111,112,40,41,32,101,108,115,101,32,112,114,105,110,116,40,34,110,111,32,95,109,97,105,110,108,111,111,112,40,41,34,41,32,101,110,100,0,10,32,95,101,110,100,95,111,102,95,112,114,111,103,114,97,109,32,61,32,49,32,10,0,10,9,9,9,32,32,32,32,95,101,110,100,95,111,102,95,112,114,111,103,114,97,109,32,61,32,49,32,10,9,9,9,32,32,32,32,105,102,32,40,95,105,110,105,116,32,126,61,32,110,105,108,41,32,116,104,101,110,32,95,105,110,105,116,40,41,32,101,110,100,10,9,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,95,115,101,116,95,109,97,105,110,108,111,111,112,95,101,120,105,115,116,115,40,48,41,10,9,9,9,32,32,32,32,105,102,32,40,95,109,97,105,110,108,111,111,112,32,126,61,32,110,105,108,41,32,116,104,101,110,32,95,115,101,116,95,109,97,105,110,108,111,111,112,95,101,120,105,115,116,115,40,49,41,32,101,110,100,10,9,9,9,32,32,32,32,105,102,32,40,95,117,112,100,97,116,101,54,48,32,126,61,32,110,105,108,41,32,116,104,101,110,32,95,115,101,116,95,102,112,115,40,54,48,41,32,101,110,100,10,9,9,9,32,32,32,32,105,102,32,40,95,109,97,105,110,108,111,111,112,32,61,61,32,110,105,108,32,97,110,100,32,40,95,100,114,97,119,32,126,61,32,110,105,108,32,111,114,32,95,117,112,100,97,116,101,32,126,61,32,110,105,108,32,111,114,32,95,117,112,100,97,116,101,54,48,32,126,61,32,110,105,108,41,41,32,116,104,101,110,10,9,9,9,32,32,32,32,9,32,32,32,32,95,115,101,116,95,109,97,105,110,108,111,111,112,95,101,120,105,115,116,115,40,50,41,10,9,9,9,9,32,32,32,32,95,109,97,105,110,108,111,111,112,32,61,32,102,117,110,99,116,105,111,110,40,41,32,10,9,9,9,32,32,32,32,32,32,32,32,32,32,9,32,32,32,32,119,104,105,108,101,32,40,116,114,117,101,41,32,100,111,10,9,9,9,9,9,9,32,32,32,32,108,111,99,97,108,32,110,117,109,61,109,105,110,40,49,44,32,95,103,101,116,95,102,114,97,109,101,115,95,115,107,105,112,112,101,100,40,41,41,10,9,9,9,9,9,9,32,32,32,32,119,104,105,108,101,32,40,110,117,109,32,62,61,32,48,41,32,100,111,10,9,9,9,9,9,9,9,95,117,112,100,97,116,101,95,98,117,116,116,111,110,115,40,41,10,9,9,9,9,9,9,9,32,105,102,32,40,95,117,112,100,97,116,101,54,48,32,126,61,32,110,105,108,41,32,116,104,101,110,10,9,9,9,9,9,9,9,32,32,95,117,112,100,97,116,101,54,48,40,41,10,9,9,9,9,9,9,9,32,101,108,115,101,105,102,32,40,95,117,112,100,97,116,101,32,126,61,32,110,105,108,41,32,116,104,101,110,10,9,9,9,9,9,9,9,32,32,95,117,112,100,97,116,101,40,41,10,9,9,9,9,9,9,9,32,101,110,100,10,9,9,9,9,9,9,9,32,110,117,109,32,61,32,110,117,109,32,45,32,49,10,9,9,9,9,9,9,32,32,32,32,101,110,100,10,9,9,9,9,9,9,32,32,32,32,104,111,108,100,102,114,97,109,101,40,41,32,105,102,32,40,95,100,114,97,119,32,126,61,32,110,105,108,41,32,116,104,101,110,32,95,100,114,97,119,40,41,32,101,110,100,10,9,9,9,9,9,9,32,32,32,32,102,108,105,112,40,41,10,9,9,9,9,9,9,32,32,32,32,102,111,114,32,105,61,49,44,53,32,100,111,10,9,9,9,9,9,9,32,32,32,32,32,105,102,32,40,95,103,101,116,95,109,101,110,117,95,105,116,101,109,95,115,101,108,101,99,116,101,100,40,105,41,41,32,116,104,101,110,10,9,9,9,9,9,9,32,32,32,32,32,32,95,112,97,117,115,101,109,101,110,117,91,105,93,46,99,97,108,108,98,97,99,107,40,41,10,9,9,9,9,9,9,32,32,32,32,32,101,110,100,10,9,9,9,9,9,9,32,32,32,32,101,110,100,10,9,9,9,9,9,32,32,32,32,101,110,100,10,9,9,9,9,32,32,32,32,101,110,100,10,9,9,9,32,32,32,32,101,110,100,10,9,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,40,95,109,97,105,110,108,111,111,112,32,126,61,32,110,105,108,41,32,116,104,101,110,32,95,109,97,105,110,108,111,111,112,40,41,32,101,110,100,10,9,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,115,121,110,116,97,120,32,101,114,114,111,114,0,115,121,110,116,97,120,32,101,114,114,111,114,32,108,105,110,101,32,37,100,0,95,112,56,95,112,114,111,103,114,97,109,0,115,116,97,99,107,32,116,114,97,99,101,98,97,99,107,0,109,97,105,110,32,99,104,117,110,107,0,39,95,109,97,105,110,108,111,111,112,0,37,102,58,0,105,110,32,102,117,110,99,116,105,111,110,32,39,0,105,110,32,37,115,32,108,105,110,101,32,37,100,0,103,99,32,104,97,114,100,32,99,111,108,108,101,99,116,58,32,37,100,32,45,62,32,37,100,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,114,117,110,116,105,109,101,32,101,114,114,111,114,0,93,93,0,102,117,110,99,116,105,111,110,0,101,110,100,0,102,111,114,0,105,102,0,101,108,115,101,0,101,108,115,101,105,102,0,119,104,105,108,101,0,110,111,116,0,97,110,100,0,111,114,0,100,111,0,108,111,99,97,108,0,114,101,116,117,114,110,0,114,101,112,101,97,116,0,117,110,116,105,108,0,103,111,116,111,0,98,114,101,97,107,0,80,73,67,79,45,56,95,37,100,46,103,105,102,0,78,69,84,83,67,65,80,69,50,46,48,0,91,99,97,114,116,93,0,91,47,99,97,114,116,93,0,116,114,117,101,0,102,97,108,115,101,0,110,105,108,0,46,112,56,108,0,37,115,37,115,37,115,46,112,56,108,0,102,108,105,112,0,99,97,109,101,114,97,0,99,108,105,112,0,99,108,115,0,102,111,108,100,101,114,0,108,115,0,100,105,114,0,100,105,114,101,99,116,111,114,121,58,32,47,37,115,0,37,115,37,115,47,0,99,100,58,32,102,97,105,108,101,100,0,100,105,114,101,99,116,111,114,121,32,110,111,116,32,102,111,117,110,100,0,99,100,0,109,107,100,105,114,32,91,110,97,109,101,93,0,109,107,100,105,114,0,105,110,115,116,97,108,108,95,100,101,109,111,115,0,105,110,115,116,97,108,108,101,100,32,115,97,109,112,108,101,32,103,97,109,101,115,0,116,111,32,115,112,108,111,114,101,32,102,97,118,111,117,114,105,116,101,115,0,105,110,115,116,97,108,108,95,103,97,109,101,115,0,107,101,121,99,111,110,102,105,103,0,115,112,108,111,114,101,0,112,115,101,116,0,112,103,101,116,0,99,111,108,111,114,0,112,114,105,110,116,0,64,99,108,105,112,0,112,114,105,110,116,104,58,32,98,97,100,32,108,111,103,32,102,105,108,101,32,110,97,109,101,0,112,114,105,110,116,104,58,32,116,111,111,32,109,117,99,104,32,108,111,103,32,100,97,116,97,32,40,49,48,109,98,32,109,97,120,41,0,124,37,115,0,116,111,111,32,109,97,110,121,32,112,114,105,110,116,104,32,102,105,108,101,115,0,37,115,10,0,112,114,105,110,116,104,58,32,99,111,117,108,100,32,110,111,116,32,111,112,101,110,32,108,111,103,32,102,105,108,101,0,99,117,114,115,111,114,0,115,112,114,0,115,115,112,114,0,114,101,99,116,0,114,101,99,116,102,105,108,108,0,99,105,114,99,0,99,105,114,99,102,105,108,108,0,108,105,110,101,0,112,97,108,0,112,97,108,116,0,109,97,112,100,114,97,119,0,109,97,112,0,109,103,101,116,0,109,115,101,116,0,102,103,101,116,0,102,115,101,116,0,115,103,101,116,0,115,115,101,116,0,115,102,120,0,112,101,101,107,0,112,111,107,101,0,109,101,109,99,112,121,0,109,101,109,115,101,116,0,99,115,116,111,114,101,47,0,114,101,108,111,97,100,0,99,115,116,111,114,101,0,114,110,100,0,115,114,97,110,100,0,102,108,114,0,115,103,110,0,97,98,115,0,109,105,110,0,109,97,120,0,109,105,100,0,99,111,115,0,115,105,110,0,115,113,114,116,0,97,116,97,110,50,0,98,97,110,100,0,98,111,114,0,98,120,111,114,0,98,110,111,116,0,115,104,108,0,115,104,114,0,47,117,115,101,114,95,100,97,116,97,47,99,115,116,111,114,101,47,37,115,37,115,0,64,99,108,105,112,46,112,56,0,64,99,108,105,112,46,112,110,103,0,64,99,108,105,112,46,112,56,46,112,110,103,0,95,99,108,105,112,46,112,56,46,112,110,103,0,108,111,97,100,101,100,32,102,114,111,109,32,99,108,105,112,98,111,97,114,100,10,40,37,100,32,99,104,97,114,115,41,0,108,111,97,100,101,100,32,37,115,37,115,32,40,37,100,32,99,104,97,114,115,41,0,108,111,97,100,0,102,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,112,108,101,97,115,101,32,115,112,101,99,105,102,121,32,102,105,108,101,110,97,109,101,0,95,99,108,105,112,46,112,56,46,112,110,103,46,104,101,120,0,115,97,118,101,100,32,116,111,32,99,108,105,112,98,111,97,114,100,0,102,97,105,108,101,100,32,116,111,32,115,97,118,101,32,116,111,32,99,108,105,112,98,111,97,114,100,0,37,115,37,115,37,115,0,115,97,118,101,100,32,37,115,37,115,0,115,97,118,101,0,114,117,110,0,115,116,111,112,0,114,101,98,111,111,116,0,115,104,117,116,100,111,119,110,0,101,120,105,116,0,102,105,108,101,58,32,37,115,37,115,0,116,111,107,101,110,115,58,32,37,100,47,37,100,0,112,114,111,103,114,97,109,32,99,104,97,114,115,58,32,37,100,47,37,100,0,99,111,109,112,114,101,115,115,101,100,58,32,37,100,47,37,100,0,105,110,102,111,0,99,111,117,108,100,32,110,111,116,32,101,120,112,111,114,116,0,101,120,112,111,114,116,0,105,109,112,111,114,116,101,100,32,37,115,37,115,0,105,109,112,111,114,116,0,99,111,109,109,97,110,100,115,0,108,111,97,100,32,60,102,105,108,101,110,97,109,101,62,32,32,115,97,118,101,32,60,102,105,108,101,110,97,109,101,62,0,114,117,110,32,32,32,32,32,32,32,32,32,32,32,32,32,32,114,101,115,117,109,101,0,115,104,117,116,100,111,119,110,32,32,32,32,32,32,32,32,32,114,101,98,111,111,116,0,105,110,115,116,97,108,108,95,100,101,109,111,115,32,32,32,32,100,105,114,0,99,100,32,60,100,105,114,110,97,109,101,62,32,32,32,32,32,109,107,100,105,114,32,60,100,105,114,110,97,109,101,62,0,99,100,32,46,46,32,32,32,32,32,32,116,111,32,103,111,32,117,112,32,97,32,100,105,114,101,99,116,111,114,121,0,107,101,121,99,111,110,102,105,103,32,32,116,111,32,99,104,111,111,115,101,32,98,117,116,116,111,110,115,0,115,112,108,111,114,101,32,32,32,32,32,116,111,32,101,120,112,108,111,114,101,32,99,97,114,116,114,105,100,103,101,115,0,112,114,101,115,115,32,101,115,99,32,116,111,32,116,111,103,103,108,101,32,101,100,105,116,111,114,32,118,105,101,119,0,97,108,116,43,101,110,116,101,114,32,116,111,32,116,111,103,103,108,101,32,102,117,108,108,115,99,114,101,101,110,0,97,108,116,43,102,52,32,111,114,32,99,116,114,108,45,113,32,116,111,32,102,97,115,116,113,117,105,116,0,115,101,101,32,112,105,99,111,56,46,116,120,116,32,102,111,114,32,109,111,114,101,32,105,110,102,111,0,111,114,32,118,105,115,105,116,58,32,119,119,119,46,112,105,99,111,45,56,46,99,111,109,0,104,101,108,112,0,116,105,109,101,0,108,111,103,105,110,32,117,110,97,118,97,105,108,97,98,108,101,46,0,112,108,101,97,115,101,32,117,112,100,97,116,101,32,112,105,99,111,45,56,33,0,108,111,103,105,110,0,108,111,103,111,117,116,0,98,98,115,114,101,113,0,115,99,111,114,101,115,117,98,0,108,97,98,101,108,0,115,99,114,101,101,110,0,114,101,99,0,118,105,100,101,111,0,101,120,116,99,109,100,0,98,116,110,0,98,116,110,112,0,95,109,101,110,117,105,116,101,109,0,99,97,114,116,100,97,116,97,0,100,103,101,116,0,100,115,101,116,0,100,101,118,107,105,116,32,109,111,117,115,101,32,101,110,97,98,108,101,100,0,115,116,97,116,0,115,117,98,0,112,97,105,114,115,0,116,121,112,101,0,97,115,115,101,114,116,0,115,101,116,109,101,116,97,116,97,98,108,101,0,99,111,99,114,101,97,116,101,0,99,111,114,101,115,117,109,101,0,121,105,101,108,100,0,99,111,115,116,97,116,117,115,0,116,114,97,99,101,0,112,97,117,115,101,100,0,95,112,97,117,115,101,100,0,104,111,108,100,102,114,97,109,101,0,95,103,101,116,95,102,114,97,109,101,115,95,115,107,105,112,112,101,100,0,95,103,101,116,95,109,101,110,117,95,105,116,101,109,95,115,101,108,101,99,116,101,100,0,95,117,112,100,97,116,101,95,98,117,116,116,111,110,115,0,95,115,101,116,95,109,97,105,110,108,111,111,112,95,101,120,105,115,116,115,0,95,115,101,116,95,102,112,115,0,95,115,101,116,95,112,97,117,115,101,100,0,98,97,100,32,109,101,109,111,114,121,32,97,99,99,101,115,115,0,112,114,105,110,116,40,37,115,41,0,33,61,0,43,61,0,45,61,0,42,61,0,47,61,0,37,61,0,37,115,32,61,32,37,115,32,37,99,32,40,37,115,41,32,37,115,0,105,102,40,0,105,102,32,0,116,104,101,110,0,37,115,32,116,104,101,110,32,37,115,32,101,110,100,32,0,94,10,32,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,33,35,37,40,41,123,125,91,93,60,62,43,61,47,42,58,59,46,44,126,95,0,95,117,112,100,97,116,101,54,48,0,105,102,40,95,117,112,100,97,116,101,54,48,41,95,117,112,100,97,116,101,61,102,117,110,99,116,105,111,110,40,41,95,117,112,100,97,116,101,54,48,40,41,95,117,112,100,97,116,101,95,98,117,116,116,111,110,115,40,41,95,117,112,100,97,116,101,54,48,40,41,101,110,100,0,105,102,40,95,117,112,100,97,116,101,54,48,41,95,117,112,100,97,116,101,61,102,117,110,99,116,105,111,110,40,41,95,117,112,100,97,116,101,54,48,40,41,95,117,112,100,97,116,101,54,48,40,41,101,110,100,0,71,73,70,56,55,97,0,71,73,70,56,57,97,0,0,1,3,7,15,31,63,127,255,37,115,37,115,46,112,56,100,46,116,120,116,0,37,48,56,120,0,99,97,114,116,100,97,116,97,40,41,32,99,97,110,32,111,110,108,121,32,98,101,32,99,97,108,108,101,100,32,111,110,99,101,0,99,97,114,116,32,100,97,116,97,32,105,100,32,116,111,111,32,108,111,110,103,0,99,97,114,116,32,100,97,116,97,32,105,100,58,32,98,97,100,32,99,104,97,114,0,82,73,70,70,184,50,0,0,87,65,86,69,102,109,116,32,16,0,0,0,1,0,1,0,34,86,0,0,68,172,0,0,2,0,16,0,100,97,116,97,0,0,0,0,99,111,117,108,100,32,110,111,116,32,111,112,101,110,32,102,105,108,101,0,37,115,37,115,46,112,110,103,0,101,120,112,111,114,116,101,100,32,115,112,114,105,116,101,115,104,101,101,116,0,32,44,0,37,115,37,115,46,104,116,109,108,0,37,115,37,115,46,106,115,0,99,111,117,108,100,32,110,111,116,32,119,114,105,116,101,32,37,115,46,104,116,109,108,0,112,105,99,111,56,46,106,115,0,102,97,105,108,101,100,58,32,112,105,99,111,56,46,100,97,116,32,105,110,118,97,108,105,100,0,46,106,115,0,99,111,117,108,100,32,110,111,116,32,119,114,105,116,101,32,37,115,46,106,115,0,118,97,114,32,95,99,97,114,116,110,97,109,101,61,91,39,37,115,37,115,39,0,93,59,10,0,44,32,39,37,115,39,0,112,97,99,107,97,103,105,110,103,32,37,100,32,99,97,114,116,115,10,0,118,97,114,32,95,99,100,112,111,115,61,48,59,32,118,97,114,32,105,105,105,61,48,59,32,118,97,114,32,99,105,105,105,61,48,59,10,118,97,114,32,95,99,97,114,116,100,97,116,61,91,0,99,111,117,108,100,32,110,111,116,32,108,111,97,100,32,99,97,114,116,32,35,37,100,10,0,44,0,37,100,37,115,0,102,97,105,108,101,100,58,32,51,50,107,32,98,108,111,99,107,32,110,111,116,32,103,101,110,101,114,97,116,101,100,0,32,32,40,99,97,114,116,32,35,37,100,41,10,0,93,59,10,10,0,101,120,112,111,114,116,101,100,58,32,0,32,37,115,46,106,115,0,32,37,115,46,104,116,109,108,0,116,121,112,101,32,102,111,108,100,101,114,32,116,111,32,118,105,101,119,0,46,114,97,119,0,46,119,97,118,0,119,114,111,116,101,32,37,100,32,102,105,108,101,37,99,0,46,104,116,109,108,0,101,120,112,111,114,116,97,98,108,101,32,102,111,114,109,97,116,115,58,0,32,46,112,110,103,32,32,115,112,114,105,116,101,115,104,101,101,116,0,32,46,104,116,109,108,32,104,116,109,108,53,32,112,108,97,121,101,114,0,32,46,119,97,118,32,32,115,111,117,110,100,32,102,105,108,101,0,32,46,114,97,119,32,32,115,111,117,110,100,32,102,105,108,101,0,105,109,112,111,114,116,101,100,32,37,100,44,37,100,32,116,111,32,115,112,114,105,116,101,115,104,101,101,116,0,105,109,112,111,114,116,97,98,108,101,32,102,111,114,109,97,116,115,58,0,112,108,97,121,101,114,32,107,101,121,32,99,111,110,102,105,103,0,115,97,118,101,100,32,99,111,110,102,105,103,46,0,97,110,121,32,107,101,121,32,116,111,32,113,117,105,116,0,112,114,101,115,115,32,107,101,121,32,102,111,114,58,0,112,49,32,108,101,102,116,32,32,32,32,0,112,49,32,114,105,103,104,116,32,32,32,0,112,49,32,117,112,32,32,32,32,32,32,0,112,49,32,100,111,119,110,32,32,32,32,0,112,49,32,98,117,116,116,111,110,32,111,0,112,49,32,98,117,116,116,111,110,32,120,0,112,50,32,108,101,102,116,32,32,32,32,0,112,50,32,114,105,103,104,116,32,32,32,0,112,50,32,117,112,32,32,32,32,32,32,0,112,50,32,100,111,119,110,32,32,32,32,0,112,50,32,98,117,116,116,111,110,32,111,0,112,50,32,98,117,116,116,111,110,32,120,0,112,97,117,115,101,32,32,32,32,32,32,0,100,101,108,32,116,111,32,114,101,115,101,116,0,101,115,99,32,116,111,32,99,97,110,99,101,108,0,108,101,102,116,0,114,105,103,104,116,0,117,112,0,100,111,119,110,0,122,0,120,0,115,0,102,0,101,0,100,0,116,97,98,0,113,0,112,0,37,115,32,58,32,37,115,0,115,101,97,114,99,104,0,102,97,118,0,46,112,110,103,0,124,37,45,54,100,32,124,37,45,54,100,32,124,37,45,54,100,32,124,37,45,49,54,115,32,124,37,45,50,48,115,32,124,37,115,10,0,98,98,115,0,98,98,115,47,37,100,47,0,37,115,37,100,46,112,56,46,112,110,103,0,98,98,115,47,108,97,98,101,108,115,47,0,37,115,37,100,46,112,110,103,0,32,102,105,110,105,115,104,101,100,46,32,112,114,101,115,115,32,98,117,116,116,111,110,32,116,111,32,101,120,105,116,0,121,111,117,114,32,102,97,118,111,117,114,105,116,101,115,32,108,105,115,116,32,105,115,32,101,109,112,116,121,0,112,114,101,115,115,32,145,32,97,110,100,32,116,104,101,110,32,151,0,116,111,32,115,101,101,32,97,32,108,105,115],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30720);allocate([116,32,111,102,32,98,98,115,32,99,97,114,116,115,0,32,32,37,115,0,47,37,115,0,46,112,105,112,0,115,104,117,116,100,111,119,110,32,112,105,99,111,45,56,0,101,120,105,116,32,116,111,32,99,111,110,115,111,108,101,0,99,97,110,99,101,108,0,98,98,115,47,116,101,109,112,95,37,115,95,95,46,112,105,112,46,112,110,103,0,98,98,115,47,116,101,109,112,95,37,115,46,112,105,112,46,112,110,103,0,98,98,115,47,37,115,46,112,105,112,46,112,110,103,0,104,116,116,112,58,47,47,119,119,119,46,108,101,120,97,108,111,102,102,108,101,46,99,111,109,47,98,98,115,47,99,112,111,115,116,95,108,105,115,116,101,114,51,46,112,104,112,63,109,97,120,61,51,50,38,115,116,97,114,116,95,105,110,100,101,120,61,37,100,38,37,115,38,118,101,114,115,105,111,110,61,37,115,37,99,0,48,48,48,49,49,48,98,0,42,0,46,112,56,0,91,115,101,97,114,99,104,93,0,91,117,112,100,97,116,101,93,0,37,100,32,37,100,32,37,100,0,91,108,111,97,100,32,109,111,114,101,93,0,99,111,117,108,100,32,110,111,116,32,99,111,110,110,101,99,116,32,116,111,32,98,98,115,46,0,95,95,0,99,111,117,108,100,32,110,111,116,32,99,111,110,110,101,99,116,32,116,111,32,98,98,115,0,46,112,56,46,112,110,103,0,99,111,117,108,100,32,110,111,116,32,108,111,97,100,0,102,117,116,117,114,101,32,118,101,114,115,105,111,110,46,32,112,108,101,97,115,101,32,117,112,100,97,116,101,33,0,99,97,116,61,55,38,115,101,97,114,99,104,61,37,115,38,109,97,120,61,51,50,0,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,0,100,111,119,110,108,111,97,100,32,99,97,110,99,101,108,108,101,100,0,58,58,58,58,58,58,32,32,112,105,99,111,45,56,32,99,111,110,115,111,108,101,32,32,58,58,58,58,58,58,0,116,121,112,101,32,115,112,108,111,114,101,32,116,111,32,114,101,116,117,114,110,32,116,111,32,115,112,108,111,114,101,0,116,121,112,101,32,104,101,108,112,32,102,111,114,32,104,101,108,112,0,99,97,110,99,101,108,108,101,100,0,37,115,37,115,37,115,47,0,47,0,104,116,116,112,58,47,47,119,119,119,46,108,101,120,97,108,111,102,102,108,101,46,99,111,109,47,98,98,115,47,99,112,111,115,116,115,47,37,100,47,37,100,46,112,56,46,112,110,103,0,123,32,105,102,32,40,116,121,112,101,111,102,32,112,105,99,111,56,95,103,112,105,111,32,33,61,61,32,39,117,110,100,101,102,105,110,101,100,39,41,32,112,105,99,111,56,95,103,112,105,111,91,36,48,93,61,36,49,125,0,123,118,97,114,32,118,97,108,61,48,59,32,105,102,32,40,116,121,112,101,111,102,32,112,105,99,111,56,95,103,112,105,111,32,33,61,61,32,39,117,110,100,101,102,105,110,101,100,39,41,32,118,97,108,32,61,32,112,105,99,111,56,95,103,112,105,111,91,36,48,93,59,32,114,101,116,117,114,110,32,118,97,108,125,0,97,112,105,46,112,56,0,99,111,108,108,105,100,101,46,112,56,0,99,97,115,116,46,112,56,0,100,114,105,112,112,121,46,112,56,0,106,101,108,112,105,46,112,56,0,109,97,110,100,101,108,46,112,56,0,98,117,116,116,101,114,102,108,121,46,112,56,0,115,116,111,109,112,121,46,112,56,0,119,111,111,46,112,56,0,104,101,108,108,111,46,112,56,0,98,111,117,110,99,101,46,112,56,0,115,111,114,116,46,112,56,0,105,110,115,116,97,108,108,105,110,103,32,100,101,109,111,32,99,97,114,116,115,32,116,111,32,47,100,101,109,111,115,47,0,119,0,102,97,118,111,117,114,105,116,101,115,46,116,120,116,0,97,0,99,111,100,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,105,100,116,104,0,104,101,105,103,104,116,0,115,104,111,119,95,102,112,115,0,119,105,110,100,111,119,101,100,0,119,105,110,100,111,119,95,120,0,119,105,110,100,111,119,95,121,0,102,114,97,109,101,108,101,115,115,0,102,117,108,108,115,99,114,101,101,110,95,109,101,116,104,111,100,0,102,114,97,109,101,95,115,108,101,101,112,95,109,115,0,115,111,117,110,100,95,118,111,108,117,109,101,0,109,117,115,105,99,95,118,111,108,117,109,101,0,115,111,117,110,100,0,109,117,115,105,99,0,109,105,120,95,98,117,102,102,101,114,95,115,105,122,101,0,115,111,102,116,119,97,114,101,95,98,108,105,116,0,104,111,109,101,0,100,101,115,107,116,111,112,0,112,105,120,101,108,95,112,101,114,102,101,99,116,0,100,114,97,119,95,114,101,99,116,0,116,105,109,101,111,117,116,0,37,100,0,37,100,44,37,100,44,37,100,44,37,100,0,37,115,0,62,99,111,100,111,95,105,110,105,116,10,0,112,108,97,116,102,111,114,109,58,32,37,115,10,0,69,109,115,99,114,105,112,116,101,110,0,99,111,100,111,95,115,121,115,116,101,109,95,105,110,105,116,10,0,99,111,100,111,95,114,101,115,101,116,95,116,105,109,101,114,10,0,99,111,100,111,95,103,117,105,95,105,110,105,116,10,0,99,111,100,111,95,107,101,121,115,95,105,110,105,116,10,0,99,111,100,111,95,116,101,120,116,95,105,110,105,116,10,0,99,111,100,111,95,118,105,100,101,111,95,105,110,105,116,10,0,99,111,100,111,95,109,111,117,115,101,95,105,110,105,116,10,0,99,111,100,111,95,106,111,121,115,116,105,99,107,95,105,110,105,116,10,0,60,111,107,10,0,62,99,111,100,111,95,101,120,105,116,10,0,99,109,117,115,105,99,95,115,116,111,112,10,0,99,111,100,111,95,109,97,105,110,95,101,120,105,116,10,0,99,111,100,111,95,99,111,110,102,105,103,95,115,97,118,101,10,0,99,111,100,111,95,115,111,117,110,100,95,101,120,105,116,10,0,99,111,100,111,95,118,105,100,101,111,95,101,120,105,116,10,0,99,111,100,111,95,106,111,121,115,116,105,99,107,95,101,120,105,116,10,0,99,111,100,111,95,115,121,115,116,101,109,95,101,120,105,116,10,0,99,111,100,111,95,105,116,101,109,115,95,99,114,101,97,116,101,100,58,32,37,100,10,0,99,111,100,111,95,100,101,115,116,114,111,121,95,112,111,100,58,32,99,112,111,100,45,62,105,116,101,109,115,32,33,61,32,48,10,0,66,97,100,32,99,112,111,100,95,97,100,100,95,105,116,101,109,32,116,121,112,101,0,66,97,100,32,99,112,111,100,95,97,100,100,95,105,116,101,109,0,0,0,0,0,0,4,4,4,0,4,10,10,0,0,0,10,31,10,31,10,31,20,31,5,31,17,2,4,8,17,8,20,29,18,13,4,4,0,0,0,4,8,8,8,4,4,2,2,2,4,21,14,31,14,21,4,4,31,4,4,0,0,0,8,16,0,0,31,0,0,0,0,0,0,4,1,2,4,8,16,31,17,17,17,31,4,12,4,4,31,31,1,31,16,31,31,1,7,1,31,17,17,31,1,1,31,16,31,1,31,16,16,31,17,31,31,1,1,1,1,31,17,31,17,31,31,17,31,1,1,0,4,0,4,0,0,4,0,4,8,3,12,16,12,3,0,14,0,14,0,24,6,1,6,24,31,1,7,0,4,31,17,29,21,29,31,17,31,17,17,30,17,30,17,31,15,16,16,16,15,30,17,17,17,31,31,16,28,16,31,31,16,30,16,16,14,16,16,17,15,17,17,31,17,17,14,4,4,4,14,2,2,2,18,12,18,20,24,20,18,16,16,16,16,31,17,27,21,17,17,17,25,21,19,17,14,17,17,17,14,30,17,30,16,16,31,17,17,19,31,30,17,30,17,17,15,16,14,1,30,31,4,4,4,4,17,17,17,17,14,17,17,17,10,4,17,17,21,27,17,17,10,4,10,17,17,17,14,4,4,31,2,4,8,31,12,8,8,8,12,16,8,4,2,1,6,2,2,2,6,4,10,0,0,0,0,0,0,0,31,4,2,0,0,0,31,17,31,17,17,30,17,30,17,31,15,16,16,16,15,30,17,17,17,31,31,16,28,16,31,31,16,30,16,16,14,16,16,17,15,17,17,31,17,17,14,4,4,4,14,2,2,2,18,12,18,20,24,20,18,16,16,16,16,31,17,27,21,17,17,17,25,21,19,17,14,17,17,17,14,30,17,30,16,16,31,17,17,19,31,30,17,30,17,17,15,16,14,1,30,31,4,4,4,4,17,17,17,17,14,17,17,17,10,4,17,17,21,27,17,17,10,4,10,17,17,17,14,4,4,31,2,4,8,31,4,4,8,4,4,4,4,4,4,4,4,4,2,4,4,5,10,0,0,0,0,0,0,0,31,99,111,100,111,95,108,111,97,100,95,112,111,100,95,102,105,108,101,58,32,85,110,107,110,111,119,110,32,67,104,117,110,107,33,10,0,114,98,0,123,118,97,114,32,118,97,108,61,48,59,32,105,102,32,40,116,121,112,101,111,102,32,99,111,100,111,95,109,111,117,110,116,101,100,95,102,105,108,101,115,121,115,116,101,109,32,33,61,61,32,39,117,110,100,101,102,105,110,101,100,39,41,32,118,97,108,61,49,59,32,114,101,116,117,114,110,32,118,97,108,59,125,0,111,112,101,110,105,110,103,32,118,105,114,116,117,97,108,32,102,105,108,101,58,32,37,115,32,40,37,115,41,10,0,99,111,100,111,95,102,111,112,101,110,32,37,115,32,40,37,115,41,32,37,115,10,0,102,97,105,108,101,100,0,111,112,101,110,101,100,0,32,45,62,32,116,114,121,105,110,103,32,118,100,105,115,107,32,102,105,108,101,58,32,37,115,32,40,37,115,41,10,0,70,83,46,115,121,110,99,102,115,40,32,102,117,110,99,116,105,111,110,32,40,101,114,114,41,32,123,32,125,32,41,59,0,111,107,0,99,111,100,111,95,108,111,97,100,95,112,111,100,58,32,37,115,32,37,115,32,10,0,46,46,0,126,0,10,65,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,37,115,10,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,118,101,114,116,101,120,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,98,111,110,101,95,118,101,114,116,101,120,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,112,111,108,121,0,97,99,116,111,114,37,100,0,73,72,68,82,0,80,76,84,69,0,116,82,78,83,0,98,75,71,68,0,112,72,89,115,0,73,68,65,84,0,116,73,77,69,0,122,84,88,116,0,116,69,88,116,0,76,111,100,101,80,78,71,0,50,48,49,49,48,50,50,49,0,105,84,88,116,0,37,48,56,120,37,48,56,120,37,48,56,120,37,48,56,120,37,48,56,120,0,99,111,100,111,95,115,111,117,110,100,95,105,110,105,116,32,109,105,120,95,98,117,102,102,101,114,95,115,105,122,101,58,32,37,100,10,0,110,111,32,99,97,114,116,33,0,99,111,100,111,95,115,101,116,95,115,99,114,101,101,110,32,37,100,32,37,100,32,37,100,32,37,120,10,0,32,115,101,116,32,112,105,120,101,108,95,112,101,114,102,101,99,116,32,37,100,10,0,32,119,105,110,100,111,119,32,115,105,122,101,58,32,37,100,32,37,100,10,0,114,101,116,114,105,101,118,105,110,103,32,100,101,115,107,116,111,112,32,114,101,115,111,108,117,116,105,111,110,58,32,37,100,32,37,100,10,0,85,110,97,98,108,101,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,83,68,76,0,83,68,76,32,69,114,114,111,114,58,32,37,115,10,0,10,10,42,42,32,70,65,84,65,76,32,69,82,82,79,82,58,32,37,115,10,10,0,102,117,110,99,116,105,111,110,32,108,111,103,40,109,115,103,41,32,123,32,105,102,32,40,119,105,110,100,111,119,46,99,111,110,115,111,108,101,32,38,38,32,119,105,110,100,111,119,46,99,111,110,115,111,108,101,46,108,111,103,41,32,123,32,119,105,110,100,111,119,46,99,111,110,115,111,108,101,46,108,111,103,40,109,115,103,41,59,32,125,32,125,32,108,111,103,40,34,97,117,100,105,111,95,105,110,105,116,34,41,59,32,118,97,114,32,97,117,100,105,111,95,99,111,110,116,101,120,116,59,32,118,97,114,32,119,101,98,65,117,100,105,111,65,80,73,32,61,32,119,105,110,100,111,119,46,65,117,100,105,111,67,111,110,116,101,120,116,32,124,124,32,119,105,110,100,111,119,46,119,101,98,107,105,116,65,117,100,105,111,67,111,110,116,101,120,116,32,124,124,32,119,105,110,100,111,119,46,109,111,122,65,117,100,105,111,67,111,110,116,101,120,116,32,124,124,32,119,105,110,100,111,119,46,111,65,117,100,105,111,67,111,110,116,101,120,116,32,124,124,32,119,105,110,100,111,119,46,109,115,65,117,100,105,111,67,111,110,116,101,120,116,59,32,105,102,32,40,119,101,98,65,117,100,105,111,65,80,73,41,32,123,32,97,117,100,105,111,95,99,111,110,116,101,120,116,32,61,32,110,101,119,32,119,101,98,65,117,100,105,111,65,80,73,59,32,105,102,32,40,97,117,100,105,111,95,99,111,110,116,101,120,116,41,32,123,32,108,111,103,40,34,83,97,109,112,108,101,32,82,97,116,101,58,32,34,43,97,117,100,105,111,95,99,111,110,116,101,120,116,46,115,97,109,112,108,101,82,97,116,101,41,59,32,110,111,100,101,32,61,32,97,117,100,105,111,95,99,111,110,116,101,120,116,46,99,114,101,97,116,101,83,99,114,105,112,116,80,114,111,99,101,115,115,111,114,40,50,48,52,56,44,32,49,44,32,49,41,59,32,110,111,100,101,46,111,110,97,117,100,105,111,112,114,111,99,101,115,115,32,61,32,102,117,110,99,116,105,111,110,40,101,41,32,123,32,118,97,114,32,100,97,116,97,32,61,32,101,46,111,117,116,112,117,116,66,117,102,102,101,114,46,103,101,116,67,104,97,110,110,101,108,68,97,116,97,40,48,41,59,32,118,97,114,32,114,32,61,32,50,50,48,53,48,46,48,32,47,32,97,117,100,105,111,95,99,111,110,116,101,120,116,46,115,97,109,112,108,101,82,97,116,101,59,32,118,97,114,32,108,101,110,48,32,61,32,77,97,116,104,46,102,108,111,111,114,40,100,97,116,97,46,108,101,110,103,116,104,32,42,32,114,41,59,32,118,97,114,32,108,101,110,49,32,61,32,100,97,116,97,46,108,101,110,103,116,104,59,32,118,97,114,32,112,116,114,32,61,32,77,111,100,117,108,101,46,99,99,97,108,108,40,39,109,105,120,95,48,39,44,32,39,110,117,109,98,101,114,39,44,32,91,39,110,117,109,98,101,114,39,44,39,110,117,109,98,101,114,39,93,44,32,91,108,101,110,48,44,32,108,101,110,49,93,41,59,32,102,111,114,32,40,118,97,114,32,106,32,61,32,48,59,32,106,32,60,32,100,97,116,97,46,108,101,110,103,116,104,59,32,106,43,43,41,32,100,97,116,97,91,106,93,32,61,32,77,111,100,117,108,101,46,103,101,116,86,97,108,117,101,40,112,116,114,32,43,32,106,42,50,44,32,39,105,49,54,39,41,32,47,32,48,120,56,48,48,48,59,32,125,59,32,110,111,100,101,46,99,111,110,110,101,99,116,40,97,117,100,105,111,95,99,111,110,116,101,120,116,46,100,101,115,116,105,110,97,116,105,111,110,41,59,32,125,32,101,108,115,101,32,123,32,108,111,103,40,34,42,42,32,102,97,105,108,101,100,32,116,111,32,99,114,101,97,116,101,32,97,117,100,105,111,95,99,111,110,116,101,120,116,34,41,59,32,125,32,125,32,101,108,115,101,32,123,32,108,111,103,40,34,42,42,32,119,101,98,65,117,100,105,111,65,80,73,32,110,111,116,32,102,111,117,110,100,34,41,59,32,125,0,47,117,115,101,114,95,100,97,116,97,47,37,115,0,70,83,46,99,114,101,97,116,101,80,97,116,104,40,39,47,39,44,32,39,37,115,39,44,32,116,114,117,101,44,32,116,114,117,101,41,59,0,109,107,100,105,114,32,115,99,114,105,112,116,58,32,37,115,10,0,99,111,100,111,95,102,111,112,101,110,95,118,100,105,115,107,32,37,115,32,40,37,115,41,10,0,37,115,37,115,0,102,111,117,110,100,32,37,115,10,0,115,116,111,114,105,110,103,32,37,100,32,91,37,115,93,10,0,112,105,99,111,45,56,32,99,97,114,116,114,105,100,103,101,0,118,101,114,115,105,111,110,32,37,100,0,95,95,108,117,97,95,95,0,95,95,103,102,120,95,95,0,95,95,103,102,102,95,95,0,95,95,109,97,112,95,95,0,95,95,115,102,120,95,95,0,95,95,109,117,115,105,99,95,95,0,95,95,108,97,98,101,108,95,95,0,37,48,50,120,37,48,50,120,37,48,50,120,37,48,50,120,0,37,48,50,120,37,49,120,37,49,120,37,49,120,0,37,48,50,120,32,0,114,0,91,91,0,112,114,105,110,116,104,0,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,112,105,99,111,45,56,46,99,111,109,10,0,118,101,114,115,105,111,110,32,37,100,10,0,95,95,108,117,97,95,95,10,0,10,0,95,95,103,102,120,95,95,10,0,37,120,0,95,95,108,97,98,101,108,95,95,10,0,95,95,103,102,102,95,95,10,0,37,48,50,120,0,95,95,115,102,120,95,95,10,0,37,48,50,120,37,120,37,120,37,120,0,95,95,109,117,115,105,99,95,95,10,0,37,48,50,120,37,48,50,120,37,48,50,120,37,48,50,120,10,0,95,95,109,97,112,95,95,10,0,119,98,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,105,110,102,105,110,105,116,121,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,114,119,97,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+40960);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}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};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};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)}for(var i=0;i<length;i++){try{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 fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);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){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;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){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength: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}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),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)}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);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()})}))}),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,{encoding:"binary",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 completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),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,curr,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){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),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})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;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(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<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 ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),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(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}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(ERRNO_CODES.EPERM)}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(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}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(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}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(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}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(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}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(ERRNO_CODES.ENOTDIR)}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){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}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(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}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(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}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(ERRNO_CODES.EPERM)}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(ERRNO_CODES.EBADF)}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(ERRNO_CODES.EPERM)}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(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}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(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}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(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}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(ERRNO_CODES.ENOENT)}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(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}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;Module["printErr"]("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(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)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}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(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}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(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}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']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}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(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}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(ERRNO_CODES.ENOTTY)}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";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}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!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}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(ERRNO_CODES.EBADF);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;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].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(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){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}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(ERRNO_CODES.EIO);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(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<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(){setTimeout(Browser.mainLoop.runner,value)};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(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}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 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}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("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((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));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)Module.printErr("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){Runtime.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);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===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&&canvas.requestPointerLock){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};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}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){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;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["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}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);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),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){Module["readAsync"](url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),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+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}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["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||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 _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function _free(){}Module["_free"]=_free;var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<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}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _putenv(string){if(string===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}string=Pointer_stringify(string);var splitPoint=string.indexOf("=");if(string===""||string.indexOf("=")===-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=string.slice(0,splitPoint);var value=string.slice(splitPoint+1);if(!(name in ENV)||ENV[name]!==value){ENV[name]=value;___buildEnvironment(ENV)}return 0}function _SDL_RWFromConstMem(mem,size){var id=SDL.rwops.length;SDL.rwops.push({bytes:mem,count:size});return id}function _TTF_FontHeight(font){var fontData=SDL.fonts[font];return fontData.size}function _TTF_SizeText(font,text,w,h){var fontData=SDL.fonts[font];if(w){HEAP32[w>>2]=SDL.estimateTextWidth(fontData,Pointer_stringify(text))}if(h){HEAP32[h>>2]=fontData.size}return 0}function _TTF_RenderText_Solid(font,text,color){text=Pointer_stringify(text)||" ";var fontData=SDL.fonts[font];var w=SDL.estimateTextWidth(fontData,text);var h=fontData.size;var color=SDL.loadColorToCSSRGB(color);var fontString=h+"px "+fontData.name;var surf=SDL.makeSurface(w,h,0,false,"text:"+text);var surfData=SDL.surfaces[surf];surfData.ctx.save();surfData.ctx.fillStyle=color;surfData.ctx.font=fontString;surfData.ctx.textBaseline="top";surfData.ctx.fillText(text,0,0);surfData.ctx.restore();return surf}function _Mix_HaltMusic(){var audio=SDL.music.audio;if(audio){audio.src=audio.src;audio.currentPosition=0;audio.pause()}SDL.music.audio=null;if(SDL.hookMusicFinished){Runtime.dynCall("v",SDL.hookMusicFinished)}return 0}function _Mix_PlayMusic(id,loops){if(SDL.music.audio){if(!SDL.music.audio.paused)Module.printErr("Music is already playing. "+SDL.music.source);SDL.music.audio.pause()}var info=SDL.audios[id];var audio;if(info.webAudio){audio={};audio.resource=info;audio.paused=false;audio.currentPosition=0;audio.play=(function(){SDL.playWebAudio(this)});audio.pause=(function(){SDL.pauseWebAudio(this)})}else if(info.audio){audio=info.audio}audio["onended"]=(function(){if(SDL.music.audio==this)_Mix_HaltMusic()});audio.loop=loops!=0;audio.volume=SDL.music.volume;SDL.music.audio=audio;audio.play();return 0}function _Mix_FreeChunk(id){SDL.audios[id]=null}function _Mix_LoadWAV_RW(rwopsID,freesrc){var rwops=SDL.rwops[rwopsID];if(rwops===undefined)return 0;var filename="";var audio;var webAudio;var bytes;if(rwops.filename!==undefined){filename=PATH.resolve(rwops.filename);var raw=Module["preloadedAudios"][filename];if(!raw){if(raw===null)Module.printErr("Trying to reuse preloaded audio, but freePreloadedMediaOnUse is set!");if(!Module.noAudioDecoding)Runtime.warnOnce("Cannot find preloaded audio "+filename);try{bytes=FS.readFile(filename)}catch(e){Module.printErr("Couldn't find file for: "+filename);return 0}}if(Module["freePreloadedMediaOnUse"]){Module["preloadedAudios"][filename]=null}audio=raw}else if(rwops.bytes!==undefined){if(SDL.webAudioAvailable())bytes=HEAPU8.buffer.slice(rwops.bytes,rwops.bytes+rwops.count);else bytes=HEAPU8.subarray(rwops.bytes,rwops.bytes+rwops.count)}else{return 0}var arrayBuffer=bytes?bytes.buffer||bytes:bytes;var canPlayWithWebAudio=Module["SDL_canPlayWithWebAudio"]===undefined||Module["SDL_canPlayWithWebAudio"](filename,arrayBuffer);if(bytes!==undefined&&SDL.webAudioAvailable()&&canPlayWithWebAudio){audio=undefined;webAudio={};webAudio.onDecodeComplete=[];function onDecodeComplete(data){webAudio.decodedBuffer=data;webAudio.onDecodeComplete.forEach((function(e){e()}));webAudio.onDecodeComplete=undefined}SDL.audioContext["decodeAudioData"](arrayBuffer,onDecodeComplete)}else if(audio===undefined&&bytes){var blob=new Blob([bytes],{type:rwops.mimetype});var url=URL.createObjectURL(blob);audio=new Audio;audio.src=url;audio.mozAudioChannelType="content"}var id=SDL.audios.length;SDL.audios.push({source:filename,audio:audio,webAudio:webAudio});return id}function _Mix_PlayChannel(channel,id,loops){var info=SDL.audios[id];if(!info)return-1;if(!info.audio&&!info.webAudio)return-1;if(channel==-1){for(var i=SDL.channelMinimumNumber;i<SDL.numChannels;i++){if(!SDL.channels[i].audio){channel=i;break}}if(channel==-1){Module.printErr("All "+SDL.numChannels+" channels in use!");return-1}}var channelInfo=SDL.channels[channel];var audio;if(info.webAudio){audio={};audio.resource=info;audio.paused=false;audio.currentPosition=0;audio.play=(function(){SDL.playWebAudio(this)});audio.pause=(function(){SDL.pauseWebAudio(this)})}else{audio=info.audio.cloneNode(true);audio.numChannels=info.audio.numChannels;audio.frequency=info.audio.frequency}audio["onended"]=function SDL_audio_onended(){if(channelInfo.audio==this){channelInfo.audio.paused=true;channelInfo.audio=null}if(SDL.channelFinished)Runtime.getFuncWrapper(SDL.channelFinished,"vi")(channel)};channelInfo.audio=audio;audio.loop=loops!=0;audio.volume=channelInfo.volume;audio.play();return channel}function _SDL_PauseAudio(pauseOn){if(!SDL.audio){return}if(pauseOn){if(SDL.audio.timer!==undefined){clearTimeout(SDL.audio.timer);SDL.audio.numAudioTimersPending=0;SDL.audio.timer=undefined}}else if(!SDL.audio.timer){SDL.audio.numAudioTimersPending=1;SDL.audio.timer=Browser.safeSetTimeout(SDL.audio.caller,1)}SDL.audio.paused=pauseOn}function _SDL_CloseAudio(){if(SDL.audio){_SDL_PauseAudio(1);_free(SDL.audio.buffer);SDL.audio=null;SDL.allocateChannels(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}function _SDL_FreeRW(rwopsID){SDL.rwops[rwopsID]=null;while(SDL.rwops.length>0&&SDL.rwops[SDL.rwops.length-1]===null){SDL.rwops.pop()}}function _IMG_Load_RW(rwopsID,freeSrc){try{function cleanup(){if(rwops&&freeSrc)_SDL_FreeRW(rwopsID)}function addCleanup(func){var old=cleanup;cleanup=function added_cleanup(){old();func()}}var rwops=SDL.rwops[rwopsID];if(rwops===undefined){return 0}var filename=rwops.filename;if(filename===undefined){Runtime.warnOnce("Only file names that have been preloaded are supported for IMG_Load_RW. Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}if(!raw){filename=PATH.resolve(filename);var raw=Module["preloadedImages"][filename];if(!raw){if(raw===null)Module.printErr("Trying to reuse preloaded image, but freePreloadedMediaOnUse is set!");Runtime.warnOnce("Cannot find preloaded image "+filename);Runtime.warnOnce("Cannot find preloaded image "+filename+". Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}else if(Module["freePreloadedMediaOnUse"]){Module["preloadedImages"][filename]=null}}var surf=SDL.makeSurface(raw.width,raw.height,0,false,"load:"+filename);var surfData=SDL.surfaces[surf];surfData.ctx.globalCompositeOperation="copy";if(!raw.rawData){surfData.ctx.drawImage(raw,0,0,raw.width,raw.height,0,0,raw.width,raw.height)}else{var imageData=surfData.ctx.getImageData(0,0,surfData.width,surfData.height);if(raw.bpp==4){imageData.data.set(HEAPU8.subarray(raw.data,raw.data+raw.size))}else if(raw.bpp==3){var pixels=raw.size/3;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i<pixels;i++){data[destPtr++]=HEAPU8[sourcePtr++>>0];data[destPtr++]=HEAPU8[sourcePtr++>>0];data[destPtr++]=HEAPU8[sourcePtr++>>0];data[destPtr++]=255}}else if(raw.bpp==1){var pixels=raw.size;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i<pixels;i++){var value=HEAPU8[sourcePtr++>>0];data[destPtr++]=value;data[destPtr++]=value;data[destPtr++]=value;data[destPtr++]=255}}else{Module.printErr("cannot handle bpp "+raw.bpp);return 0}surfData.ctx.putImageData(imageData,0,0)}surfData.ctx.globalCompositeOperation="source-over";_SDL_LockSurface(surf);surfData.locked--;if(SDL.GL){surfData.canvas=surfData.ctx=null}return surf}finally{cleanup()}}function _SDL_RWFromFile(_name,mode){var id=SDL.rwops.length;var name=Pointer_stringify(_name);SDL.rwops.push({filename:name,mimetype:Browser.getMimetype(name)});return id}function _IMG_Load(filename){var rwops=_SDL_RWFromFile(filename);var result=_IMG_Load_RW(rwops,1);return result}function _SDL_UpperBlitScaled(src,srcrect,dst,dstrect){return SDL.blitSurface(src,srcrect,dst,dstrect,true)}function _SDL_UpperBlit(src,srcrect,dst,dstrect){return SDL.blitSurface(src,srcrect,dst,dstrect,false)}function _SDL_GetTicks(){return Date.now()-SDL.startTime|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};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__deps:["SDL_LockSurface"],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){Runtime.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(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"](true,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){Module.printErr("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)){Runtime.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}}),estimateTextWidth:(function(fontData,text){var h=fontData.size;var fontString=h+"px "+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){Module.printErr("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["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){Module.printErr("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){Module.printErr("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}}}}),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.timestamp!=="number"||state.timestamp!==prevState.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(){}Module["_memset"]=_memset;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _emscripten_async_wget_data(url,arg,onload,onerror){Browser.asyncLoad(Pointer_stringify(url),(function(byteArray){var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);Runtime.dynCall("viii",onload,[arg,buffer,byteArray.length]);_free(buffer)}),(function(){if(onerror)Runtime.dynCall("vi",onerror,[arg])}),true)}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},packAlignment:4,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:16,miniTempBuffer:null,miniTempBufferViews:[0],getSource:(function(shader,count,string,length){var source="";for(var i=0;i<count;++i){var frag;if(length){var len=HEAP32[length+i*4>>2];if(len<0){frag=Pointer_stringify(HEAP32[string+i*4>>2])}else{frag=Pointer_stringify(HEAP32[string+i*4>>2],len)}}else{frag=Pointer_stringify(HEAP32[string+i*4>>2])}source+=frag}return source}),createContext:(function(canvas,webGLContextAttributes){if(typeof webGLContextAttributes.majorVersion==="undefined"&&typeof webGLContextAttributes.minorVersion==="undefined"){webGLContextAttributes.majorVersion=1;webGLContextAttributes.minorVersion=0}var ctx;var errorInfo="?";function onContextCreationError(event){errorInfo=event.statusMessage||errorInfo}try{canvas.addEventListener("webglcontextcreationerror",onContextCreationError,false);try{if(webGLContextAttributes.majorVersion==1&&webGLContextAttributes.minorVersion==0){ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes)}else if(webGLContextAttributes.majorVersion==2&&webGLContextAttributes.minorVersion==0){ctx=canvas.getContext("webgl2",webGLContextAttributes)||canvas.getContext("experimental-webgl2",webGLContextAttributes)}else{throw"Unsupported WebGL context version "+majorVersion+"."+minorVersion+"!"}}finally{canvas.removeEventListener("webglcontextcreationerror",onContextCreationError,false)}if(!ctx)throw":("}catch(e){Module.print("Could not create canvas: "+[errorInfo,e,JSON.stringify(webGLContextAttributes)]);return 0}if(!ctx)return 0;return GL.registerContext(ctx,webGLContextAttributes)}),registerContext:(function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,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){var context=GL.contexts[contextHandle];if(!context)return false;GLctx=Module.ctx=context.GLctx;GL.currentContext=context;return true}),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;GL.contexts[contextHandle]=null}),initExtensions:(function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;context.maxVertexAttribs=GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS);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)})}}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","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","WEBGL_compressed_texture_atc","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_frag_depth","EXT_sRGB","WEBGL_draw_buffers","WEBGL_shared_resources","EXT_shader_texture_lod"];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];GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1};var ptable=GL.programInfos[program];var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,GLctx.ACTIVE_UNIFORMS);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);if(name.indexOf("]",name.length-1)!==-1){var ls=name.lastIndexOf("[");name=name.slice(0,ls)}var loc=GLctx.getUniformLocation(p,name);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})}}))}if(width!==canvas.width||height!==canvas.height){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 ___lock(){}function ___unlock(){}function _SDL_ShowCursor(toggle){switch(toggle){case 0:if(Browser.isFullScreen){Module["canvas"].requestPointerLock();return 0}else{return 1}break;case 1:Module["canvas"].exitPointerLock();return 1;break;case-1:return!Browser.pointerLock;break;default:console.log("SDL_ShowCursor called with unknown toggle parameter value: "+toggle+".");break}}function _SDL_GetMouseState(x,y){if(x)HEAP32[x>>2]=Browser.mouseX;if(y)HEAP32[y>>2]=Browser.mouseY;return SDL.buttonState}var _llvm_fabs_f64=Math_abs;Module["_i64Add"]=_i64Add;function _SDL_PollEvent(ptr){return SDL.pollEvent(ptr)}function _realloc(){throw"bad"}Module["_realloc"]=_realloc;Module["_saveSetjmp"]=_saveSetjmp;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _SDL_GetModState(){return SDL.modState}function _SDL_GetError(){if(!SDL.errorMessage){SDL.errorMessage=allocate(intArrayFromString("unknown SDL-emscripten error"),"i8",ALLOC_NORMAL)}return SDL.errorMessage}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);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),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=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _SDL_UnlockAudio(){}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}Module["_bitshift64Lshr"]=_bitshift64Lshr;Module["_testSetjmp"]=_testSetjmp;function _longjmp(env,value){asm["setThrew"](env,value||1);throw"longjmp"}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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)}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}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)}if(initFlags&512){addEventListener("gamepadconnected",(function(){}))}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 _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_run_script(ptr){eval(Pointer_stringify(ptr))}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));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){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)};___buildEnvironment(ENV);var GLctx;GL.init();STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_i":invoke_i,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiii":invoke_iiiii,"invoke_iii":invoke_iii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"_putenv":_putenv,"_emscripten_run_script":_emscripten_run_script,"_SDL_ShowCursor":_SDL_ShowCursor,"_SDL_UnlockAudio":_SDL_UnlockAudio,"_IMG_Load":_IMG_Load,"_abort":_abort,"_llvm_fabs_f64":_llvm_fabs_f64,"_TTF_FontHeight":_TTF_FontHeight,"_SDL_CloseAudio":_SDL_CloseAudio,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_SDL_GetTicks":_SDL_GetTicks,"_SDL_LockAudio":_SDL_LockAudio,"___buildEnvironment":___buildEnvironment,"_longjmp":_longjmp,"_emscripten_asm_const_i":_emscripten_asm_const_i,"_SDL_LockSurface":_SDL_LockSurface,"_SDL_GetError":_SDL_GetError,"_SDL_SetVideoMode":_SDL_SetVideoMode,"_Mix_HaltMusic":_Mix_HaltMusic,"___setErrNo":___setErrNo,"_SDL_PollEvent":_SDL_PollEvent,"_SDL_Init":_SDL_Init,"_Mix_PlayChannel":_Mix_PlayChannel,"_TTF_RenderText_Solid":_TTF_RenderText_Solid,"_Mix_LoadWAV_RW":_Mix_LoadWAV_RW,"_SDL_PauseAudio":_SDL_PauseAudio,"_sysconf":_sysconf,"_IMG_Load_RW":_IMG_Load_RW,"_Mix_PlayMusic":_Mix_PlayMusic,"_Mix_FreeChunk":_Mix_FreeChunk,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_TTF_SizeText":_TTF_SizeText,"_pthread_self":_pthread_self,"_SDL_GetMouseState":_SDL_GetMouseState,"_SDL_UpperBlit":_SDL_UpperBlit,"_SDL_GetWindowSize":_SDL_GetWindowSize,"_emscripten_asm_const_ii":_emscripten_asm_const_ii,"___syscall54":___syscall54,"___unlock":___unlock,"___syscall140":___syscall140,"_emscripten_set_main_loop":_emscripten_set_main_loop,"_emscripten_asm_const_iii":_emscripten_asm_const_iii,"_SDL_GetModState":_SDL_GetModState,"___syscall5":___syscall5,"_SDL_ClearError":_SDL_ClearError,"_getenv":_getenv,"__exit":__exit,"___lock":___lock,"_SDL_UnlockSurface":_SDL_UnlockSurface,"___syscall6":___syscall6,"_pthread_cleanup_push":_pthread_cleanup_push,"_time":_time,"_emscripten_asm_const_v":_emscripten_asm_const_v,"_sbrk":_sbrk,"_emscripten_async_wget_data":_emscripten_async_wget_data,"_SDL_FreeRW":_SDL_FreeRW,"_SDL_UpperBlitScaled":_SDL_UpperBlitScaled,"_exit":_exit,"_SDL_RWFromConstMem":_SDL_RWFromConstMem,"___syscall145":___syscall145,"___syscall146":___syscall146,"_SDL_RWFromFile":_SDL_RWFromFile,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM var asm=(function(global,env,buffer) { "use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_i;var ga=env.invoke_vi;var ha=env.invoke_vii;var ia=env.invoke_ii;var ja=env.invoke_viii;var ka=env.invoke_v;var la=env.invoke_iiiii;var ma=env.invoke_iii;var na=env._pthread_cleanup_pop;var oa=env.___syscall221;var pa=env._putenv;var qa=env._emscripten_run_script;var ra=env._SDL_ShowCursor;var sa=env._SDL_UnlockAudio;var ta=env._IMG_Load;var ua=env._abort;var va=env._llvm_fabs_f64;var wa=env._TTF_FontHeight;var xa=env._SDL_CloseAudio;var ya=env._emscripten_set_main_loop_timing;var za=env._SDL_GetTicks;var Aa=env._SDL_LockAudio;var Ba=env.___buildEnvironment;var Ca=env._longjmp;var Da=env._emscripten_asm_const_i;var Ea=env._SDL_LockSurface;var Fa=env._SDL_GetError;var Ga=env._SDL_SetVideoMode;var Ha=env._Mix_HaltMusic;var Ia=env.___setErrNo;var Ja=env._SDL_PollEvent;var Ka=env._SDL_Init;var La=env._Mix_PlayChannel;var Ma=env._TTF_RenderText_Solid;var Na=env._Mix_LoadWAV_RW;var Oa=env._SDL_PauseAudio;var Pa=env._sysconf;var Qa=env._IMG_Load_RW;var Ra=env._Mix_PlayMusic;var Sa=env._Mix_FreeChunk;var Ta=env._emscripten_memcpy_big;var Ua=env._TTF_SizeText;var Va=env._pthread_self;var Wa=env._SDL_GetMouseState;var Xa=env._SDL_UpperBlit;var Ya=env._SDL_GetWindowSize;var Za=env._emscripten_asm_const_ii;var _a=env.___syscall54;var $a=env.___unlock;var ab=env.___syscall140;var bb=env._emscripten_set_main_loop;var cb=env._emscripten_asm_const_iii;var db=env._SDL_GetModState;var eb=env.___syscall5;var fb=env._SDL_ClearError;var gb=env._getenv;var hb=env.__exit;var ib=env.___lock;var jb=env._SDL_UnlockSurface;var kb=env.___syscall6;var lb=env._pthread_cleanup_push;var mb=env._time;var nb=env._emscripten_asm_const_v;var ob=env._sbrk;var pb=env._emscripten_async_wget_data;var qb=env._SDL_FreeRW;var rb=env._SDL_UpperBlitScaled;var sb=env._exit;var tb=env._SDL_RWFromConstMem;var ub=env.___syscall145;var vb=env.___syscall146;var wb=env._SDL_RWFromFile;var xb=0.0; // EMSCRIPTEN_START_FUNCS function We(e,f){e=e|0;f=f|0;var g=0,h=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;g=i;i=i+64|0;h=g+16|0;j=g+8|0;k=g;l=g+48|0;m=g+32|0;n=e+28|0;o=c[n>>2]|0;p=e+4|0;q=c[p>>2]|0;r=e+12|0;switch(c[r>>2]|0){case 40:{s=e+8|0;c[s>>2]=q;t=e+20|0;if((c[t>>2]|0)==286)c[r>>2]=re(e,e+16|0)|0;else{u=t;v=c[u+4>>2]|0;w=e+12|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;c[t>>2]=286}Be(e,f,0)|0;v=c[p>>2]|0;if((c[r>>2]|0)!=41)if((v|0)==(q|0))Me(e,41);else{w=e+32|0;u=c[w>>2]|0;c[k>>2]=41;x=Hd(u,33348,k)|0;k=c[w>>2]|0;c[j>>2]=40;w=Hd(k,33348,j)|0;c[h>>2]=x;c[h+4>>2]=w;c[h+8>>2]=q;oe(e,Hd(u,33855,h)|0)}c[s>>2]=v;if((c[t>>2]|0)==286){v=e+16|0;c[r>>2]=re(e,v)|0;y=v}else{v=t;h=c[v+4>>2]|0;u=e+12|0;c[u>>2]=c[v>>2];c[u+4>>2]=h;c[t>>2]=286;y=e+16|0}Ee(c[n>>2]|0,f);z=t;A=t;B=y;C=y;D=s;break}case 288:{s=e+16|0;y=c[s>>2]|0;t=e+8|0;c[t>>2]=q;h=e+20|0;if((c[h>>2]|0)==286){c[r>>2]=re(e,s)|0;E=c[n>>2]|0}else{u=h;v=c[u+4>>2]|0;w=e+12|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;c[h>>2]=286;E=o}if(!(Xe(E,y,f,1)|0)){Xe(E,c[e+52>>2]|0,f,1)|0;v=c[n>>2]|0;c[l>>2]=y;c[l+4>>2]=d[y+4>>0]|0|64;y=Ie(v,l,l)|0;c[m+8>>2]=-1;c[m+12>>2]=-1;c[m>>2]=4;c[m+4>>2]=y;y=f+4|0;a[y+2>>0]=c[y>>2];b[y>>1]=Ke(E,m)|0;a[y+3>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;z=h;A=h;B=s;C=s;D=t}else{z=h;A=h;B=s;C=s;D=t}break}default:oe(e,34095)}t=f+8|0;s=f+12|0;h=l+4|0;y=m+8|0;E=m+12|0;v=m+4|0;w=f+4|0;u=w+2|0;x=w+3|0;j=e+12|0;k=l+8|0;F=l+12|0;G=l+4|0;H=m+8|0;I=m+12|0;J=m+4|0;K=f+4|0;L=o+46|0;M=o+48|0;a:while(1)switch(c[r>>2]|0){case 46:{N=c[n>>2]|0;if(!((c[f>>2]|0)==8?(c[t>>2]|0)==(c[s>>2]|0):0))De(N,f)|0;c[D>>2]=c[p>>2];if((c[A>>2]|0)==286){O=re(e,B)|0;c[r>>2]=O;P=O}else{O=z;Q=c[O>>2]|0;R=c[O+4>>2]|0;O=j;c[O>>2]=Q;c[O+4>>2]=R;c[A>>2]=286;P=Q}if((P|0)!=288){S=28;break a}Q=c[C>>2]|0;c[D>>2]=c[p>>2];if((c[A>>2]|0)==286)c[r>>2]=re(e,B)|0;else{R=z;O=c[R+4>>2]|0;T=j;c[T>>2]=c[R>>2];c[T+4>>2]=O;c[A>>2]=286}O=c[n>>2]|0;c[l>>2]=Q;c[h>>2]=d[Q+4>>0]|0|64;Q=Ie(O,l,l)|0;c[y>>2]=-1;c[E>>2]=-1;c[m>>2]=4;c[v>>2]=Q;a[u>>0]=c[w>>2];b[w>>1]=Ke(N,m)|0;a[x>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;continue a;break}case 91:{if(!((c[f>>2]|0)==8?(c[t>>2]|0)==(c[s>>2]|0):0))De(o,f)|0;c[D>>2]=c[p>>2];if((c[A>>2]|0)==286)c[r>>2]=re(e,B)|0;else{N=z;Q=c[N+4>>2]|0;O=j;c[O>>2]=c[N>>2];c[O+4>>2]=Q;c[A>>2]=286}Be(e,l,0)|0;Q=c[n>>2]|0;if((c[k>>2]|0)==(c[F>>2]|0))Ee(Q,l);else De(Q,l)|0;if((c[r>>2]|0)!=93){S=43;break a}c[D>>2]=c[p>>2];if((c[A>>2]|0)==286)c[r>>2]=re(e,B)|0;else{Q=z;O=c[Q+4>>2]|0;N=j;c[N>>2]=c[Q>>2];c[N+4>>2]=O;c[A>>2]=286}a[u>>0]=c[w>>2];b[w>>1]=Ke(o,l)|0;a[x>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;continue a;break}case 58:{c[D>>2]=c[p>>2];if((c[A>>2]|0)==286){O=re(e,B)|0;c[r>>2]=O;U=O}else{O=z;N=c[O>>2]|0;Q=c[O+4>>2]|0;O=j;c[O>>2]=N;c[O+4>>2]=Q;c[A>>2]=286;U=N}if((U|0)!=288){S=52;break a}N=c[C>>2]|0;c[D>>2]=c[p>>2];if((c[A>>2]|0)==286)c[r>>2]=re(e,B)|0;else{Q=z;O=c[Q+4>>2]|0;T=j;c[T>>2]=c[Q>>2];c[T+4>>2]=O;c[A>>2]=286}O=c[n>>2]|0;c[l>>2]=N;c[G>>2]=d[N+4>>0]|0|64;N=Ie(O,l,l)|0;c[H>>2]=-1;c[I>>2]=-1;c[m>>2]=4;c[J>>2]=N;Ye(o,f,m);Ze(e,f,q);continue a;break}case 123:case 289:case 40:{Ee(o,f);if(((c[f>>2]|0)==6?(N=c[K>>2]|0,(N&256|0)==0):0)?(d[L>>0]|0|0)<=(N|0):0)a[M>>0]=(a[M>>0]|0)+-1<<24>>24;N=(d[M>>0]|0)+1|0;O=(c[o>>2]|0)+78|0;if(N>>>0>(d[O>>0]|0)>>>0){if(N>>>0>249){S=64;break a}T=N&255;a[O>>0]=T;V=T}else V=N&255;a[M>>0]=V;Ge(o,f,(V&255)+-1|0);Ze(e,f,q);continue a;break}default:{S=67;break a}}if((S|0)==28)Me(e,288);else if((S|0)==43)Me(e,93);else if((S|0)==52)Me(e,288);else if((S|0)==64)oe(c[o+12>>2]|0,33721);else if((S|0)==67){i=g;return}}function Xe(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;if(!e){i=0;return i|0}j=b[e+46>>1]|0;k=f+12|0;l=(j&255)+-1|0;m=(j&65535)>>>8;n=c[e>>2]|0;a:do if((j&255)<<24>>24){o=c[e+40>>2]|0;p=c[n+24>>2]|0;q=c[c[(c[e+12>>2]|0)+44>>2]>>2]|0;r=a[f+4>>0]|0;s=f+16|0;b:do if(r<<24>>24==4){t=l;while(1){u=c[p+((b[q+(t+o<<1)>>1]|0)*12|0)>>2]|0;if((u|0)==(f|0)&(a[u+4>>0]|0)==4){v=t;break b}if((t|0)>0)t=t+-1|0;else break a}}else{t=l;while(1){u=c[p+((b[q+(t+o<<1)>>1]|0)*12|0)>>2]|0;if(r<<24>>24==(a[u+4>>0]|0)){w=c[k>>2]|0;if((u|0)==(f|0)){v=t;break b}if((w|0)==(c[u+12>>2]|0)?(Oo(s,u+16|0,w)|0)==0:0){v=t;break b}}if((t|0)>0)t=t+-1|0;else break a}}while(0);if((v|0)>-1){c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=7;c[g+4>>2]=v;if(h|0){i=7;return i|0}s=e+16|0;while(1){r=c[s>>2]|0;if((d[r+8>>0]|0)>(v|0))s=r;else{x=r;break}}a[x+9>>0]=1;i=7;return i|0}}while(0);x=c[n+28>>2]|0;c:do if(m<<16>>16){n=a[f+4>>0]|0;v=f+16|0;h=m&65535;d:do if(n<<24>>24==4){l=0;while(1){j=c[x+(l<<3)>>2]|0;if((a[j+4>>0]|0)==4&(j|0)==(f|0)){y=l;break d}l=l+1|0;if((l|0)>=(h|0)){z=26;break c}}}else{l=0;while(1){j=c[x+(l<<3)>>2]|0;if((a[j+4>>0]|0)==n<<24>>24){s=c[j+12>>2]|0;if((j|0)==(f|0)){y=l;break d}if((s|0)==(c[k>>2]|0)?(Oo(j+16|0,v,s)|0)==0:0){y=l;break d}}l=l+1|0;if((l|0)>=(h|0)){z=26;break c}}}while(0);if((y|0)>=0)A=y;else z=26}else z=26;while(0);do if((z|0)==26)if(!(Xe(c[e+8>>2]|0,f,g,0)|0)){i=0;return i|0}else{A=ne(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]=A;i=8;return i|0}function Ye(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;De(b,e)|0;g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==6&(h&256|0)==0?(d[b+46>>0]|0|0)<=(h|0):0){i=b+48|0;a[i>>0]=(a[i>>0]|0)+-1<<24>>24}i=b+48|0;j=d[i>>0]|0;c[g>>2]=j;c[e>>2]=6;e=j+2|0;g=(c[b>>2]|0)+78|0;do if(e>>>0>(d[g>>0]|0)>>>0)if(e>>>0>249)oe(c[b+12>>2]|0,33721);else{k=e&255;a[g>>0]=k;l=k;break}else l=e&255;while(0);a[i>>0]=l;Fe(b,h<<23|j<<6|(Ke(b,f)|0)<<14|12)|0;if((c[f>>2]|0)!=6)return;j=c[f+4>>2]|0;if(j&256|0)return;if((d[b+46>>0]|0|0)>(j|0))return;a[i>>0]=(a[i>>0]|0)+-1<<24>>24;return}function Ze(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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=i;i=i+64|0;h=g+16|0;j=g+8|0;k=g;l=g+48|0;m=g+32|0;n=b+28|0;o=c[n>>2]|0;p=b+12|0;a:do switch(c[p>>2]|0){case 40:{q=b+4|0;r=b+8|0;c[r>>2]=c[q>>2];s=b+20|0;if((c[s>>2]|0)==286){t=re(b,b+16|0)|0;c[p>>2]=t;u=t}else{t=s;v=c[t>>2]|0;w=c[t+4>>2]|0;t=b+12|0;c[t>>2]=v;c[t+4>>2]=w;c[s>>2]=286;u=v}b:do if((u|0)==41)c[m>>2]=0;else{Be(b,m,0)|0;c:do if((c[p>>2]|0)==44){v=b+16|0;w=m+4|0;t=b+12|0;while(1){c[r>>2]=c[q>>2];if((c[s>>2]|0)==286)c[p>>2]=re(b,v)|0;else{x=s;y=c[x+4>>2]|0;z=t;c[z>>2]=c[x>>2];c[z+4>>2]=y;c[s>>2]=286}y=c[n>>2]|0;Ee(y,m);if(((c[m>>2]|0)==6?(z=c[w>>2]|0,(z&256|0)==0):0)?(d[y+46>>0]|0|0)<=(z|0):0){z=y+48|0;a[z>>0]=(a[z>>0]|0)+-1<<24>>24}z=y+48|0;x=(d[z>>0]|0)+1|0;A=(c[y>>2]|0)+78|0;if(x>>>0>(d[A>>0]|0)>>>0){if(x>>>0>249){B=y;break}C=x&255;a[A>>0]=C;D=C}else D=x&255;a[z>>0]=D;Ge(y,m,(D&255)+-1|0);Be(b,m,0)|0;if((c[p>>2]|0)!=44){E=m;break c}}oe(c[B+12>>2]|0,33721)}else E=m;while(0);switch(c[E>>2]|0){case 12:{w=(c[(c[o>>2]|0)+12>>2]|0)+(c[m+4>>2]<<2)|0;c[w>>2]=c[w>>2]&-8372225;break b;break}case 13:break;default:break b}w=m+4|0;t=c[o>>2]|0;v=c[t+12>>2]|0;y=v+(c[w>>2]<<2)|0;c[y>>2]=c[y>>2]&8388607;y=v+(c[w>>2]<<2)|0;w=o+48|0;v=d[w>>0]|0;c[y>>2]=v<<6|c[y>>2]&-16321;y=v+1|0;v=t+78|0;do if(y>>>0>(d[v>>0]|0)>>>0)if(y>>>0>249)oe(c[o+12>>2]|0,33721);else{t=y&255;a[v>>0]=t;F=t;break}else F=y&255;while(0);a[w>>0]=F}while(0);y=c[q>>2]|0;if((c[p>>2]|0)==41){c[r>>2]=y;if((c[s>>2]|0)==286){c[p>>2]=re(b,b+16|0)|0;break a}else{v=s;t=c[v+4>>2]|0;z=b+12|0;c[z>>2]=c[v>>2];c[z+4>>2]=t;c[s>>2]=286;break a}}else if((y|0)==(f|0))Me(b,41);else{y=b+32|0;t=c[y>>2]|0;c[k>>2]=41;z=Hd(t,33348,k)|0;v=c[y>>2]|0;c[j>>2]=40;y=Hd(v,33348,j)|0;c[h>>2]=z;c[h+4>>2]=y;c[h+8>>2]=f;oe(b,Hd(t,33855,h)|0)}break}case 123:{Le(b,m);break}case 289:{t=b+16|0;y=c[t>>2]|0;c[l>>2]=y;c[l+4>>2]=d[y+4>>0]|0|64;y=Ie(o,l,l)|0;c[m+8>>2]=-1;c[m+12>>2]=-1;c[m>>2]=4;c[m+4>>2]=y;c[b+8>>2]=c[b+4>>2];y=b+20|0;if((c[y>>2]|0)==286){c[p>>2]=re(b,t)|0;break a}else{t=y;z=c[t+4>>2]|0;v=b+12|0;c[v>>2]=c[t>>2];c[v+4>>2]=z;c[y>>2]=286;break a}break}default:oe(b,34113)}while(0);b=e+4|0;p=c[b>>2]|0;switch(c[m>>2]|0){case 0:{G=o+48|0;break}case 13:case 12:{H=0;I=p<<6;J=I|H;K=J|32797;L=Fe(o,K)|0;M=e+8|0;c[M>>2]=-1;N=e+12|0;c[N>>2]=-1;c[e>>2]=12;c[b>>2]=L;O=o+20|0;P=c[O>>2]|0;Q=P+-1|0;R=c[o>>2]|0;S=R+20|0;T=c[S>>2]|0;U=T+(Q<<2)|0;c[U>>2]=f;V=p+1|0;W=V&255;X=o+48|0;a[X>>0]=W;i=g;return}default:{Ee(o,m);if(((c[m>>2]|0)==6?(l=c[m+4>>2]|0,(l&256|0)==0):0)?(d[o+46>>0]|0|0)<=(l|0):0){l=o+48|0;a[l>>0]=(a[l>>0]|0)+-1<<24>>24}l=o+48|0;h=(d[l>>0]|0)+1|0;j=(c[o>>2]|0)+78|0;do if(h>>>0>(d[j>>0]|0)>>>0)if(h>>>0>249)oe(c[o+12>>2]|0,33721);else{k=h&255;a[j>>0]=k;Y=k;break}else Y=h&255;while(0);a[l>>0]=Y;Ge(o,m,(Y&255)+-1|0);G=l}}H=((d[G>>0]|0)+(p^511)<<23)+8388608|0;I=p<<6;J=I|H;K=J|32797;L=Fe(o,K)|0;M=e+8|0;c[M>>2]=-1;N=e+12|0;c[N>>2]=-1;c[e>>2]=12;c[b>>2]=L;O=o+20|0;P=c[O>>2]|0;Q=P+-1|0;R=c[o>>2]|0;S=R+20|0;T=c[S>>2]|0;U=T+(Q<<2)|0;c[U>>2]=f;V=p+1|0;W=V&255;X=o+48|0;a[X>>0]=W;i=g;return}function _e(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;switch(e|0){case 13:{$e(b,f);return}case 14:{bf(b,f);return}case 6:{Ee(b,f);if(((c[f>>2]|0)==6?(e=c[f+4>>2]|0,(e&256|0)==0):0)?(d[b+46>>0]|0|0)<=(e|0):0){e=b+48|0;a[e>>0]=(a[e>>0]|0)+-1<<24>>24}e=b+48|0;g=(d[e>>0]|0)+1|0;h=(c[b>>2]|0)+78|0;do if(g>>>0>(d[h>>0]|0)>>>0)if(g>>>0>249)oe(c[b+12>>2]|0,33721);else{i=g&255;a[h>>0]=i;j=i;break}else j=g&255;while(0);a[e>>0]=j;Ge(b,f,(j&255)+-1|0);return}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;Ke(b,f)|0;return}default:{Ke(b,f)|0;return}}}function $e(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;Ee(a,b);switch(c[b>>2]|0){case 10:{d=b+4|0;e=c[d>>2]|0;f=(c[(c[a>>2]|0)+12>>2]|0)+(e<<2)|0;if((e|0)>0?(e=f+-4|0,g=c[e>>2]|0,((g&63)+-24|0)>>>0<5):0){h=e;i=g}else{h=f;i=c[f>>2]|0}c[h>>2]=((i&16320|0)==0&1)<<6|i&-16321;j=c[d>>2]|0;k=7;break}case 2:case 5:case 4:break;default:{j=af(a,b,0)|0;k=7}}do if((k|0)==7?(d=b+12|0,(j|0)!=-1):0){i=c[d>>2]|0;if((i|0)==-1){c[d>>2]=j;break}d=c[(c[a>>2]|0)+12>>2]|0;h=i;while(1){i=d+(h<<2)|0;f=c[i>>2]|0;g=(f>>>14)+-131071|0;e=(g|0)==-1?-1:h+1+g|0;if((e|0)==-1){l=i;m=f;n=h;break}else h=e}h=j+~n|0;if((((h|0)>-1?h:0-h|0)|0)>131071)oe(c[a+12>>2]|0,33676);else{c[l>>2]=(h<<14)+2147467264|m&16383;break}}while(0);m=b+8|0;b=c[m>>2]|0;c[a+24>>2]=c[a+20>>2];l=a+28|0;if((b|0)==-1){c[m>>2]=-1;return}n=c[l>>2]|0;if((n|0)==-1){c[l>>2]=b;c[m>>2]=-1;return}l=c[(c[a>>2]|0)+12>>2]|0;j=n;while(1){n=l+(j<<2)|0;k=c[n>>2]|0;h=(k>>>14)+-131071|0;d=(h|0)==-1?-1:j+1+h|0;if((d|0)==-1){o=n;p=k;q=j;break}else j=d}j=b+~q|0;if((((j|0)>-1?j:0-j|0)|0)>131071)oe(c[a+12>>2]|0,33676);c[o>>2]=(j<<14)+2147467264|p&16383;c[m>>2]=-1;return}function af(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;switch(c[e>>2]|0){case 11:{g=c[(c[(c[b>>2]|0)+12>>2]|0)+(c[e+4>>2]<<2)>>2]|0;if((g&63|0)==20){h=b+20|0;c[h>>2]=(c[h>>2]|0)+-1;Fe(b,((f|0)==0&1)<<14|g>>>23<<6|27)|0;g=b+28|0;h=c[g>>2]|0;c[g>>2]=-1;g=Fe(b,2147450903)|0;if((h|0)==-1){i=g;return i|0}if((g|0)==-1){i=h;return i|0}j=c[(c[b>>2]|0)+12>>2]|0;k=g;while(1){l=j+(k<<2)|0;m=c[l>>2]|0;n=(m>>>14)+-131071|0;o=(n|0)==-1?-1:k+1+n|0;if((o|0)==-1){p=l;q=m;r=k;break}else k=o}k=h+~r|0;if((((k|0)>-1?k:0-k|0)|0)>131071)oe(c[b+12>>2]|0,33676);c[p>>2]=(k<<14)+2147467264|q&16383;i=g;return i|0}else s=10;break}case 6:{s=17;break}default:s=10}if((s|0)==10){g=b+48|0;q=(d[g>>0]|0)+1|0;k=(c[b>>2]|0)+78|0;do if(q>>>0>(d[k>>0]|0)>>>0)if(q>>>0>249)oe(c[b+12>>2]|0,33721);else{p=q&255;a[k>>0]=p;t=p;break}else t=q&255;while(0);a[g>>0]=t;He(b,e,(t&255)+-1|0);if((c[e>>2]|0)==6)s=17;else u=c[e+4>>2]|0}if((s|0)==17){s=c[e+4>>2]|0;if((s&256|0)==0?(d[b+46>>0]|0|0)<=(s|0):0){e=b+48|0;a[e>>0]=(a[e>>0]|0)+-1<<24>>24;u=s}else u=s}Fe(b,f<<14|u<<23|16348)|0;u=b+28|0;f=c[u>>2]|0;c[u>>2]=-1;u=Fe(b,2147450903)|0;if((f|0)==-1){i=u;return i|0}if((u|0)==-1){i=f;return i|0}s=c[(c[b>>2]|0)+12>>2]|0;e=u;while(1){t=s+(e<<2)|0;g=c[t>>2]|0;q=(g>>>14)+-131071|0;k=(q|0)==-1?-1:e+1+q|0;if((k|0)==-1){v=t;w=g;x=e;break}else e=k}e=f+~x|0;if((((e|0)>-1?e:0-e|0)|0)>131071)oe(c[b+12>>2]|0,33676);c[v>>2]=(e<<14)+2147467264|w&16383;i=u;return i|0}function bf(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;Ee(a,b);switch(c[b>>2]|0){case 10:{d=c[b+4>>2]|0;e=4;break}case 3:case 1:break;default:{d=af(a,b,1)|0;e=4}}do if((e|0)==4?(f=b+8|0,(d|0)!=-1):0){g=c[f>>2]|0;if((g|0)==-1){c[f>>2]=d;break}f=c[(c[a>>2]|0)+12>>2]|0;h=g;while(1){g=f+(h<<2)|0;i=c[g>>2]|0;j=(i>>>14)+-131071|0;k=(j|0)==-1?-1:h+1+j|0;if((k|0)==-1){l=g;m=i;n=h;break}else h=k}h=d+~n|0;if((((h|0)>-1?h:0-h|0)|0)>131071)oe(c[a+12>>2]|0,33676);else{c[l>>2]=(h<<14)+2147467264|m&16383;break}}while(0);m=b+12|0;b=c[m>>2]|0;c[a+24>>2]=c[a+20>>2];l=a+28|0;if((b|0)==-1){c[m>>2]=-1;return}n=c[l>>2]|0;if((n|0)==-1){c[l>>2]=b;c[m>>2]=-1;return}l=c[(c[a>>2]|0)+12>>2]|0;d=n;while(1){n=l+(d<<2)|0;e=c[n>>2]|0;h=(e>>>14)+-131071|0;f=(h|0)==-1?-1:d+1+h|0;if((f|0)==-1){o=n;p=e;q=d;break}else d=f}d=b+~q|0;if((((d|0)>-1?d:0-d|0)|0)>131071)oe(c[a+12>>2]|0,33676);c[o>>2]=(d<<14)+2147467264|p&16383;c[m>>2]=-1;return}function cf(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;switch(e|0){case 13:{Ee(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){k=l+(m<<2)|0;n=c[k>>2]|0;o=(n>>>14)+-131071|0;p=(o|0)==-1?-1:m+1+o|0;if((p|0)==-1){q=k;r=n;s=m;break}else m=p}m=j+~s|0;if((((m|0)>-1?m:0-m|0)|0)>131071)oe(c[b+12>>2]|0,33676);else{c[q>>2]=(m<<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 14:{Ee(b,g);r=g+8|0;q=c[f+8>>2]|0;do if((q|0)!=-1){s=c[r>>2]|0;if((s|0)==-1){c[r>>2]=q;break}j=c[(c[b>>2]|0)+12>>2]|0;i=s;while(1){s=j+(i<<2)|0;m=c[s>>2]|0;l=(m>>>14)+-131071|0;p=(l|0)==-1?-1:i+1+l|0;if((p|0)==-1){t=s;u=m;v=i;break}else i=p}i=q+~v|0;if((((i|0)>-1?i:0-i|0)|0)>131071)oe(c[b+12>>2]|0,33676);else{c[t>>2]=(i<<14)+2147467264|u&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 6:{if((c[g+8>>2]|0)==(c[g+12>>2]|0))Ee(b,g);else De(b,g)|0;if((c[g>>2]|0)==11?(u=g+4|0,t=(c[(c[b>>2]|0)+12>>2]|0)+(c[u>>2]<<2)|0,v=c[t>>2]|0,(v&63|0)==22):0){q=f+4|0;r=c[q>>2]|0;if((c[f>>2]|0)==6&(r&256|0)==0?(d[b+46>>0]|0|0)<=(r|0):0){i=b+48|0;a[i>>0]=(a[i>>0]|0)+-1<<24>>24}c[t>>2]=r<<23|v&8388607;c[f>>2]=11;c[q>>2]=c[u>>2];return}Ee(b,g);if(((c[g>>2]|0)==6?(u=c[g+4>>2]|0,(u&256|0)==0):0)?(d[b+46>>0]|0|0)<=(u|0):0){u=b+48|0;a[u>>0]=(a[u>>0]|0)+-1<<24>>24}u=b+48|0;q=(d[u>>0]|0)+1|0;v=(c[b>>2]|0)+78|0;do if(q>>>0>(d[v>>0]|0)>>>0)if(q>>>0>249)oe(c[b+12>>2]|0,33721);else{r=q&255;a[v>>0]=r;w=r;break}else w=q&255;while(0);a[u>>0]=w;Ge(b,g,(w&255)+-1|0);Je(b,22,f,g,h);return}case 5:case 4:case 3:case 2:case 1:case 0:{Je(b,e+13|0,f,g,h);return}case 9:case 8:case 7:{df(b,e+17|0,1,f,g);return}case 12:case 11:case 10:{df(b,e+14|0,0,f,g);return}default:return}}function df(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;i=Ke(b,g)|0;j=Ke(b,h)|0;if(((c[h>>2]|0)==6?(k=c[h+4>>2]|0,(k&256|0)==0):0)?(d[b+46>>0]|0|0)<=(k|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)?(d[b+46>>0]|0|0)<=(k|0):0){k=b+48|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24}k=(e|0)!=24&(f|0)==0;Fe(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=Fe(b,2147450903)|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){f=k+(e<<2)|0;h=c[f>>2]|0;n=(h>>>14)+-131071|0;o=(n|0)==-1?-1:e+1+n|0;if((o|0)==-1){p=f;q=h;r=e;break}else e=o}e=i+~r|0;if((((e|0)>-1?e:0-e|0)|0)>131071)oe(c[b+12>>2]|0,33676);c[p>>2]=(e<<14)+2147467264|q&16383;l=j;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}function ef(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+16|0;f=e;Be(b,f,0)|0;g=c[b+28>>2]|0;Ee(g,f);if(((c[f>>2]|0)==6?(b=c[f+4>>2]|0,(b&256|0)==0):0)?(d[g+46>>0]|0|0)<=(b|0):0){b=g+48|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}b=g+48|0;h=(d[b>>0]|0)+1|0;j=(c[g>>2]|0)+78|0;if(h>>>0<=(d[j>>0]|0)>>>0){k=h&255;a[b>>0]=k;l=k&255;m=l+-1|0;Ge(g,f,m);i=e;return}if(h>>>0>249)oe(c[g+12>>2]|0,33721);n=h&255;a[j>>0]=n;k=n;a[b>>0]=k;l=k&255;m=l+-1|0;Ge(g,f,m);i=e;return}function ff(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|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,N=0,O=0,P=0,Q=0;k=i;i=i+32|0;l=k+12|0;m=k;n=e+28|0;o=c[n>>2]|0;p=o+46|0;q=(d[p>>0]|0)+3|0;a[p>>0]=q;r=o+20|0;s=c[r>>2]|0;t=o+12|0;u=c[(c[o>>2]|0)+24>>2]|0;v=c[c[(c[t>>2]|0)+44>>2]>>2]|0;w=(c[o+40>>2]|0)+(q&255)|0;c[u+((b[v+(w+-3<<1)>>1]|0)*12|0)+4>>2]=s;c[u+((b[v+(w+-2<<1)>>1]|0)*12|0)+4>>2]=s;c[u+((b[v+(w+-1<<1)>>1]|0)*12|0)+4>>2]=s;s=e+12|0;if((c[s>>2]|0)!=259)Me(e,259);c[e+8>>2]=c[e+4>>2];w=e+20|0;if((c[w>>2]|0)==286)c[s>>2]=re(e,e+16|0)|0;else{v=w;u=c[v+4>>2]|0;q=e+12|0;c[q>>2]=c[v>>2];c[q+4>>2]=u;c[w>>2]=286}w=(j|0)!=0;do if(!w){j=o+28|0;u=c[j>>2]|0;c[j>>2]=-1;j=Fe(o,2147450903)|0;if((u|0)!=-1)if((j|0)!=-1){q=c[(c[o>>2]|0)+12>>2]|0;v=j;while(1){x=q+(v<<2)|0;y=c[x>>2]|0;z=(y>>>14)+-131071|0;A=(z|0)==-1?-1:v+1+z|0;if((A|0)==-1){B=x;C=y;D=v;break}else v=A}v=u+~D|0;if((((v|0)>-1?v:0-v|0)|0)>131071)oe(c[t>>2]|0,33676);else{c[B>>2]=(v<<14)+2147467264|C&16383;E=j;break}}else E=u;else E=j}else E=Fe(o,f<<6|2147450913)|0;while(0);a[m+10>>0]=0;a[m+8>>0]=a[p>>0]|0;p=c[t>>2]|0;C=c[p+44>>2]|0;b[m+4>>1]=c[C+28>>2];b[m+6>>1]=c[C+16>>2];a[m+9>>0]=0;C=o+16|0;c[m>>2]=c[C>>2];c[C>>2]=m;m=c[n>>2]|0;n=m+46|0;C=(d[n>>0]|0)+h|0;B=C&255;a[n>>0]=B;if(h|0){n=c[m+20>>2]|0;D=c[(c[m>>2]|0)+24>>2]|0;v=c[c[(c[m+12>>2]|0)+44>>2]>>2]|0;q=(c[m+40>>2]|0)+(C&255)|0;C=h;do{c[D+((b[v+(q-C<<1)>>1]|0)*12|0)+4>>2]=n;C=C+-1|0}while((C|0)!=0)}C=o+48|0;n=(d[C>>0]|0)+h|0;q=(c[o>>2]|0)+78|0;do if((n|0)>(d[q>>0]|0))if((n|0)>249)oe(p,33721);else{v=n&255;a[q>>0]=v;F=v;break}else F=n&255;while(0);a[C>>0]=F;a[l+10>>0]=0;a[l+8>>0]=B;B=c[(c[m+12>>2]|0)+44>>2]|0;b[l+4>>1]=c[B+28>>2];b[l+6>>1]=c[B+16>>2];a[l+9>>0]=0;B=m+16|0;c[l>>2]=c[B>>2];c[B>>2]=l;a:do{l=c[s>>2]|0;switch(l|0){case 277:case 286:case 262:case 261:case 260:{break a;break}default:{}}ze(e)}while((l|0)!=274);Re(m);Re(o);c[o+24>>2]=c[r>>2];m=o+28|0;do if((E|0)!=-1){e=c[m>>2]|0;if((e|0)==-1){c[m>>2]=E;break}s=c[(c[o>>2]|0)+12>>2]|0;l=e;while(1){e=s+(l<<2)|0;B=c[e>>2]|0;F=(B>>>14)+-131071|0;C=(F|0)==-1?-1:l+1+F|0;if((C|0)==-1){G=e;H=B;I=l;break}else l=C}l=E+~I|0;if((((l|0)>-1?l:0-l|0)|0)>131071)oe(c[t>>2]|0,33676);else{c[G>>2]=(l<<14)+2147467264|H&16383;break}}while(0);H=f<<6;if(w){J=Fe(o,H|2147450912)|0;K=E+1|0;Ue(o,J,K);L=c[r>>2]|0;M=L+-1|0;N=c[o>>2]|0;O=N+20|0;P=c[O>>2]|0;Q=P+(M<<2)|0;c[Q>>2]=g;i=k;return}else{Fe(o,H|h<<14|34)|0;c[(c[(c[o>>2]|0)+20>>2]|0)+((c[r>>2]|0)+-1<<2)>>2]=g;J=Fe(o,H+128|2147450915)|0;K=E+1|0;Ue(o,J,K);L=c[r>>2]|0;M=L+-1|0;N=c[o>>2]|0;O=N+20|0;P=c[O>>2]|0;Q=P+(M<<2)|0;c[Q>>2]=g;i=k;return}}function gf(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)?(d[b+46>>0]|0)<=(h|0):0){h=b+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}Ge(b,g,c[f+4>>2]|0);return}case 8:{Fe(b,(De(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;Fe(b,(Ke(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((d[b+46>>0]|0)>(h|0))return;h=b+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24;return}function hf(f,g,h){f=f|0;g=g|0;h=h|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,Y=0,Z=0;j=i;i=i+64|0;k=j+8|0;l=j;m=j+40|0;n=j+20|0;o=g+4|0;if(((c[o>>2]|0)+-7|0)>>>0>=3)oe(f,37380);p=f+12|0;a:do switch(c[p>>2]|0){case 44:{c[f+8>>2]=c[f+4>>2];q=f+20|0;if((c[q>>2]|0)==286)c[p>>2]=re(f,f+16|0)|0;else{r=q;s=c[r+4>>2]|0;t=f+12|0;c[t>>2]=c[r>>2];c[t+4>>2]=s;c[q>>2]=286}c[n>>2]=g;q=n+4|0;We(f,q);s=c[q>>2]|0;q=f+28|0;if((s|0)!=9){t=c[q>>2]|0;r=c[n+8>>2]|0;u=t+48|0;v=a[u>>0]|0;w=v&255;x=(s|0)==7;y=v&255;if(x){z=g;A=0;while(1){if((c[z+4>>2]|0)==9){B=z+8|0;C=B+3|0;if((a[C>>0]|0)==7?(D=B+2|0,(d[D>>0]|0)==(r|0)):0){a[C>>0]=7;a[D>>0]=v;E=1}else E=A;if((b[B>>1]|0)==(r|0)){b[B>>1]=y;F=1}else F=E}else F=A;z=c[z>>2]|0;if(!z){G=F;break}else A=F}}else{A=g;z=0;while(1){if(((c[A+4>>2]|0)==9?(y=A+8|0,B=y+3|0,(d[B>>0]|0)==(s|0)):0)?(D=y+2|0,(d[D>>0]|0)==(r|0)):0){a[B>>0]=7;a[D>>0]=v;H=1}else H=z;A=c[A>>2]|0;if(!A){G=H;break}else z=H}}if(G|0){Fe(t,r<<23|(x?0:5)|w<<6)|0;z=(d[u>>0]|0)+1|0;A=(c[t>>2]|0)+78|0;do if(z>>>0>(d[A>>0]|0)>>>0)if(z>>>0>249)oe(c[t+12>>2]|0,33721);else{v=z&255;a[A>>0]=v;I=v;break}else I=z&255;while(0);a[u>>0]=I}}z=c[q>>2]|0;if(((e[(c[f+32>>2]|0)+38>>1]|0)+h|0)<=200){hf(f,n,h+1|0);J=m;K=q;break a}A=z+12|0;t=c[(c[A>>2]|0)+32>>2]|0;w=c[(c[z>>2]|0)+64>>2]|0;if(!w){L=33253;c[k>>2]=33667;M=k+4|0;c[M>>2]=200;N=k+8|0;c[N>>2]=L;O=Hd(t,33267,k)|0;P=c[A>>2]|0;oe(P,O)}c[l>>2]=w;L=Hd(t,33233,l)|0;c[k>>2]=33667;M=k+4|0;c[M>>2]=200;N=k+8|0;c[N>>2]=L;O=Hd(t,33267,k)|0;P=c[A>>2]|0;oe(P,O);break}case 61:{A=f+4|0;t=f+8|0;c[t>>2]=c[A>>2];w=f+20|0;if((c[w>>2]|0)==286)c[p>>2]=re(f,f+16|0)|0;else{z=w;x=c[z+4>>2]|0;r=f+12|0;c[r>>2]=c[z>>2];c[r+4>>2]=x;c[w>>2]=286}Be(f,m,0)|0;b:do if((c[p>>2]|0)==44){x=f+16|0;r=f+28|0;z=m+4|0;v=f+12|0;s=1;while(1){c[t>>2]=c[A>>2];if((c[w>>2]|0)==286)c[p>>2]=re(f,x)|0;else{D=w;B=c[D+4>>2]|0;y=v;c[y>>2]=c[D>>2];c[y+4>>2]=B;c[w>>2]=286}B=c[r>>2]|0;Ee(B,m);if(((c[m>>2]|0)==6?(y=c[z>>2]|0,(y&256|0)==0):0)?(d[B+46>>0]|0)<=(y|0):0){y=B+48|0;a[y>>0]=(a[y>>0]|0)+-1<<24>>24}y=B+48|0;D=(d[y>>0]|0)+1|0;C=(c[B>>2]|0)+78|0;if(D>>>0>(d[C>>0]|0)>>>0){if(D>>>0>249){Q=B;break}R=D&255;a[C>>0]=R;S=R}else S=D&255;a[y>>0]=S;Ge(B,m,(S&255)+-1|0);Be(f,m,0)|0;B=s+1|0;if((c[p>>2]|0)==44)s=B;else{T=r;U=B;break b}}oe(c[Q+12>>2]|0,33721)}else{T=f+28|0;U=1}while(0);w=c[T>>2]|0;if((U|0)==(h|0)){switch(c[m>>2]|0){case 12:{c[m>>2]=6;A=m+4|0;c[A>>2]=(c[(c[(c[w>>2]|0)+12>>2]|0)+(c[A>>2]<<2)>>2]|0)>>>6&255;break}case 13:{A=(c[(c[w>>2]|0)+12>>2]|0)+(c[m+4>>2]<<2)|0;c[A>>2]=c[A>>2]&8388607|16777216;c[m>>2]=11;break}default:{}}gf(w,o,m);i=j;return}A=h-U|0;t=c[m>>2]|0;switch(t|0){case 13:case 12:{q=A+1|0;u=(q|0)<0?0:q;switch(t|0){case 12:{t=(c[(c[w>>2]|0)+12>>2]|0)+(c[m+4>>2]<<2)|0;c[t>>2]=c[t>>2]&-8372225|(u<<14)+16384&8372224;break}case 13:{t=m+4|0;q=c[w>>2]|0;r=c[q+12>>2]|0;s=r+(c[t>>2]<<2)|0;c[s>>2]=c[s>>2]&8388607|(u<<23)+8388608;s=r+(c[t>>2]<<2)|0;t=w+48|0;r=d[t>>0]|0;c[s>>2]=r<<6|c[s>>2]&-16321;s=r+1|0;r=q+78|0;do if(s>>>0>(d[r>>0]|0)>>>0)if(s>>>0>249)oe(c[w+12>>2]|0,33721);else{q=s&255;a[r>>0]=q;V=q;break}else V=s&255;while(0);a[t>>0]=V;break}default:{}}if((u|0)>1){s=w+48|0;r=u+-1+(d[s>>0]|0)|0;q=(c[w>>2]|0)+78|0;do if((r|0)>(d[q>>0]|0))if((r|0)>249)oe(c[w+12>>2]|0,33721);else{z=r&255;a[q>>0]=z;W=z;break}else W=r&255;while(0);a[s>>0]=W}break}case 0:{X=80;break}default:{Ee(w,m);if(((c[m>>2]|0)==6?(r=c[m+4>>2]|0,(r&256|0)==0):0)?(d[w+46>>0]|0)<=(r|0):0){r=w+48|0;a[r>>0]=(a[r>>0]|0)+-1<<24>>24}r=w+48|0;q=(d[r>>0]|0)+1|0;u=(c[w>>2]|0)+78|0;do if(q>>>0>(d[u>>0]|0)>>>0)if(q>>>0>249)oe(c[w+12>>2]|0,33721);else{t=q&255;a[u>>0]=t;Y=t;break}else Y=q&255;while(0);a[r>>0]=Y;Ge(w,m,(Y&255)+-1|0);X=80}}c:do if((X|0)==80?(A|0)>0:0){q=w+48|0;u=d[q>>0]|0;s=u+A|0;t=c[w>>2]|0;z=t+78|0;do if((s|0)>(d[z>>0]|0))if((s|0)>249)oe(c[w+12>>2]|0,33721);else{v=s&255;a[z>>0]=v;Z=v;break}else Z=s&255;while(0);a[q>>0]=Z;z=s+511|0;v=c[w+20>>2]|0;do if((v|0)>(c[w+24>>2]|0)?(x=(c[t+12>>2]|0)+(v+-1<<2)|0,B=c[x>>2]|0,(B&63|0)==4):0){y=B>>>6&255;D=y+(B>>>23)|0;if(y>>>0>u>>>0|(D+1|0)>>>0<u>>>0?y>>>0<u>>>0|(y|0)>(s|0):0)break;R=y>>>0<u>>>0?y:u;c[x>>2]=R<<6|B&8372287|((D|0)<(s|0)?z:D)-R<<23;break c}while(0);Fe(w,(A<<23)+-8388608|u<<6|4)|0}while(0);if((U|0)>(h|0)){w=(c[T>>2]|0)+48|0;a[w>>0]=A+(d[w>>0]|0);J=m;K=T}else{J=m;K=T}break}default:Me(f,61)}while(0);f=c[K>>2]|0;K=(d[f+48>>0]|0)+-1|0;c[m+8>>2]=-1;c[m+12>>2]=-1;c[J>>2]=6;c[m+4>>2]=K;gf(f,o,m);i=j;return}function jf(b){b=b|0;a[b+6>>0]=0;c[b+16>>2]=b+72;return}function kf(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;h=c[e+12>>2]|0;do switch(f|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:{bd(e,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:{j=b[h+50>>1]|0;if((j&255)<<24>>24==2){k=(c[h+20>>2]|0)==0&1;fd(e);i=k;return i|0}else{k=h+12|0;l=c[k>>2]|0;m=(g<<10)+-1600+((j&65535)<256?0:l)|0;j=h+8|0;c[j>>2]=l-m+(c[j>>2]|0);c[k>>2]=m;fd(e);i=(a[h+49>>0]|0)==5&1;return i|0}break}case 6:{m=h+128|0;k=c[m>>2]|0;c[m>>2]=g;i=k;return i|0}case 8:{k=h+132|0;m=c[k>>2]|0;c[k>>2]=g;i=m;return i|0}case 7:{m=h+136|0;k=c[m>>2]|0;c[m>>2]=g;i=k;return i|0}case 9:{i=d[h+51>>0]|0;return i|0}case 10:{k=h+50|0;if((a[k>>0]|0)==2){i=0;return i|0}m=h+49|0;if(a[m>>0]|0)do Rc(e)|0;while((a[m>>0]|0)!=0);c[h+20>>2]=(c[h+12>>2]|0)+(c[h+8>>2]|0);a[k>>0]=2;i=0;return i|0}case 11:{lf(e,0);i=0;return i|0}default:{i=-1;return i|0}}while(0);return 0}function lf(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;f=b+12|0;g=c[f>>2]|0;h=g+50|0;if((d[h>>0]|0)==(e|0))return;if((e|0)==2){e=g+49|0;if(a[e>>0]|0)do Rc(b)|0;while((a[e>>0]|0)!=0);c[g+20>>2]=(c[g+12>>2]|0)+(c[g+8>>2]|0);a[h>>0]=2;return}a[h>>0]=0;a[g+49>>0]=2;c[g+52>>2]=0;h=g+60|0;e=g;a:while(1){i=c[e+48>>2]|0;j=i&255^3;k=(i&16711680|0)==131072;l=k?255:184;m=k?64:i&3;i=k?64:0;k=c[h>>2]|0;b:do if(!k){n=h;o=0}else{p=h;q=1;r=k;while(1){s=q;t=r;while(1){if(!s){n=p;o=t;break b}s=s+-1|0;u=t+5|0;v=d[u>>0]|0;if((v^3)&j|0){w=t;x=s;y=t;z=u;A=v;break}c[p>>2]=c[t>>2];Yc(b,t);t=c[p>>2]|0;if(!t){n=p;o=0;break b}}if(A&i|0){B=0;break a}if((a[y+4>>0]|0)==8)ad(b,w);a[z>>0]=A&l|m;t=c[w>>2]|0;if(!t){n=w;o=0;break}else{p=w;q=x;r=t}}}while(0);m=(o|0)==0?0:n;if((m|0)!=(h|0)){B=m;break}e=c[f>>2]|0}c[g+68>>2]=B;B=g+56|0;c:while(1){e=c[(c[f>>2]|0)+48>>2]|0;h=e&255^3;n=(e&16711680|0)==131072;o=n?255:184;x=n?64:e&3;e=n?64:0;n=c[B>>2]|0;d:do if(!n){C=B;D=0}else{w=B;A=1;z=n;while(1){y=A;m=z;while(1){if(!y){C=w;D=m;break d}y=y+-1|0;l=m+5|0;i=d[l>>0]|0;if((i^3)&h|0){E=m;F=m;G=y;H=l;I=i;break}c[w>>2]=c[m>>2];Yc(b,m);m=c[w>>2]|0;if(!m){C=w;D=0;break d}}if(I&e|0){J=0;break c}if((a[E+4>>0]|0)==8)ad(b,F);a[H>>0]=I&o|x;m=c[F>>2]|0;if(!m){C=F;D=0;break}else{w=F;A=G;z=m}}}while(0);x=(D|0)==0?0:C;if((x|0)!=(B|0)){J=x;break}}c[g+64>>2]=J;J=(c[f>>2]|0)+49|0;if(1<<d[J>>0]&-29|0)return;do Rc(b)|0;while(!(1<<d[J>>0]&-29|0));return}function mf(a){a=a|0;Jd(a);return 0}function nf(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;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]|0)==22)f=137316;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?137316: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:137316}while(0);b=c[f>>2]|0;f=a+8|0;e=c[f>>2]|0;g=e+-8|0;i=of(a,b,g)|0;a=c[b+28>>2]|0;h=b+12|0;j=i;while(1){i=j+1|0;if((i|0)>=(a|0)){k=i;l=13;break}m=c[h>>2]|0;n=m+(i<<3)+4|0;if(!(c[n>>2]|0))j=i;else{o=m;p=n;q=i;r=j;l=12;break}}a:do if((l|0)==12){c[g>>2]=(r<<16)+131072;c[e+-4>>2]=3;c[e>>2]=c[o+(q<<3)>>2];c[e+4>>2]=c[p>>2];s=1}else if((l|0)==13){j=k-a|0;h=1<<(d[b+7>>0]|0);if((j|0)<(h|0)){i=b+16|0;n=c[i>>2]|0;m=j;while(1){if(c[n+(m*20|0)+4>>2]|0){t=m;break}m=m+1|0;if((m|0)>=(h|0)){s=0;break a}}c[g>>2]=c[n+(t*20|0)+8>>2];c[e+-4>>2]=c[n+(t*20|0)+12>>2];h=c[i>>2]|0;c[e>>2]=c[h+(t*20|0)>>2];c[e+4>>2]=c[h+(t*20|0)+4>>2];s=1}else s=0}while(0);t=c[f>>2]|0;c[f>>2]=(s|0)==0?t+-8|0:t+8|0;return s|0}function of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;i=i+16|0;f=e;g=d+4|0;switch(c[g>>2]|0){case 3:{h=c[d>>2]|0;j=h>>16;if((j|0)>0&((h+-65536|0)>>>0<2147352577&(h&65535|0)==0)?(j|0)<=(c[b+28>>2]|0):0){k=j+-1|0;i=e;return k|0}else l=d;break}case 0:{k=-1;i=e;return k|0}default:l=d}j=nd(b,d)|0;h=c[g>>2]|0;g=h&63;m=(h&64|0)==0;n=j;a:while(1){j=n+8|0;o=c[n+12>>2]|0;b:do if((o|0)==(h|0))switch(g|0){case 0:{p=n;break a;break}case 3:{if((c[j>>2]|0)==(c[l>>2]|0)){p=n;break a}else break b;break}case 1:{if((c[j>>2]|0)==(c[l>>2]|0)){p=n;break a}else break b;break}case 2:{if((c[j>>2]|0)==(c[d>>2]|0)){p=n;break a}else break b;break}case 22:{if((c[j>>2]|0)==(c[d>>2]|0)){p=n;break a}else break b;break}case 4:{if((c[j>>2]|0)==(c[d>>2]|0)){p=n;break a}else break b;break}case 20:{q=c[j>>2]|0;r=c[d>>2]|0;s=c[q+12>>2]|0;if((q|0)==(r|0)){p=n;break a}if((s|0)!=(c[r+12>>2]|0))break b;if(!(Oo(q+16|0,r+16|0,s)|0)){p=n;break a}else break b;break}case 7:{if((c[j>>2]|0)==(c[d>>2]|0)){p=n;break a}else break b;break}case 5:{if((c[j>>2]|0)==(c[d>>2]|0)){p=n;break a}else break b;break}default:if((c[j>>2]|0)==(c[d>>2]|0)){p=n;break a}else break b}while(0);if(!((o|0)!=11|m)?(c[j>>2]|0)==(c[d>>2]|0):0){p=n;break}n=c[n+16>>2]|0;if(!n){t=24;break}}if((t|0)==24)Mc(a,34307,f);k=((p-(c[b+16>>2]|0)|0)/20|0)+(c[b+28>>2]|0)|0;i=e;return k|0}function pf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=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;h=i;i=i+160|0;j=h+40|0;k=h+32|0;l=h+24|0;m=h+16|0;n=h+8|0;o=h;p=h+48|0;q=b+8|0;r=b+16|0;s=(c[q>>2]|0)-((c[c[r>>2]>>2]|0)+8)>>3;t=e+16|0;u=c[t>>2]|0;v=e+72|0;if((u|0)!=(v|0)){w=1;x=1;while(1){if((w|0)>0){y=w;z=u;while(1){A=y+-1|0;B=c[z+8>>2]|0;if((y|0)>1&(B|0)!=(v|0)){y=A;z=B}else{C=A;D=B;break}}}else{C=w;D=u}if((D|0)==(v|0)|(C|0)!=0){E=w;F=x;break}z=w<<1;if((w|0)<0){E=z;F=w;break}else{y=w;w=z;x=y}}if((F|0)<(E|0)){x=E;w=F;while(1){F=x+w|0;C=(F|0)/2|0;if((F|0)<-1)G=0;else{if((F|0)>1){F=C;D=u;while(1){y=F+-1|0;z=c[D+8>>2]|0;if((F|0)>1&(z|0)!=(v|0)){F=y;D=z}else{H=y;I=z;break}}}else{H=C;I=u}G=((I|0)==(v|0)|(H|0)!=0)&1^1}D=(G|0)==0;F=D?C:x;w=D?w:C+1|0;if((w|0)>=(F|0)){J=F;break}else x=F}}else J=E}else J=1;E=(J+-1|0)>22?12:0;if(f|0){c[o>>2]=f;Wd(b,38029,o)|0}o=b+12|0;f=c[o>>2]|0;x=f+12|0;w=c[x>>2]|0;do if((w|0)>0)if(!(a[f+51>>0]|0)){G=f+8|0;c[G>>2]=w+1600+(c[G>>2]|0);c[x>>2]=-1600;break}else{fd(b);break}while(0);x=Pc(b,34329,16)|0;w=c[q>>2]|0;c[w>>2]=x;c[w+4>>2]=d[x+4>>0]|64;x=(c[q>>2]|0)+8|0;c[q>>2]=x;if((g|0)<0){K=x;L=x}else{x=p+96|0;w=J+-11|0;J=p+36|0;f=p+20|0;G=p+8|0;H=p+12|0;I=p+24|0;u=p+35|0;F=p+4|0;D=g;while(1){g=D+1|0;z=c[t>>2]|0;if((D|0)>0&(z|0)!=(v|0)){y=D;B=z;while(1){A=y+-1|0;M=c[B+8>>2]|0;if((y|0)>1&(M|0)!=(v|0)){y=A;B=M}else{N=A;O=M;break}}}else{N=D;O=z}if((O|0)==(v|0)|(N|0)!=0)break;c[x>>2]=O;do if((g|0)==(E|0)){B=c[o>>2]|0;y=B+12|0;C=c[y>>2]|0;do if((C|0)>0)if(!(a[B+51>>0]|0)){M=B+8|0;c[M>>2]=C+1600+(c[M>>2]|0);c[y>>2]=-1600;break}else{fd(b);break}while(0);y=Pc(b,34346,5)|0;C=c[q>>2]|0;c[C>>2]=y;c[C+4>>2]=d[y+4>>0]|64;c[q>>2]=(c[q>>2]|0)+8;P=w}else{qf(e,34352,p)|0;c[n>>2]=J;Wd(b,34400,n)|0;y=c[f>>2]|0;if((y|0)>0){c[m>>2]=y;Wd(b,34406,m)|0}y=c[o>>2]|0;C=y+12|0;B=c[C>>2]|0;do if((B|0)>0)if(!(a[y+51>>0]|0)){M=y+8|0;c[M>>2]=B+1600+(c[M>>2]|0);c[C>>2]=-1600;break}else{fd(b);break}while(0);C=Pc(b,34410,4)|0;B=c[q>>2]|0;c[B>>2]=C;c[B+4>>2]=d[C+4>>0]|64;c[q>>2]=(c[q>>2]|0)+8;a:do if(!(a[c[G>>2]>>0]|0))switch(a[c[H>>2]>>0]|0){case 109:{C=c[o>>2]|0;B=C+12|0;y=c[B>>2]|0;do if((y|0)>0)if(!(a[C+51>>0]|0)){M=C+8|0;c[M>>2]=y+1600+(c[M>>2]|0);c[B>>2]=-1600;break}else{fd(b);break}while(0);B=Pc(b,37442,10)|0;y=c[q>>2]|0;c[y>>2]=B;c[y+4>>2]=d[B+4>>0]|64;c[q>>2]=(c[q>>2]|0)+8;break a;break}case 67:{if(!(rf(b,p)|0)){B=c[o>>2]|0;y=B+12|0;C=c[y>>2]|0;do if((C|0)>0)if(!(a[B+51>>0]|0)){M=B+8|0;c[M>>2]=C+1600+(c[M>>2]|0);c[y>>2]=-1600;break}else{fd(b);break}while(0);y=Pc(b,32263,1)|0;C=c[q>>2]|0;c[C>>2]=y;c[C+4>>2]=d[y+4>>0]|64;c[q>>2]=(c[q>>2]|0)+8;break a}y=c[q>>2]|0;C=y+-8|0;if((c[y+-4>>2]&15|0)!=4)if(!(xd(b,C)|0))Q=0;else{y=c[o>>2]|0;B=y+12|0;M=c[B>>2]|0;do if((M|0)>0)if(!(a[y+51>>0]|0)){A=y+8|0;c[A>>2]=M+1600+(c[A>>2]|0);c[B>>2]=-1600;break}else{fd(b);break}while(0);R=(c[q>>2]|0)+-8|0;S=52}else{R=C;S=52}if((S|0)==52){S=0;Q=(c[R>>2]|0)+16|0}c[k>>2]=Q;Wd(b,34415,k)|0;B=c[q>>2]|0;M=B+-8|0;y=B+-16|0;while(1){c[y>>2]=c[M>>2];c[y+4>>2]=c[y+12>>2];B=M+8|0;A=c[q>>2]|0;if(B>>>0<A>>>0){T=M;M=B;y=T}else{U=A;break}}c[q>>2]=U+-8;break a;break}default:{y=c[I>>2]|0;c[j>>2]=J;c[j+4>>2]=y;Wd(b,34429,j)|0;break a}}else{c[l>>2]=c[F>>2];Wd(b,34415,l)|0}while(0);if(!(a[u>>0]|0)){y=c[q>>2]|0;V=y;W=y}else{y=c[o>>2]|0;M=y+12|0;C=c[M>>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[M>>2]=-1600;break}else{fd(b);break}while(0);M=Pc(b,34446,20)|0;C=c[q>>2]|0;c[C>>2]=M;c[C+4>>2]=d[M+4>>0]|64;M=(c[q>>2]|0)+8|0;c[q>>2]=M;V=M;W=M}M=V-((c[c[r>>2]>>2]|0)+8)>>3;C=M-s|0;if((C|0)<=1){if((M|0)!=(s|0)){P=g;break}M=Pc(b,1195596,0)|0;c[W>>2]=M;c[W+4>>2]=d[M+4>>0]|64;c[q>>2]=(c[q>>2]|0)+8;P=g;break}M=c[o>>2]|0;y=M+12|0;A=c[y>>2]|0;do if((A|0)>0)if(!(a[M+51>>0]|0)){T=M+8|0;c[T>>2]=A+1600+(c[T>>2]|0);c[y>>2]=-1600;break}else{fd(b);break}while(0);wd(b,C);P=g}while(0);if((P|0)<0)break;else D=P}P=c[q>>2]|0;K=P;L=P}P=K-((c[c[r>>2]>>2]|0)+8)>>3;r=P-s|0;if((r|0)<=1){if((P|0)!=(s|0)){i=h;return}s=Pc(b,1195596,0)|0;c[L>>2]=s;c[L+4>>2]=d[s+4>>0]|64;c[q>>2]=(c[q>>2]|0)+8;i=h;return}q=c[o>>2]|0;o=q+12|0;s=c[o>>2]|0;do if((s|0)>0)if(!(a[q+51>>0]|0)){L=q+8|0;c[L>>2]=s+1600+(c[L>>2]|0);c[o>>2]=-1600;break}else{fd(b);break}while(0);wd(b,r);i=h;return}function qf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+16|0;h=g;if((a[e>>0]|0)==62){j=b+8|0;k=(c[j>>2]|0)+-8|0;c[j>>2]=k;l=e+1|0;m=0;n=k}else{k=c[f+96>>2]|0;l=e;m=k;n=c[k>>2]|0}k=n+4|0;if((c[k>>2]&31|0)==6)o=c[n>>2]|0;else o=0;e=a[l>>0]|0;a:do if(!(e<<24>>24))p=1;else{j=(o|0)==0;q=f+16|0;r=f+24|0;s=f+28|0;t=f+12|0;u=f+36|0;v=f+45|0;w=f+95|0;x=f+39|0;y=o+4|0;z=o+12|0;A=(m|0)==0;B=f+20|0;C=m+18|0;D=m+28|0;E=f+32|0;F=f+34|0;G=f+33|0;H=o+6|0;I=f+35|0;J=f+8|0;K=f+4|0;L=m+8|0;M=b+12|0;N=l;O=e;P=1;while(1){b:do switch(O<<24>>24|0){case 83:{if(!j?(a[y>>0]|0)!=38:0){Q=c[z>>2]|0;R=c[Q+36>>2]|0;S=(R|0)==0?34362:R+16|0;c[q>>2]=S;R=c[Q+64>>2]|0;c[r>>2]=R;c[s>>2]=c[Q+68>>2];T=S;U=(R|0)==0?34365:34370}else{c[q>>2]=34357;c[r>>2]=-1;c[s>>2]=-1;T=34357;U=34374}c[t>>2]=U;R=Do(T)|0;switch(a[T>>0]|0){case 61:{S=T+1|0;if(R>>>0>60){V=u;W=S;X=V+59|0;do{a[V>>0]=a[W>>0]|0;V=V+1|0;W=W+1|0}while((V|0)<(X|0));a[w>>0]=0;Y=P;break b}else{xq(u|0,S|0,R|0)|0;Y=P;break b}break}case 64:{if(R>>>0>60){a[u>>0]=a[33052]|0;a[u+1>>0]=a[33053]|0;a[u+2>>0]=a[33054]|0;V=x;W=T+1+R+-57|0;X=V+57|0;do{a[V>>0]=a[W>>0]|0;V=V+1|0;W=W+1|0}while((V|0)<(X|0));Y=P;break b}else{xq(u|0,T+1|0,R|0)|0;Y=P;break b}break}default:{S=Qo(T,10)|0;V=u;W=33056;X=V+9|0;do{a[V>>0]=a[W>>0]|0;V=V+1|0;W=W+1|0}while((V|0)<(X|0));Q=(S|0)==0;if(R>>>0<45&Q){xq(v|0,T|0,R|0)|0;Z=v+R|0}else{_=Q?R:S-T|0;Q=_>>>0>45?45:_;xq(v|0,T|0,Q|0)|0;_=v+Q|0;a[_>>0]=a[33052]|0;a[_+1>>0]=a[33053]|0;a[_+2>>0]=a[33054]|0;Z=_+3|0};a[Z>>0]=a[33066]|0;a[Z+1>>0]=a[33067]|0;a[Z+2>>0]=a[33068]|0;Y=P;break b}}break}case 108:{if(!A?(a[C>>0]&1)!=0:0){_=c[(c[c[m>>2]>>2]|0)+12>>2]|0;Q=c[_+20>>2]|0;if(!Q)$=0;else $=c[Q+(((c[D>>2]|0)-(c[_+12>>2]|0)>>2)+-1<<2)>>2]|0}else $=-1;c[B>>2]=$;Y=P;break}case 117:{if(!j){a[E>>0]=a[H>>0]|0;if((a[y>>0]|0)!=38){_=c[z>>2]|0;a[F>>0]=a[_+77>>0]|0;a[G>>0]=a[_+76>>0]|0;Y=P;break b}}else a[E>>0]=0;a[F>>0]=1;a[G>>0]=0;Y=P;break}case 116:{if(A)aa=0;else aa=d[C>>0]&64;a[I>>0]=aa;Y=P;break}case 110:{c:do if((!A?(a[C>>0]&64)==0:0)?(_=c[L>>2]|0,(a[_+18>>0]&1)!=0):0){Q=c[(c[c[_>>2]>>2]|0)+12>>2]|0;ba=c[Q+12>>2]|0;ca=((c[_+28>>2]|0)-ba>>2)+-1|0;_=c[ba+(ca<<2)>>2]|0;do switch(_&63|0){case 30:case 29:{ba=jd(Q,ca,_>>>6&255,K)|0;c[J>>2]=ba;if(!ba)break c;else{Y=P;break b}break}case 34:{c[K>>2]=34376;da=34376;break}case 7:case 6:case 12:{ea=0;fa=55;break}case 10:case 8:{ea=1;fa=55;break}case 24:{ea=5;fa=55;break}case 13:{ea=6;fa=55;break}case 14:{ea=7;fa=55;break}case 15:{ea=8;fa=55;break}case 16:{ea=9;fa=55;break}case 17:{ea=10;fa=55;break}case 18:{ea=11;fa=55;break}case 19:{ea=12;fa=55;break}case 21:{ea=4;fa=55;break}case 25:{ea=13;fa=55;break}case 26:{ea=14;fa=55;break}case 22:{ea=15;fa=55;break}default:{fa=56;break c}}while(0);if((fa|0)==55){fa=0;c[K>>2]=(c[(c[M>>2]|0)+156+(ea<<2)>>2]|0)+16;da=34389}c[J>>2]=da;Y=P;break b}else fa=56;while(0);if((fa|0)==56){fa=0;c[J>>2]=0}c[J>>2]=1195596;c[K>>2]=0;Y=P;break}case 102:case 76:{Y=P;break}default:Y=0}while(0);N=N+1|0;O=a[N>>0]|0;if(!(O<<24>>24)){p=Y;break a}else P=Y}}while(0);if(Qo(l,102)|0){Y=b+8|0;da=c[Y>>2]|0;c[da>>2]=c[n>>2];c[da+4>>2]=c[k>>2];c[Y>>2]=(c[Y>>2]|0)+8}if(!(Qo(l,76)|0)){i=g;return p|0}if(o|0?(a[o+4>>0]|0)!=38:0){l=o+12|0;o=c[(c[l>>2]|0)+20>>2]|0;Y=_d(b)|0;k=b+8|0;da=c[k>>2]|0;c[da>>2]=Y;c[da+4>>2]=69;c[k>>2]=(c[k>>2]|0)+8;if((c[(c[l>>2]|0)+52>>2]|0)<=0){i=g;return p|0}k=Y+28|0;da=Y+12|0;n=h+4|0;ea=Y+7|0;aa=Y+16|0;$=0;do{m=c[o+($<<2)>>2]|0;Z=m+-1|0;d:do if(Z>>>0<(c[k>>2]|0)>>>0){ga=(c[da>>2]|0)+(Z<<3)|0;fa=79}else{T=m<<16;if((T|0)<0){W=0-T|0;ha=(T|0)==(W|0)?0:W}else ha=T;W=(c[aa>>2]|0)+(((ha|0)%((1<<d[ea>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[W+12>>2]|0)==3?(c[W+8>>2]|0)==(T|0):0){ia=W;break}W=c[W+16>>2]|0;if(!W){fa=80;break d}}ga=ia;fa=79}while(0);if((fa|0)==79){fa=0;if((ga|0)==137316)fa=80;else ja=ga}if((fa|0)==80){fa=0;c[h>>2]=m;c[n>>2]=3;ja=pd(b,Y,h)|0}c[ja>>2]=1;c[ja+4>>2]=1;$=$+1|0}while(($|0)<(c[(c[l>>2]|0)+52>>2]|0));i=g;return p|0}l=b+8|0;b=c[l>>2]|0;c[b+4>>2]=0;c[l>>2]=b+8;i=g;return p|0}function rf(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=a+8|0;f=a+16|0;g=(c[e>>2]|0)-((c[c[f>>2]>>2]|0)+8)|0;h=g>>3;qf(a,40755,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){k=j;break}j=c[j+16>>2]|0;if(!j){i=137316;break a}}i=k}while(0);k=c[e>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[e>>2]=(c[e>>2]|0)+8;i=h+1|0;if(sf(a,i,2)|0){Md(a,-1,i);c[e>>2]=(c[e>>2]|0)+-16;l=1;return l|0}if((g|0)<=-8){c[e>>2]=(c[e>>2]|0)+(i<<3);l=0;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){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)}c[e>>2]=g;l=0;return l|0}function sf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!f){g=0;return g|0}h=b+8|0;i=c[h>>2]|0;if((i+-8|0)==137316){g=0;return g|0}if((c[i+-4>>2]&15|0)!=5){g=0;return g|0}c[i+4>>2]=0;c[h>>2]=i+8;if(!(nf(b,-2)|0)){g=0;return g|0}i=f+-1|0;while(1){f=c[h>>2]|0;if((f+-16|0)!=137316?(c[f+-12>>2]&15|0)==4:0){if(Od(b,e,-1)|0){j=f;k=9;break}l=(sf(b,e,i)|0)==0;m=c[h>>2]|0;if(l)n=m;else{o=m;k=11;break}}else n=f;c[h>>2]=n+-8;if(!(nf(b,-2)|0)){g=0;k=25;break}}if((k|0)==9){c[h>>2]=j+-8;g=1;return g|0}else if((k|0)==11){j=o+-8|0;n=o+-16|0;while(1){c[n>>2]=c[j>>2];c[n+4>>2]=c[n+12>>2];o=j+8|0;i=c[h>>2]|0;if(o>>>0<i>>>0){e=j;j=o;n=e}else{p=i;break}}c[h>>2]=p+-8;p=b+12|0;n=c[p>>2]|0;j=n+12|0;i=c[j>>2]|0;do if((i|0)>0)if(!(a[n+51>>0]|0)){e=n+8|0;c[e>>2]=i+1600+(c[e>>2]|0);c[j>>2]=-1600;break}else{fd(b);break}while(0);j=Pc(b,48040,1)|0;i=c[h>>2]|0;c[i>>2]=j;c[i+4>>2]=d[j+4>>0]|64;j=c[h>>2]|0;i=j+8|0;c[h>>2]=i;n=i;do{i=n;n=n+-8|0;c[i>>2]=c[n>>2];c[i+4>>2]=c[i+-4>>2]}while(i>>>0>j>>>0);n=c[h>>2]|0;c[j+-8>>2]=c[n>>2];c[j+-4>>2]=c[n+4>>2];n=c[p>>2]|0;p=n+12|0;j=c[p>>2]|0;do if((j|0)>0)if(!(a[n+51>>0]|0)){h=n+8|0;c[h>>2]=j+1600+(c[h>>2]|0);c[p>>2]=-1600;break}else{fd(b);break}while(0);wd(b,3);g=1;return g|0}else if((k|0)==25)return g|0;return 0}function tf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;i=i+128|0;g=f+16|0;h=f+8|0;j=f;k=f+28|0;f=c[b+16>>2]|0;if((f|0)==(b+72|0)){c[j>>2]=d;c[j+4>>2]=e;uf(b,34467,j)|0}c[k+96>>2]=f;qf(b,34500,k)|0;if(!(To(c[k+8>>2]|0,32283)|0)){f=d+-1|0;if(!f){c[h>>2]=c[k+4>>2];c[h+4>>2]=e;uf(b,34502,h)|0}else l=f}else l=d;d=k+4|0;f=c[d>>2]|0;if(f|0){m=f;c[g>>2]=l;n=g+4|0;c[n>>2]=m;o=g+8|0;c[o>>2]=e;uf(b,34532,g)|0}do if(!(rf(b,k)|0))p=32263;else{f=b+8|0;h=c[f>>2]|0;j=h+-8|0;if((c[h+-4>>2]&15|0)==4)q=j;else{if(!(xd(b,j)|0)){p=0;break}j=c[b+12>>2]|0;h=j+12|0;r=c[h>>2]|0;do if((r|0)>0)if(!(a[j+51>>0]|0)){s=j+8|0;c[s>>2]=r+1600+(c[s>>2]|0);c[h>>2]=-1600;break}else{fd(b);break}while(0);q=(c[f>>2]|0)+-8|0}p=(c[q>>2]|0)+16|0}while(0);c[d>>2]=p;m=p;c[g>>2]=l;n=g+4|0;c[n>>2]=m;o=g+8|0;c[o>>2]=e;uf(b,34532,g)|0;return 0}function uf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f;c[g>>2]=e;vf(b,1);e=b+12|0;f=c[e>>2]|0;h=f+12|0;j=c[h>>2]|0;do if((j|0)>0)if(!(a[f+51>>0]|0)){k=f+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[h>>2]=-1600;break}else{fd(b);break}while(0);Nc(b,d,g)|0;g=c[e>>2]|0;e=g+12|0;d=c[e>>2]|0;if((d|0)<=0){wd(b,2);mf(b)|0}if(!(a[g+51>>0]|0)){h=g+8|0;c[h>>2]=d+1600+(c[h>>2]|0);c[e>>2]=-1600;wd(b,2);mf(b)|0}else{fd(b);wd(b,2);mf(b)|0}return 0}function vf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+112|0;g=f;h=f+8|0;if((e|0)>=0){j=c[b+16>>2]|0;k=b+72|0;if((e|0)>0&(j|0)!=(k|0)){l=e;m=j;while(1){n=l+-1|0;o=c[m+8>>2]|0;if((l|0)>1&(o|0)!=(k|0)){l=n;m=o}else{p=n;q=o;break}}}else{p=e;q=j}if(!((q|0)==(k|0)|(p|0)!=0)?(c[h+96>>2]=q,qf(b,34489,h)|0,q=h+20|0,p=c[q>>2]|0,(p|0)>0):0){c[g>>2]=h+36;c[g+4>>2]=p;Wd(b,34492,g)|0;c[34331]=c[q>>2];i=f;return}}q=c[b+12>>2]|0;g=q+12|0;p=c[g>>2]|0;do if((p|0)>0)if(!(a[q+51>>0]|0)){h=q+8|0;c[h>>2]=p+1600+(c[h>>2]|0);c[g>>2]=-1600;break}else{fd(b);break}while(0);g=Pc(b,1195596,0)|0;p=b+8|0;b=c[p>>2]|0;c[b>>2]=g;c[b+4>>2]=d[g+4>>0]|64;c[p>>2]=(c[p>>2]|0)+8;i=f;return}function wf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=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=i;i=i+16|0;f=e;g=e+12|0;h=e+8|0;j=a+16|0;k=c[j>>2]|0;l=(b|0)>0;do if(!l){if((b|0)>=-1000999){m=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){m=(c[a+12>>2]|0)+36|0;break}n=-1001e3-b|0;o=c[k>>2]|0;if((c[o+4>>2]|0)==22)m=137316;else{p=c[o>>2]|0;m=(n|0)>(d[p+6>>0]|0|0)?137316:p+16+(n+-1<<3)|0}}else{n=(c[k>>2]|0)+(b<<3)|0;m=n>>>0<(c[a+8>>2]|0)>>>0?n:137316}while(0);n=c[m+4>>2]|0;a:do if((n|0)==3)q=m;else{do if((n&15|0)==4){p=c[m>>2]|0;if(!(sd(p+16|0,c[p+12>>2]|0,g)|0)){r=c[j>>2]|0;break}else{c[h>>2]=c[g>>2];q=h;break a}}else r=k;while(0);do if(l){p=(c[r>>2]|0)+(b<<3)|0;if(p>>>0<(c[a+8>>2]|0)>>>0){s=p;t=23}else u=0}else{if((b|0)>=-1000999){s=(c[a+8>>2]|0)+(b<<3)|0;t=23;break}if((b|0)==-1001e3){s=(c[a+12>>2]|0)+36|0;t=23;break}p=-1001e3-b|0;o=c[r>>2]|0;if((c[o+4>>2]|0)!=22?(v=c[o>>2]|0,(p|0)<=(d[v+6>>0]|0|0)):0){s=v+16+(p+-1<<3)|0;t=23}else u=0}while(0);if((t|0)==23)if((s|0)==137316)u=0;else u=(c[s+4>>2]&15)+1|0;p=c[8+(u<<2)>>2]|0;c[f>>2]=31851;c[f+4>>2]=p;tf(a,b,Wd(a,34562,f)|0)|0;w=0;i=e;return w|0}while(0);w=c[q>>2]>>16;i=e;return w|0}function xf(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 yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=Do(b)|0;c[e>>2]=b;c[e+4>>2]=f;f=ee(a,4,e,b,0)|0;i=d;return f|0}function zf(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+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){h=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){h=(c[b+12>>2]|0)+36|0;break}i=-1001e3-e|0;j=c[g>>2]|0;if((c[j+4>>2]|0)==22)h=137316;else{k=c[j>>2]|0;h=(i|0)>(d[k+6>>0]|0)?137316:k+16+(i+-1<<3)|0}}else{i=(c[g>>2]|0)+(e<<3)|0;h=i>>>0<(c[b+8>>2]|0)>>>0?i:137316}while(0);e=c[h+4>>2]&15;switch(e|0){case 5:{l=(c[h>>2]|0)+8|0;break}case 7:{l=(c[h>>2]|0)+8|0;break}default:l=(c[b+12>>2]|0)+224+(e<<2)|0}e=c[l>>2]|0;if(!e){m=0;return m|0}l=b+8|0;h=c[l>>2]|0;c[h>>2]=e;c[h+4>>2]=69;h=c[l>>2]|0;c[l>>2]=h+8;if(!f){c[h+12>>2]=0;n=h+16|0}else{h=c[b+12>>2]|0;e=h+12|0;g=c[e>>2]|0;do if((g|0)>0)if(!(a[h+51>>0]|0)){i=h+8|0;c[i>>2]=g+1600+(c[i>>2]|0);c[e>>2]=-1600;break}else{fd(b);break}while(0);e=Oc(b,f,Do(f)|0)|0;f=c[l>>2]|0;c[f>>2]=e;c[f+4>>2]=d[e+4>>0]|64;n=(c[l>>2]|0)+8|0}c[l>>2]=n;e=md(c[n+-16>>2]|0,n+-8|0)|0;n=c[l>>2]|0;c[n+-8>>2]=c[e>>2];c[n+-4>>2]=c[e+4>>2];e=c[l>>2]|0;n=e+-8|0;if((n|0)!=137316?(c[e+-4>>2]&15|0)==0:0){c[l>>2]=e+-16;m=0;return m|0}f=n;n=e+-16|0;while(1){c[n>>2]=c[f>>2];c[n+4>>2]=c[n+12>>2];e=f+8|0;b=c[l>>2]|0;if(e>>>0<b>>>0){g=f;f=e;n=g}else{o=b;break}}c[l>>2]=o+-8;m=1;return m|0}function Af(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=Gb[d&1](e,0,8,372)|0;if(!g){h=0;i=f;return h|0}j=g+112|0;c[g>>2]=0;a[g+4>>0]=8;a[g+160>>0]=33;a[g+5>>0]=1;a[g+162>>0]=0;c[g+12>>2]=j;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[j>>2]=d;c[g+116>>2]=e;c[g+256>>2]=g;e=g;d=f;j=(mb(0)|0)^16;k=(j>>>2)+(1>>>24&255)+(j<<5)^j;j=(k>>>2)+(1>>>16&255)+(k<<5)^k;k=(j>>>2)+(1>>>8&255)+(j<<5)^j;j=(k>>>2)+1+(k<<5)^k;k=(j>>>2)+(137316>>>24&255)+(j<<5)^j;j=(k>>>2)+(137316>>>16&255)+(k<<5)^k;k=(j>>>2)+(137316>>>8&255)+(j<<5)^j;j=(k>>>2)+100+(k<<5)^k;k=(j>>>2)+(d>>>24)+(j<<5)^j;j=(k>>>2)+(d>>>16&255)+(k<<5)^k;k=(j>>>2)+(d>>>8&255)+(j<<5)^j;j=(k>>>2)+(d&252)+(k<<5)^k;k=(j>>>2)+(e>>>24)+(j<<5)^j;j=(k>>>2)+(e>>>16&255)+(k<<5)^k;k=(j>>>2)+(e>>>8&255)+(j<<5)^j;c[g+156>>2]=(k>>>2)+(e&255)+(k<<5)^k;k=g+208|0;c[g+220>>2]=k;c[g+224>>2]=k;a[g+163>>0]=0;k=g+132|0;c[g+152>>2]=0;c[g+228>>2]=0;c[g+236>>2]=0;c[g+252>>2]=0;c[g+260>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;a[g+161>>0]=5;k=g+120|0;e=g+168|0;j=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(j|0));c[k>>2]=372;c[g+124>>2]=0;c[g+240>>2]=200;c[g+244>>2]=200;c[g+248>>2]=200;e=g+336|0;j=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(j|0));if(!(Gd(g,4,0)|0)){h=g;i=f;return h|0}Cf(g);h=0;i=f;return h|0}function Bf(b,e){b=b|0;e=e|0;var f=0,g=0,h=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=i;i=i+16|0;f=e;g=b+12|0;h=c[g>>2]|0;j=h+4|0;k=Gb[c[h>>2]&1](c[j>>2]|0,0,0,320)|0;if(!k){if(!(a[h+51>>0]|0))Jc(b,4);bd(b,1);l=Gb[c[h>>2]&1](c[j>>2]|0,0,0,320)|0;if(!l)Jc(b,4);else m=l}else m=k;k=h+12|0;c[k>>2]=(c[k>>2]|0)+320;c[b+28>>2]=m;c[b+32>>2]=40;k=m+4|0;c[k>>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[b+24>>2]=m+280;l=b+72|0;c[b+80>>2]=0;c[b+84>>2]=0;a[b+90>>0]=0;c[l>>2]=m;c[b+8>>2]=m+8;c[k>>2]=0;c[b+76>>2]=m+168;c[b+16>>2]=l;l=_d(b)|0;c[h+36>>2]=l;c[h+40>>2]=69;qd(b,l,2,0);m=b;k=l+28|0;a:do if(!(c[k>>2]|0)){j=(c[l+16>>2]|0)+((65536%((1<<d[l+7>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==65536:0){n=j;break}j=c[j+16>>2]|0;if(!j){o=13;break a}}p=n;o=12}else{p=c[l+12>>2]|0;o=12}while(0);if((o|0)==12)if((p|0)==137316)o=13;else q=p;if((o|0)==13){c[f>>2]=1;c[f+4>>2]=3;q=pd(b,l,f)|0}c[q>>2]=m;c[q+4>>2]=72;q=_d(b)|0;b:do if((c[k>>2]|0)>>>0>1){r=(c[l+12>>2]|0)+8|0;o=21}else{m=(c[l+16>>2]|0)+((131072%((1<<d[l+7>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[m+12>>2]|0)==3?(c[m+8>>2]|0)==131072:0){s=m;break}m=c[m+16>>2]|0;if(!m){o=22;break b}}r=s;o=21}while(0);if((o|0)==21)if((r|0)==137316)o=22;else t=r;if((o|0)==22){c[f>>2]=2;c[f+4>>2]=3;t=pd(b,l,f)|0}c[t>>2]=q;c[t+4>>2]=69;Qc(b,32);t=0;do{q=c[204+(t<<2)>>2]|0;f=Oc(b,q,Do(q)|0)|0;c[(c[g>>2]|0)+156+(t<<2)>>2]=f;f=(c[(c[g>>2]|0)+156+(t<<2)>>2]|0)+5|0;a[f>>0]=d[f>>0]|32;t=t+1|0}while((t|0)!=17);u=0;do{t=c[72+(u<<2)>>2]|0;g=Oc(b,t,Do(t)|0)|0;t=g+5|0;a[t>>0]=d[t>>0]|32;u=u+1|0;a[g+6>>0]=u}while((u|0)!=22);u=Pc(b,35195,17)|0;c[h+152>>2]=u;b=u+5|0;a[b>>0]=d[b>>0]|32;a[h+51>>0]=1;c[h+148>>2]=60;i=e;return}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;b=a+12|0;d=c[b>>2]|0;e=a+28|0;$c(a,c[e>>2]|0);Df(a);f=c[b>>2]|0;g=c[f+24>>2]|0;h=c[f+32>>2]<<2;Gb[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-h|0: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=Gb[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-f|0: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;Gb[m&1](o,a,372,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;Gb[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?40:0)}while((i|0)!=0);p=c[e>>2]|0}e=c[a+32>>2]<<3;i=c[b>>2]|0;Gb[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?e:0);m=c[d>>2]|0;n=d+4|0;o=c[n>>2]|0;Gb[m&1](o,a,372,0)|0;return}function Df(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;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{h=i;while(1){k=c[h>>2]|0;if(!k){j=h;break}else h=k}}h=c[g>>2]|0;if(!h){l=f;m=i}else{i=h;h=j;while(1){j=i+5|0;a[j>>0]=d[j>>0]|8;c[g>>2]=c[i>>2];c[i>>2]=c[h>>2];c[h>>2]=i;j=c[g>>2]|0;if(!j)break;else{k=i;i=j;h=k}}h=c[e>>2]|0;l=h;m=c[h+92>>2]|0}h=l+92|0;if(!m){n=l;o=0}else{l=m;do{m=l+5|0;a[m>>0]=d[m>>0]&191;cd(b,0);l=c[h>>2]|0}while((l|0)!=0);n=c[e>>2]|0;o=c[g>>2]|0}a[f+48>>0]=3;a[f+50>>0]=0;l=c[n+48>>2]|0;n=l&255^3;h=(l&16711680|0)==131072;m=h?255:184;i=h?64:l&3;l=h?64:0;a:do if(o|0){h=g;k=-3;j=o;while(1){p=k;q=j;while(1){if(!p)break a;p=p+-1|0;r=q+5|0;s=d[r>>0]|0;if((s^3)&n|0){t=q;u=p;v=q;w=r;x=s;break}c[h>>2]=c[q>>2];Yc(b,q);q=c[h>>2]|0;if(!q)break a}if(x&l|0)break a;if((a[v+4>>0]|0)==8)ad(b,t);a[w>>0]=x&m|i;q=c[t>>2]|0;if(!q)break;else{h=t;k=u;j=q}}}while(0);u=f+56|0;t=c[(c[e>>2]|0)+48>>2]|0;i=t&255^3;m=(t&16711680|0)==131072;x=m?255:184;w=m?64:t&3;t=m?64:0;m=c[u>>2]|0;b:do if(m|0){v=u;l=-3;n=m;while(1){o=l;g=n;while(1){if(!o)break b;o=o+-1|0;j=g+5|0;k=d[j>>0]|0;if((k^3)&i|0){y=g;z=o;A=g;B=j;C=k;break}c[v>>2]=c[g>>2];Yc(b,g);g=c[v>>2]|0;if(!g)break b}if(C&t|0)break b;if((a[A+4>>0]|0)==8)ad(b,y);a[B>>0]=C&x|w;g=c[y>>2]|0;if(!g)break;else{v=y;l=z;n=g}}}while(0);z=f+32|0;if((c[z>>2]|0)<=0)return;y=f+24|0;f=0;do{w=(c[y>>2]|0)+(f<<2)|0;x=c[(c[e>>2]|0)+48>>2]|0;C=x&255^3;B=(x&16711680|0)==131072;A=B?255:184;t=B?64:x&3;x=B?64:0;B=c[w>>2]|0;c:do if(B|0){i=w;m=-3;u=B;while(1){n=m;l=u;while(1){if(!n)break c;n=n+-1|0;v=l+5|0;g=d[v>>0]|0;if((g^3)&C|0){D=l;E=l;F=n;G=v;H=g;break}c[i>>2]=c[l>>2];Yc(b,l);l=c[i>>2]|0;if(!l)break c}if(H&x|0)break c;if((a[D+4>>0]|0)==8)ad(b,E);a[G>>0]=H&A|t;l=c[E>>2]|0;if(!l)break;else{i=E;m=F;u=l}}}while(0);f=f+1|0}while((f|0)<(c[z>>2]|0));return}function Ef(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;b=i;i=i+16|0;d=b+8|0;e=b;f=a+16|0;g=c[c[f>>2]>>2]|0;h=g+16|0;j=a+8|0;k=c[j>>2]|0;if(h>>>0>=k>>>0|(h|0)==137316)l=-1;else l=c[g+20>>2]&15;h=g+8|0;if(!(h>>>0>=k>>>0|(h|0)==137316)){if((c[g+12>>2]&15|0)!=5){m=(c[g+12>>2]&15)+1|0;n=6}}else{m=0;n=6}if((n|0)==6){n=c[8+(m<<2)>>2]|0;c[e>>2]=31865;c[e+4>>2]=n;tf(a,1,Wd(a,34562,e)|0)|0}switch(l|0){case 0:case 5:break;default:tf(a,2,34707)|0}if(zf(a,1,34729)|0)uf(a,34741,d)|0;d=c[c[f>>2]>>2]|0;f=c[j>>2]|0;l=d+24|0;if(f>>>0>=l>>>0){c[j>>2]=l;ae(a,1)|0;i=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<l>>>0);c[j>>2]=f+(e+1<<3);c[j>>2]=l;ae(a,1)|0;i=b;return 1}function Ff(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=b+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=b+8|0;i=c[h>>2]|0;if(g>>>0>=i>>>0|(g|0)==137316){tf(b,1,34582)|0;j=c[h>>2]|0;k=c[c[e>>2]>>2]|0}else{j=i;k=f}f=k+8|0;if(f>>>0>=j>>>0|(f|0)==137316)l=0;else l=(c[k+12>>2]&15)+1|0;k=c[8+(l<<2)>>2]|0;l=c[b+12>>2]|0;f=l+12|0;j=c[f>>2]|0;do if((j|0)>0)if(!(a[l+51>>0]|0)){i=l+8|0;c[i>>2]=j+1600+(c[i>>2]|0);c[f>>2]=-1600;break}else{fd(b);break}while(0);f=Oc(b,k,Do(k)|0)|0;k=c[h>>2]|0;c[k>>2]=f;c[k+4>>2]=d[f+4>>0]|64;c[h>>2]=(c[h>>2]|0)+8;return 1}function Gf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;j=c[h>>2]|0;if(!(g>>>0>=j>>>0|(g|0)==137316))if((c[f+12>>2]&15|0)==5){k=f;l=j}else{m=(c[f+12>>2]&15)+1|0;n=4}else{m=0;n=4}if((n|0)==4){n=c[8+(m<<2)>>2]|0;c[d>>2]=31865;c[d+4>>2]=n;tf(a,1,Wd(a,34562,d)|0)|0;k=c[c[e>>2]>>2]|0;l=c[h>>2]|0}e=k+24|0;if(l>>>0<e>>>0){d=(k+20+(3-l)|0)>>>3;k=l;do{c[k+4>>2]=0;k=k+8|0}while(k>>>0<e>>>0);c[h>>2]=l+(d+1<<3)}c[h>>2]=e;if(nf(a,1)|0){o=2;i=b;return o|0}a=c[h>>2]|0;c[a+4>>2]=0;c[h>>2]=a+8;o=1;i=b;return o|0}function Hf(a){a=a|0;If(a,34777,0,4);return 3}function If(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;i=i+16|0;h=g+8|0;j=g;k=(zf(a,1,d)|0)==0;d=a+16|0;l=c[c[d>>2]>>2]|0;m=l+8|0;n=a+8|0;o=c[n>>2]|0;p=m>>>0<o>>>0;if(!k){k=p?m:137316;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];k=c[n>>2]|0;c[n>>2]=k+8;q=k+-8|0;k=a+38|0;r=(b[k>>1]|0)+1<<16>>16;b[k>>1]=r;if((r&65535)>199){if(r<<16>>16==200)Mc(a,32241,h);if((r&65535)>224)Jc(a,6)}r=a+36|0;b[r>>1]=(b[r>>1]|0)+1<<16>>16;if(!(ed(a,q,3)|0))kd(a);q=c[r>>2]|0;b[r>>1]=(q&65535)+-1<<16>>16;b[k>>1]=(q>>>16&65535)+-1<<16>>16;i=g;return}q=(m|0)==137316;if(!(q|p^1)?(c[l+12>>2]&15|0)==5:0)s=o;else{if(m>>>0>=o>>>0|q)t=0;else t=(c[l+12>>2]&15)+1|0;l=c[8+(t<<2)>>2]|0;c[j>>2]=31865;c[j+4>>2]=l;tf(a,1,Wd(a,34562,j)|0)|0;s=c[n>>2]|0}c[s>>2]=f;c[s+4>>2]=22;s=c[n>>2]|0;f=s+8|0;c[n>>2]=f;j=c[c[d>>2]>>2]|0;d=j>>>0<s>>>0?j+8|0:137316;c[f>>2]=c[d>>2];c[s+12>>2]=c[d+4>>2];d=c[n>>2]|0;s=d+8|0;c[n>>2]=s;if(!e){c[d+12>>2]=0;c[n>>2]=d+16;i=g;return}else{c[s>>2]=0;c[d+12>>2]=3;c[n>>2]=d+16;i=g;return}}function Jf(b){b=b|0;var d=0,e=0,f=0,g=0,h=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=i;i=i+16|0;e=d+8|0;f=d;g=b+16|0;h=c[c[g>>2]>>2]|0;j=h+8|0;k=b+8|0;l=c[k>>2]|0;m=j>>>0<l>>>0?j:137316;n=l;switch(c[m+4>>2]|0){case 0:break;case 1:{o=2;break}default:{p=j;q=n-p|0;r=q>>3;i=d;return r|0}}if((o|0)==2?c[m>>2]|0:0){p=j;q=n-p|0;r=q>>3;i=d;return r|0}r=h+16|0;if(r>>>0>=l>>>0|(r|0)==137316){s=34785;c[e>>2]=s;uf(b,42357,e)|0}switch(c[h+20>>2]&15|0){case 4:{t=r;break}case 0:{s=34785;c[e>>2]=s;uf(b,42357,e)|0;break}default:o=5}if((o|0)==5){if(!(xd(b,r)|0)){r=c[c[g>>2]>>2]|0;o=r+16|0;if((o|0)==137316?1:o>>>0>=(c[k>>2]|0)>>>0)u=0;else u=(c[r+20>>2]&15)+1|0;r=c[8+(u<<2)>>2]|0;c[f>>2]=31858;c[f+4>>2]=r;tf(b,2,Wd(b,34562,f)|0)|0;s=0;c[e>>2]=s;uf(b,42357,e)|0}f=c[b+12>>2]|0;r=f+12|0;u=c[r>>2]|0;do if((u|0)>0)if(!(a[f+51>>0]|0)){o=f+8|0;c[o>>2]=u+1600+(c[o>>2]|0);c[r>>2]=-1600;break}else{fd(b);break}while(0);r=(c[c[g>>2]>>2]|0)+16|0;t=r>>>0<(c[k>>2]|0)>>>0?r:137316}s=(c[t>>2]|0)+16|0;c[e>>2]=s;uf(b,42357,e)|0;return 0}function Kf(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=a+16|0;e=c[c[b>>2]>>2]|0;f=e+8|0;g=a+8|0;h=c[g>>2]|0;i=f>>>0<h>>>0?f:137316;if((c[i+4>>2]|0)==72?(f=c[i>>2]|0,(f|0)!=0):0){j=e;k=h;l=f}else{tf(a,1,34803)|0;j=c[c[b>>2]>>2]|0;k=c[g>>2]|0;l=0}f=Lf(a,l,(k-(j+8)>>3)+-1|0)|0;j=c[g>>2]|0;if((f|0)<0){c[j>>2]=0;c[j+4>>2]=1;k=j+8|0;c[g>>2]=k;l=k;do{k=l;l=l+-8|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[k+-4>>2]}while(k>>>0>j>>>0);l=c[g>>2]|0;c[j+-8>>2]=c[l>>2];c[j+-4>>2]=c[l+4>>2];m=2;return m|0}c[j>>2]=1;c[j+4>>2]=1;l=j+8|0;c[g>>2]=l;j=f+1|0;k=c[b>>2]|0;do if((f|0)>1000998){if((f|0)==1000999){n=(c[a+12>>2]|0)+36|0;break}b=c[k>>2]|0;if((c[b+4>>2]|0)==22)n=137316;else{h=c[b>>2]|0;n=(f+-1000999|0)>(d[h+6>>0]|0|0)?137316:h+16+(f+-1001e3<<3)|0}}else n=l+(~f<<3)|0;while(0);if(l>>>0>n>>>0){f=l;do{k=f;f=f+-8|0;c[k>>2]=c[f>>2];c[k+4>>2]=c[k+-4>>2]}while(f>>>0>n>>>0);o=c[g>>2]|0}else o=l;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];m=j;return m|0}function Lf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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=i;i=i+16|0;h=g;c[h>>2]=f;j=e+16|0;k=c[j>>2]|0;l=e+8|0;m=c[l>>2]|0;do if(((c[e+24>>2]|0)-m>>3|0)>(f|0)){n=m;o=f;p=m}else{if(((m-(c[e+28>>2]|0)>>3)+5|0)<=(1e6-f|0)?(Gd(e,5,h)|0)==0:0){q=c[l>>2]|0;n=q;o=c[h>>2]|0;p=q;break}q=c[b+12>>2]|0;r=q+12|0;s=c[r>>2]|0;do if((s|0)>0)if(!(a[q+51>>0]|0)){t=q+8|0;c[t>>2]=s+1600+(c[t>>2]|0);c[r>>2]=-1600;break}else{fd(b);break}while(0);r=Pc(b,34822,37)|0;s=b+8|0;q=c[s>>2]|0;c[q>>2]=r;c[q+4>>2]=d[r+4>>0]|64;c[s>>2]=(c[s>>2]|0)+8;u=-1;i=g;return u|0}while(0);m=k+4|0;k=n+(o<<3)|0;if((c[m>>2]|0)>>>0<k>>>0)c[m>>2]=k;if((a[e+6>>0]|0)==0?(p|0)==((c[c[j>>2]>>2]|0)+8|0):0){p=c[b+12>>2]|0;k=p+12|0;m=c[k>>2]|0;do if((m|0)>0)if(!(a[p+51>>0]|0)){o=p+8|0;c[o>>2]=m+1600+(c[o>>2]|0);c[k>>2]=-1600;break}else{fd(b);break}while(0);k=Pc(b,34860,37)|0;m=b+8|0;p=c[m>>2]|0;c[p>>2]=k;c[p+4>>2]=d[k+4>>0]|64;c[m>>2]=(c[m>>2]|0)+8;u=-1;i=g;return u|0}m=(b|0)==(e|0);if((!m?(k=b+8|0,p=c[k>>2]|0,o=0-f|0,n=p+(o<<3)|0,c[k>>2]=n,(f|0)>0):0)?(s=c[l>>2]|0,c[l>>2]=s+8,c[s>>2]=c[n>>2],c[s+4>>2]=c[p+(o<<3)+4>>2],(f|0)!=1):0){o=1;do{p=c[k>>2]|0;s=c[l>>2]|0;c[l>>2]=s+8;c[s>>2]=c[p+(o<<3)>>2];c[s+4>>2]=c[p+(o<<3)+4>>2];o=o+1|0}while((o|0)!=(f|0))}if((Mf(e,b,f)|0|1|0)!=1){if(m){u=-1;i=g;return u|0}f=c[l>>2]|0;e=f+-8|0;c[l>>2]=e;o=b+8|0;k=c[o>>2]|0;c[o>>2]=k+8;c[k>>2]=c[e>>2];c[k+4>>2]=c[f+-4>>2];u=-1;i=g;return u|0}f=(c[l>>2]|0)-((c[c[j>>2]>>2]|0)+8)|0;k=f>>3;e=k+1|0;c[h>>2]=e;o=c[b+16>>2]|0;p=b+8|0;s=c[p>>2]|0;do if(((c[b+24>>2]|0)-s>>3|0)>(e|0)){v=s;w=e}else{if(((s-(c[b+28>>2]|0)>>3)+5|0)<=(999999-k|0)?(Gd(b,5,h)|0)==0:0){v=c[p>>2]|0;w=c[h>>2]|0;break}n=~k;if((f|0)<0){r=c[c[j>>2]>>2]|0;q=c[l>>2]|0;t=r+8+(n<<3)|0;if(q>>>0<t>>>0){x=(r+(n<<3)+4+(3-q)|0)>>>3;n=q;do{c[n+4>>2]=0;n=n+8|0}while(n>>>0<t>>>0);c[l>>2]=q+(x+1<<3);y=t}else y=t}else y=(c[l>>2]|0)+(0-k<<3)|0;c[l>>2]=y;n=c[b+12>>2]|0;r=n+12|0;z=c[r>>2]|0;do if((z|0)>0)if(!(a[n+51>>0]|0)){A=n+8|0;c[A>>2]=z+1600+(c[A>>2]|0);c[r>>2]=-1600;break}else{fd(b);break}while(0);r=Pc(b,34965,35)|0;z=c[p>>2]|0;c[z>>2]=r;c[z+4>>2]=d[r+4>>0]|64;c[p>>2]=(c[p>>2]|0)+8;u=-1;i=g;return u|0}while(0);b=o+4|0;o=v+(w<<3)|0;if((c[b>>2]|0)>>>0<o>>>0)c[b>>2]=o;if(m){u=k;i=g;return u|0}m=c[l>>2]|0;o=0-k|0;b=m+(o<<3)|0;c[l>>2]=b;if((f|0)<=0){u=k;i=g;return u|0}f=c[p>>2]|0;c[p>>2]=f+8;c[f>>2]=c[b>>2];c[f+4>>2]=c[m+(o<<3)+4>>2];if((k|0)==1){u=1;i=g;return u|0}else B=1;do{o=c[l>>2]|0;m=c[p>>2]|0;c[p>>2]=m+8;c[m>>2]=c[o+(B<<3)>>2];c[m+4>>2]=c[o+(B<<3)+4>>2];B=B+1|0}while((B|0)!=(k|0));u=k;i=g;return u|0}function Mf(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;i=f+36|0;j=b[i>>1]|0;if(!g)k=1;else k=(e[g+38>>1]|0)+1&65535;g=f+38|0;b[g>>1]=k;b[i>>1]=0;k=f+8|0;l=Gd(f,6,(c[k>>2]|0)+(0-h<<3)|0)|0;if((l|0)==-1){m=2;b[i>>1]=j;n=b[g>>1]|0;o=n+-1<<16>>16;b[g>>1]=o;return m|0}if(l>>>0<=1){m=l;b[i>>1]=j;n=b[g>>1]|0;o=n+-1<<16>>16;b[g>>1]=o;return m|0}h=f+16|0;p=f+28|0;q=f+41|0;r=f+68|0;s=f+32|0;t=f+12|0;u=l;a:while(1){l=c[h>>2]|0;if(!l){v=u;break}else w=l;while(1){l=w+18|0;if(a[l>>0]&16){x=l;y=w;break}w=c[w+8>>2]|0;if(!w){v=u;break a}}l=(c[p>>2]|0)+(c[y+20>>2]|0)|0;$c(f,l);switch(u|0){case 4:{z=c[(c[t>>2]|0)+152>>2]|0;c[l>>2]=z;c[l+4>>2]=d[z+4>>0]|0|64;break}case 6:{z=Pc(f,32939,23)|0;c[l>>2]=z;c[l+4>>2]=d[z+4>>0]|0|64;break}default:{z=c[k>>2]|0;c[l>>2]=c[z+-8>>2];c[l+4>>2]=c[z+-4>>2]}}z=l+8|0;c[k>>2]=z;c[h>>2]=y;a[q>>0]=a[y+36>>0]|0;b[i>>1]=0;l=y;A=z;while(1){z=c[l+4>>2]|0;B=A>>>0<z>>>0?z:A;l=c[l+8>>2]|0;if(!l){C=B;break}else A=B}A=C-(c[p>>2]|0)|0;l=A>>3;B=l+11+((l+1|0)/8|0)|0;l=(B|0)>1e6?1e6:B;if((A|0)<=7999992?(l|0)<(c[s>>2]|0):0)Kc(f,l);c[r>>2]=c[y+32>>2];a[x>>0]=d[x>>0]|0|32;a[y+37>>0]=u;l=Gd(f,7,0)|0;if(l>>>0>1)u=l;else{m=l;D=24;break}}if((D|0)==24){b[i>>1]=j;n=b[g>>1]|0;o=n+-1<<16>>16;b[g>>1]=o;return m|0}a[f+6>>0]=v;D=c[k>>2]|0;switch(v|0){case 4:{u=c[(c[t>>2]|0)+152>>2]|0;c[D>>2]=u;c[D+4>>2]=d[u+4>>0]|0|64;break}case 6:{u=Pc(f,32939,23)|0;c[D>>2]=u;c[D+4>>2]=d[u+4>>0]|0|64;break}default:{c[D>>2]=c[D+-8>>2];c[D+4>>2]=c[D+-4>>2]}}u=D+8|0;c[k>>2]=u;c[(c[h>>2]|0)+4>>2]=u;m=v;b[i>>1]=j;n=b[g>>1]|0;o=n+-1<<16>>16;b[g>>1]=o;return m|0}function Nf(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;f=c[b+16>>2]|0;if((e[b+38>>1]|0)>199)Of(b,32241,d);g=b+6|0;switch(a[g>>0]|0){case 0:{if((f|0)!=(b+72|0))Of(b,34898,d);if(ed(b,d+-8|0,-1)|0)return;kd(b);return}case 1:{a[g>>0]=0;c[f>>2]=(c[b+28>>2]|0)+(c[f+20>>2]|0);g=f+18|0;h=a[g>>0]|0;if(!(h&1)){i=c[f+28>>2]|0;if(!i)j=d;else{a[f+37>>0]=1;a[g>>0]=h&255|8;h=Db[i&127](b)|0;j=(c[b+8>>2]|0)+(0-h<<3)|0}hd(b,j)|0}else kd(b);Pf(b,0);return}default:Of(b,34936,d)}}function Of(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;f=a+8|0;c[f>>2]=e;g=Oc(a,b,Do(b)|0)|0;c[e>>2]=g;c[e+4>>2]=d[g+4>>0]|0|64;c[f>>2]=(c[f>>2]|0)+8;Jc(a,-1)}function Pf(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;d=b+16|0;e=c[d>>2]|0;f=b+72|0;if((e|0)==(f|0))return;g=b+8|0;h=b+68|0;i=e;do{e=i+18|0;j=a[e>>0]|0;if(!(j&1)){k=j&255;if(k&16|0){a[e>>0]=k&239;c[h>>2]=c[i+32>>2]}k=c[i+16>>2]|0;j=k>>>16;if((k&65535)<<16>>16==-1?(k=i+4|0,l=c[g>>2]|0,(c[k>>2]|0)>>>0<l>>>0):0)c[k>>2]=l;if(!(j&32))a[i+37>>0]=1;a[e>>0]=j&199|8;j=Db[c[i+28>>2]&127](b)|0;hd(b,(c[g>>2]|0)+(0-j<<3)|0)|0}else{Qf(b);kd(b)}i=c[d>>2]|0}while((i|0)!=(f|0));return}function Qf(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;b=c[a+16>>2]|0;e=b+24|0;f=c[e>>2]|0;g=b+28|0;h=c[g>>2]|0;i=c[h+-4>>2]|0;j=i&63;switch(j|0){case 12:case 7:case 6:case 21:case 19:case 18:case 17:case 16:case 15:case 14:case 13:{k=a+8|0;l=c[k>>2]|0;m=l+-8|0;c[k>>2]=m;k=i>>>6&255;c[f+(k<<3)>>2]=c[m>>2];c[f+(k<<3)+4>>2]=c[l+-4>>2];return}case 24:case 25:case 26:{l=a+8|0;k=c[l>>2]|0;m=c[k+-4>>2]|0;if(m)if((m|0)==1)n=(c[k+-8>>2]|0)==0;else n=0;else n=1;m=n&1;n=m^1;c[l>>2]=k+-8;if((j|0)==26){j=i>>>23;k=f+(j<<3)|0;l=c[f+(j<<3)+4>>2]&15;switch(l|0){case 5:{o=(c[k>>2]|0)+8|0;break}case 7:{o=(c[k>>2]|0)+8|0;break}default:o=(c[a+12>>2]|0)+224+(l<<2)|0}l=c[o>>2]|0;a:do if(!l)p=137316;else{o=c[(c[a+12>>2]|0)+212>>2]|0;k=(c[l+16>>2]|0)+(((1<<(d[l+7>>0]|0))+-1&c[o+8>>2])*20|0)|0;while(1){if((c[k+12>>2]|0)==68?(c[k+8>>2]|0)==(o|0):0){q=k;break}k=c[k+16>>2]|0;if(!k){p=137316;break a}}p=q}while(0);r=(c[p+4>>2]|0)==0?m:n}else r=n;if((r|0)==(i>>>6&255|0))return;c[g>>2]=h+4;return}case 22:{h=a+8|0;g=c[h>>2]|0;r=g+-16|0;n=r-(f+(i>>>23<<3))|0;c[g+-24>>2]=c[g+-8>>2];c[g+-20>>2]=c[g+-4>>2];if((n|0)>8){c[h>>2]=r;wd(a,n>>3)}n=c[h>>2]|0;r=c[e>>2]|0;e=i>>>6&255;c[r+(e<<3)>>2]=c[n+-8>>2];c[r+(e<<3)+4>>2]=c[n+-4>>2];c[h>>2]=c[b+4>>2];return}case 34:{c[a+8>>2]=c[b+4>>2];return}case 29:{if(!(i&8372224))return;c[a+8>>2]=c[b+4>>2];return}default:return}}function Rf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+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)==137316?1:g>>>0>=(c[h>>2]|0)>>>0)){if((c[f+12>>2]&15|0)!=6){j=(c[f+12>>2]&15)+1|0;k=4}}else{j=0;k=4}if((k|0)==4){k=c[8+(j<<2)>>2]|0;c[d>>2]=37553;c[d+4>>2]=k;tf(a,1,Wd(a,34562,d)|0)|0}d=Sf(a)|0;k=(c[c[e>>2]>>2]|0)+8|0;e=c[h>>2]|0;j=k>>>0<e>>>0?k:137316;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];j=c[h>>2]|0;c[h>>2]=j+8;if((d|0)==(a|0)){i=b;return 1}c[h>>2]=j;h=d+8|0;d=c[h>>2]|0;c[h>>2]=d+8;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];i=b;return 1}function Sf(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=e+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{fd(e);k=c[f>>2]|0;break}else k=g;while(0);g=k+4|0;h=Gb[c[k>>2]&1](c[g>>2]|0,0,8,112)|0;if(!h){if(!(a[k+51>>0]|0))Jc(e,4);bd(e,1);i=Gb[c[k>>2]&1](c[g>>2]|0,0,8,112)|0;if(!i)Jc(e,4);else l=i}else l=h;h=k+12|0;c[h>>2]=(c[h>>2]|0)+112;h=k+56|0;a[l+5>>0]=d[k+48>>0]&3;a[l+4>>0]=8;c[l>>2]=c[h>>2];c[h>>2]=l;h=e+8|0;k=c[h>>2]|0;c[k>>2]=l;c[k+4>>2]=72;c[h>>2]=(c[h>>2]|0)+8;c[l+12>>2]=c[f>>2];h=l+28|0;c[h>>2]=0;k=l+16|0;c[k>>2]=0;i=l+32|0;c[i>>2]=0;c[l+64>>2]=0;b[l+38>>1]=0;g=l+52|0;c[g>>2]=0;j=l+40|0;a[j>>0]=0;m=l+44|0;c[m>>2]=0;a[l+41>>0]=1;c[l+56>>2]=0;b[l+36>>1]=1;a[l+6>>0]=0;c[l+68>>2]=0;a[j>>0]=a[e+40>>0]|0;j=c[e+44>>2]|0;c[m>>2]=j;c[g>>2]=c[e+52>>2];c[l+48>>2]=j;j=c[f>>2]|0;f=j+4|0;g=Gb[c[j>>2]&1](c[f>>2]|0,0,0,320)|0;if(!g){if(!(a[j+51>>0]|0))Jc(e,4);bd(e,1);m=Gb[c[j>>2]&1](c[f>>2]|0,0,0,320)|0;if(!m)Jc(e,4);else n=m}else n=g;g=j+12|0;c[g>>2]=(c[g>>2]|0)+320;c[h>>2]=n;c[i>>2]=40;i=n+4|0;c[i>>2]=0;c[n+12>>2]=0;c[n+20>>2]=0;c[n+28>>2]=0;c[n+36>>2]=0;c[n+44>>2]=0;c[n+52>>2]=0;c[n+60>>2]=0;c[n+68>>2]=0;c[n+76>>2]=0;c[n+84>>2]=0;c[n+92>>2]=0;c[n+100>>2]=0;c[n+108>>2]=0;c[n+116>>2]=0;c[n+124>>2]=0;c[n+132>>2]=0;c[n+140>>2]=0;c[n+148>>2]=0;c[n+156>>2]=0;c[n+164>>2]=0;c[n+172>>2]=0;c[n+180>>2]=0;c[n+188>>2]=0;c[n+196>>2]=0;c[n+204>>2]=0;c[n+212>>2]=0;c[n+220>>2]=0;c[n+228>>2]=0;c[n+236>>2]=0;c[n+244>>2]=0;c[n+252>>2]=0;c[n+260>>2]=0;c[n+268>>2]=0;c[n+276>>2]=0;c[n+284>>2]=0;c[n+292>>2]=0;c[n+300>>2]=0;c[n+308>>2]=0;c[n+316>>2]=0;c[l+24>>2]=n+280;h=l+72|0;c[l+80>>2]=0;c[l+84>>2]=0;a[l+90>>0]=0;c[h>>2]=n;c[l+8>>2]=n+8;c[i>>2]=0;c[l+76>>2]=n+168;c[k>>2]=h;return l|0}function Tf(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+16|0;f=e+8|0;g=e;h=c[d+8>>2]|0;j=c[d+16>>2]|0;k=c[j>>2]|0;l=h-(k+8)>>3;m=h;if(!(b[d+36>>1]|0)){a[d+6>>0]=1;c[j+20>>2]=k-(c[d+28>>2]|0);if(!(a[j+18>>0]&1)){c[j+28>>2]=0;c[j>>2]=m+(0-l<<3)+-8;Jc(d,1)}else{i=e;return 0}}else if((c[(c[d+12>>2]|0)+144>>2]|0)==(d|0))Mc(d,35043,f);else Mc(d,35001,g);return 0}function Uf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+16|0;j=h+8|0;k=h;l=c[d+16>>2]|0;if(b[d+36>>1]|0)if((c[(c[d+12>>2]|0)+144>>2]|0)==(d|0))Mc(d,35043,j);else Mc(d,35001,k);a[d+6>>0]=1;c[l+20>>2]=(c[l>>2]|0)-(c[d+28>>2]|0);if(a[l+18>>0]&1){i=h;return 0}c[l+28>>2]=g;if(!g){m=d+8|0;n=c[m>>2]|0;o=0-e|0;p=n+(o<<3)|0;q=p+-8|0;c[l>>2]=q;Jc(d,1)}c[l+24>>2]=f;m=d+8|0;n=c[m>>2]|0;o=0-e|0;p=n+(o<<3)|0;q=p+-8|0;c[l>>2]=q;Jc(d,1);return 0}function Vf(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=(c[c[b+16>>2]>>2]|0)+8|0;f=b+8|0;g=e>>>0<(c[f>>2]|0)>>>0?e:137316;if((c[g+4>>2]|0)==72?(e=c[g>>2]|0,(e|0)!=0):0)h=e;else{tf(b,1,34803)|0;h=0}if((h|0)==(b|0)){e=c[b+12>>2]|0;g=e+12|0;i=c[g>>2]|0;do if((i|0)>0)if(!(a[e+51>>0]|0)){j=e+8|0;c[j>>2]=i+1600+(c[j>>2]|0);c[g>>2]=-1600;break}else{fd(b);break}while(0);g=Pc(b,35085,7)|0;i=c[f>>2]|0;c[i>>2]=g;c[i+4>>2]=d[g+4>>0]|64;c[f>>2]=(c[f>>2]|0)+8;return 1}switch(d[h+6>>0]|0){case 1:{g=c[b+12>>2]|0;i=g+12|0;e=c[i>>2]|0;do if((e|0)>0)if(!(a[g+51>>0]|0)){j=g+8|0;c[j>>2]=e+1600+(c[j>>2]|0);c[i>>2]=-1600;break}else{fd(b);break}while(0);i=Pc(b,35093,9)|0;e=c[f>>2]|0;c[e>>2]=i;c[e+4>>2]=d[i+4>>0]|64;c[f>>2]=(c[f>>2]|0)+8;return 1}case 0:{i=c[h+16>>2]|0;if((i|0)!=(h+72|0)){e=c[b+12>>2]|0;g=e+12|0;j=c[g>>2]|0;do if((j|0)>0)if(!(a[e+51>>0]|0)){k=e+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[g>>2]=-1600;break}else{fd(b);break}while(0);g=Pc(b,35103,6)|0;j=c[f>>2]|0;c[j>>2]=g;c[j+4>>2]=d[g+4>>0]|64;c[f>>2]=(c[f>>2]|0)+8;return 1}g=c[b+12>>2]|0;j=g+12|0;e=c[j>>2]|0;k=(e|0)>0;if((c[h+8>>2]|0)==((c[i>>2]|0)+8|0)){do if(k)if(!(a[g+51>>0]|0)){i=g+8|0;c[i>>2]=e+1600+(c[i>>2]|0);c[j>>2]=-1600;break}else{fd(b);break}while(0);i=Pc(b,35110,4)|0;h=c[f>>2]|0;c[h>>2]=i;c[h+4>>2]=d[i+4>>0]|64;c[f>>2]=(c[f>>2]|0)+8;return 1}else{do if(k)if(!(a[g+51>>0]|0)){i=g+8|0;c[i>>2]=e+1600+(c[i>>2]|0);c[j>>2]=-1600;break}else{fd(b);break}while(0);j=Pc(b,35093,9)|0;e=c[f>>2]|0;c[e>>2]=j;c[e+4>>2]=d[j+4>>0]|64;c[f>>2]=(c[f>>2]|0)+8;return 1}break}default:{j=c[b+12>>2]|0;e=j+12|0;g=c[e>>2]|0;do if((g|0)>0)if(!(a[j+51>>0]|0)){k=j+8|0;c[k>>2]=g+1600+(c[k>>2]|0);c[e>>2]=-1600;break}else{fd(b);break}while(0);e=Pc(b,35110,4)|0;b=c[f>>2]|0;c[b>>2]=e;c[b+4>>2]=d[e+4>>0]|64;c[f>>2]=(c[f>>2]|0)+8;return 1}}return 0}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;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;if(!((e|0)==137316?1:e>>>0>=(c[f>>2]|0)>>>0)?(g=c[d+12>>2]|0,(g&15|0)==8):0)if((g|0)==72){h=c[e>>2]|0;i=1}else{h=0;i=1}else{h=a;i=0}e=i+1|0;g=Rd(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)==137316)?(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=i|2;i=(h|0)==(a|0)&1;j=d+(f<<3)|0;if(!(j>>>0>=k>>>0|(j|0)==137316)?(c[d+(f<<3)+4>>2]&15|0)!=0:0)l=wf(a,f)|0;else l=i;pf(a,h,g,l);return 1}function Xf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=(d|0)==0|(e|0)==0;h=c[b+16>>2]|0;if(a[h+18>>0]&1)c[b+20>>2]=c[h+28>>2];c[b+52>>2]=g?0:d;c[b+44>>2]=f;c[b+48>>2]=f;a[b+40>>0]=g?0:e&255;return 1}function Yf(a){a=a|0;Cf(c[(c[a+12>>2]|0)+144>>2]|0);return}function Zf(b){b=b|0;var e=0,f=0,g=0,h=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=i;i=i+16|0;f=e;g=b+16|0;h=(c[c[g>>2]>>2]|0)+8|0;j=b+8|0;k=h>>>0<(c[j>>2]|0)>>>0?h:137316;do if((c[k+4>>2]&15|0)==4){l=k;m=8}else{if(!(xd(b,k)|0)){h=c[c[g>>2]>>2]|0;n=h+8|0;if((n|0)==137316?1:n>>>0>=(c[j>>2]|0)>>>0)o=0;else o=(c[h+12>>2]&15)+1|0;h=c[8+(o<<2)>>2]|0;c[f>>2]=31858;c[f+4>>2]=h;tf(b,1,Wd(b,34562,f)|0)|0;p=0;q=0;break}h=c[b+12>>2]|0;n=h+12|0;r=c[n>>2]|0;do if((r|0)>0)if(!(a[h+51>>0]|0)){s=h+8|0;c[s>>2]=r+1600+(c[s>>2]|0);c[n>>2]=-1600;break}else{fd(b);break}while(0);n=(c[c[g>>2]>>2]|0)+8|0;l=n>>>0<(c[j>>2]|0)>>>0?n:137316;m=8}while(0);if((m|0)==8){f=c[l>>2]|0;p=f+16|0;q=c[f+12>>2]|0}f=wf(b,2)|0;if((f|0)<=-1)if(q>>>0<(0-f|0)>>>0)t=0;else t=q+1+f|0;else t=f;f=c[c[g>>2]>>2]|0;g=f+24|0;if(!((g|0)==137316?1:g>>>0>=(c[j>>2]|0)>>>0)?(c[f+28>>2]&15|0)!=0:0){f=wf(b,3)|0;if((f|0)>-1)u=f;else{v=f;m=18}}else{v=-1;m=18}if((m|0)==18)if(q>>>0<(0-v|0)>>>0)u=0;else u=q+1+v|0;v=(t|0)==0?1:t;t=u>>>0>q>>>0?q:u;if(t>>>0<v>>>0){u=c[b+12>>2]|0;q=u+12|0;m=c[q>>2]|0;do if((m|0)>0)if(!(a[u+51>>0]|0)){f=u+8|0;c[f>>2]=m+1600+(c[f>>2]|0);c[q>>2]=-1600;break}else{fd(b);break}while(0);q=Pc(b,1195596,0)|0;m=c[j>>2]|0;c[m>>2]=q;c[m+4>>2]=d[q+4>>0]|64;w=c[j>>2]|0;x=w+8|0;c[j>>2]=x;i=e;return 1}else{q=p+v+-1|0;p=1-v+t|0;t=c[b+12>>2]|0;v=t+12|0;m=c[v>>2]|0;do if((m|0)>0)if(!(a[t+51>>0]|0)){u=t+8|0;c[u>>2]=m+1600+(c[u>>2]|0);c[v>>2]=-1600;break}else{fd(b);break}while(0);v=Oc(b,q,p)|0;p=c[j>>2]|0;c[p>>2]=v;c[p+4>>2]=d[v+4>>0]|64;w=c[j>>2]|0;x=w+8|0;c[j>>2]=x;i=e;return 1}return 0}function _f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[34332]|0;e=a+48|0;if(!d)f=c[e>>2]|0;else{c[e>>2]=d;f=d}d=f-b|0;c[e>>2]=(d|0)<1?1:d;return}function $f(a){a=a|0;var b=0;b=a+48|0;c[34332]=c[b>>2];c[b>>2]=1;return}function ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Do(a)|0;if((d|0)>32){e=((d+-33|0)>>>5)*6|0;f=d;do{Rb();f=f+-32|0}while((f|0)>32);g=e+6|0}else g=0;e=(c[224872]|0)-g|0;c[224872]=e;f=c[200386]|0;hk(f,0,e,127,e+5+((((Do(a)|0)+-1|0)>>>5)*6|0)|0,0);Rk(c[200386]|0,a,c[200398]|0,c[224871]|0,c[224872]|0,17,b)|0;c[224872]=(c[224872]|0)+g;Rb();return}function bg(a){a=a|0;ag(a,6);return}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;c[f+4>>2]=d;Zp(1189444,a,f)|0;ag(1189444,6);i=e;return}function dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+16|0;e=d;if(Po(b,35115)|0){i=d;return}if(Po(b,35131)|0?(f=Po(b,35137)|0,f|0):0){g=Bm((Do(b)|0)+1|0)|0;Jo(g,f+10|0)|0;f=g;a:while(1){h=f+1|0;switch(a[h>>0]|0){case 0:case 39:{j=h;break a;break}default:f=h}}a[j>>0]=0;c[e>>2]=g;Zp(1189444,35148,e)|0;ag(1189444,6);Dm(g);i=d;return}if(!b){i=d;return}g=Bm((Do(b)|0)+1|0)|0;Jo(g,b)|0;b=g+(Do(g)|0)|0;while(1){k=b+-1|0;l=(a[k>>0]|0)==58;if(k>>>0<=g>>>0){m=11;break}if(l){n=b;m=12;break}else b=k}if((m|0)==11)if(l){n=b;m=12}else o=k;if((m|0)==12)o=n+1|0;ag(o,6);Dm(g);i=d;return}function eg(a){a=a|0;var b=0;b=Bm(4192)|0;Jo(b,a)|0;if(!(Po(a,35161)|0)){if(To(a,35195)|0)ag(b,6)}else if(Po(a,35178)|0)ag(35178,6);Dm(b);return}function fg(a,b){a=a|0;b=b|0;c[200385]=(c[200385]|0)+1024;b=(c[200384]|0)+1024|0;c[200384]=b;if((b|0)<=(4194304/(((c[233382]|0)==60?60:30)>>>0)|0|0))return;c[200384]=0;Uf(a,0,0,0)|0;return}function gg(){var a=0;a=c[34338]|0;if(a|0)Yf(a);c[34338]=0;a=Af(1,0)|0;c[34338]=a;Gg(a);c[224765]=0;return}function hg(){c[224871]=0;c[224870]=6;c[224876]=0;c[224875]=0;c[224850]=0;c[224835]=1;c[224851]=1;c[224836]=2;c[224852]=2;c[224837]=3;c[224853]=3;c[224838]=4;c[224854]=4;c[224839]=5;c[224855]=5;c[224840]=6;c[224856]=6;c[224841]=7;c[224857]=7;c[224842]=8;c[224858]=8;c[224843]=9;c[224859]=9;c[224844]=10;c[224860]=10;c[224845]=11;c[224861]=11;c[224846]=12;c[224862]=12;c[224847]=13;c[224863]=13;c[224848]=14;c[224864]=14;c[224849]=15;c[224865]=15;c[224834]=16;c[224877]=0;qk(c[200386]|0);c[224867]=0;c[224866]=0;c[224869]=128;c[224868]=128;return}function ig(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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=i;i=i+48|0;f=e+32|0;g=e+24|0;h=e+16|0;j=e+8|0;k=e;c[225081]=0;c[200393]=0;c[43826]=0;if(!(c[224766]|0)){a[52156]=0;a[117692]=0;c[33519]=0}l=(d|0)!=0;if(!l){if((Do(b)|0)>>>0>65536){ag(35213,6);c[k>>2]=Do(b)|0;c[k+4>>2]=65536;Zp(1189444,35240,k)|0;ag(1189444,6);i=e;return}k=ug(c[c[33842]>>2]|0)|0;if((k|0)>8192){ag(35255,6);c[j>>2]=k;c[j+4>>2]=8192;Zp(1189444,35273,j)|0;ag(1189444,6);i=e;return}else m=k}else m=0;jf(c[34338]|0);xq(1035332,35289,963)|0;k=Bm(131072)|0;Li(b,k);Io(1035332,k)|0;Dm(k);k=c[68]|0;if(k|0){j=k;k=272;do{if(!(To(b,j)|0)){c[h>>2]=j;Zp(1035332,36252,h)|0;n=c[k>>2]|0}else n=j;d=Do(b)|0;o=Do(n)|0;a:do if(d>>>0>=(o+2|0)>>>0?(Ro(b,n,o)|0)==0:0){switch(a[b+o>>0]|0){case 32:case 0:break;default:break a}p=Do(n)|0;q=b+p|0;if((a[q>>0]|0)!=34?(a[b+(p+1)>>0]|0)!=34:0){c[g>>2]=n;c[g+4>>2]=q+1;Zp(1035332,36257,g)|0}}while(0);k=k+4|0;j=c[k>>2]|0}while((j|0)!=0)}if(!(To(b,40753)|0)){r=1035332;s=36266;t=r+9|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0))}if(!(To(b,36275)|0)){Fi();r=1035332;s=36282;t=r+65|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0))}j=1035332+(Do(1035332)|0)|0;if(l){r=j;s=36347;t=r+24|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0))}else xq(j|0,36371,1009)|0;c[233379]=1;j=yf(c[34338]|0,1035332)|0;c[233379]=0;c[233381]=m<<4;if(!j){$d(c[34338]|0,37414);Gi();Ii();c[233383]=0;if((c[224764]|0)==1){c[224871]=0;c[224870]=6;c[224876]=0;c[224875]=0;c[224850]=0;c[224835]=1;c[224851]=1;c[224836]=2;c[224852]=2;c[224837]=3;c[224853]=3;c[224838]=4;c[224854]=4;c[224839]=5;c[224855]=5;c[224840]=6;c[224856]=6;c[224841]=7;c[224857]=7;c[224842]=8;c[224858]=8;c[224843]=9;c[224859]=9;c[224844]=10;c[224860]=10;c[224845]=11;c[224861]=11;c[224846]=12;c[224862]=12;c[224847]=13;c[224863]=13;c[224848]=14;c[224864]=14;c[224849]=15;c[224865]=15;c[224834]=16;c[224877]=0;qk(c[200386]|0);c[224867]=0;c[224866]=0;c[224869]=128;c[224868]=128}c[224761]=1;c[224766]=l&1^1;i=e;return}c[224870]=6;if(!l){l=(mo(b,1048576)|0)+1|0;j=(c[14]|0)+-2|0;c[f>>2]=(l|0)<(j|0)?l:j;Zp(1189444,37393,f)|0;ag(1189444,14);f=c[14]|0;Em(969796,0,65536);b:do if(!b){u=969796;v=39}else{Jo(969796,b)|0;j=f+-3|0;l=a[969796]|0;c:do if(l<<24>>24){m=l;s=969796;r=0;while(1){if((r|0)==(j|0)){w=m;x=s;break}t=s+1|0;if(m<<24>>24==10){y=0;z=t;A=s}else{k=t;while(1){t=a[k>>0]|0;g=t<<24>>24==0;n=k+1|0;if(t<<24>>24!=10&(g^1))k=n;else{y=g;z=n;A=k;break}}}s=y?A:z;m=a[s>>0]|0;if(!(m<<24>>24))break c;else r=r+1|0}r=w;m=x;d:while(1){switch(r<<24>>24){case 0:case 10:{B=m;break d;break}default:{}}s=m+1|0;r=a[s>>0]|0;m=s}a[B>>0]=0;if(!x)break b;else{u=x;v=39;break b}}while(0);a[969796]=a[35131]|0;a[969797]=a[35132]|0;a[969798]=a[35133]|0;a[969799]=a[35134]|0;a[969800]=a[35135]|0;a[969801]=a[35136]|0;u=969796;v=39}while(0);if((v|0)==39)ag(u,7);u=c[14]|0;if((u|0)>1){v=no(c[c[222631]>>2]|0,u+-2|0)|0;c[(c[222631]|0)+320>>2]=v}}else ag(37380,14);dg(Rd(c[34338]|0,-1,0)|0);c[12902]=1;i=e;return}function jg(){var a=0,b=0;if(c[224766]|0){ln(0,0);nn();c[200393]=0;c[43826]=0;ij()|0;if(!(zi(801524,c[225186]|0,24366)|0)){c[224850]=0;c[224851]=1;c[224852]=2;c[224853]=3;c[224854]=4;c[224855]=5;c[224856]=6;c[224857]=7;c[224858]=8;c[224859]=9;c[224860]=10;c[224861]=11;c[224862]=12;c[224863]=13;c[224864]=14;c[224865]=15}if(!(zi(801524,c[225186]|0,24388)|0)){c[225084]=0;c[225085]=0;c[225086]=0;c[225087]=0}Kj();if(!(c[12902]|0))c[12902]=1}c[224761]=0;c[34339]=c[224875];c[34340]=c[224876];c[224876]=0;c[224875]=0;qk(c[200386]|0);c[224871]=0;a=c[224872]|0;b=(a|0)<120?a:120;c[224872]=(b|0)<0?0:b;if(!(Fk()|0))return;do Gk()|0;while((Fk()|0)!=0);return}function kg(){var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+16|0;e=d;c[224248]=0;a[896996]=0;c[233380]=0;c[12902]=0;if(!(Po(893612,890532)|0)){f=Po(893612,41286)|0;if((f|0)!=0&f>>>0>893612>>>0){g=f;while(1){f=g+-1|0;h=f>>>0>893612>>>0;if(h&((a[f>>0]|0)+-48&255)<10)g=f;else{j=h;k=g;l=f;break}}c[e>>2]=896992;Rp(j?k:l,42342,e)|0}}else Jo(896996,893612+(Do(890532)|0)|0)|0;a[898020]=0;e=c[34338]|0;if(e|0)Yf(e);c[34338]=0;e=Af(1,0)|0;c[34338]=e;Gg(e);c[224765]=0;Ci(801524,c[225186]|0,0,0,17152);a[894684]=0;a[900352]=0;a[900416]=0;a[900480]=0;a[900544]=0;a[900608]=0;a[900672]=0;c[225184]=0;b[450370]=0;e=mb(0)|0;Si((Fn()|0)+e|0);ig(c[c[33842]>>2]|0,0);nn();ln(0,0);c[225084]=0;c[225085]=0;c[225086]=0;c[225087]=0;c[233382]=30;Fi();i=d;return}function lg(b){b=b|0;var d=0,e=0,f=0,h=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=i;i=i+544|0;e=d+8|0;f=d;h=d+24|0;j=d+16|0;Zd(b,39322);ce(c[34338]|0,0,1,0,0,0)|0;k=Rd(b,-1,0)|0;if(!k){i=d;return}Ld(b,-2);b=a[k>>0]|0;if(!(b<<24>>24)){i=d;return}else{l=b;m=k;n=0}while(1){if((n|0)<10){o=l;p=m}else{q=18;break}n=n+1|0;a:while(1){switch(o<<24>>24){case 10:case 0:{r=p;break a;break}default:{}}k=p+1|0;o=a[k>>0]|0;p=k}rq(h|0,0,512)|0;So(h,m,r-m|0)|0;m=(a[r>>0]|0)==10?r+1|0:r;b:do if(((Po(h,37426)|0)==0?(Po(h,37442)|0)==0:0)?(Po(h,37453)|0)==0:0){k=h;c:while(1){switch(a[k>>0]|0){case 0:{break b;break}case 58:{s=k;break c;break}default:{}}k=k+1|0}g[j>>2]=0.0;c[f>>2]=j;Rp(s+1|0,37464,f)|0;k=~~+M(+(+g[j>>2]*65536.0));b=k+-2|0;if((k|0)>2?(k=Po(h,37468)|0,k|0):0){t=k+13|0;k=t;d:while(1){switch(a[k>>0]|0){case 0:{break b;break}case 39:{u=k;break d;break}default:{}}k=k+1|0}a[u>>0]=0;c[e>>2]=t;c[e+4>>2]=b;Zp(1189444,37482,e)|0;ag(1189444,13)}}while(0);l=a[m>>0]|0;if(!(l<<24>>24)){q=18;break}}if((q|0)==18){i=d;return}}function mg(){var b=0,d=0,e=0,f=0,g=0,h=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=i;i=i+16|0;d=b;kf(c[34338]|0,1,0)|0;if(kf(c[34338]|0,9,0)|0)kf(c[34338]|0,2,0)|0;if(kf(c[34338]|0,9,0)|0?((c[233381]|0)+(c[224879]|0)|0)>1048576:0){kf(c[34338]|0,2,0)|0;e=c[224879]|0;f=c[233381]|0;if((f+e|0)>1048576){if(kf(c[34338]|0,9,0)|0)bd(c[34338]|0,1);g=(c[233381]|0)+(c[224879]|0)|0;c[d>>2]=e;c[d+4>>2]=g;Zp(1184836,37496,d)|0;Yj(1184836);h=c[224879]|0;j=c[233381]|0}else{h=e;j=f}if((j+h|0)>1048576){h=c[34338]|0;if(h|0)Yf(h);c[34338]=0;h=Af(1,0)|0;c[34338]=h;Gg(h);c[224765]=0;jg();ag(37522,6);i=b;return}}kf(c[34338]|0,0,0)|0;if((c[224761]|0)!=1|(c[224762]|0)!=0){i=b;return}Zd(c[34338]|0,37414);c[200383]=0;Xf(c[34338]|0,8,8,1024)|0;a:do switch(Mf(c[34338]|0,0,0)|0){case 0:{jg();break}case 1:{c[224761]=1;break}default:{jg();h=1189444;j=37536;f=h+14|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(f|0));ag(1189444,14);j=c[34331]|0;b:do if((c[224766]|0)!=0&(j|0)>1){h=c[c[33842]>>2]|0;Em(969796,0,65536);c:do if(!h)k=969796;else{Jo(969796,h)|0;f=j+-3|0;e=a[969796]|0;d:do if(e<<24>>24){d=e;g=969796;l=0;while(1){if((l|0)==(f|0)){m=d;n=g;break}o=g+1|0;if(d<<24>>24==10){p=0;q=o;r=g}else{s=o;while(1){o=a[s>>0]|0;t=o<<24>>24==0;u=s+1|0;if(o<<24>>24!=10&(t^1))s=u;else{p=t;q=u;r=s;break}}}g=p?r:q;d=a[g>>0]|0;if(!(d<<24>>24))break d;else l=l+1|0}l=m;d=n;e:while(1){switch(l<<24>>24){case 0:case 10:{v=d;break e;break}default:{}}g=d+1|0;l=a[g>>0]|0;d=g}a[v>>0]=0;if(!n)break b;else{k=n;break c}}while(0);a[969796]=a[35131]|0;a[969797]=a[35132]|0;a[969798]=a[35133]|0;a[969799]=a[35134]|0;a[969800]=a[35135]|0;a[969801]=a[35136]|0;k=969796}while(0);ag(k,7)}while(0);eg(Rd(c[34338]|0,-1,0)|0);if(!(c[12909]|0)){lg(c[34338]|0);break a}else{c[12909]=0;break a}}}while(0);if(!(c[233384]|0)){i=b;return}k=Fn()|0;if((k|0)<=((c[233385]|0)+1e3|0)){i=b;return}ij()|0;c[233385]=Fn()|0;i=b;return}function ng(){var a=0,b=0;a=0;while(1){if((a|0)>=1024){b=4;break}c[12908]=0;mg();if((c[12908]|0)==0|(c[224764]|0)==6){b=4;break}else a=a+1|0}if((b|0)==4)return}function og(a){a=a|0;var b=0,d=0;b=c[34338]|0;if(!b)return;c[12906]=(c[12906]|0)+a;d=(c[200383]|0)+a|0;c[200383]=d;c[200385]=(c[200385]|0)+a;c[200384]=(c[200384]|0)+a;a=(d|0)/1024|0;if((d|0)<=1023)return;c[200383]=d-(a<<10);_f(b,a);return}function pg(){a[1100868]=0;a[1100869]=0;a[1100870]=0;a[1100871]=0;c[34341]=0;return}function qg(a){a=a|0;Jo(1100868+(c[34341]<<6)|0,a)|0;c[34341]=(c[34341]|0)+1;return}function rg(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,ca=0,da=0,ea=0,fa=0;a[1117252]=0;c[34342]=0;d=b;a:while(1){b=a[d>>0]|0;switch(b<<24>>24){case 45:{e=b;f=d;g=4;break a;break}case 0:{h=d;g=12;break a;break}case 13:case 9:case 8:case 32:break;default:{i=b;j=d;g=13;break a}}d=d+1|0}b:do if((g|0)==4)if((a[f+1>>0]|0)==45){c[34342]=-995;c:do if((a[f+2>>0]|0)==91?(a[f+3>>0]|0)==91:0){d=f+4|0;b=1;while(1){k=Po(d,45163)|0;l=Po(d,37550)|0;if(!l){m=45;n=f;break c}o=(k|0)!=0&k>>>0<l>>>0;b=(o?1:-1)+b|0;p=o?k+2|0:l+2|0;if((b|0)<=0){q=p;break}else d=p}return q|0}else{m=45;n=f}while(0);d:while(1){switch(m<<24>>24){case 0:case 10:{q=n;break d;break}default:{}}d=n+1|0;m=a[d>>0]|0;n=d}return q|0}else{r=e;s=f;g=116}else if((g|0)==12){c[34342]=-1e3;q=h;return q|0}else if((g|0)==13){d=(i&-33)+-65<<24>>24;if((d&255)<26|i<<24>>24==95){c[34342]=0;if(i<<24>>24!=95&((i+-48&255)>9&(d&255)>25)){t=0;u=j}else{d=i;b=0;p=j;while(1){l=b+1|0;a[1117252+b>>0]=d;k=p+1|0;d=a[k>>0]|0;if(d<<24>>24!=95&((d+-48&255)>9&((d&-33)+-65&255)>25)){t=l;u=k;break}else{b=l;p=k}}}a[1117252+t>>0]=0;if(!(To(1117252,37553)|0)){c[34342]=-993;v=-993}else v=0;if(!(To(1117252,37562)|0)){c[34342]=-992;w=-992}else w=v;if(!(To(1117252,37566)|0)){c[34342]=-991;x=-991}else x=w;if(!(To(1117252,37570)|0)){c[34342]=-990;y=-990}else y=x;if(!(To(1117252,39528)|0)){c[34342]=-989;z=-989}else z=y;if(!(To(1117252,37573)|0)){c[34342]=-988;A=-988}else A=z;if(!(To(1117252,37578)|0)){c[34342]=-987;B=-987}else B=A;if(!(To(1117252,37585)|0)){c[34342]=-986;C=-986}else C=B;if(!(To(1117252,37591)|0)){c[34342]=-975;D=-975}else D=C;if(!(To(1117252,37595)|0)){c[34342]=-974;E=-974}else E=D;if(!(To(1117252,37599)|0)){c[34342]=-973;F=-973}else F=E;if(!(To(1117252,37602)|0)){c[34342]=-985;G=-985}else G=F;if(!(To(1117252,37605)|0)){c[34342]=-984;H=-984}else H=G;if(!(To(1117252,37611)|0)){c[34342]=-983;I=-983}else I=H;if(!(To(1117252,37618)|0)){c[34342]=-982;J=-982}else J=I;if(!(To(1117252,37625)|0)){c[34342]=-981;K=-981}else K=J;if(!(To(1117252,37631)|0)){c[34342]=-980;L=-980}else L=K;if(!(To(1117252,37636)|0)){c[34342]=-979;M=-979}else M=L;if(!(To(1117252,37683)|0)){c[34342]=-962;N=-962}else N=M;if(!(To(1117252,37688)|0)){c[34342]=-962;O=-962}else O=N;if(!(To(1117252,37694)|0)){c[34342]=-962;P=-962}else P=O;p=c[34341]|0;if((p|0)>0){b=P;d=0;while(1){if(!(To(1117252,1100868+(d<<6)|0)|0)){c[34342]=-978;Q=-978}else Q=b;d=d+1|0;if((d|0)>=(p|0)){R=Q;break}else b=Q}}else R=P;switch(R|0){case -995:{c[34342]=-999;b=u;e:while(1){switch(a[b>>0]|0){case 0:case 10:{q=b;break e;break}default:{}}b=b+1|0}return q|0}case 0:{c[34342]=-998;q=u;return q|0}default:{q=u;return q|0}}}if((i+-48&255)<10){c[34342]=0;f:do if((a[j+1>>0]|0)==120){b=i;p=0;d=j;while(1){g:do if((b+-48&255)>=10)switch(p|0){case 1:{switch(b<<24>>24){case 46:case 120:{break g;break}default:{}}if((b+-97&255)<6)break g;else{S=p;T=d;break f}break}case 0:{switch(b<<24>>24){case 45:case 97:case 98:case 99:case 100:case 101:case 102:{break g;break}default:{S=p;T=d;break f}}break}default:switch(b<<24>>24){case 46:case 97:case 98:case 99:case 100:case 101:case 102:{break g;break}default:{S=p;T=d;break f}}}while(0);a[1117252+p>>0]=b;k=d+1|0;b=a[k>>0]|0;p=p+1|0;d=k}}else{d=i;p=0;b=j;while(1){h:do if((d+-48&255)>=10)switch(p|0){case 1:{switch(d<<24>>24){case 46:case 120:{break h;break}default:{S=p;T=b;break f}}break}case 0:{if(d<<24>>24==45)break h;else{S=0;T=b;break f}break}default:if(d<<24>>24==46)break h;else{S=p;T=b;break f}}while(0);a[1117252+p>>0]=d;k=b+1|0;d=a[k>>0]|0;p=p+1|0;b=k}}while(0);a[1117252+S>>0]=0;c[34342]=-997;q=T;return q|0}do switch(i<<24>>24){case 45:{r=i;s=j;g=116;break b;break}case 91:{if((a[j+1>>0]|0)!=91){U=i;V=j;g=127;break b}c[34342]=-996;a[1117252]=0;b=j+2|0;p=1;while(1){d=Po(b,45163)|0;k=Po(b,37550)|0;if(!k)break;l=(d|0)!=0&d>>>0<k>>>0;p=(l?1:-1)+p|0;o=l?d+2|0:k+2|0;if((p|0)<=0){q=o;g=133;break}else b=o}if((g|0)==133)return q|0;q=j+(Do(j)|0)|0;return q|0}case 34:{a[1117252]=34;b=1;p=j;i:while(1){o=p+1|0;k=a[o>>0]|0;switch(k<<24>>24){case 10:case 0:{W=b;X=o;break i;break}case 34:{if((a[p>>0]|0)!=92){Y=b;Z=p;g=93;break i}break}default:{}}a[1117252+b>>0]=k;b=b+1|0;p=o}if((g|0)==93){a[1117252+Y>>0]=34;W=Y+1|0;X=Z+2|0}a[1117252+W>>0]=0;c[34342]=-996;q=X;return q|0}case 39:{a[1117252]=39;p=1;b=j;j:while(1){o=b+1|0;k=a[o>>0]|0;switch(k<<24>>24){case 10:case 0:{_=p;$=o;break j;break}case 39:{if((a[b>>0]|0)!=92){aa=p;ba=b;g=99;break j}break}default:{}}a[1117252+p>>0]=k;p=p+1|0;b=o}if((g|0)==99){a[1117252+aa>>0]=39;_=aa+1|0;$=ba+2|0}a[1117252+_>>0]=0;c[34342]=-996;q=$;return q|0}case 10:{c[34343]=(c[34343]|0)+1;c[34342]=-999;q=j+1|0;return q|0}case 60:{if((a[j+1>>0]|0)==61){c[34342]=-969;q=j+2|0;return q|0}if((a[j+1>>0]|0)==62){c[34342]=-966;q=j+2|0;return q|0}else g=122;break}case 62:{if((a[j+1>>0]|0)==61){c[34342]=-968;q=j+2|0;return q|0}else g=122;break}case 126:{if((a[j+1>>0]|0)==61){c[34342]=-966;q=j+2|0;return q|0}else g=122;break}case 33:{if((a[j+1>>0]|0)==61){c[34342]=-966;q=j+2|0;return q|0}else g=122;break}case 61:{if((a[j+1>>0]|0)==61){c[34342]=-965;q=j+2|0;return q|0}else g=122;break}case 43:{if((a[j+1>>0]|0)!=61){U=i;V=j;g=127;break b}c[34342]=-964;q=j+2|0;return q|0}case 42:{if((a[j+1>>0]|0)!=61){U=i;V=j;g=127;break b}c[34342]=-964;q=j+2|0;return q|0}case 47:{if((a[j+1>>0]|0)==61){c[34342]=-964;q=j+2|0;return q|0}b=j+1|0;if((a[b>>0]|0)!=47){ca=b;da=i;break b}c[34342]=-999;b=47;p=j;k:while(1){switch(b<<24>>24){case 0:case 10:{q=p;break k;break}default:{}}o=p+1|0;b=a[o>>0]|0;p=o}return q|0}case 37:{ea=i;g=123;break}case 46:{fa=i;g=125;break}default:{U=i;V=j;g=127;break b}}while(0);if((g|0)==122)switch(i<<24>>24){case 37:{ea=i;g=123;break}case 46:{fa=i;g=125;break}default:{U=i;V=j;g=127;break b}}if((g|0)==123){if((a[j+1>>0]|0)!=61){U=ea;V=j;g=127;break}c[34342]=-964;q=j+2|0;return q|0}else if((g|0)==125){if((a[j+1>>0]|0)!=46){U=fa;V=j;g=127;break}c[34342]=-963;q=j+2|0;return q|0}}while(0);if((g|0)==116)if((a[s+1>>0]|0)==61){c[34342]=-964;q=s+2|0;return q|0}else{U=r;V=s;g=127}if((g|0)==127){ca=V+1|0;da=U}c[34342]=da<<24>>24;q=ca;return q|0}function sg(a){a=a|0;c[34344]=a;return rg(a)|0}function tg(){return c[34342]|0}function ug(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=0;e=-1;while(1){if((e|0)==-1){c[34344]=b;f=rg(b)|0;g=0}else{if(!(a[d>>0]|0)){h=e;break}f=rg(d)|0;g=e}i=c[34342]|0;d=f;e=((i|0)!=-999&(((i|0)==58|((i|2|0)==46|((i|0)==-992|((i|32|0)==125|((i|0)==41|((i|0)==59|((i|0)==-1e3|((i|0)==-984|(i|0)==-995))))))))^1)&1)+g|0}return h|0}function vg(a){a=a|0;return}function wg(){return}function xg(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=h<<1&126;j=c[(c[(c[e>>2]|0)+16>>2]|0)+(((h|0)/64|0)+g<<2)>>2]|0;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]=((d[j+(i|1)>>0]|0)<<4)+(d[j+i>>0]|0);h=h+1|0}while((h|0)!=128);b=b+1|0}while((b|0)!=64);return}function yg(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<<1&126;j=((h|0)/64|0)+g|0;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+i>>0]=(d[(c[(c[(c[e>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]|0)&15;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+(i|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 zg(){var b=0,d=0,e=0,f=0,g=0,h=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=i;i=i+2832|0;d=b;e=b+1800|0;f=b+776|0;g=b+8|0;h=b+4|0;c[h>>2]=0;j=0;while(1){c[d>>2]=j;Zp(e,37642,d)|0;Mn(e,f);if(!(Vn(f)|0))break;else j=j+1|0}j=Yi(f,0,h)|0;if(!j){k=1;i=b;return k|0}h=c[12058]<<7;f=kk(h,h,8)|0;h=c[198778]|0;e=0;do{a[g+(e*3|0)>>0]=a[h+(e*3|0)>>0]|0;a[g+(e*3|0)+1>>0]=a[h+(e*3|0)+1>>0]|0;a[g+(e*3|0)+2>>0]=a[h+(e*3|0)+2>>0]|0;e=e+1|0}while((e|0)!=16);e=Xi(1<<(fj(16)|0),g)|0;g=c[f>>2]|0;c[j>>2]=g;h=f+4|0;d=c[h>>2]|0;c[j+4>>2]=d;c[j+8>>2]=16;c[j+12>>2]=0;c[j+20>>2]=e;a:do if((c[34345]|0)>0){l=f+16|0;m=g;n=d;o=0;while(1){rk(c[137384+(o<<2)>>2]|0,f,0,0,m,n,0);p=hj(j,0)|0;c[p>>2]=0;c[p+4>>2]=0;q=c[f>>2]|0;c[p+8>>2]=q;r=c[h>>2]|0;c[p+12>>2]=r;a[p+16>>0]=0;c[p+20>>2]=e;s=jq(_(r,q)|0)|0;q=p+24|0;c[q>>2]=s;rq(s|0,0,_(c[h>>2]|0,c[f>>2]|0)|0)|0;s=c[h>>2]|0;if((s|0)>0){r=s;s=c[f>>2]|0;t=0;while(1){if((s|0)>0){u=s;v=0;while(1){w=(_(u,t)|0)+v|0;a[(c[q>>2]|0)+w>>0]=a[(c[(c[l>>2]|0)+(t<<2)>>2]|0)+v>>0]&15;v=v+1|0;w=c[f>>2]|0;if((v|0)>=(w|0)){x=w;break}else u=w}y=x;z=c[h>>2]|0}else{y=s;z=r}t=t+1|0;if((t|0)>=(z|0))break;else{r=z;s=y}}}s=(o|0)==0;r=s?3:1;t=p+28|0;c[t>>2]=r;q=jq(r*12|0)|0;r=p+32|0;c[r>>2]=q;rq(q|0,0,(c[t>>2]|0)*12|0)|0;if(s){s=c[r>>2]|0;c[s+8>>2]=255;c[s>>2]=11;t=jq(12)|0;c[s+4>>2]=t;s=t;t=37656;q=s+12|0;do{a[s>>0]=a[t>>0]|0;s=s+1|0;t=t+1|0}while((s|0)<(q|0));t=c[r>>2]|0;c[t+20>>2]=0;c[t+12>>2]=3;s=jq(3)|0;c[t+16>>2]=s;a[s>>0]=1;a[s+1>>0]=0;a[s+2>>0]=0;A=2}else A=0;s=c[r>>2]|0;c[s+(A*12|0)+8>>2]=249;c[s+(A*12|0)>>2]=4;t=jq(4)|0;q=s+(A*12|0)+4|0;c[q>>2]=t;a[t>>0]=8;a[(c[q>>2]|0)+1>>0]=3;a[(c[q>>2]|0)+2>>0]=0;a[(c[q>>2]|0)+3>>0]=0;q=o+1|0;if((q|0)>=(c[34345]|0))break a;m=c[f>>2]|0;n=c[h>>2]|0;o=q}}while(0);h=ej(j)|0;lk(f)|0;k=(h|0)==0&1;i=b;return k|0}function Ag(){return}function Bg(){c[34345]=0;return}function Cg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=Lp(a,43287)|0;if(!g){h=1;i=e;return h|0}a=Bm(1048576)|0;j=Vp(a,1,1048576,g)|0;Mp(g)|0;g=Lp(b,41862)|0;if(!g){h=2;i=e;return h|0}Qp(37668,6,1,g)|0;if((j|0)>0){b=0;do{c[f>>2]=d[a+b>>0];qp(g,45271,f)|0;b=b+1|0}while((b|0)!=(j|0))}Qp(37675,7,1,g)|0;Mp(g)|0;h=0;i=e;return h|0}function Dg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=e+4|0;h=Lp(d,45334)|0;if(!h){j=1;i=e;return j|0}d=b+6|0;a:while(1){switch(a[d>>0]|0){case 0:case 91:{break a;break}default:{}}if(!(a[d+1>>0]|0))break;c[g>>2]=0;c[f>>2]=g;Rp(d,45271,f)|0;Ap(c[g>>2]<<24>>24,h)|0;d=d+2|0}Mp(h)|0;j=0;i=e;return j|0}function Eg(b){b=b|0;var e=0,f=0,g=0;e=c[37946]|0;if(!e){f=kk(128,128,8)|0;c[37946]=f;g=f}else g=e;e=b+12|0;b=g+12|0;f=0;do{a[(c[b>>2]|0)+f>>0]=(c[224878]|0?143:15)&c[899400+(((d[(c[e>>2]|0)+f>>0]|0)&15)<<2)>>2];f=f+1|0}while((f|0)!=16384);if((c[224761]|0)==1&(c[224766]|0)!=0)ac(g,c[224877]|0);lk(c[(c[33842]|0)+44316>>2]|0)|0;f=kk(128,128,8)|0;c[(c[33842]|0)+44316>>2]=f;Ql(g,f,0,0,0,0,128,128);return 0}function Fg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+1040|0;g=f;h=f+16|0;if((b|0)==0|(d|0)==0){j=1;i=f;return j|0}k=Do(b)|0;l=Do(890532)|0;if((e|0)>1023|(k+4+l+(Do(891556)|0)|0)>>>0>=e>>>0){j=1;i=f;return j|0}Jo(h,b)|0;if(Po(h,43533)|0){j=1;i=f;return j|0}b=a[h>>0]|0;a:do if(b<<24>>24){e=b;l=h;b:while(1){if(!((e+-97&255)<26|(e+-48&255)<10))switch(e<<24>>24){case 32:case 46:case 47:case 95:break;default:{j=1;break b}}l=l+1|0;e=a[l>>0]|0;if(!(e<<24>>24))break a}i=f;return j|0}while(0);b=Do(h)|0;if(b>>>0>3?(To(h+b+-4|0,37698)|0)==0:0)a[h+(b+-4)>>0]=0;c[g>>2]=890532;c[g+4>>2]=891556;c[g+8>>2]=h;Zp(d,37703,g)|0;j=0;i=f;return j|0}function Gg(a){a=a|0;pg();Xd(a,5,0);$d(a,37714);qg(37714);Xd(a,6,0);$d(a,37719);qg(37719);Xd(a,7,0);$d(a,37726);qg(37726);Xd(a,8,0);$d(a,37731);qg(37731);Xd(a,9,0);$d(a,37735);qg(37735);Xd(a,10,0);$d(a,37742);qg(37742);Xd(a,10,0);$d(a,37745);qg(37745);Xd(a,11,0);$d(a,37801);qg(37801);Xd(a,12,0);$d(a,37817);qg(37817);Xd(a,13,0);$d(a,37823);qg(37823);Xd(a,14,0);$d(a,37881);qg(37881);Xd(a,15,0);$d(a,37895);qg(37895);Xd(a,16,0);$d(a,37905);qg(37905);Xd(a,17,0);$d(a,37912);qg(37912);Xd(a,18,0);$d(a,37917);qg(37917);Xd(a,19,0);$d(a,37922);qg(37922);Xd(a,20,0);$d(a,37928);qg(37928);Xd(a,21,0);$d(a,45166);qg(45166);Xd(a,22,0);$d(a,38065);qg(38065);Xd(a,23,0);$d(a,38072);qg(38072);Xd(a,24,0);$d(a,38076);qg(38076);Xd(a,25,0);$d(a,38081);qg(38081);Xd(a,26,0);$d(a,38086);qg(38086);Xd(a,27,0);$d(a,38095);qg(38095);Xd(a,28,0);$d(a,38100);qg(38100);Xd(a,29,0);$d(a,38109);qg(38109);Xd(a,30,0);$d(a,38114);qg(38114);Xd(a,31,0);$d(a,38118);qg(38118);Xd(a,32,0);$d(a,38123);qg(38123);Xd(a,32,0);$d(a,38131);qg(38131);Xd(a,33,0);$d(a,38135);qg(38135);Xd(a,34,0);$d(a,38140);qg(38140);Xd(a,35,0);$d(a,38145);qg(38145);Xd(a,36,0);$d(a,38150);qg(38150);Xd(a,37,0);$d(a,38155);qg(38155);Xd(a,38,0);$d(a,38160);qg(38160);Xd(a,39,0);$d(a,42261);qg(42261);Xd(a,40,0);$d(a,38165);qg(38165);Xd(a,41,0);$d(a,38169);qg(38169);Xd(a,42,0);$d(a,38174);qg(38174);Xd(a,43,0);$d(a,38179);qg(38179);Xd(a,44,0);$d(a,38186);qg(38186);Xd(a,45,0);$d(a,38201);qg(38201);Xd(a,46,0);$d(a,38208);qg(38208);Xd(a,47,0);$d(a,38215);qg(38215);Xd(a,48,0);$d(a,38219);qg(38219);Xd(a,49,0);$d(a,38225);qg(38225);Xd(a,50,0);$d(a,38229);qg(38229);Xd(a,51,0);$d(a,38233);qg(38233);Xd(a,52,0);$d(a,38237);qg(38237);Xd(a,53,0);$d(a,38241);qg(38241);Xd(a,54,0);$d(a,38245);qg(38245);Xd(a,55,0);$d(a,38249);qg(38249);Xd(a,56,0);$d(a,38253);qg(38253);Xd(a,57,0);$d(a,38257);qg(38257);Xd(a,58,0);$d(a,38262);qg(38262);Xd(a,59,0);$d(a,38268);qg(38268);Xd(a,60,0);$d(a,38273);qg(38273);Xd(a,61,0);$d(a,38277);qg(38277);Xd(a,62,0);$d(a,38282);qg(38282);Xd(a,63,0);$d(a,38287);qg(38287);Xd(a,64,0);$d(a,38291);qg(38291);Xd(a,65,0);$d(a,38419);qg(38419);Xd(a,66,0);$d(a,38548);qg(38548);Xd(a,67,0);$d(a,38553);qg(38553);Xd(a,68,0);$d(a,38557);qg(38557);Xd(a,69,0);$d(a,38562);qg(38562);Xd(a,70,0);$d(a,38569);qg(38569);Xd(a,70,0);$d(a,38578);qg(38578);Xd(a,71,0);$d(a,38647);qg(38647);Xd(a,72,0);$d(a,38669);qg(38669);Xd(a,73,0);$d(a,38690);qg(38690);Xd(a,74,0);$d(a,39080);qg(39080);Xd(a,75,0);$d(a,39085);qg(39085);Xd(a,76,0);$d(a,39131);qg(39131);Xd(a,77,0);$d(a,39137);qg(39137);Xd(a,78,0);$d(a,39144);qg(39144);Xd(a,79,0);$d(a,39151);qg(39151);Xd(a,80,0);$d(a,39183);qg(39183);Xd(a,81,0);$d(a,39190);qg(39190);Xd(a,82,0);$d(a,39194);qg(39194);Xd(a,83,0);$d(a,39199);qg(39199);Xd(a,84,0);$d(a,39209);qg(39209);Xd(a,85,0);$d(a,39218);qg(39218);Xd(a,86,0);$d(a,39223);qg(39223);Xd(a,87,0);$d(a,39249);qg(39249);Xd(a,88,0);$d(a,39254);qg(39254);Xd(a,89,0);$d(a,39258);qg(39258);Xd(a,90,0);$d(a,39264);qg(39264);Xd(a,91,0);$d(a,39269);qg(39269);Xd(a,92,0);$d(a,39276);qg(39276);Xd(a,93,0);$d(a,39289);qg(39289);Xd(a,94,0);$d(a,39298);qg(39298);Xd(a,95,0);$d(a,39307);qg(39307);Xd(a,96,0);$d(a,39313);qg(39313);Xd(a,97,0);$d(a,39322);qg(39322);Xd(a,98,0);$d(a,39335);qg(39335);Xd(a,99,0);$d(a,39343);qg(39343);Xd(a,100,0);$d(a,39353);qg(39353);Xd(a,101,0);$d(a,39373);qg(39373);Xd(a,102,0);$d(a,39397);qg(39397);Xd(a,103,0);$d(a,39413);qg(39413);Xd(a,104,0);$d(a,39434);qg(39434);Xd(a,105,0);$d(a,39443);qg(39443);return}function Hg(a){a=a|0;c[200385]=0;c[12906]=0;c[200384]=0;c[200389]=0;return Uf(a,0,0,0)|0}function Ig(a){a=a|0;var b=0,d=0;b=Pd(a,1,0)|0;d=Pd(a,2,0)|0;yi(801524,c[225186]|0,24360,b>>>16&255);yi(801524,c[225186]|0,24361,b>>24);yi(801524,c[225186]|0,24362,d>>>16&255);yi(801524,c[225186]|0,24363,d>>24);og(4);return 0}function Jg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if((Kd(a)|0)>3){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=e;h=b;i=d}else{f=128;g=128;h=0;i=0}d=g+h|0;g=f+i|0;f=(h|0)<128?h:128;c[224866]=(f|0)<0?0:f;f=(i|0)<128?i:128;c[224867]=(f|0)<0?0:f;f=(d|0)<128?d:128;c[224868]=(f|0)<0?0:f;f=(g|0)<128?g:128;c[224869]=(f|0)<0?0:f;og(16);ik(c[200386]|0,c[224866]|0,c[224867]|0,c[224868]|0,c[224869]|0);return 0}function Kg(a){a=a|0;var b=0;b=(Pd(a,1,0)|0)>>>16&15;c[224872]=0;c[224871]=0;c[224867]=0;c[224866]=0;c[224869]=128;c[224868]=128;qk(c[200386]|0);hk(c[200386]|0,0,0,127,127,b);og(8192);return 0}function Lg(a){a=a|0;var b=0;a=i;i=i+1040|0;b=a;c[b>>2]=890532;c[b+4>>2]=891556;Zp(a+8|0,45004,b)|0;i=a;return 0}function Mg(b){b=b|0;c[233701]=17;a[134084]=0;if((Kd(b)|0)<=0){ec();return 0}So(134084,Rd(b,1,0)|0,1023)|0;ec();return 0}function Ng(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+2880|0;e=d+32|0;f=d+16|0;g=d+8|0;h=d;j=d+1848|0;k=d+824|0;l=d+36|0;if((Kd(b)|0)>0?(m=Rd(b,1,0)|0,m|0):0){if((Do(m)|0)>>>0>511){i=d;return 0}if((a[m>>0]|0)==47){c[g>>2]=890532;c[g+4>>2]=m+1;Zp(j,37764,g)|0}else{c[f>>2]=890532;c[f+4>>2]=891556;c[f+8>>2]=m;Zp(j,41512,f)|0}il(j,k);if(!(Po(k,890532)|0)){ag(37770,7);i=d;return 0}if(Wn(k,41187,l,-1)|0){ag(37781,7);i=d;return 0}Jo(891556,k+(Do(890532)|0)|0)|0;if(!(To(891556,41520)|0))a[891556]=0;c[e>>2]=891556;Zp(1189444,40988,e)|0;ag(1189444,12);i=d;return 0}c[h>>2]=891556;Zp(1189444,37749,h)|0;ag(1189444,12);i=d;return 0}function Og(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+1040|0;d=b;e=b+16|0;if((Kd(a)|0)<1){bg(37804);f=0;i=b;return f|0}g=Rd(a,1,0)|0;if((Do(g)|0)>>>0>511){Td(a,0);f=1;i=b;return f|0}else{c[d>>2]=890532;c[d+4>>2]=891556;c[d+8>>2]=g;Zp(e,41512,d)|0;Nn(e)|0;f=0;i=b;return f|0}return 0}function Pg(a){a=a|0;Tj();return 0}function Qg(a){a=a|0;tj();Uj();uj();bg(37837);bg(37860);return 0}function Rg(a){a=a|0;qj();c[233702]=1;Fi();return 0}function Sg(a){a=a|0;Nj();c[233702]=2;Fi();return 0}function Tg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[224870]|0;if((Kd(a)|0)<2)return 0;d=(Pd(a,1,0)|0)>>16;e=(Pd(a,2,0)|0)>>16;if((Kd(a)|0)>2){f=(Pd(a,3,0)|0)>>16;c[224870]=f;g=f}else g=b;mk(c[200386]|0,d-(c[224875]|0)|0,e-(c[224876]|0)|0,c[899336+((g&15)<<2)>>2]&15);return 0}function Ug(a){a=a|0;var b=0,d=0;if((Kd(a)|0)<2){Td(a,0);return 1}else{b=(Pd(a,1,0)|0)>>16;d=(Pd(a,2,0)|0)>>16;Td(a,(tk(c[200386]|0,b-(c[224875]|0)|0,d-(c[224876]|0)|0)|0)<<16);return 1}return 0}function Vg(a){a=a|0;c[224870]=(Pd(a,1,0)|0)>>>16&15;og(1);return 0}function Wg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[224870]|0;d=Kd(a)|0;if(!d)return 0;e=Nd(a,1)|0;f=Rd(a,1,0)|0;a:do if(!f)switch(e|0){case 0:{g=c[92]|0;break a;break}case 1:{h=(Qd(a,1)|0)!=0;g=h?c[90]|0:c[91]|0;break a;break}default:{Zd(a,37928);Ff(a)|0;ce(a,1,0,0,0,0)|0;return 0}}else g=f;while(0);if((d|0)>2?(f=(Pd(a,2,0)|0)>>16,e=(Pd(a,3,0)|0)>>16,c[224871]=f,c[224872]=e,(d|0)>3):0){e=(Pd(a,4,0)|0)>>16;c[224870]=e&15;i=e}else i=b;b=(c[224872]|0)-(c[224876]|0)|0;e=Rk(c[200386]|0,g,c[200398]|0,(c[224871]|0)-(c[224875]|0)|0,b,1,c[899336+((i&15)<<2)>>2]&15)|0;if(!((d|0)!=1|(e|0)<(b|0))){d=e;do{Rb();d=d+-6|0}while((d|0)>=(b|0))}og((Do(g)|0)<<2|2);return 0}function Xg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+2064|0;e=d+8|0;f=d;g=d+1040|0;h=d+12|0;if(c[224248]|0){i=d;return 0}j=Rd(b,1,0)|0;if(!j){k=(Qd(b,1)|0)!=0;l=k?c[90]|0:c[91]|0}else l=j;do if((Kd(b)|0)>1){j=Rd(b,2,0)|0;if((Kd(b)|0)>2)m=Qd(b,3)|0;else m=0;if(!(To(j,37934)|0)){Dm(c[12907]|0);c[12907]=Zn()|0;break}if(Fg(j,g,1023)|0){kc(37940);i=d;return 0}j=c[33519]|0;k=(Do(l)|0)+j|0;if(k>>>0>10485759){kc(37966);i=d;return 0}c[33519]=k;c[f>>2]=g;Zp(h,38003,f)|0;do if(!(Po(117692,h)|0)){k=0;j=0;a:while(1){switch(a[117692+j>>0]|0){case 0:{n=k;break a;break}case 124:{o=k+1|0;break}default:o=k}k=o;j=j+1|0}if((n|0)<=15){Io(117692,h)|0;break}kc(38007);i=d;return 0}while(0);j=Lp(g,m|0?41862:41879)|0;if(j|0){c[e>>2]=l;qp(j,38029,e)|0;Mp(j)|0;break}kc(38033);i=d;return 0}else{Yp(l)|0;Jp(c[6659]|0)|0}while(0);og((Do(l)|0)<<2|2);i=d;return 0}function Yg(a){a=a|0;var b=0,d=0;b=(Pd(a,1,0)|0)>>16;d=(Pd(a,2,0)|0)>>16;c[224871]=b;c[224872]=d;return 0}function Zg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=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=i;i=i+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;l=Kd(a)|0;m=(Pd(a,1,0)|0)>>16;n=(Pd(a,2,0)|0)>>16;o=(Pd(a,3,0)|0)>>16;if(m>>>0>255){i=b;return 0}if((l|0)>3){p=Pd(a,4,0)|0;q=p<<3>>16;p=(Pd(a,5,0)|0)<<3>>16;if((l|0)>5){r=Qd(a,6)|0;if((l|0)>6){s=r;t=Qd(a,7)|0;u=p;v=q}else{s=r;t=0;u=p;v=q}}else{s=0;t=0;u=p;v=q}}else{s=0;t=0;u=8;v=8}if((v|0)<1|(u|0)<1){i=b;return 0}q=(v|0)>128?128:v;v=(u|0)>128?128:u;u=n-(c[224875]|0)|0;n=o-(c[224876]|0)|0;o=kk(q,v,8)|0;ri(c[(c[225186]|0)+4>>2]|0,o,m<<3&120,((m|0)/16|0)<<3,0,0,q,v,s,t,899336);ti(o,c[200386]|0,0,0,u,n,q,v,899336);lk(o)|0;c[d>>2]=q;c[e>>2]=v;c[g>>2]=0;c[h>>2]=0;c[j>>2]=u;c[k>>2]=n;c[f>>2]=q;c[f+4>>2]=v;nk(f,c[200386]|0,g,h,j,k,d,e);k=c[d>>2]|0;d=c[e>>2]|0;e=_(d,k)|0;og((d|k|0)<0?0:e);i=b;return 0}function _g(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=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;b=i;i=i+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;l=Kd(a)|0;m=(Pd(a,1,0)|0)>>16;n=(Pd(a,2,0)|0)>>16;o=(Pd(a,3,0)|0)>>16;p=(Pd(a,4,0)|0)>>16;q=(Pd(a,5,0)|0)>>16;r=(Pd(a,6,0)|0)>>16;if((l|0)>6){s=(Pd(a,7,0)|0)>>16;t=(Pd(a,8,0)|0)>>16;if((l|0)>8){u=Qd(a,9)|0;if((l|0)>9){v=u;w=Qd(a,10)|0;x=t;y=s}else{v=u;w=0;x=t;y=s}}else{v=0;w=0;x=t;y=s}}else{v=0;w=0;x=p;y=o}s=q-(c[224875]|0)|0;q=r-(c[224876]|0)|0;if((p+-1|o+-1)>>>0>127){i=b;return 0}if((y|0)==0|(x|0)==0){i=b;return 0}if((y|0)<0){z=(v|0)==0&1;A=0-y|0;B=s+y|0}else{z=v;A=y;B=s}if((x|0)<0){C=(w|0)==0&1;D=0-x|0;E=q+x|0}else{C=w;D=x;E=q}q=kk(o,p,8)|0;ri(c[(c[225186]|0)+4>>2]|0,q,m,n,0,0,o,p,z,C,899336);si(q,c[200386]|0,B,E,A,D,899336);lk(q)|0;c[d>>2]=A;c[e>>2]=D;c[g>>2]=0;c[h>>2]=0;c[j>>2]=B;c[k>>2]=E;c[f>>2]=A;c[f+4>>2]=D;nk(f,c[200386]|0,g,h,j,k,d,e);k=c[d>>2]|0;d=c[e>>2]|0;e=_(k<<1,d)|0;og((d|k|0)<0?0:e);i=b;return 0}function $g(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=c[224870]|0;d=(Pd(a,1,0)|0)>>16;e=(Pd(a,2,0)|0)>>16;f=(Pd(a,3,0)|0)>>16;g=(Pd(a,4,0)|0)>>16;if((Kd(a)|0)>4){h=(Pd(a,5,0)|0)>>16;c[224870]=h&15;i=h}else i=b;b=c[224875]|0;h=d-b|0;d=c[224876]|0;a=e-d|0;e=f-b|0;b=g-d|0;pk(c[200386]|0,h,a,e,b,c[899336+((i&15)<<2)>>2]&15);i=c[224866]|0;d=c[224868]|0;g=(h|0)<(d|0)?h:d;h=c[224867]|0;f=c[224869]|0;j=(a|0)<(f|0)?a:f;a=(e|0)<(d|0)?e:d;d=(b|0)<(f|0)?b:f;f=((h|0)>(d|0)?h:d)-((h|0)>(j|0)?h:j)|0;j=((i|0)>(a|0)?i:a)-((i|0)>(g|0)?i:g)|0;og(((f|0)<0?0-f|0:f)+((j|0)<0?0-j|0:j)|0);return 0}function ah(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=i;i=i+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;l=c[224870]|0;m=Kd(a)|0;n=(Pd(a,1,0)|0)>>16;o=(Pd(a,2,0)|0)>>16;p=(Pd(a,3,0)|0)>>16;q=(Pd(a,4,0)|0)>>16;if((m|0)>4){m=(Pd(a,5,0)|0)>>16;c[224870]=m&15;r=m}else r=l;l=c[224875]|0;m=n-l|0;n=c[224876]|0;a=o-n|0;o=p-l|0;l=q-n|0;hk(c[200386]|0,m,a,o,l,c[899336+((r&15)<<2)>>2]&15);r=o-m|0;o=l-a|0;c[d>>2]=r;c[e>>2]=o;c[g>>2]=0;c[h>>2]=0;c[j>>2]=m;c[k>>2]=a;c[f>>2]=r;c[f+4>>2]=o;nk(f,c[200386]|0,g,h,j,k,d,e);k=c[d>>2]|0;d=c[e>>2]|0;e=(_(d,k)|0)/2|0;og((d|k|0)<0?0:e);i=b;return 0}function bh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=i;i=i+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;l=c[224870]&15;m=Kd(a)|0;if((m|0)<2){i=b;return 0}n=(Pd(a,1,0)|0)>>16;o=(Pd(a,2,0)|0)>>16;if((m|0)>2){p=(Pd(a,3,0)|0)>>16;if((m|0)>3){m=(Pd(a,4,0)|0)>>16;c[224870]=m&15;q=m;r=p}else{q=l;r=p}}else{q=l;r=4}l=n-(c[224875]|0)|0;n=o-(c[224876]|0)|0;vi(c[200386]|0,l,n,r,c[899336+((q&15)<<2)>>2]&15);q=r<<1;c[d>>2]=q;c[e>>2]=q;c[g>>2]=0;c[h>>2]=0;c[j>>2]=l-r;c[k>>2]=n-r;c[f>>2]=q;c[f+4>>2]=q;nk(f,c[200386]|0,g,h,j,k,d,e);k=c[d>>2]|0;d=c[e>>2]|0;e=(_(d,k)|0)/2|0;og(((d|k|0)<0?0:e)+(r<<2)|0);i=b;return 0}function ch(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=i;i=i+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;l=c[224870]|0;m=Kd(a)|0;if((m|0)<2){i=b;return 0}n=(Pd(a,1,0)|0)>>16;o=(Pd(a,2,0)|0)>>16;if((m|0)>2){p=(Pd(a,3,0)|0)>>16;if((m|0)>3){m=(Pd(a,4,0)|0)>>16;c[224870]=m&15;q=m;r=p}else{q=l;r=p}}else{q=l;r=4}l=n-(c[224875]|0)|0;n=o-(c[224876]|0)|0;wi(c[200386]|0,l,n,r,c[899336+((q&15)<<2)>>2]&15);q=r<<1;c[d>>2]=q;c[e>>2]=q;c[g>>2]=0;c[h>>2]=0;c[j>>2]=l-r;c[k>>2]=n-r;c[f>>2]=q;c[f+4>>2]=q;nk(f,c[200386]|0,g,h,j,k,d,e);k=c[d>>2]|0;d=c[e>>2]|0;e=_(d,k)|0;og(((d|k|0)<0?0:e)+(r<<2)|0);i=b;return 0}function dh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[224870]|0;d=(Pd(a,1,0)|0)>>16;e=(Pd(a,2,0)|0)>>16;f=(Pd(a,3,0)|0)>>16;g=(Pd(a,4,0)|0)>>16;if((Kd(a)|0)>4){h=(Pd(a,5,0)|0)>>16;c[224870]=h&15;i=h}else i=b;b=c[224875]|0;h=d-b|0;d=c[224876]|0;a=e-d|0;e=f-b|0;b=g-d|0;uk(c[200386]|0,h,a,e,b,c[899336+((i&15)<<2)>>2]&15);i=h-e|0;e=(i|0)<0?0-i|0:i;i=a-b|0;b=(i|0)<0?0-i|0:i;i=((e|0)>(b|0)?e:b)+1|0;og((i|0)>128?128:i);return 0}function eh(a){a=a|0;var b=0,d=0,e=0,f=0;b=Kd(a)|0;if((b|0)<=1){c[224850]=0;c[224835]=1;c[224851]=1;c[224836]=2;c[224852]=2;c[224837]=3;c[224853]=3;c[224838]=4;c[224854]=4;c[224839]=5;c[224855]=5;c[224840]=6;c[224856]=6;c[224841]=7;c[224857]=7;c[224842]=8;c[224858]=8;c[224843]=9;c[224859]=9;c[224844]=10;c[224860]=10;c[224845]=11;c[224861]=11;c[224846]=12;c[224862]=12;c[224847]=13;c[224863]=13;c[224848]=14;c[224864]=14;c[224849]=15;c[224865]=15;c[224834]=16;og(4);return 0}d=(Pd(a,1,0)|0)>>>16;e=(Pd(a,2,0)|0)>>>16&15;f=d&15;if((b|0)>2?(Pd(a,3,0)|0)>>>0>=65536:0){c[899400+(f<<2)>>2]=e;og(4);return 0}a=899336+(f<<2)|0;c[a>>2]=c[a>>2]&16|e;og(4);return 0}function fh(a){a=a|0;var b=0,d=0;if((Kd(a)|0)<=1){b=c[224834]&15;c[224835]=c[224835]&15;c[224836]=c[224836]&15;c[224837]=c[224837]&15;c[224838]=c[224838]&15;c[224839]=c[224839]&15;c[224840]=c[224840]&15;c[224841]=c[224841]&15;c[224842]=c[224842]&15;c[224843]=c[224843]&15;c[224844]=c[224844]&15;c[224845]=c[224845]&15;c[224846]=c[224846]&15;c[224847]=c[224847]&15;c[224848]=c[224848]&15;c[224849]=c[224849]&15;c[224834]=b|16;return 0}b=(Pd(a,1,0)|0)>>>16;d=Qd(a,2)|0;a=899336+((b&15)<<2)|0;b=c[a>>2]&15;c[a>>2]=b;if(!d)return 0;c[a>>2]=b|16;return 0}function gh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=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;b=i;i=i+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;l=(Pd(a,1,0)|0)>>16;m=(Pd(a,2,0)|0)>>16;n=(Pd(a,3,0)|0)>>16;o=(Pd(a,4,0)|0)>>16;if((Kd(a)|0)>4){p=(Pd(a,5,0)|0)>>16;q=(Pd(a,6,0)|0)>>16;r=q;s=(Pd(a,7,0)|0)>>16;t=p}else{r=32;s=0;t=128}if((r|0)<1|(t|0)<1){i=b;return 0}p=n-(c[224875]|0)|0;n=o-(c[224876]|0)|0;o=c[225186]|0;a=c[o+8>>2]|0;q=c[o+4>>2]|0;o=c[224866]|0;u=c[224867]|0;if((p|0)<(o+-7|0)){v=(o-p|0)/8|0;w=v+l|0;x=(v<<3)+p|0;y=t-v|0}else{w=l;x=p;y=t}if((n|0)<(u+-7|0)){t=(u-n|0)/8|0;z=r-t|0;A=t+m|0;B=(t<<3)+n|0}else{z=r;A=m;B=n}n=(((c[224868]|0)+7-o|0)/8|0)+1|0;o=(n|0)<(y|0)?n:y;y=(((c[224869]|0)+7-u|0)/8|0)+1|0;u=(y|0)<(z|0)?y:z;if((u|0)>0){z=(o|0)>0;y=(s|0)==0;n=f+4|0;m=0;r=0;while(1){a:do if(z){t=r+A|0;p=(r<<3)+B|0;if(y){l=m;v=0;while(1){C=tk(a,v+w|0,t)|0;if(!C)D=l;else{E=(v<<3)+x|0;ui(q,c[200386]|0,C<<3&120,((C|0)/16|0)<<3,E,p,8,8,899336);c[d>>2]=8;c[e>>2]=8;c[g>>2]=0;c[h>>2]=0;c[j>>2]=E;c[k>>2]=p;c[f>>2]=8;c[n>>2]=8;nk(f,c[200386]|0,g,h,j,k,d,e);E=c[d>>2]|0;C=c[e>>2]|0;F=_(C,E)|0;D=((C|E|0)<0?0:F)+l|0}v=v+1|0;if((v|0)>=(o|0)){G=D;break a}else l=D}}else{H=m;I=0}while(1){l=tk(a,I+w|0,t)|0;if((l|0)!=0?(c[(c[225186]|0)+43292+(l<<2)>>2]&s|0)!=0:0){v=(I<<3)+x|0;ui(q,c[200386]|0,l<<3&120,((l|0)/16|0)<<3,v,p,8,8,899336);c[d>>2]=8;c[e>>2]=8;c[g>>2]=0;c[h>>2]=0;c[j>>2]=v;c[k>>2]=p;c[f>>2]=8;c[n>>2]=8;nk(f,c[200386]|0,g,h,j,k,d,e);v=c[d>>2]|0;l=c[e>>2]|0;F=_(l,v)|0;J=((l|v|0)<0?0:F)+H|0}else J=H;I=I+1|0;if((I|0)>=(o|0)){G=J;break}else H=J}}else G=m;while(0);r=r+1|0;if((r|0)>=(u|0)){K=G;break}else m=G}}else K=0;og(K);og(_(o<<1,u)|0);i=b;return 0}function hh(a){a=a|0;var b=0,d=0;b=(Pd(a,1,0)|0)>>16;d=(Pd(a,2,0)|0)>>16;Td(a,(tk(c[(c[225186]|0)+8>>2]|0,b,d)|0)<<16);return 1}function ih(b){b=b|0;var d=0,e=0,f=0,g=0;d=(Pd(b,1,0)|0)>>16;e=(Pd(b,2,0)|0)>>16;f=Pd(b,3,0)|0;b=f>>>16;mk(c[(c[225186]|0)+8>>2]|0,d,e,b&255);if(!(d>>>0<128&(e&-32|0)==32))return 0;g=(e<<7)+d|0;d=g<<1&126;e=g>>6;a[(c[(c[(c[(c[225186]|0)+4>>2]|0)+16>>2]|0)+(e<<2)>>2]|0)+d>>0]=b&15;a[(c[(c[(c[(c[225186]|0)+4>>2]|0)+16>>2]|0)+(e<<2)>>2]|0)+(d|1)>>0]=f>>>20&15;return 0}function jh(a){a=a|0;var b=0,d=0,e=0;if(!(Kd(a)|0)){b=0;return b|0}d=(Pd(a,1,0)|0)>>16;if((Kd(a)|0)==1){Td(a,c[(c[225186]|0)+43292+(d<<2)>>2]<<16&16711680);b=1;return b|0}e=(Pd(a,2,0)|0)>>16;if(d>>>0>255){Yd(a,0);b=1;return b|0}if(e>>>0>7){Yd(a,0);b=1;return b|0}else{Yd(a,(c[(c[225186]|0)+43292+(d<<2)>>2]&1<<e|0)!=0&1);b=1;return b|0}return 0}function kh(a){a=a|0;var b=0,d=0,e=0;b=Kd(a)|0;if((b|0)<2)return 0;d=(Pd(a,1,0)|0)>>16;e=(Pd(a,2,0)|0)>>16;if(d>>>0>255)return 0;if((b|0)==2){c[(c[225186]|0)+43292+(d<<2)>>2]=e&255;return 0}b=Qd(a,3)|0;if(e>>>0>7)return 0;a=1<<e;e=(c[225186]|0)+43292+(d<<2)|0;d=c[e>>2]&(a^255)&255;c[e>>2]=d;if(!b)return 0;c[e>>2]=d|a;return 0}function lh(a){a=a|0;var b=0,d=0;b=(Pd(a,1,0)|0)>>16;d=(Pd(a,2,0)|0)>>16;Td(a,(tk(c[(c[225186]|0)+4>>2]|0,b,d)|0)<<16);return 1}function mh(a){a=a|0;var b=0,d=0,e=0,f=0;b=(Pd(a,1,0)|0)>>16;d=(Pd(a,2,0)|0)>>16;e=(Pd(a,3,0)|0)>>>16&15;if((d|0)>127|((b|0)>127|(d|b|0)<0))return 0;a=(d<<6)+((b|0)/2|0)|0;d=zi(801524,c[225186]|0,a)|0;if(!(b&1))f=d&240|e;else f=d&15|e<<4;yi(801524,c[225186]|0,a,f);return 0}function nh(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[225186]|0;d=(Pd(a,1,0)|0)>>16;if((Kd(a)|0)>1)e=(Pd(a,2,0)|0)>>16;else e=0;if((Kd(a)|0)>2)f=(Pd(a,3,0)|0)>>16;else f=0;if((d|0)==-1){ln(0,e);og(16);return 0}else{a=(d|0)<63?d:63;en(b,(a|0)<0?0:a,e);c[225083]=f;og(16);return 0}return 0}function oh(a){a=a|0;var b=0,d=0,e=0,f=0;if((Kd(a)|0)<1)return 0;b=(Pd(a,1,0)|0)>>16;if((Kd(a)|0)>1){d=(Pd(a,2,0)|0)>>16;if((d+1|0)>>>0>4)return 0;else e=d}else e=-1;if((Kd(a)|0)>2)f=(Pd(a,3,0)|0)>>16;else f=0;switch(b|0){case -1:{Zm(0,0,0,0,e)|0;return 0}case -2:{cn(e);return 0}default:{a=(b|0)<63?b:63;b=(f|0)<31?f:31;Zm((c[225186]|0)+12+(((a|0)<0?0:a)*656|0)|0,(b|0)<0?0:b,32,0,e)|0;og(16);return 0}}return 0}function ph(a){a=a|0;var b=0;og(-3);b=(Pd(a,1,0)|0)>>16;Td(a,(zi(801524,c[225186]|0,b)|0)<<16);return 1}function qh(a){a=a|0;var b=0,d=0;og(-3);b=(Pd(a,1,0)|0)>>16;d=(Pd(a,2,0)|0)>>16;yi(801524,c[225186]|0,b,d);return 0}function rh(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)>>16;og(e<<1);Ai(801524,c[225186]|0,b,d,e);return 0}function sh(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)>>16;og(e);Bi(801524,c[225186]|0,b,d,e);return 0}function th(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+1040|0;d=b+8|0;if((Kd(a)|0)>2){e=(Pd(a,1,0)|0)>>16;f=(Pd(a,2,0)|0)>>16;g=e;h=f;j=(Pd(a,3,0)|0)>>16}else{g=0;h=0;j=17152}og(((j|0)>4096?4096:j)<<3);if((Kd(a)|0)!=4){Ci(801524,c[225186]|0,g,h,j);Td(a,j<<16);i=b;return 1}f=Rd(a,4,b)|0;if(!(c[224248]|0))hl(893612,d,0,0);else Kn(38193,d);Io(d,f)|0;if(!(Dc(d,g,h,j)|0)){Td(a,j<<16);i=b;return 1}else{Td(a,0);i=b;return 1}return 0}function uh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+1040|0;d=b+8|0;if((Kd(a)|0)>2){e=(Pd(a,1,0)|0)>>16;f=(Pd(a,2,0)|0)>>16;g=e;h=f;j=(Pd(a,3,0)|0)>>16}else{g=0;h=0;j=17152}og(((j|0)>4096?4096:j)<<6);if((Kd(a)|0)==4){f=Rd(a,4,b)|0;if((Do(f)|0)>>>0>511){Td(a,0);i=b;return 1}if(!(c[224248]|0))hl(893612,d,0,0);else Kn(38193,d);Io(d,f)|0;k=0}else{Jo(d,893612)|0;k=1}if(!(Ec(d,g,h,j,k)|0)){Td(a,j<<16);i=b;return 1}else{Td(a,0);i=b;return 1}return 0}function vh(a){a=a|0;var b=0,c=0;if((Kd(a)|0)>0)b=Pd(a,1,0)|0;else b=65536;c=Ti(b)|0;og(8);Td(a,c);return 1}function wh(a){a=a|0;Si((Pd(a,1,0)|0)&2147483647);og(4);return 0}function xh(a){a=a|0;Td(a,(Pd(a,1,0)|0)&-65536);return 1}function yh(a){a=a|0;Td(a,(Pd(a,1,0)|0)>>31&-131072|65536);return 1}function zh(a){a=a|0;var b=0;b=Pd(a,1,0)|0;Td(a,(b|0)<0?0-b|0:b);return 1}function Ah(a){a=a|0;var b=0,c=0;b=Pd(a,1,0)|0;c=Pd(a,2,0)|0;Td(a,(b|0)<(c|0)?b:c);return 1}function Bh(a){a=a|0;var b=0,c=0;b=Pd(a,1,0)|0;c=Pd(a,2,0)|0;Td(a,(b|0)>(c|0)?b:c);return 1}function Ch(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=Pd(a,1,0)|0;c=Pd(a,2,0)|0;d=Pd(a,3,0)|0;e=(b|0)<(c|0);f=(b|0)<(d|0);do if(!(e&f))if((c|0)<(b|0)&(c|0)<(d|0)){g=f?b:d;break}else{g=e?b:c;break}else g=(c|0)<(d|0)?c:d;while(0);og(4);Td(a,g);return 1}function Dh(a){a=a|0;var b=0;b=Pd(a,1,0)|0;og(4);Td(a,Fl(b)|0);return 1}function Eh(a){a=a|0;var b=0;b=Pd(a,1,0)|0;og(4);Td(a,Gl(b)|0);return 1}function Fh(a){a=a|0;var b=0;b=Pd(a,1,0)|0;og(8);Td(a,Qi(b)|0);return 1}function Gh(a){a=a|0;var b=0,c=0;b=Pd(a,1,0)|0;c=Pd(a,2,0)|0;og(4);Td(a,Ri(b,c)|0);return 1}function Hh(a){a=a|0;var b=0,c=0;b=Pd(a,1,0)|0;c=Pd(a,2,0)|0;og(-3);Td(a,c&b);return 1}function Ih(a){a=a|0;var b=0,c=0;b=Pd(a,1,0)|0;c=Pd(a,2,0)|0;og(-3);Td(a,c|b);return 1}function Jh(a){a=a|0;var b=0,c=0;b=Pd(a,1,0)|0;c=Pd(a,2,0)|0;og(-3);Td(a,c^b);return 1}function Kh(a){a=a|0;var b=0;b=Pd(a,1,0)|0;og(-3);Td(a,~b);return 1}function Lh(a){a=a|0;var b=0,c=0;b=Pd(a,1,0)|0;c=(Pd(a,2,0)|0)>>16;og(-3);Td(a,b<<c);return 1}function Mh(a){a=a|0;var b=0,c=0;b=Pd(a,1,0)|0;c=(Pd(a,2,0)|0)>>16;og(-3);Td(a,b>>c);return 1}function Nh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+5152|0;e=d+8|0;f=d;g=d+20|0;h=d+4120|0;j=d+3096|0;k=d+2072|0;l=d+1048|0;m=d+24|0;c[g>>2]=255;if((Kd(b)|0)<=0){i=d;return 0}n=Rd(b,1,g)|0;if(!n){i=d;return 0}Jo(m,893612)|0;c[f>>2]=891556;c[f+4>>2]=n;Zp(h,38295,f)|0;if((((To(n,37934)|0)!=0?(To(n,38318)|0)!=0:0)?(To(n,38327)|0)!=0:0)?(To(n,38337)|0)!=0:0)if(!(Cc(h)|0)){hl(893612,j,k,l);h=Do(c[c[33842]>>2]|0)|0;c[e>>2]=k;c[e+4>>2]=l;c[e+8>>2]=h;Zp(1189444,38396,e)|0;if(!(c[224766]|0)){bg(1189444);o=14}else o=14}else o=15;else{if(c[224766]|0){i=d;return 0}Kn(38350,j);if((Dg(Zn()|0,j)|0)==0?(Cc(j)|0)==0:0){a[893612]=0;cg(38363,Do(c[c[33842]>>2]|0)|0,0);o=14}else o=15}if((o|0)==14){hg();j=c[222631]|0;e=j+320|0;c[j+312>>2]=0;c[j+308>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=c[j+344>>2]|0;c[e+16>>2]=0;c[e+20>>2]=0;e=c[j+340>>2]|0;c[e+16>>2]=0;c[e+20>>2]=0;c[j+348>>2]=0;ko(j);Ci(801524,c[225186]|0,0,0,17152)}else if((o|0)==15)bg(41294);og(1048576);if(!(c[224766]|0)){i=d;return 0}c[224764]=1;if(!(To(893612,m)|0)){i=d;return 0}c[224768]=30;i=d;return 0}function Oh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+4128|0;e=d+16|0;f=d;g=d+24|0;h=d+3104|0;j=d+2080|0;k=d+1056|0;l=d+32|0;c[g>>2]=255;if(c[224766]|0){i=d;return 0}if((Kd(b)|0)>0){m=Rd(b,1,g)|0;if((Do(m)|0)>>>0>511){bg(38424);i=d;return 0}if(m|0?a[m>>0]|0:0){if(((To(m,37934)|0?To(m,38318)|0:0)?To(m,38327)|0:0)?To(m,38337)|0:0){c[f>>2]=890532;c[f+4>>2]=891556;c[f+8>>2]=m;Zp(h,38530,f)|0;xc(h,h);if(zc(h)|0){i=d;return 0}Jo(893612,h)|0;og(4096);hl(h,j,k,l);c[e>>2]=k;c[e+4>>2]=l;Zp(1189444,38537,e)|0;bg(1189444);i=d;return 0}Kn(38350,j);if(((sc(c[33842]|0,j)|0)==0?(Kn(38466,h),(Cg(j,h)|0)==0):0)?(_n(h)|0)==0:0){bg(38483);i=d;return 0}bg(38502);i=d;return 0}}bg(38442);i=d;return 0}function Ph(a){a=a|0;c[224764]=1;c[224765]=1;return 0}function Qh(a){a=a|0;c[224764]=2;return Uf(a,0,0,0)|0}function Rh(a){a=a|0;var b=0;if(c[224766]|0){b=0;return b|0}c[224764]=3;c[12018]=0;b=Uf(a,0,0,0)|0;return b|0}function Sh(a){a=a|0;var b=0;if(c[224766]|0){b=0;return b|0}c[43233]=1;b=Uf(a,0,0,0)|0;return b|0}function Th(b){b=b|0;var d=0,e=0,f=0;b=i;i=i+3088|0;d=b;e=b+1032|0;f=b+8|0;hl(893612,b+2056|0,e,f);if(a[893612]|0){if(!(a[f>>0]|0))c[f>>2]=3698734;c[d>>2]=e;c[d+4>>2]=f;Zp(1189444,38583,d)|0;ag(1189444,14)}d=c[c[33842]>>2]|0;f=Bm(65536)|0;e=Vi(d,f,Do(d)|0)|0;Dm(f);cg(38594,ug(d)|0,8192);cg(38608,Do(d)|0,65536);cg(38629,e,15360);i=b;return 0}function Uh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+1040|0;e=d;f=d+12|0;g=d+16|0;c[f>>2]=255;if(((Kd(b)|0)>0?(h=Rd(b,1,f)|0,h|0):0)?a[h>>0]|0:0){c[e>>2]=890532;c[e+4>>2]=891556;c[e+8>>2]=h;Zp(g,38530,e)|0;oj(g);og(4096);i=d;return 0}bg(38652);i=d;return 0}function Vh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+4128|0;d=b+16|0;e=b;f=b+24|0;g=b+3104|0;h=b+1056|0;j=b+32|0;c[f>>2]=255;if((Kd(a)|0)>0)k=Rd(a,1,f)|0;else k=0;c[e>>2]=890532;c[e+4>>2]=891556;c[e+8>>2]=k;Zp(g,38530,e)|0;pj(g);og(4096);hl(g,b+2080|0,h,j);c[d>>2]=h;c[d+4>>2]=j;Zp(1189444,38676,d)|0;i=b;return 0}function Wh(a){a=a|0;if(c[224766]|0)return 0;bg(1195596);ag(38697,12);bg(1195596);bg(38706);bg(38739);bg(38763);bg(38787);bg(38808);bg(38841);bg(38873);ag(38902,14);bg(1195596);bg(38935);bg(38967);bg(38998);bg(1195596);ag(39027,12);ag(39055,12);bg(1195596);return 0}function Xh(a){a=a|0;var b=0;b=(c[200381]<<16|0)/30|0;og(8);Td(a,b);return 1}function Yh(a){a=a|0;bg(39090);bg(39109);Sd(a);return 1}function Zh(a){a=a|0;Sd(a);return 1}function _h(a){a=a|0;Sd(a);return 1}function $h(a){a=a|0;Sd(a);Td(a,0);return 2}function ai(a){a=a|0;var b=0;b=Rd(a,1,0)|0;if(!((b|0)!=0&(c[224248]|0)==0))return 0;if(!(To(b,39160)|0))Eg(c[200387]|0)|0;if(!(To(b,39166)|0))Hc(c[200387]|0)|0;if(!(To(b,39173)|0))Bg();if(To(b,39177)|0)return 0;zg()|0;return 0}function bi(a){a=a|0;c[233383]=1;ci(a,0);return 1}function ci(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=(Pd(a,1,0)|0)>>16;e=(d|0)<7?d:7;d=(e|0)<0?0:e;if(Kd(a)|0){if((Kd(a)|0)>1)f=(Pd(a,2,0)|0)>>16;else f=0;if((f|d)>>>0<8){e=c[899520+(f<<5)+(d<<2)>>2]|0;if(!b)g=e;else g=((c[225080]|0)!=1?(c[899776+(f<<5)+(d<<2)>>2]|0)!=0:0)?0:e}else g=0;Yd(a,g);og(4);return}g=(c[225080]|0)!=1;if(!b)if(g){b=0;e=0;while(1){d=(c[899520+(((b|0)/8|0)<<5)+(((b|0)%8|0)<<2)>>2]|0?1<<b:0)|e;b=b+1|0;if((b|0)==16){h=d;break}else e=d}}else{e=0;b=0;while(1){d=(c[899520+(((e|0)/8|0)<<5)+(((e|0)%8|0)<<2)>>2]|0?1<<e:0)|b;e=e+1|0;if((e|0)==16){h=d;break}else b=d}}else if(g){g=0;b=0;while(1){e=(g|0)%8|0;d=(g|0)/8|0;f=((c[899776+(d<<5)+(e<<2)>>2]|0?1:(c[899520+(d<<5)+(e<<2)>>2]|0)==0)?0:1<<g)|b;g=g+1|0;if((g|0)==16){h=f;break}else b=f}}else{b=0;g=0;while(1){f=(c[899520+(((b|0)/8|0)<<5)+(((b|0)%8|0)<<2)>>2]|0?1<<b:0)|g;b=b+1|0;if((b|0)==16){h=f;break}else g=f}}Ud(a,h<<16);return}function di(a){a=a|0;c[233383]=1;ci(a,1);return 1}function ei(b){b=b|0;var c=0,d=0;c=(Pd(b,1,0)|0)>>16;d=Rd(b,2,0)|0;if(!d){a[900352+(c<<6)>>0]=0;return 0}if((c+-1|0)>>>0>4)return 0;So(900352+(c<<6)|0,d,16)|0;return 0}function fi(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b;c[d>>2]=255;if((Kd(a)|0)>0?(e=Rd(a,1,d)|0,(e|0)!=0):0){Yd(a,(jj(e)|0)==0&1);f=1}else f=0;i=b;return f|0}function gi(a){a=a|0;var b=0;b=(Pd(a,1,0)|0)>>16;if(b>>>0>63){Td(a,0);return 1}else{Td(a,c[895708+(b<<2)>>2]|0);return 1}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;if(b>>>0>63)return 0;c[895708+(b<<2)>>2]=d;c[233384]=1;return 0}function ii(b){b=b|0;var d=0,e=0,f=0,g=0,h=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=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;a:do if((Kd(b)|0)>0){h=(Pd(b,1,0)|0)>>16;switch(h|0){case 2:{j=5;break a;break}case 5:{k=655360;break a;break}case 0:{l=(c[233381]|0)+(c[224879]|0)|0;k=((l|0)>1048576?1048576:l)<<6;break a;break}case 1:{k=((c[200385]<<8|0)/(4194304/(((c[233382]|0)==60?60:30)>>>0)|0|0)|0)<<8;break a;break}case 4:{l=c[12907]|0;if(!l){Vd(b,1195596,0)|0;i=d;return 1}else{Vd(b,l,Do(l)|0)|0;i=d;return 1}break}default:{l=h&-4;if((l|0)==16){m=bn(h+-16|0)|0;n=c[225186]|0;o=0;p=-65536;while(1){q=(m|0)==(n+12+(o*656|0)|0)?o<<16:p;o=o+1|0;if((o|0)==64){r=q;break}else p=q}if((r|0)==-65536){p=bn(h+-12|0)|0;o=c[225186]|0;n=0;m=-65536;while(1){q=(p|0)==(o+12+(n*656|0)|0)?n<<16:m;n=n+1|0;if((n|0)==64){s=q;break}else m=q}}else s=r}else s=0;do if((l|0)==20){m=bn(h+-20|0)|0;if(!m){n=bn(h+-16|0)|0;if(!n){t=-65536;break}else u=n}else u=m;t=(an(u)|0)<<16}else t=s;while(0);if((h+-32|0)>>>0>=3){k=t;break a}if((zi(801524,c[225186]|0,24365)|0)!=1){k=t;break a}if(!(c[224248]|0)){l=c[12013]|0;if(l|0?a[l>>0]|0:0)j=24}else j=24;if((j|0)==24){if(!(c[233380]|0))gc(39228,2e3);c[233380]=1}On(e,f,g);k=((h|0)==34?c[g>>2]|0:(h|0)==33?c[f>>2]|0:(h|0)==32?c[e>>2]|0:t)<<16;break a}}}else j=5;while(0);if((j|0)==5)k=((c[12906]<<8|0)/(4194304/(((c[233382]|0)==60?60:30)>>>0)|0|0)|0)<<8;Td(b,k);og(16);i=d;return 1}function ji(a){a=a|0;hk(c[200386]|0,45,48,82,56,1);Rk(c[200386]|0,39328,c[200398]|0,64,50,3,7)|0;return 0}function ki(a){a=a|0;c[200389]=1;return 0}function li(a){a=a|0;var b=0;b=c[200390]|0;c[200391]=b;c[200390]=0;Td(a,b<<16);return 1}function mi(b){b=b|0;var c=0,d=0,e=0,f=0;c=(Pd(b,1,0)|0)>>16;if((c+-1|0)>>>0>4){d=0;return d|0}e=900736+c|0;if(!(a[e>>0]|0))f=0;else{a[e>>0]=0;f=1}Yd(b,f);d=1;return d|0}function ni(a){a=a|0;Gi();Hi();Ii();return 0}function oi(a){a=a|0;c[225081]=(Pd(a,1,0)|0)>>16;return 0}function pi(a){a=a|0;c[233382]=(Pd(a,1,0)|0)>>16;return 0}function qi(a){a=a|0;var b=0;b=(Pd(a,1,0)|0)>>16;c[200393]=b;c[43826]=b;return 0}function ri(b,e,f,g,h,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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;p=i;i=i+32|0;q=p+20|0;r=p+16|0;s=p+12|0;t=p+8|0;u=p+4|0;v=p;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[v>>2]=l;nk(b,e,q,r,s,t,u,v);l=(m|0)!=0;m=(n|0)!=0;n=c[v>>2]|0;k=(n|0)>0;if(l&m){if(!k){i=p;return}j=b+16|0;h=e+16|0;g=c[u>>2]|0;f=n;w=0;while(1){if((g|0)>0){x=~w;y=g;z=f;A=0;while(1){a[(c[(c[h>>2]|0)+((c[t>>2]|0)+w<<2)>>2]|0)+((c[s>>2]|0)+A)>>0]=c[o+(((d[(c[(c[j>>2]|0)+((c[r>>2]|0)+x+z<<2)>>2]|0)+(y+~A+(c[q>>2]|0))>>0]|0)&15)<<2)>>2];A=A+1|0;B=c[u>>2]|0;C=c[v>>2]|0;if((A|0)>=(B|0)){D=B;E=C;break}else{y=B;z=C}}}else{D=g;E=f}w=w+1|0;if((w|0)>=(E|0))break;else{g=D;f=E}}i=p;return}if(m){if(!k){i=p;return}m=b+16|0;E=e+16|0;f=n;D=c[u>>2]|0;g=0;while(1){if((D|0)>0){w=~g;j=f;h=0;while(1){a[(c[(c[E>>2]|0)+((c[t>>2]|0)+g<<2)>>2]|0)+((c[s>>2]|0)+h)>>0]=c[o+(((d[(c[(c[m>>2]|0)+((c[r>>2]|0)+w+j<<2)>>2]|0)+((c[q>>2]|0)+h)>>0]|0)&15)<<2)>>2];h=h+1|0;z=c[u>>2]|0;y=c[v>>2]|0;if((h|0)>=(z|0)){F=z;G=y;break}else j=y}}else{F=D;G=f}g=g+1|0;if((g|0)>=(G|0))break;else{f=G;D=F}}i=p;return}if(l){if(!k){i=p;return}l=b+16|0;F=e+16|0;D=n;G=c[u>>2]|0;f=0;while(1){if((G|0)>0){g=G;m=0;while(1){a[(c[(c[F>>2]|0)+((c[t>>2]|0)+f<<2)>>2]|0)+((c[s>>2]|0)+m)>>0]=c[o+(((d[(c[(c[l>>2]|0)+((c[r>>2]|0)+f<<2)>>2]|0)+(g+~m+(c[q>>2]|0))>>0]|0)&15)<<2)>>2];m=m+1|0;E=c[u>>2]|0;if((m|0)>=(E|0)){H=E;break}else g=E}I=c[v>>2]|0;J=H}else{I=D;J=G}f=f+1|0;if((f|0)>=(I|0))break;else{D=I;G=J}}i=p;return}else{if(!k){i=p;return}k=b+16|0;b=e+16|0;e=c[u>>2]|0;J=n;n=0;while(1){if((e|0)>0){G=0;do{a[(c[(c[b>>2]|0)+((c[t>>2]|0)+n<<2)>>2]|0)+((c[s>>2]|0)+G)>>0]=c[o+(((d[(c[(c[k>>2]|0)+((c[r>>2]|0)+n<<2)>>2]|0)+((c[q>>2]|0)+G)>>0]|0)&15)<<2)>>2];G=G+1|0;I=c[u>>2]|0}while((G|0)<(I|0));K=I;L=c[v>>2]|0;M=K}else{L=J;M=e}n=n+1|0;if((n|0)>=(L|0))break;else{e=M;J=L}}i=p;return}}function si(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;j=i;i=i+32|0;k=j+20|0;l=j+16|0;m=j+12|0;n=j+8|0;o=j+4|0;p=j;q=(b|0)!=0;r=(d|0)!=0;s=q&r;if((g|0)==0|q&r^1|(h|0)==0){i=j;return}r=c[b>>2]|0;q=c[b+4>>2]|0;if((r|0)==(g|0)&(q|0)==(h|0)){c[k>>2]=0;c[l>>2]=0;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;a:do if(s?(nk(b,d,k,l,m,n,o,p),t=c[o>>2]|0,u=c[p>>2]|0,(t|0)>0&(u|0)>0):0){v=b+16|0;w=d+16|0;x=u;u=t;t=0;while(1){if(!u)y=x;else{z=(c[(c[w>>2]|0)+((c[n>>2]|0)+t<<2)>>2]|0)+(c[m>>2]|0)|0;A=(c[(c[v>>2]|0)+((c[l>>2]|0)+t<<2)>>2]|0)+(c[k>>2]|0)|0;B=u;while(1){C=a[A>>0]|0;if((C&255)<=15)a[z>>0]=C;B=B+-1|0;if(!B)break;else{z=z+1|0;A=A+1|0}}y=c[p>>2]|0}A=t+1|0;if((A|0)>=(y|0))break a;x=y;u=c[o>>2]|0;t=A}}while(0);i=j;return}o=(r<<16|0)/(g|0)|0;r=(q<<16|0)/(h|0)|0;y=((r|0)<0?q:0)+((r|0)/2|0)|0;q=c[d+36>>2]|0;if((q|0)>(f|0)){p=q-f|0;D=q;E=h-p|0;F=y+(_(p,r)|0)|0}else{D=f;E=h;F=y}y=(o|0)/2|0;h=c[d+28>>2]|0;if((h|0)>(e|0)){f=h-e|0;G=h;H=g-f|0;I=(_(f,o)|0)+y|0}else{G=e;H=g;I=y}y=(c[d+32>>2]|0)-G|0;g=(H|0)<(y|0)?H:y;y=(c[d+40>>2]|0)-D|0;H=(E|0)<(y|0)?E:y;y=H+D|0;if((H|0)<=0){i=j;return}H=b+16|0;b=d+16|0;if((g|0)>0){J=F;K=D}else{i=j;return}while(1){D=c[(c[H>>2]|0)+(J>>16<<2)>>2]|0;F=(c[(c[b>>2]|0)+(K<<2)>>2]|0)+G|0;d=I;E=0;while(1){e=a[D+(d>>16)>>0]|0;if((e&255)<=15)a[F>>0]=e;E=E+1|0;if((E|0)>=(g|0))break;else{F=F+1|0;d=d+o|0}}K=K+1|0;if((K|0)>=(y|0))break;else J=J+r|0}i=j;return}function ti(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;l=i;i=i+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]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;if(!((b|0)!=0&(d|0)!=0)){i=l;return}nk(b,d,m,n,o,p,q,r);k=c[q>>2]|0;j=c[r>>2]|0;if(!((j|0)>0&(k|0)>0)){i=l;return}h=b+16|0;b=d+16|0;d=k;k=j;j=0;while(1){if(!d)s=k;else{g=(c[(c[b>>2]|0)+((c[p>>2]|0)+j<<2)>>2]|0)+(c[o>>2]|0)|0;f=(c[(c[h>>2]|0)+((c[n>>2]|0)+j<<2)>>2]|0)+(c[m>>2]|0)|0;e=d;while(1){t=a[f>>0]|0;if((t&255)<=15)a[g>>0]=t;e=e+-1|0;if(!e)break;else{g=g+1|0;f=f+1|0}}s=c[r>>2]|0}f=j+1|0;if((f|0)>=(s|0))break;d=c[q>>2]|0;k=s;j=f}i=l;return}function ui(b,e,f,g,h,j,k,l,m){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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;n=i;i=i+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]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;if(!((b|0)!=0&(e|0)!=0)){i=n;return}nk(b,e,o,p,q,r,s,t);l=c[s>>2]|0;if(!((c[t>>2]|0)>0&(l|0)>0)){i=n;return}k=b+16|0;b=e+16|0;e=l;l=0;while(1){if(e|0){j=(c[(c[b>>2]|0)+((c[r>>2]|0)+l<<2)>>2]|0)+(c[q>>2]|0)|0;h=(c[(c[k>>2]|0)+((c[p>>2]|0)+l<<2)>>2]|0)+(c[o>>2]|0)|0;g=e;while(1){f=c[m+(((d[h>>0]|0)&15)<<2)>>2]|0;if(!(f&240))a[j>>0]=f;g=g+-1|0;if(!g)break;else{j=j+1|0;h=h+1|0}}}h=l+1|0;if((h|0)>=(c[t>>2]|0))break;e=c[s>>2]|0;l=h}i=n;return}function vi(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,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if((d|0)<0)return;f=1-d|0;g=d;d=0;a:while(1){h=g+b|0;i=g+c|0;j=b-g|0;k=c-g|0;l=f;m=d;while(1){n=m+c|0;mk(a,h,n,e);o=m+b|0;mk(a,o,i,e);mk(a,j,n,e);n=b-m|0;mk(a,n,i,e);p=c-m|0;mk(a,j,p,e);mk(a,n,k,e);mk(a,h,p,e);mk(a,o,k,e);o=m+1|0;if((l|0)>=0){q=o;r=l;s=m;break}if((g|0)>(m|0)){l=(o<<1|1)+l|0;m=o}else{t=7;break a}}m=g+-1|0;if((s|0)<(m|0)){f=(q-m<<1|1)+r|0;g=m;d=q}else{t=7;break}}if((t|0)==7)return}function wi(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,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((d|0)<0)return;f=1-d|0;g=d;d=0;a:while(1){h=b-g|0;i=g+b|0;j=f;k=d;while(1){ok(a,h,i,k+c|0,e);ok(a,h,i,c-k|0,e);if((j|0)>-1){l=j;m=k;break}n=k+1|0;if((g|0)>(k|0)){j=(n<<1|1)+j|0;k=n}else{o=7;break a}}k=b-m|0;j=m+b|0;ok(a,k,j,g+c|0,e);ok(a,k,j,c-g|0,e);j=m+1|0;k=g+-1|0;if((m|0)<(k|0)){f=(j-k<<1|1)+l|0;g=k;d=j}else{o=7;break}}if((o|0)==7)return}function xi(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;a=(b|0)!=0;if(!e){if(!a){f=0;return f|0}g=b+-4|0;h=c[g>>2]|0;Dm(g);c[224879]=(c[224879]|0)-h;f=0;return f|0}h=c[224879]|0;g=c[233381]|0;if((h-g|0)>1048576){c[12908]=1;$f(c[34338]|0);i=c[233381]|0;j=c[224879]|0}else{i=g;j=h}if((j-i|0)>67108864){c[12909]=1;f=0;return f|0}if(a){i=b+-4|0;h=c[i>>2]|0;c[224879]=j-h;j=Cm(i,e+4|0)|0;k=(h|0)==0?0:e;l=j}else{k=0;l=Cm(0,e+4|0)|0}j=(b|0)==0;b=(d|0)!=2&(j&d>>>0<7);h=(d|0)==0&b&(c[233379]|0)!=0?0:j&(d+-7|0)>>>0<13?32:a?k:b?e:0;c[224879]=h+(c[224879]|0);c[l>>2]=h;f=l+4|0;return f|0}function yi(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;if(e>>>0>32767){kc(39455);return}g=f&255;h=g>>>0>127?f|-256:g;i=(b|0)==0;if(!i)a[b+99224+e>>0]=f;if((e|0)<4096){b=e<<1&126;j=e>>6;k=d+4|0;a[(c[(c[(c[k>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+b>>0]=f&15;a[(c[(c[(c[k>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+(b|1)>>0]=f>>>4&15;return}if((e|0)<8192){b=e<<1&126;j=e>>6;k=d+4|0;a[(c[(c[(c[k>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+b>>0]=f&15;a[(c[(c[(c[k>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+(b|1)>>0]=f>>>4&15;a[(c[(c[(c[d+8>>2]|0)+16>>2]|0)+(e>>7<<2)>>2]|0)+(e&127)>>0]=f;return}if((e|0)<12288){b=e+-8192|0;a[(c[(c[(c[d+8>>2]|0)+16>>2]|0)+(b>>7<<2)>>2]|0)+(b&127)>>0]=f;return}if((e|0)<12544){c[d+43292+(e+-12288<<2)>>2]=g;return}if((e|0)<12800){b=e+-12544|0;j=b&3;k=(b|0)/4|0;c[d+41996+(k<<4)+(j<<2)>>2]=f&127;b=1<<j;j=d+43020+(k<<2)|0;k=c[j>>2]&~b;c[j>>2]=k;if(!(f&128))return;c[j>>2]=k|b;return}if((e|0)<17152){b=e+-12800|0;k=(b|0)/68|0;j=(b|0)%68|0;if((j|0)<64){b=(j|0)/2|0;if(!(j&1)){c[d+12+(k*656|0)+16+(b*20|0)>>2]=f&63;l=d+12+(k*656|0)+16+(b*20|0)+4|0;c[l>>2]=c[l>>2]&4|f>>>6&3;return}else{l=d+12+(k*656|0)+16+(b*20|0)+4|0;c[l>>2]=c[l>>2]&3|f<<2&4;c[d+12+(k*656|0)+16+(b*20|0)+8>>2]=f>>>1&7;c[d+12+(k*656|0)+16+(b*20|0)+12>>2]=f>>>4&7;c[d+12+(k*656|0)+16+(b*20|0)+16>>2]=f&128;return}}switch(j|0){case 64:{c[d+12+(k*656|0)>>2]=g;return}case 65:{c[d+12+(k*656|0)+4>>2]=g;return}case 66:{c[d+12+(k*656|0)+8>>2]=g;return}case 67:{c[d+12+(k*656|0)+12>>2]=g;return}default:return}}if(i|(e|0)<24064)return;if((e|0)<24320){i=e+-24064|0;k=i<<3&24;d=895708+(((i|0)/4|0)<<2)|0;c[d>>2]=c[d>>2]&~(255<<k)|g<<k;c[233384]=1;return}if((e|0)>=24448)if((e|0)<24576){Rj(e+-24448|0,g);return}else{k=e+-24576|0;d=k<<1&126;i=k>>6;a[(c[(c[(c[200386]|0)+16>>2]|0)+(i<<2)>>2]|0)+d>>0]=f&15;a[(c[(c[(c[200386]|0)+16>>2]|0)+(i<<2)>>2]|0)+(d|1)>>0]=f>>>4&15;return}d=e+-24320|0;if((d|0)<16){c[899336+(d<<2)>>2]=g;return}if((d|0)<32){c[899400+(e+-24336<<2)>>2]=g;return}if((d|0)<36){c[899464+(e+-24352<<2)>>2]=g;ik(c[200386]|0,c[224866]|0,c[224867]|0,c[224868]|0,c[224869]|0);return}do switch(e|0){case 24357:{c[224870]=g;return}case 24358:{c[224871]=g;return}case 24359:{c[224872]=g;return}case 24360:{c[224875]=c[224875]&-256|h;return}case 24361:{c[224875]=c[224875]&255|h<<8;return}case 24362:{c[224876]=c[224876]&-256|h;return}case 24363:{c[224876]=c[224876]&255|h<<8;return}case 24364:{c[224877]=g;return}case 24384:{c[225084]=f&15;return}case 24385:{c[225085]=f&15;return}case 24386:{c[225086]=f&15;return}case 24387:{c[225087]=f&15;return}default:return}while(0)}function zi(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;if(e>>>0>32767){f=0;return f|0}g=(a|0)==0;if(g)h=0;else h=d[a+99224+e>>0]|0;a:do if((e|0)>=8192){if((e|0)<12288){a=e+-8192|0;i=d[(c[(c[(c[b+8>>2]|0)+16>>2]|0)+(a>>7<<2)>>2]|0)+(a&127)>>0]|0;break}if((e|0)<12544){i=c[b+43292+(e+-12288<<2)>>2]|0;break}if((e|0)<12800){a=e+-12544|0;j=a&3;k=(a|0)/4|0;a=c[b+41996+(k<<4)+(j<<2)>>2]&127;i=(c[b+43020+(k<<2)>>2]&1<<j|0)==0?a:a|128;break}if((e|0)<17152){a=e+-12800|0;j=(a|0)/68|0;k=(a|0)%68|0;if((k|0)<64){a=(k|0)/2|0;l=c[b+12+(j*656|0)+16+(a*20|0)+4>>2]|0;if(!(k&1)){i=l<<6&192|c[b+12+(j*656|0)+16+(a*20|0)>>2];break}else{i=c[b+12+(j*656|0)+16+(a*20|0)+8>>2]<<1&14|l>>>2&1|c[b+12+(j*656|0)+16+(a*20|0)+12>>2]<<4&112|c[b+12+(j*656|0)+16+(a*20|0)+16>>2]&128;break}}switch(k|0){case 64:{i=c[b+12+(j*656|0)>>2]|0;break a;break}case 65:{i=c[b+12+(j*656|0)+4>>2]|0;break a;break}case 66:{i=c[b+12+(j*656|0)+8>>2]|0;break a;break}case 67:{i=c[b+12+(j*656|0)+12>>2]|0;break a;break}default:{i=h;break a}}}if(g){f=0;return f|0}if((e|0)<24064)i=h;else{if((e|0)<24320){j=e+-24064|0;i=(c[895708+(((j|0)/4|0)<<2)>>2]|0)>>>(j<<3&24)&255;break}if((e|0)>=24448)if((e|0)<24576){i=Sj(e+-24448|0)|0;break}else{j=e+-24576|0;k=j<<1&126;a=c[(c[(c[200386]|0)+16>>2]|0)+(j>>6<<2)>>2]|0;i=(d[a+(k|1)>>0]|0)<<4&240|(d[a+k>>0]|0)&15;break}k=e+-24320|0;b:do if((k|0)<16)m=c[899336+(k<<2)>>2]|0;else{if((k|0)<32){m=c[899400+(e+-24336<<2)>>2]|0;break}if((k|0)<36){m=c[899464+(e+-24352<<2)>>2]|0;break}switch(e|0){case 24357:{m=c[224870]|0;break b;break}case 24358:{m=c[224871]|0;break b;break}case 24359:{m=c[224872]|0;break b;break}case 24360:{m=c[224875]&255;break b;break}case 24361:{m=c[224875]>>8;break b;break}case 24362:{m=c[224876]&255;break b;break}case 24363:{m=c[224876]>>8;break b;break}case 24364:{m=c[224877]|0;break b;break}default:{m=h;break b}}}while(0);i=m&255}}else{k=e<<1&126;a=c[(c[(c[b+4>>2]|0)+16>>2]|0)+(e>>6<<2)>>2]|0;i=((d[a+(k|1)>>0]|0)<<4)+(d[a+k>>0]|0)|0}while(0);f=i&255;return f|0}function Ai(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;if((e|0)>32767)return;f=(e|0)>0;if((c|0)<(d|0)){if(f)g=0;else return;do{yi(a,b,g+c|0,zi(a,b,g+d|0)|0);g=g+1|0}while((g|0)!=(e|0));return}else{if(f)h=e;else return;do{e=h;h=h+-1|0;yi(a,b,h+c|0,zi(a,b,h+d|0)|0)}while((e|0)>1);return}}function Bi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if((e+-1|0)>>>0<32767)f=0;else return;do{yi(a,b,f+c|0,d);f=f+1|0}while((f|0)<(e|0));return}function Ci(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{yi(b,d,h+e|0,zi(0,c[33842]|0,h+f|0)|0);h=h+1|0}while((h|0)!=(g|0))}if(!(a[898020]|0))return;a[898020]=0;c[224768]=30;return}function Di(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+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){In(b-(c[12019]|0)|0,e,f,g);if((a|0)>=4)switch(a|0){case 4:{h=c[g>>2]&9|0?255:0;break a;break}case 5:{h=c[g>>2]&6|0?255:0;break a;break}case 6:{h=c[g>>2]&64|0?255:0;break a;break}default:{h=0;break a}}j=c[e>>2]|0;k=_((j|0)/2|0,j)|0;l=c[f>>2]|0;if(((_((l|0)/2|0,l)|0)+k|0)>134217728)switch(a|0){case 0:{if((j+32639|0)>>>0>32766){h=(j|0)>127?0:255;break a}h=(j|0)/-128|0;break a;break}case 1:{if((j+127|0)>>>0>32766){h=(j|0)<-127?0:255;break a}h=(j|0)/128|0;break a;break}case 2:{if((l+32639|0)>>>0>32766){h=(l|0)>127?0:255;break a}h=(l|0)/-128|0;break a;break}case 3:{if((l+127|0)>>>0>32766){h=(l|0)<-127?0:255;break a}h=(l|0)/128|0;break a;break}default:{h=0;break a}}else h=0}else h=0;while(0);i=d;return h|0}function Ei(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;a:do switch(b|0){case 0:{b:do switch(a|0){case 0:{d=c[12024]|0;if(!d){e=Ik(276)|0;break b}else{e=Ik(d)|0;break b}break}case 1:{d=c[12025]|0;if(!d){e=Ik(275)|0;break b}else{e=Ik(d)|0;break b}break}case 2:{d=c[12026]|0;if(!d){e=Ik(273)|0;break b}else{e=Ik(d)|0;break b}break}case 3:{d=c[12027]|0;if(!d){e=Ik(274)|0;break b}else{e=Ik(d)|0;break b}break}case 4:{d=c[12028]|0;if(!d)f=Ik(122)|0;else f=Ik(d)|0;d=c[12028]|0;if(!d)g=Ik(99)|0;else g=Ik(d)|0;d=c[12028]|0;if(!d)h=Ik(110)|0;else h=Ik(d)|0;d=c[12028]|0;if(!d)i=Ik(269)|0;else i=Ik(d)|0;j=i|(g|f|h);break a;break}case 5:{d=c[12029]|0;if(!d)k=Ik(120)|0;else k=Ik(d)|0;d=c[12029]|0;if(!d)l=Ik(118)|0;else l=Ik(d)|0;d=l|k;if(!(Ik(-5)|0)){m=c[12029]|0;if(!m)n=Ik(109)|0;else n=Ik(m)|0;o=n|d}else o=d;d=c[12029]|0;if(!d)p=Ik(56)|0;else p=Ik(d)|0;j=p|o;break a;break}default:{if((a|0)!=6){j=0;break a}d=c[12036]|0;if(!d)q=Ik(112)|0;else q=Ik(d)|0;d=c[12036]|0;if(!d)r=Ik(13)|0;else r=Ik(d)|0;j=r|q;break a}}while(0);j=e;break}case 1:{switch(a|0){case 0:{d=c[12030]|0;if(!d){j=Ik(115)|0;break a}else{j=Ik(d)|0;break a}break}case 1:{d=c[12031]|0;if(!d){j=Ik(102)|0;break a}else{j=Ik(d)|0;break a}break}case 2:{d=c[12032]|0;if(!d){j=Ik(101)|0;break a}else{j=Ik(d)|0;break a}break}case 3:{d=c[12033]|0;if(!d){j=Ik(100)|0;break a}else{j=Ik(d)|0;break a}break}case 4:{d=c[12034]|0;if(!d)s=Ik(304)|0;else s=Ik(d)|0;d=c[12034]|0;if(!d)t=Ik(9)|0;else t=Ik(d)|0;d=c[12034]|0;if(!d)u=Ik(119)|0;else u=Ik(d)|0;j=s|t|u;break a;break}case 5:{d=c[12035]|0;if(!d)v=Ik(97)|0;else v=Ik(d)|0;d=c[12035]|0;if(!d)w=Ik(113)|0;else w=Ik(d)|0;j=v|w;break a;break}default:{j=0;break a}}break}default:j=0}while(0);w=c[900288+(b<<2)>>2]|0;if((w|0)==-1)return j|0;else return (w&1<<a|0)!=0|j|0;return 0}function Fi(){var a=0;a=0;do{c[900032+(a<<5)>>2]=1;c[899520+(a<<5)>>2]=0;c[900032+(a<<5)+4>>2]=1;c[899520+(a<<5)+4>>2]=0;c[900032+(a<<5)+8>>2]=1;c[899520+(a<<5)+8>>2]=0;c[900032+(a<<5)+12>>2]=1;c[899520+(a<<5)+12>>2]=0;c[900032+(a<<5)+16>>2]=1;c[899520+(a<<5)+16>>2]=0;c[900032+(a<<5)+20>>2]=1;c[899520+(a<<5)+20>>2]=0;c[900032+(a<<5)+24>>2]=1;c[899520+(a<<5)+24>>2]=0;c[900032+(a<<5)+28>>2]=1;c[899520+(a<<5)+28>>2]=0;a=a+1|0}while((a|0)!=8);c[225080]=(c[233382]|0)==60?30:15;return}function Gi(){var a=0,b=0;a=0;do{b=899520+(a<<5)|0;c[899776+(a<<5)>>2]=c[b>>2];c[b>>2]=0;b=899520+(a<<5)+4|0;c[899776+(a<<5)+4>>2]=c[b>>2];c[b>>2]=0;b=899520+(a<<5)+8|0;c[899776+(a<<5)+8>>2]=c[b>>2];c[b>>2]=0;b=899520+(a<<5)+12|0;c[899776+(a<<5)+12>>2]=c[b>>2];c[b>>2]=0;b=899520+(a<<5)+16|0;c[899776+(a<<5)+16>>2]=c[b>>2];c[b>>2]=0;b=899520+(a<<5)+20|0;c[899776+(a<<5)+20>>2]=c[b>>2];c[b>>2]=0;b=899520+(a<<5)+24|0;c[899776+(a<<5)+24>>2]=c[b>>2];c[b>>2]=0;b=899520+(a<<5)+28|0;c[899776+(a<<5)+28>>2]=c[b>>2];c[b>>2]=0;a=a+1|0}while((a|0)!=8);return}function Hi(){var a=0,b=0,d=0;a=0;do{b=0;do{if((Ei(b,a)|0)==0?(Di(b,a)|0)<=128:0)c[900032+(a<<5)+(b<<2)>>2]=0;else d=5;if(((d|0)==5?(d=0,(c[900032+(a<<5)+(b<<2)>>2]|0)==0):0)?(c[899520+(a<<5)+(b<<2)>>2]=1,(c[899776+(a<<5)+(b<<2)>>2]|0)==0):0)c[225080]=(c[233382]|0)==60?30:15;b=b+1|0}while((b|0)!=8);a=a+1|0}while((a|0)!=8);return}function Ii(){var a=0,b=0;a=c[225080]|0;if((a|0)<=0)return;b=a+-1|0;c[225080]=b;if(b|0)return;c[225080]=(c[233382]|0)==60?8:4;return}function Ji(a,b){a=a|0;b=b|0;if((b|a)>>>0<8)return (((c[225080]|0)!=1?(c[899776+(b<<5)+(a<<2)>>2]|0)!=0:0)?0:c[899520+(b<<5)+(a<<2)>>2]|0)|0;else return 0;return 0}function Ki(a,b){a=a|0;b=b|0;var d=0,e=0;if((b|a)>>>0<8){d=c[899520+(b<<5)+(a<<2)>>2]|0;e=(Di(a,b)|0)==0;return (e|((c[225080]|0)!=1?(c[899776+(b<<5)+(a<<2)>>2]|0)!=0:0)?0:d)|0}else return 0;return 0}function Li(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+48|0;f=e+32|0;g=e+8|0;h=e;j=Bm(131072)|0;k=Bm(131072)|0;l=Bm(131072)|0;m=Bm(131072)|0;a[d>>0]=0;if(!(a[b>>0]|0)){Dm(j);Dm(k);Dm(l);Dm(m);i=e;return}n=k+1|0;o=l;p=b;b=1;q=1;while(1){a[j>>0]=0;a[k>>0]=0;a[l>>0]=0;rq(m|0,0,131072)|0;r=p;s=0;t=q;u=0;a:while(1){v=r;w=s;x=t;while(1){if(!x)y=rg(v)|0;else y=sg(v)|0;z=tg()|0;if(!((z|0)<-998|(z|0)==-995)){A=v;B=y;C=z;D=w;break}if(v>>>0<y>>>0){E=w;F=v;while(1){G=((a[F>>0]|0)==10&1)+E|0;F=F+1|0;if((F|0)==(y|0)){H=G;break}else E=G}}else H=w;if((z&-2|0)!=-1e3&(y|0)!=0){v=y;w=H;x=0}else{I=y;J=H;break a}}x=B;w=A;v=x-w|0;xq(l+u|0,A|0,v|0)|0;E=u;u=v+u|0;a[l+u>>0]=0;if((C|0)==-996&(v|0)>0){v=E+x-w|0;w=E+1|0;rq(m+E|0,1,((v|0)>(w|0)?v:w)-E|0)|0}if(!((C&-2|0)!=-1e3&(B|0)!=0)){I=B;J=D;break}else{r=B;s=D;t=0}}if((a[l>>0]|0)==63){Jo(k,l)|0;c[h>>2]=n;Zp(l,39473,h)|0;K=m;L=l}else{K=m;L=l}while(1){t=Po(L,39483)|0;if(!t)M=0;else{s=t-L|0;r=s+2|0;if((a[K+(s+1)>>0]|a[K+s>>0])<<24>>24){K=K+r|0;L=L+r|0;continue}a[t>>0]=126;M=1}t=m;r=l;while(1){s=Po(r,39486)|0;if(!s){N=m;O=l;P=24;break}u=s-r|0;E=u+2|0;if(!((a[t+(u+1)>>0]|a[t+u>>0])<<24>>24)){Q=s;P=32;break}else{t=t+E|0;r=r+E|0}}b:do if((P|0)==24){while(1){P=0;r=Po(O,39489)|0;if(!r){R=m;S=l;break}t=r-O|0;E=t+2|0;if(!((a[N+(t+1)>>0]|a[N+t>>0])<<24>>24)){Q=r;P=32;break b}else{N=N+E|0;O=O+E|0;P=24}}while(1){z=Po(S,39492)|0;if(!z){T=m;U=l;break}E=z-S|0;r=E+2|0;if(!((a[R+(E+1)>>0]|a[R+E>>0])<<24>>24)){Q=z;P=32;break b}else{R=R+r|0;S=S+r|0}}while(1){r=Po(U,39495)|0;if(!r){V=m;W=l;break}z=r-U|0;E=z+2|0;if(!((a[T+(z+1)>>0]|a[T+z>>0])<<24>>24)){Q=r;P=32;break b}else{T=T+E|0;U=U+E|0}}while(1){E=Po(W,39498)|0;if(!E)break b;r=E-W|0;z=r+2|0;if(!((a[V+(r+1)>>0]|a[V+r>>0])<<24>>24)){Q=E;P=32;break}else{V=V+z|0;W=W+z|0}}}while(0);if((P|0)==32?(P=0,(Q|0)!=0&Q>>>0>l>>>0):0){z=Q;while(1){E=z+-1|0;if((a[E>>0]|0)==32&E>>>0>l>>>0)z=E;else{X=z;Y=E;break}}z=Y;c:while(1){if(z>>>0<=l>>>0){Z=z;break}E=z+-1|0;switch(a[E>>0]|0){case 9:case 41:case 32:{Z=z;break c;break}default:z=E}}Jo(j,Z)|0;a[j+(Y+1-Z)>>0]=0;z=a[Q>>0]|0;a[X>>0]=0;E=Q+2|0;sg(l)|0;r=rg(E)|0;t=tg()|0;d:do if((t|1|0)==-999)_=r;else{s=t;u=r;w=E;v=0;x=0;e:while(1){F=s;G=u;$=w;aa=x;f:while(1){if((aa|0)==1){ba=F;ca=G;P=40;break}switch(F|0){case 40:case 91:{da=G;ea=1;fa=1;break f;break}default:{}}g:do if((F|4|0)!=47){switch(F|0){case 41:{ga=$;P=50;break e;break}case 35:case 37:case 42:case 45:case 46:case 58:case 94:{ha=0;break g;break}default:{}}if((aa|0)==2){ia=$;break e}else ha=2}else ha=0;while(0);ja=rg(G)|0;F=tg()|0;if((F|1|0)==-999){_=ja;break d}else{ka=G;G=ja;aa=ha;$=ka}}if((P|0)==40){P=0;switch(ba|0){case 40:case 91:{la=v+1|0;break}default:la=v}switch(ba|0){case 41:case 93:{ma=la+-1|0;break}default:ma=la}da=ca;ea=ma;fa=(ma|0)==0?2:1}$=rg(da)|0;s=tg()|0;if((s|1|0)==-999){_=$;break d}else{u=$;w=da;v=ea;x=fa}}if((P|0)==50){P=0;ia=ga+1|0}a[ia>>0]=0;_=ia+1|0}while(0);c[g>>2]=l;c[g+4>>2]=j;c[g+8>>2]=z<<24>>24;c[g+12>>2]=E;c[g+16>>2]=_;Zp(k,39501,g)|0;Jo(l,k)|0;K=m;L=l;continue}if(!M){na=m;oa=l;break}else{K=m;L=l}}while(1){r=Po(oa,39520)|0;if(!r){pa=m;qa=l;P=57;break}t=r-oa|0;x=t+3|0;if(!((a[na+(t+2)>>0]|a[na+(t+1)>>0]|a[na+t>>0])<<24>>24)){ra=r;P=59;break}else{na=na+x|0;oa=oa+x|0}}h:do if((P|0)==57)while(1){P=0;x=Po(qa,39524)|0;if(!x)break h;r=x-qa|0;t=r+3|0;if(!((a[pa+(r+2)>>0]|a[pa+(r+1)>>0]|a[pa+r>>0])<<24>>24)){ra=x;P=59;break}else{pa=pa+t|0;qa=qa+t|0;P=57}}while(0);i:do if((P|0)==59){P=0;E=m;z=l;while(1){t=Po(z,39528)|0;if(!t)break;x=t-z|0;t=x+4|0;if(!((a[E+(x+3)>>0]|(a[E+(x+2)>>0]|a[E+(x+1)>>0])|a[E+x>>0])<<24>>24))break i;else{E=E+t|0;z=z+t|0}}if((ra|0)!=(l|0))switch(a[ra+-1>>0]|0){case 9:case 32:break;default:break i}z=ra+2|0;j:while(1){switch(a[z>>0]|0){case 40:{sa=z;break j;break}case 9:case 32:break;default:break i}z=z+1|0}z=sa+1|0;E=a[z>>0]|0;if(E<<24>>24){t=E;E=z;z=1;while(1){if(!((z|0)>0&t<<24>>24!=10)){ta=t;ua=E;va=z;break}x=(t<<24>>24==40&1)+z+((t<<24>>24==41)<<31>>31)|0;r=E+1|0;t=a[r>>0]|0;if(!(t<<24>>24)){ta=0;ua=r;va=x;break}else{E=r;z=x}}if(!va){z=k+(ua-o)|0;E=ta;t=ua;k:while(1){switch(E<<24>>24){case 10:case 0:{break i;break}default:{}}if((E+-97&255)<26){wa=t;break}switch(E<<24>>24){case 95:{wa=t;break k;break}case 9:case 32:break;default:break i}x=t+1|0;E=a[x>>0]|0;t=x}rg(wa)|0;if((tg()|0)!=-974?(tg()|0)!=-973:0){Jo(k,l)|0;a[z>>0]=0;c[f>>2]=k;c[f+4>>2]=ua;Zp(j,39533,f)|0;Jo(l,j)|0}}}}while(0);Io(d,l)|0;if(J|0){t=J;do{t=t+-1|0;E=d+(Do(d)|0)|0;a[E>>0]=10;a[E+1>>0]=0}while((t|0)!=0)}t=(a[I>>0]|0)==0;if((b|0)<65536&(t^1)){p=I;b=(t&1^1)+b|0;q=0}else break}Dm(j);Dm(k);Dm(l);Dm(m);i=e;return}function Mi(a,b){a=a|0;b=b|0;var c=0;c=Dq(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=vq(c|0,C|0,16)|0;return a|0}function Ni(a,b){a=a|0;b=b|0;var c=0,d=0;if(!b){c=(a>>31&2)+2147483647|0;return c|0}else{d=sq(a|0,((a|0)<0)<<31>>31|0,16)|0;a=Bq(d|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;c=a;return c|0}return 0}function Oi(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;if((a|0)<0)e=d-((0-a|0)%(d|0)|0)|0;else e=a;c=(e|0)%(d|0)|0;return c|0}function Pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;og(8);c=b>>16;b=(c|0)<16?c:16;if(b)if((b|0)>=0)if((b|0)>1){c=1;d=a;while(1){e=zl(d,a)|0;c=c+1|0;if((c|0)>=(b|0)){f=e;break}else d=e}}else f=a;else f=0;else f=65536;return f|0}function Qi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a){b=0;return b|0}if((a|0)>2147024895){b=11862016;return b|0}if((a|0)<65536){c=Bq(0,1,a|0,((a|0)<0)<<31>>31|0)|0;d=c;e=1}else{d=a;e=0}a=0;while(1){c=((a|0)<0)<<31>>31;f=Dq(a|0,c|0,a|0,c|0)|0;c=vq(f|0,C|0,16)|0;if((c|0)>(d|0)){g=a;break}else a=a+65536|0}a=g+-65536|0;g=((a|0)<0)<<31>>31;c=Dq(a|0,g|0,a|0,g|0)|0;g=vq(c|0,C|0,16)|0;c=d-g|0;if(!a)h=(c>>31&2)+2147483647|0;else{g=a<<1;d=sq(c|0,((c|0)<0)<<31>>31|0,16)|0;c=Bq(d|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;h=c}c=h+a|0;a=((h|0)<0)<<31>>31;g=Dq(h|0,a|0,h|0,a|0)|0;a=vq(g|0,C|0,16)|0;if(!c)i=(a>>31&2)+2147483647|0;else{g=c<<1;h=sq(a|0,((a|0)<0)<<31>>31|0,16)|0;a=Bq(h|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;i=a}a=c-i|0;if(!e){b=a;return b|0}if((c|0)==(i|0)){b=2147483647;return b|0}i=Bq(0,1,a|0,((a|0)<0)<<31>>31|0)|0;b=i;return b|0}function Ri(a,b){a=a|0;b=b|0;return Hl(a,b)|0}function Si(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=(a|0)==0?-559038737:a;c[94]=b;a=b^-1095947846;c[93]=a;d=a;a=b;b=0;while(1){e=(d<<16|d>>>16)+a|0;f=e+a|0;b=b+1|0;if((b|0)==32){g=e;h=f;break}else{d=e;a=f}}c[93]=g;c[94]=h;return}function Ti(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a){b=0;return b|0}d=c[93]|0;e=c[94]|0;f=(d<<16|d>>>16)+e|0;c[93]=f;c[94]=f+e;b=(f>>>0)%(a>>>0)|0;return b|0}function Ui(a,b){a=a|0;b=b|0;var d=0;d=Bm(2064)|0;Em(d,0,2064);c[d>>2]=kk(a,b,8)|0;c[d+12>>2]=kk(a,b,8)|0;c[d+4>>2]=kk(a,b,8)|0;c[d+8>>2]=kk(a,b,8)|0;return d|0}function Vi(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;rq(151788,0,256)|0;g=c[95]|0;h=1;do{c[151788+(a[g+h>>0]<<2)>>2]=h;h=h+1|0}while((h|0)!=60);h=Bm((Do(b)|0)+1024|0)|0;Jo(h,b)|0;if(f>>>0<65463&(Po(b,39610)|0)!=0){b=Do(h)|0;switch(a[h+(b+-1)>>0]|0){case 10:case 32:break;default:{g=h+b|0;a[g>>0]=10;a[g+1>>0]=0}}g=h+(Do(h)|0)|0;b=39620;i=g+74|0;do{a[g>>0]=a[b>>0]|0;g=g+1|0;b=b+1|0}while((g|0)<(i|0));j=f+74|0}else j=f;a[e>>0]=58;a[e+1>>0]=99;a[e+2>>0]=58;a[e+3>>0]=0;a[e+4>>0]=(j|0)/256|0;a[e+5>>0]=j;a[e+6>>0]=0;a[e+7>>0]=0;f=e+8|0;c[38203]=0;c[38204]=0;rq(152820,0,1024)|0;if((j|0)>0){b=f;g=0;while(1){i=j-g|0;k=(i|0)>17?17:i;i=(g|0)>3120?3120:g;if((i|0)>0&(k|0)>0){l=-1e5;m=0;n=g-i|0;while(1){a:do if((g|0)>(n|0)){i=g-n|0;o=0;p=n;while(1){if((a[h+p>>0]|0)!=(a[h+(p+i)>>0]|0)){q=o;break a}p=p+1|0;r=p-n|0;if(!((p|0)<(g|0)&(r|0)<(k|0))){q=r;break}else o=r}}else q=0;while(0);o=(q|0)>(m|0);p=o?q:m;i=o?n:l;n=n+1|0;if((n|0)>=(g|0)){s=p;t=i;break}else{l=i;m=p}}m=g-t|0;if((s|0)>2){a[b>>0]=((m|0)/16|0)+60;a[b+1>>0]=(s<<4)+224+((m|0)%16|0);m=b+2|0;l=s+g|0;c[38203]=(c[38203]|0)+1;if((s|0)>17){c[38461]=(c[38461]|0)+1;u=m;v=l}else{u=m;v=l}}else w=19}else w=19;if((w|0)==19){w=0;l=h+g|0;a[b>>0]=c[151788+(d[l>>0]<<2)>>2];m=b+1|0;n=a[l>>0]|0;if(!(c[151788+((n&255)<<2)>>2]|0)){a[m>>0]=n;x=b+2|0}else x=m;m=g+1|0;c[38204]=(c[38204]|0)+1;n=152820+(d[h+m>>0]<<2)|0;c[n>>2]=(c[n>>2]|0)+1;u=x;v=m}if((j|0)>(v|0)){b=u;g=v}else{y=u;break}}}else y=f;f=y-e|0;y=Do(h)|0;if(f>>>0<y>>>0){Dm(h);z=f;return z|0}else{xq(e|0,h|0,y|0)|0;z=Do(h)|0;return z|0}return 0}function Wi(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;g=(d[b+4>>0]|0)<<8|(d[b+5>>0]|0);Em(e,0,f);if((g|0)>(f|0)){h=1;return h|0}f=e+g|0;if(!g)i=e;else{g=b+8|0;b=e;while(1){j=a[g>>0]|0;k=j&255;l=g+1|0;if((j&255)<60){m=j<<24>>24==0;a[b>>0]=a[(m?l:(c[95]|0)+k|0)>>0]|0;n=m?g+2|0:l;o=b+1|0}else{m=a[l>>0]|0;l=((m&255)>>>4&255)+2|0;xq(b|0,b+(0-(m&15|(k<<4)+-960))|0,l|0)|0;n=g+2|0;o=b+l|0}if(o>>>0<f>>>0){g=n;b=o}else{i=o;break}}}o=Po(e,39694)|0;if((o|0)!=0?(b=Do(e)|0,(e-o+b|0)==56):0){o=e+b+-56|0;a[o>>0]=0;p=o}else p=i;i=Po(e,39620)|0;if(i){o=Do(e)|0;b=e;if((b-i+o|0)==73){i=e+o+-73|0;a[i>>0]=0;q=b;r=i}else{q=b;r=p}}else{q=e;r=p}h=r-q|0;return h|0}function Xi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=1;while(1){f=1<<e;if((e|0)<9&(f|0)<(b|0))e=e+1|0;else{g=f;break}}if((g|0)!=(b|0)){h=0;return h|0}g=jq(16)|0;if(!g){h=0;return h|0}e=lq(b,3)|0;c[g+12>>2]=e;if(!e){kq(g);h=0;return h|0}c[g>>2]=b;f=1;while(1)if((f|0)<9&(1<<f|0)<(b|0))f=f+1|0;else{i=f;break}c[g+4>>2]=i;a[g+8>>0]=0;if(!d){h=g;return h|0}xq(e|0,d|0,b*3|0)|0;h=g;return h|0}function Yi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;g=e;if(b){c[g>>2]=384;h=Yo(a,193,g)|0}else{c[f>>2]=384;h=Yo(a,577,f)|0}if((h|0)==-1)if(!d)j=0;else{c[d>>2]=1;j=0}else{f=Zi(h,d)|0;if(!f){bq(h)|0;j=0}else j=f}i=e;return j|0}function Zi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=jq(76)|0;if(!d){e=0;return e|0}f=d;g=f+76|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=jq(24908)|0;if(!f){kq(d);if(!b){e=0;return e|0}c[b>>2]=7;e=0;return e|0}g=jq(32768)|0;if(g|0){rq(g|0,-1,32768)|0;c[f+24900>>2]=g;g=Ip(a,45334)|0;c[d+72>>2]=f;c[f+4>>2]=a;c[f+56>>2]=g;c[f>>2]=1;c[f+64>>2]=0;c[d+68>>2]=0;c[d+64>>2]=0;e=d;return e|0}c[f+24900>>2]=0;kq(d);kq(f);if(!b){e=0;return e|0}c[b>>2]=7;e=0;return e|0}function _i(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 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;j=i;i=i+16|0;k=j+4|0;l=j;m=b+72|0;n=c[m>>2]|0;o=c[n>>2]|0;if(o&2|0){c[b+64>>2]=3;p=0;i=j;return p|0}if(!(o&1)){c[b+64>>2]=10;p=0;i=j;return p|0}o=c[b+24>>2]|0;if((o|0)>0){q=b+52|0;r=c[q>>2]|0;s=n+24904|0;t=0;do{a:do if((c[r+(t*36|0)+28>>2]|0)>0){u=c[q>>2]|0;v=c[u+(t*36|0)+28>>2]|0;w=r;x=0;while(1){switch(c[(c[w+(t*36|0)+32>>2]|0)+(x*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[s>>0]=1;break}default:{}}y=x+1|0;if((y|0)<(v|0)){w=u;x=y}else break a}}while(0);t=t+1|0}while((t|0)!=(o|0))}o=c[b+56>>2]|0;b:do if((o|0)>0){t=c[b+60>>2]|0;s=n+24904|0;r=0;while(1){switch(c[t+(r*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[s>>0]=1;break}default:{}}r=r+1|0;if((r|0)==(o|0)){z=s;break b}}}else z=n+24904|0;while(0);o=(a[z>>0]|0)==0?39751:39758;z=c[n+64>>2]|0;if(!z)A=Qp(o,1,6,c[n+56>>2]|0)|0;else A=yb[z&7](b,o,6)|0;if((A|0)!=6){c[b+64>>2]=2;p=0;i=j;return p|0}c[b>>2]=d;c[b+4>>2]=e;c[b+8>>2]=f;c[b+12>>2]=g;A=(h|0)!=0;c:do if(A){o=c[h>>2]|0;z=c[h+12>>2]|0;s=1;while(1){r=1<<s;if((s|0)<9&(r|0)<(o|0))s=s+1|0;else{B=r;break}}do if((B|0)==(o|0)?(s=jq(16)|0,s|0):0){r=lq(o,3)|0;c[s+12>>2]=r;if(!r){kq(s);break}c[s>>2]=o;t=1;while(1)if((t|0)<9&(1<<t|0)<(o|0))t=t+1|0;else{C=t;break}c[s+4>>2]=C;a[s+8>>0]=0;if(z|0)xq(r|0,z|0,o*3|0)|0;c[b+20>>2]=s;break c}while(0);c[b+20>>2]=0;c[b+64>>2]=7;p=0;i=j;return p|0}else c[b+20>>2]=0;while(0);a[k>>0]=d;C=k+1|0;a[C>>0]=d>>>8;d=c[m>>2]|0;B=c[d+64>>2]|0;if(!B)Qp(k,1,2,c[d+56>>2]|0)|0;else yb[B&7](b,k,2)|0;a[k>>0]=e;a[C>>0]=e>>>8;e=c[m>>2]|0;C=c[e+64>>2]|0;if(!C)Qp(k,1,2,c[e+56>>2]|0)|0;else yb[C&7](b,k,2)|0;k=(A?128:0)|(f<<4)+240;if(A){f=(c[h+4>>2]|0)+-1|k;a[l>>0]=f;if(a[h+8>>0]|0)a[l>>0]=f|8}else a[l>>0]=k|7;k=l+1|0;a[k>>0]=g;g=l+2|0;a[g>>0]=a[b+16>>0]|0;f=c[m>>2]|0;C=c[f+64>>2]|0;if(!C)Qp(l,1,3,c[f+56>>2]|0)|0;else yb[C&7](b,l,3)|0;d:do if(A?(c[h>>2]|0)>0:0){C=h+12|0;f=0;while(1){e=c[C>>2]|0;a[l>>0]=a[e+(f*3|0)>>0]|0;a[k>>0]=a[e+(f*3|0)+1>>0]|0;a[g>>0]=a[e+(f*3|0)+2>>0]|0;e=c[m>>2]|0;B=c[e+64>>2]|0;if(!B)D=Qp(l,1,3,c[e+56>>2]|0)|0;else D=yb[B&7](b,l,3)|0;f=f+1|0;if((D|0)!=3)break;if((f|0)>=(c[h>>2]|0))break d}c[b+64>>2]=2;p=0;i=j;return p|0}while(0);c[n>>2]=c[n>>2]|2;p=1;i=j;return p|0}function $i(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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=i;i=i+16|0;l=k+4|0;m=k;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;i=k;return q|0}if(!(p&1)){c[b+64>>2]=10;q=0;i=k;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]=h&1;p=(j|0)!=0;r=b+48|0;a:do if(p){s=c[r>>2]|0;if(s|0){kq(c[s+12>>2]|0);kq(s);c[r>>2]=0}s=c[j>>2]|0;t=c[j+12>>2]|0;u=1;while(1){v=1<<u;if((u|0)<9&(v|0)<(s|0))u=u+1|0;else{w=v;break}}do if((w|0)==(s|0)?(u=jq(16)|0,u|0):0){v=lq(s,3)|0;c[u+12>>2]=v;if(!v){kq(u);break}c[u>>2]=s;x=1;while(1)if((x|0)<9&(1<<x|0)<(s|0))x=x+1|0;else{y=x;break}c[u+4>>2]=y;a[u+8>>0]=0;if(!t){z=u;break a}xq(v|0,t|0,s*3|0)|0;z=u;break a}while(0);c[r>>2]=0;c[b+64>>2]=7;q=0;i=k;return q|0}else z=0;while(0);c[r>>2]=z;a[m>>0]=44;z=c[n>>2]|0;y=c[z+64>>2]|0;if(!y)Ap(44,c[z+56>>2]|0)|0;else yb[y&7](b,m,1)|0;a[l>>0]=d;y=l+1|0;a[y>>0]=d>>>8;d=c[n>>2]|0;z=c[d+64>>2]|0;if(!z)Qp(l,1,2,c[d+56>>2]|0)|0;else yb[z&7](b,l,2)|0;a[l>>0]=e;a[y>>0]=e>>>8;e=c[n>>2]|0;z=c[e+64>>2]|0;if(!z)Qp(l,1,2,c[e+56>>2]|0)|0;else yb[z&7](b,l,2)|0;a[l>>0]=f;a[y>>0]=f>>>8;z=c[n>>2]|0;e=c[z+64>>2]|0;if(!e)Qp(l,1,2,c[z+56>>2]|0)|0;else yb[e&7](b,l,2)|0;a[l>>0]=g;a[y>>0]=g>>>8;y=c[n>>2]|0;e=c[y+64>>2]|0;if(!e)Qp(l,1,2,c[y+56>>2]|0)|0;else yb[e&7](b,l,2)|0;e=(p?128:0)|(h?64:0);b:do if(p){h=(c[j+4>>2]|0)+255|e;a[m>>0]=h;y=c[n>>2]|0;z=c[y+64>>2]|0;if(!z)Ap(h<<24>>24,c[y+56>>2]|0)|0;else yb[z&7](b,m,1)|0;if((c[j>>2]|0)>0){z=j+12|0;y=m+1|0;h=m+2|0;d=0;while(1){w=c[z>>2]|0;a[m>>0]=a[w+(d*3|0)>>0]|0;a[y>>0]=a[w+(d*3|0)+1>>0]|0;a[h>>0]=a[w+(d*3|0)+2>>0]|0;w=c[n>>2]|0;s=c[w+64>>2]|0;if(!s)A=Qp(m,1,3,c[w+56>>2]|0)|0;else A=yb[s&7](b,m,3)|0;d=d+1|0;if((A|0)!=3)break;if((d|0)>=(c[j>>2]|0))break b}c[b+64>>2]=2;q=0;i=k;return q|0}}else{a[m>>0]=e;d=c[n>>2]|0;h=c[d+64>>2]|0;if(!h){Ap(e<<24>>24,c[d+56>>2]|0)|0;break}else{yb[h&7](b,m,1)|0;break}}while(0);m=c[b+20>>2]|0;e=(m|0)==0;j=c[r>>2]|0;if(e&(j|0)==0){c[b+64>>2]=5;q=0;i=k;return q|0}c[o>>2]=c[o>>2]|4;c[o+52>>2]=_(g,f)|0;f=c[n>>2]|0;n=(j|0)!=0;if(n|e^1){e=c[(n?j:m)+4>>2]|0;m=(e|0)<2?2:e;a[l>>0]=m;e=c[f+64>>2]|0;if(!e)Ap(m<<24>>24,c[f+56>>2]|0)|0;else yb[e&7](b,l,1)|0;a[f+68>>0]=0;c[f+8>>2]=m;l=1<<m;e=f+12|0;c[e>>2]=l;c[f+16>>2]=l+1;c[f+20>>2]=l+2;l=m+1|0;c[f+24>>2]=l;c[f+28>>2]=1<<l;c[f+36>>2]=4097;c[f+44>>2]=0;c[f+48>>2]=0;rq(c[f+24900>>2]|0,-1,32768)|0;if(!(aj(b,c[e>>2]|0)|0))c[b+64>>2]=8}else c[b+64>>2]=5;q=1;i=k;return q|0}function aj(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;d=c[a+72>>2]|0;e=d+44|0;f=c[e>>2]|0;if((b|0)!=4096){g=d+48|0;h=c[g>>2]|b<<f;c[g>>2]=h;i=f+(c[d+24>>2]|0)|0;c[e>>2]=i;if((i|0)>7){i=d+68|0;j=h;h=1;while(1){k=(bj(a,i,j&255)|0)==0;l=k?0:h;j=(c[g>>2]|0)>>>8;c[g>>2]=j;k=(c[e>>2]|0)+-8|0;c[e>>2]=k;if((k|0)<=7){m=l;break}else h=l}}else m=1}else{h=d+68|0;if((f|0)>0){f=d+48|0;j=c[f>>2]|0;g=1;while(1){i=(bj(a,h,j&255)|0)==0;l=i?0:g;j=(c[f>>2]|0)>>>8;c[f>>2]=j;i=c[e>>2]|0;c[e>>2]=i+-8;if((i|0)<=8){n=l;break}else g=l}}else n=1;c[e>>2]=0;e=(bj(a,h,4096)|0)==0;m=e?0:n}n=d+28|0;if(!((b|0)<4096?(c[d+20>>2]|0)>=(c[n>>2]|0):0))return m|0;b=d+24|0;d=(c[b>>2]|0)+1|0;c[b>>2]=d;c[n>>2]=1<<d;return m|0}function bj(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;g=a[e>>0]|0;h=g&255;if((f|0)!=4096){do if(g<<24>>24==-1){i=h+1|0;j=c[b+72>>2]|0;k=c[j+64>>2]|0;if(!k)l=Qp(e,1,i,c[j+56>>2]|0)|0;else l=yb[k&7](b,e,i)|0;if((l|0)==((d[e>>0]|0)+1|0)){a[e>>0]=0;m=0;break}c[b+64>>2]=2;n=0;return n|0}else m=g;while(0);l=m+1<<24>>24;a[e>>0]=l;a[e+(l&255)>>0]=f;n=1;return n|0}if(g<<24>>24){g=h+1|0;h=b+72|0;f=c[h>>2]|0;l=c[f+64>>2]|0;if(!l)o=Qp(e,1,g,c[f+56>>2]|0)|0;else o=yb[l&7](b,e,g)|0;if((o|0)==((d[e>>0]|0)+1|0))p=h;else{c[b+64>>2]=2;n=0;return n|0}}else p=b+72|0;a[e>>0]=0;h=c[p>>2]|0;p=c[h+64>>2]|0;if(!p)q=Qp(e,1,1,c[h+56>>2]|0)|0;else q=yb[p&7](b,e,1)|0;if((q|0)==1){n=1;return n|0}c[b+64>>2]=2;n=0;return n|0}function cj(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;g=b+72|0;h=c[g>>2]|0;i=c[h+24900>>2]|0;j=h+36|0;k=c[j>>2]|0;if((k|0)==4097){l=d[e>>0]|0;m=1}else{l=k;m=0}a:do if((m|0)<(f|0)){k=h+20|0;n=h+12|0;o=h+16|0;p=h+8|0;q=h+24|0;r=h+28|0;s=l;t=m;b:while(1){u=d[e+t>>0]|0;t=t+1|0;v=u|s<<8;w=v^s>>>4&1048575;x=w&8191;y=c[i+(x<<2)>>2]|0;z=y>>>12;c:do if((z|0)==1048575)A=9;else{B=y;C=x;D=z;while(1){if((D|0)==(v|0)){E=B;break}C=C+1&8191;B=c[i+(C<<2)>>2]|0;D=B>>>12;if((D|0)==1048575){A=9;break c}}F=E&4095}while(0);do if((A|0)==9){A=0;if(!(aj(b,s)|0)){A=10;break b}z=c[k>>2]|0;if((z|0)>4094){if(!(aj(b,c[n>>2]|0)|0)){A=13;break b}c[k>>2]=(c[o>>2]|0)+1;x=(c[p>>2]|0)+1|0;c[q>>2]=x;c[r>>2]=1<<x;rq(i|0,-1,32768)|0;F=u;break}c[k>>2]=z+1;x=w;while(1){y=x&8191;D=i+(y<<2)|0;if((c[D>>2]|0)>>>0<4294963200)x=y+1|0;else{G=D;break}}c[G>>2]=z&4095|v<<12;F=u}while(0);if((t|0)>=(f|0)){H=F;break a}else s=F}if((A|0)==10){c[b+64>>2]=8;I=0;return I|0}else if((A|0)==13){c[b+64>>2]=8;I=0;return I|0}}else H=l;while(0);c[j>>2]=H;if(c[h+52>>2]|0){I=1;return I|0}if(!(aj(b,H)|0)){c[b+64>>2]=8;I=0;return I|0}if(!(aj(b,c[h+16>>2]|0)|0)){c[b+64>>2]=8;I=0;return I|0}h=c[g>>2]|0;H=h+44|0;j=h+68|0;if((c[H>>2]|0)>0){l=h+48|0;h=c[l>>2]|0;F=1;while(1){f=(bj(b,j,h&255)|0)==0;G=f?0:F;h=(c[l>>2]|0)>>>8;c[l>>2]=h;f=c[H>>2]|0;c[H>>2]=f+-8;if((f|0)<=8){J=G;break}else F=G}}else J=1;c[H>>2]=0;H=a[j>>0]|0;if(H<<24>>24){F=(H&255)+1|0;H=c[g>>2]|0;h=c[H+64>>2]|0;if(!h)K=Qp(j,1,F,c[H+56>>2]|0)|0;else K=yb[h&7](b,j,F)|0;if((K|0)!=((d[j>>0]|0)+1|0))c[b+64>>2]=2;else A=33}else A=33;do if((A|0)==33){a[j>>0]=0;K=c[g>>2]|0;F=c[K+64>>2]|0;if(!F)L=Qp(j,1,1,c[K+56>>2]|0)|0;else L=yb[F&7](b,j,1)|0;if((L|0)!=1){c[b+64>>2]=2;break}if(J|0){I=1;return I|0}}while(0);c[b+64>>2]=8;I=0;return I|0} function Ib(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Jb(){return i|0}function Kb(a){a=a|0;i=a}function Lb(a,b){a=a|0;b=b|0;i=a;j=b}function Mb(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Nb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function Ob(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function Pb(a){a=a|0;C=a}function Qb(){return C|0}function Rb(){var a=0,b=0,d=0,e=0;a=c[224872]|0;b=a+6|0;c[224872]=b;if((b|0)<=122)return;c[224872]=a;a=c[200386]|0;b=0;while(1){Ql(a,a,0,b+6|0,0,b,128,1);b=b+1|0;d=c[200386]|0;if((b|0)==122){e=d;break}else a=d}hk(e,0,122,127,127,0);og(65536);return}function Sb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=i;i=i+112|0;e=d+104|0;f=d+96|0;g=d+88|0;h=d+80|0;j=d+72|0;k=d+64|0;l=d+8|0;m=d;if(!(Ro(b,26956,9)|0)){Jo(890532,b+10|0)|0;n=Do(890532)|0;o=890532+n|0;a:do if((n|0)<0)p=o;else{q=o;while(1){switch(a[q>>0]|0){case 47:case 92:{p=q;break a;break}default:{}}r=q+-1|0;if(r>>>0<890532>>>0){p=r;break a}else q=r}}while(0);a[p+1>>0]=0}if(!(Ro(b,26966,10)|0)){Jo(892580,b+11|0)|0;p=Do(892580)|0;o=892580+p|0;b:do if((p|0)<0)s=o;else{n=o;while(1){switch(a[n>>0]|0){case 47:case 92:{s=n;break b;break}default:{}}q=n+-1|0;if(q>>>0<892580>>>0){s=q;break b}else n=q}}while(0);a[s+1>>0]=0}if(!(Ro(b,26977,14)|0)){c[m>>2]=48076;Rp(b+14|0,26992,m)|0}if(!(Ro(b,26996,11)|0)){c[l>>2]=48096;c[l+4>>2]=48100;c[l+8>>2]=48104;c[l+12>>2]=48108;c[l+16>>2]=48112;c[l+20>>2]=48116;c[l+24>>2]=48120;c[l+28>>2]=48124;c[l+32>>2]=48128;c[l+36>>2]=48132;c[l+40>>2]=48136;c[l+44>>2]=48140;c[l+48>>2]=48144;Rp(b+11|0,27008,l)|0}if(!(Ro(b,27048,10)|0)){c[k>>2]=48224;Rp(b+10|0,26992,k)|0}if(!(Ro(b,27059,11)|0)){c[j>>2]=48240;Rp(b+11|0,26992,j)|0}if(!(Ro(b,27071,7)|0)){c[h>>2]=48244;Rp(b+7|0,26992,h)|0}if(!(Ro(b,27079,9)|0)){c[g>>2]=48248;Rp(b+9|0,26992,g)|0}if(!(Ro(b,27089,16)|0)){c[f>>2]=48228;Rp(b+16|0,26992,f)|0}if(Ro(b,27106,12)|0){i=d;return 0}c[e>>2]=48260;Rp(b+12|0,26992,e)|0;i=d;return 0}function Tb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=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=i;i=i+192|0;d=b+184|0;e=b+176|0;f=b+168|0;g=b+160|0;h=b+152|0;j=b+144|0;k=b+136|0;l=b+128|0;m=b+120|0;n=b+112|0;o=b+104|0;p=b+96|0;q=b+88|0;r=b+80|0;s=b+72|0;t=b+64|0;u=b+56|0;v=b+48|0;w=b+40|0;x=b+32|0;y=b+24|0;z=b+16|0;A=b+8|0;B=b;C=a+8|0;a=c[C>>2]|0;c[B>>2]=27132;qp(a,27119,B)|0;Qp(27140,37,1,c[C>>2]|0)|0;B=c[C>>2]|0;c[A>>2]=890532;qp(B,27178,A)|0;Qp(27193,36,1,c[C>>2]|0)|0;A=c[C>>2]|0;c[z>>2]=892580;qp(A,27230,z)|0;Qp(27246,65,1,c[C>>2]|0)|0;z=c[C>>2]|0;c[y>>2]=c[12019];qp(z,27312,y)|0;Qp(27332,12,1,c[C>>2]|0)|0;y=c[C>>2]|0;c[x>>2]=c[12024];qp(y,27345,x)|0;x=c[C>>2]|0;c[w>>2]=c[12025];qp(x,27345,w)|0;w=c[C>>2]|0;c[v>>2]=c[12026];qp(w,27345,v)|0;v=c[C>>2]|0;c[u>>2]=c[12027];qp(v,27345,u)|0;u=c[C>>2]|0;c[t>>2]=c[12028];qp(u,27345,t)|0;t=c[C>>2]|0;c[s>>2]=c[12029];qp(t,27345,s)|0;s=c[C>>2]|0;c[r>>2]=c[12030];qp(s,27345,r)|0;r=c[C>>2]|0;c[q>>2]=c[12031];qp(r,27345,q)|0;q=c[C>>2]|0;c[p>>2]=c[12032];qp(q,27345,p)|0;p=c[C>>2]|0;c[o>>2]=c[12033];qp(p,27345,o)|0;o=c[C>>2]|0;c[n>>2]=c[12034];qp(o,27345,n)|0;n=c[C>>2]|0;c[m>>2]=c[12035];qp(n,27345,m)|0;m=c[C>>2]|0;c[l>>2]=c[12036];qp(m,27345,l)|0;Qp(27349,2,1,c[C>>2]|0)|0;Qp(27352,52,1,c[C>>2]|0)|0;l=c[C>>2]|0;c[k>>2]=c[12056];qp(l,27405,k)|0;Qp(27421,70,1,c[C>>2]|0)|0;k=c[C>>2]|0;c[j>>2]=c[12060];qp(k,27492,j)|0;Qp(27509,56,1,c[C>>2]|0)|0;j=c[C>>2]|0;c[h>>2]=c[12061];qp(j,27566,h)|0;Qp(27579,52,1,c[C>>2]|0)|0;h=c[C>>2]|0;c[g>>2]=c[12062];qp(h,27632,g)|0;Qp(27647,52,1,c[C>>2]|0)|0;g=c[C>>2]|0;c[f>>2]=c[12057];qp(g,27700,f)|0;f=c[C>>2]|0;c[e>>2]=c[12058];qp(f,27721,e)|0;Qp(27736,44,1,c[C>>2]|0)|0;e=c[C>>2]|0;c[d>>2]=c[12065];qp(e,27781,d)|0;i=b;return 0}function Ub(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;a=i;i=i+1056|0;e=a+24|0;f=a+16|0;g=a+8|0;h=a;j=a+32|0;Yp(29864)|0;k=el(b,d)|0;c[h>>2]=k;Zp(1184836,27879,h)|0;Yj(1184836);h=uc(k)|0;cl(k);if(!h){cg(28042,c[12023]|0,0);i=a;return}Yp(29894)|0;Ac(h);qc(c[33842]|0,894636);Kn(38193,j);c[g>>2]=j;c[g+4>>2]=894636;Zp(893612,27937,g)|0;c[f>>2]=893612;Zp(1184836,27945,f)|0;Yj(1184836);f=fo(893612)|0;if(!f)l=h;else{Yj(27983);g=c[f>>2]|0;c[f>>2]=c[h>>2];c[h>>2]=g;Ac(f);l=c[33842]|0}c[e>>2]=893612;Zp(1184836,28004,e)|0;Yj(1184836);e=$n(893612,41862)|0;ho(l,e)|0;cl(e);c[224761]=0;c[224870]=6;c[224764]=1;i=a;return}function Vb(a){a=a|0;bg(28070);Yp(29939)|0;return}function Wb(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=i;i=i+1056|0;d=b+24|0;e=b+16|0;f=b+8|0;g=b;h=b+32|0;if(!(Da(0)|0)){i=b;return}j=Da(1)|0;k=(j|0)<16?j:16;j=(k|0)<0?0:k;k=j<<15;l=Bm(k)|0;m=(j|0)>0;if(m){n=0;do{a[l+n>>0]=Da(2)|0;n=n+1|0}while((n|0)<(k|0))}k=bo()|0;tc(k,l);c[k+44320>>2]=10;Yj(27891);Ac(k);Za(3,0)|0;n=0;do{o=Da(4)|0;a[968260+n>>0]=o;n=n+1|0;a[968260+n>>0]=0}while((o|0)!=0&(n|0)<1023);c[g>>2]=968260;Zp(893612,28233,g)|0;c[f>>2]=893612;Zp(1184836,28254,f)|0;Yj(1184836);f=fo(893612)|0;if(f|0){Yj(27983);g=c[f>>2]|0;c[f>>2]=c[k>>2];c[k>>2]=g;Ac(f)}c[224761]=0;c[224870]=6;c[224764]=1;if(m)p=0;else{i=b;return}do{m=bo()|0;tc(m,l+(p<<15)|0);c[m+44320>>2]=10;Za(3,p|0)|0;f=0;do{g=Da(4)|0;a[968260+f>>0]=g;f=f+1|0;a[968260+f>>0]=0}while((g|0)!=0&(f|0)<1023);c[e>>2]=968260;Zp(h,28233,e)|0;c[d>>2]=h;Zp(1184836,28290,d)|0;Yj(1184836);f=$n(h,41862)|0;ho(m,f)|0;co(m);cl(f);p=p+1|0}while((p|0)<(j|0));i=b;return}function Xb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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=i;i=i+16|0;f=e+8|0;g=e;h=e+12|0;if((b|0)>1){j=1;k=0}else{i=e;return}a:while(1){l=d+(j<<2)|0;m=c[l>>2]|0;b:do switch(a[m>>0]|0){case 62:case 124:case 38:{n=17;break a;break}case 45:{o=m+1|0;p=(To(o,28379)|0)==0;if(!(To(o,38553)|0)){c[12017]=1;q=0}else q=p?4:-1;if(!(To(o,37905)|0)){c[12018]=1;r=0}else r=q;p=(To(o,27071)|0)==0;s=(To(o,27079)|0)==0;t=(To(o,27089)|0)==0;u=(To(o,28388)|0)==0;v=(To(o,28398)|0)==0;w=v?10:u?9:t?8:s?7:p?6:r;break}default:{c[h>>2]=0;c[g>>2]=h;Rp(m,42342,g)|0;switch(k|0){case 0:{p=jq((Do(c[l>>2]|0)|0)+1|0)|0;c[12013]=p;Jo(p,c[l>>2]|0)|0;c[f>>2]=c[12013];Zp(1184836,28408,f)|0;Yj(1184836);w=0;break b;break}case 4:{c[12019]=c[h>>2];w=0;break b;break}case 6:{c[12061]=c[h>>2];w=0;break b;break}case 7:{c[12062]=c[h>>2];w=0;break b;break}case 8:{c[12057]=c[h>>2];w=0;break b;break}case 9:{c[12058]=c[h>>2];w=0;break b;break}case 10:{c[12063]=c[h>>2];w=0;break b;break}default:{w=0;break b}}}}while(0);j=j+1|0;if((j|0)>=(b|0)){n=17;break}else k=w}if((n|0)==17){i=e;return}}function Yb(){var a=0;c[224761]=2;c[200381]=-15;gg();hg();bg(1195596);c[224870]=7;fk(c[200386]|0);fk(c[200387]|0);uk(c[(c[33842]|0)+4>>2]|0,2,2,5,5,7);uk(c[(c[33842]|0)+4>>2]|0,5,2,2,5,7);a=mb(0)|0;Si((Fn()|0)+a|0);nn();ln(0,0);c[12014]=0;c[12015]=0;if(!(Fk()|0))return;do Gk()|0;while((Fk()|0)!=0);return}function Zb(){rq(933544,0,456)|0;c[233490]=2;c[233485]=0;c[233491]=5;c[233456]=1;c[233474]=8;c[233475]=0;return}function _b(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+1824|0;f=e;g=e+792|0;rq(48064,0,87048)|0;c[12061]=8;c[12057]=3;c[12058]=2;c[12063]=-1;c[12065]=1;Da(5)|0;Vj(29247);Sk(2);Tk(3);Em(801524,0,133288);Wj()|0;Xb(b,d);if((c[43834]|0)<32|(c[43835]|0)<32){c[43834]=580;c[43835]=540}on(128,128,8,256)|0;if(!((a[890532]|0)!=0?!(Wn(890532,41187,f,-1)|0):0))Kn(29254,890532);if(!((a[892580]|0)!=0?!(Wn(892580,41187,f,-1)|0):0))Kn(29261,892580);rq(933544,0,456)|0;c[233490]=2;c[233485]=0;c[233491]=5;c[233456]=1;c[233474]=8;c[233475]=0;c[225186]=bo()|0;Ln(29268,g);f=al(g)|0;c[200395]=f;if(!f){Yp(29961)|0;sb(0)}g=c[c[f>>2]>>2]|0;c[g+20>>2]=0;c[200396]=eo(g)|0;g=c[(c[c[200395]>>2]|0)+4>>2]|0;c[g+20>>2]=0;c[200397]=_k(1195596,g)|0;g=c[(c[c[200395]>>2]|0)+8>>2]|0;c[g+20>>2]=0;c[200398]=_k(1195596,g)|0;rn(c[(c[c[200397]>>2]|0)+4>>2]|0);c[200386]=kk(128,128,8)|0;c[200387]=kk(128,128,8)|0;c[211483]=Ui(128,128)|0;c[211484]=Ui(128,128)|0;g=0;do{c[845940+(g<<2)>>2]=Ui(5,32)|0;g=g+1|0}while((g|0)!=64);c[200399]=kk(1,1,8)|0;c[200400]=kk(8,8,8)|0;c[12011]=1;rq(135112,0,260)|0;c[33842]=bo()|0;Yb();g=jo(c[c[33842]>>2]|0,65536)|0;c[222631]=g;c[g+300>>2]=4;c[g+304>>2]=6;Mm(16)|0;c[43852]=1;nb(6);i=e;return}function $b(a,b){a=a|0;b=b|0;var d=0,e=0;if(c[233700]|c[224761]|0)return;d=Do(899076)|0;if((d|0)>-1){e=d;d=c[224872]|0;while(1){hk(c[200386]|0,0,d,(((e|0)>30?30:e)<<2)+12|0,d+5|0,0);e=e+-30|0;if((e|0)<=-1)break;else d=d+6|0}}if(b|0){Rk(c[200386]|0,29278,c[200398]|0,0,c[224872]|0,17,7)|0;Rk(c[200386]|0,899076,c[200398]|0,8,c[224872]|0,17,7)|0}if(!a)return;a=c[224833]<<2;b=a+8|0;c[224873]=b;d=c[224872]|0;c[224874]=d;if((b|0)>124){b=((a+-117|0)>>>0)/120|0;c[224873]=a+-112+(_(b,-120)|0);c[224874]=d+(b*6|0)+6}if(!(Tn()|0))return;if(!((Fn()|0)&256))return;b=c[224873]|0;d=c[224874]|0;hk(c[200386]|0,b,d,b+3|0,d+4|0,8);return}function ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=d|2;if((e|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|0)/2|0)>>0]|0;if((h|0)>0)h=h+-1|0;else break}g=g+1|0}while((g|0)!=128)}g=d|1;if((g|0)==3){d=b+16|0;f=127;while(1){h=(f|0)/2|0;i=0;do{j=c[d>>2]|0;a[(c[j+(f<<2)>>2]|0)+i>>0]=a[(c[j+(h<<2)>>2]|0)+i>>0]|0;i=i+1|0}while((i|0)!=128);if((f|0)>0)f=f+-1|0;else break}}if((e|0)==7){e=b+16|0;f=0;do{d=0;do{i=c[(c[e>>2]|0)+(f<<2)>>2]|0;a[i+(127-d)>>0]=a[i+d>>0]|0;d=d+1|0}while((d|0)!=64);f=f+1|0}while((f|0)!=128)}if((g|0)!=7)return;g=b+16|0;b=0;do{f=127-b|0;e=0;do{d=c[g>>2]|0;a[(c[d+(f<<2)>>2]|0)+e>>0]=a[(c[d+(b<<2)>>2]|0)+e>>0]|0;e=e+1|0}while((e|0)!=128);b=b+1|0}while((b|0)!=64);return}function bc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;fk(c[198785]|0);a=c[33520]|0;if(!a)return;b=c[198785]|0;d=c[b>>2]|0;if((d|0)==(c[a>>2]|0)?(e=c[b+4>>2]|0,(e|0)==(c[a+4>>2]|0)):0){f=a;g=b;h=d;i=e}else{lk(b)|0;b=c[33520]|0;e=kk(c[b>>2]|0,c[b+4>>2]|0,8)|0;c[198785]=e;b=c[33520]|0;f=b;g=e;h=c[b>>2]|0;i=c[b+4>>2]|0}Ql(f,g,0,0,0,0,h,i);return}function cc(){var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=i;i=i+16|0;e=b+8|0;f=b+4|0;g=b;if(c[224765]|0){i=b;return}h=c[224761]|0;if((h|0)==3){bc();i=b;return}j=c[198785]|0;if((c[j>>2]|0)==128?(c[j+4>>2]|0)==128:0)k=h;else{lk(j)|0;c[198785]=kk(128,128,8)|0;k=c[224761]|0}j=c[233702]|0;h=(k|0)==0;do if((j|0)!=0&h){if((j|0)==1){rj();l=c[233702]|0}else l=j;if((l|0)==2)Bj()}else{if(!(c[224762]|0)){if(!(h&(c[224764]|0)!=1))break;$b(1,1);break}hk(c[200386]|0,0,0,128,128,5);if((c[224762]|0)==1){k=c[12062]|0;if((k|0)==1){hk(c[200386]|0,0,0,128,128,1);m=c[12062]|0}else m=k;if((m|0)==2)hk(c[200386]|0,0,0,128,128,0)}hk(c[200386]|0,0,0,128,7,8);hk(c[200386]|0,0,121,128,127,8);Ok(7,0);On(e,f,g);k=c[233501]|0;if(k|0){n=c[(c[c[200397]>>2]|0)+(k<<2)>>2]|0;k=c[n>>2]|0;o=c[n+4>>2]|0;jk(n,c[200386]|0,0,0,(c[e>>2]|0)-((k|0)/2|0)|0,(c[f>>2]|0)-((o|0)/2|0)|0,k,o)}}while(0);do if(!(c[224768]|0)){if(!((c[200389]|0)==0|(c[224761]|0)==0)){c[200390]=1;break}if(!(c[224764]|0))Ql(c[200386]|0,c[200387]|0,0,0,0,0,128,128)}while(0);f=c[198785]|0;c[224878]=1;if((zi(801524,c[225186]|0,24416)|0)!=173)c[224878]=0;if((zi(801524,c[225186]|0,24417)|0)!=223)c[224878]=0;if((zi(801524,c[225186]|0,24418)|0)!=173)c[224878]=0;if((zi(801524,c[225186]|0,24419)|0)==237)if(!(c[224878]|0))p=35;else{e=f+12|0;g=0;do{a[(c[e>>2]|0)+g>>0]=c[899400+(((d[(c[(c[200387]|0)+12>>2]|0)+g>>0]|0)&15)<<2)>>2]&143;g=g+1|0}while((g|0)!=16384)}else{c[224878]=0;p=35}if((p|0)==35){p=f+12|0;g=0;do{a[(c[p>>2]|0)+g>>0]=c[899400+(((d[(c[(c[200387]|0)+12>>2]|0)+g>>0]|0)&15)<<2)>>2]&15;g=g+1|0}while((g|0)!=16384)}if((c[224761]|0)==1&(c[224766]|0)!=0)ac(f,c[224877]|0);g=Fn()|0;do if((g|0)<(c[233451]|0))if(!(To(933548,39228)|0)){pk(f,0,119,101,127,0);hk(f,1,120,100,126,6);Rk(f,933548,c[200398]|0,16,121,1,1)|0;jk(c[(c[c[200397]>>2]|0)+904>>2]|0,f,0,0,2,112,15,15);break}else{hk(f,0,121,128,127,8);Rk(f,933548,c[200398]|0,1,122,1,c[233452]|0)|0;break}while(0);g=c[224768]|0;if((g|0)>0?(c[224761]|0)==1&(c[224766]|0)!=0:0)jk(c[(c[c[200397]>>2]|0)+((((g|0)/2|0|0)%12|0)+212<<2)>>2]|0,f,0,0,3,3,12,12);if(!(c[12903]|0)){i=b;return}g=((c[12904]<<3)+8|0)/2|0;p=64-g|0;e=g+64|0;hk(f,24,p,104,e,0);pk(f,24,p,104,e,7);if((c[12904]|0)>0){e=0;g=p+6|0;while(1){Rk(f,136152+(e*72|0)|0,c[200398]|0,34,g,1,7)|0;if((e|0)==(c[12905]|0))jk(c[(c[c[200397]>>2]|0)+732>>2]|0,f,0,0,25,g+-1|0,7,7);do if((c[136152+(e*72|0)+68>>2]|0)==2){p=(yj(c[224248]|0,896996)|0)==0;m=c[(c[c[200397]>>2]|0)+752>>2]|0;if(p){vk(m,f,0,0,74,g,7,7,5,0);break}else{jk(m,f,0,0,74,g,7,7);break}}while(0);e=e+1|0;if((e|0)>=(c[12904]|0))break;else g=g+8|0}}Ql(f,c[200387]|0,0,0,0,0,128,128);i=b;return}function dc(a){a=a|0;return ((a+-65|0)>>>0<26?0:(a+-32|0)>>>0<96&1)|0}function ec(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+1040|0;d=b+8|0;e=b;f=b+16|0;if(!(c[233701]|0)){i=b;return}c[e>>2]=890532;c[e+4>>2]=891556;Zp(f,45004,e)|0;switch(c[233700]|0){case 0:{c[d>>2]=891556;Zp(1189444,37749,d)|0;ag(1189444,12);d=Wn(f,41187,934012,16384)|0;c[233700]=1;g=d;h=6;break}case 2:{d=Wn(f,41187,934012,-16385)|0;c[233700]=3;j=d;h=11;break}default:{d=Un(934012)|0;switch(c[233700]|0){case 1:{g=d;h=6;break}case 3:{j=d;h=11;break}default:{}}}}do if((h|0)==6){if(g|0){c[233700]=2;break}if(To(934268,48040)|0?To(934268,43533)|0:0){ag(934268,14);c[233701]=(c[233701]|0)+-1}}else if((h|0)==11){if(j|0){c[233700]=0;break}if(Po(934268,41189)|0){bg(934268);c[233701]=(c[233701]|0)+-1;break}if((c[233631]&16384|0)==0&(a[134084]|0)==42){ag(934268,5);c[233701]=(c[233701]|0)+-1}}while(0);if(!((c[233701]|0)==0&(c[233700]|0)!=0)){i=b;return}ag(29280,12);i=b;return}function fc(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[12904]=1;b=136152;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));So(136152,29289,16)|0;c[34055]=0;if(a[900416]|0){e=c[12904]|0;c[12904]=e+1;f=136152+(e*72|0)|0;b=f;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));So(f,900416,16)|0;c[136152+(e*72|0)+68>>2]=257}if(a[900480]|0){e=c[12904]|0;c[12904]=e+1;f=136152+(e*72|0)|0;b=f;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));So(f,900480,16)|0;c[136152+(e*72|0)+68>>2]=258}if(a[900544]|0){e=c[12904]|0;c[12904]=e+1;f=136152+(e*72|0)|0;b=f;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));So(f,900544,16)|0;c[136152+(e*72|0)+68>>2]=259}if(a[900608]|0){e=c[12904]|0;c[12904]=e+1;f=136152+(e*72|0)|0;b=f;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));So(f,900608,16)|0;c[136152+(e*72|0)+68>>2]=260}if(!(a[900672]|0)){g=c[12904]|0;h=g+1|0;c[12904]=h;i=136152+(g*72|0)|0;b=i;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));So(i,29298,16)|0;j=136152+(g*72|0)+68|0;c[j>>2]=1;return}e=c[12904]|0;c[12904]=e+1;f=136152+(e*72|0)|0;b=f;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));So(f,900672,16)|0;c[136152+(e*72|0)+68>>2]=261;g=c[12904]|0;h=g+1|0;c[12904]=h;i=136152+(g*72|0)|0;b=i;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));So(i,29298,16)|0;j=136152+(g*72|0)+68|0;c[j>>2]=1;return}function gc(a,b){a=a|0;b=b|0;Jo(933548,a)|0;c[233451]=(Fn()|0)+b;c[233452]=(c[233452]|0)==15?7:15;return}function hc(){var a=0;a:do if(Fk()|0){b:while(1){a=Gk()|0;c:do if(Ik(-5)|0)switch(a<<24>>24|0){case 114:{break b;break}case 115:{Fc();break c;break}case 118:{Dm(c[12907]|0);c[12907]=Zn()|0;break c;break}default:break c}while(0);if(!(Fk()|0))break a}Gc();c[224764]=1;return}while(0);if((c[224766]|0)==0|(c[224886]|0)==0|(c[12903]|0)!=0)return;if((zi(801524,c[225186]|0,24368)|0)==1){yi(801524,c[225186]|0,24368,0);c[225014]=1;return}else{c[12903]=1;Fi();fc();c[12905]=0;return}}function ic(){var b=0,d=0,e=0,f=0,g=0;if(Ji(2,0)|0)c[12905]=(c[12905]|0)+-1;b=(Ji(3,0)|0)==0;d=c[12905]|0;if(b)e=d;else{b=d+1|0;c[12905]=b;e=b}b=c[12904]|0;if((e|0)>-1)f=e;else f=b-((0-e|0)%(b|0)|0)|0;c[12905]=(f|0)%(b|0)|0;if(!(((Ji(4,0)|0)==0?(Ji(5,0)|0)==0:0)?!(Ji(6,0)|0):0))g=10;a:do if((g|0)==10){b=c[136152+((c[12905]|0)*72|0)+68>>2]|0;if((b|0)>255){f=b+-256|0;a[900736+((f|0)<5?f:5)>>0]=1;c[12903]=0}switch(b|0){case 0:{c[12903]=0;break a;break}case 1:{c[12903]=0;c[200394]=1;break a;break}case 4:{c[12903]=0;jg();c[233702]=0;c[224761]=0;Mj();c[224870]=6;break a;break}case 3:{c[12903]=0;c[224764]=2;c[12902]=2;break a;break}default:break a}}while(0);if(c[12903]|c[43824]|0)return;Fi();return}function jc(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;i=i+16|0;d=b;e=c[200381]|0;f=e+-10|0;switch(e|0){case 11:{g=0;do{h=(g|0)/32|0;j=2;do{k=(El(4)|0)+h&255;a[(c[(c[(c[200386]|0)+16>>2]|0)+(g<<2)>>2]|0)+j>>0]=k;j=j+8|0}while((j|0)<128);g=g+1|0}while((g|0)!=128);l=25;break}case 14:{g=0;do{j=0;do{a[(c[(c[(c[200386]|0)+16>>2]|0)+(g<<2)>>2]|0)+j>>0]=(((j+g|0)/8|0)&7)+6;j=j+4|0}while((j|0)<128);g=g+2|0}while((g|0)<128);switch(e|0){case 17:{m=0;l=9;break}case 19:{n=0;l=13;break}case 22:{o=0;l=17;break}case 25:{l=21;break}case 40:{l=22;break}case 45:{l=23;break}case 50:{l=24;break}default:l=25}break}case 17:{m=0;l=9;break}case 19:{n=0;l=13;break}case 22:{o=0;l=17;break}case 25:{l=21;break}case 40:{l=22;break}case 45:{l=23;break}case 50:{l=24;break}default:l=25}if((l|0)==9){while(1){l=0;g=2;do{j=(El(4)|0)+10&255;a[(c[(c[(c[200386]|0)+16>>2]|0)+(m<<2)>>2]|0)+g>>0]=j;g=g+4|0}while((g|0)<128);m=m+3|0;if((m|0)>=128)break;else l=9}switch(e|0){case 19:{n=0;l=13;break}case 22:{o=0;l=17;break}case 25:{l=21;break}case 40:{l=22;break}case 45:{l=23;break}case 50:{l=24;break}default:l=25}}if((l|0)==13){while(1){l=0;m=1;do{g=c[(c[(c[200386]|0)+16>>2]|0)+(n<<2)>>2]|0;a[g+m>>0]=a[g+(m+1)>>0]|0;m=m+2|0}while((m|0)<127);n=n+1|0;if((n|0)==128)break;else l=13}switch(e|0){case 22:{o=0;l=17;break}case 25:{l=21;break}case 40:{l=22;break}case 45:{l=23;break}case 50:{l=24;break}default:l=25}}if((l|0)==17){while(1){l=0;if(o&3|0){n=0;do{a[(c[(c[(c[200386]|0)+16>>2]|0)+(o<<2)>>2]|0)+n>>0]=0;n=n+1|0}while((n|0)!=128)}o=o+1|0;if((o|0)==128)break;else l=17}switch(e|0){case 25:{l=21;break}case 40:{l=22;break}case 45:{l=23;break}case 50:{l=24;break}default:l=25}}if((l|0)==21)fk(c[200386]|0);else if((l|0)==22){fk(c[200386]|0);$m((c[200396]|0)+12|0);bg(1195596);bg(1195596);Ql(c[(c[c[200397]>>2]|0)+8>>2]|0,c[200386]|0,0,0,1,1,40,10);c[224870]=6}else if((l|0)==23){bg(29328);Ql(c[(c[c[200397]>>2]|0)+8>>2]|0,c[200386]|0,0,0,1,1,40,10)}else if((l|0)==24){c[224870]=13;bg(29343);c[224870]=6;bg(1195596);o=1189444;n=29376;m=o+20|0;do{a[o>>0]=a[n>>0]|0;o=o+1|0;n=n+1|0}while((o|0)<(m|0));bg(1189444);bg(1195596)}else if((l|0)==25?(f|0)==70&(c[12018]|0)!=0:0){c[224761]=0;c[224870]=6;Nj();c[233702]=2}l=(c[12017]|0)!=0;n=c[12016]|0;if(l&((f|0)==100&(n|0)!=0))c[224764]=1;if(!((f|0)!=60|(n|0)==0|l))c[224761]=0;switch(e|0){case 90:{Yj(28326);c[d>>2]=0;Zp(1184836,28347,d)|0;Yj(1184836);d=c[12013]|0;if(d|0?a[d>>0]|0:0){pb(d|0,0,1,1);i=b;return}Yj(28351);Wb();i=b;return}case 160:{bg(29396);i=b;return}case 460:{bg(29407);i=b;return}default:{i=b;return}}}function kc(a){a=a|0;c[224764]=4;Jo(969284,a)|0;return}function lc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=c[200394]|0;if(!a)return;b=(a|0)>3?0:a+1|0;c[200394]=b;if((b|0)==2){if(!(El(8)|0))c[224877]=El(4)|0;if(!(El(8)|0)){a=c[225186]|0;yi(801524,a,24384,El(256)|0);a=c[225186]|0;yi(801524,a,24384,El(256)|0);a=c[225186]|0;yi(801524,a,24384,El(256)|0);a=c[225186]|0;yi(801524,a,24384,El(256)|0)}a=(El(40)|0)+2|0;d=a*10|0;e=(a|0)>0;if(e){f=0;do{g=c[225186]|0;h=El(12288)|0;yi(801524,g,h,El(256)|0);f=f+1|0}while((f|0)<(d|0));d=a<<1;if(e){f=0;do{h=c[225186]|0;g=El(32768)|0;yi(801524,h,g,El(256)|0);f=f+1|0}while((f|0)<(d|0));if(e){e=0;do{d=(El(19456)|0)+512|0;f=c[225186]|0;g=(El(512)|0)+d|0;h=g-(El(512)|0)|0;Ai(801524,f,d,h,El(80)|0);e=e+1|0}while((e|0)!=(a|0));e=(a|0)/4|0;if((a|0)>3){a=0;do{h=(El(19456)|0)+512|0;d=c[225186]|0;f=El(128)|0;Bi(801524,d,h,f,El(256)|0);a=a+1|0}while((a|0)<(e|0))}}}}i=c[200394]|0}else i=b;if(i|0)return;c[224764]=1;return}function mc(){var b=0,d=0,e=0,f=0,g=0,h=0;b=c[224764]|0;if(!b)return;c[200394]=0;if((b|0)==1){kg();d=c[224764]|0}else d=b;if((d|0)==2){jg();e=c[224764]|0}else e=d;if((e|0)==3){co(c[225186]|0);co(c[33842]|0);lo(c[222631]|0);Em(893608,0,40400);rq(933544,0,456)|0;c[233490]=2;c[233485]=0;c[233491]=5;c[233456]=1;c[233474]=8;c[233475]=0;a[891556]=0;c[225186]=bo()|0;d=bo()|0;c[33842]=d;b=jo(c[d>>2]|0,65536)|0;c[222631]=b;c[b+300>>2]=4;c[b+304>>2]=6;Yb();f=c[224764]|0}else f=e;if((f|0)==4){jg();gg();bg(1195596);bg(969284);g=c[224764]|0}else g=f;if((g|0)==5){co(c[225186]|0);co(c[33842]|0);lo(c[222631]|0);Em(893608,0,40400);rq(933544,0,456)|0;c[233490]=2;c[233485]=0;c[233491]=5;c[233456]=1;c[233474]=8;c[233475]=0;a[891556]=0;c[225186]=bo()|0;f=bo()|0;c[33842]=f;e=jo(c[f>>2]|0,65536)|0;c[222631]=e;c[e+300>>2]=4;c[e+304>>2]=6;Yb();h=c[224764]|0}else h=g;if((h|0)==6)gg();c[224764]=0;return}function nc(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=i;i=i+16|0;d=b;c[12012]=1;if(Ik(-5)|0?(Ik(109)|0)==3:0){if(!(c[43838]|0)){c[43838]=256;e=933548;f=29319;g=e+9|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));h=Fn()|0}else{c[43838]=0;e=933548;f=29309;g=e+10|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));h=Fn()|0}c[233451]=h+1e3;c[233452]=(c[233452]|0)==15?7:15;c[43839]=c[43838]};c[225072]=-1;c[225073]=-1;c[225074]=-1;c[225075]=-1;c[225076]=-1;c[225077]=-1;c[225078]=-1;c[225079]=-1;h=Da(7)|0;a:do if((h|0)>0){j=Da(8)|0;switch(h|0){case 1:{c[224764]=1;break a;break}case 2:{k=(j|0)<256?j:256;l=(k|0)<0?0:k;c[43838]=l;c[43839]=l;break a;break}case 3:{if(!(c[43838]|0)){c[43838]=256;e=933548;f=29319;g=e+9|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));m=Fn()|0}else{c[43838]=0;e=933548;f=29309;g=e+10|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));m=Fn()|0}c[233451]=m+1e3;c[233452]=(c[233452]|0)==15?7:15;c[43839]=c[43838];break a;break}case 4:{c[43824]=(c[43824]|0)==0&1;break a;break}case 5:{c[43824]=j;break a;break}case 6:{l=c[12013]|0;c[d>>2]=(j|0)/1e4|0;c[d+4>>2]=j;Zp(l,29626,d)|0;co(c[225186]|0);co(c[33842]|0);lo(c[222631]|0);Em(893608,0,40400);rq(933544,0,456)|0;c[233490]=2;c[233485]=0;c[233491]=5;c[233456]=1;c[233474]=8;c[233475]=0;a[891556]=0;c[225186]=bo()|0;l=bo()|0;c[33842]=l;k=jo(c[l>>2]|0,65536)|0;c[222631]=k;c[k+300>>2]=4;c[k+304>>2]=6;Yb();fk(c[198785]|0);fk(c[200387]|0);fk(c[200386]|0);break a;break}default:break a}}while(0);Da(9)|0;c[225072]=Da(10)|0;c[225073]=Da(10)|0;c[225074]=Da(10)|0;c[225075]=Da(10)|0;c[225076]=Da(10)|0;c[225077]=Da(10)|0;c[225078]=Da(10)|0;c[225079]=Da(10)|0;c[233501]=89;mc();if((c[224761]|0)!=1){c[43824]=0;c[12903]=0;c[233382]=30}d=Fn()|0;m=(c[12903]|c[43824]|0)==0;if(m)n=(c[233382]|0)==60?60:30;else n=30;f=_((d-(c[34327]|0)<<16|0)/1e3|0,n)|0;n=f+(c[34326]|0)|0;c[34327]=d;d=(n|0)<262144?n:262144;n=(d|0)<0?0:d;c[34326]=n;if(m){if((n|0)<65536){i=b;return}do if((c[224761]|0)==1){hc();if((c[225081]|0)<2?(Gi(),Hi(),c[233383]|0):0){Ii();c[233383]=0}m=c[224768]|0;if(m|0){c[224768]=m+-1;break}if((c[200394]|0)<=2)ng()}else{Gi();Hi();Ii();m=c[233702]|0;if((m|0)==1){sj();o=c[233702]|0}else o=m;if((o|0)==2)Oj()}while(0);o=c[224761]|0;if((o|0)==2){jc();p=c[224761]|0}else p=o;if((p|0)==3?(p=Hk()|0,c[224880]|p|c[224881]|c[224882]|c[224883]|c[224884]|c[224885]|c[224886]|0):0)Yb();lc();c[34326]=(c[34326]|0)+-65536;c[200381]=(c[200381]|0)+1;p=c[34328]&1;c[34328]=p^1}else if((n|0)>65535){Gi();Hi();Ii();hc();ic();c[34326]=(c[34326]|0)+-65536}if(!(c[224762]|c[224761])){n=c[233700]|0;p=c[233701]|0;if((n|0)!=0&(p|0)>0){ec();q=c[233700]|0;r=c[233701]|0}else{q=n;r=p}if((q|0)!=0&(r|0)>0)ec()}if(c[224767]|0)c[224767]=0;(Ik(287)|0)!=3;(Ik(288)|0)!=3;(Ik(289)|0)!=3;(Ik(290)|0)!=3;(Ik(291)|0)!=3;Ik(-5)|0;Ik(-5)|0;Ik(-5)|0;Ik(-5)|0;Ik(-5)|0;if(c[13038]|0){xq(1193540,51640,512)|0;c[13038]=0}r=c[224761]|0;if(!((r|0)==1&(c[224766]|0)!=0)?(c[224768]=0,(r|0)!=1):0)s=0;else{r=zi(801524,c[225186]|0,24367)|0;s=(r|0)==1?1:(r|0)!=2&(c[12903]|0)!=0&1}r=c[43826]|0;c[43826]=(s|0)==0&(r+-1|0)>>>0<4?r+1|0:s;i=b;return}function oc(){ij()|0;if(c[223670]|0)yc(893612,0)|0;if(!(c[233700]|0)){Zj()|0;return}Zj()|0;return}function pc(a,b){a=a|0;b=b|0;nb(11);return bk(a,b)|0}function qc(b,c){b=b|0;c=c|0;var d=0;d=Bm(32768)|0;if(!(rc(b,d)|0)){Km(d,32768,c)|0;a[c+40>>0]=0;Dm(d);return}else{Dm(d);return}}function rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;Em(d,0,32768);e=0;do{a[d+e>>0]=zi(0,b,e)|0;e=e+1|0}while((e|0)!=17152);e=Bm(262144)|0;Em(e,0,262144);f=c[b>>2]|0;b=Vi(f,e,Do(f)|0)|0;if((b|0)>15360){Dm(e);g=1;return g|0}else{xq(d+17152|0,e|0,b|0)|0;Dm(e);g=0;return g|0}return 0}function sc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+32|0;g=f;h=Bm(32773)|0;Em(h,0,32773);j=rc(b,h)|0;a[h+32768>>0]=go(b)|0;a[h+32769>>0]=0;a[h+32770>>0]=1;a[h+32771>>0]=12;a[h+32772>>0]=Ej()|0;if(j|0){Dm(h);k=1;i=f;return k|0}j=kk(160,205,32)|0;Ql(c[(c[c[200397]>>2]|0)+580>>2]|0,j,0,0,0,0,160,205);l=c[b+44316>>2]|0;if(l|0)Ql(l,j,0,0,16,24,128,128);l=c[b>>2]|0;b=l;while(1){m=a[b>>0]|0;n=m<<24>>24==10;o=b+1|0;if(m<<24>>24!=0&(n^1))b=o;else{p=n;q=o;r=b;break}}b=p?q:r;r=g;q=r+32|0;do{a[r>>0]=0;r=r+1|0}while((r|0)<(q|0));if((a[l>>0]|0)==45?(a[l+1>>0]|0)==45:0){p=l+2|0;o=(a[p>>0]|0)==32?l+3|0:p;p=0;a:while(1){l=a[o>>0]|0;switch(l<<24>>24){case 10:case 0:{break a;break}default:{}}if((p|0)>=31)break;a[g+p>>0]=l;o=o+1|0;p=p+1|0}Rk(j,g,c[200398]|0,18,167,1,-1808)|0}r=g;q=r+32|0;do{a[r>>0]=0;r=r+1|0}while((r|0)<(q|0));if((a[b>>0]|0)==45?(a[b+1>>0]|0)==45:0){r=b+2|0;q=(a[r>>0]|0)==32?b+3|0:r;r=0;b:while(1){b=a[q>>0]|0;switch(b<<24>>24){case 10:case 0:{break b;break}default:{}}if((r|0)>=31)break;a[g+r>>0]=b;q=q+1|0;r=r+1|0}Rk(j,g,c[200398]|0,18,175,1,-1808)|0}Rk(j,45036,c[200398]|0,18,187,1,-6250336)|0;g=0;r=c[j+12>>2]|0;while(1){q=d[r>>0]&252;a[r>>0]=q;if((g|0)<131092)a[r>>0]=(d[h+((g|0)/4|0)>>0]|0)>>>(g<<1&6)&3|q;g=g+1|0;if((g|0)==131200)break;else r=r+1|0}ll(e,j)|0;lk(j)|0;Dm(h);k=0;i=f;return k|0}function tc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=0;do{yi(0,b,f,d[e+f>>0]|0);f=f+1|0}while((f|0)!=17152);f=c[b>>2]|0;if(!f){g=Bm(65537)|0;c[b>>2]=g;Em(g,0,65537);h=c[b>>2]|0}else h=f;f=e+17152|0;if((a[f>>0]|0)==58){Em(h,0,65537);Wi(f,c[b>>2]|0,65536)|0;return}else{xq(h|0,f|0,15360)|0;return}}function uc(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+16|0;f=e;c[12023]=0;if(!b){c[12023]=2;g=0;i=e;return g|0}h=jl(b)|0;if(!h){c[12023]=1;g=0;i=e;return g|0}if((c[h>>2]|0)==160?(c[h+4>>2]|0)==205:0){b=bo()|0;j=c[h+12>>2]|0;k=0;do{l=k<<2;a[j+k>>0]=(d[j+(l|1)>>0]|0)<<2&12|(d[j+l>>0]|0)&3|(d[j+(l|2)>>0]|0)<<4&48|(d[j+(l|3)>>0]|0)<<6;k=k+1|0}while((k|0)!=32773);k=j+32768|0;c[b+44320>>2]=d[k>>0];if((d[k>>0]|0)>10){lk(h)|0;c[f>>2]=d[k>>0];Zp(1189444,29984,f)|0;bg(1189444);c[12023]=3;g=0;i=e;return g|0}else{tc(b,j);lk(h)|0;c[12023]=0;g=b;i=e;return g|0}}lk(h)|0;c[12023]=2;g=0;i=e;return g|0}function vc(a){a=a|0;var b=0,d=0,e=0;b=bl(a,43287)|0;if(!b){d=0;return d|0}e=uc(b)|0;cl(b);if(!e){d=0;return d|0}c[e+44316>>2]=zj(a)|0;d=e;return d|0}function wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b;e=b+4|0;f=bl(a,45161)|0;if(!f){g=0;i=b;return g|0}a=bo()|0;h=Bm(34304)|0;rq(h|0,0,34304)|0;Uk(h,1,17152,f)|0;f=0;do{c[e>>2]=0;c[d>>2]=e;Rp(h+(f<<1)|0,30003,d)|0;yi(0,a,f,c[e>>2]|0);f=f+1|0}while((f|0)!=17152);Dm(h);g=a;i=b;return g|0}function xc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+3088|0;e=d;f=d+2064|0;g=d+1040|0;h=d+16|0;Jo(b,a)|0;if(Po(b,41189)|0){i=d;return}hl(a,f,g,h);c[e>>2]=f;c[e+4>>2]=g;c[e+8>>2]=h;Zp(b,30007,e)|0;i=d;return}function yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+4096|0;f=e+3072|0;g=e+2048|0;h=e;j=e+1024|0;if(!(a[b>>0]|0)){k=g;l=30017;m=k+9|0;do{a[k>>0]=a[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));c[h>>2]=3698734}else hl(b,f,g,h);Kn(30026,j);Io(j,g)|0;Io(j,h)|0;if(!d){zc(j)|0;i=e;return 0}else{d=Bm(1048576)|0;h=bl(b,43287)|0;b=Uk(d,1,1048576,h)|0;cl(h);h=bl(j,45334)|0;Wk(d,1,b,h)|0;cl(h);Dm(d);i=e;return 0}return 0}function zc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;i=i+4112|0;e=d;f=d+3088|0;g=d+2064|0;h=d+1040|0;j=d+16|0;if((Do(c[c[33842]>>2]|0)|0)>>>0>65536){bg(30034);k=1;i=d;return k|0}l=Bm(262144)|0;Em(l,0,262144);m=c[c[33842]>>2]|0;n=Vi(m,l,Do(m)|0)|0;Dm(l);l=(n|0)>15360;do if(!(Po(b,40788)|0)){if(l){ag(30192,9);ag(30225,9);cg(30091,n,15360);bg(30258)}}else{if(l){ag(30059,8);cg(30091,n,15360);k=1;i=d;return k|0}m=c[(c[33842]|0)+44316>>2]|0;if(m|0){o=c[m+12>>2]|0;m=a[o>>0]|0;p=1;q=0;while(1){r=(a[o+p>>0]|0)==m<<24>>24?q:1;p=p+1|0;if((p|0)==16384){s=r;break}else q=r}if(s|0)break}ag(30105,9);bg(30129);bg(30160)}while(0);Jo(j,b)|0;if(!(Po(j,41189)|0)){hl(b,f,g,h);c[e>>2]=f;c[e+4>>2]=g;c[e+8>>2]=h;Zp(j,30007,e)|0}if(To(j,893612)|0?Vn(j)|0:0)yc(j,1)|0;e=(Po(j,40788)|0)==0;h=c[33842]|0;if(e)t=io(h,j)|0;else t=sc(h,j)|0;if(t|0){gc(30277,1500);k=t;i=d;return k|0}c[223670]=0;Jo(893612,j)|0;j=c[33842]|0;t=Bm(32768)|0;if(!(rc(j,t)|0)){Km(t,32768,894636)|0;a[894676]=0;Dm(t);k=0;i=d;return k|0}else{Dm(t);k=0;i=d;return k|0}return 0}function Ac(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!b)return;co(c[33842]|0);c[33842]=b;d=c[(c[b+8>>2]|0)+16>>2]|0;e=0;f=32;while(1){g=c[d+(f<<2)>>2]|0;h=e;i=0;while(1){j=(a[g+i>>0]|0)==0?h:1;i=i+1|0;if((i|0)==128){k=j;break}else h=j}f=f+1|0;if((f|0)==64){l=k;break}else e=k}if(!l)xg(b);else yg(b);c[c[222631]>>2]=c[c[33842]>>2];Zb();return}function Bc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=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;b=i;i=i+16|0;d=b;e=a+44320|0;if((c[e>>2]|0)<5)f=0;else{i=b;return}do{g=a+41996+(f<<4)|0;h=c[g>>2]|0;j=h>>>0<64;if(j){k=c[a+12+(h*656|0)+4>>2]|0;l=((k|0)<1?1:k)<<5;k=(c[a+12+(h*656|0)+12>>2]|0)>(c[a+12+(h*656|0)+8>>2]|0);m=(l|0)<0?0:l;n=k?0:l;o=k<<31>>31}else{m=0;n=0;o=-1}k=c[a+41996+(f<<4)+4>>2]|0;l=k>>>0<64;if(l){p=c[a+12+(k*656|0)+4>>2]|0;q=((p|0)<1?1:p)<<5;p=(m|0)>(q|0)?m:q;if((o|0)==-1){r=(c[a+12+(k*656|0)+12>>2]|0)>(c[a+12+(k*656|0)+8>>2]|0);s=p;t=r?n:q;u=r?-1:1}else{s=p;t=n;u=0}}else{s=m;t=n;u=o}p=c[a+41996+(f<<4)+8>>2]|0;r=p>>>0<64;if(r){q=c[a+12+(p*656|0)+4>>2]|0;v=((q|0)<1?1:q)<<5;q=(s|0)>(v|0)?s:v;if((u|0)==-1){w=(c[a+12+(p*656|0)+12>>2]|0)>(c[a+12+(p*656|0)+8>>2]|0);x=q;y=w?t:v;z=w?-1:2}else{x=q;y=t;z=u}}else{x=s;y=t;z=u}q=c[a+41996+(f<<4)+12>>2]|0;w=q>>>0<64;if(w){v=c[a+12+(q*656|0)+4>>2]|0;A=((v|0)<1?1:v)<<5;v=(x|0)>(A|0)?x:A;if((z|0)==-1){if((c[a+12+(q*656|0)+12>>2]|0)<=(c[a+12+(q*656|0)+8>>2]|0)){B=v;C=A;D=3;E=29}}else{B=v;C=y;D=z;E=29}}else{B=x;C=y;D=z;E=29}a:do if((E|0)==29?(E=0,(B|0)!=(C|0)&(D|0)!=-1):0){if((j?(c[a+12+(h*656|0)+12>>2]|0)<=(c[a+12+(h*656|0)+8>>2]|0):0)?(v=c[a+12+(h*656|0)+4>>2]|0,(((v|0)<1?1:v)<<5|0)==(B|0)):0)break;if((l?(c[a+12+(k*656|0)+12>>2]|0)<=(c[a+12+(k*656|0)+8>>2]|0):0)?(v=c[a+12+(k*656|0)+4>>2]|0,(((v|0)<1?1:v)<<5|0)==(B|0)):0)F=1;else E=33;do if((E|0)==33){E=0;if((r?(c[a+12+(p*656|0)+12>>2]|0)<=(c[a+12+(p*656|0)+8>>2]|0):0)?(v=c[a+12+(p*656|0)+4>>2]|0,(((v|0)<1?1:v)<<5|0)==(B|0)):0){F=2;break}if(!w)break a;if((c[a+12+(q*656|0)+12>>2]|0)>(c[a+12+(q*656|0)+8>>2]|0))break a;v=c[a+12+(q*656|0)+4>>2]|0;if((((v|0)<1?1:v)<<5|0)==(B|0))F=3;else break a}while(0);c[d>>2]=f;c[d+4>>2]=0;c[d+8>>2]=F;Zp(1189444,30298,d)|0;bg(1189444);v=c[g>>2]|0;A=a+41996+(f<<4)+(F<<2)|0;c[g>>2]=c[A>>2];c[A>>2]=v}while(0);f=f+1|0}while((f|0)!=64);if((c[e>>2]|0)<5)G=0;else{i=b;return}do{f=0;do{if((c[a+12+(G*656|0)+16+(f*20|0)+4>>2]|0)==6?(F=a+12+(G*656|0)+16+(f*20|0)+8|0,(c[F>>2]|0)>5):0)c[F>>2]=5;f=f+1|0}while((f|0)!=32);G=G+1|0}while((G|0)!=64);if((c[e>>2]|0)>=5){i=b;return}e=c[a>>2]|0;if(!(Po(e,30330)|0)){i=b;return}G=jq(65536)|0;Jo(G,e)|0;xq(c[a>>2]|0,30355,1265)|0;Io(c[a>>2]|0,G)|0;bg(31620);i=b;return}function Cc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;i=i+4112|0;e=d;f=d+3088|0;g=d+2064|0;h=d+1040|0;j=d+16|0;do if(!(Po(b,40788)|0)){k=fo(b)|0;Jo(j,b)|0;if(!k)l=7;else m=k}else{k=bl(b,43287)|0;if(k|0?(n=uc(k)|0,cl(k),n|0):0){c[n+44316>>2]=zj(b)|0;Jo(j,b)|0;m=n;break}Jo(j,b)|0;l=7}while(0);do if((l|0)==7){Jo(j,b)|0;if(!(Po(j,41189)|0)){hl(b,f,g,h);c[e>>2]=f;c[e+4>>2]=g;c[e+8>>2]=h;Zp(j,30007,e)|0}if(Po(j,40788)|0){n=bl(j,43287)|0;if(!n){o=1;i=d;return o|0}k=uc(n)|0;cl(n);if(!k){o=1;i=d;return o|0}else{c[k+44316>>2]=zj(j)|0;m=k;break}}k=fo(j)|0;if(!k){n=j+(Do(j)|0)|0;a[n>>0]=a[40788]|0;a[n+1>>0]=a[40789]|0;a[n+2>>0]=a[40790]|0;a[n+3>>0]=a[40791]|0;a[n+4>>0]=a[40792]|0;n=bl(j,43287)|0;if(n|0?(p=uc(n)|0,cl(n),p|0):0){c[p+44316>>2]=zj(j)|0;m=p;break}Jo(j,b)|0;p=j+(Do(j)|0)|0;a[p>>0]=a[40788]|0;a[p+1>>0]=a[40789]|0;a[p+2>>0]=a[40790]|0;a[p+3>>0]=a[40791]|0;a[p+4>>0]=a[40792]|0;p=bl(j,43287)|0;if(!p){o=1;i=d;return o|0}n=uc(p)|0;cl(p);if(!n){o=1;i=d;return o|0}else{c[n+44316>>2]=zj(j)|0;m=n;break}}else m=k}while(0);Bc(m);co(c[33842]|0);c[33842]=m;b=c[(c[m+8>>2]|0)+16>>2]|0;e=0;h=32;while(1){g=c[b+(h<<2)>>2]|0;f=e;l=0;while(1){k=(a[g+l>>0]|0)==0?f:1;l=l+1|0;if((l|0)==128){q=k;break}else f=k}h=h+1|0;if((h|0)==64){r=q;break}else e=q}if(!r)xg(m);else yg(m);c[c[222631]>>2]=c[c[33842]>>2];Zb();c[223670]=0;Jo(893612,j)|0;j=c[33842]|0;m=Bm(32768)|0;if(!(rc(j,m)|0)){Km(m,32768,894636)|0;a[894676]=0;Dm(m);o=0;i=d;return o|0}else{Dm(m);o=0;i=d;return o|0}return 0}function Dc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+16|0;h=g;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=e;c[h+12>>2]=f;Zp(1184836,31647,h)|0;Yj(1184836);if(To(b,898020)|0){Jo(898020,b)|0;c[224768]=30}do if(!(Po(b,40788)|0)){if(!(Po(b,31683)|0)){if(!(Po(b,31688)|0)){j=15;break}h=bl(b,43287)|0;if(!h){j=15;break}k=bo()|0;l=Bm(17152)|0;rq(l|0,0,17152)|0;Uk(l,1,17152,h)|0;h=0;do{yi(0,k,h,a[l+h>>0]|0);h=h+1|0}while((h|0)!=17152);Dm(l);m=k}else m=wc(b)|0;if(!m)j=15;else n=m}else{h=bl(b,43287)|0;if((h|0)!=0?(o=uc(h)|0,cl(h),(o|0)!=0):0){c[o+44316>>2]=zj(b)|0;n=o}else j=15}while(0);if((j|0)==15){j=fo(b)|0;if(!j){p=1;i=g;return p|0}else n=j}if((f|0)>0){j=0;do{b=c[225186]|0;yi(801524,b,j+d|0,zi(0,n,j+e|0)|0);j=j+1|0}while((j|0)!=(f|0))}co(n);p=0;i=g;return p|0}function Ec(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+1040|0;j=h;k=h+8|0;c[j>>2]=b;Zp(k,38003,j)|0;do if(!(Po(52156,k)|0)){j=0;l=0;a:while(1){switch(a[52156+l>>0]|0){case 0:{m=j;break a;break}case 124:{n=j+1|0;break}default:n=j}j=n;l=l+1|0}if((m|0)>63){o=3;i=h;return o|0}else{Io(52156,k)|0;break}}while(0);Jo(898020,b)|0;c[224768]=30;k=fo(b)|0;if(!k)p=bo()|0;else p=k;if((f|0)>0)if(!g){g=0;do{yi(0,p,g+d|0,zi(801524,c[225186]|0,g+e|0)|0);g=g+1|0}while((g|0)!=(f|0))}else{g=0;do{k=g+d|0;m=g+e|0;yi(0,p,k,zi(801524,c[225186]|0,m)|0);n=c[33842]|0;yi(0,n,k,zi(801524,c[225186]|0,m)|0);g=g+1|0}while((g|0)!=(f|0))}f=io(p,b)|0;co(p);o=f|0?2:0;i=h;return o|0}function Fc(){var b=0,d=0,e=0,f=0,g=0;b=i;i=i+3088|0;d=b;e=b+2056|0;f=b+1032|0;g=b+8|0;if(!(a[893612]|0)){gc(31693,1500);i=b;return}Kn(40830,e);if(Po(893612,e)|0){gc(31725,1500);i=b;return}if(!(zc(893612)|0)){hl(893612,e,f,g);c[d>>2]=f;c[d+4>>2]=g;Zp(1189444,31775,d)|0;gc(1189444,1e3);i=b;return}else{gc(31757,1500);i=b;return}}function Gc(){var b=0,d=0;b=i;i=i+48|0;d=b;if(!((a[893612]|0)!=0&(c[223670]|0)==0)){i=b;return}Jo(d,894636)|0;Cc(893612)|0;if(!(To(d,894636)|0)){i=b;return}gc(31787,1e3);i=b;return}function Hc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+1040|0;e=d;f=d+520|0;g=d+8|0;h=c[12057]|0;j=(h|0)<32?h:32;h=(j|0)<1;k=0;while(1){c[e>>2]=k;Zp(f,31811,e)|0;Mn(f,g);if(!(Vn(g)|0))break;else k=k+1|0}k=h?1:j;j=_(c[b>>2]|0,k)|0;h=kk(j,_(c[b+4>>2]|0,k)|0,8)|0;k=h+4|0;rk(b,h,0,0,c[h>>2]|0,c[k>>2]|0,0);if((c[k>>2]|0)<=0){ll(g,h)|0;lk(h)|0;i=d;return 0}b=h+16|0;j=c[h>>2]|0;f=0;while(1){if((j|0)>0){e=j;l=0;while(1){m=(c[(c[b>>2]|0)+(f<<2)>>2]|0)+l|0;if(!(a[m>>0]|0)){a[m>>0]=16;n=c[h>>2]|0}else n=e;l=l+1|0;if((l|0)>=(n|0)){o=n;break}else e=n}}else o=j;f=f+1|0;if((f|0)>=(c[k>>2]|0))break;else j=o}ll(g,h)|0;lk(h)|0;i=d;return 0}function Ic(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+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?1e6:b;b=(e|0)<(f|0)?f:e;if((b|0)>1e6){Kc(a,1000200);Mc(a,32226,d)}else{Kc(a,b);i=d;return}}function Jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b+64|0;f=c[e>>2]|0;if(f|0){c[f+160>>2]=d;Ca((c[e>>2]|0)+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)ua();Db[d&127](b)|0;ua()}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,q=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)Lc(b);i=h<<3;j=d<<3;k=c[b+12>>2]|0;l=(f|0)!=0;m=k+4|0;n=Gb[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);bd(b,1);o=Gb[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-i|0: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));q=c[e>>2]|0}else q=p;c[g>>2]=d;c[b+24>>2]=q+(d<<3)+-40;d=b+8|0;g=f;c[d>>2]=q+((c[d>>2]|0)-g>>3<<3);d=c[b+56>>2]|0;if(d|0){f=d;do{d=f+8|0;c[d>>2]=q+((c[d>>2]|0)-g>>3<<3);f=c[f>>2]|0}while((f|0)!=0)}f=c[b+16>>2]|0;if(!f)return;b=c[e>>2]|0;q=f;do{f=q+4|0;c[f>>2]=b+((c[f>>2]|0)-g>>3<<3);c[q>>2]=b+((c[q>>2]|0)-g>>3<<3);if(a[q+18>>0]&1){f=q+24|0;c[f>>2]=(c[e>>2]|0)+((c[f>>2]|0)-g>>3<<3)}q=c[q+8>>2]|0}while((q|0)!=0);return}function Lc(a){a=a|0;var b=0;b=i;i=i+16|0;Mc(a,32187,b)}function Mc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;i=i+96|0;g=f;h=f+24|0;j=f+8|0;c[j>>2]=e;e=Nc(b,d,j)|0;j=c[b+16>>2]|0;if(!(a[j+18>>0]&1))Jd(b);d=c[(c[c[j>>2]>>2]|0)+12>>2]|0;f=c[d+20>>2]|0;if(!f)k=0;else k=c[f+(((c[j+28>>2]|0)-(c[d+12>>2]|0)>>2)+-1<<2)>>2]|0;j=c[d+36>>2]|0;a:do if(!j){a[h>>0]=63;a[h+1>>0]=0}else{d=j+16|0;f=Do(d)|0;switch(a[d>>0]|0){case 61:{l=d+1|0;if(f>>>0>60){m=h;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[h+59>>0]=0;break a}else{xq(h|0,l|0,f|0)|0;break a}break}case 64:{if(f>>>0>60){a[h>>0]=a[33052]|0;a[h+1>>0]=a[33053]|0;a[h+2>>0]=a[33054]|0;m=h+3|0;n=d+1+f+-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{xq(h|0,d+1|0,f|0)|0;break a}break}default:{l=Qo(d,10)|0;m=h;n=33056;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=h+9|0;q=(l|0)==0;if(f>>>0<45&q){xq(p|0,d|0,f|0)|0;r=p+f|0}else{s=q?f:l-d|0;q=s>>>0>45?45:s;xq(p|0,d|0,q|0)|0;s=p+q|0;a[s>>0]=a[33052]|0;a[s+1>>0]=a[33053]|0;a[s+2>>0]=a[33054]|0;r=s+3|0};a[r>>0]=a[33066]|0;a[r+1>>0]=a[33067]|0;a[r+2>>0]=a[33068]|0;break a}}}while(0);c[g>>2]=(k<<16)+-131072;c[g+4>>2]=e;Hd(b,33069,g)|0;c[34331]=k;Jd(b)}function Nc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+64|0;h=g+24|0;j=g+16|0;k=g+8|0;l=g;m=g+32|0;n=Qo(e,37)|0;o=b+24|0;p=b+8|0;q=c[p>>2]|0;r=(c[o>>2]|0)-q|0;s=q;a:do if(n){t=b+32|0;u=b+28|0;v=e;w=r;x=s;y=q;z=n;A=0;b:while(1){if((w|0)<24){B=c[t>>2]|0;if((B|0)>1e6){C=5;break}D=(y-(c[u>>2]|0)>>3)+7|0;E=B<<1;B=(E|0)>1e6?1e6:E;E=(B|0)<(D|0)?D:B;if((E|0)>1e6){C=7;break}Kc(b,E);F=c[p>>2]|0}else F=x;c[p>>2]=F+8;E=Oc(b,v,z-v|0)|0;c[F>>2]=E;c[F+4>>2]=d[E+4>>0]|64;E=a[z+1>>0]|0;switch(E|0){case 115:{B=(c[f>>2]|0)+(4-1)&~(4-1);D=c[B>>2]|0;c[f>>2]=B+4;B=(D|0)==0?47994:D;D=Do(B)|0;G=c[p>>2]|0;c[p>>2]=G+8;H=Oc(b,B,D)|0;c[G>>2]=H;c[G+4>>2]=d[H+4>>0]|64;break}case 99:{H=(c[f>>2]|0)+(4-1)&~(4-1);G=c[H>>2]|0;c[f>>2]=H+4;a[m>>0]=G;G=c[p>>2]|0;c[p>>2]=G+8;H=Pc(b,m,1)|0;c[G>>2]=H;c[G+4>>2]=d[H+4>>0]|64;break}case 100:{H=c[p>>2]|0;c[p>>2]=H+8;G=(c[f>>2]|0)+(4-1)&~(4-1);D=c[G>>2]|0;c[f>>2]=G+4;c[H>>2]=D;c[H+4>>2]=3;break}case 102:{H=c[p>>2]|0;c[p>>2]=H+8;D=(c[f>>2]|0)+(4-1)&~(4-1);G=c[D>>2]|0;c[f>>2]=D+4;c[H>>2]=G;c[H+4>>2]=3;break}case 112:{H=(c[f>>2]|0)+(4-1)&~(4-1);G=c[H>>2]|0;c[f>>2]=H+4;c[k>>2]=G;G=Zp(m,33004,k)|0;H=c[p>>2]|0;c[p>>2]=H+8;D=Oc(b,m,G)|0;c[H>>2]=D;c[H+4>>2]=d[D+4>>0]|64;break}case 37:{D=c[p>>2]|0;c[p>>2]=D+8;H=Pc(b,33007,1)|0;c[D>>2]=H;c[D+4>>2]=d[H+4>>0]|64;break}default:{I=E;C=16;break b}}E=A+2|0;H=z+2|0;z=Qo(H,37)|0;D=c[p>>2]|0;G=(c[o>>2]|0)-D|0;B=D;if(!z){J=H;K=D;L=G;M=B;N=E;break a}else{v=H;w=G;x=B;y=D;A=E}}if((C|0)==5)Jc(b,6);else if((C|0)==7){Kc(b,1000200);Mc(b,32226,l)}else if((C|0)==16){c[j>>2]=I;Mc(b,33009,j)}}else{J=e;K=q;L=r;M=s;N=0}while(0);do if((L|0)<16){s=c[b+32>>2]|0;if((s|0)>1e6)Jc(b,6);r=(K-(c[b+28>>2]|0)>>3)+6|0;q=s<<1;s=(q|0)>1e6?1e6:q;q=(s|0)<(r|0)?r:s;if((q|0)>1e6){Kc(b,1000200);Mc(b,32226,h)}else{Kc(b,q);O=c[p>>2]|0;break}}else O=M;while(0);M=Do(J)|0;c[p>>2]=O+8;h=Oc(b,J,M)|0;c[O>>2]=h;c[O+4>>2]=d[h+4>>0]|64;if((N|0)<=0){P=c[p>>2]|0;Q=P+-8|0;R=c[Q>>2]|0;S=R+16|0;i=g;return S|0}wd(b,N|1);P=c[p>>2]|0;Q=P+-8|0;R=c[Q>>2]|0;S=R+16|0;i=g;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;if(f>>>0<41){g=Pc(b,e,f)|0;return g|0}if((f+1|0)>>>0>4294967277)Lc(b);h=c[b+12>>2]|0;i=c[h+44>>2]|0;j=f+17|0;k=h+4|0;l=Gb[c[h>>2]&1](c[k>>2]|0,0,4,j)|0;if((j|0)!=0&(l|0)==0){if(!(a[h+51>>0]|0))Jc(b,4);bd(b,1);m=Gb[c[h>>2]&1](c[k>>2]|0,0,4,j)|0;if(!m)Jc(b,4);else n=m}else n=l;l=h+12|0;c[l>>2]=(c[l>>2]|0)+j;j=h+56|0;a[n+5>>0]=d[h+48>>0]&3;a[n+4>>0]=20;c[n>>2]=c[j>>2];c[j>>2]=n;c[n+12>>2]=f;c[n+8>>2]=i;a[n+6>>0]=0;i=n+16|0;xq(i|0,e|0,f|0)|0;a[i+f>>0]=0;g=n;return g|0}function Pc(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;g=c[b+12>>2]|0;h=c[g+44>>2]^f;i=(f>>>5)+1|0;if(i>>>0>f>>>0)j=h;else{k=h;h=f;while(1){l=(k<<5)+(k>>>2)+(d[e+(h+-1)>>0]|0)^k;h=h-i|0;if(h>>>0<i>>>0){j=l;break}else k=l}}k=g+32|0;i=c[k>>2]|0;h=g+24|0;l=c[h>>2]|0;m=c[l+((i+-1&j)<<2)>>2]|0;a:do if(m|0){n=m;while(1){if(((j|0)==(c[n+8>>2]|0)?(c[n+12>>2]|0)==(f|0):0)?(Oo(e,n+16|0,f)|0)==0:0){o=n;break}n=c[n>>2]|0;if(!n)break a}n=o+5|0;p=(d[n>>0]|0)^3;if(((d[g+48>>0]|0)^3)&p|0){q=o;return q|0}a[n>>0]=p;q=o;return q|0}while(0);o=g+28|0;if((i|0)<1073741823?(c[o>>2]|0)>>>0>=i>>>0:0){Qc(b,i<<1);r=c[k>>2]|0;s=c[h>>2]|0}else{r=i;s=l}l=Id(b,e,f,4,j,s+((r+-1&j)<<2)|0)|0;c[o>>2]=(c[o>>2]|0)+1;q=l;return q|0}function Qc(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;f=b+12|0;g=c[f>>2]|0;h=g+24|0;i=g+49|0;if(!(1<<d[i>>0]&-5))do Rc(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)Lc(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=Gb[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);bd(b,1);q=Gb[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-k|0: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=c[i>>2]|0;p=e+-1|0;l=0;do{r=(c[h>>2]|0)+(l<<2)|0;k=c[r>>2]|0;c[r>>2]=0;if(k|0){r=k;do{k=r;r=c[r>>2]|0;n=(c[h>>2]|0)+((c[k+8>>2]&p)<<2)|0;c[k>>2]=c[n>>2];c[n>>2]=k;n=k+5|0;a[n>>0]=d[n>>0]&191}while((r|0)!=0)}l=l+1|0}while((l|0)<(g|0));t=g}else t=s;if((t|0)<=(e|0)){c[i>>2]=e;return}if((e+1|0)>>>0>1073741823)Lc(b);s=c[h>>2]|0;g=t<<2;t=e<<2;l=c[f>>2]|0;f=(s|0)!=0;p=l+4|0;r=Gb[c[l>>2]&1](c[p>>2]|0,s,g,t)|0;if((t|0)!=0&(r|0)==0){if(!(a[l+51>>0]|0))Jc(b,4);bd(b,1);n=Gb[c[l>>2]&1](c[p>>2]|0,s,g,t)|0;if(!n)Jc(b,4);else u=n}else u=r;r=l+12|0;c[r>>2]=(f?0-g|0:0)+t+(c[r>>2]|0);c[h>>2]=u;c[i>>2]=e;return}function Rc(b){b=b|0;var e=0,f=0,g=0,h=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;e=i;i=i+16|0;f=e;g=b+12|0;h=c[g>>2]|0;j=h+49|0;switch(d[j>>0]|0){case 5:{k=h+16|0;c[k>>2]=c[h+32>>2]<<2;l=h+72|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;l=c[h+144>>2]|0;if(l|0?a[l+5>>0]&3:0)Sc(h,l);if(c[h+40>>2]&64|0?(l=c[h+36>>2]|0,a[l+5>>0]&3):0)Sc(h,l);Tc(h);l=c[h+92>>2]|0;if(l|0){m=h+48|0;n=l;do{l=n+5|0;a[l>>0]=d[m>>0]&3|d[l>>0]&184;Sc(h,n);n=c[n>>2]|0}while((n|0)!=0)}a[j>>0]=0;o=c[k>>2]|0;i=e;return o|0}case 0:{k=h+72|0;if(c[k>>2]|0){n=h+16|0;m=c[n>>2]|0;Uc(h);o=(c[n>>2]|0)-m|0;i=e;return o|0}a[j>>0]=1;m=h+16|0;n=c[m>>2]|0;l=h+20|0;c[l>>2]=n;if(a[b+5>>0]&3)Sc(h,b);if(c[h+40>>2]&64|0?(p=c[h+36>>2]|0,a[p+5>>0]&3):0)Sc(h,p);Tc(h);p=h+96|0;q=c[h+112>>2]|0;if((q|0)!=(p|0)){r=q;do{if(((a[r+5>>0]&7)==0?(q=c[r+8>>2]|0,c[q+4>>2]&64|0):0)?(s=c[q>>2]|0,a[s+5>>0]&3):0)Sc(h,s);r=c[r+16>>2]|0}while((r|0)!=(p|0))}if(c[k>>2]|0)do Uc(h);while((c[k>>2]|0)!=0);p=(c[m>>2]|0)-n|0;n=h+80|0;r=c[n>>2]|0;s=h+76|0;q=c[s>>2]|0;t=h+84|0;u=c[t>>2]|0;c[t>>2]=0;c[s>>2]=0;c[n>>2]=0;c[k>>2]=q;if(q|0)do Uc(h);while((c[k>>2]|0)!=0);c[k>>2]=r;if(r|0)do Uc(h);while((c[k>>2]|0)!=0);c[k>>2]=u;if(u|0)do Uc(h);while((c[k>>2]|0)!=0);u=c[m>>2]|0;while(1){r=c[t>>2]|0;c[t>>2]=0;q=0;s=r;a:while(1){r=s;while(1){if(!r){v=q;break a}w=c[r+24>>2]|0;if(!(Vc(h,r)|0))r=w;else{x=w;break}}if(!(c[k>>2]|0)){q=1;s=x;continue}while(1){Uc(h);if(!(c[k>>2]|0)){q=1;s=x;continue a}}}if(!v)break}Wc(h,c[n>>2]|0,0);v=h+88|0;Wc(h,c[v>>2]|0,0);x=c[n>>2]|0;s=c[v>>2]|0;q=p-u+(c[m>>2]|0)|0;u=c[g>>2]|0;p=u+60|0;r=u+92|0;u=c[r>>2]|0;if(!u)y=r;else{r=u;while(1){u=c[r>>2]|0;if(!u){y=r;break}else r=u}}r=c[p>>2]|0;b:do if(r|0){u=r;w=y;z=p;while(1){A=u;B=w;while(1){C=A+5|0;D=d[C>>0]|0;if(!(D&3)){E=A;F=B;break}a[C>>0]=D|8;c[z>>2]=c[A>>2];c[A>>2]=c[B>>2];c[B>>2]=A;D=c[z>>2]|0;if(!D)break b;else{C=A;A=D;B=C}}B=c[E>>2]|0;if(!B)break;else{u=B;w=F;z=E}}}while(0);E=c[h+92>>2]|0;if(E|0){F=h+48|0;p=E;do{E=p+5|0;a[E>>0]=d[F>>0]&3|d[E>>0]&184;Sc(h,p);p=c[p>>2]|0}while((p|0)!=0)}if(c[k>>2]|0)do Uc(h);while((c[k>>2]|0)!=0);p=c[m>>2]|0;while(1){F=c[t>>2]|0;c[t>>2]=0;E=0;y=F;c:while(1){F=y;while(1){if(!F){G=E;break c}r=c[F+24>>2]|0;if(!(Vc(h,F)|0))F=r;else{H=r;break}}if(!(c[k>>2]|0)){E=1;y=H;continue}while(1){Uc(h);if(!(c[k>>2]|0)){E=1;y=H;continue c}}}if(!G)break}G=q-p|0;p=c[t>>2]|0;if(p|0){t=p;do{p=a[t+7>>0]|0;q=c[t+16>>2]|0;H=q+((1<<(p&255))*20|0)|0;if(p<<24>>24!=31){p=q;do{q=p+4|0;do if(c[q>>2]|0){k=p+12|0;y=c[k>>2]|0;if(!(y&64))break;E=c[p+8>>2]|0;if((y&15|0)!=4){if(!(a[E+5>>0]&3))break;c[q>>2]=0;c[k>>2]=11;break}if(!E)break;if(!(a[E+5>>0]&3))break;Sc(h,E)}while(0);p=p+20|0}while(p>>>0<H>>>0)}t=c[t+24>>2]|0}while((t|0)!=0)}t=c[v>>2]|0;if(t|0){H=t;do{t=a[H+7>>0]|0;p=c[H+16>>2]|0;q=p+((1<<(t&255))*20|0)|0;if(t<<24>>24!=31){t=p;do{p=t+4|0;do if(c[p>>2]|0){E=t+12|0;k=c[E>>2]|0;if(!(k&64))break;y=c[t+8>>2]|0;if((k&15|0)!=4){if(!(a[y+5>>0]&3))break;c[p>>2]=0;c[E>>2]=11;break}if(!y)break;if(!(a[y+5>>0]&3))break;Sc(h,y)}while(0);t=t+20|0}while(t>>>0<q>>>0)}H=c[H+24>>2]|0}while((H|0)!=0)}Wc(h,c[n>>2]|0,x);Wc(h,c[v>>2]|0,s);s=h+48|0;a[s>>0]=d[s>>0]^3;s=G+(c[m>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+s;l=c[g>>2]|0;a[l+49>>0]=2;c[l+52>>2]=0;m=l+60|0;G=l;v=0;d:while(1){x=v+1|0;n=c[G+48>>2]|0;H=n&255^3;q=(n&16711680|0)==131072;t=q?255:184;p=q?64:n&3;n=q?64:0;q=c[m>>2]|0;e:do if(!q){I=m;J=0}else{y=m;E=1;k=q;while(1){F=E;r=k;while(1){if(!F){I=y;J=r;break e}F=F+-1|0;z=r+5|0;w=d[z>>0]|0;if((w^3)&H|0){K=r;L=F;M=r;N=z;O=w;break}c[y>>2]=c[r>>2];Yc(b,r);r=c[y>>2]|0;if(!r){I=y;J=0;break e}}if(O&n|0){P=0;Q=x;break d}if((a[M+4>>0]|0)==8)ad(b,K);a[N>>0]=O&t|p;r=c[K>>2]|0;if(!r){I=K;J=0;break}else{y=K;E=L;k=r}}}while(0);p=(J|0)==0?0:I;if((p|0)!=(m|0)){P=p;Q=x;break}G=c[g>>2]|0;v=x}c[l+68>>2]=P;P=l+56|0;v=0;f:while(1){G=v+1|0;m=c[(c[g>>2]|0)+48>>2]|0;I=m&255^3;J=(m&16711680|0)==131072;L=J?255:184;K=J?64:m&3;m=J?64:0;J=c[P>>2]|0;g:do if(!J){R=P;S=0}else{O=P;N=1;M=J;while(1){p=N;t=M;while(1){if(!p){R=O;S=t;break g}p=p+-1|0;n=t+5|0;H=d[n>>0]|0;if((H^3)&I|0){T=t;U=t;V=p;W=n;X=H;break}c[O>>2]=c[t>>2];Yc(b,t);t=c[O>>2]|0;if(!t){R=O;S=0;break g}}if(X&m|0){Y=0;Z=G;break f}if((a[T+4>>0]|0)==8)ad(b,U);a[W>>0]=X&L|K;t=c[U>>2]|0;if(!t){R=U;S=0;break}else{O=U;N=V;M=t}}}while(0);K=(S|0)==0?0:R;if((K|0)==(P|0))v=G;else{Y=K;Z=G;break}}c[l+64>>2]=Y;o=((Z+Q|0)*5|0)+s|0;i=e;return o|0}case 2:{s=h+52|0;Q=h+32|0;Z=h+24|0;Y=0;while(1){l=c[s>>2]|0;v=l+Y|0;P=c[Q>>2]|0;if((v|0)>=(P|0)){_=l;$=P;aa=Y;break}P=(c[Z>>2]|0)+(v<<2)|0;v=c[(c[g>>2]|0)+48>>2]|0;l=v&255^3;R=(v&16711680|0)==131072;S=R?255:184;V=R?64:v&3;v=R?64:0;R=c[P>>2]|0;h:do if(R|0){U=P;X=-3;W=R;while(1){T=X;K=W;while(1){if(!T)break h;T=T+-1|0;L=K+5|0;m=d[L>>0]|0;if((m^3)&l|0){ba=K;ca=T;da=K;ea=L;fa=m;break}c[U>>2]=c[K>>2];Yc(b,K);K=c[U>>2]|0;if(!K)break h}if(fa&v|0)break h;if((a[da+4>>0]|0)==8)ad(b,ba);a[ea>>0]=fa&S|V;K=c[ba>>2]|0;if(!K)break;else{U=ba;X=ca;W=K}}}while(0);V=Y+1|0;if((V|0)<80)Y=V;else{ga=V;ha=121;break}}if((ha|0)==121){_=c[s>>2]|0;$=c[Q>>2]|0;aa=ga}ga=_+aa|0;c[s>>2]=ga;if((ga|0)>=($|0))a[j>>0]=3;o=aa*5|0;i=e;return o|0}case 3:{aa=h+68|0;$=c[aa>>2]|0;if(!$){a[j>>0]=4;o=0;i=e;return o|0}ga=c[h+48>>2]|0;s=ga&255^3;_=(ga&16711680|0)==131072;Q=_?255:184;Y=_?64:ga&3;ga=_?64:0;_=c[$>>2]|0;i:do if(!_){ia=$;ja=0;ha=135}else{ca=$;ba=80;fa=_;while(1){ea=ba;da=fa;while(1){if(!ea){ia=ca;ja=da;ha=135;break i}ea=ea+-1|0;Z=da+5|0;V=d[Z>>0]|0;if((V^3)&s|0){ka=da;la=ea;ma=da;na=Z;oa=V;break}c[ca>>2]=c[da>>2];Yc(b,da);da=c[ca>>2]|0;if(!da){ia=ca;ja=0;ha=135;break i}}if(oa&ga|0){pa=0;break i}if((a[ma+4>>0]|0)==8)ad(b,ka);a[na>>0]=oa&Q|Y;da=c[ka>>2]|0;if(!da){ia=ka;ja=0;ha=135;break}else{ca=ka;ba=la;fa=da}}}while(0);if((ha|0)==135)pa=(ja|0)==0?0:ia;c[aa>>2]=pa;o=400;i=e;return o|0}case 4:{pa=h+64|0;aa=c[pa>>2]|0;if(aa|0){ia=c[h+48>>2]|0;ja=ia&255^3;la=(ia&16711680|0)==131072;ka=la?255:184;Y=la?64:ia&3;ia=la?64:0;la=c[aa>>2]|0;j:do if(!la){qa=aa;ra=0;ha=148}else{Q=aa;oa=80;na=la;while(1){ma=oa;ga=na;while(1){if(!ma){qa=Q;ra=ga;ha=148;break j}ma=ma+-1|0;s=ga+5|0;_=d[s>>0]|0;if((_^3)&ja|0){sa=ga;ta=ma;ua=ga;va=s;wa=_;break}c[Q>>2]=c[ga>>2];Yc(b,ga);ga=c[Q>>2]|0;if(!ga){qa=Q;ra=0;ha=148;break j}}if(wa&ia|0){xa=0;break j}if((a[ua+4>>0]|0)==8)ad(b,sa);a[va>>0]=wa&ka|Y;ga=c[sa>>2]|0;if(!ga){qa=sa;ra=0;ha=148;break}else{Q=sa;oa=ta;na=ga}}}while(0);if((ha|0)==148)xa=(ra|0)==0?0:qa;c[pa>>2]=xa;o=400;i=e;return o|0}xa=c[h+144>>2]|0;c[f>>2]=xa;pa=c[h+48>>2]|0;h=pa&255^3;qa=(pa&16711680|0)==131072;ra=qa?255:184;ha=qa?64:pa&3;pa=qa?64:0;k:do if(xa|0){qa=f;ta=1;sa=xa;while(1){Y=ta;ka=sa;while(1){if(!Y)break k;Y=Y+-1|0;wa=ka+5|0;va=d[wa>>0]|0;if((va^3)&h|0){ya=ka;za=Y;Aa=ka;Ba=wa;Ca=va;break}c[qa>>2]=c[ka>>2];Yc(b,ka);ka=c[qa>>2]|0;if(!ka)break k}if(Ca&pa|0)break k;if((a[Aa+4>>0]|0)==8)ad(b,ya);a[Ba>>0]=Ca&ra|ha;ka=c[ya>>2]|0;if(!ka)break;else{qa=ya;ta=za;sa=ka}}}while(0);za=c[g>>2]|0;if((a[za+50>>0]|0)!=1){ya=(c[za+32>>2]|0)/2|0;if((c[za+28>>2]|0)>>>0<ya>>>0){Qc(b,ya);Da=c[g>>2]|0}else Da=za;g=za+116|0;ya=c[g>>2]|0;b=za+124|0;za=c[b>>2]|0;ha=Gb[c[Da>>2]&1](c[Da+4>>2]|0,ya,za,0)|0;ra=Da+12|0;c[ra>>2]=(c[ra>>2]|0)-(ya|0?za:0);c[g>>2]=ha;c[b>>2]=0}a[j>>0]=5;o=5;i=e;return o|0}default:{o=0;i=e;return o|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;f=e+5|0;a[f>>0]=(d[f>>0]|0)&252;switch(d[e+4>>0]|0|0){case 20:case 4:{g=(c[e+12>>2]|0)+17|0;break}case 7:{h=c[e+8>>2]|0;if(h|0?a[h+5>>0]&3:0)Sc(b,h);h=c[e+12>>2]|0;if(h|0?a[h+5>>0]&3:0)Sc(b,h);g=(c[e+16>>2]|0)+24|0;break}case 10:{h=e+8|0;i=c[h>>2]|0;if((c[i+4>>2]&64|0)!=0?(j=c[i>>2]|0,(a[j+5>>0]&3)!=0):0){Sc(b,j);k=c[h>>2]|0}else k=i;if((k|0)==(e+12|0))g=20;else return;break}case 6:{k=b+72|0;c[e+8>>2]=c[k>>2];c[k>>2]=e;return}case 38:{k=b+72|0;c[e+8>>2]=c[k>>2];c[k>>2]=e;return}case 5:{k=b+72|0;c[e+24>>2]=c[k>>2];c[k>>2]=e;return}case 8:{k=b+72|0;c[e+60>>2]=c[k>>2];c[k>>2]=e;return}case 9:{k=b+72|0;c[e+72>>2]=c[k>>2];c[k>>2]=e;return}default:return}a[f>>0]=d[f>>0]|0|4;f=b+16|0;c[f>>2]=(c[f>>2]|0)+g;return}function Tc(b){b=b|0;var d=0;d=c[b+224>>2]|0;if(d|0?a[d+5>>0]&3:0)Sc(b,d);d=c[b+228>>2]|0;if(d|0?a[d+5>>0]&3:0)Sc(b,d);d=c[b+232>>2]|0;if(d|0?a[d+5>>0]&3:0)Sc(b,d);d=c[b+236>>2]|0;if(d|0?a[d+5>>0]&3:0)Sc(b,d);d=c[b+240>>2]|0;if(d|0?a[d+5>>0]&3:0)Sc(b,d);d=c[b+244>>2]|0;if(d|0?a[d+5>>0]&3:0)Sc(b,d);d=c[b+248>>2]|0;if(d|0?a[d+5>>0]&3:0)Sc(b,d);d=c[b+252>>2]|0;if(d|0?a[d+5>>0]&3:0)Sc(b,d);d=c[b+256>>2]|0;if(!d)return;if(!(a[d+5>>0]&3))return;Sc(b,d);return}function Uc(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;f=e+72|0;g=c[f>>2]|0;h=g+5|0;a[h>>0]=d[h>>0]|4;i=c[g+4>>2]|0;j=i>>>16;k=j&255;switch(i&255|0){case 5:{l=g+24|0;c[f>>2]=c[l>>2];m=c[g+8>>2]|0;do if(m){n=m+6|0;o=b[n>>1]|0;if(!(o&8)){p=c[e+168>>2]|0;q=(c[m+16>>2]|0)+((c[p+8>>2]&(1<<((o&65535)>>>8&65535))+-1)*20|0)|0;while(1){if((c[q+12>>2]|0)==68?(c[q+8>>2]|0)==(p|0):0){r=q;s=7;break}q=c[q+16>>2]|0;if(!q){t=137316;break}}if((s|0)==7)t=r;if(!(c[t+4>>2]|0)){a[n>>0]=o&65535|8;u=0}else u=t}else u=0;if(a[m+5>>0]&3)Sc(e,m);if(((u|0)!=0?(c[u+4>>2]&15|0)==4:0)?(q=(c[u>>2]|0)+16|0,p=Qo(q,107)|0,v=(p|0)!=0,p=(Qo(q,118)|0)!=0,v|p):0){q=g+5|0;a[q>>0]=d[q>>0]&251;if(v)if(p){p=e+88|0;c[l>>2]=c[p>>2];c[p>>2]=g;break}else{Vc(e,g)|0;break}p=a[g+7>>0]|0;v=c[g+16>>2]|0;q=v+((1<<(p&255))*20|0)|0;w=(c[g+28>>2]|0)>0&1;if(p<<24>>24==31)x=w;else{p=w;w=v;while(1){v=w+4|0;y=w+12|0;z=(c[y>>2]&64|0)==0;if(!(c[v>>2]|0))if(!z?(a[(c[w+8>>2]|0)+5>>0]&3)!=0:0){c[y>>2]=11;A=p}else A=p;else{if(!z?(z=c[w+8>>2]|0,a[z+5>>0]&3):0)Sc(e,z);if(!p){z=c[v>>2]|0;do if(z&64){v=c[w>>2]|0;if((z&15|0)!=4){B=d[v+5>>0]&3;break}if(v){if(!(a[v+5>>0]&3)){B=0;break}Sc(e,v);B=0}else B=0}else B=0;while(0);A=(B|0)!=0&1}else A=p}w=w+20|0;if(w>>>0>=q>>>0){x=A;break}else p=A}}if(!x){p=e+76|0;c[l>>2]=c[p>>2];c[p>>2]=g;break}else{p=e+80|0;c[l>>2]=c[p>>2];c[p>>2]=g;break}}else s=40}else s=40;while(0);if((s|0)==40){s=g+16|0;l=c[s>>2]|0;x=l+((1<<d[g+7>>0])*20|0)|0;A=g+28|0;B=c[A>>2]|0;if((B|0)>0){u=g+12|0;m=B;B=0;while(1){t=c[u>>2]|0;if((c[t+(B<<3)+4>>2]&64|0)!=0?(r=c[t+(B<<3)>>2]|0,(a[r+5>>0]&3)!=0):0){Sc(e,r);C=c[A>>2]|0}else C=m;B=B+1|0;if((B|0)>=(C|0))break;else m=C}D=c[s>>2]|0}else D=l;if(D>>>0<x>>>0){l=D;do{D=l+4|0;s=c[D>>2]|0;C=l+12|0;m=(c[C>>2]&64|0)==0;if(!s){if(!m?a[(c[l+8>>2]|0)+5>>0]&3:0)c[C>>2]=11}else{if(!m?(m=c[l+8>>2]|0,(a[m+5>>0]&3)!=0):0){Sc(e,m);E=c[D>>2]|0}else E=s;if(E&64|0?(s=c[l>>2]|0,a[s+5>>0]&3):0)Sc(e,s)}l=l+20|0}while(l>>>0<x>>>0)}}F=(c[g+28>>2]<<3)+32+(20<<d[g+7>>0])|0;break}case 6:{c[f>>2]=c[g+8>>2];x=c[g+12>>2]|0;if((x|0)!=0?(a[x+5>>0]&3)!=0:0){Sc(e,x);G=a[g+6>>0]|0}else G=k;x=g+6|0;if(!(G<<24>>24))H=G&255;else{l=G;G=0;while(1){E=c[g+16+(G<<2)>>2]|0;if((E|0)!=0?(a[E+5>>0]&3)!=0:0){Sc(e,E);I=a[x>>0]|0}else I=l;G=G+1|0;E=I&255;if((G|0)>=(E|0)){H=E;break}else l=I}}F=(H<<2)+16|0;break}case 38:{c[f>>2]=c[g+8>>2];H=g+6|0;if(!(k<<24>>24))J=j&255;else{j=k;k=0;while(1){if((c[g+16+(k<<3)+4>>2]&64|0)!=0?(I=c[g+16+(k<<3)>>2]|0,(a[I+5>>0]&3)!=0):0){Sc(e,I);K=a[H>>0]|0}else K=j;k=k+1|0;I=K&255;if((k|0)>=(I|0)){J=I;break}else j=K}}F=(J<<3)+16|0;break}case 8:{J=g+60|0;c[f>>2]=c[J>>2];K=e+76|0;c[J>>2]=c[K>>2];c[K>>2]=g;a[h>>0]=i>>>8&251;i=g+28|0;h=c[i>>2]|0;if(!h)F=1;else{K=g+8|0;J=c[K>>2]|0;if(h>>>0<J>>>0){j=J;J=h;while(1){if((c[J+4>>2]&64|0)!=0?(k=c[J>>2]|0,(a[k+5>>0]&3)!=0):0){Sc(e,k);L=c[K>>2]|0}else L=j;k=J+8|0;if(k>>>0<L>>>0){j=L;J=k}else{M=k;break}}}else M=h;if((a[e+49>>0]|0)==1){h=(c[i>>2]|0)+(c[g+32>>2]<<3)|0;if(M>>>0<h>>>0){i=M;do{c[i+4>>2]=0;i=i+8|0}while(i>>>0<h>>>0);N=112}else N=112}else{h=g+72|0;i=c[g+16>>2]|0;if((h|0)==(i|0))N=112;else{M=h;h=0;while(1){J=h+1|0;M=c[M+12>>2]|0;if((M|0)==(i|0)){O=J;break}else h=J}N=(O*40|0)+112|0}}F=(c[g+32>>2]<<3)+N|0}break}case 9:{c[f>>2]=c[g+72>>2];f=g+32|0;N=c[f>>2]|0;if(N|0?a[N+5>>0]&3:0)c[f>>2]=0;f=c[g+36>>2]|0;if(f|0?a[f+5>>0]&3:0)Sc(e,f);f=g+44|0;N=c[f>>2]|0;if((N|0)>0){O=g+8|0;h=N;N=0;while(1){i=c[O>>2]|0;if((c[i+(N<<3)+4>>2]&64|0)!=0?(M=c[i+(N<<3)>>2]|0,(a[M+5>>0]&3)!=0):0){Sc(e,M);P=c[f>>2]|0}else P=h;N=N+1|0;if((N|0)>=(P|0))break;else h=P}}P=g+40|0;h=c[P>>2]|0;if((h|0)>0){N=g+28|0;O=h;h=0;while(1){M=c[(c[N>>2]|0)+(h<<3)>>2]|0;if((M|0)!=0?(a[M+5>>0]&3)!=0:0){Sc(e,M);Q=c[P>>2]|0}else Q=O;h=h+1|0;if((h|0)>=(Q|0))break;else O=Q}}Q=g+56|0;O=c[Q>>2]|0;if((O|0)>0){h=g+16|0;N=O;M=0;while(1){i=c[(c[h>>2]|0)+(M<<2)>>2]|0;if((i|0)!=0?(a[i+5>>0]&3)!=0:0){Sc(e,i);R=c[Q>>2]|0}else R=N;M=M+1|0;if((M|0)>=(R|0)){S=R;break}else N=R}}else S=O;O=g+60|0;R=c[O>>2]|0;if((R|0)>0){N=g+24|0;M=R;h=0;while(1){i=c[(c[N>>2]|0)+(h*12|0)>>2]|0;if((i|0)!=0?(a[i+5>>0]&3)!=0:0){Sc(e,i);T=c[O>>2]|0}else T=M;h=h+1|0;if((h|0)>=(T|0)){U=T;break}else M=T}V=U;W=c[Q>>2]|0}else{V=R;W=S}F=(V*12|0)+80+((c[g+48>>2]|0)+W+(c[g+52>>2]|0)<<2)+((c[P>>2]|0)+(c[f>>2]|0)<<3)|0;break}default:return}f=e+16|0;c[f>>2]=(c[f>>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,B=0,C=0,D=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=j;j=0;m=0;while(1){n=c[k>>2]|0;if((c[n+(j<<3)+4>>2]&64|0)!=0?(o=c[n+(j<<3)>>2]|0,(a[o+5>>0]&3)!=0):0){Sc(b,o);p=c[i>>2]|0;q=1}else{p=l;q=m}j=j+1|0;if((j|0)>=(p|0)){r=q;break}else{l=p;m=q}}s=c[f>>2]|0;t=r}else{s=g;t=0}if(s>>>0<h>>>0){g=0;r=t;f=s;s=0;while(1){q=f+4|0;m=c[q>>2]|0;p=f+12|0;l=c[p>>2]|0;j=(l&64|0)==0;a:do if(!m)if(!j?(a[(c[f+8>>2]|0)+5>>0]&3)!=0:0){c[p>>2]=11;u=g;v=r;w=s}else{u=g;v=r;w=s}else{do if(j){x=m;y=18}else{i=c[f+8>>2]|0;if((l&15|0)==4){if(!i){x=m;y=18;break}if(!(a[i+5>>0]&3)){x=m;y=18;break}Sc(b,i);x=c[q>>2]|0;y=18;break}k=(m&64|0)==0;if(!(a[i+5>>0]&3))if(k){u=g;v=r;w=s;break a}else break;if(k){u=1;v=r;w=s;break a}u=1;v=r;w=(a[(c[f>>2]|0)+5>>0]&3)==0?s:1;break a}while(0);if((y|0)==18?(y=0,(x&64|0)==0):0){u=g;v=r;w=s;break}k=c[f>>2]|0;if(!(a[k+5>>0]&3)){u=g;v=r;w=s}else{Sc(b,k);u=g;v=1;w=s}}while(0);f=f+20|0;if(f>>>0>=h>>>0){z=u;A=v;B=w;break}else{g=u;r=v;s=w}}if(B|0){B=b+84|0;c[e+24>>2]=c[B>>2];c[B>>2]=e;C=A;return C|0}if(!z)D=A;else{z=b+88|0;c[e+24>>2]=c[z>>2];c[z>>2]=e;C=A;return C|0}}else D=t;t=b+76|0;c[e+24>>2]=c[t>>2];c[t>>2]=e;C=D;return C|0}function Wc(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;else 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(Xc(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?Xc(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 Xc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=c[e+4>>2]|0;if(!(f&64)){g=0;return g|0}h=c[e>>2]|0;if((f&15|0)!=4){g=(d[h+5>>0]|0)&3;return g|0}if(!h){g=0;return g|0}if(!(a[h+5>>0]&3)){g=0;return g|0}Sc(b,h);g=0;return g|0}function Yc(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=c[b+4>>2]|0;e=d>>>16;do switch(d&255|0){case 9:{Zc(a,b);return}case 6:{f=(e<<2&1020)+16|0;g=c[a+12>>2]|0;Gb[c[g>>2]&1](c[g+4>>2]|0,b,f,0)|0;h=g+12|0;c[h>>2]=(c[h>>2]|0)-f;return}case 38:{f=(e<<3&2040)+16|0;h=c[a+12>>2]|0;Gb[c[h>>2]&1](c[h+4>>2]|0,b,f,0)|0;g=h+12|0;c[g>>2]=(c[g>>2]|0)-f;return}case 10:{f=b+12|0;if((c[b+8>>2]|0)!=(f|0)){g=c[b+16>>2]|0;c[g+12>>2]=c[f>>2];c[(c[f>>2]|0)+16>>2]=g}g=c[a+12>>2]|0;Gb[c[g>>2]&1](c[g+4>>2]|0,b,20,0)|0;f=g+12|0;c[f>>2]=(c[f>>2]|0)+-20;return}case 5:{f=c[b+16>>2]|0;if((f|0)==137332)i=a+12|0;else{g=20<<(d>>>24);h=a+12|0;j=c[h>>2]|0;Gb[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?g:0);i=h}h=c[b+12>>2]|0;g=c[b+28>>2]<<3;f=c[i>>2]|0;Gb[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?g:0);g=c[i>>2]|0;Gb[c[g>>2]&1](c[g+4>>2]|0,b,32,0)|0;h=g+12|0;c[h>>2]=(c[h>>2]|0)+-32;return}case 8:{_c(a,b);return}case 7:{h=(c[b+16>>2]|0)+24|0;g=c[a+12>>2]|0;Gb[c[g>>2]&1](c[g+4>>2]|0,b,h,0)|0;k=g+12|0;c[k>>2]=(c[k>>2]|0)-h;return}case 4:{h=c[a+12>>2]|0;k=h+28|0;c[k>>2]=(c[k>>2]|0)+-1;l=h;break}case 20:{l=c[a+12>>2]|0;break}default:return}while(0);a=(c[b+12>>2]|0)+17|0;Gb[c[l>>2]&1](c[l+4>>2]|0,b,a,0)|0;b=l+12|0;c[b>>2]=(c[b>>2]|0)-a;return}function Zc(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;Gb[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?e:0);e=c[b+16>>2]|0;d=c[b+56>>2]<<2;g=c[f>>2]|0;Gb[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?d:0);d=c[b+8>>2]|0;e=c[b+44>>2]<<3;a=c[f>>2]|0;Gb[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?e:0);e=c[b+20>>2]|0;d=c[b+52>>2]<<2;g=c[f>>2]|0;Gb[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?d:0);d=c[b+24>>2]|0;e=(c[b+60>>2]|0)*12|0;a=c[f>>2]|0;Gb[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?e:0);e=c[b+28>>2]|0;d=c[b+40>>2]<<3;g=c[f>>2]|0;Gb[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?d:0);d=c[f>>2]|0;Gb[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?80:0);return}function _c(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;$c(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;Gb[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?40:0)}while((e|0)!=0);h=c[d>>2]|0}d=c[b+32>>2]<<3;e=c[f>>2]|0;Gb[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?d:0)}d=c[a+12>>2]|0;Gb[c[d>>2]&1](c[d+4>>2]|0,b,112,0)|0;b=d+12|0;c[b>>2]=(c[b>>2]|0)+-112;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;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=d[m+5>>0]|0;q=m+12|0;do if((d[i>>0]^3)&(p^3)){r=m+16|0;s=c[r>>2]|0;c[s+12>>2]=c[q>>2];c[(c[q>>2]|0)+16>>2]=s;c[q>>2]=c[n>>2];c[r>>2]=c[n+4>>2];c[b>>2]=q;c[m>>2]=c[j>>2];c[j>>2]=m;r=m+5|0;if(!(p&7)){if((a[k>>0]|0)!=2?(d[l>>0]|0)>=2:0){a[r>>0]=d[i>>0]&3|p&184;break}a[r>>0]=p&187|4;if(c[m+16>>2]&64|0?(r=c[q>>2]|0,a[r+5>>0]&3):0)Sc(g,r)}}else{if((n|0)!=(q|0)){r=c[m+16>>2]|0;c[r+12>>2]=c[q>>2];c[(c[q>>2]|0)+16>>2]=r}r=c[f>>2]|0;Gb[c[r>>2]&1](c[r+4>>2]|0,m,20,0)|0;s=r+12|0;c[s>>2]=(c[s>>2]|0)+-20}while(0);m=c[h>>2]|0;if(!m){o=16;break}}if((o|0)==16)return}function ad(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;f=e+28|0;if(!(c[f>>2]|0))return;g=e+56|0;h=b+12|0;i=c[(c[h>>2]|0)+48>>2]|0;j=i&255^3;k=(i&16711680|0)==131072;l=k?255:184;m=k?64:i&3;i=k?64:0;k=c[g>>2]|0;a:do if(k|0){n=g;o=-3;p=k;while(1){q=o;r=p;while(1){if(!q)break a;q=q+-1|0;s=r+5|0;t=d[s>>0]|0;if((t^3)&j|0){u=r;v=r;w=q;x=s;y=t;break}c[n>>2]=c[r>>2];Yc(b,r);r=c[n>>2]|0;if(!r)break a}if(y&i|0)break a;if((a[u+4>>0]|0)==8)ad(b,v);a[x>>0]=y&l|m;r=c[v>>2]|0;if(!r)break;else{n=v;o=w;p=r}}}while(0);w=e+16|0;v=(c[w>>2]|0)+12|0;m=c[v>>2]|0;c[v>>2]=0;if(m|0){v=e+12|0;l=m;do{m=l;l=c[l+12>>2]|0;y=c[v>>2]|0;Gb[c[y>>2]&1](c[y+4>>2]|0,m,40,0)|0;x=y+12|0;c[x>>2]=(c[x>>2]|0)-(m|0?40:0)}while((l|0)!=0)}if((a[(c[h>>2]|0)+50>>0]|0)==1)return;h=c[e+8>>2]|0;l=c[w>>2]|0;if(!l)z=h;else{w=l;l=h;while(1){h=c[w+4>>2]|0;v=l>>>0<h>>>0?h:l;w=c[w+8>>2]|0;if(!w){z=v;break}else l=v}}l=z-(c[f>>2]|0)|0;f=l>>3;z=f+11+((f+1|0)/8|0)|0;f=(z|0)>1e6?1e6:z;if((l|0)>7999992)return;if((f|0)>=(c[e+32>>2]|0))return;Kc(e,f);return}function bd(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;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]=d[k>>0]&191;cd(b,1);l=c[e>>2]|0}while((l|0)!=0);if((a[h>>0]|0)==2)m=7;else m=6}else m=6}else{a[h>>0]=1;m=6}if((m|0)==6?(d[g+49>>0]|0)<2:0)m=7;if((m|0)==7){m=c[f>>2]|0;a[m+49>>0]=2;c[m+52>>2]=0;l=m+60|0;e=m;a:while(1){k=c[e+48>>2]|0;n=k&255^3;o=(k&16711680|0)==131072;p=o?255:184;q=o?64:k&3;k=o?64:0;o=c[l>>2]|0;b:do if(!o){r=l;s=0}else{t=l;u=1;v=o;while(1){w=u;x=v;while(1){if(!w){r=t;s=x;break b}w=w+-1|0;y=x+5|0;z=d[y>>0]|0;if((z^3)&n|0){A=x;B=w;C=x;D=y;E=z;break}c[t>>2]=c[x>>2];Yc(b,x);x=c[t>>2]|0;if(!x){r=t;s=0;break b}}if(E&k|0){F=0;break a}if((a[C+4>>0]|0)==8)ad(b,A);a[D>>0]=E&p|q;x=c[A>>2]|0;if(!x){r=A;s=0;break}else{t=A;u=B;v=x}}}while(0);q=(s|0)==0?0:r;if((q|0)!=(l|0)){F=q;break}e=c[f>>2]|0}c[m+68>>2]=F;F=m+56|0;c:while(1){e=c[(c[f>>2]|0)+48>>2]|0;l=e&255^3;r=(e&16711680|0)==131072;s=r?255:184;B=r?64:e&3;e=r?64:0;r=c[F>>2]|0;d:do if(!r){G=F;H=0}else{A=F;E=1;D=r;while(1){C=E;q=D;while(1){if(!C){G=A;H=q;break d}C=C+-1|0;p=q+5|0;k=d[p>>0]|0;if((k^3)&l|0){I=q;J=q;K=C;L=p;M=k;break}c[A>>2]=c[q>>2];Yc(b,q);q=c[A>>2]|0;if(!q){G=A;H=0;break d}}if(M&e|0){N=0;break c}if((a[I+4>>0]|0)==8)ad(b,J);a[L>>0]=M&s|B;q=c[J>>2]|0;if(!q){G=J;H=0;break}else{A=J;E=K;D=q}}}while(0);B=(H|0)==0?0:G;if((B|0)!=(F|0)){N=B;break}}c[m+64>>2]=N}N=c[f>>2]|0;m=N+49|0;if((a[m>>0]|0)==5){O=N;P=5}else{do Rc(b)|0;while((a[m>>0]|0)!=5);m=c[f>>2]|0;O=m;P=a[m+49>>0]|0}m=O+49|0;if(!(1<<(P&255)&-33)){do Rc(b)|0;while(!(1<<d[m>>0]&-33|0));m=c[f>>2]|0;Q=m;R=a[m+49>>0]|0}else{Q=O;R=P}P=Q+49|0;if(R<<24>>24!=5)do Rc(b)|0;while((a[P>>0]|0)!=5);if(i<<24>>24==2?(P=(c[f>>2]|0)+49|0,a[P>>0]|0):0)do Rc(b)|0;while((a[P>>0]|0)!=0);a[h>>0]=i;i=g+8|0;h=g+12|0;P=(c[h>>2]|0)+(c[i>>2]|0)|0;R=(P|0)/100|0;Q=c[g+128>>2]|0;g=_(R,0-Q|0)|0;O=(Q|0)<(2147483644/(R|0)|0|0)?g:-2147483644;c[i>>2]=0-O;c[h>>2]=O+P;if(j)return;j=(c[f>>2]|0)+92|0;f=c[j>>2]|0;if(!f)return;else S=f;do{f=S+5|0;a[f>>0]=d[f>>0]&191;cd(b,1);S=c[j>>2]|0}while((S|0)!=0);return}function cd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;i=i+16|0;g=f;h=c[b+12>>2]|0;j=h+92|0;k=c[j>>2]|0;c[j>>2]=c[k>>2];j=h+56|0;c[k>>2]=c[j>>2];c[j>>2]=k;j=k+5|0;l=d[j>>0]|0;a[j>>0]=l&239;if((d[h+49>>0]|0)>=2)a[j>>0]=(d[h+48>>0]|0)&3|l&168;l=k;j=d[k+4>>0]|0;m=j|64;n=j&15;switch(n|0){case 5:{o=k+8|0;break}case 7:{o=k+8|0;break}default:o=h+224+(n<<2)|0}n=c[o>>2]|0;a:do if(!n)p=137316;else{o=c[h+164>>2]|0;k=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+-1&c[o+8>>2])*20|0)|0;while(1){if((c[k+12>>2]|0)==68?(c[k+8>>2]|0)==(o|0):0){q=k;break}k=c[k+16>>2]|0;if(!k){p=137316;break a}}p=q}while(0);q=p+4|0;if((c[q>>2]&15|0)!=6){i=f;return}n=b+41|0;k=a[n>>0]|0;o=h+51|0;h=a[o>>0]|0;a[n>>0]=0;a[o>>0]=0;j=b+8|0;r=c[j>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[q>>2];q=c[j>>2]|0;c[q+8>>2]=l;c[q+12>>2]=m;m=c[j>>2]|0;c[j>>2]=m+16;q=Fd(b,1,0,m-(c[b+28>>2]|0)|0,0)|0;a[n>>0]=k;a[o>>0]=h;if(!((e|0)!=0&(q|0)!=0)){i=f;return}if((q|0)!=2){s=q;Jc(b,s)}q=c[j>>2]|0;if((c[q+-4>>2]&15|0)==4)t=(c[q+-8>>2]|0)+16|0;else t=32963;c[g>>2]=t;Hd(b,32974,g)|0;s=5;Jc(b,s)}function dd(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d;f=(c[a+8>>2]|0)+-16|0;g=a+38|0;h=(b[g>>1]|0)+1<<16>>16;b[g>>1]=h;if((h&65535)>199){if(h<<16>>16==200)Mc(a,32241,e);if((h&65535)>224)Jc(a,6)}h=a+36|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;if(!(ed(a,f,0)|0))kd(a);a=c[h>>2]|0;b[h>>1]=(a&65535)+-1<<16>>16;b[g>>1]=(a>>>16&65535)+-1<<16>>16;i=d;return}function ed(e,f,g){e=e|0;f=f|0;g=g|0;var h=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;h=i;i=i+144|0;j=h+32|0;k=h+24|0;l=h+16|0;m=h+8|0;n=h;o=h+36|0;p=e+28|0;q=c[p>>2]|0;r=f;s=r-q|0;t=c[f+4>>2]|0;switch(t&63|0){case 22:{u=f;break}case 38:{u=(c[f>>2]|0)+12|0;break}case 6:{v=c[(c[f>>2]|0)+12>>2]|0;w=e+8|0;x=c[w>>2]|0;y=x-r>>3;r=y+-1|0;z=e+24|0;A=v+78|0;B=d[A>>0]|0;do if(((c[z>>2]|0)-x>>3|0)<=(B|0)){C=c[e+32>>2]|0;if((C|0)>1e6)Jc(e,6);D=(x-q>>3)+5+B|0;E=C<<1;C=(E|0)>1e6?1e6:E;E=(C|0)<(D|0)?D:C;if((E|0)>1e6){Kc(e,1000200);Mc(e,32226,m)}else{Kc(e,E);break}}while(0);m=c[v+76>>2]|0;B=m&255;x=m>>>16;if((y|0)>(B|0))F=r;else{y=c[w>>2]|0;E=r;while(1){r=y+8|0;c[y+4>>2]=0;C=E+1|0;if((C|0)<(B|0)){y=r;E=C}else{G=r;H=C;break}}c[w>>2]=G;F=H}if(!(m&65280)){m=(c[p>>2]|0)+s|0;I=m;J=m+8|0}else{m=c[w>>2]|0;H=x&255;do if(((c[z>>2]|0)-m>>3|0)<=(H|0)){x=c[e+32>>2]|0;if((x|0)>1e6)Jc(e,6);G=H+5+(m-(c[p>>2]|0)>>3)|0;E=x<<1;x=(E|0)>1e6?1e6:E;E=(x|0)<(G|0)?G:x;if((E|0)>1e6){Kc(e,1000200);Mc(e,32226,l)}else{Kc(e,E);K=c[w>>2]|0;break}}else K=m;while(0);m=0-F|0;F=K+(m<<3)|0;if(B|0?(c[w>>2]=K+8,c[K>>2]=c[F>>2],l=K+(m<<3)+4|0,c[K+4>>2]=c[l>>2],c[l>>2]=0,B>>>0>1):0){l=1;do{m=c[w>>2]|0;H=F+(l<<3)|0;c[w>>2]=m+8;c[m>>2]=c[H>>2];E=H+4|0;c[m+4>>2]=c[E>>2];c[E>>2]=0;l=l+1|0}while((l|0)<(B|0))}I=(c[p>>2]|0)+s|0;J=K}K=e+16|0;B=c[(c[K>>2]|0)+12>>2]|0;l=e+12|0;if(!B){F=c[l>>2]|0;E=F+4|0;m=Gb[c[F>>2]&1](c[E>>2]|0,0,0,40)|0;if(!m){if(!(a[F+51>>0]|0))Jc(e,4);bd(e,1);H=Gb[c[F>>2]&1](c[E>>2]|0,0,0,40)|0;if(!H)Jc(e,4);else L=H}else L=m;m=F+12|0;c[m>>2]=(c[m>>2]|0)+40;m=c[K>>2]|0;c[m+12>>2]=L;c[L+8>>2]=m;c[L+12>>2]=0;M=L}else M=B;c[K>>2]=M;b[M+16>>1]=g;c[M>>2]=I;c[M+24>>2]=J;I=J+(d[A>>0]<<3)|0;c[M+4>>2]=I;A=M+28|0;c[A>>2]=c[v+12>>2];v=M+18|0;a[v>>0]=1;c[w>>2]=I;I=c[l>>2]|0;l=I+12|0;J=c[l>>2]|0;do if((J|0)>0)if(!(a[I+51>>0]|0)){B=I+8|0;c[B>>2]=J+1600+(c[B>>2]|0);c[l>>2]=-1600;break}else{fd(e);break}while(0);l=b[e+40>>1]|0;if(!(l&1)){N=0;i=h;return N|0}J=(c[A>>2]|0)+4|0;c[A>>2]=J;I=c[M+8>>2]|0;if((a[I+18>>0]&1)!=0?(c[(c[I+28>>2]|0)+-4>>2]&63|0)==30:0){a[v>>0]=d[v>>0]|64;O=4}else O=0;v=c[e+52>>2]|0;if((v|0)!=0?(I=e+41|0,(l&65535)>=256):0){l=c[K>>2]|0;K=c[w>>2]|0;M=c[p>>2]|0;B=K-M|0;L=l+4|0;m=(c[L>>2]|0)-M|0;c[o>>2]=O;c[o+20>>2]=-1;c[o+96>>2]=l;O=K;do if(((c[z>>2]|0)-K|0)<168){M=c[e+32>>2]|0;if((M|0)>1e6)Jc(e,6);F=(B>>3)+25|0;H=M<<1;M=(H|0)>1e6?1e6:H;H=(M|0)<(F|0)?F:M;if((H|0)>1e6){Kc(e,1000200);Mc(e,32226,k)}else{Kc(e,H);P=c[w>>2]|0;break}}else P=O;while(0);c[L>>2]=P+160;a[I>>0]=0;P=l+18|0;a[P>>0]=d[P>>0]|2;Cb[v&15](e,o);a[I>>0]=1;I=c[p>>2]|0;c[L>>2]=I+m;c[w>>2]=I+B;a[P>>0]=d[P>>0]&253;Q=c[A>>2]|0}else Q=J;c[A>>2]=Q+-4;N=0;i=h;return N|0}default:{Q=t&15;switch(Q|0){case 5:{R=(c[f>>2]|0)+8|0;break}case 7:{R=(c[f>>2]|0)+8|0;break}default:R=(c[e+12>>2]|0)+224+(Q<<2)|0}Q=c[R>>2]|0;a:do if(!Q)S=137316;else{R=c[(c[e+12>>2]|0)+220>>2]|0;t=(c[Q+16>>2]|0)+(((1<<d[Q+7>>0])+-1&c[R+8>>2])*20|0)|0;while(1){if((c[t+12>>2]|0)==68?(c[t+8>>2]|0)==(R|0):0){T=t;break}t=c[t+16>>2]|0;if(!t){S=137316;break a}}S=T}while(0);T=S+4|0;if((c[T>>2]&15|0)!=6)id(e,f,32258);Q=e+8|0;t=c[Q>>2]|0;if(t>>>0>f>>>0){R=t;do{A=R;R=R+-8|0;c[A>>2]=c[R>>2];c[A+4>>2]=c[A+-4>>2]}while(R>>>0>f>>>0);U=c[Q>>2]|0}else U=t;t=U+8|0;c[Q>>2]=t;Q=t;do if(((c[e+24>>2]|0)-Q|0)<8){t=c[e+32>>2]|0;if((t|0)>1e6)Jc(e,6);U=(Q-(c[p>>2]|0)>>3)+5|0;f=t<<1;t=(f|0)>1e6?1e6:f;f=(t|0)<(U|0)?U:t;if((f|0)>1e6){Kc(e,1000200);Mc(e,32226,j)}else{Kc(e,f);break}}while(0);j=(c[p>>2]|0)+s|0;c[j>>2]=c[S>>2];c[j+4>>2]=c[T>>2];N=ed(e,j,g)|0;i=h;return N|0}}j=c[u>>2]|0;u=e+8|0;T=c[u>>2]|0;do if(((c[e+24>>2]|0)-T|0)<168){S=c[e+32>>2]|0;if((S|0)>1e6)Jc(e,6);Q=(T-q>>3)+25|0;f=S<<1;S=(f|0)>1e6?1e6:f;f=(S|0)<(Q|0)?Q:S;if((f|0)>1e6){Kc(e,1000200);Mc(e,32226,n)}else{Kc(e,f);break}}while(0);n=e+16|0;q=c[(c[n>>2]|0)+12>>2]|0;T=e+12|0;if(!q){f=c[T>>2]|0;S=f+4|0;Q=Gb[c[f>>2]&1](c[S>>2]|0,0,0,40)|0;if(!Q){if(!(a[f+51>>0]|0))Jc(e,4);bd(e,1);t=Gb[c[f>>2]&1](c[S>>2]|0,0,0,40)|0;if(!t)Jc(e,4);else V=t}else V=Q;Q=f+12|0;c[Q>>2]=(c[Q>>2]|0)+40;Q=c[n>>2]|0;c[Q+12>>2]=V;c[V+8>>2]=Q;c[V+12>>2]=0;W=V}else W=q;c[n>>2]=W;b[W+16>>1]=g;c[W>>2]=(c[p>>2]|0)+s;c[W+4>>2]=(c[u>>2]|0)+160;a[W+18>>0]=0;W=c[T>>2]|0;T=W+12|0;s=c[T>>2]|0;do if((s|0)>0)if(!(a[W+51>>0]|0)){p=W+8|0;c[p>>2]=s+1600+(c[p>>2]|0);c[T>>2]=-1600;break}else{fd(e);break}while(0);if(a[e+40>>0]&1)gd(e,0,-1);T=Db[j&127](e)|0;hd(e,(c[u>>2]|0)+(0-T<<3)|0)|0;N=1;i=h;return N|0}function fd(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=c[b+12>>2]|0;do if((a[d+50>>0]|0)==2){e=d+20|0;f=c[e>>2]|0;if(!f){bd(b,0);g=d+8|0;h=c[g>>2]|0;i=d+12|0;j=c[i>>2]|0;k=i;l=g;m=d+49|0;n=h;o=j;p=j+h|0}else{h=d+49|0;if((a[h>>0]|0)!=5)do Rc(b)|0;while((a[h>>0]|0)!=5);a[h>>0]=0;j=d+8|0;g=c[j>>2]|0;i=d+12|0;q=c[i>>2]|0;r=(q+g|0)>>>0>(_(c[d+132>>2]|0,(f>>>0)/100|0)|0)>>>0;k=i;l=j;m=h;n=g;o=q;p=r?0:f}c[e>>2]=p;r=o+n|0;q=(r|0)/100|0;g=c[d+128>>2]|0;j=_(q,0-g|0)|0;i=(g|0)<(2147483644/(q|0)|0|0)?j:-2147483644;c[l>>2]=0-i;c[k>>2]=i+r;s=m}else{r=d+12|0;i=c[d+136>>2]|0;j=(i|0)<40?40:i;i=((c[r>>2]|0)/200|0)+1|0;q=_(j,i)|0;g=d+49|0;t=(i|0)<(2147483644/(j|0)|0|0)?q:2147483644;do{t=t-(Rc(b)|0)|0;u=(a[g>>0]|0)==5;if((t|0)<=-1600){v=11;break}}while(!u);if((v|0)==11?!u:0){e=((t|0)/(j|0)|0)*200|0;f=d+8|0;c[f>>2]=(c[r>>2]|0)-e+(c[f>>2]|0);c[r>>2]=e;s=g;break}e=(c[d+20>>2]|0)/100|0;f=c[d+128>>2]|0;h=d+8|0;q=_(f,0-e|0)|0;i=(f|0)<(2147483644/(e|0)|0|0)?q:-2147483644;q=(c[r>>2]|0)+(c[h>>2]|0)+i|0;c[h>>2]=0-i;c[r>>2]=q;s=g}while(0);u=d+92|0;if(!(c[u>>2]|0))return;else w=0;while(1){if((w|0)>=4?(a[s>>0]|0)!=5:0){v=18;break}cd(b,1);if(!(c[u>>2]|0)){v=18;break}else w=w+1|0}if((v|0)==18)return}function gd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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=i;i=i+112|0;h=g;j=g+4|0;k=c[b+52>>2]|0;if(!k){i=g;return}l=b+41|0;if(!(a[l>>0]|0)){i=g;return}m=c[b+16>>2]|0;n=b+8|0;o=c[n>>2]|0;p=b+28|0;q=c[p>>2]|0;r=o-q|0;s=m+4|0;t=(c[s>>2]|0)-q|0;c[j>>2]=e;c[j+20>>2]=f;c[j+96>>2]=m;f=o;do if(((c[b+24>>2]|0)-o|0)<168){e=c[b+32>>2]|0;if((e|0)>1e6)Jc(b,6);q=(r>>3)+25|0;u=e<<1;e=(u|0)>1e6?1e6:u;u=(e|0)<(q|0)?q:e;if((u|0)>1e6){Kc(b,1000200);Mc(b,32226,h)}else{Kc(b,u);v=c[n>>2]|0;break}}else v=f;while(0);c[s>>2]=v+160;a[l>>0]=0;v=m+18|0;a[v>>0]=d[v>>0]|2;Cb[k&15](b,j);a[l>>0]=1;l=c[p>>2]|0;c[s>>2]=l+t;c[n>>2]=l+r;a[v>>0]=d[v>>0]&253;i=g;return}function hd(e,f){e=e|0;f=f|0;var g=0,h=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;g=i;i=i+112|0;h=g;j=g+4|0;k=e+16|0;l=c[k>>2]|0;m=b[e+40>>1]|0;n=m&65535;if(!(n&6)){o=f;p=c[l+8>>2]|0}else{if(!(n&2))q=f;else{n=e+28|0;r=c[n>>2]|0;s=f-r|0;f=c[e+52>>2]|0;t=r;if((f|0)!=0?(u=e+41|0,(m&65535)>=256):0){m=e+8|0;v=c[m>>2]|0;w=v-r|0;x=l+4|0;y=(c[x>>2]|0)-r|0;c[j>>2]=1;c[j+20>>2]=-1;c[j+96>>2]=l;r=v;do if(((c[e+24>>2]|0)-v|0)<168){z=c[e+32>>2]|0;if((z|0)>1e6)Jc(e,6);A=(w>>3)+25|0;B=z<<1;z=(B|0)>1e6?1e6:B;B=(z|0)<(A|0)?A:z;if((B|0)>1e6){Kc(e,1000200);Mc(e,32226,h)}else{Kc(e,B);C=c[m>>2]|0;break}}else C=r;while(0);c[x>>2]=C+160;a[u>>0]=0;C=l+18|0;a[C>>0]=d[C>>0]|0|2;Cb[f&15](e,j);a[u>>0]=1;u=c[n>>2]|0;c[x>>2]=u+y;c[m>>2]=u+w;a[C>>0]=(d[C>>0]|0)&253;D=u}else D=t;q=D+s|0}s=c[l+8>>2]|0;c[e+20>>2]=c[s+28>>2];o=q;p=s}s=c[l>>2]|0;q=b[l+16>>1]|0;l=q<<16>>16;c[k>>2]=p;p=e+8|0;if(!(q<<16>>16)){E=s;c[p>>2]=E;F=l+1|0;i=g;return F|0}else{G=o;H=l;I=s}while(1){if(G>>>0>=(c[p>>2]|0)>>>0){J=H;K=I;break}s=I+8|0;c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];H=H+-1|0;if(!H){E=s;L=20;break}else{G=G+8|0;I=s}}if((L|0)==20){c[p>>2]=E;F=l+1|0;i=g;return F|0}if((J|0)>0){M=J;N=K}else{E=K;c[p>>2]=E;F=l+1|0;i=g;return F|0}while(1){K=N+8|0;c[N+4>>2]=0;if((M|0)>1){M=M+-1|0;N=K}else{E=K;break}}c[p>>2]=E;F=l+1|0;i=g;return F|0}function id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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=i;i=i+32|0;g=f+16|0;h=f;j=f+24|0;f=c[b+16>>2]|0;c[j>>2]=0;k=c[8+((c[d+4>>2]&15)+1<<2)>>2]|0;a:do if(a[f+18>>0]&1){l=c[c[f>>2]>>2]|0;m=a[l+6>>0]|0;b:do if(m<<24>>24){n=m&255;o=0;while(1){if((c[(c[l+16+(o<<2)>>2]|0)+8>>2]|0)==(d|0)){p=o;break}o=o+1|0;if((o|0)>=(n|0))break b}n=c[(c[(c[l+12>>2]|0)+28>>2]|0)+(p<<3)>>2]|0;o=(n|0)==0?32263:n+16|0;c[j>>2]=o;q=o;r=32290;c[h>>2]=e;s=h+4|0;c[s>>2]=r;t=h+8|0;c[t>>2]=q;u=h+12|0;c[u>>2]=k;Mc(b,32307,h)}while(0);m=c[f+24>>2]|0;o=c[f+4>>2]|0;n=m;if(m>>>0<o>>>0){v=m;while(1){if((v|0)==(d|0))break;v=v+8|0;if(v>>>0>=o>>>0)break a}o=c[l+12>>2]|0;v=jd(o,((c[f+28>>2]|0)-(c[o+12>>2]|0)>>2)+-1|0,d-n>>3,j)|0;if(v|0){q=c[j>>2]|0;r=v;c[h>>2]=e;s=h+4|0;c[s>>2]=r;t=h+8|0;c[t>>2]=q;u=h+12|0;c[u>>2]=k;Mc(b,32307,h)}}}while(0);c[g>>2]=e;c[g+4>>2]=k;Mc(b,32342,g)}function jd(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;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){e=c[g>>2]|0;l=d+1|0;m=0;while(1){if((c[e+(m*12|0)+4>>2]|0)>(k|0))break b;if((c[e+(m*12|0)+8>>2]|0)>(k|0)){n=l+-1|0;if(!n){o=e;p=m;q=9;break a}else r=n}else r=l;m=m+1|0;if((m|0)>=(i|0))break;else l=r}}while(0);c[f>>2]=0;if((k|0)<=0){s=0;q=56;break}l=c[h>>2]|0;m=0;e=0;n=-1;while(1){t=c[l+(e<<2)>>2]|0;u=t&63;v=t>>>6&255;switch(u|0){case 4:{if((v|0)<=(d|0)?(v+(t>>>23)|0)>=(d|0):0){w=m;x=(e|0)<(m|0)?-1:e}else{w=m;x=n}break}case 34:{if((v+2|0)>(d|0)){w=m;x=n}else{w=m;x=(e|0)<(m|0)?-1:e}break}case 30:case 29:{if((v|0)>(d|0)){w=m;x=n}else{w=m;x=(e|0)<(m|0)?-1:e}break}case 23:{y=e+-131070+(t>>>14)|0;w=(y|0)>(m|0)&((y|0)<=(k|0)&(e|0)<(y|0))?y:m;x=n;break}case 27:{if((v|0)==(d|0)){w=m;x=(e|0)<(m|0)?-1:e}else{w=m;x=n}break}default:if((v|0)==(d|0)&(a[32147+u>>0]&64)!=0){w=m;x=(e|0)<(m|0)?-1:e}else{w=m;x=n}}e=e+1|0;if((e|0)==(k|0)){z=x;break}else{m=w;n=x}}if((z|0)==-1){s=0;q=56;break}n=c[l+(z<<2)>>2]|0;m=n&63;switch(m|0){case 7:case 6:{A=n;B=m;C=z;q=28;break a;break}case 5:{D=n;q=45;break a;break}case 12:{E=n;F=z;q=50;break a;break}case 1:{G=n;q=46;break a;break}case 2:{H=l;I=z;q=47;break a;break}case 0:break;default:{s=0;q=56;break a}}m=n>>>23;if(m>>>0<(n>>>6&255)>>>0){k=z;d=m}else{s=0;q=56;break}}if((q|0)==9){c[f>>2]=(c[o+(p*12|0)>>2]|0)+16;s=37605;return s|0}else if((q|0)==28){p=A>>>14;o=p&511;d=A>>>23;c:do if((B|0)==7)if(j){A=c[g>>2]|0;z=d+1|0;k=0;while(1){if((c[A+(k*12|0)+4>>2]|0)>(C|0)){J=0;K=C;break c}if((c[A+(k*12|0)+8>>2]|0)>(C|0)){x=z+-1|0;if(!x){L=k;break}else M=x}else M=z;k=k+1|0;if((k|0)>=(i|0)){J=0;K=C;break c}else z=M}J=(c[A+(L*12|0)>>2]|0)+16|0;K=C}else{J=0;K=C}else{z=c[(c[b+28>>2]|0)+(d<<3)>>2]|0;J=(z|0)==0?32263:z+16|0;K=C}while(0);if(!(p&256)){C=jd(b,K,o,f)|0;if(!((C|0)!=0?(a[C>>0]|0)==99:0))q=42}else{C=p&255;p=c[b+8>>2]|0;if((c[p+(C<<3)+4>>2]&15|0)==4)c[f>>2]=(c[p+(C<<3)>>2]|0)+16;else q=42}if((q|0)==42)c[f>>2]=32263;if(!J){s=32277;return s|0}C=(To(J,32265)|0)==0;s=C?32270:32277;return s|0}else if((q|0)==45){C=c[(c[b+28>>2]|0)+(D>>>23<<3)>>2]|0;c[f>>2]=(C|0)==0?32263:C+16|0;s=32290;return s|0}else if((q|0)==46)N=G>>>14;else if((q|0)==47)N=(c[H+(I+1<<2)>>2]|0)>>>6;else if((q|0)==50){I=E>>>14;if(!(I&256)){E=jd(b,F,I&511,f)|0;if(E|0?(a[E>>0]|0)==99:0){s=32283;return s|0}}else{E=I&255;I=c[b+8>>2]|0;if((c[I+(E<<3)+4>>2]&15|0)==4){c[f>>2]=(c[I+(E<<3)>>2]|0)+16;s=32283;return s|0}}c[f>>2]=32263;s=32283;return s|0}else if((q|0)==56)return s|0;q=c[b+8>>2]|0;if((c[q+(N<<3)+4>>2]&15|0)!=4){s=0;return s|0}c[f>>2]=(c[q+(N<<3)>>2]|0)+16;s=32298;return s|0}function kd(e){e=e|0;var f=0,g=0,h=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;f=i;i=i+160|0;g=f+48|0;h=f+40|0;j=f+32|0;k=f+24|0;l=f+16|0;m=f+8|0;n=f;o=f+52|0;p=e+16|0;q=e+40|0;r=e+12|0;s=e+8|0;t=e+38|0;u=o+4|0;v=e+24|0;w=e+32|0;x=e+28|0;y=e+48|0;z=e+52|0;A=e+41|0;B=o+20|0;C=o+96|0;D=e+20|0;E=e+6|0;F=o+20|0;G=o+96|0;H=e+44|0;I=c[p>>2]|0;a:while(1){J=c[c[I>>2]>>2]|0;K=J+12|0;L=c[(c[K>>2]|0)+8>>2]|0;M=I+24|0;N=I+28|0;O=I+4|0;P=c[M>>2]|0;b:while(1){Q=c[N>>2]|0;c[N>>2]=Q+4;R=c[Q>>2]|0;Q=b[q>>1]|0;S=Q&255;T=(Q&65535)>>>8&255;if((S&12)!=0?(U=(c[y>>2]|0)+-1|0,c[y>>2]=U,V=(U|0)==0,!((S&4)==0&(V^1))):0){W=c[p>>2]|0;S=Q&255;if((S&8|0)==0|V^1)X=0;else{c[y>>2]=c[H>>2];X=1}Y=W+18|0;V=a[Y>>0]|0;Q=V&255;if(!(Q&128)){if(X?(U=c[z>>2]|0,(U|0)!=0):0)if(!(T<<24>>24))Z=0;else{_=c[s>>2]|0;$=c[x>>2]|0;aa=_-$|0;ba=W+4|0;ca=(c[ba>>2]|0)-$|0;c[o>>2]=3;c[B>>2]=-1;c[C>>2]=W;$=_;if(((c[v>>2]|0)-_|0)<168){_=c[w>>2]|0;if((_|0)>1e6){da=14;break a}ea=(aa>>3)+25|0;fa=_<<1;_=(fa|0)>1e6?1e6:fa;fa=(_|0)<(ea|0)?ea:_;if((fa|0)>1e6){da=16;break a}Kc(e,fa);ga=c[s>>2]|0;ha=a[Y>>0]|0}else{ga=$;ha=V}c[ba>>2]=ga+160;a[A>>0]=0;a[Y>>0]=ha&255|2;Cb[U&15](e,o);a[A>>0]=1;U=c[x>>2]|0;c[ba>>2]=U+ca;c[s>>2]=U+aa;a[Y>>0]=d[Y>>0]&253;Z=1}else Z=T;do if(S&4){T=c[(c[c[W>>2]>>2]|0)+12>>2]|0;aa=W+28|0;U=c[aa>>2]|0;ca=c[T+12>>2]|0;ba=(U-ca>>2)+-1|0;V=c[T+20>>2]|0;T=(V|0)==0;if(T)ia=0;else ia=c[V+(ba<<2)>>2]|0;if(ba|0?(ba=c[D>>2]|0,U>>>0>ba>>>0):0){if(T)ja=0;else ja=c[V+((ba-ca>>2)+-1<<2)>>2]|0;if((ia|0)==(ja|0)){ka=aa;la=aa;break}}ca=c[z>>2]|0;if((ca|0)==0|Z<<24>>24==0){ka=aa;la=aa}else{ba=c[p>>2]|0;V=c[s>>2]|0;T=c[x>>2]|0;U=V-T|0;$=ba+4|0;fa=(c[$>>2]|0)-T|0;c[o>>2]=2;c[F>>2]=ia;c[G>>2]=ba;T=V;if(((c[v>>2]|0)-V|0)<168){V=c[w>>2]|0;if((V|0)>1e6){da=31;break a}_=(U>>3)+25|0;ea=V<<1;V=(ea|0)>1e6?1e6:ea;ea=(V|0)<(_|0)?_:V;if((ea|0)>1e6){da=33;break a}Kc(e,ea);ma=c[s>>2]|0}else ma=T;c[$>>2]=ma+160;a[A>>0]=0;T=ba+18|0;a[T>>0]=d[T>>0]|2;Cb[ca&15](e,o);a[A>>0]=1;ca=c[x>>2]|0;c[$>>2]=ca+fa;c[s>>2]=ca+U;a[T>>0]=d[T>>0]&253;ka=aa;la=aa}}else{aa=W+28|0;ka=aa;la=aa}while(0);na=c[la>>2]|0;c[D>>2]=na;if((a[E>>0]|0)==1){da=37;break a}}else a[Y>>0]=Q&127;oa=c[M>>2]|0}else oa=P;S=R>>>6&255;aa=oa+(S<<3)|0;do switch(R&63|0){case 31:{pa=R;qa=aa;ra=oa;da=178;break b;break}case 0:{T=R>>>23;c[aa>>2]=c[oa+(T<<3)>>2];c[oa+(S<<3)+4>>2]=c[oa+(T<<3)+4>>2];P=oa;continue b;break}case 1:{T=R>>>14;c[aa>>2]=c[L+(T<<3)>>2];c[oa+(S<<3)+4>>2]=c[L+(T<<3)+4>>2];P=oa;continue b;break}case 2:{T=c[N>>2]|0;c[N>>2]=T+4;U=(c[T>>2]|0)>>>6;c[aa>>2]=c[L+(U<<3)>>2];c[oa+(S<<3)+4>>2]=c[L+(U<<3)+4>>2];P=oa;continue b;break}case 3:{c[aa>>2]=R>>>23;c[oa+(S<<3)+4>>2]=1;if(!(R&8372224)){P=oa;continue b}c[N>>2]=(c[N>>2]|0)+4;P=oa;continue b;break}case 4:{U=R>>>23;T=aa;while(1){c[T+4>>2]=0;if(!U){P=oa;continue b}else{U=U+-1|0;T=T+8|0}}break}case 5:{T=c[(c[J+16+(R>>>23<<2)>>2]|0)+8>>2]|0;c[aa>>2]=c[T>>2];c[oa+(S<<3)+4>>2]=c[T+4>>2];P=oa;continue b;break}case 6:{T=R>>>14;ld(e,c[(c[J+16+(R>>>23<<2)>>2]|0)+8>>2]|0,(T&256|0)==0?oa+((T&511)<<3)|0:L+((T&255)<<3)|0,aa);P=c[M>>2]|0;continue b;break}case 7:{T=R>>>14;ld(e,oa+(R>>>23<<3)|0,(T&256|0)==0?oa+((T&511)<<3)|0:L+((T&255)<<3)|0,aa);P=c[M>>2]|0;continue b;break}case 8:{T=R>>>23;U=R>>>14;od(e,c[(c[J+16+(S<<2)>>2]|0)+8>>2]|0,(T&256|0)==0?oa+(T<<3)|0:L+((T&255)<<3)|0,(U&256|0)==0?oa+((U&511)<<3)|0:L+((U&255)<<3)|0);P=c[M>>2]|0;continue b;break}case 9:{U=c[J+16+(R>>>23<<2)>>2]|0;T=c[U+8>>2]|0;c[T>>2]=c[aa>>2];ca=oa+(S<<3)+4|0;c[T+4>>2]=c[ca>>2];if(!(c[ca>>2]&64)){P=oa;continue b}ca=c[aa>>2]|0;if(!(a[ca+5>>0]&3)){P=oa;continue b}T=U+5|0;U=a[T>>0]|0;if(!(U&4)){P=oa;continue b}fa=c[r>>2]|0;if((d[fa+49>>0]|0)<2){Sc(fa,ca);P=oa;continue b}else{a[T>>0]=d[fa+48>>0]&3|U&184;P=oa;continue b}break}case 10:{U=R>>>23;fa=R>>>14;od(e,aa,(U&256|0)==0?oa+(U<<3)|0:L+((U&255)<<3)|0,(fa&256|0)==0?oa+((fa&511)<<3)|0:L+((fa&255)<<3)|0);P=c[M>>2]|0;continue b;break}case 11:{fa=R>>>23;U=R>>>14;T=U&511;ca=c[r>>2]|0;$=ca+4|0;ba=Gb[c[ca>>2]&1](c[$>>2]|0,0,5,32)|0;if(!ba){if(!(a[ca+51>>0]|0)){da=63;break a}bd(e,1);ea=Gb[c[ca>>2]&1](c[$>>2]|0,0,5,32)|0;if(!ea){da=63;break a}else sa=ea}else sa=ba;ba=ca+12|0;c[ba>>2]=(c[ba>>2]|0)+32;ba=ca+56|0;a[sa+5>>0]=d[ca+48>>0]&3;a[sa+4>>0]=5;c[sa>>2]=c[ba>>2];c[ba>>2]=sa;c[sa+8>>2]=0;a[sa+6>>0]=-1;c[sa+12>>2]=0;c[sa+28>>2]=0;c[sa+16>>2]=137332;a[sa+7>>0]=0;c[sa+20>>2]=137332;c[aa>>2]=sa;c[oa+(S<<3)+4>>2]=69;if(T|fa|0){ba=R>>>26&31;if(!ba)ta=fa;else ta=(fa&7|8)<<ba+-1;ba=R>>>17&31;if(!ba)ua=T;else ua=(U&7|8)<<ba+-1;qd(e,sa,ta,ua)}ba=c[r>>2]|0;U=ba+12|0;T=c[U>>2]|0;if((T|0)>0){c[s>>2]=aa+8;if(!(a[ba+51>>0]|0)){fa=ba+8|0;c[fa>>2]=T+1600+(c[fa>>2]|0);c[U>>2]=-1600}else fd(e);c[s>>2]=c[O>>2]}P=c[M>>2]|0;continue b;break}case 12:{U=R>>>23;fa=oa+(U<<3)|0;T=aa+8|0;c[T>>2]=c[fa>>2];c[T+4>>2]=c[oa+(U<<3)+4>>2];U=R>>>14;ld(e,fa,(U&256|0)==0?oa+((U&511)<<3)|0:L+((U&255)<<3)|0,aa);P=c[M>>2]|0;continue b;break}case 13:{U=R>>>23;fa=(U&256|0)==0?oa+(U<<3)|0:L+((U&255)<<3)|0;U=R>>>14;T=(U&256|0)==0?oa+((U&511)<<3)|0:L+((U&255)<<3)|0;if((c[fa+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[aa>>2]=(c[T>>2]|0)+(c[fa>>2]|0);c[oa+(S<<3)+4>>2]=3;P=oa;continue b}rd(e,aa,fa,T,6);P=c[M>>2]|0;continue b;break}case 14:{T=R>>>23;fa=(T&256|0)==0?oa+(T<<3)|0:L+((T&255)<<3)|0;T=R>>>14;U=(T&256|0)==0?oa+((T&511)<<3)|0:L+((T&255)<<3)|0;if((c[fa+4>>2]|0)==3?(c[U+4>>2]|0)==3:0){c[aa>>2]=(c[fa>>2]|0)-(c[U>>2]|0);c[oa+(S<<3)+4>>2]=3;P=oa;continue b}rd(e,aa,fa,U,7);P=c[M>>2]|0;continue b;break}case 15:{U=R>>>23;fa=(U&256|0)==0?oa+(U<<3)|0:L+((U&255)<<3)|0;U=R>>>14;T=(U&256|0)==0?oa+((U&511)<<3)|0:L+((U&255)<<3)|0;if((c[fa+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[aa>>2]=Mi(c[fa>>2]|0,c[T>>2]|0)|0;c[oa+(S<<3)+4>>2]=3;P=oa;continue b}rd(e,aa,fa,T,8);P=c[M>>2]|0;continue b;break}case 16:{T=R>>>23;fa=(T&256|0)==0?oa+(T<<3)|0:L+((T&255)<<3)|0;T=R>>>14;U=(T&256|0)==0?oa+((T&511)<<3)|0:L+((T&255)<<3)|0;if((c[fa+4>>2]|0)==3?(c[U+4>>2]|0)==3:0){c[aa>>2]=Ni(c[fa>>2]|0,c[U>>2]|0)|0;c[oa+(S<<3)+4>>2]=3;P=oa;continue b}rd(e,aa,fa,U,9);P=c[M>>2]|0;continue b;break}case 17:{U=R>>>23;fa=(U&256|0)==0?oa+(U<<3)|0:L+((U&255)<<3)|0;U=R>>>14;T=(U&256|0)==0?oa+((U&511)<<3)|0:L+((U&255)<<3)|0;if((c[fa+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[aa>>2]=Oi(c[fa>>2]|0,c[T>>2]|0)|0;c[oa+(S<<3)+4>>2]=3;P=oa;continue b}rd(e,aa,fa,T,10);P=c[M>>2]|0;continue b;break}case 18:{T=R>>>23;fa=(T&256|0)==0?oa+(T<<3)|0:L+((T&255)<<3)|0;T=R>>>14;U=(T&256|0)==0?oa+((T&511)<<3)|0:L+((T&255)<<3)|0;if((c[fa+4>>2]|0)==3?(c[U+4>>2]|0)==3:0){c[aa>>2]=Pi(c[fa>>2]|0,c[U>>2]|0)|0;c[oa+(S<<3)+4>>2]=3;P=oa;continue b}rd(e,aa,fa,U,11);P=c[M>>2]|0;continue b;break}case 19:{U=R>>>23;fa=oa+(U<<3)|0;if((c[oa+(U<<3)+4>>2]|0)==3){c[aa>>2]=0-(c[fa>>2]|0);c[oa+(S<<3)+4>>2]=3;P=oa;continue b}else{rd(e,aa,fa,fa,12);P=c[M>>2]|0;continue b}break}case 20:{fa=R>>>23;U=c[oa+(fa<<3)+4>>2]|0;if(U)if((U|0)==1)va=(c[oa+(fa<<3)>>2]|0)==0;else va=0;else va=1;c[aa>>2]=va&1;c[oa+(S<<3)+4>>2]=1;P=oa;continue b;break}case 21:{ud(e,aa,oa+(R>>>23<<3)|0);P=c[M>>2]|0;continue b;break}case 22:{fa=R>>>23;U=R>>>14&511;c[s>>2]=oa+(U<<3)+8;wd(e,1-fa+U|0);U=c[M>>2]|0;T=U+(S<<3)|0;ba=U+(fa<<3)|0;c[T>>2]=c[ba>>2];c[U+(S<<3)+4>>2]=c[U+(fa<<3)+4>>2];U=c[r>>2]|0;ca=U+12|0;ea=c[ca>>2]|0;if((ea|0)>0){c[s>>2]=S>>>0>=fa>>>0?T+8|0:ba;if(!(a[U+51>>0]|0)){ba=U+8|0;c[ba>>2]=ea+1600+(c[ba>>2]|0);c[ca>>2]=-1600}else fd(e);ca=c[O>>2]|0;c[s>>2]=ca;wa=ca}else wa=c[O>>2]|0;ca=c[M>>2]|0;c[s>>2]=wa;P=ca;continue b;break}case 23:{if(S|0)$c(e,(c[M>>2]|0)+(S<<3)+-8|0);c[N>>2]=(c[N>>2]|0)+((R>>>14)+-131071<<2);P=oa;continue b;break}case 24:{ca=R>>>23;ba=(ca&256|0)==0?oa+(ca<<3)|0:L+((ca&255)<<3)|0;ca=R>>>14;ea=(ca&256|0)==0?oa+((ca&511)<<3)|0:L+((ca&255)<<3)|0;if((c[ba+4>>2]|0)==(c[ea+4>>2]|0))xa=(zd(e,ba,ea)|0)!=0;else xa=0;ea=c[N>>2]|0;if((xa&1|0)==(S|0)){ba=c[ea>>2]|0;ca=ba>>>6&255;if(!ca)ya=ea;else{$c(e,(c[M>>2]|0)+(ca<<3)+-8|0);ya=c[N>>2]|0}za=ya+((ba>>>14)+-131070<<2)|0}else za=ea+4|0;c[N>>2]=za;P=c[M>>2]|0;continue b;break}case 25:{ea=R>>>23;ba=R>>>14;ca=(Ad(e,(ea&256|0)==0?oa+(ea<<3)|0:L+((ea&255)<<3)|0,(ba&256|0)==0?oa+((ba&511)<<3)|0:L+((ba&255)<<3)|0)|0)==(S|0);ba=c[N>>2]|0;if(ca){ca=c[ba>>2]|0;ea=ca>>>6&255;if(!ea)Aa=ba;else{$c(e,(c[M>>2]|0)+(ea<<3)+-8|0);Aa=c[N>>2]|0}Ba=Aa+((ca>>>14)+-131070<<2)|0}else Ba=ba+4|0;c[N>>2]=Ba;P=c[M>>2]|0;continue b;break}case 26:{ba=R>>>23;ca=R>>>14;ea=(Cd(e,(ba&256|0)==0?oa+(ba<<3)|0:L+((ba&255)<<3)|0,(ca&256|0)==0?oa+((ca&511)<<3)|0:L+((ca&255)<<3)|0)|0)==(S|0);ca=c[N>>2]|0;if(ea){ea=c[ca>>2]|0;ba=ea>>>6&255;if(!ba)Ca=ca;else{$c(e,(c[M>>2]|0)+(ba<<3)+-8|0);Ca=c[N>>2]|0}Da=Ca+((ea>>>14)+-131070<<2)|0}else Da=ca+4|0;c[N>>2]=Da;P=c[M>>2]|0;continue b;break}case 27:{ca=c[oa+(S<<3)+4>>2]|0;ea=(ca|0)==0;if(!(R&8372224)){if(!ea)if(!((ca|0)==1?!(c[aa>>2]|0):0))da=146}else if(!ea){if((ca|0)==1?(c[aa>>2]|0)==0:0)da=146}else da=146;if((da|0)==146){da=0;c[N>>2]=(c[N>>2]|0)+4;P=oa;continue b}ca=c[N>>2]|0;ea=c[ca>>2]|0;ba=ea>>>6&255;if(!ba)Ea=ca;else{$c(e,(c[M>>2]|0)+(ba<<3)+-8|0);Ea=c[N>>2]|0}c[N>>2]=Ea+((ea>>>14)+-131070<<2);P=oa;continue b;break}case 28:{ea=R>>>23;ba=oa+(ea<<3)|0;ca=c[oa+(ea<<3)+4>>2]|0;ea=(ca|0)==0;if(!(R&8372224))if(!ea)if((ca|0)==1?(c[ba>>2]|0)==0:0)da=158;else da=157;else da=158;else if(!ea)if((ca|0)==1?(c[ba>>2]|0)==0:0)da=157;else da=158;else da=157;if((da|0)==157){da=0;Fa=(c[N>>2]|0)+4|0}else if((da|0)==158){da=0;c[aa>>2]=c[ba>>2];c[oa+(S<<3)+4>>2]=ca;ca=c[N>>2]|0;ba=c[ca>>2]|0;ea=ba>>>6&255;if(!ea)Ga=ca;else{$c(e,(c[M>>2]|0)+(ea<<3)+-8|0);Ga=c[N>>2]|0}Fa=Ga+((ba>>>14)+-131070<<2)|0}c[N>>2]=Fa;P=oa;continue b;break}case 29:{ba=R>>>23;ea=R>>>14&511;if(ba|0)c[s>>2]=aa+(ba<<3);if(!(ed(e,aa,ea+-1|0)|0)){da=168;break b}if(ea|0)c[s>>2]=c[O>>2];P=c[M>>2]|0;continue b;break}case 30:{ea=R>>>23;if(ea|0)c[s>>2]=aa+(ea<<3);if(!(ed(e,aa,-1)|0)){da=173;break b}P=c[M>>2]|0;continue b;break}case 32:{ea=c[aa+16>>2]|0;ba=c[aa>>2]|0;ca=ba+ea|0;U=c[aa+8>>2]|0;if((ea|0)>0){if((ca|0)>(U|0)){P=oa;continue b}}else if((U|0)>(ca|0)){P=oa;continue b}if(!((ba|ea|0)<0|(ca|0)>0)){P=oa;continue b}c[N>>2]=(c[N>>2]|0)+((R>>>14)+-131071<<2);c[aa>>2]=ca;c[oa+(S<<3)+4>>2]=3;ea=aa+24|0;c[ea>>2]=ca;c[ea+4>>2]=3;P=oa;continue b;break}case 33:{ea=aa+8|0;ca=aa+16|0;ba=oa+(S<<3)+4|0;U=c[ba>>2]|0;if((U|0)!=3){if((U&15|0)!=4){da=205;break a}U=c[aa>>2]|0;if(!(sd(U+16|0,c[U+12>>2]|0,o)|0)){da=205;break a}c[aa>>2]=c[o>>2];c[ba>>2]=3}U=ea+4|0;T=c[U>>2]|0;if((T|0)!=3){if((T&15|0)!=4){da=210;break a}T=c[ea>>2]|0;if(!(sd(T+16|0,c[T+12>>2]|0,o)|0)){da=210;break a}c[ea>>2]=c[o>>2];c[U>>2]=3}U=ca+4|0;ea=c[U>>2]|0;if((ea|0)!=3){if((ea&15|0)!=4){da=215;break a}ea=c[ca>>2]|0;if(!(sd(ea+16|0,c[ea+12>>2]|0,o)|0)){da=215;break a}c[ca>>2]=c[o>>2];c[U>>2]=3}c[aa>>2]=(c[aa>>2]|0)-(c[ca>>2]|0);c[ba>>2]=3;c[N>>2]=(c[N>>2]|0)+((R>>>14)+-131071<<2);P=oa;continue b;break}case 34:{ba=aa+24|0;ca=aa+16|0;U=ba+16|0;c[U>>2]=c[ca>>2];c[U+4>>2]=c[ca+4>>2];ca=aa+8|0;U=ba+8|0;c[U>>2]=c[ca>>2];c[U+4>>2]=c[ca+4>>2];c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[oa+(S<<3)+4>>2];c[s>>2]=ba+24;ca=R>>>14&511;U=(b[t>>1]|0)+1<<16>>16;b[t>>1]=U;if((U&65535)>199){if(U<<16>>16==200){da=219;break a}if((U&65535)>224){da=221;break a}}if(!(ed(e,ba,ca)|0))kd(e);b[t>>1]=(b[t>>1]|0)+-1<<16>>16;ca=c[M>>2]|0;c[s>>2]=c[O>>2];ba=c[N>>2]|0;c[N>>2]=ba+4;U=c[ba>>2]|0;Ha=ca;Ia=U;Ja=ca+((U>>>6&255)<<3)|0;break}case 35:{Ha=oa;Ia=R;Ja=aa;break}case 36:{U=R>>>23;ca=R>>>14&511;if(!U)Ka=((c[s>>2]|0)-aa>>3)+-1|0;else Ka=U;if(!ca){U=c[N>>2]|0;c[N>>2]=U+4;La=(c[U>>2]|0)>>>6}else La=ca;ca=c[aa>>2]|0;U=Ka+-50+(La*50|0)|0;ba=ca+28|0;if((U|0)>(c[ba>>2]|0)){if((c[ca+16>>2]|0)==137332)Ma=0;else Ma=1<<d[ca+7>>0];qd(e,ca,U,Ma)}if((Ka|0)>0){ea=ca+12|0;T=ca+5|0;fa=ca+24|0;$=ca+7|0;V=ca+16|0;_=U;U=Ka;while(1){Na=aa+(U<<3)|0;Oa=_;_=_+-1|0;c:do if(_>>>0<(c[ba>>2]|0)>>>0){Pa=(c[ea>>2]|0)+(_<<3)|0;da=246}else{Qa=Oa<<16;if((Qa|0)<0){Ra=0-Qa|0;Sa=(Qa|0)==(Ra|0)?0:Ra}else Sa=Qa;Ra=(c[V>>2]|0)+(((Sa|0)%((1<<d[$>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[Ra+12>>2]|0)==3?(c[Ra+8>>2]|0)==(Qa|0):0){Ta=Ra;break}Ra=c[Ra+16>>2]|0;if(!Ra){da=247;break c}}Pa=Ta;da=246}while(0);if((da|0)==246){da=0;if((Pa|0)==137316)da=247;else Ua=Pa}if((da|0)==247){da=0;c[o>>2]=Oa;c[u>>2]=3;Ua=pd(e,ca,o)|0}c[Ua>>2]=c[Na>>2];Ra=Na+4|0;c[Ua+4>>2]=c[Ra>>2];if((c[Ra>>2]&64|0?a[(c[Na>>2]|0)+5>>0]&3:0)?(Ra=a[T>>0]|0,Ra&4):0){Qa=c[r>>2]|0;a[T>>0]=Ra&251;Ra=Qa+76|0;c[fa>>2]=c[Ra>>2];c[Ra>>2]=ca}if((U|0)<=1)break;else U=U+-1|0}}c[s>>2]=c[O>>2];P=oa;continue b;break}case 37:{U=c[(c[(c[K>>2]|0)+16>>2]|0)+(R>>>14<<2)>>2]|0;ca=U+32|0;fa=c[ca>>2]|0;T=c[U+40>>2]|0;$=c[U+28>>2]|0;d:do if(!fa)da=262;else{if((T|0)>0){V=fa+16|0;_=0;do{ea=d[$+(_<<3)+5>>0]|0;if(!(a[$+(_<<3)+4>>0]|0))Va=c[(c[J+16+(ea<<2)>>2]|0)+8>>2]|0;else Va=oa+(ea<<3)|0;if((c[(c[V+(_<<2)>>2]|0)+8>>2]|0)!=(Va|0)){da=262;break d}_=_+1|0}while((_|0)<(T|0))}c[aa>>2]=fa;c[oa+(S<<3)+4>>2]=70}while(0);if((da|0)==262){da=0;fa=Dd(e,T)|0;c[fa+12>>2]=U;c[aa>>2]=fa;c[oa+(S<<3)+4>>2]=70;if((T|0)>0){_=fa+16|0;V=0;do{Na=d[$+(V<<3)+5>>0]|0;if(!(a[$+(V<<3)+4>>0]|0))c[_+(V<<2)>>2]=c[J+16+(Na<<2)>>2];else c[_+(V<<2)>>2]=Ed(e,oa+(Na<<3)|0)|0;V=V+1|0}while((V|0)!=(T|0))}T=U+5|0;V=a[T>>0]|0;do if(V&4){if(c[ca>>2]|0){_=c[r>>2]|0;a[T>>0]=V&251;$=_+76|0;c[U+72>>2]=c[$>>2];c[$>>2]=U;break}if(a[fa+5>>0]&3){$=c[r>>2]|0;if((d[$+49>>0]|0)<2){Sc($,fa);break}else{a[T>>0]=d[$+48>>0]&3|V&184;break}}}while(0);c[ca>>2]=fa}V=c[r>>2]|0;T=V+12|0;U=c[T>>2]|0;if((U|0)>0){c[s>>2]=aa+8;if(!(a[V+51>>0]|0)){$=V+8|0;c[$>>2]=U+1600+(c[$>>2]|0);c[T>>2]=-1600}else fd(e);c[s>>2]=c[O>>2]}P=c[M>>2]|0;continue b;break}case 38:{T=R>>>23;$=T+-1|0;U=(oa-(c[I>>2]|0)>>3)-(d[(c[K>>2]|0)+76>>0]|0)|0;V=U+-1|0;if(!T){T=c[s>>2]|0;if(((c[v>>2]|0)-T>>3|0)<(U|0)){_=c[w>>2]|0;if((_|0)>1e6){da=286;break a}Na=U+4+(T-(c[x>>2]|0)>>3)|0;T=_<<1;_=(T|0)>1e6?1e6:T;T=(_|0)<(Na|0)?Na:_;if((T|0)>1e6){da=288;break a}Kc(e,T)}T=c[M>>2]|0;_=T+(S<<3)|0;c[s>>2]=_+(V<<3);Wa=V;Xa=T;Ya=_}else{Wa=$;Xa=oa;Ya=aa}if((Wa|0)<=0){P=Xa;continue b}$=Xa+(1-U<<3)|0;U=0;while(1){if((U|0)<(V|0)){_=$+(U<<3)|0;c[Ya+(U<<3)>>2]=c[_>>2];Za=c[_+4>>2]|0}else Za=0;c[Ya+(U<<3)+4>>2]=Za;_=U+1|0;if((_|0)==(Wa|0)){P=Xa;continue b}else U=_}break}default:{P=oa;continue b}}while(0);aa=c[Ja+12>>2]|0;if(!aa){P=Ha;continue}c[Ja>>2]=c[Ja+8>>2];c[Ja+4>>2]=aa;c[N>>2]=(c[N>>2]|0)+((Ia>>>14)+-131071<<2);P=Ha}if((da|0)==168){da=0;P=c[p>>2]|0;N=P+18|0;a[N>>0]=d[N>>0]|4;I=P;continue}else if((da|0)==173){da=0;P=c[p>>2]|0;N=c[P+8>>2]|0;M=c[P>>2]|0;O=c[N>>2]|0;J=P+24|0;L=(c[J>>2]|0)+(d[(c[(c[M>>2]|0)+12>>2]|0)+76>>0]<<3)|0;if((c[(c[K>>2]|0)+56>>2]|0)>0)$c(e,c[N+24>>2]|0);if(M>>>0<L>>>0){aa=M;S=0;do{c[O+(S<<3)>>2]=c[aa>>2];c[O+(S<<3)+4>>2]=c[M+(S<<3)+4>>2];S=S+1|0;aa=M+(S<<3)|0}while(aa>>>0<L>>>0)}L=M;c[N+24>>2]=O+((c[J>>2]|0)-L>>3<<3);aa=O+((c[s>>2]|0)-L>>3<<3)|0;c[s>>2]=aa;c[N+4>>2]=aa;c[N+28>>2]=c[P+28>>2];aa=N+18|0;a[aa>>0]=d[aa>>0]|64;c[p>>2]=N;I=N;continue}else if((da|0)==178){da=0;aa=pa>>>23;if(aa|0)c[s>>2]=qa+(aa<<3)+-8;if((c[(c[K>>2]|0)+56>>2]|0)>0)$c(e,ra);aa=c[p>>2]|0;L=d[q>>0]|0;if(!(L&6)){_a=qa;$a=c[aa+8>>2]|0}else{if(!(L&2))ab=qa;else{L=qa-(c[x>>2]|0)|0;gd(e,1,-1);ab=(c[x>>2]|0)+L|0}L=c[aa+8>>2]|0;c[D>>2]=c[L+28>>2];_a=ab;$a=L}L=c[aa>>2]|0;S=b[aa+16>>1]|0;c[p>>2]=$a;e:do if(S<<16>>16){aa=_a;R=S<<16>>16;Q=L;while(1){if(aa>>>0>=(c[s>>2]|0)>>>0){bb=R;cb=Q;break}U=Q+8|0;c[Q>>2]=c[aa>>2];c[Q+4>>2]=c[aa+4>>2];R=R+-1|0;if(!R){db=U;break e}else{aa=aa+8|0;Q=U}}if((bb|0)>0){Q=bb;aa=cb;while(1){R=aa+8|0;c[aa+4>>2]=0;if((Q|0)>1){Q=Q+-1|0;aa=R}else{db=R;break}}}else db=cb}else db=L;while(0);c[s>>2]=db;if(!(a[I+18>>0]&4)){da=296;break}L=c[p>>2]|0;if(S<<16>>16==-1){I=L;continue}c[s>>2]=c[L+4>>2];I=L;continue}}switch(da|0){case 14:{Jc(e,6);break}case 16:{Kc(e,1000200);Mc(e,32226,n);break}case 31:{Jc(e,6);break}case 33:{Kc(e,1000200);Mc(e,32226,m);break}case 37:{m=na;if(!X){eb=m+-4|0;c[ka>>2]=eb;fb=a[Y>>0]|0;gb=fb&255;hb=gb|128;ib=hb&255;a[Y>>0]=ib;jb=c[s>>2]|0;kb=jb+-8|0;c[W>>2]=kb;Jc(e,1)}c[y>>2]=1;eb=m+-4|0;c[ka>>2]=eb;fb=a[Y>>0]|0;gb=fb&255;hb=gb|128;ib=hb&255;a[Y>>0]=ib;jb=c[s>>2]|0;kb=jb+-8|0;c[W>>2]=kb;Jc(e,1);break}case 63:{Jc(e,4);break}case 205:{Mc(e,32845,l);break}case 210:{Mc(e,32882,k);break}case 215:{Mc(e,32911,j);break}case 219:{Mc(e,32241,h);break}case 221:{Jc(e,6);break}case 286:{Jc(e,6);break}case 288:{Kc(e,1000200);Mc(e,32226,g);break}case 296:{i=f;return}}}function ld(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|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;j=i;i=i+16|0;k=j+8|0;l=j;m=e+12|0;n=f;o=c[f+4>>2]|0;f=0;while(1){if((o|0)==69){p=c[n>>2]|0;q=md(p,g)|0;r=q+4|0;if(c[r>>2]|0){s=q;t=r;break}u=c[p+8>>2]|0;if(!u){s=q;t=r;break}p=u+6|0;v=b[p>>1]|0;if(v&1){s=q;t=r;break}w=c[(c[m>>2]|0)+156>>2]|0;x=(c[u+16>>2]|0)+(((1<<((v&65535)>>>8&65535))+-1&c[w+8>>2])*20|0)|0;while(1){if((c[x+12>>2]|0)==68?(c[x+8>>2]|0)==(w|0):0){y=x;z=10;break}x=c[x+16>>2]|0;if(!x){A=137316;break}}if((z|0)==10){z=0;A=y}x=c[A+4>>2]|0;if(!x){B=q;C=r;D=p;E=v;z=13;break}if(!A){s=q;t=r;break}else{F=x;G=A}}else{x=o&15;switch(x|0){case 5:{H=(c[n>>2]|0)+8|0;break}case 7:{H=(c[n>>2]|0)+8|0;break}default:H=(c[m>>2]|0)+224+(x<<2)|0}x=c[H>>2]|0;a:do if(!x)I=137316;else{w=c[(c[m>>2]|0)+156>>2]|0;u=(c[x+16>>2]|0)+(((1<<(d[x+7>>0]|0))+-1&c[w+8>>2])*20|0)|0;while(1){if((c[u+12>>2]|0)==68?(c[u+8>>2]|0)==(w|0):0){J=u;break}u=c[u+16>>2]|0;if(!u){I=137316;break a}}I=J}while(0);x=c[I+4>>2]|0;if(!x){K=n;z=27;break}else{F=x;G=I}}f=f+1|0;if((F&15|0)==6){L=n;M=G;z=29;break}if((f|0)>=100){z=42;break}else{n=G;o=F}}if((z|0)==13){a[D>>0]=E&65535|1;s=B;t=C}else if((z|0)==27)id(e,K,32367);else if((z|0)==29){K=e+28|0;C=h-(c[K>>2]|0)|0;B=e+8|0;E=c[B>>2]|0;c[B>>2]=E+8;c[E>>2]=c[M>>2];c[E+4>>2]=c[M+4>>2];M=c[B>>2]|0;c[B>>2]=M+8;c[M>>2]=c[L>>2];c[M+4>>2]=c[L+4>>2];L=c[B>>2]|0;c[B>>2]=L+8;c[L>>2]=c[g>>2];c[L+4>>2]=c[g+4>>2];g=(c[B>>2]|0)+-24|0;L=a[(c[e+16>>2]|0)+18>>0]|0;M=e+38|0;E=(b[M>>1]|0)+1<<16>>16;b[M>>1]=E;if((E&65535)>199){if(E<<16>>16==200)Mc(e,32241,l);if((E&65535)>224)Jc(e,6)}E=(L&1)!=0;if(!E){L=e+36|0;b[L>>1]=(b[L>>1]|0)+1<<16>>16}if(!(ed(e,g,1)|0))kd(e);if(E)N=b[M>>1]|0;else{E=e+36|0;g=c[E>>2]|0;b[E>>1]=(g&65535)+-1<<16>>16;N=g>>>16&65535}b[M>>1]=N+-1<<16>>16;N=(c[K>>2]|0)+C|0;C=c[B>>2]|0;K=C+-8|0;c[B>>2]=K;c[N>>2]=c[K>>2];c[N+4>>2]=c[C+-4>>2];i=j;return}else if((z|0)==42)Mc(e,32373,k);c[h>>2]=c[s>>2];c[h+4>>2]=c[t>>2];i=j;return}function md(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;e=b+4|0;f=c[e>>2]|0;switch(f&63|0){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){i=h;break}h=c[h+16>>2]|0;if(!h){j=137316;k=37;break}}if((k|0)==37)return j|0;j=i;return j|0}case 3:{i=c[b>>2]|0;if((f|0)==3?!(i>>>0>4294901759|((i&65535|0)!=0|(i+-65536|0)>>>0>2147352576)):0){f=i>>16;i=f+-1|0;if(i>>>0<(c[a+28>>2]|0)>>>0){j=(c[a+12>>2]|0)+(i<<3)|0;return j|0}i=f<<16;if((f|0)<0){f=0-i|0;l=(i|0)==(f|0)?0:f}else l=i;f=(c[a+16>>2]|0)+(((l|0)%((1<<(d[a+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[f+12>>2]|0)==3?(c[f+8>>2]|0)==(i|0):0){m=f;break}f=c[f+16>>2]|0;if(!f){j=137316;k=37;break}}if((k|0)==37)return j|0;j=m;return j|0}else n=b;break}case 0:{j=137316;return j|0}default:n=b}m=nd(a,b)|0;a=c[e>>2]|0;e=a&63;f=m;a:while(1){b:do if((c[f+12>>2]|0)==(a|0)){m=f+8|0;switch(e|0){case 0:{o=f;break a;break}case 3:{p=(c[m>>2]|0)==(c[n>>2]|0)&1;break}case 1:{p=(c[m>>2]|0)==(c[n>>2]|0)&1;break}case 2:{p=(c[m>>2]|0)==(c[b>>2]|0)&1;break}case 22:{p=(c[m>>2]|0)==(c[b>>2]|0)&1;break}case 4:{p=(c[m>>2]|0)==(c[b>>2]|0)&1;break}case 20:{i=c[m>>2]|0;l=c[b>>2]|0;h=c[i+12>>2]|0;if((i|0)!=(l|0))if((h|0)==(c[l+12>>2]|0))q=(Oo(i+16|0,l+16|0,h)|0)==0;else q=0;else q=1;p=q&1;break}case 7:{if((c[m>>2]|0)==(c[b>>2]|0)){o=f;break a}else break b;break}case 5:{if((c[m>>2]|0)==(c[b>>2]|0)){o=f;break a}else break b;break}default:p=(c[m>>2]|0)==(c[b>>2]|0)&1}if(p|0){o=f;break a}}while(0);f=c[f+16>>2]|0;if(!f){j=137316;k=37;break}}if((k|0)==37)return j|0;j=o;return j|0}function nd(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;switch(c[e+4>>2]&63|0){case 3:{f=c[e>>2]|0;if((f|0)<0){g=0-f|0;h=(f|0)==(g|0)?0:g}else h=f;i=(c[b+16>>2]|0)+(((h|0)%((1<<d[b+7>>0])+-1|1|0)|0)*20|0)|0;return i|0}case 20:{h=c[e>>2]|0;f=h+6|0;if(!(a[f>>0]|0)){g=h+16|0;j=c[h+12>>2]|0;k=h+8|0;l=c[k>>2]^j;m=(j>>>5)+1|0;if(m>>>0>j>>>0)n=l;else{o=l;l=j;while(1){j=(o<<5)+(o>>>2)+(d[g+(l+-1)>>0]|0)^o;l=l-m|0;if(l>>>0<m>>>0){n=j;break}else o=j}}c[k>>2]=n;a[f>>0]=1}i=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[h+8>>2])*20|0)|0;return i|0}case 4:{i=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[(c[e>>2]|0)+8>>2])*20|0)|0;return i|0}case 1:{i=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[e>>2])*20|0)|0;return i|0}case 2:{i=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return i|0}case 22:{i=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return i|0}default:{i=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return i|0}}return 0}function od(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|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;j=i;i=i+16|0;k=j+8|0;l=j;m=e+12|0;n=f;o=c[f+4>>2]|0;f=0;while(1){if((o|0)==69){p=c[n>>2]|0;q=md(p,g)|0;if(c[q+4>>2]|0){r=p;s=q;break}t=c[p+8>>2]|0;if(!t){u=q;v=p;w=15;break}x=t+6|0;y=b[x>>1]|0;if(y&2){u=q;v=p;w=15;break}z=c[(c[m>>2]|0)+160>>2]|0;A=(c[t+16>>2]|0)+(((1<<((y&65535)>>>8&65535))+-1&c[z+8>>2])*20|0)|0;while(1){if((c[A+12>>2]|0)==68?(c[A+8>>2]|0)==(z|0):0){B=A;w=10;break}A=c[A+16>>2]|0;if(!A){C=137316;break}}if((w|0)==10){w=0;C=B}A=c[C+4>>2]|0;if(!A){D=p;E=q;F=x;G=y;w=13;break}if(!C){u=q;v=p;w=15;break}else{H=A;I=C}}else{A=o&15;switch(A|0){case 5:{J=(c[n>>2]|0)+8|0;break}case 7:{J=(c[n>>2]|0)+8|0;break}default:J=(c[m>>2]|0)+224+(A<<2)|0}A=c[J>>2]|0;a:do if(!A)K=137316;else{z=c[(c[m>>2]|0)+160>>2]|0;t=(c[A+16>>2]|0)+(((1<<(d[A+7>>0]|0))+-1&c[z+8>>2])*20|0)|0;while(1){if((c[t+12>>2]|0)==68?(c[t+8>>2]|0)==(z|0):0){L=t;break}t=c[t+16>>2]|0;if(!t){K=137316;break a}}K=L}while(0);A=c[K+4>>2]|0;if(!A){M=n;w=32;break}else{H=A;I=K}}f=f+1|0;if((H&15|0)==6){N=n;O=I;w=34;break}if((f|0)>=100){w=47;break}else{n=I;o=H}}if((w|0)==13){a[F>>0]=G&65535|2;u=E;v=D;w=15}else if((w|0)==32)id(e,M,32367);else if((w|0)==34){M=e+8|0;D=c[M>>2]|0;c[M>>2]=D+8;c[D>>2]=c[O>>2];c[D+4>>2]=c[O+4>>2];O=c[M>>2]|0;c[M>>2]=O+8;c[O>>2]=c[N>>2];c[O+4>>2]=c[N+4>>2];N=c[M>>2]|0;c[M>>2]=N+8;c[N>>2]=c[g>>2];c[N+4>>2]=c[g+4>>2];N=c[M>>2]|0;c[M>>2]=N+8;c[N>>2]=c[h>>2];c[N+4>>2]=c[h+4>>2];N=(c[M>>2]|0)+-32|0;M=a[(c[e+16>>2]|0)+18>>0]|0;O=e+38|0;D=(b[O>>1]|0)+1<<16>>16;b[O>>1]=D;if((D&65535)>199){if(D<<16>>16==200)Mc(e,32241,l);if((D&65535)>224)Jc(e,6)}D=(M&1)!=0;if(!D){M=e+36|0;b[M>>1]=(b[M>>1]|0)+1<<16>>16}if(!(ed(e,N,0)|0))kd(e);if(D)P=b[O>>1]|0;else{D=e+36|0;N=c[D>>2]|0;b[D>>1]=(N&65535)+-1<<16>>16;P=N>>>16&65535}b[O>>1]=P+-1<<16>>16;i=j;return}else if((w|0)==47)Mc(e,32680,k);if((w|0)==15)if((u|0)==137316){r=v;s=pd(e,v,g)|0}else{r=v;s=u}c[s>>2]=c[h>>2];u=h+4|0;c[s+4>>2]=c[u>>2];a[r+6>>0]=0;if(!(c[u>>2]&64)){i=j;return}if(!(a[(c[h>>2]|0)+5>>0]&3)){i=j;return}h=r+5|0;u=a[h>>0]|0;if(!(u&4)){i=j;return}s=c[m>>2]|0;a[h>>0]=u&251;u=s+76|0;c[r+24>>2]=c[u>>2];c[u>>2]=r;i=j;return}function pd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+128|0;h=g+4|0;j=f+4|0;if(!(c[j>>2]|0))Mc(b,32390,g);k=nd(e,f)|0;l=k+4|0;do if((k|0)==137332|(c[l>>2]|0)!=0){m=e+20|0;n=c[e+16>>2]|0;o=c[m>>2]|0;while(1){if(o>>>0<=n>>>0)break;p=o+-20|0;c[m>>2]=p;if(!(c[o+-8>>2]|0)){q=o;r=p;s=38;break}else o=p}if((s|0)==38){o=nd(e,k+8|0)|0;if((o|0)==(k|0)){m=k+16|0;c[q+-4>>2]=c[m>>2];c[m>>2]=r;t=r;break}else u=o;do{o=u+16|0;u=c[o>>2]|0}while((u|0)!=(k|0));v=o;c[v>>2]=r;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];c[r+8>>2]=c[k+8>>2];c[r+12>>2]=c[k+12>>2];c[r+16>>2]=c[k+16>>2];c[k+16>>2]=0;c[l>>2]=0;t=k;break}o=h;m=o+124|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(m|0));o=e+12|0;m=c[e+28>>2]|0;p=0;w=1;x=0;y=1;while(1){if((y|0)>(m|0))if((w|0)>(m|0)){z=p;break}else A=m;else A=y;if((w|0)>(A|0)){B=w;C=0}else{D=c[o>>2]|0;E=w;F=0;while(1){G=((c[D+(E+-1<<3)+4>>2]|0)!=0&1)+F|0;H=E+1|0;if((E|0)<(A|0)){E=H;F=G}else{B=H;C=G;break}}}F=h+(x<<2)|0;c[F>>2]=(c[F>>2]|0)+C;F=C+p|0;x=x+1|0;if((x|0)>=31){z=F;break}else{p=F;w=B;y=y<<1}}y=0;w=1<<(d[e+7>>0]|0);p=0;a:while(1){x=w;while(1){o=x+-1|0;if(!x){I=y;J=p;break a}if(!(c[n+(o*20|0)+4>>2]|0))x=o;else{K=o;break}}if(((c[n+(K*20|0)+12>>2]|0)==3?(x=c[n+(K*20|0)+8>>2]|0,!((x&65535|0)!=0|(x+-65536|0)>>>0>2147352576)):0)?(o=(x>>16)+-1|0,o>>>0<32767):0){if(o>>>0>255){x=o;m=0;while(1){F=m+8|0;E=x>>>8;if(x>>>0>65535){x=E;m=F}else{L=E;M=F;break}}}else{L=o;M=0}m=h+((d[32409+L>>0]|0)+M<<2)|0;c[m>>2]=(c[m>>2]|0)+1;N=1}else N=0;y=N+y|0;w=K;p=p+1|0}p=I+z|0;if(((c[j>>2]|0)==3?(w=c[f>>2]|0,!((w&65535|0)!=0|(w+-65536|0)>>>0>2147352576)):0)?(y=(w>>16)+-1|0,y>>>0<32767):0){if(y>>>0>255){w=y;n=0;while(1){m=n+8|0;x=w>>>8;if(w>>>0>65535){w=x;n=m}else{O=x;P=m;break}}}else{O=y;P=0}n=h+((d[32409+O>>0]|0)+P<<2)|0;c[n>>2]=(c[n>>2]|0)+1;Q=1}else Q=0;n=p+Q|0;b:do if((n|0)>0){w=0;m=0;x=0;F=0;E=0;D=1;while(1){G=c[h+(x<<2)>>2]|0;if((G|0)>0){H=G+m|0;G=(H|0)>(w|0);R=H;S=G?D:F;T=G?H:E}else{R=m;S=F;T=E}if((R|0)==(n|0)){U=S;V=T;break b}if((D|0)<(n|0)){H=D;m=R;x=x+1|0;F=S;E=T;D=D<<1;w=H}else{U=S;V=T;break}}}else{U=0;V=0}while(0);qd(b,e,U,z+1+J-V|0);n=md(e,f)|0;if((n|0)!=137316){W=n;i=g;return W|0}W=pd(b,e,f)|0;i=g;return W|0}else t=k;while(0);c[t+8>>2]=c[f>>2];c[t+12>>2]=c[j>>2];if((c[j>>2]&64|0?a[(c[f>>2]|0)+5>>0]&3:0)?(f=e+5|0,j=a[f>>0]|0,j&4):0){k=c[b+12>>2]|0;a[f>>0]=j&251;j=k+76|0;c[e+24>>2]=c[j>>2];c[j>>2]=e}W=t;i=g;return W|0}function qd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=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;h=i;i=i+16|0;j=h;k=h+8|0;l=e+28|0;m=c[l>>2]|0;n=e+7|0;o=a[n>>0]|0;p=o&255;q=e+16|0;r=c[q>>2]|0;if((m|0)<(f|0)){if((f+1|0)>>>0>536870911)Lc(b);s=e+12|0;t=c[s>>2]|0;u=m<<3;v=f<<3;w=c[b+12>>2]|0;x=(t|0)!=0;y=w+4|0;z=Gb[c[w>>2]&1](c[y>>2]|0,t,u,v)|0;if((v|0)!=0&(z|0)==0){if(!(a[w+51>>0]|0))Jc(b,4);bd(b,1);A=Gb[c[w>>2]&1](c[y>>2]|0,t,u,v)|0;if(!A)Jc(b,4);else B=A}else B=z;z=w+12|0;c[z>>2]=(x?0-u|0:0)+v+(c[z>>2]|0);c[s>>2]=B;s=c[l>>2]|0;if((s|0)<(f|0)){z=s;do{c[B+(z<<3)+4>>2]=0;z=z+1|0}while((z|0)!=(f|0))}c[l>>2]=f}if(!g){c[q>>2]=137332;C=0;D=137332;E=0}else{z=g+-1|0;if(z>>>0>255){g=z;B=0;while(1){s=B+8|0;v=g>>>8;if(g>>>0>65535){g=v;B=s}else{F=v;G=s;break}}}else{F=z;G=0}z=(d[32409+F>>0]|0)+G|0;if((z|0)>30)Mc(b,32665,j);j=1<<z;if((j+1|0)>>>0>214748364)Lc(b);G=20<<z;F=c[b+12>>2]|0;B=F+4|0;g=Gb[c[F>>2]&1](c[B>>2]|0,0,0,G)|0;if(z>>>0<30&(g|0)==0){if(!(a[F+51>>0]|0))Jc(b,4);bd(b,1);s=Gb[c[F>>2]&1](c[B>>2]|0,0,0,G)|0;if(!s)Jc(b,4);else H=s}else H=g;g=F+12|0;c[g>>2]=(c[g>>2]|0)+G;c[q>>2]=H;G=0;do{c[H+(G*20|0)+16>>2]=0;c[H+(G*20|0)+12>>2]=0;c[H+(G*20|0)+4>>2]=0;G=G+1|0}while((G|0)<(j|0));C=j;D=H;E=z&255}a[n>>0]=E;c[e+20>>2]=D+(C*20|0);if((m|0)>(f|0)){c[l>>2]=f;C=e+12|0;D=k+4|0;E=f;while(1){z=c[C>>2]|0;H=z+(E<<3)+4|0;if(!(c[H>>2]|0))I=E+1|0;else{j=z+(E<<3)|0;z=E+1|0;a:do if(E>>>0<(c[l>>2]|0)>>>0){J=j;K=38}else{G=z<<16;if((G|0)<0){g=0-G|0;L=(G|0)==(g|0)?0:g}else L=G;g=(c[q>>2]|0)+(((L|0)%((1<<d[n>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[g+12>>2]|0)==3?(c[g+8>>2]|0)==(G|0):0){M=g;break}g=c[g+16>>2]|0;if(!g){K=39;break a}}J=M;K=38}while(0);if((K|0)==38){K=0;if((J|0)==137316)K=39;else N=J}if((K|0)==39){K=0;c[k>>2]=z;c[D>>2]=3;N=pd(b,e,k)|0}c[N>>2]=c[j>>2];c[N+4>>2]=c[H>>2];I=z}if((I|0)==(m|0))break;else E=I}if((f+1|0)>>>0>536870911)Lc(b);I=e+12|0;E=c[I>>2]|0;N=m<<3;m=f<<3;f=c[b+12>>2]|0;k=(E|0)!=0;D=f+4|0;K=Gb[c[f>>2]&1](c[D>>2]|0,E,N,m)|0;if((m|0)!=0&(K|0)==0){if(!(a[f+51>>0]|0))Jc(b,4);bd(b,1);J=Gb[c[f>>2]&1](c[D>>2]|0,E,N,m)|0;if(!J)Jc(b,4);else O=J}else O=K;K=f+12|0;c[K>>2]=(k?0-N|0:0)+m+(c[K>>2]|0);c[I>>2]=O}if(o<<24>>24!=31){o=1<<p;do{O=o;o=o+-1|0;I=r+(o*20|0)+4|0;if(c[I>>2]|0){K=r+(o*20|0)+8|0;m=md(e,K)|0;if((m|0)==137316)P=pd(b,e,K)|0;else P=m;c[P>>2]=c[r+(o*20|0)>>2];c[P+4>>2]=c[I>>2]}}while((O|0)>1)}if((r|0)==137332){i=h;return}P=20<<p;p=c[b+12>>2]|0;Gb[c[p>>2]&1](c[p+4>>2]|0,r,P,0)|0;b=p+12|0;c[b>>2]=(c[b>>2]|0)-(r|0?P:0);i=h;return}function rd(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|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;k=i;i=i+32|0;l=k;m=k+16|0;n=k+8|0;o=g+4|0;p=c[o>>2]|0;do if((p|0)!=3){if((p&15|0)==4?(q=c[g>>2]|0,sd(q+16|0,c[q+12>>2]|0,m)|0):0){c[n>>2]=c[m>>2];c[n+4>>2]=3;r=n;s=6;break}}else{r=g;s=6}while(0);a:do if((s|0)==6){n=c[h+4>>2]|0;do if((n|0)==3)t=h;else{if((n&15|0)==4?(p=c[h>>2]|0,sd(p+16|0,c[p+12>>2]|0,m)|0):0){t=m;break}break a}while(0);n=c[t>>2]|0;p=c[r>>2]|0;switch(j|0){case 6:{u=n+p|0;break}case 7:{u=p-n|0;break}case 8:{u=Mi(p,n)|0;break}case 9:{u=Ni(p,n)|0;break}case 10:{u=Oi(p,n)|0;break}case 11:{u=Pi(p,n)|0;break}case 12:{u=0-p|0;break}default:u=0}c[f>>2]=u;c[f+4>>2]=3;i=k;return}while(0);u=c[o>>2]&15;switch(u|0){case 5:{v=(c[g>>2]|0)+8|0;break}case 7:{v=(c[g>>2]|0)+8|0;break}default:v=(c[e+12>>2]|0)+224+(u<<2)|0}u=c[v>>2]|0;b:do if(!u)w=137316;else{v=c[(c[e+12>>2]|0)+156+(j<<2)>>2]|0;r=(c[u+16>>2]|0)+(((1<<(d[u+7>>0]|0))+-1&c[v+8>>2])*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(v|0):0){x=r;break}r=c[r+16>>2]|0;if(!r){w=137316;break b}}w=x}while(0);c:do if(!(c[w+4>>2]|0)){x=c[h+4>>2]&15;switch(x|0){case 5:{y=(c[h>>2]|0)+8|0;break}case 7:{y=(c[h>>2]|0)+8|0;break}default:y=(c[e+12>>2]|0)+224+(x<<2)|0}x=c[y>>2]|0;if(!x)z=137316;else{u=c[(c[e+12>>2]|0)+156+(j<<2)>>2]|0;r=(c[x+16>>2]|0)+(((1<<(d[x+7>>0]|0))+-1&c[u+8>>2])*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(u|0):0){A=r;break}r=c[r+16>>2]|0;if(!r){z=137316;break c}}z=A}}else z=w;while(0);w=z+4|0;if(!(c[w>>2]|0))td(e,g,h);A=e+28|0;j=f-(c[A>>2]|0)|0;f=e+8|0;y=c[f>>2]|0;c[f>>2]=y+8;c[y>>2]=c[z>>2];c[y+4>>2]=c[w>>2];w=c[f>>2]|0;c[f>>2]=w+8;c[w>>2]=c[g>>2];c[w+4>>2]=c[o>>2];o=c[f>>2]|0;c[f>>2]=o+8;c[o>>2]=c[h>>2];c[o+4>>2]=c[h+4>>2];h=(c[f>>2]|0)+-24|0;o=a[(c[e+16>>2]|0)+18>>0]|0;w=e+38|0;g=(b[w>>1]|0)+1<<16>>16;b[w>>1]=g;if((g&65535)>199){if(g<<16>>16==200)Mc(e,32241,l);if((g&65535)>224)Jc(e,6)}g=(o&1)!=0;if(!g){o=e+36|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16}if(!(ed(e,h,1)|0))kd(e);if(g)B=b[w>>1]|0;else{g=e+36|0;e=c[g>>2]|0;b[g>>1]=(e&65535)+-1<<16>>16;B=e>>>16&65535}b[w>>1]=B+-1<<16>>16;B=(c[A>>2]|0)+j|0;j=c[f>>2]|0;A=j+-8|0;c[f>>2]=A;c[B>>2]=c[A>>2];c[B+4>>2]=c[j+-4>>2];i=k;return}function sd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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=i;i=i+16|0;h=g;if(Lo(b,32697)|0){j=0;i=g;return j|0}a:do if(!(Lo(b,32700)|0)){k=~~(+iq(b,h)*65536.0+7.62939453125e-06);l=c[h>>2]|0;m=k}else{k=b;c[h>>2]=k;n=a[b>>0]|0;if(!(a[31890+((n&255)+1)>>0]&8)){o=b;p=n;q=k}else{k=b;while(1){n=k+1|0;r=a[n>>0]|0;if(!(a[31890+((r&255)+1)>>0]&8)){s=n;t=r;break}else k=n}o=s;p=t;q=s}switch(p<<24>>24){case 45:{u=o+1|0;break}case 43:{u=o+1|0;break}default:u=q}k=u;b:do if((a[k>>0]|0)==48){switch(a[k+1>>0]|0){case 88:case 120:break;default:break b}n=k+2|0;r=a[n>>0]|0;v=r&255;if(!(a[31890+(v+1)>>0]&16)){w=0;x=n;y=r;z=0}else{r=0;A=v;v=0;B=n;while(1){n=A+-48|0;C=(n>>>0<10?n:(A|32)+-87|0)+(r<<4)|0;n=v+1|0;D=B+1|0;E=a[D>>0]|0;A=E&255;if(!(a[31890+(A+1)>>0]&16)){F=C;G=n;H=D;I=E;break}else{r=C;v=n;B=D}}w=F<<16;x=H;y=I;z=G}B=x;if(y<<24>>24==46){v=x+1|0;r=v;A=d[v>>0]|0;if(!(a[31890+(A+1)>>0]&16)){J=0;K=r;L=0}else{D=0;n=A;A=0;C=v;while(1){v=n+-48|0;E=(v>>>0<10?v:(n|32)+-87|0)+(D<<4)|0;v=A+1|0;M=C+1|0;n=d[M>>0]|0;if(!(a[31890+(n+1)>>0]&16)){N=E;O=v;P=M;break}else{D=E;A=v;C=M}}J=N;K=P;L=O}C=K-r|0;if((C+-1|0)>>>0<3){Q=K;R=L;S=J<<(4-C<<2)}else{Q=K;R=L;S=J}}else{Q=B;R=0;S=0}if(R|z|0){c[h>>2]=Q;C=Q;switch(a[C>>0]|0){case 80:case 112:{l=C;m=0;break a;break}default:{}}c[h>>2]=C;l=C;m=~~+gq(+(S+w|0),0);break a}}while(0);c[f>>2]=0;j=0;i=g;return j|0}while(0);c[f>>2]=m;if((l|0)==(b|0)){j=0;i=g;return j|0}if(!(a[31890+((d[l>>0]|0)+1)>>0]&8))T=l;else{m=l;while(1){l=m+1|0;if(!(a[31890+((d[l>>0]|0)+1)>>0]&8)){U=l;break}else m=l}c[h>>2]=U;T=U}j=(T|0)==(b+e|0)&1;i=g;return j|0}function td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e;e=c[b+4>>2]|0;if((e|0)!=3)if((e&15|0)==4?(e=c[b>>2]|0,(sd(e+16|0,c[e+12>>2]|0,f)|0)!=0):0){c[g>>2]=c[f>>2];c[g+4>>2]=3;h=g}else h=0;else h=b;id(a,(h|0)==0?b:d,32703)}function ud(e,f,g){e=e|0;f=f|0;g=g|0;var h=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=i;i=i+16|0;j=h;k=g+4|0;l=c[k>>2]&15;a:do switch(l|0){case 5:{m=c[g>>2]|0;n=c[m+8>>2]|0;do if(n|0?(o=n+6|0,p=b[o>>1]|0,(p&16)==0):0){q=c[(c[e+12>>2]|0)+172>>2]|0;r=(c[n+16>>2]|0)+(((1<<((p&65535)>>>8&65535))+-1&c[q+8>>2])*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(q|0):0){s=r;t=7;break}r=c[r+16>>2]|0;if(!r){u=137316;break}}if((t|0)==7)u=s;if(c[u+4>>2]|0)if(!u)break;else{v=u;break a}else{a[o>>0]=p&65535|16;break}}while(0);c[f>>2]=(vd(m)|0)<<16;c[f+4>>2]=3;i=h;return}case 4:{c[f>>2]=c[(c[g>>2]|0)+12>>2]<<16;c[f+4>>2]=3;i=h;return}case 7:{w=(c[g>>2]|0)+8|0;t=16;break}default:{w=(c[e+12>>2]|0)+224+(l<<2)|0;t=16}}while(0);if((t|0)==16){t=c[w>>2]|0;b:do if(!t)x=137316;else{w=c[(c[e+12>>2]|0)+172>>2]|0;l=(c[t+16>>2]|0)+(((1<<(d[t+7>>0]|0))+-1&c[w+8>>2])*20|0)|0;while(1){if((c[l+12>>2]|0)==68?(c[l+8>>2]|0)==(w|0):0){y=l;break}l=c[l+16>>2]|0;if(!l){x=137316;break b}}x=y}while(0);if(!(c[x+4>>2]|0))id(e,g,32725);else v=x}x=e+28|0;y=f-(c[x>>2]|0)|0;f=e+8|0;t=c[f>>2]|0;c[f>>2]=t+8;c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];v=c[f>>2]|0;c[f>>2]=v+8;c[v>>2]=c[g>>2];c[v+4>>2]=c[k>>2];v=c[f>>2]|0;c[f>>2]=v+8;c[v>>2]=c[g>>2];c[v+4>>2]=c[k>>2];k=(c[f>>2]|0)+-24|0;v=a[(c[e+16>>2]|0)+18>>0]|0;g=e+38|0;t=(b[g>>1]|0)+1<<16>>16;b[g>>1]=t;if((t&65535)>199){if(t<<16>>16==200)Mc(e,32241,j);if((t&65535)>224)Jc(e,6)}t=(v&1)!=0;if(!t){v=e+36|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}if(!(ed(e,k,1)|0))kd(e);if(t)z=b[g>>1]|0;else{t=e+36|0;e=c[t>>2]|0;b[t>>1]=(e&65535)+-1<<16>>16;z=e>>>16&65535}b[g>>1]=z+-1<<16>>16;z=(c[x>>2]|0)+y|0;y=c[f>>2]|0;x=y+-8|0;c[f>>2]=x;c[z>>2]=c[x>>2];c[z+4>>2]=c[y+-4>>2];i=h;return}function vd(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=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;g=b}else{h=0;return h|0}while(1){i=(f+g|0)>>>1;j=(c[e+(i+-1<<3)+4>>2]|0)==0;g=j?i:g;k=j?f:i;if((g-k|0)>>>0<=1){h=k;break}else f=k}return h|0}f=c[a+16>>2]|0;if((f|0)==137332){h=b;return h|0}g=a+12|0;e=a+7|0;a=b+1|0;k=b;while(1){i=a+-1|0;a:do if(i>>>0<b>>>0)l=(c[g>>2]|0)+(i<<3)|0;else{j=a<<16;if((j|0)<0){m=0-j|0;n=(j|0)==(m|0)?0:m}else n=j;m=f+(((n|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){o=m;break}m=c[m+16>>2]|0;if(!m){l=137316;break a}}l=o}while(0);if(!(c[l+4>>2]|0)){p=a;q=k;break}i=a<<1;if(i>>>0>2147483645){r=1;s=19;break}else{m=a;a=i;k=m}}if((s|0)==19){while(1){s=0;k=r+-1|0;b:do if(k>>>0<b>>>0)t=(c[g>>2]|0)+(k<<3)|0;else{a=r<<16;if((a|0)<0){l=0-a|0;u=(a|0)==(l|0)?0:l}else u=a;l=f+(((u|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[l+12>>2]|0)==3?(c[l+8>>2]|0)==(a|0):0){v=l;break}l=c[l+16>>2]|0;if(!l){t=137316;break b}}t=v}while(0);if(!(c[t+4>>2]|0)){h=k;break}else{r=r+1|0;s=19}}return h|0}if((p-q|0)>>>0>1){w=p;x=q}else{h=q;return h|0}while(1){q=(w+x|0)>>>1;p=q+-1|0;c:do if(p>>>0<b>>>0)y=(c[g>>2]|0)+(p<<3)|0;else{s=q<<16;if((s|0)<0){r=0-s|0;z=(s|0)==(r|0)?0:r}else z=s;r=f+(((z|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[r+12>>2]|0)==3?(c[r+8>>2]|0)==(s|0):0){A=r;break}r=c[r+16>>2]|0;if(!r){y=137316;break c}}y=A}while(0);p=(c[y+4>>2]|0)==0;w=p?q:w;k=p?x:q;if((w-k|0)>>>0<=1){h=k;break}else x=k}return h|0}function wd(e,f){e=e|0;f=f|0;var g=0,h=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=i;i=i+16|0;h=g+8|0;j=g;k=e+8|0;l=e+12|0;m=e+28|0;n=e+16|0;o=e+38|0;p=e+36|0;q=f;f=c[k>>2]|0;a:while(1){r=f+-16|0;s=f+-12|0;t=c[s>>2]|0;u=f+-8|0;do if((t|0)==3|(t&15|0)==4){v=f+-4|0;if((c[v>>2]&15|0)!=4){w=(xd(e,u)|0)==0;x=c[s>>2]|0;if(w){y=x;z=5;break}else A=x}else A=t;x=c[u>>2]|0;w=c[x+12>>2]|0;B=(A&15|0)==4;C=x;if(!w){if(B){D=2;break}xd(e,r)|0;D=2;break}if(B?(c[(c[r>>2]|0)+12>>2]|0)==0:0){c[r>>2]=C;c[s>>2]=c[v>>2];D=2;break}b:do if((q|0)>1){v=1;C=w;while(1){B=f+(0-v<<3)+-8|0;if((c[B+4>>2]&15|0)!=4?(xd(e,B)|0)==0:0){E=v;F=C;break b}x=c[(c[B>>2]|0)+12>>2]|0;if(x>>>0>=(-3-C|0)>>>0){z=51;break a}B=x+C|0;x=v+1|0;if((x|0)<(q|0)){v=x;C=B}else{E=x;F=B;break}}}else{E=1;F=w}while(0);w=c[l>>2]|0;C=w+116|0;v=w+124|0;B=c[v>>2]|0;if(B>>>0<F>>>0){x=F>>>0<32?32:F;if((x+1|0)>>>0>4294967293){z=56;break a}G=c[C>>2]|0;H=(G|0)!=0;I=w+4|0;J=Gb[c[w>>2]&1](c[I>>2]|0,G,B,x)|0;if((x|0)!=0&(J|0)==0){if(!(a[w+51>>0]|0)){z=60;break a}bd(e,1);K=Gb[c[w>>2]&1](c[I>>2]|0,G,B,x)|0;if(!K){z=60;break a}else L=K}else L=J;J=w+12|0;c[J>>2]=(H?0-B|0:0)+x+(c[J>>2]|0);c[C>>2]=L;c[v>>2]=x;M=L}else M=c[C>>2]|0;C=E;x=0;while(1){v=c[f+(0-C<<3)>>2]|0;J=c[v+12>>2]|0;xq(M+x|0,v+16|0,J|0)|0;v=J+x|0;if((C|0)>1){C=C+-1|0;x=v}else{N=v;break}}x=0-E|0;C=f+(x<<3)|0;if(N>>>0<41)O=Pc(e,M,N)|0;else{if((N+1|0)>>>0>4294967277){z=67;break a}v=c[l>>2]|0;J=c[v+44>>2]|0;B=N+17|0;H=v+4|0;w=Gb[c[v>>2]&1](c[H>>2]|0,0,4,B)|0;if((B|0)!=0&(w|0)==0){if(!(a[v+51>>0]|0)){z=71;break a}bd(e,1);K=Gb[c[v>>2]&1](c[H>>2]|0,0,4,B)|0;if(!K){z=71;break a}else P=K}else P=w;w=v+12|0;c[w>>2]=(c[w>>2]|0)+B;B=v+56|0;a[P+5>>0]=d[v+48>>0]&3;a[P+4>>0]=20;c[P>>2]=c[B>>2];c[B>>2]=P;c[P+12>>2]=N;c[P+8>>2]=J;a[P+6>>0]=0;J=P+16|0;xq(J|0,M|0,N|0)|0;a[J+N>>0]=0;O=P}c[C>>2]=O;c[f+(x<<3)+4>>2]=d[O+4>>0]|64;D=E}else{y=t;z=5}while(0);if((z|0)==5){z=0;t=y&15;switch(t|0){case 5:{Q=(c[r>>2]|0)+8|0;break}case 7:{Q=(c[r>>2]|0)+8|0;break}default:Q=(c[l>>2]|0)+224+(t<<2)|0}t=c[Q>>2]|0;c:do if(!t)R=137316;else{x=c[(c[l>>2]|0)+216>>2]|0;C=(c[t+16>>2]|0)+(((1<<d[t+7>>0])+-1&c[x+8>>2])*20|0)|0;while(1){if((c[C+12>>2]|0)==68?(c[C+8>>2]|0)==(x|0):0){S=C;break}C=c[C+16>>2]|0;if(!C){R=137316;break c}}R=S}while(0);d:do if(!(c[R+4>>2]|0)){t=c[f+-4>>2]&15;switch(t|0){case 5:{T=(c[u>>2]|0)+8|0;break}case 7:{T=(c[u>>2]|0)+8|0;break}default:T=(c[l>>2]|0)+224+(t<<2)|0}t=c[T>>2]|0;if(!t)U=137316;else{C=c[(c[l>>2]|0)+216>>2]|0;x=(c[t+16>>2]|0)+(((1<<d[t+7>>0])+-1&c[C+8>>2])*20|0)|0;while(1){if((c[x+12>>2]|0)==68?(c[x+8>>2]|0)==(C|0):0){V=x;break}x=c[x+16>>2]|0;if(!x){U=137316;break d}}U=V}}else U=R;while(0);x=U+4|0;if(!(c[x>>2]|0)){W=r;X=u;z=40;break}C=r-(c[m>>2]|0)|0;t=c[k>>2]|0;c[k>>2]=t+8;c[t>>2]=c[U>>2];c[t+4>>2]=c[x>>2];x=c[k>>2]|0;c[k>>2]=x+8;c[x>>2]=c[r>>2];c[x+4>>2]=c[s>>2];x=c[k>>2]|0;c[k>>2]=x+8;c[x>>2]=c[u>>2];c[x+4>>2]=c[f+-4>>2];x=(c[k>>2]|0)+-24|0;t=a[(c[n>>2]|0)+18>>0]|0;J=(b[o>>1]|0)+1<<16>>16;b[o>>1]=J;if((J&65535)>199){if(J<<16>>16==200){z=29;break}if((J&65535)>224){z=31;break}}J=(t&1)!=0;if(!J)b[p>>1]=(b[p>>1]|0)+1<<16>>16;if(!(ed(e,x,1)|0))kd(e);if(J)Y=b[o>>1]|0;else{J=c[p>>2]|0;b[p>>1]=(J&65535)+-1<<16>>16;Y=J>>>16&65535}b[o>>1]=Y+-1<<16>>16;J=(c[m>>2]|0)+C|0;C=c[k>>2]|0;x=C+-8|0;c[k>>2]=x;c[J>>2]=c[x>>2];c[J+4>>2]=c[C+-4>>2];D=2}q=q+1-D|0;f=(c[k>>2]|0)+(1-D<<3)|0;c[k>>2]=f;if((q|0)<=1){z=75;break}}if((z|0)==29)Mc(e,32241,j);else if((z|0)==31)Jc(e,6);else if((z|0)==40)yd(e,W,X);else if((z|0)==51)Mc(e,32759,h);else if((z|0)==56)Lc(e);else if((z|0)==60)Jc(e,4);else if((z|0)==67)Lc(e);else if((z|0)==71)Jc(e,4);else if((z|0)==75){i=g;return}}function xd(e,f){e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0;g=i;i=i+64|0;j=g+8|0;k=g;l=g+48|0;m=g+16|0;n=f+4|0;if((c[n>>2]|0)!=3){o=0;i=g;return o|0}p=c[f>>2]|0;if(p){q=(+(p|0)+.5)*.0000152587890625;r=q<0.0?-q:q;if(r<10.0)s=4;else{p=0;t=10.0;while(1){t=t*10.0;if((p|0)>4|r<t){u=p;break}else p=p+1|0}s=u+5|0}c[k>>2]=s;Zp(l,32739,k)|0;h[j>>3]=q;k=Zp(m,l,j)|0;if(k>>>0<41){v=k;w=8}else{if((k+1|0)>>>0>4294967277)Lc(e);j=c[e+12>>2]|0;l=c[j+44>>2]|0;s=k+17|0;u=j+4|0;p=Gb[c[j>>2]&1](c[u>>2]|0,0,4,s)|0;if((s|0)!=0&(p|0)==0){if(!(a[j+51>>0]|0))Jc(e,4);bd(e,1);x=Gb[c[j>>2]&1](c[u>>2]|0,0,4,s)|0;if(!x)Jc(e,4);else y=x}else y=p;p=j+12|0;c[p>>2]=(c[p>>2]|0)+s;s=j+56|0;a[y+5>>0]=d[j+48>>0]&3;a[y+4>>0]=20;c[y>>2]=c[s>>2];c[s>>2]=y;c[y+12>>2]=k;c[y+8>>2]=l;a[y+6>>0]=0;l=y+16|0;xq(l|0,m|0,k|0)|0;a[l+k>>0]=0;z=y}}else{b[m>>1]=48;v=1;w=8}if((w|0)==8)z=Pc(e,m,v)|0;c[f>>2]=z;c[n>>2]=d[z+4>>0]|64;o=1;i=g;return o|0}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;id(a,(e|0)==3|(e&15|0)==4?d:b,32747)}function zd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+16|0;h=g;j=e+4|0;a:do switch(c[j>>2]&63|0){case 0:{k=1;break}case 3:{k=(c[e>>2]|0)==(c[f>>2]|0);break}case 1:{k=(c[e>>2]|0)==(c[f>>2]|0);break}case 2:{k=(c[e>>2]|0)==(c[f>>2]|0);break}case 22:{k=(c[e>>2]|0)==(c[f>>2]|0);break}case 4:{k=(c[e>>2]|0)==(c[f>>2]|0);break}case 20:{l=c[e>>2]|0;m=c[f>>2]|0;n=c[l+12>>2]|0;if((l|0)!=(m|0))if((n|0)==(c[m+12>>2]|0))k=(Oo(l+16|0,m+16|0,n)|0)==0;else k=0;else k=1;break}case 7:{n=c[e>>2]|0;m=c[f>>2]|0;if((n|0)!=(m|0))if(((d|0)!=0?(l=c[n+8>>2]|0,n=c[m+8>>2]|0,(l|0)!=0):0)?(m=l+6|0,o=b[m>>1]|0,(o&32)==0):0){p=c[(c[d+12>>2]|0)+176>>2]|0;q=c[p+8>>2]|0;r=(c[l+16>>2]|0)+(((1<<((o&65535)>>>8&65535))+-1&q)*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(p|0):0){s=r;t=17;break}r=c[r+16>>2]|0;if(!r){u=137316;break}}if((t|0)==17)u=s;r=c[u+4>>2]|0;if(!r){a[m>>0]=o&65535|32;k=0;break a}if(u)if((l|0)!=(n|0))if((n|0)!=0?(v=n+6|0,w=b[v>>1]|0,(w&32)==0):0){x=(c[n+16>>2]|0)+(((1<<((w&65535)>>>8&65535))+-1&q)*20|0)|0;while(1){if((c[x+12>>2]|0)==68?(c[x+8>>2]|0)==(p|0):0){y=x;t=28;break}x=c[x+16>>2]|0;if(!x){z=137316;break}}if((t|0)==28)z=y;x=c[z+4>>2]|0;if(!x){a[v>>0]=w&65535|32;k=0;break a}if((z|0)!=0&(r|0)==(x|0)){switch(r&63|0){case 0:{A=u;t=85;break a;break}case 3:{B=(c[u>>2]|0)==(c[z>>2]|0)&1;break}case 1:{B=(c[u>>2]|0)==(c[z>>2]|0)&1;break}case 2:{B=(c[u>>2]|0)==(c[z>>2]|0)&1;break}case 22:{B=(c[u>>2]|0)==(c[z>>2]|0)&1;break}case 4:{B=(c[u>>2]|0)==(c[z>>2]|0)&1;break}case 20:{x=c[u>>2]|0;p=c[z>>2]|0;q=c[x+12>>2]|0;if((x|0)!=(p|0))if((q|0)==(c[p+12>>2]|0))C=(Oo(x+16|0,p+16|0,q)|0)==0;else C=0;else C=1;B=C&1;break}case 7:{if((c[u>>2]|0)==(c[z>>2]|0)){A=u;t=85;break a}else{k=0;break a}break}case 5:{if((c[u>>2]|0)==(c[z>>2]|0)){A=u;t=85;break a}else{k=0;break a}break}default:B=(c[u>>2]|0)==(c[z>>2]|0)&1}if(B){A=u;t=85}else k=0}else k=0}else k=0;else{A=u;t=85}else k=0}else k=0;else k=1;break}case 5:{q=c[e>>2]|0;p=c[f>>2]|0;if((q|0)!=(p|0))if(((d|0)!=0?(x=c[q+8>>2]|0,q=c[p+8>>2]|0,(x|0)!=0):0)?(p=x+6|0,n=b[p>>1]|0,(n&32)==0):0){l=c[(c[d+12>>2]|0)+176>>2]|0;o=c[l+8>>2]|0;m=(c[x+16>>2]|0)+(((1<<((n&65535)>>>8&65535))+-1&o)*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(l|0):0){D=m;t=54;break}m=c[m+16>>2]|0;if(!m){E=137316;break}}if((t|0)==54)E=D;m=c[E+4>>2]|0;if(!m){a[p>>0]=n&65535|32;k=0;break a}if(E)if((x|0)!=(q|0))if((q|0)!=0?(r=q+6|0,w=b[r>>1]|0,(w&32)==0):0){v=(c[q+16>>2]|0)+(((1<<((w&65535)>>>8&65535))+-1&o)*20|0)|0;while(1){if((c[v+12>>2]|0)==68?(c[v+8>>2]|0)==(l|0):0){F=v;t=65;break}v=c[v+16>>2]|0;if(!v){G=137316;break}}if((t|0)==65)G=F;v=c[G+4>>2]|0;if(!v){a[r>>0]=w&65535|32;k=0;break a}if((G|0)!=0&(m|0)==(v|0)){switch(m&63|0){case 0:{A=E;t=85;break a;break}case 3:{H=(c[E>>2]|0)==(c[G>>2]|0)&1;break}case 1:{H=(c[E>>2]|0)==(c[G>>2]|0)&1;break}case 2:{H=(c[E>>2]|0)==(c[G>>2]|0)&1;break}case 22:{H=(c[E>>2]|0)==(c[G>>2]|0)&1;break}case 4:{H=(c[E>>2]|0)==(c[G>>2]|0)&1;break}case 20:{v=c[E>>2]|0;l=c[G>>2]|0;o=c[v+12>>2]|0;if((v|0)!=(l|0))if((o|0)==(c[l+12>>2]|0))I=(Oo(v+16|0,l+16|0,o)|0)==0;else I=0;else I=1;H=I&1;break}case 7:{if((c[E>>2]|0)==(c[G>>2]|0)){A=E;t=85;break a}else{k=0;break a}break}case 5:{if((c[E>>2]|0)==(c[G>>2]|0)){A=E;t=85;break a}else{k=0;break a}break}default:H=(c[E>>2]|0)==(c[G>>2]|0)&1}if(H){A=E;t=85}else k=0}else k=0}else k=0;else{A=E;t=85}else k=0}else k=0;else k=1;break}default:k=(c[e>>2]|0)==(c[f>>2]|0)}while(0);if((t|0)==85){t=d+8|0;E=c[t>>2]|0;H=d+28|0;G=E-(c[H>>2]|0)|0;c[t>>2]=E+8;c[E>>2]=c[A>>2];c[E+4>>2]=c[A+4>>2];A=c[t>>2]|0;c[t>>2]=A+8;c[A>>2]=c[e>>2];c[A+4>>2]=c[j>>2];j=c[t>>2]|0;c[t>>2]=j+8;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];f=(c[t>>2]|0)+-24|0;j=a[(c[d+16>>2]|0)+18>>0]|0;A=d+38|0;e=(b[A>>1]|0)+1<<16>>16;b[A>>1]=e;if((e&65535)>199){if(e<<16>>16==200)Mc(d,32241,h);if((e&65535)>224)Jc(d,6)}e=(j&1)!=0;if(!e){j=d+36|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}if(!(ed(d,f,1)|0))kd(d);if(e)J=b[A>>1]|0;else{e=d+36|0;d=c[e>>2]|0;b[e>>1]=(d&65535)+-1<<16>>16;J=d>>>16&65535}b[A>>1]=J+-1<<16>>16;J=(c[H>>2]|0)+G|0;G=c[t>>2]|0;H=G+-8|0;c[t>>2]=H;c[J>>2]=c[H>>2];c[J+4>>2]=c[G+-4>>2];G=c[t>>2]|0;t=c[G+4>>2]|0;if(t)if((t|0)==1)k=(c[G>>2]|0)!=0;else k=1;else k=0}i=g;return k&1|0}function Ad(e,f,g){e=e|0;f=f|0;g=g|0;var h=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;h=i;i=i+16|0;j=h;k=f+4|0;l=c[k>>2]|0;do if((l|0)!=3){m=l&15;if((m|0)==4){if((c[g+4>>2]&15|0)!=4){n=e+8|0;o=c[n>>2]|0;p=o;q=o;r=n;s=4;t=18;break}n=c[f>>2]|0;o=c[g>>2]|0;u=n+16|0;v=o+16|0;w=$p(u,v)|0;a:do if(!w){x=u;y=c[n+12>>2]|0;z=c[o+12>>2]|0;A=v;while(1){B=Do(x)|0;C=(B|0)==(y|0);if((B|0)==(z|0)){D=C;break}if(C){E=-1;break a}C=B+1|0;x=x+C|0;A=A+C|0;B=$p(x,A)|0;if(B|0){E=B;break a}else{y=y-C|0;z=z-C|0}}E=D&1^1}else E=w;while(0);F=E>>>31;i=h;return F|0}else{G=m;t=15}}else{if((c[g+4>>2]|0)!=3){G=l&15;t=15;break}F=(c[f>>2]|0)<(c[g>>2]|0)&1;i=h;return F|0}while(0);b:do if((t|0)==15){l=e+8|0;E=c[l>>2]|0;D=E;switch(G|0){case 5:{H=E;I=D;J=l;K=(c[f>>2]|0)+8|0;break b;break}case 7:{H=E;I=D;J=l;K=(c[f>>2]|0)+8|0;break b;break}default:{p=D;q=E;r=l;s=G;t=18;break b}}}while(0);if((t|0)==18){H=q;I=p;J=r;K=(c[e+12>>2]|0)+224+(s<<2)|0}s=c[K>>2]|0;c:do if(!s)L=137316;else{K=c[(c[e+12>>2]|0)+208>>2]|0;r=(c[s+16>>2]|0)+(((1<<(d[s+7>>0]|0))+-1&c[K+8>>2])*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(K|0):0){M=r;break}r=c[r+16>>2]|0;if(!r){L=137316;break c}}L=M}while(0);d:do if(!(c[L+4>>2]|0)){M=c[g+4>>2]&15;switch(M|0){case 5:{N=(c[g>>2]|0)+8|0;break}case 7:{N=(c[g>>2]|0)+8|0;break}default:N=(c[e+12>>2]|0)+224+(M<<2)|0}M=c[N>>2]|0;if(!M)O=137316;else{s=c[(c[e+12>>2]|0)+208>>2]|0;r=(c[M+16>>2]|0)+(((1<<(d[M+7>>0]|0))+-1&c[s+8>>2])*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(s|0):0){P=r;break}r=c[r+16>>2]|0;if(!r){O=137316;break d}}O=P}}else O=L;while(0);L=O+4|0;if(!(c[L>>2]|0))Bd(e,f,g);P=e+28|0;N=H-(c[P>>2]|0)|0;c[J>>2]=I+8;c[H>>2]=c[O>>2];c[I+4>>2]=c[L>>2];L=c[J>>2]|0;c[J>>2]=L+8;c[L>>2]=c[f>>2];c[L+4>>2]=c[k>>2];k=c[J>>2]|0;c[J>>2]=k+8;c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];g=(c[J>>2]|0)+-24|0;k=a[(c[e+16>>2]|0)+18>>0]|0;L=e+38|0;f=(b[L>>1]|0)+1<<16>>16;b[L>>1]=f;if((f&65535)>199){if(f<<16>>16==200)Mc(e,32241,j);if((f&65535)>224)Jc(e,6)}f=(k&1)!=0;if(!f){k=e+36|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16}if(!(ed(e,g,1)|0))kd(e);if(f)Q=b[L>>1]|0;else{f=e+36|0;e=c[f>>2]|0;b[f>>1]=(e&65535)+-1<<16>>16;Q=e>>>16&65535}b[L>>1]=Q+-1<<16>>16;Q=(c[P>>2]|0)+N|0;N=c[J>>2]|0;P=N+-8|0;c[J>>2]=P;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[N+-4>>2];N=c[J>>2]|0;J=c[N+4>>2]|0;if(J)if((J|0)==1)R=(c[N>>2]|0)!=0;else R=1;else R=0;F=R&1;i=h;return F|0}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;e=c[8+((c[b+4>>2]&15)+1<<2)>>2]|0;b=c[8+((c[d+4>>2]&15)+1<<2)>>2]|0;if((e|0)==(b|0)){c[g>>2]=e;Mc(a,32782,g)}else{c[f>>2]=e;c[f+4>>2]=b;Mc(a,32815,f)}}function Cd(e,f,g){e=e|0;f=f|0;g=g|0;var h=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;h=i;i=i+16|0;j=h+8|0;k=h;l=f+4|0;m=c[l>>2]|0;do if((m|0)!=3){n=m&15;if((n|0)==4){if((c[g+4>>2]&15|0)!=4){o=e+8|0;p=c[o>>2]|0;q=p;r=p;s=o;t=4;u=18;break}o=c[f>>2]|0;p=c[g>>2]|0;v=o+16|0;w=p+16|0;x=$p(v,w)|0;a:do if(!x){y=v;z=c[o+12>>2]|0;A=c[p+12>>2]|0;B=w;while(1){C=Do(y)|0;D=(C|0)==(z|0);if((C|0)==(A|0)){E=D;break}if(D){F=-1;break a}D=C+1|0;y=y+D|0;B=B+D|0;C=$p(y,B)|0;if(C|0){F=C;break a}else{z=z-D|0;A=A-D|0}}F=E&1^1}else F=x;while(0);G=(F|0)<1&1;i=h;return G|0}else{H=n;u=15}}else{if((c[g+4>>2]|0)!=3){H=m&15;u=15;break}G=(c[f>>2]|0)<=(c[g>>2]|0)&1;i=h;return G|0}while(0);b:do if((u|0)==15){m=e+8|0;F=c[m>>2]|0;E=F;switch(H|0){case 5:{I=F;J=E;K=m;L=5;M=(c[f>>2]|0)+8|0;break b;break}case 7:{I=F;J=E;K=m;L=7;M=(c[f>>2]|0)+8|0;break b;break}default:{q=E;r=F;s=m;t=H;u=18;break b}}}while(0);if((u|0)==18){I=r;J=q;K=s;L=t;M=(c[e+12>>2]|0)+224+(t<<2)|0}t=c[M>>2]|0;c:do if(!t)N=137316;else{M=c[(c[e+12>>2]|0)+212>>2]|0;s=(c[t+16>>2]|0)+(((1<<(d[t+7>>0]|0))+-1&c[M+8>>2])*20|0)|0;while(1){if((c[s+12>>2]|0)==68?(c[s+8>>2]|0)==(M|0):0){O=s;break}s=c[s+16>>2]|0;if(!s){N=137316;break c}}N=O}while(0);d:do if(!(c[N+4>>2]|0)){O=c[g+4>>2]&15;switch(O|0){case 5:{P=(c[g>>2]|0)+8|0;break}case 7:{P=(c[g>>2]|0)+8|0;break}default:P=(c[e+12>>2]|0)+224+(O<<2)|0}O=c[P>>2]|0;if(!O)Q=137316;else{t=c[(c[e+12>>2]|0)+212>>2]|0;s=(c[O+16>>2]|0)+(((1<<(d[O+7>>0]|0))+-1&c[t+8>>2])*20|0)|0;while(1){if((c[s+12>>2]|0)==68?(c[s+8>>2]|0)==(t|0):0){R=s;break}s=c[s+16>>2]|0;if(!s){Q=137316;break d}}Q=R}}else Q=N;while(0);N=Q+4|0;if(c[N>>2]|0){R=e+28|0;P=I-(c[R>>2]|0)|0;c[K>>2]=J+8;c[I>>2]=c[Q>>2];c[J+4>>2]=c[N>>2];N=c[K>>2]|0;c[K>>2]=N+8;c[N>>2]=c[f>>2];c[N+4>>2]=c[l>>2];N=c[K>>2]|0;c[K>>2]=N+8;c[N>>2]=c[g>>2];c[N+4>>2]=c[g+4>>2];N=(c[K>>2]|0)+-24|0;Q=a[(c[e+16>>2]|0)+18>>0]|0;s=e+38|0;t=(b[s>>1]|0)+1<<16>>16;b[s>>1]=t;if((t&65535)>199){if(t<<16>>16==200)Mc(e,32241,k);if((t&65535)>224)Jc(e,6)}t=(Q&1)!=0;if(!t){Q=e+36|0;b[Q>>1]=(b[Q>>1]|0)+1<<16>>16}if(!(ed(e,N,1)|0))kd(e);if(t)S=b[s>>1]|0;else{t=e+36|0;N=c[t>>2]|0;b[t>>1]=(N&65535)+-1<<16>>16;S=N>>>16&65535}b[s>>1]=S+-1<<16>>16;S=(c[R>>2]|0)+P|0;P=c[K>>2]|0;R=P+-8|0;c[K>>2]=R;c[S>>2]=c[R>>2];c[S+4>>2]=c[P+-4>>2];P=c[K>>2]|0;S=c[P+4>>2]|0;if(S)if((S|0)==1)T=(c[P>>2]|0)!=0;else T=1;else T=0;G=T&1;i=h;return G|0}T=g+4|0;P=c[T>>2]&15;switch(P|0){case 5:{U=(c[g>>2]|0)+8|0;break}case 7:{U=(c[g>>2]|0)+8|0;break}default:U=(c[e+12>>2]|0)+224+(P<<2)|0}P=c[U>>2]|0;e:do if(!P)V=137316;else{U=c[(c[e+12>>2]|0)+208>>2]|0;S=(c[P+16>>2]|0)+(((1<<(d[P+7>>0]|0))+-1&c[U+8>>2])*20|0)|0;while(1){if((c[S+12>>2]|0)==68?(c[S+8>>2]|0)==(U|0):0){W=S;break}S=c[S+16>>2]|0;if(!S){V=137316;break e}}V=W}while(0);f:do if(!(c[V+4>>2]|0)){switch(L|0){case 5:{X=(c[f>>2]|0)+8|0;break}case 7:{X=(c[f>>2]|0)+8|0;break}default:X=(c[e+12>>2]|0)+224+(L<<2)|0}W=c[X>>2]|0;if(!W)Y=137316;else{P=c[(c[e+12>>2]|0)+208>>2]|0;S=(c[W+16>>2]|0)+(((1<<(d[W+7>>0]|0))+-1&c[P+8>>2])*20|0)|0;while(1){if((c[S+12>>2]|0)==68?(c[S+8>>2]|0)==(P|0):0){Z=S;break}S=c[S+16>>2]|0;if(!S){Y=137316;break f}}Y=Z}}else Y=V;while(0);V=Y+4|0;if(!(c[V>>2]|0))Bd(e,f,g);Z=e+28|0;X=I-(c[Z>>2]|0)|0;c[K>>2]=J+8;c[I>>2]=c[Y>>2];c[J+4>>2]=c[V>>2];V=c[K>>2]|0;c[K>>2]=V+8;c[V>>2]=c[g>>2];c[V+4>>2]=c[T>>2];T=c[K>>2]|0;c[K>>2]=T+8;c[T>>2]=c[f>>2];c[T+4>>2]=c[l>>2];l=(c[K>>2]|0)+-24|0;T=a[(c[e+16>>2]|0)+18>>0]|0;f=e+38|0;V=(b[f>>1]|0)+1<<16>>16;b[f>>1]=V;if((V&65535)>199){if(V<<16>>16==200)Mc(e,32241,j);if((V&65535)>224)Jc(e,6)}V=(T&1)!=0;if(!V){T=e+36|0;b[T>>1]=(b[T>>1]|0)+1<<16>>16}if(!(ed(e,l,1)|0))kd(e);if(V)_=b[f>>1]|0;else{V=e+36|0;e=c[V>>2]|0;b[V>>1]=(e&65535)+-1<<16>>16;_=e>>>16&65535}b[f>>1]=_+-1<<16>>16;_=(c[Z>>2]|0)+X|0;X=c[K>>2]|0;Z=X+-8|0;c[K>>2]=Z;c[_>>2]=c[Z>>2];c[_+4>>2]=c[X+-4>>2];X=c[K>>2]|0;K=c[X+4>>2]|0;if(K)if((K|0)==1)$=(c[X>>2]|0)!=0;else $=1;else $=0;G=$&1^1;i=h;return G|0}function Dd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=e<<2;g=f+16|0;h=c[b+12>>2]|0;i=h+4|0;j=Gb[c[h>>2]&1](c[i>>2]|0,0,6,g)|0;if((g|0)!=0&(j|0)==0){if(!(a[h+51>>0]|0))Jc(b,4);bd(b,1);k=Gb[c[h>>2]&1](c[i>>2]|0,0,6,g)|0;if(!k)Jc(b,4);else l=k}else l=j;j=h+12|0;c[j>>2]=(c[j>>2]|0)+g;g=h+56|0;a[l+5>>0]=d[h+48>>0]&3;a[l+4>>0]=6;c[l>>2]=c[g>>2];c[g>>2]=l;c[l+12>>2]=0;a[l+6>>0]=e;if(!e)return l|0;rq(l+16|0,0,f|0)|0;return l|0}function Ed(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=c[b+12>>2]|0;g=b+56|0;h=c[g>>2]|0;a:do if(!h)i=g;else{j=h;k=g;while(1){l=c[j+8>>2]|0;if(l>>>0<e>>>0){i=k;break a}if((l|0)==(e|0)){m=j;break}l=c[j>>2]|0;if(!l){i=j;break a}else{n=j;j=l;k=n}}k=m+5|0;j=d[k>>0]^3;if((d[f+48>>0]^3)&j|0){o=m;return o|0}a[k>>0]=j;o=m;return o|0}while(0);m=f+4|0;g=Gb[c[f>>2]&1](c[m>>2]|0,0,10,20)|0;if(!g){if(!(a[f+51>>0]|0))Jc(b,4);bd(b,1);h=Gb[c[f>>2]&1](c[m>>2]|0,0,10,20)|0;if(!h)Jc(b,4);else p=h}else p=g;g=f+12|0;c[g>>2]=(c[g>>2]|0)+20;g=(i|0)==0?f+56|0:i;a[p+5>>0]=d[f+48>>0]&3;a[p+4>>0]=10;c[p>>2]=c[g>>2];c[g>>2]=p;c[p+8>>2]=e;c[p+12>>2]=f+96;e=f+112|0;f=c[e>>2]|0;c[p+16>>2]=f;c[f+12>>2]=p;c[e>>2]=p;o=p;return o|0}function Fd(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;j=e+16|0;k=c[j>>2]|0;l=e+41|0;m=a[l>>0]|0;n=e+36|0;o=b[n>>1]|0;p=e+68|0;q=c[p>>2]|0;c[p>>2]=i;i=Gd(e,f,g)|0;if(!i){c[p>>2]=q;return i|0}g=e+28|0;f=(c[g>>2]|0)+h|0;$c(e,f);switch(i|0){case 4:{h=c[(c[e+12>>2]|0)+152>>2]|0;c[f>>2]=h;c[f+4>>2]=d[h+4>>0]|0|64;break}case 6:{h=Pc(e,32939,23)|0;c[f>>2]=h;c[f+4>>2]=d[h+4>>0]|0|64;break}default:{h=c[e+8>>2]|0;c[f>>2]=c[h+-8>>2];c[f+4>>2]=c[h+-4>>2]}}h=f+8|0;c[e+8>>2]=h;c[j>>2]=k;a[l>>0]=m;b[n>>1]=o;if(!k)r=h;else{o=k;k=h;while(1){h=c[o+4>>2]|0;n=k>>>0<h>>>0?h:k;o=c[o+8>>2]|0;if(!o){r=n;break}else k=n}}k=r-(c[g>>2]|0)|0;g=k>>3;r=g+11+((g+1|0)/8|0)|0;g=(r|0)>1e6?1e6:r;if((k|0)>7999992){c[p>>2]=q;return i|0}if((g|0)>=(c[e+32>>2]|0)){c[p>>2]=q;return i|0}Kc(e,g);c[p>>2]=q;return i|0}function Gd(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=i;i=i+176|0;g=4;h=jq(40)|0;c[h>>2]=0;j=f;k=a+38|0;l=b[k>>1]|0;m=j+160|0;c[m>>2]=0;p=a+64|0;c[j>>2]=c[p>>2];c[p>>2]=j;h=uq(j+4|0,1,h|0,g|0)|0;g=C;n=0;q=n;n=0;if((q|0)!=0&(o|0)!=0){r=wq(c[q>>2]|0,h|0,g|0)|0;if(!r)Ca(q|0,o|0);C=o}else r=-1;if((r|0)==1)s=C;else s=0;while(1){if(s|0){t=6;break}n=0;ha(d|0,a|0,e|0);r=n;n=0;if((r|0)!=0&(o|0)!=0){u=wq(c[r>>2]|0,h|0,g|0)|0;if(!u)Ca(r|0,o|0);C=o}else u=-1;if((u|0)==1)s=C;else break}if((t|0)==6){v=c[j>>2]|0;c[p>>2]=v;b[k>>1]=l;w=c[m>>2]|0;kq(h|0);i=f;return w|0}v=c[j>>2]|0;c[p>>2]=v;b[k>>1]=l;w=c[m>>2]|0;kq(h|0);i=f;return w|0}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Nc(a,b,f)|0;i=e;return d|0}function Id(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;j=f+17|0;k=c[b+12>>2]|0;l=g&15;m=k+4|0;n=Gb[c[k>>2]&1](c[m>>2]|0,0,l,j)|0;if((j|0)!=0&(n|0)==0){if(!(a[k+51>>0]|0))Jc(b,4);bd(b,1);o=Gb[c[k>>2]&1](c[m>>2]|0,0,l,j)|0;if(!o)Jc(b,4);else p=o}else p=n;n=k+12|0;c[n>>2]=(c[n>>2]|0)+j;j=(i|0)==0?k+56|0:i;a[p+5>>0]=d[k+48>>0]&3;a[p+4>>0]=g;c[p>>2]=c[j>>2];c[j>>2]=p;c[p+12>>2]=f;c[p+8>>2]=h;a[p+6>>0]=0;h=p+16|0;xq(h|0,e|0,f|0)|0;a[h+f>>0]=0;return p|0}function Jd(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+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)Mc(a,32241,e);if((h&65535)>224)Jc(a,6)}h=a+36|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;if(!(ed(a,g,1)|0))kd(a);g=c[h>>2]|0;b[h>>1]=(g&65535)+-1<<16>>16;b[d>>1]=(g>>>16&65535)+-1<<16>>16;Jc(a,2)}function Kd(a){a=a|0;return (c[a+8>>2]|0)-((c[c[a+16>>2]>>2]|0)+8)>>3|0}function Ld(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 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;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]|0)==22)i=137316;else{l=c[k>>2]|0;i=(j|0)>(d[l+6>>0]|0|0)?137316: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:137316}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]|0)==22)m=137316;else{l=c[j>>2]|0;m=(e|0)>(d[l+6>>0]|0|0)?137316: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:137316}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){Sc(f,h);return}else{a[i>>0]=(d[f+48>>0]|0)&3|g&184;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]|0)==22){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)==137316){h=-1;return h|0}h=c[g+4>>2]&15;return h|0}function Od(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;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]|0)==22)g=137316;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?137316: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:137316}while(0);do if((e|0)<=0){if((e|0)>=-1000999){k=(c[a+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){k=(c[a+12>>2]|0)+36|0;break}b=-1001e3-e|0;h=c[f>>2]|0;if((c[h+4>>2]|0)==22){l=0;return l|0}else{j=c[h>>2]|0;k=(b|0)>(d[j+6>>0]|0|0)?137316:j+16+(b+-1<<3)|0;break}}else{b=(c[f>>2]|0)+(e<<3)|0;k=b>>>0<(c[a+8>>2]|0)>>>0?b:137316}while(0);if(!((g|0)!=137316&(k|0)!=137316)){l=0;return l|0}a=c[g+4>>2]|0;a:do if((a|0)==(c[k+4>>2]|0))switch(a&63|0){case 0:{m=1;break a;break}case 3:{m=(c[g>>2]|0)==(c[k>>2]|0);break a;break}case 1:{m=(c[g>>2]|0)==(c[k>>2]|0);break a;break}case 2:{m=(c[g>>2]|0)==(c[k>>2]|0);break a;break}case 22:{m=(c[g>>2]|0)==(c[k>>2]|0);break a;break}case 4:{m=(c[g>>2]|0)==(c[k>>2]|0);break a;break}case 20:{e=c[g>>2]|0;f=c[k>>2]|0;b=c[e+12>>2]|0;if((e|0)==(f|0)){m=1;break a}if((b|0)!=(c[f+12>>2]|0)){m=0;break a}m=(Oo(e+16|0,f+16|0,b)|0)==0;break a;break}case 7:{m=(c[g>>2]|0)==(c[k>>2]|0);break a;break}case 5:{m=(c[g>>2]|0)==(c[k>>2]|0);break a;break}default:{m=(c[g>>2]|0)==(c[k>>2]|0);break a}}else m=0;while(0);l=m&1;return l|0}function Pd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+16|0;g=f+8|0;h=f;j=c[a+16>>2]|0;do if((b|0)<=0){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[j>>2]|0;if((c[m+4>>2]|0)==22)k=137316;else{n=c[m>>2]|0;k=(l|0)>(d[n+6>>0]|0|0)?137316:n+16+(l+-1<<3)|0}}else{l=(c[j>>2]|0)+(b<<3)|0;k=l>>>0<(c[a+8>>2]|0)>>>0?l:137316}while(0);a=c[k+4>>2]|0;do if((a|0)==3)o=k;else{if((a&15|0)==4?(b=c[k>>2]|0,sd(b+16|0,c[b+12>>2]|0,g)|0):0){c[h>>2]=c[g>>2];c[h+4>>2]=3;o=h;break}if(!e){p=0;i=f;return p|0}c[e>>2]=0;p=0;i=f;return p|0}while(0);if(e|0)c[e>>2]=1;p=c[o>>2]|0;i=f;return p|0}function Qd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=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]|0)==22)f=137316;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?137316: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:137316}while(0);a=c[f+4>>2]|0;if(!a){j=0;k=j&1;return k|0}if((a|0)!=1){j=1;k=j&1;return k|0}j=(c[f>>2]|0)!=0;k=j&1;return k|0}function Rd(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;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]|0)==22)j=137316;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0)?137316: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:137316}while(0);do if((c[j+4>>2]&15|0)!=4){if(!(xd(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{fd(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:137316;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]|0)==22)p=137316;else{m=c[k>>2]|0;p=(l|0)>(d[m+6>>0]|0)?137316:m+16+(l+-1<<3)|0}}else p=j;while(0);if(!f)q=c[p>>2]|0;else{j=c[p>>2]|0;c[f>>2]=c[j+12>>2];q=j}n=q+16|0;return n|0}function Sd(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 Td(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]=a+8;return}function Ud(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]=a+8;return}function Vd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=c[b+12>>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;break}else{fd(b);break}while(0);h=Oc(b,e,f)|0;f=b+8|0;b=c[f>>2]|0;c[b>>2]=h;c[b+4>>2]=d[h+4>>0]|64;c[f>>2]=(c[f>>2]|0)+8;return h+16|0}function Wd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;g=f;h=c[b+12>>2]|0;j=h+12|0;k=c[j>>2]|0;do if((k|0)>0)if(!(a[h+51>>0]|0)){l=h+8|0;c[l>>2]=k+1600+(c[l>>2]|0);c[j>>2]=-1600;break}else{fd(b);break}while(0);c[g>>2]=e;e=Nc(b,d,g)|0;i=f;return e|0}function Xd(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;if(!f){g=b+8|0;h=c[g>>2]|0;c[h>>2]=e;c[h+4>>2]=22;i=g;j=c[i>>2]|0;k=j+8|0;c[i>>2]=k;return}g=b+12|0;h=c[g>>2]|0;l=h+12|0;m=c[l>>2]|0;do if((m|0)>0)if(!(a[h+51>>0]|0)){n=h+8|0;c[n>>2]=m+1600+(c[n>>2]|0);c[l>>2]=-1600;o=h;break}else{fd(b);o=c[g>>2]|0;break}else o=h;while(0);h=(f<<3)+16|0;g=o+4|0;l=Gb[c[o>>2]&1](c[g>>2]|0,0,6,h)|0;if((h|0)!=0&(l|0)==0){if(!(a[o+51>>0]|0))Jc(b,4);bd(b,1);m=Gb[c[o>>2]&1](c[g>>2]|0,0,6,h)|0;if(!m)Jc(b,4);else p=m}else p=l;l=o+12|0;c[l>>2]=(c[l>>2]|0)+h;h=o+56|0;a[p+5>>0]=d[o+48>>0]&3;a[p+4>>0]=38;c[p>>2]=c[h>>2];c[h>>2]=p;a[p+6>>0]=f;c[p+12>>2]=e;e=b+8|0;b=(c[e>>2]|0)+(0-f<<3)|0;c[e>>2]=b;h=f;f=b;while(1){h=h+-1|0;c[p+16+(h<<3)>>2]=c[f+(h<<3)>>2];c[p+16+(h<<3)+4>>2]=c[f+(h<<3)+4>>2];b=c[e>>2]|0;if(!h){q=b;break}else f=b}c[q>>2]=p;c[q+4>>2]=102;i=e;j=c[i>>2]|0;k=j+8|0;c[i>>2]=k;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|0)!=0&1;c[a+4>>2]=1;c[d>>2]=a+8;return}function Zd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=c[(c[a+12>>2]|0)+36>>2]|0;a:do if((c[e+28>>2]|0)>>>0>1)f=(c[e+12>>2]|0)+8|0;else{g=(c[e+16>>2]|0)+((131072%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[g+12>>2]|0)==3?(c[g+8>>2]|0)==131072:0){h=g;break}g=c[g+16>>2]|0;if(!g){f=137316;break a}}f=h}while(0);h=a+8|0;e=c[h>>2]|0;c[h>>2]=e+8;g=Oc(a,b,Do(b)|0)|0;c[e>>2]=g;c[e+4>>2]=d[g+4>>0]|0|64;g=(c[h>>2]|0)+-8|0;ld(a,f,g,g);return}function _d(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[b+12>>2]|0;f=e+4|0;g=Gb[c[e>>2]&1](c[f>>2]|0,0,5,32)|0;if(!g){if(!(a[e+51>>0]|0))Jc(b,4);bd(b,1);h=Gb[c[e>>2]&1](c[f>>2]|0,0,5,32)|0;if(!h)Jc(b,4);else i=h}else i=g;g=e+12|0;c[g>>2]=(c[g>>2]|0)+32;g=e+56|0;a[i+5>>0]=d[e+48>>0]&3;a[i+4>>0]=5;c[i>>2]=c[g>>2];c[g>>2]=i;c[i+8>>2]=0;a[i+6>>0]=-1;c[i+12>>2]=0;c[i+28>>2]=0;c[i+16>>2]=137332;a[i+7>>0]=0;c[i+20>>2]=137332;return i|0}function $d(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=c[(c[a+12>>2]|0)+36>>2]|0;a:do if((c[e+28>>2]|0)>>>0>1)f=(c[e+12>>2]|0)+8|0;else{g=(c[e+16>>2]|0)+((131072%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[g+12>>2]|0)==3?(c[g+8>>2]|0)==131072:0){h=g;break}g=c[g+16>>2]|0;if(!g){f=137316;break a}}f=h}while(0);h=a+8|0;e=c[h>>2]|0;c[h>>2]=e+8;g=Oc(a,b,Do(b)|0)|0;c[e>>2]=g;c[e+4>>2]=d[g+4>>0]|0|64;g=c[h>>2]|0;od(a,f,g+-8|0,g+-16|0);c[h>>2]=(c[h>>2]|0)+-16;return}function ae(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=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]|0)==22)g=137316;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?137316: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:137316}while(0);e=b+8|0;f=c[e>>2]|0;if(!(c[f+-4>>2]|0))k=0;else k=c[f+-8>>2]|0;f=c[g+4>>2]&15;switch(f|0){case 5:{c[(c[g>>2]|0)+8>>2]=k;if(!k){l=c[e>>2]|0;m=l+-8|0;c[e>>2]=m;return 1}if(a[k+5>>0]&3?(h=c[g>>2]|0,j=h+5|0,i=a[j>>0]|0,i&4):0){n=c[b+12>>2]|0;a[j>>0]=i&251;i=n+76|0;c[h+24>>2]=c[i>>2];c[i>>2]=h}be(b,c[g>>2]|0,k);l=c[e>>2]|0;m=l+-8|0;c[e>>2]=m;return 1}case 7:{c[(c[g>>2]|0)+8>>2]=k;if(!k){l=c[e>>2]|0;m=l+-8|0;c[e>>2]=m;return 1}do if(a[k+5>>0]&3?(h=(c[g>>2]|0)+5|0,i=a[h>>0]|0,i&4):0){n=c[b+12>>2]|0;if((d[n+49>>0]|0)<2){Sc(n,k);break}else{a[h>>0]=(d[n+48>>0]|0)&3|i&184;break}}while(0);be(b,c[g>>2]|0,k);l=c[e>>2]|0;m=l+-8|0;c[e>>2]=m;return 1}default:{c[(c[b+12>>2]|0)+224+(f<<2)>>2]=k;l=c[e>>2]|0;m=l+-8|0;c[e>>2]=m;return 1}}return 0} function dj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e;if(!b){g=0;i=e;return g|0}h=c[b+72>>2]|0;if(!h){g=0;i=e;return g|0}if(!(c[h>>2]&1)){if(d|0)c[d>>2]=10;kq(b);g=0;i=e;return g|0}j=c[h+56>>2]|0;a[f>>0]=59;k=c[h+64>>2]|0;if(!k)Ap(59,j)|0;else yb[k&7](b,f,1)|0;f=b+48|0;k=c[f>>2]|0;if(k|0){kq(c[k+12>>2]|0);kq(k);c[f>>2]=0}f=b+20|0;k=c[f>>2]|0;if(k|0){kq(c[k+12>>2]|0);kq(k);c[f>>2]=0}f=c[h+24900>>2]|0;if(f|0)kq(f);kq(h);if(j|0?Mp(j)|0:0){if(d|0)c[d>>2]=9;kq(b);g=0;i=e;return g|0}kq(b);if(!d){g=1;i=e;return g|0}c[d>>2]=0;g=1;i=e;return g|0}function ej(b){b=b|0;var d=0,e=0,f=0,g=0,h=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=i;i=i+16|0;e=d;if(!(_i(b,c[b>>2]|0,c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0,c[b+20>>2]|0)|0)){f=0;i=d;return f|0}g=b+24|0;a:do if((c[g>>2]|0)>0){h=b+52|0;j=b+72|0;k=e+1|0;l=b+36|0;m=0;b:while(1){n=c[h>>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)Qp(e,1,2,c[x+56>>2]|0)|0;else yb[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)Ap(w<<24>>24,c[z+56>>2]|0)|0;else yb[A&7](b,e,1)|0;A=c[j>>2]|0;z=c[A+64>>2]|0;if(!z)Qp(x,1,w,c[A+56>>2]|0)|0;else yb[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)Ap(0,c[v+56>>2]|0)|0;else yb[w&7](b,e,1)|0}u=u+1|0}while((u|0)<(s|0))}s=n+(m*36|0)+16|0;if(!($i(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)){f=0;y=100;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=66;break b}r=c[l>>2]|0;w=t+52|0;v=c[w>>2]|0;if(v>>>0<r>>>0){y=68;break b}c[w>>2]=v-r;v=a[39765+(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(!(cj(b,u,r)|0)){f=0;y=100;break b}if((s|0)>=(o|0))break c}}s=(p|0)>0;t=0;while(1){v=(c[q>>2]|0)+(_(t,p)|0)|0;w=c[j>>2]|0;if(!(c[w>>2]&1)){y=66;break b}x=w+52|0;z=c[x>>2]|0;if(z>>>0<p>>>0){y=68;break b}c[x>>2]=z-p;z=a[39765+(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(!(cj(b,v,p)|0)){f=0;y=100;break b}if((t|0)>=(o|0))break c}}if(!p){t=0;while(1){s=c[384+(t<<2)>>2]|0;if((s|0)<(o|0)){w=400+(t<<2)|0;z=s;do{s=c[q>>2]|0;r=c[j>>2]|0;if(!(c[r>>2]&1)){y=56;break b}u=c[l>>2]|0;x=r+52|0;A=c[x>>2]|0;if(A>>>0<u>>>0){y=58;break b}c[x>>2]=A-u;A=a[39765+(c[r+8>>2]|0)>>0]|0;if((u|0)>0){r=0;do{x=s+r|0;a[x>>0]=a[x>>0]&A;r=r+1|0}while((r|0)!=(u|0))}if(!(cj(b,s,u)|0)){f=0;y=100;break b}z=(c[w>>2]|0)+z|0}while((z|0)<(o|0))}t=t+1|0;if((t|0)>=4)break c}}t=(p|0)>0;z=0;do{w=c[384+(z<<2)>>2]|0;if((w|0)<(o|0)){v=400+(z<<2)|0;r=w;do{w=(c[q>>2]|0)+(_(r,p)|0)|0;A=c[j>>2]|0;if(!(c[A>>2]&1)){y=56;break b}x=A+52|0;B=c[x>>2]|0;if(B>>>0<p>>>0){y=58;break b}c[x>>2]=B-p;B=a[39765+(c[A+8>>2]|0)>>0]|0;if(t){A=0;do{x=w+A|0;a[x>>0]=a[x>>0]&B;A=A+1|0}while((A|0)!=(p|0))}if(!(cj(b,w,p)|0)){f=0;y=100;break b}r=(c[v>>2]|0)+r|0}while((r|0)<(o|0))}z=z+1|0}while((z|0)<4)}while(0);m=m+1|0;if((m|0)>=(c[g>>2]|0))break a}if((y|0)==13){c[b+64>>2]=10;f=0;i=d;return f|0}else if((y|0)==21){c[b+64>>2]=10;f=0;i=d;return f|0}else if((y|0)==29){c[b+64>>2]=10;f=0;i=d;return f|0}else if((y|0)==56){c[b+64>>2]=10;f=0;i=d;return f|0}else if((y|0)==58){c[b+64>>2]=6;f=0;i=d;return f|0}else if((y|0)==66){c[b+64>>2]=10;f=0;i=d;return f|0}else if((y|0)==68){c[b+64>>2]=6;f=0;i=d;return f|0}else if((y|0)==100){i=d;return f|0}}while(0);g=c[b+60>>2]|0;m=c[b+56>>2]|0;d:do if((g|0)!=0&(m|0)>0){j=m+-1|0;l=b+72|0;k=e+1|0;h=0;while(1){o=g+(h*12|0)|0;p=c[g+(h*12|0)+8>>2]|0;if(p|0){q=c[l>>2]|0;if(!(c[q>>2]&1)){y=81;break}a[e>>0]=33;a[k>>0]=p;p=c[q+64>>2]|0;if(!p)Qp(e,1,2,c[q+56>>2]|0)|0;else yb[p&7](b,e,2)|0}p=c[o>>2]|0;q=c[g+(h*12|0)+4>>2]|0;n=c[l>>2]|0;if(!(c[n>>2]&1)){y=89;break}a[e>>0]=p;z=c[n+64>>2]|0;if(!z)Ap(p<<24>>24,c[n+56>>2]|0)|0;else yb[z&7](b,e,1)|0;z=c[l>>2]|0;n=c[z+64>>2]|0;if(!n)Qp(q,1,p,c[z+56>>2]|0)|0;else yb[n&7](b,q,p)|0;if(!((h|0)!=(j|0)?!(c[o+12+8>>2]|0):0)){o=c[l>>2]|0;if(!(c[o>>2]&1)){y=97;break}a[e>>0]=0;p=c[o+64>>2]|0;if(!p)Ap(0,c[o+56>>2]|0)|0;else yb[p&7](b,e,1)|0}h=h+1|0;if((h|0)>=(m|0))break d}if((y|0)==81){c[b+64>>2]=10;f=0;i=d;return f|0}else if((y|0)==89){c[b+64>>2]=10;f=0;i=d;return f|0}else if((y|0)==97){c[b+64>>2]=10;f=0;i=d;return f|0}}while(0);f=(dj(b,0)|0)!=0&1;i=d;return f|0}function fj(a){a=a|0;var b=0,c=0;b=1;while(1)if((b|0)<9&(1<<b|0)<(a|0))b=b+1|0;else{c=b;break}return c|0}function gj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)return;b=c[a+52>>2]|0;if(!b)return;d=a+24|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;d=b+(a*36|0)+20|0;e=c[d>>2]|0;if(e|0){kq(c[e+12>>2]|0);kq(e);c[d>>2]=0}d=c[b+(a*36|0)+24>>2]|0;if(d|0)kq(d);d=b+(a*36|0)+28|0;e=b+(a*36|0)+32|0;a=c[e>>2]|0;if(!a)return;if((c[d>>2]|0)>0){b=a;do{kq(c[b+4>>2]|0);b=b+12|0;f=c[e>>2]|0}while(b>>>0<(f+((c[d>>2]|0)*12|0)|0)>>>0);g=f}else g=a;kq(g);c[e>>2]=0;c[d>>2]=0;return}function hj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=b+52|0;f=c[e>>2]|0;if(!f){g=jq(36)|0;c[e>>2]=g;h=g}else{g=mq(f,((c[b+24>>2]|0)*36|0)+36|0)|0;c[e>>2]=g;h=g}if(!h){i=0;return i|0}g=b+24|0;e=c[g>>2]|0;c[g>>2]=e+1;g=h+(e*36|0)|0;f=g;j=f+36|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(j|0));if(!d){i=g;return i|0}f=g;k=d;j=f+36|0;do{a[f>>0]=a[k>>0]|0;f=f+1|0;k=k+1|0}while((f|0)<(j|0));k=h+(e*36|0)+20|0;a:do if(c[k>>2]|0){f=c[d+20>>2]|0;j=c[f>>2]|0;l=c[f+12>>2]|0;f=1;while(1){m=1<<f;if((f|0)<9&(m|0)<(j|0))f=f+1|0;else{n=m;break}}do if((n|0)==(j|0)?(f=jq(16)|0,f|0):0){m=lq(j,3)|0;c[f+12>>2]=m;if(!m){kq(f);break}c[f>>2]=j;o=1;while(1)if((o|0)<9&(1<<o|0)<(j|0))o=o+1|0;else{p=o;break}c[f+4>>2]=p;a[f+8>>0]=0;if(l|0)xq(m|0,l|0,j*3|0)|0;c[k>>2]=f;break a}while(0);c[k>>2]=0;gj(b);i=0;return i|0}while(0);k=_(c[d+8>>2]|0,c[d+12>>2]|0)|0;p=jq(k)|0;c[h+(e*36|0)+24>>2]=p;if(!p){gj(b);i=0;return i|0}xq(p|0,c[d+24>>2]|0,k|0)|0;k=h+(e*36|0)+32|0;if(!(c[k>>2]|0)){i=g;return i|0}e=(c[d+28>>2]|0)*12|0;h=jq(e)|0;c[k>>2]=h;if(!h){gj(b);i=0;return i|0}else{xq(h|0,c[d+32>>2]|0,e|0)|0;i=g;return i|0}return 0}function ij(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=i;i=i+1616|0;d=b+64|0;e=b+56|0;f=b+48|0;g=b+40|0;h=b+32|0;j=b+24|0;k=b+16|0;l=b+8|0;m=b;n=b+592|0;o=b+68|0;c[233384]=0;rq(o|0,0,521)|0;if((c[224761]|0)!=1|(c[224766]|0)==0|(a[894684]|0)==0){p=0;i=b;return p|0}if((Do(894684)|0)>>>0>64){p=0;i=b;return p|0}c[m>>2]=892580;c[m+4>>2]=894684;Zp(n,39774,m)|0;m=bl(n,45334)|0;if(!m){p=1;i=b;return p|0}else q=0;do{n=q*65|0;r=q<<3;s=o+(n+64)|0;c[l>>2]=c[895708+(r<<2)>>2];Zp(o+n|0,39787,l)|0;a[s>>0]=10;c[k>>2]=c[895708+((r|1)<<2)>>2];Zp(o+(n+8)|0,39787,k)|0;a[s>>0]=10;c[j>>2]=c[895708+((r|2)<<2)>>2];Zp(o+(n+16)|0,39787,j)|0;a[s>>0]=10;c[h>>2]=c[895708+((r|3)<<2)>>2];Zp(o+(n+24)|0,39787,h)|0;a[s>>0]=10;c[g>>2]=c[895708+((r|4)<<2)>>2];Zp(o+(n+32)|0,39787,g)|0;a[s>>0]=10;c[f>>2]=c[895708+((r|5)<<2)>>2];Zp(o+(n+40)|0,39787,f)|0;a[s>>0]=10;c[e>>2]=c[895708+((r|6)<<2)>>2];Zp(o+(n+48)|0,39787,e)|0;a[s>>0]=10;c[d>>2]=c[895708+((r|7)<<2)>>2];Zp(o+(n+56)|0,39787,d)|0;a[s>>0]=10;q=q+1|0}while((q|0)!=8);Wk(o,1,520,m)|0;cl(m);p=0;i=b;return p|0}function jj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;i=i+2576|0;e=d+8|0;f=d;g=d+1552|0;h=d+528|0;j=d+12|0;if(!b){k=3;i=d;return k|0}if(!((c[224761]|0)==1&(c[224766]|0)!=0)){k=1;i=d;return k|0}if(a[894684]|0){kc(39792);k=2;i=d;return k|0}l=a[b>>0]|0;if(l<<24>>24?(Do(b)|0)>>>0<=64:0){m=l<<24>>24;a:do if(!(l<<24>>24!=95&((m+-48|0)>>>0>9&(m+-97|0)>>>0>25))){n=Do(b)|0;o=1;while(1){if(o>>>0>=n>>>0)break;p=a[b+o>>0]|0;q=p<<24>>24;if(p<<24>>24!=95&((q+-48|0)>>>0>9&(q+-97|0)>>>0>25))break a;else o=o+1|0}Jo(894684,b)|0;rq(895708,0,256)|0;c[f>>2]=892580;c[f+4>>2]=894684;Zp(g,39774,f)|0;o=bl(g,43287)|0;if(!o){k=1;i=d;return k|0}Em(h,0,1024);Uk(h,1,1024,o)|0;cl(o);Em(j,0,513);o=0;n=0;while(1){q=a[h+o>>0]|0;if((q+-48&255)<10)r=17;else switch(q<<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:{r=17;break}default:s=n}if((r|0)==17){r=0;a[j+n>>0]=q;s=n+1|0}o=o+1|0;if(!((o|0)<1024&(s|0)<512)){t=0;break}else n=s}do{c[e>>2]=895708+(t<<2);Rp(j+(t<<3)|0,39787,e)|0;t=t+1|0}while((t|0)!=64);k=0;i=d;return k|0}while(0);kc(39849);k=2;i=d;return k|0}kc(39827);k=2;i=d;return k|0}function kj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;e=Fm(1048576)|0;d=c[e+16>>2]|0;f=bl(b,45334)|0;if(!f){bg(39916);return}else{b=d+36|0;a[39876]=b;a[39877]=b>>>8;a[39878]=b>>>16;a[39879]=b>>>24;a[39912]=d;a[39913]=d>>>8;a[39914]=d>>>16;a[39915]=d>>>24;Wk(39872,1,44,f)|0;Wk(c[e+12>>2]|0,1,d,f)|0;cl(f);return}}function lj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+4112|0;d=b;e=b+3080|0;f=b+2056|0;g=b+8|0;hl(a,e,f,b+1032|0);c[d>>2]=e;c[d+4>>2]=f;Zp(g,39936,d)|0;d=kk(128,128,32)|0;wk(c[(c[33842]|0)+4>>2]|0,d,c[198778]|0);f=0;do{e=0;do{mk(d,e,f,tk(d,e,f)|0|-16777216);e=e+1|0}while((e|0)!=128);f=f+1|0}while((f|0)!=128);ll(g,d)|0;lk(d)|0;bg(39945);i=b;return}function mj(b){b=b|0;var e=0,f=0,g=0,h=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;e=i;i=i+24672|0;f=e+80|0;g=e+72|0;h=e+64|0;j=e+56|0;k=e+48|0;l=e+40|0;m=e+32|0;n=e+24|0;o=e+16|0;p=e+8|0;q=e;r=e+23640|0;s=e+22616|0;t=e+19544|0;u=e+18520|0;v=e+17496|0;w=e+16472|0;x=e+88|0;hl(Eo(b,39966)|0,r,s,e+21592|0);c[q>>2]=r;c[q+4>>2]=s;Zp(v,39969,q)|0;c[p>>2]=r;c[p+4>>2]=s;Zp(w,39979,p)|0;p=Bm(2097152)|0;Em(p,0,2097152);q=c[(c[c[200395]>>2]|0)+16>>2]|0;c[q+20>>2]=0;b=_k(1195596,q)|0;q=c[(c[b>>2]|0)+4>>2]|0;c[q+20>>2]=0;y=bl(v,41862)|0;if(!y){c[o>>2]=s;Zp(1189444,39987,o)|0;bg(1189444);i=e;return}Em(p,0,2097152);Uk(p,2097152,1,q)|0;o=Po(p,40011)|0;if(!o){bg(40020);i=e;return}a[o>>0]=0;z=o+8|0;Wk(p,Do(p)|0,1,y)|0;Wk(s,Do(s)|0,1,y)|0;Wk(40046,3,1,y)|0;Wk(z,Do(z)|0,1,y)|0;cl(y);cl(q);q=c[c[b>>2]>>2]|0;c[q+20>>2]=0;y=bl(w,41862)|0;if(!y){c[n>>2]=s;Zp(1189444,40050,n)|0;bg(1189444);i=e;return}hl(893612,e+20568|0,t,u);n=y+8|0;w=c[n>>2]|0;z=(To(40788,u)|0)==0;c[m>>2]=t;c[m+4>>2]=z?1195596:u;qp(w,40072,m)|0;m=Eo(0,39966)|0;do if(m){w=1;u=m;while(1){z=w+1|0;t=c[n>>2]|0;c[l>>2]=u;qp(t,40098,l)|0;Jo(x+(w<<10)|0,u)|0;u=Eo(0,39966)|0;if(!u){A=z;B=w;break}else w=z}Qp(40094,3,1,c[n>>2]|0)|0;if((B|0)<=0){Qp(40125,51,1,c[n>>2]|0)|0;if((B|0)>-1){C=1;D=14;break}else break}else{cg(40105,A,0);E=A;D=12;break}}else{Qp(40094,3,1,c[n>>2]|0)|0;E=1;D=12}while(0);if((D|0)==12){Qp(40125,51,1,c[n>>2]|0)|0;C=E;D=14}a:do if((D|0)==14){E=C+-1|0;A=0;while(1){B=Bm(32769)|0;Em(B,0,32769);l=c[33842]|0;F=(A|0)>0;if(F){c[k>>2]=r;c[k+4>>2]=x+(A<<10);Zp(v,45004,k)|0;G=fo(v)|0}else G=l;if(!G){H=A;D=18;break}if(rc(G,B)|0)break;if((A|0)==(E|0)){l=0;do{if(!(l&255))Ap(10,c[n>>2]|0)|0;m=c[n>>2]|0;c[j>>2]=d[B+l>>0];c[j+4>>2]=(l|0)==32767?1195596:40202;qp(m,40204,j)|0;l=l+1|0}while((l|0)!=32768)}else{l=0;do{if(!(l&255))Ap(10,c[n>>2]|0)|0;m=c[n>>2]|0;c[h>>2]=d[B+l>>0];c[h+4>>2]=40202;qp(m,40204,h)|0;l=l+1|0}while((l|0)!=32768)}Dm(B);if(F)co(G);l=A+1|0;if((l|0)<(C|0))A=l;else break a}if((D|0)==18){cg(40177,H,0);cl(y);i=e;return}bg(40209);if(F)cg(40241,A,0);cl(y);i=e;return}while(0);Qp(40255,4,1,c[n>>2]|0)|0;Em(p,0,2097152);Wk(p,Uk(p,2097152,1,q)|0,1,y)|0;cl(y);cl(q);Dm(b);Dm(p);bg(40260);c[g>>2]=s;Zp(1189444,40271,g)|0;bg(1189444);c[f>>2]=s;Zp(1189444,40278,f)|0;bg(1189444);ag(40287,13);i=e;return}function nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+1040|0;e=d+8|0;f=d;g=d+16|0;h=c[233484]|0;if((b|0)==-1){b=(Po(a,42342)|0)==0;j=b?h:0;k=b?h:63;if((j|0)>(k|0))l=0;else{m=k;n=j;o=3}}else{m=h;n=h;o=3}a:do if((o|0)==3){h=n;j=0;while(1){k=j+1|0;c[f>>2]=h;Zp(g,a,f)|0;if(Po(g,40307)|0){b=bl(g,45334)|0;if(!b)break;else p=b}else p=0;if(Po(g,40312)|0)kj(g,0,0);if(p|0)cl(p);if((h|0)<(m|0)){h=h+1|0;j=k}else{l=k;break a}}bg(39916);i=d;return}while(0);c[e>>2]=l;c[e+4>>2]=(l|0)>1?115:32;Zp(1189444,40317,e)|0;bg(1189444);i=d;return}function oj(a){a=a|0;if(Po(a,40333)|0){mj(a);return}if(Po(a,40788)|0){lj(a);return}if((Po(a,40312)|0)==0?(Po(a,40307)|0)==0:0){bg(40339);bg(40359);bg(40378);bg(40398);bg(40416);return}if((c[224763]|0)==5){nj(a,c[233499]|0);return}else{nj(a,-1);return}}function pj(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;if(!(Po(a,40788)|0)){bg(40464);bg(40359);return}b=kl(a)|0;a=c[198778]|0;if(!b){bg(41294);return}e=b+4|0;f=c[e>>2]|0;g=(f|0)>128?128:f;h=c[b>>2]|0;if((g|0)>0){i=f;f=h;j=0;k=0;while(1){if((f|0)>0){l=j;m=0;while(1){n=l;o=-1;p=0;while(1){q=tk(b,m,k)|0;r=(q>>>16&255)-(d[a+(p*3|0)>>0]|0)|0;s=(r|0)<0?0-r|0:r;r=_(s,s)|0;s=(q>>>8&255)-(d[a+(p*3|0)+1>>0]|0)|0;t=(s|0)<0?0-s|0:s;s=(_(t,t)|0)+r|0;r=(q&255)-(d[a+(p*3|0)+2>>0]|0)|0;q=(r|0)<0?0-r|0:r;r=s+(_(q,q)|0)|0;q=(o|0)==-1|(r|0)<(n|0);s=q?r:n;r=q?p:o;p=p+1|0;if((p|0)==16){u=s;v=r;break}else{n=s;o=r}}mk(c[(c[33842]|0)+4>>2]|0,m,k,v);m=m+1|0;o=c[b>>2]|0;if((m|0)>=(((o|0)>128?128:o)|0)){w=o;x=u;break}else l=u}y=c[e>>2]|0;z=w;A=x}else{y=i;z=f;A=j}k=k+1|0;l=(y|0)>128?128:y;if((k|0)>=(l|0)){B=l;C=z;break}else{i=y;f=z;j=A}}}else{B=g;C=h}cg(40434,(C|0)>128?128:C,B);lk(b)|0;xg(c[33842]|0);return}function qj(){var a=0,b=0,d=0;c[38462]=0;c[38463]=0;a=48160;b=48096;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 rj(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;d=b+8|0;e=b;hk(c[200386]|0,0,0,127,127,1);hk(c[200386]|0,4,41,123,124,6);hk(c[200386]|0,0,0,127,6,7);Rk(c[200386]|0,40484,c[200398]|0,6,1,1,12)|0;f=c[38462]|0;g=c[c[200397]>>2]|0;h=c[((f|0)==13?g+672|0:(f|0)==12?g+700|0:g+(((f|0)%6|0)+169<<2)|0)>>2]|0;jk(h,c[200386]|0,0,0,6,8,c[h>>2]|0,c[h+4>>2]|0);h=c[200386]|0;f=c[200398]|0;if((c[38462]|0)>12){Rk(h,40502,f,60,12,1,11)|0;Rk(c[200386]|0,40516,c[200398]|0,60,22,1,12)|0;j=0;k=44}else{Rk(h,40532,f,60,12,1,6)|0;Rk(c[200386]|0,c[416+(c[38462]<<2)>>2]|0,c[200398]|0,60,19,1,7)|0;Rk(c[200386]|0,40703,c[200398]|0,60,26,1,13)|0;Rk(c[200386]|0,40716,c[200398]|0,60,33,1,13)|0;j=0;k=44}while(1){f=c[48096+(j<<2)>>2]|0;h=c[416+(j<<2)>>2]|0;if(!f){g=c[468+(j<<2)>>2]|0;c[e>>2]=h;c[e+4>>2]=g;Zp(1189444,40769,e)|0}else{g=(f|0)<255?f:255;f=c[795148+(((g|0)<0?0:g)<<2)>>2]|0;c[d>>2]=h;c[d+4>>2]=f;Zp(1189444,40769,d)|0}f=a[1189444]|0;if(f<<24>>24){h=f;f=1189444;do{if((h+-65&255)<26)a[f>>0]=(h&255)+32;f=f+1|0;h=a[f>>0]|0}while(h<<24>>24!=0)}if((j|0)==(c[38462]|0)){hk(c[200386]|0,7,k+-1|0,120,k+5|0,14);l=1}else l=5;Rk(c[200386]|0,1189444,c[200398]|0,10,k,1,l)|0;j=j+1|0;if((j|0)==13)break;else k=k+6|0}i=b;return}function sj(){var a=0,b=0,d=0;if(!(c[38463]|0)){c[38463]=1;a=0;do{if(Ik(a)|0)c[38463]=0;a=a+1|0}while((a|0)!=512);if((c[38462]|0)<=12)return;c[38463]=0;return}else b=0;do{if(Ik(b)|0){switch(b|0){case 8:case 127:{a=c[38462]|0;c[48096+(a<<2)>>2]=0;d=a;break}default:{a=c[38462]|0;c[48096+(a<<2)>>2]=b;d=a}}c[38463]=0;c[38462]=d+1;if((d|0)>11?Fk()|0:0)do Gk()|0;while((Fk()|0)!=0)}b=b+1|0}while((b|0)!=512);return}function tj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;a=i;i=i+1056|0;b=a;d=a+24|0;Kn(41864,d);e=Lp(d,41862)|0;if(!e){i=a;return}d=c[39024]|0;if((d|0)>0){f=d;d=0;while(1){g=c[38757]|0;if((c[g+(d*412|0)+404>>2]|0)==1){h=c[g+(d*412|0)+392>>2]|0;j=c[g+(d*412|0)+396>>2]|0;c[b>>2]=c[g+(d*412|0)+388>>2];c[b+4>>2]=h;c[b+8>>2]=j;c[b+12>>2]=g+(d*412|0)+132;c[b+16>>2]=g+(d*412|0)+260;c[b+20>>2]=g+(d*412|0)+4;qp(e,40793,b)|0;k=c[39024]|0}else k=f;d=d+1|0;if((d|0)>=(k|0))break;else f=k}}Mp(e)|0;i=a;return}function uj(){var a=0,b=0;a=i;i=i+1024|0;b=a;Kn(41864,b);vj(155024,b);i=a;return}function vj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+544|0;f=e+16|0;g=e+8|0;h=e;j=e+24|0;k=bl(d,45161)|0;if(!k){i=e;return}if(!(Zk(k)|0)){d=b+1072|0;l=b+4|0;m=j+1|0;do{a[j>>0]=0;dl(j,511,k)|0;do if((a[j>>0]|0)==124){Gm(c[b>>2]|0,((c[d>>2]|0)*412|0)+412|0)|0;n=c[(c[b>>2]|0)+12>>2]|0;c[l>>2]=n;o=c[d>>2]|0;c[d>>2]=o+1;p=n+(o*412|0)|0;rq(p|0,0,412)|0;o=p+404|0;c[o>>2]=1;n=m;a:while(1){switch(a[n>>0]|0){case 0:case 124:{q=n;break a;break}default:{}}n=n+1|0}a[q>>0]=0;n=p+388|0;c[h>>2]=n;Rp(m,42342,h)|0;r=q+1|0;s=r;b:while(1){switch(a[s>>0]|0){case 0:case 124:{t=s;break b;break}default:{}}s=s+1|0}a[t>>0]=0;s=p+392|0;c[g>>2]=s;Rp(r,42342,g)|0;u=t+1|0;v=u;c:while(1){switch(a[v>>0]|0){case 0:case 124:{w=v;break c;break}default:{}}v=v+1|0}a[w>>0]=0;c[f>>2]=p+396;Rp(u,42342,f)|0;v=w+1|0;r=v;d:while(1){switch(a[r>>0]|0){case 0:case 124:{x=r;break d;break}default:{}}r=r+1|0}a[x>>0]=0;r=p+132|0;Jo(r,v)|0;u=a[r>>0]|0;e:do if(u<<24>>24){y=u;while(1){z=r+((Do(r)|0)+-1)|0;if((a[z>>0]|0)!=32){A=y;B=r;break}a[z>>0]=0;y=a[r>>0]|0;if(!(y<<24>>24))break e}do{if((A+-65&255)<26)a[B>>0]=(A&255)+32;B=B+1|0;A=a[B>>0]|0}while(A<<24>>24!=0);y=a[r>>0]|0;if(y<<24>>24){z=y;y=r;do{if(!((z+-97&255)<26|(z+-48&255)<10))a[y>>0]=95;y=y+1|0;z=a[y>>0]|0}while(z<<24>>24!=0)}}while(0);if((Do(r)|0)>>>0>16)a[r+16>>0]=0;u=x+1|0;v=u;f:while(1){switch(a[v>>0]|0){case 0:case 124:{C=v;break f;break}default:{}}v=v+1|0}a[C>>0]=0;v=p+260|0;Jo(v,u)|0;g:do if(a[v>>0]|0)do{r=(Do(v)|0)+-1+(p+260)|0;if((a[r>>0]|0)!=32)break g;a[r>>0]=0}while((a[v>>0]|0)!=0);while(0);u=C+1|0;r=u;h:while(1){switch(a[r>>0]|0){case 0:case 124:{D=r;break h;break}default:{}}r=r+1|0}a[D>>0]=0;r=p+4|0;Jo(r,u)|0;z=a[r>>0]|0;i:do if(z<<24>>24){y=z;while(1){E=r+((Do(r)|0)+-1)|0;if((a[E>>0]|0)!=32){F=y;G=r;break}a[E>>0]=0;y=a[r>>0]|0;if(!(y<<24>>24))break i}do{if((F+-65&255)<26)a[G>>0]=(F&255)+32;G=G+1|0;F=a[G>>0]|0}while(F<<24>>24!=0);y=a[r>>0]|0;if(y<<24>>24){E=y;y=r;do{if(dc(E<<24>>24)|0){if((a[y>>0]|0)==124)a[y>>0]=95}else a[y>>0]=32;y=y+1|0;E=a[y>>0]|0}while(E<<24>>24!=0)}}while(0);r=c[n>>2]|0;z=wj(b,r,0,v)|0;u=(c[d>>2]|0)+-1|0;if((z|0)!=(u|0)){c[d>>2]=u;break}if((c[o>>2]|0)==1)if((r|0)==0?(c[s>>2]|0)==0:0){r=(Po(v,40788)|0)!=0;H=r?180:177}else H=176;else H=c[p>>2]|0;c[p>>2]=H}while(0)}while(!(Zk(k)|0))}cl(k);i=e;return}function wj(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;e=c[b+1072>>2]|0;if((e|0)<=0){g=-1;return g|0}h=c[b+4>>2]|0;b=(f|0)==0;if(!d){if(b){i=0;do i=i+1|0;while((i|0)<(e|0));g=-1;return g|0}i=(a[f>>0]|0)==0;j=0;while(1){if(((!i?(c[h+(j*412|0)+388>>2]|0)==0:0)?(c[h+(j*412|0)+392>>2]|0)==0:0)?(To(f,h+(j*412|0)+260|0)|0)==0:0){g=j;k=19;break}j=j+1|0;if((j|0)>=(e|0)){g=-1;k=19;break}}if((k|0)==19)return g|0}if(b){b=0;while(1){if((c[h+(b*412|0)+388>>2]|0)==(d|0)){g=b;k=19;break}b=b+1|0;if((b|0)>=(e|0)){g=-1;k=19;break}}if((k|0)==19)return g|0}else l=0;while(1){b=c[h+(l*412|0)+388>>2]|0;if((b|0)==(d|0)){g=l;k=19;break}if(((a[f>>0]|0)!=0&(b|0)==0?(c[h+(l*412|0)+392>>2]|0)==0:0)?(To(f,h+(l*412|0)+260|0)|0)==0:0){g=l;k=19;break}l=l+1|0;if((l|0)>=(e|0)){g=-1;k=19;break}}if((k|0)==19)return g|0;return 0}function xj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+2064|0;d=b+8|0;e=b;f=b+1040|0;g=b+16|0;Kn(40830,g);Nn(g)|0;c[e>>2]=(a|0)/1e4|0;Zp(f,40834,e)|0;Kn(f,g);Nn(g)|0;c[d>>2]=g;c[d+4>>2]=a;Zp(1182788,40842,d)|0;i=b;return 1182788}function yj(a,b){a=a|0;b=b|0;return (wj(155024,a,0,b)|0)!=-1|0}function zj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+64|0;e=d;if(!b){f=0;i=d;return f|0}if(!(a[b>>0]|0)){f=0;i=d;return f|0}if(Po(b,40788)|0){g=kl(b)|0;if(!g){f=0;i=d;return f|0}if((c[g>>2]|0)!=160){f=0;i=d;return f|0}if((c[g+4>>2]|0)!=205){f=0;i=d;return f|0}h=kk(128,128,32)|0;j=kk(128,128,8)|0;Ql(g,h,16,24,0,0,128,128);wk(h,j,c[198778]|0);lk(g)|0;lk(h)|0;f=j;i=d;return f|0}j=bl(b,45161)|0;b=e;h=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(h|0));dl(e,63,j)|0;if(!(Ro(e,45036,16)|0)){b=e;h=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(h|0));dl(e,63,j)|0;dl(e,63,j)|0;if(!(Ro(e,45064,7)|0)){g=kk(128,128,8)|0;hk(g,0,0,127,127,5);k=e+1|0;if(!(Zk(j)|0)){b=e;h=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(h|0));dl(e,63,j)|0;if((a[e>>0]|0)==45&(a[k>>0]|0)==45?(Rk(g,e,c[200398]|0,0,22,1,6)|0,(Zk(j)|0)==0):0){b=e;h=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(h|0));dl(e,63,j)|0;if((a[e>>0]|0)==45&(a[k>>0]|0)==45?(Rk(g,e,c[200398]|0,0,28,1,6)|0,(Zk(j)|0)==0):0){b=e;h=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(h|0));dl(e,63,j)|0;if((a[e>>0]|0)==45&(a[k>>0]|0)==45?(Rk(g,e,c[200398]|0,0,34,1,6)|0,(Zk(j)|0)==0):0){b=e;h=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(h|0));dl(e,63,j)|0;if((a[e>>0]|0)==45&(a[k>>0]|0)==45?(Rk(g,e,c[200398]|0,0,40,1,6)|0,(Zk(j)|0)==0):0){b=e;h=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(h|0));dl(e,63,j)|0;if((a[e>>0]|0)==45&(a[k>>0]|0)==45)Rk(g,e,c[200398]|0,0,46,1,6)|0}}}}}cl(j);f=g;i=d;return f|0}}cl(j);f=0;i=d;return f|0}function Aj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+4128|0;d=b+16|0;e=b+8|0;f=b;g=b+3096|0;h=b+2072|0;j=b+1048|0;k=b+24|0;Kn(40830,h);Nn(h)|0;c[f>>2]=(a|0)/1e4|0;Zp(g,40834,f)|0;Kn(g,h);Nn(h)|0;c[e>>2]=h;c[e+4>>2]=a;Zp(1182788,40842,e)|0;e=zj(1182788)|0;if(e|0){l=e;i=b;return l|0}Kn(40854,j);c[d>>2]=j;c[d+4>>2]=a;Zp(k,40866,d)|0;d=kl(k)|0;if(!d){l=0;i=b;return l|0}k=kk(128,128,8)|0;wk(d,k,c[198778]|0);lk(d)|0;l=k;i=b;return l|0}function Bj(){var b=0,e=0,f=0,g=0,h=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;b=i;i=i+1216|0;e=b+16|0;f=b+8|0;g=b;h=b+184|0;j=b+24|0;if((c[12902]|0)==1){hk(c[200386]|0,0,121,127,127,6);hk(c[200386]|0,0,120,127,120,0);Rk(c[200386]|0,40875,c[200398]|0,1,122,1,1)|0;i=b;return}k=c[146]|0;l=c[153860+(k*1164|0)+1072>>2]|0;do if(!l){hk(c[200386]|0,0,0,127,127,5);if((c[146]|0)==1){rk(c[(c[c[200397]>>2]|0)+(c[39015]<<2)>>2]|0,c[200386]|0,57,30,14,14,1);Rk(c[200386]|0,40907,c[200398]|0,64,15,3,6)|0;Rk(c[200386]|0,40937,c[200398]|0,22,50,1,7)|0;Rk(c[200386]|0,40956,c[200398]|0,64,58,3,6)|0;m=0}else m=0}else{n=c[153860+(k*1164|0)+1076>>2]|0;do if((((n|0)>-1&(l|0)>(n|0)?(o=(c[(c[153860+(k*1164|0)>>2]|0)+12>>2]|0)+(n*412|0)|0,(o|0)!=0):0)?(c[o+404>>2]|0)==1:0)?(c[o+400>>2]|0)==0:0){p=c[o+388>>2]|0;if(!p){c[g>>2]=890532;c[g+4>>2]=((n|0)<0?0:o)+260;Zp(h,45004,g)|0;o=zj(h)|0;q=c[146]|0;r=c[153860+(q*1164|0)+1076>>2]|0;c[(c[(c[153860+(q*1164|0)>>2]|0)+12>>2]|0)+(r*412|0)+400>>2]=o;s=r;t=q;break}else{q=Aj(p)|0;p=c[146]|0;r=c[153860+(p*1164|0)+1076>>2]|0;c[(c[(c[153860+(p*1164|0)>>2]|0)+12>>2]|0)+(r*412|0)+400>>2]=q;s=r;t=p;break}}else{s=n;t=k}while(0);if((((s|0)>=0?(c[153860+(t*1164|0)+1072>>2]|0)>(s|0):0)?(n=(c[(c[153860+(t*1164|0)>>2]|0)+12>>2]|0)+(s*412|0)|0,n|0):0)?(p=c[n+400>>2]|0,p|0):0){Ql(p,c[200386]|0,0,0,0,0,128,128);m=0;break}hk(c[200386]|0,0,0,127,127,5);p=c[146]|0;n=c[(c[(c[153860+(p*1164|0)>>2]|0)+12>>2]|0)+((c[153860+(p*1164|0)+1076>>2]|0)*412|0)+404>>2]|0;if((n|0)!=3?!((n|0)==2?1:(c[153860+(p*1164|0)+1072>>2]|0)==0):0){m=0;break}rk(c[(c[c[200397]>>2]|0)+(c[153860+(p*1164|0)+1036>>2]<<2)>>2]|0,c[200386]|0,57,30,14,14,1);m=0}while(0);do{if((m+10|0)>>>0>81){s=10;do{t=(c[(c[(c[200386]|0)+16>>2]|0)+(m<<2)>>2]|0)+s|0;a[t>>0]=c[520+((d[t>>0]&15)<<2)>>2];s=s+1|0}while((s|0)!=118)}m=m+1|0}while((m|0)!=128);m=c[146]|0;a:do if((c[153860+(m*1164|0)+1072>>2]|0)>0){s=m;t=0;k=86-(c[153860+(m*1164|0)+1088>>2]>>16)|0;while(1){h=(c[(c[153860+(s*1164|0)>>2]|0)+12>>2]|0)+(t*412|0)|0;g=h+404|0;if((c[g>>2]|0)==1)if((c[h+388>>2]|0)==0?(c[h+392>>2]|0)==0:0){l=(Po(h+260|0,40788)|0)!=0;u=l?180:177}else u=176;else u=c[h>>2]|0;ik(c[200386]|0,12,84,116,127);if((t|0)==(c[153860+((c[146]|0)*1164|0)+1076>>2]|0)){if((Di(4,0)|0)==0?(Di(5,0)|0)==0:0)v=0;else v=1;hk(c[200386]|0,12,k+-1+v|0,115,k+5+v|0,(u|0)==178?6:14);w=1;x=v}else{w=7;x=0}switch(c[g>>2]|0){case 6:{g=c[146]|0;if(!(c[153860+(g*1164|0)+1092>>2]|0))y=52;else{l=c[153860+(g*1164|0)+1160>>2]<<2;if((Fn()|0)&256|0)hk(c[200386]|0,l+23|0,k+-1|0,l+27|0,k+5|0,14);Rk(c[200386]|0,153860+((c[146]|0)*1164|0)+1096|0,c[200398]|0,24,x+k|0,1,w)|0;z=14}break}case 1:{l=h+4|0;if((t|0)==(c[153860+((c[146]|0)*1164|0)+1076>>2]|0)){g=Do(l)|0;p=((Do(h+132|0)|0)+g<<2)+-82|0;g=(p|0)<0?0:p;p=Fn()|0;if((p-(c[43121]|0)|0)<500)A=0;else{p=Fn()|0;A=p+-500-(c[43121]|0)|0}if((g|0)<((A|0)/20|0|0))B=g;else{g=Fn()|0;if((g-(c[43121]|0)|0)<500)C=0;else{g=Fn()|0;C=g+-500-(c[43121]|0)|0}B=(C|0)/20|0}D=14-B|0}else D=14;g=x+k|0;Rk(c[200386]|0,l,c[200398]|0,D+10|0,g,1,w)|0;if((t|0)==(c[153860+((c[146]|0)*1164|0)+1076>>2]|0)?(p=h+132|0,(a[p>>0]|0)!=0):0){n=c[200386]|0;hk(n,D+13+((Do(l)|0)<<2)|0,k+-1+x|0,127,k+5+x|0,15);c[f>>2]=p;Zp(1189444,40983,f)|0;p=c[200386]|0;n=c[200398]|0;Rk(p,1189444,n,D+9+((Do(l)|0)<<2)|0,g,1,5)|0;z=D}else z=D;break}default:y=52}if((y|0)==52){y=0;Rk(c[200386]|0,h+4|0,c[200398]|0,24,x+k|0,1,w)|0;z=14}jk(c[(c[c[200397]>>2]|0)+(u<<2)>>2]|0,c[200386]|0,0,0,z+-1|0,k+-1+x|0,7,7);g=c[146]|0;if((c[h+408>>2]|0)==0|(g|0)==1)E=g;else{ik(c[200386]|0,8,84,116,127);jk(c[(c[c[200397]>>2]|0)+804>>2]|0,c[200386]|0,0,0,z+-6|0,k+-3+x|0,7,7);E=c[146]|0}t=t+1|0;if((t|0)>=(c[153860+(E*1164|0)+1072>>2]|0))break a;else{s=E;k=k+7|0}}}while(0);qk(c[200386]|0);uk(c[200386]|0,12,81,115,81,6);vk(c[(c[c[200397]>>2]|0)+728>>2]|0,c[200386]|0,0,0,11,73,7,7,c[43122]|0?7:6,0);vk(c[(c[c[200397]>>2]|0)+732>>2]|0,c[200386]|0,0,0,110,73,7,7,c[43122]|0?7:6,0);E=c[146]|0;if(!E){c[e>>2]=891556;Zp(1189444,40988,e)|0}else{e=153860+(E*1164|0)+1040|0;xq(1189444,e|0,(Do(e)|0)+1|0)|0}e=48-((Do(1189444)|0)<<1)|0;E=((_(e,c[43123]|0)|0)>>16)+32|0;Rk(c[200386]|0,1189444,c[200398]|0,E,74,1,7)|0;E=c[38464]|0;if((E|0)>0){e=c[147]|0;x=E;z=c[43123]|0;u=0;while(1){w=(((u<<16)-(e&65535)|0)/(x|0)|0)+49152&65535;y=zl(z,Fl(w)|0)|0;D=c[43123]|0;f=(zl(D,Gl(w)|0)|0)*3|0;z=c[43123]|0;B=c[38464]|0;e=c[147]|0;C=(B+u+(e>>16)|0)%(B|0)|0;A=c[(c[c[200397]>>2]|0)+(c[153860+(C*1164|0)+1036>>2]<<2)>>2]|0;v=(c[146]|0)==(C|0);if((w+-36864|0)>>>0>24576)F=w>>>0<32768|(w+-33792|0)>>>0>30720?1:5;else F=v?-2:-1;c[j+(u*20|0)>>2]=(((D+y|0)*10|0)+32768>>16)+20;c[j+(u*20|0)+4>>2]=(z|0)>8191|v?(f+32768-(z<<1)>>16)+73|0:-1e3;c[j+(u*20|0)+8>>2]=f;c[j+(u*20|0)+16>>2]=F;c[j+(u*20|0)+12>>2]=A;u=u+1|0;if((u|0)>=(B|0)){G=B;break}else x=B}}else G=E;cq(j,G,20,2);if((c[38464]|0)>0){G=0;do{E=c[j+(G*20|0)+16>>2]|0;x=c[j+(G*20|0)+12>>2]|0;u=c[200386]|0;F=c[j+(G*20|0)>>2]|0;z=c[j+(G*20|0)+4>>2]|0;if((E|0)<0)jk(x,u,0,0,F,z,7,7);else vk(x,u,0,0,F,z,7,7,E,0);G=G+1|0}while((G|0)<(c[38464]|0))}do if((c[12067]|0)>0){G=(Po(49560,40992)|0)==0;j=c[43124]|0;if(G){jk(c[(c[c[200397]>>2]|0)+((((j|0)/2|0|0)%12|0)+212<<2)>>2]|0,c[200386]|0,0,0,3,3,12,12);break}else{jk(c[(c[c[200397]>>2]|0)+(((j|0)%8|0)+204<<2)>>2]|0,c[200386]|0,0,0,2,2,8,8);break}}while(0);if((c[43125]|0)>0)jk(c[(c[c[200397]>>2]|0)+((((c[43124]|0)/2|0|0)%12|0)+212<<2)>>2]|0,c[200386]|0,0,0,3,3,12,12);if(!(c[43126]|0)){i=b;return}hk(c[200386]|0,20,26,107,58,0);pk(c[200386]|0,20,26,107,58,7);jk(c[(c[c[200397]>>2]|0)+732>>2]|0,c[200386]|0,0,0,23,(c[43127]<<3)+31|0,7,7);Rk(c[200386]|0,40997,c[200398]|0,32,32,1,7)|0;Rk(c[200386]|0,41013,c[200398]|0,32,40,1,7)|0;Rk(c[200386]|0,41029,c[200398]|0,32,48,1,7)|0;i=b;return}function Cj(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;a=c[b+8>>2]|0;return ((d|0)<(a|0)?-1:(d|0)>(a|0)&1)|0}function Dj(a){a=a|0;var b=0,d=0;a=Qn(48536,49560)|0;if((a|0)==4|(c[12067]|0)==0){b=1;return b|0}if(Vn(49560)|0)if(Po(49560,40788)|0){a=kl(49560)|0;if(!a)d=3;else{lk(a)|0;d=2}}else d=2;else d=3;c[12067]=d;b=0;return b|0}function Ej(){return 101}function Fj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+3120|0;g=f+24|0;h=f+16|0;j=f+8|0;k=f;l=f+2088|0;m=f+1064|0;n=f+40|0;if(!e){c[j>>2]=b;Zp(m,41058,j)|0;Kn(m,l);c[h>>2]=b;Zp(m,41078,h)|0;Kn(m,50584)}else{c[k>>2]=b;Zp(m,41036,k)|0;Kn(m,l);a[50584]=0}c[g>>2]=e;c[g+4>>2]=d;c[g+8>>2]=41179;c[g+12>>2]=101;Zp(n,41093,g)|0;if(c[12067]|0){i=f;return}Jo(48536,n)|0;Jo(49560,l)|0;c[12067]=1;c[12068]=Fn()|0;c[12066]=Rn(106)|0;c[43124]=0;i=f;return}function Gj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;i=i+1840|0;f=e+8|0;g=e;h=e+16|0;j=e+808|0;c[b+1080>>2]=0;if(a[891556]|0){k=b+1072|0;Gm(c[b>>2]|0,((c[k>>2]|0)*412|0)+412|0)|0;l=c[(c[b>>2]|0)+12>>2]|0;c[b+4>>2]=l;m=c[k>>2]|0;c[k>>2]=m+1;k=l+(m*412|0)|0;rq(k|0,0,412)|0;c[k>>2]=185;c[k+388>>2]=0;m=k+4|0;a[m>>0]=a[43533]|0;a[m+1>>0]=a[43534]|0;a[m+2>>0]=a[43535]|0;c[k+400>>2]=0;c[k+404>>2]=2}c[g>>2]=890532;c[g+4>>2]=d;Zp(j,45004,g)|0;if(!(Wn(j,41187,h,-1)|0)){g=h+256|0;d=h+512|0;k=b+1072|0;m=b+4|0;do do if((a[g>>0]|0)!=46){if((Po(g,41189)|0)==0?(c[d>>2]&16384|0)==0:0)break;Gm(c[b>>2]|0,((c[k>>2]|0)*412|0)+412|0)|0;l=c[(c[b>>2]|0)+12>>2]|0;c[m>>2]=l;n=c[k>>2]|0;c[k>>2]=n+1;o=l+(n*412|0)|0;rq(o|0,0,412)|0;c[f>>2]=891556;c[f+4>>2]=g;Zp(j,45004,f)|0;n=o+260|0;So(n,j,128)|0;c[o+400>>2]=0;l=o+404|0;c[l>>2]=1;c[o+388>>2]=0;if(!(c[d>>2]&16384))p=o+4|0;else{c[o>>2]=181;q=o+4|0;Jo(q,g)|0;c[l>>2]=2;p=q}if(((a[p>>0]|0)==0?(hl(n,0,p,0),n=Do(p)|0,n>>>0>3):0)?(q=n+-3+(o+4)|0,(a[q>>0]|0)==46):0)a[q>>0]=0}while(0);while(!(Un(h)|0));r=k;s=m}else{r=b+1072|0;s=b+4|0}cq(c[s>>2]|0,c[r>>2]|0,412,3);if((b|0)==155024){i=e;return}if((c[r>>2]|0)>0)t=0;else{i=e;return}do{b=c[s>>2]|0;m=b+(t*412|0)+408|0;c[m>>2]=0;c[m>>2]=(wj(155024,c[b+(t*412|0)+388>>2]|0,0,b+(t*412|0)+260|0)|0)!=-1&1;t=t+1|0}while((t|0)<(c[r>>2]|0));i=e;return}function Hj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=To(a+4|0,b+4|0)|0;e=(c[b+404>>2]|0)==2;if((c[a+404>>2]|0)==2){if(!e){f=-1;return f|0}}else if(e){f=1;return f|0}if(d|0){f=d;return f|0}f=a>>>0<b>>>0?1:-1;return f|0}function Ij(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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;f=i;i=i+32|0;g=f;h=f+20|0;j=f+16|0;k=f+12|0;l=kl(d)|0;d=b+8|0;m=(To(c[d>>2]|0,40784)|0)==0;n=b+1080|0;c[n>>2]=0;o=(e|0)!=0;do if(o)p=15;else{if(!l){e=b+1072|0;if((c[e>>2]|0)==0&(m^1)){q=e;p=6}else{r=1;i=f;return r|0}}else{if(m)break;e=b+1072|0;s=c[e>>2]|0;if((s|0)>0){t=b+4|0;u=s;s=0;while(1){v=c[(c[t>>2]|0)+(s*412|0)+400>>2]|0;if(!v)w=u;else{lk(v)|0;w=c[e>>2]|0}s=s+1|0;if((s|0)>=(w|0)){x=t;y=e;break}else u=w}}else{q=e;p=6}}if((p|0)==6){x=b+4|0;y=q}c[y>>2]=0;Gm(c[b>>2]|0,412)|0;u=c[(c[b>>2]|0)+12>>2]|0;c[x>>2]=u;t=c[y>>2]|0;c[y>>2]=t+1;s=u+(t*412|0)|0;rq(s|0,0,412)|0;c[s>>2]=178;c[s+388>>2]=0;t=s+4|0;if(!(To(c[d>>2]|0,40777)|0)){z=t;A=41193;B=z+9|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));c[n>>2]=1;c[s+404>>2]=6}else{z=t;A=41202;B=z+9|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));c[n>>2]=1;c[s+404>>2]=3}c[s+400>>2]=0;p=15}while(0);if((p|0)==15){if(!l){r=1;i=f;return r|0}if((o?(o=b+1072|0,p=c[o>>2]|0,(p|0)>0):0)?(n=p+-1|0,p=c[b+4>>2]|0,(c[p+(n*412|0)+404>>2]|0)==5):0){rq(p+(n*412|0)|0,0,412)|0;c[o>>2]=(c[o>>2]|0)+-1}}if((c[l>>2]|0)==1024?(c[l+4>>2]|0)==544:0){o=l+16|0;n=b+1072|0;p=b+4|0;d=0;y=0;while(1){x=(d|0)%8|0;q=((d|0)/8|0)*136|0;w=(c[(c[o>>2]|0)+(q+128<<2)>>2]|0)+(x<<9)+1|0;c[k>>2]=0;c[j>>2]=0;c[h>>2]=0;rq(1183812,0,1024)|0;m=0;do{a[1183812+m>>0]=a[w+(m<<2)>>0]|0;m=m+1|0}while((m|0)!=128);c[g>>2]=h;c[g+4>>2]=j;c[g+8>>2]=k;Rp(1183812,41211,g)|0;if(!(c[h>>2]|0))C=1;else{Gm(c[b>>2]|0,((c[n>>2]|0)*412|0)+412|0)|0;m=c[(c[b>>2]|0)+12>>2]|0;c[p>>2]=m;s=c[n>>2]|0;c[n>>2]=s+1;t=m+(s*412|0)|0;rq(t|0,0,412)|0;c[t+388>>2]=c[h>>2];c[t+392>>2]=c[j>>2];c[t+396>>2]=c[k>>2];s=w+(c[l>>2]<<2)|0;rq(1183812,0,1024)|0;m=0;do{a[1183812+m>>0]=a[s+(m<<2)>>0]|0;m=m+1|0}while((m|0)!=128);m=t+4|0;So(m,1183812,128)|0;s=w+(c[l>>2]<<3)|0;rq(1183812,0,1024)|0;e=0;do{a[1183812+e>>0]=a[s+(e<<2)>>0]|0;e=e+1|0}while((e|0)!=128);e=x<<7;s=t+132|0;So(s,1183812,128)|0;w=a[m>>0]|0;a:do if(w<<24>>24){u=w;while(1){v=m+((Do(m)|0)+-1)|0;if((a[v>>0]|0)!=32){D=u;E=m;break}a[v>>0]=0;u=a[m>>0]|0;if(!(u<<24>>24))break a}do{if((D+-65&255)<26)a[E>>0]=(D&255)+32;E=E+1|0;D=a[E>>0]|0}while(D<<24>>24!=0);u=a[m>>0]|0;if(u<<24>>24){v=u;u=m;do{if(dc(v<<24>>24)|0){if((a[u>>0]|0)==124)a[u>>0]=95}else a[u>>0]=32;u=u+1|0;v=a[u>>0]|0}while(v<<24>>24!=0)}}while(0);m=a[s>>0]|0;b:do if(m<<24>>24){w=m;while(1){x=s+((Do(s)|0)+-1)|0;if((a[x>>0]|0)!=32){F=w;G=s;break}a[x>>0]=0;w=a[s>>0]|0;if(!(w<<24>>24))break b}do{if((F+-65&255)<26)a[G>>0]=(F&255)+32;G=G+1|0;F=a[G>>0]|0}while(F<<24>>24!=0);w=a[s>>0]|0;if(w<<24>>24){x=w;w=s;do{if(!((x+-97&255)<26|(x+-48&255)<10))a[w>>0]=95;w=w+1|0;x=a[w>>0]|0}while(x<<24>>24!=0)}}while(0);if((Do(s)|0)>>>0>16)a[s+16>>0]=0;c[t+404>>2]=1;m=kk(128,128,32)|0;x=t+400|0;c[x>>2]=kk(128,128,8)|0;Ql(l,m,e,q,0,0,128,128);wk(m,c[x>>2]|0,c[198778]|0);lk(m)|0;C=y}d=d+1|0;if((d|0)==32){H=C;break}else y=C}C=c[n>>2]|0;if((H|0)==0&(C|0)>1){Gm(c[b>>2]|0,(C*412|0)+412|0)|0;C=c[(c[b>>2]|0)+12>>2]|0;c[p>>2]=C;H=c[n>>2]|0;c[n>>2]=H+1;y=C+(H*412|0)|0;rq(y|0,0,412)|0;c[y>>2]=178;c[y+388>>2]=0;z=y+4|0;A=41220;B=z+12|0;do{a[z>>0]=a[A>>0]|0;z=z+1|0;A=A+1|0}while((z|0)<(B|0));A=y+400|0;c[A>>2]=0;c[A>>2]=kk(128,128,8)|0;c[y+404>>2]=5}lk(l)|0;c[b+1084>>2]=0;if((b|0)==155024){r=0;i=f;return r|0}if((c[n>>2]|0)>0)I=0;else{r=0;i=f;return r|0}do{b=c[p>>2]|0;y=b+(I*412|0)+408|0;c[y>>2]=0;c[y>>2]=(wj(155024,c[b+(I*412|0)+388>>2]|0,0,b+(I*412|0)+260|0)|0)!=-1&1;I=I+1|0}while((I|0)<(c[n>>2]|0));r=0;i=f;return r|0}lk(l)|0;r=2;i=f;return r|0}function Jj(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[12067]|0)==1?(b=Fn()|0,(b|0)>(((c[43865]|0)*1e3|0)+(c[12068]|0)|0)):0){c[12067]=0;Sn(c[12066]|0);gc(42334,1500);return}b=Fn()|0;if((b|0)<((c[12068]|0)+500|0))return;b=c[12067]|0;if((b|0)==3){c[12067]=0;gc(41232,1500);d=c[12067]|0}else d=b;if((d|0)!=2)return;c[12067]=0;if(!(Po(49560,40992)|0)){if(!(Po(49560,41286)|0))return;d=vc(49560)|0;if(d|0){Bc(d);Ac(d);c[223670]=0;Jo(893612,49560)|0;qc(c[33842]|0,894636);c[43125]=1;return}d=c[12023]|0;if((d|0)==1){gc(41261,1500);e=c[12023]|0}else e=d;if((e|0)==2){gc(41294,1500);f=c[12023]|0}else f=e;if((f|0)!=3)return;gc(41309,1500);return}else{f=c[38464]|0;if((f|0)>1){g=1;h=0}else return;while(1){e=(Po(49560,c[153860+(g*1164|0)+8>>2]|0)|0)==0;d=e?h:153860+(g*1164|0)|0;g=g+1|0;if((g|0)>=(f|0)){i=d;break}else h=d}if(!i)return;h=(Po(49560,41258)|0)!=0;if(!(Ij(i,49560,h&1)|0)){if(a[50584]|0)ol(49560,50584)|0;i=c[146]|0;f=c[153860+(i*1164|0)+1072>>2]|0;if(h|(f|0)<2){j=i;k=f}else{c[153860+(i*1164|0)+1076>>2]=1;j=i;k=f}}else{gc(41261,1500);f=c[146]|0;j=f;k=c[153860+(f*1164|0)+1072>>2]|0}f=153860+(j*1164|0)+1076|0;j=c[f>>2]|0;i=(k|0)<1?0:k+-1|0;k=(j|0)<(i|0)?j:i;c[f>>2]=(k|0)<0?0:k;c[43121]=Fn()|0;return}}function Kj(){c[43121]=Fn()|0;return}function Lj(){var b=0,d=0,e=0,f=0,g=0,h=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;b=i;i=i+6240|0;d=b+80|0;e=b+72|0;f=b+64|0;g=b+56|0;h=b+48|0;j=b+40|0;k=b+32|0;l=b+24|0;m=b+8|0;n=b;o=b+5208|0;p=b+4184|0;q=b+3160|0;r=b+2136|0;s=b+1112|0;t=b+88|0;u=c[146]|0;v=c[153860+(u*1164|0)+1076>>2]|0;if(c[43126]|0){if(Ji(2,0)|0)c[43127]=(c[43127]|0)+-1;w=(Ji(3,0)|0)==0;x=c[43127]|0;if(w)y=x;else{w=x+1|0;c[43127]=w;y=w}c[43127]=(y+3|0)%3|0;if(((Ji(4,0)|0)==0?(Ji(5,0)|0)==0:0)?(Ji(6,0)|0)==0:0){i=b;return}switch(c[43127]|0){case 0:{c[43233]=1;i=b;return}case 1:{Mj();c[233702]=0;if(!(Fk()|0)){i=b;return}do Gk()|0;while((Fk()|0)!=0);i=b;return}case 2:{c[43126]=0;i=b;return}default:{i=b;return}}}if((c[12067]|0)>0){if(!(Ji(6,0)|0)){i=b;return}c[12067]=0;Sn(c[12066]|0);gc(41401,1e3);i=b;return}if(c[153860+(u*1164|0)+1092>>2]|0){if(Ki(6,0)|0){c[153860+((c[146]|0)*1164|0)+1092>>2]=0;gc(41502,1e3)}if(!((Ki(4,0)|0)==0?!(Ki(5,0)|0):0)){y=c[146]|0;c[n>>2]=153860+(y*1164|0)+1096;Zp(153860+(y*1164|0)+12|0,41340,n)|0;n=c[146]|0;Fj(c[153860+(n*1164|0)+8>>2]|0,153860+(n*1164|0)+12|0,0);n=c[146]|0;Jo(153860+(n*1164|0)+1040|0,153860+(n*1164|0)+1096|0)|0;c[153860+((c[146]|0)*1164|0)+1092>>2]=0;Fi()}if(Ki(2,0)|0){n=c[146]|0;y=(c[153860+(n*1164|0)+1160>>2]|0)+(153860+(n*1164|0)+1096)|0;n=a[y>>0]|0;w=0;x=-1;while(1){z=n<<24>>24==(a[41363+w>>0]|0)?w:x;w=w+1|0;if((w|0)==37){A=z;break}else x=z}if(!(n<<24>>24)){a[y+1>>0]=0;B=97}else B=a[41363+((A+38|0)%37|0)>>0]|0;a[y>>0]=B}if(Ki(3,0)|0){B=c[146]|0;y=(c[153860+(B*1164|0)+1160>>2]|0)+(153860+(B*1164|0)+1096)|0;B=a[y>>0]|0;A=0;n=-1;while(1){x=B<<24>>24==(a[41363+A>>0]|0)?A:n;A=A+1|0;if((A|0)==37){C=x;break}else n=x}if(!(B<<24>>24)){a[y+1>>0]=0;D=57}else D=a[41363+((C+36|0)%37|0)>>0]|0;a[y>>0]=D}if(Ki(0,0)|0){D=c[146]|0;y=Do(153860+(D*1164|0)+1096|0)|0;C=153860+(D*1164|0)+1160|0;D=(c[C>>2]|0)+-1|0;B=(D|0)<(y|0)?D:y;c[C>>2]=(B|0)<0?0:B}if(!(Ki(1,0)|0)){i=b;return}B=c[146]|0;C=Do(153860+(B*1164|0)+1096|0)|0;y=153860+(B*1164|0)+1160|0;D=c[y>>2]|0;if((D|0)==(C|0)&(D|0)<21){a[153860+(B*1164|0)+1096+C>>0]=32;n=(c[y>>2]|0)+1|0;c[y>>2]=n;a[153860+(B*1164|0)+1096+n>>0]=0;E=c[y>>2]|0;F=C+1|0}else{E=D;F=C}C=E+1|0;E=(C|0)<(F|0)?C:F;c[y>>2]=(E|0)<0?0:E;i=b;return}if(Ji(2,0)|0){E=153860+((c[146]|0)*1164|0)+1076|0;c[E>>2]=(c[E>>2]|0)+-1}if(Ji(3,0)|0){E=153860+((c[146]|0)*1164|0)+1076|0;c[E>>2]=(c[E>>2]|0)+1}if(Ji(0,0)|0){E=c[146]|0;if((E|0)>0)G=(E+-1|0)%(c[38464]|0)|0;else{y=c[38464]|0;G=(y-((1-E|0)%(y|0)|0)|0)%(y|0)|0}c[146]=G}if(Ji(1,0)|0){G=c[146]|0;if((G|0)>-2)H=(G+1|0)%(c[38464]|0)|0;else{y=c[38464]|0;H=(y-((~G|0)%(y|0)|0)|0)%(y|0)|0}c[146]=H}if(!((Ji(0,0)|0)==0?!(Ji(1,0)|0):0))I=59;if(((I|0)==59?(c[43122]=1,c[43231]=0,H=c[146]|0,(H|0)!=1):0)?(y=153860+(H*1164|0)+1072|0,(c[y>>2]|0)>0):0){G=153860+(H*1164|0)+4|0;H=0;do{E=c[G>>2]|0;F=E+(H*412|0)+408|0;c[F>>2]=0;c[F>>2]=(wj(155024,c[E+(H*412|0)+388>>2]|0,0,E+(H*412|0)+260|0)|0)!=-1&1;H=H+1|0}while((H|0)<(c[y>>2]|0))}if(!(((((Ji(2,0)|0)==0?(Ji(3,0)|0)==0:0)?(Ji(4,0)|0)==0:0)?(Ji(5,0)|0)==0:0)?!(Ji(6,0)|0):0))c[43122]=0;if(!((((Ji(0,0)|0)==0?(Ji(1,0)|0)==0:0)?(Ji(2,0)|0)==0:0)?!(Ji(3,0)|0):0)){y=c[146]|0;H=153860+(y*1164|0)+1076|0;G=c[H>>2]|0;E=c[153860+(y*1164|0)+1072>>2]|0;y=(E|0)<1?0:E+-1|0;E=(G|0)<(y|0)?G:y;c[H>>2]=(E|0)<0?0:E}if(!(((Ji(4,0)|0)==0?(Ji(5,0)|0)==0:0)?!(Ji(6,0)|0):0))I=77;a:do if((((I|0)==77?(E=c[146]|0,H=c[153860+(E*1164|0)+1076>>2]|0,(H|0)>=0):0)?(y=c[153860+(E*1164|0)+1072>>2]|0,(y|0)>(H|0)):0)?(G=H*412|0,H=(c[153860+(E*1164|0)>>2]|0)+12|0,F=(c[H>>2]|0)+G|0,F|0):0){C=c[F+404>>2]|0;switch(C|0){case 2:{c[m>>2]=890532;c[m+4>>2]=891556;c[m+8>>2]=F+4;Zp(s,41512,m)|0;il(s,t);if(!(Po(t,890532)|0))break a;Jo(891556,t+(Do(890532)|0)|0)|0;if(!(To(891556,41520)|0))a[891556]=0;D=c[146]|0;n=153860+(D*1164|0)+1072|0;B=c[n>>2]|0;if((B|0)>0){A=153860+(D*1164|0)+4|0;x=B;B=0;while(1){w=c[(c[A>>2]|0)+(B*412|0)+400>>2]|0;if(!w)J=x;else{lk(w)|0;J=c[n>>2]|0}B=B+1|0;if((B|0)>=(J|0))break;else x=J}K=c[146]|0}else K=D;c[n>>2]=0;Gj(153860+(K*1164|0)|0,891556);x=c[146]|0;B=c[153860+(x*1164|0)+1080>>2]|0;A=c[153860+(x*1164|0)+1072>>2]|0;c[153860+(x*1164|0)+1076>>2]=(B|0)<(A|0)?B:A;c[153860+(x*1164|0)+1088>>2]=0;break a;break}case 1:{x=c[F+388>>2]|0;xq(172512,F|0,412)|0;c[43228]=0;if(!x){A=(c[H>>2]|0)+G+260|0;c[l>>2]=890532;c[l+4>>2]=A;Zp(r,45004,l)|0;if(!(Cc(r)|0)){c[43125]=1;break a}else{gc(41294,1500);break a}}Kn(40830,p);Nn(p)|0;A=(x|0)/1e4|0;c[k>>2]=A;Zp(o,40834,k)|0;Kn(o,p);Nn(p)|0;c[j>>2]=p;c[j+4>>2]=x;Zp(1182788,40842,j)|0;if(!(Cc(1182788)|0)){c[43125]=1;break a}c[h>>2]=A;c[h+4>>2]=x;Zp(q,41522,h)|0;Kn(40830,p);Nn(p)|0;c[g>>2]=A;Zp(o,40834,g)|0;Kn(o,p);Nn(p)|0;c[f>>2]=p;c[f+4>>2]=x;Zp(1182788,40842,f)|0;Jo(49560,1182788)|0;Kn(40830,p);Nn(p)|0;c[e>>2]=A;Zp(o,40834,e)|0;Kn(o,p);Nn(p)|0;c[d>>2]=p;c[d+4>>2]=x;Zp(1182788,40842,d)|0;if(c[12067]|0)break a;Jo(48536,q)|0;Jo(49560,1182788)|0;c[12067]=1;c[12068]=Fn()|0;c[12066]=Rn(106)|0;c[43124]=0;break a;break}default:{if((c[F+404>>2]|0)==3){Fj(c[153860+(E*1164|0)+8>>2]|0,153860+(E*1164|0)+12|0,0);break a}switch(C|0){case 5:{Fj(c[153860+(E*1164|0)+8>>2]|0,153860+(E*1164|0)+12|0,y+-2|0);break a;break}case 6:break;default:break a}a[153860+(E*1164|0)+1096>>0]=0;c[153860+(E*1164|0)+1092>>2]=1;c[153860+(E*1164|0)+1160>>2]=0;if(!(Fk()|0))break a;do Gk()|0;while((Fk()|0)!=0)}}}while(0);q=c[146]|0;if((u|0)==(q|0)?(v|0)==(c[153860+(q*1164|0)+1076>>2]|0):0){i=b;return}c[43121]=Fn()|0;i=b;return}function Mj(){c[224872]=0;c[224871]=0;c[224867]=0;c[224866]=0;c[224869]=128;c[224868]=128;qk(c[200386]|0);fk(c[200386]|0);c[224870]=7;ag(41420,7);bg(1195596);c[224870]=13;bg(41451);bg(41483);bg(1195596);if(!(c[200388]|0))c[200388]=kk(128,128,8)|0;Ql(c[200386]|0,c[200387]|0,0,0,0,0,128,128);Ql(c[200386]|0,c[200388]|0,0,0,0,0,128,128);return}function Nj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[12902]=0;a=c[38733]|0;if((a|0)>0){b=a;a=0;while(1){d=c[(c[38466]|0)+(a*412|0)+400>>2]|0;if(!d)e=b;else{lk(d)|0;e=c[38733]|0}a=a+1|0;if((a|0)>=(e|0))break;else b=e}}c[38733]=0;Gj(153860,891556);e=c[146]|0;b=153860+(e*1164|0)+1076|0;a=c[b>>2]|0;d=153860+(e*1164|0)+1072|0;f=c[d>>2]|0;g=(f|0)<1?0:f+-1|0;h=(a|0)<(g|0)?a:g;c[b>>2]=(h|0)<0?0:h;if(!((e|0)!=1&(f|0)>0)){i=Fn()|0;c[43121]=i;c[43126]=0;return}f=153860+(e*1164|0)+4|0;e=0;do{h=c[f>>2]|0;b=h+(e*412|0)+408|0;c[b>>2]=0;c[b>>2]=(wj(155024,c[h+(e*412|0)+388>>2]|0,0,h+(e*412|0)+260|0)|0)!=-1&1;e=e+1|0}while((e|0)<(c[d>>2]|0));i=Fn()|0;c[43121]=i;c[43126]=0;return}function Oj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if((c[12902]|0)==1){if(Ji(0,0)|0){Fi();c[12902]=0}if(Ji(1,0)|0){Fi();c[12902]=0}if(Ji(2,0)|0){Fi();c[12902]=0}if(Ji(3,0)|0){Fi();c[12902]=0}if(Ji(4,0)|0){Fi();c[12902]=0}if(Ji(5,0)|0){Fi();c[12902]=0}if(!(Ji(6,0)|0))return;Fi();c[12902]=0;return}Lj();Jj();a=c[146]|0;b=c[153860+(a*1164|0)+1076>>2]|0;d=c[153860+(a*1164|0)+1080>>2]|0;e=(b|0)<(d|0)?b:d;d=b+-2|0;b=(c[153860+(a*1164|0)+1072>>2]|0)+-6+(c[153860+(a*1164|0)+1084>>2]|0)|0;f=(d|0)<(b|0)?d:b;b=((e|0)>(f|0)?e:f)*458752|32768;f=153860+(a*1164|0)+1088|0;e=(b+((c[f>>2]|0)*7|0)|0)/8|0;c[f>>2]=e;if((e|0)>=(b|0)){if((e|0)>(b|0)){d=e+-4096|0;c[f>>2]=(d|0)>(b|0)?d:b}}else{d=e+4096|0;c[f>>2]=(d|0)<(b|0)?d:b}b=c[43122]|0;c[43123]=(b|0?24576:0)+(((c[43123]|0)*5|0)/8|0);d=c[147]|0;f=c[38464]<<16;e=(f|0)/2|0;g=d-e|0;h=a<<16|2048;while(1)if((h|0)<(g|0))h=f+h|0;else{i=h;break}h=e+d|0;e=i;while(1)if((e|0)>(h|0))e=e-f|0;else{j=e;break}e=((d*7|0)/8|0)+((j|0)/8|0)|0;if(!b)k=((e|0)/4|0)+((j*3|0)/4|0)|0;else k=e;c[147]=k;if((k|0)>-1)l=k;else l=f-((0-k|0)%(f|0)|0)|0;c[147]=(l|0)%(f|0)|0;c[43231]=(c[43231]|0)+1;c[43124]=(c[43124]|0)+1;f=c[43125]|0;if((f|0)<=0)return;c[43125]=f+1;if((f|0)<=19)return;c[43125]=0;c[224764]=1;c[224872]=0;c[224871]=0;qk(c[200386]|0);fk(c[200386]|0);return}function Pj(){return}function Qj(){return}function Rj(a,b){a=a|0;b=b|0;cb(12,a|0,b|0)|0;return}function Sj(a){a=a|0;var b=0;b=Za(13,a|0)|0;a=(b|0)<255?b:255;return ((a|0)<0?0:a)|0}function Tj(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+512|0;d=b;e=c[(c[c[200395]>>2]|0)+12>>2]|0;c[e+20>>2]=0;f=_k(1195596,e)|0;ag(41829,14);e=c[148]|0;if(!e){Bk(f);i=b;return}g=e;e=592;h=0;do{j=c[(c[f>>2]|0)+(h<<2)>>2]|0;a[d>>0]=0;Io(d,g)|0;k=bl(d,41862)|0;Wk(c[j+12>>2]|0,1,c[j+16>>2]|0,k)|0;cl(k);bg(c[e>>2]|0);h=h+1|0;e=592+(h<<2)|0;g=c[e>>2]|0}while((g|0)!=0);Bk(f);i=b;return}function Uj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=i;i=i+512|0;b=a;Kn(41864,b);d=c[(c[c[200395]>>2]|0)+24>>2]|0;c[d+20>>2]=0;e=_k(1195596,d)|0;d=c[161]|0;if(!d){Bk(e);i=a;return}f=d;d=0;do{g=c[(c[e>>2]|0)+(d<<2)>>2]|0;if(!d){Kn(41864,b);h=bl(b,41879)|0}else{Jo(b,xj(f)|0)|0;h=bl(b,45334)|0}if(h|0)Wk(c[g+12>>2]|0,1,c[g+16>>2]|0,h)|0;cl(h);d=d+1|0;f=c[644+(d<<2)>>2]|0}while((f|0)!=0);Bk(e);i=a;return}function Vj(a){a=a|0;Jo(41881,a)|0;return}function Wj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=i;i=i+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;j=a+40|0;k=a+32|0;l=a+24|0;m=a+16|0;n=a+8|0;o=a;if(c[43867]|0){i=a;return 0}c[43232]=0;Em(172944,0,2388);Jo(172944,41881)|0;fl();p=c[169]|0;q=c[43868]|0;if((p|0)>0&(q|0)!=0)Xj(p,q);c[o>>2]=42360;Op(42357,o)|0;o=c[6659]|0;Jp(o)|0;c[n>>2]=42386;Zp(1184836,42372,n)|0;c[m>>2]=1184836;Op(42357,m)|0;Jp(o)|0;m=c[169]|0;n=c[43868]|0;if((m|0)>0&(n|0)!=0)Xj(m,n);if(!(c[43866]|0)){c[l>>2]=42397;Op(42357,l)|0;Jp(o)|0;un()|0;c[k>>2]=42415;Op(42357,k)|0;Jp(o)|0;c[43869]=Fn()|0;c[j>>2]=42433;Op(42357,j)|0;Jp(o)|0;Lk();c[h>>2]=42448;Op(42357,h)|0;Jp(o)|0;Jk();c[g>>2]=42464;Op(42357,g)|0;Jp(o)|0;Pk();c[f>>2]=42480;Op(42357,f)|0;Jp(o)|0;pn()|0;c[e>>2]=42497;Op(42357,e)|0;Jp(o)|0;Ek();c[d>>2]=42514;Op(42357,d)|0;Jp(o)|0}Dl(0);c[43864]=(c[43864]|0)+1;c[b>>2]=42534;Op(42357,b)|0;Jp(o)|0;c[43867]=1;i=a;return 0}function Xj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+32|0;f=e+8|0;g=e;h=e+24|0;if((b|0)>1){j=1;k=0}else{i=e;return}a:while(1){l=d+(j<<2)|0;m=c[l>>2]|0;b:do switch(a[m>>0]|0){case 62:case 124:case 38:{n=25;break a;break}case 45:{o=m+1|0;p=Do(o)|0;q=(Ro(o,42137,p)|0)==0;r=(Ro(o,42143,p)|0)==0;s=(Ro(o,42150,p)|0)==0;t=(Ro(o,42159,p)|0)==0;u=(Ro(o,42168,p)|0)==0;v=(Ro(o,42177,p)|0)==0;w=(Ro(o,42186,p)|0)==0;x=(Ro(o,42196,p)|0)==0;y=(Ro(o,42214,p)|0)==0;z=(Ro(o,42229,p)|0)==0;A=(Ro(o,42242,p)|0)==0;B=(Ro(o,42255,p)|0)==0;C=(Ro(o,42261,p)|0)==0;D=(Ro(o,42267,p)|0)==0;E=(Ro(o,42283,p)|0)==0;F=(Ro(o,42297,p)|0)==0;G=(Ro(o,42302,p)|0)==0;H=(Ro(o,42310,p)|0)==0;I=(Ro(o,42324,p)|0)==0;J=(Ro(o,42334,p)|0)==0;K=J?20:I?19:H?18:G?17:F?16:x?15:E?14:D?12:C?11:B?10:A?11:z?10:y?9:x?8:w?7:v?6:u?5:t?4:s?3:r?2:q?1:k;break}default:{c[h>>2]=0;c[g>>2]=h;Rp(m,42342,g)|0;do switch(k|0){case 1:{c[43834]=c[h>>2];K=0;break b;break}case 2:{c[43835]=c[h>>2];K=0;break b;break}case 3:{c[43848]=c[h>>2];K=0;break b;break}case 4:{c[43837]=c[h>>2];K=0;break b;break}case 5:{c[43843]=c[h>>2];K=0;break b;break}case 6:{c[43844]=c[h>>2];K=0;break b;break}case 7:{c[43842]=c[h>>2];K=0;break b;break}case 8:{c[43855]=c[h>>2];K=0;break b;break}case 9:{c[43840]=c[h>>2];K=0;break b;break}case 10:{c[43838]=c[h>>2];K=0;break b;break}case 11:{c[43839]=c[h>>2];K=0;break b;break}case 12:{c[43845]=c[h>>2];K=0;break b;break}case 14:{c[43856]=c[h>>2];K=0;break b;break}case 15:{c[43855]=c[h>>2];K=0;break b;break}case 16:{Jo(173200,c[l>>2]|0)|0;K=0;break b;break}case 17:{Jo(174224,c[l>>2]|0)|0;K=0;break b;break}case 18:{c[43857]=c[h>>2];K=0;break b;break}case 19:{c[43860]=0;c[43861]=0;c[43862]=4096;c[43863]=4096;q=c[l>>2]|0;c[f>>2]=175440;c[f+4>>2]=175444;c[f+8>>2]=175448;c[f+12>>2]=175452;Rp(q,42345,f)|0;K=0;break b;break}case 20:{q=c[h>>2]|0;r=(q|0)<240?q:240;c[43865]=(r|0)<1?1:r;K=0;break b;break}default:{K=0;break b}}while(0)}}while(0);j=j+1|0;if((j|0)>=(b|0)){n=25;break}else k=K}if((n|0)==25){i=e;return}}function Yj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Op(42357,d)|0;Jp(c[6659]|0)|0;i=b;return}function Zj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;a=i;i=i+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;j=a+32|0;k=a+24|0;l=a+16|0;m=a+8|0;n=a;if(!(c[43867]|0)){i=a;return 0}c[43867]=0;c[n>>2]=42539;Op(42357,n)|0;n=c[6659]|0;Jp(n)|0;c[m>>2]=42551;Op(42357,m)|0;Jp(n)|0;ln(0,0);c[l>>2]=42564;Op(42357,l)|0;Jp(n)|0;oc();c[k>>2]=42580;Op(42357,k)|0;Jp(n)|0;c[j>>2]=42598;Op(42357,j)|0;Jp(n)|0;Nm()|0;c[h>>2]=42615;Op(42357,h)|0;Jp(n)|0;qn()|0;c[g>>2]=42632;Op(42357,g)|0;Jp(n)|0;c[f>>2]=42652;Op(42357,f)|0;Jp(n)|0;if(!(c[43866]|0)){Qk();Kk();Mk()}c[e>>2]=c[43232];Zp(1184836,42670,e)|0;c[d>>2]=1184836;Op(42357,d)|0;Jp(n)|0;c[b>>2]=42534;Op(42357,b)|0;Jp(n)|0;n=c[43812]|0;if(n|0)Mp(n)|0;n=c[43813]|0;if(n|0)Mp(n)|0;c[43812]=0;c[43813]=0;c[43867]=0;i=a;return 0}function _j(a){a=a|0;return}function $j(){var a=0;if(!(c[168]|0)){Jn()|0;Jn()|0;Jn()|0;Jn()|0;Jn()|0;Jn()|0;Jn()|0;Jn()|0;Jn()|0;Jn()|0}a=Jn()|0;if(c[43870]|0){On(172936,172940,0);fn();return a|0}c[43870]=1;Nk();c[43870]=0;On(172936,172940,0);fn();return a|0}function ak(){nc();cc();sn();if(!(c[168]|0)){Jn()|0;Jn()|0;Jn()|0;Jn()|0;Jn()|0;Jn()|0;Jn()|0;Jn()|0;Jn()|0;Jn()|0}Jn()|0;if(c[43870]|0){On(172936,172940,0);fn();c[43825]=0;return}c[43870]=1;Nk();c[43870]=0;On(172936,172940,0);fn();c[43825]=0;return}function bk(a,b){a=a|0;b=b|0;Jo(1188932,c[b>>2]|0)|0;c[169]=a;c[43868]=b;_b(a,b);bb(1,0,0);return 0}function ck(){var a=0;a=Bm(768)|0;rq(a|0,0,768)|0;c[43232]=(c[43232]|0)+1;return a|0}function dk(a){a=a|0;if(!a)return;Dm(a);c[43232]=(c[43232]|0)+-1;return}function ek(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=Bm((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,a)|0;g=e+12|0;c[g>>2]=Bm(_(f,d)|0)|0;h=e+16|0;c[h>>2]=e+48;if((d|0)<=0){i=c[43232]|0;j=i+1|0;c[43232]=j;return e|0}k=(b<<2)+52|0;if((b|0)<=0){l=0;do{m=Bm(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)+(_(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[43232]|0;j=i+1|0;c[43232]=j;return e|0}l=(b|0)==1;m=0;do{n=Bm(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)+(_(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)+(_(q,a)|0);q=q+1|0}while((q|0)!=(b|0))}if((c[6509]|0)!=(n|0)?(Em(c[c[t>>2]>>2]|0,0,a),(c[o>>2]|0)>1):0){q=1;do{Em(c[(c[t>>2]|0)+(q<<2)>>2]|0,0,_(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[43232]|0;j=i+1|0;c[43232]=j;return e|0}function fk(a){a=a|0;var b=0,d=0,e=0,f=0;if((c[6509]|0)==(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{Em(c[(c[d>>2]|0)+(f<<2)>>2]|0,0,_(c[e>>2]>>3,c[a>>2]|0)|0);f=f+1|0}while((f|0)<(c[b>>2]|0));return}function gk(a){a=a|0;var b=0,d=0,e=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)Dm(b);b=a+8|0;if((c[b>>2]|0)>0){d=a+16|0;e=0;do{Dm(c[(c[d>>2]|0)+(e<<2)>>2]|0);e=e+1|0}while((e|0)<(c[b>>2]|0))}Dm(a);c[43232]=(c[43232]|0)+-1;return 0}function hk(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(((c[6509]|0)!=(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;else u=s;while(1){a[(c[(c[p>>2]|0)+(q<<2)>>2]|0)+u>>0]=o;if((u|0)<(t|0))u=u+1|0;else break a}break}case 32:break;default:break a}if((s|0)<=(t|0)){r=c[(c[p>>2]|0)+(q<<2)>>2]|0;v=s;while(1){c[r+(v<<2)>>2]=h;if((v|0)<(t|0))v=v+1|0;else break}}}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=(i|0)<(w|0)?w:i;i=c[b+40>>2]|0;w=(f|0)<(i|0)?f+1|0:i;i=((j|0)<(k|0)?j+1|0:k)-g|0;if(!((i|0)>0&(e|0)<(w|0)))return;k=b+16|0;b=e;do{Em((c[(c[k>>2]|0)+(b<<2)>>2]|0)+g|0,h,i);b=b+1|0}while((b|0)<(w|0));return}function ik(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 jk(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;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=(q+p|0)>(k|0)?k-p|0:q;q=(f+o|0)>(l|0)?l-o|0:f;f=c[b+28>>2]|0;if((h|0)<(f|0)){l=h-f|0;r=p-l|0;s=f;t=l+e|0}else{r=p;s=h;t=e}e=c[b+36>>2]|0;if((i|0)<(e|0)){h=i-e|0;u=o-h|0;v=e;w=h+q|0}else{u=o;v=i;w=q}q=(s+t|0)>(m|0)?m-s|0:t;t=(v+w|0)>(n|0)?n-v|0:w;if((q|0)<1|(t|0)<1)return;if((c[6509]|0)==(b|0)){En(a,b,r,u,s,v,q,t,1);return}switch(j|0){case 8:{Rl(a,b,r,u,s,v,q,t);return}case 32:{Sl(a,b,r,u,s,v,q,t);return}default:return}}function kk(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;if((a|0)<1|(b|0)<1){e=0;return e|0}f=Bm((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=d>>3;d=Bm(_(_(b,a)|0,i)|0)|0;j=f+12|0;c[j>>2]=d;k=f+52|0;l=f+16|0;c[l>>2]=k;if((b|0)>0?(m=_(i,a)|0,c[k>>2]=d,(b|0)!=1):0){d=1;do{c[(c[l>>2]|0)+(d<<2)>>2]=(c[j>>2]|0)+(_(m,d)|0);d=d+1|0}while((d|0)!=(b|0))}if((c[6509]|0)!=(f|0)?(c[g>>2]|0)>0:0){b=0;do{Em(c[(c[l>>2]|0)+(b<<2)>>2]|0,0,_(c[h>>2]>>3,c[f>>2]|0)|0);b=b+1|0}while((b|0)<(c[g>>2]|0))}c[43232]=(c[43232]|0)+1;e=f;return e|0}function lk(a){a=a|0;var b=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)Dm(b);Dm(a);c[43232]=(c[43232]|0)+-1;return 0}function mk(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 nk(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;j=c[d>>2]|0;k=c[a>>2]|0;if((((j|0)<=(k|0)?(l=c[e>>2]|0,m=a+4|0,(l|0)<(c[m>>2]|0)):0)?(n=b+32|0,(c[f>>2]|0)<(c[n>>2]|0)):0)?(o=b+40|0,(c[g>>2]|0)<(c[o>>2]|0)):0){if((j|0)>=(k|0))return;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;p=c[e>>2]|0;q=0}else{p=l;q=j}if((p|0)<0){c[i>>2]=(c[i>>2]|0)+p;c[g>>2]=(c[g>>2]|0)-(c[e>>2]|0);c[e>>2]=0;r=c[d>>2]|0;s=0}else{r=q;s=p}p=c[a>>2]|0;if(((c[h>>2]|0)+r|0)>(p|0)){c[h>>2]=p-r;t=c[e>>2]|0}else t=s;s=c[m>>2]|0;if(((c[i>>2]|0)+t|0)>(s|0))c[i>>2]=s-t;t=c[f>>2]|0;s=b+28|0;m=c[s>>2]|0;if((t|0)<(m|0)){r=t-m|0;c[f>>2]=r;c[h>>2]=(c[h>>2]|0)+r;c[d>>2]=(c[d>>2]|0)-(c[f>>2]|0);d=c[s>>2]|0;c[f>>2]=d;u=d}else u=t;t=c[g>>2]|0;d=b+36|0;b=c[d>>2]|0;if((t|0)<(b|0)){s=t-b|0;c[g>>2]=s;c[i>>2]=(c[i>>2]|0)+s;c[e>>2]=(c[e>>2]|0)-(c[g>>2]|0);e=c[d>>2]|0;c[g>>2]=e;v=c[f>>2]|0;w=e}else{v=u;w=t}t=c[n>>2]|0;if(((c[h>>2]|0)+v|0)>(t|0)){c[h>>2]=t-v;x=c[g>>2]|0}else x=w;w=c[o>>2]|0;if(((c[i>>2]|0)+x|0)<=(w|0))return;c[i>>2]=w-x;return}c[i>>2]=0;return}function ok(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;if((b|0)==0|(c[6509]|0)==(b|0))return;h=(e|0)<(d|0);i=h?d:e;j=h?e:d;if((c[b+36>>2]|0)>(f|0))return;if((c[b+40>>2]|0)<=(f|0))return;d=c[b+28>>2]|0;e=(j|0)<(d|0)?d:j;j=c[b+32>>2]|0;d=(i|0)<(j|0)?i:j+-1|0;switch(c[b+8>>2]|0){case 8:{if((e|0)>(d|0))return;j=g&255;i=b+16|0;h=e;while(1){a[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+h>>0]=j;if((h|0)<(d|0))h=h+1|0;else break}return}case 32:{if((e|0)>(d|0))return;h=c[(c[b+16>>2]|0)+(f<<2)>>2]|0;f=e;while(1){c[h+(f<<2)>>2]=g;if((f|0)<(d|0))f=f+1|0;else break}return}default:return}}function pk(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|(c[6509]|0)==(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|(c[6509]|0)==(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|(c[6509]|0)==(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:{if((m|0)>(n|0))break c;j=c[(c[b+16>>2]|0)+(e<<2)>>2]|0;k=m;while(1){c[j+(k<<2)>>2]=h;if((k|0)<(n|0))k=k+1|0;else break}break}default:break c}}while(0);if(i|(c[6509]|0)==(b|0))return;i=(f|0)<(d|0);e=i?d:f;k=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=(k|0)<(d|0)?d:k;k=c[b+32>>2]|0;d=(e|0)<(k|0)?e:k+-1|0;switch(c[b+8>>2]|0){case 8:{if((f|0)>(d|0))return;k=h&255;e=b+16|0;i=f;while(1){a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+i>>0]=k;if((i|0)<(d|0))i=i+1|0;else break}return}case 32:{if((f|0)>(d|0))return;i=c[(c[b+16>>2]|0)+(g<<2)>>2]|0;g=f;while(1){c[i+(g<<2)>>2]=h;if((g|0)<(d|0))g=g+1|0;else break}return}default:return}}function qk(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 rk(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;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)){Ql(b,d,0,0,e,f,g,h);return}else{jk(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=((n|0)<0?m:0)+((n|0)/2|0)|0;m=c[d+36>>2]|0;if((m|0)>(f|0)){p=m-f|0;q=m;r=h-p|0;s=o+(_(p,n)|0)|0}else{q=f;r=h;s=o}o=(l|0)/2|0;h=(l|0)<0?j+o|0:s;s=c[d+28>>2]|0;if((s|0)>(e|0)){j=s-e|0;t=s;u=g-j|0;v=(_(j,l)|0)+o|0}else{t=e;u=g;v=o}o=(c[d+32>>2]|0)-t|0;g=(u|0)<(o|0)?u:o;o=(c[d+40>>2]|0)-q|0;u=(r|0)<(o|0)?r:o;switch(k|0){case 32:{k=u+q|0;if((u|0)<=0)return;o=c[b+16>>2]|0;r=c[d+16>>2]|0;e=(g|0)>0;if(!(i&1)){j=h;s=q;while(1){f=c[o+(j>>16<<2)>>2]|0;if(e){p=(c[r+(s<<2)>>2]|0)+(t<<2)|0;m=v;w=0;while(1){c[p>>2]=c[f+(m>>16<<2)>>2];w=w+1|0;if((w|0)>=(g|0))break;else{p=p+4|0;m=m+l|0}}}s=s+1|0;if((s|0)>=(k|0))break;else j=j+n|0}return}else{x=h;y=q}while(1){j=c[o+(x>>16<<2)>>2]|0;a:do if(e){s=(c[r+(y<<2)>>2]|0)+(t<<2)|0;m=v;p=0;while(1){w=c[j+(m>>16<<2)>>2]|0;f=c[s>>2]|0;z=w>>>24;switch(z|0){case 0:{A=f&16777215;break}case 255:{A=w&16777215;break}default:{B=z^255;A=((((_(f>>>16&255,B)|0)+(_(w>>>16&255,z)|0)|0)>>>0)/255|0)<<16|((((_(f&255,B)|0)+(_(w&255,z)|0)|0)>>>0)/255|0)|((((_(f>>>8&255,B)|0)+(_(w>>>8&255,z)|0)|0)>>>0)/255|0)<<8}}c[s>>2]=f&-16777216|A;p=p+1|0;if((p|0)>=(g|0))break a;else{s=s+4|0;m=m+l|0}}}while(0);y=y+1|0;if((y|0)>=(k|0))break;else x=x+n|0}return}case 8:{x=u+q|0;if((u|0)<=0)return;u=b+16|0;b=d+16|0;d=(g|0)>0;if(!(i&1)){i=h;k=q;while(1){y=c[(c[u>>2]|0)+(i>>16<<2)>>2]|0;if(d){A=(c[(c[b>>2]|0)+(k<<2)>>2]|0)+t|0;r=v;e=0;while(1){a[A>>0]=a[y+(r>>16)>>0]|0;e=e+1|0;if((e|0)>=(g|0))break;else{A=A+1|0;r=r+l|0}}}k=k+1|0;if((k|0)>=(x|0))break;else i=i+n|0}return}if(d){C=h;D=q}else{h=q;do h=h+1|0;while((h|0)<(x|0));return}while(1){h=c[(c[u>>2]|0)+(C>>16<<2)>>2]|0;q=(c[(c[b>>2]|0)+(D<<2)>>2]|0)+t|0;d=v;i=0;while(1){k=a[h+(d>>16)>>0]|0;if(k<<24>>24)a[q>>0]=k;i=i+1|0;if((i|0)>=(g|0))break;else{q=q+1|0;d=d+l|0}}D=D+1|0;if((D|0)>=(x|0))break;else C=C+n|0}return}default:return}}function sk(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&255,c)|0)+(_(a&255,e)|0)|0)/255|0|((((_(b>>>8&255,c)|0)+(_(a>>>8&255,e)|0)|0)/255|0)<<8|(((_(b>>>16&255,c)|0)+(_(a>>>16&255,e)|0)|0)/255|0)<<16);return d|0}}return 0}function tk(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 uk(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,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;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=f;o=e;p=g;while(1){if((p|0)==(o|0)){q=m;r=n;s=p;t=14;break}u=c[i>>2]|0;v=(u|0)>(m|0)&1;w=c[j>>2]|0;x=(w|0)>(o|0)?v|2:v;v=c[k>>2]|0;y=(v|0)>(m|0)?x:x|4;x=c[l>>2]|0;z=(x|0)>(o|0)?y:y|8;y=(u|0)>(n|0)&1;A=(w|0)>(p|0)?y|2:y;y=(v|0)>(n|0)?A:A|4;A=(x|0)>(p|0)?y:y|8;if(!(z|A)){B=u;C=m;D=n;E=o;F=p;t=25;break}y=(z&1|0)!=0;if(!((A&1|0)==0|y^1)){t=51;break}G=(z&2|0)!=0;if(!((A&2|0)==0|G^1)){t=51;break}H=(z&4|0)!=0;if(!((A&4|0)==0|H^1)){t=51;break}I=(z&8|0)!=0;if(!((A&8|0)==0|I^1)){t=51;break}if(!y)if(H){H=v+-1|0;y=(m-H<<16|0)/(m-n|0)|0;A=65536-y|0;z=(_(A,m)|0)+(_(y,n)|0)>>16;J=(_(A,o)|0)+(_(y,p)|0)>>16;K=(z|0)<(v|0)?z:H;L=J}else{K=m;L=o}else{J=(u-m<<16|0)/(n-m|0)|0;H=65536-J|0;z=(_(H,m)|0)+(_(J,n)|0)>>16;v=(_(H,o)|0)+(_(J,p)|0)>>16;K=(z|0)<(u|0)?u:z;L=v}if(!G)if(I){if((L|0)==(p|0)){t=51;break}I=x+-1|0;G=(L-I<<16|0)/(L-p|0)|0;v=65536-G|0;z=(_(v,K)|0)+(_(G,n)|0)>>16;u=(_(v,L)|0)+(_(G,p)|0)>>16;M=z;N=(u|0)<(x|0)?u:I}else{M=K;N=L}else{if((L|0)==(p|0)){t=51;break}I=(w-L<<16|0)/(p-L|0)|0;u=65536-I|0;x=(_(u,K)|0)+(_(I,n)|0)>>16;z=(_(u,L)|0)+(_(I,p)|0)>>16;M=x;N=(z|0)<(w|0)?w:z}if((M|0)==(n|0)){O=n;P=p;Q=N;break a}else{z=p;w=n;n=M;p=N;o=z;m=w}}if((t|0)==14){if((b|0)==0|(c[6509]|0)==(b|0))return;m=(r|0)<(q|0);o=m?q:r;p=m?r:q;if((c[j>>2]|0)>(s|0))return;if((c[l>>2]|0)<=(s|0))return;m=c[i>>2]|0;n=(p|0)<(m|0)?m:p;p=c[k>>2]|0;m=(o|0)<(p|0)?o:p+-1|0;switch(c[b+8>>2]|0){case 8:{if((n|0)>(m|0))return;p=h&255;o=b+16|0;w=n;while(1){a[(c[(c[o>>2]|0)+(s<<2)>>2]|0)+w>>0]=p;if((w|0)<(m|0))w=w+1|0;else break}return}case 32:{if((n|0)>(m|0))return;w=c[(c[b+16>>2]|0)+(s<<2)>>2]|0;p=n;while(1){c[w+(p<<2)>>2]=h;if((p|0)<(m|0))p=p+1|0;else break}return}default:return}}else if((t|0)==25){p=D-C|0;m=F-E|0;w=(p|0)<0?0-p|0:p;n=(m|0)<0?0-m|0:m;o=(w|0)>(n|0)?w:n;n=(o|0)==0?1:o;o=(p<<16|0)/(n|0)|0;p=(m<<16|0)/(n|0)|0;if((n|0)<=-1)return;m=b+8|0;w=h&255;z=b+16|0;x=B;I=n;n=C<<16|32768;u=E<<16|32768;while(1){G=n>>16;v=u>>16;b:do if((((x|0)<=(G|0)?(c[j>>2]|0)<=(v|0):0)?(c[k>>2]|0)>(G|0):0)?(c[l>>2]|0)>(v|0):0)switch(c[m>>2]|0){case 8:{a[(c[(c[z>>2]|0)+(v<<2)>>2]|0)+G>>0]=w;break b;break}case 32:{c[(c[(c[z>>2]|0)+(v<<2)>>2]|0)+(G<<2)>>2]=h;break b;break}default:break b}while(0);if((I|0)<=0)break;x=c[i>>2]|0;I=I+-1|0;n=n+o|0;u=u+p|0}return}else if((t|0)==51)return}else{O=f;P=e;Q=g}while(0);if((b|0)==0|(c[6509]|0)==(b|0))return;g=(Q|0)<(P|0);e=g?P:Q;f=g?Q:P;if((c[b+28>>2]|0)>(O|0))return;if((c[b+32>>2]|0)<=(O|0))return;P=c[b+36>>2]|0;Q=(f|0)<(P|0)?P:f;f=c[b+40>>2]|0;P=(e|0)<(f|0)?e:f+-1|0;switch(c[b+8>>2]|0){case 8:{if((Q|0)>(P|0))return;f=h&255;e=b+16|0;g=Q;while(1){a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+O>>0]=f;if((g|0)<(P|0))g=g+1|0;else break}return}case 32:{if((Q|0)>(P|0))return;g=c[b+16>>2]|0;b=Q;while(1){c[(c[g+(b<<2)>>2]|0)+(O<<2)>>2]=h;if((b|0)<(P|0))b=b+1|0;else break}return}default:return}}function vk(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,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;if((b|0)==0|(d|0)==0|(c[6509]|0)==(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)if((m|0)>(e|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;v=(t+r|0)>(m|0)?m-r|0:t;t=(w+u|0)>(n|0)?n-u|0:w;w=c[d+28>>2]|0;if((q|0)<(w|0)){n=q-w|0;x=w;y=r-n|0;z=n+v|0}else{x=q;y=r;z=v}v=c[d+36>>2]|0;if((s|0)<(v|0)){r=s-v|0;A=v;B=u-r|0;C=r+t|0}else{A=s;B=u;C=t}D=A;E=x;F=B;G=y;H=(C+A|0)>(p|0)?p-A|0:C;I=(z+x|0)>(o|0)?o-x|0:z}else{D=h;E=g;F=f;G=e;H=j;I=i}else{D=h;E=g;F=f;G=e;H=0;I=i}i=(l&1|0)!=0;if(i){l=m-G|0;e=l-I|0;if((((e|0)<=(m|0)?(f=c[b+4>>2]|0,(F|0)<(f|0)):0)?(g=c[d+32>>2]|0,(E|0)<(g|0)):0)?(h=c[d+40>>2]|0,(D|0)<(h|0)):0)if((e|0)<(m|0)){j=(e|0)<0;z=j?0:e;x=E-(j?e:0)|0;o=(F|0)<0;C=o?0:F;A=D-(o?F:0)|0;p=H+(o?F:0)|0;o=(G|0)<0?m-z|0:j?l:I;l=(p+C|0)>(f|0)?f-C|0:p;p=c[d+28>>2]|0;if((x|0)<(p|0)){f=x-p|0;J=p;K=z-f|0;L=f+o|0}else{J=x;K=z;L=o}o=c[d+36>>2]|0;if((A|0)<(o|0)){z=A-o|0;M=o;N=C-z|0;O=z+l|0}else{M=A;N=C;O=l}P=(L+J|0)>(g|0)?g-J|0:L;Q=M;R=J;S=N;T=K;U=(O+M|0)>(h|0)?h-M|0:O}else{P=I;Q=D;R=E;S=F;T=e;U=H}else{P=I;Q=D;R=E;S=F;T=e;U=0}}else{P=I;Q=D;R=E;S=F;T=G;U=H}if((P|0)<0)return;H=(U|0)>0;if((c[d+8>>2]|0)==8){if(!H)return;G=b+16|0;F=d+16|0;E=P+-1|0;D=(P|0)==0;I=k&255;if(i){e=0;do{if(!D){O=(c[(c[F>>2]|0)+(e+Q<<2)>>2]|0)+R+E|0;M=(c[(c[G>>2]|0)+(e+S<<2)>>2]|0)+T|0;h=P;while(1){if(a[M>>0]|0)a[O>>0]=I;h=h+-1|0;if(!h)break;else{O=O+-1|0;M=M+1|0}}}e=e+1|0}while((e|0)!=(U|0));return}if(D){D=0;do D=D+1|0;while((D|0)!=(U|0));return}else V=0;do{D=(c[(c[F>>2]|0)+(V+Q<<2)>>2]|0)+R|0;e=(c[(c[G>>2]|0)+(V+S<<2)>>2]|0)+T|0;E=P;while(1){if(a[e>>0]|0)a[D>>0]=I;E=E+-1|0;if(!E)break;else{D=D+1|0;e=e+1|0}}V=V+1|0}while((V|0)!=(U|0));return}if(!H)return;H=b+16|0;b=d+16|0;d=(P<<2)+-4|0;V=(P|0)==0;if(i){i=c[H>>2]|0;I=c[b>>2]|0;G=0;do{if(!V){F=(c[I+(G+Q<<2)>>2]|0)+(R<<2)+(d<<2)|0;e=(c[i+(G+S<<2)>>2]|0)+T|0;D=P;while(1){if(a[e>>0]|0)c[F>>2]=k;D=D+-1|0;if(!D)break;else{F=F+-4|0;e=e+1|0}}}G=G+1|0}while((G|0)!=(U|0));return}if(V){V=0;do V=V+1|0;while((V|0)!=(U|0));return}V=c[H>>2]|0;H=c[b>>2]|0;b=0;do{G=(c[H+(b+Q<<2)>>2]|0)+(R<<2)|0;i=(c[V+(b+S<<2)>>2]|0)+T|0;d=P;while(1){if(a[i>>0]|0)c[G>>2]=k;d=d+-1|0;if(!d)break;else{G=G+4|0;i=i+1|0}}b=b+1|0}while((b|0)!=(U|0));return}function wk(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=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)){Ql(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=i;p=g;q=0;while(1){if((p|0)>0){r=c[(c[m>>2]|0)+(q<<2)>>2]|0;s=c[(c[n>>2]|0)+(q<<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;v=c[b>>2]|0}while((t|0)<(v|0));w=v;x=w;y=c[h>>2]|0}else{x=p;y=o}q=q+1|0;if((q|0)>=(y|0)){z=y;A=x;break}else{o=y;p=x}}B=A;C=c[j>>2]|0;D=z}else{B=g;C=k;D=i}if((C|0)!=32)return;if(!((c[l>>2]|0)==8&(D|0)>0))return;D=b+28|0;C=e+28|0;i=e+36|0;k=e+32|0;g=e+40|0;z=e+16|0;e=b+36|0;A=b+32|0;x=b+40|0;p=b+16|0;y=B;B=0;while(1){if((y|0)>0){o=0;while(1){a:do if((((c[D>>2]|0)<=(o|0)?(c[e>>2]|0)<=(B|0):0)?(c[A>>2]|0)>(o|0):0)?(c[x>>2]|0)>(B|0):0)switch(c[j>>2]|0){case 8:{E=d[(c[(c[p>>2]|0)+(B<<2)>>2]|0)+o>>0]|0;break a;break}case 32:{E=c[(c[(c[p>>2]|0)+(B<<2)>>2]|0)+(o<<2)>>2]|0;break a;break}default:{E=0;break a}}else E=0;while(0);q=E>>>16&255;w=E>>>8&255;n=E&255;m=65536;t=-1;s=0;while(1){r=q-(d[f+(s*3|0)>>0]|0)|0;v=_(r,r)|0;r=w-(d[f+(s*3|0)+1>>0]|0)|0;u=(_(r,r)|0)+v|0;v=n-(d[f+(s*3|0)+2>>0]|0)|0;r=u+(_(v,v)|0)|0;if(r>>>0<192){F=s;break}v=(t|0)==-1|(r|0)<(m|0);u=v?s:t;s=s+1|0;if((s|0)>=256){F=u;break}else{m=v?r:m;t=u}}b:do if((((c[C>>2]|0)<=(o|0)?(c[i>>2]|0)<=(B|0):0)?(c[k>>2]|0)>(o|0):0)?(c[g>>2]|0)>(B|0):0)switch(c[l>>2]|0){case 8:{a[(c[(c[z>>2]|0)+(B<<2)>>2]|0)+o>>0]=F;break b;break}case 32:{c[(c[(c[z>>2]|0)+(B<<2)>>2]|0)+(o<<2)>>2]=F;break b;break}default:break b}while(0);o=o+1|0;t=c[b>>2]|0;if((o|0)>=(t|0)){G=t;break}}}else G=y;B=B+1|0;if((B|0)>=(c[h>>2]|0))break;else y=G}return}function xk(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]=Cm(c[a>>2]|0,e)|0;f=a+4|0;c[f>>2]=Cm(c[f>>2]|0,e)|0;g=a+8|0;c[g>>2]=Cm(c[g>>2]|0,e)|0;h=a+12|0;i=Cm(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 yk(b){b=b|0;var d=0;d=Bm(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;xk(d,b);a[d+32>>0]=0;c[43232]=(c[43232]|0)+1;return d|0}function zk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Bm(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;xk(e,b);a[e+32>>0]=0;c[43232]=(c[43232]|0)+1;f=Bm(_(d,b)|0)|0;c[c[e>>2]>>2]=f;if((b|0)>1)g=1;else{h=e+24|0;c[h>>2]=1;i=e+28|0;c[i>>2]=d;return e|0}do{f=c[e>>2]|0;c[f+(g<<2)>>2]=(c[f>>2]|0)+(_(g,d)|0);g=g+1|0}while((g|0)!=(b|0));h=e+24|0;c[h>>2]=1;i=e+28|0;c[i>>2]=d;return e|0}function Ak(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)){e=c[(c[d>>2]|0)+(b<<2)>>2]|0;if((e|0)>99){f=c[43871]|0;if(!f)break;Cb[f&15](c[(c[a>>2]|0)+(b<<2)>>2]|0,e);break}do switch(e|0){case 2:{Dm(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 3:{Bk(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 4:{lk(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 5:{dk(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 6:{tl(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 7:{wl(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 8:{Jl(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 9:{Xm(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 10:{gk(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 12:{cl(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 11:{Ul(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 Bk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;if(!(c[a+24>>2]|0)){b=a+16|0;d=c[b>>2]|0;if((d|0)>0){e=a+8|0;f=d;g=0;while(1){Ak(a,c[(c[e>>2]|0)+(f+-1<<2)>>2]|0);g=g+1|0;h=c[b>>2]|0;if(!((g|0)<(d|0)&(h|0)!=0)){i=h;break}else f=h}}else i=d;d=a+20|0;if((c[d>>2]|0)>0){f=c[a+4>>2]|0;g=c[a+8>>2]|0;e=c[a+12>>2]|0;h=0;do{c[f+(h<<2)>>2]=0;c[g+(h<<2)>>2]=h;c[e+(h<<2)>>2]=h;h=h+1|0}while((h|0)<(c[d>>2]|0));j=c[b>>2]|0}else j=i;if(j|0)Yj(42694)}else Dm(c[c[a>>2]>>2]|0);Dm(c[a>>2]|0);Dm(c[a+4>>2]|0);Dm(c[a+8>>2]|0);Dm(c[a+12>>2]|0);Dm(a);c[43232]=(c[43232]|0)+-1;return}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;i=i+16|0;f=e+8|0;g=e;if(!b){c[g>>2]=42730;Zp(1184836,43538,g)|0;Yj(1184836)}if(!d){c[f>>2]=42753;Zp(1184836,43538,f)|0;Yj(1184836)}f=(c[a+24>>2]|0)==0;g=a+16|0;h=c[g>>2]|0;j=h+1|0;c[g>>2]=j;k=c[a+20>>2]|0;l=(k|0)<=(h|0);if(f)if(l){xk(a,k+8+((k|0)/2|0)|0);m=c[g>>2]|0}else m=j;else if(l){c[g>>2]=h;n=-1;o=a+4|0;p=c[a>>2]|0;q=p+(n<<2)|0;c[q>>2]=d;r=c[o>>2]|0;s=r+(n<<2)|0;c[s>>2]=b;i=e;return n|0}else m=j;j=c[(c[a+8>>2]|0)+(m+-1<<2)>>2]|0;m=a+4|0;c[(c[m>>2]|0)+(j<<2)>>2]=1;n=j;o=m;p=c[a>>2]|0;q=p+(n<<2)|0;c[q>>2]=d;r=c[o>>2]|0;s=r+(n<<2)|0;c[s>>2]=b;i=e;return n|0}function Dk(){var a=0;if(!(c[6509]|0))return;a=c[43872]|0;if(a|0)lk(a)|0;a=kk(33,33,32)|0;c[43872]=a;fk(a);hk(c[43872]|0,15,8,17,24,-1);hk(c[43872]|0,8,15,24,17,-1);hk(c[43872]|0,16,9,16,23,-6250336);hk(c[43872]|0,9,16,23,16,-6250336);hk(c[43872]|0,11,11,21,21,0);hk(c[43872]|0,16,11,16,21,-1);hk(c[43872]|0,11,16,21,16,-1);hk(c[43872]|0,14,14,18,18,0);return}function Ek(){Dk();c[43873]=c[43872];c[170]=16;c[171]=16;return}function Fk(){return (c[43874]|0)!=0|0}function Gk(){var a=0,b=0,d=0,e=0;a=c[43874]|0;if(!a){do{$j()|0;b=c[43874]|0}while(!(b|0));d=b}else d=a;a=c[43875]|0;b=d+-1|0;if((d|0)>1)e=0;else{c[43874]=b;return a|0}do{d=e;e=e+1|0;c[175500+(d<<2)>>2]=c[175500+(e<<2)>>2]}while((e|0)<(b|0));c[43874]=b;return a|0}function Hk(){var b=0,c=0,d=0;b=0;while(1){if((b|0)!=301&(a[1193540+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 Ik(b){b=b|0;var c=0,d=0;switch(b|0){case -6:{c=a[1193844]|0;if(c<<24>>24){d=c<<24>>24==3|(a[1194356]|0)==0?3:1;return d|0}c=a[1193843]|0;if(!(c<<24>>24)){d=0;return d|0}d=c<<24>>24==3|(a[1194355]|0)==0?3:1;return d|0}case -2:{c=a[1193851]|0;if(c<<24>>24){d=c<<24>>24==3|(a[1194363]|0)==0?3:1;return d|0}c=a[1193852]|0;if(!(c<<24>>24)){d=0;return d|0}d=c<<24>>24==3|(a[1194364]|0)==0?3:1;return d|0}case -3:{c=a[1193850]|0;if(c<<24>>24){d=c<<24>>24==3|(a[1194362]|0)==0?3:1;return d|0}c=a[1193849]|0;if(!(c<<24>>24)){d=0;return d|0}d=c<<24>>24==3|(a[1194361]|0)==0?3:1;return d|0}case -4:{c=a[1193848]|0;if(c<<24>>24){d=c<<24>>24==3|(a[1194360]|0)==0?3:1;return d|0}c=a[1193847]|0;if(!(c<<24>>24)){d=0;return d|0}d=c<<24>>24==3|(a[1194359]|0)==0?3:1;return d|0}case -5:{c=a[1193846]|0;if(c<<24>>24){d=c<<24>>24==3|(a[1194358]|0)==0?3:1;return d|0}c=a[1193845]|0;if(c<<24>>24){d=c<<24>>24==3|(a[1194357]|0)==0?3:1;return d|0}c=a[1193850]|0;if(c<<24>>24){d=c<<24>>24==3|(a[1194362]|0)==0?3:1;return d|0}c=a[1193849]|0;if(!(c<<24>>24)){d=0;return d|0}d=c<<24>>24==3|(a[1194361]|0)==0?3:1;return d|0}default:{c=a[1193540+b>>0]|0;if(!(c<<24>>24)){d=0;return d|0}else return (c<<24>>24==3|(a[1194052+b>>0]|0)==0?3:1)|0}}return 0}function Jk(){rq(1193540,0,512)|0;rq(1194052,0,512)|0;return}function Kk(){return}function Lk(){c[43907]=zk(1024,72)|0;return}function Mk(){Bk(c[43907]|0);return}function Nk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=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;a=i;i=i+16|0;b=a+8|0;d=a+4|0;e=a;f=c[43907]|0;if(!f){i=a;return}if(!(c[f+16>>2]|0)){i=a;return}On(b,d,e);f=c[b>>2]|0;g=f-(c[43908]|0)|0;h=(c[d>>2]|0)-(c[43909]|0)|0;j=c[43907]|0;k=c[j+16>>2]|0;a:do if((k|0)>0){l=j;m=f;n=(_(h,h)|0)+(_(g,g)|0)|0;o=0;p=k;while(1){q=p+-1|0;r=c[(c[l>>2]|0)+(c[(c[l+8>>2]|0)+(q<<2)>>2]<<2)>>2]|0;s=c[r+4>>2]|0;if((((m|0)>=(s|0)?(m|0)<((c[r+12>>2]|0)+s|0):0)?(s=c[d>>2]|0,t=c[r+8>>2]|0,(s|0)>=(t|0)):0)?!(o|0?1:(s|0)>=((c[r+16>>2]|0)+t|0)):0){t=r+20|0;u=c[t>>2]|0;v=u&2;if(!(c[e>>2]|0)){if(!v)zb[c[r+28>>2]&0](r,m,s,0,3)}else if(!(c[43910]|v)){c[t>>2]=u|2;u=r+28|0;zb[c[u>>2]&0](r,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,4);v=Fn()|0;if((n|0)<400&(v-(c[43911]|0)|0)<400)zb[c[u>>2]&0](r,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,11);c[43911]=Fn()|0;c[43908]=c[b>>2];c[43909]=c[d>>2]}u=c[t>>2]|0;if(!(u&1)){c[t>>2]=u|1;zb[c[r+28>>2]&0](r,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,1)}u=c[43820]|0;v=c[43821]|0;if(!(v|u)){w=t;x=1}else{zb[c[r+28>>2]&0](r,u,v,c[e>>2]|0,16);c[43820]=0;c[43821]=0;w=t;x=1}}else{t=r+20|0;v=c[t>>2]|0;if(!(v&1)){w=t;x=o}else{c[t>>2]=v&-2;zb[c[r+28>>2]&0](r,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,2);w=t;x=o}}t=c[w>>2]|0;v=c[e>>2]|0;if((t&2|0)==0|(v|0)!=0){y=t;z=v;A=n}else{c[w>>2]=t&-3;t=r+28|0;zb[c[t>>2]&0](r,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,6);v=Fn()|0;if((n|0)<400&(v-(c[43911]|0)|0)<400)zb[c[t>>2]&0](r,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,12);v=(c[b>>2]|0)-(c[43912]|0)|0;u=_(v,v)|0;v=(c[d>>2]|0)-(c[43913]|0)|0;s=(_(v,v)|0)+u|0;u=Fn()|0;if((u-(c[43914]|0)|0)<400&s>>>0<400)zb[c[t>>2]&0](r,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,15);c[43914]=Fn()|0;c[43912]=c[b>>2];c[43913]=c[d>>2];y=c[w>>2]|0;z=c[e>>2]|0;A=s}if((y&2|0)!=0&(z|0)!=0)zb[c[r+28>>2]&0](r,c[b>>2]|0,c[d>>2]|0,z,5);if((p|0)<=1)break a;l=c[43907]|0;m=c[b>>2]|0;n=A;o=x;p=q}}while(0);c[43910]=c[e>>2];i=a;return}function Ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;if(!(c[43907]|0)){i=d;return}On(e,f,g);h=c[43907]|0;if((c[h+16>>2]|0)<=0){i=d;return}if(!b){j=h;k=0;do{l=c[(c[j>>2]|0)+(c[(c[j+8>>2]|0)+(k<<2)>>2]<<2)>>2]|0;zb[c[l+28>>2]&0](l,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);k=k+1|0;j=c[43907]|0}while((k|0)<(c[j+16>>2]|0));i=d;return}else{m=h;n=0}while(1){h=c[(c[m>>2]|0)+(c[(c[m+8>>2]|0)+(n<<2)>>2]<<2)>>2]|0;if((c[h>>2]|0)==(b|0)){zb[c[h+28>>2]&0](h,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);o=c[43907]|0}else o=m;n=n+1|0;if((n|0)>=(c[o+16>>2]|0))break;else m=o}i=d;return}function Pk(){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;c[43915]=yk(512)|0;c[43916]=yk(512)|0;b=0;do{e=b|0?32:8;f=0;do{g=kk(5,5,e)|0;h=kk(6,5,e)|0;Ck(c[43915]|0,4,g)|0;Ck(c[43916]|0,4,h)|0;f=f+1|0}while((f|0)!=32);f=(b|0)==0;h=0;do{g=kk(5,5,e)|0;i=kk(6,5,e)|0;fk(g);j=h*5|0;k=g+16|0;l=i+16|0;if(f){m=0;do{n=d[42771+(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[42771+(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)}Ck(c[43915]|0,4,g)|0;Ck(c[43916]|0,4,i)|0;h=h+1|0}while((h|0)!=96);p=0;do{h=kk(5,5,e)|0;f=kk(6,5,e)|0;Ck(c[43915]|0,4,h)|0;Ck(c[43916]|0,4,f)|0;p=p+1|0}while((p|0)!=128);b=b+1|0}while((b|0)!=2);return}function Qk(){Bk(c[43915]|0);Bk(c[43916]|0);return}function Rk(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,Y=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=c[172]|0;q=0}else{r=c[172]|0;s=d;t=o;o=0;while(1){u=t<<24>>24;if((u|0)<(m|0))v=o;else v=o+r+(c[c[(c[e>>2]|0)+(u-m<<2)>>2]>>2]|0)|0;s=s+1|0;t=a[s>>0]|0;if(!(t<<24>>24)){p=r;q=v;break}else o=v}}v=q-p|0;p=c[b+32>>2]|0;if((v|0)>(p-f|0)){q=b+28|0;c[q>>2]=(c[q>>2]|0)+15;w=p-v|0;x=1}else{w=f;x=0}}else{w=f;x=0}if(!(h&2))y=w;else{v=a[d>>0]|0;if(!(v<<24>>24)){z=c[172]|0;A=0}else{p=c[172]|0;q=d;o=v;v=0;while(1){r=o<<24>>24;if((r|0)<(m|0))B=v;else B=v+p+(c[c[(c[e>>2]|0)+(r-m<<2)>>2]>>2]|0)|0;q=q+1|0;o=a[q>>0]|0;if(!(o<<24>>24)){z=p;A=B;break}else v=B}}y=w-((A-z|0)/2|0)|0}if(!(h&4))C=y;else{z=a[d>>0]|0;if(!(z<<24>>24)){D=c[172]|0;E=0}else{A=c[172]|0;w=d;B=z;z=0;while(1){v=B<<24>>24;if((v|0)<(m|0))F=z;else F=z+A+(c[c[(c[e>>2]|0)+(v-m<<2)>>2]>>2]|0)|0;w=w+1|0;B=a[w>>0]|0;if(!(B<<24>>24)){D=A;E=F;break}else z=F}}C=D+y-E|0}a:do if(!(h&1)){E=c[e>>2]|0;y=c[b+8>>2]|0;D=h;F=0;while(1){if((c[(c[E+(F<<2)>>2]|0)+8>>2]|0)==(y|0)){G=D;H=0;I=F;break a}z=F+n|0;A=(z|0)<(k|0);B=A&1^1|D;w=A?z:F;if(!(B&1)){D=B;F=w}else{G=B;H=1;I=w;break}}}else{G=h;H=1;I=0}while(0);h=a[d>>0]|0;b:do if(h<<24>>24){k=l?256:128;n=I-m|0;F=(G&16|0)==0;D=b+32|0;if(H){y=g;E=C;w=h;B=0;z=d;while(1){A=w&255;if(A>>>0>=m>>>0&A>>>0<k>>>0){v=c[(c[e>>2]|0)+(n+A<<2)>>2]|0;A=v+4|0;vk(v,b,0,0,E,y,c[v>>2]|0,c[A>>2]|0,i,0);p=c[v>>2]|0;v=c[172]|0;o=c[A>>2]|0;J=p+E+v|0;K=a[z>>0]|0;L=v+p|0;M=(B|0)>(o|0)?B:o}else{J=E;K=w;L=0;M=B}switch(K<<24>>24){case 127:{N=y;break b;break}case 10:{O=37;break}default:if(!F?(J|0)>((c[D>>2]|0)-L|0):0)O=37;else{P=y;Q=J;R=M}}if((O|0)==37){O=0;P=M+y+(c[172]|0)|0;Q=f;R=0}z=z+1|0;w=a[z>>0]|0;if(!(w<<24>>24)){N=P;break b}else{y=P;E=Q;B=R}}}else{B=g;E=C;y=h;w=0;z=d;while(1){o=y&255;if(o>>>0>=m>>>0&o>>>0<k>>>0){p=c[(c[e>>2]|0)+(n+o<<2)>>2]|0;o=p+4|0;jk(p,b,0,0,E,B,c[p>>2]|0,c[o>>2]|0);v=c[p>>2]|0;p=c[172]|0;A=c[o>>2]|0;S=v+E+p|0;T=a[z>>0]|0;U=p+v|0;V=(w|0)>(A|0)?w:A}else{S=E;T=y;U=0;V=w}switch(T<<24>>24){case 127:{N=B;break b;break}case 10:{O=45;break}default:if(!F?(S|0)>((c[D>>2]|0)-U|0):0)O=45;else{W=B;X=S;Y=V}}if((O|0)==45){O=0;W=V+B+(c[172]|0)|0;X=f;Y=0}z=z+1|0;y=a[z>>0]|0;if(!(y<<24>>24)){N=W;break b}else{B=W;E=X;w=Y}}}}else N=g;while(0);if(!x){j=N;return j|0}else{j=b+28|0;x=(c[j>>2]|0)+-15|0;c[j>>2]=x;Rk(b,43533,c[43915]|0,x,N,0,0)|0;return N|0}return 0}function Sk(a){a=a|0;c[43918]=a;return}function Tk(a){a=a|0;c[43919]=a;return}function Uk(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=Vp(a,b,d,c[e+8>>2]|0)|0;return f|0}case 1:{g=_(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?0:i;xq(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 Vk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+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;Qp(f,4,1,c[d+8>>2]|0)|0;i=e;return}case 1:{f=d+20|0;g=c[f>>2]|0;if(!(c[d+88>>2]|0)){h=(c[d+12>>2]|0)+g|0;a[h>>0]=b;a[h+1>>0]=b>>8;a[h+2>>0]=b>>16;a[h+3>>0]=b>>24}else{Gm(d,g+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;i=e;return}default:{i=e;return}}}function Wk(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=Qp(a,b,d,c[e+8>>2]|0)|0;return g|0}case 1:{f=_(d,b)|0;b=e+20|0;d=c[b>>2]|0;do if(c[e+88>>2]|0){Gm(e,d+f|0)|0;h=(c[e+12>>2]|0)+(c[b>>2]|0)|0;if(!a){Em(h,0,f);break}else{xq(h|0,a|0,f|0)|0;break}}else xq((c[e+12>>2]|0)+d|0,a|0,f|0)|0;while(0);a=(c[b>>2]|0)+f|0;c[b>>2]=a;b=e+16|0;e=c[b>>2]|0;c[b>>2]=(e|0)>(a|0)?e:a;g=f;return g|0}default:{g=0;return g|0}}return 0}function Xk(b,d){b=b|0;d=d|0;var e=0,f=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;Ap(b<<24>>24,c[d+8>>2]|0)|0;return}case 1:{e=d+20|0;f=c[e>>2]|0;if(!(c[d+88>>2]|0))a[(c[d+12>>2]|0)+f>>0]=b;else{Gm(d,f+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 Yk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=i;i=i+16|0;d=b;e=a+8|0;f=a+16|0;g=a+20|0;h=a+12|0;j=0;while(1){k=j|32;if((k|0)==1279870563|((j|0)==1314476867|((j|0)==1145983811|((j|0)==1229865283|((j|0)==1146047811|((j|0)==1413565763|((j|0)==1279348803|((k|0)==1347245667|(k|0)==1347240547))))))))break;k=c[a>>2]|0;switch(k|0){case 0:{l=Hp(c[e>>2]|0)|0;m=6;break}case 1:{l=(c[g>>2]|0)>=(c[f>>2]|0)&1;m=6;break}default:n=k}if((m|0)==6){m=0;if(l|0)break;n=c[a>>2]|0}c[d>>2]=0;switch(n|0){case 0:{Vp(d,4,1,c[e>>2]|0)|0;break}case 1:{k=c[g>>2]|0;o=(c[f>>2]|0)-k|0;p=(o|0)>4?4:o;o=(p|0)<0?0:p;xq(d|0,(c[h>>2]|0)+k|0,o|0)|0;c[g>>2]=o+k;break}default:{}}j=c[d>>2]|0}d=c[a>>2]|0;switch(d|0){case 0:{q=Hp(c[e>>2]|0)|0;m=15;break}case 1:{q=(c[g>>2]|0)>=(c[f>>2]|0)&1;m=15;break}default:r=d}do if((m|0)==15)if(!q){r=c[a>>2]|0;break}else{i=b;return}while(0);switch(r|0){case 0:{_p(c[e>>2]|0,-4,1)|0;i=b;return}case 1:{c[g>>2]=(c[g>>2]|0)+-4;i=b;return}default:{i=b;return}}}function Zk(a){a=a|0;var b=0;switch(c[a>>2]|0){case 0:{b=Hp(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 _k(d,e){d=d|0;e=e|0;var f=0,h=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,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,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;d=i;i=i+16|0;f=d;if(!e){h=0;i=d;return h|0}j=yk(0)|0;a:do if(j|0){k=e+8|0;l=j+32|0;m=e+20|0;n=e+16|0;o=e+12|0;p=0;b:while(1){q=c[e>>2]|0;switch(q|0){case 0:{r=Hp(c[k>>2]|0)|0;s=7;break}case 1:{r=(c[m>>2]|0)>=(c[n>>2]|0)&1;s=7;break}default:t=q}if((s|0)==7){s=0;if(r|0)break;t=c[e>>2]|0}c[f>>2]=0;switch(t|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;break}case 1:{q=c[m>>2]|0;u=(c[n>>2]|0)-q|0;v=(u|0)>4?4:u;u=(v|0)<0?0:v;xq(f|0,(c[o>>2]|0)+q|0,u|0)|0;c[m>>2]=u+q;break}default:{s=10;break b}}q=c[f>>2]|0;if(!q)break;c[f>>2]=0;switch(c[e>>2]|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;break}case 1:{u=c[m>>2]|0;v=(c[n>>2]|0)-u|0;w=(v|0)>4?4:v;v=(w|0)<0?0:w;xq(f|0,(c[o>>2]|0)+u|0,v|0)|0;c[m>>2]=v+u;break}default:{}}u=c[f>>2]|0;v=(p|0)==0;if(v&(q|0)!=1146048579)break a;c:do if(v)if((q|0)==1146048579){c[f>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;x=c[e>>2]|0;s=27;break}case 1:{y=c[m>>2]|0;z=(c[n>>2]|0)-y|0;A=(z|0)>4?4:z;z=(A|0)<0?0:A;xq(f|0,(c[o>>2]|0)+y|0,z|0)|0;c[m>>2]=z+y;c[173]=c[f>>2];s=29;break}default:{x=w;s=27}}d:do if((s|0)==27){s=0;c[173]=c[f>>2];switch(x|0){case 1:{s=29;break d;break}case 0:break;default:break d}Vp(l,1,32,c[k>>2]|0)|0}while(0);if((s|0)==29){s=0;w=c[m>>2]|0;y=(c[n>>2]|0)-w|0;z=(y|0)>32?32:y;y=(z|0)<0?0:z;xq(l|0,(c[o>>2]|0)+w|0,y|0)|0;c[m>>2]=y+(c[m>>2]|0)}c[f>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;B=c[e>>2]|0;s=33;break}case 1:{w=c[m>>2]|0;z=(c[n>>2]|0)-w|0;A=(z|0)>4?4:z;z=(A|0)<0?0:A;xq(f|0,(c[o>>2]|0)+w|0,z|0)|0;c[m>>2]=z+w;break}default:{B=y;s=33}}e:do if((s|0)==33){s=0;switch(B|0){case 1:{break e;break}case 0:break;default:break c}_p(c[k>>2]|0,28,1)|0;break c}while(0);c[m>>2]=(c[m>>2]|0)+28}else s=36;else if((q|0)<1347374659)switch(q|0){case 1146048579:{s=20;break b;break}default:{s=36;break c}}else switch(q|0){case 1347374659:{s=20;break b;break}default:{s=36;break c}}while(0);f:do if((s|0)==36){s=0;v=q|32;g:do if((v|0)<1347245667){switch(v|0){case 1347240547:break;default:break g}y=(q|0)==1347240547;c[f>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;C=c[e>>2]|0;s=40;break}case 1:{z=c[m>>2]|0;A=(c[n>>2]|0)-z|0;D=(A|0)>4?4:A;A=(D|0)<0?0:D;xq(f|0,(c[o>>2]|0)+z|0,A|0)|0;c[m>>2]=A+z;z=c[f>>2]|0;c[f>>2]=0;E=z;s=42;break}default:{C=w;s=40}}h:do if((s|0)==40){s=0;w=c[f>>2]|0;c[f>>2]=0;switch(C|0){case 1:{E=w;s=42;break h;break}case 0:{Vp(f,4,1,c[k>>2]|0)|0;F=c[e>>2]|0;break}default:F=C}z=c[f>>2]|0;c[f>>2]=0;switch(F|0){case 1:{G=z;H=w;s=45;break h;break}case 0:break;default:{I=w;J=z;break h}}Vp(f,4,1,c[k>>2]|0)|0;I=w;J=z}while(0);if((s|0)==42){s=0;z=c[m>>2]|0;w=(c[n>>2]|0)-z|0;A=(w|0)>4?4:w;w=(A|0)<0?0:A;xq(f|0,(c[o>>2]|0)+z|0,w|0)|0;c[m>>2]=w+z;z=c[f>>2]|0;c[f>>2]=0;G=z;H=E;s=45}if((s|0)==45){s=0;z=c[m>>2]|0;w=(c[n>>2]|0)-z|0;A=(w|0)>4?4:w;w=(A|0)<0?0:A;xq(f|0,(c[o>>2]|0)+z|0,w|0)|0;c[m>>2]=w+z;I=H;J=G}z=c[f>>2]|0;w=kk(I,J,z)|0;c[f>>2]=0;A=c[e>>2]|0;switch(A|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;K=c[e>>2]|0;s=49;break}case 1:{D=c[m>>2]|0;L=(c[n>>2]|0)-D|0;M=(L|0)>4?4:L;L=(M|0)<0?0:M;xq(f|0,(c[o>>2]|0)+D|0,L|0)|0;c[m>>2]=L+D;c[w+20>>2]=c[f>>2];c[f>>2]=0;s=51;break}default:{K=A;s=49}}i:do if((s|0)==49){s=0;c[w+20>>2]=c[f>>2];c[f>>2]=0;switch(K|0){case 1:{s=51;break i;break}case 0:break;default:break i}Vp(f,4,1,c[k>>2]|0)|0}while(0);if((s|0)==51){s=0;A=c[m>>2]|0;D=(c[n>>2]|0)-A|0;L=(D|0)>4?4:D;D=(L|0)<0?0:L;xq(f|0,(c[o>>2]|0)+A|0,D|0)|0;c[m>>2]=D+A}A=c[w+12>>2]|0;D=_(_(J,I)|0,z>>3)|0;j:do if(y)$k(A,D,e)|0;else switch(c[e>>2]|0){case 0:{Vp(A,1,D,c[k>>2]|0)|0;break j;break}case 1:{L=c[m>>2]|0;M=(c[n>>2]|0)-L|0;N=(D|0)<(M|0)?D:M;M=(N|0)<0?0:N;xq(A|0,(c[o>>2]|0)+L|0,M|0)|0;c[m>>2]=M+(c[m>>2]|0);break j;break}default:break j}while(0);Ck(j,4,w)|0;break f}else{switch(v|0){case 1347245667:break;default:break g}A=(q|0)==1347245667;c[f>>2]=0;D=c[e>>2]|0;switch(D|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;O=c[e>>2]|0;s=61;break}case 1:{y=c[m>>2]|0;z=(c[n>>2]|0)-y|0;M=(z|0)>4?4:z;z=(M|0)<0?0:M;xq(f|0,(c[o>>2]|0)+y|0,z|0)|0;c[m>>2]=z+y;y=c[f>>2]|0;c[f>>2]=0;P=y;s=63;break}default:{O=D;s=61}}k:do if((s|0)==61){s=0;D=c[f>>2]|0;c[f>>2]=0;switch(O|0){case 1:{P=D;s=63;break k;break}case 0:{Vp(f,4,1,c[k>>2]|0)|0;Q=c[e>>2]|0;break}default:Q=O}y=c[f>>2]|0;c[f>>2]=0;switch(Q|0){case 1:{R=y;S=D;s=66;break k;break}case 0:break;default:{T=D;U=y;break k}}Vp(f,4,1,c[k>>2]|0)|0;T=D;U=y}while(0);if((s|0)==63){s=0;w=c[m>>2]|0;y=(c[n>>2]|0)-w|0;D=(y|0)>4?4:y;y=(D|0)<0?0:D;xq(f|0,(c[o>>2]|0)+w|0,y|0)|0;c[m>>2]=y+w;w=c[f>>2]|0;c[f>>2]=0;R=w;S=P;s=66}if((s|0)==66){s=0;w=c[m>>2]|0;y=(c[n>>2]|0)-w|0;D=(y|0)>4?4:y;y=(D|0)<0?0:D;xq(f|0,(c[o>>2]|0)+w|0,y|0)|0;c[m>>2]=y+w;T=S;U=R}w=c[f>>2]|0;y=ek(T,U,w)|0;c[f>>2]=0;D=c[e>>2]|0;switch(D|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;V=c[e>>2]|0;s=70;break}case 1:{z=c[m>>2]|0;M=(c[n>>2]|0)-z|0;L=(M|0)>4?4:M;M=(L|0)<0?0:L;xq(f|0,(c[o>>2]|0)+z|0,M|0)|0;c[m>>2]=M+z;c[y+20>>2]=c[f>>2];c[f>>2]=0;s=72;break}default:{V=D;s=70}}l:do if((s|0)==70){s=0;c[y+20>>2]=c[f>>2];c[f>>2]=0;switch(V|0){case 1:{s=72;break l;break}case 0:break;default:break l}Vp(f,4,1,c[k>>2]|0)|0}while(0);if((s|0)==72){s=0;D=c[m>>2]|0;z=(c[n>>2]|0)-D|0;M=(z|0)>4?4:z;z=(M|0)<0?0:M;xq(f|0,(c[o>>2]|0)+D|0,z|0)|0;c[m>>2]=z+D}D=c[y+12>>2]|0;z=_(_(U,T)|0,w)|0;m:do if(A)$k(D,z,e)|0;else switch(c[e>>2]|0){case 0:{Vp(D,1,z,c[k>>2]|0)|0;break m;break}case 1:{M=c[m>>2]|0;L=(c[n>>2]|0)-M|0;N=(z|0)<(L|0)?z:L;L=(N|0)<0?0:N;xq(D|0,(c[o>>2]|0)+M|0,L|0)|0;c[m>>2]=L+(c[m>>2]|0);break m;break}default:break m}while(0);Ck(j,10,y)|0;break f}while(0);n:do if((q|0)<1279348803){if((q|0)<1146047811){switch(q|0){case 1145983811:break;default:break n}c[f>>2]=0;D=c[e>>2]|0;switch(D|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;W=c[e>>2]|0;s=297;break}case 1:{z=c[m>>2]|0;A=(c[n>>2]|0)-z|0;w=(A|0)>4?4:A;A=(w|0)<0?0:w;xq(f|0,(c[o>>2]|0)+z|0,A|0)|0;c[m>>2]=A+z;z=c[f>>2]|0;c[f>>2]=0;X=z;s=299;break}default:{W=D;s=297}}o:do if((s|0)==297){s=0;D=c[f>>2]|0;c[f>>2]=0;switch(W|0){case 1:{X=D;s=299;break o;break}case 0:break;default:{Y=D;break o}}Vp(f,4,1,c[k>>2]|0)|0;Y=D}while(0);if((s|0)==299){s=0;y=c[m>>2]|0;D=(c[n>>2]|0)-y|0;z=(D|0)>4?4:D;D=(z|0)<0?0:z;xq(f|0,(c[o>>2]|0)+y|0,D|0)|0;c[m>>2]=D+y;Y=X}y=Wm(Y,c[f>>2]|0)|0;if(!y){D=u+-8|0;switch(c[e>>2]|0){case 0:{_p(c[k>>2]|0,D,1)|0;break f;break}case 1:{c[m>>2]=(c[m>>2]|0)+D;break f;break}default:break f}}c[f>>2]=0;D=c[e>>2]|0;switch(D|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;Z=c[e>>2]|0;s=304;break}case 1:{z=c[m>>2]|0;A=(c[n>>2]|0)-z|0;w=(A|0)>4?4:A;A=(w|0)<0?0:w;xq(f|0,(c[o>>2]|0)+z|0,A|0)|0;c[m>>2]=A+z;z=y+8|0;c[z>>2]=c[f>>2];c[f>>2]=0;$=z;s=306;break}default:{Z=D;s=304}}p:do if((s|0)==304){s=0;D=y+8|0;c[D>>2]=c[f>>2];c[f>>2]=0;switch(Z|0){case 1:{$=D;s=306;break p;break}case 0:{Vp(f,4,1,c[k>>2]|0)|0;aa=c[e>>2]|0;break}default:aa=Z}c[y+12>>2]=c[f>>2];c[f>>2]=0;switch(aa|0){case 1:{ba=D;s=309;break p;break}case 0:{Vp(f,4,1,c[k>>2]|0)|0;ca=c[e>>2]|0;break}default:ca=aa}c[f>>2]=0;switch(ca|0){case 1:{da=D;s=312;break p;break}case 0:break;default:{ea=D;break p}}Vp(f,4,1,c[k>>2]|0)|0;ea=D}while(0);if((s|0)==306){s=0;D=c[m>>2]|0;z=(c[n>>2]|0)-D|0;A=(z|0)>4?4:z;z=(A|0)<0?0:A;xq(f|0,(c[o>>2]|0)+D|0,z|0)|0;c[m>>2]=z+D;c[y+12>>2]=c[f>>2];c[f>>2]=0;ba=$;s=309}if((s|0)==309){s=0;D=c[m>>2]|0;z=(c[n>>2]|0)-D|0;A=(z|0)>4?4:z;z=(A|0)<0?0:A;xq(f|0,(c[o>>2]|0)+D|0,z|0)|0;c[m>>2]=z+D;c[f>>2]=0;da=ba;s=312}if((s|0)==312){s=0;D=c[m>>2]|0;z=(c[n>>2]|0)-D|0;A=(z|0)>4?4:z;z=(A|0)<0?0:A;xq(f|0,(c[o>>2]|0)+D|0,z|0)|0;c[m>>2]=z+D;ea=da}D=gn(y)|0;z=(_(c[y+4>>2]|0,c[y>>2]|0)|0)/8|0;switch(c[e>>2]|0){case 0:{Vp(D,z,1,c[k>>2]|0)|0;break}case 1:{A=c[m>>2]|0;w=(c[n>>2]|0)-A|0;L=(z|0)<(w|0)?z:w;w=(L|0)<0?0:L;xq(D|0,(c[o>>2]|0)+A|0,w|0)|0;c[m>>2]=w+(c[m>>2]|0);break}default:{}}jn(y,c[ea>>2]|0);Ck(j,9,y)|0;break f}if((q|0)<1229865283){switch(q|0){case 1146047811:break;default:break n}w=sl()|0;c[f>>2]=0;A=c[e>>2]|0;switch(A|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;fa=c[e>>2]|0;s=87;break}case 1:{D=c[m>>2]|0;L=(c[n>>2]|0)-D|0;z=(L|0)>4?4:L;L=(z|0)<0?0:z;xq(f|0,(c[o>>2]|0)+D|0,L|0)|0;c[m>>2]=L+D;D=w+4|0;c[D>>2]=c[f>>2];c[f>>2]=0;ga=D;s=89;break}default:{fa=A;s=87}}q:do if((s|0)==87){s=0;A=w+4|0;c[A>>2]=c[f>>2];c[f>>2]=0;switch(fa|0){case 1:{ga=A;s=89;break q;break}case 0:{Vp(f,4,1,c[k>>2]|0)|0;ha=c[e>>2]|0;break}default:ha=fa}D=w+16|0;c[D>>2]=c[f>>2];c[f>>2]=0;switch(ha|0){case 1:{ia=D;ja=A;s=92;break q;break}case 0:break;default:{ka=A;la=D;break q}}Vp(f,4,1,c[k>>2]|0)|0;ka=A;la=D}while(0);if((s|0)==89){s=0;y=c[m>>2]|0;D=(c[n>>2]|0)-y|0;A=(D|0)>4?4:D;D=(A|0)<0?0:A;xq(f|0,(c[o>>2]|0)+y|0,D|0)|0;c[m>>2]=D+y;y=w+16|0;c[y>>2]=c[f>>2];c[f>>2]=0;ia=y;ja=ga;s=92}if((s|0)==92){s=0;y=c[m>>2]|0;D=(c[n>>2]|0)-y|0;A=(D|0)>4?4:D;D=(A|0)<0?0:A;xq(f|0,(c[o>>2]|0)+y|0,D|0)|0;c[m>>2]=D+y;ka=ja;la=ia}y=w+24|0;c[y>>2]=c[f>>2];pl(w,c[ka>>2]|0);ql(w,c[la>>2]|0);r:do if((c[ka>>2]|0)>0){D=0;while(1){g[f>>2]=0.0;A=c[e>>2]|0;switch(A|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;ma=c[e>>2]|0;s=100;break}case 1:{L=c[m>>2]|0;z=(c[n>>2]|0)-L|0;M=(z|0)>4?4:z;z=(M|0)<0?0:M;xq(f|0,(c[o>>2]|0)+L|0,z|0)|0;c[m>>2]=z+L;L=c[w>>2]|0;c[L+(D*12|0)>>2]=c[f>>2];g[f>>2]=0.0;na=L;s=397;break}default:{ma=A;s=100}}s:do if((s|0)==100){s=0;A=c[w>>2]|0;c[A+(D*12|0)>>2]=c[f>>2];g[f>>2]=0.0;switch(ma|0){case 1:{na=A;s=397;break s;break}case 0:{Vp(f,4,1,c[k>>2]|0)|0;oa=c[w>>2]|0;pa=c[e>>2]|0;break}default:{oa=A;pa=ma}}c[oa+(D*12|0)+4>>2]=c[f>>2];g[f>>2]=0.0;switch(pa|0){case 1:{qa=oa;s=400;break s;break}case 0:break;default:{ra=oa;break s}}Vp(f,4,1,c[k>>2]|0)|0;ra=c[w>>2]|0}while(0);if((s|0)==397){s=0;A=c[m>>2]|0;L=(c[n>>2]|0)-A|0;z=(L|0)>4?4:L;L=(z|0)<0?0:z;xq(f|0,(c[o>>2]|0)+A|0,L|0)|0;c[m>>2]=L+A;c[na+(D*12|0)+4>>2]=c[f>>2];g[f>>2]=0.0;qa=na;s=400}if((s|0)==400){s=0;A=c[m>>2]|0;L=(c[n>>2]|0)-A|0;z=(L|0)>4?4:L;L=(z|0)<0?0:z;xq(f|0,(c[o>>2]|0)+A|0,L|0)|0;c[m>>2]=L+A;ra=qa}c[ra+(D*12|0)+8>>2]=c[f>>2];D=D+1|0;if((D|0)>=(c[ka>>2]|0))break r}}while(0);t:do if((c[la>>2]|0)>0){D=w+12|0;A=0;while(1){L=c[D>>2]|0;z=L+(A*80|0)|0;b[f>>1]=0;switch(c[e>>2]|0){case 0:{Vp(f,2,1,c[k>>2]|0)|0;break}case 1:{M=c[m>>2]|0;N=(c[n>>2]|0)-M|0;sa=(N|0)>2?2:N;N=(sa|0)<0?0:sa;xq(f|0,(c[o>>2]|0)+M|0,N|0)|0;c[m>>2]=N+M;break}default:{}}M=b[f>>1]|0;N=L+(A*80|0)+56|0;b[N>>1]=M;rl(z,M<<16>>16);b[f>>1]=0;M=c[e>>2]|0;switch(M|0){case 0:{Vp(f,2,1,c[k>>2]|0)|0;ta=c[e>>2]|0;s=107;break}case 1:{z=c[m>>2]|0;sa=(c[n>>2]|0)-z|0;ua=(sa|0)>2?2:sa;sa=(ua|0)<0?0:ua;xq(f|0,(c[o>>2]|0)+z|0,sa|0)|0;c[m>>2]=sa+z;b[L+(A*80|0)+72>>1]=b[f>>1]|0;b[f>>1]=0;s=109;break}default:{ta=M;s=107}}u:do if((s|0)==107){s=0;b[L+(A*80|0)+72>>1]=b[f>>1]|0;b[f>>1]=0;switch(ta|0){case 1:{s=109;break u;break}case 0:break;default:break u}Vp(f,2,1,c[k>>2]|0)|0}while(0);if((s|0)==109){s=0;M=c[m>>2]|0;z=(c[n>>2]|0)-M|0;sa=(z|0)>2?2:z;z=(sa|0)<0?0:sa;xq(f|0,(c[o>>2]|0)+M|0,z|0)|0;c[m>>2]=z+M}b[L+(A*80|0)+74>>1]=b[f>>1]|0;v:do if((b[N>>1]|0)>0){M=L+(A*80|0)+48|0;z=L+(A*80|0)+52|0;sa=0;while(1){c[f>>2]=0;switch(c[e>>2]|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;break}case 1:{ua=c[m>>2]|0;va=(c[n>>2]|0)-ua|0;wa=(va|0)>4?4:va;va=(wa|0)<0?0:wa;xq(f|0,(c[o>>2]|0)+ua|0,va|0)|0;c[m>>2]=va+ua;break}default:{}}c[(c[M>>2]|0)+(sa<<2)>>2]=c[f>>2];g[f>>2]=0.0;ua=c[e>>2]|0;switch(ua|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;xa=c[e>>2]|0;s=118;break}case 1:{va=c[m>>2]|0;wa=(c[n>>2]|0)-va|0;ya=(wa|0)>4?4:wa;wa=(ya|0)<0?0:ya;xq(f|0,(c[o>>2]|0)+va|0,wa|0)|0;c[m>>2]=wa+va;va=c[z>>2]|0;c[va+(sa<<3)>>2]=c[f>>2];g[f>>2]=0.0;za=va;s=120;break}default:{xa=ua;s=118}}w:do if((s|0)==118){s=0;ua=c[z>>2]|0;c[ua+(sa<<3)>>2]=c[f>>2];g[f>>2]=0.0;switch(xa|0){case 1:{za=ua;s=120;break w;break}case 0:break;default:{Aa=ua;break w}}Vp(f,4,1,c[k>>2]|0)|0;Aa=c[z>>2]|0}while(0);if((s|0)==120){s=0;ua=c[m>>2]|0;va=(c[n>>2]|0)-ua|0;wa=(va|0)>4?4:va;va=(wa|0)<0?0:wa;xq(f|0,(c[o>>2]|0)+ua|0,va|0)|0;c[m>>2]=va+ua;Aa=za}c[Aa+(sa<<3)+4>>2]=c[f>>2];sa=sa+1|0;if((sa|0)>=(b[N>>1]|0))break v}}while(0);A=A+1|0;if((A|0)>=(c[la>>2]|0))break t}}while(0);x:do if((c[y>>2]|0)>0?(c[ka>>2]|0)>0:0){A=w+28|0;D=0;while(1){b[f>>1]=0;N=c[e>>2]|0;switch(N|0){case 0:{Vp(f,2,1,c[k>>2]|0)|0;Ba=c[e>>2]|0;s=129;break}case 1:{L=c[m>>2]|0;sa=(c[n>>2]|0)-L|0;z=(sa|0)>2?2:sa;sa=(z|0)<0?0:z;xq(f|0,(c[o>>2]|0)+L|0,sa|0)|0;c[m>>2]=sa+L;L=b[f>>1]|0;sa=c[A>>2]|0;b[sa+(D<<5)>>1]=L;b[f>>1]=0;Ca=sa;Da=L;s=131;break}default:{Ba=N;s=129}}y:do if((s|0)==129){s=0;N=b[f>>1]|0;L=c[A>>2]|0;b[L+(D<<5)>>1]=N;b[f>>1]=0;switch(Ba|0){case 1:{Ca=L;Da=N;s=131;break y;break}case 0:break;default:{Ea=L;Fa=N;Ga=Ba;break y}}Vp(f,2,1,c[k>>2]|0)|0;N=c[A>>2]|0;Ea=N;Fa=b[N+(D<<5)>>1]|0;Ga=c[e>>2]|0}while(0);if((s|0)==131){s=0;N=c[m>>2]|0;L=(c[n>>2]|0)-N|0;sa=(L|0)>2?2:L;L=(sa|0)<0?0:sa;xq(f|0,(c[o>>2]|0)+N|0,L|0)|0;c[m>>2]=L+N;Ea=Ca;Fa=Da;Ga=1}N=b[f>>1]|0;L=Fa&65535;sa=(c[y>>2]|0)+-1|0;z=(L|0)<(sa|0)?L:sa;b[Ea+(D<<5)>>1]=(z|0)<0?0:z;z=N&65535;N=(z|0)<(sa|0)?z:sa;b[Ea+(D<<5)+2>>1]=(N|0)<0?0:N;g[f>>2]=0.0;switch(Ga|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;Ha=c[A>>2]|0;break}case 1:{N=c[m>>2]|0;sa=(c[n>>2]|0)-N|0;z=(sa|0)>4?4:sa;sa=(z|0)<0?0:z;xq(f|0,(c[o>>2]|0)+N|0,sa|0)|0;c[m>>2]=sa+N;Ha=Ea;break}default:Ha=Ea}c[Ha+(D<<5)+4>>2]=c[f>>2];D=D+1|0;if((D|0)>=(c[ka>>2]|0))break x}}while(0);yl(w);Ck(j,6,w)|0;break f}switch(q|0){case 1229865283:break;default:break n}y=Il()|0;z:do if(c[173]|0){c[f>>2]=0;D=c[e>>2]|0;switch(D|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;Ia=c[f>>2]|0;Ja=c[e>>2]|0;s=146;break}case 1:{A=c[n>>2]|0;N=c[m>>2]|0;sa=A-N|0;z=(sa|0)>4?4:sa;sa=(z|0)<0?0:z;z=c[o>>2]|0;xq(f|0,z+N|0,sa|0)|0;L=sa+N|0;c[m>>2]=L;N=c[f>>2]|0;c[f>>2]=0;Ka=N;La=L;Ma=A;Na=z;s=149;break}default:{Ia=0;Ja=D;s=146}}A:do if((s|0)==146){s=0;c[f>>2]=0;switch(Ja|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;Oa=c[f>>2]|0;Pa=c[e>>2]|0;break}case 1:{Ka=Ia;La=c[m>>2]|0;Ma=c[n>>2]|0;Na=c[o>>2]|0;s=149;break A;break}default:{Oa=0;Pa=Ja}}c[y+8>>2]=Oa;c[f>>2]=0;switch(Pa|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;Qa=c[f>>2]|0;Ra=c[e>>2]|0;break}case 1:{Sa=Ia;Ta=c[m>>2]|0;Ua=c[n>>2]|0;Va=c[o>>2]|0;s=153;break A;break}default:{Qa=0;Ra=Pa}}c[y+12>>2]=Qa;c[f>>2]=0;switch(Ra|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;Wa=c[e>>2]|0;break}case 1:{Xa=Ia;Ya=c[m>>2]|0;Za=c[n>>2]|0;_a=c[o>>2]|0;s=158;break A;break}default:Wa=Ra}c[f>>2]=0;switch(Wa|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;$a=c[e>>2]|0;break}case 1:{ab=c[m>>2]|0;bb=c[n>>2]|0;cb=c[o>>2]|0;db=Ia;s=278;break A;break}default:$a=Wa}c[f>>2]=0;switch($a|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;eb=c[e>>2]|0;break}case 1:{fb=c[m>>2]|0;gb=c[n>>2]|0;hb=c[o>>2]|0;ib=Ia;s=282;break A;break}default:eb=$a}c[f>>2]=0;switch(eb|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;jb=c[e>>2]|0;break}case 1:{kb=c[m>>2]|0;lb=c[n>>2]|0;mb=c[o>>2]|0;nb=Ia;s=286;break A;break}default:jb=eb}c[f>>2]=0;switch(jb|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;ob=Ia;break A;break}case 1:{pb=c[m>>2]|0;qb=c[n>>2]|0;rb=c[o>>2]|0;sb=Ia;s=290;break A;break}default:{ob=Ia;break A}}}while(0);if((s|0)==149){s=0;D=Ma-La|0;z=(D|0)>4?4:D;D=(z|0)<0?0:z;xq(f|0,Na+La|0,D|0)|0;z=D+La|0;c[m>>2]=z;c[y+8>>2]=c[f>>2];c[f>>2]=0;Sa=Ka;Ta=z;Ua=Ma;Va=Na;s=153}if((s|0)==153){s=0;z=Ua-Ta|0;D=(z|0)>4?4:z;z=(D|0)<0?0:D;xq(f|0,Va+Ta|0,z|0)|0;D=z+Ta|0;c[m>>2]=D;c[y+12>>2]=c[f>>2];c[f>>2]=0;Xa=Sa;Ya=D;Za=Ua;_a=Va;s=158}if((s|0)==158){s=0;D=Za-Ya|0;z=(D|0)>4?4:D;D=(z|0)<0?0:z;xq(f|0,_a+Ya|0,D|0)|0;z=D+Ya|0;c[m>>2]=z;c[f>>2]=0;ab=z;bb=Za;cb=_a;db=Xa;s=278}if((s|0)==278){s=0;z=bb-ab|0;D=(z|0)>4?4:z;z=(D|0)<0?0:D;xq(f|0,cb+ab|0,z|0)|0;D=z+ab|0;c[m>>2]=D;c[f>>2]=0;fb=D;gb=bb;hb=cb;ib=db;s=282}if((s|0)==282){s=0;D=gb-fb|0;z=(D|0)>4?4:D;D=(z|0)<0?0:z;xq(f|0,hb+fb|0,D|0)|0;z=D+fb|0;c[m>>2]=z;c[f>>2]=0;kb=z;lb=gb;mb=hb;nb=ib;s=286}if((s|0)==286){s=0;z=lb-kb|0;D=(z|0)>4?4:z;z=(D|0)<0?0:D;xq(f|0,mb+kb|0,z|0)|0;D=z+kb|0;c[m>>2]=D;c[f>>2]=0;pb=D;qb=lb;rb=mb;sb=nb;s=290}if((s|0)==290){s=0;D=qb-pb|0;z=(D|0)>4?4:D;D=(z|0)<0?0:z;xq(f|0,rb+pb|0,D|0)|0;c[m>>2]=D+pb;ob=sb}if((ob|0)>0){D=y+4|0;z=0;while(1){Ll(y)|0;A=c[D>>2]|0;L=A+(z*112|0)|0;N=c[e>>2]|0;switch(N|0){case 0:{Vp(L,1,32,c[k>>2]|0)|0;s=164;break}case 1:{sa=c[m>>2]|0;M=(c[n>>2]|0)-sa|0;ua=(M|0)>32?32:M;M=(ua|0)<0?0:ua;xq(L|0,(c[o>>2]|0)+sa|0,M|0)|0;c[m>>2]=M+(c[m>>2]|0);s=164;break}default:tb=N}if((s|0)==164){s=0;tb=c[e>>2]|0}N=A+(z*112|0)+32|0;switch(tb|0){case 0:{Vp(N,1,32,c[k>>2]|0)|0;break}case 1:{M=c[m>>2]|0;sa=(c[n>>2]|0)-M|0;L=(sa|0)>32?32:sa;sa=(L|0)<0?0:L;xq(N|0,(c[o>>2]|0)+M|0,sa|0)|0;c[m>>2]=sa+(c[m>>2]|0);break}default:{}}c[f>>2]=0;sa=c[e>>2]|0;switch(sa|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;ub=c[f>>2]|0;vb=c[e>>2]|0;s=171;break}case 1:{M=c[n>>2]|0;N=c[m>>2]|0;L=M-N|0;ua=(L|0)>4?4:L;L=(ua|0)<0?0:ua;ua=c[o>>2]|0;xq(f|0,ua+N|0,L|0)|0;va=L+N|0;c[m>>2]=va;c[A+(z*112|0)+68>>2]=c[f>>2];c[f>>2]=0;wb=va;xb=M;zb=ua;s=174;break}default:{ub=0;vb=sa;s=171}}B:do if((s|0)==171){s=0;c[A+(z*112|0)+68>>2]=ub;c[f>>2]=0;switch(vb|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;Ab=c[f>>2]|0;Bb=c[e>>2]|0;break}case 1:{wb=c[m>>2]|0;xb=c[n>>2]|0;zb=c[o>>2]|0;s=174;break B;break}default:{Ab=0;Bb=vb}}c[A+(z*112|0)+72>>2]=Ab;c[f>>2]=0;switch(Bb|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;Cb=c[f>>2]|0;Db=c[e>>2]|0;break}case 1:{Eb=c[m>>2]|0;Fb=c[n>>2]|0;Gb=c[o>>2]|0;s=178;break B;break}default:{Cb=0;Db=Bb}}c[A+(z*112|0)+76>>2]=Cb;c[f>>2]=0;switch(Db|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;Hb=c[f>>2]|0;Ib=c[e>>2]|0;break}case 1:{Jb=c[m>>2]|0;Kb=c[n>>2]|0;Lb=c[o>>2]|0;s=182;break B;break}default:{Hb=0;Ib=Db}}c[A+(z*112|0)+100>>2]=Hb;c[f>>2]=0;switch(Ib|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;Mb=c[f>>2]|0;Nb=c[e>>2]|0;break}case 1:{Ob=c[m>>2]|0;Pb=c[n>>2]|0;Qb=c[o>>2]|0;s=186;break B;break}default:{Mb=0;Nb=Ib}}sa=A+(z*112|0)+104|0;c[sa>>2]=Mb;c[f>>2]=0;switch(Nb|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;Rb=c[f>>2]|0;Sb=c[e>>2]|0;break}case 1:{Tb=sa;Ub=c[m>>2]|0;Vb=c[n>>2]|0;Wb=c[o>>2]|0;s=190;break B;break}default:{Rb=0;Sb=Nb}}c[A+(z*112|0)+108>>2]=Rb;c[f>>2]=0;switch(Sb|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;Xb=c[e>>2]|0;break}case 1:{Yb=sa;Zb=c[m>>2]|0;_b=c[n>>2]|0;$b=c[o>>2]|0;s=194;break B;break}default:Xb=Sb}c[f>>2]=0;switch(Xb|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;ac=c[e>>2]|0;break}case 1:{bc=sa;cc=c[m>>2]|0;dc=c[n>>2]|0;ec=c[o>>2]|0;s=270;break B;break}default:ac=Xb}c[f>>2]=0;switch(ac|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;fc=c[e>>2]|0;break}case 1:{gc=sa;hc=c[m>>2]|0;ic=c[n>>2]|0;jc=c[o>>2]|0;s=274;break B;break}default:fc=ac}ua=c[A+(z*112|0)+80>>2]|0;c[f>>2]=0;switch(fc|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;kc=ua;lc=sa;break B;break}case 1:{mc=ua;nc=sa;oc=c[m>>2]|0;pc=c[n>>2]|0;qc=c[o>>2]|0;s=198;break B;break}default:{kc=ua;lc=sa;break B}}}while(0);if((s|0)==174){s=0;sa=xb-wb|0;ua=(sa|0)>4?4:sa;sa=(ua|0)<0?0:ua;xq(f|0,zb+wb|0,sa|0)|0;ua=sa+wb|0;c[m>>2]=ua;c[A+(z*112|0)+72>>2]=c[f>>2];c[f>>2]=0;Eb=ua;Fb=xb;Gb=zb;s=178}if((s|0)==178){s=0;ua=Fb-Eb|0;sa=(ua|0)>4?4:ua;ua=(sa|0)<0?0:sa;xq(f|0,Gb+Eb|0,ua|0)|0;sa=ua+Eb|0;c[m>>2]=sa;c[A+(z*112|0)+76>>2]=c[f>>2];c[f>>2]=0;Jb=sa;Kb=Fb;Lb=Gb;s=182}if((s|0)==182){s=0;sa=Kb-Jb|0;ua=(sa|0)>4?4:sa;sa=(ua|0)<0?0:ua;xq(f|0,Lb+Jb|0,sa|0)|0;ua=sa+Jb|0;c[m>>2]=ua;c[A+(z*112|0)+100>>2]=c[f>>2];c[f>>2]=0;Ob=ua;Pb=Kb;Qb=Lb;s=186}if((s|0)==186){s=0;ua=Pb-Ob|0;sa=(ua|0)>4?4:ua;ua=(sa|0)<0?0:sa;xq(f|0,Qb+Ob|0,ua|0)|0;sa=ua+Ob|0;c[m>>2]=sa;ua=A+(z*112|0)+104|0;c[ua>>2]=c[f>>2];c[f>>2]=0;Tb=ua;Ub=sa;Vb=Pb;Wb=Qb;s=190}if((s|0)==190){s=0;sa=Vb-Ub|0;ua=(sa|0)>4?4:sa;sa=(ua|0)<0?0:ua;xq(f|0,Wb+Ub|0,sa|0)|0;ua=sa+Ub|0;c[m>>2]=ua;c[A+(z*112|0)+108>>2]=c[f>>2];c[f>>2]=0;Yb=Tb;Zb=ua;_b=Vb;$b=Wb;s=194}if((s|0)==194){s=0;ua=_b-Zb|0;sa=(ua|0)>4?4:ua;ua=(sa|0)<0?0:sa;xq(f|0,$b+Zb|0,ua|0)|0;sa=ua+Zb|0;c[m>>2]=sa;c[f>>2]=0;bc=Yb;cc=sa;dc=_b;ec=$b;s=270}if((s|0)==270){s=0;sa=dc-cc|0;ua=(sa|0)>4?4:sa;sa=(ua|0)<0?0:ua;xq(f|0,ec+cc|0,sa|0)|0;ua=sa+cc|0;c[m>>2]=ua;c[f>>2]=0;gc=bc;hc=ua;ic=dc;jc=ec;s=274}if((s|0)==274){s=0;ua=ic-hc|0;sa=(ua|0)>4?4:ua;ua=(sa|0)<0?0:sa;xq(f|0,jc+hc|0,ua|0)|0;sa=ua+hc|0;c[m>>2]=sa;ua=c[A+(z*112|0)+80>>2]|0;c[f>>2]=0;mc=ua;nc=gc;oc=sa;pc=ic;qc=jc;s=198}if((s|0)==198){s=0;sa=pc-oc|0;ua=(sa|0)>4?4:sa;sa=(ua|0)<0?0:ua;xq(f|0,qc+oc|0,sa|0)|0;c[m>>2]=sa+oc;kc=mc;lc=nc}sa=c[f>>2]|0;c[kc>>2]=sa;Nl(kc,sa);sa=c[kc>>2]|0;C:do if(sa|0){ua=c[kc+12>>2]|0;M=c[kc+8>>2]|0;va=c[e>>2]|0;switch(va|0){case 0:{Vp(ua,M,sa,c[k>>2]|0)|0;s=203;break}case 1:{N=_(M,sa)|0;M=c[m>>2]|0;L=(c[n>>2]|0)-M|0;wa=(N|0)<(L|0)?N:L;L=(wa|0)<0?0:wa;xq(ua|0,(c[o>>2]|0)+M|0,L|0)|0;c[m>>2]=L+(c[m>>2]|0);s=203;break}default:{rc=va;sc=sa}}if((s|0)==203){s=0;rc=c[e>>2]|0;sc=c[kc>>2]|0}va=c[kc+16>>2]|0;switch(rc|0){case 0:{Vp(va,4,sc,c[k>>2]|0)|0;break}case 1:{L=sc<<2;M=c[m>>2]|0;ua=(c[n>>2]|0)-M|0;wa=(L|0)<(ua|0)?L:ua;ua=(wa|0)<0?0:wa;xq(va|0,(c[o>>2]|0)+M|0,ua|0)|0;c[m>>2]=ua+(c[m>>2]|0);break}default:{}}ua=c[kc+20>>2]|0;M=c[kc>>2]|0;switch(c[e>>2]|0){case 0:{Vp(ua,4,M,c[k>>2]|0)|0;break C;break}case 1:{va=M<<2;M=c[m>>2]|0;wa=(c[n>>2]|0)-M|0;L=(va|0)<(wa|0)?va:wa;wa=(L|0)<0?0:L;xq(ua|0,(c[o>>2]|0)+M|0,wa|0)|0;c[m>>2]=wa+(c[m>>2]|0);break C;break}default:break C}}while(0);sa=c[A+(z*112|0)+84>>2]|0;c[f>>2]=0;switch(c[e>>2]|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;break}case 1:{wa=c[m>>2]|0;M=(c[n>>2]|0)-wa|0;ua=(M|0)>4?4:M;M=(ua|0)<0?0:ua;xq(f|0,(c[o>>2]|0)+wa|0,M|0)|0;c[m>>2]=M+wa;break}default:{}}wa=c[f>>2]|0;c[sa>>2]=wa;Nl(sa,wa);wa=c[sa>>2]|0;D:do if(wa|0){M=c[sa+12>>2]|0;ua=c[sa+8>>2]|0;L=c[e>>2]|0;switch(L|0){case 0:{Vp(M,ua,wa,c[k>>2]|0)|0;s=217;break}case 1:{va=_(ua,wa)|0;ua=c[m>>2]|0;N=(c[n>>2]|0)-ua|0;ya=(va|0)<(N|0)?va:N;N=(ya|0)<0?0:ya;xq(M|0,(c[o>>2]|0)+ua|0,N|0)|0;c[m>>2]=N+(c[m>>2]|0);s=217;break}default:{tc=L;uc=wa}}if((s|0)==217){s=0;tc=c[e>>2]|0;uc=c[sa>>2]|0}L=c[sa+16>>2]|0;switch(tc|0){case 0:{Vp(L,4,uc,c[k>>2]|0)|0;break}case 1:{N=uc<<2;ua=c[m>>2]|0;M=(c[n>>2]|0)-ua|0;ya=(N|0)<(M|0)?N:M;M=(ya|0)<0?0:ya;xq(L|0,(c[o>>2]|0)+ua|0,M|0)|0;c[m>>2]=M+(c[m>>2]|0);break}default:{}}M=c[sa+20>>2]|0;ua=c[sa>>2]|0;switch(c[e>>2]|0){case 0:{Vp(M,4,ua,c[k>>2]|0)|0;break D;break}case 1:{L=ua<<2;ua=c[m>>2]|0;ya=(c[n>>2]|0)-ua|0;N=(L|0)<(ya|0)?L:ya;ya=(N|0)<0?0:N;xq(M|0,(c[o>>2]|0)+ua|0,ya|0)|0;c[m>>2]=ya+(c[m>>2]|0);break D;break}default:break D}}while(0);sa=c[A+(z*112|0)+88>>2]|0;c[f>>2]=0;switch(c[e>>2]|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;break}case 1:{wa=c[m>>2]|0;ya=(c[n>>2]|0)-wa|0;ua=(ya|0)>4?4:ya;ya=(ua|0)<0?0:ua;xq(f|0,(c[o>>2]|0)+wa|0,ya|0)|0;c[m>>2]=ya+wa;break}default:{}}wa=c[f>>2]|0;c[sa>>2]=wa;Nl(sa,wa);wa=c[sa>>2]|0;E:do if(wa|0){ya=c[sa+12>>2]|0;ua=c[sa+8>>2]|0;M=c[e>>2]|0;switch(M|0){case 0:{Vp(ya,ua,wa,c[k>>2]|0)|0;s=231;break}case 1:{N=_(ua,wa)|0;ua=c[m>>2]|0;L=(c[n>>2]|0)-ua|0;va=(N|0)<(L|0)?N:L;L=(va|0)<0?0:va;xq(ya|0,(c[o>>2]|0)+ua|0,L|0)|0;c[m>>2]=L+(c[m>>2]|0);s=231;break}default:{vc=M;wc=wa}}if((s|0)==231){s=0;vc=c[e>>2]|0;wc=c[sa>>2]|0}M=c[sa+16>>2]|0;switch(vc|0){case 0:{Vp(M,4,wc,c[k>>2]|0)|0;break}case 1:{L=wc<<2;ua=c[m>>2]|0;ya=(c[n>>2]|0)-ua|0;va=(L|0)<(ya|0)?L:ya;ya=(va|0)<0?0:va;xq(M|0,(c[o>>2]|0)+ua|0,ya|0)|0;c[m>>2]=ya+(c[m>>2]|0);break}default:{}}ya=c[sa+20>>2]|0;ua=c[sa>>2]|0;switch(c[e>>2]|0){case 0:{Vp(ya,4,ua,c[k>>2]|0)|0;break E;break}case 1:{M=ua<<2;ua=c[m>>2]|0;va=(c[n>>2]|0)-ua|0;L=(M|0)<(va|0)?M:va;va=(L|0)<0?0:L;xq(ya|0,(c[o>>2]|0)+ua|0,va|0)|0;c[m>>2]=va+(c[m>>2]|0);break E;break}default:break E}}while(0);sa=c[lc>>2]|0;F:do if(sa|0){wa=A+(z*112|0)+92|0;c[wa>>2]=Bm(sa<<2)|0;if((c[lc>>2]|0)>0)xc=0;else break;while(1){va=Ml(16)|0;c[(c[wa>>2]|0)+(xc<<2)>>2]=va;va=c[(c[wa>>2]|0)+(xc<<2)>>2]|0;c[f>>2]=0;switch(c[e>>2]|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;break}case 1:{ua=c[m>>2]|0;ya=(c[n>>2]|0)-ua|0;L=(ya|0)>4?4:ya;ya=(L|0)<0?0:L;xq(f|0,(c[o>>2]|0)+ua|0,ya|0)|0;c[m>>2]=ya+ua;break}default:{}}ua=c[f>>2]|0;c[va>>2]=ua;Nl(va,ua);ua=c[va>>2]|0;G:do if(ua|0){ya=c[va+12>>2]|0;L=c[va+8>>2]|0;M=c[e>>2]|0;switch(M|0){case 0:{Vp(ya,L,ua,c[k>>2]|0)|0;s=247;break}case 1:{N=_(L,ua)|0;L=c[m>>2]|0;yc=(c[n>>2]|0)-L|0;zc=(N|0)<(yc|0)?N:yc;yc=(zc|0)<0?0:zc;xq(ya|0,(c[o>>2]|0)+L|0,yc|0)|0;c[m>>2]=yc+(c[m>>2]|0);s=247;break}default:{Ac=M;Bc=ua}}if((s|0)==247){s=0;Ac=c[e>>2]|0;Bc=c[va>>2]|0}M=c[va+16>>2]|0;switch(Ac|0){case 0:{Vp(M,4,Bc,c[k>>2]|0)|0;break}case 1:{yc=Bc<<2;L=c[m>>2]|0;ya=(c[n>>2]|0)-L|0;zc=(yc|0)<(ya|0)?yc:ya;ya=(zc|0)<0?0:zc;xq(M|0,(c[o>>2]|0)+L|0,ya|0)|0;c[m>>2]=ya+(c[m>>2]|0);break}default:{}}ya=c[va+20>>2]|0;L=c[va>>2]|0;switch(c[e>>2]|0){case 0:{Vp(ya,4,L,c[k>>2]|0)|0;break G;break}case 1:{M=L<<2;L=c[m>>2]|0;zc=(c[n>>2]|0)-L|0;yc=(M|0)<(zc|0)?M:zc;zc=(yc|0)<0?0:yc;xq(ya|0,(c[o>>2]|0)+L|0,zc|0)|0;c[m>>2]=zc+(c[m>>2]|0);break G;break}default:break G}}while(0);xc=xc+1|0;if((xc|0)>=(c[lc>>2]|0))break F}}while(0);sa=c[A+(z*112|0)+96>>2]|0;c[f>>2]=0;switch(c[e>>2]|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;break}case 1:{wa=c[m>>2]|0;va=(c[n>>2]|0)-wa|0;ua=(va|0)>4?4:va;va=(ua|0)<0?0:ua;xq(f|0,(c[o>>2]|0)+wa|0,va|0)|0;c[m>>2]=va+wa;break}default:{}}wa=c[f>>2]|0;c[sa>>2]=wa;Nl(sa,wa);wa=c[sa>>2]|0;H:do if(wa|0){va=c[sa+12>>2]|0;ua=c[sa+8>>2]|0;zc=c[e>>2]|0;switch(zc|0){case 0:{Vp(va,ua,wa,c[k>>2]|0)|0;s=262;break}case 1:{L=_(ua,wa)|0;ua=c[m>>2]|0;ya=(c[n>>2]|0)-ua|0;yc=(L|0)<(ya|0)?L:ya;ya=(yc|0)<0?0:yc;xq(va|0,(c[o>>2]|0)+ua|0,ya|0)|0;c[m>>2]=ya+(c[m>>2]|0);s=262;break}default:{Cc=zc;Dc=wa}}if((s|0)==262){s=0;Cc=c[e>>2]|0;Dc=c[sa>>2]|0}zc=c[sa+16>>2]|0;switch(Cc|0){case 0:{Vp(zc,4,Dc,c[k>>2]|0)|0;break}case 1:{ya=Dc<<2;ua=c[m>>2]|0;va=(c[n>>2]|0)-ua|0;yc=(ya|0)<(va|0)?ya:va;va=(yc|0)<0?0:yc;xq(zc|0,(c[o>>2]|0)+ua|0,va|0)|0;c[m>>2]=va+(c[m>>2]|0);break}default:{}}va=c[sa+20>>2]|0;ua=c[sa>>2]|0;switch(c[e>>2]|0){case 0:{Vp(va,4,ua,c[k>>2]|0)|0;break H;break}case 1:{zc=ua<<2;ua=c[m>>2]|0;yc=(c[n>>2]|0)-ua|0;ya=(zc|0)<(yc|0)?zc:yc;yc=(ya|0)<0?0:ya;xq(va|0,(c[o>>2]|0)+ua|0,yc|0)|0;c[m>>2]=yc+(c[m>>2]|0);break H;break}default:break H}}while(0);z=z+1|0;if((z|0)==(ob|0))break z}}}else Yk(e);while(0);Ck(j,8,y)|0;break f}else{if((q|0)<1314476867){switch(q|0){case 1279348803:break;default:break n}w=ck()|0;switch(c[e>>2]|0){case 0:{Vp(w,1,768,c[k>>2]|0)|0;break}case 1:{z=c[m>>2]|0;D=(c[n>>2]|0)-z|0;sa=(D|0)>768?768:D;D=(sa|0)<0?0:sa;xq(w|0,(c[o>>2]|0)+z|0,D|0)|0;c[m>>2]=D+(c[m>>2]|0);break}default:{}}Ck(j,5,w)|0;break f}if((q|0)>=1413565763){switch(q|0){case 1413565763:break;default:break n}w=vl()|0;switch(c[e>>2]|0){case 0:{Vp(w,96,1,c[k>>2]|0)|0;break}case 1:{D=c[m>>2]|0;z=(c[n>>2]|0)-D|0;sa=(z|0)>96?96:z;z=(sa|0)<0?0:sa;xq(w|0,(c[o>>2]|0)+D|0,z|0)|0;c[m>>2]=z+(c[m>>2]|0);break}default:{}}Ck(j,7,w)|0;break f}switch(q|0){case 1314476867:break;default:break n}w=Tl(0)|0;Ck(j,11,w)|0;Em(w,0,11032);c[f>>2]=0;z=c[e>>2]|0;switch(z|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;Ec=c[e>>2]|0;s=323;break}case 1:{D=c[m>>2]|0;sa=(c[n>>2]|0)-D|0;wa=(sa|0)>4?4:sa;sa=(wa|0)<0?0:wa;xq(f|0,(c[o>>2]|0)+D|0,sa|0)|0;c[m>>2]=sa+D;c[w>>2]=c[f>>2];c[f>>2]=0;Fc=1;Gc=w;s=325;break}default:{Ec=z;s=323}}I:do if((s|0)==323){s=0;c[w>>2]=c[f>>2];c[f>>2]=0;switch(Ec|0){case 1:{Fc=Ec;Gc=w;s=325;break I;break}case 0:{Vp(f,4,1,c[k>>2]|0)|0;Hc=c[e>>2]|0;break}default:Hc=Ec}c[w+4>>2]=c[f>>2];c[f>>2]=0;switch(Hc|0){case 1:{Ic=Hc;Jc=w;s=328;break I;break}case 0:break;default:{Kc=Hc;Lc=0;Mc=w;break I}}Vp(f,4,1,c[k>>2]|0)|0;Nc=c[e>>2]|0;Oc=w;s=329}while(0);if((s|0)==325){s=0;y=c[m>>2]|0;z=(c[n>>2]|0)-y|0;D=(z|0)>4?4:z;z=(D|0)<0?0:D;xq(f|0,(c[o>>2]|0)+y|0,z|0)|0;c[m>>2]=z+y;c[w+4>>2]=c[f>>2];c[f>>2]=0;Ic=Fc;Jc=Gc;s=328}if((s|0)==328){s=0;y=c[m>>2]|0;z=(c[n>>2]|0)-y|0;D=(z|0)>4?4:z;z=(D|0)<0?0:D;xq(f|0,(c[o>>2]|0)+y|0,z|0)|0;c[m>>2]=z+y;Nc=Ic;Oc=Jc;s=329}if((s|0)==329){s=0;Kc=Nc;Lc=c[f>>2]|0;Mc=Oc}c[f>>2]=0;switch(Kc|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;break}case 1:{y=c[m>>2]|0;z=(c[n>>2]|0)-y|0;D=(z|0)>4?4:z;z=(D|0)<0?0:D;xq(f|0,(c[o>>2]|0)+y|0,z|0)|0;c[m>>2]=z+y;break}default:{}}if(!Lc)c[Mc>>2]=(c[Mc>>2]|0)/2|0;c[f>>2]=0;switch(c[e>>2]|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;break}case 1:{y=c[m>>2]|0;z=(c[n>>2]|0)-y|0;D=(z|0)>4?4:z;z=(D|0)<0?0:D;xq(f|0,(c[o>>2]|0)+y|0,z|0)|0;c[m>>2]=z+y;break}default:break f}y=c[f>>2]|0;if((y|0)>0)Pc=0;else break f;while(1){c[f>>2]=0;z=c[e>>2]|0;switch(z|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;Qc=c[e>>2]|0;s=343;break}case 1:{D=c[m>>2]|0;sa=(c[n>>2]|0)-D|0;wa=(sa|0)>4?4:sa;sa=(wa|0)<0?0:wa;xq(f|0,(c[o>>2]|0)+D|0,sa|0)|0;c[m>>2]=sa+D;c[w+8+(Pc*344|0)>>2]=c[f>>2];c[f>>2]=0;s=345;break}default:{Qc=z;s=343}}J:do if((s|0)==343){s=0;c[w+8+(Pc*344|0)>>2]=c[f>>2];c[f>>2]=0;switch(Qc|0){case 1:{s=345;break J;break}case 0:{Vp(f,4,1,c[k>>2]|0)|0;Rc=c[e>>2]|0;break}default:Rc=Qc}c[w+8+(Pc*344|0)+4>>2]=c[f>>2];c[f>>2]=0;switch(Rc|0){case 1:{s=348;break J;break}case 0:{Vp(f,4,1,c[k>>2]|0)|0;Sc=c[e>>2]|0;break}default:Sc=Rc}c[w+8+(Pc*344|0)+8>>2]=c[f>>2];c[f>>2]=0;switch(Sc|0){case 1:{s=351;break J;break}case 0:{Vp(f,4,1,c[k>>2]|0)|0;Tc=c[e>>2]|0;break}default:Tc=Sc}c[w+8+(Pc*344|0)+340>>2]=c[f>>2];c[f>>2]=0;switch(Tc|0){case 1:{s=354;break J;break}case 0:{Vp(f,4,1,c[k>>2]|0)|0;Uc=c[e>>2]|0;break}default:Uc=Tc}z=c[f>>2]|0;c[w+8+(Pc*344|0)+332>>2]=z;D=w+8+(Pc*344|0)+268|0;switch(Uc|0){case 1:{Vc=z;Wc=D;s=357;break J;break}case 0:break;default:break J}Vp(D,1,z,c[k>>2]|0)|0}while(0);if((s|0)==345){s=0;z=c[m>>2]|0;D=(c[n>>2]|0)-z|0;sa=(D|0)>4?4:D;D=(sa|0)<0?0:sa;xq(f|0,(c[o>>2]|0)+z|0,D|0)|0;c[m>>2]=D+z;c[w+8+(Pc*344|0)+4>>2]=c[f>>2];c[f>>2]=0;s=348}if((s|0)==348){s=0;z=c[m>>2]|0;D=(c[n>>2]|0)-z|0;sa=(D|0)>4?4:D;D=(sa|0)<0?0:sa;xq(f|0,(c[o>>2]|0)+z|0,D|0)|0;c[m>>2]=D+z;c[w+8+(Pc*344|0)+8>>2]=c[f>>2];c[f>>2]=0;s=351}if((s|0)==351){s=0;z=c[m>>2]|0;D=(c[n>>2]|0)-z|0;sa=(D|0)>4?4:D;D=(sa|0)<0?0:sa;xq(f|0,(c[o>>2]|0)+z|0,D|0)|0;c[m>>2]=D+z;c[w+8+(Pc*344|0)+340>>2]=c[f>>2];c[f>>2]=0;s=354}if((s|0)==354){s=0;z=c[m>>2]|0;D=(c[n>>2]|0)-z|0;sa=(D|0)>4?4:D;D=(sa|0)<0?0:sa;xq(f|0,(c[o>>2]|0)+z|0,D|0)|0;c[m>>2]=D+z;z=c[f>>2]|0;c[w+8+(Pc*344|0)+332>>2]=z;Vc=z;Wc=w+8+(Pc*344|0)+268|0;s=357}if((s|0)==357){s=0;z=c[m>>2]|0;D=(c[n>>2]|0)-z|0;sa=(Vc|0)<(D|0)?Vc:D;D=(sa|0)<0?0:sa;xq(Wc|0,(c[o>>2]|0)+z|0,D|0)|0;c[m>>2]=D+(c[m>>2]|0)}c[f>>2]=0;switch(c[e>>2]|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;s=362;break}case 1:{D=c[m>>2]|0;z=(c[n>>2]|0)-D|0;sa=(z|0)>4?4:z;z=(sa|0)<0?0:sa;xq(f|0,(c[o>>2]|0)+D|0,z|0)|0;c[m>>2]=z+D;s=362;break}default:{}}K:do if((s|0)==362?(s=0,D=c[f>>2]|0,(D|0)>0):0){z=0;while(1){c[f>>2]=0;sa=c[e>>2]|0;switch(sa|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;Xc=c[e>>2]|0;s=366;break}case 1:{wa=c[m>>2]|0;A=(c[n>>2]|0)-wa|0;yc=(A|0)>4?4:A;A=(yc|0)<0?0:yc;xq(f|0,(c[o>>2]|0)+wa|0,A|0)|0;c[m>>2]=A+wa;c[w+8+(Pc*344|0)+12+(z<<4)>>2]=c[f>>2];c[f>>2]=0;s=368;break}default:{Xc=sa;s=366}}L:do if((s|0)==366){s=0;c[w+8+(Pc*344|0)+12+(z<<4)>>2]=c[f>>2];c[f>>2]=0;switch(Xc|0){case 1:{s=368;break L;break}case 0:{Vp(f,4,1,c[k>>2]|0)|0;Yc=c[e>>2]|0;break}default:Yc=Xc}c[w+8+(Pc*344|0)+12+(z<<4)+8>>2]=c[f>>2];c[f>>2]=0;switch(Yc|0){case 1:{s=371;break L;break}case 0:break;default:break L}Vp(f,4,1,c[k>>2]|0)|0}while(0);if((s|0)==368){s=0;sa=c[m>>2]|0;wa=(c[n>>2]|0)-sa|0;A=(wa|0)>4?4:wa;wa=(A|0)<0?0:A;xq(f|0,(c[o>>2]|0)+sa|0,wa|0)|0;c[m>>2]=wa+sa;c[w+8+(Pc*344|0)+12+(z<<4)+8>>2]=c[f>>2];c[f>>2]=0;s=371}if((s|0)==371){s=0;sa=c[m>>2]|0;wa=(c[n>>2]|0)-sa|0;A=(wa|0)>4?4:wa;wa=(A|0)<0?0:A;xq(f|0,(c[o>>2]|0)+sa|0,wa|0)|0;c[m>>2]=wa+sa}c[w+8+(Pc*344|0)+12+(z<<4)+12>>2]=c[f>>2];z=z+1|0;if((z|0)==(D|0))break K}}while(0);Pc=Pc+1|0;if((Pc|0)==(y|0))break f}}while(0);if((v|0)!=1279870563){y=c[43917]|0;if(y|0?(yb[y&7](e,j,q)|0)==0:0)break;Yj(43251);switch(c[e>>2]|0){case 0:{_p(c[k>>2]|0,u,1)|0;break f;break}case 1:{c[m>>2]=(c[m>>2]|0)+u;break f;break}default:break f}}y=(q|0)==1279870563;c[f>>2]=0;switch(c[e>>2]|0){case 0:{Vp(f,4,1,c[k>>2]|0)|0;break}case 1:{w=c[m>>2]|0;D=(c[n>>2]|0)-w|0;z=(D|0)>4?4:D;D=(z|0)<0?0:z;xq(f|0,(c[o>>2]|0)+w|0,D|0)|0;c[m>>2]=D+w;break}default:{}}w=c[f>>2]|0;D=Fm(w)|0;Ck(j,12,D)|0;z=D+24|0;switch(c[e>>2]|0){case 0:{Vp(z,1,64,c[k>>2]|0)|0;break}case 1:{sa=c[m>>2]|0;wa=(c[n>>2]|0)-sa|0;A=(wa|0)>64?64:wa;wa=(A|0)<0?0:A;xq(z|0,(c[o>>2]|0)+sa|0,wa|0)|0;c[m>>2]=wa+(c[m>>2]|0);break}default:{}}a[D+87>>0]=0;wa=c[D+12>>2]|0;M:do if(y)$k(wa,w,e)|0;else switch(c[e>>2]|0){case 0:{Vp(wa,1,w,c[k>>2]|0)|0;break M;break}case 1:{sa=c[m>>2]|0;z=(c[n>>2]|0)-sa|0;A=(w|0)<(z|0)?w:z;z=(A|0)<0?0:A;xq(wa|0,(c[o>>2]|0)+sa|0,z|0)|0;c[m>>2]=z+(c[m>>2]|0);break M;break}default:break M}while(0);c[D+16>>2]=w}while(0);p=p+1|0}N:do if((s|0)!=10)if((s|0)==20)switch(c[e>>2]|0){case 0:{_p(c[k>>2]|0,-8,1)|0;break N;break}case 1:{c[m>>2]=(c[m>>2]|0)+-8;break N;break}default:break N}while(0);if(c[j+16>>2]|0){h=j;i=d;return h|0}Bk(j);h=0;i=d;return h|0}while(0);Bk(j);h=0;i=d;return h|0}function $k(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+16|0;f=e;c[f>>2]=0;switch(c[d>>2]|0){case 0:{Vp(f,4,1,c[d+8>>2]|0)|0;break}case 1:{g=d+20|0;h=c[g>>2]|0;j=(c[d+16>>2]|0)-h|0;k=(j|0)>4?4:j;j=(k|0)<0?0:k;xq(f|0,(c[d+12>>2]|0)+h|0,j|0)|0;c[g>>2]=j+h;break}default:{}}h=c[f>>2]|0;f=Bm(h)|0;switch(c[d>>2]|0){case 0:{Vp(f,1,h,c[d+8>>2]|0)|0;l=Lm(f,a,h,b)|0;i=e;return l|0}case 1:{j=d+20|0;g=c[j>>2]|0;k=(c[d+16>>2]|0)-g|0;m=(h|0)<(k|0)?h:k;k=(m|0)<0?0:m;xq(f|0,(c[d+12>>2]|0)+g|0,k|0)|0;c[j>>2]=k+(c[j>>2]|0);l=Lm(f,a,h,b)|0;i=e;return l|0}default:{l=Lm(f,a,h,b)|0;i=e;return l|0}}return 0}function al(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b;e=bl(a,43287)|0;if(e){f=_k(0,e)|0;if(!(ao(e)|0)){if(!(c[e>>2]|0))Mp(c[e+8>>2]|0)|0;if(c[e+88>>2]|0)Dm(c[e+12>>2]|0);Dm(e);nb(14);g=f}else g=f}else g=0;c[d>>2]=a;c[d+4>>2]=g|0?43507:43428;Zp(1184836,43510,d)|0;Yj(1184836);i=b;return g|0}function bl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+48|0;f=e+40|0;g=e+24|0;h=e+8|0;j=e;if((Da(15)|0)!=1){k=$n(b,d)|0;c[j>>2]=b;c[j+4>>2]=d;Op(43374,j)|0;j=a[d>>0]|0;if(j<<24>>24==119){l=k;i=e;return l|0}if((k|0)!=0&j<<24>>24==114){l=k;i=e;return l|0}}k=Bm(92)|0;Em(k,0,92);c[k>>2]=0;j=Lp(b,d)|0;c[k+8>>2]=j;if(!j){Dm(k);c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=43428;Op(43405,h)|0;c[f>>2]=b;m=f+4|0;c[m>>2]=d;Op(43442,f)|0;n=$n(b,d)|0;i=e;return n|0}h=(k|0)!=0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=h?43435:43428;Op(43405,g)|0;if(h){l=k;i=e;return l|0}else{c[f>>2]=b;m=f+4|0;c[m>>2]=d;Op(43442,f)|0;n=$n(b,d)|0;i=e;return n|0}return 0}function cl(a){a=a|0;if(!a)return;if(ao(a)|0)return;if(!(c[a>>2]|0))Mp(c[a+8>>2]|0)|0;if(c[a+88>>2]|0)Dm(c[a+12>>2]|0);Dm(a);nb(14);return}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;if(!f){g=0;return g|0}switch(c[f>>2]|0){case 0:{h=Hp(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=Pp(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)switch(j|0){case 10:case 13:{m=j;n=0;break}default:{l=j;i=11}}a:do if((i|0)==11){a[b>>0]=l;j=e+-1|0;k=f+8|0;h=f+20|0;o=f+16|0;p=f+12|0;q=l;r=1;while(1){switch(c[f>>2]|0){case 0:{s=Hp(c[k>>2]|0)|0;break}case 1:{s=(c[h>>2]|0)>=(c[o>>2]|0)&1;break}default:s=0}if(!((r|0)<(j|0)&(s|0)==0)){m=q;n=r;break a}switch(c[f>>2]|0){case 0:{t=Pp(c[k>>2]|0)|0;i=20;break}case 1:{u=c[h>>2]|0;if((u|0)<(c[o>>2]|0)){c[h>>2]=u+1;t=d[(c[p>>2]|0)+u>>0]|0;i=20}else v=0;break}default:v=0}if((i|0)==20){i=0;switch(t|0){case 10:case 13:{m=t;n=r;break a;break}default:v=t}}a[b+r>>0]=v;q=v;r=r+1|0}}while(0);a[b+n>>0]=0;if((m|0)!=13){g=b;return g|0}switch(c[f>>2]|0){case 0:{w=Pp(c[f+8>>2]|0)|0;i=27;break}case 1:{m=f+20|0;n=c[m>>2]|0;if((n|0)<(c[f+16>>2]|0)){c[m>>2]=n+1;w=d[(c[f+12>>2]|0)+n>>0]|0;i=27}break}default:{g=b;return g|0}}if((i|0)==27){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 el(a,b){a=a|0;b=b|0;var d=0;d=Bm(92)|0;Em(d,0,92);c[d>>2]=1;c[d+12>>2]=a;c[d+16>>2]=b;return d|0}function fl(){Em(175332,0,132);c[43834]=0;c[43835]=0;c[43836]=32;c[43838]=256;c[43839]=256;c[43845]=1024;c[43846]=-1;c[43842]=0;c[43847]=0;c[43848]=0;c[43849]=0;c[43850]=0;c[43843]=-1;c[43844]=-1;c[43864]=0;c[43840]=5;c[43857]=-1;c[43858]=1;c[43855]=1;c[43865]=30;return}function gl(){return}function hl(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+1024|0;g=f;h=(c|0)!=0;if(h)a[c>>0]=0;j=(d|0)!=0;if(j)a[d>>0]=0;k=(e|0)!=0;if(k)a[e>>0]=0;Jo(g,b)|0;l=g+(Do(b)|0)|0;while(1){b=a[l>>0]|0;if(l>>>0<=g>>>0|(b&-2)<<24>>24==46){m=b;n=l;break}else l=l+-1|0}a:do if(m<<24>>24==46){if(k)Jo(e,n)|0;a[n>>0]=0;if(n>>>0>g>>>0){l=n;while(1){b=l+-1|0;o=a[b>>0]|0;if(b>>>0<=g>>>0){p=o;q=b;break a}if(o<<24>>24==47){p=47;q=b;break}else l=b}}else{p=0;q=n}}else{p=m;q=n}while(0);n=p<<24>>24==47?q+1|0:q;if(j)Jo(d,n)|0;if((n|0)==(g|0)){i=f;return}a[n>>0]=0;if(!h){i=f;return}Jo(c,g)|0;i=f;return}function il(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=b;e=1;a:while(1){f=d;b:while(1){g=a[f>>0]|0;switch(g<<24>>24){case 0:case 92:case 47:{h=g;i=f;break b;break}default:{}}f=f+1|0}f=h<<24>>24==0;if((d|0)==(i|0)&f){j=d;k=6;break}a[i>>0]=0;c:do if(To(d,48040)|0){if(!(To(d,43533)|0)){g=(Do(c)|0)+-1|0;if((g|0)<=0){l=e;k=20;break}a[c+g>>0]=0;m=g;while(1){g=c+m|0;switch(a[g>>0]|0){case 58:case 92:case 47:{l=e;k=20;break c;break}default:{}}a[g>>0]=0;if((m|0)>1)m=m+-1|0;else{l=e;k=20;break c}}}if(To(d,43536)|0){if((e|0)==0?(a[d>>0]|0)==0:0){l=0;k=20;break}Io(c,d)|0;if(f){n=i;k=18;break a}m=c+(Do(c)|0)|0;a[m>>0]=47;a[m+1>>0]=0;a[i>>0]=h;o=i;p=0}else{l=e;k=20}}else{l=e;k=20}while(0);if((k|0)==20){k=0;a[i>>0]=h;if(f){k=22;break}else{o=i;p=l}}d=o+1|0;e=p}if((k|0)==6){if((j|0)!=(b|0))return;a[c>>0]=0;return}else if((k|0)==18){a[n>>0]=0;return}else if((k|0)==22)return}function jl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=0;c[g>>2]=0;if(!b){h=0;i=d;return h|0}if(sm(e,f,g,b)|0){h=0;i=d;return h|0}b=c[f>>2]|0;j=c[g>>2]|0;if((j+-1|b+-1)>>>0>8191){h=0;i=d;return h|0}k=kk(b,j,32)|0;j=k+12|0;xq(c[j>>2]|0,c[e>>2]|0,_(c[f>>2]<<2,c[g>>2]|0)|0)|0;b=_(c[g>>2]|0,c[f>>2]|0)|0;if(b|0){f=b;b=c[j>>2]|0;while(1){j=a[b>>0]|0;g=b+2|0;a[b>>0]=a[g>>0]|0;a[g>>0]=j;f=f+-1|0;if(!f)break;else b=b+4|0}}Dm(c[e>>2]|0);h=k;i=d;return h|0}function kl(a){a=a|0;var b=0,d=0;b=bl(a,43287)|0;if(!b){d=0;return d|0}a=jl(b)|0;if(ao(b)|0){d=a;return d|0}if(!(c[b>>2]|0))Mp(c[b+8>>2]|0)|0;if(c[b+88>>2]|0)Dm(c[b+12>>2]|0);Dm(b);nb(14);d=a;return d|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;e=d+4|0;f=kk(c[d>>2]|0,c[e>>2]|0,32)|0;g=d+8|0;h=c[g>>2]|0;if((h|0)==32){Ql(d,f,0,0,0,0,c[d>>2]|0,c[e>>2]|0);i=c[g>>2]|0}else i=h;if((i|0)==8)wk(d,f,c[198778]|0);i=f+12|0;h=c[i>>2]|0;g=c[d>>2]|0;j=c[e>>2]|0;k=_(j,g)|0;if(!k){l=h;m=g;n=j;Am(b,l,m,n,6,8)|0;lk(f)|0;return 0}else{o=k;p=h}while(1){h=a[p>>0]|0;k=p+2|0;a[p>>0]=a[k>>0]|0;a[k>>0]=h;o=o+-1|0;if(!o)break;else p=p+4|0}l=c[i>>2]|0;m=c[d>>2]|0;n=c[e>>2]|0;Am(b,l,m,n,6,8)|0;lk(f)|0;return 0}function ml(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+1040|0;f=e;g=e+8|0;Em(g,0,1024);c[f>>2]=d;Zp(g,b,f)|0;f=Do(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;Qp(g,1,f,c[a+8>>2]|0)|0;i=e;return 0}case 1:{b=a+20|0;d=c[b>>2]|0;if(!(c[a+88>>2]|0))xq((c[a+12>>2]|0)+d|0,g|0,f|0)|0;else{Gm(a,d+f|0)|0;xq((c[a+12>>2]|0)+(c[b>>2]|0)|0,g|0,f|0)|0}g=(c[b>>2]|0)+f|0;c[b>>2]=g;b=a+16|0;a=c[b>>2]|0;c[b>>2]=(a|0)>(g|0)?a:g;i=e;return 0}default:{i=e;return 0}}return 0}function nl(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,j=0,k=0;h=i;i=i+1040|0;j=h;k=h+16|0;Em(k,0,1024);c[j>>2]=d;c[j+4>>2]=e;c[j+8>>2]=f;c[j+12>>2]=g;Zp(k,b,j)|0;j=Do(k)|0;switch(c[a>>2]|0){case 0:{b=a+20|0;c[b>>2]=(c[b>>2]|0)+j;b=a+16|0;c[b>>2]=(c[b>>2]|0)+j;Qp(k,1,j,c[a+8>>2]|0)|0;i=h;return 0}case 1:{b=a+20|0;g=c[b>>2]|0;if(!(c[a+88>>2]|0))xq((c[a+12>>2]|0)+g|0,k|0,j|0)|0;else{Gm(a,g+j|0)|0;xq((c[a+12>>2]|0)+(c[b>>2]|0)|0,k|0,j|0)|0}k=(c[b>>2]|0)+j|0;c[b>>2]=k;b=a+16|0;a=c[b>>2]|0;c[b>>2]=(a|0)>(k|0)?a:k;i=h;return 0}default:{i=h;return 0}}return 0}function ol(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Lp(a,43287)|0;if(!c){d=1;return d|0}a=Lp(b,45334)|0;if(!a){Mp(c)|0;d=2;return d|0}b=Bm(65536)|0;if(!(Hp(c)|0))do{e=Vp(b,1,65536,c)|0;Qp(b,1,e,a)|0}while((e|0)!=0&(Hp(c)|0)==0);Dm(b);Mp(c)|0;Mp(a)|0;d=0;return d|0}function pl(a,d){a=a|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+16|0;f=e+8|0;h=e;j=a+24|0;if(((c[j>>2]|0)>0?(k=a+28|0,(c[k>>2]|0)==0):0)?(l=a+8|0,m=Bm(c[l>>2]<<5)|0,c[k>>2]=m,k=c[l>>2]|0,(k|0)>0):0){l=0;do{b[m+(l<<5)>>1]=0;b[m+(l<<5)+2>>1]=0;g[m+(l<<5)+4>>2]=1.0;l=l+1|0}while((l|0)<(k|0))}k=a+8|0;l=c[k>>2]|0;if((l|0)>=(d|0)){i=e;return}if((l+1|0)==(d|0))n=(d*5|0)/4|0;else n=d;d=Cm(c[a>>2]|0,n*12|0)|0;c[a>>2]=d;if(!d){c[h>>2]=43561;Zp(1184836,43538,h)|0;Yj(1184836)}if((c[j>>2]|0)>0){j=a+28|0;a=Cm(c[j>>2]|0,n<<5)|0;c[j>>2]=a;if(!a){c[f>>2]=43587;Zp(1184836,43538,f)|0;Yj(1184836)}f=c[k>>2]|0;if((f|0)<(n|0)){a=c[j>>2]|0;j=f;do{b[a+(j<<5)>>1]=0;b[a+(j<<5)+2>>1]=0;g[a+(j<<5)+4>>2]=1.0;j=j+1|0}while((j|0)!=(n|0))}}c[k>>2]=n;i=e;return}function ql(a,d){a=a|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0;e=i;i=i+16|0;f=e;h=a+20|0;j=c[h>>2]|0;if((j|0)>=(d|0)){i=e;return}if((j+1|0)==(d|0))k=(d*5|0)/4|0;else k=d;d=a+12|0;j=Cm(c[d>>2]|0,k*80|0)|0;c[d>>2]=j;if(!j){c[f>>2]=43618;Zp(1184836,43538,f)|0;Yj(1184836)}f=c[a+16>>2]|0;if((f|0)>0){a=c[d>>2]|0;j=0;do{if((b[a+(j*80|0)+56>>1]|0)<5){c[a+(j*80|0)+48>>2]=a+(j*80|0);l=c[d>>2]|0;c[l+(j*80|0)+52>>2]=l+(j*80|0)+16}j=j+1|0}while((j|0)<(f|0))}f=c[h>>2]|0;if((f|0)<(k|0)){j=c[d>>2]|0;d=f;do{g[j+(d*80|0)+64>>2]=0.0;g[j+(d*80|0)+60>>2]=0.0;g[j+(d*80|0)+68>>2]=1.0;b[j+(d*80|0)+72>>1]=0;b[j+(d*80|0)+74>>1]=0;f=j+(d*80|0)+56|0;b[f>>1]=0;c[j+(d*80|0)+48>>2]=j+(d*80|0);c[j+(d*80|0)+52>>2]=j+(d*80|0)+16;b[j+(d*80|0)+58>>1]=4;c[j+(d*80|0)>>2]=0;g[j+(d*80|0)+20>>2]=0.0;g[j+(d*80|0)+16>>2]=0.0;c[j+(d*80|0)+4>>2]=0;g[j+(d*80|0)+28>>2]=0.0;g[j+(d*80|0)+24>>2]=0.0;c[j+(d*80|0)+8>>2]=0;g[j+(d*80|0)+36>>2]=0.0;g[j+(d*80|0)+32>>2]=0.0;c[j+(d*80|0)+12>>2]=0;g[j+(d*80|0)+44>>2]=0.0;g[j+(d*80|0)+40>>2]=0.0;b[f>>1]=4;d=d+1|0}while((d|0)!=(k|0))}c[h>>2]=k;i=e;return}function rl(a,d){a=a|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;e=(d&1)+d|0;f=a+58|0;h=b[f>>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]=Cm(l,e<<2)|0;c[k>>2]=Cm(c[k>>2]|0,e<<3)|0;if((b[f>>1]|0)<5){l=a+56|0;xq(c[j>>2]|0,a|0,b[l>>1]<<2|0)|0;xq(c[k>>2]|0,a+16|0,b[l>>1]<<3|0)|0}b[f>>1]=e}e=a+56|0;f=b[e>>1]|0;if((f|0)>=(d|0)){m=d&65535;b[e>>1]=m;return}l=c[a+48>>2]|0;k=c[a+52>>2]|0;a=f;do{c[l+(a<<2)>>2]=0;g[k+(a<<3)+4>>2]=0.0;g[k+(a<<3)>>2]=0.0;a=a+1|0}while((a|0)!=(d|0));m=d&65535;b[e>>1]=m;return}function sl(){var a=0,b=0,d=0;a=Bm(52)|0;b=a;d=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[43232]=(c[43232]|0)+1;return a|0}function tl(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=e;e=0;while(1){h=c[f>>2]|0;if((b[h+(e*80|0)+58>>1]|0)>4){Dm(c[h+(e*80|0)+48>>2]|0);Dm(c[(c[f>>2]|0)+(e*80|0)+52>>2]|0);i=c[d>>2]|0}else i=g;e=e+1|0;if((e|0)>=(i|0))break;else g=i}}i=c[a>>2]|0;if(i|0)Dm(i);i=c[a+32>>2]|0;if(i|0)Dm(i);i=c[a+12>>2]|0;if(i|0)Dm(i);i=c[a+28>>2]|0;if(i|0)Dm(i);i=c[a+48>>2]|0;if(i|0)Dm(i);i=c[a+36>>2]|0;if(i|0)Dm(i);i=c[a+40>>2]|0;if(i|0)Dm(i);Dm(a);c[43232]=(c[43232]|0)+-1;return}function ul(a){a=a|0;var d=0,e=0,f=0,h=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;d=i;i=i+32|0;e=d+12|0;f=d;h=a+16|0;j=c[h>>2]|0;if((j|0)<=0){i=d;return}k=a+12|0;l=e+4|0;m=e+8|0;n=f+4|0;o=f+8|0;p=j;j=0;while(1){q=c[k>>2]|0;if((b[q+(j*80|0)+56>>1]|0)>2){r=c[q+(j*80|0)+48>>2]|0;s=c[r+4>>2]|0;t=c[a>>2]|0;u=t+(s*12|0)|0;v=c[r>>2]|0;g[e>>2]=+g[u>>2]-+g[t+(v*12|0)>>2];w=t+(s*12|0)+4|0;g[l>>2]=+g[w>>2]-+g[t+(v*12|0)+4>>2];x=t+(s*12|0)+8|0;g[m>>2]=+g[x>>2]-+g[t+(v*12|0)+8>>2];v=c[r+8>>2]|0;g[f>>2]=+g[u>>2]-+g[t+(v*12|0)>>2];g[n>>2]=+g[w>>2]-+g[t+(v*12|0)+4>>2];g[o>>2]=+g[x>>2]-+g[t+(v*12|0)+8>>2];v=q+(j*80|0)+60|0;Bl(e,f,v);Al(v);y=c[h>>2]|0}else{g[q+(j*80|0)+60>>2]=0.0;g[q+(j*80|0)+64>>2]=1.0;g[q+(j*80|0)+68>>2]=0.0;y=p}j=j+1|0;if((j|0)>=(y|0))break;else p=y}i=d;return}function vl(){var a=0,b=0;a=Bm(96)|0;if(!a){b=0;return b|0}c[a>>2]=0;c[a+64>>2]=0;c[a+4>>2]=0;c[a+68>>2]=0;c[a+8>>2]=0;c[a+40>>2]=0;c[a+72>>2]=0;c[a+12>>2]=0;c[a+44>>2]=0;c[a+76>>2]=0;c[a+16>>2]=0;c[a+48>>2]=0;c[a+80>>2]=0;c[a+20>>2]=0;c[a+52>>2]=0;c[a+84>>2]=0;c[a+24>>2]=0;c[a+56>>2]=0;c[a+88>>2]=0;c[a+28>>2]=0;c[a+60>>2]=0;c[a+92>>2]=0;c[a+32>>2]=-13408615;c[a+36>>2]=-10461088;c[43232]=(c[43232]|0)+1;b=a;return b|0}function wl(a){a=a|0;if(!a)return;Dm(a);c[43232]=(c[43232]|0)+-1;return}function xl(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=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){Dm(g);c[f>>2]=0;h=a+40|0;Dm(c[h>>2]|0);c[h>>2]=0;return}c[f>>2]=Cm(g,e<<2)|0;e=a+40|0;c[e>>2]=Cm(c[e>>2]|0,c[d>>2]<<2)|0;g=c[d>>2]|0;if((g|0)>0){h=c[f>>2]|0;i=a+12|0;a=0;do{c[h+(a<<2)>>2]=-1;j=c[d>>2]|0;if((j|0)>0){k=c[i>>2]|0;l=c[k+(a*80|0)+48>>2]|0;m=j;n=0;while(1){if((c[l>>2]|0)==(c[(c[k+(n*80|0)+48>>2]|0)+4>>2]|0)){c[(c[f>>2]|0)+(a<<2)>>2]=n;o=c[d>>2]|0}else o=m;n=n+1|0;if((n|0)>=(o|0)){p=o;break}else m=o}}else p=j;a=a+1|0}while((a|0)<(p|0));q=p;c[b>>2]=(q<<4)+16;if((q|0)>0){p=c[e>>2]|0;a=0;do{c[p+(a<<2)>>2]=32768;a=a+1|0;o=c[d>>2]|0}while((a|0)<(o|0));r=o;s=0}else{r=q;s=0}}else{c[b>>2]=(g<<4)+16;r=g;s=0}while(1){if((r|0)<=0){t=23;break}g=c[e>>2]|0;b=r;q=0;a=0;p=s;while(1){do if(!(c[g+(a<<2)>>2]&32768)){u=b;v=q;w=p}else{o=c[(c[f>>2]|0)+(a<<2)>>2]|0;if((o|0)!=-1?c[g+(o<<2)>>2]&32768|0:0){u=b;v=q;w=p;break}o=c[e>>2]|0;i=o+(p<<2)|0;c[i>>2]=c[i>>2]|a;i=o+(a<<2)|0;c[i>>2]=c[i>>2]&32767;u=c[d>>2]|0;v=1;w=p+1|0}while(0);a=a+1|0;if((a|0)>=(u|0)){x=u;y=v;z=w;break}else{b=u;q=v;p=w}}if(!y){t=23;break}else{r=x;s=z}}if((t|0)==23)return}function yl(a){a=a|0;ul(a);xl(a);Pl(a,0);return}function zl(a,b){a=a|0;b=b|0;var c=0;c=Dq(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=vq(c|0,C|0,16)|0;return a|0}function Al(a){a=a|0;var b=0.0,c=0,d=0.0,e=0,f=0.0,h=0.0,i=0.0,j=0.0;b=+g[a>>2];c=a+4|0;d=+g[c>>2];e=a+8|0;f=+g[e>>2];h=+O(+(b*b+d*d+f*f));if(h==0.0){g[a>>2]=0.0;g[c>>2]=1.0;i=0.0;g[e>>2]=i;return}else{j=1.0/h;g[a>>2]=b*j;g[c>>2]=j*d;i=j*f;g[e>>2]=i;return}}function Bl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0;d=a+4|0;e=b+8|0;f=a+8|0;h=b+4|0;g[c>>2]=+g[d>>2]*+g[e>>2]-+g[f>>2]*+g[h>>2];g[c+4>>2]=+g[f>>2]*+g[b>>2]-+g[a>>2]*+g[e>>2];g[c+8>>2]=+g[a>>2]*+g[h>>2]-+g[d>>2]*+g[b>>2];return}function Cl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=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=+g[a>>2];e=+g[a+12>>2];f=+g[a+24>>2];h=1.0/(d*d+e*e+f*f);i=+g[a+4>>2]*h;j=+g[a+8>>2]*h;k=+g[a+16>>2]*h;l=+g[a+20>>2]*h;m=+g[a+28>>2]*h;n=+g[a+32>>2]*h;o=+g[b>>2]-+g[a+36>>2];p=+g[b+4>>2]-+g[a+40>>2];q=+g[b+8>>2]-+g[a+44>>2];g[c>>2]=d*h*o+e*h*p+f*h*q;g[c+4>>2]=i*o+k*p+m*q;g[c+8>>2]=j*o+l*p+n*q;return}function Dl(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[175]=b;c[174]=b^-1095947846;return}function El(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a){b=0;return b|0}d=c[174]|0;e=c[175]|0;f=(d<<16|d>>>16)+e|0;c[174]=f;c[175]=f+e;b=(f>>>0)%(a>>>0)|0;return b|0}function Fl(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[704+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[704+(a<<2)>>2]|0;return d|0}return 0}function Gl(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[704+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[704+(a<<2)>>2]|0;return d|0}return 0}function Hl(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;d=0-b|0;if(!a)e=_(d>>31|1,2147483647)|0;else{b=sq(d|0,((d|0)<0)<<31>>31|0,16)|0;d=Bq(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;e=d}do if((e|0)<0)if((e|0)==-2147483648){f=-16384;g=(a|0)<0;h=f+32768|0;i=g?h:f;j=i&65535;return j|0}else{k=0-e|0;l=-1;break}else{k=e;l=1}while(0);if((k|0)>65536){e=Bq(0,1,k|0,((k|0)<0)<<31>>31|0)|0;m=e;n=0}else{m=k;n=1}k=m>>5;m=(k|0)<2048?k:2048;k=c[17092+(((m|0)<0?0:m)<<2)>>2]|0;f=_(n?k:16384-k|0,l)|0;g=(a|0)<0;h=f+32768|0;i=g?h:f;j=i&65535;return j|0}function Il(){var a=0;a=Bm(16)|0;c[a>>2]=0;c[a+4>>2]=0;c[43232]=(c[43232]|0)+1;return a|0}function Jl(a){a=a|0;var b=0;if(!a)return;if((c[a>>2]|0)>0){b=0;do{Kl(a,b);b=b+1|0}while((b|0)<(c[a>>2]|0))}Dm(c[a+4>>2]|0);c[43232]=(c[43232]|0)+-1;return}function Kl(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{Dm(c[e+12>>2]|0);Dm(c[e+16>>2]|0);Dm(c[e+20>>2]|0);Dm(e);f=c[d>>2]|0}e=c[f+(b*112|0)+84>>2]|0;if(!e)g=f;else{Dm(c[e+12>>2]|0);Dm(c[e+16>>2]|0);Dm(c[e+20>>2]|0);Dm(e);g=c[d>>2]|0}e=c[g+(b*112|0)+88>>2]|0;if(!e)h=g;else{Dm(c[e+12>>2]|0);Dm(c[e+16>>2]|0);Dm(c[e+20>>2]|0);Dm(e);h=c[d>>2]|0}e=c[h+(b*112|0)+96>>2]|0;if(!e)i=h;else{Dm(c[e+12>>2]|0);Dm(c[e+16>>2]|0);Dm(c[e+20>>2]|0);Dm(e);i=c[d>>2]|0}e=i+(b*112|0)+92|0;if((c[i+(b*112|0)+104>>2]|0)>0){h=e;g=i;i=0;while(1){f=c[(c[h>>2]|0)+(i<<2)>>2]|0;if(!f)j=g;else{Dm(c[f+12>>2]|0);Dm(c[f+16>>2]|0);Dm(c[f+20>>2]|0);Dm(f);j=c[d>>2]|0}i=i+1|0;f=j+(b*112|0)+92|0;if((i|0)>=(c[j+(b*112|0)+104>>2]|0)){k=f;break}else{h=f;g=j}}}else k=e;Dm(c[k>>2]|0);return}function Ll(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d;f=(c[b>>2]|0)+1|0;c[b>>2]=f;g=b+4|0;h=Cm(c[g>>2]|0,f*112|0)|0;c[g>>2]=h;g=(c[b>>2]|0)+-1|0;c[e>>2]=g;Zp(h+(g*112|0)|0,43642,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=Bm(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=Bm(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=Bm(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=Bm(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;i=d;return (c[b>>2]|0)+-1|0}function Ml(a){a=a|0;var b=0;b=Bm(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 Nl(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]=Cm(c[d>>2]|0,_(c[a+8>>2]|0,b)|0)|0;d=a+16|0;e=b<<2;c[d>>2]=Cm(c[d>>2]|0,e)|0;d=a+20|0;c[d>>2]=Cm(c[d>>2]|0,e)|0;c[a>>2]=b;return}function Ol(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0;d=i;i=i+16|0;e=d;f=a+24|0;h=c[f>>2]|0;j=h<<2;l=b+(j<<2)|0;m=b+((j|3)<<2)|0;if(!h){i=d;return}j=a+48|0;n=Cm(c[j>>2]|0,h*48|0)|0;c[j>>2]=n;if((c[f>>2]|0)>0){h=e+4|0;o=e+8|0;p=a+36|0;q=b;b=n;n=0;while(1){r=+g[q>>2];s=+R(+r);t=+g[q+4>>2];u=+R(+t);v=+g[q+8>>2];w=+R(+v);x=+Q(+r);r=+Q(+t);t=+Q(+v);g[b+(n*48|0)+4>>2]=u;g[b+(n*48|0)>>2]=x*r;g[b+(n*48|0)+8>>2]=s*r;y=b+(n*48|0)+20|0;g[y>>2]=t;g[o>>2]=t;t=r*0.0-u*w;v=u*0.0+r*w;g[b+(n*48|0)+16>>2]=v;g[e>>2]=t;g[h>>2]=v;v=+g[y>>2];g[o>>2]=v;g[b+(n*48|0)+12>>2]=x*t-s*v;g[y>>2]=s*+g[e>>2]+x*+g[o>>2];Bl(b+(n*48|0)|0,b+(n*48|0)+12|0,b+(n*48|0)+24|0);y=q+12|0;z=c[j>>2]|0;A=z+(n*48|0)|0;g[A>>2]=+g[y>>2]*+g[A>>2];A=z+(n*48|0)+4|0;g[A>>2]=+g[y>>2]*+g[A>>2];A=z+(n*48|0)+8|0;g[A>>2]=+g[y>>2]*+g[A>>2];A=z+(n*48|0)+12|0;g[A>>2]=+g[y>>2]*+g[A>>2];A=z+(n*48|0)+16|0;g[A>>2]=+g[y>>2]*+g[A>>2];A=z+(n*48|0)+20|0;g[A>>2]=+g[y>>2]*+g[A>>2];A=z+(n*48|0)+24|0;g[A>>2]=+g[y>>2]*+g[A>>2];A=z+(n*48|0)+28|0;g[A>>2]=+g[y>>2]*+g[A>>2];A=z+(n*48|0)+32|0;g[A>>2]=+g[y>>2]*+g[A>>2];A=c[j>>2]|0;y=A+(n*48|0)+12|0;z=c[y>>2]|0;B=A+(n*48|0)+4|0;c[y>>2]=c[B>>2];c[B>>2]=z;z=A+(n*48|0)+24|0;B=c[z>>2]|0;y=A+(n*48|0)+8|0;c[z>>2]=c[y>>2];c[y>>2]=B;B=c[j>>2]|0;y=B+(n*48|0)+28|0;z=c[y>>2]|0;A=B+(n*48|0)+20|0;c[y>>2]=c[A>>2];c[A>>2]=z;if((c[(c[p>>2]|0)+(n<<2)>>2]|0)==-1){z=c[j>>2]|0;g[z+(n*48|0)+36>>2]=0.0;g[z+(n*48|0)+40>>2]=0.0;g[z+(n*48|0)+44>>2]=0.0;C=z}else C=B;n=n+1|0;B=c[f>>2]|0;if((n|0)>=(B|0)){D=B;break}else{q=q+16|0;b=C}}if((D|0)>0){C=c[a+40>>2]|0;b=a+36|0;a=c[b>>2]|0;q=0;do{n=c[C+(q<<2)>>2]|0;if((c[a+(n<<2)>>2]|0)!=-1){p=c[(c[b>>2]|0)+(n<<2)>>2]|0;o=c[j>>2]|0;g[o+(n*48|0)+36>>2]=+g[o+(p*48|0)+36>>2]+ +g[o+(p*48|0)>>2];g[o+(n*48|0)+40>>2]=+g[o+(p*48|0)+40>>2]+ +g[o+(p*48|0)+12>>2];g[o+(n*48|0)+44>>2]=+g[o+(p*48|0)+44>>2]+ +g[o+(p*48|0)+24>>2]}q=q+1|0}while((q|0)<(D|0))}}D=c[m>>2]|0;m=(D|0)<0;q=m?0-D|0:D;D=c[j>>2]|0;j=c[D+(q*48|0)+36>>2]|0;c[e>>2]=j;b=c[D+(q*48|0)+40>>2]|0;a=e+4|0;c[a>>2]=b;C=c[D+(q*48|0)+44>>2]|0;p=e+8|0;c[p>>2]=C;x=(c[k>>2]=j,+g[k>>2]);s=(c[k>>2]=b,+g[k>>2]);v=(c[k>>2]=C,+g[k>>2]);if(m){t=x+ +g[D+(q*48|0)>>2];g[e>>2]=t;w=s+ +g[D+(q*48|0)+12>>2];g[a>>2]=w;r=v+ +g[D+(q*48|0)+24>>2];g[p>>2]=r;E=t;F=w;G=r}else{E=x;F=s;G=v}v=+g[l>>2]-E;g[e>>2]=v;E=+g[l+4>>2]-F;g[a>>2]=E;F=+g[l+8>>2]-G;g[p>>2]=F;p=c[f>>2]|0;if((p|0)>0)H=0;else{i=d;return}do{f=D+(H*48|0)+36|0;g[f>>2]=+g[f>>2]+v;f=D+(H*48|0)+40|0;g[f>>2]=+g[f>>2]+E;f=D+(H*48|0)+44|0;g[f>>2]=+g[f>>2]+F;H=H+1|0}while((H|0)<(p|0));i=d;return}function Pl(a,b){a=a|0;b=b|0;var d=0,f=0,h=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.0,y=0.0,z=0.0,A=0.0,B=0.0;d=i;i=i+16|0;f=d;if(!a){i=d;return}h=a+24|0;j=a+28|0;k=c[j>>2]|0;if(!(c[h>>2]|0)){Dm(k);c[j>>2]=0;i=d;return}l=a+4|0;c[j>>2]=Cm(k,c[l>>2]<<5)|0;k=a+44|0;m=Bm(c[k>>2]|0)|0;if((c[h>>2]|0)>0){n=a+12|0;o=f+4|0;p=f+8|0;q=a+36|0;r=0;s=0;while(1){t=c[(c[n>>2]|0)+(r*80|0)+48>>2]|0;u=c[t+4>>2]|0;v=c[a>>2]|0;w=c[t>>2]|0;x=+g[v+(u*12|0)>>2]-+g[v+(w*12|0)>>2];g[f>>2]=x;y=+g[v+(u*12|0)+4>>2]-+g[v+(w*12|0)+4>>2];g[o>>2]=y;z=+g[v+(u*12|0)+8>>2]-+g[v+(w*12|0)+8>>2];g[p>>2]=z;g[m+((s|3)<<2)>>2]=+O(+(z*z+(x*x+y*y)));Al(f);y=+g[f>>2];x=+g[p>>2];z=+O(+(y*y+x*x));A=+W(+x,+y);w=m+(s<<2)|0;g[w>>2]=A;y=+g[o>>2];if(z==0.0)B=y>=0.0?1.5707963267948966:-1.5707963267948966;else B=+V(+(y/z));z=B;v=m+((s|1)<<2)|0;g[v>>2]=z;g[m+((s|2)<<2)>>2]=0.0;if(+g[p>>2]<0.0){g[w>>2]=A+3.141592653589793;g[v>>2]=z+(+g[o>>2]>=0.0?1.0:-1.0)*((1.5707963267948966-(z<0.0?-z:z))*2.0)}if((c[(c[q>>2]|0)+(r<<2)>>2]|0)==-1){v=c[h>>2]<<2;w=m+(v<<2)|0;u=c[c[(c[n>>2]|0)+(r*80|0)+48>>2]>>2]|0;t=c[a>>2]|0;c[w>>2]=c[t+(u*12|0)>>2];c[w+4>>2]=c[t+(u*12|0)+4>>2];c[w+8>>2]=c[t+(u*12|0)+8>>2];c[m+((v|3)<<2)>>2]=r}r=r+1|0;if((r|0)>=(c[h>>2]|0))break;else s=s+4|0}}if(b|0){xq(b|0,m|0,c[k>>2]|0)|0;Dm(m);i=d;return}Ol(a,m);if((c[l>>2]|0)>0){k=a+48|0;b=0;do{s=c[j>>2]|0;Cl((c[k>>2]|0)+((e[s+(b<<5)>>1]|0)*48|0)|0,(c[a>>2]|0)+(b*12|0)|0,s+(b<<5)+8|0);s=c[j>>2]|0;Cl((c[k>>2]|0)+((e[s+(b<<5)+2>>1]|0)*48|0)|0,(c[a>>2]|0)+(b*12|0)|0,s+(b<<5)+20|0);b=b+1|0}while((b|0)<(c[l>>2]|0))}Dm(m);i=d;return}function Ql(a,b,e,f,g,h,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|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;l=i;i=i+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]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;if(!((a|0)!=0&(b|0)!=0)){i=l;return}k=b+8|0;j=a+8|0;if((c[6509]|0)==(a|0)?1:(c[k>>2]|0)<(c[j>>2]|0)){i=l;return}nk(a,b,m,n,o,p,q,r);h=c[q>>2]|0;if((h|0)<1){i=l;return}g=c[k>>2]|0;k=g>>3;if((c[6509]|0)==(b|0)){En(a,b,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,h,c[r>>2]|0,0);i=l;return}f=c[j>>2]|0;if((g|0)==(f|0)){if((c[r>>2]|0)<=0){i=l;return}j=b+16|0;e=a+16|0;s=h;t=0;while(1){u=_(c[o>>2]|0,k)|0;v=_(c[m>>2]|0,k)|0;xq((c[(c[j>>2]|0)+((c[p>>2]|0)+t<<2)>>2]|0)+u|0,(c[(c[e>>2]|0)+((c[n>>2]|0)+t<<2)>>2]|0)+v|0,_(s,k)|0)|0;v=t+1|0;if((v|0)>=(c[r>>2]|0))break;s=c[q>>2]|0;t=v}i=l;return}if(!((g|0)==32&(f|0)==8)){i=l;return}f=c[198778]|0;g=c[r>>2]|0;if((g|0)<=0){i=l;return}t=a+16|0;a=b+16|0;b=h;h=g;g=0;while(1){if((b|0)>0){s=c[t>>2]|0;k=c[a>>2]|0;e=0;do{j=d[(c[s+((c[n>>2]|0)+g<<2)>>2]|0)+((c[m>>2]|0)+e)>>0]|0;c[(c[k+((c[p>>2]|0)+g<<2)>>2]|0)+((c[o>>2]|0)+e<<2)>>2]=(d[f+(j*3|0)>>0]|0)<<16|(d[f+(j*3|0)+1>>0]|0)<<8|(d[f+(j*3|0)+2>>0]|0)|-16777216;e=e+1|0;j=c[q>>2]|0}while((e|0)<(j|0));w=j;x=c[r>>2]|0;y=w}else{x=h;y=b}g=g+1|0;if((g|0)>=(x|0))break;else{b=y;h=x}}i=l;return}function Rl(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=(j|0)>0;if((i|e)&7|0){if(!k)return;l=b+16|0;m=d+16|0;if(!i)return;else n=0;do{o=(c[(c[m>>2]|0)+(n+h<<2)>>2]|0)+g|0;p=(c[(c[l>>2]|0)+(n+f<<2)>>2]|0)+e|0;q=i;while(1){r=a[p>>0]|0;if(r<<24>>24)a[o>>0]=r;q=q+-1|0;if(!q)break;else{o=o+1|0;p=p+1|0}}n=n+1|0}while((n|0)!=(j|0));return}if(!k)return;k=b+16|0;b=d+16|0;d=i>>3;if(!d)return;else s=0;do{i=(c[(c[b>>2]|0)+(s+h<<2)>>2]|0)+g|0;n=(c[(c[k>>2]|0)+(s+f<<2)>>2]|0)+e|0;l=d;while(1){m=a[n>>0]|0;if(m<<24>>24)a[i>>0]=m;m=a[n+1>>0]|0;if(m<<24>>24)a[i+1>>0]=m;m=a[n+2>>0]|0;if(m<<24>>24)a[i+2>>0]=m;m=a[n+3>>0]|0;if(m<<24>>24)a[i+3>>0]=m;m=a[n+4>>0]|0;if(m<<24>>24)a[i+4>>0]=m;m=a[n+5>>0]|0;if(m<<24>>24)a[i+5>>0]=m;m=a[n+6>>0]|0;if(m<<24>>24)a[i+6>>0]=m;m=a[n+7>>0]|0;if(m<<24>>24)a[i+7>>0]=m;l=l+-1|0;if(!l)break;else{i=i+8|0;n=n+8|0}}s=s+1|0}while((s|0)!=(j|0));return}function Sl(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)k=0;else return;do{b=(c[(c[a>>2]|0)+(k+g<<2)>>2]|0)+(f<<2)|0;l=(c[(c[j>>2]|0)+(k+e<<2)>>2]|0)+(d<<2)|0;m=0;while(1){n=c[l>>2]|0;o=sk(c[b>>2]|0,n,n>>>24)|0;c[b>>2]=c[b>>2]&-16777216|o;m=m+1|0;if((m|0)==(h|0))break;else{b=b+4|0;l=l+4|0}}k=k+1|0}while((k|0)!=(i|0));return}function Tl(a){a=a|0;var b=0;b=Bm(11032)|0;Em(b,0,11032);c[b>>2]=a<<2;c[43232]=(c[43232]|0)+1;return b|0}function Ul(a){a=a|0;var b=0,d=0;if(!a)return;b=a+11016|0;Ym(c[b>>2]|0);Xm(c[b>>2]|0);c[b>>2]=0;b=0;do{d=a+8+(b*344|0)+336|0;Dm(c[d>>2]|0);c[d>>2]=0;b=b+1|0}while((b|0)!=32);Dm(a);c[43232]=(c[43232]|0)+-1;return} function Qm(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,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,aa=0,ba=0;rq(d|0,0,366)|0;e=a+8224|0;f=c[e>>2]|0;g=(f|0)!=0;if(g){h=c[f+4>>2]|0;i=(h|0)<1?1:h;j=(h|0)<9;h=j?2:4;k=j?4:8;j=a+8228|0;l=c[j>>2]|0;m=(l|0)/(i|0)|0;n=(l|0)%(i|0)|0;if(m>>>0<32){o=f+16+(m*20|0)|0;p=c[o>>2]|0;q=(p|0)/12|0;r=(c[25984+(((p|0)%12|0)<<2)>>2]<<16|0)/22050|0;if((p|0)<36){p=r;s=q;while(1){t=s+1|0;u=(p|0)/2|0;if((t|0)<3){p=u;s=t}else{v=u;w=t;break}}}else{v=r;w=q}if((w|0)>3){q=v;r=w;while(1){r=r+-1|0;w=q<<1;if((r|0)<=3){x=w;break}else q=w}}else x=v;v=c[f+16+(m*20|0)+8>>2]<<8;q=c[f+16+(m*20|0)+12>>2]|0;if((q|0)==1){r=(m|0)>0;if(r){w=c[f+16+((m+-1|0)*20|0)>>2]|0;s=(w|0)/12|0;p=(c[25984+(((w|0)%12|0)<<2)>>2]<<16|0)/22050|0;if((w|0)<36){w=p;t=s;while(1){u=t+1|0;y=(w|0)/2|0;if((u|0)<3){w=y;t=u}else{z=y;A=u;break}}}else{z=p;A=s}if((A|0)>3){s=z;p=A;while(1){p=p+-1|0;A=s<<1;if((p|0)<=3){B=A;break}else s=A}}else B=z;z=i-n|0;s=((_(B,z)|0)+(_(x,n)|0)|0)/(i|0)|0;if(r){C=s;D=z;E=c[f+16+((m+-1|0)*20|0)+8>>2]<<8}else{C=s;D=z;E=v}}else{z=i-n|0;C=((_((c[6496]<<16|0)/44100|0,z)|0)+(_(x,n)|0)|0)/(i|0)|0;D=z;E=v}F=C;G=((_(E,D)|0)+(_(v,n)|0)|0)/(i|0)|0}else{F=x;G=v}a:do switch(q|0){case 2:{switch(l>>>1&7|0){case 1:{H=(F*129|0)/128|0;I=G;break a;break}case 2:{H=(F*130|0)/128|0;I=G;break a;break}case 3:{H=(F*129|0)/128|0;I=G;break a;break}case 5:{H=(F*127|0)/128|0;I=G;break a;break}case 6:{H=(F*126|0)/128|0;I=G;break a;break}case 7:{H=(F*127|0)/128|0;I=G;break a;break}default:{H=F;I=G;break a}}break}case 3:{H=(_(F,i-n|0)|0)/(i|0)|0;I=G;break}case 4:{H=F;I=(_(G,n+1|0)|0)/(i|0)|0;break}case 5:{H=F;I=(_(G,i-n|0)|0)/(i|0)|0;break}case 6:{v=c[f+16+(((((l|0)/(h|0)|0|0)%4|0)+(m&28)|0)*20|0)>>2]|0;x=(v|0)/12|0;D=(c[25984+(((v|0)%12|0)<<2)>>2]<<16|0)/22050|0;if((v|0)<36){v=D;E=x;while(1){C=E+1|0;z=(v|0)/2|0;if((C|0)<3){v=z;E=C}else{J=z;K=C;break}}}else{J=D;K=x}if((K|0)>3){E=J;v=K;while(1){v=v+-1|0;C=E<<1;if((v|0)<=3){L=C;M=33;break}else E=C}}else{L=J;M=33}break}default:{L=F;M=33}}while(0);if((M|0)==33)if((q|0)==7){q=c[f+16+(((((l|0)/(k|0)|0|0)%4|0)+(m&28)|0)*20|0)>>2]|0;k=(q|0)/12|0;l=(c[25984+(((q|0)%12|0)<<2)>>2]<<16|0)/22050|0;if((q|0)<36){q=l;F=k;while(1){J=F+1|0;K=(q|0)/2|0;if((J|0)<3){q=K;F=J}else{N=K;O=J;break}}}else{N=l;O=k}if((O|0)>3){k=N;l=O;while(1){l=l+-1|0;O=k<<1;if((l|0)<=3){H=O;I=G;break}else k=O}}else{H=N;I=G}}else{H=L;I=G}if(!(c[a+11564>>2]|0))P=I;else{G=(_(c[44183]>>8,I)|0)/256|0;P=(_(G,c[43839]|0)|0)/256|0}G=a+8232|0;I=c[G>>2]|0;c[G>>2]=Pm(a,d,183,H,I,o,P)|0;if((c[f+16+(m*20|0)+4>>2]|0)==6){Q=j;R=m;S=H;T=o;U=i;V=P}else{G=943556;L=G+128|0;do{b[G>>1]=0;G=G+2|0}while((G|0)<(L|0));G=c[a+11572>>2]|0;if((G|0)!=0?(L=c[a+11580>>2]|0,(L|0)>0):0){Pm(a,943556,64,c[a+11576>>2]|0,I,G,L)|0;W=0}else W=0;do{L=d+(W<<1)|0;G=_(b[L>>1]|0,W)|0;b[L>>1]=((_(b[943556+(W<<1)>>1]|0,64-W|0)|0)+G|0)/64|0;W=W+1|0}while((W|0)!=64);Q=j;R=m;S=H;T=o;U=i;V=P}}else{Q=j;R=m;S=0;T=0;U=i;V=0}}else{i=a+8228|0;m=c[i>>2]|0;rq(d|0,0,366)|0;Q=i;R=m;S=0;T=0;U=1;V=0}c[a+11572>>2]=T;c[a+11576>>2]=S;c[a+11580>>2]=V;c[Q>>2]=(c[Q>>2]|0)+1;V=a+11584|0;c[V>>2]=(c[V>>2]|0)+-1;if((((g?c[a+8236>>2]|0:0)?(g=c[f+8>>2]|0,S=c[f+12>>2]|0,(g|0)<(S|0)):0)?(c[Q>>2]|0)>=(_(S,U)|0):0)?(c[Q>>2]=_(g,U)|0,(c[a+11564>>2]|0)==0):0)c[V>>2]=_(32-g|0,U)|0;do if((c[e>>2]|0)!=0?(c[a+11564>>2]|0)==0:0){if(!(c[V>>2]|0)){c[e>>2]=0;X=1;break}if((c[f+12>>2]|0)<=(_(c[f+8>>2]|0,U)|0)){if((R|0)<32){g=0;S=R;while(1){T=(c[f+16+(S*20|0)+8>>2]|0)>0?1:g;S=S+1|0;if((S|0)==32){Y=T;break}else g=T}if(Y|0){X=0;break}}c[e>>2]=0;X=1}else X=0}else X=0;while(0);Y=a+8220|0;f=c[Y>>2]|0;b:do if((((f|0)!=0?(R=a+11564|0,(c[R>>2]|0)!=0):0)?(c[V>>2]|0)==0:0)?(U=a+11568|0,g=c[U>>2]|0,g>>>0<64):0){S=c[f+43020+(g<<2)>>2]|0;do if(!(S&4)){c:do if(S&2)if((g|0)>0)if(!(S&1)){T=g;while(1){m=T+-1|0;c[U>>2]=m;if((T|0)<=1){Z=m;M=72;break c}if(!(c[f+43020+(m<<2)>>2]&1))T=m;else{Z=m;M=72;break}}}else{Z=g;M=72}else $=0;else{T=g+1|0;c[U>>2]=T;Z=T;M=72}while(0);if((M|0)==72)if(Z>>>0>63)break;else $=Z;if((((c[f+41996+($<<4)>>2]|0)>63?(c[f+41996+($<<4)+4>>2]|0)>63:0)?(c[f+41996+($<<4)+8>>2]|0)>63:0)?(c[f+41996+($<<4)+12>>2]|0)>63:0){c[e>>2]=0;c[R>>2]=0;c[Y>>2]=0;c[a+8208>>2]=0;c[a+8236>>2]=0;aa=1;break b}T=c[f+41996+($<<4)+(c[a+8240>>2]<<2)>>2]|0;if((T|0)>63)ba=0;else ba=f+12+(((T|0)<0?0:(T|0)<63?T:63)*656|0)|0;c[e>>2]=ba;c[Q>>2]=0;b[a+11544>>1]=183;c[V>>2]=Rm(f,f+41996+(c[U>>2]<<4)|0)|0;M=82;break b}else c[U>>2]=-1;while(0);c[e>>2]=0;c[R>>2]=0;c[Y>>2]=0;c[a+8208>>2]=0;c[a+8236>>2]=0;aa=1}else M=82;while(0);if((M|0)==82)if(!X)return;else aa=1;do{X=d+(183-aa<<1)|0;b[X>>1]=(_(b[X>>1]|0,aa)|0)/64|0;aa=aa+1|0}while((aa|0)!=64);return}function Rm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=c[b>>2]|0;e=d>>>0<64;if(e?(c[a+12+(d*656|0)+12>>2]|0)<=(c[a+12+(d*656|0)+8>>2]|0):0)f=d;else g=4;do if((g|0)==4){h=c[b+4>>2]|0;i=h>>>0<64;if(i?(c[a+12+(h*656|0)+12>>2]|0)<=(c[a+12+(h*656|0)+8>>2]|0):0){f=h;break}j=c[b+8>>2]|0;k=j>>>0<64;if(k?(c[a+12+(j*656|0)+12>>2]|0)<=(c[a+12+(j*656|0)+8>>2]|0):0){f=j;break}l=c[b+12>>2]|0;m=l>>>0<64;if(m?(c[a+12+(l*656|0)+12>>2]|0)<=(c[a+12+(l*656|0)+8>>2]|0):0){f=l;break}if(e){n=c[a+12+(d*656|0)+4>>2]|0;o=((n|0)<1?1:n)<<5;p=(o|0)<0?0:o}else p=0;if(i){i=c[a+12+(h*656|0)+4>>2]|0;h=((i|0)<1?1:i)<<5;q=(p|0)>(h|0)?p:h}else q=p;if(k){k=c[a+12+(j*656|0)+4>>2]|0;j=((k|0)<1?1:k)<<5;r=(q|0)>(j|0)?q:j}else r=q;if(!m){s=r;return s|0}m=c[a+12+(l*656|0)+4>>2]|0;l=((m|0)<1?1:m)<<5;s=(r|0)>(l|0)?r:l;return s|0}while(0);r=c[a+12+(f*656|0)+4>>2]|0;s=(r|0)<1?32:r<<5;return s|0}function Sm(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;if((d|0)<=0)return;e=a+11544|0;f=a+11546|0;g=a+8244|0;h=a+8608|0;i=a+8240|0;j=a+11540|0;k=d;d=c[e>>2]&65535;l=a;while(1){if(d<<16>>16<183){m=183-(d<<16>>16)|0;n=(m|0)<(k|0)?m:k;if((n|0)>0){m=((b[a+8244+(d<<16>>16<<1)>>1]|0)+(b[f>>1]|0)|0)>>>1&65535;b[f>>1]=m;b[l>>1]=m;m=l+2|0;if((n|0)>1){o=1;p=m;while(1){q=c[e>>2]|0;r=((b[a+8244+((q<<16>>16)+o<<1)>>1]|0)+(q>>16)|0)>>>1&65535;b[f>>1]=r;b[p>>1]=r;r=p+2|0;o=o+1|0;if((o|0)>=(n|0)){s=r;break}else p=r}}else s=m;t=c[e>>2]&65535;u=s}else{t=d;u=l}b[e>>1]=(t&65535)+n;p=k-n|0;if((p|0)>0){v=p;w=u}else{x=23;break}}else{v=k;w=l}p=b[h>>1]|0;if(!(1<<c[i>>2]&c[225085]))Qm(a,g);else{xq(a+8610+(((c[j>>2]|0)%8|0)*366|0)|0,g|0,366)|0;c[j>>2]=((c[j>>2]|0)+1|0)%8|0;Qm(a,g);o=0;do{r=a+8244+(o<<1)|0;b[r>>1]=((b[a+8610+((((c[j>>2]|0)+4|0)%8|0)*366|0)+(o<<1)>>1]<<1)+((b[r>>1]|0)*3|0)|0)/4|0;o=o+1|0}while((o|0)!=183)}o=c[i>>2]|0;if(!(1<<o&c[225086]))y=o;else{o=0;do{n=a+8244+(o<<1)|0;m=b[n>>1]|0;r=m<<16>>16;if(m<<16>>16>-1)z=r&-4096;else z=0-(0-r&61440)|0;b[n>>1]=z;o=o+1|0}while((o|0)!=183);y=c[i>>2]|0}if(1<<y&c[225087]|0){o=((b[g>>1]|0)+((p<<16>>16)*3|0)|0)/4|0;b[g>>1]=o;n=o;o=1;do{r=a+8244+(o<<1)|0;n=(((n<<16>>16)*7|0)+(b[r>>1]|0)|0)/8|0;b[r>>1]=n;o=o+1|0}while((o|0)!=183)}b[e>>1]=0;if((v|0)>0){k=v;d=0;l=w}else{x=23;break}}if((x|0)==23)return}function Tm(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;Em(a,0,8192);do if(c[43852]|0){if(!(1<<c[a+8240>>2]&c[225084])){Sm(a,d);break}Sm(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)}}while(0);e=a+8208|0;f=c[e>>2]|0;if(!((f|0)!=0&(d|0)>0))return;g=a+8216|0;h=f;f=c[g>>2]|0;i=0;while(1){j=d-i|0;k=c[h>>2]|0;l=k-f|0;m=(j|0)<(l|0)?j:l;if((m|0)<1){n=f;o=k;break}b[a+(i<<1)>>1]=b[(c[h+20>>2]|0)+(f<<1)>>1]|0;k=(c[g>>2]|0)+1|0;c[g>>2]=k;l=i+1|0;if((m|0)>1){j=k;p=l;q=1;while(1){b[a+(p<<1)>>1]=b[(c[(c[e>>2]|0)+20>>2]|0)+(j<<1)>>1]|0;r=(c[g>>2]|0)+1|0;c[g>>2]=r;s=p+1|0;q=q+1|0;if((q|0)>=(m|0)){t=r;u=s;break}else{j=r;p=s}}}else{t=k;u=l}h=c[e>>2]|0;if((c[h+28>>2]|0)!=0?(t|0)>=(c[h>>2]|0):0){c[g>>2]=0;v=0}else v=t;if(!((u|0)<(d|0)&(h|0)!=0)){w=7;break}else{f=v;i=u}}if((w|0)==7)return;if((o|0)>(n|0))return;c[a+8224>>2]=0;c[a+11564>>2]=0;c[a+8220>>2]=0;c[e>>2]=0;c[a+8236>>2]=0;return}function Um(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a=c[43825]|0;c[43825]=a+1;if((a|0)>1){rq(d|0,0,e|0)|0;return}c[198763]=1;a=(e|0)/2|0;f=(c[6508]|0)==-1;g=Fn()|0;if(!f){f=(g-(c[6508]|0)|0)>500;c[6508]=Fn()|0;if(f){if((e|0)<=1)return;rq(d|0,0,((a|0)>1?a:1)<<1|0)|0;return}}else c[6508]=g;Tm(702348,a);Tm(713936,a);Tm(725524,a);Tm(737112,a);Tm(748700,a);Tm(760288,a);Tm(771876,a);Tm(783464,a);if(c[43852]|0){g=a<<1;if(c[177643]|0)rq(748700,0,g|0)|0;if(c[180540]|0)rq(760288,0,g|0)|0;if(c[183437]|0)rq(771876,0,g|0)|0;if(c[186334]|0)rq(783464,0,g|0)|0}g=(e|0)>1;if(g){e=0;do{f=702348+(e<<1)|0;h=(b[713936+(e<<1)>>1]|0)+(b[f>>1]|0)|0;if((h|0)<=24575)if((h|0)<-24575)i=((h+24576|0)/5|0)+-24576|0;else i=h;else i=((h+-24576|0)/5|0)+24576|0;b[f>>1]=i;e=e+1|0}while((e|0)!=(a|0));j=0;do{e=725524+(j<<1)|0;i=(b[737112+(j<<1)>>1]|0)+(b[e>>1]|0)|0;if((i|0)<=24575)if((i|0)<-24575)k=((i+24576|0)/5|0)+-24576|0;else k=i;else k=((i+-24576|0)/5|0)+24576|0;b[e>>1]=k;j=j+1|0}while((j|0)!=(a|0));l=0;do{j=702348+(l<<1)|0;k=(b[725524+(l<<1)>>1]|0)+(b[j>>1]|0)|0;if((k|0)<=24575)if((k|0)<-24575)m=((k+24576|0)/5|0)+-24576|0;else m=k;else m=((k+-24576|0)/5|0)+24576|0;b[j>>1]=m;l=l+1|0}while((l|0)!=(a|0));n=0;do{l=748700+(n<<1)|0;m=(b[760288+(n<<1)>>1]|0)+(b[l>>1]|0)|0;if((m|0)<=24575)if((m|0)<-24575)o=((m+24576|0)/5|0)+-24576|0;else o=m;else o=((m+-24576|0)/5|0)+24576|0;b[l>>1]=o;n=n+1|0}while((n|0)!=(a|0));p=0;do{n=771876+(p<<1)|0;o=(b[783464+(p<<1)>>1]|0)+(b[n>>1]|0)|0;if((o|0)<=24575)if((o|0)<-24575)q=((o+24576|0)/5|0)+-24576|0;else q=o;else q=((o+-24576|0)/5|0)+24576|0;b[n>>1]=q;p=p+1|0}while((p|0)!=(a|0));r=0;do{p=748700+(r<<1)|0;q=(b[771876+(r<<1)>>1]|0)+(b[p>>1]|0)|0;if((q|0)<=24575)if((q|0)<-24575)s=((q+24576|0)/5|0)+-24576|0;else s=q;else s=((q+-24576|0)/5|0)+24576|0;b[p>>1]=s;r=r+1|0}while((r|0)!=(a|0));t=0;do{r=702348+(t<<1)|0;s=(b[748700+(t<<1)>>1]|0)+(b[r>>1]|0)|0;if((s|0)<=24575)if((s|0)<-24575)u=((s+24576|0)/5|0)+-24576|0;else u=s;else u=((s+-24576|0)/5|0)+24576|0;b[r>>1]=u;t=t+1|0}while((t|0)!=(a|0));t=c[43838]|0;if((t|0)!=256&g){u=0;do{r=702348+(u<<1)|0;b[r>>1]=(_(b[r>>1]|0,t)|0)>>>8;u=u+1|0}while((u|0)<(a|0))}}Om(702348,a);u=c[198764]|0;if(u|0)Cb[u&15](702348,a);if(g){g=0;do{b[d+(g<<1)>>1]=b[702348+(g<<1)>>1]|0;g=g+1|0}while((g|0)<(a|0))}c[198763]=0;return}function Vm(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[43826]|c[43824])){Um(0,b,d);return}else{rq(b|0,0,d|0)|0;return}}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Bm(40)|0;if(!d){e=0;return e|0}c[d>>2]=a;c[d+8>>2]=c[6495];c[d+4>>2]=b;c[d+12>>2]=0;c[d+28>>2]=0;c[d+32>>2]=256;f=Bm(_((b|0)/8|0,a)|0)|0;c[d+16>>2]=f;c[d+20>>2]=f;c[d+36>>2]=-1;c[43232]=(c[43232]|0)+1;e=d;return e|0}function Xm(a){a=a|0;var b=0,d=0,e=0;if(!a)return;zn();if(c[44178]|0){zn();b=a+36|0;d=c[b>>2]|0;if(d>>>0<8?(e=702348+(d*11588|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[702348+(d*11588|0)+8224>>2]=0;c[702348+(d*11588|0)+11564>>2]=0;c[702348+(d*11588|0)+8220>>2]=0;c[e>>2]=0;c[702348+(d*11588|0)+8236>>2]=0;c[b>>2]=-1}An()}Dm(c[a+16>>2]|0);Dm(a);c[43232]=(c[43232]|0)+-1;An();return}function Ym(a){a=a|0;var b=0,d=0,e=0;if(!((a|0)!=0&(c[44178]|0)!=0))return;zn();b=a+36|0;d=c[b>>2]|0;if(d>>>0<8?(e=702348+(d*11588|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[702348+(d*11588|0)+8224>>2]=0;c[702348+(d*11588|0)+11564>>2]=0;c[702348+(d*11588|0)+8220>>2]=0;c[e>>2]=0;c[702348+(d*11588|0)+8236>>2]=0;c[b>>2]=-1}An();return}function Zm(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,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){if((g|0)!=-1){c[702348+(g*11588|0)+8224>>2]=0;c[702348+(g*11588|0)+11564>>2]=0;c[702348+(g*11588|0)+8220>>2]=0;c[702348+(g*11588|0)+8208>>2]=0;c[702348+(g*11588|0)+8236>>2]=0;h=-1;return h|0}i=c[43852]|0?4:8;j=0;do{c[702348+(j*11588|0)+8224>>2]=0;c[702348+(j*11588|0)+11564>>2]=0;c[702348+(j*11588|0)+8220>>2]=0;c[702348+(j*11588|0)+8208>>2]=0;c[702348+(j*11588|0)+8236>>2]=0;j=j+1|0}while((j|0)<(i|0));h=-1;return h|0}if(!f)_m(a);i=(g|0)==-1;do if(!(c[43852]|0))if(i)if(!((c[177639]|0)==0&(c[177643]|0)==0&(c[178478]|0)==0))if(!((c[180536]|0)==0&(c[180540]|0)==0&(c[181375]|0)==0))if(!((c[183433]|0)==0&(c[183437]|0)==0&(c[184272]|0)==0))if(!((c[186330]|0)==0&(c[186334]|0)==0&(c[187169]|0)==0))if(!((c[189227]|0)==0&(c[189231]|0)==0&(c[190066]|0)==0))if(!((c[192124]|0)==0&(c[192128]|0)==0&(c[192963]|0)==0))if(!((c[195021]|0)==0&(c[195025]|0)==0&(c[195860]|0)==0))if((c[197918]|0)==0&(c[197922]|0)==0&(c[198757]|0)==0){k=7;l=26}else{j=c[177643]|0;if((j|0)!=0&(c[178478]|0)==0){m=0;n=c[j+4>>2]|0}else{m=-1;n=256}j=c[180540]|0;if((j|0)!=0&(c[181375]|0)==0){o=c[j+4>>2]|0;j=(m|0)==-1|(o|0)<(n|0);p=j?1:m;q=j?o:n}else{p=m;q=n}o=c[183437]|0;if((o|0)!=0&(c[184272]|0)==0){j=c[o+4>>2]|0;o=(p|0)==-1|(j|0)<(q|0);r=o?2:p;s=o?j:q}else{r=p;s=q}j=c[186334]|0;if((j|0)!=0&(c[187169]|0)==0){o=c[j+4>>2]|0;j=(r|0)==-1|(o|0)<(s|0);t=j?3:r;u=j?o:s}else{t=r;u=s}o=c[189231]|0;if((o|0)!=0&(c[190066]|0)==0){j=c[o+4>>2]|0;o=(t|0)==-1|(j|0)<(u|0);v=o?4:t;w=o?j:u}else{v=t;w=u}j=c[192128]|0;if((j|0)!=0&(c[192963]|0)==0){o=c[j+4>>2]|0;j=(v|0)==-1|(o|0)<(w|0);x=j?5:v;y=j?o:w}else{x=v;y=w}o=c[195025]|0;if((o|0)!=0&(c[195860]|0)==0){j=c[o+4>>2]|0;o=(x|0)==-1|(j|0)<(y|0);z=o?6:x;A=o?j:y}else{z=x;A=y}j=c[197922]|0;if(!((j|0)!=0&(c[198757]|0)==0)){k=z;l=26;break}k=((z|0)==-1?1:(c[j+4>>2]|0)<(A|0))?7:z;l=26}else{k=6;l=26}else{k=5;l=26}else{k=4;l=26}else{k=3;l=26}else{k=2;l=26}else{k=1;l=26}else{k=0;l=26}else{k=g;l=26}else if(i){j=(c[177639]|0)==0;if(!(j&(c[177643]|0)==0&(c[178478]|0)==0&(c[189227]|0)==0&(c[189231]|0)==0&(c[190066]|0)==0))if(!((c[180536]|0)==0&(c[180540]|0)==0&(c[181375]|0)==0&(c[192124]|0)==0&(c[192128]|0)==0&(c[192963]|0)==0))if(!((c[183433]|0)==0&(c[183437]|0)==0&(c[184272]|0)==0&(c[195021]|0)==0&(c[195025]|0)==0&(c[195860]|0)==0))if(!((c[186330]|0)==0&(c[186334]|0)==0&(c[187169]|0)==0&(c[197918]|0)==0&(c[197922]|0)==0&(c[198757]|0)==0)){o=c[225083]|0;if(!(j&(c[177643]|0)==0&(c[178478]|0)==0&(c[189227]|0)==0&(c[189231]|0)==0&(o&1|0)==0))if(!((c[180536]|0)==0&(c[180540]|0)==0&(c[181375]|0)==0&(c[192124]|0)==0&(c[192128]|0)==0&(o&2|0)==0))if(!((c[183433]|0)==0&(c[183437]|0)==0&(c[184272]|0)==0&(c[195021]|0)==0&(c[195025]|0)==0&(o&4|0)==0))if(!((c[186330]|0)==0&(c[186334]|0)==0&(c[187169]|0)==0&(c[197918]|0)==0&(c[197922]|0)==0&(o&8|0)==0))if(!((c[178478]|o&1|0)==0&(j&(c[177643]|0)==0)))if(!((c[181375]|o&2|0)==0&((c[180536]|0)==0&(c[180540]|0)==0)))if(!((c[184272]|o&4|0)==0&((c[183433]|0)==0&(c[183437]|0)==0)))if(!((c[187169]|o&8|0)==0&((c[186330]|0)==0&(c[186334]|0)==0))){if((o&1|0)!=0?!((c[189227]|0)==0&(c[189231]|0)==0&(c[190066]|0)==0):0){B=-1;C=256}else{j=c[177643]|0;if(!j){B=-1;C=256}else{B=0;C=c[j+4>>2]|0}}if((o&2|0)!=0?!((c[192124]|0)==0&(c[192128]|0)==0&(c[192963]|0)==0):0){D=B;E=C}else l=32;do if((l|0)==32){j=c[180540]|0;if(!j){D=B;E=C;break}F=c[j+4>>2]|0;j=(B|0)!=-1&(F|0)>(C|0);D=j?B:1;E=j?C:F}while(0);if((o&4|0)!=0?!((c[195021]|0)==0&(c[195025]|0)==0&(c[195860]|0)==0):0){G=D;H=E}else l=36;do if((l|0)==36){F=c[183437]|0;if(!F){G=D;H=E;break}j=c[F+4>>2]|0;F=(D|0)!=-1&(j|0)>(E|0);G=F?D:2;H=F?E:j}while(0);if(o&8|0?!((c[197918]|0)==0&(c[197922]|0)==0&(c[198757]|0)==0):0){k=G;l=26;break}j=c[186334]|0;if(!j){k=G;l=26;break}if((G|0)==-1){I=3;break}if((c[j+4>>2]|0)>(H|0)){k=G;l=26}else I=3}else I=3;else I=2;else I=1;else I=0;else I=3;else I=2;else I=1;else I=0}else I=3;else I=2;else I=1;else I=0}else{k=g;l=26}while(0);if((l|0)==26)if(k>>>0>7){h=-1;return h|0}else I=k;k=702348+(I*11588|0)+8224|0;if(!(c[k>>2]|0))c[702348+(I*11588|0)+11580>>2]=0;l=c[a+4>>2]|0;g=(l|0)<1?1:l;c[k>>2]=a;c[702348+(I*11588|0)+8240>>2]=(I|0)%4|0;c[702348+(I*11588|0)+8228>>2]=_(g,d)|0;c[702348+(I*11588|0)+8232>>2]=0;b[702348+(I*11588|0)+11544>>1]=183;b[702348+(I*11588|0)+11546>>1]=0;c[702348+(I*11588|0)+11584>>2]=_(g,e)|0;c[702348+(I*11588|0)+8220>>2]=f;c[702348+(I*11588|0)+11564>>2]=0;c[702348+(I*11588|0)+8236>>2]=1;h=I;return h|0}function _m(a){a=a|0;if(!a){if(!(c[178478]|0)){c[177643]=0;c[178478]=0;c[177642]=0;c[177639]=0;c[177646]=0}if(!(c[181375]|0)){c[180540]=0;c[181375]=0;c[180539]=0;c[180536]=0;c[180543]=0}if(!(c[184272]|0)){c[183437]=0;c[184272]=0;c[183436]=0;c[183433]=0;c[183440]=0}if(!(c[187169]|0)){c[186334]=0;c[187169]=0;c[186333]=0;c[186330]=0;c[186337]=0}if(!(c[190066]|0)){c[189231]=0;c[190066]=0;c[189230]=0;c[189227]=0;c[189234]=0}if(!(c[192963]|0)){c[192128]=0;c[192963]=0;c[192127]=0;c[192124]=0;c[192131]=0}if(!(c[195860]|0)){c[195025]=0;c[195860]=0;c[195024]=0;c[195021]=0;c[195028]=0}if(c[198757]|0)return;c[197922]=0;c[198757]=0;c[197921]=0;c[197918]=0;c[197925]=0;return}else{if((c[177643]|0)==(a|0)){c[177643]=0;c[178478]=0;c[177642]=0;c[177639]=0;c[177646]=0}if((c[180540]|0)==(a|0)){c[180540]=0;c[181375]=0;c[180539]=0;c[180536]=0;c[180543]=0}if((c[183437]|0)==(a|0)){c[183437]=0;c[184272]=0;c[183436]=0;c[183433]=0;c[183440]=0}if((c[186334]|0)==(a|0)){c[186334]=0;c[187169]=0;c[186333]=0;c[186330]=0;c[186337]=0}if((c[189231]|0)==(a|0)){c[189231]=0;c[190066]=0;c[189230]=0;c[189227]=0;c[189234]=0}if((c[192128]|0)==(a|0)){c[192128]=0;c[192963]=0;c[192127]=0;c[192124]=0;c[192131]=0}if((c[195025]|0)==(a|0)){c[195025]=0;c[195860]=0;c[195024]=0;c[195021]=0;c[195028]=0}if((c[197922]|0)!=(a|0))return;c[197922]=0;c[198757]=0;c[197921]=0;c[197918]=0;c[197925]=0;return}}function $m(a){a=a|0;var b=0;_m(a);b=c[a+12>>2]|0;Zm(a,0,(b|0)>(c[a+8>>2]|0)?b:32,0,-1)|0;return}function an(a){a=a|0;var b=0,d=0,e=0;if((c[177643]|0)!=(a|0))if((c[180540]|0)!=(a|0))if((c[183437]|0)!=(a|0))if((c[186334]|0)!=(a|0))if((c[189231]|0)!=(a|0))if((c[192128]|0)!=(a|0))if((c[195025]|0)!=(a|0))if((c[197922]|0)==(a|0))b=7;else{d=-1;return d|0}else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;e=c[a+4>>2]|0;d=(c[702348+(b*11588|0)+8228>>2]|0)/(((e|0)<1?1:e)|0)|0;return d|0}function bn(a){a=a|0;var b=0;if(a>>>0>7){b=0;return b|0}b=c[702348+(a*11588|0)+8224>>2]|0;return b|0}function cn(a){a=a|0;if(a>>>0>7)return;c[702348+(a*11588|0)+8236>>2]=0;return}function dn(a){a=a|0;var b=0,d=0,e=0,f=0;if(a|0){b=0;do{d=702348+(b*11588|0)+11564|0;if(c[d>>2]|0?(e=702348+(b*11588|0)+8220|0,f=c[e>>2]|0,(f|0)!=0&(f|0)==(a|0)):0){c[702348+(b*11588|0)+8224>>2]=0;c[d>>2]=0;c[e>>2]=0;c[702348+(b*11588|0)+8208>>2]=0;c[702348+(b*11588|0)+8236>>2]=0}b=b+1|0}while((b|0)!=8);return}if(c[178478]|0){c[177643]=0;c[178478]=0;c[177642]=0;c[177639]=0;c[177646]=0}if(c[181375]|0){c[180540]=0;c[181375]=0;c[180539]=0;c[180536]=0;c[180543]=0}if(c[184272]|0){c[183437]=0;c[184272]=0;c[183436]=0;c[183433]=0;c[183440]=0}if(c[187169]|0){c[186334]=0;c[187169]=0;c[186333]=0;c[186330]=0;c[186337]=0}if(c[190066]|0){c[189231]=0;c[190066]=0;c[189230]=0;c[189227]=0;c[189234]=0}if(c[192963]|0){c[192128]=0;c[192963]=0;c[192127]=0;c[192124]=0;c[192131]=0}if(c[195860]|0){c[195025]=0;c[195860]=0;c[195024]=0;c[195021]=0;c[195028]=0}if(!(c[198757]|0))return;c[197922]=0;c[198757]=0;c[197921]=0;c[197918]=0;c[197925]=0;return}function en(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;dn(a);if(b>>>0>63)return;if(!a){Yp(43775)|0;return}e=a+41996+(b<<4)|0;if(!(Rm(a,e)|0))return;f=c[e>>2]|0;g=(f|0)<63?f:63;f=Zm(a+12+(((g|0)<0?0:g)*656|0)|0,0,32,a,4)|0;if((f|0)!=-1){if((c[e>>2]|0)>63)c[702348+(f*11588|0)+8224>>2]=0;c[702348+(f*11588|0)+11564>>2]=1;c[702348+(f*11588|0)+8220>>2]=a;c[702348+(f*11588|0)+11568>>2]=b;c[702348+(f*11588|0)+8240>>2]=0;c[702348+(f*11588|0)+11584>>2]=Rm(a,e)|0}f=a+41996+(b<<4)+4|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=Zm(a+12+(((h|0)<0?0:h)*656|0)|0,0,32,a,5)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[702348+(g*11588|0)+8224>>2]=0;c[702348+(g*11588|0)+11564>>2]=1;c[702348+(g*11588|0)+8220>>2]=a;c[702348+(g*11588|0)+11568>>2]=b;c[702348+(g*11588|0)+8240>>2]=1;c[702348+(g*11588|0)+11584>>2]=Rm(a,e)|0}g=a+41996+(b<<4)+8|0;f=c[g>>2]|0;h=(f|0)<63?f:63;f=Zm(a+12+(((h|0)<0?0:h)*656|0)|0,0,32,a,6)|0;if((f|0)!=-1){if((c[g>>2]|0)>63)c[702348+(f*11588|0)+8224>>2]=0;c[702348+(f*11588|0)+11564>>2]=1;c[702348+(f*11588|0)+8220>>2]=a;c[702348+(f*11588|0)+11568>>2]=b;c[702348+(f*11588|0)+8240>>2]=2;c[702348+(f*11588|0)+11584>>2]=Rm(a,e)|0}f=a+41996+(b<<4)+12|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=Zm(a+12+(((h|0)<0?0:h)*656|0)|0,0,32,a,7)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[702348+(g*11588|0)+8224>>2]=0;c[702348+(g*11588|0)+11564>>2]=1;c[702348+(g*11588|0)+8220>>2]=a;c[702348+(g*11588|0)+11568>>2]=b;c[702348+(g*11588|0)+8240>>2]=3;c[702348+(g*11588|0)+11584>>2]=Rm(a,e)|0}c[44180]=d;c[4