diff --git a/pico8/lexaloffle-pico8.png b/pico8/lexaloffle-pico8.png deleted file mode 100755 index 0d11f85..0000000 Binary files a/pico8/lexaloffle-pico8.png and /dev/null differ diff --git a/pico8/license.txt b/pico8/license.txt deleted file mode 100755 index d083dca..0000000 --- a/pico8/license.txt +++ /dev/null @@ -1,72 +0,0 @@ - -SOFTWARE LICENSE AGREEMENT FOR PICO-8 - -This license agreement is between you, the end user, and Lexaloffle Games LLP ("LEXALOFFLE GAMES"). The software licensed under this agreement is PICO-8 ("THE SOFTWARE"), including all data files, executables, documentation and design. By distributing, copying, executing, or otherwise using THE SOFTWARE, you agree to be bound by the terms of this license agreement. - -THE SOFTWARE is owned by LEXALOFFLE GAMES. LEXALOFFLE GAMES reserves the exclusive copyright and all rights not expressly granted. - -You may install and use THE SOFTWARE on any computers for which you are the primary user. You may additionally install and use THE SOFTWARE concurrently on any number of computers belonging to a single household or educational organisation, including libraries, clubs, schools and universities. - -Unless express consent is granted by LEXALOFFLE GAMES, you may not distribute all of or any part of THE SOFTWARE to any other party, create derivative works based on THE SOFTWARE, or sell, resell, rent or lease THE SOFTWARE. - -EXPORTED CARTRIDGES - -Files generated by exporting a cartridge with PICO-8 (Javascript, HTML, executeables and data files) may be used for any purpose, including commercial applications, and to alter them and redistribute them freely, provided that permission to do so is also granted by the authors of the cartridge. - -DISCLAIMER - -THE SOFTWARE IS PROVIDED "AS-IS" WITHOUT WARRANTY OF ANY KIND. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, LEXALOFFLE GAMES DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. - -TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL LEXALOFFLE GAMES BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING BUT NOT LIMITED TO ANY LOSS OF PRODUCTIVITY, LOSS OF DATA, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF, OR INABILITY TO USE THE SOFTWARE, EVEN IF LEXALOFFLE GAMES HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - - -======================================================================================== - -PICO-8 is built with Lua 5.2 -http://www.lua.org - ------ Software License and Copyright Notice for Lua follows ----- - -Lua 5.2 Copyright © 1994–2015 Lua.org, PUC-Rio. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -======================================================================================== - -PICO-8 is built with rpi_ws281x -https://github.com/jgarff/rpi_ws281x - ------ Software License and Copyright Notice for rpi_ws281x follows ----- - - -Copyright (c) 2014, jgarff -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - diff --git a/pico8/pico-8_manual.txt b/pico8/pico-8_manual.txt deleted file mode 100644 index 590dbb0..0000000 --- a/pico8/pico-8_manual.txt +++ /dev/null @@ -1,4370 +0,0 @@ -==================================================================================================== - PICO-8 User Manual -==================================================================================================== - -PICO-8 v0.2.5g -https://www.pico-8.com -(c) Copyright 2014-2023 Lexaloffle Games LLP -Author: Joseph White // hey@lexaloffle.com - -PICO-8 is built with: - - SDL2 http://www.libsdl.org - Lua 5.2 http://www.lua.org // see license.txt - ws281x by jgarff // see license.txt - GIFLIB http://giflib.sourceforge.net/ - WiringPi http://wiringpi.com/ - libb64 by Chris Venter - miniz by Rich Geldreich - z8lua by Sam Hocevar https://github.com/samhocevar/z8lua - -Latest version of this manual (as html, txt) and other resources: - -https://www.lexaloffle.com/pico-8.php?page=resources - -:: Welcome to PICO-8! - - PICO-8 is a fantasy console for making, sharing and playing tiny games and other computer - programs. When you turn it on, the machine greets you with a shell for typing in Lua programs - and provides simple built-in tools for creating sprites, maps and sound. - - The harsh limitations of PICO-8 are carefully chosen to be fun to work with, encourage small - but expressive designs and hopefully to give PICO-8 cartridges their own particular look and - feel. - -:: Specifications - - Display: 128x128, fixed 16 colour palette - Input: 6-button controllers - Carts: 32k data encoded as png files - Sound: 4 channel, 64 definable chip blerps - Code: P8 Lua (max 8192 tokens of code) - CPU: 4M vm insts/sec - Sprites: Single bank of 128 8x8 sprites (+128 shared) - Map: 128 x 32 Tilemap (+ 128 x 32 shared) - -==================================================================================================== - Getting Started -==================================================================================================== - ----------------------------------------------------------------------------------------------------- - Keys ----------------------------------------------------------------------------------------------------- - - ALT+ENTER: Toggle Fullscreen - ALT+F4: Fast Quit (Windows) - CTRL-Q: Fast Quit (Mac, Linux) - CTRL-R: Reload / Run / Restart cartridge - CTRL-S: Quick-Save working cartridge - CTRL-M: Mute / Unmute Sound - ENTER / P: Pause Menu (while running cart) - - Player 1 default keys: Cursors + ZX / NM / CV - Player 2 default keys: SDFE + tab,Q / shift A - - To change the default keys use the KEYCONFIG utility from inside PICO-8: - - > KEYCONFIG - ----------------------------------------------------------------------------------------------------- - Hello World ----------------------------------------------------------------------------------------------------- - - After PICO-8 boots, try typing some of these commands followed by enter: - - > PRINT("HELLO WORLD") - > RECTFILL(80,80,120,100,12) - > CIRCFILL(70,90,20,14) - > FOR I=1,4 DO PRINT(I) END - - (Note: PICO-8 only displays upper-case characters -- just type normally without capslock!) - - You can build up an interactive program by using commands like this in the code editing mode - along with two special callback functions @_UPDATE and @_DRAW. For example, the following - program allows you to move a circle around with the cursor keys. Press Esc to switch to the - code editor and type or copy & paste the following code: - - X = 64 Y = 64 - FUNCTION _UPDATE() - IF (BTN(0)) THEN X=X-1 END - IF (BTN(1)) THEN X=X+1 END - IF (BTN(2)) THEN Y=Y-1 END - IF (BTN(3)) THEN Y=Y+1 END - END - - FUNCTION _DRAW() - CLS(5) - CIRCFILL(X,Y,7,14) - END - - Now press Esc to return to the console and type RUN (or press CTRL-R) to see it in action. - Please refer to the demo cartridges for more complex programs (type INSTALL_DEMOS). - - If you want to store your program for later, use the SAVE command: - - > SAVE PINKCIRC - - And to load it again: - - > LOAD PINKCIRC - ----------------------------------------------------------------------------------------------------- - Example Cartridges ----------------------------------------------------------------------------------------------------- - - These cartridges are included with PICO-8 and can be installed by typing: - - > INSTALL_DEMOS - > CD DEMOS - > LS - - HELLO Greetings from PICO-8 - API Demonstrates most PICO-8 functions - JELPI Platform game demo w/ 2p support - CAST 2.5D Raycaster demo - DRIPPY Draw a drippy squiggle - WANDER Simple walking simulator - COLLIDE Example wall and actor collisions - - To run a cartridge, open PICO-8 and type: - - > LOAD JELPI - > RUN - - Press escape to stop the program, and once more to enter editing mode. - - A small collection of BBS carts can also be installed to /GAMES with: - - > INSTALL_GAMES - ----------------------------------------------------------------------------------------------------- - File System ----------------------------------------------------------------------------------------------------- - - These commands can be used to manage files and directories (folders): - - LS list the current directory - CD BLAH change directory - CD .. go up a directory - CD / change back to top directory (on PICO-8's virtual drive) - MKDIR BLAH make a directory - FOLDER open the current directory in the host operating system's file browser - - LOAD BLAH load a cart from the current directory SAVE BLAH save a cart to the current - directory - - If you want to move files around, duplicate them or delete them, use the FOLDER command and do - it in the host operating system. - - The default location for PICO-8's drive is: - - Windows: C:/Users/Yourname/AppData/Roaming/pico-8/carts - OSX: /Users/Yourname/Library/Application Support/pico-8/carts - Linux: ~/.lexaloffle/pico-8/carts - - You can change this and other settings in pico-8/config.txt - - Tip: The drive directory can be mapped to a cloud drive (provided by Dropbox, Google Drive or - similar) in order to create a single disk shared between PICO-8 machines spread across - different host machines. - ----------------------------------------------------------------------------------------------------- - Loading and Saving ----------------------------------------------------------------------------------------------------- - - When using LOAD and SAVE, the .P8 extension can be omitted and is added automatically. - - > SAVE FOO - SAVED FOO.P8 - - Cartridge files can also be dragged and dropped into PICO-8's window to load them. - - Using .p8.png filename extension will write the cartridge in a special image format that looks - like a cartridge. Using .p8.rom" writes in a raw 32k binary format. - - Use a filename of "@clip" to load or save to the clipboard. - - Use a filename of "@url" to save to clipboard as a pico-8-edu.com url if it can be encoded in - 2040 characters (code and gfx only). - - Once a cartridge has been loaded or saved, it can also be quick-saved with CTRL-S - - :: Saving .p8.png carts with a text label and preview image - - To generate a label image saved with the cart, run the program first and press CTRL-7 to - grab whatever is on the screen. The first two lines of the program starting with '--' are - also drawn to the cart's label. - - -- OCEAN DIVER LEGENDS - -- BY LOOPY - - :: Code size restrictions for .p8.png / .p8.rom formats - - When saving in .png or .rom format, the compressed size of the code must be less than 15360 - bytes so that the total data is <= 32k. - - To find out the current size of your code, use the INFO command. The compressed size limit - is not enforced for saving in .p8 format. - ----------------------------------------------------------------------------------------------------- - Using an External Text Editor ----------------------------------------------------------------------------------------------------- - - It is possible to edit .p8 files directly with a separate text editor. Using CTRL-R to run a - cartridge will automatically re-load the file if: - - 1. There are no unsaved changes in the PICO-8 editors, AND
2. The file differs in - content from the last loaded version. - - If there are changes to both the cart on disk and in the editor, a notification is displayed: - - DIDN'T RELOAD; UNSAVED CHANGES - - Alternatively, .lua text files can be modified in a separate editor and then included into the - cartridge's code each time it is run using @{#INCLUDE} (in the desired code location): - - #INCLUDE YOURFILE.LUA - ----------------------------------------------------------------------------------------------------- - Backups ----------------------------------------------------------------------------------------------------- - - When quitting without saving changes, or overwriting an existing file, a backup of the - cartridge is saved to {appdata}/pico-8/backup. An extra copy of the current cartridge can also - be saved to the same folder by typing BACKUP. - - To open the backups folder in the host operating system's file browser, use: - - > FOLDER BACKUPS - - It is then possible to drag and drop files into the PICO-8 window to load them. - - From 0.2.4c, periodic backups are also saved every 20 minutes when not idle in the editor, - which means the backups folder will grow by about 1MB every 5 hours. This can be disabled or - adjusted in config.txt - ----------------------------------------------------------------------------------------------------- - Configuration ----------------------------------------------------------------------------------------------------- - - PICO-8 reads configuration settings from config.txt at the start of each session, and saves - it on exit (so you should edit config.txt when PICO-8 is not running). - - The location of the config.txt file depends on the host operating system: - - Windows: C:/Users/Yourname/AppData/Roaming/pico-8/config.txt - OSX: /Users/Yourname/Library/Application Support/pico-8/config.txt - Linux: ~/.lexaloffle/pico-8/config.txt - - Use the -home switch (below) to use a different path to store config.txt and other data. - - Some settings can be changed while running PICO-8 by typing CONFIG SETTING VALUE. (type - CONFIG by itself for a list) - - :: Commandline parameters - - // note: these override settings found in config.txt - - pico8 [switches] [filename.p8] - - -width n set the window width - -height n set the window height - -windowed n set windowed mode off (0) or on (1) - -volume n set audio volume 0..256 - -joystick n joystick controls starts at player n (0..7) - -pixel_perfect n 1 for unfiltered screen stretching at integer scales (on by default) - -preblit_scale n scale the display by n before blitting to screen (useful with -pixel_perfect 0) - -draw_rect x,y,w,h absolute window coordinates and size to draw pico-8's screen - -run filename load and run a cartridge - -x filename execute a PICO-8 cart headless and then quit (experimental!) - -export param_str run EXPORT command in headless mode and exit (see notes under export) - -p param_str pass a parameter string to the specified cartridge - -splore boot in splore mode - -home path set the path to store config.txt and other user data files - -root_path path set the path to store cartridge files - -desktop path set a location for screenshots and gifs to be saved - -screenshot_scale n scale of screenshots. default: 3 (368x368 pixels) - -gif_scale n scale of gif captures. default: 2 (256x256 pixels) - -gif_len n set the maximum gif length in seconds (1..120) - -gui_theme n use 1 for a higher contrast editor colour scheme - -timeout n how many seconds to wait before downloads timeout (default: 30) - -software_blit n use software blitting mode off (0) or on (1) - -foreground_sleep_ms n how many milliseconds to sleep between frames. - -background_sleep_ms n how many milliseconds to sleep between frames when running in background - -accept_future n 1 to allow loading cartridges made with future versions of PICO-8 - -global_api n 1 to leave api functions in global scope (useful for debugging) - -:: Controller Setup - - PICO-8 uses the SDL2 controller configuration scheme. It will detect common controllers on - startup and also looks for custom mappings in sdl_controllers.txt in the same directory as - config.txt. sdl_controllers.txt has one mapping per line. - - To generate a custom mapping string for your controller, use either the controllermap program - that comes with SDL2, or try http://www.generalarcade.com/gamepadtool/ - - To find out the id of your controller as it is detected by SDL2, search for "joysticks" or - "Mapping" in log.txt after running PICO-8. This id may vary under different operating systems. - See: https://www.lexaloffle.com/bbs/?tid=32130 - - To set up which keyboard keys trigger joystick buttons presses, use KEYCONFIG. - ----------------------------------------------------------------------------------------------------- - Screenshots and GIFS ----------------------------------------------------------------------------------------------------- - - While a cartridge is running use: - - CTRL-6 Save a screenshot to desktop - CTRL-7 Capture cartridge label image - CTRL-8 Start recording a video - CTRL-9 Save GIF video to desktop (8 seconds by default) - - You can save a video at any time (it is always recording); CTRL-8 simply resets the video - starting point. To record more than 8 seconds, use the CONFIG command (maximum: 120) - - CONFIG GIF_LEN 60 - - If you would like the recording to reset every time (to create a non-overlapping sequence), - use: - - CONFIG GIF_RESET_MODE 1 - - The gif format can not match 30fps exactly, so PICO-8 instead uses the closest match: 33.3fps. - - If you have trouble saving to the desktop, try configuring an alternative desktop path in - config.txt - ----------------------------------------------------------------------------------------------------- - Sharing Cartridges ----------------------------------------------------------------------------------------------------- - - There are three ways to share carts made in PICO-8: - - 1. Share the .p8 or .p8.png file directly with other PICO-8 users - - Type FOLDER to open the current folder in your host operating system. - - 2. Post the cart on the Lexaloffe BBS to get a web-playable version - - http://www.lexaloffle.com/pico-8.php?page=submit - - 3. Export the cartridge to a stand-alone html/js or native binary player (see the exporters - section for details) - ----------------------------------------------------------------------------------------------------- - SPLORE ----------------------------------------------------------------------------------------------------- - - SPLORE is a built-in utility for browsing and organising both local and bbs (online) - cartridges. Type SPLORE [enter] to launch it, or launch PICO-8 with -splore. - - It is possible to control SPLORE entirely with a joystick: - - LEFT and RIGHT to navigate lists of cartridges - UP AND DOWN to select items in each list - X,O or MENU to launch the cartridge - - While inside a cart, press MENU to favourite a cartridge or exit to splore. If you're using a - keyboard, it's also possible to press F to favourite an item while it is selected in the - cartridge list view. - - When viewing a list of BBS carts, use the top list item to re-download a list of cartridges. If - you are offline, the last downloaded list is displayed, and it is still possible to play any - cartridges you have downloaded. - - If you have installed PICO-8 on a machine with no internet access, you can also use - INSTALL_GAMES to add a small selection of pre-installed BBS carts to /games - -==================================================================================================== - Editing Tools -==================================================================================================== - - Press ESC to toggle between console and editor.
Click editing mode tabs at top right to - switch or press ALT+LEFT/RIGHT. - ----------------------------------------------------------------------------------------------------- - Code Editor ----------------------------------------------------------------------------------------------------- - - Hold shift to select (or click and drag with mouse) - CTRL-X, C, V to cut copy or paste selected - CTRL-Z, Y to undo, redo - CTRL-F to search for text in the current tab - CTRL-G to repeat the last search again - CTRL-L to jump to a line number - CTRL-UP, DOWN to jump to start or end - ALT-UP, DOWN to navigate to the previous, next function - CTRL-LEFT, RIGHT to jump by word - CTRL-W,E to jump to start or end of current line - CTRL-D to duplicate current line - TAB to indent a selection (shift to un-indent) - CTRL-B to comment / uncomment selected block - CTRL-U to get help on the keyword under the cursor - - To enter special characters that represent buttons (and other glyphs), use SHIFT-L,R,U,D,O,X - There are 3 additional font entry modes that can be toggled: - - CTRL_J Hiragana // type romaji equivalents (ka, ki, ku..) - CTRL-K Katakana // + shift-0..9 for extra symbols - CTRL-P Puny font // hold shift for the standard font - - By default, puny font characters are encoded as unicode replacements when copying/pasting, - and both upper and lower case ASCII characters are pasted as regular PICO-8 characters. To - copy/paste puny characters as uppercase ASCII, make sure puny mode (CTRL-P) is on. - - :: Code Tabs - - Click the [+] button at the top to add a new tab. Navigate tabs by left-clicking, or with - CTRL-TAB, SHIFT-CTRL-TAB. To remove the last tab, delete any contents and then moving off - it (CTRL-A, DEL, CTRL-TAB) - - When running a cart, a single program is generated by concatenating all tabs in order. - - :: Code Limits - - The number of code tokens is shown at the bottom right. One program can have a maximum of - 8192 tokens. Each token is a word (e.g. variable name) or operator. Pairs of brackets, and - strings each count as 1 token. commas, periods, LOCALs, semi-colons, ENDs, and comments are - not counted. - - Right click to toggle through other stats (character count, compressed size). If a limit is - reached, a warning light will flash. This can be disabled by right-clicking. - ----------------------------------------------------------------------------------------------------- - Sprite Editor ----------------------------------------------------------------------------------------------------- - - The sprite editor is designed to be used both for sprite-wise editing and for freeform - pixel-level editing. The sprite navigator at the bottom of the screen provides an 8x8 - sprite-wise view into the sprite sheet, but it is possible to use freeform tools (pan, select) - when dealing with larger or oddly sized areas. - - :: Draw Tool - - Click and drag on the sprite to plot pixels, or use RMB to select the colour under the - cursor. - - All operations apply only to the visible area, or the section if there is one. - - Hold CTRL to search and replace a colour. - - :: Stamp Tool - - Click to stamp whatever is in the copy buffer. Hold CTRL to treat colour 0 (black) as - transparent. - - :: Select Tool (shortcut: SHIFT or S) - - Click and drag to create a rectangular selection. To remove the selection, press ENTER or - click anywhere. - - If a pixel-wise selection is not present, many operations are instead applied to a - sprite-wise selection, or the visible view. To select sprites, shift-drag in the sprite - navigator. To select the sprite sheet press CTRL-A (repeat to toggle off the bottom half - shared with map data) - - :: Pan Tool (shortcut: SPACE) - - Click and drag to move around the sprite sheet. - - :: Fill Tool - - Fill with the current colour. This applies only to the current selection, or the visible - area if there is no selection. - - :: Shape Tools - - Click the tool button to cycle through: oval, rectangle, line options. - - Hold CTRL to get a filled oval or rectangle.
Hold SHIFT to snap to circle, square, or - low-integer-ratio line. - - :: Extra keys - - CTRL-Z: Undo - CTRL-C/X: Copy/Cut selected area or selected sprites - CTRL-V: Paste to current sprite location - Q/A,W/Z: Switch to previous/next sprite - 1,2: Switch to previous/next colour - TAB: Toggle fullscreen view - Mousewheel or < and > to zoom (centered in fullscreen) - CTRL-H to toggle hex view (shows sprite index in hexadecimal) - CTRL-G to toggle black grid lines when zoomed in - - :: Operations on selected area or selected sprites - - F: Flip sprite horizontally - V: Flip sprite vertically - R: Rotate (requires a square selection) - Cursor keys to shift (loops if sprite selection) - DEL/BACKSPACE to clear selected area - - :: Sprite Flags - - The 8 coloured circles are sprite flags for the current sprite. These have no particular - meaning, but can be accessed using the @FGET() / @FSET() functions. They are indexed from 0 - starting from the left. - - See @FSET() for more information. - - :: Loading .png files into the sprite sheet - - To load a png file of any size into the sprite sheet, first select the sprite that should - be the top-left corner destination, and then either type "IMPORT IMAGE_FILE.PNG" or drag - and drop the image file into the PICO-8 window. In both cases, the image is colour-fitted - to the current display palette. - ----------------------------------------------------------------------------------------------------- - Map Editor ----------------------------------------------------------------------------------------------------- - - The PICO-8 map is a 128x32 (or 128x64 using shared space) block of 8-bit values. Each value is - shown in the editor as a reference to a sprite (0..255), but you can of course use the data to - represent whatever you like. - - WARNING: The second half of the sprite sheet (banks 2 and 3), and the bottom half of the map - share the same cartridge space. It's up to you how you use the data, but be aware that drawing - on the second half of the sprite sheet could clobber data on the map and vice versa. - - The tools are similar to the ones used in sprite editing mode. Select a sprite and click and - drag to paint values into the map. - - To draw multiple sprites, select from sprite navigator with shift+drag To copy a block of - values, use the selection tool and then stamp tool to paste To pan around the map, use the pan - tool or hold space Q,W to switch to previous/next sprite Mousewheel or < and > to zoom - (centered in fullscreen) CTRL-H to toggle hex view (shows tile values and sprite index in - hexadecimal) - - Moving sprites in the sprite sheet without breaking reference to them in the map is a little - tricky, but possible: - - 1. Press ENTER to clear any map selection - 2. Select the sprites you would like to move (while still in map view), and press Ctrl-X - 3. Select the area of the map you would like to alter (defaults to the top half of the map) - // press ctrl-A twice to select the full map including shared memory - 4. Select the destination sprite (also while still in map view) and press Ctrl-V - - // Note: this operation modifies the undo history for both the map and sprite editors, but - // PICO-8 will try to keep them in sync where possible. Otherwise, changes caused by moving - // map sprites can be reverted by also manually undoing in the sprite editor. - ----------------------------------------------------------------------------------------------------- - SFX Editor ----------------------------------------------------------------------------------------------------- - - There are 64 SFX ("sound effects") in a cartridge, used for both sound and music. - - Each SFX has 32 notes, and each note has: - A frequency (C0..C5) - An instrument (0..7) - A volume (0..7) - An effect (0..7) - - Each SFX also has these properties: - - A play speed (SPD) : the number of 'ticks' to play each note for. - // This means that 1 is fastest, 3 is 3x as slow, etc. - - Loop start and end : this is the note index to loop back and to - // Looping is turned off when the start index >= end index - - When only the first of the 2 numbers is used (and the second one is 0), it is taken to mean - the number of notes to be played. This is normally not needed for sound effects (you can - just leave the remaining notes empty), but is useful for controlling music playback. - - There are 2 modes for editing/viewing a SFX: Pitch mode (more suitable for sound effects) and - tracker mode (more suitable for music). The mode can be changed using the top-left buttons, or - toggled with TAB. - -:: Pitch Mode - - Click and drag on the pitch area to set the frequency for each note, using the currently - selected instrument (indicated by colour). - - Hold shift to apply only the selected instrument. - Hold CTRL to snap entered notes to the C minor pentatonic scale. - Right click to grab the instrument of that note. - -:: Tracker Mode - - Each note shows: frequency octave instrument volume effect - To enter a note, use q2w3er5t6y7ui zsxdcvgbhnjm (piano-like layout) - Hold shift when entering a note to transpose -1 octave .. +1 octave - New notes are given the selected instrument/effect values - To delete a note, use backspace or set the volume to 0 - - Click and then shift-click to select a range that can be copied (CTRL-C) and pasted - (CTRL-V). Note that only the selected attributes are copied. Double-click to select all - attributes of a single note. - - Navigation: - PAGEUP/DOWN or CTRL-UP/DOWN to skip up or down 4 notes - HOME/END to jump to the first or last note - CTRL-LEFT/RIGHT to jump across columns - -:: Controls for both modes - - - + to navigate the current SFX - SPACE to play/stop - SHIFT-SPACE to play from the current SFX quarter (group of 8 notes) - A to release a looping sample - Left click or right click to increase / decrease the SPD or LOOP values - // Hold shift when clicking to increase / decrease by 4 - // Alternatively, click and drag left/right or up/down - Shift-click an instrument, effect, or volume to apply to all notes. - -:: Effects - - 0 none - 1 slide // Slide to the next note and volume - 2 vibrato // Rapidly vary the pitch within one quarter-tone - 3 drop // Rapidly drop the frequency to very low values - 4 fade in // Ramp the volume up from 0 - 5 fade out // Ramp the volume down to 0 - 6 arpeggio fast // Iterate over groups of 4 notes at speed of 4 - 7 arpeggio slow // Iterate over groups of 4 notes at speed of 8 - - If the SFX speed is <= 8, arpeggio speeds are halved to 2, 4 - -:: Filters - - Each SFX has 5 filter switches that can be accessed while in tracker mode: - - NOIZ: Generate pure white noise (applies only to instrument 6) - BUZZ: Various alterations to the waveform to make it sound more buzzy - DETUNE-1: Detunes a second voice to create a flange-like effect - DETUNE-2: Various second voice tunings, mostly up or down an octave - REVERB: Apply an echo with a delay of 2 or 4 ticks - DAMPEN: Low pass filter at 2 different levels - - When BUZZ is used with instrument 6, and NOIZ is off, pure brown noise is generated. - ----------------------------------------------------------------------------------------------------- - Music Editor ----------------------------------------------------------------------------------------------------- - - Music in PICO-8 is controlled by a sequence of 'patterns'. Each pattern is a list of 4 numbers - indicating which SFX will be played on that channel. - -:: Flow control - - Playback flow can be controlled using the 3 buttons at the top right. - - When a pattern has finished playing, the next pattern is played unless: - - - there is no data left to play (music stops) - - a STOP command is set on that pattern (the third button) - - a LOOP BACK command is set (the 2nd button), in which case the music player searches - back for a pattern with the LOOP START command set (the first button) or returns to - pattern 0 if none is found. - - When a pattern has SFXes with different speeds, the pattern finishes playing when the left-most - non-looping channel has finished playing. This can be used to set up double-time drum beats or - unusual polyrhythms. - - For time signatures like 3/4 where less than 32 rows should be played before jumping to the - next pattern, the length of a SFX can be set by adjusting only the first loop position and - leaving the second one as zero. This will show up in the sfx editor as "LEN" (for "Length") - instead of "LOOP". - -:: Copying and Pasting Music - - To select a range of patterns: click once on the first pattern in the pattern navigator, then - shift-click on the last pattern. Selected patterns can be copied and pasted with CTRL-C and - CTRL-V. When pasting into another cartridge, the SFX that each pattern points to will also be - pasted (possibly with a different index) if it does not already exist. - -:: SFX Instruments - - In addition to the 8 built-in instruments, custom instruments can be defined using the first 8 - SFX. Use the toggle button to the right of the instruments to select an index, which will show - up in the instrument channel as green instead of pink. - - When an SFX instrument note is played, it essentially triggers that SFX, but alters the note's - attributes: - - Pitch is added relative to C2 - Volume is multiplied - Effects are applied on top of the SFX instrument's effects - Any filters that are on in the SFX instrument are enabled for that note - - For example, a simple tremolo effect could be implemented by defining an instrument in SFX 0 - that rapidly alternates between volume 5 and 2. When using this instrument to play a note, the - volume can further be altered as usual (via the volume channel or using the fade in/out - effects). In this way, SFX instruments can be used to control combinations of detailed changes - in volume, pitch and texture. - - SFX instruments are only retriggered when the pitch changes, or the previous note has zero - volume. This is useful for instruments that change more slowly over time. For example: a bell - that gradually fades out. To invert this behaviour, effect 3 (normally 'drop') can be used when - triggering the note. All other effect values have their usual meaning when triggering SFX - instruments. - -==================================================================================================== - Exporters / Importers -==================================================================================================== - -The EXPORT command can be used to generate png, wav files and stand-alone html and native binary -cartridge applications. The output format is inferred from the filename extension (e.g. .png). - -You are free to distribute and use exported cartridges and data as you please, provided that you -have permission from the cartridge author and contributors. - -:: Sprite Sheet / Label (.png) - - > IMPORT BLAH.PNG -- EXPECTS 128X128 PNG AND COLOUR-FITS TO THE PICO-8 PALETTE - > EXPORT BLAH.PNG -- USE THE "FOLDER" COMMAND TO LOCATE THE EXPORTED PNG - - When importing, -x and -y switches can be used to specify the target location in pixels: -s can - be used to shrink the image (3 means scale from 384x384 -> 128x128) - - > IMPORT BLAH.PNG -X 16 -Y 16 -S 3 - - Use the -l switch with IMPORT and EXPORT to instead read and write from the cartridge's label: - - > IMPORT -L BLAH.PNG - - When importing spritesheets or labels, the palette is colour-fitted to the current draw state - palette. - -:: SFX and Music (.wav) - - To export music from the current pattern (when editor mode is MUSIC), or the current SFX: - - > EXPORT FOO.WAV - - To export all SFXs as foo0.wav, foo1.wav .. foo63.wav: - - > EXPORT FOO%D.WAV - -:: MAP and CODE - - A cartridges map or source code can be exported as a single image named .map.png or .lua.png: - - > EXPORT FOO.MAP.PNG - > EXPORT FOO.LUA.PNG - - Map images are 1024x512 (128x32 8x8 sprites). Lua images are sized to fit, but each line is - fixed (and cropped) at 192 pixels wide. - -:: Cartridges (.p8, .p8.png, .p8.rom) - - Using EXPORT to save a cartridge is the same as using SAVE, but without changing the current - working cartridge. This can be useful for example, to save a copy in .p8.png format for - distribution without accidentally continuing to make changes to that file instead of the - original .p8 file. - - EXPORT can also be used to perform cartridge file format conversions from commandline. For - example, from a Linux shell: - - > pico8 foo.p8 -export foo.p8.png - ----------------------------------------------------------------------------------------------------- - Web Applications (.html) ----------------------------------------------------------------------------------------------------- - - To generate a stand-alone html player (mygame.html, mygame.js): - - > EXPORT MYGAME.HTML - - Or just the .js file: - - > EXPORT MYGAME.JS - - Use -f to write the files to a folder called mygame_html, using index.html instead of - mygame.html - - > EXPORT -F MYGAME.HTML - - Optionally provide a custom html template with the -p switch: - - > EXPORT MYGAME.HTML -P ONE_BUTTON - - This will use the file {application data}/pico-8/plates/one_button.html as the html shell, - replacing a special string "##js_file##" (without quotes), with the .js filename, and - optionally replacing the string "##label_file##" with the cart's label image as a data url. - - Use -w to export as .wasm + .js: - - > EXPORT -W MYGAME.HTML - - When exported as .wasm, the page needs to be served by a webserver, rather than just opening it - directly from the local file system in a browser. For most purposes, the default .js export is - fine, but .wasm is slightly smaller and faster. - ----------------------------------------------------------------------------------------------------- - Binary Applications (.bin) ----------------------------------------------------------------------------------------------------- - - To generate stand-alone executables for Windows, Linux (64-bit), Mac and Raspberry Pi: - - > EXPORT MYGAME.BIN - - By default, the cartridge label is used as an icon with no transparency. To specify an icon - from the sprite sheet, use -i and optionally -s and/or -c to control the size and - transparency. - - -I N Icon index N with a default transparent colour of 0 (black). - -S N Size NxN sprites. Size 3 would be produce a 24x24 icon. - -C N Treat colour N as transparent. Use 16 for no transparency. - - For example, to use a 2x2 sprite starting at index 32 in the sprite sheet, using colour 12 as - transparent: - - > EXPORT -I 32 -S 2 -C 12 MYGAME.BIN - - To include an extra file in the output folders and archives, use the -E switch: - - > EXPORT -E README.TXT MYGAME.BIN - - Windows file systems do not support the file metadata needed to create a Linux or Mac - executable. PICO-8 works around this by exporting zip files in a way that preserves the file - attributes. It is therefore recommended that you distribute the outputted zip files as-is to - ensure users on other operating systems can run them. Otherwise, a Linux user who then - downloads the binaries may need to "chmod +x mygame" the file to run it, and Mac user would - need to "chmod +x mygame.app/Contents/MacOS/mygame" - ----------------------------------------------------------------------------------------------------- - Uploading to itch.io ----------------------------------------------------------------------------------------------------- - - If you would like to upload your exported cartridge to itch.io as playable html: - - 1. From inside PICO-8: EXPORT -F MYGAME.HTML - 2. Create a new project from your itch dashboard. - 3. Zip up the folder and upload it (set "This file will be played in the browser") - 4. Embed in page, with a size of 750px x 680px. - 5. Set "Mobile Friendly" on (default orientation) and "Automatically start on page load" on. - // no need for the fullscreen button as the default PICO-8 template has its own. - 6. Set the background (BG2) to something dark (e.g. #232323) and the text to something light (#cccccc) - ----------------------------------------------------------------------------------------------------- - Exporting Multiple Cartridges ----------------------------------------------------------------------------------------------------- - - Up to 16 cartridges can be bundled together by passing them to EXPORT, when generating - stand-alone html or native binary players. - - > EXPORT MYGAME.HTML DAT1.P8 DAT2.P8 GAME2.P8 - - During runtime, the extra carts can be accessed as if they were local files: - - RELOAD(0,0,0X2000, "DAT1.P8") -- LOAD SPRITESHEET FROM DAT1.P8 - LOAD("GAME2.P8") -- LOAD AND RUN ANOTHER CART - - Exported cartridges are unable to load and run BBS cartridges e.g. via LOAD("#FOO") - ----------------------------------------------------------------------------------------------------- - Running EXPORT from the host operating system ----------------------------------------------------------------------------------------------------- - - Use the -export switch when launching PICO-8 to run the exporter in headless mode. File paths - are relative to the current directory rather than the PICO-8 file system. - - Parameters to the EXPORT command are passed along as a single (lowercase) string: - - pico8 mygame.p8 -export "-i 32 -s 2 -c 12 mygame.bin dat0.p8 dat1.p8" - -==================================================================================================== - Lua Syntax Primer -==================================================================================================== - -PICO-8 programs are written using Lua syntax, but do not use the standard Lua library. The -following is a brief summary of essential Lua syntax. - -For more details, or to find out about proper Lua, see www.lua.org. - -:: Comments - - -- USE TWO DASHES LIKE THIS TO WRITE A COMMENT - --[[ MULTI-LINE - COMMENTS ]] - -:: Types and assignment - - Types in Lua are numbers, strings, booleans and tables: - - NUM = 12/100 - S = "THIS IS A STRING" - B = FALSE - T = {1,2,3} - - Numbers in PICO-8 are all 16:16 fixed point. They range from -32768.0 to 32767.99999 - - Hexadecimal notation with optional fractional parts can be used: - - ?0x11 -- 17 - ?0x11.4000 -- 17.25 - - Numbers written in decimal are rounded to the closest fixed point value. To see the 32-bit - hexadecimal representation, use PRINT(TOSTR(VAL,TRUE)): - - ?TOSTR(-32768,TRUE) -- 0x8000.0000 - ?TOSTR(32767.99999,TRUE) -- 0X7FFF.FFFF - - Dividing by zero evaluates to 0x7fff.ffff if positive, or -0x7fff.ffff if negative. - -:: Conditionals - - IF NOT B THEN - PRINT("B IS FALSE") - ELSE - PRINT("B IS NOT FALSE") - END - - -- with ELSEIF - - IF X == 0 THEN - PRINT("X IS 0") - ELSEIF X < 0 THEN - PRINT("X IS NEGATIVE") - ELSE - PRINT("X IS POSITIVE") - END - - IF (4 == 4) THEN PRINT("EQUAL") END - IF (4 ~= 3) THEN PRINT("NOT EQUAL") END - IF (4 <= 4) THEN PRINT("LESS THAN OR EQUAL") END - IF (4 > 3) THEN PRINT("MORE THAN") END - -:: Loops - - Loop ranges are inclusive: - - FOR X=1,5 DO - PRINT(X) - END - -- PRINTS 1,2,3,4,5 - - X = 1 - WHILE(X <= 5) DO - PRINT(X) - X = X + 1 - END - - FOR X=1,10,3 DO PRINT(X) END -- 1,4,7,10 - - FOR X=5,1,-2 DO PRINT(X) END -- 5,3,1 - -:: Functions and Local Variables - - Variables declared as LOCAL are scoped to their containing block of code (for example, inside a - FUNCTION, a FOR loop, or IF THEN END statement). - - Y=0 - FUNCTION PLUSONE(X) - LOCAL Y = X+1 - RETURN Y - END - PRINT(PLUSONE(2)) -- 3 - PRINT(Y) -- 0 - -:: Tables - - In Lua, tables are a collection of key-value pairs where the key and value types can both be - mixed. They can be used as arrays by indexing them with integers. - - A={} -- CREATE AN EMPTY TABLE - A[1] = "BLAH" - A[2] = 42 - A["FOO"] = {1,2,3} - - Arrays use 1-based indexing by default: - - > A = {11,12,13,14} - > PRINT(A[2]) -- 12 - - But if you prefer 0-based arrays, just write something the zeroth slot: - - > A = {[0]=10,11,12,13,14} - - Tables with 1-based integer indexes are special though. The length of such an array can be - found with the # operator, and PICO-8 uses such arrays to implement ADD, DEL, DELI, ALL and - FOREACH functions. - - > PRINT(#A) -- 4 - > ADD(A, 15) - > PRINT(#A) -- 5 - - Indexes that are strings can be written using dot notation - - PLAYER = {} - PLAYER.X = 2 -- is equivalent to PLAYER["X"] - PLAYER.Y = 3 - - See the @{Table_Functions} section for more details. - -:: PICO-8 Shorthand - - PICO-8 also allows several non-standard, shorter ways to write common patterns. - - 1. IF THEN END statements, and WHILE THEN END can be written on a single line with: - - IF (NOT B) I=1 J=2 - - Is equivalent to: - - IF NOT B THEN I=1 J=2 END - - Note that brackets around the short-hand condition are required. - - 2. Assignment operators - - Shorthand assignment operators can also be used if the whole statement is on one line. They can - be constructed by appending a '=' to any binary operator, including arithmetic (+=, -= ..), - bitwise (&=, |= ..) or the string concatenation operator (..=) - - A += 2 -- EQUIVALENT TO: A = A + 2 - - // note that the LHS appears twice, so for TBL[FN()]+=1, FN() will be called twice. - - 3. != operator - - Not shorthand, but pico-8 also accepts != instead of ~= for "not equal to" - - PRINT(1 != 2) -- TRUE - PRINT("FOO" == "FOO") -- TRUE (STRING ARE INTERNED) - -==================================================================================================== - PICO-8 Program Structure -==================================================================================================== - - When a PICO-8 programs runs, all of the code from tabs is concatenated (from left to right) and - executed. It is possible to provide your own main loop manually, but typically PICO-8 programs - use 3 special functions that, if defined by the author, are called during program execution: - - - _UPDATE() -- Called once per update at 30fps. - - - _DRAW() -- Called once per visible frame - - - _INIT() -- Called once on program startup. - - A simple program that uses all three might look this: - - FUNCTION _INIT() - -- ALWAYS START ON WHITE - COL = 7 - END - - FUNCTION _UPDATE() - -- PRESS X FOR A RANDOM COLOUR - IF (BTNP(5)) COL = 8 + RND(8) - END - - FUNCTION _DRAW() - CLS(1) - CIRCFILL(64,64,32,COL) - END - - _DRAW() is normally called at 30fps, but if it can not complete in time, PICO-8 will attempt to - run at 15fps and call _UPDATE() twice per visible frame to compensate. - -:: Running PICO-8 at 60fps - - - _UPDATE60() - - When _UPDATE60() Is defined instead of _UPDATE(), PICO-8 will run in 60fps mode: - - - both _UPDATE60() and _DRAW() are called at 60fps
- half the PICO-8 CPU is available per - frame before dropping down to 30fps - - Note that not all host machines are capable of running at 60fps. Older machines, and / or web - versions might also request PICO-8 to run at 30 fps (or 15 fps), even when the PICO-8 CPU is - not over capacity. In this case, multiple _UPDATE60 calls are made for every _DRAW call in the - same way. - -:: #INCLUDE - - Source code can be injected into a program at cartridge boot (but not during runtime), using - "#INCLUDE FILENAME", where FILENAME is either a plaintext file (containing Lua code), a tab - from another cartridge, or all tabs from another cartridge: - - #INCLUDE SOMECODE.LUA - #INCLUDE ONETAB.P8:1 - #INCLUDE ALLTABS.P8 - - When the cartridge is run, the contents of each included file is treated as if it had been - pasted into the editor in place of that line. - - - Filenames are relative to the current cartridge (so, need to save first)
- Includes - are not performed recursively.
- Normal character count and token limits apply. - - When a cartridge is saved as .P8.PNG, or exported to a binary, any included files are - flattened and saved with the cartridge so that there are no external dependencies. - - #INCLUDE can be used for things like: - - - Sharing code between cartridge (libraries or common multi-cart code)
- Using an - external code editor without needing to edit the .p8 file directly.
- Treating a - cartridge as a data file that loads a PICO-8 editing tool to modify it.
- Loading and - storing data generated by an external (non-PICO-8) tool. - -:: Quirks of PICO-8 - - Common gotchas to watch out for: - - - The bottom half of the sprite sheet and bottom half of the map occupy the same memory. // - Best use only one or the other if you're unsure how this works. - - - PICO-8 numbers have limited accuracy and range; the minimum step between numbers is - approximately 0.00002 (0x0.0001), with a range of -32768 (-0x8000) to approximately 32767.99999 - (0x7fff.ffff)
// If you add 1 to a counter each frame, it will overflow after around 18 - minutes! - - - Lua arrays are 1-based by default, not 0-based. FOREACH starts at TBL[1], not TBL[0]. - - - @COS() and @SIN() take 0..1 instead of 0..PI*2, and @SIN() is inverted. - - - @SGN(0) returns 1. - -:: CPU - - Although PICO-8 does not have a clearly defined CPU, there is a virtual CPU speed of 8MHz, - where each lua vm instruction costs around 2 cycles. Built-in operations like drawing sprites - also have a CPU cost. This means that a PICO-8 cartridge made on a host machine with a powerful - CPU can still be guaranteed to run (reasonably) well on much slower machines, and to not drain - too much battery on phones / when running on the web. - - To view the CPU load while a cartridge is running, press CTRL-P to toggle a CPU meter, or print - out @STAT(1) at the end of each frame. - -==================================================================================================== - API Reference -==================================================================================================== - - PICO-8 is built on the Lua programming language, but does not include the Lua standard library. - Instead, a small api is offered in keeping with PICO-8's minimal design and limited screen - space. For an example program that uses most of the api functions, see /DEMOS/API.P8 - - Functions are written here as: - - FUNCTION_NAME(PARAMETER, [OPTIONAL_PARAMETER]) - - Note that PICO-8 does not have upper or lower case characters -- if you are editing a .p8 or - .lua file directly, function names should all be in lower case. - ----------------------------------------------------------------------------------------------------- - System ----------------------------------------------------------------------------------------------------- - - System functions called from commandline can omit the usual brackets and string quotes. For - example, instead of LOAD("BLAH.P8"), it is possible to write: - - >LOAD BLAH.P8 - - - LOAD(FILENAME, [BREADCRUMB], [PARAM_STR]) - - SAVE(FILENAME) - - Load or save a cartridge - - When loading from a running cartridge, the loaded cartridge is immediately run with - parameter string PARAM_STR (accessible with STAT(6)), and a menu item is inserted and named - BREADCRUMB, that returns the user to the previous cartridge. - - Filenames that start with '#' are taken to be a BBS cart id, that is immediately downloaded - and run: - - > LOAD("#MYGAME_LEVEL2", "BACK TO MAP", "LIVES="..LIVES) - - If the id is the cart's parent post, or a revision number is not specified, then the latest - version is fetched. BBS carts can be loaded from other BBS carts or local carts, but not - from exported carts. - - - FOLDER - - Open the carts folder in the host operating system. - - - LS([DIRECTORY]) - - List .p8 and .p8.png files in given directory (folder), relative to the current directory. - Items that are directories end in a slash (e.g. "foo/"). - - When called from a running cartridge, LS can only be used locally and returns a table of - the results. When called from a BBS cart, LS returns nil. - - Directories can only resolve inside of PICO-8's virtual drive; LS("..") from the root - directory will resolve to the root directory. - - - RUN([PARAM_STR]) - - Run from the start of the program. - - RUN() Can be called from inside a running program to reset. - - When PARAM_STR is supplied, it can be accessed during runtime with STAT(6) - - - STOP([MESSAGE]) - - Stop the cart and optionally print a message. - - - RESUME - - Resume the program. Use R for short. - - Use a single "." from the commandline to advance a single frame. This enters frame-by-frame - mode, that can be read with stat(110). While frame-by-frame mode is active, entering an - empty command (by pressing enter) advances one frames. - - - ASSERT(CONDITION, [MESSAGE]) - - If CONDITION is false, stop the program and print MESSAGE if it is given. This can be - useful for debugging cartridges, by ASSERT()'ing that things that you expect to be true are - indeed true. - - ASSERT(ADDR >= 0 AND ADDR <= 0x7FFF, "OUT OF RANGE") - POKE(ADDR, 42) -- THE MEMORY ADDRESS IS OK, FOR SURE! - - - REBOOT - - Reboot the machine Useful for starting a new project - - - RESET() - - Reset the values in RAM from 0x5f00..0x5f7f to their default values. This includes the - palette, camera position, clipping and fill pattern. If you get lost at the command prompt - because the draw state makes viewing text impossible, try typing RESET! It can also be - called from a running program. - - - INFO() - - Print out some information about the cartridge: Code size, tokens, compressed size - - Also displayed: - - UNSAVED CHANGES When the cartridge in memory differs to the one on disk - EXTERNAL CHANGES When the cartridge on disk has changed since it was loaded - (e.g. by editing the program using a separate text editor) - - - FLIP() - - Flip the back buffer to screen and wait for next frame. This call is not needed when there - is a @_DRAW() or @_UPDATE() callback defined, as the flip is performed automatically. But - when using a custom main loop, a call to FLIP is normally needed: - - ::_:: - CLS() - FOR I=1,100 DO - A=I/50 - T() - X=64+COS(A)*I - Y=64+SIN(A)*I - CIRCFILL(X,Y,1,8+(I/4)%8) - END - FLIP()GOTO _ - - If your program does not call FLIP before a frame is up, and a @_DRAW() callback is not in - progress, the current contents of the back buffer are copied to screen. - - - PRINTH(STR, [FILENAME], [OVERWRITE], [SAVE_TO_DESKTOP]) - - Print a string to the host operating system's console for debugging. - - If filename is set, append the string to a file on the host operating system (in the - current directory by default -- use FOLDER to view). - - Setting OVERWRITE to true causes that file to be overwritten rather than appended. - - Setting SAVE_TO_DESKTOP to true saves to the desktop instead of the current path. - - Use a filename of "@clip" to write to the host's clipboard. - - Use stat(4) to read the clipboard, but the contents of the clipboard are only available - after pressing CTRL-V during runtime (for security). - - - TIME() - - T() - - Returns the number of seconds elapsed since the cartridge was run. - - This is not the real-world time, but is calculated by counting the number of times - - - _UPDATE or @_UPDATE60 is called. Multiple calls of TIME() from the same frame return - - the same result. - - - STAT(X) - - Get system status where X is: - - 0 Memory usage (0..2048) - 1 CPU used since last flip (1.0 == 100% CPU) - 4 Clipboard contents (after user has pressed CTRL-V) - 6 Parameter string - 7 Current framerate - - 46..49 Index of currently playing SFX on channels 0..3 - 50..53 Note number (0..31) on channel 0..3 - 54 Currently playing pattern index - 55 Total patterns played - 56 Ticks played on current pattern - 57 (Boolean) TRUE when music is playing - - 80..85 UTC time: year, month, day, hour, minute, second - 90..95 Local time - - 100 Current breadcrumb label, or nil - 110 Returns true when in frame-by-frame mode - - Audio values 16..26 are the legacy version of audio state queries 46..56. They only report on - the current state of the audio mixer, which changes only ~20 times a second (depending on the - host sound driver and other factors). 46..56 instead stores a history of mixer state at each - tick to give a higher resolution estimate of the currently audible state. - - - EXTCMD(CMD_STR, [P1, P2]) - - Special system command, where CMD_STR is a string: - - "pause" request the pause menu be opened - "reset" request a cart reset - "go_back" return to the previous cart if there is one - "label" set cart label - "screen" save a screenshot - "rec" set video start point - "rec_frames" set video start point in frames mode - "video" save a .gif to desktop - "audio_rec" start recording audio - "audio_end" save recorded audio to desktop (no supported from web) - "shutdown" quit cartridge (from exported binary) - "folder" open current working folder on the host operating system - "set_filename" set the filename for screenshots / gifs / audio recordings - "set_title" set the host window title - - Some commands have optional number parameters: - - "video" and "screen": P1: an integer scaling factor that overrides the system setting. - P2: when > 0, save to the current folder instead of to desktop - - "audio_end" P1: when > 0, save to the current folder instead of to desktop - - :: Recording GIFs - - EXTCMD("REC"), EXTCMD("VIDEO") is the same as using ctrl-8, ctrl-9 and saves a gif to - the desktop using the current GIF_SCALE setting (use CONFIG GIF_SCALE to change). - - The two additional parameters can be used to override these defaults: - - EXTCMD("VIDEO", 4) -- SCALE *4 (512 X 512) - EXTCMD("VIDEO", 0, 1) -- DEFAULT SCALING, SAVE TO USER DATA FOLDER - - The user data folder can be opened with EXTCMD("FOLDER") and defaults to the same path - as the cartridge, or {pico-8 appdata}/appdata/appname for exported binaries. - - Due to the nature of the gif format, all gifs are recorded at 33.3fps, and frames - produced by PICO-8 are skipped or duplicated in the gif to match roughly what the user - is seeing. To record exactly one frame each time @FLIP() is called, regardless of the - runtime framerate or how long it took to generate the frame, use: - - EXTCMD("REC_FRAMES") - - The default filename for gifs (and screenshots, audio) is foo_%d, where foo is the name - of the cartridge, and %d is a number starting at 0 and automatically incremented until - a file of that name does not exist. Use EXTCMD("SET_FILENAME","FOO") to override that - default. If the custom filename includes "%d", then the auto- incrementing number - behaviour is used, but otherwise files are written even if there is an existing file - with the same name. - ----------------------------------------------------------------------------------------------------- - Graphics ----------------------------------------------------------------------------------------------------- - - PICO-8 has a fixed capacity of 128 8x8 sprites, plus another 128 that overlap with the bottom - half of the map data ("shared data"). These 256 sprites are collectively called the sprite - sheet, and can be thought of as a 128x128 pixel image. - - All of PICO-8's drawing operations are subject to the current draw state. The draw state - includes a camera position (for adding an offset to all coordinates), palette mapping (for - recolouring sprites), clipping rectangle, a drawing colour, and a fill pattern. - - The draw state is reset each time a program is run, or by calling @RESET(). - - Colour indexes: - - 0 black 1 dark_blue 2 dark_purple 3 dark_green - 4 brown 5 dark_gray 6 light_gray 7 white - 8 red 9 orange 10 yellow 11 green - 12 blue 13 indigo 14 pink 15 peach - - - CLIP(X, Y, W, H, [CLIP_PREVIOUS]) - - Sets the clipping rectangle in pixels. All drawing operations will be clipped to the - rectangle at x, y with a width and height of w,h. - - CLIP() to reset. - - When CLIP_PREVIOUS is true, clip the new clipping region by the old one. - - - PSET(X, Y, [COL]) - - Sets the pixel at x, y to colour index COL (0..15). - - When COL is not specified, the current draw colour is used. - - FOR Y=0,127 DO - FOR X=0,127 DO - PSET(X, Y, X*Y/8) - END - END - - - PGET(X, Y) - - Returns the colour of a pixel on the screen at (X, Y). - - WHILE (TRUE) DO - X, Y = RND(128), RND(128) - DX, DY = RND(4)-2, RND(4)-2 - PSET(X, Y, PGET(DX+X, DY+Y)) - END - - When X and Y are out of bounds, PGET returns 0. A custom return value can be specified - with: - - POKE(0x5f36, 0x10) - POKE(0x5f5B, NEWVAL) - - - SGET(X, Y) - - SSET(X, Y, [COL]) - - Get or set the colour (COL) of a sprite sheet pixel. - - When X and Y are out of bounds, SGET returns 0. A custom value can be specified with: - - POKE(0x5f36, 0x10) - POKE(0x5f59, NEWVAL) - - - FGET(N, [F]) - - FSET(N, [F], VAL) - - Get or set the value (VAL) of sprite N's flag F. - - F is the flag index 0..7. - - VAL is TRUE or FALSE. - - The initial state of flags 0..7 are settable in the sprite editor, so can be used to create - custom sprite attributes. It is also possible to draw only a subset of map tiles by - providing a mask in @MAP(). - - When F is omitted, all flags are retrieved/set as a single bitfield. - - FSET(2, 1 | 2 | 8) -- SETS BITS 0,1 AND 3 - FSET(2, 4, TRUE) -- SETS BIT 4 - PRINT(FGET(2)) -- 27 (1 | 2 | 8 | 16) - - - PRINT(STR, X, Y, [COL]) - - PRINT(STR, [COL]) - - Print a string STR and optionally set the draw colour to COL. - - Shortcut: written on a single line, ? can be used to call print without brackets: - - ?"HI" - - When X, Y are not specified, a newline is automatically appended. This can be omitted by - ending the string with an explicit termination control character: - - ?"THE QUICK BROWN FOX\0" - - Additionally, when X, Y are not specified, printing text below 122 causes the console to - scroll. This can be disabled during runtime with POKE(0x5f36,0x40). - - PRINT returns the right-most x position that occurred while printing. This can be used to - find out the width of some text by printing it off-screen: - - W = PRINT("HOGE", 0, -20) -- returns 16 - - See @{Appendix A} (P8SCII) for information about control codes and custom fonts. - - - CURSOR(X, Y, [COL]) - - Set the cursor position. - - If COL is specified, also set the current colour. - - - COLOR([COL]) - - Set the current colour to be used by drawing functions. - - If COL is not specified, the current colour is set to 6 - - - CLS([COL]) - - Clear the screen and reset the clipping rectangle. - - COL defaults to 0 (black) - - - CAMERA([X, Y]) - - Set a screen offset of -x, -y for all drawing operations - - CAMERA() to reset - - - CIRC(X, Y, R, [COL]) - - CIRCFILL(X, Y, R, [COL]) - - Draw a circle or filled circle at x,y with radius r - - If r is negative, the circle is not drawn - - - OVAL(X0, Y0, X1, Y1, [COL]) - - OVALFILL(X0, Y0, X1, Y1, [COL]) - - Draw an oval that is symmetrical in x and y (an ellipse), with the given bounding - rectangle. - - - LINE(X0, Y0, [X1, Y1, [COL]]) - - Draw a line from (X0, Y0) to (X1, Y1) - - If (X1, Y1) are not given, the end of the last drawn line is used. - - LINE() with no parameters means that the next call to LINE(X1, Y1) will only set the end - points without drawing. - - CLS() - LINE() - FOR I=0,6 DO - LINE(64+COS(I/6)*20, 64+SIN(I/6)*20, 8+I) - END - - - RECT(X0, Y0, X1, Y1, [COL]) - - RECTFILL(X0, Y0, X1, Y1, [COL]) - - Draw a rectangle or filled rectangle with corners at (X0, Y0), (X1, Y1). - - - PAL(C0, C1, [P]) - - PAL() swaps colour c0 for c1 for one of three palette re-mappings (p defaults to 0): - - 0: Draw Palette - - The draw palette re-maps colours when they are drawn. For example, an orange flower - sprite can be drawn as a red flower by setting the 9th palette value to 8: - - PAL(9,8) -- draw subsequent orange (colour 9) pixels as red (colour 8) - SPR(1,70,60) -- any orange pixels in the sprite will be drawn with red instead - - Changing the draw palette does not affect anything that was already drawn to the - screen. - - 1: Display Palette - - The display palette re-maps the whole screen when it is displayed at the end of a - frame. For example, if you boot PICO-8 and then type PAL(6,14,1), you can see all of - the gray (colour 6) text immediate change to pink (colour 14) even though it has - already been drawn. This is useful for screen-wide effects such as fading in/out. - - 2: Secondary Palette - - Used by @FILLP() for drawing sprites. This provides a mapping from a single 4-bit - colour index to two 4-bit colour indexes. - - PAL() resets all palettes to system defaults (including transparency values) - PAL(P) resets a particular palette (0..2) to system defaults - - - PAL(TBL, [P]) - - When the first parameter of pal is a table, colours are assigned for each entry. For - example, to re-map colour 12 and 14 to red: - - PAL({[12]=9, [14]=8}) - - Or to re-colour the whole screen shades of gray (including everything that is already - drawn): - - PAL({1,1,5,5,5,6,7,13,6,7,7,6,13,6,7,1}, 1) - - Because table indexes start at 1, colour 0 is given at the end in this case. - - - PALT(C, [T]) - - Set transparency for colour index to T (boolean) Transparency is observed by @SPR(), - @SSPR(), @MAP() AND @TLINE() - - PALT(8, TRUE) -- RED PIXELS NOT DRAWN IN SUBSEQUENT SPRITE/TLINE DRAW CALLS - - PALT() resets to default: all colours opaque except colour 0 - - When C is the only parameter, it is treated as a bitfield used to set all 16 values. For - example: to set colours 0 and 1 as transparent: - - PALT(0B1100000000000000) - - - SPR(N, X, Y, [W, H], [FLIP_X], [FLIP_Y]) - - Draw sprite N (0..255) at position X,Y - - W (width) and H (height) are 1, 1 by default and specify how many sprites wide to blit. - - Colour 0 drawn as transparent by default (see @PALT()) - - When FLIP_X is TRUE, flip horizontally. - - When FLIP_Y is TRUE, flip vertically. - - - SSPR(SX, SY, SW, SH, DX, DY, [DW, DH], [FLIP_X], [FLIP_Y]] - - Stretch an rectangle of the sprite sheet (sx, sy, sw, sh) to a destination rectangle on the - screen (sx, sy, dw, dh). In both cases, the x and y values are coordinates (in pixels) of - the rectangle's top left corner, with a width of w, h. - - Colour 0 drawn as transparent by default (see @PALT()) - - dw, dh defaults to sw, sh - - When FLIP_X is TRUE, flip horizontally. - - When FLIP_Y is TRUE, flip vertically. - - - FILLP(P) - - The PICO-8 fill pattern is a 4x4 2-colour tiled pattern observed by: @CIRC() @CIRCFILL() - @RECT() @RECTFILL() @OVAL() @OVALFILL() @PSET() @LINE() - - P is a bitfield in reading order starting from the highest bit. To calculate the value of P - for a desired pattern, add the bit values together: - - .-----------------------. - |32768|16384| 8192| 4096| - |-----|-----|-----|-----| - | 2048| 1024| 512 | 256 | - |-----|-----|-----|-----| - | 128 | 64 | 32 | 16 | - |-----|-----|-----|-----| - | 8 | 4 | 2 | 1 | - '-----------------------' - - For example, FILLP(4+8+64+128+ 256+512+4096+8192) would create a checkerboard pattern. - - This can be more neatly expressed in binary: FILLP(0b0011001111001100). - - The default fill pattern is 0, which means a single solid colour is drawn. - - To specify a second colour for the pattern, use the high bits of any colour parameter: - - FILLP(0b0011010101101000) - CIRCFILL(64,64,20, 0x4E) -- brown and pink - - Additional settings are given in bits 0b0.111: - - 0b0.100 Transparency - - When this bit is set, the second colour is not drawn - - -- checkboard with transparent squares - FILLP(0b0011001111001100.1) - - 0b0.010 Apply to Sprites - - When set, the fill pattern is applied to sprites (spr, sspr, map, tline), using a - colour mapping provided by the secondary palette. - - Each pixel value in the sprite (after applying the draw palette as usual) is taken - to be an index into the secondary palette. Each entry in the secondary palette - contains the two colours used to render the fill pattern. For example, to draw a - white and red (7 and 8) checkerboard pattern for only blue pixels (colour 12) in a - sprite: - - FOR I=0,15 DO PAL(I, I+I*16, 2) END -- all other colours map to themselves - PAL(12, 0x87, 2) -- remap colour 12 in the secondary palette - - FILLP(0b0011001111001100.01) -- checkerboard palette, applied to sprites - SPR(1, 64,64) -- draw the sprite - - 0b0.001 Apply Secondary Palette Globally - - When set, the secondary palette mapping is also applied by all draw functions that - respect fill patterns (circfill, line etc). This can be useful when used in - conjunction with sprite drawing functions, so that the colour index of each sprite - pixel means the same thing as the colour index supplied to the drawing functions. - - FILLP(0b0011001111001100.001) - PAL(12, 0x87, 2) - CIRCFILL(64,64,20,12) -- red and white checkerboard circle - - The secondary palette mapping is applied after the regular draw palette mapping. So - the following would also draw a red and white checkered circle: - - PAL(3,12) - CIRCFILL(64,64,20,3) - - The fill pattern can also be set by setting bits in any colour parameter (for example, the - parameter to @COLOR(), or the last parameter to @LINE(), @RECT() etc. - - POKE(0x5F34, 1) -- sets integrated fillpattern + colour mode - CIRCFILL(64,64,20, 0x114E.ABCD) -- sets fill pattern to ABCD - - When using the colour parameter to set the fill pattern, the following bits are used: - - bit 0x1000.0000 means the non-colour bits should be observed - bit 0x0100.0000 transparency - bit 0x0200.0000 apply to sprites - bit 0x0400.0000 apply secondary palette - bits 0x00FF.0000 are the usual colour bits - bits 0x0000.FFFF are interpreted as the fill pattern - ----------------------------------------------------------------------------------------------------- - Table Functions ----------------------------------------------------------------------------------------------------- - - With the exception of PAIRS(), the following functions and the # operator apply only to tables - that are indexed starting from 1 and do not have NIL entries. All other forms of tables can be - considered as hash maps or sets, rather than arrays that have a length. - - - ADD(TBL, VAL, [INDEX]) - - Add value VAL to the end of table TBL. Equivalent to: - - TBL[#TBL + 1] = VAL - - If index is given then the element is inserted at that position: - - FOO={} -- CREATE EMPTY TABLE - ADD(FOO, 11) - ADD(FOO, 22) - PRINT(FOO[2]) -- 22 - - - DEL(TBL, VAL) - - Delete the first instance of value VAL in table TBL. The remaining entries are shifted left - one index to avoid holes. - - Note that VAL is the value of the item to be deleted, not the index into the table. (To - remove an item at a particular index, use DELI instead). DEL returns the deleted item, or - returns no value when nothing was deleted. - - A={1,10,2,11,3,12} - FOR ITEM IN ALL(A) DO - IF (ITEM < 10) THEN DEL(A, ITEM) END - END - FOREACH(A, PRINT) -- 10,11,12 - PRINT(A[3]) -- 12 - - - DELI(TBL, [I]) - - Like @DEL(), but remove the item from table TBL at index I When I is not given, the last - element of the table is removed and returned. - - - COUNT(TBL, [VAL]) - - Returns the length of table t (same as #TBL) When VAL is given, returns the number of - instances of VAL in that table. - - - ALL(TBL) - - Used in FOR loops to iterate over all items in a table (that have a 1-based integer index), - in the order they were added. - - T = {11,12,13} - ADD(T,14) - ADD(T,"HI") - FOR V IN ALL(T) DO PRINT(V) END -- 11 12 13 14 HI - PRINT(#T) -- 5 - - - FOREACH(TBL, FUNC) - - For each item in table TBL, call function FUNC with the item as a single parameter. - - > FOREACH({1,2,3}, PRINT) - - - PAIRS(TBL) - - Used in FOR loops to iterate over table TBL, providing both the key and value for each - item. Unlike @ALL(), PAIRS() iterates over every item regardless of indexing scheme. Order - is not guaranteed. - - T = {["HELLO"]=3, [10]="BLAH"} - T.BLUE = 5; - FOR K,V IN PAIRS(T) DO - PRINT("K: "..K.." V:"..V) - END - - Output: - - K: 10 v:BLAH - K: HELLO v:3 - K: BLUE v:5 - ----------------------------------------------------------------------------------------------------- - Input ----------------------------------------------------------------------------------------------------- - - - BTN([B], [PL]) - - Get button B state for player PL (default 0) - - B: 0..5: left right up down button_o button_x
PL: player index 0..7 - - Instead of using a number for B, it is also possible to use a button glyph. (In the coded - editor, use Shift-L R U D O X) - - If no parameters supplied, returns a bitfield of all 12 button states for player 0 & 1 // - P0: bits 0..5 P1: bits 8..13 - - Default keyboard mappings to player buttons: - - player 0: [DPAD]: cursors, [O]: Z C N [X]: X V M - player 1: [DPAD]: SFED, [O]: LSHIFT [X]: TAB W Q A - - Although PICO-8 accepts all button combinations, note that it is generally impossible to - press both LEFT and RIGHT at the same time on a physical game controller. On some - controllers, UP + LEFT/RIGHT is also awkward if [X] or [O] could be used instead of UP - (e.g. to jump / accelerate). - - - BTNP(B, [PL]) - - BTNP is short for "Button Pressed"; Instead of being true when a button is held down, BTNP - returns true when a button is down AND it was not down the last frame. It also repeats - after 15 frames, returning true every 4 frames after that (at 30fps -- double that at - 60fps). This can be used for things like menu navigation or grid-wise player movement. - - The state that BTNP reads is reset at the start of each call to @_UPDATE or @_UPDATE60, so - it is preferable to use BTNP from inside one of those functions. - - Custom delays (in frames @ 30fps) can be set by poking the following memory addresses: - - POKE(0X5F5C, DELAY) -- SET THE INITIAL DELAY BEFORE REPEATING. 255 MEANS NEVER REPEAT. - POKE(0X5F5D, DELAY) -- SET THE REPEATING DELAY. - - In both cases, 0 can be used for the default behaviour (delays 15 and 4) - ----------------------------------------------------------------------------------------------------- - Audio ----------------------------------------------------------------------------------------------------- - - - SFX(N, [CHANNEL], [OFFSET], [LENGTH]) - - Play sfx N (0..63) on CHANNEL (0..3) from note OFFSET (0..31 in notes) for LENGTH notes. - - Using negative CHANNEL values have special meanings: - - CHANNEL -1: (default) to automatically choose a channel that is not being used - CHANNEL -2: to stop the given sound from playing on any channel - - N can be a command for the given CHANNEL (or all channels when CHANNEL < 0): - - N -1: to stop sound on that channel - N -2: to release sound on that channel from looping - - SFX(3) -- PLAY SFX 3 - SFX(3,2) -- PLAY SFX 3 ON CHANNEL 2 - SFX(3,-2) -- STOP SFX 3 FROM PLAYING ON ANY CHANNEL - SFX(-1,2) -- STOP WHATEVER IS PLAYING ON CHANNEL 2 - SFX(-2,2) -- RELEASE LOOPING ON CHANNEL 2 - SFX(-1) -- STOP ALL SOUNDS ON ALL CHANNELS - SFX(-2) -- RELEASE LOOPING ON ALL CHANNELS - - - MUSIC(N, [FADE_LEN], [CHANNEL_MASK]) - - Play music starting from pattern N (0..63) - N -1 to stop music - - FADE_LEN is in ms (default: 0). So to fade pattern 0 in over 1 second: - - MUSIC(0, 1000) - - CHANNEL_MASK specifies which channels to reserve for music only. For example, to play only - on channels 0..2: - - MUSIC(0, NIL, 7) -- 1 | 2 | 4 - - Reserved channels can still be used to play sound effects on, but only when that channel - index is explicitly requested by @SFX(). - ----------------------------------------------------------------------------------------------------- - Map ----------------------------------------------------------------------------------------------------- - - The PICO-8 map is a 128x32 grid of 8-bit values, or 128x64 when using the shared memory. When - using the map editor, the meaning of each value is taken to be an index into the sprite sheet - (0..255). However, it can instead be used as a general block of data. - - - MGET(X, Y) - - MSET(X, Y, VAL) - - Get or set map value (VAL) at X,Y - - When X and Y are out of bounds, MGET returns 0, or a custom return value that can be - specified with: - - POKE(0x5f36, 0x10) - POKE(0x5f5a, NEWVAL) - - - MAP(TILE_X, TILE_Y, [SX, SY], [TILE_W, TILE_H], [LAYERS]) - - Draw section of map (starting from TILE_X, TILE_Y) at screen position SX, SY (pixels). - - To draw a 4x2 blocks of tiles starting from 0,0 in the map, to the screen at 20,20: - - MAP(0, 0, 20, 20, 4, 2) - - TILE_W and TILE_H default to the entire map (including shared space when applicable). - - MAP() is often used in conjunction with CAMERA(). To draw the map so that a player object - (at PL.X in PL.Y in pixels) is centered: - - CAMERA(PL.X - 64, PL.Y - 64) - MAP() - - LAYERS is a bitfield. When given, only sprites with matching sprite flags are drawn. For - example, when LAYERS is 0x5, only sprites with flag 0 and 2 are drawn. - - Sprite 0 is taken to mean "empty" and is not drawn. To disable this behaviour, use: - POKE(0x5F36, 0x8) - - - TLINE(X0, Y0, X1, Y1, MX, MY, [MDX, MDY], [LAYERS]) - - Draw a textured line from (X0,Y0) to (X1,Y1), sampling colour values from the map. When - LAYERS is specified, only sprites with matching flags are drawn (similar to MAP()) - - MX, MY are map coordinates to sample from, given in tiles. Colour values are sampled from - the 8x8 sprite present at each map tile. For example: - - 2.0, 1.0 means the top left corner of the sprite at position 2,1 on the map - 2.5, 1.5 means pixel (4,4) of the same sprite - - MDX, MDY are deltas added to mx, my after each pixel is drawn. (Defaults to 0.125, 0) - - The map coordinates (MX, MY) are masked by values calculated by subtracting 0x0.0001 from - the values at address 0x5F38 and 0x5F39. In simpler terms, this means you can loop a - section of the map by poking the width and height you want to loop within, as long as they - are powers of 2 (2,4,8,16..) - - For example, to loop every 8 tiles horizontally, and every 4 tiles vertically: - - POKE(0x5F38, 8) - POKE(0x5F39, 4) - TLINE(...) - - The default values (0,0) gives a masks of 0xff.ffff, which means that the samples will loop - every 256 tiles. - - An offset to sample from (also in tiles) can also be specified at addresses 0x5f3a, 0x5f3b: - - POKE(0x5F3A, OFFSET_X) - POKE(0x5F3B, OFFSET_Y) - - Sprite 0 is taken to mean "empty" and not drawn. To disable this behaviour, use: - POKE(0x5F36, 0x8) - - :: Setting TLINE Precision - - By default, tline coordinates (mx,my,mdx,mdy) are expressed in tiles. This means that 1 - pixel is 0.125, and only 13 bits are used for the fractional part. If more precision is - needed, the coordinate space can be adjusted to allow more bits for the fractional part. - This can be useful for things like textured walls, where the accumulated error from mdx,mdy - rounding maybe become visible when viewed up close. - - The number of bits used for the fractional part of each pixel is stored in a special - register that can be adjusted by calling TLINE once with a single argument: - - TLINE(16) -- MX,MY,MDX,MDY expressed in pixels - ----------------------------------------------------------------------------------------------------- - Memory ----------------------------------------------------------------------------------------------------- - - PICO-8 has 3 types of memory: - - 1. Base RAM (64k): see layout below. Access with PEEK() POKE() MEMCPY() MEMSET() - 2. Cart ROM (32k): same layout as base ram until 0x4300 - 3. Lua RAM (2MB): compiled program + variables - - Technical note: While using the editor, the data being modified is in cart rom, but api - functions such as @SPR() and @SFX() only operate on base ram. PICO-8 automatically copies - cart rom to base ram (i.e. calls @RELOAD()) in 3 cases:
1. When a cartridge is - loaded
2. When a cartridge is run
3. When exiting any of the editor modes // can - turn off with: poke(0x5f37,1)
- - :: Base RAM Memory Layout - - 0X0 GFX - 0X1000 GFX2/MAP2 (SHARED) - 0X2000 MAP - 0X3000 GFX FLAGS - 0X3100 SONG - 0X3200 SFX - 0X4300 USER DATA - 0X5600 CUSTOM FONT (IF ONE IS DEFINED) - 0X5E00 PERSISTENT CART DATA (256 BYTES) - 0X5F00 DRAW STATE - 0X5F40 HARDWARE STATE - 0X5F80 GPIO PINS (128 BYTES) - 0X6000 SCREEN (8K) - 0x8000 USER DATA - - User data has no particular meaning and can be used for anything via @MEMCPY(), @PEEK() & - @POKE(). Persistent cart data is mapped to 0x5e00..0x5eff but only stored if @CARTDATA() - has been called. Colour format (gfx/screen) is 2 pixels per byte: low bits encode the left - pixel of each pair. Map format is one byte per tile, where each byte normally encodes a - sprite index. - - :: Remapping Graphics and Map Data - - The GFX, MAP and SCREEN memory areas can be reassigned by setting values at the following - addresses: - - 0X5F54 GFX: can be 0x00 (default) or 0x60 (use the screen memory as the spritesheet) - 0X5F55 SCREEN: can be 0x60 (default) or 0x00 (use the spritesheet as screen memory) - 0X5F56 MAP: can be 0x20 (default) or 0x10..0x2f, or 0x80 and above. - 0X5F57 MAP SIZE: map width. 0 means 256. Defaults to 128. - - Addresses can be expressed in 256 byte increments. So 0x20 means 0x2000, 0x21 means 0x2100 - etc. Map addresses 0x30..0x3f are taken to mean 0x10..0x1f (shared memory area). Map data - can only be contained inside the memory regions 0x1000..0x2fff, 0x8000..0xffff, and the - map height is determined to be the largest possible size that fits in the given region. - - GFX and SCREEN memory mapping happens at a low level which also affects memory access - functions (peek, poke, memcpy). The 8k memory blocks starting at 0x0 and 0x6000 can be - thought of as pointers to a separate video ram, and settings the values at 0X5F54 and - 0X5F56 alters those pointers. - - - PEEK(ADDR, [N]) - - Read a byte from an address in base ram. If N is specified, PEEK() returns that number of - results (max: 8192). For example, to read the first 2 bytes of video memory: - - A, B = PEEK(0x6000, 2) - - - POKE(ADDR, VAL1, VAL2, ...) - - Write one or more bytes to an address in base ram. If more than one parameter is provided, - they are written sequentially (max: 8192). - - - PEEK2(ADDR) - - POKE2(ADDR, VAL) - - PEEK4(ADDR) - - POKE4(ADDR, VAL) - - 16-bit and 32-bit versions of PEEK and POKE. Read and write one number (VAL) in - little-endian format: - - 16 bit: 0xffff.0000 - 32 bit: 0xffff.ffff - - ADDR does not need to be aligned to 2 or 4-byte boundaries. - - Alternatively, the following operators can be used to peek (but not poke), and are slightly - faster: - - @ADDR -- PEEK(ADDR) - %ADDR -- PEEK2(ADDR) - $ADDR -- PEEK4(ADDR) - - - MEMCPY(DEST_ADDR, SOURCE_ADDR, LEN) - - Copy LEN bytes of base ram from source to dest. Sections can be overlapping - - - RELOAD(DEST_ADDR, SOURCE_ADDR LEN, [FILENAME]) - - Same as MEMCPY, but copies from cart rom. - - The code section ( >= 0x4300) is protected and can not be read. - - If filename specified, load data from a separate cartridge. In this case, the cartridge - must be local (BBS carts can not be read in this way). - - - CSTORE(DEST_ADDR, SOURCE_ADDR, LEN, [FILENAME]) - - Same as memcpy, but copies from base ram to cart rom. - - CSTORE() is equivalent to CSTORE(0, 0, 0x4300) - - The code section ( >= 0x4300) is protected and can not be written to. - - If FILENAME is specified, the data is written directly to that cartridge on disk. Up to 64 - cartridges can be written in one session. See @{Cartridge Data} for more information. - - - MEMSET(DEST_ADDR, VAL, LEN) - - Write the 8-bit value VAL into memory starting at DEST_ADDR, for LEN bytes. - - For example, to fill half of video memory with 0xC8: - - > MEMSET(0x6000, 0xC8, 0x1000) - ----------------------------------------------------------------------------------------------------- - Math ----------------------------------------------------------------------------------------------------- - - - MAX(X, Y) - - MIN(X, Y) - - MID(X, Y, Z) - - Returns the maximum, minimum, or middle value of parameters - - > ?MID(7,5,10) -- 7 - - - FLR(X) - - > ?FLR ( 4.1) --> 4 - > ?FLR (-2.3) --> -3 - - - CEIL(X) - - Returns the closest integer that is equal to or below x - - > ?CEIL( 4.1) --> 5 - > ?CEIL(-2.3) --> -2 - - - COS(X) - - SIN(X) - - Returns the cosine or sine of x, where 1.0 means a full turn. For example, to animate a - dial that turns once every second: - - FUNCTION _DRAW() - CLS() - CIRC(64, 64, 20, 7) - X = 64 + COS(T()) * 20 - Y = 64 + SIN(T()) * 20 - LINE(64, 64, X, Y) - END - - PICO-8's SIN() returns an inverted result to suit screenspace (where Y means "DOWN", as - opposed to mathematical diagrams where Y typically means "UP"). - - > SIN(0.25) -- RETURNS -1 - - To get conventional radian-based trig functions without the y inversion, paste the - following snippet near the start of your program: - - P8COS = COS FUNCTION COS(ANGLE) RETURN P8COS(ANGLE/(3.1415*2)) END - P8SIN = SIN FUNCTION SIN(ANGLE) RETURN -P8SIN(ANGLE/(3.1415*2)) END - - - ATAN2(DX, DY) - - Converts DX, DY into an angle from 0..1 - - As with cos/sin, angle is taken to run anticlockwise in screenspace. For example: - - > ?ATAN(0, -1) -- RETURNS 0.25 - - ATAN2 can be used to find the direction between two points: - - X=20 Y=30 - FUNCTION _UPDATE() - IF (BTN(0)) X-=2 - IF (BTN(1)) X+=2 - IF (BTN(2)) Y-=2 - IF (BTN(3)) Y+=2 - END - - FUNCTION _DRAW() - CLS() - CIRCFILL(X,Y,2,14) - CIRCFILL(64,64,2,7) - - A=ATAN2(X-64, Y-64) - PRINT("ANGLE: "..A) - LINE(64,64, - 64+COS(A)*10, - 64+SIN(A)*10,7) - END - - - SQRT(X) - - Return the square root of x - - - ABS(X) - - Returns the absolute (positive) value of x - - - RND(X) - - Returns a random number n, where 0 <= n < x - - If you want an integer, use flr(rnd(x)). If x is an array-style table, return a random - element between table[1] and table[#table]. - - - SRAND(X) - - Sets the random number seed. The seed is automatically randomized on cart startup. - - FUNCTION _DRAW() - CLS() - SRAND(33) - FOR I=1,100 DO - PSET(RND(128),RND(128),7) - END - END - - :: Bitwise Operations - - Bitwise operations are similar to logical expressions, except that they work at the bit - level. - - Say you have two numbers (written here in binary using the "0b" prefix): - - X = 0b1010 - Y = 0b0110 - - A bitwise AND will give you bits set when the corresponding bits in X /and/ Y are both set - - > PRINT(BAND(X,Y)) -- RESULT:0B0010 (2 IN DECIMAL) - - There are 9 bitwise functions available in PICO-8: - - BAND(X, Y) -- BOTH BITS ARE SET - BOR(X, Y) -- EITHER BIT IS SET - BXOR(X, Y) -- EITHER BIT IS SET, BUT NOT BOTH OF THEM - BNOT(X) -- EACH BIT IS NOT SET - SHL(X, N) -- SHIFT LEFT N BITS (ZEROS COME IN FROM THE RIGHT) - SHR(X, N) -- ARITHMETIC RIGHT SHIFT (THE LEFT-MOST BIT STATE IS DUPLICATED) - LSHR(X, N) -- LOGICAL RIGHT SHIFT (ZEROS COMES IN FROM THE LEFT) - ROTL(X, N) -- ROTATE ALL BITS IN X LEFT BY N PLACES - ROTR(X, N) -- ROTATE ALL BITS IN X RIGHT BY N PLACES - - Operator versions are also available: & | ^^ ~ << >> >>> <<> >>< - - For example: PRINT(67 & 63) -- result:3 equivalent to BAND(67,63) - - Operators are slightly faster than their corresponding functions. They behave exactly the - same, except that if any operands are not numbers the result is a runtime error (the - function versions instead default to a value of 0). - - :: Integer Division - - Integer division can be performed with a \ - - > PRINT(9\2) -- RESULT:4 EQUIVALENT TO FLR(9/2) - ----------------------------------------------------------------------------------------------------- - Custom Menu Items ----------------------------------------------------------------------------------------------------- - - - MENUITEM(INDEX, [LABEL], [CALLBACK]) - - Add an extra item to the pause menu - - Index should be 1..5 and determines the order each menu item is displayed label should be a - string up to 16 characters long callback is a function called when the item is selected by - the users - - When no label or function is supplied, the menu item is removed - - MENUITEM(1, "RESTART PUZZLE", - FUNCTION() RESET_PUZZLE() SFX(10) END - ) - - If the callback returns true, the pause menu remains open. The callback takes a single - parameter that is a bitfield of L,R,X button presses - - MENUITEM(1, "FOO", - FUNCTION(B) IF (B&1 > 0) THEN PRINTH("LEFT WAS PRESSED") END END - ) - ----------------------------------------------------------------------------------------------------- - Strings and Type Conversion ----------------------------------------------------------------------------------------------------- - - Strings in Lua are written either in single or double quotes or with matching [[ ]] brackets: - - S = "THE QUICK" - S = 'BROWN FOX'; - S = [[ - JUMPS OVER - MULTIPLE LINES - ]] - - The length of a string (number of characters) can be retrieved using the # operator: - - >PRINT(#S) - - Strings can be joined using the .. operator. Joining numbers converts them to strings. - - >PRINT("THREE "..4) --> "THREE 4" - - When used as part of an arithmetic expression, string values are converted to numbers: - - >PRINT(2+"3") --> 5 - - - TOSTR(VAL, [FORMAT_FLAGS]) - - Convert VAL to a string. - - FORMAT_FLAGS is a bitfield: - - 0x1: Write the raw hexadecimal value of numbers, functions or tables. - 0x2: Write VAL as a signed 32-bit integer by shifting it left by 16 bits. - - TOSTR(NIL) returns "[nil]" - - TOSTR() returns "" - - TOSTR(17) -- "17" - TOSTR(17,0x1) -- "0x0011.0000" - TOSTR(17,0x3) -- "0x00110000" - TOSTR(17,0x2) -- "1114112" - - - TONUM(VAL, [FORMAT_FLAGS]) - - Converts VAL to a number. - - TONUM("17.5") -- 17.5 - TONUM(17.5) -- 17.5 - TONUM("HOGE") -- NO RETURN VALUE - - FORMAT_FLAGS is a bitfield: - - 0x1: Read the string as written in (unsigned, integer) hexadecimal without the "0x" prefix - Non-hexadecimal characters are taken to be '0'. - 0x2: Read the string as a signed 32-bit integer, and shift right 16 bits. - 0x4: When VAL can not be converted to a number, return 0 - - TONUM("FF", 0x1) -- 255 - TONUM("1114112", 0x2) -- 17 - TONUM("1234abcd", 0x3) -- 0x1234.abcd - - - CHR(VAL0, VAL1, ...) - - Convert one or more ordinal character codes to a string. - - When - - CHR(64) -- "@" - CHR(104,101,108,108,111) -- "hello" - - - ORD(STR, [INDEX], [NUM_RESULTS]) - - Convert one or more characters from string STR to their ordinal (0..255) character codes. - - Use the INDEX parameter to specify which character in the string to use. When INDEX is out - of range or str is not a string, ORD returns nil. - - When NUM_RESULTS is given, ORD returns multiple values starting from INDEX. - - ORD("@") -- 64 - ORD("123",2) -- 50 (THE SECOND CHARACTER: "2") - ORD("123",2,3) -- 50,51,52 - - - SUB(STR, POS0, [POS1]) - - Grab a substring from string str, from pos0 up to and including pos1. When POS1 is not - specified, the remainder of the string is returned. When POS1 is specified, but not a - number, a single character at POS0 is returned. - - S = "THE QUICK BROWN FOX" - PRINT(SUB(S,5,9)) --> "QUICK" - PRINT(SUB(S,5)) --> "QUICK BROWN FOX" - PRINT(SUB(S,5,_)) --> "Q" - - - SPLIT(STR, [SEPARATOR], [CONVERT_NUMBERS]) - - Split a string into a table of elements delimited by the given separator (defaults to ","). - When separator is a number n, the string is split into n-character groups. When - convert_numbers is true, numerical tokens are stored as numbers (defaults to true). Empty - elements are stored as empty strings. - - SPLIT("1,2,3") -- {1,2,3} - SPLIT("ONE:TWO:3",":",FALSE) -- {"ONE","TWO","3"} - SPLIT("1,,2,") -- {1,"",2,""} - - - TYPE(VAL) - - Returns the type of val as a string. - - > PRINT(TYPE(3)) - NUMBER - > PRINT(TYPE("3")) - STRING - ----------------------------------------------------------------------------------------------------- - Cartridge Data ----------------------------------------------------------------------------------------------------- - - Using @CARTDATA(), @DSET(), AND @DGET(), 64 numbers (256 bytes) of persistent data can be - stored on the user's PICO-8 that persists after the cart is unloaded or PICO-8 is shutdown. - This can be used as a lightweight way to store things like high scores or to save player - progress. It can also be used to share data across cartridges / cartridge versions. - - If more than 256 bytes is needed, it is also possible to write directly to the cartridge using - @CSTORE(). The disadvantage is that the data is tied to that particular version of the - cartridge. e.g. if a game is updated, players will lose their savegames. Also, some space in - the data sections of the cartridge need to be left available to use as storage. - - Another alternative is to write directly to a second cartridge by specifying a fourth parameter - to @CSTORE(). This requires a cart swap (which in reality only means the user needs to watch a - spinny cart animation for 1 second). - - CSTORE(0,0,0X2000, "SPRITE SHEET.P8") - -- LATER, RESTORE THE SAVED DATA: - RELOAD(0,0,0X2000, "SPRITE SHEET.P8") - - - CARTDATA(ID) - - Opens a permanent data storage slot indexed by ID that can be used to store and retrieve up - to 256 bytes (64 numbers) worth of data using @DSET() and @DGET(). - - CARTDATA("ZEP_DARK_FOREST") - DSET(0, SCORE) - - ID is a string up to 64 characters long, and should be unusual enough that other - cartridges do not accidentally use the same id. Legal characters are a..z, 0..9 and - underscore (_) - - Returns true if data was loaded, otherwise false. - - CARTDATA can be called once per cartridge execution, and so only a single data slot can be - used. - - Once a cartdata ID has been set, the area of memory 0X5E00..0X5EFF is mapped to permanent - storage, and can either be accessed directly or via @DGET()/@DSET(). - - There is no need to flush written data -- it is automatically saved to permanent storage - even if modified by directly @POKE()'ing 0X5E00..0X5EFF. - - - DGET(INDEX) - - Get the number stored at INDEX (0..63) - - Use this only after you have called @CARTDATA() - - - DSET(INDEX, VALUE) - - Set the number stored at index (0..63) - - Use this only after you have called @CARTDATA() - ----------------------------------------------------------------------------------------------------- - GPIO ----------------------------------------------------------------------------------------------------- - - GPIO stands for "General Purpose Input Output", and allows machines to communicate with each - other. PICO-8 maps bytes in the range 0x5f80..0x5fff to gpio pins that can be - - - POKE()ed (to output a value -- e.g. to make an LED light up) or @PEEK()ed (e.g. to read - - the state of a switch). - - GPIO means different things for different host platforms: - - CHIP: 0x5f80..0x5f87 mapped to xio-p0..xio-p7 - Pocket CHIP: 0x5f82..0x5f87 mapped to GPIO1..GPIO6 - // xio-p0 & p1 are exposed inside the prototyping area inside the case. - Raspberry Pi: 0x5f80..0x5f9f mapped to wiringPi pins 0..31 - // see http://wiringpi.com/pins/ for mappings on different models. - // also: watch out for BCM vs. WiringPi GPIO indexing! - - CHIP and Raspberry Pi values are all digital: 0 (LOW) and 255 (HIGH) - - A program to blink any LEDs attached on and off: - - T = 0 - FUNCTION _DRAW() - CLS(5) - FOR I=0,7 DO - VAL = 0 - IF (T % 2 < 1) VAL = 255 - POKE(0X5F80 + I, VAL) - CIRCFILL(20+I*12,64,4,VAL/11) - END - T += 0.1 - END - - :: Serial - - For more precise timing, the @SERIAL() command can be used. GPIO writes are buffered and - dispatched at the end of each frame, allowing clock cycling at higher and/or more regular - speeds than is possible by manually bit-banging using @POKE() calls. - - - SERIAL(CHANNEL, ADDRESS, LENGTH) - - CHANNEL: - 0x000..0x0fe corresponds to gpio pin numbers; send 0x00 for LOW or 0xFF for HIGH - 0x0ff delay; length is taken to mean "duration" in microseconds (excl. overhead) - 0x400..0x401 ws281x LED string (experimental) - - ADDRESS: The PICO-8 memory location to read from / write to. - - LENGTH: Number of bytes to send. 1/8ths are allowed to send partial bit strings. - - For example, to send a byte one bit at a time to a typical APA102 LED string: - - VAL = 42 -- VALUE TO SEND - DAT = 16 CLK = 15 -- DATA AND CLOCK PINS DEPEND ON DEVICE - POKE(0X4300,0) -- DATA TO SEND (SINGLE BYTES: 0 OR 0XFF) - POKE(0X4301,0XFF) - FOR B=0,7 DO - -- SEND THE BIT (HIGH FIRST) - SERIAL(DAT, BAND(VAL, SHL(1,7-B))>0 AND 0X4301 OR 0X4300, 1) - -- CYCLE THE CLOCK - SERIAL(CLK, 0X4301) - SERIAL(0XFF, 5) -- DELAY 5 - SERIAL(CLK, 0X4300) - SERIAL(0XFF, 5) -- DELAY 5 - END - - Additional channels are available for bytestreams to and from the host operating system. - These are intended to be most useful for UNIX-like environments while developing - toolchains, and are not available while running a BBS or exported cart [1]. Maximum - transfer rate in all cases is 64k/sec (blocks cpu). - - 0x800 dropped file // stat(120) returns TRUE when data is available - 0x802 dropped image // stat(121) returns TRUE when data is available - 0x804 stdin - 0x805 stdout - 0x806 file specified with: pico8 -i filename - 0x807 file specified with: pico8 -o filename - - Image files dropped into PICO-8 show up on channel 0x802 as a bytestream with a special - format: The first 4 bytes are the image's width and height (2 bytes each little-endian, - like PEEK2), followed by the image in reading order, one byte per pixel, colour-fitted to - the display palette at the time the file was dropped. - - [1] Channels 0x800 and 0x802 are available from exported binaries, but with a maximum file - size of 256k, or 128x128 for images. - - :: HTML - - Cartridges exported as HTML / .js use a global array of integers (pico8_gpio) to represent - gpio pins. The shell HTML should define the array: - - var pico8_gpio = Array(128); - ----------------------------------------------------------------------------------------------------- - Mouse and Keyboard Input ----------------------------------------------------------------------------------------------------- - - // EXPERIMENTAL -- but mostly working on all platforms - - Mouse and keyboard input can be achieved by enabling devkit input mode: - - POKE(0x5F2D, flags) -- where flags are: - - 0x1 Enable - 0x2 Mouse buttons trigger btn(4)..btn(6) - 0x4 Pointer lock (use stat 38..39 to read movements) - - Note that not every PICO-8 will have a keyboard or mouse attached to it, so when posting carts - to the Lexaloffle BBS, it is encouraged to make keyboard and/or mouse control optional and off - by default, if possible. When devkit input mode is enabled, a message is displayed to BBS users - warning them that the program may be expecting input beyond the standard 6-button controllers. - - The state of the mouse and keyboard can be found in stat(x): - - STAT(30) -- (Boolean) True when a keypress is available - STAT(31) -- (String) character returned by keyboard - STAT(32) -- Mouse X - STAT(33) -- Mouse Y - STAT(34) -- Mouse buttons (bitfield) - STAT(36) -- Mouse wheel event - STAT(38) -- Relative x movement (in host desktop pixels) -- requires flag 0x4 - STAT(39) -- Relative y movement (in host desktop pixels) -- requires flag 0x4 - ----------------------------------------------------------------------------------------------------- - Additional Lua Features ----------------------------------------------------------------------------------------------------- - -PICO-8 also exposes 2 features of Lua for advanced users: Metatables and Coroutines. - -For more information, please refer to the Lua 5.2 manual. - -:: Metatables - - Metatables can be used to define the behaviour of objects under particular operations. For - example, to use tables to represent 2D vectors that can be added together, the '+' operator is - redefined by defining an "__add" function for the metatable: - - VEC2D={ - __ADD=FUNCTION(A,B) - RETURN {X=(A.X+B.X), Y=(A.Y+B.Y)} - END - } - - V1={X=2,Y=9} SETMETATABLE(V1, VEC2D) - V2={X=1,Y=5} SETMETATABLE(V2, VEC2D) - V3 = V1+V2 - PRINT(V3.X..","..V3.Y) -- 3,14 - - - SETMETATABLE(TBL, M) - - Set table TBL metatable to M - - - GETMETATABLE(TBL) - - return the current metatable for table t, or nil if none is set - - - RAWSET(TBL, KEY, VALUE) - - RAWGET(TBL, KEY) - - RAWEQUAL(TBL1,TBL2 - - RAWLEN(TBL) - - Raw access to the table, as if no metamethods were defined. - -:: Function Arguments - - The list of function arguments can be specifed with ... - - FUNCTION PREPRINT(PRE, S, ...) - LOCAL S2 = PRE..TOSTR(S) - PRINT(S2, ...) -- PASS THE REMAINING ARGUMENTS ON TO PRINT() - END - - To accept a variable number of arguments, use them to define a table and/or use Lua's select() - function. select(index, ...) returns all of the arguments after index. - - FUNCTION FOO(...) - LOCAL ARGS={...} -- BECOMES A TABLE OF ARGUMENTS - FOREACH(ARGS, PRINT) - ?SELECT("#",...) -- ALTERNATIVE WAY TO COUNT THE NUMBER OF ARGUMENTS - FOO2(SELECT(3,...)) -- PASS ARGUMENTS FROM 3 ONWARDS TO FOO2() - END - -:: Coroutines - - Coroutines offer a way to run different parts of a program in a somewhat concurrent way, - similar to threads. A function can be called as a coroutine, suspended with - - - YIELD() any number of times, and then resumed again at the same points. - - FUNCTION HEY() - PRINT("DOING SOMETHING") - YIELD() - PRINT("DOING THE NEXT THING") - YIELD() - PRINT("FINISHED") - END - - C = COCREATE(HEY) - FOR I=1,3 DO CORESUME(C) END - - - COCREATE(F) - - Create a coroutine for function f. - - - CORESUME(C, [P0, P1 ..]) - - Run or continue the coroutine c. Parameters p0, p1.. are passed to the coroutine's - function. - - Returns true if the coroutine completes without any errors Returns false, error_message if - there is an error. - - ** Runtime errors that occur inside coroutines do not cause the program to stop running. It - is a good idea to wrap CORESUME() inside an @ASSERT(). If the assert fails, it will print - the error message generated by coresume. - - - ASSERT(CORESUME(C)) - - - COSTATUS(C) - - Return the status of coroutine C as a string: - "running" - "suspended" - "dead" - - - YIELD - - Suspend execution and return to the caller. - -==================================================================================================== - Appendix -==================================================================================================== - ----------------------------------------------------------------------------------------------------- - Appendix A: P8SCII Control Codes ----------------------------------------------------------------------------------------------------- - - When printed with @PRINT(), some characters have a special meaning that can be used to alter - things like the cursor position and text rendering style. Control characters in PICO-8 are - CHR(0)..CHR(15) and can be written as an escaped sequence ("\n" for newline etc.) - - Some of the control codes below take parameters which are written using a scheme that is a - superset of hexadecimal format. That is, '0'..'f' also mean 0..15. But characters after 'f' are - also accepted: 'g' means 16 and so on. Such parameters are written below as P0, P1. - - For example, to print with a blue background ("\#c") and dark gray foreground ("\f5"): - - PRINT("\#C\F5 BLUE ") - - The only side-effects on the draw state are changes in cursor position and foreground color; - all other attributes are reset each time @PRINT() is called. - - :: Control Codes - - 0 "\0" terminate printing - 1 "\*" repeat next character P0 times. ?"\*3a" --> aaa - 2 "\#" draw solid background with colour P0 - 3 "\-" shift cursor horizontally by P0-16 pixels - 4 "\|" shift cursor vertically by P0-16 pixels - 5 "\+" shift cursor by P0-16, P1-16 pixels - 6 "\^" special command (see below) - 7 "\a" audio (see below) - 8 "\b" backspace - 9 "\t" tab - a "\n" newline - b "\v" decorate previous character (see below) - c "\f" set foreground colour - d "\r" carriage return - e "\014" switch to font defined at 0x5600 - f "\015" switch to default font - - :: Special Commands - - These commands all start with "\^" and take up to 2 parameters (P0, P1) For example, to - clear screen to dark blue: print("\^c1") - - 1..9 skip 1,2,4,8,16,32..256 frames - c cls to colour P0, set cursor to 0,0 - d set delay to P0 frames for every character printed - g set cursor position to home - h set home to cursor position - j jump to absolute P0*4, P1*4 (in screen pixels) - r set rhs character wrap boundary to P0*4 - s set tab stop width to P0 pixels (used by "\t") - x set character width (default: 4) - y set character height (default: 6) - - :: Rendering mode options - - // prefix these with "-" to disable: e.g. ?"\^i on \^-i off " - - w wide mode: scales by 2x1 - t tall mode: scales by 1x2 - = stripey mode: when wide or tall, draw only even pixels - p pinball mode: equivalent to setting wide, tall and stripey - i invert - b border: toggle 1px padding on left and top // on by default - # solid background // off by default, but enabled automatically by \# - - :: Raw memory writes - - The following two commands take 4-character hex parameters: - - @addrnnnn[binstr] poke nnnn bytes to address addr - !addr[binstr] poke all remaining characters to address addr - - For example, to write 4 bytes to video memory halfway down the screen: - - >?"\^@70000004xxxxhello" - - :: One-off characters - - Character data can be specified and printed in-line using \^. followed by 8 bytes of - raw binary data, or \^: followed by 8 2-digit hexadecimal values. The data format is - the same as custom fonts; each byte specifies a row of 1-bit pixel values, with the - low bit on the left. - - \^.[8 chars of raw binary data] - \^:[16 chars of hexadecimal] - - To print a cat: - - > ?"\^:447cb67c3e7f0106" - - :: Audio - - ? ?"\A" -- SINGLE BEEP ?"\A12" -- PLAY EXISTING DATA AT SFX 12 - - If an sfx index is not specified, a non-active sfx between 60..63 is selected - automatically. To fill the SFX with data before playback, the following commands can then - be appended. - - 1. (optional) SFX attributes must appear once at the start as they apply to the whole - sound: - - s P0 set the sfx speed - l P0 P1 set the sfx loop start and end points - - 2. Note data: - - Note are written as a..g, optionally followed by a sharp # or flat -, and octave - number. - - PRINT "\ACE-G" -- MINOR TRIAD - - Empty notes Can be written with a dot: - - PRINT "\AC..E-..G" -- STACCATO MINOR TRIAD - - Note attribute commands apply to following notes: - - i P0 set the instrument (default: 5) - v P0 set the volume (default: 5) - x P0 set the effect (default: 0) - - For example, to play a fast (speed 4), staccato (effect 5) arpeggio starting at C1: - - PRINT "\AS4X5C1EGC2EGC3EGC4" - - :: Decoration Characters - - The control character \v can be used to decorate the last printed character with another - character at a given offset, without needing to otherwise manage the cursor position. After - the decorating character is printed, the previous cursor position is restored. - - The format is \v P0 char, where P0 is a number giving the desired offset, and char is any - character to print at that offset (relative to the previous printed character). - - The offset has x packed into the lowest 2 bits, and starts (-2,-8) in reading order. So 3 - means (+1, -8), 4 means (-2, -7) and so on. - - For example, to write "café!", using a comma to draw the acute accent: - - PRINT"\NCAFE\VB,!" - - In this case P0 is 'b', which is read as the number 11. So the comma is drawn at: - - x = (11%4)-2 = 1 - y = (11\4)-8 = -6 - - :: Custom Font - - A custom font can be defined at 0x5600, consisting of 8 bytes per character * 256 - characters = 2048 bytes. Each character is an 8x8 bitfield (1 bit/pixel), where starting - from the top, each row is a single byte starting with 0x1 on the left. - - The first 128 bytes (characters 0~15 are never drawn) describe attributes of the font: - - 0x5600 character width in pixels (can be more than 8, but only 8 pixels are drawn) - 0x5601 character width for character 128 and above - 0x5602 character height in pixels - 0x5603 draw offset x - 0x5604 draw offset y - 0x5605 flags: 0x1 apply_size_adjustments 0x2: apply tabs relative to cursor home - 0x5606 tab width in pixels (used only when alt font is drawn) - 0x5607 unused - - The remaining 120 bytes are used to adjust the width and vertical offset of characters - 16..255. Each nibble (low nibbles first) describes the adjustments for one characters: - - bits 0x7: adjust character width by 0,1,2,3,-4,-3,-2,-1 - bit 0x8: when set, draw the character one pixel higher (useful for latin accents) - - :: Default Attributes - - Although attributes are reset every time @PRINT() is called, it is possible to set their - default values by writing to memory addresses 0x5f58..0x5f5b. - - 0x5f58 // bitfield - 0x1 when set to 0x1, bits 1..7 are observed: - 0x2 padding - 0x4 wide - 0x8 tall - 0x10 solid background - 0x20 invert - 0x40 stripey (when wide or tall) - 0x80 use custom font - - // e.g. poke(0x5f58, 0x1 | 0x2 | 0x4 | 0x8 | 0x20 | 0x40) -- pinball everywhere - - 0x5f59 char_w (low nibble), char_h (high) - 0x5f5a char_w2 (low nibble), tab_w (high) - 0x5f5b offset_x (low nibble), offset_y (high) - - // any nibbles equal to 0 are ignored - // tab_w (global tab width) values are mapped to 4..60 - - --------------------------------------------------------------------------------------------- - PICO-8 VERSION HISTORY --------------------------------------------------------------------------------------------- - - v0.2.5g - - Fixed: tonum("123abc") returns 123 (should return nothing) // also breaks split(). regression in 0.2.5f - Fixed: draw_tabs not listed by CONFIG command - - - v0.2.5f - - Added: CONFIG DRAW_TABS 1 to show tab characters in code editor (previously required editing config.txt) - Changed: tokenizer recognises long comments / string using [=*[ ]=*] e.g. [==[ long string ]==] - Changed: Nested long comments and strings no longer allowed - Changed: x % 0 gives 0 (was x) - Optimised: software blitter now faster when using PocketCHIP, windowed raspi or blit_method 1 - Fixed: infinite tokens exploit introduced in 0.2.5d (due to pre-processor changes) - Fixed: >>>= operator is a NOP (bug introduced in 0.2.5d) - Fixed: (raspi 32-bit) window not visible under Gameforce Chi / EmuELEC -- bug introduced in 0.2.5e - Fixed: fixed: s="x".."=" counts as 4 tokens instead of 5 - Fixed: Running a cartridge containing _meta_ data prints a memory allocation warning to stdout - Fixed: Code compressing to >= 32k reports size as (compressed_size & 0x7fff) resulting in corruped exports - Fixed: stat(54) loops when left-most channel is looping (should return total played ticks on current pattern) - Fixed: extcmd("audio_rec") maximum length is 2 minutes (meant to be 8 -- and now only applies to web) - Fixed: Frog Home crashes because of (now unsupported) "local x+=.." form. // INSTALL_GAMES for fixed version - Fixed: Starting P8SCII font height affects total line height even when no characters are printed in that font - - - v0.2.5e - - Fixed: Uppercase characters not loaded as punycode (causing _ENV to fail) - - - v0.2.5d - - Added: tline(bits) to set number of bits used for fractional part of mx,my,mdx,mdy (13 by default) - Added: ctrl+mousewheel to scroll code horizontally - Added: current bbs cartridge id shown in window title (config.txt show_cart_id_in_title to disable) - Added: poke(0x5f36, (@0x5f36)|0x80) to enable character wrap by default when printing - Added: blit_method in config.txt // Can use a software blitter by default (slower but more reliable) - Added: reminder when re-locating sprites that only the top half of map is altered by default - Added: draw boot sound as note glyphs on startup when sound is off - Changed: print() returns both max(cur_x), max(cur_y) and includes non-printed characters (e.g. tabs) - Changed: extcmd("folder") and extcmd("set_title", "foo") can now be used from bbs carts - Changed: Indexing a string out of range returns nil (was "") - Changed: Replaced most of pre-processor with Lua parser modifications based on z8lua (fixes various edge cases) - Changed: "a[foo()] += 1" only evaluates foo() once - Changed: out-of-bound tile values can be drawn using map(), tline() - Changed: extcmd("audio_rec") can record a maximum of 8 minutes (was no limit previously) - Changed: Rate limits are now per-minute: 10MB of log wries, 64 different files, 10 extcmd("folder")'s) - Fixed: Infinite tokens hack (was caused by now-replaced pre-processor) - Fixed: Only 4 controllers mapped to 0x5f00+76 - Fixed: h toggles hexadecimal mode in gfx editor (should be ctrl-h -- h is to flip sprite horizontally) - Fixed: out-of-bounds value doesn't respect custom map size - Fixed: cutting or clearing a selection of sprites does not also clear the sprite flags - Fixed: P8SCII repeat-character command fails on zero repetions; ?"a\*0bc" should print "ac", not "abc" - Fixed: pxa code compression inefficient when >= 32k matching triplets (typically "000") - Fixed: print() return value max(cur_x) returns 0 when max(cur_x < 0) - Fixed: holding menu button to force pause menu to open broken in binary exports - Fixed: copying / pasting in commandline doesn't respect punyfont character encoding - Fixed: (Manual) Steps 1 & 2 on how to move sprites in the map are in the wrong order - Fixed: Unhelpful / no error messages when the wrong format for HELP is used - - - v0.2.5c - - Added: set out of range return value for sget, mget, pget: poke (0x5f36,0x10) and set at 0x5f59..0x5f5b - Changed: rnd(str) no longer returns a random char from strings (breaks existing carts using e.g. rnd"5") - Changed: html exports default to 75% volume instead of 100% - Fixed: extcmd("audio_rec"), extcmd("audio_end") not working in html exports - Fixed: drag & drop (via serial 0x802) not responding to dropped file in html exports - Fixed: (again) can enter an illegal note (e-5) in sfx editor - Fixed: dir() missing during runtime (alias for ls) - Fixed: some mistakes in help text (outdated sub() description, yield misspelling) - - - v0.2.5b (Linux) - - Fixed: failing to drop down to wget when libcurl can not be loaded - - v0.2.5 - - Added: Help topics. Use help command, or ctrl-u in code editor to get help on whatever is at the cursor. - Added: (html exports / bbs) downloadable .wav export using extcmd("audio_rec"), extcmd("audio_end") - Added: inext (to match next). -> can do: for i,v in inext,tbl do ... end - Added: floating selection layer in map editor (solves various bugs and undo / selection issues) - Added: ~ can be used as xor instead of ^^ (same as Lua 5.3/5.4) - Added: When running a program locally, ls() can now take a directory name; use stat(124) to get pwd - Added: Variable width P8SCII fonts - Added: ctrl-click on compressed capcity (bottom right) to get realtime updates of compressed size in bytes - Added: export -t @clip to get a hexdump of compressed code section copied to clipboard - Added: pico8 -scancodes and map_scancodes (config.txt) for manually mapping keys to alternative scancodes - Added: sub(str,pos,pos) can be written as str[pos] - Changed: host_framerate_control 1 (config.txt) now means "let PICO-8 decide"; is disabled for Mac/Win/Linux - Changed: in map editor, pan with cursor keys when nothing is selected - Changed: use scancodes for sfx navigation (US:-=_+) and spd change (US:,.<>) to avoid azerty collisions - Changed: gfx_grid_lines in config.txt is taken to be a colour for the grid lines (16 for black) - Changed: can ctrl-h in gfx editor to toggle hex mode (sprite index shown in hex; map vals shown) - Changed: '-' allowed in filenames when not first character - Changed: linux builds use libcurl.so for bbs requests, or drops down to wget on failure to dlopen - Changed: increased maximum gif len for web exports to 30 seconds - Changed: peek/poke can now read/write up to 32767 values (was 8192) - Changed: web player default gif len is 16 seconds (was 8) - Changed: sub(str, pos, nil) returns whole string (pre-0.2.4 behaviour). For single chars, can now use str[pos]. - Fixed: Windows reserved filenames (lpt1, com1 etc) are accepted - Fixed: Nested coroutines unexpectedly end when interrupted by reaching end of frame - Fixed: print() colour is remapped twice when set in parameter // pal(6,7) pal(7,8) print("white",6) - Fixed: circ() breaks on 32-bit builds, with radius > 1024 - Fixed: ctrl-c to copy commandline error message does not encode glyphs as unicode - Fixed: LS command not resolving relative paths - Fixed: twitter char count for chr(127) ○ should be 2 (was 1) and chr(149) ˇ should be 1 (was 2) - Fixed: colour parameter not converted from string in rect, rectfill, pset (regression from 0.2.2) - Fixed: ord("foo", 1, 0) returns "too many ord results" -- should return nothing - Fixed: save @url includes ?g= when no gfx data (is redundant) - Fixed: (web export) html pause button does not show up as btnp(6) / btn(6) - Fixed: (web export) codo_textarea triggering Mac accent character selector even when cart doesn't use clipboard - Fixed: save @url failing when encoded length is > 2000 chars long instead of > 2040 charss - Fixed: can enter an illegal note (e-5) in sfx editor - - - v0.2.4c - - Added: save @url -- stores code + gfx as a URL if it can be encoded in 2040 characters - Added: html exports store volume/mute and other settings - Added: ctrl-g in sprite editor to toggle grid lines when zoomed in - Added: IMPORT -L FOO.PNG to import a 128x128 png to the cartridge label - Added: EXPORT -L FOO.PNG to export a 128x128 png of the cartridge label - Added: EXPORT -T FOO.P8.ROM to export only code section (t for tiny) - Added: ctrl-click on character count (bottom right) to see the twitter count (glyphs count as 2) - Added: __meta:*__ section to .p8 format -- can be used by external tools to store custom data - Added: extcmd("audio_rec") works from exported binaries, and with custom exported filenames - Added: read_controllers_in_background in config.txt (0 by default) - Added: periodic backups - Changed: .p8.rom files that are 0x3d00 bytes or less are loaded into code section - Changed: saved filenames can not include gylphs, or any of !"#$%&'()*+,-:;<=>?[\]^`{|}~ - Fixed: can't drag and drop png into sprite editor - Fixed: binary exports: ctrl-r causes crash when there is no whitespace at end of source code - Fixed: Using -run switch to launch a cart that fails to run -> get stuck in boot screen. - Fixed: selection after ctrl-a reports length chars+1 - Fixed: draw palette is not observed after changing colours using p8scii control characters - Fixed: music playback does not follow cursor after first pattern change (regression in 0.2.4b) - Fixed: transform_screen (config.txt) not observed by pause menus and other overlayed elements - Fixed: Double-clicking sfx thumbnail (in sfx overview screen) only works after playing music - Fixed: Pressing [a] to release looping sfx in sfx editor is broken - Fixed: sfx(46)..sfx(56) return -1 immediately after playing music but before host OS has called audio mixer - Fixed: Tokens counted as 2 instead of 1: ..= ^= >><= <<>= - Fixed: Negative number counted as 2 tokens instead of one when preceeded by: \ & | ^^ << >> >>> >>< <<> - Fixed: tostr(tbl) / print(tbl) acts like tostr(tbl, 1) when tbl has a metatable - Fixed: ?"\tx" does not advance to next tab stop - Fixed: ?"a\*5\nb" does not repeat newline 5 times - Fixed: exported label alpha is 0 for colour 0 - - - - v0.2.4b - - Added: l in sprite sheet navigator to set loop start / end points (then q,w or a,z to navigate) - Added: ctrl-b in gfx editor to paste 2x2 original size ("paste big") - Added: DEL / backspace to clear selected region in gfx / map editors, and ctrl-x to cut - Added: aggressive_backups option in config.txt (off by default) - Added: transform_screen in config.txt to globally rotate / flip the video output - Added: stat(57) (boolean) true when music triggered by music() is playing or about to start - Changed: memset() faster than using peek4/poke4; now 2 cycles per byte at 8MHz (was 4) - Changed: "running at < 30fps" warning on boot now only for raspi builds, and w/ higher tolerance - Changed: Controller inputs are accepted even when PICO-8 is not the foreground application - Changed: Map can be located at 0x1000 .. 0x2f00 using poke(0x5f56, 0x11) .. poke(0x5f56,0x2f) - Changed: Dotty text mode is now "\^=" ("Stripey") instead of "\^." // #gunayawuho #klax #impossible - Fixed: (not confirmed) crash causing 0-byte .p8 when audio mixer is called during save / run - Fixed: preprocessor not counting comments as white space; should allow: ".. end--[[]]if .." - Fixed: pal(nil) behaving the same way as pal(0); should be same as pal() // broke #rtype-2 - Fixed: note entry in sfx tracker is silent after running cartridge until pressing space to playback - Fixed: sub("abc", 4, 4) returns "c" (regression in 0.2.4) - Fixed: SPLORE cart update prompt does not appear when server replies too quickly (race condition) - Fixed: SPLORE cart update prompt only checks version once per session (can't refresh until it shows up) - Fixed: EXPORT command does not flatten includes when exporting to .p8.png / .p8.rom format - Fixed: EXPORT command discards source code changes since last run or load - Fixed: printing a one-off glyph using "\^." terminates the whole string when last byte is a zero - Fixed: Crash when loading a cart with fewer tabs, then creating a new tab and pasting. - Fixed: . command runs at 30fps even for a 60fps cart (-> _update60 is called twice, _draw once) - Fixed: Custom menu items become broken after suspending a cart, entering a lua command, and then resuming - Fixed: memset() with a non-zero value in shared memory region (0x1000..0x1fff) causes garbage corresponding mget() values - Fixed: web player/exports: ctrl-r causes erroneous "external changes reloaded" message and code corruption - - - v0.2.4 - - Added: Video and spritesheet memory addresses can be mapped to each other - Added: Map memory address can be mapped to 0x8000 // POKE(0x5f56, 0x80) - Added: stat(46)..stat(56): higher resolution and more accurate reporting of audio state - Added: Print one-off characters with ?"\^:447cb67c3e7f0106 hey" (or "\^." for binary data) - Added: chr() can take multiple arguments to construct an arbitrarily long string - Added: sub(str, pos, _) to get a single character at position pos - Added: Warning on boot when PICO-8 is running below 30fps - Added: Automatic scrolling caused by print() (with no x,y given) can be disabled with POKE(0x5f36,0x40) - Added: .p8.rom format can be used by cstore(), reload() and in multicarts - Added: EXPORT accepts .p8 .p8.png .p8.rom formats (can be used to save a copy, or convert from commandline) - Added: 64-bit RaspberryPi OS Builds and Exporters - Added: ASCII .txt version of manual included in archives & on website (synced with new html version) - Added: Auto-hide mouse cursor when typing (adjustable in config.txt) - Changed: .p8.rom file format can be less than 32k -- is padded with zeros to 32k on load - Changed: sub() costs some cpu based on the length of the string - Changed: Shorthand if/while no longer needs to be preceeded by a whitespace character or number - Changed: load("#") throws a runtime error when cartridge id contains illegal characters - Changed: 64k of Base RAM is standard (no need to set the hardware extension bit) - Changed: By default, draw colour resets to 6 when program is suspended - Changed: map() can take nil parameters for source_w, source_h to indicate default values - Changed: pal(n) (a single integer) to reset a single palette 1..3 (draw, display, secondary) - Changed: Can turn P8SCII wrap on/off with "\^$", "\^-$" - Changed: config.txt is not saved on exit when changes are made to it while PICO-8 is open - Changed: added code editor undo points when changing between identifier and non-identifier characters - Changed: sfx(-1, -2) now behaves the same as sfx(-1). sfx(-2) stops looping on all channels. - Changed: chip build no longer requires libcurl (calls out to wget) - Fixed: (Mac, Linux) load("#`echo ohno`") is executed // + server-side mitigation for splore - Fixed: stat(31) returns 2 parameters (bug introduced in 0.2.3) - Fixed: split() and sub() fail on strings containing "\0" - Fixed: ctrl-x on song pattern appears to work, but music() plays sfx 1..4 - Fixed: Text getting cut off after console scrolling when using print with draw_y_offset (0x5f5b) - Fixed: camera(0,128) cursor(0,128) print("\n") causes unnecessary console scrolling - Fixed: last music pattern not saved when only channel 3 is used and other channels are defaults - Fixed: ?"\a12 sup yall" overwrites sfx 12 with a default beep (should just play and continue printing) - Fixed: cursed console cpu refund exploit // https://carlc27843.itch.io/cursed-console - Fixed: ctrl-r from commandline resets parameter string (stat(6)) -- should be same as the last run - Fixed: ord() corrupting Lua stack and crashing when returning more than ~80 results - Fixed: large camera() parameters can cause line() clipping to fail and crash - Fixed: Crash when saving long gifs (> 90 seconds) - Fixed: Unmapped joysticks not responding - Fixed: Plugging in > 2 controllers causes other controller to disconnect - - - v0.2.3 - - Added: Lucky draw list in splore -- gives a random selection of carts - Added: load/save carts in .p8.rom format (raw binary 32k block) - Added: tostr(), tonum() take format_flags parameter to convert to and from 32-bit signed ints - Added: ord(str, pos, num) returns num results starting from character at pos (similar to peek) - Added: FOLDER takes an optional parameter to open other host directories: BACKUPS | DESKTOP | CONFIG | BBS - Added: Live character / token count of selected text shown at bottom right of code editor - Changed: Removed collaboration list from splore (can still search for sub:collab) - Changed: 0x808 audio has a slight lpf filter on it by default // turn off by setting bit 0x20 at 0x5f36 - Changed: tonum(boolean_value) returns 1 or 0 instead of nil - Changed: cursor CR x position set only by print(str,x,y) or cursor(), but not by print(str) (0x5f24) - Changed: character wrap is on by default when using print(str) - Changed: force-pause-menu hold duration is 500ms instead of 300ms to prevent accidentally triggering it - Changed: default gif length for new install is 16 seconds - Changed: ? shorthand can be used anywhere on a line e.g. if (true) ?"yes" - Changed: allow while/if shorthand with no statement, using colon separator: WHILE(BTN()==0); - Changed: added warning to fullscreen_method 2 in config.txt (gives erratic behaviour under some drivers) - Changed: cheaper OP_MOVE, OP_UNM lua vm instructions so that e.g. "local a=0-b" is not faster than "local a=-b" - Fixed: peek*() / poke*() do not charge extra cpu when reading or writing multiple values - Fixed: fget(n) returns junk when n is out of range (0..255); should return 0 in that case - Fixed: dropped .PNG files not detected as images when filename uses uppercase extension - Fixed: line()/tline() illegal writes caused by faulty clipping when (x1-x0) or (y1-y0) >= 0x8000 - Fixed: -accept_future 1 only worked with .p8.png files; now also applies to .p8 - Fixed: ?"\a7f" does not play f (happens only when f is the first note) - Fixed: abs(0x8000) return 0x0.0001 (should be 0x7fff.ffff) - Fixed: parameter string (stat(6)) is dropped when passed via RUN command - Fixed: preprocessing of form: "x += x<0 and -1 or 1" broken for operators <, > - Fixed: tab not accepted as whitespace for some preprocessor operations - Fixed: stat(1) wraps around when cpu is >= 2.0 (regression in 0.2.2) - Fixed: pressing SHIFT+ENTER on "local function foo()" or after "if (..) else" doesn't insert "end" - Fixed: pal() does not reset secondary palette to system default - Fixed: 0x808 audio does not respect pausing / volume / is not recorded with extcmd("audio_rec") - Fixed: 'h' pressed in sprite editor toggles hex mode in map editor - Fixed: After pressing shift-tab to toggle 128x128 map view, active draw area is still only 128x112 - Fixed: Attempt to navigate to non-existant tab after running: function _update60() _update60=nil end - Fixed: stat(101) not returning cart id when running from BBS web player - Fixed: print() wrapping + scrolling; e.g. from commandline: while(true) print(chr(254+rnd(2)).."\0") - Fixed: integer divide assignment operator (\=) costs 2 tokens instead of 1 - - - v0.2.2c - - Fixed: ?"\ac0" starts from d#0 instead of c0 (again -- 0.2.2b was still broken) - Fixed: splore local directory navigation fails when using a relative home path set with -home - Fixed: export .lua.png only shows the first 2730 lines - - - v0.2.2b - - Added: export foo.lua.png to get an image of the cartridge's source code - Added: Pause menu can be forced to appear by holding down pause for 300ms (even if program blocks it) - Added: extcmd("set_filename","foo") -- set the filename of the next screenshot or gif (can include %d) - Added: extcmd("set_title","foo") -- set window title (useful for exported binaries) - Added: Can toggle punyfont mode at command prompt w/ ctrl+p (useful for inspecting puny variable names!) - Changed: Default filename is /untitled.p8 instead of no filename (auto-increments to untitled_1.p8 etc.) - Changed: circ/oval that are not visible cost almost nothing, including circles that contain clipping region - Changed: filled circles/ovals that contain clipping region cost the same as the equivalent rectfill - Changed: shift+enter in code editor only auto-completes block for DO, THEN, REPEAT or FUNCTION - Fixed: ?"\ac0" starts from d#0 instead of c0 - Fixed: preprocessor regression when using string at end of ..= statement: if (true) then a..="b" end - Fixed: pressing L / R in paused menu is registered by running program after closing menu - Fixed: printing text in tall mode (?"\^ttall") via commandline can chop off bottom line before scrolling - Fixed: drag-select text with cursor at bottom or top of screen scrolls too fast - Fixed: spurious stat(0) results when using yield() to exit frame instead of flip() - Fixed: line()/tline() sometimes draws pixels on opposite side of screen (0.2.2 regression) - Fixed: line()/tline() fails to draw lines that have x or y coordinates > 32767 pixels apart - Fixed: can peek() more than 8192 values in single call - Fixed: large fill circles (> radius 900) render incorrectly close to vertical center (32-bit builds, web) - Fixed: even-widthed filled ovals with midpoint < 0 is drawn off by 1 - Fixed: black pixels in gif / map export not completely black - Fixed: map and spritesheet exporters do not respect current display palette and 0x5F36:0x8 (draw spr 0) - Fixed: code editor: cursor position off by one when selecting character after glyph (0.2.2 regression) - Fixed: code editor: tab names don't show up when 100% punyfont - Fixed: import spritesheet.png failing under MacOS (0.2.2 regression) - Fixed: export single sfx to .wav crashes when contains sfx instrument references - - - v0.2.2 - - Added: SFX filters: noiz (white noise for inst 6), buzz, detune (flange/overtone), reverb, dampen (lpf) - Added: SFX length (leave the second loop value at 0 to use). Can be >= 32. - Added: P8SCII control characters when using print() -- can adjust colour and cursor position etc. - Added: User-defined font at 0x5600, accessible via control character \014 - Added: poke(addr, val0, val1, val2 .. valn) -- same for poke2, poke4 - Added: can peek multiple values: a,b,c = peek(addr, 3) -- same for peek2, peek4 - Added: Locked mouse pointer // poke(0x5f2d, 0x5) and then stat(38),stat(39) to read - Added: right click in sfx pitch mode to grab the instrument of that note - Added: IMPORT command can specify target location in pixels: IMPORT FOO.PNG -X 16 -Y 32 - Added: IMPORT -S to shrink the imported image (e.g. -S 3 means shrink from 384x384 -> 128x128) - Added: ctrl-c at empty command prompt to copy the most recent error message - Added: extcmd("screen",0,1) / extcmd("video",0,1) saves files in same path as cart / exported executable or app. - Added: set bit POKE(0x5F36, 0x8) to treat sprite 0 as opaque when drawn by map(), tline() - Added: shift-tab in gfx/map editor for full-fullscreen mode (with no red menu bars) - Added: extcmd("rec_frames") to record each gif frame only when flip() is called regardless of rendering speed - Added: extcmd("folder") to open the folder on the host operating system (where printf, extcmd saves files to) - Added: custom menu callbacks can optionally leave the pause menu open, and can read LEFT and RIGHT button presses - Added: ctrl-h hex mode in map / gfx views (displays current sprite in hex, and shows map tile values) - Added: export map as a single image with export foo.map.png - Added: @weeble's gamepad improvements to the default html shell (dpad layout detection, better mapping / hotplugging) - Added: stack trace on bad memory access e.g. poke(-1,0) - Added: fillp can now be applied to sprite drawing (spr / sspr / map / tline), using colours from the secondary palette - Improved: General optimisation pass; heavy carts use 20~30% less host cpu - Changed: Most api functions are local by default for performance. use "pico8 -global_api 1" if needed for debugging. - Changed: unpack() now has a non-zero cost but still fairly fast - Changed: .. operator has a small cost based on number of characters concatenated - Changed: LOADK vm instruction costs 1 cycles (was 2) // otherwise "c=0" costs more than "c=a+b"! - Changed: removed function cpu refunds; speed-critical calls to bitwise function should use operator counterparts instead. - Changed: Incremental garbage collection each frame for improved performance. - Changed: stat(0) performs garbage collection in order to obtain a meaningful result; use stat(99) for raw value - Changed: options menu always available from pause menu (used to only be available in web exports) - Changed: tostr() returns "" instead of nil - Changed: exporting gif/png from web version now creates a pop-up div that can be dismissed - Changed: print() from commandline automatically wraps long strings - Changed: print() returns the x position of the next character to be printed (can be used to calculate text width) - Changed: glyph constants set only when running cartridge, not when running a command from prompt - Changed: Using printh from exported carts outputs files in the same folder as the .exe / .app - Changed: type() returns nothing instead of causing a runtime error - Changed: fill pattern is cleared when program is suspended by default. Use poke(0x5f2e,0x20) to preserve. - Changed: reset() resets everything from 0x5f00..0x5f7f, same as when program is initialised (including new random seed) - Changed: font tweaks for hiragana, katagana, ampersand characters - Changed: (raspi) separate binaries that support gpio to remove wiringPi dependency and gpio poking-related crashes - Fixed: Diagonal lines in editor contain an incorrect step when snapping to -1:1, 1:-1 - Fixed: rnd(tbl) is not random enough when table has 2 elements /bbs/?pid=81092#p - Fixed: add(tbl) causes runtime error. should have no effect and return nothing - Fixed: cursor position in code editor incorrect when changing lines contaning glyphs/tabs - Fixed: CONFIG TAB_WIDTH does not take effect until restarting PICO-8 - Fixed: Selecting sprites from bottom right -> top left and then pasting only pastes a single sprite - Fixed: Moving map selection around with cursor keys beyond original selection leaves streaks - Fixed: stdout/stdin serial() streams should be binary, not text mode (causes \r chars under Windows) - Fixed: printh("hello.txt",fn,true,true) fails to save to desktop when fn has an extention - Fixed: IMPORT FOO.PNG using the current sprite location as target instead of 0,0 - Fixed: tonum behaving differently to parser for string numbers out of range. e.g. tonum("-0x9000") should be 0x7000 - Fixed: Exporting the same zip file multiple times creates duplicate file entries - Fixed: tline / line clipping // sometimes off by 1px, sometimes incorrectly discarded altogether - Fixed: poking values with bit 0x80 to 0x5f28,0x5f30,0x5f3c,0x5f3e clobbers following address - Fixed: deli(tbl,nil) behaves the same as deli(tbl) -- should have no effect - Fixed: stat(13),stat(15) reporting y coordinates of menu with 0 items - Fixed: memory leak when saving gifs (causes web export to crash after a few records) - Fixed: print() linefeeds clobber multi-line text printed at bottom of screen - Fixed: preprocessor can not handle form: "::_::a+=1" (regression in 0.2.1) - Fixed: When split() by group size (e.g. split("ab12",2,false)), last parameter ignored - Fixed: partial cstore (len < 0x4300) from splore/export clobbering data outside that range on subsequent reload - Fixed: joystick stops responding after unplug and plug back in twice (also happens when some devices sleep / wake up) - Fixed: mkdir(nil) crashes - Fixed: possible to edit an SFX without the cursor visible (confusing) - Fixed: menuitem() callbacks broken when there is no _draw() or _update() defined - Fixed: should only be able to call from commandline: cd mkdir install_games keyconfig info - Fixed: controller menu (pause->options->controls) does not show custom key settings - Fixed: -export failing to find files relative from current path - Fixed: -export failing to locate html template path - Fixed: binary export storing multicart cart names with path (should be named "dat1.p8", not "dat/dat1.p8") - Fixed: pause menu broken when cartridge is launched from splore and run() is called inside first frame - Fixed: text printing does not respect draw palette (was broken in 0.2) // ref: /bbs/?tid=41428 - Fixed: for backwards compatibility, non-numbery colour parameters should be taken to mean zero - Fixed: preprocessor: self assignment with quoted function calls on RHS a+=1+cos"0" - Fixed: ctrl-r during pause menu only takes effect after closing menu - Fixed: (bug in RC1) pack(...).n is zero - Fixed: (bug in RC1) using filters noiz:1, dampen:2, lpf is not applied to melodic instruments (but should be) - - - v0.2.1b - - Added: split(str,"") splits by single characters - Updated: Tower of Archeos 1.1 via INSTALL GAMES - Fixed: print(num,x,y) always prints numbers num in hexidecimal - Fixed: .p8.png decoder can enter an infinite loop (caused exports to freeze on boot) - Fixed: Can't save screenshot/gif when running a BBS cart with illegal characters in title. - Fixed: INSTALL_GAMES is broken - Fixed: Mouse is broken in HTML exports - - - v0.2.1 - - Added: oval() ovalfill() split() - Added: circle drawing tool is now an oval tool (hold shift for circle) - Added: hold shift with line tool to snap to 22.5 degree angles from origin (0:1, 1:1, 2:1 gradients) - Added: serial() channels for stdin,stdout - Added: raw binary and image files dropped in to PICO-8 also become byte streams readable w/ serial() - Added: add(tbl, val, index) -- insert val into table at index - Added: deli(tbl, index) -- delete element from table by index (index defaults to last element) - Added: show progress while exporting binaries (can be slow now that generating zip files) - Added: -e to add an extra file to exported binaries zip files // export -e manual.txt foo.bin - Added: RESET command to reset the runtime / draw state - Added: drag and drop cartridges into PICO-8 window to load them - Added: hash stored in .p8.png so that cartridges corrupted by image quantization can show a specific error - Added: raw data blocks in compressed code format (useful for storing long binary strings efficiently) - Added: clip(x,y,w,h,true): 5th parameter indicates that the clipping region should be clipped by the old one - Added: -export switch can be used to convert .p8 files to .p8.png from commandline. // pico8 foo.p8 -export foo.p8.png - Added: extcmd("screen",scale) and extcmd("video",scale) to override the default scale (e.g. scale 2 means 256x256) - Added: printh(str, filename, overwrite, save_to_desktop) -- 4th parameter to save output file to desktop - Changed: add(), del() no longer implemented with Lua snippet; lower cpu cost. - Changed: line(),rect() cost the same as rectfill() when drawing equivalent shapes - Changed: all drawing operations in sprite editor now observe fill pattern state - Changed: numbers can be immediately followed by identifiers (a=1b=2) // lexaloffle.com/bbs/?tid=38038 - Changed: Sprite editor shows only active area after shift-selecting sprites - Changed: copy/paste in the code editor treats uppercase ascii characters as puny font only when puny mode (ctrl+p) enabled - Changed: C0 Controls characters (except for 0x0,0x9,0xa,0xd) encoded in .p8 / clipboard with unicode replacements - Changed: stat(4) converts characters to PICO-8 format (P -> puny p, hiragana unicode -> single character etc.) - Changed: serial() returns number of bytes processed (1/8ths included for partial bytes) - Changed: IMPORT SPRITESHEET.PNG now uses the current sprite as the destination coordinate instead of 0,0. - Changed: Standardized name of the display palette to "display palette" (was sometimes referred to as "screen palette"). - Changed: tostr() returns nil (used to return "[nil]") - Changed: don't need to set bit 0x40 at address 0x5f2c to use secondary palette. - Improved: exported binary's data.pod file 90% smaller (~870k -> ~85k) - Fixed: pack(...).n is shifted right 16 bits - Fixed: ctrl-r doesn't reload external changes for carts which are over compressed code capacity - Fixed: false positives when detecting external changes for some older cart versions - Fixed: .p8.png carts saved with dense code (compressed size > raw size, including very small carts) stores junk - Fixed: error message duplication when loading future version of .p8.png carts - Fixed: Illegal colours can enter spritesheet via serach-replace after setting with color() - Fixed: Preprocessor: "foo():a().x+=1" "a=b[1]c+=1" - Fixed: hex numbers written with punyfont characters breaks syntax high-lighting - Fixed: shift+- in sprite editor jumps too far vertically when zoomed in - Fixed: clicking a note in sfx editor creates a selection (-> backspace clears without moving rows) - Fixed: print()/printh()/stop() doesn't respect __tostring metatable method (regression) - Fixed: time() and btnp() speed changes after stopping program, typing a command and then resuming. - Fixed: phantom drag & drop events sent to unused music channels causing them to occasionally unmute themselves - Fixed: undo after moving sprites in map mode only undoes the changes to the map and not the spritesheet. - Fixed: inconsistent token counting for negative or bnot'ed numbers https://www.lexaloffle.com/bbs/?tid=38344 - Fixed: Crash when INSTALL_GAMES / INSTALL_DEMOS without a writeable disk - Fixed: stat(4) (clipboard contents) does not convert unicode to corresponding glyphs - Fixed: (MacOS) Using discrete GPU ~ drains battery. Now using integrated GPU when available. - Fixed: screensaver is blocked while PICO-8 is running (needed to set SDL_HINT_VIDEO_ALLOW_SCREENSAVER: "1") - Fixed: screen glitches after running for 25 days - Fixed: (HTML Exports) touch controls not registering when running under iOS from an iframe (e.g. on an itch.io page) - Fixed: (HTML Exports) tap and hold brings up the select menu under iOS - Fixed: (HTML Exports) button blocked by canvas when overlapping on small screens - - - - v0.2.0i - - Added: pack(), unpack() - Changed: bitplane read/write mask only reset after finished running program - Fixed: tline() doesn't draw anything when the layers argument is not given - - - v0.2.0h - - Added: tline() takes an optional layers parameter, similar to map() - Added: high bits of 0x5f5e taken as colour read mask, low taken to be colour write mask - Added: Double-click in the sfx tracker to select all attributes of a single note. - Fixed: assignment shorthand RHS scope wrong when contains certain operators. e.g. a+=1&127 - Fixed: while/if shorthands fail when "do" or "then" appears on the same line as part of an identifier - Fixed: ctrl-c copies the wrong sfx after clicking pencil button (next to pattern #) in organiser view - Fixed: spinning cart icon present in video memory when cart boots from splore - - - v0.2.0g - - Added: Window title shows current cartridge filename while editing - Changed: ~ preceeding a numerical constant (e.g. ~1) counts as a single token - Fixed: >>> operator behaviour does not match lshr(a,b) when b >= 32 (again) - Fixed: PICO-8 freezes when shift by -0x8000 - Fixed: .p8 format does not store extpal label colours - Fixed: Can not save screenshot when filename contains ":" - - - v0.2.0f - - Changed: @@ operator (peek2) to % - Fixed: Exported wasm crashes on boot when code contains a numerical constant out of range. - Fixed: HTML Shell treats controller shoulder buttons as MENU; easy to accidentally bump. - Fixed: shift operators behaviour undefined for negative values of n (now: x << n means x >> -(n\1)) - Fixed: >>> operator behaviour does not match lshr(a,b) when b >= 32 - Fixed: INFO crashes when code is close to 64k of random characters - Fixed: Code editor undo step not stored when starting to edit a new line (hard to see what happened) - - - v0.2.0e - - Added: zip file creation (with preserved file attributes) when exporting binaries - Added: cpu working animation when cpu usage > 120 skipped frames - Improved: stop() / resume now works at the instruction level - Fixed: tline clipping broken (from 0.2.0d) - Fixed: cpu counting is wrong inside coroutines - Fixed: coroutines interrupted by garbage collection - Fixed: code compression suddenly much worse for carts > 32k chars - Fixed: code compression ratio can be less than 1 in extreme cases - Fixed: pasting a string ending in '1' into the command prompt opens the editor - Fixed: html export can run out of pre-allocated heap when doing heavy string operations - Fixed: hex memory addresses displayed in puny font on windows - Fixed: devkit mouse message shown once per cart -- should be once per chain of carts - Fixed: can't paste sfx notes after moving to another sfx via keyboard - Fixed: copying note select vs. sfx vs. pattern range is ambiguous - Fixed: crash after redefining type() - - - v0.2.0d - - Added: rnd(x) when x is an array-style table, returns a random item from that table - Added: gif_reset_mode (in config.txt / CONFIG command). Defaults to 0.1.12c behaviour - Added: print(str, col) form behaves the same as: color(col) print(str) - Added: Operators: <<> >>< <<>= >><= - Changed: tline now also observes an offset (0x5f3a, 0x5f3b) - Changed: tline rounds down to integer screen coordinates (same as line) - Changed: Final cpu adjustments (see release post) - Changed: Removed experimental "!"->"this" shorthand - Changed: clip() returns previous state as 4 return values - Fixed: Included files remain locked (and can not be edited by external editors) - Fixed: Carts loaded as plaintext .lua fail to handle BOM / DOS characters - Fixed: palt() returns previous state of bitfield as a boolean instead of a number - Fixed: CPU speed on widget doesn't exactly match stat(1) - Fixed: stat(1) occasionally reports garbage values when above 1.0 - Fixed: Custom btnp repeat rates (0x5f5c, 0x5f5d) speed up when skipping frames - Fixed: gif_scale setting not read from config.txt - Fixed: tline: texture references are incorrect when sy1 < sy0 - Fixed: tline: single pixel spans are drawn as two pixels - Fixed: binary exports' controls menu always shows 0 joyticks connected - Fixed: Pressing DEL on first row of tracker doesn't do anything - Fixed: host framerate regulation is slow (~1/sec) when PICO-8 frame takes < 1ms to execute - Fixed: fillp() return value (previous state) does not include transparency bit - Fixed: clip"" setting all clip values to 0 (should be ignored) - Fixed: Raspberry Pi static build / static export requires GLIBC 2.0.29 (now .16) - Fixed: stop(nil) crashes - Fixed: print(), printh(), stop() prints "nil" with no arguments (should have no output) - Fixed: trace() can not be used with coroutines - - - v0.2.0c - - Changed: Compressed size limit now 0x3d00 bytes (reclaimed an unused 0x100 byte block) - Fixed: >>>= operator (was doing a >>= replacement instead) - Fixed: #including large .lua files causes crashes, weird behaviour - Fixed: Sandboxed CSTORE: writing partial data to another embedded cart clobbers the remaining data. - Fixed: Multicart code storing regression introduced in 0.2.0 (code from head cart stored in other carts) - Fixed: Can not edit spritesheet after panning - Fixed: Junk error messages when syntax error contains one of the new operators - Fixed: Crash with: 0x8000 / 1 - - - v0.2.0b - - Changed: #include directive can be preceeded by whitespace - Changed: Activity logger records nothing after idle for 30 seconds - Fixed: Mouse cursor movement in editor is not smooth - Fixed: Display palette doesn't reset after exiting splore - Fixed: PALT() returns 0 instead of previous state as bitfield - Fixed: Rectangle and line tools broken when used in map editor - Fixed: INSTALL_GAMES under Windows produces broken cart files - Fixed: Stored multicart sometimes has code section truncated (fails to load()) - - - v0.2.0 - - Added: 8-bit character set with kana, alt font - Added: ord(), chr() - Added: SFX / Pattern organiser view - Added: SFX edit buttons on pattern channels - Added: tline // textured line drawing - Added: SPLORE automatically updates BBS carts when online - Added: Search for similar (shared tags) cartridges, or by thread - Added: predefined fillp() pattern values assigned to glyphs - Added: btnp() custom delays (poke 0x5f5c, 0x5f5d) - Added: "." shorthand command for advancing a single frame (calls _update, _draw if they exist) - Added: Current editor/cart view is recorded every 3 seconds to [app_data]/activity_log.txt - Added: Cutting (ctrl-x) and pasting selected sprites while in map view to also adjust map references to those sprites - Added: Clipboard is supported in the html exports (with some limitations) // load #wobblepaint for an example. - Added: Can load .lua files as cartridges - Added: Operators: ..= ^= \ \= & | ^^ << >> >>> ~ &= |= ^^= <<= >>= >>>= @ @@(update: @@ replaced with %) $ - Added: New demo carts: waves.p8 dots3d.p8 automata.p8 wander.p8 cast.p8 jelpi.p8 (use INSTALL_DEMOS) - Added: Extra pre-installed games: Embrace, 8 Legs to Love (use INSTALL_GAMES) - Added: Splore cart labels for .p8 files - Added: Now 16 code tabs (click on the rightmost ones to scroll) - Added: ipairs() - Added: SAVE from commandline to quick-save current cartridge (same as ctrl-s) - Added: BACKUP from commandline to save a backup of current cartridge - Added: CPU usage widget (ctrl-p while running cartridge) - Added: Button / dpad states exposed in memory at 0x5f4c (8 bytes) - Added: Random number generator state exposed at 0x5f44 (8 bytes) - Added: pico8_dyn version is included when exporting to Raspberry Pi - Added: allow_function_keys option in config.txt (CTRL 6..9 are now preferred -- will phase out F6..F9 if practical) - Added: Visible tab characters (draw_tabs in config.txt) - Added: pal({1,2,3..}) means: use the value for each key 0..15 in a table - Added: palt(bitfield) means: set the colour transparency for all 16 colours, starting with the highest bit - Added: Options menu for binary exports (sound / fullscreen / controls) - Added: Shape drawing tools in sprite and map editor - Improved: Miscellaneous HTML shell / player optimisations and adjustments - Improved: Lower cpu usage for small foreground_sleep_ms values (changed host event loop & fps switching strategy) - Changed: This update is called 0.2.0, not 0.1.12d! (grew into plans for 0.2.0, and bumped cart version number) - ChangeD: Reverted cheaper 0.1.12* costs on bitwise operators & peek (recommend replacing with operators if need) - Changed: negative numbers expressed with a '-' count as a single token - Changed: glitchy reset effect does not leave residue in base RAM (but maybe on screen when using sprites / tiles) - Changed: sset() with 2 parameters uses the draw state colour as default - Changed: line() or line(col) can be used to skip drawing and set the (line_x1, line_y1) state on the next call to line(x1,y1) - Changed: vital system functions (load, reboot etc.) can only be overwritten during cartridge execution - Changed: sqrt(x) is now more accurate, and a little faster than x^.5 - Changed: sqrt(x) returns 0 for negative values of x - Changed: btnp() delay and repeats now work independently per-button - Changed: pairs(nil) returns an empty function - Changed: Default screenshot scale (now 4x), gif scale (now 3x) - Changed: gif_len now means the length when no start point is specified (used to be the maximum recordable length) - Changed: (Multicarts) When loading data from many different carts, the swap delay maxes out at ~2 seconds - Changed: (Raspberry Pi) removed support for (and dependency on) libsndio - Changed: camera(), cursor(), color(), pal(), palt(), fillp(), clip() return their previous state - Changed: Can not call folder() from a BBS cart running under splore - Changed: F9 resets the video, so that multiple presses results in a sequence of clips that can be joined to together - Changed: color() defaults to 6 (was 0) - Changed: Backed up filenames are prefixed with a timestamp. - Changed: Automatically start on the (host's) current path if it is inside PICO-8's root path - Changed: tostr(x,true) can also be used to view the hex value of functions and tables (uses Lua's tostring) - Changed: Can hold control when clicking number fields (spd, pattern index etc.) to increment/decrement by 4 (was shift) - Fixed: HTML exports running at 60fps sometimes appear to repeatedly speed up and slow down - Fixed: HTML export layout: sometimes broken -- option buttons overlapping in the same place - Fixed: __tostring metatable methods not observed by tostr() / print() / printh() - Fixed: Mac OSX keyboard permissions (fixed in SDL2 0.2.12) - Fixed: Audio mixer: SFX with loop_end > 32 would sometimes fail to loop back - Fixed: btn() firing a frame late, and not on the same frame as stat(30) - Fixed: #include can not handle files saved by some Windows text editors in default format (w/ BOM / CRLF) - Fixed: Exports do not flatten #include'd files - Fixed: Default window size has too much black border (now reverted to previous default) - Fixed: Functions yielded inbetween frames occasionally push an extra return value (type:function) to the stack - Fixed: can't load png-encoded carts with code that starts with a : - Fixed: .gif output unnecessarily large - Fixed: .gif recording skipping frames when running at 15fps - Fixed: printh does not convert to unicode when writing to console or to a file - Fixed: cart data sometimes not flushed when loading another cart during runtime - Fixed: Can not navigate patterns with -,+ during music playback - Fixed: Mouse cursor not a hand over some buttons - Fixed: Laggy mouseover messages (e.g. showing current colour index, or map coordinates) - Fixed: Can't paste glyphs into search field - Fixed: Tab spacing always jumps config.tab_spaces instead of snapping to next column - Fixed: -p switch name is wrong (was only accepting "-param" in 0.12.* - Fixed: Code editor highlighting goes out of sync after some operations - Fixed: Multicart communication problem (affecting PICOWARE) - Fixed: time() speeds up after using the RESUME command - Fixed: Audio state is clobbered when using the RESUME command - Fixed: Audio glitch when fading out music containing slide effect (1) - Fixed: Toggling sound from splore cart->options menu has no effect - Fixed: Devkit keyboard works when paused - Fixed: "-32768 % y" gives wrong results - Fixed: Replacing all text in code editor breaks undo history - Fixed: Double click to select last word in code does not include the last character - Fixed: Weird block comment behavior in code editor - Fixed: HTML export: cart names can not contain quotes - Fixed: HTML export: menu button layout under chromium - Fixed: HTML export: Adding content above cartridge breaks mobile layout - Fixed: HTML export: Can touch-drag PICO-8 screen around (breaks simulated mouse input) - Fixed: LOAD("#ABC") does not always immediately yield - Fixed: Infinite RUN() loop crashes PICO-8 - Fixed: Mouse cursor is not a finger on top of most "pressable" button-style elements - Fixed: CD command fails when root_path is relative (e.g. "pico8 -root_path .") - Fixed: poke in fill pattern addresses (0x5f31..0x5f33) discards some bits - Fixed: After using ctrl-click in map editor, can not modify map outside that region - Fixed: Shift-selecting sprites from bottom right to top left selects wrong region - Fixed: Changing GIF_LEN from PICO-8 commandline sometimes breaks gif saving - Fixed: pget() sometimes returns values with high bits set - Fixed: Preprocessor: unary operator lhs is not separated in some cases (e.g. x=1y+=1) - Fixed: Preprocessor: ? shorthand prevents other preprocess replacements on same line - Fixed: Preprocessor: fails when multiple shorthand expressions + strings containing brackets appear on the same line - Fixed: Loading a .p8 file with too many tabs discards the excess code. - Fixed: Map editor's stamp tool wraps around when stamping overlapping the right edge. - Fixed: Very quick/light tap events sometimes do not register - Fixed: SFX tracker mode: can't copy notes with shift-cursors before clicking (whole sfx is copied instead) - Fixed: "..." breaks syntax highlighting - Fixed: Click on text, press up/down -> cursor reverts to previous horizontal position - Fixed: CTRL-[a..z] combinations processed twice under some linux window managers - Fixed: ctrl-up/down to jump to functions in the code editor breaks when "function" is followed by a tab - Fixed: map & gfx drawing selection is not applied consistently between tools - Fixed: Using right mouse button to pick up a colour / tile value sometimes also applies current tool - - - v0.1.12c - - Fixed: CPU usage reported by stat(1) is higher than actual value - Fixed: Fail to load .p8 cartridges w/ BOM marker / CRLF endlines - Fixed: Syntax errors / crash caused by #including files containing BOM / CRLFs - Fixed: Can not save .p8 when contains unresolved #includes - Fixed: Can't open pico-8.txt in Notepad.exe (added CRLFs) - Fixed: Can delete null terminator at end of code (revealing previously deleted code) - - - v0.1.12b - - Added: config command (e.g. CONFIG THEME CLASSIC) - Fixed: Windows sound resampling artifacts (moved to SDL2 2.0.9 audio:directsound) - Fixed: Glyphs stored as unicode can not load when #include'd - Fixed: Code highlighting is wrong after select and delete a line - Fixed: Last line endpoint not present in draw state memory - Fixed: Ubuntu 16.04 can not run because requires glibc 2.27 (reduced dependency to 2.14) - Fixed: stat(102) returns nil when run from binary instead of 0 (now 0) - Fixed: Loading cartridge from commandline fails when path contains "../" - Fixed: (OSX) Crash when reloading external changes with CTRL-R - Fixed: (Windows) Crash when running cart with included code - Fixed: Can not export or include extra cartridges outside of current directory - Fixed: Off by 1 when search for line 1 (affected ctrl-b, ctrl-l) - Fixed: html template -- mouse cursor showing over canvas (now hidden by default) - - - v0.1.12 - - Added: #include a text file, or a tab from another cartridge - Added: Unlimited undo for gfx,map,sfx - Added: [sfx] snippets: copy and paste sound & music between PICO-8 instances and BBS posts - Added: (BBS) sfx snippet player - Added: CTRL-G in code editor to repeat search across all tabs - Added: Splore search text entry with cursor key button presses - Added: Custom tab widths (tab_width in config.txt) - Added: Web exporter template: joystick & touch support, preview image, menu buttons, adaptive size, controls screen - Added: .wasm exporter (use -w) - Added: Raspberry Pi binary exporter - Added: -export // run the EXPORT command from host commandline - Added: Toggle flags on multiple sprites at once by selecting them first - Added: Confirmations when loading/saving with unsaved changes - Added: Windowed mode support for Raspberry Pi - Added: serial() interface for Raspberry Pi // serial() -- spi, ws281x, direct bit banging // 0.2.1 update: dropped spi - Added: api: peek2 poke2 rawset rawget rawlen rawequal next - Added: Comment/uncomment selected block with CTRL-B - Added: Can save screenshots and gifs from exported binaries via EXTCMD - Added: Can exit exported binaries after runtime error / stop(), and also via EXTCMD("SHUTDOWN") - Added: SHUTDOWN menu item added to pause menu when running via "-run cartfile" - Added: -kiosk to run in kiosk mode: boot into splore, favourites menu only, no cart menu - Added: -root_path to set root cartridges folder from commandline - Added: shift+space in song view to play from the current quarter of the selected channel - Added: CTRL-W, CTRL-E in code editor to jump to start / end of line - Added: -accept_future to load cartides made with future versions of PICO-8 - Added: -preblit_scale (default: auto) for less blurry scaling with -pixel_perfect 0 - Added: -pixel_perfect -1 (auto) only uses pixel perfect scaling when < 10% of the containing screen axis is wasted - Added: highlight all occurances when searching for text in code editor - Added: tab completion across directories - Added: In map editor, non-zero cels that are drawn all black are marked with a single blue dot - Changed: all(), foreach() cpu cost is now much cheaper (but still a little more than using a for loop) - Changed: cursor() can also set the current color with a third parameter - Changed: stat 24..26 return -1 when no music is playing - Changed: 3x4 font characters (uppercase in ascii) allowed in code editor (but not pasteable/editable) - Changed: time() / t() always means seconds since run (but still updated once per _update() / _update60) - Changed: line(x1,y1) can be used to draw from the end of the last line - Changed: del() returns the item deleted on success - Changed: single setting for audio volume (-volume switch, "volume" in config.txt) - Changed: allow '-' in cartdat() names - Changed: 8 and - only map to buttons 4 and 5 by default for CHIP build - Changed: Raspberry Pi pico8_dyn build does not support gpio/serial (and so does not require wiringPi) - Changed: Default theme is 1 (blue background in code editor) - Changed: When loading a cart from commandline, automatically set the current path if inside PICO-8's filesystem - Fixed: Code editor uses too much cpu / battery power - Fixed: cstore() with an external cart name broken when run from exported cart or as bbs cart - Fixed: Undoing changes to SFX after using pitch drawing tool clears SFX data - Fixed: Running headless scripts under Windows / Mac OSX crashes - Fixed: Running headless scripts with no video driver fails - Fixed: Can not load BBS carts in headless script mode (without auto-running) - Fixed: (Web exporter) mouse cursor doesn't work in fullscreen - Fixed: (Web exporter) mouse button 2 brings up context menu - Fixed: (Web exporter) Clusters of FS.syncfs calls causing error messages (and inefficient?) - Fixed: (Windows) PICO-8 behaves as if it is not the foreground application - Fixed: divide and abs sign flipping for 0x8000.0000 - Fixed: sqrt(0x0000.0001) freezes - Fixed: "-1"+0 evaluates to 0xffff.0001 - Fixed: shift-tabbing to unindent alters selection range - Fixed: background_sleep_ms reverts to default value - Fixed: "open in thread" option appears for local carts - Fixed: (code editor) undo markers in unexpected places - Fixed: root_path, desktop_path in config.txt doesn't work without trailing slash - Fixed: Audio sampling rate is wrong when device/driver doesn't support 22050MHz - Fixed: Loading cart with less than 5 pixel rows of gfx does not clear default white cross sprite - Fixed: cpu cycle exploit using peek4 with no parameters - Fixed: SFX keyboard editing operations (e.g. SPD +/-) sometimes applied to the wrong SFX - Fixed: Cursor behaviour when moving between song and sfx view, and when playing music - Fixed: Selecting SFX notes with shift + home/end/pgup/pgdown - Fixed: Vibrato (2) and drop (3) effects in SFX instruments not observed - Fixed: Can not place note at C-0 in pitch mode - Fixed: CTRL-F search in code skips matches that are close together - Fixed: (Mac) warning about unoptimized program (built with SDL 2.0.9, + now 64-bit) - Fixed: (Raspberry Pi) Keypresses leaking to desktop - Fixed: (Raspberry Pi) Keyboard layout fixed to US - Fixed: printh(nil) prints [false] instead of [nil] - Fixed: toggling audio mute twice returns to maximum volume - Fixed: alt+cursors moves cursor in code editor - Fixed: del does not work on first character of code or commandline - Fixed: preprocessor breaks on double slash in string s="\\" - Fixed: sometimes code executing a little after point of runtime error - Fixed: Token count reported in editor is more than 0 after rebooting - Fixed: "Removed empty tabs" message displayed when loading cart with fewer tabs - Fixed: Member variables highlighted when same as API function names (e.g. actor.spr) - Fixed: Hot-plugged joysticks not recognized - - - v0.1.11g - - Added: CTRL-C to copy contents of commandline - Added: stat(100..102) for current breadcrumb label, bbs cart id, and hostname (web) - Added: content_filter in config.txt - Added: Cartverse cart id support (not live server-side yet though) - Fixed: Tab preview does not show on mouseover - Fixed: Can't paste uppercase characters into commandline - Fixed: Preprocessor can't handle glyphs in form: "♥.x += 1" - Fixed: Unsaved changes sometimes reported when filename is not set - Fixed: Pause menu doesn't open inside infinite loop inside _draw - Fixed: load() crashes when "parameter string" parameter is not a string - Fixed: cstore(),reload() crash when external cart filename is not a string - Fixed: printh(str, "@clip") fails for glyph characters in str - - - v0.1.11f - - Fixed: Pause menu doesn't open inside an infinite loop - Fixed: Binary and hex string digits outside of 0xffff.ffff alter result - - - v0.1.11e - - Added: stat(30..31) for devkit keyboard input - Added: extcmd("pause") extcmd("reset") extcmd("breadcrumb") - Added: lshr(), ceil(), rotl(), rotr(), peek4(), poke4() - Added: stat(12..15) to grab the position of the pause menu (x0,y0,y1,y1) - Added: DPAD game controller buttons mapped to LRUD - Added: CTRL-click on song navigator to scroll by 4 patterns - Added: Can type and paste glyphs in commandline - Added: Notification when CTRL-R fails to reload because of unsaved changes - Added: Notification when code automatically converted to lower-case - Added: INFO() checks for "external changes" (e.g. when using a separate text editor) - Added: .p8.png format can be used with cstore() and carts bundled in multicarts - Added: Can optionally set fill pattern using colour parameter - Changed: Glyphs can be used as variable names - Changed: Glyphs stored in clipboard and .p8 format as roughly corresponding unicode - Changed: .p8 format skips storing tailing rows of data that match default state - Changed/Fixed: shr(x,n) is now equivalent to calling shr(x,1) n times when n >= 32 - Fixed: Error message and stack trace line numbers 0 or slightly out - Fixed: Unclosed block error navigates cursor to rather than start of block - Fixed: Exported binaries can load carts outside of bundle - Fixed: BBS cart loaded from a local cart loses data cstore()ed during previous run - Fixed: btn() returns same as btnp() - Fixed: btnp(6) always returns false - Fixed: Missing mask pixels in cart download animation frame - Fixed: Crash when try to load a directory as a cart - Fixed: Sometimes cursor position set by keyboard mouse emulation in code editor - - - v0.1.11d - - Added: t() aliased to time() - Fixed: time() always returns 0 when there is no _update function - Fixed: (raspi) Keyboard stops responding after pressing CTRL-F, CTRL-Z - Fixed: (raspi) Double keypresses in sound editor when entering notes - Fixed: stat(6) pads parameter string with spaces - - - v0.1.11c - - Added: Local and UT time queries using stat() - Added: host_framerate_control (config.txt) to improve performance on slower machines and web - Added: Control over cpu usage when running in background (-background_sleep_ms / config.txt) - Added: Windows icon in exported exe - Added: F11 to toggle fullscreen - Added: export -c switch to indicate transparent icon colour - Added: show_backup_messages (config.txt) to turn off backup notifications - Added: SFX instruments documentation in pico8.txt - Added: Error message when trying to export carts with code size over the compressed limit - Changed: If config.txt is not found, the same directory as the executable is searched - Changed: If sdl_controllers.txt exists in the same directory as the executeable, it is processed first - Changed: Shorthand if () statements must be written on a single line - Fixed: reload() from bundled, non-primary cart in exported html multicart reads only original data - Fixed: Exported binaries wrongly observe F7 (capture label) - Fixed: Loading carts from earlier versions alters SFX data not intended for audio - Fixed: Old version of fill patterns documentation near end of pico8.txt - Fixed: 'backed up unsaved changes' message displayed during runtime for cstored() carts - Fixed: PICO-8 runs too slowly when in background (new default background_sleep_ms: 20) - Fixed: Saving screenshots and videos from exported binaries are named 0_* - Fixed: Compressed size limit warning on save doesn't mention exported carts - Fixed: btn(), btnp() don't work in infinite loops - Fixed: btnp() timing inconsistent between 30fps / 60fps / during frame-skipping / with no _update - Fixed: Can't move between channels while music is playing in song mode - - - v0.1.11b - - Fixed: Preprocessor bug regressions: "if (..) or", "a.b -= c - d" - Fixed: Crash when pressing menu button on an empty favourites list - - - v0.1.11 - - Added: Binary exporters (Windows, Linux, Mac OSX) - Added: Code tabs - Added: Splore cart menu - Added: Fill patterns - Added: Custom sfx instruments - Added: load("#1234") to load [and run] a BBS cart - Added: -x switch // execute a cart headless, for making commandline toolchains - Added: Compressed size display and limit warning lights in code editor - Added: CTRL-L to jump to a line number in code editor - Added: numbers can be written in binary: 0b10100010 - Added: tostr(), tonum() - Added: extcmd(): audio_rec, audio_end to record all audio output. - Added: ls() returns a list of local files if called while running - Added: getmetatable() - Added: coroutine error reporting // wrap coresume() in assert() - Added: sfx() can take a 4th parameter: number of notes to play - Added: Live sfx and music editing + better navigation controls - Added: Transpose selected sfx notes relative to C by entering a note w/ SHIFT held - Added: Insert and delete sfx rows with enter and backspace - Added: Hidden note data is shown in sfx editor when relevant (slide, arps) - Added: Warning displayed when unsaved changes backed up - Added: Separate animation for downloading vs. loading a cart - Added: export -p switch to supply a customized html template - Added: Mousewheel when devkit mouse enabled: stat(36) // not supported in web - Added: < > to change zoom level in gfx and map editors - Changed: Rebalanced / fixed api cpu costs - Changed: Screenshot and gif filenames based on current cart if available - Changed: add() returns the added object - Changed: removed global hpf on audio - Changed: (sfx) can slide to volume 0 - Changed: removed master low pass filter - Changed: assert() can take an optional error_message parameter - Changed: ? (shorthand for print()) can be prefixed by whitespace - Changed: shl(), shr() return 0 if second parameter >= 32 - Changed: Automatically drop down to software blitting mode if opengl fails - Changed: Lua memory limit set to 2MB (was 1MB) - Changed: Some options (-width, -show_fps) apply only to the session; not saved to config.txt - Updated: Internal game controller mappings from SDL_GameControllerDB - Fixed: Pops & clicks in audio when switching between playing SFX - Fixed: Crash in audio mixer because of bad locking - Fixed: Crash when loading .p8 files with more than 64k of code - Fixed: Indexing of sparse tables fails after removing n/2 elements - Fixed: Calling stat() inside an infinite loop crashes - Fixed: Resetting cartridge corrupts cartridge data in range 0x5e00..0x5eff - Fixed: Can not recover from a cart error caused by glitchy data on resetting - Fixed: String->negative number conversion off by 0x0.0001 (-1 --> 0xffff0001) - Fixed: Crash when running cart closed to 64k char limit - Fixed: Cursor can't move to the right of last character in code editor - Fixed: Missing highlighted keywords: in, add, del, menuitem - Fixed: Preprocessor bugs: "a+=1+2\n*3", "a+=(1)ba=42", "a[(1)]+=1" - Fixed: Preprocessor performs replacements inside a string printed with ? - Fixed: Display freezes when terminating a program running at >100% cpu - Fixed: Quick-running (CTRL-R) clobbers some editor state (e.g. current sprite page) - Fixed: Loading a .p8 file with a future version reports a generic failure - Fixed: alt-enter to toggle fullscreen also triggers pause menu - Fixed: Splore scrolling jumps around when list gets too long - - - v0.1.10c - - Fixed: atan flips sign for very negative values of x close to zero - - - v0.1.10b - Fixed: HTML exporter carts don't run - Fixed: HTML export 60fps support broken - Fixed: HTML export when path has a space in it (common for OSX) - Fixed: atan2 ignores sign of y - Fixed: (Raspberry Pi) Crash when access gpio not as root - - - v0.1.10 - - Added: Multi-cart export in html - Added: Cart reset glitch - Added: Demo carts: bounce, sort - Added: .p8 format can now store cart labels - Added: Splore navigation keys: pageup/down, home, end - Added: Splore usage hint shown on empty favourites list - Added: Warning on boot when data folder is read-only or can't be created - Added: Pressing tab with code selected indents those lines (shift-tab to un-indent) - Added: Double click word to select it - Added: Trigger screenshot/video/label capture from inside program: extcmd() - Changed: CTRL+left/right in code editor skips to end of word or span of non-whitespace - Changed: When a cart terminates from splore, button press is required to continue - Changed: load("@clip") can only be called from commandline (security) - Fixed: Can over-allocate host memory if exceed it within one frame - Fixed: atan2(-1, -32768) crash, and error for small values of dy - Fixed: (Web) using cstore() on self causes unloadable cart (bug introduced in 0.1.8?) - Fixed: (web) Pressing ctrl-v crashes the player (should do nothing) - Fixed: (Raspberry Pi) WiringPi library required in static build - Fixed: (Raspberry Pi) Crash on exit when launching via desktop icon - Fixed: (Raspberry Pi) keyboard input broken (observed on raspi2s) - - - v0.1.9b - - Added: Alternative function key mapping: ctrl-6..9 for F6..F9 - Added: Alternative glyph entry method: (ctrl-k) to toggle glyph mode - Changed: Enter glyphs with shift a..z, but can be disabled in config.txt - Changed: Increased emscripten ram to 128MB (some carts at risk of running out) - Fixed: Crash when window size is tiny or minified - Fixed: Crash on toggling fullscreen mode - Fixed: printh can write files outside filetree (security issue) - Fixed: show_fps (can also now be toggled with ctrl-1) - Fixed: Shorthand if/then syntax error when using the form: (functionname)(param) - Fixed: log.txt not saved in path specified by -home switch - Fixed: Default application data folder created even when -home specified - Fixed: Missing dynamic builds (pico8_dyn) from linux archives - Fixed: Removed unneeded RPATH from linux binaries - Fixed: export foo%d.wav fails to write multiple files - - v0.1.9 - - Added: Copy and paste sprites and whole cartridges directly to BBS posts - Added: JAM category in splore - Added: GPIO support for Raspberry Pi - Added: Read clipboard using stat(4) after user presses CTRL-V - Added: printh() can optionally write to a file or the host clipboard - Added: Editor tool information and tips shown on mouseover - Added: Set desktop path with -desktop (screenshots and gifs are saved here) - Added: Warning on saving .p8 when compressed code size exceeds .p8.png limit - Added: Alternative editor colours // config.txt: gui_theme 1 - Added: Dotted line every 8 rows in song view - Added: -screenshot_scale (default: 3) and -gif_scale (default: 2) - Added: Can use ctrl-up, ctrl-down to jump to start and end of code - Added: CTRL-M to mute/unmute sound - Added: HTML5-exported carts support 60fps - Added: Timeout switch for splore downloads: -timeout - Changed: Glyph characters typed with alt + a..z - Changed: stat(0) does not include allocations waiting to be garbage collected - Changed: Unfiltered screen stretching at integer scales by default - Changed: Removed -aspect and -scale settings (use draw_rect instead) - Fixed: -home has no effect under Windows - Fixed: Sometimes frame skipping starts before CPU usage has reached 100% - Fixed: Double-speed BTNP() timing in 60fps mode - Fixed: Exported HTML fails when _update60 is used instead of _update - Fixed: Can't copy and paste button glyphs - Fixed: Lines containing glyphs do not scroll far enough horizontally - Fixed: Loading .p8 renamed as .p8.png from splore freezes - Fixed: Bucketfill in map doesn't sync to shared memory - Fixed: fset fails when de-setting flags - Fixed: Syntax error when beginning with the form: IF (..) [OR|AND]\n - Fixed: cls() costs twice as much cpu as it should - Fixed: wav file exporter missing some data / writing truncated buffers - Fixed: Entering new notes in song view doesn't observe current volume, instrument - Fixed: alt-tab sometimes generates alt character text entry event - Fixed: Resuming a cancelled download in splore causes crash - Fixed: Controller attributes in log.txt always shown as -1 - - - v0.1.8 - - Added: 60fps support - Added: Music exporter - Added: Custom GIF length (maximum 120 seconds) - Added: -,+ to navigate sprite tabs, sfx, music patterns - Added: sfx editor: navigate with home, end, pageup/down, mousewheel - Added: <, > to modify sfx speed, or click and drag - Added: Middle mouse button to pan around spritesheet / map - Added: Shortcut command for splore: S - Added: Pre-installed selection of BBS cart (use INSTALL_GAMES) - Added: Warning when saving .p8.png with no label - Added: (OSX) logging to ~/Library/Logs (viewable with Console.app) - Added: -pixel_perfect switch (on by default) - Added: -draw_rect switch - Changed: Can not CTRL-S save over a loaded bbs cart - Changed: Only .p8 files listed by dir() and by splore - Changed: Command history increased to 256 - Changed: exit() / shutdown() have no effect while running cart - Fixed: Memory usage (stat(0)) inconsistent across host platforms - Fixed: Spinny disks shows when reloading current cart with load() - Fixed: GIF saver does not respect 64x64 / mirrored modes - Fixed: Miscellaneous multi-line comments / strings issues - Fixed: Empty map cels cost cpu in mapdraw() - Fixed: mapdraw() slowdown when drawing bottom half of map - Fixed: preprocess changes semantics when += and : operators on same line - Fixed: Identifiers starting with underscore counted as extra token - Fixed: Saving .png exceeding compressed code limit fails silently - Fixed: Right-clicking a sprite does not set the currently edited sprite - Fixed: (Windows) extra space added to pasted lines - Fixed: spr() expensive when drawn with low negative coordinates - Fixed: pipe character identical to colon character - Fixed: (Raspberry Pi) shift key appends a character when entering text - Fixed: Editor mode buttons are still clickable during cart runtime - Fixed: When loading a .p8.png file, label is reset and needs to be re-captured - Fixed: export() does not report failure - Fixed: mset()'d changes in shared memory not readable via peek() / sget() - Fixed: cstore() saving edited code - Fixed: audio pop between patterns during music playback - - v0.1.7 - - Added: menuitem() - Added: button glyphs in code (shift-L, R, U, D, X, O) - Added: Customisable data directory (e.g. pico8 -home mydata) - Added: Web gpio pins: read and write pico8_gpio[] in javscript - Fixed: SPLORE search doesn't reset - Fixed: Splore skipping 33rd cart listing after loading more items - Fixed: Crash when selecting a local binary file in splore - Fixed: Semicolon can't be used as a list or statement separator - Fixed: Exported html can not cstore self - - - v0.1.6 - - Added: SPLORE local & bbs cartridge explorer - Added: setmetatable(), cocreate(), coresume(), costatus(), yield() - Added: Spinning cart icon to show when a cart is swapped / written to - Added: Permanent storage when carts played in a browser - Added: Adjustable aspect ratio (-aspect 420 for 1:1) - Changed: Lua memory limit: 1024k (was 512k) - Changed: Music channel now resumes after being clobbered by an sfx - Changed: Arpeggios double speed when SFX speed <= 8 - Changed: Exceeding compressed code limit does not block saving in .p8 format - Changed: spr() half as expensive, to be consistent with map() - Changed: Fractional hex number notation: 0x0.3 == 0x0.3000, (was 0x0.0003) - Changed: : operator doesn't count as an extra token (same as .) - Changed: cstore() writes directly to disk - Changed: cstore(), reload() return number of bytes read / written - Changed: save() while running does nothing. (use cstore() instead) - Changed: load() while running loads and runs the specified cartridge - Fixed: Small pops in audio mixer caused by sound wave discontinuities - Fixed: HTML5-exported sound clicks badly under Chrome - Fixed: Display palette is not oberserved when exporting GIFs - Fixed: Rapid keypresses causes duplicate readings in tracker & text editor - Fixed: += inside comments breaks preprocessor - Fixed: sspr() cpu cost the same when clipped - Fixed: cartdata() with bad parameters crashes - Fixed: EXPORT from commandline can not be used without brackets and quotes - - - v0.1.5 - - Added: Raspberry Pi Build - Added: Keyboard configuration for player buttons (KEYCONFIG) - Added: Music tracker select / copy / paste - Added: Single-level undo in audio tools - Added: Live preview of frequencies in sound editor - Fixed: Command history extends past last reboot - Fixed: Sfx exporter broken - Fixed: Slashes at end of path resolve to double slashes - Fixed: Load cart from commandline under Windows - - - v0.1.4d - v0.1.4c - - Fixed: International character entry inserting extra characters - Fixed: Lines with tabs have broken cursor placement and display boundary - - v0.1.4b - - Fixed: OSX command-key combinations broken - - v0.1.4 - - Added: spritesheet importing and exporting with import("blah.png"), export("blah.png") - Added: sfx exporting with export("blah%d.wav") - Added: External cartridge parameter for reload() and cstore() - Added: Persistent cartridge data mapped to 0x5e00 - Added: Click token limit to toggle token & char limit display - Added: assert(), type() - Added: P to pause - Changed: code char limit: 64k (was 32k) - Changed: local declarations and semicolons not counted as tokens - Changed: Pairs of brackets and block delimitations count as one token - Changed: Only _update() or _draw() need to exist to enter main loop - Changed: Allow forward-slash in code editor - Changed: info() reports current (last loaded or saved) filename - Changed: html5 version compiled with NO_DYNAMIC_EXECUTION - Changed: can only cstore up to 64 different files in one session - Changed: load() automatically copies data section of cart to base ram - Fixed: Shift-drag-copy sprites -> paste only pastes 1x1 - Fixed: ".." should count as one token - Fixed: Tracker displaying D instead of . - Fixed: Multi-line comments - Fixed: Crash on run when code close to char limit - Fixed: When over token limit, can not run any command - Fixed: Unused high bits in SFX section not saved in .p8 format - Fixed: Camera position memory mapping out of sync - Fixed: pico8.txt link broken in windows installer - Fixed: print() crashes when parameter is not a string or numbers - Fixed: Multi-line strings & escape chars mess up tokenizer and print() - Fixed: Joystick not responding when left stick is up to the left - Fixed: Alt-F4 saves screenshot before quitting - Fixed: Sprite editor mode button doesn't show fullscreen mode - Fixed: -sound parameter not working in html5 version - - - v0.1.3 - - Added: paste into commandline - Fixed: lua standard libraries accessible - Fixed: command-line loading doesn't work - Fixed: music pattern finished too early when all tracks set to looping - Fixed: peek()ing odd bytes in sfx address space masks bit 7 - Fixed: cstore and reload from code space should have no effect - - v0.1.2 - - Added: html5 cartridge exporter - Added: Cartridge save data (64 fixed point numbers) - Added: 8-player input - Added: Demo carts: COLLIDE and BUTTERFLY - Added: Command-line parameters // load cart, -run, settings - Added: Alternative function keys (F6..F9 aliased as F1..F4) - Added: pairs() - Added: printh() for debugging - Added: Tab completion for filenames in console - Added: stack trace on runtime error - Changed: music pattern length taken to be first non-looping channel's length - Changed: noise instrument (6) has low frequency white noise scaled by volume - Changed: screenshot captures whole window contents at display resolution - Changed: del() moves remaining items up one index to maintain a packed table - Changed: add(),del(),count(),all() no longer store extra fields - Changed: removed count() from docs -- now just a legacy function. Use # operator instead. - Changed: cursor only blinks while window is active - Changed: peek(), poke() and bitwise operations (band()..) have no function call overhead - Changed: yellow slightly warmer - Changed: No camera snapping after pan in map mode - Fixed: sqrt() crashing for 0 or >= 32761 - Fixed: Semi-colon characters in text editor - Fixed: Long lines split when saving in .p8 format - Fixed: pget() does not respect camera position - Fixed: Error message when peeking or poking outside of legal address space - Fixed: Search replace colour fills one pixel outside of selected region - Fixed: Playing an empty music pattern breaks subsequent music playback - Fixed: Invalid sfx editing state on startup - Fixed: Painting instruments values in frequency view also sets volumes - Fixed: Inconsistent gif recording speeds - Fixed: Unmapped joystick support - Fixed: Compressed code size sometimes larger than uncompressed - Fixed: mid() fails when first argument is not smallest - Fixed: Scroll wheel changes sprite/map zoom while in code editor - Fixed: CTRL-R (quick-run) drawing over current line in command mode - Fixed: Label capture (F7) does not respect display palette state - Fixed: Syntax highlighting of api functions and hex numbers - Fixed: Looping to 0 with negative step finishes at 1 - Fixed: nil values printed as false instead of nil - Fixed: Hexadecimal fractional parts - Fixed: btnp() unresponsive when skipping frames - Fixed: Editing mode is lost when using ctrl-r to run - Fixed: Tracker note entry keys mapped, messing up piano-like layout - Fixed: Shared gfx/map memory out of sync after some editor operations - Fixed: Alt-gr character entry - Fixed: Can map display palette to entries >= 16 using poke() - Fixed: Using shift to select in code editor has wrong selection range - Fixed: Dragging above top of text causes selection to flip to end - Fixed: Duplicate at end of file listing - - - v0.1.1 - - Added: Token-based code limiting (8192 tokens, 32k ascii text) - Added: Freeform move, pan and selection in sprite and map editors - Added: Flood-fill tool (sprite and map) - Added: .GIF saver - Added: CTRL-Stamp to stamp with transparency - Added: Single-step undo for map and sprites - Added: 2x2 brush - Added: sqrt(), atan2() - Added: CTRL-S to quick-save - Added: CTRL-R reloads .p8 file and runs (useful for external text editing) - Added: Automatic backups on overwriting or quitting without saving - Added: Scroll wheel zooms in sprite editor - Added: Customisable resolution // e.g. pico8 -width 580 - Added: Strings highlighted as green - Added: ALT-click can optionally simulate right click (see config.txt) - Added: palt() to control transparency for spr(), sspr() - Added: info() - Changed: load() tries adding .p8.png, .png if file doesn't exist - Changed: Draw operations apply only to selection when active - Changed: Move operations (cursors) apply to selection if present - Changed: Removed time() - Changed: Random seed is random on cart startup - Changed: api functions never read directly from cart rom - Changed: sspr() can take negative values for dw, dh - Fixed: Sparse table indexing with integers fails - Fixed: Assignment operators and shortform if-then-else failing - Fixed: sspr() failed when w0 == 128 - Fixed: Circle drawing broken when camera not (0,0) - Fixed: CPU hogging - Fixed: Noise instrument clobbers rnd() sequence - Fixed: Audio system not resetting on program reset - Fixed: % operator sometimes wrong for negative values - Fixed: Length operator (#) - Fixed: Power operator (^) - Fixed: Line clipping bug on right and bottom edges - Fixed: print() precision for whole numbers - Fixed: print() broken for negative y values - Fixed: tokenization and keyword highlighting - Fixed: sprite properties not copied/pasted - Fixed: Only sfx 0..32 could be used as music patterns - Fixed: Saving and loading a .p8 file adds newline to end of code - Fixed: Drag selection to left margin in code editor -> selects all - - - v0.1.0 - - Added: demo cart: hello.p8 (use install_demos) - Added: CTRL-R from anywhere to run cart or restart cart - Added: use a,s to select colour in gfx editor - Added: consistent operation cpu costs - Added: btn(), btnp() with no arguments returns bitfield - Added: fget(id) returns bitfield of that sprite's flags - Changed: renamed mapdraw() to map() for consistency - Changed: default sleep time is 5ms (better cpu consumption for laptops) - Fixed: memory limiter - Fixed: wonky line and circle drawing - Fixed: shift-click volume in sfx editor to set all - Fixed: number formatting is now never in scientific notation - Fixed: clipped error messages in console - Fixed: text undo stores rollback points when chaning line number - Fixed: print(str) carriage returns to previous x - - - v0.0.5 - - Added: help() - Added: Ctrl+F / Ctrl+G to search for text, repeat search - Added: del key in code editor - Added: Short-hand single-line IF statements - Added: Unary operators += -= /= *= %= - Added: srand(), time(), added rnd() to docs - Added: Ctrl+D to duplicate line - Added: interactive ls() for multi-page file listings - Added: band() bor() bxor() bnot() shl() shr() - Added: runtime error line number - Added: dir() (aliased to ls()) - Changed: print() only autoscrolls when called with no parameters - Changed: alt+up/down to skip between function definitions (was ctrl) - Changed: sspr() dw, dh defaults to sw, sh - Fixed: Load crashes on files that are not .p8 format or directories - Fixed: Misc editor cursor position glitches - Fixed: Crash when syntax error occurs before viewing code - Fixed: Broken newlines after rebooting - Fixed: mkdir() called with no parameters creating "(null)" directory - Fixed: scrolling past top of code with scrollwheel - Fixed: alt-f4 to fastquit - - - v0.0.4 - - Added: Jelpi demo cart - Added: Internal carts // use install_demos() - Added: Joystick support - Added: Undo/redo in code editor - Added: Scroll wheel in code editor - Added: LCTRL + UP/DOWN to navigate functions in code editor - Added: LALT + LEFT/RIGHT to switch editing modes - Added: btnp() - Added: Release looping sample (a in editor , sfx(-2, channel) in code) - Changed: Music stops when pausing program execution - Changed: Allow 8 settable sprite flags - Changed: Made noise instrument more bassy - Fixed: Home, end keys - Fixed: Sprite flags 4,5 not saved - Fixed: mset() discarding 4 high bits - Fixed: Crash when highlighting long strings - - - v0.0.3 - - Added: Palette mapping type 1 (on display) - Added: Collections can be initialized with c={1,2,..} - Added: holdframe() // used automatically by _draw(), update() - Added: Sprite selections and operations across selections - Added: Map selection and stamp tool - Added: Immediate mode screen buffer preserved while switching views - Added: Channel mask for music playback - Added: Memory mapping for live sound data - Added: .png cart format - Added: Sprite navigation by keyboard (-, +) - Fixed: Strict 4-channel sound - Fixed: Automatic sfx channel selection (channel index: -1) - - - v0.0.2 - - Added: Command history - Added: P2 keys - Added: Boot sequence - Added: Windows, 64-bit linux builds - Added: CPU cost of internal api functions - Added: Separate song channel index and mute status - Added: Memory mapping - Added: Search/replace colour in sprite editor - Added: Copy/paste sprites and map regions - Improved: Immediate mode command editing - Improved: Editor cursor behaviour - Fixed: Automatic audio channel selection - - - v0.0.1 - - First Alpha - - - diff --git a/pico8/pico8 b/pico8/pico8 deleted file mode 100755 index 3f2ecaf..0000000 Binary files a/pico8/pico8 and /dev/null differ diff --git a/pico8/pico8.dat b/pico8/pico8.dat deleted file mode 100644 index 310586c..0000000 Binary files a/pico8/pico8.dat and /dev/null differ diff --git a/pico8/pico8_dyn b/pico8/pico8_dyn deleted file mode 100755 index 7ce9546..0000000 Binary files a/pico8/pico8_dyn and /dev/null differ diff --git a/pico8/readme_linux.txt b/pico8/readme_linux.txt deleted file mode 100644 index 49ae37c..0000000 --- a/pico8/readme_linux.txt +++ /dev/null @@ -1,50 +0,0 @@ - -:: PICO-8 Linux Builds - - On many linux distributions, PICO-8 will run out of the box (just unzip and run pico8), but it does - require wget to perform BBS downloads. To make sure wget is installed: - - $ sudo apt-get install wget - - - You may need to ensure the pico8 file is executable: - - $ sudo chmod +x pico8 - - - There are two different builds in this archive: - - pico8 // statically linked sdl2 - pico8_dyn // dynamically linked sdl2 - - - pico8_dyn can be used if you would like to provide your own sdl2, or to use the sdl2 built for your distribution: - - $ sudo apt-get install libsdl2-dev - - - -:: Video Configuration - - - By default, PICO-8 runs fullscreen using OpenGL to blit (via SDL2). A software blitter can be used instead: - - $ pico8 -software_blit 1 - - Alt+Enter can be used to toggle fullscreen, or the -windowed switch can be used to start up in in a window: - - $ pico8 -windowed 1 - - There are several methods for blitting to fullscreen: - - $ pico8 -fullscreen_method 0 // Maximized Window (default) // SDL_WINDOW_SHOWN | SDL_WINDOW_BORDERLESS | SDL_WINDOW_MAXIMIZED | SDL_WINDOW_INPUT_GRABBED; - $ pico8 -fullscreen_method 1 // Borderless Desktop-sized window // SDL_WINDOW_FULLSCREEN_DESKTOP - $ pico8 -fullscreen_method 2 // Hardware Fullscreen (erratic behaviour under some drivers) - - 0 and 1 are very similar, but might behave differently on some distributions. 2 is normally not recommended or needed. - - These options can also be set in ~/.lexaloffle/pico-8/config.txt, which is generated when PICO-8 closes. - - - - diff --git a/src/pico8-client/build/rawRenderCart.js b/src/pico8-client/build/rawRenderCart.js new file mode 100644 index 0000000..10c66c0 --- /dev/null +++ b/src/pico8-client/build/rawRenderCart.js @@ -0,0 +1,11 @@ +var bN=Object.defineProperty;var{getOwnPropertyNames:OE,getOwnPropertyDescriptor:GE}=Object,ME=Object.prototype.hasOwnProperty;var jQ=(v)=>{const l=jQ.moduleCache??=new WeakMap;var s=l.get(v);if(s)return s;var N=bN({},"__esModule",{value:!0}),j={enumerable:!1};if(v&&typeof v==="object"||typeof v==="function"){for(let Z of OE(v))if(!ME.call(N,Z))bN(N,Z,{get:()=>v[Z],enumerable:!(j=GE(v,Z))||j.enumerable})}return l.set(v,N),N};var LE=(v,l)=>()=>(l||v((l={exports:{}}).exports,l),l.exports);var tR=(v,l)=>{for(var s in l)bN(v,s,{get:l[s],enumerable:!0,configurable:!0,set:(N)=>l[s]=()=>N})};var fR=(v,l)=>()=>(v&&(l=v(v=0)),l);var require_155f27e129a0a7ce=((v)=>typeof require!=="undefined"?require:typeof Proxy!=="undefined"?new Proxy(v,{get:(l,s)=>(typeof require!=="undefined"?require:l)[s]}):v)(function(v){if(typeof require!=="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+v+'" is not supported')});var cN={};tR(cN,{default:()=>{{return aR}}});var DE,aN,zE,FE,EE,BE,CE,AE,eN,HE,dR,bR,eR,aR;var ZU=fR(()=>{DE=Object.create,aN=Object.defineProperty,zE=Object.getOwnPropertyDescriptor,FE=Object.getOwnPropertyNames,EE=Object.getPrototypeOf,BE=Object.prototype.hasOwnProperty,CE=(v,l)=>()=>(l||v((l={exports:{}}).exports,l),l.exports),AE=(v,l)=>{for(var s in l)aN(v,s,{get:l[s],enumerable:!0})},eN=(v,l,s,N)=>{if(l&&typeof l=="object"||typeof l=="function")for(let j of FE(l))!BE.call(v,j)&&j!==s&&aN(v,j,{get:()=>l[j],enumerable:!(N=zE(l,j))||N.enumerable});return v},HE=(v,l,s)=>(eN(v,l,"default"),s&&eN(s,l,"default")),dR=(v,l,s)=>(s=v!=null?DE(EE(v)):{},eN(l||!v||!v.__esModule?aN(s,"default",{value:v,enumerable:!0}):s,v)),bR=CE((v,l)=>{function s(G){if(typeof G!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(G))}function N(G,n){for(var f="",b=0,e=-1,r=0,a,V0=0;V0<=G.length;++V0){if(V02){var c=f.lastIndexOf("/");if(c!==f.length-1){c===-1?(f="",b=0):(f=f.slice(0,c),b=f.length-1-f.lastIndexOf("/")),e=V0,r=0;continue}}else if(f.length===2||f.length===1){f="",b=0,e=V0,r=0;continue}}n&&(f.length>0?f+="/..":f="..",b=2)}else f.length>0?f+="/"+G.slice(e+1,V0):f=G.slice(e+1,V0),b=V0-e-1;e=V0,r=0}else a===46&&r!==-1?++r:r=-1}return f}function j(G,n){var f=n.dir||n.root,b=n.base||(n.name||"")+(n.ext||"");return f?f===n.root?f+b:f+G+b:b}var Z={resolve:function(){for(var G="",n=!1,f,b=arguments.length-1;b>=-1&&!n;b--){var e;b>=0?e=arguments[b]:(f===void 0&&(f=process.cwd()),e=f),s(e),e.length!==0&&(G=e+"/"+G,n=e.charCodeAt(0)===47)}return G=N(G,!n),n?G.length>0?"/"+G:"/":G.length>0?G:"."},normalize:function(G){if(s(G),G.length===0)return".";var n=G.charCodeAt(0)===47,f=G.charCodeAt(G.length-1)===47;return G=N(G,!n),G.length===0&&!n&&(G="."),G.length>0&&f&&(G+="/"),n?"/"+G:G},isAbsolute:function(G){return s(G),G.length>0&&G.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var G,n=0;n0&&(G===void 0?G=f:G+="/"+f)}return G===void 0?".":Z.normalize(G)},relative:function(G,n){if(s(G),s(n),G===n||(G=Z.resolve(G),n=Z.resolve(n),G===n))return"";for(var f=1;fc){if(n.charCodeAt(r+N0)===47)return n.slice(r+N0+1);if(N0===0)return n.slice(r+N0)}else e>c&&(G.charCodeAt(f+N0)===47?Q0=N0:N0===0&&(Q0=0));break}var G0=G.charCodeAt(f+N0),J0=n.charCodeAt(r+N0);if(G0!==J0)break;G0===47&&(Q0=N0)}var P0="";for(N0=f+Q0+1;N0<=b;++N0)(N0===b||G.charCodeAt(N0)===47)&&(P0.length===0?P0+="..":P0+="/..");return P0.length>0?P0+n.slice(r+Q0):(r+=Q0,n.charCodeAt(r)===47&&++r,n.slice(r))},_makeLong:function(G){return G},dirname:function(G){if(s(G),G.length===0)return".";for(var n=G.charCodeAt(0),f=n===47,b=-1,e=!0,r=G.length-1;r>=1;--r)if(n=G.charCodeAt(r),n===47){if(!e){b=r;break}}else e=!1;return b===-1?f?"/":".":f&&b===1?"//":G.slice(0,b)},basename:function(G,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');s(G);var f=0,b=-1,e=!0,r;if(n!==void 0&&n.length>0&&n.length<=G.length){if(n.length===G.length&&n===G)return"";var a=n.length-1,V0=-1;for(r=G.length-1;r>=0;--r){var c=G.charCodeAt(r);if(c===47){if(!e){f=r+1;break}}else V0===-1&&(e=!1,V0=r+1),a>=0&&(c===n.charCodeAt(a)?--a===-1&&(b=r):(a=-1,b=V0))}return f===b?b=V0:b===-1&&(b=G.length),G.slice(f,b)}else{for(r=G.length-1;r>=0;--r)if(G.charCodeAt(r)===47){if(!e){f=r+1;break}}else b===-1&&(e=!1,b=r+1);return b===-1?"":G.slice(f,b)}},extname:function(G){s(G);for(var n=-1,f=0,b=-1,e=!0,r=0,a=G.length-1;a>=0;--a){var V0=G.charCodeAt(a);if(V0===47){if(!e){f=a+1;break}continue}b===-1&&(e=!1,b=a+1),V0===46?n===-1?n=a:r!==1&&(r=1):n!==-1&&(r=-1)}return n===-1||b===-1||r===0||r===1&&n===b-1&&n===f+1?"":G.slice(n,b)},format:function(G){if(G===null||typeof G!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof G);return j("/",G)},parse:function(G){s(G);var n={root:"",dir:"",base:"",ext:"",name:""};if(G.length===0)return n;var f=G.charCodeAt(0),b=f===47,e;b?(n.root="/",e=1):e=0;for(var r=-1,a=0,V0=-1,c=!0,Q0=G.length-1,N0=0;Q0>=e;--Q0){if(f=G.charCodeAt(Q0),f===47){if(!c){a=Q0+1;break}continue}V0===-1&&(c=!1,V0=Q0+1),f===46?r===-1?r=Q0:N0!==1&&(N0=1):r!==-1&&(N0=-1)}return r===-1||V0===-1||N0===0||N0===1&&r===V0-1&&r===a+1?V0!==-1&&(a===0&&b?n.base=n.name=G.slice(1,V0):n.base=n.name=G.slice(a,V0)):(a===0&&b?(n.name=G.slice(1,r),n.base=G.slice(1,V0)):(n.name=G.slice(a,r),n.base=G.slice(a,V0)),n.ext=G.slice(r,V0)),a>0?n.dir=G.slice(0,a-1):b&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};Z.posix=Z,l.exports=Z}),eR={};AE(eR,{default:()=>aR});HE(eR,dR(bR()));aR=dR(bR())});var QK={};tR(QK,{webcrypto:()=>{{return vU}},timingSafeEqual:()=>{{return MY}},scryptSync:()=>{{return iQ}},scrypt:()=>{{return tQ}},randomUUID:()=>{{return IU}},getRandomValues:()=>{{return wU}},getCurves:()=>{{return qU}},default:()=>{{return YK}},DEFAULT_ENCODING:()=>{{return IX}}});var qU,xE,mQ,yE,wE,IE,qE,$U,k6,uQ,kQ,TU,cT,e4,vE,jE,H3,_7,qX,e1,ZX,$_,lQ,kE,T_,vX,X_,Y_,Q_,yX,XU,OY,VU,pQ,YU,pE,mE,W_,N_,uE,lE,sE,U_,QU,WU,jX,oE,nE,J_,rE,S_,hE,NU,i9,dV,UU,X4,sQ,cR,eV,R_,VX,$X,TX,gE,kX,JU,SU,iE,RU,__,oQ,K_,tE,bV,P_,O_,_U,fE,G_,dE,Z_,KU,M_,bE,ST,LY,eE,L_,D_,z_,aE,F_,E_,B_,C_,cE,A_,H_,a4,PU,x_,ZB,VB,$B,TB,XB,DY,YB,QB,WB,NB,UB,y_,V_,w_,OU,nQ,JB,I_,q_,rQ,SB,RB,GU,_B,KB,XX,v_,PB,OB,MU,j_,k_,GB,MB,LB,p_,DB,m_,pX,u_,l_,wX,LU,zB,FB,s_,o_,EB,BB,CB,DU,zU,AB,aV,n_,c4,hQ,HB,xB,yB,r_,YV,zY,h_,wB,g_,IB,i_,qB,vB,jB,kB,FU,pB,EU,mB,uB,lB,sB,oB,nB,rB,BU,t_,CU,AU,GY,HU,xU,f_,hB,d_,b_,gB,e_,iB,tB,fB,a_,dB,bB,eB,aB,gQ,c_,cB,ZC,VC,$C,TC,ZK,VK,yU,$K,XC,YC,QC,WC,TK,XK,NC,IX,wU,IU,UC,MY,iQ,tQ,vU,YK;var WK=fR(()=>{qU=function(){return UC},xE=Object.create,mQ=Object.defineProperty,yE=Object.getOwnPropertyDescriptor,wE=Object.getOwnPropertyNames,IE=Object.getPrototypeOf,qE=Object.prototype.hasOwnProperty,$U=(v,l)=>()=>(v&&(l=v(v=0)),l),k6=(v,l)=>()=>(l||v((l={exports:{}}).exports,l),l.exports),uQ=(v,l)=>{for(var s in l)mQ(v,s,{get:l[s],enumerable:!0})},kQ=(v,l,s,N)=>{if(l&&typeof l=="object"||typeof l=="function")for(let j of wE(l))!qE.call(v,j)&&j!==s&&mQ(v,j,{get:()=>l[j],enumerable:!(N=yE(l,j))||N.enumerable});return v},TU=(v,l,s)=>(kQ(v,l,"default"),s&&kQ(s,l,"default")),cT=(v,l,s)=>(s=v!=null?xE(IE(v)):{},kQ(l||!v||!v.__esModule?mQ(s,"default",{value:v,enumerable:!0}):s,v)),e4=(v)=>kQ(mQ({},"__esModule",{value:!0}),v),vE=k6((v)=>{v.byteLength=f,v.toByteArray=e,v.fromByteArray=V0;var l=[],s=[],N=typeof Uint8Array<"u"?Uint8Array:Array,j="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Z=0,G=j.length;Z0)throw new Error("Invalid string. Length must be a multiple of 4");var N0=c.indexOf("=");N0===-1&&(N0=Q0);var G0=N0===Q0?0:4-N0%4;return[N0,G0]}function f(c){var Q0=n(c),N0=Q0[0],G0=Q0[1];return(N0+G0)*3/4-G0}function b(c,Q0,N0){return(Q0+N0)*3/4-N0}function e(c){var Q0,N0=n(c),G0=N0[0],J0=N0[1],P0=new N(b(c,G0,J0)),L0=0,A0=J0>0?G0-4:G0,w0;for(w0=0;w0>16&255,P0[L0++]=Q0>>8&255,P0[L0++]=Q0&255;return J0===2&&(Q0=s[c.charCodeAt(w0)]<<2|s[c.charCodeAt(w0+1)]>>4,P0[L0++]=Q0&255),J0===1&&(Q0=s[c.charCodeAt(w0)]<<10|s[c.charCodeAt(w0+1)]<<4|s[c.charCodeAt(w0+2)]>>2,P0[L0++]=Q0>>8&255,P0[L0++]=Q0&255),P0}function r(c){return l[c>>18&63]+l[c>>12&63]+l[c>>6&63]+l[c&63]}function a(c,Q0,N0){for(var G0,J0=[],P0=Q0;P0A0?A0:L0+P0));return G0===1?(Q0=c[N0-1],J0.push(l[Q0>>2]+l[Q0<<4&63]+"==")):G0===2&&(Q0=(c[N0-2]<<8)+c[N0-1],J0.push(l[Q0>>10]+l[Q0>>4&63]+l[Q0<<2&63]+"=")),J0.join("")}}),jE=k6((v)=>{v.read=function(l,s,N,j,Z){var G,n,f=Z*8-j-1,b=(1<>1,r=-7,a=N?Z-1:0,V0=N?-1:1,c=l[s+a];for(a+=V0,G=c&(1<<-r)-1,c>>=-r,r+=f;r>0;G=G*256+l[s+a],a+=V0,r-=8);for(n=G&(1<<-r)-1,G>>=-r,r+=j;r>0;n=n*256+l[s+a],a+=V0,r-=8);if(G===0)G=1-e;else{if(G===b)return n?NaN:(c?-1:1)*Infinity;n=n+Math.pow(2,j),G=G-e}return(c?-1:1)*n*Math.pow(2,G-j)},v.write=function(l,s,N,j,Z,G){var n,f,b,e=G*8-Z-1,r=(1<>1,V0=Z===23?Math.pow(2,-24)-Math.pow(2,-77):0,c=j?0:G-1,Q0=j?1:-1,N0=s<0||s===0&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===Infinity?(f=isNaN(s)?1:0,n=r):(n=Math.floor(Math.log(s)/Math.LN2),s*(b=Math.pow(2,-n))<1&&(n--,b*=2),n+a>=1?s+=V0/b:s+=V0*Math.pow(2,1-a),s*b>=2&&(n++,b/=2),n+a>=r?(f=0,n=r):n+a>=1?(f=(s*b-1)*Math.pow(2,Z),n=n+a):(f=s*Math.pow(2,a-1)*Math.pow(2,Z),n=0));Z>=8;l[N+c]=f&255,c+=Q0,f/=256,Z-=8);for(n=n<0;l[N+c]=n&255,c+=Q0,n/=256,e-=8);l[N+c-Q0]|=N0*128}}),H3=k6((v)=>{var l=vE(),s=jE(),N=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;v.Buffer=n,v.SlowBuffer=J0,v.INSPECT_MAX_BYTES=50;var j=2147483647;v.kMaxLength=j,n.TYPED_ARRAY_SUPPORT=Z(),!n.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Z(){try{let $0=new Uint8Array(1),R0={foo:function(){return 42}};return Object.setPrototypeOf(R0,Uint8Array.prototype),Object.setPrototypeOf($0,R0),$0.foo()===42}catch{return!1}}Object.defineProperty(n.prototype,"parent",{enumerable:!0,get:function(){if(n.isBuffer(this))return this.buffer}}),Object.defineProperty(n.prototype,"offset",{enumerable:!0,get:function(){if(n.isBuffer(this))return this.byteOffset}});function G($0){if($0>j)throw new RangeError('The value "'+$0+'" is invalid for option "size"');let R0=new Uint8Array($0);return Object.setPrototypeOf(R0,n.prototype),R0}function n($0,R0,v0){if(typeof $0=="number"){if(typeof R0=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return r($0)}return f($0,R0,v0)}n.poolSize=8192;function f($0,R0,v0){if(typeof $0=="string")return a($0,R0);if(ArrayBuffer.isView($0))return c($0);if($0==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof $0);if(j6($0,ArrayBuffer)||$0&&j6($0.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(j6($0,SharedArrayBuffer)||$0&&j6($0.buffer,SharedArrayBuffer)))return Q0($0,R0,v0);if(typeof $0=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let s0=$0.valueOf&&$0.valueOf();if(s0!=null&&s0!==$0)return n.from(s0,R0,v0);let l0=N0($0);if(l0)return l0;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof $0[Symbol.toPrimitive]=="function")return n.from($0[Symbol.toPrimitive]("string"),R0,v0);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof $0)}n.from=function($0,R0,v0){return f($0,R0,v0)},Object.setPrototypeOf(n.prototype,Uint8Array.prototype),Object.setPrototypeOf(n,Uint8Array);function b($0){if(typeof $0!="number")throw new TypeError('"size" argument must be of type number');if($0<0)throw new RangeError('The value "'+$0+'" is invalid for option "size"')}function e($0,R0,v0){return b($0),$0<=0?G($0):R0!==void 0?typeof v0=="string"?G($0).fill(R0,v0):G($0).fill(R0):G($0)}n.alloc=function($0,R0,v0){return e($0,R0,v0)};function r($0){return b($0),G($0<0?0:G0($0)|0)}n.allocUnsafe=function($0){return r($0)},n.allocUnsafeSlow=function($0){return r($0)};function a($0,R0){if((typeof R0!="string"||R0==="")&&(R0="utf8"),!n.isEncoding(R0))throw new TypeError("Unknown encoding: "+R0);let v0=P0($0,R0)|0,s0=G(v0),l0=s0.write($0,R0);return l0!==v0&&(s0=s0.slice(0,l0)),s0}function V0($0){let R0=$0.length<0?0:G0($0.length)|0,v0=G(R0);for(let s0=0;s0=j)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+j.toString(16)+" bytes");return $0|0}function J0($0){return+$0!=$0&&($0=0),n.alloc(+$0)}n.isBuffer=function($0){return $0!=null&&$0._isBuffer===!0&&$0!==n.prototype},n.compare=function($0,R0){if(j6($0,Uint8Array)&&($0=n.from($0,$0.offset,$0.byteLength)),j6(R0,Uint8Array)&&(R0=n.from(R0,R0.offset,R0.byteLength)),!n.isBuffer($0)||!n.isBuffer(R0))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if($0===R0)return 0;let v0=$0.length,s0=R0.length;for(let l0=0,$8=Math.min(v0,s0);l0<$8;++l0)if($0[l0]!==R0[l0]){v0=$0[l0],s0=R0[l0];break}return v0s0.length?(n.isBuffer($8)||($8=n.from($8)),$8.copy(s0,l0)):Uint8Array.prototype.set.call(s0,$8,l0);else if(n.isBuffer($8))$8.copy(s0,l0);else throw new TypeError('"list" argument must be an Array of Buffers');l0+=$8.length}return s0};function P0($0,R0){if(n.isBuffer($0))return $0.length;if(ArrayBuffer.isView($0)||j6($0,ArrayBuffer))return $0.byteLength;if(typeof $0!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof $0);let v0=$0.length,s0=arguments.length>2&&arguments[2]===!0;if(!s0&&v0===0)return 0;let l0=!1;for(;;)switch(R0){case"ascii":case"latin1":case"binary":return v0;case"utf8":case"utf-8":return _6($0).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return v0*2;case"hex":return v0>>>1;case"base64":return s8($0).length;default:if(l0)return s0?-1:_6($0).length;R0=(""+R0).toLowerCase(),l0=!0}}n.byteLength=P0;function L0($0,R0,v0){let s0=!1;if((R0===void 0||R0<0)&&(R0=0),R0>this.length||((v0===void 0||v0>this.length)&&(v0=this.length),v0<=0)||(v0>>>=0,R0>>>=0,v0<=R0))return"";for($0||($0="utf8");;)switch($0){case"hex":return x(this,R0,v0);case"utf8":case"utf-8":return B(this,R0,v0);case"ascii":return o(this,R0,v0);case"latin1":case"binary":return h(this,R0,v0);case"base64":return D(this,R0,v0);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M(this,R0,v0);default:if(s0)throw new TypeError("Unknown encoding: "+$0);$0=($0+"").toLowerCase(),s0=!0}}n.prototype._isBuffer=!0;function A0($0,R0,v0){let s0=$0[R0];$0[R0]=$0[v0],$0[v0]=s0}n.prototype.swap16=function(){let $0=this.length;if($0%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let R0=0;R0<$0;R0+=2)A0(this,R0,R0+1);return this},n.prototype.swap32=function(){let $0=this.length;if($0%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let R0=0;R0<$0;R0+=4)A0(this,R0,R0+3),A0(this,R0+1,R0+2);return this},n.prototype.swap64=function(){let $0=this.length;if($0%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let R0=0;R0<$0;R0+=8)A0(this,R0,R0+7),A0(this,R0+1,R0+6),A0(this,R0+2,R0+5),A0(this,R0+3,R0+4);return this},n.prototype.toString=function(){let $0=this.length;return $0===0?"":arguments.length===0?B(this,0,$0):L0.apply(this,arguments)},n.prototype.toLocaleString=n.prototype.toString,n.prototype.equals=function($0){if(!n.isBuffer($0))throw new TypeError("Argument must be a Buffer");return this===$0?!0:n.compare(this,$0)===0},n.prototype.inspect=function(){let $0="",R0=v.INSPECT_MAX_BYTES;return $0=this.toString("hex",0,R0).replace(/(.{2})/g,"$1 ").trim(),this.length>R0&&($0+=" ... "),""},N&&(n.prototype[N]=n.prototype.inspect),n.prototype.compare=function($0,R0,v0,s0,l0){if(j6($0,Uint8Array)&&($0=n.from($0,$0.offset,$0.byteLength)),!n.isBuffer($0))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof $0);if(R0===void 0&&(R0=0),v0===void 0&&(v0=$0?$0.length:0),s0===void 0&&(s0=0),l0===void 0&&(l0=this.length),R0<0||v0>$0.length||s0<0||l0>this.length)throw new RangeError("out of range index");if(s0>=l0&&R0>=v0)return 0;if(s0>=l0)return-1;if(R0>=v0)return 1;if(R0>>>=0,v0>>>=0,s0>>>=0,l0>>>=0,this===$0)return 0;let $8=l0-s0,z6=v0-R0,g6=Math.min($8,z6),f1=this.slice(s0,l0),e6=$0.slice(R0,v0);for(let d6=0;d62147483647?v0=2147483647:v0<-2147483648&&(v0=-2147483648),v0=+v0,h2(v0)&&(v0=l0?0:$0.length-1),v0<0&&(v0=$0.length+v0),v0>=$0.length){if(l0)return-1;v0=$0.length-1}else if(v0<0)if(l0)v0=0;else return-1;if(typeof R0=="string"&&(R0=n.from(R0,s0)),n.isBuffer(R0))return R0.length===0?-1:a0($0,R0,v0,s0,l0);if(typeof R0=="number")return R0=R0&255,typeof Uint8Array.prototype.indexOf=="function"?l0?Uint8Array.prototype.indexOf.call($0,R0,v0):Uint8Array.prototype.lastIndexOf.call($0,R0,v0):a0($0,[R0],v0,s0,l0);throw new TypeError("val must be string, number or Buffer")}function a0($0,R0,v0,s0,l0){let $8=1,z6=$0.length,g6=R0.length;if(s0!==void 0&&(s0=String(s0).toLowerCase(),s0==="ucs2"||s0==="ucs-2"||s0==="utf16le"||s0==="utf-16le")){if($0.length<2||R0.length<2)return-1;$8=2,z6/=2,g6/=2,v0/=2}function f1(d6,k1){return $8===1?d6[k1]:d6.readUInt16BE(k1*$8)}let e6;if(l0){let d6=-1;for(e6=v0;e6z6&&(v0=z6-g6),e6=v0;e6>=0;e6--){let d6=!0;for(let k1=0;k1l0&&(s0=l0)):s0=l0;let $8=R0.length;s0>$8/2&&(s0=$8/2);let z6;for(z6=0;z6>>0,isFinite(v0)?(v0=v0>>>0,s0===void 0&&(s0="utf8")):(s0=v0,v0=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let l0=this.length-R0;if((v0===void 0||v0>l0)&&(v0=l0),$0.length>0&&(v0<0||R0<0)||R0>this.length)throw new RangeError("Attempt to write outside buffer bounds");s0||(s0="utf8");let $8=!1;for(;;)switch(s0){case"hex":return Y6(this,$0,R0,v0);case"utf8":case"utf-8":return D6(this,$0,R0,v0);case"ascii":case"latin1":case"binary":return b0(this,$0,R0,v0);case"base64":return l6(this,$0,R0,v0);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,$0,R0,v0);default:if($8)throw new TypeError("Unknown encoding: "+s0);s0=(""+s0).toLowerCase(),$8=!0}},n.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function D($0,R0,v0){return R0===0&&v0===$0.length?l.fromByteArray($0):l.fromByteArray($0.slice(R0,v0))}function B($0,R0,v0){v0=Math.min($0.length,v0);let s0=[],l0=R0;for(;l0239?4:$8>223?3:$8>191?2:1;if(l0+g6<=v0){let f1,e6,d6,k1;switch(g6){case 1:$8<128&&(z6=$8);break;case 2:f1=$0[l0+1],(f1&192)===128&&(k1=($8&31)<<6|f1&63,k1>127&&(z6=k1));break;case 3:f1=$0[l0+1],e6=$0[l0+2],(f1&192)===128&&(e6&192)===128&&(k1=($8&15)<<12|(f1&63)<<6|e6&63,k1>2047&&(k1<55296||k1>57343)&&(z6=k1));break;case 4:f1=$0[l0+1],e6=$0[l0+2],d6=$0[l0+3],(f1&192)===128&&(e6&192)===128&&(d6&192)===128&&(k1=($8&15)<<18|(f1&63)<<12|(e6&63)<<6|d6&63,k1>65535&&k1<1114112&&(z6=k1))}}z6===null?(z6=65533,g6=1):z6>65535&&(z6-=65536,s0.push(z6>>>10&1023|55296),z6=56320|z6&1023),s0.push(z6),l0+=g6}return w(s0)}var E=4096;function w($0){let R0=$0.length;if(R0<=E)return String.fromCharCode.apply(String,$0);let v0="",s0=0;for(;s0s0)&&(v0=s0);let l0="";for(let $8=R0;$8v0&&($0=v0),R0<0?(R0+=v0,R0<0&&(R0=0)):R0>v0&&(R0=v0),R0<$0&&(R0=$0);let s0=this.subarray($0,R0);return Object.setPrototypeOf(s0,n.prototype),s0};function p($0,R0,v0){if($0%1!==0||$0<0)throw new RangeError("offset is not uint");if($0+R0>v0)throw new RangeError("Trying to access beyond buffer length")}n.prototype.readUintLE=n.prototype.readUIntLE=function($0,R0,v0){$0=$0>>>0,R0=R0>>>0,v0||p($0,R0,this.length);let s0=this[$0],l0=1,$8=0;for(;++$8>>0,R0=R0>>>0,v0||p($0,R0,this.length);let s0=this[$0+--R0],l0=1;for(;R0>0&&(l0*=256);)s0+=this[$0+--R0]*l0;return s0},n.prototype.readUint8=n.prototype.readUInt8=function($0,R0){return $0=$0>>>0,R0||p($0,1,this.length),this[$0]},n.prototype.readUint16LE=n.prototype.readUInt16LE=function($0,R0){return $0=$0>>>0,R0||p($0,2,this.length),this[$0]|this[$0+1]<<8},n.prototype.readUint16BE=n.prototype.readUInt16BE=function($0,R0){return $0=$0>>>0,R0||p($0,2,this.length),this[$0]<<8|this[$0+1]},n.prototype.readUint32LE=n.prototype.readUInt32LE=function($0,R0){return $0=$0>>>0,R0||p($0,4,this.length),(this[$0]|this[$0+1]<<8|this[$0+2]<<16)+this[$0+3]*16777216},n.prototype.readUint32BE=n.prototype.readUInt32BE=function($0,R0){return $0=$0>>>0,R0||p($0,4,this.length),this[$0]*16777216+(this[$0+1]<<16|this[$0+2]<<8|this[$0+3])},n.prototype.readBigUInt64LE=n6(function($0){$0=$0>>>0,I6($0,"offset");let R0=this[$0],v0=this[$0+7];(R0===void 0||v0===void 0)&&z0($0,this.length-8);let s0=R0+this[++$0]*256+this[++$0]*65536+this[++$0]*16777216,l0=this[++$0]+this[++$0]*256+this[++$0]*65536+v0*16777216;return BigInt(s0)+(BigInt(l0)<>>0,I6($0,"offset");let R0=this[$0],v0=this[$0+7];(R0===void 0||v0===void 0)&&z0($0,this.length-8);let s0=R0*16777216+this[++$0]*65536+this[++$0]*256+this[++$0],l0=this[++$0]*16777216+this[++$0]*65536+this[++$0]*256+v0;return(BigInt(s0)<>>0,R0=R0>>>0,v0||p($0,R0,this.length);let s0=this[$0],l0=1,$8=0;for(;++$8=l0&&(s0-=Math.pow(2,8*R0)),s0},n.prototype.readIntBE=function($0,R0,v0){$0=$0>>>0,R0=R0>>>0,v0||p($0,R0,this.length);let s0=R0,l0=1,$8=this[$0+--s0];for(;s0>0&&(l0*=256);)$8+=this[$0+--s0]*l0;return l0*=128,$8>=l0&&($8-=Math.pow(2,8*R0)),$8},n.prototype.readInt8=function($0,R0){return $0=$0>>>0,R0||p($0,1,this.length),this[$0]&128?(255-this[$0]+1)*-1:this[$0]},n.prototype.readInt16LE=function($0,R0){$0=$0>>>0,R0||p($0,2,this.length);let v0=this[$0]|this[$0+1]<<8;return v0&32768?v0|4294901760:v0},n.prototype.readInt16BE=function($0,R0){$0=$0>>>0,R0||p($0,2,this.length);let v0=this[$0+1]|this[$0]<<8;return v0&32768?v0|4294901760:v0},n.prototype.readInt32LE=function($0,R0){return $0=$0>>>0,R0||p($0,4,this.length),this[$0]|this[$0+1]<<8|this[$0+2]<<16|this[$0+3]<<24},n.prototype.readInt32BE=function($0,R0){return $0=$0>>>0,R0||p($0,4,this.length),this[$0]<<24|this[$0+1]<<16|this[$0+2]<<8|this[$0+3]},n.prototype.readBigInt64LE=n6(function($0){$0=$0>>>0,I6($0,"offset");let R0=this[$0],v0=this[$0+7];(R0===void 0||v0===void 0)&&z0($0,this.length-8);let s0=this[$0+4]+this[$0+5]*256+this[$0+6]*65536+(v0<<24);return(BigInt(s0)<>>0,I6($0,"offset");let R0=this[$0],v0=this[$0+7];(R0===void 0||v0===void 0)&&z0($0,this.length-8);let s0=(R0<<24)+this[++$0]*65536+this[++$0]*256+this[++$0];return(BigInt(s0)<>>0,R0||p($0,4,this.length),s.read(this,$0,!0,23,4)},n.prototype.readFloatBE=function($0,R0){return $0=$0>>>0,R0||p($0,4,this.length),s.read(this,$0,!1,23,4)},n.prototype.readDoubleLE=function($0,R0){return $0=$0>>>0,R0||p($0,8,this.length),s.read(this,$0,!0,52,8)},n.prototype.readDoubleBE=function($0,R0){return $0=$0>>>0,R0||p($0,8,this.length),s.read(this,$0,!1,52,8)};function K0($0,R0,v0,s0,l0,$8){if(!n.isBuffer($0))throw new TypeError('"buffer" argument must be a Buffer instance');if(R0>l0||R0<$8)throw new RangeError('"value" argument is out of bounds');if(v0+s0>$0.length)throw new RangeError("Index out of range")}n.prototype.writeUintLE=n.prototype.writeUIntLE=function($0,R0,v0,s0){if($0=+$0,R0=R0>>>0,v0=v0>>>0,!s0){let z6=Math.pow(2,8*v0)-1;K0(this,$0,R0,v0,z6,0)}let l0=1,$8=0;for(this[R0]=$0&255;++$8>>0,v0=v0>>>0,!s0){let z6=Math.pow(2,8*v0)-1;K0(this,$0,R0,v0,z6,0)}let l0=v0-1,$8=1;for(this[R0+l0]=$0&255;--l0>=0&&($8*=256);)this[R0+l0]=$0/$8&255;return R0+v0},n.prototype.writeUint8=n.prototype.writeUInt8=function($0,R0,v0){return $0=+$0,R0=R0>>>0,v0||K0(this,$0,R0,1,255,0),this[R0]=$0&255,R0+1},n.prototype.writeUint16LE=n.prototype.writeUInt16LE=function($0,R0,v0){return $0=+$0,R0=R0>>>0,v0||K0(this,$0,R0,2,65535,0),this[R0]=$0&255,this[R0+1]=$0>>>8,R0+2},n.prototype.writeUint16BE=n.prototype.writeUInt16BE=function($0,R0,v0){return $0=+$0,R0=R0>>>0,v0||K0(this,$0,R0,2,65535,0),this[R0]=$0>>>8,this[R0+1]=$0&255,R0+2},n.prototype.writeUint32LE=n.prototype.writeUInt32LE=function($0,R0,v0){return $0=+$0,R0=R0>>>0,v0||K0(this,$0,R0,4,4294967295,0),this[R0+3]=$0>>>24,this[R0+2]=$0>>>16,this[R0+1]=$0>>>8,this[R0]=$0&255,R0+4},n.prototype.writeUint32BE=n.prototype.writeUInt32BE=function($0,R0,v0){return $0=+$0,R0=R0>>>0,v0||K0(this,$0,R0,4,4294967295,0),this[R0]=$0>>>24,this[R0+1]=$0>>>16,this[R0+2]=$0>>>8,this[R0+3]=$0&255,R0+4};function U0($0,R0,v0,s0,l0){K6(R0,s0,l0,$0,v0,7);let $8=Number(R0&BigInt(4294967295));$0[v0++]=$8,$8=$8>>8,$0[v0++]=$8,$8=$8>>8,$0[v0++]=$8,$8=$8>>8,$0[v0++]=$8;let z6=Number(R0>>BigInt(32)&BigInt(4294967295));return $0[v0++]=z6,z6=z6>>8,$0[v0++]=z6,z6=z6>>8,$0[v0++]=z6,z6=z6>>8,$0[v0++]=z6,v0}function M0($0,R0,v0,s0,l0){K6(R0,s0,l0,$0,v0,7);let $8=Number(R0&BigInt(4294967295));$0[v0+7]=$8,$8=$8>>8,$0[v0+6]=$8,$8=$8>>8,$0[v0+5]=$8,$8=$8>>8,$0[v0+4]=$8;let z6=Number(R0>>BigInt(32)&BigInt(4294967295));return $0[v0+3]=z6,z6=z6>>8,$0[v0+2]=z6,z6=z6>>8,$0[v0+1]=z6,z6=z6>>8,$0[v0]=z6,v0+8}n.prototype.writeBigUInt64LE=n6(function($0,R0=0){return U0(this,$0,R0,BigInt(0),BigInt("0xffffffffffffffff"))}),n.prototype.writeBigUInt64BE=n6(function($0,R0=0){return M0(this,$0,R0,BigInt(0),BigInt("0xffffffffffffffff"))}),n.prototype.writeIntLE=function($0,R0,v0,s0){if($0=+$0,R0=R0>>>0,!s0){let g6=Math.pow(2,8*v0-1);K0(this,$0,R0,v0,g6-1,-g6)}let l0=0,$8=1,z6=0;for(this[R0]=$0&255;++l0>0)-z6&255;return R0+v0},n.prototype.writeIntBE=function($0,R0,v0,s0){if($0=+$0,R0=R0>>>0,!s0){let g6=Math.pow(2,8*v0-1);K0(this,$0,R0,v0,g6-1,-g6)}let l0=v0-1,$8=1,z6=0;for(this[R0+l0]=$0&255;--l0>=0&&($8*=256);)$0<0&&z6===0&&this[R0+l0+1]!==0&&(z6=1),this[R0+l0]=($0/$8>>0)-z6&255;return R0+v0},n.prototype.writeInt8=function($0,R0,v0){return $0=+$0,R0=R0>>>0,v0||K0(this,$0,R0,1,127,-128),$0<0&&($0=255+$0+1),this[R0]=$0&255,R0+1},n.prototype.writeInt16LE=function($0,R0,v0){return $0=+$0,R0=R0>>>0,v0||K0(this,$0,R0,2,32767,-32768),this[R0]=$0&255,this[R0+1]=$0>>>8,R0+2},n.prototype.writeInt16BE=function($0,R0,v0){return $0=+$0,R0=R0>>>0,v0||K0(this,$0,R0,2,32767,-32768),this[R0]=$0>>>8,this[R0+1]=$0&255,R0+2},n.prototype.writeInt32LE=function($0,R0,v0){return $0=+$0,R0=R0>>>0,v0||K0(this,$0,R0,4,2147483647,-2147483648),this[R0]=$0&255,this[R0+1]=$0>>>8,this[R0+2]=$0>>>16,this[R0+3]=$0>>>24,R0+4},n.prototype.writeInt32BE=function($0,R0,v0){return $0=+$0,R0=R0>>>0,v0||K0(this,$0,R0,4,2147483647,-2147483648),$0<0&&($0=4294967295+$0+1),this[R0]=$0>>>24,this[R0+1]=$0>>>16,this[R0+2]=$0>>>8,this[R0+3]=$0&255,R0+4},n.prototype.writeBigInt64LE=n6(function($0,R0=0){return U0(this,$0,R0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),n.prototype.writeBigInt64BE=n6(function($0,R0=0){return M0(this,$0,R0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function f0($0,R0,v0,s0,l0,$8){if(v0+s0>$0.length)throw new RangeError("Index out of range");if(v0<0)throw new RangeError("Index out of range")}function X6($0,R0,v0,s0,l0){return R0=+R0,v0=v0>>>0,l0||f0($0,R0,v0,4,340282346638528860000000000000000000000,-340282346638528860000000000000000000000),s.write($0,R0,v0,s0,23,4),v0+4}n.prototype.writeFloatLE=function($0,R0,v0){return X6(this,$0,R0,!0,v0)},n.prototype.writeFloatBE=function($0,R0,v0){return X6(this,$0,R0,!1,v0)};function O6($0,R0,v0,s0,l0){return R0=+R0,v0=v0>>>0,l0||f0($0,R0,v0,8,179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,-179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),s.write($0,R0,v0,s0,52,8),v0+8}n.prototype.writeDoubleLE=function($0,R0,v0){return O6(this,$0,R0,!0,v0)},n.prototype.writeDoubleBE=function($0,R0,v0){return O6(this,$0,R0,!1,v0)},n.prototype.copy=function($0,R0,v0,s0){if(!n.isBuffer($0))throw new TypeError("argument should be a Buffer");if(v0||(v0=0),!s0&&s0!==0&&(s0=this.length),R0>=$0.length&&(R0=$0.length),R0||(R0=0),s0>0&&s0=this.length)throw new RangeError("Index out of range");if(s0<0)throw new RangeError("sourceEnd out of bounds");s0>this.length&&(s0=this.length),$0.length-R0>>0,v0=v0===void 0?this.length:v0>>>0,$0||($0=0);let l0;if(typeof $0=="number")for(l0=R0;l04294967296?l0=d0(String(v0)):typeof v0=="bigint"&&(l0=String(v0),(v0>BigInt(2)**BigInt(32)||v0<-(BigInt(2)**BigInt(32)))&&(l0=d0(l0)),l0+="n"),s0+=` It must be ${R0}. Received ${l0}`,s0},RangeError);function d0($0){let R0="",v0=$0.length,s0=$0[0]==="-"?1:0;for(;v0>=s0+4;v0-=3)R0=`_${$0.slice(v0-3,v0)}${R0}`;return`${$0.slice(0,v0)}${R0}`}function c6($0,R0,v0){I6(R0,"offset"),($0[R0]===void 0||$0[R0+v0]===void 0)&&z0(R0,$0.length-(v0+1))}function K6($0,R0,v0,s0,l0,$8){if($0>v0||$03?R0===0||R0===BigInt(0)?g6=`>= 0${z6} and < 2${z6} ** ${($8+1)*8}${z6}`:g6=`>= -(2${z6} ** ${($8+1)*8-1}${z6}) and < 2 ** ${($8+1)*8-1}${z6}`:g6=`>= ${R0}${z6} and <= ${v0}${z6}`,new r0.ERR_OUT_OF_RANGE("value",g6,$0)}c6(s0,l0,$8)}function I6($0,R0){if(typeof $0!="number")throw new r0.ERR_INVALID_ARG_TYPE(R0,"number",$0)}function z0($0,R0,v0){throw Math.floor($0)!==$0?(I6($0,v0),new r0.ERR_OUT_OF_RANGE(v0||"offset","an integer",$0)):R0<0?new r0.ERR_BUFFER_OUT_OF_BOUNDS:new r0.ERR_OUT_OF_RANGE(v0||"offset",`>= ${v0?1:0} and <= ${R0}`,$0)}var S0=/[^+/0-9A-Za-z-_]/g;function x0($0){if($0=$0.split("=")[0],$0=$0.trim().replace(S0,""),$0.length<2)return"";for(;$0.length%4!==0;)$0=$0+"=";return $0}function _6($0,R0){R0=R0||Infinity;let v0,s0=$0.length,l0=null,$8=[];for(let z6=0;z655295&&v0<57344){if(!l0){if(v0>56319){(R0-=3)>-1&&$8.push(239,191,189);continue}else if(z6+1===s0){(R0-=3)>-1&&$8.push(239,191,189);continue}l0=v0;continue}if(v0<56320){(R0-=3)>-1&&$8.push(239,191,189),l0=v0;continue}v0=(l0-55296<<10|v0-56320)+65536}else l0&&(R0-=3)>-1&&$8.push(239,191,189);if(l0=null,v0<128){if((R0-=1)<0)break;$8.push(v0)}else if(v0<2048){if((R0-=2)<0)break;$8.push(v0>>6|192,v0&63|128)}else if(v0<65536){if((R0-=3)<0)break;$8.push(v0>>12|224,v0>>6&63|128,v0&63|128)}else if(v0<1114112){if((R0-=4)<0)break;$8.push(v0>>18|240,v0>>12&63|128,v0>>6&63|128,v0&63|128)}else throw new Error("Invalid code point")}return $8}function P6($0){let R0=[];for(let v0=0;v0<$0.length;++v0)R0.push($0.charCodeAt(v0)&255);return R0}function R6($0,R0){let v0,s0,l0,$8=[];for(let z6=0;z6<$0.length&&!((R0-=2)<0);++z6)v0=$0.charCodeAt(z6),s0=v0>>8,l0=v0%256,$8.push(l0),$8.push(s0);return $8}function s8($0){return l.toByteArray(x0($0))}function v6($0,R0,v0,s0){let l0;for(l0=0;l0=R0.length||l0>=$0.length);++l0)R0[l0+v0]=$0[l0];return l0}function j6($0,R0){return $0 instanceof R0||$0!=null&&$0.constructor!=null&&$0.constructor.name!=null&&$0.constructor.name===R0.name}function h2($0){return $0!==$0}var b6=function(){let $0="0123456789abcdef",R0=new Array(256);for(let v0=0;v0<16;++v0){let s0=v0*16;for(let l0=0;l0<16;++l0)R0[s0+l0]=$0[v0]+$0[l0]}return R0}();function n6($0){return typeof BigInt>"u"?a1:$0}function a1(){throw new Error("BigInt not supported")}}),_7=k6((v,l)=>{var s=H3(),N=s.Buffer;function j(G,n){for(var f in G)n[f]=G[f]}N.from&&N.alloc&&N.allocUnsafe&&N.allocUnsafeSlow?l.exports=s:(j(s,v),v.Buffer=Z);function Z(G,n,f){return N(G,n,f)}Z.prototype=Object.create(N.prototype),j(N,Z),Z.from=function(G,n,f){if(typeof G=="number")throw new TypeError("Argument must not be a number");return N(G,n,f)},Z.alloc=function(G,n,f){if(typeof G!="number")throw new TypeError("Argument must be a number");var b=N(G);return n!==void 0?typeof f=="string"?b.fill(n,f):b.fill(n):b.fill(0),b},Z.allocUnsafe=function(G){if(typeof G!="number")throw new TypeError("Argument must be a number");return N(G)},Z.allocUnsafeSlow=function(G){if(typeof G!="number")throw new TypeError("Argument must be a number");return s.SlowBuffer(G)}}),qX=k6((v,l)=>{var s=65536,N=4294967295;function j(){throw new Error(`Secure random number generation is not supported by this browser. +Use Chrome, Firefox or Internet Explorer 11`)}var Z=_7().Buffer,G=global.crypto||global.msCrypto;G&&G.getRandomValues?l.exports=n:l.exports=j;function n(f,b){if(f>N)throw new RangeError("requested too many random bytes");var e=Z.allocUnsafe(f);if(f>0)if(f>s)for(var r=0;r{typeof Object.create=="function"?l.exports=function(s,N){N&&(s.super_=N,s.prototype=Object.create(N.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}))}:l.exports=function(s,N){if(N){s.super_=N;var j=function(){};j.prototype=N.prototype,s.prototype=new j,s.prototype.constructor=s}}}),ZX=k6((v,l)=>{var s=typeof Reflect=="object"?Reflect:null,N=s&&typeof s.apply=="function"?s.apply:function(w0,a0,Y6){return Function.prototype.apply.call(w0,a0,Y6)},j;s&&typeof s.ownKeys=="function"?j=s.ownKeys:Object.getOwnPropertySymbols?j=function(w0){return Object.getOwnPropertyNames(w0).concat(Object.getOwnPropertySymbols(w0))}:j=function(w0){return Object.getOwnPropertyNames(w0)};function Z(w0){console&&console.warn&&console.warn(w0)}var G=Number.isNaN||function(w0){return w0!==w0};function n(){n.init.call(this)}l.exports=n,l.exports.once=P0,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._eventsCount=0,n.prototype._maxListeners=void 0;var f=10;function b(w0){if(typeof w0!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof w0)}Object.defineProperty(n,"defaultMaxListeners",{enumerable:!0,get:function(){return f},set:function(w0){if(typeof w0!="number"||w0<0||G(w0))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+w0+".");f=w0}}),n.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},n.prototype.setMaxListeners=function(w0){if(typeof w0!="number"||w0<0||G(w0))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+w0+".");return this._maxListeners=w0,this};function e(w0){return w0._maxListeners===void 0?n.defaultMaxListeners:w0._maxListeners}n.prototype.getMaxListeners=function(){return e(this)},n.prototype.emit=function(w0){for(var a0=[],Y6=1;Y60&&(l6=a0[0]),l6 instanceof Error)throw l6;var R=new Error("Unhandled error."+(l6?" ("+l6.message+")":""));throw R.context=l6,R}var D=b0[w0];if(D===void 0)return!1;if(typeof D=="function")N(D,this,a0);else for(var B=D.length,E=N0(D,B),Y6=0;Y60&&R.length>b0&&!R.warned){R.warned=!0;var D=new Error("Possible EventEmitter memory leak detected. "+R.length+" "+String(a0)+" listeners added. Use emitter.setMaxListeners() to increase limit");D.name="MaxListenersExceededWarning",D.emitter=w0,D.type=a0,D.count=R.length,Z(D)}return w0}n.prototype.addListener=function(w0,a0){return r(this,w0,a0,!1)},n.prototype.on=n.prototype.addListener,n.prototype.prependListener=function(w0,a0){return r(this,w0,a0,!0)};function a(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function V0(w0,a0,Y6){var D6={fired:!1,wrapFn:void 0,target:w0,type:a0,listener:Y6},b0=a.bind(D6);return b0.listener=Y6,D6.wrapFn=b0,b0}n.prototype.once=function(w0,a0){return b(a0),this.on(w0,V0(this,w0,a0)),this},n.prototype.prependOnceListener=function(w0,a0){return b(a0),this.prependListener(w0,V0(this,w0,a0)),this},n.prototype.removeListener=function(w0,a0){var Y6,D6,b0,l6,R;if(b(a0),D6=this._events,D6===void 0)return this;if(Y6=D6[w0],Y6===void 0)return this;if(Y6===a0||Y6.listener===a0)--this._eventsCount===0?this._events=Object.create(null):(delete D6[w0],D6.removeListener&&this.emit("removeListener",w0,Y6.listener||a0));else if(typeof Y6!="function"){for(b0=-1,l6=Y6.length-1;l6>=0;l6--)if(Y6[l6]===a0||Y6[l6].listener===a0){R=Y6[l6].listener,b0=l6;break}if(b0<0)return this;b0===0?Y6.shift():G0(Y6,b0),Y6.length===1&&(D6[w0]=Y6[0]),D6.removeListener!==void 0&&this.emit("removeListener",w0,R||a0)}return this},n.prototype.off=n.prototype.removeListener,n.prototype.removeAllListeners=function(w0){var a0,Y6,D6;if(Y6=this._events,Y6===void 0)return this;if(Y6.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):Y6[w0]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete Y6[w0]),this;if(arguments.length===0){var b0=Object.keys(Y6),l6;for(D6=0;D6=0;D6--)this.removeListener(w0,a0[D6]);return this};function c(w0,a0,Y6){var D6=w0._events;if(D6===void 0)return[];var b0=D6[a0];return b0===void 0?[]:typeof b0=="function"?Y6?[b0.listener||b0]:[b0]:Y6?J0(b0):N0(b0,b0.length)}n.prototype.listeners=function(w0){return c(this,w0,!0)},n.prototype.rawListeners=function(w0){return c(this,w0,!1)},n.listenerCount=function(w0,a0){return typeof w0.listenerCount=="function"?w0.listenerCount(a0):Q0.call(w0,a0)},n.prototype.listenerCount=Q0;function Q0(w0){var a0=this._events;if(a0!==void 0){var Y6=a0[w0];if(typeof Y6=="function")return 1;if(Y6!==void 0)return Y6.length}return 0}n.prototype.eventNames=function(){return this._eventsCount>0?j(this._events):[]};function N0(w0,a0){for(var Y6=new Array(a0),D6=0;D6{l.exports=ZX().EventEmitter}),lQ=k6(()=>{}),kE=k6((v,l)=>{function s(c,Q0){var N0=Object.keys(c);if(Object.getOwnPropertySymbols){var G0=Object.getOwnPropertySymbols(c);Q0&&(G0=G0.filter(function(J0){return Object.getOwnPropertyDescriptor(c,J0).enumerable})),N0.push.apply(N0,G0)}return N0}function N(c){for(var Q0=1;Q00?this.tail.next=N0:this.head=N0,this.tail=N0,++this.length}},{key:"unshift",value:function(Q0){var N0={data:Q0,next:this.head};this.length===0&&(this.tail=N0),this.head=N0,++this.length}},{key:"shift",value:function(){if(this.length!==0){var Q0=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,Q0}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(Q0){if(this.length===0)return"";for(var N0=this.head,G0=""+N0.data;N0=N0.next;)G0+=Q0+N0.data;return G0}},{key:"concat",value:function(Q0){if(this.length===0)return b.alloc(0);for(var N0=b.allocUnsafe(Q0>>>0),G0=this.head,J0=0;G0;)V0(G0.data,N0,J0),J0+=G0.data.length,G0=G0.next;return N0}},{key:"consume",value:function(Q0,N0){var G0;return Q0P0.length?P0.length:Q0;if(L0===P0.length?J0+=P0:J0+=P0.slice(0,Q0),Q0-=L0,Q0===0){L0===P0.length?(++G0,N0.next?this.head=N0.next:this.head=this.tail=null):(this.head=N0,N0.data=P0.slice(L0));break}++G0}return this.length-=G0,J0}},{key:"_getBuffer",value:function(Q0){var N0=b.allocUnsafe(Q0),G0=this.head,J0=1;for(G0.data.copy(N0),Q0-=G0.data.length;G0=G0.next;){var P0=G0.data,L0=Q0>P0.length?P0.length:Q0;if(P0.copy(N0,N0.length-Q0,0,L0),Q0-=L0,Q0===0){L0===P0.length?(++J0,G0.next?this.head=G0.next:this.head=this.tail=null):(this.head=G0,G0.data=P0.slice(L0));break}++J0}return this.length-=J0,N0}},{key:a,value:function(Q0,N0){return r(this,N({},N0,{depth:0,customInspect:!1}))}}]),c}()}),T_=k6((v,l)=>{function s(f,b){var e=this,r=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return r||a?(b?b(f):f&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(G,this,f)):process.nextTick(G,this,f)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(f||null,function(V0){!b&&V0?e._writableState?e._writableState.errorEmitted?process.nextTick(j,e):(e._writableState.errorEmitted=!0,process.nextTick(N,e,V0)):process.nextTick(N,e,V0):b?(process.nextTick(j,e),b(V0)):process.nextTick(j,e)}),this)}function N(f,b){G(f,b),j(f)}function j(f){f._writableState&&!f._writableState.emitClose||f._readableState&&!f._readableState.emitClose||f.emit("close")}function Z(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function G(f,b){f.emit("error",b)}function n(f,b){var{_readableState:e,_writableState:r}=f;e&&e.autoDestroy||r&&r.autoDestroy?f.destroy(b):f.emit("error",b)}l.exports={destroy:s,undestroy:Z,errorOrDestroy:n}}),vX=k6((v,l)=>{function s(b,e){b.prototype=Object.create(e.prototype),b.prototype.constructor=b,b.__proto__=e}var N={};function j(b,e,r){r||(r=Error);function a(c,Q0,N0){return typeof e=="string"?e:e(c,Q0,N0)}var V0=function(c){s(Q0,c);function Q0(N0,G0,J0){return c.call(this,a(N0,G0,J0))||this}return Q0}(r);V0.prototype.name=r.name,V0.prototype.code=b,N[b]=V0}function Z(b,e){if(Array.isArray(b)){var r=b.length;return b=b.map(function(a){return String(a)}),r>2?"one of ".concat(e," ").concat(b.slice(0,r-1).join(", "),", or ")+b[r-1]:r===2?"one of ".concat(e," ").concat(b[0]," or ").concat(b[1]):"of ".concat(e," ").concat(b[0])}else return"of ".concat(e," ").concat(String(b))}function G(b,e,r){return b.substr(!r||r<0?0:+r,e.length)===e}function n(b,e,r){return(r===void 0||r>b.length)&&(r=b.length),b.substring(r-e.length,r)===e}function f(b,e,r){return typeof r!="number"&&(r=0),r+e.length>b.length?!1:b.indexOf(e,r)!==-1}j("ERR_INVALID_OPT_VALUE",function(b,e){return'The value "'+e+'" is invalid for option "'+b+'"'},TypeError),j("ERR_INVALID_ARG_TYPE",function(b,e,r){var a;typeof e=="string"&&G(e,"not ")?(a="must not be",e=e.replace(/^not /,"")):a="must be";var V0;if(n(b," argument"))V0="The ".concat(b," ").concat(a," ").concat(Z(e,"type"));else{var c=f(b,".")?"property":"argument";V0='The "'.concat(b,'" ').concat(c," ").concat(a," ").concat(Z(e,"type"))}return V0+=". Received type ".concat(typeof r),V0},TypeError),j("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),j("ERR_METHOD_NOT_IMPLEMENTED",function(b){return"The "+b+" method is not implemented"}),j("ERR_STREAM_PREMATURE_CLOSE","Premature close"),j("ERR_STREAM_DESTROYED",function(b){return"Cannot call "+b+" after a stream was destroyed"}),j("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),j("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),j("ERR_STREAM_WRITE_AFTER_END","write after end"),j("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),j("ERR_UNKNOWN_ENCODING",function(b){return"Unknown encoding: "+b},TypeError),j("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),l.exports.codes=N}),X_=k6((v,l)=>{var s=vX().codes.ERR_INVALID_OPT_VALUE;function N(Z,G,n){return Z.highWaterMark!=null?Z.highWaterMark:G?Z[n]:null}function j(Z,G,n,f){var b=N(G,f,n);if(b!=null){if(!(isFinite(b)&&Math.floor(b)===b)||b<0){var e=f?n:"highWaterMark";throw new s(e,b)}return Math.floor(b)}return Z.objectMode?16:16384}l.exports={getHighWaterMark:j}}),Y_=k6((v,l)=>{l.exports=s;function s(j,Z){if(N("noDeprecation"))return j;var G=!1;function n(){if(!G){if(N("throwDeprecation"))throw new Error(Z);N("traceDeprecation")?console.trace(Z):console.warn(Z),G=!0}return j.apply(this,arguments)}return n}function N(j){try{if(!global.localStorage)return!1}catch{return!1}var Z=global.localStorage[j];return Z==null?!1:String(Z).toLowerCase()==="true"}}),Q_=k6((v,l)=>{l.exports=b0;function s(r0){var j0=this;this.next=null,this.entry=null,this.finish=function(){O6(j0,r0)}}var N;b0.WritableState=Y6;var j={deprecate:Y_()},Z=$_(),G=H3().Buffer,n=global.Uint8Array||function(){};function f(r0){return G.from(r0)}function b(r0){return G.isBuffer(r0)||r0 instanceof n}var e=T_(),r=X_(),a=r.getHighWaterMark,V0=vX().codes,c=V0.ERR_INVALID_ARG_TYPE,Q0=V0.ERR_METHOD_NOT_IMPLEMENTED,N0=V0.ERR_MULTIPLE_CALLBACK,G0=V0.ERR_STREAM_CANNOT_PIPE,J0=V0.ERR_STREAM_DESTROYED,P0=V0.ERR_STREAM_NULL_VALUES,L0=V0.ERR_STREAM_WRITE_AFTER_END,A0=V0.ERR_UNKNOWN_ENCODING,w0=e.errorOrDestroy;e1()(b0,Z);function a0(){}function Y6(r0,j0,d0){N=N||yX(),r0=r0||{},typeof d0!="boolean"&&(d0=j0 instanceof N),this.objectMode=!!r0.objectMode,d0&&(this.objectMode=this.objectMode||!!r0.writableObjectMode),this.highWaterMark=a(this,r0,"writableHighWaterMark",d0),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var c6=r0.decodeStrings===!1;this.decodeStrings=!c6,this.defaultEncoding=r0.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(K6){h(j0,K6)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=r0.emitClose!==!1,this.autoDestroy=!!r0.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}Y6.prototype.getBuffer=function(){for(var r0=this.bufferedRequest,j0=[];r0;)j0.push(r0),r0=r0.next;return j0},function(){try{Object.defineProperty(Y6.prototype,"buffer",{get:j.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var D6;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(D6=Function.prototype[Symbol.hasInstance],Object.defineProperty(b0,Symbol.hasInstance,{value:function(r0){return D6.call(this,r0)?!0:this!==b0?!1:r0&&r0._writableState instanceof Y6}})):D6=function(r0){return r0 instanceof this};function b0(r0){N=N||yX();var j0=this instanceof N;if(!j0&&!D6.call(b0,this))return new b0(r0);this._writableState=new Y6(r0,this,j0),this.writable=!0,r0&&(typeof r0.write=="function"&&(this._write=r0.write),typeof r0.writev=="function"&&(this._writev=r0.writev),typeof r0.destroy=="function"&&(this._destroy=r0.destroy),typeof r0.final=="function"&&(this._final=r0.final)),Z.call(this)}b0.prototype.pipe=function(){w0(this,new G0)};function l6(r0,j0){var d0=new L0;w0(r0,d0),process.nextTick(j0,d0)}function R(r0,j0,d0,c6){var K6;return d0===null?K6=new P0:typeof d0!="string"&&!j0.objectMode&&(K6=new c("chunk",["string","Buffer"],d0)),K6?(w0(r0,K6),process.nextTick(c6,K6),!1):!0}b0.prototype.write=function(r0,j0,d0){var c6=this._writableState,K6=!1,I6=!c6.objectMode&&b(r0);return I6&&!G.isBuffer(r0)&&(r0=f(r0)),typeof j0=="function"&&(d0=j0,j0=null),I6?j0="buffer":j0||(j0=c6.defaultEncoding),typeof d0!="function"&&(d0=a0),c6.ending?l6(this,d0):(I6||R(this,c6,r0,d0))&&(c6.pendingcb++,K6=B(this,c6,I6,r0,j0,d0)),K6},b0.prototype.cork=function(){this._writableState.corked++},b0.prototype.uncork=function(){var r0=this._writableState;r0.corked&&(r0.corked--,!r0.writing&&!r0.corked&&!r0.bufferProcessing&&r0.bufferedRequest&&p(this,r0))},b0.prototype.setDefaultEncoding=function(r0){if(typeof r0=="string"&&(r0=r0.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((r0+"").toLowerCase())>-1))throw new A0(r0);return this._writableState.defaultEncoding=r0,this},Object.defineProperty(b0.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function D(r0,j0,d0){return!r0.objectMode&&r0.decodeStrings!==!1&&typeof j0=="string"&&(j0=G.from(j0,d0)),j0}Object.defineProperty(b0.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function B(r0,j0,d0,c6,K6,I6){if(!d0){var z0=D(j0,c6,K6);c6!==z0&&(d0=!0,K6="buffer",c6=z0)}var S0=j0.objectMode?1:c6.length;j0.length+=S0;var x0=j0.length{var s=Object.keys||function(r){var a=[];for(var V0 in r)a.push(V0);return a};l.exports=f;var N=W_(),j=Q_();e1()(f,N);for(Z=s(j.prototype),n=0;n{var l=_7().Buffer,s=l.isEncoding||function(J0){switch(J0=""+J0,J0&&J0.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function N(J0){if(!J0)return"utf8";for(var P0;;)switch(J0){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return J0;default:if(P0)return;J0=(""+J0).toLowerCase(),P0=!0}}function j(J0){var P0=N(J0);if(typeof P0!="string"&&(l.isEncoding===s||!s(J0)))throw new Error("Unknown encoding: "+J0);return P0||J0}v.StringDecoder=Z;function Z(J0){this.encoding=j(J0);var P0;switch(this.encoding){case"utf16le":this.text=a,this.end=V0,P0=4;break;case"utf8":this.fillLast=b,P0=4;break;case"base64":this.text=c,this.end=Q0,P0=3;break;default:this.write=N0,this.end=G0;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=l.allocUnsafe(P0)}Z.prototype.write=function(J0){if(J0.length===0)return"";var P0,L0;if(this.lastNeed){if(P0=this.fillLast(J0),P0===void 0)return"";L0=this.lastNeed,this.lastNeed=0}else L0=0;return L0>5===6?2:J0>>4===14?3:J0>>3===30?4:J0>>6===2?-1:-2}function n(J0,P0,L0){var A0=P0.length-1;if(A0=0?(w0>0&&(J0.lastNeed=w0-1),w0):--A0=0?(w0>0&&(J0.lastNeed=w0-2),w0):--A0=0?(w0>0&&(w0===2?w0=0:J0.lastNeed=w0-3),w0):0))}function f(J0,P0,L0){if((P0[0]&192)!==128)return J0.lastNeed=0,"\uFFFD";if(J0.lastNeed>1&&P0.length>1){if((P0[1]&192)!==128)return J0.lastNeed=1,"\uFFFD";if(J0.lastNeed>2&&P0.length>2&&(P0[2]&192)!==128)return J0.lastNeed=2,"\uFFFD"}}function b(J0){var P0=this.lastTotal-this.lastNeed,L0=f(this,J0,P0);if(L0!==void 0)return L0;if(this.lastNeed<=J0.length)return J0.copy(this.lastChar,P0,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);J0.copy(this.lastChar,P0,0,J0.length),this.lastNeed-=J0.length}function e(J0,P0){var L0=n(this,J0,P0);if(!this.lastNeed)return J0.toString("utf8",P0);this.lastTotal=L0;var A0=J0.length-(L0-this.lastNeed);return J0.copy(this.lastChar,0,A0),J0.toString("utf8",P0,A0)}function r(J0){var P0=J0&&J0.length?this.write(J0):"";return this.lastNeed?P0+"\uFFFD":P0}function a(J0,P0){if((J0.length-P0)%2===0){var L0=J0.toString("utf16le",P0);if(L0){var A0=L0.charCodeAt(L0.length-1);if(A0>=55296&&A0<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=J0[J0.length-2],this.lastChar[1]=J0[J0.length-1],L0.slice(0,-1)}return L0}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=J0[J0.length-1],J0.toString("utf16le",P0,J0.length-1)}function V0(J0){var P0=J0&&J0.length?this.write(J0):"";if(this.lastNeed){var L0=this.lastTotal-this.lastNeed;return P0+this.lastChar.toString("utf16le",0,L0)}return P0}function c(J0,P0){var L0=(J0.length-P0)%3;return L0===0?J0.toString("base64",P0):(this.lastNeed=3-L0,this.lastTotal=3,L0===1?this.lastChar[0]=J0[J0.length-1]:(this.lastChar[0]=J0[J0.length-2],this.lastChar[1]=J0[J0.length-1]),J0.toString("base64",P0,J0.length-L0))}function Q0(J0){var P0=J0&&J0.length?this.write(J0):"";return this.lastNeed?P0+this.lastChar.toString("base64",0,3-this.lastNeed):P0}function N0(J0){return J0.toString(this.encoding)}function G0(J0){return J0&&J0.length?this.write(J0):""}}),OY={};uQ(OY,{StringDecoder:()=>VU.StringDecoder,default:()=>VU.StringDecoder});pQ=$U(()=>{VU=cT(XU())}),YU=k6((v,l)=>{var s=vX().codes.ERR_STREAM_PREMATURE_CLOSE;function N(n){var f=!1;return function(){if(!f){f=!0;for(var b=arguments.length,e=new Array(b),r=0;r{var s;function N(P0,L0,A0){return L0 in P0?Object.defineProperty(P0,L0,{value:A0,enumerable:!0,configurable:!0,writable:!0}):P0[L0]=A0,P0}var j=YU(),Z=Symbol("lastResolve"),G=Symbol("lastReject"),n=Symbol("error"),f=Symbol("ended"),b=Symbol("lastPromise"),e=Symbol("handlePromise"),r=Symbol("stream");function a(P0,L0){return{value:P0,done:L0}}function V0(P0){var L0=P0[Z];if(L0!==null){var A0=P0[r].read();A0!==null&&(P0[b]=null,P0[Z]=null,P0[G]=null,L0(a(A0,!1)))}}function c(P0){process.nextTick(V0,P0)}function Q0(P0,L0){return function(A0,w0){P0.then(function(){if(L0[f]){A0(a(void 0,!0));return}L0[e](A0,w0)},w0)}}var N0=Object.getPrototypeOf(function(){}),G0=Object.setPrototypeOf((s={get stream(){return this[r]},next:function(){var P0=this,L0=this[n];if(L0!==null)return Promise.reject(L0);if(this[f])return Promise.resolve(a(void 0,!0));if(this[r].destroyed)return new Promise(function(Y6,D6){process.nextTick(function(){P0[n]?D6(P0[n]):Y6(a(void 0,!0))})});var A0=this[b],w0;if(A0)w0=new Promise(Q0(A0,this));else{var a0=this[r].read();if(a0!==null)return Promise.resolve(a(a0,!1));w0=new Promise(this[e])}return this[b]=w0,w0}},N(s,Symbol.asyncIterator,function(){return this}),N(s,"return",function(){var P0=this;return new Promise(function(L0,A0){P0[r].destroy(null,function(w0){if(w0){A0(w0);return}L0(a(void 0,!0))})})}),s),N0),J0=function(P0){var L0,A0=Object.create(G0,(L0={},N(L0,r,{value:P0,writable:!0}),N(L0,Z,{value:null,writable:!0}),N(L0,G,{value:null,writable:!0}),N(L0,n,{value:null,writable:!0}),N(L0,f,{value:P0._readableState.endEmitted,writable:!0}),N(L0,e,{value:function(w0,a0){var Y6=A0[r].read();Y6?(A0[b]=null,A0[Z]=null,A0[G]=null,w0(a(Y6,!1))):(A0[Z]=w0,A0[G]=a0)},writable:!0}),L0));return A0[b]=null,j(P0,function(w0){if(w0&&w0.code!=="ERR_STREAM_PREMATURE_CLOSE"){var a0=A0[G];a0!==null&&(A0[b]=null,A0[Z]=null,A0[G]=null,a0(w0)),A0[n]=w0;return}var Y6=A0[Z];Y6!==null&&(A0[b]=null,A0[Z]=null,A0[G]=null,Y6(a(void 0,!0))),A0[f]=!0}),P0.on("readable",c.bind(null,A0)),A0};l.exports=J0}),mE=k6((v,l)=>{l.exports=function(){throw new Error("Readable.from is not available in the browser")}}),W_=k6((v,l)=>{l.exports=R;var s;R.ReadableState=l6;var N=ZX().EventEmitter,j=function(z0,S0){return z0.listeners(S0).length},Z=$_(),G=H3().Buffer,n=global.Uint8Array||function(){};function f(z0){return G.from(z0)}function b(z0){return G.isBuffer(z0)||z0 instanceof n}var e=lQ(),r;e&&e.debuglog?r=e.debuglog("stream"):r=function(){};var a=kE(),V0=T_(),c=X_(),Q0=c.getHighWaterMark,N0=vX().codes,G0=N0.ERR_INVALID_ARG_TYPE,J0=N0.ERR_STREAM_PUSH_AFTER_EOF,P0=N0.ERR_METHOD_NOT_IMPLEMENTED,L0=N0.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,A0,w0,a0;e1()(R,Z);var Y6=V0.errorOrDestroy,D6=["error","close","destroy","pause","resume"];function b0(z0,S0,x0){if(typeof z0.prependListener=="function")return z0.prependListener(S0,x0);!z0._events||!z0._events[S0]?z0.on(S0,x0):Array.isArray(z0._events[S0])?z0._events[S0].unshift(x0):z0._events[S0]=[x0,z0._events[S0]]}function l6(z0,S0,x0){s=s||yX(),z0=z0||{},typeof x0!="boolean"&&(x0=S0 instanceof s),this.objectMode=!!z0.objectMode,x0&&(this.objectMode=this.objectMode||!!z0.readableObjectMode),this.highWaterMark=Q0(this,z0,"readableHighWaterMark",x0),this.buffer=new a,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=z0.emitClose!==!1,this.autoDestroy=!!z0.autoDestroy,this.destroyed=!1,this.defaultEncoding=z0.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,z0.encoding&&(A0||(A0=(pQ(),e4(OY)).StringDecoder),this.decoder=new A0(z0.encoding),this.encoding=z0.encoding)}function R(z0){if(s=s||yX(),!(this instanceof R))return new R(z0);var S0=this instanceof s;this._readableState=new l6(z0,this,S0),this.readable=!0,z0&&(typeof z0.read=="function"&&(this._read=z0.read),typeof z0.destroy=="function"&&(this._destroy=z0.destroy)),Z.call(this)}Object.defineProperty(R.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(z0){!this._readableState||(this._readableState.destroyed=z0)}}),R.prototype.destroy=V0.destroy,R.prototype._undestroy=V0.undestroy,R.prototype._destroy=function(z0,S0){S0(z0)},R.prototype.push=function(z0,S0){var x0=this._readableState,_6;return x0.objectMode?_6=!0:typeof z0=="string"&&(S0=S0||x0.defaultEncoding,S0!==x0.encoding&&(z0=G.from(z0,S0),S0=""),_6=!0),D(this,z0,S0,!1,_6)},R.prototype.unshift=function(z0){return D(this,z0,null,!0,!1)};function D(z0,S0,x0,_6,P6){r("readableAddChunk",S0);var R6=z0._readableState;if(S0===null)R6.reading=!1,x(z0,R6);else{var s8;if(P6||(s8=E(R6,S0)),s8)Y6(z0,s8);else if(R6.objectMode||S0&&S0.length>0)if(typeof S0!="string"&&!R6.objectMode&&Object.getPrototypeOf(S0)!==G.prototype&&(S0=f(S0)),_6)R6.endEmitted?Y6(z0,new L0):B(z0,R6,S0,!0);else if(R6.ended)Y6(z0,new J0);else{if(R6.destroyed)return!1;R6.reading=!1,R6.decoder&&!x0?(S0=R6.decoder.write(S0),R6.objectMode||S0.length!==0?B(z0,R6,S0,!1):K0(z0,R6)):B(z0,R6,S0,!1)}else _6||(R6.reading=!1,K0(z0,R6))}return!R6.ended&&(R6.length=w?z0=w:(z0--,z0|=z0>>>1,z0|=z0>>>2,z0|=z0>>>4,z0|=z0>>>8,z0|=z0>>>16,z0++),z0}function h(z0,S0){return z0<=0||S0.length===0&&S0.ended?0:S0.objectMode?1:z0!==z0?S0.flowing&&S0.length?S0.buffer.head.data.length:S0.length:(z0>S0.highWaterMark&&(S0.highWaterMark=o(z0)),z0<=S0.length?z0:S0.ended?S0.length:(S0.needReadable=!0,0))}R.prototype.read=function(z0){r("read",z0),z0=parseInt(z0,10);var S0=this._readableState,x0=z0;if(z0!==0&&(S0.emittedReadable=!1),z0===0&&S0.needReadable&&((S0.highWaterMark!==0?S0.length>=S0.highWaterMark:S0.length>0)||S0.ended))return r("read: emitReadable",S0.length,S0.ended),S0.length===0&&S0.ended?c6(this):M(this),null;if(z0=h(z0,S0),z0===0&&S0.ended)return S0.length===0&&c6(this),null;var _6=S0.needReadable;r("need readable",_6),(S0.length===0||S0.length-z00?P6=d0(z0,S0):P6=null,P6===null?(S0.needReadable=S0.length<=S0.highWaterMark,z0=0):(S0.length-=z0,S0.awaitDrain=0),S0.length===0&&(S0.ended||(S0.needReadable=!0),x0!==z0&&S0.ended&&c6(this)),P6!==null&&this.emit("data",P6),P6};function x(z0,S0){if(r("onEofChunk"),!S0.ended){if(S0.decoder){var x0=S0.decoder.end();x0&&x0.length&&(S0.buffer.push(x0),S0.length+=S0.objectMode?1:x0.length)}S0.ended=!0,S0.sync?M(z0):(S0.needReadable=!1,S0.emittedReadable||(S0.emittedReadable=!0,p(z0)))}}function M(z0){var S0=z0._readableState;r("emitReadable",S0.needReadable,S0.emittedReadable),S0.needReadable=!1,S0.emittedReadable||(r("emitReadable",S0.flowing),S0.emittedReadable=!0,process.nextTick(p,z0))}function p(z0){var S0=z0._readableState;r("emitReadable_",S0.destroyed,S0.length,S0.ended),!S0.destroyed&&(S0.length||S0.ended)&&(z0.emit("readable"),S0.emittedReadable=!1),S0.needReadable=!S0.flowing&&!S0.ended&&S0.length<=S0.highWaterMark,j0(z0)}function K0(z0,S0){S0.readingMore||(S0.readingMore=!0,process.nextTick(U0,z0,S0))}function U0(z0,S0){for(;!S0.reading&&!S0.ended&&(S0.length1&&I6(_6.pipes,z0)!==-1)&&!h2&&(r("false write response, pause",_6.awaitDrain),_6.awaitDrain++),x0.pause())}function a1(s0){r("onerror",s0),v0(),z0.removeListener("error",a1),j(z0,"error")===0&&Y6(z0,s0)}b0(z0,"error",a1);function $0(){z0.removeListener("finish",R0),v0()}z0.once("close",$0);function R0(){r("onfinish"),z0.removeListener("close",$0),v0()}z0.once("finish",R0);function v0(){r("unpipe"),x0.unpipe(z0)}return z0.emit("pipe",x0),_6.flowing||(r("pipe resume"),x0.resume()),z0};function M0(z0){return function(){var S0=z0._readableState;r("pipeOnDrain",S0.awaitDrain),S0.awaitDrain&&S0.awaitDrain--,S0.awaitDrain===0&&j(z0,"data")&&(S0.flowing=!0,j0(z0))}}R.prototype.unpipe=function(z0){var S0=this._readableState,x0={hasUnpiped:!1};if(S0.pipesCount===0)return this;if(S0.pipesCount===1)return z0&&z0!==S0.pipes?this:(z0||(z0=S0.pipes),S0.pipes=null,S0.pipesCount=0,S0.flowing=!1,z0&&z0.emit("unpipe",this,x0),this);if(!z0){var{pipes:_6,pipesCount:P6}=S0;S0.pipes=null,S0.pipesCount=0,S0.flowing=!1;for(var R6=0;R60,_6.flowing!==!1&&this.resume()):z0==="readable"&&!_6.endEmitted&&!_6.readableListening&&(_6.readableListening=_6.needReadable=!0,_6.flowing=!1,_6.emittedReadable=!1,r("on readable",_6.length,_6.reading),_6.length?M(this):_6.reading||process.nextTick(X6,this)),x0},R.prototype.addListener=R.prototype.on,R.prototype.removeListener=function(z0,S0){var x0=Z.prototype.removeListener.call(this,z0,S0);return z0==="readable"&&process.nextTick(f0,this),x0},R.prototype.removeAllListeners=function(z0){var S0=Z.prototype.removeAllListeners.apply(this,arguments);return(z0==="readable"||z0===void 0)&&process.nextTick(f0,this),S0};function f0(z0){var S0=z0._readableState;S0.readableListening=z0.listenerCount("readable")>0,S0.resumeScheduled&&!S0.paused?S0.flowing=!0:z0.listenerCount("data")>0&&z0.resume()}function X6(z0){r("readable nexttick read 0"),z0.read(0)}R.prototype.resume=function(){var z0=this._readableState;return z0.flowing||(r("resume"),z0.flowing=!z0.readableListening,O6(this,z0)),z0.paused=!1,this};function O6(z0,S0){S0.resumeScheduled||(S0.resumeScheduled=!0,process.nextTick(r0,z0,S0))}function r0(z0,S0){r("resume",S0.reading),S0.reading||z0.read(0),S0.resumeScheduled=!1,z0.emit("resume"),j0(z0),S0.flowing&&!S0.reading&&z0.read(0)}R.prototype.pause=function(){return r("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(r("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function j0(z0){var S0=z0._readableState;for(r("flow",S0.flowing);S0.flowing&&z0.read()!==null;);}R.prototype.wrap=function(z0){var S0=this,x0=this._readableState,_6=!1;z0.on("end",function(){if(r("wrapped end"),x0.decoder&&!x0.ended){var s8=x0.decoder.end();s8&&s8.length&&S0.push(s8)}S0.push(null)}),z0.on("data",function(s8){if(r("wrapped data"),x0.decoder&&(s8=x0.decoder.write(s8)),!(x0.objectMode&&s8==null)&&!(!x0.objectMode&&(!s8||!s8.length))){var v6=S0.push(s8);v6||(_6=!0,z0.pause())}});for(var P6 in z0)this[P6]===void 0&&typeof z0[P6]=="function"&&(this[P6]=function(s8){return function(){return z0[s8].apply(z0,arguments)}}(P6));for(var R6=0;R6=S0.length?(S0.decoder?x0=S0.buffer.join(""):S0.buffer.length===1?x0=S0.buffer.first():x0=S0.buffer.concat(S0.length),S0.buffer.clear()):x0=S0.buffer.consume(z0,S0.decoder),x0}function c6(z0){var S0=z0._readableState;r("endReadable",S0.endEmitted),S0.endEmitted||(S0.ended=!0,process.nextTick(K6,S0,z0))}function K6(z0,S0){if(r("endReadableNT",z0.endEmitted,z0.length),!z0.endEmitted&&z0.length===0&&(z0.endEmitted=!0,S0.readable=!1,S0.emit("end"),z0.autoDestroy)){var x0=S0._writableState;(!x0||x0.autoDestroy&&x0.finished)&&S0.destroy()}}typeof Symbol=="function"&&(R.from=function(z0,S0){return a0===void 0&&(a0=mE()),a0(R,z0,S0)});function I6(z0,S0){for(var x0=0,_6=z0.length;x0<_6;x0++)if(z0[x0]===S0)return x0;return-1}}),N_=k6((v,l)=>{l.exports=b;var s=vX().codes,N=s.ERR_METHOD_NOT_IMPLEMENTED,j=s.ERR_MULTIPLE_CALLBACK,Z=s.ERR_TRANSFORM_ALREADY_TRANSFORMING,G=s.ERR_TRANSFORM_WITH_LENGTH_0,n=yX();e1()(b,n);function f(a,V0){var c=this._transformState;c.transforming=!1;var Q0=c.writecb;if(Q0===null)return this.emit("error",new j);c.writechunk=null,c.writecb=null,V0!=null&&this.push(V0),Q0(a);var N0=this._readableState;N0.reading=!1,(N0.needReadable||N0.length{l.exports=N;var s=N_();e1()(N,s);function N(j){if(!(this instanceof N))return new N(j);s.call(this,j)}N.prototype._transform=function(j,Z,G){G(null,j)}}),lE=k6((v,l)=>{var s;function N(c){var Q0=!1;return function(){Q0||(Q0=!0,c.apply(void 0,arguments))}}var j=vX().codes,Z=j.ERR_MISSING_ARGS,G=j.ERR_STREAM_DESTROYED;function n(c){if(c)throw c}function f(c){return c.setHeader&&typeof c.abort=="function"}function b(c,Q0,N0,G0){G0=N(G0);var J0=!1;c.on("close",function(){J0=!0}),s===void 0&&(s=YU()),s(c,{readable:Q0,writable:N0},function(L0){if(L0)return G0(L0);J0=!0,G0()});var P0=!1;return function(L0){if(!J0&&!P0){if(P0=!0,f(c))return c.abort();if(typeof c.destroy=="function")return c.destroy();G0(L0||new G("pipe"))}}}function e(c){c()}function r(c,Q0){return c.pipe(Q0)}function a(c){return!c.length||typeof c[c.length-1]!="function"?n:c.pop()}function V0(){for(var c=arguments.length,Q0=new Array(c),N0=0;N00;return b(L0,w0,a0,function(Y6){J0||(J0=Y6),Y6&&P0.forEach(e),!w0&&(P0.forEach(e),G0(J0))})});return Q0.reduce(r)}l.exports=V0}),sE=k6((v,l)=>{v=l.exports=W_(),v.Stream=v,v.Readable=v,v.Writable=Q_(),v.Duplex=yX(),v.Transform=N_(),v.PassThrough=uE(),v.finished=YU(),v.pipeline=lE()}),U_=k6((v,l)=>{var s=_7().Buffer,N=sE().Transform,j=e1();function Z(n,f){if(!s.isBuffer(n)&&typeof n!="string")throw new TypeError(f+" must be a string or a buffer")}function G(n){N.call(this),this._block=s.allocUnsafe(n),this._blockSize=n,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}j(G,N),G.prototype._transform=function(n,f,b){var e=null;try{this.update(n,f)}catch(r){e=r}b(e)},G.prototype._flush=function(n){var f=null;try{this.push(this.digest())}catch(b){f=b}n(f)},G.prototype.update=function(n,f){if(Z(n,"Data"),this._finalized)throw new Error("Digest already called");s.isBuffer(n)||(n=s.from(n,f));for(var b=this._block,e=0;this._blockOffset+n.length-e>=this._blockSize;){for(var r=this._blockOffset;r0;++a)this._length[a]+=V0,V0=this._length[a]/4294967296|0,V0>0&&(this._length[a]-=4294967296*V0);return this},G.prototype._update=function(){throw new Error("_update is not implemented")},G.prototype.digest=function(n){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var f=this._digest();n!==void 0&&(f=f.toString(n)),this._block.fill(0),this._blockOffset=0;for(var b=0;b<4;++b)this._length[b]=0;return f},G.prototype._digest=function(){throw new Error("_digest is not implemented")},l.exports=G}),QU=k6((v,l)=>{var s=e1(),N=U_(),j=_7().Buffer,Z=new Array(16);function G(){N.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}s(G,N),G.prototype._update=function(){for(var a=Z,V0=0;V0<16;++V0)a[V0]=this._block.readInt32LE(V0*4);var c=this._a,Q0=this._b,N0=this._c,G0=this._d;c=f(c,Q0,N0,G0,a[0],3614090360,7),G0=f(G0,c,Q0,N0,a[1],3905402710,12),N0=f(N0,G0,c,Q0,a[2],606105819,17),Q0=f(Q0,N0,G0,c,a[3],3250441966,22),c=f(c,Q0,N0,G0,a[4],4118548399,7),G0=f(G0,c,Q0,N0,a[5],1200080426,12),N0=f(N0,G0,c,Q0,a[6],2821735955,17),Q0=f(Q0,N0,G0,c,a[7],4249261313,22),c=f(c,Q0,N0,G0,a[8],1770035416,7),G0=f(G0,c,Q0,N0,a[9],2336552879,12),N0=f(N0,G0,c,Q0,a[10],4294925233,17),Q0=f(Q0,N0,G0,c,a[11],2304563134,22),c=f(c,Q0,N0,G0,a[12],1804603682,7),G0=f(G0,c,Q0,N0,a[13],4254626195,12),N0=f(N0,G0,c,Q0,a[14],2792965006,17),Q0=f(Q0,N0,G0,c,a[15],1236535329,22),c=b(c,Q0,N0,G0,a[1],4129170786,5),G0=b(G0,c,Q0,N0,a[6],3225465664,9),N0=b(N0,G0,c,Q0,a[11],643717713,14),Q0=b(Q0,N0,G0,c,a[0],3921069994,20),c=b(c,Q0,N0,G0,a[5],3593408605,5),G0=b(G0,c,Q0,N0,a[10],38016083,9),N0=b(N0,G0,c,Q0,a[15],3634488961,14),Q0=b(Q0,N0,G0,c,a[4],3889429448,20),c=b(c,Q0,N0,G0,a[9],568446438,5),G0=b(G0,c,Q0,N0,a[14],3275163606,9),N0=b(N0,G0,c,Q0,a[3],4107603335,14),Q0=b(Q0,N0,G0,c,a[8],1163531501,20),c=b(c,Q0,N0,G0,a[13],2850285829,5),G0=b(G0,c,Q0,N0,a[2],4243563512,9),N0=b(N0,G0,c,Q0,a[7],1735328473,14),Q0=b(Q0,N0,G0,c,a[12],2368359562,20),c=e(c,Q0,N0,G0,a[5],4294588738,4),G0=e(G0,c,Q0,N0,a[8],2272392833,11),N0=e(N0,G0,c,Q0,a[11],1839030562,16),Q0=e(Q0,N0,G0,c,a[14],4259657740,23),c=e(c,Q0,N0,G0,a[1],2763975236,4),G0=e(G0,c,Q0,N0,a[4],1272893353,11),N0=e(N0,G0,c,Q0,a[7],4139469664,16),Q0=e(Q0,N0,G0,c,a[10],3200236656,23),c=e(c,Q0,N0,G0,a[13],681279174,4),G0=e(G0,c,Q0,N0,a[0],3936430074,11),N0=e(N0,G0,c,Q0,a[3],3572445317,16),Q0=e(Q0,N0,G0,c,a[6],76029189,23),c=e(c,Q0,N0,G0,a[9],3654602809,4),G0=e(G0,c,Q0,N0,a[12],3873151461,11),N0=e(N0,G0,c,Q0,a[15],530742520,16),Q0=e(Q0,N0,G0,c,a[2],3299628645,23),c=r(c,Q0,N0,G0,a[0],4096336452,6),G0=r(G0,c,Q0,N0,a[7],1126891415,10),N0=r(N0,G0,c,Q0,a[14],2878612391,15),Q0=r(Q0,N0,G0,c,a[5],4237533241,21),c=r(c,Q0,N0,G0,a[12],1700485571,6),G0=r(G0,c,Q0,N0,a[3],2399980690,10),N0=r(N0,G0,c,Q0,a[10],4293915773,15),Q0=r(Q0,N0,G0,c,a[1],2240044497,21),c=r(c,Q0,N0,G0,a[8],1873313359,6),G0=r(G0,c,Q0,N0,a[15],4264355552,10),N0=r(N0,G0,c,Q0,a[6],2734768916,15),Q0=r(Q0,N0,G0,c,a[13],1309151649,21),c=r(c,Q0,N0,G0,a[4],4149444226,6),G0=r(G0,c,Q0,N0,a[11],3174756917,10),N0=r(N0,G0,c,Q0,a[2],718787259,15),Q0=r(Q0,N0,G0,c,a[9],3951481745,21),this._a=this._a+c|0,this._b=this._b+Q0|0,this._c=this._c+N0|0,this._d=this._d+G0|0},G.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var a=j.allocUnsafe(16);return a.writeInt32LE(this._a,0),a.writeInt32LE(this._b,4),a.writeInt32LE(this._c,8),a.writeInt32LE(this._d,12),a};function n(a,V0){return a<>>32-V0}function f(a,V0,c,Q0,N0,G0,J0){return n(a+(V0&c|~V0&Q0)+N0+G0|0,J0)+V0|0}function b(a,V0,c,Q0,N0,G0,J0){return n(a+(V0&Q0|c&~Q0)+N0+G0|0,J0)+V0|0}function e(a,V0,c,Q0,N0,G0,J0){return n(a+(V0^c^Q0)+N0+G0|0,J0)+V0|0}function r(a,V0,c,Q0,N0,G0,J0){return n(a+(c^(V0|~Q0))+N0+G0|0,J0)+V0|0}l.exports=G}),WU=k6((v,l)=>{var s=H3().Buffer,N=e1(),j=U_(),Z=new Array(16),G=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],n=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],f=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],b=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],e=[0,1518500249,1859775393,2400959708,2840853838],r=[1352829926,1548603684,1836072691,2053994217,0];function a(){j.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}N(a,j),a.prototype._update=function(){for(var P0=Z,L0=0;L0<16;++L0)P0[L0]=this._block.readInt32LE(L0*4);for(var A0=this._a|0,w0=this._b|0,a0=this._c|0,Y6=this._d|0,D6=this._e|0,b0=this._a|0,l6=this._b|0,R=this._c|0,D=this._d|0,B=this._e|0,E=0;E<80;E+=1){var w,o;E<16?(w=c(A0,w0,a0,Y6,D6,P0[G[E]],e[0],f[E]),o=J0(b0,l6,R,D,B,P0[n[E]],r[0],b[E])):E<32?(w=Q0(A0,w0,a0,Y6,D6,P0[G[E]],e[1],f[E]),o=G0(b0,l6,R,D,B,P0[n[E]],r[1],b[E])):E<48?(w=N0(A0,w0,a0,Y6,D6,P0[G[E]],e[2],f[E]),o=N0(b0,l6,R,D,B,P0[n[E]],r[2],b[E])):E<64?(w=G0(A0,w0,a0,Y6,D6,P0[G[E]],e[3],f[E]),o=Q0(b0,l6,R,D,B,P0[n[E]],r[3],b[E])):(w=J0(A0,w0,a0,Y6,D6,P0[G[E]],e[4],f[E]),o=c(b0,l6,R,D,B,P0[n[E]],r[4],b[E])),A0=D6,D6=Y6,Y6=V0(a0,10),a0=w0,w0=w,b0=B,B=D,D=V0(R,10),R=l6,l6=o}var h=this._b+a0+D|0;this._b=this._c+Y6+B|0,this._c=this._d+D6+b0|0,this._d=this._e+A0+l6|0,this._e=this._a+w0+R|0,this._a=h},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var P0=s.alloc?s.alloc(20):new s(20);return P0.writeInt32LE(this._a,0),P0.writeInt32LE(this._b,4),P0.writeInt32LE(this._c,8),P0.writeInt32LE(this._d,12),P0.writeInt32LE(this._e,16),P0};function V0(P0,L0){return P0<>>32-L0}function c(P0,L0,A0,w0,a0,Y6,D6,b0){return V0(P0+(L0^A0^w0)+Y6+D6|0,b0)+a0|0}function Q0(P0,L0,A0,w0,a0,Y6,D6,b0){return V0(P0+(L0&A0|~L0&w0)+Y6+D6|0,b0)+a0|0}function N0(P0,L0,A0,w0,a0,Y6,D6,b0){return V0(P0+((L0|~A0)^w0)+Y6+D6|0,b0)+a0|0}function G0(P0,L0,A0,w0,a0,Y6,D6,b0){return V0(P0+(L0&w0|A0&~w0)+Y6+D6|0,b0)+a0|0}function J0(P0,L0,A0,w0,a0,Y6,D6,b0){return V0(P0+(L0^(A0|~w0))+Y6+D6|0,b0)+a0|0}l.exports=a}),jX=k6((v,l)=>{var s=_7().Buffer;function N(j,Z){this._block=s.alloc(j),this._finalSize=Z,this._blockSize=j,this._len=0}N.prototype.update=function(j,Z){typeof j=="string"&&(Z=Z||"utf8",j=s.from(j,Z));for(var G=this._block,n=this._blockSize,f=j.length,b=this._len,e=0;e=this._finalSize&&(this._update(this._block),this._block.fill(0));var G=this._len*8;if(G<=4294967295)this._block.writeUInt32BE(G,this._blockSize-4);else{var n=(G&4294967295)>>>0,f=(G-n)/4294967296;this._block.writeUInt32BE(f,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var b=this._hash();return j?b.toString(j):b},N.prototype._update=function(){throw new Error("_update must be implemented by subclass")},l.exports=N}),oE=k6((v,l)=>{var s=e1(),N=jX(),j=_7().Buffer,Z=[1518500249,1859775393,-1894007588,-899497514],G=new Array(80);function n(){this.init(),this._w=G,N.call(this,64,56)}s(n,N),n.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function f(r){return r<<5|r>>>27}function b(r){return r<<30|r>>>2}function e(r,a,V0,c){return r===0?a&V0|~a&c:r===2?a&V0|a&c|V0&c:a^V0^c}n.prototype._update=function(r){for(var a=this._w,V0=this._a|0,c=this._b|0,Q0=this._c|0,N0=this._d|0,G0=this._e|0,J0=0;J0<16;++J0)a[J0]=r.readInt32BE(J0*4);for(;J0<80;++J0)a[J0]=a[J0-3]^a[J0-8]^a[J0-14]^a[J0-16];for(var P0=0;P0<80;++P0){var L0=~~(P0/20),A0=f(V0)+e(L0,c,Q0,N0)+G0+a[P0]+Z[L0]|0;G0=N0,N0=Q0,Q0=b(c),c=V0,V0=A0}this._a=V0+this._a|0,this._b=c+this._b|0,this._c=Q0+this._c|0,this._d=N0+this._d|0,this._e=G0+this._e|0},n.prototype._hash=function(){var r=j.allocUnsafe(20);return r.writeInt32BE(this._a|0,0),r.writeInt32BE(this._b|0,4),r.writeInt32BE(this._c|0,8),r.writeInt32BE(this._d|0,12),r.writeInt32BE(this._e|0,16),r},l.exports=n}),nE=k6((v,l)=>{var s=e1(),N=jX(),j=_7().Buffer,Z=[1518500249,1859775393,-1894007588,-899497514],G=new Array(80);function n(){this.init(),this._w=G,N.call(this,64,56)}s(n,N),n.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function f(a){return a<<1|a>>>31}function b(a){return a<<5|a>>>27}function e(a){return a<<30|a>>>2}function r(a,V0,c,Q0){return a===0?V0&c|~V0&Q0:a===2?V0&c|V0&Q0|c&Q0:V0^c^Q0}n.prototype._update=function(a){for(var V0=this._w,c=this._a|0,Q0=this._b|0,N0=this._c|0,G0=this._d|0,J0=this._e|0,P0=0;P0<16;++P0)V0[P0]=a.readInt32BE(P0*4);for(;P0<80;++P0)V0[P0]=f(V0[P0-3]^V0[P0-8]^V0[P0-14]^V0[P0-16]);for(var L0=0;L0<80;++L0){var A0=~~(L0/20),w0=b(c)+r(A0,Q0,N0,G0)+J0+V0[L0]+Z[A0]|0;J0=G0,G0=N0,N0=e(Q0),Q0=c,c=w0}this._a=c+this._a|0,this._b=Q0+this._b|0,this._c=N0+this._c|0,this._d=G0+this._d|0,this._e=J0+this._e|0},n.prototype._hash=function(){var a=j.allocUnsafe(20);return a.writeInt32BE(this._a|0,0),a.writeInt32BE(this._b|0,4),a.writeInt32BE(this._c|0,8),a.writeInt32BE(this._d|0,12),a.writeInt32BE(this._e|0,16),a},l.exports=n}),J_=k6((v,l)=>{var s=e1(),N=jX(),j=_7().Buffer,Z=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],G=new Array(64);function n(){this.init(),this._w=G,N.call(this,64,56)}s(n,N),n.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function f(c,Q0,N0){return N0^c&(Q0^N0)}function b(c,Q0,N0){return c&Q0|N0&(c|Q0)}function e(c){return(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10)}function r(c){return(c>>>6|c<<26)^(c>>>11|c<<21)^(c>>>25|c<<7)}function a(c){return(c>>>7|c<<25)^(c>>>18|c<<14)^c>>>3}function V0(c){return(c>>>17|c<<15)^(c>>>19|c<<13)^c>>>10}n.prototype._update=function(c){for(var Q0=this._w,N0=this._a|0,G0=this._b|0,J0=this._c|0,P0=this._d|0,L0=this._e|0,A0=this._f|0,w0=this._g|0,a0=this._h|0,Y6=0;Y6<16;++Y6)Q0[Y6]=c.readInt32BE(Y6*4);for(;Y6<64;++Y6)Q0[Y6]=V0(Q0[Y6-2])+Q0[Y6-7]+a(Q0[Y6-15])+Q0[Y6-16]|0;for(var D6=0;D6<64;++D6){var b0=a0+r(L0)+f(L0,A0,w0)+Z[D6]+Q0[D6]|0,l6=e(N0)+b(N0,G0,J0)|0;a0=w0,w0=A0,A0=L0,L0=P0+b0|0,P0=J0,J0=G0,G0=N0,N0=b0+l6|0}this._a=N0+this._a|0,this._b=G0+this._b|0,this._c=J0+this._c|0,this._d=P0+this._d|0,this._e=L0+this._e|0,this._f=A0+this._f|0,this._g=w0+this._g|0,this._h=a0+this._h|0},n.prototype._hash=function(){var c=j.allocUnsafe(32);return c.writeInt32BE(this._a,0),c.writeInt32BE(this._b,4),c.writeInt32BE(this._c,8),c.writeInt32BE(this._d,12),c.writeInt32BE(this._e,16),c.writeInt32BE(this._f,20),c.writeInt32BE(this._g,24),c.writeInt32BE(this._h,28),c},l.exports=n}),rE=k6((v,l)=>{var s=e1(),N=J_(),j=jX(),Z=_7().Buffer,G=new Array(64);function n(){this.init(),this._w=G,j.call(this,64,56)}s(n,N),n.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},n.prototype._hash=function(){var f=Z.allocUnsafe(28);return f.writeInt32BE(this._a,0),f.writeInt32BE(this._b,4),f.writeInt32BE(this._c,8),f.writeInt32BE(this._d,12),f.writeInt32BE(this._e,16),f.writeInt32BE(this._f,20),f.writeInt32BE(this._g,24),f},l.exports=n}),S_=k6((v,l)=>{var s=e1(),N=jX(),j=_7().Buffer,Z=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],G=new Array(160);function n(){this.init(),this._w=G,N.call(this,128,112)}s(n,N),n.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function f(G0,J0,P0){return P0^G0&(J0^P0)}function b(G0,J0,P0){return G0&J0|P0&(G0|J0)}function e(G0,J0){return(G0>>>28|J0<<4)^(J0>>>2|G0<<30)^(J0>>>7|G0<<25)}function r(G0,J0){return(G0>>>14|J0<<18)^(G0>>>18|J0<<14)^(J0>>>9|G0<<23)}function a(G0,J0){return(G0>>>1|J0<<31)^(G0>>>8|J0<<24)^G0>>>7}function V0(G0,J0){return(G0>>>1|J0<<31)^(G0>>>8|J0<<24)^(G0>>>7|J0<<25)}function c(G0,J0){return(G0>>>19|J0<<13)^(J0>>>29|G0<<3)^G0>>>6}function Q0(G0,J0){return(G0>>>19|J0<<13)^(J0>>>29|G0<<3)^(G0>>>6|J0<<26)}function N0(G0,J0){return G0>>>0>>0?1:0}n.prototype._update=function(G0){for(var J0=this._w,P0=this._ah|0,L0=this._bh|0,A0=this._ch|0,w0=this._dh|0,a0=this._eh|0,Y6=this._fh|0,D6=this._gh|0,b0=this._hh|0,l6=this._al|0,R=this._bl|0,D=this._cl|0,B=this._dl|0,E=this._el|0,w=this._fl|0,o=this._gl|0,h=this._hl|0,x=0;x<32;x+=2)J0[x]=G0.readInt32BE(x*4),J0[x+1]=G0.readInt32BE(x*4+4);for(;x<160;x+=2){var M=J0[x-30],p=J0[x-30+1],K0=a(M,p),U0=V0(p,M);M=J0[x-4],p=J0[x-4+1];var M0=c(M,p),f0=Q0(p,M),X6=J0[x-14],O6=J0[x-14+1],r0=J0[x-32],j0=J0[x-32+1],d0=U0+O6|0,c6=K0+X6+N0(d0,U0)|0;d0=d0+f0|0,c6=c6+M0+N0(d0,f0)|0,d0=d0+j0|0,c6=c6+r0+N0(d0,j0)|0,J0[x]=c6,J0[x+1]=d0}for(var K6=0;K6<160;K6+=2){c6=J0[K6],d0=J0[K6+1];var I6=b(P0,L0,A0),z0=b(l6,R,D),S0=e(P0,l6),x0=e(l6,P0),_6=r(a0,E),P6=r(E,a0),R6=Z[K6],s8=Z[K6+1],v6=f(a0,Y6,D6),j6=f(E,w,o),h2=h+P6|0,b6=b0+_6+N0(h2,h)|0;h2=h2+j6|0,b6=b6+v6+N0(h2,j6)|0,h2=h2+s8|0,b6=b6+R6+N0(h2,s8)|0,h2=h2+d0|0,b6=b6+c6+N0(h2,d0)|0;var n6=x0+z0|0,a1=S0+I6+N0(n6,x0)|0;b0=D6,h=o,D6=Y6,o=w,Y6=a0,w=E,E=B+h2|0,a0=w0+b6+N0(E,B)|0,w0=A0,B=D,A0=L0,D=R,L0=P0,R=l6,l6=h2+n6|0,P0=b6+a1+N0(l6,h2)|0}this._al=this._al+l6|0,this._bl=this._bl+R|0,this._cl=this._cl+D|0,this._dl=this._dl+B|0,this._el=this._el+E|0,this._fl=this._fl+w|0,this._gl=this._gl+o|0,this._hl=this._hl+h|0,this._ah=this._ah+P0+N0(this._al,l6)|0,this._bh=this._bh+L0+N0(this._bl,R)|0,this._ch=this._ch+A0+N0(this._cl,D)|0,this._dh=this._dh+w0+N0(this._dl,B)|0,this._eh=this._eh+a0+N0(this._el,E)|0,this._fh=this._fh+Y6+N0(this._fl,w)|0,this._gh=this._gh+D6+N0(this._gl,o)|0,this._hh=this._hh+b0+N0(this._hl,h)|0},n.prototype._hash=function(){var G0=j.allocUnsafe(64);function J0(P0,L0,A0){G0.writeInt32BE(P0,A0),G0.writeInt32BE(L0,A0+4)}return J0(this._ah,this._al,0),J0(this._bh,this._bl,8),J0(this._ch,this._cl,16),J0(this._dh,this._dl,24),J0(this._eh,this._el,32),J0(this._fh,this._fl,40),J0(this._gh,this._gl,48),J0(this._hh,this._hl,56),G0},l.exports=n}),hE=k6((v,l)=>{var s=e1(),N=S_(),j=jX(),Z=_7().Buffer,G=new Array(160);function n(){this.init(),this._w=G,j.call(this,128,112)}s(n,N),n.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},n.prototype._hash=function(){var f=Z.allocUnsafe(48);function b(e,r,a){f.writeInt32BE(e,a),f.writeInt32BE(r,a+4)}return b(this._ah,this._al,0),b(this._bh,this._bl,8),b(this._ch,this._cl,16),b(this._dh,this._dl,24),b(this._eh,this._el,32),b(this._fh,this._fl,40),f},l.exports=n}),NU=k6((s,l)=>{var s=l.exports=function(N){N=N.toLowerCase();var j=s[N];if(!j)throw new Error(N+" is not supported (we accept pull requests)");return new j};s.sha=oE(),s.sha1=nE(),s.sha224=rE(),s.sha256=J_(),s.sha384=hE(),s.sha512=S_()}),i9=k6((v,l)=>{l.exports={ArrayIsArray(s){return Array.isArray(s)},ArrayPrototypeIncludes(s,N){return s.includes(N)},ArrayPrototypeIndexOf(s,N){return s.indexOf(N)},ArrayPrototypeJoin(s,N){return s.join(N)},ArrayPrototypeMap(s,N){return s.map(N)},ArrayPrototypePop(s,N){return s.pop(N)},ArrayPrototypePush(s,N){return s.push(N)},ArrayPrototypeSlice(s,N,j){return s.slice(N,j)},Error,FunctionPrototypeCall(s,N,...j){return s.call(N,...j)},FunctionPrototypeSymbolHasInstance(s,N){return Function.prototype[Symbol.hasInstance].call(s,N)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(s,N){return Object.defineProperties(s,N)},ObjectDefineProperty(s,N,j){return Object.defineProperty(s,N,j)},ObjectGetOwnPropertyDescriptor(s,N){return Object.getOwnPropertyDescriptor(s,N)},ObjectKeys(s){return Object.keys(s)},ObjectSetPrototypeOf(s,N){return Object.setPrototypeOf(s,N)},Promise,PromisePrototypeCatch(s,N){return s.catch(N)},PromisePrototypeThen(s,N,j){return s.then(N,j)},PromiseReject(s){return Promise.reject(s)},ReflectApply:Reflect.apply,RegExpPrototypeTest(s,N){return s.test(N)},SafeSet:Set,String,StringPrototypeSlice(s,N,j){return s.slice(N,j)},StringPrototypeToLowerCase(s){return s.toLowerCase()},StringPrototypeToUpperCase(s){return s.toUpperCase()},StringPrototypeTrim(s){return s.trim()},Symbol,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,TypedArrayPrototypeSet(s,N,j){return s.set(N,j)},Uint8Array}}),dV=k6((v,l)=>{var s=H3(),N=Object.getPrototypeOf(async function(){}).constructor,j=globalThis.Blob||s.Blob,Z=typeof j<"u"?function(n){return n instanceof j}:function(n){return!1},G=class extends Error{constructor(n){if(!Array.isArray(n))throw new TypeError(`Expected input to be an Array, got ${typeof n}`);let f="";for(let b=0;b{n=b,f=e}),resolve:n,reject:f}},promisify(n){return new Promise((f,b)=>{n((e,...r)=>e?b(e):f(...r))})},debuglog(){return function(){}},format(n,...f){return n.replace(/%([sdifj])/g,function(...[b,e]){let r=f.shift();return e==="f"?r.toFixed(6):e==="j"?JSON.stringify(r):e==="s"&&typeof r=="object"?`${r.constructor!==Object?r.constructor.name:""} {}`.trim():r.toString()})},inspect(n){switch(typeof n){case"string":if(n.includes("'"))if(n.includes('"')){if(!n.includes("`")&&!n.includes("${"))return`\`${n}\``}else return`"${n}"`;return`'${n}'`;case"number":return isNaN(n)?"NaN":Object.is(n,-0)?String(n):n;case"bigint":return`${String(n)}n`;case"boolean":case"undefined":return String(n);case"object":return"{}"}},types:{isAsyncFunction(n){return n instanceof N},isArrayBufferView(n){return ArrayBuffer.isView(n)}},isBlob:Z},l.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}),UU=k6((v,l)=>{var{AbortController:s,AbortSignal:N}=typeof self<"u"?self:typeof window<"u"?window:void 0;l.exports=s,l.exports.AbortSignal=N,l.exports.default=s}),X4=k6((v,l)=>{var{format:s,inspect:N,AggregateError:j}=dV(),Z=globalThis.AggregateError||j,G=Symbol("kIsNodeError"),n=["string","function","number","object","Function","Object","boolean","bigint","symbol"],f=/^([A-Z][a-z0-9]*)+$/,b="__node_internal_",e={};function r(J0,P0){if(!J0)throw new e.ERR_INTERNAL_ASSERTION(P0)}function a(J0){let P0="",L0=J0.length,A0=J0[0]==="-"?1:0;for(;L0>=A0+4;L0-=3)P0=`_${J0.slice(L0-3,L0)}${P0}`;return`${J0.slice(0,L0)}${P0}`}function V0(J0,P0,L0){if(typeof P0=="function")return r(P0.length<=L0.length,`Code: ${J0}; The provided arguments length (${L0.length}) does not match the required ones (${P0.length}).`),P0(...L0);let A0=(P0.match(/%[dfijoOs]/g)||[]).length;return r(A0===L0.length,`Code: ${J0}; The provided arguments length (${L0.length}) does not match the required ones (${A0}).`),L0.length===0?P0:s(P0,...L0)}function c(J0,P0,L0){L0||(L0=Error);class A0 extends L0{constructor(...w0){super(V0(J0,P0,w0))}toString(){return`${this.name} [${J0}]: ${this.message}`}}Object.defineProperties(A0.prototype,{name:{value:L0.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${J0}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),A0.prototype.code=J0,A0.prototype[G]=!0,e[J0]=A0}function Q0(J0){let P0=b+J0.name;return Object.defineProperty(J0,"name",{value:P0}),J0}function N0(J0,P0){if(J0&&P0&&J0!==P0){if(Array.isArray(P0.errors))return P0.errors.push(J0),P0;let L0=new Z([P0,J0],P0.message);return L0.code=P0.code,L0}return J0||P0}var G0=class extends Error{constructor(J0="The operation was aborted",P0=void 0){if(P0!==void 0&&typeof P0!="object")throw new e.ERR_INVALID_ARG_TYPE("options","Object",P0);super(J0,P0),this.code="ABORT_ERR",this.name="AbortError"}};c("ERR_ASSERTION","%s",Error),c("ERR_INVALID_ARG_TYPE",(J0,P0,L0)=>{r(typeof J0=="string","'name' must be a string"),Array.isArray(P0)||(P0=[P0]);let A0="The ";J0.endsWith(" argument")?A0+=`${J0} `:A0+=`"${J0}" ${J0.includes(".")?"property":"argument"} `,A0+="must be ";let w0=[],a0=[],Y6=[];for(let b0 of P0)r(typeof b0=="string","All expected entries have to be of type string"),n.includes(b0)?w0.push(b0.toLowerCase()):f.test(b0)?a0.push(b0):(r(b0!=="object",'The value "object" should be written as "Object"'),Y6.push(b0));if(a0.length>0){let b0=w0.indexOf("object");b0!==-1&&(w0.splice(w0,b0,1),a0.push("Object"))}if(w0.length>0){switch(w0.length){case 1:A0+=`of type ${w0[0]}`;break;case 2:A0+=`one of type ${w0[0]} or ${w0[1]}`;break;default:{let b0=w0.pop();A0+=`one of type ${w0.join(", ")}, or ${b0}`}}(a0.length>0||Y6.length>0)&&(A0+=" or ")}if(a0.length>0){switch(a0.length){case 1:A0+=`an instance of ${a0[0]}`;break;case 2:A0+=`an instance of ${a0[0]} or ${a0[1]}`;break;default:{let b0=a0.pop();A0+=`an instance of ${a0.join(", ")}, or ${b0}`}}Y6.length>0&&(A0+=" or ")}switch(Y6.length){case 0:break;case 1:Y6[0].toLowerCase()!==Y6[0]&&(A0+="an "),A0+=`${Y6[0]}`;break;case 2:A0+=`one of ${Y6[0]} or ${Y6[1]}`;break;default:{let b0=Y6.pop();A0+=`one of ${Y6.join(", ")}, or ${b0}`}}if(L0==null)A0+=`. Received ${L0}`;else if(typeof L0=="function"&&L0.name)A0+=`. Received function ${L0.name}`;else if(typeof L0=="object"){var D6;(D6=L0.constructor)!==null&&D6!==void 0&&D6.name?A0+=`. Received an instance of ${L0.constructor.name}`:A0+=`. Received ${N(L0,{depth:-1})}`}else{let b0=N(L0,{colors:!1});b0.length>25&&(b0=`${b0.slice(0,25)}...`),A0+=`. Received type ${typeof L0} (${b0})`}return A0},TypeError),c("ERR_INVALID_ARG_VALUE",(J0,P0,L0="is invalid")=>{let A0=N(P0);return A0.length>128&&(A0=A0.slice(0,128)+"..."),`The ${J0.includes(".")?"property":"argument"} '${J0}' ${L0}. Received ${A0}`},TypeError),c("ERR_INVALID_RETURN_VALUE",(J0,P0,L0)=>{var A0;let w0=L0!=null&&(A0=L0.constructor)!==null&&A0!==void 0&&A0.name?`instance of ${L0.constructor.name}`:`type ${typeof L0}`;return`Expected ${J0} to be returned from the "${P0}" function but got ${w0}.`},TypeError),c("ERR_MISSING_ARGS",(...J0)=>{r(J0.length>0,"At least one arg needs to be specified");let P0,L0=J0.length;switch(J0=(Array.isArray(J0)?J0:[J0]).map((A0)=>`"${A0}"`).join(" or "),L0){case 1:P0+=`The ${J0[0]} argument`;break;case 2:P0+=`The ${J0[0]} and ${J0[1]} arguments`;break;default:{let A0=J0.pop();P0+=`The ${J0.join(", ")}, and ${A0} arguments`}break}return`${P0} must be specified`},TypeError),c("ERR_OUT_OF_RANGE",(J0,P0,L0)=>{r(P0,'Missing "range" argument');let A0;return Number.isInteger(L0)&&Math.abs(L0)>4294967296?A0=a(String(L0)):typeof L0=="bigint"?(A0=String(L0),(L0>2n**32n||L0<-(2n**32n))&&(A0=a(A0)),A0+="n"):A0=N(L0),`The value of "${J0}" is out of range. It must be ${P0}. Received ${A0}`},RangeError),c("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),c("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),c("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),c("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),c("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),c("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),c("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),c("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),c("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),c("ERR_STREAM_WRITE_AFTER_END","write after end",Error),c("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),l.exports={AbortError:G0,aggregateTwoErrors:Q0(N0),hideStackFrames:Q0,codes:e}}),sQ=k6((v,l)=>{var{ArrayIsArray:s,ArrayPrototypeIncludes:N,ArrayPrototypeJoin:j,ArrayPrototypeMap:Z,NumberIsInteger:G,NumberIsNaN:n,NumberMAX_SAFE_INTEGER:f,NumberMIN_SAFE_INTEGER:b,NumberParseInt:e,ObjectPrototypeHasOwnProperty:r,RegExpPrototypeExec:a,String:V0,StringPrototypeToUpperCase:c,StringPrototypeTrim:Q0}=i9(),{hideStackFrames:N0,codes:{ERR_SOCKET_BAD_PORT:G0,ERR_INVALID_ARG_TYPE:J0,ERR_INVALID_ARG_VALUE:P0,ERR_OUT_OF_RANGE:L0,ERR_UNKNOWN_SIGNAL:A0}}=X4(),{normalizeEncoding:w0}=dV(),{isAsyncFunction:a0,isArrayBufferView:Y6}=dV().types,D6={};function b0(z0){return z0===(z0|0)}function l6(z0){return z0===z0>>>0}var R=/^[0-7]+$/,D="must be a 32-bit unsigned integer or an octal string";function B(z0,S0,x0){if(typeof z0>"u"&&(z0=x0),typeof z0=="string"){if(a(R,z0)===null)throw new P0(S0,z0,D);z0=e(z0,8)}return o(z0,S0),z0}var E=N0((z0,S0,x0=b,_6=f)=>{if(typeof z0!="number")throw new J0(S0,"number",z0);if(!G(z0))throw new L0(S0,"an integer",z0);if(z0_6)throw new L0(S0,`>= ${x0} && <= ${_6}`,z0)}),w=N0((z0,S0,x0=-2147483648,_6=2147483647)=>{if(typeof z0!="number")throw new J0(S0,"number",z0);if(!G(z0))throw new L0(S0,"an integer",z0);if(z0_6)throw new L0(S0,`>= ${x0} && <= ${_6}`,z0)}),o=N0((z0,S0,x0=!1)=>{if(typeof z0!="number")throw new J0(S0,"number",z0);if(!G(z0))throw new L0(S0,"an integer",z0);let _6=x0?1:0,P6=4294967295;if(z0<_6||z0>P6)throw new L0(S0,`>= ${_6} && <= ${P6}`,z0)});function h(z0,S0){if(typeof z0!="string")throw new J0(S0,"string",z0)}function x(z0,S0,x0=void 0,_6){if(typeof z0!="number")throw new J0(S0,"number",z0);if(x0!=null&&z0_6||(x0!=null||_6!=null)&&n(z0))throw new L0(S0,`${x0!=null?`>= ${x0}`:""}${x0!=null&&_6!=null?" && ":""}${_6!=null?`<= ${_6}`:""}`,z0)}var M=N0((z0,S0,x0)=>{if(!N(x0,z0)){let _6=j(Z(x0,(R6)=>typeof R6=="string"?`'${R6}'`:V0(R6)),", "),P6="must be one of: "+_6;throw new P0(S0,z0,P6)}});function p(z0,S0){if(typeof z0!="boolean")throw new J0(S0,"boolean",z0)}function K0(z0,S0,x0){return z0==null||!r(z0,S0)?x0:z0[S0]}var U0=N0((z0,S0,x0=null)=>{let _6=K0(x0,"allowArray",!1),P6=K0(x0,"allowFunction",!1);if(!K0(x0,"nullable",!1)&&z0===null||!_6&&s(z0)||typeof z0!="object"&&(!P6||typeof z0!="function"))throw new J0(S0,"Object",z0)}),M0=N0((z0,S0,x0=0)=>{if(!s(z0))throw new J0(S0,"Array",z0);if(z0.length{if(!Y6(z0))throw new J0(S0,["Buffer","TypedArray","DataView"],z0)});function O6(z0,S0){let x0=w0(S0),_6=z0.length;if(x0==="hex"&&_6%2!==0)throw new P0("encoding",S0,`is invalid for data of length ${_6}`)}function r0(z0,S0="Port",x0=!0){if(typeof z0!="number"&&typeof z0!="string"||typeof z0=="string"&&Q0(z0).length===0||+z0!==+z0>>>0||z0>65535||z0===0&&!x0)throw new G0(S0,z0,x0);return z0|0}var j0=N0((z0,S0)=>{if(z0!==void 0&&(z0===null||typeof z0!="object"||!("aborted"in z0)))throw new J0(S0,"AbortSignal",z0)}),d0=N0((z0,S0)=>{if(typeof z0!="function")throw new J0(S0,"Function",z0)}),c6=N0((z0,S0)=>{if(typeof z0!="function"||a0(z0))throw new J0(S0,"Function",z0)}),K6=N0((z0,S0)=>{if(z0!==void 0)throw new J0(S0,"undefined",z0)});function I6(z0,S0,x0){if(!N(x0,z0))throw new J0(S0,`('${j(x0,"|")}')`,z0)}l.exports={isInt32:b0,isUint32:l6,parseFileMode:B,validateArray:M0,validateBoolean:p,validateBuffer:X6,validateEncoding:O6,validateFunction:d0,validateInt32:w,validateInteger:E,validateNumber:x,validateObject:U0,validateOneOf:M,validatePlainFunction:c6,validatePort:r0,validateSignalName:f0,validateString:h,validateUint32:o,validateUndefined:K6,validateUnion:I6,validateAbortSignal:j0}}),cR=k6((v,l)=>{var s=l.exports={},N,j;function Z(){throw new Error("setTimeout has not been defined")}function G(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?N=setTimeout:N=Z}catch{N=Z}try{typeof clearTimeout=="function"?j=clearTimeout:j=G}catch{j=G}})();function n(G0){if(N===setTimeout)return setTimeout(G0,0);if((N===Z||!N)&&setTimeout)return N=setTimeout,setTimeout(G0,0);try{return N(G0,0)}catch{try{return N.call(null,G0,0)}catch{return N.call(this,G0,0)}}}function f(G0){if(j===clearTimeout)return clearTimeout(G0);if((j===G||!j)&&clearTimeout)return j=clearTimeout,clearTimeout(G0);try{return j(G0)}catch{try{return j.call(null,G0)}catch{return j.call(this,G0)}}}var b=[],e=!1,r,a=-1;function V0(){!e||!r||(e=!1,r.length?b=r.concat(b):a=-1,b.length&&c())}function c(){if(!e){var G0=n(V0);e=!0;for(var J0=b.length;J0;){for(r=b,b=[];++a1)for(var P0=1;P0R_});VX=$U(()=>{TU(eV,cT(cR())),R_=cT(cR())}),$X=k6((v,l)=>{var{Symbol:s,SymbolAsyncIterator:N,SymbolIterator:j}=i9(),Z=s("kDestroyed"),G=s("kIsErrored"),n=s("kIsReadable"),f=s("kIsDisturbed");function b(E,w=!1){var o;return!!(E&&typeof E.pipe=="function"&&typeof E.on=="function"&&(!w||typeof E.pause=="function"&&typeof E.resume=="function")&&(!E._writableState||((o=E._readableState)===null||o===void 0?void 0:o.readable)!==!1)&&(!E._writableState||E._readableState))}function e(E){var w;return!!(E&&typeof E.write=="function"&&typeof E.on=="function"&&(!E._readableState||((w=E._writableState)===null||w===void 0?void 0:w.writable)!==!1))}function r(E){return!!(E&&typeof E.pipe=="function"&&E._readableState&&typeof E.on=="function"&&typeof E.write=="function")}function a(E){return E&&(E._readableState||E._writableState||typeof E.write=="function"&&typeof E.on=="function"||typeof E.pipe=="function"&&typeof E.on=="function")}function V0(E,w){return E==null?!1:w===!0?typeof E[N]=="function":w===!1?typeof E[j]=="function":typeof E[N]=="function"||typeof E[j]=="function"}function c(E){if(!a(E))return null;let{_writableState:w,_readableState:o}=E,h=w||o;return!!(E.destroyed||E[Z]||h!=null&&h.destroyed)}function Q0(E){if(!e(E))return null;if(E.writableEnded===!0)return!0;let w=E._writableState;return w!=null&&w.errored?!1:typeof w?.ended!="boolean"?null:w.ended}function N0(E,w){if(!e(E))return null;if(E.writableFinished===!0)return!0;let o=E._writableState;return o!=null&&o.errored?!1:typeof o?.finished!="boolean"?null:!!(o.finished||w===!1&&o.ended===!0&&o.length===0)}function G0(E){if(!b(E))return null;if(E.readableEnded===!0)return!0;let w=E._readableState;return!w||w.errored?!1:typeof w?.ended!="boolean"?null:w.ended}function J0(E,w){if(!b(E))return null;let o=E._readableState;return o!=null&&o.errored?!1:typeof o?.endEmitted!="boolean"?null:!!(o.endEmitted||w===!1&&o.ended===!0&&o.length===0)}function P0(E){return E&&E[n]!=null?E[n]:typeof E?.readable!="boolean"?null:c(E)?!1:b(E)&&E.readable&&!J0(E)}function L0(E){return typeof E?.writable!="boolean"?null:c(E)?!1:e(E)&&E.writable&&!Q0(E)}function A0(E,w){return a(E)?c(E)?!0:!(w?.readable!==!1&&P0(E)||w?.writable!==!1&&L0(E)):null}function w0(E){var w,o;return a(E)?E.writableErrored?E.writableErrored:(w=(o=E._writableState)===null||o===void 0?void 0:o.errored)!==null&&w!==void 0?w:null:null}function a0(E){var w,o;return a(E)?E.readableErrored?E.readableErrored:(w=(o=E._readableState)===null||o===void 0?void 0:o.errored)!==null&&w!==void 0?w:null:null}function Y6(E){if(!a(E))return null;if(typeof E.closed=="boolean")return E.closed;let{_writableState:w,_readableState:o}=E;return typeof w?.closed=="boolean"||typeof o?.closed=="boolean"?w?.closed||o?.closed:typeof E._closed=="boolean"&&D6(E)?E._closed:null}function D6(E){return typeof E._closed=="boolean"&&typeof E._defaultKeepAlive=="boolean"&&typeof E._removedConnection=="boolean"&&typeof E._removedContLen=="boolean"}function b0(E){return typeof E._sent100=="boolean"&&D6(E)}function l6(E){var w;return typeof E._consuming=="boolean"&&typeof E._dumped=="boolean"&&((w=E.req)===null||w===void 0?void 0:w.upgradeOrConnect)===void 0}function R(E){if(!a(E))return null;let{_writableState:w,_readableState:o}=E,h=w||o;return!h&&b0(E)||!!(h&&h.autoDestroy&&h.emitClose&&h.closed===!1)}function D(E){var w;return!!(E&&((w=E[f])!==null&&w!==void 0?w:E.readableDidRead||E.readableAborted))}function B(E){var w,o,h,x,M,p,K0,U0,M0,f0;return!!(E&&((w=(o=(h=(x=(M=(p=E[G])!==null&&p!==void 0?p:E.readableErrored)!==null&&M!==void 0?M:E.writableErrored)!==null&&x!==void 0?x:(K0=E._readableState)===null||K0===void 0?void 0:K0.errorEmitted)!==null&&h!==void 0?h:(U0=E._writableState)===null||U0===void 0?void 0:U0.errorEmitted)!==null&&o!==void 0?o:(M0=E._readableState)===null||M0===void 0?void 0:M0.errored)!==null&&w!==void 0?w:(f0=E._writableState)===null||f0===void 0?void 0:f0.errored))}l.exports={kDestroyed:Z,isDisturbed:D,kIsDisturbed:f,isErrored:B,kIsErrored:G,isReadable:P0,kIsReadable:n,isClosed:Y6,isDestroyed:c,isDuplexNodeStream:r,isFinished:A0,isIterable:V0,isReadableNodeStream:b,isReadableEnded:G0,isReadableFinished:J0,isReadableErrored:a0,isNodeStream:a,isWritable:L0,isWritableNodeStream:e,isWritableEnded:Q0,isWritableFinished:N0,isWritableErrored:w0,isServerRequest:l6,isServerResponse:b0,willEmitClose:R}}),TX=k6((v,l)=>{var s=(VX(),e4(eV)),{AbortError:N,codes:j}=X4(),{ERR_INVALID_ARG_TYPE:Z,ERR_STREAM_PREMATURE_CLOSE:G}=j,{kEmptyObject:n,once:f}=dV(),{validateAbortSignal:b,validateFunction:e,validateObject:r}=sQ(),{Promise:a}=i9(),{isClosed:V0,isReadable:c,isReadableNodeStream:Q0,isReadableFinished:N0,isReadableErrored:G0,isWritable:J0,isWritableNodeStream:P0,isWritableFinished:L0,isWritableErrored:A0,isNodeStream:w0,willEmitClose:a0}=$X();function Y6(R){return R.setHeader&&typeof R.abort=="function"}var D6=()=>{};function b0(R,D,B){var E,w;arguments.length===2?(B=D,D=n):D==null?D=n:r(D,"options"),e(B,"callback"),b(D.signal,"options.signal"),B=f(B);let o=(E=D.readable)!==null&&E!==void 0?E:Q0(R),h=(w=D.writable)!==null&&w!==void 0?w:P0(R);if(!w0(R))throw new Z("stream","Stream",R);let{_writableState:x,_readableState:M}=R,p=()=>{R.writable||M0()},K0=a0(R)&&Q0(R)===o&&P0(R)===h,U0=L0(R,!1),M0=()=>{U0=!0,R.destroyed&&(K0=!1),!(K0&&(!R.readable||o))&&(!o||f0)&&B.call(R)},f0=N0(R,!1),X6=()=>{f0=!0,R.destroyed&&(K0=!1),!(K0&&(!R.writable||h))&&(!h||U0)&&B.call(R)},O6=(K6)=>{B.call(R,K6)},r0=V0(R),j0=()=>{r0=!0;let K6=A0(R)||G0(R);if(K6&&typeof K6!="boolean")return B.call(R,K6);if(o&&!f0&&Q0(R,!0)&&!N0(R,!1))return B.call(R,new G);if(h&&!U0&&!L0(R,!1))return B.call(R,new G);B.call(R)},d0=()=>{R.req.on("finish",M0)};Y6(R)?(R.on("complete",M0),K0||R.on("abort",j0),R.req?d0():R.on("request",d0)):h&&!x&&(R.on("end",p),R.on("close",p)),!K0&&typeof R.aborted=="boolean"&&R.on("aborted",j0),R.on("end",X6),R.on("finish",M0),D.error!==!1&&R.on("error",O6),R.on("close",j0),r0?s.nextTick(j0):x!=null&&x.errorEmitted||M!=null&&M.errorEmitted?K0||s.nextTick(j0):(!o&&(!K0||c(R))&&(U0||J0(R)===!1)||!h&&(!K0||J0(R))&&(f0||c(R)===!1)||M&&R.req&&R.aborted)&&s.nextTick(j0);let c6=()=>{B=D6,R.removeListener("aborted",j0),R.removeListener("complete",M0),R.removeListener("abort",j0),R.removeListener("request",d0),R.req&&R.req.removeListener("finish",M0),R.removeListener("end",p),R.removeListener("close",p),R.removeListener("finish",M0),R.removeListener("end",X6),R.removeListener("error",O6),R.removeListener("close",j0)};if(D.signal&&!r0){let K6=()=>{let I6=B;c6(),I6.call(R,new N(void 0,{cause:D.signal.reason}))};if(D.signal.aborted)s.nextTick(K6);else{let I6=B;B=f((...z0)=>{D.signal.removeEventListener("abort",K6),I6.apply(R,z0)}),D.signal.addEventListener("abort",K6)}}return c6}function l6(R,D){return new a((B,E)=>{b0(R,D,(w)=>{w?E(w):B()})})}l.exports=b0,l.exports.finished=l6}),gE=k6((v,l)=>{var s=globalThis.AbortController||UU().AbortController,{codes:{ERR_INVALID_ARG_TYPE:N,ERR_MISSING_ARGS:j,ERR_OUT_OF_RANGE:Z},AbortError:G}=X4(),{validateAbortSignal:n,validateInteger:f,validateObject:b}=sQ(),e=i9().Symbol("kWeak"),{finished:r}=TX(),{ArrayPrototypePush:a,MathFloor:V0,Number:c,NumberIsNaN:Q0,Promise:N0,PromiseReject:G0,PromisePrototypeThen:J0,Symbol:P0}=i9(),L0=P0("kEmpty"),A0=P0("kEof");function w0(M,p){if(typeof M!="function")throw new N("fn",["Function","AsyncFunction"],M);p!=null&&b(p,"options"),p?.signal!=null&&n(p.signal,"options.signal");let K0=1;return p?.concurrency!=null&&(K0=V0(p.concurrency)),f(K0,"concurrency",1),async function*(){var U0,M0;let f0=new s,X6=this,O6=[],r0=f0.signal,j0={signal:r0},d0=()=>f0.abort();p!=null&&(U0=p.signal)!==null&&U0!==void 0&&U0.aborted&&d0(),p==null||(M0=p.signal)===null||M0===void 0||M0.addEventListener("abort",d0);let c6,K6,I6=!1;function z0(){I6=!0}async function S0(){try{for await(let P6 of X6){var x0;if(I6)return;if(r0.aborted)throw new G;try{P6=M(P6,j0)}catch(R6){P6=G0(R6)}P6!==L0&&(typeof((x0=P6)===null||x0===void 0?void 0:x0.catch)=="function"&&P6.catch(z0),O6.push(P6),c6&&(c6(),c6=null),!I6&&O6.length&&O6.length>=K0&&await new N0((R6)=>{K6=R6}))}O6.push(A0)}catch(P6){let R6=G0(P6);J0(R6,void 0,z0),O6.push(R6)}finally{var _6;I6=!0,c6&&(c6(),c6=null),p==null||(_6=p.signal)===null||_6===void 0||_6.removeEventListener("abort",d0)}}S0();try{for(;;){for(;O6.length>0;){let x0=await O6[0];if(x0===A0)return;if(r0.aborted)throw new G;x0!==L0&&(yield x0),O6.shift(),K6&&(K6(),K6=null)}await new N0((x0)=>{c6=x0})}}finally{f0.abort(),I6=!0,K6&&(K6(),K6=null)}}.call(this)}function a0(M=void 0){return M!=null&&b(M,"options"),M?.signal!=null&&n(M.signal,"options.signal"),async function*(){let p=0;for await(let U0 of this){var K0;if(M!=null&&(K0=M.signal)!==null&&K0!==void 0&&K0.aborted)throw new G({cause:M.signal.reason});yield[p++,U0]}}.call(this)}async function Y6(M,p=void 0){for await(let K0 of R.call(this,M,p))return!0;return!1}async function D6(M,p=void 0){if(typeof M!="function")throw new N("fn",["Function","AsyncFunction"],M);return!await Y6.call(this,async(...K0)=>!await M(...K0),p)}async function b0(M,p){for await(let K0 of R.call(this,M,p))return K0}async function l6(M,p){if(typeof M!="function")throw new N("fn",["Function","AsyncFunction"],M);async function K0(U0,M0){return await M(U0,M0),L0}for await(let U0 of w0.call(this,K0,p));}function R(M,p){if(typeof M!="function")throw new N("fn",["Function","AsyncFunction"],M);async function K0(U0,M0){return await M(U0,M0)?U0:L0}return w0.call(this,K0,p)}var D=class extends j{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}};async function B(M,p,K0){var U0;if(typeof M!="function")throw new N("reducer",["Function","AsyncFunction"],M);K0!=null&&b(K0,"options"),K0?.signal!=null&&n(K0.signal,"options.signal");let M0=arguments.length>1;if(K0!=null&&(U0=K0.signal)!==null&&U0!==void 0&&U0.aborted){let j0=new G(void 0,{cause:K0.signal.reason});throw this.once("error",()=>{}),await r(this.destroy(j0)),j0}let f0=new s,X6=f0.signal;if(K0!=null&&K0.signal){let j0={once:!0,[e]:this};K0.signal.addEventListener("abort",()=>f0.abort(),j0)}let O6=!1;try{for await(let j0 of this){var r0;if(O6=!0,K0!=null&&(r0=K0.signal)!==null&&r0!==void 0&&r0.aborted)throw new G;M0?p=await M(p,j0,{signal:X6}):(p=j0,M0=!0)}if(!O6&&!M0)throw new D}finally{f0.abort()}return p}async function E(M){M!=null&&b(M,"options"),M?.signal!=null&&n(M.signal,"options.signal");let p=[];for await(let U0 of this){var K0;if(M!=null&&(K0=M.signal)!==null&&K0!==void 0&&K0.aborted)throw new G(void 0,{cause:M.signal.reason});a(p,U0)}return p}function w(M,p){let K0=w0.call(this,M,p);return async function*(){for await(let U0 of K0)yield*U0}.call(this)}function o(M){if(M=c(M),Q0(M))return 0;if(M<0)throw new Z("number",">= 0",M);return M}function h(M,p=void 0){return p!=null&&b(p,"options"),p?.signal!=null&&n(p.signal,"options.signal"),M=o(M),async function*(){var K0;if(p!=null&&(K0=p.signal)!==null&&K0!==void 0&&K0.aborted)throw new G;for await(let M0 of this){var U0;if(p!=null&&(U0=p.signal)!==null&&U0!==void 0&&U0.aborted)throw new G;M--<=0&&(yield M0)}}.call(this)}function x(M,p=void 0){return p!=null&&b(p,"options"),p?.signal!=null&&n(p.signal,"options.signal"),M=o(M),async function*(){var K0;if(p!=null&&(K0=p.signal)!==null&&K0!==void 0&&K0.aborted)throw new G;for await(let M0 of this){var U0;if(p!=null&&(U0=p.signal)!==null&&U0!==void 0&&U0.aborted)throw new G;if(M-- >0)yield M0;else return}}.call(this)}l.exports.streamReturningOperators={asIndexedPairs:a0,drop:h,filter:R,flatMap:w,map:w0,take:x},l.exports.promiseReturningOperators={every:D6,forEach:l6,reduce:B,toArray:E,some:Y6,find:b0}}),kX=k6((v,l)=>{var s=(VX(),e4(eV)),{aggregateTwoErrors:N,codes:{ERR_MULTIPLE_CALLBACK:j},AbortError:Z}=X4(),{Symbol:G}=i9(),{kDestroyed:n,isDestroyed:f,isFinished:b,isServerRequest:e}=$X(),r=G("kDestroy"),a=G("kConstruct");function V0(R,D,B){R&&(R.stack,D&&!D.errored&&(D.errored=R),B&&!B.errored&&(B.errored=R))}function c(R,D){let B=this._readableState,E=this._writableState,w=E||B;return E&&E.destroyed||B&&B.destroyed?(typeof D=="function"&&D(),this):(V0(R,E,B),E&&(E.destroyed=!0),B&&(B.destroyed=!0),w.constructed?Q0(this,R,D):this.once(r,function(o){Q0(this,N(o,R),D)}),this)}function Q0(R,D,B){let E=!1;function w(o){if(E)return;E=!0;let{_readableState:h,_writableState:x}=R;V0(o,x,h),x&&(x.closed=!0),h&&(h.closed=!0),typeof B=="function"&&B(o),o?s.nextTick(N0,R,o):s.nextTick(G0,R)}try{R._destroy(D||null,w)}catch(o){w(o)}}function N0(R,D){J0(R,D),G0(R)}function G0(R){let{_readableState:D,_writableState:B}=R;B&&(B.closeEmitted=!0),D&&(D.closeEmitted=!0),(B&&B.emitClose||D&&D.emitClose)&&R.emit("close")}function J0(R,D){let{_readableState:B,_writableState:E}=R;E&&E.errorEmitted||B&&B.errorEmitted||(E&&(E.errorEmitted=!0),B&&(B.errorEmitted=!0),R.emit("error",D))}function P0(){let R=this._readableState,D=this._writableState;R&&(R.constructed=!0,R.closed=!1,R.closeEmitted=!1,R.destroyed=!1,R.errored=null,R.errorEmitted=!1,R.reading=!1,R.ended=R.readable===!1,R.endEmitted=R.readable===!1),D&&(D.constructed=!0,D.destroyed=!1,D.closed=!1,D.closeEmitted=!1,D.errored=null,D.errorEmitted=!1,D.finalCalled=!1,D.prefinished=!1,D.ended=D.writable===!1,D.ending=D.writable===!1,D.finished=D.writable===!1)}function L0(R,D,B){let{_readableState:E,_writableState:w}=R;if(w&&w.destroyed||E&&E.destroyed)return this;E&&E.autoDestroy||w&&w.autoDestroy?R.destroy(D):D&&(D.stack,w&&!w.errored&&(w.errored=D),E&&!E.errored&&(E.errored=D),B?s.nextTick(J0,R,D):J0(R,D))}function A0(R,D){if(typeof R._construct!="function")return;let{_readableState:B,_writableState:E}=R;B&&(B.constructed=!1),E&&(E.constructed=!1),R.once(a,D),!(R.listenerCount(a)>1)&&s.nextTick(w0,R)}function w0(R){let D=!1;function B(E){if(D){L0(R,E??new j);return}D=!0;let{_readableState:w,_writableState:o}=R,h=o||w;w&&(w.constructed=!0),o&&(o.constructed=!0),h.destroyed?R.emit(r,E):E?L0(R,E,!0):s.nextTick(a0,R)}try{R._construct(B)}catch(E){B(E)}}function a0(R){R.emit(a)}function Y6(R){return R&&R.setHeader&&typeof R.abort=="function"}function D6(R){R.emit("close")}function b0(R,D){R.emit("error",D),s.nextTick(D6,R)}function l6(R,D){!R||f(R)||(!D&&!b(R)&&(D=new Z),e(R)?(R.socket=null,R.destroy(D)):Y6(R)?R.abort():Y6(R.req)?R.req.abort():typeof R.destroy=="function"?R.destroy(D):typeof R.close=="function"?R.close():D?s.nextTick(b0,R,D):s.nextTick(D6,R),R.destroyed||(R[n]=!0))}l.exports={construct:A0,destroyer:l6,destroy:c,undestroy:P0,errorOrDestroy:L0}}),JU=k6((v,l)=>{var{ArrayIsArray:s,ObjectSetPrototypeOf:N}=i9(),{EventEmitter:j}=ZX();function Z(n){j.call(this,n)}N(Z.prototype,j.prototype),N(Z,j),Z.prototype.pipe=function(n,f){let b=this;function e(G0){n.writable&&n.write(G0)===!1&&b.pause&&b.pause()}b.on("data",e);function r(){b.readable&&b.resume&&b.resume()}n.on("drain",r),!n._isStdio&&(!f||f.end!==!1)&&(b.on("end",V0),b.on("close",c));let a=!1;function V0(){a||(a=!0,n.end())}function c(){a||(a=!0,typeof n.destroy=="function"&&n.destroy())}function Q0(G0){N0(),j.listenerCount(this,"error")===0&&this.emit("error",G0)}G(b,"error",Q0),G(n,"error",Q0);function N0(){b.removeListener("data",e),n.removeListener("drain",r),b.removeListener("end",V0),b.removeListener("close",c),b.removeListener("error",Q0),n.removeListener("error",Q0),b.removeListener("end",N0),b.removeListener("close",N0),n.removeListener("close",N0)}return b.on("end",N0),b.on("close",N0),n.on("close",N0),n.emit("pipe",b),n};function G(n,f,b){if(typeof n.prependListener=="function")return n.prependListener(f,b);!n._events||!n._events[f]?n.on(f,b):s(n._events[f])?n._events[f].unshift(b):n._events[f]=[b,n._events[f]]}l.exports={Stream:Z,prependListener:G}}),SU=k6((v,l)=>{var{AbortError:s,codes:N}=X4(),j=TX(),{ERR_INVALID_ARG_TYPE:Z}=N,G=(f,b)=>{if(typeof f!="object"||!("aborted"in f))throw new Z(b,"AbortSignal",f)};function n(f){return!!(f&&typeof f.pipe=="function")}l.exports.addAbortSignal=function(f,b){if(G(f,"signal"),!n(b))throw new Z("stream","stream.Stream",b);return l.exports.addAbortSignalNoValidate(f,b)},l.exports.addAbortSignalNoValidate=function(f,b){if(typeof f!="object"||!("aborted"in f))return b;let e=()=>{b.destroy(new s(void 0,{cause:f.reason}))};return f.aborted?e():(f.addEventListener("abort",e),j(b,()=>f.removeEventListener("abort",e))),b}}),iE=k6((v,l)=>{var{StringPrototypeSlice:s,SymbolIterator:N,TypedArrayPrototypeSet:j,Uint8Array:Z}=i9(),{Buffer:G}=H3(),{inspect:n}=dV();l.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(f){let b={data:f,next:null};this.length>0?this.tail.next=b:this.head=b,this.tail=b,++this.length}unshift(f){let b={data:f,next:this.head};this.length===0&&(this.tail=b),this.head=b,++this.length}shift(){if(this.length===0)return;let f=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,f}clear(){this.head=this.tail=null,this.length=0}join(f){if(this.length===0)return"";let b=this.head,e=""+b.data;for(;(b=b.next)!==null;)e+=f+b.data;return e}concat(f){if(this.length===0)return G.alloc(0);let b=G.allocUnsafe(f>>>0),e=this.head,r=0;for(;e;)j(b,e.data,r),r+=e.data.length,e=e.next;return b}consume(f,b){let e=this.head.data;if(fa.length)b+=a,f-=a.length;else{f===a.length?(b+=a,++r,e.next?this.head=e.next:this.head=this.tail=null):(b+=s(a,0,f),this.head=e,e.data=s(a,f));break}++r}while((e=e.next)!==null);return this.length-=r,b}_getBuffer(f){let b=G.allocUnsafe(f),e=f,r=this.head,a=0;do{let V0=r.data;if(f>V0.length)j(b,V0,e-f),f-=V0.length;else{f===V0.length?(j(b,V0,e-f),++a,r.next?this.head=r.next:this.head=this.tail=null):(j(b,new Z(V0.buffer,V0.byteOffset,f),e-f),this.head=r,r.data=V0.slice(f));break}++a}while((r=r.next)!==null);return this.length-=a,b}[Symbol.for("nodejs.util.inspect.custom")](f,b){return n(this,{...b,depth:0,customInspect:!1})}}}),RU=k6((v,l)=>{var{MathFloor:s,NumberIsInteger:N}=i9(),{ERR_INVALID_ARG_VALUE:j}=X4().codes;function Z(f,b,e){return f.highWaterMark!=null?f.highWaterMark:b?f[e]:null}function G(f){return f?16:16384}function n(f,b,e,r){let a=Z(b,r,e);if(a!=null){if(!N(a)||a<0){let V0=r?`options.${e}`:"options.highWaterMark";throw new j(V0,a)}return s(a)}return G(f.objectMode)}l.exports={getHighWaterMark:n,getDefaultHighWaterMark:G}}),__=k6((v,l)=>{var s=(VX(),e4(eV)),{PromisePrototypeThen:N,SymbolAsyncIterator:j,SymbolIterator:Z}=i9(),{Buffer:G}=H3(),{ERR_INVALID_ARG_TYPE:n,ERR_STREAM_NULL_VALUES:f}=X4().codes;function b(e,r,a){let V0;if(typeof r=="string"||r instanceof G)return new e({objectMode:!0,...a,read(){this.push(r),this.push(null)}});let c;if(r&&r[j])c=!0,V0=r[j]();else if(r&&r[Z])c=!1,V0=r[Z]();else throw new n("iterable",["Iterable"],r);let Q0=new e({objectMode:!0,highWaterMark:1,...a}),N0=!1;Q0._read=function(){N0||(N0=!0,J0())},Q0._destroy=function(P0,L0){N(G0(P0),()=>s.nextTick(L0,P0),(A0)=>s.nextTick(L0,A0||P0))};async function G0(P0){let L0=P0!=null,A0=typeof V0.throw=="function";if(L0&&A0){let{value:w0,done:a0}=await V0.throw(P0);if(await w0,a0)return}if(typeof V0.return=="function"){let{value:w0}=await V0.return();await w0}}async function J0(){for(;;){try{let{value:P0,done:L0}=c?await V0.next():V0.next();if(L0)Q0.push(null);else{let A0=P0&&typeof P0.then=="function"?await P0:P0;if(A0===null)throw N0=!1,new f;if(Q0.push(A0))continue;N0=!1}}catch(P0){Q0.destroy(P0)}break}}return Q0}l.exports=b}),oQ=k6((v,l)=>{var s=(VX(),e4(eV)),{ArrayPrototypeIndexOf:N,NumberIsInteger:j,NumberIsNaN:Z,NumberParseInt:G,ObjectDefineProperties:n,ObjectKeys:f,ObjectSetPrototypeOf:b,Promise:e,SafeSet:r,SymbolAsyncIterator:a,Symbol:V0}=i9();l.exports=K0,K0.ReadableState=p;var{EventEmitter:c}=ZX(),{Stream:Q0,prependListener:N0}=JU(),{Buffer:G0}=H3(),{addAbortSignal:J0}=SU(),P0=TX(),L0=dV().debuglog("stream",($0)=>{L0=$0}),A0=iE(),w0=kX(),{getHighWaterMark:a0,getDefaultHighWaterMark:Y6}=RU(),{aggregateTwoErrors:D6,codes:{ERR_INVALID_ARG_TYPE:b0,ERR_METHOD_NOT_IMPLEMENTED:l6,ERR_OUT_OF_RANGE:R,ERR_STREAM_PUSH_AFTER_EOF:D,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:B}}=X4(),{validateObject:E}=sQ(),w=V0("kPaused"),{StringDecoder:o}=XU(),h=__();b(K0.prototype,Q0.prototype),b(K0,Q0);var x=()=>{},{errorOrDestroy:M}=w0;function p($0,R0,v0){typeof v0!="boolean"&&(v0=R0 instanceof bV()),this.objectMode=!!($0&&$0.objectMode),v0&&(this.objectMode=this.objectMode||!!($0&&$0.readableObjectMode)),this.highWaterMark=$0?a0(this,$0,"readableHighWaterMark",v0):Y6(!1),this.buffer=new A0,this.length=0,this.pipes=[],this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.constructed=!0,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this[w]=null,this.errorEmitted=!1,this.emitClose=!$0||$0.emitClose!==!1,this.autoDestroy=!$0||$0.autoDestroy!==!1,this.destroyed=!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this.defaultEncoding=$0&&$0.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.multiAwaitDrain=!1,this.readingMore=!1,this.dataEmitted=!1,this.decoder=null,this.encoding=null,$0&&$0.encoding&&(this.decoder=new o($0.encoding),this.encoding=$0.encoding)}function K0($0){if(!(this instanceof K0))return new K0($0);let R0=this instanceof bV();this._readableState=new p($0,this,R0),$0&&(typeof $0.read=="function"&&(this._read=$0.read),typeof $0.destroy=="function"&&(this._destroy=$0.destroy),typeof $0.construct=="function"&&(this._construct=$0.construct),$0.signal&&!R0&&J0($0.signal,this)),Q0.call(this,$0),w0.construct(this,()=>{this._readableState.needReadable&&c6(this,this._readableState)})}K0.prototype.destroy=w0.destroy,K0.prototype._undestroy=w0.undestroy,K0.prototype._destroy=function($0,R0){R0($0)},K0.prototype[c.captureRejectionSymbol]=function($0){this.destroy($0)},K0.prototype.push=function($0,R0){return U0(this,$0,R0,!1)},K0.prototype.unshift=function($0,R0){return U0(this,$0,R0,!0)};function U0($0,R0,v0,s0){L0("readableAddChunk",R0);let l0=$0._readableState,$8;if(l0.objectMode||(typeof R0=="string"?(v0=v0||l0.defaultEncoding,l0.encoding!==v0&&(s0&&l0.encoding?R0=G0.from(R0,v0).toString(l0.encoding):(R0=G0.from(R0,v0),v0=""))):R0 instanceof G0?v0="":Q0._isUint8Array(R0)?(R0=Q0._uint8ArrayToBuffer(R0),v0=""):R0!=null&&($8=new b0("chunk",["string","Buffer","Uint8Array"],R0))),$8)M($0,$8);else if(R0===null)l0.reading=!1,r0($0,l0);else if(l0.objectMode||R0&&R0.length>0)if(s0)if(l0.endEmitted)M($0,new B);else{if(l0.destroyed||l0.errored)return!1;M0($0,l0,R0,!0)}else if(l0.ended)M($0,new D);else{if(l0.destroyed||l0.errored)return!1;l0.reading=!1,l0.decoder&&!v0?(R0=l0.decoder.write(R0),l0.objectMode||R0.length!==0?M0($0,l0,R0,!1):c6($0,l0)):M0($0,l0,R0,!1)}else s0||(l0.reading=!1,c6($0,l0));return!l0.ended&&(l0.length0?(R0.multiAwaitDrain?R0.awaitDrainWriters.clear():R0.awaitDrainWriters=null,R0.dataEmitted=!0,$0.emit("data",v0)):(R0.length+=R0.objectMode?1:v0.length,s0?R0.buffer.unshift(v0):R0.buffer.push(v0),R0.needReadable&&j0($0)),c6($0,R0)}K0.prototype.isPaused=function(){let $0=this._readableState;return $0[w]===!0||$0.flowing===!1},K0.prototype.setEncoding=function($0){let R0=new o($0);this._readableState.decoder=R0,this._readableState.encoding=this._readableState.decoder.encoding;let v0=this._readableState.buffer,s0="";for(let l0 of v0)s0+=R0.write(l0);return v0.clear(),s0!==""&&v0.push(s0),this._readableState.length=s0.length,this};var f0=1073741824;function X6($0){if($0>f0)throw new R("size","<= 1GiB",$0);return $0--,$0|=$0>>>1,$0|=$0>>>2,$0|=$0>>>4,$0|=$0>>>8,$0|=$0>>>16,$0++,$0}function O6($0,R0){return $0<=0||R0.length===0&&R0.ended?0:R0.objectMode?1:Z($0)?R0.flowing&&R0.length?R0.buffer.first().length:R0.length:$0<=R0.length?$0:R0.ended?R0.length:0}K0.prototype.read=function($0){L0("read",$0),$0===void 0?$0=NaN:j($0)||($0=G($0,10));let R0=this._readableState,v0=$0;if($0>R0.highWaterMark&&(R0.highWaterMark=X6($0)),$0!==0&&(R0.emittedReadable=!1),$0===0&&R0.needReadable&&((R0.highWaterMark!==0?R0.length>=R0.highWaterMark:R0.length>0)||R0.ended))return L0("read: emitReadable",R0.length,R0.ended),R0.length===0&&R0.ended?j6(this):j0(this),null;if($0=O6($0,R0),$0===0&&R0.ended)return R0.length===0&&j6(this),null;let s0=R0.needReadable;if(L0("need readable",s0),(R0.length===0||R0.length-$00?l0=v6($0,R0):l0=null,l0===null?(R0.needReadable=R0.length<=R0.highWaterMark,$0=0):(R0.length-=$0,R0.multiAwaitDrain?R0.awaitDrainWriters.clear():R0.awaitDrainWriters=null),R0.length===0&&(R0.ended||(R0.needReadable=!0),v0!==$0&&R0.ended&&j6(this)),l0!==null&&!R0.errorEmitted&&!R0.closeEmitted&&(R0.dataEmitted=!0,this.emit("data",l0)),l0};function r0($0,R0){if(L0("onEofChunk"),!R0.ended){if(R0.decoder){let v0=R0.decoder.end();v0&&v0.length&&(R0.buffer.push(v0),R0.length+=R0.objectMode?1:v0.length)}R0.ended=!0,R0.sync?j0($0):(R0.needReadable=!1,R0.emittedReadable=!0,d0($0))}}function j0($0){let R0=$0._readableState;L0("emitReadable",R0.needReadable,R0.emittedReadable),R0.needReadable=!1,R0.emittedReadable||(L0("emitReadable",R0.flowing),R0.emittedReadable=!0,s.nextTick(d0,$0))}function d0($0){let R0=$0._readableState;L0("emitReadable_",R0.destroyed,R0.length,R0.ended),!R0.destroyed&&!R0.errored&&(R0.length||R0.ended)&&($0.emit("readable"),R0.emittedReadable=!1),R0.needReadable=!R0.flowing&&!R0.ended&&R0.length<=R0.highWaterMark,P6($0)}function c6($0,R0){!R0.readingMore&&R0.constructed&&(R0.readingMore=!0,s.nextTick(K6,$0,R0))}function K6($0,R0){for(;!R0.reading&&!R0.ended&&(R0.length1&&s0.pipes.includes($0)&&(L0("false write response, pause",s0.awaitDrainWriters.size),s0.awaitDrainWriters.add($0)),v0.pause()),g6||(g6=I6(v0,$0),$0.on("drain",g6))}v0.on("data",k1);function k1(X8){L0("ondata");let o7=$0.write(X8);L0("dest.write",o7),o7===!1&&d6()}function S8(X8){if(L0("onerror",X8),W8(),$0.removeListener("error",S8),$0.listenerCount("error")===0){let o7=$0._writableState||$0._readableState;o7&&!o7.errorEmitted?M($0,X8):$0.emit("error",X8)}}N0($0,"error",S8);function N8(){$0.removeListener("finish",m5),W8()}$0.once("close",N8);function m5(){L0("onfinish"),$0.removeListener("close",N8),W8()}$0.once("finish",m5);function W8(){L0("unpipe"),v0.unpipe($0)}return $0.emit("pipe",v0),$0.writableNeedDrain===!0?s0.flowing&&d6():s0.flowing||(L0("pipe resume"),v0.resume()),$0};function I6($0,R0){return function(){let v0=$0._readableState;v0.awaitDrainWriters===R0?(L0("pipeOnDrain",1),v0.awaitDrainWriters=null):v0.multiAwaitDrain&&(L0("pipeOnDrain",v0.awaitDrainWriters.size),v0.awaitDrainWriters.delete(R0)),(!v0.awaitDrainWriters||v0.awaitDrainWriters.size===0)&&$0.listenerCount("data")&&$0.resume()}}K0.prototype.unpipe=function($0){let R0=this._readableState,v0={hasUnpiped:!1};if(R0.pipes.length===0)return this;if(!$0){let l0=R0.pipes;R0.pipes=[],this.pause();for(let $8=0;$80,s0.flowing!==!1&&this.resume()):$0==="readable"&&!s0.endEmitted&&!s0.readableListening&&(s0.readableListening=s0.needReadable=!0,s0.flowing=!1,s0.emittedReadable=!1,L0("on readable",s0.length,s0.reading),s0.length?j0(this):s0.reading||s.nextTick(S0,this)),v0},K0.prototype.addListener=K0.prototype.on,K0.prototype.removeListener=function($0,R0){let v0=Q0.prototype.removeListener.call(this,$0,R0);return $0==="readable"&&s.nextTick(z0,this),v0},K0.prototype.off=K0.prototype.removeListener,K0.prototype.removeAllListeners=function($0){let R0=Q0.prototype.removeAllListeners.apply(this,arguments);return($0==="readable"||$0===void 0)&&s.nextTick(z0,this),R0};function z0($0){let R0=$0._readableState;R0.readableListening=$0.listenerCount("readable")>0,R0.resumeScheduled&&R0[w]===!1?R0.flowing=!0:$0.listenerCount("data")>0?$0.resume():R0.readableListening||(R0.flowing=null)}function S0($0){L0("readable nexttick read 0"),$0.read(0)}K0.prototype.resume=function(){let $0=this._readableState;return $0.flowing||(L0("resume"),$0.flowing=!$0.readableListening,x0(this,$0)),$0[w]=!1,this};function x0($0,R0){R0.resumeScheduled||(R0.resumeScheduled=!0,s.nextTick(_6,$0,R0))}function _6($0,R0){L0("resume",R0.reading),R0.reading||$0.read(0),R0.resumeScheduled=!1,$0.emit("resume"),P6($0),R0.flowing&&!R0.reading&&$0.read(0)}K0.prototype.pause=function(){return L0("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(L0("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[w]=!0,this};function P6($0){let R0=$0._readableState;for(L0("flow",R0.flowing);R0.flowing&&$0.read()!==null;);}K0.prototype.wrap=function($0){let R0=!1;$0.on("data",(s0)=>{!this.push(s0)&&$0.pause&&(R0=!0,$0.pause())}),$0.on("end",()=>{this.push(null)}),$0.on("error",(s0)=>{M(this,s0)}),$0.on("close",()=>{this.destroy()}),$0.on("destroy",()=>{this.destroy()}),this._read=()=>{R0&&$0.resume&&(R0=!1,$0.resume())};let v0=f($0);for(let s0=1;s0{l0=z6?D6(l0,z6):null,v0(),v0=x});try{for(;;){let z6=$0.destroyed?null:$0.read();if(z6!==null)yield z6;else{if(l0)throw l0;if(l0===null)return;await new e(s0)}}}catch(z6){throw l0=D6(l0,z6),l0}finally{(l0||R0?.destroyOnReturn!==!1)&&(l0===void 0||$0._readableState.autoDestroy)?w0.destroyer($0,null):($0.off("readable",s0),$8())}}n(K0.prototype,{readable:{__proto__:null,get(){let $0=this._readableState;return!!$0&&$0.readable!==!1&&!$0.destroyed&&!$0.errorEmitted&&!$0.endEmitted},set($0){this._readableState&&(this._readableState.readable=!!$0)}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function($0){this._readableState&&(this._readableState.flowing=$0)}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set($0){!this._readableState||(this._readableState.destroyed=$0)}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),n(p.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[w]!==!1},set($0){this[w]=!!$0}}}),K0._fromList=v6;function v6($0,R0){if(R0.length===0)return null;let v0;return R0.objectMode?v0=R0.buffer.shift():!$0||$0>=R0.length?(R0.decoder?v0=R0.buffer.join(""):R0.buffer.length===1?v0=R0.buffer.first():v0=R0.buffer.concat(R0.length),R0.buffer.clear()):v0=R0.buffer.consume($0,R0.decoder),v0}function j6($0){let R0=$0._readableState;L0("endReadable",R0.endEmitted),R0.endEmitted||(R0.ended=!0,s.nextTick(h2,R0,$0))}function h2($0,R0){if(L0("endReadableNT",$0.endEmitted,$0.length),!$0.errored&&!$0.closeEmitted&&!$0.endEmitted&&$0.length===0){if($0.endEmitted=!0,R0.emit("end"),R0.writable&&R0.allowHalfOpen===!1)s.nextTick(b6,R0);else if($0.autoDestroy){let v0=R0._writableState;(!v0||v0.autoDestroy&&(v0.finished||v0.writable===!1))&&R0.destroy()}}}function b6($0){$0.writable&&!$0.writableEnded&&!$0.destroyed&&$0.end()}K0.from=function($0,R0){return h(K0,$0,R0)};var n6;function a1(){return n6===void 0&&(n6={}),n6}K0.fromWeb=function($0,R0){return a1().newStreamReadableFromReadableStream($0,R0)},K0.toWeb=function($0,R0){return a1().newReadableStreamFromStreamReadable($0,R0)},K0.wrap=function($0,R0){var v0,s0;return new K0({objectMode:(v0=(s0=$0.readableObjectMode)!==null&&s0!==void 0?s0:$0.objectMode)!==null&&v0!==void 0?v0:!0,...R0,destroy(l0,$8){w0.destroyer($0,l0),$8(l0)}}).wrap($0)}}),K_=k6((v,l)=>{var s=(VX(),e4(eV)),{ArrayPrototypeSlice:N,Error:j,FunctionPrototypeSymbolHasInstance:Z,ObjectDefineProperty:G,ObjectDefineProperties:n,ObjectSetPrototypeOf:f,StringPrototypeToLowerCase:b,Symbol:e,SymbolHasInstance:r}=i9();l.exports=o,o.WritableState=E;var{EventEmitter:a}=ZX(),V0=JU().Stream,{Buffer:c}=H3(),Q0=kX(),{addAbortSignal:N0}=SU(),{getHighWaterMark:G0,getDefaultHighWaterMark:J0}=RU(),{ERR_INVALID_ARG_TYPE:P0,ERR_METHOD_NOT_IMPLEMENTED:L0,ERR_MULTIPLE_CALLBACK:A0,ERR_STREAM_CANNOT_PIPE:w0,ERR_STREAM_DESTROYED:a0,ERR_STREAM_ALREADY_FINISHED:Y6,ERR_STREAM_NULL_VALUES:D6,ERR_STREAM_WRITE_AFTER_END:b0,ERR_UNKNOWN_ENCODING:l6}=X4().codes,{errorOrDestroy:R}=Q0;f(o.prototype,V0.prototype),f(o,V0);function D(){}var B=e("kOnFinished");function E(S0,x0,_6){typeof _6!="boolean"&&(_6=x0 instanceof bV()),this.objectMode=!!(S0&&S0.objectMode),_6&&(this.objectMode=this.objectMode||!!(S0&&S0.writableObjectMode)),this.highWaterMark=S0?G0(this,S0,"writableHighWaterMark",_6):J0(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let P6=!!(S0&&S0.decodeStrings===!1);this.decodeStrings=!P6,this.defaultEncoding=S0&&S0.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=K0.bind(void 0,x0),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,w(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!S0||S0.emitClose!==!1,this.autoDestroy=!S0||S0.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[B]=[]}function w(S0){S0.buffered=[],S0.bufferedIndex=0,S0.allBuffers=!0,S0.allNoop=!0}E.prototype.getBuffer=function(){return N(this.buffered,this.bufferedIndex)},G(E.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function o(S0){let x0=this instanceof bV();if(!x0&&!Z(o,this))return new o(S0);this._writableState=new E(S0,this,x0),S0&&(typeof S0.write=="function"&&(this._write=S0.write),typeof S0.writev=="function"&&(this._writev=S0.writev),typeof S0.destroy=="function"&&(this._destroy=S0.destroy),typeof S0.final=="function"&&(this._final=S0.final),typeof S0.construct=="function"&&(this._construct=S0.construct),S0.signal&&N0(S0.signal,this)),V0.call(this,S0),Q0.construct(this,()=>{let _6=this._writableState;_6.writing||X6(this,_6),d0(this,_6)})}G(o,r,{__proto__:null,value:function(S0){return Z(this,S0)?!0:this!==o?!1:S0&&S0._writableState instanceof E}}),o.prototype.pipe=function(){R(this,new w0)};function h(S0,x0,_6,P6){let R6=S0._writableState;if(typeof _6=="function")P6=_6,_6=R6.defaultEncoding;else{if(!_6)_6=R6.defaultEncoding;else if(_6!=="buffer"&&!c.isEncoding(_6))throw new l6(_6);typeof P6!="function"&&(P6=D)}if(x0===null)throw new D6;if(!R6.objectMode)if(typeof x0=="string")R6.decodeStrings!==!1&&(x0=c.from(x0,_6),_6="buffer");else if(x0 instanceof c)_6="buffer";else if(V0._isUint8Array(x0))x0=V0._uint8ArrayToBuffer(x0),_6="buffer";else throw new P0("chunk",["string","Buffer","Uint8Array"],x0);let s8;return R6.ending?s8=new b0:R6.destroyed&&(s8=new a0("write")),s8?(s.nextTick(P6,s8),R(S0,s8,!0),s8):(R6.pendingcb++,x(S0,R6,x0,_6,P6))}o.prototype.write=function(S0,x0,_6){return h(this,S0,x0,_6)===!0},o.prototype.cork=function(){this._writableState.corked++},o.prototype.uncork=function(){let S0=this._writableState;S0.corked&&(S0.corked--,S0.writing||X6(this,S0))},o.prototype.setDefaultEncoding=function(S0){if(typeof S0=="string"&&(S0=b(S0)),!c.isEncoding(S0))throw new l6(S0);return this._writableState.defaultEncoding=S0,this};function x(S0,x0,_6,P6,R6){let s8=x0.objectMode?1:_6.length;x0.length+=s8;let v6=x0.length_6.bufferedIndex&&X6(S0,_6),P6?_6.afterWriteTickInfo!==null&&_6.afterWriteTickInfo.cb===R6?_6.afterWriteTickInfo.count++:(_6.afterWriteTickInfo={count:1,cb:R6,stream:S0,state:_6},s.nextTick(U0,_6.afterWriteTickInfo)):M0(S0,_6,1,R6))}function U0({stream:S0,state:x0,count:_6,cb:P6}){return x0.afterWriteTickInfo=null,M0(S0,x0,_6,P6)}function M0(S0,x0,_6,P6){for(!x0.ending&&!S0.destroyed&&x0.length===0&&x0.needDrain&&(x0.needDrain=!1,S0.emit("drain"));_6-- >0;)x0.pendingcb--,P6();x0.destroyed&&f0(x0),d0(S0,x0)}function f0(S0){if(S0.writing)return;for(let R6=S0.bufferedIndex;R61&&S0._writev){x0.pendingcb-=s8-1;let j6=x0.allNoop?D:(b6)=>{for(let n6=v6;n6<_6.length;++n6)_6[n6].callback(b6)},h2=x0.allNoop&&v6===0?_6:N(_6,v6);h2.allBuffers=x0.allBuffers,M(S0,x0,!0,x0.length,h2,"",j6),w(x0)}else{do{let{chunk:j6,encoding:h2,callback:b6}=_6[v6];_6[v6++]=null;let n6=R6?1:j6.length;M(S0,x0,!1,n6,j6,h2,b6)}while(v6<_6.length&&!x0.writing);v6===_6.length?w(x0):v6>256?(_6.splice(0,v6),x0.bufferedIndex=0):x0.bufferedIndex=v6}x0.bufferProcessing=!1}o.prototype._write=function(S0,x0,_6){if(this._writev)this._writev([{chunk:S0,encoding:x0}],_6);else throw new L0("_write()")},o.prototype._writev=null,o.prototype.end=function(S0,x0,_6){let P6=this._writableState;typeof S0=="function"?(_6=S0,S0=null,x0=null):typeof x0=="function"&&(_6=x0,x0=null);let R6;if(S0!=null){let s8=h(this,S0,x0);s8 instanceof j&&(R6=s8)}return P6.corked&&(P6.corked=1,this.uncork()),R6||(!P6.errored&&!P6.ending?(P6.ending=!0,d0(this,P6,!0),P6.ended=!0):P6.finished?R6=new Y6("end"):P6.destroyed&&(R6=new a0("end"))),typeof _6=="function"&&(R6||P6.finished?s.nextTick(_6,R6):P6[B].push(_6)),this};function O6(S0){return S0.ending&&!S0.destroyed&&S0.constructed&&S0.length===0&&!S0.errored&&S0.buffered.length===0&&!S0.finished&&!S0.writing&&!S0.errorEmitted&&!S0.closeEmitted}function r0(S0,x0){let _6=!1;function P6(R6){if(_6){R(S0,R6??A0());return}if(_6=!0,x0.pendingcb--,R6){let s8=x0[B].splice(0);for(let v6=0;v6{O6(R6)?c6(P6,R6):R6.pendingcb--},S0,x0)):O6(x0)&&(x0.pendingcb++,c6(S0,x0))))}function c6(S0,x0){x0.pendingcb--,x0.finished=!0;let _6=x0[B].splice(0);for(let P6=0;P6<_6.length;P6++)_6[P6]();if(S0.emit("finish"),x0.autoDestroy){let P6=S0._readableState;(!P6||P6.autoDestroy&&(P6.endEmitted||P6.readable===!1))&&S0.destroy()}}n(o.prototype,{closed:{__proto__:null,get(){return this._writableState?this._writableState.closed:!1}},destroyed:{__proto__:null,get(){return this._writableState?this._writableState.destroyed:!1},set(S0){this._writableState&&(this._writableState.destroyed=S0)}},writable:{__proto__:null,get(){let S0=this._writableState;return!!S0&&S0.writable!==!1&&!S0.destroyed&&!S0.errored&&!S0.ending&&!S0.ended},set(S0){this._writableState&&(this._writableState.writable=!!S0)}},writableFinished:{__proto__:null,get(){return this._writableState?this._writableState.finished:!1}},writableObjectMode:{__proto__:null,get(){return this._writableState?this._writableState.objectMode:!1}},writableBuffer:{__proto__:null,get(){return this._writableState&&this._writableState.getBuffer()}},writableEnded:{__proto__:null,get(){return this._writableState?this._writableState.ending:!1}},writableNeedDrain:{__proto__:null,get(){let S0=this._writableState;return S0?!S0.destroyed&&!S0.ending&&S0.needDrain:!1}},writableHighWaterMark:{__proto__:null,get(){return this._writableState&&this._writableState.highWaterMark}},writableCorked:{__proto__:null,get(){return this._writableState?this._writableState.corked:0}},writableLength:{__proto__:null,get(){return this._writableState&&this._writableState.length}},errored:{__proto__:null,enumerable:!1,get(){return this._writableState?this._writableState.errored:null}},writableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._writableState.writable!==!1&&(this._writableState.destroyed||this._writableState.errored)&&!this._writableState.finished)}}});var K6=Q0.destroy;o.prototype.destroy=function(S0,x0){let _6=this._writableState;return!_6.destroyed&&(_6.bufferedIndex<_6.buffered.length||_6[B].length)&&s.nextTick(f0,_6),K6.call(this,S0,x0),this},o.prototype._undestroy=Q0.undestroy,o.prototype._destroy=function(S0,x0){x0(S0)},o.prototype[a.captureRejectionSymbol]=function(S0){this.destroy(S0)};var I6;function z0(){return I6===void 0&&(I6={}),I6}o.fromWeb=function(S0,x0){return z0().newStreamWritableFromWritableStream(S0,x0)},o.toWeb=function(S0){return z0().newWritableStreamFromStreamWritable(S0)}}),tE=k6((v,l)=>{var s=(VX(),e4(eV)),N=H3(),{isReadable:j,isWritable:Z,isIterable:G,isNodeStream:n,isReadableNodeStream:f,isWritableNodeStream:b,isDuplexNodeStream:e}=$X(),r=TX(),{AbortError:a,codes:{ERR_INVALID_ARG_TYPE:V0,ERR_INVALID_RETURN_VALUE:c}}=X4(),{destroyer:Q0}=kX(),N0=bV(),G0=oQ(),{createDeferredPromise:J0}=dV(),P0=__(),L0=globalThis.Blob||N.Blob,A0=typeof L0<"u"?function(l6){return l6 instanceof L0}:function(l6){return!1},w0=globalThis.AbortController||UU().AbortController,{FunctionPrototypeCall:a0}=i9(),Y6=class extends N0{constructor(l6){super(l6),l6?.readable===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),l6?.writable===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)}};l.exports=function l6(R,D){if(e(R))return R;if(f(R))return b0({readable:R});if(b(R))return b0({writable:R});if(n(R))return b0({writable:!1,readable:!1});if(typeof R=="function"){let{value:E,write:w,final:o,destroy:h}=D6(R);if(G(E))return P0(Y6,E,{objectMode:!0,write:w,final:o,destroy:h});let x=E?.then;if(typeof x=="function"){let M,p=a0(x,E,(K0)=>{if(K0!=null)throw new c("nully","body",K0)},(K0)=>{Q0(M,K0)});return M=new Y6({objectMode:!0,readable:!1,write:w,final(K0){o(async()=>{try{await p,s.nextTick(K0,null)}catch(U0){s.nextTick(K0,U0)}})},destroy:h})}throw new c("Iterable, AsyncIterable or AsyncFunction",D,E)}if(A0(R))return l6(R.arrayBuffer());if(G(R))return P0(Y6,R,{objectMode:!0,writable:!1});if(typeof R?.writable=="object"||typeof R?.readable=="object"){let E=R!=null&&R.readable?f(R?.readable)?R?.readable:l6(R.readable):void 0,w=R!=null&&R.writable?b(R?.writable)?R?.writable:l6(R.writable):void 0;return b0({readable:E,writable:w})}let B=R?.then;if(typeof B=="function"){let E;return a0(B,R,(w)=>{w!=null&&E.push(w),E.push(null)},(w)=>{Q0(E,w)}),E=new Y6({objectMode:!0,writable:!1,read(){}})}throw new V0(D,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],R)};function D6(l6){let{promise:R,resolve:D}=J0(),B=new w0,E=B.signal;return{value:l6(async function*(){for(;;){let w=R;R=null;let{chunk:o,done:h,cb:x}=await w;if(s.nextTick(x),h)return;if(E.aborted)throw new a(void 0,{cause:E.reason});({promise:R,resolve:D}=J0()),yield o}}(),{signal:E}),write(w,o,h){let x=D;D=null,x({chunk:w,done:!1,cb:h})},final(w){let o=D;D=null,o({done:!0,cb:w})},destroy(w,o){B.abort(),o(w)}}}function b0(l6){let R=l6.readable&&typeof l6.readable.read!="function"?G0.wrap(l6.readable):l6.readable,D=l6.writable,B=!!j(R),E=!!Z(D),w,o,h,x,M;function p(K0){let U0=x;x=null,U0?U0(K0):K0?M.destroy(K0):!B&&!E&&M.destroy()}return M=new Y6({readableObjectMode:!!(R!=null&&R.readableObjectMode),writableObjectMode:!!(D!=null&&D.writableObjectMode),readable:B,writable:E}),E&&(r(D,(K0)=>{E=!1,K0&&Q0(R,K0),p(K0)}),M._write=function(K0,U0,M0){D.write(K0,U0)?M0():w=M0},M._final=function(K0){D.end(),o=K0},D.on("drain",function(){if(w){let K0=w;w=null,K0()}}),D.on("finish",function(){if(o){let K0=o;o=null,K0()}})),B&&(r(R,(K0)=>{B=!1,K0&&Q0(R,K0),p(K0)}),R.on("readable",function(){if(h){let K0=h;h=null,K0()}}),R.on("end",function(){M.push(null)}),M._read=function(){for(;;){let K0=R.read();if(K0===null){h=M._read;return}if(!M.push(K0))return}}),M._destroy=function(K0,U0){!K0&&x!==null&&(K0=new a),h=null,w=null,o=null,x===null?U0(K0):(x=U0,Q0(D,K0),Q0(R,K0))},M}}),bV=k6((v,l)=>{var{ObjectDefineProperties:s,ObjectGetOwnPropertyDescriptor:N,ObjectKeys:j,ObjectSetPrototypeOf:Z}=i9();l.exports=f;var G=oQ(),n=K_();Z(f.prototype,G.prototype),Z(f,G);{let a=j(n.prototype);for(let V0=0;V0{var{ObjectSetPrototypeOf:s,Symbol:N}=i9();l.exports=f;var{ERR_METHOD_NOT_IMPLEMENTED:j}=X4().codes,Z=bV(),{getHighWaterMark:G}=RU();s(f.prototype,Z.prototype),s(f,Z);var n=N("kCallback");function f(r){if(!(this instanceof f))return new f(r);let a=r?G(this,r,"readableHighWaterMark",!0):null;a===0&&(r={...r,highWaterMark:null,readableHighWaterMark:a,writableHighWaterMark:r.writableHighWaterMark||0}),Z.call(this,r),this._readableState.sync=!1,this[n]=null,r&&(typeof r.transform=="function"&&(this._transform=r.transform),typeof r.flush=="function"&&(this._flush=r.flush)),this.on("prefinish",e)}function b(r){typeof this._flush=="function"&&!this.destroyed?this._flush((a,V0)=>{if(a){r?r(a):this.destroy(a);return}V0!=null&&this.push(V0),this.push(null),r&&r()}):(this.push(null),r&&r())}function e(){this._final!==b&&b.call(this)}f.prototype._final=b,f.prototype._transform=function(r,a,V0){throw new j("_transform()")},f.prototype._write=function(r,a,V0){let c=this._readableState,Q0=this._writableState,N0=c.length;this._transform(r,a,(G0,J0)=>{if(G0){V0(G0);return}J0!=null&&this.push(J0),Q0.ended||N0===c.length||c.length{var{ObjectSetPrototypeOf:s}=i9();l.exports=j;var N=P_();s(j.prototype,N.prototype),s(j,N);function j(Z){if(!(this instanceof j))return new j(Z);N.call(this,Z)}j.prototype._transform=function(Z,G,n){n(null,Z)}}),_U=k6((v,l)=>{var s=(VX(),e4(eV)),{ArrayIsArray:N,Promise:j,SymbolAsyncIterator:Z}=i9(),G=TX(),{once:n}=dV(),f=kX(),b=bV(),{aggregateTwoErrors:e,codes:{ERR_INVALID_ARG_TYPE:r,ERR_INVALID_RETURN_VALUE:a,ERR_MISSING_ARGS:V0,ERR_STREAM_DESTROYED:c,ERR_STREAM_PREMATURE_CLOSE:Q0},AbortError:N0}=X4(),{validateFunction:G0,validateAbortSignal:J0}=sQ(),{isIterable:P0,isReadable:L0,isReadableNodeStream:A0,isNodeStream:w0}=$X(),a0=globalThis.AbortController||UU().AbortController,Y6,D6;function b0(h,x,M){let p=!1;h.on("close",()=>{p=!0});let K0=G(h,{readable:x,writable:M},(U0)=>{p=!U0});return{destroy:(U0)=>{p||(p=!0,f.destroyer(h,U0||new c("pipe")))},cleanup:K0}}function l6(h){return G0(h[h.length-1],"streams[stream.length - 1]"),h.pop()}function R(h){if(P0(h))return h;if(A0(h))return D(h);throw new r("val",["Readable","Iterable","AsyncIterable"],h)}async function*D(h){D6||(D6=oQ()),yield*D6.prototype[Z].call(h)}async function B(h,x,M,{end:p}){let K0,U0=null,M0=(O6)=>{if(O6&&(K0=O6),U0){let r0=U0;U0=null,r0()}},f0=()=>new j((O6,r0)=>{K0?r0(K0):U0=()=>{K0?r0(K0):O6()}});x.on("drain",M0);let X6=G(x,{readable:!1},M0);try{x.writableNeedDrain&&await f0();for await(let O6 of h)x.write(O6)||await f0();p&&x.end(),await f0(),M()}catch(O6){M(K0!==O6?e(K0,O6):O6)}finally{X6(),x.off("drain",M0)}}function E(...h){return w(h,n(l6(h)))}function w(h,x,M){if(h.length===1&&N(h[0])&&(h=h[0]),h.length<2)throw new V0("streams");let p=new a0,K0=p.signal,U0=M?.signal,M0=[];J0(U0,"options.signal");function f0(){c6(new N0)}U0?.addEventListener("abort",f0);let X6,O6,r0=[],j0=0;function d0(S0){c6(S0,--j0===0)}function c6(S0,x0){if(S0&&(!X6||X6.code==="ERR_STREAM_PREMATURE_CLOSE")&&(X6=S0),!(!X6&&!x0)){for(;r0.length;)r0.shift()(X6);U0?.removeEventListener("abort",f0),p.abort(),x0&&(X6||M0.forEach((_6)=>_6()),s.nextTick(x,X6,O6))}}let K6;for(let S0=0;S00,R6=_6||M?.end!==!1,s8=S0===h.length-1;if(w0(x0)){let v6=function(j6){j6&&j6.name!=="AbortError"&&j6.code!=="ERR_STREAM_PREMATURE_CLOSE"&&d0(j6)};var I6=v6;if(R6){let{destroy:j6,cleanup:h2}=b0(x0,_6,P6);r0.push(j6),L0(x0)&&s8&&M0.push(h2)}x0.on("error",v6),L0(x0)&&s8&&M0.push(()=>{x0.removeListener("error",v6)})}if(S0===0)if(typeof x0=="function"){if(K6=x0({signal:K0}),!P0(K6))throw new a("Iterable, AsyncIterable or Stream","source",K6)}else P0(x0)||A0(x0)?K6=x0:K6=b.from(x0);else if(typeof x0=="function")if(K6=R(K6),K6=x0(K6,{signal:K0}),_6){if(!P0(K6,!0))throw new a("AsyncIterable",`transform[${S0-1}]`,K6)}else{var z0;Y6||(Y6=O_());let v6=new Y6({objectMode:!0}),j6=(z0=K6)===null||z0===void 0?void 0:z0.then;if(typeof j6=="function")j0++,j6.call(K6,(n6)=>{O6=n6,n6!=null&&v6.write(n6),R6&&v6.end(),s.nextTick(d0)},(n6)=>{v6.destroy(n6),s.nextTick(d0,n6)});else if(P0(K6,!0))j0++,B(K6,v6,d0,{end:R6});else throw new a("AsyncIterable or Promise","destination",K6);K6=v6;let{destroy:h2,cleanup:b6}=b0(K6,!1,!0);r0.push(h2),s8&&M0.push(b6)}else if(w0(x0)){if(A0(K6)){j0+=2;let v6=o(K6,x0,d0,{end:R6});L0(x0)&&s8&&M0.push(v6)}else if(P0(K6))j0++,B(K6,x0,d0,{end:R6});else throw new r("val",["Readable","Iterable","AsyncIterable"],K6);K6=x0}else K6=b.from(x0)}return(K0!=null&&K0.aborted||U0!=null&&U0.aborted)&&s.nextTick(f0),K6}function o(h,x,M,{end:p}){let K0=!1;return x.on("close",()=>{K0||M(new Q0)}),h.pipe(x,{end:p}),p?h.once("end",()=>{K0=!0,x.end()}):M(),G(h,{readable:!0,writable:!1},(U0)=>{let M0=h._readableState;U0&&U0.code==="ERR_STREAM_PREMATURE_CLOSE"&&M0&&M0.ended&&!M0.errored&&!M0.errorEmitted?h.once("end",M).once("error",M):M(U0)}),G(x,{readable:!1,writable:!0},M)}l.exports={pipelineImpl:w,pipeline:E}}),fE=k6((v,l)=>{var{pipeline:s}=_U(),N=bV(),{destroyer:j}=kX(),{isNodeStream:Z,isReadable:G,isWritable:n}=$X(),{AbortError:f,codes:{ERR_INVALID_ARG_VALUE:b,ERR_MISSING_ARGS:e}}=X4();l.exports=function(...r){if(r.length===0)throw new e("streams");if(r.length===1)return N.from(r[0]);let a=[...r];if(typeof r[0]=="function"&&(r[0]=N.from(r[0])),typeof r[r.length-1]=="function"){let a0=r.length-1;r[a0]=N.from(r[a0])}for(let a0=0;a00&&!n(r[a0]))throw new b(`streams[${a0}]`,a[a0],"must be writable")}let V0,c,Q0,N0,G0;function J0(a0){let Y6=N0;N0=null,Y6?Y6(a0):a0?G0.destroy(a0):!w0&&!A0&&G0.destroy()}let P0=r[0],L0=s(r,J0),A0=!!n(P0),w0=!!G(L0);return G0=new N({writableObjectMode:!!(P0!=null&&P0.writableObjectMode),readableObjectMode:!!(L0!=null&&L0.writableObjectMode),writable:A0,readable:w0}),A0&&(G0._write=function(a0,Y6,D6){P0.write(a0,Y6)?D6():V0=D6},G0._final=function(a0){P0.end(),c=a0},P0.on("drain",function(){if(V0){let a0=V0;V0=null,a0()}}),L0.on("finish",function(){if(c){let a0=c;c=null,a0()}})),w0&&(L0.on("readable",function(){if(Q0){let a0=Q0;Q0=null,a0()}}),L0.on("end",function(){G0.push(null)}),G0._read=function(){for(;;){let a0=L0.read();if(a0===null){Q0=G0._read;return}if(!G0.push(a0))return}}),G0._destroy=function(a0,Y6){!a0&&N0!==null&&(a0=new f),Q0=null,V0=null,c=null,N0===null?Y6(a0):(N0=Y6,j(L0,a0))},G0}}),G_=k6((v,l)=>{var{ArrayPrototypePop:s,Promise:N}=i9(),{isIterable:j,isNodeStream:Z}=$X(),{pipelineImpl:G}=_U(),{finished:n}=TX();function f(...b){return new N((e,r)=>{let a,V0,c=b[b.length-1];if(c&&typeof c=="object"&&!Z(c)&&!j(c)){let Q0=s(b);a=Q0.signal,V0=Q0.end}G(b,(Q0,N0)=>{Q0?r(Q0):e(N0)},{signal:a,end:V0})})}l.exports={finished:n,pipeline:f}}),dE=k6((v,l)=>{var{Buffer:s}=H3(),{ObjectDefineProperty:N,ObjectKeys:j,ReflectApply:Z}=i9(),{promisify:{custom:G}}=dV(),{streamReturningOperators:n,promiseReturningOperators:f}=gE(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:b}}=X4(),e=fE(),{pipeline:r}=_U(),{destroyer:a}=kX(),V0=TX(),c=G_(),Q0=$X(),N0=l.exports=JU().Stream;N0.isDisturbed=Q0.isDisturbed,N0.isErrored=Q0.isErrored,N0.isReadable=Q0.isReadable,N0.Readable=oQ();for(let P0 of j(n)){let L0=function(...w0){if(new.target)throw b();return N0.Readable.from(Z(A0,this,w0))};G0=L0;let A0=n[P0];N(L0,"name",{__proto__:null,value:A0.name}),N(L0,"length",{__proto__:null,value:A0.length}),N(N0.Readable.prototype,P0,{__proto__:null,value:L0,enumerable:!1,configurable:!0,writable:!0})}var G0;for(let P0 of j(f)){let L0=function(...w0){if(new.target)throw b();return Z(A0,this,w0)};G0=L0;let A0=f[P0];N(L0,"name",{__proto__:null,value:A0.name}),N(L0,"length",{__proto__:null,value:A0.length}),N(N0.Readable.prototype,P0,{__proto__:null,value:L0,enumerable:!1,configurable:!0,writable:!0})}var G0;N0.Writable=K_(),N0.Duplex=bV(),N0.Transform=P_(),N0.PassThrough=O_(),N0.pipeline=r;var{addAbortSignal:J0}=SU();N0.addAbortSignal=J0,N0.finished=V0,N0.destroy=a,N0.compose=e,N(N0,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return c}}),N(r,G,{__proto__:null,enumerable:!0,get(){return c.pipeline}}),N(V0,G,{__proto__:null,enumerable:!0,get(){return c.finished}}),N0.Stream=N0,N0._isUint8Array=function(P0){return P0 instanceof Uint8Array},N0._uint8ArrayToBuffer=function(P0){return s.from(P0.buffer,P0.byteOffset,P0.byteLength)}}),Z_=k6((v,l)=>{var s=dE(),N=G_(),j=s.Readable.destroy;l.exports=s.Readable,l.exports._uint8ArrayToBuffer=s._uint8ArrayToBuffer,l.exports._isUint8Array=s._isUint8Array,l.exports.isDisturbed=s.isDisturbed,l.exports.isErrored=s.isErrored,l.exports.isReadable=s.isReadable,l.exports.Readable=s.Readable,l.exports.Writable=s.Writable,l.exports.Duplex=s.Duplex,l.exports.Transform=s.Transform,l.exports.PassThrough=s.PassThrough,l.exports.addAbortSignal=s.addAbortSignal,l.exports.finished=s.finished,l.exports.destroy=s.destroy,l.exports.destroy=j,l.exports.pipeline=s.pipeline,l.exports.compose=s.compose,Object.defineProperty(s,"promises",{configurable:!0,enumerable:!0,get(){return N}}),l.exports.Stream=s.Stream,l.exports.default=l.exports}),KU={};uQ(KU,{default:()=>M_});bE=$U(()=>{TU(KU,cT(Z_())),M_=cT(Z_())}),ST=k6((v,l)=>{var s=_7().Buffer,N=(bE(),e4(KU)).Transform,j=XU().StringDecoder,Z=e1();function G(n){N.call(this),this.hashMode=typeof n=="string",this.hashMode?this[n]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}Z(G,N),G.prototype.update=function(n,f,b){typeof n=="string"&&(n=s.from(n,f));var e=this._update(n);return this.hashMode?this:(b&&(e=this._toString(e,b)),e)},G.prototype.setAutoPadding=function(){},G.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},G.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},G.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},G.prototype._transform=function(n,f,b){var e;try{this.hashMode?this._update(n):this.push(this._update(n))}catch(r){e=r}finally{b(e)}},G.prototype._flush=function(n){var f;try{this.push(this.__final())}catch(b){f=b}n(f)},G.prototype._finalOrDigest=function(n){var f=this.__final()||s.alloc(0);return n&&(f=this._toString(f,n,!0)),f},G.prototype._toString=function(n,f,b){if(this._decoder||(this._decoder=new j(f),this._encoding=f),this._encoding!==f)throw new Error("can't switch encodings");var e=this._decoder.write(n);return b&&(e+=this._decoder.end()),e},l.exports=G}),LY=k6((v,l)=>{var s=e1(),N=QU(),j=WU(),Z=NU(),G=ST();function n(f){G.call(this,"digest"),this._hash=f}s(n,G),n.prototype._update=function(f){this._hash.update(f)},n.prototype._final=function(){return this._hash.digest()},l.exports=function(f){return f=f.toLowerCase(),f==="md5"?new N:f==="rmd160"||f==="ripemd160"?new j:new n(Z(f))}}),eE=k6((v,l)=>{var s=e1(),N=_7().Buffer,j=ST(),Z=N.alloc(128),G=64;function n(f,b){j.call(this,"digest"),typeof b=="string"&&(b=N.from(b)),this._alg=f,this._key=b,b.length>G?b=f(b):b.length{var s=QU();l.exports=function(N){return new s().update(N).digest()}}),D_=k6((v,l)=>{var s=e1(),N=eE(),j=ST(),Z=_7().Buffer,G=L_(),n=WU(),f=NU(),b=Z.alloc(128);function e(r,a){j.call(this,"digest"),typeof a=="string"&&(a=Z.from(a));var V0=r==="sha512"||r==="sha384"?128:64;if(this._alg=r,this._key=a,a.length>V0){var c=r==="rmd160"?new n:f(r);a=c.update(a).digest()}else a.length{l.exports={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}}}),aE=k6((v,l)=>{l.exports=z_()}),F_=k6((v,l)=>{var s=Math.pow(2,30)-1;l.exports=function(N,j){if(typeof N!="number")throw new TypeError("Iterations not a number");if(N<0)throw new TypeError("Bad iterations");if(typeof j!="number")throw new TypeError("Key length not a number");if(j<0||j>s||j!==j)throw new TypeError("Bad key length")}}),E_=k6((v,l)=>{var s;global.process&&global.process.browser?s="utf-8":global.process&&global.process.version?(N=parseInt(process.version.split(".")[0].slice(1),10),s=N>=6?"utf-8":"binary"):s="utf-8";var N;l.exports=s}),B_=k6((v,l)=>{var s=_7().Buffer;l.exports=function(N,j,Z){if(s.isBuffer(N))return N;if(typeof N=="string")return s.from(N,j);if(ArrayBuffer.isView(N))return s.from(N.buffer);throw new TypeError(Z+" must be a string, a Buffer, a typed array or a DataView")}}),C_=k6((v,l)=>{var s=L_(),N=WU(),j=NU(),Z=_7().Buffer,G=F_(),n=E_(),f=B_(),b=Z.alloc(128),e={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function r(c,Q0,N0){var G0=a(c),J0=c==="sha512"||c==="sha384"?128:64;Q0.length>J0?Q0=G0(Q0):Q0.length{var s=_7().Buffer,N=F_(),j=E_(),Z=C_(),G=B_(),n,f=global.crypto&&global.crypto.subtle,b={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},e=[];function r(N0){if(global.process&&!global.process.browser||!f||!f.importKey||!f.deriveBits)return Promise.resolve(!1);if(e[N0]!==void 0)return e[N0];n=n||s.alloc(8);var G0=c(n,n,10,128,N0).then(function(){return!0}).catch(function(){return!1});return e[N0]=G0,G0}var a;function V0(){return a||(global.process&&global.process.nextTick?a=global.process.nextTick:global.queueMicrotask?a=global.queueMicrotask:global.setImmediate?a=global.setImmediate:a=global.setTimeout,a)}function c(N0,G0,J0,P0,L0){return f.importKey("raw",N0,{name:"PBKDF2"},!1,["deriveBits"]).then(function(A0){return f.deriveBits({name:"PBKDF2",salt:G0,iterations:J0,hash:{name:L0}},A0,P0<<3)}).then(function(A0){return s.from(A0)})}function Q0(N0,G0){N0.then(function(J0){V0()(function(){G0(null,J0)})},function(J0){V0()(function(){G0(J0)})})}l.exports=function(N0,G0,J0,P0,L0,A0){typeof L0=="function"&&(A0=L0,L0=void 0),L0=L0||"sha1";var w0=b[L0.toLowerCase()];if(!w0||typeof global.Promise!="function"){V0()(function(){var a0;try{a0=Z(N0,G0,J0,P0,L0)}catch(Y6){return A0(Y6)}A0(null,a0)});return}if(N(J0,P0),N0=G(N0,j,"Password"),G0=G(G0,j,"Salt"),typeof A0!="function")throw new Error("No callback provided to pbkdf2");Q0(r(w0).then(function(a0){return a0?c(N0,G0,J0,P0,w0):Z(N0,G0,J0,P0,L0)}),A0)}}),A_=k6((v)=>{v.pbkdf2=cE(),v.pbkdf2Sync=C_()}),H_=k6((v)=>{v.readUInt32BE=function(j,Z){var G=j[0+Z]<<24|j[1+Z]<<16|j[2+Z]<<8|j[3+Z];return G>>>0},v.writeUInt32BE=function(j,Z,G){j[0+G]=Z>>>24,j[1+G]=Z>>>16&255,j[2+G]=Z>>>8&255,j[3+G]=Z&255},v.ip=function(j,Z,G,n){for(var f=0,b=0,e=6;e>=0;e-=2){for(var r=0;r<=24;r+=8)f<<=1,f|=Z>>>r+e&1;for(var r=0;r<=24;r+=8)f<<=1,f|=j>>>r+e&1}for(var e=6;e>=0;e-=2){for(var r=1;r<=25;r+=8)b<<=1,b|=Z>>>r+e&1;for(var r=1;r<=25;r+=8)b<<=1,b|=j>>>r+e&1}G[n+0]=f>>>0,G[n+1]=b>>>0},v.rip=function(j,Z,G,n){for(var f=0,b=0,e=0;e<4;e++)for(var r=24;r>=0;r-=8)f<<=1,f|=Z>>>r+e&1,f<<=1,f|=j>>>r+e&1;for(var e=4;e<8;e++)for(var r=24;r>=0;r-=8)b<<=1,b|=Z>>>r+e&1,b<<=1,b|=j>>>r+e&1;G[n+0]=f>>>0,G[n+1]=b>>>0},v.pc1=function(j,Z,G,n){for(var f=0,b=0,e=7;e>=5;e--){for(var r=0;r<=24;r+=8)f<<=1,f|=Z>>r+e&1;for(var r=0;r<=24;r+=8)f<<=1,f|=j>>r+e&1}for(var r=0;r<=24;r+=8)f<<=1,f|=Z>>r+e&1;for(var e=1;e<=3;e++){for(var r=0;r<=24;r+=8)b<<=1,b|=Z>>r+e&1;for(var r=0;r<=24;r+=8)b<<=1,b|=j>>r+e&1}for(var r=0;r<=24;r+=8)b<<=1,b|=j>>r+e&1;G[n+0]=f>>>0,G[n+1]=b>>>0},v.r28shl=function(j,Z){return j<>>28-Z};var l=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];v.pc2=function(j,Z,G,n){for(var f=0,b=0,e=l.length>>>1,r=0;r>>l[r]&1;for(var r=e;r>>l[r]&1;G[n+0]=f>>>0,G[n+1]=b>>>0},v.expand=function(j,Z,G){var n=0,f=0;n=(j&1)<<5|j>>>27;for(var b=23;b>=15;b-=4)n<<=6,n|=j>>>b&63;for(var b=11;b>=3;b-=4)f|=j>>>b&63,f<<=6;f|=(j&31)<<1|j>>>31,Z[G+0]=n>>>0,Z[G+1]=f>>>0};var s=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];v.substitute=function(j,Z){for(var G=0,n=0;n<4;n++){var f=j>>>18-n*6&63,b=s[n*64+f];G<<=4,G|=b}for(var n=0;n<4;n++){var f=Z>>>18-n*6&63,b=s[256+n*64+f];G<<=4,G|=b}return G>>>0};var N=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];v.permute=function(j){for(var Z=0,G=0;G>>N[G]&1;return Z>>>0},v.padSplit=function(j,Z,G){for(var n=j.toString(2);n.length{l.exports=s;function s(N,j){if(!N)throw new Error(j||"Assertion failed")}s.equal=function(N,j,Z){if(N!=j)throw new Error(Z||"Assertion failed: "+N+" != "+j)}}),PU=k6((v,l)=>{var s=a4();function N(j){this.options=j,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}l.exports=N,N.prototype._init=function(){},N.prototype.update=function(j){return j.length===0?[]:this.type==="decrypt"?this._updateDecrypt(j):this._updateEncrypt(j)},N.prototype._buffer=function(j,Z){for(var G=Math.min(this.buffer.length-this.bufferOff,j.length-Z),n=0;n0;n--)Z+=this._buffer(j,Z),G+=this._flushBuffer(f,G);return Z+=this._buffer(j,Z),f},N.prototype.final=function(j){var Z;j&&(Z=this.update(j));var G;return this.type==="encrypt"?G=this._finalEncrypt():G=this._finalDecrypt(),Z?Z.concat(G):G},N.prototype._pad=function(j,Z){if(Z===0)return!1;for(;Z{var s=a4(),N=e1(),j=H_(),Z=PU();function G(){this.tmp=new Array(2),this.keys=null}function n(b){Z.call(this,b);var e=new G;this._desState=e,this.deriveKeys(e,b.key)}N(n,Z),l.exports=n,n.create=function(b){return new n(b)};var f=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];n.prototype.deriveKeys=function(b,e){b.keys=new Array(32),s.equal(e.length,this.blockSize,"Invalid key length");var r=j.readUInt32BE(e,0),a=j.readUInt32BE(e,4);j.pc1(r,a,b.tmp,0),r=b.tmp[0],a=b.tmp[1];for(var V0=0;V0>>1];r=j.r28shl(r,c),a=j.r28shl(a,c),j.pc2(r,a,b.keys,V0)}},n.prototype._update=function(b,e,r,a){var V0=this._desState,c=j.readUInt32BE(b,e),Q0=j.readUInt32BE(b,e+4);j.ip(c,Q0,V0.tmp,0),c=V0.tmp[0],Q0=V0.tmp[1],this.type==="encrypt"?this._encrypt(V0,c,Q0,V0.tmp,0):this._decrypt(V0,c,Q0,V0.tmp,0),c=V0.tmp[0],Q0=V0.tmp[1],j.writeUInt32BE(r,c,a),j.writeUInt32BE(r,Q0,a+4)},n.prototype._pad=function(b,e){for(var r=b.length-e,a=e;a>>0,c=A0}j.rip(Q0,c,a,V0)},n.prototype._decrypt=function(b,e,r,a,V0){for(var c=r,Q0=e,N0=b.keys.length-2;N0>=0;N0-=2){var G0=b.keys[N0],J0=b.keys[N0+1];j.expand(c,b.tmp,0),G0^=b.tmp[0],J0^=b.tmp[1];var P0=j.substitute(G0,J0),L0=j.permute(P0),A0=c;c=(Q0^L0)>>>0,Q0=A0}j.rip(c,Q0,a,V0)}}),ZB=k6((v)=>{var l=a4(),s=e1(),N={};function j(G){l.equal(G.length,8,"Invalid IV length"),this.iv=new Array(8);for(var n=0;n{var s=a4(),N=e1(),j=PU(),Z=x_();function G(f,b){s.equal(b.length,24,"Invalid key length");var e=b.slice(0,8),r=b.slice(8,16),a=b.slice(16,24);f==="encrypt"?this.ciphers=[Z.create({type:"encrypt",key:e}),Z.create({type:"decrypt",key:r}),Z.create({type:"encrypt",key:a})]:this.ciphers=[Z.create({type:"decrypt",key:a}),Z.create({type:"encrypt",key:r}),Z.create({type:"decrypt",key:e})]}function n(f){j.call(this,f);var b=new G(this.type,this.options.key);this._edeState=b}N(n,j),l.exports=n,n.create=function(f){return new n(f)},n.prototype._update=function(f,b,e,r){var a=this._edeState;a.ciphers[0]._update(f,b,e,r),a.ciphers[1]._update(e,r,e,r),a.ciphers[2]._update(e,r,e,r)},n.prototype._pad=Z.prototype._pad,n.prototype._unpad=Z.prototype._unpad}),$B=k6((v)=>{v.utils=H_(),v.Cipher=PU(),v.DES=x_(),v.CBC=ZB(),v.EDE=VB()}),TB=k6((v,l)=>{var s=ST(),N=$B(),j=e1(),Z=_7().Buffer,G={"des-ede3-cbc":N.CBC.instantiate(N.EDE),"des-ede3":N.EDE,"des-ede-cbc":N.CBC.instantiate(N.EDE),"des-ede":N.EDE,"des-cbc":N.CBC.instantiate(N.DES),"des-ecb":N.DES};G.des=G["des-cbc"],G.des3=G["des-ede3-cbc"],l.exports=n,j(n,s);function n(f){s.call(this);var b=f.mode.toLowerCase(),e=G[b],r;f.decrypt?r="decrypt":r="encrypt";var a=f.key;Z.isBuffer(a)||(a=Z.from(a)),(b==="des-ede"||b==="des-ede-cbc")&&(a=Z.concat([a,a.slice(0,8)]));var V0=f.iv;Z.isBuffer(V0)||(V0=Z.from(V0)),this._des=e.create({key:a,iv:V0,type:r})}n.prototype._update=function(f){return Z.from(this._des.update(f))},n.prototype._final=function(){return Z.from(this._des.final())}}),XB=k6((v)=>{v.encrypt=function(l,s){return l._cipher.encryptBlock(s)},v.decrypt=function(l,s){return l._cipher.decryptBlock(s)}}),DY=k6((v,l)=>{l.exports=function(s,N){for(var j=Math.min(s.length,N.length),Z=new Buffer(j),G=0;G{var l=DY();v.encrypt=function(s,N){var j=l(N,s._prev);return s._prev=s._cipher.encryptBlock(j),s._prev},v.decrypt=function(s,N){var j=s._prev;s._prev=N;var Z=s._cipher.decryptBlock(N);return l(Z,j)}}),QB=k6((v)=>{var l=_7().Buffer,s=DY();function N(j,Z,G){var n=Z.length,f=s(Z,j._cache);return j._cache=j._cache.slice(n),j._prev=l.concat([j._prev,G?Z:f]),f}v.encrypt=function(j,Z,G){for(var n=l.allocUnsafe(0),f;Z.length;)if(j._cache.length===0&&(j._cache=j._cipher.encryptBlock(j._prev),j._prev=l.allocUnsafe(0)),j._cache.length<=Z.length)f=j._cache.length,n=l.concat([n,N(j,Z.slice(0,f),G)]),Z=Z.slice(f);else{n=l.concat([n,N(j,Z,G)]);break}return n}}),WB=k6((v)=>{var l=_7().Buffer;function s(N,j,Z){var G=N._cipher.encryptBlock(N._prev),n=G[0]^j;return N._prev=l.concat([N._prev.slice(1),l.from([Z?j:n])]),n}v.encrypt=function(N,j,Z){for(var G=j.length,n=l.allocUnsafe(G),f=-1;++f{var l=_7().Buffer;function s(j,Z,G){for(var n,f=-1,b=8,e=0,r,a;++f>f%8,j._prev=N(j._prev,G?r:a);return e}function N(j,Z){var G=j.length,n=-1,f=l.allocUnsafe(j.length);for(j=l.concat([j,l.from([Z])]);++n>7;return f}v.encrypt=function(j,Z,G){for(var n=Z.length,f=l.allocUnsafe(n),b=-1;++b{var l=DY();function s(N){return N._prev=N._cipher.encryptBlock(N._prev),N._prev}v.encrypt=function(N,j){for(;N._cache.length{function s(N){for(var j=N.length,Z;j--;)if(Z=N.readUInt8(j),Z===255)N.writeUInt8(0,j);else{Z++,N.writeUInt8(Z,j);break}}l.exports=s}),V_=k6((v)=>{var l=DY(),s=_7().Buffer,N=y_();function j(G){var n=G._cipher.encryptBlockRaw(G._prev);return N(G._prev),n}var Z=16;v.encrypt=function(G,n){var f=Math.ceil(n.length/Z),b=G._cache.length;G._cache=s.concat([G._cache,s.allocUnsafe(f*Z)]);for(var e=0;e{l.exports={"aes-128-ecb":{cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},"aes-192-ecb":{cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},"aes-256-ecb":{cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},"aes-128-cbc":{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},"aes-192-cbc":{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},"aes-256-cbc":{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},aes128:{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},aes192:{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},aes256:{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},"aes-128-cfb":{cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},"aes-192-cfb":{cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},"aes-256-cfb":{cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},"aes-128-cfb8":{cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},"aes-192-cfb8":{cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},"aes-256-cfb8":{cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},"aes-128-cfb1":{cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},"aes-192-cfb1":{cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},"aes-256-cfb1":{cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},"aes-128-ofb":{cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},"aes-192-ofb":{cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},"aes-256-ofb":{cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},"aes-128-ctr":{cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},"aes-192-ctr":{cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},"aes-256-ctr":{cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},"aes-128-gcm":{cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},"aes-192-gcm":{cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},"aes-256-gcm":{cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}}}),OU=k6((v,l)=>{var s={ECB:XB(),CBC:YB(),CFB:QB(),CFB8:WB(),CFB1:NB(),OFB:UB(),CTR:V_(),GCM:V_()},N=w_();for(j in N)N[j].module=s[N[j].mode];var j;l.exports=N}),nQ=k6((v,l)=>{var s=_7().Buffer;function N(b){s.isBuffer(b)||(b=s.from(b));for(var e=b.length/4|0,r=new Array(e),a=0;a>>24]^Q0[P0>>>16&255]^N0[L0>>>8&255]^G0[A0&255]^e[b0++],a0=c[P0>>>24]^Q0[L0>>>16&255]^N0[A0>>>8&255]^G0[J0&255]^e[b0++],Y6=c[L0>>>24]^Q0[A0>>>16&255]^N0[J0>>>8&255]^G0[P0&255]^e[b0++],D6=c[A0>>>24]^Q0[J0>>>16&255]^N0[P0>>>8&255]^G0[L0&255]^e[b0++],J0=w0,P0=a0,L0=Y6,A0=D6;return w0=(a[J0>>>24]<<24|a[P0>>>16&255]<<16|a[L0>>>8&255]<<8|a[A0&255])^e[b0++],a0=(a[P0>>>24]<<24|a[L0>>>16&255]<<16|a[A0>>>8&255]<<8|a[J0&255])^e[b0++],Y6=(a[L0>>>24]<<24|a[A0>>>16&255]<<16|a[J0>>>8&255]<<8|a[P0&255])^e[b0++],D6=(a[A0>>>24]<<24|a[J0>>>16&255]<<16|a[P0>>>8&255]<<8|a[L0&255])^e[b0++],w0=w0>>>0,a0=a0>>>0,Y6=Y6>>>0,D6=D6>>>0,[w0,a0,Y6,D6]}var G=[0,1,2,4,8,16,32,64,128,27,54],n=function(){for(var b=new Array(256),e=0;e<256;e++)e<128?b[e]=e<<1:b[e]=e<<1^283;for(var r=[],a=[],V0=[[],[],[],[]],c=[[],[],[],[]],Q0=0,N0=0,G0=0;G0<256;++G0){var J0=N0^N0<<1^N0<<2^N0<<3^N0<<4;J0=J0>>>8^J0&255^99,r[Q0]=J0,a[J0]=Q0;var P0=b[Q0],L0=b[P0],A0=b[L0],w0=b[J0]*257^J0*16843008;V0[0][Q0]=w0<<24|w0>>>8,V0[1][Q0]=w0<<16|w0>>>16,V0[2][Q0]=w0<<8|w0>>>24,V0[3][Q0]=w0,w0=A0*16843009^L0*65537^P0*257^Q0*16843008,c[0][J0]=w0<<24|w0>>>8,c[1][J0]=w0<<16|w0>>>16,c[2][J0]=w0<<8|w0>>>24,c[3][J0]=w0,Q0===0?Q0=N0=1:(Q0=P0^b[b[b[A0^P0]]],N0^=b[b[N0]])}return{SBOX:r,INV_SBOX:a,SUB_MIX:V0,INV_SUB_MIX:c}}();function f(b){this._key=N(b),this._reset()}f.blockSize=16,f.keySize=32,f.prototype.blockSize=f.blockSize,f.prototype.keySize=f.keySize,f.prototype._reset=function(){for(var b=this._key,e=b.length,r=e+6,a=(r+1)*4,V0=[],c=0;c>>24,Q0=n.SBOX[Q0>>>24]<<24|n.SBOX[Q0>>>16&255]<<16|n.SBOX[Q0>>>8&255]<<8|n.SBOX[Q0&255],Q0^=G[c/e|0]<<24):e>6&&c%e===4&&(Q0=n.SBOX[Q0>>>24]<<24|n.SBOX[Q0>>>16&255]<<16|n.SBOX[Q0>>>8&255]<<8|n.SBOX[Q0&255]),V0[c]=V0[c-e]^Q0}for(var N0=[],G0=0;G0>>24]]^n.INV_SUB_MIX[1][n.SBOX[P0>>>16&255]]^n.INV_SUB_MIX[2][n.SBOX[P0>>>8&255]]^n.INV_SUB_MIX[3][n.SBOX[P0&255]]}this._nRounds=r,this._keySchedule=V0,this._invKeySchedule=N0},f.prototype.encryptBlockRaw=function(b){return b=N(b),Z(b,this._keySchedule,n.SUB_MIX,n.SBOX,this._nRounds)},f.prototype.encryptBlock=function(b){var e=this.encryptBlockRaw(b),r=s.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},f.prototype.decryptBlock=function(b){b=N(b);var e=b[1];b[1]=b[3],b[3]=e;var r=Z(b,this._invKeySchedule,n.INV_SUB_MIX,n.INV_SBOX,this._nRounds),a=s.allocUnsafe(16);return a.writeUInt32BE(r[0],0),a.writeUInt32BE(r[3],4),a.writeUInt32BE(r[2],8),a.writeUInt32BE(r[1],12),a},f.prototype.scrub=function(){j(this._keySchedule),j(this._invKeySchedule),j(this._key)},l.exports.AES=f}),JB=k6((v,l)=>{var s=_7().Buffer,N=s.alloc(16,0);function j(n){return[n.readUInt32BE(0),n.readUInt32BE(4),n.readUInt32BE(8),n.readUInt32BE(12)]}function Z(n){var f=s.allocUnsafe(16);return f.writeUInt32BE(n[0]>>>0,0),f.writeUInt32BE(n[1]>>>0,4),f.writeUInt32BE(n[2]>>>0,8),f.writeUInt32BE(n[3]>>>0,12),f}function G(n){this.h=n,this.state=s.alloc(16,0),this.cache=s.allocUnsafe(0)}G.prototype.ghash=function(n){for(var f=-1;++f0;b--)n[b]=n[b]>>>1|(n[b-1]&1)<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=Z(f)},G.prototype.update=function(n){this.cache=s.concat([this.cache,n]);for(var f;this.cache.length>=16;)f=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(f)},G.prototype.final=function(n,f){return this.cache.length&&this.ghash(s.concat([this.cache,N],16)),this.ghash(Z([0,n,0,f])),this.state},l.exports=G}),I_=k6((v,l)=>{var s=nQ(),N=_7().Buffer,j=ST(),Z=e1(),G=JB(),n=DY(),f=y_();function b(a,V0){var c=0;a.length!==V0.length&&c++;for(var Q0=Math.min(a.length,V0.length),N0=0;N0{var s=nQ(),N=_7().Buffer,j=ST(),Z=e1();function G(n,f,b,e){j.call(this),this._cipher=new s.AES(f),this._prev=N.from(b),this._cache=N.allocUnsafe(0),this._secCache=N.allocUnsafe(0),this._decrypt=e,this._mode=n}Z(G,j),G.prototype._update=function(n){return this._mode.encrypt(this,n,this._decrypt)},G.prototype._final=function(){this._cipher.scrub()},l.exports=G}),rQ=k6((v,l)=>{var s=_7().Buffer,N=QU();function j(Z,G,n,f){if(s.isBuffer(Z)||(Z=s.from(Z,"binary")),G&&(s.isBuffer(G)||(G=s.from(G,"binary")),G.length!==8))throw new RangeError("salt should be Buffer with 8 byte length");for(var b=n/8,e=s.alloc(b),r=s.alloc(f||0),a=s.alloc(0);b>0||f>0;){var V0=new N;V0.update(a),V0.update(Z),G&&V0.update(G),a=V0.digest();var c=0;if(b>0){var Q0=e.length-b;c=Math.min(b,a.length),a.copy(e,Q0,0,c),b-=c}if(c0){var N0=r.length-f,G0=Math.min(f,a.length-c);a.copy(r,N0,c,c+G0),f-=G0}}return a.fill(0),{key:e,iv:r}}l.exports=j}),SB=k6((v)=>{var l=OU(),s=I_(),N=_7().Buffer,j=q_(),Z=ST(),G=nQ(),n=rQ(),f=e1();function b(c,Q0,N0){Z.call(this),this._cache=new r,this._cipher=new G.AES(Q0),this._prev=N.from(N0),this._mode=c,this._autopadding=!0}f(b,Z),b.prototype._update=function(c){this._cache.add(c);for(var Q0,N0,G0=[];Q0=this._cache.get();)N0=this._mode.encrypt(this,Q0),G0.push(N0);return N.concat(G0)};var e=N.alloc(16,16);b.prototype._final=function(){var c=this._cache.flush();if(this._autopadding)return c=this._mode.encrypt(this,c),this._cipher.scrub(),c;if(!c.equals(e))throw this._cipher.scrub(),new Error("data not multiple of block length")},b.prototype.setAutoPadding=function(c){return this._autopadding=!!c,this};function r(){this.cache=N.allocUnsafe(0)}r.prototype.add=function(c){this.cache=N.concat([this.cache,c])},r.prototype.get=function(){if(this.cache.length>15){var c=this.cache.slice(0,16);return this.cache=this.cache.slice(16),c}return null},r.prototype.flush=function(){for(var c=16-this.cache.length,Q0=N.allocUnsafe(c),N0=-1;++N0{var l=I_(),s=_7().Buffer,N=OU(),j=q_(),Z=ST(),G=nQ(),n=rQ(),f=e1();function b(c,Q0,N0){Z.call(this),this._cache=new e,this._last=void 0,this._cipher=new G.AES(Q0),this._prev=s.from(N0),this._mode=c,this._autopadding=!0}f(b,Z),b.prototype._update=function(c){this._cache.add(c);for(var Q0,N0,G0=[];Q0=this._cache.get(this._autopadding);)N0=this._mode.decrypt(this,Q0),G0.push(N0);return s.concat(G0)},b.prototype._final=function(){var c=this._cache.flush();if(this._autopadding)return r(this._mode.decrypt(this,c));if(c)throw new Error("data not multiple of block length")},b.prototype.setAutoPadding=function(c){return this._autopadding=!!c,this};function e(){this.cache=s.allocUnsafe(0)}e.prototype.add=function(c){this.cache=s.concat([this.cache,c])},e.prototype.get=function(c){var Q0;if(c){if(this.cache.length>16)return Q0=this.cache.slice(0,16),this.cache=this.cache.slice(16),Q0}else if(this.cache.length>=16)return Q0=this.cache.slice(0,16),this.cache=this.cache.slice(16),Q0;return null},e.prototype.flush=function(){if(this.cache.length)return this.cache};function r(c){var Q0=c[15];if(Q0<1||Q0>16)throw new Error("unable to decrypt data");for(var N0=-1;++N0{var l=SB(),s=RB(),N=w_();function j(){return Object.keys(N)}v.createCipher=v.Cipher=l.createCipher,v.createCipheriv=v.Cipheriv=l.createCipheriv,v.createDecipher=v.Decipher=s.createDecipher,v.createDecipheriv=v.Decipheriv=s.createDecipheriv,v.listCiphers=v.getCiphers=j}),_B=k6((v)=>{v["des-ecb"]={key:8,iv:0},v["des-cbc"]=v.des={key:8,iv:8},v["des-ede3-cbc"]=v.des3={key:24,iv:8},v["des-ede3"]={key:24,iv:0},v["des-ede-cbc"]={key:16,iv:8},v["des-ede"]={key:16,iv:0}}),KB=k6((v)=>{var l=TB(),s=GU(),N=OU(),j=_B(),Z=rQ();function G(r,a){r=r.toLowerCase();var V0,c;if(N[r])V0=N[r].key,c=N[r].iv;else if(j[r])V0=j[r].key*8,c=j[r].iv;else throw new TypeError("invalid suite type");var Q0=Z(a,!1,V0,c);return f(r,Q0.key,Q0.iv)}function n(r,a){r=r.toLowerCase();var V0,c;if(N[r])V0=N[r].key,c=N[r].iv;else if(j[r])V0=j[r].key*8,c=j[r].iv;else throw new TypeError("invalid suite type");var Q0=Z(a,!1,V0,c);return b(r,Q0.key,Q0.iv)}function f(r,a,V0){if(r=r.toLowerCase(),N[r])return s.createCipheriv(r,a,V0);if(j[r])return new l({key:a,iv:V0,mode:r});throw new TypeError("invalid suite type")}function b(r,a,V0){if(r=r.toLowerCase(),N[r])return s.createDecipheriv(r,a,V0);if(j[r])return new l({key:a,iv:V0,mode:r,decrypt:!0});throw new TypeError("invalid suite type")}function e(){return Object.keys(j).concat(s.getCiphers())}v.createCipher=v.Cipher=G,v.createCipheriv=v.Cipheriv=f,v.createDecipher=v.Decipher=n,v.createDecipheriv=v.Decipheriv=b,v.listCiphers=v.getCiphers=e}),XX=k6(()=>{}),v_=k6((v,l)=>{(function(s,N){function j(R,D){if(!R)throw new Error(D||"Assertion failed")}function Z(R,D){R.super_=D;var B=function(){};B.prototype=D.prototype,R.prototype=new B,R.prototype.constructor=R}function G(R,D,B){if(G.isBN(R))return R;this.negative=0,this.words=null,this.length=0,this.red=null,R!==null&&((D==="le"||D==="be")&&(B=D,D=10),this._init(R||0,D||10,B||"be"))}typeof s=="object"?s.exports=G:N.BN=G,G.BN=G,G.wordSize=26;var n;try{typeof window<"u"&&typeof window.Buffer<"u"?n=window.Buffer:n=XX().Buffer}catch{}G.isBN=function(R){return R instanceof G?!0:R!==null&&typeof R=="object"&&R.constructor.wordSize===G.wordSize&&Array.isArray(R.words)},G.max=function(R,D){return R.cmp(D)>0?R:D},G.min=function(R,D){return R.cmp(D)<0?R:D},G.prototype._init=function(R,D,B){if(typeof R=="number")return this._initNumber(R,D,B);if(typeof R=="object")return this._initArray(R,D,B);D==="hex"&&(D=16),j(D===(D|0)&&D>=2&&D<=36),R=R.toString().replace(/\s+/g,"");var E=0;R[0]==="-"&&(E++,this.negative=1),E=0;E-=3)o=R[E]|R[E-1]<<8|R[E-2]<<16,this.words[w]|=o<>>26-h&67108863,h+=24,h>=26&&(h-=26,w++);else if(B==="le")for(E=0,w=0;E>>26-h&67108863,h+=24,h>=26&&(h-=26,w++);return this.strip()};function f(R,D){var B=R.charCodeAt(D);return B>=65&&B<=70?B-55:B>=97&&B<=102?B-87:B-48&15}function b(R,D,B){var E=f(R,B);return B-1>=D&&(E|=f(R,B-1)<<4),E}G.prototype._parseHex=function(R,D,B){this.length=Math.ceil((R.length-D)/6),this.words=new Array(this.length);for(var E=0;E=D;E-=2)h=b(R,D,E)<=18?(w-=18,o+=1,this.words[o]|=h>>>26):w+=8;else{var x=R.length-D;for(E=x%2===0?D+1:D;E=18?(w-=18,o+=1,this.words[o]|=h>>>26):w+=8}this.strip()};function e(R,D,B,E){for(var w=0,o=Math.min(R.length,B),h=D;h=49?w+=x-49+10:x>=17?w+=x-17+10:w+=x}return w}G.prototype._parseBase=function(R,D,B){this.words=[0],this.length=1;for(var E=0,w=1;w<=67108863;w*=D)E++;E--,w=w/D|0;for(var o=R.length-B,h=o%E,x=Math.min(o,o-h)+B,M=0,p=B;p1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},G.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},G.prototype.inspect=function(){return(this.red?""};var r=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],a=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],V0=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];G.prototype.toString=function(R,D){R=R||10,D=D|0||1;var B;if(R===16||R==="hex"){B="";for(var E=0,w=0,o=0;o>>24-E&16777215,w!==0||o!==this.length-1?B=r[6-x.length]+x+B:B=x+B,E+=2,E>=26&&(E-=26,o--)}for(w!==0&&(B=w.toString(16)+B);B.length%D!==0;)B="0"+B;return this.negative!==0&&(B="-"+B),B}if(R===(R|0)&&R>=2&&R<=36){var M=a[R],p=V0[R];B="";var K0=this.clone();for(K0.negative=0;!K0.isZero();){var U0=K0.modn(p).toString(R);K0=K0.idivn(p),K0.isZero()?B=U0+B:B=r[M-U0.length]+U0+B}for(this.isZero()&&(B="0"+B);B.length%D!==0;)B="0"+B;return this.negative!==0&&(B="-"+B),B}j(!1,"Base should be between 2 and 36")},G.prototype.toNumber=function(){var R=this.words[0];return this.length===2?R+=this.words[1]*67108864:this.length===3&&this.words[2]===1?R+=4503599627370496+this.words[1]*67108864:this.length>2&&j(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-R:R},G.prototype.toJSON=function(){return this.toString(16)},G.prototype.toBuffer=function(R,D){return j(typeof n<"u"),this.toArrayLike(n,R,D)},G.prototype.toArray=function(R,D){return this.toArrayLike(Array,R,D)},G.prototype.toArrayLike=function(R,D,B){var E=this.byteLength(),w=B||Math.max(1,E);j(E<=w,"byte array longer than desired length"),j(w>0,"Requested array length <= 0"),this.strip();var o=D==="le",h=new R(w),x,M,p=this.clone();if(o){for(M=0;!p.isZero();M++)x=p.andln(255),p.iushrn(8),h[M]=x;for(;M=4096&&(B+=13,D>>>=13),D>=64&&(B+=7,D>>>=7),D>=8&&(B+=4,D>>>=4),D>=2&&(B+=2,D>>>=2),B+D},G.prototype._zeroBits=function(R){if(R===0)return 26;var D=R,B=0;return(D&8191)===0&&(B+=13,D>>>=13),(D&127)===0&&(B+=7,D>>>=7),(D&15)===0&&(B+=4,D>>>=4),(D&3)===0&&(B+=2,D>>>=2),(D&1)===0&&B++,B},G.prototype.bitLength=function(){var R=this.words[this.length-1],D=this._countBits(R);return(this.length-1)*26+D};function c(R){for(var D=new Array(R.bitLength()),B=0;B>>w}return D}G.prototype.zeroBits=function(){if(this.isZero())return 0;for(var R=0,D=0;DR.length?this.clone().ior(R):R.clone().ior(this)},G.prototype.uor=function(R){return this.length>R.length?this.clone().iuor(R):R.clone().iuor(this)},G.prototype.iuand=function(R){var D;this.length>R.length?D=R:D=this;for(var B=0;BR.length?this.clone().iand(R):R.clone().iand(this)},G.prototype.uand=function(R){return this.length>R.length?this.clone().iuand(R):R.clone().iuand(this)},G.prototype.iuxor=function(R){var D,B;this.length>R.length?(D=this,B=R):(D=R,B=this);for(var E=0;ER.length?this.clone().ixor(R):R.clone().ixor(this)},G.prototype.uxor=function(R){return this.length>R.length?this.clone().iuxor(R):R.clone().iuxor(this)},G.prototype.inotn=function(R){j(typeof R=="number"&&R>=0);var D=Math.ceil(R/26)|0,B=R%26;this._expand(D),B>0&&D--;for(var E=0;E0&&(this.words[E]=~this.words[E]&67108863>>26-B),this.strip()},G.prototype.notn=function(R){return this.clone().inotn(R)},G.prototype.setn=function(R,D){j(typeof R=="number"&&R>=0);var B=R/26|0,E=R%26;return this._expand(B+1),D?this.words[B]=this.words[B]|1<R.length?(B=this,E=R):(B=R,E=this);for(var w=0,o=0;o>>26;for(;w!==0&&o>>26;if(this.length=B.length,w!==0)this.words[this.length]=w,this.length++;else if(B!==this)for(;oR.length?this.clone().iadd(R):R.clone().iadd(this)},G.prototype.isub=function(R){if(R.negative!==0){R.negative=0;var D=this.iadd(R);return R.negative=1,D._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(R),this.negative=1,this._normSign();var B=this.cmp(R);if(B===0)return this.negative=0,this.length=1,this.words[0]=0,this;var E,w;B>0?(E=this,w=R):(E=R,w=this);for(var o=0,h=0;h>26,this.words[h]=D&67108863;for(;o!==0&&h>26,this.words[h]=D&67108863;if(o===0&&h>>26,U0=M&67108863,M0=Math.min(p,D.length-1),f0=Math.max(0,p-R.length+1);f0<=M0;f0++){var X6=p-f0|0;w=R.words[X6]|0,o=D.words[f0]|0,h=w*o+U0,K0+=h/67108864|0,U0=h&67108863}B.words[p]=U0|0,M=K0|0}return M!==0?B.words[p]=M|0:B.length--,B.strip()}var N0=function(R,D,B){var E=R.words,w=D.words,o=B.words,h=0,x,M,p,K0=E[0]|0,U0=K0&8191,M0=K0>>>13,f0=E[1]|0,X6=f0&8191,O6=f0>>>13,r0=E[2]|0,j0=r0&8191,d0=r0>>>13,c6=E[3]|0,K6=c6&8191,I6=c6>>>13,z0=E[4]|0,S0=z0&8191,x0=z0>>>13,_6=E[5]|0,P6=_6&8191,R6=_6>>>13,s8=E[6]|0,v6=s8&8191,j6=s8>>>13,h2=E[7]|0,b6=h2&8191,n6=h2>>>13,a1=E[8]|0,$0=a1&8191,R0=a1>>>13,v0=E[9]|0,s0=v0&8191,l0=v0>>>13,$8=w[0]|0,z6=$8&8191,g6=$8>>>13,f1=w[1]|0,e6=f1&8191,d6=f1>>>13,k1=w[2]|0,S8=k1&8191,N8=k1>>>13,m5=w[3]|0,W8=m5&8191,X8=m5>>>13,o7=w[4]|0,Q8=o7&8191,O8=o7>>>13,C9=w[5]|0,G8=C9&8191,E8=C9>>>13,d5=w[6]|0,M8=d5&8191,U8=d5>>>13,A9=w[7]|0,L8=A9&8191,q=A9>>>13,O9=w[8]|0,B8=O9&8191,D8=O9>>>13,G9=w[9]|0,z8=G9&8191,F8=G9>>>13;B.negative=R.negative^D.negative,B.length=19,x=Math.imul(U0,z6),M=Math.imul(U0,g6),M=M+Math.imul(M0,z6)|0,p=Math.imul(M0,g6);var D5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(D5>>>26)|0,D5&=67108863,x=Math.imul(X6,z6),M=Math.imul(X6,g6),M=M+Math.imul(O6,z6)|0,p=Math.imul(O6,g6),x=x+Math.imul(U0,e6)|0,M=M+Math.imul(U0,d6)|0,M=M+Math.imul(M0,e6)|0,p=p+Math.imul(M0,d6)|0;var p1=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(p1>>>26)|0,p1&=67108863,x=Math.imul(j0,z6),M=Math.imul(j0,g6),M=M+Math.imul(d0,z6)|0,p=Math.imul(d0,g6),x=x+Math.imul(X6,e6)|0,M=M+Math.imul(X6,d6)|0,M=M+Math.imul(O6,e6)|0,p=p+Math.imul(O6,d6)|0,x=x+Math.imul(U0,S8)|0,M=M+Math.imul(U0,N8)|0,M=M+Math.imul(M0,S8)|0,p=p+Math.imul(M0,N8)|0;var m1=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(m1>>>26)|0,m1&=67108863,x=Math.imul(K6,z6),M=Math.imul(K6,g6),M=M+Math.imul(I6,z6)|0,p=Math.imul(I6,g6),x=x+Math.imul(j0,e6)|0,M=M+Math.imul(j0,d6)|0,M=M+Math.imul(d0,e6)|0,p=p+Math.imul(d0,d6)|0,x=x+Math.imul(X6,S8)|0,M=M+Math.imul(X6,N8)|0,M=M+Math.imul(O6,S8)|0,p=p+Math.imul(O6,N8)|0,x=x+Math.imul(U0,W8)|0,M=M+Math.imul(U0,X8)|0,M=M+Math.imul(M0,W8)|0,p=p+Math.imul(M0,X8)|0;var f7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(f7>>>26)|0,f7&=67108863,x=Math.imul(S0,z6),M=Math.imul(S0,g6),M=M+Math.imul(x0,z6)|0,p=Math.imul(x0,g6),x=x+Math.imul(K6,e6)|0,M=M+Math.imul(K6,d6)|0,M=M+Math.imul(I6,e6)|0,p=p+Math.imul(I6,d6)|0,x=x+Math.imul(j0,S8)|0,M=M+Math.imul(j0,N8)|0,M=M+Math.imul(d0,S8)|0,p=p+Math.imul(d0,N8)|0,x=x+Math.imul(X6,W8)|0,M=M+Math.imul(X6,X8)|0,M=M+Math.imul(O6,W8)|0,p=p+Math.imul(O6,X8)|0,x=x+Math.imul(U0,Q8)|0,M=M+Math.imul(U0,O8)|0,M=M+Math.imul(M0,Q8)|0,p=p+Math.imul(M0,O8)|0;var X5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(X5>>>26)|0,X5&=67108863,x=Math.imul(P6,z6),M=Math.imul(P6,g6),M=M+Math.imul(R6,z6)|0,p=Math.imul(R6,g6),x=x+Math.imul(S0,e6)|0,M=M+Math.imul(S0,d6)|0,M=M+Math.imul(x0,e6)|0,p=p+Math.imul(x0,d6)|0,x=x+Math.imul(K6,S8)|0,M=M+Math.imul(K6,N8)|0,M=M+Math.imul(I6,S8)|0,p=p+Math.imul(I6,N8)|0,x=x+Math.imul(j0,W8)|0,M=M+Math.imul(j0,X8)|0,M=M+Math.imul(d0,W8)|0,p=p+Math.imul(d0,X8)|0,x=x+Math.imul(X6,Q8)|0,M=M+Math.imul(X6,O8)|0,M=M+Math.imul(O6,Q8)|0,p=p+Math.imul(O6,O8)|0,x=x+Math.imul(U0,G8)|0,M=M+Math.imul(U0,E8)|0,M=M+Math.imul(M0,G8)|0,p=p+Math.imul(M0,E8)|0;var Y5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(Y5>>>26)|0,Y5&=67108863,x=Math.imul(v6,z6),M=Math.imul(v6,g6),M=M+Math.imul(j6,z6)|0,p=Math.imul(j6,g6),x=x+Math.imul(P6,e6)|0,M=M+Math.imul(P6,d6)|0,M=M+Math.imul(R6,e6)|0,p=p+Math.imul(R6,d6)|0,x=x+Math.imul(S0,S8)|0,M=M+Math.imul(S0,N8)|0,M=M+Math.imul(x0,S8)|0,p=p+Math.imul(x0,N8)|0,x=x+Math.imul(K6,W8)|0,M=M+Math.imul(K6,X8)|0,M=M+Math.imul(I6,W8)|0,p=p+Math.imul(I6,X8)|0,x=x+Math.imul(j0,Q8)|0,M=M+Math.imul(j0,O8)|0,M=M+Math.imul(d0,Q8)|0,p=p+Math.imul(d0,O8)|0,x=x+Math.imul(X6,G8)|0,M=M+Math.imul(X6,E8)|0,M=M+Math.imul(O6,G8)|0,p=p+Math.imul(O6,E8)|0,x=x+Math.imul(U0,M8)|0,M=M+Math.imul(U0,U8)|0,M=M+Math.imul(M0,M8)|0,p=p+Math.imul(M0,U8)|0;var d7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(d7>>>26)|0,d7&=67108863,x=Math.imul(b6,z6),M=Math.imul(b6,g6),M=M+Math.imul(n6,z6)|0,p=Math.imul(n6,g6),x=x+Math.imul(v6,e6)|0,M=M+Math.imul(v6,d6)|0,M=M+Math.imul(j6,e6)|0,p=p+Math.imul(j6,d6)|0,x=x+Math.imul(P6,S8)|0,M=M+Math.imul(P6,N8)|0,M=M+Math.imul(R6,S8)|0,p=p+Math.imul(R6,N8)|0,x=x+Math.imul(S0,W8)|0,M=M+Math.imul(S0,X8)|0,M=M+Math.imul(x0,W8)|0,p=p+Math.imul(x0,X8)|0,x=x+Math.imul(K6,Q8)|0,M=M+Math.imul(K6,O8)|0,M=M+Math.imul(I6,Q8)|0,p=p+Math.imul(I6,O8)|0,x=x+Math.imul(j0,G8)|0,M=M+Math.imul(j0,E8)|0,M=M+Math.imul(d0,G8)|0,p=p+Math.imul(d0,E8)|0,x=x+Math.imul(X6,M8)|0,M=M+Math.imul(X6,U8)|0,M=M+Math.imul(O6,M8)|0,p=p+Math.imul(O6,U8)|0,x=x+Math.imul(U0,L8)|0,M=M+Math.imul(U0,q)|0,M=M+Math.imul(M0,L8)|0,p=p+Math.imul(M0,q)|0;var Q5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(Q5>>>26)|0,Q5&=67108863,x=Math.imul($0,z6),M=Math.imul($0,g6),M=M+Math.imul(R0,z6)|0,p=Math.imul(R0,g6),x=x+Math.imul(b6,e6)|0,M=M+Math.imul(b6,d6)|0,M=M+Math.imul(n6,e6)|0,p=p+Math.imul(n6,d6)|0,x=x+Math.imul(v6,S8)|0,M=M+Math.imul(v6,N8)|0,M=M+Math.imul(j6,S8)|0,p=p+Math.imul(j6,N8)|0,x=x+Math.imul(P6,W8)|0,M=M+Math.imul(P6,X8)|0,M=M+Math.imul(R6,W8)|0,p=p+Math.imul(R6,X8)|0,x=x+Math.imul(S0,Q8)|0,M=M+Math.imul(S0,O8)|0,M=M+Math.imul(x0,Q8)|0,p=p+Math.imul(x0,O8)|0,x=x+Math.imul(K6,G8)|0,M=M+Math.imul(K6,E8)|0,M=M+Math.imul(I6,G8)|0,p=p+Math.imul(I6,E8)|0,x=x+Math.imul(j0,M8)|0,M=M+Math.imul(j0,U8)|0,M=M+Math.imul(d0,M8)|0,p=p+Math.imul(d0,U8)|0,x=x+Math.imul(X6,L8)|0,M=M+Math.imul(X6,q)|0,M=M+Math.imul(O6,L8)|0,p=p+Math.imul(O6,q)|0,x=x+Math.imul(U0,B8)|0,M=M+Math.imul(U0,D8)|0,M=M+Math.imul(M0,B8)|0,p=p+Math.imul(M0,D8)|0;var W5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(W5>>>26)|0,W5&=67108863,x=Math.imul(s0,z6),M=Math.imul(s0,g6),M=M+Math.imul(l0,z6)|0,p=Math.imul(l0,g6),x=x+Math.imul($0,e6)|0,M=M+Math.imul($0,d6)|0,M=M+Math.imul(R0,e6)|0,p=p+Math.imul(R0,d6)|0,x=x+Math.imul(b6,S8)|0,M=M+Math.imul(b6,N8)|0,M=M+Math.imul(n6,S8)|0,p=p+Math.imul(n6,N8)|0,x=x+Math.imul(v6,W8)|0,M=M+Math.imul(v6,X8)|0,M=M+Math.imul(j6,W8)|0,p=p+Math.imul(j6,X8)|0,x=x+Math.imul(P6,Q8)|0,M=M+Math.imul(P6,O8)|0,M=M+Math.imul(R6,Q8)|0,p=p+Math.imul(R6,O8)|0,x=x+Math.imul(S0,G8)|0,M=M+Math.imul(S0,E8)|0,M=M+Math.imul(x0,G8)|0,p=p+Math.imul(x0,E8)|0,x=x+Math.imul(K6,M8)|0,M=M+Math.imul(K6,U8)|0,M=M+Math.imul(I6,M8)|0,p=p+Math.imul(I6,U8)|0,x=x+Math.imul(j0,L8)|0,M=M+Math.imul(j0,q)|0,M=M+Math.imul(d0,L8)|0,p=p+Math.imul(d0,q)|0,x=x+Math.imul(X6,B8)|0,M=M+Math.imul(X6,D8)|0,M=M+Math.imul(O6,B8)|0,p=p+Math.imul(O6,D8)|0,x=x+Math.imul(U0,z8)|0,M=M+Math.imul(U0,F8)|0,M=M+Math.imul(M0,z8)|0,p=p+Math.imul(M0,F8)|0;var N5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(N5>>>26)|0,N5&=67108863,x=Math.imul(s0,e6),M=Math.imul(s0,d6),M=M+Math.imul(l0,e6)|0,p=Math.imul(l0,d6),x=x+Math.imul($0,S8)|0,M=M+Math.imul($0,N8)|0,M=M+Math.imul(R0,S8)|0,p=p+Math.imul(R0,N8)|0,x=x+Math.imul(b6,W8)|0,M=M+Math.imul(b6,X8)|0,M=M+Math.imul(n6,W8)|0,p=p+Math.imul(n6,X8)|0,x=x+Math.imul(v6,Q8)|0,M=M+Math.imul(v6,O8)|0,M=M+Math.imul(j6,Q8)|0,p=p+Math.imul(j6,O8)|0,x=x+Math.imul(P6,G8)|0,M=M+Math.imul(P6,E8)|0,M=M+Math.imul(R6,G8)|0,p=p+Math.imul(R6,E8)|0,x=x+Math.imul(S0,M8)|0,M=M+Math.imul(S0,U8)|0,M=M+Math.imul(x0,M8)|0,p=p+Math.imul(x0,U8)|0,x=x+Math.imul(K6,L8)|0,M=M+Math.imul(K6,q)|0,M=M+Math.imul(I6,L8)|0,p=p+Math.imul(I6,q)|0,x=x+Math.imul(j0,B8)|0,M=M+Math.imul(j0,D8)|0,M=M+Math.imul(d0,B8)|0,p=p+Math.imul(d0,D8)|0,x=x+Math.imul(X6,z8)|0,M=M+Math.imul(X6,F8)|0,M=M+Math.imul(O6,z8)|0,p=p+Math.imul(O6,F8)|0;var U5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(U5>>>26)|0,U5&=67108863,x=Math.imul(s0,S8),M=Math.imul(s0,N8),M=M+Math.imul(l0,S8)|0,p=Math.imul(l0,N8),x=x+Math.imul($0,W8)|0,M=M+Math.imul($0,X8)|0,M=M+Math.imul(R0,W8)|0,p=p+Math.imul(R0,X8)|0,x=x+Math.imul(b6,Q8)|0,M=M+Math.imul(b6,O8)|0,M=M+Math.imul(n6,Q8)|0,p=p+Math.imul(n6,O8)|0,x=x+Math.imul(v6,G8)|0,M=M+Math.imul(v6,E8)|0,M=M+Math.imul(j6,G8)|0,p=p+Math.imul(j6,E8)|0,x=x+Math.imul(P6,M8)|0,M=M+Math.imul(P6,U8)|0,M=M+Math.imul(R6,M8)|0,p=p+Math.imul(R6,U8)|0,x=x+Math.imul(S0,L8)|0,M=M+Math.imul(S0,q)|0,M=M+Math.imul(x0,L8)|0,p=p+Math.imul(x0,q)|0,x=x+Math.imul(K6,B8)|0,M=M+Math.imul(K6,D8)|0,M=M+Math.imul(I6,B8)|0,p=p+Math.imul(I6,D8)|0,x=x+Math.imul(j0,z8)|0,M=M+Math.imul(j0,F8)|0,M=M+Math.imul(d0,z8)|0,p=p+Math.imul(d0,F8)|0;var J5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(J5>>>26)|0,J5&=67108863,x=Math.imul(s0,W8),M=Math.imul(s0,X8),M=M+Math.imul(l0,W8)|0,p=Math.imul(l0,X8),x=x+Math.imul($0,Q8)|0,M=M+Math.imul($0,O8)|0,M=M+Math.imul(R0,Q8)|0,p=p+Math.imul(R0,O8)|0,x=x+Math.imul(b6,G8)|0,M=M+Math.imul(b6,E8)|0,M=M+Math.imul(n6,G8)|0,p=p+Math.imul(n6,E8)|0,x=x+Math.imul(v6,M8)|0,M=M+Math.imul(v6,U8)|0,M=M+Math.imul(j6,M8)|0,p=p+Math.imul(j6,U8)|0,x=x+Math.imul(P6,L8)|0,M=M+Math.imul(P6,q)|0,M=M+Math.imul(R6,L8)|0,p=p+Math.imul(R6,q)|0,x=x+Math.imul(S0,B8)|0,M=M+Math.imul(S0,D8)|0,M=M+Math.imul(x0,B8)|0,p=p+Math.imul(x0,D8)|0,x=x+Math.imul(K6,z8)|0,M=M+Math.imul(K6,F8)|0,M=M+Math.imul(I6,z8)|0,p=p+Math.imul(I6,F8)|0;var S5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(S5>>>26)|0,S5&=67108863,x=Math.imul(s0,Q8),M=Math.imul(s0,O8),M=M+Math.imul(l0,Q8)|0,p=Math.imul(l0,O8),x=x+Math.imul($0,G8)|0,M=M+Math.imul($0,E8)|0,M=M+Math.imul(R0,G8)|0,p=p+Math.imul(R0,E8)|0,x=x+Math.imul(b6,M8)|0,M=M+Math.imul(b6,U8)|0,M=M+Math.imul(n6,M8)|0,p=p+Math.imul(n6,U8)|0,x=x+Math.imul(v6,L8)|0,M=M+Math.imul(v6,q)|0,M=M+Math.imul(j6,L8)|0,p=p+Math.imul(j6,q)|0,x=x+Math.imul(P6,B8)|0,M=M+Math.imul(P6,D8)|0,M=M+Math.imul(R6,B8)|0,p=p+Math.imul(R6,D8)|0,x=x+Math.imul(S0,z8)|0,M=M+Math.imul(S0,F8)|0,M=M+Math.imul(x0,z8)|0,p=p+Math.imul(x0,F8)|0;var R5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(R5>>>26)|0,R5&=67108863,x=Math.imul(s0,G8),M=Math.imul(s0,E8),M=M+Math.imul(l0,G8)|0,p=Math.imul(l0,E8),x=x+Math.imul($0,M8)|0,M=M+Math.imul($0,U8)|0,M=M+Math.imul(R0,M8)|0,p=p+Math.imul(R0,U8)|0,x=x+Math.imul(b6,L8)|0,M=M+Math.imul(b6,q)|0,M=M+Math.imul(n6,L8)|0,p=p+Math.imul(n6,q)|0,x=x+Math.imul(v6,B8)|0,M=M+Math.imul(v6,D8)|0,M=M+Math.imul(j6,B8)|0,p=p+Math.imul(j6,D8)|0,x=x+Math.imul(P6,z8)|0,M=M+Math.imul(P6,F8)|0,M=M+Math.imul(R6,z8)|0,p=p+Math.imul(R6,F8)|0;var b7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(b7>>>26)|0,b7&=67108863,x=Math.imul(s0,M8),M=Math.imul(s0,U8),M=M+Math.imul(l0,M8)|0,p=Math.imul(l0,U8),x=x+Math.imul($0,L8)|0,M=M+Math.imul($0,q)|0,M=M+Math.imul(R0,L8)|0,p=p+Math.imul(R0,q)|0,x=x+Math.imul(b6,B8)|0,M=M+Math.imul(b6,D8)|0,M=M+Math.imul(n6,B8)|0,p=p+Math.imul(n6,D8)|0,x=x+Math.imul(v6,z8)|0,M=M+Math.imul(v6,F8)|0,M=M+Math.imul(j6,z8)|0,p=p+Math.imul(j6,F8)|0;var _5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(_5>>>26)|0,_5&=67108863,x=Math.imul(s0,L8),M=Math.imul(s0,q),M=M+Math.imul(l0,L8)|0,p=Math.imul(l0,q),x=x+Math.imul($0,B8)|0,M=M+Math.imul($0,D8)|0,M=M+Math.imul(R0,B8)|0,p=p+Math.imul(R0,D8)|0,x=x+Math.imul(b6,z8)|0,M=M+Math.imul(b6,F8)|0,M=M+Math.imul(n6,z8)|0,p=p+Math.imul(n6,F8)|0;var e7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(e7>>>26)|0,e7&=67108863,x=Math.imul(s0,B8),M=Math.imul(s0,D8),M=M+Math.imul(l0,B8)|0,p=Math.imul(l0,D8),x=x+Math.imul($0,z8)|0,M=M+Math.imul($0,F8)|0,M=M+Math.imul(R0,z8)|0,p=p+Math.imul(R0,F8)|0;var K5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(K5>>>26)|0,K5&=67108863,x=Math.imul(s0,z8),M=Math.imul(s0,F8),M=M+Math.imul(l0,z8)|0,p=Math.imul(l0,F8);var n7=(h+x|0)+((M&8191)<<13)|0;return h=(p+(M>>>13)|0)+(n7>>>26)|0,n7&=67108863,o[0]=D5,o[1]=p1,o[2]=m1,o[3]=f7,o[4]=X5,o[5]=Y5,o[6]=d7,o[7]=Q5,o[8]=W5,o[9]=N5,o[10]=U5,o[11]=J5,o[12]=S5,o[13]=R5,o[14]=b7,o[15]=_5,o[16]=e7,o[17]=K5,o[18]=n7,h!==0&&(o[19]=h,B.length++),B};Math.imul||(N0=Q0);function G0(R,D,B){B.negative=D.negative^R.negative,B.length=R.length+D.length;for(var E=0,w=0,o=0;o>>26)|0,w+=h>>>26,h&=67108863}B.words[o]=x,E=h,h=w}return E!==0?B.words[o]=E:B.length--,B.strip()}function J0(R,D,B){var E=new P0;return E.mulp(R,D,B)}G.prototype.mulTo=function(R,D){var B,E=this.length+R.length;return this.length===10&&R.length===10?B=N0(this,R,D):E<63?B=Q0(this,R,D):E<1024?B=G0(this,R,D):B=J0(this,R,D),B};function P0(R,D){this.x=R,this.y=D}P0.prototype.makeRBT=function(R){for(var D=new Array(R),B=G.prototype._countBits(R)-1,E=0;E>=1;return E},P0.prototype.permute=function(R,D,B,E,w,o){for(var h=0;h>>1)w++;return 1<>>13,B[2*o+1]=w&8191,w=w>>>13;for(o=2*D;o>=26,D+=E/67108864|0,D+=w>>>26,this.words[B]=w&67108863}return D!==0&&(this.words[B]=D,this.length++),this},G.prototype.muln=function(R){return this.clone().imuln(R)},G.prototype.sqr=function(){return this.mul(this)},G.prototype.isqr=function(){return this.imul(this.clone())},G.prototype.pow=function(R){var D=c(R);if(D.length===0)return new G(1);for(var B=this,E=0;E=0);var D=R%26,B=(R-D)/26,E=67108863>>>26-D<<26-D,w;if(D!==0){var o=0;for(w=0;w>>26-D}o&&(this.words[w]=o,this.length++)}if(B!==0){for(w=this.length-1;w>=0;w--)this.words[w+B]=this.words[w];for(w=0;w=0);var E;D?E=(D-D%26)/26:E=0;var w=R%26,o=Math.min((R-w)/26,this.length),h=67108863^67108863>>>w<o)for(this.length-=o,M=0;M=0&&(p!==0||M>=E);M--){var K0=this.words[M]|0;this.words[M]=p<<26-w|K0>>>w,p=K0&h}return x&&p!==0&&(x.words[x.length++]=p),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},G.prototype.ishrn=function(R,D,B){return j(this.negative===0),this.iushrn(R,D,B)},G.prototype.shln=function(R){return this.clone().ishln(R)},G.prototype.ushln=function(R){return this.clone().iushln(R)},G.prototype.shrn=function(R){return this.clone().ishrn(R)},G.prototype.ushrn=function(R){return this.clone().iushrn(R)},G.prototype.testn=function(R){j(typeof R=="number"&&R>=0);var D=R%26,B=(R-D)/26,E=1<=0);var D=R%26,B=(R-D)/26;if(j(this.negative===0,"imaskn works only with positive numbers"),this.length<=B)return this;if(D!==0&&B++,this.length=Math.min(B,this.length),D!==0){var E=67108863^67108863>>>D<=67108864;D++)this.words[D]-=67108864,D===this.length-1?this.words[D+1]=1:this.words[D+1]++;return this.length=Math.max(this.length,D+1),this},G.prototype.isubn=function(R){if(j(typeof R=="number"),j(R<67108864),R<0)return this.iaddn(-R);if(this.negative!==0)return this.negative=0,this.iaddn(R),this.negative=1,this;if(this.words[0]-=R,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var D=0;D>26)-(x/67108864|0),this.words[w+B]=o&67108863}for(;w>26,this.words[w+B]=o&67108863;if(h===0)return this.strip();for(j(h===-1),h=0,w=0;w>26,this.words[w]=o&67108863;return this.negative=1,this.strip()},G.prototype._wordDiv=function(R,D){var B=this.length-R.length,E=this.clone(),w=R,o=w.words[w.length-1]|0,h=this._countBits(o);B=26-h,B!==0&&(w=w.ushln(B),E.iushln(B),o=w.words[w.length-1]|0);var x=E.length-w.length,M;if(D!=="mod"){M=new G(null),M.length=x+1,M.words=new Array(M.length);for(var p=0;p=0;U0--){var M0=(E.words[w.length+U0]|0)*67108864+(E.words[w.length+U0-1]|0);for(M0=Math.min(M0/o|0,67108863),E._ishlnsubmul(w,M0,U0);E.negative!==0;)M0--,E.negative=0,E._ishlnsubmul(w,1,U0),E.isZero()||(E.negative^=1);M&&(M.words[U0]=M0)}return M&&M.strip(),E.strip(),D!=="div"&&B!==0&&E.iushrn(B),{div:M||null,mod:E}},G.prototype.divmod=function(R,D,B){if(j(!R.isZero()),this.isZero())return{div:new G(0),mod:new G(0)};var E,w,o;return this.negative!==0&&R.negative===0?(o=this.neg().divmod(R,D),D!=="mod"&&(E=o.div.neg()),D!=="div"&&(w=o.mod.neg(),B&&w.negative!==0&&w.iadd(R)),{div:E,mod:w}):this.negative===0&&R.negative!==0?(o=this.divmod(R.neg(),D),D!=="mod"&&(E=o.div.neg()),{div:E,mod:o.mod}):(this.negative&R.negative)!==0?(o=this.neg().divmod(R.neg(),D),D!=="div"&&(w=o.mod.neg(),B&&w.negative!==0&&w.isub(R)),{div:o.div,mod:w}):R.length>this.length||this.cmp(R)<0?{div:new G(0),mod:this}:R.length===1?D==="div"?{div:this.divn(R.words[0]),mod:null}:D==="mod"?{div:null,mod:new G(this.modn(R.words[0]))}:{div:this.divn(R.words[0]),mod:new G(this.modn(R.words[0]))}:this._wordDiv(R,D)},G.prototype.div=function(R){return this.divmod(R,"div",!1).div},G.prototype.mod=function(R){return this.divmod(R,"mod",!1).mod},G.prototype.umod=function(R){return this.divmod(R,"mod",!0).mod},G.prototype.divRound=function(R){var D=this.divmod(R);if(D.mod.isZero())return D.div;var B=D.div.negative!==0?D.mod.isub(R):D.mod,E=R.ushrn(1),w=R.andln(1),o=B.cmp(E);return o<0||w===1&&o===0?D.div:D.div.negative!==0?D.div.isubn(1):D.div.iaddn(1)},G.prototype.modn=function(R){j(R<=67108863);for(var D=(1<<26)%R,B=0,E=this.length-1;E>=0;E--)B=(D*B+(this.words[E]|0))%R;return B},G.prototype.idivn=function(R){j(R<=67108863);for(var D=0,B=this.length-1;B>=0;B--){var E=(this.words[B]|0)+D*67108864;this.words[B]=E/R|0,D=E%R}return this.strip()},G.prototype.divn=function(R){return this.clone().idivn(R)},G.prototype.egcd=function(R){j(R.negative===0),j(!R.isZero());var D=this,B=R.clone();D.negative!==0?D=D.umod(R):D=D.clone();for(var E=new G(1),w=new G(0),o=new G(0),h=new G(1),x=0;D.isEven()&&B.isEven();)D.iushrn(1),B.iushrn(1),++x;for(var M=B.clone(),p=D.clone();!D.isZero();){for(var K0=0,U0=1;(D.words[0]&U0)===0&&K0<26;++K0,U0<<=1);if(K0>0)for(D.iushrn(K0);K0-- >0;)(E.isOdd()||w.isOdd())&&(E.iadd(M),w.isub(p)),E.iushrn(1),w.iushrn(1);for(var M0=0,f0=1;(B.words[0]&f0)===0&&M0<26;++M0,f0<<=1);if(M0>0)for(B.iushrn(M0);M0-- >0;)(o.isOdd()||h.isOdd())&&(o.iadd(M),h.isub(p)),o.iushrn(1),h.iushrn(1);D.cmp(B)>=0?(D.isub(B),E.isub(o),w.isub(h)):(B.isub(D),o.isub(E),h.isub(w))}return{a:o,b:h,gcd:B.iushln(x)}},G.prototype._invmp=function(R){j(R.negative===0),j(!R.isZero());var D=this,B=R.clone();D.negative!==0?D=D.umod(R):D=D.clone();for(var E=new G(1),w=new G(0),o=B.clone();D.cmpn(1)>0&&B.cmpn(1)>0;){for(var h=0,x=1;(D.words[0]&x)===0&&h<26;++h,x<<=1);if(h>0)for(D.iushrn(h);h-- >0;)E.isOdd()&&E.iadd(o),E.iushrn(1);for(var M=0,p=1;(B.words[0]&p)===0&&M<26;++M,p<<=1);if(M>0)for(B.iushrn(M);M-- >0;)w.isOdd()&&w.iadd(o),w.iushrn(1);D.cmp(B)>=0?(D.isub(B),E.isub(w)):(B.isub(D),w.isub(E))}var K0;return D.cmpn(1)===0?K0=E:K0=w,K0.cmpn(0)<0&&K0.iadd(R),K0},G.prototype.gcd=function(R){if(this.isZero())return R.abs();if(R.isZero())return this.abs();var D=this.clone(),B=R.clone();D.negative=0,B.negative=0;for(var E=0;D.isEven()&&B.isEven();E++)D.iushrn(1),B.iushrn(1);do{for(;D.isEven();)D.iushrn(1);for(;B.isEven();)B.iushrn(1);var w=D.cmp(B);if(w<0){var o=D;D=B,B=o}else if(w===0||B.cmpn(1)===0)break;D.isub(B)}while(!0);return B.iushln(E)},G.prototype.invm=function(R){return this.egcd(R).a.umod(R)},G.prototype.isEven=function(){return(this.words[0]&1)===0},G.prototype.isOdd=function(){return(this.words[0]&1)===1},G.prototype.andln=function(R){return this.words[0]&R},G.prototype.bincn=function(R){j(typeof R=="number");var D=R%26,B=(R-D)/26,E=1<>>26,h&=67108863,this.words[o]=h}return w!==0&&(this.words[o]=w,this.length++),this},G.prototype.isZero=function(){return this.length===1&&this.words[0]===0},G.prototype.cmpn=function(R){var D=R<0;if(this.negative!==0&&!D)return-1;if(this.negative===0&&D)return 1;this.strip();var B;if(this.length>1)B=1;else{D&&(R=-R),j(R<=67108863,"Number is too big");var E=this.words[0]|0;B=E===R?0:ER.length)return 1;if(this.length=0;B--){var E=this.words[B]|0,w=R.words[B]|0;if(E!==w){Ew&&(D=1);break}}return D},G.prototype.gtn=function(R){return this.cmpn(R)===1},G.prototype.gt=function(R){return this.cmp(R)===1},G.prototype.gten=function(R){return this.cmpn(R)>=0},G.prototype.gte=function(R){return this.cmp(R)>=0},G.prototype.ltn=function(R){return this.cmpn(R)===-1},G.prototype.lt=function(R){return this.cmp(R)===-1},G.prototype.lten=function(R){return this.cmpn(R)<=0},G.prototype.lte=function(R){return this.cmp(R)<=0},G.prototype.eqn=function(R){return this.cmpn(R)===0},G.prototype.eq=function(R){return this.cmp(R)===0},G.red=function(R){return new b0(R)},G.prototype.toRed=function(R){return j(!this.red,"Already a number in reduction context"),j(this.negative===0,"red works only with positives"),R.convertTo(this)._forceRed(R)},G.prototype.fromRed=function(){return j(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},G.prototype._forceRed=function(R){return this.red=R,this},G.prototype.forceRed=function(R){return j(!this.red,"Already a number in reduction context"),this._forceRed(R)},G.prototype.redAdd=function(R){return j(this.red,"redAdd works only with red numbers"),this.red.add(this,R)},G.prototype.redIAdd=function(R){return j(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,R)},G.prototype.redSub=function(R){return j(this.red,"redSub works only with red numbers"),this.red.sub(this,R)},G.prototype.redISub=function(R){return j(this.red,"redISub works only with red numbers"),this.red.isub(this,R)},G.prototype.redShl=function(R){return j(this.red,"redShl works only with red numbers"),this.red.shl(this,R)},G.prototype.redMul=function(R){return j(this.red,"redMul works only with red numbers"),this.red._verify2(this,R),this.red.mul(this,R)},G.prototype.redIMul=function(R){return j(this.red,"redMul works only with red numbers"),this.red._verify2(this,R),this.red.imul(this,R)},G.prototype.redSqr=function(){return j(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},G.prototype.redISqr=function(){return j(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},G.prototype.redSqrt=function(){return j(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},G.prototype.redInvm=function(){return j(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},G.prototype.redNeg=function(){return j(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},G.prototype.redPow=function(R){return j(this.red&&!R.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,R)};var L0={k256:null,p224:null,p192:null,p25519:null};function A0(R,D){this.name=R,this.p=new G(D,16),this.n=this.p.bitLength(),this.k=new G(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}A0.prototype._tmp=function(){var R=new G(null);return R.words=new Array(Math.ceil(this.n/13)),R},A0.prototype.ireduce=function(R){var D=R,B;do this.split(D,this.tmp),D=this.imulK(D),D=D.iadd(this.tmp),B=D.bitLength();while(B>this.n);var E=B0?D.isub(this.p):D.strip!==void 0?D.strip():D._strip(),D},A0.prototype.split=function(R,D){R.iushrn(this.n,0,D)},A0.prototype.imulK=function(R){return R.imul(this.k)};function w0(){A0.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}Z(w0,A0),w0.prototype.split=function(R,D){for(var B=4194303,E=Math.min(R.length,9),w=0;w>>22,o=h}o>>>=22,R.words[w-10]=o,o===0&&R.length>10?R.length-=10:R.length-=9},w0.prototype.imulK=function(R){R.words[R.length]=0,R.words[R.length+1]=0,R.length+=2;for(var D=0,B=0;B>>=26,R.words[B]=w,D=E}return D!==0&&(R.words[R.length++]=D),R},G._prime=function(R){if(L0[R])return L0[R];var D;if(R==="k256")D=new w0;else if(R==="p224")D=new a0;else if(R==="p192")D=new Y6;else if(R==="p25519")D=new D6;else throw new Error("Unknown prime "+R);return L0[R]=D,D};function b0(R){if(typeof R=="string"){var D=G._prime(R);this.m=D.p,this.prime=D}else j(R.gtn(1),"modulus must be greater than 1"),this.m=R,this.prime=null}b0.prototype._verify1=function(R){j(R.negative===0,"red works only with positives"),j(R.red,"red works only with red numbers")},b0.prototype._verify2=function(R,D){j((R.negative|D.negative)===0,"red works only with positives"),j(R.red&&R.red===D.red,"red works only with red numbers")},b0.prototype.imod=function(R){return this.prime?this.prime.ireduce(R)._forceRed(this):R.umod(this.m)._forceRed(this)},b0.prototype.neg=function(R){return R.isZero()?R.clone():this.m.sub(R)._forceRed(this)},b0.prototype.add=function(R,D){this._verify2(R,D);var B=R.add(D);return B.cmp(this.m)>=0&&B.isub(this.m),B._forceRed(this)},b0.prototype.iadd=function(R,D){this._verify2(R,D);var B=R.iadd(D);return B.cmp(this.m)>=0&&B.isub(this.m),B},b0.prototype.sub=function(R,D){this._verify2(R,D);var B=R.sub(D);return B.cmpn(0)<0&&B.iadd(this.m),B._forceRed(this)},b0.prototype.isub=function(R,D){this._verify2(R,D);var B=R.isub(D);return B.cmpn(0)<0&&B.iadd(this.m),B},b0.prototype.shl=function(R,D){return this._verify1(R),this.imod(R.ushln(D))},b0.prototype.imul=function(R,D){return this._verify2(R,D),this.imod(R.imul(D))},b0.prototype.mul=function(R,D){return this._verify2(R,D),this.imod(R.mul(D))},b0.prototype.isqr=function(R){return this.imul(R,R.clone())},b0.prototype.sqr=function(R){return this.mul(R,R)},b0.prototype.sqrt=function(R){if(R.isZero())return R.clone();var D=this.m.andln(3);if(j(D%2===1),D===3){var B=this.m.add(new G(1)).iushrn(2);return this.pow(R,B)}for(var E=this.m.subn(1),w=0;!E.isZero()&&E.andln(1)===0;)w++,E.iushrn(1);j(!E.isZero());var o=new G(1).toRed(this),h=o.redNeg(),x=this.m.subn(1).iushrn(1),M=this.m.bitLength();for(M=new G(2*M*M).toRed(this);this.pow(M,x).cmp(h)!==0;)M.redIAdd(h);for(var p=this.pow(M,E),K0=this.pow(R,E.addn(1).iushrn(1)),U0=this.pow(R,E),M0=w;U0.cmp(o)!==0;){for(var f0=U0,X6=0;f0.cmp(o)!==0;X6++)f0=f0.redSqr();j(X6=0;w--){for(var p=D.words[w],K0=M-1;K0>=0;K0--){var U0=p>>K0&1;if(o!==E[0]&&(o=this.sqr(o)),U0===0&&h===0){x=0;continue}h<<=1,h|=U0,x++,!(x!==B&&(w!==0||K0!==0))&&(o=this.mul(o,E[h]),x=0,h=0)}M=26}return o},b0.prototype.convertTo=function(R){var D=R.umod(this.m);return D===R?D.clone():D},b0.prototype.convertFrom=function(R){var D=R.clone();return D.red=null,D},G.mont=function(R){return new l6(R)};function l6(R){b0.call(this,R),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new G(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}Z(l6,b0),l6.prototype.convertTo=function(R){return this.imod(R.ushln(this.shift))},l6.prototype.convertFrom=function(R){var D=this.imod(R.mul(this.rinv));return D.red=null,D},l6.prototype.imul=function(R,D){if(R.isZero()||D.isZero())return R.words[0]=0,R.length=1,R;var B=R.imul(D),E=B.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),w=B.isub(E).iushrn(this.shift),o=w;return w.cmp(this.m)>=0?o=w.isub(this.m):w.cmpn(0)<0&&(o=w.iadd(this.m)),o._forceRed(this)},l6.prototype.mul=function(R,D){if(R.isZero()||D.isZero())return new G(0)._forceRed(this);var B=R.mul(D),E=B.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),w=B.isub(E).iushrn(this.shift),o=w;return w.cmp(this.m)>=0?o=w.isub(this.m):w.cmpn(0)<0&&(o=w.iadd(this.m)),o._forceRed(this)},l6.prototype.invm=function(R){var D=this.imod(R._invmp(this.m).mul(this.r2));return D._forceRed(this)}})(typeof l>"u"||l,v)}),PB=k6((v,l)=>{(function(s,N){function j(R,D){if(!R)throw new Error(D||"Assertion failed")}function Z(R,D){R.super_=D;var B=function(){};B.prototype=D.prototype,R.prototype=new B,R.prototype.constructor=R}function G(R,D,B){if(G.isBN(R))return R;this.negative=0,this.words=null,this.length=0,this.red=null,R!==null&&((D==="le"||D==="be")&&(B=D,D=10),this._init(R||0,D||10,B||"be"))}typeof s=="object"?s.exports=G:N.BN=G,G.BN=G,G.wordSize=26;var n;try{typeof window<"u"&&typeof window.Buffer<"u"?n=window.Buffer:n=XX().Buffer}catch{}G.isBN=function(R){return R instanceof G?!0:R!==null&&typeof R=="object"&&R.constructor.wordSize===G.wordSize&&Array.isArray(R.words)},G.max=function(R,D){return R.cmp(D)>0?R:D},G.min=function(R,D){return R.cmp(D)<0?R:D},G.prototype._init=function(R,D,B){if(typeof R=="number")return this._initNumber(R,D,B);if(typeof R=="object")return this._initArray(R,D,B);D==="hex"&&(D=16),j(D===(D|0)&&D>=2&&D<=36),R=R.toString().replace(/\s+/g,"");var E=0;R[0]==="-"&&(E++,this.negative=1),E=0;E-=3)o=R[E]|R[E-1]<<8|R[E-2]<<16,this.words[w]|=o<>>26-h&67108863,h+=24,h>=26&&(h-=26,w++);else if(B==="le")for(E=0,w=0;E>>26-h&67108863,h+=24,h>=26&&(h-=26,w++);return this.strip()};function f(R,D){var B=R.charCodeAt(D);return B>=65&&B<=70?B-55:B>=97&&B<=102?B-87:B-48&15}function b(R,D,B){var E=f(R,B);return B-1>=D&&(E|=f(R,B-1)<<4),E}G.prototype._parseHex=function(R,D,B){this.length=Math.ceil((R.length-D)/6),this.words=new Array(this.length);for(var E=0;E=D;E-=2)h=b(R,D,E)<=18?(w-=18,o+=1,this.words[o]|=h>>>26):w+=8;else{var x=R.length-D;for(E=x%2===0?D+1:D;E=18?(w-=18,o+=1,this.words[o]|=h>>>26):w+=8}this.strip()};function e(R,D,B,E){for(var w=0,o=Math.min(R.length,B),h=D;h=49?w+=x-49+10:x>=17?w+=x-17+10:w+=x}return w}G.prototype._parseBase=function(R,D,B){this.words=[0],this.length=1;for(var E=0,w=1;w<=67108863;w*=D)E++;E--,w=w/D|0;for(var o=R.length-B,h=o%E,x=Math.min(o,o-h)+B,M=0,p=B;p1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},G.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},G.prototype.inspect=function(){return(this.red?""};var r=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],a=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],V0=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];G.prototype.toString=function(R,D){R=R||10,D=D|0||1;var B;if(R===16||R==="hex"){B="";for(var E=0,w=0,o=0;o>>24-E&16777215,w!==0||o!==this.length-1?B=r[6-x.length]+x+B:B=x+B,E+=2,E>=26&&(E-=26,o--)}for(w!==0&&(B=w.toString(16)+B);B.length%D!==0;)B="0"+B;return this.negative!==0&&(B="-"+B),B}if(R===(R|0)&&R>=2&&R<=36){var M=a[R],p=V0[R];B="";var K0=this.clone();for(K0.negative=0;!K0.isZero();){var U0=K0.modn(p).toString(R);K0=K0.idivn(p),K0.isZero()?B=U0+B:B=r[M-U0.length]+U0+B}for(this.isZero()&&(B="0"+B);B.length%D!==0;)B="0"+B;return this.negative!==0&&(B="-"+B),B}j(!1,"Base should be between 2 and 36")},G.prototype.toNumber=function(){var R=this.words[0];return this.length===2?R+=this.words[1]*67108864:this.length===3&&this.words[2]===1?R+=4503599627370496+this.words[1]*67108864:this.length>2&&j(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-R:R},G.prototype.toJSON=function(){return this.toString(16)},G.prototype.toBuffer=function(R,D){return j(typeof n<"u"),this.toArrayLike(n,R,D)},G.prototype.toArray=function(R,D){return this.toArrayLike(Array,R,D)},G.prototype.toArrayLike=function(R,D,B){var E=this.byteLength(),w=B||Math.max(1,E);j(E<=w,"byte array longer than desired length"),j(w>0,"Requested array length <= 0"),this.strip();var o=D==="le",h=new R(w),x,M,p=this.clone();if(o){for(M=0;!p.isZero();M++)x=p.andln(255),p.iushrn(8),h[M]=x;for(;M=4096&&(B+=13,D>>>=13),D>=64&&(B+=7,D>>>=7),D>=8&&(B+=4,D>>>=4),D>=2&&(B+=2,D>>>=2),B+D},G.prototype._zeroBits=function(R){if(R===0)return 26;var D=R,B=0;return(D&8191)===0&&(B+=13,D>>>=13),(D&127)===0&&(B+=7,D>>>=7),(D&15)===0&&(B+=4,D>>>=4),(D&3)===0&&(B+=2,D>>>=2),(D&1)===0&&B++,B},G.prototype.bitLength=function(){var R=this.words[this.length-1],D=this._countBits(R);return(this.length-1)*26+D};function c(R){for(var D=new Array(R.bitLength()),B=0;B>>w}return D}G.prototype.zeroBits=function(){if(this.isZero())return 0;for(var R=0,D=0;DR.length?this.clone().ior(R):R.clone().ior(this)},G.prototype.uor=function(R){return this.length>R.length?this.clone().iuor(R):R.clone().iuor(this)},G.prototype.iuand=function(R){var D;this.length>R.length?D=R:D=this;for(var B=0;BR.length?this.clone().iand(R):R.clone().iand(this)},G.prototype.uand=function(R){return this.length>R.length?this.clone().iuand(R):R.clone().iuand(this)},G.prototype.iuxor=function(R){var D,B;this.length>R.length?(D=this,B=R):(D=R,B=this);for(var E=0;ER.length?this.clone().ixor(R):R.clone().ixor(this)},G.prototype.uxor=function(R){return this.length>R.length?this.clone().iuxor(R):R.clone().iuxor(this)},G.prototype.inotn=function(R){j(typeof R=="number"&&R>=0);var D=Math.ceil(R/26)|0,B=R%26;this._expand(D),B>0&&D--;for(var E=0;E0&&(this.words[E]=~this.words[E]&67108863>>26-B),this.strip()},G.prototype.notn=function(R){return this.clone().inotn(R)},G.prototype.setn=function(R,D){j(typeof R=="number"&&R>=0);var B=R/26|0,E=R%26;return this._expand(B+1),D?this.words[B]=this.words[B]|1<R.length?(B=this,E=R):(B=R,E=this);for(var w=0,o=0;o>>26;for(;w!==0&&o>>26;if(this.length=B.length,w!==0)this.words[this.length]=w,this.length++;else if(B!==this)for(;oR.length?this.clone().iadd(R):R.clone().iadd(this)},G.prototype.isub=function(R){if(R.negative!==0){R.negative=0;var D=this.iadd(R);return R.negative=1,D._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(R),this.negative=1,this._normSign();var B=this.cmp(R);if(B===0)return this.negative=0,this.length=1,this.words[0]=0,this;var E,w;B>0?(E=this,w=R):(E=R,w=this);for(var o=0,h=0;h>26,this.words[h]=D&67108863;for(;o!==0&&h>26,this.words[h]=D&67108863;if(o===0&&h>>26,U0=M&67108863,M0=Math.min(p,D.length-1),f0=Math.max(0,p-R.length+1);f0<=M0;f0++){var X6=p-f0|0;w=R.words[X6]|0,o=D.words[f0]|0,h=w*o+U0,K0+=h/67108864|0,U0=h&67108863}B.words[p]=U0|0,M=K0|0}return M!==0?B.words[p]=M|0:B.length--,B.strip()}var N0=function(R,D,B){var E=R.words,w=D.words,o=B.words,h=0,x,M,p,K0=E[0]|0,U0=K0&8191,M0=K0>>>13,f0=E[1]|0,X6=f0&8191,O6=f0>>>13,r0=E[2]|0,j0=r0&8191,d0=r0>>>13,c6=E[3]|0,K6=c6&8191,I6=c6>>>13,z0=E[4]|0,S0=z0&8191,x0=z0>>>13,_6=E[5]|0,P6=_6&8191,R6=_6>>>13,s8=E[6]|0,v6=s8&8191,j6=s8>>>13,h2=E[7]|0,b6=h2&8191,n6=h2>>>13,a1=E[8]|0,$0=a1&8191,R0=a1>>>13,v0=E[9]|0,s0=v0&8191,l0=v0>>>13,$8=w[0]|0,z6=$8&8191,g6=$8>>>13,f1=w[1]|0,e6=f1&8191,d6=f1>>>13,k1=w[2]|0,S8=k1&8191,N8=k1>>>13,m5=w[3]|0,W8=m5&8191,X8=m5>>>13,o7=w[4]|0,Q8=o7&8191,O8=o7>>>13,C9=w[5]|0,G8=C9&8191,E8=C9>>>13,d5=w[6]|0,M8=d5&8191,U8=d5>>>13,A9=w[7]|0,L8=A9&8191,q=A9>>>13,O9=w[8]|0,B8=O9&8191,D8=O9>>>13,G9=w[9]|0,z8=G9&8191,F8=G9>>>13;B.negative=R.negative^D.negative,B.length=19,x=Math.imul(U0,z6),M=Math.imul(U0,g6),M=M+Math.imul(M0,z6)|0,p=Math.imul(M0,g6);var D5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(D5>>>26)|0,D5&=67108863,x=Math.imul(X6,z6),M=Math.imul(X6,g6),M=M+Math.imul(O6,z6)|0,p=Math.imul(O6,g6),x=x+Math.imul(U0,e6)|0,M=M+Math.imul(U0,d6)|0,M=M+Math.imul(M0,e6)|0,p=p+Math.imul(M0,d6)|0;var p1=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(p1>>>26)|0,p1&=67108863,x=Math.imul(j0,z6),M=Math.imul(j0,g6),M=M+Math.imul(d0,z6)|0,p=Math.imul(d0,g6),x=x+Math.imul(X6,e6)|0,M=M+Math.imul(X6,d6)|0,M=M+Math.imul(O6,e6)|0,p=p+Math.imul(O6,d6)|0,x=x+Math.imul(U0,S8)|0,M=M+Math.imul(U0,N8)|0,M=M+Math.imul(M0,S8)|0,p=p+Math.imul(M0,N8)|0;var m1=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(m1>>>26)|0,m1&=67108863,x=Math.imul(K6,z6),M=Math.imul(K6,g6),M=M+Math.imul(I6,z6)|0,p=Math.imul(I6,g6),x=x+Math.imul(j0,e6)|0,M=M+Math.imul(j0,d6)|0,M=M+Math.imul(d0,e6)|0,p=p+Math.imul(d0,d6)|0,x=x+Math.imul(X6,S8)|0,M=M+Math.imul(X6,N8)|0,M=M+Math.imul(O6,S8)|0,p=p+Math.imul(O6,N8)|0,x=x+Math.imul(U0,W8)|0,M=M+Math.imul(U0,X8)|0,M=M+Math.imul(M0,W8)|0,p=p+Math.imul(M0,X8)|0;var f7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(f7>>>26)|0,f7&=67108863,x=Math.imul(S0,z6),M=Math.imul(S0,g6),M=M+Math.imul(x0,z6)|0,p=Math.imul(x0,g6),x=x+Math.imul(K6,e6)|0,M=M+Math.imul(K6,d6)|0,M=M+Math.imul(I6,e6)|0,p=p+Math.imul(I6,d6)|0,x=x+Math.imul(j0,S8)|0,M=M+Math.imul(j0,N8)|0,M=M+Math.imul(d0,S8)|0,p=p+Math.imul(d0,N8)|0,x=x+Math.imul(X6,W8)|0,M=M+Math.imul(X6,X8)|0,M=M+Math.imul(O6,W8)|0,p=p+Math.imul(O6,X8)|0,x=x+Math.imul(U0,Q8)|0,M=M+Math.imul(U0,O8)|0,M=M+Math.imul(M0,Q8)|0,p=p+Math.imul(M0,O8)|0;var X5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(X5>>>26)|0,X5&=67108863,x=Math.imul(P6,z6),M=Math.imul(P6,g6),M=M+Math.imul(R6,z6)|0,p=Math.imul(R6,g6),x=x+Math.imul(S0,e6)|0,M=M+Math.imul(S0,d6)|0,M=M+Math.imul(x0,e6)|0,p=p+Math.imul(x0,d6)|0,x=x+Math.imul(K6,S8)|0,M=M+Math.imul(K6,N8)|0,M=M+Math.imul(I6,S8)|0,p=p+Math.imul(I6,N8)|0,x=x+Math.imul(j0,W8)|0,M=M+Math.imul(j0,X8)|0,M=M+Math.imul(d0,W8)|0,p=p+Math.imul(d0,X8)|0,x=x+Math.imul(X6,Q8)|0,M=M+Math.imul(X6,O8)|0,M=M+Math.imul(O6,Q8)|0,p=p+Math.imul(O6,O8)|0,x=x+Math.imul(U0,G8)|0,M=M+Math.imul(U0,E8)|0,M=M+Math.imul(M0,G8)|0,p=p+Math.imul(M0,E8)|0;var Y5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(Y5>>>26)|0,Y5&=67108863,x=Math.imul(v6,z6),M=Math.imul(v6,g6),M=M+Math.imul(j6,z6)|0,p=Math.imul(j6,g6),x=x+Math.imul(P6,e6)|0,M=M+Math.imul(P6,d6)|0,M=M+Math.imul(R6,e6)|0,p=p+Math.imul(R6,d6)|0,x=x+Math.imul(S0,S8)|0,M=M+Math.imul(S0,N8)|0,M=M+Math.imul(x0,S8)|0,p=p+Math.imul(x0,N8)|0,x=x+Math.imul(K6,W8)|0,M=M+Math.imul(K6,X8)|0,M=M+Math.imul(I6,W8)|0,p=p+Math.imul(I6,X8)|0,x=x+Math.imul(j0,Q8)|0,M=M+Math.imul(j0,O8)|0,M=M+Math.imul(d0,Q8)|0,p=p+Math.imul(d0,O8)|0,x=x+Math.imul(X6,G8)|0,M=M+Math.imul(X6,E8)|0,M=M+Math.imul(O6,G8)|0,p=p+Math.imul(O6,E8)|0,x=x+Math.imul(U0,M8)|0,M=M+Math.imul(U0,U8)|0,M=M+Math.imul(M0,M8)|0,p=p+Math.imul(M0,U8)|0;var d7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(d7>>>26)|0,d7&=67108863,x=Math.imul(b6,z6),M=Math.imul(b6,g6),M=M+Math.imul(n6,z6)|0,p=Math.imul(n6,g6),x=x+Math.imul(v6,e6)|0,M=M+Math.imul(v6,d6)|0,M=M+Math.imul(j6,e6)|0,p=p+Math.imul(j6,d6)|0,x=x+Math.imul(P6,S8)|0,M=M+Math.imul(P6,N8)|0,M=M+Math.imul(R6,S8)|0,p=p+Math.imul(R6,N8)|0,x=x+Math.imul(S0,W8)|0,M=M+Math.imul(S0,X8)|0,M=M+Math.imul(x0,W8)|0,p=p+Math.imul(x0,X8)|0,x=x+Math.imul(K6,Q8)|0,M=M+Math.imul(K6,O8)|0,M=M+Math.imul(I6,Q8)|0,p=p+Math.imul(I6,O8)|0,x=x+Math.imul(j0,G8)|0,M=M+Math.imul(j0,E8)|0,M=M+Math.imul(d0,G8)|0,p=p+Math.imul(d0,E8)|0,x=x+Math.imul(X6,M8)|0,M=M+Math.imul(X6,U8)|0,M=M+Math.imul(O6,M8)|0,p=p+Math.imul(O6,U8)|0,x=x+Math.imul(U0,L8)|0,M=M+Math.imul(U0,q)|0,M=M+Math.imul(M0,L8)|0,p=p+Math.imul(M0,q)|0;var Q5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(Q5>>>26)|0,Q5&=67108863,x=Math.imul($0,z6),M=Math.imul($0,g6),M=M+Math.imul(R0,z6)|0,p=Math.imul(R0,g6),x=x+Math.imul(b6,e6)|0,M=M+Math.imul(b6,d6)|0,M=M+Math.imul(n6,e6)|0,p=p+Math.imul(n6,d6)|0,x=x+Math.imul(v6,S8)|0,M=M+Math.imul(v6,N8)|0,M=M+Math.imul(j6,S8)|0,p=p+Math.imul(j6,N8)|0,x=x+Math.imul(P6,W8)|0,M=M+Math.imul(P6,X8)|0,M=M+Math.imul(R6,W8)|0,p=p+Math.imul(R6,X8)|0,x=x+Math.imul(S0,Q8)|0,M=M+Math.imul(S0,O8)|0,M=M+Math.imul(x0,Q8)|0,p=p+Math.imul(x0,O8)|0,x=x+Math.imul(K6,G8)|0,M=M+Math.imul(K6,E8)|0,M=M+Math.imul(I6,G8)|0,p=p+Math.imul(I6,E8)|0,x=x+Math.imul(j0,M8)|0,M=M+Math.imul(j0,U8)|0,M=M+Math.imul(d0,M8)|0,p=p+Math.imul(d0,U8)|0,x=x+Math.imul(X6,L8)|0,M=M+Math.imul(X6,q)|0,M=M+Math.imul(O6,L8)|0,p=p+Math.imul(O6,q)|0,x=x+Math.imul(U0,B8)|0,M=M+Math.imul(U0,D8)|0,M=M+Math.imul(M0,B8)|0,p=p+Math.imul(M0,D8)|0;var W5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(W5>>>26)|0,W5&=67108863,x=Math.imul(s0,z6),M=Math.imul(s0,g6),M=M+Math.imul(l0,z6)|0,p=Math.imul(l0,g6),x=x+Math.imul($0,e6)|0,M=M+Math.imul($0,d6)|0,M=M+Math.imul(R0,e6)|0,p=p+Math.imul(R0,d6)|0,x=x+Math.imul(b6,S8)|0,M=M+Math.imul(b6,N8)|0,M=M+Math.imul(n6,S8)|0,p=p+Math.imul(n6,N8)|0,x=x+Math.imul(v6,W8)|0,M=M+Math.imul(v6,X8)|0,M=M+Math.imul(j6,W8)|0,p=p+Math.imul(j6,X8)|0,x=x+Math.imul(P6,Q8)|0,M=M+Math.imul(P6,O8)|0,M=M+Math.imul(R6,Q8)|0,p=p+Math.imul(R6,O8)|0,x=x+Math.imul(S0,G8)|0,M=M+Math.imul(S0,E8)|0,M=M+Math.imul(x0,G8)|0,p=p+Math.imul(x0,E8)|0,x=x+Math.imul(K6,M8)|0,M=M+Math.imul(K6,U8)|0,M=M+Math.imul(I6,M8)|0,p=p+Math.imul(I6,U8)|0,x=x+Math.imul(j0,L8)|0,M=M+Math.imul(j0,q)|0,M=M+Math.imul(d0,L8)|0,p=p+Math.imul(d0,q)|0,x=x+Math.imul(X6,B8)|0,M=M+Math.imul(X6,D8)|0,M=M+Math.imul(O6,B8)|0,p=p+Math.imul(O6,D8)|0,x=x+Math.imul(U0,z8)|0,M=M+Math.imul(U0,F8)|0,M=M+Math.imul(M0,z8)|0,p=p+Math.imul(M0,F8)|0;var N5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(N5>>>26)|0,N5&=67108863,x=Math.imul(s0,e6),M=Math.imul(s0,d6),M=M+Math.imul(l0,e6)|0,p=Math.imul(l0,d6),x=x+Math.imul($0,S8)|0,M=M+Math.imul($0,N8)|0,M=M+Math.imul(R0,S8)|0,p=p+Math.imul(R0,N8)|0,x=x+Math.imul(b6,W8)|0,M=M+Math.imul(b6,X8)|0,M=M+Math.imul(n6,W8)|0,p=p+Math.imul(n6,X8)|0,x=x+Math.imul(v6,Q8)|0,M=M+Math.imul(v6,O8)|0,M=M+Math.imul(j6,Q8)|0,p=p+Math.imul(j6,O8)|0,x=x+Math.imul(P6,G8)|0,M=M+Math.imul(P6,E8)|0,M=M+Math.imul(R6,G8)|0,p=p+Math.imul(R6,E8)|0,x=x+Math.imul(S0,M8)|0,M=M+Math.imul(S0,U8)|0,M=M+Math.imul(x0,M8)|0,p=p+Math.imul(x0,U8)|0,x=x+Math.imul(K6,L8)|0,M=M+Math.imul(K6,q)|0,M=M+Math.imul(I6,L8)|0,p=p+Math.imul(I6,q)|0,x=x+Math.imul(j0,B8)|0,M=M+Math.imul(j0,D8)|0,M=M+Math.imul(d0,B8)|0,p=p+Math.imul(d0,D8)|0,x=x+Math.imul(X6,z8)|0,M=M+Math.imul(X6,F8)|0,M=M+Math.imul(O6,z8)|0,p=p+Math.imul(O6,F8)|0;var U5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(U5>>>26)|0,U5&=67108863,x=Math.imul(s0,S8),M=Math.imul(s0,N8),M=M+Math.imul(l0,S8)|0,p=Math.imul(l0,N8),x=x+Math.imul($0,W8)|0,M=M+Math.imul($0,X8)|0,M=M+Math.imul(R0,W8)|0,p=p+Math.imul(R0,X8)|0,x=x+Math.imul(b6,Q8)|0,M=M+Math.imul(b6,O8)|0,M=M+Math.imul(n6,Q8)|0,p=p+Math.imul(n6,O8)|0,x=x+Math.imul(v6,G8)|0,M=M+Math.imul(v6,E8)|0,M=M+Math.imul(j6,G8)|0,p=p+Math.imul(j6,E8)|0,x=x+Math.imul(P6,M8)|0,M=M+Math.imul(P6,U8)|0,M=M+Math.imul(R6,M8)|0,p=p+Math.imul(R6,U8)|0,x=x+Math.imul(S0,L8)|0,M=M+Math.imul(S0,q)|0,M=M+Math.imul(x0,L8)|0,p=p+Math.imul(x0,q)|0,x=x+Math.imul(K6,B8)|0,M=M+Math.imul(K6,D8)|0,M=M+Math.imul(I6,B8)|0,p=p+Math.imul(I6,D8)|0,x=x+Math.imul(j0,z8)|0,M=M+Math.imul(j0,F8)|0,M=M+Math.imul(d0,z8)|0,p=p+Math.imul(d0,F8)|0;var J5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(J5>>>26)|0,J5&=67108863,x=Math.imul(s0,W8),M=Math.imul(s0,X8),M=M+Math.imul(l0,W8)|0,p=Math.imul(l0,X8),x=x+Math.imul($0,Q8)|0,M=M+Math.imul($0,O8)|0,M=M+Math.imul(R0,Q8)|0,p=p+Math.imul(R0,O8)|0,x=x+Math.imul(b6,G8)|0,M=M+Math.imul(b6,E8)|0,M=M+Math.imul(n6,G8)|0,p=p+Math.imul(n6,E8)|0,x=x+Math.imul(v6,M8)|0,M=M+Math.imul(v6,U8)|0,M=M+Math.imul(j6,M8)|0,p=p+Math.imul(j6,U8)|0,x=x+Math.imul(P6,L8)|0,M=M+Math.imul(P6,q)|0,M=M+Math.imul(R6,L8)|0,p=p+Math.imul(R6,q)|0,x=x+Math.imul(S0,B8)|0,M=M+Math.imul(S0,D8)|0,M=M+Math.imul(x0,B8)|0,p=p+Math.imul(x0,D8)|0,x=x+Math.imul(K6,z8)|0,M=M+Math.imul(K6,F8)|0,M=M+Math.imul(I6,z8)|0,p=p+Math.imul(I6,F8)|0;var S5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(S5>>>26)|0,S5&=67108863,x=Math.imul(s0,Q8),M=Math.imul(s0,O8),M=M+Math.imul(l0,Q8)|0,p=Math.imul(l0,O8),x=x+Math.imul($0,G8)|0,M=M+Math.imul($0,E8)|0,M=M+Math.imul(R0,G8)|0,p=p+Math.imul(R0,E8)|0,x=x+Math.imul(b6,M8)|0,M=M+Math.imul(b6,U8)|0,M=M+Math.imul(n6,M8)|0,p=p+Math.imul(n6,U8)|0,x=x+Math.imul(v6,L8)|0,M=M+Math.imul(v6,q)|0,M=M+Math.imul(j6,L8)|0,p=p+Math.imul(j6,q)|0,x=x+Math.imul(P6,B8)|0,M=M+Math.imul(P6,D8)|0,M=M+Math.imul(R6,B8)|0,p=p+Math.imul(R6,D8)|0,x=x+Math.imul(S0,z8)|0,M=M+Math.imul(S0,F8)|0,M=M+Math.imul(x0,z8)|0,p=p+Math.imul(x0,F8)|0;var R5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(R5>>>26)|0,R5&=67108863,x=Math.imul(s0,G8),M=Math.imul(s0,E8),M=M+Math.imul(l0,G8)|0,p=Math.imul(l0,E8),x=x+Math.imul($0,M8)|0,M=M+Math.imul($0,U8)|0,M=M+Math.imul(R0,M8)|0,p=p+Math.imul(R0,U8)|0,x=x+Math.imul(b6,L8)|0,M=M+Math.imul(b6,q)|0,M=M+Math.imul(n6,L8)|0,p=p+Math.imul(n6,q)|0,x=x+Math.imul(v6,B8)|0,M=M+Math.imul(v6,D8)|0,M=M+Math.imul(j6,B8)|0,p=p+Math.imul(j6,D8)|0,x=x+Math.imul(P6,z8)|0,M=M+Math.imul(P6,F8)|0,M=M+Math.imul(R6,z8)|0,p=p+Math.imul(R6,F8)|0;var b7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(b7>>>26)|0,b7&=67108863,x=Math.imul(s0,M8),M=Math.imul(s0,U8),M=M+Math.imul(l0,M8)|0,p=Math.imul(l0,U8),x=x+Math.imul($0,L8)|0,M=M+Math.imul($0,q)|0,M=M+Math.imul(R0,L8)|0,p=p+Math.imul(R0,q)|0,x=x+Math.imul(b6,B8)|0,M=M+Math.imul(b6,D8)|0,M=M+Math.imul(n6,B8)|0,p=p+Math.imul(n6,D8)|0,x=x+Math.imul(v6,z8)|0,M=M+Math.imul(v6,F8)|0,M=M+Math.imul(j6,z8)|0,p=p+Math.imul(j6,F8)|0;var _5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(_5>>>26)|0,_5&=67108863,x=Math.imul(s0,L8),M=Math.imul(s0,q),M=M+Math.imul(l0,L8)|0,p=Math.imul(l0,q),x=x+Math.imul($0,B8)|0,M=M+Math.imul($0,D8)|0,M=M+Math.imul(R0,B8)|0,p=p+Math.imul(R0,D8)|0,x=x+Math.imul(b6,z8)|0,M=M+Math.imul(b6,F8)|0,M=M+Math.imul(n6,z8)|0,p=p+Math.imul(n6,F8)|0;var e7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(e7>>>26)|0,e7&=67108863,x=Math.imul(s0,B8),M=Math.imul(s0,D8),M=M+Math.imul(l0,B8)|0,p=Math.imul(l0,D8),x=x+Math.imul($0,z8)|0,M=M+Math.imul($0,F8)|0,M=M+Math.imul(R0,z8)|0,p=p+Math.imul(R0,F8)|0;var K5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(K5>>>26)|0,K5&=67108863,x=Math.imul(s0,z8),M=Math.imul(s0,F8),M=M+Math.imul(l0,z8)|0,p=Math.imul(l0,F8);var n7=(h+x|0)+((M&8191)<<13)|0;return h=(p+(M>>>13)|0)+(n7>>>26)|0,n7&=67108863,o[0]=D5,o[1]=p1,o[2]=m1,o[3]=f7,o[4]=X5,o[5]=Y5,o[6]=d7,o[7]=Q5,o[8]=W5,o[9]=N5,o[10]=U5,o[11]=J5,o[12]=S5,o[13]=R5,o[14]=b7,o[15]=_5,o[16]=e7,o[17]=K5,o[18]=n7,h!==0&&(o[19]=h,B.length++),B};Math.imul||(N0=Q0);function G0(R,D,B){B.negative=D.negative^R.negative,B.length=R.length+D.length;for(var E=0,w=0,o=0;o>>26)|0,w+=h>>>26,h&=67108863}B.words[o]=x,E=h,h=w}return E!==0?B.words[o]=E:B.length--,B.strip()}function J0(R,D,B){var E=new P0;return E.mulp(R,D,B)}G.prototype.mulTo=function(R,D){var B,E=this.length+R.length;return this.length===10&&R.length===10?B=N0(this,R,D):E<63?B=Q0(this,R,D):E<1024?B=G0(this,R,D):B=J0(this,R,D),B};function P0(R,D){this.x=R,this.y=D}P0.prototype.makeRBT=function(R){for(var D=new Array(R),B=G.prototype._countBits(R)-1,E=0;E>=1;return E},P0.prototype.permute=function(R,D,B,E,w,o){for(var h=0;h>>1)w++;return 1<>>13,B[2*o+1]=w&8191,w=w>>>13;for(o=2*D;o>=26,D+=E/67108864|0,D+=w>>>26,this.words[B]=w&67108863}return D!==0&&(this.words[B]=D,this.length++),this},G.prototype.muln=function(R){return this.clone().imuln(R)},G.prototype.sqr=function(){return this.mul(this)},G.prototype.isqr=function(){return this.imul(this.clone())},G.prototype.pow=function(R){var D=c(R);if(D.length===0)return new G(1);for(var B=this,E=0;E=0);var D=R%26,B=(R-D)/26,E=67108863>>>26-D<<26-D,w;if(D!==0){var o=0;for(w=0;w>>26-D}o&&(this.words[w]=o,this.length++)}if(B!==0){for(w=this.length-1;w>=0;w--)this.words[w+B]=this.words[w];for(w=0;w=0);var E;D?E=(D-D%26)/26:E=0;var w=R%26,o=Math.min((R-w)/26,this.length),h=67108863^67108863>>>w<o)for(this.length-=o,M=0;M=0&&(p!==0||M>=E);M--){var K0=this.words[M]|0;this.words[M]=p<<26-w|K0>>>w,p=K0&h}return x&&p!==0&&(x.words[x.length++]=p),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},G.prototype.ishrn=function(R,D,B){return j(this.negative===0),this.iushrn(R,D,B)},G.prototype.shln=function(R){return this.clone().ishln(R)},G.prototype.ushln=function(R){return this.clone().iushln(R)},G.prototype.shrn=function(R){return this.clone().ishrn(R)},G.prototype.ushrn=function(R){return this.clone().iushrn(R)},G.prototype.testn=function(R){j(typeof R=="number"&&R>=0);var D=R%26,B=(R-D)/26,E=1<=0);var D=R%26,B=(R-D)/26;if(j(this.negative===0,"imaskn works only with positive numbers"),this.length<=B)return this;if(D!==0&&B++,this.length=Math.min(B,this.length),D!==0){var E=67108863^67108863>>>D<=67108864;D++)this.words[D]-=67108864,D===this.length-1?this.words[D+1]=1:this.words[D+1]++;return this.length=Math.max(this.length,D+1),this},G.prototype.isubn=function(R){if(j(typeof R=="number"),j(R<67108864),R<0)return this.iaddn(-R);if(this.negative!==0)return this.negative=0,this.iaddn(R),this.negative=1,this;if(this.words[0]-=R,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var D=0;D>26)-(x/67108864|0),this.words[w+B]=o&67108863}for(;w>26,this.words[w+B]=o&67108863;if(h===0)return this.strip();for(j(h===-1),h=0,w=0;w>26,this.words[w]=o&67108863;return this.negative=1,this.strip()},G.prototype._wordDiv=function(R,D){var B=this.length-R.length,E=this.clone(),w=R,o=w.words[w.length-1]|0,h=this._countBits(o);B=26-h,B!==0&&(w=w.ushln(B),E.iushln(B),o=w.words[w.length-1]|0);var x=E.length-w.length,M;if(D!=="mod"){M=new G(null),M.length=x+1,M.words=new Array(M.length);for(var p=0;p=0;U0--){var M0=(E.words[w.length+U0]|0)*67108864+(E.words[w.length+U0-1]|0);for(M0=Math.min(M0/o|0,67108863),E._ishlnsubmul(w,M0,U0);E.negative!==0;)M0--,E.negative=0,E._ishlnsubmul(w,1,U0),E.isZero()||(E.negative^=1);M&&(M.words[U0]=M0)}return M&&M.strip(),E.strip(),D!=="div"&&B!==0&&E.iushrn(B),{div:M||null,mod:E}},G.prototype.divmod=function(R,D,B){if(j(!R.isZero()),this.isZero())return{div:new G(0),mod:new G(0)};var E,w,o;return this.negative!==0&&R.negative===0?(o=this.neg().divmod(R,D),D!=="mod"&&(E=o.div.neg()),D!=="div"&&(w=o.mod.neg(),B&&w.negative!==0&&w.iadd(R)),{div:E,mod:w}):this.negative===0&&R.negative!==0?(o=this.divmod(R.neg(),D),D!=="mod"&&(E=o.div.neg()),{div:E,mod:o.mod}):(this.negative&R.negative)!==0?(o=this.neg().divmod(R.neg(),D),D!=="div"&&(w=o.mod.neg(),B&&w.negative!==0&&w.isub(R)),{div:o.div,mod:w}):R.length>this.length||this.cmp(R)<0?{div:new G(0),mod:this}:R.length===1?D==="div"?{div:this.divn(R.words[0]),mod:null}:D==="mod"?{div:null,mod:new G(this.modn(R.words[0]))}:{div:this.divn(R.words[0]),mod:new G(this.modn(R.words[0]))}:this._wordDiv(R,D)},G.prototype.div=function(R){return this.divmod(R,"div",!1).div},G.prototype.mod=function(R){return this.divmod(R,"mod",!1).mod},G.prototype.umod=function(R){return this.divmod(R,"mod",!0).mod},G.prototype.divRound=function(R){var D=this.divmod(R);if(D.mod.isZero())return D.div;var B=D.div.negative!==0?D.mod.isub(R):D.mod,E=R.ushrn(1),w=R.andln(1),o=B.cmp(E);return o<0||w===1&&o===0?D.div:D.div.negative!==0?D.div.isubn(1):D.div.iaddn(1)},G.prototype.modn=function(R){j(R<=67108863);for(var D=(1<<26)%R,B=0,E=this.length-1;E>=0;E--)B=(D*B+(this.words[E]|0))%R;return B},G.prototype.idivn=function(R){j(R<=67108863);for(var D=0,B=this.length-1;B>=0;B--){var E=(this.words[B]|0)+D*67108864;this.words[B]=E/R|0,D=E%R}return this.strip()},G.prototype.divn=function(R){return this.clone().idivn(R)},G.prototype.egcd=function(R){j(R.negative===0),j(!R.isZero());var D=this,B=R.clone();D.negative!==0?D=D.umod(R):D=D.clone();for(var E=new G(1),w=new G(0),o=new G(0),h=new G(1),x=0;D.isEven()&&B.isEven();)D.iushrn(1),B.iushrn(1),++x;for(var M=B.clone(),p=D.clone();!D.isZero();){for(var K0=0,U0=1;(D.words[0]&U0)===0&&K0<26;++K0,U0<<=1);if(K0>0)for(D.iushrn(K0);K0-- >0;)(E.isOdd()||w.isOdd())&&(E.iadd(M),w.isub(p)),E.iushrn(1),w.iushrn(1);for(var M0=0,f0=1;(B.words[0]&f0)===0&&M0<26;++M0,f0<<=1);if(M0>0)for(B.iushrn(M0);M0-- >0;)(o.isOdd()||h.isOdd())&&(o.iadd(M),h.isub(p)),o.iushrn(1),h.iushrn(1);D.cmp(B)>=0?(D.isub(B),E.isub(o),w.isub(h)):(B.isub(D),o.isub(E),h.isub(w))}return{a:o,b:h,gcd:B.iushln(x)}},G.prototype._invmp=function(R){j(R.negative===0),j(!R.isZero());var D=this,B=R.clone();D.negative!==0?D=D.umod(R):D=D.clone();for(var E=new G(1),w=new G(0),o=B.clone();D.cmpn(1)>0&&B.cmpn(1)>0;){for(var h=0,x=1;(D.words[0]&x)===0&&h<26;++h,x<<=1);if(h>0)for(D.iushrn(h);h-- >0;)E.isOdd()&&E.iadd(o),E.iushrn(1);for(var M=0,p=1;(B.words[0]&p)===0&&M<26;++M,p<<=1);if(M>0)for(B.iushrn(M);M-- >0;)w.isOdd()&&w.iadd(o),w.iushrn(1);D.cmp(B)>=0?(D.isub(B),E.isub(w)):(B.isub(D),w.isub(E))}var K0;return D.cmpn(1)===0?K0=E:K0=w,K0.cmpn(0)<0&&K0.iadd(R),K0},G.prototype.gcd=function(R){if(this.isZero())return R.abs();if(R.isZero())return this.abs();var D=this.clone(),B=R.clone();D.negative=0,B.negative=0;for(var E=0;D.isEven()&&B.isEven();E++)D.iushrn(1),B.iushrn(1);do{for(;D.isEven();)D.iushrn(1);for(;B.isEven();)B.iushrn(1);var w=D.cmp(B);if(w<0){var o=D;D=B,B=o}else if(w===0||B.cmpn(1)===0)break;D.isub(B)}while(!0);return B.iushln(E)},G.prototype.invm=function(R){return this.egcd(R).a.umod(R)},G.prototype.isEven=function(){return(this.words[0]&1)===0},G.prototype.isOdd=function(){return(this.words[0]&1)===1},G.prototype.andln=function(R){return this.words[0]&R},G.prototype.bincn=function(R){j(typeof R=="number");var D=R%26,B=(R-D)/26,E=1<>>26,h&=67108863,this.words[o]=h}return w!==0&&(this.words[o]=w,this.length++),this},G.prototype.isZero=function(){return this.length===1&&this.words[0]===0},G.prototype.cmpn=function(R){var D=R<0;if(this.negative!==0&&!D)return-1;if(this.negative===0&&D)return 1;this.strip();var B;if(this.length>1)B=1;else{D&&(R=-R),j(R<=67108863,"Number is too big");var E=this.words[0]|0;B=E===R?0:ER.length)return 1;if(this.length=0;B--){var E=this.words[B]|0,w=R.words[B]|0;if(E!==w){Ew&&(D=1);break}}return D},G.prototype.gtn=function(R){return this.cmpn(R)===1},G.prototype.gt=function(R){return this.cmp(R)===1},G.prototype.gten=function(R){return this.cmpn(R)>=0},G.prototype.gte=function(R){return this.cmp(R)>=0},G.prototype.ltn=function(R){return this.cmpn(R)===-1},G.prototype.lt=function(R){return this.cmp(R)===-1},G.prototype.lten=function(R){return this.cmpn(R)<=0},G.prototype.lte=function(R){return this.cmp(R)<=0},G.prototype.eqn=function(R){return this.cmpn(R)===0},G.prototype.eq=function(R){return this.cmp(R)===0},G.red=function(R){return new b0(R)},G.prototype.toRed=function(R){return j(!this.red,"Already a number in reduction context"),j(this.negative===0,"red works only with positives"),R.convertTo(this)._forceRed(R)},G.prototype.fromRed=function(){return j(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},G.prototype._forceRed=function(R){return this.red=R,this},G.prototype.forceRed=function(R){return j(!this.red,"Already a number in reduction context"),this._forceRed(R)},G.prototype.redAdd=function(R){return j(this.red,"redAdd works only with red numbers"),this.red.add(this,R)},G.prototype.redIAdd=function(R){return j(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,R)},G.prototype.redSub=function(R){return j(this.red,"redSub works only with red numbers"),this.red.sub(this,R)},G.prototype.redISub=function(R){return j(this.red,"redISub works only with red numbers"),this.red.isub(this,R)},G.prototype.redShl=function(R){return j(this.red,"redShl works only with red numbers"),this.red.shl(this,R)},G.prototype.redMul=function(R){return j(this.red,"redMul works only with red numbers"),this.red._verify2(this,R),this.red.mul(this,R)},G.prototype.redIMul=function(R){return j(this.red,"redMul works only with red numbers"),this.red._verify2(this,R),this.red.imul(this,R)},G.prototype.redSqr=function(){return j(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},G.prototype.redISqr=function(){return j(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},G.prototype.redSqrt=function(){return j(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},G.prototype.redInvm=function(){return j(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},G.prototype.redNeg=function(){return j(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},G.prototype.redPow=function(R){return j(this.red&&!R.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,R)};var L0={k256:null,p224:null,p192:null,p25519:null};function A0(R,D){this.name=R,this.p=new G(D,16),this.n=this.p.bitLength(),this.k=new G(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}A0.prototype._tmp=function(){var R=new G(null);return R.words=new Array(Math.ceil(this.n/13)),R},A0.prototype.ireduce=function(R){var D=R,B;do this.split(D,this.tmp),D=this.imulK(D),D=D.iadd(this.tmp),B=D.bitLength();while(B>this.n);var E=B0?D.isub(this.p):D.strip!==void 0?D.strip():D._strip(),D},A0.prototype.split=function(R,D){R.iushrn(this.n,0,D)},A0.prototype.imulK=function(R){return R.imul(this.k)};function w0(){A0.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}Z(w0,A0),w0.prototype.split=function(R,D){for(var B=4194303,E=Math.min(R.length,9),w=0;w>>22,o=h}o>>>=22,R.words[w-10]=o,o===0&&R.length>10?R.length-=10:R.length-=9},w0.prototype.imulK=function(R){R.words[R.length]=0,R.words[R.length+1]=0,R.length+=2;for(var D=0,B=0;B>>=26,R.words[B]=w,D=E}return D!==0&&(R.words[R.length++]=D),R},G._prime=function(R){if(L0[R])return L0[R];var D;if(R==="k256")D=new w0;else if(R==="p224")D=new a0;else if(R==="p192")D=new Y6;else if(R==="p25519")D=new D6;else throw new Error("Unknown prime "+R);return L0[R]=D,D};function b0(R){if(typeof R=="string"){var D=G._prime(R);this.m=D.p,this.prime=D}else j(R.gtn(1),"modulus must be greater than 1"),this.m=R,this.prime=null}b0.prototype._verify1=function(R){j(R.negative===0,"red works only with positives"),j(R.red,"red works only with red numbers")},b0.prototype._verify2=function(R,D){j((R.negative|D.negative)===0,"red works only with positives"),j(R.red&&R.red===D.red,"red works only with red numbers")},b0.prototype.imod=function(R){return this.prime?this.prime.ireduce(R)._forceRed(this):R.umod(this.m)._forceRed(this)},b0.prototype.neg=function(R){return R.isZero()?R.clone():this.m.sub(R)._forceRed(this)},b0.prototype.add=function(R,D){this._verify2(R,D);var B=R.add(D);return B.cmp(this.m)>=0&&B.isub(this.m),B._forceRed(this)},b0.prototype.iadd=function(R,D){this._verify2(R,D);var B=R.iadd(D);return B.cmp(this.m)>=0&&B.isub(this.m),B},b0.prototype.sub=function(R,D){this._verify2(R,D);var B=R.sub(D);return B.cmpn(0)<0&&B.iadd(this.m),B._forceRed(this)},b0.prototype.isub=function(R,D){this._verify2(R,D);var B=R.isub(D);return B.cmpn(0)<0&&B.iadd(this.m),B},b0.prototype.shl=function(R,D){return this._verify1(R),this.imod(R.ushln(D))},b0.prototype.imul=function(R,D){return this._verify2(R,D),this.imod(R.imul(D))},b0.prototype.mul=function(R,D){return this._verify2(R,D),this.imod(R.mul(D))},b0.prototype.isqr=function(R){return this.imul(R,R.clone())},b0.prototype.sqr=function(R){return this.mul(R,R)},b0.prototype.sqrt=function(R){if(R.isZero())return R.clone();var D=this.m.andln(3);if(j(D%2===1),D===3){var B=this.m.add(new G(1)).iushrn(2);return this.pow(R,B)}for(var E=this.m.subn(1),w=0;!E.isZero()&&E.andln(1)===0;)w++,E.iushrn(1);j(!E.isZero());var o=new G(1).toRed(this),h=o.redNeg(),x=this.m.subn(1).iushrn(1),M=this.m.bitLength();for(M=new G(2*M*M).toRed(this);this.pow(M,x).cmp(h)!==0;)M.redIAdd(h);for(var p=this.pow(M,E),K0=this.pow(R,E.addn(1).iushrn(1)),U0=this.pow(R,E),M0=w;U0.cmp(o)!==0;){for(var f0=U0,X6=0;f0.cmp(o)!==0;X6++)f0=f0.redSqr();j(X6=0;w--){for(var p=D.words[w],K0=M-1;K0>=0;K0--){var U0=p>>K0&1;if(o!==E[0]&&(o=this.sqr(o)),U0===0&&h===0){x=0;continue}h<<=1,h|=U0,x++,!(x!==B&&(w!==0||K0!==0))&&(o=this.mul(o,E[h]),x=0,h=0)}M=26}return o},b0.prototype.convertTo=function(R){var D=R.umod(this.m);return D===R?D.clone():D},b0.prototype.convertFrom=function(R){var D=R.clone();return D.red=null,D},G.mont=function(R){return new l6(R)};function l6(R){b0.call(this,R),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new G(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}Z(l6,b0),l6.prototype.convertTo=function(R){return this.imod(R.ushln(this.shift))},l6.prototype.convertFrom=function(R){var D=this.imod(R.mul(this.rinv));return D.red=null,D},l6.prototype.imul=function(R,D){if(R.isZero()||D.isZero())return R.words[0]=0,R.length=1,R;var B=R.imul(D),E=B.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),w=B.isub(E).iushrn(this.shift),o=w;return w.cmp(this.m)>=0?o=w.isub(this.m):w.cmpn(0)<0&&(o=w.iadd(this.m)),o._forceRed(this)},l6.prototype.mul=function(R,D){if(R.isZero()||D.isZero())return new G(0)._forceRed(this);var B=R.mul(D),E=B.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),w=B.isub(E).iushrn(this.shift),o=w;return w.cmp(this.m)>=0?o=w.isub(this.m):w.cmpn(0)<0&&(o=w.iadd(this.m)),o._forceRed(this)},l6.prototype.invm=function(R){var D=this.imod(R._invmp(this.m).mul(this.r2));return D._forceRed(this)}})(typeof l>"u"||l,v)}),OB=k6(()=>{}),MU=k6((v,l)=>{var s;l.exports=function(Z){return s||(s=new N(null)),s.generate(Z)};function N(Z){this.rand=Z}if(l.exports.Rand=N,N.prototype.generate=function(Z){return this._rand(Z)},N.prototype._rand=function(Z){if(this.rand.getBytes)return this.rand.getBytes(Z);for(var G=new Uint8Array(Z),n=0;n{var s=PB(),N=MU();function j(Z){this.rand=Z||new N.Rand}l.exports=j,j.create=function(Z){return new j(Z)},j.prototype._randbelow=function(Z){var G=Z.bitLength(),n=Math.ceil(G/8);do var f=new s(this.rand.generate(n));while(f.cmp(Z)>=0);return f},j.prototype._randrange=function(Z,G){var n=G.sub(Z);return Z.add(this._randbelow(n))},j.prototype.test=function(Z,G,n){var f=Z.bitLength(),b=s.mont(Z),e=new s(1).toRed(b);G||(G=Math.max(1,f/48|0));for(var r=Z.subn(1),a=0;!r.testn(a);a++);for(var V0=Z.shrn(a),c=r.toRed(b),Q0=!0;G>0;G--){var N0=this._randrange(new s(2),r);n&&n(N0);var G0=N0.toRed(b).redPow(V0);if(!(G0.cmp(e)===0||G0.cmp(c)===0)){for(var J0=1;J00;G--){var c=this._randrange(new s(2),e),Q0=Z.gcd(c);if(Q0.cmpn(1)!==0)return Q0;var N0=c.toRed(f).redPow(a);if(!(N0.cmp(b)===0||N0.cmp(V0)===0)){for(var G0=1;G0{var s=qX();l.exports=w0,w0.simpleSieve=L0,w0.fermatTest=A0;var N=v_(),j=new N(24),Z=j_(),G=new Z,n=new N(1),f=new N(2),b=new N(5),e=new N(16),r=new N(8),a=new N(10),V0=new N(3),c=new N(7),Q0=new N(11),N0=new N(4),G0=new N(12),J0=null;function P0(){if(J0!==null)return J0;var a0=1048576,Y6=[];Y6[0]=2;for(var D6=1,b0=3;b0a0;)D6.ishrn(1);if(D6.isEven()&&D6.iadd(n),D6.testn(1)||D6.iadd(f),Y6.cmp(f)){if(!Y6.cmp(b))for(;D6.mod(a).cmp(V0);)D6.iadd(N0)}else for(;D6.mod(j).cmp(Q0);)D6.iadd(N0);if(b0=D6.shrn(1),L0(b0)&&L0(D6)&&A0(b0)&&A0(D6)&&G.test(b0)&&G.test(D6))return D6}}}),GB=k6((v,l)=>{l.exports={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}}),MB=k6((v,l)=>{var s=v_(),N=j_(),j=new N,Z=new s(24),G=new s(11),n=new s(10),f=new s(3),b=new s(7),e=k_(),r=qX();l.exports=N0;function a(J0,P0){return P0=P0||"utf8",Buffer.isBuffer(J0)||(J0=new Buffer(J0,P0)),this._pub=new s(J0),this}function V0(J0,P0){return P0=P0||"utf8",Buffer.isBuffer(J0)||(J0=new Buffer(J0,P0)),this._priv=new s(J0),this}var c={};function Q0(J0,P0){var L0=P0.toString("hex"),A0=[L0,J0.toString(16)].join("_");if(A0 in c)return c[A0];var w0=0;if(J0.isEven()||!e.simpleSieve||!e.fermatTest(J0)||!j.test(J0))return w0+=1,L0==="02"||L0==="05"?w0+=8:w0+=4,c[A0]=w0,w0;j.test(J0.shrn(1))||(w0+=2);var a0;switch(L0){case"02":J0.mod(Z).cmp(G)&&(w0+=8);break;case"05":a0=J0.mod(n),a0.cmp(f)&&a0.cmp(b)&&(w0+=8);break;default:w0+=4}return c[A0]=w0,w0}function N0(J0,P0,L0){this.setGenerator(P0),this.__prime=new s(J0),this._prime=s.mont(this.__prime),this._primeLen=J0.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,L0?(this.setPublicKey=a,this.setPrivateKey=V0):this._primeCode=8}Object.defineProperty(N0.prototype,"verifyError",{enumerable:!0,get:function(){return typeof this._primeCode!="number"&&(this._primeCode=Q0(this.__prime,this.__gen)),this._primeCode}}),N0.prototype.generateKeys=function(){return this._priv||(this._priv=new s(r(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},N0.prototype.computeSecret=function(J0){J0=new s(J0),J0=J0.toRed(this._prime);var P0=J0.redPow(this._priv).fromRed(),L0=new Buffer(P0.toArray()),A0=this.getPrime();if(L0.length{var l=k_(),s=GB(),N=MB();function j(n){var f=new Buffer(s[n].prime,"hex"),b=new Buffer(s[n].gen,"hex");return new N(f,b)}var Z={binary:!0,hex:!0,base64:!0};function G(n,f,b,e){return Buffer.isBuffer(f)||Z[f]===void 0?G(n,"binary",f,b):(f=f||"binary",e=e||"binary",b=b||new Buffer([2]),Buffer.isBuffer(b)||(b=new Buffer(b,e)),typeof n=="number"?new N(l(n,b),b,!0):(Buffer.isBuffer(n)||(n=new Buffer(n,f)),new N(n,b,!0)))}v.DiffieHellmanGroup=v.createDiffieHellmanGroup=v.getDiffieHellman=j,v.createDiffieHellman=v.DiffieHellman=G}),p_=k6((v,l)=>{l.exports=ZX().EventEmitter}),DB=k6((v,l)=>{function s(c,Q0){var N0=Object.keys(c);if(Object.getOwnPropertySymbols){var G0=Object.getOwnPropertySymbols(c);Q0&&(G0=G0.filter(function(J0){return Object.getOwnPropertyDescriptor(c,J0).enumerable})),N0.push.apply(N0,G0)}return N0}function N(c){for(var Q0=1;Q00?this.tail.next=N0:this.head=N0,this.tail=N0,++this.length}},{key:"unshift",value:function(Q0){var N0={data:Q0,next:this.head};this.length===0&&(this.tail=N0),this.head=N0,++this.length}},{key:"shift",value:function(){if(this.length!==0){var Q0=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,Q0}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(Q0){if(this.length===0)return"";for(var N0=this.head,G0=""+N0.data;N0=N0.next;)G0+=Q0+N0.data;return G0}},{key:"concat",value:function(Q0){if(this.length===0)return b.alloc(0);for(var N0=b.allocUnsafe(Q0>>>0),G0=this.head,J0=0;G0;)V0(G0.data,N0,J0),J0+=G0.data.length,G0=G0.next;return N0}},{key:"consume",value:function(Q0,N0){var G0;return Q0P0.length?P0.length:Q0;if(L0===P0.length?J0+=P0:J0+=P0.slice(0,Q0),Q0-=L0,Q0===0){L0===P0.length?(++G0,N0.next?this.head=N0.next:this.head=this.tail=null):(this.head=N0,N0.data=P0.slice(L0));break}++G0}return this.length-=G0,J0}},{key:"_getBuffer",value:function(Q0){var N0=b.allocUnsafe(Q0),G0=this.head,J0=1;for(G0.data.copy(N0),Q0-=G0.data.length;G0=G0.next;){var P0=G0.data,L0=Q0>P0.length?P0.length:Q0;if(P0.copy(N0,N0.length-Q0,0,L0),Q0-=L0,Q0===0){L0===P0.length?(++J0,G0.next?this.head=G0.next:this.head=this.tail=null):(this.head=G0,G0.data=P0.slice(L0));break}++J0}return this.length-=J0,N0}},{key:a,value:function(Q0,N0){return r(this,N({},N0,{depth:0,customInspect:!1}))}}]),c}()}),m_=k6((v,l)=>{function s(f,b){var e=this,r=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return r||a?(b?b(f):f&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(G,this,f)):process.nextTick(G,this,f)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(f||null,function(V0){!b&&V0?e._writableState?e._writableState.errorEmitted?process.nextTick(j,e):(e._writableState.errorEmitted=!0,process.nextTick(N,e,V0)):process.nextTick(N,e,V0):b?(process.nextTick(j,e),b(V0)):process.nextTick(j,e)}),this)}function N(f,b){G(f,b),j(f)}function j(f){f._writableState&&!f._writableState.emitClose||f._readableState&&!f._readableState.emitClose||f.emit("close")}function Z(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function G(f,b){f.emit("error",b)}function n(f,b){var{_readableState:e,_writableState:r}=f;e&&e.autoDestroy||r&&r.autoDestroy?f.destroy(b):f.emit("error",b)}l.exports={destroy:s,undestroy:Z,errorOrDestroy:n}}),pX=k6((v,l)=>{function s(b,e){b.prototype=Object.create(e.prototype),b.prototype.constructor=b,b.__proto__=e}var N={};function j(b,e,r){r||(r=Error);function a(c,Q0,N0){return typeof e=="string"?e:e(c,Q0,N0)}var V0=function(c){s(Q0,c);function Q0(N0,G0,J0){return c.call(this,a(N0,G0,J0))||this}return Q0}(r);V0.prototype.name=r.name,V0.prototype.code=b,N[b]=V0}function Z(b,e){if(Array.isArray(b)){var r=b.length;return b=b.map(function(a){return String(a)}),r>2?"one of ".concat(e," ").concat(b.slice(0,r-1).join(", "),", or ")+b[r-1]:r===2?"one of ".concat(e," ").concat(b[0]," or ").concat(b[1]):"of ".concat(e," ").concat(b[0])}else return"of ".concat(e," ").concat(String(b))}function G(b,e,r){return b.substr(!r||r<0?0:+r,e.length)===e}function n(b,e,r){return(r===void 0||r>b.length)&&(r=b.length),b.substring(r-e.length,r)===e}function f(b,e,r){return typeof r!="number"&&(r=0),r+e.length>b.length?!1:b.indexOf(e,r)!==-1}j("ERR_INVALID_OPT_VALUE",function(b,e){return'The value "'+e+'" is invalid for option "'+b+'"'},TypeError),j("ERR_INVALID_ARG_TYPE",function(b,e,r){var a;typeof e=="string"&&G(e,"not ")?(a="must not be",e=e.replace(/^not /,"")):a="must be";var V0;if(n(b," argument"))V0="The ".concat(b," ").concat(a," ").concat(Z(e,"type"));else{var c=f(b,".")?"property":"argument";V0='The "'.concat(b,'" ').concat(c," ").concat(a," ").concat(Z(e,"type"))}return V0+=". Received type ".concat(typeof r),V0},TypeError),j("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),j("ERR_METHOD_NOT_IMPLEMENTED",function(b){return"The "+b+" method is not implemented"}),j("ERR_STREAM_PREMATURE_CLOSE","Premature close"),j("ERR_STREAM_DESTROYED",function(b){return"Cannot call "+b+" after a stream was destroyed"}),j("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),j("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),j("ERR_STREAM_WRITE_AFTER_END","write after end"),j("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),j("ERR_UNKNOWN_ENCODING",function(b){return"Unknown encoding: "+b},TypeError),j("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),l.exports.codes=N}),u_=k6((v,l)=>{var s=pX().codes.ERR_INVALID_OPT_VALUE;function N(Z,G,n){return Z.highWaterMark!=null?Z.highWaterMark:G?Z[n]:null}function j(Z,G,n,f){var b=N(G,f,n);if(b!=null){if(!(isFinite(b)&&Math.floor(b)===b)||b<0){var e=f?n:"highWaterMark";throw new s(e,b)}return Math.floor(b)}return Z.objectMode?16:16384}l.exports={getHighWaterMark:j}}),l_=k6((v,l)=>{l.exports=b0;function s(r0){var j0=this;this.next=null,this.entry=null,this.finish=function(){O6(j0,r0)}}var N;b0.WritableState=Y6;var j={deprecate:Y_()},Z=p_(),G=H3().Buffer,n=global.Uint8Array||function(){};function f(r0){return G.from(r0)}function b(r0){return G.isBuffer(r0)||r0 instanceof n}var e=m_(),r=u_(),a=r.getHighWaterMark,V0=pX().codes,c=V0.ERR_INVALID_ARG_TYPE,Q0=V0.ERR_METHOD_NOT_IMPLEMENTED,N0=V0.ERR_MULTIPLE_CALLBACK,G0=V0.ERR_STREAM_CANNOT_PIPE,J0=V0.ERR_STREAM_DESTROYED,P0=V0.ERR_STREAM_NULL_VALUES,L0=V0.ERR_STREAM_WRITE_AFTER_END,A0=V0.ERR_UNKNOWN_ENCODING,w0=e.errorOrDestroy;e1()(b0,Z);function a0(){}function Y6(r0,j0,d0){N=N||wX(),r0=r0||{},typeof d0!="boolean"&&(d0=j0 instanceof N),this.objectMode=!!r0.objectMode,d0&&(this.objectMode=this.objectMode||!!r0.writableObjectMode),this.highWaterMark=a(this,r0,"writableHighWaterMark",d0),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var c6=r0.decodeStrings===!1;this.decodeStrings=!c6,this.defaultEncoding=r0.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(K6){h(j0,K6)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=r0.emitClose!==!1,this.autoDestroy=!!r0.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}Y6.prototype.getBuffer=function(){for(var r0=this.bufferedRequest,j0=[];r0;)j0.push(r0),r0=r0.next;return j0},function(){try{Object.defineProperty(Y6.prototype,"buffer",{get:j.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var D6;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(D6=Function.prototype[Symbol.hasInstance],Object.defineProperty(b0,Symbol.hasInstance,{value:function(r0){return D6.call(this,r0)?!0:this!==b0?!1:r0&&r0._writableState instanceof Y6}})):D6=function(r0){return r0 instanceof this};function b0(r0){N=N||wX();var j0=this instanceof N;if(!j0&&!D6.call(b0,this))return new b0(r0);this._writableState=new Y6(r0,this,j0),this.writable=!0,r0&&(typeof r0.write=="function"&&(this._write=r0.write),typeof r0.writev=="function"&&(this._writev=r0.writev),typeof r0.destroy=="function"&&(this._destroy=r0.destroy),typeof r0.final=="function"&&(this._final=r0.final)),Z.call(this)}b0.prototype.pipe=function(){w0(this,new G0)};function l6(r0,j0){var d0=new L0;w0(r0,d0),process.nextTick(j0,d0)}function R(r0,j0,d0,c6){var K6;return d0===null?K6=new P0:typeof d0!="string"&&!j0.objectMode&&(K6=new c("chunk",["string","Buffer"],d0)),K6?(w0(r0,K6),process.nextTick(c6,K6),!1):!0}b0.prototype.write=function(r0,j0,d0){var c6=this._writableState,K6=!1,I6=!c6.objectMode&&b(r0);return I6&&!G.isBuffer(r0)&&(r0=f(r0)),typeof j0=="function"&&(d0=j0,j0=null),I6?j0="buffer":j0||(j0=c6.defaultEncoding),typeof d0!="function"&&(d0=a0),c6.ending?l6(this,d0):(I6||R(this,c6,r0,d0))&&(c6.pendingcb++,K6=B(this,c6,I6,r0,j0,d0)),K6},b0.prototype.cork=function(){this._writableState.corked++},b0.prototype.uncork=function(){var r0=this._writableState;r0.corked&&(r0.corked--,!r0.writing&&!r0.corked&&!r0.bufferProcessing&&r0.bufferedRequest&&p(this,r0))},b0.prototype.setDefaultEncoding=function(r0){if(typeof r0=="string"&&(r0=r0.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((r0+"").toLowerCase())>-1))throw new A0(r0);return this._writableState.defaultEncoding=r0,this},Object.defineProperty(b0.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function D(r0,j0,d0){return!r0.objectMode&&r0.decodeStrings!==!1&&typeof j0=="string"&&(j0=G.from(j0,d0)),j0}Object.defineProperty(b0.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function B(r0,j0,d0,c6,K6,I6){if(!d0){var z0=D(j0,c6,K6);c6!==z0&&(d0=!0,K6="buffer",c6=z0)}var S0=j0.objectMode?1:c6.length;j0.length+=S0;var x0=j0.length{var s=Object.keys||function(r){var a=[];for(var V0 in r)a.push(V0);return a};l.exports=f;var N=s_(),j=l_();e1()(f,N);for(Z=s(j.prototype),n=0;n{var s=pX().codes.ERR_STREAM_PREMATURE_CLOSE;function N(n){var f=!1;return function(){if(!f){f=!0;for(var b=arguments.length,e=new Array(b),r=0;r{var s;function N(P0,L0,A0){return L0 in P0?Object.defineProperty(P0,L0,{value:A0,enumerable:!0,configurable:!0,writable:!0}):P0[L0]=A0,P0}var j=LU(),Z=Symbol("lastResolve"),G=Symbol("lastReject"),n=Symbol("error"),f=Symbol("ended"),b=Symbol("lastPromise"),e=Symbol("handlePromise"),r=Symbol("stream");function a(P0,L0){return{value:P0,done:L0}}function V0(P0){var L0=P0[Z];if(L0!==null){var A0=P0[r].read();A0!==null&&(P0[b]=null,P0[Z]=null,P0[G]=null,L0(a(A0,!1)))}}function c(P0){process.nextTick(V0,P0)}function Q0(P0,L0){return function(A0,w0){P0.then(function(){if(L0[f]){A0(a(void 0,!0));return}L0[e](A0,w0)},w0)}}var N0=Object.getPrototypeOf(function(){}),G0=Object.setPrototypeOf((s={get stream(){return this[r]},next:function(){var P0=this,L0=this[n];if(L0!==null)return Promise.reject(L0);if(this[f])return Promise.resolve(a(void 0,!0));if(this[r].destroyed)return new Promise(function(Y6,D6){process.nextTick(function(){P0[n]?D6(P0[n]):Y6(a(void 0,!0))})});var A0=this[b],w0;if(A0)w0=new Promise(Q0(A0,this));else{var a0=this[r].read();if(a0!==null)return Promise.resolve(a(a0,!1));w0=new Promise(this[e])}return this[b]=w0,w0}},N(s,Symbol.asyncIterator,function(){return this}),N(s,"return",function(){var P0=this;return new Promise(function(L0,A0){P0[r].destroy(null,function(w0){if(w0){A0(w0);return}L0(a(void 0,!0))})})}),s),N0),J0=function(P0){var L0,A0=Object.create(G0,(L0={},N(L0,r,{value:P0,writable:!0}),N(L0,Z,{value:null,writable:!0}),N(L0,G,{value:null,writable:!0}),N(L0,n,{value:null,writable:!0}),N(L0,f,{value:P0._readableState.endEmitted,writable:!0}),N(L0,e,{value:function(w0,a0){var Y6=A0[r].read();Y6?(A0[b]=null,A0[Z]=null,A0[G]=null,w0(a(Y6,!1))):(A0[Z]=w0,A0[G]=a0)},writable:!0}),L0));return A0[b]=null,j(P0,function(w0){if(w0&&w0.code!=="ERR_STREAM_PREMATURE_CLOSE"){var a0=A0[G];a0!==null&&(A0[b]=null,A0[Z]=null,A0[G]=null,a0(w0)),A0[n]=w0;return}var Y6=A0[Z];Y6!==null&&(A0[b]=null,A0[Z]=null,A0[G]=null,Y6(a(void 0,!0))),A0[f]=!0}),P0.on("readable",c.bind(null,A0)),A0};l.exports=J0}),FB=k6((v,l)=>{l.exports=function(){throw new Error("Readable.from is not available in the browser")}}),s_=k6((v,l)=>{l.exports=R;var s;R.ReadableState=l6;var N=ZX().EventEmitter,j=function(z0,S0){return z0.listeners(S0).length},Z=p_(),G=H3().Buffer,n=global.Uint8Array||function(){};function f(z0){return G.from(z0)}function b(z0){return G.isBuffer(z0)||z0 instanceof n}var e=lQ(),r;e&&e.debuglog?r=e.debuglog("stream"):r=function(){};var a=DB(),V0=m_(),c=u_(),Q0=c.getHighWaterMark,N0=pX().codes,G0=N0.ERR_INVALID_ARG_TYPE,J0=N0.ERR_STREAM_PUSH_AFTER_EOF,P0=N0.ERR_METHOD_NOT_IMPLEMENTED,L0=N0.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,A0,w0,a0;e1()(R,Z);var Y6=V0.errorOrDestroy,D6=["error","close","destroy","pause","resume"];function b0(z0,S0,x0){if(typeof z0.prependListener=="function")return z0.prependListener(S0,x0);!z0._events||!z0._events[S0]?z0.on(S0,x0):Array.isArray(z0._events[S0])?z0._events[S0].unshift(x0):z0._events[S0]=[x0,z0._events[S0]]}function l6(z0,S0,x0){s=s||wX(),z0=z0||{},typeof x0!="boolean"&&(x0=S0 instanceof s),this.objectMode=!!z0.objectMode,x0&&(this.objectMode=this.objectMode||!!z0.readableObjectMode),this.highWaterMark=Q0(this,z0,"readableHighWaterMark",x0),this.buffer=new a,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=z0.emitClose!==!1,this.autoDestroy=!!z0.autoDestroy,this.destroyed=!1,this.defaultEncoding=z0.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,z0.encoding&&(A0||(A0=(pQ(),e4(OY)).StringDecoder),this.decoder=new A0(z0.encoding),this.encoding=z0.encoding)}function R(z0){if(s=s||wX(),!(this instanceof R))return new R(z0);var S0=this instanceof s;this._readableState=new l6(z0,this,S0),this.readable=!0,z0&&(typeof z0.read=="function"&&(this._read=z0.read),typeof z0.destroy=="function"&&(this._destroy=z0.destroy)),Z.call(this)}Object.defineProperty(R.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(z0){!this._readableState||(this._readableState.destroyed=z0)}}),R.prototype.destroy=V0.destroy,R.prototype._undestroy=V0.undestroy,R.prototype._destroy=function(z0,S0){S0(z0)},R.prototype.push=function(z0,S0){var x0=this._readableState,_6;return x0.objectMode?_6=!0:typeof z0=="string"&&(S0=S0||x0.defaultEncoding,S0!==x0.encoding&&(z0=G.from(z0,S0),S0=""),_6=!0),D(this,z0,S0,!1,_6)},R.prototype.unshift=function(z0){return D(this,z0,null,!0,!1)};function D(z0,S0,x0,_6,P6){r("readableAddChunk",S0);var R6=z0._readableState;if(S0===null)R6.reading=!1,x(z0,R6);else{var s8;if(P6||(s8=E(R6,S0)),s8)Y6(z0,s8);else if(R6.objectMode||S0&&S0.length>0)if(typeof S0!="string"&&!R6.objectMode&&Object.getPrototypeOf(S0)!==G.prototype&&(S0=f(S0)),_6)R6.endEmitted?Y6(z0,new L0):B(z0,R6,S0,!0);else if(R6.ended)Y6(z0,new J0);else{if(R6.destroyed)return!1;R6.reading=!1,R6.decoder&&!x0?(S0=R6.decoder.write(S0),R6.objectMode||S0.length!==0?B(z0,R6,S0,!1):K0(z0,R6)):B(z0,R6,S0,!1)}else _6||(R6.reading=!1,K0(z0,R6))}return!R6.ended&&(R6.length=w?z0=w:(z0--,z0|=z0>>>1,z0|=z0>>>2,z0|=z0>>>4,z0|=z0>>>8,z0|=z0>>>16,z0++),z0}function h(z0,S0){return z0<=0||S0.length===0&&S0.ended?0:S0.objectMode?1:z0!==z0?S0.flowing&&S0.length?S0.buffer.head.data.length:S0.length:(z0>S0.highWaterMark&&(S0.highWaterMark=o(z0)),z0<=S0.length?z0:S0.ended?S0.length:(S0.needReadable=!0,0))}R.prototype.read=function(z0){r("read",z0),z0=parseInt(z0,10);var S0=this._readableState,x0=z0;if(z0!==0&&(S0.emittedReadable=!1),z0===0&&S0.needReadable&&((S0.highWaterMark!==0?S0.length>=S0.highWaterMark:S0.length>0)||S0.ended))return r("read: emitReadable",S0.length,S0.ended),S0.length===0&&S0.ended?c6(this):M(this),null;if(z0=h(z0,S0),z0===0&&S0.ended)return S0.length===0&&c6(this),null;var _6=S0.needReadable;r("need readable",_6),(S0.length===0||S0.length-z00?P6=d0(z0,S0):P6=null,P6===null?(S0.needReadable=S0.length<=S0.highWaterMark,z0=0):(S0.length-=z0,S0.awaitDrain=0),S0.length===0&&(S0.ended||(S0.needReadable=!0),x0!==z0&&S0.ended&&c6(this)),P6!==null&&this.emit("data",P6),P6};function x(z0,S0){if(r("onEofChunk"),!S0.ended){if(S0.decoder){var x0=S0.decoder.end();x0&&x0.length&&(S0.buffer.push(x0),S0.length+=S0.objectMode?1:x0.length)}S0.ended=!0,S0.sync?M(z0):(S0.needReadable=!1,S0.emittedReadable||(S0.emittedReadable=!0,p(z0)))}}function M(z0){var S0=z0._readableState;r("emitReadable",S0.needReadable,S0.emittedReadable),S0.needReadable=!1,S0.emittedReadable||(r("emitReadable",S0.flowing),S0.emittedReadable=!0,process.nextTick(p,z0))}function p(z0){var S0=z0._readableState;r("emitReadable_",S0.destroyed,S0.length,S0.ended),!S0.destroyed&&(S0.length||S0.ended)&&(z0.emit("readable"),S0.emittedReadable=!1),S0.needReadable=!S0.flowing&&!S0.ended&&S0.length<=S0.highWaterMark,j0(z0)}function K0(z0,S0){S0.readingMore||(S0.readingMore=!0,process.nextTick(U0,z0,S0))}function U0(z0,S0){for(;!S0.reading&&!S0.ended&&(S0.length1&&I6(_6.pipes,z0)!==-1)&&!h2&&(r("false write response, pause",_6.awaitDrain),_6.awaitDrain++),x0.pause())}function a1(s0){r("onerror",s0),v0(),z0.removeListener("error",a1),j(z0,"error")===0&&Y6(z0,s0)}b0(z0,"error",a1);function $0(){z0.removeListener("finish",R0),v0()}z0.once("close",$0);function R0(){r("onfinish"),z0.removeListener("close",$0),v0()}z0.once("finish",R0);function v0(){r("unpipe"),x0.unpipe(z0)}return z0.emit("pipe",x0),_6.flowing||(r("pipe resume"),x0.resume()),z0};function M0(z0){return function(){var S0=z0._readableState;r("pipeOnDrain",S0.awaitDrain),S0.awaitDrain&&S0.awaitDrain--,S0.awaitDrain===0&&j(z0,"data")&&(S0.flowing=!0,j0(z0))}}R.prototype.unpipe=function(z0){var S0=this._readableState,x0={hasUnpiped:!1};if(S0.pipesCount===0)return this;if(S0.pipesCount===1)return z0&&z0!==S0.pipes?this:(z0||(z0=S0.pipes),S0.pipes=null,S0.pipesCount=0,S0.flowing=!1,z0&&z0.emit("unpipe",this,x0),this);if(!z0){var{pipes:_6,pipesCount:P6}=S0;S0.pipes=null,S0.pipesCount=0,S0.flowing=!1;for(var R6=0;R60,_6.flowing!==!1&&this.resume()):z0==="readable"&&!_6.endEmitted&&!_6.readableListening&&(_6.readableListening=_6.needReadable=!0,_6.flowing=!1,_6.emittedReadable=!1,r("on readable",_6.length,_6.reading),_6.length?M(this):_6.reading||process.nextTick(X6,this)),x0},R.prototype.addListener=R.prototype.on,R.prototype.removeListener=function(z0,S0){var x0=Z.prototype.removeListener.call(this,z0,S0);return z0==="readable"&&process.nextTick(f0,this),x0},R.prototype.removeAllListeners=function(z0){var S0=Z.prototype.removeAllListeners.apply(this,arguments);return(z0==="readable"||z0===void 0)&&process.nextTick(f0,this),S0};function f0(z0){var S0=z0._readableState;S0.readableListening=z0.listenerCount("readable")>0,S0.resumeScheduled&&!S0.paused?S0.flowing=!0:z0.listenerCount("data")>0&&z0.resume()}function X6(z0){r("readable nexttick read 0"),z0.read(0)}R.prototype.resume=function(){var z0=this._readableState;return z0.flowing||(r("resume"),z0.flowing=!z0.readableListening,O6(this,z0)),z0.paused=!1,this};function O6(z0,S0){S0.resumeScheduled||(S0.resumeScheduled=!0,process.nextTick(r0,z0,S0))}function r0(z0,S0){r("resume",S0.reading),S0.reading||z0.read(0),S0.resumeScheduled=!1,z0.emit("resume"),j0(z0),S0.flowing&&!S0.reading&&z0.read(0)}R.prototype.pause=function(){return r("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(r("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function j0(z0){var S0=z0._readableState;for(r("flow",S0.flowing);S0.flowing&&z0.read()!==null;);}R.prototype.wrap=function(z0){var S0=this,x0=this._readableState,_6=!1;z0.on("end",function(){if(r("wrapped end"),x0.decoder&&!x0.ended){var s8=x0.decoder.end();s8&&s8.length&&S0.push(s8)}S0.push(null)}),z0.on("data",function(s8){if(r("wrapped data"),x0.decoder&&(s8=x0.decoder.write(s8)),!(x0.objectMode&&s8==null)&&!(!x0.objectMode&&(!s8||!s8.length))){var v6=S0.push(s8);v6||(_6=!0,z0.pause())}});for(var P6 in z0)this[P6]===void 0&&typeof z0[P6]=="function"&&(this[P6]=function(s8){return function(){return z0[s8].apply(z0,arguments)}}(P6));for(var R6=0;R6=S0.length?(S0.decoder?x0=S0.buffer.join(""):S0.buffer.length===1?x0=S0.buffer.first():x0=S0.buffer.concat(S0.length),S0.buffer.clear()):x0=S0.buffer.consume(z0,S0.decoder),x0}function c6(z0){var S0=z0._readableState;r("endReadable",S0.endEmitted),S0.endEmitted||(S0.ended=!0,process.nextTick(K6,S0,z0))}function K6(z0,S0){if(r("endReadableNT",z0.endEmitted,z0.length),!z0.endEmitted&&z0.length===0&&(z0.endEmitted=!0,S0.readable=!1,S0.emit("end"),z0.autoDestroy)){var x0=S0._writableState;(!x0||x0.autoDestroy&&x0.finished)&&S0.destroy()}}typeof Symbol=="function"&&(R.from=function(z0,S0){return a0===void 0&&(a0=FB()),a0(R,z0,S0)});function I6(z0,S0){for(var x0=0,_6=z0.length;x0<_6;x0++)if(z0[x0]===S0)return x0;return-1}}),o_=k6((v,l)=>{l.exports=b;var s=pX().codes,N=s.ERR_METHOD_NOT_IMPLEMENTED,j=s.ERR_MULTIPLE_CALLBACK,Z=s.ERR_TRANSFORM_ALREADY_TRANSFORMING,G=s.ERR_TRANSFORM_WITH_LENGTH_0,n=wX();e1()(b,n);function f(a,V0){var c=this._transformState;c.transforming=!1;var Q0=c.writecb;if(Q0===null)return this.emit("error",new j);c.writechunk=null,c.writecb=null,V0!=null&&this.push(V0),Q0(a);var N0=this._readableState;N0.reading=!1,(N0.needReadable||N0.length{l.exports=N;var s=o_();e1()(N,s);function N(j){if(!(this instanceof N))return new N(j);s.call(this,j)}N.prototype._transform=function(j,Z,G){G(null,j)}}),BB=k6((v,l)=>{var s;function N(c){var Q0=!1;return function(){Q0||(Q0=!0,c.apply(void 0,arguments))}}var j=pX().codes,Z=j.ERR_MISSING_ARGS,G=j.ERR_STREAM_DESTROYED;function n(c){if(c)throw c}function f(c){return c.setHeader&&typeof c.abort=="function"}function b(c,Q0,N0,G0){G0=N(G0);var J0=!1;c.on("close",function(){J0=!0}),s===void 0&&(s=LU()),s(c,{readable:Q0,writable:N0},function(L0){if(L0)return G0(L0);J0=!0,G0()});var P0=!1;return function(L0){if(!J0&&!P0){if(P0=!0,f(c))return c.abort();if(typeof c.destroy=="function")return c.destroy();G0(L0||new G("pipe"))}}}function e(c){c()}function r(c,Q0){return c.pipe(Q0)}function a(c){return!c.length||typeof c[c.length-1]!="function"?n:c.pop()}function V0(){for(var c=arguments.length,Q0=new Array(c),N0=0;N00;return b(L0,w0,a0,function(Y6){J0||(J0=Y6),Y6&&P0.forEach(e),!w0&&(P0.forEach(e),G0(J0))})});return Q0.reduce(r)}l.exports=V0}),CB=k6((v,l)=>{v=l.exports=s_(),v.Stream=v,v.Readable=v,v.Writable=l_(),v.Duplex=wX(),v.Transform=o_(),v.PassThrough=EB(),v.finished=LU(),v.pipeline=BB()}),DU=k6((v,l)=>{(function(s,N){function j(E,w){if(!E)throw new Error(w||"Assertion failed")}function Z(E,w){E.super_=w;var o=function(){};o.prototype=w.prototype,E.prototype=new o,E.prototype.constructor=E}function G(E,w,o){if(G.isBN(E))return E;this.negative=0,this.words=null,this.length=0,this.red=null,E!==null&&((w==="le"||w==="be")&&(o=w,w=10),this._init(E||0,w||10,o||"be"))}typeof s=="object"?s.exports=G:N.BN=G,G.BN=G,G.wordSize=26;var n;try{typeof window<"u"&&typeof window.Buffer<"u"?n=window.Buffer:n=XX().Buffer}catch{}G.isBN=function(E){return E instanceof G?!0:E!==null&&typeof E=="object"&&E.constructor.wordSize===G.wordSize&&Array.isArray(E.words)},G.max=function(E,w){return E.cmp(w)>0?E:w},G.min=function(E,w){return E.cmp(w)<0?E:w},G.prototype._init=function(E,w,o){if(typeof E=="number")return this._initNumber(E,w,o);if(typeof E=="object")return this._initArray(E,w,o);w==="hex"&&(w=16),j(w===(w|0)&&w>=2&&w<=36),E=E.toString().replace(/\s+/g,"");var h=0;E[0]==="-"&&(h++,this.negative=1),h=0;h-=3)M=E[h]|E[h-1]<<8|E[h-2]<<16,this.words[x]|=M<>>26-p&67108863,p+=24,p>=26&&(p-=26,x++);else if(o==="le")for(h=0,x=0;h>>26-p&67108863,p+=24,p>=26&&(p-=26,x++);return this._strip()};function f(E,w){var o=E.charCodeAt(w);if(o>=48&&o<=57)return o-48;if(o>=65&&o<=70)return o-55;if(o>=97&&o<=102)return o-87;j(!1,"Invalid character in "+E)}function b(E,w,o){var h=f(E,o);return o-1>=w&&(h|=f(E,o-1)<<4),h}G.prototype._parseHex=function(E,w,o){this.length=Math.ceil((E.length-w)/6),this.words=new Array(this.length);for(var h=0;h=w;h-=2)p=b(E,w,h)<=18?(x-=18,M+=1,this.words[M]|=p>>>26):x+=8;else{var K0=E.length-w;for(h=K0%2===0?w+1:w;h=18?(x-=18,M+=1,this.words[M]|=p>>>26):x+=8}this._strip()};function e(E,w,o,h){for(var x=0,M=0,p=Math.min(E.length,o),K0=w;K0=49?M=U0-49+10:U0>=17?M=U0-17+10:M=U0,j(U0>=0&&M1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},G.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{G.prototype[Symbol.for("nodejs.util.inspect.custom")]=a}catch{G.prototype.inspect=a}else G.prototype.inspect=a;function a(){return(this.red?""}var V0=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],Q0=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];G.prototype.toString=function(E,w){E=E||10,w=w|0||1;var o;if(E===16||E==="hex"){o="";for(var h=0,x=0,M=0;M>>24-h&16777215,h+=2,h>=26&&(h-=26,M--),x!==0||M!==this.length-1?o=V0[6-K0.length]+K0+o:o=K0+o}for(x!==0&&(o=x.toString(16)+o);o.length%w!==0;)o="0"+o;return this.negative!==0&&(o="-"+o),o}if(E===(E|0)&&E>=2&&E<=36){var U0=c[E],M0=Q0[E];o="";var f0=this.clone();for(f0.negative=0;!f0.isZero();){var X6=f0.modrn(M0).toString(E);f0=f0.idivn(M0),f0.isZero()?o=X6+o:o=V0[U0-X6.length]+X6+o}for(this.isZero()&&(o="0"+o);o.length%w!==0;)o="0"+o;return this.negative!==0&&(o="-"+o),o}j(!1,"Base should be between 2 and 36")},G.prototype.toNumber=function(){var E=this.words[0];return this.length===2?E+=this.words[1]*67108864:this.length===3&&this.words[2]===1?E+=4503599627370496+this.words[1]*67108864:this.length>2&&j(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-E:E},G.prototype.toJSON=function(){return this.toString(16,2)},n&&(G.prototype.toBuffer=function(E,w){return this.toArrayLike(n,E,w)}),G.prototype.toArray=function(E,w){return this.toArrayLike(Array,E,w)};var N0=function(E,w){return E.allocUnsafe?E.allocUnsafe(w):new E(w)};G.prototype.toArrayLike=function(E,w,o){this._strip();var h=this.byteLength(),x=o||Math.max(1,h);j(h<=x,"byte array longer than desired length"),j(x>0,"Requested array length <= 0");var M=N0(E,x),p=w==="le"?"LE":"BE";return this["_toArrayLike"+p](M,h),M},G.prototype._toArrayLikeLE=function(E,w){for(var o=0,h=0,x=0,M=0;x>8&255),o>16&255),M===6?(o>24&255),h=0,M=0):(h=p>>>24,M+=2)}if(o=0&&(E[o--]=p>>8&255),o>=0&&(E[o--]=p>>16&255),M===6?(o>=0&&(E[o--]=p>>24&255),h=0,M=0):(h=p>>>24,M+=2)}if(o>=0)for(E[o--]=h;o>=0;)E[o--]=0},Math.clz32?G.prototype._countBits=function(E){return 32-Math.clz32(E)}:G.prototype._countBits=function(E){var w=E,o=0;return w>=4096&&(o+=13,w>>>=13),w>=64&&(o+=7,w>>>=7),w>=8&&(o+=4,w>>>=4),w>=2&&(o+=2,w>>>=2),o+w},G.prototype._zeroBits=function(E){if(E===0)return 26;var w=E,o=0;return(w&8191)===0&&(o+=13,w>>>=13),(w&127)===0&&(o+=7,w>>>=7),(w&15)===0&&(o+=4,w>>>=4),(w&3)===0&&(o+=2,w>>>=2),(w&1)===0&&o++,o},G.prototype.bitLength=function(){var E=this.words[this.length-1],w=this._countBits(E);return(this.length-1)*26+w};function G0(E){for(var w=new Array(E.bitLength()),o=0;o>>x&1}return w}G.prototype.zeroBits=function(){if(this.isZero())return 0;for(var E=0,w=0;wE.length?this.clone().ior(E):E.clone().ior(this)},G.prototype.uor=function(E){return this.length>E.length?this.clone().iuor(E):E.clone().iuor(this)},G.prototype.iuand=function(E){var w;this.length>E.length?w=E:w=this;for(var o=0;oE.length?this.clone().iand(E):E.clone().iand(this)},G.prototype.uand=function(E){return this.length>E.length?this.clone().iuand(E):E.clone().iuand(this)},G.prototype.iuxor=function(E){var w,o;this.length>E.length?(w=this,o=E):(w=E,o=this);for(var h=0;hE.length?this.clone().ixor(E):E.clone().ixor(this)},G.prototype.uxor=function(E){return this.length>E.length?this.clone().iuxor(E):E.clone().iuxor(this)},G.prototype.inotn=function(E){j(typeof E=="number"&&E>=0);var w=Math.ceil(E/26)|0,o=E%26;this._expand(w),o>0&&w--;for(var h=0;h0&&(this.words[h]=~this.words[h]&67108863>>26-o),this._strip()},G.prototype.notn=function(E){return this.clone().inotn(E)},G.prototype.setn=function(E,w){j(typeof E=="number"&&E>=0);var o=E/26|0,h=E%26;return this._expand(o+1),w?this.words[o]=this.words[o]|1<E.length?(o=this,h=E):(o=E,h=this);for(var x=0,M=0;M>>26;for(;x!==0&&M>>26;if(this.length=o.length,x!==0)this.words[this.length]=x,this.length++;else if(o!==this)for(;ME.length?this.clone().iadd(E):E.clone().iadd(this)},G.prototype.isub=function(E){if(E.negative!==0){E.negative=0;var w=this.iadd(E);return E.negative=1,w._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(E),this.negative=1,this._normSign();var o=this.cmp(E);if(o===0)return this.negative=0,this.length=1,this.words[0]=0,this;var h,x;o>0?(h=this,x=E):(h=E,x=this);for(var M=0,p=0;p>26,this.words[p]=w&67108863;for(;M!==0&&p>26,this.words[p]=w&67108863;if(M===0&&p>>26,X6=U0&67108863,O6=Math.min(M0,w.length-1),r0=Math.max(0,M0-E.length+1);r0<=O6;r0++){var j0=M0-r0|0;x=E.words[j0]|0,M=w.words[r0]|0,p=x*M+X6,f0+=p/67108864|0,X6=p&67108863}o.words[M0]=X6|0,U0=f0|0}return U0!==0?o.words[M0]=U0|0:o.length--,o._strip()}var P0=function(E,w,o){var h=E.words,x=w.words,M=o.words,p=0,K0,U0,M0,f0=h[0]|0,X6=f0&8191,O6=f0>>>13,r0=h[1]|0,j0=r0&8191,d0=r0>>>13,c6=h[2]|0,K6=c6&8191,I6=c6>>>13,z0=h[3]|0,S0=z0&8191,x0=z0>>>13,_6=h[4]|0,P6=_6&8191,R6=_6>>>13,s8=h[5]|0,v6=s8&8191,j6=s8>>>13,h2=h[6]|0,b6=h2&8191,n6=h2>>>13,a1=h[7]|0,$0=a1&8191,R0=a1>>>13,v0=h[8]|0,s0=v0&8191,l0=v0>>>13,$8=h[9]|0,z6=$8&8191,g6=$8>>>13,f1=x[0]|0,e6=f1&8191,d6=f1>>>13,k1=x[1]|0,S8=k1&8191,N8=k1>>>13,m5=x[2]|0,W8=m5&8191,X8=m5>>>13,o7=x[3]|0,Q8=o7&8191,O8=o7>>>13,C9=x[4]|0,G8=C9&8191,E8=C9>>>13,d5=x[5]|0,M8=d5&8191,U8=d5>>>13,A9=x[6]|0,L8=A9&8191,q=A9>>>13,O9=x[7]|0,B8=O9&8191,D8=O9>>>13,G9=x[8]|0,z8=G9&8191,F8=G9>>>13,D5=x[9]|0,p1=D5&8191,m1=D5>>>13;o.negative=E.negative^w.negative,o.length=19,K0=Math.imul(X6,e6),U0=Math.imul(X6,d6),U0=U0+Math.imul(O6,e6)|0,M0=Math.imul(O6,d6);var f7=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(f7>>>26)|0,f7&=67108863,K0=Math.imul(j0,e6),U0=Math.imul(j0,d6),U0=U0+Math.imul(d0,e6)|0,M0=Math.imul(d0,d6),K0=K0+Math.imul(X6,S8)|0,U0=U0+Math.imul(X6,N8)|0,U0=U0+Math.imul(O6,S8)|0,M0=M0+Math.imul(O6,N8)|0;var X5=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(X5>>>26)|0,X5&=67108863,K0=Math.imul(K6,e6),U0=Math.imul(K6,d6),U0=U0+Math.imul(I6,e6)|0,M0=Math.imul(I6,d6),K0=K0+Math.imul(j0,S8)|0,U0=U0+Math.imul(j0,N8)|0,U0=U0+Math.imul(d0,S8)|0,M0=M0+Math.imul(d0,N8)|0,K0=K0+Math.imul(X6,W8)|0,U0=U0+Math.imul(X6,X8)|0,U0=U0+Math.imul(O6,W8)|0,M0=M0+Math.imul(O6,X8)|0;var Y5=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(Y5>>>26)|0,Y5&=67108863,K0=Math.imul(S0,e6),U0=Math.imul(S0,d6),U0=U0+Math.imul(x0,e6)|0,M0=Math.imul(x0,d6),K0=K0+Math.imul(K6,S8)|0,U0=U0+Math.imul(K6,N8)|0,U0=U0+Math.imul(I6,S8)|0,M0=M0+Math.imul(I6,N8)|0,K0=K0+Math.imul(j0,W8)|0,U0=U0+Math.imul(j0,X8)|0,U0=U0+Math.imul(d0,W8)|0,M0=M0+Math.imul(d0,X8)|0,K0=K0+Math.imul(X6,Q8)|0,U0=U0+Math.imul(X6,O8)|0,U0=U0+Math.imul(O6,Q8)|0,M0=M0+Math.imul(O6,O8)|0;var d7=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(d7>>>26)|0,d7&=67108863,K0=Math.imul(P6,e6),U0=Math.imul(P6,d6),U0=U0+Math.imul(R6,e6)|0,M0=Math.imul(R6,d6),K0=K0+Math.imul(S0,S8)|0,U0=U0+Math.imul(S0,N8)|0,U0=U0+Math.imul(x0,S8)|0,M0=M0+Math.imul(x0,N8)|0,K0=K0+Math.imul(K6,W8)|0,U0=U0+Math.imul(K6,X8)|0,U0=U0+Math.imul(I6,W8)|0,M0=M0+Math.imul(I6,X8)|0,K0=K0+Math.imul(j0,Q8)|0,U0=U0+Math.imul(j0,O8)|0,U0=U0+Math.imul(d0,Q8)|0,M0=M0+Math.imul(d0,O8)|0,K0=K0+Math.imul(X6,G8)|0,U0=U0+Math.imul(X6,E8)|0,U0=U0+Math.imul(O6,G8)|0,M0=M0+Math.imul(O6,E8)|0;var Q5=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(Q5>>>26)|0,Q5&=67108863,K0=Math.imul(v6,e6),U0=Math.imul(v6,d6),U0=U0+Math.imul(j6,e6)|0,M0=Math.imul(j6,d6),K0=K0+Math.imul(P6,S8)|0,U0=U0+Math.imul(P6,N8)|0,U0=U0+Math.imul(R6,S8)|0,M0=M0+Math.imul(R6,N8)|0,K0=K0+Math.imul(S0,W8)|0,U0=U0+Math.imul(S0,X8)|0,U0=U0+Math.imul(x0,W8)|0,M0=M0+Math.imul(x0,X8)|0,K0=K0+Math.imul(K6,Q8)|0,U0=U0+Math.imul(K6,O8)|0,U0=U0+Math.imul(I6,Q8)|0,M0=M0+Math.imul(I6,O8)|0,K0=K0+Math.imul(j0,G8)|0,U0=U0+Math.imul(j0,E8)|0,U0=U0+Math.imul(d0,G8)|0,M0=M0+Math.imul(d0,E8)|0,K0=K0+Math.imul(X6,M8)|0,U0=U0+Math.imul(X6,U8)|0,U0=U0+Math.imul(O6,M8)|0,M0=M0+Math.imul(O6,U8)|0;var W5=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(W5>>>26)|0,W5&=67108863,K0=Math.imul(b6,e6),U0=Math.imul(b6,d6),U0=U0+Math.imul(n6,e6)|0,M0=Math.imul(n6,d6),K0=K0+Math.imul(v6,S8)|0,U0=U0+Math.imul(v6,N8)|0,U0=U0+Math.imul(j6,S8)|0,M0=M0+Math.imul(j6,N8)|0,K0=K0+Math.imul(P6,W8)|0,U0=U0+Math.imul(P6,X8)|0,U0=U0+Math.imul(R6,W8)|0,M0=M0+Math.imul(R6,X8)|0,K0=K0+Math.imul(S0,Q8)|0,U0=U0+Math.imul(S0,O8)|0,U0=U0+Math.imul(x0,Q8)|0,M0=M0+Math.imul(x0,O8)|0,K0=K0+Math.imul(K6,G8)|0,U0=U0+Math.imul(K6,E8)|0,U0=U0+Math.imul(I6,G8)|0,M0=M0+Math.imul(I6,E8)|0,K0=K0+Math.imul(j0,M8)|0,U0=U0+Math.imul(j0,U8)|0,U0=U0+Math.imul(d0,M8)|0,M0=M0+Math.imul(d0,U8)|0,K0=K0+Math.imul(X6,L8)|0,U0=U0+Math.imul(X6,q)|0,U0=U0+Math.imul(O6,L8)|0,M0=M0+Math.imul(O6,q)|0;var N5=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(N5>>>26)|0,N5&=67108863,K0=Math.imul($0,e6),U0=Math.imul($0,d6),U0=U0+Math.imul(R0,e6)|0,M0=Math.imul(R0,d6),K0=K0+Math.imul(b6,S8)|0,U0=U0+Math.imul(b6,N8)|0,U0=U0+Math.imul(n6,S8)|0,M0=M0+Math.imul(n6,N8)|0,K0=K0+Math.imul(v6,W8)|0,U0=U0+Math.imul(v6,X8)|0,U0=U0+Math.imul(j6,W8)|0,M0=M0+Math.imul(j6,X8)|0,K0=K0+Math.imul(P6,Q8)|0,U0=U0+Math.imul(P6,O8)|0,U0=U0+Math.imul(R6,Q8)|0,M0=M0+Math.imul(R6,O8)|0,K0=K0+Math.imul(S0,G8)|0,U0=U0+Math.imul(S0,E8)|0,U0=U0+Math.imul(x0,G8)|0,M0=M0+Math.imul(x0,E8)|0,K0=K0+Math.imul(K6,M8)|0,U0=U0+Math.imul(K6,U8)|0,U0=U0+Math.imul(I6,M8)|0,M0=M0+Math.imul(I6,U8)|0,K0=K0+Math.imul(j0,L8)|0,U0=U0+Math.imul(j0,q)|0,U0=U0+Math.imul(d0,L8)|0,M0=M0+Math.imul(d0,q)|0,K0=K0+Math.imul(X6,B8)|0,U0=U0+Math.imul(X6,D8)|0,U0=U0+Math.imul(O6,B8)|0,M0=M0+Math.imul(O6,D8)|0;var U5=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(U5>>>26)|0,U5&=67108863,K0=Math.imul(s0,e6),U0=Math.imul(s0,d6),U0=U0+Math.imul(l0,e6)|0,M0=Math.imul(l0,d6),K0=K0+Math.imul($0,S8)|0,U0=U0+Math.imul($0,N8)|0,U0=U0+Math.imul(R0,S8)|0,M0=M0+Math.imul(R0,N8)|0,K0=K0+Math.imul(b6,W8)|0,U0=U0+Math.imul(b6,X8)|0,U0=U0+Math.imul(n6,W8)|0,M0=M0+Math.imul(n6,X8)|0,K0=K0+Math.imul(v6,Q8)|0,U0=U0+Math.imul(v6,O8)|0,U0=U0+Math.imul(j6,Q8)|0,M0=M0+Math.imul(j6,O8)|0,K0=K0+Math.imul(P6,G8)|0,U0=U0+Math.imul(P6,E8)|0,U0=U0+Math.imul(R6,G8)|0,M0=M0+Math.imul(R6,E8)|0,K0=K0+Math.imul(S0,M8)|0,U0=U0+Math.imul(S0,U8)|0,U0=U0+Math.imul(x0,M8)|0,M0=M0+Math.imul(x0,U8)|0,K0=K0+Math.imul(K6,L8)|0,U0=U0+Math.imul(K6,q)|0,U0=U0+Math.imul(I6,L8)|0,M0=M0+Math.imul(I6,q)|0,K0=K0+Math.imul(j0,B8)|0,U0=U0+Math.imul(j0,D8)|0,U0=U0+Math.imul(d0,B8)|0,M0=M0+Math.imul(d0,D8)|0,K0=K0+Math.imul(X6,z8)|0,U0=U0+Math.imul(X6,F8)|0,U0=U0+Math.imul(O6,z8)|0,M0=M0+Math.imul(O6,F8)|0;var J5=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(J5>>>26)|0,J5&=67108863,K0=Math.imul(z6,e6),U0=Math.imul(z6,d6),U0=U0+Math.imul(g6,e6)|0,M0=Math.imul(g6,d6),K0=K0+Math.imul(s0,S8)|0,U0=U0+Math.imul(s0,N8)|0,U0=U0+Math.imul(l0,S8)|0,M0=M0+Math.imul(l0,N8)|0,K0=K0+Math.imul($0,W8)|0,U0=U0+Math.imul($0,X8)|0,U0=U0+Math.imul(R0,W8)|0,M0=M0+Math.imul(R0,X8)|0,K0=K0+Math.imul(b6,Q8)|0,U0=U0+Math.imul(b6,O8)|0,U0=U0+Math.imul(n6,Q8)|0,M0=M0+Math.imul(n6,O8)|0,K0=K0+Math.imul(v6,G8)|0,U0=U0+Math.imul(v6,E8)|0,U0=U0+Math.imul(j6,G8)|0,M0=M0+Math.imul(j6,E8)|0,K0=K0+Math.imul(P6,M8)|0,U0=U0+Math.imul(P6,U8)|0,U0=U0+Math.imul(R6,M8)|0,M0=M0+Math.imul(R6,U8)|0,K0=K0+Math.imul(S0,L8)|0,U0=U0+Math.imul(S0,q)|0,U0=U0+Math.imul(x0,L8)|0,M0=M0+Math.imul(x0,q)|0,K0=K0+Math.imul(K6,B8)|0,U0=U0+Math.imul(K6,D8)|0,U0=U0+Math.imul(I6,B8)|0,M0=M0+Math.imul(I6,D8)|0,K0=K0+Math.imul(j0,z8)|0,U0=U0+Math.imul(j0,F8)|0,U0=U0+Math.imul(d0,z8)|0,M0=M0+Math.imul(d0,F8)|0,K0=K0+Math.imul(X6,p1)|0,U0=U0+Math.imul(X6,m1)|0,U0=U0+Math.imul(O6,p1)|0,M0=M0+Math.imul(O6,m1)|0;var S5=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(S5>>>26)|0,S5&=67108863,K0=Math.imul(z6,S8),U0=Math.imul(z6,N8),U0=U0+Math.imul(g6,S8)|0,M0=Math.imul(g6,N8),K0=K0+Math.imul(s0,W8)|0,U0=U0+Math.imul(s0,X8)|0,U0=U0+Math.imul(l0,W8)|0,M0=M0+Math.imul(l0,X8)|0,K0=K0+Math.imul($0,Q8)|0,U0=U0+Math.imul($0,O8)|0,U0=U0+Math.imul(R0,Q8)|0,M0=M0+Math.imul(R0,O8)|0,K0=K0+Math.imul(b6,G8)|0,U0=U0+Math.imul(b6,E8)|0,U0=U0+Math.imul(n6,G8)|0,M0=M0+Math.imul(n6,E8)|0,K0=K0+Math.imul(v6,M8)|0,U0=U0+Math.imul(v6,U8)|0,U0=U0+Math.imul(j6,M8)|0,M0=M0+Math.imul(j6,U8)|0,K0=K0+Math.imul(P6,L8)|0,U0=U0+Math.imul(P6,q)|0,U0=U0+Math.imul(R6,L8)|0,M0=M0+Math.imul(R6,q)|0,K0=K0+Math.imul(S0,B8)|0,U0=U0+Math.imul(S0,D8)|0,U0=U0+Math.imul(x0,B8)|0,M0=M0+Math.imul(x0,D8)|0,K0=K0+Math.imul(K6,z8)|0,U0=U0+Math.imul(K6,F8)|0,U0=U0+Math.imul(I6,z8)|0,M0=M0+Math.imul(I6,F8)|0,K0=K0+Math.imul(j0,p1)|0,U0=U0+Math.imul(j0,m1)|0,U0=U0+Math.imul(d0,p1)|0,M0=M0+Math.imul(d0,m1)|0;var R5=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(R5>>>26)|0,R5&=67108863,K0=Math.imul(z6,W8),U0=Math.imul(z6,X8),U0=U0+Math.imul(g6,W8)|0,M0=Math.imul(g6,X8),K0=K0+Math.imul(s0,Q8)|0,U0=U0+Math.imul(s0,O8)|0,U0=U0+Math.imul(l0,Q8)|0,M0=M0+Math.imul(l0,O8)|0,K0=K0+Math.imul($0,G8)|0,U0=U0+Math.imul($0,E8)|0,U0=U0+Math.imul(R0,G8)|0,M0=M0+Math.imul(R0,E8)|0,K0=K0+Math.imul(b6,M8)|0,U0=U0+Math.imul(b6,U8)|0,U0=U0+Math.imul(n6,M8)|0,M0=M0+Math.imul(n6,U8)|0,K0=K0+Math.imul(v6,L8)|0,U0=U0+Math.imul(v6,q)|0,U0=U0+Math.imul(j6,L8)|0,M0=M0+Math.imul(j6,q)|0,K0=K0+Math.imul(P6,B8)|0,U0=U0+Math.imul(P6,D8)|0,U0=U0+Math.imul(R6,B8)|0,M0=M0+Math.imul(R6,D8)|0,K0=K0+Math.imul(S0,z8)|0,U0=U0+Math.imul(S0,F8)|0,U0=U0+Math.imul(x0,z8)|0,M0=M0+Math.imul(x0,F8)|0,K0=K0+Math.imul(K6,p1)|0,U0=U0+Math.imul(K6,m1)|0,U0=U0+Math.imul(I6,p1)|0,M0=M0+Math.imul(I6,m1)|0;var b7=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(b7>>>26)|0,b7&=67108863,K0=Math.imul(z6,Q8),U0=Math.imul(z6,O8),U0=U0+Math.imul(g6,Q8)|0,M0=Math.imul(g6,O8),K0=K0+Math.imul(s0,G8)|0,U0=U0+Math.imul(s0,E8)|0,U0=U0+Math.imul(l0,G8)|0,M0=M0+Math.imul(l0,E8)|0,K0=K0+Math.imul($0,M8)|0,U0=U0+Math.imul($0,U8)|0,U0=U0+Math.imul(R0,M8)|0,M0=M0+Math.imul(R0,U8)|0,K0=K0+Math.imul(b6,L8)|0,U0=U0+Math.imul(b6,q)|0,U0=U0+Math.imul(n6,L8)|0,M0=M0+Math.imul(n6,q)|0,K0=K0+Math.imul(v6,B8)|0,U0=U0+Math.imul(v6,D8)|0,U0=U0+Math.imul(j6,B8)|0,M0=M0+Math.imul(j6,D8)|0,K0=K0+Math.imul(P6,z8)|0,U0=U0+Math.imul(P6,F8)|0,U0=U0+Math.imul(R6,z8)|0,M0=M0+Math.imul(R6,F8)|0,K0=K0+Math.imul(S0,p1)|0,U0=U0+Math.imul(S0,m1)|0,U0=U0+Math.imul(x0,p1)|0,M0=M0+Math.imul(x0,m1)|0;var _5=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(_5>>>26)|0,_5&=67108863,K0=Math.imul(z6,G8),U0=Math.imul(z6,E8),U0=U0+Math.imul(g6,G8)|0,M0=Math.imul(g6,E8),K0=K0+Math.imul(s0,M8)|0,U0=U0+Math.imul(s0,U8)|0,U0=U0+Math.imul(l0,M8)|0,M0=M0+Math.imul(l0,U8)|0,K0=K0+Math.imul($0,L8)|0,U0=U0+Math.imul($0,q)|0,U0=U0+Math.imul(R0,L8)|0,M0=M0+Math.imul(R0,q)|0,K0=K0+Math.imul(b6,B8)|0,U0=U0+Math.imul(b6,D8)|0,U0=U0+Math.imul(n6,B8)|0,M0=M0+Math.imul(n6,D8)|0,K0=K0+Math.imul(v6,z8)|0,U0=U0+Math.imul(v6,F8)|0,U0=U0+Math.imul(j6,z8)|0,M0=M0+Math.imul(j6,F8)|0,K0=K0+Math.imul(P6,p1)|0,U0=U0+Math.imul(P6,m1)|0,U0=U0+Math.imul(R6,p1)|0,M0=M0+Math.imul(R6,m1)|0;var e7=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(e7>>>26)|0,e7&=67108863,K0=Math.imul(z6,M8),U0=Math.imul(z6,U8),U0=U0+Math.imul(g6,M8)|0,M0=Math.imul(g6,U8),K0=K0+Math.imul(s0,L8)|0,U0=U0+Math.imul(s0,q)|0,U0=U0+Math.imul(l0,L8)|0,M0=M0+Math.imul(l0,q)|0,K0=K0+Math.imul($0,B8)|0,U0=U0+Math.imul($0,D8)|0,U0=U0+Math.imul(R0,B8)|0,M0=M0+Math.imul(R0,D8)|0,K0=K0+Math.imul(b6,z8)|0,U0=U0+Math.imul(b6,F8)|0,U0=U0+Math.imul(n6,z8)|0,M0=M0+Math.imul(n6,F8)|0,K0=K0+Math.imul(v6,p1)|0,U0=U0+Math.imul(v6,m1)|0,U0=U0+Math.imul(j6,p1)|0,M0=M0+Math.imul(j6,m1)|0;var K5=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(K5>>>26)|0,K5&=67108863,K0=Math.imul(z6,L8),U0=Math.imul(z6,q),U0=U0+Math.imul(g6,L8)|0,M0=Math.imul(g6,q),K0=K0+Math.imul(s0,B8)|0,U0=U0+Math.imul(s0,D8)|0,U0=U0+Math.imul(l0,B8)|0,M0=M0+Math.imul(l0,D8)|0,K0=K0+Math.imul($0,z8)|0,U0=U0+Math.imul($0,F8)|0,U0=U0+Math.imul(R0,z8)|0,M0=M0+Math.imul(R0,F8)|0,K0=K0+Math.imul(b6,p1)|0,U0=U0+Math.imul(b6,m1)|0,U0=U0+Math.imul(n6,p1)|0,M0=M0+Math.imul(n6,m1)|0;var n7=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(n7>>>26)|0,n7&=67108863,K0=Math.imul(z6,B8),U0=Math.imul(z6,D8),U0=U0+Math.imul(g6,B8)|0,M0=Math.imul(g6,D8),K0=K0+Math.imul(s0,z8)|0,U0=U0+Math.imul(s0,F8)|0,U0=U0+Math.imul(l0,z8)|0,M0=M0+Math.imul(l0,F8)|0,K0=K0+Math.imul($0,p1)|0,U0=U0+Math.imul($0,m1)|0,U0=U0+Math.imul(R0,p1)|0,M0=M0+Math.imul(R0,m1)|0;var mX=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(mX>>>26)|0,mX&=67108863,K0=Math.imul(z6,z8),U0=Math.imul(z6,F8),U0=U0+Math.imul(g6,z8)|0,M0=Math.imul(g6,F8),K0=K0+Math.imul(s0,p1)|0,U0=U0+Math.imul(s0,m1)|0,U0=U0+Math.imul(l0,p1)|0,M0=M0+Math.imul(l0,m1)|0;var YX=(p+K0|0)+((U0&8191)<<13)|0;p=(M0+(U0>>>13)|0)+(YX>>>26)|0,YX&=67108863,K0=Math.imul(z6,p1),U0=Math.imul(z6,m1),U0=U0+Math.imul(g6,p1)|0,M0=Math.imul(g6,m1);var uX=(p+K0|0)+((U0&8191)<<13)|0;return p=(M0+(U0>>>13)|0)+(uX>>>26)|0,uX&=67108863,M[0]=f7,M[1]=X5,M[2]=Y5,M[3]=d7,M[4]=Q5,M[5]=W5,M[6]=N5,M[7]=U5,M[8]=J5,M[9]=S5,M[10]=R5,M[11]=b7,M[12]=_5,M[13]=e7,M[14]=K5,M[15]=n7,M[16]=mX,M[17]=YX,M[18]=uX,p!==0&&(M[19]=p,o.length++),o};Math.imul||(P0=J0);function L0(E,w,o){o.negative=w.negative^E.negative,o.length=E.length+w.length;for(var h=0,x=0,M=0;M>>26)|0,x+=p>>>26,p&=67108863}o.words[M]=K0,h=p,p=x}return h!==0?o.words[M]=h:o.length--,o._strip()}function A0(E,w,o){return L0(E,w,o)}G.prototype.mulTo=function(E,w){var o,h=this.length+E.length;return this.length===10&&E.length===10?o=P0(this,E,w):h<63?o=J0(this,E,w):h<1024?o=L0(this,E,w):o=A0(this,E,w),o};function w0(E,w){this.x=E,this.y=w}w0.prototype.makeRBT=function(E){for(var w=new Array(E),o=G.prototype._countBits(E)-1,h=0;h>=1;return h},w0.prototype.permute=function(E,w,o,h,x,M){for(var p=0;p>>1)x++;return 1<>>13,o[2*M+1]=x&8191,x=x>>>13;for(M=2*w;M>=26,o+=x/67108864|0,o+=M>>>26,this.words[h]=M&67108863}return o!==0&&(this.words[h]=o,this.length++),w?this.ineg():this},G.prototype.muln=function(E){return this.clone().imuln(E)},G.prototype.sqr=function(){return this.mul(this)},G.prototype.isqr=function(){return this.imul(this.clone())},G.prototype.pow=function(E){var w=G0(E);if(w.length===0)return new G(1);for(var o=this,h=0;h=0);var w=E%26,o=(E-w)/26,h=67108863>>>26-w<<26-w,x;if(w!==0){var M=0;for(x=0;x>>26-w}M&&(this.words[x]=M,this.length++)}if(o!==0){for(x=this.length-1;x>=0;x--)this.words[x+o]=this.words[x];for(x=0;x=0);var h;w?h=(w-w%26)/26:h=0;var x=E%26,M=Math.min((E-x)/26,this.length),p=67108863^67108863>>>x<M)for(this.length-=M,U0=0;U0=0&&(M0!==0||U0>=h);U0--){var f0=this.words[U0]|0;this.words[U0]=M0<<26-x|f0>>>x,M0=f0&p}return K0&&M0!==0&&(K0.words[K0.length++]=M0),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},G.prototype.ishrn=function(E,w,o){return j(this.negative===0),this.iushrn(E,w,o)},G.prototype.shln=function(E){return this.clone().ishln(E)},G.prototype.ushln=function(E){return this.clone().iushln(E)},G.prototype.shrn=function(E){return this.clone().ishrn(E)},G.prototype.ushrn=function(E){return this.clone().iushrn(E)},G.prototype.testn=function(E){j(typeof E=="number"&&E>=0);var w=E%26,o=(E-w)/26,h=1<=0);var w=E%26,o=(E-w)/26;if(j(this.negative===0,"imaskn works only with positive numbers"),this.length<=o)return this;if(w!==0&&o++,this.length=Math.min(o,this.length),w!==0){var h=67108863^67108863>>>w<=67108864;w++)this.words[w]-=67108864,w===this.length-1?this.words[w+1]=1:this.words[w+1]++;return this.length=Math.max(this.length,w+1),this},G.prototype.isubn=function(E){if(j(typeof E=="number"),j(E<67108864),E<0)return this.iaddn(-E);if(this.negative!==0)return this.negative=0,this.iaddn(E),this.negative=1,this;if(this.words[0]-=E,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var w=0;w>26)-(K0/67108864|0),this.words[x+o]=M&67108863}for(;x>26,this.words[x+o]=M&67108863;if(p===0)return this._strip();for(j(p===-1),p=0,x=0;x>26,this.words[x]=M&67108863;return this.negative=1,this._strip()},G.prototype._wordDiv=function(E,w){var o=this.length-E.length,h=this.clone(),x=E,M=x.words[x.length-1]|0,p=this._countBits(M);o=26-p,o!==0&&(x=x.ushln(o),h.iushln(o),M=x.words[x.length-1]|0);var K0=h.length-x.length,U0;if(w!=="mod"){U0=new G(null),U0.length=K0+1,U0.words=new Array(U0.length);for(var M0=0;M0=0;X6--){var O6=(h.words[x.length+X6]|0)*67108864+(h.words[x.length+X6-1]|0);for(O6=Math.min(O6/M|0,67108863),h._ishlnsubmul(x,O6,X6);h.negative!==0;)O6--,h.negative=0,h._ishlnsubmul(x,1,X6),h.isZero()||(h.negative^=1);U0&&(U0.words[X6]=O6)}return U0&&U0._strip(),h._strip(),w!=="div"&&o!==0&&h.iushrn(o),{div:U0||null,mod:h}},G.prototype.divmod=function(E,w,o){if(j(!E.isZero()),this.isZero())return{div:new G(0),mod:new G(0)};var h,x,M;return this.negative!==0&&E.negative===0?(M=this.neg().divmod(E,w),w!=="mod"&&(h=M.div.neg()),w!=="div"&&(x=M.mod.neg(),o&&x.negative!==0&&x.iadd(E)),{div:h,mod:x}):this.negative===0&&E.negative!==0?(M=this.divmod(E.neg(),w),w!=="mod"&&(h=M.div.neg()),{div:h,mod:M.mod}):(this.negative&E.negative)!==0?(M=this.neg().divmod(E.neg(),w),w!=="div"&&(x=M.mod.neg(),o&&x.negative!==0&&x.isub(E)),{div:M.div,mod:x}):E.length>this.length||this.cmp(E)<0?{div:new G(0),mod:this}:E.length===1?w==="div"?{div:this.divn(E.words[0]),mod:null}:w==="mod"?{div:null,mod:new G(this.modrn(E.words[0]))}:{div:this.divn(E.words[0]),mod:new G(this.modrn(E.words[0]))}:this._wordDiv(E,w)},G.prototype.div=function(E){return this.divmod(E,"div",!1).div},G.prototype.mod=function(E){return this.divmod(E,"mod",!1).mod},G.prototype.umod=function(E){return this.divmod(E,"mod",!0).mod},G.prototype.divRound=function(E){var w=this.divmod(E);if(w.mod.isZero())return w.div;var o=w.div.negative!==0?w.mod.isub(E):w.mod,h=E.ushrn(1),x=E.andln(1),M=o.cmp(h);return M<0||x===1&&M===0?w.div:w.div.negative!==0?w.div.isubn(1):w.div.iaddn(1)},G.prototype.modrn=function(E){var w=E<0;w&&(E=-E),j(E<=67108863);for(var o=(1<<26)%E,h=0,x=this.length-1;x>=0;x--)h=(o*h+(this.words[x]|0))%E;return w?-h:h},G.prototype.modn=function(E){return this.modrn(E)},G.prototype.idivn=function(E){var w=E<0;w&&(E=-E),j(E<=67108863);for(var o=0,h=this.length-1;h>=0;h--){var x=(this.words[h]|0)+o*67108864;this.words[h]=x/E|0,o=x%E}return this._strip(),w?this.ineg():this},G.prototype.divn=function(E){return this.clone().idivn(E)},G.prototype.egcd=function(E){j(E.negative===0),j(!E.isZero());var w=this,o=E.clone();w.negative!==0?w=w.umod(E):w=w.clone();for(var h=new G(1),x=new G(0),M=new G(0),p=new G(1),K0=0;w.isEven()&&o.isEven();)w.iushrn(1),o.iushrn(1),++K0;for(var U0=o.clone(),M0=w.clone();!w.isZero();){for(var f0=0,X6=1;(w.words[0]&X6)===0&&f0<26;++f0,X6<<=1);if(f0>0)for(w.iushrn(f0);f0-- >0;)(h.isOdd()||x.isOdd())&&(h.iadd(U0),x.isub(M0)),h.iushrn(1),x.iushrn(1);for(var O6=0,r0=1;(o.words[0]&r0)===0&&O6<26;++O6,r0<<=1);if(O6>0)for(o.iushrn(O6);O6-- >0;)(M.isOdd()||p.isOdd())&&(M.iadd(U0),p.isub(M0)),M.iushrn(1),p.iushrn(1);w.cmp(o)>=0?(w.isub(o),h.isub(M),x.isub(p)):(o.isub(w),M.isub(h),p.isub(x))}return{a:M,b:p,gcd:o.iushln(K0)}},G.prototype._invmp=function(E){j(E.negative===0),j(!E.isZero());var w=this,o=E.clone();w.negative!==0?w=w.umod(E):w=w.clone();for(var h=new G(1),x=new G(0),M=o.clone();w.cmpn(1)>0&&o.cmpn(1)>0;){for(var p=0,K0=1;(w.words[0]&K0)===0&&p<26;++p,K0<<=1);if(p>0)for(w.iushrn(p);p-- >0;)h.isOdd()&&h.iadd(M),h.iushrn(1);for(var U0=0,M0=1;(o.words[0]&M0)===0&&U0<26;++U0,M0<<=1);if(U0>0)for(o.iushrn(U0);U0-- >0;)x.isOdd()&&x.iadd(M),x.iushrn(1);w.cmp(o)>=0?(w.isub(o),h.isub(x)):(o.isub(w),x.isub(h))}var f0;return w.cmpn(1)===0?f0=h:f0=x,f0.cmpn(0)<0&&f0.iadd(E),f0},G.prototype.gcd=function(E){if(this.isZero())return E.abs();if(E.isZero())return this.abs();var w=this.clone(),o=E.clone();w.negative=0,o.negative=0;for(var h=0;w.isEven()&&o.isEven();h++)w.iushrn(1),o.iushrn(1);do{for(;w.isEven();)w.iushrn(1);for(;o.isEven();)o.iushrn(1);var x=w.cmp(o);if(x<0){var M=w;w=o,o=M}else if(x===0||o.cmpn(1)===0)break;w.isub(o)}while(!0);return o.iushln(h)},G.prototype.invm=function(E){return this.egcd(E).a.umod(E)},G.prototype.isEven=function(){return(this.words[0]&1)===0},G.prototype.isOdd=function(){return(this.words[0]&1)===1},G.prototype.andln=function(E){return this.words[0]&E},G.prototype.bincn=function(E){j(typeof E=="number");var w=E%26,o=(E-w)/26,h=1<>>26,p&=67108863,this.words[M]=p}return x!==0&&(this.words[M]=x,this.length++),this},G.prototype.isZero=function(){return this.length===1&&this.words[0]===0},G.prototype.cmpn=function(E){var w=E<0;if(this.negative!==0&&!w)return-1;if(this.negative===0&&w)return 1;this._strip();var o;if(this.length>1)o=1;else{w&&(E=-E),j(E<=67108863,"Number is too big");var h=this.words[0]|0;o=h===E?0:hE.length)return 1;if(this.length=0;o--){var h=this.words[o]|0,x=E.words[o]|0;if(h!==x){hx&&(w=1);break}}return w},G.prototype.gtn=function(E){return this.cmpn(E)===1},G.prototype.gt=function(E){return this.cmp(E)===1},G.prototype.gten=function(E){return this.cmpn(E)>=0},G.prototype.gte=function(E){return this.cmp(E)>=0},G.prototype.ltn=function(E){return this.cmpn(E)===-1},G.prototype.lt=function(E){return this.cmp(E)===-1},G.prototype.lten=function(E){return this.cmpn(E)<=0},G.prototype.lte=function(E){return this.cmp(E)<=0},G.prototype.eqn=function(E){return this.cmpn(E)===0},G.prototype.eq=function(E){return this.cmp(E)===0},G.red=function(E){return new D(E)},G.prototype.toRed=function(E){return j(!this.red,"Already a number in reduction context"),j(this.negative===0,"red works only with positives"),E.convertTo(this)._forceRed(E)},G.prototype.fromRed=function(){return j(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},G.prototype._forceRed=function(E){return this.red=E,this},G.prototype.forceRed=function(E){return j(!this.red,"Already a number in reduction context"),this._forceRed(E)},G.prototype.redAdd=function(E){return j(this.red,"redAdd works only with red numbers"),this.red.add(this,E)},G.prototype.redIAdd=function(E){return j(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,E)},G.prototype.redSub=function(E){return j(this.red,"redSub works only with red numbers"),this.red.sub(this,E)},G.prototype.redISub=function(E){return j(this.red,"redISub works only with red numbers"),this.red.isub(this,E)},G.prototype.redShl=function(E){return j(this.red,"redShl works only with red numbers"),this.red.shl(this,E)},G.prototype.redMul=function(E){return j(this.red,"redMul works only with red numbers"),this.red._verify2(this,E),this.red.mul(this,E)},G.prototype.redIMul=function(E){return j(this.red,"redMul works only with red numbers"),this.red._verify2(this,E),this.red.imul(this,E)},G.prototype.redSqr=function(){return j(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},G.prototype.redISqr=function(){return j(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},G.prototype.redSqrt=function(){return j(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},G.prototype.redInvm=function(){return j(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},G.prototype.redNeg=function(){return j(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},G.prototype.redPow=function(E){return j(this.red&&!E.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,E)};var a0={k256:null,p224:null,p192:null,p25519:null};function Y6(E,w){this.name=E,this.p=new G(w,16),this.n=this.p.bitLength(),this.k=new G(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}Y6.prototype._tmp=function(){var E=new G(null);return E.words=new Array(Math.ceil(this.n/13)),E},Y6.prototype.ireduce=function(E){var w=E,o;do this.split(w,this.tmp),w=this.imulK(w),w=w.iadd(this.tmp),o=w.bitLength();while(o>this.n);var h=o0?w.isub(this.p):w.strip!==void 0?w.strip():w._strip(),w},Y6.prototype.split=function(E,w){E.iushrn(this.n,0,w)},Y6.prototype.imulK=function(E){return E.imul(this.k)};function D6(){Y6.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}Z(D6,Y6),D6.prototype.split=function(E,w){for(var o=4194303,h=Math.min(E.length,9),x=0;x>>22,M=p}M>>>=22,E.words[x-10]=M,M===0&&E.length>10?E.length-=10:E.length-=9},D6.prototype.imulK=function(E){E.words[E.length]=0,E.words[E.length+1]=0,E.length+=2;for(var w=0,o=0;o>>=26,E.words[o]=x,w=h}return w!==0&&(E.words[E.length++]=w),E},G._prime=function(E){if(a0[E])return a0[E];var w;if(E==="k256")w=new D6;else if(E==="p224")w=new b0;else if(E==="p192")w=new l6;else if(E==="p25519")w=new R;else throw new Error("Unknown prime "+E);return a0[E]=w,w};function D(E){if(typeof E=="string"){var w=G._prime(E);this.m=w.p,this.prime=w}else j(E.gtn(1),"modulus must be greater than 1"),this.m=E,this.prime=null}D.prototype._verify1=function(E){j(E.negative===0,"red works only with positives"),j(E.red,"red works only with red numbers")},D.prototype._verify2=function(E,w){j((E.negative|w.negative)===0,"red works only with positives"),j(E.red&&E.red===w.red,"red works only with red numbers")},D.prototype.imod=function(E){return this.prime?this.prime.ireduce(E)._forceRed(this):(r(E,E.umod(this.m)._forceRed(this)),E)},D.prototype.neg=function(E){return E.isZero()?E.clone():this.m.sub(E)._forceRed(this)},D.prototype.add=function(E,w){this._verify2(E,w);var o=E.add(w);return o.cmp(this.m)>=0&&o.isub(this.m),o._forceRed(this)},D.prototype.iadd=function(E,w){this._verify2(E,w);var o=E.iadd(w);return o.cmp(this.m)>=0&&o.isub(this.m),o},D.prototype.sub=function(E,w){this._verify2(E,w);var o=E.sub(w);return o.cmpn(0)<0&&o.iadd(this.m),o._forceRed(this)},D.prototype.isub=function(E,w){this._verify2(E,w);var o=E.isub(w);return o.cmpn(0)<0&&o.iadd(this.m),o},D.prototype.shl=function(E,w){return this._verify1(E),this.imod(E.ushln(w))},D.prototype.imul=function(E,w){return this._verify2(E,w),this.imod(E.imul(w))},D.prototype.mul=function(E,w){return this._verify2(E,w),this.imod(E.mul(w))},D.prototype.isqr=function(E){return this.imul(E,E.clone())},D.prototype.sqr=function(E){return this.mul(E,E)},D.prototype.sqrt=function(E){if(E.isZero())return E.clone();var w=this.m.andln(3);if(j(w%2===1),w===3){var o=this.m.add(new G(1)).iushrn(2);return this.pow(E,o)}for(var h=this.m.subn(1),x=0;!h.isZero()&&h.andln(1)===0;)x++,h.iushrn(1);j(!h.isZero());var M=new G(1).toRed(this),p=M.redNeg(),K0=this.m.subn(1).iushrn(1),U0=this.m.bitLength();for(U0=new G(2*U0*U0).toRed(this);this.pow(U0,K0).cmp(p)!==0;)U0.redIAdd(p);for(var M0=this.pow(U0,h),f0=this.pow(E,h.addn(1).iushrn(1)),X6=this.pow(E,h),O6=x;X6.cmp(M)!==0;){for(var r0=X6,j0=0;r0.cmp(M)!==0;j0++)r0=r0.redSqr();j(j0=0;x--){for(var M0=w.words[x],f0=U0-1;f0>=0;f0--){var X6=M0>>f0&1;if(M!==h[0]&&(M=this.sqr(M)),X6===0&&p===0){K0=0;continue}p<<=1,p|=X6,K0++,!(K0!==o&&(x!==0||f0!==0))&&(M=this.mul(M,h[p]),K0=0,p=0)}U0=26}return M},D.prototype.convertTo=function(E){var w=E.umod(this.m);return w===E?w.clone():w},D.prototype.convertFrom=function(E){var w=E.clone();return w.red=null,w},G.mont=function(E){return new B(E)};function B(E){D.call(this,E),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new G(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}Z(B,D),B.prototype.convertTo=function(E){return this.imod(E.ushln(this.shift))},B.prototype.convertFrom=function(E){var w=this.imod(E.mul(this.rinv));return w.red=null,w},B.prototype.imul=function(E,w){if(E.isZero()||w.isZero())return E.words[0]=0,E.length=1,E;var o=E.imul(w),h=o.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),x=o.isub(h).iushrn(this.shift),M=x;return x.cmp(this.m)>=0?M=x.isub(this.m):x.cmpn(0)<0&&(M=x.iadd(this.m)),M._forceRed(this)},B.prototype.mul=function(E,w){if(E.isZero()||w.isZero())return new G(0)._forceRed(this);var o=E.mul(w),h=o.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),x=o.isub(h).iushrn(this.shift),M=x;return x.cmp(this.m)>=0?M=x.isub(this.m):x.cmpn(0)<0&&(M=x.iadd(this.m)),M._forceRed(this)},B.prototype.invm=function(E){var w=this.imod(E._invmp(this.m).mul(this.r2));return w._forceRed(this)}})(typeof l>"u"||l,v)}),zU=k6((v,l)=>{var s=DU(),N=qX();function j(n){var f=Z(n),b=f.toRed(s.mont(n.modulus)).redPow(new s(n.publicExponent)).fromRed();return{blinder:b,unblinder:f.invm(n.modulus)}}function Z(n){var f=n.modulus.byteLength(),b;do b=new s(N(f));while(b.cmp(n.modulus)>=0||!b.umod(n.prime1)||!b.umod(n.prime2));return b}function G(n,f){var b=j(f),e=f.modulus.byteLength(),r=new s(n).mul(b.blinder).umod(f.modulus),a=r.toRed(s.mont(f.prime1)),V0=r.toRed(s.mont(f.prime2)),c=f.coefficient,Q0=f.prime1,N0=f.prime2,G0=a.redPow(f.exponent1).fromRed(),J0=V0.redPow(f.exponent2).fromRed(),P0=G0.isub(J0).imul(c).umod(Q0).imul(N0);return J0.iadd(P0).imul(b.unblinder).umod(f.modulus).toArrayLike(Buffer,"be",e)}G.getr=Z,l.exports=G}),AB=k6((v,l)=>{l.exports={name:"elliptic",version:"6.5.4",description:"EC cryptography",main:"lib/elliptic.js",files:["lib"],scripts:{lint:"eslint lib test","lint:fix":"npm run lint -- --fix",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},repository:{type:"git",url:"git@github.com:indutny/elliptic"},keywords:["EC","Elliptic","curve","Cryptography"],author:"Fedor Indutny ",license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},dependencies:{"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}}),aV=k6((v,l)=>{(function(s,N){function j(R,D){if(!R)throw new Error(D||"Assertion failed")}function Z(R,D){R.super_=D;var B=function(){};B.prototype=D.prototype,R.prototype=new B,R.prototype.constructor=R}function G(R,D,B){if(G.isBN(R))return R;this.negative=0,this.words=null,this.length=0,this.red=null,R!==null&&((D==="le"||D==="be")&&(B=D,D=10),this._init(R||0,D||10,B||"be"))}typeof s=="object"?s.exports=G:N.BN=G,G.BN=G,G.wordSize=26;var n;try{typeof window<"u"&&typeof window.Buffer<"u"?n=window.Buffer:n=XX().Buffer}catch{}G.isBN=function(R){return R instanceof G?!0:R!==null&&typeof R=="object"&&R.constructor.wordSize===G.wordSize&&Array.isArray(R.words)},G.max=function(R,D){return R.cmp(D)>0?R:D},G.min=function(R,D){return R.cmp(D)<0?R:D},G.prototype._init=function(R,D,B){if(typeof R=="number")return this._initNumber(R,D,B);if(typeof R=="object")return this._initArray(R,D,B);D==="hex"&&(D=16),j(D===(D|0)&&D>=2&&D<=36),R=R.toString().replace(/\s+/g,"");var E=0;R[0]==="-"&&(E++,this.negative=1),E=0;E-=3)o=R[E]|R[E-1]<<8|R[E-2]<<16,this.words[w]|=o<>>26-h&67108863,h+=24,h>=26&&(h-=26,w++);else if(B==="le")for(E=0,w=0;E>>26-h&67108863,h+=24,h>=26&&(h-=26,w++);return this.strip()};function f(R,D){var B=R.charCodeAt(D);return B>=65&&B<=70?B-55:B>=97&&B<=102?B-87:B-48&15}function b(R,D,B){var E=f(R,B);return B-1>=D&&(E|=f(R,B-1)<<4),E}G.prototype._parseHex=function(R,D,B){this.length=Math.ceil((R.length-D)/6),this.words=new Array(this.length);for(var E=0;E=D;E-=2)h=b(R,D,E)<=18?(w-=18,o+=1,this.words[o]|=h>>>26):w+=8;else{var x=R.length-D;for(E=x%2===0?D+1:D;E=18?(w-=18,o+=1,this.words[o]|=h>>>26):w+=8}this.strip()};function e(R,D,B,E){for(var w=0,o=Math.min(R.length,B),h=D;h=49?w+=x-49+10:x>=17?w+=x-17+10:w+=x}return w}G.prototype._parseBase=function(R,D,B){this.words=[0],this.length=1;for(var E=0,w=1;w<=67108863;w*=D)E++;E--,w=w/D|0;for(var o=R.length-B,h=o%E,x=Math.min(o,o-h)+B,M=0,p=B;p1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},G.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},G.prototype.inspect=function(){return(this.red?""};var r=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],a=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],V0=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];G.prototype.toString=function(R,D){R=R||10,D=D|0||1;var B;if(R===16||R==="hex"){B="";for(var E=0,w=0,o=0;o>>24-E&16777215,w!==0||o!==this.length-1?B=r[6-x.length]+x+B:B=x+B,E+=2,E>=26&&(E-=26,o--)}for(w!==0&&(B=w.toString(16)+B);B.length%D!==0;)B="0"+B;return this.negative!==0&&(B="-"+B),B}if(R===(R|0)&&R>=2&&R<=36){var M=a[R],p=V0[R];B="";var K0=this.clone();for(K0.negative=0;!K0.isZero();){var U0=K0.modn(p).toString(R);K0=K0.idivn(p),K0.isZero()?B=U0+B:B=r[M-U0.length]+U0+B}for(this.isZero()&&(B="0"+B);B.length%D!==0;)B="0"+B;return this.negative!==0&&(B="-"+B),B}j(!1,"Base should be between 2 and 36")},G.prototype.toNumber=function(){var R=this.words[0];return this.length===2?R+=this.words[1]*67108864:this.length===3&&this.words[2]===1?R+=4503599627370496+this.words[1]*67108864:this.length>2&&j(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-R:R},G.prototype.toJSON=function(){return this.toString(16)},G.prototype.toBuffer=function(R,D){return j(typeof n<"u"),this.toArrayLike(n,R,D)},G.prototype.toArray=function(R,D){return this.toArrayLike(Array,R,D)},G.prototype.toArrayLike=function(R,D,B){var E=this.byteLength(),w=B||Math.max(1,E);j(E<=w,"byte array longer than desired length"),j(w>0,"Requested array length <= 0"),this.strip();var o=D==="le",h=new R(w),x,M,p=this.clone();if(o){for(M=0;!p.isZero();M++)x=p.andln(255),p.iushrn(8),h[M]=x;for(;M=4096&&(B+=13,D>>>=13),D>=64&&(B+=7,D>>>=7),D>=8&&(B+=4,D>>>=4),D>=2&&(B+=2,D>>>=2),B+D},G.prototype._zeroBits=function(R){if(R===0)return 26;var D=R,B=0;return(D&8191)===0&&(B+=13,D>>>=13),(D&127)===0&&(B+=7,D>>>=7),(D&15)===0&&(B+=4,D>>>=4),(D&3)===0&&(B+=2,D>>>=2),(D&1)===0&&B++,B},G.prototype.bitLength=function(){var R=this.words[this.length-1],D=this._countBits(R);return(this.length-1)*26+D};function c(R){for(var D=new Array(R.bitLength()),B=0;B>>w}return D}G.prototype.zeroBits=function(){if(this.isZero())return 0;for(var R=0,D=0;DR.length?this.clone().ior(R):R.clone().ior(this)},G.prototype.uor=function(R){return this.length>R.length?this.clone().iuor(R):R.clone().iuor(this)},G.prototype.iuand=function(R){var D;this.length>R.length?D=R:D=this;for(var B=0;BR.length?this.clone().iand(R):R.clone().iand(this)},G.prototype.uand=function(R){return this.length>R.length?this.clone().iuand(R):R.clone().iuand(this)},G.prototype.iuxor=function(R){var D,B;this.length>R.length?(D=this,B=R):(D=R,B=this);for(var E=0;ER.length?this.clone().ixor(R):R.clone().ixor(this)},G.prototype.uxor=function(R){return this.length>R.length?this.clone().iuxor(R):R.clone().iuxor(this)},G.prototype.inotn=function(R){j(typeof R=="number"&&R>=0);var D=Math.ceil(R/26)|0,B=R%26;this._expand(D),B>0&&D--;for(var E=0;E0&&(this.words[E]=~this.words[E]&67108863>>26-B),this.strip()},G.prototype.notn=function(R){return this.clone().inotn(R)},G.prototype.setn=function(R,D){j(typeof R=="number"&&R>=0);var B=R/26|0,E=R%26;return this._expand(B+1),D?this.words[B]=this.words[B]|1<R.length?(B=this,E=R):(B=R,E=this);for(var w=0,o=0;o>>26;for(;w!==0&&o>>26;if(this.length=B.length,w!==0)this.words[this.length]=w,this.length++;else if(B!==this)for(;oR.length?this.clone().iadd(R):R.clone().iadd(this)},G.prototype.isub=function(R){if(R.negative!==0){R.negative=0;var D=this.iadd(R);return R.negative=1,D._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(R),this.negative=1,this._normSign();var B=this.cmp(R);if(B===0)return this.negative=0,this.length=1,this.words[0]=0,this;var E,w;B>0?(E=this,w=R):(E=R,w=this);for(var o=0,h=0;h>26,this.words[h]=D&67108863;for(;o!==0&&h>26,this.words[h]=D&67108863;if(o===0&&h>>26,U0=M&67108863,M0=Math.min(p,D.length-1),f0=Math.max(0,p-R.length+1);f0<=M0;f0++){var X6=p-f0|0;w=R.words[X6]|0,o=D.words[f0]|0,h=w*o+U0,K0+=h/67108864|0,U0=h&67108863}B.words[p]=U0|0,M=K0|0}return M!==0?B.words[p]=M|0:B.length--,B.strip()}var N0=function(R,D,B){var E=R.words,w=D.words,o=B.words,h=0,x,M,p,K0=E[0]|0,U0=K0&8191,M0=K0>>>13,f0=E[1]|0,X6=f0&8191,O6=f0>>>13,r0=E[2]|0,j0=r0&8191,d0=r0>>>13,c6=E[3]|0,K6=c6&8191,I6=c6>>>13,z0=E[4]|0,S0=z0&8191,x0=z0>>>13,_6=E[5]|0,P6=_6&8191,R6=_6>>>13,s8=E[6]|0,v6=s8&8191,j6=s8>>>13,h2=E[7]|0,b6=h2&8191,n6=h2>>>13,a1=E[8]|0,$0=a1&8191,R0=a1>>>13,v0=E[9]|0,s0=v0&8191,l0=v0>>>13,$8=w[0]|0,z6=$8&8191,g6=$8>>>13,f1=w[1]|0,e6=f1&8191,d6=f1>>>13,k1=w[2]|0,S8=k1&8191,N8=k1>>>13,m5=w[3]|0,W8=m5&8191,X8=m5>>>13,o7=w[4]|0,Q8=o7&8191,O8=o7>>>13,C9=w[5]|0,G8=C9&8191,E8=C9>>>13,d5=w[6]|0,M8=d5&8191,U8=d5>>>13,A9=w[7]|0,L8=A9&8191,q=A9>>>13,O9=w[8]|0,B8=O9&8191,D8=O9>>>13,G9=w[9]|0,z8=G9&8191,F8=G9>>>13;B.negative=R.negative^D.negative,B.length=19,x=Math.imul(U0,z6),M=Math.imul(U0,g6),M=M+Math.imul(M0,z6)|0,p=Math.imul(M0,g6);var D5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(D5>>>26)|0,D5&=67108863,x=Math.imul(X6,z6),M=Math.imul(X6,g6),M=M+Math.imul(O6,z6)|0,p=Math.imul(O6,g6),x=x+Math.imul(U0,e6)|0,M=M+Math.imul(U0,d6)|0,M=M+Math.imul(M0,e6)|0,p=p+Math.imul(M0,d6)|0;var p1=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(p1>>>26)|0,p1&=67108863,x=Math.imul(j0,z6),M=Math.imul(j0,g6),M=M+Math.imul(d0,z6)|0,p=Math.imul(d0,g6),x=x+Math.imul(X6,e6)|0,M=M+Math.imul(X6,d6)|0,M=M+Math.imul(O6,e6)|0,p=p+Math.imul(O6,d6)|0,x=x+Math.imul(U0,S8)|0,M=M+Math.imul(U0,N8)|0,M=M+Math.imul(M0,S8)|0,p=p+Math.imul(M0,N8)|0;var m1=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(m1>>>26)|0,m1&=67108863,x=Math.imul(K6,z6),M=Math.imul(K6,g6),M=M+Math.imul(I6,z6)|0,p=Math.imul(I6,g6),x=x+Math.imul(j0,e6)|0,M=M+Math.imul(j0,d6)|0,M=M+Math.imul(d0,e6)|0,p=p+Math.imul(d0,d6)|0,x=x+Math.imul(X6,S8)|0,M=M+Math.imul(X6,N8)|0,M=M+Math.imul(O6,S8)|0,p=p+Math.imul(O6,N8)|0,x=x+Math.imul(U0,W8)|0,M=M+Math.imul(U0,X8)|0,M=M+Math.imul(M0,W8)|0,p=p+Math.imul(M0,X8)|0;var f7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(f7>>>26)|0,f7&=67108863,x=Math.imul(S0,z6),M=Math.imul(S0,g6),M=M+Math.imul(x0,z6)|0,p=Math.imul(x0,g6),x=x+Math.imul(K6,e6)|0,M=M+Math.imul(K6,d6)|0,M=M+Math.imul(I6,e6)|0,p=p+Math.imul(I6,d6)|0,x=x+Math.imul(j0,S8)|0,M=M+Math.imul(j0,N8)|0,M=M+Math.imul(d0,S8)|0,p=p+Math.imul(d0,N8)|0,x=x+Math.imul(X6,W8)|0,M=M+Math.imul(X6,X8)|0,M=M+Math.imul(O6,W8)|0,p=p+Math.imul(O6,X8)|0,x=x+Math.imul(U0,Q8)|0,M=M+Math.imul(U0,O8)|0,M=M+Math.imul(M0,Q8)|0,p=p+Math.imul(M0,O8)|0;var X5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(X5>>>26)|0,X5&=67108863,x=Math.imul(P6,z6),M=Math.imul(P6,g6),M=M+Math.imul(R6,z6)|0,p=Math.imul(R6,g6),x=x+Math.imul(S0,e6)|0,M=M+Math.imul(S0,d6)|0,M=M+Math.imul(x0,e6)|0,p=p+Math.imul(x0,d6)|0,x=x+Math.imul(K6,S8)|0,M=M+Math.imul(K6,N8)|0,M=M+Math.imul(I6,S8)|0,p=p+Math.imul(I6,N8)|0,x=x+Math.imul(j0,W8)|0,M=M+Math.imul(j0,X8)|0,M=M+Math.imul(d0,W8)|0,p=p+Math.imul(d0,X8)|0,x=x+Math.imul(X6,Q8)|0,M=M+Math.imul(X6,O8)|0,M=M+Math.imul(O6,Q8)|0,p=p+Math.imul(O6,O8)|0,x=x+Math.imul(U0,G8)|0,M=M+Math.imul(U0,E8)|0,M=M+Math.imul(M0,G8)|0,p=p+Math.imul(M0,E8)|0;var Y5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(Y5>>>26)|0,Y5&=67108863,x=Math.imul(v6,z6),M=Math.imul(v6,g6),M=M+Math.imul(j6,z6)|0,p=Math.imul(j6,g6),x=x+Math.imul(P6,e6)|0,M=M+Math.imul(P6,d6)|0,M=M+Math.imul(R6,e6)|0,p=p+Math.imul(R6,d6)|0,x=x+Math.imul(S0,S8)|0,M=M+Math.imul(S0,N8)|0,M=M+Math.imul(x0,S8)|0,p=p+Math.imul(x0,N8)|0,x=x+Math.imul(K6,W8)|0,M=M+Math.imul(K6,X8)|0,M=M+Math.imul(I6,W8)|0,p=p+Math.imul(I6,X8)|0,x=x+Math.imul(j0,Q8)|0,M=M+Math.imul(j0,O8)|0,M=M+Math.imul(d0,Q8)|0,p=p+Math.imul(d0,O8)|0,x=x+Math.imul(X6,G8)|0,M=M+Math.imul(X6,E8)|0,M=M+Math.imul(O6,G8)|0,p=p+Math.imul(O6,E8)|0,x=x+Math.imul(U0,M8)|0,M=M+Math.imul(U0,U8)|0,M=M+Math.imul(M0,M8)|0,p=p+Math.imul(M0,U8)|0;var d7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(d7>>>26)|0,d7&=67108863,x=Math.imul(b6,z6),M=Math.imul(b6,g6),M=M+Math.imul(n6,z6)|0,p=Math.imul(n6,g6),x=x+Math.imul(v6,e6)|0,M=M+Math.imul(v6,d6)|0,M=M+Math.imul(j6,e6)|0,p=p+Math.imul(j6,d6)|0,x=x+Math.imul(P6,S8)|0,M=M+Math.imul(P6,N8)|0,M=M+Math.imul(R6,S8)|0,p=p+Math.imul(R6,N8)|0,x=x+Math.imul(S0,W8)|0,M=M+Math.imul(S0,X8)|0,M=M+Math.imul(x0,W8)|0,p=p+Math.imul(x0,X8)|0,x=x+Math.imul(K6,Q8)|0,M=M+Math.imul(K6,O8)|0,M=M+Math.imul(I6,Q8)|0,p=p+Math.imul(I6,O8)|0,x=x+Math.imul(j0,G8)|0,M=M+Math.imul(j0,E8)|0,M=M+Math.imul(d0,G8)|0,p=p+Math.imul(d0,E8)|0,x=x+Math.imul(X6,M8)|0,M=M+Math.imul(X6,U8)|0,M=M+Math.imul(O6,M8)|0,p=p+Math.imul(O6,U8)|0,x=x+Math.imul(U0,L8)|0,M=M+Math.imul(U0,q)|0,M=M+Math.imul(M0,L8)|0,p=p+Math.imul(M0,q)|0;var Q5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(Q5>>>26)|0,Q5&=67108863,x=Math.imul($0,z6),M=Math.imul($0,g6),M=M+Math.imul(R0,z6)|0,p=Math.imul(R0,g6),x=x+Math.imul(b6,e6)|0,M=M+Math.imul(b6,d6)|0,M=M+Math.imul(n6,e6)|0,p=p+Math.imul(n6,d6)|0,x=x+Math.imul(v6,S8)|0,M=M+Math.imul(v6,N8)|0,M=M+Math.imul(j6,S8)|0,p=p+Math.imul(j6,N8)|0,x=x+Math.imul(P6,W8)|0,M=M+Math.imul(P6,X8)|0,M=M+Math.imul(R6,W8)|0,p=p+Math.imul(R6,X8)|0,x=x+Math.imul(S0,Q8)|0,M=M+Math.imul(S0,O8)|0,M=M+Math.imul(x0,Q8)|0,p=p+Math.imul(x0,O8)|0,x=x+Math.imul(K6,G8)|0,M=M+Math.imul(K6,E8)|0,M=M+Math.imul(I6,G8)|0,p=p+Math.imul(I6,E8)|0,x=x+Math.imul(j0,M8)|0,M=M+Math.imul(j0,U8)|0,M=M+Math.imul(d0,M8)|0,p=p+Math.imul(d0,U8)|0,x=x+Math.imul(X6,L8)|0,M=M+Math.imul(X6,q)|0,M=M+Math.imul(O6,L8)|0,p=p+Math.imul(O6,q)|0,x=x+Math.imul(U0,B8)|0,M=M+Math.imul(U0,D8)|0,M=M+Math.imul(M0,B8)|0,p=p+Math.imul(M0,D8)|0;var W5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(W5>>>26)|0,W5&=67108863,x=Math.imul(s0,z6),M=Math.imul(s0,g6),M=M+Math.imul(l0,z6)|0,p=Math.imul(l0,g6),x=x+Math.imul($0,e6)|0,M=M+Math.imul($0,d6)|0,M=M+Math.imul(R0,e6)|0,p=p+Math.imul(R0,d6)|0,x=x+Math.imul(b6,S8)|0,M=M+Math.imul(b6,N8)|0,M=M+Math.imul(n6,S8)|0,p=p+Math.imul(n6,N8)|0,x=x+Math.imul(v6,W8)|0,M=M+Math.imul(v6,X8)|0,M=M+Math.imul(j6,W8)|0,p=p+Math.imul(j6,X8)|0,x=x+Math.imul(P6,Q8)|0,M=M+Math.imul(P6,O8)|0,M=M+Math.imul(R6,Q8)|0,p=p+Math.imul(R6,O8)|0,x=x+Math.imul(S0,G8)|0,M=M+Math.imul(S0,E8)|0,M=M+Math.imul(x0,G8)|0,p=p+Math.imul(x0,E8)|0,x=x+Math.imul(K6,M8)|0,M=M+Math.imul(K6,U8)|0,M=M+Math.imul(I6,M8)|0,p=p+Math.imul(I6,U8)|0,x=x+Math.imul(j0,L8)|0,M=M+Math.imul(j0,q)|0,M=M+Math.imul(d0,L8)|0,p=p+Math.imul(d0,q)|0,x=x+Math.imul(X6,B8)|0,M=M+Math.imul(X6,D8)|0,M=M+Math.imul(O6,B8)|0,p=p+Math.imul(O6,D8)|0,x=x+Math.imul(U0,z8)|0,M=M+Math.imul(U0,F8)|0,M=M+Math.imul(M0,z8)|0,p=p+Math.imul(M0,F8)|0;var N5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(N5>>>26)|0,N5&=67108863,x=Math.imul(s0,e6),M=Math.imul(s0,d6),M=M+Math.imul(l0,e6)|0,p=Math.imul(l0,d6),x=x+Math.imul($0,S8)|0,M=M+Math.imul($0,N8)|0,M=M+Math.imul(R0,S8)|0,p=p+Math.imul(R0,N8)|0,x=x+Math.imul(b6,W8)|0,M=M+Math.imul(b6,X8)|0,M=M+Math.imul(n6,W8)|0,p=p+Math.imul(n6,X8)|0,x=x+Math.imul(v6,Q8)|0,M=M+Math.imul(v6,O8)|0,M=M+Math.imul(j6,Q8)|0,p=p+Math.imul(j6,O8)|0,x=x+Math.imul(P6,G8)|0,M=M+Math.imul(P6,E8)|0,M=M+Math.imul(R6,G8)|0,p=p+Math.imul(R6,E8)|0,x=x+Math.imul(S0,M8)|0,M=M+Math.imul(S0,U8)|0,M=M+Math.imul(x0,M8)|0,p=p+Math.imul(x0,U8)|0,x=x+Math.imul(K6,L8)|0,M=M+Math.imul(K6,q)|0,M=M+Math.imul(I6,L8)|0,p=p+Math.imul(I6,q)|0,x=x+Math.imul(j0,B8)|0,M=M+Math.imul(j0,D8)|0,M=M+Math.imul(d0,B8)|0,p=p+Math.imul(d0,D8)|0,x=x+Math.imul(X6,z8)|0,M=M+Math.imul(X6,F8)|0,M=M+Math.imul(O6,z8)|0,p=p+Math.imul(O6,F8)|0;var U5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(U5>>>26)|0,U5&=67108863,x=Math.imul(s0,S8),M=Math.imul(s0,N8),M=M+Math.imul(l0,S8)|0,p=Math.imul(l0,N8),x=x+Math.imul($0,W8)|0,M=M+Math.imul($0,X8)|0,M=M+Math.imul(R0,W8)|0,p=p+Math.imul(R0,X8)|0,x=x+Math.imul(b6,Q8)|0,M=M+Math.imul(b6,O8)|0,M=M+Math.imul(n6,Q8)|0,p=p+Math.imul(n6,O8)|0,x=x+Math.imul(v6,G8)|0,M=M+Math.imul(v6,E8)|0,M=M+Math.imul(j6,G8)|0,p=p+Math.imul(j6,E8)|0,x=x+Math.imul(P6,M8)|0,M=M+Math.imul(P6,U8)|0,M=M+Math.imul(R6,M8)|0,p=p+Math.imul(R6,U8)|0,x=x+Math.imul(S0,L8)|0,M=M+Math.imul(S0,q)|0,M=M+Math.imul(x0,L8)|0,p=p+Math.imul(x0,q)|0,x=x+Math.imul(K6,B8)|0,M=M+Math.imul(K6,D8)|0,M=M+Math.imul(I6,B8)|0,p=p+Math.imul(I6,D8)|0,x=x+Math.imul(j0,z8)|0,M=M+Math.imul(j0,F8)|0,M=M+Math.imul(d0,z8)|0,p=p+Math.imul(d0,F8)|0;var J5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(J5>>>26)|0,J5&=67108863,x=Math.imul(s0,W8),M=Math.imul(s0,X8),M=M+Math.imul(l0,W8)|0,p=Math.imul(l0,X8),x=x+Math.imul($0,Q8)|0,M=M+Math.imul($0,O8)|0,M=M+Math.imul(R0,Q8)|0,p=p+Math.imul(R0,O8)|0,x=x+Math.imul(b6,G8)|0,M=M+Math.imul(b6,E8)|0,M=M+Math.imul(n6,G8)|0,p=p+Math.imul(n6,E8)|0,x=x+Math.imul(v6,M8)|0,M=M+Math.imul(v6,U8)|0,M=M+Math.imul(j6,M8)|0,p=p+Math.imul(j6,U8)|0,x=x+Math.imul(P6,L8)|0,M=M+Math.imul(P6,q)|0,M=M+Math.imul(R6,L8)|0,p=p+Math.imul(R6,q)|0,x=x+Math.imul(S0,B8)|0,M=M+Math.imul(S0,D8)|0,M=M+Math.imul(x0,B8)|0,p=p+Math.imul(x0,D8)|0,x=x+Math.imul(K6,z8)|0,M=M+Math.imul(K6,F8)|0,M=M+Math.imul(I6,z8)|0,p=p+Math.imul(I6,F8)|0;var S5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(S5>>>26)|0,S5&=67108863,x=Math.imul(s0,Q8),M=Math.imul(s0,O8),M=M+Math.imul(l0,Q8)|0,p=Math.imul(l0,O8),x=x+Math.imul($0,G8)|0,M=M+Math.imul($0,E8)|0,M=M+Math.imul(R0,G8)|0,p=p+Math.imul(R0,E8)|0,x=x+Math.imul(b6,M8)|0,M=M+Math.imul(b6,U8)|0,M=M+Math.imul(n6,M8)|0,p=p+Math.imul(n6,U8)|0,x=x+Math.imul(v6,L8)|0,M=M+Math.imul(v6,q)|0,M=M+Math.imul(j6,L8)|0,p=p+Math.imul(j6,q)|0,x=x+Math.imul(P6,B8)|0,M=M+Math.imul(P6,D8)|0,M=M+Math.imul(R6,B8)|0,p=p+Math.imul(R6,D8)|0,x=x+Math.imul(S0,z8)|0,M=M+Math.imul(S0,F8)|0,M=M+Math.imul(x0,z8)|0,p=p+Math.imul(x0,F8)|0;var R5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(R5>>>26)|0,R5&=67108863,x=Math.imul(s0,G8),M=Math.imul(s0,E8),M=M+Math.imul(l0,G8)|0,p=Math.imul(l0,E8),x=x+Math.imul($0,M8)|0,M=M+Math.imul($0,U8)|0,M=M+Math.imul(R0,M8)|0,p=p+Math.imul(R0,U8)|0,x=x+Math.imul(b6,L8)|0,M=M+Math.imul(b6,q)|0,M=M+Math.imul(n6,L8)|0,p=p+Math.imul(n6,q)|0,x=x+Math.imul(v6,B8)|0,M=M+Math.imul(v6,D8)|0,M=M+Math.imul(j6,B8)|0,p=p+Math.imul(j6,D8)|0,x=x+Math.imul(P6,z8)|0,M=M+Math.imul(P6,F8)|0,M=M+Math.imul(R6,z8)|0,p=p+Math.imul(R6,F8)|0;var b7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(b7>>>26)|0,b7&=67108863,x=Math.imul(s0,M8),M=Math.imul(s0,U8),M=M+Math.imul(l0,M8)|0,p=Math.imul(l0,U8),x=x+Math.imul($0,L8)|0,M=M+Math.imul($0,q)|0,M=M+Math.imul(R0,L8)|0,p=p+Math.imul(R0,q)|0,x=x+Math.imul(b6,B8)|0,M=M+Math.imul(b6,D8)|0,M=M+Math.imul(n6,B8)|0,p=p+Math.imul(n6,D8)|0,x=x+Math.imul(v6,z8)|0,M=M+Math.imul(v6,F8)|0,M=M+Math.imul(j6,z8)|0,p=p+Math.imul(j6,F8)|0;var _5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(_5>>>26)|0,_5&=67108863,x=Math.imul(s0,L8),M=Math.imul(s0,q),M=M+Math.imul(l0,L8)|0,p=Math.imul(l0,q),x=x+Math.imul($0,B8)|0,M=M+Math.imul($0,D8)|0,M=M+Math.imul(R0,B8)|0,p=p+Math.imul(R0,D8)|0,x=x+Math.imul(b6,z8)|0,M=M+Math.imul(b6,F8)|0,M=M+Math.imul(n6,z8)|0,p=p+Math.imul(n6,F8)|0;var e7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(e7>>>26)|0,e7&=67108863,x=Math.imul(s0,B8),M=Math.imul(s0,D8),M=M+Math.imul(l0,B8)|0,p=Math.imul(l0,D8),x=x+Math.imul($0,z8)|0,M=M+Math.imul($0,F8)|0,M=M+Math.imul(R0,z8)|0,p=p+Math.imul(R0,F8)|0;var K5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(K5>>>26)|0,K5&=67108863,x=Math.imul(s0,z8),M=Math.imul(s0,F8),M=M+Math.imul(l0,z8)|0,p=Math.imul(l0,F8);var n7=(h+x|0)+((M&8191)<<13)|0;return h=(p+(M>>>13)|0)+(n7>>>26)|0,n7&=67108863,o[0]=D5,o[1]=p1,o[2]=m1,o[3]=f7,o[4]=X5,o[5]=Y5,o[6]=d7,o[7]=Q5,o[8]=W5,o[9]=N5,o[10]=U5,o[11]=J5,o[12]=S5,o[13]=R5,o[14]=b7,o[15]=_5,o[16]=e7,o[17]=K5,o[18]=n7,h!==0&&(o[19]=h,B.length++),B};Math.imul||(N0=Q0);function G0(R,D,B){B.negative=D.negative^R.negative,B.length=R.length+D.length;for(var E=0,w=0,o=0;o>>26)|0,w+=h>>>26,h&=67108863}B.words[o]=x,E=h,h=w}return E!==0?B.words[o]=E:B.length--,B.strip()}function J0(R,D,B){var E=new P0;return E.mulp(R,D,B)}G.prototype.mulTo=function(R,D){var B,E=this.length+R.length;return this.length===10&&R.length===10?B=N0(this,R,D):E<63?B=Q0(this,R,D):E<1024?B=G0(this,R,D):B=J0(this,R,D),B};function P0(R,D){this.x=R,this.y=D}P0.prototype.makeRBT=function(R){for(var D=new Array(R),B=G.prototype._countBits(R)-1,E=0;E>=1;return E},P0.prototype.permute=function(R,D,B,E,w,o){for(var h=0;h>>1)w++;return 1<>>13,B[2*o+1]=w&8191,w=w>>>13;for(o=2*D;o>=26,D+=E/67108864|0,D+=w>>>26,this.words[B]=w&67108863}return D!==0&&(this.words[B]=D,this.length++),this},G.prototype.muln=function(R){return this.clone().imuln(R)},G.prototype.sqr=function(){return this.mul(this)},G.prototype.isqr=function(){return this.imul(this.clone())},G.prototype.pow=function(R){var D=c(R);if(D.length===0)return new G(1);for(var B=this,E=0;E=0);var D=R%26,B=(R-D)/26,E=67108863>>>26-D<<26-D,w;if(D!==0){var o=0;for(w=0;w>>26-D}o&&(this.words[w]=o,this.length++)}if(B!==0){for(w=this.length-1;w>=0;w--)this.words[w+B]=this.words[w];for(w=0;w=0);var E;D?E=(D-D%26)/26:E=0;var w=R%26,o=Math.min((R-w)/26,this.length),h=67108863^67108863>>>w<o)for(this.length-=o,M=0;M=0&&(p!==0||M>=E);M--){var K0=this.words[M]|0;this.words[M]=p<<26-w|K0>>>w,p=K0&h}return x&&p!==0&&(x.words[x.length++]=p),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},G.prototype.ishrn=function(R,D,B){return j(this.negative===0),this.iushrn(R,D,B)},G.prototype.shln=function(R){return this.clone().ishln(R)},G.prototype.ushln=function(R){return this.clone().iushln(R)},G.prototype.shrn=function(R){return this.clone().ishrn(R)},G.prototype.ushrn=function(R){return this.clone().iushrn(R)},G.prototype.testn=function(R){j(typeof R=="number"&&R>=0);var D=R%26,B=(R-D)/26,E=1<=0);var D=R%26,B=(R-D)/26;if(j(this.negative===0,"imaskn works only with positive numbers"),this.length<=B)return this;if(D!==0&&B++,this.length=Math.min(B,this.length),D!==0){var E=67108863^67108863>>>D<=67108864;D++)this.words[D]-=67108864,D===this.length-1?this.words[D+1]=1:this.words[D+1]++;return this.length=Math.max(this.length,D+1),this},G.prototype.isubn=function(R){if(j(typeof R=="number"),j(R<67108864),R<0)return this.iaddn(-R);if(this.negative!==0)return this.negative=0,this.iaddn(R),this.negative=1,this;if(this.words[0]-=R,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var D=0;D>26)-(x/67108864|0),this.words[w+B]=o&67108863}for(;w>26,this.words[w+B]=o&67108863;if(h===0)return this.strip();for(j(h===-1),h=0,w=0;w>26,this.words[w]=o&67108863;return this.negative=1,this.strip()},G.prototype._wordDiv=function(R,D){var B=this.length-R.length,E=this.clone(),w=R,o=w.words[w.length-1]|0,h=this._countBits(o);B=26-h,B!==0&&(w=w.ushln(B),E.iushln(B),o=w.words[w.length-1]|0);var x=E.length-w.length,M;if(D!=="mod"){M=new G(null),M.length=x+1,M.words=new Array(M.length);for(var p=0;p=0;U0--){var M0=(E.words[w.length+U0]|0)*67108864+(E.words[w.length+U0-1]|0);for(M0=Math.min(M0/o|0,67108863),E._ishlnsubmul(w,M0,U0);E.negative!==0;)M0--,E.negative=0,E._ishlnsubmul(w,1,U0),E.isZero()||(E.negative^=1);M&&(M.words[U0]=M0)}return M&&M.strip(),E.strip(),D!=="div"&&B!==0&&E.iushrn(B),{div:M||null,mod:E}},G.prototype.divmod=function(R,D,B){if(j(!R.isZero()),this.isZero())return{div:new G(0),mod:new G(0)};var E,w,o;return this.negative!==0&&R.negative===0?(o=this.neg().divmod(R,D),D!=="mod"&&(E=o.div.neg()),D!=="div"&&(w=o.mod.neg(),B&&w.negative!==0&&w.iadd(R)),{div:E,mod:w}):this.negative===0&&R.negative!==0?(o=this.divmod(R.neg(),D),D!=="mod"&&(E=o.div.neg()),{div:E,mod:o.mod}):(this.negative&R.negative)!==0?(o=this.neg().divmod(R.neg(),D),D!=="div"&&(w=o.mod.neg(),B&&w.negative!==0&&w.isub(R)),{div:o.div,mod:w}):R.length>this.length||this.cmp(R)<0?{div:new G(0),mod:this}:R.length===1?D==="div"?{div:this.divn(R.words[0]),mod:null}:D==="mod"?{div:null,mod:new G(this.modn(R.words[0]))}:{div:this.divn(R.words[0]),mod:new G(this.modn(R.words[0]))}:this._wordDiv(R,D)},G.prototype.div=function(R){return this.divmod(R,"div",!1).div},G.prototype.mod=function(R){return this.divmod(R,"mod",!1).mod},G.prototype.umod=function(R){return this.divmod(R,"mod",!0).mod},G.prototype.divRound=function(R){var D=this.divmod(R);if(D.mod.isZero())return D.div;var B=D.div.negative!==0?D.mod.isub(R):D.mod,E=R.ushrn(1),w=R.andln(1),o=B.cmp(E);return o<0||w===1&&o===0?D.div:D.div.negative!==0?D.div.isubn(1):D.div.iaddn(1)},G.prototype.modn=function(R){j(R<=67108863);for(var D=(1<<26)%R,B=0,E=this.length-1;E>=0;E--)B=(D*B+(this.words[E]|0))%R;return B},G.prototype.idivn=function(R){j(R<=67108863);for(var D=0,B=this.length-1;B>=0;B--){var E=(this.words[B]|0)+D*67108864;this.words[B]=E/R|0,D=E%R}return this.strip()},G.prototype.divn=function(R){return this.clone().idivn(R)},G.prototype.egcd=function(R){j(R.negative===0),j(!R.isZero());var D=this,B=R.clone();D.negative!==0?D=D.umod(R):D=D.clone();for(var E=new G(1),w=new G(0),o=new G(0),h=new G(1),x=0;D.isEven()&&B.isEven();)D.iushrn(1),B.iushrn(1),++x;for(var M=B.clone(),p=D.clone();!D.isZero();){for(var K0=0,U0=1;(D.words[0]&U0)===0&&K0<26;++K0,U0<<=1);if(K0>0)for(D.iushrn(K0);K0-- >0;)(E.isOdd()||w.isOdd())&&(E.iadd(M),w.isub(p)),E.iushrn(1),w.iushrn(1);for(var M0=0,f0=1;(B.words[0]&f0)===0&&M0<26;++M0,f0<<=1);if(M0>0)for(B.iushrn(M0);M0-- >0;)(o.isOdd()||h.isOdd())&&(o.iadd(M),h.isub(p)),o.iushrn(1),h.iushrn(1);D.cmp(B)>=0?(D.isub(B),E.isub(o),w.isub(h)):(B.isub(D),o.isub(E),h.isub(w))}return{a:o,b:h,gcd:B.iushln(x)}},G.prototype._invmp=function(R){j(R.negative===0),j(!R.isZero());var D=this,B=R.clone();D.negative!==0?D=D.umod(R):D=D.clone();for(var E=new G(1),w=new G(0),o=B.clone();D.cmpn(1)>0&&B.cmpn(1)>0;){for(var h=0,x=1;(D.words[0]&x)===0&&h<26;++h,x<<=1);if(h>0)for(D.iushrn(h);h-- >0;)E.isOdd()&&E.iadd(o),E.iushrn(1);for(var M=0,p=1;(B.words[0]&p)===0&&M<26;++M,p<<=1);if(M>0)for(B.iushrn(M);M-- >0;)w.isOdd()&&w.iadd(o),w.iushrn(1);D.cmp(B)>=0?(D.isub(B),E.isub(w)):(B.isub(D),w.isub(E))}var K0;return D.cmpn(1)===0?K0=E:K0=w,K0.cmpn(0)<0&&K0.iadd(R),K0},G.prototype.gcd=function(R){if(this.isZero())return R.abs();if(R.isZero())return this.abs();var D=this.clone(),B=R.clone();D.negative=0,B.negative=0;for(var E=0;D.isEven()&&B.isEven();E++)D.iushrn(1),B.iushrn(1);do{for(;D.isEven();)D.iushrn(1);for(;B.isEven();)B.iushrn(1);var w=D.cmp(B);if(w<0){var o=D;D=B,B=o}else if(w===0||B.cmpn(1)===0)break;D.isub(B)}while(!0);return B.iushln(E)},G.prototype.invm=function(R){return this.egcd(R).a.umod(R)},G.prototype.isEven=function(){return(this.words[0]&1)===0},G.prototype.isOdd=function(){return(this.words[0]&1)===1},G.prototype.andln=function(R){return this.words[0]&R},G.prototype.bincn=function(R){j(typeof R=="number");var D=R%26,B=(R-D)/26,E=1<>>26,h&=67108863,this.words[o]=h}return w!==0&&(this.words[o]=w,this.length++),this},G.prototype.isZero=function(){return this.length===1&&this.words[0]===0},G.prototype.cmpn=function(R){var D=R<0;if(this.negative!==0&&!D)return-1;if(this.negative===0&&D)return 1;this.strip();var B;if(this.length>1)B=1;else{D&&(R=-R),j(R<=67108863,"Number is too big");var E=this.words[0]|0;B=E===R?0:ER.length)return 1;if(this.length=0;B--){var E=this.words[B]|0,w=R.words[B]|0;if(E!==w){Ew&&(D=1);break}}return D},G.prototype.gtn=function(R){return this.cmpn(R)===1},G.prototype.gt=function(R){return this.cmp(R)===1},G.prototype.gten=function(R){return this.cmpn(R)>=0},G.prototype.gte=function(R){return this.cmp(R)>=0},G.prototype.ltn=function(R){return this.cmpn(R)===-1},G.prototype.lt=function(R){return this.cmp(R)===-1},G.prototype.lten=function(R){return this.cmpn(R)<=0},G.prototype.lte=function(R){return this.cmp(R)<=0},G.prototype.eqn=function(R){return this.cmpn(R)===0},G.prototype.eq=function(R){return this.cmp(R)===0},G.red=function(R){return new b0(R)},G.prototype.toRed=function(R){return j(!this.red,"Already a number in reduction context"),j(this.negative===0,"red works only with positives"),R.convertTo(this)._forceRed(R)},G.prototype.fromRed=function(){return j(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},G.prototype._forceRed=function(R){return this.red=R,this},G.prototype.forceRed=function(R){return j(!this.red,"Already a number in reduction context"),this._forceRed(R)},G.prototype.redAdd=function(R){return j(this.red,"redAdd works only with red numbers"),this.red.add(this,R)},G.prototype.redIAdd=function(R){return j(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,R)},G.prototype.redSub=function(R){return j(this.red,"redSub works only with red numbers"),this.red.sub(this,R)},G.prototype.redISub=function(R){return j(this.red,"redISub works only with red numbers"),this.red.isub(this,R)},G.prototype.redShl=function(R){return j(this.red,"redShl works only with red numbers"),this.red.shl(this,R)},G.prototype.redMul=function(R){return j(this.red,"redMul works only with red numbers"),this.red._verify2(this,R),this.red.mul(this,R)},G.prototype.redIMul=function(R){return j(this.red,"redMul works only with red numbers"),this.red._verify2(this,R),this.red.imul(this,R)},G.prototype.redSqr=function(){return j(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},G.prototype.redISqr=function(){return j(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},G.prototype.redSqrt=function(){return j(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},G.prototype.redInvm=function(){return j(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},G.prototype.redNeg=function(){return j(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},G.prototype.redPow=function(R){return j(this.red&&!R.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,R)};var L0={k256:null,p224:null,p192:null,p25519:null};function A0(R,D){this.name=R,this.p=new G(D,16),this.n=this.p.bitLength(),this.k=new G(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}A0.prototype._tmp=function(){var R=new G(null);return R.words=new Array(Math.ceil(this.n/13)),R},A0.prototype.ireduce=function(R){var D=R,B;do this.split(D,this.tmp),D=this.imulK(D),D=D.iadd(this.tmp),B=D.bitLength();while(B>this.n);var E=B0?D.isub(this.p):D.strip!==void 0?D.strip():D._strip(),D},A0.prototype.split=function(R,D){R.iushrn(this.n,0,D)},A0.prototype.imulK=function(R){return R.imul(this.k)};function w0(){A0.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}Z(w0,A0),w0.prototype.split=function(R,D){for(var B=4194303,E=Math.min(R.length,9),w=0;w>>22,o=h}o>>>=22,R.words[w-10]=o,o===0&&R.length>10?R.length-=10:R.length-=9},w0.prototype.imulK=function(R){R.words[R.length]=0,R.words[R.length+1]=0,R.length+=2;for(var D=0,B=0;B>>=26,R.words[B]=w,D=E}return D!==0&&(R.words[R.length++]=D),R},G._prime=function(R){if(L0[R])return L0[R];var D;if(R==="k256")D=new w0;else if(R==="p224")D=new a0;else if(R==="p192")D=new Y6;else if(R==="p25519")D=new D6;else throw new Error("Unknown prime "+R);return L0[R]=D,D};function b0(R){if(typeof R=="string"){var D=G._prime(R);this.m=D.p,this.prime=D}else j(R.gtn(1),"modulus must be greater than 1"),this.m=R,this.prime=null}b0.prototype._verify1=function(R){j(R.negative===0,"red works only with positives"),j(R.red,"red works only with red numbers")},b0.prototype._verify2=function(R,D){j((R.negative|D.negative)===0,"red works only with positives"),j(R.red&&R.red===D.red,"red works only with red numbers")},b0.prototype.imod=function(R){return this.prime?this.prime.ireduce(R)._forceRed(this):R.umod(this.m)._forceRed(this)},b0.prototype.neg=function(R){return R.isZero()?R.clone():this.m.sub(R)._forceRed(this)},b0.prototype.add=function(R,D){this._verify2(R,D);var B=R.add(D);return B.cmp(this.m)>=0&&B.isub(this.m),B._forceRed(this)},b0.prototype.iadd=function(R,D){this._verify2(R,D);var B=R.iadd(D);return B.cmp(this.m)>=0&&B.isub(this.m),B},b0.prototype.sub=function(R,D){this._verify2(R,D);var B=R.sub(D);return B.cmpn(0)<0&&B.iadd(this.m),B._forceRed(this)},b0.prototype.isub=function(R,D){this._verify2(R,D);var B=R.isub(D);return B.cmpn(0)<0&&B.iadd(this.m),B},b0.prototype.shl=function(R,D){return this._verify1(R),this.imod(R.ushln(D))},b0.prototype.imul=function(R,D){return this._verify2(R,D),this.imod(R.imul(D))},b0.prototype.mul=function(R,D){return this._verify2(R,D),this.imod(R.mul(D))},b0.prototype.isqr=function(R){return this.imul(R,R.clone())},b0.prototype.sqr=function(R){return this.mul(R,R)},b0.prototype.sqrt=function(R){if(R.isZero())return R.clone();var D=this.m.andln(3);if(j(D%2===1),D===3){var B=this.m.add(new G(1)).iushrn(2);return this.pow(R,B)}for(var E=this.m.subn(1),w=0;!E.isZero()&&E.andln(1)===0;)w++,E.iushrn(1);j(!E.isZero());var o=new G(1).toRed(this),h=o.redNeg(),x=this.m.subn(1).iushrn(1),M=this.m.bitLength();for(M=new G(2*M*M).toRed(this);this.pow(M,x).cmp(h)!==0;)M.redIAdd(h);for(var p=this.pow(M,E),K0=this.pow(R,E.addn(1).iushrn(1)),U0=this.pow(R,E),M0=w;U0.cmp(o)!==0;){for(var f0=U0,X6=0;f0.cmp(o)!==0;X6++)f0=f0.redSqr();j(X6=0;w--){for(var p=D.words[w],K0=M-1;K0>=0;K0--){var U0=p>>K0&1;if(o!==E[0]&&(o=this.sqr(o)),U0===0&&h===0){x=0;continue}h<<=1,h|=U0,x++,!(x!==B&&(w!==0||K0!==0))&&(o=this.mul(o,E[h]),x=0,h=0)}M=26}return o},b0.prototype.convertTo=function(R){var D=R.umod(this.m);return D===R?D.clone():D},b0.prototype.convertFrom=function(R){var D=R.clone();return D.red=null,D},G.mont=function(R){return new l6(R)};function l6(R){b0.call(this,R),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new G(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}Z(l6,b0),l6.prototype.convertTo=function(R){return this.imod(R.ushln(this.shift))},l6.prototype.convertFrom=function(R){var D=this.imod(R.mul(this.rinv));return D.red=null,D},l6.prototype.imul=function(R,D){if(R.isZero()||D.isZero())return R.words[0]=0,R.length=1,R;var B=R.imul(D),E=B.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),w=B.isub(E).iushrn(this.shift),o=w;return w.cmp(this.m)>=0?o=w.isub(this.m):w.cmpn(0)<0&&(o=w.iadd(this.m)),o._forceRed(this)},l6.prototype.mul=function(R,D){if(R.isZero()||D.isZero())return new G(0)._forceRed(this);var B=R.mul(D),E=B.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),w=B.isub(E).iushrn(this.shift),o=w;return w.cmp(this.m)>=0?o=w.isub(this.m):w.cmpn(0)<0&&(o=w.iadd(this.m)),o._forceRed(this)},l6.prototype.invm=function(R){var D=this.imod(R._invmp(this.m).mul(this.r2));return D._forceRed(this)}})(typeof l>"u"||l,v)}),n_=k6((v)=>{var l=v;function s(Z,G){if(Array.isArray(Z))return Z.slice();if(!Z)return[];var n=[];if(typeof Z!="string"){for(var f=0;f>8,r=b&255;e?n.push(e,r):n.push(r)}return n}l.toArray=s;function N(Z){return Z.length===1?"0"+Z:Z}l.zero2=N;function j(Z){for(var G="",n=0;n{var l=v,s=aV(),N=a4(),j=n_();l.assert=N,l.toArray=j.toArray,l.zero2=j.zero2,l.toHex=j.toHex,l.encode=j.encode;function Z(e,r,a){var V0=new Array(Math.max(e.bitLength(),a)+1);V0.fill(0);for(var c=1<(c>>1)-1?G0=(c>>1)-J0:G0=J0,Q0.isubn(G0)):G0=0,V0[N0]=G0,Q0.iushrn(1)}return V0}l.getNAF=Z;function G(e,r){var a=[[],[]];e=e.clone(),r=r.clone();for(var V0=0,c=0,Q0;e.cmpn(-V0)>0||r.cmpn(-c)>0;){var N0=e.andln(3)+V0&3,G0=r.andln(3)+c&3;N0===3&&(N0=-1),G0===3&&(G0=-1);var J0;(N0&1)===0?J0=0:(Q0=e.andln(7)+V0&7,(Q0===3||Q0===5)&&G0===2?J0=-N0:J0=N0),a[0].push(J0);var P0;(G0&1)===0?P0=0:(Q0=r.andln(7)+c&7,(Q0===3||Q0===5)&&N0===2?P0=-G0:P0=G0),a[1].push(P0),2*V0===J0+1&&(V0=1-V0),2*c===P0+1&&(c=1-c),e.iushrn(1),r.iushrn(1)}return a}l.getJSF=G;function n(e,r,a){var V0="_"+r;e.prototype[r]=function(){return this[V0]!==void 0?this[V0]:this[V0]=a.call(this)}}l.cachedProperty=n;function f(e){return typeof e=="string"?l.toArray(e,"hex"):e}l.parseBytes=f;function b(e){return new s(e,"hex","le")}l.intFromLE=b}),hQ=k6((v,l)=>{var s=aV(),N=c4(),j=N.getNAF,Z=N.getJSF,G=N.assert;function n(b,e){this.type=b,this.p=new s(e.p,16),this.red=e.prime?s.red(e.prime):s.mont(this.p),this.zero=new s(0).toRed(this.red),this.one=new s(1).toRed(this.red),this.two=new s(2).toRed(this.red),this.n=e.n&&new s(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}l.exports=n,n.prototype.point=function(){throw new Error("Not implemented")},n.prototype.validate=function(){throw new Error("Not implemented")},n.prototype._fixedNafMul=function(b,e){G(b.precomputed);var r=b._getDoubles(),a=j(e,1,this._bitLength),V0=(1<=Q0;G0--)N0=(N0<<1)+a[G0];c.push(N0)}for(var J0=this.jpoint(null,null,null),P0=this.jpoint(null,null,null),L0=V0;L0>0;L0--){for(Q0=0;Q0=0;N0--){for(var G0=0;N0>=0&&c[N0]===0;N0--)G0++;if(N0>=0&&G0++,Q0=Q0.dblp(G0),N0<0)break;var J0=c[N0];G(J0!==0),b.type==="affine"?J0>0?Q0=Q0.mixedAdd(V0[J0-1>>1]):Q0=Q0.mixedAdd(V0[-J0-1>>1].neg()):J0>0?Q0=Q0.add(V0[J0-1>>1]):Q0=Q0.add(V0[-J0-1>>1].neg())}return b.type==="affine"?Q0.toP():Q0},n.prototype._wnafMulAdd=function(b,e,r,a,V0){var c=this._wnafT1,Q0=this._wnafT2,N0=this._wnafT3,G0=0,J0,P0,L0;for(J0=0;J0=1;J0-=2){var w0=J0-1,a0=J0;if(c[w0]!==1||c[a0]!==1){N0[w0]=j(r[w0],c[w0],this._bitLength),N0[a0]=j(r[a0],c[a0],this._bitLength),G0=Math.max(N0[w0].length,G0),G0=Math.max(N0[a0].length,G0);continue}var Y6=[e[w0],null,null,e[a0]];e[w0].y.cmp(e[a0].y)===0?(Y6[1]=e[w0].add(e[a0]),Y6[2]=e[w0].toJ().mixedAdd(e[a0].neg())):e[w0].y.cmp(e[a0].y.redNeg())===0?(Y6[1]=e[w0].toJ().mixedAdd(e[a0]),Y6[2]=e[w0].add(e[a0].neg())):(Y6[1]=e[w0].toJ().mixedAdd(e[a0]),Y6[2]=e[w0].toJ().mixedAdd(e[a0].neg()));var D6=[-3,-1,-5,-7,0,7,5,1,3],b0=Z(r[w0],r[a0]);for(G0=Math.max(b0[0].length,G0),N0[w0]=new Array(G0),N0[a0]=new Array(G0),P0=0;P0=0;J0--){for(var E=0;J0>=0;){var w=!0;for(P0=0;P0=0&&E++,D=D.dblp(E),J0<0)break;for(P0=0;P00?L0=Q0[P0][o-1>>1]:o<0&&(L0=Q0[P0][-o-1>>1].neg()),L0.type==="affine"?D=D.mixedAdd(L0):D=D.add(L0))}}for(J0=0;J0=Math.ceil((b.bitLength()+1)/e.step):!1},f.prototype._getDoubles=function(b,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],a=this,V0=0;V0{var s=c4(),N=aV(),j=e1(),Z=hQ(),G=s.assert;function n(e){Z.call(this,"short",e),this.a=new N(e.a,16).toRed(this.red),this.b=new N(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}j(n,Z),l.exports=n,n.prototype._getEndomorphism=function(e){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var r,a;if(e.beta)r=new N(e.beta,16).toRed(this.red);else{var V0=this._getEndoRoots(this.p);r=V0[0].cmp(V0[1])<0?V0[0]:V0[1],r=r.toRed(this.red)}if(e.lambda)a=new N(e.lambda,16);else{var c=this._getEndoRoots(this.n);this.g.mul(c[0]).x.cmp(this.g.x.redMul(r))===0?a=c[0]:(a=c[1],G(this.g.mul(a).x.cmp(this.g.x.redMul(r))===0))}var Q0;return e.basis?Q0=e.basis.map(function(N0){return{a:new N(N0.a,16),b:new N(N0.b,16)}}):Q0=this._getEndoBasis(a),{beta:r,lambda:a,basis:Q0}}},n.prototype._getEndoRoots=function(e){var r=e===this.p?this.red:N.mont(e),a=new N(2).toRed(r).redInvm(),V0=a.redNeg(),c=new N(3).toRed(r).redNeg().redSqrt().redMul(a),Q0=V0.redAdd(c).fromRed(),N0=V0.redSub(c).fromRed();return[Q0,N0]},n.prototype._getEndoBasis=function(e){for(var r=this.n.ushrn(Math.floor(this.n.bitLength()/2)),a=e,V0=this.n.clone(),c=new N(1),Q0=new N(0),N0=new N(0),G0=new N(1),J0,P0,L0,A0,w0,a0,Y6,D6=0,b0,l6;a.cmpn(0)!==0;){var R=V0.div(a);b0=V0.sub(R.mul(a)),l6=N0.sub(R.mul(c));var D=G0.sub(R.mul(Q0));if(!L0&&b0.cmp(r)<0)J0=Y6.neg(),P0=c,L0=b0.neg(),A0=l6;else if(L0&&++D6===2)break;Y6=b0,V0=a,a=b0,N0=c,c=l6,G0=Q0,Q0=D}w0=b0.neg(),a0=l6;var B=L0.sqr().add(A0.sqr()),E=w0.sqr().add(a0.sqr());return E.cmp(B)>=0&&(w0=J0,a0=P0),L0.negative&&(L0=L0.neg(),A0=A0.neg()),w0.negative&&(w0=w0.neg(),a0=a0.neg()),[{a:L0,b:A0},{a:w0,b:a0}]},n.prototype._endoSplit=function(e){var r=this.endo.basis,a=r[0],V0=r[1],c=V0.b.mul(e).divRound(this.n),Q0=a.b.neg().mul(e).divRound(this.n),N0=c.mul(a.a),G0=Q0.mul(V0.a),J0=c.mul(a.b),P0=Q0.mul(V0.b),L0=e.sub(N0).sub(G0),A0=J0.add(P0).neg();return{k1:L0,k2:A0}},n.prototype.pointFromX=function(e,r){e=new N(e,16),e.red||(e=e.toRed(this.red));var a=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),V0=a.redSqrt();if(V0.redSqr().redSub(a).cmp(this.zero)!==0)throw new Error("invalid point");var c=V0.fromRed().isOdd();return(r&&!c||!r&&c)&&(V0=V0.redNeg()),this.point(e,V0)},n.prototype.validate=function(e){if(e.inf)return!0;var{x:r,y:a}=e,V0=this.a.redMul(r),c=r.redSqr().redMul(r).redIAdd(V0).redIAdd(this.b);return a.redSqr().redISub(c).cmpn(0)===0},n.prototype._endoWnafMulAdd=function(e,r,a){for(var V0=this._endoWnafT1,c=this._endoWnafT2,Q0=0;Q0":""},f.prototype.isInfinity=function(){return this.inf},f.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(this.x.cmp(e.x)===0)return this.curve.point(null,null);var r=this.y.redSub(e.y);r.cmpn(0)!==0&&(r=r.redMul(this.x.redSub(e.x).redInvm()));var a=r.redSqr().redISub(this.x).redISub(e.x),V0=r.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,V0)},f.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var r=this.curve.a,a=this.x.redSqr(),V0=e.redInvm(),c=a.redAdd(a).redIAdd(a).redIAdd(r).redMul(V0),Q0=c.redSqr().redISub(this.x.redAdd(this.x)),N0=c.redMul(this.x.redSub(Q0)).redISub(this.y);return this.curve.point(Q0,N0)},f.prototype.getX=function(){return this.x.fromRed()},f.prototype.getY=function(){return this.y.fromRed()},f.prototype.mul=function(e){return e=new N(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},f.prototype.mulAdd=function(e,r,a){var V0=[this,r],c=[e,a];return this.curve.endo?this.curve._endoWnafMulAdd(V0,c):this.curve._wnafMulAdd(1,V0,c,2)},f.prototype.jmulAdd=function(e,r,a){var V0=[this,r],c=[e,a];return this.curve.endo?this.curve._endoWnafMulAdd(V0,c,!0):this.curve._wnafMulAdd(1,V0,c,2,!0)},f.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)},f.prototype.neg=function(e){if(this.inf)return this;var r=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var a=this.precomputed,V0=function(c){return c.neg()};r.precomputed={naf:a.naf&&{wnd:a.naf.wnd,points:a.naf.points.map(V0)},doubles:a.doubles&&{step:a.doubles.step,points:a.doubles.points.map(V0)}}}return r},f.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e};function b(e,r,a,V0){Z.BasePoint.call(this,e,"jacobian"),r===null&&a===null&&V0===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new N(0)):(this.x=new N(r,16),this.y=new N(a,16),this.z=new N(V0,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}j(b,Z.BasePoint),n.prototype.jpoint=function(e,r,a){return new b(this,e,r,a)},b.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),r=e.redSqr(),a=this.x.redMul(r),V0=this.y.redMul(r).redMul(e);return this.curve.point(a,V0)},b.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},b.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var r=e.z.redSqr(),a=this.z.redSqr(),V0=this.x.redMul(r),c=e.x.redMul(a),Q0=this.y.redMul(r.redMul(e.z)),N0=e.y.redMul(a.redMul(this.z)),G0=V0.redSub(c),J0=Q0.redSub(N0);if(G0.cmpn(0)===0)return J0.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var P0=G0.redSqr(),L0=P0.redMul(G0),A0=V0.redMul(P0),w0=J0.redSqr().redIAdd(L0).redISub(A0).redISub(A0),a0=J0.redMul(A0.redISub(w0)).redISub(Q0.redMul(L0)),Y6=this.z.redMul(e.z).redMul(G0);return this.curve.jpoint(w0,a0,Y6)},b.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var r=this.z.redSqr(),a=this.x,V0=e.x.redMul(r),c=this.y,Q0=e.y.redMul(r).redMul(this.z),N0=a.redSub(V0),G0=c.redSub(Q0);if(N0.cmpn(0)===0)return G0.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var J0=N0.redSqr(),P0=J0.redMul(N0),L0=a.redMul(J0),A0=G0.redSqr().redIAdd(P0).redISub(L0).redISub(L0),w0=G0.redMul(L0.redISub(A0)).redISub(c.redMul(P0)),a0=this.z.redMul(N0);return this.curve.jpoint(A0,w0,a0)},b.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var r;if(this.curve.zeroA||this.curve.threeA){var a=this;for(r=0;r=0)return!1;if(a.redIAdd(c),this.x.cmp(a)===0)return!0}},b.prototype.inspect=function(){return this.isInfinity()?"":""},b.prototype.isInfinity=function(){return this.z.cmpn(0)===0}}),xB=k6((v,l)=>{var s=aV(),N=e1(),j=hQ(),Z=c4();function G(f){j.call(this,"mont",f),this.a=new s(f.a,16).toRed(this.red),this.b=new s(f.b,16).toRed(this.red),this.i4=new s(4).toRed(this.red).redInvm(),this.two=new s(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}N(G,j),l.exports=G,G.prototype.validate=function(f){var b=f.normalize().x,e=b.redSqr(),r=e.redMul(b).redAdd(e.redMul(this.a)).redAdd(b),a=r.redSqrt();return a.redSqr().cmp(r)===0};function n(f,b,e){j.BasePoint.call(this,f,"projective"),b===null&&e===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new s(b,16),this.z=new s(e,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}N(n,j.BasePoint),G.prototype.decodePoint=function(f,b){return this.point(Z.toArray(f,b),1)},G.prototype.point=function(f,b){return new n(this,f,b)},G.prototype.pointFromJSON=function(f){return n.fromJSON(this,f)},n.prototype.precompute=function(){},n.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},n.fromJSON=function(f,b){return new n(f,b[0],b[1]||f.one)},n.prototype.inspect=function(){return this.isInfinity()?"":""},n.prototype.isInfinity=function(){return this.z.cmpn(0)===0},n.prototype.dbl=function(){var f=this.x.redAdd(this.z),b=f.redSqr(),e=this.x.redSub(this.z),r=e.redSqr(),a=b.redSub(r),V0=b.redMul(r),c=a.redMul(r.redAdd(this.curve.a24.redMul(a)));return this.curve.point(V0,c)},n.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},n.prototype.diffAdd=function(f,b){var e=this.x.redAdd(this.z),r=this.x.redSub(this.z),a=f.x.redAdd(f.z),V0=f.x.redSub(f.z),c=V0.redMul(e),Q0=a.redMul(r),N0=b.z.redMul(c.redAdd(Q0).redSqr()),G0=b.x.redMul(c.redISub(Q0).redSqr());return this.curve.point(N0,G0)},n.prototype.mul=function(f){for(var b=f.clone(),e=this,r=this.curve.point(null,null),a=this,V0=[];b.cmpn(0)!==0;b.iushrn(1))V0.push(b.andln(1));for(var c=V0.length-1;c>=0;c--)V0[c]===0?(e=e.diffAdd(r,a),r=r.dbl()):(r=e.diffAdd(r,a),e=e.dbl());return r},n.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},n.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},n.prototype.eq=function(f){return this.getX().cmp(f.getX())===0},n.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},n.prototype.getX=function(){return this.normalize(),this.x.fromRed()}}),yB=k6((v,l)=>{var s=c4(),N=aV(),j=e1(),Z=hQ(),G=s.assert;function n(b){this.twisted=(b.a|0)!==1,this.mOneA=this.twisted&&(b.a|0)===-1,this.extended=this.mOneA,Z.call(this,"edwards",b),this.a=new N(b.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new N(b.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new N(b.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),G(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(b.c|0)===1}j(n,Z),l.exports=n,n.prototype._mulA=function(b){return this.mOneA?b.redNeg():this.a.redMul(b)},n.prototype._mulC=function(b){return this.oneC?b:this.c.redMul(b)},n.prototype.jpoint=function(b,e,r,a){return this.point(b,e,r,a)},n.prototype.pointFromX=function(b,e){b=new N(b,16),b.red||(b=b.toRed(this.red));var r=b.redSqr(),a=this.c2.redSub(this.a.redMul(r)),V0=this.one.redSub(this.c2.redMul(this.d).redMul(r)),c=a.redMul(V0.redInvm()),Q0=c.redSqrt();if(Q0.redSqr().redSub(c).cmp(this.zero)!==0)throw new Error("invalid point");var N0=Q0.fromRed().isOdd();return(e&&!N0||!e&&N0)&&(Q0=Q0.redNeg()),this.point(b,Q0)},n.prototype.pointFromY=function(b,e){b=new N(b,16),b.red||(b=b.toRed(this.red));var r=b.redSqr(),a=r.redSub(this.c2),V0=r.redMul(this.d).redMul(this.c2).redSub(this.a),c=a.redMul(V0.redInvm());if(c.cmp(this.zero)===0){if(e)throw new Error("invalid point");return this.point(this.zero,b)}var Q0=c.redSqrt();if(Q0.redSqr().redSub(c).cmp(this.zero)!==0)throw new Error("invalid point");return Q0.fromRed().isOdd()!==e&&(Q0=Q0.redNeg()),this.point(Q0,b)},n.prototype.validate=function(b){if(b.isInfinity())return!0;b.normalize();var e=b.x.redSqr(),r=b.y.redSqr(),a=e.redMul(this.a).redAdd(r),V0=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return a.cmp(V0)===0};function f(b,e,r,a,V0){Z.BasePoint.call(this,b,"projective"),e===null&&r===null&&a===null?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new N(e,16),this.y=new N(r,16),this.z=a?new N(a,16):this.curve.one,this.t=V0&&new N(V0,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}j(f,Z.BasePoint),n.prototype.pointFromJSON=function(b){return f.fromJSON(this,b)},n.prototype.point=function(b,e,r,a){return new f(this,b,e,r,a)},f.fromJSON=function(b,e){return new f(b,e[0],e[1],e[2])},f.prototype.inspect=function(){return this.isInfinity()?"":""},f.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},f.prototype._extDbl=function(){var b=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var a=this.curve._mulA(b),V0=this.x.redAdd(this.y).redSqr().redISub(b).redISub(e),c=a.redAdd(e),Q0=c.redSub(r),N0=a.redSub(e),G0=V0.redMul(Q0),J0=c.redMul(N0),P0=V0.redMul(N0),L0=Q0.redMul(c);return this.curve.point(G0,J0,L0,P0)},f.prototype._projDbl=function(){var b=this.x.redAdd(this.y).redSqr(),e=this.x.redSqr(),r=this.y.redSqr(),a,V0,c,Q0,N0,G0;if(this.curve.twisted){Q0=this.curve._mulA(e);var J0=Q0.redAdd(r);this.zOne?(a=b.redSub(e).redSub(r).redMul(J0.redSub(this.curve.two)),V0=J0.redMul(Q0.redSub(r)),c=J0.redSqr().redSub(J0).redSub(J0)):(N0=this.z.redSqr(),G0=J0.redSub(N0).redISub(N0),a=b.redSub(e).redISub(r).redMul(G0),V0=J0.redMul(Q0.redSub(r)),c=J0.redMul(G0))}else Q0=e.redAdd(r),N0=this.curve._mulC(this.z).redSqr(),G0=Q0.redSub(N0).redSub(N0),a=this.curve._mulC(b.redISub(Q0)).redMul(G0),V0=this.curve._mulC(Q0).redMul(e.redISub(r)),c=Q0.redMul(G0);return this.curve.point(a,V0,c)},f.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},f.prototype._extAdd=function(b){var e=this.y.redSub(this.x).redMul(b.y.redSub(b.x)),r=this.y.redAdd(this.x).redMul(b.y.redAdd(b.x)),a=this.t.redMul(this.curve.dd).redMul(b.t),V0=this.z.redMul(b.z.redAdd(b.z)),c=r.redSub(e),Q0=V0.redSub(a),N0=V0.redAdd(a),G0=r.redAdd(e),J0=c.redMul(Q0),P0=N0.redMul(G0),L0=c.redMul(G0),A0=Q0.redMul(N0);return this.curve.point(J0,P0,A0,L0)},f.prototype._projAdd=function(b){var e=this.z.redMul(b.z),r=e.redSqr(),a=this.x.redMul(b.x),V0=this.y.redMul(b.y),c=this.curve.d.redMul(a).redMul(V0),Q0=r.redSub(c),N0=r.redAdd(c),G0=this.x.redAdd(this.y).redMul(b.x.redAdd(b.y)).redISub(a).redISub(V0),J0=e.redMul(Q0).redMul(G0),P0,L0;return this.curve.twisted?(P0=e.redMul(N0).redMul(V0.redSub(this.curve._mulA(a))),L0=Q0.redMul(N0)):(P0=e.redMul(N0).redMul(V0.redSub(a)),L0=this.curve._mulC(Q0).redMul(N0)),this.curve.point(J0,P0,L0)},f.prototype.add=function(b){return this.isInfinity()?b:b.isInfinity()?this:this.curve.extended?this._extAdd(b):this._projAdd(b)},f.prototype.mul=function(b){return this._hasDoubles(b)?this.curve._fixedNafMul(this,b):this.curve._wnafMul(this,b)},f.prototype.mulAdd=function(b,e,r){return this.curve._wnafMulAdd(1,[this,e],[b,r],2,!1)},f.prototype.jmulAdd=function(b,e,r){return this.curve._wnafMulAdd(1,[this,e],[b,r],2,!0)},f.prototype.normalize=function(){if(this.zOne)return this;var b=this.z.redInvm();return this.x=this.x.redMul(b),this.y=this.y.redMul(b),this.t&&(this.t=this.t.redMul(b)),this.z=this.curve.one,this.zOne=!0,this},f.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},f.prototype.getX=function(){return this.normalize(),this.x.fromRed()},f.prototype.getY=function(){return this.normalize(),this.y.fromRed()},f.prototype.eq=function(b){return this===b||this.getX().cmp(b.getX())===0&&this.getY().cmp(b.getY())===0},f.prototype.eqXToP=function(b){var e=b.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(e)===0)return!0;for(var r=b.clone(),a=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(a),this.x.cmp(e)===0)return!0}},f.prototype.toP=f.prototype.normalize,f.prototype.mixedAdd=f.prototype.add}),r_=k6((v)=>{var l=v;l.base=hQ(),l.short=HB(),l.mont=xB(),l.edwards=yB()}),YV=k6((v)=>{var l=a4(),s=e1();v.inherits=s;function N(D,B){return(D.charCodeAt(B)&64512)!==55296||B<0||B+1>=D.length?!1:(D.charCodeAt(B+1)&64512)===56320}function j(D,B){if(Array.isArray(D))return D.slice();if(!D)return[];var E=[];if(typeof D=="string")if(B){if(B==="hex")for(D=D.replace(/[^a-z0-9]+/ig,""),D.length%2!==0&&(D="0"+D),o=0;o>6|192,E[w++]=h&63|128):N(D,o)?(h=65536+((h&1023)<<10)+(D.charCodeAt(++o)&1023),E[w++]=h>>18|240,E[w++]=h>>12&63|128,E[w++]=h>>6&63|128,E[w++]=h&63|128):(E[w++]=h>>12|224,E[w++]=h>>6&63|128,E[w++]=h&63|128)}else for(o=0;o>>24|D>>>8&65280|D<<8&16711680|(D&255)<<24;return B>>>0}v.htonl=G;function n(D,B){for(var E="",w=0;w>>0}return h}v.join32=e;function r(D,B){for(var E=new Array(D.length*4),w=0,o=0;w>>24,E[o+1]=h>>>16&255,E[o+2]=h>>>8&255,E[o+3]=h&255):(E[o+3]=h>>>24,E[o+2]=h>>>16&255,E[o+1]=h>>>8&255,E[o]=h&255)}return E}v.split32=r;function a(D,B){return D>>>B|D<<32-B}v.rotr32=a;function V0(D,B){return D<>>32-B}v.rotl32=V0;function c(D,B){return D+B>>>0}v.sum32=c;function Q0(D,B,E){return D+B+E>>>0}v.sum32_3=Q0;function N0(D,B,E,w){return D+B+E+w>>>0}v.sum32_4=N0;function G0(D,B,E,w,o){return D+B+E+w+o>>>0}v.sum32_5=G0;function J0(D,B,E,w){var o=D[B],h=D[B+1],x=w+h>>>0,M=(x>>0,D[B+1]=x}v.sum64=J0;function P0(D,B,E,w){var o=B+w>>>0,h=(o>>0}v.sum64_hi=P0;function L0(D,B,E,w){var o=B+w;return o>>>0}v.sum64_lo=L0;function A0(D,B,E,w,o,h,x,M){var p=0,K0=B;K0=K0+w>>>0,p+=K0>>0,p+=K0>>0,p+=K0>>0}v.sum64_4_hi=A0;function w0(D,B,E,w,o,h,x,M){var p=B+w+h+M;return p>>>0}v.sum64_4_lo=w0;function a0(D,B,E,w,o,h,x,M,p,K0){var U0=0,M0=B;M0=M0+w>>>0,U0+=M0>>0,U0+=M0>>0,U0+=M0>>0,U0+=M0>>0}v.sum64_5_hi=a0;function Y6(D,B,E,w,o,h,x,M,p,K0){var U0=B+w+h+M+K0;return U0>>>0}v.sum64_5_lo=Y6;function D6(D,B,E){var w=B<<32-E|D>>>E;return w>>>0}v.rotr64_hi=D6;function b0(D,B,E){var w=D<<32-E|B>>>E;return w>>>0}v.rotr64_lo=b0;function l6(D,B,E){return D>>>E}v.shr64_hi=l6;function R(D,B,E){var w=D<<32-E|B>>>E;return w>>>0}v.shr64_lo=R}),zY=k6((v)=>{var l=YV(),s=a4();function N(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}v.BlockHash=N,N.prototype.update=function(j,Z){if(j=l.toArray(j,Z),this.pending?this.pending=this.pending.concat(j):this.pending=j,this.pendingTotal+=j.length,this.pending.length>=this._delta8){j=this.pending;var G=j.length%this._delta8;this.pending=j.slice(j.length-G,j.length),this.pending.length===0&&(this.pending=null),j=l.join32(j,0,j.length-G,this.endian);for(var n=0;n>>24&255,n[f++]=j>>>16&255,n[f++]=j>>>8&255,n[f++]=j&255}else for(n[f++]=j&255,n[f++]=j>>>8&255,n[f++]=j>>>16&255,n[f++]=j>>>24&255,n[f++]=0,n[f++]=0,n[f++]=0,n[f++]=0,b=8;b{var l=YV(),s=l.rotr32;function N(r,a,V0,c){if(r===0)return j(a,V0,c);if(r===1||r===3)return G(a,V0,c);if(r===2)return Z(a,V0,c)}v.ft_1=N;function j(r,a,V0){return r&a^~r&V0}v.ch32=j;function Z(r,a,V0){return r&a^r&V0^a&V0}v.maj32=Z;function G(r,a,V0){return r^a^V0}v.p32=G;function n(r){return s(r,2)^s(r,13)^s(r,22)}v.s0_256=n;function f(r){return s(r,6)^s(r,11)^s(r,25)}v.s1_256=f;function b(r){return s(r,7)^s(r,18)^r>>>3}v.g0_256=b;function e(r){return s(r,17)^s(r,19)^r>>>10}v.g1_256=e}),wB=k6((v,l)=>{var s=YV(),N=zY(),j=h_(),Z=s.rotl32,G=s.sum32,n=s.sum32_5,f=j.ft_1,b=N.BlockHash,e=[1518500249,1859775393,2400959708,3395469782];function r(){if(!(this instanceof r))return new r;b.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}s.inherits(r,b),l.exports=r,r.blockSize=512,r.outSize=160,r.hmacStrength=80,r.padLength=64,r.prototype._update=function(a,V0){for(var c=this.W,Q0=0;Q0<16;Q0++)c[Q0]=a[V0+Q0];for(;Q0{var s=YV(),N=zY(),j=h_(),Z=a4(),G=s.sum32,n=s.sum32_4,f=s.sum32_5,b=j.ch32,e=j.maj32,r=j.s0_256,a=j.s1_256,V0=j.g0_256,c=j.g1_256,Q0=N.BlockHash,N0=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function G0(){if(!(this instanceof G0))return new G0;Q0.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=N0,this.W=new Array(64)}s.inherits(G0,Q0),l.exports=G0,G0.blockSize=512,G0.outSize=256,G0.hmacStrength=192,G0.padLength=64,G0.prototype._update=function(J0,P0){for(var L0=this.W,A0=0;A0<16;A0++)L0[A0]=J0[P0+A0];for(;A0{var s=YV(),N=g_();function j(){if(!(this instanceof j))return new j;N.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}s.inherits(j,N),l.exports=j,j.blockSize=512,j.outSize=224,j.hmacStrength=192,j.padLength=64,j.prototype._digest=function(Z){return Z==="hex"?s.toHex32(this.h.slice(0,7),"big"):s.split32(this.h.slice(0,7),"big")}}),i_=k6((v,l)=>{var s=YV(),N=zY(),j=a4(),Z=s.rotr64_hi,G=s.rotr64_lo,n=s.shr64_hi,f=s.shr64_lo,b=s.sum64,e=s.sum64_hi,r=s.sum64_lo,a=s.sum64_4_hi,V0=s.sum64_4_lo,c=s.sum64_5_hi,Q0=s.sum64_5_lo,N0=N.BlockHash,G0=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function J0(){if(!(this instanceof J0))return new J0;N0.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=G0,this.W=new Array(160)}s.inherits(J0,N0),l.exports=J0,J0.blockSize=1024,J0.outSize=512,J0.hmacStrength=192,J0.padLength=128,J0.prototype._prepareBlock=function(E,w){for(var o=this.W,h=0;h<32;h++)o[h]=E[w+h];for(;h{var s=YV(),N=i_();function j(){if(!(this instanceof j))return new j;N.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}s.inherits(j,N),l.exports=j,j.blockSize=1024,j.outSize=384,j.hmacStrength=192,j.padLength=128,j.prototype._digest=function(Z){return Z==="hex"?s.toHex32(this.h.slice(0,12),"big"):s.split32(this.h.slice(0,12),"big")}}),vB=k6((v)=>{v.sha1=wB(),v.sha224=IB(),v.sha256=g_(),v.sha384=qB(),v.sha512=i_()}),jB=k6((v)=>{var l=YV(),s=zY(),N=l.rotl32,j=l.sum32,Z=l.sum32_3,G=l.sum32_4,n=s.BlockHash;function f(){if(!(this instanceof f))return new f;n.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}l.inherits(f,n),v.ripemd160=f,f.blockSize=512,f.outSize=160,f.hmacStrength=192,f.padLength=64,f.prototype._update=function(N0,G0){for(var J0=this.h[0],P0=this.h[1],L0=this.h[2],A0=this.h[3],w0=this.h[4],a0=J0,Y6=P0,D6=L0,b0=A0,l6=w0,R=0;R<80;R++){var D=j(N(G(J0,b(R,P0,L0,A0),N0[a[R]+G0],e(R)),c[R]),w0);J0=w0,w0=A0,A0=N(L0,10),L0=P0,P0=D,D=j(N(G(a0,b(79-R,Y6,D6,b0),N0[V0[R]+G0],r(R)),Q0[R]),l6),a0=l6,l6=b0,b0=N(D6,10),D6=Y6,Y6=D}D=Z(this.h[1],L0,b0),this.h[1]=Z(this.h[2],A0,l6),this.h[2]=Z(this.h[3],w0,a0),this.h[3]=Z(this.h[4],J0,Y6),this.h[4]=Z(this.h[0],P0,D6),this.h[0]=D},f.prototype._digest=function(N0){return N0==="hex"?l.toHex32(this.h,"little"):l.split32(this.h,"little")};function b(N0,G0,J0,P0){return N0<=15?G0^J0^P0:N0<=31?G0&J0|~G0&P0:N0<=47?(G0|~J0)^P0:N0<=63?G0&P0|J0&~P0:G0^(J0|~P0)}function e(N0){return N0<=15?0:N0<=31?1518500249:N0<=47?1859775393:N0<=63?2400959708:2840853838}function r(N0){return N0<=15?1352829926:N0<=31?1548603684:N0<=47?1836072691:N0<=63?2053994217:0}var a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],V0=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],c=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],Q0=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]}),kB=k6((v,l)=>{var s=YV(),N=a4();function j(Z,G,n){if(!(this instanceof j))return new j(Z,G,n);this.Hash=Z,this.blockSize=Z.blockSize/8,this.outSize=Z.outSize/8,this.inner=null,this.outer=null,this._init(s.toArray(G,n))}l.exports=j,j.prototype._init=function(Z){Z.length>this.blockSize&&(Z=new this.Hash().update(Z).digest()),N(Z.length<=this.blockSize);for(var G=Z.length;G{var l=v;l.utils=YV(),l.common=zY(),l.sha=vB(),l.ripemd=jB(),l.hmac=kB(),l.sha1=l.sha.sha1,l.sha256=l.sha.sha256,l.sha224=l.sha.sha224,l.sha384=l.sha.sha384,l.sha512=l.sha.sha512,l.ripemd160=l.ripemd.ripemd160}),pB=k6((v,l)=>{l.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}}),EU=k6((v)=>{var l=v,s=FU(),N=r_(),j=c4(),Z=j.assert;function G(b){b.type==="short"?this.curve=new N.short(b):b.type==="edwards"?this.curve=new N.edwards(b):this.curve=new N.mont(b),this.g=this.curve.g,this.n=this.curve.n,this.hash=b.hash,Z(this.g.validate(),"Invalid curve"),Z(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}l.PresetCurve=G;function n(b,e){Object.defineProperty(l,b,{configurable:!0,enumerable:!0,get:function(){var r=new G(e);return Object.defineProperty(l,b,{configurable:!0,enumerable:!0,value:r}),r}})}n("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:s.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),n("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:s.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),n("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:s.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),n("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:s.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),n("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:s.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),n("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:s.sha256,gRed:!1,g:["9"]}),n("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:s.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var f;try{f=pB()}catch{f=void 0}n("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:s.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",f]})}),mB=k6((v,l)=>{var s=FU(),N=n_(),j=a4();function Z(G){if(!(this instanceof Z))return new Z(G);this.hash=G.hash,this.predResist=!!G.predResist,this.outLen=this.hash.outSize,this.minEntropy=G.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var n=N.toArray(G.entropy,G.entropyEnc||"hex"),f=N.toArray(G.nonce,G.nonceEnc||"hex"),b=N.toArray(G.pers,G.persEnc||"hex");j(n.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(n,f,b)}l.exports=Z,Z.prototype._init=function(G,n,f){var b=G.concat(n).concat(f);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var e=0;e=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(G.concat(f||[])),this._reseed=1},Z.prototype.generate=function(G,n,f,b){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof n!="string"&&(b=f,f=n,n=null),f&&(f=N.toArray(f,b||"hex"),this._update(f));for(var e=[];e.length{var s=aV(),N=c4(),j=N.assert;function Z(G,n){this.ec=G,this.priv=null,this.pub=null,n.priv&&this._importPrivate(n.priv,n.privEnc),n.pub&&this._importPublic(n.pub,n.pubEnc)}l.exports=Z,Z.fromPublic=function(G,n,f){return n instanceof Z?n:new Z(G,{pub:n,pubEnc:f})},Z.fromPrivate=function(G,n,f){return n instanceof Z?n:new Z(G,{priv:n,privEnc:f})},Z.prototype.validate=function(){var G=this.getPublic();return G.isInfinity()?{result:!1,reason:"Invalid public key"}:G.validate()?G.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},Z.prototype.getPublic=function(G,n){return typeof G=="string"&&(n=G,G=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),n?this.pub.encode(n,G):this.pub},Z.prototype.getPrivate=function(G){return G==="hex"?this.priv.toString(16,2):this.priv},Z.prototype._importPrivate=function(G,n){this.priv=new s(G,n||16),this.priv=this.priv.umod(this.ec.curve.n)},Z.prototype._importPublic=function(G,n){if(G.x||G.y){this.ec.curve.type==="mont"?j(G.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&j(G.x&&G.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(G.x,G.y);return}this.pub=this.ec.curve.decodePoint(G,n)},Z.prototype.derive=function(G){return G.validate()||j(G.validate(),"public point not validated"),G.mul(this.priv).getX()},Z.prototype.sign=function(G,n,f){return this.ec.sign(G,this,n,f)},Z.prototype.verify=function(G,n){return this.ec.verify(G,n,this)},Z.prototype.inspect=function(){return""}}),lB=k6((v,l)=>{var s=aV(),N=c4(),j=N.assert;function Z(e,r){if(e instanceof Z)return e;this._importDER(e,r)||(j(e.r&&e.s,"Signature without r or s"),this.r=new s(e.r,16),this.s=new s(e.s,16),e.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}l.exports=Z;function G(){this.place=0}function n(e,r){var a=e[r.place++];if(!(a&128))return a;var V0=a&15;if(V0===0||V0>4)return!1;for(var c=0,Q0=0,N0=r.place;Q0>>=0;return c<=127?!1:(r.place=N0,c)}function f(e){for(var r=0,a=e.length-1;!e[r]&&!(e[r+1]&128)&&r>>3);for(e.push(a|128);--a;)e.push(r>>>(a<<3)&255);e.push(r)}Z.prototype.toDER=function(e){var r=this.r.toArray(),a=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),a[0]&128&&(a=[0].concat(a)),r=f(r),a=f(a);!a[0]&&!(a[1]&128);)a=a.slice(1);var V0=[2];b(V0,r.length),V0=V0.concat(r),V0.push(2),b(V0,a.length);var c=V0.concat(a),Q0=[48];return b(Q0,c.length),Q0=Q0.concat(c),N.encode(Q0,e)}}),sB=k6((v,l)=>{var s=aV(),N=mB(),j=c4(),Z=EU(),G=MU(),n=j.assert,f=uB(),b=lB();function e(r){if(!(this instanceof e))return new e(r);typeof r=="string"&&(n(Object.prototype.hasOwnProperty.call(Z,r),"Unknown curve "+r),r=Z[r]),r instanceof Z.PresetCurve&&(r={curve:r}),this.curve=r.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=r.curve.g,this.g.precompute(r.curve.n.bitLength()+1),this.hash=r.hash||r.curve.hash}l.exports=e,e.prototype.keyPair=function(r){return new f(this,r)},e.prototype.keyFromPrivate=function(r,a){return f.fromPrivate(this,r,a)},e.prototype.keyFromPublic=function(r,a){return f.fromPublic(this,r,a)},e.prototype.genKeyPair=function(r){r||(r={});for(var a=new N({hash:this.hash,pers:r.pers,persEnc:r.persEnc||"utf8",entropy:r.entropy||G(this.hash.hmacStrength),entropyEnc:r.entropy&&r.entropyEnc||"utf8",nonce:this.n.toArray()}),V0=this.n.byteLength(),c=this.n.sub(new s(2));;){var Q0=new s(a.generate(V0));if(!(Q0.cmp(c)>0))return Q0.iaddn(1),this.keyFromPrivate(Q0)}},e.prototype._truncateToN=function(r,a){var V0=r.byteLength()*8-this.n.bitLength();return V0>0&&(r=r.ushrn(V0)),!a&&r.cmp(this.n)>=0?r.sub(this.n):r},e.prototype.sign=function(r,a,V0,c){typeof V0=="object"&&(c=V0,V0=null),c||(c={}),a=this.keyFromPrivate(a,V0),r=this._truncateToN(new s(r,16));for(var Q0=this.n.byteLength(),N0=a.getPrivate().toArray("be",Q0),G0=r.toArray("be",Q0),J0=new N({hash:this.hash,entropy:N0,nonce:G0,pers:c.pers,persEnc:c.persEnc||"utf8"}),P0=this.n.sub(new s(1)),L0=0;;L0++){var A0=c.k?c.k(L0):new s(J0.generate(this.n.byteLength()));if(A0=this._truncateToN(A0,!0),!(A0.cmpn(1)<=0||A0.cmp(P0)>=0)){var w0=this.g.mul(A0);if(!w0.isInfinity()){var a0=w0.getX(),Y6=a0.umod(this.n);if(Y6.cmpn(0)!==0){var D6=A0.invm(this.n).mul(Y6.mul(a.getPrivate()).iadd(r));if(D6=D6.umod(this.n),D6.cmpn(0)!==0){var b0=(w0.getY().isOdd()?1:0)|(a0.cmp(Y6)!==0?2:0);return c.canonical&&D6.cmp(this.nh)>0&&(D6=this.n.sub(D6),b0^=1),new b({r:Y6,s:D6,recoveryParam:b0})}}}}}},e.prototype.verify=function(r,a,V0,c){r=this._truncateToN(new s(r,16)),V0=this.keyFromPublic(V0,c),a=new b(a,"hex");var{r:Q0,s:N0}=a;if(Q0.cmpn(1)<0||Q0.cmp(this.n)>=0||N0.cmpn(1)<0||N0.cmp(this.n)>=0)return!1;var G0=N0.invm(this.n),J0=G0.mul(r).umod(this.n),P0=G0.mul(Q0).umod(this.n),L0;return this.curve._maxwellTrick?(L0=this.g.jmulAdd(J0,V0.getPublic(),P0),L0.isInfinity()?!1:L0.eqXToP(Q0)):(L0=this.g.mulAdd(J0,V0.getPublic(),P0),L0.isInfinity()?!1:L0.getX().umod(this.n).cmp(Q0)===0)},e.prototype.recoverPubKey=function(r,a,V0,c){n((3&V0)===V0,"The recovery param is more than two bits"),a=new b(a,c);var Q0=this.n,N0=new s(r),G0=a.r,J0=a.s,P0=V0&1,L0=V0>>1;if(G0.cmp(this.curve.p.umod(this.curve.n))>=0&&L0)throw new Error("Unable to find sencond key candinate");L0?G0=this.curve.pointFromX(G0.add(this.curve.n),P0):G0=this.curve.pointFromX(G0,P0);var A0=a.r.invm(Q0),w0=Q0.sub(N0).mul(A0).umod(Q0),a0=J0.mul(A0).umod(Q0);return this.g.mulAdd(w0,G0,a0)},e.prototype.getKeyRecoveryParam=function(r,a,V0,c){if(a=new b(a,c),a.recoveryParam!==null)return a.recoveryParam;for(var Q0=0;Q0<4;Q0++){var N0;try{N0=this.recoverPubKey(r,a,Q0)}catch{continue}if(N0.eq(V0))return Q0}throw new Error("Unable to find valid recovery factor")}}),oB=k6((v,l)=>{var s=c4(),N=s.assert,j=s.parseBytes,Z=s.cachedProperty;function G(n,f){this.eddsa=n,this._secret=j(f.secret),n.isPoint(f.pub)?this._pub=f.pub:this._pubBytes=j(f.pub)}G.fromPublic=function(n,f){return f instanceof G?f:new G(n,{pub:f})},G.fromSecret=function(n,f){return f instanceof G?f:new G(n,{secret:f})},G.prototype.secret=function(){return this._secret},Z(G,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),Z(G,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),Z(G,"privBytes",function(){var n=this.eddsa,f=this.hash(),b=n.encodingLength-1,e=f.slice(0,n.encodingLength);return e[0]&=248,e[b]&=127,e[b]|=64,e}),Z(G,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),Z(G,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),Z(G,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),G.prototype.sign=function(n){return N(this._secret,"KeyPair can only verify"),this.eddsa.sign(n,this)},G.prototype.verify=function(n,f){return this.eddsa.verify(n,f,this)},G.prototype.getSecret=function(n){return N(this._secret,"KeyPair is public only"),s.encode(this.secret(),n)},G.prototype.getPublic=function(n){return s.encode(this.pubBytes(),n)},l.exports=G}),nB=k6((v,l)=>{var s=aV(),N=c4(),j=N.assert,Z=N.cachedProperty,G=N.parseBytes;function n(f,b){this.eddsa=f,typeof b!="object"&&(b=G(b)),Array.isArray(b)&&(b={R:b.slice(0,f.encodingLength),S:b.slice(f.encodingLength)}),j(b.R&&b.S,"Signature without R or S"),f.isPoint(b.R)&&(this._R=b.R),b.S instanceof s&&(this._S=b.S),this._Rencoded=Array.isArray(b.R)?b.R:b.Rencoded,this._Sencoded=Array.isArray(b.S)?b.S:b.Sencoded}Z(n,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),Z(n,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),Z(n,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),Z(n,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),n.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},n.prototype.toHex=function(){return N.encode(this.toBytes(),"hex").toUpperCase()},l.exports=n}),rB=k6((v,l)=>{var s=FU(),N=EU(),j=c4(),Z=j.assert,G=j.parseBytes,n=oB(),f=nB();function b(e){if(Z(e==="ed25519","only tested with ed25519 so far"),!(this instanceof b))return new b(e);e=N[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=s.sha512}l.exports=b,b.prototype.sign=function(e,r){e=G(e);var a=this.keyFromSecret(r),V0=this.hashInt(a.messagePrefix(),e),c=this.g.mul(V0),Q0=this.encodePoint(c),N0=this.hashInt(Q0,a.pubBytes(),e).mul(a.priv()),G0=V0.add(N0).umod(this.curve.n);return this.makeSignature({R:c,S:G0,Rencoded:Q0})},b.prototype.verify=function(e,r,a){e=G(e),r=this.makeSignature(r);var V0=this.keyFromPublic(a),c=this.hashInt(r.Rencoded(),V0.pubBytes(),e),Q0=this.g.mul(r.S()),N0=r.R().add(V0.pub().mul(c));return N0.eq(Q0)},b.prototype.hashInt=function(){for(var e=this.hash(),r=0;r{var l=v;l.version=AB().version,l.utils=c4(),l.rand=MU(),l.curve=r_(),l.curves=EU(),l.ec=sB(),l.eddsa=rB()}),t_=k6((v,l)=>{(function(s,N){function j(R,D){if(!R)throw new Error(D||"Assertion failed")}function Z(R,D){R.super_=D;var B=function(){};B.prototype=D.prototype,R.prototype=new B,R.prototype.constructor=R}function G(R,D,B){if(G.isBN(R))return R;this.negative=0,this.words=null,this.length=0,this.red=null,R!==null&&((D==="le"||D==="be")&&(B=D,D=10),this._init(R||0,D||10,B||"be"))}typeof s=="object"?s.exports=G:N.BN=G,G.BN=G,G.wordSize=26;var n;try{typeof window<"u"&&typeof window.Buffer<"u"?n=window.Buffer:n=XX().Buffer}catch{}G.isBN=function(R){return R instanceof G?!0:R!==null&&typeof R=="object"&&R.constructor.wordSize===G.wordSize&&Array.isArray(R.words)},G.max=function(R,D){return R.cmp(D)>0?R:D},G.min=function(R,D){return R.cmp(D)<0?R:D},G.prototype._init=function(R,D,B){if(typeof R=="number")return this._initNumber(R,D,B);if(typeof R=="object")return this._initArray(R,D,B);D==="hex"&&(D=16),j(D===(D|0)&&D>=2&&D<=36),R=R.toString().replace(/\s+/g,"");var E=0;R[0]==="-"&&(E++,this.negative=1),E=0;E-=3)o=R[E]|R[E-1]<<8|R[E-2]<<16,this.words[w]|=o<>>26-h&67108863,h+=24,h>=26&&(h-=26,w++);else if(B==="le")for(E=0,w=0;E>>26-h&67108863,h+=24,h>=26&&(h-=26,w++);return this.strip()};function f(R,D){var B=R.charCodeAt(D);return B>=65&&B<=70?B-55:B>=97&&B<=102?B-87:B-48&15}function b(R,D,B){var E=f(R,B);return B-1>=D&&(E|=f(R,B-1)<<4),E}G.prototype._parseHex=function(R,D,B){this.length=Math.ceil((R.length-D)/6),this.words=new Array(this.length);for(var E=0;E=D;E-=2)h=b(R,D,E)<=18?(w-=18,o+=1,this.words[o]|=h>>>26):w+=8;else{var x=R.length-D;for(E=x%2===0?D+1:D;E=18?(w-=18,o+=1,this.words[o]|=h>>>26):w+=8}this.strip()};function e(R,D,B,E){for(var w=0,o=Math.min(R.length,B),h=D;h=49?w+=x-49+10:x>=17?w+=x-17+10:w+=x}return w}G.prototype._parseBase=function(R,D,B){this.words=[0],this.length=1;for(var E=0,w=1;w<=67108863;w*=D)E++;E--,w=w/D|0;for(var o=R.length-B,h=o%E,x=Math.min(o,o-h)+B,M=0,p=B;p1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},G.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},G.prototype.inspect=function(){return(this.red?""};var r=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],a=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],V0=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];G.prototype.toString=function(R,D){R=R||10,D=D|0||1;var B;if(R===16||R==="hex"){B="";for(var E=0,w=0,o=0;o>>24-E&16777215,w!==0||o!==this.length-1?B=r[6-x.length]+x+B:B=x+B,E+=2,E>=26&&(E-=26,o--)}for(w!==0&&(B=w.toString(16)+B);B.length%D!==0;)B="0"+B;return this.negative!==0&&(B="-"+B),B}if(R===(R|0)&&R>=2&&R<=36){var M=a[R],p=V0[R];B="";var K0=this.clone();for(K0.negative=0;!K0.isZero();){var U0=K0.modn(p).toString(R);K0=K0.idivn(p),K0.isZero()?B=U0+B:B=r[M-U0.length]+U0+B}for(this.isZero()&&(B="0"+B);B.length%D!==0;)B="0"+B;return this.negative!==0&&(B="-"+B),B}j(!1,"Base should be between 2 and 36")},G.prototype.toNumber=function(){var R=this.words[0];return this.length===2?R+=this.words[1]*67108864:this.length===3&&this.words[2]===1?R+=4503599627370496+this.words[1]*67108864:this.length>2&&j(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-R:R},G.prototype.toJSON=function(){return this.toString(16)},G.prototype.toBuffer=function(R,D){return j(typeof n<"u"),this.toArrayLike(n,R,D)},G.prototype.toArray=function(R,D){return this.toArrayLike(Array,R,D)},G.prototype.toArrayLike=function(R,D,B){var E=this.byteLength(),w=B||Math.max(1,E);j(E<=w,"byte array longer than desired length"),j(w>0,"Requested array length <= 0"),this.strip();var o=D==="le",h=new R(w),x,M,p=this.clone();if(o){for(M=0;!p.isZero();M++)x=p.andln(255),p.iushrn(8),h[M]=x;for(;M=4096&&(B+=13,D>>>=13),D>=64&&(B+=7,D>>>=7),D>=8&&(B+=4,D>>>=4),D>=2&&(B+=2,D>>>=2),B+D},G.prototype._zeroBits=function(R){if(R===0)return 26;var D=R,B=0;return(D&8191)===0&&(B+=13,D>>>=13),(D&127)===0&&(B+=7,D>>>=7),(D&15)===0&&(B+=4,D>>>=4),(D&3)===0&&(B+=2,D>>>=2),(D&1)===0&&B++,B},G.prototype.bitLength=function(){var R=this.words[this.length-1],D=this._countBits(R);return(this.length-1)*26+D};function c(R){for(var D=new Array(R.bitLength()),B=0;B>>w}return D}G.prototype.zeroBits=function(){if(this.isZero())return 0;for(var R=0,D=0;DR.length?this.clone().ior(R):R.clone().ior(this)},G.prototype.uor=function(R){return this.length>R.length?this.clone().iuor(R):R.clone().iuor(this)},G.prototype.iuand=function(R){var D;this.length>R.length?D=R:D=this;for(var B=0;BR.length?this.clone().iand(R):R.clone().iand(this)},G.prototype.uand=function(R){return this.length>R.length?this.clone().iuand(R):R.clone().iuand(this)},G.prototype.iuxor=function(R){var D,B;this.length>R.length?(D=this,B=R):(D=R,B=this);for(var E=0;ER.length?this.clone().ixor(R):R.clone().ixor(this)},G.prototype.uxor=function(R){return this.length>R.length?this.clone().iuxor(R):R.clone().iuxor(this)},G.prototype.inotn=function(R){j(typeof R=="number"&&R>=0);var D=Math.ceil(R/26)|0,B=R%26;this._expand(D),B>0&&D--;for(var E=0;E0&&(this.words[E]=~this.words[E]&67108863>>26-B),this.strip()},G.prototype.notn=function(R){return this.clone().inotn(R)},G.prototype.setn=function(R,D){j(typeof R=="number"&&R>=0);var B=R/26|0,E=R%26;return this._expand(B+1),D?this.words[B]=this.words[B]|1<R.length?(B=this,E=R):(B=R,E=this);for(var w=0,o=0;o>>26;for(;w!==0&&o>>26;if(this.length=B.length,w!==0)this.words[this.length]=w,this.length++;else if(B!==this)for(;oR.length?this.clone().iadd(R):R.clone().iadd(this)},G.prototype.isub=function(R){if(R.negative!==0){R.negative=0;var D=this.iadd(R);return R.negative=1,D._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(R),this.negative=1,this._normSign();var B=this.cmp(R);if(B===0)return this.negative=0,this.length=1,this.words[0]=0,this;var E,w;B>0?(E=this,w=R):(E=R,w=this);for(var o=0,h=0;h>26,this.words[h]=D&67108863;for(;o!==0&&h>26,this.words[h]=D&67108863;if(o===0&&h>>26,U0=M&67108863,M0=Math.min(p,D.length-1),f0=Math.max(0,p-R.length+1);f0<=M0;f0++){var X6=p-f0|0;w=R.words[X6]|0,o=D.words[f0]|0,h=w*o+U0,K0+=h/67108864|0,U0=h&67108863}B.words[p]=U0|0,M=K0|0}return M!==0?B.words[p]=M|0:B.length--,B.strip()}var N0=function(R,D,B){var E=R.words,w=D.words,o=B.words,h=0,x,M,p,K0=E[0]|0,U0=K0&8191,M0=K0>>>13,f0=E[1]|0,X6=f0&8191,O6=f0>>>13,r0=E[2]|0,j0=r0&8191,d0=r0>>>13,c6=E[3]|0,K6=c6&8191,I6=c6>>>13,z0=E[4]|0,S0=z0&8191,x0=z0>>>13,_6=E[5]|0,P6=_6&8191,R6=_6>>>13,s8=E[6]|0,v6=s8&8191,j6=s8>>>13,h2=E[7]|0,b6=h2&8191,n6=h2>>>13,a1=E[8]|0,$0=a1&8191,R0=a1>>>13,v0=E[9]|0,s0=v0&8191,l0=v0>>>13,$8=w[0]|0,z6=$8&8191,g6=$8>>>13,f1=w[1]|0,e6=f1&8191,d6=f1>>>13,k1=w[2]|0,S8=k1&8191,N8=k1>>>13,m5=w[3]|0,W8=m5&8191,X8=m5>>>13,o7=w[4]|0,Q8=o7&8191,O8=o7>>>13,C9=w[5]|0,G8=C9&8191,E8=C9>>>13,d5=w[6]|0,M8=d5&8191,U8=d5>>>13,A9=w[7]|0,L8=A9&8191,q=A9>>>13,O9=w[8]|0,B8=O9&8191,D8=O9>>>13,G9=w[9]|0,z8=G9&8191,F8=G9>>>13;B.negative=R.negative^D.negative,B.length=19,x=Math.imul(U0,z6),M=Math.imul(U0,g6),M=M+Math.imul(M0,z6)|0,p=Math.imul(M0,g6);var D5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(D5>>>26)|0,D5&=67108863,x=Math.imul(X6,z6),M=Math.imul(X6,g6),M=M+Math.imul(O6,z6)|0,p=Math.imul(O6,g6),x=x+Math.imul(U0,e6)|0,M=M+Math.imul(U0,d6)|0,M=M+Math.imul(M0,e6)|0,p=p+Math.imul(M0,d6)|0;var p1=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(p1>>>26)|0,p1&=67108863,x=Math.imul(j0,z6),M=Math.imul(j0,g6),M=M+Math.imul(d0,z6)|0,p=Math.imul(d0,g6),x=x+Math.imul(X6,e6)|0,M=M+Math.imul(X6,d6)|0,M=M+Math.imul(O6,e6)|0,p=p+Math.imul(O6,d6)|0,x=x+Math.imul(U0,S8)|0,M=M+Math.imul(U0,N8)|0,M=M+Math.imul(M0,S8)|0,p=p+Math.imul(M0,N8)|0;var m1=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(m1>>>26)|0,m1&=67108863,x=Math.imul(K6,z6),M=Math.imul(K6,g6),M=M+Math.imul(I6,z6)|0,p=Math.imul(I6,g6),x=x+Math.imul(j0,e6)|0,M=M+Math.imul(j0,d6)|0,M=M+Math.imul(d0,e6)|0,p=p+Math.imul(d0,d6)|0,x=x+Math.imul(X6,S8)|0,M=M+Math.imul(X6,N8)|0,M=M+Math.imul(O6,S8)|0,p=p+Math.imul(O6,N8)|0,x=x+Math.imul(U0,W8)|0,M=M+Math.imul(U0,X8)|0,M=M+Math.imul(M0,W8)|0,p=p+Math.imul(M0,X8)|0;var f7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(f7>>>26)|0,f7&=67108863,x=Math.imul(S0,z6),M=Math.imul(S0,g6),M=M+Math.imul(x0,z6)|0,p=Math.imul(x0,g6),x=x+Math.imul(K6,e6)|0,M=M+Math.imul(K6,d6)|0,M=M+Math.imul(I6,e6)|0,p=p+Math.imul(I6,d6)|0,x=x+Math.imul(j0,S8)|0,M=M+Math.imul(j0,N8)|0,M=M+Math.imul(d0,S8)|0,p=p+Math.imul(d0,N8)|0,x=x+Math.imul(X6,W8)|0,M=M+Math.imul(X6,X8)|0,M=M+Math.imul(O6,W8)|0,p=p+Math.imul(O6,X8)|0,x=x+Math.imul(U0,Q8)|0,M=M+Math.imul(U0,O8)|0,M=M+Math.imul(M0,Q8)|0,p=p+Math.imul(M0,O8)|0;var X5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(X5>>>26)|0,X5&=67108863,x=Math.imul(P6,z6),M=Math.imul(P6,g6),M=M+Math.imul(R6,z6)|0,p=Math.imul(R6,g6),x=x+Math.imul(S0,e6)|0,M=M+Math.imul(S0,d6)|0,M=M+Math.imul(x0,e6)|0,p=p+Math.imul(x0,d6)|0,x=x+Math.imul(K6,S8)|0,M=M+Math.imul(K6,N8)|0,M=M+Math.imul(I6,S8)|0,p=p+Math.imul(I6,N8)|0,x=x+Math.imul(j0,W8)|0,M=M+Math.imul(j0,X8)|0,M=M+Math.imul(d0,W8)|0,p=p+Math.imul(d0,X8)|0,x=x+Math.imul(X6,Q8)|0,M=M+Math.imul(X6,O8)|0,M=M+Math.imul(O6,Q8)|0,p=p+Math.imul(O6,O8)|0,x=x+Math.imul(U0,G8)|0,M=M+Math.imul(U0,E8)|0,M=M+Math.imul(M0,G8)|0,p=p+Math.imul(M0,E8)|0;var Y5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(Y5>>>26)|0,Y5&=67108863,x=Math.imul(v6,z6),M=Math.imul(v6,g6),M=M+Math.imul(j6,z6)|0,p=Math.imul(j6,g6),x=x+Math.imul(P6,e6)|0,M=M+Math.imul(P6,d6)|0,M=M+Math.imul(R6,e6)|0,p=p+Math.imul(R6,d6)|0,x=x+Math.imul(S0,S8)|0,M=M+Math.imul(S0,N8)|0,M=M+Math.imul(x0,S8)|0,p=p+Math.imul(x0,N8)|0,x=x+Math.imul(K6,W8)|0,M=M+Math.imul(K6,X8)|0,M=M+Math.imul(I6,W8)|0,p=p+Math.imul(I6,X8)|0,x=x+Math.imul(j0,Q8)|0,M=M+Math.imul(j0,O8)|0,M=M+Math.imul(d0,Q8)|0,p=p+Math.imul(d0,O8)|0,x=x+Math.imul(X6,G8)|0,M=M+Math.imul(X6,E8)|0,M=M+Math.imul(O6,G8)|0,p=p+Math.imul(O6,E8)|0,x=x+Math.imul(U0,M8)|0,M=M+Math.imul(U0,U8)|0,M=M+Math.imul(M0,M8)|0,p=p+Math.imul(M0,U8)|0;var d7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(d7>>>26)|0,d7&=67108863,x=Math.imul(b6,z6),M=Math.imul(b6,g6),M=M+Math.imul(n6,z6)|0,p=Math.imul(n6,g6),x=x+Math.imul(v6,e6)|0,M=M+Math.imul(v6,d6)|0,M=M+Math.imul(j6,e6)|0,p=p+Math.imul(j6,d6)|0,x=x+Math.imul(P6,S8)|0,M=M+Math.imul(P6,N8)|0,M=M+Math.imul(R6,S8)|0,p=p+Math.imul(R6,N8)|0,x=x+Math.imul(S0,W8)|0,M=M+Math.imul(S0,X8)|0,M=M+Math.imul(x0,W8)|0,p=p+Math.imul(x0,X8)|0,x=x+Math.imul(K6,Q8)|0,M=M+Math.imul(K6,O8)|0,M=M+Math.imul(I6,Q8)|0,p=p+Math.imul(I6,O8)|0,x=x+Math.imul(j0,G8)|0,M=M+Math.imul(j0,E8)|0,M=M+Math.imul(d0,G8)|0,p=p+Math.imul(d0,E8)|0,x=x+Math.imul(X6,M8)|0,M=M+Math.imul(X6,U8)|0,M=M+Math.imul(O6,M8)|0,p=p+Math.imul(O6,U8)|0,x=x+Math.imul(U0,L8)|0,M=M+Math.imul(U0,q)|0,M=M+Math.imul(M0,L8)|0,p=p+Math.imul(M0,q)|0;var Q5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(Q5>>>26)|0,Q5&=67108863,x=Math.imul($0,z6),M=Math.imul($0,g6),M=M+Math.imul(R0,z6)|0,p=Math.imul(R0,g6),x=x+Math.imul(b6,e6)|0,M=M+Math.imul(b6,d6)|0,M=M+Math.imul(n6,e6)|0,p=p+Math.imul(n6,d6)|0,x=x+Math.imul(v6,S8)|0,M=M+Math.imul(v6,N8)|0,M=M+Math.imul(j6,S8)|0,p=p+Math.imul(j6,N8)|0,x=x+Math.imul(P6,W8)|0,M=M+Math.imul(P6,X8)|0,M=M+Math.imul(R6,W8)|0,p=p+Math.imul(R6,X8)|0,x=x+Math.imul(S0,Q8)|0,M=M+Math.imul(S0,O8)|0,M=M+Math.imul(x0,Q8)|0,p=p+Math.imul(x0,O8)|0,x=x+Math.imul(K6,G8)|0,M=M+Math.imul(K6,E8)|0,M=M+Math.imul(I6,G8)|0,p=p+Math.imul(I6,E8)|0,x=x+Math.imul(j0,M8)|0,M=M+Math.imul(j0,U8)|0,M=M+Math.imul(d0,M8)|0,p=p+Math.imul(d0,U8)|0,x=x+Math.imul(X6,L8)|0,M=M+Math.imul(X6,q)|0,M=M+Math.imul(O6,L8)|0,p=p+Math.imul(O6,q)|0,x=x+Math.imul(U0,B8)|0,M=M+Math.imul(U0,D8)|0,M=M+Math.imul(M0,B8)|0,p=p+Math.imul(M0,D8)|0;var W5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(W5>>>26)|0,W5&=67108863,x=Math.imul(s0,z6),M=Math.imul(s0,g6),M=M+Math.imul(l0,z6)|0,p=Math.imul(l0,g6),x=x+Math.imul($0,e6)|0,M=M+Math.imul($0,d6)|0,M=M+Math.imul(R0,e6)|0,p=p+Math.imul(R0,d6)|0,x=x+Math.imul(b6,S8)|0,M=M+Math.imul(b6,N8)|0,M=M+Math.imul(n6,S8)|0,p=p+Math.imul(n6,N8)|0,x=x+Math.imul(v6,W8)|0,M=M+Math.imul(v6,X8)|0,M=M+Math.imul(j6,W8)|0,p=p+Math.imul(j6,X8)|0,x=x+Math.imul(P6,Q8)|0,M=M+Math.imul(P6,O8)|0,M=M+Math.imul(R6,Q8)|0,p=p+Math.imul(R6,O8)|0,x=x+Math.imul(S0,G8)|0,M=M+Math.imul(S0,E8)|0,M=M+Math.imul(x0,G8)|0,p=p+Math.imul(x0,E8)|0,x=x+Math.imul(K6,M8)|0,M=M+Math.imul(K6,U8)|0,M=M+Math.imul(I6,M8)|0,p=p+Math.imul(I6,U8)|0,x=x+Math.imul(j0,L8)|0,M=M+Math.imul(j0,q)|0,M=M+Math.imul(d0,L8)|0,p=p+Math.imul(d0,q)|0,x=x+Math.imul(X6,B8)|0,M=M+Math.imul(X6,D8)|0,M=M+Math.imul(O6,B8)|0,p=p+Math.imul(O6,D8)|0,x=x+Math.imul(U0,z8)|0,M=M+Math.imul(U0,F8)|0,M=M+Math.imul(M0,z8)|0,p=p+Math.imul(M0,F8)|0;var N5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(N5>>>26)|0,N5&=67108863,x=Math.imul(s0,e6),M=Math.imul(s0,d6),M=M+Math.imul(l0,e6)|0,p=Math.imul(l0,d6),x=x+Math.imul($0,S8)|0,M=M+Math.imul($0,N8)|0,M=M+Math.imul(R0,S8)|0,p=p+Math.imul(R0,N8)|0,x=x+Math.imul(b6,W8)|0,M=M+Math.imul(b6,X8)|0,M=M+Math.imul(n6,W8)|0,p=p+Math.imul(n6,X8)|0,x=x+Math.imul(v6,Q8)|0,M=M+Math.imul(v6,O8)|0,M=M+Math.imul(j6,Q8)|0,p=p+Math.imul(j6,O8)|0,x=x+Math.imul(P6,G8)|0,M=M+Math.imul(P6,E8)|0,M=M+Math.imul(R6,G8)|0,p=p+Math.imul(R6,E8)|0,x=x+Math.imul(S0,M8)|0,M=M+Math.imul(S0,U8)|0,M=M+Math.imul(x0,M8)|0,p=p+Math.imul(x0,U8)|0,x=x+Math.imul(K6,L8)|0,M=M+Math.imul(K6,q)|0,M=M+Math.imul(I6,L8)|0,p=p+Math.imul(I6,q)|0,x=x+Math.imul(j0,B8)|0,M=M+Math.imul(j0,D8)|0,M=M+Math.imul(d0,B8)|0,p=p+Math.imul(d0,D8)|0,x=x+Math.imul(X6,z8)|0,M=M+Math.imul(X6,F8)|0,M=M+Math.imul(O6,z8)|0,p=p+Math.imul(O6,F8)|0;var U5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(U5>>>26)|0,U5&=67108863,x=Math.imul(s0,S8),M=Math.imul(s0,N8),M=M+Math.imul(l0,S8)|0,p=Math.imul(l0,N8),x=x+Math.imul($0,W8)|0,M=M+Math.imul($0,X8)|0,M=M+Math.imul(R0,W8)|0,p=p+Math.imul(R0,X8)|0,x=x+Math.imul(b6,Q8)|0,M=M+Math.imul(b6,O8)|0,M=M+Math.imul(n6,Q8)|0,p=p+Math.imul(n6,O8)|0,x=x+Math.imul(v6,G8)|0,M=M+Math.imul(v6,E8)|0,M=M+Math.imul(j6,G8)|0,p=p+Math.imul(j6,E8)|0,x=x+Math.imul(P6,M8)|0,M=M+Math.imul(P6,U8)|0,M=M+Math.imul(R6,M8)|0,p=p+Math.imul(R6,U8)|0,x=x+Math.imul(S0,L8)|0,M=M+Math.imul(S0,q)|0,M=M+Math.imul(x0,L8)|0,p=p+Math.imul(x0,q)|0,x=x+Math.imul(K6,B8)|0,M=M+Math.imul(K6,D8)|0,M=M+Math.imul(I6,B8)|0,p=p+Math.imul(I6,D8)|0,x=x+Math.imul(j0,z8)|0,M=M+Math.imul(j0,F8)|0,M=M+Math.imul(d0,z8)|0,p=p+Math.imul(d0,F8)|0;var J5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(J5>>>26)|0,J5&=67108863,x=Math.imul(s0,W8),M=Math.imul(s0,X8),M=M+Math.imul(l0,W8)|0,p=Math.imul(l0,X8),x=x+Math.imul($0,Q8)|0,M=M+Math.imul($0,O8)|0,M=M+Math.imul(R0,Q8)|0,p=p+Math.imul(R0,O8)|0,x=x+Math.imul(b6,G8)|0,M=M+Math.imul(b6,E8)|0,M=M+Math.imul(n6,G8)|0,p=p+Math.imul(n6,E8)|0,x=x+Math.imul(v6,M8)|0,M=M+Math.imul(v6,U8)|0,M=M+Math.imul(j6,M8)|0,p=p+Math.imul(j6,U8)|0,x=x+Math.imul(P6,L8)|0,M=M+Math.imul(P6,q)|0,M=M+Math.imul(R6,L8)|0,p=p+Math.imul(R6,q)|0,x=x+Math.imul(S0,B8)|0,M=M+Math.imul(S0,D8)|0,M=M+Math.imul(x0,B8)|0,p=p+Math.imul(x0,D8)|0,x=x+Math.imul(K6,z8)|0,M=M+Math.imul(K6,F8)|0,M=M+Math.imul(I6,z8)|0,p=p+Math.imul(I6,F8)|0;var S5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(S5>>>26)|0,S5&=67108863,x=Math.imul(s0,Q8),M=Math.imul(s0,O8),M=M+Math.imul(l0,Q8)|0,p=Math.imul(l0,O8),x=x+Math.imul($0,G8)|0,M=M+Math.imul($0,E8)|0,M=M+Math.imul(R0,G8)|0,p=p+Math.imul(R0,E8)|0,x=x+Math.imul(b6,M8)|0,M=M+Math.imul(b6,U8)|0,M=M+Math.imul(n6,M8)|0,p=p+Math.imul(n6,U8)|0,x=x+Math.imul(v6,L8)|0,M=M+Math.imul(v6,q)|0,M=M+Math.imul(j6,L8)|0,p=p+Math.imul(j6,q)|0,x=x+Math.imul(P6,B8)|0,M=M+Math.imul(P6,D8)|0,M=M+Math.imul(R6,B8)|0,p=p+Math.imul(R6,D8)|0,x=x+Math.imul(S0,z8)|0,M=M+Math.imul(S0,F8)|0,M=M+Math.imul(x0,z8)|0,p=p+Math.imul(x0,F8)|0;var R5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(R5>>>26)|0,R5&=67108863,x=Math.imul(s0,G8),M=Math.imul(s0,E8),M=M+Math.imul(l0,G8)|0,p=Math.imul(l0,E8),x=x+Math.imul($0,M8)|0,M=M+Math.imul($0,U8)|0,M=M+Math.imul(R0,M8)|0,p=p+Math.imul(R0,U8)|0,x=x+Math.imul(b6,L8)|0,M=M+Math.imul(b6,q)|0,M=M+Math.imul(n6,L8)|0,p=p+Math.imul(n6,q)|0,x=x+Math.imul(v6,B8)|0,M=M+Math.imul(v6,D8)|0,M=M+Math.imul(j6,B8)|0,p=p+Math.imul(j6,D8)|0,x=x+Math.imul(P6,z8)|0,M=M+Math.imul(P6,F8)|0,M=M+Math.imul(R6,z8)|0,p=p+Math.imul(R6,F8)|0;var b7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(b7>>>26)|0,b7&=67108863,x=Math.imul(s0,M8),M=Math.imul(s0,U8),M=M+Math.imul(l0,M8)|0,p=Math.imul(l0,U8),x=x+Math.imul($0,L8)|0,M=M+Math.imul($0,q)|0,M=M+Math.imul(R0,L8)|0,p=p+Math.imul(R0,q)|0,x=x+Math.imul(b6,B8)|0,M=M+Math.imul(b6,D8)|0,M=M+Math.imul(n6,B8)|0,p=p+Math.imul(n6,D8)|0,x=x+Math.imul(v6,z8)|0,M=M+Math.imul(v6,F8)|0,M=M+Math.imul(j6,z8)|0,p=p+Math.imul(j6,F8)|0;var _5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(_5>>>26)|0,_5&=67108863,x=Math.imul(s0,L8),M=Math.imul(s0,q),M=M+Math.imul(l0,L8)|0,p=Math.imul(l0,q),x=x+Math.imul($0,B8)|0,M=M+Math.imul($0,D8)|0,M=M+Math.imul(R0,B8)|0,p=p+Math.imul(R0,D8)|0,x=x+Math.imul(b6,z8)|0,M=M+Math.imul(b6,F8)|0,M=M+Math.imul(n6,z8)|0,p=p+Math.imul(n6,F8)|0;var e7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(e7>>>26)|0,e7&=67108863,x=Math.imul(s0,B8),M=Math.imul(s0,D8),M=M+Math.imul(l0,B8)|0,p=Math.imul(l0,D8),x=x+Math.imul($0,z8)|0,M=M+Math.imul($0,F8)|0,M=M+Math.imul(R0,z8)|0,p=p+Math.imul(R0,F8)|0;var K5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(K5>>>26)|0,K5&=67108863,x=Math.imul(s0,z8),M=Math.imul(s0,F8),M=M+Math.imul(l0,z8)|0,p=Math.imul(l0,F8);var n7=(h+x|0)+((M&8191)<<13)|0;return h=(p+(M>>>13)|0)+(n7>>>26)|0,n7&=67108863,o[0]=D5,o[1]=p1,o[2]=m1,o[3]=f7,o[4]=X5,o[5]=Y5,o[6]=d7,o[7]=Q5,o[8]=W5,o[9]=N5,o[10]=U5,o[11]=J5,o[12]=S5,o[13]=R5,o[14]=b7,o[15]=_5,o[16]=e7,o[17]=K5,o[18]=n7,h!==0&&(o[19]=h,B.length++),B};Math.imul||(N0=Q0);function G0(R,D,B){B.negative=D.negative^R.negative,B.length=R.length+D.length;for(var E=0,w=0,o=0;o>>26)|0,w+=h>>>26,h&=67108863}B.words[o]=x,E=h,h=w}return E!==0?B.words[o]=E:B.length--,B.strip()}function J0(R,D,B){var E=new P0;return E.mulp(R,D,B)}G.prototype.mulTo=function(R,D){var B,E=this.length+R.length;return this.length===10&&R.length===10?B=N0(this,R,D):E<63?B=Q0(this,R,D):E<1024?B=G0(this,R,D):B=J0(this,R,D),B};function P0(R,D){this.x=R,this.y=D}P0.prototype.makeRBT=function(R){for(var D=new Array(R),B=G.prototype._countBits(R)-1,E=0;E>=1;return E},P0.prototype.permute=function(R,D,B,E,w,o){for(var h=0;h>>1)w++;return 1<>>13,B[2*o+1]=w&8191,w=w>>>13;for(o=2*D;o>=26,D+=E/67108864|0,D+=w>>>26,this.words[B]=w&67108863}return D!==0&&(this.words[B]=D,this.length++),this},G.prototype.muln=function(R){return this.clone().imuln(R)},G.prototype.sqr=function(){return this.mul(this)},G.prototype.isqr=function(){return this.imul(this.clone())},G.prototype.pow=function(R){var D=c(R);if(D.length===0)return new G(1);for(var B=this,E=0;E=0);var D=R%26,B=(R-D)/26,E=67108863>>>26-D<<26-D,w;if(D!==0){var o=0;for(w=0;w>>26-D}o&&(this.words[w]=o,this.length++)}if(B!==0){for(w=this.length-1;w>=0;w--)this.words[w+B]=this.words[w];for(w=0;w=0);var E;D?E=(D-D%26)/26:E=0;var w=R%26,o=Math.min((R-w)/26,this.length),h=67108863^67108863>>>w<o)for(this.length-=o,M=0;M=0&&(p!==0||M>=E);M--){var K0=this.words[M]|0;this.words[M]=p<<26-w|K0>>>w,p=K0&h}return x&&p!==0&&(x.words[x.length++]=p),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},G.prototype.ishrn=function(R,D,B){return j(this.negative===0),this.iushrn(R,D,B)},G.prototype.shln=function(R){return this.clone().ishln(R)},G.prototype.ushln=function(R){return this.clone().iushln(R)},G.prototype.shrn=function(R){return this.clone().ishrn(R)},G.prototype.ushrn=function(R){return this.clone().iushrn(R)},G.prototype.testn=function(R){j(typeof R=="number"&&R>=0);var D=R%26,B=(R-D)/26,E=1<=0);var D=R%26,B=(R-D)/26;if(j(this.negative===0,"imaskn works only with positive numbers"),this.length<=B)return this;if(D!==0&&B++,this.length=Math.min(B,this.length),D!==0){var E=67108863^67108863>>>D<=67108864;D++)this.words[D]-=67108864,D===this.length-1?this.words[D+1]=1:this.words[D+1]++;return this.length=Math.max(this.length,D+1),this},G.prototype.isubn=function(R){if(j(typeof R=="number"),j(R<67108864),R<0)return this.iaddn(-R);if(this.negative!==0)return this.negative=0,this.iaddn(R),this.negative=1,this;if(this.words[0]-=R,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var D=0;D>26)-(x/67108864|0),this.words[w+B]=o&67108863}for(;w>26,this.words[w+B]=o&67108863;if(h===0)return this.strip();for(j(h===-1),h=0,w=0;w>26,this.words[w]=o&67108863;return this.negative=1,this.strip()},G.prototype._wordDiv=function(R,D){var B=this.length-R.length,E=this.clone(),w=R,o=w.words[w.length-1]|0,h=this._countBits(o);B=26-h,B!==0&&(w=w.ushln(B),E.iushln(B),o=w.words[w.length-1]|0);var x=E.length-w.length,M;if(D!=="mod"){M=new G(null),M.length=x+1,M.words=new Array(M.length);for(var p=0;p=0;U0--){var M0=(E.words[w.length+U0]|0)*67108864+(E.words[w.length+U0-1]|0);for(M0=Math.min(M0/o|0,67108863),E._ishlnsubmul(w,M0,U0);E.negative!==0;)M0--,E.negative=0,E._ishlnsubmul(w,1,U0),E.isZero()||(E.negative^=1);M&&(M.words[U0]=M0)}return M&&M.strip(),E.strip(),D!=="div"&&B!==0&&E.iushrn(B),{div:M||null,mod:E}},G.prototype.divmod=function(R,D,B){if(j(!R.isZero()),this.isZero())return{div:new G(0),mod:new G(0)};var E,w,o;return this.negative!==0&&R.negative===0?(o=this.neg().divmod(R,D),D!=="mod"&&(E=o.div.neg()),D!=="div"&&(w=o.mod.neg(),B&&w.negative!==0&&w.iadd(R)),{div:E,mod:w}):this.negative===0&&R.negative!==0?(o=this.divmod(R.neg(),D),D!=="mod"&&(E=o.div.neg()),{div:E,mod:o.mod}):(this.negative&R.negative)!==0?(o=this.neg().divmod(R.neg(),D),D!=="div"&&(w=o.mod.neg(),B&&w.negative!==0&&w.isub(R)),{div:o.div,mod:w}):R.length>this.length||this.cmp(R)<0?{div:new G(0),mod:this}:R.length===1?D==="div"?{div:this.divn(R.words[0]),mod:null}:D==="mod"?{div:null,mod:new G(this.modn(R.words[0]))}:{div:this.divn(R.words[0]),mod:new G(this.modn(R.words[0]))}:this._wordDiv(R,D)},G.prototype.div=function(R){return this.divmod(R,"div",!1).div},G.prototype.mod=function(R){return this.divmod(R,"mod",!1).mod},G.prototype.umod=function(R){return this.divmod(R,"mod",!0).mod},G.prototype.divRound=function(R){var D=this.divmod(R);if(D.mod.isZero())return D.div;var B=D.div.negative!==0?D.mod.isub(R):D.mod,E=R.ushrn(1),w=R.andln(1),o=B.cmp(E);return o<0||w===1&&o===0?D.div:D.div.negative!==0?D.div.isubn(1):D.div.iaddn(1)},G.prototype.modn=function(R){j(R<=67108863);for(var D=(1<<26)%R,B=0,E=this.length-1;E>=0;E--)B=(D*B+(this.words[E]|0))%R;return B},G.prototype.idivn=function(R){j(R<=67108863);for(var D=0,B=this.length-1;B>=0;B--){var E=(this.words[B]|0)+D*67108864;this.words[B]=E/R|0,D=E%R}return this.strip()},G.prototype.divn=function(R){return this.clone().idivn(R)},G.prototype.egcd=function(R){j(R.negative===0),j(!R.isZero());var D=this,B=R.clone();D.negative!==0?D=D.umod(R):D=D.clone();for(var E=new G(1),w=new G(0),o=new G(0),h=new G(1),x=0;D.isEven()&&B.isEven();)D.iushrn(1),B.iushrn(1),++x;for(var M=B.clone(),p=D.clone();!D.isZero();){for(var K0=0,U0=1;(D.words[0]&U0)===0&&K0<26;++K0,U0<<=1);if(K0>0)for(D.iushrn(K0);K0-- >0;)(E.isOdd()||w.isOdd())&&(E.iadd(M),w.isub(p)),E.iushrn(1),w.iushrn(1);for(var M0=0,f0=1;(B.words[0]&f0)===0&&M0<26;++M0,f0<<=1);if(M0>0)for(B.iushrn(M0);M0-- >0;)(o.isOdd()||h.isOdd())&&(o.iadd(M),h.isub(p)),o.iushrn(1),h.iushrn(1);D.cmp(B)>=0?(D.isub(B),E.isub(o),w.isub(h)):(B.isub(D),o.isub(E),h.isub(w))}return{a:o,b:h,gcd:B.iushln(x)}},G.prototype._invmp=function(R){j(R.negative===0),j(!R.isZero());var D=this,B=R.clone();D.negative!==0?D=D.umod(R):D=D.clone();for(var E=new G(1),w=new G(0),o=B.clone();D.cmpn(1)>0&&B.cmpn(1)>0;){for(var h=0,x=1;(D.words[0]&x)===0&&h<26;++h,x<<=1);if(h>0)for(D.iushrn(h);h-- >0;)E.isOdd()&&E.iadd(o),E.iushrn(1);for(var M=0,p=1;(B.words[0]&p)===0&&M<26;++M,p<<=1);if(M>0)for(B.iushrn(M);M-- >0;)w.isOdd()&&w.iadd(o),w.iushrn(1);D.cmp(B)>=0?(D.isub(B),E.isub(w)):(B.isub(D),w.isub(E))}var K0;return D.cmpn(1)===0?K0=E:K0=w,K0.cmpn(0)<0&&K0.iadd(R),K0},G.prototype.gcd=function(R){if(this.isZero())return R.abs();if(R.isZero())return this.abs();var D=this.clone(),B=R.clone();D.negative=0,B.negative=0;for(var E=0;D.isEven()&&B.isEven();E++)D.iushrn(1),B.iushrn(1);do{for(;D.isEven();)D.iushrn(1);for(;B.isEven();)B.iushrn(1);var w=D.cmp(B);if(w<0){var o=D;D=B,B=o}else if(w===0||B.cmpn(1)===0)break;D.isub(B)}while(!0);return B.iushln(E)},G.prototype.invm=function(R){return this.egcd(R).a.umod(R)},G.prototype.isEven=function(){return(this.words[0]&1)===0},G.prototype.isOdd=function(){return(this.words[0]&1)===1},G.prototype.andln=function(R){return this.words[0]&R},G.prototype.bincn=function(R){j(typeof R=="number");var D=R%26,B=(R-D)/26,E=1<>>26,h&=67108863,this.words[o]=h}return w!==0&&(this.words[o]=w,this.length++),this},G.prototype.isZero=function(){return this.length===1&&this.words[0]===0},G.prototype.cmpn=function(R){var D=R<0;if(this.negative!==0&&!D)return-1;if(this.negative===0&&D)return 1;this.strip();var B;if(this.length>1)B=1;else{D&&(R=-R),j(R<=67108863,"Number is too big");var E=this.words[0]|0;B=E===R?0:ER.length)return 1;if(this.length=0;B--){var E=this.words[B]|0,w=R.words[B]|0;if(E!==w){Ew&&(D=1);break}}return D},G.prototype.gtn=function(R){return this.cmpn(R)===1},G.prototype.gt=function(R){return this.cmp(R)===1},G.prototype.gten=function(R){return this.cmpn(R)>=0},G.prototype.gte=function(R){return this.cmp(R)>=0},G.prototype.ltn=function(R){return this.cmpn(R)===-1},G.prototype.lt=function(R){return this.cmp(R)===-1},G.prototype.lten=function(R){return this.cmpn(R)<=0},G.prototype.lte=function(R){return this.cmp(R)<=0},G.prototype.eqn=function(R){return this.cmpn(R)===0},G.prototype.eq=function(R){return this.cmp(R)===0},G.red=function(R){return new b0(R)},G.prototype.toRed=function(R){return j(!this.red,"Already a number in reduction context"),j(this.negative===0,"red works only with positives"),R.convertTo(this)._forceRed(R)},G.prototype.fromRed=function(){return j(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},G.prototype._forceRed=function(R){return this.red=R,this},G.prototype.forceRed=function(R){return j(!this.red,"Already a number in reduction context"),this._forceRed(R)},G.prototype.redAdd=function(R){return j(this.red,"redAdd works only with red numbers"),this.red.add(this,R)},G.prototype.redIAdd=function(R){return j(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,R)},G.prototype.redSub=function(R){return j(this.red,"redSub works only with red numbers"),this.red.sub(this,R)},G.prototype.redISub=function(R){return j(this.red,"redISub works only with red numbers"),this.red.isub(this,R)},G.prototype.redShl=function(R){return j(this.red,"redShl works only with red numbers"),this.red.shl(this,R)},G.prototype.redMul=function(R){return j(this.red,"redMul works only with red numbers"),this.red._verify2(this,R),this.red.mul(this,R)},G.prototype.redIMul=function(R){return j(this.red,"redMul works only with red numbers"),this.red._verify2(this,R),this.red.imul(this,R)},G.prototype.redSqr=function(){return j(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},G.prototype.redISqr=function(){return j(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},G.prototype.redSqrt=function(){return j(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},G.prototype.redInvm=function(){return j(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},G.prototype.redNeg=function(){return j(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},G.prototype.redPow=function(R){return j(this.red&&!R.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,R)};var L0={k256:null,p224:null,p192:null,p25519:null};function A0(R,D){this.name=R,this.p=new G(D,16),this.n=this.p.bitLength(),this.k=new G(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}A0.prototype._tmp=function(){var R=new G(null);return R.words=new Array(Math.ceil(this.n/13)),R},A0.prototype.ireduce=function(R){var D=R,B;do this.split(D,this.tmp),D=this.imulK(D),D=D.iadd(this.tmp),B=D.bitLength();while(B>this.n);var E=B0?D.isub(this.p):D.strip!==void 0?D.strip():D._strip(),D},A0.prototype.split=function(R,D){R.iushrn(this.n,0,D)},A0.prototype.imulK=function(R){return R.imul(this.k)};function w0(){A0.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}Z(w0,A0),w0.prototype.split=function(R,D){for(var B=4194303,E=Math.min(R.length,9),w=0;w>>22,o=h}o>>>=22,R.words[w-10]=o,o===0&&R.length>10?R.length-=10:R.length-=9},w0.prototype.imulK=function(R){R.words[R.length]=0,R.words[R.length+1]=0,R.length+=2;for(var D=0,B=0;B>>=26,R.words[B]=w,D=E}return D!==0&&(R.words[R.length++]=D),R},G._prime=function(R){if(L0[R])return L0[R];var D;if(R==="k256")D=new w0;else if(R==="p224")D=new a0;else if(R==="p192")D=new Y6;else if(R==="p25519")D=new D6;else throw new Error("Unknown prime "+R);return L0[R]=D,D};function b0(R){if(typeof R=="string"){var D=G._prime(R);this.m=D.p,this.prime=D}else j(R.gtn(1),"modulus must be greater than 1"),this.m=R,this.prime=null}b0.prototype._verify1=function(R){j(R.negative===0,"red works only with positives"),j(R.red,"red works only with red numbers")},b0.prototype._verify2=function(R,D){j((R.negative|D.negative)===0,"red works only with positives"),j(R.red&&R.red===D.red,"red works only with red numbers")},b0.prototype.imod=function(R){return this.prime?this.prime.ireduce(R)._forceRed(this):R.umod(this.m)._forceRed(this)},b0.prototype.neg=function(R){return R.isZero()?R.clone():this.m.sub(R)._forceRed(this)},b0.prototype.add=function(R,D){this._verify2(R,D);var B=R.add(D);return B.cmp(this.m)>=0&&B.isub(this.m),B._forceRed(this)},b0.prototype.iadd=function(R,D){this._verify2(R,D);var B=R.iadd(D);return B.cmp(this.m)>=0&&B.isub(this.m),B},b0.prototype.sub=function(R,D){this._verify2(R,D);var B=R.sub(D);return B.cmpn(0)<0&&B.iadd(this.m),B._forceRed(this)},b0.prototype.isub=function(R,D){this._verify2(R,D);var B=R.isub(D);return B.cmpn(0)<0&&B.iadd(this.m),B},b0.prototype.shl=function(R,D){return this._verify1(R),this.imod(R.ushln(D))},b0.prototype.imul=function(R,D){return this._verify2(R,D),this.imod(R.imul(D))},b0.prototype.mul=function(R,D){return this._verify2(R,D),this.imod(R.mul(D))},b0.prototype.isqr=function(R){return this.imul(R,R.clone())},b0.prototype.sqr=function(R){return this.mul(R,R)},b0.prototype.sqrt=function(R){if(R.isZero())return R.clone();var D=this.m.andln(3);if(j(D%2===1),D===3){var B=this.m.add(new G(1)).iushrn(2);return this.pow(R,B)}for(var E=this.m.subn(1),w=0;!E.isZero()&&E.andln(1)===0;)w++,E.iushrn(1);j(!E.isZero());var o=new G(1).toRed(this),h=o.redNeg(),x=this.m.subn(1).iushrn(1),M=this.m.bitLength();for(M=new G(2*M*M).toRed(this);this.pow(M,x).cmp(h)!==0;)M.redIAdd(h);for(var p=this.pow(M,E),K0=this.pow(R,E.addn(1).iushrn(1)),U0=this.pow(R,E),M0=w;U0.cmp(o)!==0;){for(var f0=U0,X6=0;f0.cmp(o)!==0;X6++)f0=f0.redSqr();j(X6=0;w--){for(var p=D.words[w],K0=M-1;K0>=0;K0--){var U0=p>>K0&1;if(o!==E[0]&&(o=this.sqr(o)),U0===0&&h===0){x=0;continue}h<<=1,h|=U0,x++,!(x!==B&&(w!==0||K0!==0))&&(o=this.mul(o,E[h]),x=0,h=0)}M=26}return o},b0.prototype.convertTo=function(R){var D=R.umod(this.m);return D===R?D.clone():D},b0.prototype.convertFrom=function(R){var D=R.clone();return D.red=null,D},G.mont=function(R){return new l6(R)};function l6(R){b0.call(this,R),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new G(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}Z(l6,b0),l6.prototype.convertTo=function(R){return this.imod(R.ushln(this.shift))},l6.prototype.convertFrom=function(R){var D=this.imod(R.mul(this.rinv));return D.red=null,D},l6.prototype.imul=function(R,D){if(R.isZero()||D.isZero())return R.words[0]=0,R.length=1,R;var B=R.imul(D),E=B.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),w=B.isub(E).iushrn(this.shift),o=w;return w.cmp(this.m)>=0?o=w.isub(this.m):w.cmpn(0)<0&&(o=w.iadd(this.m)),o._forceRed(this)},l6.prototype.mul=function(R,D){if(R.isZero()||D.isZero())return new G(0)._forceRed(this);var B=R.mul(D),E=B.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),w=B.isub(E).iushrn(this.shift),o=w;return w.cmp(this.m)>=0?o=w.isub(this.m):w.cmpn(0)<0&&(o=w.iadd(this.m)),o._forceRed(this)},l6.prototype.invm=function(R){var D=this.imod(R._invmp(this.m).mul(this.r2));return D._forceRed(this)}})(typeof l>"u"||l,v)}),CU=k6((v,l)=>{var s=H3(),N=s.Buffer,j={},Z;for(Z in s)!s.hasOwnProperty(Z)||Z==="SlowBuffer"||Z==="Buffer"||(j[Z]=s[Z]);var G=j.Buffer={};for(Z in N)!N.hasOwnProperty(Z)||Z==="allocUnsafe"||Z==="allocUnsafeSlow"||(G[Z]=N[Z]);if(j.Buffer.prototype=N.prototype,(!G.from||G.from===Uint8Array.from)&&(G.from=function(n,f,b){if(typeof n=="number")throw new TypeError('The "value" argument must not be of type number. Received type '+typeof n);if(n&&typeof n.length>"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof n);return N(n,f,b)}),G.alloc||(G.alloc=function(n,f,b){if(typeof n!="number")throw new TypeError('The "size" argument must be of type number. Received type '+typeof n);if(n<0||n>=2*(1<<30))throw new RangeError('The value "'+n+'" is invalid for option "size"');var e=N(n);return!f||f.length===0?e.fill(0):typeof b=="string"?e.fill(f,b):e.fill(f),e}),!j.kStringMaxLength)try{j.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch{}j.constants||(j.constants={MAX_LENGTH:j.kMaxLength},j.kStringMaxLength&&(j.constants.MAX_STRING_LENGTH=j.kStringMaxLength)),l.exports=j}),AU=k6((v)=>{var l=e1();function s(j){this._reporterState={obj:null,path:[],options:j||{},errors:[]}}v.Reporter=s,s.prototype.isError=function(j){return j instanceof N},s.prototype.save=function(){let j=this._reporterState;return{obj:j.obj,pathLen:j.path.length}},s.prototype.restore=function(j){let Z=this._reporterState;Z.obj=j.obj,Z.path=Z.path.slice(0,j.pathLen)},s.prototype.enterKey=function(j){return this._reporterState.path.push(j)},s.prototype.exitKey=function(j){let Z=this._reporterState;Z.path=Z.path.slice(0,j-1)},s.prototype.leaveKey=function(j,Z,G){let n=this._reporterState;this.exitKey(j),n.obj!==null&&(n.obj[Z]=G)},s.prototype.path=function(){return this._reporterState.path.join("/")},s.prototype.enterObject=function(){let j=this._reporterState,Z=j.obj;return j.obj={},Z},s.prototype.leaveObject=function(j){let Z=this._reporterState,G=Z.obj;return Z.obj=j,G},s.prototype.error=function(j){let Z,G=this._reporterState,n=j instanceof N;if(n?Z=j:Z=new N(G.path.map(function(f){return"["+JSON.stringify(f)+"]"}).join(""),j.message||j,j.stack),!G.options.partial)throw Z;return n||G.errors.push(Z),Z},s.prototype.wrapResult=function(j){let Z=this._reporterState;return Z.options.partial?{result:this.isError(j)?null:j,errors:Z.errors}:j};function N(j,Z){this.path=j,this.rethrow(Z)}l(N,Error),N.prototype.rethrow=function(j){if(this.message=j+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,N),!this.stack)try{throw new Error(this.message)}catch(Z){this.stack=Z.stack}return this}}),GY=k6((v)=>{var l=e1(),s=AU().Reporter,N=CU().Buffer;function j(G,n){if(s.call(this,n),!N.isBuffer(G)){this.error("Input not Buffer");return}this.base=G,this.offset=0,this.length=G.length}l(j,s),v.DecoderBuffer=j,j.isDecoderBuffer=function(G){return G instanceof j?!0:typeof G=="object"&&N.isBuffer(G.base)&&G.constructor.name==="DecoderBuffer"&&typeof G.offset=="number"&&typeof G.length=="number"&&typeof G.save=="function"&&typeof G.restore=="function"&&typeof G.isEmpty=="function"&&typeof G.readUInt8=="function"&&typeof G.skip=="function"&&typeof G.raw=="function"},j.prototype.save=function(){return{offset:this.offset,reporter:s.prototype.save.call(this)}},j.prototype.restore=function(G){let n=new j(this.base);return n.offset=G.offset,n.length=this.offset,this.offset=G.offset,s.prototype.restore.call(this,G.reporter),n},j.prototype.isEmpty=function(){return this.offset===this.length},j.prototype.readUInt8=function(G){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(G||"DecoderBuffer overrun")},j.prototype.skip=function(G,n){if(!(this.offset+G<=this.length))return this.error(n||"DecoderBuffer overrun");let f=new j(this.base);return f._reporterState=this._reporterState,f.offset=this.offset,f.length=this.offset+G,this.offset+=G,f},j.prototype.raw=function(G){return this.base.slice(G?G.offset:this.offset,this.length)};function Z(G,n){if(Array.isArray(G))this.length=0,this.value=G.map(function(f){return Z.isEncoderBuffer(f)||(f=new Z(f,n)),this.length+=f.length,f},this);else if(typeof G=="number"){if(!(0<=G&&G<=255))return n.error("non-byte EncoderBuffer value");this.value=G,this.length=1}else if(typeof G=="string")this.value=G,this.length=N.byteLength(G);else if(N.isBuffer(G))this.value=G,this.length=G.length;else return n.error("Unsupported type: "+typeof G)}v.EncoderBuffer=Z,Z.isEncoderBuffer=function(G){return G instanceof Z?!0:typeof G=="object"&&G.constructor.name==="EncoderBuffer"&&typeof G.length=="number"&&typeof G.join=="function"},Z.prototype.join=function(G,n){return G||(G=N.alloc(this.length)),n||(n=0),this.length===0||(Array.isArray(this.value)?this.value.forEach(function(f){f.join(G,n),n+=f.length}):(typeof this.value=="number"?G[n]=this.value:typeof this.value=="string"?G.write(this.value,n):N.isBuffer(this.value)&&this.value.copy(G,n),n+=this.length)),G}}),HU=k6((v,l)=>{var s=AU().Reporter,N=GY().EncoderBuffer,j=GY().DecoderBuffer,Z=a4(),G=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],n=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(G),f=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function b(r,a,V0){let c={};this._baseState=c,c.name=V0,c.enc=r,c.parent=a||null,c.children=null,c.tag=null,c.args=null,c.reverseArgs=null,c.choice=null,c.optional=!1,c.any=!1,c.obj=!1,c.use=null,c.useDecoder=null,c.key=null,c.default=null,c.explicit=null,c.implicit=null,c.contains=null,c.parent||(c.children=[],this._wrap())}l.exports=b;var e=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];b.prototype.clone=function(){let r=this._baseState,a={};e.forEach(function(c){a[c]=r[c]});let V0=new this.constructor(a.parent);return V0._baseState=a,V0},b.prototype._wrap=function(){let r=this._baseState;n.forEach(function(a){this[a]=function(){let V0=new this.constructor(this);return r.children.push(V0),V0[a].apply(V0,arguments)}},this)},b.prototype._init=function(r){let a=this._baseState;Z(a.parent===null),r.call(this),a.children=a.children.filter(function(V0){return V0._baseState.parent===this},this),Z.equal(a.children.length,1,"Root node can have only one child")},b.prototype._useArgs=function(r){let a=this._baseState,V0=r.filter(function(c){return c instanceof this.constructor},this);r=r.filter(function(c){return!(c instanceof this.constructor)},this),V0.length!==0&&(Z(a.children===null),a.children=V0,V0.forEach(function(c){c._baseState.parent=this},this)),r.length!==0&&(Z(a.args===null),a.args=r,a.reverseArgs=r.map(function(c){if(typeof c!="object"||c.constructor!==Object)return c;let Q0={};return Object.keys(c).forEach(function(N0){N0==(N0|0)&&(N0|=0);let G0=c[N0];Q0[G0]=N0}),Q0}))},f.forEach(function(r){b.prototype[r]=function(){let a=this._baseState;throw new Error(r+" not implemented for encoding: "+a.enc)}}),G.forEach(function(r){b.prototype[r]=function(){let a=this._baseState,V0=Array.prototype.slice.call(arguments);return Z(a.tag===null),a.tag=r,this._useArgs(V0),this}}),b.prototype.use=function(r){Z(r);let a=this._baseState;return Z(a.use===null),a.use=r,this},b.prototype.optional=function(){let r=this._baseState;return r.optional=!0,this},b.prototype.def=function(r){let a=this._baseState;return Z(a.default===null),a.default=r,a.optional=!0,this},b.prototype.explicit=function(r){let a=this._baseState;return Z(a.explicit===null&&a.implicit===null),a.explicit=r,this},b.prototype.implicit=function(r){let a=this._baseState;return Z(a.explicit===null&&a.implicit===null),a.implicit=r,this},b.prototype.obj=function(){let r=this._baseState,a=Array.prototype.slice.call(arguments);return r.obj=!0,a.length!==0&&this._useArgs(a),this},b.prototype.key=function(r){let a=this._baseState;return Z(a.key===null),a.key=r,this},b.prototype.any=function(){let r=this._baseState;return r.any=!0,this},b.prototype.choice=function(r){let a=this._baseState;return Z(a.choice===null),a.choice=r,this._useArgs(Object.keys(r).map(function(V0){return r[V0]})),this},b.prototype.contains=function(r){let a=this._baseState;return Z(a.use===null),a.contains=r,this},b.prototype._decode=function(r,a){let V0=this._baseState;if(V0.parent===null)return r.wrapResult(V0.children[0]._decode(r,a));let c=V0.default,Q0=!0,N0=null;if(V0.key!==null&&(N0=r.enterKey(V0.key)),V0.optional){let J0=null;if(V0.explicit!==null?J0=V0.explicit:V0.implicit!==null?J0=V0.implicit:V0.tag!==null&&(J0=V0.tag),J0===null&&!V0.any){let P0=r.save();try{V0.choice===null?this._decodeGeneric(V0.tag,r,a):this._decodeChoice(r,a),Q0=!0}catch{Q0=!1}r.restore(P0)}else if(Q0=this._peekTag(r,J0,V0.any),r.isError(Q0))return Q0}let G0;if(V0.obj&&Q0&&(G0=r.enterObject()),Q0){if(V0.explicit!==null){let P0=this._decodeTag(r,V0.explicit);if(r.isError(P0))return P0;r=P0}let J0=r.offset;if(V0.use===null&&V0.choice===null){let P0;V0.any&&(P0=r.save());let L0=this._decodeTag(r,V0.implicit!==null?V0.implicit:V0.tag,V0.any);if(r.isError(L0))return L0;V0.any?c=r.raw(P0):r=L0}if(a&&a.track&&V0.tag!==null&&a.track(r.path(),J0,r.length,"tagged"),a&&a.track&&V0.tag!==null&&a.track(r.path(),r.offset,r.length,"content"),V0.any||(V0.choice===null?c=this._decodeGeneric(V0.tag,r,a):c=this._decodeChoice(r,a)),r.isError(c))return c;if(!V0.any&&V0.choice===null&&V0.children!==null&&V0.children.forEach(function(P0){P0._decode(r,a)}),V0.contains&&(V0.tag==="octstr"||V0.tag==="bitstr")){let P0=new j(c);c=this._getUse(V0.contains,r._reporterState.obj)._decode(P0,a)}}return V0.obj&&Q0&&(c=r.leaveObject(G0)),V0.key!==null&&(c!==null||Q0===!0)?r.leaveKey(N0,V0.key,c):N0!==null&&r.exitKey(N0),c},b.prototype._decodeGeneric=function(r,a,V0){let c=this._baseState;return r==="seq"||r==="set"?null:r==="seqof"||r==="setof"?this._decodeList(a,r,c.args[0],V0):/str$/.test(r)?this._decodeStr(a,r,V0):r==="objid"&&c.args?this._decodeObjid(a,c.args[0],c.args[1],V0):r==="objid"?this._decodeObjid(a,null,null,V0):r==="gentime"||r==="utctime"?this._decodeTime(a,r,V0):r==="null_"?this._decodeNull(a,V0):r==="bool"?this._decodeBool(a,V0):r==="objDesc"?this._decodeStr(a,r,V0):r==="int"||r==="enum"?this._decodeInt(a,c.args&&c.args[0],V0):c.use!==null?this._getUse(c.use,a._reporterState.obj)._decode(a,V0):a.error("unknown tag: "+r)},b.prototype._getUse=function(r,a){let V0=this._baseState;return V0.useDecoder=this._use(r,a),Z(V0.useDecoder._baseState.parent===null),V0.useDecoder=V0.useDecoder._baseState.children[0],V0.implicit!==V0.useDecoder._baseState.implicit&&(V0.useDecoder=V0.useDecoder.clone(),V0.useDecoder._baseState.implicit=V0.implicit),V0.useDecoder},b.prototype._decodeChoice=function(r,a){let V0=this._baseState,c=null,Q0=!1;return Object.keys(V0.choice).some(function(N0){let G0=r.save(),J0=V0.choice[N0];try{let P0=J0._decode(r,a);if(r.isError(P0))return!1;c={type:N0,value:P0},Q0=!0}catch{return r.restore(G0),!1}return!0},this),Q0?c:r.error("Choice not matched")},b.prototype._createEncoderBuffer=function(r){return new N(r,this.reporter)},b.prototype._encode=function(r,a,V0){let c=this._baseState;if(c.default!==null&&c.default===r)return;let Q0=this._encodeValue(r,a,V0);if(Q0!==void 0&&!this._skipDefault(Q0,a,V0))return Q0},b.prototype._encodeValue=function(r,a,V0){let c=this._baseState;if(c.parent===null)return c.children[0]._encode(r,a||new s);let Q0=null;if(this.reporter=a,c.optional&&r===void 0)if(c.default!==null)r=c.default;else return;let N0=null,G0=!1;if(c.any)Q0=this._createEncoderBuffer(r);else if(c.choice)Q0=this._encodeChoice(r,a);else if(c.contains)N0=this._getUse(c.contains,V0)._encode(r,a),G0=!0;else if(c.children)N0=c.children.map(function(J0){if(J0._baseState.tag==="null_")return J0._encode(null,a,r);if(J0._baseState.key===null)return a.error("Child should have a key");let P0=a.enterKey(J0._baseState.key);if(typeof r!="object")return a.error("Child expected, but input is not object");let L0=J0._encode(r[J0._baseState.key],a,r);return a.leaveKey(P0),L0},this).filter(function(J0){return J0}),N0=this._createEncoderBuffer(N0);else if(c.tag==="seqof"||c.tag==="setof"){if(!(c.args&&c.args.length===1))return a.error("Too many args for : "+c.tag);if(!Array.isArray(r))return a.error("seqof/setof, but data is not Array");let J0=this.clone();J0._baseState.implicit=null,N0=this._createEncoderBuffer(r.map(function(P0){let L0=this._baseState;return this._getUse(L0.args[0],r)._encode(P0,a)},J0))}else c.use!==null?Q0=this._getUse(c.use,V0)._encode(r,a):(N0=this._encodePrimitive(c.tag,r),G0=!0);if(!c.any&&c.choice===null){let J0=c.implicit!==null?c.implicit:c.tag,P0=c.implicit===null?"universal":"context";J0===null?c.use===null&&a.error("Tag could be omitted only for .use()"):c.use===null&&(Q0=this._encodeComposite(J0,G0,P0,N0))}return c.explicit!==null&&(Q0=this._encodeComposite(c.explicit,!1,"context",Q0)),Q0},b.prototype._encodeChoice=function(r,a){let V0=this._baseState,c=V0.choice[r.type];return c||Z(!1,r.type+" not found in "+JSON.stringify(Object.keys(V0.choice))),c._encode(r.value,a)},b.prototype._encodePrimitive=function(r,a){let V0=this._baseState;if(/str$/.test(r))return this._encodeStr(a,r);if(r==="objid"&&V0.args)return this._encodeObjid(a,V0.reverseArgs[0],V0.args[1]);if(r==="objid")return this._encodeObjid(a,null,null);if(r==="gentime"||r==="utctime")return this._encodeTime(a,r);if(r==="null_")return this._encodeNull();if(r==="int"||r==="enum")return this._encodeInt(a,V0.args&&V0.reverseArgs[0]);if(r==="bool")return this._encodeBool(a);if(r==="objDesc")return this._encodeStr(a,r);throw new Error("Unsupported tag: "+r)},b.prototype._isNumstr=function(r){return/^[0-9 ]*$/.test(r)},b.prototype._isPrintstr=function(r){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(r)}}),xU=k6((v)=>{function l(s){let N={};return Object.keys(s).forEach(function(j){(j|0)==j&&(j=j|0);let Z=s[j];N[Z]=j}),N}v.tagClass={0:"universal",1:"application",2:"context",3:"private"},v.tagClassByName=l(v.tagClass),v.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},v.tagByName=l(v.tag)}),f_=k6((v,l)=>{var s=e1(),N=CU().Buffer,j=HU(),Z=xU();function G(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new n,this.tree._init(e.body)}l.exports=G,G.prototype.encode=function(e,r){return this.tree._encode(e,r).join()};function n(e){j.call(this,"der",e)}s(n,j),n.prototype._encodeComposite=function(e,r,a,V0){let c=b(e,r,a,this.reporter);if(V0.length<128){let G0=N.alloc(2);return G0[0]=c,G0[1]=V0.length,this._createEncoderBuffer([G0,V0])}let Q0=1;for(let G0=V0.length;G0>=256;G0>>=8)Q0++;let N0=N.alloc(2+Q0);N0[0]=c,N0[1]=128|Q0;for(let G0=1+Q0,J0=V0.length;J0>0;G0--,J0>>=8)N0[G0]=J0&255;return this._createEncoderBuffer([N0,V0])},n.prototype._encodeStr=function(e,r){if(r==="bitstr")return this._createEncoderBuffer([e.unused|0,e.data]);if(r==="bmpstr"){let a=N.alloc(e.length*2);for(let V0=0;V0=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,e[0]*40+e[1])}let V0=0;for(let N0=0;N0=128;G0>>=7)V0++}let c=N.alloc(V0),Q0=c.length-1;for(let N0=e.length-1;N0>=0;N0--){let G0=e[N0];for(c[Q0--]=G0&127;(G0>>=7)>0;)c[Q0--]=128|G0&127}return this._createEncoderBuffer(c)};function f(e){return e<10?"0"+e:e}n.prototype._encodeTime=function(e,r){let a,V0=new Date(e);return r==="gentime"?a=[f(V0.getUTCFullYear()),f(V0.getUTCMonth()+1),f(V0.getUTCDate()),f(V0.getUTCHours()),f(V0.getUTCMinutes()),f(V0.getUTCSeconds()),"Z"].join(""):r==="utctime"?a=[f(V0.getUTCFullYear()%100),f(V0.getUTCMonth()+1),f(V0.getUTCDate()),f(V0.getUTCHours()),f(V0.getUTCMinutes()),f(V0.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+r+" time is not supported yet"),this._encodeStr(a,"octstr")},n.prototype._encodeNull=function(){return this._createEncoderBuffer("")},n.prototype._encodeInt=function(e,r){if(typeof e=="string"){if(!r)return this.reporter.error("String int or enum given, but no values map");if(!r.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=r[e]}if(typeof e!="number"&&!N.isBuffer(e)){let c=e.toArray();!e.sign&&c[0]&128&&c.unshift(0),e=N.from(c)}if(N.isBuffer(e)){let c=e.length;e.length===0&&c++;let Q0=N.alloc(c);return e.copy(Q0),e.length===0&&(Q0[0]=0),this._createEncoderBuffer(Q0)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);let a=1;for(let c=e;c>=256;c>>=8)a++;let V0=new Array(a);for(let c=V0.length-1;c>=0;c--)V0[c]=e&255,e>>=8;return V0[0]&128&&V0.unshift(0),this._createEncoderBuffer(N.from(V0))},n.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},n.prototype._use=function(e,r){return typeof e=="function"&&(e=e(r)),e._getEncoder("der").tree},n.prototype._skipDefault=function(e,r,a){let V0=this._baseState,c;if(V0.default===null)return!1;let Q0=e.join();if(V0.defaultBuffer===void 0&&(V0.defaultBuffer=this._encodeValue(V0.default,r,a).join()),Q0.length!==V0.defaultBuffer.length)return!1;for(c=0;c=31?V0.error("Multi-octet tag encoding unsupported"):(r||(c|=32),c|=Z.tagClassByName[a||"universal"]<<6,c)}}),hB=k6((v,l)=>{var s=e1(),N=f_();function j(Z){N.call(this,Z),this.enc="pem"}s(j,N),l.exports=j,j.prototype.encode=function(Z,G){let n=N.prototype.encode.call(this,Z).toString("base64"),f=["-----BEGIN "+G.label+"-----"];for(let b=0;b{var l=v;l.der=f_(),l.pem=hB()}),b_=k6((v,l)=>{var s=e1(),N=t_(),j=GY().DecoderBuffer,Z=HU(),G=xU();function n(r){this.enc="der",this.name=r.name,this.entity=r,this.tree=new f,this.tree._init(r.body)}l.exports=n,n.prototype.decode=function(r,a){return j.isDecoderBuffer(r)||(r=new j(r,a)),this.tree._decode(r,a)};function f(r){Z.call(this,"der",r)}s(f,Z),f.prototype._peekTag=function(r,a,V0){if(r.isEmpty())return!1;let c=r.save(),Q0=b(r,'Failed to peek tag: "'+a+'"');return r.isError(Q0)?Q0:(r.restore(c),Q0.tag===a||Q0.tagStr===a||Q0.tagStr+"of"===a||V0)},f.prototype._decodeTag=function(r,a,V0){let c=b(r,'Failed to decode tag of "'+a+'"');if(r.isError(c))return c;let Q0=e(r,c.primitive,'Failed to get length of "'+a+'"');if(r.isError(Q0))return Q0;if(!V0&&c.tag!==a&&c.tagStr!==a&&c.tagStr+"of"!==a)return r.error('Failed to match tag: "'+a+'"');if(c.primitive||Q0!==null)return r.skip(Q0,'Failed to match body of: "'+a+'"');let N0=r.save(),G0=this._skipUntilEnd(r,'Failed to skip indefinite length body: "'+this.tag+'"');return r.isError(G0)?G0:(Q0=r.offset-N0.offset,r.restore(N0),r.skip(Q0,'Failed to match body of: "'+a+'"'))},f.prototype._skipUntilEnd=function(r,a){for(;;){let V0=b(r,a);if(r.isError(V0))return V0;let c=e(r,V0.primitive,a);if(r.isError(c))return c;let Q0;if(V0.primitive||c!==null?Q0=r.skip(c):Q0=this._skipUntilEnd(r,a),r.isError(Q0))return Q0;if(V0.tagStr==="end")break}},f.prototype._decodeList=function(r,a,V0,c){let Q0=[];for(;!r.isEmpty();){let N0=this._peekTag(r,"end");if(r.isError(N0))return N0;let G0=V0.decode(r,"der",c);if(r.isError(G0)&&N0)break;Q0.push(G0)}return Q0},f.prototype._decodeStr=function(r,a){if(a==="bitstr"){let V0=r.readUInt8();return r.isError(V0)?V0:{unused:V0,data:r.raw()}}else if(a==="bmpstr"){let V0=r.raw();if(V0.length%2===1)return r.error("Decoding of string type: bmpstr length mismatch");let c="";for(let Q0=0;Q0>6],Q0=(V0&32)===0;if((V0&31)===31){let G0=V0;for(V0=0;(G0&128)===128;){if(G0=r.readUInt8(a),r.isError(G0))return G0;V0<<=7,V0|=G0&127}}else V0&=31;let N0=G.tag[V0];return{cls:c,primitive:Q0,tag:V0,tagStr:N0}}function e(r,a,V0){let c=r.readUInt8(V0);if(r.isError(c))return c;if(!a&&c===128)return null;if((c&128)===0)return c;let Q0=c&127;if(Q0>4)return r.error("length octect is too long");c=0;for(let N0=0;N0{var s=e1(),N=CU().Buffer,j=b_();function Z(G){j.call(this,G),this.enc="pem"}s(Z,j),l.exports=Z,Z.prototype.decode=function(G,n){let f=G.toString().split(/[\r\n]+/g),b=n.label.toUpperCase(),e=/^-----(BEGIN|END) ([^-]+)-----$/,r=-1,a=-1;for(let Q0=0;Q0{var l=v;l.der=b_(),l.pem=gB()}),iB=k6((v)=>{var l=d_(),s=e_(),N=e1(),j=v;j.define=function(G,n){return new Z(G,n)};function Z(G,n){this.name=G,this.body=n,this.decoders={},this.encoders={}}Z.prototype._createNamed=function(G){let n=this.name;function f(b){this._initNamed(b,n)}return N(f,G),f.prototype._initNamed=function(b,e){G.call(this,b,e)},new f(this)},Z.prototype._getDecoder=function(G){return G=G||"der",this.decoders.hasOwnProperty(G)||(this.decoders[G]=this._createNamed(s[G])),this.decoders[G]},Z.prototype.decode=function(G,n,f){return this._getDecoder(n).decode(G,f)},Z.prototype._getEncoder=function(G){return G=G||"der",this.encoders.hasOwnProperty(G)||(this.encoders[G]=this._createNamed(l[G])),this.encoders[G]},Z.prototype.encode=function(G,n,f){return this._getEncoder(n).encode(G,f)}}),tB=k6((v)=>{var l=v;l.Reporter=AU().Reporter,l.DecoderBuffer=GY().DecoderBuffer,l.EncoderBuffer=GY().EncoderBuffer,l.Node=HU()}),fB=k6((v)=>{var l=v;l._reverse=function(s){let N={};return Object.keys(s).forEach(function(j){(j|0)==j&&(j=j|0);let Z=s[j];N[Z]=j}),N},l.der=xU()}),a_=k6((v)=>{var l=v;l.bignum=t_(),l.define=iB().define,l.base=tB(),l.constants=fB(),l.decoders=e_(),l.encoders=d_()}),dB=k6((v,l)=>{var s=a_(),N=s.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),j=s.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),Z=s.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())}),G=s.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(Z),this.key("subjectPublicKey").bitstr())}),n=s.define("RelativeDistinguishedName",function(){this.setof(j)}),f=s.define("RDNSequence",function(){this.seqof(n)}),b=s.define("Name",function(){this.choice({rdnSequence:this.use(f)})}),e=s.define("Validity",function(){this.seq().obj(this.key("notBefore").use(N),this.key("notAfter").use(N))}),r=s.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),a=s.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(Z),this.key("issuer").use(b),this.key("validity").use(e),this.key("subject").use(b),this.key("subjectPublicKeyInfo").use(G),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(r).optional())}),V0=s.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(a),this.key("signatureAlgorithm").use(Z),this.key("signatureValue").bitstr())});l.exports=V0}),bB=k6((v)=>{var l=a_();v.certificate=dB();var s=l.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});v.RSAPrivateKey=s;var N=l.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});v.RSAPublicKey=N;var j=l.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(Z),this.key("subjectPublicKey").bitstr())});v.PublicKey=j;var Z=l.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),G=l.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(Z),this.key("subjectPrivateKey").octstr())});v.PrivateKey=G;var n=l.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});v.EncryptedPrivateKey=n;var f=l.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});v.DSAPrivateKey=f,v.DSAparam=l.define("DSAparam",function(){this.int()});var b=l.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(e),this.key("publicKey").optional().explicit(1).bitstr())});v.ECPrivateKey=b;var e=l.define("ECParameters",function(){this.choice({namedCurve:this.objid()})});v.signature=l.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())})}),eB=k6((v,l)=>{l.exports={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}}),aB=k6((v,l)=>{var s=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,N=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,j=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,Z=rQ(),G=GU(),n=_7().Buffer;l.exports=function(f,b){var e=f.toString(),r=e.match(s),a;if(r){var V0="aes"+r[1],c=n.from(r[2],"hex"),Q0=n.from(r[3].replace(/[\r\n]/g,""),"base64"),N0=Z(b,c.slice(0,8),parseInt(r[1],10)).key,G0=[],J0=G.createDecipheriv(V0,N0,c);G0.push(J0.update(Q0)),G0.push(J0.final()),a=n.concat(G0)}else{var P0=e.match(j);a=n.from(P0[2].replace(/[\r\n]/g,""),"base64")}var L0=e.match(N)[1];return{tag:L0,data:a}}}),gQ=k6((v,l)=>{var s=bB(),N=eB(),j=aB(),Z=GU(),G=A_(),n=_7().Buffer;l.exports=f;function f(e){var r;typeof e=="object"&&!n.isBuffer(e)&&(r=e.passphrase,e=e.key),typeof e=="string"&&(e=n.from(e));var a=j(e,r),V0=a.tag,c=a.data,Q0,N0;switch(V0){case"CERTIFICATE":N0=s.certificate.decode(c,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(N0||(N0=s.PublicKey.decode(c,"der")),Q0=N0.algorithm.algorithm.join("."),Q0){case"1.2.840.113549.1.1.1":return s.RSAPublicKey.decode(N0.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return N0.subjectPrivateKey=N0.subjectPublicKey,{type:"ec",data:N0};case"1.2.840.10040.4.1":return N0.algorithm.params.pub_key=s.DSAparam.decode(N0.subjectPublicKey.data,"der"),{type:"dsa",data:N0.algorithm.params};default:throw new Error("unknown key id "+Q0)}case"ENCRYPTED PRIVATE KEY":c=s.EncryptedPrivateKey.decode(c,"der"),c=b(c,r);case"PRIVATE KEY":switch(N0=s.PrivateKey.decode(c,"der"),Q0=N0.algorithm.algorithm.join("."),Q0){case"1.2.840.113549.1.1.1":return s.RSAPrivateKey.decode(N0.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:N0.algorithm.curve,privateKey:s.ECPrivateKey.decode(N0.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return N0.algorithm.params.priv_key=s.DSAparam.decode(N0.subjectPrivateKey,"der"),{type:"dsa",params:N0.algorithm.params};default:throw new Error("unknown key id "+Q0)}case"RSA PUBLIC KEY":return s.RSAPublicKey.decode(c,"der");case"RSA PRIVATE KEY":return s.RSAPrivateKey.decode(c,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:s.DSAPrivateKey.decode(c,"der")};case"EC PRIVATE KEY":return c=s.ECPrivateKey.decode(c,"der"),{curve:c.parameters.value,privateKey:c.privateKey};default:throw new Error("unknown key type "+V0)}}f.signature=s.signature;function b(e,r){var a=e.algorithm.decrypt.kde.kdeparams.salt,V0=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10),c=N[e.algorithm.decrypt.cipher.algo.join(".")],Q0=e.algorithm.decrypt.cipher.iv,N0=e.subjectPrivateKey,G0=parseInt(c.split("-")[1],10)/8,J0=G.pbkdf2Sync(r,a,V0,G0,"sha1"),P0=Z.createDecipheriv(c,J0,Q0),L0=[];return L0.push(P0.update(N0)),L0.push(P0.final()),n.concat(L0)}}),c_=k6((v,l)=>{l.exports={"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}}),cB=k6((v,l)=>{var s=_7().Buffer,N=D_(),j=zU(),Z=BU().ec,G=DU(),n=gQ(),f=c_();function b(J0,P0,L0,A0,w0){var a0=n(P0);if(a0.curve){if(A0!=="ecdsa"&&A0!=="ecdsa/rsa")throw new Error("wrong private key type");return e(J0,a0)}else if(a0.type==="dsa"){if(A0!=="dsa")throw new Error("wrong private key type");return r(J0,a0,L0)}else if(A0!=="rsa"&&A0!=="ecdsa/rsa")throw new Error("wrong private key type");J0=s.concat([w0,J0]);for(var Y6=a0.modulus.byteLength(),D6=[0,1];J0.length+D6.length+10&&L0.ishrn(A0),L0}function Q0(J0,P0){J0=c(J0,P0),J0=J0.mod(P0);var L0=s.from(J0.toArray());if(L0.length{var s=_7().Buffer,N=DU(),j=BU().ec,Z=gQ(),G=c_();function n(r,a,V0,c,Q0){var N0=Z(V0);if(N0.type==="ec"){if(c!=="ecdsa"&&c!=="ecdsa/rsa")throw new Error("wrong public key type");return f(r,a,N0)}else if(N0.type==="dsa"){if(c!=="dsa")throw new Error("wrong public key type");return b(r,a,N0)}else if(c!=="rsa"&&c!=="ecdsa/rsa")throw new Error("wrong public key type");a=s.concat([Q0,a]);for(var G0=N0.modulus.byteLength(),J0=[1],P0=0;a.length+J0.length+2=a)throw new Error("invalid sig")}l.exports=n}),VC=k6((v,l)=>{var s=_7().Buffer,N=LY(),j=CB(),Z=e1(),G=cB(),n=ZC(),f=z_();Object.keys(f).forEach(function(V0){f[V0].id=s.from(f[V0].id,"hex"),f[V0.toLowerCase()]=f[V0]});function b(V0){j.Writable.call(this);var c=f[V0];if(!c)throw new Error("Unknown message digest");this._hashType=c.hash,this._hash=N(c.hash),this._tag=c.id,this._signType=c.sign}Z(b,j.Writable),b.prototype._write=function(V0,c,Q0){this._hash.update(V0),Q0()},b.prototype.update=function(V0,c){return typeof V0=="string"&&(V0=s.from(V0,c)),this._hash.update(V0),this},b.prototype.sign=function(V0,c){this.end();var Q0=this._hash.digest(),N0=G(Q0,V0,this._hashType,this._signType,this._tag);return c?N0.toString(c):N0};function e(V0){j.Writable.call(this);var c=f[V0];if(!c)throw new Error("Unknown message digest");this._hash=N(c.hash),this._tag=c.id,this._signType=c.sign}Z(e,j.Writable),e.prototype._write=function(V0,c,Q0){this._hash.update(V0),Q0()},e.prototype.update=function(V0,c){return typeof V0=="string"&&(V0=s.from(V0,c)),this._hash.update(V0),this},e.prototype.verify=function(V0,c,Q0){typeof c=="string"&&(c=s.from(c,Q0)),this.end();var N0=this._hash.digest();return n(c,N0,V0,this._signType,this._tag)};function r(V0){return new b(V0)}function a(V0){return new e(V0)}l.exports={Sign:r,Verify:a,createSign:r,createVerify:a}}),$C=k6((v,l)=>{(function(s,N){function j(R,D){if(!R)throw new Error(D||"Assertion failed")}function Z(R,D){R.super_=D;var B=function(){};B.prototype=D.prototype,R.prototype=new B,R.prototype.constructor=R}function G(R,D,B){if(G.isBN(R))return R;this.negative=0,this.words=null,this.length=0,this.red=null,R!==null&&((D==="le"||D==="be")&&(B=D,D=10),this._init(R||0,D||10,B||"be"))}typeof s=="object"?s.exports=G:N.BN=G,G.BN=G,G.wordSize=26;var n;try{typeof window<"u"&&typeof window.Buffer<"u"?n=window.Buffer:n=XX().Buffer}catch{}G.isBN=function(R){return R instanceof G?!0:R!==null&&typeof R=="object"&&R.constructor.wordSize===G.wordSize&&Array.isArray(R.words)},G.max=function(R,D){return R.cmp(D)>0?R:D},G.min=function(R,D){return R.cmp(D)<0?R:D},G.prototype._init=function(R,D,B){if(typeof R=="number")return this._initNumber(R,D,B);if(typeof R=="object")return this._initArray(R,D,B);D==="hex"&&(D=16),j(D===(D|0)&&D>=2&&D<=36),R=R.toString().replace(/\s+/g,"");var E=0;R[0]==="-"&&(E++,this.negative=1),E=0;E-=3)o=R[E]|R[E-1]<<8|R[E-2]<<16,this.words[w]|=o<>>26-h&67108863,h+=24,h>=26&&(h-=26,w++);else if(B==="le")for(E=0,w=0;E>>26-h&67108863,h+=24,h>=26&&(h-=26,w++);return this.strip()};function f(R,D){var B=R.charCodeAt(D);return B>=65&&B<=70?B-55:B>=97&&B<=102?B-87:B-48&15}function b(R,D,B){var E=f(R,B);return B-1>=D&&(E|=f(R,B-1)<<4),E}G.prototype._parseHex=function(R,D,B){this.length=Math.ceil((R.length-D)/6),this.words=new Array(this.length);for(var E=0;E=D;E-=2)h=b(R,D,E)<=18?(w-=18,o+=1,this.words[o]|=h>>>26):w+=8;else{var x=R.length-D;for(E=x%2===0?D+1:D;E=18?(w-=18,o+=1,this.words[o]|=h>>>26):w+=8}this.strip()};function e(R,D,B,E){for(var w=0,o=Math.min(R.length,B),h=D;h=49?w+=x-49+10:x>=17?w+=x-17+10:w+=x}return w}G.prototype._parseBase=function(R,D,B){this.words=[0],this.length=1;for(var E=0,w=1;w<=67108863;w*=D)E++;E--,w=w/D|0;for(var o=R.length-B,h=o%E,x=Math.min(o,o-h)+B,M=0,p=B;p1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},G.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},G.prototype.inspect=function(){return(this.red?""};var r=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],a=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],V0=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];G.prototype.toString=function(R,D){R=R||10,D=D|0||1;var B;if(R===16||R==="hex"){B="";for(var E=0,w=0,o=0;o>>24-E&16777215,w!==0||o!==this.length-1?B=r[6-x.length]+x+B:B=x+B,E+=2,E>=26&&(E-=26,o--)}for(w!==0&&(B=w.toString(16)+B);B.length%D!==0;)B="0"+B;return this.negative!==0&&(B="-"+B),B}if(R===(R|0)&&R>=2&&R<=36){var M=a[R],p=V0[R];B="";var K0=this.clone();for(K0.negative=0;!K0.isZero();){var U0=K0.modn(p).toString(R);K0=K0.idivn(p),K0.isZero()?B=U0+B:B=r[M-U0.length]+U0+B}for(this.isZero()&&(B="0"+B);B.length%D!==0;)B="0"+B;return this.negative!==0&&(B="-"+B),B}j(!1,"Base should be between 2 and 36")},G.prototype.toNumber=function(){var R=this.words[0];return this.length===2?R+=this.words[1]*67108864:this.length===3&&this.words[2]===1?R+=4503599627370496+this.words[1]*67108864:this.length>2&&j(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-R:R},G.prototype.toJSON=function(){return this.toString(16)},G.prototype.toBuffer=function(R,D){return j(typeof n<"u"),this.toArrayLike(n,R,D)},G.prototype.toArray=function(R,D){return this.toArrayLike(Array,R,D)},G.prototype.toArrayLike=function(R,D,B){var E=this.byteLength(),w=B||Math.max(1,E);j(E<=w,"byte array longer than desired length"),j(w>0,"Requested array length <= 0"),this.strip();var o=D==="le",h=new R(w),x,M,p=this.clone();if(o){for(M=0;!p.isZero();M++)x=p.andln(255),p.iushrn(8),h[M]=x;for(;M=4096&&(B+=13,D>>>=13),D>=64&&(B+=7,D>>>=7),D>=8&&(B+=4,D>>>=4),D>=2&&(B+=2,D>>>=2),B+D},G.prototype._zeroBits=function(R){if(R===0)return 26;var D=R,B=0;return(D&8191)===0&&(B+=13,D>>>=13),(D&127)===0&&(B+=7,D>>>=7),(D&15)===0&&(B+=4,D>>>=4),(D&3)===0&&(B+=2,D>>>=2),(D&1)===0&&B++,B},G.prototype.bitLength=function(){var R=this.words[this.length-1],D=this._countBits(R);return(this.length-1)*26+D};function c(R){for(var D=new Array(R.bitLength()),B=0;B>>w}return D}G.prototype.zeroBits=function(){if(this.isZero())return 0;for(var R=0,D=0;DR.length?this.clone().ior(R):R.clone().ior(this)},G.prototype.uor=function(R){return this.length>R.length?this.clone().iuor(R):R.clone().iuor(this)},G.prototype.iuand=function(R){var D;this.length>R.length?D=R:D=this;for(var B=0;BR.length?this.clone().iand(R):R.clone().iand(this)},G.prototype.uand=function(R){return this.length>R.length?this.clone().iuand(R):R.clone().iuand(this)},G.prototype.iuxor=function(R){var D,B;this.length>R.length?(D=this,B=R):(D=R,B=this);for(var E=0;ER.length?this.clone().ixor(R):R.clone().ixor(this)},G.prototype.uxor=function(R){return this.length>R.length?this.clone().iuxor(R):R.clone().iuxor(this)},G.prototype.inotn=function(R){j(typeof R=="number"&&R>=0);var D=Math.ceil(R/26)|0,B=R%26;this._expand(D),B>0&&D--;for(var E=0;E0&&(this.words[E]=~this.words[E]&67108863>>26-B),this.strip()},G.prototype.notn=function(R){return this.clone().inotn(R)},G.prototype.setn=function(R,D){j(typeof R=="number"&&R>=0);var B=R/26|0,E=R%26;return this._expand(B+1),D?this.words[B]=this.words[B]|1<R.length?(B=this,E=R):(B=R,E=this);for(var w=0,o=0;o>>26;for(;w!==0&&o>>26;if(this.length=B.length,w!==0)this.words[this.length]=w,this.length++;else if(B!==this)for(;oR.length?this.clone().iadd(R):R.clone().iadd(this)},G.prototype.isub=function(R){if(R.negative!==0){R.negative=0;var D=this.iadd(R);return R.negative=1,D._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(R),this.negative=1,this._normSign();var B=this.cmp(R);if(B===0)return this.negative=0,this.length=1,this.words[0]=0,this;var E,w;B>0?(E=this,w=R):(E=R,w=this);for(var o=0,h=0;h>26,this.words[h]=D&67108863;for(;o!==0&&h>26,this.words[h]=D&67108863;if(o===0&&h>>26,U0=M&67108863,M0=Math.min(p,D.length-1),f0=Math.max(0,p-R.length+1);f0<=M0;f0++){var X6=p-f0|0;w=R.words[X6]|0,o=D.words[f0]|0,h=w*o+U0,K0+=h/67108864|0,U0=h&67108863}B.words[p]=U0|0,M=K0|0}return M!==0?B.words[p]=M|0:B.length--,B.strip()}var N0=function(R,D,B){var E=R.words,w=D.words,o=B.words,h=0,x,M,p,K0=E[0]|0,U0=K0&8191,M0=K0>>>13,f0=E[1]|0,X6=f0&8191,O6=f0>>>13,r0=E[2]|0,j0=r0&8191,d0=r0>>>13,c6=E[3]|0,K6=c6&8191,I6=c6>>>13,z0=E[4]|0,S0=z0&8191,x0=z0>>>13,_6=E[5]|0,P6=_6&8191,R6=_6>>>13,s8=E[6]|0,v6=s8&8191,j6=s8>>>13,h2=E[7]|0,b6=h2&8191,n6=h2>>>13,a1=E[8]|0,$0=a1&8191,R0=a1>>>13,v0=E[9]|0,s0=v0&8191,l0=v0>>>13,$8=w[0]|0,z6=$8&8191,g6=$8>>>13,f1=w[1]|0,e6=f1&8191,d6=f1>>>13,k1=w[2]|0,S8=k1&8191,N8=k1>>>13,m5=w[3]|0,W8=m5&8191,X8=m5>>>13,o7=w[4]|0,Q8=o7&8191,O8=o7>>>13,C9=w[5]|0,G8=C9&8191,E8=C9>>>13,d5=w[6]|0,M8=d5&8191,U8=d5>>>13,A9=w[7]|0,L8=A9&8191,q=A9>>>13,O9=w[8]|0,B8=O9&8191,D8=O9>>>13,G9=w[9]|0,z8=G9&8191,F8=G9>>>13;B.negative=R.negative^D.negative,B.length=19,x=Math.imul(U0,z6),M=Math.imul(U0,g6),M=M+Math.imul(M0,z6)|0,p=Math.imul(M0,g6);var D5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(D5>>>26)|0,D5&=67108863,x=Math.imul(X6,z6),M=Math.imul(X6,g6),M=M+Math.imul(O6,z6)|0,p=Math.imul(O6,g6),x=x+Math.imul(U0,e6)|0,M=M+Math.imul(U0,d6)|0,M=M+Math.imul(M0,e6)|0,p=p+Math.imul(M0,d6)|0;var p1=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(p1>>>26)|0,p1&=67108863,x=Math.imul(j0,z6),M=Math.imul(j0,g6),M=M+Math.imul(d0,z6)|0,p=Math.imul(d0,g6),x=x+Math.imul(X6,e6)|0,M=M+Math.imul(X6,d6)|0,M=M+Math.imul(O6,e6)|0,p=p+Math.imul(O6,d6)|0,x=x+Math.imul(U0,S8)|0,M=M+Math.imul(U0,N8)|0,M=M+Math.imul(M0,S8)|0,p=p+Math.imul(M0,N8)|0;var m1=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(m1>>>26)|0,m1&=67108863,x=Math.imul(K6,z6),M=Math.imul(K6,g6),M=M+Math.imul(I6,z6)|0,p=Math.imul(I6,g6),x=x+Math.imul(j0,e6)|0,M=M+Math.imul(j0,d6)|0,M=M+Math.imul(d0,e6)|0,p=p+Math.imul(d0,d6)|0,x=x+Math.imul(X6,S8)|0,M=M+Math.imul(X6,N8)|0,M=M+Math.imul(O6,S8)|0,p=p+Math.imul(O6,N8)|0,x=x+Math.imul(U0,W8)|0,M=M+Math.imul(U0,X8)|0,M=M+Math.imul(M0,W8)|0,p=p+Math.imul(M0,X8)|0;var f7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(f7>>>26)|0,f7&=67108863,x=Math.imul(S0,z6),M=Math.imul(S0,g6),M=M+Math.imul(x0,z6)|0,p=Math.imul(x0,g6),x=x+Math.imul(K6,e6)|0,M=M+Math.imul(K6,d6)|0,M=M+Math.imul(I6,e6)|0,p=p+Math.imul(I6,d6)|0,x=x+Math.imul(j0,S8)|0,M=M+Math.imul(j0,N8)|0,M=M+Math.imul(d0,S8)|0,p=p+Math.imul(d0,N8)|0,x=x+Math.imul(X6,W8)|0,M=M+Math.imul(X6,X8)|0,M=M+Math.imul(O6,W8)|0,p=p+Math.imul(O6,X8)|0,x=x+Math.imul(U0,Q8)|0,M=M+Math.imul(U0,O8)|0,M=M+Math.imul(M0,Q8)|0,p=p+Math.imul(M0,O8)|0;var X5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(X5>>>26)|0,X5&=67108863,x=Math.imul(P6,z6),M=Math.imul(P6,g6),M=M+Math.imul(R6,z6)|0,p=Math.imul(R6,g6),x=x+Math.imul(S0,e6)|0,M=M+Math.imul(S0,d6)|0,M=M+Math.imul(x0,e6)|0,p=p+Math.imul(x0,d6)|0,x=x+Math.imul(K6,S8)|0,M=M+Math.imul(K6,N8)|0,M=M+Math.imul(I6,S8)|0,p=p+Math.imul(I6,N8)|0,x=x+Math.imul(j0,W8)|0,M=M+Math.imul(j0,X8)|0,M=M+Math.imul(d0,W8)|0,p=p+Math.imul(d0,X8)|0,x=x+Math.imul(X6,Q8)|0,M=M+Math.imul(X6,O8)|0,M=M+Math.imul(O6,Q8)|0,p=p+Math.imul(O6,O8)|0,x=x+Math.imul(U0,G8)|0,M=M+Math.imul(U0,E8)|0,M=M+Math.imul(M0,G8)|0,p=p+Math.imul(M0,E8)|0;var Y5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(Y5>>>26)|0,Y5&=67108863,x=Math.imul(v6,z6),M=Math.imul(v6,g6),M=M+Math.imul(j6,z6)|0,p=Math.imul(j6,g6),x=x+Math.imul(P6,e6)|0,M=M+Math.imul(P6,d6)|0,M=M+Math.imul(R6,e6)|0,p=p+Math.imul(R6,d6)|0,x=x+Math.imul(S0,S8)|0,M=M+Math.imul(S0,N8)|0,M=M+Math.imul(x0,S8)|0,p=p+Math.imul(x0,N8)|0,x=x+Math.imul(K6,W8)|0,M=M+Math.imul(K6,X8)|0,M=M+Math.imul(I6,W8)|0,p=p+Math.imul(I6,X8)|0,x=x+Math.imul(j0,Q8)|0,M=M+Math.imul(j0,O8)|0,M=M+Math.imul(d0,Q8)|0,p=p+Math.imul(d0,O8)|0,x=x+Math.imul(X6,G8)|0,M=M+Math.imul(X6,E8)|0,M=M+Math.imul(O6,G8)|0,p=p+Math.imul(O6,E8)|0,x=x+Math.imul(U0,M8)|0,M=M+Math.imul(U0,U8)|0,M=M+Math.imul(M0,M8)|0,p=p+Math.imul(M0,U8)|0;var d7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(d7>>>26)|0,d7&=67108863,x=Math.imul(b6,z6),M=Math.imul(b6,g6),M=M+Math.imul(n6,z6)|0,p=Math.imul(n6,g6),x=x+Math.imul(v6,e6)|0,M=M+Math.imul(v6,d6)|0,M=M+Math.imul(j6,e6)|0,p=p+Math.imul(j6,d6)|0,x=x+Math.imul(P6,S8)|0,M=M+Math.imul(P6,N8)|0,M=M+Math.imul(R6,S8)|0,p=p+Math.imul(R6,N8)|0,x=x+Math.imul(S0,W8)|0,M=M+Math.imul(S0,X8)|0,M=M+Math.imul(x0,W8)|0,p=p+Math.imul(x0,X8)|0,x=x+Math.imul(K6,Q8)|0,M=M+Math.imul(K6,O8)|0,M=M+Math.imul(I6,Q8)|0,p=p+Math.imul(I6,O8)|0,x=x+Math.imul(j0,G8)|0,M=M+Math.imul(j0,E8)|0,M=M+Math.imul(d0,G8)|0,p=p+Math.imul(d0,E8)|0,x=x+Math.imul(X6,M8)|0,M=M+Math.imul(X6,U8)|0,M=M+Math.imul(O6,M8)|0,p=p+Math.imul(O6,U8)|0,x=x+Math.imul(U0,L8)|0,M=M+Math.imul(U0,q)|0,M=M+Math.imul(M0,L8)|0,p=p+Math.imul(M0,q)|0;var Q5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(Q5>>>26)|0,Q5&=67108863,x=Math.imul($0,z6),M=Math.imul($0,g6),M=M+Math.imul(R0,z6)|0,p=Math.imul(R0,g6),x=x+Math.imul(b6,e6)|0,M=M+Math.imul(b6,d6)|0,M=M+Math.imul(n6,e6)|0,p=p+Math.imul(n6,d6)|0,x=x+Math.imul(v6,S8)|0,M=M+Math.imul(v6,N8)|0,M=M+Math.imul(j6,S8)|0,p=p+Math.imul(j6,N8)|0,x=x+Math.imul(P6,W8)|0,M=M+Math.imul(P6,X8)|0,M=M+Math.imul(R6,W8)|0,p=p+Math.imul(R6,X8)|0,x=x+Math.imul(S0,Q8)|0,M=M+Math.imul(S0,O8)|0,M=M+Math.imul(x0,Q8)|0,p=p+Math.imul(x0,O8)|0,x=x+Math.imul(K6,G8)|0,M=M+Math.imul(K6,E8)|0,M=M+Math.imul(I6,G8)|0,p=p+Math.imul(I6,E8)|0,x=x+Math.imul(j0,M8)|0,M=M+Math.imul(j0,U8)|0,M=M+Math.imul(d0,M8)|0,p=p+Math.imul(d0,U8)|0,x=x+Math.imul(X6,L8)|0,M=M+Math.imul(X6,q)|0,M=M+Math.imul(O6,L8)|0,p=p+Math.imul(O6,q)|0,x=x+Math.imul(U0,B8)|0,M=M+Math.imul(U0,D8)|0,M=M+Math.imul(M0,B8)|0,p=p+Math.imul(M0,D8)|0;var W5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(W5>>>26)|0,W5&=67108863,x=Math.imul(s0,z6),M=Math.imul(s0,g6),M=M+Math.imul(l0,z6)|0,p=Math.imul(l0,g6),x=x+Math.imul($0,e6)|0,M=M+Math.imul($0,d6)|0,M=M+Math.imul(R0,e6)|0,p=p+Math.imul(R0,d6)|0,x=x+Math.imul(b6,S8)|0,M=M+Math.imul(b6,N8)|0,M=M+Math.imul(n6,S8)|0,p=p+Math.imul(n6,N8)|0,x=x+Math.imul(v6,W8)|0,M=M+Math.imul(v6,X8)|0,M=M+Math.imul(j6,W8)|0,p=p+Math.imul(j6,X8)|0,x=x+Math.imul(P6,Q8)|0,M=M+Math.imul(P6,O8)|0,M=M+Math.imul(R6,Q8)|0,p=p+Math.imul(R6,O8)|0,x=x+Math.imul(S0,G8)|0,M=M+Math.imul(S0,E8)|0,M=M+Math.imul(x0,G8)|0,p=p+Math.imul(x0,E8)|0,x=x+Math.imul(K6,M8)|0,M=M+Math.imul(K6,U8)|0,M=M+Math.imul(I6,M8)|0,p=p+Math.imul(I6,U8)|0,x=x+Math.imul(j0,L8)|0,M=M+Math.imul(j0,q)|0,M=M+Math.imul(d0,L8)|0,p=p+Math.imul(d0,q)|0,x=x+Math.imul(X6,B8)|0,M=M+Math.imul(X6,D8)|0,M=M+Math.imul(O6,B8)|0,p=p+Math.imul(O6,D8)|0,x=x+Math.imul(U0,z8)|0,M=M+Math.imul(U0,F8)|0,M=M+Math.imul(M0,z8)|0,p=p+Math.imul(M0,F8)|0;var N5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(N5>>>26)|0,N5&=67108863,x=Math.imul(s0,e6),M=Math.imul(s0,d6),M=M+Math.imul(l0,e6)|0,p=Math.imul(l0,d6),x=x+Math.imul($0,S8)|0,M=M+Math.imul($0,N8)|0,M=M+Math.imul(R0,S8)|0,p=p+Math.imul(R0,N8)|0,x=x+Math.imul(b6,W8)|0,M=M+Math.imul(b6,X8)|0,M=M+Math.imul(n6,W8)|0,p=p+Math.imul(n6,X8)|0,x=x+Math.imul(v6,Q8)|0,M=M+Math.imul(v6,O8)|0,M=M+Math.imul(j6,Q8)|0,p=p+Math.imul(j6,O8)|0,x=x+Math.imul(P6,G8)|0,M=M+Math.imul(P6,E8)|0,M=M+Math.imul(R6,G8)|0,p=p+Math.imul(R6,E8)|0,x=x+Math.imul(S0,M8)|0,M=M+Math.imul(S0,U8)|0,M=M+Math.imul(x0,M8)|0,p=p+Math.imul(x0,U8)|0,x=x+Math.imul(K6,L8)|0,M=M+Math.imul(K6,q)|0,M=M+Math.imul(I6,L8)|0,p=p+Math.imul(I6,q)|0,x=x+Math.imul(j0,B8)|0,M=M+Math.imul(j0,D8)|0,M=M+Math.imul(d0,B8)|0,p=p+Math.imul(d0,D8)|0,x=x+Math.imul(X6,z8)|0,M=M+Math.imul(X6,F8)|0,M=M+Math.imul(O6,z8)|0,p=p+Math.imul(O6,F8)|0;var U5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(U5>>>26)|0,U5&=67108863,x=Math.imul(s0,S8),M=Math.imul(s0,N8),M=M+Math.imul(l0,S8)|0,p=Math.imul(l0,N8),x=x+Math.imul($0,W8)|0,M=M+Math.imul($0,X8)|0,M=M+Math.imul(R0,W8)|0,p=p+Math.imul(R0,X8)|0,x=x+Math.imul(b6,Q8)|0,M=M+Math.imul(b6,O8)|0,M=M+Math.imul(n6,Q8)|0,p=p+Math.imul(n6,O8)|0,x=x+Math.imul(v6,G8)|0,M=M+Math.imul(v6,E8)|0,M=M+Math.imul(j6,G8)|0,p=p+Math.imul(j6,E8)|0,x=x+Math.imul(P6,M8)|0,M=M+Math.imul(P6,U8)|0,M=M+Math.imul(R6,M8)|0,p=p+Math.imul(R6,U8)|0,x=x+Math.imul(S0,L8)|0,M=M+Math.imul(S0,q)|0,M=M+Math.imul(x0,L8)|0,p=p+Math.imul(x0,q)|0,x=x+Math.imul(K6,B8)|0,M=M+Math.imul(K6,D8)|0,M=M+Math.imul(I6,B8)|0,p=p+Math.imul(I6,D8)|0,x=x+Math.imul(j0,z8)|0,M=M+Math.imul(j0,F8)|0,M=M+Math.imul(d0,z8)|0,p=p+Math.imul(d0,F8)|0;var J5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(J5>>>26)|0,J5&=67108863,x=Math.imul(s0,W8),M=Math.imul(s0,X8),M=M+Math.imul(l0,W8)|0,p=Math.imul(l0,X8),x=x+Math.imul($0,Q8)|0,M=M+Math.imul($0,O8)|0,M=M+Math.imul(R0,Q8)|0,p=p+Math.imul(R0,O8)|0,x=x+Math.imul(b6,G8)|0,M=M+Math.imul(b6,E8)|0,M=M+Math.imul(n6,G8)|0,p=p+Math.imul(n6,E8)|0,x=x+Math.imul(v6,M8)|0,M=M+Math.imul(v6,U8)|0,M=M+Math.imul(j6,M8)|0,p=p+Math.imul(j6,U8)|0,x=x+Math.imul(P6,L8)|0,M=M+Math.imul(P6,q)|0,M=M+Math.imul(R6,L8)|0,p=p+Math.imul(R6,q)|0,x=x+Math.imul(S0,B8)|0,M=M+Math.imul(S0,D8)|0,M=M+Math.imul(x0,B8)|0,p=p+Math.imul(x0,D8)|0,x=x+Math.imul(K6,z8)|0,M=M+Math.imul(K6,F8)|0,M=M+Math.imul(I6,z8)|0,p=p+Math.imul(I6,F8)|0;var S5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(S5>>>26)|0,S5&=67108863,x=Math.imul(s0,Q8),M=Math.imul(s0,O8),M=M+Math.imul(l0,Q8)|0,p=Math.imul(l0,O8),x=x+Math.imul($0,G8)|0,M=M+Math.imul($0,E8)|0,M=M+Math.imul(R0,G8)|0,p=p+Math.imul(R0,E8)|0,x=x+Math.imul(b6,M8)|0,M=M+Math.imul(b6,U8)|0,M=M+Math.imul(n6,M8)|0,p=p+Math.imul(n6,U8)|0,x=x+Math.imul(v6,L8)|0,M=M+Math.imul(v6,q)|0,M=M+Math.imul(j6,L8)|0,p=p+Math.imul(j6,q)|0,x=x+Math.imul(P6,B8)|0,M=M+Math.imul(P6,D8)|0,M=M+Math.imul(R6,B8)|0,p=p+Math.imul(R6,D8)|0,x=x+Math.imul(S0,z8)|0,M=M+Math.imul(S0,F8)|0,M=M+Math.imul(x0,z8)|0,p=p+Math.imul(x0,F8)|0;var R5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(R5>>>26)|0,R5&=67108863,x=Math.imul(s0,G8),M=Math.imul(s0,E8),M=M+Math.imul(l0,G8)|0,p=Math.imul(l0,E8),x=x+Math.imul($0,M8)|0,M=M+Math.imul($0,U8)|0,M=M+Math.imul(R0,M8)|0,p=p+Math.imul(R0,U8)|0,x=x+Math.imul(b6,L8)|0,M=M+Math.imul(b6,q)|0,M=M+Math.imul(n6,L8)|0,p=p+Math.imul(n6,q)|0,x=x+Math.imul(v6,B8)|0,M=M+Math.imul(v6,D8)|0,M=M+Math.imul(j6,B8)|0,p=p+Math.imul(j6,D8)|0,x=x+Math.imul(P6,z8)|0,M=M+Math.imul(P6,F8)|0,M=M+Math.imul(R6,z8)|0,p=p+Math.imul(R6,F8)|0;var b7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(b7>>>26)|0,b7&=67108863,x=Math.imul(s0,M8),M=Math.imul(s0,U8),M=M+Math.imul(l0,M8)|0,p=Math.imul(l0,U8),x=x+Math.imul($0,L8)|0,M=M+Math.imul($0,q)|0,M=M+Math.imul(R0,L8)|0,p=p+Math.imul(R0,q)|0,x=x+Math.imul(b6,B8)|0,M=M+Math.imul(b6,D8)|0,M=M+Math.imul(n6,B8)|0,p=p+Math.imul(n6,D8)|0,x=x+Math.imul(v6,z8)|0,M=M+Math.imul(v6,F8)|0,M=M+Math.imul(j6,z8)|0,p=p+Math.imul(j6,F8)|0;var _5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(_5>>>26)|0,_5&=67108863,x=Math.imul(s0,L8),M=Math.imul(s0,q),M=M+Math.imul(l0,L8)|0,p=Math.imul(l0,q),x=x+Math.imul($0,B8)|0,M=M+Math.imul($0,D8)|0,M=M+Math.imul(R0,B8)|0,p=p+Math.imul(R0,D8)|0,x=x+Math.imul(b6,z8)|0,M=M+Math.imul(b6,F8)|0,M=M+Math.imul(n6,z8)|0,p=p+Math.imul(n6,F8)|0;var e7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(e7>>>26)|0,e7&=67108863,x=Math.imul(s0,B8),M=Math.imul(s0,D8),M=M+Math.imul(l0,B8)|0,p=Math.imul(l0,D8),x=x+Math.imul($0,z8)|0,M=M+Math.imul($0,F8)|0,M=M+Math.imul(R0,z8)|0,p=p+Math.imul(R0,F8)|0;var K5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(K5>>>26)|0,K5&=67108863,x=Math.imul(s0,z8),M=Math.imul(s0,F8),M=M+Math.imul(l0,z8)|0,p=Math.imul(l0,F8);var n7=(h+x|0)+((M&8191)<<13)|0;return h=(p+(M>>>13)|0)+(n7>>>26)|0,n7&=67108863,o[0]=D5,o[1]=p1,o[2]=m1,o[3]=f7,o[4]=X5,o[5]=Y5,o[6]=d7,o[7]=Q5,o[8]=W5,o[9]=N5,o[10]=U5,o[11]=J5,o[12]=S5,o[13]=R5,o[14]=b7,o[15]=_5,o[16]=e7,o[17]=K5,o[18]=n7,h!==0&&(o[19]=h,B.length++),B};Math.imul||(N0=Q0);function G0(R,D,B){B.negative=D.negative^R.negative,B.length=R.length+D.length;for(var E=0,w=0,o=0;o>>26)|0,w+=h>>>26,h&=67108863}B.words[o]=x,E=h,h=w}return E!==0?B.words[o]=E:B.length--,B.strip()}function J0(R,D,B){var E=new P0;return E.mulp(R,D,B)}G.prototype.mulTo=function(R,D){var B,E=this.length+R.length;return this.length===10&&R.length===10?B=N0(this,R,D):E<63?B=Q0(this,R,D):E<1024?B=G0(this,R,D):B=J0(this,R,D),B};function P0(R,D){this.x=R,this.y=D}P0.prototype.makeRBT=function(R){for(var D=new Array(R),B=G.prototype._countBits(R)-1,E=0;E>=1;return E},P0.prototype.permute=function(R,D,B,E,w,o){for(var h=0;h>>1)w++;return 1<>>13,B[2*o+1]=w&8191,w=w>>>13;for(o=2*D;o>=26,D+=E/67108864|0,D+=w>>>26,this.words[B]=w&67108863}return D!==0&&(this.words[B]=D,this.length++),this},G.prototype.muln=function(R){return this.clone().imuln(R)},G.prototype.sqr=function(){return this.mul(this)},G.prototype.isqr=function(){return this.imul(this.clone())},G.prototype.pow=function(R){var D=c(R);if(D.length===0)return new G(1);for(var B=this,E=0;E=0);var D=R%26,B=(R-D)/26,E=67108863>>>26-D<<26-D,w;if(D!==0){var o=0;for(w=0;w>>26-D}o&&(this.words[w]=o,this.length++)}if(B!==0){for(w=this.length-1;w>=0;w--)this.words[w+B]=this.words[w];for(w=0;w=0);var E;D?E=(D-D%26)/26:E=0;var w=R%26,o=Math.min((R-w)/26,this.length),h=67108863^67108863>>>w<o)for(this.length-=o,M=0;M=0&&(p!==0||M>=E);M--){var K0=this.words[M]|0;this.words[M]=p<<26-w|K0>>>w,p=K0&h}return x&&p!==0&&(x.words[x.length++]=p),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},G.prototype.ishrn=function(R,D,B){return j(this.negative===0),this.iushrn(R,D,B)},G.prototype.shln=function(R){return this.clone().ishln(R)},G.prototype.ushln=function(R){return this.clone().iushln(R)},G.prototype.shrn=function(R){return this.clone().ishrn(R)},G.prototype.ushrn=function(R){return this.clone().iushrn(R)},G.prototype.testn=function(R){j(typeof R=="number"&&R>=0);var D=R%26,B=(R-D)/26,E=1<=0);var D=R%26,B=(R-D)/26;if(j(this.negative===0,"imaskn works only with positive numbers"),this.length<=B)return this;if(D!==0&&B++,this.length=Math.min(B,this.length),D!==0){var E=67108863^67108863>>>D<=67108864;D++)this.words[D]-=67108864,D===this.length-1?this.words[D+1]=1:this.words[D+1]++;return this.length=Math.max(this.length,D+1),this},G.prototype.isubn=function(R){if(j(typeof R=="number"),j(R<67108864),R<0)return this.iaddn(-R);if(this.negative!==0)return this.negative=0,this.iaddn(R),this.negative=1,this;if(this.words[0]-=R,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var D=0;D>26)-(x/67108864|0),this.words[w+B]=o&67108863}for(;w>26,this.words[w+B]=o&67108863;if(h===0)return this.strip();for(j(h===-1),h=0,w=0;w>26,this.words[w]=o&67108863;return this.negative=1,this.strip()},G.prototype._wordDiv=function(R,D){var B=this.length-R.length,E=this.clone(),w=R,o=w.words[w.length-1]|0,h=this._countBits(o);B=26-h,B!==0&&(w=w.ushln(B),E.iushln(B),o=w.words[w.length-1]|0);var x=E.length-w.length,M;if(D!=="mod"){M=new G(null),M.length=x+1,M.words=new Array(M.length);for(var p=0;p=0;U0--){var M0=(E.words[w.length+U0]|0)*67108864+(E.words[w.length+U0-1]|0);for(M0=Math.min(M0/o|0,67108863),E._ishlnsubmul(w,M0,U0);E.negative!==0;)M0--,E.negative=0,E._ishlnsubmul(w,1,U0),E.isZero()||(E.negative^=1);M&&(M.words[U0]=M0)}return M&&M.strip(),E.strip(),D!=="div"&&B!==0&&E.iushrn(B),{div:M||null,mod:E}},G.prototype.divmod=function(R,D,B){if(j(!R.isZero()),this.isZero())return{div:new G(0),mod:new G(0)};var E,w,o;return this.negative!==0&&R.negative===0?(o=this.neg().divmod(R,D),D!=="mod"&&(E=o.div.neg()),D!=="div"&&(w=o.mod.neg(),B&&w.negative!==0&&w.iadd(R)),{div:E,mod:w}):this.negative===0&&R.negative!==0?(o=this.divmod(R.neg(),D),D!=="mod"&&(E=o.div.neg()),{div:E,mod:o.mod}):(this.negative&R.negative)!==0?(o=this.neg().divmod(R.neg(),D),D!=="div"&&(w=o.mod.neg(),B&&w.negative!==0&&w.isub(R)),{div:o.div,mod:w}):R.length>this.length||this.cmp(R)<0?{div:new G(0),mod:this}:R.length===1?D==="div"?{div:this.divn(R.words[0]),mod:null}:D==="mod"?{div:null,mod:new G(this.modn(R.words[0]))}:{div:this.divn(R.words[0]),mod:new G(this.modn(R.words[0]))}:this._wordDiv(R,D)},G.prototype.div=function(R){return this.divmod(R,"div",!1).div},G.prototype.mod=function(R){return this.divmod(R,"mod",!1).mod},G.prototype.umod=function(R){return this.divmod(R,"mod",!0).mod},G.prototype.divRound=function(R){var D=this.divmod(R);if(D.mod.isZero())return D.div;var B=D.div.negative!==0?D.mod.isub(R):D.mod,E=R.ushrn(1),w=R.andln(1),o=B.cmp(E);return o<0||w===1&&o===0?D.div:D.div.negative!==0?D.div.isubn(1):D.div.iaddn(1)},G.prototype.modn=function(R){j(R<=67108863);for(var D=(1<<26)%R,B=0,E=this.length-1;E>=0;E--)B=(D*B+(this.words[E]|0))%R;return B},G.prototype.idivn=function(R){j(R<=67108863);for(var D=0,B=this.length-1;B>=0;B--){var E=(this.words[B]|0)+D*67108864;this.words[B]=E/R|0,D=E%R}return this.strip()},G.prototype.divn=function(R){return this.clone().idivn(R)},G.prototype.egcd=function(R){j(R.negative===0),j(!R.isZero());var D=this,B=R.clone();D.negative!==0?D=D.umod(R):D=D.clone();for(var E=new G(1),w=new G(0),o=new G(0),h=new G(1),x=0;D.isEven()&&B.isEven();)D.iushrn(1),B.iushrn(1),++x;for(var M=B.clone(),p=D.clone();!D.isZero();){for(var K0=0,U0=1;(D.words[0]&U0)===0&&K0<26;++K0,U0<<=1);if(K0>0)for(D.iushrn(K0);K0-- >0;)(E.isOdd()||w.isOdd())&&(E.iadd(M),w.isub(p)),E.iushrn(1),w.iushrn(1);for(var M0=0,f0=1;(B.words[0]&f0)===0&&M0<26;++M0,f0<<=1);if(M0>0)for(B.iushrn(M0);M0-- >0;)(o.isOdd()||h.isOdd())&&(o.iadd(M),h.isub(p)),o.iushrn(1),h.iushrn(1);D.cmp(B)>=0?(D.isub(B),E.isub(o),w.isub(h)):(B.isub(D),o.isub(E),h.isub(w))}return{a:o,b:h,gcd:B.iushln(x)}},G.prototype._invmp=function(R){j(R.negative===0),j(!R.isZero());var D=this,B=R.clone();D.negative!==0?D=D.umod(R):D=D.clone();for(var E=new G(1),w=new G(0),o=B.clone();D.cmpn(1)>0&&B.cmpn(1)>0;){for(var h=0,x=1;(D.words[0]&x)===0&&h<26;++h,x<<=1);if(h>0)for(D.iushrn(h);h-- >0;)E.isOdd()&&E.iadd(o),E.iushrn(1);for(var M=0,p=1;(B.words[0]&p)===0&&M<26;++M,p<<=1);if(M>0)for(B.iushrn(M);M-- >0;)w.isOdd()&&w.iadd(o),w.iushrn(1);D.cmp(B)>=0?(D.isub(B),E.isub(w)):(B.isub(D),w.isub(E))}var K0;return D.cmpn(1)===0?K0=E:K0=w,K0.cmpn(0)<0&&K0.iadd(R),K0},G.prototype.gcd=function(R){if(this.isZero())return R.abs();if(R.isZero())return this.abs();var D=this.clone(),B=R.clone();D.negative=0,B.negative=0;for(var E=0;D.isEven()&&B.isEven();E++)D.iushrn(1),B.iushrn(1);do{for(;D.isEven();)D.iushrn(1);for(;B.isEven();)B.iushrn(1);var w=D.cmp(B);if(w<0){var o=D;D=B,B=o}else if(w===0||B.cmpn(1)===0)break;D.isub(B)}while(!0);return B.iushln(E)},G.prototype.invm=function(R){return this.egcd(R).a.umod(R)},G.prototype.isEven=function(){return(this.words[0]&1)===0},G.prototype.isOdd=function(){return(this.words[0]&1)===1},G.prototype.andln=function(R){return this.words[0]&R},G.prototype.bincn=function(R){j(typeof R=="number");var D=R%26,B=(R-D)/26,E=1<>>26,h&=67108863,this.words[o]=h}return w!==0&&(this.words[o]=w,this.length++),this},G.prototype.isZero=function(){return this.length===1&&this.words[0]===0},G.prototype.cmpn=function(R){var D=R<0;if(this.negative!==0&&!D)return-1;if(this.negative===0&&D)return 1;this.strip();var B;if(this.length>1)B=1;else{D&&(R=-R),j(R<=67108863,"Number is too big");var E=this.words[0]|0;B=E===R?0:ER.length)return 1;if(this.length=0;B--){var E=this.words[B]|0,w=R.words[B]|0;if(E!==w){Ew&&(D=1);break}}return D},G.prototype.gtn=function(R){return this.cmpn(R)===1},G.prototype.gt=function(R){return this.cmp(R)===1},G.prototype.gten=function(R){return this.cmpn(R)>=0},G.prototype.gte=function(R){return this.cmp(R)>=0},G.prototype.ltn=function(R){return this.cmpn(R)===-1},G.prototype.lt=function(R){return this.cmp(R)===-1},G.prototype.lten=function(R){return this.cmpn(R)<=0},G.prototype.lte=function(R){return this.cmp(R)<=0},G.prototype.eqn=function(R){return this.cmpn(R)===0},G.prototype.eq=function(R){return this.cmp(R)===0},G.red=function(R){return new b0(R)},G.prototype.toRed=function(R){return j(!this.red,"Already a number in reduction context"),j(this.negative===0,"red works only with positives"),R.convertTo(this)._forceRed(R)},G.prototype.fromRed=function(){return j(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},G.prototype._forceRed=function(R){return this.red=R,this},G.prototype.forceRed=function(R){return j(!this.red,"Already a number in reduction context"),this._forceRed(R)},G.prototype.redAdd=function(R){return j(this.red,"redAdd works only with red numbers"),this.red.add(this,R)},G.prototype.redIAdd=function(R){return j(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,R)},G.prototype.redSub=function(R){return j(this.red,"redSub works only with red numbers"),this.red.sub(this,R)},G.prototype.redISub=function(R){return j(this.red,"redISub works only with red numbers"),this.red.isub(this,R)},G.prototype.redShl=function(R){return j(this.red,"redShl works only with red numbers"),this.red.shl(this,R)},G.prototype.redMul=function(R){return j(this.red,"redMul works only with red numbers"),this.red._verify2(this,R),this.red.mul(this,R)},G.prototype.redIMul=function(R){return j(this.red,"redMul works only with red numbers"),this.red._verify2(this,R),this.red.imul(this,R)},G.prototype.redSqr=function(){return j(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},G.prototype.redISqr=function(){return j(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},G.prototype.redSqrt=function(){return j(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},G.prototype.redInvm=function(){return j(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},G.prototype.redNeg=function(){return j(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},G.prototype.redPow=function(R){return j(this.red&&!R.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,R)};var L0={k256:null,p224:null,p192:null,p25519:null};function A0(R,D){this.name=R,this.p=new G(D,16),this.n=this.p.bitLength(),this.k=new G(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}A0.prototype._tmp=function(){var R=new G(null);return R.words=new Array(Math.ceil(this.n/13)),R},A0.prototype.ireduce=function(R){var D=R,B;do this.split(D,this.tmp),D=this.imulK(D),D=D.iadd(this.tmp),B=D.bitLength();while(B>this.n);var E=B0?D.isub(this.p):D.strip!==void 0?D.strip():D._strip(),D},A0.prototype.split=function(R,D){R.iushrn(this.n,0,D)},A0.prototype.imulK=function(R){return R.imul(this.k)};function w0(){A0.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}Z(w0,A0),w0.prototype.split=function(R,D){for(var B=4194303,E=Math.min(R.length,9),w=0;w>>22,o=h}o>>>=22,R.words[w-10]=o,o===0&&R.length>10?R.length-=10:R.length-=9},w0.prototype.imulK=function(R){R.words[R.length]=0,R.words[R.length+1]=0,R.length+=2;for(var D=0,B=0;B>>=26,R.words[B]=w,D=E}return D!==0&&(R.words[R.length++]=D),R},G._prime=function(R){if(L0[R])return L0[R];var D;if(R==="k256")D=new w0;else if(R==="p224")D=new a0;else if(R==="p192")D=new Y6;else if(R==="p25519")D=new D6;else throw new Error("Unknown prime "+R);return L0[R]=D,D};function b0(R){if(typeof R=="string"){var D=G._prime(R);this.m=D.p,this.prime=D}else j(R.gtn(1),"modulus must be greater than 1"),this.m=R,this.prime=null}b0.prototype._verify1=function(R){j(R.negative===0,"red works only with positives"),j(R.red,"red works only with red numbers")},b0.prototype._verify2=function(R,D){j((R.negative|D.negative)===0,"red works only with positives"),j(R.red&&R.red===D.red,"red works only with red numbers")},b0.prototype.imod=function(R){return this.prime?this.prime.ireduce(R)._forceRed(this):R.umod(this.m)._forceRed(this)},b0.prototype.neg=function(R){return R.isZero()?R.clone():this.m.sub(R)._forceRed(this)},b0.prototype.add=function(R,D){this._verify2(R,D);var B=R.add(D);return B.cmp(this.m)>=0&&B.isub(this.m),B._forceRed(this)},b0.prototype.iadd=function(R,D){this._verify2(R,D);var B=R.iadd(D);return B.cmp(this.m)>=0&&B.isub(this.m),B},b0.prototype.sub=function(R,D){this._verify2(R,D);var B=R.sub(D);return B.cmpn(0)<0&&B.iadd(this.m),B._forceRed(this)},b0.prototype.isub=function(R,D){this._verify2(R,D);var B=R.isub(D);return B.cmpn(0)<0&&B.iadd(this.m),B},b0.prototype.shl=function(R,D){return this._verify1(R),this.imod(R.ushln(D))},b0.prototype.imul=function(R,D){return this._verify2(R,D),this.imod(R.imul(D))},b0.prototype.mul=function(R,D){return this._verify2(R,D),this.imod(R.mul(D))},b0.prototype.isqr=function(R){return this.imul(R,R.clone())},b0.prototype.sqr=function(R){return this.mul(R,R)},b0.prototype.sqrt=function(R){if(R.isZero())return R.clone();var D=this.m.andln(3);if(j(D%2===1),D===3){var B=this.m.add(new G(1)).iushrn(2);return this.pow(R,B)}for(var E=this.m.subn(1),w=0;!E.isZero()&&E.andln(1)===0;)w++,E.iushrn(1);j(!E.isZero());var o=new G(1).toRed(this),h=o.redNeg(),x=this.m.subn(1).iushrn(1),M=this.m.bitLength();for(M=new G(2*M*M).toRed(this);this.pow(M,x).cmp(h)!==0;)M.redIAdd(h);for(var p=this.pow(M,E),K0=this.pow(R,E.addn(1).iushrn(1)),U0=this.pow(R,E),M0=w;U0.cmp(o)!==0;){for(var f0=U0,X6=0;f0.cmp(o)!==0;X6++)f0=f0.redSqr();j(X6=0;w--){for(var p=D.words[w],K0=M-1;K0>=0;K0--){var U0=p>>K0&1;if(o!==E[0]&&(o=this.sqr(o)),U0===0&&h===0){x=0;continue}h<<=1,h|=U0,x++,!(x!==B&&(w!==0||K0!==0))&&(o=this.mul(o,E[h]),x=0,h=0)}M=26}return o},b0.prototype.convertTo=function(R){var D=R.umod(this.m);return D===R?D.clone():D},b0.prototype.convertFrom=function(R){var D=R.clone();return D.red=null,D},G.mont=function(R){return new l6(R)};function l6(R){b0.call(this,R),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new G(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}Z(l6,b0),l6.prototype.convertTo=function(R){return this.imod(R.ushln(this.shift))},l6.prototype.convertFrom=function(R){var D=this.imod(R.mul(this.rinv));return D.red=null,D},l6.prototype.imul=function(R,D){if(R.isZero()||D.isZero())return R.words[0]=0,R.length=1,R;var B=R.imul(D),E=B.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),w=B.isub(E).iushrn(this.shift),o=w;return w.cmp(this.m)>=0?o=w.isub(this.m):w.cmpn(0)<0&&(o=w.iadd(this.m)),o._forceRed(this)},l6.prototype.mul=function(R,D){if(R.isZero()||D.isZero())return new G(0)._forceRed(this);var B=R.mul(D),E=B.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),w=B.isub(E).iushrn(this.shift),o=w;return w.cmp(this.m)>=0?o=w.isub(this.m):w.cmpn(0)<0&&(o=w.iadd(this.m)),o._forceRed(this)},l6.prototype.invm=function(R){var D=this.imod(R._invmp(this.m).mul(this.r2));return D._forceRed(this)}})(typeof l>"u"||l,v)}),TC=k6((v,l)=>{var s=BU(),N=$C();l.exports=function(n){return new Z(n)};var j={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};j.p224=j.secp224r1,j.p256=j.secp256r1=j.prime256v1,j.p192=j.secp192r1=j.prime192v1,j.p384=j.secp384r1,j.p521=j.secp521r1;function Z(n){this.curveType=j[n],this.curveType||(this.curveType={name:n}),this.curve=new s.ec(this.curveType.name),this.keys=void 0}Z.prototype.generateKeys=function(n,f){return this.keys=this.curve.genKeyPair(),this.getPublicKey(n,f)},Z.prototype.computeSecret=function(n,f,b){f=f||"utf8",Buffer.isBuffer(n)||(n=new Buffer(n,f));var e=this.curve.keyFromPublic(n).getPublic(),r=e.mul(this.keys.getPrivate()).getX();return G(r,b,this.curveType.byteLength)},Z.prototype.getPublicKey=function(n,f){var b=this.keys.getPublic(f==="compressed",!0);return f==="hybrid"&&(b[b.length-1]%2?b[0]=7:b[0]=6),G(b,n)},Z.prototype.getPrivateKey=function(n){return G(this.keys.getPrivate(),n)},Z.prototype.setPublicKey=function(n,f){return f=f||"utf8",Buffer.isBuffer(n)||(n=new Buffer(n,f)),this.keys._importPublic(n),this},Z.prototype.setPrivateKey=function(n,f){f=f||"utf8",Buffer.isBuffer(n)||(n=new Buffer(n,f));var b=new N(n);return b=b.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(b),this};function G(n,f,b){Array.isArray(n)||(n=n.toArray());var e=new Buffer(n);if(b&&e.length{var s=LY(),N=_7().Buffer;l.exports=function(Z,G){for(var n=N.alloc(0),f=0,b;n.length{l.exports=function(s,N){for(var j=s.length,Z=-1;++Z{(function(s,N){function j(R,D){if(!R)throw new Error(D||"Assertion failed")}function Z(R,D){R.super_=D;var B=function(){};B.prototype=D.prototype,R.prototype=new B,R.prototype.constructor=R}function G(R,D,B){if(G.isBN(R))return R;this.negative=0,this.words=null,this.length=0,this.red=null,R!==null&&((D==="le"||D==="be")&&(B=D,D=10),this._init(R||0,D||10,B||"be"))}typeof s=="object"?s.exports=G:N.BN=G,G.BN=G,G.wordSize=26;var n;try{typeof window<"u"&&typeof window.Buffer<"u"?n=window.Buffer:n=XX().Buffer}catch{}G.isBN=function(R){return R instanceof G?!0:R!==null&&typeof R=="object"&&R.constructor.wordSize===G.wordSize&&Array.isArray(R.words)},G.max=function(R,D){return R.cmp(D)>0?R:D},G.min=function(R,D){return R.cmp(D)<0?R:D},G.prototype._init=function(R,D,B){if(typeof R=="number")return this._initNumber(R,D,B);if(typeof R=="object")return this._initArray(R,D,B);D==="hex"&&(D=16),j(D===(D|0)&&D>=2&&D<=36),R=R.toString().replace(/\s+/g,"");var E=0;R[0]==="-"&&(E++,this.negative=1),E=0;E-=3)o=R[E]|R[E-1]<<8|R[E-2]<<16,this.words[w]|=o<>>26-h&67108863,h+=24,h>=26&&(h-=26,w++);else if(B==="le")for(E=0,w=0;E>>26-h&67108863,h+=24,h>=26&&(h-=26,w++);return this.strip()};function f(R,D){var B=R.charCodeAt(D);return B>=65&&B<=70?B-55:B>=97&&B<=102?B-87:B-48&15}function b(R,D,B){var E=f(R,B);return B-1>=D&&(E|=f(R,B-1)<<4),E}G.prototype._parseHex=function(R,D,B){this.length=Math.ceil((R.length-D)/6),this.words=new Array(this.length);for(var E=0;E=D;E-=2)h=b(R,D,E)<=18?(w-=18,o+=1,this.words[o]|=h>>>26):w+=8;else{var x=R.length-D;for(E=x%2===0?D+1:D;E=18?(w-=18,o+=1,this.words[o]|=h>>>26):w+=8}this.strip()};function e(R,D,B,E){for(var w=0,o=Math.min(R.length,B),h=D;h=49?w+=x-49+10:x>=17?w+=x-17+10:w+=x}return w}G.prototype._parseBase=function(R,D,B){this.words=[0],this.length=1;for(var E=0,w=1;w<=67108863;w*=D)E++;E--,w=w/D|0;for(var o=R.length-B,h=o%E,x=Math.min(o,o-h)+B,M=0,p=B;p1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},G.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},G.prototype.inspect=function(){return(this.red?""};var r=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],a=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],V0=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];G.prototype.toString=function(R,D){R=R||10,D=D|0||1;var B;if(R===16||R==="hex"){B="";for(var E=0,w=0,o=0;o>>24-E&16777215,w!==0||o!==this.length-1?B=r[6-x.length]+x+B:B=x+B,E+=2,E>=26&&(E-=26,o--)}for(w!==0&&(B=w.toString(16)+B);B.length%D!==0;)B="0"+B;return this.negative!==0&&(B="-"+B),B}if(R===(R|0)&&R>=2&&R<=36){var M=a[R],p=V0[R];B="";var K0=this.clone();for(K0.negative=0;!K0.isZero();){var U0=K0.modn(p).toString(R);K0=K0.idivn(p),K0.isZero()?B=U0+B:B=r[M-U0.length]+U0+B}for(this.isZero()&&(B="0"+B);B.length%D!==0;)B="0"+B;return this.negative!==0&&(B="-"+B),B}j(!1,"Base should be between 2 and 36")},G.prototype.toNumber=function(){var R=this.words[0];return this.length===2?R+=this.words[1]*67108864:this.length===3&&this.words[2]===1?R+=4503599627370496+this.words[1]*67108864:this.length>2&&j(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-R:R},G.prototype.toJSON=function(){return this.toString(16)},G.prototype.toBuffer=function(R,D){return j(typeof n<"u"),this.toArrayLike(n,R,D)},G.prototype.toArray=function(R,D){return this.toArrayLike(Array,R,D)},G.prototype.toArrayLike=function(R,D,B){var E=this.byteLength(),w=B||Math.max(1,E);j(E<=w,"byte array longer than desired length"),j(w>0,"Requested array length <= 0"),this.strip();var o=D==="le",h=new R(w),x,M,p=this.clone();if(o){for(M=0;!p.isZero();M++)x=p.andln(255),p.iushrn(8),h[M]=x;for(;M=4096&&(B+=13,D>>>=13),D>=64&&(B+=7,D>>>=7),D>=8&&(B+=4,D>>>=4),D>=2&&(B+=2,D>>>=2),B+D},G.prototype._zeroBits=function(R){if(R===0)return 26;var D=R,B=0;return(D&8191)===0&&(B+=13,D>>>=13),(D&127)===0&&(B+=7,D>>>=7),(D&15)===0&&(B+=4,D>>>=4),(D&3)===0&&(B+=2,D>>>=2),(D&1)===0&&B++,B},G.prototype.bitLength=function(){var R=this.words[this.length-1],D=this._countBits(R);return(this.length-1)*26+D};function c(R){for(var D=new Array(R.bitLength()),B=0;B>>w}return D}G.prototype.zeroBits=function(){if(this.isZero())return 0;for(var R=0,D=0;DR.length?this.clone().ior(R):R.clone().ior(this)},G.prototype.uor=function(R){return this.length>R.length?this.clone().iuor(R):R.clone().iuor(this)},G.prototype.iuand=function(R){var D;this.length>R.length?D=R:D=this;for(var B=0;BR.length?this.clone().iand(R):R.clone().iand(this)},G.prototype.uand=function(R){return this.length>R.length?this.clone().iuand(R):R.clone().iuand(this)},G.prototype.iuxor=function(R){var D,B;this.length>R.length?(D=this,B=R):(D=R,B=this);for(var E=0;ER.length?this.clone().ixor(R):R.clone().ixor(this)},G.prototype.uxor=function(R){return this.length>R.length?this.clone().iuxor(R):R.clone().iuxor(this)},G.prototype.inotn=function(R){j(typeof R=="number"&&R>=0);var D=Math.ceil(R/26)|0,B=R%26;this._expand(D),B>0&&D--;for(var E=0;E0&&(this.words[E]=~this.words[E]&67108863>>26-B),this.strip()},G.prototype.notn=function(R){return this.clone().inotn(R)},G.prototype.setn=function(R,D){j(typeof R=="number"&&R>=0);var B=R/26|0,E=R%26;return this._expand(B+1),D?this.words[B]=this.words[B]|1<R.length?(B=this,E=R):(B=R,E=this);for(var w=0,o=0;o>>26;for(;w!==0&&o>>26;if(this.length=B.length,w!==0)this.words[this.length]=w,this.length++;else if(B!==this)for(;oR.length?this.clone().iadd(R):R.clone().iadd(this)},G.prototype.isub=function(R){if(R.negative!==0){R.negative=0;var D=this.iadd(R);return R.negative=1,D._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(R),this.negative=1,this._normSign();var B=this.cmp(R);if(B===0)return this.negative=0,this.length=1,this.words[0]=0,this;var E,w;B>0?(E=this,w=R):(E=R,w=this);for(var o=0,h=0;h>26,this.words[h]=D&67108863;for(;o!==0&&h>26,this.words[h]=D&67108863;if(o===0&&h>>26,U0=M&67108863,M0=Math.min(p,D.length-1),f0=Math.max(0,p-R.length+1);f0<=M0;f0++){var X6=p-f0|0;w=R.words[X6]|0,o=D.words[f0]|0,h=w*o+U0,K0+=h/67108864|0,U0=h&67108863}B.words[p]=U0|0,M=K0|0}return M!==0?B.words[p]=M|0:B.length--,B.strip()}var N0=function(R,D,B){var E=R.words,w=D.words,o=B.words,h=0,x,M,p,K0=E[0]|0,U0=K0&8191,M0=K0>>>13,f0=E[1]|0,X6=f0&8191,O6=f0>>>13,r0=E[2]|0,j0=r0&8191,d0=r0>>>13,c6=E[3]|0,K6=c6&8191,I6=c6>>>13,z0=E[4]|0,S0=z0&8191,x0=z0>>>13,_6=E[5]|0,P6=_6&8191,R6=_6>>>13,s8=E[6]|0,v6=s8&8191,j6=s8>>>13,h2=E[7]|0,b6=h2&8191,n6=h2>>>13,a1=E[8]|0,$0=a1&8191,R0=a1>>>13,v0=E[9]|0,s0=v0&8191,l0=v0>>>13,$8=w[0]|0,z6=$8&8191,g6=$8>>>13,f1=w[1]|0,e6=f1&8191,d6=f1>>>13,k1=w[2]|0,S8=k1&8191,N8=k1>>>13,m5=w[3]|0,W8=m5&8191,X8=m5>>>13,o7=w[4]|0,Q8=o7&8191,O8=o7>>>13,C9=w[5]|0,G8=C9&8191,E8=C9>>>13,d5=w[6]|0,M8=d5&8191,U8=d5>>>13,A9=w[7]|0,L8=A9&8191,q=A9>>>13,O9=w[8]|0,B8=O9&8191,D8=O9>>>13,G9=w[9]|0,z8=G9&8191,F8=G9>>>13;B.negative=R.negative^D.negative,B.length=19,x=Math.imul(U0,z6),M=Math.imul(U0,g6),M=M+Math.imul(M0,z6)|0,p=Math.imul(M0,g6);var D5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(D5>>>26)|0,D5&=67108863,x=Math.imul(X6,z6),M=Math.imul(X6,g6),M=M+Math.imul(O6,z6)|0,p=Math.imul(O6,g6),x=x+Math.imul(U0,e6)|0,M=M+Math.imul(U0,d6)|0,M=M+Math.imul(M0,e6)|0,p=p+Math.imul(M0,d6)|0;var p1=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(p1>>>26)|0,p1&=67108863,x=Math.imul(j0,z6),M=Math.imul(j0,g6),M=M+Math.imul(d0,z6)|0,p=Math.imul(d0,g6),x=x+Math.imul(X6,e6)|0,M=M+Math.imul(X6,d6)|0,M=M+Math.imul(O6,e6)|0,p=p+Math.imul(O6,d6)|0,x=x+Math.imul(U0,S8)|0,M=M+Math.imul(U0,N8)|0,M=M+Math.imul(M0,S8)|0,p=p+Math.imul(M0,N8)|0;var m1=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(m1>>>26)|0,m1&=67108863,x=Math.imul(K6,z6),M=Math.imul(K6,g6),M=M+Math.imul(I6,z6)|0,p=Math.imul(I6,g6),x=x+Math.imul(j0,e6)|0,M=M+Math.imul(j0,d6)|0,M=M+Math.imul(d0,e6)|0,p=p+Math.imul(d0,d6)|0,x=x+Math.imul(X6,S8)|0,M=M+Math.imul(X6,N8)|0,M=M+Math.imul(O6,S8)|0,p=p+Math.imul(O6,N8)|0,x=x+Math.imul(U0,W8)|0,M=M+Math.imul(U0,X8)|0,M=M+Math.imul(M0,W8)|0,p=p+Math.imul(M0,X8)|0;var f7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(f7>>>26)|0,f7&=67108863,x=Math.imul(S0,z6),M=Math.imul(S0,g6),M=M+Math.imul(x0,z6)|0,p=Math.imul(x0,g6),x=x+Math.imul(K6,e6)|0,M=M+Math.imul(K6,d6)|0,M=M+Math.imul(I6,e6)|0,p=p+Math.imul(I6,d6)|0,x=x+Math.imul(j0,S8)|0,M=M+Math.imul(j0,N8)|0,M=M+Math.imul(d0,S8)|0,p=p+Math.imul(d0,N8)|0,x=x+Math.imul(X6,W8)|0,M=M+Math.imul(X6,X8)|0,M=M+Math.imul(O6,W8)|0,p=p+Math.imul(O6,X8)|0,x=x+Math.imul(U0,Q8)|0,M=M+Math.imul(U0,O8)|0,M=M+Math.imul(M0,Q8)|0,p=p+Math.imul(M0,O8)|0;var X5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(X5>>>26)|0,X5&=67108863,x=Math.imul(P6,z6),M=Math.imul(P6,g6),M=M+Math.imul(R6,z6)|0,p=Math.imul(R6,g6),x=x+Math.imul(S0,e6)|0,M=M+Math.imul(S0,d6)|0,M=M+Math.imul(x0,e6)|0,p=p+Math.imul(x0,d6)|0,x=x+Math.imul(K6,S8)|0,M=M+Math.imul(K6,N8)|0,M=M+Math.imul(I6,S8)|0,p=p+Math.imul(I6,N8)|0,x=x+Math.imul(j0,W8)|0,M=M+Math.imul(j0,X8)|0,M=M+Math.imul(d0,W8)|0,p=p+Math.imul(d0,X8)|0,x=x+Math.imul(X6,Q8)|0,M=M+Math.imul(X6,O8)|0,M=M+Math.imul(O6,Q8)|0,p=p+Math.imul(O6,O8)|0,x=x+Math.imul(U0,G8)|0,M=M+Math.imul(U0,E8)|0,M=M+Math.imul(M0,G8)|0,p=p+Math.imul(M0,E8)|0;var Y5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(Y5>>>26)|0,Y5&=67108863,x=Math.imul(v6,z6),M=Math.imul(v6,g6),M=M+Math.imul(j6,z6)|0,p=Math.imul(j6,g6),x=x+Math.imul(P6,e6)|0,M=M+Math.imul(P6,d6)|0,M=M+Math.imul(R6,e6)|0,p=p+Math.imul(R6,d6)|0,x=x+Math.imul(S0,S8)|0,M=M+Math.imul(S0,N8)|0,M=M+Math.imul(x0,S8)|0,p=p+Math.imul(x0,N8)|0,x=x+Math.imul(K6,W8)|0,M=M+Math.imul(K6,X8)|0,M=M+Math.imul(I6,W8)|0,p=p+Math.imul(I6,X8)|0,x=x+Math.imul(j0,Q8)|0,M=M+Math.imul(j0,O8)|0,M=M+Math.imul(d0,Q8)|0,p=p+Math.imul(d0,O8)|0,x=x+Math.imul(X6,G8)|0,M=M+Math.imul(X6,E8)|0,M=M+Math.imul(O6,G8)|0,p=p+Math.imul(O6,E8)|0,x=x+Math.imul(U0,M8)|0,M=M+Math.imul(U0,U8)|0,M=M+Math.imul(M0,M8)|0,p=p+Math.imul(M0,U8)|0;var d7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(d7>>>26)|0,d7&=67108863,x=Math.imul(b6,z6),M=Math.imul(b6,g6),M=M+Math.imul(n6,z6)|0,p=Math.imul(n6,g6),x=x+Math.imul(v6,e6)|0,M=M+Math.imul(v6,d6)|0,M=M+Math.imul(j6,e6)|0,p=p+Math.imul(j6,d6)|0,x=x+Math.imul(P6,S8)|0,M=M+Math.imul(P6,N8)|0,M=M+Math.imul(R6,S8)|0,p=p+Math.imul(R6,N8)|0,x=x+Math.imul(S0,W8)|0,M=M+Math.imul(S0,X8)|0,M=M+Math.imul(x0,W8)|0,p=p+Math.imul(x0,X8)|0,x=x+Math.imul(K6,Q8)|0,M=M+Math.imul(K6,O8)|0,M=M+Math.imul(I6,Q8)|0,p=p+Math.imul(I6,O8)|0,x=x+Math.imul(j0,G8)|0,M=M+Math.imul(j0,E8)|0,M=M+Math.imul(d0,G8)|0,p=p+Math.imul(d0,E8)|0,x=x+Math.imul(X6,M8)|0,M=M+Math.imul(X6,U8)|0,M=M+Math.imul(O6,M8)|0,p=p+Math.imul(O6,U8)|0,x=x+Math.imul(U0,L8)|0,M=M+Math.imul(U0,q)|0,M=M+Math.imul(M0,L8)|0,p=p+Math.imul(M0,q)|0;var Q5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(Q5>>>26)|0,Q5&=67108863,x=Math.imul($0,z6),M=Math.imul($0,g6),M=M+Math.imul(R0,z6)|0,p=Math.imul(R0,g6),x=x+Math.imul(b6,e6)|0,M=M+Math.imul(b6,d6)|0,M=M+Math.imul(n6,e6)|0,p=p+Math.imul(n6,d6)|0,x=x+Math.imul(v6,S8)|0,M=M+Math.imul(v6,N8)|0,M=M+Math.imul(j6,S8)|0,p=p+Math.imul(j6,N8)|0,x=x+Math.imul(P6,W8)|0,M=M+Math.imul(P6,X8)|0,M=M+Math.imul(R6,W8)|0,p=p+Math.imul(R6,X8)|0,x=x+Math.imul(S0,Q8)|0,M=M+Math.imul(S0,O8)|0,M=M+Math.imul(x0,Q8)|0,p=p+Math.imul(x0,O8)|0,x=x+Math.imul(K6,G8)|0,M=M+Math.imul(K6,E8)|0,M=M+Math.imul(I6,G8)|0,p=p+Math.imul(I6,E8)|0,x=x+Math.imul(j0,M8)|0,M=M+Math.imul(j0,U8)|0,M=M+Math.imul(d0,M8)|0,p=p+Math.imul(d0,U8)|0,x=x+Math.imul(X6,L8)|0,M=M+Math.imul(X6,q)|0,M=M+Math.imul(O6,L8)|0,p=p+Math.imul(O6,q)|0,x=x+Math.imul(U0,B8)|0,M=M+Math.imul(U0,D8)|0,M=M+Math.imul(M0,B8)|0,p=p+Math.imul(M0,D8)|0;var W5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(W5>>>26)|0,W5&=67108863,x=Math.imul(s0,z6),M=Math.imul(s0,g6),M=M+Math.imul(l0,z6)|0,p=Math.imul(l0,g6),x=x+Math.imul($0,e6)|0,M=M+Math.imul($0,d6)|0,M=M+Math.imul(R0,e6)|0,p=p+Math.imul(R0,d6)|0,x=x+Math.imul(b6,S8)|0,M=M+Math.imul(b6,N8)|0,M=M+Math.imul(n6,S8)|0,p=p+Math.imul(n6,N8)|0,x=x+Math.imul(v6,W8)|0,M=M+Math.imul(v6,X8)|0,M=M+Math.imul(j6,W8)|0,p=p+Math.imul(j6,X8)|0,x=x+Math.imul(P6,Q8)|0,M=M+Math.imul(P6,O8)|0,M=M+Math.imul(R6,Q8)|0,p=p+Math.imul(R6,O8)|0,x=x+Math.imul(S0,G8)|0,M=M+Math.imul(S0,E8)|0,M=M+Math.imul(x0,G8)|0,p=p+Math.imul(x0,E8)|0,x=x+Math.imul(K6,M8)|0,M=M+Math.imul(K6,U8)|0,M=M+Math.imul(I6,M8)|0,p=p+Math.imul(I6,U8)|0,x=x+Math.imul(j0,L8)|0,M=M+Math.imul(j0,q)|0,M=M+Math.imul(d0,L8)|0,p=p+Math.imul(d0,q)|0,x=x+Math.imul(X6,B8)|0,M=M+Math.imul(X6,D8)|0,M=M+Math.imul(O6,B8)|0,p=p+Math.imul(O6,D8)|0,x=x+Math.imul(U0,z8)|0,M=M+Math.imul(U0,F8)|0,M=M+Math.imul(M0,z8)|0,p=p+Math.imul(M0,F8)|0;var N5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(N5>>>26)|0,N5&=67108863,x=Math.imul(s0,e6),M=Math.imul(s0,d6),M=M+Math.imul(l0,e6)|0,p=Math.imul(l0,d6),x=x+Math.imul($0,S8)|0,M=M+Math.imul($0,N8)|0,M=M+Math.imul(R0,S8)|0,p=p+Math.imul(R0,N8)|0,x=x+Math.imul(b6,W8)|0,M=M+Math.imul(b6,X8)|0,M=M+Math.imul(n6,W8)|0,p=p+Math.imul(n6,X8)|0,x=x+Math.imul(v6,Q8)|0,M=M+Math.imul(v6,O8)|0,M=M+Math.imul(j6,Q8)|0,p=p+Math.imul(j6,O8)|0,x=x+Math.imul(P6,G8)|0,M=M+Math.imul(P6,E8)|0,M=M+Math.imul(R6,G8)|0,p=p+Math.imul(R6,E8)|0,x=x+Math.imul(S0,M8)|0,M=M+Math.imul(S0,U8)|0,M=M+Math.imul(x0,M8)|0,p=p+Math.imul(x0,U8)|0,x=x+Math.imul(K6,L8)|0,M=M+Math.imul(K6,q)|0,M=M+Math.imul(I6,L8)|0,p=p+Math.imul(I6,q)|0,x=x+Math.imul(j0,B8)|0,M=M+Math.imul(j0,D8)|0,M=M+Math.imul(d0,B8)|0,p=p+Math.imul(d0,D8)|0,x=x+Math.imul(X6,z8)|0,M=M+Math.imul(X6,F8)|0,M=M+Math.imul(O6,z8)|0,p=p+Math.imul(O6,F8)|0;var U5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(U5>>>26)|0,U5&=67108863,x=Math.imul(s0,S8),M=Math.imul(s0,N8),M=M+Math.imul(l0,S8)|0,p=Math.imul(l0,N8),x=x+Math.imul($0,W8)|0,M=M+Math.imul($0,X8)|0,M=M+Math.imul(R0,W8)|0,p=p+Math.imul(R0,X8)|0,x=x+Math.imul(b6,Q8)|0,M=M+Math.imul(b6,O8)|0,M=M+Math.imul(n6,Q8)|0,p=p+Math.imul(n6,O8)|0,x=x+Math.imul(v6,G8)|0,M=M+Math.imul(v6,E8)|0,M=M+Math.imul(j6,G8)|0,p=p+Math.imul(j6,E8)|0,x=x+Math.imul(P6,M8)|0,M=M+Math.imul(P6,U8)|0,M=M+Math.imul(R6,M8)|0,p=p+Math.imul(R6,U8)|0,x=x+Math.imul(S0,L8)|0,M=M+Math.imul(S0,q)|0,M=M+Math.imul(x0,L8)|0,p=p+Math.imul(x0,q)|0,x=x+Math.imul(K6,B8)|0,M=M+Math.imul(K6,D8)|0,M=M+Math.imul(I6,B8)|0,p=p+Math.imul(I6,D8)|0,x=x+Math.imul(j0,z8)|0,M=M+Math.imul(j0,F8)|0,M=M+Math.imul(d0,z8)|0,p=p+Math.imul(d0,F8)|0;var J5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(J5>>>26)|0,J5&=67108863,x=Math.imul(s0,W8),M=Math.imul(s0,X8),M=M+Math.imul(l0,W8)|0,p=Math.imul(l0,X8),x=x+Math.imul($0,Q8)|0,M=M+Math.imul($0,O8)|0,M=M+Math.imul(R0,Q8)|0,p=p+Math.imul(R0,O8)|0,x=x+Math.imul(b6,G8)|0,M=M+Math.imul(b6,E8)|0,M=M+Math.imul(n6,G8)|0,p=p+Math.imul(n6,E8)|0,x=x+Math.imul(v6,M8)|0,M=M+Math.imul(v6,U8)|0,M=M+Math.imul(j6,M8)|0,p=p+Math.imul(j6,U8)|0,x=x+Math.imul(P6,L8)|0,M=M+Math.imul(P6,q)|0,M=M+Math.imul(R6,L8)|0,p=p+Math.imul(R6,q)|0,x=x+Math.imul(S0,B8)|0,M=M+Math.imul(S0,D8)|0,M=M+Math.imul(x0,B8)|0,p=p+Math.imul(x0,D8)|0,x=x+Math.imul(K6,z8)|0,M=M+Math.imul(K6,F8)|0,M=M+Math.imul(I6,z8)|0,p=p+Math.imul(I6,F8)|0;var S5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(S5>>>26)|0,S5&=67108863,x=Math.imul(s0,Q8),M=Math.imul(s0,O8),M=M+Math.imul(l0,Q8)|0,p=Math.imul(l0,O8),x=x+Math.imul($0,G8)|0,M=M+Math.imul($0,E8)|0,M=M+Math.imul(R0,G8)|0,p=p+Math.imul(R0,E8)|0,x=x+Math.imul(b6,M8)|0,M=M+Math.imul(b6,U8)|0,M=M+Math.imul(n6,M8)|0,p=p+Math.imul(n6,U8)|0,x=x+Math.imul(v6,L8)|0,M=M+Math.imul(v6,q)|0,M=M+Math.imul(j6,L8)|0,p=p+Math.imul(j6,q)|0,x=x+Math.imul(P6,B8)|0,M=M+Math.imul(P6,D8)|0,M=M+Math.imul(R6,B8)|0,p=p+Math.imul(R6,D8)|0,x=x+Math.imul(S0,z8)|0,M=M+Math.imul(S0,F8)|0,M=M+Math.imul(x0,z8)|0,p=p+Math.imul(x0,F8)|0;var R5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(R5>>>26)|0,R5&=67108863,x=Math.imul(s0,G8),M=Math.imul(s0,E8),M=M+Math.imul(l0,G8)|0,p=Math.imul(l0,E8),x=x+Math.imul($0,M8)|0,M=M+Math.imul($0,U8)|0,M=M+Math.imul(R0,M8)|0,p=p+Math.imul(R0,U8)|0,x=x+Math.imul(b6,L8)|0,M=M+Math.imul(b6,q)|0,M=M+Math.imul(n6,L8)|0,p=p+Math.imul(n6,q)|0,x=x+Math.imul(v6,B8)|0,M=M+Math.imul(v6,D8)|0,M=M+Math.imul(j6,B8)|0,p=p+Math.imul(j6,D8)|0,x=x+Math.imul(P6,z8)|0,M=M+Math.imul(P6,F8)|0,M=M+Math.imul(R6,z8)|0,p=p+Math.imul(R6,F8)|0;var b7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(b7>>>26)|0,b7&=67108863,x=Math.imul(s0,M8),M=Math.imul(s0,U8),M=M+Math.imul(l0,M8)|0,p=Math.imul(l0,U8),x=x+Math.imul($0,L8)|0,M=M+Math.imul($0,q)|0,M=M+Math.imul(R0,L8)|0,p=p+Math.imul(R0,q)|0,x=x+Math.imul(b6,B8)|0,M=M+Math.imul(b6,D8)|0,M=M+Math.imul(n6,B8)|0,p=p+Math.imul(n6,D8)|0,x=x+Math.imul(v6,z8)|0,M=M+Math.imul(v6,F8)|0,M=M+Math.imul(j6,z8)|0,p=p+Math.imul(j6,F8)|0;var _5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(_5>>>26)|0,_5&=67108863,x=Math.imul(s0,L8),M=Math.imul(s0,q),M=M+Math.imul(l0,L8)|0,p=Math.imul(l0,q),x=x+Math.imul($0,B8)|0,M=M+Math.imul($0,D8)|0,M=M+Math.imul(R0,B8)|0,p=p+Math.imul(R0,D8)|0,x=x+Math.imul(b6,z8)|0,M=M+Math.imul(b6,F8)|0,M=M+Math.imul(n6,z8)|0,p=p+Math.imul(n6,F8)|0;var e7=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(e7>>>26)|0,e7&=67108863,x=Math.imul(s0,B8),M=Math.imul(s0,D8),M=M+Math.imul(l0,B8)|0,p=Math.imul(l0,D8),x=x+Math.imul($0,z8)|0,M=M+Math.imul($0,F8)|0,M=M+Math.imul(R0,z8)|0,p=p+Math.imul(R0,F8)|0;var K5=(h+x|0)+((M&8191)<<13)|0;h=(p+(M>>>13)|0)+(K5>>>26)|0,K5&=67108863,x=Math.imul(s0,z8),M=Math.imul(s0,F8),M=M+Math.imul(l0,z8)|0,p=Math.imul(l0,F8);var n7=(h+x|0)+((M&8191)<<13)|0;return h=(p+(M>>>13)|0)+(n7>>>26)|0,n7&=67108863,o[0]=D5,o[1]=p1,o[2]=m1,o[3]=f7,o[4]=X5,o[5]=Y5,o[6]=d7,o[7]=Q5,o[8]=W5,o[9]=N5,o[10]=U5,o[11]=J5,o[12]=S5,o[13]=R5,o[14]=b7,o[15]=_5,o[16]=e7,o[17]=K5,o[18]=n7,h!==0&&(o[19]=h,B.length++),B};Math.imul||(N0=Q0);function G0(R,D,B){B.negative=D.negative^R.negative,B.length=R.length+D.length;for(var E=0,w=0,o=0;o>>26)|0,w+=h>>>26,h&=67108863}B.words[o]=x,E=h,h=w}return E!==0?B.words[o]=E:B.length--,B.strip()}function J0(R,D,B){var E=new P0;return E.mulp(R,D,B)}G.prototype.mulTo=function(R,D){var B,E=this.length+R.length;return this.length===10&&R.length===10?B=N0(this,R,D):E<63?B=Q0(this,R,D):E<1024?B=G0(this,R,D):B=J0(this,R,D),B};function P0(R,D){this.x=R,this.y=D}P0.prototype.makeRBT=function(R){for(var D=new Array(R),B=G.prototype._countBits(R)-1,E=0;E>=1;return E},P0.prototype.permute=function(R,D,B,E,w,o){for(var h=0;h>>1)w++;return 1<>>13,B[2*o+1]=w&8191,w=w>>>13;for(o=2*D;o>=26,D+=E/67108864|0,D+=w>>>26,this.words[B]=w&67108863}return D!==0&&(this.words[B]=D,this.length++),this},G.prototype.muln=function(R){return this.clone().imuln(R)},G.prototype.sqr=function(){return this.mul(this)},G.prototype.isqr=function(){return this.imul(this.clone())},G.prototype.pow=function(R){var D=c(R);if(D.length===0)return new G(1);for(var B=this,E=0;E=0);var D=R%26,B=(R-D)/26,E=67108863>>>26-D<<26-D,w;if(D!==0){var o=0;for(w=0;w>>26-D}o&&(this.words[w]=o,this.length++)}if(B!==0){for(w=this.length-1;w>=0;w--)this.words[w+B]=this.words[w];for(w=0;w=0);var E;D?E=(D-D%26)/26:E=0;var w=R%26,o=Math.min((R-w)/26,this.length),h=67108863^67108863>>>w<o)for(this.length-=o,M=0;M=0&&(p!==0||M>=E);M--){var K0=this.words[M]|0;this.words[M]=p<<26-w|K0>>>w,p=K0&h}return x&&p!==0&&(x.words[x.length++]=p),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},G.prototype.ishrn=function(R,D,B){return j(this.negative===0),this.iushrn(R,D,B)},G.prototype.shln=function(R){return this.clone().ishln(R)},G.prototype.ushln=function(R){return this.clone().iushln(R)},G.prototype.shrn=function(R){return this.clone().ishrn(R)},G.prototype.ushrn=function(R){return this.clone().iushrn(R)},G.prototype.testn=function(R){j(typeof R=="number"&&R>=0);var D=R%26,B=(R-D)/26,E=1<=0);var D=R%26,B=(R-D)/26;if(j(this.negative===0,"imaskn works only with positive numbers"),this.length<=B)return this;if(D!==0&&B++,this.length=Math.min(B,this.length),D!==0){var E=67108863^67108863>>>D<=67108864;D++)this.words[D]-=67108864,D===this.length-1?this.words[D+1]=1:this.words[D+1]++;return this.length=Math.max(this.length,D+1),this},G.prototype.isubn=function(R){if(j(typeof R=="number"),j(R<67108864),R<0)return this.iaddn(-R);if(this.negative!==0)return this.negative=0,this.iaddn(R),this.negative=1,this;if(this.words[0]-=R,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var D=0;D>26)-(x/67108864|0),this.words[w+B]=o&67108863}for(;w>26,this.words[w+B]=o&67108863;if(h===0)return this.strip();for(j(h===-1),h=0,w=0;w>26,this.words[w]=o&67108863;return this.negative=1,this.strip()},G.prototype._wordDiv=function(R,D){var B=this.length-R.length,E=this.clone(),w=R,o=w.words[w.length-1]|0,h=this._countBits(o);B=26-h,B!==0&&(w=w.ushln(B),E.iushln(B),o=w.words[w.length-1]|0);var x=E.length-w.length,M;if(D!=="mod"){M=new G(null),M.length=x+1,M.words=new Array(M.length);for(var p=0;p=0;U0--){var M0=(E.words[w.length+U0]|0)*67108864+(E.words[w.length+U0-1]|0);for(M0=Math.min(M0/o|0,67108863),E._ishlnsubmul(w,M0,U0);E.negative!==0;)M0--,E.negative=0,E._ishlnsubmul(w,1,U0),E.isZero()||(E.negative^=1);M&&(M.words[U0]=M0)}return M&&M.strip(),E.strip(),D!=="div"&&B!==0&&E.iushrn(B),{div:M||null,mod:E}},G.prototype.divmod=function(R,D,B){if(j(!R.isZero()),this.isZero())return{div:new G(0),mod:new G(0)};var E,w,o;return this.negative!==0&&R.negative===0?(o=this.neg().divmod(R,D),D!=="mod"&&(E=o.div.neg()),D!=="div"&&(w=o.mod.neg(),B&&w.negative!==0&&w.iadd(R)),{div:E,mod:w}):this.negative===0&&R.negative!==0?(o=this.divmod(R.neg(),D),D!=="mod"&&(E=o.div.neg()),{div:E,mod:o.mod}):(this.negative&R.negative)!==0?(o=this.neg().divmod(R.neg(),D),D!=="div"&&(w=o.mod.neg(),B&&w.negative!==0&&w.isub(R)),{div:o.div,mod:w}):R.length>this.length||this.cmp(R)<0?{div:new G(0),mod:this}:R.length===1?D==="div"?{div:this.divn(R.words[0]),mod:null}:D==="mod"?{div:null,mod:new G(this.modn(R.words[0]))}:{div:this.divn(R.words[0]),mod:new G(this.modn(R.words[0]))}:this._wordDiv(R,D)},G.prototype.div=function(R){return this.divmod(R,"div",!1).div},G.prototype.mod=function(R){return this.divmod(R,"mod",!1).mod},G.prototype.umod=function(R){return this.divmod(R,"mod",!0).mod},G.prototype.divRound=function(R){var D=this.divmod(R);if(D.mod.isZero())return D.div;var B=D.div.negative!==0?D.mod.isub(R):D.mod,E=R.ushrn(1),w=R.andln(1),o=B.cmp(E);return o<0||w===1&&o===0?D.div:D.div.negative!==0?D.div.isubn(1):D.div.iaddn(1)},G.prototype.modn=function(R){j(R<=67108863);for(var D=(1<<26)%R,B=0,E=this.length-1;E>=0;E--)B=(D*B+(this.words[E]|0))%R;return B},G.prototype.idivn=function(R){j(R<=67108863);for(var D=0,B=this.length-1;B>=0;B--){var E=(this.words[B]|0)+D*67108864;this.words[B]=E/R|0,D=E%R}return this.strip()},G.prototype.divn=function(R){return this.clone().idivn(R)},G.prototype.egcd=function(R){j(R.negative===0),j(!R.isZero());var D=this,B=R.clone();D.negative!==0?D=D.umod(R):D=D.clone();for(var E=new G(1),w=new G(0),o=new G(0),h=new G(1),x=0;D.isEven()&&B.isEven();)D.iushrn(1),B.iushrn(1),++x;for(var M=B.clone(),p=D.clone();!D.isZero();){for(var K0=0,U0=1;(D.words[0]&U0)===0&&K0<26;++K0,U0<<=1);if(K0>0)for(D.iushrn(K0);K0-- >0;)(E.isOdd()||w.isOdd())&&(E.iadd(M),w.isub(p)),E.iushrn(1),w.iushrn(1);for(var M0=0,f0=1;(B.words[0]&f0)===0&&M0<26;++M0,f0<<=1);if(M0>0)for(B.iushrn(M0);M0-- >0;)(o.isOdd()||h.isOdd())&&(o.iadd(M),h.isub(p)),o.iushrn(1),h.iushrn(1);D.cmp(B)>=0?(D.isub(B),E.isub(o),w.isub(h)):(B.isub(D),o.isub(E),h.isub(w))}return{a:o,b:h,gcd:B.iushln(x)}},G.prototype._invmp=function(R){j(R.negative===0),j(!R.isZero());var D=this,B=R.clone();D.negative!==0?D=D.umod(R):D=D.clone();for(var E=new G(1),w=new G(0),o=B.clone();D.cmpn(1)>0&&B.cmpn(1)>0;){for(var h=0,x=1;(D.words[0]&x)===0&&h<26;++h,x<<=1);if(h>0)for(D.iushrn(h);h-- >0;)E.isOdd()&&E.iadd(o),E.iushrn(1);for(var M=0,p=1;(B.words[0]&p)===0&&M<26;++M,p<<=1);if(M>0)for(B.iushrn(M);M-- >0;)w.isOdd()&&w.iadd(o),w.iushrn(1);D.cmp(B)>=0?(D.isub(B),E.isub(w)):(B.isub(D),w.isub(E))}var K0;return D.cmpn(1)===0?K0=E:K0=w,K0.cmpn(0)<0&&K0.iadd(R),K0},G.prototype.gcd=function(R){if(this.isZero())return R.abs();if(R.isZero())return this.abs();var D=this.clone(),B=R.clone();D.negative=0,B.negative=0;for(var E=0;D.isEven()&&B.isEven();E++)D.iushrn(1),B.iushrn(1);do{for(;D.isEven();)D.iushrn(1);for(;B.isEven();)B.iushrn(1);var w=D.cmp(B);if(w<0){var o=D;D=B,B=o}else if(w===0||B.cmpn(1)===0)break;D.isub(B)}while(!0);return B.iushln(E)},G.prototype.invm=function(R){return this.egcd(R).a.umod(R)},G.prototype.isEven=function(){return(this.words[0]&1)===0},G.prototype.isOdd=function(){return(this.words[0]&1)===1},G.prototype.andln=function(R){return this.words[0]&R},G.prototype.bincn=function(R){j(typeof R=="number");var D=R%26,B=(R-D)/26,E=1<>>26,h&=67108863,this.words[o]=h}return w!==0&&(this.words[o]=w,this.length++),this},G.prototype.isZero=function(){return this.length===1&&this.words[0]===0},G.prototype.cmpn=function(R){var D=R<0;if(this.negative!==0&&!D)return-1;if(this.negative===0&&D)return 1;this.strip();var B;if(this.length>1)B=1;else{D&&(R=-R),j(R<=67108863,"Number is too big");var E=this.words[0]|0;B=E===R?0:ER.length)return 1;if(this.length=0;B--){var E=this.words[B]|0,w=R.words[B]|0;if(E!==w){Ew&&(D=1);break}}return D},G.prototype.gtn=function(R){return this.cmpn(R)===1},G.prototype.gt=function(R){return this.cmp(R)===1},G.prototype.gten=function(R){return this.cmpn(R)>=0},G.prototype.gte=function(R){return this.cmp(R)>=0},G.prototype.ltn=function(R){return this.cmpn(R)===-1},G.prototype.lt=function(R){return this.cmp(R)===-1},G.prototype.lten=function(R){return this.cmpn(R)<=0},G.prototype.lte=function(R){return this.cmp(R)<=0},G.prototype.eqn=function(R){return this.cmpn(R)===0},G.prototype.eq=function(R){return this.cmp(R)===0},G.red=function(R){return new b0(R)},G.prototype.toRed=function(R){return j(!this.red,"Already a number in reduction context"),j(this.negative===0,"red works only with positives"),R.convertTo(this)._forceRed(R)},G.prototype.fromRed=function(){return j(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},G.prototype._forceRed=function(R){return this.red=R,this},G.prototype.forceRed=function(R){return j(!this.red,"Already a number in reduction context"),this._forceRed(R)},G.prototype.redAdd=function(R){return j(this.red,"redAdd works only with red numbers"),this.red.add(this,R)},G.prototype.redIAdd=function(R){return j(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,R)},G.prototype.redSub=function(R){return j(this.red,"redSub works only with red numbers"),this.red.sub(this,R)},G.prototype.redISub=function(R){return j(this.red,"redISub works only with red numbers"),this.red.isub(this,R)},G.prototype.redShl=function(R){return j(this.red,"redShl works only with red numbers"),this.red.shl(this,R)},G.prototype.redMul=function(R){return j(this.red,"redMul works only with red numbers"),this.red._verify2(this,R),this.red.mul(this,R)},G.prototype.redIMul=function(R){return j(this.red,"redMul works only with red numbers"),this.red._verify2(this,R),this.red.imul(this,R)},G.prototype.redSqr=function(){return j(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},G.prototype.redISqr=function(){return j(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},G.prototype.redSqrt=function(){return j(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},G.prototype.redInvm=function(){return j(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},G.prototype.redNeg=function(){return j(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},G.prototype.redPow=function(R){return j(this.red&&!R.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,R)};var L0={k256:null,p224:null,p192:null,p25519:null};function A0(R,D){this.name=R,this.p=new G(D,16),this.n=this.p.bitLength(),this.k=new G(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}A0.prototype._tmp=function(){var R=new G(null);return R.words=new Array(Math.ceil(this.n/13)),R},A0.prototype.ireduce=function(R){var D=R,B;do this.split(D,this.tmp),D=this.imulK(D),D=D.iadd(this.tmp),B=D.bitLength();while(B>this.n);var E=B0?D.isub(this.p):D.strip!==void 0?D.strip():D._strip(),D},A0.prototype.split=function(R,D){R.iushrn(this.n,0,D)},A0.prototype.imulK=function(R){return R.imul(this.k)};function w0(){A0.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}Z(w0,A0),w0.prototype.split=function(R,D){for(var B=4194303,E=Math.min(R.length,9),w=0;w>>22,o=h}o>>>=22,R.words[w-10]=o,o===0&&R.length>10?R.length-=10:R.length-=9},w0.prototype.imulK=function(R){R.words[R.length]=0,R.words[R.length+1]=0,R.length+=2;for(var D=0,B=0;B>>=26,R.words[B]=w,D=E}return D!==0&&(R.words[R.length++]=D),R},G._prime=function(R){if(L0[R])return L0[R];var D;if(R==="k256")D=new w0;else if(R==="p224")D=new a0;else if(R==="p192")D=new Y6;else if(R==="p25519")D=new D6;else throw new Error("Unknown prime "+R);return L0[R]=D,D};function b0(R){if(typeof R=="string"){var D=G._prime(R);this.m=D.p,this.prime=D}else j(R.gtn(1),"modulus must be greater than 1"),this.m=R,this.prime=null}b0.prototype._verify1=function(R){j(R.negative===0,"red works only with positives"),j(R.red,"red works only with red numbers")},b0.prototype._verify2=function(R,D){j((R.negative|D.negative)===0,"red works only with positives"),j(R.red&&R.red===D.red,"red works only with red numbers")},b0.prototype.imod=function(R){return this.prime?this.prime.ireduce(R)._forceRed(this):R.umod(this.m)._forceRed(this)},b0.prototype.neg=function(R){return R.isZero()?R.clone():this.m.sub(R)._forceRed(this)},b0.prototype.add=function(R,D){this._verify2(R,D);var B=R.add(D);return B.cmp(this.m)>=0&&B.isub(this.m),B._forceRed(this)},b0.prototype.iadd=function(R,D){this._verify2(R,D);var B=R.iadd(D);return B.cmp(this.m)>=0&&B.isub(this.m),B},b0.prototype.sub=function(R,D){this._verify2(R,D);var B=R.sub(D);return B.cmpn(0)<0&&B.iadd(this.m),B._forceRed(this)},b0.prototype.isub=function(R,D){this._verify2(R,D);var B=R.isub(D);return B.cmpn(0)<0&&B.iadd(this.m),B},b0.prototype.shl=function(R,D){return this._verify1(R),this.imod(R.ushln(D))},b0.prototype.imul=function(R,D){return this._verify2(R,D),this.imod(R.imul(D))},b0.prototype.mul=function(R,D){return this._verify2(R,D),this.imod(R.mul(D))},b0.prototype.isqr=function(R){return this.imul(R,R.clone())},b0.prototype.sqr=function(R){return this.mul(R,R)},b0.prototype.sqrt=function(R){if(R.isZero())return R.clone();var D=this.m.andln(3);if(j(D%2===1),D===3){var B=this.m.add(new G(1)).iushrn(2);return this.pow(R,B)}for(var E=this.m.subn(1),w=0;!E.isZero()&&E.andln(1)===0;)w++,E.iushrn(1);j(!E.isZero());var o=new G(1).toRed(this),h=o.redNeg(),x=this.m.subn(1).iushrn(1),M=this.m.bitLength();for(M=new G(2*M*M).toRed(this);this.pow(M,x).cmp(h)!==0;)M.redIAdd(h);for(var p=this.pow(M,E),K0=this.pow(R,E.addn(1).iushrn(1)),U0=this.pow(R,E),M0=w;U0.cmp(o)!==0;){for(var f0=U0,X6=0;f0.cmp(o)!==0;X6++)f0=f0.redSqr();j(X6=0;w--){for(var p=D.words[w],K0=M-1;K0>=0;K0--){var U0=p>>K0&1;if(o!==E[0]&&(o=this.sqr(o)),U0===0&&h===0){x=0;continue}h<<=1,h|=U0,x++,!(x!==B&&(w!==0||K0!==0))&&(o=this.mul(o,E[h]),x=0,h=0)}M=26}return o},b0.prototype.convertTo=function(R){var D=R.umod(this.m);return D===R?D.clone():D},b0.prototype.convertFrom=function(R){var D=R.clone();return D.red=null,D},G.mont=function(R){return new l6(R)};function l6(R){b0.call(this,R),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new G(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}Z(l6,b0),l6.prototype.convertTo=function(R){return this.imod(R.ushln(this.shift))},l6.prototype.convertFrom=function(R){var D=this.imod(R.mul(this.rinv));return D.red=null,D},l6.prototype.imul=function(R,D){if(R.isZero()||D.isZero())return R.words[0]=0,R.length=1,R;var B=R.imul(D),E=B.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),w=B.isub(E).iushrn(this.shift),o=w;return w.cmp(this.m)>=0?o=w.isub(this.m):w.cmpn(0)<0&&(o=w.iadd(this.m)),o._forceRed(this)},l6.prototype.mul=function(R,D){if(R.isZero()||D.isZero())return new G(0)._forceRed(this);var B=R.mul(D),E=B.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),w=B.isub(E).iushrn(this.shift),o=w;return w.cmp(this.m)>=0?o=w.isub(this.m):w.cmpn(0)<0&&(o=w.iadd(this.m)),o._forceRed(this)},l6.prototype.invm=function(R){var D=this.imod(R._invmp(this.m).mul(this.r2));return D._forceRed(this)}})(typeof l>"u"||l,v)}),$K=k6((v,l)=>{var s=yU(),N=_7().Buffer;function j(Z,G){return N.from(Z.toRed(s.mont(G.modulus)).redPow(new s(G.publicExponent)).fromRed().toArray())}l.exports=j}),XC=k6((v,l)=>{var s=gQ(),N=qX(),j=LY(),Z=ZK(),G=VK(),n=yU(),f=$K(),b=zU(),e=_7().Buffer;l.exports=function(c,Q0,N0){var G0;c.padding?G0=c.padding:N0?G0=1:G0=4;var J0=s(c),P0;if(G0===4)P0=r(J0,Q0);else if(G0===1)P0=a(J0,Q0,N0);else if(G0===3){if(P0=new n(Q0),P0.cmp(J0.modulus)>=0)throw new Error("data too long for modulus")}else throw new Error("unknown padding");return N0?b(P0,J0):f(P0,J0)};function r(c,Q0){var N0=c.modulus.byteLength(),G0=Q0.length,J0=j("sha1").update(e.alloc(0)).digest(),P0=J0.length,L0=2*P0;if(G0>N0-L0-2)throw new Error("message too long");var A0=e.alloc(N0-G0-L0-2),w0=N0-P0-1,a0=N(P0),Y6=G(e.concat([J0,A0,e.alloc(1,1),Q0],w0),Z(a0,w0)),D6=G(a0,Z(Y6,P0));return new n(e.concat([e.alloc(1),D6,Y6],N0))}function a(c,Q0,N0){var G0=Q0.length,J0=c.modulus.byteLength();if(G0>J0-11)throw new Error("message too long");var P0;return N0?P0=e.alloc(J0-G0-3,255):P0=V0(J0-G0-3),new n(e.concat([e.from([0,N0?1:2]),P0,e.alloc(1),Q0],J0))}function V0(c){for(var Q0=e.allocUnsafe(c),N0=0,G0=N(c*2),J0=0,P0;N0{var s=gQ(),N=ZK(),j=VK(),Z=yU(),G=zU(),n=LY(),f=$K(),b=_7().Buffer;l.exports=function(V0,c,Q0){var N0;V0.padding?N0=V0.padding:Q0?N0=1:N0=4;var G0=s(V0),J0=G0.modulus.byteLength();if(c.length>J0||new Z(c).cmp(G0.modulus)>=0)throw new Error("decryption error");var P0;Q0?P0=f(new Z(c),G0):P0=G(c,G0);var L0=b.alloc(J0-P0.length);if(P0=b.concat([L0,P0],J0),N0===4)return e(G0,P0);if(N0===1)return r(G0,P0,Q0);if(N0===3)return P0;throw new Error("unknown padding")};function e(V0,c){var Q0=V0.modulus.byteLength(),N0=n("sha1").update(b.alloc(0)).digest(),G0=N0.length;if(c[0]!==0)throw new Error("decryption error");var J0=c.slice(1,G0+1),P0=c.slice(G0+1),L0=j(J0,N(P0,G0)),A0=j(P0,N(L0,Q0-G0-1));if(a(N0,A0.slice(0,G0)))throw new Error("decryption error");for(var w0=G0;A0[w0]===0;)w0++;if(A0[w0++]!==1)throw new Error("decryption error");return A0.slice(w0)}function r(V0,c,Q0){for(var N0=c.slice(0,2),G0=2,J0=0;c[G0++]!==0;)if(G0>=c.length){J0++;break}var P0=c.slice(2,G0-1);if((N0.toString("hex")!=="0002"&&!Q0||N0.toString("hex")!=="0001"&&Q0)&&J0++,P0.length<8&&J0++,J0)throw new Error("decryption error");return c.slice(G0)}function a(V0,c){V0=b.from(V0),c=b.from(c);var Q0=0,N0=V0.length;V0.length!==c.length&&(Q0++,N0=Math.min(V0.length,c.length));for(var G0=-1;++G0{v.publicEncrypt=XC(),v.privateDecrypt=YC(),v.privateEncrypt=function(l,s){return v.publicEncrypt(l,s,!0)},v.publicDecrypt=function(l,s){return v.privateDecrypt(l,s,!0)}}),WC=k6((v)=>{function l(){throw new Error(`secure random number generation not supported by this browser +use chrome, FireFox or Internet Explorer 11`)}var s=_7(),N=qX(),j=s.Buffer,Z=s.kMaxLength,G=global.crypto||global.msCrypto,n=Math.pow(2,32)-1;function f(V0,c){if(typeof V0!="number"||V0!==V0)throw new TypeError("offset must be a number");if(V0>n||V0<0)throw new TypeError("offset must be a uint32");if(V0>Z||V0>c)throw new RangeError("offset out of range")}function b(V0,c,Q0){if(typeof V0!="number"||V0!==V0)throw new TypeError("size must be a number");if(V0>n||V0<0)throw new TypeError("size must be a uint32");if(V0+c>Q0||V0>Z)throw new RangeError("buffer too small")}G&&G.getRandomValues?(v.randomFill=e,v.randomFillSync=a):(v.randomFill=l,v.randomFillSync=l);function e(V0,c,Q0,N0){if(!j.isBuffer(V0)&&!(V0 instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if(typeof c=="function")N0=c,c=0,Q0=V0.length;else if(typeof Q0=="function")N0=Q0,Q0=V0.length-c;else if(typeof N0!="function")throw new TypeError('"cb" argument must be a function');return f(c,V0.length),b(Q0,c,V0.length),r(V0,c,Q0,N0)}function r(V0,c,Q0,N0){var G0=V0.buffer,J0=new Uint8Array(G0,c,Q0);if(G.getRandomValues(J0),N0){process.nextTick(function(){N0(null,V0)});return}return V0;var P0}function a(V0,c,Q0){if(typeof c>"u"&&(c=0),!j.isBuffer(V0)&&!(V0 instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return f(c,V0.length),Q0===void 0&&(Q0=V0.length-c),b(Q0,c,V0.length),r(V0,c,Q0)}}),TK=k6((v)=>{v.randomBytes=v.rng=v.pseudoRandomBytes=v.prng=qX(),v.createHash=v.Hash=LY(),v.createHmac=v.Hmac=D_();var l=aE(),s=Object.keys(l),N=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(s);v.getHashes=function(){return N};var j=A_();v.pbkdf2=j.pbkdf2,v.pbkdf2Sync=j.pbkdf2Sync;var Z=KB();v.Cipher=Z.Cipher,v.createCipher=Z.createCipher,v.Cipheriv=Z.Cipheriv,v.createCipheriv=Z.createCipheriv,v.Decipher=Z.Decipher,v.createDecipher=Z.createDecipher,v.Decipheriv=Z.Decipheriv,v.createDecipheriv=Z.createDecipheriv,v.getCiphers=Z.getCiphers,v.listCiphers=Z.listCiphers;var G=LB();v.DiffieHellmanGroup=G.DiffieHellmanGroup,v.createDiffieHellmanGroup=G.createDiffieHellmanGroup,v.getDiffieHellman=G.getDiffieHellman,v.createDiffieHellman=G.createDiffieHellman,v.DiffieHellman=G.DiffieHellman;var n=VC();v.createSign=n.createSign,v.Sign=n.Sign,v.createVerify=n.createVerify,v.Verify=n.Verify,v.createECDH=TC();var f=QC();v.publicEncrypt=f.publicEncrypt,v.privateEncrypt=f.privateEncrypt,v.publicDecrypt=f.publicDecrypt,v.privateDecrypt=f.privateDecrypt;var b=WC();v.randomFill=b.randomFill,v.randomFillSync=b.randomFillSync,v.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join(` +`))},v.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}}),XK={};uQ(XK,{DEFAULT_ENCODING:()=>IX,default:()=>YK,getCurves:()=>qU,getRandomValues:()=>wU,randomUUID:()=>IU,scrypt:()=>tQ,scryptSync:()=>iQ,timingSafeEqual:()=>MY,webcrypto:()=>vU});TU(XK,cT(TK()));NC=cT(TK()),IX="buffer",wU=(v)=>crypto.getRandomValues(v),IU=()=>crypto.randomUUID(),UC=["p192","p224","p256","p384","p521","curve25519","ed25519","secp256k1","secp224r1","prime256v1","prime192v1","ed25519","secp384r1","secp521r1"],MY="timingSafeEqual"in crypto?(v,l)=>{let{byteLength:s}=v,{byteLength:N}=l;if(typeof s!="number"||typeof N!="number")throw new TypeError("Input must be an array buffer view");if(s!==N)throw new RangeError("Input buffers must have the same length");return crypto.timingSafeEqual(v,l)}:void 0,iQ="scryptSync"in crypto?(v,l,s,N)=>{let j=crypto.scryptSync(v,l,s,N);return IX!=="buffer"?new Buffer(j).toString(IX):new Buffer(j)}:void 0,tQ="scryptSync"in crypto?function(v,l,s,N,j){if(typeof N=="function"&&(j=N,N=void 0),typeof j!="function"){var Z=new TypeError("callback must be a function");throw Z.code="ERR_INVALID_CALLBACK",Z}try{let G=crypto.scryptSync(v,l,s,N);process.nextTick(j,null,IX!=="buffer"?new Buffer(G).toString(IX):new Buffer(G))}catch(G){throw G}}:void 0;MY&&(Object.defineProperty(MY,"name",{value:"::bunternal::"}),Object.defineProperty(tQ,"name",{value:"::bunternal::"}),Object.defineProperty(iQ,"name",{value:"::bunternal::"}));vU=crypto,YK={...NC,getRandomValues:wU,randomUUID:IU,timingSafeEqual:MY,scryptSync:iQ,scrypt:tQ,webcrypto:vU,getCurves:qU};/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *//*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *//*! safe-buffer. MIT License. Feross Aboukhadijeh */});var JC=LE((hC,jU)=>{var __dirname="/home/dylan/repos/picobook/src/client";P8=function(Module,cartNames,cartDatas){let p8_touch_detected,p8_dropped_cart,p8_dropped_cart_name,pico8_state,pico8_buttons,pico8_gamepads,pico8_gpio,pico8_audio_context,pico8_mouse;var _cartname=cartNames,_cartdat=[...cartDatas],_cdpos=0,iii=0,ciii=0,Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads)Module.expectedDataFileDownloads=0,Module.finishedDataFileDownloads=0;Module.expectedDataFileDownloads++,function(){var v=function(l){function s(){var N=[];N.push.apply(N,[67,80,79,68,68,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,70,73,76,0,0,0,0,123,144,0,0,112,111,100,47,112,105,99,111,56,95,98,111,111,116,46,112,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,1,0,0,242,16,112,105,99,111,45,56,32,99,97,114,116,114,105,100,103,101,32,47,47,32,104,116,116,112,58,47,47,119,119,119,46,31,0,255,13,46,99,111,109,10,118,101,114,115,105,111,110,32,56,10,95,95,108,117,97,95,95,10,10,45,45,62,56,6,0,25,159,95,95,103,102,120,95,95,10,48,1,0,108,15,129,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,45,1,137,64,31,102,137,64,112,15,139,1,109,15,1,1,239,95,95,95,109,97,112,10,2,240,15,1,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,50,95,95,115,187,98,48,49,48,99,17,0,161,51,48,53,53,53,50,98,53,54,53,10,0,64,51,53,53,52,5,0,128,49,53,51,53,55,48,53,48,3,0,15,5,0,106,0,169,0,16,56,12,0,115,50,52,48,51,53,50,52,26,0,15,91,2,130,30,49,154,0,15,169,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,238,113,95,95,109,117,115,105,99,114,74,50,32,52,49,2,0,15,12,0,255,255,224,80,49,52,49,10,10,99,70,73,76,0,0,0,0,18,190,12,0,112,111,100,47,103,102,120,49,46,112,111,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,74,0,0,243,22,67,80,79,68,68,0,0,0,1,0,0,0,103,102,120,49,46,112,111,100,0,47,112,97,98,97,47,112,105,99,111,56,47,112,111,100,47,25,0,63,12,1,0,1,0,10,177,67,66,77,80,20,0,1,0,128,0,0,4,0,47,32,0,1,0,255,255,255,255,255,255,255,255,207,79,77,0,255,255,4,0,73,47,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,91,63,163,255,255,4,0,73,47,232,241,4,0,75,47,170,204,4,0,75,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,155,79,39,236,255,255,4,0,73,47,232,241,4,0,255,12,47,168,119,4,0,75,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,59,15,1,0,77,79,54,228,0,255,4,0,73,15,160,1,77,63,156,118,131,4,0,74,15,160,1,77,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,155,15,1,0,77,79,255,173,41,255,4,0,73,15,99,1,77,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,92,15,1,0,255,255,255,255,255,255,255,36,97,67,80,65,76,0,3,11,0,255,39,29,43,83,126,37,83,0,135,81,171,82,54,95,87,79,194,195,199,255,241,232,255,0,77,255,163,0,255,236,39,0,228,54,41,173,255,131,118,156,255,119,168,255,204,170,0,0,0,2,4,6,2,4,8,3,0,101,111,3,5,10,3,5,10,126,0,100,31,9,54,0,37,27,9,192,0,5,3,0,254,33,41,24,20,17,29,53,66,33,54,18,83,89,116,47,41,73,51,59,162,136,121,243,239,125,190,18,80,255,108,36,168,231,46,0,181,67,6,90,181,117,70,101,255,110,89,255,157,129,122,1,15,3,0,255,44,255,2,67,66,77,80,164,1,0,0,40,0,0,0,10,0,0,0,8,68,3,24,15,44,0,20,63,9,7,15,39,0,17,95,10,7,7,7,14,41,0,17,51,11,7,13,10,0,66,7,7,7,7,5,0,20,0,5,0,22,7,25,0,37,0,12,39,0,0,3,0,5,4,0,4,16,0,0,10,0,1,3,0,23,0,79,0,14,40,0,3,99,0,9,40,0,5,7,0,10,80,0,1,18,0,12,40,0,6,165,0,9,159,0,31,7,180,4,54,57,79,72,67,180,4,91,231,39,0,231,86,180,4,15,1,0,29,240,3,28,0,73,109,24,69,0,122,44,160,72,50,52,54,53,173,177,183,100,14,240,8,0,77,255,132,0,255,255,39,0,226,50,41,173,255,174,75,176,255,136,188,255,214,197,48,0,32,48,102,144,0,177,131,72,171,82,54,63,65,65,180,182,188,48,0,49,42,255,163,79,0,96,231,86,41,162,255,132,48,0,245,7,175,255,217,177,0,0,0,32,51,123,140,28,60,0,131,49,171,100,54,80,80,80,120,0,35,255,155,9,0,97,63,155,255,132,112,169,192,0,0,75,0,255,0,28,24,87,135,37,77,0,147,60,0,0,0,69,69,69,180,0,2,98,146,133,174,255,105,154,48,0,48,55,67,91,19,0,143,135,81,0,0,0,86,70,59,48,0,2,53,131,118,156,12,0,53,37,55,77,12,0,63,101,91,82,32,1,14,53,43,55,66,12,0,63,79,72,67,48,0,15,37,62,83,12,0,63,95,87,79,48,0,14,79,29,43,83,0,1,0,255,4,48,255,0,255,180,4,158,20,48,0,0,128,0,0,0,96,180,4,15,1,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,26,0,28,48,83,36,0,0,0,4,4,0,9,28,48,241,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,72,48,33,0,1,72,48,0,76,48,47,32,0,1,0,255,255,255,255,255,255,255,255,207,79,77,0,255,255,4,0,73,47,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,91,63,163,255,255,4,0,72,15,32,170,78,47,170,204,4,0,75,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,155,79,39,236,255,255,4,0,73,47,232,241,4,0,255,12,47,168,119,4,0,75,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,59,15,1,0,77,79,54,228,0,255,4,0,73,15,160,1,77,63,156,118,131,4,0,74,15,160,1,77,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,155,15,1,0,77,79,255,173,41,255,4,0,73,15,99,1,77,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,92,15,1,0,255,255,255,255,255,255,255,36,151,67,66,77,80,84,0,0,0,8,4,0,4,1,0,20,8,1,0,36,2,2,8,0,36,2,2,8,0,42,2,2,8,0,8,40,0,3,1,0,15,92,0,18,36,15,15,8,0,36,15,15,8,0,42,15,15,8,0,8,40,0,15,92,0,25,6,147,0,3,186,0,4,176,0,19,8,15,0,36,8,8,208,0,15,92,0,33,40,15,15,186,0,4,176,0,19,8,15,0,36,8,8,208,0,15,92,0,32,47,2,2,191,0,1,6,16,0,4,185,0,3,8,0,15,92,0,26,47,15,15,191,0,1,6,16,0,4,185,0,3,8,0,6,92,0,95,100,0,0,0,10,20,1,12,6,194,0,3,2,0,15,10,0,23,15,108,0,39,19,15,2,0,15,10,0,22,15,216,0,50,15,20,0,8,15,216,0,62,15,20,0,30,0,108,0,95,68,1,0,0,38,108,0,1,15,1,0,33,2,236,3,45,2,2,164,0,37,15,15,4,0,85,8,2,2,15,15,39,0,18,2,103,3,1,5,1,5,162,0,0,165,0,16,2,115,2,5,139,3,21,8,7,2,6,72,0,13,38,0,1,76,0,3,43,0,4,202,1,2,76,0,8,114,0,7,83,2,10,38,0,8,190,0,6,118,0,31,2,251,0,8,15,76,1,98,2,231,0,39,2,8,93,5,0,222,0,2,156,3,35,15,15,67,1,5,90,2,5,210,4,1,42,1,4,243,0,3,29,1,6,72,0,12,38,0,1,76,0,3,43,0,5,123,1,43,2,8,114,0,7,51,3,10,38,0,8,190,0,39,15,15,114,0,15,76,1,22,95,36,0,0,0,2,76,1,0,244,1,0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15,44,0,23,8,48,0,5,44,0,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,88,0,10,255,0,10,4,9,2,8,3,11,1,12,13,14,5,15,6,7,40,5,9,34,6,7,1,0,33,13,6,1,0,0,8,0,33,5,5,8,0,129,5,5,5,5,6,7,13,5,1,0,8,32,0,2,8,0,2,1,0,31,6,92,0,10,3,37,0,18,7,52,0,8,8,0,33,5,5,8,0,1,100,0,34,13,7,100,0,6,32,0,2,1,0,31,6,184,0,26,5,168,0,3,184,0,5,200,0,15,184,0,56,5,168,0,3,184,0,5,200,0,15,184,0,23,31,5,1,0,44,0,92,0,19,44,84,0,31,3,20,1,4,19,1,236,0,18,1,1,0,1,144,0,32,20,32,68,2,60,0,0,32,44,2,255,1,0,5,1,2,1,13,6,2,4,9,3,13,5,13,6,0,1,0,221,11,88,3,15,255,0,221,16,5,0,2,30,13,0,2,15,1,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,242,4,72,34,19,4,4,0,9,28,32,255,0,5,6,7,2,4,9,10,1,13,14,15,3,11,12,8,44,0,18,67,3,11,8,2,160,34,19,35,164,32,28,5,168,32,81,0,0,6,6,0,164,32,34,0,6,131,0,19,45,39,0,12,43,0,11,174,0,17,2,2,0,31,0,200,41,12,7,106,0,0,99,0,1,113,0,2,118,0,11,8,0,4,32,0,14,20,1,15,92,0,33,47,8,8,92,0,20,83,164,0,0,0,12,4,0,8,92,0,31,11,1,0,124,0,172,0,19,76,164,0,27,7,172,0,3,35,35,31,5,8,0,29,15,84,0,9,2,183,34,47,6,5,8,0,29,15,168,0,12,31,5,4,0,1,4,1,0,15,32,0,1,15,168,0,16,31,5,4,0,1,4,1,0,15,32,0,1,15,168,0,14,18,5,2,0,5,152,0,15,16,0,20,15,168,0,10,18,5,2,0,5,152,0,15,16,0,20,15,80,1,11,1,53,1,3,138,0,31,13,168,36,6,4,32,0,4,48,0,15,80,1,11,1,53,1,3,138,0,31,6,84,0,6,4,32,0,4,48,0,15,144,4,10,65,13,13,0,13,6,0,32,0,13,6,0,15,44,0,10,0,136,4,96,11,7,6,6,11,11,151,4,30,0,172,0,15,74,5,17,95,10,10,10,10,0,104,5,5,15,84,0,70,98,20,64,0,0,128,0,4,0,8,84,0,79,1,0,0,1,4,0,102,15,127,0,111,31,1,127,0,236,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,15,196,68,19,51,0,0,14,7,0,19,14,7,0,10,16,0,5,32,0,15,32,69,32,5,24,0,36,8,8,58,106,9,16,0,5,32,0,15,92,0,33,42,14,0,168,0,4,185,0,5,16,0,31,0,92,0,39,42,8,0,168,0,4,185,0,5,16,0,15,92,0,40,4,1,0,34,7,7,7,0,2,13,66,18,7,12,0,2,20,0,47,0,7,92,0,44,4,66,0,17,7,82,0,47,7,7,92,0,59,3,187,0,8,93,0,47,7,7,92,0,49,1,187,104,1,172,0,8,4,0,3,20,0,15,184,0,46,6,165,0,6,8,0,2,114,0,15,92,0,45,40,7,0,89,0,4,110,1,3,182,0,15,92,0,48,22,7,2,0,3,1,0,7,19,0,9,120,1,15,132,2,36,6,99,1,5,14,1,14,112,1,15,56,112,32,8,10,0,5,199,113,15,16,113,68,8,10,0,5,215,113,15,16,113,67,36,2,8,157,111,15,20,0,18,15,216,0,42,36,15,8,189,110,15,20,0,18,15,48,116,34,25,2,175,1,5,128,115,11,0,117,15,48,116,35,25,15,159,1,5,128,115,11,0,117,15,48,116,29,4,144,111,7,2,0,22,2,69,2,7,16,0,11,117,112,15,48,116,17,2,135,117,39,15,8,2,0,22,15,53,2,7,16,0,3,255,116,15,20,1,26,3,17,2,6,46,114,15,8,0,3,12,57,2,15,88,118,21,2,63,118,6,12,0,15,8,0,1,12,41,2,15,16,119,22,9,0,119,1,162,0,6,16,0,6,41,2,47,8,8,184,0,32,25,8,0,119,1,162,0,6,16,0,6,41,2,47,8,8,184,0,31,4,113,1,6,8,0,8,248,2,42,2,2,8,0,15,184,0,27,4,113,1,6,8,0,8,248,2,42,15,15,8,0,15,60,3,28,21,8,98,120,5,49,2,6,8,0,4,24,0,7,50,119,15,92,0,26,5,98,120,5,49,2,6,8,0,4,24,0,7,50,119,15,128,120,32,11,88,4,15,80,4,53,14,88,4,15,80,4,17,14,112,79,15,14,7,2,19,6,68,113,7,82,7,19,7,208,79,4,212,79,15,1,0,28,8,60,0,8,84,0,8,108,0,12,28,80,82,1,0,0,20,0,4,0,15,232,9,15,41,7,6,111,0,9,188,0,14,196,0,14,153,0,15,1,0,216,14,4,1,15,44,1,3,14,84,1,15,56,83,7,48,5,0,0,84,78,31,36,208,77,1,15,188,1,17,23,6,4,0,41,7,7,15,0,15,204,1,3,15,220,1,1,15,249,0,20,15,39,0,46,31,6,144,0,255,255,255,154,15,108,0,53,15,164,4,15,15,100,88,22,98,56,19,0,0,70,0,4,0,47,8,0,1,0,62,1,120,121,1,88,88,15,8,0,3,2,229,14,47,6,6,38,0,7,14,112,5,15,137,0,35,15,70,0,123,31,6,57,7,48,15,70,0,34,15,114,8,140,15,24,1,119,15,48,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,53,15,164,1,255,6,15,70,0,49,15,82,18,53,31,0,180,148,88,6,97,144,9,156,29,9,160,145,8,9,0,15,236,28,26,40,15,15,40,147,11,253,30,5,33,31,5,9,0,14,164,29,15,184,0,22,14,8,0,14,208,0,15,184,0,37,14,8,0,14,208,0,15,184,0,31,10,8,0,14,44,150,15,184,0,41,10,8,0,14,44,150,12,184,0,16,141,72,108,3,4,0,15,104,21,42,22,1,10,0,38,7,1,11,0,38,7,1,11,0,38,7,1,11,0,37,7,1,33,0,5,34,0,35,1,7,137,40,23,69,211,37,31,8,103,0,1,2,99,0,2,4,0,17,1,42,0,19,1,14,0,6,127,0,0,6,0,15,226,0,24,38,1,0,170,0,20,1,149,0,1,11,0,42,7,1,11,0,51,1,1,7,193,0,37,1,7,11,0,2,213,0,2,11,0,2,34,0,29,1,248,0,63,0,1,1,149,0,13,15,160,0,41,14,138,0,15,149,0,28,83,245,0,0,0,15,4,0,15,116,23,60,6,30,2,11,34,2,3,15,0,6,222,0,9,213,0,9,110,1,42,0,0,114,1,27,0,225,0,12,229,0,12,233,0,6,237,0,12,158,0,14,253,0,15,81,144,89,31,0,253,0,111,14,106,108,12,126,146,1,141,111,3,167,109,30,13,8,0,4,32,0,7,118,146,15,84,0,15,34,6,6,154,109,82,8,8,8,7,6,8,0,23,8,8,0,4,32,0,15,84,0,34,82,9,9,9,7,6,8,0,23,9,8,0,15,84,0,42,82,10,10,10,7,6,8,0,23,10,8,0,15,84,0,42,82,11,11,11,7,6,8,0,23,11,8,0,15,84,0,42,82,12,12,12,7,6,8,0,23,12,8,0,15,84,0,42,82,14,14,14,7,6,8,0,23,14,8,0,14,84,0,15,248,1,66,19,55,235,115,15,84,0,3,1,29,0,51,1,1,13,226,2,0,5,0,1,20,0,15,63,0,25,10,7,10,10,63,0,15,210,0,5,23,0,217,4,34,1,1,97,3,23,1,206,48,1,8,0,15,114,3,0,15,84,0,97,6,91,0,39,1,0,115,49,2,92,0,1,16,0,14,168,5,15,84,0,103,3,67,0,15,8,0,6,47,0,0,84,0,81,15,232,46,27,9,1,0,14,17,45,15,92,0,37,42,7,7,145,46,8,11,0,14,102,0,15,48,46,31,42,7,0,200,45,4,84,47,31,7,180,48,53,5,107,0,3,3,48,3,8,0,31,0,180,48,50,7,149,46,7,156,46,15,160,47,49,13,121,1,15,92,0,49,5,11,1,9,2,0,14,127,14,15,132,2,40,42,7,7,4,0,14,92,0,15,128,50,47,6,32,2,14,232,2,15,40,2,40,11,8,0,15,112,1,48,27,7,43,3,7,212,1,15,92,0,56,31,0,132,2,64,11,126,50,6,200,0,31,0,184,0,53,8,80,4,15,60,3,63,25,7,40,2,15,112,1,66,14,8,0,11,92,0,83,101,0,0,0,9,4,0,15,60,3,13,20,6,159,123,0,205,157,2,146,17,45,13,6,9,0,4,27,0,3,46,0,3,213,122,15,109,0,21,5,178,52,0,86,158,2,160,3,45,13,7,9,0,4,27,0,3,46,0,5,9,0,4,118,0,15,218,0,41,19,6,191,0,13,9,0,15,218,0,56,4,182,0,13,9,0,15,218,0,74,5,191,0,5,180,1,15,218,0,61,0,2,11,3,182,0,3,9,0,20,14,200,0,7,27,0,10,218,0,18,14,1,0,15,218,0,50,14,227,0,15,218,0,63,14,227,0,15,218,0,17,98,20,1,0,0,16,0,4,0,14,59,15,15,44,129,235,15,28,1,5,28,7,1,0,11,31,5,15,16,0,205,15,56,2,13,15,43,1,233,15,46,4,29,21,1,203,12,53,13,7,13,13,20,11,18,0,15,231,12,3,15,41,7,1,15,18,3,76,15,109,0,19,46,7,0,126,11,25,7,246,59,11,99,8,14,47,10,15,109,0,21,7,36,10,15,9,0,4,6,255,4,8,238,25,9,138,2,15,109,0,19,14,242,11,14,11,61,14,18,0,13,54,0,15,218,0,22,8,109,60,26,7,9,0,4,209,0,9,89,1,14,74,1,15,180,1,96,162,148,0,2,0,160,0,0,0,205,0,127,166,4,28,0,53,105,102,102,4,0,79,8,4,2,255,4,0,255,255,83,8,116,2,8,124,2,63,103,102,102,4,0,255,255,84,12,132,2,14,124,2,15,132,2,255,255,85,15,124,2,255,255,103,8,132,2,15,128,2,255,255,255,255,255,174,63,77,0,255,128,2,255,255,104,34,0,155,155,250,63,188,204,255,128,2,255,255,96,42,39,231,31,253,63,168,119,255,0,5,255,255,96,34,50,226,247,255,62,169,112,132,124,2,15,128,2,255,217,42,232,241,140,4,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,0,27,210,15,124,1,165,63,167,171,178,8,0,26,8,56,0,4,4,0,15,16,0,1,8,20,0,15,16,0,4,15,80,0,10,14,28,0,14,72,0,14,56,0,15,128,2,99,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,14,36,0,15,128,2,219,12,24,0,14,12,0,15,48,0,2,15,136,0,18,15,72,0,12,15,128,2,130,14,216,4,15,128,2,43,15,76,5,8,15,128,2,242,15,152,4,0,15,56,2,38,14,72,2,14,128,2,15,160,0,8,15,0,5,118,14,28,0,15,0,5,51,14,72,0,15,0,5,183,14,8,2,15,24,2,26,15,0,5,57,15,128,2,186,15,20,10,16,15,252,9,37,15,128,2,230,15,16,5,29,12,72,0,15,136,0,25,15,72,0,12,15,128,2,65,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,15,80,57,255,246,15,128,2,105,63,139,138,136,4,0,255,235,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,15,4,0,255,242,15,128,2,48,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,51,31,103,124,82,255,255,46,78,105,102,102,0,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,101,14,128,2,15,124,2,255,255,77,15,128,2,4,15,124,2,255,255,104,14,132,2,15,124,2,255,255,97,14,132,2,15,124,2,255,255,97,8,132,2,15,4,0,255,255,55,15,116,2,21,255,3,67,66,77,80,148,0,2,0,160,0,0,0,205,0,0,0,32,0,1,0,3,14,156,2,15,4,0,255,255,69,15,124,2,0,15,36,20,255,255,96,15,124,2,255,255,103,12,132,2,14,124,2,15,156,122,255,255,255,255,255,255,255,255,31,63,77,0,255,128,2,255,255,104,191,0,155,255,255,232,241,255,255,188,204,255,128,2,255,255,96,34,39,231,124,2,4,4,0,63,168,119,255,0,5,255,255,96,49,50,226,0,124,2,62,169,112,132,124,2,15,128,2,255,217,42,232,241,140,4,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,63,255,173,41,172,1,214,53,167,171,178,4,0,15,16,0,1,8,20,0,14,16,0,15,80,0,15,14,36,0,15,80,0,6,14,64,0,15,128,2,100,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,15,44,4,225,8,248,1,8,16,2,14,12,0,15,48,0,6,15,32,0,34,14,48,0,15,128,2,127,14,216,4,15,128,2,43,15,76,5,8,15,128,2,234,15,144,4,0,15,48,2,38,14,64,2,15,128,2,31,14,192,2,15,0,5,103,14,28,0,15,0,5,51,14,72,0,15,0,5,235,14,20,0,15,0,5,42,15,128,2,194,15,20,10,16,15,252,9,17,15,0,5,254,12,16,0,15,160,9,16,15,80,5,38,15,80,0,8,15,128,2,65,15,156,162,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,54,31,8,28,190,255,255,110,0,60,0,0,132,44,15,4,0,255,234,15,128,2,255,255,255,255,255,255,255,255,201,8,108,35,15,16,0,25,15,64,0,15,15,128,2,255,255,25,57,83,37,126,64,2,8,16,0,0,12,0,12,16,0,46,232,241,64,0,0,4,0,14,16,0,15,128,2,255,255,21,15,8,0,13,14,244,4,15,0,5,255,255,61,15,8,0,13,12,208,4,8,128,2,14,32,5,10,48,5,15,0,10,255,255,71,47,232,241,0,5,255,255,53,4,176,4,4,224,4,15,16,0,56,15,128,2,255,255,20,15,4,0,72,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,218,63,188,182,180,4,0,2,15,0,5,255,255,91,49,53,54,52,8,0,49,54,82,171,4,0,14,0,5,15,128,2,255,255,77,0,20,81,4,124,2,15,128,2,255,34,15,68,6,4,15,116,2,255,15,12,12,0,34,177,217,252,22,15,0,5,255,34,15,68,6,0,15,128,2,255,19,0,56,1,0,12,0,0,8,0,4,116,25,0,12,0,4,80,1,8,96,1,12,20,0,15,128,2,249,14,68,6,15,120,12,255,16,0,80,2,15,60,6,5,4,112,2,12,4,0,15,128,2,249,15,68,6,8,15,0,5,255,19,14,100,2,14,4,0,15,128,2,255,18,15,68,6,28,15,128,7,254,15,108,2,24,15,128,2,250,15,68,6,36,15,148,7,255,11,31,77,128,22,255,25,15,68,6,12,15,128,2,255,27,14,28,1,15,128,2,195,0,252,101,15,4,0,53,0,128,2,47,168,119,68,6,11,14,112,0,15,4,0,255,4,15,48,1,83,15,128,22,207,14,248,19,15,0,30,255,255,89,14,224,9,15,128,2,255,255,1,15,68,6,84,15,4,0,255,135,15,0,30,255,166,12,84,98,15,0,5,255,130,15,4,0,193,47,232,241,4,0,9,15,0,5,157,15,128,2,255,156,14,124,2,15,132,2,1,15,128,2,255,255,69,14,124,2,15,132,2,9,15,128,2,255,255,49,12,72,2,15,128,2,33,14,148,2,15,128,2,255,255,17,47,232,241,4,0,77,15,128,2,255,244,15,12,2,1,47,232,241,128,2,255,255,81,15,48,7,11,15,132,2,85,15,128,2,255,255,1,15,4,0,53,47,177,217,128,2,255,255,9,15,92,2,49,47,177,217,36,0,19,47,177,217,128,2,255,255,1,14,24,2,15,56,2,19,47,177,217,4,0,43,14,192,2,15,128,2,255,228,8,132,2,15,4,0,105,15,204,5,63,15,128,2,255,176,15,32,0,45,8,40,0,15,128,2,11,15,0,28,73,15,128,17,255,152,12,12,2,12,172,35,12,32,0,15,200,2,11,15,36,0,21,15,0,28,81,15,128,22,255,160,0,120,2,4,20,148,14,48,38,15,0,28,161,15,128,2,255,160,0,16,153,46,39,231,128,2,15,0,28,183,15,128,27,255,140,14,44,43,15,0,28,197,15,128,2,255,76,14,116,45,15,0,28,153,15,128,2,255,172,15,200,9,169,31,168,0,28,90,15,128,2,118,15,200,9,255,79,31,168,0,28,94,15,128,2,195,15,72,26,141,30,168,128,7,15,0,28,255,19,15,0,5,153,4,204,74,23,168,108,62,15,4,0,44,15,0,28,255,111,15,128,2,141,38,77,0,124,2,0,88,4,0,192,0,4,228,69,15,128,2,48,15,0,28,255,111,15,128,2,121,15,164,5,5,4,172,55,8,192,0,8,128,2,15,12,5,40,15,0,28,255,111,15,128,2,113,8,116,2,8,236,113,47,232,241,44,114,3,0,12,0,0,128,2,0,8,0,31,168,140,7,255,45,14,32,0,15,0,28,69,15,128,22,131,47,232,241,128,2,3,12,4,0,15,200,10,5,4,140,2,15,12,12,9,0,160,2,4,4,0,4,140,77,15,188,12,4,15,72,0,36,15,0,65,255,168,15,128,2,0,15,4,0,30,14,0,5,15,4,0,255,132,15,148,81,1,15,128,2,125,14,228,4,15,148,2,6,14,128,7,15,4,0,255,145,4,156,18,4,204,16,15,128,2,145,8,4,0,4,244,6,15,8,20,123,15,204,7,255,24,12,24,94,15,128,2,157,4,192,1,14,128,2,15,244,4,255,136,8,160,6,4,12,0,4,24,94,15,128,2,181,14,40,21,15,4,0,255,120,0,116,2,46,177,217,24,94,15,128,2,112,15,84,56,41,15,4,5,255,151,14,24,94,15,128,12,119,15,84,28,27,15,128,2,255,164,15,24,94,9,15,128,2,117,15,84,28,43,15,128,7,255,152,15,128,2,181,14,92,23,15,4,0,255,156,4,52,24,15,128,2,112,15,4,0,255,143,15,208,103,5,15,80,0,37,4,252,4,0,76,34,15,128,2,255,162,15,68,20,11,15,88,0,39,0,56,43,38,0,155,16,0,4,76,43,4,116,0,0,48,2,4,184,19,15,192,0,49,47,177,217,0,5,255,252,4,148,208,8,84,11,4,144,2,12,56,22,15,116,0,51,15,128,92,255,160,31,168,40,45,88,15,56,22,9,15,108,0,48,15,0,10,255,255,8,8,128,2,47,177,217,80,116,11,15,88,7,0,15,0,5,21,15,128,7,255,255,24,15,80,116,20,15,128,2,255,255,48,15,128,12,3,15,208,113,6,15,128,2,255,151,14,152,1,15,48,2,75,31,177,52,17,7,15,56,22,54,15,212,0,8,15,128,2,255,123,12,148,62,15,176,14,85,31,177,52,17,60,4,4,0,14,248,19,15,128,2,255,144,8,200,6,31,177,48,12,72,14,192,4,14,52,17,15,200,5,80,15,128,7,255,215,15,128,2,1,4,52,7,12,12,0,0,180,14,15,200,0,85,14,236,7,15,128,12,255,196,15,128,7,4,15,52,17,78,15,124,2,8,14,112,10,15,128,2,255,201,4,128,12,4,8,0,42,0,155,20,0,15,52,17,69,15,120,2,8,15,248,12,5,15,128,17,255,203,42,0,155,128,7,4,8,5,15,52,17,24,15,120,2,70,14,136,2,15,0,20,255,200,8,8,10,15,52,17,41,14,184,4,15,120,2,47,14,136,2,15,128,2,255,28,14,116,36,15,128,2,139,12,188,0,15,108,37,44,15,116,2,1,15,132,2,45,15,128,2,255,15,15,248,38,4,15,136,12,158,15,244,4,20,15,4,0,97,15,128,2,254,15,200,8,20,15,56,27,146,14,128,2,15,124,2,6,15,128,2,230,15,100,57,12,15,4,0,255,207,15,0,5,125,15,176,26,44,15,104,6,65,15,20,5,45,15,228,5,145,15,128,7,246,14,176,26,15,104,1,78,15,148,2,218,15,188,0,25,4,180,59,4,192,27,15,128,7,255,255,35,15,76,1,41,12,64,30,15,128,7,196,15,4,0,255,71,15,204,8,27,15,64,30,79,15,4,0,0,15,0,70,109,15,220,11,255,75,12,204,8,15,244,4,21,47,232,241,64,30,11,15,172,6,55,15,128,2,255,204,15,32,2,31,15,196,163,30,15,128,2,255,243,15,48,11,57,15,196,163,36,15,0,10,255,231,15,176,18,16,15,116,47,61,15,0,10,255,251,14,228,9,15,100,0,63,0,120,7,15,192,0,12,15,128,7,209,15,172,17,9,15,128,7,255,55,15,96,1,4,15,128,2,255,3,12,124,6,14,176,27,15,92,10,255,124,15,128,2,193,14,124,6,15,0,30,255,255,29,15,160,3,56,15,128,2,255,255,100,14,4,0,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,169,63,255,155,63,4,0,255,235,15,128,2,255,94,4,176,20,15,128,2,255,255,99,12,48,28,15,128,2,255,255,99,8,48,28,15,128,2,255,255,31,14,60,7,15,128,7,255,204,8,40,13,15,248,0,61,14,92,0,15,60,7,255,0,14,128,1,15,0,5,255,12,12,44,1,14,56,1,15,56,0,22,15,60,7,13,15,8,2,101,15,0,5,255,91,15,160,1,25,14,72,2,15,56,0,30,15,60,7,21,15,32,3,61,15,0,10,255,199,14,52,4,15,56,0,30,15,32,3,77,15,128,2,255,187,12,220,1,14,72,2,15,56,0,30,15,32,3,81,15,0,5,255,191,15,8,10,56,15,32,3,61,15,128,2,255,227,15,144,4,89,14,44,12,15,232,2,79,8,32,62,15,32,0,8,15,80,0,34,15,4,0,20,15,128,2,186,14,212,0,15,80,19,14,15,0,20,154,14,8,10,15,0,30,255,255,89,14,4,0,15,128,2,255,255,255,250,15,32,38,0,15,0,5,255,255,255,133,15,168,3,0,15,128,2,255,135,15,84,5,20,15,8,3,255,54,15,128,12,255,255,111,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,15,4,0,255,242,15,128,2,48,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,248,8,68,58,15,16,0,17,8,20,0,8,32,0,15,228,0,0,15,80,0,34,15,84,0,25,4,12,0,15,8,0,9,14,60,0,14,32,0,15,80,0,4,15,156,0,9,15,128,2,255,59,15,8,0,57,15,240,1,0,15,20,0,10,12,32,0,14,48,0,15,80,0,6,15,128,2,21,15,240,0,69,15,0,5,255,59,15,176,4,13,15,240,1,41,14,100,2,15,128,2,11,15,100,4,0,15,160,0,13,15,64,0,29,15,128,2,49,15,0,5,255,187,15,8,5,37,15,64,0,0,15,0,5,255,163,14,120,1,15,16,9,14,15,128,2,34,15,112,10,0,15,80,10,34,15,80,2,0,14,0,5,15,128,2,20,14,164,0,15,16,10,10,14,4,10,15,0,20,255,255,255,255,255,255,255,255,196,8,8,0,12,180,0,15,48,20,24,15,128,2,255,255,24,15,8,0,0,15,128,14,30,15,24,0,0,15,0,5,255,255,28,15,224,4,0,15,4,22,9,15,64,0,1,15,0,5,255,255,52,14,100,2,14,124,2,15,16,0,20,15,0,30,255,255,52,31,54,0,10,23,15,128,2,255,255,36,15,4,0,64,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,43,53,143,147,154,4,0,15,16,0,1,8,20,0,15,16,0,5,15,80,0,8,15,36,0,10,14,128,0,15,16,0,55,15,112,0,21,15,156,0,1,12,8,0,15,48,0,4,15,32,0,29,15,128,2,255,7,8,8,0,15,12,0,0,15,48,0,13,15,32,0,34,15,240,1,0,15,144,0,13,15,32,0,34,14,112,0,14,8,2,15,144,0,4,15,240,0,50,14,120,0,15,0,5,255,12,15,128,2,29,15,64,5,4,15,128,2,26,15,192,4,17,15,124,5,0,15,128,2,38,14,156,5,15,128,2,46,15,0,5,255,47,14,208,1,15,0,5,187,15,168,4,25,12,16,3,15,240,0,52,15,128,2,255,19,15,0,10,8,14,64,4,15,0,10,52,15,128,2,32,15,48,10,54,15,52,2,4,15,32,6,1,15,32,0,25,15,0,5,255,14,15,0,20,255,255,255,255,255,255,255,113,31,103,124,82,255,255,46,78,0,0,0,0,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,101,14,128,2,15,124,2,255,255,77,15,128,2,4,15,124,2,255,255,104,14,132,2,15,124,2,255,255,97,14,132,2,15,124,2,255,255,97,8,132,2,15,4,0,255,255,55,15,116,2,21,255,2,67,66,77,80,148,0,2,0,160,0,0,0,205,0,0,0,32,156,2,8,15,4,0,255,255,83,15,124,2,5,63,207,195,197,4,0,255,255,76,143,224,210,212,255,242,227,229,255,160,22,1,127,140,134,135,255,173,164,166,128,2,255,255,76,0,124,2,4,4,0,8,28,30,113,75,75,74,255,107,104,104,132,2,14,160,12,15,4,0,255,255,61,49,196,184,186,128,2,53,189,177,181,144,7,0,128,2,0,4,0,14,124,2,15,4,0,255,255,69,127,174,156,166,255,138,129,134,128,2,255,255,255,49,63,77,0,255,128,2,255,255,104,34,0,155,200,82,63,188,204,255,128,2,255,255,96,42,39,231,208,173,63,168,119,255,0,5,255,255,96,68,50,226,0,255,140,251,14,124,2,15,128,2,255,216,12,92,178,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,63,255,173,41,132,1,166,63,167,171,178,8,0,26,8,56,0,4,4,0,15,16,0,1,8,20,0,15,16,0,4,15,80,0,10,14,28,0,14,72,0,14,56,0,15,128,2,99,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,14,36,0,15,128,2,219,12,24,0,14,12,0,15,48,0,2,15,136,0,18,15,72,0,12,15,128,2,130,14,216,4,15,128,2,43,15,76,5,8,15,128,2,242,15,152,4,0,15,56,2,38,14,72,2,14,128,2,15,160,0,8,15,0,5,118,14,28,0,15,0,5,51,14,72,0,15,0,5,183,14,8,2,15,24,2,26,15,0,5,57,15,128,2,186,15,20,10,16,15,252,9,37,15,128,2,230,15,16,5,29,12,72,0,15,136,0,25,15,72,0,12,15,128,2,73,15,4,0,255,255,35,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,31,8,28,190,255,255,38,15,128,2,57,0,132,44,15,4,0,255,234,15,128,2,255,255,255,255,255,255,255,255,201,8,108,35,15,16,0,25,15,64,0,15,15,128,2,255,255,25,57,83,37,126,64,2,8,16,0,0,12,0,12,16,0,46,232,241,64,0,0,4,0,14,16,0,15,128,2,255,255,21,15,8,0,13,14,244,4,15,0,5,255,255,61,15,8,0,13,12,208,4,8,128,2,14,32,5,10,48,5,15,0,10,255,255,71,47,232,241,0,5,255,255,53,4,176,4,4,224,4,15,16,0,56,15,128,2,255,255,20,15,4,0,72,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,218,63,188,182,180,4,0,2,15,0,5,255,255,91,49,53,54,52,8,0,49,54,82,171,4,0,14,0,5,15,128,2,255,255,77,0,20,81,4,124,2,15,128,2,255,34,15,68,6,4,15,116,2,255,15,12,12,0,34,177,217,252,22,15,0,5,255,34,15,68,6,0,15,128,2,255,19,0,56,1,0,12,0,0,8,0,4,116,25,0,12,0,4,80,1,8,96,1,12,20,0,15,128,2,249,14,68,6,15,120,12,255,16,0,80,2,15,60,6,5,4,112,2,12,4,0,15,128,2,249,15,68,6,8,15,0,5,255,19,14,100,2,14,4,0,15,128,2,255,18,15,68,6,28,15,128,7,254,15,108,2,24,15,128,2,250,15,68,6,36,15,148,7,255,11,31,77,128,22,255,25,15,68,6,12,15,128,2,255,27,14,28,1,15,128,2,195,0,252,101,15,4,0,53,0,128,2,47,168,119,68,6,11,14,112,0,15,4,0,255,4,15,48,1,83,15,128,22,207,14,248,19,15,0,30,255,255,89,14,224,9,15,128,2,255,255,1,15,68,6,84,15,4,0,255,135,15,0,30,255,166,12,84,98,15,0,5,255,130,15,4,0,193,47,232,241,4,0,9,15,0,5,157,15,128,2,255,156,14,124,2,15,132,2,1,15,128,2,255,255,69,14,124,2,15,132,2,9,15,128,2,255,255,49,12,72,2,15,128,2,33,14,148,2,15,128,2,255,255,17,47,232,241,4,0,77,15,128,2,255,244,15,12,2,1,47,232,241,128,2,255,255,81,15,48,7,11,15,132,2,85,15,128,2,255,255,1,15,4,0,53,47,177,217,128,2,255,255,9,15,92,2,49,47,177,217,36,0,19,47,177,217,128,2,255,255,1,14,24,2,15,56,2,19,47,177,217,4,0,43,14,192,2,15,128,2,255,228,8,132,2,15,4,0,105,15,204,5,63,15,128,2,255,176,15,32,0,45,8,40,0,15,128,2,11,15,0,28,73,15,128,17,255,152,12,12,2,12,172,35,12,32,0,15,200,2,11,15,36,0,21,15,0,28,81,15,128,22,255,160,0,120,2,4,20,148,14,48,38,15,0,28,161,15,128,2,255,160,0,16,153,46,39,231,128,2,15,0,28,183,15,128,27,255,140,14,44,43,15,0,28,197,15,128,2,255,76,14,116,45,15,0,28,153,15,128,2,255,172,15,200,9,169,31,168,0,28,90,15,128,2,118,15,200,9,255,79,31,168,0,28,94,15,128,2,195,15,72,26,141,30,168,128,7,15,0,28,255,19,15,0,5,153,4,204,74,23,168,108,62,15,4,0,44,15,0,28,255,111,15,128,2,141,38,77,0,124,2,0,88,4,0,192,0,4,228,69,15,128,2,48,15,0,28,255,111,15,128,2,121,15,164,5,5,4,172,55,8,192,0,8,128,2,15,12,5,40,15,0,28,255,111,15,128,2,113,8,116,2,8,236,113,47,232,241,44,114,3,0,12,0,0,128,2,0,8,0,31,168,140,7,255,45,14,32,0,15,0,28,69,15,128,22,131,47,232,241,128,2,3,12,4,0,15,200,10,5,4,140,2,15,12,12,9,0,160,2,4,4,0,4,140,77,15,188,12,4,15,72,0,36,15,0,65,255,168,15,128,2,0,15,4,0,30,14,0,5,15,4,0,255,132,15,148,81,1,15,128,2,125,14,228,4,15,148,2,6,14,128,7,15,4,0,255,145,4,156,18,4,204,16,15,128,2,145,8,4,0,4,244,6,15,8,20,123,15,204,7,255,24,12,24,94,15,128,2,157,4,192,1,14,128,2,15,244,4,255,136,8,160,6,4,12,0,4,24,94,15,128,2,181,14,40,21,15,4,0,255,120,0,116,2,46,177,217,24,94,15,128,2,112,15,84,56,41,15,4,5,255,151,14,24,94,15,128,12,119,15,84,28,27,15,128,2,255,164,15,24,94,9,15,128,2,117,15,84,28,43,15,128,7,255,152,15,128,2,181,14,92,23,15,4,0,255,156,4,52,24,15,128,2,112,15,4,0,255,143,15,208,103,5,15,80,0,37,4,252,4,0,76,34,15,128,2,255,162,15,68,20,11,15,88,0,39,0,56,43,38,0,155,16,0,4]),N.push.apply(N,[76,43,4,116,0,0,48,2,4,184,19,15,192,0,49,47,177,217,0,5,255,252,4,148,208,8,84,11,4,144,2,12,56,22,15,116,0,51,15,128,92,255,160,31,168,40,45,88,15,56,22,9,15,108,0,48,15,0,10,255,255,8,8,128,2,47,177,217,80,116,11,15,88,7,0,15,0,5,21,15,128,7,255,255,24,15,80,116,20,15,128,2,255,255,48,15,128,12,3,15,208,113,6,15,128,2,255,151,14,152,1,15,48,2,75,31,177,52,17,7,15,56,22,54,15,212,0,8,15,128,2,255,123,12,148,62,15,176,14,85,31,177,52,17,60,4,4,0,14,248,19,15,128,2,255,144,8,200,6,31,177,48,12,72,14,192,4,14,52,17,15,200,5,80,15,128,7,255,215,15,128,2,1,4,52,7,12,12,0,0,180,14,15,200,0,85,14,236,7,15,128,12,255,196,15,128,7,4,15,52,17,78,15,124,2,8,14,112,10,15,128,2,255,201,4,128,12,4,8,0,42,0,155,20,0,15,52,17,69,15,120,2,8,15,248,12,5,15,128,17,255,203,42,0,155,128,7,4,8,5,15,52,17,24,15,120,2,70,14,136,2,15,0,20,255,200,8,8,10,15,52,17,41,14,184,4,15,120,2,47,14,136,2,15,128,2,255,28,14,116,36,15,128,2,139,12,188,0,15,108,37,44,15,116,2,1,15,132,2,45,15,128,2,255,15,15,248,38,4,15,136,12,158,15,244,4,20,15,4,0,97,15,128,2,254,15,200,8,20,15,56,27,146,14,128,2,15,124,2,6,15,128,2,230,15,100,57,12,15,4,0,255,207,15,0,5,125,15,176,26,44,15,104,6,65,15,20,5,45,15,228,5,145,15,128,7,246,14,176,26,15,104,1,78,15,148,2,218,15,188,0,25,4,180,59,4,192,27,15,128,7,255,255,35,15,76,1,41,12,64,30,15,128,7,196,15,4,0,255,71,15,204,8,27,15,64,30,79,15,4,0,0,15,0,70,109,15,220,11,255,75,12,204,8,15,244,4,21,47,232,241,64,30,11,15,172,6,55,15,128,2,255,204,15,32,2,31,15,196,163,30,15,128,2,255,243,15,48,11,57,15,196,163,36,15,0,10,255,231,15,176,18,16,15,116,47,61,15,0,10,255,251,14,228,9,15,100,0,63,0,120,7,15,192,0,12,15,128,7,209,15,172,17,9,15,128,7,255,55,15,96,1,4,15,128,2,255,3,12,124,6,14,176,27,15,92,10,255,124,15,128,2,193,14,124,6,15,0,30,255,255,29,15,160,3,56,15,128,2,255,255,100,14,4,0,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,169,63,255,155,63,4,0,255,235,15,128,2,255,94,4,176,20,15,128,2,255,255,99,12,48,28,15,128,2,255,255,99,8,48,28,15,128,2,255,255,31,14,60,7,15,128,7,255,204,8,40,13,15,248,0,61,14,92,0,15,60,7,255,0,14,128,1,15,0,5,255,12,12,44,1,14,56,1,15,56,0,22,15,60,7,13,15,8,2,101,15,0,5,255,91,15,160,1,25,14,72,2,15,56,0,30,15,60,7,21,15,32,3,61,15,0,10,255,199,14,52,4,15,56,0,30,15,32,3,77,15,128,2,255,187,12,220,1,14,72,2,15,56,0,30,15,32,3,81,15,0,5,255,191,15,8,10,56,15,32,3,61,15,128,2,255,227,15,144,4,89,14,44,12,15,232,2,79,8,32,62,15,32,0,8,15,80,0,34,15,4,0,20,15,128,2,186,14,212,0,15,80,19,14,15,0,20,154,14,8,10,15,0,30,255,255,89,14,4,0,15,128,2,255,255,255,250,15,32,38,0,15,0,5,255,255,255,133,15,168,3,0,15,128,2,255,135,15,84,5,20,15,8,3,255,54,15,128,12,255,255,111,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,15,4,0,255,242,15,128,2,56,15,4,0,255,255,35,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,230,49,93,85,88,4,0,0,132,2,15,128,82,255,255,95,4,124,2,0,4,0,0,120,2,78,0,0,0,0,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,93,14,128,2,15,124,2,255,255,93,14,128,2,15,124,2,255,255,93,14,128,2,15,124,2,255,255,93,12,128,2,63,75,65,68,124,2,255,255,92,9,132,2,111,65,68,255,75,56,63,4,0,255,255,52,15,124,2,25,9,132,2,47,56,63,4,0,255,255,56,14,124,2,15,132,2,19,15,4,0,255,255,55,15,116,2,21,208,67,66,77,80,244,0,0,0,32,0,0,0,7,132,2,7,28,0,31,5,1,0,49,31,13,1,0,4,3,31,0,31,6,55,0,5,3,8,0,34,7,6,1,0,27,13,8,0,15,155,0,49,0,252,0,19,84,244,0,27,8,252,0,115,0,0,6,6,6,7,6,9,0,3,18,0,4,26,0,15,88,1,113,15,1,0,44,4,88,1,13,8,0,15,183,1,12,31,13,88,1,46,15,96,1,1,15,88,1,27,19,69,84,1,12,88,1,0,73,0,0,196,0,15,173,1,0,1,23,0,5,105,0,15,77,0,17,9,88,0,4,75,0,0,2,0,3,3,0,3,14,0,6,84,0,15,77,0,22,21,6,86,0,2,63,0,4,83,0,15,77,0,33,2,223,0,25,6,77,0,3,91,0,47,0,0,154,0,35,27,6,154,0,31,6,154,0,32,4,74,0,1,34,0,36,6,0,150,0,28,13,65,3,14,129,1,15,1,0,40,0,77,0,83,101,0,0,0,9,4,0,15,77,0,7,20,7,8,0,36,7,7,8,0,40,7,7,8,0,4,26,0,20,7,44,0,4,42,0,15,109,0,30,5,57,0,15,9,0,6,1,117,0,22,7,106,0,7,18,0,15,109,0,27,19,7,2,0,12,232,0,15,18,0,13,11,54,0,15,218,0,22,40,0,7,66,0,9,9,0,4,209,0,9,89,1,14,74,1,15,180,1,33,12,10,0,4,45,1,22,7,118,0,3,100,0,4,85,2,15,180,1,38,10,69,0,9,162,1,15,32,0,1,31,7,109,0,32,14,253,1,15,9,0,5,15,33,2,48,14,77,1,15,10,0,23,11,218,0,147,148,0,2,0,160,0,0,0,205,227,6,7,31,0,31,255,4,0,255,255,119,14,203,20,15,4,0,255,255,69,15,124,2,255,255,107,14,132,2,14,124,2,15,132,2,255,255,86,15,128,2,255,255,255,255,255,179,63,77,0,255,128,2,255,255,104,34,0,155,127,179,63,188,204,255,128,2,255,255,96,42,39,231,3,182,63,168,119,255,0,5,255,255,96,49,50,226,0,124,2,62,169,112,132,124,2,15,128,2,255,217,12,143,186,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,63,255,173,41,124,1,166,63,167,171,178,8,0,26,8,56,0,4,4,0,15,16,0,1,8,20,0,15,16,0,4,15,80,0,10,14,28,0,14,72,0,14,56,0,15,128,2,99,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,14,36,0,15,128,2,219,12,24,0,14,12,0,15,48,0,2,15,136,0,18,15,72,0,12,15,128,2,130,14,216,4,15,128,2,43,15,76,5,8,15,128,2,242,15,152,4,0,15,56,2,38,14,72,2,14,128,2,15,160,0,8,15,0,5,118,14,28,0,15,0,5,51,14,72,0,15,0,5,183,14,8,2,15,24,2,26,15,0,5,57,15,128,2,186,15,20,10,16,15,252,9,37,15,128,2,230,15,16,5,29,12,72,0,15,136,0,25,15,72,0,12,15,128,2,65,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,15,56,57,255,255,47,15,64,0,49,63,139,138,136,4,0,255,235,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,15,4,0,255,242,15,128,2,48,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,157,14,60,2,15,128,2,255,255,89,15,124,2,44,15,128,2,45,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,47,15,128,82,255,255,68,15,192,107,32,15,124,2,255,255,108,14,128,2,15,124,2,255,255,40,15,128,2,37,15,124,2,255,255,108,14,128,2,15,124,2,255,255,32,15,128,2,45,15,124,2,255,255,108,14,128,2,15,124,2,255,255,28,15,132,2,53,15,124,2,255,255,108,14,132,2,15,124,2,255,255,12,15,4,0,255,255,188,255,3,67,66,77,80,20,6,0,0,48,0,0,0,32,0,0,0,8,0,1,0,89,31,6,1,0,24,15,47,0,28,47,6,6,47,0,17,79,7,7,7,7,24,0,5,31,7,48,0,23,46,7,7,49,0,15,119,0,12,31,5,48,0,27,63,5,5,5,48,0,25,16,5,1,0,15,144,0,4,15,192,0,48,17,13,47,0,63,13,6,6,60,1,14,2,13,0,18,13,1,0,14,87,1,12,124,0,18,7,26,1,20,6,47,0,30,5,49,0,9,12,1,0,47,0,6,25,1,2,13,0,14,48,0,1,83,0,14,73,1,13,75,0,47,7,7,96,0,23,5,183,0,15,192,0,2,6,123,0,4,192,0,5,135,0,9,60,1,10,73,1,8,87,1,5,35,2,4,60,1,2,34,0,9,73,1,8,27,0,6,231,0,7,47,0,39,6,6,47,0,5,87,1,14,243,1,15,64,2,4,15,243,1,24,13,160,2,9,183,0,15,0,3,17,14,47,0,15,160,2,68,14,48,0,14,173,0,15,49,0,0,15,173,0,22,30,6,129,4,15,225,4,65,15,158,5,79,15,28,6,255,255,79,16,14,1,0,15,28,6,23,0,46,0,63,5,14,14,28,6,22,0,47,0,0,48,0,31,6,28,6,20,0,47,0,10,48,0,14,28,6,15,96,0,0,15,28,6,22,4,192,0,15,28,6,22,1,32,1,15,28,6,255,255,255,255,232,10,197,4,2,42,6,31,6,56,12,21,1,104,5,47,14,14,56,12,22,2,201,5,31,14,56,12,22,9,42,6,14,56,12,15,96,0,5,15,56,12,22,8,192,0,15,56,12,18,7,42,6,15,28,6,255,255,255,138,14,197,4,15,48,0,10,46,14,14,49,0,15,155,0,9,2,94,10,15,48,0,25,8,239,10,15,48,0,16,1,220,3,15,144,0,4,15,192,0,48,10,239,10,15,84,18,255,255,255,255,255,255,43,15,28,6,255,69,10,171,19,15,28,6,14,4,252,7,14,28,6,15,92,8,22,14,243,1,14,188,8,15,111,5,0,15,28,9,23,14,111,5,15,188,8,68,31,6,28,6,255,255,255,107,9,199,3,15,28,6,15,9,248,3,15,28,6,16,12,9,18,15,28,6,13,0,135,4,7,48,0,15,28,6,11,15,96,0,23,5,51,1,14,192,0,15,28,6,12,8,184,4,15,56,12,255,255,255,255,255,153,4,226,5,15,96,0,20,5,19,6,15,56,12,20,5,163,6,15,56,12,20,5,91,11,15,28,6,20,6,3,7,15,28,6,19,14,139,11,14,28,6,14,71,20,15,28,6,255,255,219,14,31,3,14,28,6,14,48,0,15,196,42,255,255,255,255,220,83,69,0,0,0,7,4,0,15,28,6,1,86,6,9,9,9,6,7,0,2,153,0,0,176,1,3,14,0,15,77,0,27,3,63,0,72,5,5,5,6,14,0,31,6,77,0,33,4,22,0,241,2,9,7,15,0,0,0,10,7,7,7,14,0,0,0,11,7,13,22,0,31,12,231,0,28,0,239,1,6,7,0,15,231,0,44,70,12,12,12,6,7,0,15,77,0,43,35,13,13,7,0,63,13,13,13,7,0,2,15,52,1,27,18,7,6,0,18,7,6,0,8,14,0,4,28,0,15,77,0,30,4,64,0,3,79,0,47,7,7,77,0,33,1,145,4,15,7,0,8,31,0,231,0,35,18,7,6,0,46,7,7,175,0,15,206,1,22,70,10,10,10,6,7,0,15,2,3,46,3,7,0,6,64,4,11,7,0,15,77,0,16,34,8,8,3,0,83,8,8,8,7,8,1,0,2,15,0,1,29,0,23,8,30,3,15,129,1,21,33,11,11,5,0,66,11,11,11,0,4,0,2,18,0,17,0,5,0,5,7,0,15,77,0,16,18,10,6,0,33,10,10,5,0,65,10,7,10,10,8,0,37,10,0,7,0,5,37,0,15,77,0,14,49,9,9,9,7,0,33,1,9,13,0,49,1,9,9,20,0,65,9,9,0,9,14,0,4,1,0,15,77,0,18,32,4,4,40,0,85,2,2,2,7,2,7,0,85,8,8,8,15,8,7,0,16,2,1,0,15,154,0,19,17,8,16,0,85,12,12,8,12,12,7,0,3,129,1,10,21,0,15,52,1,18,5,159,2,22,7,7,0,17,6,21,0,2,15,2,2,6,0,15,29,5,29,1,140,0,40,12,8,154,0,1,14,0,3,7,0,15,52,1,23,0,252,7,0,135,3,50,8,8,14,7,0,22,8,7,0,30,0,156,3,15,129,1,25,85,14,14,14,15,14,7,0,15,129,1,24,98,15,15,15,0,0,15,7,0,3,7,15,1,9,0,32,0,15,252,5,1,223,0,3,7,0,15,52,1,24,7,93,3,15,79,3,44,102,0,6,8,8,8,6,7,0,15,54,4,43,33,1,1,3,0,32,8,8,3,0,17,1,154,0,1,15,0,32,8,1,29,0,34,8,1,37,0,4,238,13,82,1,0,0,16,0,4,0,9,77,0,25,32,1,0,71,0,32,32,7,1,0,72,32,32,32,7,31,0,31,7,16,0,159,11,208,0,12,240,0,0,28,1,38,120,0,128,4,8,28,1,10,9,1,2,81,0,15,10,0,52,5,1,0,0,128,0,19,84,120,0,27,8,128,0,1,161,0,0,8,0,38,7,7,8,0,5,169,1,1,236,0,7,15,0,26,7,44,0,63,32,32,32,92,0,9,12,93,0,20,32,8,0,11,64,1,3,34,0,27,32,91,0,31,0,92,0,10,3,93,0,19,32,85,0,35,32,7,8,0,21,32,117,0,3,10,0,0,24,0,19,7,8,0,36,32,32,56,0,15,184,0,14,26,32,85,0,8,152,0,9,216,0,9,99,0,31,32,184,0,4,15,93,0,23,15,91,0,5,47,0,32,184,0,16,35,0,0,62,0,2,99,1,4,115,1,5,26,2,8,12,0,2,45,0,39,7,32,55,0,15,92,0,12,8,93,0,6,227,2,42,7,7,4,0,7,60,2,8,53,0,15,92,0,13,5,93,1,3,84,0,42,0,32,80,0,35,32,7,140,2,37,7,7,39,0,8,201,4,15,96,3,5,49,0,0,16,1,0,0,9,0,2,231,8,16,16,10,0,1,110,17,15,10,0,16,6,50,0,1,38,14,5,20,0,21,16,90,0,15,128,0,14,19,0,38,0,69,0,0,16,7,58,0,63,6,15,15,10,0,19,6,50,0,38,7,7,20,0,21,16,90,0,15,0,1,15,0,39,0,4,9,0,6,58,0,15,10,0,50,3,90,0,15,0,1,22,7,206,0,15,10,0,13,20,7,10,0,5,246,0,20,7,119,0,13,1,1,15,0,2,32,10,10,0,20,7,10,0,20,7,10,0,20,7,10,0,5,246,1,35,7,7,129,0,17,16,155,17,8,1,2,15,128,0,139,10,128,1,6,88,1,21,7,88,2,3,10,0,24,7,10,0,20,6,10,0,4,148,1,5,117,0,1,51,0,14,128,1,15,128,2,19,5,57,0,31,7,10,0,1,15,108,2,1,14,30,0,15,128,2,39,7,206,0,36,14,14,88,2,15,10,0,3,15,128,3,21,15,128,4,110,15,128,0,244,16,36,231,11,3,4,0,15,106,24,6,15,44,0,32,16,245,242,11,3,4,0,15,194,24,14,5,190,7,2,14,0,1,170,0,5,53,7,17,6,30,0,0,18,0,1,42,0,53,6,32,32,30,7,67,32,7,7,13,4,8,2,14,0,0,15,0,47,7,32,15,0,3,3,82,20,7,30,0,1,61,10,15,15,0,32,3,16,0,31,32,192,0,2,0,253,0,94,19,1,0,0,17,253,0,15,1,0,51,26,17,1,0,58,0,17,7,1,0,116,17,17,7,7,13,13,7,2,0,2,17,0,7,34,0,16,13,17,0,7,33,0,17,13,17,0,15,68,0,0,17,7,48,1,2,69,0,14,34,0,13,136,0,31,0,190,20,50,15,1,0,14,15,189,8,29,1,146,18,47,5,16,10,0,24,2,40,2,10,20,0,14,189,3,15,128,0,51,6,108,0,14,118,0,14,61,4,15,128,0,53,15,118,0,7,15,189,4,63,15,88,1,11,7,118,0,15,61,5,68,15,118,0,7,15,189,5,83,15,118,0,7,15,128,0,89,15,61,7,255,46,4,69,1,15,128,0,91,11,60,3,31,0,128,0,83,15,40,4,6,15,0,1,74,15,40,4,7,15,128,0,73,14,10,5,15,0,1,81,15,148,5,21,11,148,0,15,128,2,44,15,10,6,27,15,128,1,0,15,128,6,64,15,138,7,26,13,128,0,15,77,8,7,5,186,12,23,16,44,13,19,16,30,14,4,14,0,21,16,42,0,0,77,0,98,184,31,0,0,90,0,4,0,47,8,0,1,0,255,25,0,196,23,1,2,0,0,8,0,2,213,23,0,3,0,12,38,0,4,34,0,47,0,14,90,0,23,3,2,0,1,51,0,23,14,16,0,15,38,0,0,31,0,90,0,27,47,14,0,90,0,17,20,14,4,0,15,180,0,69,31,0,180,0,26,4,143,0,3,90,0,47,14,0,90,0,5,4,138,1,15,28,2,113,15,1,0,9,15,38,0,15,31,0,1,0,255,255,255,37,15,63,3,71,7,124,4,15,90,0,62,1,55,6,15,180,0,69,15,90,0,68,47,14,14,90,0,72,14,31,6,15,28,2,58,15,1,0,255,255,255,194,31,13,1,0,62,47,0,0,126,9,255,255,255,131,31,0,126,9,69,47,14,0,180,0,156,14,233,14,15,126,9,255,255,255,255,255,216,0,28,1,1,4,0,17,0,85,51,1,12,0,9,24,0,34,13,0,28,0,7,48,0,54,0,0,5,28,0,5,40,0,28,13,90,0,9,2,0,0,16,0,7,114,0,7,32,0,38,0,13,48,0,53,0,5,0,28,0,4,27,0,8,126,0,14,180,0,4,136,0,5,114,0,3,176,0,13,180,0,0,90,0,23,13,90,0,3,4,0,12,180,0,8,62,0,6,122,0,47,13,0,180,0,5,31,0,180,0,21,39,0,0,100,1,4,72,1,4,180,0,6,128,1,8,48,0,0,94,48,6,28,0,7,12,0,31,0,182,13,255,88,15,1,0,255,255,255,255,224,15,13,32,10,2,148,58,31,5,1,0,1,18,13,6,0,4,54,5,2,6,0,15,167,40,17,2,195,13,15,184,28,2,3,179,69,7,77,0,147,20,50,1,0,144,0,0,0,136,210,67,4,69,0,113,59,51,73,255,64,49,62,4,0,63,0,0,2,4,0,28,31,0,16,0,255,141,15,4,0,65,81,0,255,80,49,58,4,0,8,60,2,14,64,2,15,36,2,22,15,84,2,255,221,6,64,2,0,4,0,15,64,2,8,15,86,117,255,249,15,64,2,25,30,1,56,2,15,4,0,255,247,31,1,64,2,12,29,0,64,2,63,255,173,41,4,0,86,63,83,43,29,4,0,34,15,108,0,89,14,124,0,15,108,0,43,15,152,0,0,15,4,0,122,15,64,2,27,14,180,6,15,32,2,65,15,220,1,77,14,68,0,15,56,0,35,15,184,0,9,15,68,2,213,15,64,2,31,31,1,64,2,78,15,156,1,8,14,24,0,15,92,1,84,15,124,0,0,15,44,2,1,15,16,3,9,15,72,2,57,15,64,2,255,3,15,156,1,25,14,72,1,15,104,1,2,15,132,6,94,15,116,5,53,15,144,0,16,15,64,2,160,15,0,9,87,15,132,4,0,15,44,0,9,15,192,8,106,15,72,2,0,15,116,5,50,15,68,2,145,14,72,11,15,0,9,103,15,88,4,12,15,248,10,126,15,16,2,4,15,68,2,38,14,192,0,15,68,2,18,15,64,11,246,14,12,2,15,124,6,67,15,48,2,40,15,204,6,117,15,0,9,255,7,15,176,6,8,15,224,5,33,15,32,2,65,15,244,0,117,15,0,9,255,3,14,20,4,15,216,3,14,15,100,4,21,15,60,2,142,14,164,0,15,68,2,14,15,0,9,156,14,44,0,15,136,3,85,14,8,2,15,144,1,18,14,132,4,15,124,4,160,31,255,64,20,255,21,15,100,1,44,15,180,6,1,15,4,0,177,15,64,20,205,15,4,0,255,103,15,0,9,160,15,64,2,255,55,15,228,9,12,15,72,2,25,15,0,9,157,15,64,2,255,59,14,44,14,15,236,11,34,15,64,2,255,223,14,108,4,15,108,16,46,15,64,11,145,15,64,2,255,59,15,56,2,4,15,64,2,37,15,0,9,255,219,15,248,1,4,15,64,2,41,15,192,6,255,215,31,83,40,32,3,15,0,9,255,255,8,15,40,11,0,15,68,2,17,15,64,2,29,15,0,9,255,159,14,232,1,15,24,39,35,14,56,2,14,200,31,15,0,9,255,194,15,24,2,8,15,152,25,33,15,80,36,49,15,192,6,206,53,170,204,255,4,0,15,156,6,217,31,255,48,41,43,15,36,27,25,15,64,2,194,8,56,2,0,4,0,34,232,241,4,0,15,72,2,92,15,48,41,206,15,128,4,193,15,56,2,1,47,232,241,68,2,186,15,188,51,226,15,0,9,0,15,64,2,58,14,116,4,15,64,2,199,15,224,1,44,15,196,33,25,15,128,4,210,15,60,2,21,47,232,241,16,9,10,15,88,2,214,14,252,6,15,72,2,14,15,64,2,198,15,60,2,7,15,132,4,207,31,255,48,41,55,15,128,31,226,15,60,2,7,15,132,4,18,15,148,24,226,31,83,48,41,55,15,64,2,230,14,132,4,15,124,4,223,15,48,7,52,15,64,2,255,179,15,244,4,104,15,64,2,255,255,40,14,76,2,15,64,11,162,15,64,2,255,251,53,67,49,61,4,0,15,192,15,39,15,64,2,255,255,33,14,68,2,14,80,2,15,64,2,255,255,15,14,68,2,15,76,20,22,15,64,2,255,255,40,14,140,13,15,192,6,255,255,1,15,80,11,255,58,14,60,18,15,64,11,182,15,64,2,255,91,12,68,2,15,64,2,149,15,248,1,1,14,64,2,15,68,2,5,15,12,9,255,52,15,64,2,189,8,252,1,15,4,0,23,15,4,9,255,48,8,72,2,15,64,2,173,15,72,2,21,12,36,0,14,136,13,15,196,24,255,140,15,64,2,101,15,40,0,11,15,124,4,255,148,15,64,2,81,15,192,33,19,15,60,2,255,52,15,64,2,235,15,180,6,6,15,64,11,255,227,15,64,2,53,47,170,204,156,13,10,15,12,9,255,111,15,64,2,117,15,4,9,3,15,36,18,18,15,64,2,255,255,48,14,68,2,15,192,24,255,120,53,71,49,60,4,0,15,64,11,71,15,104,20,50,15,64,2,255,235,15,128,4,7,15,68,2,26,15,4,18,255,95,15,64,2,121,15,68,2,31,15,72,18,18,15,64,2,255,219,15,184,22,17,15,80,2,32,15,64,2,255,223,14,24,9,15,68,2,46,15,64,2,255,99,53,72,50,59,4,0,15,44,0,1,15,220,1,0,15,212,6,137,15,64,2,255,147,47,170,204,204,6,85,15,64,2,255,200,47,170,204,64,2,83,15,224,31,11,15,64,2,231,63,0,163,255,64,2,174,15,68,2,53,31,255,200,76,208,8,4,0,0,252,1,15,64,2,49,14,68,2,15,64,2,159,15,68,2,47,15,60,13,219,34,0,163,52,1,14,68,2,15,68,0,31,4,72,0,15,64,2,173,47,170,204,60,2,255,20,8,88,5,46,0,163,68,2,15,64,2,233,47,170,204,56,2,255,12,4,248,1,15,4,0,59,15,64,2,111,38,75,53,4,0,15,64,2,15,15,248,44,33,15,60,2,75,14,140,22,15,64,2,223,14,68,2,15,64,2,179,4,28,13,15,128,4,53,14,240,4,15,56,36,6,15,60,2,129,15,64,2,255,31,15,212,6,16,15,60,2,58,12,72,2,15,60,2,213,14,68,2,15,192,6,203,15,68,2,0,15,168,56,69,15,60,2,113,15,64,2,255,47,15,248,1,11,15,160,2,45,15,136,4,14,15,64,2,255,63,53,78,48,57,4,0,15,64,2,61,14,16,2,15,4,0,235,15,232,1,1,49,2,0,0,4,0,15,28,2,3,15,52,0,42,15,64,2,129,15,4,0,255,39,47,0,163,64,2,218,15,0,117,255,63,14,188,6,15,196,6,159,15,64,2,45,63,199,195,194,4,0,255,35,14,60,2,15,68,2,86,15,128,4,255,179,15,64,2,245,63,156,118,131,128,4,255,159,14,68,2,15,64,2,59,53,76,48,57,4,0,15,64,2,17,0,12,10,15,168,1,133,0,160,0,14,228,2,15,60,2,147,63,54,82,171,4,0,18,15,72,2,40,15,64,2,114,4,68,2,14,72,2,15,56,2,111,8,160,0,15,124,4,245,14,68,2,15,64,2,102,15,164,1,130,12,60,2,14,68,2,15,60,2,106,15,64,2,255,3,8,216,16,15,244,1,44,15,56,2,62,14,36,5,15,60,2,247,14,68,2,15,128,4,103,4,164,1,14,4,2,15,108,6,79,15,60,2,16,14,228,2,15,60,2,128,15,156,20,51,15,64,2,119,53,77,55,58,4,0,15,64,2,17,12,4,0,15,240,1,40,15,56,2,50,15,68,2,1,4,16,0,14,188,54,15,4,0,71,15,56,2,27,15,72,2,53,15,64,2,99,53,73,47,57,4,0,15,64,2,16,15,4,0,70,15,204,4,8,15,96,0,49,15,124,4,118,14,40,25,15,68,2,151,15,64,2,73,8,236,3,15,4,0,133,15,124,4,107,15,108,27,85,15,64,2,167,15,68,2,144,15,64,2,255,135,15,4,0,157,4,240,1,15,32,9,63,15,64,2,109,15,0,9,18,15,64,2,255,47,15,156,4,79,15,64,2,127,14,128,22,15,64,2,255,60,15,72,2,9,0,64,1,8,8,0,15,64,2,255,255,11,4,68,2,12,44,2,14,60,2,15,132,4,13,15,64,2,255,160,0,40,1,15,68,2,65,15,60,2,13,63,81,135,0,64,2,12,15,60,2,171,15,64,2,5,53,70,46,57,4,0,15,64,2,173,38,0,163,180,1,15,68,2,41,0,44,1,8,12,0,4,64,2,8,68,2,12,140,4,12,64,2,5,116,1,15,64,2,60,63,79,87,95,64,2,255,47,63,168,119,255,128,4,26,8,16,2,15,64,2,33,12,4,0,8,80,2,4,16,0,8,68,2,8,28,0,12,200,1,42,81,135,72,46,12,16,0,15,60,2,68,15,64,2,246,34,168,119,172,1,15,68,2,9,0,148,1,15,68,2,0,15,20,0,26,4,68,0,0,16,0,0,12,0,15,92,1,13,4,64,2,12,40,0,12,232,46,15,64,2,25,0,48,2,8,4,0,15,60,2,21,0,84,0,15,64,2,17,0,40,0,4,4,0,15,28,0,8,15,128,4,218,8,252,1,4,0,1,8,72,4,15,48,2,5,8,60,1,8,60,0,8,64,2,15,72,2,13,8,40,0,0,124,1,14,40,49,14,224,1,4,44,0,15,76,2,1,0,16,25,8,164,18,14,120,2,15,116,4,3,8,252,1,15,4,0,1,12,32,2,15,4,0,16,15,64,2,6,53,68,46,57,4,0,53,80,58,58,4,0,15,64,2,137,0,208,0,63,54,228,0,32,0,10,8,60,2,15,96,4,4,15,172,6,14,14,116,1,6,64,2,15,84,2,5,4,48,0,4,12,9,14,68,2,6,64,2,15,232,1,13,12,64,2,14,120,2,14,72,0,15,12,2,21,15,68,2,33,15,64,2,181,12,60,2,12,16,0,14,192,6,10,220,8,12,36,4,12,132,4,12,72,4,14,180,3,15,208,3,3,49,77,0,255,4,0,15,156,13,0,15,4,0,34,15,64,2,0,15,4,0,57,15,64,2,222,4,40,2,15,124,4,17,15,24,0,5,4,48,2,0,152,8,8,20,0,15,228,5,0,15,184,3,22,4,56,2,47,77,0,224,15,7,47,77,0,4,0,23,15,64,2,255,74,4,4,0,15,92,2,0,15,64,2,10,4,28,0,42,2,0,28,2,47,54,228,228,5,23,15,132,4,0,14,120,4,15,112,4,0,15,68,2,9,4,144,6,15,28,0,1,12,64,2,63,83,37,126,64,2,255,11,14,88,4,14,60,2,15,136,4,5,8,8,2,15,20,2,5,8,96,2,4,80,0,15,76,1,37,14,240,1,15,64,2,31,4,188,8,46,39,236,68,2,15,64,2,5,0,4,0,14,172,4,15,64,2,103,53,62,45,57,4,0,15,64,2,153,14,4,0,15,64,2,3,12,180,4,14,64,2,15,60,2,51,8,68,2,15,64,2,1,12,252,1,12,52,13,15,68,2,1,12,192,15,8,64,0,4,136,0,15,64,2,121,53,77,58,62,4,0,15,64,2,0,15,12,11,98,12,36,2,14,64,2,15,76,2,10,15,44,0,18,47,54,228,60,2,51,15,4,0,25,15,236,19,3,15,40,9,30,15,64,2,186,0,68,3,15,212,8,37,15,104,4,4,15,4,0,38,14,60,2,15,64,2,43,8,244,3,15,68,2,69,14,160,6,15,60,2,10,15,64,2,186,34,39,236,188,5,14,68,2,15,88,13,27,15,64,2,9,0,56,20,14,84,2,15,4,0,59,15,112,4,0,15,4,0,74,15,60,2,25,8,144,0,15,64,2,65,47,54,228,128,4,151,15,104,4,29,8,184,24,15,68,2,77,46,54,228,60,2,15,4,0,109,14,60,2,15,64,2,171,14,236,10,14,184,19,15,96,15,9,47,81,135,168,6,31,34,168,119,60,1,15,64,2,81,8,188,1,14,20,0,15,64,2,103,14,236,1,15,12,2,23,47,54,228,64,2,135,15,156,17,13,8,64,2,14,16,11,15,216,8,25,15,60,2,91,8,68,2,15,64,2,8,15,96,2,42,15,60,0,9,46,54,228,104,13,15,100,14,3,15,64,2,51,12,104,1,15,64,2,73,15,184,8,0,15,52,22,5,14,20,11,15,4,0,164,12,240,1,4,156,4,14,160,4,15,60,2,23,14,60,0,6,56,2,14,212,1,15,64,2,39,14,56,0,15,64,2,7,47,54,228,128,4,19,53,58,44,57,4,0,53,76,59,66,4,0,15,64,2,25,8,192,19,15,228,19,12,15,64,2,214,14,52,0,15,40,0,2,15,240,4,18,31,54,252,11,32,15,24,0,3,15,40,19,9,15,64,2,79,15,116,4,4,15,64,2,6,8,132,0,14,124,4,15,4,0,231,14,184,4,15,48,7,6,15,220,7,34,47,81,135,28,19,25,15,64,2,95,15,192,0,15,15,184,8,5,15,4,0,255,16,14,52,2,15,88,14,63,14,184,1,14,0,7,15,64,2,91,15,48,2,5,15,4,0,255,128,15,120,4,5,47,81,135,64,2,47,53,74,60,70,4,0,15,64,2,3,15,4,0,255,148,15,16,11,9,47,54,228,64,2,255,255,17,47,54,228,12,2,1,15,128,4,31,31,54,192,15,16,53,56,44,57,4,0,15,64,2,255,186,47,54,228,64,2,43,14,64,20,15,64,2,255,224,14,144,4,15,116,22,5,15,64,2,255,255,17,15,68,2,13,47,54,228,64,2,255,252,14,76,17,15,232,8,5,15,64,2,255,255,13,14,12,0,15,128,4,255,255,29,47,54,228,124,31,17,15,64,2,255,255,5,14,4,0,15,64,2,255,255,25,47,54,228,64,2,31,47,54,228,64,2,43,53,73,61,74,4,0,15,64,2,45,0,148,41,15,64,2,255,138,47,54,228,64,2,135,8,136,71,15,64,2,255,122,46,54,228,64,2,15,128,4,255,255,11,31,54,252,35,18,14,128,22,15,64,2,85,0,48,47,15,128,31,7,15,84,2,255,120,14,240,35,15,64,2,111,8,176,51,15,212,6,255,154,14,88,2,15,24,18,13,15,128,4,75,47,81,135,212,6,255,160,14,64,2,15,12,0,7,8,44,0,15,64,2,49,15,16,14,29,14,180,0,14,64,2,15,28,9,255,134,13,0,4,15,64,2,52,47,54,228,12,0,9,15,64,2,255,152,15,160,1,11,15,64,2,71,15,76,34,17,47,54,228,4,0,255,192,15,128,4,57,15,60,7,7,15,64,2,255,184,47,81,135,192,6,95,47,81,135,128,4,255,255,17,15,64,11,7,15,64,2,255,255,17,15,4,0,19,15,64,2,255,243,15,4,0,255,253,15,64,2,255,255,255,255,147,63,59,51,73,64,2,255,255,40,0,60,2,147,67,66,77,80,45,0,0,0,5,4,0,41,8,0,1,0,17,13,4,0,6,2,0,32,0,13,18,0,0,53,0,83,100,1,0,0,42,49,0,8,53,0,31,8,1,0,41,19,2,1,0,13,25,0,33,15,15,4,0,35,15,15,12,0,69,2,2,15,15,43,0,32,2,2,57,0,16,8,2,0,17,8,33,0,5,2,0,0,29,0,35,15,15,43,0,16,8,32,0,3,4,0,0,42,0,47,15,15,42,0,8,1,84,0,3,47,0,8,82,0,44,15,8,126,0,40,8,2,84,0,3,4,0,33,8,15,96,0,9,210,0,6,130,0,31,2,19,1,24,15,108,1,95,2,0,1,22,8,180,0,1,1,0,0,242,0,2,125,1,4,57,1,5,205,0,3,123,1,3,83,0,1,70,1,4,137,1,2,141,1,5,159,1,15,42,0,3,5,217,1,41,8,8,82,0,44,2,8,126,0,40,8,15,84,0,4,83,1,2,255,1,9,210,0,39,15,15,126,0,15,108,1,26,23,84,104,1,15,108,1,6,3,249,1,3,161,0,40,8,8,8,0,4,24,0,6,40,0,15,92,0,27,35,15,15,6,0,3,76,2,8,8,0,4,24,0,6,40,0,15,92,0,27,0,1,0,73,14,14,14,14,8,0,1,10,0,23,14,24,0,0,20,0,2,8,0,47,8,14,92,0,27,0,210,1,9,8,0,1,10,0,23,15,24,0,3,151,1,2,208,0,97,67,80,65,76,0,3,75,0,255,81,29,43,83,126,37,83,0,135,81,171,82,54,95,87,79,194,195,199,255,241,232,255,0,77,255,163,0,255,236,39,0,228,54,41,173,255,131,118,156,255,119,168,255,204,170,12,18,35,53,41,83,94,61,82,42,121,74,152,83,60,119,114,109,209,206,207,255,180,193,255,40,57,255,181,9,191,214,42,10,214,104,63,159,230,162,118,159,255,140,168,200,161,130,2,4,8,3,0,88,17,9,3,0,15,48,0,29,9,54,0,63,3,5,10,48,0,10,12,60,0,14,48,0,15,150,0,11,56,3,5,10,3,0,254,81,41,24,20,17,29,53,66,33,54,18,83,89,116,47,41,73,51,59,162,136,121,243,239,125,190,18,80,255,108,36,168,231,46,0,181,67,6,90,181,117,70,101,255,110,89,255,157,129,52,35,31,41,31,53,54,45,62,42,74,77,105,48,45,95,72,74,182,161,122,229,183,113,206,40,69,233,138,38,126,218,51,1,158,95,33,85,161,151,80,98,255,121,99,208,135,109,128,1,15,3,0,251,0,100,3,83,101,0,0,0,9,4,0,47,8,0,1,0,3,52,7,7,7,8,0,36,7,7,8,0,47,7,7,9,0,1,5,36,0,6,54,0,3,69,0,15,109,0,19,14,91,0,15,9,0,26,15,109,0,28,3,2,0,15,18,0,44,15,109,0,14,81,16,16,16,16,0,4,0,32,7,7,5,0,4,9,0,2,22,0,25,16,41,0,1,4,0,3,36,0,23,16,18,0,15,218,0,27,15,73,0,16,6,127,0,10,145,0,0,9,0,4,181,0,15,109,0,54,15,2,1,17,0,109,0,98,184,31,0,0,90,0,4,0,47,8,0,1,0,255,25,65,14,14,14,0,2,0,18,14,4,0,17,0,8,0,13,38,0,4,34,0,47,0,14,90,0,23,3,2,0,1,51,0,23,14,16,0,15,38,0,0,31,0,90,0,27,47,14,0,90,0,17,20,14,4,0,15,180,0,69,31,0,180,0,26,4,143,0,3,90,0,47,14,0,90,0,5,4,138,1,15,28,2,113,15,1,0,9,15,38,0,15,31,0,1,0,255,239,19,13,137,15,19,13,139,15,23,13,12,0,15,89,0,43,9,233,15,10,12,0,15,90,0,52,1,167,0,25,13,12,0,15,180,0,55,12,190,0,7,1,0,15,63,3,33,4,92,1,5,172,0,6,196,0,9,95,4,5,124,4,15,1,0,60,2,185,4,15,90,0,67,31,0,90,0,70,47,14,14,90,0,72,14,31,6,15,147,5,48,15,91,5,122,4,18,3,2,196,2,57,5,0,0,16,0,15,44,3,47,3,74,0,22,5,32,3,14,90,0,15,89,0,36,2,8,0,15,90,0,58,9,74,0,8,180,0,47,13,13,104,1,56,20,5,238,3,8,115,0,15,44,7,255,182,15,1,0,61,47,0,0,126,9,255,239,2,7,0,12,8,0,31,0,69,5,56,47,0,0,70,5,58,11,164,0,6,235,4,15,84,6,55,14,180,0,15,126,9,43,12,143,5,12,112,1,25,0,126,9,31,0,126,9,69,31,14,90,0,52,15,180,0,86,14,233,14,15,126,9,191,1,66,12,3,4,0,8,37,2,15,202,8,51,8,244,12,4,118,9,15,90,0,52,45,13,13,124,3,15,180,0,64,5,230,3,15,90,0,54,11,57,4,14,90,0,15,1,0,55,15,126,9,255,255,255,40,5,20,5,3,161,33,4,28,5,6,44,5,10,108,4,2,20,8,22,5,28,0,12,84,5,6,42,0,47,0,13,88,17,2,42,13,13,116,17,46,0,13,172,13,4,24,0,5,12,0,15,180,0,6,12,28,5,5,110,17,12,180,0,3,19,15,5,90,0,14,249,18,15,22,18,2,8,204,0,15,180,0,1,31,0,180,0,21,5,34,0,10,194,18,42,13,0,128,1,26,0,19,15,7,28,0,7,12,0,31,0,182,13,255,88,15,1,0,255,255,255,255,224,15,178,37,9,128,0,0,1,1,0,0,1,7,4,0,19,1,8,0,35,7,1,8,0,27,7,8,0,25,1,40,0,1,56,0,15,92,0,9,34,7,1,38,0,1,49,0,1,8,0,34,1,7,8,0,27,7,8,0,4,24,0,4,40,0,2,56,0,0,92,0,17,55,216,33,15,139,42,3,2,202,5,8,182,7,4,19,0,80,13,13,0,0,0,99,70,73,76,0,0,0,0,76,53,0,0,112,111,100,47,102,95,112,105,99,111,56,46,112,111,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,8,0,0,241,24,67,80,79,68,68,0,0,0,1,0,0,0,47,104,111,109,101,47,122,101,112,47,112,97,98,97,47,112,105,99,111,56,47,112,111,100,47,102,95,12,0,1,37,0,15,1,0,8,247,2,67,66,77,80,35,0,0,0,3,0,0,0,5,0,0,0,8,28,0,66,255,255,255,255,5,0,1,12,0,15,43,0,11,79,0,0,255,0,43,0,24,31,0,43,0,19,2,128,0,15,129,0,17,3,169,0,15,43,0,16,0,123,0,18,255,128,0,15,86,0,15,47,0,255,129,0,21,4,216,0,15,129,0,18,4,85,0,15,129,0,2,15,174,1,7,15,43,0,52,47,255,255,215,0,25,2,5,1,15,172,0,58,2,125,0,15,129,0,22,0,176,1,31,0,43,0,20,6,1,0,15,172,0,12,5,40,0,15,88,1,4,14,9,3,15,43,0,18,5,2,0,15,43,0,18,31,0,43,0,22,2,3,0,15,43,0,14,21,255,92,1,47,0,0,219,2,15,6,94,1,15,4,2,16,2,220,2,15,133,2,16,4,225,3,15,178,3,18,2,7,2,31,255,219,2,17,31,255,6,3,25,2,92,1,15,43,0,19,1,47,1,15,172,0,13,47,0,255,219,2,18,7,0,2,14,172,0,15,49,3,38,24,0,129,1,15,172,0,54,6,45,2,1,6,0,15,135,3,15,5,48,2,15,129,0,12,4,6,1,31,0,86,0,14,2,169,2,47,255,255,47,2,14,7,84,1,15,131,1,18,47,0,255,4,2,18,23,255,92,1,15,215,0,15,4,173,2,15,215,0,3,14,137,3,47,0,255,4,2,23,14,135,3,15,43,0,2,3,56,6,15,90,2,24,31,255,51,4,15,5,1,1,15,16,8,17,4,56,4,15,229,7,17,3,8,1,15,57,7,15,5,95,2,15,100,7,16,31,255,94,4,20,7,185,4,15,227,6,20,31,255,16,8,16,7,15,6,15,16,8,17,15,129,0,21,31,255,86,0,21,15,215,0,21,4,222,2,3,6,0,15,43,0,21,47,255,0,47,2,16,3,54,3,31,0,100,7,16,5,6,0,15,88,1,12,5,13,7,14,133,2,15,4,2,5,15,221,3,16,4,176,2,47,0,0,188,8,15,15,10,5,20,5,183,4,14,180,4,15,86,0,5,31,0,129,0,18,21,255,175,0,31,255,145,8,17,31,255,86,0,21,3,43,0,14,94,4,15,172,0,2,15,215,0,19,47,255,0,45,1,24,30,255,8,4,15,43,0,14,15,18,9,17,4,48,1,15,43,0,14,6,152,11,15,20,10,19,14,86,0,15,174,1,9,31,0,90,2,16,14,217,1,15,133,2,14,15,178,3,16,3,67,11,15,90,2,21,47,255,0,172,0,20,3,7,0,15,174,1,21,47,0,255,192,10,23,15,90,2,23,15,86,0,22,31,255,176,2,19,5,150,8,15,90,2,17,31,255,2,1,22,31,0,184,6,18,7,10,6,31,255,10,5,17,31,255,96,5,17,10,101,7,15,149,10,12,15,192,10,22,10,224,0,31,67,61,9,14,15,75,16,27,14,49,3,15,14,7,5,15,137,4,17,47,255,255,221,3,21,8,175,3,15,243,14,20,3,235,7,15,43,0,22,47,0,0,172,0,20,15,188,8,15]),N.push.apply(N,[15,45,1,25,15,104,9,25,6,43,0,15,239,12,13,15,96,5,21,9,229,8,15,159,15,18,14,53,5,15,174,1,4,15,43,0,19,6,93,5,14,96,5,15,133,2,7,14,174,1,15,59,8,1,15,96,5,18,47,255,255,45,1,22,5,101,10,14,94,4,15,174,1,8,15,241,13,16,15,96,5,21,8,3,3,15,86,0,22,31,255,176,2,19,5,51,1,15,151,11,21,15,237,11,20,47,0,255,210,19,24,15,14,7,15,47,255,0,88,1,22,5,177,5,15,145,8,17,5,196,12,15,10,5,4,15,35,16,4,0,43,0,95,55,0,0,0,7,208,18,15,15,1,0,1,15,63,0,10,15,2,0,15,15,63,0,11,9,132,0,8,197,8,4,70,3,15,63,0,9,7,136,18,7,68,22,3,246,19,15,63,0,15,5,91,6,2,57,0,15,14,0,1,15,126,0,10,4,152,6,24,255,131,12,5,161,1,15,63,0,16,5,55,0,27,255,253,16,3,28,0,15,252,0,12,47,0,255,56,0,4,3,155,0,15,126,0,19,5,113,1,4,124,1,14,126,0,15,189,0,7,7,245,0,7,126,0,31,255,252,0,24,6,255,3,7,65,9,15,248,1,21,27,255,248,1,31,0,248,1,19,43,255,255,39,2,5,181,1,15,244,2,17,8,232,0,6,7,2,9,16,1,15,181,2,26,7,0,25,15,244,2,17,7,54,3,31,0,248,1,33,15,37,4,4,6,1,0,15,189,0,20,7,122,0,3,219,16,15,189,0,29,7,135,1,25,255,74,19,15,248,1,12,10,238,0,10,10,1,15,55,2,20,10,189,0,15,122,1,22,5,221,2,4,229,5,25,255,53,22,15,63,0,19,9,135,16,2,227,16,15,122,1,26,11,82,21,15,244,2,26,15,14,0,2,15,232,5,23,15,7,0,2,15,232,5,16,14,177,1,22,255,69,22,2,12,0,15,169,5,16,6,92,4,7,109,13,47,0,255,122,1,16,5,156,3,3,155,5,8,186,3,14,236,4,15,181,2,4,27,255,197,0,6,232,10,31,0,252,0,15,25,255,237,6,6,152,25,31,255,244,2,15,8,69,23,6,114,22,11,217,25,15,110,4,10,12,123,1,24,255,230,6,15,181,2,14,3,253,0,7,241,4,3,80,1,14,228,6,15,251,22,7,8,120,0,9,128,14,15,189,0,19,8,4,14,4,163,25,15,110,4,26,29,255,77,14,15,169,5,16,15,7,0,2,15,55,2,33,7,61,1,4,59,1,15,126,0,17,7,27,30,28,255,189,0,15,161,7,17,7,245,0,6,71,0,5,64,0,15,252,0,16,7,67,0,40,255,255,3,1,15,110,4,16,8,52,1,43,255,255,18,1,31,0,232,5,19,13,127,1,5,140,2,15,63,0,20,9,160,5,15,181,2,21,11,184,0,31,255,118,2,28,5,135,8,5,59,1,8,133,2,15,189,0,15,6,44,3,4,237,4,7,246,4,31,0,169,5,14,43,0,255,46,6,7,187,13,5,187,12,15,126,0,10,11,244,16,6,63,27,14,248,1,15,118,2,4,7,216,5,40,0,255,41,5,47,0,255,244,2,16,5,116,20,11,14,0,15,106,5,13,24,255,96,4,12,110,4,15,51,3,19,15,191,3,0,6,252,6,47,0,255,90,9,18,43,255,255,77,29,5,59,2,15,98,7,12,12,203,11,27,0,192,30,15,27,9,21,28,255,179,6,6,138,15,15,78,12,9,29,0,118,4,6,244,3,15,11,13,17,11,56,2,7,144,1,15,51,3,16,15,25,8,0,7,146,13,31,255,39,6,19,29,255,14,0,31,255,236,4,17,4,142,7,8,120,1,6,183,1,47,255,0,177,3,17,41,0,0,193,12,10,51,7,15,70,14,21,13,196,0,14,161,7,15,102,6,6,10,6,2,15,244,2,22,11,147,7,9,229,5,15,106,5,25,11,245,2,47,255,255,185,1,18,40,0,255,203,14,9,16,10,7,104,17,15,126,0,30,14,55,2,15,236,4,26,15,157,8,23,24,0,29,7,41,255,255,171,5,14,70,14,15,252,0,3,9,53,4,6,68,2,15,122,1,2,15,201,13,7,11,47,7,15,7,14,21,15,250,2,5,15,70,14,21,9,102,4,6,191,15,15,63,0,26,7,253,0,15,66,15,26,7,192,2,28,255,80,1,15,126,0,13,44,255,255,185,15,15,240,3,23,10,216,9,47,255,0,51,3,38,13,119,0,15,196,14,17,11,209,9,5,202,0,6,238,6,15,114,3,19,8,242,1,7,145,11,31,255,252,0,25,14,14,0,15,149,10,20,12,209,10,47,255,0,43,5,29,5,187,22,14,244,2,15,55,2,21,9,7,0,15,122,1,5,15,146,11,14,31,0,35,7,21,7,93,8,9,79,11,5,211,10,15,189,0,28,8,100,7,14,70,14,15,248,1,18,15,15,12,27,8,34,4,15,189,0,35,5,38,4,28,255,190,0,15,172,20,18,14,81,13,15,173,4,19,8,153,29,15,189,0,32,7,93,5,15,126,0,33,47,0,255,231,7,4,5,129,1,15,70,14,32,15,126,0,23,15,196,0,1,9,203,0,15,118,2,26,9,242,18,14,86,10,15,189,0,13,5,57,20,47,0,255,165,6,21,31,255,6,14,1,15,39,6,19,7,28,9,12,12,12,3,25,0,15,255,15,18,8,6,14,6,68,14,15,196,14,24,15,118,2,37,31,0,71,12,4,3,8,0,15,169,5,32,8,9,3,15,98,7,32,15,66,15,23,7,192,15,9,77,0,3,14,0,15,58,17,19,8,159,5,5,4,1,15,160,23,18,15,183,0,2,6,223,24,15,78,12,37,4,15,0,15,106,5,39,47,255,0,110,4,23,14,7,0,14,227,22,15,11,13,6,6,49,0,12,14,0,15,121,17,22,15,254,3,0,14,220,8,15,35,7,2,11,7,0,31,0,70,14,24,31,255,7,0,3,15,125,16,18,15,49,1,0,7,16,16,15,165,6,27,13,25,13,15,43,5,21,47,255,0,35,7,42,15,186,1,3,47,0,255,94,8,27,31,0,43,5,32,6,32,4,14,188,0,15,63,0,19,14,51,3,15,78,12,28,11,204,0,31,255,47,4,22,10,58,3,12,64,0,15,110,4,25,9,84,11,15,15,12,25,6,215,9,3,143,9,160,0,0,0,0,0,0,255,0,0,0]),Module.FS_createDataFile("/","data.pod",N,!0,!0,!1)}if(Module.calledRun)s();else{if(!Module.preRun)Module.preRun=[];Module.preRun.push(s)}};v({files:[]})}();var moduleOverrides={},key;for(key in Module)if(Module.hasOwnProperty(key))moduleOverrides[key]=Module[key];Module.arguments=[],Module.thisProgram="./this.program",Module.quit=function(v,l){throw l},Module.preRun=[],Module.postRun=[];var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;ENVIRONMENT_IS_WEB=typeof window==="object",ENVIRONMENT_IS_WORKER=typeof importScripts==="function",ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require_155f27e129a0a7ce==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(v){if(Module.locateFile)return Module.locateFile(v,scriptDirectory);else return scriptDirectory+v}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS,nodePath;if(Module.read=function v(l,s){var N=tryParseAsDataURI(l);if(!N){if(!nodeFS)nodeFS=(()=>({}));if(!nodePath)nodePath=(ZU(),jQ(cN));l=nodePath.normalize(l),N=nodeFS.readFileSync(l)}return s?N:N.toString()},Module.readBinary=function v(l){var s=Module.read(l,!0);if(!s.buffer)s=new Uint8Array(s);return assert(s.buffer),s},process.argv.length>1)Module.thisProgram=process.argv[1].replace(/\\/g,"/");if(Module.arguments=process.argv.slice(2),typeof jU!=="undefined")jU.exports=Module;process.on("uncaughtException",function(v){if(!(v instanceof ExitStatus))throw v}),process.on("unhandledRejection",abort),Module.quit=function(v){process.exit(v)},Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined")Module.read=function v(l){var s=tryParseAsDataURI(l);if(s)return intArrayToString(s);return read(l)};if(Module.readBinary=function v(l){var s=tryParseAsDataURI(l);if(s)return s;if(typeof readbuffer==="function")return new Uint8Array(readbuffer(l));return s=read(l,"binary"),assert(typeof s==="object"),s},typeof scriptArgs!="undefined")Module.arguments=scriptArgs;else if(typeof arguments!="undefined")Module.arguments=arguments;if(typeof quit==="function")Module.quit=function(v){quit(v)}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER)scriptDirectory=self.location.href;else if(document.currentScript)scriptDirectory=document.currentScript.src;if(scriptDirectory.indexOf("blob:")!==0)scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1);else scriptDirectory="";if(Module.read=function v(l){try{var s=new XMLHttpRequest;return s.open("GET",l,!1),s.send(null),s.responseText}catch(j){var N=tryParseAsDataURI(l);if(N)return intArrayToString(N);throw j}},ENVIRONMENT_IS_WORKER)Module.readBinary=function v(l){try{var s=new XMLHttpRequest;return s.open("GET",l,!1),s.responseType="arraybuffer",s.send(null),new Uint8Array(s.response)}catch(j){var N=tryParseAsDataURI(l);if(N)return N;throw j}};Module.readAsync=function v(l,s,N){var j=new XMLHttpRequest;j.open("GET",l,!0),j.responseType="arraybuffer",j.onload=function Z(){if(j.status==200||j.status==0&&j.response){s(j.response);return}var G=tryParseAsDataURI(l);if(G){s(G.buffer);return}N()},j.onerror=N,j.send(null)},Module.setWindowTitle=function(v){document.title=v}}var out=Module.print||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null),err=Module.printErr||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides)if(moduleOverrides.hasOwnProperty(key))Module[key]=moduleOverrides[key];moduleOverrides=void 0;var STACK_ALIGN=16;function dynamicAlloc(v){var l=HEAP32[DYNAMICTOP_PTR>>2],s=l+v+15&-16;if(s>_emscripten_get_heap_size())abort();return HEAP32[DYNAMICTOP_PTR>>2]=s,l}function getNativeTypeSize(v){switch(v){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(v[v.length-1]==="*")return 4;else if(v[0]==="i"){var l=parseInt(v.substr(1));return assert(l%8===0,"getNativeTypeSize invalid bits "+l+", type "+v),l/8}else return 0}}function warnOnce(v){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[v])warnOnce.shown[v]=1,err(v)}var jsCallStartIndex=1,functionPointers=new Array(0),funcWrappers={};function dynCall(v,l,s){if(s&&s.length)return Module["dynCall_"+v].apply(null,[l].concat(s));else return Module["dynCall_"+v].call(null,l)}var tempRet0=0,setTempRet0=function(v){tempRet0=v},getTempRet0=function(){return tempRet0},GLOBAL_BASE=8;function getValue(v,l,s){if(l=l||"i8",l.charAt(l.length-1)==="*")l="i32";switch(l){case"i1":return HEAP8[v>>0];case"i8":return HEAP8[v>>0];case"i16":return HEAP16[v>>1];case"i32":return HEAP32[v>>2];case"i64":return HEAP32[v>>2];case"float":return HEAPF32[v>>2];case"double":return HEAPF64[v>>3];default:abort("invalid type for getValue: "+l)}return null}var ABORT=!1,EXITSTATUS=0;function assert(v,l){if(!v)abort("Assertion failed: "+l)}function getCFunc(v){var l=Module["_"+v];return assert(l,"Cannot call unknown function "+v+", make sure it is exported"),l}function ccall(v,l,s,N,j){var Z={string:function(V0){var c=0;if(V0!==null&&V0!==void 0&&V0!==0){var Q0=(V0.length<<2)+1;c=stackAlloc(Q0),stringToUTF8(V0,c,Q0)}return c},array:function(V0){var c=stackAlloc(V0.length);return writeArrayToMemory(V0,c),c}};function G(V0){if(l==="string")return UTF8ToString(V0);if(l==="boolean")return Boolean(V0);return V0}var n=getCFunc(v),f=[],b=0;if(N)for(var e=0;e>0]=l;break;case"i8":HEAP8[v>>0]=l;break;case"i16":HEAP16[v>>1]=l;break;case"i32":HEAP32[v>>2]=l;break;case"i64":tempI64=[l>>>0,(tempDouble=l,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[v>>2]=tempI64[0],HEAP32[v+4>>2]=tempI64[1];break;case"float":HEAPF32[v>>2]=l;break;case"double":HEAPF64[v>>3]=l;break;default:abort("invalid type for setValue: "+s)}}var ALLOC_NORMAL=0,ALLOC_NONE=3;function allocate(v,l,s,N){var j,Z;if(typeof v==="number")j=!0,Z=v;else j=!1,Z=v.length;var G=typeof l==="string"?l:null,n;if(s==ALLOC_NONE)n=N;else n=[_malloc,stackAlloc,dynamicAlloc][s](Math.max(Z,G?1:l.length));if(j){var f;N=n,assert((n&3)==0),f=n+(Z&~3);for(;N>2]=0;f=n+Z;while(N>0]=0;return n}if(G==="i8"){if(v.subarray||v.slice)HEAPU8.set(v,n);else HEAPU8.set(new Uint8Array(v),n);return n}var b=0,e,r,a;while(b=N))++j;if(j-l>16&&v.subarray&&UTF8Decoder)return UTF8Decoder.decode(v.subarray(l,j));else{var Z="";while(l>10,56320|b&1023)}}}return Z}function UTF8ToString(v,l){return v?UTF8ArrayToString(HEAPU8,v,l):""}function stringToUTF8Array(v,l,s,N){if(!(N>0))return 0;var j=s,Z=s+N-1;for(var G=0;G=55296&&n<=57343){var f=v.charCodeAt(++G);n=65536+((n&1023)<<10)|f&1023}if(n<=127){if(s>=Z)break;l[s++]=n}else if(n<=2047){if(s+1>=Z)break;l[s++]=192|n>>6,l[s++]=128|n&63}else if(n<=65535){if(s+2>=Z)break;l[s++]=224|n>>12,l[s++]=128|n>>6&63,l[s++]=128|n&63}else{if(s+3>=Z)break;l[s++]=240|n>>18,l[s++]=128|n>>12&63,l[s++]=128|n>>6&63,l[s++]=128|n&63}}return l[s]=0,s-j}function stringToUTF8(v,l,s){return stringToUTF8Array(v,HEAPU8,l,s)}function lengthBytesUTF8(v){var l=0;for(var s=0;s=55296&&N<=57343)N=65536+((N&1023)<<10)|v.charCodeAt(++s)&1023;if(N<=127)++l;else if(N<=2047)l+=2;else if(N<=65535)l+=3;else l+=4}return l}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):void 0;function allocateUTF8OnStack(v){var l=lengthBytesUTF8(v)+1,s=stackAlloc(l);return stringToUTF8Array(v,HEAP8,s,l),s}function writeArrayToMemory(v,l){HEAP8.set(v,l)}function writeAsciiToMemory(v,l,s){for(var N=0;N>0]=v.charCodeAt(N);if(!s)HEAP8[l>>0]=0}function demangle(v){return v}function demangleAll(v){var l=/__Z[\w\d_]+/g;return v.replace(l,function(s){var N=demangle(s);return s===N?s:N+" ["+s+"]"})}function jsStackTrace(){var v=new Error;if(!v.stack){try{throw new Error(0)}catch(l){v=l}if(!v.stack)return"(no stack trace available)"}return v.stack.toString()}function stackTrace(){var v=jsStackTrace();if(Module.extraStackTrace)v+="\n"+Module.extraStackTrace();return demangleAll(v)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STACK_BASE=3145136,DYNAMIC_BASE=8388016,DYNAMICTOP_PTR=3145104,TOTAL_STACK=5242880,INITIAL_TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;if(INITIAL_TOTAL_MEMORY>2]=DYNAMIC_BASE;function callRuntimeCallbacks(v){while(v.length>0){var l=v.shift();if(typeof l=="function"){l();continue}var s=l.func;if(typeof s==="number")if(l.arg===void 0)Module.dynCall_v(s);else Module.dynCall_vi(s,l.arg);else s(l.arg===void 0?null:l.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;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;if(runtimeInitialized=!0,!Module.noFSInit&&!FS.init.initialized)FS.init();TTY.init(),callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=!1,callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=!0}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(v){__ATPRERUN__.unshift(v)}function addOnPostRun(v){__ATPOSTRUN__.unshift(v)}var{abs:Math_abs,ceil:Math_ceil,floor:Math_floor,min:Math_min}=Math,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(v){return v}function addRunDependency(v){if(runDependencies++,Module.monitorRunDependencies)Module.monitorRunDependencies(runDependencies)}function removeRunDependency(v){if(runDependencies--,Module.monitorRunDependencies)Module.monitorRunDependencies(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null)clearInterval(runDependencyWatcher),runDependencyWatcher=null;if(dependenciesFulfilled){var l=dependenciesFulfilled;dependenciesFulfilled=null,l()}}}Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(v){return String.prototype.startsWith?v.startsWith(dataURIPrefix):v.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[function(){if(typeof _cartdat!=="undefined")return 1;return 0},function(){return _cartdat.length/32768},function(){return _cdpos=_cdpos+1,_cartdat[_cdpos-1]},function(v){ciii=v,iii=0},function(){return iii=iii+1,_cartname[ciii].charCodeAt(iii-1)},function(){let v={load_param_data:!1};history.pushState(v,"PICO-8","?")},function(){Module.pico8Reset=function(){codo_command=1},Module.pico8ToggleSound=function(){codo_command=3},Module.pico8TogglePaused=function(){codo_command=4},Module.pico8SetPaused=function(v){if(codo_command=5,codo_command_p=0,v)codo_command_p=1},Module.pico8ToggleControlMenu=function(){codo_command=7},Module.pico8DragOver=function(){codo_command=10},Module.pico8DragStop=function(){codo_command=11}},function(){function v(l){try{stat=FS.stat(l)}catch(s){FS.mkdir(l)}}v("/user_data"),FS.mount(IDBFS,{},"/user_data"),FS.syncfs(!0,function(l){if(!l)console.log("codo: mounted filesystem.\n"),codo_mounted_filesystem=1,v("/user_data/cdata"),v("/user_data/cstore"),v("/user_data/carts"),v("/user_data/backup"),v("/user_data/plates"),v("/user_data/bbs"),v("/user_data/bbs/carts"),v("/user_data/bbs/labels");else console.log("** could not mount filesystem\n"),console.log(l)})},function(){var v=0;if(window.location.pathname.indexOf("widget.php")>=0)v=1;return v},function(){var v=0;if(window.location.pathname.indexOf("pico-8.php")>=0)v=1;return v},function(v,l,s,N,j,Z,G,n){if(typeof pico8_state!=="undefined")pico8_state.is_paused=v,pico8_state.sound_volume=l,pico8_state.frame_number=s,pico8_state.has_focus=N,pico8_state.show_dpad=j,pico8_state.request_pointer_lock=Z,pico8_state.require_page_navigate_confirmation=G,pico8_state.shutdown_requested=n},function(){var v=0;if(typeof codo_command!=="undefined")v=codo_command,codo_command=0;return v},function(){var v=0;if(typeof codo_command_p!=="undefined")v=codo_command_p,codo_command_p=0;return v},function(){button_i=0},function(){var v=-1;if(typeof pico8_buttons!=="undefined")v=pico8_buttons[button_i],button_i++;return v},function(){var v=0;if(typeof pico8_gamepads!=="undefined")v=pico8_gamepads.count;return v},function(){if(typeof on_module_load!=="undefined"){if(on_module_load)on_module_load()}},function(v,l,s,N){download_browser_file(UTF8ToString(v,l),UTF8ToString(s,N))},function(v,l,s,N,j,Z){if(typeof p8img!=="undefined")p8img.src="";if(p8img=document.createElement("img"),p8img.src=UTF8ToString(v,l),p8img.style="width:128px; height:128px; image-rendering: pixelated; -ms-interpolation-mode: nearest-neighbor;",typeof p8imgholder==="undefined"||!p8imgholder)p8imgholder=document.createElement("div"),p8imgholder.style.cssText="min-width:160px; display:table; position:fixed; top:20px; left:20px; padding:12px; background-color:#000; box-shadow: 2px 2px 8px rgba(16, 0, 48, 0.4);",document.body.appendChild(p8imgholder);if(p8imgholder){while(p8imgholder.childElementCount>0)p8imgholder.removeChild(p8imgholder.firstChild);var G=document.createElement("div");G.style.cssText="display:table; font-size:10pt; color:#fff; padding:4px; cursor:pointer; margin-left:10px; float:right",G.addEventListener("click",function(){p8img.src="";while(p8imgholder.childElementCount>0)p8imgholder.removeChild(p8imgholder.firstChild);p8imgholder.style.display="none"},!1),G.innerHTML="X",p8imgholder.appendChild(G),p8imgholder.appendChild(p8img);var n=document.createElement("div");if(n.innerHTML='
(right-click to save)
',p8imgholder.appendChild(n),p8imgholder.style.display=="none")p8imgholder.style.display=""}},function(){if(jsString=p8_dropped_cart,!jsString)return 0;var v=lengthBytesUTF8(jsString)+1,l=_malloc(v);return stringToUTF8(jsString,l,v),l},function(){if(jsString=p8_dropped_cart_name,!jsString)return 0;var v=lengthBytesUTF8(jsString)+1,l=_malloc(v);return stringToUTF8(jsString,l,v),l},function(v,l){if(typeof pico8_state!=="undefined"){if(typeof pico8_state.system_messages==="undefined")pico8_state.system_messages=new Array;pico8_state.system_messages.push(UTF8ToString(v,l))}},function(v){var l=window.location.hostname;return allocate(intArrayFromString(l),"i8",ALLOC_NORMAL)},function(v,l){if(typeof pico8_gpio!=="undefined")pico8_gpio[v]=l},function(v){var l=0;if(typeof pico8_gpio!=="undefined")l=pico8_gpio[v];return l},function(){FS.syncfs(!1,function(v){})},function(){var v=0;if(typeof codo_mounted_filesystem!=="undefined")v=1;return v},function(){return typeof p8_touch_detected==="undefined"||!p8_touch_detected?0:1},function(){return document.hidden?1:0},function(){if(typeof codo_key_buffer==="undefined")codo_key_buffer=[];document.addEventListener("keydown",function(v){var l=-1;if(v.key.length==1)l=v.key.charCodeAt(0);else{if(v.key=="Tab")l=9;if(v.key=="Enter")l=13;if(v.key=="Backspace")l=8;if(v.key=="Escape")l=27;if(l==-1);}var s=document.getElementById("codo_textarea");codo_key_buffer.push(l)})},function(){addEventListener("mousedown",function(v){if(typeof pico8_state!=="undefined"){if(v.target.tagName.toLowerCase()!="canvas")pico8_state.clicked_outside=!0}})},function(){document.addEventListener("wheel",function(v){if(dx=v.deltaX,dx<0)dx=-1;if(dx>0)dx=1;if(v.deltaMode==2)dx*=4;if(typeof codo_wheel_dx!=="undefined")codo_wheel_dx-=dx;if(dy=v.deltaY,dy<0)dy=-1;if(dy>0)dy=1;if(v.deltaMode==2)dy*=4;if(typeof codo_wheel_dy!=="undefined")codo_wheel_dy-=dy})},function(v){function l(j){if(window.console&&window.console.log)window.console.log("[codo] audio_init_webaudio "+j)}l("audio_init");var s;if(typeof Module==="undefined")l(" *** Module undefined");else if(typeof Module.ccall==="undefined")l(" **** Module.ccall undefined");else{var N=window.AudioContext||window.webkitAudioContext||window.mozAudioContext||window.oAudioContext||window.msAudioContext;if(N){if(typeof pico8_audio_context!=="undefined")s=pico8_audio_context,l("found pico8_audio_context");else if(typeof voxatron_audio_context!=="undefined")s=voxatron_audio_context,l("found voxatron_audio_context");else s=new N,l("creating own audio context");if(s)l("Sample Rate: "+s.sampleRate),l("Buffer Size: "+v),node=s.createScriptProcessor(v,1,1),node.onaudioprocess=function(j){var Z=j.outputBuffer.getChannelData(0),G=22050/s.sampleRate,n=Math.floor(Z.length*G),f=Z.length,b=Module.ccall("mix_0","number",["number","number"],[n,f]);for(var e=0;e0)v=1;return v},function(){return pico8_mouse[0]},function(){return pico8_mouse[1]},function(){if(typeof codo_key_buffer==="undefined")codo_key_buffer=[];return codo_key_buffer.length>0?1:0},function(){if(typeof codo_key_buffer==="undefined")codo_key_buffer=[];return codo_key_buffer.shift()|0},function(){return temp=typeof codo_wheel_dx!=="undefined"?codo_wheel_dx:0,codo_wheel_dx=0,temp},function(){return temp=typeof codo_wheel_dy!=="undefined"?codo_wheel_dy:0,codo_wheel_dy=0,temp},function(){if(document.hidden)return 0;if(el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea,el&&el==document.activeElement)return 1;return el=document.activeElement,!el||el.tagName.toLowerCase()!="input"&&el.tagName.toLowerCase()!="textarea"},function(){if(typeof pico8_state!=="undefined"){if(pico8_state.clicked_outside)return pico8_state.clicked_outside=!1,1}return 0},function(){if(el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea,el&&el.style.display!="none")el.focus(),el.select()},function(){if(el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea,el&&el.style.display!="none")el.select()},function(){return pico8_mouse[2]},function(){_dir_name=""},function(v){_dir_name=_dir_name+String.fromCharCode(v)},function(){FS.createPath("",_dir_name,!0,!0)},function(){Module.canvas.exitPointerLock()},function(){if(el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea,el);},function(){_codo_str_out=""},function(v,l){_codo_str_out=Module.UTF8ToString(v,l)},function(){if(el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea,el)return el.value=_codo_str_out,0;else return 1},function(){if(el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea,el&&el.style.display=="none"&&(typeof p8_touch_detected==="undefined"||!p8_touch_detected))el.style.display="",el.focus(),el.select()},function(){if(el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea,el&&el.style.display!="none"&&el.value!="")return _codo_text_value=el.value,1;return 0},function(v,l){Module.stringToUTF8(_codo_text_value,v,l)}];function _emscripten_asm_const_i(v){return ASM_CONSTS[v]()}function _emscripten_asm_const_ii(v,l){return ASM_CONSTS[v](l)}function _emscripten_asm_const_iii(v,l,s){return ASM_CONSTS[v](l,s)}function _emscripten_asm_const_iiiii(v,l,s,N,j){return ASM_CONSTS[v](l,s,N,j)}function _emscripten_asm_const_iiiiiii(v,l,s,N,j,Z,G){return ASM_CONSTS[v](l,s,N,j,Z,G)}function _emscripten_asm_const_iiiiiiiii(v,l,s,N,j,Z,G,n,f){return ASM_CONSTS[v](l,s,N,j,Z,G,n,f)}__ATINIT__.push({func:function(){___emscripten_environ_constructor()}}),memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAABFtAAAy/kAAM/5AABOtAAAV7QAAJfvAACC8QAAovQAAE60AABetAAAZbQAAGu0AAAAAAAAAAAAAAAACAgICAgAAAAAAAAAAAAAAAAAAAAAAAAMBAQEBAQEBAQEBAQEBAQEFhYWFhYWFhYWFgQEBAQEBAQVFRUVFRUFBQUFBQUFBQUFBQUFBQUFBQUFBQQEBAQFBBUVFRUVFQUFBQUFBQUFBQUFBQUFBQUFBQUFBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBxQVRQUFxsPBA8VGx8fHx8fHx8fHx8fHx8fGB8YGBgYGBgaCK8vLyE5FRUEGJiBGIUUVAXAAAAAAAAAAAAAAAAAQICAwMDAwQEBAQEBAQEBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIpvwAADjhAAAX9gAAu/cAALT3AABl9QAAxfkAANv4AACi9AAAM+EAAKz3AADf+AAAmPsAAMv5AACt/AAAqvwAANT2AACr9AAAr/cAAMD5AADb9gAAk/UAAO5zAQCWHAEAnfwAAJr8AACX/AAAoPwAAKP8AACauAAAOsEAAJ24AACmuAAArbgAAHUzAQC2uAAAbA0BAKYOAQAiDwEA7w8BAIYQAQDyEAEAlBcBAJcXAQAnGAEAKhgBAJYZAQD4GgEADxkBAJoLAQCkDAEAvLgAAKkOAQAlDwEA8w8BAIoQAQD2EAEA0xsBAAAAAAAAAAAAEBAQEBERERERERQTCAgGBgcHCQkJCQkJCQkJCQUFEREoKCgoKCgPDgMDAwMDAwMDAwMDAwICAQEAAAAAAAAAAGm9AABxvQAAfL0AAIG9AACIvQAAjr0AAJO9AACZvQAAn70AAKW9AACrvQAAsb0AALe9AAC9vQAAwr0AAMi9AADOvQAA1L0AANu9AADivQAA6b0AAO+9AAD2vQAA/b0AAAW+AAANvgAAE74AABi+AAAdvgAAJr4AAAAAAAAAAAAA+wIBAMxLAQCCJAEAPV0BAClfAQBAXgEA0V4BANReAQAa4wAAF+MAAKhXAQAcWQEAguoAAJDqAADJXAEAaVsBAJ7qAACNXwEAf1oBAGxgAQByYAEAwb8AAHvqAAADTgEAAAMBAAAAAAAAAAAAAAAAAAADAQD7AgEA1F4BANFeAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFG4gAAS+IAAFDiAABV4gAAWuIAAF/iAABk4gAAaeIAAG7iAAAAAAAAAAAAAAAAAAAQAQIDBAUGBwgJCgsMDQ4PAAECAwQFBgcICQoLDA0ODwAAgIAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEhISEhISEhAAAAAAAAAAAAYCCAAAAAAAAA/wAAARITJBXWZ0hJmjvcXY7vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAABAAAABQAAAAEAAAAFAAAABQAAAAUAAAABAAAAAQAAAAEAAAAFAAAAAAAAAAEAAAADAAAABQAAAAQAAAACAAAACwAAAA8AAAAHAAAADAAAAA0AAAAJAAAACAAAAAYAAAAKAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQgICAgICAgICAgICAgICAgAAAAAAAAAAAAAAAAAAAAAAAAACQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAAAAAFpaAAAfUQAAfX0AAB64//+g+f//v1EAAMC1//+gmf//ILH//+Gg//9Am///APb//2Cx//8fGwAAwPX//1JJRka4MgAAV0FWRWZtdCAQAAAAAQABACJWAABErAAAAgAQAGRhdGEAAAAAAAAAAMRjAQDQYwEA3GMBAOhjAQD0YwEA/2MBAApkAQAWZAEAImQBAC5kAQA6ZAEARWQBAFBkAQAAAAAAAAAAAAAAAACFYwEAimMBAJBjAQCTYwEAmGMBAKJjAQCsYwEArmMBALBjAQCyYwEAtGMBALhjAQC6YwEAAAAAAAAAAAAAAAAA8WcBAPpnAQABaAEADWgBABdoAQAfaAEAKmgBADRoAQA+aAEAR2gBAE9oAQBZaAEAAAAAAAAAAAAAAAAAAAAAAMT8LwBiaAEAaGgBAG5oAQB0aAEAemgBAIBoAQCGaAEAAAAAAAAAAAAAAAAAAAAAAMT8LwCMaAEAm2gBAKxoAQC9aAEAzGgBAN5oAQD0aAEAxPwvAANpAQALaQEAFWkBAB9pAQAwaQEAO2kBAEppAQBjb2RvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQABAoKAAAACh8KHwofFB8FHxECBAgRCBQdEg0EBAAAAAQICAgEBAICAgQVDh8OFQQEHwQEAAAACBAAAB8AAAAAAAAEAQIECBAfERERHwQMBAQfHwEfEB8fAQcBHxERHwEBHxAfAR8QEB8RHx8BAQEBHxEfER8fER8BAQAEAAQAAAQABAgDDBAMAwAOAA4AGAYBBhgfAQcABB8RHRUdHxEfEREeER4RHw8QEBAPHhERER8fEBwQHx8QHhAQDhAQEQ8RER8REQ4EBAQOAgICEgwSFBgUEhAQEBAfERsVERERGRUTEQ4REREOHhEeEBAfERETHx4RHhERDxAOAR4fBAQEBBEREREOERERCgQRERUbEREKBAoREREOBAQfAgQIHwwICAgMEAgEAgEGAgICBgQKAAAAAAAAAB8EAgAAAB8RHxERHhEeER8PEBAQDx4REREfHxAcEB8fEB4QEA4QEBEPEREfEREOBAQEDgICAhIMEhQYFBIQEBAQHxEbFRERERkVExEOERERDh4RHhAQHxEREx8eER4REQ8QDgEeHwQEBAQRERERDhEREQoEEREVGxERCgQKERERDgQEHwIECB8EBAgEBAQEBAQEBAQCBAQFCgAAAAAAAAAfXHABAGBwAQBkcAEAaHABAGxwAQBxcAEAdnABAHtwAQCAcAEAhXABAIpwAQCPcAEAlHABAJlwAQCecAEAo3ABAKhwAQCtcAEAsnABALdwAQC8cAEAwXABAMZwAQDLcAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP7/AAD+/wAA/v8AAP7/AAD+/wAA/f8AAP3/AAD9/wAA/f8AAPz/AAD8/wAA/P8AAPz/AAD7/wAA+/8AAPv/AAD6/wAA+v8AAPr/AAD5/wAA+f8AAPn/AAD4/wAA+P8AAPf/AAD3/wAA9/8AAPb/AAD2/wAA9f8AAPX/AAD0/wAA9P8AAPP/AADz/wAA8v8AAPL/AADx/wAA8f8AAPD/AADw/wAA7/8AAO//AADu/wAA7f8AAO3/AADs/wAA7P8AAOv/AADq/wAA6v8AAOn/AADo/wAA6P8AAOf/AADm/wAA5v8AAOX/AADk/wAA4/8AAOP/AADi/wAA4f8AAOD/AADg/wAA3/8AAN7/AADd/wAA3P8AANz/AADb/wAA2v8AANn/AADY/wAA1/8AANb/AADV/wAA1f8AANT/AADT/wAA0v8AANH/AADQ/wAAz/8AAM7/AADN/wAAzP8AAMv/AADK/wAAyf8AAMj/AADH/wAAxv8AAMX/AADE/wAAwv8AAMH/AADA/wAAv/8AAL7/AAC9/wAAvP8AALv/AAC5/wAAuP8AALf/AAC2/wAAtf8AALT/AACy/wAAsf8AALD/AACv/wAArf8AAKz/AACr/wAAqf8AAKj/AACn/wAApv8AAKT/AACj/wAAov8AAKD/AACf/wAAnf8AAJz/AACb/wAAmf8AAJj/AACW/wAAlf8AAJT/AACS/wAAkf8AAI//AACO/wAAjP8AAIv/AACJ/wAAiP8AAIb/AACF/wAAg/8AAIL/AACA/wAAfv8AAH3/AAB7/wAAev8AAHj/AAB2/wAAdf8AAHP/AABx/wAAcP8AAG7/AABs/wAAa/8AAGn/AABn/wAAZv8AAGT/AABi/wAAYP8AAF//AABd/wAAW/8AAFn/AABY/wAAVv8AAFT/AABS/wAAUP8AAE7/AABN/wAAS/8AAEn/AABH/wAARf8AAEP/AABB/wAAP/8AAD3/AAA7/wAAOv8AADj/AAA2/wAANP8AADL/AAAw/wAALv8AACz/AAAq/wAAKP8AACX/AAAj/wAAIf8AAB//AAAd/wAAG/8AABn/AAAX/wAAFf8AABP/AAAQ/wAADv8AAAz/AAAK/wAACP8AAAb/AAAD/wAAAf8AAP/+AAD9/gAA+/4AAPj+AAD2/gAA9P4AAPH+AADv/gAA7f4AAOv+AADo/gAA5v4AAOT+AADh/gAA3/4AAN3+AADa/gAA2P4AANX+AADT/gAA0f4AAM7+AADM/gAAyf4AAMf+AADE/gAAwv4AAL/+AAC9/gAAuv4AALj+AAC1/gAAs/4AALD+AACu/gAAq/4AAKn+AACm/gAApP4AAKH+AACe/gAAnP4AAJn+AACX/gAAlP4AAJH+AACP/gAAjP4AAIn+AACH/gAAhP4AAIH+AAB+/gAAfP4AAHn+AAB2/gAAc/4AAHH+AABu/gAAa/4AAGj+AABm/gAAY/4AAGD+AABd/gAAWv4AAFf+AABV/gAAUv4AAE/+AABM/gAASf4AAEb+AABD/gAAQP4AAD3+AAA6/gAAN/4AADT+AAAx/gAALv4AACv+AAAo/gAAJf4AACL+AAAf/gAAHP4AABn+AAAW/gAAE/4AABD+AAAN/gAACv4AAAf+AAAE/gAAAf4AAP39AAD6/QAA9/0AAPT9AADx/QAA7v0AAOr9AADn/QAA5P0AAOH9AADd/QAA2v0AANf9AADU/QAA0P0AAM39AADK/QAAx/0AAMP9AADA/QAAvf0AALn9AAC2/QAAs/0AAK/9AACs/QAAqP0AAKX9AACi/QAAnv0AAJv9AACX/QAAlP0AAJD9AACN/QAAif0AAIb9AACD/QAAf/0AAHz9AAB4/QAAdP0AAHH9AABt/QAAav0AAGb9AABj/QAAX/0AAFv9AABY/QAAVP0AAFH9AABN/QAASf0AAEb9AABC/QAAPv0AADv9AAA3/QAAM/0AADD9AAAs/QAAKP0AACT9AAAh/QAAHf0AABn9AAAV/QAAEv0AAA79AAAK/QAABv0AAAL9AAD+/AAA+/wAAPf8AADz/AAA7/wAAOv8AADn/AAA4/wAAN/8AADc/AAA2PwAANT8AADQ/AAAzPwAAMj8AADE/AAAwPwAALz8AAC4/AAAtPwAALD8AACs/AAAqPwAAKT8AACg/AAAm/wAAJf8AACT/AAAj/wAAIv8AACH/AAAg/wAAH/8AAB7/AAAdvwAAHL8AABu/AAAavwAAGb8AABh/AAAXfwAAFn8AABV/AAAUfwAAEz8AABI/AAARPwAAD/8AAA7/AAAN/wAADP8AAAu/AAAKvwAACb8AAAh/AAAHfwAABj8AAAU/AAAEPwAAAv8AAAH/AAAAvwAAP77AAD6+wAA9fsAAPH7AADs+wAA6PsAAOP7AADf+wAA2vsAANb7AADR+wAAzfsAAMj7AADE+wAAv/sAALv7AAC2+wAAsfsAAK37AACo+wAApPsAAJ/7AACa+wAAlvsAAJH7AACM+wAAiPsAAIP7AAB++wAAevsAAHX7AABw+wAAa/sAAGf7AABi+wAAXfsAAFj7AABU+wAAT/sAAEr7AABF+wAAQPsAADz7AAA3+wAAMvsAAC37AAAo+wAAI/sAAB/7AAAa+wAAFfsAABD7AAAL+wAABvsAAAH7AAD8+gAA9/oAAPL6AADt+gAA6PoAAOP6AADe+gAA2foAANT6AADP+gAAyvoAAMX6AADA+gAAu/oAALb6AACx+gAArPoAAKf6AACh+gAAnPoAAJf6AACS+gAAjfoAAIj6AACD+gAAffoAAHj6AABz+gAAbvoAAGn6AABj+gAAXvoAAFn6AABU+gAATvoAAEn6AABE+gAAPvoAADn6AAA0+gAAL/oAACn6AAAk+gAAH/oAABn6AAAU+gAADvoAAAn6AAAE+gAA/vkAAPn5AADz+QAA7vkAAOj5AADj+QAA3vkAANj5AADT+QAAzfkAAMj5AADC+QAAvfkAALf5AACy+QAArPkAAKb5AACh+QAAm/kAAJb5AACQ+QAAivkAAIX5AAB/+QAAevkAAHT5AABu+QAAafkAAGP5AABd+QAAWPkAAFL5AABM+QAARvkAAEH5AAA7+QAANfkAADD5AAAq+QAAJPkAAB75AAAY+QAAE/kAAA35AAAH+QAAAfkAAPv4AAD1+AAA8PgAAOr4AADk+AAA3vgAANj4AADS+AAAzPgAAMb4AADA+AAAuvgAALT4AACv+AAAqfgAAKP4AACd+AAAl/gAAJH4AACL+AAAhfgAAH74AAB4+AAAcvgAAGz4AABm+AAAYPgAAFr4AABU+AAATvgAAEj4AABC+AAAO/gAADX4AAAv+AAAKfgAACP4AAAd+AAAFvgAABD4AAAK+AAABPgAAP73AAD39wAA8fcAAOv3AADl9wAA3vcAANj3AADS9wAAy/cAAMX3AAC/9wAAuPcAALL3AACs9wAApfcAAJ/3AACZ9wAAkvcAAIz3AACF9wAAf/cAAHn3AABy9wAAbPcAAGX3AABf9wAAWPcAAFL3AABL9wAARfcAAD73AAA49wAAMfcAACv3AAAk9wAAHvcAABf3AAAQ9wAACvcAAAP3AAD99gAA9vYAAO/2AADp9gAA4vYAANv2AADV9gAAzvYAAMf2AADB9gAAuvYAALP2AACt9gAApvYAAJ/2AACY9gAAkvYAAIv2AACE9gAAffYAAHf2AABw9gAAafYAAGL2AABb9gAAVPYAAE72AABH9gAAQPYAADn2AAAy9gAAK/YAACT2AAAd9gAAFvYAABD2AAAJ9gAAAvYAAPv1AAD09QAA7fUAAOb1AADf9QAA2PUAANH1AADK9QAAw/UAALz1AAC19QAArvUAAKb1AACf9QAAmPUAAJH1AACK9QAAg/UAAHz1AAB19QAAbvUAAGb1AABf9QAAWPUAAFH1AABK9QAAQ/UAADv1AAA09QAALfUAACb1AAAe9QAAF/UAABD1AAAJ9QAAAfUAAPr0AADz9AAA6/QAAOT0AADd9AAA1fQAAM70AADH9AAAv/QAALj0AACx9AAAqfQAAKL0AACa9AAAk/QAAIz0AACE9AAAffQAAHX0AABu9AAAZvQAAF/0AABX9AAAUPQAAEj0AABB9AAAOfQAADL0AAAq9AAAI/QAABv0AAAT9AAADPQAAAT0AAD98wAA9fMAAO3zAADm8wAA3vMAANfzAADP8wAAx/MAAMDzAAC48wAAsPMAAKjzAACh8wAAmfMAAJHzAACK8wAAgvMAAHrzAABy8wAAavMAAGPzAABb8wAAU/MAAEvzAABD8wAAPPMAADTzAAAs8wAAJPMAABzzAAAU8wAADPMAAATzAAD98gAA9fIAAO3yAADl8gAA3fIAANXyAADN8gAAxfIAAL3yAAC18gAArfIAAKXyAACd8gAAlfIAAI3yAACF8gAAffIAAHXyAABt8gAAZfIAAF3yAABU8gAATPIAAETyAAA88gAANPIAACzyAAAk8gAAG/IAABPyAAAL8gAAA/IAAPvxAADz8QAA6vEAAOLxAADa8QAA0vEAAMnxAADB8QAAufEAALHxAACo8QAAoPEAAJjxAACP8QAAh/EAAH/xAAB28QAAbvEAAGbxAABd8QAAVfEAAEzxAABE8QAAPPEAADPxAAAr8QAAIvEAABrxAAAR8QAACfEAAAHxAAD48AAA8PAAAOfwAADf8AAA1vAAAM7wAADF8AAAvPAAALTwAACr8AAAo/AAAJrwAACS8AAAifAAAIDwAAB48AAAb/AAAGfwAABe8AAAVfAAAE3wAABE8AAAO/AAADPwAAAq8AAAIfAAABjwAAAQ8AAAB/AAAP7vAAD17wAA7e8AAOTvAADb7wAA0u8AAMrvAADB7wAAuO8AAK/vAACm7wAAne8AAJXvAACM7wAAg+8AAHrvAABx7wAAaO8AAF/vAABW7wAATe8AAEXvAAA87wAAM+8AACrvAAAh7wAAGO8AAA/vAAAG7wAA/e4AAPTuAADr7gAA4u4AANnuAADQ7gAAx+4AAL3uAAC07gAAq+4AAKLuAACZ7gAAkO4AAIfuAAB+7gAAde4AAGvuAABi7gAAWe4AAFDuAABH7gAAPu4AADTuAAAr7gAAIu4AABnuAAAP7gAABu4AAP3tAAD07QAA6u0AAOHtAADY7QAAz+0AAMXtAAC87QAAs+0AAKntAACg7QAAl+0AAI3tAACE7QAAeu0AAHHtAABo7QAAXu0AAFXtAABL7QAAQu0AADjtAAAv7QAAJu0AABztAAAT7QAACe0AAADtAAD27AAA7ewAAOPsAADa7AAA0OwAAMbsAAC97AAAs+wAAKrsAACg7AAAl+wAAI3sAACD7AAAeuwAAHDsAABm7AAAXewAAFPsAABK7AAAQOwAADbsAAAs7AAAI+wAABnsAAAP7AAABuwAAPzrAADy6wAA6OsAAN/rAADV6wAAy+sAAMHrAAC36wAArusAAKTrAACa6wAAkOsAAIbrAAB86wAAc+sAAGnrAABf6wAAVesAAEvrAABB6wAAN+sAAC3rAAAj6wAAGesAAA/rAAAG6wAA/OoAAPLqAADo6gAA3uoAANTqAADK6gAAwOoAALbqAACr6gAAoeoAAJfqAACN6gAAg+oAAHnqAABv6gAAZeoAAFvqAABR6gAAR+oAADzqAAAy6gAAKOoAAB7qAAAU6gAACuoAAP/pAAD16QAA6+kAAOHpAADX6QAAzOkAAMLpAAC46QAArukAAKPpAACZ6QAAj+kAAIXpAAB66QAAcOkAAGbpAABb6QAAUekAAEfpAAA86QAAMukAACfpAAAd6QAAE+kAAAjpAAD+6AAA8+gAAOnoAADf6AAA1OgAAMroAAC/6AAAtegAAKroAACg6AAAlegAAIvoAACA6AAAdugAAGvoAABh6AAAVugAAEzoAABB6AAANugAACzoAAAh6AAAF+gAAAzoAAAB6AAA9+cAAOznAADi5wAA1+cAAMznAADC5wAAt+cAAKznAACh5wAAl+cAAIznAACB5wAAd+cAAGznAABh5wAAVucAAEznAABB5wAANucAACvnAAAg5wAAFucAAAvnAAAA5wAA9eYAAOrmAADf5gAA1eYAAMrmAAC/5gAAtOYAAKnmAACe5gAAk+YAAIjmAAB95gAAcuYAAGfmAABc5gAAUuYAAEfmAAA85gAAMeYAACbmAAAb5gAAEOYAAAXmAAD55QAA7uUAAOPlAADY5QAAzeUAAMLlAAC35QAArOUAAKHlAACW5QAAi+UAAH/lAAB05QAAaeUAAF7lAABT5QAASOUAAD3lAAAx5QAAJuUAABvlAAAQ5QAABOUAAPnkAADu5AAA4+QAANfkAADM5AAAweQAALbkAACq5AAAn+QAAJTkAACI5AAAfeQAAHLkAABm5AAAW+QAAFDkAABE5AAAOeQAAC7kAAAi5AAAF+QAAAvkAAAA5AAA9OMAAOnjAADe4wAA0uMAAMfjAAC74wAAsOMAAKTjAACZ4wAAjeMAAILjAAB24wAAa+MAAF/jAABT4wAASOMAADzjAAAx4wAAJeMAABrjAAAO4wAAAuMAAPfiAADr4gAA3+IAANTiAADI4gAAveIAALHiAACl4gAAmeIAAI7iAACC4gAAduIAAGviAABf4gAAU+IAAEfiAAA84gAAMOIAACTiAAAY4gAADeIAAAHiAAD14QAA6eEAAN3hAADR4QAAxuEAALrhAACu4QAAouEAAJbhAACK4QAAfuEAAHLhAABn4QAAW+EAAE/hAABD4QAAN+EAACvhAAAf4QAAE+EAAAfhAAD74AAA7+AAAOPgAADX4AAAy+AAAL/gAACz4AAAp+AAAJvgAACP4AAAg+AAAHfgAABq4AAAXuAAAFLgAABG4AAAOuAAAC7gAAAi4AAAFuAAAAngAAD93wAA8d8AAOXfAADZ3wAAzd8AAMDfAAC03wAAqN8AAJzfAACP3wAAg98AAHffAABr3wAAXt8AAFLfAABG3wAAOd8AAC3fAAAh3wAAFd8AAAjfAAD83gAA8N4AAOPeAADX3gAAyt4AAL7eAACy3gAApd4AAJneAACM3gAAgN4AAHTeAABn3gAAW94AAE7eAABC3gAANd4AACneAAAc3gAAEN4AAAPeAAD33QAA6t0AAN7dAADR3QAAxd0AALjdAACr3QAAn90AAJLdAACG3QAAed0AAGzdAABg3QAAU90AAEfdAAA63QAALd0AACHdAAAU3QAAB90AAPvcAADu3AAA4dwAANXcAADI3AAAu9wAAK7cAACi3AAAldwAAIjcAAB73AAAb9wAAGLcAABV3AAASNwAADvcAAAv3AAAItwAABXcAAAI3AAA+9sAAO7bAADh2wAA1dsAAMjbAAC72wAArtsAAKHbAACU2wAAh9sAAHrbAABt2wAAYNsAAFPbAABG2wAAOdsAACzbAAAf2wAAEtsAAAXbAAD42gAA69oAAN7aAADR2gAAxNoAALfaAACq2gAAndoAAJDaAACD2gAAdtoAAGnaAABc2gAAT9oAAEHaAAA02gAAJ9oAABraAAAN2gAAANoAAPLZAADl2QAA2NkAAMvZAAC+2QAAsNkAAKPZAACW2QAAidkAAHvZAABu2QAAYdkAAFTZAABG2QAAOdkAACzZAAAe2QAAEdkAAATZAAD22AAA6dgAANzYAADO2AAAwdgAALTYAACm2AAAmdgAAIvYAAB+2AAAcdgAAGPYAABW2AAASNgAADvYAAAt2AAAINgAABLYAAAF2AAA+NcAAOrXAADc1wAAz9cAAMHXAAC01wAAptcAAJnXAACL1wAAftcAAHDXAABj1wAAVdcAAEfXAAA61wAALNcAAB/XAAAR1wAAA9cAAPbWAADo1gAA2tYAAM3WAAC/1gAAsdYAAKTWAACW1gAAiNYAAHrWAABt1gAAX9YAAFHWAABE1gAANtYAACjWAAAa1gAADNYAAP/VAADx1QAA49UAANXVAADH1QAAutUAAKzVAACe1QAAkNUAAILVAAB01QAAZtUAAFnVAABL1QAAPdUAAC/VAAAh1QAAE9UAAAXVAAD31AAA6dQAANvUAADN1AAAv9QAALHUAACj1AAAldQAAIfUAAB51AAAa9QAAF3UAABP1AAAQdQAADPUAAAl1AAAF9QAAAnUAAD70wAA7dMAAN/TAADQ0wAAwtMAALTTAACm0wAAmNMAAIrTAAB80wAAbdMAAF/TAABR0wAAQ9MAADXTAAAm0wAAGNMAAArTAAD80gAA7tIAAN/SAADR0gAAw9IAALXSAACm0gAAmNIAAIrSAAB70gAAbdIAAF/SAABQ0gAAQtIAADTSAAAl0gAAF9IAAAnSAAD60QAA7NEAAN7RAADP0QAAwdEAALLRAACk0QAAldEAAIfRAAB50QAAatEAAFzRAABN0QAAP9EAADDRAAAi0QAAE9EAAAXRAAD20AAA6NAAANnQAADL0AAAvNAAAK7QAACf0AAAkNAAAILQAABz0AAAZdAAAFbQAABH0AAAOdAAACrQAAAc0AAADdAAAP7PAADwzwAA4c8AANLPAADEzwAAtc8AAKbPAACYzwAAic8AAHrPAABrzwAAXc8AAE7PAAA/zwAAMM8AACLPAAATzwAABM8AAPXOAADnzgAA2M4AAMnOAAC6zgAAq84AAJzOAACOzgAAf84AAHDOAABhzgAAUs4AAEPOAAA0zgAAJc4AABfOAAAIzgAA+c0AAOrNAADbzQAAzM0AAL3NAACuzQAAn80AAJDNAACBzQAAcs0AAGPNAABUzQAARc0AADbNAAAnzQAAGM0AAAnNAAD6zAAA68wAANzMAADNzAAAvswAAK7MAACfzAAAkMwAAIHMAAByzAAAY8wAAFTMAABFzAAANcwAACbMAAAXzAAACMwAAPnLAADqywAA2ssAAMvLAAC8ywAArcsAAJ7LAACOywAAf8sAAHDLAABhywAAUcsAAELLAAAzywAAI8sAABTLAAAFywAA9coAAObKAADXygAAx8oAALjKAACpygAAmcoAAIrKAAB7ygAAa8oAAFzKAABNygAAPcoAAC7KAAAeygAAD8oAAP/JAADwyQAA4ckAANHJAADCyQAAsskAAKPJAACTyQAAhMkAAHTJAABlyQAAVckAAEbJAAA2yQAAJ8kAABfJAAAHyQAA+MgAAOjIAADZyAAAycgAALrIAACqyAAAmsgAAIvIAAB7yAAAa8gAAFzIAABMyAAAPMgAAC3IAAAdyAAADcgAAP7HAADuxwAA3scAAM/HAAC/xwAAr8cAAKDHAACQxwAAgMcAAHDHAABhxwAAUccAAEHHAAAxxwAAIccAABLHAAACxwAA8sYAAOLGAADSxgAAwsYAALPGAACjxgAAk8YAAIPGAABzxgAAY8YAAFPGAABExgAANMYAACTGAAAUxgAABMYAAPTFAADkxQAA1MUAAMTFAAC0xQAApMUAAJTFAACExQAAdMUAAGTFAABUxQAARMUAADTFAAAkxQAAFMUAAATFAAD0xAAA5MQAANTEAADExAAAtMQAAKTEAACUxAAAg8QAAHPEAABjxAAAU8QAAEPEAAAzxAAAI8QAABPEAAACxAAA8sMAAOLDAADSwwAAwsMAALHDAAChwwAAkcMAAIHDAABxwwAAYMMAAFDDAABAwwAAMMMAAB/DAAAPwwAA/8IAAO7CAADewgAAzsIAAL7CAACtwgAAncIAAI3CAAB8wgAAbMIAAFzCAABLwgAAO8IAACrCAAAawgAACsIAAPnBAADpwQAA2MEAAMjBAAC4wQAAp8EAAJfBAACGwQAAdsEAAGXBAABVwQAARMEAADTBAAAjwQAAE8EAAALBAADywAAA4cAAANHAAADAwAAAsMAAAJ/AAACPwAAAfsAAAG7AAABdwAAATMAAADzAAAArwAAAG8AAAArAAAD5vwAA6b8AANi/AADHvwAAt78AAKa/AACVvwAAhb8AAHS/AABjvwAAU78AAEK/AAAxvwAAIb8AABC/AAD/vgAA7r4AAN6+AADNvgAAvL4AAKu+AACbvgAAir4AAHm+AABovgAAV74AAEe+AAA2vgAAJb4AABS+AAADvgAA8r0AAOK9AADRvQAAwL0AAK+9AACevQAAjb0AAHy9AABrvQAAWr0AAEq9AAA5vQAAKL0AABe9AAAGvQAA9bwAAOS8AADTvAAAwrwAALG8AACgvAAAj7wAAH68AABtvAAAXLwAAEu8AAA6vAAAKbwAABi8AAAHvAAA9rsAAOW7AADUuwAAw7sAALG7AACguwAAj7sAAH67AABtuwAAXLsAAEu7AAA6uwAAKLsAABe7AAAGuwAA9boAAOS6AADTugAAwboAALC6AACfugAAjroAAH26AABrugAAWroAAEm6AAA4ugAAJroAABW6AAAEugAA87kAAOG5AADQuQAAv7kAAK65AACcuQAAi7kAAHq5AABouQAAV7kAAEa5AAA0uQAAI7kAABK5AAAAuQAA77gAAN24AADMuAAAu7gAAKm4AACYuAAAhrgAAHW4AABkuAAAUrgAAEG4AAAvuAAAHrgAAAy4AAD7twAA6bcAANi3AADGtwAAtbcAAKO3AACStwAAgLcAAG+3AABdtwAATLcAADq3AAAptwAAF7cAAAW3AAD0tgAA4rYAANG2AAC/tgAArbYAAJy2AACKtgAAebYAAGe2AABVtgAARLYAADK2AAAgtgAAD7YAAP21AADrtQAA2rUAAMi1AAC2tQAApbUAAJO1AACBtQAAb7UAAF61AABMtQAAOrUAACi1AAAXtQAABbUAAPO0AADhtAAA0LQAAL60AACstAAAmrQAAIi0AAB3tAAAZbQAAFO0AABBtAAAL7QAAB20AAALtAAA+rMAAOizAADWswAAxLMAALKzAACgswAAjrMAAHyzAABqswAAWLMAAEezAAA1swAAI7MAABGzAAD/sgAA7bIAANuyAADJsgAAt7IAAKWyAACTsgAAgbIAAG+yAABdsgAAS7IAADmyAAAnsgAAFbIAAAOyAADwsQAA3rEAAMyxAAC6sQAAqLEAAJaxAACEsQAAcrEAAGCxAABOsQAAO7EAACmxAAAXsQAABbEAAPOwAADhsAAAzrAAALywAACqsAAAmLAAAIawAAB0sAAAYbAAAE+wAAA9sAAAK7AAABiwAAAGsAAA9K8AAOKvAADPrwAAva8AAKuvAACZrwAAhq8AAHSvAABirwAAT68AAD2vAAArrwAAGK8AAAavAAD0rgAA4a4AAM+uAAC9rgAAqq4AAJiuAACFrgAAc64AAGGuAABOrgAAPK4AACmuAAAXrgAABa4AAPKtAADgrQAAza0AALutAACorQAAlq0AAIOtAABxrQAAXq0AAEytAAA5rQAAJ60AABStAAACrQAA76wAAN2sAADKrAAAuKwAAKWsAACTrAAAgKwAAG2sAABbrAAASKwAADasAAAjrAAAEawAAP6rAADrqwAA2asAAMarAACzqwAAoasAAI6rAAB7qwAAaasAAFarAABDqwAAMasAAB6rAAALqwAA+aoAAOaqAADTqgAAwaoAAK6qAACbqgAAiKoAAHaqAABjqgAAUKoAAD2qAAAqqgAAGKoAAAWqAADyqQAA36kAAM2pAAC6qQAAp6kAAJSpAACBqQAAbqkAAFypAABJqQAANqkAACOpAAAQqQAA/agAAOqoAADXqAAAxagAALKoAACfqAAAjKgAAHmoAABmqAAAU6gAAECoAAAtqAAAGqgAAAeoAAD0pwAA4acAAM6nAAC7pwAAqKcAAJWnAACCpwAAb6cAAFynAABJpwAANqcAACOnAAAQpwAA/aYAAOqmAADXpgAAxKYAALGmAACepgAAi6YAAHimAABlpgAAUqYAAD6mAAArpgAAGKYAAAWmAADypQAA36UAAMylAAC4pQAApaUAAJKlAAB/pQAAbKUAAFmlAABFpQAAMqUAAB+lAAAMpQAA+aQAAOWkAADSpAAAv6QAAKykAACYpAAAhaQAAHKkAABfpAAAS6QAADikAAAlpAAAEqQAAP6jAADrowAA2KMAAMSjAACxowAAnqMAAIqjAAB3owAAZKMAAFCjAAA9owAAKqMAABajAAADowAA76IAANyiAADJogAAtaIAAKKiAACOogAAe6IAAGiiAABUogAAQaIAAC2iAAAaogAABqIAAPOhAADfoQAAzKEAALmhAACloQAAkqEAAH6hAABroQAAV6EAAEOhAAAwoQAAHKEAAAmhAAD1oAAA4qAAAM6gAAC7oAAAp6AAAJSgAACAoAAAbKAAAFmgAABFoAAAMqAAAB6gAAAKoAAA958AAOOfAADQnwAAvJ8AAKifAACVnwAAgZ8AAG2fAABanwAARp8AADKfAAAfnwAAC58AAPeeAADjngAA0J4AALyeAACongAAlZ4AAIGeAABtngAAWZ4AAEaeAAAyngAAHp4AAAqeAAD3nQAA450AAM+dAAC7nQAAp50AAJSdAACAnQAAbJ0AAFidAABEnQAAMZ0AAB2dAAAJnQAA9ZwAAOGcAADNnAAAuZwAAKacAACSnAAAfpwAAGqcAABWnAAAQpwAAC6cAAAanAAABpwAAPKbAADemwAAypsAALebAACjmwAAj5sAAHubAABnmwAAU5sAAD+bAAArmwAAF5sAAAObAADvmgAA25oAAMeaAACzmgAAn5oAAIuaAAB3mgAAY5oAAE+aAAA6mgAAJpoAABKaAAD+mQAA6pkAANaZAADCmQAArpkAAJqZAACGmQAAcpkAAF2ZAABJmQAANZkAACGZAAANmQAA+ZgAAOWYAADQmAAAvJgAAKiYAACUmAAAgJgAAGyYAABXmAAAQ5gAAC+YAAAbmAAAB5gAAPKXAADelwAAypcAALaXAAChlwAAjZcAAHmXAABllwAAUJcAADyXAAAolwAAE5cAAP+WAADrlgAA15YAAMKWAACulgAAmpYAAIWWAABxlgAAXZYAAEiWAAA0lgAAIJYAAAuWAAD3lQAA4pUAAM6VAAC6lQAApZUAAJGVAAB9lQAAaJUAAFSVAAA/lQAAK5UAABaVAAAClQAA7pQAANmUAADFlAAAsJQAAJyUAACHlAAAc5QAAF6UAABKlAAANZQAACGUAAAMlAAA+JMAAOOTAADPkwAAupMAAKaTAACRkwAAfZMAAGiTAABUkwAAP5MAACqTAAAWkwAAAZMAAO2SAADYkgAAxJIAAK+SAACakgAAhpIAAHGSAABdkgAASJIAADOSAAAfkgAACpIAAPWRAADhkQAAzJEAALeRAACjkQAAjpEAAHmRAABlkQAAUJEAADuRAAAnkQAAEpEAAP2QAADpkAAA1JAAAL+QAACqkAAAlpAAAIGQAABskAAAV5AAAEOQAAAukAAAGZAAAASQAADwjwAA248AAMaPAACxjwAAnI8AAIiPAABzjwAAXo8AAEmPAAA0jwAAH48AAAuPAAD2jgAA4Y4AAMyOAAC3jgAAoo4AAI2OAAB5jgAAZI4AAE+OAAA6jgAAJY4AABCOAAD7jQAA5o0AANGNAAC8jQAAp40AAJONAAB+jQAAaY0AAFSNAAA/jQAAKo0AABWNAAAAjQAA64wAANaMAADBjAAArIwAAJeMAACCjAAAbYwAAFiMAABDjAAALowAABmMAAAEjAAA74sAANqLAADFiwAAr4sAAJqLAACFiwAAcIsAAFuLAABGiwAAMYsAAByLAAAHiwAA8ooAAN2KAADHigAAsooAAJ2KAACIigAAc4oAAF6KAABJigAANIoAAB6KAAAJigAA9IkAAN+JAADKiQAAtIkAAJ+JAACKiQAAdYkAAGCJAABKiQAANYkAACCJAAALiQAA9ogAAOCIAADLiAAAtogAAKGIAACLiAAAdogAAGGIAABMiAAANogAACGIAAAMiAAA9ocAAOGHAADMhwAAt4cAAKGHAACMhwAAd4cAAGGHAABMhwAAN4cAACGHAAAMhwAA94YAAOGGAADMhgAAtoYAAKGGAACMhgAAdoYAAGGGAABMhgAANoYAACGGAAALhgAA9oUAAOCFAADLhQAAtoUAAKCFAACLhQAAdYUAAGCFAABKhQAANYUAAB+FAAAKhQAA9YQAAN+EAADKhAAAtIQAAJ+EAACJhAAAdIQAAF6EAABJhAAAM4QAAB2EAAAIhAAA8oMAAN2DAADHgwAAsoMAAJyDAACHgwAAcYMAAFyDAABGgwAAMIMAABuDAAAFgwAA8IIAANqCAADEggAAr4IAAJmCAACEggAAboIAAFiCAABDggAALYIAABeCAAACggAA7IEAANaBAADBgQAAq4EAAJWBAACAgQAAaoEAAFSBAAA/gQAAKYEAABOBAAD+gAAA6IAAANKAAAC8gAAAp4AAAJGAAAB7gAAAZoAAAFCAAAA6gAAAJIAAAA+AAAD5fwAA438AAM1/AAC3fwAAon8AAIx/AAB2fwAAYH8AAEp/AAA1fwAAH38AAAl/AADzfgAA3X4AAMh+AACyfgAAnH4AAIZ+AABwfgAAWn4AAER+AAAvfgAAGX4AAAN+AADtfQAA130AAMF9AACrfQAAlX0AAH99AABqfQAAVH0AAD59AAAofQAAEn0AAPx8AADmfAAA0HwAALp8AACkfAAAjnwAAHh8AABifAAATHwAADZ8AAAgfAAACnwAAPR7AADeewAAyHsAALJ7AACcewAAhnsAAHB7AABaewAARHsAAC57AAAYewAAAnsAAOx6AADWegAAwHoAAKp6AACUegAAfnoAAGh6AABSegAAPHoAACZ6AAAQegAA+XkAAON5AADNeQAAt3kAAKF5AACLeQAAdXkAAF95AABJeQAAMnkAABx5AAAGeQAA8HgAANp4AADEeAAArXgAAJd4AACBeAAAa3gAAFV4AAA/eAAAKHgAABJ4AAD8dwAA5ncAANB3AAC5dwAAo3cAAI13AAB3dwAAYHcAAEp3AAA0dwAAHncAAAh3AADxdgAA23YAAMV2AACudgAAmHYAAIJ2AABsdgAAVXYAAD92AAApdgAAEnYAAPx1AADmdQAA0HUAALl1AACjdQAAjXUAAHZ1AABgdQAASnUAADN1AAAddQAAB3UAAPB0AADadAAAw3QAAK10AACXdAAAgHQAAGp0AABUdAAAPXQAACd0AAAQdAAA+nMAAORzAADNcwAAt3MAAKBzAACKcwAAc3MAAF1zAABHcwAAMHMAABpzAAADcwAA7XIAANZyAADAcgAAqXIAAJNyAAB8cgAAZnIAAFByAAA5cgAAI3IAAAxyAAD2cQAA33EAAMlxAACycQAAm3EAAIVxAABucQAAWHEAAEFxAAArcQAAFHEAAP5wAADncAAA0XAAALpwAACjcAAAjXAAAHZwAABgcAAASXAAADNwAAAccAAABXAAAO9vAADYbwAAwm8AAKtvAACUbwAAfm8AAGdvAABQbwAAOm8AACNvAAANbwAA9m4AAN9uAADJbgAAsm4AAJtuAACFbgAAbm4AAFduAABBbgAAKm4AABNuAAD8bQAA5m0AAM9tAAC4bQAAom0AAIttAAB0bQAAXm0AAEdtAAAwbQAAGW0AAANtAADsbAAA1WwAAL5sAACobAAAkWwAAHpsAABjbAAATWwAADZsAAAfbAAACGwAAPFrAADbawAAxGsAAK1rAACWawAAf2sAAGlrAABSawAAO2sAACRrAAANawAA9moAAOBqAADJagAAsmoAAJtqAACEagAAbWoAAFdqAABAagAAKWoAABJqAAD7aQAA5GkAAM1pAAC2aQAAoGkAAIlpAAByaQAAW2kAAERpAAAtaQAAFmkAAP9oAADoaAAA0WgAALpoAACjaAAAjWgAAHZoAABfaAAASGgAADFoAAAaaAAAA2gAAOxnAADVZwAAvmcAAKdnAACQZwAAeWcAAGJnAABLZwAANGcAAB1nAAAGZwAA72YAANhmAADBZgAAqmYAAJNmAAB8ZgAAZWYAAE5mAAA3ZgAAIGYAAAlmAADyZQAA22UAAMNlAACsZQAAlWUAAH5lAABnZQAAUGUAADllAAAiZQAAC2UAAPRkAADdZAAAxmQAAK5kAACXZAAAgGQAAGlkAABSZAAAO2QAACRkAAANZAAA9WMAAN5jAADHYwAAsGMAAJljAACCYwAAa2MAAFNjAAA8YwAAJWMAAA5jAAD3YgAA4GIAAMhiAACxYgAAmmIAAINiAABsYgAAVGIAAD1iAAAmYgAAD2IAAPhhAADgYQAAyWEAALJhAACbYQAAg2EAAGxhAABVYQAAPmEAACZhAAAPYQAA+GAAAOFgAADJYAAAsmAAAJtgAACEYAAAbGAAAFVgAAA+YAAAJmAAAA9gAAD4XwAA4V8AAMlfAACyXwAAm18AAINfAABsXwAAVV8AAD1fAAAmXwAAD18AAPdeAADgXgAAyV4AALFeAACaXgAAg14AAGteAABUXgAAPF4AACVeAAAOXgAA9l0AAN9dAADIXQAAsF0AAJldAACBXQAAal0AAFNdAAA7XQAAJF0AAAxdAAD1XAAA3lwAAMZcAACvXAAAl1wAAIBcAABoXAAAUVwAADpcAAAiXAAAC1wAAPNbAADcWwAAxFsAAK1bAACVWwAAflsAAGZbAABPWwAAN1sAACBbAAAIWwAA8VoAANlaAADCWgAAqloAAJNaAAB7WgAAZFoAAExaAAA1WgAAHVoAAAZaAADuWQAA11kAAL9ZAACoWQAAkFkAAHlZAABhWQAASlkAADJZAAAaWQAAA1kAAOtYAADUWAAAvFgAAKVYAACNWAAAdVgAAF5YAABGWAAAL1gAABdYAAD/VwAA6FcAANBXAAC5VwAAoVcAAIlXAAByVwAAWlcAAENXAAArVwAAE1cAAPxWAADkVgAAzFYAALVWAACdVgAAhVYAAG5WAABWVgAAPlYAACdWAAAPVgAA91UAAOBVAADIVQAAsFUAAJlVAACBVQAAaVUAAFJVAAA6VQAAIlUAAAtVAADzVAAA21QAAMNUAACsVAAAlFQAAHxUAABkVAAATVQAADVUAAAdVAAABlQAAO5TAADWUwAAvlMAAKdTAACPUwAAd1MAAF9TAABIUwAAMFMAABhTAAAAUwAA6FIAANFSAAC5UgAAoVIAAIlSAAByUgAAWlIAAEJSAAAqUgAAElIAAPtRAADjUQAAy1EAALNRAACbUQAAg1EAAGxRAABUUQAAPFEAACRRAAAMUQAA9FAAAN1QAADFUAAArVAAAJVQAAB9UAAAZVAAAE1QAAA2UAAAHlAAAAZQAADuTwAA1k8AAL5PAACmTwAAjk8AAHdPAABfTwAAR08AAC9PAAAXTwAA/04AAOdOAADPTgAAt04AAJ9OAACHTgAAcE4AAFhOAABATgAAKE4AABBOAAD4TQAA4E0AAMhNAACwTQAAmE0AAIBNAABoTQAAUE0AADhNAAAgTQAACE0AAPBMAADYTAAAwEwAAKhMAACQTAAAeUwAAGFMAABJTAAAMUwAABlMAAABTAAA6UsAANFLAAC5SwAAoUsAAIlLAABxSwAAWEsAAEBLAAAoSwAAEEsAAPhKAADgSgAAyEoAALBKAACYSgAAgEoAAGhKAABQSgAAOEoAACBKAAAISgAA8EkAANhJAADASQAAqEkAAJBJAAB4SQAAX0kAAEdJAAAvSQAAF0kAAP9IAADnSAAAz0gAALdIAACfSAAAh0gAAG9IAABWSAAAPkgAACZIAAAOSAAA9kcAAN5HAADGRwAArkcAAJVHAAB9RwAAZUcAAE1HAAA1RwAAHUcAAAVHAADsRgAA1EYAALxGAACkRgAAjEYAAHRGAABcRgAAQ0YAACtGAAATRgAA+0UAAONFAADLRQAAskUAAJpFAACCRQAAakUAAFJFAAA5RQAAIUUAAAlFAADxRAAA2UQAAMBEAACoRAAAkEQAAHhEAABgRAAAR0QAAC9EAAAXRAAA/0MAAOZDAADOQwAAtkMAAJ5DAACFQwAAbUMAAFVDAAA9QwAAJEMAAAxDAAD0QgAA3EIAAMNCAACrQgAAk0IAAHtCAABiQgAASkIAADJCAAAaQgAAAUIAAOlBAADRQQAAuEEAAKBBAACIQQAAb0EAAFdBAAA/QQAAJ0EAAA5BAAD2QAAA3kAAAMVAAACtQAAAlUAAAHxAAABkQAAATEAAADNAAAAbQAAAA0AAAOo/AADSPwAAuj8AAKE/AACJPwAAcT8AAFg/AABAPwAAKD8AAA8/AAD3PgAA3z4AAMY+AACuPgAAlT4AAH0+AABlPgAATD4AADQ+AAAcPgAAAz4AAOs9AADSPQAAuj0AAKI9AACJPQAAcT0AAFg9AABAPQAAKD0AAA89AAD3PAAA3jwAAMY8AACuPAAAlTwAAH08AABkPAAATDwAADM8AAAbPAAAAzwAAOo7AADSOwAAuTsAAKE7AACIOwAAcDsAAFg7AAA/OwAAJzsAAA47AAD2OgAA3ToAAMU6AACsOgAAlDoAAHs6AABjOgAASjoAADI6AAAaOgAAAToAAOk5AADQOQAAuDkAAJ85AACHOQAAbjkAAFY5AAA9OQAAJTkAAAw5AAD0OAAA2zgAAMM4AACqOAAAkjgAAHk4AABhOAAASDgAADA4AAAXOAAA/jcAAOY3AADNNwAAtTcAAJw3AACENwAAazcAAFM3AAA6NwAAIjcAAAk3AADxNgAA2DYAAMA2AACnNgAAjjYAAHY2AABdNgAARTYAACw2AAAUNgAA+zUAAOI1AADKNQAAsTUAAJk1AACANQAAaDUAAE81AAA2NQAAHjUAAAU1AADtNAAA1DQAALs0AACjNAAAijQAAHI0AABZNAAAQDQAACg0AAAPNAAA9zMAAN4zAADFMwAArTMAAJQzAAB8MwAAYzMAAEozAAAyMwAAGTMAAAAzAADoMgAAzzIAALcyAACeMgAAhTIAAG0yAABUMgAAOzIAACMyAAAKMgAA8TEAANkxAADAMQAApzEAAI8xAAB2MQAAXjEAAEUxAAAsMQAAFDEAAPswAADiMAAAyjAAALEwAACYMAAAfzAAAGcwAABOMAAANTAAAB0wAAAEMAAA6y8AANMvAAC6LwAAoS8AAIkvAABwLwAAVy8AAD8vAAAmLwAADS8AAPQuAADcLgAAwy4AAKouAACSLgAAeS4AAGAuAABHLgAALy4AABYuAAD9LQAA5S0AAMwtAACzLQAAmi0AAIItAABpLQAAUC0AADctAAAfLQAABi0AAO0sAADULAAAvCwAAKMsAACKLAAAcSwAAFksAABALAAAJywAAA4sAAD2KwAA3SsAAMQrAACrKwAAkysAAHorAABhKwAASCsAADArAAAXKwAA/ioAAOUqAADMKgAAtCoAAJsqAACCKgAAaSoAAFEqAAA4KgAAHyoAAAYqAADtKQAA1SkAALwpAACjKQAAiikAAHEpAABZKQAAQCkAACcpAAAOKQAA9SgAAN0oAADEKAAAqygAAJIoAAB5KAAAYCgAAEgoAAAvKAAAFigAAP0nAADkJwAAzCcAALMnAACaJwAAgScAAGgnAABPJwAANycAAB4nAAAFJwAA7CYAANMmAAC6JgAAoiYAAIkmAABwJgAAVyYAAD4mAAAlJgAADCYAAPQlAADbJQAAwiUAAKklAACQJQAAdyUAAF4lAABGJQAALSUAABQlAAD7JAAA4iQAAMkkAACwJAAAlyQAAH8kAABmJAAATSQAADQkAAAbJAAAAiQAAOkjAADQIwAAuCMAAJ8jAACGIwAAbSMAAFQjAAA7IwAAIiMAAAkjAADwIgAA1yIAAL8iAACmIgAAjSIAAHQiAABbIgAAQiIAACkiAAAQIgAA9yEAAN4hAADGIQAArSEAAJQhAAB7IQAAYiEAAEkhAAAwIQAAFyEAAP4gAADlIAAAzCAAALMgAACaIAAAgiAAAGkgAABQIAAANyAAAB4gAAAFIAAA7B8AANMfAAC6HwAAoR8AAIgfAABvHwAAVh8AAD0fAAAkHwAACx8AAPMeAADaHgAAwR4AAKgeAACPHgAAdh4AAF0eAABEHgAAKx4AABIeAAD5HQAA4B0AAMcdAACuHQAAlR0AAHwdAABjHQAASh0AADEdAAAYHQAA/xwAAOYcAADNHAAAtBwAAJscAACCHAAAaRwAAFEcAAA4HAAAHxwAAAYcAADtGwAA1BsAALsbAACiGwAAiRsAAHAbAABXGwAAPhsAACUbAAAMGwAA8xoAANoaAADBGgAAqBoAAI8aAAB2GgAAXRoAAEQaAAArGgAAEhoAAPkZAADgGQAAxxkAAK4ZAACVGQAAfBkAAGMZAABKGQAAMRkAABgZAAD/GAAA5hgAAM0YAAC0GAAAmxgAAIIYAABpGAAAUBgAADcYAAAdGAAABBgAAOsXAADSFwAAuRcAAKAXAACHFwAAbhcAAFUXAAA8FwAAIxcAAAoXAADxFgAA2BYAAL8WAACmFgAAjRYAAHQWAABbFgAAQhYAACkWAAAQFgAA9xUAAN4VAADFFQAArBUAAJMVAAB6FQAAYRUAAEgVAAAuFQAAFRUAAPwUAADjFAAAyhQAALEUAACYFAAAfxQAAGYUAABNFAAANBQAABsUAAACFAAA6RMAANATAAC3EwAAnhMAAIUTAABsEwAAUhMAADkTAAAgEwAABxMAAO4SAADVEgAAvBIAAKMSAACKEgAAcRIAAFgSAAA/EgAAJhIAAA0SAAD0EQAA2hEAAMERAACoEQAAjxEAAHYRAABdEQAARBEAACsRAAASEQAA+RAAAOAQAADHEAAArhAAAJQQAAB7EAAAYhAAAEkQAAAwEAAAFxAAAP4PAADlDwAAzA8AALMPAACaDwAAgQ8AAGcPAABODwAANQ8AABwPAAADDwAA6g4AANEOAAC4DgAAnw4AAIYOAABtDgAAUw4AADoOAAAhDgAACA4AAO8NAADWDQAAvQ0AAKQNAACLDQAAcg0AAFkNAAA/DQAAJg0AAA0NAAD0DAAA2wwAAMIMAACpDAAAkAwAAHcMAABdDAAARAwAACsMAAASDAAA+QsAAOALAADHCwAArgsAAJULAAB8CwAAYgsAAEkLAAAwCwAAFwsAAP4KAADlCgAAzAoAALMKAACaCgAAgAoAAGcKAABOCgAANQoAABwKAAADCgAA6gkAANEJAAC4CQAAngkAAIUJAABsCQAAUwkAADoJAAAhCQAACAkAAO8IAADVCAAAvAgAAKMIAACKCAAAcQgAAFgIAAA/CAAAJggAAA0IAADzBwAA2gcAAMEHAACoBwAAjwcAAHYHAABdBwAARAcAACoHAAARBwAA+AYAAN8GAADGBgAArQYAAJQGAAB7BgAAYQYAAEgGAAAvBgAAFgYAAP0FAADkBQAAywUAALIFAACYBQAAfwUAAGYFAABNBQAANAUAABsFAAACBQAA6QQAAM8EAAC2BAAAnQQAAIQEAABrBAAAUgQAADkEAAAgBAAABgQAAO0DAADUAwAAuwMAAKIDAACJAwAAcAMAAFYDAAA9AwAAJAMAAAsDAADyAgAA2QIAAMACAACnAgAAjQIAAHQCAABbAgAAQgIAACkCAAAQAgAA9wEAAN4BAADEAQAAqwEAAJIBAAB5AQAAYAEAAEcBAAAuAQAAFAEAAPsAAADiAAAAyQAAALAAAACXAAAAfgAAAGUAAABLAAAAMgAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAKAAAADwAAABQAAAAZAAAAHwAAACQAAAApAAAALgAAADMAAAA4AAAAPQAAAEIAAABHAAAATAAAAFEAAABXAAAAXAAAAGEAAABmAAAAawAAAHAAAAB1AAAAegAAAH8AAACEAAAAigAAAI8AAACUAAAAmQAAAJ4AAACjAAAAqAAAAK0AAACyAAAAtwAAALwAAADCAAAAxwAAAMwAAADRAAAA1gAAANsAAADgAAAA5QAAAOoAAADvAAAA9AAAAPoAAAD/AAAABAEAAAkBAAAOAQAAEwEAABgBAAAdAQAAIgEAACcBAAAsAQAAMQEAADcBAAA8AQAAQQEAAEYBAABLAQAAUAEAAFUBAABaAQAAXwEAAGQBAABpAQAAbwEAAHQBAAB5AQAAfgEAAIMBAACIAQAAjQEAAJIBAACXAQAAnAEAAKEBAACmAQAArAEAALEBAAC2AQAAuwEAAMABAADFAQAAygEAAM8BAADUAQAA2QEAAN4BAADjAQAA6QEAAO4BAADzAQAA+AEAAP0BAAACAgAABwIAAAwCAAARAgAAFgIAABsCAAAgAgAAJgIAACsCAAAwAgAANQIAADoCAAA/AgAARAIAAEkCAABOAgAAUwIAAFgCAABdAgAAYgIAAGgCAABtAgAAcgIAAHcCAAB8AgAAgQIAAIYCAACLAgAAkAIAAJUCAACaAgAAnwIAAKQCAACpAgAArwIAALQCAAC5AgAAvgIAAMMCAADIAgAAzQIAANICAADXAgAA3AIAAOECAADmAgAA6wIAAPACAAD2AgAA+wIAAAADAAAFAwAACgMAAA8DAAAUAwAAGQMAAB4DAAAjAwAAKAMAAC0DAAAyAwAANwMAADwDAABBAwAARwMAAEwDAABRAwAAVgMAAFsDAABgAwAAZQMAAGoDAABvAwAAdAMAAHkDAAB+AwAAgwMAAIgDAACNAwAAkgMAAJcDAACcAwAAogMAAKcDAACsAwAAsQMAALYDAAC7AwAAwAMAAMUDAADKAwAAzwMAANQDAADZAwAA3gMAAOMDAADoAwAA7QMAAPIDAAD3AwAA/AMAAAEEAAAHBAAADAQAABEEAAAWBAAAGwQAACAEAAAlBAAAKgQAAC8EAAA0BAAAOQQAAD4EAABDBAAASAQAAE0EAABSBAAAVwQAAFwEAABhBAAAZgQAAGsEAABwBAAAdQQAAHoEAAB/BAAAhAQAAIkEAACOBAAAlAQAAJkEAACeBAAAowQAAKgEAACtBAAAsgQAALcEAAC8BAAAwQQAAMYEAADLBAAA0AQAANUEAADaBAAA3wQAAOQEAADpBAAA7gQAAPMEAAD4BAAA/QQAAAIFAAAHBQAADAUAABEFAAAWBQAAGwUAACAFAAAlBQAAKgUAAC8FAAA0BQAAOQUAAD4FAABDBQAASAUAAE0FAABSBQAAVwUAAFwFAABhBQAAZgUAAGsFAABwBQAAdQUAAHoFAAB/BQAAhAUAAIkFAACOBQAAkwUAAJgFAACdBQAAogUAAKcFAACsBQAAsQUAALYFAAC7BQAAwAUAAMUFAADKBQAAzwUAANQFAADZBQAA3gUAAOMFAADoBQAA7QUAAPIFAAD3BQAA/AUAAAEGAAAGBgAACwYAABAGAAAVBgAAGgYAAB8GAAAkBgAAKQYAAC4GAAAzBgAAOAYAAD0GAABCBgAARwYAAEwGAABRBgAAVgYAAFsGAABgBgAAZQYAAGoGAABuBgAAcwYAAHgGAAB9BgAAggYAAIcGAACMBgAAkQYAAJYGAACbBgAAoAYAAKUGAACqBgAArwYAALQGAAC5BgAAvgYAAMMGAADIBgAAzQYAANIGAADXBgAA3AYAAOEGAADlBgAA6gYAAO8GAAD0BgAA+QYAAP4GAAADBwAACAcAAA0HAAASBwAAFwcAABwHAAAhBwAAJgcAACsHAAAwBwAANQcAADkHAAA+BwAAQwcAAEgHAABNBwAAUgcAAFcHAABcBwAAYQcAAGYHAABrBwAAcAcAAHUHAAB6BwAAfgcAAIMHAACIBwAAjQcAAJIHAACXBwAAnAcAAKEHAACmBwAAqwcAALAHAAC1BwAAuQcAAL4HAADDBwAAyAcAAM0HAADSBwAA1wcAANwHAADhBwAA5gcAAOsHAADvBwAA9AcAAPkHAAD+BwAAAwgAAAgIAAANCAAAEggAABcIAAAcCAAAIAgAACUIAAAqCAAALwgAADQIAAA5CAAAPggAAEMIAABICAAATAgAAFEIAABWCAAAWwgAAGAIAABlCAAAaggAAG8IAABzCAAAeAgAAH0IAACCCAAAhwgAAIwIAACRCAAAlggAAJoIAACfCAAApAgAAKkIAACuCAAAswgAALgIAAC9CAAAwQgAAMYIAADLCAAA0AgAANUIAADaCAAA3wgAAOMIAADoCAAA7QgAAPIIAAD3CAAA/AgAAAEJAAAFCQAACgkAAA8JAAAUCQAAGQkAAB4JAAAiCQAAJwkAACwJAAAxCQAANgkAADsJAAA/CQAARAkAAEkJAABOCQAAUwkAAFgJAABcCQAAYQkAAGYJAABrCQAAcAkAAHUJAAB5CQAAfgkAAIMJAACICQAAjQkAAJIJAACWCQAAmwkAAKAJAAClCQAAqgkAAK4JAACzCQAAuAkAAL0JAADCCQAAxgkAAMsJAADQCQAA1QkAANoJAADeCQAA4wkAAOgJAADtCQAA8gkAAPYJAAD7CQAAAAoAAAUKAAAKCgAADgoAABMKAAAYCgAAHQoAACIKAAAmCgAAKwoAADAKAAA1CgAAOQoAAD4KAABDCgAASAoAAE0KAABRCgAAVgoAAFsKAABgCgAAZAoAAGkKAABuCgAAcwoAAHcKAAB8CgAAgQoAAIYKAACLCgAAjwoAAJQKAACZCgAAngoAAKIKAACnCgAArAoAALEKAAC1CgAAugoAAL8KAADECgAAyAoAAM0KAADSCgAA1woAANsKAADgCgAA5QoAAOkKAADuCgAA8woAAPgKAAD8CgAAAQsAAAYLAAALCwAADwsAABQLAAAZCwAAHgsAACILAAAnCwAALAsAADALAAA1CwAAOgsAAD8LAABDCwAASAsAAE0LAABRCwAAVgsAAFsLAABgCwAAZAsAAGkLAABuCwAAcgsAAHcLAAB8CwAAgAsAAIULAACKCwAAjwsAAJMLAACYCwAAnQsAAKELAACmCwAAqwsAAK8LAAC0CwAAuQsAAL0LAADCCwAAxwsAAMsLAADQCwAA1QsAANkLAADeCwAA4wsAAOcLAADsCwAA8QsAAPULAAD6CwAA/wsAAAMMAAAIDAAADQwAABEMAAAWDAAAGwwAAB8MAAAkDAAAKQwAAC0MAAAyDAAANwwAADsMAABADAAARQwAAEkMAABODAAAUwwAAFcMAABcDAAAYAwAAGUMAABqDAAAbgwAAHMMAAB4DAAAfAwAAIEMAACGDAAAigwAAI8MAACTDAAAmAwAAJ0MAAChDAAApgwAAKsMAACvDAAAtAwAALgMAAC9DAAAwgwAAMYMAADLDAAAzwwAANQMAADZDAAA3QwAAOIMAADmDAAA6wwAAPAMAAD0DAAA+QwAAP0MAAACDQAABw0AAAsNAAAQDQAAFA0AABkNAAAeDQAAIg0AACcNAAArDQAAMA0AADQNAAA5DQAAPg0AAEINAABHDQAASw0AAFANAABUDQAAWQ0AAF4NAABiDQAAZw0AAGsNAABwDQAAdA0AAHkNAAB9DQAAgg0AAIcNAACLDQAAkA0AAJQNAACZDQAAnQ0AAKINAACmDQAAqw0AAK8NAAC0DQAAuQ0AAL0NAADCDQAAxg0AAMsNAADPDQAA1A0AANgNAADdDQAA4Q0AAOYNAADqDQAA7w0AAPMNAAD4DQAA/A0AAAEOAAAFDgAACg4AAA8OAAATDgAAGA4AABwOAAAhDgAAJQ4AACoOAAAuDgAAMw4AADcOAAA8DgAAQA4AAEUOAABJDgAATg4AAFIOAABWDgAAWw4AAF8OAABkDgAAaA4AAG0OAABxDgAAdg4AAHoOAAB/DgAAgw4AAIgOAACMDgAAkQ4AAJUOAACaDgAAng4AAKMOAACnDgAArA4AALAOAAC0DgAAuQ4AAL0OAADCDgAAxg4AAMsOAADPDgAA1A4AANgOAADcDgAA4Q4AAOUOAADqDgAA7g4AAPMOAAD3DgAA/A4AAAAPAAAEDwAACQ8AAA0PAAASDwAAFg8AABsPAAAfDwAAIw8AACgPAAAsDwAAMQ8AADUPAAA6DwAAPg8AAEIPAABHDwAASw8AAFAPAABUDwAAWA8AAF0PAABhDwAAZg8AAGoPAABuDwAAcw8AAHcPAAB8DwAAgA8AAIQPAACJDwAAjQ8AAJEPAACWDwAAmg8AAJ8PAACjDwAApw8AAKwPAACwDwAAtQ8AALkPAAC9DwAAwg8AAMYPAADKDwAAzw8AANMPAADXDwAA3A8AAOAPAADlDwAA6Q8AAO0PAADyDwAA9g8AAPoPAAD/DwAAAxAAAAcQAAAMEAAAEBAAABQQAAAZEAAAHRAAACEQAAAmEAAAKhAAAC4QAAAzEAAANxAAADsQAABAEAAARBAAAEgQAABNEAAAURAAAFUQAABaEAAAXhAAAGIQAABnEAAAaxAAAG8QAABzEAAAeBAAAHwQAACAEAAAhRAAAIkQAACNEAAAkhAAAJYQAACaEAAAnhAAAKMQAACnEAAAqxAAALAQAAC0EAAAuBAAALwQAADBEAAAxRAAAMkQAADOEAAA0hAAANYQAADaEAAA3xAAAOMQAADnEAAA6xAAAPAQAAD0EAAA+BAAAP0QAAABEQAABREAAAkRAAAOEQAAEhEAABYRAAAaEQAAHxEAACMRAAAnEQAAKxEAADARAAA0EQAAOBEAADwRAABAEQAARREAAEkRAABNEQAAUREAAFYRAABaEQAAXhEAAGIRAABmEQAAaxEAAG8RAABzEQAAdxEAAHwRAACAEQAAhBEAAIgRAACMEQAAkREAAJURAACZEQAAnREAAKERAACmEQAAqhEAAK4RAACyEQAAthEAALsRAAC/EQAAwxEAAMcRAADLEQAAzxEAANQRAADYEQAA3BEAAOARAADkEQAA6REAAO0RAADxEQAA9REAAPkRAAD9EQAAAhIAAAYSAAAKEgAADhIAABISAAAWEgAAGhIAAB8SAAAjEgAAJxIAACsSAAAvEgAAMxIAADcSAAA8EgAAQBIAAEQSAABIEgAATBIAAFASAABUEgAAWRIAAF0SAABhEgAAZRIAAGkSAABtEgAAcRIAAHUSAAB6EgAAfhIAAIISAACGEgAAihIAAI4SAACSEgAAlhIAAJoSAACfEgAAoxIAAKcSAACrEgAArxIAALMSAAC3EgAAuxIAAL8SAADDEgAAxxIAAMwSAADQEgAA1BIAANgSAADcEgAA4BIAAOQSAADoEgAA7BIAAPASAAD0EgAA+BIAAPwSAAABEwAABRMAAAkTAAANEwAAERMAABUTAAAZEwAAHRMAACETAAAlEwAAKRMAAC0TAAAxEwAANRMAADkTAAA9EwAAQRMAAEUTAABJEwAATRMAAFETAABVEwAAWhMAAF4TAABiEwAAZhMAAGoTAABuEwAAchMAAHYTAAB6EwAAfhMAAIITAACGEwAAihMAAI4TAACSEwAAlhMAAJoTAACeEwAAohMAAKYTAACqEwAArhMAALITAAC2EwAAuhMAAL4TAADCEwAAxhMAAMoTAADOEwAA0hMAANYTAADaEwAA3hMAAOITAADmEwAA6RMAAO0TAADxEwAA9RMAAPkTAAD9EwAAARQAAAUUAAAJFAAADRQAABEUAAAVFAAAGRQAAB0UAAAhFAAAJRQAACkUAAAtFAAAMRQAADUUAAA5FAAAPRQAAEAUAABEFAAASBQAAEwUAABQFAAAVBQAAFgUAABcFAAAYBQAAGQUAABoFAAAbBQAAHAUAABzFAAAdxQAAHsUAAB/FAAAgxQAAIcUAACLFAAAjxQAAJMUAACXFAAAmxQAAJ4UAACiFAAAphQAAKoUAACuFAAAshQAALYUAAC6FAAAvhQAAMEUAADFFAAAyRQAAM0UAADRFAAA1RQAANkUAADdFAAA4BQAAOQUAADoFAAA7BQAAPAUAAD0FAAA+BQAAPsUAAD/FAAAAxUAAAcVAAALFQAADxUAABMVAAAWFQAAGhUAAB4VAAAiFQAAJhUAACoVAAAtFQAAMRUAADUVAAA5FQAAPRUAAEEVAABEFQAASBUAAEwVAABQFQAAVBUAAFgVAABbFQAAXxUAAGMVAABnFQAAaxUAAG4VAAByFQAAdhUAAHoVAAB+FQAAgRUAAIUVAACJFQAAjRUAAJEVAACUFQAAmBUAAJwVAACgFQAApBUAAKcVAACrFQAArxUAALMVAAC3FQAAuhUAAL4VAADCFQAAxhUAAMkVAADNFQAA0RUAANUVAADYFQAA3BUAAOAVAADkFQAA6BUAAOsVAADvFQAA8xUAAPcVAAD6FQAA/hUAAAIWAAAGFgAACRYAAA0WAAARFgAAFBYAABgWAAAcFgAAIBYAACMWAAAnFgAAKxYAAC8WAAAyFgAANhYAADoWAAA+FgAAQRYAAEUWAABJFgAATBYAAFAWAABUFgAAWBYAAFsWAABfFgAAYxYAAGYWAABqFgAAbhYAAHEWAAB1FgAAeRYAAH0WAACAFgAAhBYAAIgWAACLFgAAjxYAAJMWAACWFgAAmhYAAJ4WAAChFgAApRYAAKkWAACsFgAAsBYAALQWAAC3FgAAuxYAAL8WAADCFgAAxhYAAMoWAADNFgAA0RYAANUWAADYFgAA3BYAAOAWAADjFgAA5xYAAOsWAADuFgAA8hYAAPYWAAD5FgAA/RYAAAAXAAAEFwAACBcAAAsXAAAPFwAAExcAABYXAAAaFwAAHRcAACEXAAAlFwAAKBcAACwXAAAwFwAAMxcAADcXAAA6FwAAPhcAAEIXAABFFwAASRcAAEwXAABQFwAAVBcAAFcXAABbFwAAXhcAAGIXAABmFwAAaRcAAG0XAABwFwAAdBcAAHgXAAB7FwAAfxcAAIIXAACGFwAAiRcAAI0XAACRFwAAlBcAAJgXAACbFwAAnxcAAKIXAACmFwAAqhcAAK0XAACxFwAAtBcAALgXAAC7FwAAvxcAAMIXAADGFwAAyRcAAM0XAADRFwAA1BcAANgXAADbFwAA3xcAAOIXAADmFwAA6RcAAO0XAADwFwAA9BcAAPcXAAD7FwAA/hcAAAIYAAAGGAAACRgAAA0YAAAQGAAAFBgAABcYAAAbGAAAHhgAACIYAAAlGAAAKRgAACwYAAAwGAAAMxgAADcYAAA6GAAAPhgAAEEYAABFGAAASBgAAEwYAABPGAAAUxgAAFYYAABaGAAAXRgAAGAYAABkGAAAZxgAAGsYAABuGAAAchgAAHUYAAB5GAAAfBgAAIAYAACDGAAAhxgAAIoYAACOGAAAkRgAAJQYAACYGAAAmxgAAJ8YAACiGAAAphgAAKkYAACtGAAAsBgAALMYAAC3GAAAuhgAAL4YAADBGAAAxRgAAMgYAADMGAAAzxgAANIYAADWGAAA2RgAAN0YAADgGAAA4xgAAOcYAADqGAAA7hgAAPEYAAD1GAAA+BgAAPsYAAD/GAAAAhkAAAYZAAAJGQAADBkAABAZAAATGQAAFxkAABoZAAAdGQAAIRkAACQZAAAoGQAAKxkAAC4ZAAAyGQAANRkAADgZAAA8GQAAPxkAAEMZAABGGQAASRkAAE0ZAABQGQAAUxkAAFcZAABaGQAAXRkAAGEZAABkGQAAaBkAAGsZAABuGQAAchkAAHUZAAB4GQAAfBkAAH8ZAACCGQAAhhkAAIkZAACMGQAAkBkAAJMZAACWGQAAmhkAAJ0ZAACgGQAApBkAAKcZAACqGQAArhkAALEZAAC0GQAAuBkAALsZAAC+GQAAwhkAAMUZAADIGQAAzBkAAM8ZAADSGQAA1RkAANkZAADcGQAA3xkAAOMZAADmGQAA6RkAAO0ZAADwGQAA8xkAAPYZAAD6GQAA/RkAAAAaAAAEGgAABxoAAAoaAAANGgAAERoAABQaAAAXGgAAGxoAAB4aAAAhGgAAJBoAACgaAAArGgAALhoAADEaAAA1GgAAOBoAADsaAAA+GgAAQhoAAEUaAABIGgAASxoAAE8aAABSGgAAVRoAAFgaAABcGgAAXxoAAGIaAABlGgAAaRoAAGwaAABvGgAAchoAAHYaAAB5GgAAfBoAAH8aAACDGgAAhhoAAIkaAACMGgAAjxoAAJMaAACWGgAAmRoAAJwaAACfGgAAoxoAAKYaAACpGgAArBoAALAaAACzGgAAthoAALkaAAC8GgAAwBoAAMMaAADGGgAAyRoAAMwaAADPGgAA0xoAANYaAADZGgAA3BoAAN8aAADjGgAA5hoAAOkaAADsGgAA7xoAAPIaAAD2GgAA+RoAAPwaAAD/GgAAAhsAAAUbAAAJGwAADBsAAA8bAAASGwAAFRsAABgbAAAcGwAAHxsAACIbAAAlGwAAKBsAACsbAAAuGwAAMhsAADUbAAA4GwAAOxsAAD4bAABBGwAARBsAAEgbAABLGwAAThsAAFEbAABUGwAAVxsAAFobAABdGwAAYRsAAGQbAABnGwAAahsAAG0bAABwGwAAcxsAAHYbAAB5GwAAfRsAAIAbAACDGwAAhhsAAIkbAACMGwAAjxsAAJIbAACVGwAAmBsAAJwbAACfGwAAohsAAKUbAACoGwAAqxsAAK4bAACxGwAAtBsAALcbAAC6GwAAvRsAAMEbAADEGwAAxxsAAMobAADNGwAA0BsAANMbAADWGwAA2RsAANwbAADfGwAA4hsAAOUbAADoGwAA6xsAAO4bAADyGwAA9RsAAPgbAAD7GwAA/hsAAAEcAAAEHAAABxwAAAocAAANHAAAEBwAABMcAAAWHAAAGRwAABwcAAAfHAAAIhwAACUcAAAoHAAAKxwAAC4cAAAxHAAANBwAADccAAA6HAAAPRwAAEAcAABDHAAARhwAAEkcAABMHAAATxwAAFIcAABVHAAAWBwAAFscAABeHAAAYRwAAGQcAABnHAAAahwAAG0cAABwHAAAcxwAAHYcAAB5HAAAfBwAAH8cAACCHAAAhRwAAIgcAACLHAAAjhwAAJEcAACUHAAAlxwAAJocAACdHAAAoBwAAKMcAACmHAAAqRwAAKwcAACvHAAAshwAALUcAAC4HAAAuxwAAL4cAADBHAAAwxwAAMYcAADJHAAAzBwAAM8cAADSHAAA1RwAANgcAADbHAAA3hwAAOEcAADkHAAA5xwAAOocAADtHAAA8BwAAPMcAAD1HAAA+BwAAPscAAD+HAAAAR0AAAQdAAAHHQAACh0AAA0dAAAQHQAAEx0AABYdAAAYHQAAGx0AAB4dAAAhHQAAJB0AACcdAAAqHQAALR0AADAdAAAzHQAANR0AADgdAAA7HQAAPh0AAEEdAABEHQAARx0AAEodAABNHQAATx0AAFIdAABVHQAAWB0AAFsdAABeHQAAYR0AAGQdAABmHQAAaR0AAGwdAABvHQAAch0AAHUdAAB4HQAAex0AAH0dAACAHQAAgx0AAIYdAACJHQAAjB0AAI4dAACRHQAAlB0AAJcdAACaHQAAnR0AAKAdAACiHQAApR0AAKgdAACrHQAArh0AALEdAACzHQAAth0AALkdAAC8HQAAvx0AAMIdAADEHQAAxx0AAModAADNHQAA0B0AANMdAADVHQAA2B0AANsdAADeHQAA4R0AAOMdAADmHQAA6R0AAOwdAADvHQAA8R0AAPQdAAD3HQAA+h0AAP0dAAD/HQAAAh4AAAUeAAAIHgAACx4AAA0eAAAQHgAAEx4AABYeAAAZHgAAGx4AAB4eAAAhHgAAJB4AACYeAAApHgAALB4AAC8eAAAyHgAANB4AADceAAA6HgAAPR4AAD8eAABCHgAARR4AAEgeAABKHgAATR4AAFAeAABTHgAAVR4AAFgeAABbHgAAXh4AAGAeAABjHgAAZh4AAGkeAABrHgAAbh4AAHEeAAB0HgAAdh4AAHkeAAB8HgAAfx4AAIEeAACEHgAAhx4AAIoeAACMHgAAjx4AAJIeAACUHgAAlx4AAJoeAACdHgAAnx4AAKIeAAClHgAAqB4AAKoeAACtHgAAsB4AALIeAAC1HgAAuB4AALoeAAC9HgAAwB4AAMMeAADFHgAAyB4AAMseAADNHgAA0B4AANMeAADVHgAA2B4AANseAADeHgAA4B4AAOMeAADmHgAA6B4AAOseAADuHgAA8B4AAPMeAAD2HgAA+B4AAPseAAD+HgAAAB8AAAMfAAAGHwAACB8AAAsfAAAOHwAAEB8AABMfAAAWHwAAGB8AABsfAAAeHwAAIB8AACMfAAAmHwAAKB8AACsfAAAuHwAAMB8AADMfAAA2HwAAOB8AADsfAAA9HwAAQB8AAEMfAABFHwAASB8AAEsfAABNHwAAUB8AAFMfAABVHwAAWB8AAFofAABdHwAAYB8AAGIfAABlHwAAaB8AAGofAABtHwAAbx8AAHIfAAB1HwAAdx8AAHofAAB8HwAAfx8AAIIfAACEHwAAhx8AAIofAACMHwAAjx8AAJEfAACUHwAAlx8AAJkfAACcHwAAnh8AAKEfAACkHwAAph8AAKkfAACrHwAArh8AALAfAACzHwAAth8AALgfAAC7HwAAvR8AAMAfAADDHwAAxR8AAMgfAADKHwAAzR8AAM8fAADSHwAA1R8AANcfAADaHwAA3B8AAN8fAADhHwAA5B8AAOYfAADpHwAA7B8AAO4fAADxHwAA8x8AAPYfAAD4HwAA+x8AAP0fAAAAIAAAAAAAAAAAAAAAAAAAEAAAABEAAAASAAAAAAAAAAgAAAAHAAAACQAAAAYAAAAKAAAABQAAAAsAAAAEAAAADAAAAAMAAAANAAAAAgAAAA4AAAABAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAAFAAAABQAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAA0AAAAPAAAAEQAAABMAAAAXAAAAGwAAAB8AAAAjAAAAKwAAADMAAAA7AAAAQwAAAFMAAABjAAAAcwAAAIMAAACjAAAAwwAAAOMAAAACAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAcAAAAJAAAADQAAABEAAAAZAAAAIQAAADEAAABBAAAAYQAAAIEAAADBAAAAAQEAAIEBAAABAgAAAQMAAAEEAAABBgAAAQgAAAEMAAABEAAAARgAAAEgAAABMAAAAUAAAAFgAAAAAAAAAAAAAAgAAAAIAAAABAAAAAQAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAQAAAAAAAAAAgAAAAAAAAABAAAAAAAAAAAAAAAIAAAACAAAAAgAAAAEAAAABAAAAAIAAAACAAAAAAAAAAAAAAAAAAAABAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAMAAAACAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAALAgAAKgIAAEsCAABuAgAAkwIAALoCAADkAgAAEAMAAD8DAABwAwAApAMAANgDAAAWBAAAAAAAAAAAAAAAAAAAxPwvAMT8LwDE/C8AxPwvAN51AQDgdQEA4nUBAOR1AQDmdQEA6HUBAOp1AQDsdQEA7nUBAPB1AQDydQEA9HUBAPZ1AQD4dQEA+nUBAPx1AQD+dQEAAHYBAAJ2AQAEdgEABnYBAAh2AQAKdgEADHYBAA52AQAQdgEAEnYBABR2AQAWdgEAGHYBABp2AQAcdgEAHnYBACB2AQAidgEAJHYBACZ2AQAtdgEANHYBAD52AQBCdgEASHYBAEp2AQBMdgEATnYBAFB2AQBWdgEAWHYBAFp2AQBcdgEAXnYBAFaTAQBgdgEAYnYBAGt2AQBudgEAcXYBAHR2AQB3dgEAenYBAH12AQCAdgEAg3YBAIZ2AQCKdgEAjnYBAJJ2AQCedgEAqXYBAK92AQC2dgEAu3YBAMJ2AQDJdgEAzXYBANZ2AQDcdgEA4XYBAOZ2AQDpdgEA8XYBAPp2AQADdwEADHcBABV3AQAidwEAK3cBADR3AQA9dwEARncBAE93AQBYdwEAYXcBAGp3AQBzdwEAfHcBAMT8LwCFdwEAkXcBAJd3AQCgdwEApHcBAKh3AQCsdwEAsHcBALR3AQC4dwEAvHcBAMB3AQDEdwEAyHcBAMx3AQDQdwEA2HcBAN13AQDidwEA6XcBAO53AQD0dwEA+XcBAP13AQACeAEACHgBAA14AQASeAEAG3gBAMT8LwDE/C8AxPwvACZ4AQAveAEAxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AQHgBAEl4AQBQeAEAV3gBAF14AQAmdgEAY3gBAG14AQBxeAEAdngBAIR4AQCKeAEAxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwCQeAEAmngBAKV4AQC4eAEAyXgBANZ4AQDmeAEA73gBAPh4AQABeQEACnkBABV5AQAmeQEAL3kBADh5AQBBeQEASnkBAFN5AQBceQEAZ3kBAHB5AQB5eQEAgnkBAIt5AQCUeQEAnnkBAKd5AQCxeQEAunkBAMN5AQDQeQEA2XkBAOJ5AQDyeQEAA3oBABN6AQAhegEANHoBAEd6AQBYegEAY3oBAHB6AQCCegEAkHoBAJ16AQCsegEAxPwvAMT8LwC/egEAyXoBANR6AQDdegEA5noBAPF6AQD9egEAB3sBAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwARewEAHHsBACZ7AQAwewEAOnsBAER7AQBOewEAWnsBAF57AQBjewEAbnsBAHd7AQCBewEAiXsBAJF7AQCcewEApHsBAK97AQC8ewEAy3sBANh7AQDmewEA9XsBAAJ8AQANfAEAE3wBABl8AQAefAEAI3wBAC98AQDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDilogAAAAA4paSAAAAAPCfkLEAAADirIfvuI8A4paRAAAAAOKcvQAAAADil48AAAAA4pmlAAAAAOKYiQAAAADsm4MAAAAA4oyCAAAAAOKshe+4jwDwn5iQAAAA4pmqAAAAAPCfhb7vuI/il4YAAAAA4oCmAAAAAOKeoe+4jwDimIUAAAAA4qeXAAAAAOKshu+4jwDLhwAAAAAA4oinAAAAAOKdjgAAAADilqQAAAAA4palAAAAAOKWrgAAAADilqAAAAAA4pahAAAAAOKBmQAAAADigZgAAAAA4oCWAAAAAOKXgAAAAADilrYAAAAA44CMAAAAAOOAjQAAAADCpQAAAAAA4oCiAAAAAOOAgQAAAADjgIIAAAAA44KbAAAAAOOCnAAAAADil5wAAAAA4pedAAAAAPCdmKIAAADwnZijAAAA8J2YpAAAAPCdmKUAAADwnZimAAAA8J2YpwAAAPCdmKgAAADwnZipAAAA8J2YqgAAAPCdmKsAAADwnZisAAAA8J2YrQAAAPCdmK4AAADwnZivAAAA8J2YsAAAAPCdmLEAAADwnZiyAAAA8J2YswAAAPCdmLQAAADwnZi1AAAA8J2YtgAAAPCdmLcAAADwnZi4AAAA8J2YuQAAAPCdmLoAAADwnZi7AAAAAAAAAAAAsIHiALnCAACywgAAs8IAALSB4gC1geIAtoHiALeB4gC4geIAuYHiAIO14QCHteEAnLbhAIi14QCJteEAoLbhAIKBAACEgQAAhoEAAIiBAACKgQAAi4EAAI2BAACPgQAAkYEAAJOBAACVgQAAl4EAAJmBAACbgQAAnYEAAJ+BAAChgQAApIEAAKaBAACogQAAqoEAAKuBAACsgQAArYEAAK6BAACvgQAAsoEAALWBAAC4gQAAu4EAAL6BAAC/gQAAgIIAAIGCAACCggAAhIIAAIaCAACIggAAiYIAAIqCAACLggAAjIIAAI2CAACPggAAkoIAAJOCAACjgQAAg4IAAIWCAACHggAAAAAAAAAAAACiggAApIIAAKaCAACoggAAqoIAAKuCAACtggAAr4IAALGCAACzggAAtYIAALeCAAC5ggAAu4IAAL2CAAC/ggAAgYMAAISDAACGgwAAiIMAAIqDAACLgwAAjIMAAI2DAACOgwAAj4MAAJKDAACVgwAAmIMAAJuDAACegwAAn4MAAKCDAAChgwAAooMAAKSDAACmgwAAqIMAAKmDAACqgwAAq4MAAKyDAACtgwAAr4MAALKDAACzgwAAg4MAAKODAAClgwAAp4MAAAAAAAAAAAAAiwMAAIQDAAB+AwAAdwMAAHEDAABrAwAAZAMAAF4DAABYAwAAUgMAAEwDAABGAwAAQAMAADoDAAA0AwAALgMAACgDAAAiAwAAHAMAABcDAAARAwAACwMAAAYDAAAAAwAA+gIAAPUCAADwAgAA6gIAAOUCAADgAgAA2gIAANUCAADQAgAAywIAAMUCAADAAgAAuwIAALYCAACxAgAArAIAAKYCAACjAgAAngIAAJkCAACUAgAAjwIAAIsCAACGAgAAgAIAAHwCAAB4AgAAdAIAAG8CAABrAgAAZgIAAGICAABcAgAAWQIAAFUCAABQAgAATAIAAEgCAABEAgAAPwIAADoCAAA3AgAAMwIAAC8CAAArAgAAJwIAACMCAAAfAgAAGgIAABcCAAAUAgAAEAIAAAwCAAAIAgAABAIAAAECAAD8AQAA+QEAAPYBAADyAQAA7gEAAOsBAADnAQAA5AEAAOABAADdAQAA2gEAANYBAADTAQAAzwEAAMwBAADJAQAAAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzTAAAAABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRv////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAACgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAHhdHQAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAK/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////8iIgIA9gEAABmTDQoaCgAAfQYAAP/////vvq3eZ0UjAQEAAAD/////CQAAAO++rd5nRSMBh3QBAP////8ABAAAAQAAAAAAPAABAAAAAQAAAIAAAACAAAAAsIYAALCGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIj8LwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX3CJAP8JLw9WkwEAxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8Af39/f39/f39/f39/f38AAHJvb3RfcGF0aABjZGF0YV9wYXRoAGpveXN0aWNrX2luZGV4AGJ1dHRvbl9rZXlzACAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZABsaXZlX25vdGVzAGN1cnNvcl9zbmFwAGd1aV90aGVtZQBzaGlmdF9nbHlwaHMAc2hvd19iYWNrdXBfbWVzc2FnZXMAaG9zdF9mcmFtZXJhdGVfY29udHJvbABjb250ZW50X2ZpbHRlcgByZWNvcmRfYWN0aXZpdHlfbG9nAGFsbG93X2Z1bmN0aW9uX2tleXMAY2hlY2tfZm9yX2NhcnRfdXBkYXRlcwBlbmFibGVfZ3BpbwBmbGlwX2FtcGVyc2FuZABhdXRvX2hpZGVfbW91c2VfY3Vyc29yAGFnZ3Jlc3NpdmVfYmFja3VwcwBwZXJpb2RpY19iYWNrdXBzAHRyYW5zZm9ybV9zY3JlZW4AZ2Z4X2dyaWRfbGluZXMAdmVyc2lvbiAlcwoKADAuMi41ZwAvLyBhdWRpbyB2b2x1bWU6IDAuLjI1NiAKAHZvbHVtZSAlZAoKAAovLyBMb2NhdGlvbiBvZiBwaWNvLTgncyByb290IGZvbGRlcgoAcm9vdF9wYXRoICVzCgoACi8vIExvY2F0aW9uIG9mIGNhcnRyaWRnZSBzYXZlIGRhdGEKAGNkYXRhX3BhdGggJXMKCgAKLy8gU3BlY2lmeSB3aGljaCBwbGF5ZXIgaW5kZXggam95c3RpY2sgY29udHJvbCBiZWdpbnMgYXQgKDAuLjcpCgBqb3lzdGlja19pbmRleCAlZAoKAAovLyBDdXN0b20ga2V5Ym9hcmQgc2NhbmNvZGVzIGZvciBidXR0b25zLiBwbGF5ZXIwIDAuLjYsIHBsYXllcjEgMC4uNQoAYnV0dG9uX2tleXMgACVkIAAKCgAvLyBQbGF5IG5vdGVzIGFzIHRoZXkgYXJlIHBsb3R0ZWQgaW4gZnJlcXVlbmN5IG1vZGUKAGxpdmVfbm90ZXMgJWQKCgAvLyBpZmYgMTogd2hlbiB1c2luZyBrZXlib2FyZCBjdXJzb3IsIHNuYXAgdG8gY2xvc2VzdCBwaXhlbCAvIG1hcCBjZWwKAGN1cnNvcl9zbmFwICVkCgoALy8gMCBkZWZhdWx0ICAxIGRhcmsgYmx1ZSBiYWNrZ3JvdW5kIGluIGNvZGUgZWRpdG9yICAyIGJsYWNrIGJhY2tncm91bmQgaW4gY29kZSBlZGl0b3IgICAzIGdyYXkgYmFja2dyb3VuZCBpbiBjb2RlIGVkaXRvciAgIAoAZ3VpX3RoZW1lICVkCgoALy8gc2NhbGUgb2Ygc2NyZWVuc2hvdHMgYW5kIGdpZnMgLy8gMiBtZWFucyAyNTZ4MjU2CgBzY3JlZW5zaG90X3NjYWxlICVkCgBnaWZfc2NhbGUgJWQKCgAvLyBtYXhpbXVtIGdpZiBsZW5ndGggaW4gc2Vjb25kcyAoMC4uMTIwOyAwIG1lYW5zIG5vIGdpZiByZWNvcmRpbmcpCgBnaWZfbGVuICVkCgoALy8gd2hlbiAxLCByZXNldCB0aGUgcmVjb3JkaW5nIHdoZW4gcHJlc3NpbmcgY3RybC05ICh1c2VmdWwgZm9yIGNyZWF0aW5nIGEgbm9uLW92ZXJsYXBwaW5nIHNlcXVlbmNlKQoAZ2lmX3Jlc2V0X21vZGUgJWQKCgAvLyAwIGZvciBvZmYuIDEgZm9yIGF1dG8uIDIgdG8gYWxsb3cgY29udHJvbCBvZiBhIGNhcnQncyBmcmFtZXJhdGUgZHVlIHRvIGhvc3QgbWFjaGluZSdzIGNwdSBjYXBhY2l0eQoAaG9zdF9mcmFtZXJhdGVfY29udHJvbCAlZAoKAC8vIGZpbHRlciBzcGxvcmUgY2FydHJpZGdlcwoALy8gMCBvZmYgICAxIG9uIChleGNsdWRlIGNhcnRyaWRnZSB0YWdnZWQgYXMgJ21hdHVyZScgYnkgY29tbXVuaXR5KQoAc3Bsb3JlX2ZpbHRlciAlZAoKAC8vIHRhYiBkaXNwbGF5IHdpZHRoICgxIH4gNCBzcGFjZXMpCgB0YWJfd2lkdGggJWQKCgAvLyAwIG9mZiAxIG9uOiBkcmF3IHRhYiBjaGFyYWN0ZXJzIGFzIHNtYWxsIHZlcnRpY2FsIGxpbmVzCgBkcmF3X3RhYnMgJWQKCgAvLyAwIG9mZiAxIG9uOiByZWNvcmQgdGhlIGN1cnJlbnQgY2FydHJpZGdlIGFuZCBlZGl0b3IgdmlldyBldmVyeSAzIHNlY29uZHMgKHNlZSBbYXBwZGF0YV0vYWN0aXZpdHkubG9nLnR4dCkKAHJlY29yZF9hY3Rpdml0eV9sb2cgJWQKCgAvLyAwIG9mZiAxIG9uOiBhbGxvdyBGNi4uRjkgKGFsdGVybmF0aXZlOiBjdHJsIDYuLjkpCgBhbGxvd19mdW5jdGlvbl9rZXlzICVkCgoALy8gMCBvZmYgMSBvbjogYXV0b21hdGljYWxseSBjaGVjayBmb3IgYSBuZXdlciB2ZXJzaW9uIG9mIGEgQkJTIGNhcnQgZWFjaCB0aW1lIGl0IGlzIHJ1bi4KAGNoZWNrX2Zvcl9jYXJ0X3VwZGF0ZXMgJWQKCgBmbGlwX2FtcGVyc2FuZCAxCgoALy8gaGlkZSBtb3VzZSBjdXJzb3IgZm9yIG4gc2Vjb25kcyB3aGVuIHR5cGluZy4KAGF1dG9faGlkZV9tb3VzZV9jdXJzb3IgJWQKCgAvLyAwIG9mZiAxIG9uOiBiYWNrdXAgd2l0aCBhIG5ldyB0aW1lc3RhbXBlZCBmaWxlbmFtZSBvbiBldmVyeSBydW4KAC8vIG5vcm1hbGx5IG5vdCBuZWVkZWQgLS0gd2FzIHVzZWQgZm9yIGRlYnVnZ2luZyBjcmFzaC1vbi1ydW4KAGFnZ3Jlc3NpdmVfYmFja3VwcyAlZAoKAC8vIGJhY2sgdXAgY2FydHJpZGdlIGluIGVkaXRvciBldmVyeSBuIG1pbnV0ZXMgd2hlbiBub3QgaWRsZSAoMCBmb3Igbm8gcGVyaW9kaWMgYmFja3VwcykKAHBlcmlvZGljX2JhY2t1cHMgJWQKCgAvLyBnbG9iYWwgc2NyZWVuIHRyYW5zZm9ybWF0aW9uczoKAC8vICAxMjkgZmxpcCBob3Jpem9udGFsbHkKAC8vICAxMzAgZmxpcCB2ZXJ0aWNhbGx5CgAvLyAgMTMzIHJvdGF0ZSBDVyA5MCBkZWdyZWVzCgAvLyAgMTM0IHJvdGF0ZSBDVyAxODAgZGVncmVlcwoALy8gIDEzNSByb3RhdGUgQ1cgMjcwIGRlZ3JlZXMKAHRyYW5zZm9ybV9zY3JlZW4gJWQKCgAvLyAwIG9mZiAgPiAxOiBjb2xvdXIgdG8gZHJhdyBwaXhlbCBncmlkIGluIHRoZSBnZnggZWRpdG9yIGF0IHpvb206OCBhbmQgem9vbTo0ICgxNiBmb3IgYmxhY2spCgBnZnhfZ3JpZF9saW5lcyAlZAoKAHtjaWlpID0gJDA7IGlpaSA9IDA7fQAie2lpaSA9IGlpaSsxOyByZXR1cm4gX2NhcnRuYW1lW2NpaWldLmNoYXJDb2RlQXQoaWlpLTEpOyB9IgBbY29kb10gYmJzX3dnZXRfb25sb2FkIDo6IHJlY2VpdmVkLiBwcmVwYXJpbmcgdG8gcnVuLiBwc3RhdGUuY3VycmVudF9maWxlbmFtZSAlcyBhcHAuYXJndl9maWxlbmFtZSAlcwoAd3JvdGUgbGVuOiAlZAoAL2Jicy9nZXRfY2FydC5waHAAbGlkPQBmaWxlbmFtZV9ub3RfZm91bmQucDgucG5nAGJic193Z2V0X29ubG9hZDogc2V0IGN1cnJlbnRfZmlsZW5hbWUgdG8gJXMgKGRlcml2ZWQgZnJvbSAlcykKAGNvdWxkIG5vdCBmZXRjaCBjYXJ0ACJ7IGlmICh0eXBlb2YgX2NhcnRkYXQgIT09J3VuZGVmaW5lZCcpIHJldHVybiAxOyByZXR1cm4gMDt9IgAie3JldHVybiBfY2FydGRhdC5sZW5ndGggLyAzMjc2OH0iACJ7IF9jZHBvcz1fY2Rwb3MrMTsgcmV0dXJuIF9jYXJ0ZGF0W19jZHBvcy0xXTsgfSIAc3RhcnRpbmcgZG93bmxvYWQKAGxvYWRpbmcgZW1iZWRkZWQgY2FydHJpZGdlCgBqb3lzdGljawBnbG9iYWxfYXBpAGtpb3NrAGdwaW9fYmFzZQBnbGl0Y2hfdGVzdAB4AGV4ZWMAcGFyYW0AcABhY2NlcHRfZnV0dXJlAHR2X2ZyYW1lAGRpc3BsYXlzX3gAZGlzcGxheXNfeQBpAG8AdXJsX2NvZGUAdXJsX2dmeABjaWQAbGV0IHN0YXRlT2JqID0geyBsb2FkX3BhcmFtX2RhdGEgOiBmYWxzZSB9OyBoaXN0b3J5LnB1c2hTdGF0ZShzdGF0ZU9iaiwgIlBJQ08tOCIsICI/Iik7AGZ1bmN0aW9uIG1rZGlyXzAoZCkgeyB0cnkgeyBzdGF0ID0gRlMuc3RhdChkKTsgfSBjYXRjaCAoZSkgeyBGUy5ta2RpcihkKTsgfSB9IG1rZGlyXzAoJy91c2VyX2RhdGEnKTsgRlMubW91bnQoSURCRlMsIHt9LCAnL3VzZXJfZGF0YScpOyBGUy5zeW5jZnModHJ1ZSwgZnVuY3Rpb24gKGVycikgeyBpZiAoIWVycikgeyBjb25zb2xlLmxvZygiY29kbzogbW91bnRlZCBmaWxlc3lzdGVtLlxuIik7IGNvZG9fbW91bnRlZF9maWxlc3lzdGVtID0gMTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9jZGF0YScpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2NzdG9yZScpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2NhcnRzJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvYmFja3VwJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvcGxhdGVzJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvYmJzJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvYmJzL2NhcnRzJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvYmJzL2xhYmVscycpOyB9IGVsc2UgeyBjb25zb2xlLmxvZygiKiogY291bGQgbm90IG1vdW50IGZpbGVzeXN0ZW1cbiIpOyBjb25zb2xlLmxvZyhlcnIpOyB9IH0gKTsAL3VudGl0bGVkLnA4AC91bnRpdGxlZF8lZC5wOAAieyBNb2R1bGUucGljbzhSZXNldCA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSAxO30gOyBNb2R1bGUucGljbzhUb2dnbGVTb3VuZCA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSAzO30gOyBNb2R1bGUucGljbzhUb2dnbGVQYXVzZWQgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gNDsgfSA7IE1vZHVsZS5waWNvOFNldFBhdXNlZCA9IGZ1bmN0aW9uKHApIHsgY29kb19jb21tYW5kID0gNTsgY29kb19jb21tYW5kX3AgPSAwOyBpZiAocCkgY29kb19jb21tYW5kX3A9MTt9IDsgTW9kdWxlLnBpY284VG9nZ2xlQ29udHJvbE1lbnUgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gNzt9IDsgTW9kdWxlLnBpY284RHJhZ092ZXIgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gMTA7fSA7IE1vZHVsZS5waWNvOERyYWdTdG9wID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDExO30gOyB9IgBjYXJ0cy8AY2RhdGEvAHBpY284LmRhdABkYXRhLnBvZABSVU5OSU5HOiAlcwoAY291bGRuJ3QgbG9hZCAlcwoAY291bGQgbm90IGxvYWQgJXMKAC4vAHt2YXIgdmFsPTA7IGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuaW5kZXhPZigid2lkZ2V0LnBocCIpID49IDApIHZhbD0xOyByZXR1cm4gdmFsO30Ae3ZhciB2YWw9MDsgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKCJwaWNvLTgucGhwIikgPj0gMCkgdmFsPTE7IHJldHVybiB2YWw7fQBhIG5ldyB2ZXJzaW9uIG9mIHRoaXMAY2FydHJpZGdlIGlzIGF2YWlsYWJsZQAlMDJkAGRpcmVjdG9yeTogLwBkaXJlY3Rvcnk6ICVzAG5vdCBmb3VuZAAtLW1vcmUtLQBjb250aW51ZQByZXNldCBjYXJ0AHNvdW5kOm9uAHNvdW5kOm9mZgB2b2x1bWU6IDAxMjM0NTY3AHVwZGF0ZSBjYXJ0AHNraXAAc291bmQgb2ZmIChjdHJsLW0pAHNvdW5kIG9uIChjdHJsLW0pAGRvd25sb2FkIHRpbWVkIG91dABkb3dubG9hZGluZy4uIGNhbmNlbGxlZAAubmZvAC90ZW1wLQBjb3VsZCBub3QgZmluZCBjYXJ0AGRvd25sb2FkaW5nLi4gb2sAbG9hZGVkICMlcyAoJWQgY2hhcnMpAGNvdWxkIG5vdCBjb25uZWN0IHRvIGJicwBmdXR1cmUgdmVyc2lvbi4gcGxlYXNlIHVwZGF0ZSEAIHZvbHVtZTogICAgICAgICAgICAgIChjdHJsLS8rKQB7IGlmICh0eXBlb2YgcGljbzhfc3RhdGUgIT09ICd1bmRlZmluZWQnKXsgcGljbzhfc3RhdGUuaXNfcGF1c2VkID0gJDA7IHBpY284X3N0YXRlLnNvdW5kX3ZvbHVtZSA9ICQxOyBwaWNvOF9zdGF0ZS5mcmFtZV9udW1iZXIgPSAkMjsgcGljbzhfc3RhdGUuaGFzX2ZvY3VzID0gJDM7IHBpY284X3N0YXRlLnNob3dfZHBhZCA9ICQ0OyBwaWNvOF9zdGF0ZS5yZXF1ZXN0X3BvaW50ZXJfbG9jayA9ICQ1OyBwaWNvOF9zdGF0ZS5yZXF1aXJlX3BhZ2VfbmF2aWdhdGVfY29uZmlybWF0aW9uID0gJDY7IHBpY284X3N0YXRlLnNodXRkb3duX3JlcXVlc3RlZCA9ICQ3OyB9IH0AInt2YXIgdmFsPTA7IGlmICh0eXBlb2YgY29kb19jb21tYW5kICE9PSAndW5kZWZpbmVkJykge3ZhbD1jb2RvX2NvbW1hbmQ7IGNvZG9fY29tbWFuZD0wO30gcmV0dXJuIHZhbH0iACJ7dmFyIHZhbD0wOyBpZiAodHlwZW9mIGNvZG9fY29tbWFuZF9wICE9PSAndW5kZWZpbmVkJykge3ZhbD1jb2RvX2NvbW1hbmRfcDsgY29kb19jb21tYW5kX3A9MDt9IHJldHVybiB2YWx9IgAie2J1dHRvbl9pID0gMH0iACJ7dmFyIHZhbD0tMTsgaWYgKHR5cGVvZiBwaWNvOF9idXR0b25zICE9PSAndW5kZWZpbmVkJykge3ZhbCA9IHBpY284X2J1dHRvbnNbYnV0dG9uX2ldOyBidXR0b25faSArKzt9IHJldHVybiB2YWw7fSIAInt2YXIgdmFsID0gMDsgaWYgKHR5cGVvZiBwaWNvOF9nYW1lcGFkcyAhPT0gJ3VuZGVmaW5lZCcpIHt2YWwgPSBwaWNvOF9nYW1lcGFkcy5jb3VudDt9IHJldHVybiB2YWw7fSIAKiogZmFpbGVkIHRvIHNhdmUgc2NyZWVuc2hvdABzZXQgdmlkZW8gc3RhcnRpbmcgcG9pbnQAbm8gdmlkZW8gcmVjb3JkZWQgKHJlYzogY3RybC04KQAqKiBmYWlsZWQgdG8gc2F2ZSB2aWRlbwBqb3lzdGljayAlZCBjb25uZWN0ZWQAam95c3RpY2sgJWQgZGlzY29ubmVjdGVkAGlmICh0eXBlb2Ygb25fbW9kdWxlX2xvYWQgIT09ICd1bmRlZmluZWQnKSB7IGlmIChvbl9tb2R1bGVfbG9hZCkgb25fbW9kdWxlX2xvYWQoKTsgfQBjb3VsZCBub3Qgb3BlbiBmaWxlIHRvIHNhdmUgZnJvbSB3ZWI6ICVzCgB7IGRvd25sb2FkX2Jyb3dzZXJfZmlsZShVVEY4VG9TdHJpbmcoJDAsICQxKSwgVVRGOFRvU3RyaW5nKCQyLCAkMykpOyB9AGRhdGE6aW1hZ2UvJXM7YmFzZTY0LAB7IGlmICh0eXBlb2YgcDhpbWcgIT09ICd1bmRlZmluZWQnKSB7IHA4aW1nLnNyYz0iIjsgfSBwOGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOyBwOGltZy5zcmMgPSBVVEY4VG9TdHJpbmcoJDAsICQxKTsgcDhpbWcuc3R5bGUgPSAnd2lkdGg6MTI4cHg7IGhlaWdodDoxMjhweDsgaW1hZ2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQ7IC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IG5lYXJlc3QtbmVpZ2hib3I7JzsgaWYgKHR5cGVvZiBwOGltZ2hvbGRlciA9PT0gJ3VuZGVmaW5lZCcgfHwgIXA4aW1naG9sZGVyKXsgcDhpbWdob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgcDhpbWdob2xkZXIuc3R5bGUuY3NzVGV4dCA9ICdtaW4td2lkdGg6MTYwcHg7IGRpc3BsYXk6dGFibGU7IHBvc2l0aW9uOmZpeGVkOyB0b3A6MjBweDsgbGVmdDoyMHB4OyBwYWRkaW5nOjEycHg7IGJhY2tncm91bmQtY29sb3I6IzAwMDsgYm94LXNoYWRvdzogMnB4IDJweCA4cHggcmdiYSgxNiwgMCwgNDgsIDAuNCk7JzsgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwOGltZ2hvbGRlcik7IH0gaWYgKHA4aW1naG9sZGVyKSB7IHdoaWxlIChwOGltZ2hvbGRlci5jaGlsZEVsZW1lbnRDb3VudCA+IDApIHA4aW1naG9sZGVyLnJlbW92ZUNoaWxkKHA4aW1naG9sZGVyLmZpcnN0Q2hpbGQpOyB2YXIgZGlzbWlzcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBkaXNtaXNzLnN0eWxlLmNzc1RleHQgPSAnZGlzcGxheTp0YWJsZTsgZm9udC1zaXplOjEwcHQ7IGNvbG9yOiNmZmY7IHBhZGRpbmc6NHB4OyBjdXJzb3I6cG9pbnRlcjsgbWFyZ2luLWxlZnQ6MTBweDsgZmxvYXQ6cmlnaHQnOyBkaXNtaXNzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgcDhpbWcuc3JjPSIiOyB3aGlsZSAocDhpbWdob2xkZXIuY2hpbGRFbGVtZW50Q291bnQgPiAwKSBwOGltZ2hvbGRlci5yZW1vdmVDaGlsZChwOGltZ2hvbGRlci5maXJzdENoaWxkKTsgcDhpbWdob2xkZXIuc3R5bGUuZGlzcGxheT0ibm9uZSI7IH0sIGZhbHNlKTsgZGlzbWlzcy5pbm5lckhUTUwgPSAnWCc7IHA4aW1naG9sZGVyLmFwcGVuZENoaWxkKGRpc21pc3MpOyBwOGltZ2hvbGRlci5hcHBlbmRDaGlsZChwOGltZyk7IHZhciBpbmZvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7IGluZm8uaW5uZXJIVE1MID0gJzxicj4gPGZvbnQgc3R5bGU9ImNvbG9yOiNiYmI7IGZvbnQtc2l6ZTo4cHQiPjxjZW50ZXI+IChyaWdodC1jbGljayB0byBzYXZlKSA8L2NlbnRlcj48L2ZvbnQ+JzsgcDhpbWdob2xkZXIuYXBwZW5kQ2hpbGQoaW5mbyk7IGlmIChwOGltZ2hvbGRlci5zdHlsZS5kaXNwbGF5ID09ICJub25lIikgcDhpbWdob2xkZXIuc3R5bGUuZGlzcGxheSA9ICIiOyB9IH0AY291bGQgbm90IGNvbXByZXNzIGNvZGUKAGhleGR1bXAgJWQgYnl0ZXMgdG8gY2xpcGJvYXJkAHdyaXRpbmcgJWQgYnl0ZXMgKGNvZGUgb25seSkAd3JpdGluZyAlZCBieXRlcwAlMngAbG9hZGluZyBmdXR1cmUgY2FydCB2ZXJzaW9uAGZ1dHVyZSB2ZXJzaW9uOiAlZABjYXJ0cmlkZ2UgZGF0YSBpcyBjb3JydXB0ZWQAJXMlcy5wOCVzAC5yb20AJXMlcyVzLnA4AHVudGl0bGVkAGJhY2t1cC8AJTRkJTAyZCUwMmRfJTAyZCUwMmQlMDJkXwBwcm9ncmFtIG92ZXIgc2l6ZSBsaW1pdAoAY29tcHJlc3NlZCBjb2RlIHNpemUgdG9vIGxhcmdlCgAlZCAvICVkIGJ5dGVzAHdhcm5pbmc6IGNvbXByZXNzZWQgY29kZSB0b28gYmlnAHRvIGJlIGV4cG9ydGVkIG9yIHNhdmVkIGFzIHBuZwAoc2F2aW5nIC5wOCBhbnl3YXkpAGZsYXR0ZW5lZCAjaW5jbHVkZXMAKiogZmFpbGVkIHRvIHNhdmUgKioAL3VzZXJfZGF0YS9jc3RvcmUvJXMlcwBfXwBwcmVwYXJlX2xvYWRlZF9jYXJ0OiBsb29raW5nIGZvciBzYW5kYm94ZWQgY2FydCBwYXRjaDogJXMKACAgZm91bmQKACAgbm90IGZvdW5kCgB3YXJuaW5nOiBwb3NzaWJsZSBkZXByZWNhdGVkIEBAAGxlZ2FjeTogcGF0ICVkIHN3YXAgY2hhbjogJWQgJWQAcHJpbnQoImFyY2hlb3MiLDk4LDM0LDcpAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tIGxlZ2FjeSAwLjEuMSBhcGkgaW5qZWN0ZWQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIF92YWxpZGF0ZShjKSBpZiAoYy5fbnVtPT1uaWwpIHRoZW4gbG9jYWwgaT0wIHdoaWxlKGNbaSsxXX49bmlsKSBkbyBpPWkrMSBlbmQgYy5fbnVtPWkgYy5fbWF4PWkgCWMuX21pbj1pKzEgYy5fbnVtID0gaSBjLl9jaSA9IGkgZW5kIGVuZCAJZnVuY3Rpb24gZm9yZWFjaChjLCBmKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGVuZCBfdmFsaWRhdGUoYykgaWYgKGMuX21heCA9PSBuaWwpIHRoZW4gcmV0dXJuIGVuZCBmb3IgaT0xLGMuX21heCBkbyBpZiAoY1tpXSB+PSBuaWwpIHRoZW4gYy5fY2kgPSBpIGYoY1tpXSkgZW5kIGVuZCBlbmQgZnVuY3Rpb24gYWxsKGMpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZnVuY3Rpb24oKSBlbmQgZW5kIF92YWxpZGF0ZShjKSBsb2NhbCBpPTAgcmV0dXJuIGZ1bmN0aW9uKCkgaT1pKzEgd2hpbGUgKGNbaV09PW5pbCBhbmQgaTxjLl9tYXgpIGRvIGk9aSsxIGVuZCBpZiAoY1tpXSB+PSBuaWwpIHRoZW4gYy5fY2k9aSByZXR1cm4gY1tpXSBlbmQgZW5kIGVuZCBmdW5jdGlvbiBhZGQoYywgaSkgaWYgKGMgPT0gbmlsKSB0aGVuIHJldHVybiBlbmQgX3ZhbGlkYXRlKGMpIGZvciBqPWMuX21pbixjLl9tYXgrMSBkbyBpZiAoY1tqXSA9PSBuaWwpIHRoZW4gYy5fbWF4ID0gbWF4KGMuX21heCxqKSBjLl9taW4gPSBqKzEgYy5fbnVtID0gYy5fbnVtKzEgY1tqXT1pIHJldHVybiBpIGVuZCBlbmQgZW5kIGZ1bmN0aW9uIGNvdW50KGMpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gMCBlbmQgX3ZhbGlkYXRlKGMpIHJldHVybiBjLl9udW0gZW5kIGZ1bmN0aW9uIGRlbChjLGkpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZW5kIF92YWxpZGF0ZShjKSBpZiAoaT09bmlsKSB0aGVuIHJldHVybiBlbmQgaWYgKGMuX2NpPT1pKSB0aGVuIGNbYy5fY2ldPW5pbCBjLl9taW49bWluKGMuX21pbiwgYy5fY2kpIGMuX251bT1jLl9udW0tMSByZXR1cm4gZWxzZSBmb3Igaj0xLGMuX21heCBkbyBpZiAoY1tqXT09aSkgdGhlbiBjW2pdPW5pbCBjLl9taW49bWluKGMuX21pbixqKSBjLl9udW09Yy5fbnVtLTEgcmV0dXJuIGVuZCBlbmQgZW5kIHdoaWxlIChjLl9tYXg+MSBhbmQgY1tjLl9tYXhdPT1uaWwpIGRvIGMuX21heD1jLl9tYXgtMSBlbmQgZW5kICBuZD0wCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoAbGVnYWN5OiAwLjEuMSBhcGkgaW5qZWN0ZWQALmx1YQBwbGVhc2Ugc3BlZmljeSBhIGZpbGVuYW1lACoqKiBubyBmaWxlbmFtZS4gbm90IHNhdmVkISAqKioAY2FuIG5vdCBvdmVyd3JpdGUgYmJzIGNhcnQAKiBjYW4gbm90IG92ZXJ3cml0ZSBiYnMgY2FydCEgKgBzYXZlIGZhaWxlZAAqKioqIHNhdmUgZmFpbGVkICoqKioAc2F2ZWQgJXMlcyAqKnRlbXAgZGlzayoqAHNhdmVkICVzJXMlcyAqKnRlbXAgZGlzayoqACVzXyUlZC5wbmcAJXMucG5nAGZpbGUgb3V0cHV0IHBhdGg6ICVzCgBzYXZpbmcgc2NyZWVuc2hvdCB0bzogJXMKAHBuZwBtb3VudF9lbWJlZGRlZF9jYXJ0OiAlcyAoJWQgY2hhcnMpICVzCgAqKiBtb3VudF9lbWJlZGRlZF9jYXJ0OiBmYWlsZWQgdG8gbW91bnQAY291bGQgbm90IGxvYWQgY2FydHJpZGdlAGNhbiBub3QgbG9hZABwOG0ucG5nAHA4bS5wbmcgbm90IHN1cHBvcnRlZABpbWFnZSBpcyB0b28gbGFyZ2UgKDEyOCBtYXgpAGZpbGUgaXMgdG9vIGxhcmdlICgyNTZrIG1heCkAeyBqc1N0cmluZyA9IHA4X2Ryb3BwZWRfY2FydDsgaWYgKCFqc1N0cmluZykgcmV0dXJuIDA7IHZhciBsZW5ndGhCeXRlcyA9IGxlbmd0aEJ5dGVzVVRGOChqc1N0cmluZykrMTsgdmFyIHN0cmluZ09uV2FzbUhlYXAgPSBfbWFsbG9jKGxlbmd0aEJ5dGVzKTsgc3RyaW5nVG9VVEY4KGpzU3RyaW5nLCBzdHJpbmdPbldhc21IZWFwLCBsZW5ndGhCeXRlcyk7IHJldHVybiBzdHJpbmdPbldhc21IZWFwOyB9AHsganNTdHJpbmcgPSBwOF9kcm9wcGVkX2NhcnRfbmFtZTsgaWYgKCFqc1N0cmluZykgcmV0dXJuIDA7IHZhciBsZW5ndGhCeXRlcyA9IGxlbmd0aEJ5dGVzVVRGOChqc1N0cmluZykrMTsgdmFyIHN0cmluZ09uV2FzbUhlYXAyID0gX21hbGxvYyhsZW5ndGhCeXRlcyk7IHN0cmluZ1RvVVRGOChqc1N0cmluZywgc3RyaW5nT25XYXNtSGVhcDIsIGxlbmd0aEJ5dGVzKTsgcmV0dXJuIHN0cmluZ09uV2FzbUhlYXAyOyB9AGxvYWRpbmcgdXJsX3N0cjogJXMKAGJhc2U2NCwAQEAgdHJ5aW5nIHRvIGxvYWQgYXMgaW1hZ2UgJWQKAEBAIHNldHRpbmcgYXMgZHJvcHBlZCBpbWFnZTogJWQgJWQKAEBAIHRyeWluZyBhcyBkYXRhIGZpbGUuIGRhdF9mLT5sZW46ICVkCgBjb3VsZCBub3QgZmluZCBkcm9wcGVkIGZpbGUAaHR0cHM6Ly9waWNvLTgtZWR1LmNvbS8/Yz0AbGV0IHN0YXRlT2JqID0geyBsb2FkX3BhcmFtX2RhdGEgOiB0cnVlfTsgaGlzdG9yeS5wdXNoU3RhdGUoc3RhdGVPYmosICdQSUNPLTggVVJMIENhcnQnLCAnJXMnKTsAKiogZmFpbGVkOiB1cmwgaXMgdG9vIGxvbmcAJWQgLyAyMDQwIGNoYXJzAG5vIHZhbHVlAHVzZXJkYXRhAG51bWJlcgB0aHJlYWQAcHJvdG8AdXB2YWwAc3RhY2sgb3ZlcmZsb3cAQyBzdGFjayBvdmVyZmxvdwB0YWJsZSBvdmVyZmxvdwAnZm9yJyBpbml0aWFsIHZhbHVlIG11c3QgYmUgYSBudW1iZXIAJ2ZvcicgbGltaXQgbXVzdCBiZSBhIG51bWJlcgAnZm9yJyBzdGVwIG11c3QgYmUgYSBudW1iZXIAbk4AeFgAYkIAYXR0ZW1wdCB0byBjb21wYXJlIHR3byAlcyB2YWx1ZXMAYXR0ZW1wdCB0byBjb21wYXJlICVzIHdpdGggJXMAc3RyaW5nIGxlbmd0aCBvdmVyZmxvdwBjb25jYXRlbmF0ZQB1cHZhbHVlAGluZGV4AGF0dGVtcHQgdG8gbW9kaWZ5ICVzICclcycgKHN0cmluZ3MgYXJlIGltbXV0YWJsZSkAYXR0ZW1wdCB0byAlcyAlcyAnJXMnIChhICVzIHZhbHVlKQBhdHRlbXB0IHRvICVzIGEgJXMgdmFsdWUAX0VOVgBnbG9iYWwAZmllbGQAbWV0aG9kAGNvbnN0YW50ACUwLjVmAC45OTk5AC4wMDAwACUwLjNmACUwLjRmAGdldCBsZW5ndGggb2YAcGVyZm9ybSBhcml0aG1ldGljIG9uAHRhYmxlIGluZGV4IGlzIG5pbABtZW1vcnkgYWxsb2NhdGlvbiBlcnJvcjogYmxvY2sgdG9vIGJpZwBsb29wIGluIHNldHRhYmxlAGxvb3AgaW4gZ2V0dGFibGUAYXR0ZW1wdCB0byB5aWVsZCBhY3Jvc3MgYSBDLWNhbGwgYm91bmRhcnkAYXR0ZW1wdCB0byB5aWVsZCBmcm9tIG91dHNpZGUgYSBjb3JvdXRpbmUAY2FsbABbc3RyaW5nICIAIl0AJXMAMHgleABpbnZhbGlkIG9wdGlvbiAnJSUlYycgdG8gJ2x1YV9wdXNoZnN0cmluZycAZXJyb3IgaW4gZXJyb3IgaGFuZGxpbmcAYXR0ZW1wdCB0byBsb2FkIGEgJXMgY2h1bmsgKG1vZGUgaXMgJyVzJykAdGV4dABjb250cm9sIHN0cnVjdHVyZSB0b28gbG9uZwBsYWJlbHMvZ290b3MAbm8gdmlzaWJsZSBsYWJlbCAnJXMnIGZvciA8Z290bz4gYXQgbGluZSAlZCAodGFiICVkKQA8JXM+IGF0IGxpbmUgJWQgbm90IGluc2lkZSBhIGxvb3AAPGdvdG8gJXM+IGF0IGxpbmUgJWQgKHRhYiAlZCkganVtcHMgaW50byB0aGUgc2NvcGUgb2YgbG9jYWwgJyVzJwB0b28gbWFueSAlcyAobGltaXQgaXMgJWQpACVzOiVkOiAlcwBsZXhpY2FsIGVsZW1lbnQgdG9vIGxvbmcAJyVzJwAlcyBuZWFyICVzAEBAACclYycAOjoAPG51bWJlcj4APG5hbWU+ADxzdHJpbmc+ADxlb2w+AF5ePQBvcGNvZGVzACVzIGV4cGVjdGVkAEMgbGV2ZWxzAGZ1bmN0aW9uIG9yIGV4cHJlc3Npb24gdG9vIGNvbXBsZXgAKGZvciBpbmRleCkAKGZvciBsaW1pdCkAKGZvciBzdGVwKQAoZm9yIGdlbmVyYXRvcikAKGZvciBzdGF0ZSkAKGZvciBjb250cm9sKQAnPScgb3IgJ2luJyBleHBlY3RlZABsYWJlbCAnJXMnIGFscmVhZHkgZGVmaW5lZCBvbiBsaW5lICVkICh0YWIgJWQpAChmb3IgY29tcG91bmQpAHVuZXhwZWN0ZWQgc3ltYm9sAGZ1bmN0aW9uIGFyZ3VtZW50cyBleHBlY3RlZABpdGVtcyBpbiBhIGNvbnN0cnVjdG9yAGZ1bmN0aW9ucwBzZWxmADxuYW1lPiBvciAnLi4uJyBleHBlY3RlZABjb25zdGFudHMAbG9jYWwgdmFyaWFibGVzACVzIGV4cGVjdGVkICh0byBjbG9zZSAlcyBhdCBsaW5lICVkICh0YWIgJWQpKQBjYW5ub3QgdXNlICcuLi4nIG91dHNpZGUgYSB2YXJhcmcgZnVuY3Rpb24AZnVuY3Rpb24gYXQgbGluZSAlZCAodGFiICVkKQBtYWluIGZ1bmN0aW9uAHRvbyBtYW55ICVzIChsaW1pdCBpcyAlZCkgaW4gJXMAaW52YWxpZCBsb25nIHN0cmluZyBkZWxpbWl0ZXIAdW5maW5pc2hlZCBzdHJpbmcAaGV4YWRlY2ltYWwgZGlnaXQgZXhwZWN0ZWQAaW52YWxpZCBlc2NhcGUgc2VxdWVuY2UAZGVjaW1hbCBlc2NhcGUgdG9vIGxhcmdlAFh4AG1hbGZvcm1lZCBudW1iZXIAdW5maW5pc2hlZCBsb25nIGNvbW1lbnQAdW5maW5pc2hlZCBsb25nIHN0cmluZwBjaHVuayBoYXMgdG9vIG1hbnkgbGluZXMAdXB2YWx1ZXMAYmluYXJ5IHN0cmluZwB0cnVuY2F0ZWQAbm90IGEAdmVyc2lvbiBtaXNtYXRjaCBpbgBpbmNvbXBhdGlibGUAY29ycnVwdGVkACVzOiAlcyBwcmVjb21waWxlZCBjaHVuawBpbnZhbGlkIGtleSB0byAnbmV4dCcAc3RhY2sgdHJhY2ViYWNrOgAKCS4uLgBTbG50AAoJJXM6ACVkOgAgaW4gAGZ1bmN0aW9uICclcycAbWFpbiBjaHVuawBmdW5jdGlvbiA8JXM6JWQ+AAoJKC4uLnRhaWwgY2FsbHMuLi4pAD1bQ10APT8AbWFpbgBMdWEAZm9yIGl0ZXJhdG9yAG1ldGFtZXRob2QAYmFkIGFyZ3VtZW50ICMlZCAoJXMpAG4AY2FsbGluZyAnJXMnIG9uIGJhZCBzZWxmICglcykAYmFkIGFyZ3VtZW50ICMlZCB0byAnJXMnICglcykAU2wAJXM6JWQ6IAAlcyBleHBlY3RlZCwgZ290ICVzAHZhbHVlIGV4cGVjdGVkAG9iamVjdCBsZW5ndGggaXMgbm90IGEgbnVtYmVyAF9fdG9zdHJpbmcAJXM6ICVwAF9faW5kZXgAX19uZXdpbmRleABfX2djAF9fbW9kZQBfX2xlbgBfX2VxAF9fYWRkAF9fc3ViAF9fbXVsAF9fZGl2AF9fbW9kAF9fcG93AF9fYW5kAF9fb3IAX194b3IAX19zaGwAX19zaHIAX19sc2hyAF9fcm90bABfX3JvdHIAX19ub3QAX19pZGl2AF9fcGVlawBfX3BlZWsyAF9fcGVlazQAX191bm0AX19sdABfX2xlAF9fY29uY2F0AF9fY2FsbABfX21ldGF0YWJsZQBuaWwgb3IgdGFibGUgZXhwZWN0ZWQAY2Fubm90IGNoYW5nZSBhIHByb3RlY3RlZCBtZXRhdGFibGUAdGFibGUgb3Igc3RyaW5nIGV4cGVjdGVkAF9fcGFpcnMAX19pcGFpcnMAYXNzZXJ0aW9uIGZhaWxlZCEAaW5kZXggb3V0IG9mIHJhbmdlAGNvcm91dGluZSBleHBlY3RlZABjb3JvbGliOiB0b28gbWFueSBhcmd1bWVudHMgdG8gcmVzdW1lAGNvcm9saWI6IGNhbm5vdCByZXN1bWUgZGVhZCBjb3JvdXRpbmUAY29yb2xpYjogdG9vIG1hbnkgcmVzdWx0cyB0byByZXN1bWUAY2Fubm90IHJlc3VtZSBub24tc3VzcGVuZGVkIGNvcm91dGluZQBjYW5ub3QgcmVzdW1lIGRlYWQgY29yb3V0aW5lAHJ1bm5pbmcAc3VzcGVuZGVkAG5vcm1hbABkZWFkAHRvbyBtYW55IHJlc3VsdHMgdG8gdW5wYWNrAHVwbG9hZAB7IGlmICh0eXBlb2YgcGljbzhfc3RhdGUgIT09ICd1bmRlZmluZWQnKXsgaWYgKHR5cGVvZiBwaWNvOF9zdGF0ZS5zeXN0ZW1fbWVzc2FnZXMgPT09ICd1bmRlZmluZWQnKSBwaWNvOF9zdGF0ZS5zeXN0ZW1fbWVzc2FnZXMgPSBuZXcgQXJyYXkoKTsgcGljbzhfc3RhdGUuc3lzdGVtX21lc3NhZ2VzLnB1c2goVVRGOFRvU3RyaW5nKCQwLCAkMSkpOyB9IH0AX2VuZF9vZl9wcm9ncmFtAHRvIGNsb3NlICcAYXQgbGluZSAAJWQgKHRhYiAlZCkAdW5jbG9zZWQgJXMgYXQgbGluZSAlZCAodGFiICVkKQoAdW5jbG9zZWQgJXMALS0gcGljby04IGhlYWRlcgBhc3NlcnRpb24gZmFpbGVkAHBvc2l0aW9uIG91dCBvZiBib3VuZHMAbm90IGVub3VnaCBtZW1vcnkAPGVvZj4AdGhlbWUgAHRoZW1lAGJsdWUAc2V0IHRoZW1lIHRvIGJsdWUAYXV0bwBzZXQgdGhlbWUgdG8gYXV0bwBjbGFzc2ljAHNldCB0aGVtZSB0byBjbGFzc2ljAGNvbmZpZyB0aGVtZSBbdmFsdWVdAGF2YWlsYWJsZSB0aGVtZXM6AGRyYXdfdGFicyAAZHJhd190YWJzAHNob3dfdGFicyAAc2hvd190YWJzAG9uAHRhYiBjaGFyYWN0ZXJzIG9uAG9mZgB0YWIgY2hhcmFjdGVycyBvZmYAY29uZmlnIGRyYXdfdGFicyBbb24gfCBvZmZdAHdoZW4gb24sIHRhYiBjaGFyYWN0ZXJzIGFyZSAAZHJhd24gaW4gdGhlIGNvZGUgZWRpdG9yLgBjdXJyZW50IHNldHRpbmc6IG9uAGN1cnJlbnQgc2V0dGluZzogb2ZmAHNwbG9yZV9maWx0ZXIgAHNwbG9yZV9maWx0ZXIAZmlsdGVyIG9uAGZpbHRlciBvZmYAY29uZmlnIGZpbHRlciBbb24gfCBvZmZdAHdoZW4gb24sIGNhcnRyaWRnZXMgdGFnZ2VkIGFzAG1hdHVyZSB3aWxsIG5vdCBiZSBkb3dubG9hZGVkLgBmaWx0ZXIgaXMgY3VycmVudGx5OiBvbgBmaWx0ZXIgaXMgY3VycmVudGx5OiBvZmYAdm9sdW1lIABzZXQgdm9sdW1lOiAlZABjb25maWcgdm9sdW1lIFt2YWxdAHZhbDogOCBxdWlldCAuLiAyNTYgbG91ZABjdXJyZW50IHZvbHVtZTogJWQAZ2lmX2xlbiAAc2V0IGdpZl9sZW46ICVkAGdpZl9sZW4AY29uZmlnIGdpZl9sZW4gW3NlY29uZHNdAGN1cnJlbnQgZ2lmX2xlbjogJWQAZ2lmX3Jlc2V0X21vZGUgAHNldCBnaWZfcmVzZXRfbW9kZTogJWQAZ2lmX3Jlc2V0X21vZGUAY29uZmlnIGdpZl9yZXNldF9tb2RlIFttb2RlXQAgMDogZG9uJ3QgcmVzZXQgYWZ0ZXIgcmVjb3JkaW5nACAxOiByZXNldCBhZnRlciBlYWNoIHJlY29yZGluZwBjdXJyZW50IGdpZl9yZXNldF9tb2RlOiAlZABzZnhfZmlsdGVycyAAc2V0IHNmeF9maWx0ZXJzOiAlZABnaWZfc2NhbGUgAHNldCBnaWZfc2NhbGU6ICVkAGdpZl9zY2FsZQBjb25maWcgZ2lmX3NjYWxlIFtzaXplXQBjdXJyZW50IGdpZl9zY2FsZTogJWQAc2NyZWVuc2hvdF9zY2FsZSAAc2V0IHNjcmVlbnNob3Rfc2NhbGU6ICVkAHNjcmVlbnNob3Rfc2NhbGUAY29uZmlnIHNjcmVlbnNob3Rfc2NhbGUgW3NpemVdAGN1cnJlbnQgc2NyZWVuc2hvdF9zY2FsZTogJWQAdGFiX3dpZHRoIABzZXQgdGFiX3dpZHRoOiAlZAB0YWJfd2lkdGgAY29uZmlnIHRhYl93aWR0aCBbd2lkdGhdAGN1cnJlbnQgdGFiX3dpZHRoOiAlZABjb25maWcgW3NldHRpbmddAGF2YWlsYWJsZSBzZXR0aW5nczoAJWQvJWQgJTMuMWYgZnBzACVkLyVkICUxLjJmICUxLjJmAHJlc3VtZSgpAG5vdGhpbmcgdG8gcmVzdW1lAHN0YXQoNCkAIF9kcmF3AHByb2dyYW0gZXhjZWVkcyBjaGFyIGxpbWl0ACVkIC8gJWQgY2hhcnMKAHByb2dyYW0gdG9vIGxhcmdlACVkIC8gJWQgdG9rZW5zCgAtLSBwaWNvLTggaGVhZGVyCglkbyAJbG9jYWwgX3JlZnVuZF9jcHVfID0gX19yZWZ1bmRfY3B1X18gCWxvY2FsIF9wYWlycyA9IF9fcGFpcnNfXyAJbG9jYWwgX2lwYWlycyA9IF9faXBhaXJzX18gCWxvY2FsIF90eXBlID0gX190eXBlIAlsb2NhbCBfdG9zdHIgPSBfX3Rvc3RyIAlsb2NhbCBfc3RvcCA9IF9fc3RvcCAJbG9jYWwgX3ByaW50ID0gX19wcmludCAJbG9jYWwgX3ByaW50aCA9IF9fcHJpbnRoIAlsb2NhbCBfdG9zdHJpbmcgPSBfX3Rvc3RyaW5nX18gCWxvY2FsIF9sb2FkID0gX19sb2FkIAlsb2NhbCBfc3RhdCA9IHN0YXQgCWxvY2FsIF9leHRjbWQgPSBfX2V4dGNtZCAJbG9jYWwgX19tZW51aXRlbSA9IF9tZW51aXRlbSAJbG9jYWwgX3lpZWxkZWRfdG9fZXNjYXBlX3NsaWNlID0gX195aWVsZGVkX3RvX2VzY2FwZV9zbGljZSAJbG9jYWwgX2NvcmVzdW1lID0gX19jb3Jlc3VtZSAJbG9jYWwgX3NlbGVjdCA9IF9fc2VsZWN0IAlsb2NhbCBfc3VwZXJ5aWVsZCA9IF9fc3VwZXJ5aWVsZCAJbG9jYWwgX2xhc3RfbWVudWl0ZW1faW5kZXggPSAwIAlsb2NhbCBfbGFzdF9tZW51aXRlbV9jYWxsYmFjayA9IGZ1bmN0aW9uKCkgZW5kIAlsb2NhbCBfbWlkID0gbWlkIAlfcGF1c2VtZW51PV9wYXVzZW1lbnUgb3Ige30JZnVuY3Rpb24gbWVudWl0ZW0oaW5kZXgsIGxhYmVsLCBjYWxsYmFjaykgCQlpbmRleCA9IGluZGV4IG9yIF9sYXN0X21lbnVpdGVtX2luZGV4IAkJY2FsbGJhY2sgPSBjYWxsYmFjayBvciBfbGFzdF9tZW51aXRlbV9jYWxsYmFjayAJCWlmICh0eXBlKGluZGV4KX49Im51bWJlciIpIHRoZW4gc3RvcCgiYmFkIG1lbnVpdGVtIGluZGV4IikgZW5kIAkJaWYgKGluZGV4IDwgMSBvciBpbmRleCA+IDUpIHRoZW4gcmV0dXJuIGVuZAkJX3BhdXNlbWVudVtpbmRleF0gPSB7fSAJCV9wYXVzZW1lbnVbaW5kZXhdLmxhYmVsID0gbGFiZWwgCQlfcGF1c2VtZW51W2luZGV4XS5jYWxsYmFjayA9IGNhbGxiYWNrIAkJX19tZW51aXRlbShpbmRleCwgbGFiZWwpIAllbmQgCWZ1bmN0aW9uIHBhaXJzKGMpICBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGZ1bmN0aW9uKCkgZW5kIGVuZCByZXR1cm4gX3BhaXJzIChjKSBlbmQgCWZ1bmN0aW9uIGlwYWlycyhjKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGZ1bmN0aW9uKCkgZW5kIGVuZCByZXR1cm4gX2lwYWlycyhjKSBlbmQgCWZ1bmN0aW9uIGFsbChjKSBpZiAoYyA9PSBuaWwgb3IgI2MgPT0gMCkgdGhlbiByZXR1cm4gZnVuY3Rpb24oKSBlbmQgZW5kIAkgCWxvY2FsIGk9MSAJIAlsb2NhbCBsaT1uaWwgCQlfcmVmdW5kX2NwdV8oKCNjID49IDE2KSBhbmQgLTE2IG9yIC0jYykgCSAJcmV0dXJuIGZ1bmN0aW9uKCkgCSAJCWlmIChjW2ldID09IGxpKSB0aGVuIGk9aSsxIGVuZCAJIAkJd2hpbGUoY1tpXT09bmlsIGFuZCBpIDw9ICNjKSBkbyBpPWkrMSBlbmQgCSAJCWxpPWNbaV0gCQkJX3JlZnVuZF9jcHVfKC0xNykgCSAJCXJldHVybiBsaSAJIAllbmQgCWVuZCAJZnVuY3Rpb24gZm9yZWFjaChjLF9mKSBmb3IgaSBpbiBhbGwoYykgZG8gX2YoaSkgZW5kIGVuZCBmdW5jdGlvbiB0b3N0ciguLi4pIAktLVtbIG5lZWQgdG8gdXNlIHRvc3RyaW5nIHdoZW4gbWV0YXRhYmxlIGFuZCBtdC5fX3Rvc3RyaW5nIGlzIHNldCBzbyB0aGF0IG10Ll9fdG9zdHJpbmcgd29ya3MuIHNlZSB0ZXN0cy9tZXRhKi5wOCBdXSAJbG9jYWwgcD17Li4ufSAJbG9jYWwgYSxiLG1heF9kZXB0aCA9IHBbMV0scFsyXSxwWzNdIAlpZiAobWF4X2RlcHRoKSB0aGVuIHJldHVybiBfdG9zdHIoLi4uKSBlbmQgCWlmICgoX3R5cGUoYSk9PSJ0YWJsZSIgYW5kICgoZ2V0bWV0YXRhYmxlKGEpIGFuZCBnZXRtZXRhdGFibGUoYSkuX190b3N0cmluZykgb3IgYikpKSBvciAoKF90eXBlKGEpPT0iZnVuY3Rpb24iIGFuZCBiKSkgdGhlbiAJIHJldHVybiBfdG9zdHJpbmcoYSkgICAgIGVsc2UgCSByZXR1cm4gX3Rvc3RyKC4uLikgCWVuZCBlbmQgCS0tW1sgcHJpbnQoKSBzaG91bGQgcHJpbnQgbm90aGluZzsgcHJpbnQobmlsKSBzaG91bGQgcHJpbnQgW25pbF07IHN0b3AoKSBwYXNzZXMgYXJncyB0byBwcmludCBzbyB0aGF0IGNhbiBwcmludCBpbiBhIGNvbG91cl1dCWZ1bmN0aW9uIHN0b3AoLi4uKSAgICBpZiBfc2VsZWN0KCcjJywuLi4pPT0wIHRoZW4gX3N0b3AoKSAgIGVsc2UgbG9jYWwgYT17Li4ufSByZXR1cm4gX3N0b3AgICh0b3N0cihhWzFdKSwgX3NlbGVjdCgyLC4uLikpIGVuZCBlbmQgCWZ1bmN0aW9uIHByaW50KC4uLikgICBpZiBfc2VsZWN0KCcjJywuLi4pPT0wIHRoZW4gX3ByaW50KCkgIGVsc2UgbG9jYWwgYT17Li4ufSByZXR1cm4gX3ByaW50ICh0b3N0cihhWzFdKSwgX3NlbGVjdCgyLC4uLikpIGVuZCBlbmQgCWZ1bmN0aW9uIHByaW50aCguLi4pICBpZiBfc2VsZWN0KCcjJywuLi4pPT0wIHRoZW4gX3ByaW50aCgpIGVsc2UgbG9jYWwgYT17Li4ufSByZXR1cm4gX3ByaW50aCh0b3N0cihhWzFdKSwgX3NlbGVjdCgyLC4uLikpIGVuZCBlbmQgZnVuY3Rpb24gbG9hZCguLi4pIAlsb2NhbCByZXM9X2xvYWQoLi4uKSAJZmxpcCgpIC0tW1t0byBzdXBlcnlpZWxkLiByZWY6cGljb3dhcmVdXQlpZiAoX3N0YXQoMTA3KSA+IDApIHRoZW4gcmV0dXJuIHRydWUgZW5kIAlpZiAoX3N0YXQoMTA3KSA9PSAtMSkgdGhlbiByZXR1cm4gZmFsc2UsICJjb3VsZCBub3QgZmluZCBjYXJ0IiBlbmQgCWlmIChfc3RhdCgxMDcpID09IC0yKSB0aGVuIHJldHVybiBmYWxzZSwgImNvdWxkIG5vdCBmZXRjaCBjYXJ0IiBlbmQgCWlmIChfc3RhdCgxMDcpID09IC0zKSB0aGVuIHJldHVybiBmYWxzZSwgImNvdWxkIG5vdCBjb25uZWN0IHRvIGJicyIgZW5kIAlpZiAoX3N0YXQoMTA3KSA8IDAgb3IgcmVzID09IG5pbCkgdGhlbiByZXR1cm4gZmFsc2UsICJhY2Nlc3MgZGVuaWVkIiBlbmQgCXJldHVybiByZXMgZW5kIGZ1bmN0aW9uIGV4dGNtZChjbWQsIC4uLikgCWxvY2FsIHJlcz1fZXh0Y21kKGNtZCwgLi4uKSAJaWYgKGNtZD09ImdvX2JhY2siIG9yIGNtZD09ImJyZWFkY3J1bWIiKSB0aGVuIAkJZmxpcCgpIC0tW1t0byBzdXBlcnlpZWxkXV0JZW5kIAlyZXR1cm4gcmVzIGVuZCBmdW5jdGlvbiBjb3Jlc3VtZShjLC4uLikgCV95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSgwKSAJbG9jYWwgcjAscjEgPV9jb3Jlc3VtZShjLC4uLikJd2hpbGUgKF95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSgpIGFuZCBjb3N0YXR1cyhjKSA9PSAic3VzcGVuZGVkIikgZG8gCQlfeWllbGRlZF90b19lc2NhcGVfc2xpY2UoMCkgCQlyMCxyMSA9IF9jb3Jlc3VtZShjLC4uLikgCWVuZCAJX3lpZWxkZWRfdG9fZXNjYXBlX3NsaWNlKDApIAlyZXR1cm4gcjAscjEgZW5kIGZ1bmN0aW9uIGZsaXAoKSAJcmVwZWF0IAkJbG9jYWwgY29udGludWVfbWVudSA9IGZhbHNlIAkJZm9yIGk9MSw1IGRvIAkJIGxvY2FsIHZhbCA9IF9nZXRfbWVudV9pdGVtX3NlbGVjdGVkKGkpIAkJIGlmICh2YWwpIHRoZW4gCQkgIF9sYXN0X21lbnVpdGVtX2luZGV4ID0gaSAJCSAgX2xhc3RfbWVudWl0ZW1fY2FsbGJhY2sgPSBfcGF1c2VtZW51W2ldLmNhbGxiYWNrIAkJICBjb250aW51ZV9tZW51ID0gX3BhdXNlbWVudVtpXS5jYWxsYmFjayh2YWwpIAkJICBpZiAodmFsICYgMyA+IDApIHRoZW4gY29udGludWVfbWVudSA9IHRydWUgZW5kIAkJIGVuZCAJCWVuZCAJCWlmIChjb250aW51ZV9tZW51KSB0aGVuIGV4dGNtZCgicGF1c2UiLCAxKSBfc3VwZXJ5aWVsZCgpIGVuZCAgCXVudGlsIG5vdCBjb250aW51ZV9tZW51IAlfX2ZsaXAoKSBlbmQgZW5kIC0tW1sgc2NvcGUgXV1fX3JlZnVuZF9jcHVfXyA9IG5pbCBfX2lwYWlyc19fID0gbmlsIF9fcGFpcnNfXyA9IG5pbCBfX3Rvc3RyICAgID0gbmlsIF9fc3RvcCAgICAgPSBuaWwgX19wcmludCAgICA9IG5pbCBfX3ByaW50aCAgID0gbmlsIF9fbG9hZCAgICAgPSBuaWwgX19leHRjbWQgICA9IG5pbCBfX3Rvc3RyaW5nX18gPSBuaWwgX195aWVsZGVkX3RvX2VzY2FwZV9zbGljZSA9IG5pbCBfX2NvcmVzdW1lID0gbmlsIF9fc2VsZWN0ID0gbmlsIF9fc3VwZXJ5aWVsZCA9IG5pbCAAgD2AIG9yIDAuNSCBPYEgb3IgMjMxMzAuNSCCPYIgb3IgMjA3NjcuNSCDPYMgb3IgMyCEPYQgb3IgMzIxMjUuNSCFPYUgb3IgLTE4NDAyLjUghj2GIG9yIC0xNjMyLjUghz2HIG9yIDIwOTI3LjUgiD2IIG9yIC0xOTAwOC41IIk9iSBvciAtMjYyMDguNSCKPYogb3IgLTIwMTkyLjUgiz2LIG9yIDAgjD2MIG9yIC0yNDM1MS41II09jSBvciAtMjU3OTIuNSCOPY4gb3IgNCCPPY8gb3IgLTIwMDMyLjUgkD2QIG9yIC0yNTYwLjUgkT2RIG9yIDEgkj2SIG9yIC0yMDEyOC41IJM9kyBvciA2OTQzLjUglD2UIG9yIDIglT2VIG9yIC0yNjI0LjUglj2WIG9yIDMxNDU1LjUglz2XIG9yIDUgmD2YIG9yIDM4NTUuNSCZPZkgb3IgMjE4NDUuNSA7AGxvY2FsIHRpbWUsc3ViLGNocixvcmQsdG9zdHIsdG9udW0sYWRkLGRlbCxkZWxpLGNsaXAsY29sb3IscGFsLHBhbHQsZmlsbHAscGdldCxwc2V0LHNnZXQsc3NldCxmZ2V0LGZzZXQsY2lyYyxjaXJjZmlsbCxyZWN0LHJlY3RmaWxsLG92YWwsb3ZhbGZpbGwsbGluZSxzcHIsc3Nwcj0gICAgICB0aW1lLHN1YixjaHIsb3JkLHRvc3RyLHRvbnVtLGFkZCxkZWwsZGVsaSxjbGlwLGNvbG9yLHBhbCxwYWx0LGZpbGxwLHBnZXQscHNldCxzZ2V0LHNzZXQsZmdldCxmc2V0LGNpcmMsY2lyY2ZpbGwscmVjdCxyZWN0ZmlsbCxvdmFsLG92YWxmaWxsLGxpbmUsc3ByLHNzcHIgbG9jYWwgbWdldCxtc2V0LHRsaW5lLHBlZWsscG9rZSxwZWVrMixwb2tlMixwZWVrNCxwb2tlNCxtZW1jcHksbWVtc2V0LG1heCxtaW4sbWlkLGZscixjZWlsLGNvcyxzaW4sYXRhbjIscmFuZCxzcmFuZCxiYW5kLGJvcixieG9yLGJub3Qsc2hsLHNocixsc2hyLHJvdGwscm90cj0gICAgICAgbWdldCxtc2V0LHRsaW5lLHBlZWsscG9rZSxwZWVrMixwb2tlMixwZWVrNCxwb2tlNCxtZW1jcHksbWVtc2V0LG1heCxtaW4sbWlkLGZscixjZWlsLGNvcyxzaW4sYXRhbjIscmFuZCxzcmFuZCxiYW5kLGJvcixieG9yLGJub3Qsc2hsLHNocixsc2hyLHJvdGwscm90cjsgADsKADEwMzg4ACBuZD0wIAAlcyAlcygpACVzICVzKCIlcyIpAHNwbG9yZSgpAAogX2VuZF9vZl9wcm9ncmFtID0gMSAKAAoJICAgIF9lbmRfb2ZfcHJvZ3JhbSA9IDEgCgkgICAgaWYgKF9pbml0IH49IG5pbCkgdGhlbiBfaW5pdCgpIGVuZAogICAgICAgICAgICBfc2V0X21haW5sb29wX2V4aXN0cygwKQoJICAgIGlmIChfbWFpbmxvb3Agfj0gbmlsKSB0aGVuIF9zZXRfbWFpbmxvb3BfZXhpc3RzKDEpIGVuZAoJICAgIGlmIChfdXBkYXRlNjAgfj0gbmlsKSB0aGVuIF9zZXRfZnBzKDYwKSBfdXBkYXRlPW5pbCBlbHNlIF9zZXRfZnBzKDMwKSBlbmQKCSAgICBpZiAoX21haW5sb29wID09IG5pbCBhbmQgKF9kcmF3IH49IG5pbCBvciBfdXBkYXRlIH49IG5pbCBvciBfdXBkYXRlNjAgfj0gbmlsKSkgdGhlbgoJICAgIAlfc2V0X21haW5sb29wX2V4aXN0cygyKQoJCSAgICBfbWFpbmxvb3AgPSBmdW5jdGlvbigpIAoJICAgICAgICAJd2hpbGUgKHRydWUpIGRvCgkJCQkJX3VwZGF0ZV9idXR0b25zKF91cGRhdGU2MCBhbmQgMSBvciAyKQoJCQkJICAgIF9zdGFydGZyYW1lKCkgCgkJCQkgICAgaWYgKHN0YXQoNykgPT0gNjApIHRoZW4KCQkJCSAgICAJX21hcmtfY3B1KDApIF91cGRhdGU2MCgpIAoJCQkJICAgIGVsc2VpZiAoc3RhdCg3KSA9PSAzMCBhbmQgX3VwZGF0ZTYwKSB0aGVuCgkJCQkgICAgCV91cGRhdGU2MCgpIF91cGRhdGVfYnV0dG9ucygxKSBfbWFya19jcHUoMCkgX3VwZGF0ZTYwKCkKCQkJCSAgICBlbHNlaWYgKHN0YXQoNykgPT0gMzAgYW5kIF91cGRhdGUpIHRoZW4KCQkJCSAgICAJX21hcmtfY3B1KDApIF91cGRhdGUoKSAKCQkJCSAgICBlbHNlaWYgKHN0YXQoNykgPT0gMTUgYW5kIF91cGRhdGUpIHRoZW4KCQkJCSAgICAJX3VwZGF0ZSgpICBfdXBkYXRlX2J1dHRvbnMoMikgX21hcmtfY3B1KDApIF91cGRhdGUoKQoJCQkJICAgIGVuZAoJCQkJICAgIF9tYXJrX2NwdSgxKQoJCQkJICAgIGlmIChfZHJhdyB+PSBuaWwpIHRoZW4KCQkJCQkJbG9jYWwgZGkscmVzPTAsdHJ1ZSAKCQkJCQkJd2hpbGUgKGRpIDwgc3RhdCgxMSkgYW5kIHJlcykgZG8gcmVzID0gX21hcF9kaXNwbGF5KGRpKSBpZiAocmVzKSB0aGVuIHJlcz1fZHJhdygpIGVuZCBkaT1kaSsxIGVuZCAKCQkJCQkJX21hcF9kaXNwbGF5KDApIAoJCQkJCWVuZAoJCQkJICAgIF9tYXJrX2NwdSgyKQoJCQkJCV91cGRhdGVfZnJhbWVyYXRlKCkKCQkJCSAgICBmbGlwKCkKCQkJICAgIGVuZAoJCSAgICBlbmQKCSAgICBlbmQKCQlpZiAoX21haW5sb29wIH49IG5pbCkgdGhlbiBfbWFpbmxvb3AoKSBlbmQKICAgICAgICAKAHN5bnRheCBlcnJvcgBzeW50YXggZXJyb3IgbGluZSAlZCAodGFiICVkKQB1bmV4cGVjdGVkIHN5bWJvbCBuZWFyICdlbmQnAHVuZXhwZWN0ZWQgZW5kIG9mIGxpbmUAJXMgbGluZSAlZAoACi0tPjgKAC5wOC5wbmcAYmJzLwBydW5fY2FydCBjdXJyZW50X2ZpbGVuYW1lOiAlcyBydW5uaW5nX2ZpbGVuYW1lOiAlcyBydW5uaW5nX2NhcnRfbGlkOiAlcwoAc3RhY2sgdHJhY2ViYWNrACdfbWFpbmxvb3AAaW4gZnVuY3Rpb24gJwBpbiAlcyBsaW5lICVkICh0YWIgJWQpAGluIG1haW4gY2h1bmsAYXQgbGluZSAlZCAodGFiICVkKQBnYyBub3QgcnVubmluZzsgY291bGQgbm90IHBlcmZvcm0gZW1lcmdlbmN5IGNvbGxlY3Rpb24KAGdjIGhhcmQgY29sbGVjdDogJWQgLT4gJWQgKG92ZXJoZWFkOiVkKQoAb3V0IG9mIG1lbW9yeQBydW50aW1lIGVycm9yIGxpbmUgJWQgdGFiICVkAHJ1bnRpbWUgZXJyb3IAa2V5d29yZCBoYXNoIGNvbGxpc2lvbjogJXMgJXMKAGdvdG8AYnJlYWsAaXBhaXJzACVzXyUlZC5naWYAJXMuZ2lmACoqIEVHaWZPcGVuRmlsZU5hbWUgZXJyb3IgJWQ6ICVzCgBzYXZpbmcgZ2lmIHRvOiAlcwoATkVUU0NBUEUyLjAAZ2lmACoqIEVHaWZTcGV3KCkgR0lGX0VSUk9SCgBbY2FydF0AWy9jYXJ0XQBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvAEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Xy0ALnA4bAAudHh0AC5vYmoALm10bAAuc3ZnAC5wb3YALnNmZAAuY3N2AC5wcG0AWyVzXQBfX3JlZnVuZF9jcHVfXwBfX3BhaXJzX18AX19pcGFpcnNfXwBfX3N0b3AAX19wcmludABfX3ByaW50aABfX3Rvc3RyAF9fbG9hZABfX2V4dGNtZABfX3Rvc3RyaW5nX18AdG9zdHJpbmcAX190eXBlAF9fc2VsZWN0AF9fY29yZXN1bWUAX195aWVsZGVkX3RvX2VzY2FwZV9zbGljZQBjZABta2RpcgBleGl0AGZpbGU6ICVzJXMAdG9rZW5zOiAgICAgJTVkIC8gICVkAGNoYXJzOiAgICAgICU1ZCAvICVkAGNvbXByZXNzZWQ6ICU1ZCAvICVkAHVuc2F2ZWQgY2hhbmdlcwBleHRlcm5hbCBjaGFuZ2VzAGNvbnRpbnVlIHdpdGggc2h1dGRvd24/IFt5L25dAEBAIHBpY28tOCBzaHV0dGluZyBkb3duAGNvbnRpbnVlIHdpdGggcmVib290PyBbeS9uXQB0cnk6IGhlbHAgPHRvcGljPiBpbnN0ZWFkLiBlLmcuAGNvbW1hbmRzAGxvYWQgPGZpbGVuYW1lPiAgc2F2ZSA8ZmlsZW5hbWU+AHJ1biAob3IgY3RybC1yKSAgcmVzdW1lAHNodXRkb3duICAgICAgICAgcmVib290AGluc3RhbGxfZGVtb3MgICAgbHMAY2QgPGRpcm5hbWU+ICAgICBta2RpciA8ZGlybmFtZT4AY2QgLi4gICAgICB0byBnbyB1cCBhIGRpcmVjdG9yeQBrZXljb25maWcgIHRvIGNob29zZSBidXR0b25zAHNwbG9yZSAgICAgdG8gZXhwbG9yZSBjYXJ0cmlkZ2VzAGhlbHAgPHRvcGljPgBwcmVzcyBlc2MgdG8gdG9nZ2xlIGVkaXRvciB2aWV3AGFsdCtlbnRlciB0byB0b2dnbGUgZnVsbHNjcmVlbgBhbHQrZjQgb3IgY3RybC1xIHRvIGZhc3RxdWl0AGN0cmwtbS8tLysgdG8gYWRqdXN0IHZvbHVtZSAAY2FuIG5vdCBzYXZlIHdoaWxlIHJ1bm5pbmcAZmlsZW5hbWUgdG9vIGxvbmcAQHVybABAY2xpcABAY2xpcC5wOABAY2xpcC5wbmcAQGNsaXAucDgucG5nAHdhcm5pbmc6IGxhYmVsIGlzIGJsYW5rAHJ1biBjYXJ0IGFuZCBjdHJsLTcgdG8gY2FwdHVyZQBfY2xpcC5wOC5wbmcAX2NsaXAucDgucG5nLmhleABjb3BpZWQgdG8gdGV4dGZpZWxkIC0tIHByZXNzAGN0cmwtYyB0byBjb3B5IHRvIGNsaXBib2FyZCEAZmFpbGVkIHRvIHNhdmUgdG8gY2xpcGJvYXJkACogc2F2ZSBmYWlsZWQgKgBpbGxlZ2FsIGZpbGVuYW1lOgBmaWxlIGFscmVhZHkgZXhpc3RzAG92ZXJ3cml0ZT8gW3kvbl0Ac2F2ZWQgJXMlcwBjb3VsZCBub3Qgc2F2ZQBsb2dpbiB1bmF2YWlsYWJsZQBta2RpciBbbmFtZV0AbWtkaXIgZmFpbGVkOiBpbGxlZ2FsIHBhdGggbmFtZQBkaXJlY3Rvcnk6IC8lcwAlcyVzLwAlcyVzJXMvAGNkOiBmYWlsZWQAZGlyZWN0b3J5IG5vdCBmb3VuZAAvJXMAbGFiZWwAc2F2ZWQgbGFiZWwAc2NyZWVuACoqIGNvdWxkIG5vdCBzYXZlIHNjcmVlbnNob3QAc2F2ZWQgaW1hZ2UAZ2VuZXJhdGVkIHNjcmVlbnNob3QAcmVjAHJlY19mcmFtZXMAdmlkZW8AQEAgc2F2ZSBnaWYgcmVzdWx0OiAlZCB2aWRlb19jbGlwX2luZGV4OiAlZAoAbm8gdmlkZW8gcmVjb3JkZWQgKDAgZnJhbWVzKQAqKiBjb3VsZCBub3Qgc2F2ZSBnaWYAc2F2ZWQgJWQgc2Vjb25kIGdpZgBnZW5lcmF0ZWQgJWQgc2Vjb25kIGdpZgBhdWRpb19yZWMAYXVkaW9fZW5kAHBhdXNlAGNvbnRyb2xzAGJyZWFkY3J1bWIAZ29fYmFjawBzZXRfdGl0bGUAc2V0X2ZpbGVuYW1lAHVua25vd24gZXh0Y21kOiVzAGRvd25sb2FkaW5nLi4gAGJhZCBjYXJ0cmlkZ2UgaWQAL2Jicy9jcG9zdF9saXN0ZXIzLnBocD9uZm89MSZ2ZXJzaW9uPSVzJWMmbGlkPSVzAEBkcm9wcGVkAGRyb3BwZWQucDgAbG9hZGVkIGNhcnRyaWRnZSAoJWQgY2hhcnMpAHNvcnJ5LCBAY2xpcCBpcyBub3QgYXZhaWxhYmxlAGxvYWRlZCAlcyVzICglZCBjaGFycykAY291bGQgbm90IGxvYWQ6IGZ1dHVyZSB2ZXJzaW9uAGNvdWxkIG5vdCBsb2FkOiBjb2RlIHNpemUgPiA2NGsAY291bGQgbm90IGxvYWQAMHglMDh4ADB4JTA0eC4lMDR4AHByZXNzIGN0cmwtYyB0byBjb21wbGV0ZSBjb3B5AHByaW50aDogYmFkIGxvZyBmaWxlIG5hbWUAcHJpbnRoOiB0b28gbXVjaCBsb2cgZGF0YSAoMTBtYiBtYXgpAHwlcwB0b28gbWFueSBwcmludGggZmlsZXMAYQAlcwoAcHJpbnRoOiBjb3VsZCBub3Qgd3JpdGUgZmlsZQBjb3VudABfX2ZsaXAAX19zdXBlcnlpZWxkAGJhY2t1cABpbnN0YWxsX2RlbW9zAGluc3RhbGxfZ2FtZXMAa2V5Y29uZmlnAG1hcGRyYXcAYmJzcmVxAHJhZGlvAHNldF9kcmF3X3NsaWNlAF9tZW51aXRlbQBuZXh0AGluZXh0AHNldG1ldGF0YWJsZQBnZXRtZXRhdGFibGUAcmF3ZXF1YWwAcmF3bGVuAHJhd2dldAByYXdzZXQAYXNzZXJ0AF9fdHJhY2UAdHJhY2UAaG9sZGZyYW1lAF9zdGFydGZyYW1lAF9nZXRfbWVudV9pdGVtX3NlbGVjdGVkAF91cGRhdGVfYnV0dG9ucwBfdXBkYXRlX2ZyYW1lcmF0ZQBfc2V0X21haW5sb29wX2V4aXN0cwBfc2V0X2ZwcwBfbWFya19jcHUAX21hcF9kaXNwbGF5AHRvbyBtYW55IG9yZCByZXN1bHRzAGRldmtpdCBrZXlib2FyZCBlbmFibGVkAGRldmtpdCBtb3VzZSBlbmFibGVkAHsgdmFyIHN0ciA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZTsgcmV0dXJuIGFsbG9jYXRlKGludEFycmF5RnJvbVN0cmluZyhzdHIpLCAnaTgnLCBBTExPQ19OT1JNQUwpOyB9AGRzZXQgY2FsbGVkIGJlZm9yZSBjYXJ0ZGF0YSgpAGRnZXQgY2FsbGVkIGJlZm9yZSBjYXJ0ZGF0YSgpAGhpZ2ggc2NvcmVzIG5vdCBpbXBsZW1lbnRlZCB5ZXQhAGNhbiBub3QgY29ubmVjdCB0byBiYnNyZXEgaG9zdAB0b28gbWFueSBwZWVrIHJlc3VsdHMAY3N0b3JlLwBzYW5kYm94ZWRfY3N0b3JlIGZpbGUgbm90IGZvdW5kOiAlcwoAICAtLT4gdXNpbmcgaW50ZXJuYWwgZmlsZTogJXMKAHNwbG9yZSBpcyBub3QgYXZhaWxhYmxlAGluIHRoaXMgdmVyc2lvbi4AaW5zdGFsbGluZyBnYW1lcyB0byAvZ2FtZXMvAGJhY2tlZCB1cCAlcyVzAGJhY2t1cHMAY29uZmlnAHVzZWFnZTogZm9sZGVyIFtsb2NhdGlvbl0AbG9jYXRpb25zOgBiYWNrdXBzIGNvbmZpZyBiYnMgZGVza3RvcABob3N0IGFsbG9jYXRpb24gZXJyb3IAJWRtYiArICVkawoAbm8gaGVscCB0b3BpYyB1bmRlciBjdXJzb3IAdHlwZSB0aGUgdG9waWMgd2l0aG91dCA8Pi4gZS5nLjoAaGVscCBnZngAYWJvdXQAcGljby04AIAgcGljby04IDAuMi41ZwBtYWRlIGJ5IHplcCBhdCBwaWNvIHBpY28gY2FmZSwAdG9reW8uIHRoaXMgcHJvZ3JhbSBpcyBkZWRpY2F0ZWQAdG8gdG9tLCBsb3VpcyBhbmQgbmFjY2kuAHBpY28tOCB3YXMgbWFkZSB3aXRoIHNkbDIsIGx1YSwAZ2lmbGliLCB3aXJpbmdwaSwgbGliYjY0LCBtaW5peiwAbGliY3VybCwgYW5kIGdudSB0b29scy4AYXVkaW8Ac2Z4AIAgYXVkaW8gYXBpIGZ1bmN0aW9ucwBtdXNpYyBzZngAaW5wdXQAdXNlIHRoZSBrZXljb25maWcgY29tbWFuZAB0byBzZXQgZGVmYXVsdCBidXR0b24ga2V5cy4AgCBpbnB1dCBhcGkgZnVuY3Rpb25zAGJ0biBidG5wAHN0cmluZwBzdHJpbmdzAIAgc3RyaW5ncwBzdHJpbmdzIGluIGx1YSBhcmUgaW1tdXRhYmxlOwB0aGV5IGNhbiBiZSBjcmVhdGVkIGFuZCBqb2luZWQAdG9nZXRoZXIsIGJ1dCBub3QgbW9kaWZpZWQuAHMgPSAiZm9vIiAgICAgAD90eXBlKHMpICAgIC0tIHN0cmluZyAAP3MgPT0gImZvbyIgLS0gdHJ1ZQA/cy4uImJvbyIgICAtLSBmb29ib28gKGpvaW4pAD9zLi4oMisyKSAgIC0tIGZvbzQAP3NbMV0gICAgICAgLS0gZgA/I3MgICAgICAgICAtLSAzIChsZW5ndGgpAIAgc3RyaW5nIGZ1bmN0aW9ucwBzdWIgY2hyIG9yZCBzcGxpdCB0b3N0ciB0b251bQCAIGxlbmd0aCBvcGVyYXRvcjogIwBnaXZlcyB0aGUgbGVuZ3RoIG9mIGEgc3RyaW5nIG9yAGEgdGFibGUgdGhhdCBpcyBpbmRleGVkIHdpdGgAaW50ZWdlcnMgc3RhcnRpbmcgYXQgMToAPiA/IyJ0aGUgcXVpY2sgYnJvd24gZm94IgAxOQA+IGE9ezEsMiwzfQA+ID8jYQBzZWUgYWxzbzogdGFibGVzIHN0cmluZ3MAdGFibGUAdGFibGVzAIAgdGFibGVzAGx1YSBwcm92aWRlcyBhIHNpbmdsZSB0eXBlIGZvcgBzdHJ1Y3R1cmVkIGRhdGE6IHRoZSB0YWJsZS4ga2V5cwBhbmQgdmFsdWVzIGluIGEgdGFibGUgY2FuIGJlIGEAYSBtaXh0dXJlIG9mIGFueSB0eXBlLCBhbmQgdGh1cwBjYW4gYmUgdXNlZCBhcyBhcnJheXMsIG1hcHMsAHNldHMsIG9yIGR1Y2stdHlwZWQgb2JqZWN0cy4AdGJsID0gezUsNiw3fSAtLSBjcmVhdGUgYSB0YWJsZQA/dGJsWzFdIC0tIDUgKDEtYmFzZWQpAD8jdGJsICAgLS0gMyAoMS1iYXNlZCBsZW5ndGgpAHogPSB7WzBdPTUsNn0gLS0gc3RhcnQgYXQgMABwID0ge3g9NCx5PTR9IC0tIHN0cmluZyBrZXlzAD9wLnggICAgICAgICAgLS0gc2FtZSBhcyA/cFsieCJdAIAgdGFibGUgZnVuY3Rpb25zAGFkZCBkZWwgZGVsaSBhbGwgZm9yZWFjaCBwYWlycwBsdWEAgCBsdWEgY2hlYXRzaGVldAAtLSAgc2luZ2xlIGxpbmUgY29tbWVudAAtLVtbIGNvbW1lbnQgdGhhdCBzcGFucyBtdWx0aXBsZQBsaW5lcyBdXQBsb2NhbCBhICAgICAgIC0tIGxvY2FsIHZhcmlhYmxlAHgseSx6ID0gMyw0LDUgLS0gZ2xvYmFscwBwcmludCh4PT0zKSAgIC0tIHByaW50IGJvb2xlYW4AZnVuY3Rpb24gcGx1czIoeCkgcmV0dXJuIHgrMiBlbmQAZm9yIGk9MTAsOTAsNSBkbyBjaXJjKGksNSxpKSBlbmQAd2hpbGUoeCA8IDQpIGRvIHg9eCsxIGVuZABpZiAoeCAhPSA0KSB0aGVuIGZvbygpIGVuZABpZiAoeCA9PSA0KSBmb28oKSAtLSBzaG9ydGhhbmQAgCBleHRyYSB0b3BpY3MAdGFibGVzIHN0cmluZ3MgbnVtYmVycyBsb2dpYwBmdW5jdGlvbgByZXR1cm4AgCBrZXl3b3JkczogZnVuY3Rpb24gcmV0dXJuAGEgZnVuY3Rpb24gY2FuIHRha2UgYW55IG51bWJlcgBvZiBhcmd1bWVudHMsIGFuZCByZXR1cm4gYW55AG51bWJlciBvZiByZXN1bHRzOgBmdW5jdGlvbiBmb28oYSwgYikAICBwcmludCgiaW5zaWRlIGZvbyIpACAgcmV0dXJuIGEgKyBiLCAzIC0tIDIgcmVzdWx0cwBlbmQAPiB4LHkgPSBmb28oOCw5KQA+IHByaW50KHgpADE3AD4gcHJpbnQoeSkAd2hpbGUAgCBrZXl3b3JkOiB3aGlsZQByZXBlYXQgYSBibG9jayBvZiBjb2RlIHdoaWxlIGEAY29uZGl0aW9uIGlzIHRydWUuAGkgPSAzAHdoaWxlIGkgPCA1IGRvACAgcHJpbnQoaSkAICBpID0gaSArIDEALS0tIG91dHB1dCAtLS0AZG8AgCBrZXl3b3JkOiBkbwBkZW5vdGUgdGhlIHN0YXJ0IG9mIGEgYmxvY2sAb2YgY29kZS4gdXNlZCBieSB3aGlsZSBhbmQAZm9yIGxvb3BzLgCAIGtleXdvcmQ6IGVuZABkZW5vdGUgdGhlIGVuZCBvZiBhIGJsb2NrIG9mAGNvZGUuIHVzZWQgYnkgd2hpbGUsIGlmLCBmb3IAbG9vcHMsIGFuZCBmdW5jdGlvbiBkZWZpbml0aW9ucy4AcmVwZWF0AHVudGlsAIAga2V5d29yZHM6IHJlcGVhdCwgdW50aWwAcmVwZWF0IGEgYmxvY2sgb2YgY29kZSB1bnRpbABzb21lIGNvbmRpdGlvbiBpcyB0cnVlIGF0IHRoZQBlbmQgb2YgdGhlIGJsb2NrLgB0aGlzIG1lYW5zIHRoYXQgdGhlIGJsb2NrIGlzAGFsd2F5cyBleGVjdXRlZCBhdCBsZWFzdCBvbmNlLAB1bmxpa2Ugd2hpbGUgLi4gZG8gLi4gZW5kLgB1bnRpbCBpID49IDUAaWYAdGhlbgBlbHNlaWYAZWxzZQCAIGlmLCB0aGVuLCBlbHNlaWYsIGVsc2UAZG8gc29tZXRoaW5nIHdoZW4gc29tZXRoaW5nIGlzAHRydWUuIGVsc2UgYW5kIGVsc2VpZiBibG9ja3MgYXJlAG9wdGlvbmFsOgBpZiB4ID4geSB0aGVuACAgcHJpbnQoeC4uIiBpcyBtb3JlIHRoYW4gIi4ueSkAaWYgeCA8IDQgdGhlbgAgIHByaW50KCJ4IGlzIGxlc3MgdGhhdCA0IikAZWxzZWlmIHggPCA2IHRoZW4AICBwcmludCgieCBpcyA0IG9yIDUiKQAgIHByaW50KCJ4IGlzIDYgb3IgbW9yZSIpAGlmICh4PDQpID8ieDw0IiAtLSBzaG9ydGhhbmQAZm9yAGluAIAgZm9yIGxvb3BzAHJlcGVhdCBhIGJsb2NrIG9mIGNvZGUgbiB0aW1lcy4AZm9yIGk9MSw1IGRvAC0tIHJlc3VsdDogMSAyIDMgNCA1AGEgc3RlcCBzaXplIGNhbiBiZSBhZGRlZDoAZm9yIGk9MSw4LDIgZG8gcHJpbnQoaSkgZW5kAC0tIHJlc3VsdDogMSAzIDUgNwBmb3IgbG9vcHMgY2FuIGFsc28gYmUgdXNlZCB0bwBpdGVyYXRlIG92ZXIgdGFibGVzLgBzZWUgYWxzbzogcGFpcnMgYWxsAHRydWUAZmFsc2UAbmlsAGJvb2xlYW4AgCB0cnVlIGZhbHNlIG5pbABib29sZWFuIHZhcmlhYmxlcyBjYW4gaGF2ZSB0aGUAdmFsdWUgdHJ1ZSBvciBmYWxzZS4gbmlsIGlzIGEAc3BlY2lhbCB2YWx1ZSB0aGF0IG1lYW5zIGZhbHNlAGluIGJvb2xlYW4gZXhwcmVzc2lvbnMsIGFuZABvdGhlcndpc2UgbWVhbnMgJ3VuZGVmaW5lZCcuAD4gP3p4YyAgLS0gbm90IGRlZmluZWQsIHNvIG5pbAA+ID96eGMgYW5kIHRydWUAbmlsLCB1bnJlZmVyZW5jZWQgdmFyaWFibGVzIGFyZQBhdXRvbWF0aWNhbGx5IGdhcmJhZ2UgY29sbGVjdGVkLgA+IGE9bmlsIC0tIHdpbGwgYmUgY29sbGVjdGVkLgB0eXBlcwCAIHR5cGUodikAcmV0dXJuIHRoZSB0eXBlIG9mIHZhcmlhYmxlIHYAYXMgYSBzdHJpbmc6ACBuaWwAIGJvb2xlYW4AIG51bWJlcgAgc3RyaW5nACBmdW5jdGlvbgAgdGFibGUAgCBzZWUgYWxzbzoAbnVtYmVycyBzdHJpbmdzIHRhYmxlcwBsb2NhbACAIGtleXdvcmQ6IGxvY2FsAGRlY2xhcmUgYSB2YXJpYWJsZSBhcyBsb2NhbC4AdGhpcyBiaW5kcyB0aGUgc2NvcGUgb2YgdGhlAHZhcmlhYmxlIHRvIHRoZSBzYW1lIGJsb2NrAG9mIGNvZGUgaXQgd2FzIGRlZmluZWQgaW4uAGZ1bmN0aW9uIGZvbyh6KQAgIGxvY2FsIHkgPSB6IC0tIGxvY2FsIHRvIGZvbwAgIHkgPSB5ICsgMQAgIHJldHVybiB5AD9mb28oMTApIC0tIDExAD95IC0tIG5pbCEgdGhlcmUgaXMgbm8gZ2xvYmFsIHkuADwAPgA8PQA+PQA9PQB+PQAhPQBhbmQAb3IAbm90AGxvZ2ljAIAgbG9naWNhbCBleHByZXNzaW9ucyBpbiBsdWEAdGhlIGxvZ2ljYWwgb3BlcmF0b3JzIGFyZToAYW5kLCBvciwgYW5kIG5vdAA/NSA+IDMgYW5kIDUgPiA0IC0tIHRydWUAPzEgPiA1IGFuZCA1ID4gNCAtLSBmYWxzZQA/MSA+IDUgb3IgIDUgPiA0IC0tIHRydWUAP25vdCAoMSA+IDUpICAgICAtLSB0cnVlAG5pbCBpcyBjb25zaWRlcmVkIGZhbHNlLgByZWxhdGlvbmFsIG9wZXJhdG9yczoAPCA+IDw9ID49ID09IH49IChvciAhPSkAgCBhc3NpZ25tZW50OiA9AGdpdmUgdGhlIHZhcmlhYmxlIG9uIGxocwB0aGUgdmFsdWUgb2YgdGhlIHJocy4APiB4ID0gMys1AD4gP3gAZGF0YQBtZW0AgCBtZW1vcnkgJiBkYXRhIGFwaSBmdW5jdGlvbnMAcGVlayBwb2tlIG1lbXNldCBtZW1jcHkAcmVsb2FkIGNzdG9yZSBzY29yZXN1YgBjYXJ0ZGF0YSBkZ2V0IGRzZXQAgCBzZngobixbY2hhbl0sW29mZnNldF0sW2xlbl0pAHBsYXkgc2Z4IG4gKDAuLjYzKQBvZmZzZXQgYW5kIGxlbiBzcGVjaWZ5IHRoZSBzdGFydABwb3NpdGlvbiBhbmQgZHVyYXRpb24sIGFuZCBhcmUAZ2l2ZW4gaW4gbnVtYmVyIG9mIG5vdGVzLgBjaGFuICAgOiB0aGUgY2hhbm5lbCB0byBwbGF5IG9uAGNoYW4gLTE6IHVzZSBhbiB1bnVzZWQgY2hhbm5lbABjaGFuIC0yOiBzdG9wIHNmeCBuIG9uIGFsbCBjaGFucwCAIG11c2ljKHAsW2ZhZGVfbGVuXSxbbWFza10AcGxheSBtdXNpYyBzdGFydGluZyBmcm9tIHBhdHRlcm4AcC4gdXNlIHAgLTEgdG8gc3RvcCBhbnkgbXVzaWMuAGZhZGVfbGVuIGlzIGdpdmVuIGluIG1zICgxMDAwIGlzAG9uZSBzZWNvbmQpLiBtYXNrIGlzIGEgYml0ZmllbGQAdXNlZCB0byBzcGVjaWZ5IHdoaWNoIGNoYW5uZWxzAHRvIHJlc2VydmUgZm9yIG11c2ljLgBidG4AgCBidG4oW2JdLCBbcGxdKQBnZXQgYnV0dG9uIGIgc3RhdGUgZm9yIHBsYXllciBwbABvciBwbGF5ZXIgMCB3aGVuIHBsIGlzIG5vdCBnaXZlbgBiIGlzIGEgYnV0dG9uIGluZGV4OgAwOosgMTqRIDI6lCAzOoMgNDqOIDU6lyAAYnRuKCkgcmV0dXJucyBhIGJpdGZpZWxkIGZvcgBwbGF5ZXIgMCBhbmQgMQBnbHlwaHMAgCBnbHlwaCB2YWx1ZXMAZ2x5cGhzICgngC4umScpIGNhbiBiZSB1c2VkAGFzIHBhcnQgb2YgcmVndWxhciB2YXJpYWJsZQBuYW1lcywgYnV0IHNpbmdsZSBjaGFyYWN0ZXIAZ2x5cGhzIGFyZSBhbHNvIGFzc2lnbmVkIHNwZWNpYWwAdmFsdWVzIG9uIGJvb3Q6AIAgYnV0dG9ucwCLOjAgkToxIJQ6MiCDOjMgjjo0IJc6NQCAIGZpbGwgcGF0dGVybnMgLy8gZmlsbHAolSkAgIGChIWGh4iJioyNkJKTlQBzZWUgYWxzbzogYnRuIGJ0bnAgZmlsbHAAYnRucACAIGJ0bnAoW2JdLCBbcGxdKQByZXR1cm5zIHRydWUgd2hlbiBidXR0b24gYiB3YXMAcHJlc3NlZCBieSBwbGF5ZXIgcGwgKDAuLjcpLgBwbCBkZWZhdWx0cyB0byAwIHdoZW4gbm90IGdpdmVuLgBidG5wIHJlcGVhdHMgZXZlcnkgbiBmcmFtZXM6ADB4NWY1YyBpbml0aWFsIGRlbGF5IChkZWY6IDE1KQAweDVmNWYgcmVwZWF0IGRlbGF5ICAoZGVmOiAgNCkAYnRucCBvbmx5IHdvcmtzIHdoZW4gdXNlZCBmcm9tAGluc2lkZSBfdXBkYXRlKigpLCBfZHJhdygpLCBvcgBiZXR3ZWVuIGNhbGxzIHRvIGZsaXAoKS4AaGVscABtYW4AdG9waWMAdG9waWNzAIAgaGVscCBjb21tYW5kAHR5cGUgaGVscCBbdG9waWNdIGZvciBoZWxwAHRvcGljcyBhcmUgc2hvd24gaW4gYmx1ZS4AcHJlc3MgY3RybC11IGluIHRoZSBjb2RlIGVkaXRvcgBmb3IgaGVscCBvbiB3aGF0ZXZlciBpcyB1bmRlcgB0aGUgY3Vyc29yLgCAIG1haW4gdG9waWNzAGdmeCBkYXRhIGF1ZGlvIHN5c3RlbSBtYXRoIGx1YQBtYXRoAG1hdGhzAIAgbWF0aCBmdW5jdGlvbnMgYW5kIG9wZXJhdG9ycwBjb3Mgc2luIGF0YW4yIHNxcnQgc3JhbmQgcm5kAG1heCBtaW4gbWlkIGZsciBjZWlsIHNnbiBhYnMAYm5vdCBiYW5kIGJvciBieG9yAHNobCBzaHIgbHNociByb3RsIHJvdHIAgCBleHRyYSBtYXRoIHRvcGljcwBudW1iZXJzIGJpbmFyeSBoZXggYml0ZmllbGRzAGNvcwBzaW4AgCBjb3MoYSkgIHNpbihhKQBnaXZlcyB0aGUgY29zaW5lIGFuZCBzaW5lIG9mIGEsAHdoZXJlIDEuMCBtZWFucyBvbmUgZnVsbCB0dXJuLgB4LHkAeCtjb3MoYSksIHkrc2luKGEpADAuMAAwLjI1ADAuNQAwLjc1AHNpbihhKSBpcyBpbnZlcnRlZCB0byBzdWl0AHNjcmVlbnNwYWNlOyBvbmUgZnVsbCB0dXJuIG9mAGEgZnJvbSAwLi4xIHN0YXJ0cyBvbiB0aGUgcmlnaHQAYW5kIGdvZXMgYW50aWNsb2Nrd2lzZS4AYXRhbjIAgCBhdGFuKGR4LCBkeSkAY29udmVydHMgZHgsIGR5IGludG8gYW4gYW5nbGUAYmV0d2VlbiAwLi4xLiBhcyB3aXRoIGNvcygpIGFuZABzaW4oKSwgdGhlIGFuZ2xlIGlzIHRha2VuIHRvIHJ1bgBhbnRpY2xvY2t3aXNlIGluIHNjcmVlbnNwYWNlLgB4K2R4LCB5K2R5AGFuZ2xlID0gYXRhbjIoZHgsIGR5KSAgLS0gMC4xMjUAc3FydACAIHNxcnQoeCkAcmV0dXJuIHRoZSBzcXVhcmUgcm9vdCBvZiB4AHJuZACAIHJuZChbeF0pACAgIHJuZCh7dGJsfSkAcmV0dXJuIGEgcHNldWRvLXJhbmRvbSBudW1iZXIAZnJvbSAwIHVwIHRvIGJ1dCBub3QgaW5jbHVkaW5nAHgsIHdoaWNoIGRlZmF1bHRzIHRvIDEAd2hlbiBhIHRhYmxlIGlzIGdpdmVuLCBhIHJhbmRvbQBpdGVtIGZyb20gdGFibGUgaXMgcmV0dXJuZWQuAHNyYW5kAIAgc3JhbmQoeCkAc2VlZCB0aGUgcm5kKCkgbnVtYmVyIGdlbmVyYXRvcgB3aXRoIHguIHRoZSBzZXF1ZW5jZSBvZiByZXN1bHRzAGZyb20gcm5kKCkgd2lsbCBiZSB0aGUgc2FtZQBmb2xsb3dpbmcgYSBjYWxsIHRvIHNyYW5kIHdpdGgAdGhlIHNhbWUgc2VlZC4AbWF4AG1pbgCAIG1heChhLGIpIG1pbihhLGIpIG1pZChhLGIsYykAZ2l2ZSB0aGUgbWF4aW11bSwgbWluaW11bSBvZgAyIHZhbHVlcywgb3IgdGhlIG1pZGRsZSBvZgAzIHZhbHVlcy4gbWlzc2luZyBhcmd1bWVudHMAYXJlIHRyZWF0ZWQgYXMgMC4AP21heCgzLCAyMCkgICAtLSAyMAA/bWlkKDYsIDcsIDQpIC0tIDYAP21pbig4KSAgICAgICAtLSAwAGZscgBjZWlsAIAgZmxyKHgpIGNlaWwoeCkAcm91bmQgZG93biBvciB1cCB0byB0aGUgY2xvc2VzdABpbnRlZ2VyLiBmbHIoeCkgaXMgc2ltaWxhciB0bwB1c2luZyBpbnRlZ2VyIGRpdmlzaW9uIGJ5IG9uZSwAb3Igc3RyaXBwaW5nIGZyYWN0aW9uYWwgYml0czoAPyA0LjEgXCAxICAgICAgLS0+IDQAPyA0LjEgJiAweGZmZmYgLS0+IDQAPyBmbHIoNC4xKSAgICAgLS0+IDQAPyBmbHIoLTIuMykgICAgLS0+IC0zAD8gY2VpbCg0LjEpICAgIC0tPiA1AHNnbgCAIHNnbih4KQByZXR1cm5zIC0xIHdoZW4geCA8IDAsAGFuZCAxIG90aGVyd2lzZQBub3RlIHRoYXQgc2duKDApIGlzIDEsIG5vdCAwLgBhYnMAgCBhYnMoeCkAcmV0dXJuIHRoZSBhYnNvbHV0ZSAocG9zaXRpdmUpAHZhbHVlIG9mIHg6AD8gYWJzKC0zKSAgIC0tPiAzAD8gYWJzKDQpICAgIC0tPiA0AHRoZSBvbmUgZXhjZXB0aW9uIGlzIGZvcgBhYnMoLTMyNzY4KSwgd2hpY2ggZG9lcyBub3QAaGF2ZSBhIG1hdGNoaW5nIHBvc2l0aXZlIHZhbHVlLABzbyAweDdmZmYuZmZmZiBpcyByZXR1cm5lZC4AYm5vdACAIGJub3QoeCkAICAgfngAYmluYXJ5IG5vdC4gZWFjaCBiaXQgaW4gdGhlAHJldHVybiB2YWx1ZSBpcyBzZXQgd2hlbiB0aGUAY29ycmVzcG9uZGluZyBiaXQgaW4geCBpcyBub3QAc2V0LgBpbiBvdGhlciB3b3JkcywgZmxpcCBhbGwgb2YgdGhlAGJpdHMgaW4geC4APiA/dG9zdHIofjB4ZmYwMC4wMGZlLCAxKQAweDAwZmYuZmYwMQB3aGVuIHVzZWQgd2l0aCB0d28gb3BlcmFuZHMgKGUuZwB4fnkpLCB+IG1lYW5zIHhvci4gc2VlOiBieG9yAGJhbmQAJgAmPQCAIGJhbmQoeCwgeSkAICAgeCAmIHkAYmluYXJ5IGFuZC4gZWFjaCBiaXQgaW4gdGhlAGNvcnJlc3BvbmRpbmcgYml0cyBpbiB4IGFuZAB5IGFyZSBib3RoIHNldC4AdHJ1dGggdGFibGUgICAgICAgfCAgMCAgfCAgMSAgACAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLQAgICAgICAgICAgICAgICAgMCB8ICAwICB8ICAwICAAICAgICAgICAgICAgICAgIDEgfCAgMCAgfCAgMSAgAD4gP3Rvc3RyKDB4ZjBmICYgMHgxMjMsIDEpADB4MDEwMy4wMDAwAGJvcgB8AHw9AIAgYm9yKHgsIHkpACAgIHggfCB5AGJpbmFyeSBvci4gZWFjaCBiaXQgaW4gdGhlAGNvcnJlc3BvbmRpbmcgYml0IGluIGVpdGhlcgB4IG9yIHkgaXMgc2V0LgAgICAgICAgICAgICAgICAgMCB8ICAwICB8ICAxICAAICAgICAgICAgICAgICAgIDEgfCAgMSAgfCAgMSAgAD4gP3Rvc3RyKDB4ZjBmIHwgMHgwZjAsIDEpADB4MGZmZi4wMDAwAGJ4b3IAXl4AgCBieG9yKHgsIHkpACAgIHggfiB5ACAgIHggXl4geSAgICAgLS0gbGVnYWN5AGJpbmFyeSBleGNsdXNpdmUgb3IuIGVhY2ggYml0AGluIHRoZSByZXR1cm4gdmFsdWUgaXMgc2V0IHdoZW4AZWl0aGVyIG9mIHRoZSBjb3JyZXNwb25kaW5nIGJpdHMAaW4geCBvciB5IGFyZSBzZXQsIGJ1dCBub3QgYm90aC4AaW4gb3RoZXIgd29yZHMsIGZvciBlYWNoIGJpdCBzZXQAc2V0IGluIHgsIGZsaXAgdGhhdCBiaXQgaW4geS4AICAgICAgICAgICAgICAgIDEgfCAgMSAgfCAgMCAgAD4gP3Rvc3RyKDB4ZjAwIH4gMHgxMjMsIDEpADB4MGUyMy4wMDAwAHNobAA8PAA8PD0AgCBzaGwoeCwgbikAICAgeCA8PCBuAHNoaWZ0IGxlZnQuIG1vdmUgYWxsIG9mIHRoZQBiaXRzIGluIHggbGVmdCBuIHBsYWNlcy4APiA/dG9zdHIoMHhmZi4wYyA8PCA4LCAxKQAweGZmMGMuMDAwMABzaHIAPj4APj49AIAgc2hyKHgsIG4pACAgIHggPj4gbgBhcml0aG1ldGljIHNoaWZ0IHJpZ2h0LiBtb3ZlIGFsbABiaXRzIGluIHggcmlnaHQgbiBwbGFjZXMuIHRoZQBsZWZ0LW1vc3QgYml0IGlzICdzdGlja3knLCBzbwB0aGF0IG5lZ2F0aXZlIHZhbHVlcyByZW1haW4AbmVnYXRpdmUuAD4gP3Rvc3RyKDB4ODBjYS5mZSA+PiA4LCAxKQAweGZmODAuY2FmZQBsc2hyAD4+PgA+Pj49ACAgIHggPj4+IG4AbG9naWNhbCBzaGlmdCByaWdodC4gbW92ZSBhbGwAYml0cyBpbiB4IHJpZ2h0IG4gcGxhY2VzLiB6ZXJvcwBjb21lIGluIGZyb20gdGhlIGxlZnQuAD4gP3Rvc3RyKDB4ODBjYS5mZSA+Pj4gOCwgMSkAMHgwMDgwLmNhZmUAcm90bAA8PD4APDw+PQCAIHJvdGwoeCwgbikAICAgeCA8PD4gbgByb3RhdGUgYml0cyBsZWZ0IG4gcGxhY2VzLgA+ID90b3N0cigweGNhZmUuZjAwZCA8PD4gNCwgMSkAMHhhZmVmLjAwZGMAcm90cgA+PjwAPj48PQCAIHJvdHIoeCwgbikAICAgeCA+PjwgbgByb3RhdGUgYml0cyByaWdodCBuIHBsYWNlcy4APiA/dG9zdHIoMHhjYWZlLmYwMGQgPj48IDQsIDEpADB4ZGNhZi5lZjAwAG51bWJlcnMAgCBudW1iZXJzAG51bWJlcnMgaW4gcGljby04IGFyZSAxNjoxNgBmaXhlZCBwb2ludC4gdGhpcyBtZWFucyB0aGF0ADE2IGJpdHMgYXJlIHVzZWQgZm9yIHRoZQBpbnRlZ2VyIHBhcnQsIGFuZCAxNiBmb3IgdGhlAGZyYWN0aW9uYWwgcGFydC4gdGhlIHJhbmdlIG9mAHBvc3NpYmxlIHZhbHVlcyBpczoALTMyNzY4LjAgdG8gMzI3NjcuOTk5OTkAbnVtYmVycyB3cml0dGVuIGluIGRlY2ltYWwgYXJlAHJvdW5kZWQgdG8gdGhlIGNsb3Nlc3QgZml4ZWQAcG9pbnQgdmFsdWUuIHRvIHNlZSB0aGUgcmF3IDMyLQBiaXQgaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb246AD4gP3Rvc3RyKDEvNiwgMSkAMHgwMDAwLjJhYWEAaGV4AGhleGFkZWNpbWFsAIAgaGV4YWRlY2ltYWwAbnVtYmVycyBjYW4gYmUgd3JpdHRlbiBpbiBoZXgAYnkgcHJlZml4aW5nIHRoZW0gd2l0aCAiMHgiOgA+IHByaW50KDB4M2YpADYzAGhleGlkZWNpbWFsIG5vdGF0aW9uIGlzIGJhc2UtMTYAdXNpbmcgY2hhcmFjdGVyIGEuLmYgZm9yIHRoZQB2YWx1ZXMgMTAuLjE1LiBpbiB0aGUgZXhhbXBsZQBhYm92ZSwgMHgzMCBtZWFucyA0OCAoMyoxNikgYW5kAHRoZSBmIG1lYW5zIDE1LCBzbyB0aGUgcmVzdWx0IGluAGRlY2ltYWwgaXM6IDQ4ICsgMTUgLT4gNjMuAHRvIGNvbnZlcnQgZnJvbSBkZWNpbWFsIHRvIGhleDoAPiBwcmludCh0b3N0cig2MywgMSkpADB4MDAzZi4wMDAwIC0tIGFsbCAzMiBiaXRzIHNob3duAGJpbmFyeQCAIGJpbmFyeQBudW1iZXJzIGNhbiBiZSB3cml0dGVuIGluIGJpbmFyeQBmb3JtIGJ5IHByZWZpeGluZyB0aGVtIHdpdGggIjBiIgA+IHByaW50KDBiMTAwMS4wMSkAOS4yNQA4ICB8ICA0ICB8ICAyICB8ICAxICB8IDEvMiB8IDEvNAAtLS0rLS0tLS0rLS0tLS0rLS0tLS0rLS0tLS0rLS0tLQAxICB8ICAwICB8ICAwICB8ICAxICB8ICAwICB8ICAxIABpbiB0aGUgZXhhbXBsZSBhYm92ZSwgdGhlIGZpcnN0ADEgaXMgaW4gdGhlICI4cyIgY29sdW1uLCBzbyB0aGUAaW50ZWdlciBwYXJ0IGlzIDgrMSA9IDkuIGFmdGVyAHRoZSBkZWNpbWFsIHBvaW50LCBlYWNoIDEgbWVhbnMAMS8yLCAxLzQsIC4uLiAxLzY1NTM2LiBpbiB0aGlzAGNhc2UgdGhlIG9ubHkgMSBpcyBpbiB0aGUgMS80dGhzAGNvbHVtbiwgc28gdGhlIHJlc3VsdCBpcyA5LjI1AGJpdGZpZWxkAGJpdGZpZWxkcwCAIGJpdGZpZWxkcwBiaXRmaWVsZHMgYXJlIG51bWJlcnMgd2hlcmUgZWFjaABlYWNoIGJpdCBoYXMgYmVlbiBhc3NpZ25lZCBhAHBhcnRpY3VsYXIgbWVhbmluZy4gcGljby04IHVzZXMAYml0ZmllbGRzIGZvciB0aGUgc3ByaXRlIGZsYWdzLABhbmQgc29tZXRpbWVzIGFzIHBhcmFtZXRlcnMgYW5kAHJldHVybiB2YWx1ZXMgZm9yIGFwaSBmdW5jdGlvbnMuAHRvIGNvbnN0cnVjdCBhIGJpdGZpZWxkLCB5b3UgY2FuAGJvcigpIHRoZSBzZXBhcmF0ZSBiaXRzIHRvZ2V0aGVyAGFuZCB0aGVuIHRlc3QgaWYgZWFjaCBiaXQgKGZsYWcpAGlzIHNldCB1c2luZyBiYW5kKCk6AD4gZmxhZ3MgPSA4fDEgLS1zZXQgYml0cyAzIGFuZCAwAD4gPyhmbGFncyAmIDgpID4gMCAtLWNoZWNrIGJpdCAzAHNlZSBhbHNvOiBiaW5hcnkgYm9yIGJhbmQAKwArPQAtPQCAIG9wZXJhdG9yOiArIC0gKz0gLT0AYWRkLCBzdWJ0cmFjdC4APiA/Mys0AD4geD03AD4geC09MgB3aGVuIHRoZSByZXN1bHQgaXMgZ3JlYXRlciB0aGFuADB4N2ZmZi5mZmZmLCB0aGUgcmVzdWx0IGxvb3BzOgA+ID8weDdmZmYgKyAxAC0zMjc2OAAqPQAvPQCAIG9wZXJhdG9yczogKiAvICo9IC89AG11bHRpcGx5IHR3byBudW1iZXJzLCBvciBkaXZpZGUAb25lIGJ5IHRoZSBvdGhlci4APiA/Myo0ADEyAD4geD04AD4geC89NAB0aGUgcmVzdWx0cyBvZiBtdWx0aXBseSBvdmVyZmxvdwBidXQgdGhlIHJlc3VsdHMgb2YgZGl2aWRlIGFyZQBjbGFtcGVkIHRvIC0zMjc2OC4uMHg3ZmZmLmZmZmY6AD4gP3Rvc3RyKDUwMCAvIDAsIDEpADB4N2ZmZi5mZmZmAFwAXD0AgCBpbnRlZ2VyIGRpdmlkZSBvcGVyYXRvcjogXABnaXZlcyB0aGUgc2FtZSByZXN1bHQgYXMgYQByZWd1bGFyIGRpdmlkZSByb3VuZGVkIGRvd24uAD4gPzlcMiAtLSBzYW1lIGFzIGZscig5LzIpAD4geCA9IDE2AD4geCBcPSAzACUAJT0AgCBtb2R1bG8gb3BlcmF0b3I6ICUgJT0AeCAlIHkgbWVhbnM6IGtlZXAgYWRkaW5nIHkAb3Igc3VidHJhY3RpbmcgeSBmcm9tIHggdW50aWwAMCA8PSB4IDwgeS4APiA/IDE1ICUgNABmb3IgcG9zaXRpdmUgbnVtYmVycywgdGhpcyBpcwB0aGUgc2FtZSBhcyBkaXZpbmcgeCBieSB5IGFuZAB5IGFuZCByZXR1cm5pbmcgdGhlIHJlbWFpbmRlci4AbW9kdWxvIGlzIHVzZWZ1bCB3aGVuZXZlciB5b3UAeW91IG5lZWQgdG8gd3JhcCBhIG51bWJlciB0bwBhIHBhcnRpY3VsYXIgcmFuZ2UuIGZvciBleGFtcGxlOgBmbHIodCgpJTMpIC0tIDAgMSAyIDAgMSAyIC4uAHNlZSBhbHNvOiBwZWVrMiAoZS5nLiAlbWVtX2FkZHIpAF4AXj0AgCBleHBvbmVudCBvcGVyYXRvcjogXiBePQB4IF4geSBnaXZlcyB4IHRvIHRoZSBwb3dlciBvZiB5LgB5IGNhbiBiZSBmcmFjdGlvbmFsLgA+ID81IF4gMyAgLS0gIHNhbWUgYXMgNSo1KjUAMTI1AD4gPzE2IF4gMC41AG5vdGU6IHheeSBtZWFucyBiaXR3aXNlIHhvciBpbgBvdGhlciBsYW5ndWFnZXMhIGluIHBpY28tOCBsdWEsAHhvciBpcyB4fnkgKG9yIGxlZ2FjeTogeF5eeSkALi49AIAgc3RyaW5nIGpvaW4gb3BlcmF0b3I6IC4uIC4uPQBvcGVyYW5kcyBjYW4gYWxzbyBiZSBub24tc3RyaW5nAHZhcmlhYmxlcywgYW5kIGFyZSBhdXRvbWF0aWNhbGx5AGNvbnZlcnRlZCB0byBjb21wbGV0ZSB0aGUgam9pbi4APiA/ImhlbGxvICIuLiJ3b3JsZCIAaGVsbG8gd29ybGQAPiB4ID0gNQA+ID8ieCBpczogIi4ueAB4IGlzIDUALi4uAIAgYXJndW1lbnRzOiAuLi4ALi4uIG1lYW5zICdyZW1haW5pbmcgYXJndW1lbnRzJwBmdW5jdGlvbiBwcmludF9hbGwoLi4uKQAgYT17Li4ufQAgZm9yZWFjaChhLCBwcmludCkAcHJpbnRfYWxsKDEsMiwzKQBzZWUgYWxzbzogc2VsZWN0IHBhY2sgdW5wYWNrAHNlbGVjdAB1bnBhY2sAcGFjawCAIHNlbGVjdCguLi4sIG4pACAgIHBhY2soLi4uKQAgICB1bnBhY2sodGJsKQBmdW5jdGlvbnMgZm9yIGRlYWxpbmcgd2l0aCBhAHZhcmlhYmxlIG51bWJlciBvZiBhcmd1bWVudHMuAHNlbGVjdCByZXR1cm5zIGEgZ2l2ZW4gYXJndW1lbnQuAHBhY2sgY29udmVydHMgYW55IG51bWJlciBvZgBhcmd1bWVudHMgaW50byBhIHRhYmxlLCBhbmQAdW5wYWNrIGJhY2sgaW50byByZXR1cm4gdmFsdWVzLgBmdW5jdGlvbiBmb28oYSwgLi4uKQAgID8iYXJnMjoiLi5zZWxlY3QoMSwuLi4pACAgLS0gcmV0dXJuIGFsbCBidXQgZmlyc3QgYXJnACAgcmV0dXJuIHBhY2soLi4uKQBiID0gZm9vKHVucGFja3sxLDIsM30pIC0tIHsyLDN9AHN5c3RlbQCAIHN5c3RlbSBhcGkgZnVuY3Rpb25zAHJ1biBzdG9wIHJlc2V0IHlpZWxkIHRpbWUAbWVudWl0ZW0gc3RhdCBzZXJpYWwgZXh0Y21kAGNvY3JlYXRlIGNvcmVzdW1lIGNvc3RhdHVzAIAgc3lzdGVtIGNvbW1hbmRzAGxvYWQgc2F2ZSBpbXBvcnQgZXhwb3J0IGluZm8AcmVzdW1lIGZvbGRlciBzaHV0ZG93biByZWJvb3QAc3Bsb3JlIGJhY2t1cCBsb2dpbiBsb2dvdXQAgCBjYWxsYmFja3MAX2luaXQgX2RyYXcgX3VwZGF0ZSBfdXBkYXRlNjAAgCBpbnB1dABfaW5pdAAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tAIAgX2luaXQoKQB3aGVuIF9pbml0IGlzIGRlZmluZWQsIGl0IGlzAGNhbGxlZCBvbmNlIGJlZm9yZSBlbnRlcmluZyB0aGUAbWFpbiBfdXBkYXRlIC8gX2RyYXcgbG9vcC4AX2RyYXcAgCBfZHJhdygpAHdoZW4gX2RyYXcgaXMgZGVmaW5lZCBpbiBhAHByb2dyYW0sIGl0IGlzIGNhbGxlZCBvbmNlAHBlciBmcmFtZS4gdGhpcyBjb3VsZCBiZSAxNSwAMzAgb3IgNjAgdGltZXMgcGVyIHNlY29uZC4AdGhlIGNvbnRlbnRzIG9mIHRoZSB2aWRlbwBtZW1vcnkgaXMgZGlzcGxheWVkIG9uY2UgX2RyYXcAcmV0dXJucyAtLSB0aGVyZSBpcyBubyBuZWVkIHRvAGV4cGxpY2l0bHkgY2FsbCBmbGlwKCkuAF91cGRhdGUAX3VwZGF0ZTYwAIAgX3VwZGF0ZSgpIF91cGRhdGU2MCgpAHdoZW4gX3VwZGF0ZSBvciB1cGRhdGU2MCBpcwBkZWZpbmVkLCBpdCBpcyBjYWxsZWQgYXQgMzAgb3IANjAgdGltZXMgcGVyIHNlY29uZCByZWdhcmRsZXNzAG9mIHRoZSBmcmFtZXJhdGUgKHByb3ZpZGVkAHRoZXJlIGlzIHN1ZmZpY2llbnQgY3B1IHRvAGRvIHNvKS4AZ2Z4AIAgZ2Z4IGFwaSBmdW5jdGlvbnMAY2FtZXJhIGNsaXAgY2xzIGNvbG9yIHBhbCBwYWx0AGZpbGxwIGZsaXAgbGluZSByZWN0IHJlY3RmaWxsAG92YWwgb3ZhbGZpbGwgY2lyYyBjaXJjZmlsbABwZ2V0IHBzZXQgcHJpbnQgcHJpbnRoIGN1cnNvcgBtYXAgbWdldCBtc2V0IGZnZXQgZnNldCB0bGluZQBzcHIgc3NwciBzZ2V0IHNzZXQAZmxpcACAIGZsaXAoKQBmbGlwIHRoZSBiYWNrIHBhZ2UgdG8gdGhlIHNjcmVlbgBhbmQgc3RhcnQgdGhlIG5leHQgZnJhbWUuAG5vdGUgdGhhdCBwcm9ncmFtcyB0aGF0IGhhdmUgYQBfZHJhdygpIGZ1bmN0aW9uIGRvIG5vdCBuZWVkIHRvAGNhbGwgZmxpcCgpLgAtLSBkcmF3IG9uZSBzdGFyIHBlciBmcmFtZQBmb3IgaT0xLDEwMCBkbwAgPyKSIixybmQoMTI4KSxybmQoMTI4KSxybmQoMTYpACBmbGlwKCkAY2FtZXJhAIAgY2FtZXJhKHgsIHkpAHNldCBhIHNjcmVlbiBvZmZzZXQgb2YgLXgsIC15AGZvciBhbGwgZHJhd2luZyBvcGVyYXRpb25zLgBjYW1lcmEoKSB0byByZXNldABjbGlwAIAgY2xpcCh4LCB5LCB3LCBoLCBbY2xpcF9vbGRdKQBzZXRzIHRoZSBjbGlwcGluZyByZWN0YW5nbGUgaW4AcGl4ZWxzLiB3aGVuIGNsaXBfb2xkIGlzIHRydWUsAGNsaXAgdGhlIG5ldyBjbGlwcGluZyByZWN0YW5nbGUAYnkgdGhlIGV4aXN0aW5nIG9uZS4AY2xzAIAgY2xzKFtjb2xdKQBjbGVhciB0aGUgc2NyZWVuIGFuZCByZXNldCB0aGUAY2xpcHBpbmcgcmVjdGFuZ2xlLiBjb2wgZGVmYXVsdHMAdG8gYmxhY2suAGNvbG9yAIAgY29sb3IoW2NvbF0pAHNldCB0aGUgY3VycmVudCBjb2xvdXIgdXNlZCBieQBkcmF3aW5nIGZ1bmN0aW9ucy4gaWYgY29sIGlzAG5vdCBzcGVjaWZpZWQsIGRlZmF1bHRzIHRvIDYuAHdoZW4gYSBmaWxsIHBhdHRlcm4gaXMgZGVmaW5lZAB1c2luZyBmaWxscCgpLCBhIHNlY29uZCBjb2xvdXIAaXMgbmVlZGVkIGFuZCBjYW4gYmUgc3BlY2lmaWVkAGluIHRoZSBoaWdoIDQgYml0czoAY29sb3IoMHg4NykgLS0gcmVkIGFuZCB3aGl0ZQB0aGUgZmlsbCBwYXR0ZXJuIGl0c2VsZiBjYW4gYWxzbwBiZSBzcGVjaWZpZWQgaW4gY29sb3VyIGFyZ3VtZW50cwAoc2VlIHRoZSBtYW51YWwgZm9yIGRldGFpbHMpLgBwYWwAcGFsZXR0ZQCAIHBhbChjMCwgYzEsIFtwXSkAbWFwIGNvbG91ciBjMCB0byBjMSBmb3IgcGFsIHA6ADAgZHJhdyBwYWxldHRlIChkZWZhdWx0KQAxIGRpc3BsYXkgcGFsZXR0ZQAyIHNlY29uZGFyeSBwYWxldHRlAHVzZSBwYWwoKSB0byByZXNldC4AJTJkAHBhbHQAgCBwYWx0KGMsIHQpAHNldCB0aGUgdHJhbnNwYXJlbmN5IGZvciBjb2xvdXIAYyB0byB0IChib29sZWFuKS4gdHJhbnNwYXJlbmN5AGlzIG9ic2VydmVkIGJ5IHNwcigpLCBzc3ByKCksAG1hcCgpIGFuZCB0bGluZSgpLgBwYWx0KCkgdG8gcmVzZXQgdG8gZGVmYXVsdHMuAHdoZW4gYSBzaW5nbGUgbnVtYmVyIGFyZ3VtZW50AGlzIGdpdmVuLCBpdCBpcyB0YWtlbiB0byBiZSBhAGJpdGZpZWxkIG9mIGFsbCAxNiB0cmFuc3BhcmVuY3kAdmFsdWVzIHN0YXJ0aW5nIGZyb20gaGlnaCBiaXRzLgAtLSBtYWtlIGNvbHMgMC4uMyB0cmFuc3BhcmVudDoAcGFsdCgweGYwMDApAC0tIG1ha2UgY29sb3VyIDggdHJhbnNwYXJlbnQ6AHBhbHQoOCwgdHJ1ZSkAZmlsbHAAgCBmaWxscChwKQBwIGlzIGEgYml0ZmllbGQgdGhhdCBzcGVjaWZpZXMAYSA0WDQgZmlsbCBwYXR0ZXJuIG9ic2VydmVkIGJ5AGNpcmMqKCksIHJlY3QqKCksIG92YWwqKCksIHBzZXQAYW5kIGxpbmUoKS4gYml0IDB4Yi4xIGluZGljYXRlcwB0cmFuc3BhcmVuY3kuIHRoZSAxNiBiaXQgbGF5b3V0OgAgMHg4MDAwIDB4NDAwMCAweDIwMDAgMHgxMDAwACAgMHg4MDAgIDB4NDAwICAweDIwMCAgMHgxMDAAICAgMHg4MCAgIDB4NDAgICAweDIwICAgMHgxMAAgICAgMHg4ICAgIDB4NCAgICAweDIgICAgMHgxACBmaWxscCgweDg0MjEpICBmaWxscCgweDUwYzApACBmaWxscCiFKSBmaWxscCiHKSBmaWxscCiWKQBsaW5lAIAgbGluZSh4MCwgeTAsIFt4MSwgeTEsXSBbY29sXSkAZHJhdyBhIGxpbmUgZnJvbSAoeDAseTApIHRvACh4MSx5MSkuIHdoZW4geDEseTEgYXJlIG5vdCwAZ2l2ZW4sIHRoZSBlbmQgb2YgdGhlIGxhc3QgZHJhd24AbGluZSBpcyB1c2VkLgByZWN0AHJlY3RmaWxsAIAgcmVjdCAgICAoeDAseTAseDEseTEsW2NvbF0pACAgIHJlY3RmaWxsKHgwLHkwLHgxLHkxLFtjb2xdKQBkcmF3IGEgcmVjdGFuZ2xlIG9yIGZpbGxlZAByZWN0YW5nbGUgd2l0aCBwb2ludHMgYXQAb3Bwb3NpdGUgY29ybmVycyBnaXZlbiBieQAoeDAseTApLCAoeDEseTEpLgBvdmFsAG92YWxmaWxsAIAgb3ZhbCAgICAoeDAseTAseDEseTEsW2NvbF0pACAgIG92YWxmaWxsKHgwLHkwLHgxLHkxLFtjb2xdKQBkcmF3IGFuIGVsbGlwc29pZCBib3VuZGVkIGJ5AHRoZSBnaXZlbiByZWN0YW5nbGUuAGNpcmMAY2lyY2ZpbGwAgCBjaXJjICAgICh4LCB5LCByLCBbY29sXSkAICAgY2lyY2ZpbGwoeCwgeSwgciwgW2NvbF0pAGRyYXcgYSBjaXJjbGUgYXQgKHgseSkgd2l0aCBhAHJhZGl1cyBvZiByLiB3aGVuIGEgbmVnYXRpdmUAcmFkaXVzIGlzIGdpdmVuLCBub3RoaW5nIGlzAGRyYXduLgBtYXAAgCBtYXAoW3R4LCB0eV0sIFtzeCwgc3ldLAAgICBbdHcsIHRoXSwgW2xheWVyc10AZHJhdyB0aGUgbWFwIGZyb20gdGlsZSB0eCwgdHkAYXQgc2NyZWVuIHBvc2l0aW9uIHN4LCBzeS4AdHcsdGggZ2l2ZXMgdGhlIHdpZHRoIGFuZCBoZWlnaHQAdG8gZHJhdyBpbiB0aWxlcy4AbGF5ZXJzIGlzIGEgYml0ZmllbGQgdGhhdCBtZWFucwBvbmx5IHNwcml0ZXMgd2l0aCB0aGUgbWF0Y2hpbmcAc3ByaXRlIGZsYWdzIHNob3VsZCBiZSBkcmF3bi4Ac3ByaXRlIDAgaXMgbm90IGRyYXduIHVubGVzcyB0aGUAYml0IGF0IDB4NWYzNiAmIDB4OCBpcyBzZXQuAG1nZXQAbXNldACAIG1nZXQoeCx5KQAgICBtc2V0KHgseSx2YWwpAGdldCBvciBzZXQgdGhlIHZhbHVlIG9mIHRoZSBtYXAAdGlsZSBhdCB4LHkuIHdoZW4geCx5IGlzIG91dHNpZGUAdGhlIG1hcCBhcmVhLCBtZ2V0IHJldHVybnMgMC4AZmdldABmc2V0AIAgZmdldChuLCBbZl0pACAgIGZzZXQobiwgYml0ZmllbGQpACAgIGZzZXQobiwgZiwgdmFsKQBnZXQgb3Igc2V0IHRoZSB2YWx1ZSBvZiBhIHNwcml0ZQBmbGFnIGYgZm9yIHNwcml0ZSBuLiB3aGVuIGYgaXMAb21pdHRlZCwgYWxsIGZsYWdzIGFyZSByZXRyaWV2ZWQAL3NldCBhcyBhIHNpbmdsZSA4LWJpdCBiaXRmaWVsZC4AZXhhbXBsZXMgdXNpbmcgc3ByaXRlIDI6AGZzZXQoMiwgNCwgdHJ1ZSkgLS0gc2V0IGZsYWcgNABmc2V0KDIsIDB4YikgIC0tIHNldCBmbGFncyAwLDEsMwA/ZmdldCgyLCAzKSAgIC0tIHRydWUAaW5pdGlhbCBzcHJpdGUgZmxhZyBzdGF0ZXMgY2FuAGJlIHNldCBpbiB0aGUgc3ByaXRlIGVkaXRvci4AdGxpbmUAgCB0bGluZSh4LCB5LCB4MSwgeTEsIG14LCBteSwAICAgW21keCwgbWR5XSwgW2xheWVyc10pAGRyYXcgYSB0ZXh0dXJlZCBsaW5lIGZyb20gKHgseSkAdG8gKHgxLHkxKSwgc2FtcGxpbmcgY29sb3VycwBmcm9tIHRoZSBtYXAgYXQgZWFjaCBwb2ludC4Ad2hlbiBsYXllcnMgaXMgZ2l2ZW4sIG9ubHkgdGlsZXMAd2l0aCBtYXRjaGluZyBmbGFncyBhcmUgZHJhd24uAG14LG15IGFyZSBtYXAgY29vcmRzIGdpdmVuIGluAHRpbGVzIGFuZCBpbmNyZW1lbnRlZCBieSBtZHgsAG1keSBhZnRlciBlYWNoIHBpeGVsIGlzIGRyYXduLgBkcmF3IHN0YXRlOgAweDVmMzg6IGxvb3Agd2lkdGggaW4gdGlsZXMAMHg1ZjM5OiBsb29wIGhlaWdodCBpbiB0aWxlcwAweDVmM2E6IG9mZnNldCB4IGluIHRpbGVzADB4NWYzYjogb2Zmc2V0IHkgaW4gdGlsZXMAMHg1ZjM2JjB4ODogZHJhdyBzcHJpdGUgMABzcHIAgCBzcHIobiwgeCwgeSwgW3csIGhdLAAgICBbZmxpcF94XSwgW2ZsaXBfeV0AZHJhdyBzcHJpdGUgbiBhdCB4LCB5AHcgKHdpZHRoKSBhbmQgaCAoaGVpZ2h0KSBhcmUgMQBieSBkZWZhdWx0LCBhbmQgc3BlY2lmeSBob3cgbWFueQA4eDggc3ByaXRlcyB0byBkcmF3LgBjb2xvciAwIGlzIG5vdCBkcmF3biBieSBkZWZhdWx0AChoZWxwIHBhbHQgZm9yIG1vcmUgaW5mb3JtYXRpb24pAGZsaXBfeCwgZmxpcF95IGFyZSBib29sZWFuczoAd2hlbiB0cnVlLCBkcmF3IG1pcnJvcmVkAHNzcHIAgCBzc3ByKHN4LCBzeSwgc3csIHNoLCBkeCwgZHksACAgIFtkdywgZGhdLCBbZmxpcF93XSwgW2ZsaXBfaF0Ac3RyZXRjaCBzcHJpdGUgdXNpbmcgdGhlIHNvdXJjZQByZWN0YW5nbGUgc3gsIHN5LCBzdywgc2gAZHJhdyBhdCB0aGUgZGVzdGluYXRpb24gZHgsIGR5AHdpdGggaGVpZ2h0IGR3LCBkaC4gd2hlbiBkdywgZGgAYXJlIG5vdCBnaXZlbiwgdXNlIHN3LCBzaAB3aGVuIHRydWUsIGRyYXcgbWlycm9yZWQuAHNnZXQAc3NldACAIHNnZXQoeCx5KQAgICBzc2V0KHgseSx2YWwpAGdldCBvciBzZXQgdGhlIHZhbHVlIG9mIGEgcGl4ZWwAaW4gdGhlIHNwcml0ZXNoZWV0IGF0IHgsIHkAcGdldABwc2V0AG9uIHRoZSBzY3JlZW4gYXQgeCwgeQBwcmludAA/AIAgcHJpbnQoc3RyLCB4LCB5LCBbY29sXSkAICAgcHJpbnQoc3RyLCBbY29sXSkAcHJpbnQgdGhlIHN0cmluZyBzdHIgYXQgeCwgeQBvciB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24Ac2hvcnRoYW5kOiB1c2UgPyBvbiBhIHNpbmdsZQBsaW5lIHdpdGhvdXQgYnJhY2tldHM6AD8iaGVsbG8iAHNvbWUgcDhzY2lpIGNvZGVzOgBcIzMgc2V0IGJhY2tncm91bmQgY29sICgwLi5mKQBcZjcgc2V0IGZvcmVncm91bmQgY29sICgwLi5mKQBcXmkgaW52ZXJ0ZWQgbW9kZQBcXncgd2lkZSBtb2RlICheLXcgdG8gZGlzYWJsZSkAXF50IHRhbGwgbW9kZSAoXi13IHRvIGRpc2FibGUpAFxecCBwaW5iYWxsIG1vZGUAXGEgYmVlcABwcmludGgAgCBwcmludGgoc3RyLCBbZmlsZW5hbWVdLAAgICBbb3ZlcndyaXRlXSwgW3RvX2Rlc2t0b3BdAHByaW50IHN0ciB0byBob3N0LiB3aGVuIHBpY28tOABpcyBydW5uaW5nIGZyb20gYSBzaGVsbCwgdGhlAG91dHB1dCBpcyBzZW50IHRvIHRoYXQgc2hlbGwsIG9yAGFwcGVuZGVkIHRvIGEgZmlsZSB3aGVuIGEAZmlsZW5hbWUgaXMgZ2l2ZW4uAGluIHRoZSBzZWNvbmQgY2FzZSwgYW55IGV4aXN0aW5nAGZpbGUgaXMgb3ZlcndyaXR0ZW4gd2hlbgBvdmVyd3JpdGUgaXMgdHJ1ZS4gdGhlIGZpbGUgaXMAc2F2ZWQgdG8gZGVza3RvcCB3aGVuIHRvX2Rlc2t0b3AAaXMgdHJ1ZS4AY3Vyc29yAIAgY3Vyc29yKHgsIHksIFtjb2xdAHNldCB0aGUgY3Vyc29yIHBvc2l0aW9uAGlmIGNvbCBpcyBzcGVjaWZpZWQsIGFsc28gc2V0IHRoZQBjdXJyZW50IGRyYXcgY29sb3VyLgBwZWVrAHBlZWsyAHBlZWs0AEAAJACAIHBlZWsoYWRkciwgW25dKQByZWFkIGEgYnl0ZSBmcm9tIG1lbW9yeSBhdCBhZGRyLgB3aGVuIG4gaXMgZ2l2ZW4sIHJldHVybiBuIGJ5dGVzIAByZWFkIHNlcXVlbnRpYWxseS4gaW50ZWdlcnMgYW5kAG51bWJlcnMgY2FuIGJlIHJlYWQgd2l0aCBwZWVrMigpAGFuZCBwZWVrNCByZXNwZWN0aXZlbHkuAC0tIGZldGNoIDIgYnl0ZXMgb2YgdmlkZW8gcmFtAGEsYiA9IHBlZWsoMHg2MDAwLCAyKQAtLSBvcGVyYXRvciBhbHRlcm5hdGl2ZXMAQGFkZHIgIC0tIHBlZWsoYWRkcikAJWFkZHIgIC0tIHBlZWsyKGFkZHIpACRhZGRyICAtLSBwZWVrNChhZGRyKQBwb2tlAHBva2UyAHBva2U0AIAgcG9rZShhZGRyLCB2YWwxLCBbdmFsMiwgLi4uXSkAd3JpdGUgb25lIG9yIG1vcmUgYnl0ZXMgdG8gcmFtAHN0YXJ0aW5nIGZyb20gYWRkci4gaW50ZWdlcnMAYW5kIG51bWJlcnMgY2FuIGJlIHdyaXR0ZW4gd2l0aABwb2tlMiBhbmQgcG9rZTQuAC0tIHdyaXRlIDQgYnl0ZXMgdG8gdmlkZW8gcmFtAHBva2UyKDB4NzAwMCwgMHg0NTY3LCAweDg5YWIpAG1lbXNldACAIG1lbXNldChhZGRyLCB2YWwsIGxlbikAd3JpdGUgdGhlIDgtYml0IHZhbHVlIHZhbCBpbnRvAHJhbSBzdGFydGluZyBmcm9tIGFkZHIsIGZvcgBsZW4gYnl0ZXMuAC0tIGZpbGwgaGFsZiBvZiB2aWRlbyBtZW1vcnkAbWVtc2V0KDB4NjAwMCwgMHhjOCwgMHgxMDAwKQBtZW1jcHkAgCBtZW1jcHkoZGVzdCwgc3JjLCBsZW4pAGNvcHkgbGVuIGJ5dGVzIGZyb20gYWRkcmVzcyBzcmMAdG8gZGVzdC4gc2VjdGlvbnMgY2FuIGJlAG92ZXJsYXBwaW5nIGFuZCBkbyBub3QgbmVlZCB0bwBiZSBhbGlnbmVkLgAtLSBjb3B5IHNvbWUgb2YgdGhlIHZpZGVvIHJhbSB0bwAtLSB0aGUgdG9wIG9mIHRoZSBzY3JlZW4AbWVtY3B5KDB4NjAwMCwgMHg2ODAwLCAweDgwMCkAcmVsb2FkAIAgcmVsb2FkKGRlc3QsIHNyYywgbGVuLCBbZm5dKQBzaW1pbGFyIHRvIG1lbWNweSwgYnV0IHJlYWQAZnJvbSBjYXJ0cmlkZ2Ugcm9tIGFuZCB3cml0ZQB0byByYW0gYXQgZGVzdCBmb3IgbGVuIGJ5dGVzLgByZWxvYWQoKSByZWxvYWRzIGV2ZXJ5dGhpbmcuAHRoZSBjb2RlIHNlY3Rpb24gKD49IDB4NDMwMCkAaXMgcHJvdGVjdGVkIGFuZCBjYW4gbm90IGJlAGFjY2Vzc2VkIGJ5IHJlbG9hZCAvIGNzdG9yZS4Ad2hlbiBmaWxlbmFtZSBmbiBpcyBnaXZlbiwAZGF0YSBpcyByZWFkIGZyb20gYSBzZXBhcmF0ZQBjYXJ0cmlkZ2UgZmlsZS4AY3N0b3JlAIAgY3N0b3JlKGRlc3QsIHNyYywgbGVuLCBbZm5dKQBmcm9tIHJhbSBhbmQgd3JpdGUgdG8gY2FydCByb20AYXQgZGVzdCBmb3IgbGVuIGJ5dGVzLgBjc3RvcmUoKSBzdG9yZXMgZXZlcnl0aGluZyBpbgByYW0gYmFjayB0byB0aGUgY2FydHJpZGdlLgBzY29yZXN1YgCAIHNjb3Jlc3ViKHRibCwgc2NvcmUsIFtleHRyYV0pAHN1Ym1pdCBhIGhpZ2hzY29yZSB0byB0aGUgYmJzLgB0YmwgaXMgYSBzdHJpbmcgaWRlbnRpZnlpbmcgdGhlAHRhYmxlIGFuZCBjYW4gYmUgPD0gNDAgY2hhcnMAbG9uZy4gZS5nLiAibGV2ZWxfMSIAc2NvcmUgaXMgYSBudW1iZXIuIGhpZ2hlciBpcwBiZXR0ZXI7IHRoZSB0b3AgNjQgc2NvcmVzIGFyZQByZXR1cm5lZCBpbiBhIHRhYmxlIHdpdGggZmllbGRzOgBuYW1lIHNjb3JlIGV4dHJhIGRhdGUAdXNlIHNjb3Jlc3ViKHRibCkgdG8gZ3JhYiB0aGUAdGFibGUgc3RhdGUgd2l0aG91dCBzdWJtaXR0aW5nAGEgc2NvcmUuAGV4dHJhIGlzIGEgYmluYXJ5IHN0cmluZyBvZgBtZXRhZGF0YSA8PSA3NjggYnl0ZXMgbG9uZy4AY2FydGRhdGEAgCBjYXJ0ZGF0YShpZCkAb3BlbnMgYSBwZXJtYW5lbnQgZGF0YSBzdG9yYWdlAHNsb3QgdG8gYmUgYWNjZXNzZWQgd2l0aCBkZ2V0KCkAYW5kIGRzZXQoKSBvciBieSBkaXJlY3RseSBwb2tlLwBwZWVraW5nIHJhbSBhdCAweDVlMDAuLjB4NWVmZi4AaWQgaXMgYSBzdHJpbmcgPD0gNjQgY2hhcnMgbG9uZwB0aGF0IG1pZ2h0IG5vdCBiZSB1bmlxdWUgKGl0IGlzAHBvc3NpYmxlIGZvciB0d28gY2FydHMgdG8gc2hhcmUAdGhlIHNhbWUgc3RvcmFnZSkuAGNhcnRkYXRhKCkgY2FuIG9ubHkgYmUgY2FsbGVkAG9uY2UgcGVyIHByb2dyYW0gLS0gaXQgaXMgbm90AHBvc3NpYmxlIHRvIHVzZSBtdWx0aXBsZSBkYXRhAHN0b3JhZ2Ugc2xvdHMgaW4gb25lIHByb2dyYW0uAGRnZXQAZHNldACAIGRnZXQoaSkAICAgZHNldChpLCB2YWwpAGdldC9zZXQgdGhlIG51bWJlciBpbiBwZXJtYW5lbnQAZGF0YSBzdG9yYWdlIGF0IGluZGV4IGkgKDAuLjYzKS4Ac2FtZSBhcyBwZWVrNCgweDVlMDAraSo0KSBhbmQAcG9rZTQoMHg1ZTAwK2kqNCwgdmFsKSwgYWZ0ZXIAY2FydGRhdGEoaWQpIGhhcyBiZWVuIHVzZWQgdG8AbWFwIHRoaXMgbWVtb3J5IHJhbmdlIHRvIHN0b3JhZ2UAY2FsbGluZyBkZ2V0IG9yIGRzZXQgYmVmb3JlAGNhcnRkYXRhKGlkKSByZXN1bHRzIGluIGEgcnVuLQB0aW1lIGVycm9yLgBzdWIAgCBzdWIoc3RyLCBwb3MwLCBbcG9zMV0pAHJldHVybnMgYSBzdWJzdHJpbmcgb2Ygc3RyLCBmcm9tAHBvczAgdW50aWwgcG9zMSwgb3IgI3N0ciB3aGVuAHdoZW4gcG9zMSBpcyBub3QgZ2l2ZW4uIHBvczAgYW5kAHBvczEgYXJlIDEtYmFzZWQsIGFuZCBpbmNsdWRlAHRoZSBjaGFyYWN0ZXJzIGF0IHBvczAsIHBvczEuAG5lZ2F0aXZlIHZhbHVlcyBtZWFuIGNoYXJhY3RlcnMAZnJvbSB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuAD9zdWIoImFiY2RlIiwyLDQpIC0tIGJjZAA/c3ViKCJhYmNkZSIsMiAgKSAtLSBiY2RlAD9zdWIoImFiY2RlIiwtMiApIC0tIGRlAHVzZSBzW2ldIHRvIGdyYWIgYSBzaW5nbGUgY2hhcjoAPnM9ImFiY2QiAD4/c1szXQBjAGNocgCAIGNocih2YWwwLCBbdmFsMSwgdmFsMiAuLi5dKQBjb252ZXJ0IG9uZSBvciBtb3JlIGNoYXJhY3RlcgBjb2RlcyB0byBhIHN0cmluZy4ALS0gQAA/Y2hyKDY0KSAALS0gaGVsbG8AP2NocigxMDQsMTAxLDEwOCwxMDgsMTExKQBvcmQAgCBvcmQoc3RyLCBbcG9zXSwgW251bV0pAHJldHVybiBvbmUgb3IgbW9yZSBvcmRpbmFsIGNoYXIAdmFsdWVzICgwLi4yNTUpIGZyb20gc3RyaW5nIHN0ci4Ad2hlbiBwb3MgaXMgb3V0IG9mIHJhbmdlIG9yIHN0cgBpcyBub3QgYSBzdHJpbmcsIHJldHVybnMgbmlsLgA/b3JkKCJAIikgICAgICAtLSA2NAA/b3JkKCJhYmMiLDIpICAtLSA5OAAtLSA5Nyw5OCw5OQBhLGIsYyA9IG9yZCgiYWJjIiwxLDMpAC0tIHdyaXRlIG9yZCB2YWx1ZXMgdG8gc2NyZWVuAHBva2UoMHg3MDAwLG9yZCgic3R1dnd4eXoiLDEsOCkpAHNwbGl0AIAgc3BsaXQoc3RyLCBbc2VwXSwgW251bWJlcnNdAHNwbGl0IGEgc3RyaW5nIGludG8gYSB0YWJsZSBvZgBlbGVtZW50cyBkZWxpbWl0ZWQgYnkgdGhlAHNlcGFyYXRvciBzZXAgKCIsIiBieSBkZWZhdWx0KS4Ad2hlbiBudW1iZXJzIGlzIHRydWUsIG51bWVyaWNhbAB0b2tlbnMgYXJlIHN0b3JlZCBhcyBudW1iZXJzAGluc3RlYWQgb2Ygc3RyaW5ncyAodHJ1ZSB3aGVuAG5vdCBnaXZlbikuAHNwbGl0KCIxLDIsMyIpIC0tIHsxLDIsM30Ac3BsaXQoIjEsLDIsIikgLS0gezEsIiIsMiwiIn0Ac3BsaXQoIm9uZTp0d286MyIsIjoiLGZhbHNlKQAgLS0+IHsib25lIiwidHdvIiwiMyJ9AHRvc3RyAIAgdG9zdHIodmFsLCBbZm9ybWF0XSkAY29udmVydCB2YWwgdG8gYSBzdHJpbmcuAGZvcm1hdCBpcyBhIGJpdGZpZWxkOgAgIDB4MTogd3JpdGUgYXMgcmF3IGhleGFkZWNpbWFsACAgMHgyOiB3cml0ZSByYXcgaW50MzIAP3Rvc3RyKDE3KSAgIC0tICIxNyIAP3Rvc3RyKDE3LDEpIC0tICIweDAwMTEuMDAwMCIAP3Rvc3RyKDE3LDMpIC0tICIweDAwMTEwMDAwIgA/dG9zdHIoMTcsMikgLS0gIjExMTQxMTIiAHRvbnVtAIAgdG9udW0odmFsLCBbZm9ybWF0XSkAY29udmVydCB2YWwgdG8gYSBudW1iZXIsIG9yAHJldHVybiBub3RoaW5nIHdoZW4gbm8gbnVtYmVyAGNhbiBiZSByZWFkLgAgIDB4MTogcmVhZCB2YWwgYXMgaGV4YWRlY2ltYWwAICAgICAgIHdpdGggbm8gIjB4IiBwcmVmaXgAICAweDI6IHJlYWQgdmFsIGFzIGEgcmF3IGludDMyACAgMHg0OiByZXR1cm4gMCB3aGVuIHZhbCBjYW4AICAgICAgIG5vdCBiZSByZWFkIGFzIGEgbnVtYmVyAD90b251bSgiZmYiLDB4MSkgICAgICAtLSAyNTUAP3RvbnVtKCIxMTE0MTEyIiwweDIpIC0tIDE3AD90b251bSgiMTIzNGFiY2QiLDB4MykAIC0tPiAweDEyMzQuYWJjZABhZGQAgCBhZGQodGJsLCB2YWwsIFtpbmRleF0pAGFkZCB2YWx1ZSB2YWwgdG8gZW5kIG9mIHRhYmxlAHRibC4gZXF1aXZhbGVudCB0bzoAdGJsWyN0YmwgKyAxXSA9IHZhbABpZiBpbmRleCBpcyBnaXZlbiwgdGhlIG5ldwBlbnRyeSBpcyBpbnNlcnRlZCBhdCB0aGF0AHBvc2l0aW9uLgBmb289ezEwLDIwLDMwfQBhZGQoZm9vLDI1LDMpIC0tPiAxMCwyMCwyNSwzMABhcHBsaWVzIHRvIHRhYmxlcyBpbmRleGVkIGJ5AGludGVnZXJzIHN0YXJ0aW5nIGF0IDEuAGRlbACAIGRlbCh0YmwsIHZhbCkAZGVsZXRlIHRoZSBmaXJzdCBpbnN0YW5jZSBvZgB2YWwgaW4gdGFibGUgdGJsIGFuZCBtb3ZlIHRoZQByZW1haW5pbmcgZW50cmllcyB1cCBvbmUgcGxhY2UuAHJldHVybnMgdGhlIGRlbGV0ZWQgaXRlbSwgb3Igbm8AdmFsdWUgd2hlbiBub3RoaW5nIHdhcyBkZWxldGVkLgBhPXsxLDEwLDIsM30AZGVsKGEsIDEwKSAtLT4gMSwyLDMAZGVsaQCAIGRlbGkodGJsLCBpbmRleCkAZGVsZXRlIGFuIGl0ZW0gZnJvbSB0YWJsZSB0YmwAYXQgYSBnaXZlbiBpbmRleCwgYW5kIG1vdmUgdGhlAHdoZW4gaW5kZXggaXMgbm90IGdpdmVuLCBkZWxldGUAYW5kIHJldHVybiB0aGUgbGFzdCBpdGVtOgBhPXsxLDIsMyw0fQBkZWxpKGEsMikgLS0+IDEsMyw0AGRlbGkoYSkgICAtLT4gMSwzAGFsbACAIGFsbCh0YmwpAHVzZWQgaW4gZm9yIGxvb3BzIHRvIGl0ZXJhdGUAb3ZlciBhbGwgaXRlbXMgaW4gYSB0YWJsZS4AdG90YWwgPSAwAGE9ezEwLDIwLDMwfQBmb3IgbiBpbiBhbGwoYSkgZG8AICB0b3RhbCArPSBuAD9uICAgLS0gNjAAZm9yZWFjaACAIGZvcmVhY2godGJsLCBmdW5jKQBmb3IgZWFjaCBpdGVtIGluIHRhYmxlIHRibCwgY2FsbAB0aGUgZnVuY3Rpb24gZnVuYyB3aXRoIHRoYXQgaXRlbQBhcyBhbiBhcmd1bWVudC4APiBmb3JlYWNoKHsxLDIsImhleSJ9LCBwcmludCkAaGV5AHBhaXJzAIAgcGFpcnModGJsKQB1c2VkIHRvIGl0ZXJhdGUgb3ZlciBhbGwgaXRlbXMAaW4gYSB0YWJsZSwgaW5jbHVkaW5nIGtleXMgdGhhdABhcmUgYXJlIG5vdCBpbnRlZ2Vycy4gZWFjaCBjYWxsAHRvIHRoZSBmdW5jdGlvbiBpdCBnZW5lcmF0ZXMAcmV0dXJucyBib3RoIHRoZSBrZXkgKGspIGFuZCB0aGUAdmFsdWUgKHYpIGZvciB0aGF0IGl0ZW06AGEgPSB7Zm9vID0gMywgWzEuNV0gPSAiYmxhaCJ9AGZvciBrLHYgaW4gcGFpcnMoYSkgZG8AICBwcmludCgiazoiLi5rLi4iICB2OiIuLnYpAGs6Zm9vICB2OjMAazoxLjUgIHY6YmxhaABydW4AgCBydW4oW3BhcmFtX3N0cl0pAHJ1biB0aGUgcHJvZ3JhbS4gd2hlbiBjYWxsZWQAd2hlbiBhbHJlYWR5IHJ1bm5pbmcsIHRoZQBwcm9ncmFtIGlzIHJlc3RhcnRlZC4AcGFyYW1fc3RyIGlzIGEgc3RyaW5nIHRoYXQgY2FuAGJlIGFjY2Vzc2VkIGR1cmluZyBydW50aW1lIHdpdGgAc3RhdCg5KS4Ac3RvcACAIHN0b3AoW21lc3NhZ2VdKQBzdG9wIHRoZSBjdXJyZW50bHkgcnVubmluZwBwcm9ncmFtIGFuZCBvcHRpb25hbGx5IHByaW50AGEgbWVzc2FnZS4AYSBzdG9wcGVkIHByb2dyYW0gY2FuIHJlc3VtZWQAd2l0aCB0aGUgcmVzdW1lIGNvbW1hbmQsIG9yAGFkdmFuY2VkIGJ5IGEgc2luZ2xlIGZyYW1lIHdpdGgAYSBmdWxsIHN0b3AuAHJlc3VtZQCAID4gcmVzdW1lACAgID4gLgByZXN1bWUgYSBwcm9ncmFtIHRoYXQgd2FzAHN0b3BwZWQgZWl0aGVyIHdpdGggc3RvcCgpIG9yAGJ5IHByZXNzaW5nIGVzY2FwZS4AYSBzaW5nbGUgZnJhbWUgY2FuIGJlIHJ1biBieQBlbnRlcmluZyBhIGZ1bGwgc3RvcCwgYW5kIHRoZW4AcHJlc3NpbmcgZW50ZXIgdG8gZ2V0IHN1YnNlcXVlbnQAZnJhbWVzLgByZXNldACAIHJlc2V0KCkAcmVzdG9yZSB0aGUgdmFsdWVzIGluIHJhbSBmcm9tADB4NWYwMC4uMHg1ZjdmIHRvIHRoZWlyIGRlZmF1bHQAdmFsdWVzLgB0aGlzIGluY2x1ZGVzIHRoZSBwYWxldHRlLABjYW1lcmEgcG9zaXRpb24sIGNsaXBwaW5nLCBhbmQAZmlsbCBwYXR0ZXJuLgBpdCBjYW4gYWxzbyBiZSB1c2VkIGZyb20gY29tbWFuZABsaW5lIHdpdGhvdXQgdGhlIGJyYWNrZXRzLiB0aGlzAGNhbiBiZSB1c2VmdWwgd2hlbiB0aGUgdGV4dCBpcwBpbnZpc2libGUgYmVjYXVzZSBvZiBwYWxldHRlAGNoYW5nZXMuAHlpZWxkAIAgeWllbGQoKQBleGl0IGEgY29yb3V0aW5lIGFuZCB0aGVuAHJlc3VtZSBhdCB0aGF0IHBvaW50IHdoZW4AY29yZXN1bWUoKSBpcyBjYWxsZWQuAGZvciBhbiBleGFtcGxlLCBzZWU6AGNvcmVzdW1lAGNvY3JlYXRlAGNvcm91dGluZQBjb3JvdXRpbmVzAIAgY29jcmVhdGUoZikAICAgY29yZXN1bWUoYywgW3AwLCBwMSwgLi4uXSkAY3JlYXRlIGEgY29yb3V0aW5lIGZyb20gYQBmdW5jdGlvbiBmLCBhbmQgdGhlbiBydW4gaXQAd2l0aCBhcmd1bWVudHMgcDAsIHAxLi4AZnVuY3Rpb24gaGV5KCkAICBwcmludCJkb2luZyBzb21ldGhpbmciACAgeWllbGQoKQAgIHByaW50InNvbWV0aGluZyBlbHNlIgAgIHByaW50ImZpbmlzaGVkIgBjID0gY29jcmVhdGUoaGV5KQBjb3Jlc3VtZShjKSAgLS0gZG9pbmcgc29tZXRoaW5nAGNvcmVzdW1lKGMpICAtLSBzb21ldGhpbmcgZWxzZQA/Y29zdGF0dXMoYykgLS0gInN1c3BlbmRlZCIAY29zdGF0dXMAgCBjb3N0YXR1cyhjKQByZXR1cm5zIHRoZSBzdGF0dXMgb2YgYQBjb3JvdXRpbmUgYyBhcyBhIHN0cmluZzoAICBydW5uaW5nACAgc3VzcGVuZGVkACAgZGVhZAB0aW1lAHQAgCB0aW1lKCkAICAgdCgpAHJldHVybnMgdGhlIG51bWJlciBvZiBzZWNvbmRzAHNpbmNlIHRoZSBwcm9ncmFtIHN0YXJ0ZWQAcnVubmluZywgdGFrZW4gZnJvbSB0aGUgbW9tZW50AHRoZSBjdXJyZW50IGZyYW1lIHN0YXJ0ZWQuAG1lbnVpdGVtAIAgbWVudWl0ZW0oaW5kZXgsIFtsYWJlbF0sIFtmXSkAYWRkIGFuIGl0ZW0gdG8gdGhlIHBhdXNlIG1lbnUgAGF0IHNsb3QgaW5kZXggKDEuLjUpIHdpdGggYQBsYWJlbCA8PSAxNiBjaGFycyBsb25nLgBmIGlzIGEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQAd2hlbiB0aGUgbWVudSBpdGVtIGlzIHNlbGVjdGVkAG9yIHRoZSBsZWZ0IG9yIHJpZ2h0IGJ1dHRvbnMAYXJlIHByZXNzZWQuIGl0IHRha2VzIGEgc2luZ2xlAGJpdGZpZWxkIHBhcmFtZXRlciBpbmRpY2F0aW5nAHdoaWNoIGJ1dHRvbiB3YXMgcHJlc3NlZC4AbWVudWl0ZW0oMSwgImZvbyIsIGZ1bmN0aW9uKGIpACA/InNlbGVjdGVkIGZvbzoiLi5iAGVuZCkAd2hlbiBubyBsYWJlbCBvciBjYWxsYmFjayBpcwBzcGVjaWZpZWQsIHRoZSBpdGVtIGlzIGRlbGV0ZWQuAHN0YXQAgCBzdGF0KHgpAGdldCBzeXN0ZW0gc3RhdHVzACAwIG1lbW9yeSB1c2FnZSAoMC4uMjA0OCkAIDEgY3B1ICAgICAgKDEuMCA9PSAxMDAlKQAgNCBjbGlwYm9hcmQgY29udGVudHMAIDYgcGFyYW1ldGVyIHN0cmluZwAgNyBjdXJyZW50IGZyYW1lcmF0ZQAgNDYuLjQ5IGN1cnJlbnQgcGxheWluZyBzZngAIDUwLi41MyBub3RlIG51bWJlciAocGVyIGNoYW4pACA1NCBjdXJyZW50bHkgcGxheWluZyBwYXR0ZXJuACA1NSB0b3RhbCBwYXR0ZXJucyBwbGF5ZWQAIDU2IHRpY2tzIHBsYXllZCBvbiBwYXR0ZXJuACA1NyB0cnVlIHdoZW4gbXVzaWMgcGxheWluZwAgODAuLjg1IHV0YyB0aW1lOyB5ZWFyLi5zZWNvbmQAIDkwLi45NSBsb2NhbCB0aW1lACAxMDAgYnJlYWRjcnVtYiBsYWJlbCwgb3IgbmlsAHNlcmlhbACAIHNlcmlhbChjaGFubmVsLCBhZGRyLCBsZW4pAHJlYWQvd3JpdGUgZGF0YSB0byBhIG1lbW9yeQBhZGRyZXNzIGZvciBsZW4gYnl0ZXMuAGNoYW5uZWw6ACAweDAwMC4uMHgwZmUgZ3BpbyBwaW5zIChyYXNwaSkAIDB4MGZmIGRlbGF5IGZvciBsZW4gbXMAIDB4ODAwIGRyb3BwZWQgZmlsZSAtLSBzdGF0KDEyMCkAIDB4ODAyIGRyb3BwZWQgZmlsZQAgMHg4MDQgc3RkaW4AIDB4ODA1IHN0ZG91dABleHRjbWQAgCBleHRjbWQoY21kX3N0cikAc3BlY2lhbCBzeXN0ZW0gY29tbWFuZHMgY2FuIGJlAGlzc3VlZCBmcm9tIGEgcnVubmluZyBwcm9ncmFtOgBwYXVzZTogcGF1c2UgY2FydAByZXNldDogcmVzZXQgY2FydABnb19iYWNrOiByZXR1cm4gdG8gcHJldmlvdXMgY2FydABsYWJlbDogc2V0IGNhcnQgbGFiZWwAc2NyZWVuOiBzYXZlIGEgc2NyZWVuc2hvdAByZWM6IHNldCB2aWRlbyBzdGFydCBwb2ludAByZWNfZnJhbWVzOiAxIGZyYW1lIHBlciBmbGlwAHZpZGVvOiBzYXZlIGEgLmdpZiB0byBkZXNrdG9wAGF1ZGlvX3JlYzogc3RhcnQgcmVjb3JkaW5nIGF1ZGlvAGF1ZGlvX2VuZDogc2F2ZSAud2F2IHRvIGRlc2t0b3AAc2h1dGRvd246IChmb3IgZXhwb3J0ZWQgY2FydHMpAGZvbGRlcjogb3BlbiBjdXJyZW50IGZvbGRlcgBsb2FkAIAgPiBsb2FkIGZpbGVuYW1lACAgIGxvYWQoZmlsZW5hbWUsIFticmVhZGNydW1iXSwAICAgW3BhcmFtX3N0cl0pAGxvYWQgYSBjYXJ0cmlkZ2UuIHdoZW4gY2FsbGVkAGZyb20gYSBydW5uaW5nIHByb2dyYW0sIHRoZQBsb2FkZWQgY2FydHJpZGdlIGlzIGltbWVkaWF0ZWx5AHJ1biB3aXRoIHBhcmFtX3N0ciAoYWNjZXNzaWJsZQB3aXRoIHN0YXQoNikpIGFuZCBhIG1lbnUgaXRlbQB3aXRoIHRoZSBsYWJlbCBicmVhZGNydW1iIGlzAGluc2VydGVkLCBhbGxvd2luZyB0aGUgdXNlciB0bwByZXR1cm4gdG8gdGhlIHByZXZpb3VzIGNhcnQuAGZpbGVuYW1lcyBzdGFydGluZyB3aXRoICMgYXJlAHRha2VuIHRvIGJlIGJicyBjYXJ0cmlkZ2UgaWRzLgBzYXZlAIAgPiBzYXZlIGZpbGVuYW1lAHNhdmUgdGhlIHdvcmtpbmcgY2FydHJpZGdlIHRvIGEAZmlsZS4gd2hlbiB0aGUgZmlsZSBkb2VzIG5vdABjb250YWluIHRoZSAucDggZXh0ZW5zaW9uLCBpdCBpcwBhZGRlZCBhdXRvbWF0aWNhbGx5OgA+IHNhdmUgZm9vAHNhdmVkIGZvby5wOAB1c2UgLnBuZyBpbiB0aGUgZmlsZW5hbWUgdG8gc2F2ZQBhIC5wOC5wbmcgY2FydHJpZGdlLiB0byBjYXB0dXJlAGEgbGFiZWwgYmVmb3JlaGFuZCwgcHJlc3MgY3RybC03AHRvIHNhdmUgdG8gY2xpcGJvYXJkLCB1c2U6AD5zYXZlIEBjbGlwAHRoaXMgY2FuIGJlIHBhc3RlZCBhcyB0ZXh0IGFuZABpcyBzdXBwb3J0ZWQgYnkgdGhlIGJicy4AaW1wb3J0AIAgPiBpbXBvcnQgZmlsZW5hbWUAaW1wb3J0IGFuIGltYWdlIG1hcHBpbmcgdG8gdGhlAGN1cnJlbnQgcGFsZXR0ZS4gdW5sZXNzIC1sIGlzAHVzZWQsIGltcG9ydCB0byB0aGUgc3ByaXRlc2hlZXQuACAtbCAgICAgLS0gaW1wb3J0IGNhcnQgbGFiZWwAIC14IG51bSAtLSBsb2FkIGF0IHggcG9zaXRpb24AIC15IG51bSAtLSBsb2FkIGF0IHkgcG9zaXRpb24APiBpbXBvcnQgLWwgbXlsYWJlbC5wbmcAZXhwb3J0AIAgPiBleHBvcnQgZmlsZW5hbWUgAGV4cG9ydCBhIGZpbGUgYmFzZWQgb24gdHlwZToAIC5wbmcgIHNwcml0ZXNoZWV0ACAud2F2ICBjdXJyZW50IHNmeCBvciBwYXR0ZXJuACAuYmluICBzdGFuZC1hbG9uZSBiaW5hcmllcwAgLmh0bWwgc3RhbmQtYWxvbmUgd2ViIGFwcAAgLnA4LnBuZyAgIHNhdmUgYSBjb3B5ACAubWFwLnBuZyAgbWFwIHZpc3VhbGlzYXRpb24AZXhwb3J0IGxhYmVsOgA+IGV4cG9ydCAtbCBsYWJlbC5wbmcAdGlueSAucm9tIGZvcm1hdCAoY29kZSBvbmx5KToAPiBleHBvcnQgLXQgZm9vLnA4LnJvbQBiaW5hcnkgbXVsdGljYXJ0OgA+IGV4cG9ydCBmb28uYmluIGNhcnQyLnA4IGMzLnA4AGluZm8AgCA+IGluZm8AZ2V0IHNvbWUgaW5mb3JtYXRpb24gYWJvdXQgdGhlAGN1cnJlbnRseSBsb2FkZWQgY2FydHJpZGdlOgAgZmlsZW5hbWUAIGNhcGFjaXR5IHN0YXRzACB1bnNhdmVkIGNoYW5nZXMAZm9sZGVyAIAgPiBmb2xkZXIgW3doaWNoXQBvcGVuIHRoZSBjdXJyZW50IGZvbGRlciBpbiB0aGUAaG9zdCdzIGZpbGUgbmF2aWdhdG9yLgB3aGVuIHdoaWNoIGlzIGdpdmVuLCBhIHNwZWNpYWwAbG9jYXRpb24gaXMgb3BlbmVkOgAgYmFja3VwcwAgY29uZmlnACBiYnMAIGRlc2t0b3AAdG8gb3BlbiBhIGZvbGRlciBmcm9tIGEgcnVubmluZwBjYXJ0cmlkZ2UgdGhhdCBoYXMgYmVlbiBleHBvcnRlZAB0byBiaW5hcnksIHVzZSBleHRjbWQoImZvbGRlciIuAHNodXRkb3duAIAgPiBzaHV0ZG93bgBwcm9tcHQgZm9yIGFueSB1bnNhdmVkIGNoYW5nZXMAYW5kIHRoZW4gY2xvc2UgcGljby04LgBmb3IgZmFzdCBzaHV0ZG93biwgdXNlIGtleXM6ACBhbHQtZjQgKHdpbmRvd3MpACBjdHJsLXEgKGxpbnV4IC8gbWFjKQBscwBkaXIAgCA+IGxzIFtwYXRoXQBsaXN0IGFsbCBvZiB0aGUgY2FydHMgaW4AdGhlIGdpdmVuIHBhdGguAGxzICogdG8gc2hvdyBoaWRkZW4gZmlsZXMAcmVib290AIAgPiByZWJvb3QAYW5kIHRoZW4gcmVib290IHBpY28tOC4AdGhpcyBpcyB0aGUgcmVjb21tZW5kZWQgd2F5IHRvAHN0YXJ0IGEgbmV3IGVtcHR5IHByb2plY3QuAHNwbG9yZQCAID4gc3Bsb3JlACAgID4gcwBvcGVuIHNwbG9yZTogcGljby04J3MgYmJzAGNhcnRyaWRnZSBicm93c2VyLgB1c2UgbGVmdCBhbmQgcmlnaHQgdG8gc3dpdGNoAGJldHdlZW4gY2FydHJpZGdlIGxpc3RzLCBhbmQAdXAgYW5kIGRvd24gdG8gc2VsZWN0IGEgY2FydC4AdXNlIJcvjiB0byBvcGVuIGEgY2FydHJpZGdlAG9yIHRoZSBtZW51IGJ1dHRvbiBmb3IgbW9yZQBvcHRpb25zLgBsb2dpbgBsb2dvdXQAgCA+IGxvZ2luACAgID4gbG9nb3V0AGxvZyBpbiB0byB5b3VyIGxleGFsb2ZmbGUAYWNjb3VudC4gd2hpbGUgbG9nZ2VkIGluLCB1c2VycwBhcmUgYWJsZSB0byBzdWJtaXQgaGlnaCBzY29yZXMAdXNpbmcgc2NvcmVzdWIoKSwgYWRkIHN0YXJzIHRvAGNhcnRzLCBhbmQgc3luYyBiYnMgZmF2b3VyaXRlcy4AW25vdCBpbXBsZW1lbnRlZCB5ZXQhXQB0b3BpYyBub3QgZm91bmQ6AF4KIDAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiEjJSgpe31bXTw+Kz0vKjo7Lix+XwBpZihfdXBkYXRlNjApX3VwZGF0ZT1mdW5jdGlvbigpX3VwZGF0ZTYwKClfdXBkYXRlNjAoKWVuZABpZihfdXBkYXRlNjApX3VwZGF0ZT1mdW5jdGlvbigpX3VwZGF0ZTYwKClfdXBkYXRlX2J1dHRvbnMoKV91cGRhdGU2MCgpZW5kAEdJRjg3YQBHSUY4OWEAAAEDBw8fP3//JXMlcy5wOGQudHh0ACUwOHgAY2FydGRhdGEoKSBjYW4gb25seSBiZSBjYWxsZWQgb25jZQBjYXJ0IGRhdGEgaWQgdG9vIGxvbmcAY2FydCBkYXRhIGlkOiBiYWQgY2hhcgAud2F2AC5yYXcAZXhwb3J0IGlzIHVuYXZhaWxhYmxlAGNvdWxkIG5vdCBvcGVuIGZpbGUAd3JvdGUgJWQgZmlsZSVjAG5vIHJlY29yZGluZyBpbiBwcm9ncmVzcwBzZnggJWQgOjogdGlja3MgJWQAcGF0dGVybiAlZAAlc18lJWQuJXMAJXMuJXMAd2F2AHBsYXllciBrZXkgY29uZmlnAHNhdmVkIGNvbmZpZy4AcHJlc3MgZXNjYXBlAHRvIGNvbnRpbnVlAHByZXNzIGtleSBmb3I6AGRlbCBmb3IgZGVmYXVsdABlc2MgdG8gY2FuY2VsACVzIDogJXMAbGVmdAByaWdodAB1cABkb3duAHogLyBjIC8gbgB4IC8gdiAvIG0AcwBmAGUAZAB0YWIAcQBwIC8gZW50ZXIAcDEgbGVmdCAgICAAcDEgcmlnaHQgICAAcDEgdXAgICAgICAAcDEgZG93biAgICAAcDEgjiAgICAgIABwMSCXICAgICAgAHAyIGxlZnQgICAgAHAyIHJpZ2h0ICAgAHAyIHVwICAgICAgAHAyIGRvd24gICAgAHAyII4gICAgICAAcDIglyAgICAgIABwYXVzZSAgICAgIABscnVkb3hwY3Vyc29ycwB6IHgvYyB2AHMgZiBlIGQAdGFiIHEgdwAgICAgICAgACVkIGpveXN0aWNrcyBkZXRlY3RlZAAucG5nAHwlLTIwcyB8JS0yMHMgfCUtNmQgfCUtMTZzIHwlLTIwcyB8JXMKAGNvdWxkIG5vdCBsb2FkIGZhdm91cml0ZXMgZmlsZTogJXMKAGJicwBiYnMvJWQvACVzdGVtcC0lZC5uZm8AJXMlZC5wOC5wbmcAYmJzL2NhcnRzACVzL3RlbXAtJXMubmZvACVzLyVzLnA4LnBuZwAlcy9iYnMvZ2V0X2NhcnQucGhwP2NhdD03JnBsYXlfc3JjPSVkJmxpZD0lcwBiYnMvbGFiZWxzLwAlcyVzLnBuZwBydW4gY2FydABvcHRpb25zAHJlbW92ZSBmcm9tIGZhdm91cml0ZXMAZmF2b3VyaXRlAGNhcnRzIGJ5IEAlcwBzaW1pbGFyIGNhcnRzAHNlYXJjaCBiYnMgdGhyZWFkAG9wZW4gdGhyZWFkIGluIGJyb3dzZXIAW2JhY2tdAGVkaXQgY2FydAByZS1kb3dubG9hZABvcGVuIGluIGJyb3dzZXIAYmFjawB2b2x1bWUAZnVsbHNjcmVlbgBzaHV0ZG93biBwaWNvLTgAY2F0PTcmc2VhcmNoPSVzJm1heD0zMgBiYnMvdGVtcF8lc19fLnBpcC5wbmcAYmJzL3RlbXBfJXMucGlwLnBuZwBiYnMvJXMucGlwLnBuZwAvYmJzL2Nwb3N0X2xpc3RlcjMucGhwP21heD0zMiZzdGFydF9pbmRleD0lZCYlcyZ2ZXJzaW9uPSVzJWMmY2ZpbD0lZAAwMDAyMDVnAGRvd25sb2FkIGZhaWxlZAAucDgAbGlkAHRpdGxlAGF1dGhvcgBtaWQAY2F0c3ViACBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkAY2FuY2VsbGVkAGRvd25sb2FkIGNhbmNlbGxlZABQSUNPLTgAeyBpZiAodHlwZW9mIHBpY284X2dwaW8gIT09ICd1bmRlZmluZWQnKSBwaWNvOF9ncGlvWyQwXT0kMX0Ae3ZhciB2YWw9MDsgaWYgKHR5cGVvZiBwaWNvOF9ncGlvICE9PSAndW5kZWZpbmVkJykgdmFsID0gcGljbzhfZ3Bpb1skMF07IHJldHVybiB2YWx9AGhlbGxvLnA4AGFwaS5wOABhdXRvbWF0YS5wOABib3VuY2UucDgAY2FzdC5wOABjb2xsaWRlLnA4AGRvdHMzZC5wOABkcmlwcHkucDgAamVscGkucDgAc29ydC5wOAB3YW5kZXIucDgAd2F2ZXMucDgAMTUxMzMAMTk2MzkAMTAwMjIAMTk0ODgAMTg5NzMANDE0MjIANTcyMDEAY2VsZXN0ZS5wOC5wbmcAZnJvZ19ob21lLnA4LnBuZwBodWdfYXJlbmEucDgucG5nAGFyY2hlb3MucDgucG5nAGR1c2tfY2hpbGQucDgucG5nADhfbGVnc190b19sb3ZlLnA4LnBuZwBlbWJyYWNlLnA4LnBuZwBjZWxlc3RlAGZyb2cgaG9tZQBodWcgYXJlbmEAdG93ZXIgb2YgYXJjaGVvcwBkdXNrIGNoaWxkADggbGVncyB0byBsb3ZlAGVtYnJhY2UAaW5zdGFsbGluZyBkZW1vIGNhcnRzIHRvIC9kZW1vcy8AZGVtb3MvAGNvdWxkIG5vdCB3cml0ZSB0byBkaXNrAGZhdm91cml0ZXMudHh0AGdhbWVzLwAjaW5jbHVkZSAAY2FuIG5vdCAjaW5jbHVkZQBzZXJpYWwgYnVmZmVyIG92ZXJmbG93ACUxMDIzcwBmcmVxAGRtYQB0eXBlAGJyaWdodG5lc3MAaW52ZXJ0AGxlZHMAcGljby04IDAuMi41ZwAoYykgMjAxNC0yMyBsZXhhbG9mZmxlIGdhbWVzIGxscABib290aW5nIGNhcnRyaWRnZS4uAFtjb2RvXSAlcwA+Y29kb19pbml0CgBwbGF0Zm9ybTogJXMKAEVtc2NyaXB0ZW4AY29kb19zeXN0ZW1faW5pdAoAY29kb19yZXNldF90aW1lcgoAY29kb19ndWlfaW5pdAoAY29kb19rZXlzX2luaXQKAGNvZG9fdGV4dF9pbml0CgBjb2RvX3ZpZGVvX2luaXQKAGNvZG9fbW91c2VfaW5pdAoAY29kb19qb3lzdGlja19pbml0CgA8b2sKAHdpZHRoAGhlaWdodAB3aW5kb3dfeAB3aW5kb3dfeQBzb3VuZABtdXNpYwBzb2Z0d2FyZV9ibGl0AHNvZnR3YXJlX2JsaXR0ZXIAaG9tZQBkZXNrdG9wAHBpeGVsX3BlcmZlY3QAZHJhd19yZWN0AHRpbWVvdXQAaGVhZGxlc3MAcGVyZl90aW1pbmcAZnJhbWVidWZmZXIAZW11bGF0ZV90ZXh0aW5wdXQAZGVmZXJyZWRfZGVhbGxvYwBleHRfZGlzcGxheQBwcmVibGl0X3NjYWxlAGRpc3BsYXkAbG9nX3N5c3RlbV9pbmZvACVkACVkLCVkLCVkLCVkAD5jb2RvX2V4aXQKAGNtdXNpY19zdG9wCgBjb2RvX21haW5fZXhpdAoAY29kb19jb25maWdfc2F2ZQoAY29kb19zb3VuZF9leGl0CgBjb2RvX3ZpZGVvX2V4aXQKAGNvZG9fam95c3RpY2tfZXhpdAoAY29kb19zeXN0ZW1fZXhpdAoAY29kb19pdGVtc19jcmVhdGVkOiAlZAoARlMuc3luY2ZzKCBmYWxzZSwgZnVuY3Rpb24gKGVycikgeyB9ICk7ACUyMHM6JTAzZCAgIAAgIC49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LAAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAAgIHwgIFRvIG1hcCBrZXkgQSB0byBCICh3aGVuIEEgaXMgcHJlc3NlZCwgaXQgc2hvd3MgdXAgYXMgaWYgQiB3ZXJlIHByZXNzZWQpLCAgfAAgIHwgIHByZXNzIEEgdG8gZ2V0IHRoZSBzY2FuY29kZSwgYW5kIGxvb2sgdXAgQiBpbiB0aGUgbGlzdC4gVGhlbiwgYWRkIGl0IHRvICAgfAAgIHwgIG1hcF9zY2FuY29kZXMgaW4gY29uZmlnLnR4dC4gRm9yIGV4YW1wbGUsIHRvIG1hcCBiYWNrc3BhY2UgKDQyKSBhcyAgICAgICAgfAAgIHwgIGVzY2FwZSAoNDEpLCBhbmQgYWxzbyByaWdodCBzaGlmdCgyMjkpIGFzIHJpZ2h0IGN1cnNvciBrZXkgKDc5KTogICAgICAgICAgfAAgIHwgIG1hcF9zY2FuY29kZXMgNDI9NDEsMjI5PTc5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAAgIHwgIE5vdGU6IHRoaXMgZG9lcyBub3QgYXBwbHkgdG8gdGV4dGlucHV0IGV2ZW50cyBtYXBwZWQgdmlhIGtiZCBsYXlvdXQuICAgICAgfAAgIGA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09JwA6OiBzY2FuY29kZSB2aWV3ZXIgICAgLy8gYWx0K2Y0IC8gY3RybC1xIHRvIHF1aXQAJTAzZABwcmVzc2VkIHNjYW5jb2RlOiU0ZCAgICBuYW1lOiUxNnMKAC1zY2FuY29kZXMAY29kb19kZXN0cm95X3BvZDogY3BvZC0+aXRlbXMgIT0gMAoAQmFkIGNwb2RfYWRkX2l0ZW0gdHlwZQBCYWQgY3BvZF9hZGRfaXRlbQBDT04AUFJOAEFVWABOVUwAQ09NMABDT00xAENPTTIAQ09NMwBDT000AENPTTUAQ09NNgBDT003AENPTTgAQ09NOQBMUFQwAExQVDEATFBUMgBMUFQzAExQVDQATFBUNQBMUFQ2AExQVDcATFBUOABMUFQ5AGNvZG9fbG9hZF9wb2RfZmlsZTogVW5rbm93biBDaHVuayEKAHJiAGZhaWxlZABvawBjb2RvX2xvYWRfcG9kOiAlcyAlcyAKACoqIHdlYiBmaWxlIHN5c3RlbSBub3QgbW91bnRlZC4gcmV0dXJuaW5nIHZkaXNrIGZpbGU6ICVzICglcykKACAtPiByZXR1cm5pbmcgdmRpc2sgZmlsZTogJXMgKCVzKQoAY29kb19zcGxpdF9maWxlbmFtZV9leDogZmlsZV9uYW1lIHRvbyBsb25nCgAie3JldHVybiAoKHR5cGVvZiBwOF90b3VjaF9kZXRlY3RlZCA9PT0gJ3VuZGVmaW5lZCcpIHx8ICFwOF90b3VjaF9kZXRlY3RlZCkgPyAwIDogMTt9IgBAQCBkZWZhdWx0IG1peF9idWZmZXJfc2l6ZSBhZGp1c3RlZCB0byAyMDQ4IChNb2JpbGUpAGNvbmZpZy50eHQARm91bmQgY29uZmlnLnR4dAoAPgoAJTAyZCAlcwoAdmlkZW9fbW9kZQAgJWQgJWQAd2luZG93X3NpemUAc2NyZWVuX3NpemUAd2luZG93ZWQAICVkAGZvcmVncm91bmRfc2xlZXBfbXMAYmFja2dyb3VuZF9zbGVlcF9tcwBzb3VuZF92b2x1bWUAbXVzaWNfdm9sdW1lAG1peF9idWZmZXJfc2l6ZQB3aW5kaWIAb3BlbmdsX2JsaXQAc2hvd19mcHMAbGFyZ2Vfd2luZG93AGZyYW1lbGVzcwB3aW5kb3dfcG9zaXRpb24AbmV3IHdpbmRvdyBwb3NpdGlvbjogJWQsICVkCgBzZXNzaW9ucwBybWJfa2V5AGRlc2t0b3BfcGF0aABmdWxsc2NyZWVuX21ldGhvZABibGl0X21ldGhvZAByZWFkX2NvbnRyb2xsZXJzX2luX2JhY2tncm91bmQAbWFwX3NjYW5jb2RlcwAlZD0lZAA8CgB3AHNvdW5kX3ZvbHVtZSAlZCAvLyAwLi4yNTYKAG11c2ljX3ZvbHVtZSAlZCAvLyAwLi4yNTYKAC4uAH4AY29kb19zYXZlX3BuZyByZXN1bHQ6ICVkICBmaWxlOiAlcwoACkFzc2VydGlvbiBmYWlsZWQ6ICVzCgBDb3VsZCBub3QgYWxsb2NhdGUgdmVydGV4AENvdWxkIG5vdCBhbGxvY2F0ZSBib25lX3ZlcnRleABDb3VsZCBub3QgYWxsb2NhdGUgcG9seQBhY3RvciVkACAASUhEUgBQTFRFAGJLR0QAcEhZcwBJREFUAHRJTUUAelRYdABMb2RlUE5HADIwMTEwMjIxAGlUWHQAdEVYdAB0Uk5TAGNvZG9fZnJlZSBmYWlsICV4ICV4CgAlMDh4JTA4eCUwOHglMDh4JTA4eAAie3JldHVybiBkb2N1bWVudC5oaWRkZW4gPyAxIDogMDt9IgBjb2RvX3NvdW5kX2luaXQgbWl4X2J1ZmZlcl9zaXplOiAlZAoAY29kb19zZXRfc2NyZWVuICVkICVkICVkICV4CgByZXRyaWV2aW5nIGRlc2t0b3AgcmVzb2x1dGlvbjogJWQgJWQKACB3aW5kb3cgc2l6ZTogJWQgJWQKACBkZXNrdG9wIHNpemU6ICVkICVkCgBvawoAJVktJW0tJWQgJUg6JU06JVMAJXMvJXMAKgAlZC0lZC0lZCAlZDolZDolZABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAMQAyADMANAA1ADYANwA4ADkAMABSZXR1cm4ARXNjYXBlAEJhY2tzcGFjZQBUYWIAU3BhY2UALQA9AFsAXQBTbGFzaAAjADsAJwBgACwALwBDYXBzTG9jawBGMQBGMgBGMwBGNABGNQBGNgBGNwBGOABGOQBGMTAARjExAEYxMgBQcmludFNjcmVlbgBTY3JvbGxMb2NrAFBhdXNlAEluc2VydABIb21lAFBhZ2VVcABEZWxldGUARW5kAFBhZ2VEb3duAFJpZ2h0AExlZnQARG93bgBVcABOdW1sb2NrAEtleXBhZCAvAEtleXBhZCAqAEtleXBhZCAtAEtleXBhZCArAEtleXBhZCBFbnRlcgBLZXlwYWQgMQBLZXlwYWQgMgBLZXlwYWQgMwBLZXlwYWQgNABLZXlwYWQgNQBLZXlwYWQgNgBLZXlwYWQgNwBLZXlwYWQgOABLZXlwYWQgOQBLZXlwYWQgMABLZXlwYWQgLgBBcHBsaWNhdGlvbgBQb3dlcgBLZXlwYWQgPQBGMTMARjE0AEYxNQBGMTYARjE3AEYxOABGMTkARjIwAEYyMQBGMjIARjIzAEYyNABFeGVjdXRlAEhlbHAATWVudQBTZWxlY3QAU3RvcABBZ2FpbgBVbmRvAEN1dABDb3B5AFBhc3RlAEZpbmQATXV0ZQBWb2x1bWVVcABWb2x1bWVEb3duAEtleXBhZCAsAEtleXBhZCA9IChBUzQwMCkAQWx0RXJhc2UAU3lzUmVxAENhbmNlbABDbGVhcgBQcmlvcgBTZXBhcmF0b3IAT3V0AE9wZXIAQ2xlYXIgLyBBZ2FpbgBDclNlbABFeFNlbABLZXlwYWQgMDAAS2V5cGFkIDAwMABUaG91c2FuZHNTZXBhcmF0b3IARGVjaW1hbFNlcGFyYXRvcgBDdXJyZW5jeVVuaXQAQ3VycmVuY3lTdWJVbml0AEtleXBhZCAoAEtleXBhZCApAEtleXBhZCB7AEtleXBhZCB9AEtleXBhZCBUYWIAS2V5cGFkIEJhY2tzcGFjZQBLZXlwYWQgQQBLZXlwYWQgQgBLZXlwYWQgQwBLZXlwYWQgRABLZXlwYWQgRQBLZXlwYWQgRgBLZXlwYWQgWE9SAEtleXBhZCBeAEtleXBhZCAlAEtleXBhZCA8AEtleXBhZCA+AEtleXBhZCAmAEtleXBhZCAmJgBLZXlwYWQgfABLZXlwYWQgfHwAS2V5cGFkIDoAS2V5cGFkICMAS2V5cGFkIFNwYWNlAEtleXBhZCBAAEtleXBhZCAhAEtleXBhZCBNZW1TdG9yZQBLZXlwYWQgTWVtUmVjYWxsAEtleXBhZCBNZW1DbGVhcgBLZXlwYWQgTWVtQWRkAEtleXBhZCBNZW1TdWJ0cmFjdABLZXlwYWQgTWVtTXVsdGlwbHkAS2V5cGFkIE1lbURpdmlkZQBLZXlwYWQgKy8tAEtleXBhZCBDbGVhcgBLZXlwYWQgQ2xlYXJFbnRyeQBLZXlwYWQgQmluYXJ5AEtleXBhZCBPY3RhbABLZXlwYWQgRGVjaW1hbABLZXlwYWQgSGV4YWRlY2ltYWwATGVmdCBDdHJsAExlZnQgU2hpZnQATGVmdCBBbHQATGVmdCBHVUkAUmlnaHQgQ3RybABSaWdodCBTaGlmdABSaWdodCBBbHQAUmlnaHQgR1VJAE1vZGVTd2l0Y2gAQXVkaW9OZXh0AEF1ZGlvUHJldgBBdWRpb1N0b3AAQXVkaW9QbGF5AEF1ZGlvTXV0ZQBNZWRpYVNlbGVjdABXV1cATWFpbABDYWxjdWxhdG9yAENvbXB1dGVyAEFDIFNlYXJjaABBQyBIb21lAEFDIEJhY2sAQUMgRm9yd2FyZABBQyBTdG9wAEFDIFJlZnJlc2gAQUMgQm9va21hcmtzAEJyaWdodG5lc3NEb3duAEJyaWdodG5lc3NVcABEaXNwbGF5U3dpdGNoAEtCRElsbHVtVG9nZ2xlAEtCRElsbHVtRG93bgBLQkRJbGx1bVVwAEVqZWN0AFNsZWVwAEFwcDEAQXBwMgBBdWRpb1Jld2luZABBdWRpb0Zhc3RGb3J3YXJkAFVuYWJsZSB0byBpbml0aWFsaXplIFNETABpZiAodHlwZW9mIGNvZG9fa2V5X2J1ZmZlciA9PT0gJ3VuZGVmaW5lZCcpIGNvZG9fa2V5X2J1ZmZlciA9IFtdOyBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24oZSkgeyB2YXIgdmFsID0gLTE7IGlmIChlLmtleS5sZW5ndGggPT0gMSkgeyB2YWwgPSBlLmtleS5jaGFyQ29kZUF0KDApOyB9IGVsc2UgeyBpZiAoZS5rZXkgPT0gIlRhYiIpIHZhbCA9IDk7IGlmIChlLmtleSA9PSAiRW50ZXIiKSB2YWwgPSAxMzsgaWYgKGUua2V5ID09ICJCYWNrc3BhY2UiKSB2YWwgPSA4OyBpZiAoZS5rZXkgPT0gIkVzY2FwZSIpIHZhbCA9IDI3OyBpZiAodmFsID09IC0xKXsgfSB9IHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIik7IGNvZG9fa2V5X2J1ZmZlci5wdXNoKHZhbCk7IH0pOwB2YXIgX2NvZG9fdGV4dF92YWx1ZSA9ICIiOyB2YXIgX2NvZG9fc3RyX291dCA9ICIiOyB2YXIgY29kb193aGVlbF9keCA9IDA7IHZhciBjb2RvX3doZWVsX2R5ID0gMDsgYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgZnVuY3Rpb24oZXZlbnQpeyBpZiAodHlwZW9mIHBpY284X3N0YXRlICE9PSAndW5kZWZpbmVkJykgaWYgKGV2ZW50LnRhcmdldC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT0gImNhbnZhcyIpIHsgcGljbzhfc3RhdGUuY2xpY2tlZF9vdXRzaWRlID0gdHJ1ZTsgfSB9KTsAZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBmdW5jdGlvbihlKXsgZHggPSBlLmRlbHRhWDsgaWYgKGR4IDwgMCkgZHggPSAtMTsgaWYgKGR4ID4gMCkgZHggPSAxOyBpZiAoZS5kZWx0YU1vZGUgPT0gMikgZHggKj0gNDsgaWYgKHR5cGVvZiBjb2RvX3doZWVsX2R4ICE9PSAndW5kZWZpbmVkJykgY29kb193aGVlbF9keCAtPSBkeDsgZHkgPSBlLmRlbHRhWTsgaWYgKGR5IDwgMCkgZHkgPSAtMTsgaWYgKGR5ID4gMCkgZHkgPSAxOyBpZiAoZS5kZWx0YU1vZGUgPT0gMikgZHkgKj0gNDsgaWYgKHR5cGVvZiBjb2RvX3doZWVsX2R5ICE9PSAndW5kZWZpbmVkJykgY29kb193aGVlbF9keSAtPSBkeTsgfSk7AAoKKiogRkFUQUwgRVJST1I6ICVzCgoAU0RMIEVycm9yOiAlcwoAInt2YXIgcmV0ID0gMDsgaWYgKHR5cGVvZiBwaWNvOF9tb3VzZSAhPT0gJ3VuZGVmaW5lZCcgJiYgcGljbzhfbW91c2UubGVuZ3RoID4gMCkgcmV0PTE7IHJldHVybiByZXQ7fSIAIntyZXR1cm4gcGljbzhfbW91c2VbMF19IgAie3JldHVybiBwaWNvOF9tb3VzZVsxXX0iAGZ1bmN0aW9uIGF1ZGlvX2xvZyhtc2cpIHsgaWYgKHdpbmRvdy5jb25zb2xlICYmIHdpbmRvdy5jb25zb2xlLmxvZykgeyB3aW5kb3cuY29uc29sZS5sb2coIltjb2RvXSBhdWRpb19pbml0X3dlYmF1ZGlvICIrbXNnKTsgfSB9IGF1ZGlvX2xvZygiYXVkaW9faW5pdCIpOyB2YXIgY29kb19hdWRpb19jb250ZXh0OyBpZiAodHlwZW9mIE1vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIGF1ZGlvX2xvZygiICoqKiBNb2R1bGUgdW5kZWZpbmVkIik7IGVsc2UgaWYgKHR5cGVvZiBNb2R1bGUuY2NhbGwgPT09ICd1bmRlZmluZWQnKSBhdWRpb19sb2coIiAqKioqIE1vZHVsZS5jY2FsbCB1bmRlZmluZWQiKTsgZWxzZSB7IHZhciB3ZWJBdWRpb0FQSSA9IHdpbmRvdy5BdWRpb0NvbnRleHQgfHwgd2luZG93LndlYmtpdEF1ZGlvQ29udGV4dCB8fCB3aW5kb3cubW96QXVkaW9Db250ZXh0IHx8IHdpbmRvdy5vQXVkaW9Db250ZXh0IHx8IHdpbmRvdy5tc0F1ZGlvQ29udGV4dDsgaWYgKHdlYkF1ZGlvQVBJKSB7IGlmICh0eXBlb2YgcGljbzhfYXVkaW9fY29udGV4dCAhPT0gJ3VuZGVmaW5lZCcpIHsgY29kb19hdWRpb19jb250ZXh0ID0gcGljbzhfYXVkaW9fY29udGV4dDsgYXVkaW9fbG9nKCJmb3VuZCBwaWNvOF9hdWRpb19jb250ZXh0Iik7IH0gZWxzZSBpZiAodHlwZW9mIHZveGF0cm9uX2F1ZGlvX2NvbnRleHQgIT09ICd1bmRlZmluZWQnKSB7IGNvZG9fYXVkaW9fY29udGV4dCA9IHZveGF0cm9uX2F1ZGlvX2NvbnRleHQ7IGF1ZGlvX2xvZygiZm91bmQgdm94YXRyb25fYXVkaW9fY29udGV4dCIpOyB9IGVsc2UgeyBjb2RvX2F1ZGlvX2NvbnRleHQgPSBuZXcgd2ViQXVkaW9BUEk7IGF1ZGlvX2xvZygiY3JlYXRpbmcgb3duIGF1ZGlvIGNvbnRleHQiKTsgfSBpZiAoY29kb19hdWRpb19jb250ZXh0KSB7IGF1ZGlvX2xvZygiU2FtcGxlIFJhdGU6ICIrY29kb19hdWRpb19jb250ZXh0LnNhbXBsZVJhdGUpOyBhdWRpb19sb2coIkJ1ZmZlciBTaXplOiAiKyQwKTsgbm9kZSA9IGNvZG9fYXVkaW9fY29udGV4dC5jcmVhdGVTY3JpcHRQcm9jZXNzb3IoJDAsIDEsIDEpOyBub2RlLm9uYXVkaW9wcm9jZXNzID0gZnVuY3Rpb24oZSkgeyB2YXIgZGF0YSA9IGUub3V0cHV0QnVmZmVyLmdldENoYW5uZWxEYXRhKDApOyB2YXIgciA9IDIyMDUwLjAgLyBjb2RvX2F1ZGlvX2NvbnRleHQuc2FtcGxlUmF0ZTsgdmFyIGxlbjAgPSBNYXRoLmZsb29yKGRhdGEubGVuZ3RoICogcik7IHZhciBsZW4xID0gZGF0YS5sZW5ndGg7IHZhciBwdHIgPSBNb2R1bGUuY2NhbGwoJ21peF8wJywgJ251bWJlcicsIFsnbnVtYmVyJywnbnVtYmVyJ10sIFtsZW4wLCBsZW4xXSk7IGZvciAodmFyIGogPSAwOyBqIDwgZGF0YS5sZW5ndGg7IGorKykgZGF0YVtqXSA9IE1vZHVsZS5nZXRWYWx1ZShwdHIgKyBqKjIsICdpMTYnKSAvIDB4ODAwMDsgfTsgbm9kZS5jb25uZWN0KGNvZG9fYXVkaW9fY29udGV4dC5kZXN0aW5hdGlvbik7IH0gZWxzZSB7IGF1ZGlvX2xvZygiKiogZmFpbGVkIHRvIGNyZWF0ZSBjb2RvX2F1ZGlvX2NvbnRleHQiKTsgfSB9IGVsc2UgeyBhdWRpb19sb2coIioqIHdlYkF1ZGlvQVBJIG5vdCBmb3VuZCIpOyB9IH0AIntyZXR1cm4gZG9jdW1lbnQucG9pbnRlckxvY2tFbGVtZW50ID8gMSA6IDA7fSIAImlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAndW5kZWZpbmVkJykgY29kb19rZXlfYnVmZmVyID0gW107IHJldHVybiBjb2RvX2tleV9idWZmZXIubGVuZ3RoID4gMCA/IDEgOiAwOyIAImlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAndW5kZWZpbmVkJykgY29kb19rZXlfYnVmZmVyID0gW107IGxldCB2YWwgPSBjb2RvX2tleV9idWZmZXIuc2hpZnQoKSB8IDA7IHJldHVybiB2YWw7IgAie3RlbXAgPSAodHlwZW9mIGNvZG9fd2hlZWxfZHggIT09ICd1bmRlZmluZWQnKSA/IGNvZG9fd2hlZWxfZHg6MDsgY29kb193aGVlbF9keCA9IDA7IHJldHVybiB0ZW1wO30iACJ7dGVtcCA9ICh0eXBlb2YgY29kb193aGVlbF9keSAhPT0gJ3VuZGVmaW5lZCcpID8gY29kb193aGVlbF9keTowOyBjb2RvX3doZWVsX2R5ID0gMDsgcmV0dXJuIHRlbXA7fSIAInsgaWYgKGRvY3VtZW50LmhpZGRlbikgcmV0dXJuIDA7IGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImNvZG9fdGV4dGFyZWFcIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwgJiYgZWwgPT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkgcmV0dXJuIDE7IGVsID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsgcmV0dXJuICghZWwgfHwgKGVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKSAhPSBcImlucHV0XCIgJiYgZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpICE9IFwidGV4dGFyZWFcIikpOyB9IgAieyBpZiAoKHR5cGVvZiBwaWNvOF9zdGF0ZSkgIT09ICd1bmRlZmluZWQnKSBpZiAocGljbzhfc3RhdGUuY2xpY2tlZF9vdXRzaWRlKSB7IHBpY284X3N0YXRlLmNsaWNrZWRfb3V0c2lkZSA9IGZhbHNlOyByZXR1cm4gMTsgfSByZXR1cm4gMDsgfSIAZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwgJiYgZWwuc3R5bGUuZGlzcGxheSAhPSAibm9uZSIpIHsgZWwuZm9jdXMoKTsgZWwuc2VsZWN0KCk7IH0AZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwgJiYgZWwuc3R5bGUuZGlzcGxheSAhPSAibm9uZSIpIHsgZWwuc2VsZWN0KCk7IH0AIntyZXR1cm4gcGljbzhfbW91c2VbMl19IgAvdXNlcl9kYXRhLyVzACJ7dmFyIHZhbD0wOyBpZiAodHlwZW9mIGNvZG9fbW91bnRlZF9maWxlc3lzdGVtICE9PSAndW5kZWZpbmVkJykgdmFsPTE7IHJldHVybiB2YWw7fSIAQEAgY29kb19ta2RpciBmYWlsZWQ7IGZpbGVzeXN0ZW0gbm90IG1vdW50ZWQAX2Rpcl9uYW1lPSIiOwB7X2Rpcl9uYW1lPV9kaXJfbmFtZStTdHJpbmcuZnJvbUNoYXJDb2RlKCQwKTt9AEZTLmNyZWF0ZVBhdGgoIiIsIF9kaXJfbmFtZSwgdHJ1ZSwgdHJ1ZSk7AFtjb2RvXSBleGl0aW5nIHBvaW50ZXIgbG9jawB7TW9kdWxlWydjYW52YXMnXS5leGl0UG9pbnRlckxvY2soKTt9AEBAIGNvZG9fd2dldF9vbmVycm9yOiAlcwoAZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwpIHsgfQBfY29kb19zdHJfb3V0PSIiOwB7IF9jb2RvX3N0cl9vdXQgPSBNb2R1bGUuVVRGOFRvU3RyaW5nKCQwLCAkMSk7IH0AInsgZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY29kb190ZXh0YXJlYVwiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCkgeyBlbC52YWx1ZSA9IF9jb2RvX3N0cl9vdXQ7IHJldHVybiAwOyB9IGVsc2UgcmV0dXJuIDE7IH0iAGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgPT0gIm5vbmUiICYmICgodHlwZW9mIHA4X3RvdWNoX2RldGVjdGVkID09PSAndW5kZWZpbmVkJykgfHwgIXA4X3RvdWNoX2RldGVjdGVkKSkgeyBlbC5zdHlsZS5kaXNwbGF5ID0gIiI7IGVsLmZvY3VzKCk7IGVsLnNlbGVjdCgpOyB9AHsgTW9kdWxlLnN0cmluZ1RvVVRGOChfY29kb190ZXh0X3ZhbHVlLCAkMCwgJDEpOyB9ACJlbCA9ICh0eXBlb2YgY29kb190ZXh0YXJlYSA9PT0gJ3VuZGVmaW5lZCcpID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJjb2RvX3RleHRhcmVhXCIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgIT0gXCJub25lXCIgJiYgZWwudmFsdWUgIT0gXCJcIikgeyBfY29kb190ZXh0X3ZhbHVlID0gZWwudmFsdWU7IHJldHVybiAxOyB9IHJldHVybiAwOyIAJXMlcwBwaWNvLTggY2FydHJpZGdlAHZlcnNpb24gJWQAIyNlbmRfcDgAX19sdWFfXwBfX2dmeF9fAF9fZ2ZmX18AX19tYXBfXwBfX3NmeF9fAF9fbXVzaWNfXwBfX2xhYmVsX18AX19jaGFuZ2VfbWFza19fAF9fbWV0YToAJTAyeCUwMnglMDJ4JTAyeAAlMDJ4JTF4JTF4JTF4ACUwMnggAAoAcgBwaWNvLTggY2FydHJpZGdlIC8vIGh0dHA6Ly93d3cucGljby04LmNvbQoAdmVyc2lvbiAlZAoAX19sdWFfXwoAX19nZnhfXwoAJXgAX19sYWJlbF9fCgBfX2dmZl9fCgAlMDJ4AF9fbWFwX18KAF9fc2Z4X18KACUwMngleCV4JXgAX19tdXNpY19fCgAlMDJ4JTAyeCUwMnglMDJ4CgBfX2NoYW5nZV9tYXNrX18KAHdiAGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5XwBAJSQAI14/ACgpe31bXTw+ACFAIyQlXiYqOjsuLH49Ky0vXGAnIgAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAAAQIEBwMGBQBpbmZpbml0eQBuYW4AcndhAC4=";var tempDoublePtr=3145120;function ___setErrNo(v){if(Module.___errno_location)HEAP32[Module.___errno_location()>>2]=v;return v}var PATH={splitPath:function(v){var l=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return l.exec(v).slice(1)},normalizeArray:function(v,l){var s=0;for(var N=v.length-1;N>=0;N--){var j=v[N];if(j===".")v.splice(N,1);else if(j==="..")v.splice(N,1),s++;else if(s)v.splice(N,1),s--}if(l)for(;s;s--)v.unshift("..");return v},normalize:function(v){var l=v.charAt(0)==="/",s=v.substr(-1)==="/";if(v=PATH.normalizeArray(v.split("/").filter(function(N){return!!N}),!l).join("/"),!v&&!l)v=".";if(v&&s)v+="/";return(l?"/":"")+v},dirname:function(v){var l=PATH.splitPath(v),s=l[0],N=l[1];if(!s&&!N)return".";if(N)N=N.substr(0,N.length-1);return s+N},basename:function(v){if(v==="/")return"/";var l=v.lastIndexOf("/");if(l===-1)return v;return v.substr(l+1)},extname:function(v){return PATH.splitPath(v)[3]},join:function(){var v=Array.prototype.slice.call(arguments,0);return PATH.normalize(v.join("/"))},join2:function(v,l){return PATH.normalize(v+"/"+l)}},PATH_FS={resolve:function(){var v="",l=!1;for(var s=arguments.length-1;s>=-1&&!l;s--){var N=s>=0?arguments[s]:FS.cwd();if(typeof N!=="string")throw new TypeError("Arguments to path.resolve must be strings");else if(!N)return"";v=N+"/"+v,l=N.charAt(0)==="/"}return v=PATH.normalizeArray(v.split("/").filter(function(j){return!!j}),!l).join("/"),(l?"/":"")+v||"."},relative:function(v,l){v=PATH_FS.resolve(v).substr(1),l=PATH_FS.resolve(l).substr(1);function s(b){var e=0;for(;e=0;r--)if(b[r]!=="")break;if(e>r)return[];return b.slice(e,r-e+1)}var N=s(v.split("/")),j=s(l.split("/")),Z=Math.min(N.length,j.length),G=Z;for(var n=0;n0)l=N.slice(0,j).toString("utf-8");else l=null}else if(typeof window!="undefined"&&typeof window.prompt=="function"){if(l=window.prompt("Input: "),l!==null)l+="\n"}else if(typeof readline=="function"){if(l=readline(),l!==null)l+="\n"}if(!l)return null;v.input=intArrayFromString(l,!0)}return v.input.shift()},put_char:function(v,l){if(l===null||l===10)out(UTF8ArrayToString(v.output,0)),v.output=[];else if(l!=0)v.output.push(l)},flush:function(v){if(v.output&&v.output.length>0)out(UTF8ArrayToString(v.output,0)),v.output=[]}},default_tty1_ops:{put_char:function(v,l){if(l===null||l===10)err(UTF8ArrayToString(v.output,0)),v.output=[];else if(l!=0)v.output.push(l)},flush:function(v){if(v.output&&v.output.length>0)err(UTF8ArrayToString(v.output,0)),v.output=[]}}},MEMFS={ops_table:null,mount:function(v){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(v,l,s,N){if(FS.isBlkdev(s)||FS.isFIFO(s))throw new FS.ErrnoError(1);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 j=FS.createNode(v,l,s,N);if(FS.isDir(j.mode))j.node_ops=MEMFS.ops_table.dir.node,j.stream_ops=MEMFS.ops_table.dir.stream,j.contents={};else if(FS.isFile(j.mode))j.node_ops=MEMFS.ops_table.file.node,j.stream_ops=MEMFS.ops_table.file.stream,j.usedBytes=0,j.contents=null;else if(FS.isLink(j.mode))j.node_ops=MEMFS.ops_table.link.node,j.stream_ops=MEMFS.ops_table.link.stream;else if(FS.isChrdev(j.mode))j.node_ops=MEMFS.ops_table.chrdev.node,j.stream_ops=MEMFS.ops_table.chrdev.stream;if(j.timestamp=Date.now(),v)v.contents[l]=j;return j},getFileDataAsRegularArray:function(v){if(v.contents&&v.contents.subarray){var l=[];for(var s=0;s=l)return;var N=1048576;if(l=Math.max(l,s*(s0)v.contents.set(j.subarray(0,v.usedBytes),0);return},resizeFileStorage:function(v,l){if(v.usedBytes==l)return;if(l==0){v.contents=null,v.usedBytes=0;return}if(!v.contents||v.contents.subarray){var s=v.contents;if(v.contents=new Uint8Array(new ArrayBuffer(l)),s)v.contents.set(s.subarray(0,Math.min(l,v.usedBytes)));v.usedBytes=l;return}if(!v.contents)v.contents=[];if(v.contents.length>l)v.contents.length=l;else while(v.contents.length=v.node.usedBytes)return 0;var G=Math.min(v.node.usedBytes-j,N);if(G>8&&Z.subarray)l.set(Z.subarray(j,j+G),s);else for(var n=0;n0||j+Nc.timestamp)j.push(a),N++});var Z=[];if(Object.keys(l.entries).forEach(function(a){var V0=l.entries[a],c=v.entries[a];if(!c)Z.push(a),N++}),!N)return s(null);var G=!1,n=0,f=v.type==="remote"?v.db:l.db,b=f.transaction([IDBFS.DB_STORE_NAME],"readwrite"),e=b.objectStore(IDBFS.DB_STORE_NAME);function r(a){if(a){if(!r.errored)return r.errored=!0,s(a);return}if(++n>=N)return s(null)}b.onerror=function(a){r(this.error),a.preventDefault()},j.sort().forEach(function(a){if(l.type==="local")IDBFS.loadRemoteEntry(e,a,function(V0,c){if(V0)return r(V0);IDBFS.storeLocalEntry(a,c,r)});else IDBFS.loadLocalEntry(a,function(V0,c){if(V0)return r(V0);IDBFS.storeRemoteEntry(e,a,c,r)})}),Z.sort().reverse().forEach(function(a){if(l.type==="local")IDBFS.removeLocalEntry(a,r);else IDBFS.removeRemoteEntry(e,a,r)})}},NODEFS={isWindows:!1,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var v=process.binding("constants");if(v.fs)v=v.fs;NODEFS.flagsForNodeMap={1024:v.O_APPEND,64:v.O_CREAT,128:v.O_EXCL,0:v.O_RDONLY,2:v.O_RDWR,4096:v.O_SYNC,512:v.O_TRUNC,1:v.O_WRONLY}},bufferFrom:function(v){return Buffer.alloc?Buffer.from(v):new Buffer(v)},mount:function(v){return assert(ENVIRONMENT_IS_NODE),NODEFS.createNode(null,"/",NODEFS.getMode(v.opts.root),0)},createNode:function(v,l,s,N){if(!FS.isDir(s)&&!FS.isFile(s)&&!FS.isLink(s))throw new FS.ErrnoError(22);var j=FS.createNode(v,l,s);return j.node_ops=NODEFS.node_ops,j.stream_ops=NODEFS.stream_ops,j},getMode:function(v){var l;try{if(l=fs.lstatSync(v),NODEFS.isWindows)l.mode=l.mode|(l.mode&292)>>2}catch(s){if(!s.code)throw s;throw new FS.ErrnoError(-s.errno)}return l.mode},realPath:function(v){var l=[];while(v.parent!==v)l.push(v.name),v=v.parent;return l.push(v.mount.opts.root),l.reverse(),PATH.join.apply(null,l)},flagsForNode:function(v){v&=~2097152,v&=~2048,v&=~32768,v&=~524288;var l=0;for(var s in NODEFS.flagsForNodeMap)if(v&s)l|=NODEFS.flagsForNodeMap[s],v^=s;if(!v)return l;else throw new FS.ErrnoError(22)},node_ops:{getattr:function(v){var l=NODEFS.realPath(v),s;try{s=fs.lstatSync(l)}catch(N){if(!N.code)throw N;throw new FS.ErrnoError(-N.errno)}if(NODEFS.isWindows&&!s.blksize)s.blksize=4096;if(NODEFS.isWindows&&!s.blocks)s.blocks=(s.size+s.blksize-1)/s.blksize|0;return{dev:s.dev,ino:s.ino,mode:s.mode,nlink:s.nlink,uid:s.uid,gid:s.gid,rdev:s.rdev,size:s.size,atime:s.atime,mtime:s.mtime,ctime:s.ctime,blksize:s.blksize,blocks:s.blocks}},setattr:function(v,l){var s=NODEFS.realPath(v);try{if(l.mode!==void 0)fs.chmodSync(s,l.mode),v.mode=l.mode;if(l.timestamp!==void 0){var N=new Date(l.timestamp);fs.utimesSync(s,N,N)}if(l.size!==void 0)fs.truncateSync(s,l.size)}catch(j){if(!j.code)throw j;throw new FS.ErrnoError(-j.errno)}},lookup:function(v,l){var s=PATH.join2(NODEFS.realPath(v),l),N=NODEFS.getMode(s);return NODEFS.createNode(v,l,N)},mknod:function(v,l,s,N){var j=NODEFS.createNode(v,l,s,N),Z=NODEFS.realPath(j);try{if(FS.isDir(j.mode))fs.mkdirSync(Z,j.mode);else fs.writeFileSync(Z,"",{mode:j.mode})}catch(G){if(!G.code)throw G;throw new FS.ErrnoError(-G.errno)}return j},rename:function(v,l,s){var N=NODEFS.realPath(v),j=PATH.join2(NODEFS.realPath(l),s);try{fs.renameSync(N,j)}catch(Z){if(!Z.code)throw Z;throw new FS.ErrnoError(-Z.errno)}},unlink:function(v,l){var s=PATH.join2(NODEFS.realPath(v),l);try{fs.unlinkSync(s)}catch(N){if(!N.code)throw N;throw new FS.ErrnoError(-N.errno)}},rmdir:function(v,l){var s=PATH.join2(NODEFS.realPath(v),l);try{fs.rmdirSync(s)}catch(N){if(!N.code)throw N;throw new FS.ErrnoError(-N.errno)}},readdir:function(v){var l=NODEFS.realPath(v);try{return fs.readdirSync(l)}catch(s){if(!s.code)throw s;throw new FS.ErrnoError(-s.errno)}},symlink:function(v,l,s){var N=PATH.join2(NODEFS.realPath(v),l);try{fs.symlinkSync(s,N)}catch(j){if(!j.code)throw j;throw new FS.ErrnoError(-j.errno)}},readlink:function(v){var l=NODEFS.realPath(v);try{return l=fs.readlinkSync(l),l=NODEJS_PATH.relative(NODEJS_PATH.resolve(v.mount.opts.root),l),l}catch(s){if(!s.code)throw s;throw new FS.ErrnoError(-s.errno)}}},stream_ops:{open:function(v){var l=NODEFS.realPath(v.node);try{if(FS.isFile(v.node.mode))v.nfd=fs.openSync(l,NODEFS.flagsForNode(v.flags))}catch(s){if(!s.code)throw s;throw new FS.ErrnoError(-s.errno)}},close:function(v){try{if(FS.isFile(v.node.mode)&&v.nfd)fs.closeSync(v.nfd)}catch(l){if(!l.code)throw l;throw new FS.ErrnoError(-l.errno)}},read:function(v,l,s,N,j){if(N===0)return 0;try{return fs.readSync(v.nfd,NODEFS.bufferFrom(l.buffer),s,N,j)}catch(Z){throw new FS.ErrnoError(-Z.errno)}},write:function(v,l,s,N,j){try{return fs.writeSync(v.nfd,NODEFS.bufferFrom(l.buffer),s,N,j)}catch(Z){throw new FS.ErrnoError(-Z.errno)}},llseek:function(v,l,s){var N=l;if(s===1)N+=v.position;else if(s===2){if(FS.isFile(v.node.mode))try{var j=fs.fstatSync(v.nfd);N+=j.size}catch(Z){throw new FS.ErrnoError(-Z.errno)}}if(N<0)throw new FS.ErrnoError(22);return N}}},WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(v){if(assert(ENVIRONMENT_IS_WORKER),!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var l=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0),s={};function N(Z){var G=Z.split("/"),n=l;for(var f=0;f=v.node.size)return 0;var Z=v.node.contents.slice(j,j+N),G=WORKERFS.reader.readAsArrayBuffer(Z);return l.set(new Uint8Array(G),s),Z.size},write:function(v,l,s,N,j){throw new FS.ErrnoError(5)},llseek:function(v,l,s){var N=l;if(s===1)N+=v.position;else if(s===2){if(FS.isFile(v.node.mode))N+=v.node.size}if(N<0)throw new FS.ErrnoError(22);return N}}},FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(v){if(!(v instanceof FS.ErrnoError))throw v+" : "+stackTrace();return ___setErrNo(v.errno)},lookupPath:function(v,l){if(v=PATH_FS.resolve(FS.cwd(),v),l=l||{},!v)return{path:"",node:null};var s={follow_mount:!0,recurse_count:0};for(var N in s)if(l[N]===void 0)l[N]=s[N];if(l.recurse_count>8)throw new FS.ErrnoError(40);var j=PATH.normalizeArray(v.split("/").filter(function(a){return!!a}),!1),Z=FS.root,G="/";for(var n=0;n40)throw new FS.ErrnoError(40)}}}return{path:G,node:Z}},getPath:function(v){var l;while(!0){if(FS.isRoot(v)){var s=v.mount.mountpoint;if(!l)return s;return s[s.length-1]!=="/"?s+"/"+l:s+l}l=l?v.name+"/"+l:v.name,v=v.parent}},hashName:function(v,l){var s=0;for(var N=0;N>>0)%FS.nameTable.length},hashAddNode:function(v){var l=FS.hashName(v.parent.id,v.name);v.name_next=FS.nameTable[l],FS.nameTable[l]=v},hashRemoveNode:function(v){var l=FS.hashName(v.parent.id,v.name);if(FS.nameTable[l]===v)FS.nameTable[l]=v.name_next;else{var s=FS.nameTable[l];while(s){if(s.name_next===v){s.name_next=v.name_next;break}s=s.name_next}}},lookupNode:function(v,l){var s=FS.mayLookup(v);if(s)throw new FS.ErrnoError(s,v);var N=FS.hashName(v.id,l);for(var j=FS.nameTable[N];j;j=j.name_next){var Z=j.name;if(j.parent.id===v.id&&Z===l)return j}return FS.lookup(v,l)},createNode:function(v,l,s,N){if(!FS.FSNode){FS.FSNode=function(n,f,b,e){if(!n)n=this;this.parent=n,this.mount=n.mount,this.mounted=null,this.id=FS.nextInode++,this.name=f,this.mode=b,this.node_ops={},this.stream_ops={},this.rdev=e},FS.FSNode.prototype={};var j=292|73,Z=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&j)===j},set:function(n){n?this.mode|=j:this.mode&=~j}},write:{get:function(){return(this.mode&Z)===Z},set:function(n){n?this.mode|=Z:this.mode&=~Z}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var G=new FS.FSNode(v,l,s,N);return FS.hashAddNode(G),G},destroyNode:function(v){FS.hashRemoveNode(v)},isRoot:function(v){return v===v.parent},isMountpoint:function(v){return!!v.mounted},isFile:function(v){return(v&61440)===32768},isDir:function(v){return(v&61440)===16384},isLink:function(v){return(v&61440)===40960},isChrdev:function(v){return(v&61440)===8192},isBlkdev:function(v){return(v&61440)===24576},isFIFO:function(v){return(v&61440)===4096},isSocket:function(v){return(v&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(v){var l=FS.flagModes[v];if(typeof l==="undefined")throw new Error("Unknown file open mode: "+v);return l},flagsToPermissionString:function(v){var l=["r","w","rw"][v&3];if(v&512)l+="w";return l},nodePermissions:function(v,l){if(FS.ignorePermissions)return 0;if(l.indexOf("r")!==-1&&!(v.mode&292))return 13;else if(l.indexOf("w")!==-1&&!(v.mode&146))return 13;else if(l.indexOf("x")!==-1&&!(v.mode&73))return 13;return 0},mayLookup:function(v){var l=FS.nodePermissions(v,"x");if(l)return l;if(!v.node_ops.lookup)return 13;return 0},mayCreate:function(v,l){try{var s=FS.lookupNode(v,l);return 17}catch(N){}return FS.nodePermissions(v,"wx")},mayDelete:function(v,l,s){var N;try{N=FS.lookupNode(v,l)}catch(Z){return Z.errno}var j=FS.nodePermissions(v,"wx");if(j)return j;if(s){if(!FS.isDir(N.mode))return 20;if(FS.isRoot(N)||FS.getPath(N)===FS.cwd())return 16}else if(FS.isDir(N.mode))return 21;return 0},mayOpen:function(v,l){if(!v)return 2;if(FS.isLink(v.mode))return 40;else if(FS.isDir(v.mode)){if(FS.flagsToPermissionString(l)!=="r"||l&512)return 21}return FS.nodePermissions(v,FS.flagsToPermissionString(l))},MAX_OPEN_FDS:4096,nextfd:function(v,l){v=v||0,l=l||FS.MAX_OPEN_FDS;for(var s=v;s<=l;s++)if(!FS.streams[s])return s;throw new FS.ErrnoError(24)},getStream:function(v){return FS.streams[v]},createStream:function(v,l,s){if(!FS.FSStream)FS.FSStream=function(){},FS.FSStream.prototype={},Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(G){this.node=G}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}});var N=new FS.FSStream;for(var j in v)N[j]=v[j];v=N;var Z=FS.nextfd(l,s);return v.fd=Z,FS.streams[Z]=v,v},closeStream:function(v){FS.streams[v]=null},chrdev_stream_ops:{open:function(v){var l=FS.getDevice(v.node.rdev);if(v.stream_ops=l.stream_ops,v.stream_ops.open)v.stream_ops.open(v)},llseek:function(){throw new FS.ErrnoError(29)}},major:function(v){return v>>8},minor:function(v){return v&255},makedev:function(v,l){return v<<8|l},registerDevice:function(v,l){FS.devices[v]={stream_ops:l}},getDevice:function(v){return FS.devices[v]},getMounts:function(v){var l=[],s=[v];while(s.length){var N=s.pop();l.push(N),s.push.apply(s,N.mounts)}return l},syncfs:function(v,l){if(typeof v==="function")l=v,v=!1;if(FS.syncFSRequests++,FS.syncFSRequests>1)console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var s=FS.getMounts(FS.root.mount),N=0;function j(G){return FS.syncFSRequests--,l(G)}function Z(G){if(G){if(!Z.errored)return Z.errored=!0,j(G);return}if(++N>=s.length)j(null)}s.forEach(function(G){if(!G.type.syncfs)return Z(null);G.type.syncfs(G,v,Z)})},mount:function(v,l,s){var N=s==="/",j=!s,Z;if(N&&FS.root)throw new FS.ErrnoError(16);else if(!N&&!j){var G=FS.lookupPath(s,{follow_mount:!1});if(s=G.path,Z=G.node,FS.isMountpoint(Z))throw new FS.ErrnoError(16);if(!FS.isDir(Z.mode))throw new FS.ErrnoError(20)}var n={type:v,opts:l,mountpoint:s,mounts:[]},f=v.mount(n);if(f.mount=n,n.root=f,N)FS.root=f;else if(Z){if(Z.mounted=n,Z.mount)Z.mount.mounts.push(n)}return f},unmount:function(v){var l=FS.lookupPath(v,{follow_mount:!1});if(!FS.isMountpoint(l.node))throw new FS.ErrnoError(22);var s=l.node,N=s.mounted,j=FS.getMounts(N);Object.keys(FS.nameTable).forEach(function(G){var n=FS.nameTable[G];while(n){var f=n.name_next;if(j.indexOf(n.mount)!==-1)FS.destroyNode(n);n=f}}),s.mounted=null;var Z=s.mount.mounts.indexOf(N);s.mount.mounts.splice(Z,1)},lookup:function(v,l){return v.node_ops.lookup(v,l)},mknod:function(v,l,s){var N=FS.lookupPath(v,{parent:!0}),j=N.node,Z=PATH.basename(v);if(!Z||Z==="."||Z==="..")throw new FS.ErrnoError(22);var G=FS.mayCreate(j,Z);if(G)throw new FS.ErrnoError(G);if(!j.node_ops.mknod)throw new FS.ErrnoError(1);return j.node_ops.mknod(j,Z,l,s)},create:function(v,l){return l=l!==void 0?l:438,l&=4095,l|=32768,FS.mknod(v,l,0)},mkdir:function(v,l){return l=l!==void 0?l:511,l&=511|512,l|=16384,FS.mknod(v,l,0)},mkdirTree:function(v,l){var s=v.split("/"),N="";for(var j=0;jthis.length-1||a<0)return;var V0=a%this.chunkSize,c=a/this.chunkSize|0;return this.getter(c)[V0]},Z.prototype.setDataGetter=function r(a){this.getter=a},Z.prototype.cacheLength=function r(){var a=new XMLHttpRequest;if(a.open("HEAD",s,!1),a.send(null),!(a.status>=200&&a.status<300||a.status===304))throw new Error("Couldn't load "+s+". Status: "+a.status);var V0=Number(a.getResponseHeader("Content-length")),c,Q0=(c=a.getResponseHeader("Accept-Ranges"))&&c==="bytes",N0=(c=a.getResponseHeader("Content-Encoding"))&&c==="gzip",G0=1048576;if(!Q0)G0=V0;var J0=function(L0,A0){if(L0>A0)throw new Error("invalid range ("+L0+", "+A0+") or no bytes requested!");if(A0>V0-1)throw new Error("only "+V0+" bytes available! programmer error!");var w0=new XMLHttpRequest;if(w0.open("GET",s,!1),V0!==G0)w0.setRequestHeader("Range","bytes="+L0+"-"+A0);if(typeof Uint8Array!="undefined")w0.responseType="arraybuffer";if(w0.overrideMimeType)w0.overrideMimeType("text/plain; charset=x-user-defined");if(w0.send(null),!(w0.status>=200&&w0.status<300||w0.status===304))throw new Error("Couldn't load "+s+". Status: "+w0.status);if(w0.response!==void 0)return new Uint8Array(w0.response||[]);else return intArrayFromString(w0.responseText||"",!0)},P0=this;if(P0.setDataGetter(function(L0){var A0=L0*G0,w0=(L0+1)*G0-1;if(w0=Math.min(w0,V0-1),typeof P0.chunks[L0]==="undefined")P0.chunks[L0]=J0(A0,w0);if(typeof P0.chunks[L0]==="undefined")throw new Error("doXHR failed!");return P0.chunks[L0]}),N0||!V0)G0=V0=1,V0=this.getter(0).length,G0=V0,console.log("LazyFiles on gzip forces download of the whole file when length is accessed");this._length=V0,this._chunkSize=G0,this.lengthKnown=!0},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 G=new Z;Object.defineProperties(G,{length:{get:function(){if(!this.lengthKnown)this.cacheLength();return this._length}},chunkSize:{get:function(){if(!this.lengthKnown)this.cacheLength();return this._chunkSize}}});var n={isDevice:!1,contents:G}}else var n={isDevice:!1,url:s};var f=FS.createFile(v,l,n,N,j);if(n.contents)f.contents=n.contents;else if(n.url)f.contents=null,f.url=n.url;Object.defineProperties(f,{usedBytes:{get:function(){return this.contents.length}}});var b={},e=Object.keys(f.stream_ops);return e.forEach(function(r){var a=f.stream_ops[r];b[r]=function V0(){if(!FS.forceLoadFile(f))throw new FS.ErrnoError(5);return a.apply(null,arguments)}}),b.read=function r(a,V0,c,Q0,N0){if(!FS.forceLoadFile(f))throw new FS.ErrnoError(5);var G0=a.node.contents;if(N0>=G0.length)return 0;var J0=Math.min(G0.length-N0,Q0);if(G0.slice)for(var P0=0;P00){var f=Date.now(),b=Browser.mainLoop.queue.shift();if(b.func(b.arg),Browser.mainLoop.remainingBlockers){var e=Browser.mainLoop.remainingBlockers,r=e%1==0?e-1:Math.floor(e);if(b.counted)Browser.mainLoop.remainingBlockers=r;else r=r+0.5,Browser.mainLoop.remainingBlockers=(8*e+r)/9}if(console.log('main loop blocker "'+b.name+'" took '+(Date.now()-f)+" ms"),Browser.mainLoop.updateStatus(),G1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0)Browser.mainLoop.tickStartTime=_emscripten_get_now();if(Browser.mainLoop.method==="timeout"&&Module.ctx)err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method="";if(Browser.mainLoop.runIter(Z),G0)_emscripten_set_main_loop_timing(0,1000/l);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(s)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 v=Browser.mainLoop.timingMode,l=Browser.mainLoop.timingValue,s=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(s,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(v,l),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var v=Module.statusMessage||"Please wait...",l=Browser.mainLoop.remainingBlockers,s=Browser.mainLoop.expectedBlockers;if(l)if(l=6){var D6=w0>>a0-6&63;a0-=6,A0+=P0[D6]}}if(a0==2)A0+=P0[(w0&3)<<4],A0+=L0+L0;else if(a0==4)A0+=P0[(w0&15)<<2],A0+=L0;return A0}c.src="data:audio/x-"+G.substr(-3)+";base64,"+G0(Z),e(c)},c.src=V0,Browser.safeSetTimeout(function(){e(c)},1e4)}else return r()},Module.preloadPlugins.push(l);function s(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var N=Module.canvas;if(N){if(N.requestPointerLock=N.requestPointerLock||N.mozRequestPointerLock||N.webkitRequestPointerLock||N.msRequestPointerLock||function(){},N.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},N.exitPointerLock=N.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",s,!1),document.addEventListener("mozpointerlockchange",s,!1),document.addEventListener("webkitpointerlockchange",s,!1),document.addEventListener("mspointerlockchange",s,!1),Module.elementPointerLock)N.addEventListener("click",function(j){if(!Browser.pointerLock&&Module.canvas.requestPointerLock)Module.canvas.requestPointerLock(),j.preventDefault()},!1)}},createContext:function(v,l,s,N){if(l&&Module.ctx&&v==Module.canvas)return Module.ctx;var j,Z;if(l){var G={antialias:!1,alpha:!1,majorVersion:1};if(N)for(var n in N)G[n]=N[n];if(typeof GL!=="undefined"){if(Z=GL.createContext(v,G),Z)j=GL.getContext(Z).GLctx}}else j=v.getContext("2d");if(!j)return null;if(s){if(!l)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");if(Module.ctx=j,l)GL.makeContextCurrent(Z);Module.useWebGL=l,Browser.moduleContextCreatedCallbacks.forEach(function(f){f()}),Browser.init()}return j},destroyContext:function(v,l,s){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(v,l,s){if(v=!1,console.log("forcing lockPointer to false"),Browser.lockPointer=v,Browser.resizeCanvas=l,Browser.vrDevice=s,typeof Browser.lockPointer==="undefined")Browser.lockPointer=!1;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=!1;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var N=Module.canvas;function j(){Browser.isFullscreen=!1;var G=N.parentNode;if((document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===G)if(N.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},N.exitFullscreen=N.exitFullscreen.bind(document),Browser.isFullscreen=!0,Browser.resizeCanvas)Browser.setFullscreenCanvasSize();else Browser.updateCanvasDimensions(N);else if(G.parentNode.insertBefore(N,G),G.parentNode.removeChild(G),Browser.resizeCanvas)Browser.setWindowedCanvasSize();else Browser.updateCanvasDimensions(N);if(Module.onFullScreen)Module.onFullScreen(Browser.isFullscreen);if(Module.onFullscreen)Module.onFullscreen(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled)Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",j,!1),document.addEventListener("mozfullscreenchange",j,!1),document.addEventListener("webkitfullscreenchange",j,!1),document.addEventListener("MSFullscreenChange",j,!1);var Z=document.createElement("div");if(N.parentNode.insertBefore(Z,N),Z.appendChild(N),Z.requestFullscreen=Z.requestFullscreen||Z.mozRequestFullScreen||Z.msRequestFullscreen||(Z.webkitRequestFullscreen?function(){Z.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(Z.webkitRequestFullScreen?function(){Z.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),s)Z.requestFullscreen({vrDisplay:s});else Z.requestFullscreen()},requestFullScreen:function(v,l,s){return err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(N,j,Z){return Browser.requestFullscreen(N,j,Z)},Browser.requestFullscreen(v,l,s)},nextRAF:0,fakeRequestAnimationFrame:function(v){var l=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=l+16.666666666666668;else while(l+2>=Browser.nextRAF)Browser.nextRAF+=16.666666666666668;var s=Math.max(Browser.nextRAF-l,0);setTimeout(v,s)},requestAnimationFrame:function v(l){if(typeof window==="undefined")Browser.fakeRequestAnimationFrame(l);else{if(!window.requestAnimationFrame)window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame;window.requestAnimationFrame(l)}},safeCallback:function(v){return function(){if(!ABORT)return v.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var v=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],v.forEach(function(l){l()})}},safeRequestAnimationFrame:function(v){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks)v();else Browser.queuedAsyncCallbacks.push(v)})},safeSetTimeout:function(v,l){return Module.noExitRuntime=!0,setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks)v();else Browser.queuedAsyncCallbacks.push(v)},l)},safeSetInterval:function(v,l){return Module.noExitRuntime=!0,setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks)v()},l)},getMimetype:function(v){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[v.substr(v.lastIndexOf(".")+1)]},getUserMedia:function(v){if(!window.getUserMedia)window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia;window.getUserMedia(v)},getMovementX:function(v){return v.movementX||v.mozMovementX||v.webkitMovementX||0},getMovementY:function(v){return v.movementY||v.mozMovementY||v.webkitMovementY||0},getMouseWheelDelta:function(v){var l=0;switch(v.type){case"DOMMouseScroll":l=v.detail;break;case"mousewheel":l=v.wheelDelta;break;case"wheel":l=v.deltaY;break;default:throw"unrecognized mouse wheel event: "+v.type}return l},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(v){if(Browser.pointerLock){if(v.type!="mousemove"&&"mozMovementX"in v)Browser.mouseMovementX=Browser.mouseMovementY=0;else Browser.mouseMovementX=Browser.getMovementX(v),Browser.mouseMovementY=Browser.getMovementY(v);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 l=Module.canvas.getBoundingClientRect(),s=Module.canvas.width,N=Module.canvas.height,j=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset,Z=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(v.type==="touchstart"||v.type==="touchend"||v.type==="touchmove"){var G=v.touch;if(G===void 0)return;var n=G.pageX-(j+l.left),f=G.pageY-(Z+l.top);n=n*(s/l.width),f=f*(N/l.height);var b={x:n,y:f};if(v.type==="touchstart")Browser.lastTouches[G.identifier]=b,Browser.touches[G.identifier]=b;else if(v.type==="touchend"||v.type==="touchmove"){var e=Browser.touches[G.identifier];if(!e)e=b;Browser.lastTouches[G.identifier]=e,Browser.touches[G.identifier]=b}return}var r=v.pageX-(j+l.left),a=v.pageY-(Z+l.top);r=r*(s/l.width),a=a*(N/l.height),Browser.mouseMovementX=r-Browser.mouseX,Browser.mouseMovementY=a-Browser.mouseY,Browser.mouseX=r,Browser.mouseY=a}},asyncLoad:function(v,l,s,N){var j=!N?getUniqueRunDependency("al "+v):"";if(Module.readAsync(v,function(Z){if(assert(Z,'Loading data file "'+v+'" failed (no arrayBuffer).'),l(new Uint8Array(Z)),j)removeRunDependency(j)},function(Z){if(s)s();else throw'Loading data file "'+v+'" failed.'}),j)addRunDependency(j)},resizeListeners:[],updateResizeListeners:function(){var v=Module.canvas;Browser.resizeListeners.forEach(function(l){l(v.width,v.height)})},setCanvasSize:function(v,l,s){var N=Module.canvas;if(Browser.updateCanvasDimensions(N,v,l),!s)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var v=HEAPU32[SDL.screen>>2];v=v|8388608,HEAP32[SDL.screen>>2]=v}Browser.updateCanvasDimensions(Module.canvas),Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var v=HEAPU32[SDL.screen>>2];v=v&~8388608,HEAP32[SDL.screen>>2]=v}Browser.updateCanvasDimensions(Module.canvas),Browser.updateResizeListeners()},updateCanvasDimensions:function(v,l,s){if(l&&s)v.widthNative=l,v.heightNative=s;else l=v.widthNative,s=v.heightNative;var N=l,j=s;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0)if(N/j1)return 0;if(!l.buffer)l.buffer=_malloc(l.width*l.height*4),HEAP32[v+20>>2]=l.buffer;if(HEAP32[v+20>>2]=l.buffer,v==SDL.screen&&Module.screenIsReadOnly&&l.image)return 0;if(SDL.defaults.discardOnLock){if(!l.image)l.image=l.ctx.createImageData(l.width,l.height);if(!SDL.defaults.opaqueFrontBuffer)return}else l.image=l.ctx.getImageData(0,0,l.width,l.height);if(v==SDL.screen&&SDL.defaults.opaqueFrontBuffer){var s=l.image.data,N=s.length;for(var j=0;j>2],y:HEAP32[v+4>>2],w:HEAP32[v+8>>2],h:HEAP32[v+12>>2]}},updateRect:function(v,l){HEAP32[v>>2]=l.x,HEAP32[v+4>>2]=l.y,HEAP32[v+8>>2]=l.w,HEAP32[v+12>>2]=l.h},intersectionOfRects:function(v,l){var s=Math.max(v.x,l.x),N=Math.max(v.y,l.y),j=Math.min(v.x+v.w,l.x+l.w),Z=Math.min(v.y+v.h,l.y+l.h);return{x:s,y:N,w:Math.max(s,j)-s,h:Math.max(N,Z)-N}},checkPixelFormat:function(v){},loadColorToCSSRGB:function(v){var l=HEAP32[v>>2];return"rgb("+(l&255)+","+(l>>8&255)+","+(l>>16&255)+")"},loadColorToCSSRGBA:function(v){var l=HEAP32[v>>2];return"rgba("+(l&255)+","+(l>>8&255)+","+(l>>16&255)+","+(l>>24&255)/255+")"},translateColorToCSSRGBA:function(v){return"rgba("+(v&255)+","+(v>>8&255)+","+(v>>16&255)+","+(v>>>24)/255+")"},translateRGBAToCSSRGBA:function(v,l,s,N){return"rgba("+(v&255)+","+(l&255)+","+(s&255)+","+(N&255)/255+")"},translateRGBAToColor:function(v,l,s,N){return v|l<<8|s<<16|N<<24},makeSurface:function(v,l,s,N,j,Z,G,n,f){s=s||0;var b=s&1,e=s&2097152,r=s&67108864,a=_malloc(60),V0=_malloc(44),c=e?1:4,Q0=0;if(!b&&!r)Q0=_malloc(v*l*4);HEAP32[a>>2]=s,HEAP32[a+4>>2]=V0,HEAP32[a+8>>2]=v,HEAP32[a+12>>2]=l,HEAP32[a+16>>2]=v*c,HEAP32[a+20>>2]=Q0,HEAP32[a+36>>2]=0,HEAP32[a+40>>2]=0,HEAP32[a+44>>2]=Module.canvas.width,HEAP32[a+48>>2]=Module.canvas.height,HEAP32[a+56>>2]=1,HEAP32[V0>>2]=-2042224636,HEAP32[V0+4>>2]=0,HEAP8[V0+8>>0]=c*8,HEAP8[V0+9>>0]=c,HEAP32[V0+12>>2]=Z||255,HEAP32[V0+16>>2]=G||65280,HEAP32[V0+20>>2]=n||16711680,HEAP32[V0+24>>2]=f||4278190080,SDL.GL=SDL.GL||r;var N0;if(!N){if(SDL.canvasPool.length>0)N0=SDL.canvasPool.pop();else N0=document.createElement("canvas");N0.width=v,N0.height=l}else N0=Module.canvas;var G0={antialias:SDL.glAttributes[13]!=0&&SDL.glAttributes[14]>1,depth:SDL.glAttributes[6]>0,stencil:SDL.glAttributes[7]>0,alpha:SDL.glAttributes[3]>0},J0=Browser.createContext(N0,r,N,G0);return SDL.surfaces[a]={width:v,height:l,canvas:N0,ctx:J0,surf:a,buffer:Q0,pixelFormat:V0,alpha:255,flags:s,locked:0,usePageCanvas:N,source:j,isFlagSet:function(P0){return s&P0}},a},copyIndexedColorData:function(v,l,s,N,j){if(!v.colors)return;var Z=Module.canvas.width,G=Module.canvas.height,n=l||0,f=s||0,b=(N||Z-n)+n,e=(j||G-f)+f,r=v.buffer;if(!v.image.data32)v.image.data32=new Uint32Array(v.image.data.buffer);var a=v.image.data32,V0=v.colors32;for(var c=f;c>0]]}},freeSurface:function(v){var l=v+56,s=HEAP32[l>>2];if(s>1){HEAP32[l>>2]=s-1;return}var N=SDL.surfaces[v];if(!N.usePageCanvas&&N.canvas)SDL.canvasPool.push(N.canvas);if(N.buffer)_free(N.buffer);if(_free(N.pixelFormat),_free(v),SDL.surfaces[v]=null,v===SDL.screen)SDL.screen=null},blitSurface:function(v,l,s,N,j){var Z=SDL.surfaces[v],G=SDL.surfaces[s],n,f;if(l)n=SDL.loadRect(l);else n={x:0,y:0,w:Z.width,h:Z.height};if(N)f=SDL.loadRect(N);else f={x:0,y:0,w:Z.width,h:Z.height};if(G.clipRect){var b=!j||n.w===0?1:n.w/f.w,e=!j||n.h===0?1:n.h/f.h;if(f=SDL.intersectionOfRects(G.clipRect,f),n.w=f.w*b,n.h=f.h*e,N)SDL.updateRect(N,f)}var r,a;if(j)r=f.w,a=f.h;else r=n.w,a=n.h;if(n.w===0||n.h===0||r===0||a===0)return 0;var V0=G.ctx.globalAlpha;if(G.ctx.globalAlpha=Z.alpha/255,G.ctx.drawImage(Z.canvas,n.x,n.y,n.w,n.h,f.x,f.y,r,a),G.ctx.globalAlpha=V0,s!=SDL.screen)warnOnce("WARNING: copying canvas data to memory for compatibility"),_SDL_LockSurface(s),G.locked--;return 0},downFingers:{},savedKeydown:null,receiveEvent:function(v){function l(){for(var e in SDL.keyboardMap)SDL.events.push({type:"keyup",keyCode:SDL.keyboardMap[e]})}switch(v.type){case"touchstart":case"touchmove":{v.preventDefault();var s=[];if(v.type==="touchstart")for(var N=0;N0?Math.max(f,1):Math.min(f,-1);var b=f>0?3:4;SDL.events.push({type:"mousedown",button:b,pageX:v.pageX,pageY:v.pageY}),SDL.events.push({type:"mouseup",button:b,pageX:v.pageX,pageY:v.pageY}),SDL.events.push({type:"wheel",deltaX:0,deltaY:f}),v.preventDefault();break;case"mousemove":if(SDL.DOMButtons[0]===1)SDL.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:v.pageX,pageY:v.pageY}});if(Browser.pointerLock){if("mozMovementX"in v)v.movementX=v.mozMovementX,v.movementY=v.mozMovementY;if(v.movementX==0&&v.movementY==0){v.preventDefault();return}}case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if(v.type!=="keydown"||!SDL.unicode&&!SDL.textInput||(v.keyCode===8||v.keyCode===9));if(v.type=="mousedown")SDL.DOMButtons[v.button]=1,SDL.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:v.pageX,pageY:v.pageY}});else if(v.type=="mouseup"){if(!SDL.DOMButtons[v.button])return;SDL.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:v.pageX,pageY:v.pageY}}),SDL.DOMButtons[v.button]=0}if(v.type==="keydown"||v.type==="mousedown")SDL.canRequestFullscreen=!0;else if(v.type==="keyup"||v.type==="mouseup"){if(SDL.isRequestingFullscreen)Module.requestFullscreen(!1,!0),SDL.isRequestingFullscreen=!1;SDL.canRequestFullscreen=!1}if(v.type==="keypress"&&SDL.savedKeydown)SDL.savedKeydown.keypressCharCode=v.charCode,SDL.savedKeydown=null;else if(v.type==="keydown")SDL.savedKeydown=v;if(v.type!=="keypress"||SDL.textInput)SDL.events.push(v);break;case"mouseout":for(var N=0;N<3;N++)if(SDL.DOMButtons[N])SDL.events.push({type:"mouseup",button:N,pageX:v.pageX,pageY:v.pageY}),SDL.DOMButtons[N]=0;v.preventDefault();break;case"focus":SDL.events.push(v),v.preventDefault();break;case"blur":SDL.events.push(v),l(),v.preventDefault();break;case"visibilitychange":SDL.events.push({type:"visibilitychange",visible:!document.hidden}),l(),v.preventDefault();break;case"unload":if(Browser.mainLoop.runner)SDL.events.push(v),Browser.mainLoop.runner();return;case"resize":if(SDL.events.push(v),v.preventDefault)v.preventDefault();break}if(SDL.events.length>=1e4)err("SDL event queue full, dropping events"),SDL.events=SDL.events.slice(0,1e4);SDL.flushEventsToHandler();return},lookupKeyCodeForEvent:function(v){var l=v.keyCode;if(l>=65&&l<=90)l+=32;else if(l=SDL.keyCodes[v.keyCode]||v.keyCode,v.location===KeyboardEvent.DOM_KEY_LOCATION_RIGHT&&l>=(224|1<<10)&&l<=(227|1<<10))l+=4;return l},handleEvent:function(v){if(v.handled)return;switch(v.handled=!0,v.type){case"touchstart":case"touchend":case"touchmove":{Browser.calculateMouseEvent(v);break}case"keydown":case"keyup":{var l=v.type==="keydown",s=SDL.lookupKeyCodeForEvent(v);if(HEAP8[SDL.keyboardState+s>>0]=l,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),l)SDL.keyboardMap[s]=v.keyCode;else delete SDL.keyboardMap[s];break}case"mousedown":case"mouseup":if(v.type=="mousedown")SDL.buttonState|=1<0)if(SDL.makeCEvent(SDL.events.shift(),v)!==!1)return 1;return 0}else return SDL.events.length>0},makeCEvent:function(v,l){if(typeof v==="number"){_memcpy(l,v,28),_free(v);return}switch(SDL.handleEvent(v),v.type){case"keydown":case"keyup":{var s=v.type==="keydown",N=SDL.lookupKeyCodeForEvent(v),j;if(N>=1024)j=N-1024;else j=SDL.scanCodes[N]||N;HEAP32[l>>2]=SDL.DOMEventToSDLEvent[v.type],HEAP8[l+8>>0]=s?1:0,HEAP8[l+9>>0]=0,HEAP32[l+12>>2]=j,HEAP32[l+16>>2]=N,HEAP16[l+20>>1]=SDL.modState,HEAP32[l+24>>2]=v.keypressCharCode||N;break}case"keypress":{HEAP32[l>>2]=SDL.DOMEventToSDLEvent[v.type];var Z=intArrayFromString(String.fromCharCode(v.charCode));for(var G=0;G>0]=Z[G];break}case"mousedown":case"mouseup":case"mousemove":{if(v.type!="mousemove"){var s=v.type==="mousedown";HEAP32[l>>2]=SDL.DOMEventToSDLEvent[v.type],HEAP32[l+4>>2]=0,HEAP32[l+8>>2]=0,HEAP32[l+12>>2]=0,HEAP8[l+16>>0]=v.button+1,HEAP8[l+17>>0]=s?1:0,HEAP32[l+20>>2]=Browser.mouseX,HEAP32[l+24>>2]=Browser.mouseY}else HEAP32[l>>2]=SDL.DOMEventToSDLEvent[v.type],HEAP32[l+4>>2]=0,HEAP32[l+8>>2]=0,HEAP32[l+12>>2]=0,HEAP32[l+16>>2]=SDL.buttonState,HEAP32[l+20>>2]=Browser.mouseX,HEAP32[l+24>>2]=Browser.mouseY,HEAP32[l+28>>2]=Browser.mouseMovementX,HEAP32[l+32>>2]=Browser.mouseMovementY;break}case"wheel":{HEAP32[l>>2]=SDL.DOMEventToSDLEvent[v.type],HEAP32[l+16>>2]=v.deltaX,HEAP32[l+20>>2]=v.deltaY;break}case"touchstart":case"touchend":case"touchmove":{var n=v.touch;if(!Browser.touches[n.identifier])break;var f=Module.canvas.width,b=Module.canvas.height,e=Browser.touches[n.identifier].x/f,r=Browser.touches[n.identifier].y/b,a=Browser.lastTouches[n.identifier].x/f,V0=Browser.lastTouches[n.identifier].y/b,c=e-a,Q0=r-V0;if(n.deviceID===void 0)n.deviceID=SDL.TOUCH_DEFAULT_ID;if(c===0&&Q0===0&&v.type==="touchmove")return!1;if(HEAP32[l>>2]=SDL.DOMEventToSDLEvent[v.type],HEAP32[l+4>>2]=_SDL_GetTicks(),tempI64=[n.deviceID>>>0,(tempDouble=n.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[l+8>>2]=tempI64[0],HEAP32[l+12>>2]=tempI64[1],tempI64=[n.identifier>>>0,(tempDouble=n.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[l+16>>2]=tempI64[0],HEAP32[l+20>>2]=tempI64[1],HEAPF32[l+24>>2]=e,HEAPF32[l+28>>2]=r,HEAPF32[l+32>>2]=c,HEAPF32[l+36>>2]=Q0,n.force!==void 0)HEAPF32[l+40>>2]=n.force;else HEAPF32[l+40>>2]=v.type=="touchend"?0:1;break}case"unload":{HEAP32[l>>2]=SDL.DOMEventToSDLEvent[v.type];break}case"resize":{HEAP32[l>>2]=SDL.DOMEventToSDLEvent[v.type],HEAP32[l+4>>2]=v.w,HEAP32[l+8>>2]=v.h;break}case"joystick_button_up":case"joystick_button_down":{var N0=v.type==="joystick_button_up"?0:1;HEAP32[l>>2]=SDL.DOMEventToSDLEvent[v.type],HEAP8[l+4>>0]=v.index,HEAP8[l+5>>0]=v.button,HEAP8[l+6>>0]=N0;break}case"joystick_axis_motion":{HEAP32[l>>2]=SDL.DOMEventToSDLEvent[v.type],HEAP8[l+4>>0]=v.index,HEAP8[l+5>>0]=v.axis,HEAP32[l+8>>2]=SDL.joystickAxisValueConversion(v.value);break}case"focus":{var G0=12;HEAP32[l>>2]=SDL.DOMEventToSDLEvent[v.type],HEAP32[l+4>>2]=0,HEAP8[l+8>>0]=G0;break}case"blur":{var J0=13;HEAP32[l>>2]=SDL.DOMEventToSDLEvent[v.type],HEAP32[l+4>>2]=0,HEAP8[l+8>>0]=J0;break}case"visibilitychange":{var P0=1,L0=2,A0=v.visible?P0:L0;HEAP32[l>>2]=SDL.DOMEventToSDLEvent[v.type],HEAP32[l+4>>2]=0,HEAP8[l+8>>0]=A0;break}default:throw"Unhandled SDL event: "+v.type}},makeFontString:function(v,l){if(l.charAt(0)!="'"&&l.charAt(0)!='"')l='"'+l+'"';return v+"px "+l+", serif"},estimateTextWidth:function(v,l){var s=v.size,N=SDL.makeFontString(s,v.name),j=SDL.ttfContext;j.save(),j.font=N;var Z=j.measureText(l).width|0;return j.restore(),Z},allocateChannels:function(v){if(SDL.numChannels&&SDL.numChannels>=v&&v!=0)return;SDL.numChannels=v,SDL.channels=[];for(var l=0;l>1]/32768;else if(SDL.audio.format==8)for(var G=0;G>0];Z[G]=(n>=0?n-128:n+128)/128}else if(SDL.audio.format==33056)for(var G=0;G>2];else throw"Invalid SDL audio format "+SDL.audio.format+"!"}},debugSurface:function(v){console.log("dumping surface "+[v.surf,v.source,v.width,v.height]);var l=v.ctx.getImageData(0,0,v.width,v.height),s=l.data,N=Math.min(v.width,v.height);for(var j=0;j0},queryJoysticks:function(){for(var v in SDL.lastJoystickState){var l=SDL.getGamepad(v-1),s=SDL.lastJoystickState[v];if(typeof l==="undefined")return;if(l===null)return;if(typeof l.timestamp!=="number"||l.timestamp!==s.timestamp||!l.timestamp){var N;for(N=0;Nv&&v>=0)return l[v];return null}};function _SDL_ClearError(){}function _SDL_GetError(){if(!SDL.errorMessage)SDL.errorMessage=allocate(intArrayFromString("unknown SDL-emscripten error"),"i8",ALLOC_NORMAL);return SDL.errorMessage}function _SDL_GetModState(){return SDL.modState}function _SDL_GetMouseState(v,l){if(v)HEAP32[v>>2]=Browser.mouseX;if(l)HEAP32[l>>2]=Browser.mouseY;return SDL.buttonState}function _SDL_GetWindowSize(v,l,s){var N=Module.canvas.width,j=Module.canvas.height;if(l)HEAP32[l>>2]=N;if(s)HEAP32[s>>2]=j}function _SDL_Init(v){if(SDL.startTime=Date.now(),SDL.initFlags=v,!Module.doNotCaptureKeyboard){var l=Module.keyboardListeningElement||document;l.addEventListener("keydown",SDL.receiveEvent),l.addEventListener("keyup",SDL.receiveEvent),l.addEventListener("keypress",SDL.receiveEvent),window.addEventListener("focus",SDL.receiveEvent),window.addEventListener("blur",SDL.receiveEvent),document.addEventListener("visibilitychange",SDL.receiveEvent)}return 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,0}function _SDL_LockAudio(){}function _SDL_PollEvent(v){return SDL.pollEvent(v)}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var v=0;v>2]:-1;j+=UTF8ToString(HEAP32[s+Z*4>>2],G<0?void 0:G)}return j},createContext:function(v,l){var s=v.getContext("webgl",l)||v.getContext("experimental-webgl",l);return s&&GL.registerContext(s,l)},registerContext:function(v,l){var s=_malloc(8),N={handle:s,attributes:l,version:l.majorVersion,GLctx:v};if(v.canvas)v.canvas.GLctxObject=N;if(GL.contexts[s]=N,typeof l.enableExtensionsByDefault==="undefined"||l.enableExtensionsByDefault)GL.initExtensions(N);return s},makeContextCurrent:function(v){return GL.currentContext=GL.contexts[v],Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx,!(v&&!GLctx)},getContext:function(v){return GL.contexts[v]},deleteContext:function(v){if(GL.currentContext===GL.contexts[v])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[v].GLctx.canvas);if(GL.contexts[v]&&GL.contexts[v].GLctx.canvas)GL.contexts[v].GLctx.canvas.GLctxObject=void 0;_free(GL.contexts[v]),GL.contexts[v]=null},initExtensions:function(v){if(!v)v=GL.currentContext;if(v.initExtensionsDone)return;v.initExtensionsDone=!0;var l=v.GLctx;if(v.version<2){var s=l.getExtension("ANGLE_instanced_arrays");if(s)l.vertexAttribDivisor=function(n,f){s.vertexAttribDivisorANGLE(n,f)},l.drawArraysInstanced=function(n,f,b,e){s.drawArraysInstancedANGLE(n,f,b,e)},l.drawElementsInstanced=function(n,f,b,e,r){s.drawElementsInstancedANGLE(n,f,b,e,r)};var N=l.getExtension("OES_vertex_array_object");if(N)l.createVertexArray=function(){return N.createVertexArrayOES()},l.deleteVertexArray=function(n){N.deleteVertexArrayOES(n)},l.bindVertexArray=function(n){N.bindVertexArrayOES(n)},l.isVertexArray=function(n){return N.isVertexArrayOES(n)};var j=l.getExtension("WEBGL_draw_buffers");if(j)l.drawBuffers=function(n,f){j.drawBuffersWEBGL(n,f)}}l.disjointTimerQueryExt=l.getExtension("EXT_disjoint_timer_query");var Z=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"],G=l.getSupportedExtensions();if(G&&G.length>0)l.getSupportedExtensions().forEach(function(n){if(Z.indexOf(n)!=-1)l.getExtension(n)})},populateUniformTable:function(v){var l=GL.programs[v],s=GL.programInfos[v]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1},N=s.uniforms,j=GLctx.getProgramParameter(l,35718);for(var Z=0;Z0)return;if(l.isFlagSet(2097152))SDL.copyIndexedColorData(l);else if(!l.colors){var s=l.image.data,N=l.buffer;assert(N%4==0,"Invalid buffer offset: "+N);var j=N>>2,Z=0,G=v==SDL.screen,n;if(typeof CanvasPixelArray!=="undefined"&&s instanceof CanvasPixelArray){n=s.length;while(Z>8&255,s[Z+2]=f>>16&255,s[Z+3]=G?255:f>>24&255,j++,Z+=4}}else{var b=new Uint32Array(s.buffer);if(G&&SDL.defaults.opaqueFrontBuffer){n=b.length,b.set(HEAP32.subarray(j,j+n));var e=new Uint8Array(s.buffer),r=3,a=r+4*n;if(n%8==0)while(r>0]*4,L0=J0+P0*4;s[L0]=N0[f],s[L0+1]=N0[f+1],s[L0+2]=N0[f+2]}Q0+=V0*3}}l.ctx.putImageData(l.image,0,0)}var ENV={};function ___buildEnvironment(v){var l=64,s=1024,N,j;if(!___buildEnvironment.called)___buildEnvironment.called=!0,ENV.USER=ENV.LOGNAME="web_user",ENV.PATH="/",ENV.PWD="/",ENV.HOME="/home/web_user",ENV.LANG="C.UTF-8",ENV._=Module.thisProgram,N=getMemory(s),j=getMemory(l*4),HEAP32[j>>2]=N,HEAP32[v>>2]=j;else j=HEAP32[v>>2],N=HEAP32[j>>2];var Z=[],G=0;for(var n in ENV)if(typeof ENV[n]==="string"){var f=n+"="+ENV[n];Z.push(f),G+=f.length}if(G>s)throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");var b=4;for(var e=0;e>2]=N,N+=f.length+1}HEAP32[j+Z.length*b>>2]=0}function ___lock(){}var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(v,l){if(l[0]!=="/"){var s;if(v===-100)s=FS.cwd();else{var N=FS.getStream(v);if(!N)throw new FS.ErrnoError(9);s=N.path}l=PATH.join2(s,l)}return l},doStat:function(v,l,s){try{var N=v(l)}catch(j){if(j&&j.node&&PATH.normalize(l)!==PATH.normalize(FS.getPath(j.node)))return-20;throw j}return HEAP32[s>>2]=N.dev,HEAP32[s+4>>2]=0,HEAP32[s+8>>2]=N.ino,HEAP32[s+12>>2]=N.mode,HEAP32[s+16>>2]=N.nlink,HEAP32[s+20>>2]=N.uid,HEAP32[s+24>>2]=N.gid,HEAP32[s+28>>2]=N.rdev,HEAP32[s+32>>2]=0,tempI64=[N.size>>>0,(tempDouble=N.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[s+40>>2]=tempI64[0],HEAP32[s+44>>2]=tempI64[1],HEAP32[s+48>>2]=4096,HEAP32[s+52>>2]=N.blocks,HEAP32[s+56>>2]=N.atime.getTime()/1000|0,HEAP32[s+60>>2]=0,HEAP32[s+64>>2]=N.mtime.getTime()/1000|0,HEAP32[s+68>>2]=0,HEAP32[s+72>>2]=N.ctime.getTime()/1000|0,HEAP32[s+76>>2]=0,tempI64=[N.ino>>>0,(tempDouble=N.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[s+80>>2]=tempI64[0],HEAP32[s+84>>2]=tempI64[1],0},doMsync:function(v,l,s,N){var j=new Uint8Array(HEAPU8.subarray(v,v+s));FS.msync(l,j,0,s,N)},doMkdir:function(v,l){if(v=PATH.normalize(v),v[v.length-1]==="/")v=v.substr(0,v.length-1);return FS.mkdir(v,l,0),0},doMknod:function(v,l,s){switch(l&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}return FS.mknod(v,l,s),0},doReadlink:function(v,l,s){if(s<=0)return-22;var N=FS.readlink(v),j=Math.min(s,lengthBytesUTF8(N)),Z=HEAP8[l+j];return stringToUTF8(N,l,s+1),HEAP8[l+j]=Z,j},doAccess:function(v,l){if(l&~7)return-22;var s,N=FS.lookupPath(v,{follow:!0});s=N.node;var j="";if(l&4)j+="r";if(l&2)j+="w";if(l&1)j+="x";if(j&&FS.nodePermissions(s,j))return-13;return 0},doDup:function(v,l,s){var N=FS.getStream(s);if(N)FS.close(N);return FS.open(v,l,0,s,s).fd},doReadv:function(v,l,s,N){var j=0;for(var Z=0;Z>2],n=HEAP32[l+(Z*8+4)>>2],f=FS.read(v,HEAP8,G,n,N);if(f<0)return-1;if(j+=f,f>2],n=HEAP32[l+(Z*8+4)>>2],f=FS.write(v,HEAP8,G,n,N);if(f<0)return-1;j+=f}return j},varargs:0,get:function(v){SYSCALLS.varargs+=4;var l=HEAP32[SYSCALLS.varargs-4>>2];return l},getStr:function(){var v=UTF8ToString(SYSCALLS.get());return v},getStreamFromFD:function(){var v=FS.getStream(SYSCALLS.get());if(!v)throw new FS.ErrnoError(9);return v},get64:function(){var v=SYSCALLS.get(),l=SYSCALLS.get();return v},getZero:function(){SYSCALLS.get()}};function ___syscall140(v,l){SYSCALLS.varargs=l;try{var s=SYSCALLS.getStreamFromFD(),N=SYSCALLS.get(),j=SYSCALLS.get(),Z=SYSCALLS.get(),G=SYSCALLS.get();if(!(N==-1&&j<0)&&!(N==0&&j>=0))return-75;var n=j;if(FS.llseek(s,n,G),tempI64=[s.position>>>0,(tempDouble=s.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[Z>>2]=tempI64[0],HEAP32[Z+4>>2]=tempI64[1],s.getdents&&n===0&&G===0)s.getdents=null;return 0}catch(f){if(typeof FS==="undefined"||!(f instanceof FS.ErrnoError))abort(f);return-f.errno}}function ___syscall145(v,l){SYSCALLS.varargs=l;try{var s=SYSCALLS.getStreamFromFD(),N=SYSCALLS.get(),j=SYSCALLS.get();return SYSCALLS.doReadv(s,N,j)}catch(Z){if(typeof FS==="undefined"||!(Z instanceof FS.ErrnoError))abort(Z);return-Z.errno}}function ___syscall146(v,l){SYSCALLS.varargs=l;try{var s=SYSCALLS.getStreamFromFD(),N=SYSCALLS.get(),j=SYSCALLS.get();return SYSCALLS.doWritev(s,N,j)}catch(Z){if(typeof FS==="undefined"||!(Z instanceof FS.ErrnoError))abort(Z);return-Z.errno}}function ___syscall195(v,l){SYSCALLS.varargs=l;try{var s=SYSCALLS.getStr(),N=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,s,N)}catch(j){if(typeof FS==="undefined"||!(j instanceof FS.ErrnoError))abort(j);return-j.errno}}function ___syscall220(v,l){SYSCALLS.varargs=l;try{var s=SYSCALLS.getStreamFromFD(),N=SYSCALLS.get(),j=SYSCALLS.get();if(!s.getdents)s.getdents=FS.readdir(s.path);var Z=280,G=0,n=FS.llseek(s,0,1),f=Math.floor(n/Z);while(f>>0,(tempDouble=b,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[N+G>>2]=tempI64[0],HEAP32[N+G+4>>2]=tempI64[1],tempI64=[(f+1)*Z>>>0,(tempDouble=(f+1)*Z,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[N+G+8>>2]=tempI64[0],HEAP32[N+G+12>>2]=tempI64[1],HEAP16[N+G+16>>1]=280,HEAP8[N+G+18>>0]=e,stringToUTF8(r,N+G+19,256),G+=Z,f+=1}return FS.llseek(s,f*Z,0),G}catch(V0){if(typeof FS==="undefined"||!(V0 instanceof FS.ErrnoError))abort(V0);return-V0.errno}}function ___syscall221(v,l){SYSCALLS.varargs=l;try{var s=SYSCALLS.getStreamFromFD(),N=SYSCALLS.get();switch(N){case 0:{var j=SYSCALLS.get();if(j<0)return-22;var Z=FS.open(s.path,s.flags,0,j);return Z.fd}case 1:case 2:return 0;case 3:return s.flags;case 4:{var j=SYSCALLS.get();return s.flags|=j,0}case 12:{var j=SYSCALLS.get(),G=0;return HEAP16[j+G>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:return ___setErrNo(22),-1;default:return-22}}catch(n){if(typeof FS==="undefined"||!(n instanceof FS.ErrnoError))abort(n);return-n.errno}}function ___syscall5(v,l){SYSCALLS.varargs=l;try{var s=SYSCALLS.getStr(),N=SYSCALLS.get(),j=SYSCALLS.get(),Z=FS.open(s,N,j);return Z.fd}catch(G){if(typeof FS==="undefined"||!(G instanceof FS.ErrnoError))abort(G);return-G.errno}}function ___syscall54(v,l){SYSCALLS.varargs=l;try{var s=SYSCALLS.getStreamFromFD(),N=SYSCALLS.get();switch(N){case 21509:case 21505:{if(!s.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!s.tty)return-25;return 0}case 21519:{if(!s.tty)return-25;var j=SYSCALLS.get();return HEAP32[j>>2]=0,0}case 21520:{if(!s.tty)return-25;return-22}case 21531:{var j=SYSCALLS.get();return FS.ioctl(s,N,j)}case 21523:{if(!s.tty)return-25;return 0}case 21524:{if(!s.tty)return-25;return 0}default:abort("bad ioctl syscall "+N)}}catch(Z){if(typeof FS==="undefined"||!(Z instanceof FS.ErrnoError))abort(Z);return-Z.errno}}function ___syscall6(v,l){SYSCALLS.varargs=l;try{var s=SYSCALLS.getStreamFromFD();return FS.close(s),0}catch(N){if(typeof FS==="undefined"||!(N instanceof FS.ErrnoError))abort(N);return-N.errno}}function ___unlock(){}function _abort(){Module.abort()}function _emscripten_async_wget_data(v,l,s,N){Browser.asyncLoad(UTF8ToString(v),function(j){var Z=_malloc(j.length);HEAPU8.set(j,Z),dynCall_viii(s,l,Z,j.length),_free(Z)},function(){if(N)dynCall_vi(N,l)},!0)}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _exit(v){exit(v)}var ___tm_current=3144960,___tm_timezone=(stringToUTF8("GMT",3145008,4),3145008);function _gmtime_r(v,l){var s=new Date(HEAP32[v>>2]*1000);HEAP32[l>>2]=s.getUTCSeconds(),HEAP32[l+4>>2]=s.getUTCMinutes(),HEAP32[l+8>>2]=s.getUTCHours(),HEAP32[l+12>>2]=s.getUTCDate(),HEAP32[l+16>>2]=s.getUTCMonth(),HEAP32[l+20>>2]=s.getUTCFullYear()-1900,HEAP32[l+24>>2]=s.getUTCDay(),HEAP32[l+36>>2]=0,HEAP32[l+32>>2]=0;var N=Date.UTC(s.getUTCFullYear(),0,1,0,0,0,0),j=(s.getTime()-N)/86400000|0;return HEAP32[l+28>>2]=j,HEAP32[l+40>>2]=___tm_timezone,l}function _gmtime(v){return _gmtime_r(v,___tm_current)}function _tzset(){if(_tzset.called)return;_tzset.called=!0,HEAP32[__get_timezone()>>2]=(new Date()).getTimezoneOffset()*60;var v=new Date(2000,0,1),l=new Date(2000,6,1);HEAP32[__get_daylight()>>2]=Number(v.getTimezoneOffset()!=l.getTimezoneOffset());function s(n){var f=n.toTimeString().match(/\(([A-Za-z ]+)\)$/);return f?f[1]:"GMT"}var N=s(v),j=s(l),Z=allocate(intArrayFromString(N),"i8",ALLOC_NORMAL),G=allocate(intArrayFromString(j),"i8",ALLOC_NORMAL);if(l.getTimezoneOffset()>2]=Z,HEAP32[__get_tzname()+4>>2]=G;else HEAP32[__get_tzname()>>2]=G,HEAP32[__get_tzname()+4>>2]=Z}function _localtime_r(v,l){_tzset();var s=new Date(HEAP32[v>>2]*1000);HEAP32[l>>2]=s.getSeconds(),HEAP32[l+4>>2]=s.getMinutes(),HEAP32[l+8>>2]=s.getHours(),HEAP32[l+12>>2]=s.getDate(),HEAP32[l+16>>2]=s.getMonth(),HEAP32[l+20>>2]=s.getFullYear()-1900,HEAP32[l+24>>2]=s.getDay();var N=new Date(s.getFullYear(),0,1),j=(s.getTime()-N.getTime())/86400000|0;HEAP32[l+28>>2]=j,HEAP32[l+36>>2]=-(s.getTimezoneOffset()*60);var Z=new Date(2000,6,1).getTimezoneOffset(),G=N.getTimezoneOffset(),n=(Z!=G&&s.getTimezoneOffset()==Math.min(G,Z))|0;HEAP32[l+32>>2]=n;var f=HEAP32[__get_tzname()+(n?4:0)>>2];return HEAP32[l+40>>2]=f,l}function _localtime(v){return _localtime_r(v,___tm_current)}function _longjmp(v,l){throw _setThrew(v,l||1),"longjmp"}function _emscripten_memcpy_big(v,l,s){HEAPU8.set(HEAPU8.subarray(l,l+s),v)}function abortOnCannotGrowMemory(v){abort("OOM")}function _emscripten_resize_heap(v){abortOnCannotGrowMemory(v)}function __isLeapYear(v){return v%4===0&&(v%100!==0||v%400===0)}function __arraySum(v,l){var s=0;for(var N=0;N<=l;s+=v[N++]);return s}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31],__MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(v,l){var s=new Date(v.getTime());while(l>0){var N=__isLeapYear(s.getFullYear()),j=s.getMonth(),Z=(N?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[j];if(l>Z-s.getDate())if(l-=Z-s.getDate()+1,s.setDate(1),j<11)s.setMonth(j+1);else s.setMonth(0),s.setFullYear(s.getFullYear()+1);else return s.setDate(s.getDate()+l),s}return s}function _strftime(v,l,s,N){var j=HEAP32[N+40>>2],Z={tm_sec:HEAP32[N>>2],tm_min:HEAP32[N+4>>2],tm_hour:HEAP32[N+8>>2],tm_mday:HEAP32[N+12>>2],tm_mon:HEAP32[N+16>>2],tm_year:HEAP32[N+20>>2],tm_wday:HEAP32[N+24>>2],tm_yday:HEAP32[N+28>>2],tm_isdst:HEAP32[N+32>>2],tm_gmtoff:HEAP32[N+36>>2],tm_zone:j?UTF8ToString(j):""},G=UTF8ToString(s),n={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var f in n)G=G.replace(new RegExp(f,"g"),n[f]);var b=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],e=["January","February","March","April","May","June","July","August","September","October","November","December"];function r(J0,P0,L0){var A0=typeof J0==="number"?J0.toString():J0||"";while(A0.length0?1:0}var A0;if((A0=L0(J0.getFullYear()-P0.getFullYear()))===0){if((A0=L0(J0.getMonth()-P0.getMonth()))===0)A0=L0(J0.getDate()-P0.getDate())}return A0}function c(J0){switch(J0.getDay()){case 0:return new Date(J0.getFullYear()-1,11,29);case 1:return J0;case 2:return new Date(J0.getFullYear(),0,3);case 3:return new Date(J0.getFullYear(),0,2);case 4:return new Date(J0.getFullYear(),0,1);case 5:return new Date(J0.getFullYear()-1,11,31);case 6:return new Date(J0.getFullYear()-1,11,30)}}function Q0(J0){var P0=__addDays(new Date(J0.tm_year+1900,0,1),J0.tm_yday),L0=new Date(P0.getFullYear(),0,4),A0=new Date(P0.getFullYear()+1,0,4),w0=c(L0),a0=c(A0);if(V0(w0,P0)<=0)if(V0(a0,P0)<=0)return P0.getFullYear()+1;else return P0.getFullYear();else return P0.getFullYear()-1}var N0={"%a":function(J0){return b[J0.tm_wday].substring(0,3)},"%A":function(J0){return b[J0.tm_wday]},"%b":function(J0){return e[J0.tm_mon].substring(0,3)},"%B":function(J0){return e[J0.tm_mon]},"%C":function(J0){var P0=J0.tm_year+1900;return a(P0/100|0,2)},"%d":function(J0){return a(J0.tm_mday,2)},"%e":function(J0){return r(J0.tm_mday,2," ")},"%g":function(J0){return Q0(J0).toString().substring(2)},"%G":function(J0){return Q0(J0)},"%H":function(J0){return a(J0.tm_hour,2)},"%I":function(J0){var P0=J0.tm_hour;if(P0==0)P0=12;else if(P0>12)P0-=12;return a(P0,2)},"%j":function(J0){return a(J0.tm_mday+__arraySum(__isLeapYear(J0.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,J0.tm_mon-1),3)},"%m":function(J0){return a(J0.tm_mon+1,2)},"%M":function(J0){return a(J0.tm_min,2)},"%n":function(){return"\n"},"%p":function(J0){if(J0.tm_hour>=0&&J0.tm_hour<12)return"AM";else return"PM"},"%S":function(J0){return a(J0.tm_sec,2)},"%t":function(){return"\t"},"%u":function(J0){var P0=new Date(J0.tm_year+1900,J0.tm_mon+1,J0.tm_mday,0,0,0,0);return P0.getDay()||7},"%U":function(J0){var P0=new Date(J0.tm_year+1900,0,1),L0=P0.getDay()===0?P0:__addDays(P0,7-P0.getDay()),A0=new Date(J0.tm_year+1900,J0.tm_mon,J0.tm_mday);if(V0(L0,A0)<0){var w0=__arraySum(__isLeapYear(A0.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,A0.getMonth()-1)-31,a0=31-L0.getDate(),Y6=a0+w0+A0.getDate();return a(Math.ceil(Y6/7),2)}return V0(L0,P0)===0?"01":"00"},"%V":function(J0){var P0=new Date(J0.tm_year+1900,0,4),L0=new Date(J0.tm_year+1901,0,4),A0=c(P0),w0=c(L0),a0=__addDays(new Date(J0.tm_year+1900,0,1),J0.tm_yday);if(V0(a0,A0)<0)return"53";if(V0(w0,a0)<=0)return"01";var Y6;if(A0.getFullYear()=0;return P0=Math.abs(P0)/60,P0=P0/60*100+P0%60,(L0?"+":"-")+String("0000"+P0).slice(-4)},"%Z":function(J0){return J0.tm_zone},"%%":function(){return"%"}};for(var f in N0)if(G.indexOf(f)>=0)G=G.replace(new RegExp(f,"g"),N0[f](Z));var G0=intArrayFromString(G,!1);if(G0.length>l)return 0;return writeArrayToMemory(G0,v),G0.length-1}function _time(v){var l=Date.now()/1000|0;if(v)HEAP32[v>>2]=l;return l}if(FS.staticInit(),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,ENVIRONMENT_IS_NODE){var fs=(()=>({})),NODEJS_PATH=(ZU(),jQ(cN));NODEFS.staticInit()}if(Module.requestFullScreen=function v(l,s,N){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."),Module.requestFullScreen=Module.requestFullscreen,Browser.requestFullScreen(l,s,N)},Module.requestFullscreen=function v(l,s,N){Browser.requestFullscreen(l,s,N)},Module.requestAnimationFrame=function v(l){Browser.requestAnimationFrame(l)},Module.setCanvasSize=function v(l,s,N){Browser.setCanvasSize(l,s,N)},Module.pauseMainLoop=function v(){Browser.mainLoop.pause()},Module.resumeMainLoop=function v(){Browser.mainLoop.resume()},Module.getUserMedia=function v(){Browser.getUserMedia()},Module.createContext=function v(l,s,N,j){return Browser.createContext(l,s,N,j)},ENVIRONMENT_IS_NODE)_emscripten_get_now=function v(){var l=process.hrtime();return l[0]*1000+l[1]/1e6};else if(typeof dateNow!=="undefined")_emscripten_get_now=dateNow;else if(typeof performance==="object"&&performance&&typeof performance.now==="function")_emscripten_get_now=function(){return performance.now()};else _emscripten_get_now=Date.now;var GLctx;GL.init();var ASSERTIONS=!1;function intArrayFromString(v,l,s){var N=s>0?s:lengthBytesUTF8(v)+1,j=new Array(N),Z=stringToUTF8Array(v,j,0,j.length);if(l)j.length=Z;return j}function intArrayToString(v){var l=[];for(var s=0;s255){if(ASSERTIONS)assert(!1,"Character code "+N+" ("+String.fromCharCode(N)+") at offset "+s+" not in 0x00-0xFF.");N&=255}l.push(String.fromCharCode(N))}return l.join("")}var decodeBase64=typeof atob==="function"?atob:function(v){var l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s="",N,j,Z,G,n,f,b,e=0;v=v.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{if(G=l.indexOf(v.charAt(e++)),n=l.indexOf(v.charAt(e++)),f=l.indexOf(v.charAt(e++)),b=l.indexOf(v.charAt(e++)),N=G<<2|n>>4,j=(n&15)<<4|f>>2,Z=(f&3)<<6|b,s=s+String.fromCharCode(N),f!==64)s=s+String.fromCharCode(j);if(b!==64)s=s+String.fromCharCode(Z)}while(e>2]|0,X=T+60|0,Y=T+92|0,Q=Z[Y>>2]|0,!Q)W=Y;else{U=Q;while(!0)if(S=Z[U>>2]|0,!S)break;else U=S;W=U}if(U=Z[X>>2]|0,!U)J=Q,_=T,K=Y;else{Y=U,U=W;while(!0)if(W=Y+5|0,N[W>>0]=N[W>>0]|8,Z[X>>2]=Z[Y>>2],Z[Y>>2]=Z[U>>2],Z[U>>2]=Y,W=Z[X>>2]|0,!W)break;else Q=Y,Y=W,U=Q;U=Z[$>>2]|0,Y=U+92|0,J=Z[Y>>2]|0,_=U,K=Y}if(!J)P=_,O=0;else{_=J;do{if(J=_+5|0,N[J>>0]=N[J>>0]&-65,J=Z[$>>2]|0,Y=J+92|0,U=Z[Y>>2]|0,Z[Y>>2]=Z[U>>2],Y=J+56|0,Z[U>>2]=Z[Y>>2],Z[Y>>2]=U,Y=U+5|0,U=N[Y>>0]|0,N[Y>>0]=U&-17,(G[J+49>>0]|0)>=2)N[Y>>0]=N[J+48>>0]&3|U&-88;_=Z[K>>2]|0}while((_|0)!=0);P=Z[$>>2]|0,O=Z[X>>2]|0}if(N[T+48>>0]=3,N[T+50>>0]=0,_=G[P+48>>0]|0,K=_^3,U=N[P+50>>0]|0,P=U<<24>>24==2,J=_&3,_=P?255:184,Y=P?64:J,Q=P?64:0,!O)L=U,F=J,z=K;else{J=O,O=-3,U=X;while(!0){if(!O)break;if(O=O+-1|0,X=J+5|0,P=G[X>>0]|0,!((P^3)&K))Z[U>>2]=Z[J>>2],U4(V,J),H=U;else{if(Q&P|0)break;if((N[J+4>>0]|0)==8)J4(V,J);N[X>>0]=_&P|Y,H=J}if(J=Z[H>>2]|0,!J)break;else U=H}H=Z[$>>2]|0,U=G[H+48>>0]|0,L=N[H+50>>0]|0,F=U&3,z=U^3}U=T+56|0,H=L<<24>>24==2,L=H?255:184,J=H?64:F,F=H?64:0,H=Z[U>>2]|0;Z:do if(H|0){Y=H,_=-3,Q=U;while(!0){if(!_)break Z;if(_=_+-1|0,K=Y+5|0,O=G[K>>0]|0,!((O^3)&z))Z[Q>>2]=Z[Y>>2],U4(V,Y),C=Q;else{if(F&O|0)break Z;if((N[Y+4>>0]|0)==8)J4(V,Y);N[K>>0]=L&O|J,C=Y}if(Y=Z[C>>2]|0,!Y)break;else Q=C}}while(0);if(C=T+32|0,J=Z[C>>2]|0,(J|0)<=0)return;L=T+24|0,T=J,J=0;while(!0){if(F=(Z[L>>2]|0)+(J<<2)|0,z=Z[$>>2]|0,U=G[z+48>>0]|0,H=U^3,Q=(N[z+50>>0]|0)==2,z=Q?255:184,Y=Q?64:U&3,U=Q?64:0,Q=Z[F>>2]|0,!Q)A=T;else{_=Q,Q=-3,O=F;while(!0){if(!Q)break;if(Q=Q+-1|0,F=_+5|0,K=G[F>>0]|0,!((K^3)&H))Z[O>>2]=Z[_>>2],U4(V,_),y=O;else{if(U&K|0)break;if((N[_+4>>0]|0)==8)J4(V,_);N[F>>0]=z&K|Y,y=_}if(_=Z[y>>2]|0,!_)break;else O=y}A=Z[C>>2]|0}if(J=J+1|0,(J|0)>=(A|0))break;else T=A}return}function G9(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0;if($=V+16|0,T=(Z[Z[$>>2]>>2]|0)+8|0,X=V+8|0,Y=Z[X>>2]|0,T>>>0>=Y>>>0|(T|0)==2172216)e5(V,1,48426)|0,Q=Z[X>>2]|0,W=(Z[Z[$>>2]>>2]|0)+8|0;else Q=Y,W=T;switch(T=W>>>0>>0?W:2172216,W=Z[T+4>>2]|0,W&15){case 5:{U=(Z[T>>2]|0)+8|0;break}case 7:{U=(Z[T>>2]|0)+8|0;break}default:U=(Z[V+12>>2]|0)+276+((W&15)<<2)|0}if(W=Z[U>>2]|0,!W)return Z[Q+4>>2]=0,Z[X>>2]=Q+8,1;else return Z[Q>>2]=W,Z[Q+4>>2]=69,Z[X>>2]=(Z[X>>2]|0)+8,VQ(V,1,48685)|0,1;return 0}function z8(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if($=q,q=q+16|0,T=$+8|0,X=$,Y=V+16|0,Q=Z[Z[Y>>2]>>2]|0,W=Q+16|0,U=V+8|0,S=Z[U>>2]|0,W>>>0>=S>>>0|(W|0)==2172216)J=-1;else J=Z[Q+20>>2]&15;if(W=Q+8|0,!(W>>>0>=S>>>0|(W|0)==2172216)){if(W=Z[Q+12>>2]&15,(W|0)!=5)_=W+1|0,K=6}else _=0,K=6;if((K|0)==6)K=Z[16+(_<<2)>>2]|0,Z[X>>2]=61826,Z[X+4>>2]=K,e5(V,1,b9(V,48406,X)|0)|0;switch(J|0){case 0:case 5:break;default:e5(V,2,48697)|0}if(VQ(V,1,48685)|0)n9(V,48719,T)|0;if(T=Z[Z[Y>>2]>>2]|0,Y=Z[U>>2]|0,J=T+24|0,Y>>>0>=J>>>0)return Z[U>>2]=J,WR(V,1)|0,q=$,1;X=(T+20+(3-Y)|0)>>>3,T=Y;do Z[T+4>>2]=0,T=T+8|0;while(T>>>0>>0);return Z[U>>2]=Y+(X+1<<3),Z[U>>2]=J,WR(V,1)|0,q=$,1}function F8(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;if($=V+16|0,T=Z[Z[$>>2]>>2]|0,X=T+8|0,Y=V+8|0,Q=Z[Y>>2]|0,X>>>0>=Q>>>0|(X|0)==2172216)e5(V,1,48426)|0,W=Z[Z[$>>2]>>2]|0,U=Z[Y>>2]|0;else W=T,U=Q;if(Q=W+16|0,Q>>>0>=U>>>0|(Q|0)==2172216)e5(V,2,48426)|0,V=Z[Z[$>>2]>>2]|0,S=V,J=Z[Y>>2]|0,_=V+16|0;else S=W,J=U,_=Q;if(Q=S+8|0,S=Q>>>0>>0?Q:2172216,Q=_>>>0>>0?_:2172216,(S|0)!=2172216&(Q|0)!=2172216?(Z[S+4>>2]|0)==(Z[Q+4>>2]|0):0)_=(YZ(0,S,Q)|0)!=0&1,K=Z[Y>>2]|0,P=_;else K=J,P=0;return Z[K>>2]=P,Z[K+4>>2]=1,Z[Y>>2]=(Z[Y>>2]|0)+8,1}function D5(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if($=V+16|0,T=Z[Z[$>>2]>>2]|0,X=T+8|0,Y=V+8|0,Q=Z[Y>>2]|0,!(X>>>0>=Q>>>0|(X|0)==2172216)?(Z[T+12>>2]&14|1|0)==5:0)W=Q,U=X;else e5(V,1,48755)|0,W=Z[Y>>2]|0,U=(Z[Z[$>>2]>>2]|0)+8|0;switch($=U>>>0>>0?U:2172216,Z[$+4>>2]&15){case 4:{S=Z[(Z[$>>2]|0)+12>>2]|0;break}case 7:{S=Z[(Z[$>>2]|0)+16>>2]|0;break}case 5:{S=KN(Z[$>>2]|0)|0;break}default:S=0}return Z[W>>2]=S<<16,Z[W+4>>2]=3,Z[Y>>2]=(Z[Y>>2]|0)+8,1}function p1(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;if($=q,q=q+16|0,T=$,X=V+16|0,Y=Z[Z[X>>2]>>2]|0,Q=Y+8|0,W=V+8|0,U=Z[W>>2]|0,!(Q>>>0>=U>>>0|(Q|0)==2172216))if(Q=Z[Y+12>>2]&15,(Q|0)==5)S=Y,J=U;else _=Q+1|0,K=4;else _=0,K=4;if((K|0)==4)K=Z[16+(_<<2)>>2]|0,Z[T>>2]=61826,Z[T+4>>2]=K,e5(V,1,b9(V,48406,T)|0)|0,S=Z[Z[X>>2]>>2]|0,J=Z[W>>2]|0;if(T=S+16|0,T>>>0>=J>>>0|(T|0)==2172216)e5(V,2,48426)|0,P=Z[Z[X>>2]>>2]|0,O=Z[W>>2]|0;else P=S,O=J;if(J=P+8|0,S=P+24|0,O>>>0>>0){X=(P+20+(3-O)|0)>>>3,V=O;do Z[V+4>>2]=0,V=V+8|0;while(V>>>0>>0);Z[W>>2]=O+(X+1<<3)}return Z[W>>2]=S,S=CZ(Z[J>>2]|0,P+16|0)|0,P=Z[W>>2]|0,Z[P+-8>>2]=Z[S>>2],Z[P+-4>>2]=Z[S+4>>2],q=$,1}function m1(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0;if($=q,q=q+16|0,T=$,X=V+16|0,Y=Z[Z[X>>2]>>2]|0,Q=Y+8|0,W=V+8|0,U=Z[W>>2]|0,!(Q>>>0>=U>>>0|(Q|0)==2172216))if(Q=Z[Y+12>>2]&15,(Q|0)==5)S=Y,J=U;else _=Q+1|0,K=4;else _=0,K=4;if((K|0)==4)K=Z[16+(_<<2)>>2]|0,Z[T>>2]=61826,Z[T+4>>2]=K,e5(V,1,b9(V,48406,T)|0)|0,S=Z[Z[X>>2]>>2]|0,J=Z[W>>2]|0;if(T=S+16|0,T>>>0>=J>>>0|(T|0)==2172216)e5(V,2,48426)|0,P=Z[Z[X>>2]>>2]|0,O=Z[W>>2]|0;else P=S,O=J;if(J=P+24|0,J>>>0>=O>>>0|(J|0)==2172216)e5(V,3,48426)|0,L=Z[W>>2]|0,F=Z[Z[X>>2]>>2]|0;else L=O,F=P;if(P=F+8|0,O=F+32|0,L>>>0>>0){X=(F+28+(3-L)|0)>>>3,J=L;do Z[J+4>>2]=0,J=J+8|0;while(J>>>0>>0);Z[W>>2]=L+(X+1<<3)}if(Z[W>>2]=O,O=Z[P>>2]|0,X=F+16|0,L=CZ(O,X)|0,(L|0)==2172216)z=I4(V,O,X)|0;else z=L;if(Z[z>>2]=Z[F+24>>2],Z[z+4>>2]=Z[F+28>>2],N[(Z[P>>2]|0)+6>>0]=0,F=Z[W>>2]|0,!(Z[F+-4>>2]&64))return H=F,C=H+-16|0,Z[W>>2]=C,q=$,1;if(!(N[(Z[F+-8>>2]|0)+5>>0]&3))return H=F,C=H+-16|0,Z[W>>2]=C,q=$,1;if(z=Z[P>>2]|0,P=z+5|0,L=N[P>>0]|0,!(L&4))return H=F,C=H+-16|0,Z[W>>2]=C,q=$,1;return F=Z[V+12>>2]|0,N[P>>0]=L&-5,L=F+76|0,Z[z+24>>2]=Z[L>>2],Z[L>>2]=z,H=Z[W>>2]|0,C=H+-16|0,Z[W>>2]=C,q=$,1}function f7(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;if($=V+16|0,T=Z[Z[$>>2]>>2]|0,X=T+8|0,Y=V+8|0,Q=Z[Y>>2]|0,X>>>0>=Q>>>0|(X|0)==2172216)e5(V,1,48426)|0,W=Z[Z[$>>2]>>2]|0,U=Z[Y>>2]|0,S=W,J=W+8|0;else U=Q,S=T,J=X;if(J>>>0>=U>>>0|(J|0)==2172216)return _=0,K=16+(_<<2)|0,P=Z[K>>2]|0,j4(V,P)|0,1;return _=(Z[S+12>>2]&15)+1|0,K=16+(_<<2)|0,P=Z[K>>2]|0,j4(V,P)|0,1}function X5(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;if($=q,q=q+16|0,T=$,X=V+16|0,Y=Z[Z[X>>2]>>2]|0,Q=Y+8|0,W=V+8|0,U=Z[W>>2]|0,!(Q>>>0>=U>>>0|(Q|0)==2172216))if(Q=Z[Y+12>>2]&15,(Q|0)==5)S=Y,J=U;else _=Q+1|0,K=4;else _=0,K=4;if((K|0)==4)K=Z[16+(_<<2)>>2]|0,Z[T>>2]=61826,Z[T+4>>2]=K,e5(V,1,b9(V,48406,T)|0)|0,S=Z[Z[X>>2]>>2]|0,J=Z[W>>2]|0;if(X=S+24|0,J>>>0>>0){T=(S+20+(3-J)|0)>>>3,S=J;do Z[S+4>>2]=0,S=S+8|0;while(S>>>0>>0);Z[W>>2]=J+(T+1<<3)}if(Z[W>>2]=X,W$(V,1)|0)return P=2,q=$,P|0;return V=Z[W>>2]|0,Z[V+4>>2]=0,Z[W>>2]=V+8,P=1,q=$,P|0}function Y5(V){return V=V|0,d7(V,48780,0,4),3}function d7(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;if(Y=q,q=q+16|0,Q=Y+8|0,W=Y,U=(VQ(V,1,$)|0)==0,$=V+16|0,S=Z[Z[$>>2]>>2]|0,J=S+8|0,_=V+8|0,K=Z[_>>2]|0,P=J>>>0>>0,U){if(!((J|0)==2172216|P^1))if(U=Z[S+12>>2]&15,(U|0)==5)O=K;else L=U+1|0,F=5;else L=0,F=5;if((F|0)==5)F=Z[16+(L<<2)>>2]|0,Z[W>>2]=61826,Z[W+4>>2]=F,e5(V,1,b9(V,48406,W)|0)|0,O=Z[_>>2]|0;if(Z[O>>2]=X,Z[O+4>>2]=22,O=Z[_>>2]|0,X=O+8|0,Z[_>>2]=X,W=Z[Z[$>>2]>>2]|0,$=W>>>0>>0?W+8|0:2172216,Z[X>>2]=Z[$>>2],Z[O+12>>2]=Z[$+4>>2],$=Z[_>>2]|0,O=$+8|0,Z[_>>2]=O,!T){Z[$+12>>2]=0,Z[_>>2]=$+16,q=Y;return}else{Z[O>>2]=0,Z[$+12>>2]=3,Z[_>>2]=(Z[_>>2]|0)+8,q=Y;return}}else{if($=P?J:2172216,Z[K>>2]=Z[$>>2],Z[K+4>>2]=Z[$+4>>2],$=Z[_>>2]|0,Z[_>>2]=$+8,_=$+-8|0,$=V+38|0,K=(j[$>>1]|0)+1<<16>>16,j[$>>1]=K,(K&65535)>199){if(K<<16>>16==200)q1(V,46208,Q);if((K&65535)>224)Z8(V,6)}if(K=V+36|0,j[K>>1]=(j[K>>1]|0)+1<<16>>16,!(g3(V,_,3)|0))t3(V);j[K>>1]=(j[K>>1]|0)+-1<<16>>16,j[$>>1]=(j[$>>1]|0)+-1<<16>>16,q=Y;return}}function Q5(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;if($=q,q=q+16|0,T=$,X=V+16|0,Y=Z[Z[X>>2]>>2]|0,Q=Y+16|0,W=V+8|0,U=Z[W>>2]|0,!(Q>>>0>=U>>>0|(Q|0)==2172216)?(Z[Y+20>>2]|0)==3:0)S=(Z[Q>>2]>>16)+1|0;else S=1;if(Q=Y+8|0,!(Q>>>0>=U>>>0|(Q|0)==2172216))if(Q=Z[Y+12>>2]&15,(Q|0)==5)J=U;else _=Q+1|0,K=7;else _=0,K=7;if((K|0)==7)K=Z[16+(_<<2)>>2]|0,Z[T>>2]=61826,Z[T+4>>2]=K,e5(V,1,b9(V,48406,T)|0)|0,J=Z[W>>2]|0;T=S<<16,Z[J>>2]=T,Z[J+4>>2]=3,J=Z[W>>2]|0,V=J+8|0,Z[W>>2]=V,K=Z[Z[X>>2]>>2]|0,X=Z[(K>>>0>>0?K+8|0:2172216)>>2]|0,K=S+-1|0;Z:do if(K>>>0<(Z[X+28>>2]|0)>>>0)P=(Z[X+12>>2]|0)+(K<<3)|0;else{S=0-T|0,_=(Z[X+16>>2]|0)+(((((T|0)<0?(T|0)==(S|0)?0:S:T)|0)%((1<<(G[X+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[_+12>>2]|0)==3?(Z[_+8>>2]|0)==(T|0):0)break;if(S=Z[_+16>>2]|0,!S){P=2172216;break Z}else _=S}P=_}while(0);if(Z[V>>2]=Z[P>>2],Z[J+12>>2]=Z[P+4>>2],P=Z[W>>2]|0,Z[W>>2]=P+8,(P|0)==2172216)return q=$,2;else return q=$,((Z[P+4>>2]&15|0)==0?1:2)|0;return 0}function W5(V){return V=V|0,d7(V,48788,1,5),3}function N5(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;switch($=q,q=q+16|0,T=$,X=V+16|0,Y=Z[Z[X>>2]>>2]|0,Q=Y+8|0,W=V+8|0,U=Z[W>>2]|0,S=Q>>>0>>0?Q:2172216,J=U,Z[S+4>>2]|0){case 0:{_=J-Q>>3;break}case 1:{if(K=J-Q>>3,!(Z[S>>2]|0))_=K;else return P=K,q=$,P|0;break}default:return P=J-Q>>3,q=$,P|0}if((_|0)<=1)nU(3144900),O=PS(V,2,48797,0)|0,Z[T>>2]=O,n9(V,46859,T)|0;if(_=Y+16|0,Y=_>>>0>>0?_:2172216,(Z[Y+4>>2]&15|0)!=4)if(!(WY(V,Y)|0))L=0;else{_=Z[V+12>>2]|0,U=_+12|0,P=Z[U>>2]|0;do if((P|0)>0)if(!(N[_+51>>0]|0)){$=_+8|0,Z[$>>2]=P+1600+(Z[$>>2]|0),Z[U>>2]=-1600;break}else{g1(V);break}while(0);U=(Z[Z[X>>2]>>2]|0)+16|0,F=U>>>0<(Z[W>>2]|0)>>>0?U:2172216,z=13}else F=Y,z=13;if((z|0)==13)L=(Z[F>>2]|0)+16|0;return nU(L),O=PS(V,2,48797,0)|0,Z[T>>2]=O,n9(V,46859,T)|0,0}function U5(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if($=V+8|0,T=Z[$>>2]|0,X=Z[Z[V+16>>2]>>2]|0,Y=X+8|0,Q=T-Y|0,W=Q>>3,U=T,(!(Y>>>0>=U>>>0|(Y|0)==2172216)?(Z[X+12>>2]&15|0)==4:0)?(N[(Z[Y>>2]|0)+16>>0]|0)==35:0)return Z[T>>2]=(Q<<13)+-65536,Z[U+4>>2]=3,Z[$>>2]=(Z[$>>2]|0)+8,S=1,S|0;if($=eX(V,1)|0,U=($|0)<0?$+W|0:($|0)>(W|0)?W:$,(U|0)<=0)e5(V,1,48815)|0;return S=W-U|0,S|0}function J5(V){V=V|0;var $=0;if($=(Z[Z[V+16>>2]>>2]|0)+8|0,!(($|0)==2172216?1:$>>>0>=(Z[V+8>>2]|0)>>>0))return OS(V,1,0)|0,1;return e5(V,1,48426)|0,OS(V,1,0)|0,1}function S5(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;if($=V+16|0,T=(Z[Z[$>>2]>>2]|0)+8|0,X=V+8|0,Y=Z[X>>2]|0,Q=T>>>0>>0?T:2172216,(Z[Q+4>>2]|0)==72?(W=Z[Q>>2]|0,(W|0)!=0):0)U=Y,S=T,J=W;else e5(V,1,48834)|0,U=Z[X>>2]|0,S=(Z[Z[$>>2]>>2]|0)+8|0,J=0;if(W=R5(V,J,(U-S>>3)+-1|0)|0,S=Z[X>>2]|0,(W|0)<0){Z[S>>2]=0,Z[S+4>>2]=1,U=Z[X>>2]|0,J=U+8|0,Z[X>>2]=J,T=J;do J=T,T=T+-8|0,Z[J>>2]=Z[T>>2],Z[J+4>>2]=Z[J+-4>>2];while(J>>>0>U>>>0);return T=Z[X>>2]|0,Z[U+-8>>2]=Z[T>>2],_=T,K=2,P=U+-4|0,O=_+4|0,L=Z[O>>2]|0,Z[P>>2]=L,K|0}Z[S>>2]=1,Z[S+4>>2]=1,S=(Z[X>>2]|0)+8|0,Z[X>>2]=S,U=W+1|0,T=Z[$>>2]|0;do if((W|0)>1000998){if((W|0)==1000999){F=(Z[V+12>>2]|0)+36|0;break}if($=Z[T>>2]|0,(Z[$+4>>2]|32|0)==54)F=2172216;else J=Z[$>>2]|0,F=(W+-1000999|0)>(G[J+6>>0]|0|0)?2172216:J+16+(W+-1001000<<3)|0}else F=S+(~W<<3)|0;while(0);if(S>>>0>F>>>0){W=S;do T=W,W=W+-8|0,Z[T>>2]=Z[W>>2],Z[T+4>>2]=Z[T+-4>>2];while(W>>>0>F>>>0);z=Z[X>>2]|0}else z=S;return Z[F>>2]=Z[z>>2],_=z,K=U,P=F+4|0,O=_+4|0,L=Z[O>>2]|0,Z[P>>2]=L,K|0}function R5(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0;X=q,q=q+16|0,Y=X,Z[Y>>2]=T,Q=$+16|0,W=Z[Q>>2]|0,U=$+8|0,S=Z[U>>2]|0;do if(((Z[$+24>>2]|0)-S>>3|0)>(T|0))J=S,_=S,K=T;else{if(((S-(Z[$+28>>2]|0)>>3)+5|0)<=(1e6-T|0)?(Y$($,2,Y)|0)==0:0){P=Z[U>>2]|0,J=P,_=P,K=Z[Y>>2]|0;break}P=Z[V+12>>2]|0,O=P+12|0,L=Z[O>>2]|0;do if((L|0)>0)if(!(N[P+51>>0]|0)){F=P+8|0,Z[F>>2]=L+1600+(Z[F>>2]|0),Z[O>>2]=-1600;break}else{g1(V);break}while(0);return O=P7(V,48853,37)|0,L=V+8|0,P=Z[L>>2]|0,Z[P>>2]=O,Z[P+4>>2]=(N[O+4>>0]|64)&255,Z[L>>2]=(Z[L>>2]|0)+8,z=-1,q=X,z|0}while(0);if(S=W+4|0,W=_+(K<<3)|0,(Z[S>>2]|0)>>>0>>0)Z[S>>2]=W;if((N[$+6>>0]|0)==0?(J|0)==((Z[Z[Q>>2]>>2]|0)+8|0):0){J=Z[V+12>>2]|0,W=J+12|0,S=Z[W>>2]|0;do if((S|0)>0)if(!(N[J+51>>0]|0)){K=J+8|0,Z[K>>2]=S+1600+(Z[K>>2]|0),Z[W>>2]=-1600;break}else{g1(V);break}while(0);return W=P7(V,48891,37)|0,S=V+8|0,J=Z[S>>2]|0,Z[J>>2]=W,Z[J+4>>2]=(N[W+4>>0]|64)&255,Z[S>>2]=(Z[S>>2]|0)+8,z=-1,q=X,z|0}if(S=(V|0)==($|0),(!S?(W=V+8|0,J=Z[W>>2]|0,K=0-T|0,_=J+(K<<3)|0,Z[W>>2]=_,(T|0)>0):0)?(L=Z[U>>2]|0,Z[U>>2]=L+8,Z[L>>2]=Z[_>>2],Z[L+4>>2]=Z[J+(K<<3)+4>>2],(T|0)!=1):0){K=1;do J=Z[W>>2]|0,L=Z[U>>2]|0,Z[U>>2]=L+8,Z[L>>2]=Z[J+(K<<3)>>2],Z[L+4>>2]=Z[J+(K<<3)+4>>2],K=K+1|0;while((K|0)!=(T|0))}if((b7($,V,T)|0)>>>0>=2){if(S)return z=-1,q=X,z|0;return T=Z[U>>2]|0,$=T+-8|0,Z[U>>2]=$,K=V+8|0,W=Z[K>>2]|0,Z[K>>2]=W+8,Z[W>>2]=Z[$>>2],Z[W+4>>2]=Z[T+-4>>2],z=-1,q=X,z|0}T=(Z[U>>2]|0)-((Z[Z[Q>>2]>>2]|0)+8)|0,W=T>>3,$=W+1|0,Z[Y>>2]=$,K=Z[V+16>>2]|0,J=V+8|0,L=Z[J>>2]|0;do if(((Z[V+24>>2]|0)-L>>3|0)>($|0))H=L,C=$;else{if(((L-(Z[V+28>>2]|0)>>3)+5|0)<=(999999-W|0)?(Y$(V,2,Y)|0)==0:0){H=Z[J>>2]|0,C=Z[Y>>2]|0;break}if(_=~W,(T|0)<0)if(O=Z[Z[Q>>2]>>2]|0,P=Z[U>>2]|0,F=O+8+(_<<3)|0,P>>>0>>0){A=(O+(_<<3)+4+(3-P)|0)>>>3,_=P;do Z[_+4>>2]=0,_=_+8|0;while(_>>>0>>0);Z[U>>2]=P+(A+1<<3),y=F}else y=F;else y=(Z[U>>2]|0)+(0-W<<3)|0;Z[U>>2]=y,_=Z[V+12>>2]|0,O=_+12|0,k=Z[O>>2]|0;do if((k|0)>0)if(!(N[_+51>>0]|0)){m=_+8|0,Z[m>>2]=k+1600+(Z[m>>2]|0),Z[O>>2]=-1600;break}else{g1(V);break}while(0);return O=P7(V,48929,35)|0,k=Z[J>>2]|0,Z[k>>2]=O,Z[k+4>>2]=(N[O+4>>0]|64)&255,Z[J>>2]=(Z[J>>2]|0)+8,z=-1,q=X,z|0}while(0);if(V=K+4|0,K=H+(C<<3)|0,(Z[V>>2]|0)>>>0>>0)Z[V>>2]=K;if(S)return z=W,q=X,z|0;if(S=Z[U>>2]|0,K=0-W|0,V=S+(K<<3)|0,Z[U>>2]=V,(T|0)<=0)return z=W,q=X,z|0;if(C=Z[J>>2]|0,Z[J>>2]=C+8,Z[C>>2]=Z[V>>2],Z[C+4>>2]=Z[S+(K<<3)+4>>2],(T|0)==8)return z=1,q=X,z|0;T=1;do K=Z[U>>2]|0,S=Z[J>>2]|0,Z[J>>2]=S+8,Z[S>>2]=Z[K+(T<<3)>>2],Z[S+4>>2]=Z[K+(T<<3)+4>>2],T=T+1|0;while((T|0)!=(W|0));return z=W,q=X,z|0}function b7(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0;if(X=V+36|0,Y=j[X>>1]|0,!$)Q=1;else Q=(n[$+38>>1]|0)+1&65535;if($=V+38|0,j[$>>1]=Q,j[X>>1]=0,Q=V+8|0,W=Y$(V,6,(Z[Q>>2]|0)+(0-T<<3)|0)|0,(W|0)==-1)return U=2,j[X>>1]=Y,S=j[$>>1]|0,J=S+-1<<16>>16,j[$>>1]=J,U|0;if(W>>>0<=1)return U=W,j[X>>1]=Y,S=j[$>>1]|0,J=S+-1<<16>>16,j[$>>1]=J,U|0;T=V+16|0,_=V+28|0,K=V+41|0,P=V+12|0,O=V+68|0,L=V+32|0,F=W;Z:while(!0){if(W=Z[T>>2]|0,!W)break;z=W;while(!0){if(N[z+18>>0]&16)break;if(W=Z[z+8>>2]|0,!W)break Z;else z=W}switch(W=z+18|0,H=(Z[_>>2]|0)+(Z[z+20>>2]|0)|0,q4(V,H),F|0){case 4:{C=Z[(Z[P>>2]|0)+152>>2]|0,Z[H>>2]=C,A=(N[C+4>>0]|64)&255;break}case 6:{C=P7(V,46910,23)|0,Z[H>>2]=C,A=(N[C+4>>0]|64)&255;break}default:C=Z[Q>>2]|0,Z[H>>2]=Z[C+-8>>2],A=Z[C+-4>>2]|0}Z[H+4>>2]=A,C=H+8|0,Z[Q>>2]=C,Z[T>>2]=z,N[K>>0]=N[z+36>>0]|0,j[X>>1]=0,H=z,y=C;do C=Z[H+4>>2]|0,y=y>>>0>>0?C:y,H=Z[H+8>>2]|0;while((H|0)!=0);if(H=y-(Z[_>>2]|0)|0,C=H>>3,k=C+11+((C+1|0)/8|0)|0,C=(k|0)<1e6?k:1e6,(H|0)<=7999992?(C|0)<(Z[L>>2]|0):0)x5(V,C);if(Z[O>>2]=Z[z+32>>2],N[W>>0]=N[W>>0]|32,N[z+37>>0]=F,C=Y$(V,7,0)|0,C>>>0>1)F=C;else{U=C,m=25;break}}if((m|0)==25)return j[X>>1]=Y,S=j[$>>1]|0,J=S+-1<<16>>16,j[$>>1]=J,U|0;switch(N[V+6>>0]=F,m=Z[Q>>2]|0,F|0){case 4:{O=Z[(Z[P>>2]|0)+152>>2]|0,Z[m>>2]=O,I=(N[O+4>>0]|64)&255;break}case 6:{O=P7(V,46910,23)|0,Z[m>>2]=O,I=(N[O+4>>0]|64)&255;break}default:Z[m>>2]=Z[m+-8>>2],I=Z[m+-4>>2]|0}return Z[m+4>>2]=I,I=m+8|0,Z[Q>>2]=I,Z[(Z[T>>2]|0)+4>>2]=I,U=F,j[X>>1]=Y,S=j[$>>1]|0,J=S+-1<<16>>16,j[$>>1]=J,U|0}function _5(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if(T=V+16|0,X=Z[T>>2]|0,(n[V+38>>1]|0)>199)n7(V,46208,$);switch(Y=V+6|0,N[Y>>0]|0){case 0:{if((X|0)!=(V+72|0))n7(V,48965,$);if(g3(V,$+-8|0,-1)|0)return;t3(V);return}case 1:{if(N[Y>>0]=0,Z[X>>2]=(Z[V+28>>2]|0)+(Z[X+20>>2]|0),Y=X+18|0,Q=N[Y>>0]|0,!(Q&1)){if(W=Z[X+28>>2]|0,!W)U=X,S=$,J=V+8|0;else N[X+37>>0]=1,N[Y>>0]=Q|8,Q=PV[W&255](V)|0,W=V+8|0,U=Z[T>>2]|0,S=(Z[W>>2]|0)+(0-Q<<3)|0,J=W;W=Z[U>>2]|0,Q=j[U+16>>1]|0,Z[T>>2]=Z[U+8>>2];Z:do if(Q<<16>>16){U=S,T=Q<<16>>16,Y=W;while(!0){if(U>>>0>=(Z[J>>2]|0)>>>0)break;if(X=Y+8|0,Z[Y>>2]=Z[U>>2],Z[Y+4>>2]=Z[U+4>>2],_=T+-1|0,!_){K=X;break Z}else U=U+8|0,T=_,Y=X}if((T|0)>0){U=T,X=Y;while(!0)if(_=X+8|0,Z[X+4>>2]=0,(U|0)>1)U=U+-1|0,X=_;else{K=_;break}}else K=Y}else K=W;while(0);Z[J>>2]=K}else t3(V);e7(V,0);return}default:n7(V,49003,$)}}function e7(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0;if($=V+16|0,T=Z[$>>2]|0,X=V+72|0,(T|0)==(X|0))return;Y=V+68|0,Q=V+8|0,W=T;do{if(T=W+18|0,U=N[T>>0]|0,!(U&1)){if(S=U&255,!(S&16))J=U;else U=S&239,N[T>>0]=U,Z[Y>>2]=Z[W+32>>2],J=U;if((j[W+16>>1]|0)==-1?(U=W+4|0,S=Z[Q>>2]|0,(Z[U>>2]|0)>>>0>>0):0)Z[U>>2]=S;if(!(J&32))N[W+37>>0]=1;N[T>>0]=J&-57|8,T=PV[Z[W+28>>2]&255](V)|0,S=Z[Q>>2]|0,U=Z[$>>2]|0,_=Z[U>>2]|0,K=j[U+16>>1]|0,Z[$>>2]=Z[U+8>>2];Z:do if(K<<16>>16){if(U=K<<16>>16,P=0-T|0,(P|0)<0){O=S+(P<<3)|0,P=U,L=_;while(!0){if(F=L+8|0,Z[L>>2]=Z[O>>2],Z[L+4>>2]=Z[O+4>>2],z=P+-1|0,!z){H=F;break Z}if(O=O+8|0,O>>>0>=(Z[Q>>2]|0)>>>0){C=z,A=F;break}else P=z,L=F}}else C=U,A=_;if((C|0)>0){L=C,P=A;while(!0)if(O=P+8|0,Z[P+4>>2]=0,(L|0)>1)L=L+-1|0,P=O;else{H=O;break}}else H=A}else H=_;while(0);Z[Q>>2]=H}else K5(V),t3(V);W=Z[$>>2]|0}while((W|0)!=(X|0));return}function K5(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;switch($=Z[V+16>>2]|0,T=$+24|0,X=Z[T>>2]|0,Y=$+28|0,Q=Z[(Z[Y>>2]|0)+-4>>2]|0,W=Q&63,Q&63){case 12:case 7:case 6:case 31:case 30:case 29:case 28:case 27:case 24:case 23:case 22:case 21:case 20:case 19:case 34:case 32:case 18:case 17:case 16:case 15:case 14:case 13:{U=V+8|0,S=Z[U>>2]|0,J=S+-8|0,Z[U>>2]=J,U=Q>>>6&255,Z[X+(U<<3)>>2]=Z[J>>2],Z[X+(U<<3)+4>>2]=Z[S+-4>>2];return}case 37:case 38:case 39:{switch(S=V+8|0,U=Z[S>>2]|0,Z[U+-4>>2]|0){case 0:{_=1;break}case 1:{_=(Z[U+-8>>2]|0)==0;break}default:_=0}if(J=(_^1)&1,Z[S>>2]=U+-8,(W|0)==39){switch(W=Q>>>23,U=X+(W<<3)|0,S=Z[X+(W<<3)+4>>2]|0,S&15){case 5:{K=(Z[U>>2]|0)+8|0;break}case 7:{K=(Z[U>>2]|0)+8|0;break}default:K=(Z[V+12>>2]|0)+276+((S&15)<<2)|0}S=Z[K>>2]|0;Z:do if(!S)P=2172216;else{K=Z[(Z[V+12>>2]|0)+264>>2]|0,U=(Z[S+16>>2]|0)+(((1<<(G[S+7>>0]|0))+-1&Z[K+8>>2])*20|0)|0;while(!0){if((Z[U+12>>2]|0)==68?(Z[U+8>>2]|0)==(K|0):0)break;if(W=Z[U+16>>2]|0,!W){P=2172216;break Z}else U=W}P=U}while(0);O=(Z[P+4>>2]|0)==0?_&1:J}else O=J;if((O|0)==(Q>>>6&255|0))return;Z[Y>>2]=(Z[Y>>2]|0)+4;return}case 35:{if(Y=V+8|0,O=Z[Y>>2]|0,J=O+-16|0,_=J-(X+(Q>>>23<<3))|0,Z[O+-24>>2]=Z[O+-8>>2],Z[O+-20>>2]=Z[O+-4>>2],(_|0)>8)Z[Y>>2]=J,LT(V,_>>>3);_=Z[Y>>2]|0,J=Z[T>>2]|0,T=Q>>>6&255,Z[J+(T<<3)>>2]=Z[_+-8>>2],Z[J+(T<<3)+4>>2]=Z[_+-4>>2],Z[Y>>2]=Z[$+4>>2];return}case 47:{Z[V+8>>2]=Z[$+4>>2];return}case 42:{if(!(Q&8372224))return;Z[V+8>>2]=Z[$+4>>2];return}default:return}}function n7(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0;X=V+8|0,Z[X>>2]=T,Y=nD(V,$)|0,Z[T>>2]=Y,Z[T+4>>2]=(N[Y+4>>0]|64)&255,Z[X>>2]=(Z[X>>2]|0)+8,Z8(V,-1)}function mX(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if($=q,q=q+16|0,T=$,X=V+16|0,Y=Z[Z[X>>2]>>2]|0,Q=Y+8|0,W=V+8|0,!((Q|0)==2172216?1:Q>>>0>=(Z[W>>2]|0)>>>0)){if(Q=Z[Y+12>>2]&15,(Q|0)!=6)U=Q+1|0,S=4}else U=0,S=4;if((S|0)==4)S=Z[16+(U<<2)>>2]|0,Z[T>>2]=62626,Z[T+4>>2]=S,e5(V,1,b9(V,48406,T)|0)|0;if(T=YX(V)|0,S=(Z[Z[X>>2]>>2]|0)+8|0,X=Z[W>>2]|0,U=S>>>0>>0?S:2172216,Z[X>>2]=Z[U>>2],Z[X+4>>2]=Z[U+4>>2],U=Z[W>>2]|0,Z[W>>2]=U+8,(T|0)==(V|0))return q=$,1;return Z[W>>2]=U,W=T+8|0,T=Z[W>>2]|0,Z[W>>2]=T+8,Z[T>>2]=Z[U>>2],Z[T+4>>2]=Z[U+4>>2],q=$,1}function YX(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;$=V+12|0,T=Z[$>>2]|0,X=T+12|0,Y=Z[X>>2]|0;do if((Y|0)>0)if(!(N[T+51>>0]|0)){Q=T+8|0,Z[Q>>2]=Y+1600+(Z[Q>>2]|0),Z[X>>2]=-1600,W=T;break}else{g1(V),W=Z[$>>2]|0;break}else W=T;while(0);if(T=W+4|0,X=r6[Z[W>>2]&3](Z[T>>2]|0,0,8,120)|0,!X){if(!(N[W+51>>0]|0))Z8(V,4);if(M2(V,1),Y=r6[Z[W>>2]&3](Z[T>>2]|0,0,8,120)|0,!Y)Z8(V,4);else U=Y}else U=X;if(X=W+12|0,Z[X>>2]=(Z[X>>2]|0)+120,X=W+56|0,N[U+5>>0]=N[W+48>>0]&3,N[U+4>>0]=8,Z[U>>2]=Z[X>>2],Z[X>>2]=U,X=V+8|0,W=Z[X>>2]|0,Z[W>>2]=U,Z[W+4>>2]=72,Z[X>>2]=(Z[X>>2]|0)+8,Z[U+12>>2]=Z[$>>2],X=U+28|0,Z[X>>2]=0,W=U+16|0,Z[W>>2]=0,Y=U+32|0,Z[Y>>2]=0,Z[U+64>>2]=0,j[U+38>>1]=0,T=U+52|0,Z[T>>2]=0,Q=U+40|0,N[Q>>0]=0,S=U+44|0,Z[S>>2]=0,N[U+41>>0]=1,Z[U+56>>2]=0,j[U+36>>1]=1,N[U+6>>0]=0,Z[U+68>>2]=0,N[Q>>0]=N[V+40>>0]|0,Q=Z[V+44>>2]|0,Z[S>>2]=Q,Z[T>>2]=Z[V+52>>2],Z[U+48>>2]=Q,Q=Z[$>>2]|0,$=Q+4|0,T=r6[Z[Q>>2]&3](Z[$>>2]|0,0,0,320)|0,!T){if(!(N[Q+51>>0]|0))Z8(V,4);if(M2(V,1),S=r6[Z[Q>>2]&3](Z[$>>2]|0,0,0,320)|0,!S)Z8(V,4);else J=S}else J=T;return T=Q+12|0,Z[T>>2]=(Z[T>>2]|0)+320,Z[X>>2]=J,Z[Y>>2]=40,Y=J+4|0,Z[Y>>2]=0,Z[J+12>>2]=0,Z[J+20>>2]=0,Z[J+28>>2]=0,Z[J+36>>2]=0,Z[J+44>>2]=0,Z[J+52>>2]=0,Z[J+60>>2]=0,Z[J+68>>2]=0,Z[J+76>>2]=0,Z[J+84>>2]=0,Z[J+92>>2]=0,Z[J+100>>2]=0,Z[J+108>>2]=0,Z[J+116>>2]=0,Z[J+124>>2]=0,Z[J+132>>2]=0,Z[J+140>>2]=0,Z[J+148>>2]=0,Z[J+156>>2]=0,Z[J+164>>2]=0,Z[J+172>>2]=0,Z[J+180>>2]=0,Z[J+188>>2]=0,Z[J+196>>2]=0,Z[J+204>>2]=0,Z[J+212>>2]=0,Z[J+220>>2]=0,Z[J+228>>2]=0,Z[J+236>>2]=0,Z[J+244>>2]=0,Z[J+252>>2]=0,Z[J+260>>2]=0,Z[J+268>>2]=0,Z[J+276>>2]=0,Z[J+284>>2]=0,Z[J+292>>2]=0,Z[J+300>>2]=0,Z[J+308>>2]=0,Z[J+316>>2]=0,Z[U+24>>2]=J+280,X=U+72|0,Z[U+80>>2]=0,Z[U+84>>2]=0,N[U+90>>0]=0,Z[X>>2]=J,Z[U+8>>2]=J+8,Z[Y>>2]=0,Z[U+76>>2]=J+168,Z[W>>2]=X,U|0}function uX(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if($=(Z[Z[V+16>>2]>>2]|0)+8|0,T=V+8|0,X=$>>>0<(Z[T>>2]|0)>>>0?$:2172216,(Z[X+4>>2]|0)==72?($=Z[X>>2]|0,($|0)!=0):0)Y=$;else e5(V,1,48834)|0,Y=0;Z:do if((Y|0)==(V|0)){$=Z[V+12>>2]|0,X=$+12|0,Q=Z[X>>2]|0;do if((Q|0)>0)if(!(N[$+51>>0]|0)){W=$+8|0,Z[W>>2]=Q+1600+(Z[W>>2]|0),Z[X>>2]=-1600;break}else{g1(V);break}while(0);U=P7(V,49032,7)|0}else switch(N[Y+6>>0]|0){case 1:{X=Z[V+12>>2]|0,Q=X+12|0,$=Z[Q>>2]|0;do if(($|0)>0)if(!(N[X+51>>0]|0)){W=X+8|0,Z[W>>2]=$+1600+(Z[W>>2]|0),Z[Q>>2]=-1600;break}else{g1(V);break}while(0);U=P7(V,49040,9)|0;break Z}case 0:{if(Q=Z[Y+16>>2]|0,(Q|0)!=(Y+72|0)){$=Z[V+12>>2]|0,X=$+12|0,W=Z[X>>2]|0;do if((W|0)>0)if(!(N[$+51>>0]|0)){S=$+8|0,Z[S>>2]=W+1600+(Z[S>>2]|0),Z[X>>2]=-1600;break}else{g1(V);break}while(0);U=P7(V,49050,6)|0;break Z}if(X=Z[V+12>>2]|0,W=X+12|0,$=Z[W>>2]|0,S=($|0)>0,(Z[Y+8>>2]|0)==((Z[Q>>2]|0)+8|0)){do if(S)if(!(N[X+51>>0]|0)){J=X+8|0,Z[J>>2]=$+1600+(Z[J>>2]|0),Z[W>>2]=-1600;break}else{g1(V);break}while(0);U=P7(V,49057,4)|0;break Z}else{do if(S)if(!(N[X+51>>0]|0)){Q=X+8|0,Z[Q>>2]=$+1600+(Z[Q>>2]|0),Z[W>>2]=-1600;break}else{g1(V);break}while(0);U=P7(V,49040,9)|0;break Z}break}default:{W=Z[V+12>>2]|0,$=W+12|0,X=Z[$>>2]|0;do if((X|0)>0)if(!(N[W+51>>0]|0)){S=W+8|0,Z[S>>2]=X+1600+(Z[S>>2]|0),Z[$>>2]=-1600;break}else{g1(V);break}while(0);U=P7(V,49057,4)|0;break Z}}while(0);return V=Z[T>>2]|0,Z[V>>2]=U,Z[V+4>>2]=(N[U+4>>0]|64)&255,Z[T>>2]=(Z[T>>2]|0)+8,1}function NK(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if($=V+16|0,T=Z[Z[$>>2]>>2]|0,X=T+8|0,Y=V+8|0,!((X|0)==2172216?1:X>>>0>=(Z[Y>>2]|0)>>>0)?(Q=Z[T+12>>2]|0,(Q&15|0)==8):0)if((Q|0)==72)W=1,U=Z[X>>2]|0;else W=1,U=0;else W=0,U=V;if(X=W+1|0,Q=w7(V,X,0)|0,T=Z[Z[$>>2]>>2]|0,!Q)if($=T+(X<<3)|0,S=Z[Y>>2]|0,!($>>>0>=S>>>0|($|0)==2172216)?(Z[T+(X<<3)+4>>2]&15|0)!=0:0)return Z[S>>2]=Z[$>>2],Z[S+4>>2]=Z[T+(X<<3)+4>>2],Z[Y>>2]=(Z[Y>>2]|0)+8,1;else J=S;else J=Z[Y>>2]|0;if(Y=W|2,W=(U|0)==(V|0)&1,S=T+(Y<<3)|0,!(S>>>0>=J>>>0|(S|0)==2172216)?(Z[T+(Y<<3)+4>>2]&15|0)!=0:0)_=eX(V,Y)|0;else _=W;return pL(V,U,Q,_),1}function UK(V){V=V|0,MS(Z[(Z[V+12>>2]|0)+144>>2]|0);return}function JK(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0;if($=q,q=q+16|0,T=$,X=$+8|0,Y=$+4|0,Q=V+16|0,W=Z[Z[Q>>2]>>2]|0,U=W+8|0,S=V+8|0,J=Z[S>>2]|0,U>>>0>=J>>>0|(U|0)==2172216)return _=0,q=$,_|0;if((Z[W+12>>2]&15|0)!=5)return _=0,q=$,_|0;LX(V,J,U),U=Z[S>>2]|0,J=U+8|0,Z[S>>2]=J,W=Z[U+4>>2]|0;do if((W|0)!=3){if((W&15|0)!=4)n9(V,48441,T)|0;if(K=Z[U>>2]|0,!(L9(K+16|0,Z[K+12>>2]|0,X)|0))n9(V,48441,T)|0;else{P=Z[S>>2]|0,O=Z[X>>2]|0;break}}else P=J,O=Z[U>>2]|0;while(0);switch(U=O>>16,O=P+-8|0,Z[S>>2]=O,P=U+1|0,J=Z[Z[Q>>2]>>2]|0,O-(J+8)>>3|0){case 2:{L=O,F=P;break}case 1:case 0:return _=0,q=$,_|0;default:z=10}if((z|0)==10){T=J+24|0,J=T>>>0>>0?T:2172216,T=Z[J+4>>2]|0;do if((T|0)==3)H=J,z=14;else{if((T&15|0)==4?(O=Z[J>>2]|0,L9(O+16|0,Z[O+12>>2]|0,X)|0):0){Z[Y>>2]=Z[X>>2],H=Y,z=14;break}C=0}while(0);if((z|0)==14)C=Z[H>>2]|0;if(H=C>>16,z=Z[S>>2]|0,Y=Z[Z[Q>>2]>>2]|0,X=2-(z-(Y+8)>>3)|0,J=X+-1|0,T=z,(X|0)>0)if(O=Y+(X<<3)|0,O>>>0>T>>>0){W=(Y+(J<<3)+4+(3-z)|0)>>>3,z=T;do Z[z+4>>2]=0,z=z+8|0;while(z>>>0>>0);Z[S>>2]=T+(W+1<<3),A=O}else A=O;else A=T+(X<<3)|0;if(Z[S>>2]=A,(C|0)<65536|(P|0)<(H|0))e5(V,2,49425)|0;if((U|0)>=(H|0)){U=P;do{C=U,U=U+-1|0,A=(Z[Z[Q>>2]>>2]|0)+8|0,X=Z[S>>2]|0,T=Z[(A>>>0>>0?A:2172216)>>2]|0,A=C+-2|0;Z:do if(A>>>0<(Z[T+28>>2]|0)>>>0)y=(Z[T+12>>2]|0)+(A<<3)|0;else{O=U<<16,W=0-O|0,z=(Z[T+16>>2]|0)+(((((O|0)<0?(O|0)==(W|0)?0:W:O)|0)%((1<<(G[T+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[z+12>>2]|0)==3?(Z[z+8>>2]|0)==(O|0):0)break;if(W=Z[z+16>>2]|0,!W){y=2172216;break Z}else z=W}y=z}while(0);Z[X>>2]=Z[y>>2],Z[X+4>>2]=Z[y+4>>2],Z[S>>2]=(Z[S>>2]|0)+8,f3(V,1,C)}while((U|0)>(H|0))}z2(P-H|0),L=Z[S>>2]|0,F=H}return Z[L>>2]=Z[L+-8>>2],Z[L+4>>2]=Z[L+-4>>2],Z[S>>2]=(Z[S>>2]|0)+8,f3(V,1,F),_=1,q=$,_|0}function SK(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0;if($=q,q=q+16|0,T=$,X=$+8|0,Y=$+4|0,Q=V+16|0,W=Z[Z[Q>>2]>>2]|0,U=W+8|0,S=V+8|0,J=Z[S>>2]|0,U>>>0>=J>>>0|(U|0)==2172216)return _=0,q=$,_|0;if((Z[W+12>>2]&15|0)!=5)return _=0,q=$,_|0;LX(V,J,U),U=Z[S>>2]|0,J=U+8|0,Z[S>>2]=J,W=Z[U+4>>2]|0;do if((W|0)!=3){if((W&15|0)!=4)n9(V,48441,T)|0;if(K=Z[U>>2]|0,!(L9(K+16|0,Z[K+12>>2]|0,X)|0))n9(V,48441,T)|0;else{P=Z[S>>2]|0,O=Z[X>>2]|0;break}}else P=J,O=Z[U>>2]|0;while(0);if(U=O>>16,O=P+-8|0,Z[S>>2]=O,P=Z[Z[Q>>2]>>2]|0,J=O-(P+8)|0,(J|0)==8)if(T=P+16|0,!(T>>>0>=O>>>0|(T|0)==2172216)?(Z[P+20>>2]&15|0)!=0:0)T=eX(V,2)|0,W=Z[S>>2]|0,K=Z[Z[Q>>2]>>2]|0,L=K,F=W,z=T,H=W-(K+8)|0,C=13;else A=U;else L=P,F=O,z=-1,H=J,C=13;if((C|0)==13)if((H|0)>8){H=L+16|0,L=H>>>0>>0?H:2172216,H=Z[L+4>>2]|0;do if((H|0)==3)y=L,C=18;else{if((H&15|0)==4?(F=Z[L>>2]|0,L9(F+16|0,Z[F+12>>2]|0,X)|0):0){Z[Y>>2]=Z[X>>2],y=Y,C=18;break}k=0}while(0);if((C|0)==18)k=Z[y>>2]>>16;A=k}else A=z;if((A|0)<1|(U|0)<(A|0))return _=0,q=$,_|0;z=(Z[Z[Q>>2]>>2]|0)+8|0,k=Z[S>>2]|0,y=Z[(z>>>0>>0?z:2172216)>>2]|0,z=A+-1|0;Z:do if(z>>>0<(Z[y+28>>2]|0)>>>0)m=(Z[y+12>>2]|0)+(z<<3)|0;else{C=A<<16,Y=0-C|0,X=(Z[y+16>>2]|0)+(((((C|0)<0?(C|0)==(Y|0)?0:Y:C)|0)%((1<<(G[y+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[X+12>>2]|0)==3?(Z[X+8>>2]|0)==(C|0):0)break;if(Y=Z[X+16>>2]|0,!Y){m=2172216;break Z}else X=Y}m=X}while(0);if(Z[k>>2]=Z[m>>2],Z[k+4>>2]=Z[m+4>>2],Z[S>>2]=(Z[S>>2]|0)+8,z2(U-A|0),(U|0)>(A|0)){m=A;while(!0){k=m,m=m+1|0,y=(Z[Z[Q>>2]>>2]|0)+8|0,z=Z[S>>2]|0,C=Z[(y>>>0>>0?y:2172216)>>2]|0;Z:do if(k>>>0<(Z[C+28>>2]|0)>>>0)I=(Z[C+12>>2]|0)+(k<<3)|0;else{y=m<<16,Y=0-y|0,L=(Z[C+16>>2]|0)+(((((y|0)<0?(y|0)==(Y|0)?0:Y:y)|0)%((1<<(G[C+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[L+12>>2]|0)==3?(Z[L+8>>2]|0)==(y|0):0)break;if(Y=Z[L+16>>2]|0,!Y){I=2172216;break Z}else L=Y}I=L}while(0);if(Z[z>>2]=Z[I>>2],Z[z+4>>2]=Z[I+4>>2],Z[S>>2]=(Z[S>>2]|0)+8,f3(V,1,k),(m|0)==(U|0)){u=U;break}}}else u=A;return A=Z[S>>2]|0,Z[A+4>>2]=0,Z[S>>2]=A+8,f3(V,1,u),_=1,q=$,_|0}function RK(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0;if($=q,q=q+16|0,T=$,X=$+4|0,Y=V+8|0,Q=Z[Y>>2]|0,W=V+16|0,U=Z[Z[W>>2]>>2]|0,S=U+8|0,J=Q,Q-S>>3>>>0<2)return _=0,q=$,_|0;if((S|0)==2172216|S>>>0>=J>>>0)return _=0,q=$,_|0;if((Z[U+12>>2]&15|0)!=5)return _=0,q=$,_|0;LX(V,J,S),S=Z[Y>>2]|0,J=S+8|0,Z[Y>>2]=J,U=Z[S+4>>2]|0;do if((U|0)!=3){if((U&15|0)!=4)n9(V,48441,T)|0;if(Q=Z[S>>2]|0,!(L9(Q+16|0,Z[Q+12>>2]|0,X)|0))n9(V,48441,T)|0;else{K=Z[X>>2]|0,P=Z[Y>>2]|0;break}}else K=Z[S>>2]|0,P=J;while(0);if(J=K>>16,S=P+-8|0,Z[Y>>2]=S,(K|0)<65536)return z2(J),_=0,q=$,_|0;K=S,S=1;while(!0){P=(Z[Z[W>>2]>>2]|0)+8|0,X=Z[(P>>>0>>0?P:2172216)>>2]|0,P=S+-1|0;Z:do if(P>>>0<(Z[X+28>>2]|0)>>>0)O=(Z[X+12>>2]|0)+(P<<3)|0;else{T=S<<16,U=(Z[X+16>>2]|0)+(((T|0)%((1<<(G[X+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[U+12>>2]|0)==3?(Z[U+8>>2]|0)==(T|0):0)break;if(Q=Z[U+16>>2]|0,!Q){O=2172216;break Z}else U=Q}O=U}while(0);if(Z[K>>2]=Z[O>>2],Z[K+4>>2]=Z[O+4>>2],X=Z[Y>>2]|0,P=X+8|0,Z[Y>>2]=P,T=(Z[Z[W>>2]>>2]|0)+16|0,Q=T>>>0

>>0?T:2172216,(X|0)!=2172216&(Q|0)!=2172216?(Z[X+4>>2]|0)==(Z[Q+4>>2]|0):0)if(T=(YZ(V,X,Q)|0)==0,Q=(Z[Y>>2]|0)+-8|0,Z[Y>>2]=Q,T)L=Q;else{F=S;break}else Z[Y>>2]=X,L=X;if((S|0)<(J|0))K=L,S=S+1|0;else{F=0;break}}if(z2(J),!F)return _=0,q=$,_|0;S=(Z[Z[W>>2]>>2]|0)+8|0,L=Z[Y>>2]|0,K=Z[(S>>>0>>0?S:2172216)>>2]|0,S=F+-1|0;Z:do if(S>>>0<(Z[K+28>>2]|0)>>>0)z=(Z[K+12>>2]|0)+(S<<3)|0;else{O=F<<16,X=0-O|0,Q=(Z[K+16>>2]|0)+(((((O|0)<0?(O|0)==(X|0)?0:X:O)|0)%((1<<(G[K+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[Q+12>>2]|0)==3?(Z[Q+8>>2]|0)==(O|0):0)break;if(X=Z[Q+16>>2]|0,!X){z=2172216;break Z}else Q=X}z=Q}while(0);if(Z[L>>2]=Z[z>>2],Z[L+4>>2]=Z[z+4>>2],z=(Z[Y>>2]|0)+8|0,Z[Y>>2]=z,(F|0)<(J|0)){L=z,K=F;while(!0){S=K,K=K+1|0,O=(Z[Z[W>>2]>>2]|0)+8|0,X=Z[(O>>>0>>0?O:2172216)>>2]|0;Z:do if(S>>>0<(Z[X+28>>2]|0)>>>0)H=(Z[X+12>>2]|0)+(S<<3)|0;else{O=K<<16,T=0-O|0,P=(Z[X+16>>2]|0)+(((((O|0)<0?(O|0)==(T|0)?0:T:O)|0)%((1<<(G[X+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[P+12>>2]|0)==3?(Z[P+8>>2]|0)==(O|0):0)break;if(T=Z[P+16>>2]|0,!T){H=2172216;break Z}else P=T}H=P}while(0);if(Z[L>>2]=Z[H>>2],Z[L+4>>2]=Z[H+4>>2],Z[Y>>2]=(Z[Y>>2]|0)+8,f3(V,1,S),X=Z[Y>>2]|0,(K|0)==(J|0)){C=X,A=J;break}else L=X}}else C=z,A=F;return Z[C+4>>2]=0,Z[Y>>2]=C+8,f3(V,1,A),_=1,q=$,_|0}function _K(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0;if($=q,q=q+16|0,T=$,X=$+4|0,Y=V+16|0,Q=Z[Z[Y>>2]>>2]|0,W=Q+8|0,U=V+8|0,S=Z[U>>2]|0,W>>>0>=S>>>0|(W|0)==2172216)return J=0,q=$,J|0;if((Z[Q+12>>2]&15|0)!=5)return J=0,q=$,J|0;LX(V,S,W),W=Z[U>>2]|0,S=W+8|0,Z[U>>2]=S,Q=Z[W+4>>2]|0;do if((Q|0)!=3){if((Q&15|0)!=4)n9(V,48441,T)|0;if(_=Z[W>>2]|0,!(L9(_+16|0,Z[_+12>>2]|0,X)|0))n9(V,48441,T)|0;else{K=Z[U>>2]|0,P=Z[X>>2]|0;break}}else K=S,P=Z[W>>2]|0;while(0);W=P>>16,S=K+-8|0,Z[U>>2]=S,K=Z[Z[Y>>2]>>2]|0;Z:do if((S-(K+8)|0)>8)if((P|0)<65536)O=0,L=0;else{X=K,T=S,Q=0,_=1,F=0;while(!0){z=X+8|0,H=Z[(z>>>0>>0?z:2172216)>>2]|0,z=_+-1|0;V:do if(z>>>0<(Z[H+28>>2]|0)>>>0)C=(Z[H+12>>2]|0)+(z<<3)|0;else{A=_<<16,y=(Z[H+16>>2]|0)+(((A|0)%((1<<(G[H+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[y+12>>2]|0)==3?(Z[y+8>>2]|0)==(A|0):0)break;if(k=Z[y+16>>2]|0,!k){C=2172216;break V}else y=k}C=y}while(0);if(Z[T>>2]=Z[C>>2],Z[T+4>>2]=Z[C+4>>2],H=Z[U>>2]|0,z=H+8|0,Z[U>>2]=z,A=(Z[Z[Y>>2]>>2]|0)+16|0,k=A>>>0>>0?A:2172216,((H|0)!=2172216&(k|0)!=2172216?(Z[H+4>>2]|0)==(Z[k+4>>2]|0):0)?(YZ(V,H,k)|0)!=0:0)m=F+1|0;else m=F;if(k=(Z[U>>2]|0)+-8|0,Z[U>>2]=k,H=Q+1|0,(_|0)>=(W|0)){O=H,L=m;break Z}X=Z[Z[Y>>2]>>2]|0,T=k,Q=H,_=_+1|0,F=m}}else O=0,L=W;while(0);return z2(O),O=Z[U>>2]|0,Z[O>>2]=L<<16,Z[O+4>>2]=3,Z[U>>2]=(Z[U>>2]|0)+8,J=1,q=$,J|0}function KK(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if($=V+8|0,T=V+16|0,X=(Z[$>>2]|0)-((Z[Z[T>>2]>>2]|0)+8)|0,Y=X>>3,QR(V,Y,1),Q=Z[$>>2]|0,Z[Q>>2]=X<<13,Z[Q+4>>2]=3,Q=Z[$>>2]|0,Z[$>>2]=Q+16,W=y9(V,48333,1)|0,Z[Q+8>>2]=W,Z[Q+12>>2]=(N[W+4>>0]|64)&255,W=Z[$>>2]|0,KQ(V,Q+-8|0,W+-8|0,W+-16|0),W=Z[$>>2]|0,Q=W+-16|0,Z[$>>2]=Q,(X|0)<=0)return U=X>>2,z2(U),1;if(S=(Z[Z[T>>2]>>2]|0)+8|0,J=S>>>0>>0?S:2172216,Z[Q>>2]=Z[J>>2],Z[W+-12>>2]=Z[J+4>>2],Z[$>>2]=(Z[$>>2]|0)+8,f3(V,-2,1),J=Z[$>>2]|0,W=(Z[Z[T>>2]>>2]|0)+8|0,T=W>>>0>>0?W:2172216,Z[T>>2]=Z[J+-8>>2],Z[T+4>>2]=Z[J+-4>>2],Z[$>>2]=(Z[$>>2]|0)+-8,(X|0)<=8)return U=X>>2,z2(U),1;$=Y;while(!0)if(f3(V,1,$),($|0)>2)$=$+-1|0;else break;return U=X>>2,z2(U),1}function PK(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0;if($=q,q=q+32|0,T=$+16|0,X=$+8|0,Y=$,Q=$+20|0,W=V+16|0,U=Z[Z[W>>2]>>2]|0,S=U+8|0,J=V+8|0,_=Z[J>>2]|0,!(S>>>0>=_>>>0|(S|0)==2172216))if(S=Z[U+12>>2]&15,(S|0)==5)K=U,P=_;else O=S+1|0,L=4;else O=0,L=4;if((L|0)==4)L=Z[16+(O<<2)>>2]|0,Z[Y>>2]=61826,Z[Y+4>>2]=L,e5(V,1,b9(V,48406,Y)|0)|0,K=Z[Z[W>>2]>>2]|0,P=Z[J>>2]|0;if(Y=K+16|0,!(Y>>>0>=P>>>0|(Y|0)==2172216)?(Z[K+20>>2]&15|0)!=0:0)Y=eX(V,2)|0,F=Z[Z[W>>2]>>2]|0,z=Z[J>>2]|0,H=Y;else F=K,z=P,H=1;if(P=F+24|0,!(P>>>0>=z>>>0|(P|0)==2172216)?(Z[F+28>>2]&15|0)!=0:0)C=eX(V,3)|0;else{P=F+8|0,LX(V,z,P>>>0>>0?P:2172216),P=Z[J>>2]|0,z=P+8|0,Z[J>>2]=z,F=Z[P+4>>2]|0;do if((F|0)!=3){if((F&15|0)!=4)n9(V,48441,X)|0;if(K=Z[P>>2]|0,!(L9(K+16|0,Z[K+12>>2]|0,Q)|0))n9(V,48441,X)|0;else{A=Z[Q>>2]|0,y=Z[J>>2]|0;break}}else A=Z[P>>2]|0,y=z;while(0);Z[J>>2]=y+-8,C=A>>16}if((C|0)<(H|0))return k=0,q=$,k|0;if(A=C-H|0,y=A+1|0,(A|0)<0)n9(V,49062,T)|0;Z[Q>>2]=y,z=Z[W>>2]|0,P=Z[J>>2]|0;do if(((Z[V+24>>2]|0)-P>>3|0)>(y|0))m=P,I=y;else{if(((P-(Z[V+28>>2]|0)>>3)+5|0)<=(999999-A|0)?(Y$(V,2,Q)|0)==0:0){m=Z[J>>2]|0,I=Z[Q>>2]|0;break}n9(V,49062,T)|0}while(0);if(T=z+4|0,z=m+(I<<3)|0,(Z[T>>2]|0)>>>0>>0)Z[T>>2]=z;z=(Z[Z[W>>2]>>2]|0)+8|0,T=Z[(z>>>0>>0?z:2172216)>>2]|0,z=H+-1|0;Z:do if(z>>>0<(Z[T+28>>2]|0)>>>0)u=(Z[T+12>>2]|0)+(z<<3)|0;else{I=H<<16,V=0-I|0,Q=(Z[T+16>>2]|0)+(((((I|0)<0?(I|0)==(V|0)?0:V:I)|0)%((1<<(G[T+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[Q+12>>2]|0)==3?(Z[Q+8>>2]|0)==(I|0):0)break;if(V=Z[Q+16>>2]|0,!V){u=2172216;break Z}else Q=V}u=Q}while(0);if(Z[m>>2]=Z[u>>2],Z[m+4>>2]=Z[u+4>>2],u=(Z[J>>2]|0)+8|0,Z[J>>2]=u,(C|0)>(H|0)){m=u,u=H;do{H=u,u=u+1|0,T=(Z[Z[W>>2]>>2]|0)+8|0,z=Z[(T>>>0>>0?T:2172216)>>2]|0;Z:do if(H>>>0<(Z[z+28>>2]|0)>>>0)g=(Z[z+12>>2]|0)+(H<<3)|0;else{T=u<<16,I=0-T|0,V=(Z[z+16>>2]|0)+(((((T|0)<0?(T|0)==(I|0)?0:I:T)|0)%((1<<(G[z+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[V+12>>2]|0)==3?(Z[V+8>>2]|0)==(T|0):0)break;if(I=Z[V+16>>2]|0,!I){g=2172216;break Z}else V=I}g=V}while(0);Z[m>>2]=Z[g>>2],Z[m+4>>2]=Z[g+4>>2],m=(Z[J>>2]|0)+8|0,Z[J>>2]=m}while((u|0)!=(C|0))}return z2(y<<1),k=y,q=$,k|0}function OK(){Z[543059]=0;return}function GK(){Z[543057]=(Z[543057]|0)+(Z[543058]|0),Z[543058]=0;return}function fQ(){return(Z[543058]|0)+(Z[543057]|0)|0}function MK(V){V=V|0,Z[543058]=(Z[543058]|0)+V;return}function kU(V){V=V|0,Z[8698]=V;return}function dQ(){Z[543057]=0,Z[543058]=0;return}function H4(){Z[543059]=1073741824;return}function pU(V,$,T){V=V|0,$=$|0,T=T|0;var X=0;if(X=Z[543069]|0,(X|0)>510)return;V8(194096+(X*1320|0)|0,V)|0,V8(194096+((Z[543069]|0)*1320|0)+256|0,$)|0,$=Z[543069]|0,Z[194096+($*1320|0)+1316>>2]=T,V8(194096+($*1320|0)+288|0,3074076)|0,Z[543069]=(Z[543069]|0)+1;return}function LK(){Z[785515]=0,Z[543069]=0;return}function QX(){var V=0;return V=Z[543069]|0,((V|0)<1?0:194096+((V+-1|0)*1320|0)+256|0)|0}function DK(){var V=0;return V=Z[543069]|0,((V|0)<1?0:194096+((V+-1|0)*1320|0)|0)|0}function lX(){var V=0,$=0;if(V=Z[543069]|0,(V|0)<1)return;if($=V+-1|0,!(Z[194096+($*1320|0)+1316>>2]|0))return;Z[543069]=$;return}function mU(){var V=0,$=0;if(V=Z[543069]|0,!V)return;if($=194096+((V+-1|0)*1320|0)+1316|0,!(Z[$>>2]|0))return;Z[$>>2]=0;return}function uU(){var V=0;if(V=Z[543069]|0,(V|0)<1)return;if(iY(194096+((V+-1|0)*1320|0)|0)|0,Z[768033]=1,V=Z[543069]|0,V8(3075101,(V|0)<1?0:194096+((V+-1|0)*1320|0)+288|0)|0,Z[768036]=20,V=Z[543069]|0,(V|0)>=1)Z[543069]=V+-1;Z[482623]=0;return}function I0(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;if(T=(Z[730464]|0)!=0,X=Z[768028]|0,T&(X|0)==0){u9(V)|0;return}if(!((N[2130720]|0)==0|T^1)){u9(V)|0;return}if((X|0)!=2)z6(21,V|0,x6(V)|0)|0;if(X=x6(V)|0,(X|0)>32){T=~X,Y=((X+((T|0)>-65?T:-65)+32|0)>>>5)*6|0,T=X;while(!0)if(uY(),(T|0)>64)T=T+-32|0;else break;Q=Y+6|0}else Q=0;Y=(Z[768157]|0)-Q|0,Z[768157]=Y,T=Z[730449]|0,V7(T,0,Y,127,Y+5+((((x6(V)|0)+-1|0)>>>5)*6|0)|0,0),K1(Z[730449]|0,V,Z[730468]|0,Z[768156]|0,Z[768157]|0,17,$)|0,Z[768157]=(Z[768157]|0)+Q,uY();return}function t9(V,$){V=V|0,$=$|0;var T=0,X=0;if(I0(V,$),$=Z[533461]|0,!$)T=Q3(16)|0,Z[533461]=T,X=T;else X=$;$=x6(Z[X+12>>2]|0)|0,k4(X,$+16+(x6(V)|0)|0)|0,d1(Z[(Z[533461]|0)+12>>2]|0,V)|0,V=Z[(Z[533461]|0)+12>>2]|0,$=V+(x6(V)|0)|0,N[$>>0]=10,N[$+1>>0]=0;return}function d(V){V=V|0,I0(V,6);return}function b5(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0;X=q,q=q+16|0,Y=X,Z[Y>>2]=$,Z[Y+4>>2]=T,a6(1708384,V,Y)|0,I0(1708384,6),q=X;return}function bQ(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0;Y=q,q=q+16|0,Q=Y,Z[Q>>2]=$,Z[Q+4>>2]=T,a6(1708384,V,Q)|0,I0(1708384,X),q=Y;return}function zK(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0;if(T=q,q=q+48|0,X=T+24|0,Y=T+8|0,Q=T,W=T+32|0,U=T+28|0,u1(V,49298)|0)return S=0,q=T,S|0;if(J=u1(V,49314)|0,!J){if(!V)return S=0,q=T,S|0;_=B2((x6(V)|0)+1|0)|0,V8(_,V)|0,K=_+(x6(_)|0)|0,P=K+-1|0;Z:do if(P>>>0>_>>>0){O=K,L=P;while(!0){if((N[L>>0]|0)==58){F=O,z=L;break Z}if(H=L+-1|0,H>>>0>_>>>0)C=L,L=H,O=C;else{F=L,z=H;break}}}else F=K,z=P;while(0);return k7(869936,(N[z>>0]|0)==58?F+1|0:z,1023)|0,N[870959]=0,$6(_),S=869936,q=T,S|0}if(Z[W>>2]=0,Z[U>>2]=0,_=u1(V,49325)|0,_|0)Z[W>>2]=0,Z[Q>>2]=W,Z[Q+4>>2]=U,a8(_+8|0,49334,Q)|0;Q=B2((x6(V)|0)+1|0)|0,V8(Q,J+10|0)|0,J=Q;Z:while(!0)switch(A=J+1|0,N[A>>0]|0){case 0:case 39:break Z;default:J=A}if(N[A>>0]=0,!$)Z[X>>2]=Q,a6(1708384,49379,X)|0;else X=Z[W>>2]|0,$=Z[U>>2]|0,Z[Y>>2]=Q,Z[Y+4>>2]=X,Z[Y+8>>2]=$,a6(1708384,49346,Y)|0;if(t9(1708384,6),Y=Z[W>>2]|0,(Y|0)>0?(W=Z[765622]|0,$=Y+-1|0,(r9(Z[W>>2]|0,Z[W+336>>2]|0)|0)!=($|0)):0)W=TN(Z[Z[765622]>>2]|0,$)|0,$=Z[765622]|0,Z[$+336>>2]=W,$N($,52),Z[482726]=Y;return $6(Q),S=0,q=T,S|0}function FK(V){V=V|0;var $=0,T=0;if($=Y1(8192)|0,V8($,V)|0,!(u1(V,49391)|0)){if(!(Q6(V,49448)|0)){$6($);return}t9($,6),$6($);return}if(u1(V,49408)|0?(t9(49408,6),N[3143712]|0):0)t9(3143712,7);if(T=u1(V,49425)|0,!T){$6($);return}V8(1708384,T)|0,N[1708384+((x6(1708384)|0)+-1)>>0]=0,t9(1708384,6),$6($);return}function FY(V){V=V|0;var $=0;if(!V)return $=fQ()|0,$|0;else return $=Z[730445]|0,$|0;return 0}function sX(){var V=0;if(V=Z[543066]|0,V|0)UK(V);V=GS(2,0)|0,Z[543066]=V,Z[543065]=V,Z[543067]=YX(V)|0,UP(Z[543065]|0),VZ(Z[543065]|0,6,100)|0,VZ(Z[543065]|0,7,200)|0;return}function lU(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;if(!T)X=0,Y=V;else T=Y1(262144)|0,H9(V,T)|0,X=T,Y=T;if($6(Z[543070]|0),!Y)return T=B2(16)|0,Z[543070]=T,N[T>>0]=0,$6(X),Q=Z[543070]|0,Q|0;T=(x6(Y)|0)+1|0,V=B2(T>>>0>32?T:32)|0,Z[543070]=V,V8(V,Y)|0,Y=Z[543070]|0,V=N[Y>>0]|0;Z:do if(V<<24>>24){T=V,W=Y,U=1;while(!0){if((U|0)==($|0))break;if(S=T<<24>>24==0,J=W+1|0,S^T<<24>>24!=10){_=J;while(!0)if(K=N[_>>0]|0,P=K<<24>>24==0,O=_+1|0,P^K<<24>>24!=10)_=O;else{L=_,F=O,z=P;break}}else L=W,F=J,z=S;if(_=z?L:F,P=N[_>>0]|0,!(P<<24>>24))break Z;else T=P,W=_,U=U+1|0}U=T,_=W;V:while(!0){switch(U<<24>>24){case 0:case 10:break V;default:}P=_+1|0,U=N[P>>0]|0,_=P}return N[_>>0]=0,$6(X),Q=W,Q|0}while(0);return V8(Y,49466)|0,$6(X),Q=Z[543070]|0,Q|0}function EY(){var V=0,$=0,T=0,X=0,Y=0;if(V=Z[768156]|0,$=Z[768157]|0,T=UX(0)|0,X=UX(1)|0,Y=d8(2921764,Z[769129]|0,24375)|0,YW(2921764,Z[769129]|0,24320,0,128),f2(2921764,Z[769129]|0,24404,0),f2(2921764,Z[769129]|0,24405,96),f2(2921764,Z[769129]|0,24406,32),f2(2921764,Z[769129]|0,24407,128),Z[768156]=V,Z[768157]=$,HY(0,T),HY(1,X),f2(2921764,Z[769129]|0,24375,Y),Z[768156]=0,Z[768158]=0,Z[768155]=6,Z[768161]=4,Z[768162]=6,Z[768169]=15,Z[768168]=15,Z[768167]=255,Z[768172]=0,Z[768173]=0,Z[768175]=0,Z[768164]=0,Z[768163]=0,Z[768119]=0,Z[768135]=0,Z[768104]=1,Z[768120]=1,Z[768136]=1,Z[768105]=2,Z[768121]=2,Z[768137]=18,Z[768106]=3,Z[768122]=3,Z[768138]=19,Z[768107]=4,Z[768123]=4,Z[768139]=36,Z[768108]=5,Z[768124]=5,Z[768140]=21,Z[768109]=6,Z[768125]=6,Z[768141]=214,Z[768110]=7,Z[768126]=7,Z[768142]=103,Z[768111]=8,Z[768127]=8,Z[768143]=72,Z[768112]=9,Z[768128]=9,Z[768144]=73,Z[768113]=10,Z[768129]=10,Z[768145]=154,Z[768114]=11,Z[768130]=11,Z[768146]=59,Z[768115]=12,Z[768131]=12,Z[768147]=220,Z[768116]=13,Z[768132]=13,Z[768148]=93,Z[768117]=14,Z[768133]=14,Z[768149]=142,Z[768118]=15,Z[768134]=15,Z[768150]=239,Z[768103]=16,Z[768166]=0,Z[768152]=0,Z[768151]=0,Z[768154]=128,Z[768153]=128,iX(),Z[768171]=0,N[3143712]=0,Z[768518]=0,Z[532671]=0,Z[785517]=0,Z[785518]=0,Z[785519]=0,Z[730442]=0,Z[786056]=0,zO(),Z[785925]|0){Z[730444]=0,Z[768511]=0,xJ(),Z[785592]=0,N[3144232]=0,oJ(),IW(),Z[768177]=13;return}Z[481785]=0,Z[481788]=0,Z[730444]=0,Z[768511]=0,xJ(),Z[785592]=0,N[3144232]=0,oJ(),IW(),Z[768177]=13;return}function EK(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0;if($=q,q=q+176|0,T=$+152|0,X=$+144|0,Y=$+136|0,Q=$+128|0,W=$+120|0,U=$+112|0,S=$+104|0,J=$+96|0,_=$+88|0,K=$+80|0,P=$+72|0,O=$+64|0,L=$+56|0,F=$+48|0,z=$+40|0,H=$+32|0,C=$+24|0,A=$+16|0,y=$+8|0,k=$,m=$+160|0,Z[m>>2]=0,Z[768155]=6,k8(V,49472,6)|0)if(!(k8(V,49479,5)|0))I=V+5|0;else{if(u=V+10|0,k8(V,49599,10)|0)if(g=V+9|0,k8(V,49610,9)|0)if(k8(V,49620,10)|0)if(!(k8(V,49631,9)|0))i=g;else{if(k8(V,49809,14)|0)if(k8(V,49824,13)|0){if(!(k8(V,49994,7)|0)){if(Z[k>>2]=m,a8(V+7|0,93171,k)|0,k=Z[m>>2]|0,t=(k|0)<256?k:256,k=(t|0)>8?t:8,Z[m>>2]=k,Z[532678]=k,Z[543939]|0)Z[543939]=k;Z[y>>2]=k,a6(1708384,50002,y)|0,I0(1708384,14),q=$;return}if(!(k8(V,91687,6)|0)){I0(50017,14),I0(50037,12),Z[A>>2]=Z[532678],Z[A+4>>2]=0,a6(1708384,50062,A)|0,I0(1708384,6),q=$;return}if(!(k8(V,50081,8)|0)){Z[C>>2]=m,a8(V+8|0,93171,C)|0,C=Z[m>>2]|0,A=(C|0)<30?C:30,C=(A|0)>1?A:1,Z[m>>2]=C,Z[481771]=C,Z[H>>2]=C,a6(1708384,50090,H)|0,I0(1708384,14),oX(),q=$;return}if(!(k8(V,50106,7)|0)){I0(50114,14),Z[z>>2]=Z[481771],Z[z+4>>2]=0,a6(1708384,50139,z)|0,I0(1708384,6),q=$;return}if(!(k8(V,50159,15)|0)){Z[F>>2]=m,a8(V+15|0,93171,F)|0,F=Z[m>>2]|0,z=(F|0)<1?F:1,F=(z|0)>0?z:0,Z[m>>2]=F,Z[481772]=F,Z[L>>2]=F,a6(1708384,50175,L)|0,I0(1708384,14),q=$;return}if(!(k8(V,50198,14)|0)){I0(50213,14),I0(50242,12),I0(50274,12),I0(3144900,6),Z[O>>2]=Z[481772],Z[O+4>>2]=0,a6(1708384,50305,O)|0,I0(1708384,6),q=$;return}if(!(k8(V,50332,12)|0)){Z[P>>2]=m,a8(V+12|0,93171,P)|0,P=Z[m>>2]|0,O=(P|0)<1?P:1,P=(O|0)>0?O:0,Z[m>>2]=P,Z[481783]=P,Z[K>>2]=P,a6(1708384,50345,K)|0,I0(1708384,14),q=$;return}if(!(k8(V,50365,10)|0)){Z[_>>2]=m,a8(u,93171,_)|0,_=Z[m>>2]|0,K=(_|0)<8?_:8,_=(K|0)>1?K:1,Z[m>>2]=_,Z[481768]=_,Z[J>>2]=_,a6(1708384,50376,J)|0,I0(1708384,14),q=$;return}if(!(k8(V,50394,9)|0)){I0(50404,14),Z[S>>2]=Z[481768],Z[S+4>>2]=0,a6(1708384,50428,S)|0,I0(1708384,6),q=$;return}if(!(k8(V,50450,17)|0)){Z[U>>2]=m,a8(V+17|0,93171,U)|0,U=Z[m>>2]|0,S=(U|0)<8?U:8,U=(S|0)>1?S:1,Z[m>>2]=U,Z[481767]=U,Z[W>>2]=U,a6(1708384,50468,W)|0,I0(1708384,14),q=$;return}if(!(k8(V,50493,16)|0)){I0(50510,14),Z[Q>>2]=Z[481767],Z[Q+4>>2]=0,a6(1708384,50541,Q)|0,I0(1708384,6),q=$;return}if(!(k8(V,50570,10)|0)){Z[Y>>2]=m,a8(u,93171,Y)|0,Y=Z[m>>2]|0,Q=(Y|0)<8?Y:8,Y=(Q|0)>1?Q:1,Z[m>>2]=Y,Z[481764]=Y,m=((Y|0)<4?Y:4)<<2,Z[(Z[765606]|0)+316>>2]=m,Z[(Z[765607]|0)+316>>2]=m,Z[(Z[765608]|0)+316>>2]=m,Z[(Z[765609]|0)+316>>2]=m,Z[(Z[765610]|0)+316>>2]=m,Z[(Z[765611]|0)+316>>2]=m,Z[(Z[765612]|0)+316>>2]=m,Z[(Z[765613]|0)+316>>2]=m,Z[(Z[765614]|0)+316>>2]=m,Z[(Z[765615]|0)+316>>2]=m,Z[(Z[765616]|0)+316>>2]=m,Z[(Z[765617]|0)+316>>2]=m,Z[(Z[765618]|0)+316>>2]=m,Z[(Z[765619]|0)+316>>2]=m,Z[(Z[765620]|0)+316>>2]=m,Z[(Z[765621]|0)+316>>2]=m,Z[X>>2]=Y,a6(1708384,50581,X)|0,I0(1708384,14),q=$;return}if(!(k8(V,50599,9)|0)){I0(50609,14),Z[T>>2]=Z[481764],Z[T+4>>2]=0,a6(1708384,50634,T)|0,I0(1708384,6),q=$;return}else{I0(50656,14),I0(3144900,6),I0(50673,12),Z[768155]=14,I0(91687,6),I0(49479,6),I0(50106,6),I0(50198,6),I0(50394,6),I0(50493,6),I0(49824,6),I0(50599,6),I0(49610,6),I0(3144900,6),q=$;return}}else Y0=V+13|0;else Y0=V+14|0;if(!(k8(Y0,49641,2)|0)){Z[481780]=1,I0(49838,14),q=$;return}if(!(k8(Y0,49662,3)|0)){Z[481780]=0,I0(49848,14),q=$;return}switch(N[Y0>>0]|0){case 49:{Z[481780]=1,I0(49838,14),q=$;return}case 48:{Z[481780]=0,I0(49848,14),q=$;return}default:{if(I0(49859,14),I0(3144900,6),I0(49884,6),I0(49914,6),I0(3144900,6),!((Z[481780]|0)!=0?(I0(49945,12),(Z[481780]|0)!=0):0))I0(49969,12);I0(3144900,6),q=$;return}}}else i=u;else i=g;else i=u;if(!(k8(i,49641,2)|0)){Z[481765]=1,I0(49644,14),q=$;return}if(!(k8(i,49662,3)|0)){Z[481765]=0,I0(49666,14),q=$;return}switch(N[i>>0]|0){case 49:{Z[481765]=1,I0(49644,14),q=$;return}case 48:{Z[481765]=0,I0(49666,14),q=$;return}default:{if(I0(49685,14),I0(3144900,6),I0(49713,6),I0(49742,6),I0(3144900,6),!((Z[481765]|0)!=0?(I0(49768,12),(Z[481765]|0)!=0):0))I0(49788,12);I0(3144900,6),q=$;return}}}else I=V+6|0;if(!(k8(I,49485,4)|0)){Z[481774]=1,I0(49490,14),q=$;return}if(!(k8(I,49508,4)|0)){Z[481774]=0,I0(49513,14),q=$;return}if(!(k8(I,49531,7)|0)){Z[481774]=3,I0(49539,14),q=$;return}else{I0(49560,14),I0(3144900,6),I0(49581,12),I0(49508,6),I0(49485,6),I0(49531,6),I0(3144900,6),q=$;return}}function BK(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0;if($=(I8()|0)/120|0,(Z[533458]|0)==0|(Z[730442]|0)<240)return;if(T=fQ()|0,X=v1(T|0,((T|0)<0)<<31>>31|0,16)|0,T=x()|0,Y=Z[785581]|0,Q=8388608/(((Y|0)==0?30:Y)|0)|0,Y=q5(X|0,T|0,Q|0,((Q|0)<0)<<31>>31|0)|0,x()|0,(Z[768028]|0)!=1|(Y|0)<7864320|(Z[768034]|0)==0)return;Y=4;do{if(Q=B(Y+1001|0,$)|0,T=B(Y,$)|0,X=Y+-1|0,W=Y|1,((((Q*41|0)+103|0)%4701|0|0)%97|0)&4|0)V7(V,3,X,5,W,0),o9(V,4,Y,((r8(2)|0)<<1)+12|0);if(((((T<<2)+103|0)%4701|0|0)%101|0)&8|0)V7(V,3,X,5,W,0),o9(V,4,Y,7);if(((((Q*43|0)+103|0)%4701|0|0)%97|0)&4|0)V7(V,5,X,7,W,0),o9(V,6,Y,((r8(2)|0)<<1)+12|0);if(((((T*6|0)+103|0)%4701|0|0)%101|0)&8|0)V7(V,5,X,7,W,0),o9(V,6,Y,7);if(((((Q*45|0)+103|0)%4701|0|0)%97|0)&4|0)V7(V,7,X,9,W,0),o9(V,8,Y,((r8(2)|0)<<1)+12|0);if(((((T<<3)+103|0)%4701|0|0)%101|0)&8|0)V7(V,7,X,9,W,0),o9(V,8,Y,7);Y=Y+2|0}while(Y>>>0<10);return}function sU(V){V=V|0;var $=0,T=0,X=0;return $=v1(V|0,((V|0)<0)<<31>>31|0,16)|0,V=x()|0,T=Z[785581]|0,X=8388608/(((T|0)==0?30:T)|0)|0,T=q5($|0,V|0,X|0,((X|0)<0)<<31>>31|0)|0,x()|0,T|0}function CK(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if($=q,q=q+48|0,T=$+16|0,X=$,!((Z[768028]|0)==1&(Z[768034]|0)!=0)){q=$;return}pY(V,60,4,123,26,0),FW(V,60,4,124,27),Y=0;do{if(Q=((Z[533455]|0)+Y|0)%64|0,!Y)W=60;else U=Y+60|0,S=Z[2131772+(Q<<5)+20>>2]|0,o9(V,U,((S|0)/32768|0)+2|0,(S|0)>131071?8:2),W=U;o9(V,W,19-(Z[2131772+(Q<<5)+16>>2]|0)|0,2),J=2131772+(Q<<5)+4|0,U=Z[J>>2]|0,S=(U|0)<98303?U:98303,U=Z[2131772+(Q<<5)+12>>2]|0,o9(V,W,19-((((S|0)>0?S:0)>>>0)/6144|0)|0,(U|0)==0?1:U),Y=Y+1|0}while((Y|0)!=64);if(!(O2(225)|0))Y=Z[785581]|0,_=+(Z[J>>2]|0)*0.0000152587890625,K=+((Z[533448]|0)+((Z[533440]|0)+((Z[533432]|0)+((Z[533424]|0)+((Z[533416]|0)+((Z[533408]|0)+((Z[533400]|0)+((Z[533392]|0)+((Z[533384]|0)+((Z[533376]|0)+((Z[533368]|0)+((Z[533360]|0)+((Z[533352]|0)+((Z[533344]|0)+((Z[533336]|0)+((Z[533328]|0)+((Z[533320]|0)+((Z[533312]|0)+((Z[533304]|0)+((Z[533296]|0)+((Z[533288]|0)+((Z[533280]|0)+((Z[533272]|0)+((Z[533264]|0)+((Z[533256]|0)+((Z[533248]|0)+((Z[533240]|0)+((Z[533232]|0)+((Z[533224]|0)+((Z[533216]|0)+((Z[533208]|0)+((Z[533200]|0)+((Z[533192]|0)+((Z[533184]|0)+((Z[533176]|0)+((Z[533168]|0)+((Z[533160]|0)+((Z[533152]|0)+((Z[533144]|0)+((Z[533136]|0)+((Z[533128]|0)+((Z[533120]|0)+((Z[533112]|0)+((Z[533104]|0)+((Z[533096]|0)+((Z[533088]|0)+((Z[533080]|0)+((Z[533072]|0)+((Z[533064]|0)+((Z[533056]|0)+((Z[533048]|0)+((Z[533040]|0)+((Z[533032]|0)+((Z[533024]|0)+((Z[533016]|0)+((Z[533008]|0)+((Z[533000]|0)+((Z[532992]|0)+((Z[532984]|0)+((Z[532976]|0)+((Z[532968]|0)+((Z[532960]|0)+((Z[532952]|0)+(Z[532944]|0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))|0)*0.0000002384185791015625,Z[T>>2]=Z[785580],Z[T+4>>2]=Y,b[T+8>>3]=_,b[T+16>>3]=K,a6(1708384,50709,T)|0,K1(V,1708384,Z[730468]|0,63,20,1,(Z[785580]|0)<(Z[785581]|0)?8:13)|0;else T=Z[785581]|0,K=+(Z[2131772+(Q<<5)+24>>2]|0),Z[X>>2]=Z[785580],Z[X+4>>2]=T,b[X+8>>3]=K,a6(1708384,50693,X)|0,K1(V,1708384,Z[730468]|0,63,20,1,(Z[785580]|0)<(Z[785581]|0)?8:13)|0;OT(V),RX(V,59,3,124,27,0),q=$;return}function zZ(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0;V=Z[533455]|0,$=(Z[785516]|0)+(Z[768178]|0)|0,T=($|0)>2097152?134217728:$<<6,Z[2131772+(V<<5)>>2]=(T|0)>0?T:0,T=fQ()|0,$=v1(T|0,((T|0)<0)<<31>>31|0,16)|0,T=x()|0,X=Z[785581]|0,Y=8388608/(((X|0)==0?30:X)|0)|0,Q=((Y|0)<0)<<31>>31,W=q5($|0,T|0,Y|0,Q|0)|0,x()|0,Z[2131772+(V<<5)+4>>2]=W,W=Z[730445]|0,T=v1(W|0,((W|0)<0)<<31>>31|0,16)|0,W=q5(T|0,x()|0,Y|0,Q|0)|0,x()|0,Z[2131772+(V<<5)+8>>2]=W,Z[2131772+(V<<5)+12>>2]=(Z[532675]|0)==0?(Z[785580]|0)<(X|0)?14:6:7,Z[2131772+(V<<5)+20>>2]=Z[532674],Z[2131772+(V<<5)+24>>2]=DN()|0,V=((Z[533455]|0)+1|0)%64|0,Z[533455]=V,X=2131772+(V<<5)|0,Z[X>>2]=0,Z[X+4>>2]=0,Z[X+8>>2]=0,Z[X+12>>2]=0,Z[X+16>>2]=0,Z[X+20>>2]=0,Z[X+24>>2]=0,Z[X+28>>2]=0;return}function AK(){var V=0;if(!(Z[543068]|0))Z[543068]=I8()|0;if(V=I8()|0,(V|0)<=((Z[543068]|0)+60000|0))return;N[1997988]=0,N[2063524]=0,Z[532265]=0,Z[532266]=0,Z[543068]=I8()|0;return}function oU(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0;if(T=q,q=q+128|0,X=T+104|0,Y=T+88|0,Q=T+80|0,W=T+72|0,U=T+64|0,S=T+112|0,J=T,Z[533458]=0,W3(Z[533461]|0),Z[533461]=0,(Q6(V,85305)|0?Q6(V,50727)|0:0)?Q6(V,102896)|0:0){if(Q6(V,103254)|0?!((N[V>>0]|0)==0&(Z[482725]|0)!=0):0){if(Z[482725]=0,oK(Z[543065]|0),Z[730462]=0,Z[730446]=1,Z[730446]=(u1(V,57976)|0)==0&1,!((u1(V,50754)|0)==0?!(u1(V,58792)|0):0))$Q();Z[533458]=(u1(V,50762)|0)!=0&1,Z[730445]=0,Z[730447]=0,dQ(),kU(279620),Z[S>>2]=0,_=($|0)!=0,$=(_^1)&1,K=B2(262144)|0;Z:do if(!(H9(V,K)|0)){do if(!_){if((x6(K)|0)>>>0>65536){I0(50769,6),Z[U>>2]=x6(K)|0,Z[U+4>>2]=65536,a6(1708384,50796,U)|0,I0(1708384,6),$6(K);break Z}if(P=gU(K)|0,(P|0)>8192){I0(50811,6),Z[W>>2]=P,Z[W+4>>2]=8192,a6(1708384,50829,W)|0,I0(1708384,6),$6(K);break Z}else{O=Z[543066]|0,Z[543065]=O,L=O,F=P*12|0;break}}else P=Z[543067]|0,Z[543065]=P,L=P,F=0;while(0);if(vL(L),x8(935472,0,262144)|0,V8(935472,50845)|0,q6(935472+(x6(935472)|0)|0,54872,358)|0,!(Z[481730]|0))q6(935472+(x6(935472)|0)|0,55230,639)|0;if(P=935472+(x6(935472)|0)|0,N[P>>0]=N[55869]|0,N[P+1>>0]=N[55870]|0,N[P+2>>0]=N[55871]|0,!((Q6(3069040,92276)|0)!=0?(Q6(3069040,55872)|0)!=0:0))P=935472+(x6(935472)|0)|0,N[P>>0]=N[55878]|0,N[P+1>>0]=N[55879]|0,N[P+2>>0]=N[55880]|0,N[P+3>>0]=N[55881]|0,N[P+4>>0]=N[55882]|0,N[P+5>>0]=N[55883]|0,N[P+6>>0]=N[55884]|0;P=B2(262144)|0,EP(K,P),d1(935472,P)|0,$6(K),$6(P),P=66299,O=1088;do{if(V8(J,P)|0,z=Z[O>>2]|0,!(Q6(V,z)|0)){if(Q6(66304,J)|0)if(!(Q6(89812,J)|0))H=3,C=33;else A=J;else H=1,C=33;if((C|0)==33)C=0,A=Z[1200+(H<<2)>>2]|0;Z[Q>>2]=50845,Z[Q+4>>2]=A,a6(935472,55885,Q)|0,y=Z[O>>2]|0}else y=z;z=x6(V)|0,k=x6(y)|0;V:do if(z>>>0>=(k+2|0)>>>0?(k8(V,y,k)|0)==0:0){switch(m=V+k|0,N[m>>0]|0){case 32:case 0:break;default:break V}if((N[V+(k+1)>>0]|0)==34)break;if(Q6(66304,J)|0)if(!(Q6(89812,J)|0))I=3,C=41;else u=J;else I=1,C=41;if((C|0)==41)C=0,u=Z[1200+(I<<2)>>2]|0;Z[Y>>2]=50845,Z[Y+4>>2]=u,Z[Y+8>>2]=m+1,a6(935472,55893,Y)|0}while(0);O=O+4|0,P=Z[O>>2]|0}while((P|0)!=0);if(!(Q6(V,91052)|0)){P=935472,O=55905,k=P+9|0;do N[P>>0]=N[O>>0]|0,P=P+1|0,O=O+1|0;while((P|0)<(k|0))}if((k8(V,60821,6)|0)==0?(N[V+6>>0]|0)<33:0)EK(V+7|0),V8(935472,3144900)|0;if(d1(935472,_?55914:55938)|0,Z[785514]=1,O=sL(Z[543065]|0,935472)|0,Z[785514]=0,Z[785516]=F,!O){if(O3(),Z[785588]=0,(Z[768033]|0)==1)EY();Z[768028]=1,Z[768034]=$;break}Z[768155]=6;V:do if(_)t9(57168,14),g=0,i=$;else{O=cV(Z[8697]|0,S)|0;do if((O|0)>0){if(P=Z[765622]|0,k=O+-1|0,(r9(Z[P>>2]|0,Z[P+336>>2]|0)|0)==(k|0))break;P=TN(Z[Z[765622]>>2]|0,k)|0,k=Z[765622]|0,Z[k+336>>2]=P,$N(k,52),Z[482726]=O}else{if(O|0)break;t9(57168,14),g=0,i=$;break V}while(0);if(k=Z[S>>2]|0,Z[X>>2]=O,Z[X+4>>2]=k,a6(1708384,57181,X)|0,t9(1708384,14),k=lU(V,(Z[8697]|0)+-2|0,1)|0,!k){g=0,i=0;break}t9(k,7),g=k,i=0}while(0);k=zK(w7(Z[543065]|0,-1,0)|0,i)|0;do if(k|0){if(Q6(k,57211)|0){t9(k,6);break}if(!(u1(g,62821)|0)){t9(57240,6);break}else{t9(k,6);break}}while(0);Z[482622]=1}else $6(K);while(0);q=T;return}if(K=Z[543066]|0,(K|0)!=0&(Z[533459]|0)!=0){Z[543065]=K,Z[543656]=0,Z[768034]=1,Z[768028]=1,O3(),Z[482725]=1,Z[785580]=Z[785581],q=T;return}else{I0(50736,6),q=T;return}}if(K=Z[543066]|0,(K|0)!=0&(Z[533459]|0)!=0){Z[543065]=K,Z[543656]=0,Z[768034]=1,Z[768028]=1,O3(),Z[482725]=0,q=T;return}else{I0(50736,6),q=T;return}}function cV(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0;if(T=q,q=q+16|0,X=T,Y=V+-2|0,V=Y1(262144)|0,H9(Z[Z[765606]>>2]|0,V)|0,Q=r9(V,1048576)|0,$6(V),V=Q+2|0,(Y|0)>(V|0))if(Q=Y-V|0,V=Y1(262144)|0,H9(Z[Z[765607]>>2]|0,V)|0,W=r9(V,1048576)|0,$6(V),V=W+2|0,(Q|0)>(V|0))if(W=Q-V|0,V=Y1(262144)|0,H9(Z[Z[765608]>>2]|0,V)|0,U=r9(V,1048576)|0,$6(V),V=U+2|0,(W|0)>(V|0))if(U=W-V|0,V=Y1(262144)|0,H9(Z[Z[765609]>>2]|0,V)|0,S=r9(V,1048576)|0,$6(V),V=S+2|0,(U|0)>(V|0))if(S=U-V|0,V=Y1(262144)|0,H9(Z[Z[765610]>>2]|0,V)|0,J=r9(V,1048576)|0,$6(V),V=J+2|0,(S|0)>(V|0))if(J=S-V|0,V=Y1(262144)|0,H9(Z[Z[765611]>>2]|0,V)|0,_=r9(V,1048576)|0,$6(V),V=_+2|0,(J|0)>(V|0))if(_=J-V|0,V=Y1(262144)|0,H9(Z[Z[765612]>>2]|0,V)|0,K=r9(V,1048576)|0,$6(V),V=K+2|0,(_|0)>(V|0))if(K=_-V|0,V=Y1(262144)|0,H9(Z[Z[765613]>>2]|0,V)|0,P=r9(V,1048576)|0,$6(V),V=P+2|0,(K|0)>(V|0))if(P=K-V|0,V=Y1(262144)|0,H9(Z[Z[765614]>>2]|0,V)|0,O=r9(V,1048576)|0,$6(V),V=O+2|0,(P|0)>(V|0))if(O=P-V|0,V=Y1(262144)|0,H9(Z[Z[765615]>>2]|0,V)|0,L=r9(V,1048576)|0,$6(V),V=L+2|0,(O|0)>(V|0))if(L=O-V|0,V=Y1(262144)|0,H9(Z[Z[765616]>>2]|0,V)|0,F=r9(V,1048576)|0,$6(V),V=F+2|0,(L|0)>(V|0))if(F=L-V|0,V=Y1(262144)|0,H9(Z[Z[765617]>>2]|0,V)|0,z=r9(V,1048576)|0,$6(V),V=z+2|0,(F|0)>(V|0))if(z=F-V|0,V=Y1(262144)|0,H9(Z[Z[765618]>>2]|0,V)|0,H=r9(V,1048576)|0,$6(V),V=H+2|0,(z|0)>(V|0))if(H=z-V|0,V=Y1(262144)|0,H9(Z[Z[765619]>>2]|0,V)|0,C=r9(V,1048576)|0,$6(V),V=C+2|0,(H|0)>(V|0))if(C=H-V|0,V=Y1(262144)|0,H9(Z[Z[765620]>>2]|0,V)|0,A=r9(V,1048576)|0,$6(V),V=A+2|0,(C|0)>(V|0))if(A=C-V|0,V=Y1(262144)|0,H9(Z[Z[765621]>>2]|0,V)|0,y=r9(V,1048576)|0,$6(V),(A|0)>(y+2|0)){if(!$)return k=0,q=T,k|0;return Z[$>>2]=0,k=0,q=T,k|0}else m=A,I=15;else m=C,I=14;else m=H,I=13;else m=z,I=12;else m=F,I=11;else m=L,I=10;else m=O,I=9;else m=P,I=8;else m=K,I=7;else m=_,I=6;else m=J,I=5;else m=S,I=4;else m=U,I=3;else m=W,I=2;else m=Q,I=1;else m=Y,I=0;if($|0)Z[$>>2]=I;if((BJ()|0)<=0)return k=m,q=T,k|0;I=0,$=m;while(!0){if((m|0)>(jY(I)|0)?(m|0)<=(GW(I)|0):0)break;if((m|0)>(GW(I)|0))Y=GW(I)|0,u=$+1-Y+(jY(I)|0)|0;else u=$;if(Y=I+1|0,(Y|0)<(BJ()|0))I=Y,$=u;else{k=u,g=14;break}}if((g|0)==14)return q=T,k|0;return g=GO(I)|0,u=m-(jY(I)|0)|0,Z[X>>2]=g,Z[X+4>>2]=u,a6(1708384,57263,X)|0,I0(1708384,9),k=1-m+$+(jY(I)|0)|0,q=T,k|0}function WX(){var V=0,$=0,T=0;if((Z[730463]|0)>0)return;if(V=(Z[768034]|0)!=0,V){if(Z[543066]=Z[543065],Z[543656]=1,Z[730462]=0,qY()|0,!((d8(2921764,Z[769129]|0,24366)|0)&1))Z[768119]=0,Z[768120]=1,Z[768121]=2,Z[768122]=3,Z[768123]=4,Z[768124]=5,Z[768125]=6,Z[768126]=7,Z[768127]=8,Z[768128]=9,Z[768129]=10,Z[768130]=11,Z[768131]=12,Z[768132]=13,Z[768133]=14,Z[768134]=15;if(!((d8(2921764,Z[769129]|0,24366)|0)&2))f2(2921764,Z[769129]|0,24415,0);if(!((d8(2921764,Z[769129]|0,24366)|0)&4))Z[768514]=0,Z[768515]=0,Z[768516]=0,Z[768517]=0;if(!((d8(2921764,Z[769129]|0,24366)|0)&8))Z[768169]=15,Z[768168]=15,Z[768167]=255;if(!((d8(2921764,Z[769129]|0,24366)|0)&16)){if(f2(2921764,Z[769129]|0,24408,0),!(N[3100894]&16))f2(2921764,Z[769129]|0,24409,0);if(!(N[3100894]&16))f2(2921764,Z[769129]|0,24410,0);if(!(N[3100894]&16))f2(2921764,Z[769129]|0,24411,0)}if(!((d8(2921764,Z[769129]|0,24366)|0)&32))Z[768171]=0;if(!((d8(2921764,Z[769129]|0,24366)|0)&64))Z[768155]=6;if(!((d8(2921764,Z[769129]|0,24366)|0)&128))f2(2921764,Z[769129]|0,24404,0),f2(2921764,Z[769129]|0,24405,96);if(UO(),!(Z[482622]|0))Z[482622]=1}if(Z[768028]=0,Z[730460]=0,Z[768164]=0,Z[768163]=0,Z[768152]=0,Z[768151]=0,Z[768154]=128,Z[768153]=128,iX(),tX(0),Z[768156]=0,Z[768158]=0,$=Z[768157]|0,T=($|0)<122?$:122,Z[768157]=(T|0)>0?T:0,V?x9()|0:0)do ZZ()|0;while((x9()|0)!=0);if(Z[730464]|0)Z[543503]=1;Z[481785]=0,OT(Z[730449]|0);return}function RT(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0;if(V=Z[765624]|0,$=(N[Z[Z[765606]>>2]>>0]|0)==0,T=(V|0)==1?1:(N[Z[Z[765607]>>2]>>0]|0)!=0,X=(V|0)==2?1:(N[Z[Z[765608]>>2]>>0]|0)!=0,Y=(V|0)==3?1:(N[Z[Z[765609]>>2]>>0]|0)!=0,Q=(V|0)==4?1:(N[Z[Z[765610]>>2]>>0]|0)!=0,W=(V|0)==5?1:(N[Z[Z[765611]>>2]>>0]|0)!=0,U=(V|0)==6?1:(N[Z[Z[765612]>>2]>>0]|0)!=0,S=(V|0)==7?1:(N[Z[Z[765613]>>2]>>0]|0)!=0,J=(V|0)==8?1:(N[Z[Z[765614]>>2]>>0]|0)!=0,_=(V|0)==9?1:(N[Z[Z[765615]>>2]>>0]|0)!=0,K=(V|0)==10?1:(N[Z[Z[765616]>>2]>>0]|0)!=0,P=(V|0)==11?1:(N[Z[Z[765617]>>2]>>0]|0)!=0,O=(V|0)==12?1:(N[Z[Z[765618]>>2]>>0]|0)!=0,L=(V|0)==13?1:(N[Z[Z[765619]>>2]>>0]|0)!=0,F=(V|0)==14?1:(N[Z[Z[765620]>>2]>>0]|0)!=0,z=(V|0)==15?1:(N[Z[Z[765621]>>2]>>0]|0)!=0,N[Z[Z[26136]>>2]>>0]=0,H=z?15:F?14:L?13:O?12:P?11:K?10:_?9:J?8:S?7:U?6:W?5:Q?4:Y?3:X?2:T?1:((V|0)!=0&$)<<31>>31,d1(Z[Z[26136]>>2]|0,Z[Z[765606]>>2]|0)|0,(H|0)>0)$=Z[Z[26136]>>2]|0,V=$+(x6($)|0)|0,N[V>>0]=N[57275]|0,N[V+1>>0]=N[57276]|0,N[V+2>>0]=N[57277]|0,N[V+3>>0]=N[57278]|0,N[V+4>>0]=N[57279]|0,N[V+5>>0]=N[57280]|0,N[V+6>>0]=N[57281]|0;if(d1(Z[Z[26136]>>2]|0,Z[Z[765607]>>2]|0)|0,(H|0)>1)V=Z[Z[26136]>>2]|0,$=V+(x6(V)|0)|0,N[$>>0]=N[57275]|0,N[$+1>>0]=N[57276]|0,N[$+2>>0]=N[57277]|0,N[$+3>>0]=N[57278]|0,N[$+4>>0]=N[57279]|0,N[$+5>>0]=N[57280]|0,N[$+6>>0]=N[57281]|0;if(d1(Z[Z[26136]>>2]|0,Z[Z[765608]>>2]|0)|0,(H|0)>2)$=Z[Z[26136]>>2]|0,V=$+(x6($)|0)|0,N[V>>0]=N[57275]|0,N[V+1>>0]=N[57276]|0,N[V+2>>0]=N[57277]|0,N[V+3>>0]=N[57278]|0,N[V+4>>0]=N[57279]|0,N[V+5>>0]=N[57280]|0,N[V+6>>0]=N[57281]|0;if(d1(Z[Z[26136]>>2]|0,Z[Z[765609]>>2]|0)|0,(H|0)>3)V=Z[Z[26136]>>2]|0,$=V+(x6(V)|0)|0,N[$>>0]=N[57275]|0,N[$+1>>0]=N[57276]|0,N[$+2>>0]=N[57277]|0,N[$+3>>0]=N[57278]|0,N[$+4>>0]=N[57279]|0,N[$+5>>0]=N[57280]|0,N[$+6>>0]=N[57281]|0;if(d1(Z[Z[26136]>>2]|0,Z[Z[765610]>>2]|0)|0,(H|0)>4)$=Z[Z[26136]>>2]|0,V=$+(x6($)|0)|0,N[V>>0]=N[57275]|0,N[V+1>>0]=N[57276]|0,N[V+2>>0]=N[57277]|0,N[V+3>>0]=N[57278]|0,N[V+4>>0]=N[57279]|0,N[V+5>>0]=N[57280]|0,N[V+6>>0]=N[57281]|0;if(d1(Z[Z[26136]>>2]|0,Z[Z[765611]>>2]|0)|0,(H|0)>5)V=Z[Z[26136]>>2]|0,$=V+(x6(V)|0)|0,N[$>>0]=N[57275]|0,N[$+1>>0]=N[57276]|0,N[$+2>>0]=N[57277]|0,N[$+3>>0]=N[57278]|0,N[$+4>>0]=N[57279]|0,N[$+5>>0]=N[57280]|0,N[$+6>>0]=N[57281]|0;if(d1(Z[Z[26136]>>2]|0,Z[Z[765612]>>2]|0)|0,(H|0)>6)$=Z[Z[26136]>>2]|0,V=$+(x6($)|0)|0,N[V>>0]=N[57275]|0,N[V+1>>0]=N[57276]|0,N[V+2>>0]=N[57277]|0,N[V+3>>0]=N[57278]|0,N[V+4>>0]=N[57279]|0,N[V+5>>0]=N[57280]|0,N[V+6>>0]=N[57281]|0;if(d1(Z[Z[26136]>>2]|0,Z[Z[765613]>>2]|0)|0,(H|0)>7)V=Z[Z[26136]>>2]|0,$=V+(x6(V)|0)|0,N[$>>0]=N[57275]|0,N[$+1>>0]=N[57276]|0,N[$+2>>0]=N[57277]|0,N[$+3>>0]=N[57278]|0,N[$+4>>0]=N[57279]|0,N[$+5>>0]=N[57280]|0,N[$+6>>0]=N[57281]|0;if(d1(Z[Z[26136]>>2]|0,Z[Z[765614]>>2]|0)|0,(H|0)>8)$=Z[Z[26136]>>2]|0,V=$+(x6($)|0)|0,N[V>>0]=N[57275]|0,N[V+1>>0]=N[57276]|0,N[V+2>>0]=N[57277]|0,N[V+3>>0]=N[57278]|0,N[V+4>>0]=N[57279]|0,N[V+5>>0]=N[57280]|0,N[V+6>>0]=N[57281]|0;if(d1(Z[Z[26136]>>2]|0,Z[Z[765615]>>2]|0)|0,(H|0)>9)V=Z[Z[26136]>>2]|0,$=V+(x6(V)|0)|0,N[$>>0]=N[57275]|0,N[$+1>>0]=N[57276]|0,N[$+2>>0]=N[57277]|0,N[$+3>>0]=N[57278]|0,N[$+4>>0]=N[57279]|0,N[$+5>>0]=N[57280]|0,N[$+6>>0]=N[57281]|0;if(d1(Z[Z[26136]>>2]|0,Z[Z[765616]>>2]|0)|0,(H|0)>10)$=Z[Z[26136]>>2]|0,V=$+(x6($)|0)|0,N[V>>0]=N[57275]|0,N[V+1>>0]=N[57276]|0,N[V+2>>0]=N[57277]|0,N[V+3>>0]=N[57278]|0,N[V+4>>0]=N[57279]|0,N[V+5>>0]=N[57280]|0,N[V+6>>0]=N[57281]|0;if(d1(Z[Z[26136]>>2]|0,Z[Z[765617]>>2]|0)|0,(H|0)>11)V=Z[Z[26136]>>2]|0,$=V+(x6(V)|0)|0,N[$>>0]=N[57275]|0,N[$+1>>0]=N[57276]|0,N[$+2>>0]=N[57277]|0,N[$+3>>0]=N[57278]|0,N[$+4>>0]=N[57279]|0,N[$+5>>0]=N[57280]|0,N[$+6>>0]=N[57281]|0;if(d1(Z[Z[26136]>>2]|0,Z[Z[765618]>>2]|0)|0,(H|0)>12)$=Z[Z[26136]>>2]|0,V=$+(x6($)|0)|0,N[V>>0]=N[57275]|0,N[V+1>>0]=N[57276]|0,N[V+2>>0]=N[57277]|0,N[V+3>>0]=N[57278]|0,N[V+4>>0]=N[57279]|0,N[V+5>>0]=N[57280]|0,N[V+6>>0]=N[57281]|0;if(d1(Z[Z[26136]>>2]|0,Z[Z[765619]>>2]|0)|0,(H|0)>13)V=Z[Z[26136]>>2]|0,$=V+(x6(V)|0)|0,N[$>>0]=N[57275]|0,N[$+1>>0]=N[57276]|0,N[$+2>>0]=N[57277]|0,N[$+3>>0]=N[57278]|0,N[$+4>>0]=N[57279]|0,N[$+5>>0]=N[57280]|0,N[$+6>>0]=N[57281]|0;if(d1(Z[Z[26136]>>2]|0,Z[Z[765620]>>2]|0)|0,(H|0)<=14){C=Z[26136]|0,A=Z[C>>2]|0,y=Z[765621]|0,k=Z[y>>2]|0,d1(A,k)|0;return}H=Z[Z[26136]>>2]|0,$=H+(x6(H)|0)|0,N[$>>0]=N[57275]|0,N[$+1>>0]=N[57276]|0,N[$+2>>0]=N[57277]|0,N[$+3>>0]=N[57278]|0,N[$+4>>0]=N[57279]|0,N[$+5>>0]=N[57280]|0,N[$+6>>0]=N[57281]|0,C=Z[26136]|0,A=Z[C>>2]|0,y=Z[765621]|0,k=Z[y>>2]|0,d1(A,k)|0;return}function BY(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0;V=Z[(Z[765606]|0)+4>>2]|0,x8(Z[V+12>>2]|0,0,Z[V+88>>2]|0)|0,V=Z[(Z[765607]|0)+4>>2]|0,x8(Z[V+12>>2]|0,0,Z[V+88>>2]|0)|0,V=Z[(Z[765608]|0)+4>>2]|0,x8(Z[V+12>>2]|0,0,Z[V+88>>2]|0)|0,V=Z[(Z[765609]|0)+4>>2]|0,x8(Z[V+12>>2]|0,0,Z[V+88>>2]|0)|0,V=Z[(Z[765610]|0)+4>>2]|0,x8(Z[V+12>>2]|0,0,Z[V+88>>2]|0)|0,V=Z[(Z[765611]|0)+4>>2]|0,x8(Z[V+12>>2]|0,0,Z[V+88>>2]|0)|0,V=Z[(Z[765612]|0)+4>>2]|0,x8(Z[V+12>>2]|0,0,Z[V+88>>2]|0)|0,V=Z[(Z[765613]|0)+4>>2]|0,x8(Z[V+12>>2]|0,0,Z[V+88>>2]|0)|0,V=Z[(Z[765614]|0)+4>>2]|0,x8(Z[V+12>>2]|0,0,Z[V+88>>2]|0)|0,V=Z[(Z[765615]|0)+4>>2]|0,x8(Z[V+12>>2]|0,0,Z[V+88>>2]|0)|0,V=Z[(Z[765616]|0)+4>>2]|0,x8(Z[V+12>>2]|0,0,Z[V+88>>2]|0)|0,V=Z[(Z[765617]|0)+4>>2]|0,x8(Z[V+12>>2]|0,0,Z[V+88>>2]|0)|0,V=Z[(Z[765618]|0)+4>>2]|0,x8(Z[V+12>>2]|0,0,Z[V+88>>2]|0)|0,V=Z[(Z[765619]|0)+4>>2]|0,x8(Z[V+12>>2]|0,0,Z[V+88>>2]|0)|0,V=Z[(Z[765620]|0)+4>>2]|0,x8(Z[V+12>>2]|0,0,Z[V+88>>2]|0)|0,V=Z[(Z[765621]|0)+4>>2]|0,x8(Z[V+12>>2]|0,0,Z[V+88>>2]|0)|0,V=Z[Z[26136]>>2]|0,$=0;while(!0){if(($|0)!=15)if(T=u1(V,57275)|0,X=Z[Z[3062424+($<<2)>>2]>>2]|0,!T)Y=X,Q=6;else q6(X|0,V|0,T-V|0)|0,W=T+6|0,U=$+1|0;else Y=Z[Z[765621]>>2]|0,Q=6;if((Q|0)==6)Q=0,V8(Y,V)|0,W=V,U=16;if((U|0)<16)V=W,$=U;else break}return}function HK(V){V=V|0;var $=0,T=0,X=0,Y=0;if($=q,q=q+1024|0,T=$,x8(1197616,0,1024)|0,V8(T,V)|0,N[1197616]=0,V=F5(T,91894)|0,!((V|0)!=0&V>>>0>T>>>0))return q=$,1197616;N[V>>0]=0,X=V;Z:while(!0){if(Y=X+-1|0,V=N[Y>>0]|0,!((V+-97&255)<26|(V+-48&255)<10))switch(V<<24>>24){case 45:case 95:break;default:break Z}if(Y>>>0>T>>>0)X=Y;else break}return V8(1197616,Y>>>0>T>>>0?X:Y)|0,q=$,1197616}function xK(V){return V=V|0,1}function yK(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0;V=q,q=q+2064|0,$=V+2048|0,T=V+1024|0,X=V,RT(),V8(3074076,3075101)|0,N[3075101]=0,N[3069040]=0,N[3070064]=0,V8(X,3065580)|0,Z[482622]=0;do if(!(u1(X,3062500)|0)){if(Y=(u1(X,57282)|0)!=0,!(Y&(Z[481715]|0)!=0)?(E5(57290,T),(u1(X,T)|0)==0):0){V8(3070064,X)|0;break}if(x8(1197616,0,1024)|0,V8(T,X)|0,N[1197616]=0,Y=F5(T,91894)|0,(Y|0)!=0&Y>>>0>T>>>0){N[Y>>0]=0,Q=Y;Z:while(!0){if(W=Q+-1|0,Y=N[W>>0]|0,!((Y+-97&255)<26|(Y+-48&255)<10))switch(Y<<24>>24){case 45:case 95:break;default:break Z}if(W>>>0>T>>>0)Q=W;else break}V8(1197616,W>>>0>T>>>0?Q:W)|0}V8(3069040,1197616)|0,Z[532940]=0}else V8(3070064,X+(x6(3062500)|0)|0)|0;while(0);Z[$>>2]=3065580,Z[$+4>>2]=3070064,Z[$+8>>2]=3069040,a6(1703776,57295,$)|0,s1(1703776),N[3071088]=0,sX(),QW(2921764,Z[769129]|0,0,0,17152),N[3066732]=0,N[3076126]=0,N[3076190]=0,N[3076254]=0,N[3076318]=0,N[3076382]=0,N[3076446]=0,j[1538255]=0,j[1538256]=0,j[1538257]=0,$=U8(0)|0,xY((I8()|0)+$|0),oU(Z[Z[26136]>>2]|0,0),AZ(),RV(0,0),Z[768514]=0,Z[768515]=0,Z[768516]=0,Z[768517]=0,Z[785580]=30,Z[785581]=30,O3(),QV(Z[26136]|0,3066645),Z[768037]=0,Z[482725]=0,Z[533459]=1,tX(0),q=V;return}function wK(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;if($=q,q=q+560|0,T=$+536|0,X=$+520|0,Y=$+512|0,Q=$,W=$+548|0,U=$+544|0,Z[U>>2]=0,hD(V,60192),FD(Z[543065]|0,0,1,0,0,0)|0,S=w7(V,-1,0)|0,!S){q=$;return}if(QY(V,-2),V=N[S>>0]|0,!(V<<24>>24)){q=$;return}J=V,V=S,S=0;while(!0){if(S>>>0>=10){_=23;break}S=S+1|0,K=J,P=V;Z:while(!0){switch(K<<24>>24){case 10:case 0:break Z;default:}O=P+1|0,K=N[O>>0]|0,P=O}x8(Q|0,0,512)|0,k7(Q,V,P-V|0)|0,V=(N[P>>0]|0)==10?P+1|0:P;Z:do if((u1(Q,57368)|0)==0?(u1(Q,57384)|0)==0:0){K=Q;V:while(!0){switch(N[K>>0]|0){case 0:break Z;case 58:break V;default:}K=K+1|0}if(Z[W>>2]=0,Z[Y>>2]=W,a8(K+1|0,93171,Y)|0,O=Z[W>>2]|0,(O|0)>0){if(L=u1(Q,57395)|0,!L){if(!(u1(Q,57432)|0))break;if(F=cV(O,U)|0,(F|0)<=-1)break;O=Z[U>>2]|0,Z[T>>2]=F,Z[T+4>>2]=O,a6(1708384,57446,T)|0,t9(1708384,13);break}O=L+13|0,L=O;V:while(!0){switch(N[L>>0]|0){case 0:break Z;case 39:break V;default:}L=L+1|0}N[L>>0]=0,K=cV(Z[W>>2]|0,U)|0,F=Z[U>>2]|0,Z[X>>2]=O,Z[X+4>>2]=K,Z[X+8>>2]=F,a6(1708384,57409,X)|0,I0(1708384,13)}}while(0);if(J=N[V>>0]|0,!(J<<24>>24)){_=23;break}}if((_|0)==23){q=$;return}}function IK(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if(V=q,q=q+32|0,$=V+16|0,T=V,X=V+24|0,Z[X>>2]=0,Y=(Z[481715]|0)==0,VZ(Z[543065]|0,1,0)|0,VZ(Z[543065]|0,9,0)|0)if(Q=Z[543065]|0,(Z[785592]|0)>64)VZ(Q,2,0)|0;else VZ(Q,5,200)|0;if(Q=Y?2359296:2113536,((Z[785516]|0)+(Z[768178]|0)|0)>(Q|0)?VZ(Z[543065]|0,9,0)|0:0){if(Y=Z[730442]|0,(Z[543071]|0)!=(Y|0))Z[785592]=(Z[785592]|0)+1,Z[543071]=Y;if(VZ(Z[543065]|0,2,0)|0,Y=Z[768178]|0,W=(Z[785516]|0)+Y|0,(W|0)>(Q|0)){if(!(VZ(Z[543065]|0,9,0)|0))s1(57466);else M2(Z[543065]|0,1);U=Z[785516]|0,S=(Z[768178]|0)+U|0,Z[T>>2]=U+Y,Z[T+4>>2]=S,Z[T+8>>2]=U,a6(1703776,57522,T)|0,s1(1703776),J=(Z[785516]|0)+(Z[768178]|0)|0}else J=W;if((J|0)>(Q|0)){sX(),WX(),I0(57563,6),q=V;return}}if(VZ(Z[543065]|0,0,0)|0,(Z[768028]|0)!=1|(Z[768029]|0)!=0){q=V;return}OK();Z:do switch(b7(Z[543065]|0,0,0)|0){case 0:{if(WX(),(Z[543065]|0)==(Z[543066]|0))Z[533459]=0;break}case 1:{Z[768028]=1;break}default:if((Z[730463]|0)<=0){WX();do if(Z[768034]|0){if(Q=Z[543056]|0,(Q|0)>2){if(J=lU(Z[Z[26136]>>2]|0,Q+-2|0,1)|0,W=cV(Q,X)|0,Q=Z[X>>2]|0,(Q|0)>=(kK()|0)){t9(57606,14);break}if(Q=Z[X>>2]|0,Z[$>>2]=W,Z[$+4>>2]=Q,a6(1708384,57577,$)|0,t9(1708384,14),J|0)t9(J,7);if((W|0)>0?(J=Z[765622]|0,Q=W+-1|0,(r9(Z[J>>2]|0,Z[J+336>>2]|0)|0)!=(Q|0)):0)J=TN(Z[Z[765622]>>2]|0,Q)|0,Q=Z[765622]|0,Z[Q+336>>2]=J,$N(Q,52),Z[482726]=W}}else t9(57606,14);while(0);if(FK(w7(Z[543065]|0,-1,0)|0),N[3143712]|0)t9(3143712,6);if(Z[785593]|0){Z[785593]=0;break Z}if(Z[768034]|0)wK(Z[543065]|0)}}while(0);if(!(Z[785589]|0)){q=V;return}if($=I8()|0,($|0)<=((Z[785590]|0)+1000|0)){q=V;return}qY()|0,Z[785590]=I8()|0,q=V;return}function qK(){var V=0,$=0;if(I8()|0,kU(8388608/(Z[785580]|0)|0),GK(),Z[482626]=0,sM()|0)return;V=1;while(!0){if(Z[768518]=(Z[768518]|0)+1,Z[785591]=0,IK(),!(Z[785591]|0)){$=5;break}if(V>>>0<8192)V=V+1|0;else{$=5;break}}if(($|0)==5)return}function z2(V){V=V|0;var $=0;if($=(V|0)==0?2:V<<1,(V|0)<0)return;Z[730445]=(Z[730445]|0)+$,MK($);return}function nU(V){if(V=V|0,N[3143712]=0,!V)return;k7(3143712,V,254)|0,N[3143967]=0;return}function vK(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0;if(V=Z[533455]|0,Z[785550]=Z[785551],Z[785551]=Z[785552],Z[785552]=Z[785553],Z[785553]=Z[785554],Z[785554]=Z[785555],Z[785555]=Z[785556],Z[785556]=Z[785557],Z[785557]=Z[785558],Z[785558]=Z[785559],Z[785559]=Z[785560],Z[785560]=Z[785561],Z[785561]=Z[785562],Z[785562]=Z[785563],Z[785563]=Z[785564],Z[785564]=Z[785565],Z[785565]=Z[785566],Z[785566]=Z[785567],Z[785567]=Z[785568],Z[785568]=Z[785569],Z[785569]=Z[785570],Z[785570]=Z[785571],Z[785571]=Z[785572],Z[785572]=Z[785573],Z[785573]=Z[785574],Z[785574]=Z[785575],Z[785575]=Z[785576],Z[785576]=Z[785577],Z[785577]=Z[785578],Z[785578]=Z[785579],Z[785579]=DN()|0,$=Z[785550]|0,T=Z[785551]|0,X=Z[785552]|0,Y=Z[785553]|0,Q=Z[785554]|0,W=Z[785555]|0,U=Z[785556]|0,S=Z[785557]|0,J=Z[785558]|0,_=Z[785559]|0,K=Z[785560]|0,P=Z[785561]|0,O=Z[785562]|0,L=Z[785563]|0,F=Z[785564]|0,z=Z[785565]|0,H=Z[785566]|0,C=Z[785567]|0,A=Z[785568]|0,y=Z[785569]|0,k=Z[785570]|0,m=Z[785571]|0,I=Z[785572]|0,u=Z[785573]|0,g=Z[785574]|0,i=Z[785575]|0,t=Z[785576]|0,Y0=Z[785577]|0,X0=Z[785578]|0,T0=Z[785579]|0,Z0=(($|0)!=0&1)+((T|0)!=0&1)+((X|0)!=0&1)+((Y|0)!=0&1)+((Q|0)!=0&1)+((W|0)!=0&1)+((U|0)!=0&1)+((S|0)!=0&1)+((J|0)!=0&1)+((_|0)!=0&1)+((K|0)!=0&1)+((P|0)!=0&1)+((O|0)!=0&1)+((L|0)!=0&1)+((F|0)!=0&1)+((z|0)!=0&1)+((H|0)!=0&1)+((C|0)!=0&1)+((A|0)!=0&1)+((y|0)!=0&1)+((k|0)!=0&1)+((m|0)!=0&1)+((I|0)!=0&1)+((u|0)!=0&1)+((g|0)!=0&1)+((i|0)!=0&1)+((t|0)!=0&1)+((Y0|0)!=0&1)+((X0|0)!=0&1)+((T0|0)!=0&1)|0,W0=Z[785584]|0,O0=Z[785582]|0,(W0|0)>(O0|0))y0=W0-O0|0,O0=v1(y0|0,((y0|0)<0)<<31>>31|0,16)|0,y0=x()|0,W0=Z[785581]|0,E0=8388608/(((W0|0)==0?30:W0)|0)|0,W0=q5(O0|0,y0|0,E0|0,((E0|0)<0)<<31>>31|0)|0,x()|0,E0=Z[785521]|0,Z[785520]=E0,Z[785521]=W0,y0=(E0|0)==0|(E0|0)<(W0|0)?W0:E0,H0=(W0|0)==0|(y0|0)>(W0|0)?y0:W0;else H0=1048576;if(W0=Z[785587]|0,y0=Z[785585]|0,(W0|0)<(y0|0))return;if(E0=Z[532673]|0,O0=W0-y0+(Z[785518]|0)+((E0|0)>0?E0:0)|0,E0=(Z[532539]|0)==0,y0=E0?1e4:(T0+(X0+(Y0+(t+(i+(g+(u+(I+(m+(k+(y+(A+(C+(H+(z+(F+(L+(O+(P+(K+(_+(J+(S+(U+(W+(Q+(Y+(X+(T+$))))))))))))))))))))))))))))|0)/(((Z0|0)==0?1:Z0)|0)|0,Z0=Z[785580]|0,$=Z[785581]|0,(Z[532675]|0)!=0&(Z0|0)==($|0)){Z[2131772+(V<<5)+28>>2]=9,Z[785580]=(Z0|0)/2|0,Z[532675]=0;return}if(Z[532675]=0,(Z0|0)==60?(y0|0)<60&($|0)==60:0){if(T=2131772+(V<<5)+28|0,Z[T>>2]=8,Z[785580]=30,eW()|0?(X=I8()|0,(X-(Z[785519]|0)|0)<2000):0)Z[T>>2]=10,T=(Z[785518]|0)+1|0,Z[785518]=(T|0)<5?T:5;Z[785519]=I8()|0;return}if((Z0|0)>=($|0))return;if((y0|0)>=($|0)?(H0|0)<64512&(E0|(O0|0)<17|($|0)==30):0){Z[2131772+(V<<5)+28>>2]=11,Z[785580]=$;return}if((H0|0)>=63488)return;Z[2131772+(V<<5)+28>>2]=2;return}function jK(){Z[299660]=0,Z[543072]=0;return}function o8(V){V=V|0,V8(1198640+(Z[543072]<<6)|0,V)|0,Z[543072]=(Z[543072]|0)+1;return}function CY(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0;if($=q,q=q+64|0,T=$,X=Z[543074]|0,(X|4|0)!=-995)Z[543075]=X;N[1215024]=0,Z[543074]=0,Y=V;Z:while(!0){switch(Q=N[Y>>0]|0,Q<<24>>24){case 0:{W=6;break Z}case 45:{W=7;break Z}case 126:{W=18;break Z}case 13:case 9:case 8:case 32:break;default:{U=Q,S=0;break Z}}Y=Y+1|0}if((W|0)==6)return Z[543074]=-1000,J=Y,q=$,J|0;else if((W|0)==7)if(V=N[Y+1>>0]|0,V<<24>>24==45){if(Z[543074]=-995,_=Y+2|0,(N[_>>0]|0)==91){K=0;while(!0)if(P=K+1|0,O=N[_+P>>0]|0,K>>>0<60&O<<24>>24==61)K=P;else break;if(O<<24>>24==91?(O=K+2|0,q6(T|0,_|0,O|0)|0,N[T>>0]=93,N[T+P>>0]=93,N[T+O>>0]=0,O=u1(Y+4+K|0,T)|0,O|0):0)return J=O+2+K|0,q=$,J|0}K=Y;Z:while(!0){switch(N[K>>0]|0){case 0:case 10:{J=K;break Z}default:}K=K+1|0}return q=$,J|0}else L=V,F=45,W=19;else if((W|0)==18)L=N[Y+1>>0]|0,F=126,W=19;do if((W|0)==19){if((L+-48&255)>9){if(L<<24>>24!=46){U=F,S=0;break}if(((N[Y+2>>0]|0)+-48&255)>9){U=F,S=0;break}}V=Z[543075]|0,U=F,S=((V|0)==-982|((V|0)==-980|((V+987|0)>>>0<2|((V|0)==-990|((V|0)==-972|((V|1|0)==-973|((V|0)==-965|((V|0)==61|((V|0)==-966|((V|1|0)==-967|((V|1|0)==-969|((V|2|0)==62|((V|0)==-954|((V|1|0)==-955|((V|1|0)==-957|((V|0)==-953|((V|0)==124|((V|0)==38|((V|0)==92|((V|0)==37|((V|0)==94|((V|0)==45|((V|4|0)==47|((V|0)==42|((V|0)==126|((V|0)==63|((V|4|0)==44|(V|32|0)==123)))))))))))))))))))))))))))&1}while(0);if(N[1232+(U&255)>>0]|0){if(Z[543074]=0,F=Z[8702]|0,L=Q<<24>>24,!(N[1488+(L&255)>>0]|0))z=F,H=0,C=Y;else{V=Q,K=L,L=F,F=0,O=Y;while(!0)if(P=(B(K,L)|0)&8191^7266,_=F+1|0,N[1215024+F>>0]=V,A=O+1|0,V=N[A>>0]|0,K=V<<24>>24,!(N[1488+(K&255)>>0]|0)){z=P,H=_,C=A;break}else L=P,F=_,O=A}switch(N[1215024+H>>0]=0,X|0){case 46:case 58:break;default:if(X=Z[1280560+(z*20|0)+16>>2]|0,X|0?(Q6(1280560+(z*20|0)|0,1215024)|0)==0:0)return Z[543074]=X,J=C,q=$,J|0}return Z[543074]=-998,J=C,q=$,J|0}if((U+-48&255)>9)if(U<<24>>24==46)y=((N[Y+1>>0]|0)+-48&255)<10&1;else y=0;else y=1;if(y|S|0){switch(U<<24>>24){case 126:case 45:{N[1215024]=U,S=Y+1|0,k=N[S>>0]|0,m=S;break}default:k=Q,m=Y}Z[543074]=0;Z:do if(k<<24>>24!=48)if(k<<24>>24==46|(k+-48&255)<10)W=48;else I=0,u=m;else{switch(S=N[m+1>>0]|0,(S|32)<<24>>24){case 120:break;case 98:{N[1215024]=48,N[1215025]=S,y=0,C=m+2|0;while(!0){switch(X=N[C>>0]|0,X<<24>>24){case 46:case 48:case 49:break;default:{I=y,u=C;break Z}}N[1215024+y>>0]=X,y=y+1|0,C=C+1|0}break}default:{W=48;break Z}}N[1215024]=48,N[1215025]=S,C=0,y=m+2|0;while(!0){if(X=N[y>>0]|0,!((X+-48&255)<10|(X+-97&255)<6))switch(X<<24>>24){case 46:case 65:case 66:case 67:case 68:case 69:case 70:break;default:{I=C,u=y;break Z}}N[1215024+C>>0]=X,C=C+1|0,y=y+1|0}}while(0);if((W|0)==48){y=k,k=0,C=m;while(!0)if(m=k+1|0,N[1215024+k>>0]=y,S=C+1|0,y=N[S>>0]|0,!(y<<24>>24==46|(y+-48&255)<10)){I=m,u=S;break}else k=m,C=S}return N[1215024+I>>0]=0,Z[543074]=-997,J=u,q=$,J|0}Z:do switch(U<<24>>24){case 91:{switch(u=Y+1|0,I=N[u>>0]|0,I<<24>>24){case 61:case 91:break;default:{g=I,i=u,t=0,W=95;break Z}}if(Z[543074]=-996,N[1215024]=0,(N[Y>>0]|0)==91){u=0;while(!0)if(Y0=u+1|0,X0=N[Y+Y0>>0]|0,u>>>0<60&X0<<24>>24==61)u=Y0;else break;if(X0<<24>>24==91?(I=u+2|0,q6(T|0,Y|0,I|0)|0,N[T>>0]=93,N[T+Y0>>0]=93,N[T+I>>0]=0,I=u1(Y+2+u|0,T)|0,I|0):0)return J=I+2+u|0,q=$,J|0}return J=Y+(x6(Y)|0)|0,q=$,J|0}case 34:{N[1215024]=34,I=1,C=Y;V:while(!0){switch(k=C+1|0,y=N[k>>0]|0,y<<24>>24){case 34:{W=65;break V}case 10:case 0:{T0=I,Z0=k;break V}case 92:{S=C+2|0,N[1215024+I>>0]=92,W0=N[S>>0]|0,O0=I+1|0,y0=S;break}default:W0=y,O0=I,y0=k}N[1215024+O0>>0]=W0,I=O0+1|0,C=y0}if((W|0)==65)N[1215024+I>>0]=34,T0=I+1|0,Z0=C+2|0;return N[1215024+T0>>0]=0,Z[543074]=-996,J=Z0,q=$,J|0}case 39:{N[1215024]=39,u=1,k=Y;V:while(!0){switch(y=k+1|0,S=N[y>>0]|0,S<<24>>24){case 39:{W=71;break V}case 10:case 0:{E0=u,H0=y;break V}case 92:{m=k+2|0,N[1215024+u>>0]=92,D0=N[m>>0]|0,_0=u+1|0,F0=m;break}default:D0=S,_0=u,F0=y}N[1215024+_0>>0]=D0,u=_0+1|0,k=F0}if((W|0)==71)N[1215024+u>>0]=39,E0=u+1|0,H0=k+2|0;return N[1215024+E0>>0]=0,Z[543074]=-996,J=H0,q=$,J|0}case 10:return Z[543076]=(Z[543076]|0)+1,Z[543074]=-999,J=Y+1|0,q=$,J|0;case 58:{if(C=Y+1|0,I=N[C>>0]|0,I<<24>>24==58)return Z[543074]=-960,J=Y+2|0,q=$,J|0;else k0=I,m0=C,B0=0,W=79;break}case 46:{if(C=Y+1|0,I=N[C>>0]|0,I<<24>>24==46)if((N[Y+2>>0]|0)==46)return Z[543074]=-961,J=Y+3|0,q=$,J|0;else g=46,i=C,t=1,W=95;else k0=I,m0=C,B0=1,W=79;break}default:C=Y+1|0,k0=N[C>>0]|0,m0=C,B0=0,W=79}while(0);Z:do if((W|0)==79)if(k0<<24>>24==61)do switch(U<<24>>24){case 60:return Z[543074]=-970,J=Y+2|0,q=$,J|0;case 62:return Z[543074]=-969,J=Y+2|0,q=$,J|0;case 126:return Z[543074]=-967,J=Y+2|0,q=$,J|0;case 33:return Z[543074]=-967,J=Y+2|0,q=$,J|0;case 61:return Z[543074]=-966,J=Y+2|0,q=$,J|0;case 43:return Z[543074]=-965,J=Y+2|0,q=$,J|0;case 45:return Z[543074]=-965,J=Y+2|0,q=$,J|0;case 42:return Z[543074]=-965,J=Y+2|0,q=$,J|0;case 47:return Z[543074]=-965,J=Y+2|0,q=$,J|0;case 92:return Z[543074]=-965,J=Y+2|0,q=$,J|0;case 37:return Z[543074]=-965,J=Y+2|0,q=$,J|0;case 38:return Z[543074]=-965,J=Y+2|0,q=$,J|0;case 124:return Z[543074]=-965,J=Y+2|0,q=$,J|0;case 94:return Z[543074]=-965,J=Y+2|0,q=$,J|0;default:{g0=m0;break Z}}while(0);else g=k0,i=m0,t=B0,W=95;while(0);Z:do if((W|0)==95){B0=g<<24>>24==0;V:do if(!(U<<24>>24==0|B0)?(N[Y+2>>0]|0)==61:0){if(t&g<<24>>24==46)return Z[543074]=-965,J=Y+3|0,q=$,J|0;switch(U<<24>>24){case 60:{if(g<<24>>24!=60){g0=i;break Z}return Z[543074]=-965,J=Y+3|0,q=$,J|0}case 62:{if(g<<24>>24!=62){g0=i;break Z}return Z[543074]=-965,J=Y+3|0,q=$,J|0}case 94:{if(g<<24>>24!=94){g0=i;break Z}return Z[543074]=-965,J=Y+3|0,q=$,J|0}default:break V}}else W=106;while(0);if((W|0)==106){V:do switch(U<<24>>24){case 60:case 62:{if((!B0?(m0=N[Y+2>>0]|0,m0<<24>>24):0)?(N[Y+3>>0]|0)==61:0){if(k0=U<<24>>24==62&g<<24>>24==62,k0&m0<<24>>24==60)return Z[543074]=-965,J=Y+4|0,q=$,J|0;if(k=m0<<24>>24==62,U<<24>>24==60&g<<24>>24==60&k)return Z[543074]=-965,J=Y+4|0,q=$,J|0;if(!(k0&k)){g0=i;break Z}return Z[543074]=-965,J=Y+4|0,q=$,J|0}switch(U<<24>>24){case 62:break;case 60:{if(g<<24>>24!=60)break V;if(k=Y+2|0,(N[k>>0]|0)==62)return Z[543074]=-955,J=Y+3|0,q=$,J|0;else return Z[543074]=-958,J=k,q=$,J|0;break}default:break V}if(g<<24>>24==62)switch(k=Y+2|0,N[k>>0]|0){case 62:{if((N[Y+3>>0]|0)==61)return Z[543074]=-965,J=Y+4|0,q=$,J|0;else return Z[543074]=-956,J=Y+3|0,q=$,J|0;break}case 60:return Z[543074]=-954,J=Y+3|0,q=$,J|0;default:return Z[543074]=-957,J=k,q=$,J|0}break}case 94:{if(g<<24>>24==94)return Z[543074]=-953,J=Y+2|0,q=$,J|0;break}default:}while(0);if(t&g<<24>>24==46)return Z[543074]=-964,J=Y+2|0,q=$,J|0}if(U<<24>>24==47&g<<24>>24==47){Z[543074]=-995,B0=Q,k=Y;V:while(!0){switch(B0<<24>>24){case 0:case 10:{J=k;break V}default:}k0=k+1|0,B0=N[k0>>0]|0,k=k0}return q=$,J|0}else g0=i}while(0);if(k8(Y,92584,9)|0)return Z[543074]=U<<24>>24,J=g0,q=$,J|0;Z[543074]=-962,g0=Q,Q=Y;Z:while(!0){switch(g0<<24>>24){case 0:case 10:{J=Q;break Z}default:}Y=Q+1|0,g0=N[Y>>0]|0,Q=Y}return q=$,J|0}function z5(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if(T=q,q=q+16|0,X=T+8|0,Y=T,(x6(V)|0)>>>0>15){q=T;return}if(Q=Z[8702]|0,W=N[V>>0]|0,!(W<<24>>24))U=Q;else{S=W,W=Q,Q=V;while(!0)if(J=(B(W,S<<24>>24)|0)&8191^7266,Q=Q+1|0,S=N[Q>>0]|0,!(S<<24>>24)){U=J;break}else W=J}if(W=1280560+(U*20|0)+16|0,S=1280560+(U*20|0)|0,(Z[W>>2]|0)==0?(N[S>>0]|0)==0:0){Z[W>>2]=$,V8(S,V)|0,q=T;return}Z[Y>>2]=S,Z[Y+4>>2]=V,b1(57620,Y)|0,Z[X>>2]=S,Z[X+4>>2]=V,a6(1703776,57620,X)|0,s1(1703776),Q8(0)}function rU(V){if(V=V|0,Z[543073]|0)return;if(Z[543073]=1,Z[8702]=V,x8(1280560,0,163840)|0,z5(62626,-993),z5(62821,-992),z5(63707,-991),z5(63404,-990),z5(63407,-989),z5(63419,-988),z5(63412,-987),z5(62867,-986),z5(64685,-974),z5(64678,-973),z5(64682,-972),z5(62999,-985),z5(64408,-983),z5(62635,-982),z5(63188,-981),z5(63195,-980),z5(57651,-979),z5(57656,-978),z5(63936,-963),z5(63941,-963),z5(63947,-963),z5(63711,-984),z5(84488,-977),z5(84351,-977),z5(86511,-977),z5(84633,-977),z5(57662,-977),(Z[543072]|0)<=0)return;V=0;do z5(1198640+(V<<6)|0,-977),V=V+1|0;while((V|0)<(Z[543072]|0));return}function eQ(V){V=V|0;var $=0;if($=CY(V)|0,!$)return 0;else return(($|0)==(V|0)&(N[$>>0]|0)!=0?$+1|0:$)|0;return 0}function hU(V){V=V|0;var $=0,T=0;if(rU(Z[8702]|0),Z[543074]=0,Z[543075]=0,Z[543077]=V,$=CY(V)|0,!$)return T=0,T|0;return T=($|0)==(V|0)&(N[$>>0]|0)!=0?$+1|0:$,T|0}function aQ(){return Z[543074]|0}function gU(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0;$=0,T=-1;while(!0){if((T|0)==-1)if(rU(Z[8702]|0),Z[543074]=0,Z[543075]=0,Z[543077]=V,X=CY(V)|0,!X)Y=0,Q=0;else Y=(X|0)==(V|0)&(N[X>>0]|0)!=0?X+1|0:X,Q=0;else{if(!(N[$>>0]|0))break;if(X=CY($)|0,!X)Y=0,Q=T;else Y=(X|0)==($|0)&(N[X>>0]|0)!=0?X+1|0:X,Q=T}switch(Z[543074]|0){case-960:case-962:case 58:case 44:case 46:case-992:case 93:case 125:case 41:case 59:case-1000:case-983:case-995:case-999:{W=Q;break}default:W=Q+1|0}$=Y,T=W}return T|0}function iU(){var V=0,$=0,T=0,X=0,Y=0;if(V=OO(Z[(Z[26136]|0)+4>>2]|0,0)|0,$=Z[26136]|0,T=Z[$+44588>>2]|0,!(Z[(Z[T>>2]|0)+16>>2]|0))X=-4;else Y=Z[$+4>>2]|0,X=(B(Z[Y>>2]<<1,Z[Y+4>>2]|0)|0)+260|0;ES(V,T,X)|0,l5(Z[(Z[26136]|0)+4>>2]|0,Z[(Z[753851]|0)+20>>2]|0,0,0,0,0,128,128),Z[481714]=1;return}function SC(V){V=V|0;return}function RC(){return}function _C(){return}function KC(){return}function PC(V){V=V|0;return}function OC(){return}function GC(){return}function MC(){return}function kK(){var V=0;return V=Z[765624]|0,(((V|0)==15?1:(N[Z[Z[765621]>>2]>>0]|0)!=0)?16:((V|0)==14?1:(N[Z[Z[765620]>>2]>>0]|0)!=0)?15:((V|0)==13?1:(N[Z[Z[765619]>>2]>>0]|0)!=0)?14:((V|0)==12?1:(N[Z[Z[765618]>>2]>>0]|0)!=0)?13:((V|0)==11?1:(N[Z[Z[765617]>>2]>>0]|0)!=0)?12:((V|0)==10?1:(N[Z[Z[765616]>>2]>>0]|0)!=0)?11:((V|0)==9?1:(N[Z[Z[765615]>>2]>>0]|0)!=0)?10:((V|0)==8?1:(N[Z[Z[765614]>>2]>>0]|0)!=0)?9:((V|0)==7?1:(N[Z[Z[765613]>>2]>>0]|0)!=0)?8:((V|0)==6?1:(N[Z[Z[765612]>>2]>>0]|0)!=0)?7:((V|0)==5?1:(N[Z[Z[765611]>>2]>>0]|0)!=0)?6:((V|0)==4?1:(N[Z[Z[765610]>>2]>>0]|0)!=0)?5:((V|0)==3?1:(N[Z[Z[765609]>>2]>>0]|0)!=0)?4:((V|0)==2?1:(N[Z[Z[765608]>>2]>>0]|0)!=0)?3:((V|0)==1?1:(N[Z[Z[765607]>>2]>>0]|0)!=0)?2:((V|0)==0?1:(N[Z[Z[765606]>>2]>>0]|0)!=0)&1)|0}function cQ(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0;$=V+4|0,T=V+12|0,V=32;do{X=V<<1,Y=0;do Q=Z[(Z[(Z[$>>2]|0)+16>>2]|0)+((Y>>>6)+X<<2)>>2]|0,W=Y<<1&126,N[(Z[(Z[(Z[T>>2]|0)+16>>2]|0)+(V<<2)>>2]|0)+Y>>0]=((G[Q+(W|1)>>0]|0)<<4)+(G[Q+W>>0]|0),Y=Y+1|0;while((Y|0)!=128);V=V+1|0}while((V|0)!=64);return}function tU(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0;$=V+12|0,T=V+4|0,V=32;do{X=V<<1,Y=0;do Q=(Y>>>6)+X|0,W=Y<<1&126,N[(Z[(Z[(Z[T>>2]|0)+16>>2]|0)+(Q<<2)>>2]|0)+W>>0]=N[(Z[(Z[(Z[$>>2]|0)+16>>2]|0)+(V<<2)>>2]|0)+Y>>0]&15,N[(Z[(Z[(Z[T>>2]|0)+16>>2]|0)+(Q<<2)>>2]|0)+(W|1)>>0]=(G[(Z[(Z[(Z[$>>2]|0)+16>>2]|0)+(V<<2)>>2]|0)+Y>>0]|0)>>>4,Y=Y+1|0;while((Y|0)!=128);V=V+1|0}while((V|0)!=64);return}function pK(){var V=0,$=0,T=0,X=0,Y=0,Q=0;if(V=N[3100926]|0,$=(V&255)<<8,T=N[3100927]|0,X=T<<24>>24==0?256:T&255,V<<24>>24>-1){T=(V&-16)<<24>>24==16?$+8192|0:$,V=(T+-8192|0)>>>0>7936?8192:T,Y=V,Q=(16384-V|0)/(X|0)|0,Z[543078]=X,Z[543079]=Q,Z[543080]=Y;return}else{Y=$,Q=((65536-$|0)>>>0)/(X>>>0)|0,Z[543078]=X,Z[543079]=Q,Z[543080]=Y;return}}function _T(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;if((V|0)>=0?(T=Z[543078]|0,($|0)>-1&(T|0)>(V|0)&(Z[543079]|0)>($|0)):0){if(X=Z[543080]|0,!(X&32768))Y=(Z[(Z[(Z[769129]|0)+12>>2]|0)+12>>2]|0)+(X+-8192)|0;else Y=3076520+X|0;return Q=G[Y+((B(T,$)|0)+V)>>0]|0,Q|0}if(!(N[3100894]&16))return Q=0,Q|0;return Q=d8(2921764,Z[769129]|0,24410)|0,Q|0}function mK(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0;if((V|0)<0)return;if(X=Z[543078]|0,!(($|0)>-1&(X|0)>(V|0)&(Z[543079]|0)>($|0)))return;if(Y=Z[543080]|0,Y&32768|0){N[3076520+Y+((B(X,$)|0)+V)>>0]=T;return}if(Q=(B(X,$)|0)+V|0,N[(Z[(Z[(Z[769129]|0)+12>>2]|0)+12>>2]|0)+(Y+-8192)+Q>>0]=T,(Q|0)<=4095)return;f2(2921764,Z[769129]|0,Q,T);return}function fU(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0;if(T=q,q=q+2928|0,X=T+2920|0,Y=T+2912|0,Q=T+2904|0,W=T+2896|0,U=T+2888|0,S=T+2880|0,J=T+1856|0,_=T+832|0,K=T+64|0,P=T+2924|0,O=T,Z[P>>2]=0,!(Z[543082]|0))Z[543082]=1,x8(1444400,0,3600)|0;if(!(Z[543081]|0))return L=9,q=T,L|0;if(Z[S>>2]=PW()|0,a6(O,57669,S)|0,N[3144232]|0)Z[U>>2]=3144232,a6(O,57680,U)|0;U=($|0)==0;do if(!(o5(O,37)|0))if(U){_$(O,_);break}else{PX(O,_);break}else if(U){$=0;while(!0)if(Z[W>>2]=$,a6(J,O,W)|0,_$(J,_),!(d3(_)|0))break;else $=$+1|0}else{$=0;while(!0)if(Z[Q>>2]=$,a6(J,O,Q)|0,PX(J,_),!(d3(_)|0))break;else $=$+1|0}while(0);if(J=IP(_,0,P)|0,!J)Z[Y>>2]=Z[P>>2],Z[Y+4>>2]=_,a6(1703776,57687,Y)|0,s1(1703776),F=1;else{if(Z[X>>2]=_,a6(1703776,57721,X)|0,s1(1703776),X=(V|0)>0?V:Z[481768]|0,V=(X|0)<8?X:8,X=(V|0)>1?V:1,V=((X|0)<3?X:3)<<7,X=h1(V,V,8)|0,(Z[543081]|0)>0){V=18,Y=0;while(!0){if(P=1444400+(Y<<2)|0,Q=Z[P>>2]|0,!Q)O=h1(128,128,8)|0,Z[P>>2]=O,z=O;else z=Q;Q=Z[z+12>>2]|0,H=V,O=0;do H=(G[Q+O>>0]|0)>15?256:H,O=O+1|0;while((O|0)!=16384);if(Y=Y+1|0,(Y|0)>=(Z[543081]|0))break;else V=H}if((H|0)>0)C=H,A=25;else y=H}else C=18,A=25;if((A|0)==25){A=Z[730428]|0,H=0;do N[K+(H*3|0)>>0]=N[A+(H*3|0)>>0]|0,N[K+(H*3|0)+1>>0]=N[A+(H*3|0)+1>>0]|0,N[K+(H*3|0)+2>>0]=N[A+(H*3|0)+2>>0]|0,H=H+1|0;while((H|0)!=(C|0));y=C}C=IY(1<<(mP(y)|0),K)|0,K=Z[X>>2]|0,Z[J>>2]=K,H=X+4|0,A=Z[H>>2]|0,Z[J+4>>2]=A,Z[J+8>>2]=y,Z[J+12>>2]=0,Z[J+20>>2]=C;Z:do if((Z[543081]|0)>0){V=X+16|0,Y=K,z=A,O=0;while(!0){if(Q=1444400+(O<<2)|0,EW(Z[Q>>2]|0,X,0,0,Y,z,0),P=uP(J,0)|0,Z[P>>2]=0,Z[P+4>>2]=0,W=Z[X>>2]|0,Z[P+8>>2]=W,U=Z[H>>2]|0,Z[P+12>>2]=U,N[P+16>>0]=0,$=(O|0)!=0,Z[P+20>>2]=$?0:C,S=hX(B(U,W)|0)|0,W=P+24|0,Z[W>>2]=S,x8(S|0,0,B(Z[H>>2]|0,Z[X>>2]|0)|0)|0,S=Z[H>>2]|0,(S|0)>0){U=Z[X>>2]|0,k=S,m=0;while(!0){if((U|0)>0){I=U,u=0;do N[(Z[W>>2]|0)+((B(I,m)|0)+u)>>0]=(G[(Z[(Z[V>>2]|0)+(m<<2)>>2]|0)+u>>0]|0)%(y|0)|0,u=u+1|0,I=Z[X>>2]|0;while((u|0)<(I|0));g=Z[H>>2]|0,i=I}else g=k,i=U;if(m=m+1|0,(m|0)>=(g|0)){t=g;break}else U=i,k=g}}else t=S;if($&(t|0)>0){k=1444400+(O+-1<<2)|0,U=Z[X>>2]|0,m=0;while(!0){if((U|0)>0){u=U,Y0=0;while(!0){if(X0=Z[481768]|0,T0=(m|0)/(X0|0)|0,Z0=(Y0|0)/(X0|0)|0,(N[(Z[(Z[(Z[k>>2]|0)+16>>2]|0)+(T0<<2)>>2]|0)+Z0>>0]|0)==(N[(Z[(Z[(Z[Q>>2]|0)+16>>2]|0)+(T0<<2)>>2]|0)+Z0>>0]|0))Z0=(B(u,m)|0)+Y0|0,N[(Z[W>>2]|0)+Z0>>0]=17,W0=Z[X>>2]|0;else W0=u;if(Y0=Y0+1|0,(Y0|0)>=(W0|0)){O0=W0;break}else u=W0}}else O0=U;if(m=m+1|0,(m|0)>=(Z[H>>2]|0))break;else U=O0}}if(U=(O|0)==0,m=U?3:1,W=P+28|0,Z[W>>2]=m,Q=hX(m*12|0)|0,m=P+32|0,Z[m>>2]=Q,x8(Q|0,0,(Z[W>>2]|0)*12|0)|0,U)U=Z[m>>2]|0,Z[U+8>>2]=255,Z[U>>2]=11,W=hX(12)|0,Z[U+4>>2]=W,V8(W,57740)|0,W=Z[m>>2]|0,Z[W+20>>2]=0,Z[W+12>>2]=3,U=hX(3)|0,Q=W+16|0,Z[Q>>2]=U,N[U>>0]=1,N[(Z[Q>>2]|0)+1>>0]=0,N[(Z[Q>>2]|0)+2>>0]=0,y0=2;else y0=0;if(Q=Z[m>>2]|0,Z[Q+(y0*12|0)+8>>2]=249,Z[Q+(y0*12|0)>>2]=4,m=hX(4)|0,U=Q+(y0*12|0)+4|0,Z[U>>2]=m,N[m>>0]=1,N[(Z[U>>2]|0)+1>>0]=3,N[(Z[U>>2]|0)+2>>0]=0,N[(Z[U>>2]|0)+3>>0]=17,U=O+1|0,(U|0)>=(Z[543081]|0))break Z;Y=Z[X>>2]|0,z=Z[H>>2]|0,O=U}}while(0);if(H=pP(J)|0,P5(X)|0,kW(_,57752,128,128),wP(),_=(H|0)==0,_)s1(57756);F=_&1}return L=F,q=T,L|0}function KT(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if($=q,q=q+16|0,T=$,!(Z[543082]|0))Z[543082]=1,x8(1444400,0,3600)|0;if(!(Z[481782]|Z[481771])){q=$;return}if(S4($+8|0,$+4|0,T),I8()|0,T=Z[481782]|0,X=Z[481771]|0,(X|0)>0|(T|0)!=0){Y=X,X=T,T=0;while(!0){if(Q=1444400+(T<<2)|0,!(Z[Q>>2]|0))Z[Q>>2]=h1(128,128,8)|0,W=Z[481782]|0,U=Z[481771]|0;else W=X,U=Y;if(T=T+1|0,Q=(W|0)==0?U*30|0:900,S=(Q|0)<900?Q:900,T>>>0>=((S|0)>0?S:0)>>>0)break;else Y=U,X=W}}if(l5(V,Z[1444400+(Z[543081]<<2)>>2]|0,0,0,0,0,128,128),V=I8()|0,(V|0)<(Z[532940]|0))QL(Z[1444400+(Z[543081]<<2)>>2]|0);if(V=Z[543081]|0,W=(Z[481782]|0)==0?(Z[481771]|0)*30|0:900,X=(W|0)<900,(V|0)<(((W|0)<0?-1:X?W+-1|0:899)|0)){Z[543081]=V+1,q=$;return}if(V=Z[361100]|0,U=X?W:900,W=(U|0)<0?-1:U+-1|0,(W|0)>0){X=0;do Y=X,X=X+1|0,Z[1444400+(Y<<2)>>2]=Z[1444400+(((X|0)%(U|0)|0)<<2)>>2];while((X|0)<(W|0));J=W}else J=0;Z[1444400+(J<<2)>>2]=V,q=$;return}function oX(){Z[543081]=0,Z[481773]=0;return}function uK(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;if(T=q,q=q+16|0,X=T,Y=NZ(V,94452)|0,!Y)return Q=1,q=T,Q|0;if(V=B2(1048576)|0,W=g8(V,1,1048576,Y)|0,m9(Y)|0,Y=NZ($,95158)|0,!Y)return Q=2,q=T,Q|0;if(C2(57781,6,1,Y)|0,(W|0)>0){$=0;do Z[X>>2]=G[V+$>>0],n1(Y,102994,X)|0,$=$+1|0;while(($|0)!=(W|0))}return C2(57788,7,1,Y)|0,m9(Y)|0,Q=0,q=T,Q|0}function lK(V){return V=V|0,P5(Z[(Z[26136]|0)+44576>>2]|0)|0,V=h1(128,128,8)|0,Z[(Z[26136]|0)+44576>>2]=V,l5(Z[730458]|0,V,0,0,0,0,128,128),0}function LC(){return}function dU(){return((Z[543081]|0)+15|0)/30|0|0}function ZW(V){V=V|0,Z[V>>2]=0,N[V+4>>0]=0,Z[V+8>>2]=0;return}function bU(V){V=V|0;var $=0;if(V<<24>>24>63)return $=61,$|0;return $=N[((Z[534492]|0)==0?57796:57861)+(V<<24>>24)>>0]|0,$|0}function VW(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0;switch(Y=V+$|0,$=X+4|0,Q=N[$>>0]|0,Z[X>>2]|0){case 0:{W=T,U=V,S=Q,J=2;break}case 1:{_=T,K=V,P=Q,J=6;break}case 2:{O=T,L=V,F=Q,J=10;break}default:return z=0,z|0}while(!0)if((J|0)==2){if(J=0,(U|0)==(Y|0)){H=0,C=W,A=S;break}if(Q=N[U>>0]|0,V=Q>>>2&63,(V&255)<<24>>24>63)y=61;else y=N[((Z[534492]|0)==0?57796:57861)+V>>0]|0;N[W>>0]=y,_=W+1|0,K=U+1|0,P=Q<<4&48,J=6;continue}else if((J|0)==6){if(J=0,(K|0)==(Y|0)){H=1,C=_,A=P;break}if(Q=N[K>>0]|0,V=Q>>>4&15|P&255,(V&255)<<24>>24>63)k=61;else k=N[((Z[534492]|0)==0?57796:57861)+(V<<24>>24)>>0]|0;N[_>>0]=k,O=_+1|0,L=K+1|0,F=Q<<2&60,J=10;continue}else if((J|0)==10){if(J=0,(L|0)==(Y|0)){H=2,C=O,A=F;break}if(Q=N[L>>0]|0,V=Q>>>6&3|F&255,(V&255)<<24>>24>63)m=61;else m=N[((Z[534492]|0)==0?57796:57861)+(V<<24>>24)>>0]|0;if(N[O>>0]=m,V=Q&63,Q=V&255,Q<<24>>24>63)I=61;else I=N[((Z[534492]|0)==0?57796:57861)+V>>0]|0;N[O+1>>0]=I,V=X+8|0,u=(Z[V>>2]|0)+1|0,Z[V>>2]=(u|0)==18?0:u,W=O+2|0,U=L+1|0,S=Q,J=2;continue}return N[$>>0]=A,Z[X>>2]=H,z=C-T|0,z|0}function $W(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;switch(Z[$>>2]|0){case 1:{if(T=N[$+4>>0]|0,T<<24>>24>63)X=61;else X=N[((Z[534492]|0)==0?57796:57861)+(T<<24>>24)>>0]|0;N[V>>0]=X,N[V+1>>0]=61,Y=3,Q=V+2|0;break}case 2:{if(X=N[$+4>>0]|0,X<<24>>24>63)W=61;else W=N[((Z[534492]|0)==0?57796:57861)+(X<<24>>24)>>0]|0;N[V>>0]=W,Y=2,Q=V+1|0;break}default:return U=V,S=U,J=V,_=S-J|0,_|0}return N[Q>>0]=61,U=V+Y|0,S=U,J=V,_=S-J|0,_|0}function eU(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;if($=Z[534492]|0,(Z[8703]|0)!=($|0)){x8(1448000,-1,1024)|0,T=($|0)==0?57796:57861,X=0;do{if((X&255)<<24>>24>63)Y=61;else Y=N[T+(X<<24>>24)>>0]|0;Z[1448000+(Y<<24>>24<<2)>>2]=X,X=X+1|0}while((X|0)!=64);Z[8703]=$}if(V<<24>>24<0)return Q=-1,Q|0;return Q=Z[1448000+(V<<24>>24<<2)>>2]|0,Q|0}function aU(V){V=V|0,Z[V>>2]=0,N[V+4>>0]=0;return}function cU(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0;switch(Y=X+4|0,N[T>>0]=N[Y>>0]|0,Z[X>>2]|0){case 0:{Q=V+$|0,W=V,U=T,S=6;break}case 1:{J=V+$|0,_=V,K=T,S=18;break}case 2:{P=V+$|0,O=V,L=T,S=30;break}case 3:{F=V+$|0,z=V,H=T,S=42;break}default:return C=0,C|0}Z:while(!0)if((S|0)==6){S=0,V=W;do{if((V|0)==(Q|0)){A=0,y=U;break Z}if($=V,V=V+1|0,k=N[$>>0]|0,$=Z[534492]|0,(Z[8703]|0)!=($|0)){x8(1448000,-1,1024)|0,m=($|0)==0?57796:57861,I=0;do{if((I&255)<<24>>24>63)u=61;else u=N[m+(I<<24>>24)>>0]|0;Z[1448000+(u<<24>>24<<2)>>2]=I,I=I+1|0}while((I|0)!=64);Z[8703]=$}if(k<<24>>24<0)g=-1;else g=Z[1448000+(k<<24>>24<<2)>>2]|0}while((g&128|0)!=0);N[U>>0]=g<<2,J=Q,_=V,K=U,S=18;continue}else if((S|0)==18){S=0,I=_;do{if((I|0)==(J|0)){A=1,y=K;break Z}if(m=I,I=I+1|0,i=N[m>>0]|0,m=Z[534492]|0,(Z[8703]|0)!=(m|0)){x8(1448000,-1,1024)|0,t=(m|0)==0?57796:57861,Y0=0;do{if((Y0&255)<<24>>24>63)X0=61;else X0=N[t+(Y0<<24>>24)>>0]|0;Z[1448000+(X0<<24>>24<<2)>>2]=Y0,Y0=Y0+1|0}while((Y0|0)!=64);Z[8703]=m}if(i<<24>>24<0)T0=-1;else T0=Z[1448000+(i<<24>>24<<2)>>2]|0}while((T0&128|0)!=0);V=K+1|0,N[K>>0]=T0>>>4&3|(G[K>>0]|0),N[V>>0]=T0<<4,P=J,O=I,L=V,S=30;continue}else if((S|0)==30){S=0,V=O;do{if((V|0)==(P|0)){A=2,y=L;break Z}if(Y0=V,V=V+1|0,t=N[Y0>>0]|0,Y0=Z[534492]|0,(Z[8703]|0)!=(Y0|0)){x8(1448000,-1,1024)|0,k=(Y0|0)==0?57796:57861,$=0;do{if(($&255)<<24>>24>63)Z0=61;else Z0=N[k+($<<24>>24)>>0]|0;Z[1448000+(Z0<<24>>24<<2)>>2]=$,$=$+1|0}while(($|0)!=64);Z[8703]=Y0}if(t<<24>>24<0)W0=-1;else W0=Z[1448000+(t<<24>>24<<2)>>2]|0}while((W0&128|0)!=0);I=L+1|0,N[L>>0]=W0>>>2&15|(G[L>>0]|0),N[I>>0]=W0<<6,F=P,z=V,H=I,S=42;continue}else if((S|0)==42){S=0,I=z;do{if((I|0)==(F|0)){A=3,y=H;break Z}if($=I,I=I+1|0,k=N[$>>0]|0,$=Z[534492]|0,(Z[8703]|0)!=($|0)){x8(1448000,-1,1024)|0,i=($|0)==0?57796:57861,m=0;do{if((m&255)<<24>>24>63)O0=61;else O0=N[i+(m<<24>>24)>>0]|0;Z[1448000+(O0<<24>>24<<2)>>2]=m,m=m+1|0}while((m|0)!=64);Z[8703]=$}if(k<<24>>24<0)y0=-1;else y0=Z[1448000+(k<<24>>24<<2)>>2]|0}while((y0&128|0)!=0);N[H>>0]=y0&63|(G[H>>0]|0),Q=F,W=I,U=H+1|0,S=6;continue}return Z[X>>2]=A,N[Y>>0]=N[y>>0]|0,C=y-T|0,C|0}function DC(){return}function zC(){return}function FC(){return 0}function ZJ(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;if($=q,q=q+16|0,T=$,X=$+4|0,Y=Z[768155]&15,Z[X>>2]=0,Q=b8(V)|0,!Q)return W=0,q=$,W|0;U=a5(V,1)|0;do if((U+-3|0)>>>0>=2)if((U|0)==1){S=(j3(V,1)|0)==0,J=S?63941:63936,Z[X>>2]=x6(J)|0,_=J;break}else{Z[T>>2]=PN(V,U)|0,a6(1708384,57971,T)|0,Z[X>>2]=x6(1708384)|0,_=1708384;break}else _=w7(V,1,X)|0;while(0);if((Q|0)==2)if(T=Z[768155]&255,(b8(V)|0)>=2)if(U=J8(V,2,0)|0,J=U>>>16&255,Z[768155]=J,!((U&268435456|0)==0|(Z[768176]|0)!=1)?(S=U>>>8&65536|U&65535,Z[768171]=S,(U&33554432|0)!=0):0)Z[768171]=S|131072,K=0,P=J;else K=0,P=J;else K=0,P=T;else if((Q|0)>2)if(T=(J8(V,2,0)|0)>>16,J=(J8(V,3,0)|0)>>16,Z[768156]=T,Z[768158]=T,Z[768157]=J,(Q|0)!=3)if(J=Z[768155]&255,(b8(V)|0)>=4)if(T=J8(V,4,0)|0,S=T>>>16&255,Z[768155]=S,!((T&268435456|0)==0|(Z[768176]|0)!=1)?(U=T>>>8&65536|T&65535,Z[768171]=U,(T&33554432|0)!=0):0)Z[768171]=U|131072,K=1,P=S;else K=1,P=S;else K=1,P=J;else K=1,P=Y;else K=0,P=Y;if(Y=(Q|0)<3?32:0,Q=Y|16,J=(N[3100894]|0)<0?Q:K|(Z[768034]|0)!=0?Y:Q,Z[543083]=Z[768156],Z[543084]=Z[768157],!(oM(Z[730449]|0,_,Z[X>>2]|0,J,P)|0))return G1(V,Z[543083]<<16),G1(V,Z[543084]<<16),W=2,q=$,W|0;if(zZ(),V=Z[785580]|0,(V|0)==30)zZ(),O=Z[785580]|0;else O=V;if((O|0)==15)zZ(),zZ();if(oY(),nX(),Z[730460]=0,CJ(),dQ(),Z[730445]=0,Z[482725]|0)Z[768033]=2,Z[768157]=0,Z[768156]=0,Z[768158]=0;if(Z[481773]|0)GT(0),KT(Z[730458]|0);return H4(),W=0,q=$,W|0}function sK(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if(Y=q,q=q+2048|0,Q=Y+1024|0,W=Y,(V|0)==0|($|0)==0)return U=1,q=Y,U|0;if(S=x6(V)|0,J=x6(3062500)|0,(T|0)>1023|(S+4+J+(x6(3063524)|0)|0)>>>0>=T>>>0)return U=1,q=Y,U|0;if(V8(Q,V)|0,u1(Q,95214)|0)return U=1,q=Y,U|0;V=N[Q>>0]|0;Z:do if(V<<24>>24){T=V,J=Q;V:while(!0){if(!((T+-97&255)<26|(T+-48&255)<10))switch(T<<24>>24){case 32:case 46:case 47:case 95:break;default:{U=1;break V}}if(J=J+1|0,T=N[J>>0]|0,!(T<<24>>24))break Z}return q=Y,U|0}while(0);R4(Q,0,0,W),V=57926,T=1744,J=0;do S=(Q6(W,V)|0)==0,J=S?1:J,T=T+4|0,V=Z[T>>2]|0;while((V|0)!=0);if(!J)_=13;if((_|0)==13)_=Q+(x6(Q)|0)|0,N[_>>0]=N[57926]|0,N[_+1>>0]=N[57927]|0,N[_+2>>0]=N[57928]|0,N[_+3>>0]=N[57929]|0,N[_+4>>0]=N[57930]|0;if(!X)return PX(Q,$),U=0,q=Y,U|0;else return _$(Q,$),U=0,q=Y,U|0;return 0}function TW(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;if($=(V+-46|0)>>>0<11,T=$?V+-30|0:V,$){if((T&-8|0)==16?($=T&3,V=Z[1930516+($*24|0)+8>>2]|0,(V|0)!=0):0){if(X=T&-4,(X|0)==16){Y=Z[769129]|0,Q=0,W=-65536;while(!0)if(U=(V|0)==(Y+16+(Q*660|0)|0)?Q<<16:W,Q=Q+1|0,(Q|0)==64){S=U;break}else W=U}else S=-65536;if((X|0)==20)J=Z[1930516+($*24|0)+12>>2]<<16;else J=S}else J=-65536;if((T+-24|0)>>>0>=3)return _=J,_|0;if(!(Z[482655]|0))return _=-65536,_|0;if((T|0)!=26)return _=(T|0)==25?Z[482658]<<16:(T|0)==24?Z[482657]<<16:-65536,_|0;return _=Z[482654]<<16,_|0}if(J=T&-4,(J|0)==16){S=p9(T+-16|0)|0,$=Z[769129]|0,X=0,W=-65536;do W=(S|0)==($+16+(X*660|0)|0)?X<<16:W,X=X+1|0;while((X|0)!=64);if((W|0)==-65536){X=p9(T+-12|0)|0,$=Z[769129]|0,S=0,Q=-65536;while(!0)if(Y=(X|0)==($+16+(S*660|0)|0)?S<<16:Q,S=S+1|0,(S|0)==64){K=Y;break}else Q=Y}else K=W}else K=-65536;do if((J|0)==20){if(W=p9(T+-20|0)|0,!W)if(Q=p9(T+-16|0)|0,!Q){P=K;break}else O=Q;else O=W;P=(Xz(O)|0)<<16}else P=K;while(0);if(!(zQ()|0))return _=P,_|0;if((T|0)!=26)return _=(T|0)==25?Z[543662]<<16:(T|0)==24?Z[543663]<<16:P,_|0;return _=(Rz()|0)<<16,_|0}function oK(V){V=V|0,t6(V,6,0),f6(V,57976),t6(V,7,0),f6(V,57991),t6(V,8,0),f6(V,58001),t6(V,9,0),f6(V,58012),t6(V,10,0),f6(V,58019),t6(V,11,0),f6(V,58027),t6(V,12,0),f6(V,58036),t6(V,13,0),f6(V,58044),t6(V,14,0),f6(V,58051),t6(V,15,0),f6(V,58060),t6(V,15,0),f6(V,58073),t6(V,16,0),f6(V,58082),t6(V,17,0),f6(V,58089),t6(V,18,0),f6(V,58098),t6(V,19,0),f6(V,58109),t6(V,20,0),f6(V,58135),t6(V,21,0),f6(V,58138),t6(V,22,0),f6(V,84940),t6(V,23,0),f6(V,89809),t6(V,24,0),f6(V,90220),t6(V,13,0),f6(V,87976),t6(V,25,0),f6(V,88348),t6(V,26,0),f6(V,66299),t6(V,27,0),f6(V,89897),t6(V,28,0),f6(V,85507),t6(V,29,0),f6(V,89664),t6(V,29,0),f6(V,58144),t6(V,30,0),f6(V,89289),t6(V,31,0),f6(V,88937),t6(V,32,0),f6(V,88703);return}function nK(V){V=V|0;var $=0;if(!(Z[730446]|0))return 0;if($=J8(V,1,0)|0,($|0)<-1114112)return 0;return Z[543058]=(Z[543058]|0)+($>>16<<1),0}function rK(V){if(V=V|0,(Z[730463]|0)>0)return 0;return Z[768033]=2,Z[768164]=0,Z[768163]=0,ZJ(V)|0,H4(),0}function hK(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;if($=q,q=q+2096|0,T=$+2080|0,X=$+2072|0,Y=$+2064|0,Q=$+1040|0,W=$,U=$+2084|0,Z[U>>2]=0,!(b8(V)|0))return q=$,0;S=a5(V,1)|0;do if((S+-3|0)>>>0>=2)if((S|0)==1){J=(j3(V,1)|0)==0,_=J?63941:63936,Z[U>>2]=x6(_)|0,K=_;break}else{Z[Y>>2]=PN(V,S)|0,a6(1708384,57971,Y)|0,Z[U>>2]=x6(1708384)|0,K=1708384;break}else K=w7(V,1,U)|0;while(0);if((b8(V)|0)<=1)return Y=XQ(K,0,1)|0,u9(Y)|0,r7(Z[8720]|0)|0,$6(Y),q=$,0;if(Y=w7(V,2,0)|0,!Y)return q=$,0;if((b8(V)|0)>2)P=j3(V,3)|0;else P=0;if(!(Q6(Y,58792)|0)){if(S=XQ(K,0,1)|0,LS(S)|0,(DS(S)|0)==0?(O2(-5)|0)==0:0)x7(59847,1500);if(_=Z[482628]|0,_|0)$6(_);return Z[482628]=S,q=$,0}if((b8(V)|0)>3)O=j3(V,4)|0;else O=0;if(sK(Y,Q,1023,O)|0)return Y4(59877)|0,q=$,0;if(O=Z[532265]|0,Y=(x6(K)|0)+O|0,Y>>>0>10485759)return Y4(59903)|0,q=$,0;Z[532265]=Y,Z[X>>2]=Q,a6(W,59940,X)|0;do if(!(u1(2063524,W)|0)){X=0,Y=0;Z:while(!0){switch(N[2063524+Y>>0]|0){case 0:break Z;case 124:{L=X+1|0;break}default:L=X}X=L,Y=Y+1|0}if((X|0)<=63){d1(2063524,W)|0;break}return Y4(59944)|0,q=$,0}while(0);if(W=NZ(Q,(P|0)==0?59966:95158)|0,!W)return x7(59972,1500),q=$,0;if(P=XQ(K,0,1)|0,Q=x6(K)|0,Q>>>0<(Z[U>>2]|0)>>>0)pR(P,W)|0;else Z[T>>2]=P,n1(W,59968,T)|0;return m9(W)|0,$6(P),q=$,0}function gK(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if($=q,q=q+32|0,T=$+24|0,X=$+16|0,Y=$+8|0,Q=$,W=a5(V,1)|0,z2(2),!(b8(V)|0))return j4(V,3144900)|0,q=$,1;switch(W|0){case 4:return QY(V,1),q=$,1;case 3:{do if((b8(V)|0)>1){if((a5(V,2)|0)==1)U=(j3(V,2)|0)!=0&1;else U=(J8(V,2,0)|0)>>16;if(!(U&1)){if(!(U&2))break;return Z[X>>2]=J8(V,1,0)|0,a6(1708384,93171,X)|0,j4(V,1708384)|0,q=$,1}if(S=J8(V,1,0)|0,!(U&2))Z[Y>>2]=S>>>16,Z[Y+4>>2]=S&65535,a6(1708384,59835,Y)|0;else Z[Q>>2]=S,a6(1708384,59828,Q)|0;return j4(V,1708384)|0,q=$,1}while(0);return j4(V,w7(V,1,0)|0)|0,q=$,1}case 1:return Q=(j3(V,1)|0)==0,j4(V,Q?63941:63936)|0,q=$,1;default:return Z[T>>2]=PN(V,W)|0,a6(1708384,57971,T)|0,j4(V,1708384)|0,q=$,1}return 0}function iK(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0;if($=q,q=q+6176|0,T=$+6160|0,X=$+6144|0,Y=$+5120|0,Q=$+4096|0,W=$+3072|0,U=$+2048|0,S=$+1024|0,J=$,_=$+6172|0,Z[_>>2]=255,(Z[730463]|0)>0)return K=0,q=$,K|0;if(qY()|0,(a5(V,1)|0)!=4)return K=0,q=$,K|0;if((b8(V)|0)<=1)if(!(Z[768034]|0))LK(),P=0;else P=0;else P=w7(V,2,0)|0;if((b8(V)|0)>2?(w7(V,3,0)|0)!=0:0)k7(3075101,w7(V,3,0)|0,1024)|0;else N[3075101]=0;if((b8(V)|0)<=0)return K=0,q=$,K|0;if(O=w7(V,1,_)|0,!O)return K=0,q=$,K|0;Z[481788]=0,V8(S,3065580)|0,V8(Y,O)|0;Z:do switch(N[O>>0]|0){case 95:{if((N[O+1>>0]|0)==95)L=41;else L=26;break}case 35:{if(Z[481785]=0,Z[481788]=0,!(Z[768034]|0))b5(59568,0,0);_=O+1|0,F=N[_>>0]|0;V:do if(F<<24>>24){z=F,H=_;$:while(!0){if(!((z+-48&255)<10|((z&-33)+-65&255)<26))switch(z<<24>>24){case 45:case 95:break;default:break $}if(H=H+1|0,z=N[H>>0]|0,!(z<<24>>24))break V}Y4(59583)|0;break Z}while(0);if(F=FJ()|0,Z[X>>2]=91870,Z[X+4>>2]=F,Z[X+8>>2]=_,a6(J,59600,X)|0,QO(J,dP(_)|0,0),Z[768036]=30,P|0?(x6(P)|0)>>>0>1:0)pU(S,P,1);return H4(),D9(V,0),K=1,q=$,K|0}default:L=26}while(0);Z:do if((L|0)==26){do if(!(Q6(O,59649)|0)){if(J=Z[533462]|0,!J){L=41;break Z}dX(J,59658),Z[533462]=0,V8(3065580,3144900)|0,b5(59669,x6(Z[Z[26136]>>2]|0)|0,0)}else{if(((Q6(O,58792)|0?Q6(O,58798)|0:0)?Q6(O,58807)|0:0)?Q6(O,58817)|0:0){if(iY(Y)|0){L=41;break Z}if(R4(3065580,Q,W,U),J=x6(Z[Z[26136]>>2]|0)|0,Z[T>>2]=W,Z[T+4>>2]=U,Z[T+8>>2]=J,a6(1708384,59727,T)|0,Z[768034]|0)break;d(1708384);break}d(59697);break Z}while(0);if(P|0?(x6(P)|0)>>>0>1:0)pU(S,P,0);if(EY(),_=Z[765622]|0,J=_+336|0,Z[_+324>>2]=0,Z[_+320>>2]=0,Z[J>>2]=0,Z[J+4>>2]=0,Z[J+8>>2]=0,Z[J+12>>2]=0,QW(2921764,Z[769129]|0,0,0,17152),z2(8388608),(Z[730464]|0)==0&(Z[768034]|0)!=0?(Z[768033]=1,Q6(3065580,S)|0):0)Z[768036]=30;return D9(V,1),K=1,q=$,K|0}while(0);if((L|0)==41?(Z[768034]|0)==0:0){switch(Z[766682]|0){case 1:{d(59750);break}case 2:{d(59781);break}default:d(59813)}Z[766682]=0}return D9(V,0),K=1,q=$,K|0}function tK(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if($=q,q=q+16|0,T=$+8|0,X=$,Y=w7(V,1,0)|0,Q=w7(V,2,0)|0,W=(J8(V,2,0)|0)>>16,U=(J8(V,3,0)|0)>>16,!Y)return q=$,0;if(!(Q6(Y,59225)|0))return GT(0),lK(Z[730458]|0)|0,x7(59231,1500),q=$,0;if(!(Q6(Y,59243)|0)){if(GT(0),lW(Z[730458]|0,W,U)|0)return x7(59250,1500),q=$,0;if(!U)return x7(59291,1500),q=$,0;else return x7(59279,1500),q=$,0}if(!(Q6(Y,59312)|0))return oX(),q=$,0;if(!(Q6(Y,59316)|0))return oX(),Z[481773]=1,q=$,0;if(!(Q6(Y,59327)|0)){if(Z[481773]=0,GT(0),V=fU(W,U)|0,S=Z[543081]|0,Z[X>>2]=V,Z[X+4>>2]=S,b1(59333,X)|0,(V|0)==9)return x7(59378,1500),q=$,0;if((V|0)>0)return x7(59407,1500),q=$,0;if(V=dU()|0,!U)return hJ(59449,1500,V,0),q=$,0;else return hJ(59429,1500,V,0),q=$,0}if(!(Q6(Y,59473)|0))return Jz(),q=$,0;if(!(Q6(Y,59483)|0))return nP(W),q=$,0;if(!(Q6(Y,59493)|0)){if(Z[482623]=1,y3(),W|0)return q=$,0;return Z[482625]=0,q=$,0}if(!(Q6(Y,59499)|0))return Z[482623]=3,y3(),Z[482625]=0,q=$,0;if(!(Q6(Y,85507)|0)){if(Z[730463]|0)return q=$,0;if(W=I8()|0,(W|0)<=((Z[532676]|0)+500|0))return q=$,0;return Z[730463]=1,Z[532676]=I8()|0,q=$,0}if(!((Q6(Y,59508)|0)!=0?(Q6(Y,59519)|0)!=0:0))J=37;if((J|0)==37?DK()|0:0)return uU(),H4(),q=$,0;if(!(Q6(Y,89664)|0))return Z[768033]=2,H4(),q=$,0;if(J=(Q|0)!=0,J&(Q6(Y,59527)|0)==0)return MW(Q),q=$,0;if(Q6(Y,59537)|0)return Z[T>>2]=Y,a6(1708384,59550,T)|0,x7(1708384,2000),q=$,0;if(J)k7(3144232,Q,63)|0;else N[3144232]=0;Q=3144232;Z:while(!0){switch(N[Q>>0]|0){case 0:break Z;case 46:{N[Q>>0]=0;break}default:}Q=Q+1|0}return q=$,0}function fK(V){return V=V|0,S5(V)|0}function dK(V){V=V|0;var $=0;if((b8(V)|0)==1?(a5(V,1)|0)==3:0)return Z[V+116>>2]=(J8(V,1,0)|0)>>16,$=0,$|0;return D9(V,Z[V+116>>2]|0),$=1,$|0}function bK(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if($=q,q=q+3936|0,T=$+3104|0,X=$+3088|0,Y=$+3080|0,Q=$+3072|0,W=$+2048|0,U=$+1024|0,S=$,J=$+3112|0,AN(3062500,S),(Z[730464]|0)==0&(Z[768034]|0)!=0)return q=$,0;if((b8(V)|0)>0?(_=w7(V,1,0)|0,_|0):0){if((x6(_)|0)>>>0>511)return q=$,0;if((N[_>>0]|0)==47)Z[Y>>2]=S,Z[Y+4>>2]=_+1,a6(W,59176,Y)|0;else Z[X>>2]=S,Z[X+4>>2]=3063524,Z[X+8>>2]=_,a6(W,59182,X)|0;if(AN(W,U),(N[S>>0]|0)!=46?(u1(U,S)|0)==0:0)return I0(59190,7),q=$,0;if(W=BX(U,95690,J,-1)|0,CX(J)|0,W|0)return I0(59201,7),q=$,0;if((N[S>>0]|0)==46)V8(3063524,U)|0;else V8(3063524,U+(x6(S)|0)|0)|0;if(!(Q6(3063524,95840)|0))N[3063524]=0;return Z[T>>2]=3063524,a6(1708384,59221,T)|0,I0(1708384,12),q=$,0}return Z[Q>>2]=3063524,a6(1708384,59161,Q)|0,I0(1708384,12),q=$,0}function eK(V){V=V|0;var $=0,T=0,X=0,Y=0;$=q,q=q+1024|0,T=$;do if(!((Z[730464]|0)==0&(Z[768034]|0)!=0)){if((b8(V)|0)<1){d(59116),X=0;break}if(Y=w7(V,1,0)|0,Y){if((x6(Y)|0)>>>0>511){G1(V,0),X=1;break}if(!(DR(Y)|0)){d(59129),X=0;break}else{w5(T,MT(Y)|0)|0,Q4(T)|0,X=0;break}}else X=0}else X=0;while(0);return q=$,X|0}function aK(V){if(V=V|0,(Z[730463]|0)>0)return 0;if((b8(V)|0)<=0){if(!(Z[768034]|0))N[3075101]=0,N[3074076]=0}else k7(3075101,w7(V,1,0)|0,1024)|0;return Z[730463]=3,H4(),0}function cK(V){V=V|0;var $=0;if(Z[785924]=17,N[2129072]=0,Z[768034]|0)return 0;if((b8(V)|0)>0?(a5(V,1)|0)==4:0){if($=w7(V,1,0)|0,(N[$+((x6($)|0)+-1)>>0]|0)==42)j[1064536]=42;return sY($),0}return sY(3144900),0}function ZP(V){return V=V|0,d(59098),v4(V),1}function VP(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if($=q,q=q+4112|0,T=$+4096|0,X=$+4104|0,Y=$+3072|0,Q=$+2048|0,W=$+1024|0,U=$,Z[X>>2]=255,S=(Z[730464]|0)==0,S&(Z[768034]|0)!=0)return d(58742),q=$,0;if(!S){S=0;do J=Z[26136]|0,f2(0,J,S,d8(2921764,Z[769129]|0,S)|0),S=S+1|0;while((S|0)!=17152)}if((b8(V)|0)>0?(a5(V,1)|0)==4:0){if(S=w7(V,1,X)|0,(x6(S)|0)>>>0>511)return d(58769),q=$,0;if(S|0?(X=N[S>>0]|0,X<<24>>24):0){if(!(Q6(S,58787)|0))return RT(),AL(Z[26136]|0),q=$,0;if(((Q6(S,58792)|0?Q6(S,58798)|0:0)?Q6(S,58807)|0:0)?Q6(S,58817)|0:0){V=X,J=S,_=X<<24>>24!=45&1;do _=V<<24>>24>122|(V<<24>>24==96|((V+-91&255)<4|((V+-58&255)<6|V<<24>>24<45&V<<24>>24!=32)))?0:_,J=J+1|0,V=N[J>>0]|0;while(V<<24>>24!=0);if(_|0?DR(S)|0:0){gY(MT(S)|0,Y);do if(d3(Y)|0){if(Z[785926]|0){Z[785926]=0;break}return d(59035),I0(59055,14),Z[785926]=1,q=$,0}while(0);if(!(fJ(Y)|0))return V8(3065580,Y)|0,R4(Y,Q,W,U),Z[T>>2]=W,Z[T+4>>2]=U,a6(1708384,59072,T)|0,d(1708384),fX(Y),q=$,0;else return d(59083),q=$,0}return I0(59001,9),I0(59017,14),d(S),q=$,0}if(RT(),!(Z[(Z[26136]|0)+44576>>2]|0))I0(58830,9),I0(58854,10);if(E5(58885,Q),((OL(Z[26136]|0,Q)|0)==0?(E5(58898,Y),(uK(Q,Y)|0)==0):0)?(tL(Y)|0)==0:0){if($Q(),Q=zT(Y)|0,Q|0)kY(0,Q),DS(Z[Q+12>>2]|0)|0,W3(Q);return d(58915),d(58944),q=$,0}return d(58973),q=$,0}}return FL(1),fX(3065580),q=$,0}function $P(V){V=V|0;var $=0;if((Z[730464]|0)==0&(Z[768034]|0)!=0)return 0;if((b8(V)|0)<=0)return d(3144900),I0(58371,12),d(3144900),d(58380),d(58413),d(58437),d(58461),d(58481),d(58514),d(58546),I0(58575,14),d(3144900),d(58608),I0(66477,12),d(3144900),d(58621),d(58653),d(58684),d(58713),d(3144900),0;if($=w7(V,1,0)|0,$|0?(a5(V,1)|0)==4:0)return FP($),0;return I0(58339,13),I0(60986,6),0}function TP(V){if(V=V|0,(Z[730464]|0)==0&(Z[768034]|0)!=0)return 0;if(aJ(58311)|0)return 0;if(sW()|0)mW(3065580,0)|0;return Z[768033]=3,Z[481712]=0,H4(),0}function XP(V){V=V|0;var $=0,T=0,X=0;V=Z[768156]|0,$=Z[768158]|0,T=Z[768157]|0,X=0;do f2(2921764,Z[769129]|0,X+24320|0,G[1792+X>>0]|0),X=X+1|0;while((X|0)!=128);return X=U8(0)|0,xY((I8()|0)+X|0),Z[768156]=V,Z[768158]=$,Z[768157]=T,z2(16),0}function YP(V){if(V=V|0,(Z[730464]|0)==0&(Z[768034]|0)!=0)return 0;if(aJ(58257)|0)return 0;if(sW()|0)mW(3065580,0)|0;return Z[543503]=1,u9(58287)|0,Z[481714]=0,H4(),0}function QP(V){V=V|0;var $=0,T=0,X=0;if(V=q,q=q+3088|0,$=V+3072|0,T=V+1024|0,X=V,(Z[730464]|0)==0&(Z[768034]|0)!=0)return q=V,0;if(R4(3065580,V+2048|0,T,X),N[3065580]|0){if(!(N[X>>0]|0))V8(X,91894)|0;Z[$>>2]=T,Z[$+4>>2]=X,a6(1708384,58149,$)|0,I0(1708384,14)}if(RT(),$=B2(131072)|0,H9(Z[Z[26136]>>2]|0,$)|0)return $6($),q=V,0;if(X=B2(131072)|0,T=wY($,X,x6($)|0)|0,$6(X),X=gU($)|0,bQ(58160,X,8192,(X|0)<8193?6:9),X=x6($)|0,bQ(58182,X,65535,X>>>0<65536?6:9),bQ(58203,T,15616,(T|0)<15617?6:9),sW()|0)b5(58224,0,0);if(EL()|0)b5(58240,0,0);return $6($),q=V,0}function WP(V){return V=V|0,0}function NP(V){return V=V|0,0}function UP(V){V=V|0,jK(),t6(V,33,0),f6(V,84158),o8(84158),t6(V,34,0),f6(V,83689),o8(83689),t6(V,35,0),f6(V,83949),o8(83949),t6(V,36,0),f6(V,60001),o8(60001),t6(V,37,0),f6(V,74402),o8(74402),t6(V,37,0),f6(V,60007),t6(V,38,0),f6(V,60014),t6(V,28,0),f6(V,85507),o8(85507),t6(V,39,0),f6(V,74633),o8(74633),t6(V,40,0),f6(V,74731),o8(74731),t6(V,41,0),f6(V,74882),o8(74882),t6(V,42,0),f6(V,89405),t6(V,23,0),f6(V,89809),o8(89809),t6(V,23,0),f6(V,89812),t6(V,20,0),f6(V,58135),t6(V,21,0),f6(V,58138),t6(V,43,0),f6(V,60027),t6(V,44,0),f6(V,60034),t6(V,45,0),f6(V,60048),t6(V,46,0),f6(V,60062),t6(V,47,0),f6(V,89997),t6(V,48,-3333),f6(V,78676),o8(78676),t6(V,49,-3333),f6(V,78671),o8(78671),t6(V,50,0),f6(V,74973),o8(74973),t6(V,10,0),f6(V,78703),o8(78703),t6(V,11,0),f6(V,79063),o8(79063),t6(V,12,0),f6(V,83106),o8(83106),t6(V,12,0),f6(V,58036),t6(V,10,0),f6(V,58019),t6(V,11,0),f6(V,58027),t6(V,51,0),f6(V,79394),o8(79394),t6(V,52,0),f6(V,83343),o8(83343),t6(V,53,0),f6(V,78058),o8(78058),t6(V,54,0),f6(V,78333),o8(78333),t6(V,55,-3333),f6(V,76333),o8(76333),t6(V,56,-3333),f6(V,76338),o8(76338),t6(V,57,0),f6(V,76629),o8(76629),t6(V,58,0),f6(V,76634),o8(76634),t6(V,59,0),f6(V,76504),o8(76504),t6(V,60,0),f6(V,76509),o8(76509),t6(V,61,0),f6(V,76192),o8(76192),t6(V,62,0),f6(V,77606),o8(77606),t6(V,63,0),f6(V,75322),o8(75322),t6(V,64,0),f6(V,75471),o8(75471),t6(V,65,0),f6(V,75842),o8(75842),t6(V,66,0),f6(V,60072),o8(60072),t6(V,66,0),f6(V,76792),o8(76792),t6(V,67,0),f6(V,77106),o8(77106),t6(V,68,0),f6(V,77111),o8(77111),t6(V,69,0),f6(V,77240),o8(77240),t6(V,70,0),f6(V,77245),o8(77245),t6(V,71,0),f6(V,78573),o8(78573),t6(V,72,0),f6(V,78578),o8(78578),t6(V,73,0),f6(V,92971),o8(92971),t6(V,74,0),f6(V,61208),o8(61208),t6(V,75,0),f6(V,87330),o8(87330),t6(V,76,0),f6(V,80215),o8(80215),t6(V,77,0),f6(V,80055),o8(80055),t6(V,78,0),f6(V,80435),o8(80435),t6(V,79,0),f6(V,80747),o8(80747),t6(V,80,0),f6(V,67173),o8(67173),t6(V,81,-3333),f6(V,67347),o8(67347),t6(V,82,-3333),f6(V,67705),o8(67705),t6(V,83,-3333),f6(V,67956),o8(67956),t6(V,84,-3333),f6(V,68038),o8(68038),t6(V,85,-3333),f6(V,91915),o8(91915),t6(V,86,-3333),f6(V,66699),o8(66699),t6(V,87,-3333),f6(V,66703),o8(66703),t6(V,88,-3333),f6(V,67130),o8(67130),t6(V,89,-3333),f6(V,66941),o8(66941),t6(V,90,-3333),f6(V,68243),o8(68243),t6(V,91,-3333),f6(V,67701),o8(67701),t6(V,92,-3333),f6(V,68499),o8(68499),t6(V,93,-3333),f6(V,68766),o8(68766),t6(V,94,-3333),f6(V,68967),o8(68967),t6(V,95,-3333),f6(V,69282),o8(69282),t6(V,96,-3333),f6(V,69406),o8(69406),t6(V,97,-3333),f6(V,69610),o8(69610),t6(V,98,-3333),f6(V,69761),o8(69761),t6(V,99,-3333),f6(V,69869),o8(69869),t6(V,100,-3333),f6(V,67506),o8(67506),t6(V,101,-3333),f6(V,67502),o8(67502),t6(V,102,0),f6(V,79501),o8(79501),t6(V,103,0),f6(V,79506),o8(79506),t6(V,104,0),f6(V,79512),o8(79512),t6(V,105,-3333),f6(V,79837),o8(79837),t6(V,106,-3333),f6(V,79842),o8(79842),t6(V,107,-3333),f6(V,79848),o8(79848),t6(V,13,0),f6(V,58044),t6(V,13,0),f6(V,87976),o8(87976),t6(V,25,0),f6(V,88348),t6(V,22,0),f6(V,84940),o8(84940),t6(V,9,0),f6(V,85112),o8(85112),t6(V,27,0),f6(V,89897),t6(V,29,0),f6(V,89664),t6(V,29,0),f6(V,58144),t6(V,30,0),f6(V,89289),t6(V,31,0),f6(V,88937),t6(V,32,0),f6(V,88703),t6(V,26,0),f6(V,66299),t6(V,108,0),f6(V,86374),o8(86374),t6(V,108,0),f6(V,86379),t6(V,24,0),f6(V,90220),o8(90220),t6(V,109,0),f6(V,90226),o8(90226),t6(V,110,0),f6(V,60080),o8(60080),t6(V,111,0),f6(V,80896),o8(80896),t6(V,14,0),f6(V,87562),o8(87562),t6(V,14,0),f6(V,58051),t6(V,112,0),f6(V,60087),t6(V,113,0),f6(V,60093),o8(60093),t6(V,114,0),f6(V,65569),o8(65569),t6(V,115,0),f6(V,66005),o8(66005),t6(V,116,0),f6(V,60108),t6(V,117,0),f6(V,81290),o8(81290),t6(V,118,0),f6(V,81675),o8(81675),t6(V,119,0),f6(V,81680),o8(81680),t6(V,120,0),f6(V,86931),o8(86931),t6(V,121,0),f6(V,81970),o8(81970),t6(V,122,0),f6(V,82341),o8(82341),t6(V,123,0),f6(V,82474),o8(82474),t6(V,124,0),f6(V,82770),o8(82770),t6(V,7,0),f6(V,57991),t6(V,8,0),f6(V,58001),t6(V,125,0),f6(V,92650),o8(92650),t6(V,4,0),f6(V,60118),o8(60118),t6(V,5,0),f6(V,60123),o8(60123),t6(V,126,0),f6(V,60129),o8(60129),t6(V,127,0),f6(V,60142),o8(60142),t6(V,128,0),f6(V,60155),o8(60155),t6(V,129,0),f6(V,60164),o8(60164),t6(V,130,0),f6(V,60171),o8(60171),t6(V,131,0),f6(V,60178),o8(60178),t6(V,132,0),f6(V,60185),o8(60185),t6(V,133,0),f6(V,85920),o8(85920),t6(V,18,0),f6(V,85911),o8(85911),t6(V,134,0),f6(V,85800),o8(85800),t6(V,135,0),f6(V,86273),o8(86273),t6(V,136,0),f6(V,73012),o8(73012),t6(V,137,0),f6(V,73019),o8(73019),t6(V,17,0),f6(V,73005),o8(73005),t6(V,138,0),f6(V,60192),t6(V,138,0),f6(V,60200),t6(V,139,0),f6(V,60206),t6(V,139,0),f6(V,60216),t6(V,140,0),f6(V,60228),t6(V,141,0),f6(V,60252),t6(V,142,0),f6(V,60268),t6(V,143,0),f6(V,60286),t6(V,144,0),f6(V,60307),t6(V,145,0),f6(V,60316),t6(V,146,0),f6(V,60326),t6(V,6,0),f6(V,57976);return}function JP(V){V=V|0;var $=0;if(zZ(),V=Z[785580]|0,(V|0)==30)zZ(),$=Z[785580]|0;else $=V;if(($|0)==15)zZ(),zZ();if(oY(),nX(),Z[730460]=0,CJ(),dQ(),Z[730445]=0,Z[482725]|0)Z[768033]=2,Z[768157]=0,Z[768156]=0,Z[768158]=0;if(!(Z[481773]|0))return H4(),0;return GT(0),KT(Z[730458]|0),H4(),0}function SP(V){return V=V|0,H4(),0}function RP(V){V=V|0;var $=0,T=0,X=0,Y=0;return $=d8(2921764,Z[769129]|0,24360)|0,T=((d8(2921764,Z[769129]|0,24361)|0)<<8)+$|0,$=d8(2921764,Z[769129]|0,24362)|0,X=((d8(2921764,Z[769129]|0,24363)|0)<<8)+$|0,$=J8(V,1,0)|0,Y=J8(V,2,0)|0,f2(2921764,Z[769129]|0,24360,$>>>16&255),f2(2921764,Z[769129]|0,24361,$>>24),f2(2921764,Z[769129]|0,24362,Y>>>16&255),f2(2921764,Z[769129]|0,24363,Y>>24),G1(V,T<<16),G1(V,X<<16),2}function _P(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0;if($=Z[768151]|0,T=Z[768152]|0,X=Z[768153]|0,Y=X-$|0,Q=Z[768154]|0,W=Q-T|0,(b8(V)|0)>3)U=(J8(V,1,0)|0)>>16,S=(J8(V,2,0)|0)>>16,J=(J8(V,3,0)|0)>>16,_=(J8(V,4,0)|0)>>16,K=J,P=U,O=S;else _=128,K=128,P=0,O=0;if((b8(V)|0)>4)if(S=(j3(V,5)|0)==0,Z[768151]=P,Z[768152]=O,U=P+K|0,Z[768153]=U,J=O+_|0,Z[768154]=J,S)L=J,F=P,z=O,H=U;else S=(P|0)<(X|0)?P:X,C=($|0)>(S|0)?$:S,Z[768151]=C,S=(O|0)<(Q|0)?O:Q,A=(T|0)>(S|0)?T:S,Z[768152]=A,S=(U|0)<(X|0)?U:X,X=($|0)>(S|0)?$:S,Z[768153]=X,S=(J|0)<(Q|0)?J:Q,y=X,k=A,m=C,I=(T|0)>(S|0)?T:S,u=7;else Z[768151]=P,Z[768152]=O,S=P+K|0,Z[768153]=S,y=S,k=O,m=P,I=O+_|0,u=7;if((u|0)==7)Z[768154]=I,L=I,F=m,z=k,H=y;return y=(F|0)<128?F:128,Z[768151]=(y|0)>0?y:0,y=(z|0)<128?z:128,Z[768152]=(y|0)>0?y:0,y=(H|0)<128?H:128,Z[768153]=(y|0)>0?y:0,y=(L|0)<128?L:128,Z[768154]=(y|0)>0?y:0,iX(),G1(V,$<<16),G1(V,T<<16),G1(V,Y<<16),G1(V,W<<16),4}function KP(V){V=V|0;var $=0;if((b8(V)|0)>0)$=(J8(V,1,0)|0)>>16;else $=0;return Z[768157]=0,Z[768158]=0,Z[768156]=0,Z[768152]=0,Z[768151]=0,Z[768154]=128,Z[768153]=128,iX(),V7(Z[730449]|0,0,0,127,127,$),z2(1024),0}function PP(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;if($=q,q=q+1040|0,T=$+1024|0,X=$,Y=w7(V,1,0)|0,(Z[730464]|0)==0&(Z[768034]|0)!=0)return q=$,0;if(Y){if(N[X>>0]=0,!(Q6(Y,60813)|0))E5(60027,X);if(!(Q6(Y,60821)|0))E5(3144900,X);if(!(Q6(Y,91377)|0))E5(91377,X);if(!(Q6(Y,93013)|0))_$(3144900,X);if(N[X>>0]|0)if(Y=X+((x6(X)|0)+-1)|0,(N[Y>>0]|0)==47)N[Y>>0]=0,Q=15;else Q=15}else Z[T>>2]=3062500,Z[T+4>>2]=3063524,a6(X,102731,T)|0,Q=15;if((Q|0)==15?N[X>>0]|0:0)return q=$,0;return I0(60828,14),I0(60854,6),I0(60865,6),q=$,0}function OP(V){V=V|0;var $=0,T=0,X=0;if(V=q,q=q+2064|0,$=V+2048|0,T=V+1024|0,X=V,(Z[730464]|0)==0&(Z[768034]|0)!=0)return q=V,0;return mW(3065580,0)|0,R4(3065580,0,T,X),Z[$>>2]=T,Z[$+4>>2]=X,a6(1708384,60798,$)|0,d(1708384),q=V,0}function GP(V){if(V=V|0,(Z[730464]|0)==0&(Z[768034]|0)!=0)return 0;return KO(),0}function MP(V){if(V=V|0,(Z[730464]|0)==0&(Z[768034]|0)!=0)return 0;return I0(60770,14),PJ(),PO(),iP(),0}function LP(V){if(V=V|0,(Z[730464]|0)==0&(Z[768034]|0)!=0)return 0;return _W(),Z[785925]=1,O3(),0}function DP(V){if(V=V|0,(Z[730464]|0)==0&(Z[768034]|0)!=0)return 0;return d(60729),d(60753),0}function zP(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;if($=V+112|0,T=Z[$>>2]|0,(T|0)<2)return 0;if(X=V+8|0,V=Z[X>>2]|0,Y=0-T|0,Q=V+(Y<<3)|0,(Z[V+(Y<<3)+4>>2]|0)!=3)if(Y=e2(Q)|0,V=Z[$>>2]|0,(V|0)>1)W=V,U=Y,S=6;else J=Z[768155]&255,_=0,K=Y;else W=T,U=Z[Q>>2]|0,S=6;if((S|0)==6){if(S=(Z[X>>2]|0)+(0-W<<3)+8|0,(Z[S+4>>2]|0)==3)P=W,O=Z[S>>2]|0;else W=e2(S)|0,P=Z[$>>2]|0,O=W;if((P|0)>=3){if(W=(Z[X>>2]|0)+(0-P<<3)+24+-8|0,(Z[W+4>>2]|0)==3)L=Z[W>>2]|0;else L=e2(W)|0;if(W=L>>>16&255,Z[768155]=W,!((L&268435456|0)==0|(Z[768176]|0)!=1)?(P=L>>>8&65536|L&65535,Z[768171]=P,(L&33554432|0)!=0):0)Z[768171]=P|131072,J=W,_=O,K=U;else J=W,_=O,K=U}else J=Z[768155]&255,_=O,K=U}if(U=Z[3072412+((J&15)<<2)>>2]&15,O=Z[768171]|0,!(O&262144))F=Z[3072412+(J>>>4<<2)>>2]<<4&240|U;else F=Z[3072540+(U<<2)>>2]|0;return qM(Z[730449]|0,K-(Z[768163]<<16)>>16,_-(Z[768164]<<16)>>16,F,O),0}function f2(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if(Y=T&65535,Q=Y>>>0<24320,(Y+-17152|0)>>>0<7168&(Z[730463]|0)>0)return;if(W=X&255,U=W>>>0>127?X|-256:W,S=(V|0)==0,!S)N[V+154756+Y>>0]=X;if(T&32768|0)return;if(Y>>>0<4096){V=$+8|0,J=Y>>>6,_=T<<1&126,N[(Z[(Z[(Z[V>>2]|0)+16>>2]|0)+(J<<2)>>2]|0)+_>>0]=X&15,N[(Z[(Z[(Z[V>>2]|0)+16>>2]|0)+(J<<2)>>2]|0)+(_|1)>>0]=X>>>4&15;return}if(Y>>>0<8192){_=$+8|0,J=Y>>>6,V=T<<1&126,N[(Z[(Z[(Z[_>>2]|0)+16>>2]|0)+(J<<2)>>2]|0)+V>>0]=X&15,N[(Z[(Z[(Z[_>>2]|0)+16>>2]|0)+(J<<2)>>2]|0)+(V|1)>>0]=X>>>4&15,N[(Z[(Z[(Z[$+12>>2]|0)+16>>2]|0)+(Y>>>7<<2)>>2]|0)+(T&127)>>0]=X;return}if(Y>>>0<12288){V=Y+-8192|0,N[(Z[(Z[(Z[$+12>>2]|0)+16>>2]|0)+(V>>7<<2)>>2]|0)+(V&127)>>0]=X;return}if(Y>>>0<12544){Z[$+43552+(Y+-12288<<2)>>2]=W;return}if(Y>>>0<12800){if(V=Y+-12544|0,J=(V|0)/4|0,_=V&3,Z[$+42256+(J<<4)+(_<<2)>>2]=X&127,V=1<<_,_=$+43280+(J<<2)|0,J=Z[_>>2]|0,Z[_>>2]=J&~V,!(X&128))return;Z[_>>2]=J|V;return}if(Y>>>0<17152){if(V=Y+-12800|0,J=(V|0)/68|0,_=V-(J*68|0)|0,(_|0)<64)if(V=(_|0)/2|0,!(_&1)){Z[$+16+(J*660|0)+20+(V*20|0)>>2]=X&63,K=$+16+(J*660|0)+20+(V*20|0)+4|0,Z[K>>2]=Z[K>>2]&4|X>>>6&3;return}else{K=$+16+(J*660|0)+20+(V*20|0)+4|0,Z[K>>2]=Z[K>>2]&3|X<<2&4,Z[$+16+(J*660|0)+20+(V*20|0)+8>>2]=X>>>1&7,Z[$+16+(J*660|0)+20+(V*20|0)+12>>2]=X>>>4&7,Z[$+16+(J*660|0)+20+(V*20|0)+16>>2]=X&128;return}switch(_|0){case 64:{Z[$+16+(J*660|0)+4>>2]=X&1,Z[$+16+(J*660|0)>>2]=X&254;return}case 65:{Z[$+16+(J*660|0)+8>>2]=W;return}case 66:{Z[$+16+(J*660|0)+12>>2]=W;return}case 67:{Z[$+16+(J*660|0)+16>>2]=W;return}default:return}}if(S|Y>>>0<24064)return;if(Q){if(Q=Y+-24064|0,S=3067756+(((Q|0)/4|0)<<2)|0,J=Z[S>>2]|0,$=Q<<3&24,Q=J&~(255<<$)|W<<$,Z[S>>2]=Q,(J|0)==(Q|0))return;Z[785589]=1;return}if(Y>>>0>=24448)if(Y>>>0<24576){OW(Y+-24448|0,W);return}else{Q=Y+-24576|0,J=Q>>6,S=Q<<1&126,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(J<<2)>>2]|0)+S>>0]=X&15,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(J<<2)>>2]|0)+(S|1)>>0]=X>>>4&15;return}if(S=Y+-24320|0,Y>>>0<24336){Z[3072412+(S<<2)>>2]=W;return}if(Y>>>0<24352){if(Z[3072476+(Y+-24336<<2)>>2]=W,!(X&128))return;vW();return}if(Y>>>0<24356){Z[3072604+(Y+-24352<<2)>>2]=W,iX();return}do switch((T&65535)<<16>>16){case 24356:{Z[768158]=W;return}case 24357:{Z[768155]=W;return}case 24358:{Z[768156]=W;return}case 24359:{Z[768157]=W;return}case 24360:{Z[768163]=Z[768163]&-256|W;return}case 24361:{Z[768163]=Z[768163]&255|U<<8;return}case 24362:{Z[768164]=Z[768164]&-256|W;return}case 24363:{Z[768164]=Z[768164]&255|U<<8;return}case 24364:{Z[768166]=W;return}case 24369:{Z[768171]=Z[768171]&-256|W;return}case 24370:{Z[768171]=Z[768171]&-65281|W<<8;return}case 24371:{Z[768171]=Z[768171]&-16711681|W<<16;return}case 24372:{Z[768176]=W;return}case 24373:{Z[768174]=W;return}case 24380:{Z[768172]=Z[768172]&-256|W;return}case 24381:{Z[768172]=Z[768172]&255|U<<8;return}case 24382:{Z[768173]=Z[768173]&-256|W;return}case 24383:{Z[768173]=Z[768173]&255|U<<8;return}case 24384:{Z[768514]=W;return}case 24385:{Z[768515]=W;return}case 24386:{Z[768516]=W;return}case 24387:{Z[768517]=W;return}default:switch((T&65532)<<16>>16){case 24388:{J=(Y<<3)+-195104|0,HY(0,(UX(0)|0)&~(255<>>0<8){Z[3072716+(J<<5)>>2]=X&1,Z[3072716+(J<<5)+4>>2]=X>>>1&1,Z[3072716+(J<<5)+8>>2]=X>>>2&1,Z[3072716+(J<<5)+12>>2]=X>>>3&1,Z[3072716+(J<<5)+16>>2]=X>>>4&1,Z[3072716+(J<<5)+20>>2]=X>>>5&1;return}switch(S|1|0){case 85:{tX(Z[786057]|0);return}case 87:{pK();return}default:{if((S|0)==94){Z[768167]=W,Z[768168]=X&15,Z[768169]=X>>>4&15;return}if((T&65520|0)!=24416)return;Z[3072540+(Y+-24416<<2)>>2]=W;return}}}}}while(0)}function d8(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if(X=T&65535,Y=(V|0)==0,Y)Q=0;else Q=G[V+154756+X>>0]|0;Z:do if(X>>>0>=8192){if(X>>>0<12288){V=X+-8192|0,W=G[(Z[(Z[(Z[$+12>>2]|0)+16>>2]|0)+(V>>7<<2)>>2]|0)+(V&127)>>0]|0;break}if(X>>>0<12544){W=Z[$+43552+(X+-12288<<2)>>2]|0;break}if(X>>>0<12800){V=X+-12544|0,U=(V|0)/4|0,S=V&3,V=Z[$+42256+(U<<4)+(S<<2)>>2]&127,W=(Z[$+43280+(U<<2)>>2]&1<>>0<17152){if(V=X+-12800|0,S=(V|0)/68|0,U=V-(S*68|0)|0,(U|0)<64)if(V=(U|0)/2|0,!(U&1)){W=Z[$+16+(S*660|0)+20+(V*20|0)+4>>2]<<6&192|Z[$+16+(S*660|0)+20+(V*20|0)>>2];break}else{W=Z[$+16+(S*660|0)+20+(V*20|0)+8>>2]<<1&14|(Z[$+16+(S*660|0)+20+(V*20|0)+4>>2]|0)>>>2&1|Z[$+16+(S*660|0)+20+(V*20|0)+12>>2]<<4&112|Z[$+16+(S*660|0)+20+(V*20|0)+16>>2]&128;break}switch(U|0){case 64:{W=Z[$+16+(S*660|0)>>2]&254|Z[$+16+(S*660|0)+4>>2]&1;break Z}case 65:{W=Z[$+16+(S*660|0)+8>>2]|0;break Z}case 66:{W=Z[$+16+(S*660|0)+12>>2]|0;break Z}case 67:{W=Z[$+16+(S*660|0)+16>>2]|0;break Z}default:{W=Q;break Z}}}if(Y)return J=0,J|0;if(X>>>0<24064)W=Q;else{if(X>>>0<24320){S=X+-24064|0,W=(Z[3067756+(((S|0)/4|0)<<2)>>2]|0)>>>(S<<3&24)&255;break}if(X>>>0>=24448){if(X>>>0<24576){W=_O(X+-24448|0)|0;break}if(X>>>0>=32768){W=Q;break}S=X+-24576|0,U=Z[(Z[(Z[730449]|0)+16>>2]|0)+(S>>6<<2)>>2]|0,V=S<<1&126,W=(N[U+(V|1)>>0]<<4&255|N[U+V>>0]&15)&255;break}V=X+-24320|0;V:do if(X>>>0<24336)_=Z[3072412+(V<<2)>>2]|0;else{if(X>>>0<24352){_=Z[3072476+(X+-24336<<2)>>2]|0;break}if(X>>>0<24356){_=Z[3072604+(X+-24352<<2)>>2]|0;break}do switch((T&65535)<<16>>16){case 24356:{_=Z[768158]|0;break V}case 24357:{_=Z[768155]|0;break V}case 24358:{_=Z[768156]|0;break V}case 24359:{_=Z[768157]|0;break V}case 24360:{_=Z[768163]&255;break V}case 24361:{_=Z[768163]>>8;break V}case 24362:{_=Z[768164]&255;break V}case 24363:{_=Z[768164]>>8;break V}case 24364:{_=Z[768166]|0;break V}case 24369:{_=Z[768171]&255;break V}case 24370:{_=(Z[768171]|0)>>>8&255;break V}case 24371:{_=(Z[768171]|0)>>>16&255;break V}case 24373:{_=Z[768174]&255;break V}case 24380:{_=Z[768172]&255;break V}case 24381:{_=Z[768172]>>8;break V}case 24382:{_=Z[768173]&255;break V}case 24383:{_=Z[768173]>>8;break V}case 24384:{_=Z[768514]|0;break V}case 24385:{_=Z[768515]|0;break V}case 24386:{_=Z[768516]|0;break V}case 24387:{_=Z[768517]|0;break V}default:switch((T&65532)<<16>>16){case 24388:{_=(UX(0)|0)>>>((X<<3)+-195104|0)&255;break V}case 24392:{_=(UX(1)|0)>>>((X<<3)+-195136|0)&255;break V}default:{if(U=X+-24396|0,U>>>0<8){_=((Z[3072716+(U<<5)+28>>2]|0)==0?0:128)|(((Z[3072716+(U<<5)+24>>2]|0)==0?0:64)|(((Z[3072716+(U<<5)+20>>2]|0)==0?0:32)|(((Z[3072716+(U<<5)+16>>2]|0)==0?0:16)|(((Z[3072716+(U<<5)+12>>2]|0)==0?0:8)|(((Z[3072716+(U<<5)+8>>2]|0)==0?0:4)|(((Z[3072716+(U<<5)+4>>2]|0)==0?0:2)|(Z[3072716+(U<<5)>>2]|0)!=0))))))|N[3076520+X>>0]&-64&255;break V}if((V|0)==94){_=Z[768167]&255;break V}if((T&65520|0)!=24416){_=Q;break V}_=Z[3072540+(X+-24416<<2)>>2]|0;break V}}}while(0)}while(0);W=_&255}}else V=Z[(Z[(Z[$+8>>2]|0)+16>>2]|0)+(X>>>6<<2)>>2]|0,U=T<<1&126,W=((G[V+(U|1)>>0]|0)<<4)+(G[V+U>>0]|0)|0;while(0);return J=W&255,J|0}function VJ(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0;if((Y|0)>32767)return;if(Q=X&65535,W=T&65535,U=N[3136+(X>>>8&255)>>0]|0,X=U<<24>>24,S=Q+Y|0,J=N[3136+(T>>>8&255)>>0]|0,T=J<<24>>24,_=W+Y|0,K=(W|0)>=(S|0),P=(_|0)<=(Q|0),O=P|K,!(J<<24>>24==(N[3136+((_+65535|0)>>>8&255)>>0]|0)&(U<<24>>24==(N[3136+((S+65535|0)>>>8&255)>>0]|0)&(U<<24>>24!=0&J<<24>>24!=0))))if(S=(Y|0)>0,W>>>0>>0){if(!S)return;L=0;do f2(V,$,L+W|0,d8(V,$,L+Q|0)|0),L=L+1|0;while((L|0)!=(Y|0));return}else{if(!S)return;S=Y;do L=S,S=S+-1|0,f2(V,$,S+W|0,d8(V,$,S+Q|0)|0);while((L|0)>1);return}switch(X|0){case 1:{F=(Z[(Z[(Z[$+8>>2]|0)+16>>2]|0)+(Q>>>6<<2)>>2]|0)+(Q<<1&126)|0;break}case 2:{S=Q+-24576|0,F=(Z[(Z[(Z[730449]|0)+16>>2]|0)+(S>>6<<2)>>2]|0)+(S<<1&126)|0;break}case 8:{S=Q+-8192|0,F=(Z[(Z[(Z[$+12>>2]|0)+16>>2]|0)+(S>>7<<2)>>2]|0)+(S&127)|0;break}default:F=V+154756+Q|0}switch(T|0){case 1:{z=(Z[(Z[(Z[$+8>>2]|0)+16>>2]|0)+(W>>>6<<2)>>2]|0)+(W<<1&126)|0;break}case 2:{S=W+-24576|0,z=(Z[(Z[(Z[730449]|0)+16>>2]|0)+(S>>6<<2)>>2]|0)+(S<<1&126)|0;break}case 8:{S=W+-8192|0,z=(Z[(Z[(Z[$+12>>2]|0)+16>>2]|0)+(S>>7<<2)>>2]|0)+(S&127)|0;break}default:z=V+154756+W|0}if(V=X&8,Q>>>0>>0&((P|K)^1)){if(K=Y<<(V>>>3^1),K|0){P=K;do P=P+-1|0,N[z+P>>0]=N[F+P>>0]|0;while((P|0)!=0)}}else{P=(T&8|0)!=0;do if((U&8&J)<<24>>24){if(O){q6(z|0,F|0,Y|0)|0,H=z,C=F;break}if((Y|0)>0){T=z+Y|0,K=z,Q=0,X=F;while(!0)if(N[K>>0]=N[X>>0]|0,Q=Q+1|0,(Q|0)==(Y|0))break;else K=K+1|0,X=X+1|0;H=T,C=F+Y|0}else H=z,C=F}else H=z,C=F;while(0);do if(!((J|U)&8)){if(F=Y<<1,O){q6(H|0,C|0,F|0)|0,A=H,y=C,k=31;break}if((Y|0)<=0){m=0,I=H,u=C,g=(V|0)==0;break}z=H,X=0,K=C;while(!0)if(N[z>>0]=N[K>>0]|0,Q=z+1|0,S=K+1|0,X=X+1|0,(X|0)>=(F|0)){A=Q,y=S,k=31;break}else z=Q,K=S}else A=H,y=C,k=31;while(0);if((k|0)==31)if(k=(V|0)==0,V=(Y|0)>0,V&((k|P)^1)){C=A+(Y<<1)|0,H=A,O=0,U=y;while(!0)if(N[H>>0]=N[U>>0]&15,N[H+1>>0]=(G[U>>0]|0)>>>4,O=O+1|0,(O|0)==(Y|0))break;else H=H+2|0,U=U+1|0;m=V,I=C,u=y+Y|0,g=k}else m=V,I=A,u=y,g=k;if(g&P&m){m=I,I=0,P=u;while(!0)if(N[m>>0]=(N[P+1>>0]<<4&255)+(G[P>>0]|0),I=I+1|0,(I|0)==(Y|0))break;else m=m+1|0,P=P+2|0}}if(P=W+-4096|0,W=(P|0)<4096?P:4096,P=(W|0)>0?W:0,W=(_|0)<4096?0:(_|0)<8192?_+-4096|0:4096,!((W|0)>0&(P|0)<4096&(P|0)<(W|0)))return;_=(Z[(Z[$+12>>2]|0)+12>>2]|0)+(P+4096)|0,m=P,Y=(Z[(Z[$+8>>2]|0)+12>>2]|0)+((P<<1)+8192)|0;while(!0)if(N[_>>0]=N[Y+1>>0]<<4&255|N[Y>>0]&15,m=m+1|0,(m|0)>=(W|0))break;else _=_+1|0,Y=Y+2|0;return}function XW(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if(Q=T&65535,T=X&65535,X=(Y|0)>0,Q>>>0>>0){if(!X)return;W=Q,U=Y,S=T;while(!0)if(J=256-(S&255)|0,_=256-(W&255)|0,K=J>>>0<_>>>0?J:_,_=(K|0)<(U|0)?K:U,VJ(V,$,W,S,_),U=U-_|0,(U|0)<=0)break;else W=_+W|0,S=_+S|0;return}else{if(!X)return;X=Q+Y|0,Q=Y,S=T+Y|0;do Y=(S+255&255)+1|0,T=(X+255&255)+1|0,W=Y>>>0>>0?Y:T,T=(W|0)<(Q|0)?W:Q,S=S-T|0,X=X-T|0,VJ(V,$,X,S,T),Q=Q-T|0;while((Q|0)>0);return}}function YW(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0;if((Y|0)<=0)return;Q=X&255,W=$+8|0,U=$+12|0,S=X&15,J=X>>>4&15,_=T&65535,T=Y;while(!0){Y=256-(_&255)|0,K=(Y|0)<(T|0)?Y:T;Z:do if((K|0)<=32767){if(Y=_&65535,P=N[3136+(_>>>8&255)>>0]|0,O=P<<24>>24,L=K+Y|0,!(P<<24>>24)){if((K|0)<=0)break;P=0;while(!0)if(f2(V,$,P+Y|0,X),P=P+1|0,(P|0)==(K|0))break Z}switch(O|0){case 1:{F=(Z[(Z[W>>2]|0)+16>>2]|0)+(Y>>>6<<2)|0,z=Y,H=11;break}case 2:{P=Y+-24576|0,F=(Z[(Z[730449]|0)+16>>2]|0)+(P>>6<<2)|0,z=P,H=11;break}case 8:{P=Y+-8192|0,C=(Z[(Z[(Z[U>>2]|0)+16>>2]|0)+(P>>7<<2)>>2]|0)+(P&127)|0,H=10;break}default:if(P=V+154756+Y|0,!(O&8))A=P,H=12;else C=P,H=10}if((H|0)==10)H=0,x8(C|0,Q|0,K|0)|0;else if((H|0)==11)H=0,A=(Z[F>>2]|0)+(z<<1&126)|0,H=12;if((H|0)==12?(H=0,(K|0)>0):0){P=A,y=0;while(!0)if(N[P>>0]=S,N[P+1>>0]=J,y=y+1|0,(y|0)==(K|0))break;else P=P+2|0}if(P=Y+-4096|0,y=(P|0)<4096?P:4096,P=(y|0)>0?y:0,y=(L|0)<4096?0:(L|0)<8192?L+-4096|0:4096,(P|0)<4096&(y|0)>0)x8((Z[(Z[U>>2]|0)+12>>2]|0)+(P+4096)|0,Q|0,y-P|0)|0}while(0);if(T=T-K|0,(T|0)<=0)break;else _=K+_|0}return}function QW(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0;if((Y|0)>32767)return;if((Y|0)>0){Q=0;do f2(V,$,Q+T|0,d8(0,Z[26136]|0,Q+X|0)|0),Q=Q+1|0;while((Q|0)!=(Y|0))}if(!(N[3071088]|0))return;N[3071088]=0,Y=30-(Z[768037]|0)|0,Q=(Y|0)<30?Y:30,Z[768036]=(Q|0)>2?Q:2,Z[768037]=150;return}function $J(V){V=V|0;var $=0,T=0;return $=V>>16,V=d8(2921764,Z[769129]|0,$)|0,T=((d8(2921764,Z[769129]|0,$+1|0)|0)<<8)+V|0,V=T+((d8(2921764,Z[769129]|0,$+2|0)|0)<<16)|0,V+((d8(2921764,Z[769129]|0,$+3|0)|0)<<24)|0}function TJ(V){V=V|0;var $=0;return $=V>>16,V=(d8(2921764,Z[769129]|0,$)|0)<<16,((d8(2921764,Z[769129]|0,$+1|0)|0)<<24)+V|0}function XJ(V){return V=V|0,(d8(2921764,Z[769129]|0,V>>16)|0)<<16|0}function FP(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0,j8=0,C6=0,o6=0,u6=0,p8=0,i8=0,q8=0,m8=0,l8=0,w8=0,U2=0,K8=0,A8=0,t8=0,_2=0,Y2=0,Q2=0,F2=0,w2=0,G2=0,K2=0,Z2=0,o2=0,u8=0,L2=0,N2=0,u2=0,Z1=0,I2=0,j2=0,Q1=0,p2=0,r2=0,W1=0,x2=0,a2=0,E2=0,d2=0,b2=0,P2=0,V1=0,X2=0,$1=0,P1=0,v2=0,T1=0,_1=0,l2=0,c1=0,$7=0,D1=0,n2=0,z1=0,N1=0,l1=0,A1=0,y1=0,B1=0,Z7=0,S1=0,q7=0,g2=0,T7=0,F7=0,N7=0,f8=0,C5=0,i1=0,c2=0,D2=0,X1=0,H2=0,i2=0,e8=0,t2=0,t1=0;$=q,q=q+304|0,T=$+280|0,X=$+272|0,Y=$+264|0,Q=$+256|0,W=$,U=$+284|0,S=Z[730449]|0;Z:do if(!V){J=Z[3062424+(Z[765624]<<2)>>2]|0,_=Z[J>>2]|0,K=x6(_)|0,P=Z[J+336>>2]|0,O=VN(N[_+P>>0]|0)|0;V:do if((P|0)>0){_=P;while(!0){if(L=_+-1|0,(VN(N[(Z[J>>2]|0)+L>>0]|0)|0)!=(O|0)){F=_;break V}if((_|0)>1)_=L;else{F=L;break}}}else F=P;while(0);_=P+1|0;V:do if((_|0)<(K|0)){L=_;while(!0){if((VN(N[(Z[J>>2]|0)+L>>0]|0)|0)!=(O|0)){z=L;break V}if(H=L+1|0,(H|0)<(K|0))L=H;else{z=H;break}}}else z=_;while(0);switch(x8(W|0,0,256)|0,_=z-F|0,q6(W|0,(Z[J>>2]|0)+F|0,((_|0)<255?_:255)|0)|0,N[W>>0]|0){case 10:case 0:break;default:{C=1,A=W;break Z}}x7(60926,1500),q=$;return}else C=0,A=V;while(0);if(uY(),(N[A>>0]|0)==60?(N[A+((x6(A)|0)+-1)>>0]|0)==62:0){I0(60953,13),d(60986),q=$;return}if((Q6(A,60995)|0)!=0?(Q6(A,61001)|0)!=0:0)y=0;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(61008,14),d(3144900),d(61024),d(61055),d(61088),d(3144900),d(61113),d(61145),d(61178),d(3144900),y=1}if((Q6(A,61202)|0)!=0?(Q6(A,61208)|0)!=0:0)k=y;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(61212,6),d(3144900),I0(61234,12),k=1}if(!(Q6(A,61244)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);d(61250),d(61276),d(3144900),I0(61304,6),d(3144900),I0(61326,12),m=1}else m=k;if((Q6(A,61335)|0)!=0?(Q6(A,61342)|0)!=0:0)I=m;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(61350,14),d(3144900),d(61360),d(61390),d(61421),d(3144900),d(61449),d(61464),d(61487),d(61507),d(61536),d(61556),d(61573),d(3144900),I0(61599,6),d(3144900),I0(61618,12),I=1}if(!(Q6(A,95830)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(61648,14),d(3144900),d(61669),d(61701),d(61730),d(3144900),I0(61754,7),d(61780),d(3144900),I0(61783,7),I0(61795,7),d(95766),d(3144900),I0(61801,12),u=1}else u=I;if((Q6(A,61826)|0)!=0?(Q6(A,61832)|0)!=0:0)g=u;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(61839,14),d(3144900),d(61848),d(61879),d(61912),d(61943),d(61975),d(62004),d(3144900),I0(62033,7),I0(62065,7),I0(62088,7),I0(62118,7),I0(62146,7),I0(62175,7),d(3144900),I0(62208,6),d(3144900),I0(62226,12),g=1}if(!(Q6(A,62257)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(62261,14),d(3144900),d(62278),d(62302),d(62335),d(3144900),d(62344),d(62376),d(62401),d(3144900),d(62432),d(62465),d(62498),d(62524),d(62551),d(3144900),I0(62582,6),d(3144900),I0(62597,12),i=1}else i=g;if((Q6(A,62626)|0)!=0?(Q6(A,62635)|0)!=0:0)t=i;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(62642,14),d(3144900),d(62670),d(62701),d(62730),d(3144900),I0(62749,7),I0(62768,7),I0(62790,7),I0(62821,7),I0(3144900,7),I0(62825,7),I0(62842,7),d(62853),I0(62856,7),d(95766),t=1}if(!(Q6(A,62867)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(62873,14),d(3144900),d(62890),d(62921),d(3144900),I0(62940,7),I0(62946,7),I0(62961,7),I0(62972,7),I0(62821,7),d(62984),d(95766),d(95768),Y0=1}else Y0=t;if(!(Q6(A,62999)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(63002,14),d(3144900),d(63016),d(63044),d(63071),d(3144900),X0=1}else X0=Y0;if(!(Q6(A,62821)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(63082,14),d(3144900),d(63097),d(63126),d(63155),d(3144900),T0=1}else T0=X0;if((Q6(A,63188)|0)!=0?(Q6(A,63195)|0)!=0:0)Z0=T0;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(63201,14),d(3144900),d(63227),d(63256),d(63286),d(3144900),d(63304),d(63333),d(63364),d(3144900),I0(62940,7),I0(63188,7),I0(62961,7),I0(62972,7),I0(63391,7),d(62984),d(95766),d(95768),Z0=1}if((((Q6(A,63404)|0)!=0?(Q6(A,63407)|0)!=0:0)?(Q6(A,63412)|0)!=0:0)?(Q6(A,63419)|0)!=0:0)W0=Z0;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(63424,14),d(3144900),d(63449),d(63480),d(63513),d(3144900),I0(63523,7),I0(63537,7),I0(62821,7),d(3144900),I0(63569,7),I0(63583,7),I0(63611,7),I0(63629,7),I0(63419,7),I0(63652,7),I0(62821,7),d(3144900),I0(63678,7),W0=1}if((Q6(A,63707)|0)!=0?(Q6(A,63711)|0)!=0:0)O0=W0;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(63714,14),d(3144900),d(63726),d(3144900),I0(63758,7),I0(62961,7),I0(62821,7),d(63771),d(3144900),d(63792),d(3144900),I0(63818,7),d(63846),d(3144900),d(63865),d(63895),d(3144900),I0(63916,12),O0=1}if((((Q6(A,63936)|0)!=0?(Q6(A,63941)|0)!=0:0)?(Q6(A,63947)|0)!=0:0)?(Q6(A,63951)|0)!=0:0)y0=O0;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(63959,14),d(3144900),d(63976),d(64007),d(64037),d(64068),d(64096),d(3144900),I0(64125,7),d(63947),I0(64156,7),d(63941),d(3144900),d(64172),d(64204),d(3144900),I0(61783,7),I0(64237,7),y0=1}if((Q6(A,92650)|0)!=0?(Q6(A,64267)|0)!=0:0)E0=y0;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(64273,14),d(3144900),d(64283),d(64313),d(3144900),d(64326),d(64331),d(64340),d(64348),d(64356),d(64366),d(3144900),I0(64373,6),d(3144900),I0(64385,12),E0=1}if(!(Q6(A,64408)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(64414,14),d(3144900),d(64431),d(64460),d(64488),d(64515),d(3144900),I0(64542,7),I0(64558,7),I0(64588,7),I0(64600,7),I0(62821,7),d(3144900),I0(64611,7),I0(64626,7),H0=1}else H0=E0;do if(Q6(A,64659)|0){if(!(Q6(A,64661)|0)){D0=102;break}if(!(Q6(A,64663)|0)){D0=102;break}if(Q6(A,64666)|0)_0=H0,F0=0;else D0=102}else D0=102;while(0);do if((D0|0)==102){if(!C){_0=1,F0=1;break}Z[768157]=0,Z[768156]=0,R8(Z[730449]|0),_0=1,F0=1}while(0);do if(Q6(A,64669)|0){if(!(Q6(A,64672)|0)){D0=107;break}if(Q6(A,64675)|0)k0=_0,m0=F0;else D0=107}else D0=107;while(0);do if((D0|0)==107){if(!C){k0=1,m0=1;break}Z[768157]=0,Z[768156]=0,R8(Z[730449]|0),k0=1,m0=1}while(0);do if(Q6(A,64678)|0){if(!(Q6(A,64682)|0)){D0=112;break}if(Q6(A,64685)|0)B0=k0,g0=m0;else D0=112}else D0=112;while(0);do if((D0|0)==112){if(!C){B0=1,g0=1;break}Z[768157]=0,Z[768156]=0,R8(Z[730449]|0),B0=1,g0=1}while(0);do if(Q6(A,64689)|0){if(!g0){o0=B0;break}if(!C)D0=120;else D0=119}else{if(!C){D0=120;break}Z[768157]=0,Z[768156]=0,R8(Z[730449]|0),D0=119}while(0);if((D0|0)==119)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0),D0=120;if((D0|0)==120)I0(64695,14),d(3144900),d(64724),d(3144900),d(64751),d(3144900),I0(64768,7),I0(64793,7),I0(64819,7),I0(64844,7),d(3144900),d(64869),d(3144900),d(64894),d(3144900),d(64916),o0=1;if(!(Q6(A,95818)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(64940,14),d(3144900),d(64956),d(64981),d(3144900),I0(65003,7),I0(65013,7),d(95776),h0=1}else h0=o0;if((Q6(A,65018)|0)!=0?(Q6(A,65023)|0)!=0:0)C0=h0;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(65027,6),d(3144900),I0(65057,12),I0(65081,12),I0(65104,12),d(3144900),I0(61350,6),d(3144900),I0(61618,12),d(3144900),I0(61839,6),d(3144900),I0(62226,12),C0=1}if(!(Q6(A,61208)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(65123,14),d(3144900),d(65154),d(3144900),d(65173),d(65206),d(65237),d(3144900),d(65263),d(65295),d(65326),u0=1}else u0=C0;if(!(Q6(A,92971)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(65359,14),d(3144900),d(65387),d(65420),d(3144900),d(65451),d(65484),d(65516),d(65547),p0=1}else p0=u0;if(!(Q6(A,65569)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(65573,14),d(3144900),d(65590),d(65623),d(3144900),d(65656),d(3144900),d(65677),d(3144900),d(65702),d(65731),q0=1}else q0=p0;do if(!(Q6(A,65746)|0)){if(!C){i0=1,t0=1;break}Z[768157]=0,Z[768156]=0,R8(Z[730449]|0),i0=1,t0=1}else i0=q0,t0=0;while(0);if(!(N[A+1>>0]|0))if(q0=N[A>>0]|0,(t0|0)==0&((q0&255)>153|q0<<24>>24>-1))E6=i0;else D0=148;else if(!t0)E6=i0;else D0=148;if((D0|0)==148){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(65753,14),d(3144900),d(65768),d(65796),d(65824),d(65852),d(65885),d(3144900),I0(65901,6),d(3144900),d(65911),d(3144900),I0(65935,6),d(3144900),d(65963),d(3144900),d(3144900),d(3144900),i0=Z[768157]|0,t0=i0+-15|0,q0=i0+-5|0,i0=Z[768171]|0,p0=0;do u0=p0<<3,Z[768171]=(Z[3392+(p0<<2)>>2]|0)+(49072>>>p0<<31>>31),KX(Z[730449]|0,u0,t0,u0|6,q0,(0-(p0&1)&3)+6|0)|0,Z[768171]=i0,p0=p0+1|0;while((p0|0)!=16);I0(65980,12),E6=1}if(!(Q6(A,66005)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(66010,14),d(3144900),d(66028),d(66059),d(66088),d(3144900),d(65656),d(3144900),d(65677),d(3144900),d(66121),d(3144900),d(66150),d(66181),d(3144900),d(66212),d(66243),d(66274),V6=1}else V6=E6;do if(Q6(A,66299)|0){if(!(Q6(A,66304)|0)){D0=161;break}if(!(Q6(A,66308)|0)){D0=161;break}if(Q6(A,66314)|0)n0=V6;else D0=161}else D0=161;while(0);if((D0|0)==161){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(66321,6),d(3144900),d(66336),d(3144900),d(66363),d(3144900),d(66389),d(66421),d(66451),d(3144900),I0(66463,6),d(3144900),I0(66477,12),n0=1}if((Q6(A,66508)|0)!=0?(Q6(A,66513)|0)!=0:0)e0=n0;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(66519,6),d(3144900),I0(66550,12),I0(66579,12),I0(66608,12),I0(66627,12),I0(3144900,12),I0(66650,6),d(3144900),I0(66670,12),e0=1}if((Q6(A,66699)|0)!=0?(Q6(A,66703)|0)!=0:0)Z6=e0;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(66707,14),d(3144900),d(66724),d(66756),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),e0=Z[768157]|0,n0=e0+-34|0,_X(S,34,n0,20,7),V6=e0+-48|0,h3(S,34,n0,48,V6,14),_X(S,48,V6,1,7),_X(S,34,n0,1,7),K1(S,66787,Z[730468]|0,28,e0+-30|0,1,13)|0,K1(S,66791,Z[730468]|0,54,e0+-53|0,1,13)|0,V6=e0+-36|0,K1(S,66810,Z[730468]|0,57,V6,1,6)|0,h3(S,54,n0,52,n0,7),K1(S,66814,Z[730468]|0,27,e0+-61|0,1,6)|0,E6=e0+-54|0,p0=e0+-52|0,h3(S,34,E6,34,p0,7),K1(S,66819,Z[730468]|0,1,V6,1,6)|0,h3(S,14,n0,16,n0,7),K1(S,66823,Z[730468]|0,27,e0+-11|0,1,6)|0,h3(S,34,E6,34,p0,7),d(66828),d(66855),d(66885),d(66917),Z6=1}if(!(Q6(A,66941)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(66947,14),d(3144900),d(66962),d(66992),d(67024),d(67057),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),p0=Z[768157]|0,E6=p0+-34|0,_X(S,34,E6,20,7),e0=p0+-48|0,h3(S,34,E6,48,e0,14),_X(S,48,e0,1,7),_X(S,34,E6,1,7),K1(S,66787,Z[730468]|0,28,p0+-30|0,1,13)|0,K1(S,67087,Z[730468]|0,54,p0+-53|0,1,13)|0,e0=p0+-36|0,K1(S,66810,Z[730468]|0,57,e0,1,6)|0,h3(S,54,E6,52,E6,7),K1(S,66814,Z[730468]|0,27,p0+-61|0,1,6)|0,n0=p0+-54|0,V6=p0+-52|0,h3(S,34,n0,34,V6,7),K1(S,66819,Z[730468]|0,1,e0,1,6)|0,h3(S,14,E6,16,E6,7),K1(S,66823,Z[730468]|0,27,p0+-11|0,1,6)|0,h3(S,34,n0,34,V6,7),d(67098),U6=1}else U6=Z6;if(!(Q6(A,67130)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(67135,14),d(3144900),d(67145),N6=1}else N6=U6;if(!(Q6(A,67173)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(67177,14),I0(67188,14),d(3144900),d(67202),d(67232),d(67263),d(3144900),d(67286),d(67318),A6=1}else A6=N6;if(!(Q6(A,67347)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(67353,14),d(3144900),d(67364),d(67396),d(67428),d(67456),d(67487),d(3144900),S6=1}else S6=A6;do if(Q6(A,67502)|0){if(!(Q6(A,67506)|0)){D0=193;break}if(Q6(A,91915)|0)H6=S6;else D0=193}else D0=193;while(0);if((D0|0)==193){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(67510,14),d(3144900),d(67541),d(67570),d(67597),d(67625),d(3144900),d(67643),d(67663),d(67682),H6=1}if((Q6(A,67701)|0)!=0?(Q6(A,67705)|0)!=0:0)M6=H6;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(67710,14),d(3144900),d(67727),d(67759),d(67789),d(67820),d(3144900),d(67850),d(67871),d(67892),d(67913),d(67935),M6=1}if(!(Q6(A,67956)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(67960,14),d(3144900),d(67969),d(67992),d(3144900),d(68008),F6=1}else F6=M6;if(!(Q6(A,68038)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(68042,14),d(3144900),d(68051),d(68082),d(3144900),d(68094),d(68112),d(3144900),d(68130),d(68155),d(68183),d(68215),J6=1}else J6=F6;if((Q6(A,68243)|0)!=0?(Q6(A,95217)|0)!=0:0)L6=J6;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(68248,14),I0(68258,14),d(3144900),d(68264),d(68292),d(68321),d(68351),d(3144900),d(68356),d(68388),d(3144900),I0(68399,7),d(68425),d(3144900),I0(68437,13),I0(68470,13),L6=1}do if(Q6(A,68499)|0){if(!(Q6(A,68504)|0)){D0=217;break}if(Q6(A,68506)|0)c0=L6;else D0=217}else D0=217;while(0);if((D0|0)==217){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(68509,14),I0(68522,14),d(3144900),d(68531),d(68292),d(68559),d(68587),d(3144900),d(68603),d(68634),d(68665),d(68634),d(68696),d(3144900),I0(68727,7),d(68754),c0=1}do if(Q6(A,68766)|0){if(!(Q6(A,68770)|0)){D0=223;break}if(Q6(A,68772)|0)T6=c0;else D0=223}else D0=223;while(0);if((D0|0)==223){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(68775,14),I0(68787,14),d(3144900),d(68796),d(68292),d(68823),d(68851),d(3144900),d(68603),d(68634),d(68866),d(68634),d(68897),d(3144900),I0(68928,7),d(68955),T6=1}do if(Q6(A,68967)|0){if(!(Q6(A,68972)|0)){D0=229;break}if(Q6(A,64672)|0)W6=T6;else D0=229}else D0=229;while(0);if((D0|0)==229){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(68975,14),I0(68988,14),I0(68997,14),d(3144900),d(69021),d(69051),d(69083),d(69116),d(69149),d(69182),d(3144900),d(68603),d(68634),d(68866),d(68634),d(69212),d(3144900),I0(69243,7),d(69270),W6=1}do if(Q6(A,69282)|0){if(!(Q6(A,69286)|0)){D0=235;break}if(Q6(A,69289)|0)h6=W6;else D0=235}else D0=235;while(0);if((D0|0)==235){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(69293,14),I0(69305,14),d(3144900),d(69315),d(69343),d(3144900),I0(69368,7),d(69394),h6=1}do if(Q6(A,69406)|0){if(!(Q6(A,69410)|0)){D0=241;break}if(Q6(A,69413)|0)s6=h6;else D0=241}else D0=241;while(0);if((D0|0)==241){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(69417,14),I0(69429,14),d(3144900),d(69439),d(69472),d(69502),d(69532),d(69560),d(3144900),I0(69570,7),d(69598),s6=1}do if(Q6(A,69610)|0){if(!(Q6(A,69615)|0)){D0=247;break}if(Q6(A,69619)|0)p6=s6;else D0=247}else D0=247;while(0);if((D0|0)==247){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(69417,14),I0(69624,14),d(3144900),d(69635),d(69665),d(69697),d(3144900),I0(69720,7),d(69749),p6=1}do if(Q6(A,69761)|0){if(!(Q6(A,69766)|0)){D0=253;break}if(Q6(A,69770)|0)G6=p6;else D0=253}else D0=253;while(0);if((D0|0)==253){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(69775,14),I0(69788,14),d(3144900),d(69799),d(3144900),I0(69826,7),d(69857),G6=1}do if(Q6(A,69869)|0){if(!(Q6(A,69874)|0)){D0=259;break}if(Q6(A,69878)|0)w6=G6;else D0=259}else D0=259;while(0);if((D0|0)==259){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(69883,14),I0(69896,14),d(3144900),d(69907),d(3144900),I0(69935,7),d(69966),w6=1}if(!(Q6(A,69978)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(69986,14),d(3144900),d(69996),d(70024),d(70053),d(70078),d(70107),d(70137),d(3144900),d(70157),d(3144900),d(70181),d(70212),d(70241),d(70273),d(3144900),d(70305),d(70322),B6=1}else B6=w6;if((Q6(A,70334)|0)!=0?(Q6(A,70338)|0)!=0:0)i6=B6;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(70350,14),d(3144900),d(70364),d(70394),d(3144900),I0(70423,7),d(70437),d(3144900),d(70440),d(70472),d(70501),d(70531),d(70563),d(70596),d(3144900),d(70623),d(3144900),d(70655),d(70677),i6=1}if(!(Q6(A,70710)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(70717,14),d(3144900),d(70726),d(70759),d(3144900),I0(70792,7),d(70811),d(3144900),d(70816),d(70849),d(70882),d(3144900),d(70915),d(70947),d(70979),d(71010),d(71042),d(71073),d(71106),H8=1}else H8=i6;if((Q6(A,71136)|0)!=0?(Q6(A,71145)|0)!=0:0)m6=H8;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(71155,14),d(3144900),d(71167),d(71200),d(71229),d(71261),d(71293),d(71325),d(3144900),d(71358),d(71391),d(71424),d(71457),d(3144900),I0(71478,7),I0(71511,7),d(95776),d(3144900),I0(71544,12),m6=1}do if(Q6(A,71570)|0){if(!(Q6(A,71572)|0)){D0=284;break}if(!(Q6(A,95816)|0)){D0=284;break}if(Q6(A,71575)|0)_8=m6;else D0=284}else D0=284;while(0);if((D0|0)==284){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(71578,14),d(3144900),d(71600),d(3144900),I0(71615,7),d(95774),I0(71622,7),I0(71628,7),I0(65013,7),d(95770),d(3144900),d(71635),d(71667),d(3144900),I0(71698,7),d(71712),_8=1}do if(Q6(A,95690)|0){if(!(Q6(A,71719)|0)){D0=291;break}if(!(Q6(A,95840)|0)){D0=291;break}if(Q6(A,71722)|0)v8=_8;else D0=291}else D0=291;while(0);if((D0|0)==291){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(71725,14),d(3144900),d(71748),d(71780),d(3144900),I0(71798,7),d(71805),I0(71808,7),I0(71814,7),I0(65013,7),d(95764),d(3144900),d(71821),d(71854),d(71884),d(3144900),I0(71916,7),d(71937),v8=1}if((Q6(A,71949)|0)!=0?(Q6(A,71951)|0)!=0:0)Y8=v8;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(71954,14),d(3144900),d(71983),d(72010),d(3144900),I0(72039,7),d(95768),I0(72066,7),I0(72075,7),I0(65013,7),d(95770),Y8=1}if((Q6(A,72084)|0)!=0?(Q6(A,72086)|0)!=0:0)T8=Y8;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(72089,14),d(3144900),d(72113),d(72140),d(72170),d(3144900),I0(72182,7),d(95762),d(3144900),d(72193),d(72223),d(72253),d(3144900),d(72284),d(72314),d(72343),d(72376),d(3144900),I0(72405,12),T8=1}if((Q6(A,72438)|0)!=0?(Q6(A,72440)|0)!=0:0)C8=T8;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(72443,14),d(3144900),d(72469),d(72502),d(3144900),I0(72523,7),d(72551),I0(72555,7),d(95768),d(3144900),I0(72567,13),I0(72598,13),I0(72630,13),C8=1}if((Q6(A,95214)|0)!=0?(Q6(A,72659)|0)!=0:0)j8=C8;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(72663,14),d(3144900),d(72694),d(72726),d(72759),d(3144900),I0(72791,7),d(72812),I0(72824,7),I0(72832,7),d(72847),j8=1}if(!(Q6(A,72854)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(72858,14),d(3144900),d(72875),d(3144900),I0(72907,7),I0(72931,7),I0(72940,7),I0(62821,7),I0(72959,7),d(62984),d(95762),d(95764),d(95766),d(3144900),I0(72976,12),C6=1}else C6=j8;do if(Q6(A,73005)|0){if(!(Q6(A,73012)|0)){D0=321;break}if(Q6(A,73019)|0)o6=C6;else D0=321}else D0=321;while(0);if((D0|0)==321){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(73024,14),I0(73041,14),I0(73054,14),d(3144900),d(73069),d(73098),d(3144900),d(73128),d(3144900),d(73161),d(73189),d(73217),d(3144900),I0(73249,7),I0(73270,7),I0(73296,7),I0(73326,7),I0(62821,7),I0(73345,7),o6=1}if(!(Q6(A,73377)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(73384,6),d(3144900),I0(73407,12),I0(73433,12),I0(73461,12),I0(3144900,12),I0(73488,6),d(3144900),I0(73506,12),I0(73535,12),I0(73565,12),I0(3144900,12),I0(73592,6),d(3144900),I0(73604,12),d(3144900),I0(73634,6),d(3144900),I0(61326,12),u6=1}else u6=o6;if(!(Q6(A,73642)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);d(73648),I0(73680,14),d(3144900),d(73690),d(73719),d(73751),p8=1}else p8=u6;if(!(Q6(A,73778)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(73784,14),d(3144900),d(73794),d(73821),d(73848),d(73877),d(73904),d(73930),d(73961),d(73992),i8=1}else i8=p8;if((Q6(A,74016)|0)!=0?(Q6(A,74024)|0)!=0:0)q8=i8;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(74034,14),d(3144900),d(74058),d(74086),d(74117),d(74148),d(74175),d(74202),q8=1}if(!(Q6(A,74210)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(74214,6),d(3144900),I0(74234,12),I0(74265,12),I0(74295,12),I0(74323,12),I0(74353,12),I0(74383,12),m8=1}else m8=q8;if(!(Q6(A,74402)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(74407,14),d(3144900),d(74416),d(74449),d(3144900),d(74475),d(74506),d(74538),d(3144900),d(74551),d(3144900),I0(74578,7),I0(74593,7),I0(74625,7),I0(62821,7),l8=1}else l8=m8;if(!(Q6(A,74633)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(74640,14),d(3144900),d(74655),d(74685),d(3144900),d(74713),w8=1}else w8=l8;if(!(Q6(A,74731)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(74736,14),d(3144900),d(74767),d(74798),d(74829),d(74861),U2=1}else U2=w8;if(!(Q6(A,74882)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(74886,14),d(3144900),d(74899),d(74930),d(74963),K8=1}else K8=U2;if(!(Q6(A,74973)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(74979,14),d(3144900),d(74994),d(75025),d(75054),d(3144900),d(75084),d(75115),d(75146),d(75177),d(3144900),d(75197),d(3144900),d(75226),d(75259),d(75292),A8=1}else A8=K8;if((Q6(A,75322)|0)!=0?(Q6(A,75326)|0)!=0:0)t8=A8;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(75334,14),d(3144900),d(75353),d(3144900),d(75384),d(75409),d(75427),d(3144900),d(75447),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),d(3144900),A8=0;do K8=(A8*10|0)+-40|0,U2=A8<<2,w8=K8+(Z[768157]|0)|0,V7(Z[730449]|0,2,w8,13,w8+9|0,U2),Z[Q>>2]=U2,a6(U,75467,Q)|0,K1(Z[730449]|0,U,Z[730468]|0,4,w8+2|0,1,7)|0,w8=K8+(Z[768157]|0)|0,l8=U2|1,V7(Z[730449]|0,14,w8,25,w8+9|0,l8),Z[Y>>2]=l8,a6(U,75467,Y)|0,K1(Z[730449]|0,U,Z[730468]|0,16,w8+2|0,1,7)|0,w8=K8+(Z[768157]|0)|0,l8=U2|2,V7(Z[730449]|0,26,w8,37,w8+9|0,l8),Z[X>>2]=l8,a6(U,75467,X)|0,K1(Z[730449]|0,U,Z[730468]|0,28,w8+2|0,1,7)|0,w8=K8+(Z[768157]|0)|0,K8=U2|3,V7(Z[730449]|0,38,w8,49,w8+9|0,K8),Z[T>>2]=K8,a6(U,75467,T)|0,K1(Z[730449]|0,U,Z[730468]|0,40,w8+2|0,1,(K8|0)==7?5:7)|0,A8=A8+1|0;while((A8|0)!=4);t8=1}if(!(Q6(A,75471)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(75476,14),d(3144900),d(75489),d(75521),d(75552),d(75582),d(3144900),d(75601),d(3144900),d(75630),d(75660),d(75690),d(75722),d(3144900),d(75754),d(75785),d(75798),d(75828),_2=1}else _2=t8;if(!(Q6(A,75842)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(75848,14),d(3144900),d(75859),d(75890),d(75921),d(75953),d(75985),d(3144900),d(76018),d(76047),d(76076),d(76105),d(3144900),d(76134),d(3144900),d(3144900),d(76164),d(3144900),d(3144900),t8=Z[768157]|0,A8=t8+-29|0,U=Z[768171]|0,Z[768171]=33825,T=t8+-21|0,KX(Z[730449]|0,4,A8,60,T,120)|0,Z[768171]=20640,KX(Z[730449]|0,64,A8,120,T,120)|0,T=t8+-11|0,Z[768171]=47133,KX(Z[730449]|0,4,T,40,t8,46)|0,Z[768171]=20927,KX(Z[730449]|0,44,T,80,t8,46)|0,Z[768171]=31455,KX(Z[730449]|0,84,T,120,t8,46)|0,Z[768171]=U,Y2=1}else Y2=_2;if(!(Q6(A,76192)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(76197,14),d(3144900),d(76229),d(76257),d(76286),d(76319),Q2=1}else Q2=Y2;if((Q6(A,76333)|0)!=0?(Q6(A,76338)|0)!=0:0)F2=Q2;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(76347,14),I0(76377,14),d(3144900),d(76408),d(76435),d(76460),d(76486),F2=1}if((Q6(A,76504)|0)!=0?(Q6(A,76509)|0)!=0:0)w2=F2;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(76518,14),I0(76548,14),d(3144900),d(76579),d(76608),w2=1}if((Q6(A,76629)|0)!=0?(Q6(A,76634)|0)!=0:0)G2=w2;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(76643,14),I0(76670,14),d(3144900),d(76698),d(76728),d(76757),d(76785),G2=1}if(!(Q6(A,76792)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(76796,14),I0(76822,14),d(3144900),d(76844),d(76874),d(76901),d(76934),d(3144900),d(76952),d(76984),d(77015),d(3144900),d(77045),d(77078),K2=1}else K2=G2;if((Q6(A,77106)|0)!=0?(Q6(A,77111)|0)!=0:0)Z2=K2;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(77116,14),I0(77128,14),d(3144900),d(77145),d(77177),d(77210),Z2=1}if((Q6(A,77240)|0)!=0?(Q6(A,77245)|0)!=0:0)o2=Z2;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(77250,14),I0(77265,14),I0(77286,14),d(3144900),d(77305),d(77338),d(77369),d(77402),d(3144900),d(77435),d(77460),d(77491),d(77524),d(3144900),d(77546),d(77577),o2=1}if(!(Q6(A,77606)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(77612,14),I0(77642,14),d(3144900),d(77667),d(77699),d(77728),d(77756),d(77789),d(3144900),d(77820),d(77850),d(77880),d(3144900),d(77911),d(77923),d(77951),d(77980),d(78006),d(78032),u8=1}else u8=o2;if(!(Q6(A,78058)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(78062,14),I0(78085,14),d(3144900),d(78107),d(3144900),d(78129),d(78160),d(78193),d(3144900),d(78214),d(78246),d(3144900),d(78279),d(78308),L2=1}else L2=u8;if(!(Q6(A,78333)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(78338,14),I0(78369,14),d(3144900),d(78401),d(78433),d(3144900),d(78458),d(78489),d(78521),d(3144900),d(78279),d(78547),N2=1}else N2=L2;if((Q6(A,78573)|0)!=0?(Q6(A,78578)|0)!=0:0)u2=N2;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(78583,14),I0(78595,14),d(3144900),d(78612),d(78644),u2=1}if((Q6(A,78671)|0)!=0?(Q6(A,78676)|0)!=0:0)Z1=u2;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(78583,14),I0(78595,14),d(3144900),d(78612),d(78681),Z1=1}if((Q6(A,78703)|0)!=0?(Q6(A,78709)|0)!=0:0)I2=Z1;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(78711,14),I0(78737,14),d(3144900),d(78758),d(78787),d(3144900),d(78818),d(78847),d(3144900),d(78870),d(3144900),I0(78879,13),d(78898),d(78928),d(78958),d(78976),d(79007),d(79038),d(79055),I2=1}if(!(Q6(A,79063)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(79070,14),I0(79096,14),d(3144900),d(79125),d(79156),d(79185),d(79218),d(79244),d(3144900),d(79263),d(79296),d(79321),d(79352),d(79385),j2=1}else j2=I2;if(!(Q6(A,79394)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(79401,14),d(3144900),d(79422),d(3144900),d(79446),d(79480),Q1=1}else Q1=j2;do if(Q6(A,79501)|0){if(!(Q6(A,79506)|0)){D0=450;break}if(Q6(A,79512)|0)p2=Q1,r2=0;else D0=450}else D0=450;while(0);do if((D0|0)==450){if(!C){p2=1,r2=1;break}Z[768157]=0,Z[768156]=0,R8(Z[730449]|0),p2=1,r2=1}while(0);do if(Q6(A,79518)|0){if(!(Q6(A,79520)|0)){D0=454;break}if(!r2){W1=p2;break}if(!C)D0=459;else D0=458}else D0=454;while(0);do if((D0|0)==454){if(!C){D0=459;break}Z[768157]=0,Z[768156]=0,R8(Z[730449]|0),D0=458}while(0);if((D0|0)==458)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0),D0=459;if((D0|0)==459)I0(79522,14),d(3144900),d(79540),d(79573),d(79606),d(79638),d(79671),d(3144900),d(79695),d(3144900),I0(79725,7),d(3144900),d(79747),d(3144900),I0(79772,7),I0(79793,7),I0(79815,7),W1=1;do if(Q6(A,79837)|0){if(!(Q6(A,79842)|0)){D0=463;break}if(Q6(A,79848)|0)x2=W1;else D0=463}else D0=463;while(0);if((D0|0)==463){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(79854,14),d(3144900),d(79886),d(79917),d(79946),d(79978),d(3144900),d(79995),d(3144900),I0(80025,7),x2=1}if(!(Q6(A,80055)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(80062,14),d(3144900),d(80087),d(80118),d(80146),d(3144900),d(80157),d(3144900),d(80186),a2=1}else a2=x2;if(!(Q6(A,80215)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(80222,14),d(3144900),d(80247),d(80279),d(80304),d(80335),d(3144900),d(80347),d(80380),d(3144900),I0(80405,7),E2=1}else E2=a2;if(!(Q6(A,80435)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(80442,14),d(3144900),d(80473),d(80501),d(80530),d(3144900),d(80560),d(3144900),d(80589),d(80618),d(80646),d(3144900),d(80675),d(80702),d(80731),d2=1}else d2=E2;if(!(Q6(A,80747)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(80754,14),d(3144900),d(80473),d(80785),d(80816),d(3144900),d(80839),d(80869),b2=1}else b2=d2;if(!(Q6(A,80896)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(80905,14),d(3144900),d(80937),d(3144900),d(80968),d(81000),d(81029),d(3144900),d(81050),d(81079),d(81109),d(81142),d(3144900),d(81164),d(81194),d(81225),d(3144900),d(81234),d(81262),P2=1}else P2=b2;if(!(Q6(A,81290)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(81299,14),d(3144900),d(81314),d(81345),d(81377),d(81409),d(3144900),d(81440),d(81472),d(81504),d(81536),d(3144900),d(81555),d(81585),d(81615),d(81645),V1=1}else V1=P2;if((Q6(A,81675)|0)!=0?(Q6(A,81680)|0)!=0:0)X2=V1;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(81685,14),I0(81695,14),d(3144900),d(81711),d(81743),d(3144900),d(81776),d(81806),d(81836),d(81866),d(3144900),d(81899),d(81927),d(81958),X2=1}if(!(Q6(A,81970)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(81974,14),d(3144900),d(81999),d(82032),d(82062),d(82095),d(82125),d(82155),d(82187),d(3144900),I0(82215,7),I0(82240,7),I0(82266,7),d(3144900),d(82290),d(3144900),I0(82322,7),I0(82332,7),d(82339),$1=1}else $1=X2;if(!(Q6(A,82341)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(82345,14),d(3144900),d(82375),d(82405),d(3144900),d(82424),I0(82429,7),d(3144900),d(82439),I0(82448,7),P1=1}else P1=$1;if(!(Q6(A,82474)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(82478,14),d(3144900),d(82503),d(82535),d(3144900),d(82568),d(82600),d(3144900),I0(82630,7),I0(82651,7),d(3144900),d(82672),I0(82684,7),d(3144900),d(82707),I0(82737,7),v2=1}else v2=P1;if(!(Q6(A,82770)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(82776,14),d(3144900),d(3144900),d(82806),d(82837),d(82863),d(3144900),d(82895),d(82927),d(82956),d(82986),d(3144900),I0(82998,7),I0(83024,7),I0(83054,7),d(83083),T1=1}else T1=v2;if(!(Q6(A,83106)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(83112,14),d(3144900),d(83135),d(3144900),d(83160),d(3144900),d(83182),d(83214),d(3144900),d(83237),d(83258),d(83288),d(83317),_1=1}else _1=T1;if(!(Q6(A,83343)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(83349,14),d(3144900),d(83372),d(83400),d(83430),d(3144900),d(83160),d(3144900),d(83443),d(83474),d(83501),d(83532),d(83561),d(3144900),I0(83592,7),I0(83621,7),I0(83649,7),I0(83672,7),l2=1}else l2=_1;if(!(Q6(A,83689)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(83693,14),d(3144900),d(83718),d(83748),d(3144900),I0(83768,7),d(3144900),d(83788),d(83815),d(83841),d(3144900),I0(83851,7),I0(83866,7),d(3144900),I0(83896,13),I0(83925,13),c1=1}else c1=l2;if(!(Q6(A,83949)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(83953,14),d(3144900),d(83969),d(83998),d(84028),d(3144900),d(84060),d(84092),d(3144900),I0(84124,7),I0(84137,7),d(3144900),I0(83896,13),I0(83925,13),$7=1}else $7=c1;if(!(Q6(A,84158)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(84163,14),d(3144900),d(84182),d(84212),d(84028),d(3144900),d(84060),d(84092),d(3144900),d(84243),d(84275),d(3144900),I0(84301,7),I0(84313,7),I0(84333,7),d(3144900),I0(83896,13),I0(83925,13),D1=1}else D1=$7;if(!(Q6(A,84351)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(84355,14),d(3144900),d(84366),d(84395),d(3144900),I0(84422,7),I0(84432,7),I0(84445,7),I0(84464,7),I0(62821,7),I0(84477,7),d(3144900),I0(83896,13),I0(83925,13),n2=1}else n2=D1;if(!(Q6(A,84488)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(84496,14),d(3144900),d(84517),d(84550),d(84583),d(3144900),I0(84599,7),d(95762),d(95764),d(84629),d(3144900),I0(83896,13),I0(83925,13),z1=1}else z1=n2;if(!(Q6(A,84633)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(84639,14),d(3144900),d(84652),d(84683),d(84715),d(84747),d(84776),d(84809),d(3144900),I0(84834,7),I0(84864,7),I0(84887,7),I0(62821,7),d(3144900),d(84915),d(84926),N1=1}else N1=z1;if(!(Q6(A,84940)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(84944,14),d(3144900),d(84963),d(84992),d(85018),d(3144900),d(85040),d(85071),d(85103),l1=1}else l1=N1;if(!(Q6(A,85112)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(85117,14),d(3144900),d(85135),d(85162),d(85191),d(3144900),d(85202),d(85232),d(85260),d(85292),A1=1}else A1=l1;if(!(Q6(A,85305)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(85312,14),I0(85323,14),d(3144900),d(85330),d(85356),d(85386),d(3144900),d(85406),d(85435),d(85466),d(85499),y1=1}else y1=A1;if(!(Q6(A,85507)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(85513,14),d(3144900),d(85523),d(85554),d(85586),d(3144900),d(85594),d(85621),d(85652),d(3144900),d(85666),d(85699),d(85731),d(85762),d(85791),B1=1}else B1=y1;if(!(Q6(A,85800)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(85806,14),d(3144900),d(85816),d(85842),d(85868),d(3144900),d(85890),I0(85911,12),Z7=1}else Z7=B1;do if(Q6(A,85920)|0){if(!(Q6(A,85911)|0)){D0=567;break}if(!(Q6(A,85929)|0)){D0=567;break}if(Q6(A,85939)|0)S1=Z7;else D0=567}else D0=567;while(0);if((D0|0)==567){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(85950,14),I0(85964,14),d(3144900),d(85994),d(86020),d(86048),d(3144900),I0(86072,7),I0(86087,7),I0(86112,7),I0(86122,7),I0(86112,7),I0(86146,7),I0(62821,7),I0(3144900,7),I0(86164,7),I0(86182,7),I0(86214,7),I0(86245,7),S1=1}if(!(Q6(A,86273)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(86282,14),d(3144900),d(86296),d(86320),d(3144900),d(86345),d(86355),d(86367),q7=1}else q7=S1;if((Q6(A,86374)|0)!=0?(Q6(A,86379)|0)!=0:0)g2=q7;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(86381,14),I0(86390,14),d(3144900),d(86397),d(86427),d(86453),d(86484),g2=1}if(!(Q6(A,86511)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(86520,14),d(3144900),d(86552),d(86583),d(86611),d(3144900),d(86635),d(86666),d(86697),d(86726),d(86757),d(86787),d(3144900),I0(86813,7),I0(86844,7),I0(86865,7),d(3144900),d(86870),d(86899),T7=1}else T7=g2;if(!(Q6(A,86931)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(86936,14),d(3144900),d(86946),d(86964),d(86990),d(87016),d(87038),d(87058),d(87079),d(87107),d(87138),d(87168),d(87194),d(87222),d(87250),d(87281),d(87300),F7=1}else F7=T7;if(!(Q6(A,87330)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(87337,14),d(3144900),d(87366),d(87394),d(3144900),d(87417),d(3144900),d(87426),d(87458),d(87482),d(87515),d(87535),d(87548),N7=1}else N7=F7;if(!(Q6(A,87562)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(87569,14),d(3144900),d(87587),d(87618),d(3144900),d(87649),d(87667),d(87685),d(87718),d(87740),d(87766),d(87793),d(87822),d(87852),d(87885),d(87917),d(87948),f8=1}else f8=N7;if(!(Q6(A,87976)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(87981,14),I0(87999,14),I0(88031,14),d(3144900),d(88047),d(88077),d(88105),d(88137),d(88168),d(88198),d(88227),d(88258),d(3144900),d(88287),d(88317),C5=1}else C5=f8;if(!(Q6(A,88348)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(88353,14),d(3144900),d(88371),d(88403),d(88432),d(88465),d(3144900),I0(88486,7),d(88497),d(3144900),d(88510),d(88543),d(88575),d(3144900),d(88608),I0(88635,7),d(3144900),d(88647),d(88678),i1=1}else i1=C5;if(!(Q6(A,88703)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(88710,14),d(3144900),d(88730),d(88761),d(88791),d(3144900),d(88824),d(88853),d(88883),d(3144900),I0(88913,7),c2=1}else c2=i1;if(!(Q6(A,88937)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(88944,14),d(3144900),d(88965),d(3144900),d(88994),d(89013),d(89043),d(89071),d(89098),d(89121),d(3144900),d(89150),I0(89164,7),d(3144900),d(89186),I0(89216,7),d(3144900),d(89239),I0(89257,7),D2=1}else D2=c2;if(!(Q6(A,89289)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(89294,14),d(3144900),d(89303),d(89334),d(3144900),d(89362),d(89372),d(89388),X1=1}else X1=D2;if(!(Q6(A,89405)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(89412,14),d(3144900),d(89431),d(89462),d(3144900),d(89485),d(89516),d(3144900),d(89536),d(89545),d(89553),d(89558),d(3144900),d(89567),d(89599),d(89632),H2=1}else H2=X1;if(!(Q6(A,89664)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(89673,14),d(3144900),d(89686),d(89717),d(3144900),d(89740),d(3144900),d(89769),d(89787),i2=1}else i2=H2;if((Q6(A,89809)|0)!=0?(Q6(A,89812)|0)!=0:0)e8=i2;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(89816,14),d(3144900),d(89830),d(89855),d(3144900),d(89871),e8=1}if(!(Q6(A,89897)|0)){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(89904,14),d(3144900),d(89686),d(89915),d(3144900),d(89939),d(89970),t2=1}else t2=e8;if((Q6(A,89997)|0)!=0?(Q6(A,91052)|0)!=0:0)t1=t2;else{if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(90004,14),I0(90015,14),d(3144900),d(90022),d(90048),d(3144900),d(90067),d(90096),d(90125),d(3144900),d(90155),d(90183),d(90211),t1=1}do if(!(Q6(A,90220)|0))D0=639;else{if(!(Q6(A,90226)|0)){D0=639;break}if(t1|0)break;I0(90430,13),d(A),q=$;return}while(0);if((D0|0)==639){if(C|0)Z[768157]=0,Z[768156]=0,R8(Z[730449]|0);I0(90233,14),I0(90243,14),d(3144900),d(90255),d(90281),d(90313),d(90344),d(90375),d(3144900),d(90407)}d(3144900),q=$;return}function PT(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;T=q,q=q+16|0,X=T+8|0,Y=T+4|0,Q=T,Z[X>>2]=0,Z[Y>>2]=0,Z[Q>>2]=0;Z:do if($>>>0>7)W=0;else{if(yz($-(Z[481717]|0)|0,X,Y,Q),(V|0)>=4)switch(V|0){case 4:{W=(Z[Q>>2]&9|0)==0?0:255;break Z}case 5:{W=(Z[Q>>2]&6|0)==0?0:255;break Z}case 6:{W=(Z[Q>>2]&64|0)==0?0:255;break Z}default:{W=0;break Z}}U=Z[X>>2]|0,S=B((U|0)/2|0,U)|0,J=Z[Y>>2]|0;V:do if(((B((J|0)/2|0,J)|0)+S|0)>134217728)switch(V|0){case 0:{if(_=U<<8,K=0-_|0,(32767-_|0)>>>0>8388606){W=(K|0)<-32767?0:255;break Z}W=(K|0)/32768|0;break Z}case 1:{if((U+127|0)>>>0>32766){W=(U|0)<-127?0:255;break Z}W=(U|0)/128|0;break Z}case 2:{if(K=J<<8,_=0-K|0,(32767-K|0)>>>0>8388606){W=(_|0)<-32767?0:255;break Z}W=(_|0)/32768|0;break Z}case 3:{if((J+127|0)>>>0>32766){W=(J|0)<-127?0:255;break Z}W=(J|0)/128|0;break Z}default:break V}else switch(V|0){case 0:{if(!(Z[Q>>2]&8192))break V;else{W=255;break Z}break}case 1:{if(!(Z[Q>>2]&16384))break V;else{W=255;break Z}break}case 2:{if(!(Z[Q>>2]&2048))break V;else{W=255;break Z}break}case 3:{if(!(Z[Q>>2]&4096))break V;else{W=255;break Z}break}default:break V}while(0);W=0}while(0);return q=T,W|0}function NX(V){return V=V|0,((Z[481731]|0)==(V|0)|(Z[481732]|0)==(V|0)|(Z[481733]|0)==(V|0)|(Z[481734]|0)==(V|0)|(Z[481735]|0)==(V|0)|(Z[481736]|0)==(V|0))&1|0}function x4(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0;T=q,q=q+16|0,X=T+8|0,Y=T+4|0,Q=T,W=($|0)==0;Z:do if(W){switch(V|0){case 0:{U=Z[481731]|0,S=(U|0)==0?80:U,J=0,_=0,K=9;break}case 1:{U=Z[481732]|0,S=(U|0)==0?79:U,J=0,_=0,K=9;break}case 2:{U=Z[481733]|0,S=(U|0)==0?82:U,J=0,_=0,K=9;break}case 3:{U=Z[481734]|0,S=(U|0)==0?81:U,J=0,_=0,K=9;break}case 4:{U=Z[481735]|0,S=(U|0)==0?29:U,J=1,_=0,K=9;break}case 5:{U=Z[481736]|0,S=(U|0)==0?27:U,J=0,_=1,K=9;break}default:P=0,O=0,L=0}if((K|0)==9)P=J,O=_,L=O2(S)|0;if(!(O2(-5)|0)){if(P)U=Z[481735]|0,F=O2((U|0)==0?6:U)|0|L;else F=L;if(O)U=Z[481736]|0,z=O2((U|0)==0?25:U)|0|F;else z=F}else z=L;if(P)U=Z[481735]|0,H=O2((U|0)==0?17:U)|0|z;else H=z;if(O&(O2(-5)|0)==0)U=Z[481736]|0,C=O2((U|0)==0?16:U)|0|H;else C=H;if(U=(V|0)==6,U)A=Z[481743]|0,y=O2((A|0)==0?19:A)|0|C,A=Z[481743]|0,k=y|(O2((A|0)==0?40:A)|0);else k=C;if(U&((Z[785925]|0)==2&(((Z[768028]|0)!=1|(Z[768034]|0)==0|(Z[482623]|0)!=0)^1)))U=Z[481743]|0,m=O2((U|0)==0?41:U)|0|k;else m=k}else if(($|0)==1)switch(V|0){case 0:{if(U=Z[481737]|0,!U){m=O2(22)|0;break Z}else{m=O2(U)|0;break Z}break}case 1:{if(U=Z[481738]|0,!U){m=O2(9)|0;break Z}else{m=O2(U)|0;break Z}break}case 2:{if(U=Z[481739]|0,!U){m=O2(8)|0;break Z}else{m=O2(U)|0;break Z}break}case 3:{if(U=Z[481740]|0,!U){m=O2(7)|0;break Z}else{m=O2(U)|0;break Z}break}case 4:{U=Z[481741]|0,A=O2((U|0)==0?225:U)|0,U=Z[481741]|0,y=O2((U|0)==0?43:U)|0|A,A=Z[481741]|0,m=y|(O2((A|0)==0?26:A)|0);break Z}case 5:{A=Z[481742]|0,y=O2((A|0)==0?4:A)|0,A=Z[481742]|0,m=O2((A|0)==0?20:A)|0|y;break Z}default:{m=0;break Z}}else m=0;while(0);if(k=Z[3073756+($<<2)>>2]|0,$=m|(k|0)!=-1&(k&1<>>0<3&W))return I=$,q=T,I|0;if(((d8(2921764,Z[769129]|0,24365)|0)&3|0)!=3)return I=$,q=T,I|0;switch(S4(X,Y,Q),V|0){case 4:{u=Z[Q>>2]&2;break}case 5:{u=Z[Q>>2]&1;break}default:u=Z[Q>>2]&4}return I=(u|0)==0?$:m|1,q=T,I|0}function O3(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0;V=(Z[482626]|0)==0?0:2,$=Z[482623]|0,T=V;while(!0){if(Z[3073228+(T<<2)>>2]=1,Z[3072716+(T<<2)>>2]=0,!$)X=d8(2921764,Z[769129]|0,24412)|0,Y=Z[482623]|0,Q=(X|0)==0?15:X;else Y=$,Q=15;if(W=Z[543654]|0,!(Y|W))X=Z[785581]|0,U=(X|0)>0?X:30;else U=30;if(Z[3073788+(T<<2)>>2]=((B(U,Q)|0)/30|0)+1,T=T+1|0,(T|0)==8)break;else $=Y}$=W,W=Y,Y=V;while(!0){if(Z[3073260+(Y<<2)>>2]=1,Z[3072748+(Y<<2)>>2]=0,!W)T=d8(2921764,Z[769129]|0,24412)|0,S=Z[482623]|0,J=Z[543654]|0,_=(T|0)==0?15:T;else S=W,J=$,_=15;if(!(S|J))T=Z[785581]|0,K=(T|0)>0?T:30;else K=30;if(Z[3073820+(Y<<2)>>2]=((B(K,_)|0)/30|0)+1,Y=Y+1|0,(Y|0)==8)break;else $=J,W=S}W=S,S=J,J=V;while(!0){if(Z[3073292+(J<<2)>>2]=1,Z[3072780+(J<<2)>>2]=0,!W)$=d8(2921764,Z[769129]|0,24412)|0,P=Z[482623]|0,O=Z[543654]|0,L=($|0)==0?15:$;else P=W,O=S,L=15;if(!(P|O))$=Z[785581]|0,F=($|0)>0?$:30;else F=30;if(Z[3073852+(J<<2)>>2]=((B(F,L)|0)/30|0)+1,J=J+1|0,(J|0)==8)break;else W=P,S=O}S=P,P=O,O=V;while(!0){if(Z[3073324+(O<<2)>>2]=1,Z[3072812+(O<<2)>>2]=0,!S)W=d8(2921764,Z[769129]|0,24412)|0,z=Z[482623]|0,H=Z[543654]|0,C=(W|0)==0?15:W;else z=S,H=P,C=15;if(!(z|H))W=Z[785581]|0,A=(W|0)>0?W:30;else A=30;if(Z[3073884+(O<<2)>>2]=((B(A,C)|0)/30|0)+1,O=O+1|0,(O|0)==8)break;else S=z,P=H}P=z,z=H,H=V;while(!0){if(Z[3073356+(H<<2)>>2]=1,Z[3072844+(H<<2)>>2]=0,!P)S=d8(2921764,Z[769129]|0,24412)|0,y=Z[482623]|0,k=Z[543654]|0,m=(S|0)==0?15:S;else y=P,k=z,m=15;if(!(y|k))S=Z[785581]|0,I=(S|0)>0?S:30;else I=30;if(Z[3073916+(H<<2)>>2]=((B(I,m)|0)/30|0)+1,H=H+1|0,(H|0)==8)break;else P=y,z=k}z=y,y=k,k=V;while(!0){if(Z[3073388+(k<<2)>>2]=1,Z[3072876+(k<<2)>>2]=0,!z)P=d8(2921764,Z[769129]|0,24412)|0,u=Z[482623]|0,g=Z[543654]|0,i=(P|0)==0?15:P;else u=z,g=y,i=15;if(!(u|g))P=Z[785581]|0,t=(P|0)>0?P:30;else t=30;if(Z[3073948+(k<<2)>>2]=((B(t,i)|0)/30|0)+1,k=k+1|0,(k|0)==8)break;else z=u,y=g}y=u,u=g,g=V;while(!0){if(Z[3073420+(g<<2)>>2]=1,Z[3072908+(g<<2)>>2]=0,!y)z=d8(2921764,Z[769129]|0,24412)|0,Y0=Z[482623]|0,X0=Z[543654]|0,T0=(z|0)==0?15:z;else Y0=y,X0=u,T0=15;if(!(Y0|X0))z=Z[785581]|0,Z0=(z|0)>0?z:30;else Z0=30;if(Z[3073980+(g<<2)>>2]=((B(Z0,T0)|0)/30|0)+1,g=g+1|0,(g|0)==8)break;else y=Y0,u=X0}u=Y0,Y0=X0,X0=V;while(!0){if(Z[3073452+(X0<<2)>>2]=1,Z[3072940+(X0<<2)>>2]=0,!u)V=d8(2921764,Z[769129]|0,24412)|0,W0=Z[482623]|0,O0=Z[543654]|0,y0=(V|0)==0?15:V;else W0=u,O0=Y0,y0=15;if(!(W0|O0))V=Z[785581]|0,E0=(V|0)>0?V:30;else E0=30;if(Z[3074012+(X0<<2)>>2]=((B(E0,y0)|0)/30|0)+1,X0=X0+1|0,(X0|0)==8)break;else u=W0,Y0=O0}return}function nX(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0;if(x8(3072716,0,256)|0,(Z[532531]|0)>0){Z[768179]=r8(2)|0,Z[768180]=r8(2)|0,Z[768181]=r8(2)|0,Z[768182]=r8(2)|0,Z[768183]=r8(2)|0,Z[768184]=r8(2)|0,Z[768187]=r8(2)|0,Z[768188]=r8(2)|0,Z[768189]=r8(2)|0,Z[768190]=r8(2)|0,Z[768191]=r8(2)|0,Z[768192]=r8(2)|0,Z[768195]=r8(2)|0,Z[768196]=r8(2)|0,Z[768197]=r8(2)|0,Z[768198]=r8(2)|0,Z[768199]=r8(2)|0,Z[768200]=r8(2)|0,Z[768203]=r8(2)|0,Z[768204]=r8(2)|0,Z[768205]=r8(2)|0,Z[768206]=r8(2)|0,Z[768207]=r8(2)|0,Z[768208]=r8(2)|0,Z[768211]=r8(2)|0,Z[768212]=r8(2)|0,Z[768213]=r8(2)|0,Z[768214]=r8(2)|0,Z[768215]=r8(2)|0,Z[768216]=r8(2)|0,Z[768219]=r8(2)|0,Z[768220]=r8(2)|0,Z[768221]=r8(2)|0,Z[768222]=r8(2)|0,Z[768223]=r8(2)|0,Z[768224]=r8(2)|0,Z[768227]=r8(2)|0,Z[768228]=r8(2)|0,Z[768229]=r8(2)|0,Z[768230]=r8(2)|0,Z[768231]=r8(2)|0,Z[768232]=r8(2)|0,Z[768235]=r8(2)|0,Z[768236]=r8(2)|0,Z[768237]=r8(2)|0,Z[768238]=r8(2)|0,Z[768239]=r8(2)|0,Z[768240]=r8(2)|0;return}V=0;do{$=0;do{if((x4($,V)|0)==0?(PT($,V)|0)<=128:0)Z[3073228+(V<<5)+($<<2)>>2]=0;else T=7;if(((T|0)==7?(T=0,(Z[3073228+(V<<5)+($<<2)>>2]|0)==0):0)?(Z[3072716+(V<<5)+($<<2)>>2]=1,(Z[3072972+(V<<5)+($<<2)>>2]|0)==0):0){if(X=Z[482623]|0,!X)Y=d8(2921764,Z[769129]|0,24412)|0,Q=Z[482623]|0,W=(Y|0)==0?15:Y;else Q=X,W=15;if(!(Q|Z[543654]))X=Z[785581]|0,U=(X|0)>0?X:30;else U=30;Z[3073788+(V<<5)+($<<2)>>2]=((B(U,W)|0)/30|0)+1}$=$+1|0}while(($|0)!=8);V=V+1|0}while((V|0)!=8);if(Z[768435]=Z[543643],Z[768436]=Z[543644],Z[543643]=0,Z[543644]=0,Z[768437]=Z[543649],Z[768438]=Z[543650],Z[543649]=0,Z[543650]=0,!(Z[482659]|0))return;Z[768185]=1,Z[482659]=0;return}function rX(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0;if((Z[768028]|0)!=1|(Z[768034]|0)==0|(Z[482623]|0)!=0)V=0;else nX(),V=1;$=0;do{T=3073484+($<<5)|0,Z[T>>2]=0,X=Z[3072716+($<<5)>>2]|0,Y=3072972+($<<5)|0;do if(X|0){if(Z[Y>>2]|0?(Z[3073788+($<<5)>>2]|0)!=1:0)break;if(!(Z[3073228+($<<5)>>2]|0))Z[T>>2]=1}while(0);Z[Y>>2]=X,T=3073484+($<<5)+4|0,Z[T>>2]=0,Q=Z[3072716+($<<5)+4>>2]|0,W=3072972+($<<5)+4|0;do if(Q|0){if(Z[W>>2]|0?(Z[3073788+($<<5)+4>>2]|0)!=1:0)break;if(!(Z[3073228+($<<5)+4>>2]|0))Z[T>>2]=1}while(0);Z[W>>2]=Q,T=3073484+($<<5)+8|0,Z[T>>2]=0,X=Z[3072716+($<<5)+8>>2]|0,Y=3072972+($<<5)+8|0;do if(X|0){if(Z[Y>>2]|0?(Z[3073788+($<<5)+8>>2]|0)!=1:0)break;if(!(Z[3073228+($<<5)+8>>2]|0))Z[T>>2]=1}while(0);Z[Y>>2]=X,T=3073484+($<<5)+12|0,Z[T>>2]=0,Q=Z[3072716+($<<5)+12>>2]|0,W=3072972+($<<5)+12|0;do if(Q|0){if(Z[W>>2]|0?(Z[3073788+($<<5)+12>>2]|0)!=1:0)break;if(!(Z[3073228+($<<5)+12>>2]|0))Z[T>>2]=1}while(0);Z[W>>2]=Q,T=3073484+($<<5)+16|0,Z[T>>2]=0,X=Z[3072716+($<<5)+16>>2]|0,Y=3072972+($<<5)+16|0;do if(X|0){if(Z[Y>>2]|0?(Z[3073788+($<<5)+16>>2]|0)!=1:0)break;if(!(Z[3073228+($<<5)+16>>2]|0))Z[T>>2]=1}while(0);Z[Y>>2]=X,T=3073484+($<<5)+20|0,Z[T>>2]=0,Q=Z[3072716+($<<5)+20>>2]|0,W=3072972+($<<5)+20|0;do if(Q|0){if(Z[W>>2]|0?(Z[3073788+($<<5)+20>>2]|0)!=1:0)break;if(!(Z[3073228+($<<5)+20>>2]|0))Z[T>>2]=1}while(0);Z[W>>2]=Q,T=3073484+($<<5)+24|0,Z[T>>2]=0,X=Z[3072716+($<<5)+24>>2]|0,Y=3072972+($<<5)+24|0;do if(X|0){if(Z[Y>>2]|0?(Z[3073788+($<<5)+24>>2]|0)!=1:0)break;if(!(Z[3073228+($<<5)+24>>2]|0))Z[T>>2]=1}while(0);Z[Y>>2]=X,T=3073484+($<<5)+28|0,Z[T>>2]=0,Q=Z[3072716+($<<5)+28>>2]|0,W=3072972+($<<5)+28|0;do if(Q|0){if(Z[W>>2]|0?(Z[3073788+($<<5)+28>>2]|0)!=1:0)break;if(!(Z[3073228+($<<5)+28>>2]|0))Z[T>>2]=1}while(0);Z[W>>2]=Q,$=$+1|0}while(($|0)!=8);if((d8(2921764,Z[769129]|0,24412)|0)!=255){$=0;do{if(T=3073788+($<<5)|0,X=Z[T>>2]|0,(X|0)>0?(Y=X+-1|0,Z[T>>2]=Y,(Y|0)==0):0){if(Y=Z[482623]|0,!Y)X=d8(2921764,Z[769129]|0,24413)|0,U=Z[482623]|0,S=(X|0)==0?4:X;else U=Y,S=4;if(!(U|Z[543654]))Y=Z[785581]|0,J=(Y|0)>0?Y:30;else J=30;Z[T>>2]=(B(J,S)|0)/30|0}if(T=3073788+($<<5)+4|0,Y=Z[T>>2]|0,(Y|0)>0?(X=Y+-1|0,Z[T>>2]=X,(X|0)==0):0){if(X=Z[482623]|0,!X)Y=d8(2921764,Z[769129]|0,24413)|0,_=Z[482623]|0,K=(Y|0)==0?4:Y;else _=X,K=4;if(!(_|Z[543654]))X=Z[785581]|0,P=(X|0)>0?X:30;else P=30;Z[T>>2]=(B(P,K)|0)/30|0}if(T=3073788+($<<5)+8|0,X=Z[T>>2]|0,(X|0)>0?(Y=X+-1|0,Z[T>>2]=Y,(Y|0)==0):0){if(Y=Z[482623]|0,!Y)X=d8(2921764,Z[769129]|0,24413)|0,O=Z[482623]|0,L=(X|0)==0?4:X;else O=Y,L=4;if(!(O|Z[543654]))Y=Z[785581]|0,F=(Y|0)>0?Y:30;else F=30;Z[T>>2]=(B(F,L)|0)/30|0}if(T=3073788+($<<5)+12|0,Y=Z[T>>2]|0,(Y|0)>0?(X=Y+-1|0,Z[T>>2]=X,(X|0)==0):0){if(X=Z[482623]|0,!X)Y=d8(2921764,Z[769129]|0,24413)|0,z=Z[482623]|0,H=(Y|0)==0?4:Y;else z=X,H=4;if(!(z|Z[543654]))X=Z[785581]|0,C=(X|0)>0?X:30;else C=30;Z[T>>2]=(B(C,H)|0)/30|0}if(T=3073788+($<<5)+16|0,X=Z[T>>2]|0,(X|0)>0?(Y=X+-1|0,Z[T>>2]=Y,(Y|0)==0):0){if(Y=Z[482623]|0,!Y)X=d8(2921764,Z[769129]|0,24413)|0,A=Z[482623]|0,y=(X|0)==0?4:X;else A=Y,y=4;if(!(A|Z[543654]))Y=Z[785581]|0,k=(Y|0)>0?Y:30;else k=30;Z[T>>2]=(B(k,y)|0)/30|0}if(T=3073788+($<<5)+20|0,Y=Z[T>>2]|0,(Y|0)>0?(X=Y+-1|0,Z[T>>2]=X,(X|0)==0):0){if(X=Z[482623]|0,!X)Y=d8(2921764,Z[769129]|0,24413)|0,m=Z[482623]|0,I=(Y|0)==0?4:Y;else m=X,I=4;if(!(m|Z[543654]))X=Z[785581]|0,u=(X|0)>0?X:30;else u=30;Z[T>>2]=(B(u,I)|0)/30|0}if(T=3073788+($<<5)+24|0,X=Z[T>>2]|0,(X|0)>0?(Y=X+-1|0,Z[T>>2]=Y,(Y|0)==0):0){if(Y=Z[482623]|0,!Y)X=d8(2921764,Z[769129]|0,24413)|0,g=Z[482623]|0,i=(X|0)==0?4:X;else g=Y,i=4;if(!(g|Z[543654]))Y=Z[785581]|0,t=(Y|0)>0?Y:30;else t=30;Z[T>>2]=(B(t,i)|0)/30|0}if(T=3073788+($<<5)+28|0,Y=Z[T>>2]|0,(Y|0)>0?(X=Y+-1|0,Z[T>>2]=X,(X|0)==0):0){if(X=Z[482623]|0,!X)Y=d8(2921764,Z[769129]|0,24413)|0,Y0=Z[482623]|0,X0=(Y|0)==0?4:Y;else Y0=X,X0=4;if(!(Y0|Z[543654]))X=Z[785581]|0,T0=(X|0)>0?X:30;else T0=30;Z[T>>2]=(B(T0,X0)|0)/30|0}$=$+1|0}while(($|0)!=8)}if(V|0)return;nX();return}function Z$(V,$){V=V|0,$=$|0;var T=0,X=0;if(($|V)>>>0>=8)return T=0,T|0;if(X=Z[3072716+($<<5)+(V<<2)>>2]|0,!(Z[3072972+($<<5)+(V<<2)>>2]|0))return T=X,T|0;else return((Z[3073788+($<<5)+(V<<2)>>2]|0)==1?X:0)|0;return 0}function EP(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0;if(T=B2(131072)|0,N[$>>0]=0,!(N[V>>0]|0)){$6(T);return}X=1,Y=V,V=1;while(!0){N[T>>0]=0,Q=0,W=X,U=0,S=Y,J=0,_=0;while(!0){if(_>>>0>=16384){K=Q,P=W,O=U,L=S;break}if(_=_+1|0,!W)F=eQ(S)|0;else F=hU(S)|0;z=aQ()|0;do if((z|0)<-998|(z|0)==-995)if(S>>>0>>0){H=Q,C=S;while(!0)if(A=H+((N[C>>0]|0)==10&1)|0,C=C+1|0,(C|0)==(F|0)){y=A,k=U,m=J;break}else H=A}else y=Q,k=U,m=J;else{if(H=T+J|0,(z|0)==63){C=H,A=C,N[A>>0]=32,N[A+1>>0]=112,N[A+2>>0]=114,N[A+3>>0]=105,A=C+4|0,N[A>>0]=110,N[A+1>>0]=116,N[A+2>>0]=40,N[A+3>>0]=0,A=J+7|0,N[T+A>>0]=0,y=Q,k=1,m=A;break}if(A=F-S|0,q6(H|0,S|0,A|0)|0,H=A+J|0,N[T+H>>0]=0,(z|0)==-997)A=T+(x6(T)|0)|0,N[A>>0]=32,N[A+1>>0]=0,y=Q,k=U,m=H+1|0;else y=Q,k=U,m=H}while(0);if(!((z|1|0)!=-999&(F|0)!=0)){K=y,P=0,O=k,L=F;break}else Q=y,W=0,U=k,S=F,J=m}if(d1($,T)|0,O|0)J=$+(x6($)|0)|0,N[J>>0]=41,N[J+1>>0]=0;if(K|0){J=K;do J=J+-1|0,S=$+(x6($)|0)|0,N[S>>0]=10,N[S+1>>0]=0;while((J|0)!=0)}if(J=(N[L>>0]|0)!=0,V>>>0<65536&J)X=P,Y=L,V=V+(J&1)|0;else break}$6(T);return}function YJ(V,$){V=V|0,$=$|0;var T=0;return T=v5($|0,(($|0)<0)<<31>>31|0,V|0,((V|0)<0)<<31>>31|0)|0,V=B5(T|0,x()|0,16)|0,x()|0,V|0}function AY(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0;if(($|0)>65535&($&65535|0)==0)return T=(V|0)/($>>>16|0)|0,T|0;if(!$)return T=(V>>31&2)+2147483647|0,T|0;else return X=v1(V|0,((V|0)<0)<<31>>31|0,16)|0,V=q5(X|0,x()|0,$|0,(($|0)<0)<<31>>31|0)|0,$=x()|0,X=($|0)<0|($|0)==0&V>>>0<2147483647,Y=X?V:2147483647,V=X?$:0,$=(V|0)>-1|(V|0)==-1&Y>>>0>2147483649,V=$?Y:-2147483647,T=V,T|0;return 0}function QJ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0;if(!$)return T=0,T|0;if(X=($|0)<0?0-$|0:$,$=((V|0)==-2147483648?X:0)+V|0,($|0)<0)Y=X-((0-$|0)%(X|0)|0)|0;else Y=$;return T=(Y|0)%(X|0)|0,T|0}function WJ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0;if(!$)return T=65536,T|0;if(($|0)<0){if(!((V|0)>65535&(V&65535|0)==0))if(!V)X=2147483647;else Y=q5(0,1,V|0,((V|0)<0)<<31>>31|0)|0,Q=x()|0,W=(Q|0)<0|(Q|0)==0&Y>>>0<2147483647,U=W?Y:2147483647,Y=W?Q:0,Q=(Y|0)>-1|(Y|0)==-1&U>>>0>2147483649,Y=Q?U:-2147483647,X=Y;else X=65536/(V>>>16>>>0)|0;S=X,J=0-$|0}else S=V,J=$;if($=J&-65536,V=J-$|0,($|0)>65535){J=$,$=65536,X=S;while(!0)if(Y=((X|0)<0)<<31>>31,U=v5(X|0,Y|0,$|0,(($|0)<0)<<31>>31|0)|0,Q=B5(U|0,x()|0,16)|0,x()|0,U=(J&65536|0)==0?$:Q,Q=v5(X|0,Y|0,X|0,Y|0)|0,X=B5(Q|0,x()|0,16)|0,x()|0,J>>>0<=131071){_=U;break}else J=J>>>1,$=U}else _=65536;if((V|0)>0){$=_,J=S,S=V;while(!0){if((S|0)<65536){V=J,X=S;while(!0){if(U=v1(V|0,((V|0)<0)<<31>>31|0,16)|0,Q=x()|0,(V|0)<0)K=0;else{Y=1073741824,W=0;while(!0)if(P=B5(W|0,Y|0,2)|0,O=x()|0,Y>>>0>Q>>>0|(Y|0)==(Q|0)&W>>>0>U>>>0)Y=O,W=P;else break;if((W|0)==0&(Y|0)==0)L=0;else{P=0,O=0,F=W,z=Y,H=Q,C=U;while(!0){if(A=V2(P|0,O|0,F|0,z|0)|0,y=x()|0,H>>>0>>0|(H|0)==(y|0)&C>>>0>>0)k=B5(P|0,O|0,1)|0,m=C,I=H,u=k,g=x()|0;else k=L1(C|0,H|0,A|0,y|0)|0,y=x()|0,A=B5(P|0,O|0,1)|0,i=V2(A|0,x()|0,F|0,z|0)|0,m=k,I=y,u=i,g=x()|0;if(F=B5(F|0,z|0,2)|0,z=x()|0,(F|0)==0&(z|0)==0)break;else P=u,O=g,H=I,C=m}L=u}z2(8),K=L}if(C=X<<1,(X|0)<32768)V=K,X=C;else{t=K,Y0=C;break}}}else t=J,Y0=S;if(X=v5(t|0,((t|0)<0)<<31>>31|0,$|0,(($|0)<0)<<31>>31|0)|0,V=B5(X|0,x()|0,16)|0,x()|0,(Y0|0)>65536)$=V,J=t,S=Y0+-65536|0;else{X0=V;break}}}else X0=_;return z2(8),T=X0,T|0}function BP(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;if($=v1(V|0,((V|0)<0)<<31>>31|0,16)|0,T=x()|0,(V|0)<0)return X=0,X|0;V=1073741824,Y=0;while(!0)if(Q=B5(Y|0,V|0,2)|0,W=x()|0,V>>>0>T>>>0|(V|0)==(T|0)&Y>>>0>$>>>0)V=W,Y=Q;else break;if((Y|0)==0&(V|0)==0)U=0;else{Q=Y,Y=V,V=0,W=0,S=T,T=$;while(!0){if($=V2(Q|0,Y|0,V|0,W|0)|0,J=x()|0,S>>>0>>0|(S|0)==(J|0)&T>>>0<$>>>0)_=B5(V|0,W|0,1)|0,K=T,P=S,O=_,L=x()|0;else _=L1(T|0,S|0,$|0,J|0)|0,J=x()|0,$=B5(V|0,W|0,1)|0,F=V2($|0,x()|0,Q|0,Y|0)|0,K=_,P=J,O=F,L=x()|0;if(Q=B5(Q|0,Y|0,2)|0,Y=x()|0,(Q|0)==0&(Y|0)==0)break;else V=O,W=L,S=P,T=K}U=O}return z2(8),X=U,X|0}function CP(V,$){return V=V|0,$=$|0,fz(V,$)|0}function UX(V){V=V|0;var $=0,T=0,X=0;switch(V|0){case 0:{$=34816,T=3;break}case 1:{$=34820,T=3;break}default:X=0}if((T|0)==3)X=Z[$>>2]|0;return X|0}function HY(V,$){V=V|0,$=$|0;var T=0;switch(V|0){case 0:{T=34816;break}case 1:{T=34820;break}default:return}Z[T>>2]=$;return}function xY(V){V=V|0;var $=0;$=(V|0)==0?-559038737:V,Z[8705]=$,Z[8704]=$^-1095947846,$=0;do Z[8704]=(Z[8704]|0)>>>16|Z[8704]<<16,Z[8704]=(Z[8704]|0)+(Z[8705]|0),Z[8705]=(Z[8705]|0)+(Z[8704]|0),$=$+1|0;while(($|0)!=32);z2(8);return}function NJ(V){V=V|0;var $=0;if(!V)return $=0,$|0;return Z[8704]=(Z[8704]|0)>>>16|Z[8704]<<16,Z[8704]=(Z[8704]|0)+(Z[8705]|0),Z[8705]=(Z[8705]|0)+(Z[8704]|0),$=((Z[8704]|0)>>>0)%(V>>>0)|0,$|0}function WW(V,$){V=V|0,$=$|0;var T=0;return T=$>>>16,$=T&31,(1<<$)+-1&V>>>(0-T&31)|V<<$|0}function NW(V,$){V=V|0,$=$|0;var T=0;return T=$>>>16,$=0-T&31,(1<<$)+-1&V>>>(T&31)|V<<$|0}function yY(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0;Z:do if(($|0)<0){T=$;while(!0){if((T|0)<-2031616){X=0,Y=9;break}if(Q=T&-65536,W=0-Q|0,(W|0)>=0){Y=7;break}if((W|0)<-2031616){X=0,Y=9;break}if((Q|0)<0)T=Q;else{U=Q;break Z}}if((Y|0)==7)return X=(W|0)>2097151?0:V<<(W>>>16),X|0;else if((Y|0)==9)return X|0}else U=$;while(0);return((U|0)>2097151?0:V>>>(U>>>16))|0}function UW(V,$){V=V|0,$=$|0;var T=0;if(($|0)>=0)return(($|0)>2097151?0:V<<($>>>16))|0;if(($|0)<-2031616)return T=0,T|0;return T=yY(V,0-($&-65536)|0)|0,T|0}function JW(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;T=$>>16;do if(($|0)<0)if(($|0)>=-2031616){if(X=$&-65536,Y=0-X|0,(Y|0)>=0){Q=(Y|0)>2097151?0:V<<(Y>>>16);break}if((Y|0)>=-2031616){if((X|0)>=0){Q=(X|0)>2097151?0:V>>>(X>>>16);break}if((X|0)>=-2031616)while(!0);else Q=0}else Q=0}else Q=0;else if(($|0)>2097151){Q=V>>31;break}else{Q=V>>T;break}while(0);return Q|0}function SW(V,$){V=V|0,$=$|0;var T=0;return T=B2(2092)|0,C1(T,0,2092),Z[T>>2]=h1(V,$,8)|0,Z[T+24>>2]=h1(V,$,8)|0,Z[T+16>>2]=h1(V,$,8)|0,Z[T+20>>2]=h1(V,$,8)|0,T|0}function AP(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0;if(x8(1451072,0,16384)|0,T=Z[543129]|0,!T)X=I3(524288)|0,Z[543129]=X,Y=X,Q=X;else Y=T,Q=T;if(x8(Y|0,0,524288)|0,Y=$+-2|0,($|0)<=2)return;$=0,T=0;while(!0){if(X=T,T=T+1|0,W=1451072+((((G[V+T>>0]|0)*1503|0)+((G[V+X>>0]|0)*7|0)+((G[V+(X+2)>>0]|0)*51717|0)&4095)<<2)|0,U=Z[W>>2]|0,U)if(S=U+2|0,J=j[S>>1]|0,(j[U>>1]|0)==J<<16>>16)_=Q+($<<1)|0,Z[W>>2]=_,K=J<<16>>16<0?-1:(J&65535)<<1&65535,j[_>>1]=K,P=j[S>>1]|0,O=_+2|0,j[O>>1]=P,q6(_+4|0,U+4|0,n[S>>1]<<1|0)|0,L=P,F=O,z=$+2+(K&65535)|0,H=_;else L=J,F=S,z=$,H=U;else U=Q+($<<1)|0,Z[W>>2]=U,j[U>>1]=4,W=U+2|0,j[W>>1]=0,L=0,F=W,z=$+6|0,H=U;if(j[H+((L&65535)+2<<1)>>1]=X,j[F>>1]=L+1<<16>>16,(T|0)==(Y|0))break;else $=z}return}function HP(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0,j8=0,C6=0,o6=0,u6=0,p8=0,i8=0,q8=0,m8=0,l8=0,w8=0,U2=0,K8=0,A8=0,t8=0,_2=0,Y2=0,Q2=0,F2=0,w2=0,G2=0,K2=0,Z2=0,o2=0,u8=0,L2=0,N2=0,u2=0,Z1=0,I2=0,j2=0,Q1=0,p2=0,r2=0,W1=0,x2=0,a2=0,E2=0,d2=0,b2=0,P2=0,V1=0,X2=0,$1=0,P1=0,v2=0,T1=0,_1=0,l2=0,c1=0,$7=0,D1=0,n2=0,z1=0,N1=0,l1=0,A1=0,y1=0,B1=0,Z7=0,S1=0,q7=0,g2=0,T7=0,F7=0,N7=0,f8=0,C5=0,i1=0,c2=0,D2=0,X1=0,H2=0,i2=0,e8=0,t2=0,t1=0,y2=0,A2=0,M1=0,w1=0,p7=0,U1=0,h7=0,U7=0,E7=0,k2=0,I1=0,J1=0,O7=0,B7=0,j1=0,G7=0,M7=0,m7=0,s5=0,J7=0,F1=0,z7=0,G5=0,u7=0,r5=0,g7=0,j5=0,W9=0,Z9=0,A5=0,v7=0,l7=0,h5=0,g5=0,M5=0,r1=0,V9=0,C7=0,H5=0,i5=0,A7=0,L7=0,X7=0,N9=0,U9=0,L5=0,z9=0,P4=0,k3=0,z3=0,F9=0,c9=0,m4=0,p3=0,F3=0,J9=0,I9=0,m3=0,b3=0,U3=0,S9=0,J3=0,JZ=0,O4=0,E3=0,l9=0,S3=0,SZ=0,G4=0,e3=0,V5=0,Z3=0,u4=0,s9=0,k5=0,q9=0,B3=0,$9=0,T9=0,V3=0,i7=0,Y7=0,l4=0,v9=0,Q7=0,R1=0,X9=0,E9=0,s4=0,$5=0,a3=0,M4=0,c3=0,H7=0,C3=0,R9=0,R3=0,o4=0,_3=0,n4=0,L4=0,u3=0,B9=0,l3=0,Z4=0,r4=0,h4=0,M$=0,FT=0,K3=0,D4=0,xZ=0,P3=0,yZ=0,g9=0,s3=0,wZ=0,t5=0,ET=0,L$=0,z4=0,D7=0,IZ=0,t7=0,_9=0,RZ=0,K9=0,J2=0,$3=0,P9=0,p5=0,m2=0,s7=0,O1=0,h8=0,T5=0,H1=0,f5=0,S7=0,W2=0,c8=0,V4=0,T3=0,T2=0,S2=0,o3=0,F4=0,n3=0,A3=0,Y9=0,OV=0,qZ=0,GV=0,vZ=0,jZ=0,_Z=0,kZ=0,KZ=0,PZ=0,g4=0,pZ=0,D$=0,i4=0,z$=0,mZ=0,F$=0,E$=0,uZ=0,MV=0,lZ=0,LV=0,B$=0,DV=0,R7=0,sZ=0,BT=0,CT=0,C$=0,AT=0,A$=0,zV=0,H$=0,FV=0,oZ=0,x$=0,y$=0,HT=0,nZ=0,w$=0,EV=0,I$=0,rZ=0,OZ=0,GZ=0,q$=0,BV=0,CV=0,v$=0,j$=0,k$=0,hZ=0,$4=0,gZ=0,AV=0,p$=0,xT=0,m$=0,yT=0,wT=0,HV=0,E4=0,xV=0,u$=0,l$=0,IT=0,yV=0,qT=0,vT=0,wV=0,B4=0,IV=0,s$=0,o$=0,jT=0,n$=0,kT=0,pT=0,mT=0,iZ=0,r$=0,qV=0,vV=0,tZ=0,h$=0,g$=0,jV=0,fZ=0,i$=0,MZ=0,dZ=0,uT=0,kV=0,lT=0,t4=0,pV=0,t$=0,f$=0,d$=0,LZ=0,bZ=0,sT=0,mV=0,oT=0,f4=0,uV=0,b$=0,e$=0,a$=0,DZ=0,eZ=0,nT=0,lV=0,rT=0,d4=0,sV=0,hT=0,c$=0,gT=0,aZ=0,ZT=0,cZ=0,ZV=0,b4=0,iT=0,VT=0,oV=0,T4=0,nV=0,rV=0,$T=0,hV=0,VV=0,TT=0,tT=0,$V=0,C4=0,TV=0,XT=0,gV=0,fT=0,iV=0,dT=0,YT=0,QT=0,A4=0,tV=0,WT=0,NT=0,UT=0,bT=0,XV=0,JT=0,fV=0,eT=0,rN=0,hN=0,gN=0,iN=0,tN=0,fN=0,dN=0,HX=0,aT=0,xX=0,vQ=0;X=q,q=q+4112|0,Y=X+4108|0,Q=X+4104|0,W=X+3072|0,U=X+2048|0,S=X+1024|0,J=X,_=X+4100|0,K=X+4096|0,P=0;do Z[W+(P<<2)>>2]=P,P=P+1|0;while((P|0)!=256);P=0;do Z[U+(Z[W+(P<<2)>>2]<<2)>>2]=P,P=P+1|0;while((P|0)!=256);if(AP(V,T),Z[8706]=1,Z[543128]=0,Z[543126]=$,Z[543127]=0,!T)return O=0,q=X,O|0;if(P=B2(T)|0,q6(P|0,V|0,T|0)|0,L=Z[543126]|0,F=Z[8706]|0,z=Z[543127]|0,H=L+z|0,C=(F^255)&(G[H>>0]|0),N[H>>0]=C,A=F<<1,y=z+1|0,(A|0)!=256)if(k=(A^255)&C,N[H>>0]=k,C=F<<2,(C|0)==256)F=L+y|0,Z[543127]=y,A=G[F>>0]|0,Z[543128]=A,m=A&254,N[F>>0]=m,I=2,u=F,g=m,i=y,t=314;else Y0=z,X0=k,T0=H,Z0=y,W0=C,t=312;else C=L+y|0,Z[543127]=y,H=G[C>>0]|0,Z[543128]=H,k=H&254,N[C>>0]=k,Y0=y,X0=k,T0=C,Z0=z+2|0,W0=2,t=312;do if((t|0)==312){if(z=(W0^255)&(X0&255),N[T0>>0]=z,C=W0<<1,(C|0)==256){k=L+Z0|0,Z[543127]=Z0,y=G[k>>0]|0,Z[543128]=y,I=1,u=k,g=y,i=Z0,t=314;break}if(y=(C^255)&z,N[T0>>0]=y,z=W0<<2,(z|0)==256)C=L+Z0|0,Z[543127]=Z0,k=G[C>>0]|0,Z[543128]=k,H=k&254,N[C>>0]=H,O0=2,y0=C,E0=H,H0=Z0,t=319;else D0=Y0,_0=y,F0=T0,k0=Z0,m0=z,t=317}while(0);if((t|0)==314)Z0=(I^255)&g,N[u>>0]=Z0,D0=i,_0=Z0,F0=u,k0=i+1|0,m0=I<<1,t=317;do if((t|0)==317){if(I=(m0^255)&(_0&255),N[F0>>0]=I,i=m0<<1,(i|0)==256){u=L+k0|0,Z[543127]=k0,Z0=G[u>>0]|0,Z[543128]=Z0,O0=1,y0=u,E0=Z0,H0=k0,t=319;break}if(Z0=(i^255)&I,N[F0>>0]=Z0,I=m0<<2,(I|0)==256)i=L+k0|0,Z[543127]=k0,u=G[i>>0]|0,Z[543128]=u,g=u&254,N[i>>0]=g,B0=2,g0=i,o0=g,h0=k0,t=324;else C0=D0,u0=Z0,p0=F0,q0=k0,i0=I,t=322}while(0);if((t|0)==319)k0=(O0^255)&E0,N[y0>>0]=k0,C0=H0,u0=k0,p0=y0,q0=H0+1|0,i0=O0<<1,t=322;do if((t|0)==322){if(O0=(i0^255)&(u0&255),N[p0>>0]=O0,H0=i0<<1,(H0|0)==256){y0=L+q0|0,Z[543127]=q0,k0=G[y0>>0]|0,Z[543128]=k0,B0=1,g0=y0,o0=k0,h0=q0,t=324;break}if(k0=(H0^255)&O0,N[p0>>0]=k0,O0=i0<<2,(O0|0)==256)H0=L+q0|0,Z[543127]=q0,y0=G[H0>>0]|0,Z[543128]=y0,t0=q0,E6=1,V6=H0,n0=y0,e0=q0+1|0;else Z6=C0,U6=k0,N6=p0,A6=q0,S6=O0,t=326}while(0);if((t|0)==324)q0=(B0^255)&o0,N[g0>>0]=q0,Z6=h0,U6=q0,N6=g0,A6=h0+1|0,S6=B0<<1,t=326;if((t|0)==326)t0=Z6,E6=S6,V6=N6,n0=U6&255,e0=A6;if(Z[8706]=E6,A6=Z[543132]|0,Z[543132]=A6+8,U6=(E6^255)&n0,N[V6>>0]=U6,n0=E6<<1,(n0|0)!=256)if(N6=(n0^255)&U6,N[V6>>0]=N6,U6=E6<<2,(U6|0)==256)E6=L+e0|0,Z[543127]=e0,n0=G[E6>>0]|0,Z[543128]=n0,S6=n0&254,N[E6>>0]=S6,H6=2,M6=E6,F6=S6,J6=e0,t=296;else L6=t0,c0=N6,T6=V6,W6=e0,h6=U6,t=294;else U6=L+e0|0,Z[543127]=e0,V6=G[U6>>0]|0,Z[543128]=V6,N6=V6&254,N[U6>>0]=N6,L6=e0,c0=N6,T6=U6,W6=e0+1|0,h6=2,t=294;do if((t|0)==294){if(e0=(h6^255)&(c0&255),N[T6>>0]=e0,U6=h6<<1,(U6|0)==256){N6=L+W6|0,Z[543127]=W6,V6=G[N6>>0]|0,Z[543128]=V6,H6=1,M6=N6,F6=V6,J6=W6,t=296;break}if(V6=(U6^255)&e0,N[T6>>0]=V6,e0=h6<<2,(e0|0)==256)U6=L+W6|0,Z[543127]=W6,N6=G[U6>>0]|0,Z[543128]=N6,s6=1,p6=W6,G6=U6,w6=N6,B6=W6+1|0;else i6=L6,H8=V6,m6=T6,_8=W6,v8=e0,t=298}while(0);if((t|0)==296)W6=(H6^255)&F6,N[M6>>0]=W6,i6=J6,H8=W6,m6=M6,_8=J6+1|0,v8=H6<<1,t=298;if((t|0)==298)s6=v8,p6=i6,G6=m6,w6=H8&255,B6=_8;if(_8=s6|(s6^255)&w6,N[G6>>0]=_8,w6=s6<<1,(w6|0)==256)s6=L+B6|0,Z[543127]=B6,H8=G[s6>>0]|0,Z[543128]=H8,Y8=1,T8=B6,C8=s6,j8=H8,C6=B6+1|0;else Y8=w6,T8=p6,C8=G6,j8=_8&255,C6=B6;if(B6=Y8|(Y8^255)&j8,N[C8>>0]=B6,j8=Y8<<1,(j8|0)==256)Y8=L+C6|0,Z[543127]=C6,_8=G[Y8>>0]|0,Z[543128]=_8,o6=1,u6=C6,p8=Y8,i8=_8,q8=C6+1|0;else o6=j8,u6=T8,p8=C8,i8=B6&255,q8=C6;if(C6=o6|(o6^255)&i8,N[p8>>0]=C6,i8=o6<<1,(i8|0)!=256)if(B6=(i8^255)&(C6&255),N[p8>>0]=B6,C6=o6<<2,(C6|0)==256)o6=L+q8|0,Z[543127]=q8,i8=G[o6>>0]|0,Z[543128]=i8,m8=q8,l8=1,w8=o6,U2=i8,K8=q8+1|0;else m8=u6,l8=C6,w8=p8,U2=B6,K8=q8;else B6=L+q8|0,Z[543127]=q8,p8=G[B6>>0]|0,Z[543128]=p8,C6=p8&254,N[B6>>0]=C6,m8=q8,l8=2,w8=B6,U2=C6,K8=q8+1|0;Z[8706]=l8,Z[543132]=A6+16,q8=(l8^255)&U2,N[w8>>0]=q8,U2=l8<<1;do if((U2|0)!=256){if(C6=(U2^255)&(q8&255),N[w8>>0]=C6,B6=l8<<2,(B6|0)==256){p8=L+K8|0,Z[543127]=K8,u6=G[p8>>0]|0,Z[543128]=u6,A8=1,t8=p8,_2=u6,t=275;break}if(u6=(B6^255)&C6,N[w8>>0]=u6,C6=l8<<3,(C6|0)==256)B6=L+K8|0,Z[543127]=K8,p8=G[B6>>0]|0,Z[543128]=p8,Y2=1,Q2=K8,F2=B6,w2=p8,G2=K8+1|0;else K2=m8,Z2=u6,o2=w8,u8=K8,L2=C6,t=277}else C6=L+K8|0,Z[543127]=K8,u6=G[C6>>0]|0,Z[543128]=u6,p8=u6&254,N[C6>>0]=p8,A8=2,t8=C6,_2=p8,t=275;while(0);if((t|0)==275)w8=(A8^255)&_2,N[t8>>0]=w8,K2=K8,Z2=w8,o2=t8,u8=K8+1|0,L2=A8<<1,t=277;if((t|0)==277)Y2=L2,Q2=K2,F2=o2,w2=Z2&255,G2=u8;if(u8=Y2|(Y2^255)&w2,N[F2>>0]=u8,w2=Y2<<1,(w2|0)==256)Y2=L+G2|0,Z[543127]=G2,Z2=G[Y2>>0]|0,Z[543128]=Z2,N2=1,u2=G2,Z1=Y2,I2=Z2,j2=G2+1|0;else N2=w2,u2=Q2,Z1=F2,I2=u8&255,j2=G2;if(G2=N2|(N2^255)&I2,N[Z1>>0]=G2,I2=N2<<1,(I2|0)==256)N2=L+j2|0,Z[543127]=j2,u8=G[N2>>0]|0,Z[543128]=u8,Q1=1,p2=j2,r2=N2,W1=u8,x2=j2+1|0;else Q1=I2,p2=u2,r2=Z1,W1=G2&255,x2=j2;if(j2=Q1|(Q1^255)&W1,N[r2>>0]=j2,W1=Q1<<1,(W1|0)==256)Q1=L+x2|0,Z[543127]=x2,G2=G[Q1>>0]|0,Z[543128]=G2,a2=1,E2=x2,d2=Q1,b2=G2,P2=x2+1|0;else a2=W1,E2=p2,d2=r2,b2=j2&255,P2=x2;if(x2=a2|(a2^255)&b2,N[d2>>0]=x2,b2=a2<<1,(b2|0)!=256)if(j2=(b2^255)&(x2&255),N[d2>>0]=j2,x2=a2<<2,(x2|0)==256)a2=L+P2|0,Z[543127]=P2,b2=G[a2>>0]|0,Z[543128]=b2,V1=P2,X2=1,$1=a2,P1=b2,v2=P2+1|0;else V1=E2,X2=x2,$1=d2,P1=j2,v2=P2;else j2=L+P2|0,Z[543127]=P2,d2=G[j2>>0]|0,Z[543128]=d2,x2=d2&254,N[j2>>0]=x2,V1=P2,X2=2,$1=j2,P1=x2,v2=P2+1|0;Z[8706]=X2,Z[543132]=A6+24,P2=X2|(X2^255)&P1,N[$1>>0]=P2,P1=X2<<1;do if((P1|0)!=256){if(x2=(P1^255)&(P2&255),N[$1>>0]=x2,j2=X2<<2,(j2|0)==256){d2=L+v2|0,Z[543127]=v2,E2=G[d2>>0]|0,Z[543128]=E2,T1=1,_1=d2,l2=E2,t=256;break}if(E2=(j2^255)&x2,N[$1>>0]=E2,x2=X2<<3,(x2|0)==256)j2=L+v2|0,Z[543127]=v2,d2=G[j2>>0]|0,Z[543128]=d2,b2=d2&254,N[j2>>0]=b2,c1=2,$7=j2,D1=b2,n2=v2,t=261;else z1=V1,N1=E2,l1=$1,A1=v2,y1=x2,t=259}else x2=L+v2|0,Z[543127]=v2,E2=G[x2>>0]|0,Z[543128]=E2,b2=E2&254,N[x2>>0]=b2,T1=2,_1=x2,l2=b2,t=256;while(0);if((t|0)==256)$1=(T1^255)&l2,N[_1>>0]=$1,z1=v2,N1=$1,l1=_1,A1=v2+1|0,y1=T1<<1,t=259;do if((t|0)==259){if(T1=(y1^255)&(N1&255),N[l1>>0]=T1,v2=y1<<1,(v2|0)==256){_1=L+A1|0,Z[543127]=A1,$1=G[_1>>0]|0,Z[543128]=$1,c1=1,$7=_1,D1=$1,n2=A1,t=261;break}if($1=(v2^255)&T1,N[l1>>0]=$1,T1=y1<<2,(T1|0)==256)v2=L+A1|0,Z[543127]=A1,_1=G[v2>>0]|0,Z[543128]=_1,B1=1,Z7=A1,S1=v2,q7=_1,g2=A1+1|0;else T7=z1,F7=$1,N7=l1,f8=A1,C5=T1,t=263}while(0);if((t|0)==261)A1=(c1^255)&D1,N[$7>>0]=A1,T7=n2,F7=A1,N7=$7,f8=n2+1|0,C5=c1<<1,t=263;if((t|0)==263)B1=C5,Z7=T7,S1=N7,q7=F7&255,g2=f8;if(f8=B1|(B1^255)&q7,N[S1>>0]=f8,q7=B1<<1,(q7|0)==256)B1=L+g2|0,Z[543127]=g2,F7=G[B1>>0]|0,Z[543128]=F7,i1=1,c2=g2,D2=B1,X1=F7,H2=g2+1|0;else i1=q7,c2=Z7,D2=S1,X1=f8&255,H2=g2;if(g2=i1|(i1^255)&X1,N[D2>>0]=g2,X1=i1<<1,(X1|0)!=256)if(f8=(X1^255)&(g2&255),N[D2>>0]=f8,g2=i1<<2,(g2|0)==256)i1=L+H2|0,Z[543127]=H2,X1=G[i1>>0]|0,Z[543128]=X1,i2=H2,e8=1,t2=i1,t1=X1,y2=H2+1|0;else i2=c2,e8=g2,t2=D2,t1=f8,y2=H2;else f8=L+H2|0,Z[543127]=H2,D2=G[f8>>0]|0,Z[543128]=D2,g2=D2&254,N[f8>>0]=g2,i2=H2,e8=2,t2=f8,t1=g2,y2=H2+1|0;if(Z[8706]=e8,Z[543132]=A6+32,H2=(T|0)/256|0,g2=((H2&1|0)==0?0:e8)|(e8^255)&t1,N[t2>>0]=g2,t1=e8<<1,(t1|0)==256)e8=L+y2|0,Z[543127]=y2,f8=G[e8>>0]|0,Z[543128]=f8,A2=1,M1=y2,w1=e8,p7=f8,U1=y2+1|0;else A2=t1,M1=i2,w1=t2,p7=g2&255,U1=y2;if(y2=((H2&2|0)==0?0:A2)|(A2^255)&p7,N[w1>>0]=y2,p7=A2<<1,(p7|0)==256)A2=L+U1|0,Z[543127]=U1,g2=G[A2>>0]|0,Z[543128]=g2,h7=1,U7=U1,E7=A2,k2=g2,I1=U1+1|0;else h7=p7,U7=M1,E7=w1,k2=y2&255,I1=U1;if(U1=((H2&4|0)==0?0:h7)|(h7^255)&k2,N[E7>>0]=U1,k2=h7<<1,(k2|0)==256)h7=L+I1|0,Z[543127]=I1,y2=G[h7>>0]|0,Z[543128]=y2,J1=1,O7=I1,B7=h7,j1=y2,G7=I1+1|0;else J1=k2,O7=U7,B7=E7,j1=U1&255,G7=I1;if(I1=((H2&8|0)==0?0:J1)|(J1^255)&j1,N[B7>>0]=I1,j1=J1<<1,(j1|0)==256)J1=L+G7|0,Z[543127]=G7,U1=G[J1>>0]|0,Z[543128]=U1,M7=1,m7=G7,s5=J1,J7=U1,F1=G7+1|0;else M7=j1,m7=O7,s5=B7,J7=I1&255,F1=G7;if(G7=((H2&16|0)==0?0:M7)|(M7^255)&J7,N[s5>>0]=G7,J7=M7<<1,(J7|0)==256)M7=L+F1|0,Z[543127]=F1,I1=G[M7>>0]|0,Z[543128]=I1,z7=1,G5=F1,u7=M7,r5=I1,g7=F1+1|0;else z7=J7,G5=m7,u7=s5,r5=G7&255,g7=F1;if(F1=((H2&32|0)==0?0:z7)|(z7^255)&r5,N[u7>>0]=F1,r5=z7<<1,(r5|0)==256)z7=L+g7|0,Z[543127]=g7,G7=G[z7>>0]|0,Z[543128]=G7,j5=1,W9=g7,Z9=z7,A5=G7,v7=g7+1|0;else j5=r5,W9=G5,Z9=u7,A5=F1&255,v7=g7;if(g7=((H2&64|0)==0?0:j5)|(j5^255)&A5,N[Z9>>0]=g7,A5=j5<<1,(A5|0)==256)j5=L+v7|0,Z[543127]=v7,F1=G[j5>>0]|0,Z[543128]=F1,l7=1,h5=v7,g5=j5,M5=F1,r1=v7+1|0;else l7=A5,h5=W9,g5=Z9,M5=g7&255,r1=v7;if(v7=((H2&128|0)==0?0:l7)|(l7^255)&M5,N[g5>>0]=v7,M5=l7<<1,(M5|0)==256)l7=L+r1|0,Z[543127]=r1,g7=G[l7>>0]|0,Z[543128]=g7,V9=r1,C7=1,H5=l7,i5=g7,A7=r1+1|0;else V9=h5,C7=M5,H5=g5,i5=v7&255,A7=r1;if(Z[8706]=C7,Z[543132]=A6+40,r1=T-(H2<<8)|0,H2=((r1&1|0)==0?0:C7)|(C7^255)&i5,N[H5>>0]=H2,i5=C7<<1,(i5|0)==256)C7=L+A7|0,Z[543127]=A7,v7=G[C7>>0]|0,Z[543128]=v7,L7=1,X7=A7,N9=C7,U9=v7,L5=A7+1|0;else L7=i5,X7=V9,N9=H5,U9=H2&255,L5=A7;if(A7=((r1&2|0)==0?0:L7)|(L7^255)&U9,N[N9>>0]=A7,U9=L7<<1,(U9|0)==256)L7=L+L5|0,Z[543127]=L5,H2=G[L7>>0]|0,Z[543128]=H2,z9=1,P4=L5,k3=L7,z3=H2,F9=L5+1|0;else z9=U9,P4=X7,k3=N9,z3=A7&255,F9=L5;if(L5=((r1&4|0)==0?0:z9)|(z9^255)&z3,N[k3>>0]=L5,z3=z9<<1,(z3|0)==256)z9=L+F9|0,Z[543127]=F9,A7=G[z9>>0]|0,Z[543128]=A7,c9=1,m4=F9,p3=z9,F3=A7,J9=F9+1|0;else c9=z3,m4=P4,p3=k3,F3=L5&255,J9=F9;if(F9=((r1&8|0)==0?0:c9)|(c9^255)&F3,N[p3>>0]=F9,F3=c9<<1,(F3|0)==256)c9=L+J9|0,Z[543127]=J9,L5=G[c9>>0]|0,Z[543128]=L5,I9=1,m3=J9,b3=c9,U3=L5,S9=J9+1|0;else I9=F3,m3=m4,b3=p3,U3=F9&255,S9=J9;if(J9=((r1&16|0)==0?0:I9)|(I9^255)&U3,N[b3>>0]=J9,U3=I9<<1,(U3|0)==256)I9=L+S9|0,Z[543127]=S9,F9=G[I9>>0]|0,Z[543128]=F9,J3=1,JZ=S9,O4=I9,E3=F9,l9=S9+1|0;else J3=U3,JZ=m3,O4=b3,E3=J9&255,l9=S9;if(S9=((r1&32|0)==0?0:J3)|(J3^255)&E3,N[O4>>0]=S9,E3=J3<<1,(E3|0)==256)J3=L+l9|0,Z[543127]=l9,J9=G[J3>>0]|0,Z[543128]=J9,S3=1,SZ=l9,G4=J3,e3=J9,V5=l9+1|0;else S3=E3,SZ=JZ,G4=O4,e3=S9&255,V5=l9;if(l9=((r1&64|0)==0?0:S3)|(S3^255)&e3,N[G4>>0]=l9,e3=S3<<1,(e3|0)==256)S3=L+V5|0,Z[543127]=V5,S9=G[S3>>0]|0,Z[543128]=S9,Z3=1,u4=V5,s9=S3,k5=S9,q9=V5+1|0;else Z3=e3,u4=SZ,s9=G4,k5=l9&255,q9=V5;if(V5=((r1&128|0)==0?0:Z3)|(Z3^255)&k5,N[s9>>0]=V5,k5=Z3<<1,(k5|0)==256)Z3=L+q9|0,Z[543127]=q9,r1=G[Z3>>0]|0,Z[543128]=r1,B3=q9,$9=1,T9=Z3,V3=r1,i7=q9+1|0;else B3=u4,$9=k5,T9=s9,V3=V5&255,i7=q9;Z[8706]=$9,Z[543132]=A6+48,q9=($9^255)&V3,N[T9>>0]=q9,V3=$9<<1;do if((V3|0)==256)V5=L+i7|0,Z[543127]=i7,s9=G[V5>>0]|0,Z[543128]=s9,k5=s9&254,N[V5>>0]=k5,Y7=i7,l4=k5,v9=V5,Q7=i7+1|0,R1=2,t=197;else{if(V5=(V3^255)&q9,N[T9>>0]=V5,k5=$9<<2,(k5|0)!=256){Y7=B3,l4=V5,v9=T9,Q7=i7,R1=k5,t=197;break}k5=L+i7|0,Z[543127]=i7,V5=G[k5>>0]|0,Z[543128]=V5,s9=V5&254,N[k5>>0]=s9,X9=2,E9=k5,s4=s9,$5=i7,t=199}while(0);do if((t|0)==197){if(i7=(R1^255)&(l4&255),N[v9>>0]=i7,T9=R1<<1,(T9|0)==256){B3=L+Q7|0,Z[543127]=Q7,$9=G[B3>>0]|0,Z[543128]=$9,X9=1,E9=B3,s4=$9,$5=Q7,t=199;break}if($9=(T9^255)&i7,N[v9>>0]=$9,i7=R1<<2,(i7|0)!=256){a3=Y7,M4=$9,c3=v9,H7=Q7,C3=i7,t=202;break}i7=L+Q7|0,Z[543127]=Q7,$9=G[i7>>0]|0,Z[543128]=$9,T9=$9&254,N[i7>>0]=T9,R9=2,R3=i7,o4=T9,_3=Q7,t=204}while(0);if((t|0)==199)Q7=(X9^255)&s4,N[E9>>0]=Q7,a3=$5,M4=Q7,c3=E9,H7=$5+1|0,C3=X9<<1,t=202;do if((t|0)==202){if(X9=(C3^255)&(M4&255),N[c3>>0]=X9,$5=C3<<1,($5|0)==256){E9=L+H7|0,Z[543127]=H7,Q7=G[E9>>0]|0,Z[543128]=Q7,R9=1,R3=E9,o4=Q7,_3=H7,t=204;break}if(Q7=($5^255)&X9,N[c3>>0]=Q7,X9=C3<<2,(X9|0)!=256){n4=a3,L4=Q7,u3=c3,B9=H7,l3=X9,t=207;break}X9=L+H7|0,Z[543127]=H7,Q7=G[X9>>0]|0,Z[543128]=Q7,$5=Q7&254,N[X9>>0]=$5,Z4=2,r4=X9,h4=$5,M$=H7,t=209}while(0);if((t|0)==204)H7=(R9^255)&o4,N[R3>>0]=H7,n4=_3,L4=H7,u3=R3,B9=_3+1|0,l3=R9<<1,t=207;do if((t|0)==207){if(R9=(l3^255)&(L4&255),N[u3>>0]=R9,_3=l3<<1,(_3|0)==256){R3=L+B9|0,Z[543127]=B9,H7=G[R3>>0]|0,Z[543128]=H7,Z4=1,r4=R3,h4=H7,M$=B9,t=209;break}if(H7=(_3^255)&R9,N[u3>>0]=H7,R9=l3<<2,(R9|0)!=256){FT=n4,K3=H7,D4=u3,xZ=B9,P3=R9,t=211;break}R9=L+B9|0,Z[543127]=B9,H7=G[R9>>0]|0,Z[543128]=H7,yZ=B9,g9=1,s3=R9,wZ=H7,t5=B9+1|0}while(0);if((t|0)==209)B9=(Z4^255)&h4,N[r4>>0]=B9,FT=M$,K3=B9,D4=r4,xZ=M$+1|0,P3=Z4<<1,t=211;if((t|0)==211)yZ=FT,g9=P3,s3=D4,wZ=K3&255,t5=xZ;Z[8706]=g9,Z[543132]=A6+56,xZ=(g9^255)&wZ,N[s3>>0]=xZ,wZ=g9<<1;do if((wZ|0)==256)K3=L+t5|0,Z[543127]=t5,D4=G[K3>>0]|0,Z[543128]=D4,P3=D4&254,N[K3>>0]=P3,ET=t5,L$=P3,z4=K3,D7=t5+1|0,IZ=2,t=179;else{if(K3=(wZ^255)&xZ,N[s3>>0]=K3,P3=g9<<2,(P3|0)!=256){ET=yZ,L$=K3,z4=s3,D7=t5,IZ=P3,t=179;break}P3=L+t5|0,Z[543127]=t5,K3=G[P3>>0]|0,Z[543128]=K3,D4=K3&254,N[P3>>0]=D4,t7=2,_9=P3,RZ=D4,K9=t5,t=181}while(0);do if((t|0)==179){if(t5=(IZ^255)&(L$&255),N[z4>>0]=t5,s3=IZ<<1,(s3|0)==256){yZ=L+D7|0,Z[543127]=D7,g9=G[yZ>>0]|0,Z[543128]=g9,t7=1,_9=yZ,RZ=g9,K9=D7,t=181;break}if(g9=(s3^255)&t5,N[z4>>0]=g9,t5=IZ<<2,(t5|0)!=256){J2=ET,$3=g9,P9=z4,p5=D7,m2=t5,t=184;break}t5=L+D7|0,Z[543127]=D7,g9=G[t5>>0]|0,Z[543128]=g9,s3=g9&254,N[t5>>0]=s3,s7=2,O1=t5,h8=s3,T5=D7,t=186}while(0);if((t|0)==181)D7=(t7^255)&RZ,N[_9>>0]=D7,J2=K9,$3=D7,P9=_9,p5=K9+1|0,m2=t7<<1,t=184;do if((t|0)==184){if(t7=(m2^255)&($3&255),N[P9>>0]=t7,K9=m2<<1,(K9|0)==256){_9=L+p5|0,Z[543127]=p5,D7=G[_9>>0]|0,Z[543128]=D7,s7=1,O1=_9,h8=D7,T5=p5,t=186;break}if(D7=(K9^255)&t7,N[P9>>0]=D7,t7=m2<<2,(t7|0)!=256){H1=J2,f5=D7,S7=P9,W2=p5,c8=t7,t=189;break}t7=L+p5|0,Z[543127]=p5,D7=G[t7>>0]|0,Z[543128]=D7,K9=D7&254,N[t7>>0]=K9,V4=p5,T3=2,T2=t7,S2=K9,t=191}while(0);if((t|0)==186)p5=(s7^255)&h8,N[O1>>0]=p5,H1=T5,f5=p5,S7=O1,W2=T5+1|0,c8=s7<<1,t=189;do if((t|0)==189){if(s7=(c8^255)&(f5&255),N[S7>>0]=s7,T5=c8<<1,(T5|0)==256){O1=L+W2|0,Z[543127]=W2,p5=G[O1>>0]|0,Z[543128]=p5,V4=W2,T3=1,T2=O1,S2=p5,t=191;break}if(N[S7>>0]=(T5^255)&s7,s7=c8<<2,(s7|0)!=256){o3=H1,F4=s7,t=193;break}Z[543127]=W2,s7=G[L+W2>>0]|0,Z[543128]=s7,n3=1,A3=W2,Y9=s7}while(0);if((t|0)==191)N[T2>>0]=(T3^255)&S2,o3=V4,F4=T3<<1,t=193;if((t|0)==193)n3=F4,A3=o3,Y9=Z[543128]|0;if(Z[8706]=n3,Z[543132]=A6+64,Z[543123]=0,Z[543124]=0,Z[543125]=0,A6=A3<<16|n3|Y9<<8,q6(S|0,W|0,1024)|0,q6(J|0,U|0,1024)|0,(T|0)>0){Y9=0,n3=A6,o3=A6>>16,F4=A6>>8,A6=A3,A3=0,T3=0,V4=0;while(!0){if(S2=RW(P,Y9,T,Y,Q)|0,T2=G[P+Y9>>0]|0,W2=U+(T2<<2)|0,L=Z[W2>>2]|0,H1=(L|0)<16,H1)OV=4;else{c8=4,S7=16;while(!0)if(f5=c8+1|0,S7=S7+(2<2){S7=Z[Q>>2]|0;Z:do if((S7|0)>(c8|0)&(S7|0)<128){f5=(S7*6|0)/5|0,Z[_>>2]=0,Z[K>>2]=0,RW(P,Y9+1|0,T,_,K)|0;do if((Z[K>>2]|0)<=(f5|0)){if(Z[_>>2]=0,Z[K>>2]=0,RW(P,Y9+2|0,T,_,K)|0,(Z[K>>2]|0)>(f5|0))break;qZ=S7;break Z}while(0);Z[Q>>2]=0,qZ=0}else qZ=S7;while(0);if((qZ|0)<=(c8|0)){t=58;break}if(S7=Z[8706]|0,f5=Z[543126]|0,s7=Z[543127]|0,T5=f5+s7|0,N[T5>>0]=(S7^255)&(G[T5>>0]|0),T5=S7<<1,Z[8706]=T5,(T5|0)==256)Z[8706]=1,S7=s7+1|0,Z[543127]=S7,Z[543128]=G[f5+S7>>0],GV=S7,vZ=1;else GV=s7,vZ=T5;T5=(Z[543130]|0)+1|0,Z[543130]=T5,s7=Z[Y>>2]|0,S7=5;while(!0)if((1<>>0)/5|0,h8=GV,P9=vZ,J2=0,m2=3-O1|0;while(!0){if($3=(m2|0)<1,K9=$3?m2:1,t7=f5+h8|0,N[t7>>0]=((K9&1|0)==0?0:P9)|(P9^255)&(G[t7>>0]|0),t7=P9<<1,D7=h8+1|0,(t7|0)==256)Z[543127]=D7,Z[543128]=G[f5+D7>>0],jZ=D7,_Z=1;else jZ=h8,_Z=t7;if(J2=J2+1|0,J2>>>0>=2)break;if($3)break;else h8=jZ,P9=_Z,m2=m2-K9|0}Z[8706]=_Z,m2=_Z,P9=jZ,h8=0;while(!0){if(J2=f5+P9|0,N[J2>>0]=((1<>0]|0),J2=m2<<1,s7=P9+1|0,(J2|0)==256)Z[543127]=s7,Z[543128]=G[f5+s7>>0],kZ=s7,KZ=1;else kZ=P9,KZ=J2;if(h8=h8+1|0,(h8|0)==(S7|0))break;else m2=KZ,P9=kZ}Z[8706]=KZ,P9=S7+T5+O1|0,Z[543130]=P9,m2=kZ,h8=KZ,p5=0,J2=S2+-3|0;while(!0){if(s7=(J2|0)<7,K9=s7?J2:7,$3=f5+m2|0,t7=((K9&1|0)==0?0:h8)|(h8^255)&(G[$3>>0]|0),N[$3>>0]=t7,D7=h8<<1,_9=m2+1|0,(D7|0)==256)RZ=f5+_9|0,Z[543127]=_9,z4=G[RZ>>0]|0,Z[543128]=z4,PZ=_9,g4=1,pZ=RZ,D$=z4,i4=m2+2|0;else PZ=m2,g4=D7,pZ=$3,D$=t7&255,i4=_9;if(_9=((K9&2|0)==0?0:g4)|(g4^255)&D$,N[pZ>>0]=_9,t7=g4<<1,(t7|0)==256)$3=f5+i4|0,Z[543127]=i4,D7=G[$3>>0]|0,Z[543128]=D7,z$=i4,mZ=1,F$=$3,E$=D7,uZ=i4+1|0;else z$=PZ,mZ=t7,F$=pZ,E$=_9&255,uZ=i4;if(N[F$>>0]=((K9&4|0)==0?0:mZ)|(mZ^255)&E$,_9=mZ<<1,(_9|0)==256)Z[543127]=uZ,Z[543128]=G[f5+uZ>>0],MV=uZ,lZ=1;else MV=z$,lZ=_9;if(p5=p5+3|0,p5>>>0>=1e5)break;if(s7)break;else m2=MV,h8=lZ,J2=J2-K9|0}if(Z[8706]=lZ,Z[543130]=p5+P9,(S2|0)>9)Z[543125]=(Z[543125]|0)+1;Z[543123]=(Z[543123]|0)+1,LV=S2,B$=lZ,DV=MV,R7=f5,sZ=2172524}else t=58;while(0);if((t|0)==58){if(t=0,S2=Z[8706]|0,c8=Z[543126]|0,J2=Z[543127]|0,h8=c8+J2|0,N[h8>>0]=(S2^255)&(G[h8>>0]|0)|S2,h8=S2<<1,Z[8706]=h8,(h8|0)==256)Z[8706]=1,S2=J2+1|0,Z[543127]=S2,Z[543128]=G[c8+S2>>0],BT=S2,CT=1;else BT=J2,CT=h8;if(H1)C$=4,AT=L;else{h8=4,J2=16,S2=L;while(!0)if(m2=S2-(1<>0]=((O1&1|0)==0?0:h8)|(h8^255)&(G[T5>>0]|0),T5=h8<<1,S7=S2+1|0,(T5|0)==256)Z[543127]=S7,Z[543128]=G[c8+S7>>0],A$=S7,zV=1;else A$=S2,zV=T5;if(J2=J2+1|0,J2>>>0>=16)break;if(m2)break;else S2=A$,h8=zV,H1=H1-O1|0}Z[8706]=zV,H1=zV,h8=A$,S2=0;while(!0){if(J2=c8+h8|0,N[J2>>0]=((1<>0]|0),J2=H1<<1,O1=h8+1|0,(J2|0)==256)Z[543127]=O1,Z[543128]=G[c8+O1>>0],H$=O1,FV=1;else H$=h8,FV=J2;if(S2=S2+1|0,(S2|0)==(C$|0))break;else H1=FV,h8=H$}if(Z[8706]=FV,(L|0)>0){h8=L;do H1=h8,h8=h8+-1|0,S2=Z[W+(h8<<2)>>2]|0,Z[W+(H1<<2)>>2]=S2,J2=U+(S2<<2)|0,Z[J2>>2]=(Z[J2>>2]|0)+1;while((H1|0)>1)}Z[W>>2]=T2,Z[W2>>2]=0,LV=1,B$=FV,DV=H$,R7=c8,sZ=2172496}if(Z[sZ>>2]=(Z[sZ>>2]|0)+LV,h8=(Y9|0)<2?0:Y9+-2|0,Y9=LV+Y9|0,L=Y9+-2|0,(h8|0)<(L|0)){H1=h8;do H1=H1+1|0;while((H1|0)<(L|0))}if(L=DV-A6|0,(Y9|0)==(T|0)|(L|0)>31){if(H1=Y9-A3|0,(L|0)>(H1+((T3|0)==(A3|0)?3:0)|0)){if(L=n3&255,Z[8706]=L,Z[543128]=F4&255,Z[543127]=o3,!V4){if(c8=R7+o3|0,W2=(n3^255)&(G[c8>>0]|0),N[c8>>0]=W2,T2=L<<1,Z[8706]=T2,(L|0)==128)Z[8706]=1,h8=o3+1|0,Z[543127]=h8,J2=R7+h8|0,S2=G[J2>>0]|0,Z[543128]=S2,oZ=1,x$=h8,y$=J2,HT=S2;else oZ=T2,x$=o3,y$=c8,HT=W2;if(W2=(oZ^255)&HT|oZ,N[y$>>0]=W2,c8=oZ<<1,Z[8706]=c8,(oZ|0)==128)Z[8706]=1,T2=x$+1|0,Z[543127]=T2,S2=R7+T2|0,J2=G[S2>>0]|0,Z[543128]=J2,nZ=1,w$=T2,EV=S2,I$=J2;else nZ=c8,w$=x$,EV=y$,I$=W2&255;if(W2=(nZ^255)&I$,N[EV>>0]=W2,c8=nZ<<1,Z[8706]=c8,(nZ|0)==128)Z[8706]=1,J2=w$+1|0,Z[543127]=J2,S2=R7+J2|0,T2=G[S2>>0]|0,Z[543128]=T2,rZ=J2,OZ=S2,GZ=1,q$=T2;else rZ=w$,OZ=EV,GZ=c8,q$=W2;W2=(GZ^255)&q$,N[OZ>>0]=W2,c8=GZ<<1,T2=rZ+1|0;do if((c8|0)==256)S2=R7+T2|0,Z[543127]=T2,J2=G[S2>>0]|0,Z[543128]=J2,h8=J2&254,N[S2>>0]=h8,BV=2,CV=S2,v$=h8,t=121;else{if(h8=(c8^255)&(W2&255),N[OZ>>0]=h8,S2=GZ<<2,(S2|0)==256){J2=R7+T2|0,Z[543127]=T2,O1=G[J2>>0]|0,Z[543128]=O1,BV=1,CV=J2,v$=O1,t=121;break}if(O1=(S2^255)&h8,N[OZ>>0]=O1,h8=GZ<<3,(h8|0)!=256){j$=rZ,k$=O1,hZ=OZ,$4=T2,gZ=h8,t=124;break}h8=R7+T2|0,Z[543127]=T2,O1=G[h8>>0]|0,Z[543128]=O1,S2=O1&254,N[h8>>0]=S2,AV=2,p$=h8,xT=S2,m$=T2,t=126}while(0);if((t|0)==121)t=0,W2=(BV^255)&v$,N[CV>>0]=W2,j$=T2,k$=W2,hZ=CV,$4=rZ+2|0,gZ=BV<<1,t=124;do if((t|0)==124){if(t=0,W2=(gZ^255)&(k$&255),N[hZ>>0]=W2,c8=gZ<<1,(c8|0)==256){S2=R7+$4|0,Z[543127]=$4,h8=G[S2>>0]|0,Z[543128]=h8,AV=1,p$=S2,xT=h8,m$=$4,t=126;break}if(h8=(c8^255)&W2,N[hZ>>0]=h8,W2=gZ<<2,(W2|0)!=256){yT=j$,wT=h8,HV=hZ,E4=$4,xV=W2,t=129;break}W2=R7+$4|0,Z[543127]=$4,h8=G[W2>>0]|0,Z[543128]=h8,c8=h8&254,N[W2>>0]=c8,u$=2,l$=W2,IT=c8,yV=$4,t=131}while(0);if((t|0)==126)t=0,T2=(AV^255)&xT,N[p$>>0]=T2,yT=m$,wT=T2,HV=p$,E4=m$+1|0,xV=AV<<1,t=129;do if((t|0)==129){if(t=0,T2=(xV^255)&(wT&255),N[HV>>0]=T2,c8=xV<<1,(c8|0)==256){W2=R7+E4|0,Z[543127]=E4,h8=G[W2>>0]|0,Z[543128]=h8,u$=1,l$=W2,IT=h8,yV=E4,t=131;break}if(h8=(c8^255)&T2,N[HV>>0]=h8,T2=xV<<2,(T2|0)!=256){qT=yT,vT=h8,wV=HV,B4=E4,IV=T2,t=134;break}T2=R7+E4|0,Z[543127]=E4,h8=G[T2>>0]|0,Z[543128]=h8,c8=h8&254,N[T2>>0]=c8,s$=2,o$=T2,jT=c8,n$=E4,t=136}while(0);if((t|0)==131)t=0,c8=(u$^255)&IT,N[l$>>0]=c8,qT=yV,vT=c8,wV=l$,B4=yV+1|0,IV=u$<<1,t=134;do if((t|0)==134){if(t=0,c8=(IV^255)&(vT&255),N[wV>>0]=c8,T2=IV<<1,(T2|0)==256){h8=R7+B4|0,Z[543127]=B4,W2=G[h8>>0]|0,Z[543128]=W2,s$=1,o$=h8,jT=W2,n$=B4,t=136;break}if(W2=(T2^255)&c8,N[wV>>0]=W2,c8=IV<<2,(c8|0)!=256){kT=qT,pT=W2,mT=wV,iZ=B4,r$=c8,t=139;break}c8=R7+B4|0,Z[543127]=B4,W2=G[c8>>0]|0,Z[543128]=W2,N[c8>>0]=W2&254,qV=B4,vV=2}while(0);if((t|0)==136)t=0,W2=(s$^255)&jT,N[o$>>0]=W2,kT=n$,pT=W2,mT=o$,iZ=n$+1|0,r$=s$<<1,t=139;do if((t|0)==139){if(t=0,N[mT>>0]=(r$^255)&pT,W2=r$<<1,(W2|0)!=256){qV=kT,vV=W2;break}Z[543127]=iZ,Z[543128]=G[R7+iZ>>0],qV=iZ,vV=1}while(0);Z[8706]=vV,tZ=qV,h$=vV}else W2=o3+-1|0,Z[543127]=W2,tZ=W2,h$=L;if((H1|0)>0){W2=h$,c8=tZ,T2=0;while(!0){if(h8=G[P+(T2+A3)>>0]|0,S2=R7+c8|0,O1=((h8&1|0)==0?0:W2)|(W2^255)&(G[S2>>0]|0),N[S2>>0]=O1,J2=W2<<1,m2=c8+1|0,(J2|0)==256)T5=R7+m2|0,Z[543127]=m2,S7=G[T5>>0]|0,Z[543128]=S7,g$=m2,jV=1,fZ=T5,i$=S7,MZ=c8+2|0;else g$=c8,jV=J2,fZ=S2,i$=O1&255,MZ=m2;if(m2=((h8&2|0)==0?0:jV)|(jV^255)&i$,N[fZ>>0]=m2,O1=jV<<1,(O1|0)==256)S2=R7+MZ|0,Z[543127]=MZ,J2=G[S2>>0]|0,Z[543128]=J2,dZ=1,uT=MZ,kV=S2,lT=J2,t4=MZ+1|0;else dZ=O1,uT=g$,kV=fZ,lT=m2&255,t4=MZ;if(m2=((h8&4|0)==0?0:dZ)|(dZ^255)&lT,N[kV>>0]=m2,O1=dZ<<1,(O1|0)==256)J2=R7+t4|0,Z[543127]=t4,S2=G[J2>>0]|0,Z[543128]=S2,pV=1,t$=t4,f$=J2,d$=S2,LZ=t4+1|0;else pV=O1,t$=uT,f$=kV,d$=m2&255,LZ=t4;if(m2=((h8&8|0)==0?0:pV)|(pV^255)&d$,N[f$>>0]=m2,O1=pV<<1,(O1|0)==256)S2=R7+LZ|0,Z[543127]=LZ,J2=G[S2>>0]|0,Z[543128]=J2,bZ=1,sT=LZ,mV=S2,oT=J2,f4=LZ+1|0;else bZ=O1,sT=t$,mV=f$,oT=m2&255,f4=LZ;if(m2=((h8&16|0)==0?0:bZ)|(bZ^255)&oT,N[mV>>0]=m2,O1=bZ<<1,(O1|0)==256)J2=R7+f4|0,Z[543127]=f4,S2=G[J2>>0]|0,Z[543128]=S2,uV=1,b$=f4,e$=J2,a$=S2,DZ=f4+1|0;else uV=O1,b$=sT,e$=mV,a$=m2&255,DZ=f4;if(m2=((h8&32|0)==0?0:uV)|(uV^255)&a$,N[e$>>0]=m2,O1=uV<<1,(O1|0)==256)S2=R7+DZ|0,Z[543127]=DZ,J2=G[S2>>0]|0,Z[543128]=J2,eZ=1,nT=DZ,lV=S2,rT=J2,d4=DZ+1|0;else eZ=O1,nT=b$,lV=e$,rT=m2&255,d4=DZ;if(m2=((h8&64|0)==0?0:eZ)|(eZ^255)&rT,N[lV>>0]=m2,O1=eZ<<1,(O1|0)==256)J2=R7+d4|0,Z[543127]=d4,S2=G[J2>>0]|0,Z[543128]=S2,sV=1,hT=d4,c$=J2,gT=S2,aZ=d4+1|0;else sV=O1,hT=nT,c$=lV,gT=m2&255,aZ=d4;if(N[c$>>0]=((h8&128|0)==0?0:sV)|(sV^255)&gT,h8=sV<<1,(h8|0)==256)Z[543127]=aZ,Z[543128]=G[R7+aZ>>0],ZT=aZ,cZ=1;else ZT=hT,cZ=h8;if(T2=T2+1|0,(T2|0)==(H1|0))break;else W2=cZ,c8=ZT}Z[8706]=cZ,ZV=ZT,b4=cZ}else ZV=tZ,b4=h$;c8=R7+ZV|0,W2=(b4^255)&(G[c8>>0]|0),N[c8>>0]=W2,H1=b4<<1,T2=ZV+1|0;do if((H1|0)==256)L=R7+T2|0,Z[543127]=T2,h8=G[L>>0]|0,Z[543128]=h8,m2=h8&254,N[L>>0]=m2,iT=T2,VT=m2,oV=L,T4=ZV+2|0,nV=2,t=162;else{if(L=(H1^255)&W2,N[c8>>0]=L,m2=b4<<2,(m2|0)!=256){iT=ZV,VT=L,oV=c8,T4=T2,nV=m2,t=162;break}m2=R7+T2|0,Z[543127]=T2,L=G[m2>>0]|0,Z[543128]=L,h8=L&254,N[m2>>0]=h8,rV=2,$T=m2,hV=h8,VV=T2,t=164}while(0);do if((t|0)==162){if(t=0,T2=(nV^255)&(VT&255),N[oV>>0]=T2,c8=nV<<1,(c8|0)==256){W2=R7+T4|0,Z[543127]=T4,H1=G[W2>>0]|0,Z[543128]=H1,rV=1,$T=W2,hV=H1,VV=T4,t=164;break}if(H1=(c8^255)&T2,N[oV>>0]=H1,T2=nV<<2,(T2|0)!=256){TT=iT,tT=H1,$V=oV,C4=T4,TV=T2,t=167;break}T2=R7+T4|0,Z[543127]=T4,H1=G[T2>>0]|0,Z[543128]=H1,c8=H1&254,N[T2>>0]=c8,XT=2,gV=T2,fT=c8,iV=T4,t=169}while(0);if((t|0)==164)t=0,c8=(rV^255)&hV,N[$T>>0]=c8,TT=VV,tT=c8,$V=$T,C4=VV+1|0,TV=rV<<1,t=167;do if((t|0)==167){if(t=0,c8=(TV^255)&(tT&255),N[$V>>0]=c8,T2=TV<<1,(T2|0)==256){H1=R7+C4|0,Z[543127]=C4,W2=G[H1>>0]|0,Z[543128]=W2,XT=1,gV=H1,fT=W2,iV=C4,t=169;break}if(W2=(T2^255)&c8,N[$V>>0]=W2,c8=TV<<2,(c8|0)!=256){dT=TT,YT=W2,QT=$V,A4=C4,tV=c8,t=172;break}c8=R7+C4|0,Z[543127]=C4,W2=G[c8>>0]|0,Z[543128]=W2,T2=W2&254,N[c8>>0]=T2,WT=C4,NT=2,UT=c8,bT=T2,t=174}while(0);if((t|0)==169)t=0,T2=(XT^255)&fT,N[gV>>0]=T2,dT=iV,YT=T2,QT=gV,A4=iV+1|0,tV=XT<<1,t=172;do if((t|0)==172){if(t=0,T2=(tV^255)&(YT&255),N[QT>>0]=T2,c8=tV<<1,(c8|0)==256){W2=R7+A4|0,Z[543127]=A4,H1=G[W2>>0]|0,Z[543128]=H1,WT=A4,NT=1,UT=W2,bT=H1,t=174;break}if(N[QT>>0]=(c8^255)&T2,T2=tV<<2,(T2|0)!=256){XV=T2,JT=dT;break}Z[543127]=A4,Z[543128]=G[R7+A4>>0],XV=1,JT=A4}while(0);if((t|0)==174)t=0,N[UT>>0]=(NT^255)&bT,XV=NT<<1,JT=WT;Z[8706]=XV,q6(W|0,S|0,1024)|0,q6(U|0,J|0,1024)|0,fV=JT,eT=XV,rN=T3,hN=1}else q6(S|0,W|0,1024)|0,q6(J|0,U|0,1024)|0,fV=DV,eT=B$,rN=Y9,hN=0;T2=Z[543128]<<8|fV<<16|eT,gN=T2,iN=T2>>16,tN=T2>>8,fN=fV,dN=Y9,HX=rN,aT=hN}else gN=n3,iN=o3,tN=F4,fN=A6,dN=A3,HX=T3,aT=V4;if((Y9|0)>=(T|0))break;else n3=gN,o3=iN,F4=tN,A6=fN,A3=dN,T3=HX,V4=aT}}if($6(P),P=Z[8706]|0,(P|0)==1)xX=Z[543127]|0,vQ=Z[543126]|0;else{aT=Z[543126]|0,V4=Z[543127]|0,HX=aT+V4|0,T3=P,P=N[HX>>0]|0;do P=(T3^255)&(P&255)&255,T3=T3<<1;while((T3|0)!=256);N[HX>>0]=P,P=V4+1|0,Z[543127]=P,Z[543128]=G[aT+P>>0],Z[8706]=1,xX=P,vQ=aT}if(N[vQ+6>>0]=(xX|0)/256|0,N[vQ+7>>0]=xX,(xX|0)<=(T|0))return O=xX,q=X,O|0;return q6($|0,V|0,T|0)|0,O=T,q=X,O|0}function RW(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0;if(Q=T-$|0,(Q|0)<3)return W=0,W|0;if(T=Z[1451072+((((G[V+($+1)>>0]|0)*1503|0)+((G[V+$>>0]|0)*7|0)+((G[V+($+2)>>0]|0)*51717|0)&4095)<<2)>>2]|0,!T)return W=0,W|0;if(U=j[T+2>>1]|0,!(U<<16>>16))S=0,J=0,_=-1;else{K=$+-32767|0,P=U&65535,U=0,O=-1e5,L=-1,F=0;while(!0){if(z=n[T+(F+2<<1)>>1]|0,(z|0)>=($|0)){H=U,C=O,A=L;break}if((K|0)>(z|0))y=U,k=O,m=L;else{I=0;while(!0){if(u=I+z|0,(u|0)>=($|0)){g=u,i=I;break}if((N[V+u>>0]|0)!=(N[V+(I+$)>>0]|0)){g=u,i=I;break}if(I=I+1|0,(I|0)>=(Q|0)){t=21;break}}if((t|0)==21)t=0,g=I+z|0,i=I;u=$-z|0;Z:do if((i|0)>=(Q|0)|(g|0)<($|0))Y0=i;else{X0=i;while(!0){if((N[V+(((X0|0)%(u|0)|0)+z)>>0]|0)!=(N[V+(X0+$)>>0]|0)){Y0=X0;break Z}if(T0=X0+1|0,(T0|0)>=(Q|0)|(T0+z|0)<($|0)){Y0=T0;break}else X0=T0}}while(0);if((u|0)>0){I=0,X0=u;do I=I+1|0,X0=X0>>>5;while((X0|0)!=0);if(I>>>0<2)Z0=I,t=17;else W0=2,O0=I}else Z0=0,t=17;if((t|0)==17)t=0,W0=Z0,O0=Z0;X0=(Y0<<8>>>0)/(((O0*5|0)+4+W0|0)>>>0)|0,u=(X0|0)>(L|0),y=u?Y0:U,k=u?z:O,m=u?X0:L}if(F=F+1|0,F>>>0>=P>>>0){H=y,C=k,A=m;break}else U=y,O=k,L=m}S=(C|0)>-1?$-C|0:0,J=H,_=A}return Z[X>>2]=S,Z[Y>>2]=_,W=J,W|0}function xP(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0,j8=0,C6=0,o6=0;X=q,q=q+2080|0,Y=X+1056|0,Q=X+32|0,W=X,Z[8706]=1,Z[543128]=0,Z[543133]=V,U=0;do Z[Y+(U<<2)>>2]=U,U=U+1|0;while((U|0)!=256);U=0;do Z[Q+(Z[Y+(U<<2)>>2]<<2)>>2]=U,U=U+1|0;while((U|0)!=256);if(Z[W>>2]=G[V>>0],Z[W+4>>2]=G[V+1>>0],Z[W+8>>2]=G[V+2>>0],Z[W+12>>2]=G[V+3>>0],Z[W+16>>2]=G[V+4>>0],Z[W+20>>2]=G[V+5>>0],Z[W+24>>2]=G[V+6>>0],Z[W+28>>2]=G[V+7>>0],Z[8706]=1,U=(Z[W+16>>2]<<8)+(Z[W+20>>2]|0)|0,S=(Z[W+24>>2]<<8)+(Z[W+28>>2]|0)|0,!((T|0)>0&((U|0)>0&(S|0)>8)))return q=X,0;W=T+-1|0,J=1,_=8,K=0;Z:while(!0){P=J<<1,O=(P|0)==256,L=_+(O&1)|0,F=O?1:P;V:do if(!(J&(G[V+_>>0]|0))){if(P=(F&(G[V+L>>0]|0)|0)!=0,O=F<<1,z=(O|0)==256,H=L+(z&1)|0,C=z?1:O,P)O=C<<1,z=(O|0)==256,A=z?1:O,y=H+(z&1)|0,k=(P&1)+((C&(G[V+H>>0]|0)|0)!=0&1)|0;else A=C,y=H,k=0;if(H=3-k|0,C=H*5|0,(H|0)>0){H=y,P=y,z=A,O=0,m=0;while(!0)if(I=z<<1,u=(I|0)==256,g=P+1|0,i=u?g:H,t=u?1:I,I=((z&(G[V+P>>0]|0)|0)==0?0:1<>0]|0,t=(P&I|0)!=0,g=P<<1,u=z+1|0;do if((g|0)!=256)if(i=t&1,Z0=(g&I|0)==0,W0=P<<2,(W0|0)==256){O0=1,y0=G[V+u>>0]|0,E0=i,H0=Z0,D0=42;break}else{_0=P<<3,F0=(_0|0)==256,k0=F0?u:z,m0=F0?1:_0,B0=W0&I,g0=(Z0?0:2)|i;break}else i=G[V+u>>0]|0,O0=2,y0=i,E0=t&1,H0=(i&1|0)==0,D0=42;while(0);if((D0|0)==42)D0=0,k0=u,m0=O0<<1,B0=O0&y0,g0=(H0?0:2)|E0;if(t=((B0|0)==0?0:4)|g0,H=H+3|0,O=t+O|0,!(H>>>0<1e5&(t|0)==7))break;else z=k0,P=m0}P=O+3|0,z=K;while(!0)if(N[$+z>>0]=N[$+(z-m)>>0]|0,z=z+1|0,(P|0)<=1)break;else P=P+-1|0;if((z|0)>=(W|0)){o0=m0,h0=k0,C0=z;break}N[$+z>>0]=0,o0=m0,h0=k0,C0=z;break}if((K|0)<(U|0)){P=Y0,m=X0,O=K;while(!0){H=G[V+m>>0]|0,C=(P&H|0)!=0,t=P<<1,I=m+1|0;do if((t|0)!=256){if(g=C&1,i=(t&H|0)==0,Z0=P<<2,(Z0|0)==256){u0=1,p0=G[V+I>>0]|0,q0=g,i0=i,D0=46;break}if(W0=(i?0:2)|g,g=(Z0&H|0)==0,Z0=P<<3,(Z0|0)==256)i=G[V+I>>0]|0,t0=2,E6=i,V6=I,n0=(i&1|0)==0,e0=(g?0:4)|W0,D0=51;else Z6=Z0,U6=m,N6=H,A6=I,S6=g,H6=W0,D0=49}else W0=G[V+I>>0]|0,u0=2,p0=W0,q0=C&1,i0=(W0&1|0)==0,D0=46;while(0);if((D0|0)==46)D0=0,Z6=u0<<1,U6=I,N6=p0,A6=m+2|0,S6=(u0&p0|0)==0,H6=(i0?0:2)|q0,D0=49;do if((D0|0)==49){if(D0=0,C=(S6?0:4)|H6,H=(Z6&N6|0)==0,t=Z6<<1,(t|0)==256){t0=1,E6=G[V+A6>>0]|0,V6=A6,n0=H,e0=C,D0=51;break}if(u=(H?0:8)|C,C=(t&N6|0)==0,t=Z6<<2,(t|0)==256)H=G[V+A6>>0]|0,M6=2,F6=H,J6=A6,L6=(H&1|0)==0,c0=(C?0:16)|u,D0=56;else T6=t,W6=U6,h6=N6,s6=A6,p6=C,G6=u,D0=54}while(0);if((D0|0)==51)D0=0,T6=t0<<1,W6=V6,h6=E6,s6=V6+1|0,p6=(t0&E6|0)==0,G6=(n0?0:8)|e0,D0=54;do if((D0|0)==54){if(D0=0,I=(p6?0:16)|G6,u=(T6&h6|0)==0,C=T6<<1,(C|0)==256){M6=1,F6=G[V+s6>>0]|0,J6=s6,L6=u,c0=I,D0=56;break}if(t=(u?0:32)|I,I=(C&h6|0)==0,C=T6<<2,(C|0)==256)w6=s6,B6=2,i6=(N[V+s6>>0]&1)==0,H8=(I?0:64)|t;else m6=C,_8=W6,v8=h6,Y8=s6,T8=I,C8=t,D0=59}while(0);if((D0|0)==56)D0=0,m6=M6<<1,_8=J6,v8=F6,Y8=J6+1|0,T8=(M6&F6|0)==0,C8=(L6?0:32)|c0,D0=59;if((D0|0)==59)D0=0,t=m6<<1,I=(t|0)==256,w6=I?Y8:_8,B6=I?1:t,i6=(m6&v8|0)==0,H8=(T8?0:64)|C8;if(t=(i6?0:128)|H8,N[$+O>>0]=t,!(t&255)){o0=B6,h0=w6,C0=O;break V}if(t=O+1|0,(t|0)<(U|0))P=B6,m=w6,O=t;else{o0=B6,h0=w6,C0=t;break}}}else o0=Y0,h0=X0,C0=K}else{O=L,m=F,P=0,z=0,t=0;while(!0){if(I=m<<1,C=(I|0)==256,j8=O+(C&1)|0,C6=C?1:I,!(t>>>0<16?(m&(G[V+O>>0]|0)|0)!=0:0))break;I=(16<>0]|0)|0)==0?0:1<255){o6=O;break Z}if(t=Z[Y+(I<<2)>>2]|0,N[$+K>>0]=t,P=K+1|0,N[$+P>>0]=0,(I|0)>0){W0=I;do I=W0,W0=W0+-1|0,g=Z[Y+(W0<<2)>>2]|0,Z[Y+(I<<2)>>2]=g,u=Q+(g<<2)|0,Z[u>>2]=(Z[u>>2]|0)+1;while((I|0)>1)}Z[Y>>2]=t,Z[Q+(t<<2)>>2]=0,o0=O,h0=m,C0=P}while(0);if((C0|0)<(T|0)&((C0|0)<(U|0)&(h0|0)<(S|0)))J=o0,_=h0,K=C0;else{o6=o0;break}}return Z[8706]=o6,q=X,0}function yP(V){V=V|0;var $=0;switch(N[V>>0]|0){case 58:{if(((N[V+1>>0]|0)==99?(N[V+2>>0]|0)==58:0)?(N[V+3>>0]|0)==0:0)return $=1,$|0;break}case 0:{if(((N[V+1>>0]|0)==112?(N[V+2>>0]|0)==120:0)?(N[V+3>>0]|0)==97:0)return $=2,$|0;break}default:}return $=0,$|0}function wY(V,$,T){return V=V|0,$=$|0,T=T|0,HP(V,$,T)|0}function UJ(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;switch(N[V>>0]|0){case 58:{if(((N[V+1>>0]|0)==99?(N[V+2>>0]|0)==58:0)?(N[V+3>>0]|0)==0:0){if(X=G[V+4>>0]<<8|G[V+5>>0],C1($,0,T),(X|0)>(T|0))return Y=1,Y|0;if(Q=$+X|0,!X)W=$;else{X=V+8|0,U=$;while(!0){if(S=N[X>>0]|0,J=S&255,_=X+1|0,(S&255)<60)K=S<<24>>24==0,N[U>>0]=N[(K?_:90447+J|0)>>0]|0,P=1,O=K?X+2|0:_;else K=G[_>>0]|0,_=(K>>>4)+2|0,q6(U|0,U+(0-(K&15|(J<<4)+-960))|0,_|0)|0,P=_,O=X+2|0;if(_=U+P|0,_>>>0>>0)X=O,U=_;else{W=_;break}}}if(U=u1($,90508)|0,(U|0)!=0?(O=x6($)|0,($-U+O|0)==56):0)U=$+O+-56|0,N[U>>0]=0,L=U;else L=W;if(W=u1($,90565)|0,W)if(U=x6($)|0,O=$,(O-W+U|0)==73)W=$+U+-73|0,N[W>>0]=0,F=W,z=O;else F=L,z=O;else F=L,z=$;return Y=F-z|0,Y|0}break}case 0:{if(((N[V+1>>0]|0)==112?(N[V+2>>0]|0)==120:0)?(N[V+3>>0]|0)==97:0)return xP(V,$,T)|0,Y=0,Y|0;break}default:}return k7($,V,T)|0,Y=0,Y|0}function hX(V){V=V|0;var $=0;return Z[543135]=(Z[543135]|0)+V,$=EZ(V,1)|0,V=Z[543134]|0,Z[1467456+(V<<2)>>2]=$,Z[543134]=V+((V|0)<16384&1),$|0}function wP(){var V=0,$=0;if(V=Z[543134]|0,(V|0)<=0)return;$=V;do V=$+-1|0,Z[543134]=V,TZ(Z[1467456+(V<<2)>>2]|0),$=Z[543134]|0;while(($|0)>0);return}function IY(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;T=1;while(!0)if(X=1<>>0<9&(X|0)<(V|0))T=T+1|0;else break;if((X|0)!=(V|0))return Y=0,Y|0;if(X=(Z[543135]|0)+16|0,Z[543135]=X,T=EZ(16,1)|0,Q=Z[543134]|0,Z[1467456+(Q<<2)>>2]=T,W=Q+((Q|0)<16384&1)|0,Z[543134]=W,!T)return Y=0,Y|0;if(Q=V*3|0,Z[543135]=X+Q,X=EZ(V,3)|0,Z[1467456+(W<<2)>>2]=X,Z[543134]=W+((W|0)<16384&1),Z[T+12>>2]=X,!X)return Y=0,Y|0;Z[T>>2]=V,W=1;while(!0)if(W>>>0<9&(1<>2]=W,!$)return Y=T,Y|0;return q6(X|0,$|0,Q|0)|0,Y=T,Y|0}function IP(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0;if(X=q,q=q+16|0,Y=X,Z[Y>>2]=384,Q=iS(V,$?193:577,Y)|0,(Q|0)==-1)if(!T)W=0;else Z[T>>2]=1,W=0;else if(Y=qP(Q,T)|0,!Y)gS(Q)|0,W=0;else W=Y;return q=X,W|0}function qP(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0;if(T=Z[543135]|0,Z[543135]=T+76,X=EZ(76,1)|0,Y=Z[543134]|0,Z[1467456+(Y<<2)>>2]=X,Q=Y+((Y|0)<16384&1)|0,Z[543134]=Q,!X)return W=0,W|0;Y=X,U=Y+76|0;do Z[Y>>2]=0,Y=Y+4|0;while((Y|0)<(U|0));if(Z[543135]=T+24984,Y=EZ(24908,1)|0,Z[1467456+(Q<<2)>>2]=Y,U=Q+((Q|0)<16384&1)|0,Z[543134]=U,!Y){if(!$)return W=0,W|0;return Z[$>>2]=7,W=0,W|0}if(Z[543135]=T+57752,T=EZ(32768,1)|0,Z[1467456+(U<<2)>>2]=T,Z[543134]=U+((U|0)<16384&1),T|0)return x8(T|0,-1,32768)|0,Z[Y+24900>>2]=T,T=jR(V,103074)|0,Z[X+72>>2]=Y,Z[Y+4>>2]=V,Z[Y+56>>2]=T,Z[Y>>2]=1,Z[Y+64>>2]=0,Z[X+68>>2]=0,Z[X+64>>2]=0,W=X,W|0;if(!$)return W=0,W|0;return Z[$>>2]=7,W=0,W|0}function vP(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;if($=Z[V+72>>2]|0,T=Z[V+24>>2]|0,(T|0)>0){X=Z[V+52>>2]|0,Y=$+24904|0,Q=0;do{W=Z[X+(Q*36|0)+28>>2]|0;Z:do if((W|0)>0){switch(U=Z[X+(Q*36|0)+32>>2]|0,Z[U+8>>2]|0){case 1:case 249:case 254:case 255:{N[Y>>0]=1;break}default:}if((W|0)>1){S=1;while(!0){switch(Z[U+(S*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{N[Y>>0]=1;break}default:}if(S=S+1|0,(S|0)>=(W|0))break Z}}}while(0);Q=Q+1|0}while((Q|0)<(T|0))}if(T=Z[V+56>>2]|0,(T|0)<=0)return J=$+24904|0,_=N[J>>0]|0,K=_<<24>>24==0,P=K?90639:90646,P|0;Q=Z[V+60>>2]|0,V=$+24904|0,$=0;while(!0){switch(Z[Q+($*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{N[V>>0]=1;break}default:}if($=$+1|0,($|0)>=(T|0)){J=V;break}}return _=N[J>>0]|0,K=_<<24>>24==0,P=K?90639:90646,P|0}function jP(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0;if(W=q,q=q+16|0,U=W+4|0,S=W,J=V+72|0,_=Z[J>>2]|0,K=Z[_>>2]|0,K&2|0)return Z[V+64>>2]=3,P=0,q=W,P|0;if(!(K&1))return Z[V+64>>2]=10,P=0,q=W,P|0;if(K=vP(V)|0,O=x6(K)|0,L=Z[J>>2]|0,F=Z[L+64>>2]|0,!F)z=C2(K,1,O,Z[L+56>>2]|0)|0;else z=y8[F&7](V,K,O)|0;if((z|0)!=(x6(K)|0))return Z[V+64>>2]=2,P=0,q=W,P|0;if(Z[V>>2]=$,Z[V+4>>2]=T,Z[V+8>>2]=X,Z[V+12>>2]=Y,K=(Q|0)!=0,K){if(z=IY(Z[Q>>2]|0,Z[Q+12>>2]|0)|0,Z[V+20>>2]=z,!z)return Z[V+64>>2]=7,P=0,q=W,P|0}else Z[V+20>>2]=0;if(N[U>>0]=$,z=U+1|0,N[z>>0]=$>>>8,$=Z[J>>2]|0,O=Z[$+64>>2]|0,!O)C2(U,1,2,Z[$+56>>2]|0)|0;else y8[O&7](V,U,2)|0;if(N[U>>0]=T,N[z>>0]=T>>>8,T=Z[J>>2]|0,z=Z[T+64>>2]|0,!z)C2(U,1,2,Z[T+56>>2]|0)|0;else y8[z&7](V,U,2)|0;if(U=(K?128:0)|(X<<4)+240,K){if(X=(Z[Q+4>>2]|0)+-1|U,N[S>>0]=X,N[Q+8>>0]|0)H=X|8,C=24}else H=U|7,C=24;if((C|0)==24)N[S>>0]=H;if(H=S+1|0,N[H>>0]=Y,Y=S+2|0,N[Y>>0]=N[V+16>>0]|0,C=Z[J>>2]|0,U=Z[C+64>>2]|0,!U)C2(S,1,3,Z[C+56>>2]|0)|0;else y8[U&7](V,S,3)|0;Z:do if(K?(Z[Q>>2]|0)>0:0){U=Q+12|0,C=0;while(!0){if(X=Z[U>>2]|0,N[S>>0]=N[X+(C*3|0)>>0]|0,N[H>>0]=N[X+(C*3|0)+1>>0]|0,N[Y>>0]=N[X+(C*3|0)+2>>0]|0,X=Z[J>>2]|0,z=Z[X+64>>2]|0,!z)A=C2(S,1,3,Z[X+56>>2]|0)|0;else A=y8[z&7](V,S,3)|0;if(C=C+1|0,(A|0)!=3)break;if((C|0)>=(Z[Q>>2]|0))break Z}return Z[V+64>>2]=2,P=0,q=W,P|0}while(0);return Z[_>>2]=Z[_>>2]|2,P=1,q=W,P|0}function kP(V,$,T,X,Y,Q,W){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0;var U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0;if(U=q,q=q+16|0,S=U+4|0,J=U,_=Q&1,K=V+72|0,P=Z[K>>2]|0,O=Z[P>>2]|0,O&4|0?(Z[P+52>>2]|0)>>>0>4294901760:0)return Z[V+64>>2]=4,L=0,q=U,L|0;if(!(O&1))return Z[V+64>>2]=10,L=0,q=U,L|0;Z[V+28>>2]=$,Z[V+32>>2]=T,Z[V+36>>2]=X,Z[V+40>>2]=Y,N[V+44>>0]=_,_=(W|0)!=0,O=V+48|0;do if(_){if(Z[O>>2]|0)Z[O>>2]=0;if(F=IY(Z[W>>2]|0,Z[W+12>>2]|0)|0,Z[O>>2]=F,F|0){z=Z[K>>2]|0;break}return Z[V+64>>2]=7,L=0,q=U,L|0}else Z[O>>2]=0,z=P;while(0);if(N[J>>0]=44,F=Z[z+64>>2]|0,!F)UZ(44,Z[z+56>>2]|0)|0;else y8[F&7](V,J,1)|0;if(N[S>>0]=$,F=S+1|0,N[F>>0]=$>>>8,$=Z[K>>2]|0,z=Z[$+64>>2]|0,!z)C2(S,1,2,Z[$+56>>2]|0)|0;else y8[z&7](V,S,2)|0;if(N[S>>0]=T,N[F>>0]=T>>>8,T=Z[K>>2]|0,z=Z[T+64>>2]|0,!z)C2(S,1,2,Z[T+56>>2]|0)|0;else y8[z&7](V,S,2)|0;if(N[S>>0]=X,N[F>>0]=X>>>8,z=Z[K>>2]|0,T=Z[z+64>>2]|0,!T)C2(S,1,2,Z[z+56>>2]|0)|0;else y8[T&7](V,S,2)|0;if(N[S>>0]=Y,N[F>>0]=Y>>>8,F=Z[K>>2]|0,T=Z[F+64>>2]|0,!T)C2(S,1,2,Z[F+56>>2]|0)|0;else y8[T&7](V,S,2)|0;T=(_?128:0)|(Q?64:0);Z:do if(_){if(Q=(Z[W+4>>2]|0)+255|T,N[J>>0]=Q,F=Z[K>>2]|0,z=Z[F+64>>2]|0,!z)UZ(Q<<24>>24,Z[F+56>>2]|0)|0;else y8[z&7](V,J,1)|0;if((Z[W>>2]|0)>0){z=W+12|0,F=J+1|0,Q=J+2|0,$=0;while(!0){if(H=Z[z>>2]|0,N[J>>0]=N[H+($*3|0)>>0]|0,N[F>>0]=N[H+($*3|0)+1>>0]|0,N[Q>>0]=N[H+($*3|0)+2>>0]|0,H=Z[K>>2]|0,C=Z[H+64>>2]|0,!C)A=C2(J,1,3,Z[H+56>>2]|0)|0;else A=y8[C&7](V,J,3)|0;if($=$+1|0,(A|0)!=3)break;if(($|0)>=(Z[W>>2]|0))break Z}return Z[V+64>>2]=2,L=0,q=U,L|0}}else if(N[J>>0]=T,$=Z[K>>2]|0,Q=Z[$+64>>2]|0,!Q){UZ(T<<24>>24,Z[$+56>>2]|0)|0;break}else{y8[Q&7](V,J,1)|0;break}while(0);if(J=Z[V+20>>2]|0,T=Z[O>>2]|0,(J|0)==0&(T|0)==0)return Z[V+64>>2]=5,L=0,q=U,L|0;if(Z[P>>2]=Z[P>>2]|4,Z[P+52>>2]=B(Y,X)|0,X=Z[K>>2]|0,K=Z[((T|0)==0?J:T)+4>>2]|0,T=(K|0)>2?K:2,N[S>>0]=T,K=Z[X+64>>2]|0,!K)UZ(T<<24>>24,Z[X+56>>2]|0)|0;else y8[K&7](V,S,1)|0;if(N[X+68>>0]=0,Z[X+8>>2]=T,S=1<>2]=S,Z[X+16>>2]=S+1,Z[X+20>>2]=S+2,Z[X+24>>2]=T+1,Z[X+28>>2]=2<>2]=4097,Z[X+44>>2]=0,Z[X+48>>2]=0,x8(Z[X+24900>>2]|0,-1,32768)|0,!(JX(V,Z[K>>2]|0)|0))Z[V+64>>2]=8;return L=1,q=U,L|0}function JX(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0;T=V+72|0,X=Z[T>>2]|0,Y=X+44|0,Q=Z[Y>>2]|0;do if(($|0)==4096){if(W=X+68|0,(Q|0)>0){U=X+48|0,S=V+64|0,J=Z[U>>2]|0,_=1;while(!0){K=N[W>>0]|0;do if(K<<24>>24==-1){if(P=Z[T>>2]|0,O=Z[P+64>>2]|0,!O)L=C2(W,1,256,Z[P+56>>2]|0)|0;else L=y8[O&7](V,W,256)|0;if((L|0)==((G[W>>0]|0)+1|0)){N[W>>0]=0,F=0,z=10;break}else{Z[S>>2]=2,H=0;break}}else F=K,z=10;while(0);if((z|0)==10)z=0,K=F+1<<24>>24,N[W>>0]=K,N[(K&255)+(X+68)>>0]=J,H=_;if(J=(Z[U>>2]|0)>>>8,Z[U>>2]=J,K=Z[Y>>2]|0,Z[Y>>2]=K+-8,(K|0)<=8){C=H;break}else _=H}}else C=1;if(Z[Y>>2]=0,_=N[W>>0]|0,_<<24>>24){if(J=(_&255)+1|0,_=Z[T>>2]|0,U=Z[_+64>>2]|0,!U)A=C2(W,1,J,Z[_+56>>2]|0)|0;else A=y8[U&7](V,W,J)|0;if((A|0)!=((G[W>>0]|0)+1|0)){Z[V+64>>2]=2,y=0;break}}if(N[W>>0]=0,J=Z[T>>2]|0,U=Z[J+64>>2]|0,!U)k=C2(W,1,1,Z[J+56>>2]|0)|0;else k=y8[U&7](V,W,1)|0;if((k|0)==1)y=C;else Z[V+64>>2]=2,y=0}else if(U=X+48|0,J=Z[U>>2]|$<>2]=J,_=(Z[X+24>>2]|0)+Q|0,Z[Y>>2]=_,(_|0)>7){_=X+68|0,S=V+64|0,K=J,J=1;while(!0){O=N[_>>0]|0;do if(O<<24>>24==-1){if(P=Z[T>>2]|0,m=Z[P+64>>2]|0,!m)I=C2(_,1,256,Z[P+56>>2]|0)|0;else I=y8[m&7](V,_,256)|0;if((I|0)==((G[_>>0]|0)+1|0)){N[_>>0]=0,u=0,z=32;break}else{Z[S>>2]=2,g=0;break}}else u=O,z=32;while(0);if((z|0)==32)z=0,O=u+1<<24>>24,N[_>>0]=O,N[(O&255)+(X+68)>>0]=K,g=J;if(K=(Z[U>>2]|0)>>>8,Z[U>>2]=K,O=Z[Y>>2]|0,Z[Y>>2]=O+-8,(O|0)<=15){y=g;break}else J=g}}else y=1;while(0);if(g=X+28|0,!(($|0)<4096?(Z[X+20>>2]|0)>=(Z[g>>2]|0):0))return y|0;return $=X+24|0,X=(Z[$>>2]|0)+1|0,Z[$>>2]=X,Z[g>>2]=1<>2]|0,Y=Z[X+24900>>2]|0,Q=X+36|0,W=Z[Q>>2]|0,(W|0)==4097)U=G[$>>0]|0,S=1;else U=W,S=0;Z:do if((S|0)<(T|0)){W=X+20|0,J=X+12|0,_=X+16|0,K=X+8|0,P=X+24|0,O=X+28|0,L=U,F=S;V:while(!0){z=G[$+F>>0]|0,F=F+1|0,H=L<<8|z,C=H^L>>>4&1048575,A=C&8191,y=Z[Y+(A<<2)>>2]|0,k=y>>>12;$:do if((k|0)==1048575)m=10;else{I=y,u=A,g=k;while(!0){if((g|0)==(H|0))break;if(u=u+1&8191,i=Z[Y+(u<<2)>>2]|0,g=i>>>12,(g|0)==1048575){m=10;break $}else I=i}t=I&4095}while(0);do if((m|0)==10){if(m=0,!(JX(V,L)|0)){m=11;break V}if(k=Z[W>>2]|0,(k|0)>4094){if(!(JX(V,Z[J>>2]|0)|0)){m=14;break V}Z[W>>2]=(Z[_>>2]|0)+1,A=(Z[K>>2]|0)+1|0,Z[P>>2]=A,Z[O>>2]=1<>2]=k+1,A=C;while(!0)if(y=A&8191,Y0=Y+(y<<2)|0,(Z[Y0>>2]|0)>>>0<4294963200)A=y+1|0;else break;Z[Y0>>2]=k&4095|H<<12,t=z}while(0);if((F|0)>=(T|0)){X0=t;break Z}else L=t}if((m|0)==11)return Z[V+64>>2]=8,T0=0,T0|0;else if((m|0)==14)return Z[V+64>>2]=8,T0=0,T0|0}else X0=U;while(0);if(Z[Q>>2]=X0,Z[X+52>>2]|0)return T0=1,T0|0;if(!(JX(V,X0)|0))return Z[V+64>>2]=8,T0=0,T0|0;if(!(JX(V,Z[X+16>>2]|0)|0))return Z[V+64>>2]=8,T0=0,T0|0;if(JX(V,4096)|0)return T0=1,T0|0;return Z[V+64>>2]=8,T0=0,T0|0}function pP(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0;if($=q,q=q+16|0,T=$,X=V+20|0,!(jP(V,Z[V>>2]|0,Z[V+4>>2]|0,Z[V+8>>2]|0,Z[V+12>>2]|0,Z[X>>2]|0)|0))return Y=0,q=$,Y|0;Q=V+24|0;Z:do if((Z[Q>>2]|0)>0){W=V+52|0,U=V+72|0,S=T+1|0,J=V+36|0,_=0;V:while(!0){K=Z[W>>2]|0,P=Z[K+(_*36|0)+12>>2]|0,O=Z[K+(_*36|0)+8>>2]|0,L=K+(_*36|0)+24|0;$:do if(Z[L>>2]|0){if(F=Z[K+(_*36|0)+32>>2]|0,z=Z[K+(_*36|0)+28>>2]|0,(F|0)!=0&(z|0)>0){H=z+-1|0,C=0;do{if(A=F+(C*12|0)|0,y=Z[F+(C*12|0)+8>>2]|0,y|0){if(k=Z[U>>2]|0,!(Z[k>>2]&1)){m=13;break V}if(N[T>>0]=33,N[S>>0]=y,y=Z[k+64>>2]|0,!y)C2(T,1,2,Z[k+56>>2]|0)|0;else y8[y&7](V,T,2)|0}if(y=Z[A>>2]|0,k=Z[F+(C*12|0)+4>>2]|0,I=Z[U>>2]|0,!(Z[I>>2]&1)){m=21;break V}if(N[T>>0]=y,u=Z[I+64>>2]|0,!u)UZ(y<<24>>24,Z[I+56>>2]|0)|0;else y8[u&7](V,T,1)|0;if(u=Z[U>>2]|0,I=Z[u+64>>2]|0,!I)C2(k,1,y,Z[u+56>>2]|0)|0;else y8[I&7](V,k,y)|0;if(!((C|0)!=(H|0)?!(Z[A+12+8>>2]|0):0)){if(A=Z[U>>2]|0,!(Z[A>>2]&1)){m=29;break V}if(N[T>>0]=0,y=Z[A+64>>2]|0,!y)UZ(0,Z[A+56>>2]|0)|0;else y8[y&7](V,T,1)|0}C=C+1|0}while((C|0)<(z|0))}if(z=K+(_*36|0)+16|0,!(kP(V,Z[K+(_*36|0)>>2]|0,Z[K+(_*36|0)+4>>2]|0,O,P,(N[z>>0]|0)!=0,Z[K+(_*36|0)+20>>2]|0)|0)){Y=0,m=118;break V}if(!(N[z>>0]|0)){if((P|0)<=0)break;if(!O){z=0;while(!0){if(C=Z[L>>2]|0,H=Z[U>>2]|0,!(Z[H>>2]&1)){m=70;break V}if(F=Z[J>>2]|0,y=H+52|0,A=Z[y>>2]|0,A>>>0>>0){m=72;break V}if(Z[y>>2]=A-F,A=N[90653+(Z[H+8>>2]|0)>>0]|0,(F|0)>0){H=0;do y=C+H|0,N[y>>0]=N[y>>0]&A,H=H+1|0;while((H|0)!=(F|0))}if(z=z+1|0,!(FZ(V,C,F)|0)){Y=0,m=118;break V}if((z|0)>=(P|0))break $}}else{z=(O|0)>0,H=0;while(!0){if(A=(Z[L>>2]|0)+(B(H,O)|0)|0,y=Z[U>>2]|0,!(Z[y>>2]&1)){m=70;break V}if(k=y+52|0,I=Z[k>>2]|0,I>>>0>>0){m=72;break V}if(Z[k>>2]=I-O,I=N[90653+(Z[y+8>>2]|0)>>0]|0,z){y=0;do k=A+y|0,N[k>>0]=N[k>>0]&I,y=y+1|0;while((y|0)!=(O|0))}if(H=H+1|0,!(FZ(V,A,O)|0)){Y=0,m=118;break V}if((H|0)>=(P|0))break $}}}if(H=(P|0)>0,!O){if(!H)break;z=0;do{if(y=Z[L>>2]|0,I=Z[U>>2]|0,!(Z[I>>2]&1)){m=48;break V}if(F=Z[J>>2]|0,C=I+52|0,k=Z[C>>2]|0,k>>>0>>0){m=50;break V}if(Z[C>>2]=k-F,k=N[90653+(Z[I+8>>2]|0)>>0]|0,(F|0)>0){I=0;do C=y+I|0,N[C>>0]=N[C>>0]&k,I=I+1|0;while((I|0)!=(F|0))}if(!(FZ(V,y,F)|0)){Y=0,m=118;break V}z=z+8|0}while((z|0)<(P|0));if((P|0)>4){z=4;do{if(I=Z[L>>2]|0,k=Z[U>>2]|0,!(Z[k>>2]&1)){m=48;break V}if(A=Z[J>>2]|0,C=k+52|0,u=Z[C>>2]|0,u>>>0>>0){m=50;break V}if(Z[C>>2]=u-A,u=N[90653+(Z[k+8>>2]|0)>>0]|0,(A|0)>0){k=0;do C=I+k|0,N[C>>0]=N[C>>0]&u,k=k+1|0;while((k|0)!=(A|0))}if(!(FZ(V,I,A)|0)){Y=0,m=118;break V}z=z+8|0}while((z|0)<(P|0))}if((P|0)>2){z=2;do{if(k=Z[L>>2]|0,u=Z[U>>2]|0,!(Z[u>>2]&1)){m=48;break V}if(F=Z[J>>2]|0,y=u+52|0,C=Z[y>>2]|0,C>>>0>>0){m=50;break V}if(Z[y>>2]=C-F,C=N[90653+(Z[u+8>>2]|0)>>0]|0,(F|0)>0){u=0;do y=k+u|0,N[y>>0]=N[y>>0]&C,u=u+1|0;while((u|0)!=(F|0))}if(!(FZ(V,k,F)|0)){Y=0,m=118;break V}z=z+4|0}while((z|0)<(P|0))}if((P|0)<=1)break;z=1;do{if(u=Z[L>>2]|0,C=Z[U>>2]|0,!(Z[C>>2]&1)){m=48;break V}if(A=Z[J>>2]|0,I=C+52|0,y=Z[I>>2]|0,y>>>0>>0){m=50;break V}if(Z[I>>2]=y-A,y=N[90653+(Z[C+8>>2]|0)>>0]|0,(A|0)>0){C=0;do I=u+C|0,N[I>>0]=N[I>>0]&y,C=C+1|0;while((C|0)!=(A|0))}if(!(FZ(V,u,A)|0)){Y=0,m=118;break V}z=z+2|0}while((z|0)<(P|0))}else{if(!H)break;z=(O|0)>0,C=0;do{if(y=(Z[L>>2]|0)+(B(C,O)|0)|0,F=Z[U>>2]|0,!(Z[F>>2]&1)){m=48;break V}if(k=F+52|0,I=Z[k>>2]|0,I>>>0>>0){m=50;break V}if(Z[k>>2]=I-O,I=N[90653+(Z[F+8>>2]|0)>>0]|0,z){F=0;do k=y+F|0,N[k>>0]=N[k>>0]&I,F=F+1|0;while((F|0)!=(O|0))}if(!(FZ(V,y,O)|0)){Y=0,m=118;break V}C=C+8|0}while((C|0)<(P|0));if((P|0)>4){C=(O|0)>0,z=4;do{if(H=(Z[L>>2]|0)+(B(z,O)|0)|0,F=Z[U>>2]|0,!(Z[F>>2]&1)){m=48;break V}if(I=F+52|0,A=Z[I>>2]|0,A>>>0>>0){m=50;break V}if(Z[I>>2]=A-O,A=N[90653+(Z[F+8>>2]|0)>>0]|0,C){F=0;do I=H+F|0,N[I>>0]=N[I>>0]&A,F=F+1|0;while((F|0)!=(O|0))}if(!(FZ(V,H,O)|0)){Y=0,m=118;break V}z=z+8|0}while((z|0)<(P|0))}if((P|0)>2){z=(O|0)>0,C=2;do{if(F=(Z[L>>2]|0)+(B(C,O)|0)|0,A=Z[U>>2]|0,!(Z[A>>2]&1)){m=48;break V}if(y=A+52|0,I=Z[y>>2]|0,I>>>0>>0){m=50;break V}if(Z[y>>2]=I-O,I=N[90653+(Z[A+8>>2]|0)>>0]|0,z){A=0;do y=F+A|0,N[y>>0]=N[y>>0]&I,A=A+1|0;while((A|0)!=(O|0))}if(!(FZ(V,F,O)|0)){Y=0,m=118;break V}C=C+4|0}while((C|0)<(P|0))}if((P|0)<=1)break;C=(O|0)>0,z=1;do{if(A=(Z[L>>2]|0)+(B(z,O)|0)|0,I=Z[U>>2]|0,!(Z[I>>2]&1)){m=48;break V}if(H=I+52|0,y=Z[H>>2]|0,y>>>0>>0){m=50;break V}if(Z[H>>2]=y-O,y=N[90653+(Z[I+8>>2]|0)>>0]|0,C){I=0;do H=A+I|0,N[H>>0]=N[H>>0]&y,I=I+1|0;while((I|0)!=(O|0))}if(!(FZ(V,A,O)|0)){Y=0,m=118;break V}z=z+2|0}while((z|0)<(P|0))}}while(0);if(_=_+1|0,(_|0)>=(Z[Q>>2]|0))break Z}if((m|0)==13)return Z[V+64>>2]=10,Y=0,q=$,Y|0;else if((m|0)==21)return Z[V+64>>2]=10,Y=0,q=$,Y|0;else if((m|0)==29)return Z[V+64>>2]=10,Y=0,q=$,Y|0;else if((m|0)==48)return Z[V+64>>2]=10,Y=0,q=$,Y|0;else if((m|0)==50)return Z[V+64>>2]=6,Y=0,q=$,Y|0;else if((m|0)==70)return Z[V+64>>2]=10,Y=0,q=$,Y|0;else if((m|0)==72)return Z[V+64>>2]=6,Y=0,q=$,Y|0;else if((m|0)==118)return q=$,Y|0}while(0);Q=Z[V+60>>2]|0,_=Z[V+56>>2]|0;Z:do if((Q|0)!=0&(_|0)>0){U=_+-1|0,J=V+72|0,S=T+1|0,W=0;while(!0){if(P=Q+(W*12|0)|0,O=Z[Q+(W*12|0)+8>>2]|0,O|0){if(L=Z[J>>2]|0,!(Z[L>>2]&1)){m=87;break}if(N[T>>0]=33,N[S>>0]=O,O=Z[L+64>>2]|0,!O)C2(T,1,2,Z[L+56>>2]|0)|0;else y8[O&7](V,T,2)|0}if(O=Z[P>>2]|0,L=Z[Q+(W*12|0)+4>>2]|0,K=Z[J>>2]|0,!(Z[K>>2]&1)){m=95;break}if(N[T>>0]=O,z=Z[K+64>>2]|0,!z)UZ(O<<24>>24,Z[K+56>>2]|0)|0;else y8[z&7](V,T,1)|0;if(z=Z[J>>2]|0,K=Z[z+64>>2]|0,!K)C2(L,1,O,Z[z+56>>2]|0)|0;else y8[K&7](V,L,O)|0;if(!((W|0)!=(U|0)?!(Z[P+12+8>>2]|0):0)){if(P=Z[J>>2]|0,!(Z[P>>2]&1)){m=103;break}if(N[T>>0]=0,O=Z[P+64>>2]|0,!O)UZ(0,Z[P+56>>2]|0)|0;else y8[O&7](V,T,1)|0}if(W=W+1|0,(W|0)>=(_|0)){g=J;break Z}}if((m|0)==87)return Z[V+64>>2]=10,Y=0,q=$,Y|0;else if((m|0)==95)return Z[V+64>>2]=10,Y=0,q=$,Y|0;else if((m|0)==103)return Z[V+64>>2]=10,Y=0,q=$,Y|0}else g=V+72|0;while(0);m=Z[g>>2]|0;do if(m|0?Z[m>>2]&1|0:0){if(g=Z[m+56>>2]|0,N[T>>0]=59,_=Z[m+64>>2]|0,!_)UZ(59,g)|0;else y8[_&7](V,T,1)|0;if(_=V+48|0,Z[_>>2]|0)Z[_>>2]=0;if(Z[X>>2]|0)Z[X>>2]=0;if(g|0?m9(g)|0:0)break;return Y=1,q=$,Y|0}while(0);return Y=0,q=$,Y|0}function mP(V){V=V|0;var $=0;$=1;while(!0)if($>>>0<9&(1<<$|0)<(V|0))$=$+1|0;else break;return $|0}function uP(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;T=V+52|0,X=Z[T>>2]|0;Z:do if(!X)Z[543135]=(Z[543135]|0)+36,Y=EZ(36,1)|0,Q=Z[543134]|0,Z[1467456+(Q<<2)>>2]=Y,Z[543134]=Q+((Q|0)<16384&1),W=Y;else{Y=((Z[V+24>>2]|0)*36|0)+36|0,Q=Z[543134]|0;V:do if((Q|0)>0){U=0;while(!0){if(S=1467456+(U<<2)|0,(Z[S>>2]|0)==(X|0))break;if(U=U+1|0,(U|0)>=(Q|0))break V}U=N$(X,Y)|0,Z[S>>2]=U,W=U;break Z}while(0);W=N$(X,Y)|0}while(0);if(Z[T>>2]=W,!W)return J=0,J|0;X=V+24|0,V=Z[X>>2]|0,Z[X>>2]=V+1,S=W+(V*36|0)|0,Q=S,U=Q+36|0;do N[Q>>0]=0,Q=Q+1|0;while((Q|0)<(U|0));if(!$)return J=S,J|0;Q=S,_=$,U=Q+36|0;do N[Q>>0]=N[_>>0]|0,Q=Q+1|0,_=_+1|0;while((Q|0)<(U|0));if(_=W+(V*36|0)+20|0,Z[_>>2]|0?(Q=Z[$+20>>2]|0,U=IY(Z[Q>>2]|0,Z[Q+12>>2]|0)|0,Z[_>>2]=U,(U|0)==0):0){if(U=Z[T>>2]|0,!U)return J=0,J|0;if(_=(Z[X>>2]|0)+-1|0,Z[X>>2]=_,Q=U+(_*36|0)+20|0,Z[Q>>2]|0)Z[Q>>2]=0;if(Q=U+(_*36|0)+32|0,!(Z[Q>>2]|0))return J=0,J|0;return Z[Q>>2]=0,Z[U+(_*36|0)+28>>2]=0,J=0,J|0}if(_=$+12|0,U=$+8|0,Q=B(Z[U>>2]|0,Z[_>>2]|0)|0,K=(Z[543135]|0)+Q|0,Z[543135]=K,P=EZ(Q,1)|0,Q=Z[543134]|0,Z[1467456+(Q<<2)>>2]=P,O=Q+((Q|0)<16384&1)|0,Z[543134]=O,Z[W+(V*36|0)+24>>2]=P,!P){if(Q=Z[T>>2]|0,!Q)return J=0,J|0;if(L=(Z[X>>2]|0)+-1|0,Z[X>>2]=L,F=Q+(L*36|0)+20|0,Z[F>>2]|0)Z[F>>2]=0;if(F=Q+(L*36|0)+32|0,!(Z[F>>2]|0))return J=0,J|0;return Z[F>>2]=0,Z[Q+(L*36|0)+28>>2]=0,J=0,J|0}if(q6(P|0,Z[$+24>>2]|0,B(Z[U>>2]|0,Z[_>>2]|0)|0)|0,_=W+(V*36|0)+32|0,!(Z[_>>2]|0))return J=S,J|0;if(V=$+28|0,W=(Z[V>>2]|0)*12|0,Z[543135]=W+K,K=EZ(W,1)|0,Z[1467456+(O<<2)>>2]=K,Z[543134]=O+((O|0)<16384&1),Z[_>>2]=K,K|0)return q6(K|0,Z[$+32>>2]|0,(Z[V>>2]|0)*12|0)|0,J=S,J|0;if(S=Z[T>>2]|0,!S)return J=0,J|0;if(T=(Z[X>>2]|0)+-1|0,Z[X>>2]=T,X=S+(T*36|0)+20|0,Z[X>>2]|0)Z[X>>2]=0;if(X=S+(T*36|0)+32|0,!(Z[X>>2]|0))return J=0,J|0;return Z[X>>2]=0,Z[S+(T*36|0)+28>>2]=0,J=0,J|0}function qY(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;if(V=q,q=q+1632|0,$=V+1616|0,T=V+1608|0,X=V+1600|0,Y=V+1592|0,Q=V+1584|0,W=V+1576|0,U=V+1568|0,S=V+1560|0,J=V+1552|0,_=V+528|0,K=V,Z[785589]=0,x8(K|0,0,521)|0,(Z[768028]|0)!=1|(Z[768034]|0)==0|(N[3066732]|0)==0)return P=0,q=V,P|0;if((x6(3066732)|0)>>>0>64)return P=0,q=V,P|0;if(Z[J>>2]=3064548,Z[J+4>>2]=3066732,a6(_,90662,J)|0,J=c5(_,103074)|0,!J)return P=1,q=V,P|0;_=0;do O=_*65|0,L=_<<3,F=K+(O+64)|0,Z[S>>2]=Z[3067756+(L<<2)>>2],a6(K+O|0,90675,S)|0,N[F>>0]=10,Z[U>>2]=Z[3067756+((L|1)<<2)>>2],a6(K+(O+8)|0,90675,U)|0,N[F>>0]=10,Z[W>>2]=Z[3067756+((L|2)<<2)>>2],a6(K+(O+16)|0,90675,W)|0,N[F>>0]=10,Z[Q>>2]=Z[3067756+((L|3)<<2)>>2],a6(K+(O+24)|0,90675,Q)|0,N[F>>0]=10,Z[Y>>2]=Z[3067756+((L|4)<<2)>>2],a6(K+(O+32)|0,90675,Y)|0,N[F>>0]=10,Z[X>>2]=Z[3067756+((L|5)<<2)>>2],a6(K+(O+40)|0,90675,X)|0,N[F>>0]=10,Z[T>>2]=Z[3067756+((L|6)<<2)>>2],a6(K+(O+48)|0,90675,T)|0,N[F>>0]=10,Z[$>>2]=Z[3067756+((L|7)<<2)>>2],a6(K+(O+56)|0,90675,$)|0,N[F>>0]=10,_=_+1|0;while((_|0)!=8);return a7(K,1,520,J)|0,I5(J),P=0,q=V,P|0}function lP(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;if($=q,q=q+2592|0,T=$+2584|0,X=$+2576|0,Y=$+1552|0,Q=$+528|0,W=$,!V)return U=3,q=$,U|0;if(!((Z[768028]|0)==1&(Z[768034]|0)!=0))return U=1,q=$,U|0;if(N[3066732]|0)return Y4(90680)|0,U=2,q=$,U|0;if(S=N[V>>0]|0,S<<24>>24?(J=x6(V)|0,J>>>0<=64):0){Z:do if(J|0){_=S,K=0;V:while(!0){if(P=_<<24>>24,!((P+-97|0)>>>0<26|(P+-48|0)>>>0<10))switch(P|0){case 45:case 95:break;default:break V}if(P=K+1|0,P>>>0>=J>>>0)break Z;_=N[V+P>>0]|0,K=P}return Y4(90737)|0,U=2,q=$,U|0}while(0);if(V8(3066732,V)|0,x8(3067756,0,256)|0,Z[X>>2]=3064548,Z[X+4>>2]=3066732,a6(Y,90662,X)|0,X=c5(Y,94452)|0,!X)return U=1,q=$,U|0;C1(Q,0,1024),HW(Q,1,1024,X)|0,I5(X),C1(W,0,513),X=0,Y=0;while(!0){if(V=N[Q+X>>0]|0,(V+-48&255)<10)O=19;else switch(V<<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:{O=19;break}default:L=Y}if((O|0)==19)O=0,N[W+Y>>0]=V,L=Y+1|0;if(X=X+1|0,!(X>>>0<1024&(L|0)<512))break;else Y=L}L=0;do Z[T>>2]=3067756+(L<<2),a8(W+(L<<3)|0,90675,T)|0,L=L+1|0;while((L|0)!=64);return U=0,q=$,U|0}return Y4(90715)|0,U=2,q=$,U|0}function sP(V){V=V|0;var $=0,T=0;if($=q,q=q+1024|0,T=$,PX(V,T),(F5(V,90760)|0)==0?(F5(V,90765)|0)==0:0){d(90770),q=$;return}if((Z[768030]|0)==5){JJ(T,Z[785714]|0),q=$;return}else{JJ(T,-1),q=$;return}}function JJ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;if(T=q,q=q+1040|0,X=T+1032|0,Y=T+1024|0,Q=T,W=Z[785630]|0,($|0)==-1)if(U=(u1(V,93171)|0)==0,S=U?W:0,J=U?W:63,(S|0)>(J|0))fX(Q),_=32,K=0;else P=J,O=S,L=4;else P=W,O=W,L=4;do if((L|0)==4){W=O,S=0;while(!0){if(F=S+1|0,Z[Y>>2]=W,a6(Q,V,Y)|0,!(F5(Q,90765)|0))z=0;else{if(J=c5(Q,103074)|0,!J)break;SJ(J,W,$),z=J}if(F5(Q,90760)|0)RJ(Q,W,$);if(z|0)I5(z);if((W|0)<(P|0))W=W+1|0,S=F;else{L=14;break}}if((L|0)==14){fX(Q),_=(S|0)==0?32:115,K=F;break}d(90792),q=T;return}while(0);Z[X>>2]=K,Z[X+4>>2]=_,a6(1708384,90812,X)|0,d(1708384),q=T;return}function SJ(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0;if(X=Z[26136]|0,Y=X+16+($*660|0)|0,Q=Z[X+16+($*660|0)+8>>2]|0,X=(Q|0)<1?32:Q<<5,Q=B2(366)|0,x8(Q|0,0,366)|0,W=(T|0)==-1,W)b5(90853,$,X);else b5(90872,T,0);if(AZ(),RV(0,0),DQ(),$=Z[26136]|0,!W){PR($,T,0),Z[543656]=1,T=0;do MN(0,Q,366),a7(Q,1,366,V)|0,T=T+1|0;while((zQ()|0)!=0&T>>>0<32768);Z[543656]=0,AZ(),$6(Q),EX();return}if(KR(Y,$),Z[543656]=1,(X|0)<=0){Z[543656]=0,AZ(),$6(Q),EX();return}$=0;do MN(0,Q,366),a7(Q,1,366,V)|0,zQ()|0,$=$+1|0;while(($|0)!=(X|0));Z[543656]=0,AZ(),$6(Q),EX();return}function RJ(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0;if(X=($|0)==-2,X)if(Y=Sz()|0,!Y){d(90828);return}else Q=Y;else Y=Q3(1048576)|0,SJ(Y,$,T),Q=Y;if(Y=Z[Q+16>>2]|0,T=c5(V,103074)|0,!T){d(90792);return}if($=Y+36|0,N[3460]=$,N[3461]=$>>>8,N[3462]=$>>>16,N[3463]=$>>>24,N[3496]=Y,N[3497]=Y>>>8,N[3498]=Y>>>16,N[3499]=Y>>>24,a7(3456,1,44,T)|0,a7(Z[Q+12>>2]|0,1,Y,T)|0,I5(T),fX(V),X)return;W3(Q);return}function oP(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if(T=q,q=q+2144|0,X=T+2136|0,Y=T+2128|0,Q=T+2120|0,W=T+2112|0,U=T+1088|0,S=T+64|0,J=T,x8(1532992,0,1024)|0,Z[W>>2]=PW()|0,Z[W+4>>2]=V,a6(J,90883,W)|0,N[3144232]|0)Z[Q>>2]=3144232,Z[Q+4>>2]=V,a6(J,90893,Q)|0;if(Q=($|0)==0,!(o5(J,37)|0))if(Q)return _$(J,S),w5(1532992,S)|0,q=T,1532992;else return PX(J,S),w5(1532992,S)|0,q=T,1532992;if(Q){Q=0;while(!0)if(Z[Y>>2]=Q,a6(U,J,Y)|0,_$(U,S),!(d3(S)|0))break;else Q=Q+1|0;return w5(1532992,S)|0,q=T,1532992}else{Q=0;while(!0)if(Z[X>>2]=Q,a6(U,J,X)|0,PX(U,S),!(d3(S)|0))break;else Q=Q+1|0;return w5(1532992,S)|0,q=T,1532992}return 0}function nP(V){V=V|0,oP(90899,V)|0,RJ(1532992,-2,-2);return}function _W(){var V=0,$=0,T=0;Z[543136]=0,Z[543137]=0,V=1926988,$=1926924,T=V+64|0;do Z[V>>2]=Z[$>>2],V=V+4|0,$=$+4|0;while((V|0)<(T|0));return}function rP(){var V=0,$=0,T=0;if((Z[543136]|0)>=13)return;V=1926924,$=1926988,T=V+64|0;do Z[V>>2]=Z[$>>2],V=V+4|0,$=$+4|0;while((V|0)<(T|0));return}function hP(V){V=V|0;var $=0,T=0,X=0;if($=(V|0)==27,$&(Z[543136]|0)<13){V=1926924,T=1926988,X=V+64|0;do Z[V>>2]=Z[T>>2],V=V+4|0,T=T+4|0;while((V|0)<(X|0));KW(Z[730449]|0)}if($)Z[785925]=0;if((Z[543136]|0)<=12)return;Z[785925]=0,Z[768157]=120;return}function KW(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if($=q,q=q+16|0,T=$+8|0,X=$,V7(V,0,0,127,127,1),V7(V,4,41,123,124,6),V7(V,0,0,127,6,7),K1(V,90903,Z[730468]|0,6,1,1,12)|0,Y=Z[Z[730467]>>2]|0,Q=Z[543136]|0,W=Z[((Q|0)==13?Y+672|0:(Q|0)==12?Y+700|0:Y+(((Q|0)%6|0)+169<<2)|0)>>2]|0,M9(W,V,0,0,6,8,Z[W>>2]|0,Z[W+4>>2]|0),W=Z[730468]|0,(Z[543136]|0)>12)K1(V,90921,W,60,12,1,11)|0,K1(V,90935,Z[730468]|0,60,22,1,12)|0,K1(V,90948,Z[730468]|0,60,29,1,12)|0;else K1(V,90960,W,60,12,1,6)|0,K1(V,Z[3504+(Z[543136]<<2)>>2]|0,Z[730468]|0,60,19,1,7)|0,K1(V,90975,Z[730468]|0,60,26,1,13)|0,K1(V,90991,Z[730468]|0,60,33,1,13)|0;W=0,Q=44;while(!0){if(Y=Z[1926924+(W<<2)>>2]|0,U=Z[3504+(W<<2)>>2]|0,!Y)S=Z[3568+(W<<2)>>2]|0,Z[X>>2]=U,Z[X+4>>2]=S,a6(1708384,91005,X)|0;else S=(Y|0)<255?Y:255,Y=N3((S|0)>0?S:0)|0,Z[T>>2]=U,Z[T+4>>2]=Y,a6(1708384,91005,T)|0;if(Y=N[1708384]|0,Y<<24>>24){U=Y,Y=1708384;do{if((U+-65&255)<26)N[Y>>0]=(U&255)+32;Y=Y+1|0,U=N[Y>>0]|0}while(U<<24>>24!=0)}if((W|0)==(Z[543136]|0))V7(V,7,Q+-1|0,120,Q+5|0,14),J=1;else J=5;if(K1(V,1708384,Z[730468]|0,10,Q,1,J)|0,W=W+1|0,(W|0)==13)break;else Q=Q+6|0}q=$;return}function _J(){var V=0,$=0,T=0;if(!(Z[543137]|0)){Z[543137]=1,V=0;do{if(O2(V)|0)Z[543137]=0;V=V+1|0}while((V|0)!=512);if((Z[543136]|0)<=12)return;Z[543137]=0;return}V=0;do{if(O2(V)|0){switch(V&2147483647|0){case 42:case 76:{$=0;break}default:$=V}if(T=Z[543136]|0,Z[1926924+(T<<2)>>2]=$,Z[543137]=0,Z[543136]=T+1,(T|0)>11?x9()|0:0)do ZZ()|0;while((x9()|0)!=0)}V=V+1|0}while((V|0)!=512);return}function V$(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0;if(Q=q,q=q+16|0,W=Q,$>>>0>6){q=Q;return}if(!(x4($,T)|0))U=(PT($,T)|0)>128&1;else U=1;M9(Z[(Z[Z[730467]>>2]|0)+(U+247<<2)>>2]|0,V,0,0,X,Y,7,7),N[W>>0]=(G[91228+$>>0]|0)+31,N[W+1>>0]=0,K1(V,W,Z[730468]|0,X,U+Y|0,1,7)|0,q=Q;return}function gP(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0;if($=q,q=q+1056|0,T=$+1024|0,X=$+1040|0,Y=$+1036|0,Q=$+1032|0,W=$,S4(Y,Q,$+1028|0),U=Z[(Z[Z[730467]>>2]|0)+984>>2]|0,S=U+4|0,J=(Z[U>>2]|0)/2|0,_=64-J|0,K=(Z[S>>2]|0)/2|0,P=64-K|0,pY(V,63-J|0,63-K|0,J+64|0,K+64|0,1),RX(V,_,P,J+63|0,K+63|0,7),M9(U,V,0,0,_,P,Z[U>>2]|0,Z[S>>2]|0),x8(W|0,0,1024)|0,V8(W,91235)|0,S=W+256|0,V8(S,91243)|0,U=W+512|0,V8(U,91251)|0,K=W+768|0,V8(K,91259)|0,!((Z[481731]|Z[481732]|Z[481733]|Z[481734]|0)==0|(Z[481731]|0)==80&(Z[481732]|0)==79&(Z[481733]|0)==82&(Z[481734]|0)==81)){if(V8(W,91267)|0,J=Z[481731]|0,J|0){if(O=(J|0)<255?J:255,J=N3((O|0)>0?O:0)|0,(J|0)!=0?(x6(J)|0)==1:0)O=N[J>>0]|0,J=O<<24>>24,L=(O+-65&255)<26?J+32|0:J;else L=16;N[W>>0]=L}if(L=Z[481732]|0,L|0){if(J=(L|0)<255?L:255,L=N3((J|0)>0?J:0)|0,(L|0)!=0?(x6(L)|0)==1:0)J=N[L>>0]|0,L=J<<24>>24,F=(J+-65&255)<26?L+32|0:L;else F=16;N[W+2>>0]=F}if(F=Z[481733]|0,F|0){if(L=(F|0)<255?F:255,F=N3((L|0)>0?L:0)|0,(F|0)!=0?(x6(F)|0)==1:0)L=N[F>>0]|0,F=L<<24>>24,z=(L+-65&255)<26?F+32|0:F;else z=16;N[W+4>>0]=z}if(z=Z[481734]|0,z|0){if(F=(z|0)<255?z:255,z=N3((F|0)>0?F:0)|0,(z|0)!=0?(x6(z)|0)==1:0)F=N[z>>0]|0,z=F<<24>>24,H=(F+-65&255)<26?z+32|0:z;else H=16;N[W+6>>0]=H}}if(Z[481735]|Z[481736]|0){if(V8(S,91267)|0,H=Z[481735]|0,H|0){if(z=(H|0)<255?H:255,H=N3((z|0)>0?z:0)|0,(H|0)!=0?(x6(H)|0)==1:0)z=N[H>>0]|0,H=z<<24>>24,C=(z+-65&255)<26?H+32|0:H;else C=16;N[W+256>>0]=C}if(C=Z[481736]|0,C|0){if(H=(C|0)<255?C:255,C=N3((H|0)>0?H:0)|0,(C|0)!=0?(x6(C)|0)==1:0)H=N[C>>0]|0,C=H<<24>>24,A=(H+-65&255)<26?C+32|0:C;else A=16;N[W+258>>0]=A}}if(Z[481737]|Z[481738]|Z[481739]|Z[481740]|0){if(V8(U,91267)|0,A=Z[481737]|0,A|0){if(C=(A|0)<255?A:255,A=N3((C|0)>0?C:0)|0,(A|0)!=0?(x6(A)|0)==1:0)C=N[A>>0]|0,A=C<<24>>24,y=(C+-65&255)<26?A+32|0:A;else y=16;N[W+512>>0]=y}if(y=Z[481738]|0,y|0){if(A=(y|0)<255?y:255,y=N3((A|0)>0?A:0)|0,(y|0)!=0?(x6(y)|0)==1:0)A=N[y>>0]|0,y=A<<24>>24,k=(A+-65&255)<26?y+32|0:y;else k=16;N[W+514>>0]=k}if(k=Z[481739]|0,k|0){if(y=(k|0)<255?k:255,k=N3((y|0)>0?y:0)|0,(k|0)!=0?(x6(k)|0)==1:0)y=N[k>>0]|0,k=y<<24>>24,m=((y+-65&255)<26?k+32|0:k)&255;else m=16;N[W+516>>0]=m}if(m=Z[481740]|0,m|0){if(k=(m|0)<255?m:255,m=N3((k|0)>0?k:0)|0,(m|0)!=0?(x6(m)|0)==1:0)k=N[m>>0]|0,m=k<<24>>24,I=((k+-65&255)<26?m+32|0:m)&255;else I=16;N[W+518>>0]=I}}if(Z[481741]|Z[481742]|0){if(V8(K,91267)|0,I=Z[481741]|0,I|0){if(m=(I|0)<255?I:255,I=N3((m|0)>0?m:0)|0,(I|0)!=0?(x6(I)|0)==1:0)m=N[I>>0]|0,I=m<<24>>24,u=((m+-65&255)<26?I+32|0:I)&255;else u=16;N[W+768>>0]=u}if(u=Z[481742]|0,u|0){if(I=(u|0)<255?u:255,u=N3((I|0)>0?I:0)|0,(u|0)!=0?(x6(u)|0)==1:0)I=N[u>>0]|0,u=I<<24>>24,g=((I+-65&255)<26?u+32|0:u)&255;else g=16;N[W+770>>0]=g}}if(g=Z[730468]|0,K1(V,W,g,90-((x6(W)|0)<<1)|0,34,1,13)|0,W=Z[730468]|0,K1(V,S,W,90-((x6(S)|0)<<1)|0,44,1,13)|0,S=Z[730468]|0,K1(V,U,S,90-((x6(U)|0)<<1)|0,61,1,13)|0,U=Z[730468]|0,K1(V,K,U,90-((x6(K)|0)<<1)|0,72,1,13)|0,K=_+18|0,U=P+14|0,V$(V,0,0,K,U),S=_+26|0,V$(V,1,0,S,U),W=_+34|0,V$(V,2,0,W,U),g=_+42|0,V$(V,3,0,g,U),U=P+25|0,!(x4(4,0)|0))i=(PT(4,0)|0)>128&1;else i=1;if(M9(Z[(Z[Z[730467]>>2]|0)+(i+247<<2)>>2]|0,V,0,0,K,U,7,7),N[X>>0]=-114,u=X+1|0,N[u>>0]=0,K1(V,X,Z[730468]|0,K,i+U|0,1,7)|0,i=_+26|0,!(x4(5,0)|0))t=(PT(5,0)|0)>128&1;else t=1;if(M9(Z[(Z[Z[730467]>>2]|0)+(t+247<<2)>>2]|0,V,0,0,i,U,7,7),N[X>>0]=-105,N[u>>0]=0,K1(V,X,Z[730468]|0,i,t+U|0,1,7)|0,U=P+41|0,V$(V,0,1,K,U),V$(V,1,1,S,U),V$(V,2,1,W,U),V$(V,3,1,g,U),U=P+52|0,!(x4(4,1)|0))Y0=(PT(4,1)|0)>128&1;else Y0=1;if(M9(Z[(Z[Z[730467]>>2]|0)+(Y0+247<<2)>>2]|0,V,0,0,K,U,7,7),N[X>>0]=-114,N[u>>0]=0,K1(V,X,Z[730468]|0,K,Y0+U|0,1,7)|0,x4(5,1)|0){X0=1,T0=Z[730467]|0,Z0=Z[T0>>2]|0,W0=X0+247|0,O0=Z0+(W0<<2)|0,y0=Z[O0>>2]|0,M9(y0,V,0,0,i,U,7,7),N[X>>0]=-105,N[u>>0]=0,E0=Z[730468]|0,H0=X0+U|0,K1(V,X,E0,i,H0,1,7)|0,D0=Z[532679]|0,Z[T>>2]=D0,a6(1708384,91275,T)|0,_0=Z[730468]|0,F0=_+5|0,k0=P+80|0,K1(V,1708384,_0,F0,k0,1,13)|0,m0=Z[730467]|0,B0=Z[m0>>2]|0,g0=B0+356|0,o0=Z[g0>>2]|0,h0=Z[Y>>2]|0,C0=Z[o0>>2]|0,u0=(C0|0)/2|0,p0=h0-u0|0,q0=Z[Q>>2]|0,i0=o0+4|0,t0=Z[i0>>2]|0,E6=(t0|0)/2|0,V6=q0-E6|0,M9(o0,V,0,0,p0,V6,C0,t0),q=$;return}X0=(PT(5,1)|0)>128&1,T0=Z[730467]|0,Z0=Z[T0>>2]|0,W0=X0+247|0,O0=Z0+(W0<<2)|0,y0=Z[O0>>2]|0,M9(y0,V,0,0,i,U,7,7),N[X>>0]=-105,N[u>>0]=0,E0=Z[730468]|0,H0=X0+U|0,K1(V,X,E0,i,H0,1,7)|0,D0=Z[532679]|0,Z[T>>2]=D0,a6(1708384,91275,T)|0,_0=Z[730468]|0,F0=_+5|0,k0=P+80|0,K1(V,1708384,_0,F0,k0,1,13)|0,m0=Z[730467]|0,B0=Z[m0>>2]|0,g0=B0+356|0,o0=Z[g0>>2]|0,h0=Z[Y>>2]|0,C0=Z[o0>>2]|0,u0=(C0|0)/2|0,p0=h0-u0|0,q0=Z[Q>>2]|0,i0=o0+4|0,t0=Z[i0>>2]|0,E6=(t0|0)/2|0,V6=q0-E6|0,M9(o0,V,0,0,p0,V6,C0,t0),q=$;return}function KJ(V){V=V|0;var $=0,T=0,X=0,Y=0;if($=N[V>>0]|0,!($<<24>>24))return;T=$;while(!0){if($=V+((x6(V)|0)+-1)|0,(N[$>>0]|0)!=32)break;if(N[$>>0]=0,$=N[V>>0]|0,!($<<24>>24)){X=15;break}else T=$}if((X|0)==15)return;$=T,T=V;do{if(($+-65&255)<26)N[T>>0]=($&255)+32;T=T+1|0,$=N[T>>0]|0}while($<<24>>24!=0);if($=N[V>>0]|0,!($<<24>>24))return;T=$,$=V;do{if(lY(T<<24>>24)|0){if((N[$>>0]|0)==124)Y=95,X=13}else Y=32,X=13;if((X|0)==13)X=0,N[$>>0]=Y;$=$+1|0,T=N[$>>0]|0}while(T<<24>>24!=0);return}function PJ(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0;if(V=q,q=q+1056|0,$=V+1024|0,T=V,E5(92562,T),X=NZ(T,95158)|0,!X){q=V;return}if(T=Z[384064]|0,(T|0)>0){Y=T,T=0;while(!0){if(Q=Z[383797]|0,(Z[Q+(T*692|0)+684>>2]|0)==1)W=Z[Q+(T*692|0)+644>>2]|0,Z[$>>2]=Q+(T*692|0)+388,Z[$+4>>2]=Q+(T*692|0)+516,Z[$+8>>2]=W,Z[$+12>>2]=Q+(T*692|0)+132,Z[$+16>>2]=Q+(T*692|0)+260,Z[$+20>>2]=Q+(T*692|0)+4,n1(X,91302,$)|0,U=Z[384064]|0;else U=Y;if(T=T+1|0,(T|0)>=(U|0))break;else Y=U}}m9(X)|0,q=V;return}function iP(){var V=0,$=0;V=q,q=q+1024|0,$=V,E5(92562,$),tP(1535184,$),q=V;return}function tP(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0;if(T=q,q=q+528|0,X=T+520|0,Y=T+512|0,Q=T,W=c5($,102896)|0,!W){Z[Y>>2]=$,a6(1703776,91341,Y)|0,s1(1703776),q=T;return}Z:do if(!(_V(W)|0)){Y=V+1072|0,$=V+4|0,U=Q+1|0,S=0;do{if(S>>>0>=2048)break Z;S=S+1|0,N[Q>>0]=0,AX(Q,511,W)|0;do if((N[Q>>0]|0)==124){k4(Z[V>>2]|0,((Z[Y>>2]|0)*692|0)+692|0)|0,J=Z[(Z[V>>2]|0)+12>>2]|0,Z[$>>2]=J,_=Z[Y>>2]|0,Z[Y>>2]=_+1,K=J+(_*692|0)|0,x8(K|0,0,692)|0,_=K+684|0,Z[_>>2]=1,J=U;V:while(!0){switch(N[J>>0]|0){case 0:case 124:break V;default:}J=J+1|0}N[J>>0]=0,P=K+388|0,V8(P,U)|0,O=J+1|0,L=O;V:while(!0){switch(N[L>>0]|0){case 0:case 124:break V;default:}L=L+1|0}N[L>>0]=0,J=K+516|0,V8(J,O)|0,F=L+1|0,z=F;V:while(!0){switch(N[z>>0]|0){case 0:case 124:break V;default:}z=z+1|0}N[z>>0]=0,Z[X>>2]=K+644,a8(F,93171,X)|0,L=z+1|0,O=L;V:while(!0){switch(N[O>>0]|0){case 0:case 124:break V;default:}O=O+1|0}N[O>>0]=0,V8(K+132|0,L)|0,z=O+1|0,F=z;V:while(!0){switch(N[F>>0]|0){case 0:case 124:break V;default:}F=F+1|0}N[F>>0]=0,O=K+260|0,V8(O,z)|0,L=F+1|0,H=L;V:while(!0){switch(N[H>>0]|0){case 0:case 124:break V;default:}H=H+1|0}if(N[H>>0]=0,V8(K+4|0,L)|0,OJ(K),F=SX(V,P,O)|0,z=(Z[Y>>2]|0)+-1|0,(F|0)!=(z|0)){Z[Y>>2]=z;break}if((Z[_>>2]|0)==1)if((N[P>>0]|0)==0?(N[J>>0]|0)==0:0)z=(F5(O,91297)|0)==0,C=z?177:180;else C=176;else C=Z[K>>2]|0;Z[K>>2]=C}while(0)}while(!(_V(W)|0))}while(0);I5(W),q=T;return}function OJ(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;$=V+388|0;Z:do if(N[$>>0]|0)do{if(T=(x6($)|0)+-1+(V+388)|0,(N[T>>0]|0)!=32)break Z;N[T>>0]=0}while((N[$>>0]|0)!=0);while(0);T=V+516|0;Z:do if(N[T>>0]|0)do{if(X=(x6(T)|0)+-1+(V+516)|0,(N[X>>0]|0)!=32)break Z;N[X>>0]=0}while((N[T>>0]|0)!=0);while(0);X=V+260|0;Z:do if(N[X>>0]|0)do{if(Y=(x6(X)|0)+-1+(V+260)|0,(N[Y>>0]|0)!=32)break Z;N[Y>>0]=0}while((N[X>>0]|0)!=0);while(0);X=V+132|0,Y=N[X>>0]|0;Z:do if(Y<<24>>24){Q=Y;while(!0){if(W=(x6(X)|0)+-1+(V+132)|0,(N[W>>0]|0)!=32)break;if(N[W>>0]=0,W=N[X>>0]|0,!(W<<24>>24))break Z;else Q=W}W=Q,U=X;do{if((W+-65&255)<26)N[U>>0]=(W&255)+32;U=U+1|0,W=N[U>>0]|0}while(W<<24>>24!=0);if(W=N[X>>0]|0,W<<24>>24){U=W,W=X;do{if(!((U+-97&255)<26|(U+-48&255)<10))N[W>>0]=95;W=W+1|0,U=N[W>>0]|0}while(U<<24>>24!=0)}}while(0);if((x6(X)|0)>>>0>16)N[V+148>>0]=0;X=V+4|0,Y=N[X>>0]|0;Z:do if(Y<<24>>24){U=Y;while(!0){if(W=(x6(X)|0)+-1+(V+4)|0,(N[W>>0]|0)!=32)break;if(N[W>>0]=0,W=N[X>>0]|0,!(W<<24>>24))break Z;else U=W}W=U,Q=X;do{if((W+-65&255)<26)N[Q>>0]=(W&255)+32;Q=Q+1|0,W=N[Q>>0]|0}while(W<<24>>24!=0);if(W=N[X>>0]|0,W<<24>>24){Q=W,W=X;do{if(lY(Q<<24>>24)|0){if((N[W>>0]|0)==124)S=95,J=40}else S=32,J=40;if((J|0)==40)J=0,N[W>>0]=S;W=W+1|0,Q=N[W>>0]|0}while(Q<<24>>24!=0)}}while(0);if(!(Q6($,95780)|0))N[$>>0]=0;if(Q6(T,95780)|0)return;N[T>>0]=0;return}function SX(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0;if(X=Z[V+1072>>2]|0,(X|0)<=0)return Y=-1,Y|0;if(Q=Z[V+4>>2]|0,V=(T|0)==0,!(N[$>>0]|0)){if(V)return Y=-1,Y|0;W=(N[T>>0]|0)==0,U=0;while(!0){if(((!W?(N[Q+(U*692|0)+388>>0]|0)==0:0)?(N[Q+(U*692|0)+516>>0]|0)==0:0)?(Q6(T,Q+(U*692|0)+260|0)|0)==0:0){Y=U,S=18;break}if(U=U+1|0,(U|0)>=(X|0)){Y=-1,S=18;break}}if((S|0)==18)return Y|0}U=0;while(!0){if(W=Q+(U*692|0)+388|0,!(Q6(W,$)|0)){Y=U,S=18;break}if((((!V?N[T>>0]|0:0)?(N[W>>0]|0)==0:0)?(N[Q+(U*692|0)+516>>0]|0)==0:0)?(Q6(T,Q+(U*692|0)+260|0)|0)==0:0){Y=U,S=18;break}if(U=U+1|0,(U|0)>=(X|0)){Y=-1,S=18;break}}if((S|0)==18)return Y|0;return 0}function fP(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0;if(T=q,q=q+2080|0,X=T+2064|0,Y=T+2056|0,Q=T+2048|0,W=T+1024|0,U=T,E5(91377,U),Q4(U)|0,Z[Q>>2]=(V|0)/1e4|0,a6(W,91381,Q)|0,E5(W,U),Q4(U)|0,!$)return Z[X>>2]=U,Z[X+4>>2]=V,a6(1553248,91403,X)|0,q=T,1553248;else return Z[Y>>2]=U,Z[Y+4>>2]=V,a6(1553248,91389,Y)|0,q=T,1553248;return 0}function vY(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;if(T=q,q=q+1056|0,X=T+1040|0,Y=T+1032|0,Q=T+1024|0,W=T,U=T+1048|0,S=N[V>>0]|0,!(S<<24>>24))return N[1553248]=0,q=T,1553248;if(Z[U>>2]=0,J=x6(V)|0,_=(S+-48&255)<10&1,J>>>0>1){S=1,K=_;while(!0)if(P=((N[V+S>>0]|0)+-48&255)>9?0:K,O=S+1|0,O>>>0>>0)S=O,K=P;else{L=O,F=P;break}}else L=1,F=_;if(Z[U>>2]=L,F|0)return Z[U>>2]=0,Z[Q>>2]=U,a8(V,93171,Q)|0,fP(Z[U>>2]|0,$)|0,q=T,1553248;if(E5(91377,W),Q4(W)|0,E5(91415,W),Q4(W)|0,!$)return Z[X>>2]=W,Z[X+4>>2]=V,a6(1553248,91440,X)|0,q=T,1553248;else return Z[Y>>2]=W,Z[Y+4>>2]=V,a6(1553248,91425,Y)|0,q=T,1553248;return 0}function GJ(V){return V=V|0,vY(V,0)|0,1553248}function dP(V){return V=V|0,vY(V,1)|0,1553248}function bP(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0;if(T=q,q=q+16|0,X=T,(x6($)|0)>>>0<2)return N[1554272]=0,q=T,1554272;else return Y=Z[481781]|0,Z[X>>2]=V,Z[X+4>>2]=Y,Z[X+8>>2]=$,a6(1554272,91453,X)|0,q=T,1554272;return 0}function eP(V,$){return V=V|0,$=$|0,(SX(1535184,V,$)|0)!=-1|0}function MJ(V){V=V|0;var $=0,T=0,X=0;if(!V)return $=0,$|0;if(!(N[V>>0]|0))return $=0,$|0;if(!(F5(V,91297)|0)){if(T=cW(V)|0,!T)return $=0,$|0;if(X=T+44576|0,!(Z[X>>2]|0))return $=0,$|0;return T=h1(128,128,8)|0,l5(Z[X>>2]|0,T,0,0,0,0,128,128),$=T,$|0}if(T=xN(V)|0,!T)return $=0,$|0;if((Z[T>>2]|0)!=160)return $=0,$|0;if((Z[T+4>>2]|0)!=205)return $=0,$|0;return V=h1(128,128,32)|0,X=h1(128,128,8)|0,l5(T,V,16,24,0,0,128,128),uM(V,X,Z[730428]|0),P5(T)|0,P5(V)|0,$=X,$|0}function aP(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;if($=q,q=q+16|0,T=$,Z[543138]=V,Z[543139]=0,(V|0)==1){V8(1552708,91519)|0,X=Z[543139]|0,Z[1552704+(X*68|0)>>2]=1,Y=X+1|0,Z[543139]=Y,V8(1552704+(Y*68|0)+4|0,91528)|0,Y=Z[543139]|0,Z[1552704+(Y*68|0)>>2]=5,X=Y+1|0,Z[543139]=X,Y=1552704+(X*68|0)+4|0,V8(Y,91536)|0,Y=Z[543139]|0,Z[1552704+(Y*68|0)>>2]=3,X=Y+1|0,Z[543139]=X,Y=1535184,Q=Z[384065]|0;do if((Q|0)>=0?(Z[384064]|0)>(Q|0):0)if((Z[(Z[(Z[Y>>2]|0)+12>>2]|0)+(Q*692|0)+684>>2]|0)==1){if((Z[384064]|0)<=(Q|0)){x8(2173252,0,692)|0,W=X;break}if(N[(Z[(Z[Y>>2]|0)+12>>2]|0)+(Q*692|0)+388>>0]|0){if((Z[384064]|0)>(Q|0))U=(Z[(Z[Y>>2]|0)+12>>2]|0)+(Q*692|0)|0;else x8(2173252,0,692)|0,U=2173252;Z[T>>2]=U+132,a6(1708384,91569,T)|0,V8(1552704+((Z[543139]|0)*68|0)+4|0,1708384)|0,S=Z[543139]|0,Z[1552704+(S*68|0)>>2]=19,J=S+1|0,Z[543139]=J,V8(1552704+(J*68|0)+4|0,91582)|0,J=Z[543139]|0,Z[1552704+(J*68|0)>>2]=20,S=J+1|0,Z[543139]=S,V8(1552704+(S*68|0)+4|0,91596)|0,S=Z[543139]|0,Z[1552704+(S*68|0)>>2]=21,J=S+1|0,Z[543139]=J,V8(1552704+(J*68|0)+4|0,91614)|0,J=Z[543139]|0,Z[1552704+(J*68|0)>>2]=18,S=J+1|0,Z[543139]=S,W=S}else W=X}else W=X;else _=7;while(0);if((_|0)==7)x8(2173252,0,692)|0,W=X;V8(1552704+(W*68|0)+4|0,91637)|0,W=Z[543139]|0,Z[1552704+(W*68|0)>>2]=6,X=W+1|0,Z[543139]=X,K=Z[543138]|0,P=X}else K=V,P=0;if((K|0)==4)V8(1552704+(P*68|0)+4|0,91644)|0,V=Z[543139]|0,Z[1552704+(V*68|0)>>2]=16,X=V+1|0,Z[543139]=X,V8(1552704+(X*68|0)+4|0,91654)|0,X=Z[543139]|0,Z[1552704+(X*68|0)>>2]=17,V=X+1|0,Z[543139]=V,V8(1552704+(V*68|0)+4|0,91666)|0,V=Z[543139]|0,Z[1552704+(V*68|0)>>2]=18,X=V+1|0,Z[543139]=X,V8(1552704+(X*68|0)+4|0,91682)|0,X=Z[543139]|0,Z[1552704+(X*68|0)>>2]=6,V=X+1|0,Z[543139]=V,O=Z[543138]|0,L=V;else O=K,L=P;if((O|0)!=5){q=$;return}V8(1552704+(L*68|0)+4|0,91687)|0,L=Z[543139]|0,Z[1552704+(L*68|0)>>2]=32,O=L+1|0,Z[543139]=O,V8(1552704+(O*68|0)+4|0,91694)|0,O=Z[543139]|0,Z[1552704+(O*68|0)>>2]=33,L=O+1|0,Z[543139]=L,V8(1552704+(L*68|0)+4|0,91705)|0,L=Z[543139]|0,Z[1552704+(L*68|0)>>2]=34,O=L+1|0,Z[543139]=O,V8(1552704+(O*68|0)+4|0,91682)|0,O=Z[543139]|0,Z[1552704+(O*68|0)>>2]=6,Z[543139]=O+1,q=$;return}function LJ(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;V=q,q=q+2064|0,$=V+2048|0,T=V+1024|0,X=V,Y=1535184,Q=Z[384065]|0;do if((Q|0)<0)x8(2173252,0,692)|0;else{if((Z[384064]|0)<=(Q|0)){x8(2173252,0,692)|0;break}if(!((Z[(Z[Y>>2]|0)+12>>2]|0)+(Q*692|0)|0)){q=V;return}if((Z[(Z[(Z[Y>>2]|0)+12>>2]|0)+(Q*692|0)+684>>2]|0)!=1){q=V;return}if((Z[384064]|0)>(Q|0))W=(Z[(Z[Y>>2]|0)+12>>2]|0)+(Q*692|0)+388|0,U=(Z[(Z[Y>>2]|0)+12>>2]|0)+(Q*692|0)|0;else x8(2173252,0,692)|0,W=2173640,U=2173252;if(S=VO(W,U+260|0)|0,S|0){if(J=Z[384065]|0,(J|0)>=0?(Z[384064]|0)>(J|0):0)_=(Z[(Z[383796]|0)+12>>2]|0)+(J*692|0)|0;else x8(2173252,0,692)|0,_=2173252;if(q6(S|0,_|0,692)|0,J=S+648|0,Z[J>>2]=h1(128,128,8)|0,K=1535184,P=Z[384065]|0,(P|0)>=0?(Z[384064]|0)>(P|0):0){if(Z[(Z[(Z[K>>2]|0)+12>>2]|0)+(P*692|0)+648>>2]|0){if((Z[384064]|0)>(P|0))O=Z[(Z[(Z[K>>2]|0)+12>>2]|0)+(P*692|0)+648>>2]|0;else x8(2173252,0,692)|0,O=0;l5(O,Z[J>>2]|0,0,0,0,0,128,128)}}else x8(2173252,0,692)|0;if(P=S+388|0,N[P>>0]|0?(E5(91498,T),Z[$>>2]=T,Z[$+4>>2]=P,a6(X,91510,$)|0,(d3(X)|0)==0):0)AQ(X,Z[J>>2]|0)|0;$O(S)}if(S=1536260,J=Z[S>>2]|0,P=1536256,K=Z[P>>2]|0,L=(K|0)<1?0:K+-1|0,F=(J|0)<(L|0)?J:L,Z[S>>2]=(F|0)>0?F:0,!1&(K|0)>0){K=1535188,F=0;do S=Z[K>>2]|0,L=S+(F*692|0)+688|0,Z[L>>2]=0,Z[L>>2]=(SX(1535184,S+(F*692|0)+388|0,S+(F*692|0)+260|0)|0)!=-1&1,F=F+1|0;while((F|0)<(Z[P>>2]|0))}PJ(),q=V;return}while(0);x8(2173252,0,692)|0,q=V;return}function DJ(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if(X=q,q=q+3120|0,Y=X+3096|0,Q=X+3088|0,W=X+3080|0,U=X+3072|0,S=X+2048|0,J=X+1024|0,_=X,!T)Z[W>>2]=V,a6(J,91766,W)|0,E5(J,S),Z[Q>>2]=V,a6(J,91786,Q)|0,E5(J,1929464);else Z[U>>2]=V,a6(J,91744,U)|0,E5(J,S),N[1929464]=0;if(J=Z[481780]|0,Z[Y>>2]=T,Z[Y+4>>2]=$,Z[Y+8>>2]=91870,Z[Y+12>>2]=101,Z[Y+16>>2]=J,a6(_,91801,Y)|0,Z[481785]|0){q=X;return}V8(1927416,_)|0,V8(1928440,S)|0,Z[481785]=1,Z[481786]=I8()|0,Z[481787]=0,bW(1927416,1928440,2,3)|0,q=X;return}function cP(V){V=V|0;var $=0;if(!(Z[481785]|0))return;if(d3(1928440)|0)if(F5(1928440,91297)|0)if(V=xN(1928440)|0,!V)$=3;else P5(V)|0,$=2;else $=2;else $=3;Z[481785]=$;return}function ZO(V){if(V=V|0,!(Z[481785]|0))return;Z[481785]=3;return}function VO(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;if(T=SX(1535184,V,$)|0,(T|0)!=-1){if(P5(Z[(Z[383797]|0)+(T*692|0)+648>>2]|0)|0,X=(Z[384064]|0)+-1|0,Y=Z[383797]|0,(T|0)<(X|0)){Q=Y,W=T;while(!0)if(T=W,W=W+1|0,q6(Q+(T*692|0)|0,Q+(W*692|0)|0,692)|0,T=(Z[384064]|0)+-1|0,U=Z[383797]|0,(W|0)>=(T|0)){S=U,J=T;break}else Q=U}else S=Y,J=X;return x8(S+(J*692|0)|0,0,692)|0,Z[384064]=(Z[384064]|0)+-1,_=0,_|0}k4(Z[383796]|0,((Z[384064]|0)*692|0)+692|0)|0,J=Z[(Z[383796]|0)+12>>2]|0,Z[383797]=J,S=Z[384064]|0,X=J,Y=J;Z:do if((S|0)>0){J=0;while(!0){if((Z[X+(J*692|0)+684>>2]|0)==1){K=J;break Z}if(Q=J+1|0,(Q|0)<(S|0))J=Q;else{K=Q;break}}}else K=0;while(0);if((S|0)>(K|0)){if(J=S+-1|0,q6(X+(S*692|0)|0,X+(J*692|0)|0,692)|0,(J|0)>(K|0)){X=J;do J=Z[383797]|0,Q=X,X=X+-1|0,q6(J+(Q*692|0)|0,J+(X*692|0)|0,692)|0;while((X|0)>(K|0))}P=Z[(Z[383796]|0)+12>>2]|0,O=Z[384064]|0}else P=Y,O=S;if(Z[384064]=O+1,O=P+(K*692|0)|0,x8(O|0,0,692)|0,Z[O+684>>2]=1,V8(O+388|0,V)|0,!$)return _=O,_|0;if(V8(O+260|0,$)|0,!(N[$>>0]|0))return _=O,_|0;if(V=O+4|0,N[V>>0]|0)return _=O,_|0;if(R4($,0,V,0),$=x6(V)|0,$>>>0<=3)return _=O,_|0;if(V=$+-3+(O+4)|0,(N[V>>0]|0)!=46)return _=O,_|0;return N[V>>0]=0,_=O,_|0}function $O(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0;if($=q,q=q+1024|0,T=$,x8(T|0,0,1024)|0,X=Z[V+648>>2]|0,!X){q=$;return}if(Y=V+652|0,N[Y>>0]|0){q=$;return}if(Q=V+653|0,N[Q>>0]|0){q=$;return}W=16384,U=Z[X+12>>2]|0;while(!0)if(X=T+(G[U>>0]<<2)|0,Z[X>>2]=(Z[X>>2]|0)+1,W=W+-1|0,!W)break;else U=U+1|0;N[Y>>0]=0,N[Q>>0]=1,N[V+654>>0]=2,N[V+655>>0]=3,N[V+656>>0]=4,N[V+657>>0]=5,N[V+658>>0]=6,N[V+659>>0]=7,N[V+660>>0]=8,N[V+661>>0]=9,N[V+662>>0]=10,N[V+663>>0]=11,N[V+664>>0]=12,N[V+665>>0]=13,N[V+666>>0]=14,N[V+667>>0]=15,Z[T>>2]=16384,Q=T+4|0,Z[Q>>2]=16384,Y=T+24|0,Z[Y>>2]=16384,U=T+28|0,Z[U>>2]=16384,W=T+8|0,X=T+12|0,S=T+16|0,J=T+20|0,_=T+32|0,K=T+36|0,P=T+40|0,O=T+44|0,L=T+48|0,F=T+52|0,z=T+56|0,H=T+60|0,C=0;do{if(A=C+128|0,Z[T+(A<<2)>>2]|0)y=(Z[Q>>2]|0)<(Z[T>>2]|0)&1,k=(Z[W>>2]|0)<(Z[T+(y<<2)>>2]|0)?2:y,y=(Z[X>>2]|0)<(Z[T+(k<<2)>>2]|0)?3:k,k=(Z[S>>2]|0)<(Z[T+(y<<2)>>2]|0)?4:y,y=(Z[J>>2]|0)<(Z[T+(k<<2)>>2]|0)?5:k,k=(Z[Y>>2]|0)<(Z[T+(y<<2)>>2]|0)?6:y,y=(Z[U>>2]|0)<(Z[T+(k<<2)>>2]|0)?7:k,k=(Z[_>>2]|0)<(Z[T+(y<<2)>>2]|0)?8:y,y=(Z[K>>2]|0)<(Z[T+(k<<2)>>2]|0)?9:k,k=(Z[P>>2]|0)<(Z[T+(y<<2)>>2]|0)?10:y,y=(Z[O>>2]|0)<(Z[T+(k<<2)>>2]|0)?11:k,k=(Z[L>>2]|0)<(Z[T+(y<<2)>>2]|0)?12:y,y=(Z[F>>2]|0)<(Z[T+(k<<2)>>2]|0)?13:k,k=(Z[z>>2]|0)<(Z[T+(y<<2)>>2]|0)?14:y,y=(Z[T+(C<<2)>>2]|0)==0?C:(Z[H>>2]|0)<(Z[T+(k<<2)>>2]|0)?15:k,Z[T+(y<<2)>>2]=16384,N[V+668+C>>0]=y,N[V+652+y>>0]=A;C=C+1|0}while((C|0)!=16);q=$;return}function TO(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;if(T=q,q=q+1856|0,X=T+1032|0,Y=T+1024|0,Q=T+1040|0,W=T,Z[V+1080>>2]=0,x6(3063524)|0)U=V+1072|0,k4(Z[V>>2]|0,((Z[U>>2]|0)*692|0)+692|0)|0,S=Z[(Z[V>>2]|0)+12>>2]|0,Z[V+4>>2]=S,J=Z[U>>2]|0,Z[U>>2]=J+1,U=S+(J*692|0)|0,x8(U+4|0,0,688)|0,Z[U>>2]=185,N[U+388>>0]=0,V8(U+4|0,95214)|0,Z[U+648>>2]=0,Z[U+684>>2]=2;if(Z[Y>>2]=3062500,Z[Y+4>>2]=$,a6(W,102731,Y)|0,!(BX(W,95690,Q,-1)|0)){Y=Q+256|0,$=Q+512|0,U=V+1072|0,J=V+4|0;do do if((N[Y>>0]|0)!=46){if((F5(Y,91894)|0)==0?(Z[$>>2]&16384|0)==0:0)break;if(k4(Z[V>>2]|0,((Z[U>>2]|0)*692|0)+692|0)|0,S=Z[(Z[V>>2]|0)+12>>2]|0,Z[J>>2]=S,_=Z[U>>2]|0,Z[U>>2]=_+1,K=S+(_*692|0)|0,x8(K|0,0,692)|0,Z[X>>2]=3063524,Z[X+4>>2]=Y,a6(W,102731,X)|0,_=K+260|0,k7(_,W,128)|0,Z[K+648>>2]=0,S=K+684|0,Z[S>>2]=1,N[K+388>>0]=0,!(Z[$>>2]&16384))P=K+4|0;else Z[K>>2]=181,O=K+4|0,V8(O,Y)|0,Z[S>>2]=2,P=O;if(((N[P>>0]|0)==0?(R4(_,0,P,0),_=x6(P)|0,_>>>0>3):0)?(O=_+-3+(K+4)|0,(N[O>>0]|0)==46):0)N[O>>0]=0}while(0);while(!(EQ(Q)|0));L=J,F=U}else L=V+4|0,F=V+1072|0;if(MD(Z[L>>2]|0,Z[F>>2]|0,692,2),(V|0)==1535184){q=T;return}if((Z[F>>2]|0)<=0){q=T;return}V=0;do U=Z[L>>2]|0,J=U+(V*692|0)+688|0,Z[J>>2]=0,Z[J>>2]=(SX(1535184,U+(V*692|0)+388|0,U+(V*692|0)+260|0)|0)!=-1&1,V=V+1|0;while((V|0)<(Z[F>>2]|0));q=T;return}function XO(V){V=V|0;var $=0,T=0,X=0;if($=q,q=q+16|0,T=$,V|0?(x6(V)|0)>>>0>=2:0){if((x6(V)|0)>>>0<2)N[1554272]=0;else X=Z[481781]|0,Z[T>>2]=3144900,Z[T+4>>2]=X,Z[T+8>>2]=V,a6(1554272,91453,T)|0;if(vY(V,0)|0,Z[481785]|0){q=$;return}V8(1927416,1554272)|0,V8(1928440,1553248)|0,Z[481785]=1,Z[481786]=I8()|0,Z[481787]=0,bW(1927416,1928440,2,3)|0,q=$;return}Z[481785]=0,x7(91878,1500),Z[768036]=0,q=$;return}function YO(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;if(T=Q6(V+4|0,$+4|0)|0,X=(Z[V+684>>2]|0)==2,Y=Z[$+684>>2]|0,X){if((Y|0)!=2)return Q=-1,Q|0}else if(!(X|(Y|0)!=2))return Q=1,Q|0;return((T|0)==0?V>>>0<$>>>0?1:-1:T)|0}function EC(){return}function QO(V,$,T){if(V=V|0,$=$|0,T=T|0,Z[481785]|0)return;V8(1927416,V)|0,V8(1928440,$)|0,Z[481785]=1,Z[481786]=I8()|0,Z[481787]=T,bW(1927416,1928440,2,3)|0;return}function zJ(V){if(V=V|0,Z[481785]=0,V|0)x7(V,1500);Z[768036]=0;return}function FJ(){return 101}function WO(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;if($=yN(V)|0,!$)return T=0,T|0;if(vY(_4($,91898,0)|0,0)|0,V=(x6(_4($,91898,0)|0)|0)>>>0<2,BR($),V|(Z[785925]|0)==0)return T=0,T|0;if(QX()|0)return T=0,T|0;if(!(Q6(1553248,3065580)|0))return T=0,T|0;V=x6(1553248)|0,$=1553248+V|0;Z:do if((V|0)>0){X=$;while(!0){if((N[X>>0]|0)==45){Y=X;break Z}if(Q=X+-1|0,Q>>>0>1553248>>>0)X=Q;else{Y=Q;break}}}else Y=$;while(0);if(q3(1553248,3065580,Y-1553248|0)|0)return T=0,T|0;return Z[482627]=1,T=1,T|0}function NO(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;if(T=q,q=q+16|0,X=T,!((V|0)!=0&($|0)!=0)){q=T;return}x8(V|0,0,692)|0,V8(V+4|0,_4($,91902,0)|0)|0,V8(V+132|0,_4($,91908,0)|0)|0,V8(V+388|0,_4($,91898,0)|0)|0,V8(V+516|0,_4($,91915,0)|0)|0,Y=V+644|0,Z[Y>>2]=0,Q=_4($,91919,0)|0,Z[X>>2]=Y,a8(Q,93171,X)|0,Z[V+684>>2]=1,OJ(V),q=T;return}function BC(){return Z[384070]|0}function EJ(V){V=V|0;var $=0,T=0,X=0;if($=1536284+(Z[384087]|0)|0,T=N[$>>0]|0,!(T<<24>>24)){N[$+1>>0]=0,X=(V|0)>0?57:97,N[$>>0]=X;return}else{X=N[91926+((37-V+(T<<24>>24==57?36:T<<24>>24==56?35:T<<24>>24==55?34:T<<24>>24==54?33:T<<24>>24==53?32:T<<24>>24==52?31:T<<24>>24==51?30:T<<24>>24==50?29:T<<24>>24==49?28:T<<24>>24==48?27:T<<24>>24==122?26:T<<24>>24==121?25:T<<24>>24==120?24:T<<24>>24==119?23:T<<24>>24==118?22:T<<24>>24==117?21:T<<24>>24==116?20:T<<24>>24==115?19:T<<24>>24==114?18:T<<24>>24==113?17:T<<24>>24==112?16:T<<24>>24==111?15:T<<24>>24==110?14:T<<24>>24==109?13:T<<24>>24==108?12:T<<24>>24==107?11:T<<24>>24==106?10:T<<24>>24==105?9:T<<24>>24==104?8:T<<24>>24==103?7:T<<24>>24==102?6:T<<24>>24==101?5:T<<24>>24==100?4:T<<24>>24==99?3:T<<24>>24==98?2:T<<24>>24==97?1:(T<<24>>24!=32)<<31>>31)|0)%37|0)>>0]|0,N[$>>0]=X;return}}function UO(){I8()|0;return}function JO(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;if($=q,q=q+16|0,T=$+8|0,X=$,Y=Z[384070]|0,!Y){Z:do if((V|0)==27){if((Z[481785]|0)>0){Z[481785]=0,x7(91974,1500),Z[768036]=0,Q=62;break}if(Z[481712]|0){W=(Z[543486]|0)==0&1,Z[543486]=W,U=W;break}switch(W=Z[543138]|0,W|0){case 0:{Z[785925]=0,EY(),Q=62;break Z}case 1:{Z[543138]=0,Q=62;break Z}default:{if((W|1|0)==5)Z[543138]=1,S=1;else S=W;aP(S),Q=62;break Z}}}else Q=62;while(0);if((Q|0)==62)U=Z[543486]|0;if(U|0){q=$;return}U=!0;Z:do if((V|0)!=102|U){switch(V|0){case 8:case 127:break;default:{Q=68;break Z}}if(U)Q=71}else if(!(NX(9)|0))LJ(),I8()|0,Q=68;else Q=68;while(0);if(((Q|0)==68?(O2(76)|0)==3:0)?(NX(76)|0)==0&!0:0)Q=71;if((Q|0)==71)LJ(),I8()|0;if(O2(75)|0?(NX(75)|0)==0:0)U=1536260,S=(Z[U>>2]|0)+-6|0,W=Z[384064]|0,J=(W|0)<1?0:W+-1|0,W=(S|0)<(J|0)?S:J,Z[U>>2]=(W|0)>0?W:0;if(O2(78)|0?(NX(78)|0)==0:0)W=1536260,U=(Z[W>>2]|0)+6|0,J=Z[384064]|0,S=(J|0)<1?0:J+-1|0,J=(U|0)<(S|0)?U:S,Z[W>>2]=(J|0)>0?J:0;if(O2(74)|0?(NX(74)|0)==0:0)Z[384065]=0;if(!(O2(77)|0)){q=$;return}if(NX(77)|0){q=$;return}J=Z[384064]|0,W=J+-1|0,S=(J|0)<1?0:W,J=(W|0)<(S|0)?W:S,Z[384065]=(J|0)>0?J:0,q=$;return}J=x6(1536284)|0;do if((Y|0)==1){if((O2(82)|0)!=3?(O2(81)|0)!=3:0){if((Z[384070]|0)!=1)break;if(!((V|0)==13|(lY(V)|0)!=0))break;Z[384070]=2;break}Z[384070]=3}while(0);if(Y=(V|0)==-1,Y){if((O2(80)|0)==3)S=x6(1536284)|0,W=1536348,U=(Z[W>>2]|0)+-1|0,_=(U|0)<(S|0)?U:S,Z[W>>2]=(_|0)>0?_:0;if((O2(79)|0)==3){if(_=x6(1536284)|0,W=1536348,S=Z[W>>2]|0,(S|0)==(_|0)&(S|0)<21)N[1536284+_>>0]=32,U=(Z[W>>2]|0)+1|0,Z[W>>2]=U,N[1536284+U>>0]=0,K=Z[W>>2]|0,P=_+1|0;else K=S,P=_;_=K+1|0,K=(_|0)<(P|0)?_:P,Z[W>>2]=(K|0)>0?K:0}}else if((V|0)==27)Z[384070]=0;Z:do if((Z[384070]|0)==2){if((J|0)<22&(lY(V)|0)!=0){if(K=1536348,W=Z[K>>2]|0,(W|0)<22){P=22;do _=P,P=P+-1|0,N[1536284+_>>0]=N[1536284+P>>0]|0,_=Z[K>>2]|0;while((P|0)>(_|0));O=_}else O=W;N[1536306]=0,N[1536284+O>>0]=V,Z[K>>2]=(Z[K>>2]|0)+1,Z[384070]=2;break}switch(V|0){case 8:case 127:{Q=26;break}default:if((O2(76)|0)==3)Q=26}if((Q|0)==26?(Z[384087]|0)>0:0){if(P=(O2(76)|0)==3,_=1536348,S=Z[_>>2]|0,P)L=S;else P=S+-1|0,Z[_>>2]=P,L=P;if((L|0)>=22)break;P=L;while(!0)if(_=P,P=P+1|0,N[1536284+_>>0]=N[1536284+P>>0]|0,(_|0)>=21)break Z}if((V|0)==13){Z[X>>2]=1536284,a6(1535196,91721,X)|0,DJ(Z[383798]|0,1535196,0),V8(1536224,1536284)|0,Z[384070]=0,O3();break}if(Y){if((O2(80)|0)==3)P=x6(1536284)|0,K=1536348,W=(Z[K>>2]|0)+-1|0,_=(W|0)<(P|0)?W:P,Z[K>>2]=(_|0)>0?_:0;if((O2(79)|0)==3){if(_=x6(1536284)|0,K=1536348,P=Z[K>>2]|0,(P|0)==(_|0)&(P|0)<21)N[1536284+_>>0]=32,W=(Z[K>>2]|0)+1|0,Z[K>>2]=W,N[1536284+W>>0]=0,F=Z[K>>2]|0,z=_+1|0;else F=P,z=_;_=F+1|0,P=(_|0)<(z|0)?_:z,Z[K>>2]=(P|0)>0?P:0}}}while(0);if((Z[384070]|0)!=3){q=$;return}if(x4(2,0)|0)EJ(-1);if(x4(3,0)|0)EJ(1);if(!((x4(4,0)|0)==0?!(x4(5,0)|0):0))Z[T>>2]=1536284,a6(1535196,91721,T)|0,DJ(Z[383798]|0,1535196,0),V8(1536224,1536284)|0,Z[384070]=0,O3();if(!(x4(6,0)|0)){q=$;return}Z[384070]=0,Z[768313]=1,x7(91964,1000),q=$;return}function SO(){var V=0,$=0,T=0,X=0,Y=0,Q=0;if(Z[482622]=0,V=Z[383772]|0,(V|0)>0){$=V,V=0;while(!0){if(T=Z[(Z[383505]|0)+(V*692|0)+648>>2]|0,!T)X=$;else P5(T)|0,X=Z[383772]|0;if(V=V+1|0,(V|0)>=(X|0))break;else $=X}}if(Z[383772]=0,TO(1534016,3063524),X=1536260,$=Z[X>>2]|0,V=1536256,T=Z[V>>2]|0,Y=(T|0)<1?0:T+-1|0,Q=($|0)<(Y|0)?$:Y,Z[X>>2]=(Q|0)>0?Q:0,!(!1&(T|0)>0)){I8()|0,Z[543486]=0;return}T=1535188,Q=0;do X=Z[T>>2]|0,Y=X+(Q*692|0)+688|0,Z[Y>>2]=0,Z[Y>>2]=(SX(1535184,X+(Q*692|0)+388|0,X+(Q*692|0)+260|0)|0)!=-1&1,Q=Q+1|0;while((Q|0)<(Z[V>>2]|0));I8()|0,Z[543486]=0;return}function CC(){return}function RO(V){V=V|0,NO(2172560,V);return}function PW(){var V=0,$=0,T=0,X=0;if(V=q,q=q+1024|0,$=V,N[1555296]=0,R4(3065580,0,$,0),V8(1555296,$)|0,(N[3069040]|0)!=0&(Z[768034]|0)!=0|(Z[481715]|0)!=0)V8(1555296,2172564)|0;if(V8(1555296,mY()|0)|0,$=N[1555296]|0,!($<<24>>24))if(V8(1555296,91993)|0,T=N[1555296]|0,!(T<<24>>24))return q=V,1555296;else X=T;else X=$;$=X,X=1555296;do{Z:do if(!(($+-48&255)<10|(($&-33)+-65&255)<26)){switch($<<24>>24){case 32:case 45:case 95:break Z;default:}N[X>>0]=32}while(0);X=X+1|0,$=N[X>>0]|0}while($<<24>>24!=0);return q=V,1555296}function AC(){return}function HC(){return}function OW(V,$){V=V|0,$=$|0,z6(23,V|0,$|0)|0;return}function _O(V){V=V|0;var $=0;return $=$8(24,V|0)|0,V=($|0)<255?$:255,((V|0)>0?V:0)|0}function KO(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0;V=q,q=q+528|0,$=V+512|0,T=V,X=Z[(Z[Z[730465]>>2]|0)+12>>2]|0,Z[X+20>>2]=0,Y=SY(3144900,X)|0,I0(92498,14);Z:do{X=3632,Q=0;while(!0){if(W=Z[(Z[Y>>2]|0)+(Q<<2)>>2]|0,Z[$>>2]=3062500,Z[$+4>>2]=92531,a6(T,102731,$)|0,Q4(T)|0,d1(T,Z[X>>2]|0)|0,U=c5(T,95158)|0,!U)break;if(a7(Z[W+12>>2]|0,1,Z[W+16>>2]|0,U)|0,I5(U),d(Z[X>>2]|0),Q=Q+1|0,X=3632+(Q<<2)|0,!(Z[X>>2]|0))break Z}I0(92538,8),q=V;return}while(0);T$(Y),q=V;return}function PO(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;V=q,q=q+1040|0,$=V+1024|0,T=V,E5(92562,T),X=Z[(Z[Z[730465]>>2]|0)+24>>2]|0,Z[X+20>>2]=0,Y=SY(3144900,X)|0;Z:do{X=92258,Q=1;while(!0){if(W=Z[(Z[Y>>2]|0)+(Q<<2)>>2]|0,V8(T,GJ(X)|0)|0,U=c5(T,103074)|0,!U)break;if(S=W+12|0,J=W+16|0,a7(Z[S>>2]|0,1,Z[J>>2]|0,U)|0,I5(U),d(Z[3776+(Q<<2)>>2]|0),Z[$>>2]=3062500,Z[$+4>>2]=92577,a6(T,102731,$)|0,Q4(T)|0,d1(T,Z[3744+(Q<<2)>>2]|0)|0,U=c5(T,103074)|0,a7(Z[S>>2]|0,1,Z[J>>2]|0,U)|0,I5(U),Q=Q+1|0,X=Z[3696+(Q<<2)>>2]|0,!X)break Z}I0(92538,8),q=V;return}while(0);T$(Y),q=V;return}function OO(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if(T=V+4|0,X=Q3((B(Z[V>>2]<<1,Z[T>>2]|0)|0)+1024|0)|0,a7(Z[V+12>>2]|0,1,B(Z[T>>2]|0,Z[V>>2]|0)|0,X)|0,T=Z[26136]|0,(Z[T+12>>2]|0)==(V|0)){if(K7(1,X),Y=Z[Z[753850]>>2]|0,!Y)K7(0,X);else K7(Z[Y>>2]|0,X),Q=Y+4|0,K7(Z[Q>>2]|0,X),a7(Z[Y+12>>2]|0,1,B(Z[Q>>2]|0,Z[Y>>2]|0)|0,X)|0;if(Y=Z[(Z[753850]|0)+4>>2]|0,!Y)K7(0,X);else K7(Z[Y>>2]|0,X),Q=Y+4|0,K7(Z[Q>>2]|0,X),a7(Z[Y+12>>2]|0,1,B(Z[Q>>2]|0,Z[Y>>2]|0)|0,X)|0;K7(Z[(Z[753850]|0)+8>>2]|0,X),K7(Z[(Z[753850]|0)+12>>2]|0,X),K7(Z[785625]|0,X),K7(Z[785626]|0,X),K7(Z[785615]|0,X),K7(Z[785616]|0,X),K7(Z[785613]|0,X),K7(Z[785622]|0,X),W=Z[26136]|0}else W=T;if((Z[W+4>>2]|0)!=(V|0))return U=Z[785625]|0,K7(U,X),S=Z[785626]|0,K7(S,X),K7($,X),X|0;return K7(0,X),a7((Z[26136]|0)+43552|0,1,256,X)|0,V=Z[Z[753851]>>2]|0,a7(Z[V+12>>2]|0,1,B(Z[V+4>>2]|0,Z[V>>2]|0)|0,X)|0,K7(Z[785598]|0,X),K7(Z[785617]|0,X),K7(Z[785618]|0,X),K7(Z[785599]|0,X),K7(Z[785600]|0,X),K7(Z[785612]|0,X),K7(Z[785597]|0,X),K7(Z[785623]|0,X),U=Z[785625]|0,K7(U,X),S=Z[785626]|0,K7(S,X),K7($,X),X|0}function H9(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;N[$>>0]=0,T=Y1(262144)|0;Z:do if(N[V>>0]|0){X=1,Y=V,Q=1;while(!0){if(N[T>>0]=0,N[Y>>0]|0){if(!X)W=eQ(Y)|0;else W=hU(Y)|0;if(U=aQ()|0,S=W-Y|0,q6(T|0,Y|0,S|0)|0,N[T+S>>0]=0,(U|1|0)!=-999&(N[W>>0]|0)!=0){U=W,J=S;while(!0)if(S=eQ(U)|0,_=aQ()|0,K=S-U|0,q6(T+J|0,U|0,K|0)|0,J=K+J|0,N[T+J>>0]=0,!((_|1|0)!=-999&(N[S>>0]|0)!=0)){P=0,O=S;break}else U=S}else P=0,O=W}else P=X,O=Y;U=T;V:while(!0){switch(N[U>>0]|0){case 32:case 9:break;default:break V}U=U+1|0}if(!(k8(U,92584,9)|0))break;if(d1($,T)|0,J=(N[O>>0]|0)!=0,Q>>>0<65536&J)X=P,Y=O,Q=Q+(J&1)|0;else break Z}return I0(92594,6),$6(T),L=1,L|0}while(0);return $6(T),L=0,L|0}function BJ(){return 0}function jY(V){return V=V|0,0}function GW(V){return V=V|0,0}function GO(V){return V=V|0,0}function MO(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if(T=Z[543939]|0,X=(T|0)<256?T:256,T=(X|0)>0?X:0,X=Z[543493]|0,Y=Z[543494]|0,!((X|0)!=0&(Y|0)!=0&(Z[543656]|0)==0))return;if(Q=($|0)/4|0,$=(Q|0)<(X|0)?Q:X,Q=$<<2,W=($|0)>0,!(N[3100894]&32)){if(W){U=0,S=Z[543495]|0;do J=S,S=B((G[Y+(U>>>2)>>0]|0)+-128|0,T)|0,j[1556320+(U<<1)>>1]=(S+J|0)/2|0,U=U+1|0;while((U|0)<(Q|0));Z[543495]=S,_=10}}else if(W){S=0;do j[1556320+(S<<1)>>1]=B((G[Y+(S>>>2)>>0]|0)+-128|0,T)|0,S=S+1|0;while((S|0)<(Q|0));_=10}if((_|0)==10?W:0){W=0;do{if(_=V+(W<<1)|0,S=(j[1556320+(W<<1)>>1]|0)+(j[_>>1]|0)|0,(S|0)<=24575)if((S|0)<-24575)K=((S+24576|0)/5|0)+-24576|0;else K=S;else K=((S+-24576|0)/5|0)+24576|0;j[_>>1]=K,W=W+1|0}while((W|0)!=(Q|0))}if(Q=X-$|0,Z[543493]=Q,(Q|0)<=0)return;if(N[Y>>0]=N[Y+$>>0]|0,(Z[543493]|0)<=1)return;Y=1;do Q=Z[543494]|0,N[Q+Y>>0]=N[Q+(Y+$)>>0]|0,Y=Y+1|0;while((Y|0)<(Z[543493]|0));return}function LO(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0;if((T|0)<1)return X=0,X|0;if(!(Z[543496]|0))Z[543496]=1,Z[543497]=Y1(262144)|0,C1(1687392,0,16384);if(Y=1687392+(V<<2)|0,Q=Z[Y>>2]|0,!Q)W=Y1(48)|0,Z[Y>>2]=W,Z[W>>2]=V,Z[W+4>>2]=(V|0)/256|0,Z[W+8>>2]=V&255,Z[W+12>>2]=10,Z[W+16>>2]=800000,Z[W+20>>2]=1050624,Z[W+24>>2]=55,Z[W+32>>2]=0,Z[W+36>>2]=0,U=W;else U=Q;do if(!(V&65280)){if(Q=Z[543498]|0,W=Z[543499]|0,(((T+7+W|0)/8|0)+Q|0)>262138)return x7(92611,1000),Z[543499]=0,X=0,X|0;if(Y=(V|0)==255,Y|(Z[8707]|0)!=(V|0)){if((W|0)>0)S=((W+7|0)/8|0)+Q|0,Z[543498]=S,J=Z[543497]|0,_=Z[543500]|0,N[J+_>>0]=W,N[J+(_+1)>>0]=W>>>8,K=J,P=S;else K=Z[543497]|0,P=Q;Z[8707]=V,Z[543499]=0,N[K+P>>0]=V,N[K+(P+1)>>0]=V>>>8,Z[543500]=P+2,S=P+4|0,Z[543498]=S,O=S,L=0}else O=Q,L=W;if(Y){Y=Z[543497]|0,N[Y+O>>0]=T>>>3,N[Y+(O+1)>>0]=T>>>11,Z[543499]=L+16,F=T;break}Y=L,W=O,Q=0,S=0;while(!0){if(J=Q&7,!J)_=d8(2921764,Z[769129]|0,(Q>>>3)+$|0)|0,z=Z[543499]|0,H=Z[543498]|0,C=_;else z=Y,H=W,C=S;if(_=(Z[543497]|0)+(((z|0)/8|0)+H)|0,N[_>>0]=(C>>>J&1)<<(z&7)|(G[_>>0]|0),Y=z+1|0,Z[543499]=Y,Q=Q+1|0,(Q|0)==(T|0)){A=T,y=20;break}else W=H,S=C}}else A=0,y=20;while(0);Z:do if((y|0)==20){if((V|1|0)==257){if(!(Z[543501]|0))Z[543501]=Y1(32768)|0;if(C=(T+7|0)/8|0,H=(T|0)>0,H){z=0;do O=(d8(2921764,Z[769129]|0,z+$|0)|0)&255,k=Z[543501]|0,N[k+z>>0]=O,z=z+1|0;while((z|0)<(C|0));if(H?(f2(2921764,Z[769129]|0,$,G[k>>0]|0),(T|0)>8):0){z=1;do f2(2921764,Z[769129]|0,z+$|0,G[(Z[543501]|0)+z>>0]|0),z=z+1|0;while((z|0)<(C|0));m=T}else m=T}else m=T}else m=A;switch(V|0){case 2048:{C=(T|0)/8|0;V:do if((T|0)>7){z=Z[543488]|0,H=0;while(!0){if((z|0)>=(Z[543489]|0))break;if(f2(2921764,Z[769129]|0,H+$|0,G[(Z[543487]|0)+z>>0]|0),z=(Z[543488]|0)+1|0,Z[543488]=z,O=H+1|0,(O|0)>=(C|0))break V;else H=O}return z2(H<<5),X=H<<3,X|0}while(0);return z2(T<<2),X=T,X|0}case 2050:{C=(T|0)/8|0;V:do if((T|0)>7){z=Z[543491]|0,O=0;while(!0){if((z|0)>=(Z[543492]|0))break;if(f2(2921764,Z[769129]|0,O+$|0,G[(Z[543490]|0)+z>>0]|0),z=(Z[543491]|0)+1|0,Z[543491]=z,L=O+1|0,(L|0)>=(C|0))break V;else O=L}return z2(O<<5),X=O<<3,X|0}while(0);return z2(T<<2),X=T,X|0}case 2056:{if(!(Z[543494]|0))Z[543494]=Y1(2048)|0;if(C=(T|0)/8|0,!((T|0)>7&(Z[543493]|0)<2048)){F=T;break Z}z=0;do H=(d8(2921764,Z[769129]|0,z+$|0)|0)&255,N[(Z[543494]|0)+(Z[543493]|0)>>0]=H,H=Z[543493]|0,Z[543493]=H+1,z=z+1|0;while((z|0)<(C|0)&(H|0)<2047);F=T;break}default:{F=m;break Z}}}while(0);return Z[U+44>>2]=1,X=F,X|0}function DO(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0;if(T=q,q=q+1056|0,X=T+1040|0,Y=T+1032|0,Q=T+1024|0,W=T,U=T+1044|0,!(Z[543496]|0))Z[543496]=1,Z[543497]=Y1(262144)|0,C1(1687392,0,16384);if(S=1687392+(V<<2)|0,J=Z[S>>2]|0,!J)_=Y1(48)|0,Z[S>>2]=_,Z[_>>2]=V,Z[_+4>>2]=(V|0)/256|0,Z[_+8>>2]=V&255,Z[_+12>>2]=10,Z[_+16>>2]=800000,Z[_+20>>2]=1050624,Z[_+24>>2]=55,Z[_+32>>2]=0,Z[_+36>>2]=0,K=_;else K=J;if(Z[K+44>>2]|0){q=T;return}if(J=N[$>>0]|0,J<<24>>24>47?(N[$+1>>0]|0)<58:0){Z[Q>>2]=U,a8($,93171,Q)|0,Z[K+16>>2]=Z[U>>2],q=T;return}if(J<<24>>24==32){Q=$;while(!0)if(_=Q+1|0,V=N[_>>0]|0,V<<24>>24==32)Q=_;else{P=V,O=_;break}}else P=J,O=$;if($=K+16|0,J=K+12|0,Q=K+20|0,_=K+24|0,V=K+32|0,S=K+36|0,!(P<<24>>24)){q=T;return}P=O;while(!0){if(N[W>>0]=0,Z[Y>>2]=W,O=a8(P,92634,Y)|0,!(o5(W,58)|0))N[W>>0]=0,L=0;else Z[U>>2]=0,K=(o5(W,58)|0)+1|0,Z[X>>2]=U,a8(K,93171,X)|0,N[(o5(W,58)|0)>>0]=0,L=O;O=(N[P>>0]|0)==0?P:P+1|0;while(!0)if(F=N[O>>0]|0,F<<24>>24==0|(F+-97&255)>25)break;else O=O+1|0;if(F<<24>>24!=0&(F+-97&255)>25){K=O;while(!0)if(z=K+1|0,H=N[z>>0]|0,H<<24>>24!=0&(H+-97&255)>25)K=z;else{C=z;break}}else C=O;if(!(Q6(W,92641)|0))Z[$>>2]=Z[U>>2];if(!(Q6(W,92646)|0))Z[J>>2]=Z[U>>2];if(!(Q6(W,92650)|0))Z[Q>>2]=Z[U>>2];if(!(Q6(W,92655)|0))Z[_>>2]=Z[U>>2];if(!(Q6(W,92666)|0))Z[V>>2]=Z[U>>2];if(!(Q6(W,92673)|0))Z[S>>2]=Z[U>>2];if(!L){A=36;break}if(!(N[C>>0]|0)){A=36;break}else P=C}if((A|0)==36){q=T;return}}function zO(){var V=0,$=0,T=0;if(Z[543493]=0,!(Z[543496]|0))return;V=0;do{if($=Z[1687392+(V<<2)>>2]|0,$|0){T=$,$=T+48|0;do Z[T>>2]=0,T=T+4|0;while((T|0)<($|0))}V=V+1|0}while((V|0)!=4096);if(Z[543499]=0,C1(Z[543497]|0,0,262144),!(Z[543496]|0))return;if(Z[543499]=0,C1(Z[543497]|0,0,262144),Z[8707]=-1,Z[543500]=0,Z[543498]=0,V=Z[543501]|0,!V)return;C1(V,0,32768);return}function CJ(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if(!(Z[543496]|0))return;if(V=Z[543499]|0,(V|0)>0)$=(Z[543498]|0)+((V+7|0)/8|0)|0,Z[543498]=$,T=Z[543497]|0,X=Z[543500]|0,N[T+X>>0]=V,N[T+(X+1)>>0]=V>>>8,Y=$;else Y=Z[543498]|0;if((Y|0)>0){$=Y,Y=0;while(!0){V=Z[543497]|0,X=N[V+(Y+1)>>0]|0,T=(X&255)<<8|(G[V+Y>>0]|0),Q=(G[V+(Y+3)>>0]|0)<<8|(G[V+(Y+2)>>0]|0),W=Y+4|0;do if(!(X<<24>>24)){if((T|0)==255){U=$,S=Y+6|0;break}if(J=(Q+7|0)>>>3,J){if(OW(T,G[V+W>>0]|0),(J|0)!=1){_=1,K=W;do K=K+1|0,OW(T,G[(Z[543497]|0)+K>>0]|0),_=_+1|0;while((_|0)!=(J|0))}U=Z[543498]|0,S=W+J|0}else U=$,S=W}else U=$,S=W;while(0);if((S|0)<(U|0))$=U,Y=S;else break}if(!(Z[543496]|0))return}if(Z[543499]=0,C1(Z[543497]|0,0,262144),Z[8707]=-1,Z[543500]=0,Z[543498]=0,S=Z[543501]|0,!S)return;C1(S,0,32768);return}function AJ(V){V=V|0;var $=0,T=0,X=0;$6(Z[543487]|0),$=V+16|0,T=Z[$>>2]|0,Z[543489]=T,X=Y1(T)|0,Z[543487]=X,q6(X|0,Z[V+12>>2]|0,Z[$>>2]|0)|0,Z[543488]=0;return}function HJ(V){V=V|0;var $=0,T=0,X=0;$6(Z[543490]|0),$=V+4|0,T=(B(Z[$>>2]|0,Z[V>>2]|0)|0)+4|0,Z[543492]=T,X=Y1(T)|0,Z[543490]=X,N[X>>0]=Z[V>>2],N[(Z[543490]|0)+1>>0]=(Z[V>>2]|0)/256|0,N[(Z[543490]|0)+2>>0]=Z[$>>2],N[(Z[543490]|0)+3>>0]=(Z[$>>2]|0)/256|0,q6((Z[543490]|0)+4|0,Z[V+12>>2]|0,B(Z[$>>2]|0,Z[V>>2]|0)|0)|0,Z[543491]=0;return}function FO(){return(Z[543489]|0)-(Z[543488]|0)|0}function EO(){return(Z[543492]|0)-(Z[543491]|0)|0}function xJ(){Z[543488]=0,Z[543489]=0,Z[543491]=0,Z[543492]=0;return}function BO(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if(V=Z[730441]|0,$=V+4|0,($|0)==1){T=0;do X=T>>>5,Y=(r8(4)|0)+X&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+2>>0]=Y,Y=(r8(4)|0)+X&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+10>>0]=Y,Y=(r8(4)|0)+X&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+18>>0]=Y,Y=(r8(4)|0)+X&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+26>>0]=Y,Y=(r8(4)|0)+X&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+34>>0]=Y,Y=(r8(4)|0)+X&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+42>>0]=Y,Y=(r8(4)|0)+X&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+50>>0]=Y,Y=(r8(4)|0)+X&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+58>>0]=Y,Y=(r8(4)|0)+X&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+66>>0]=Y,Y=(r8(4)|0)+X&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+74>>0]=Y,Y=(r8(4)|0)+X&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+82>>0]=Y,Y=(r8(4)|0)+X&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+90>>0]=Y,Y=(r8(4)|0)+X&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+98>>0]=Y,Y=(r8(4)|0)+X&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+106>>0]=Y,Y=(r8(4)|0)+X&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+114>>0]=Y,Y=(r8(4)|0)+X&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+122>>0]=Y,T=T+1|0;while((T|0)!=128)}switch(V|0){case 0:{T=V;do{Y=0;do N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+Y>>0]=((Y+T|0)>>>3&7)+6,Y=Y+4|0;while(Y>>>0<128);T=T+2|0}while(T>>>0<128);Q=29;break}case 3:{T=0;do{Y=2;do X=(r8(4)|0)+10&255,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+Y>>0]=X,Y=Y+4|0;while(Y>>>0<128);T=T+3|0}while(T>>>0<128);switch(V|0){case 5:{Q=14;break}case 8:{Q=19;break}case 11:{Q=25;break}case 26:{Q=26;break}case 31:{Q=27;break}case 32:{Q=28;break}default:Q=29}break}case 5:{Q=14;break}case 8:{Q=19;break}case 11:{Q=25;break}case 26:{Q=26;break}case 31:{Q=27;break}case 32:{Q=28;break}default:Q=29}if((Q|0)==14){T=0;do{Y=1;do X=Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0,N[X+Y>>0]=N[X+(Y+1)>>0]|0,Y=Y+2|0;while(Y>>>0<127);T=T+1|0}while((T|0)!=128);switch(V|0){case 8:{Q=19;break}case 11:{Q=25;break}case 26:{Q=26;break}case 31:{Q=27;break}case 32:{Q=28;break}default:Q=29}}if((Q|0)==19){T=0;do{if(T&3|0){Y=0;do N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(T<<2)>>2]|0)+Y>>0]=0,Y=Y+1|0;while((Y|0)!=128)}T=T+1|0}while((T|0)!=128);switch(V|0){case 11:{Q=25;break}case 26:{Q=26;break}case 31:{Q=27;break}case 32:{Q=28;break}default:Q=29}}do if((Q|0)==25)R8(Z[730449]|0);else if((Q|0)==26)jz(),R8(Z[730449]|0),V=Z[730466]|0,KR(V+16|0,V),d(3144900),d(3144900),l5(Z[(Z[Z[730467]>>2]|0)+8>>2]|0,Z[730449]|0,0,0,1,1,40,10),Z[768155]=6;else if((Q|0)==27)d(92678),l5(Z[(Z[Z[730467]>>2]|0)+8>>2]|0,Z[730449]|0,0,0,1,1,40,10);else if((Q|0)==28)d(92692);else if((Q|0)==29){if(!(($|0)==37&(Z[543939]|0)==0)){if(($|0)==40){d(3144900),Z[768155]=6,d(92725),d(3144900);break}if(!(($|0)==70&(Z[481712]|0)!=0))break;Z[768028]=0,Z[768155]=6,SO(),Z[785925]=2;break}if(V=Z[786074]|0,!V)d(3144900),W=Z[786074]|0;else W=V;if((W+3|0)>>>0>14)if(V=Z[768157]|0,(W|0)<20)U=V,S=(W|0)<-3?0:3;else{Z[768157]=V+8;break}else U=Z[768157]|0,S=(W|0)/4|0;V=(S|0)==1?U+2|0:U,M9(Z[(Z[Z[730467]>>2]|0)+1068>>2]|0,Z[730449]|0,0,0,S<<3|2,(S|0)==3?V+-2|0:V,7,5),Z[786074]=(Z[786074]|0)+1,Z[730441]=(Z[730441]|0)+-1}while(0);if(S=(Z[481647]|0)!=0,U=Z[481646]|0,S&(($|0)==90&(U|0)!=0)){Z[768033]=1;return}if(W=($|0)==80,!(W&(Z[534491]|0)!=0)){if(!(S|(($|0)!=60|(U|0)==0))){Z[768028]=0;return}if(!W){if(($|0)!=900)return;d(93045);return}}else Z[768033]=1;ZL();return}function CO(V){V=V|0,V8(2174024,V)|0,V8(3808,V)|0;return}function MW(V){V=V|0;var $=0;if(!V)$=0;else V8(2174280,V)|0,$=2174280;Z[543634]=$;return}function yJ(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;if(V=q,q=q+96|0,$=V+88|0,T=V+80|0,X=V+72|0,Y=V+64|0,Q=V+56|0,W=V+48|0,U=V+40|0,S=V+32|0,J=V+24|0,_=V+16|0,K=V+8|0,P=V,Z[545787]|0)return q=V,0;if(Z[543502]=0,C1(2174024,0,1704),V8(2174024,3808)|0,V8(2174280,3808)|0,Z[543634]=2174280,vz(),O=Z[8708]|0,L=Z[545788]|0,(O|0)>0&(L|0)!=0)wJ(O,L);if(Z[P>>2]=92755,b1(92745,P)|0,P=Z[8720]|0,r7(P)|0,Z[K>>2]=92781,a6(1703776,92767,K)|0,Z[_>>2]=1703776,b1(92745,_)|0,r7(P)|0,_=Z[8708]|0,K=Z[545788]|0,(_|0)>0&(K|0)!=0)wJ(_,K);return Z[J>>2]=92792,b1(92745,J)|0,r7(P)|0,zz()|0,Z[S>>2]=92810,b1(92745,S)|0,r7(P)|0,I8()|0,Z[U>>2]=92828,b1(92745,U)|0,r7(P)|0,rO(),Z[W>>2]=92843,b1(92745,W)|0,r7(P)|0,nO(),Z[Q>>2]=92859,b1(92745,Q)|0,r7(P)|0,fO(),Z[Y>>2]=92875,b1(92745,Y)|0,r7(P)|0,_z()|0,Z[X>>2]=92892,b1(92745,X)|0,r7(P)|0,sO(),Z[T>>2]=92909,b1(92745,T)|0,r7(P)|0,iz(0),Z[543974]=(Z[543974]|0)+1,Z[$>>2]=92929,b1(92745,$)|0,r7(P)|0,Z[545787]=1,q=V,0}function wJ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0;if(T=q,q=q+32|0,X=T+8|0,Y=T,Q=T+24|0,(V|0)<=1){q=T;return}W=1,U=0;Z:while(!0){S=$+(W<<2)|0,J=Z[S>>2]|0;V:do switch(N[J>>0]|0){case 62:case 124:case 38:{_=41;break Z}case 45:{if(K=J+1|0,P=(k8(K,92934,5)|0)==0,O=(k8(K,92940,6)|0)==0,L=(k8(K,94967,8)|0)==0,F=(k8(K,94853,8)|0)==0,z=(k8(K,92947,8)|0)==0,H=(k8(K,92956,8)|0)==0,C=(k8(K,94989,9)|0)==0,A=(k8(K,95074,17)|0)==0,y=(k8(K,94866,19)|0)==0,k=(k8(K,94906,12)|0)==0,m=(k8(K,94919,12)|0)==0,I=(k8(K,92965,5)|0)==0,u=(k8(K,92971,5)|0)==0,g=(k8(K,94932,15)|0)==0,i=(k8(K,92977,13)|0)==0|(k8(K,92991,16)|0)==0,t=(k8(K,93008,4)|0)==0,Y0=(k8(K,93013,7)|0)==0,X0=(k8(K,93021,13)|0)==0,T0=(k8(K,93035,9)|0)==0,Z0=(k8(K,93045,7)|0)==0,!(k8(K,93053,8)|0))Z[543976]=1,W0=0;else W0=Z0?20:T0?19:X0?18:Y0?17:t?16:A?15:i?14:g?12:u?11:I?10:m?11:k?10:y?9:A?8:C?7:H?6:z?5:F?4:L?3:O?2:P?1:U;if(P=(k8(K,93062,11)|0)==0,!(k8(K,93074,11)|0))Z[543977]=1,O0=0;else O0=P?29:W0;if((N[K>>0]|0)==120)Z[543976]=1,y0=0;else y0=O0;P=(k8(K,94886,19)|0)==0,O=(k8(K,93086,17)|0)==0,L=(k8(K,93104,16)|0)==0,F=(k8(K,93121,11)|0)==0,z=(k8(K,93133,13)|0)==0,H=(k8(K,93147,7)|0)==0,C=(k8(K,93155,15)|0)==0,E0=C?28:H?27:z?26:F?25:L?24:O?23:P?22:y0;break}default:{Z[Q>>2]=0,Z[Y>>2]=Q,a8(J,93171,Y)|0;do switch(U|0){case 1:{Z[543936]=Z[Q>>2],E0=0;break V}case 2:{Z[543937]=Z[Q>>2],E0=0;break V}case 3:{Z[543955]=Z[Q>>2],E0=0;break V}case 4:{Z[543938]=Z[Q>>2],E0=0;break V}case 5:{Z[543947]=Z[Q>>2],E0=0;break V}case 6:{Z[543948]=Z[Q>>2],E0=0;break V}case 7:{Z[543946]=Z[Q>>2],E0=0;break V}case 8:{Z[543962]=Z[Q>>2],E0=0;break V}case 9:{Z[543941]=Z[Q>>2],E0=0;break V}case 10:{Z[543939]=Z[Q>>2],E0=0;break V}case 11:{Z[543940]=Z[Q>>2],E0=0;break V}case 12:{Z[543952]=Z[Q>>2],E0=0;break V}case 14:{Z[543964]=Z[Q>>2],E0=0;break V}case 15:{Z[543962]=Z[Q>>2],E0=0;break V}case 16:{V8(2175916,Z[S>>2]|0)|0,E0=0;break V}case 17:{V8(2176940,Z[S>>2]|0)|0,E0=0;break V}case 18:{Z[543967]=Z[Q>>2],E0=0;break V}case 19:{Z[543970]=0,Z[543971]=0,Z[543972]=4096,Z[543973]=4096,P=Z[S>>2]|0,Z[X>>2]=2175880,Z[X+4>>2]=2175884,Z[X+8>>2]=2175888,Z[X+12>>2]=2175892,a8(P,93174,X)|0,E0=0;break V}case 20:{P=Z[Q>>2]|0,O=(P|0)<240?P:240,Z[543975]=(O|0)>1?O:1,E0=0;break V}case 21:{Z[543976]=1,E0=0;break V}case 22:{Z[543942]=Z[Q>>2],E0=0;break V}case 23:{Z[543944]=Z[Q>>2],E0=0;break V}case 24:{Z[544491]=Z[Q>>2],E0=0;break V}case 25:{Z[544492]=Z[Q>>2],E0=0;break V}case 26:{O=Z[Q>>2]|0,P=(O|0)<8?O:8,Z[543965]=(P|0)>0?P:0,E0=0;break V}case 27:{Z[543949]=Z[Q>>2],E0=0;break V}case 28:{Z[544494]=Z[Q>>2],E0=0;break V}case 29:{Z[543978]=Z[Q>>2],E0=0;break V}default:{E0=0;break V}}while(0)}}while(0);if(W=W+1|0,(W|0)>=(V|0)){_=41;break}else U=E0}if((_|0)==41){q=T;return}}function s1(V){V=V|0;var $=0,T=0;$=q,q=q+16|0,T=$,Z[T>>2]=V,b1(92745,T)|0,r7(Z[8720]|0)|0,q=$;return}function LW(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if(V=q,q=q+96|0,$=V+80|0,T=V+72|0,X=V+64|0,Y=V+56|0,Q=V+48|0,W=V+40|0,U=V+32|0,S=V+24|0,J=V+16|0,_=V+8|0,K=V,!((Z[545787]|0)!=0&(Z[543931]|0)==0))return q=V,0;if(Z[545787]=0,Z[K>>2]=93186,b1(92745,K)|0,K=Z[8720]|0,r7(K)|0,Z[_>>2]=93198,b1(92745,_)|0,r7(K)|0,RV(0,0),Z[J>>2]=93211,b1(92745,J)|0,r7(K)|0,KL(),Z[S>>2]=93227,b1(92745,S)|0,r7(K)|0,LR(),Z[U>>2]=93245,b1(92745,U)|0,r7(K)|0,cD()|0,Z[W>>2]=93262,b1(92745,W)|0,r7(K)|0,Kz()|0,Z[Q>>2]=93279,b1(92745,Q)|0,r7(K)|0,Z[Y>>2]=93299,b1(92745,Y)|0,r7(K)|0,dO(),hO(),Z[X>>2]=Z[543502],a6(1703776,93317,X)|0,Z[T>>2]=1703776,b1(92745,T)|0,r7(K)|0,Z[$>>2]=92929,b1(92745,$)|0,r7(K)|0,K=Z[543635]|0,K|0)m9(K)|0;if(K=Z[543636]|0,K|0)m9(K)|0;return Z[543635]=0,Z[543636]=0,Z[545787]=0,q=V,0}function xC(V){V=V|0;return}function AO(){var V=0;if(V=EN()|0,!(Z[545789]|0))Z[545789]=1,AW(),Z[545789]=0;return S4(2174016,2174020,0),JY(),V|0}function HO(){var V=0;if(Gz(),EN()|0,!(Z[545789]|0))Z[545789]=1,AW(),Z[545789]=0;if(S4(2174016,2174020,0),JY(),Z[545790]=0,_L(),!(Z[545790]|0))WL(),GR(),Mz();if(Z[543655]=0,V=Z[543671]|0,!V)return;if((V|0)<=(I8()|0))return;Z[543671]=0,l0(25)|0;return}function xO(){Z[545790]=1;return}function yO(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;V=q,q=q+32|0,$=V+16|0,T=V+8|0,X=V,Y=V+24|0,yJ()|0,FQ(800,480,32,4)|0,Z[543931]=1,x8(2179052,0,4096)|0,V=0,Q=0;while(!0){if((N3(V)|0)!=0?(N[(N3(V)|0)>>0]|0)!=0:0)if(Z[X>>2]=N3(V)|0,Z[X+4>>2]=V,b1(93381,X)|0,W=Q+1|0,!(W&3))mR(10)|0,U=W;else U=W;else U=Q;if(V=V+1|0,(V|0)==256)break;else Q=U}if(u9(102894)|0,u9(93394)|0,u9(93475)|0,u9(93556)|0,u9(93637)|0,u9(93718)|0,u9(93799)|0,u9(93475)|0,u9(93880)|0,u9(93475)|0,u9(93961)|0,u9(93475)|0,u9(94042)|0,mR(10)|0,Z[543503]|0)Q8(0);do{V7(Z[730432]|0,0,0,799,479,1118498),bO(Z[730432]|0,94123,Z[545804]|0,20,20),U=0;do{Q=U*24|0,V=Q+48|0,X=U<<5,W=Q+68|0,S=Q+56|0,Q=0;do J=Q*24|0,_=Q+X|0,Z[T>>2]=_,a6(Y,94172,T)|0,K=1712608+_|0,V7(Z[730432]|0,J+20|0,V,J+40|0,W,(N[K>>0]|0)==0?5591122:16777215),K1(Z[730432]|0,Y,Z[545804]|0,J+22|0,S,1,(N[K>>0]|0)==0?11184810:0)|0,Q=Q+1|0;while((Q|0)!=32);U=U+1|0}while((U|0)!=16);U=0;do{if(N[1712608+U>>0]|0?(N[1713632+U>>0]|0)==0:0)Q=N3(U)|0,Z[$>>2]=U,Z[$+4>>2]=Q,b1(94177,$)|0;U=U+1|0}while((U|0)!=512);if(EN()|0,!(Z[545789]|0))Z[545789]=1,AW(),Z[545789]=0;S4(2174016,2174020,0),JY(),GR()}while(!(Z[543503]|0));Q8(0)}function wO(V,$){if(V=V|0,$=$|0,V8(1707872,Z[$>>2]|0)|0,Z[8708]=V,Z[545788]=$,(V|0)>1?(Q6(Z[$+4>>2]|0,94212)|0)==0:0)yO();return TL(V,$),X8(1,0,0),0}function DW(){var V=0;return V=B2(768)|0,x8(V|0,0,768)|0,Z[543502]=(Z[543502]|0)+1,V|0}function zW(V){if(V=V|0,!V)return;$6(V),Z[543502]=(Z[543502]|0)+-1;return}function IO(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0;if(X=B2((T<<2)+48|0)|0,Z[X>>2]=V,Z[X+4>>2]=$,Z[X+8>>2]=T,Z[X+40>>2]=0,Z[X+32>>2]=0,Z[X+24>>2]=0,Z[X+28>>2]=V,Z[X+36>>2]=$,Z[X+44>>2]=T,Y=B($,V)|0,Q=X+12|0,Z[Q>>2]=B2(B(Y,T)|0)|0,W=X+16|0,Z[W>>2]=X+48,(T|0)<=0)return U=Z[543502]|0,S=U+1|0,Z[543502]=S,X|0;if(J=($<<2)+52|0,($|0)<=0){_=0;do K=B2(J)|0,Z[K>>2]=V,Z[K+4>>2]=$,Z[K+36>>2]=0,Z[K+28>>2]=0,Z[K+32>>2]=V,Z[K+40>>2]=$,Z[K+8>>2]=8,Z[K+20>>2]=0,Z[K+12>>2]=(Z[Q>>2]|0)+(B(_,Y)|0),Z[K+16>>2]=K+52,Z[(Z[W>>2]|0)+(_<<2)>>2]=K,_=_+1|0;while((_|0)!=(T|0));return U=Z[543502]|0,S=U+1|0,Z[543502]=S,X|0}_=($|0)==1,K=0;do{if(P=B2(J)|0,Z[P>>2]=V,O=P+4|0,Z[O>>2]=$,Z[P+36>>2]=0,Z[P+28>>2]=0,Z[P+32>>2]=V,Z[P+40>>2]=$,L=P+8|0,Z[L>>2]=8,Z[P+20>>2]=0,F=(Z[Q>>2]|0)+(B(K,Y)|0)|0,z=P+12|0,Z[z>>2]=F,H=P+52|0,C=P+16|0,Z[C>>2]=H,Z[H>>2]=F,!_){F=1;do Z[(Z[C>>2]|0)+(F<<2)>>2]=(Z[z>>2]|0)+(B(F,V)|0),F=F+1|0;while((F|0)!=($|0))}if((P|0)!=2921660?(C1(Z[Z[C>>2]>>2]|0,0,V),(Z[O>>2]|0)>1):0){F=1;do C1(Z[(Z[C>>2]|0)+(F<<2)>>2]|0,0,B(Z[L>>2]>>3,Z[P>>2]|0)|0),F=F+1|0;while((F|0)<(Z[O>>2]|0))}Z[(Z[W>>2]|0)+(K<<2)>>2]=P,K=K+1|0}while((K|0)!=(T|0));return U=Z[543502]|0,S=U+1|0,Z[543502]=S,X|0}function R8(V){V=V|0;var $=0,T=0,X=0,Y=0;if((V|0)==2921660)return;if($=V+4|0,(Z[$>>2]|0)<=0)return;T=V+16|0,X=V+8|0,Y=0;do C1(Z[(Z[T>>2]|0)+(Y<<2)>>2]|0,0,B(Z[X>>2]>>3,Z[V>>2]|0)|0),Y=Y+1|0;while((Y|0)<(Z[$>>2]|0));return}function qO(V){V=V|0;var $=0,T=0,X=0;if(!V)return 0;if($=Z[V+12>>2]|0,$|0)$6($);if($=V+8|0,(Z[$>>2]|0)>0){T=V+16|0,X=0;do $6(Z[(Z[T>>2]|0)+(X<<2)>>2]|0),X=X+1|0;while((X|0)<(Z[$>>2]|0))}return $6(V),Z[543502]=(Z[543502]|0)+-1,0}function V7(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0;if(W=($|0)>(X|0),U=W?$:X,S=W?X:$,$=(T|0)>(Y|0),X=$?T:Y,W=$?Y:T,T=V+8|0,Y=Z[T>>2]|0,(Y|0)==32){$=V+36|0,J=V+40|0,_=V+28|0,K=V+32|0,P=Q&255,O=V+16|0,L=W;while(!0){Z:do if(((V|0)!=2921660?(Z[$>>2]|0)<=(L|0):0)?(Z[J>>2]|0)>(L|0):0)switch(F=Z[_>>2]|0,z=(S|0)<(F|0)?F:S,F=Z[K>>2]|0,H=(U|0)<(F|0)?U:F+-1|0,Z[T>>2]|0){case 8:{if((z|0)>(H|0))break Z;F=z;while(!0)if(N[(Z[(Z[O>>2]|0)+(L<<2)>>2]|0)+F>>0]=P,(F|0)<(H|0))F=F+1|0;else break;break}case 32:{if(F=1-z+H|0,(F|0)<=0)break Z;C=(Z[(Z[O>>2]|0)+(L<<2)>>2]|0)+(z<<2)|0,A=F;while(!0)if(Z[C>>2]=Q,(A|0)>1)C=C+4|0,A=A+-1|0;else break;break}default:break Z}while(0);if((L|0)<(X|0))L=L+1|0;else break}y=Z[T>>2]|0}else y=Y;if((y|0)!=8)return;if(y=Z[V+28>>2]|0,Y=(S|0)<(y|0)?y:S,S=Z[V+32>>2]|0,y=Z[V+36>>2]|0,T=Z[V+40>>2]|0,L=(X|0)<(T|0)?X+1|0:T,T=((U|0)<(S|0)?U+1|0:S)-Y|0,(T|0)<=0)return;if(S=(W|0)<(y|0)?y:W,(S|0)>=(L|0))return;W=V+16|0,V=S;do C1((Z[(Z[W>>2]|0)+(V<<2)>>2]|0)+Y|0,Q,T),V=V+1|0;while((V|0)<(L|0));return}function FW(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Z[V+28>>2]=($|0)>0?$:0,$=Z[V>>2]|0,Z[V+32>>2]=($|0)>(X|0)?X:$,Z[V+36>>2]=(T|0)>0?T:0,T=Z[V+4>>2]|0,Z[V+40>>2]=(T|0)>(Y|0)?Y:T;return}function M9(V,$,T,X,Y,Q,W,U){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0,U=U|0;var S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;if(!((V|0)!=0&($|0)!=0))return;if(S=Z[$+8>>2]|0,(S|0)!=(Z[V+8>>2]|0))return;if(J=Z[V>>2]|0,(J|0)<=(T|0))return;if(_=Z[V+4>>2]|0,(_|0)<=(X|0))return;if(K=Z[$+32>>2]|0,(K|0)<=(Y|0))return;if(P=Z[$+40>>2]|0,(P|0)<=(Q|0))return;if(O=(T|0)<0,L=O?T:0,F=L+W|0,W=Y-L|0,L=O?0:T,T=(X|0)<0,O=T?X:0,Y=O+U|0,U=Q-O|0,O=T?0:X,X=Z[$+28>>2]|0,T=(W|0)<(X|0),Q=T?W-X|0:0,z=Q+((F+L|0)>(J|0)?J-L|0:F)|0,F=T?X:W,W=L-Q|0,Q=Z[$+36>>2]|0,L=(U|0)<(Q|0),X=L?U-Q|0:0,T=X+((Y+O|0)>(_|0)?_-O|0:Y)|0,Y=L?Q:U,U=O-X|0,X=(z+F|0)>(K|0)?K-F|0:z,z=(T+Y|0)>(P|0)?P-Y|0:T,(X|0)<1|(z|0)<1)return;if(($|0)==2921660){FN(V,$,W,U,F,Y,X,z,1);return}switch(S|0){case 8:{TF(V,$,W,U,F,Y,X,z);return}case 32:{XF(V,$,W,U,F,Y,X,z);return}default:return}}function h1(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if((V|0)<1|($|0)<1)return X=0,X|0;if(Y=B2(($<<2)+52|0)|0,Z[Y>>2]=V,Q=Y+4|0,Z[Q>>2]=$,Z[Y+36>>2]=0,Z[Y+28>>2]=0,Z[Y+32>>2]=V,Z[Y+40>>2]=$,W=Y+8|0,Z[W>>2]=T,Z[Y+20>>2]=0,U=B(T>>3,V)|0,V=B2(B(U,$)|0)|0,T=Y+12|0,Z[T>>2]=V,S=Y+52|0,J=Y+16|0,Z[J>>2]=S,Z[S>>2]=V,($|0)!=1){V=1;do Z[(Z[J>>2]|0)+(V<<2)>>2]=(Z[T>>2]|0)+(B(U,V)|0),V=V+1|0;while((V|0)!=($|0))}if((Y|0)!=2921660?(Z[Q>>2]|0)>0:0){$=0;do C1(Z[(Z[J>>2]|0)+($<<2)>>2]|0,0,B(Z[W>>2]>>3,Z[Y>>2]|0)|0),$=$+1|0;while(($|0)<(Z[Q>>2]|0))}return Z[543502]=(Z[543502]|0)+1,X=Y,X|0}function P5(V){V=V|0;var $=0;if(!V)return 0;if($=Z[V+12>>2]|0,$|0)$6($);return $6(V),Z[543502]=(Z[543502]|0)+-1,0}function o9(V,$,T,X){if(V=V|0,$=$|0,T=T|0,X=X|0,(Z[V+28>>2]|0)>($|0))return;if((Z[V+36>>2]|0)>(T|0))return;if((Z[V+32>>2]|0)<=($|0))return;if((Z[V+40>>2]|0)<=(T|0))return;switch(Z[V+8>>2]|0){case 8:{N[(Z[(Z[V+16>>2]|0)+(T<<2)>>2]|0)+$>>0]=X;return}case 32:{Z[(Z[(Z[V+16>>2]|0)+(T<<2)>>2]|0)+($<<2)>>2]=X;return}default:return}}function $$(V,$,T,X,Y,Q,W,U){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0,U=U|0;var S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0;S=Z[T>>2]|0;do if((((S|0)<(Z[V>>2]|0)?(J=Z[X>>2]|0,_=V+4|0,(J|0)<(Z[_>>2]|0)):0)?(K=$+32|0,(Z[Y>>2]|0)<(Z[K>>2]|0)):0)?(P=$+40|0,(Z[Q>>2]|0)<(Z[P>>2]|0)):0){if((S|0)<0)Z[W>>2]=(Z[W>>2]|0)+S,Z[Y>>2]=(Z[Y>>2]|0)-(Z[T>>2]|0),Z[T>>2]=0,O=Z[X>>2]|0,L=0;else O=J,L=S;if((O|0)<0)Z[U>>2]=(Z[U>>2]|0)+O,Z[Q>>2]=(Z[Q>>2]|0)-(Z[X>>2]|0),Z[X>>2]=0,F=Z[T>>2]|0,z=0;else F=L,z=O;if(J=Z[V>>2]|0,((Z[W>>2]|0)+F|0)>(J|0))Z[W>>2]=J-F,H=Z[X>>2]|0;else H=z;if(J=Z[_>>2]|0,((Z[U>>2]|0)+H|0)>(J|0))Z[U>>2]=J-H;if(J=Z[Y>>2]|0,_=$+28|0,C=Z[_>>2]|0,(J|0)<(C|0))A=J-C|0,Z[Y>>2]=A,Z[W>>2]=(Z[W>>2]|0)+A,Z[T>>2]=(Z[T>>2]|0)-(Z[Y>>2]|0),A=Z[_>>2]|0,Z[Y>>2]=A,y=A;else y=J;if(J=Z[Q>>2]|0,A=$+36|0,_=Z[A>>2]|0,(J|0)<(_|0))C=J-_|0,Z[Q>>2]=C,Z[U>>2]=(Z[U>>2]|0)+C,Z[X>>2]=(Z[X>>2]|0)-(Z[Q>>2]|0),C=Z[A>>2]|0,Z[Q>>2]=C,k=Z[Y>>2]|0,m=C;else k=y,m=J;if(J=Z[K>>2]|0,((Z[W>>2]|0)+k|0)>(J|0))Z[W>>2]=J-k,I=Z[Q>>2]|0;else I=m;if(J=Z[P>>2]|0,((Z[U>>2]|0)+I|0)>(J|0)){u=J-I|0;break}else return}else u=0;while(0);Z[U>>2]=u;return}function RX(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0;W=(V|0)==0;Z:do if((!(W|(V|0)==2921660)?(U=(Y|0)<(T|0),S=U?T:Y,J=U?Y:T,(Z[V+28>>2]|0)<=($|0)):0)?(Z[V+32>>2]|0)>($|0):0)switch(U=Z[V+36>>2]|0,_=(J|0)<(U|0)?U:J,J=Z[V+40>>2]|0,U=(S|0)<(J|0)?S:J+-1|0,Z[V+8>>2]|0){case 8:{if((_|0)>(U|0))break Z;J=Q&255,S=V+16|0,K=_;while(!0)if(N[(Z[(Z[S>>2]|0)+(K<<2)>>2]|0)+$>>0]=J,(K|0)<(U|0))K=K+1|0;else break;break}case 32:{if((_|0)>(U|0))break Z;K=Z[V+16>>2]|0,J=_;while(!0)if(Z[(Z[K+(J<<2)>>2]|0)+($<<2)>>2]=Q,(J|0)<(U|0))J=J+1|0;else break;break}default:break Z}while(0);Z:do if((!(W|(V|0)==2921660)?(J=(Y|0)<(T|0),U=J?T:Y,K=J?Y:T,(Z[V+28>>2]|0)<=(X|0)):0)?(Z[V+32>>2]|0)>(X|0):0)switch(J=Z[V+36>>2]|0,_=(K|0)<(J|0)?J:K,K=Z[V+40>>2]|0,J=(U|0)<(K|0)?U:K+-1|0,Z[V+8>>2]|0){case 8:{if((_|0)>(J|0))break Z;K=Q&255,U=V+16|0,S=_;while(!0)if(N[(Z[(Z[U>>2]|0)+(S<<2)>>2]|0)+X>>0]=K,(S|0)<(J|0))S=S+1|0;else break;break}case 32:{if((_|0)>(J|0))break Z;S=Z[V+16>>2]|0,K=_;while(!0)if(Z[(Z[S+(K<<2)>>2]|0)+(X<<2)>>2]=Q,(K|0)<(J|0))K=K+1|0;else break;break}default:break Z}while(0);Z:do if((!(W|(V|0)==2921660)?(K=(X|0)<($|0),J=K?$:X,S=K?X:$,(Z[V+36>>2]|0)<=(T|0)):0)?(Z[V+40>>2]|0)>(T|0):0)switch(K=Z[V+28>>2]|0,_=(S|0)<(K|0)?K:S,S=Z[V+32>>2]|0,K=(J|0)<(S|0)?J:S+-1|0,Z[V+8>>2]|0){case 8:{if((_|0)>(K|0))break Z;S=Q&255,J=V+16|0,U=_;while(!0)if(N[(Z[(Z[J>>2]|0)+(T<<2)>>2]|0)+U>>0]=S,(U|0)<(K|0))U=U+1|0;else break;break}case 32:{if(U=1-_+K|0,(U|0)<=0)break Z;S=(Z[(Z[V+16>>2]|0)+(T<<2)>>2]|0)+(_<<2)|0,J=U;while(!0)if(Z[S>>2]=Q,(J|0)>1)S=S+4|0,J=J+-1|0;else break;break}default:break Z}while(0);if(W|(V|0)==2921660)return;if(W=(X|0)<($|0),T=W?$:X,J=W?X:$,(Z[V+36>>2]|0)>(Y|0))return;if((Z[V+40>>2]|0)<=(Y|0))return;switch($=Z[V+28>>2]|0,X=(J|0)<($|0)?$:J,J=Z[V+32>>2]|0,$=(T|0)<(J|0)?T:J+-1|0,Z[V+8>>2]|0){case 8:{if((X|0)>($|0))return;J=Q&255,T=V+16|0,W=X;while(!0)if(N[(Z[(Z[T>>2]|0)+(Y<<2)>>2]|0)+W>>0]=J,(W|0)<($|0))W=W+1|0;else break;return}case 32:{if(W=1-X+$|0,(W|0)<=0)return;$=(Z[(Z[V+16>>2]|0)+(Y<<2)>>2]|0)+(X<<2)|0,X=W;while(!0)if(Z[$>>2]=Q,(X|0)>1)$=$+4|0,X=X+-1|0;else break;return}default:return}}function OT(V){V=V|0,Z[V+36>>2]=0,Z[V+28>>2]=0,Z[V+32>>2]=Z[V>>2],Z[V+40>>2]=Z[V+4>>2];return}function vO(V){V=V|0,Z[481376]=Z[V+28>>2],Z[481380]=Z[V+32>>2],Z[481388]=Z[V+36>>2],Z[481384]=Z[V+40>>2];return}function jO(V){V=V|0,Z[V+28>>2]=Z[481376],Z[V+32>>2]=Z[481380],Z[V+36>>2]=Z[481388],Z[V+40>>2]=Z[481384];return}function EW(V,$,T,X,Y,Q,W){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0;var U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0;if((V|0)==0|($|0)==0|(Y|0)==0|(Q|0)==0)return;if(U=Z[V>>2]|0,(U|0)==(Y|0)?(Z[V+4>>2]|0)==(Q|0):0)if(!(W&1)){l5(V,$,0,0,T,X,Y,Q);return}else{M9(V,$,0,0,T,X,Y,Q);return}if(S=Z[$+8>>2]|0,(S|0)!=(Z[V+8>>2]|0))return;switch(J=(U<<16|0)/(Y|0)|0,_=Z[V+4>>2]|0,K=(_<<16|0)/(Q|0)|0,P=Z[$+36>>2]|0,O=(P|0)>(X|0),L=P-X|0,F=B(L,K)|0,z=Q-(O?L:0)|0,L=O?P:X,X=(J|0)/2|0,P=(J|0)<0?X+U|0:((K|0)<0?_:0)+((K|0)/2|0)+(O?F:0)|0,F=Z[$+28>>2]|0,O=(F|0)>(T|0),_=F-T|0,U=B(_,J)|0,Q=(O?U:0)+X|0,X=Y-(O?_:0)|0,_=O?F:T,T=(Z[$+32>>2]|0)-_|0,F=(X|0)<(T|0)?X:T,T=(Z[$+40>>2]|0)-L|0,X=(z|0)<(T|0)?z:T,S|0){case 32:{if(S=X+L|0,(X|0)<=0)return;if(T=Z[V+16>>2]|0,z=Z[$+16>>2]|0,O=(F|0)>0,!(W&1)){Y=P,U=L;while(!0){if(H=Z[T+(Y>>16<<2)>>2]|0,O){C=(Z[z+(U<<2)>>2]|0)+(_<<2)|0,A=Q,y=0;while(!0)if(Z[C>>2]=Z[H+(A>>16<<2)>>2],y=y+1|0,(y|0)>=(F|0))break;else C=C+4|0,A=A+J|0}if(U=U+1|0,(U|0)>=(S|0))break;else Y=Y+K|0}return}Y=P,U=L;while(!0){A=Z[T+(Y>>16<<2)>>2]|0;Z:do if(O){C=(Z[z+(U<<2)>>2]|0)+(_<<2)|0,y=Q,H=0;while(!0){switch(k=Z[A+(y>>16<<2)>>2]|0,m=Z[C>>2]|0,I=k>>>24,(I&255)<<24>>24){case 0:{u=m&16777215;break}case-1:{u=k&16777215;break}default:g=I^255,u=((((B(m>>>16&255,g)|0)+(B(k>>>16&255,I)|0)|0)>>>0)/255|0)<<16|((((B(m&255,g)|0)+(B(k&255,I)|0)|0)>>>0)/255|0)|((((B(m>>>8&255,g)|0)+(B(k>>>8&255,I)|0)|0)>>>0)/255|0)<<8}if(Z[C>>2]=u|m&-16777216,H=H+1|0,(H|0)>=(F|0))break Z;else C=C+4|0,y=y+J|0}}while(0);if(U=U+1|0,(U|0)>=(S|0))break;else Y=Y+K|0}return}case 8:{if(Y=X+L|0,(X|0)<=0)return;if(X=V+16|0,V=$+16|0,$=(F|0)>0,!(W&1)){W=P,S=L;while(!0){if(U=Z[(Z[X>>2]|0)+(W>>16<<2)>>2]|0,$){u=(Z[(Z[V>>2]|0)+(S<<2)>>2]|0)+_|0,z=Q,O=0;while(!0)if(N[u>>0]=N[U+(z>>16)>>0]|0,O=O+1|0,(O|0)>=(F|0))break;else u=u+1|0,z=z+J|0}if(S=S+1|0,(S|0)>=(Y|0))break;else W=W+K|0}return}if(!$)return;$=P,P=L;while(!0){L=Z[(Z[X>>2]|0)+($>>16<<2)>>2]|0,W=(Z[(Z[V>>2]|0)+(P<<2)>>2]|0)+_|0,S=Q,z=0;while(!0){if(u=N[L+(S>>16)>>0]|0,u<<24>>24)N[W>>0]=u;if(z=z+1|0,(z|0)>=(F|0))break;else W=W+1|0,S=S+J|0}if(P=P+1|0,(P|0)>=(Y|0))break;else $=$+K|0}return}default:return}}function kO(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0;switch(T|0){case 0:return X=V&16777215,X|0;case 255:return X=$&16777215,X|0;default:return Y=255-T|0,X=((B($&255,T)|0)+(B(V&255,Y)|0)|0)/255|0|((((B($>>>8&255,T)|0)+(B(V>>>8&255,Y)|0)|0)/255|0)<<8|(((B($>>>16&255,T)|0)+(B(V>>>16&255,Y)|0)|0)/255|0)<<16),X|0}return 0}function r3(V,$,T){V=V|0,$=$|0,T=T|0;var X=0;Z:do if(((((V|0)!=0?(Z[V+28>>2]|0)<=($|0):0)?(Z[V+36>>2]|0)<=(T|0):0)?(Z[V+32>>2]|0)>($|0):0)?(Z[V+40>>2]|0)>(T|0):0)switch(Z[V+8>>2]|0){case 8:{X=G[(Z[(Z[V+16>>2]|0)+(T<<2)>>2]|0)+$>>0]|0;break Z}case 32:{X=Z[(Z[(Z[V+16>>2]|0)+(T<<2)>>2]|0)+($<<2)>>2]|0;break Z}default:{X=0;break Z}}else X=0;while(0);return X|0}function h3(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0;Z:do if((X|0)!=($|0)){W=V+28|0,U=V+36|0,S=V+32|0,J=V+40|0,_=$,K=X,P=T,O=Y;while(!0){if((O|0)==(P|0)){L=14;break}if(F=Z[W>>2]|0,z=(F|0)>(_|0)&1,H=Z[U>>2]|0,C=(H|0)>(P|0)?z|2:z,z=Z[S>>2]|0,A=(z|0)>(_|0)?C:C|4,C=Z[J>>2]|0,y=(C|0)>(P|0)?A:A|8,A=(F|0)>(K|0)&1,k=(H|0)>(O|0)?A|2:A,A=(z|0)>(K|0)?k:k|4,k=(C|0)>(O|0)?A:A|8,!(y|k)){L=25;break}if(A=(y&1|0)!=0,!((k&1|0)==0|A^1)){L=51;break}if(m=(y&2|0)!=0,!((k&2|0)==0|m^1)){L=51;break}if(I=(y&4|0)!=0,!((k&4|0)==0|I^1)){L=51;break}if(u=(y&8|0)!=0,!((k&8|0)==0|u^1)){L=51;break}if(!A)if(I)I=z+-1|0,A=(_-I<<16|0)/(_-K|0)|0,k=65536-A|0,y=(B(k,_)|0)+(B(A,K)|0)>>16,g=(B(k,P)|0)+(B(A,O)|0)>>16,i=(y|0)<(z|0)?y:I,t=g;else i=_,t=P;else g=(F-_<<16|0)/(K-_|0)|0,I=65536-g|0,y=(B(I,_)|0)+(B(g,K)|0)>>16,z=(B(I,P)|0)+(B(g,O)|0)>>16,i=(y|0)<(F|0)?F:y,t=z;if(!m)if(u){if((t|0)==(O|0)){L=51;break}u=C+-1|0,m=(t-u<<16|0)/(t-O|0)|0,z=65536-m|0,y=(B(z,i)|0)+(B(m,K)|0)>>16,g=(B(z,t)|0)+(B(m,O)|0)>>16,Y0=y,X0=(g|0)<(C|0)?g:u}else Y0=i,X0=t;else{if((t|0)==(O|0)){L=51;break}u=(H-t<<16|0)/(O-t|0)|0,g=65536-u|0,C=(B(g,i)|0)+(B(u,K)|0)>>16,y=(B(g,t)|0)+(B(u,O)|0)>>16,Y0=C,X0=(y|0)<(H|0)?H:y}if((Y0|0)==(K|0)){T0=K,Z0=O,W0=X0;break Z}else y=O,H=K,K=Y0,O=X0,P=y,_=H}if((L|0)==14){if((V|0)==0|(V|0)==2921660)return;if(H=(K|0)<(_|0),y=H?_:K,C=H?K:_,(Z[U>>2]|0)>(O|0))return;if((Z[J>>2]|0)<=(O|0))return;switch(H=Z[W>>2]|0,u=(C|0)<(H|0)?H:C,C=Z[S>>2]|0,H=(y|0)<(C|0)?y:C+-1|0,Z[V+8>>2]|0){case 8:{if((u|0)>(H|0))return;C=Q&255,y=V+16|0,g=u;while(!0)if(N[(Z[(Z[y>>2]|0)+(O<<2)>>2]|0)+g>>0]=C,(g|0)<(H|0))g=g+1|0;else break;return}case 32:{if(g=1-u+H|0,(g|0)<=0)return;C=(Z[(Z[V+16>>2]|0)+(O<<2)>>2]|0)+(u<<2)|0,y=g;while(!0)if(Z[C>>2]=Q,(y|0)>1)C=C+4|0,y=y+-1|0;else break;return}default:return}}else if((L|0)==25){if(y=K-_|0,C=O-P|0,u=(y|0)<0?0-y|0:y,H=(C|0)<0?0-C|0:C,g=(u|0)>(H|0)?u:H,H=(g|0)==0?1:g,g=(y<<16|0)/(H|0)|0,y=(C<<16|0)/(H|0)|0,(H|0)<=-1)return;C=V+8|0,u=Q&255,m=V+16|0,z=F,I=H,H=_<<16|32768,A=P<<16|32768;while(!0){k=H>>16,O0=A>>16;V:do if((((z|0)<=(k|0)?(Z[U>>2]|0)<=(O0|0):0)?(Z[S>>2]|0)>(k|0):0)?(Z[J>>2]|0)>(O0|0):0)switch(Z[C>>2]|0){case 8:{N[(Z[(Z[m>>2]|0)+(O0<<2)>>2]|0)+k>>0]=u;break V}case 32:{Z[(Z[(Z[m>>2]|0)+(O0<<2)>>2]|0)+(k<<2)>>2]=Q;break V}default:break V}while(0);if((I|0)<=0)break;z=Z[W>>2]|0,I=I+-1|0,H=H+g|0,A=A+y|0}return}else if((L|0)==51)return}else T0=X,Z0=T,W0=Y;while(0);if((V|0)==0|(V|0)==2921660)return;if(Y=(W0|0)<(Z0|0),T=Y?Z0:W0,X=Y?W0:Z0,(Z[V+28>>2]|0)>(T0|0))return;if((Z[V+32>>2]|0)<=(T0|0))return;switch(Z0=Z[V+36>>2]|0,W0=(X|0)<(Z0|0)?Z0:X,X=Z[V+40>>2]|0,Z0=(T|0)<(X|0)?T:X+-1|0,Z[V+8>>2]|0){case 8:{if((W0|0)>(Z0|0))return;X=Q&255,T=V+16|0,Y=W0;while(!0)if(N[(Z[(Z[T>>2]|0)+(Y<<2)>>2]|0)+T0>>0]=X,(Y|0)<(Z0|0))Y=Y+1|0;else break;return}case 32:{if((W0|0)>(Z0|0))return;Y=Z[V+16>>2]|0,V=W0;while(!0)if(Z[(Z[Y+(V<<2)>>2]|0)+(T0<<2)>>2]=Q,(V|0)<(Z0|0))V=V+1|0;else break;return}default:return}}function IJ(V,$,T,X,Y,Q,W,U,S,J){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0,U=U|0,S=S|0,J=J|0;var _=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0;if((V|0)==0|($|0)==0|($|0)==2921660)return;if(_=Z[V>>2]|0,(((_|0)>(T|0)?(K=Z[V+4>>2]|0,(K|0)>(X|0)):0)?(P=Z[$+32>>2]|0,(P|0)>(Y|0)):0)?(O=Z[$+40>>2]|0,(O|0)>(Q|0)):0)L=(T|0)<0,F=L?0:T,z=L?T:0,L=Y-z|0,H=z+W|0,z=(X|0)<0,C=z?0:X,A=z?X:0,z=Q-A|0,y=A+U|0,U=Z[$+28>>2]|0,A=(L|0)<(U|0),k=A?L-U|0:0,m=A?U:L,L=k+((H+F|0)>(_|0)?_-F|0:H)|0,H=Z[$+36>>2]|0,U=(z|0)<(H|0),A=U?z-H|0:0,I=U?H:z,z=A+((y+C|0)>(K|0)?K-C|0:y)|0,u=m,g=I,i=(z+I|0)>(O|0)?O-I|0:z,t=F-k|0,Y0=C-A|0,X0=(L+m|0)>(P|0)?P-m|0:L;else u=Y,g=Q,i=0,t=T,Y0=X,X0=W;if(W=(J&1|0)!=0,W)if(J=_-t|0,X=J-X0|0,(((X|0)<(_|0)?(T=Z[V+4>>2]|0,(Y0|0)<(T|0)):0)?(Q=Z[$+32>>2]|0,(u|0)<(Q|0)):0)?(Y=Z[$+40>>2]|0,(g|0)<(Y|0)):0)L=(X|0)<0,m=L?0:X,P=u-(L?X:0)|0,A=(Y0|0)<0,C=A?0:Y0,k=A?Y0:0,A=g-k|0,F=i+k|0,k=Z[$+28>>2]|0,z=(P|0)<(k|0),I=z?P-k|0:0,O=z?k:P,P=I+((t|0)<0?_-m|0:L?J:X0)|0,J=Z[$+36>>2]|0,L=(A|0)<(J|0),_=L?A-J|0:0,k=L?J:A,A=_+((F+C|0)>(T|0)?T-C|0:F)|0,T0=O,Z0=k,W0=(A+k|0)>(Y|0)?Y-k|0:A,O0=m-I|0,y0=C-_|0,E0=(P+O|0)>(Q|0)?Q-O|0:P;else T0=u,Z0=g,W0=0,O0=X,y0=Y0,E0=X0;else T0=u,Z0=g,W0=i,O0=t,y0=Y0,E0=X0;if((E0|0)<0)return;if(X0=(W0|0)>0,(Z[$+8>>2]|0)==8){if(!X0)return;if(Y0=V+16|0,t=$+16|0,i=E0+-1|0,g=(E0|0)==0,u=S&255,W){X=0;do{if(!g){P=(Z[(Z[t>>2]|0)+(X+Z0<<2)>>2]|0)+T0+i|0,O=(Z[(Z[Y0>>2]|0)+(X+y0<<2)>>2]|0)+O0|0,Q=E0;while(!0){if(N[O>>0]|0)N[P>>0]=u;if(Q=Q+-1|0,!Q)break;else P=P+-1|0,O=O+1|0}}X=X+1|0}while((X|0)!=(W0|0));return}if(g)return;g=0;do{X=(Z[(Z[t>>2]|0)+(g+Z0<<2)>>2]|0)+T0|0,i=(Z[(Z[Y0>>2]|0)+(g+y0<<2)>>2]|0)+O0|0,O=E0;while(!0){if(N[i>>0]|0)N[X>>0]=u;if(O=O+-1|0,!O)break;else X=X+1|0,i=i+1|0}g=g+1|0}while((g|0)!=(W0|0));return}else{if(!X0)return;if(X0=V+16|0,V=$+16|0,$=(E0<<2)+-4|0,g=(E0|0)==0,W){W=0;do{if(!g){u=(Z[(Z[V>>2]|0)+(W+Z0<<2)>>2]|0)+(T0<<2)+($<<2)|0,Y0=(Z[(Z[X0>>2]|0)+(W+y0<<2)>>2]|0)+O0|0,t=E0;while(!0){if(N[Y0>>0]|0)Z[u>>2]=S;if(t=t+-1|0,!t)break;else u=u+-4|0,Y0=Y0+1|0}}W=W+1|0}while((W|0)!=(W0|0));return}if(g)return;g=Z[X0>>2]|0,X0=Z[V>>2]|0,V=0;do{W=(Z[X0+(V+Z0<<2)>>2]|0)+(T0<<2)|0,$=(Z[g+(V+y0<<2)>>2]|0)+O0|0,Y0=E0;while(!0){if(N[$>>0]|0)Z[W>>2]=S;if(Y0=Y0+-1|0,!Y0)break;else W=W+4|0,$=$+1|0}V=V+1|0}while((V|0)!=(W0|0));return}}function pO(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0;if(X=Z[V>>2]|0,(X|0)!=(Z[$>>2]|0))return;if(Y=V+4|0,Q=Z[Y>>2]|0,(Q|0)!=(Z[$+4>>2]|0))return;if(W=V+8|0,U=Z[W>>2]|0,S=$+8|0,J=Z[S>>2]|0,(U|0)==(J|0)){l5(V,$,0,0,0,0,X,Q);return}if((U|0)==8&(J|0)==32){if((Q|0)<=0)return;J=V+16|0,_=$+16|0,K=Q,P=X,O=0;while(!0){if((P|0)>0){L=Z[(Z[J>>2]|0)+(O<<2)>>2]|0,F=Z[(Z[_>>2]|0)+(O<<2)>>2]|0,z=0;do H=N[L+z>>0]|0,C=H&255,Z[F+(z<<2)>>2]=(G[T+(C*3|0)>>0]|0)<<16|(H<<24>>24==0?0:-16777216)|(G[T+(C*3|0)+1>>0]|0)<<8|(G[T+(C*3|0)+2>>0]|0),z=z+1|0,A=Z[V>>2]|0;while((z|0)<(A|0));y=Z[Y>>2]|0,k=A}else y=K,k=P;if(O=O+1|0,(O|0)>=(y|0))break;else K=y,P=k}m=Z[W>>2]|0,I=y,u=k}else m=U,I=Q,u=X;if((m|0)!=32)return;if(!((Z[S>>2]|0)==8&(I|0)>0))return;I=V+28|0,m=V+36|0,X=V+32|0,Q=$+28|0,U=V+40|0,k=$+36|0,y=$+32|0,P=V+16|0,K=$+40|0,O=$+16|0,$=u,u=0;while(!0){if(($|0)>0){A=0;while(!0){Z:do if((((Z[I>>2]|0)<=(A|0)?(Z[m>>2]|0)<=(u|0):0)?(Z[X>>2]|0)>(A|0):0)?(Z[U>>2]|0)>(u|0):0)switch(Z[W>>2]|0){case 8:{g=G[(Z[(Z[P>>2]|0)+(u<<2)>>2]|0)+A>>0]|0;break Z}case 32:{g=Z[(Z[(Z[P>>2]|0)+(u<<2)>>2]|0)+(A<<2)>>2]|0;break Z}default:{g=0;break Z}}else g=0;while(0);_=g>>>16&255,J=g>>>8&255,z=g&255,F=65536,L=-1,C=0;while(!0)if(H=_-(G[T+(C*3|0)>>0]|0)|0,i=B(H,H)|0,H=J-(G[T+(C*3|0)+1>>0]|0)|0,t=(B(H,H)|0)+i|0,i=z-(G[T+(C*3|0)+2>>0]|0)|0,H=t+(B(i,i)|0)|0,i=H>>>0<27,t=(L|0)==-1|(H|0)<(F|0),L=i|t?C:L,C=i?257:C+1|0,(C|0)>=256)break;else F=i?F:t?H:F;Z:do if((((Z[Q>>2]|0)<=(A|0)?(Z[k>>2]|0)<=(u|0):0)?(Z[y>>2]|0)>(A|0):0)?(Z[K>>2]|0)>(u|0):0)switch(Z[S>>2]|0){case 8:{N[(Z[(Z[O>>2]|0)+(u<<2)>>2]|0)+A>>0]=L;break Z}case 32:{Z[(Z[(Z[O>>2]|0)+(u<<2)>>2]|0)+(A<<2)>>2]=L;break Z}default:break Z}while(0);if(A=A+1|0,L=Z[V>>2]|0,(A|0)>=(L|0)){Y0=L;break}}}else Y0=$;if(u=u+1|0,(u|0)>=(Z[Y>>2]|0))break;else $=Y0}return}function BW(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0;if(T=V+20|0,(Z[T>>2]|0)>=($|0))return;if(X=$<<2,Z[V>>2]=y6(Z[V>>2]|0,X)|0,Y=V+4|0,Z[Y>>2]=y6(Z[Y>>2]|0,X)|0,Q=V+8|0,Z[Q>>2]=y6(Z[Q>>2]|0,X)|0,W=V+12|0,U=y6(Z[W>>2]|0,X)|0,Z[W>>2]=U,X=Z[T>>2]|0,(X|0)<($|0)?(Z[(Z[Y>>2]|0)+(X<<2)>>2]=0,Z[(Z[Q>>2]|0)+(X<<2)>>2]=X,Z[U+(X<<2)>>2]=X,Z[(Z[V>>2]|0)+(X<<2)>>2]=0,U=X+1|0,(U|0)!=($|0)):0){X=U;do U=Z[W>>2]|0,Z[(Z[Y>>2]|0)+(X<<2)>>2]=0,Z[(Z[Q>>2]|0)+(X<<2)>>2]=X,Z[U+(X<<2)>>2]=X,Z[(Z[V>>2]|0)+(X<<2)>>2]=0,X=X+1|0;while((X|0)!=($|0))}Z[T>>2]=$;return}function CW(V){V=V|0;var $=0;return $=Y1(64)|0,Z[$>>2]=0,Z[$+4>>2]=0,Z[$+8>>2]=0,Z[$+12>>2]=0,Z[$+16>>2]=0,Z[$+20>>2]=0,Z[$+24>>2]=0,BW($,V),N[$+32>>0]=0,Z[543502]=(Z[543502]|0)+1,$|0}function mO(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;if(T=Y1(64)|0,Z[T>>2]=0,Z[T+4>>2]=0,Z[T+8>>2]=0,Z[T+12>>2]=0,Z[T+16>>2]=0,Z[T+20>>2]=0,Z[T+24>>2]=0,BW(T,V),N[T+32>>0]=0,Z[543502]=(Z[543502]|0)+1,X=B2(B($,V)|0)|0,Z[Z[T>>2]>>2]=X,(V|0)<=1)return Y=T+24|0,Z[Y>>2]=1,Q=T+28|0,Z[Q>>2]=$,T|0;X=1;do W=Z[T>>2]|0,Z[W+(X<<2)>>2]=(Z[W>>2]|0)+(B(X,$)|0),X=X+1|0;while((X|0)!=(V|0));return Y=T+24|0,Z[Y>>2]=1,Q=T+28|0,Z[Q>>2]=$,T|0}function uO(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;T=V+4|0;Z:do if((Z[V+24>>2]|0)==0?(X=Z[(Z[T>>2]|0)+($<<2)>>2]|0,(X|0)<=99):0)do switch(X|0){case 2:{$6(Z[(Z[V>>2]|0)+($<<2)>>2]|0);break Z}case 3:{T$(Z[(Z[V>>2]|0)+($<<2)>>2]|0);break Z}case 4:{P5(Z[(Z[V>>2]|0)+($<<2)>>2]|0)|0;break Z}case 5:{zW(Z[(Z[V>>2]|0)+($<<2)>>2]|0);break Z}case 6:{sz(Z[(Z[V>>2]|0)+($<<2)>>2]|0);break Z}case 7:{rz(Z[(Z[V>>2]|0)+($<<2)>>2]|0);break Z}case 8:{bz(Z[(Z[V>>2]|0)+($<<2)>>2]|0);break Z}case 9:{_R(Z[(Z[V>>2]|0)+($<<2)>>2]|0);break Z}case 10:{qO(Z[(Z[V>>2]|0)+($<<2)>>2]|0)|0;break Z}case 12:{I5(Z[(Z[V>>2]|0)+($<<2)>>2]|0);break Z}case 11:{WF(Z[(Z[V>>2]|0)+($<<2)>>2]|0);break Z}case 0:return;default:break Z}while(0);while(0);if(X=(Z[T>>2]|0)+($<<2)|0,!(Z[X>>2]|0))return;Z[X>>2]=0,X=V+16|0,T=(Z[X>>2]|0)+-1|0,Z[X>>2]=T,Y=Z[V+8>>2]|0,Q=Y+(T<<2)|0,T=Z[Q>>2]|0,Z[Q>>2]=$,Q=Z[V+12>>2]|0,V=Q+($<<2)|0,Z[Y+(Z[V>>2]<<2)>>2]=T,Z[Q+(T<<2)>>2]=Z[V>>2],Z[V>>2]=Z[X>>2];return}function T$(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0;if(!V)return;if($=V+24|0,!(Z[$>>2]|0)){if(T=V+16|0,X=Z[T>>2]|0,(X|0)>0){Y=V+8|0,Q=X,W=0;do uO(V,Z[(Z[Y>>2]|0)+(Q+-1<<2)>>2]|0),W=W+1|0,Q=Z[T>>2]|0;while((W|0)<(X|0)&(Q|0)!=0)}if(Q=V+20|0,(Z[Q>>2]|0)>0){X=Z[V+4>>2]|0,W=Z[V+8>>2]|0,Y=Z[V+12>>2]|0,U=0;do Z[X+(U<<2)>>2]=0,Z[W+(U<<2)>>2]=U,Z[Y+(U<<2)>>2]=U,U=U+1|0;while((U|0)<(Z[Q>>2]|0))}if(Z[$>>2]|0)C1(Z[Z[V>>2]>>2]|0,0,B(Z[T>>2]|0,Z[V+28>>2]|0)|0);if(Z[T>>2]|0)s1(94223)}else $6(Z[Z[V>>2]>>2]|0);$6(Z[V>>2]|0),$6(Z[V+4>>2]|0),$6(Z[V+8>>2]|0),$6(Z[V+12>>2]|0),$6(V),Z[543502]=(Z[543502]|0)+-1;return}function x3(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;if(X=q,q=q+16|0,Y=X+8|0,Q=X,!$)Z[Q>>2]=94259,a6(1703776,95255,Q)|0,s1(1703776);if(!T)Z[Y>>2]=94282,a6(1703776,95255,Y)|0,s1(1703776);if(Y=(Z[V+24>>2]|0)==0,Q=V+16|0,W=Z[Q>>2]|0,U=W+1|0,Z[Q>>2]=U,S=Z[V+20>>2]|0,J=(S|0)<=(W|0),Y)if(J)BW(V,S+8+((S|0)/2|0)|0),_=Z[Q>>2]|0;else _=U;else if(J)return Z[Q>>2]=W,K=V+4|0,P=-1,O=Z[V>>2]|0,L=O+(P<<2)|0,Z[L>>2]=T,F=Z[K>>2]|0,z=F+(P<<2)|0,Z[z>>2]=$,q=X,P|0;else _=U;return U=Z[(Z[V+8>>2]|0)+(_+-1<<2)>>2]|0,_=V+4|0,Z[(Z[_>>2]|0)+(U<<2)>>2]=1,K=_,P=U,O=Z[V>>2]|0,L=O+(P<<2)|0,Z[L>>2]=T,F=Z[K>>2]|0,z=F+(P<<2)|0,Z[z>>2]=$,q=X,P|0}function lO(){var V=0;if(V=Z[545791]|0,V|0)P5(V)|0;V=h1(33,33,32)|0,Z[545791]=V,R8(V),V7(Z[545791]|0,15,8,17,24,-1),V7(Z[545791]|0,8,15,24,17,-1),V7(Z[545791]|0,16,9,16,23,-6250336),V7(Z[545791]|0,9,16,23,16,-6250336),V7(Z[545791]|0,11,11,21,21,0),V7(Z[545791]|0,16,11,16,21,-1),V7(Z[545791]|0,11,16,21,16,-1),V7(Z[545791]|0,14,14,18,18,0);return}function sO(){lO(),Z[545792]=Z[545791];return}function x9(){return(Z[545793]|0)!=0|0}function ZZ(){var V=0,$=0,T=0,X=0;if(V=Z[545793]|0,!V){do AO()|0,$=Z[545793]|0;while(!($|0));T=$}else T=V;if(V=Z[428120]|0,$=T+-1|0,(T|0)<=1)return Z[545793]=$,V|0;T=0;do X=T,T=T+1|0,Z[1712480+(X<<2)>>2]=Z[1712480+(T<<2)>>2];while((T|0)!=($|0));return Z[545793]=$,V|0}function oO(){var V=0,$=0,T=0;V=0;while(!0){if((V|0)!=57&(N[1712608+V>>0]|0)!=0){$=V,T=4;break}if(V=V+1|0,V>>>0>=512){$=0,T=4;break}}if((T|0)==4)return $|0;return 0}function O2(V){V=V|0;var $=0,T=0;if((V|0)>=0){if(V>>>0>511)return $=0,$|0;if(T=N[1712608+V>>0]|0,!(T<<24>>24))return $=0,$|0;if(!(N[1713120+V>>0]|0))return(T<<24>>24==3|(N[1713632+V>>0]|0)==0?3:1)|0;else return $=0,$|0}switch(V|0){case-6:{if(V=N[1712833]|0,V<<24>>24!=0&(N[1713345]|0)==0)return $=V<<24>>24==3|(N[1713857]|0)==0?3:1,$|0;if(V=N[1712837]|0,!(V<<24>>24!=0&(N[1713349]|0)==0))return $=0,$|0;return $=V<<24>>24==3|(N[1713861]|0)==0?3:1,$|0}case-2:{if(V=N[1713110]|0,V<<24>>24!=0&(N[1713622]|0)==0)return $=V<<24>>24==3|(N[1714134]|0)==0?3:1,$|0;if(V=N[1713111]|0,!(V<<24>>24!=0&(N[1713623]|0)==0))return $=0,$|0;return $=V<<24>>24==3|(N[1714135]|0)==0?3:1,$|0}case-3:{if(V=N[1713108]|0,V<<24>>24!=0&(N[1713620]|0)==0)return $=V<<24>>24==3|(N[1714132]|0)==0?3:1,$|0;if(V=N[1713109]|0,!(V<<24>>24!=0&(N[1713621]|0)==0))return $=0,$|0;return $=V<<24>>24==3|(N[1714133]|0)==0?3:1,$|0}case-4:{if(V=N[1712834]|0,V<<24>>24!=0&(N[1713346]|0)==0)return $=V<<24>>24==3|(N[1713858]|0)==0?3:1,$|0;if(V=N[1712838]|0,!(V<<24>>24!=0&(N[1713350]|0)==0))return $=0,$|0;return $=V<<24>>24==3|(N[1713862]|0)==0?3:1,$|0}case-5:{if(V=N[1712832]|0,V<<24>>24!=0&(N[1713344]|0)==0)return $=V<<24>>24==3|(N[1713856]|0)==0?3:1,$|0;if(V=N[1712836]|0,V<<24>>24!=0&(N[1713348]|0)==0)return $=V<<24>>24==3|(N[1713860]|0)==0?3:1,$|0;if(V=N[1713108]|0,V<<24>>24!=0&(N[1713620]|0)==0)return $=V<<24>>24==3|(N[1714132]|0)==0?3:1,$|0;if(V=N[1713109]|0,!(V<<24>>24!=0&(N[1713621]|0)==0))return $=0,$|0;return $=V<<24>>24==3|(N[1714133]|0)==0?3:1,$|0}default:return $=0,$|0}return 0}function nO(){x8(1712608,0,512)|0,x8(1713632,0,512)|0,x8(1713120,0,512)|0;return}function yC(){return}function rO(){Z[545794]=mO(1024,72)|0;return}function hO(){T$(Z[545794]|0);return}function AW(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0;if(V=q,q=q+16|0,$=V+8|0,T=V+4|0,X=V,Y=Z[545794]|0,!Y){q=V;return}if(!(Z[Y+16>>2]|0)){q=V;return}S4($,T,X),Y=(Z[$>>2]|0)-(Z[545795]|0)|0,Q=B(Y,Y)|0,Y=(Z[T>>2]|0)-(Z[545796]|0)|0,W=(B(Y,Y)|0)+Q|0,DQ(),Q=Z[545794]|0,Y=Z[Q+16>>2]|0,U=(Y|0)>0;Z:do if(U){if(S=Z[$>>2]|0,J=Z[T>>2]|0,_=Z[Q>>2]|0,K=Z[Q+8>>2]|0,P=Z[_+(Z[K>>2]<<2)>>2]|0,O=Z[P+4>>2]|0,((S|0)>=(O|0)?(S|0)<((Z[P+12>>2]|0)+O|0):0)?(O=Z[P+8>>2]|0,(J|0)>=(O|0)):0)L=(J|0)<((Z[P+16>>2]|0)+O|0)?P:0;else L=0;if((Y|0)>1){P=L,O=1;while(!0){F=Z[_+(Z[K+(O<<2)>>2]<<2)>>2]|0,z=Z[F+4>>2]|0;do if((((S|0)>=(z|0)?(S|0)<((Z[F+12>>2]|0)+z|0):0)?(H=Z[F+8>>2]|0,(J|0)>=(H|0)):0)?(J|0)<((Z[F+16>>2]|0)+H|0):0){if(P|0?Z[P+20>>2]&32|0:0){C=P;break}C=F}else C=P;while(0);if(O=O+1|0,(O|0)>=(Y|0))break;else P=C}if(U)A=C;else break}else A=L;P=A+20|0,O=A+28|0,J=A+28|0,S=A+28|0,K=A+28|0,_=A+24|0,F=A+24|0,z=Q,H=W,y=Y;while(!0){if(k=y+-1|0,m=Z[(Z[z>>2]|0)+(Z[(Z[z+8>>2]|0)+(k<<2)>>2]<<2)>>2]|0,(m|0)==(A|0)){if(I=Z[X>>2]|0,u=Z[P>>2]|0,g=u&2,!I){if(!g)a9[Z[O>>2]&0](A,Z[$>>2]|0,Z[T>>2]|0,0,3)}else if(!(Z[545797]|g)){if(Z[P>>2]=u|2,a9[Z[S>>2]&0](A,Z[$>>2]|0,Z[T>>2]|0,I,4),I=I8()|0,(I-(Z[545798]|0)|0)<400?(I=(Z[Z[_>>2]>>2]|0)/64|0,(H|0)<(B(I,I)|0)):0)a9[Z[S>>2]&0](A,Z[$>>2]|0,Z[T>>2]|0,Z[X>>2]|0,18);if(I=I8()|0,(I-(Z[545799]|0)|0)<400?(I=(Z[Z[F>>2]>>2]|0)/64|0,(H|0)<(B(I,I)|0)):0)a9[Z[S>>2]&0](A,Z[$>>2]|0,Z[T>>2]|0,Z[X>>2]|0,11),Z[545798]=I8()|0;Z[545799]=I8()|0,Z[545795]=Z[$>>2],Z[545796]=Z[T>>2]}if(I=Z[P>>2]|0,!(I&1))Z[P>>2]=I|1,a9[Z[J>>2]&0](A,Z[$>>2]|0,Z[T>>2]|0,Z[X>>2]|0,1);if(I=Z[543643]|0,u=Z[543644]|0,u|I|0)a9[Z[K>>2]&0](A,I,u,Z[X>>2]|0,16),Z[543643]=0,Z[543644]=0}else{if(u=m+20|0,I=Z[u>>2]|0,!(I&1))i=I;else Z[u>>2]=I&-2,a9[Z[m+28>>2]&0](m,Z[$>>2]|0,Z[T>>2]|0,Z[X>>2]|0,2),i=Z[u>>2]|0;Z[u>>2]=i&-33}if(u=m+20|0,I=Z[u>>2]|0,(I&2|0)==0|(Z[X>>2]|0)!=0)if((I&1|0)!=0&(Z[543651]|0)!=0?(g=I8()|0,(g|0)<((Z[543652]|0)+500|0)):0){if(g=Z[543651]|0,Z[545797]=g,t=m+28|0,a9[Z[t>>2]&0](m,Z[$>>2]|0,Z[T>>2]|0,g,12),g=(Z[$>>2]|0)-(Z[545800]|0)|0,Y0=B(g,g)|0,g=(Z[T>>2]|0)-(Z[545801]|0)|0,X0=(B(g,g)|0)+Y0|0,Y0=I8()|0,(Y0-(Z[545802]|0)|0)<400&X0>>>0<400)a9[Z[t>>2]&0](m,Z[$>>2]|0,Z[T>>2]|0,Z[545797]|0,15);Z[545802]=I8()|0,Z[545800]=Z[$>>2],Z[545801]=Z[T>>2],T0=X0}else T0=H;else{if(Z[u>>2]=I&-3,I=m+28|0,a9[Z[I>>2]&0](m,Z[$>>2]|0,Z[T>>2]|0,0,6),X0=I8()|0,(H|0)<400&(X0-(Z[545799]|0)|0)<400)a9[Z[I>>2]&0](m,Z[$>>2]|0,Z[T>>2]|0,Z[545797]|0,12);if(X0=(Z[$>>2]|0)-(Z[545800]|0)|0,t=B(X0,X0)|0,X0=(Z[T>>2]|0)-(Z[545801]|0)|0,Y0=(B(X0,X0)|0)+t|0,t=I8()|0,(t-(Z[545802]|0)|0)<400&Y0>>>0<400)a9[Z[I>>2]&0](m,Z[$>>2]|0,Z[T>>2]|0,Z[545797]|0,15);Z[545802]=I8()|0,Z[545800]=Z[$>>2],Z[545801]=Z[T>>2],T0=Y0}if(Y0=Z[u>>2]|0,I=Z[X>>2]|0,(Y0&2|0)!=0&(I|0)!=0)a9[Z[m+28>>2]&0](m,Z[$>>2]|0,Z[T>>2]|0,I,5),Z0=Z[u>>2]|0;else Z0=Y0;if(Z0&1|0?!((Z[545803]|0)==0|(Z[X>>2]|0)!=0):0)a9[Z[m+28>>2]&0](m,Z[$>>2]|0,Z[T>>2]|0,0,17);if((y|0)<=1)break Z;z=Z[545794]|0,H=T0,y=k}}while(0);Z[543651]=0,T0=Z[X>>2]|0,Z[545797]=T0,Z[545803]=T0,EX(),q=V;return}function gO(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if(T=q,q=q+16|0,X=T+8|0,Y=T+4|0,Q=T,!(Z[545794]|0)){q=T;return}if(S4(X,Y,Q),W=Z[545794]|0,(Z[W+16>>2]|0)<=0){q=T;return}if(!$){U=W,S=0;do J=Z[(Z[U>>2]|0)+(Z[(Z[U+8>>2]|0)+(S<<2)>>2]<<2)>>2]|0,a9[Z[J+28>>2]&0](J,Z[X>>2]|0,Z[Y>>2]|0,Z[Q>>2]|0,V),S=S+1|0,U=Z[545794]|0;while((S|0)<(Z[U+16>>2]|0));q=T;return}U=W,W=0;while(!0){if(S=Z[(Z[U>>2]|0)+(Z[(Z[U+8>>2]|0)+(W<<2)>>2]<<2)>>2]|0,(Z[S>>2]|0)==($|0))a9[Z[S+28>>2]&0](S,Z[X>>2]|0,Z[Y>>2]|0,Z[Q>>2]|0,V),_=Z[545794]|0;else _=U;if(W=W+1|0,(W|0)>=(Z[_+16>>2]|0))break;else U=_}q=T;return}function iO(V){V=V|0;var $=0,T=0;if($=Z[545794]|0,(V|0)<0|($|0)==0)return T=0,T|0;if((Z[$+20>>2]|0)<=(V|0))return T=0,T|0;return T=Z[(Z[$>>2]|0)+(V<<2)>>2]|0,T|0}function tO(){var V=0,$=0,T=0,X=0,Y=0;if(V=Z[545794]|0,$=Z[V+16>>2]|0,($|0)<=0)return T=-1,T|0;X=Z[V>>2]|0,V=$;while(!0){if($=V,V=V+-1|0,Z[(Z[X+(V<<2)>>2]|0)+20>>2]&1|0){T=V,Y=5;break}if(($|0)<=1){T=-1,Y=5;break}}if((Y|0)==5)return T|0;return 0}function fO(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;Z[545804]=CW(512)|0,Z[545805]=CW(512)|0,V=0;do{$=(V|0)==0,T=$?8:32,X=0;do Y=h1(5,5,T)|0,Q=h1(6,5,T)|0,x3(Z[545804]|0,4,Y)|0,x3(Z[545805]|0,4,Q)|0,X=X+1|0;while((X|0)!=32);X=0;do{if(Q=h1(5,5,T)|0,Y=h1(6,5,T)|0,R8(Q),W=X*5|0,U=Q+16|0,S=Y+16|0,$){J=0;do{if(_=G[4064+(J+W)>>0]|0,_&16|0)N[Z[(Z[U>>2]|0)+(J<<2)>>2]>>0]=-1,N[Z[(Z[S>>2]|0)+(J<<2)>>2]>>0]=-1,N[(Z[(Z[S>>2]|0)+(J<<2)>>2]|0)+1>>0]=-1;if(_&8|0)N[(Z[(Z[U>>2]|0)+(J<<2)>>2]|0)+1>>0]=-1,N[(Z[(Z[S>>2]|0)+(J<<2)>>2]|0)+1>>0]=-1,N[(Z[(Z[S>>2]|0)+(J<<2)>>2]|0)+2>>0]=-1;if(_&4|0)N[(Z[(Z[U>>2]|0)+(J<<2)>>2]|0)+2>>0]=-1,N[(Z[(Z[S>>2]|0)+(J<<2)>>2]|0)+2>>0]=-1,N[(Z[(Z[S>>2]|0)+(J<<2)>>2]|0)+3>>0]=-1;if(_&2|0)N[(Z[(Z[U>>2]|0)+(J<<2)>>2]|0)+3>>0]=-1,N[(Z[(Z[S>>2]|0)+(J<<2)>>2]|0)+3>>0]=-1,N[(Z[(Z[S>>2]|0)+(J<<2)>>2]|0)+4>>0]=-1;if(_&1|0)N[(Z[(Z[U>>2]|0)+(J<<2)>>2]|0)+4>>0]=-1,N[(Z[(Z[S>>2]|0)+(J<<2)>>2]|0)+4>>0]=-1,N[(Z[(Z[S>>2]|0)+(J<<2)>>2]|0)+5>>0]=-1;J=J+1|0}while((J|0)!=5)}else{J=0;do{if(_=G[4064+(J+W)>>0]|0,_&16|0)Z[Z[(Z[U>>2]|0)+(J<<2)>>2]>>2]=-4144960,K=Z[(Z[S>>2]|0)+(J<<2)>>2]|0,Z[K>>2]=-1,Z[K+4>>2]=-1;if(_&8|0)Z[(Z[(Z[U>>2]|0)+(J<<2)>>2]|0)+4>>2]=-4144960,K=Z[(Z[S>>2]|0)+(J<<2)>>2]|0,Z[K+4>>2]=-1,Z[K+8>>2]=-1;if(_&4|0)Z[(Z[(Z[U>>2]|0)+(J<<2)>>2]|0)+8>>2]=-4144960,K=Z[(Z[S>>2]|0)+(J<<2)>>2]|0,Z[K+8>>2]=-1,Z[K+12>>2]=-1;if(_&2|0)Z[(Z[(Z[U>>2]|0)+(J<<2)>>2]|0)+12>>2]=-4144960,K=Z[(Z[S>>2]|0)+(J<<2)>>2]|0,Z[K+12>>2]=-1,Z[K+16>>2]=-1;if(_&1|0)Z[(Z[(Z[U>>2]|0)+(J<<2)>>2]|0)+16>>2]=-4144960,_=Z[(Z[S>>2]|0)+(J<<2)>>2]|0,Z[_+16>>2]=-1,Z[_+20>>2]=-1;J=J+1|0}while((J|0)!=5)}x3(Z[545804]|0,4,Q)|0,x3(Z[545805]|0,4,Y)|0,X=X+1|0}while((X|0)!=96);X=0;do $=h1(5,5,T)|0,J=h1(6,5,T)|0,x3(Z[545804]|0,4,$)|0,x3(Z[545805]|0,4,J)|0,X=X+1|0;while((X|0)!=128);V=V+1|0}while((V|0)!=2);return}function dO(){T$(Z[545804]|0),T$(Z[545805]|0);return}function K1(V,$,T,X,Y,Q,W){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0;var U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0;if(($|0)==0|(T|0)==0)return U=Y,U|0;if(S=Z[T+16>>2]|0,J=(S&255|0)==0,_=J?0:32,K=J?256:96,Q&8){if(P=N[$>>0]|0,!(P<<24>>24))O=1,L=0;else{F=P,P=0,z=$;while(!0){if(H=F<<24>>24,(_|0)>(H|0))C=P;else C=P+1+(Z[Z[(Z[T>>2]|0)+(H-_<<2)>>2]>>2]|0)|0;if(z=z+1|0,F=N[z>>0]|0,!(F<<24>>24)){O=1,L=C;break}else P=C}}if(C=L-O|0,O=Z[V+32>>2]|0,L=V+28|0,(C|0)>(O-X|0))Z[L>>2]=(Z[L>>2]|0)+15,A=1,y=O-C|0;else A=0,y=X}else A=0,y=X;if(!(Q&2))k=y;else{if(C=N[$>>0]|0,!(C<<24>>24))m=1,I=0;else{O=C,C=0,L=$;while(!0){if(P=O<<24>>24,(_|0)>(P|0))u=C;else u=C+1+(Z[Z[(Z[T>>2]|0)+(P-_<<2)>>2]>>2]|0)|0;if(L=L+1|0,O=N[L>>0]|0,!(O<<24>>24)){m=1,I=u;break}else C=u}}k=y-((I-m|0)/2|0)|0}if(!(Q&4))g=k;else{if(m=N[$>>0]|0,!(m<<24>>24))i=1,t=0;else{I=m,m=0,y=$;while(!0){if(u=I<<24>>24,(_|0)>(u|0))Y0=m;else Y0=m+1+(Z[Z[(Z[T>>2]|0)+(u-_<<2)>>2]>>2]|0)|0;if(y=y+1|0,I=N[y>>0]|0,!(I<<24>>24)){i=1,t=Y0;break}else m=Y0}}g=i+k-t|0}Z:do if(!(Q&1)){t=Z[T>>2]|0,k=Z[V+8>>2]|0,i=Q,Y0=0;while(!0){if((Z[(Z[t+(Y0<<2)>>2]|0)+8>>2]|0)==(k|0)){X0=i,T0=Y0,Z0=0;break Z}if(m=Y0+K|0,I=(m|0)<(S|0),y=i|(I^1)&1,u=I?m:Y0,!(y&1))i=y,Y0=u;else{X0=y,T0=u,Z0=1;break}}}else X0=Q,T0=0,Z0=1;while(0);if(Q=N[$>>0]|0,Q<<24>>24)if(S=J?256:128,J=T0-_|0,T0=(X0&16|0)==0,X0=V+32|0,Z0){Z0=Q,K=0,Y0=$,i=g,k=Y;while(!0){if(t=Z0&255,_>>>0<=t>>>0&S>>>0>t>>>0)u=Z[(Z[T>>2]|0)+(J+t<<2)>>2]|0,t=u+4|0,IJ(u,V,0,0,i,k,Z[u>>2]|0,Z[t>>2]|0,W,0),y=1+(Z[u>>2]|0)|0,u=Z[t>>2]|0,W0=N[Y0>>0]|0,O0=y,y0=(K|0)>(u|0)?K:u,E0=y+i|0;else W0=Z0,O0=0,y0=K,E0=i;if(W0<<24>>24!=10)if(!T0?(E0|0)>((Z[X0>>2]|0)-O0|0):0)H0=37;else D0=y0,_0=E0,F0=k;else H0=37;if((H0|0)==37)H0=0,D0=0,_0=X,F0=y0+k+1|0;if(Y0=Y0+1|0,Z0=N[Y0>>0]|0,!(Z0<<24>>24)){k0=F0;break}else K=D0,i=_0,k=F0}}else{F0=Q,Q=0,k=$,$=g,g=Y;while(!0){if(_0=F0&255,_>>>0<=_0>>>0&S>>>0>_0>>>0)i=Z[(Z[T>>2]|0)+(J+_0<<2)>>2]|0,_0=i+4|0,M9(i,V,0,0,$,g,Z[i>>2]|0,Z[_0>>2]|0),D0=1+(Z[i>>2]|0)|0,i=Z[_0>>2]|0,m0=N[k>>0]|0,B0=D0,g0=(Q|0)>(i|0)?Q:i,o0=D0+$|0;else m0=F0,B0=0,g0=Q,o0=$;if(m0<<24>>24!=10)if(!T0?(o0|0)>((Z[X0>>2]|0)-B0|0):0)H0=44;else h0=g0,C0=o0,u0=g;else H0=44;if((H0|0)==44)H0=0,h0=0,C0=X,u0=g0+g+1|0;if(k=k+1|0,F0=N[k>>0]|0,!(F0<<24>>24)){k0=u0;break}else Q=h0,$=C0,g=u0}}else k0=Y;if(!A)return U=k0,U|0;else return U=V+28|0,A=(Z[U>>2]|0)+-15|0,Z[U>>2]=A,K1(V,95214,Z[545804]|0,A,k0,0,0)|0,k0|0;return 0}function bO(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,K1(V,$,T,X,Y,0,0)|0;return}function eO(V){V=V|0,Z[545806]=V;return}function aO(V){V=V|0,Z[545807]=V;return}function HW(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0;switch(Z[X>>2]|0){case 0:return Y=g8(V,$,T,Z[X+8>>2]|0)|0,Y|0;case 1:return Q=B(T,$)|0,$=X+20|0,T=Z[$>>2]|0,W=(Z[X+16>>2]|0)-T|0,U=(Q|0)<(W|0)?Q:W,W=(U|0)>0?U:0,q6(V|0,(Z[X+12>>2]|0)+T|0,W|0)|0,Z[$>>2]=W+(Z[$>>2]|0),Y=W,Y|0;default:return Y=0,Y|0}return 0}function K7(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0;switch(T=q,q=q+16|0,X=T,Z[X>>2]=V,Z[$>>2]|0){case 0:{Y=$+20|0,Z[Y>>2]=(Z[Y>>2]|0)+1,Y=$+16|0,Z[Y>>2]=(Z[Y>>2]|0)+1,C2(X,4,1,Z[$+8>>2]|0)|0,q=T;return}case 1:{if(X=$+20|0,Z[$+88>>2]|0)k4($,(Z[X>>2]|0)+4|0)|0;Y=(Z[$+12>>2]|0)+(Z[X>>2]|0)|0,N[Y>>0]=V,N[Y+1>>0]=V>>8,N[Y+2>>0]=V>>16,N[Y+3>>0]=V>>24,V=(Z[X>>2]|0)+4|0,Z[X>>2]=V,X=$+16|0,$=Z[X>>2]|0,Z[X>>2]=($|0)>(V|0)?$:V,q=T;return}default:{q=T;return}}}function a7(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0;switch(Z[X>>2]|0){case 0:return Y=X+20|0,Z[Y>>2]=(Z[Y>>2]|0)+T,Y=X+16|0,Z[Y>>2]=(Z[Y>>2]|0)+T,Q=C2(V,$,T,Z[X+8>>2]|0)|0,Q|0;case 1:{Y=B(T,$)|0;do if(Z[X+88>>2]|0)if($=X+20|0,k4(X,(Z[$>>2]|0)+Y|0)|0,T=(Z[X+12>>2]|0)+(Z[$>>2]|0)|0,!V){C1(T,0,Y),W=$;break}else{q6(T|0,V|0,Y|0)|0,W=$;break}else $=X+20|0,q6((Z[X+12>>2]|0)+(Z[$>>2]|0)|0,V|0,Y|0)|0,W=$;while(0);return V=(Z[W>>2]|0)+Y|0,Z[W>>2]=V,W=X+16|0,X=Z[W>>2]|0,Z[W>>2]=(X|0)>(V|0)?X:V,Q=Y,Q|0}default:return Q=0,Q|0}return 0}function xW(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0;switch(T=q,q=q+16|0,X=T,Z[X>>2]=V,Z[$>>2]|0){case 0:{Y=$+20|0,Z[Y>>2]=(Z[Y>>2]|0)+1,Y=$+16|0,Z[Y>>2]=(Z[Y>>2]|0)+1,C2(X,4,1,Z[$+8>>2]|0)|0,q=T;return}case 1:{if(X=$+20|0,Z[$+88>>2]|0)k4($,(Z[X>>2]|0)+4|0)|0;Y=(Z[$+12>>2]|0)+(Z[X>>2]|0)|0,N[Y>>0]=V,N[Y+1>>0]=V>>8,N[Y+2>>0]=V>>16,N[Y+3>>0]=V>>24,V=(Z[X>>2]|0)+4|0,Z[X>>2]=V,X=$+16|0,$=Z[X>>2]|0,Z[X>>2]=($|0)>(V|0)?$:V,q=T;return}default:{q=T;return}}}function kY(V,$){V=V|0,$=$|0;var T=0;switch(Z[$>>2]|0){case 0:{T=$+20|0,Z[T>>2]=(Z[T>>2]|0)+1,T=$+16|0,Z[T>>2]=(Z[T>>2]|0)+1,UZ(V<<24>>24,Z[$+8>>2]|0)|0;return}case 1:{if(T=$+20|0,Z[$+88>>2]|0)k4($,(Z[T>>2]|0)+1|0)|0;N[(Z[$+12>>2]|0)+(Z[T>>2]|0)>>0]=V,V=(Z[T>>2]|0)+1|0,Z[T>>2]=V,T=$+16|0,$=Z[T>>2]|0,Z[T>>2]=($|0)>(V|0)?$:V;return}default:return}}function qJ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0;switch(T=q,q=q+16|0,X=T,j[X>>1]=V,Z[$>>2]|0){case 0:{Y=$+20|0,Z[Y>>2]=(Z[Y>>2]|0)+1,Y=$+16|0,Z[Y>>2]=(Z[Y>>2]|0)+1,C2(X,2,1,Z[$+8>>2]|0)|0,q=T;return}case 1:{if(X=$+20|0,Z[$+88>>2]|0)k4($,(Z[X>>2]|0)+2|0)|0;Y=(Z[$+12>>2]|0)+(Z[X>>2]|0)|0,N[Y>>0]=V,N[Y+1>>0]=V>>8,V=(Z[X>>2]|0)+2|0,Z[X>>2]=V,X=$+16|0,$=Z[X>>2]|0,Z[X>>2]=($|0)>(V|0)?$:V,q=T;return}default:{q=T;return}}}function cO(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if($=V+112|0,T=Z[$>>2]|0,(T|0)<2)return X=0,X|0;if(Y=V+8|0,V=Z[Y>>2]|0,Q=0-T|0,W=V+(Q<<3)|0,(Z[V+(Q<<3)+4>>2]|0)!=3)if(Q=e2(W)|0,V=Z[$>>2]|0,(V|0)>1)U=V,S=Q,J=5;else _=0,K=Q;else U=T,S=Z[W>>2]|0,J=5;do if((J|0)==5)if(W=(Z[Y>>2]|0)+(0-U<<3)+8|0,(Z[W+4>>2]|0)==3){_=Z[W>>2]|0,K=S;break}else{_=e2(W)|0,K=S;break}while(0);if(S=K-(Z[768163]<<16)|0,K=S>>16,U=_-(Z[768164]<<16)|0,_=U>>16,N[3100894]&16?(U|0)>8388607|((S|0)>8388607|(U|S|0)<0):0)return X=(d8(2921764,Z[769129]|0,24411)|0)<<16,X|0;return X=(r3(Z[730449]|0,K,_)|0)<<16&983040,X|0}function ZG(V){V=V|0;var $=0,T=0,X=0;if($=Z[768155]|0,!(b8(V)|0))Z[768155]=6;if(((b8(V)|0)>=1?(T=J8(V,1,0)|0,Z[768155]=T>>>16&255,!((T&268435456|0)==0|(Z[768176]|0)!=1)):0)?(X=T>>>8&65536|T&65535,Z[768171]=X,T&33554432|0):0)Z[768171]=X|131072;return G1(V,$<<16),1}function VG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;if($=Z[768156]|0,T=Z[768157]|0,X=Z[768155]|0,Y=(J8(V,1,0)|0)>>16,Q=(J8(V,2,0)|0)>>16,Z[768156]=Y,Z[768158]=Y,Z[768157]=Q,((b8(V)|0)>=3?(Q=J8(V,3,0)|0,Z[768155]=Q>>>16&255,!((Q&268435456|0)==0|(Z[768176]|0)!=1)):0)?(Y=Q>>>8&65536|Q&65535,Z[768171]=Y,Q&33554432|0):0)Z[768171]=Y|131072;return G1(V,$<<16),G1(V,T<<16),G1(V,X<<16),3}function $G(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;if($=q,q=q+16|0,T=$,X=$+8|0,Y=$+4|0,Z[X>>2]=0,Q=a5(V,1)|0,Z[Y>>2]=0,(b8(V)|0)>1)W=(J8(V,2,0)|0)>>16;else W=0;switch(Q|0){case 3:return Q=J8(V,1,0)|0,Z[X>>2]=Q,G1(V,Q),U=1,q=$,U|0;case 1:return Q=(j3(V,1)|0)==0,G1(V,Q?0:(W&2|0)==0?65536:1),U=1,q=$,U|0;case 4:{z2(2),Z[Y>>2]=1;Z:do if(!(W&3))S=18;else{if(Q=w7(V,1,0)|0,J=N[Q>>0]|0,!(J<<24>>24))_=0;else{K=J,J=Q,Q=0;while(!0){P=Q<<4,O=K<<24>>24;do if((K+-48&255)>=10)if((K+-97&255)<6){L=O+-87|0;break}else{L=(K+-65&255)<6?O+-55|0:0;break}else L=O+-48|0;while(0);if(O=L|P,J=J+1|0,K=N[J>>0]|0,!(K<<24>>24)){_=O;break}else Q=O}}switch(W&3){case 3:{Z[X>>2]=_,S=23;break Z}case 1:{Z[X>>2]=_<<16,S=23;break Z}default:{S=18;break Z}}}while(0);do if((S|0)==18){if(!(W&2))if(Z[Y>>2]=0,Z[X>>2]=J8(V,1,Y)|0,_=Z[Y>>2]|0,(W&4|0)==0|(_|0)!=0)F=_;else{Z[X>>2]=0,Z[Y>>2]=1,z=0;break}else _=w7(V,1,0)|0,Z[T>>2]=X,a8(_,93171,T)|0,F=Z[Y>>2]|0;if(!F)return U=0,q=$,U|0;else S=23}while(0);if((S|0)==23)z=Z[X>>2]|0;return G1(V,z),U=1,q=$,U|0}default:return U=0,q=$,U|0}return 0}function TG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0;if($=q,q=q+80|0,T=$+72|0,X=$+68|0,Y=$+16|0,Q=$+12|0,W=$+8|0,U=$+4|0,S=$,J=b8(V)|0,_=(J8(V,1,0)|0)>>16,K=J8(V,2,0)|0,P=J8(V,3,0)|0,_>>>0>255)return q=$,0;if((J|0)>3)if(O=J8(V,4,0)|0,L=J8(V,5,0)|0,(J|0)>5)J=j3(V,6)|0,F=J,z=j3(V,7)|0,H=L,C=O;else F=0,z=0,H=L,C=O;else F=0,z=0,H=65536,C=65536;if(O=C>>13,L=H>>13,(C|0)<8192|(H|0)<8192)return q=$,0;H=(O|0)<128?O:128,O=(L|0)<128?L:128,L=K-(Z[768163]<<16)>>16,K=P-(Z[768164]<<16)>>16,P=Z[543088]|0;do if(!P)A=10;else{if((Z[P>>2]|0)==(H|0)?(Z[P+4>>2]|0)==(O|0):0){y=O,k=H,m=P;break}P5(P)|0,A=10}while(0);if((A|0)==10)A=h1(H,O,8)|0,Z[543088]=A,y=Z[A+4>>2]|0,k=Z[A>>2]|0,m=A;if(C1(Z[m+12>>2]|0,16,B(y,k)|0),jJ(Z[(Z[769129]|0)+8>>2]|0,Z[543088]|0,_<<3&120,_>>>4<<3,0,0,H,O,F,z,3072412),kJ(Z[543088]|0,Z[730449]|0,0,0,L,K,H,O),Z[T>>2]=H,Z[X>>2]=O,Z[Q>>2]=0,Z[W>>2]=0,Z[U>>2]=L,Z[S>>2]=K,K=0-H|0,(H|0)<0)Z[Q>>2]=H,Z[T>>2]=K,I=K;else I=H;if(H=0-O|0,(O|0)<0)Z[W>>2]=O,Z[X>>2]=H,u=H;else u=O;return Z[Y>>2]=I,Z[Y+4>>2]=u,$$(Y,Z[730449]|0,Q,W,U,S,T,X),S=Z[T>>2]|0,T=Z[X>>2]|0,X=B(T,S)|0,z2((T|S|0)<0?0:X),q=$,0}function XG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0;if($=q,q=q+80|0,T=$+72|0,X=$+68|0,Y=$+16|0,Q=$+12|0,W=$+8|0,U=$+4|0,S=$,J=b8(V)|0,_=(J8(V,1,0)|0)>>16,K=(J8(V,2,0)|0)>>16,P=J8(V,3,0)|0,O=P>>16,L=J8(V,4,0)|0,F=L>>16,z=J8(V,5,0)|0,H=J8(V,6,0)|0,(J|0)>6)if(C=(J8(V,7,0)|0)>>16,A=(J8(V,8,0)|0)>>16,(J|0)>8)if(y=j3(V,9)|0,(J|0)==9)k=y,m=0,I=A,u=C;else k=y,m=j3(V,10)|0,I=A,u=C;else k=0,m=0,I=A,u=C;else k=0,m=0,I=F,u=O;if((L+-65536|P+-65536)>>>0>8388607)return q=$,0;if((u|0)==0|(I|0)==0)return q=$,0;P=(u|0)<0,L=(z-(Z[768163]<<16)>>16)+(P?u:0)|0,z=P?0-u|0:u,u=P?(k|0)==0&1:k,k=(I|0)<0,P=(H-(Z[768164]<<16)>>16)+(k?I:0)|0,H=k?0-I|0:I,I=k?(m|0)==0&1:m,m=Z[543087]|0;do if(!m)g=11;else{if((Z[m>>2]|0)==(O|0)?(Z[m+4>>2]|0)==(F|0):0){i=F,t=O,Y0=m;break}P5(m)|0,g=11}while(0);if((g|0)==11)g=h1(O,F,8)|0,Z[543087]=g,i=Z[g+4>>2]|0,t=Z[g>>2]|0,Y0=g;if(C1(Z[Y0+12>>2]|0,16,B(i,t)|0),jJ(Z[(Z[769129]|0)+8>>2]|0,Z[543087]|0,_,K,0,0,O,F,u,I,3072412),IM(Z[543087]|0,Z[730449]|0,L,P,z,H),Z[T>>2]=z,Z[X>>2]=H,Z[Q>>2]=0,Z[W>>2]=0,Z[U>>2]=L,Z[S>>2]=P,P=0-z|0,(z|0)<0)Z[Q>>2]=z,Z[T>>2]=P,X0=P;else X0=z;if(z=0-H|0,(H|0)<0)Z[W>>2]=H,Z[X>>2]=z,T0=z;else T0=H;return Z[Y>>2]=X0,Z[Y+4>>2]=T0,$$(Y,Z[730449]|0,Q,W,U,S,T,X),S=Z[T>>2]|0,T=Z[X>>2]|0,X=B(T,S)|0,z2((T|S|0)<0?0:X),q=$,0}function YG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0;if($=V+112|0,T=Z[$>>2]|0,(T|0)>0){if(X=V+8|0,V=Z[X>>2]|0,Y=0-T|0,Q=V+(Y<<3)|0,(Z[V+(Y<<3)+4>>2]|0)==3)W=T,U=Z[Q>>2]|0;else T=e2(Q)|0,W=Z[$>>2]|0,U=T;if((W|0)>1){if(T=(Z[X>>2]|0)+(0-W<<3)+8|0,(Z[T+4>>2]|0)==3)S=W,J=Z[T>>2]|0;else W=e2(T)|0,S=Z[$>>2]|0,J=W;if((S|0)>2){if(W=(Z[X>>2]|0)+(0-S<<3)+16|0,(Z[W+4>>2]|0)==3)_=S,K=Z[W>>2]|0;else S=e2(W)|0,_=Z[$>>2]|0,K=S;if((_|0)>3){if(S=(Z[X>>2]|0)+(0-_<<3)+24|0,(Z[S+4>>2]|0)==3)P=_,O=Z[S>>2]|0;else _=e2(S)|0,P=Z[$>>2]|0,O=_;if((P|0)>=5){if(_=(Z[X>>2]|0)+(0-P<<3)+40+-8|0,(Z[_+4>>2]|0)==3)L=Z[_>>2]|0;else L=e2(_)|0;if(_=L>>>16&255,Z[768155]=_,!((L&268435456|0)==0|(Z[768176]|0)!=1)?(P=L>>>8&65536|L&65535,Z[768171]=P,(L&33554432|0)!=0):0)Z[768171]=P|131072,F=_,z=U,H=J,C=K,A=O;else F=_,z=U,H=J,C=K,A=O}else F=Z[768155]&255,z=U,H=J,C=K,A=O}else y=U,k=J,m=K,I=17}else y=U,k=J,m=0,I=17}else y=U,k=0,m=0,I=17}else y=0,k=0,m=0,I=17;if((I|0)==17)F=Z[768155]&255,z=y,H=k,C=m,A=0;if(m=Z[3072412+((F&15)<<2)>>2]&15,!(Z[768171]&262144))u=Z[3072412+(F>>>4<<2)>>2]<<4&240|m;else u=Z[3072540+(m<<2)>>2]|0;if(m=Z[768163]<<16,F=z-m>>16,z=Z[768164]<<16,k=H-z>>16,H=C-m>>16,m=A-z>>16,z=j9(Z[730449]|0,F,H,k,u)|0,(m|0)==(k|0))g=z;else g=(j9(Z[730449]|0,F,H,m,u)|0)+z|0;if(z=(m|0)<(k|0),A=z?m:k,C=z?k:m,(C|0)<=(A|0))return i=g,t=(i|0)/16|0,z2(t),0;return m=A+1|0,A=C+-1|0,C=(gX(Z[730449]|0,F,m,A,u)|0)+g|0,i=C+(gX(Z[730449]|0,H,m,A,u)|0)|0,t=(i|0)/16|0,z2(t),0}function QG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0;if($=V+112|0,T=Z[$>>2]|0,(T|0)>0){if(X=V+8|0,V=Z[X>>2]|0,Y=0-T|0,Q=V+(Y<<3)|0,(Z[V+(Y<<3)+4>>2]|0)==3)W=T,U=Z[Q>>2]|0;else T=e2(Q)|0,W=Z[$>>2]|0,U=T;if((W|0)>1){if(T=(Z[X>>2]|0)+(0-W<<3)+8|0,(Z[T+4>>2]|0)==3)S=W,J=Z[T>>2]|0;else W=e2(T)|0,S=Z[$>>2]|0,J=W;if((S|0)>2){if(W=(Z[X>>2]|0)+(0-S<<3)+16|0,(Z[W+4>>2]|0)==3)_=S,K=Z[W>>2]|0;else S=e2(W)|0,_=Z[$>>2]|0,K=S;if((_|0)>3){if(S=(Z[X>>2]|0)+(0-_<<3)+24|0,(Z[S+4>>2]|0)==3)P=_,O=Z[S>>2]|0;else _=e2(S)|0,P=Z[$>>2]|0,O=_;if((P|0)>=5){if(_=(Z[X>>2]|0)+(0-P<<3)+40+-8|0,(Z[_+4>>2]|0)==3)L=Z[_>>2]|0;else L=e2(_)|0;if(_=L>>>16&255,Z[768155]=_,!((L&268435456|0)==0|(Z[768176]|0)!=1)?(P=L>>>8&65536|L&65535,Z[768171]=P,(L&33554432|0)!=0):0)Z[768171]=P|131072,F=_,z=O,H=U,C=J,A=K;else F=_,z=O,H=U,C=J,A=K}else F=Z[768155]&255,z=O,H=U,C=J,A=K}else y=U,k=J,m=K,I=17}else y=U,k=J,m=0,I=17}else y=U,k=0,m=0,I=17}else y=0,k=0,m=0,I=17;if((I|0)==17)F=Z[768155]&255,z=0,H=y,C=k,A=m;if(m=Z[3072412+((F&15)<<2)>>2]&15,!(Z[768171]&262144))u=Z[3072412+(F>>>4<<2)>>2]<<4&240|m;else u=Z[3072540+(m<<2)>>2]|0;if(m=Z[768163]<<16,F=H-m>>16,H=Z[768164]<<16,k=C-H>>16,C=A-m>>16,m=z-H>>16,H=(C|0)<(F|0),z=H?C:F,A=H?F:C,C=(m|0)<(k|0),F=C?m:k,H=C?k:m,m=Z[730449]|0,k=Z[m+28>>2]|0,C=(z|0)>(k|0)?z:k,k=(Z[m+32>>2]|0)+-1|0,z=(A|0)<(k|0)?A:k,k=Z[m+36>>2]|0,A=(F|0)>(k|0)?F:k,k=(Z[m+40>>2]|0)+-1|0,F=(H|0)<(k|0)?H:k,(z|0)<(C|0)|(F|0)<(A|0))return 0;if((z-C|0)<8&(F-A|0)>4)if(k=gX(m,C,A,F,u)|0,(z|0)>(C|0)){H=k,y=C;while(!0)if(y=y+1|0,I=(gX(Z[730449]|0,y,A,F,u)|0)+H|0,(y|0)>=(z|0)){g=I;break}else H=I}else g=k;else if(k=j9(m,C,z,A,u)|0,(F|0)>(A|0)){m=k,H=A;while(!0)if(H=H+1|0,A=(j9(Z[730449]|0,C,z,H,u)|0)+m|0,(H|0)>=(F|0)){g=A;break}else m=A}else g=k;return z2((g|0)/16|0),0}function WG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if($=b8(V)|0,($|0)<2)return 0;if(T=J8(V,1,0)|0,X=J8(V,2,0)|0,($|0)!=2)if($=J8(V,3,0)|0,($|0)<0)return 0;else Y=(N[3100894]&2)==0?0:$>>>15&1,Q=$>>16;else Y=0,Q=4;if($=Z[768155]&255,(b8(V)|0)>=4)if(W=J8(V,4,0)|0,V=W>>>16&255,Z[768155]=V,!((W&268435456|0)==0|(Z[768176]|0)!=1)?(U=W>>>8&65536|W&65535,Z[768171]=U,(W&33554432|0)!=0):0)Z[768171]=U|131072,S=V;else S=V;else S=$;if($=Z[3072412+((S&15)<<2)>>2]&15,!(Z[768171]&262144))J=Z[3072412+(S>>>4<<2)>>2]<<4&240|$;else J=Z[3072540+($<<2)>>2]|0;return $=T-(Z[768163]<<16)>>16,T=X-(Z[768164]<<16)>>16,X=Q+Y|0,z2((mJ(Z[730449]|0,$-Q|0,T-Q|0,X+$|0,X+T|0,J)|0)/2|0),0}function NG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if($=b8(V)|0,($|0)<2)return 0;T=J8(V,1,0)|0,X=J8(V,2,0)|0;do if(($|0)!=2)if(Y=J8(V,3,0)|0,(Y|0)<0)return 0;else{Q=(N[3100894]&2)==0?0:Y>>>15&1,W=Y>>>16;break}else Q=0,W=4;while(0);if($=Z[768155]&255,(b8(V)|0)>=4)if(Y=J8(V,4,0)|0,V=Y>>>16&255,Z[768155]=V,!((Y&268435456|0)==0|(Z[768176]|0)!=1)?(U=Y>>>8&65536|Y&65535,Z[768171]=U,(Y&33554432|0)!=0):0)Z[768171]=U|131072,S=V;else S=V;else S=$;if($=Z[3072412+((S&15)<<2)>>2]&15,!(Z[768171]&262144))J=Z[3072412+(S>>>4<<2)>>2]<<4&240|$;else J=Z[3072540+($<<2)>>2]|0;return $=T-(Z[768163]<<16)>>16,T=X-(Z[768164]<<16)>>16,X=Q+W|0,z2((uJ(Z[730449]|0,$-W|0,T-W|0,X+$|0,X+T|0,J)|0)/16|0),0}function UG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if(b8(V)|0,$=J8(V,1,0)|0,T=J8(V,2,0)|0,X=J8(V,3,0)|0,Y=J8(V,4,0)|0,Q=Z[768155]&255,(b8(V)|0)>=5)if(W=J8(V,5,0)|0,V=W>>>16&255,Z[768155]=V,!((W&268435456|0)==0|(Z[768176]|0)!=1)?(U=W>>>8&65536|W&65535,Z[768171]=U,(W&33554432|0)!=0):0)Z[768171]=U|131072,S=V;else S=V;else S=Q;if(Q=Z[3072412+((S&15)<<2)>>2]&15,!(Z[768171]&262144))J=Z[3072412+(S>>>4<<2)>>2]<<4&240|Q;else J=Z[3072540+(Q<<2)>>2]|0;return Q=Z[768163]<<16,S=$-Q>>16,$=Z[768164]<<16,V=T-$>>16,T=X-Q>>16,Q=Y-$>>16,$=(T|0)<(S|0),Y=(Q|0)<(V|0),z2((mJ(Z[730449]|0,$?T:S,Y?Q:V,$?S:T,Y?V:Q,J)|0)/2|0),0}function JG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if(b8(V)|0,$=J8(V,1,0)|0,T=J8(V,2,0)|0,X=J8(V,3,0)|0,Y=J8(V,4,0)|0,Q=Z[768155]&255,(b8(V)|0)>=5)if(W=J8(V,5,0)|0,V=W>>>16&255,Z[768155]=V,!((W&268435456|0)==0|(Z[768176]|0)!=1)?(U=W>>>8&65536|W&65535,Z[768171]=U,(W&33554432|0)!=0):0)Z[768171]=U|131072,S=V;else S=V;else S=Q;if(Q=Z[3072412+((S&15)<<2)>>2]&15,!(Z[768171]&262144))J=Z[3072412+(S>>>4<<2)>>2]<<4&240|Q;else J=Z[3072540+(Q<<2)>>2]|0;return Q=Z[768163]<<16,S=$-Q>>16,$=Z[768164]<<16,V=T-$>>16,T=X-Q>>16,Q=Y-$>>16,$=(T|0)<(S|0),Y=(Q|0)<(V|0),z2((uJ(Z[730449]|0,$?T:S,Y?Q:V,$?S:T,Y?V:Q,J)|0)/16|0),0}function SG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if($=(J8(V,1,0)|0)>>16,T=(J8(V,2,0)|0)>>16,!(b8(V)|0))return Z[768174]=1,0;if((b8(V)|0)==1){if(Z[768174]=1,(b8(V)|0)<1)return 0;if(X=J8(V,1,0)|0,Z[768155]=X>>>16&255,(X&268435456|0)==0|(Z[768176]|0)!=1)return 0;if(Y=X>>>8&65536|X&65535,Z[768171]=Y,!(X&33554432))return 0;return Z[768171]=Y|131072,0}do if((b8(V)|0)<4){if((((b8(V)|0)==3?(b8(V)|0)>=3:0)?(Y=J8(V,3,0)|0,Z[768155]=Y>>>16&255,!((Y&268435456|0)==0|(Z[768176]|0)!=1)):0)?(X=Y>>>8&65536|Y&65535,Z[768171]=X,Y&33554432|0):0)Z[768171]=X|131072;if(!(Z[768174]&1)){X=Z[768172]|0,Y=Z[768173]|0,Z[768172]=$,Z[768173]=T,Q=X,W=Y;break}return Z[768172]=$,Z[768173]=T,Z[768174]=0,0}else Y=(J8(V,3,0)|0)>>16,X=(J8(V,4,0)|0)>>16,Z[768172]=Y,Z[768173]=X,Z[768174]=0,Q=Y,W=X;while(0);if(X=Z[768155]&255,(b8(V)|0)>=5)if(Y=J8(V,5,0)|0,V=Y>>>16&255,Z[768155]=V,!((Y&268435456|0)==0|(Z[768176]|0)!=1)?(U=Y>>>8&65536|Y&65535,Z[768171]=U,(Y&33554432|0)!=0):0)Z[768171]=U|131072,S=V;else S=V;else S=X;if(X=Z[3072412+((S&15)<<2)>>2]&15,!(Z[768171]&262144))J=Z[3072412+(S>>>4<<2)>>2]<<4&240|X;else J=Z[3072540+(X<<2)>>2]|0;if(X=Z[768163]|0,S=$-X<<16>>16,$=Z[768164]|0,V=T-$<<16>>16,T=Q-X<<16>>16,X=W-$<<16>>16,(S|0)==(T|0))return z2((gX(Z[730449]|0,S,V,X,J)|0)/16|0),0;if($=Z[730449]|0,(V|0)==(X|0))return z2((j9($,S,T,V,J)|0)/16|0),0;else return z2((pM($,S,V,T,X,J)|0)/2|0),0;return 0}function RG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;if($=Z[768177]|0,T=($|0)==0?13:$,(b8(V)|0)==1)Z[768177]=(J8(V,1,0)|0)>>16;if((b8(V)|0)<2)return G1(V,T<<16),X=1,X|0;if($=J8(V,1,0)|0,Y=J8(V,2,0)|0,Q=J8(V,3,0)|0,W=J8(V,4,0)|0,(b8(V)|0)>4)U=J8(V,5,0)|0;else U=0;if((b8(V)|0)>5)S=J8(V,6,0)|0;else S=0;if((b8(V)|0)>6)J=J8(V,7,0)|0;else J=8192;if((b8(V)|0)>7)_=J8(V,8,0)|0;else _=0;if((b8(V)|0)>8)K=(J8(V,9,0)|0)>>16;else K=0;return V=Z[768163]<<16,P=Z[768164]<<16,z2((mM(Z[730449]|0,$-V|0,Y-P|0,Q-V|0,W-P|0,U,S,J,_,K,T)|0)<<1),X=0,X|0}function _G(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if($=b8(V)|0,(a5(V,1)|0)==5){if(($|0)>1)T=(J8(V,2,0)|0)>>16;else T=0;if(v4(V),!(W$(V,1)|0))return X=0,X|0;switch(T|0){case 0:{do{if((a5(V,-2)|0)==3)Y=zX(V,-2,0)|0,Q=zX(V,-1,0)|0,W=3072412+((Y&15)<<2)|0,Z[W>>2]=Z[W>>2]&16|Q&15;QY(V,-2),z2(2)}while((W$(V,1)|0)!=0);return X=0,X|0}case 1:{do{if((a5(V,-2)|0)==3?(Q=zX(V,-2,0)|0,W=zX(V,-1,0)|0,Z[3072476+((Q&15)<<2)>>2]=W&255,W&128|0):0)vW();QY(V,-2),z2(2)}while((W$(V,1)|0)!=0);return X=0,X|0}default:{W=(T|0)==2;do{if((a5(V,-2)|0)==3?(T=zX(V,-2,0)|0,Q=zX(V,-1,0)|0,W):0)Z[3072540+((T&15)<<2)>>2]=Q&255;QY(V,-2),z2(2)}while((W$(V,1)|0)!=0);return X=0,X|0}}}if(($|0)>=2){switch(W=(J8(V,1,0)|0)>>>16,Q=J8(V,2,0)|0,T=Q>>16,Y=(J8(V,3,0)|0)>>16,U=W&15,W=T&255,Y|0){case 0:{S=3072412+(U<<2)|0,J=Z[S>>2]|0,Z[S>>2]=J&16|T&15,_=J;break}case 1:{if(J=3072476+(U<<2)|0,T=Z[J>>2]|0,Z[J>>2]=W,!(Q&8388608))_=T;else vW(),_=T;break}case 2:{T=3072540+(U<<2)|0,U=Z[T>>2]|0,Z[T>>2]=W,_=U;break}default:_=0}return U=_<<16,G1(V,(Y|0)==0?U&-1114112:U),X=1,X|0}do if(($|0)==1?(a5(V,1)|0)==3:0){if(U=(J8(V,1,0)|0)>>16,(U+1|0)>>>0<2){if(Z[768103]=0,(U|0)==-1){K=37;break}Z[768104]=1,Z[768105]=2,Z[768106]=3,Z[768107]=4,Z[768108]=5,Z[768109]=6,Z[768110]=7,Z[768111]=8,Z[768112]=9,Z[768113]=10,Z[768114]=11,Z[768115]=12,Z[768116]=13,Z[768117]=14,Z[768118]=15;break}switch(U|0){case-1:return Z[768119]=0,Z[768135]=0,Z[768120]=1,Z[768136]=1,Z[768121]=2,Z[768137]=18,Z[768122]=3,Z[768138]=19,Z[768123]=4,Z[768139]=36,Z[768124]=5,Z[768140]=21,Z[768125]=6,Z[768141]=214,Z[768126]=7,Z[768142]=103,Z[768127]=8,Z[768143]=72,Z[768128]=9,Z[768144]=73,Z[768129]=10,Z[768145]=154,Z[768130]=11,Z[768146]=59,Z[768131]=12,Z[768147]=220,Z[768132]=13,Z[768148]=93,Z[768133]=14,Z[768149]=142,Z[768134]=15,Z[768150]=239,X=0,X|0;case 1:return Z[768119]=0,Z[768120]=1,Z[768121]=2,Z[768122]=3,Z[768123]=4,Z[768124]=5,Z[768125]=6,Z[768126]=7,Z[768127]=8,Z[768128]=9,Z[768129]=10,Z[768130]=11,Z[768131]=12,Z[768132]=13,Z[768133]=14,Z[768134]=15,X=0,X|0;case 2:return Z[768135]=0,Z[768136]=1,Z[768137]=18,Z[768138]=19,Z[768139]=36,Z[768140]=21,Z[768141]=214,Z[768142]=103,Z[768143]=72,Z[768144]=73,Z[768145]=154,Z[768146]=59,Z[768147]=220,Z[768148]=93,Z[768149]=142,Z[768150]=239,X=0,X|0;default:return X=0,X|0}}else K=23;while(0);if((K|0)==23)Z[768103]=0,K=37;if((K|0)==37)Z[768119]=0,Z[768135]=0,Z[768104]=1,Z[768120]=1,Z[768136]=1,Z[768105]=2,Z[768121]=2,Z[768137]=18,Z[768106]=3,Z[768122]=3,Z[768138]=19,Z[768107]=4,Z[768123]=4,Z[768139]=36,Z[768108]=5,Z[768124]=5,Z[768140]=21,Z[768109]=6,Z[768125]=6,Z[768141]=214,Z[768110]=7,Z[768126]=7,Z[768142]=103,Z[768111]=8,Z[768127]=8,Z[768143]=72,Z[768112]=9,Z[768128]=9,Z[768144]=73,Z[768113]=10,Z[768129]=10,Z[768145]=154,Z[768114]=11,Z[768130]=11,Z[768146]=59,Z[768115]=12,Z[768131]=12,Z[768147]=220,Z[768116]=13,Z[768132]=13,Z[768148]=93,Z[768117]=14,Z[768133]=14,Z[768149]=142,Z[768118]=15,Z[768134]=15,Z[768150]=239;return Z[768103]=16,X=0,X|0}function KG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0;if($=b8(V)|0,T=Z[768103]|0,X=Z[768104]|0,Y=Z[768105]|0,Q=Z[768106]|0,W=Z[768107]|0,U=Z[768108]|0,S=Z[768109]|0,J=Z[768110]|0,_=Z[768111]|0,K=Z[768112]|0,P=Z[768113]|0,O=Z[768114]|0,L=Z[768115]|0,F=Z[768116]|0,z=Z[768117]|0,H=Z[768118]|0,C=H>>>4&1|(z>>>3&2|(F>>>2&4|(L>>>1&8|(O&16|(P<<1&32|(K<<2&64|(_<<3&128|(J<<4&256|(S<<5&512|(U<<6&1024|(W<<7&2048|(Q<<8&4096|(Y<<9&8192|(X<<10&16384|T<<11&32768)))))))))))))),!$)return Z[768104]=X&15,Z[768105]=Y&15,Z[768106]=Q&15,Z[768107]=W&15,Z[768108]=U&15,Z[768109]=S&15,Z[768110]=J&15,Z[768111]=_&15,Z[768112]=K&15,Z[768113]=P&15,Z[768114]=O&15,Z[768115]=L&15,Z[768116]=F&15,Z[768117]=z&15,Z[768118]=H&15,Z[768103]=T&15|16,G1(V,C<<16),1;if(T=J8(V,1,0)|0,($|0)==1)return $=Z[768103]&15,Z[768103]=(T|0)>-1?$:$|16,Z[768104]=T>>>26&16|Z[768104]&15,Z[768105]=T>>>25&16|Z[768105]&15,Z[768106]=T>>>24&16|Z[768106]&15,Z[768107]=T>>>23&16|Z[768107]&15,Z[768108]=T>>>22&16|Z[768108]&15,Z[768109]=T>>>21&16|Z[768109]&15,Z[768110]=T>>>20&16|Z[768110]&15,Z[768111]=T>>>19&16|Z[768111]&15,Z[768112]=T>>>18&16|Z[768112]&15,Z[768113]=T>>>17&16|Z[768113]&15,Z[768114]=T>>>16&16|Z[768114]&15,Z[768115]=T>>>15&16|Z[768115]&15,Z[768116]=T>>>14&16|Z[768116]&15,Z[768117]=T>>>13&16|Z[768117]&15,Z[768118]=T>>>12&16|Z[768118]&15,z2(2),G1(V,C<<16),1;else return C=j3(V,2)|0,$=3072412+((T>>>16&15)<<2)|0,T=Z[$>>2]|0,H=T&15,Z[$>>2]=(C|0)==0?H:H|16,D9(V,T>>>4&1),1;return 0}function PG(V){V=V|0;var $=0,T=0,X=0;if($=Z[768171]|0,T=$>>>1&32768|$<<16|$>>>3&16384,!(b8(V)|0))return X=0,Z[768171]=X,G1(V,T),1;return $=J8(V,1,0)|0,X=$<<1&65536|$>>>16|$<<3&131072|$<<5&262144,Z[768171]=X,G1(V,T),1}function OG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0;if($=q,q=q+80|0,T=$+72|0,X=$+68|0,Y=$+16|0,Q=$+12|0,W=$+8|0,U=$+4|0,S=$,J=(N[3100894]<<4&255)<<24>>24>>7<<24>>24,_=(J8(V,1,0)|0)>>16,K=(J8(V,2,0)|0)>>16,P=J8(V,3,0)|0,O=J8(V,4,0)|0,L=N[3100926]|0,F=L<<24>>24>-1?8192:(L&255)<<8,L=N[3100927]|0,z=L<<24>>24==0?256:L&255,L=((F>>>0>32767?65536-F|0:8192)>>>0)/(z>>>0)|0,(b8(V)|0)>4?(a5(V,5)|0)!=0:0)H=(J8(V,5,0)|0)>>16;else H=z;if((b8(V)|0)>5?(a5(V,6)|0)!=0:0)C=(J8(V,6,0)|0)>>16;else C=L;if((b8(V)|0)>6)A=(J8(V,7,0)|0)>>16;else A=0;if((H|0)<1|(C|0)<1)return q=$,0;if(V=P-(Z[768163]<<16)>>16,P=O-(Z[768164]<<16)>>16,O=Z[(Z[769129]|0)+8>>2]|0,L=Z[768151]|0,z=Z[768152]|0,(V|0)<(L+-7|0))F=(L-V|0)/8|0,y=F+_|0,k=(F<<3)+V|0,m=H-F|0;else y=_,k=V,m=H;if((P|0)<(z+-7|0))H=(z-P|0)/8|0,I=C-H|0,u=H+K|0,g=(H<<3)+P|0;else I=C,u=K,g=P;if(P=((7-L+(Z[768153]|0)|0)/8|0)+1|0,L=(P|0)<(m|0)?P:m,m=((7-z+(Z[768154]|0)|0)/8|0)+1|0,z=(m|0)<(I|0)?m:I,(z|0)>0){I=(L|0)>0,m=(A|0)==0,P=Y+4|0,K=0,C=0;while(!0){Z:do if(I){if(H=C+u|0,V=(C<<3)+g|0,m){_=K,F=0;while(!0){if(i=_T(F+y|0,H)|0,(i|0)==(J|0))t=_;else Y0=(F<<3)+k|0,pJ(O,Z[730449]|0,i<<3&120,((i|0)/16|0)<<3,Y0,V,8,8,3072412),Z[T>>2]=8,Z[X>>2]=8,Z[Q>>2]=0,Z[W>>2]=0,Z[U>>2]=Y0,Z[S>>2]=V,Z[Y>>2]=8,Z[P>>2]=8,$$(Y,Z[730449]|0,Q,W,U,S,T,X),Y0=Z[T>>2]|0,i=Z[X>>2]|0,X0=B(i,Y0)|0,t=((i|Y0|0)<0?0:X0)+_|0;if(F=F+1|0,(F|0)>=(L|0)){T0=t;break Z}else _=t}}_=K,F=0;while(!0){if(X0=_T(F+y|0,H)|0,(X0|0)!=(J|0)?(Z[(Z[769129]|0)+43552+(X0<<2)>>2]&A|0)!=0:0)Y0=(F<<3)+k|0,pJ(O,Z[730449]|0,X0<<3&120,((X0|0)/16|0)<<3,Y0,V,8,8,3072412),Z[T>>2]=8,Z[X>>2]=8,Z[Q>>2]=0,Z[W>>2]=0,Z[U>>2]=Y0,Z[S>>2]=V,Z[Y>>2]=8,Z[P>>2]=8,$$(Y,Z[730449]|0,Q,W,U,S,T,X),Y0=Z[T>>2]|0,X0=Z[X>>2]|0,i=B(X0,Y0)|0,Z0=((X0|Y0|0)<0?0:i)+_|0;else Z0=_;if(F=F+1|0,(F|0)>=(L|0)){T0=Z0;break}else _=Z0}}else T0=K;while(0);if(C=C+1|0,(C|0)>=(z|0)){W0=T0;break}else K=T0}}else W0=0;return z2(W0),q=$,0}function GG(V){V=V|0;var $=0;return $=(J8(V,1,0)|0)>>16,G1(V,(_T($,(J8(V,2,0)|0)>>16)|0)<<16),1}function MG(V){V=V|0;var $=0,T=0;return $=(J8(V,1,0)|0)>>16,T=(J8(V,2,0)|0)>>16,mK($,T,(J8(V,3,0)|0)>>>16&255),0}function LG(V){V=V|0;var $=0,T=0,X=0,Y=0;if(!(b8(V)|0))return $=0,$|0;if(T=J8(V,1,0)|0,X=T>>16,(b8(V)|0)==1){if(T>>>0>16777215)Y=0;else Y=Z[(Z[769129]|0)+43552+(X<<2)>>2]<<16&16711680;return G1(V,Y),$=1,$|0}if(Y=J8(V,2,0)|0,T>>>0>16777215)return D9(V,0),$=1,$|0;if(Y>>>0>524287)return D9(V,0),$=1,$|0;else return D9(V,(Z[(Z[769129]|0)+43552+(X<<2)>>2]&1<<(Y>>16)|0)!=0&1),$=1,$|0;return 0}function DG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;if($=b8(V)|0,($|0)<2)return 0;if(T=J8(V,1,0)|0,X=T>>16,Y=J8(V,2,0)|0,Q=Y>>16,T>>>0>16777215)return 0;if(($|0)==2)return Z[(Z[769129]|0)+43552+(X<<2)>>2]=Q&255,0;if($=j3(V,3)|0,Y>>>0>524287)return 0;if(Y=1<>2],Z[Q>>2]=X,!$)return 0;return Z[Q>>2]=X|Y,0}function zG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;if($=J8(V,1,0)|0,T=$>>16,X=J8(V,2,0)|0,Y=X>>16,N[3100894]&16?(X|0)>8388607|(($|0)>8388607|(X|$|0)<0):0)return Q=(d8(2921764,Z[769129]|0,24409)|0)<<16,G1(V,Q),1;return Q=(r3(Z[(Z[769129]|0)+8>>2]|0,T,Y)|0)<<16&983040,G1(V,Q),1}function FG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;if($=Z[768155]|0,T=J8(V,1,0)|0,X=J8(V,2,0)|0,(b8(V)|0)>2)Y=(J8(V,3,0)|0)>>16;else Y=$;if($=Y&15,(X|0)>8388607|((T|0)>8388607|(X|T|0)<0))return 0;if(Y=(X>>16<<6)+((T>>16|0)/2|0)|0,X=d8(2921764,Z[769129]|0,Y)|0,!(T&65536))Q=X&240|$;else Q=X&15|$<<4;return f2(2921764,Z[769129]|0,Y,Q),0}function EG(V){V=V|0;var $=0,T=0,X=0,Y=0;if((Z[768034]|0)==0&(Z[543656]|0)!=0)RV(0,0),AZ(),Z[543656]=0;if($=Z[769129]|0,T=(J8(V,1,0)|0)>>16,(b8(V)|0)>1)X=(J8(V,2,0)|0)>>16;else X=0;if((b8(V)|0)>2)Y=(J8(V,3,0)|0)>>16;else Y=0;if((T|0)==-1)return RV(0,X),z2(16),0;else return V=(T|0)<63?T:63,PR($,(V|0)>0?V:0,X),Z[768513]=Y,z2(16),0;return 0}function BG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0;if((Z[768034]|0)==0&(Z[543656]|0)!=0)RV(0,0),AZ(),Z[543656]=0;if((b8(V)|0)<1)return 0;if($=J8(V,1,0)|0,T=$>>16,(b8(V)|0)>1)if(X=J8(V,2,0)|0,(X+131072|0)>>>0>393215)return 0;else Y=X>>16;else Y=-1;if((b8(V)|0)>2)Q=(J8(V,3,0)|0)>>16;else Q=0;if((b8(V)|0)>3)W=(J8(V,4,0)|0)>>16;else W=0;if((T|0)==-1)return R$(0,0,0,Z[769129]|0,(Y|0)==-2?-1:Y)|0,0;if(V=(Y|0)==-2,(T|0)==-2)return Yz(V?-1:Y),0;if(!V)return V=(T|0)<63?T:63,X=(V|0)>0?V:0,V=(Q|0)<31?Q:31,q2((Z[769129]|0)+16+(X*660|0)|0),Q=Z[769129]|0,R$(Q+16+(X*660|0)|0,(V|0)>0?V:0,W,Q,Y)|0,z2(16),0;if($>>>0>=4194304)return 0;return q2((Z[769129]|0)+16+(T*660|0)|0),0}function CG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if($=(J8(V,1,0)|0)>>16,(b8(V)|0)==2?(a5(V,2)|0)==4:0){if(T=w7(V,2,0)|0,!T)return X=0,X|0;return DO($,T),X=0,X|0}if(T=(J8(V,2,0)|0)>>16,Y=(J8(V,3,0)|0)>>13,(b8(V)|0)>3)if(Q=J8(V,4,0)|0,(Q|0)>65535)W=Q>>16,U=7;else S=0;else W=1,U=7;if((U|0)==7){U=0,Q=0;while(!0)if(J=(LO($,T,Y)|0)+U|0,Q=Q+1|0,(Q|0)==(W|0)){S=J;break}else U=J}return z2((S|0)/64|0),G1(V,S<<13),X=1,X|0}function AG(V){V=V|0;var $=0,T=0,X=0;if($=(J8(V,1,0)|0)>>16,T=(J8(V,2,0)|0)>>16,X=J8(V,3,0)|0,V=X>>16,(X|0)<65536|($|0)==(T|0))return 0;return XW(2921764,Z[769129]|0,$,T,V),z2((V+1|0)/4|0),0}function HG(V){V=V|0;var $=0,T=0,X=0;if($=J8(V,1,0)|0,T=J8(V,2,0)|0,X=J8(V,3,0)|0,V=X>>16,(X|0)<65536)return 0;return YW(2921764,Z[769129]|0,$>>16,T>>16,V),z2((V+1|0)/4|0),0}function xG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;if($=q,q=q+1040|0,T=$+1032|0,X=$+1024|0,Y=$+1036|0,Q=$,(b8(V)|0)>2)W=(J8(V,1,0)|0)>>16,U=(J8(V,2,0)|0)>>16,S=(J8(V,3,0)|0)>>16,J=((S|0)<4096?S:4096)<<3,_=W,K=U,P=S;else J=32768,_=0,K=0,P=17152;if(z2(J),(b8(V)|0)==4?(a5(V,4)|0)==4:0){if(J=w7(V,4,Y)|0,(N[J>>0]|0)==95?(N[J+1>>0]|0)==95:0)return G1(V,0),O=1,q=$,O|0;N[Q>>0]=0;do if(!(tY(J,1)|0)){if(E5(60653,Q),Y=(N[J>>0]|0)==47?J+1|0:J,(N[Y>>0]|0)==47)return O=0,q=$,O|0;if(!(u1(Y,95214)|0)){d1(Q,Y)|0;break}else return O=0,q=$,O|0}else{if(V8(Q,uW(tY(J,1)|0)|0)|0,Y=c5(Q,102896)|0,!Y)Z[X>>2]=Q,a6(1703776,60661,X)|0,s1(1703776),Z[T>>2]=J,a6(1703776,60698,T)|0,s1(1703776),V8(Q,J)|0;I5(Y)}while(0);if(!(DL(Q,_,K,P)|0))return G1(V,P<<16),O=1,q=$,O|0;else return G1(V,0),O=1,q=$,O|0}return QW(2921764,Z[769129]|0,_,K,P),G1(V,P<<16),O=1,q=$,O|0}function yG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;if($=q,q=q+1040|0,T=$,X=$+1024|0,(b8(V)|0)>2)Y=(J8(V,1,0)|0)>>16,Q=(J8(V,2,0)|0)>>16,W=(J8(V,3,0)|0)>>16,U=((W|0)<4096?W:4096)<<6,S=Y,J=Q,_=W;else U=262144,S=0,J=0,_=17152;z2(U);do if((b8(V)|0)>3?(a5(V,4)|0)==4:0){if(U=w7(V,4,X)|0,(x6(U)|0)>>>0>511)return G1(V,0),K=1,q=$,K|0;if((N[U>>0]|0)==95?(N[U+1>>0]|0)==95:0)return G1(V,0),K=1,q=$,K|0;if(tY(U,1)|0){V8(T,uW(tY(U,1)|0)|0)|0,P=0,O=1;break}if(E5(60653,T),W=(N[U>>0]|0)==47?U+1|0:U,(N[W>>0]|0)==47)return K=0,q=$,K|0;if(!(u1(W,95214)|0)){d1(T,W)|0,P=0,O=0;break}else return K=0,q=$,K|0}else L=15;while(0);if((L|0)==15)V8(T,uW(3066604)|0)|0,P=1,O=1;if(!(zL(T,S,J,_,P,O)|0))return G1(V,_<<16),K=1,q=$,K|0;else return G1(V,0),K=1,q=$,K|0;return 0}function wG(V){V=V|0;var $=0,T=0;if((a5(V,1)|0)==5)return G1(V,((NJ((sD(V,1)|0)<<8)|0)>>>8<<16)+65536|0),gD(V,-2),z2(4),1;if((b8(V)|0)>0)$=J8(V,1,0)|0;else $=65536;return T=NJ($)|0,z2(4),G1(V,T),1}function IG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;$=Z[V+112>>2]|0;do if(($|0)>0)if(T=Z[V+8>>2]|0,X=0-$|0,Y=T+(X<<3)|0,(Z[T+(X<<3)+4>>2]|0)==3){Q=Z[Y>>2]|0;break}else{Q=e2(Y)|0;break}else Q=0;while(0);return xY(Q&2147483647),0}function qG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;$=Z[V+112>>2]|0,Z[543058]=(Z[543058]|0)-$;do if(($|0)>0)if(T=Z[V+8>>2]|0,X=0-$|0,Y=T+(X<<3)|0,(Z[T+(X<<3)+4>>2]|0)==3){Q=Z[Y>>2]|0;break}else{Q=e2(Y)|0;break}else Q=0;while(0);return Q+65535&-65536|0}function vG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;$=Z[V+112>>2]|0;do if(($|0)>0)if(T=Z[V+8>>2]|0,X=0-$|0,Y=T+(X<<3)|0,(Z[T+(X<<3)+4>>2]|0)==3){Q=Z[Y>>2]|0;break}else{Q=e2(Y)|0;break}else Q=0;while(0);return Q>>31&-131072|65536|0}function jG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;if($=Z[V+112>>2]|0,($|0)>0){if(T=Z[V+8>>2]|0,V=0-$|0,$=T+(V<<3)|0,(Z[T+(V<<3)+4>>2]|0)==3)X=Z[$>>2]|0;else X=e2($)|0;if((X|0)==-2147483648)return Y=2147483647,Y|0;else Q=(X|0)<0?0-X|0:X}else Q=0;return Y=Q,Y|0}function kG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;if($=V+112|0,T=Z[$>>2]|0,(T|0)<=0)return X=0,X|0;if(Y=V+8|0,V=Z[Y>>2]|0,Q=0-T|0,W=V+(Q<<3)|0,(Z[V+(Q<<3)+4>>2]|0)==3)U=T,S=Z[W>>2]|0;else T=e2(W)|0,U=Z[$>>2]|0,S=T;do if((U|0)>1){if(T=(Z[Y>>2]|0)+(0-U<<3)+8|0,(Z[T+4>>2]|0)==3)J=U,_=Z[T>>2]|0;else W=e2(T)|0,J=Z[$>>2]|0,_=W;if((J|0)>2)if(W=(Z[Y>>2]|0)+(0-J<<3)+16|0,(Z[W+4>>2]|0)==3){K=_,P=Z[W>>2]|0;break}else{K=_,P=e2(W)|0;break}else K=_,P=0}else K=0,P=0;while(0);if(_=(S|0)<(K|0),J=(S|0)<(P|0),_&J)return X=(K|0)<(P|0)?K:P,X|0;if(!((K|0)<(S|0)&(K|0)<(P|0)))return(_?S:K)|0;return X=J?S:P,X|0}function pG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;$=Z[V+112>>2]|0;do if(($|0)>0)if(T=Z[V+8>>2]|0,X=0-$|0,Y=T+(X<<3)|0,(Z[T+(X<<3)+4>>2]|0)==3){Q=Z[Y>>2]|0;break}else{Q=e2(Y)|0;break}else Q=0;while(0);return RY(Q)|0}function mG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;$=Z[V+112>>2]|0;do if(($|0)>0)if(T=Z[V+8>>2]|0,X=0-$|0,Y=T+(X<<3)|0,(Z[T+(X<<3)+4>>2]|0)==3){Q=Z[Y>>2]|0;break}else{Q=e2(Y)|0;break}else Q=0;while(0);return tz(Q)|0}function uG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;z2(6),$=Z[V+112>>2]|0;do if(($|0)>0)if(T=Z[V+8>>2]|0,X=0-$|0,Y=T+(X<<3)|0,(Z[T+(X<<3)+4>>2]|0)==3){Q=Z[Y>>2]|0;break}else{Q=e2(Y)|0;break}else Q=0;while(0);return BP(Q)|0}function lG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;$=V+112|0,T=Z[$>>2]|0;do if((T|0)>0){if(X=V+8|0,Y=Z[X>>2]|0,Q=0-T|0,W=Y+(Q<<3)|0,(Z[Y+(Q<<3)+4>>2]|0)==3)U=T,S=Z[W>>2]|0;else Q=e2(W)|0,U=Z[$>>2]|0,S=Q;if((U|0)>1)if(Q=(Z[X>>2]|0)+(0-U<<3)+8|0,(Z[Q+4>>2]|0)==3){J=Z[Q>>2]|0,_=S;break}else{J=e2(Q)|0,_=S;break}else J=0,_=S}else J=0,_=0;while(0);return CP(_,J)|0}function sG(V){V=V|0;var $=0,T=0,X=0,Y=0;if($=Z[V+112>>2]|0,Z[543058]=(Z[543058]|0)-$,($|0)<=0)return T=0,X=~T,X|0;if(Y=Z[V+8>>2]|0,V=0-$|0,$=Y+(V<<3)|0,(Z[Y+(V<<3)+4>>2]|0)==3)return T=Z[$>>2]|0,X=~T,X|0;else return T=e2($)|0,X=~T,X|0;return 0}function oG(V){V=V|0;var $=0,T=0,X=0,Y=0;if($=Z[V+112>>2]|0,Z[543058]=(Z[543058]|0)-$,($|0)<=0)return T=0,X=T&-65536,X|0;if(Y=Z[V+8>>2]|0,V=0-$|0,$=Y+(V<<3)|0,(Z[Y+(V<<3)+4>>2]|0)==3)return T=Z[$>>2]|0,X=T&-65536,X|0;else return T=e2($)|0,X=T&-65536,X|0;return 0}function nG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if($=V+112|0,T=Z[$>>2]|0,Z[543058]=(Z[543058]|0)-T,(T|0)<=0)return X=0,Y=0,Q=X&Y,Q|0;if(W=V+8|0,V=Z[W>>2]|0,U=0-T|0,S=V+(U<<3)|0,(Z[V+(U<<3)+4>>2]|0)==3)J=T,_=Z[S>>2]|0;else T=e2(S)|0,J=Z[$>>2]|0,_=T;if((J|0)<=1)return X=0,Y=_,Q=X&Y,Q|0;if(T=(Z[W>>2]|0)+(0-J<<3)+8|0,(Z[T+4>>2]|0)==3)return X=Z[T>>2]|0,Y=_,Q=X&Y,Q|0;else return X=e2(T)|0,Y=_,Q=X&Y,Q|0;return 0}function rG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if($=V+112|0,T=Z[$>>2]|0,Z[543058]=(Z[543058]|0)-T,(T|0)<=0)return X=0,Y=0,Q=X|Y,Q|0;if(W=V+8|0,V=Z[W>>2]|0,U=0-T|0,S=V+(U<<3)|0,(Z[V+(U<<3)+4>>2]|0)==3)J=T,_=Z[S>>2]|0;else T=e2(S)|0,J=Z[$>>2]|0,_=T;if((J|0)<=1)return X=0,Y=_,Q=X|Y,Q|0;if(T=(Z[W>>2]|0)+(0-J<<3)+8|0,(Z[T+4>>2]|0)==3)return X=Z[T>>2]|0,Y=_,Q=X|Y,Q|0;else return X=e2(T)|0,Y=_,Q=X|Y,Q|0;return 0}function hG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if($=V+112|0,T=Z[$>>2]|0,Z[543058]=(Z[543058]|0)-T,(T|0)<=0)return X=0,Y=0,Q=X^Y,Q|0;if(W=V+8|0,V=Z[W>>2]|0,U=0-T|0,S=V+(U<<3)|0,(Z[V+(U<<3)+4>>2]|0)==3)J=T,_=Z[S>>2]|0;else T=e2(S)|0,J=Z[$>>2]|0,_=T;if((J|0)<=1)return X=0,Y=_,Q=X^Y,Q|0;if(T=(Z[W>>2]|0)+(0-J<<3)+8|0,(Z[T+4>>2]|0)==3)return X=Z[T>>2]|0,Y=_,Q=X^Y,Q|0;else return X=e2(T)|0,Y=_,Q=X^Y,Q|0;return 0}function gG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;$=V+112|0,T=Z[$>>2]|0,Z[543058]=(Z[543058]|0)-T;do if((T|0)>0){if(X=V+8|0,Y=Z[X>>2]|0,Q=0-T|0,W=Y+(Q<<3)|0,(Z[Y+(Q<<3)+4>>2]|0)==3)U=T,S=Z[W>>2]|0;else Q=e2(W)|0,U=Z[$>>2]|0,S=Q;if((U|0)>1)if(Q=(Z[X>>2]|0)+(0-U<<3)+8|0,(Z[Q+4>>2]|0)==3){J=Z[Q>>2]|0,_=S;break}else{J=e2(Q)|0,_=S;break}else J=0,_=S}else J=0,_=0;while(0);return UW(_,J)|0}function iG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;$=V+112|0,T=Z[$>>2]|0,Z[543058]=(Z[543058]|0)-T;do if((T|0)>0){if(X=V+8|0,Y=Z[X>>2]|0,Q=0-T|0,W=Y+(Q<<3)|0,(Z[Y+(Q<<3)+4>>2]|0)==3)U=T,S=Z[W>>2]|0;else Q=e2(W)|0,U=Z[$>>2]|0,S=Q;if((U|0)>1)if(Q=(Z[X>>2]|0)+(0-U<<3)+8|0,(Z[Q+4>>2]|0)==3){J=Z[Q>>2]|0,_=S;break}else{J=e2(Q)|0,_=S;break}else J=0,_=S}else J=0,_=0;while(0);return JW(_,J)|0}function tG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;$=V+112|0,T=Z[$>>2]|0,Z[543058]=(Z[543058]|0)-T;do if((T|0)>0){if(X=V+8|0,Y=Z[X>>2]|0,Q=0-T|0,W=Y+(Q<<3)|0,(Z[Y+(Q<<3)+4>>2]|0)==3)U=T,S=Z[W>>2]|0;else Q=e2(W)|0,U=Z[$>>2]|0,S=Q;if((U|0)>1)if(Q=(Z[X>>2]|0)+(0-U<<3)+8|0,(Z[Q+4>>2]|0)==3){J=Z[Q>>2]|0,_=S;break}else{J=e2(Q)|0,_=S;break}else J=0,_=S}else J=0,_=0;while(0);return yY(_,J)|0}function fG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;$=V+112|0,T=Z[$>>2]|0,Z[543058]=(Z[543058]|0)-T;do if((T|0)>0){if(X=V+8|0,Y=Z[X>>2]|0,Q=0-T|0,W=Y+(Q<<3)|0,(Z[Y+(Q<<3)+4>>2]|0)==3)U=T,S=Z[W>>2]|0;else Q=e2(W)|0,U=Z[$>>2]|0,S=Q;if((U|0)>1)if(Q=(Z[X>>2]|0)+(0-U<<3)+8|0,(Z[Q+4>>2]|0)==3){J=Z[Q>>2]|0,_=S;break}else{J=e2(Q)|0,_=S;break}else J=0,_=S}else J=0,_=0;while(0);return WW(_,J)|0}function dG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;$=V+112|0,T=Z[$>>2]|0,Z[543058]=(Z[543058]|0)-T;do if((T|0)>0){if(X=V+8|0,Y=Z[X>>2]|0,Q=0-T|0,W=Y+(Q<<3)|0,(Z[Y+(Q<<3)+4>>2]|0)==3)U=T,S=Z[W>>2]|0;else Q=e2(W)|0,U=Z[$>>2]|0,S=Q;if((U|0)>1)if(Q=(Z[X>>2]|0)+(0-U<<3)+8|0,(Z[Q+4>>2]|0)==3){J=Z[Q>>2]|0,_=S;break}else{J=e2(Q)|0,_=S;break}else J=0,_=S}else J=0,_=0;while(0);return NW(_,J)|0}function bG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if($=V+112|0,T=Z[$>>2]|0,(T|0)<=0)return X=0,X|0;if(Y=V+8|0,V=Z[Y>>2]|0,Q=0-T|0,W=V+(Q<<3)|0,(Z[V+(Q<<3)+4>>2]|0)==3)U=T,S=Z[W>>2]|0;else T=e2(W)|0,U=Z[$>>2]|0,S=T;do if((U|0)>1)if(T=(Z[Y>>2]|0)+(0-U<<3)+8|0,(Z[T+4>>2]|0)==3){J=U,_=Z[T>>2]|0;break}else{W=e2(T)|0,J=Z[$>>2]|0,_=W;break}else J=U,_=0;while(0);if((S|0)<(_|0)){if((J|0)<=0)return X=0,X|0;if(_=Z[Y>>2]|0,S=0-J|0,U=_+(S<<3)|0,(Z[_+(S<<3)+4>>2]|0)==3)return X=Z[U>>2]|0,X|0;else return X=e2(U)|0,X|0}else{if((J|0)<=1)return X=0,X|0;if(U=(Z[Y>>2]|0)+(0-J<<3)+8|0,(Z[U+4>>2]|0)==3)return X=Z[U>>2]|0,X|0;else return X=e2(U)|0,X|0}return 0}function eG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if($=V+112|0,T=Z[$>>2]|0,(T|0)<=0)return X=0,X|0;if(Y=V+8|0,V=Z[Y>>2]|0,Q=0-T|0,W=V+(Q<<3)|0,(Z[V+(Q<<3)+4>>2]|0)==3)U=T,S=Z[W>>2]|0;else T=e2(W)|0,U=Z[$>>2]|0,S=T;do if((U|0)>1)if(T=(Z[Y>>2]|0)+(0-U<<3)+8|0,(Z[T+4>>2]|0)==3){J=U,_=Z[T>>2]|0;break}else{W=e2(T)|0,J=Z[$>>2]|0,_=W;break}else J=U,_=0;while(0);if((S|0)>(_|0)){if((J|0)<=0)return X=0,X|0;if(_=Z[Y>>2]|0,S=0-J|0,U=_+(S<<3)|0,(Z[_+(S<<3)+4>>2]|0)==3)return X=Z[U>>2]|0,X|0;else return X=e2(U)|0,X|0}else{if((J|0)<=1)return X=0,X|0;if(U=(Z[Y>>2]|0)+(0-J<<3)+8|0,(Z[U+4>>2]|0)==3)return X=Z[U>>2]|0,X|0;else return X=e2(U)|0,X|0}return 0}function aG(V){V=V|0;var $=0,T=0,X=0,Y=0;if((b8(V)|0)>0)Z[543058]=(Z[543058]|0)+-2;if((b8(V)|0)>1)if($=J8(V,2,0)|0,($|0)<2147418112)if(($|0)<65536)return T=0,T|0;else X=$>>16;else X=32767;else X=1;if($=(J8(V,1,0)|0)>>16,!(fY(V,X)|0))return Y4(60631)|0,T=0,T|0;if((X|0)>0){Y=0;do G1(V,(d8(2921764,Z[769129]|0,Y+$|0)|0)<<16),Y=Y+1|0;while((Y|0)!=(X|0))}return z2(X+-1|0),T=X,T|0}function cG(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0;if((b8(V)|0)>0)Z[543058]=(Z[543058]|0)+-2;if((b8(V)|0)>1)if($=J8(V,2,0)|0,($|0)<2147418112)if(($|0)<65536)return T=0,T|0;else X=$>>16;else X=32767;else X=1;if($=(J8(V,1,0)|0)>>16,!(fY(V,X)|0))return Y4(60631)|0,T=0,T|0;if((X|0)>0){Y=0;do Q=(Y<<1)+$|0,W=(d8(2921764,Z[769129]|0,Q)|0)<<16,G1(V,((d8(2921764,Z[769129]|0,Q+1|0)|0)<<24)+W|0),Y=Y+1|0;while((Y|0)!=(X|0))}return z2(X+-1|0),T=X,T|0}function ZM(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0;if((b8(V)|0)>0)Z[543058]=(Z[543058]|0)+-2;if((b8(V)|0)>1)if($=J8(V,2,0)|0,($|0)<2147418112)if(($|0)<65536)return T=0,T|0;else X=$>>16;else X=32767;else X=1;if($=(J8(V,1,0)|0)>>16,!(fY(V,X)|0))return Y4(60631)|0,T=0,T|0;if((X|0)>0){Y=0;do Q=(Y<<2)+$|0,W=d8(2921764,Z[769129]|0,Q)|0,U=((d8(2921764,Z[769129]|0,Q+1|0)|0)<<8)+W|0,W=U+((d8(2921764,Z[769129]|0,Q+2|0)|0)<<16)|0,G1(V,W+((d8(2921764,Z[769129]|0,Q+3|0)|0)<<24)|0),Y=Y+1|0;while((Y|0)!=(X|0))}return z2(X+-1|0),T=X,T|0}function VM(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;$=V+112|0,T=Z[$>>2]|0;do if((T|0)>0)if(X=Z[V+8>>2]|0,Y=0-T|0,Q=X+(Y<<3)|0,(Z[X+(Y<<3)+4>>2]|0)==3){W=T,U=Z[Q>>2]|0;break}else{Y=e2(Q)|0,W=Z[$>>2]|0,U=Y;break}else W=T,U=0;while(0);if(T=U>>16,U=(W|0)<2?1:(W|0)<32768?W+-1|0:32767,(W|0)>1)Z[543058]=(Z[543058]|0)+-2;if((U|0)<=0)return S=U+-1|0,z2(S),0;Y=V+8|0,V=W,W=0;while(!0){Q=W+1|0;do if((V|0)>(Q|0))if(X=(Z[Y>>2]|0)+(0-V<<3)+(Q<<3)|0,(Z[X+4>>2]|0)==3){J=Z[X>>2]|0;break}else{J=e2(X)|0;break}else J=0;while(0);if(X=J>>16,_=W+T|0,(_&-8192|0)==24576)K=_+-24576|0,P=K>>6,O=K<<1&126,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(P<<2)>>2]|0)+O>>0]=X&15,N[(Z[(Z[(Z[730449]|0)+16>>2]|0)+(P<<2)>>2]|0)+(O|1)>>0]=J>>>20&15;else f2(2921764,Z[769129]|0,_,X);if((Q|0)==(U|0))break;V=Z[$>>2]|0,W=Q}return S=U+-1|0,z2(S),0}function $M(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;$=V+112|0,T=Z[$>>2]|0;do if((T|0)>0)if(X=Z[V+8>>2]|0,Y=0-T|0,Q=X+(Y<<3)|0,(Z[X+(Y<<3)+4>>2]|0)==3){W=T,U=Z[Q>>2]|0;break}else{Y=e2(Q)|0,W=Z[$>>2]|0,U=Y;break}else W=T,U=0;while(0);if(T=U>>16,U=(W|0)<2?1:(W|0)<32768?W+-1|0:32767,(W|0)>1)Z[543058]=(Z[543058]|0)+-2;if((U|0)<=0)return S=U+-1|0,z2(S),0;Y=V+8|0,V=W,W=0;while(!0){Q=W+1|0;do if((V|0)>(Q|0))if(X=(Z[Y>>2]|0)+(0-V<<3)+(Q<<3)|0,(Z[X+4>>2]|0)==3){J=Z[X>>2]|0;break}else{J=e2(X)|0;break}else J=0;while(0);if(X=J>>16,_=(W<<1)+T|0,(_+-24576|0)>>>0<8191)K=(Z[(Z[730449]|0)+12>>2]|0)+((_<<1)+-49152)|0,N[K>>0]=X&15,P=K+1|0,N[P>>0]=X>>>4&15,K=P+1|0,N[K>>0]=X>>>8&15,N[K+1>>0]=X>>>12&15;else f2(2921764,Z[769129]|0,_,X&255),f2(2921764,Z[769129]|0,_+1|0,X>>>8&255);if((Q|0)==(U|0))break;V=Z[$>>2]|0,W=Q}return S=U+-1|0,z2(S),0}function TM(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;$=V+112|0,T=Z[$>>2]|0;do if((T|0)>0)if(X=Z[V+8>>2]|0,Y=0-T|0,Q=X+(Y<<3)|0,(Z[X+(Y<<3)+4>>2]|0)==3){W=T,U=Z[Q>>2]|0;break}else{Y=e2(Q)|0,W=Z[$>>2]|0,U=Y;break}else W=T,U=0;while(0);if(T=U>>16,U=(W|0)<2?1:(W|0)<32768?W+-1|0:32767,(W|0)>1)Z[543058]=(Z[543058]|0)+-2;if((U|0)<=0)return S=U+-1|0,z2(S),0;Y=V+8|0,V=W,W=0;while(!0){Q=W+1|0;do if((V|0)>(Q|0))if(X=(Z[Y>>2]|0)+(0-V<<3)+(Q<<3)|0,(Z[X+4>>2]|0)==3){J=Z[X>>2]|0;break}else{J=e2(X)|0;break}else J=0;while(0);if(X=(W<<2)+T|0,(X+-24576|0)>>>0<8189)_=(Z[(Z[730449]|0)+12>>2]|0)+((X<<1)+-49152)|0,N[_>>0]=J&15,K=_+1|0,N[K>>0]=J>>>4&15,_=K+1|0,N[_>>0]=J>>>8&15,K=_+1|0,N[K>>0]=J>>>12&15,_=K+1|0,N[_>>0]=J>>>16&15,K=_+1|0,N[K>>0]=J>>>20&15,_=K+1|0,N[_>>0]=J>>>24&15,N[_+1>>0]=J>>>28;else f2(2921764,Z[769129]|0,X,J&255),f2(2921764,Z[769129]|0,X+1|0,J>>>8&255),f2(2921764,Z[769129]|0,X+2|0,J>>>16&255),f2(2921764,Z[769129]|0,X+3|0,J>>>24);if((Q|0)==(U|0))break;V=Z[$>>2]|0,W=Q}return S=U+-1|0,z2(S),0}function XM(V){V=V|0;var $=0,T=0;return $=Z[730442]|0,T=v1($|0,(($|0)<0)<<31>>31|0,16)|0,$=q5(T|0,x()|0,60,0)|0,x()|0,G1(V,$),1}function YM(V){return V=V|0,v4(V),1}function QM(V){if(V=V|0,!(Z[543086]|0))x7(60600,2000);return Z[543086]=1,v4(V),1}function WM(V){if(V=V|0,!(Z[543085]|0))x7(60567,2000);return Z[543085]=1,v4(V),G1(V,0),2}function NM(V){return V=V|0,v4(V),G1(V,0),2}function UM(V){return V=V|0,0}function JM(V){return V=V|0,Z[785588]=1,vJ(V,0),1}function SM(V){return V=V|0,Z[785588]=1,vJ(V,1),1}function RM(V){V=V|0;var $=0,T=0,X=0;if($=J8(V,1,0)|0,T=$>>16,X=w7(V,2,0)|0,!X)return N[3076126+(T<<6)>>0]=0,0;if(($+-65536|0)>>>0>327679)return 0;return k7(3076126+(T<<6)|0,X,16)|0,0}function _M(V){V=V|0;var $=0,T=0,X=0,Y=0;if($=q,q=q+16|0,T=$,Z[T>>2]=255,(b8(V)|0)>0?(X=w7(V,1,T)|0,(X|0)!=0):0)D9(V,(lP(X)|0)==0&1),Y=1;else Y=0;return q=$,Y|0}function KM(V){V=V|0;var $=0,T=0;if($=J8(V,1,0)|0,!(N[3066732]|0))return Y4(60537)|0,T=0,T|0;if($>>>0>4194303)return G1(V,0),T=1,T|0;else return G1(V,Z[3067756+($>>16<<2)>>2]|0),T=1,T|0;return 0}function PM(V){V=V|0;var $=0,T=0;if($=J8(V,1,0)|0,T=J8(V,2,0)|0,!(N[3066732]|0))return Y4(60507)|0,0;if($>>>0>4194303)return 0;if(V=3067756+($>>16<<2)|0,(Z[V>>2]|0)!=(T|0))Z[785589]=1;return Z[V>>2]=T,0}function OM(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0;$=q,q=q+112|0,T=$+64|0,X=$+108|0,Y=$+104|0,Q=$+100|0,W=$+72|0,U=$,z2(16);Z:do if((b8(V)|0)>0)switch(S=(J8(V,1,0)|0)>>16,S|0){case 1:{J=4;break Z}case 0:{VZ(Z[543065]|0,2,0)|0,_=(Z[785516]|0)+(Z[768178]|0)|0,K=((_|0)<2097152?_:2097152)<<6,P=(K|0)>0?K:0,O=0,J=15;break Z}case 2:{L=sU(FY(1)|0)|0,F=2,J=85;break Z}default:switch(K=(S|0)==3?Z[786057]<<16:0,S|0){case 5:{L=2686976,F=S,J=85;break Z}case 4:{if($Q(),_=Z[482628]|0,!_)return w9(V,3144900,0)|0,q=$,1;else return z=B2((x6(_)|0)+16|0)|0,YQ(Z[482628]|0,z)|0,w9(V,z,x6(z)|0)|0,$6(z),q=$,1;break}case 6:return z=x6(3074076)|0,w9(V,3074076,z>>>0<1024?z:1024)|0,q=$,1;case 7:{L=Z[785580]<<16,F=7,J=85;break Z}case 9:{L=(DN()|0)<<16,F=9,J=85;break Z}case 11:{L=(yW()|0)<<16,F=11,J=85;break Z}case 13:{y3(),L=4128768-((((Z[482624]<<3)+8|0)/2|0)<<16)|0,F=13,J=85;break Z}default:{P=K,O=S,J=15;break Z}}}else J=4;while(0);if((J|0)==4)P=sU(FY(0)|0)|0,O=1,J=15;Z:do if((J|0)==15)switch(O|0){case 12:{L=1507328,F=O,J=85;break Z}case 14:{L=6815744,F=O,J=85;break Z}case 15:{y3(),H=((((Z[482624]<<3)+8|0)/2|0)<<16)+4194304|0;break Z}default:{if(S=(O|0)==10?Z[785518]<<16:(O|0)==8?Z[785581]<<16:P,(O+-16|0)>>>0<11)C=TW(O)|0;else C=S;if((O+-46|0)>>>0<11)if(S=TW(O)|0,(S|0)==-65536)A=TW(O+-30|0)|0;else A=S;else if((O|0)==29){H=xz()|0;break Z}else A=C;switch(S=(O|0)==30,K=(O|0)==31,z=(O|0)==28,O|0){case 28:case 30:case 31:{if(!((d8(2921764,Z[769129]|0,24365)|0)&1)){if(S)D9(V,0);if(K)w9(V,3144900,0)|0;if(!z)return q=$,1;return D9(V,0),q=$,1}if($Q(),(N[3069040]|0)!=0&(Z[768034]|0)!=0|(Z[481715]|0)!=0){if(!(Z[785515]|0))x7(60360,2000);Z[785515]=1}if(z)if((a5(V,2)|0)==3)return D9(V,(O2((J8(V,2,0)|0)>>16)|0)!=0&1),q=$,1;else return G1(V,0),q=$,1;if(S)return D9(V,(Z[786056]|0)>0&1),q=$,1;if(K){if(!(Z[786056]|0))return w9(V,3144900,0)|0,q=$,1;w9(V,3143968,1)|0,K=0;do S=K,K=K+1|0,N[3143968+S>>0]=N[3143968+K>>0]|0;while((K|0)!=255);return Z[786056]=(Z[786056]|0)+-1,q=$,1}else y=A;break}default:if((O+-32|0)>>>0<9?((d8(2921764,Z[769129]|0,24365)|0)&1|0)!=0:0){if((N[3069040]|0)!=0&(Z[768034]|0)!=0|(Z[481715]|0)!=0){if(!(Z[785515]|0))x7(60384,2000);Z[785515]=1}if(S4(X,Y,Q),K=(O|0)==36?Z[768436]|0:(O|0)==35?Z[768435]|0:(O|0)==34?Z[Q>>2]|0:(O|0)==33?Z[Y>>2]|0:(O|0)==32?Z[X>>2]|0:A,!((d8(2921764,Z[769129]|0,24365)|0)&4))k=K;else k=(O|0)==39?Z[768438]|0:(O|0)==38?Z[768437]|0:K;y=k<<16}else y=A}switch(O|0){case 37:{K=Z[768175]<<16,Z[768175]=0,H=K;break Z}case 57:return D9(V,(zQ()|0)!=0&1),q=$,1;default:{if((O&-8|0)==64)return v4(V),q=$,1;do if((O+-80|0)>>>0>=6){if((O+-90|0)>>>0<6){zN(W,1),m=((O|0)==95?Z[W+24>>2]|0:(O|0)==94?Z[W+20>>2]|0:(O|0)==93?Z[W+16>>2]|0:(O|0)==92?Z[W+12>>2]|0:(O|0)==91?Z[W+8>>2]|0:(O|0)==90?Z[W+4>>2]|0:y)<<16;break}if((O|0)==99){K=(Z[785516]|0)+(Z[768178]|0)|0,S=((K|0)<2097152?K:2097152)<<6,H=(S|0)>0?S:0;break Z}else m=y}else zN(W,0),m=((O|0)==85?Z[W+24>>2]|0:(O|0)==84?Z[W+20>>2]|0:(O|0)==83?Z[W+16>>2]|0:(O|0)==82?Z[W+12>>2]|0:(O|0)==81?Z[W+8>>2]|0:(O|0)==80?Z[W+4>>2]|0:y)<<16;while(0);switch(O|0){case 100:{if(!(QX()|0))return v4(V),q=$,1;else return S=QX()|0,w9(V,S,x6(QX()|0)|0)|0,q=$,1;break}case 101:{if((N[3069040]|0)!=0&(Z[768034]|0)!=0)return w9(V,3069040,x6(3069040)|0)|0,q=$,1;else return v4(V),q=$,1;break}case 102:{if(S=$8(22,0)|0,K=S,!S)return v4(V),q=$,1;else return w9(V,K,x6(K)|0)|0,q=$,1;break}case 103:return w9(V,3066645,x6(3066645)|0)|0,q=$,1;case 104:return D9(V,0),q=$,1;case 106:return Z[T>>2]=3074076,Z[T+4>>2]=3066645,a6(1708384,102731,T)|0,DT(1708384,x6(1708384)|0,U)|0,w9(V,U,x6(U)|0)|0,q=$,1;case 107:{H=Z[481788]<<16;break Z}default:{if((O|0)!=109){L=(O|0)==108?Z[543493]<<16:m,F=O,J=85;break Z}H=((Z[543952]|0)/4|0)<<16;break Z}}}}}}while(0);Z:do if((J|0)==85)switch(F|0){case 110:return D9(V,Z[482725]|0),q=$,1;case 120:return D9(V,(FO()|0)>0&1),q=$,1;case 121:return D9(V,(EO()|0)>0&1),q=$,1;case 122:return D9(V,Z[533463]|0),q=$,1;case 124:return j4(V,3144900)|0,q=$,1;default:{H=L;break Z}}while(0);return G1(V,H),q=$,1}function GM(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if($=q,q=q+16|0,T=$,b8(V)|0,Z[T>>2]=0,X=w7(V,1,T)|0,Y=Z[T>>2]|0,!X)return Q=0,q=$,Q|0;if((b8(V)|0)>1)W=(J8(V,2,0)|0)>>16;else W=1;if((b8(V)|0)>2?(a5(V,3)|0)==3:0)U=(J8(V,3,0)|0)>>16;else U=Y;if(T=Y+1|0,S=((W|0)<0?T:0)+W|0,W=((U|0)<0?T:0)+U|0,(S|0)>(Y|0)|((W|0)<(S|0)|(W|0)<1))return w9(V,X,0)|0,Q=1,q=$,Q|0;else return U=(S|0)<(Y|0)?S:Y,S=(U|0)>1?U:1,U=(W|0)<(Y|0)?W:Y,Y=((U|0)>1?U:1)-S+1|0,w9(V,X+S+-1|0,Y)|0,z2((Y|0)/2|0),Q=1,q=$,Q|0;return 0}function MM(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0;if($=q,q=q+16|0,T=$,X=b8(V)|0,(X|0)<=16)if((X|0)>0)Y=0,Q=T;else return w9(V,T,X)|0,z2(X),q=$,1;else T=B2(X)|0,Y=T,Q=T;T=0;do W=T,T=T+1|0,N[Q+W>>0]=(J8(V,T,0)|0)>>>16;while((T|0)!=(X|0));if(w9(V,Q,X)|0,!Y)return z2(X),q=$,1;return $6(Y),z2(X),q=$,1}function LM(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if($=q,q=q+16|0,T=$,Z[T>>2]=32768,(b8(V)|0)>0)X=w7(V,1,T)|0;else X=0;if((b8(V)|0)>1)Y=((J8(V,2,0)|0)>>16)+-1|0;else Y=0;if((b8(V)|0)>2)if(Q=J8(V,3,0)|0,(Q|0)<65536)return W=0,q=$,W|0;else U=Q>>16;else U=1;if(!(fY(V,U)|0))return Y4(60339)|0,W=0,q=$,W|0;if(z2(U),Q=U+Y|0,(U|0)<=0)return W=U,q=$,W|0;if(!X){S=Y;do v4(V),S=S+1|0;while((S|0)<(Q|0));return W=U,q=$,W|0}S=Y;do{if((S|0)>-1?S>>>0<(Z[T>>2]|0)>>>0:0)G1(V,(((N[X+S>>0]|0)+256|0)%256|0)<<16);else v4(V);S=S+1|0}while((S|0)<(Q|0));return W=U,q=$,W|0}function DM(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0;if($=q,q=q+16|0,T=$+8|0,X=$+12|0,Y=$+4|0,Q=$,Z[T>>2]=0,(b8(V)|0)<=0)return W=0,q=$,W|0;if(U=w7(V,1,T)|0,!U)return W=0,q=$,W|0;if(S=Z[T>>2]|0,QR(V,0,1),z2(S),(b8(V)|0)>2)J=j3(V,3)|0;else J=1;if(T=(J8(V,3,0)|0)==2,_=T?1:J,(a5(V,2)|0)==3){J=(J8(V,2,0)|0)>>16,T=(J|0)<(S|0)?J:S,J=(T|0)>1?T:1,T=Y1(J+1|0)|0;Z:do if((S|0)>0){if(!_){K=1,P=0;while(!0)if(C1(T,0,J),O=S-P|0,L=(J|0)<(O|0)?J:O,q6(T|0,U+P|0,L|0)|0,Z[Y>>2]=0,w9(V,T,L)|0,f3(V,-2,K),P=P+J|0,(S|0)<=(P|0))break Z;else K=K+1|0}K=1,P=0;while(!0){if(C1(T,0,J),L=S-P|0,O=(J|0)<(L|0)?J:L,q6(T|0,U+P|0,O|0)|0,Z[Y>>2]=0,!(L9(T,x6(T)|0,Y)|0))w9(V,T,O)|0;else G1(V,Z[Y>>2]|0);if(f3(V,-2,K),P=P+J|0,(S|0)<=(P|0))break;else K=K+1|0}}while(0);return $6(T),W=1,q=$,W|0}if(Z[Y>>2]=0,(b8(V)|0)>1?(T=w7(V,2,Y)|0,(T|0)!=0):0)F=(Z[Y>>2]|0)==0,z=T;else Z[Y>>2]=1,F=0,z=95838;Z:do if((z|0)==0|F){if((S|0)>0){if(Y=X+1|0,!_){T=1,J=0;while(!0)if(N[X>>0]=N[U+J>>0]|0,N[Y>>0]=0,w9(V,X,1)|0,f3(V,-2,T),J=J+1|0,(J|0)==(S|0))break Z;else T=T+1|0}T=1,J=0;while(!0){if(K=N[U+J>>0]|0,N[X>>0]=K,N[Y>>0]=0,(K+-48&255)<10)G1(V,(K<<24>>24<<16)+-3145728|0);else w9(V,X,1)|0;if(f3(V,-2,T),J=J+1|0,(J|0)==(S|0))break;else T=T+1|0}}}else{T=Y1(S+1|0)|0,q6(T|0,U|0,S|0)|0;V:do if(!_){J=1,Y=0;while(!0){K=N[z>>0]|0,P=Y;while(!0){if(H=(P|0)>=(S|0),H|(N[T+P>>0]|0)==K<<24>>24)break;P=P+1|0}if(N[T+P>>0]=0,Z[Q>>2]=0,w9(V,T+Y|0,P-Y|0)|0,f3(V,-2,J),H)break V;J=J+1|0,Y=P+1|0}}else{Y=1,J=0;while(!0){K=N[z>>0]|0,O=J;while(!0){if(C=(O|0)>=(S|0),C|(N[T+O>>0]|0)==K<<24>>24)break;O=O+1|0}if(K=T+J|0,N[T+O>>0]=0,Z[Q>>2]=0,P=O-J|0,!(L9(K,P,Q)|0))w9(V,K,P)|0;else G1(V,Z[Q>>2]|0);if(f3(V,-2,Y),C)break V;Y=Y+1|0,J=O+1|0}}while(0);$6(T)}while(0);return W=1,q=$,W|0}function zM(V){V=V|0;var $=0;if(!(b8(V)|0))$=0;else $=f7(V)|0;return $|0}function FM(V){V=V|0;var $=0,T=0;if($=b8(V)|0,($|0)>=1){T=1;while(!0)if(lD(V,T),(T|0)==($|0))break;else T=T+1|0}return cS(V,$,0,0)|0}function EM(V){if(V=V|0,Z[730460]=1,Z[785517]|0)return 0;return Z[785517]=1,0}function BM(V){V=V|0;var $=0,T=0,X=0;if($=J8(V,1,0)|0,($+-65536|0)>>>0>327679)return T=0,T|0;if(X=3076510+($>>>16)|0,$=N[X>>0]|0,!($<<24>>24))return T=0,T|0;return G1(V,$<<24>>24<<16),N[X>>0]=0,T=1,T|0}function CM(V){V=V|0;var $=0;return $=(J8(V,1,0)|0)>>16,Z[730442]=(Z[730442]|0)+$,rX(),0}function AM(V){return V=V|0,vK(),0}function HM(V){return V=V|0,Z[768511]=(J8(V,1,0)|0)>>16,0}function xM(V){V=V|0;var $=0;return $=(J8(V,1,0)|0)>>16,Z[785580]=$,Z[785581]=$,0}function yM(V){V=V|0;var $=0;return $=(J8(V,1,0)|0)>>16,V=($|0)<2?$:2,$=(V|0)>0?V:0,Z[3142328+($<<2)>>2]=FY(0)|0,Z[3142340+($<<2)>>2]=I8()|0,0}function wM(V){V=V|0;var $=0,T=0,X=0;if($=J8(V,1,0)|0,T=$>>16,X=($|0)>65535,$=X?(T|0)<7?T:7:0,X?(N[3100894]&1)==0:0)return D9(V,0),1;return tX($),D9(V,1),1}function vJ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;if(T=(J8(V,1,0)|0)>>16,X=(T|0)<7?T:7,T=(X|0)>0?X:0,!(b8(V)|0)){X=($|0)==0,G1(V,((((X?Z[768194]|0:Z[768386]|0)|0)==0?0:32768)|((((X?Z[768193]|0:Z[768385]|0)|0)==0?0:16384)|((((X?Z[768192]|0:Z[768384]|0)|0)==0?0:8192)|((((X?Z[768191]|0:Z[768383]|0)|0)==0?0:4096)|((((X?Z[768190]|0:Z[768382]|0)|0)==0?0:2048)|((((X?Z[768189]|0:Z[768381]|0)|0)==0?0:1024)|((((X?Z[768188]|0:Z[768380]|0)|0)==0?0:512)|((((X?Z[768187]|0:Z[768379]|0)|0)==0?0:256)|((((X?Z[768186]|0:Z[768378]|0)|0)==0?0:128)|((((X?Z[768185]|0:Z[768377]|0)|0)==0?0:64)|((((X?Z[768184]|0:Z[768376]|0)|0)==0?0:32)|((((X?Z[768183]|0:Z[768375]|0)|0)==0?0:16)|((((X?Z[768182]|0:Z[768374]|0)|0)==0?0:8)|((((X?Z[768181]|0:Z[768373]|0)|0)==0?0:4)|((((X?Z[768180]|0:Z[768372]|0)|0)==0?0:2)|((X?Z[768179]|0:Z[768371]|0)|0)!=0)))))))))))))))<<16);return}if((b8(V)|0)>1)Y=(J8(V,2,0)|0)>>16;else Y=0;if((Y|T)>>>0<8)if(!$)Q=Z[3072716+(Y<<5)+(T<<2)>>2]|0;else Q=Z[3073484+(Y<<5)+(T<<2)>>2]|0;else Q=0;D9(V,Q),z2(4);return}function jJ(V,$,T,X,Y,Q,W,U,S,J,_){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0,U=U|0,S=S|0,J=J|0,_=_|0;var K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0;if(K=q,q=q+32|0,P=K+20|0,O=K+16|0,L=K+12|0,F=K+8|0,z=K+4|0,H=K,Z[P>>2]=T,Z[O>>2]=X,Z[L>>2]=Y,Z[F>>2]=Q,Z[z>>2]=W,Z[H>>2]=U,vO(V),OT(V),$$(V,$,P,O,L,F,z,H),jO(V),U=Z[z>>2]|0,W=Z[H>>2]|0,(U|0)<1|(W|0)<1){q=K;return}if(Q=(S|0)!=0,S=(J|0)!=0,Q&S){J=V+16|0,Y=$+16|0,X=U,T=W,C=0;while(!0){if((X|0)>0){A=~C,y=T,k=X,m=0;while(!0)if(N[(Z[(Z[Y>>2]|0)+((Z[F>>2]|0)+C<<2)>>2]|0)+((Z[L>>2]|0)+m)>>0]=Z[_+((N[(Z[(Z[J>>2]|0)+((Z[O>>2]|0)+A+y<<2)>>2]|0)+(k+~m+(Z[P>>2]|0))>>0]&15)<<2)>>2],m=m+1|0,I=Z[z>>2]|0,u=Z[H>>2]|0,(m|0)>=(I|0)){g=u,i=I;break}else y=u,k=I}else g=T,i=X;if(C=C+1|0,(C|0)>=(g|0))break;else X=i,T=g}q=K;return}if(S){S=V+16|0,g=$+16|0,T=U,i=W,X=0;while(!0){if((T|0)>0){C=~X,J=i,Y=0;while(!0)if(N[(Z[(Z[g>>2]|0)+((Z[F>>2]|0)+X<<2)>>2]|0)+((Z[L>>2]|0)+Y)>>0]=Z[_+((N[(Z[(Z[S>>2]|0)+((Z[O>>2]|0)+C+J<<2)>>2]|0)+((Z[P>>2]|0)+Y)>>0]&15)<<2)>>2],Y=Y+1|0,k=Z[z>>2]|0,y=Z[H>>2]|0,(Y|0)>=(k|0)){t=y,Y0=k;break}else J=y}else t=i,Y0=T;if(X=X+1|0,(X|0)>=(t|0))break;else T=Y0,i=t}q=K;return}if(Q){Q=V+16|0,t=$+16|0,i=U,Y0=W,T=0;while(!0){if((i|0)>0){X=i,S=0;do N[(Z[(Z[t>>2]|0)+((Z[F>>2]|0)+T<<2)>>2]|0)+((Z[L>>2]|0)+S)>>0]=Z[_+((N[(Z[(Z[Q>>2]|0)+((Z[O>>2]|0)+T<<2)>>2]|0)+(X+~S+(Z[P>>2]|0))>>0]&15)<<2)>>2],S=S+1|0,X=Z[z>>2]|0;while((S|0)<(X|0));X0=Z[H>>2]|0,T0=X}else X0=Y0,T0=i;if(T=T+1|0,(T|0)>=(X0|0))break;else i=T0,Y0=X0}q=K;return}X0=$+16|0,$=V+16|0,V=U,U=W,W=0;while(!0){if(!V)Z0=U;else{Y0=(Z[(Z[X0>>2]|0)+((Z[F>>2]|0)+W<<2)>>2]|0)+(Z[L>>2]|0)|0,T0=(Z[(Z[$>>2]|0)+((Z[O>>2]|0)+W<<2)>>2]|0)+(Z[P>>2]|0)|0,i=V;while(!0)if(N[Y0>>0]=Z[_+((N[T0>>0]&15)<<2)>>2],i=i+-1|0,!i)break;else Y0=Y0+1|0,T0=T0+1|0;Z0=Z[H>>2]|0}if(T0=W+1|0,(T0|0)>=(Z0|0))break;V=Z[z>>2]|0,U=Z0,W=T0}q=K;return}function IM(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0;if((V|0)==0|($|0)==0|(Y|0)==0|(Q|0)==0)return;if(W=Z[V>>2]|0,U=Z[V+4>>2]|0,(W|0)==(Y|0)&(U|0)==(Q|0)){kJ(V,$,0,0,T,X,Y,Q);return}if(S=(W<<16|0)/(Y|0)|0,W=(U<<16|0)/(Q|0)|0,J=Z[$+36>>2]|0,_=(J|0)>(X|0),K=J-X|0,P=Q-(_?K:0)|0,Q=_?J:X,X=Z[$+28>>2]|0,J=(X|0)>(T|0),O=X-T|0,L=B(O,S)|0,F=(J?L:0)+((S|0)/2|0)|0,L=Y-(J?O:0)|0,O=J?X:T,T=(Z[$+32>>2]|0)-O|0,X=(L|0)<(T|0)?L:T,T=(Z[$+40>>2]|0)-Q|0,L=(P|0)<(T|0)?P:T,T=L+Q|0,(L|0)<=0)return;if(L=V+16|0,V=$+16|0,(X|0)<=0){$=Q;do $=$+1|0;while(($|0)<(T|0));return}$=B(K,W)|0,K=((W|0)<0?U:0)+((W|0)/2|0)+(_?$:0)|0,$=Q;while(!0){if(Q=Z[(Z[L>>2]|0)+(K>>16<<2)>>2]|0,!(Z[768171]&131072)){_=(Z[(Z[V>>2]|0)+($<<2)>>2]|0)+O|0,U=F,P=0;while(!0){if(J=G[Q+(U>>16)>>0]|0,!(J&240))Y=Z[768168]|0,N[_>>0]=((Y^15)&(G[_>>0]|0)|Y&J&Z[768169])&15;if(P=P+1|0,(P|0)>=(X|0))break;else _=_+1|0,U=U+S|0}}else{U=$<<2&12^12,_=F,P=0;while(!0){if(J=G[Q+(_>>16)>>0]|0,(J&240|0)==0?(Y=P+O|0,z=Z[768171]|0,H=z>>U>>>(Y&3^3)&1,(z&65536|0)==0|(H|0)==0):0)z=(Z[(Z[V>>2]|0)+($<<2)>>2]|0)+Y|0,Y=Z[768168]|0,N[z>>0]=((Y^15)&(G[z>>0]|0)|Y&Z[3072540+((J&15)<<2)>>2]>>(H<<2)&Z[768169])&15;if(P=P+1|0,(P|0)>=(X|0))break;else _=_+S|0}}if($=$+1|0,($|0)>=(T|0))break;else K=K+W|0}return}function kJ(V,$,T,X,Y,Q,W,U){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0,U=U|0;var S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0;if(S=q,q=q+32|0,J=S+20|0,_=S+16|0,K=S+12|0,P=S+8|0,O=S+4|0,L=S,Z[J>>2]=T,Z[_>>2]=X,Z[K>>2]=Y,Z[P>>2]=Q,Z[O>>2]=W,Z[L>>2]=U,!((V|0)!=0&($|0)!=0)){q=S;return}if($$(V,$,J,_,K,P,O,L),!((Z[L>>2]|0)>0&(Z[O>>2]|0)>0)){q=S;return}U=V+16|0,V=$+16|0,$=0;do{if(W=(Z[(Z[U>>2]|0)+((Z[_>>2]|0)+$<<2)>>2]|0)+(Z[J>>2]|0)|0,Q=Z[O>>2]|0,!(Z[768171]&131072)){if(Q|0){Y=(Z[(Z[V>>2]|0)+((Z[P>>2]|0)+$<<2)>>2]|0)+(Z[K>>2]|0)|0,X=W,T=Q;while(!0){if(F=G[X>>0]|0,!(F&240))z=Z[768168]|0,N[Y>>0]=((z^15)&(G[Y>>0]|0)|z&F&Z[768169])&15;if(T=T+-1|0,!T)break;else Y=Y+1|0,X=X+1|0}}}else if((Q|0)>0){X=Q,Y=W,T=0;while(!0){if(F=G[Y>>0]|0,(F&240|0)==0?(z=(Z[K>>2]|0)+T|0,H=(Z[P>>2]|0)+$|0,C=Z[768171]|0,A=C>>(H<<2&12^12)>>>(z&3^3)&1,(C&65536|0)==0|(A|0)==0):0)C=(Z[(Z[V>>2]|0)+(H<<2)>>2]|0)+z|0,z=Z[768168]|0,N[C>>0]=((z^15)&(G[C>>0]|0)|z&Z[3072540+((F&15)<<2)>>2]>>(A<<2)&Z[768169])&15,y=Z[O>>2]|0;else y=X;if(T=T+1|0,(T|0)>=(y|0))break;else X=y,Y=Y+1|0}}$=$+1|0}while(($|0)<(Z[L>>2]|0));q=S;return}function pJ(V,$,T,X,Y,Q,W,U,S){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0,U=U|0,S=S|0;var J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0;if(J=q,q=q+32|0,_=J+20|0,K=J+16|0,P=J+12|0,O=J+8|0,L=J+4|0,F=J,Z[_>>2]=T,Z[K>>2]=X,Z[P>>2]=Y,Z[O>>2]=Q,Z[L>>2]=W,Z[F>>2]=U,!((V|0)!=0&($|0)!=0)){q=J;return}if($$(V,$,_,K,P,O,L,F),!((Z[F>>2]|0)>0&(Z[L>>2]|0)>0)){q=J;return}U=V+16|0,V=$+16|0,$=0;do{if(W=(Z[(Z[U>>2]|0)+((Z[K>>2]|0)+$<<2)>>2]|0)+(Z[_>>2]|0)|0,Q=Z[L>>2]|0,!(Z[768171]&131072)){if(Q|0){Y=(Z[(Z[V>>2]|0)+((Z[O>>2]|0)+$<<2)>>2]|0)+(Z[P>>2]|0)|0,X=W,T=Q;while(!0){if(z=Z[S+((N[X>>0]&15)<<2)>>2]|0,!(z&240))H=Z[768168]|0,N[Y>>0]=((H^15)&(G[Y>>0]|0)|H&z&Z[768169])&15;if(T=T+-1|0,!T)break;else Y=Y+1|0,X=X+1|0}}}else if((Q|0)>0){X=Q,Y=W,T=0;while(!0){if(z=Z[S+((N[Y>>0]&15)<<2)>>2]|0,(z&240|0)==0?(H=(Z[P>>2]|0)+T|0,C=(Z[O>>2]|0)+$|0,A=Z[768171]|0,y=A>>(C<<2&12^12)>>>(H&3^3)&1,(A&65536|0)==0|(y|0)==0):0)A=(Z[(Z[V>>2]|0)+(C<<2)>>2]|0)+H|0,H=Z[768168]|0,N[A>>0]=((H^15)&(G[A>>0]|0)|H&Z[3072540+((z&15)<<2)>>2]>>(y<<2)&Z[768169])&15,k=Z[L>>2]|0;else k=X;if(T=T+1|0,(T|0)>=(k|0))break;else X=k,Y=Y+1|0}}$=$+1|0}while(($|0)<(Z[F>>2]|0));q=J;return}function _X(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0;if(Q=Z[768171]|0,(X|0)<0)return;W=V+28|0,U=V+32|0,S=V+36|0,J=V+40|0,_=(Q&65536|0)==0,K=V+16|0,V=1-X|0,P=X,X=0;while(!0){if(O=P+$|0,L=X+T|0,F=Z[W>>2]|0,((((F|0)<=(O|0)?(Z[U>>2]|0)>(O|0):0)?(Z[S>>2]|0)<=(L|0):0)?(Z[J>>2]|0)>(L|0):0)?(z=Q>>(L<<2&12^12)>>>(O&3^3)&1,_|(z|0)==0):0)H=(Z[(Z[K>>2]|0)+(L<<2)>>2]|0)+O|0,C=Z[768168]|0,N[H>>0]=((C^15)&(G[H>>0]|0)|C&Y>>(z<<2)&Z[768169])&15,A=Z[W>>2]|0;else A=F;if(F=X+$|0,z=P+T|0,((((A|0)<=(F|0)?(Z[U>>2]|0)>(F|0):0)?(Z[S>>2]|0)<=(z|0):0)?(Z[J>>2]|0)>(z|0):0)?(C=Q>>(z<<2&12^12)>>>(F&3^3)&1,_|(C|0)==0):0)H=(Z[(Z[K>>2]|0)+(z<<2)>>2]|0)+F|0,y=Z[768168]|0,N[H>>0]=((y^15)&(G[H>>0]|0)|y&Y>>(C<<2)&Z[768169])&15,k=Z[W>>2]|0;else k=A;if(C=$-P|0,((((k|0)<=(C|0)?(Z[U>>2]|0)>(C|0):0)?(Z[S>>2]|0)<=(L|0):0)?(Z[J>>2]|0)>(L|0):0)?(y=Q>>(L<<2&12^12)>>>(C&3^3)&1,_|(y|0)==0):0)H=(Z[(Z[K>>2]|0)+(L<<2)>>2]|0)+C|0,L=Z[768168]|0,N[H>>0]=((L^15)&(G[H>>0]|0)|L&Y>>(y<<2)&Z[768169])&15,m=Z[W>>2]|0;else m=k;if(y=$-X|0,((((m|0)<=(y|0)?(Z[U>>2]|0)>(y|0):0)?(Z[S>>2]|0)<=(z|0):0)?(Z[J>>2]|0)>(z|0):0)?(L=Q>>(z<<2&12^12)>>>(y&3^3)&1,_|(L|0)==0):0)H=(Z[(Z[K>>2]|0)+(z<<2)>>2]|0)+y|0,z=Z[768168]|0,N[H>>0]=((z^15)&(G[H>>0]|0)|z&Y>>(L<<2)&Z[768169])&15,I=Z[W>>2]|0;else I=m;if(L=T-X|0,((((I|0)<=(C|0)?(Z[U>>2]|0)>(C|0):0)?(Z[S>>2]|0)<=(L|0):0)?(Z[J>>2]|0)>(L|0):0)?(z=Q>>(L<<2&12^12)>>>(C&3^3)&1,_|(z|0)==0):0)H=(Z[(Z[K>>2]|0)+(L<<2)>>2]|0)+C|0,C=Z[768168]|0,N[H>>0]=((C^15)&(G[H>>0]|0)|C&Y>>(z<<2)&Z[768169])&15,u=Z[W>>2]|0;else u=I;if(z=T-P|0,((((u|0)<=(y|0)?(Z[U>>2]|0)>(y|0):0)?(Z[S>>2]|0)<=(z|0):0)?(Z[J>>2]|0)>(z|0):0)?(C=Q>>(z<<2&12^12)>>>(y&3^3)&1,_|(C|0)==0):0)H=(Z[(Z[K>>2]|0)+(z<<2)>>2]|0)+y|0,y=Z[768168]|0,N[H>>0]=((y^15)&(G[H>>0]|0)|y&Y>>(C<<2)&Z[768169])&15,g=Z[W>>2]|0;else g=u;if(((((g|0)<=(O|0)?(Z[U>>2]|0)>(O|0):0)?(Z[S>>2]|0)<=(L|0):0)?(Z[J>>2]|0)>(L|0):0)?(C=Q>>(L<<2&12^12)>>>(O&3^3)&1,_|(C|0)==0):0)y=(Z[(Z[K>>2]|0)+(L<<2)>>2]|0)+O|0,O=Z[768168]|0,N[y>>0]=((O^15)&(G[y>>0]|0)|O&Y>>(C<<2)&Z[768169])&15,i=Z[W>>2]|0;else i=g;if(((((i|0)<=(F|0)?(Z[U>>2]|0)>(F|0):0)?(Z[S>>2]|0)<=(z|0):0)?(Z[J>>2]|0)>(z|0):0)?(C=Q>>(z<<2&12^12)>>>(F&3^3)&1,_|(C|0)==0):0)O=(Z[(Z[K>>2]|0)+(z<<2)>>2]|0)+F|0,F=Z[768168]|0,N[O>>0]=((F^15)&(G[O>>0]|0)|F&Y>>(C<<2)&Z[768169])&15;if(C=X+1|0,F=(V|0)<0,O=P+-1|0,P=F?P:O,(P|0)<=(X|0))break;else V=(C-(F?0:O)<<1|1)+V|0,X=C}return}function qM(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0;if((Z[V+28>>2]|0)>($|0))return;if((Z[V+32>>2]|0)<=($|0))return;if((Z[V+36>>2]|0)>(T|0))return;if((Z[V+40>>2]|0)<=(T|0))return;if(Q=Y>>(T<<2&12^12)>>>($&3^3)&1,!((Y&65536|0)==0|(Q|0)==0))return;Y=(Z[(Z[V+16>>2]|0)+(T<<2)>>2]|0)+$|0,$=Z[768168]|0,N[Y>>0]=(($^15)&(G[Y>>0]|0)|$&X>>(Q<<2)&Z[768169])&15;return}function j9(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0;if(Q=Z[768171]|0,(Z[V+36>>2]|0)>(X|0))return 0;if((Z[V+40>>2]|0)<=(X|0))return 0;if(W=Y&15,U=(Q&65536|0)!=0,S=U?16:Y>>>4&15,Y=Q>>(12-(X<<2)&12),Q=((Y&4|0)==0?W:S)<<8|((Y&8|0)==0?W:S)|((Y&2|0)==0?W:S)<<16|((Y&1|0)==0?W:S)<<24,S=(T|0)<($|0),W=S?$:T,Y=S?T:$,$=Z[V+28>>2]|0,T=(Y|0)<($|0)?$:Y,Y=Z[V+32>>2]|0,$=(W|0)<(Y|0)?W:Y+-1|0,Y=V+16|0,V=Z[(Z[Y>>2]|0)+(X<<2)>>2]|0,W=V+T|0,S=V+(T+3&-4)|0,U){if((T|0)>($|0))return J=($|0)<(T|0),_=1-T|0,K=_+$|0,P=J?0:K,P|0;U=W,V=T;while(!0){if(O=Q>>>(V<<3&24),!(O&16))L=Z[768168]|0,N[U>>0]=((L^15)&(G[U>>0]|0)|L&O&Z[768169])&15;if((V|0)<($|0))U=U+1|0,V=V+1|0;else break}return J=($|0)<(T|0),_=1-T|0,K=_+$|0,P=J?0:K,P|0}V=Z[768169]|0,U=V<<8|V|V<<16|V<<24,V=Z[768168]|0,O=V<<8|V|V<<16|V<<24;Z:do if((T|0)>($|0))F=T;else{V=W,L=T;while(!0){if(z=L&3,!z){F=L;break Z}if(H=Z[768168]|0,N[V>>0]=((H^15)&(G[V>>0]|0)|H&Q>>>(z<<3)&Z[768169])&15,z=L+1|0,(L|0)<($|0))V=V+1|0,L=z;else{F=z;break}}}while(0);if(W=$+1&-4,(F|0)<(W|0)){L=O^252645135,V=U&Q&O,O=F+(W+-1-F&-4)|0,U=S,S=F;while(!0)if(Z[U>>2]=(Z[U>>2]&L|V)&252645135,S=S+4|0,(S|0)>=(W|0))break;else U=U+4|0;C=O+4|0}else C=F;if((C|0)>($|0))return J=($|0)<(T|0),_=1-T|0,K=_+$|0,P=J?0:K,P|0;F=C;while(!0)if(C=(Z[(Z[Y>>2]|0)+(X<<2)>>2]|0)+F|0,O=Z[768168]|0,N[C>>0]=((O^15)&(G[C>>0]|0)|O&Q>>>(F<<3&24)&Z[768169])&15,(F|0)<($|0))F=F+1|0;else break;return J=($|0)<(T|0),_=1-T|0,K=_+$|0,P=J?0:K,P|0}function vM(V,$,T,X,Y,Q,W,U){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0,U=U|0;var S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0;if(S=Z[768171]|0,J=((Y|0)<0)<<31>>31,_=((X|0)<0)<<31>>31,K=v5(X|0,_|0,X|0,_|0)|0,P=x()|0,O=v5(Y|0,J|0,Y|0,J|0)|0,L=x()|0,F=B5(K|0,P|0,2)|0,z=(X|0)%2|0,H=V2(F|0,x()|0,z|0,((z|0)<0)<<31>>31|0)|0,z=V2(O|0,L|0,H|0,x()|0)|0,H=L1(0,0,z|0,x()|0)|0,z=x()|0,F=B5(O|0,L|0,2)|0,C=(Y|0)%2|0,A=V2(F|0,x()|0,C|0,((C|0)<0)<<31>>31|0)|0,C=x()|0,F=V2(K|0,P|0,A|0,C|0)|0,y=L1(0,0,F|0,x()|0)|0,F=x()|0,k=L1(0,0,A|0,C|0)|0,C=x()|0,A=v1(O|0,L|0,1)|0,m=x()|0,I=v1(K|0,P|0,1)|0,u=x()|0,(Y|X|0)<=-1)return g=0,g|0;i=v5(K|0,P|0,-2,-1)|0,t=v5(i|0,x()|0,Y|0,J|0)|0,i=x()|0,Y0=L1(0,0,K|0,P|0)|0,X0=v5(Y0|0,x()|0,Y|0,J|0)|0,Y0=Q+$|0,T0=W+T|0,Z0=V+28|0,W0=(W|0)!=0,W=V+32|0,O0=(Q|0)!=0,Q=V+36|0,y0=V+40|0,E0=(S&65536|0)==0,H0=V+16|0,V=0,D0=0,_0=t,t=i,i=0,F0=Y,Y=J,J=0,k0=X0,X0=x()|0,m0=0;while(!0){if(B0=Y0+i|0,g0=T0+F0|0,((((Z[Z0>>2]|0)<=(B0|0)?(Z[W>>2]|0)>(B0|0):0)?(Z[Q>>2]|0)<=(g0|0):0)?(Z[y0>>2]|0)>(g0|0):0)?(o0=S>>(g0<<2&12^12)>>>(B0&3^3)&1,E0|(o0|0)==0):0)h0=(Z[(Z[H0>>2]|0)+(g0<<2)>>2]|0)+B0|0,C0=Z[768168]|0,N[h0>>0]=((C0^15)&(G[h0>>0]|0)|C0&U>>(o0<<2)&Z[768169])&15;if(o0=m0+2|0,W0|((F0|0)!=0|(Y|0)!=0)){if(O0|((i|0)!=0|(J|0)!=0)){if(C0=$-i|0,h0=T-F0|0,((((Z[Z0>>2]|0)<=(C0|0)?(Z[W>>2]|0)>(C0|0):0)?(Z[Q>>2]|0)<=(h0|0):0)?(Z[y0>>2]|0)>(h0|0):0)?(u0=S>>(h0<<2&12^12)>>>(C0&3^3)&1,E0|(u0|0)==0):0)p0=(Z[(Z[H0>>2]|0)+(h0<<2)>>2]|0)+C0|0,C0=Z[768168]|0,N[p0>>0]=((C0^15)&(G[p0>>0]|0)|C0&U>>(u0<<2)&Z[768169])&15;q0=h0,i0=m0+3|0}else q0=T-F0|0,i0=o0;if(((((Z[Z0>>2]|0)<=(B0|0)?(Z[W>>2]|0)>(B0|0):0)?(Z[Q>>2]|0)<=(q0|0):0)?(Z[y0>>2]|0)>(q0|0):0)?(h0=S>>(q0<<2&12^12)>>>(B0&3^3)&1,E0|(h0|0)==0):0)u0=(Z[(Z[H0>>2]|0)+(q0<<2)>>2]|0)+B0|0,B0=Z[768168]|0,N[u0>>0]=((B0^15)&(G[u0>>0]|0)|B0&U>>(h0<<2)&Z[768169])&15;t0=i0+1|0}else t0=o0;if(O0|((i|0)!=0|(J|0)!=0)){if(o0=$-i|0,((((Z[Z0>>2]|0)<=(o0|0)?(Z[W>>2]|0)>(o0|0):0)?(Z[Q>>2]|0)<=(g0|0):0)?(Z[y0>>2]|0)>(g0|0):0)?(h0=S>>(g0<<2&12^12)>>>(o0&3^3)&1,E0|(h0|0)==0):0)B0=(Z[(Z[H0>>2]|0)+(g0<<2)>>2]|0)+o0|0,o0=Z[768168]|0,N[B0>>0]=((o0^15)&(G[B0>>0]|0)|o0&U>>(h0<<2)&Z[768169])&15;E6=t0+1|0}else E6=t0;h0=v5(i|0,J|0,O|0,L|0)|0,o0=V2(h0|0,x()|0,k0|0,X0|0)|0,h0=x()|0;do if((h0|0)>(z|0)|(h0|0)==(z|0)&o0>>>0>H>>>0?(B0=v5(F0|0,Y|0,K|0,P|0)|0,g0=x()|0,u0=V2(B0|0,g0|0,k0|0,X0|0)|0,C0=x()|0,(C0|0)>(C|0)|(C0|0)==(C|0)&u0>>>0>k>>>0):0)if(u0=L1(k0|0,X0|0,B0|0,g0|0)|0,g0=x()|0,(g0|0)>(F|0)|(g0|0)==(F|0)&u0>>>0>y>>>0){u0=V2(F0|0,Y|0,-1,-1)|0,g0=x()|0,B0=V2(_0|0,t|0,I|0,u|0)|0,C0=x()|0,p0=V2(B0|0,C0|0,k0|0,X0|0)|0,V6=g0,n0=u0,e0=J,Z6=i,U6=p0,N6=x()|0,A6=V,S6=D0,H6=B0,M6=C0;break}else{C0=V2(i|0,J|0,1,0)|0,B0=x()|0,p0=V2(V|0,D0|0,A|0,m|0)|0,u0=x()|0,g0=V2(p0|0,u0|0,k0|0,X0|0)|0,F6=x()|0,J6=V2(F0|0,Y|0,-1,-1)|0,L6=x()|0,c0=V2(_0|0,t|0,I|0,u|0)|0,T6=x()|0,W6=V2(g0|0,F6|0,c0|0,T6|0)|0,V6=L6,n0=J6,e0=B0,Z6=C0,U6=W6,N6=x()|0,A6=p0,S6=u0,H6=c0,M6=T6;break}else h6=36;while(0);if((h6|0)==36)h6=0,o0=V2(i|0,J|0,1,0)|0,h0=x()|0,T6=V2(V|0,D0|0,A|0,m|0)|0,c0=x()|0,u0=V2(T6|0,c0|0,k0|0,X0|0)|0,V6=Y,n0=F0,e0=h0,Z6=o0,U6=u0,N6=x()|0,A6=T6,S6=c0,H6=_0,M6=t;if(((V6|0)>-1|(V6|0)==-1&n0>>>0>4294967295)&((e0|0)<(_|0)|(e0|0)==(_|0)&Z6>>>0<=X>>>0))V=A6,D0=S6,_0=H6,t=M6,i=Z6,F0=n0,Y=V6,J=e0,k0=U6,X0=N6,m0=E6;else{g=E6;break}}return g|0}function mJ(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0;if(W=(X|0)<($|0),U=W?$:X,S=W?X:$,$=(Y|0)<(T|0),X=$?T:Y,W=$?Y:T,T=X-W|0,(T|0)>=2?(Y=U-S|0,(Y|0)>=2):0){if($=U+S>>1,J=X+W>>1,_=Y>>>1,K=T>>>1,P=Z[V+32>>2]|0,O=Z[V+28>>2]|0,((Y|0)>(P-O|0)?(L=((_*7|0)>>>0)/10|0,!((L+$|0)<(P|0)|($-L|0)>=(O|0))):0)?(L=((K*7|0)>>>0)/10|0,(J-L|0)<(Z[V+36>>2]|0)):0)if(F=Z[V+40>>2]|0,(U|0)<(O|0)|((S|0)>=(P|0)|(L+J|0)>=(F|0)))return z=0,z|0;else H=F;else C=9;do if((C|0)==9)if((S|0)>=(P|0)|(U|0)<(O|0))return z=0,z|0;else{H=Z[V+40>>2]|0;break}while(0);if((W|0)>=(H|0))return z=0,z|0;if((X|0)<(Z[V+36>>2]|0))return z=0,z|0;return z=vM(V,$,J,_,K,Y&1,T&1,Q)|0,z|0}T=0,Y=W;while(!0)if(W=(j9(V,S,U,Y,Q)|0)+T|0,(Y|0)<(X|0))T=W,Y=Y+1|0;else{z=W;break}return z|0}function jM(V,$,T,X,Y,Q,W,U){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0,U=U|0;var S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0;if(S=((Y|0)<0)<<31>>31,J=((X|0)<0)<<31>>31,_=v5(X|0,J|0,X|0,J|0)|0,K=x()|0,P=v5(Y|0,S|0,Y|0,S|0)|0,O=x()|0,L=B5(_|0,K|0,2)|0,F=(X|0)%2|0,z=V2(L|0,x()|0,F|0,((F|0)<0)<<31>>31|0)|0,F=V2(P|0,O|0,z|0,x()|0)|0,z=L1(0,0,F|0,x()|0)|0,F=x()|0,L=B5(P|0,O|0,2)|0,H=(Y|0)%2|0,C=V2(L|0,x()|0,H|0,((H|0)<0)<<31>>31|0)|0,H=x()|0,L=V2(_|0,K|0,C|0,H|0)|0,A=L1(0,0,L|0,x()|0)|0,L=x()|0,y=L1(0,0,C|0,H|0)|0,H=x()|0,C=v1(P|0,O|0,1)|0,k=x()|0,m=v1(_|0,K|0,1)|0,I=x()|0,(Y|X|0)<0)u=0;else{g=v5(_|0,K|0,-2,-1)|0,i=v5(g|0,x()|0,Y|0,S|0)|0,g=x()|0,t=L1(0,0,_|0,K|0)|0,Y0=v5(t|0,x()|0,Y|0,S|0)|0,t=Q+$|0,X0=W+T|0,T0=0,Z0=0,W0=Y0,Y0=x()|0,O0=Y,y0=S,S=0,E0=0,H0=i,i=g,g=0;while(!0){D0=g+8|0,_0=v5(T0|0,Z0|0,P|0,O|0)|0,F0=V2(_0|0,x()|0,W0|0,Y0|0)|0,_0=x()|0;do if((_0|0)>(F|0)|(_0|0)==(F|0)&F0>>>0>z>>>0?(k0=v5(O0|0,y0|0,_|0,K|0)|0,m0=x()|0,B0=V2(k0|0,m0|0,W0|0,Y0|0)|0,g0=x()|0,(g0|0)>(H|0)|(g0|0)==(H|0)&B0>>>0>y>>>0):0){if(B0=L1(W0|0,Y0|0,k0|0,m0|0)|0,m0=x()|0,k0=$-T0|0,g0=t+T0|0,o0=(j9(V,k0,g0,T-O0|0,U)|0)+D0|0,!((m0|0)>(L|0)|(m0|0)==(L|0)&B0>>>0>A>>>0)){B0=(j9(V,k0,g0,X0+O0|0,U)|0)+o0|0,m0=V2(T0|0,Z0|0,1,0)|0,h0=x()|0,C0=V2(S|0,E0|0,C|0,k|0)|0,u0=x()|0,p0=V2(C0|0,u0|0,W0|0,Y0|0)|0,q0=x()|0,i0=V2(O0|0,y0|0,-1,-1)|0,t0=x()|0,E6=V2(H0|0,i|0,m|0,I|0)|0,V6=x()|0,n0=V2(p0|0,q0|0,E6|0,V6|0)|0,e0=t0,Z6=h0,U6=m0,N6=n0,A6=x()|0,S6=C0,H6=u0,M6=E6,F6=V6,J6=i0,L6=B0;break}if((O0|0)==0&(y0|0)==0)c0=o0;else c0=(j9(V,k0,g0,X0+O0|0,U)|0)+o0|0;o0=V2(O0|0,y0|0,-1,-1)|0,g0=x()|0,k0=V2(H0|0,i|0,m|0,I|0)|0,B0=x()|0,i0=V2(k0|0,B0|0,W0|0,Y0|0)|0,e0=g0,Z6=Z0,U6=T0,N6=i0,A6=x()|0,S6=S,H6=E0,M6=k0,F6=B0,J6=o0,L6=c0}else T6=5;while(0);if((T6|0)==5)T6=0,F0=V2(T0|0,Z0|0,1,0)|0,_0=x()|0,o0=V2(S|0,E0|0,C|0,k|0)|0,B0=x()|0,k0=V2(o0|0,B0|0,W0|0,Y0|0)|0,e0=y0,Z6=_0,U6=F0,N6=k0,A6=x()|0,S6=o0,H6=B0,M6=H0,F6=i,J6=O0,L6=D0;if((e0|0)<0|((Z6|0)>(J|0)|(Z6|0)==(J|0)&U6>>>0>X>>>0)){u=L6;break}else T0=U6,Z0=Z6,W0=N6,Y0=A6,O0=J6,y0=e0,S=S6,E0=H6,H0=M6,i=F6,g=L6}}if(!W)W6=u;else W6=(j9(V,$-X|0,X+$+Q|0,T+1|0,U)|0)+u|0;if(Y|0)return h6=W6,h6|0;return h6=(j9(V,$-X|0,X+$|0,T,U)|0)+W6|0,h6|0}function kM(V,$,T,X,Y,Q,W,U){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0,U=U|0;var S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0;if(S=B(X,X)|0,J=B(Y,Y)|0,_=0-(J+(((X|0)%2|0)+(S>>>2)))|0,K=(J>>>2)+((Y|0)%2|0)|0,P=0-(S+K)|0,O=0-K|0,K=J<<1,L=S<<1,(Y|X|0)<0)F=0;else{z=Q+$|0,H=W+T|0,C=0,A=0,y=B(B(S,-2)|0,Y)|0,k=B(0-S|0,Y)|0,m=0,I=Y;while(!0){u=C+8|0;do if(((B(m,J)|0)+k|0)>(_|0)?(g=B(I,S)|0,(g+k|0)>(O|0)):0){if(i=$-m|0,t=z+m|0,Y0=(j9(V,i,t,T-I|0,U)|0)+u|0,(k-g|0)<=(P|0)){g=A+K|0,X0=y+L|0,T0=(j9(V,i,t,H+I|0,U)|0)+Y0|0,Z0=g,W0=X0,O0=g+k+X0|0,y0=m+1|0,E0=I+-1|0;break}if(!I)H0=Y0;else H0=(j9(V,i,t,H+I|0,U)|0)+Y0|0;Y0=y+L|0,T0=H0,Z0=A,W0=Y0,O0=Y0+k|0,y0=m,E0=I+-1|0}else D0=5;while(0);if((D0|0)==5)D0=0,Y0=A+K|0,T0=u,Z0=Y0,W0=y,O0=Y0+k|0,y0=m+1|0,E0=I;if((E0|0)<0|(y0|0)>(X|0)){F=T0;break}else C=T0,A=Z0,y=W0,k=O0,m=y0,I=E0}}if(!W)_0=F;else _0=(j9(V,$-X|0,X+$+Q|0,T+1|0,U)|0)+F|0;if(Y|0)return F0=_0,F0|0;return F0=(j9(V,$-X|0,X+$|0,T,U)|0)+_0|0,F0|0}function uJ(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0;if(W=(X|0)<($|0),U=W?$:X,S=W?X:$,$=(Y|0)<(T|0),X=$?T:Y,W=$?Y:T,T=X-W|0,(T|0)>=2?(Y=U-S|0,(Y|0)>=2):0){if($=U+S>>1,J=X+W>>1,_=Y>>>1,K=T>>>1,P=Z[V+32>>2]|0,O=Z[V+28>>2]|0,(((Y|0)>(P-O|0)?(L=((_*7|0)>>>0)/10|0,!((L+$|0)<(P|0)|($-L|0)>=(O|0))):0)?(L=((K*7|0)>>>0)/10|0,F=Z[V+36>>2]|0,(J-L|0)<(F|0)):0)?(z=Z[V+40>>2]|0,(L+J|0)>=(z|0)):0){L=Z[730449]|0,H=(P|0)<(O|0),C=H?O:P,A=H?P:O,H=(z|0)<(F|0),y=H?F:z,k=0,m=H?z:F;while(!0)if(F=(j9(L,A,C,m,Q)|0)+k|0,(m|0)<(y|0))k=F,m=m+1|0;else{I=F;break}return I|0}if((S|0)>=(P|0)|(U|0)<(O|0))return I=0,I|0;if((W|0)>=(Z[V+40>>2]|0))return I=0,I|0;if((X|0)<(Z[V+36>>2]|0))return I=0,I|0;if(O=Y&1,P=T&1,(Y|0)<128&(T|0)<128)return I=kM(V,$,J,_,K,O,P,Q)|0,I|0;else return I=jM(V,$,J,_,K,O,P,Q)|0,I|0}P=0,O=W;while(!0)if(W=(j9(V,S,U,O,Q)|0)+P|0,(O|0)<(X|0))P=W,O=O+1|0;else{I=W;break}return I|0}function KX(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0;W=(X|0)<($|0),U=W?$:X,S=W?X:$,$=(Y|0)<(T|0),X=$?T:Y,W=0,J=$?Y:T;while(!0)if(W=(j9(V,S,U,J,Q)|0)+W|0,(J|0)>=(X|0))break;else J=J+1|0;return W|0}function pY(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0;W=q,q=q+128|0,U=W+64|0,S=W,J=S,_=1920,K=J+64|0;do Z[J>>2]=Z[_>>2],J=J+4|0,_=_+4|0;while((J|0)<(K|0));if((Q|0)==1){J=S,_=1984,K=J+64|0;do Z[J>>2]=Z[_>>2],J=J+4|0,_=_+4|0;while((J|0)<(K|0));J=U,K=J+64|0;do Z[J>>2]=0,J=J+4|0;while((J|0)<(K|0));if(!((T|0)>(Y|0)|($|0)>(X|0))){J=Z[V+16>>2]|0,K=T;while(!0){_=Z[J+(K<<2)>>2]|0,Q=$;while(!0)if(P=U+(Z[2048+((N[_+Q>>0]&15)<<2)>>2]<<2)|0,Z[P>>2]=(Z[P>>2]|0)+1,(Q|0)<(X|0))Q=Q+1|0;else break;if((K|0)<(Y|0))K=K+1|0;else break}}if(K=(B(1-$+X<<1,1-T+Y|0)|0)/3|0,J=(Z[U+4>>2]|0)+(Z[U>>2]|0)-K|0,Q=(J|0)<0?0-J|0:J,J=(Z[U+8>>2]|0)+((Z[U+4>>2]|0)+(Z[U>>2]|0))-K|0,_=(J|0)<0?0-J|0:J,J=(_|0)<(Q|0),P=J?_:Q,Q=(Z[U+12>>2]|0)+((Z[U+8>>2]|0)+((Z[U+4>>2]|0)+(Z[U>>2]|0)))-K|0,_=(Q|0)<0?0-Q|0:Q,Q=(_|0)<(P|0),O=Q?_:P,P=(Z[U+16>>2]|0)+((Z[U+12>>2]|0)+((Z[U+8>>2]|0)+((Z[U+4>>2]|0)+(Z[U>>2]|0))))-K|0,_=(P|0)<0?0-P|0:P,P=(_|0)<(O|0),L=P?_:O,O=(Z[U+20>>2]|0)+((Z[U+16>>2]|0)+((Z[U+12>>2]|0)+((Z[U+8>>2]|0)+((Z[U+4>>2]|0)+(Z[U>>2]|0)))))-K|0,_=(O|0)<0?0-O|0:O,O=(_|0)<(L|0),F=O?_:L,L=(Z[U+24>>2]|0)+((Z[U+20>>2]|0)+((Z[U+16>>2]|0)+((Z[U+12>>2]|0)+((Z[U+8>>2]|0)+((Z[U+4>>2]|0)+(Z[U>>2]|0))))))-K|0,_=(L|0)<0?0-L|0:L,L=(_|0)<(F|0),z=L?_:F,F=(Z[U+28>>2]|0)+((Z[U+24>>2]|0)+((Z[U+20>>2]|0)+((Z[U+16>>2]|0)+((Z[U+12>>2]|0)+((Z[U+8>>2]|0)+((Z[U+4>>2]|0)+(Z[U>>2]|0)))))))-K|0,_=(F|0)<0?0-F|0:F,F=(_|0)<(z|0),H=F?_:z,z=(Z[U+32>>2]|0)+((Z[U+28>>2]|0)+((Z[U+24>>2]|0)+((Z[U+20>>2]|0)+((Z[U+16>>2]|0)+((Z[U+12>>2]|0)+((Z[U+8>>2]|0)+((Z[U+4>>2]|0)+(Z[U>>2]|0))))))))-K|0,_=(z|0)<0?0-z|0:z,z=(_|0)<(H|0),C=z?_:H,H=(Z[U+36>>2]|0)+((Z[U+32>>2]|0)+((Z[U+28>>2]|0)+((Z[U+24>>2]|0)+((Z[U+20>>2]|0)+((Z[U+16>>2]|0)+((Z[U+12>>2]|0)+((Z[U+8>>2]|0)+((Z[U+4>>2]|0)+(Z[U>>2]|0)))))))))-K|0,_=(H|0)<0?0-H|0:H,H=(_|0)<(C|0),A=H?_:C,C=(Z[U+40>>2]|0)+((Z[U+36>>2]|0)+((Z[U+32>>2]|0)+((Z[U+28>>2]|0)+((Z[U+24>>2]|0)+((Z[U+20>>2]|0)+((Z[U+16>>2]|0)+((Z[U+12>>2]|0)+((Z[U+8>>2]|0)+((Z[U+4>>2]|0)+(Z[U>>2]|0))))))))))-K|0,_=(C|0)<0?0-C|0:C,C=(_|0)<(A|0),y=C?_:A,A=(Z[U+44>>2]|0)+((Z[U+40>>2]|0)+((Z[U+36>>2]|0)+((Z[U+32>>2]|0)+((Z[U+28>>2]|0)+((Z[U+24>>2]|0)+((Z[U+20>>2]|0)+((Z[U+16>>2]|0)+((Z[U+12>>2]|0)+((Z[U+8>>2]|0)+((Z[U+4>>2]|0)+(Z[U>>2]|0)))))))))))-K|0,_=(A|0)<0?0-A|0:A,A=(_|0)<(y|0),k=A?12:C?11:H?10:z?9:F?8:L?7:O?6:P?5:Q?4:J?3:2,J=A?_:y,y=(Z[U+48>>2]|0)+((Z[U+44>>2]|0)+((Z[U+40>>2]|0)+((Z[U+36>>2]|0)+((Z[U+32>>2]|0)+((Z[U+28>>2]|0)+((Z[U+24>>2]|0)+((Z[U+20>>2]|0)+((Z[U+16>>2]|0)+((Z[U+12>>2]|0)+((Z[U+8>>2]|0)+((Z[U+4>>2]|0)+(Z[U>>2]|0))))))))))))-K|0,_=(y|0)<0?0-y|0:y,y=(k|0)==-1|(_|0)<(J|0),A=y?13:k,k=y?_:J,J=(Z[U+52>>2]|0)+((Z[U+48>>2]|0)+((Z[U+44>>2]|0)+((Z[U+40>>2]|0)+((Z[U+36>>2]|0)+((Z[U+32>>2]|0)+((Z[U+28>>2]|0)+((Z[U+24>>2]|0)+((Z[U+20>>2]|0)+((Z[U+16>>2]|0)+((Z[U+12>>2]|0)+((Z[U+8>>2]|0)+((Z[U+4>>2]|0)+(Z[U>>2]|0)))))))))))))-K|0,_=(J|0)<0?0-J|0:J,J=(A|0)==-1|(_|0)<(k|0),y=J?14:A,A=(Z[U+56>>2]|0)+((Z[U+52>>2]|0)+((Z[U+48>>2]|0)+((Z[U+44>>2]|0)+((Z[U+40>>2]|0)+((Z[U+36>>2]|0)+((Z[U+32>>2]|0)+((Z[U+28>>2]|0)+((Z[U+24>>2]|0)+((Z[U+20>>2]|0)+((Z[U+16>>2]|0)+((Z[U+12>>2]|0)+((Z[U+8>>2]|0)+((Z[U+4>>2]|0)+(Z[U>>2]|0))))))))))))))-K|0,K=((y|0)==-1?1:(((A|0)<0?0-A|0:A)|0)<((J?_:k)|0))?15:y,!(O2(225)|0))Z[S>>2]=(K|0)<1&1,Z[S+4>>2]=(K|0)<2&1,Z[S+8>>2]=(K|0)<4&1,Z[S+12>>2]=(K|0)<6&1,Z[S+16>>2]=(K|0)<5&1,Z[S+20>>2]=(K|0)<3&1,Z[S+24>>2]=(K|0)<12&1,Z[S+28>>2]=(K|0)<16&1,Z[S+32>>2]=(K|0)<8&1,Z[S+36>>2]=(K|0)<13&1,Z[S+40>>2]=(K|0)<14&1,Z[S+44>>2]=(K|0)<10&1,Z[S+48>>2]=(K|0)<9&1,Z[S+52>>2]=(K|0)<7&1,Z[S+56>>2]=(K|0)<11&1,Z[S+60>>2]=(K|0)<15&1}if((T|0)>(Y|0)){q=W;return}if(K=V+16|0,($|0)>(X|0)){q=W;return}V=T;while(!0){T=$;while(!0)if(y=(Z[(Z[K>>2]|0)+(V<<2)>>2]|0)+T|0,N[y>>0]=Z[S+((N[y>>0]&15)<<2)>>2],(T|0)<(X|0))T=T+1|0;else break;if((V|0)<(Y|0))V=V+1|0;else break}q=W;return}function pM(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0;if(W=Z[768171]|0,U=(Y|0)<(T|0),S=U?T:Y,J=U?$:X,_=U?Y:T,T=U?X:$,$=J-T|0,X=(($|0)<0)<<31>>31,U=S-_|0,Y=((U|0)<0)<<31>>31,K=(X|0)<0,P=L1(0,0,$|0,X|0)|0,O=x()|0,L=K?P:$,P=K?O:X,O=(Y|0)<0,K=L1(0,0,U|0,Y|0)|0,F=x()|0,z=O?K:U,K=O?F:Y,F=(P|0)>(K|0)|(P|0)==(K|0)&L>>>0>z>>>0,K=F?L:z,z=((K|0)<0)<<31>>31,(K|0)>0)L=v1(U|0,Y|0,16)|0,F=x()|0,P=v1($|0,X|0,16)|0,O=q5(P|0,x()|0,K|0,z|0)|0,P=x()|0,H=q5(L|0,F|0,K|0,z|0)|0,C=H,A=x()|0,y=O,k=P;else C=U,A=Y,y=$,k=X;if(X=Z[V+36>>2]|0,(S|0)<(X|0))return m=0,m|0;if($=Z[V+40>>2]|0,(_|0)>=($|0))return m=0,m|0;if(Y=Z[V+28>>2]|0,U=(T|0)<(Y|0),P=(J|0)<(Y|0),U&P)return m=0,m|0;if(O=Z[V+32>>2]|0,H=(T|0)<(O|0),F=(J|0)<(O|0),!(H|F))return m=0,m|0;if(J=T<<16|32768,T=((J|0)<0)<<31>>31,L=_<<16|32768,I=((L|0)<0)<<31>>31,(_|0)<(X|0))_=X<<16,X=L1(_|0,((_|0)<0)<<31>>31|0,L|0,I|0)|0,_=v1(X|0,x()|0,16)|0,X=q5(_|0,x()|0,C|0,A|0)|0,_=K4(X|0,x()|0,16)|0,X=V2(_|0,x()|0,1,0)|0,_=x()|0,u=(_|0)>0|(_|0)==0&X>>>0>0,_=u?X:0,g=_;else g=0;if((S|0)<($|0))i=K;else S=$<<16,$=L1(S|0,((S|0)<0)<<31>>31|0,L|0,I|0)|0,I=v1($|0,x()|0,16)|0,$=V2(I|0,x()|0,-65536,-1)|0,I=q5($|0,x()|0,C|0,A|0)|0,A=K4(I|0,x()|0,16)|0,I=x()|0,$=(I|0)>(z|0)|(I|0)==(z|0)&A>>>0>K>>>0,z=$?K:A,i=z;if(U)U=Y<<16,z=L1(U|0,((U|0)<0)<<31>>31|0,J|0,T|0)|0,U=v1(z|0,x()|0,16)|0,z=q5(U|0,x()|0,y|0,k|0)|0,U=K4(z|0,x()|0,16)|0,z=V2(U|0,x()|0,1,0)|0,U=x()|0,A=((g|0)<0)<<31>>31,K=(U|0)<(A|0)|(U|0)==(A|0)&z>>>0>>0,A=K?g:z,t=A;else t=g;if(H)Y0=t;else H=O<<16,g=L1(J|0,T|0,H|0,((H|0)<0)<<31>>31|0)|0,H=v1(g|0,x()|0,16)|0,g=x()|0,A=L1(0,0,y|0,k|0)|0,z=q5(H|0,g|0,A|0,x()|0)|0,A=K4(z|0,x()|0,16)|0,z=V2(A|0,x()|0,1,0)|0,A=x()|0,g=((t|0)<0)<<31>>31,H=(A|0)<(g|0)|(A|0)==(g|0)&z>>>0>>0,g=H?t:z,Y0=g;if(P)P=Y<<16,Y=L1(J|0,T|0,P|0,((P|0)<0)<<31>>31|0)|0,P=v1(Y|0,x()|0,16)|0,Y=V2(P|0,x()|0,-65536,-1)|0,P=x()|0,g=L1(0,0,y|0,k|0)|0,z=q5(Y|0,P|0,g|0,x()|0)|0,g=K4(z|0,x()|0,16)|0,z=x()|0,P=((i|0)<0)<<31>>31,Y=(z|0)>(P|0)|(z|0)==(P|0)&g>>>0>i>>>0,P=Y?i:g,X0=P;else X0=i;if(F)T0=X0;else F=O<<16,O=L1(F|0,((F|0)<0)<<31>>31|0,J|0,T|0)|0,T=v1(O|0,x()|0,16)|0,O=V2(T|0,x()|0,-65536,-1)|0,T=q5(O|0,x()|0,y|0,k|0)|0,k=K4(T|0,x()|0,16)|0,T=x()|0,O=((X0|0)<0)<<31>>31,F=(T|0)>(O|0)|(T|0)==(O|0)&k>>>0>X0>>>0,O=F?X0:k,T0=O;if(O=T0-Y0|0,T0=O+1|0,k=(B(Y0,y)|0)+J|0,J=(B(Y0,C)|0)+L|0,(O|0)<=-1)return m=T0,m|0;if(L=V+16|0,!(W&65536)){V=O,Y0=k,X0=J;while(!0)if(F=Y0>>16,T=X0>>16,i=(Z[(Z[L>>2]|0)+(T<<2)>>2]|0)+F|0,P=Z[768168]|0,N[i>>0]=((P^15)&(G[i>>0]|0)|P&Q>>(W>>(T<<2&12^12)>>>(F&3^3)<<2&4)&Z[768169])&15,(V|0)>0)V=V+-1|0,Y0=Y0+y|0,X0=X0+C|0;else{m=T0;break}return m|0}X0=O,O=k,k=J;while(!0){if(J=O>>16,Y0=k>>16,!(W>>(Y0<<2&12^12)&1<<(J&3^3)))V=(Z[(Z[L>>2]|0)+(Y0<<2)>>2]|0)+J|0,J=Z[768168]|0,N[V>>0]=((J^15)&(G[V>>0]|0)|J&Q&Z[768169])&15;if((X0|0)>0)X0=X0+-1|0,O=O+y|0,k=k+C|0;else{m=T0;break}}return m|0}function mM(V,$,T,X,Y,Q,W,U,S,J,_){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0,U=U|0,S=S|0,J=J|0,_=_|0;var K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0;if(K=Z[769129]|0,P=Z[K+8>>2]|0,O=(d8(2921764,K,24376)|0)+255&255,K=(d8(2921764,Z[769129]|0,24377)|0)+255&255,L=d8(2921764,Z[769129]|0,24378)|0,F=d8(2921764,Z[769129]|0,24379)|0,z=(N[3100894]<<4&255)<<24>>24>>7<<24>>24,H=$>>16,$=T>>16,T=X>>16,X=Y>>16,Y=T-H|0,C=((Y|0)<0)<<31>>31,A=X-$|0,y=((A|0)<0)<<31>>31,k=(C|0)<0,m=L1(0,0,Y|0,C|0)|0,I=x()|0,u=k?m:Y,g=k?I:C,k=(y|0)<0,i=L1(0,0,A|0,y|0)|0,t=x()|0,Y0=k?i:A,X0=k?t:y,k=(g|0)>(X0|0)|(g|0)==(X0|0)&u>>>0>Y0>>>0,X0=k?u:Y0,Y0=(X|0)<($|0),u=B(X0,U)|0,k=B(X0,S)|0,g=Y0?i:A,A=Y0?t:y,y=Y0?m:Y,Y=Y0?I:C,C=Y0?0-S|0:S,S=Y0?0-U|0:U,U=Y0?$:X,I=Y0?H:T,m=Y0?X:$,$=Y0?T:H,H=((X0|0)<0)<<31>>31,(X0|0)>0)T=v1(g|0,A|0,16)|0,X=x()|0,t=v1(y|0,Y|0,16)|0,i=q5(t|0,x()|0,X0|0,H|0)|0,t=x()|0,T0=q5(T|0,X|0,X0|0,H|0)|0,Z0=T0,W0=x()|0,O0=i,y0=t;else Z0=g,W0=A,O0=y,y0=Y;if(Y=Z[V+36>>2]|0,(U|0)<(Y|0))return E0=0,E0|0;if(y=Z[V+40>>2]|0,(m|0)>=(y|0))return E0=0,E0|0;if(A=Z[V+28>>2]|0,g=($|0)<(A|0),t=(I|0)<(A|0),g&t)return E0=0,E0|0;if(i=Z[V+32>>2]|0,T0=($|0)<(i|0),X=(I|0)<(i|0),!(T0|X))return E0=0,E0|0;if(I=$<<16|32768,$=((I|0)<0)<<31>>31,T=m<<16|32768,H0=((T|0)<0)<<31>>31,(m|0)<(Y|0))m=Y<<16,Y=L1(m|0,((m|0)<0)<<31>>31|0,T|0,H0|0)|0,m=v1(Y|0,x()|0,16)|0,Y=q5(m|0,x()|0,Z0|0,W0|0)|0,m=K4(Y|0,x()|0,16)|0,Y=V2(m|0,x()|0,1,0)|0,m=x()|0,D0=(m|0)>0|(m|0)==0&Y>>>0>0,m=D0?Y:0,_0=m;else _0=0;if((U|0)<(y|0))F0=X0;else U=y<<16,y=L1(U|0,((U|0)<0)<<31>>31|0,T|0,H0|0)|0,U=v1(y|0,x()|0,16)|0,y=V2(U|0,x()|0,-65536,-1)|0,U=q5(y|0,x()|0,Z0|0,W0|0)|0,y=K4(U|0,x()|0,16)|0,U=x()|0,m=(U|0)>(H|0)|(U|0)==(H|0)&y>>>0>X0>>>0,H=m?X0:y,F0=H;if(g)g=A<<16,H=L1(g|0,((g|0)<0)<<31>>31|0,I|0,$|0)|0,g=v1(H|0,x()|0,16)|0,H=q5(g|0,x()|0,O0|0,y0|0)|0,g=K4(H|0,x()|0,16)|0,H=V2(g|0,x()|0,1,0)|0,g=x()|0,y=((_0|0)<0)<<31>>31,X0=(g|0)<(y|0)|(g|0)==(y|0)&H>>>0<_0>>>0,y=X0?_0:H,k0=y;else k0=_0;if(T0)m0=k0;else T0=i<<16,_0=L1(I|0,$|0,T0|0,((T0|0)<0)<<31>>31|0)|0,T0=v1(_0|0,x()|0,16)|0,_0=x()|0,y=L1(0,0,O0|0,y0|0)|0,H=q5(T0|0,_0|0,y|0,x()|0)|0,y=K4(H|0,x()|0,16)|0,H=V2(y|0,x()|0,1,0)|0,y=x()|0,_0=((k0|0)<0)<<31>>31,T0=(y|0)<(_0|0)|(y|0)==(_0|0)&H>>>0>>0,_0=T0?k0:H,m0=_0;if(t)t=A<<16,A=L1(I|0,$|0,t|0,((t|0)<0)<<31>>31|0)|0,t=v1(A|0,x()|0,16)|0,A=V2(t|0,x()|0,-65536,-1)|0,t=x()|0,_0=L1(0,0,O0|0,y0|0)|0,H=q5(A|0,t|0,_0|0,x()|0)|0,_0=K4(H|0,x()|0,16)|0,H=x()|0,t=((F0|0)<0)<<31>>31,A=(H|0)>(t|0)|(H|0)==(t|0)&_0>>>0>F0>>>0,t=A?F0:_0,B0=t;else B0=F0;if(X)g0=B0;else X=i<<16,i=L1(X|0,((X|0)<0)<<31>>31|0,I|0,$|0)|0,X=v1(i|0,x()|0,16)|0,i=V2(X|0,x()|0,-65536,-1)|0,X=q5(i|0,x()|0,O0|0,y0|0)|0,i=K4(X|0,x()|0,16)|0,X=x()|0,F0=((B0|0)<0)<<31>>31,t=(X|0)>(F0|0)|(X|0)==(F0|0)&i>>>0>B0>>>0,F0=t?B0:i,g0=F0;if(F0=((m0|0)<0)<<31>>31,i=v5(O0|0,y0|0,m0|0,F0|0)|0,B0=V2(i|0,x()|0,I|0,$|0)|0,$=x()|0,I=v5(Z0|0,W0|0,m0|0,F0|0)|0,F0=V2(I|0,x()|0,T|0,H0|0)|0,H0=x()|0,T=(Y0?u:0)+Q+(B(m0,S)|0)|0,Q=(Y0?k:0)+W+(B(m0,C)|0)|0,W=g0-m0|0,m0=W+1|0,g0=(_|0)<0?13:_,_=g0+3|0,!(Z[768171]&131072)){if((W|0)<=-1)return E0=m0,E0|0;if(k=V+16|0,!J){Y0=F0,u=H0,I=B0,i=$,t=T,X=Q,_0=W;while(!0){if(A=_T((t>>_&O)+L|0,(X>>_&K)+F|0)|0,(A|0)!=(z|0)?(H=(A|0)/16|0,k0=Z[3072412+(((r3(P,A-(H<<4)<<3|t>>g0&7,H<<3|X>>g0&7)|0)&15)<<2)>>2]|0,(k0&16|0)==0):0)H=Z[k>>2]|0,A=B5(Y0|0,u|0,16)|0,x()|0,T0=Z[H+(A<<2)>>2]|0,A=B5(I|0,i|0,16)|0,x()|0,H=T0+A|0,A=Z[768168]|0,N[H>>0]=((A^15)&(G[H>>0]|0)|A&k0&Z[768169])&15;if(I=V2(I|0,i|0,O0|0,y0|0)|0,i=x()|0,Y0=V2(Y0|0,u|0,Z0|0,W0|0)|0,u=x()|0,(_0|0)<=0){E0=m0;break}else t=t+S|0,X=X+C|0,_0=_0+-1|0}return E0|0}_0=F0,X=H0,H0=B0,t=$,$=T,u=Q,Y0=W;while(!0){if(i=_T(($>>_&O)+L|0,(u>>_&K)+F|0)|0,((i|0)!=(z|0)?Z[(Z[769129]|0)+43552+(i<<2)>>2]&J|0:0)?(I=(i|0)/16|0,k0=Z[3072412+(((r3(P,i-(I<<4)<<3|$>>g0&7,I<<3|u>>g0&7)|0)&15)<<2)>>2]|0,(k0&16|0)==0):0)I=Z[k>>2]|0,i=B5(_0|0,X|0,16)|0,x()|0,A=Z[I+(i<<2)>>2]|0,i=B5(H0|0,t|0,16)|0,x()|0,I=A+i|0,i=Z[768168]|0,N[I>>0]=((i^15)&(G[I>>0]|0)|i&k0&Z[768169])&15;if(H0=V2(H0|0,t|0,O0|0,y0|0)|0,t=x()|0,_0=V2(_0|0,X|0,Z0|0,W0|0)|0,X=x()|0,(Y0|0)<=0){E0=m0;break}else $=$+S|0,u=u+C|0,Y0=Y0+-1|0}return E0|0}if((W|0)<=-1)return E0=m0,E0|0;if(Y0=V+16|0,!J){V=T,u=Q,$=W,X=B0,W0=F0;while(!0){if(_0=_T((V>>_&O)+L|0,(u>>_&K)+F|0)|0,((_0|0)!=(z|0)?(t=(_0|0)/16|0,y0=(r3(P,_0-(t<<4)<<3|V>>g0&7,t<<3|u>>g0&7)|0)&15,(Z[3072412+(y0<<2)>>2]&16|0)==0):0)?(t=X>>16,_0=W0>>16,H0=Z[768171]|0,k=H0>>(_0<<2&12^12)>>>(t&3^3)&1,(H0&65536|0)==0|(k|0)==0):0)H0=(Z[(Z[Y0>>2]|0)+(_0<<2)>>2]|0)+t|0,t=Z[768168]|0,N[H0>>0]=((t^15)&(G[H0>>0]|0)|t&Z[3072540+(y0<<2)>>2]>>(k<<2)&Z[768169])&15;if(($|0)>0)V=V+S|0,u=u+C|0,$=$+-1|0,X=X+O0|0,W0=W0+Z0|0;else{E0=m0;break}}return E0|0}W0=T,T=Q,Q=W,W=B0,B0=F0;while(!0){if(F0=_T((W0>>_&O)+L|0,(T>>_&K)+F|0)|0,(((F0|0)!=(z|0)?Z[(Z[769129]|0)+43552+(F0<<2)>>2]&J|0:0)?(X=(F0|0)/16|0,$=(r3(P,F0-(X<<4)<<3|W0>>g0&7,X<<3|T>>g0&7)|0)&15,(Z[3072412+($<<2)>>2]&16|0)==0):0)?(X=W>>16,F0=B0>>16,u=Z[768171]|0,V=u>>(F0<<2&12^12)>>>(X&3^3)&1,(u&65536|0)==0|(V|0)==0):0)u=(Z[(Z[Y0>>2]|0)+(F0<<2)>>2]|0)+X|0,X=Z[768168]|0,N[u>>0]=((X^15)&(G[u>>0]|0)|X&Z[3072540+($<<2)>>2]>>(V<<2)&Z[768169])&15;if((Q|0)>0)W0=W0+S|0,T=T+C|0,Q=Q+-1|0,W=W+O0|0,B0=B0+Z0|0;else{E0=m0;break}}return E0|0}function gX(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if(Q=Z[768171]|0,(Z[V+28>>2]|0)>($|0))return 0;if((Z[V+32>>2]|0)<=($|0))return 0;if(W=Y&15,U=(Q&65536|0)!=0,S=U?16:Y>>>4&15,Y=Q>>(3-$&3),Q=((Y&256|0)==0?W:S)<<8|((Y&4096|0)==0?W:S)|((Y&16|0)==0?W:S)<<16|((Y&1|0)==0?W:S)<<24,S=(X|0)<(T|0),W=S?T:X,Y=S?X:T,T=Z[V+36>>2]|0,X=(Y|0)<(T|0)?T:Y,Y=Z[V+40>>2]|0,T=(W|0)<(Y|0)?W:Y+-1|0,Y=(Z[(Z[V+16>>2]|0)+(X<<2)>>2]|0)+$|0,$=(X|0)>(T|0),!U){if($)return J=1-X|0,_=J+T|0,K=$?0:_,K|0;U=Y,V=X;while(!0)if(W=Z[768168]|0,N[U>>0]=((W^15)&(G[U>>0]|0)|W&Q>>>(V<<3&24)&Z[768169])&15,(V|0)<(T|0))U=U+128|0,V=V+1|0;else break;return J=1-X|0,_=J+T|0,K=$?0:_,K|0}if($)return J=1-X|0,_=J+T|0,K=$?0:_,K|0;V=Y,Y=X;while(!0){if(U=Q>>>(Y<<3&24),!(U&16))W=Z[768168]|0,N[V>>0]=((W^15)&(G[V>>0]|0)|W&U&Z[768169])&15;if((Y|0)<(T|0))V=V+128|0,Y=Y+1|0;else break}return J=1-X|0,_=J+T|0,K=$?0:_,K|0}function iX(){OT(Z[(Z[769129]|0)+4>>2]|0),OT(Z[730449]|0),FW(Z[730449]|0,Z[768151]|0,Z[768152]|0,Z[768153]|0,Z[768154]|0);return}function tX(V){V=V|0;var $=0;$=(V|0)<3?V:3,V=($|0)>0?$:0,Z[786057]=V,$=Z[769129]|0,Z[$+8>>2]=Z[((N[3100924]|0)==96?2921800+(V<<2)|0:$+4|0)>>2],$=(Z[769129]|0)+4|0,Z[730449]=Z[((N[3100925]|0)==0?$:2921800+(Z[786057]<<2)|0)>>2],OT(Z[$>>2]|0),OT(Z[730449]|0),FW(Z[730449]|0,Z[768151]|0,Z[768152]|0,Z[768153]|0,Z[768154]|0);return}function yW(){var V=0,$=0;if(Z[532939]|0)return 1;if(V=Z[730432]|0,$=B((Z[V+4>>2]|0)/128|0,(Z[V>>2]|0)/128|0)|0,($|0)<1)return 1;else return(($|0)<4?$:4)|0;return 0}function lJ(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0;if(X=Z[V>>2]|0,(X|0)!=(Z[$>>2]|0))return;if(Y=V+4|0,Q=Z[Y>>2]|0,(Q|0)!=(Z[$+4>>2]|0))return;if(W=Z[V+8>>2]|0,U=Z[$+8>>2]|0,(W|0)==(U|0)){l5(V,$,0,0,0,0,X,Q);return}if(!((W|0)==32&(U|0)==8&(Q|0)>0))return;U=Q,Q=X,X=0;while(!0){if((Q|0)>0){W=0;do{S=r3(V,W,X)|0,J=S>>>16&255,_=S>>>8&255,K=S&255,S=1e7,P=-1,O=0;while(!0)if(L=Z[3072476+(O<<2)>>2]|0,F=J-(G[T+(L*3|0)>>0]|0)|0,z=B(F,F)|0,F=_-(G[T+(L*3|0)+1>>0]|0)|0,H=(B(F,F)|0)+z|0,z=K-(G[T+(L*3|0)+2>>0]|0)|0,L=H+(B(z,z)|0)|0,z=(P|0)==-1|(L|0)<(S|0),P=z?O:P,O=O+1|0,(O|0)==16)break;else S=z?L:S;o9($,W,X,P),W=W+1|0,C=Z[V>>2]|0}while((W|0)<(C|0));A=Z[Y>>2]|0,y=C}else A=U,y=Q;if(X=X+1|0,(X|0)>=(A|0))break;else U=A,Q=y}return}function uM(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0;if(X=Z[V>>2]|0,(X|0)!=(Z[$>>2]|0))return;if(Y=V+4|0,Q=Z[Y>>2]|0,(Q|0)!=(Z[$+4>>2]|0))return;if(W=V+8|0,U=Z[W>>2]|0,S=$+8|0,J=Z[S>>2]|0,(U|0)==(J|0)){l5(V,$,0,0,0,0,X,Q);return}if((U|0)==8&(J|0)==32){if((Q|0)<=0)return;J=V+16|0,_=$+16|0,K=Q,P=X,O=0;while(!0){if((P|0)>0){L=Z[(Z[J>>2]|0)+(O<<2)>>2]|0,F=Z[(Z[_>>2]|0)+(O<<2)>>2]|0,z=0;do H=N[L+z>>0]|0,C=H&255,Z[F+(z<<2)>>2]=(G[T+(C*3|0)>>0]|0)<<16|(H<<24>>24==0?0:-16777216)|(G[T+(C*3|0)+1>>0]|0)<<8|(G[T+(C*3|0)+2>>0]|0),z=z+1|0,A=Z[V>>2]|0;while((z|0)<(A|0));y=Z[Y>>2]|0,k=A}else y=K,k=P;if(O=O+1|0,(O|0)>=(y|0))break;else K=y,P=k}m=Z[W>>2]|0,I=y,u=k}else m=U,I=Q,u=X;if((m|0)!=32)return;if(!((Z[S>>2]|0)==8&(I|0)>0))return;S=u,u=I,I=0;while(!0){if((S|0)>0){m=0;do{X=r3(V,m,I)|0,Q=X>>>16&255,U=X>>>8&255,k=X&255,X=1e7,y=-1,W=0;while(!0)if(P=W>>>0<16?W:W+112|0,K=Q-(G[T+(P*3|0)>>0]|0)|0,O=B(K,K)|0,K=U-(G[T+(P*3|0)+1>>0]|0)|0,A=(B(K,K)|0)+O|0,O=k-(G[T+(P*3|0)+2>>0]|0)|0,K=A+(B(O,O)|0)|0,O=(y|0)==-1|(K|0)<(X|0),y=O?P:y,W=W+1|0,(W|0)==32)break;else X=O?K:X;o9($,m,I,y),m=m+1|0,g=Z[V>>2]|0}while((m|0)<(g|0));i=Z[Y>>2]|0,t=g}else i=u,t=S;if(I=I+1|0,(I|0)>=(i|0))break;else S=t,u=i}return}function wW(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0;if(Q=Y&1,W=V+112|0,!(Z[W>>2]|0)){if(U=Z[768156]|0,Z[V+96>>2]=U,S=Z[768157]|0,Z[V+100>>2]=S,J=V+68|0,(Z[J>>2]|0)==0?(Z[V+60>>2]|0)==0:0)_=X;else _=X<<1;if((Z[V+20>>2]|0)!=0?(U|0)>((Z[V+24>>2]|0)-T|0):0){if(Z[768156]=Z[V+28>>2],U=V+48|0,K=Z[U>>2]|0,!K)P=Z[V+92>>2]|0;else P=K;K=P+S|0,Z[768157]=K,Z[U>>2]=0,O=K}else O=S;if(S=128-_-(Z[V+124>>2]|0)+(Z[768164]|0)|0,(Z[V+16>>2]|0)!=0&(O|0)>(S|0))fM(O-S|0),L=J;else L=J}else L=V+68|0;if(J=Z[V+80>>2]|0,S=Z[3072412+((Z[V+36>>2]&15)<<2)>>2]|0,O=Z[3072412+((Z[V+40>>2]&15)<<2)>>2]|0,!(Z[L>>2]|0)){if(L=(Z[V+56>>2]|0)==0,_=L?1:2,L)F=1;else F=(Z[V+64>>2]|0)==0?1:2;if(!(Z[V+60>>2]|0))z=_,H=1,C=F,A=1;else z=_,H=2,C=F,A=(Z[V+64>>2]|0)==0?1:2}else z=2,H=2,C=2,A=2;if(F=Z[V+72>>2]|0,_=0-Q|0,Q=(B(F,z)|0)&_,L=(Q|0)>0?Q:0,Q=0-L|0,K=(B(F,H)|0)&_,_=(K|0)>0?K:0,K=0-_|0,F=(Z[V+120>>2]|0)-(Z[768163]|0)<<16>>16,U=((Z[V+124>>2]|0)-(Z[768164]|0)<<16>>16)+(Y<<28>>31)|0,!(Z[V+76>>2]|0))y=B(H,X)|0;else{Y=Z[V+44>>2]|0,P=F-L+(Z[768156]|0)|0,k=U-_+(Z[768157]|0)|0,m=(B(z,T)|0)+-1+L+P|0,L=B(H,X)|0,I=L+-1+_+k|0,_=(m|0)<(P|0),u=_?P:m,g=_?m:P,P=(I|0)<(k|0),m=P?k:I,_=P?I:k;while(!0)if(j9(Y,g,u,_,O)|0,(_|0)<(m|0))_=_+1|0;else{y=L;break}}if((y|0)>(K|0))if(L=(X|0)<8?X:8,X=((J|0)!=0)<<31>>31,J=B(z,T)|0,_=z<<3,m=V+44|0,(J|0)>(Q|0)){O=K;do{if(K=(O+H|0)/(H|0)|0,(K|0)<1|(K|0)>(L|0))i=0;else i=G[$+(K+-1)>>0]<<8;K=i^X,u=O+U|0,g=Q;do{if((((1<<((g+_|0)/(z|0)|0)&K|0?(Y=g+F+(Z[768156]|0)|0,k=u+(Z[768157]|0)|0,I=Z[m>>2]|0,(Y|0)>=(Z[I+28>>2]|0)):0)?(Y|0)<(Z[I+32>>2]|0):0)?(k|0)>=(Z[I+36>>2]|0):0)?(k|0)<(Z[I+40>>2]|0):0)P=(Z[(Z[I+16>>2]|0)+(k<<2)>>2]|0)+Y|0,Y=Z[768168]|0,N[P>>0]=((Y^15)&G[P>>0]|Y&S&Z[768169])&15;g=g+C|0}while((g|0)<(J|0));O=O+A|0}while((O|0)<(y|0));t=J}else t=J;else t=B(z,T)|0;if(z2(((B(t,y)|0)+1|0)/2|0),Z[V+104>>2]=t,Z[768156]=(Z[768156]|0)+t,t=V+48|0,T=Z[t>>2]|0,Z[t>>2]=(T|0)>(y|0)?T:y,Z[W>>2]|0)Z[768156]=Z[V+96>>2],Z[768157]=Z[V+100>>2],Z[W>>2]=0;if(W=Z[V+128>>2]|0,(W|0)<=0)return Y0=0,Y0|0;if(Z[V+52>>2]=W+-1,W=V+4|0,V=Z[W>>2]|0,!(N[V>>0]|0))return Y0=1,Y0|0;return Z[W>>2]=V+1,Y0=1,Y0|0}function sJ(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0;$=q,q=q+16|0,T=$,X=V+4|0,Y=Z[X>>2]|0,Q=N[Y>>0]|0;Z:do switch(Q<<24>>24){case 0:{W=0,U=Y+-1|0,S=Y;break}case 1:{if(J=N[Y+1>>0]|0,!(J<<24>>24))_=135;else K=J&255,P=K+-48|0,Z[V+116>>2]=P>>>0<10?P:(J&255)>96?K+-87|0:0,K=Y+2|0,W=0,U=K,S=K;break}case 2:{if(K=Y+1|0,J=N[K>>0]|0,!(J<<24>>24))_=135;else P=J&255,O=P+-48|0,Z[V+40>>2]=(O>>>0<10?O:(J&255)>96?P+9|0:0)&15,Z[V+76>>2]=1,W=0,U=K,S=Y;break}case 3:{if(K=Y+1|0,P=N[K>>0]|0,!(P<<24>>24))_=135;else J=P&255,O=J+-48|0,Z[768156]=(O>>>0<10?O:(P&255)>96?J+-87|0:0)+-16+(Z[768156]|0),W=0,U=K,S=Y;break}case 4:{if(K=Y+1|0,J=N[K>>0]|0,!(J<<24>>24))_=135;else P=J&255,O=P+-48|0,Z[768157]=(O>>>0<10?O:(J&255)>96?P+-87|0:0)+-16+(Z[768157]|0),W=0,U=K,S=Y;break}case 5:{if(K=N[Y+1>>0]|0,P=K&255,K<<24>>24!=0?(J=Y+2|0,(N[J>>0]|0)!=0):0)O=P+-48|0,Z[768156]=(O>>>0<10?O:(K&255)>96?P+-87|0:0)+-16+(Z[768156]|0),P=N[J>>0]|0,K=P&255,O=K+-48|0,Z[768157]=(Z[768157]|0)+-16+(O>>>0<10?O:(P&255)>96?K+-87|0:0),W=0,U=J,S=Y;else _=135;break}case 6:{switch(J=Y+1|0,K=N[J>>0]|0,P=K&255,K<<24>>24){case 0:{_=135;break Z}case 45:{K=Y+2|0,O=N[K>>0]|0,L=O<<24>>24==0,F=L&1,z=L?P:O&255,H=L?J:K;break}default:F=1,z=P,H=J}J=z+-49|0;V:do if(J>>>0<9)Z[V+52>>2]=(1<>0]|0,!(K<<24>>24)){W=0,U=H,S=Y;break Z}L=K&255,O=L+-48|0,V7(Z[730449]|0,0,0,127,127,O>>>0<10?O:(K&255)>96?L+-87|0:0),Z[768156]=0,Z[768157]=0,W=0,U=P,S=Y;break Z}case 100:{if(P=H+1|0,L=N[P>>0]|0,!(L<<24>>24)){W=0,U=H,S=Y;break Z}K=L&255,O=K+-48|0,Z[V+128>>2]=O>>>0<10?O:(L&255)>96?K+-87|0:0,W=0,U=P,S=Y;break Z}default:{C=0;break V}}while(0);do switch(z|0){case 103:{Z[768156]=Z[V+28>>2],Z[768157]=Z[V+32>>2],W=C,U=H,S=Y;break Z}case 104:{Z[V+28>>2]=Z[768156],Z[V+32>>2]=Z[768157],W=C,U=H,S=Y;break Z}case 106:{if(J=N[H+1>>0]|0,!(J<<24>>24)){W=C,U=H,S=Y;break Z}P=J&255,K=P+-48|0,Z[768156]=(K>>>0<10?K:(J&255)>96?P+-87|0:0)<<2,P=H+2|0,J=N[P>>0]|0,K=J&255,L=K+-48|0,Z[768157]=(L>>>0<10?L:(J&255)>96?K+-87|0:0)<<2,W=C,U=P,S=Y;break Z}case 114:{P=H+1|0,K=N[P>>0]|0,J=K&255,L=J+-48|0,Z[V+24>>2]=(L>>>0<10?L:(K&255)>96?J+-87|0:0)<<2,Z[V+20>>2]=1,W=C,U=P,S=Y;break Z}case 120:{if(P=H+1|0,J=N[P>>0]|0,!(J<<24>>24)){W=C,U=H,S=Y;break Z}K=J&255,L=K+-48|0,Z[V+84>>2]=L>>>0<10?L:(J&255)>96?K+-87|0:0,K=Z[V+12>>2]|0,J=N[P>>0]|0,L=J&255,O=L+-48|0,Z[V+88>>2]=(G[K+1>>0]|0)-(G[K>>0]|0)+(O>>>0<10?O:(J&255)>96?L+-87|0:0),W=C,U=P,S=Y;break Z}case 121:{if(P=H+1|0,L=N[P>>0]|0,!(L<<24>>24)){W=C,U=H,S=Y;break Z}J=L&255,O=J+-48|0,Z[V+92>>2]=O>>>0<10?O:(L&255)>96?J+-87|0:0,W=C,U=P,S=Y;break Z}case 115:{P=H+1|0,J=N[P>>0]|0,L=J&255,O=L+-48|0,Z[V+108>>2]=(O>>>0<10?O:(J&255)>96?L+-87|0:0)<<2,W=C,U=P,S=Y;break Z}case 119:{Z[V+56>>2]=F,W=C,U=H,S=Y;break Z}case 116:{Z[V+60>>2]=F,W=C,U=H,S=Y;break Z}case 61:{Z[V+64>>2]=F,W=C,U=H,S=Y;break Z}case 112:{Z[V+68>>2]=F,W=C,U=H,S=Y;break Z}case 35:{Z[V+76>>2]=F,W=C,U=H,S=Y;break Z}case 105:{Z[V+80>>2]=F,W=C,U=H,S=Y;break Z}case 98:{Z[V+72>>2]=F,W=C,U=H,S=Y;break Z}case 36:{Z[V+20>>2]=F,W=C,U=H,S=Y;break Z}case 64:{if(P=V+8|0,L=H+1|0,J=Z[P>>2]|0,L>>>0>>0)if(O=N[L>>0]|0,K=O&255,A=K+-48|0,y=A>>>0<10?A:(O&255)>96?K+-87|0:0,K=H+2|0,K>>>0>>0)if(O=N[K>>0]|0,A=O&255,k=A+-48|0,m=(k>>>0<10?k:(O&255)>96?A+-87|0:0)+(y<<4)|0,A=H+3|0,A>>>0>>0)if(O=N[A>>0]|0,k=O&255,I=k+-48|0,u=(I>>>0<10?I:(O&255)>96?k+-87|0:0)+(m<<4)|0,k=H+4|0,k>>>0>>0)O=N[k>>0]|0,I=O&255,g=I+-48|0,i=(g>>>0<10?g:(O&255)>96?I+-87|0:0)+(u<<4)|0,t=H+5|0;else i=u,t=k;else i=m,t=A;else i=y,t=K;else i=0,t=L;V:do if(t>>>0>>0){if(L=N[t>>0]|0,K=L&255,y=K+-48|0,A=y>>>0<10?y:(L&255)>96?K+-87|0:0,K=t+1|0,K>>>0>>0)if(L=N[K>>0]|0,y=L&255,m=y+-48|0,k=(m>>>0<10?m:(L&255)>96?y+-87|0:0)+(A<<4)|0,y=t+2|0,y>>>0>>0)if(L=N[y>>0]|0,m=L&255,u=m+-48|0,I=(u>>>0<10?u:(L&255)>96?m+-87|0:0)+(k<<4)|0,m=t+3|0,m>>>0>>0)L=N[m>>0]|0,u=L&255,O=u+-48|0,Y0=(O>>>0<10?O:(L&255)>96?u+-87|0:0)+(I<<4)|0,X0=t+4|0;else Y0=I,X0=m;else Y0=k,X0=y;else Y0=A,X0=K;if((Y0|0)>0&X0>>>0>>0){K=i,A=0,y=X0;while(!0){if(f2(2921764,Z[769129]|0,K,G[y>>0]|0),k=y+1|0,z2(1),A=A+1|0,(A|0)>=(Y0|0)){T0=k;break V}if(k>>>0>=(Z[P>>2]|0)>>>0){T0=k;break}else K=K+1|0,y=k}}else T0=X0}else T0=t;while(0);Z0=T0+-1|0;break}default:Z0=H}while(0);if((z|0)!=33){switch(P=(z|0)==58,z|0){case 46:case 58:break;default:{W=C,U=Z0,S=Y;break Z}}J=Z0+1|0;do if((J+((z|0)==46?8:16)|0)>>>0<=(Z[V+8>>2]|0)>>>0)if(P){N[T>>0]=(Z[2112+(G[Z0+2>>0]<<2)>>2]|0)+(Z[2112+(G[J>>0]<<2)>>2]<<4),N[T+1>>0]=(Z[2112+(G[Z0+4>>0]<<2)>>2]|0)+(Z[2112+(G[Z0+3>>0]<<2)>>2]<<4),N[T+2>>0]=(Z[2112+(G[Z0+6>>0]<<2)>>2]|0)+(Z[2112+(G[Z0+5>>0]<<2)>>2]<<4),N[T+3>>0]=(Z[2112+(G[Z0+8>>0]<<2)>>2]|0)+(Z[2112+(G[Z0+7>>0]<<2)>>2]<<4),N[T+4>>0]=(Z[2112+(G[Z0+10>>0]<<2)>>2]|0)+(Z[2112+(G[Z0+9>>0]<<2)>>2]<<4),N[T+5>>0]=(Z[2112+(G[Z0+12>>0]<<2)>>2]|0)+(Z[2112+(G[Z0+11>>0]<<2)>>2]<<4),N[T+6>>0]=(Z[2112+(G[Z0+14>>0]<<2)>>2]|0)+(Z[2112+(G[Z0+13>>0]<<2)>>2]<<4),N[T+7>>0]=(Z[2112+(G[Z0+16>>0]<<2)>>2]|0)+(Z[2112+(G[Z0+15>>0]<<2)>>2]<<4),W0=wW(V,T,8,8,0)|0,O0=Z0+17|0;break}else{W0=wW(V,J,8,8,0)|0,O0=Z0+9|0;break}else W0=0,O0=J;while(0);W=(W0|0)>(C|0)?W0:C,U=O0+-1|0,S=Y;break Z}if(J=V+8|0,P=Z0+1|0,y=Z[J>>2]|0,P>>>0>>0)if(K=N[P>>0]|0,A=K&255,k=A+-48|0,m=k>>>0<10?k:(K&255)>96?A+-87|0:0,A=Z0+2|0,A>>>0>>0)if(K=N[A>>0]|0,k=K&255,I=k+-48|0,u=(I>>>0<10?I:(K&255)>96?k+-87|0:0)+(m<<4)|0,k=Z0+3|0,k>>>0>>0)if(K=N[k>>0]|0,I=K&255,L=I+-48|0,O=(L>>>0<10?L:(K&255)>96?I+-87|0:0)+(u<<4)|0,I=Z0+4|0,I>>>0>>0)K=N[I>>0]|0,L=K&255,g=L+-48|0,y0=(g>>>0<10?g:(K&255)>96?L+-87|0:0)+(O<<4)|0,E0=Z0+5|0;else y0=O,E0=I;else y0=u,E0=k;else y0=m,E0=A;else y0=0,E0=P;if(E0>>>0>>0){y=y0,P=E0;while(!0)if(f2(2921764,Z[769129]|0,y,G[P>>0]|0),A=P+1|0,z2(1),A>>>0<(Z[J>>2]|0)>>>0)y=y+1|0,P=A;else{H0=A;break}}else H0=E0;return P=H0+-1|0,Z[X>>2]=P,N[P>>0]=0,D0=0,q=$,D0|0}case 7:{P=Y+1|0,y=N[P>>0]|0;V:do if((y+-48&255)>=10)if(J=p9(0)|0,A=(J|0)==((Z[769129]|0)+41596|0),J=p9(1)|0,m=(J|0)==((Z[769129]|0)+41596|0)|A,A=p9(2)|0,J=(A|0)==((Z[769129]|0)+41596|0)|m,m=p9(3)|0,A=Z[769129]|0,(m|0)==(A+41596|0)|J)if(J=p9(0)|0,m=(J|0)==((Z[769129]|0)+40936|0),J=p9(1)|0,k=(J|0)==((Z[769129]|0)+40936|0)|m,m=p9(2)|0,J=(m|0)==((Z[769129]|0)+40936|0)|k,k=p9(3)|0,m=Z[769129]|0,(k|0)==(m+40936|0)|J)if(J=p9(0)|0,k=(J|0)==((Z[769129]|0)+40276|0),J=p9(1)|0,u=(J|0)==((Z[769129]|0)+40276|0)|k,k=p9(2)|0,J=(k|0)==((Z[769129]|0)+40276|0)|u,u=p9(3)|0,k=Z[769129]|0,(u|0)==(k+40276|0)|J)J=p9(0)|0,u=(J|0)==((Z[769129]|0)+39616|0),J=p9(1)|0,I=(J|0)==((Z[769129]|0)+39616|0)|u,u=p9(2)|0,J=(u|0)==((Z[769129]|0)+39616|0)|I,I=p9(3)|0,u=Z[769129]|0,_0=u,F0=(I|0)==(u+39616|0)|J?63:60,k0=P,_=72;else _0=k,F0=61,k0=P,_=72;else _0=m,F0=62,k0=P,_=72;else _0=A,F0=63,k0=P,_=72;else{if(A=(y&255)+-48|0,m=Y+2|0,k=N[m>>0]|0,(k+-48&255)<10)J=(A*10|0)+-48+(k&255)|0,u=(J|0)<63?J:63,J=Y+3|0,m0=N[J>>0]|0,B0=(u|0)>0?u:0,g0=J;else m0=k,B0=A,g0=m;switch(m0<<24>>24){case 0:case 10:case 32:{o0=(Z[769129]|0)+16+(B0*660|0)|0,h0=g0;break V}default:{_0=Z[769129]|0,F0=B0,k0=g0,_=72;break V}}}while(0);V:do if((_|0)==72){y=_0+16+(F0*660|0)|0,C1(y,0,660),P=_0+16+(F0*660|0)+8|0,Z[P>>2]=4,m=_0+16+(F0*660|0)+12|0,A=_0+16+(F0*660|0)+16|0,k=k0;$:while(!0){switch(N[k>>0]|0){case 0:case 10:case 32:{_=82;break $}case 115:{if(J=N[k+1>>0]|0,!(J<<24>>24)){C0=0;break $}u=J&255,I=u+-48|0,Z[P>>2]=I>>>0<10?I:(J&255)>96?u+-87|0:0,u0=2;break}case 108:{if(u=N[k+1>>0]|0,J=u&255,!(u<<24>>24)){C0=0;break $}if(I=k+2|0,!(N[I>>0]|0)){C0=0;break $}O=J+-48|0,Z[m>>2]=O>>>0<10?O:(u&255)>96?J+-87|0:0,J=N[I>>0]|0,I=J&255,u=I+-48|0,Z[A>>2]=u>>>0<10?u:(J&255)>96?I+-87|0:0,u0=3;break}case 122:{if(I=N[k+1>>0]|0,!(I<<24>>24)){C0=0;break $}J=I&255,u=J+-48|0,Z[y>>2]=(u>>>0<10?u:(I&255)>96?J+2147483561|0:0)<<1,u0=2;break}default:{C0=0;break $}}k=k+u0|0}if((_|0)==82)Z[P>>2]=16,Z[_0+16+(F0*660|0)+20>>2]=46,Z[_0+16+(F0*660|0)+24>>2]=0,Z[_0+16+(F0*660|0)+28>>2]=5,Z[_0+16+(F0*660|0)+32>>2]=0,C0=1;A=0,m=5,J=3,I=C0,u=k,O=5;while(!0){L=I>>>0<32,K=A,g=m,p0=J,q0=u,i0=O;$:while(!0){t0=K,E6=p0,V6=q0,n0=i0;Y:while(!0){e0=t0,Z6=E6,U6=V6;Q:while(!0){N6=Z6,A6=U6;T:while(!0){switch(S6=N[A6>>0]|0,S6<<24>>24){case 32:case 0:{o0=y,h0=A6;break V}default:}if(!(L&S6<<24>>24!=10)){o0=y,h0=A6;break V}switch(S6<<24>>24){case 46:{_=95;break $}case 0:{_=104;break $}case 98:{_=103;break $}case 100:{H6=2,_=106;break $}case 101:{_=99;break $}case 102:{_=100;break $}case 103:{_=101;break $}case 97:{_=102;break $}case 105:break Y;case 118:{_=92;break Q}case 62:case 60:{_=97;break Q}case 120:break T;case 93:case 91:break;default:{_=105;break $}}M6=(S6<<24>>24==91?-1:1)+N6|0,F6=(M6|0)<5?M6:5,N6=(F6|0)>0?F6:0,A6=A6+1|0}F6=N[A6+1>>0]|0,M6=F6&255,J6=M6+-48|0,e0=(J6>>>0<10?J6:(F6&255)>96?M6+1|0:0)&7,Z6=N6,U6=A6+2|0}if((_|0)==92)_=0,U6=N[A6+1>>0]|0,Z6=U6&255,M6=Z6+-48|0,L6=A6+2|0,c0=(M6>>>0<10?M6:(U6&255)>96?Z6+1|0:0)&7;else if((_|0)==97)_=0,Z6=(S6<<24>>24==60?-1:1)+n0|0,U6=(Z6|0)<7?Z6:7,L6=A6+1|0,c0=(U6|0)>0?U6:0;t0=e0,E6=N6,V6=L6,n0=c0}V6=N[A6+1>>0]|0,E6=V6&255,t0=E6+-48|0,K=e0,g=(t0>>>0<10?t0:(V6&255)>96?E6+9|0:0)&15,p0=N6,q0=A6+2|0,i0=n0}if((_|0)==95)_=0,T6=N6,W6=A6+1|0;else if((_|0)==99)_=0,H6=4,_=106;else if((_|0)==100)_=0,H6=5,_=106;else if((_|0)==101)_=0,H6=7,_=106;else if((_|0)==102)_=0,H6=9,_=106;else if((_|0)==103)_=0,H6=11,_=106;else if((_|0)==104)_=0,H6=12,_=106;else if((_|0)==105)_=0,H6=0,_=106;if((_|0)==106){if(_=0,i0=_0+16+(F0*660|0)+20+(I*20|0)|0,Z[i0>>2]=H6,Z[_0+16+(F0*660|0)+20+(I*20|0)+4>>2]=g&7,Z[_0+16+(F0*660|0)+20+(I*20|0)+8>>2]=n0&7,Z[_0+16+(F0*660|0)+20+(I*20|0)+12>>2]=e0,q0=A6+1|0,p0=N[q0>>0]|0,K=A6+2|0,p0<<24>>24==35)L=H6+1|0,Z[i0>>2]=L,h6=N[K>>0]|0,s6=L,p6=K;else h6=p0,s6=H6,p6=q0;if(h6<<24>>24==45)q0=s6+-1|0,Z[i0>>2]=q0,p0=p6+1|0,G6=N[p0>>0]|0,w6=q0,B6=p0;else G6=h6,w6=s6,B6=p6;p0=(G6+-48&255)<6,q0=p0?(G6&255)+-48|0:N6,K=(q0*12|0)+w6|0,L=(K|0)<63?K:63,Z[i0>>2]=(L|0)>0?L:0,T6=q0,W6=p0?B6+1|0:B6}A=e0,m=g,J=T6,I=I+1|0,u=W6,O=n0}}while(0);if((Z[768034]|0)==0&(Z[543656]|0)!=0)RV(0,0),AZ(),Z[543656]=0;R$(o0,0,0,Z[769129]|0,-1)|0,W=0,U=(N[h0>>0]|0)==10?h0+-1|0:h0,S=Y;break}case 8:{Z[768156]=(Z[768156]|0)-(Z[V+104>>2]|0),W=0,U=Y,S=Y;break}case 9:{if(O=Z[V+12>>2]|0,u=O+5|0,N[u>>0]&2)Z[768156]=(Z[768156]|0)-(Z[768158]|0);if(I=Z[V+108>>2]|0,!I)J=O+6|0,O=N[J>>0]|0,m=(O<<24>>24==0?16:O&255)+(Z[768156]|0)|0,Z[768156]=m,i6=m,H8=G[J>>0]|0;else J=(Z[768156]|0)+I|0,Z[768156]=J,i6=J,H8=I;if(I=i6-((i6|0)%(((H8|0)==0?16:H8)|0)|0)|0,Z[768156]=I,!(N[u>>0]&2))W=0,U=Y,S=Y;else Z[768156]=(Z[768158]|0)+I,W=0,U=Y,S=Y;break}case 10:{if(Z[768156]=Z[V+28>>2],I=V+48|0,u=Z[I>>2]|0,J=(u|0)!=0,!(Z[V+16>>2]|0)){if(J)m6=u;else m6=Z[V+92>>2]|0;Z[768157]=(Z[768157]|0)+m6}else{if(J)_8=u;else _8=Z[V+92>>2]|0;Z[768162]=_8,uY(),Z[768162]=6}Z[I>>2]=0,W=0,U=Y,S=Y;break}case 11:{I=Z[768156]|0,u=V+96|0,J=Z[u>>2]|0,Z[768156]=J,Z[u>>2]=I,I=Z[768157]|0,u=V+100|0,m=Z[u>>2]|0,Z[768157]=m,Z[u>>2]=I,Z[V+112>>2]=1,I=Y+1|0,u=N[I>>0]|0,O=u&255,A=O+-48|0,y=A>>>0<10?A:(u&255)>96?O+-87|0:0,O=(y|0)/4|0,Z[768156]=J+-2+(y-(O<<2)),Z[768157]=m+-8+O,W=0,U=I,S=Y;break}case 12:{I=Y+1|0,O=N[I>>0]|0,m=O&255,y=m+-48|0,J=y>>>0<10?y:(O&255)>96?m+-87|0:0,Z[V+36>>2]=J,Z[768155]=J,W=0,U=I,S=Y;break}case 13:{Z[768156]=Z[V+28>>2],W=0,U=Y,S=Y;break}case 14:{Z[V+12>>2]=3098536,Z[V+84>>2]=G[3098536],Z[V+88>>2]=G[3098537],Z[V+92>>2]=G[3098538],Z[V+120>>2]=G[3098539],Z[V+124>>2]=G[3098540],W=0,U=Y,S=Y;break}case 15:{Z[V+12>>2]=1449024,Z[V+84>>2]=G[1449024],Z[V+88>>2]=G[1449025],Z[V+92>>2]=G[1449026],Z[V+120>>2]=G[1449027],Z[V+124>>2]=G[1449028],W=0,U=Y,S=Y;break}default:_=135}while(0);if((_|0)==135){if(_=Z[(Q<<24>>24<0?V+88|0:V+84|0)>>2]|0,_8=Z[V+12>>2]|0,m6=Q&255,!(N[_8+5>>0]&1))v8=_,Y8=1;else Q=(G[_8+(m6>>>1)>>0]|0)>>>(m6<<2&4),v8=_+-4+(Q+4&7)|0,Y8=Q&8|1;Q=wW(V,_8+(m6<<3)|0,v8,Z[V+92>>2]|0,Y8)|0,W=(Q|0)>0?Q:0,U=Y,S=Y}if(Y=Z[543083]|0,Q=Z[768156]|0,Z[543083]=(Y|0)>(Q|0)?Y:Q,Q=Z[543084]|0,Y=Z[768157]|0,Z[543084]=(Q|0)>(Y|0)?Q:Y,Y=V+116|0,V=Z[Y>>2]|0,(V|0)>0)Z[Y>>2]=V+-1,T8=S;else T8=U+1|0;return Z[X>>2]=T8,D0=W,q=$,D0|0}function lM(){x8(2172360,0,132)|0;return}function oJ(){$6(Z[543090]|0),Z[543090]=0;return}function IW(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0;if(V=d8(2921764,Z[769129]|0,24408)|0,$=d8(2921764,Z[769129]|0,24409)|0,T=d8(2921764,Z[769129]|0,24410)|0,X=d8(2921764,Z[769129]|0,24411)|0,Y=(N[3100894]&16)==0,Q=Y?$:0,$=Y?T:0,T=Y?X:0,X=(V&1|0)==0?2:V,V=(X&128|0)==0?1449024:3098536,Z[543093]=V,Z[543108]=X>>>1&1,Z[543104]=X>>>2&1,Z[543105]=X>>>3&1,Z[543109]=X>>>4&1,Z[543110]=X>>>5&1,Z[543106]=X>>>6&1,Z[543107]=0,Z[543117]=0,X=N[V>>0]|0,Z[543111]=X&255,Y=N[V+1>>0]|0,Z[543112]=Y&255,W=N[V+2>>0]|0,Z[543113]=W&255,Z[543120]=G[V+3>>0],Z[543121]=G[V+4>>0],!((Y|X|W)<<24>>24))Z[543111]=8,Z[543113]=8,Z[543112]=8;if(W=Q&15,W|0)Z[543111]=W;if(Q&240|0)Z[543113]=Q>>>4&15;if(Q=$&15,Q|0)Z[543112]=Q;if($&240|0)Z[543117]=($>>>2&60)+4;if($=T&15,$|0)Z[543120]=$;if(!(T&240))return;Z[543121]=T>>>4&15;return}function sM(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0;if(V=Z[543090]|0,!V)return $=0,$|0;if(T=Z[543103]|0,(T|0)>0)return Z[543103]=T+-1,$=1,$|0;T=Z[543091]|0;do if(N[T>>0]|0){X=T;while(!0){if(Y=sJ(2172360)|0,Q=(Z[543091]|0)-X|0,z2((Q|0)>1?Q:1),Y|0){$=Y,W=10;break}if(X=Z[543091]|0,!(N[X>>0]|0)){W=8;break}}if((W|0)==8){U=Z[543090]|0;break}else if((W|0)==10)return $|0}else U=V;while(0);return $6(U),Z[543090]=0,$=0,$|0}function oM(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0;if(!$)return Q=0,Q|0;if(!(Z[543089]|0)){Z[543089]=1,C1(1449024,0,2048),W=Z[730468]|0,U=0;do{if(S=Z[(Z[W>>2]|0)+(U<<2)>>2]|0,J=S+4|0,(Z[J>>2]|0)>0){_=U<<3,K=S+16|0,P=0;do{if(O=Z[S>>2]|0,(O|0)>0){L=Z[(Z[K>>2]|0)+(P<<2)>>2]|0,F=0,z=0;while(!0)if(H=((N[L+z>>0]|0)==0?0:1<>0]=C,P=P+1|0}while((P|0)<(Z[J>>2]|0))}U=U+1|0}while((U|0)!=256);N[1449024]=4,N[1449025]=8,N[1449026]=6,N[1449027]=0,N[1449028]=0}if($6(Z[543090]|0),C1(2172360,0,132),U=Y1(T+4|0)|0,Z[543090]=U,q6(U|0,$|0,T|0)|0,IW(),$=Z[543090]|0,Z[543091]=$,U=$+T|0,Z[543092]=U,Z[543095]=X&16,Z[543096]=Z[V+32>>2],Z[543094]=X&32,Z[543097]=Z[768158],Z[543098]=Z[768157],Z[543099]=Y&15,Z[543100]=Y>>>4&15,Z[543101]=V,Z[543103]=0,Z[543119]=0,Z[543102]=0,Z[543116]=Z[543111],!(N[3100894]&4))N[U>>0]=10,N[(Z[543090]|0)+(T+1)>>0]=0,A=Z[543090]|0;else A=$;if(!A)return Q=0,Q|0;if($=Z[543103]|0,($|0)>0)return Z[543103]=$+-1,Q=1,Q|0;$=Z[543091]|0;do if(N[$>>0]|0){T=$;while(!0){if(U=sJ(2172360)|0,V=(Z[543091]|0)-T|0,z2((V|0)>1?V:1),U|0){Q=U,y=23;break}if(T=Z[543091]|0,!(N[T>>0]|0)){y=21;break}}if((y|0)==21){k=Z[543090]|0;break}else if((y|0)==23)return Q|0}else k=A;while(0);return $6(k),Z[543090]=0,Q=0,Q|0}function nM(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if(V=($|0)!=0,!X){if(!V)return Y=0,Y|0;return Q=$+-4|0,W=Z[Q>>2]|0,$6(Q),Z[768178]=(Z[768178]|0)-W,Y=0,Y|0}if(W=Z[768178]|0,Q=(Z[785516]|0)+W|0,(Q|0)>(((Z[481715]|0)==0?2359296:2113536)|0))Z[785591]=1,H4(),U=Z[768178]|0,S=U,J=(Z[785516]|0)+U|0;else S=W,J=Q;if((J|0)>67108864)return d(60892),b5(60914,(Z[768178]|0)/1048576|0,X>>>10),Z[785593]=1,Y=0,Y|0;if(V)J=$+-4|0,Q=Z[J>>2]|0,Z[768178]=S-Q,S=y6(J,X+4|0)|0,_=(Q|0)==0?0:X,K=S;else _=0,K=y6(0,X+4|0)|0;return S=($|0)==0,$=S&(T|0)==0&(Z[785514]|0)!=0?0:S&(T+-7|0)>>>0<13?32:V?_:(T|0)!=2&(S&T>>>0<7)?X:0,Z[768178]=$+(Z[768178]|0),Z[K>>2]=$,Y=K+4|0,Y|0}function rM(){var V=0,$=0;if(V=Z[532526]|0,$=Z[765606]|0,$|0)Z[$+332>>2]=V;if($=Z[765607]|0,$|0)Z[$+332>>2]=V;if($=Z[765608]|0,$|0)Z[$+332>>2]=V;if($=Z[765609]|0,$|0)Z[$+332>>2]=V;if($=Z[765610]|0,$|0)Z[$+332>>2]=V;if($=Z[765611]|0,$|0)Z[$+332>>2]=V;if($=Z[765612]|0,$|0)Z[$+332>>2]=V;if($=Z[765613]|0,$|0)Z[$+332>>2]=V;if($=Z[765614]|0,$|0)Z[$+332>>2]=V;if($=Z[765615]|0,$|0)Z[$+332>>2]=V;if($=Z[765616]|0,$|0)Z[$+332>>2]=V;if($=Z[765617]|0,$|0)Z[$+332>>2]=V;if($=Z[765618]|0,$|0)Z[$+332>>2]=V;if($=Z[765619]|0,$|0)Z[$+332>>2]=V;if($=Z[765620]|0,$|0)Z[$+332>>2]=V;if($=Z[765621]|0,!$)return;Z[$+332>>2]=V;return}function hM(V){V=V|0;var $=0;return $=q,q=q+V|0,q=q+15&-16,$|0}function gM(){return q|0}function iM(V){V=V|0,q=V}function tM(V,$){V=V|0,$=$|0,q=V,O9=$}function mY(){return Z[(Z[(Z[Z[730467]>>2]|0)+16>>2]|0)+12>>2]|0}function fM(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0;if((Z[768034]|0)!=0&(Z[768028]|0)==1?N[3100894]&64:0)return;if(Z[768157]=(Z[768157]|0)-V,$=128-V|0,T=Z[730449]|0,($|0)>0){X=T,Y=0;while(!0)if(l5(X,X,0,Y+V|0,0,Y,128,1),Y=Y+1|0,Q=Z[730449]|0,(Y|0)==($|0)){W=Q,U=$;break}else X=Q}else W=T,U=0;V7(W,0,U,127,127,0),z2(65536);return}function uY(){var V=0,$=0;if(V=(Z[768157]|0)+(Z[768162]|0)|0,Z[768157]=V,(V|0)<=((Z[768164]|0)+122|0))return;if((Z[768034]|0)!=0&(Z[768028]|0)==1?N[3100894]&64:0)return;Z[768157]=V+-6,V=Z[730449]|0,$=0;do l5(V,V,0,$+6|0,0,$,128,1),$=$+1|0,V=Z[730449]|0;while(($|0)!=122);V7(V,0,122,127,127,0),z2(65536);return}function dM(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0;if($=q,q=q+256|0,T=$+248|0,X=$+240|0,Y=$+232|0,Q=$+224|0,W=$+216|0,U=$+208|0,S=$+200|0,J=$+192|0,_=$+184|0,K=$+176|0,P=$+168|0,O=$+160|0,L=$+152|0,F=$+144|0,z=$+136|0,H=$+128|0,C=$+120|0,A=$+112|0,y=$+104|0,k=$+96|0,m=$+88|0,I=$+80|0,u=$+72|0,g=$+64|0,i=$+8|0,t=$,Y0=$+252|0,!(k8(V,35196,9)|0))CQ(V+10|0,3062500)|0;if(!(k8(V,35206,10)|0))CQ(V+11|0,3064548)|0;if(!(k8(V,35217,14)|0))Z[t>>2]=1926868,a8(V+14|0,94862,t)|0;if(!(k8(V,35232,11)|0))Z[i>>2]=1926924,Z[i+4>>2]=1926928,Z[i+8>>2]=1926932,Z[i+12>>2]=1926936,Z[i+16>>2]=1926940,Z[i+20>>2]=1926944,Z[i+24>>2]=1926948,Z[i+28>>2]=1926952,Z[i+32>>2]=1926956,Z[i+36>>2]=1926960,Z[i+40>>2]=1926964,Z[i+44>>2]=1926968,Z[i+48>>2]=1926972,a8(V+11|0,35244,i)|0;if(!(k8(V,35284,10)|0))Z[g>>2]=1927052,a8(V+10|0,94862,g)|0;if(!(k8(V,35295,11)|0))Z[u>>2]=1927080,a8(V+11|0,94862,u)|0;if(!(k8(V,50106,7)|0))Z[I>>2]=1927084,a8(V+7|0,94862,I)|0;if((k8(V,91687,6)|0)==0?(Z[m>>2]=2130712,a8(V+6|0,94862,m)|0,Z[543939]|0):0)Z[543939]=Z[532678];if(!(k8(V,35307,9)|0))Z[k>>2]=1927096,a8(V+9|0,94862,k)|0;if(!(k8(V,50493,16)|0))Z[y>>2]=1927068,a8(V+16|0,94862,y)|0;if(!(k8(V,50394,9)|0))Z[A>>2]=1927072,a8(V+9|0,94862,A)|0;if(!(k8(V,35317,12)|0))Z[C>>2]=1927112,a8(V+12|0,94862,C)|0;if(!(k8(V,35330,20)|0))Z[H>>2]=2130152,a8(V+20|0,94862,H)|0;if(!(k8(V,35351,22)|0))Z[z>>2]=2130156,a8(V+22|0,94862,z)|0;if(!(k8(V,35374,14)|0))Z[F>>2]=Y0,a8(V+14|0,94862,F)|0,Z[481780]=(Z[Y0>>2]|0)==2&1;if(!(k8(V,49824,13)|0))Z[L>>2]=1927120,a8(V+13|0,94862,L)|0;if(!(k8(V,50599,9)|0))Z[O>>2]=1927056,a8(V+9|0,94862,O)|0;if(!(k8(V,49610,9)|0))Z[P>>2]=1927060,a8(V+9|0,94862,P)|0;if(!(k8(V,35389,19)|0))Z[K>>2]=1926912,a8(V+19|0,94862,K)|0;if(!(k8(V,35409,19)|0))Z[_>>2]=1926908,a8(V+19|0,94862,_)|0;if(!(k8(V,35429,22)|0))Z[J>>2]=1926916,a8(V+22|0,94862,J)|0;if(!(k8(V,35452,11)|0))Z[S>>2]=1927104,a8(V+11|0,94862,S)|0;if(!(k8(V,35464,14)|0))Z[U>>2]=1927064,a8(V+14|0,94862,U)|0;if(!(k8(V,35479,22)|0))Z[W>>2]=1926904,a8(V+22|0,94862,W)|0;if(!(k8(V,35502,18)|0))Z[Q>>2]=1926896,a8(V+18|0,94862,Q)|0;if(!(k8(V,35521,16)|0))Z[Y>>2]=1926900,a8(V+16|0,94862,Y)|0;if(!(k8(V,35538,16)|0))Z[X>>2]=1926892,a8(V+16|0,94862,X)|0;if(k8(V,35555,14)|0)return q=$,0;return Z[T>>2]=1926888,a8(V+14|0,94862,T)|0,q=$,0}function bM(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0;if($=q,q=q+304|0,T=$+288|0,X=$+280|0,Y=$+272|0,Q=$+264|0,W=$+256|0,U=$+248|0,S=$+240|0,J=$+232|0,_=$+224|0,K=$+216|0,P=$+208|0,O=$+200|0,L=$+192|0,F=$+184|0,z=$+176|0,H=$+168|0,C=$+160|0,A=$+152|0,y=$+144|0,k=$+136|0,m=$+128|0,I=$+120|0,u=$+112|0,g=$+104|0,i=$+96|0,t=$+88|0,Y0=$+80|0,X0=$+72|0,T0=$+64|0,Z0=$+56|0,W0=$+48|0,O0=$+40|0,y0=$+32|0,E0=$+24|0,H0=$+16|0,D0=$+8|0,_0=$,F0=V+8|0,V=Z[F0>>2]|0,Z[_0>>2]=35583,n1(V,35570,_0)|0,C2(35590,25,1,Z[F0>>2]|0)|0,_0=Z[F0>>2]|0,Z[D0>>2]=Z[532678],n1(_0,35616,D0)|0,C2(35628,37,1,Z[F0>>2]|0)|0,D0=Z[F0>>2]|0,Z[H0>>2]=3062500,n1(D0,35666,H0)|0,C2(35681,36,1,Z[F0>>2]|0)|0,H0=Z[F0>>2]|0,Z[E0>>2]=3064548,n1(H0,35718,E0)|0,C2(35734,65,1,Z[F0>>2]|0)|0,E0=Z[F0>>2]|0,Z[y0>>2]=Z[481717],n1(E0,35800,y0)|0,C2(35820,70,1,Z[F0>>2]|0)|0,C2(35891,12,1,Z[F0>>2]|0)|0,y0=Z[F0>>2]|0,Z[O0>>2]=Z[481731],n1(y0,35904,O0)|0,O0=Z[F0>>2]|0,Z[W0>>2]=Z[481732],n1(O0,35904,W0)|0,W0=Z[F0>>2]|0,Z[Z0>>2]=Z[481733],n1(W0,35904,Z0)|0,Z0=Z[F0>>2]|0,Z[T0>>2]=Z[481734],n1(Z0,35904,T0)|0,T0=Z[F0>>2]|0,Z[X0>>2]=Z[481735],n1(T0,35904,X0)|0,X0=Z[F0>>2]|0,Z[Y0>>2]=Z[481736],n1(X0,35904,Y0)|0,Y0=Z[F0>>2]|0,Z[t>>2]=Z[481737],n1(Y0,35904,t)|0,t=Z[F0>>2]|0,Z[i>>2]=Z[481738],n1(t,35904,i)|0,i=Z[F0>>2]|0,Z[g>>2]=Z[481739],n1(i,35904,g)|0,g=Z[F0>>2]|0,Z[u>>2]=Z[481740],n1(g,35904,u)|0,u=Z[F0>>2]|0,Z[I>>2]=Z[481741],n1(u,35904,I)|0,I=Z[F0>>2]|0,Z[m>>2]=Z[481742],n1(I,35904,m)|0,m=Z[F0>>2]|0,Z[k>>2]=Z[481743],n1(m,35904,k)|0,C2(35908,2,1,Z[F0>>2]|0)|0,C2(35911,52,1,Z[F0>>2]|0)|0,k=Z[F0>>2]|0,Z[y>>2]=Z[481763],n1(k,35964,y)|0,C2(35980,70,1,Z[F0>>2]|0)|0,y=Z[F0>>2]|0,Z[A>>2]=Z[481770],n1(y,36051,A)|0,C2(36068,125,1,Z[F0>>2]|0)|0,A=Z[F0>>2]|0,Z[C>>2]=Z[481774],n1(A,36194,C)|0,C2(36209,52,1,Z[F0>>2]|0)|0,C=Z[F0>>2]|0,Z[H>>2]=Z[481767],n1(C,36262,H)|0,H=Z[F0>>2]|0,Z[z>>2]=Z[481768],n1(H,36283,z)|0,C2(36298,68,1,Z[F0>>2]|0)|0,z=Z[F0>>2]|0,Z[F>>2]=Z[481771],n1(z,36367,F)|0,C2(36380,101,1,Z[F0>>2]|0)|0,F=Z[F0>>2]|0,Z[L>>2]=Z[481772],n1(F,36482,L)|0,C2(36502,102,1,Z[F0>>2]|0)|0,L=Z[F0>>2]|0,Z[O>>2]=Z[532539],n1(L,36605,O)|0,C2(36633,28,1,Z[F0>>2]|0)|0,C2(36662,68,1,Z[F0>>2]|0)|0,O=Z[F0>>2]|0,Z[P>>2]=Z[481780],n1(O,36731,P)|0,C2(36750,36,1,Z[F0>>2]|0)|0,P=Z[F0>>2]|0,Z[K>>2]=Z[481764],n1(P,36787,K)|0,C2(36802,59,1,Z[F0>>2]|0)|0,K=Z[F0>>2]|0,Z[_>>2]=Z[481765],n1(K,36862,_)|0,C2(36877,109,1,Z[F0>>2]|0)|0,_=Z[F0>>2]|0,Z[J>>2]=Z[481728],n1(_,36987,J)|0,C2(37012,53,1,Z[F0>>2]|0)|0,J=Z[F0>>2]|0,Z[S>>2]=Z[481727],n1(J,37066,S)|0,C2(37091,90,1,Z[F0>>2]|0)|0,S=Z[F0>>2]|0,Z[U>>2]=Z[481729],n1(S,37182,U)|0,!(Z[481766]|0))return k0=Z[F0>>2]|0,C2(37229,48,1,k0)|0,m0=Z[F0>>2]|0,B0=Z[481726]|0,Z[W>>2]=B0,n1(m0,37278,W)|0,g0=Z[F0>>2]|0,C2(37306,67,1,g0)|0,o0=Z[F0>>2]|0,C2(37374,62,1,o0)|0,h0=Z[F0>>2]|0,C0=Z[481724]|0,Z[Q>>2]=C0,n1(h0,37437,Q)|0,u0=Z[F0>>2]|0,C2(37461,89,1,u0)|0,p0=Z[F0>>2]|0,q0=Z[481725]|0,Z[Y>>2]=q0,n1(p0,37551,Y)|0,i0=Z[F0>>2]|0,C2(37573,34,1,i0)|0,t0=Z[F0>>2]|0,C2(37608,26,1,t0)|0,E6=Z[F0>>2]|0,C2(37635,24,1,E6)|0,V6=Z[F0>>2]|0,C2(37660,29,1,V6)|0,n0=Z[F0>>2]|0,C2(37690,30,1,n0)|0,e0=Z[F0>>2]|0,C2(37721,30,1,e0)|0,Z6=Z[F0>>2]|0,U6=Z[481723]|0,Z[X>>2]=U6,n1(Z6,37752,X)|0,N6=Z[F0>>2]|0,C2(37774,95,1,N6)|0,A6=Z[F0>>2]|0,S6=Z[481722]|0,Z[T>>2]=S6,n1(A6,37870,T)|0,q=$,0;return C2(37210,18,1,Z[F0>>2]|0)|0,k0=Z[F0>>2]|0,C2(37229,48,1,k0)|0,m0=Z[F0>>2]|0,B0=Z[481726]|0,Z[W>>2]=B0,n1(m0,37278,W)|0,g0=Z[F0>>2]|0,C2(37306,67,1,g0)|0,o0=Z[F0>>2]|0,C2(37374,62,1,o0)|0,h0=Z[F0>>2]|0,C0=Z[481724]|0,Z[Q>>2]=C0,n1(h0,37437,Q)|0,u0=Z[F0>>2]|0,C2(37461,89,1,u0)|0,p0=Z[F0>>2]|0,q0=Z[481725]|0,Z[Y>>2]=q0,n1(p0,37551,Y)|0,i0=Z[F0>>2]|0,C2(37573,34,1,i0)|0,t0=Z[F0>>2]|0,C2(37608,26,1,t0)|0,E6=Z[F0>>2]|0,C2(37635,24,1,E6)|0,V6=Z[F0>>2]|0,C2(37660,29,1,V6)|0,n0=Z[F0>>2]|0,C2(37690,30,1,n0)|0,e0=Z[F0>>2]|0,C2(37721,30,1,e0)|0,Z6=Z[F0>>2]|0,U6=Z[481723]|0,Z[X>>2]=U6,n1(Z6,37752,X)|0,N6=Z[F0>>2]|0,C2(37774,95,1,N6)|0,A6=Z[F0>>2]|0,S6=Z[481722]|0,Z[T>>2]=S6,n1(A6,37870,T)|0,q=$,0}function eM(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0;if(V=q,q=q+32|0,X=V+16|0,Y=V+8|0,Q=V,Z[534493]=0,Z[533460]|0){q=V;return}if(bJ(),Z[Q>>2]=3065580,Z[Q+4>>2]=1925560,b1(37972,Q)|0,Q=Q3(T)|0,a7($,1,T,Q)|0,Z[Y>>2]=T,b1(38075,Y)|0,Z[Q+20>>2]=0,Y=hY(Q)|0,I5(Q),!Y){Z[481788]=-1,q=V;return}do if(u1(1925560,38090)|0)if(Q=u1(1925560,38108)|0,!Q){V8(3065580,38113)|0;break}else{V8(3065580,Q+4|0)|0;break}else BQ(1925560,0,3065580,0,1);while(0);Q=3065580+(x6(3065580)|0)|0,T=Q,N[T>>0]=46,N[T+1>>0]=112,N[T+2>>0]=56,N[T+3>>0]=46,T=Q+4|0,N[T>>0]=112,N[T+1>>0]=110,N[T+2>>0]=103,N[T+3>>0]=0,Z[X>>2]=3065580,Z[X+4>>2]=1925560,b1(38139,X)|0,dX(Y,3065580),eJ(Y,3065580),Z[768028]=0,Z[768155]=6,Z[768033]=1,q=V;return}function aM(V){if(V=V|0,Z[534493]=0,!(Z[768034]|0)){b5(38202,0,0),Z[481788]=-2;return}else{V8(2130160,38202)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1900,Z[532606]=15,Z[481788]=-2;return}}function x7(V,$){V=V|0,$=$|0,V8(2130160,V)|0,Z[532604]=I8()|0,Z[532605]=$+400+(I8()|0),Z[532606]=15;return}function cM(){var V=0,$=0,T=0,X=0,Y=0,Q=0;if(bJ(),!(l0(0)|0))return;if(V=l0(1)|0,$=(V|0)>0,T=$?(V|0)<16?V:16:0,V=T<<15,X=B2(V)|0,(T|0)>0){Y=0;do N[X+Y>>0]=l0(2)|0,Y=Y+1|0;while((Y|0)<(V|0))}V=$Z()|0,rY(V,X),Z[V+44580>>2]=41,$8(3,0)|0,N[103264]=0,Y=0;do Q=l0(4)|0,N[103264+Y>>0]=Q,Y=Y+1|0,N[103264+Y>>0]=0;while((Q|0)!=0&Y>>>0<1023);if(dX(V,103264),$){$=0;do{V=$Z()|0,rY(V,X+($<<15)|0),Z[V+44580>>2]=41,$8(3,$|0)|0,N[103264]=0,Y=0;do Q=l0(4)|0,N[103264+Y>>0]=Q,Y=Y+1|0,N[103264+Y>>0]=0;while((Q|0)!=0&Y>>>0<1023);eJ(V,103264),WV(V),$=$+1|0}while(($|0)<(T|0))}Z[768028]=0,Z[768033]=1;return}function ZL(){var V=0;if(V=l0(0)|0,(V|0)!=0|(N[1925560]|0)==0){Z[534493]=0,s1(38388),Z[481715]=0,cM();return}else{Z[534493]=1,s1(38369),Z[481715]=1,d6(1925560,0,1,1);return}}function VL(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0;if(T=q,q=q+16|0,X=T,Y=T+4|0,x8(2137976,0,34180)|0,(V|0)<=1){q=T;return}Q=1,W=0;Z:while(!0){switch(U=$+(Q<<2)|0,S=Z[U>>2]|0,J=N[S>>0]|0,J<<24>>24){case 62:case 124:case 38:{_=48;break Z}default:}V:do if((W|0)!=17&J<<24>>24==45){if(K=S+1|0,P=(Q6(K,38416)|0)==0,!(Q6(K,84940)|0))Z[481647]=1,O=0;else O=P?4:-1;if(!(Q6(K,38425)|0))Z[481730]=1,L=0;else L=O;if(!(Q6(K,38436)|0))Z[481713]=1,Z[481712]=1,F=0;else F=L;if((Q6(K,38464)|0)!=0?(P=(Q6(K,38452)|0)==0,z=(Q6(K,38442)|0)==0,H=(Q6(K,50394)|0)==0,C=(Q6(K,50493)|0)==0,A=(Q6(K,35307)|0)==0,y=(Q6(K,50106)|0)==0,(Q6(K,38466)|0)!=0):0)k=P?11:z?10:H?9:C?8:A?7:y?6:F;else Z[730464]=1,Z[481647]=1,Z[543976]=1,k=0;y=(Q6(K,38471)|0)==0,A=y|(Q6(K,38477)|0)==0,y=(Q6(K,49824)|0)==0,C=(Q6(K,35196)|0)==0,H=(Q6(K,35206)|0)==0,z=(Q6(K,38479)|0)==0,P=(Q6(K,88937)|0)==0,m=(Q6(K,91687)|0)==0,I=(Q6(K,38493)|0)==0,u=(Q6(K,38502)|0)==0,g=(Q6(K,38513)|0)==0,i=(Q6(K,50198)|0)==0,t=(Q6(K,38524)|0)==0,Y0=(Q6(K,38526)|0)==0,X0=(Q6(K,38528)|0)==0,T0=(Q6(K,38537)|0)==0,Z0=(Q6(K,38545)|0)==0,W0=Z0?28:T0?27:X0?26:Y0?25:t?24:i?22:g?21:u?20:I?19:m?18:P?17:z?16:H?15:C?14:y?13:A?12:k}else{Z[Y>>2]=0,Z[X>>2]=Y,a8(S,93171,X)|0;do switch(W|0){case 0:{if(!(N[1925560]|0)){x8(1925560,0,1024)|0,V8(1925560,Z[U>>2]|0)|0,W0=0;break V}else{V8(2137980+(Z[534494]<<10)|0,Z[U>>2]|0)|0,Z[534494]=(Z[534494]|0)+1,W0=0;break V}break}case 4:{Z[481717]=Z[Y>>2],W0=0;break V}case 6:{Z[481771]=Z[Y>>2],W0=0;break V}case 7:{Z[481774]=Z[Y>>2],W0=0;break V}case 8:{Z[481767]=Z[Y>>2],W0=0;break V}case 9:{Z[481768]=Z[Y>>2],W0=0;break V}case 10:{Z[481775]=Z[Y>>2],W0=0;break V}case 11:{Z[532531]=Z[Y>>2],W0=0;break V}case 12:{k7(3075101,Z[U>>2]|0,1024)|0,W0=0;break V}case 13:{Z[481780]=Z[Y>>2],W0=0;break V}case 14:{CQ(Z[U>>2]|0,3062500)|0,W0=0;break V}case 15:{CQ(Z[U>>2]|0,3064548)|0,W0=0;break V}case 16:{Z[481716]=Z[Y>>2],W0=0;break V}case 17:{k7(2130720,Z[U>>2]|0,1023)|0,Z[543976]=1,W0=0;break V}case 18:{if(A=Z[Y>>2]|0,y=(A|0)<256?A:256,A=(y|0)>0?y:0,Z[532678]=A,!(Z[543939]|0)){W0=0;break V}Z[543939]=A,W0=0;break V}case 19:{Z[532939]=Z[Y>>2],W0=0;break V}case 20:{Z[532941]=Z[Y>>2],W0=0;break V}case 21:{Z[532942]=Z[Y>>2],W0=0;break V}case 22:{Z[481772]=Z[Y>>2],W0=0;break V}case 23:{k7(2174696,Z[U>>2]|0,1023)|0,W0=0;break V}default:{if(!((W|0)!=24|(Z[533464]|0)!=0)){Z[533464]=NZ(Z[U>>2]|0,94452)|0,W0=0;break V}if(!((W|0)!=25|(Z[533465]|0)!=0)){Z[533465]=NZ(Z[U>>2]|0,103074)|0,W0=0;break V}switch(W|0){case 26:{k7(2133868,Z[U>>2]|0,2047)|0,W0=0;break V}case 27:{k7(2135916,Z[U>>2]|0,2047)|0,W0=0;break V}case 28:{k7(1926592,Z[U>>2]|0,255)|0,W0=0;break V}default:{W0=0;break V}}}}while(0)}while(0);if(Q=Q+1|0,(Q|0)>=(V|0)){_=48;break}else W=W0}if((_|0)==48){q=T;return}}function qW(){var V=0;if(Z[534491]|0)l0(5)|0,Z[534491]=0;if(Z[532937]=0,Z[768028]=2,Z[730441]=-15,Z[786074]=0,sX(),EY(),d(3144900),Z[768155]=7,R8(Z[730449]|0),R8(Z[730458]|0),h3(Z[(Z[26136]|0)+4>>2]|0,2,2,5,5,7),h3(Z[(Z[26136]|0)+4>>2]|0,5,2,2,5,7),V=U8(0)|0,xY((I8()|0)+V|0),AZ(),RV(0,0),Z[543656]=0,Z[532940]=0,Z[481714]=0,!(x9()|0))return;do ZZ()|0;while((x9()|0)!=0);return}function $L(){x8(3142376,0,488)|0,Z[785701]=2,Z[785632]=0,Z[785702]=5,Z[785598]=1,Z[785617]=8,Z[785618]=0,Z[765624]=0,Z[481719]=0,Z[532534]=1;return}function TL(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if(T=q,q=q+2896|0,X=T+2888|0,Y=T+2880|0,Q=T+2872|0,W=T+2864|0,U=T+2048|0,S=T+1024|0,J=T,x8(1925560,0,212412)|0,lM(),Z[481769]=0,Z[481771]=16,Z[481767]=3,Z[481775]=-1,Z[481778]=1,Z[532538]=1,Z[532539]=1,Z[481780]=0,Z[481764]=1,Z[481729]=1,Z[481726]=5,Z[481725]=20,Z[481728]=0,Z[481727]=0,Z[481768]=2,l0(6)|0,CO(61001),eO(2),aO(3),C1(2921764,0,222536),yJ()|0,VL(V,$),Zz(1),(Z[543933]|0)<32|(Z[543934]|0)<32)Z[543933]=580,Z[543934]=540;if(!((N[3062500]|0)!=0?($=BX(3062500,95690,U,-1)|0,CX(U)|0,!($|0)):0))E5(39712,3062500);if(!((N[3064548]|0)!=0?($=BX(3064548,95690,U,-1)|0,CX(U)|0,!($|0)):0))E5(39719,3064548);if(x8(3142376,0,488)|0,Z[785701]=2,Z[785632]=0,Z[785702]=5,Z[785598]=1,Z[785617]=8,Z[785618]=0,Z[765624]=0,Z[481719]=0,Z[532534]=1,Z[769129]=$Z()|0,BN(39726,S),BN(39736,S),Z[730464]|0)Z[W>>2]=1925560,b1(39745,W)|0;if(W=qz(S)|0,Z[730465]=W,!W)Z[Q>>2]=S,b1(39758,Q)|0,Q8(0);if(Q=Z[Z[W>>2]>>2]|0,Z[Q+20>>2]=0,Z[730466]=aW(Q,0)|0,Q=Z[(Z[Z[730465]>>2]|0)+4>>2]|0,Z[Q+20>>2]=0,Z[730467]=SY(3144900,Q)|0,Q=Z[(Z[Z[730465]>>2]|0)+8>>2]|0,Z[Q+20>>2]=0,W=SY(3144900,Q)|0,Z[730468]=W,Z[481766]|0)Q=(Z[(Z[W>>2]|0)+152>>2]|0)+16|0,W=Z[Z[Q>>2]>>2]|0,$=N[W>>0]|0,N[W>>0]=N[W+2>>0]|0,N[(Z[Z[Q>>2]>>2]|0)+2>>0]=$,$=Z[(Z[Q>>2]|0)+4>>2]|0,W=N[$>>0]|0,N[$>>0]=N[$+2>>0]|0,N[(Z[(Z[Q>>2]|0)+4>>2]|0)+2>>0]=W,W=Z[(Z[Q>>2]|0)+8>>2]|0,$=N[W>>0]|0,N[W>>0]=N[W+2>>0]|0,N[(Z[(Z[Q>>2]|0)+8>>2]|0)+2>>0]=$,$=Z[(Z[Q>>2]|0)+12>>2]|0,W=N[$>>0]|0,N[$>>0]=N[$+2>>0]|0,N[(Z[(Z[Q>>2]|0)+12>>2]|0)+2>>0]=W,W=Z[(Z[Q>>2]|0)+16>>2]|0,$=N[W>>0]|0,N[W>>0]=N[W+2>>0]|0,N[(Z[(Z[Q>>2]|0)+16>>2]|0)+2>>0]=$;MW(91993),MW(Z[(Z[(Z[Z[730467]>>2]|0)+16>>2]|0)+12>>2]|0);do if(!(Z[532939]|0))if($=Z[532941]|0,Q=Z[532942]|0,($|0)>1|(Q|0)>1){W=($|0)<8?$:8,$=(Q|0)<8?Q:8,FQ((W|0)<1?128:W<<7,($|0)<1?128:$<<7,8,256)|0;break}else{FQ(128,128,8,256)|0;break}else FQ(144,136,8,256)|0;while(0);OR(Z[(Z[Z[730467]>>2]|0)+4>>2]|0),Z[730449]=h1(128,128,8)|0,Z[730450]=h1(128,128,8)|0,Z[730451]=h1(128,128,8)|0,Z[730452]=h1(128,128,8)|0,Z[730453]=h1(128,128,8)|0,Z[730449]=Z[730450],Z[730458]=h1(128,128,8)|0,Z[532672]=h1(128,128,8)|0,Z[753850]=SW(128,128)|0,Z[753851]=SW(128,128)|0,$=0;do Z[3015408+($<<2)>>2]=SW(8,32)|0,$=$+1|0;while(($|0)!=64);Z[730469]=h1(1,1,8)|0,Z[730470]=h1(8,8,8)|0,x8(104288,0,260)|0,Z[26136]=$Z()|0,qW(),$=j7(0,65538)|0,Z[765606]=$,Z[$+308>>2]=4,Z[$+312>>2]=6,W=Z[481764]|0,Q=(W|0)<4?W:4,Z[$+316>>2]=((Q|0)>1?Q:1)<<2,Z[$+332>>2]=0,$=j7(0,65538)|0,Z[765607]=$,Z[$+308>>2]=4,Z[$+312>>2]=6,Q=Z[481764]|0,W=(Q|0)<4?Q:4,Z[$+316>>2]=((W|0)>1?W:1)<<2,Z[$+332>>2]=0,$=j7(0,65538)|0,Z[765608]=$,Z[$+308>>2]=4,Z[$+312>>2]=6,W=Z[481764]|0,Q=(W|0)<4?W:4,Z[$+316>>2]=((Q|0)>1?Q:1)<<2,Z[$+332>>2]=0,$=j7(0,65538)|0,Z[765609]=$,Z[$+308>>2]=4,Z[$+312>>2]=6,Q=Z[481764]|0,W=(Q|0)<4?Q:4,Z[$+316>>2]=((W|0)>1?W:1)<<2,Z[$+332>>2]=0,$=j7(0,65538)|0,Z[765610]=$,Z[$+308>>2]=4,Z[$+312>>2]=6,W=Z[481764]|0,Q=(W|0)<4?W:4,Z[$+316>>2]=((Q|0)>1?Q:1)<<2,Z[$+332>>2]=0,$=j7(0,65538)|0,Z[765611]=$,Z[$+308>>2]=4,Z[$+312>>2]=6,Q=Z[481764]|0,W=(Q|0)<4?Q:4,Z[$+316>>2]=((W|0)>1?W:1)<<2,Z[$+332>>2]=0,$=j7(0,65538)|0,Z[765612]=$,Z[$+308>>2]=4,Z[$+312>>2]=6,W=Z[481764]|0,Q=(W|0)<4?W:4,Z[$+316>>2]=((Q|0)>1?Q:1)<<2,Z[$+332>>2]=0,$=j7(0,65538)|0,Z[765613]=$,Z[$+308>>2]=4,Z[$+312>>2]=6,Q=Z[481764]|0,W=(Q|0)<4?Q:4,Z[$+316>>2]=((W|0)>1?W:1)<<2,Z[$+332>>2]=0,$=j7(0,65538)|0,Z[765614]=$,Z[$+308>>2]=4,Z[$+312>>2]=6,W=Z[481764]|0,Q=(W|0)<4?W:4,Z[$+316>>2]=((Q|0)>1?Q:1)<<2,Z[$+332>>2]=0,$=j7(0,65538)|0,Z[765615]=$,Z[$+308>>2]=4,Z[$+312>>2]=6,Q=Z[481764]|0,W=(Q|0)<4?Q:4,Z[$+316>>2]=((W|0)>1?W:1)<<2,Z[$+332>>2]=0,$=j7(0,65538)|0,Z[765616]=$,Z[$+308>>2]=4,Z[$+312>>2]=6,W=Z[481764]|0,Q=(W|0)<4?W:4,Z[$+316>>2]=((Q|0)>1?Q:1)<<2,Z[$+332>>2]=0,$=j7(0,65538)|0,Z[765617]=$,Z[$+308>>2]=4,Z[$+312>>2]=6,Q=Z[481764]|0,W=(Q|0)<4?Q:4,Z[$+316>>2]=((W|0)>1?W:1)<<2,Z[$+332>>2]=0,$=j7(0,65538)|0,Z[765618]=$,Z[$+308>>2]=4,Z[$+312>>2]=6,W=Z[481764]|0,Q=(W|0)<4?W:4,Z[$+316>>2]=((Q|0)>1?Q:1)<<2,Z[$+332>>2]=0,$=j7(0,65538)|0,Z[765619]=$,Z[$+308>>2]=4,Z[$+312>>2]=6,Q=Z[481764]|0,W=(Q|0)<4?Q:4,Z[$+316>>2]=((W|0)>1?W:1)<<2,Z[$+332>>2]=0,$=j7(0,65538)|0,Z[765620]=$,Z[$+308>>2]=4,Z[$+312>>2]=6,W=Z[481764]|0,Q=(W|0)<4?W:4,Z[$+316>>2]=((Q|0)>1?Q:1)<<2,Z[$+332>>2]=0,$=j7(0,65538)|0,Z[765621]=$,Z[$+308>>2]=4,Z[$+312>>2]=6,Q=Z[481764]|0,W=(Q|0)<4?Q:4,Z[$+316>>2]=((W|0)>1?W:1)<<2,Z[$+332>>2]=0,Z[765622]=Z[765606],w5(3065580,MT(39215)|0)|0,$=0;do{if(!(d3(3065580)|0))break;$=$+1|0,Z[Y>>2]=$,a6(U,39228,Y)|0,w5(3065580,MT(U)|0)|0}while($>>>0<1000);QV(Z[26136]|0,3066604),aD(22050,1)|0,Z[543959]=1,l0(7)|0;do if(!((Z[730464]|0)==0&(N[2130720]|0)==0)){if(AN(1925560,S),$=(iY(S)|0)==0,Z[481646]=$&1,!$)Z[X>>2]=1925560,b1(39776,X)|0,Q8(1);if(!(N[2130720]|0)){Z[768028]=0,Z[768033]=1;break}else Z[730464]=1,V8(J,3062500)|0,V8(3062500,39795)|0,V8(3063524,3144900)|0,sP(2130720),V8(3062500,J)|0,Q8(0)}while(0);if(Z[481781]=0,l0(8)|0)Z[481781]=1;if(l0(9)|0)Z[481781]=3;if(Z[544495]=Z[481716],!((N[2135916]|N[2133868])<<24>>24)){q=T;return}HL(2133868,2135916),Z[534491]=1,q=T;return}function nJ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if(T=$&-65,$=T|2,($|0)==3){X=V+16|0,Y=0;do{Q=127;while(!0)if(W=Z[(Z[X>>2]|0)+(Y<<2)>>2]|0,N[W+Q>>0]=N[W+(Q>>>1)>>0]|0,!Q)break;else Q=Q+-1|0;Y=Y+1|0}while((Y|0)!=128)}if(Y=T|1,(Y|0)==3){X=V+16|0,Q=127;while(!0){W=Q>>>1,U=0;do S=Z[X>>2]|0,N[(Z[S+(Q<<2)>>2]|0)+U>>0]=N[(Z[S+(W<<2)>>2]|0)+U>>0]|0,U=U+1|0;while((U|0)!=128);if(!Q)break;else Q=Q+-1|0}}if(($|0)==7){Q=V+16|0,X=0;do{U=0;do W=Z[(Z[Q>>2]|0)+(X<<2)>>2]|0,N[W+(127-U)>>0]=N[W+U>>0]|0,U=U+1|0;while((U|0)!=64);X=X+1|0}while((X|0)!=128)}if((Y|0)==7){X=V+16|0,Q=0;do{U=127-Q|0,W=0;do S=Z[X>>2]|0,N[(Z[S+(U<<2)>>2]|0)+W>>0]=N[(Z[S+(Q<<2)>>2]|0)+W>>0]|0,W=W+1|0;while((W|0)!=128);Q=Q+1|0}while((Q|0)!=64)}if(Q=(T|0)==134,Q|(Y|0)==131){Y=V+16|0,X=0;do{W=127-X|0,U=0;do S=Z[Y>>2]|0,J=(Z[S+(X<<2)>>2]|0)+U|0,_=N[J>>0]|0,N[J>>0]=N[(Z[S+(W<<2)>>2]|0)+U>>0]|0,N[(Z[(Z[Y>>2]|0)+(W<<2)>>2]|0)+U>>0]=_,U=U+1|0;while((U|0)!=128);X=X+1|0}while((X|0)!=64)}if(Q|($|0)==131){$=V+16|0,Q=0;do{X=0;do Y=Z[(Z[$>>2]|0)+(Q<<2)>>2]|0,U=Y+X|0,W=N[U>>0]|0,_=127-X|0,N[U>>0]=N[Y+_>>0]|0,N[(Z[(Z[$>>2]|0)+(Q<<2)>>2]|0)+_>>0]=W,X=X+1|0;while((X|0)!=64);Q=Q+1|0}while((Q|0)!=128)}switch(T|0){case 133:{T=V+16|0,Q=0;do{$=127-Q|0,X=0;do W=Z[T>>2]|0,_=(Z[W+(Q<<2)>>2]|0)+X|0,Y=N[_>>0]|0,U=127-X|0,N[_>>0]=N[(Z[W+(U<<2)>>2]|0)+Q>>0]|0,W=Z[T>>2]|0,N[(Z[W+(U<<2)>>2]|0)+Q>>0]=N[(Z[W+($<<2)>>2]|0)+U>>0]|0,W=Z[T>>2]|0,N[(Z[W+($<<2)>>2]|0)+U>>0]=N[(Z[W+(X<<2)>>2]|0)+$>>0]|0,N[(Z[(Z[T>>2]|0)+(X<<2)>>2]|0)+$>>0]=Y,X=X+1|0;while((X|0)!=64);Q=Q+1|0}while((Q|0)!=64);return}case 135:{Q=V+16|0,V=0;do{T=127-V|0,X=0;do $=Z[Q>>2]|0,Y=(Z[$+(V<<2)>>2]|0)+X|0,W=N[Y>>0]|0,N[Y>>0]=N[(Z[$+(X<<2)>>2]|0)+T>>0]|0,$=Z[Q>>2]|0,Y=127-X|0,N[(Z[$+(X<<2)>>2]|0)+T>>0]=N[(Z[$+(T<<2)>>2]|0)+Y>>0]|0,$=Z[Q>>2]|0,N[(Z[$+(T<<2)>>2]|0)+Y>>0]=N[(Z[$+(Y<<2)>>2]|0)+V>>0]|0,N[(Z[(Z[Q>>2]|0)+(Y<<2)>>2]|0)+V>>0]=W,X=X+1|0;while((X|0)!=64);V=V+1|0}while((V|0)!=64);return}default:return}}function vW(){if(Z[532940]|0)return;Z[532940]=(I8()|0)+150;return}function GT(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;$=q,q=q+64|0,T=$,X=(Z[768034]|0)!=0,Y=Z[769129]|0,Q=Z[(X&(N[3100925]|0)==0?Y+4|0:2921800+((X?V:0)<<2)|0)>>2]|0,V=Z[730458]|0,Z[768170]=1,Z[T>>2]=d8(2921764,Y,24416)|0,Z[T+4>>2]=d8(2921764,Z[769129]|0,24417)|0,Z[T+8>>2]=d8(2921764,Z[769129]|0,24418)|0,Z[T+12>>2]=d8(2921764,Z[769129]|0,24419)|0,Z[T+16>>2]=d8(2921764,Z[769129]|0,24420)|0,Z[T+20>>2]=d8(2921764,Z[769129]|0,24421)|0,Z[T+24>>2]=d8(2921764,Z[769129]|0,24422)|0,Z[T+28>>2]=d8(2921764,Z[769129]|0,24423)|0,Z[T+32>>2]=d8(2921764,Z[769129]|0,24424)|0,Z[T+36>>2]=d8(2921764,Z[769129]|0,24425)|0,Z[T+40>>2]=d8(2921764,Z[769129]|0,24426)|0,Z[T+44>>2]=d8(2921764,Z[769129]|0,24427)|0,Z[T+48>>2]=d8(2921764,Z[769129]|0,24428)|0,Z[T+52>>2]=d8(2921764,Z[769129]|0,24429)|0,Z[T+56>>2]=d8(2921764,Z[769129]|0,24430)|0,Z[T+60>>2]=d8(2921764,Z[769129]|0,24431)|0,Y=d8(2921764,Z[769129]|0,24415)|0;Z:do if((Y|0)==16){X=Q+12|0,W=V+12|0,U=0;do{S=((d8(2921764,Z[769129]|0,(U>>>3)+24432|0)|0)&1<<(U&7)|0)==0,J=S?3072476:T,S=U<<7,_=S+128|0,K=S;do N[(Z[W>>2]|0)+K>>0]=Z[J+((N[(Z[X>>2]|0)+K>>0]&15)<<2)>>2]&143,K=K+1|0;while(K>>>0<_>>>0);U=U+1|0}while((U|0)!=128);if(!(Z[532940]|0))Z[532940]=(I8()|0)+150}else{if((Y|0)==32&(Z[768166]|0)==1&(Z[768028]|0)==1){U=Q+12|0,X=V+12|0,W=64,_=0;while(!0){if(K=_<<7,K>>>0<(K|64)>>>0){J=K;do K=Z[U>>2]|0,N[(Z[X>>2]|0)+J>>0]=Z[((N[K+(J+64)>>0]|0)==0?3072476:T)+((N[K+J>>0]&15)<<2)>>2]&143,J=J+1|0;while((J|0)!=(W|0))}if(_=_+1|0,(_|0)==128)break;else W=W+128|0}if(Z[532940]|0)break;Z[532940]=(I8()|0)+150;break}if(W=Q+12|0,(Y&-16|0)!=48){_=V+12|0,X=0;while(!0)if(N[(Z[_>>2]|0)+X>>0]=Z[3072476+((N[(Z[W>>2]|0)+X>>0]&15)<<2)>>2]&143,X=X+1|0,(X|0)==16384)break Z}X=Y+-48|0,_=V+12|0,U=0;do{J=U>>>3,K=((d8(2921764,Z[769129]|0,J+24432|0)|0)&1<<(U&7)|0)==0,S=U<<7,P=S+128|0,O=T+((K?J:J+1&15)<<2)|0,J=S;do S=G[(Z[W>>2]|0)+J>>0]|0,N[(Z[_>>2]|0)+J>>0]=Z[((X|0)==(S|0)?O:3072476+((S&15)<<2)|0)>>2]&143,J=J+1|0;while(J>>>0

>>0);U=U+1|0}while((U|0)!=128);if(!(Z[532940]|0))Z[532940]=(I8()|0)+150}while(0);if(!((Z[768028]|0)==1&(Z[768034]|0)!=0)){q=$;return}nJ(V,Z[768166]|0),q=$;return}function XL(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0;switch(Z[482623]|0){case 2:{KW(V);return}case 3:{gP(V);return}default:{if($=(Z[26349]|0)==7?22:0,T=((Z[482624]<<3)+8|0)/2|0,X=$+T|0,pY(V,23,63-T+$|0,104,X+64|0,1),Y=64-T+$|0,RX(V,24,Y,103,X+63|0,7),X=Y+6|0,(Z[26349]|0)==7){if(pY(V,10,25,118,55,1),RX(V,11,26,117,54,7),K1(V,39976,Z[730468]|0,22,34,1,7)|0,K1(V,39998,Z[730468]|0,20,42,1,7)|0,(RY((I8()|0)*50|0)|0)<-1999)Q=0;else Q=(RY((I8()|0)*50|0)|0)/2000|0;if(M9(Z[(Z[Z[730467]>>2]|0)+((((Q|0)/4|0|0)%10|0)+212<<2)>>2]|0,V,0,0,Q+63|0,59,10,10),(RY(((I8()|0)*50|0)+32768|0)|0)<-1999)W=0;else W=(RY(((I8()|0)*50|0)+32768|0)|0)/2000|0;M9(Z[(Z[Z[730467]>>2]|0)+((((W|0)/4|0|0)%10|0)+212<<2)>>2]|0,V,0,0,56-W|0,59,10,10)}if((Z[482624]|0)<=0)return;W=0,Q=X;while(!0){if(K1(V,105328+(W*72|0)|0,Z[730468]|0,(W|0)==(Z[482625]|0)?35:34,Q,1,7)|0,(W|0)==(Z[482625]|0))M9(Z[(Z[Z[730467]>>2]|0)+980>>2]|0,V,0,0,25,Q+-1|0,7,7);do if((Z[105328+(W*72|0)+68>>2]|0)==2)if(X=(eP(3069040,3070064)|0)==0,Y=Z[(Z[Z[730467]>>2]|0)+752>>2]|0,$=Q+-1|0,X){IJ(Y,V,0,0,74,$,7,7,13,0);break}else{M9(Y,V,0,0,74,$,7,7);break}while(0);if(W=W+1|0,(W|0)>=(Z[482624]|0))break;else Q=Q+8|0}return}}}function YL(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0;if($=Z[543039]|0,!$)T=h1(128,128,8)|0,Z[543039]=T,X=T;else X=$;$=V+4|0,l5(V,X,0,0,0,0,Z[V>>2]|0,Z[$>>2]|0),R8(V),l5(X,V,0,0,((Z[V>>2]|0)+-128|0)/2|0,((Z[$>>2]|0)+-128|0)/2|0,128,128),T=Z[Z[730467]>>2]|0,Y=Z[T+996>>2]|0,Q=Z[T+4>>2]|0,N[Q+765>>0]=73,N[Q+766>>0]=51,N[Q+767>>0]=59,T=X+16|0,X=0;do{W=Z[T>>2]|0,U=X<<1,S=Z[W+(U<<2)>>2]|0,J=0,_=0,K=0,P=0,O=0;do L=G[S+_>>0]|0,F=G[Q+(L*3|0)>>0]|0,z=G[Q+(L*3|0)+1>>0]|0,H=G[Q+(L*3|0)+2>>0]|0,L=80-_+F+z+H|0,O=L+O|0,P=(B(L,F)|0)+P|0,K=(B(L,z)|0)+K|0,J=(B(L,H)|0)+J|0,_=_+1|0;while((_|0)!=64);_=Z[W+((U|1)<<2)>>2]|0,S=J,H=0,L=K,z=P,F=O;do C=G[_+H>>0]|0,A=G[Q+(C*3|0)>>0]|0,y=G[Q+(C*3|0)+1>>0]|0,k=G[Q+(C*3|0)+2>>0]|0,C=80-H+A+y+k|0,F=C+F|0,z=(B(C,A)|0)+z|0,L=(B(C,y)|0)+L|0,S=(B(C,k)|0)+S|0,H=H+1|0;while((H|0)!=64);H=X+16|0,N[Q+(H*3|0)>>0]=(z|0)/(F|0)|0,N[Q+(H*3|0)+1>>0]=(L|0)/(F|0)|0,N[Q+(H*3|0)+2>>0]=(S|0)/(F|0)|0,X=X+1|0}while((X|0)!=64);X=0;do{H=Z[T>>2]|0,_=X<<1,O=Z[H+(_<<2)>>2]|0,P=0,K=0,J=0,U=0,W=0;do k=G[O+(127-K)>>0]|0,C=G[Q+(k*3|0)>>0]|0,y=G[Q+(k*3|0)+1>>0]|0,A=G[Q+(k*3|0)+2>>0]|0,k=80-K+C+y+A|0,W=k+W|0,U=(B(k,C)|0)+U|0,J=(B(k,y)|0)+J|0,P=(B(k,A)|0)+P|0,K=K+1|0;while((K|0)!=64);K=Z[H+((_|1)<<2)>>2]|0,O=P,F=0,S=J,L=U,z=W;do A=G[K+(127-F)>>0]|0,k=G[Q+(A*3|0)>>0]|0,y=G[Q+(A*3|0)+1>>0]|0,C=G[Q+(A*3|0)+2>>0]|0,A=80-F+k+y+C|0,z=A+z|0,L=(B(A,k)|0)+L|0,S=(B(A,y)|0)+S|0,O=(B(A,C)|0)+O|0,F=F+1|0;while((F|0)!=64);F=X+144|0,N[Q+(F*3|0)>>0]=(L|0)/(z|0)|0,N[Q+(F*3|0)+1>>0]=(S|0)/(z|0)|0,N[Q+(F*3|0)+2>>0]=(O|0)/(z|0)|0,X=X+1|0}while((X|0)!=64);X=0;do{T=X<<7&128|16,F=0;do K=F+T|0,W=F+-1|0,U=((W|0)>0?W:0)+T|0,F=F+1|0,W=(F>>>0<63?F:63)+T|0,J=Q+(K*3|0)|0,N[J>>0]=(((G[J>>0]|0)*6|0)+(G[Q+(U*3|0)>>0]|0)+(G[Q+(W*3|0)>>0]|0)|0)>>>3,J=Q+(K*3|0)+1|0,N[J>>0]=(((G[J>>0]|0)*6|0)+(G[Q+(U*3|0)+1>>0]|0)+(G[Q+(W*3|0)+1>>0]|0)|0)>>>3,J=Q+(K*3|0)+2|0,N[J>>0]=(((G[J>>0]|0)*6|0)+(G[Q+(U*3|0)+2>>0]|0)+(G[Q+(W*3|0)+2>>0]|0)|0)>>>3;while((F|0)!=64);X=X+1|0}while((X|0)!=256);X=Y+4|0,F=0;do T=F+16|0,z=(r3(Y,1,(B(Z[X>>2]|0,F)|0)/64|0)|0)>>>16,O=(r3(Y,1,(B(Z[X>>2]|0,F)|0)/64|0)|0)>>>8,S=r3(Y,1,(B(Z[X>>2]|0,F)|0)/64|0)|0,L=Q+(T*3|0)|0,N[L>>0]=z+(((G[L>>0]|0)/5|0)&255),L=Q+(T*3|0)+1|0,N[L>>0]=O+(((G[L>>0]|0)/5|0)&255),L=Q+(T*3|0)+2|0,N[L>>0]=S+(((G[L>>0]|0)/5|0)&255),F=F+1|0;while((F|0)!=64);F=0;do L=F+144|0,S=(r3(Y,(Z[Y>>2]|0)+-2|0,(B(Z[X>>2]|0,F)|0)/64|0)|0)>>>16,T=(r3(Y,(Z[Y>>2]|0)+-2|0,(B(Z[X>>2]|0,F)|0)/64|0)|0)>>>8,O=r3(Y,(Z[Y>>2]|0)+-2|0,(B(Z[X>>2]|0,F)|0)/64|0)|0,z=Q+(L*3|0)|0,N[z>>0]=S+(((G[z>>0]|0)/5|0)&255),z=Q+(L*3|0)+1|0,N[z>>0]=T+(((G[z>>0]|0)/5|0)&255),z=Q+(L*3|0)+2|0,N[z>>0]=O+(((G[z>>0]|0)/5|0)&255),F=F+1|0;while((F|0)!=64);if(OR(Q),Q=Z[$>>2]|0,(Q|0)<=0){o9(V,0,0,255),m=Z[V>>2]|0,I=m+-1|0,o9(V,I,0,255),u=Z[$>>2]|0,g=u+-1|0,o9(V,0,g,255),i=Z[V>>2]|0,t=i+-1|0,Y0=Z[$>>2]|0,X0=Y0+-1|0,o9(V,t,X0,255);return}F=Q,Q=0;do X=(Q<<6|0)/(F|0)|0,h3(V,0,Q,2,Q,X+16|0),Y=Z[V>>2]|0,h3(V,Y+-3|0,Q,Y+-1|0,Q,X+144|0),Q=Q+1|0,F=Z[$>>2]|0;while((Q|0)<(F|0));o9(V,0,0,255),m=Z[V>>2]|0,I=m+-1|0,o9(V,I,0,255),u=Z[$>>2]|0,g=u+-1|0,o9(V,0,g,255),i=Z[V>>2]|0,t=i+-1|0,Y0=Z[$>>2]|0,X0=Y0+-1|0,o9(V,t,X0,255);return}function QL(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;$=V+16|0,V=(((I8()|0)/4000|0)*101|0)+10201|0,T=0,X=0;while(!0){if(Y=N[(Z[(Z[$>>2]|0)+(X<<2)>>2]|0)+T>>0]|0,Q=Y&255,W=B(X+1001|0,V)|0,!(X&2)){U=0;while(!0){if(S=Z[(Z[$>>2]|0)+(X<<2)>>2]|0,(U|0)==127)J=128,_=Q;else K=U+1|0,J=K,_=G[S+K>>0]|0;if(K=(U&6|0)==0?((B(W,U+1103|0)|0)%19|0|0)!=0:0,N[S+U>>0]=K?(_&15|0)==0?1:_^128:_,(J|0)==128)break;else U=J}}else{U=0;do W=Z[(Z[$>>2]|0)+(X<<2)>>2]|0,Q=U,U=U+1|0,N[W+Q>>0]=N[W+U>>0]|0;while((U|0)!=127);N[(Z[(Z[$>>2]|0)+(X<<2)>>2]|0)+U>>0]=Y}if(X=X+2|0,X>>>0>=128)break;else T=128}return}function WL(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;if(V=q,q=q+16|0,$=V,T=V+12|0,X=V+8|0,Y=V+4|0,Q=Z[543040]|0,(Q|0)==5)I8()|0,W=Z[543040]|0;else W=Q;if(Z[543040]=W+1,W=Z[730450]|0,N[2130428]=0,Z[532673]=I8()|0,Z[768033]|0){q=V;return}if(R8(Z[730432]|0),Q=Z[785925]|0,(Q|0)!=0&(Z[768028]|0)==0)if((Q|0)==1)KW(W),U=Z[785925]|0;else U=Q;else if(Z[768029]|0){if(V7(W,0,0,128,128,5),(Z[768029]|0)==1){if(Q=Z[481774]|0,Q>>>0<2)V7(W,0,0,128,128,1),S=Z[481774]|0;else S=Q;if((S|0)==2)V7(W,0,0,128,128,0),J=Z[481774]|0;else J=S;if((J|0)==3)V7(W,0,0,128,128,5)}if(V7(W,0,0,128,7,8),V7(W,0,121,128,127,8),gO(7,0),S4(T,X,Y),!(Z[Y>>2]|0))Z[785715]=-1;if(((((Z[785717]|0)==89?(J=iO(tO()|0)|0,J|0):0)?(Z[J+12>>2]|0)<20:0)?(Z[J+16>>2]|0)<20:0)?Z[J+20>>2]&1|0:0)Z[785717]=(Z[Y>>2]|0)==0?93:94;if(J=Z[T>>2]|0,((Z[768029]|0)==1?(Z[Y>>2]|Z[768175]|0)==0:0)&(J|0)==(Z[543041]|0)?(Y=Z[X>>2]|0,(Y|0)==(Z[543042]|0)):0)_=Y;else Z[533466]=0,_=Z[X>>2]|0;if(Z[543041]=J,Z[543042]=_,_=I8()|0,J=Z[785717]|0,(_|0)>=(Z[533466]|0)&(J|0)!=0?(_=Z[(Z[Z[730467]>>2]|0)+(J<<2)>>2]|0,J=Z[_>>2]|0,Y=Z[_+4>>2]|0,M9(_,W,0,0,(Z[T>>2]|0)-((J|0)/2|0)|0,(Z[X>>2]|0)-((Y|0)/2|0)|0,J,Y),(Z[785715]|0)!=-1):0)Y=Z[T>>2]|0,J=Z[X>>2]|0,V7(W,Y+6|0,J+4|0,Y+14|0,J+10|0,7),Z[$>>2]=Z[785715],a6(1708384,40021,$)|0,K1(W,1708384,Z[730468]|0,(Z[T>>2]|0)+7|0,(Z[X>>2]|0)+5|0,1,14)|0}if(!((Z[481785]|0)!=0&(Z[768034]|0)==0&(Z[768028]|0)==1)){if(!(Z[482626]|Z[768036]|Z[730460]))GT(0)}else l5(W,Z[730458]|0,0,0,0,0,128,128);if(W=Z[730432]|0,l5(Z[730458]|0,W,0,0,0,0,128,128),Z[482626]|Z[482623]|0)XL(W);Z:do if((Z[768036]|0)>0|(Z[768037]|0)>140?(Z[768028]|0)==1&(Z[768034]|0)!=0:0){do if(!((Z[481785]|0)>0|(Z[534493]|0)!=0)){if(Z[532605]|0?(Q6(2130160,91878)|0)==0:0)break;if(X=Z[785927]|0,T=(X|0)/2|0,(X|0)>-2)K=T;else K=12-((0-T|0)%12|0)|0;M9(Z[(Z[Z[730467]>>2]|0)+(((K|0)%12|0)+212<<2)>>2]|0,W,0,0,3,3,12,12);break Z}while(0);if(T=Z[785927]|0,X=(T|0)/2|0,(T|0)>-2)P=X;else P=16-((0-X|0)%16|0)|0;M9(Z[(Z[Z[730467]>>2]|0)+(((P|0)%16|0)+229<<2)>>2]|0,W,0,0,3,3,12,12)}while(0);l5(Z[730432]|0,Z[532672]|0,0,0,0,0,128,128),W=I8()|0;do if((W|0)<(Z[532605]|0)){if(P=I8()|0,K=Z[532604]|0,X=P-K|0,T=(Z[532605]|0)-P|0,P=(K|0)==0?0:(T|0)<200?(200-T|0)/20|0:(X|0)<200?(200-X|0)/20|0:0,!(Q6(2130160,60384)|0)){RX(Z[730432]|0,0,P+119|0,101,P+127|0,0),V7(Z[730432]|0,1,P+120|0,100,P+126|0,6),K1(Z[730432]|0,2130160,Z[730468]|0,16,P+121|0,1,1)|0,M9(Z[(Z[Z[730467]>>2]|0)+904>>2]|0,Z[730432]|0,0,0,2,(P<<1)+112|0,15,15);break}if(X=(Q6(2130160,60360)|0)==0,T=Z[730432]|0,X){RX(T,0,P+119|0,101,P+127|0,0),V7(Z[730432]|0,1,P+120|0,127,P+126|0,6),K1(Z[730432]|0,2130160,Z[730468]|0,16,P+121|0,1,1)|0,M9(Z[(Z[Z[730467]>>2]|0)+908>>2]|0,Z[730432]|0,0,0,109,(P<<1)+112|0,17,15);break}else{V7(T,0,P+121|0,128,P+127|0,8),K1(Z[730432]|0,2130160,Z[730468]|0,1,P+122|0,1,Z[532606]|0)|0;break}}else if(N[2130428]|0)V7(Z[730432]|0,0,121,128,127,8),K1(Z[730432]|0,2130428,Z[730468]|0,1,122,1,2)|0;while(0);if(W=I8()|0,Z[532673]=W-(Z[532673]|0),W=I8()|0,(W|0)<(Z[532940]|0)?(W=I8()|0,(W|0)>((Z[532940]|0)+-150|0)):0){W=Z[730432]|0,P=W+16|0,W=(((I8()|0)/4000|0)*101|0)+10201|0,T=0,X=0;while(!0){K=Z[(Z[P>>2]|0)+(X<<2)>>2]|0,$=N[K+T>>0]|0,J=$&255,Y=B(X+1001|0,W)|0;Z:do if(!(X&2)){_=K,S=0;while(!0){if(Q=S+1|0,(S|0)==127)O=128,L=J;else O=Q,L=G[_+Q>>0]|0;if(Q=(S&6|0)==0?((B(Y,S+1103|0)|0)%19|0|0)!=0:0,N[_+S>>0]=Q?(L&15|0)==0?1:L^128:L,(O|0)==128)break Z;_=Z[(Z[P>>2]|0)+(X<<2)>>2]|0,S=O}}else{S=K,_=0;do Q=_,_=_+1|0,N[S+Q>>0]=N[S+_>>0]|0,S=Z[(Z[P>>2]|0)+(X<<2)>>2]|0;while((_|0)!=127);N[S+127>>0]=$}while(0);if(X=X+2|0,X>>>0>=128)break;else T=128}}if(!(Z[532939]|0))F=1;else YL(Z[730432]|0),F=(Z[532939]|0)==0;if(T=(Z[768034]|0)!=0,F&(T&(((N[3069040]|0)!=0&T|(Z[481715]|0)!=0)^1))?(N[3100894]&1)!=0:0){if(T=Z[730432]|0,F=Z[T>>2]|0,X=(F|0)/128|0,(F|0)>127?(Z[T+4>>2]|0)>127:0){T=0;do{F=B(T,X)|0,P=T<<7,O=0;do{if(L=O+F|0,(L+-1|0)>>>0<3)GT(L),l5(Z[730458]|0,Z[730432]|0,0,0,O<<7,P,128,128);O=O+1|0}while((O|0)!=(X|0));T=T+1|0}while((T|0)<((Z[(Z[730432]|0)+4>>2]|0)/128|0|0))}}else z=80;if((z|0)==80?(tX(0),(yW()|0)>1):0){z=1;do R8(Z[2921800+(z<<2)>>2]|0),z=z+1|0;while((z|0)<(yW()|0))}if(Z[533456]|0)CK(Z[730432]|0);if(!(Z[482623]|0))BK(Z[730432]|0);if(z=Z[481723]|0,(z|0)<=127){q=V;return}nJ(Z[730432]|0,z),q=V;return}function lY(V){return V=V|0,(V|0)>15&(V|0)!=27&1|0}function sY(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if($=q,q=q+2064|0,T=$+2048|0,X=$+1024|0,Y=$,!(Z[785924]|0)){q=$;return}if(!V)w5(X,3142876)|0;else w5(X,MT(V)|0)|0;if(N[X>>0]|0?(Q=X+((x6(X)|0)+-1)|0,(N[Q>>0]|0)==42):0)N[Q>>0]=0;Z:do switch(Z[785923]|0){case 0:{if(cJ(V,Y)|0,!(N[Y>>0]|0)){Q=1708384,W=40026,U=Q+13|0;do N[Q>>0]=N[W>>0]|0,Q=Q+1|0,W=W+1|0;while((Q|0)<(U|0))}else Z[T>>2]=Y,a6(1708384,40039,T)|0;if(I0(1708384,12),!(Lz(X)|0)){d(40053),S=0,J=17;break Z}else{W=BX(X,95690,3142876,16384)|0,Z[785923]=1,_=W,J=18;break Z}break}case 2:{W=BX(X,95690,3142876,-16385)|0,Z[785923]=3,K=W,J=23;break}default:S=EQ(3142876)|0,J=17}while(0);if((J|0)==17)switch(Z[785923]|0){case 1:{_=S,J=18;break}case 3:{K=S,J=23;break}default:}do if((J|0)==18){if(_|0){Z[785923]=2;break}if(Q6(3143132,103254)|0?Q6(3143132,95214)|0:0)I0(3143132,14),Z[785924]=(Z[785924]|0)+-1}else if((J|0)==23){if(K|0){CX(3142876)|0,Z[785923]=0;break}if(u1(3143132,91894)|0){d(3143132),Z[785924]=(Z[785924]|0)+-1;break}if((Z[785847]&16384|0)==0&(N[2129072]|0)==42)I0(3143132,5),Z[785924]=(Z[785924]|0)+-1}while(0);if(!((Z[785924]|0)==0&(Z[785923]|0)!=0)){q=$;return}I0(40063,12),q=$;return}function y3(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if(V=q,q=q+16|0,$=V,Z[482624]=0,T=Z[482623]|0,(T|0)<2){Z[482624]=1,X=105328,Y=X+72|0;do Z[X>>2]=0,X=X+4|0;while((X|0)<(Y|0));if(k7(105328,40072,16)|0,Z[26349]=0,N[3076190]|0){Q=Z[482624]|0,Z[482624]=Q+1,W=105328+(Q*72|0)|0,X=W,Y=X+72|0;do Z[X>>2]=0,X=X+4|0;while((X|0)<(Y|0));k7(W,3076190,16)|0,Z[105328+(Q*72|0)+68>>2]=257}if(N[3076254]|0){Q=Z[482624]|0,Z[482624]=Q+1,W=105328+(Q*72|0)|0,X=W,Y=X+72|0;do Z[X>>2]=0,X=X+4|0;while((X|0)<(Y|0));k7(W,3076254,16)|0,Z[105328+(Q*72|0)+68>>2]=258}if(N[3076318]|0){Q=Z[482624]|0,Z[482624]=Q+1,W=105328+(Q*72|0)|0,X=W,Y=X+72|0;do Z[X>>2]=0,X=X+4|0;while((X|0)<(Y|0));k7(W,3076318,16)|0,Z[105328+(Q*72|0)+68>>2]=259}if(N[3076382]|0){Q=Z[482624]|0,Z[482624]=Q+1,W=105328+(Q*72|0)|0,X=W,Y=X+72|0;do Z[X>>2]=0,X=X+4|0;while((X|0)<(Y|0));k7(W,3076382,16)|0,Z[105328+(Q*72|0)+68>>2]=260}if(N[3076446]|0){Q=Z[482624]|0,Z[482624]=Q+1,W=105328+(Q*72|0)|0,X=W,Y=X+72|0;do Z[X>>2]=0,X=X+4|0;while((X|0)<(Y|0));k7(W,3076446,16)|0,Z[105328+(Q*72|0)+68>>2]=261}Q=Z[482624]|0,Z[482624]=Q+1,W=105328+(Q*72|0)|0,X=W,Y=X+72|0;do Z[X>>2]=0,X=X+4|0;while((X|0)<(Y|0));k7(W,91528,16)|0,Z[105328+(Q*72|0)+68>>2]=8,Q=Z[482624]|0,Z[482624]=Q+1,W=105328+(Q*72|0)|0,X=W,Y=X+72|0;do Z[X>>2]=0,X=X+4|0;while((X|0)<(Y|0));if(k7(W,40081,16)|0,Z[105328+(Q*72|0)+68>>2]=1,QX()|0){Q=QX()|0,W=Z[482624]|0,Z[482624]=W+1,U=105328+(W*72|0)|0,X=U,Y=X+72|0;do Z[X>>2]=0,X=X+4|0;while((X|0)<(Y|0));k7(U,Q,16)|0,Z[105328+(W*72|0)+68>>2]=5}if(Z[481647]|0){W=Z[482624]|0,Z[482624]=W+1,Q=105328+(W*72|0)|0,X=Q,Y=X+72|0;do Z[X>>2]=0,X=X+4|0;while((X|0)<(Y|0));k7(Q,89664,16)|0,Z[105328+(W*72|0)+68>>2]=6}S=Z[482623]|0}else S=T;if((S|0)!=4){q=V;return}a6(1708384,(Z[543939]|0)==0?40101:40092,$)|0,$=Z[482624]|0,Z[482624]=$+1,S=105328+($*72|0)|0,X=S,Y=X+72|0;do Z[X>>2]=0,X=X+4|0;while((X|0)<(Y|0));k7(S,1708384,16)|0,Z[105328+($*72|0)+68>>2]=9,X=1708384,$=40111,Y=X+17|0;do N[X>>0]=N[$>>0]|0,X=X+1|0,$=$+1|0;while((X|0)<(Y|0));$=Z[532678]|0,S=(Z[543939]|0)>0?16:18,N[1708392]=($|0)>31?S:45,N[1708393]=($|0)>63?S:45,N[1708394]=($|0)>95?S:45,N[1708395]=($|0)>127?S:45,N[1708396]=($|0)>159?S:45,N[1708397]=($|0)>191?S:45,N[1708398]=($|0)>223?S:45,N[1708399]=($|0)>255?S:45,S=Z[482624]|0,Z[482624]=S+1,$=105328+(S*72|0)|0,X=$,Y=X+72|0;do Z[X>>2]=0,X=X+4|0;while((X|0)<(Y|0));k7($,1708384,16)|0,Z[105328+(S*72|0)+68>>2]=19,S=Z[482624]|0,Z[482624]=S+1,$=105328+(S*72|0)|0,X=$,Y=X+72|0;do Z[X>>2]=0,X=X+4|0;while((X|0)<(Y|0));k7($,59499,16)|0,Z[105328+(S*72|0)+68>>2]=13,S=Z[482624]|0,Z[482624]=S+1,$=105328+(S*72|0)|0,X=$,Y=X+72|0;do Z[X>>2]=0,X=X+4|0;while((X|0)<(Y|0));k7($,91682,16)|0,Z[105328+(S*72|0)+68>>2]=11,q=V;return}function oY(){var V=0,$=0,T=0,X=0,Y=0;if(V=Z[768185]|0,Z[482627]|0){Z[482627]=0,Z[482623]=1,Z[482624]=1,$=105328,T=$+72|0;do Z[$>>2]=0,$=$+4|0;while(($|0)<(T|0));k7(105328,40128,16)|0,Z[26349]=7,X=Z[482624]|0,Z[482624]=X+1,Y=105328+(X*72|0)|0,$=Y,T=$+72|0;do Z[$>>2]=0,$=$+4|0;while(($|0)<(T|0));k7(Y,40140,16)|0,Z[105328+(X*72|0)+68>>2]=0,Z[482625]=0,N[1713161]=1,O3()}if((V|0)==0|(Z[768034]|0)==0|(Z[482623]|0)!=0)return;if((d8(2921764,Z[769129]|0,24368)|0)==1)f2(2921764,Z[769129]|0,24368,0);else Z[482623]=1,y3(),Z[482625]=0;N[1713161]=1,O3();return}function rJ(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0;if(V=(O2(-5)|0)!=0,$=V&(Z[543045]|0)==0&1,Z[543045]=O2(-5)|0,!(x9()|0))T=$;else{V=$;while(!0){$=ZZ()|0;Z:do if(!(O2(-5)|0))if(X=Z[786056]|0,(Z[482623]|0)==0&(X|0)<256?(Y=($+-65|0)>>>0<26?$+63|0:$,Q=(Y|0)==127?8:Y,Q>>>0<154):0)N[3143968+X>>0]=Q,Z[786056]=(Z[786056]|0)+1,W=V;else W=V;else{do if(($+-111|0)>>>0<2)Z[533456]=((Z[533456]|0)+1|0)%2|0,O3();else{if(($|0)==114&(Z[730463]|0)==0){if(Q=I8()|0,(Q|0)<=((Z[532676]|0)+500|0))break;if(Z[730463]=1,Z[482623]=0,Z[532676]=I8()|0,x9()|0)do ZZ()|0;while((x9()|0)!=0);O3()}if(($|0)!=118)if(($+-97|0)>>>0<26)break;else{W=V;break Z}if(Q=iL()|0,(Q|0)!=0?(N[Q>>0]|0)!=0:0)$6(Z[482628]|0),X=B2((x6(Q)|0)<<2)|0,Z[482628]=X,YQ(Q,X)|0,$6(Q);else $6(Q);O3()}while(0);N[3143968+(Z[786056]|0)>>0]=$+95,Z[786056]=(Z[786056]|0)+1,W=0}while(0);if(!(x9()|0)){T=W;break}else V=W}}if(!T)return;N[3143968+(Z[786056]|0)>>0]=-38,Z[786056]=(Z[786056]|0)+1;return}function NL(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if(Z$(2,0)|0)Z[482625]=(Z[482625]|0)+-1;if(V=(Z$(3,0)|0)==0,$=Z[482625]|0,V)T=$;else V=$+1|0,Z[482625]=V,T=V;if(V=Z[482624]|0,(T|0)>-1)X=T;else X=V-((0-T|0)%(V|0)|0)|0;Z[482625]=(X|0)%(V|0)|0,V=Z$(0,0)|0,X=Z$(1,0)|0,T=(V|0)!=0,$=(X|0)==0;do if(X|V|0){if(Y=Z[105328+((Z[482625]|0)*72|0)+68>>2]|0,(Y|0)>255){if(Q=(Y|0)<261?Y+-256|0:5,N[3076510+((Q|0)>0?Q:0)>>0]=T?1:2,Z[482626]=1,Z[482623]|0)Z[786056]=0;Z[482623]=0,Q=3072716,Z[Q>>2]=0,Z[Q+4>>2]=0,Z[768307]=1,Z[768308]=1;break}if((Y|0)==19){if(T)Z[532678]=(Z[532678]|0)+-32;if(Y=Z[532678]|0,$)W=Y;else Q=Y+32|0,Z[532678]=Q,W=Q;Q=(W|0)<256?W:256,Y=(Q|0)>8?Q:8,Z[532678]=Y,Z[543939]=Y,Y=3072716,Z[Y>>2]=0,Z[Y+4>>2]=0,Z[768307]=1,Z[768308]=1,y3()}}while(0);if(!(((Z$(4,0)|0)==0?(Z$(5,0)|0)==0:0)?!(Z$(6,0)|0):0))U=21;Z:do if((U|0)==21){if(Z[768183]=0,Z[768184]=0,Z[768185]=0,Z[768311]=1,Z[768312]=1,Z[768313]=1,W=Z[105328+((Z[482625]|0)*72|0)+68>>2]|0,(W|0)>255){if(N[3076510+((W|0)<261?W+-256|0:5)>>0]=112,Z[482626]=1,Z[482623]|0)Z[786056]=0;Z[482623]=0}do switch(W|0){case 0:{if(Z[482623]|0)Z[786056]=0;Z[482623]=0;break Z}case 1:{if(Z[482623]|0)Z[786056]=0;Z[482623]=0,Z[730463]=1;break Z}case 13:{Z[482623]=3;break Z}case 3:{if(Z[482623]|0)Z[786056]=0;Z[482623]=0,Z[768033]=2,Z[482622]=2;break Z}case 4:{if(Z[482623]|0)Z[786056]=0;Z[482623]=0,WX(),Z[785925]=0,Z[768028]=0,Z[768155]=6;break Z}case 5:{uU();break Z}case 6:{Z[543503]=1;break Z}case 8:{Z[482623]=4,y3(),Z[482625]=0;break Z}case 9:{if(!(Z[543939]|0))$=Z[532678]|0,S=($|0)==0?256:$;else S=0;Z[543939]=S,y3();break Z}case 10:{Oz(),y3();break Z}case 11:{Z[482623]=1,y3(),Z[482625]=0;break Z}case 12:{_W(),Z[482623]=2,O3();break Z}default:break Z}while(0)}while(0);if(Z[482623]|Z[543654]|0)return;O3();return}function UL(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0;if(Z[785925]|0){if(!(x9()|0))return;do{if(V=ZZ()|0,$=Z[785925]|0,($|0)==2)T=Z[785925]|0;else T=$;if((T|0)==1)hP(V),X=Z[785925]|0;else X=T;if((X|0)==2)JO(V),Y=Z[785925]|0;else Y=X;if((Y|0)==0?x9()|0:0)do ZZ()|0;while((x9()|0)!=0)}while((x9()|0)!=0);return}if(!(Z[785923]|0)){if(!(Z[785926]|0))return;if(!(x9()|0))return;switch(Y=ZZ()|0,Y|0){case 13:case 121:{Q=26;break}case 27:case 110:break;default:return}Z:do if((Q|0)==26){switch(X=1|0,T=(X|0)<0?X:0,oU(106480+(((T|0)>0?T:0)<<8)|0,1),Y|0){case 27:case 110:break Z;default:}return}while(0);Z[785926]=0,d(91964);return}else{if(Z[785924]|0)return;if(!(x9()|0))return;do{if(Y=ZZ()|0,(Y|0)!=0?(Q=Z[768157]|0,T=Q+-6|0,Z[768157]=T,V7(Z[730449]|0,0,T,128,Q+-1|0,0),(Y|0)==27):0)Z[785923]=0,CX(3142876)|0,W=0;else W=17;Z[785924]=W}while((x9()|0)!=0);return}}function hJ(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0;Y=q,q=q+272|0,Q=Y+256|0,W=Y,Z[Q>>2]=T,Z[Q+4>>2]=X,a6(W,V,Q)|0,V8(2130160,W)|0,Z[532604]=I8()|0,Z[532605]=$+400+(I8()|0),Z[532606]=15,q=Y;return}function jW(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0;V=q,q=q+272|0,$=V+256|0,T=V,WV(Z[769129]|0),WV(Z[26136]|0),G3(Z[765606]|0),G3(Z[765607]|0),G3(Z[765608]|0),G3(Z[765609]|0),G3(Z[765610]|0),G3(Z[765611]|0),G3(Z[765612]|0),G3(Z[765613]|0),G3(Z[765614]|0),G3(Z[765615]|0),G3(Z[765616]|0),G3(Z[765617]|0),G3(Z[765618]|0),G3(Z[765619]|0),G3(Z[765620]|0),G3(Z[765621]|0),Z[765622]=0,C1(3065576,0,77296),x8(3142376,0,488)|0,Z[785701]=2,Z[785632]=0,Z[785702]=5,Z[785598]=1,Z[785617]=8,Z[785618]=0,Z[765624]=0,Z[481719]=0,Z[532534]=1,V8(3063524,3144900)|0,Z[769129]=$Z()|0,Z[26136]=$Z()|0,X=j7(0,65538)|0,Z[765606]=X,Z[X+308>>2]=4,Z[X+312>>2]=6,Y=Z[481764]|0,Q=(Y|0)<4?Y:4,Z[X+316>>2]=((Q|0)>1?Q:1)<<2,Z[X+332>>2]=0,X=j7(0,65538)|0,Z[765607]=X,Z[X+308>>2]=4,Z[X+312>>2]=6,Q=Z[481764]|0,Y=(Q|0)<4?Q:4,Z[X+316>>2]=((Y|0)>1?Y:1)<<2,Z[X+332>>2]=0,X=j7(0,65538)|0,Z[765608]=X,Z[X+308>>2]=4,Z[X+312>>2]=6,Y=Z[481764]|0,Q=(Y|0)<4?Y:4,Z[X+316>>2]=((Q|0)>1?Q:1)<<2,Z[X+332>>2]=0,X=j7(0,65538)|0,Z[765609]=X,Z[X+308>>2]=4,Z[X+312>>2]=6,Q=Z[481764]|0,Y=(Q|0)<4?Q:4,Z[X+316>>2]=((Y|0)>1?Y:1)<<2,Z[X+332>>2]=0,X=j7(0,65538)|0,Z[765610]=X,Z[X+308>>2]=4,Z[X+312>>2]=6,Y=Z[481764]|0,Q=(Y|0)<4?Y:4,Z[X+316>>2]=((Q|0)>1?Q:1)<<2,Z[X+332>>2]=0,X=j7(0,65538)|0,Z[765611]=X,Z[X+308>>2]=4,Z[X+312>>2]=6,Q=Z[481764]|0,Y=(Q|0)<4?Q:4,Z[X+316>>2]=((Y|0)>1?Y:1)<<2,Z[X+332>>2]=0,X=j7(0,65538)|0,Z[765612]=X,Z[X+308>>2]=4,Z[X+312>>2]=6,Y=Z[481764]|0,Q=(Y|0)<4?Y:4,Z[X+316>>2]=((Q|0)>1?Q:1)<<2,Z[X+332>>2]=0,X=j7(0,65538)|0,Z[765613]=X,Z[X+308>>2]=4,Z[X+312>>2]=6,Q=Z[481764]|0,Y=(Q|0)<4?Q:4,Z[X+316>>2]=((Y|0)>1?Y:1)<<2,Z[X+332>>2]=0,X=j7(0,65538)|0,Z[765614]=X,Z[X+308>>2]=4,Z[X+312>>2]=6,Y=Z[481764]|0,Q=(Y|0)<4?Y:4,Z[X+316>>2]=((Q|0)>1?Q:1)<<2,Z[X+332>>2]=0,X=j7(0,65538)|0,Z[765615]=X,Z[X+308>>2]=4,Z[X+312>>2]=6,Q=Z[481764]|0,Y=(Q|0)<4?Q:4,Z[X+316>>2]=((Y|0)>1?Y:1)<<2,Z[X+332>>2]=0,X=j7(0,65538)|0,Z[765616]=X,Z[X+308>>2]=4,Z[X+312>>2]=6,Y=Z[481764]|0,Q=(Y|0)<4?Y:4,Z[X+316>>2]=((Q|0)>1?Q:1)<<2,Z[X+332>>2]=0,X=j7(0,65538)|0,Z[765617]=X,Z[X+308>>2]=4,Z[X+312>>2]=6,Q=Z[481764]|0,Y=(Q|0)<4?Q:4,Z[X+316>>2]=((Y|0)>1?Y:1)<<2,Z[X+332>>2]=0,X=j7(0,65538)|0,Z[765618]=X,Z[X+308>>2]=4,Z[X+312>>2]=6,Y=Z[481764]|0,Q=(Y|0)<4?Y:4,Z[X+316>>2]=((Q|0)>1?Q:1)<<2,Z[X+332>>2]=0,X=j7(0,65538)|0,Z[765619]=X,Z[X+308>>2]=4,Z[X+312>>2]=6,Q=Z[481764]|0,Y=(Q|0)<4?Q:4,Z[X+316>>2]=((Y|0)>1?Y:1)<<2,Z[X+332>>2]=0,X=j7(0,65538)|0,Z[765620]=X,Z[X+308>>2]=4,Z[X+312>>2]=6,Y=Z[481764]|0,Q=(Y|0)<4?Y:4,Z[X+316>>2]=((Q|0)>1?Q:1)<<2,Z[X+332>>2]=0,X=j7(0,65538)|0,Z[765621]=X,Z[X+308>>2]=4,Z[X+312>>2]=6,Q=Z[481764]|0,Y=(Q|0)<4?Q:4,Z[X+316>>2]=((Y|0)>1?Y:1)<<2,Z[X+332>>2]=0,Z[765622]=Z[765606],qW(),Z[532936]=0,w5(3065580,MT(39215)|0)|0,X=0;while(!0){if(!(d3(3065580)|0)){W=4;break}if(X=X+1|0,Z[$>>2]=X,a6(T,39228,$)|0,w5(3065580,MT(T)|0)|0,X>>>0>=1000){W=4;break}}if((W|0)==4){QV(Z[26136]|0,3066604),q=V;return}}function Y4(V){if(V=V|0,(Z[730463]|0)>0)return 0;else j4(Z[543065]|0,V)|0,_S(Z[543065]|0)|0;return 0}function JL(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if(V=Z[730463]|0,!V)return;if($=(V|0)<(((Z[785580]|0)==60?12:6)|0)?V+1|0:0,Z[730463]=$,($|0)==2){if(V=d8(2921764,Z[769129]|0,24366)|0,!(r8(8)|0))Z[768166]=r8(4)|0;if(T=Z[769129]|0,f2(2921764,T,24384,r8(256)|0),T=Z[769129]|0,f2(2921764,T,24384,r8(256)|0),T=Z[769129]|0,f2(2921764,T,24384,r8(256)|0),T=Z[769129]|0,f2(2921764,T,24384,r8(256)|0),!(r8(4)|0))T=Z[769129]|0,f2(2921764,T,24414,r8(16)|0|240);if(r8(3)|0,r8(10)|0,T=(Z[532531]|0)==0?4:Z[532532]<<1,X=T*10|0,(T|0)>0){Y=0;do Q=Z[769129]|0,W=r8(12288)|0,f2(2921764,Q,W,r8(256)|0),Y=Y+1|0;while((Y|0)<(X|0))}if(X=Z[769129]|0,Y=(r8(32)|0)+24320|0,f2(2921764,X,Y,r8(140)|0),Y=Z[769129]|0,X=(r8(32)|0)+24320|0,f2(2921764,Y,X,r8(140)|0),!(r8(4)|0))X=Z[769129]|0,f2(2921764,X,24369,r8(256)|0),X=Z[769129]|0,f2(2921764,X,24370,r8(256)|0),X=Z[769129]|0,f2(2921764,X,24371,r8(256)|0);if(!(r8(4)|0))X=Z[769129]|0,f2(2921764,X,24408,r8(256)|0),X=Z[769129]|0,f2(2921764,X,24409,r8(256)|0),X=Z[769129]|0,f2(2921764,X,24410,r8(256)|0),X=Z[769129]|0,f2(2921764,X,24411,r8(256)|0);if(X=(T|0)/2|0,Y=(T|0)>1,Y){T=0;do W=(r8(10240)|0)+1024|0,Q=Z[769129]|0,U=(r8(2048)|0)+W|0,S=U-(r8(2048)|0)|0,XW(2921764,Q,W,S,r8(1024)|0),S=Z[769129]|0,W=r8(11264)|0,Q=r8(11264)|0,XW(2921764,S,W,Q,r8(1024)|0),T=T+1|0;while((T|0)!=(X|0));if(Y){Y=0;do T=r8(11776)|0,Q=Z[769129]|0,W=r8(256)|0,YW(2921764,Q,T,W,r8(512)|0),Y=Y+1|0;while((Y|0)!=(X|0))}}f2(2921764,Z[769129]|0,24366,V),J=Z[730463]|0}else J=$;if(J|0)return;if(Z[768033]=1,N[3075101]|0)return;V8(3075101,3074076)|0;return}function SL(){var V=0,$=0,T=0,X=0,Y=0,Q=0;if(V=Z[768033]|0,!V)return;if(Z[730463]=0,(V|0)==1){if(yK(),(Z[768028]|0)==2)Z[768028]=0;$=Z[768033]|0}else $=V;if(($|0)==2)WX(),T=Z[768033]|0;else T=$;if((T|0)==3)jW(),X=Z[768033]|0;else X=T;if((X|0)==4)WX(),sX(),d(3144900),d(172528),Y=Z[768033]|0;else Y=X;if((Y|0)==5)jW(),Q=Z[768033]|0;else Q=Y;if((Q|0)==6)sX();Z[768033]=0;return}function RL(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;switch(V=q,q=q+1040|0,$=V+1032|0,T=V+1024|0,X=V,Z[481785]|0){case 1:{Y=2;break}case 0:{q=V;return}default:}if((Y|0)==2){if(Q=I8()|0,(Q|0)>(((Z[543975]|0)*1000|0)+(Z[481786]|0)|0)?(zJ(0),lX(),(Z[768034]|0)==0):0)Z[768157]=(Z[768157]|0)+-6,b5(40182,0,0);if(!(Z[481785]|0)){q=V;return}}if((O2(41)|0)==0?!((Z[768034]|0)!=0&(Z[768185]|0)!=0):0){if(Q=Z[481785]|0,(Q|0)==2){Z[481785]=0,W=(u1(1928440,40225)|0)!=0,U=Z[481787]|0;do if(!(W&(U|0)==0)){if(W&(U|0)==1){WO(1928440)|0;break}if(S=ML(1928440)|0,S|0)if(dX(S,1928440),Z[481788]=6,(Z[768034]|0)==0|(Z[730464]|0)!=0){Z[768157]=(Z[768157]|0)+-6,b5(40257,0,0),I0(1996446,14),J=HK(1928440)|0,_=x6(Z[S>>2]|0)|0,Z[$>>2]=J,Z[$+4>>2]=_,a6(1708384,40274,$)|0,b5(1708384,0,0);break}else{mU(),Z[768033]=1,Z[768036]=20;break}if(_=Z[481721]|0,Z[481788]=-10-_,(_|0)==1)V8(2130160,40296)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1900,Z[532606]=15,K=Z[481721]|0;else K=_;if((K|0)==2)V8(2130160,59813)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1900,Z[532606]=15,P=Z[481721]|0;else P=K;if((P|0)==3)V8(2130160,40321)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1900,Z[532606]=15,O=Z[481721]|0;else O=P;if((O|0)==4)V8(2130160,43084)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1900,Z[532606]=15}else{if(_=yN(1928440)|0,V8(X,1928440)|0,J=u1(1928440,40230)|0,J|0)V8(X+(J-1928440)+1|0,J+6|0)|0;do if(_)if((x6(_4(_,91898,0)|0)|0)>>>0<=1)if(!(Q6(_4(_,91919,0)|0,95780)|0)){L=_;break}else{Y=19;break}else{kz(1928440,X)|0,L=_;break}else Y=19;while(0);if((Y|0)==19)if(_=yN(X)|0,!_){if(!(Z[768034]|0))b5(40296,0,0);lX(),Z[481788]=-3;break}else L=_;if(_=_4(L,91898,0)|0,(x6(_)|0)>>>0<2){J=(Q6(_4(L,91919,0)|0,95780)|0)==0,S=(Z[768034]|0)!=0;do if(J)if(S)F=-1;else b5(40237,0,0),F=-1;else if(S){V8(2130160,38202)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1900,Z[532606]=15,F=-2;break}else{b5(38202,0,0),F=-2;break}while(0);Z[481788]=F,lX(),Z[768036]=0}else{S=iY(GJ(_)|0)|0,RO(L);do if(!S)if(Z[481788]=5,(Z[768034]|0)==0|(Z[730464]|0)!=0){Z[768157]=(Z[768157]|0)+-6,b5(40257,0,0),V8(1708384,_4(L,91902,0)|0)|0,KJ(1708384),I0(1708384,14),J=x6(Z[Z[26136]>>2]|0)|0,Z[T>>2]=_,Z[T+4>>2]=J,a6(1708384,40274,T)|0,b5(1708384,0,0);break}else{mU(),Z[768033]=1,Z[768036]=20;break}else XO(_),V8(1996446,_4(L,91902,0)|0)|0,KJ(1996446);while(0);BR(L)}Z[785927]=0}while(0);z=Z[481785]|0}else z=Q;if((z|0)!=3){q=V;return}if(Z[481785]=0,Z[481788]=-3,lX(),!(Z[768034]|0)){b5(91878,0,0),q=V;return}else{V8(2130160,91878)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1900,Z[532606]=15,q=V;return}}if(zJ(0),lX(),!(Z[768034]|0))Z[768157]=(Z[768157]|0)+-6,b5(40201,0,0);Z[768185]=0,Z[768313]=1,q=V;return}function gJ(){var V=0,$=0,T=0;if(V=HZ(0,I8()|0)|0,Z[482629]=Z[V>>2],Z[482630]=Z[V+4>>2],Z[482631]=Z[V+8>>2],Z[482632]=Z[V+12>>2],Z[482633]=Z[V+16>>2],Z[482634]=Z[V+20>>2],!(Z[482631]|0))V=HZ(4,I8()|0)|0,Z[482629]=Z[V>>2],Z[482630]=Z[V+4>>2],Z[482631]=Z[V+8>>2],Z[482632]=Z[V+12>>2],Z[482633]=Z[V+16>>2],Z[482634]=Z[V+20>>2];if(V=HZ(1,I8()|0)|0,Z[482635]=Z[V>>2],Z[482636]=Z[V+4>>2],Z[482637]=Z[V+8>>2],Z[482638]=Z[V+12>>2],Z[482639]=Z[V+16>>2],Z[482640]=Z[V+20>>2],!(Z[482637]|0))V=HZ(5,I8()|0)|0,Z[482635]=Z[V>>2],Z[482636]=Z[V+4>>2],Z[482637]=Z[V+8>>2],Z[482638]=Z[V+12>>2],Z[482639]=Z[V+16>>2],Z[482640]=Z[V+20>>2];if(V=HZ(2,I8()|0)|0,Z[482641]=Z[V>>2],Z[482642]=Z[V+4>>2],Z[482643]=Z[V+8>>2],Z[482644]=Z[V+12>>2],Z[482645]=Z[V+16>>2],Z[482646]=Z[V+20>>2],!(Z[482643]|0))V=HZ(6,I8()|0)|0,Z[482641]=Z[V>>2],Z[482642]=Z[V+4>>2],Z[482643]=Z[V+8>>2],Z[482644]=Z[V+12>>2],Z[482645]=Z[V+16>>2],Z[482646]=Z[V+20>>2];if(V=HZ(3,I8()|0)|0,Z[482647]=Z[V>>2],Z[482648]=Z[V+4>>2],Z[482649]=Z[V+8>>2],Z[482650]=Z[V+12>>2],Z[482651]=Z[V+16>>2],Z[482652]=Z[V+20>>2],Z[482649]|0){$=I8()|0,T=HZ(-1,$)|0,Z[482653]=Z[T>>2],Z[482654]=Z[T+4>>2],Z[482655]=Z[T+8>>2],Z[482656]=Z[T+12>>2],Z[482657]=Z[T+16>>2],Z[482658]=Z[T+20>>2];return}V=HZ(7,I8()|0)|0,Z[482647]=Z[V>>2],Z[482648]=Z[V+4>>2],Z[482649]=Z[V+8>>2],Z[482650]=Z[V+12>>2],Z[482651]=Z[V+16>>2],Z[482652]=Z[V+20>>2],$=I8()|0,T=HZ(-1,$)|0,Z[482653]=Z[T>>2],Z[482654]=Z[T+4>>2],Z[482655]=Z[T+8>>2],Z[482656]=Z[T+12>>2],Z[482657]=Z[T+16>>2],Z[482658]=Z[T+20>>2];return}function _L(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0;if(V=q,q=q+304|0,$=V+272|0,T=V+264|0,X=V+256|0,Y=V,Q=V+292|0,W=V+288|0,U=V+284|0,S=V+280|0,J=V+276|0,Z[543503]|0){R8(Z[730449]|0),AZ(),RV(0,0),q=V;return}_=Z[8695]|0;do if((Z[768028]|0)!=2&(_|0)!=-1){if((Z[532678]|0)==(_|0)?(Z[543939]|0)==(Z[8696]|0):0)break;LR()}while(0);Z[8695]=Z[532678],Z[8696]=Z[543939],AK();do if((Z[482623]|0)==0&(Z[768028]|0)==1&(Z[768034]|0)!=0){if((x4(6,0)|0)==0?(PT(6,0)|0)<=128:0){Z[543043]=I8()|0,Z[543044]=0;break}if(_=Z[543044]|0,Z[543044]=_+1,(_|0)>4?(_=I8()|0,(_|0)>((Z[543043]|0)+500|0)):0)Z[482623]=1,Z[482625]=0,y3(),O3(),N[1713161]=1}else Z[543043]=I8()|0;while(0);if(BL(),rM(),_=Z[543939]|0,_|0)Z[532678]=_;Z[543940]=256,_=((d8(2921764,Z[769129]|0,24365)|0)&5|0)==5,rL((Z[482623]|0)==0&((Z[768028]|0)==1&_)&1),_=Z[532531]|0,K=Z[768028]|0;do if((_|0)!=0&(K|0)==1){if(P=_+1|0,Z[532531]=P,(P|0)==12)Z[730463]=1;if((Z[768033]|0)==1)if(lW(Z[730458]|0,0,0)|0,Z[532531]=1,P=(Z[532532]|0)+1|0,Z[532532]=P,(P|0)==48)Q8(0);else{O=Z[768028]|0;break}else O=1}else O=K;while(0);if(!((Z[768029]|0)>>>0>1&((Z[481769]|0)!=0&(O|0)==0)))Z[543658]=0,Z[543657]=0;if(O2(-5)|0?(O2(16)|0)==3:0){if(!(Z[543939]|0))O=Z[532678]|0,Z[543939]=(O|0)==0?256:O,V8(2130160,40164)|0;else Z[543939]=0,V8(2130160,40145)|0;Z[532604]=I8()|0,Z[532605]=(I8()|0)+1400,Z[532606]=15,Z[543940]=256,y3()}if(O2(-5)|0?(O2(45)|0)==3:0){O=(Z[532678]|0)+-32|0,K=(O|0)<256?O:256,O=(K|0)>0?K:0,Z[532678]=O,Z[543939]=O,L=1708384,F=40352,z=L+32|0;do N[L>>0]=N[F>>0]|0,L=L+1|0,F=F+1|0;while((L|0)<(z|0));if(N[1708395]=(O|0)>31?16:45,N[1708396]=(O|0)>63?16:45,N[1708397]=(O|0)>95?16:45,N[1708398]=(O|0)>127?16:45,N[1708399]=(O|0)>159?16:45,N[1708400]=(O|0)>191?16:45,N[1708401]=(O|0)>223?16:45,N[1708402]=(O|0)>255?16:45,V8(2130160,1708384)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1900,Z[532606]=15,Z[532604]=(Z[532604]|0)+-1000,y3(),x9()|0)do ZZ()|0;while((x9()|0)!=0)}if(O2(-5)|0?(O2(46)|0)==3:0){O=(Z[532678]|0)+32|0,K=(O|0)<256?O:256,O=(K|0)>0?K:0,Z[532678]=O,Z[543939]=O,L=1708384,F=40352,z=L+32|0;do N[L>>0]=N[F>>0]|0,L=L+1|0,F=F+1|0;while((L|0)<(z|0));if(N[1708395]=(O|0)>31?16:45,N[1708396]=(O|0)>63?16:45,N[1708397]=(O|0)>95?16:45,N[1708398]=(O|0)>127?16:45,N[1708399]=(O|0)>159?16:45,N[1708400]=(O|0)>191?16:45,N[1708401]=(O|0)>223?16:45,N[1708402]=(O|0)>255?16:45,V8(2130160,1708384)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1900,Z[532606]=15,Z[532604]=(Z[532604]|0)+-1000,y3(),x9()|0)do ZZ()|0;while((x9()|0)!=0)}Z[768439]=-1,Z[768440]=-1,Z[768441]=-1,Z[768442]=-1,Z[768443]=-1,Z[768444]=-1,Z[768445]=-1,Z[768446]=-1,O=Z[482623]|0,F=Z[543939]|0,L=Z[730442]|0,z=eW()|0,K=((d8(2921764,Z[769129]|0,24365)|0)&5|0)==5,e6(10,O|0,F|0,L|0,z|0,1,(Z[482623]|0)==0&((Z[768028]|0)==1&K)&1|0,Z[481714]|0,Z[543503]|0)|0,Z[543046]=(Z[543046]|0)+1,K=l0(11)|0;Z:do if((K|0)>0){z=l0(12)|0;do switch(K|0){case 1:{Z[768033]=1;break Z}case 2:{L=(z|0)<256?z:256,Z[543939]=(L|0)>0?L:0,Z[543940]=256;break Z}case 3:{if(!(Z[543939]|0))L=Z[532678]|0,Z[543939]=(L|0)==0?256:L,V8(2130160,40164)|0;else Z[543939]=0,V8(2130160,40145)|0;Z[532604]=I8()|0,Z[532605]=(I8()|0)+1400,Z[532606]=15,Z[543940]=256;break Z}case 4:{if(!(Z[482623]|0)){Z[482659]=1,Z[543043]=0;break Z}else{Z[786056]=0,Z[482623]=0;break Z}break}case 5:{if(L=(z|0)==0,F=(Z[482623]|0)!=0,!(L|F)){Z[482623]=1,y3(),Z[482625]=0;break Z}if(!(L&F))break Z;Z[786056]=0,Z[482623]=0;break Z}case 6:{x8(1925560,0,1024)|0,$8(3,0)|0,N[103264]=0,F=0;do L=l0(4)|0,N[103264+F>>0]=L,F=F+1|0,N[103264+F>>0]=0;while((L|0)!=0&F>>>0<1023);V8(1925560,bP(3144900,103264)|0)|0,jW(),R8(Z[730432]|0),R8(Z[730458]|0),R8(Z[730449]|0);break Z}case 7:{if(F=Z[482623]|0,(F|1|0)!=3){Z[482623]=3,_W();break Z}if(F|0)Z[786056]=0;Z[482623]=0;break Z}case 9:{Z[533463]=0,CL();break Z}case 10:{Z[533463]=1;break Z}case 11:{Z[533463]=0;break Z}default:break Z}while(0)}while(0);if(l0(13)|0,Z[768439]=l0(14)|0,Z[768440]=l0(14)|0,Z[768441]=l0(14)|0,Z[768442]=l0(14)|0,Z[768443]=l0(14)|0,Z[768444]=l0(14)|0,Z[768445]=l0(14)|0,Z[768446]=l0(14)|0,Z[532679]=l0(15)|0,Z[785717]=89,SL(),(Z[768028]|0)!=1){if(Z[543654]=0,Z[482623]|0)Z[786056]=0;Z[482623]=0,Z[785580]=30}if(K=(I8()|0)+72000000|0,z=(Z[482623]|Z[543654]|0)==0,F=Z[785580]|0,L=K-(Z[543047]|0)|0,O=B((((L|0)<32000?L:32000)<<16|0)/1000|0,z?F:30)|0,L=O+(Z[532674]|0)|0,O=(L|0)>0?L:0,Z[532674]=O,Z[543047]=K,!(Z[532531]|0))H=O;else Z[532674]=65536,H=65536;if(O=(F|0)==60?131072:131071,F=H>>>0>>0?H:O,O=(F|0)>0?F:0,Z[532674]=O,z){if(S4(U,S,J),J=Z[U>>2]|0,U=Z[S>>2]|0,S=(U|0)!=(Z[543049]|0)|(J|0)!=(Z[543048]|0),Z[543048]=J,Z[543049]=U,U=(O2(225)|0)==0,J=(Z[768028]|0)!=1,z=Z[532674]|0,(z|0)<65536&(J&(S&U)^1)|J&(z|0)<32768){if(J=2131772+(Z[533455]<<5)+16|0,Z[J>>2]=(Z[J>>2]|0)+1,J=(eW()|0)==0,U=J?Z[543942]|0:Z[543941]|0,(U|0)>0)C=100/(((U|0)<50?U:50)>>>0)|0;else C=1e4;if(U=Z[543050]|0,(U|0)<(C|0))xO(),A=Z[543050]|0;else A=U;y=Z[532674]|0,k=A+1|0}else y=z,k=0;if(Z[543050]=k,(y|0)>65535)do{do if((Z[768028]|0)==1){if((Z[481785]|0)>0|(Z[534493]|0)!=0){if(rX(),(Z[481785]|0)>0)RL();if(y=Z[768036]|0,(y|0)<=10)break;Z[768036]=y+-1;break}if(y=Z[768036]|0,(y|0)>0){Z[768036]=y+-1;break}gJ(),y=(Z[768037]|0)+-1|0,k=(y|0)<150?y:150,Z[768037]=(k|0)>0?k:0,rJ(),Z[Y>>2]=0,Z[Q>>2]=0,Z[W>>2]=0,S4(Y,Q,W),k=Z[8692]|0,y=Z[Y>>2]|0;do if((k|0)==-1)m=Z[Q>>2]|0,I=Z[W>>2]|0;else{if((k|0)!=(y|0))Z[768175]=Z[768175]|1;if(z=Z[Q>>2]|0,(Z[8693]|0)!=(z|0))Z[768175]=Z[768175]|2;if(A=Z[8694]|0,U=Z[W>>2]|0,(A|0)==(U|0)){m=z,I=A;break}Z[768175]=Z[768175]|4,m=z,I=U}while(0);if(Z[8692]=y,Z[8693]=m,Z[8694]=I,(Z[768034]|0)==0|(Z[768511]|0)<2){if(rX(),Z[768034]|0)Z[730442]=((Z[785580]|0)==30?2:1)+(Z[730442]|0);oY(),zZ()}if((Z[730463]|0)>2)break;if(Z[533460]=1,qK(),Z[533460]=0,!(Z[730460]|0))break;if(Z[532675]=1,!((Z[768034]|0)!=0&(Z[768511]|0)==2))break;if((FY(0)|0)<=2097152)break;nX(),oY(),zZ()}else{if(rX(),k=Z[785925]|0,(k|0)==1)_J(),u=Z[785925]|0;else u=k;Z[768036]=0}while(0);if(k=Z[768028]|0,(k|0)==2)BO(),g=Z[768028]|0;else g=k;do if((g|0)==3){if(k=oO()|0,!(Z[768179]|k|Z[768180]|Z[768181]|Z[768182]|Z[768183]|Z[768184]|Z[768185]))break;qW()}while(0);JL(),Z[532674]=(Z[532674]|0)+-65536,Z[730441]=(Z[730441]|0)+1,Z[785927]=(Z[785927]|0)+1,k=Z[543051]&1^1,Z[543051]=k;do if(!(Z[481773]|0)){if(U=Z[543654]|0,z=Z[482623]|0,A=Z[785580]|0,(A|0)==60&(U|k|z|0)==0)KT(Z[532672]|0),i=Z[482623]|0,t=Z[543654]|0,Y0=Z[785580]|0;else i=z,t=U,Y0=A;if((Y0|0)==30|(i|t|0)!=0)KT(Z[532672]|0),X0=Z[482623]|0,T0=Z[543654]|0,Z0=Z[785580]|0;else X0=i,T0=t,Z0=Y0;if(!((X0|T0|0)==0&(Z0|0)==15))break;KT(Z[532672]|0),KT(Z[532672]|0)}while(0)}while((Z[532674]|0)>65535)}else if((O|0)>65535){switch(rX(),gJ(),Z[482623]|0){case 2:{_J();break}case 3:{if(Z$(6,0)|0){if(Z[482623]|0)Z[786056]=0;Z[482623]=0,O3()}break}default:rJ(),NL()}if(Z[532674]=(Z[532674]|0)+-65536,!(Z[481773]|0))KT(Z[532672]|0)}if(!(Z[768029]|Z[768028])){if(UL(),O=Z[785923]|0,Z0=Z[785924]|0,(O|0)!=0&(Z0|0)>0)sY(0),W0=Z[785923]|0,O0=Z[785924]|0;else W0=O,O0=Z0;if((W0|0)!=0&(O0|0)>0)sY(0)}if((Z[768028]|0)==1&(Z[768029]|0)==0&(Z[482623]|0)==2?(O2(41)|0)==3:0)rP();if(Z[768035]|0)Z[768035]=0;do if(!(Z[481727]|0))y0=0;else{if((O2(63)|0)!=3?(O2(58)|0)!=3:0)E0=0;else E0=1;if((O2(64)|0)!=3?(O2(59)|0)!=3:0)H0=E0;else H0=2;if((O2(65)|0)!=3?(O2(60)|0)!=3:0)D0=H0;else D0=3;if((O2(66)|0)!=3?(O2(61)|0)!=3:0)_0=D0;else _0=4;if((O2(67)|0)!=3?(O2(62)|0)!=3:0){y0=_0;break}y0=5}while(0);if(!(O2(-5)|0))F0=y0;else _0=(O2(35)|0)==3,F0=_0?1:y0;if(!(O2(-5)|0))k0=F0;else y0=(O2(36)|0)==3,k0=y0?2:F0;if(!(O2(-5)|0))m0=k0;else F0=(O2(37)|0)==3,m0=F0?3:k0;if(!(O2(-5)|0))B0=m0;else k0=(O2(38)|0)==3,B0=k0?4:m0;if(!(O2(-5)|0))g0=B0;else m0=(O2(39)|0)==3,g0=m0?5:B0;Z:do if(!(O2(-4)|0))switch(g0|0){case 1:{if(!(lW(Z[730458]|0,0,0)|0)){V8(2130160,59291)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1400,Z[532606]=15;break Z}else{V8(2130160,41153)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1900,Z[532606]=15;break Z}break}case 3:{oX(),V8(2130160,41182)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1400,Z[532606]=15;break Z}case 4:{B0=fU(0,0)|0;do if((B0|0)!=9)if((B0|0)>0){V8(2130160,41239)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1900,Z[532606]=15;break}else{Z[X>>2]=dU()|0,Z[X+4>>2]=0,a6(Y,59449,X)|0,V8(2130160,Y)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1900,Z[532606]=15;break}else V8(2130160,41207)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1900,Z[532606]=15;while(0);if((Z[481772]|0)!=1)break Z;oX();break Z}default:break Z}while(0);if(Z[499496]|0)q6(1712608,1997470,512)|0,Z[499496]=0;if(!(Z[481785]|Z[768036]|Z[768037]))Z[785927]=0;if(Y=Z[768028]|0,(Y|0)==1&(Z[768034]|0)!=0)X=d8(2921764,Z[769129]|0,24367)|0,g0=(X|0)==1|((X|0)!=2?(Z[482626]|Z[482623]|0)!=0:0),X=Z[543656]|0,Z[543656]=(X+-1|0)>>>0<4&(g0^1)?X+1|0:g0&1,o0=Z[768028]|0;else o0=Y;do if((o0|1|0)==3)Z[543672]=0,h0=199;else{if(Y=Z[543672]|0,Y|0)Z[T>>2]=Y&255,a6(1708384,41263,T)|0,V8(2130160,1708384)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1400,Z[532606]=15,Z[543672]=0;if(Y=Z[543673]|0,!Y)break;Z[$>>2]=Y&255,a6(1708384,41285,$)|0,V8(2130160,1708384)|0,Z[532604]=I8()|0,Z[532605]=(I8()|0)+1400,Z[532606]=15,h0=199}while(0);if((h0|0)==199)Z[543673]=0;if(h0=Z[533465]|0,h0|0)r7(h0)|0;r7(Z[8720]|0)|0,q=V;return}function KL(){var V=0;if(qY()|0,Z[785923]|0)CX(3142876)|0;if(V=Z[533464]|0,V|0)m9(V)|0;if(V=Z[533465]|0,!V){LW()|0;return}m9(V)|0,LW()|0;return}function PL(V,$){return V=V|0,$=$|0,l0(16)|0,wO(V,$)|0}function QV(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0;T=q,q=q+1024|0,X=T,Y=$,Q=Y+40|0;do N[Y>>0]=48,Y=Y+1|0;while((Y|0)<(Q|0));if(W=$+40|0,N[W>>0]=0,!V){q=T;return}U=Y1(32768)|0,Y=X,Q=Y+64|0;do Z[Y>>2]=0,Y=Y+4|0;while((Y|0)<(Q|0));if(Y=Z[V>>2]|0,DT(Y,x6(Y)|0,X)|0,N[X+40>>0]=0,Y=Z[V>>2]|0,Z[V>>2]=X,Q=nY(V,U,0)|0,Z[V>>2]=Y,!Q)DT(U,32768,$)|0;else V8($,X)|0;N[W>>0]=0,$6(U),q=T;return}function nY(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0;C1($,0,32768),DQ(),X=0;do N[$+X>>0]=d8(0,V,X)|0,X=X+1|0;while((X|0)!=17152);EX(),X=Y1(262144)|0,Y=Z[V>>2]|0;do if(!T)Q=X,W=wY(Y,X,x6(Y)|0)|0,U=0;else{if(!(H9(Y,X)|0)){V=Y1(262144)|0,Q=V,W=wY(X,V,x6(X)|0)|0,U=X;break}return $6(X),S=2,S|0}while(0);if(Z[543052]=W,(W|0)>15616)return $6(Q),$6(U),S=1,S|0;else return q6($+17152|0,Q|0,W|0)|0,$6(Q),$6(U),S=0,S|0;return 0}function fX(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if($=q,q=q+1056|0,T=$+1040|0,X=$+1024|0,Y=$+768|0,Q=$+512|0,W=$,U=zT(V)|0,R4(V,0,Y,Q),Z[X>>2]=Y,Z[X+4>>2]=Q,a6(W,102731,X)|0,!U){Z[T>>2]=V,b1(41395,T)|0,q=$;return}if(Z[481714]=0,(u1(V,57282)|0)==0?(u1(V,90760)|0)==0:0)S=U+12|0,J=U+16|0;else V=Y1(20971520)|0,ZW(X),T=U+12|0,Q=U+16|0,VW(Z[T>>2]|0,Z[Q>>2]|0,V,X)|0,$W(V+(x6(V)|0)|0,X)|0,Z[U+20>>2]=0,Z[Q>>2]=0,a7(V,x6(V)|0,1,U)|0,$6(V),S=T,J=Q;Q=x6(W)|0,g6(17,W|0,Q|0,Z[S>>2]|0,Z[J>>2]|0)|0,W3(U),q=$;return}function kW(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0;if(Y=q,q=q+16|0,Q=Y,W=Y+4|0,U=zT(V)|0,S=U+16|0,J=Y1(((Z[S>>2]<<3|0)/6|0)+256|0)|0,C1(W,0,12),Z[Q>>2]=$,a6(J,41508,Q)|0,Q=J+(x6(J)|0)|0,U|0)ZW(W),VW(Z[U+12>>2]|0,Z[S>>2]|0,Q,W)|0,$W(Q+(x6(Q)|0)|0,W)|0;W=x6(J)|0,f1(18,J|0,W|0,T|0,X|0,V|0,x6(V)|0)|0,$6(J),I5(U),q=Y;return}function iJ(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;if(X=q,q=q+16|0,Y=X,Q=B2(32768)|0,C1(Q,0,32768),nY(V,Q,1)|0)return I0(42932,8),$6(Q),W=1,q=X,W|0;if(u1($,58792)|0){if(V=Z[543052]|0,U=B2((V<<1|1)+1024|0)|0,(V|0)>0){S=U,J=0,_=0;while(!0){if(Z[Y>>2]=G[Q+(J+17152)>>0],a6(S,102994,Y)|0,K=_+2|0,(J&31|0)==31)N[U+K>>0]=10,P=_+3|0;else P=K;if(J=J+1|0,K=U+P|0,(J|0)==(V|0)){O=K;break}else S=K,_=P}}else O=U;return N[O>>0]=0,LS(U)|0,$6(U),$6(Q),b5(42957,V,0),W=0,q=X,W|0}if(V=c5($,103074)|0,!V)return $6(Q),W=1,q=X,W|0;if(!T)a7(Q,1,32768,V)|0,b5(43016,32768,0);else a7(Q+17152|0,1,Z[543052]|0,V)|0,b5(42987,Z[543052]|0,0);return I5(V),$6(Q),W=0,q=X,W|0}function pW(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0;X=q,q=q+256|0,Y=X+64|0,Q=X+240|0,W=X+232|0,U=X+224|0,S=X+216|0,J=X+208|0,_=X+200|0,K=X+192|0,P=X+184|0,O=X+176|0,L=X+168|0,F=X+160|0,z=X+152|0,H=X+144|0,C=X+136|0,A=X+128|0,y=X+120|0,k=X+112|0,m=X+104|0,I=X+96|0,u=X,g=X+244|0,i=u,t=i+64|0;do Z[i>>2]=0,i=i+4|0;while((i|0)<(t|0));if(i=B2(32800)|0,C1(i,0,32800),nY(V,i,T)|0)return $6(i),I0(42932,8),Y0=2,q=X,Y0|0;if(N[i+32768>>0]=41,N[i+32769>>0]=0,N[i+32770>>0]=2,N[i+32771>>0]=5,N[i+32772>>0]=FJ()|0,N[i+32773>>0]=6,DT(i,32768,u)|0,Z[g>>2]=0,Z[I>>2]=g,a8(u,43033,I)|0,N[i+32774>>0]=Z[g>>2],Z[g>>2]=0,Z[m>>2]=g,a8(u+2|0,43033,m)|0,N[i+32775>>0]=Z[g>>2],Z[g>>2]=0,Z[k>>2]=g,a8(u+4|0,43033,k)|0,N[i+32776>>0]=Z[g>>2],Z[g>>2]=0,Z[y>>2]=g,a8(u+6|0,43033,y)|0,N[i+32777>>0]=Z[g>>2],Z[g>>2]=0,Z[A>>2]=g,a8(u+8|0,43033,A)|0,N[i+32778>>0]=Z[g>>2],Z[g>>2]=0,Z[C>>2]=g,a8(u+10|0,43033,C)|0,N[i+32779>>0]=Z[g>>2],Z[g>>2]=0,Z[H>>2]=g,a8(u+12|0,43033,H)|0,N[i+32780>>0]=Z[g>>2],Z[g>>2]=0,Z[z>>2]=g,a8(u+14|0,43033,z)|0,N[i+32781>>0]=Z[g>>2],Z[g>>2]=0,Z[F>>2]=g,a8(u+16|0,43033,F)|0,N[i+32782>>0]=Z[g>>2],Z[g>>2]=0,Z[L>>2]=g,a8(u+18|0,43033,L)|0,N[i+32783>>0]=Z[g>>2],Z[g>>2]=0,Z[O>>2]=g,a8(u+20|0,43033,O)|0,N[i+32784>>0]=Z[g>>2],Z[g>>2]=0,Z[P>>2]=g,a8(u+22|0,43033,P)|0,N[i+32785>>0]=Z[g>>2],Z[g>>2]=0,Z[K>>2]=g,a8(u+24|0,43033,K)|0,N[i+32786>>0]=Z[g>>2],Z[g>>2]=0,Z[_>>2]=g,a8(u+26|0,43033,_)|0,N[i+32787>>0]=Z[g>>2],Z[g>>2]=0,Z[J>>2]=g,a8(u+28|0,43033,J)|0,N[i+32788>>0]=Z[g>>2],Z[g>>2]=0,Z[S>>2]=g,a8(u+30|0,43033,S)|0,N[i+32789>>0]=Z[g>>2],Z[g>>2]=0,Z[U>>2]=g,a8(u+32|0,43033,U)|0,N[i+32790>>0]=Z[g>>2],Z[g>>2]=0,Z[W>>2]=g,a8(u+34|0,43033,W)|0,N[i+32791>>0]=Z[g>>2],Z[g>>2]=0,Z[Q>>2]=g,a8(u+36|0,43033,Q)|0,N[i+32792>>0]=Z[g>>2],Z[g>>2]=0,Z[Y>>2]=g,a8(u+38|0,43033,Y)|0,N[i+32793>>0]=Z[g>>2],g=h1(160,205,32)|0,l5(Z[(Z[Z[730467]>>2]|0)+580>>2]|0,g,0,0,0,0,160,205),u=Z[V+44576>>2]|0,u|0)l5(u,g,0,0,16,24,128,128);u=Z[V>>2]|0,V=u;while(!0)if(Q=N[V>>0]|0,X0=Q<<24>>24==10,T0=V+1|0,X0^Q<<24>>24!=0)V=T0;else break;if(Q=X0?T0:V,Z[Y>>2]=0,Z[Y+4>>2]=0,Z[Y+8>>2]=0,Z[Y+12>>2]=0,Z[Y+16>>2]=0,Z[Y+20>>2]=0,Z[Y+24>>2]=0,Z[Y+28>>2]=0,(N[u>>0]|0)==45?(N[u+1>>0]|0)==45:0){V=u+2|0,T0=(N[V>>0]|0)==32?u+3|0:V,V=0;Z:while(!0){switch(u=N[T0>>0]|0,u<<24>>24){case 10:case 0:break Z;default:}if(V>>>0>=31)break;N[Y+V>>0]=u,T0=T0+1|0,V=V+1|0}K1(g,Y,Z[730468]|0,18,167,1,-1808)|0}if(Z[Y>>2]=0,Z[Y+4>>2]=0,Z[Y+8>>2]=0,Z[Y+12>>2]=0,Z[Y+16>>2]=0,Z[Y+20>>2]=0,Z[Y+24>>2]=0,Z[Y+28>>2]=0,(N[Q>>0]|0)==45?(N[Q+1>>0]|0)==45:0){V=Q+2|0,T0=(N[V>>0]|0)==32?Q+3|0:V,V=0;Z:while(!0){switch(Q=N[T0>>0]|0,Q<<24>>24){case 10:case 0:break Z;default:}if(V>>>0>=31)break;N[Y+V>>0]=Q,T0=T0+1|0,V=V+1|0}K1(g,Y,Z[730468]|0,18,175,1,-1808)|0}K1(g,102736,Z[730468]|0,18,187,1,-6250336)|0,Y=0,V=Z[g+12>>2]|0;while(!0)if(T0=N[V>>0]&-4,N[V>>0]=T0,N[V>>0]=(G[i+(Y>>>2)>>0]|0)>>>(Y<<1&6)&3|T0&255,Y=Y+1|0,(Y|0)==131200)break;else V=V+1|0;return AQ($,g)|0,P5(g)|0,$6(i),Y0=0,q=X,Y0|0}function OL(V,$){return V=V|0,$=$|0,pW(V,$,0)|0}function rY(V,$){V=V|0,$=$|0;var T=0,X=0;T=0;do f2(0,V,T,G[$+T>>0]|0),T=T+1|0;while((T|0)!=17152);if(!(Z[V>>2]|0))T=B2(65538)|0,Z[V>>2]=T,C1(T,0,65538);if(T=$+17152|0,$=(yP(T)|0)==0,X=Z[V>>2]|0,$){q6(X|0,T|0,15616)|0;return}else{C1(X,0,65538),UJ(T,Z[V>>2]|0,65537)|0;return}}function hY(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;if($=q,q=q+80|0,T=$+72|0,X=$+64|0,Y=$,Q=$+76|0,Z[481721]=0,!V)return Z[481721]=2,W=0,q=$,W|0;if(U=HN(V)|0,!U)return Z[481721]=1,W=0,q=$,W|0;if((Z[U>>2]|0)==160?(Z[U+4>>2]|0)==205:0){V=$Z()|0,S=Z[U+12>>2]|0,J=0;do _=J<<2,N[S+J>>0]=N[S+(_|1)>>0]<<2&12|N[S+_>>0]&3|N[S+(_|2)>>0]<<4&48|N[S+(_|3)>>0]<<6&255,J=J+1|0;while((J|0)!=32800);J=S+32768|0,Z[V+44580>>2]=G[J>>0],_=N[J>>0]|0,J=_&255;do if((_&255)>41){if(Z[481716]|0){x7(43037,1500);break}return Z[X>>2]=J,a6(1708384,43065,X)|0,d(1708384),Z[481721]=3,P5(U)|0,W=0,q=$,W|0}while(0);rY(V,S),DT(S,32768,Y)|0,X=0,J=0,_=0;do Z[Q>>2]=0,Z[T>>2]=Q,a8(Y+(_<<1)|0,43033,T)|0,K=N[S+(_+32774)>>0]|0,J=K<<24>>24==0?J:1,X=(Z[Q>>2]|0)==(K&255|0)?X:1,_=_+1|0;while((_|0)!=20);if(P5(U)|0,(J|0)!=0&(X|0)!=0)d(43084),P=0,O=4;else P=V,O=0;return Z[481721]=O,W=P,q=$,W|0}return P5(U)|0,Z[481721]=5,W=0,q=$,W|0}function ML(V){V=V|0;var $=0,T=0;if($=c5(V,94452)|0,T=hY($)|0,I5($),!T)return T|0;return Z[T+44576>>2]=MJ(V)|0,T|0}function LL(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0;if($=q,q=q+16|0,T=$,X=c5(V,94452)|0,!X)return Y=0,q=$,Y|0;V=$Z()|0,Q=Y1(262144)|0,W=Y1(65536)|0,U=HW(Q,1,131071,X)|0;Z:do switch(N[Q>>0]|0){case-17:{if((N[Q+1>>0]|0)==-69?(N[Q+2>>0]|0)==-65:0)S=Q+3|0,J=0,_=1;else K=17;break}case 0:{if(((N[Q+1>>0]|0)==0?(N[Q+2>>0]|0)==-2:0)?(N[Q+3>>0]|0)==-1:0)S=Q+4|0,J=3,_=4;else K=17;break}case-1:{if((N[Q+1>>0]|0)==-2){if((N[Q+2>>0]|0)==0?(N[Q+3>>0]|0)==0:0){S=Q+4|0,J=0,_=4;break Z}if(P=Q+2|0,(N[P>>0]|0)==0?(N[Q+3>>0]|0)==0:0){S=Q,J=0,_=1;break Z}S=P,J=0,_=2}else S=Q,J=0,_=1;break}case-2:{if((N[Q+1>>0]|0)==-1)if(P=Q+2|0,(N[P>>0]|0)==0?(N[Q+3>>0]|0)==0:0)K=17;else S=P,J=1,_=2;else K=17;break}default:K=17}while(0);if((K|0)==17)S=Q,J=0,_=1;if(K=(U+Q-S|0)/(_|0)|0,(K|0)>0){U=0,P=0;while(!0){O=B(U,_)|0,L=N[S+(O+J)>>0]|0,F=0,z=0;while(!0){if((z|0)==(J|0))H=F;else H=(N[S+(z+O)>>0]|0)==0?F:1;if(z=z+1|0,z>>>0>=_>>>0)break;else F=H}if(!H)if(L<<24>>24==13)C=P;else N[S+P>>0]=L,C=P+1|0;else{N[S+P>>0]=95,N[S+(P+1)>>0]=120,F=0,z=P+2|0;while(!0)if(Z[T>>2]=N[S+(F+O)>>0],a6(S+z|0,102994,T)|0,F=F+1|0,A=z+2|0,F>>>0>=_>>>0){C=A;break}else z=A}if(U=U+1|0,(U|0)==(K|0)){y=C;break}else P=C}}else y=0;return N[S+y>>0]=10,N[S+(y+1)>>0]=0,y=Y1(131072)|0,YQ(S,y)|0,N[y+65534>>0]=0,I5(X),$6(Q),$6(W),W=y+(x6(y)|0)|0,N[W>>0]=10,N[W+1>>0]=0,V8(Z[V>>2]|0,y)|0,$6(y),Y=V,q=$,Y|0}function gY(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if(T=q,q=q+3120|0,X=T+3104|0,Y=T+3088|0,Q=T+3072|0,W=T+2048|0,U=T+1024|0,S=T,V8($,V)|0,F5($,91894)|0){q=T;return}if(R4(V,W,U,S),F5(S,91297)|0){Z[Q>>2]=W,Z[Q+4>>2]=U,Z[Q+8>>2]=S,a6($,43112,Q)|0,q=T;return}if(!(F5(S,43122)|0)){Z[X>>2]=W,Z[X+4>>2]=U,Z[X+8>>2]=S,a6($,43127,X)|0,q=T;return}else{Z[Y>>2]=W,Z[Y+4>>2]=U,Z[Y+8>>2]=S,a6($,43112,Y)|0,q=T;return}}function tJ(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;if(X=q,q=q+4160|0,Y=X+4096|0,Q=X+2048|0,W=X+1024|0,U=X,S=X+4120|0,!(N[V>>0]|0))V8(Q,43137)|0,V8(W,91894)|0;else R4(V,X+3072|0,Q,W);if(E5(43146,U),T|0)zN(S,0),T=Z[S+8>>2]|0,J=Z[S+12>>2]|0,_=Z[S+16>>2]|0,K=Z[S+20>>2]|0,P=Z[S+24>>2]|0,Z[Y>>2]=Z[S+4>>2],Z[Y+4>>2]=T,Z[Y+8>>2]=J,Z[Y+12>>2]=_,Z[Y+16>>2]=K,Z[Y+20>>2]=P,a6(1708384,43154,Y)|0,d1(U,1708384)|0;if(d1(U,Q)|0,d1(U,W)|0,$|0)return $=B2(1048576)|0,W=c5(V,94452)|0,Q=HW($,1,1048576,W)|0,I5(W),W=c5(U,103074)|0,a7($,1,Q,W)|0,I5(W),$6($),q=X,0;if(RT(),F5(V,91297)|0)return pW(Z[26136]|0,U,0)|0,q=X,0;if($=(F5(V,43122)|0)==0,V=Z[26136]|0,$)return ZN(V,U)|0,q=X,0;else return iJ(V,U,0)|0,q=X,0;return 0}function mW(V,$){return V=V|0,$=$|0,tJ(V,$,1)|0,0}function fJ(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;$=q,q=q+1024|0,T=$,RT(),X=Y1(262144)|0;do if(H9(Z[Z[26136]>>2]|0,X)|0){if((F5(V,91297)|0)==0?(F5(V,43122)|0)==0:0){V8(X,Z[Z[26136]>>2]|0)|0;break}return $6(X),Y=1,q=$,Y|0}while(0);if(Q=x6(X)|0,W=x6(Z[Z[26136]>>2]|0)|0,U=(Q|0)==(W|0),W>>>0>65536)return d(43180),$6(X),Y=1,q=$,Y|0;if(W=Y1(262144)|0,C1(W,0,262144),Q=wY(X,W,x6(X)|0)|0,$6(W),(F5(V,91297)|0)==0?(F5(V,43122)|0)==0:0){if((Q|0)>15616)I0(43251,9),I0(43284,9),b5(43237,Q,15616),d(43315)}else S=12;do if((S|0)==12){if((Q|0)>15616)return I0(43205,8),b5(43237,Q,15616),$6(X),Y=1,q=$,Y|0;if(F5(V,91297)|0){if(W=Z[(Z[26136]|0)+44576>>2]|0,W|0){J=Z[W+12>>2]|0,W=N[J>>0]|0,_=1,K=0;do K=(N[J+_>>0]|0)==W<<24>>24?K:1,_=_+1|0;while((_|0)!=16384);if(K|0)break}I0(58830,9),I0(58854,10)}}while(0);if(gY(V,T),Q6(T,3065580)|0?d3(T)|0:0)tJ(T,1,1)|0;do if(!(F5(T,91297)|0))if(V=(F5(T,43122)|0)==0,Q=Z[26136]|0,V){P=ZN(Q,T)|0;break}else{V8(Z[Q>>2]|0,X)|0,BY(),P=iJ(Z[26136]|0,T,0)|0;break}else V8(Z[Z[26136]>>2]|0,X)|0,BY(),P=pW(Z[26136]|0,T,0)|0;while(0);if(!P){if(V8(3065580,T)|0,QV(Z[26136]|0,3066604),!U)I0(43335,9)}else if(Z[768029]|0)x7(43355,1500);return $6(X),Y=P,q=$,Y|0}function dX(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if(T=q,q=q+1040|0,X=T+1032|0,Y=T+1024|0,Q=T,!V){q=T;return}WV(Z[26136]|0),Z[26136]=V,dJ(V),W=Z[(Z[V+12>>2]|0)+16>>2]|0,U=0,S=32;while(!0){J=Z[W+(S<<2)>>2]|0,_=U,K=0;do _=(N[J+K>>0]|0)==0?_:1,K=K+1|0;while((K|0)!=128);if(S=S+1|0,(S|0)==64)break;else U=_}if(!_)cQ(V);else tU(V);if(Z[481714]=0,QV(Z[26136]|0,3066686),BY(),RT(),QV(Z[26136]|0,3066604),N[192048]=0,Z[Y>>2]=43399,Z[Y+4>>2]=3066604,a6(192048,43376,Y)|0,Y=192048+(x6(192048)|0)|0,N[Y>>0]=46,N[Y+1>>0]=112,N[Y+2>>0]=56,N[Y+3>>0]=0,V8(Q,192048)|0,!$)V8(3065580,Q)|0;else V8(3065580,$)|0;do if(xK($)|0){if(Z[X>>2]=Q,a6(1703776,43402,X)|0,s1(1703776),Y=cW(Q)|0,!Y){s1(43470);break}s1(43461),_=0;do{if(1<<(_&7)&G[(_>>>3)+(Y+44604)>>0]|0)f2(0,V,_,d8(0,Y,_)|0);_=_+1|0}while((_|0)!=17152)}while(0);$L(),M3(Z[(Z[765606]|0)+364>>2]|0),Q=Z[765606]|0,Z[Q+336>>2]=0,Z[Q+344>>2]=-1,Z[Q+348>>2]=-1,M3(Z[(Z[765607]|0)+364>>2]|0),Q=Z[765607]|0,Z[Q+336>>2]=0,Z[Q+344>>2]=-1,Z[Q+348>>2]=-1,M3(Z[(Z[765608]|0)+364>>2]|0),Q=Z[765608]|0,Z[Q+336>>2]=0,Z[Q+344>>2]=-1,Z[Q+348>>2]=-1,M3(Z[(Z[765609]|0)+364>>2]|0),Q=Z[765609]|0,Z[Q+336>>2]=0,Z[Q+344>>2]=-1,Z[Q+348>>2]=-1,M3(Z[(Z[765610]|0)+364>>2]|0),Q=Z[765610]|0,Z[Q+336>>2]=0,Z[Q+344>>2]=-1,Z[Q+348>>2]=-1,M3(Z[(Z[765611]|0)+364>>2]|0),Q=Z[765611]|0,Z[Q+336>>2]=0,Z[Q+344>>2]=-1,Z[Q+348>>2]=-1,M3(Z[(Z[765612]|0)+364>>2]|0),Q=Z[765612]|0,Z[Q+336>>2]=0,Z[Q+344>>2]=-1,Z[Q+348>>2]=-1,M3(Z[(Z[765613]|0)+364>>2]|0),Q=Z[765613]|0,Z[Q+336>>2]=0,Z[Q+344>>2]=-1,Z[Q+348>>2]=-1,M3(Z[(Z[765614]|0)+364>>2]|0),Q=Z[765614]|0,Z[Q+336>>2]=0,Z[Q+344>>2]=-1,Z[Q+348>>2]=-1,M3(Z[(Z[765615]|0)+364>>2]|0),Q=Z[765615]|0,Z[Q+336>>2]=0,Z[Q+344>>2]=-1,Z[Q+348>>2]=-1,M3(Z[(Z[765616]|0)+364>>2]|0),Q=Z[765616]|0,Z[Q+336>>2]=0,Z[Q+344>>2]=-1,Z[Q+348>>2]=-1,M3(Z[(Z[765617]|0)+364>>2]|0),Q=Z[765617]|0,Z[Q+336>>2]=0,Z[Q+344>>2]=-1,Z[Q+348>>2]=-1,M3(Z[(Z[765618]|0)+364>>2]|0),Q=Z[765618]|0,Z[Q+336>>2]=0,Z[Q+344>>2]=-1,Z[Q+348>>2]=-1,M3(Z[(Z[765619]|0)+364>>2]|0),Q=Z[765619]|0,Z[Q+336>>2]=0,Z[Q+344>>2]=-1,Z[Q+348>>2]=-1,M3(Z[(Z[765620]|0)+364>>2]|0),Q=Z[765620]|0,Z[Q+336>>2]=0,Z[Q+344>>2]=-1,Z[Q+348>>2]=-1,M3(Z[(Z[765621]|0)+364>>2]|0),Q=Z[765621]|0,Z[Q+336>>2]=0,Z[Q+344>>2]=-1,Z[Q+348>>2]=-1,Z[532936]=0,Z[481783]=0,Q=0;do{if(Z[V+16+(Q*660|0)>>2]&294|0)Z[481783]=1;Q=Q+1|0}while((Q|0)!=64);if(Z[768034]|0){q=T;return}N[3074076]=0,q=T;return}function dJ(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0;if($=q,q=q+16|0,T=$,X=V+44584|0,Z[X>>2]|0){q=$;return}Z[X>>2]=1,X=V+44580|0,Y=Z[X>>2]|0;do if((Y+-19|0)>>>0<5)if(!(u1(Z[V>>2]|0,47250)|0)){q=$;return}else{x7(43483,3000),Q=Z[X>>2]|0;break}else Q=Y;while(0);if((Q|0)<5){Y=0;do{if(W=V+42256+(Y<<4)|0,U=Z[W>>2]|0,S=U>>>0<64,S)J=Z[V+16+(U*660|0)+8>>2]|0,_=((J|0)>1?J:1)<<5,J=(Z[V+16+(U*660|0)+16>>2]|0)>(Z[V+16+(U*660|0)+12>>2]|0),K=_,P=J?0:_,O=J<<31>>31;else K=0,P=0,O=-1;if(J=Z[V+42256+(Y<<4)+4>>2]|0,_=J>>>0<64,_)if(L=Z[V+16+(J*660|0)+8>>2]|0,F=((L|0)>1?L:1)<<5,L=(K|0)>(F|0)?K:F,(O|0)==-1)z=(Z[V+16+(J*660|0)+16>>2]|0)>(Z[V+16+(J*660|0)+12>>2]|0),H=L,C=z?P:F,A=z?-1:1;else H=L,C=P,A=0;else H=K,C=P,A=O;if(L=Z[V+42256+(Y<<4)+8>>2]|0,z=L>>>0<64,z)if(F=Z[V+16+(L*660|0)+8>>2]|0,y=((F|0)>1?F:1)<<5,F=(H|0)>(y|0)?H:y,(A|0)==-1)k=(Z[V+16+(L*660|0)+16>>2]|0)>(Z[V+16+(L*660|0)+12>>2]|0),m=F,I=k?C:y,u=k?-1:2;else m=F,I=C,u=A;else m=H,I=C,u=A;if(F=Z[V+42256+(Y<<4)+12>>2]|0,k=F>>>0<64,k)if(y=Z[V+16+(F*660|0)+8>>2]|0,g=((y|0)>1?y:1)<<5,y=(m|0)>(g|0)?m:g,(u|0)==-1)i=(Z[V+16+(F*660|0)+16>>2]|0)>(Z[V+16+(F*660|0)+12>>2]|0),t=y,Y0=i?I:g,X0=i?-1:3;else t=y,Y0=I,X0=u;else t=m,Y0=I,X0=u;Z:do if((t|0)!=(Y0|0)&(X0|0)!=-1){if((S?(Z[V+16+(U*660|0)+16>>2]|0)<=(Z[V+16+(U*660|0)+12>>2]|0):0)?(y=Z[V+16+(U*660|0)+8>>2]|0,(((y|0)>1?y:1)<<5|0)==(t|0)):0)break;if((_?(Z[V+16+(J*660|0)+16>>2]|0)<=(Z[V+16+(J*660|0)+12>>2]|0):0)?(y=Z[V+16+(J*660|0)+8>>2]|0,(((y|0)>1?y:1)<<5|0)==(t|0)):0)T0=1;else Z0=49;do if((Z0|0)==49){if(Z0=0,(z?(Z[V+16+(L*660|0)+16>>2]|0)<=(Z[V+16+(L*660|0)+12>>2]|0):0)?(y=Z[V+16+(L*660|0)+8>>2]|0,(((y|0)>1?y:1)<<5|0)==(t|0)):0){T0=2;break}if(!k)break Z;if((Z[V+16+(F*660|0)+16>>2]|0)>(Z[V+16+(F*660|0)+12>>2]|0))break Z;if(y=Z[V+16+(F*660|0)+8>>2]|0,(((y|0)>1?y:1)<<5|0)==(t|0))T0=3;else break Z}while(0);Z[T>>2]=Y,Z[T+4>>2]=0,Z[T+8>>2]=T0,a6(1708384,43515,T)|0,d(1708384),y=Z[W>>2]|0,i=V+42256+(Y<<4)+(T0<<2)|0,Z[W>>2]=Z[i>>2],Z[i>>2]=y}while(0);Y=Y+1|0}while((Y|0)!=64);if(Y=Z[X>>2]|0,(Y|0)<5){T0=0;do{T=0;do{if((Z[V+16+(T0*660|0)+20+(T*20|0)+4>>2]|0)==6?(t=V+16+(T0*660|0)+20+(T*20|0)+8|0,(Z[t>>2]|0)>5):0)Z[t>>2]=5;T=T+1|0}while((T|0)!=32);T0=T0+1|0}while((T0|0)!=64);if(u1(Z[V>>2]|0,43547)|0)T0=Y1(65538)|0,V8(T0,Z[V>>2]|0)|0,V8(Z[V>>2]|0,43572)|0,d1(Z[V>>2]|0,T0)|0,d(44843),$6(T0),W0=Z[X>>2]|0;else W0=Y}else W0=Y}else W0=Q;if((W0|0)>=11){q=$;return}W0=0,Q=0;do W0=W0+((Z[V+16+(Q*660|0)+4>>2]|0)>1&1)+((Z[V+16+(Q*660|0)+12>>2]|0)>63&1)+((Z[V+16+(Q*660|0)+16>>2]|0)>63&1)+((Z[V+16+(Q*660|0)+36>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+56>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+76>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+96>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+116>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+136>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+156>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+176>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+196>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+216>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+236>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+256>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+276>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+296>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+316>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+336>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+356>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+376>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+396>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+416>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+436>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+456>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+476>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+496>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+516>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+536>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+556>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+576>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+596>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+616>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+636>>2]|0)!=0&1)+((Z[V+16+(Q*660|0)+656>>2]|0)!=0&1)|0,Q=Q+1|0;while((Q|0)!=64);if(W0|0){q=$;return}W0=0;do{Q=0;do{if(Y=V+16+(W0*660|0)+20+(Q*20|0)+12|0,(Z[Y>>2]|0)==1?(Z[V+16+(W0*660|0)+20+(Q*20|0)+8>>2]|0)==0:0)Z[Y>>2]=0;Q=Q+1|0}while((Q|0)!=32);W0=W0+1|0}while((W0|0)!=64);q=$;return}function uW(V){V=V|0;var $=0,T=0;return $=q,q=q+16|0,T=$,N[192048]=0,Z[T>>2]=43399,Z[T+4>>2]=V,a6(192048,43376,T)|0,T=192048+(x6(192048)|0)|0,N[T>>0]=46,N[T+1>>0]=112,N[T+2>>0]=56,N[T+3>>0]=0,q=$,192048}function X$(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0;if($=c5(V,94452)|0,T=hY($)|0,I5($),T|0)return Z[T+44576>>2]=MJ(V)|0,X=T,X|0;if(T=cW(V)|0,T|0)return X=T,X|0;if(F5(V,43122)|0?(T=zT(V)|0,T|0):0){if($=T+16|0,Y=Z[$>>2]|0,(Y|0)<32768){do kY(0,T);while((Z[$>>2]|0)<32768);if((Y|0)<15617){Y=T+12|0,$=0;do Q=Z[Y>>2]|0,N[Q+($+17152)>>0]=N[Q+$>>0]|0,N[(Z[Y>>2]|0)+$>>0]=0,$=$+1|0;while(($|0)!=15616);W=Y}else U=10}else U=10;if((U|0)==10)W=T+12|0;if(U=$Z()|0,rY(U,Z[W>>2]|0),Z[U+44580>>2]=41,I5(T),U|0)return X=U,X|0}if(!(F5(V,44870)|0))return X=0,X|0;return X=LL(V)|0,X|0}function iY(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;if($=q,q=q+1024|0,T=$,V8(T,V)|0,X=X$(V)|0,Y=Z[766682]|0,Q=Z[481721]|0,(X|0)==0&(Y|0)!=1&(Q|0)!=3)gY(V,T),W=X$(T)|0,U=Z[766682]|0,S=Z[481721]|0,J=W;else U=Y,S=Q,J=X;if((J|0)==0&(U|0)!=1&(S|0)!=3)X=T+(x6(T)|0)|0,N[X>>0]=N[91297]|0,N[X+1>>0]=N[91298]|0,N[X+2>>0]=N[91299]|0,N[X+3>>0]=N[91300]|0,N[X+4>>0]=N[91301]|0,X=X$(T)|0,_=Z[766682]|0,K=Z[481721]|0,P=X;else _=U,K=S,P=J;if((P|0)==0&(_|0)!=1&(K|0)!=3)V8(T,V)|0,V=T+(x6(T)|0)|0,N[V>>0]=N[91297]|0,N[V+1>>0]=N[91298]|0,N[V+2>>0]=N[91299]|0,N[V+3>>0]=N[91300]|0,N[V+4>>0]=N[91301]|0,O=X$(T)|0;else O=P;if(!O)return L=1,q=$,L|0;return dX(O,T),L=0,q=$,L|0}function DL(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0;if(Q6(V,3071088)|0)V8(3071088,V)|0,Y=30-(Z[768037]|0)|0,Q=(Y|0)<30?Y:30,Z[768036]=(Q|0)>2?Q:2,Z[768037]=150;if(Q=X$(V)|0,!Q)return W=1,W|0;if((X|0)>0){V=0;do Y=Z[769129]|0,f2(2921764,Y,V+$|0,d8(0,Q,V+T|0)|0),V=V+1|0;while((V|0)!=(X|0))}return WV(Q),W=0,W|0}function zL(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;W=q,q=q+1040|0,U=W+1024|0,S=W,Z[U>>2]=V,a6(S,59940,U)|0;do if(!(u1(1997988,S)|0)){U=0,J=0;Z:while(!0){switch(N[1997988+J>>0]|0){case 0:break Z;case 124:{_=U+1|0;break}default:_=U}U=_,J=J+1|0}if((U|0)>63)return K=3,q=W,K|0;else{d1(1997988,S)|0;break}}while(0);if(V8(3071088,V)|0,Z[768036]=30,S=X$(V)|0,!S)if(_=$Z()|0,!Q)P=_;else x8(_+44604|0,0,2144)|0,P=_;else P=S;if(S=(X|0)>0,S)if(!Y){Y=0;do f2(0,P,Y+$|0,d8(2921764,Z[769129]|0,Y+T|0)|0),Y=Y+1|0;while((Y|0)!=(X|0))}else{Y=0;do _=Y+$|0,J=Y+T|0,f2(0,P,_,d8(2921764,Z[769129]|0,J)|0),O=Z[26136]|0,f2(0,O,_,d8(2921764,Z[769129]|0,J)|0),Y=Y+1|0;while((Y|0)!=(X|0))}if(Q|0?(Q=X+$|0,S):0){S=$;do $=((S|0)/8|0)+(P+44604)|0,N[$>>0]=1<<(S&7)|G[$>>0],S=S+1|0;while((S|0)<(Q|0))}return Q=ZN(P,V)|0,WV(P),K=(Q|0)==0?0:2,q=W,K|0}function FL(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if($=q,q=q+3104|0,T=$+3080|0,X=$+3072|0,Y=$+2048|0,Q=$+1024|0,W=$,!(N[3065580]|0))if(!V){x7(44901,1500),q=$;return}else{d(44875),q=$;return}if(E5(91377,Y),u1(3065580,Y)|0)if(!V){x7(44960,1500),q=$;return}else{d(44933),q=$;return}if(fJ(3065580)|0)if(!V){x7(45004,1500),q=$;return}else{d(44992),q=$;return}if(R4(3065580,Y,Q,W),Z[X>>2]=Q,Z[X+4>>2]=W,a6(1708384,45026,X)|0,!V){x7(1708384,1500),q=$;return}if(V=x6(3062500)|0,X=(k8(Y,3062500,V)|0)==0,U=X?Y+(V+-1)|0:Y,(N[U>>0]|0)==47)Y=x6(3063524)|0,V=(k8(U+1|0,3063524,Y)|0)==0,S=V?U+(Y+1)|0:U;else S=U;Z[T>>2]=S,Z[T+4>>2]=Q,Z[T+8>>2]=W,a6(1708384,45051,T)|0,d(1708384),q=$;return}function wC(){return}function lW(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0;if(X=q,q=q+2240|0,Y=X+2224|0,Q=X+2216|0,W=X+2208|0,U=X+2200|0,S=X+2192|0,J=X+2184|0,_=X+2176|0,K=X+1152|0,P=X+128|0,O=X,L=Z[481767]|0,F=(L|0)<32?L:32,L=($|0)<32?$:32,z=($|0)>0?(L|0)>1?L:1:(F|0)>1?F:1,Z[_>>2]=PW()|0,a6(O,45078,_)|0,N[3144232]|0)Z[J>>2]=3144232,a6(O,45089,J)|0;J=(T|0)==0;do if(!(o5(O,37)|0))if(J){_$(O,P);break}else{E5(3144900,P),T=P+(x6(P)|0)|0,_=T,N[_>>0]=97,N[_+1>>0]=112,N[_+2>>0]=112,N[_+3>>0]=100,_=T+4|0,N[_>>0]=97,N[_+1>>0]=116,N[_+2>>0]=97,N[_+3>>0]=0,Q4(P)|0,_=P+(x6(P)|0)|0,N[_>>0]=47,N[_+1>>0]=0,d1(P,mY()|0)|0,Q4(P)|0,_=P+(x6(P)|0)|0,N[_>>0]=47,N[_+1>>0]=0,d1(P,O)|0,Z[Q>>2]=P,a6(1703776,45096,Q)|0,s1(1703776);break}else if(J){_=0;while(!0)if(Z[S>>2]=_,a6(K,O,S)|0,_$(K,P),!(d3(P)|0))break;else _=_+1|0}else{_=0;while(!0)if(Z[U>>2]=_,a6(K,O,U)|0,E5(3144900,P),T=P+(x6(P)|0)|0,F=T,N[F>>0]=97,N[F+1>>0]=112,N[F+2>>0]=112,N[F+3>>0]=100,F=T+4|0,N[F>>0]=97,N[F+1>>0]=116,N[F+2>>0]=97,N[F+3>>0]=0,Q4(P)|0,F=P+(x6(P)|0)|0,N[F>>0]=47,N[F+1>>0]=0,d1(P,mY()|0)|0,Q4(P)|0,F=P+(x6(P)|0)|0,N[F>>0]=47,N[F+1>>0]=0,d1(P,K)|0,Z[W>>2]=P,a6(1703776,45096,W)|0,s1(1703776),!(d3(P)|0))break;else _=_+1|0}while(0);if(W=B(Z[V>>2]|0,z)|0,K=h1(W,B(Z[V+4>>2]|0,z)|0,8)|0,z=K+4|0,EW(V,K,0,0,Z[K>>2]|0,Z[z>>2]|0,0),(Z[z>>2]|0)<=0)return Z[Y>>2]=P,a6(1703776,45118,Y)|0,s1(1703776),AQ(P,K)|0,kW(P,45144,128,128),P5(K)|0,H=d3(P)|0,C=(H|0)==0,A=C&1,q=X,A|0;V=K+16|0,W=Z[K>>2]|0,U=0;while(!0){if((W|0)>0){O=W,S=0;while(!0){if(J=(Z[(Z[V>>2]|0)+(U<<2)>>2]|0)+S|0,!(N[J>>0]|0))N[J>>0]=16,y=Z[K>>2]|0;else y=O;if(S=S+1|0,(S|0)>=(y|0)){k=y;break}else O=y}}else k=W;if(U=U+1|0,(U|0)>=(Z[z>>2]|0))break;else W=k}return Z[Y>>2]=P,a6(1703776,45118,Y)|0,s1(1703776),AQ(P,K)|0,kW(P,45144,128,128),P5(K)|0,H=d3(P)|0,C=(H|0)==0,A=C&1,q=X,A|0}function PX(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;T=q,q=q+16|0,X=T,E5(3144900,$),Y=$+(x6($)|0)|0,Q=Y,N[Q>>0]=97,N[Q+1>>0]=112,N[Q+2>>0]=112,N[Q+3>>0]=100,Q=Y+4|0,N[Q>>0]=97,N[Q+1>>0]=116,N[Q+2>>0]=97,N[Q+3>>0]=0,Q4($)|0,Q=$+(x6($)|0)|0,N[Q>>0]=47,N[Q+1>>0]=0,d1($,mY()|0)|0,Q4($)|0,Q=$+(x6($)|0)|0,N[Q>>0]=47,N[Q+1>>0]=0,d1($,V)|0,Z[X>>2]=$,a6(1703776,45096,X)|0,s1(1703776),q=T;return}function bJ(){Z[543053]=0;return}function eJ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;if(T=q,q=q+16|0,X=T,Y=Z[543053]|0,(Y|0)==64){q=T;return}if(Z[543053]=Y+1,V8(173040+(Y*297|0)+41|0,$)|0,Q=173040+(Y*297|0)|0,QV(V,Q),Y=x6(Z[V>>2]|0)|0,Z[X>>2]=$,Z[X+4>>2]=Y,Z[X+8>>2]=Q,a6(1703776,45148,X)|0,s1(1703776),X=TQ($,95158)|0,!X){s1(45187),q=T;return}else{zS(V,X,0)|0,I5(X),q=T;return}}function tY(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if(T=q,q=q+1024|0,X=T,Y=Z[543053]|0,(Y|0)<=0)return Q=0,q=T,Q|0;Z:do if($){W=0;while(!0){if(U=173040+(W*297|0)+41|0,!(Q6(V,U)|0)){S=W;break Z}if(gY(V,X),!(Q6(X,U)|0)){J=10;break}if(_=X+(x6(X)|0)|0,N[_>>0]=N[91297]|0,N[_+1>>0]=N[91298]|0,N[_+2>>0]=N[91299]|0,N[_+3>>0]=N[91300]|0,N[_+4>>0]=N[91301]|0,!(Q6(X,U)|0)){J=12;break}if(U=W+1|0,(U|0)<(Z[543053]|0))W=U;else{Q=0,J=14;break}}if((J|0)==10)return Q=173040+(W*297|0)|0,q=T,Q|0;else if((J|0)==12)return Q=173040+(W*297|0)|0,q=T,Q|0;else if((J|0)==14)return q=T,Q|0}else{U=0;while(!0){if(!(Q6(V,173040+(U*297|0)+41|0)|0)){S=U;break Z}if(U=U+1|0,(U|0)>=(Y|0)){Q=0;break}}return q=T,Q|0}while(0);return Q=173040+(S*297|0)|0,q=T,Q|0}function sW(){return 0}function EL(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if(V=q,q=q+128|0,$=V+64|0,T=V,!(N[3065580]|0))return X=0,q=V,X|0;if(Y=X$(3065580)|0,!Y)return X=0,q=V,X|0;dJ(Y),Q=Z[(Z[Y+12>>2]|0)+16>>2]|0,W=0,U=32;while(!0){S=Z[Q+(U<<2)>>2]|0,J=W,_=0;do J=(N[S+_>>0]|0)==0?J:1,_=_+1|0;while((_|0)!=128);if(U=U+1|0,(U|0)==64)break;else W=J}if(!J)cQ(Y);else tU(Y);if(QV(Y,$),QV(Z[26136]|0,T),WV(Y),!(Q6($,T)|0))return X=0,q=V,X|0;if(!(Q6($,3066604)|0))return X=0,q=V,X|0;return X=(Q6($,3066686)|0)!=0&1,q=V,X|0}function aJ(V){return V=V|0,0}function BL(){var V=0,$=0,T=0,X=0,Y=0;if(!(N[2174696]|0)){N[2174696]=0;return}if(V=X$(2174696)|0,$=(V|0)!=0,(Z[768029]|Z[768028]|0)==0&(($|(Z[768034]|0)!=0)^1)){d(45227),N[2174696]=0;return}if($){WV(V),x7(45252,2000),N[2174696]=0;return}if(F5(2174696,45265)|0){x7(45273,2000),N[2174696]=0;return}if(!(F5(2174696,91297)|0)){if(!(N[2174696]|0)){N[2174696]=0;return}if(V=zT(2174696)|0,(Z[V+16>>2]|0)>262144)x7(45324,2000);else AJ(V);W3(V),N[2174696]=0;return}if(V=xN(2174696)|0,!V){N[2174696]=0;return}iU(),$=V+4|0,T=h1(Z[V>>2]|0,Z[$>>2]|0,8)|0,lJ(V,T,Z[730428]|0);do if((Z[768028]|0)!=1&(Z[768029]|0)==2)X=Z[785598]|0,Y=(X|0)/16|0,l5(T,Z[(Z[26136]|0)+4>>2]|0,0,0,X-(Y<<4)<<3,Y<<3,Z[V>>2]|0,Z[$>>2]|0);else{if((Z[T>>2]|0)<=128?(Z[T+4>>2]|0)<=128:0){HJ(T);break}x7(45295,2000)}while(0);P5(V)|0,P5(T)|0,N[2174696]=0;return}function CL(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;V=q,q=q+48|0,$=V+24|0,T=V+16|0,X=V+8|0,Y=V,Q=V+32|0,W=Q3(139392)|0,U=l0(19)|0,S=U,l0(20)|0;do if(U){if(Z[Y>>2]=S,b1(45819,Y)|0,J=u1(S,45840)|0,J|0){if(_=J+7|0,aU(Q),J=x6(_)|0,K=W+16|0,Z[K>>2]=cU(_,J,Z[W+12>>2]|0,Q)|0,J=W+20|0,Z[J>>2]=0,_=hY(W)|0,!_)P=aW(W,0)|0;else P=_;if(_=(P|0)!=0,(Z[768028]|0)==0&((_|(Z[768034]|0)!=0)^1)){d(45227),N[2174696]=0,q=V;return}if(_){WV(P),x7(45252,2000);break}if(Z[J>>2]=0,J=HN(W)|0,_=(J|0)!=0,Z[X>>2]=_&1,b1(45848,X)|0,!_)if(Z[$>>2]=Z[K>>2],b1(45915,$)|0,(Z[K>>2]|0)>262144){x7(45324,2000);break}else{AJ(W);break}iU(),K=J+4|0,_=h1(Z[J>>2]|0,Z[K>>2]|0,8)|0,lJ(J,_,Z[730428]|0);do if((Z[768028]|0)!=1&(Z[768029]|0)==2)O=Z[785598]|0,L=(O|0)/16|0,l5(_,Z[(Z[26136]|0)+4>>2]|0,0,0,O-(L<<4)<<3,L<<3,Z[J>>2]|0,Z[K>>2]|0);else{if(L=Z[_>>2]|0,(L|0)<=128?(O=Z[_+4>>2]|0,(O|0)<=128):0){Z[T>>2]=L,Z[T+4>>2]=O,b1(45879,T)|0,HJ(_);break}x7(45295,2000)}while(0);P5(J)|0,P5(_)|0}}else d(45955);while(0);I5(W),q=V;return}function cJ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0;if(T=q,q=q+1280|0,X=T+256|0,Y=T,(N[V>>0]|0)==47)w5($,V)|0;else N[$>>0]=47,N[$+1>>0]=0,d1($,3063524)|0,d1($,V)|0;if(V=N[$>>0]|0,V<<24>>24==47?(N[$+1>>0]|0)==0:0)return q=T,$|0;if(N[X>>0]=0,V<<24>>24==47){Q=$;while(!0)if(W=Q+1|0,U=N[W>>0]|0,U<<24>>24==47)Q=W;else{S=U,J=W;break}}else S=V,J=$;Z:do if(S<<24>>24){V=S,Q=J,W=0;while(!0){U=V,_=Q;V:while(!0){switch(U<<24>>24){case 0:case 47:break V;default:}K=_+1|0,U=N[K>>0]|0,_=K}U=_-Q|0;V:do switch(U|0){case 1:{if(V<<24>>24==46)P=W;else O=26;break}case 2:{if(V<<24>>24==46?(N[Q+1>>0]|0)==46:0)if((W|0)>1){if(K=X+W+-1|0,K>>>0>X>>>0){L=K,F=W;while(!0){if((N[L>>0]|0)==47){z=L,H=F;break}if(N[L>>0]=0,C=F+-1|0,N[X+C>>0]=0,A=L+-1|0,A>>>0>X>>>0)L=A,F=C;else{z=A,H=C;break}}if((H|0)>0)y=z,k=H;else{P=H;break V}}else y=K,k=W;F=k+-1|0,N[y>>0]=0,N[X+F>>0]=0,P=F}else P=W;else O=26;break}default:O=26}while(0);if((O|0)==26)O=0,x8(Y+U|0,0,(U>>>0>255?0:256-U|0)|0)|0,q6(Y|0,Q|0,U|0)|0,F=X+(x6(X)|0)|0,N[F>>0]=47,N[F+1>>0]=0,d1(X,Y)|0,P=x6(X)|0;F=_;V:while(!0)switch(m=N[F>>0]|0,m<<24>>24){case 0:break Z;case 47:{F=F+1|0;break}default:break V}V=m,Q=F,W=P}}while(0);return w5($,X)|0,q=T,$|0}function MT(V){return V=V|0,w5(193072,3062500)|0,cJ((V|0)==0?3144900:V,193072+(x6(193072)|0)+-1|0)|0,193072}function AL(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0;if($=q,q=q+16|0,T=$,X=$+4|0,Y=B2(32768)|0,C1(Y,0,32768),nY(V,Y,1)|0){I0(42932,8),$6(Y),q=$;return}Q=Y1(62464)|0,W=Q,U=45983,S=W+27|0;do N[W>>0]=N[U>>0]|0,W=W+1|0,U=U+1|0;while((W|0)<(S|0));Z[534492]=1,C1(X,0,12),ZW(X),U=Z[543052]|0,VW(Y+17152|0,U,Q+(x6(Q)|0)|0,X)|0,$W(Q+(x6(Q)|0)|0,X)|0,X=V+4|0,V=Z[(Z[X>>2]|0)+12>>2]|0,U=0,Y=0;do W=U,U=U+1|0,Y=(N[V+W>>0]&15)==0?Y:U;while((U|0)!=16384);if((Y|0)>0){U=Q+(x6(Q)|0)|0,N[U>>0]=38,N[U+1>>0]=103,N[U+2>>0]=61,N[U+3>>0]=0,U=Q+(x6(Q)|0)|0,V=0;while(!0){if(W=Z[(Z[X>>2]|0)+12>>2]|0,S=N[W+V>>0]|0,J=S&15,_=J&255,(V|0)<(Y|0)){Z:do if((S&15)==J<<24>>24){K=V,P=0;while(!0){if(O=K+1|0,L=P+1|0,(O|0)>=(Y|0)){F=O,z=L;break Z}if(L>>>0<67?(N[W+O>>0]&15)==J<<24>>24:0)K=O,P=L;else{F=O,z=L;break}}}else F=V,z=0;while(0);if(z>>>0<4)H=F,C=z,A=13;else N[U>>0]=bU((_|48)&255)|0,y=2,k=U+1|0,m=F,I=z+252|0}else H=V,C=0,A=13;if((A|0)==13)A=0,y=1,k=U,m=H,I=(C<<4)+240|_;if(N[k>>0]=bU(I&255)|0,U=U+y|0,N[U>>0]=0,(m|0)>=(Y|0))break;else V=m}}if(Z[534492]=0,(x6(Q)|0)>>>0<2040)m=Y1(65536)|0,Z[T>>2]=Q+23,a6(m,46010,T)|0,W8(m|0),$6(m);else I0(46106,9);b5(46133,x6(Q)|0,0),$6(Q),q=$;return}function HL(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if(T=q,q=q+16|0,X=T,Z[534492]=1,V|0?N[V>>0]|0:0)Y=Y1(16384)|0,aU(X),cU(V,x6(V)|0,Y,X)|0,C1(Z[Z[26136]>>2]|0,0,65538),UJ(Y,Z[Z[26136]>>2]|0,65537)|0,$6(Y),BY();if(!$){Z[534492]=0,q=T;return}if(Y=N[$>>0]|0,!(Y<<24>>24)){Z[534492]=0,q=T;return}X=Y,Y=$,$=0;while(!0){if(V=eU(X)|0,Q=Y+1|0,W=V&15,U=(V>>>4&3)+1|0,(U|0)==4)if(V=N[Q>>0]|0,!(V<<24>>24))S=Q,J=4;else S=Y+2|0,J=(eU(V)|0)+4|0;else S=Q,J=U;if((J|0)>0&($|0)<16384){U=W&255,W=$,Q=J;while(!0)if(N[(Z[(Z[(Z[26136]|0)+4>>2]|0)+12>>2]|0)+W>>0]=U,V=W+1|0,(Q|0)>1&(W|0)<16383)W=V,Q=Q+-1|0;else{_=V;break}}else _=$;if(X=N[S>>0]|0,!(X<<24>>24))break;else Y=S,$=_}cQ(Z[26136]|0),Z[534492]=0,q=T;return}function fY(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;T=q,q=q+16|0,X=T,Z[X>>2]=$,Y=Z[V+16>>2]|0,Q=V+8|0,W=Z[Q>>2]|0;do if(((Z[V+24>>2]|0)-W>>3|0)<=($|0)){if(((W-(Z[V+28>>2]|0)>>3)+5|0)>(1e6-$|0))return U=0,q=T,U|0;if(!(Y$(V,2,X)|0)){S=Z[Q>>2]|0,J=Z[X>>2]|0;break}else return U=0,q=T,U|0}else S=W,J=$;while(0);if($=Y+4|0,Y=S+(J<<3)|0,(Z[$>>2]|0)>>>0>=Y>>>0)return U=1,q=T,U|0;return Z[$>>2]=Y,U=1,q=T,U|0}function xL(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0;if(T=q,q=q+16|0,X=Z[V+32>>2]|0,(X|0)>1e6)Z8(V,6);if(Y=(Z[$>>2]|0)+5+((Z[V+8>>2]|0)-(Z[V+28>>2]|0)>>3)|0,$=X<<1,X=($|0)<1e6?$:1e6,$=(X|0)<(Y|0)?Y:X,($|0)>1e6)x5(V,1000200),q1(V,46193,T);else{x5(V,$),q=T;return}}function Y$(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0;if(X=q,q=q+176|0,Y=4,Q=I3(40)|0,Z[Q>>2]=0,W=X,U=V+38|0,S=j[U>>1]|0,J=W+160|0,Z[J>>2]=0,_=V+64|0,Z[W>>2]=Z[_>>2],Z[_>>2]=W,Q=lN(W+4|0,1,Q|0,Y|0)|0,Y=x()|0,a=0,K=a,a=0,(K|0)!=0&(V0|0)!=0){if(P=sN(Z[K>>2]|0,Q|0,Y|0)|0,!P)d5(K|0,V0|0);h(V0|0)}else P=-1;if(K=x()|0,(P|0)==1)O=K;else O=0;do{if(O|0){L=6;break}if(a=0,M($|0,V|0,T|0),K=a,a=0,(K|0)!=0&(V0|0)!=0){if(F=sN(Z[K>>2]|0,Q|0,Y|0)|0,!F)d5(K|0,V0|0);h(V0|0)}else F=-1;O=x()|0}while((F|0)==1);if((L|0)==6)return z=Z[W>>2]|0,Z[_>>2]=z,j[U>>1]=S,H=Z[J>>2]|0,TZ(Q|0),q=X,H|0;return z=Z[W>>2]|0,Z[_>>2]=z,j[U>>1]=S,H=Z[J>>2]|0,TZ(Q|0),q=X,H|0}function Z8(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;if(T=Z[V+64>>2]|0,T|0)Z[T+160>>2]=$,d5(T+4|0,1);if(N[V+6>>0]=$,T=V+12|0,X=Z[T>>2]|0,Y=Z[X+144>>2]|0,Z[Y+64>>2]|0)Q=Z[V+8>>2]|0,W=Y+8|0,Y=Z[W>>2]|0,Z[W>>2]=Y+8,Z[Y>>2]=Z[Q+-8>>2],Z[Y+4>>2]=Z[Q+-4>>2],Z8(Z[(Z[T>>2]|0)+144>>2]|0,$);if($=Z[X+140>>2]|0,!$)s0();PV[$&255](V)|0,s0()}function x5(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;if(T=V+28|0,X=Z[T>>2]|0,Y=V+32|0,Q=Z[Y>>2]|0,($+1|0)>>>0>536870911)x1(V);if(W=Q<<3,U=$<<3,S=Z[V+12>>2]|0,J=(X|0)==0,_=S+4|0,K=r6[Z[S>>2]&3](Z[_>>2]|0,X,W,U)|0,(U|0)!=0&(K|0)==0){if(!(N[S+51>>0]|0))Z8(V,4);if(M2(V,1),P=r6[Z[S>>2]&3](Z[_>>2]|0,X,W,U)|0,!P)Z8(V,4);else O=P}else O=K;if(K=S+12|0,Z[K>>2]=(J?0:0-W|0)+U+(Z[K>>2]|0),Z[T>>2]=O,(Q|0)<($|0)){K=Q;do Z[O+(K<<3)+4>>2]=0,K=K+1|0;while((K|0)!=($|0))}if(Z[Y>>2]=$,Z[V+24>>2]=O+($<<3)+-40,$=V+8|0,Y=X,Z[$>>2]=O+((Z[$>>2]|0)-Y>>3<<3),$=Z[V+56>>2]|0,$|0?(X=$+8|0,Z[X>>2]=O+((Z[X>>2]|0)-Y>>3<<3),X=Z[$>>2]|0,X|0):0){$=X;do X=$+8|0,Z[X>>2]=(Z[T>>2]|0)+((Z[X>>2]|0)-Y>>3<<3),$=Z[$>>2]|0;while(($|0)!=0)}if($=Z[V+16>>2]|0,!$)return;V=$;do{if($=V+4|0,X=Z[T>>2]|0,Z[$>>2]=X+((Z[$>>2]|0)-Y>>3<<3),Z[V>>2]=X+((Z[V>>2]|0)-Y>>3<<3),N[V+18>>0]&1)$=V+24|0,Z[$>>2]=X+((Z[$>>2]|0)-Y>>3<<3);V=Z[V+8>>2]|0}while((V|0)!=0);return}function q1(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0;X=q,q=q+16|0,Y=X,Z[Y>>2]=T,yL(V,dY(V,$,Y)|0),ZS(V)}function dY(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0;X=q,q=q+80|0,Y=X+64|0,Q=X+56|0,W=X+48|0,U=X+40|0,S=X,J=o5($,37)|0,_=V+24|0,K=V+8|0,P=Z[K>>2]|0,O=(Z[_>>2]|0)-P|0,L=P;do if(J){F=V+32|0,z=V+28|0,H=P,C=L,A=J,y=$,k=0,m=O;Z:while(!0){if((m|0)<24){if(I=Z[F>>2]|0,(I|0)>1e6){u=5;break}if(g=(H-(Z[z>>2]|0)>>3)+7|0,i=I<<1,I=(i|0)<1e6?i:1e6,i=(I|0)<(g|0)?g:I,(i|0)>1e6){u=7;break}x5(V,i),t=Z[K>>2]|0}else t=C;switch(Z[K>>2]=t+8,i=y9(V,y,A-y|0)|0,Z[t>>2]=i,Z[t+4>>2]=(N[i+4>>0]|64)&255,Y0=N[A+1>>0]|0,Y0<<24>>24|0){case 115:{i=(Z[T>>2]|0)+3&~3,I=Z[i>>2]|0,Z[T>>2]=i+4,i=(I|0)==0?103190:I,I=x6(i)|0,g=Z[K>>2]|0,Z[K>>2]=g+8,X0=y9(V,i,I)|0,Z[g>>2]=X0,Z[g+4>>2]=(N[X0+4>>0]|64)&255;break}case 99:{X0=(Z[T>>2]|0)+3&~3,g=Z[X0>>2]|0,Z[T>>2]=X0+4,N[S>>0]=g,g=Z[K>>2]|0,Z[K>>2]=g+8,X0=P7(V,S,1)|0,Z[g>>2]=X0,Z[g+4>>2]=(N[X0+4>>0]|64)&255;break}case 100:{X0=Z[K>>2]|0,Z[K>>2]=X0+8,g=(Z[T>>2]|0)+3&~3,I=Z[g>>2]|0,Z[T>>2]=g+4,Z[X0>>2]=I,Z[X0+4>>2]=3;break}case 102:{X0=Z[K>>2]|0,Z[K>>2]=X0+8,I=(Z[T>>2]|0)+3&~3,g=Z[I>>2]|0,Z[T>>2]=I+4,Z[X0>>2]=g,Z[X0+4>>2]=3;break}case 112:{X0=(Z[T>>2]|0)+3&~3,g=Z[X0>>2]|0,Z[T>>2]=X0+4,Z[W>>2]=g,g=a6(S,46862,W)|0,X0=Z[K>>2]|0,Z[K>>2]=X0+8,I=y9(V,S,g)|0,Z[X0>>2]=I,Z[X0+4>>2]=(N[I+4>>0]|64)&255;break}case 37:{I=Z[K>>2]|0,Z[K>>2]=I+8,X0=P7(V,72084,1)|0,Z[I>>2]=X0,Z[I+4>>2]=(N[X0+4>>0]|64)&255;break}default:{u=16;break Z}}if(T0=k+2|0,Z0=A+2|0,X0=o5(Z0,37)|0,W0=Z[K>>2]|0,O0=(Z[_>>2]|0)-W0|0,!X0){u=18;break}else H=W0,C=W0,A=X0,y=Z0,k=T0,m=O0}if((u|0)==5)Z8(V,6);else if((u|0)==7)x5(V,1000200),q1(V,46193,U);else if((u|0)==16)Z[Q>>2]=Y0<<24>>24,q1(V,46867,Q);else if((u|0)==18){y0=W0,E0=W0,H0=Z0,D0=T0,_0=O0;break}}else y0=P,E0=L,H0=$,D0=0,_0=O;while(0);do if((_0|0)<16){if(O=Z[V+32>>2]|0,(O|0)>1e6)Z8(V,6);if($=(y0-(Z[V+28>>2]|0)>>3)+6|0,L=O<<1,O=(L|0)<1e6?L:1e6,L=(O|0)<($|0)?$:O,(L|0)>1e6)x5(V,1000200),q1(V,46193,Y);else{x5(V,L),F0=Z[K>>2]|0;break}}else F0=E0;while(0);if(E0=x6(H0)|0,Z[K>>2]=F0+8,Y=y9(V,H0,E0)|0,Z[F0>>2]=Y,Z[F0+4>>2]=(N[Y+4>>0]|64)&255,!D0)return k0=Z[K>>2]|0,m0=k0+-8|0,B0=Z[m0>>2]|0,g0=B0+16|0,q=X,g0|0;return LT(V,D0|1),k0=Z[K>>2]|0,m0=k0+-8|0,B0=Z[m0>>2]|0,g0=B0+16|0,q=X,g0|0}function yL(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;if(T=q,q=q+80|0,X=T+64|0,Y=T,Q=Z[V+16>>2]|0,!(N[Q+18>>0]&1)){q=T;return}if(W=Z[(Z[Z[Q>>2]>>2]|0)+12>>2]|0,U=Z[W+20>>2]|0,!U)S=0;else S=Z[U+(((Z[Q+28>>2]|0)-(Z[W+12>>2]|0)>>2)+-1<<2)>>2]|0;Q=Z[W+36>>2]|0;Z:do if(!Q)N[Y>>0]=63,N[Y+1>>0]=0;else switch(W=Q+16|0,U=x6(W)|0,N[W>>0]|0){case 61:{if(J=W+1|0,U>>>0>60){_=Y,K=J,P=_+59|0;do N[_>>0]=N[K>>0]|0,_=_+1|0,K=K+1|0;while((_|0)<(P|0));N[Y+59>>0]=0;break Z}else{q6(Y|0,J|0,U|0)|0;break Z}break}case 64:{if(U>>>0>60){N[Y>>0]=N[72854]|0,N[Y+1>>0]=N[72855]|0,N[Y+2>>0]=N[72856]|0,_=Y+3|0,K=W+1+U+-57|0,P=_+57|0;do N[_>>0]=N[K>>0]|0,_=_+1|0,K=K+1|0;while((_|0)<(P|0));break Z}else{q6(Y|0,W+1|0,U|0)|0;break Z}break}default:{J=o5(W,10)|0,_=Y,K=46846,P=_+9|0;do N[_>>0]=N[K>>0]|0,_=_+1|0,K=K+1|0;while((_|0)<(P|0));if(O=Y+9|0,L=(J|0)==0,U>>>0<45&L)q6(O|0,W|0,U|0)|0,F=O+U|0;else z=L?U:J-W|0,L=z>>>0<45?z:45,q6(O|0,W|0,L|0)|0,z=O+L|0,N[z>>0]=N[72854]|0,N[z+1>>0]=N[72855]|0,N[z+2>>0]=N[72856]|0,F=z+3|0;N[F>>0]=N[46856]|0,N[F+1>>0]=N[46857]|0,N[F+2>>0]=N[46858]|0;break Z}}while(0);Z[X>>2]=$,Z5(V,46859,X)|0,Z[543056]=S,q=T;return}function ZS(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;if($=q,q=q+16|0,T=$,$=Z[V+68>>2]|0,!$)Z8(V,2);if(X=(Z[V+28>>2]|0)+$|0,$=X+4|0,(Z[$>>2]&15|0)!=6)Z8(V,6);if(Y=V+8|0,Q=Z[Y>>2]|0,Z[Q>>2]=Z[Q+-8>>2],Z[Q+4>>2]=Z[Q+-4>>2],Q=Z[Y>>2]|0,Z[Q+-8>>2]=Z[X>>2],Z[Q+-4>>2]=Z[$>>2],$=Z[Y>>2]|0,Z[Y>>2]=$+8,Y=$+-8|0,$=V+38|0,Q=(j[$>>1]|0)+1<<16>>16,j[$>>1]=Q,(Q&65535)>199){if(Q<<16>>16==200)q1(V,46208,T);if((Q&65535)>224)Z8(V,6)}if(Q=V+36|0,j[Q>>1]=(j[Q>>1]|0)+1<<16>>16,!(g3(V,Y,1)|0))t3(V);j[Q>>1]=(j[Q>>1]|0)+-1<<16>>16,j[$>>1]=(j[$>>1]|0)+-1<<16>>16,Z8(V,2)}function g3(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0;X=q,q=q+32|0,Y=X+24|0,Q=X+16|0,W=X+8|0,U=X,S=V+28|0,J=V+12|0,_=V+8|0,K=V+24|0,P=V+32|0,O=$;Z:while(!0){switch(L=Z[S>>2]|0,F=O-L|0,$=Z[O+4>>2]|0,z=($&63)+-6|0,z>>>4|z<<28|0){case 3:{H=3;break Z}case 1:{H=6;break Z}case 2:{H=7;break Z}case 0:{H=33;break Z}default:}switch($&15){case 5:{C=(Z[O>>2]|0)+8|0;break}case 7:{C=(Z[O>>2]|0)+8|0;break}default:C=(Z[J>>2]|0)+276+(($&15)<<2)|0}$=Z[C>>2]|0;V:do if(!$)A=2172216;else{z=Z[(Z[J>>2]|0)+272>>2]|0,y=(Z[$+16>>2]|0)+(((1<>0])+-1&Z[z+8>>2])*20|0)|0;while(!0){if((Z[y+12>>2]|0)==68?(Z[y+8>>2]|0)==(z|0):0)break;if(k=Z[y+16>>2]|0,!k){A=2172216;break V}else y=k}A=y}while(0);if($=A+4|0,(Z[$>>2]&15|0)!=6){H=77;break}if(z=Z[_>>2]|0,z>>>0>O>>>0){k=z;do m=k,k=k+-8|0,Z[m>>2]=Z[k>>2],Z[m+4>>2]=Z[m+-4>>2];while(k>>>0>O>>>0);I=Z[_>>2]|0}else I=z;if(k=I+8|0,Z[_>>2]=k,m=k,((Z[K>>2]|0)-m|0)<8){if(k=Z[P>>2]|0,(k|0)>1e6){H=84;break}if(u=(m-(Z[S>>2]|0)>>3)+5|0,m=k<<1,k=(m|0)<1e6?m:1e6,m=(k|0)<(u|0)?u:k,(m|0)>1e6){H=86;break}x5(V,m)}m=(Z[S>>2]|0)+F|0,Z[m>>2]=Z[A>>2],Z[m+4>>2]=Z[$>>2],O=m}if((H|0)==3){if(Z[V+112>>2]=((Z[_>>2]|0)-O>>3)+-1,Z[O>>2]=PV[Z[O>>2]&255](V)|0,Z[O+4>>2]=3,Z[_>>2]=O+8,(T|0)<=1)return g=1,q=X,g|0;A=O,I=T;while(!0)if(Z[A+12>>2]=0,(I|0)>2)A=A+8|0,I=I+-1|0;else{g=1;break}return q=X,g|0}else if((H|0)==6)i=O;else if((H|0)==7)i=(Z[O>>2]|0)+12|0;else if((H|0)==33){I=Z[(Z[O>>2]|0)+12>>2]|0,A=Z[_>>2]|0,C=A-O>>3,m=C+-1|0,k=I+78|0,u=G[k>>0]|0;do if(((Z[K>>2]|0)-A>>3|0)<=(u|0)){if(t=Z[P>>2]|0,(t|0)>1e6)Z8(V,6);if(Y0=(A-L>>3)+5+u|0,X0=t<<1,t=(X0|0)<1e6?X0:1e6,X0=(t|0)<(Y0|0)?Y0:t,(X0|0)>1e6)x5(V,1000200),q1(V,46193,W);else{x5(V,X0);break}}while(0);if(W=N[I+76>>0]|0,u=W&255,(C|0)>(u|0))T0=m;else{C=Z[_>>2]|0,A=m;do m=C,C=C+8|0,Z[m+4>>2]=0,A=A+1|0;while((A|0)<(u|0));Z[_>>2]=C,T0=A}if(!(N[I+77>>0]|0))A=(Z[S>>2]|0)+F|0,Z0=A+8|0,W0=A;else{A=Z[_>>2]|0,C=G[k>>0]|0;do if(((Z[K>>2]|0)-A>>3|0)<=(C|0)){if(m=Z[P>>2]|0,(m|0)>1e6)Z8(V,6);if(X0=C+5+(A-(Z[S>>2]|0)>>3)|0,t=m<<1,m=(t|0)<1e6?t:1e6,t=(m|0)<(X0|0)?X0:m,(t|0)>1e6)x5(V,1000200),q1(V,46193,Q);else{x5(V,t),O0=Z[_>>2]|0;break}}else O0=A;while(0);if(A=0-T0|0,T0=O0+(A<<3)|0,W<<24>>24?(Z[_>>2]=O0+8,Z[O0>>2]=Z[T0>>2],Q=O0+(A<<3)+4|0,Z[O0+4>>2]=Z[Q>>2],Z[Q>>2]=0,W<<24>>24!=1):0){W=1;do Q=Z[_>>2]|0,A=T0+(W<<3)|0,Z[_>>2]=Q+8,Z[Q>>2]=Z[A>>2],C=A+4|0,Z[Q+4>>2]=Z[C>>2],Z[C>>2]=0,W=W+1|0;while((W|0)!=(u|0))}Z0=O0,W0=(Z[S>>2]|0)+F|0}if(O0=V+16|0,u=Z[(Z[O0>>2]|0)+12>>2]|0,!u){if(W=Z[J>>2]|0,T0=W+4|0,C=r6[Z[W>>2]&3](Z[T0>>2]|0,0,0,40)|0,!C){if(!(N[W+51>>0]|0))Z8(V,4);if(M2(V,1),Q=r6[Z[W>>2]&3](Z[T0>>2]|0,0,0,40)|0,!Q)Z8(V,4);else y0=Q}else y0=C;C=W+12|0,Z[C>>2]=(Z[C>>2]|0)+40,C=Z[O0>>2]|0,Z[C+12>>2]=y0,Z[y0+8>>2]=C,Z[y0+12>>2]=0,E0=y0}else E0=u;if(Z[O0>>2]=E0,j[E0+16>>1]=T,Z[E0>>2]=W0,Z[E0+24>>2]=Z0,W0=Z0+(G[k>>0]<<3)|0,Z[E0+4>>2]=W0,Z[E0+28>>2]=Z[I+12>>2],N[E0+18>>0]=1,Z[_>>2]=W0,W0=Z[J>>2]|0,E0=W0+12|0,I=Z[E0>>2]|0,(I|0)<=0)return g=0,q=X,g|0;if(!(N[W0+51>>0]|0))return k=W0+8|0,Z[k>>2]=I+1600+(Z[k>>2]|0),Z[E0>>2]=-1600,g=0,q=X,g|0;else return g1(V),g=0,q=X,g|0}else if((H|0)==77)DX(V,O,46841);else if((H|0)==84)Z8(V,6);else if((H|0)==86)x5(V,1000200),q1(V,46193,Y);Y=Z[i>>2]|0,i=Z[_>>2]|0,Z[V+112>>2]=(i-O>>3)+-1;do if(((Z[K>>2]|0)-i|0)<168){if(O=Z[P>>2]|0,(O|0)>1e6)Z8(V,6);if(H=(i-L>>3)+25|0,E0=O<<1,O=(E0|0)<1e6?E0:1e6,E0=(O|0)<(H|0)?H:O,(E0|0)>1e6)x5(V,1000200),q1(V,46193,U);else{x5(V,E0);break}}while(0);if(U=V+16|0,L=Z[(Z[U>>2]|0)+12>>2]|0,!L){if(i=Z[J>>2]|0,P=i+4|0,K=r6[Z[i>>2]&3](Z[P>>2]|0,0,0,40)|0,!K){if(!(N[i+51>>0]|0))Z8(V,4);if(M2(V,1),E0=r6[Z[i>>2]&3](Z[P>>2]|0,0,0,40)|0,!E0)Z8(V,4);else H0=E0}else H0=K;K=i+12|0,Z[K>>2]=(Z[K>>2]|0)+40,K=Z[U>>2]|0,Z[K+12>>2]=H0,Z[H0+8>>2]=K,Z[H0+12>>2]=0,D0=H0}else D0=L;Z[U>>2]=D0,j[D0+16>>1]=T,Z[D0>>2]=(Z[S>>2]|0)+F,Z[D0+4>>2]=(Z[_>>2]|0)+160,N[D0+18>>0]=0,D0=Z[J>>2]|0,J=D0+12|0,F=Z[J>>2]|0;do if((F|0)>0)if(!(N[D0+51>>0]|0)){S=D0+8|0,Z[S>>2]=F+1600+(Z[S>>2]|0),Z[J>>2]=-1600;break}else{g1(V);break}while(0);J=PV[Y&255](V)|0,V=Z[_>>2]|0,Y=Z[U>>2]|0,F=Z[Y>>2]|0,D0=j[Y+16>>1]|0,Z[U>>2]=Z[Y+8>>2];Z:do if(D0<<16>>16){if(Y=D0<<16>>16,U=0-J|0,(U|0)<0){S=V+(U<<3)|0,U=Y,T=F;while(!0){if(L=T+8|0,Z[T>>2]=Z[S>>2],Z[T+4>>2]=Z[S+4>>2],H0=U+-1|0,!H0){_0=L;break Z}if(S=S+8|0,S>>>0>=(Z[_>>2]|0)>>>0){F0=H0,k0=L;break}else U=H0,T=L}}else F0=Y,k0=F;if((F0|0)>0){T=F0,U=k0;while(!0)if(S=U+8|0,Z[U+4>>2]=0,(T|0)>1)T=T+-1|0,U=S;else{_0=S;break}}else _0=k0}else _0=F;while(0);return Z[_>>2]=_0,g=1,q=X,g|0}function bY(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0;y7(V,$),T=Z[$>>2]|0;Z:do switch(T|0){case 10:{if(X=$+4|0,Y=Z[X>>2]|0,Q=(Z[(Z[V>>2]|0)+12>>2]|0)+(Y<<2)|0,(Y|0)>0?(Y=Q+-4|0,W=Z[Y>>2]|0,((W&63)+-37|0)>>>0<5):0)U=W,S=Y;else U=Z[Q>>2]|0,S=Q;Z[S>>2]=((U&16320|0)==0&1)<<6|U&-16321,J=Z[X>>2]|0,_=32;break}case 2:case 5:case 4:break;case 11:{if(X=Z[V>>2]|0,Q=$+4|0,Y=Z[(Z[X+12>>2]|0)+(Z[Q>>2]<<2)>>2]|0,W=V+20|0,(Y&63|0)==33)if(Z[W>>2]=(Z[W>>2]|0)+-1,s2(V,Y>>>23<<6|16424)|0,Y=V+28|0,W=Z[Y>>2]|0,Z[Y>>2]=-1,Y=s2(V,2147450916)|0,(W|0)!=-1)if((Y|0)!=-1){K=Z[(Z[V>>2]|0)+12>>2]|0,P=Y;while(!0)if(O=K+(P<<2)|0,L=Z[O>>2]|0,F=(L>>>14)+-131071|0,z=(F|0)==-1?-1:P+1+F|0,(z|0)==-1)break;else P=z;if(K=W+~P|0,(((K|0)>-1?K:0-K|0)|0)>131071)$2(Z[V+12>>2]|0,46981);else{Z[O>>2]=(K<<14)+2147467264|L&16383,J=Y,_=32;break Z}}else H=W,_=33;else J=Y,_=32;else C=X,A=Q,_=16;break}default:if(K=$+4|0,(T|0)==6)y=K,_=22;else C=Z[V>>2]|0,A=K,_=16}while(0);if((_|0)==16){T=V+48|0,L=N[T>>0]|0,O=(L&255)+1|0,U=C+78|0;do if((L&255)>=(G[U>>0]|0))if((L&255)>248)$2(Z[V+12>>2]|0,47325);else{C=O&255,N[U>>0]=C,k=C;break}else k=O&255;while(0);if(N[T>>0]=k,aY(V,$,(k&255)+-1|0),(Z[$>>2]|0)==6)y=A,_=22;else m=A,_=25}if((_|0)==22)if(A=Z[$+4>>2]|0,(A&256|0)==0?(A|0)>=(G[V+46>>0]|0|0):0)A=V+48|0,N[A>>0]=(N[A>>0]|0)+-1<<24>>24,m=y,_=25;else m=y,_=25;do if((_|0)==25)if(s2(V,Z[m>>2]<<23|16361)|0,y=V+28|0,A=Z[y>>2]|0,Z[y>>2]=-1,y=s2(V,2147450916)|0,(A|0)!=-1)if((y|0)!=-1){k=Z[(Z[V>>2]|0)+12>>2]|0,T=y;while(!0)if(I=k+(T<<2)|0,u=Z[I>>2]|0,O=(u>>>14)+-131071|0,U=(O|0)==-1?-1:T+1+O|0,(U|0)==-1)break;else T=U;if(k=A+~T|0,(((k|0)>-1?k:0-k|0)|0)>131071)$2(Z[V+12>>2]|0,46981);else{Z[I>>2]=(k<<14)+2147467264|u&16383,J=y,_=32;break}}else H=A,_=33;else J=y,_=32;while(0);if((_|0)==32?(J|0)!=-1:0)H=J,_=33;do if((_|0)==33){if(J=$+12|0,u=Z[J>>2]|0,(u|0)==-1){Z[J>>2]=H;break}J=Z[(Z[V>>2]|0)+12>>2]|0,I=u;while(!0)if(g=J+(I<<2)|0,i=Z[g>>2]|0,u=(i>>>14)+-131071|0,m=(u|0)==-1?-1:I+1+u|0,(m|0)==-1)break;else I=m;if(J=H+~I|0,(((J|0)>-1?J:0-J|0)|0)>131071)$2(Z[V+12>>2]|0,46981);else{Z[g>>2]=(J<<14)+2147467264|i&16383;break}}while(0);if(i=$+8|0,$=Z[i>>2]|0,Z[V+24>>2]=Z[V+20>>2],g=V+28|0,($|0)==-1){Z[i>>2]=-1;return}if(H=Z[g>>2]|0,(H|0)==-1){Z[g>>2]=$,Z[i>>2]=-1;return}g=Z[(Z[V>>2]|0)+12>>2]|0,_=H;while(!0)if(t=g+(_<<2)|0,Y0=Z[t>>2]|0,H=(Y0>>>14)+-131071|0,J=(H|0)==-1?-1:_+1+H|0,(J|0)==-1)break;else _=J;if(g=$+~_|0,(((g|0)>-1?g:0-g|0)|0)>131071)$2(Z[V+12>>2]|0,46981);Z[t>>2]=(g<<14)+2147467264|Y0&16383,Z[i>>2]=-1;return}function oW(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;$=q,q=q+16|0,T=$,X=Z[V+40>>2]|0,N[T+10>>0]=0,N[T+8>>0]=N[X+46>>0]|0,Y=Z[(Z[X+12>>2]|0)+56>>2]|0,j[T+4>>1]=Z[Y+28>>2],j[T+6>>1]=Z[Y+16>>2],N[T+9>>0]=0,Y=X+16|0,Z[T>>2]=Z[Y>>2],Z[Y>>2]=T,T=V+24|0;Z:while(!0){switch(Y=Z[T>>2]|0,Y|0){case 277:case 292:case 287:case 262:case 261:case 260:{Q=4;break Z}default:}if(U$(V),(Y|0)==274){Q=4;break}}if((Q|0)==4){BZ(X),q=$;return}}function i3(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;if(T=Z[V+40>>2]|0,X=Z[V+56>>2]|0,Y=Z[T>>2]|0,Q=Y+60|0,W=Z[Q>>2]|0,U=T+44|0,(W|0)>(j[U>>1]|0))S=W,J=Z[Y+24>>2]|0;else _=Y+24|0,K=XZ(Z[V+44>>2]|0,Z[_>>2]|0,Q,12,32767,47639)|0,Z[_>>2]=K,S=Z[Q>>2]|0,J=K;if((W|0)<(S|0)?(K=W+1|0,Z[J+(W*12|0)>>2]=0,(K|0)<(S|0)):0){W=K;do Z[J+(W*12|0)>>2]=0,W=W+1|0;while((W|0)!=(S|0))}Z[J+((j[U>>1]|0)*12|0)>>2]=$;do if(N[$+5>>0]&3?(J=Y+5|0,S=N[J>>0]|0,S&4):0)if(W=Z[(Z[V+44>>2]|0)+12>>2]|0,(G[W+49>>0]|0)<2){E1(W,$);break}else{N[J>>0]=N[W+48>>0]&3|S&-72;break}while(0);if($=j[U>>1]|0,j[U>>1]=$+1<<16>>16,U=X+4|0,Y=Z[U>>2]|0,S=Y+1|0,(S-(Z[T+40>>2]|0)|0)>200)JV(T,200,47639);if(T=X+8|0,(Y+2|0)>(Z[T>>2]|0)){W=XZ(Z[V+44>>2]|0,Z[X>>2]|0,T,2,2147483645,47639)|0,Z[X>>2]=W,T=Z[U>>2]|0,P=W,O=T,L=T+1|0,Z[U>>2]=L,F=P+(O<<1)|0,j[F>>1]=$;return}else{P=Z[X>>2]|0,O=Y,L=S,Z[U>>2]=L,F=P+(O<<1)|0,j[F>>1]=$;return}}function nW(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if($=q,q=q+16|0,T=$,u5(V,T,0)|0,X=Z[V+40>>2]|0,y7(X,T),((Z[T>>2]|0)==6?(V=Z[T+4>>2]|0,(V&256|0)==0):0)?(V|0)>=(G[X+46>>0]|0|0):0)V=X+48|0,N[V>>0]=(N[V>>0]|0)+-1<<24>>24;if(V=X+48|0,Y=N[V>>0]|0,Q=(Y&255)+1|0,W=(Z[X>>2]|0)+78|0,(Y&255)<(G[W>>0]|0)){U=Q&255,N[V>>0]=U,S=U&255,J=S+-1|0,n5(X,T,J),q=$;return}if((Y&255)>248)$2(Z[X+12>>2]|0,47325);Y=Q&255,N[W>>0]=Y,U=Y,N[V>>0]=U,S=U&255,J=S+-1|0,n5(X,T,J),q=$;return}function w3(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if(X=Z[(Z[V+12>>2]|0)+44>>2]|0,Y=Z[V>>2]|0,Q=Z[V+4>>2]|0,W=CZ(Q,$)|0,(W|0)==2172216)U=I4(X,Q,$)|0;else U=W;if(W=U+4|0,((Z[W>>2]|0)==3?($=Z[U>>2]>>16,Q=Z[Y+8>>2]|0,(Z[Q+($<<3)+4>>2]|0)==(Z[T+4>>2]|0)):0)?YZ(0,Q+($<<3)|0,T)|0:0)return S=$,S|0;if($=Y+44|0,Q=Z[$>>2]|0,J=V+32|0,V=Z[J>>2]|0,Z[U>>2]=V,Z[W>>2]=3,W=Z[$>>2]|0,U=Y+8|0,(V|0)<(W|0))_=W,K=Z[U>>2]|0;else W=XZ(X,Z[U>>2]|0,$,8,67108863,47629)|0,Z[U>>2]=W,_=Z[$>>2]|0,K=W;if((Q|0)<(_|0)?(W=Q+1|0,Z[K+(Q<<3)+4>>2]=0,(W|0)<(_|0)):0){Q=W;do Z[K+(Q<<3)+4>>2]=0,Q=Q+1|0;while((Q|0)<(_|0))}if(Z[K+(V<<3)>>2]=Z[T>>2],_=T+4|0,Z[K+(V<<3)+4>>2]=Z[_>>2],Z[J>>2]=(Z[J>>2]|0)+1,!(Z[_>>2]&64))return S=V,S|0;if(_=Z[T>>2]|0,!(N[_+5>>0]&3))return S=V,S|0;if(T=Y+5|0,Y=N[T>>0]|0,!(Y&4))return S=V,S|0;if(J=Z[X+12>>2]|0,(G[J+49>>0]|0)<2)return E1(J,_),S=V,S|0;else return N[T>>0]=N[J+48>>0]&3|Y&-72,S=V,S|0;return 0}function VS(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0;if(Q=q,q=q+16|0,W=Q,U=V+40|0,S=Z[U>>2]|0,J=S+46|0,_=N[J>>0]|0,N[J>>0]=(_&255)+3,K=S+20|0,P=Z[K>>2]|0,O=S+12|0,L=Z[(Z[S>>2]|0)+24>>2]|0,F=Z[Z[(Z[O>>2]|0)+56>>2]>>2]|0,z=(Z[S+40>>2]|0)+(_+3&255)|0,Z[L+((j[F+(z+-3<<1)>>1]|0)*12|0)+4>>2]=P,Z[L+((j[F+(z+-2<<1)>>1]|0)*12|0)+4>>2]=P,Z[L+((j[F+(z+-1<<1)>>1]|0)*12|0)+4>>2]=P,P=V+24|0,(Z[P>>2]|0)!=259)c7(V,259);if(Z[V+16>>2]=Z[V+4>>2],z=V+32|0,(Z[z>>2]|0)==287)Z[P>>2]=R2(V,V+28|0)|0;else P=z,F=Z[P+4>>2]|0,L=V+24|0,Z[L>>2]=Z[P>>2],Z[L+4>>2]=F,Z[z>>2]=287;z=(Y|0)!=0;do if(!z)if(Y=S+28|0,F=Z[Y>>2]|0,Z[Y>>2]=-1,Y=s2(S,2147450916)|0,(F|0)!=-1)if((Y|0)!=-1){L=Z[(Z[S>>2]|0)+12>>2]|0,P=Y;while(!0)if(H=L+(P<<2)|0,C=Z[H>>2]|0,_=(C>>>14)+-131071|0,A=(_|0)==-1?-1:P+1+_|0,(A|0)==-1)break;else P=A;if(L=F+~P|0,(((L|0)>-1?L:0-L|0)|0)>131071)$2(Z[O>>2]|0,46981);else{Z[H>>2]=(L<<14)+2147467264|C&16383,y=Y;break}}else y=F;else y=Y;else y=s2(S,$<<6|2147450926)|0;while(0);if(N[W+10>>0]=0,N[W+8>>0]=N[J>>0]|0,J=Z[O>>2]|0,C=Z[J+56>>2]|0,j[W+4>>1]=Z[C+28>>2],j[W+6>>1]=Z[C+16>>2],N[W+9>>0]=0,C=S+16|0,Z[W>>2]=Z[C>>2],Z[C>>2]=W,W=Z[U>>2]|0,U=W+46|0,C=(G[U>>0]|0)+X|0,N[U>>0]=C,X|0){U=Z[W+20>>2]|0,H=Z[(Z[W>>2]|0)+24>>2]|0,L=Z[Z[(Z[W+12>>2]|0)+56>>2]>>2]|0,A=(Z[W+40>>2]|0)+(C&255)|0,C=X;do Z[H+((j[L+(A-C<<1)>>1]|0)*12|0)+4>>2]=U,C=C+-1|0;while((C|0)!=0)}C=S+48|0,U=(G[C>>0]|0)+X|0,A=(Z[S>>2]|0)+78|0;do if((U|0)>(G[A>>0]|0))if((U|0)>249)$2(J,47325);else{L=U&255,N[A>>0]=L,k=L;break}else k=U&255;while(0);N[C>>0]=k,oW(V),BZ(S),Z[S+24>>2]=Z[K>>2],V=S+28|0;do if((y|0)!=-1){if(k=Z[V>>2]|0,(k|0)==-1){Z[V>>2]=y;break}C=Z[(Z[S>>2]|0)+12>>2]|0,U=k;while(!0)if(m=C+(U<<2)|0,I=Z[m>>2]|0,k=(I>>>14)+-131071|0,A=(k|0)==-1?-1:U+1+k|0,(A|0)==-1)break;else U=A;if(C=y+~U|0,(((C|0)>-1?C:0-C|0)|0)>131071)$2(Z[O>>2]|0,46981);else{Z[m>>2]=(C<<14)+2147467264|I&16383;break}}while(0);if(I=$<<6,z){u=I|2147450925,g=s2(S,u)|0,i=y+1|0,TY(S,g,i),t=Z[S>>2]|0,Y0=t+20|0,X0=Z[Y0>>2]|0,T0=Z[K>>2]|0,Z0=T0+-1|0,W0=X0+(Z0<<2)|0,Z[W0>>2]=T,q=Q;return}else{s2(S,I|X<<14|47)|0,Z[(Z[(Z[S>>2]|0)+20>>2]|0)+((Z[K>>2]|0)+-1<<2)>>2]=T,u=I+128|2147450928,g=s2(S,u)|0,i=y+1|0,TY(S,g,i),t=Z[S>>2]|0,Y0=t+20|0,X0=Z[Y0>>2]|0,T0=Z[K>>2]|0,Z0=T0+-1|0,W0=X0+(Z0<<2)|0,Z[W0>>2]=T,q=Q;return}}function rW(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;switch(Y=$-T|0,T=Z[X>>2]|0,T|0){case 13:case 12:{switch($=Y+1|0,Q=($|0)>0?$:0,T|0){case 12:{T=(Z[(Z[V>>2]|0)+12>>2]|0)+(Z[X+4>>2]<<2)|0,Z[T>>2]=Z[T>>2]&-8372225|(Q<<14)+16384&8372224;break}case 13:{T=Z[V>>2]|0,$=Z[T+12>>2]|0,W=X+4|0,U=$+(Z[W>>2]<<2)|0,Z[U>>2]=Z[U>>2]&8388607|(Q<<23)+8388608,U=$+(Z[W>>2]<<2)|0,W=V+48|0,$=N[W>>0]|0,S=$&255,Z[U>>2]=S<<6|Z[U>>2]&-16321,U=S+1|0,S=T+78|0;do if(($&255)>=(G[S>>0]|0))if(($&255)>248)$2(Z[V+12>>2]|0,47325);else{T=U&255,N[S>>0]=T,J=T;break}else J=U&255;while(0);N[W>>0]=J;break}default:}if((Q|0)<=1)return;J=V+48|0,W=Q+-1+(G[J>>0]|0)|0,Q=(Z[V>>2]|0)+78|0;do if((W|0)>(G[Q>>0]|0|0))if((W|0)>249)$2(Z[V+12>>2]|0,47325);else{U=W&255,N[Q>>0]=U,_=U;break}else _=W&255;while(0);N[J>>0]=_;return}case 0:break;default:{if(y7(V,X),((Z[X>>2]|0)==6?(_=Z[X+4>>2]|0,(_&256|0)==0):0)?(_|0)>=(G[V+46>>0]|0|0):0)_=V+48|0,N[_>>0]=(N[_>>0]|0)+-1<<24>>24;_=V+48|0,J=N[_>>0]|0,W=(J&255)+1|0,Q=(Z[V>>2]|0)+78|0;do if((J&255)>=(G[Q>>0]|0))if((J&255)>248)$2(Z[V+12>>2]|0,47325);else{U=W&255,N[Q>>0]=U,K=U;break}else K=W&255;while(0);N[_>>0]=K,n5(V,X,(K&255)+-1|0)}}if((Y|0)<=0)return;K=V+48|0,X=G[K>>0]|0,_=Y+X|0,W=Z[V>>2]|0,Q=W+78|0;do if((_|0)>(G[Q>>0]|0|0))if((_|0)>249)$2(Z[V+12>>2]|0,47325);else{J=_&255,N[Q>>0]=J,P=J;break}else P=_&255;while(0);N[K>>0]=P,P=_+511|0,K=Z[V+20>>2]|0;do if((K|0)>(Z[V+24>>2]|0)?(Q=(Z[W+12>>2]|0)+(K+-1<<2)|0,J=Z[Q>>2]|0,(J&63|0)==4):0){if(U=J>>>6&255,S=U+(J>>>23)|0,U>>>0>X>>>0|(S+1|0)>>>0>>0?U>>>0>>0|(U|0)>(_|0):0)break;$=U>>>0>>0?U:X,Z[Q>>2]=$<<6|J&8372287|((S|0)<(_|0)?P:S)-$<<23;return}while(0);s2(V,(Y<<23)+-8388608|X<<6|4)|0;return}function f9(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if(y7(V,$),(Z[$>>2]|0)==6){if(T=$+4|0,X=Z[T>>2]|0,(Z[$+8>>2]|0)==(Z[$+12>>2]|0))return Y=X,Y|0;if((X|0)>=(G[V+46>>0]|0|0))n5(V,$,X),Q=T;else W=5}else W=5;if((W|0)==5){if(y7(V,$),((Z[$>>2]|0)==6?(W=Z[$+4>>2]|0,(W&256|0)==0):0)?(W|0)>=(G[V+46>>0]|0|0):0)W=V+48|0,N[W>>0]=(N[W>>0]|0)+-1<<24>>24;W=V+48|0,T=N[W>>0]|0,X=(T&255)+1|0,U=(Z[V>>2]|0)+78|0;do if((T&255)>=(G[U>>0]|0))if((T&255)>248)$2(Z[V+12>>2]|0,47325);else{S=X&255,N[U>>0]=S,J=S;break}else J=X&255;while(0);N[W>>0]=J,n5(V,$,(J&255)+-1|0),Q=$+4|0}return Y=Z[Q>>2]|0,Y|0}function X3(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;if(T=q,q=q+16|0,X=T+8|0,Y=T,(Z[$+8>>2]|0)==(Z[$+12>>2]|0))y7(V,$);else f9(V,$)|0;switch(Q=Z[$>>2]|0,Q|0){case 1:case 3:case 2:{if((Z[V+32>>2]|0)<256){if((Q|0)==1)Z[Y+4>>2]=0,Z[X>>2]=Z[V+4>>2],Z[X+4>>2]=69,W=w3(V,X,Y)|0;else Z[X>>2]=(Q|0)==2&1,Z[X+4>>2]=1,W=w3(V,X,X)|0;return Z[$+4>>2]=W,Z[$>>2]=4,U=W|256,q=T,U|0}break}case 5:{if(W=$+4|0,Q=Z[W>>2]|0,Z[X>>2]=Q,S=Z[(Z[V+12>>2]|0)+44>>2]|0,Z[Y>>2]=Q,Z[Y+4>>2]=3,!Q)Q=S+8|0,J=Z[Q>>2]|0,Z[Q>>2]=J+8,_=P7(S,X,4)|0,Z[J>>2]=_,Z[J+4>>2]=(N[_+4>>0]|64)&255,_=w3(V,(Z[Q>>2]|0)+-8|0,Y)|0,Z[Q>>2]=(Z[Q>>2]|0)+-8,K=_;else K=w3(V,Y,Y)|0;Z[W>>2]=K,Z[$>>2]=4,P=K,O=15;break}case 4:{P=Z[$+4>>2]|0,O=15;break}default:}if((O|0)==15?(P|0)<256:0)return U=P|256,q=T,U|0;return U=f9(V,$)|0,q=T,U|0}function hW(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0;if(Y=q,q=q+80|0,Q=Y,W=Y+16|0,U=Y+4|0,S=V+40|0,J=Z[S>>2]|0,_=V+44|0,K=Z[_>>2]|0,P=Z[J>>2]|0,O=J+36|0,J=P+56|0,L=Z[J>>2]|0,((Z[O>>2]|0)>=(L|0)?(F=P+16|0,z=XZ(K,Z[F>>2]|0,J,4,262143,47589)|0,Z[F>>2]=z,H=Z[J>>2]|0,(L|0)<(H|0)):0)?(J=L+1|0,Z[z+(L<<2)>>2]=0,(J|0)<(H|0)):0){L=J;do Z[(Z[F>>2]|0)+(L<<2)>>2]=0,L=L+1|0;while((L|0)!=(H|0))}if(H=K+12|0,L=Z[H>>2]|0,F=L+4|0,J=r6[Z[L>>2]&3](Z[F>>2]|0,0,9,80)|0,!J){if(!(N[L+51>>0]|0))Z8(K,4);if(M2(K,1),z=r6[Z[L>>2]&3](Z[F>>2]|0,0,9,80)|0,!z)Z8(K,4);else C=z}else C=J;J=L+12|0,Z[J>>2]=(Z[J>>2]|0)+80,J=L+56|0,z=C+5|0,N[z>>0]=N[L+48>>0]&3,N[C+4>>0]=9,Z[C>>2]=Z[J>>2],Z[J>>2]=C,N[C+76>>0]=0,N[C+77>>0]=0,J=C+78|0,N[J>>0]=0,L=C+8|0,K=L+64|0;do Z[L>>2]=0,L=L+4|0;while((L|0)<(K|0));L=Z[P+16>>2]|0,K=Z[O>>2]|0,Z[O>>2]=K+1,Z[L+(K<<2)>>2]=C;do if(N[z>>0]&3?(K=P+5|0,L=N[K>>0]|0,L&4):0)if(O=Z[H>>2]|0,(G[O+49>>0]|0)<2){E1(O,C);break}else{N[K>>0]=N[O+48>>0]&3|L&-72;break}while(0);if(Z[W>>2]=C,Z[C+64>>2]=X,H=Z[_>>2]|0,Z[W+8>>2]=Z[S>>2],_=W+12|0,Z[_>>2]=V,Z[S>>2]=W,Z[W+20>>2]=0,Z[W+24>>2]=0,Z[W+28>>2]=-1,Z[W+32>>2]=0,Z[W+36>>2]=0,P=W+44|0,Z[P>>2]=0,N[P+4>>0]=0,Z[W+40>>2]=Z[(Z[V+56>>2]|0)+4>>2],P=W+16|0,Z[P>>2]=0,Z[C+36>>2]=Z[V+60>>2],N[J>>0]=2,J=Z[H+12>>2]|0,C=J+4|0,z=r6[Z[J>>2]&3](Z[C>>2]|0,0,5,32)|0,!z){if(!(N[J+51>>0]|0))Z8(H,4);if(M2(H,1),L=r6[Z[J>>2]&3](Z[C>>2]|0,0,5,32)|0,!L)Z8(H,4);else A=L}else A=z;z=J+12|0,Z[z>>2]=(Z[z>>2]|0)+32,z=J+56|0,N[A+5>>0]=N[J+48>>0]&3,N[A+4>>0]=5,Z[A>>2]=Z[z>>2],Z[z>>2]=A,Z[A+8>>2]=0,N[A+6>>0]=-1,Z[A+12>>2]=0,Z[A+28>>2]=0,Z[A+16>>2]=2172240,N[A+7>>0]=0,Z[A+20>>2]=2172240,Z[W+4>>2]=A,z=H+8|0,J=Z[z>>2]|0,Z[J>>2]=A,Z[J+4>>2]=69,J=(Z[z>>2]|0)+8|0,Z[z>>2]=J,z=J;do if(((Z[H+24>>2]|0)-z|0)<8){if(J=Z[H+32>>2]|0,(J|0)>1e6)Z8(H,6);if(A=(z-(Z[H+28>>2]|0)>>3)+5|0,L=J<<1,J=(L|0)<1e6?L:1e6,L=(J|0)<(A|0)?A:J,(L|0)>1e6)x5(H,1000200),q1(H,46193,Q);else{x5(H,L);break}}while(0);if(N[U+10>>0]=0,N[U+8>>0]=N[W+46>>0]|0,H=Z[(Z[_>>2]|0)+56>>2]|0,j[U+4>>1]=Z[H+28>>2],j[U+6>>1]=Z[H+16>>2],N[U+9>>0]=0,Z[U>>2]=Z[P>>2],Z[P>>2]=U,U=V+24|0,(Z[U>>2]|0)!=40)c7(V,40);if(P=V+4|0,H=V+16|0,Z[H>>2]=Z[P>>2],_=V+32|0,(Z[_>>2]|0)==287)Q=R2(V,V+28|0)|0,Z[U>>2]=Q,y=Q;else Q=_,z=Z[Q>>2]|0,L=Z[Q+4>>2]|0,Q=V+24|0,Z[Q>>2]=z,Z[Q+4>>2]=L,Z[_>>2]=287,y=z;if(!T)T=Z[S>>2]|0,k=T,m=Z[T>>2]|0,I=y,u=T;else i3(V,y4(V,47599,4)|0),T=Z[S>>2]|0,y=T+46|0,z=N[y>>0]|0,N[y>>0]=(z&255)+1,y=Z[T>>2]|0,Z[(Z[y+24>>2]|0)+((j[(Z[Z[(Z[T+12>>2]|0)+56>>2]>>2]|0)+((Z[T+40>>2]|0)+(z+1&255)+-1<<1)>>1]|0)*12|0)+4>>2]=Z[T+20>>2],k=T,m=y,I=Z[U>>2]|0,u=T;T=m+77|0,N[T>>0]=0;Z:do if((I|0)==41)g=0;else{y=V+28|0,z=V+24|0,L=I,Q=0;V:while(!0){switch(L|0){case 280:break V;case 289:break;default:{i=43;break V}}if(J=Z[y>>2]|0,Z[H>>2]=Z[P>>2],(Z[_>>2]|0)==287)Z[U>>2]=R2(V,y)|0;else A=_,C=Z[A+4>>2]|0,O=z,Z[O>>2]=Z[A>>2],Z[O+4>>2]=C,Z[_>>2]=287;if(i3(V,J),J=Q+1|0,N[T>>0]|0){g=J;break Z}if((Z[U>>2]|0)!=44){g=J;break Z}if(Z[H>>2]=Z[P>>2],(Z[_>>2]|0)==287)C=R2(V,y)|0,Z[U>>2]=C,t=C;else C=_,O=Z[C>>2]|0,A=Z[C+4>>2]|0,C=z,Z[C>>2]=O,Z[C+4>>2]=A,Z[_>>2]=287,t=O;L=t,Q=J}if((i|0)==43)$2(V,47604);if(Z[H>>2]=Z[P>>2],(Z[_>>2]|0)==287)Z[U>>2]=R2(V,y)|0;else L=_,J=Z[L+4>>2]|0,O=z,Z[O>>2]=Z[L>>2],Z[O+4>>2]=J,Z[_>>2]=287;N[T>>0]=1,g=Q}while(0);if(T=Z[S>>2]|0,i=T+46|0,t=g+(G[i>>0]|0)|0,N[i>>0]=t,g|0){i=Z[T+20>>2]|0,I=Z[(Z[T>>2]|0)+24>>2]|0,J=Z[Z[(Z[T+12>>2]|0)+56>>2]>>2]|0,O=(Z[T+40>>2]|0)+(t&255)|0,t=g;do Z[I+((j[J+(O-t<<1)>>1]|0)*12|0)+4>>2]=i,t=t+-1|0;while((t|0)!=0)}t=N[k+46>>0]|0,N[m+76>>0]=t,m=k+48|0,i=(G[m>>0]|0)+(t&255)|0,t=(Z[u>>2]|0)+78|0;do if(i>>>0>(G[t>>0]|0)>>>0)if(i>>>0>249)$2(Z[k+12>>2]|0,47325);else{u=i&255,N[t>>0]=u,Y0=u;break}else Y0=i&255;while(0);if(N[m>>0]=Y0,(Z[U>>2]|0)!=41)c7(V,41);if(Z[H>>2]=Z[P>>2],(Z[_>>2]|0)==287)H=R2(V,V+28|0)|0,Z[U>>2]=H,X0=H;else H=_,Y0=Z[H>>2]|0,m=Z[H+4>>2]|0,H=V+24|0,Z[H>>2]=Y0,Z[H+4>>2]=m,Z[_>>2]=287,X0=Y0;Y0=X0;Z:while(!0){switch(Y0|0){case 277:case 292:case 287:case 262:case 261:case 260:break Z;default:}if(U$(V),(Y0|0)==274)break;Y0=Z[U>>2]|0}if(Z[(Z[W>>2]|0)+68>>2]=Z[P>>2],w4(V,262,265,X),X=Z[(Z[S>>2]|0)+8>>2]|0,S=s2(X,(Z[X+36>>2]<<14)+-16384|50)|0,Z[$+8>>2]=-1,Z[$+12>>2]=-1,Z[$>>2]=11,P=$+4|0,Z[P>>2]=S,y7(X,$),((Z[$>>2]|0)==6?(S=Z[P>>2]|0,(S&256|0)==0):0)?(S|0)>=(G[X+46>>0]|0):0)S=X+48|0,N[S>>0]=(N[S>>0]|0)+-1<<24>>24;if(S=X+48|0,P=N[S>>0]|0,W=(P&255)+1|0,U=(Z[X>>2]|0)+78|0,(P&255)<(G[U>>0]|0)){T0=W&255,N[S>>0]=T0,Z0=T0&255,W0=Z0+-1|0,n5(X,$,W0),NN(V),q=Y;return}if((P&255)>248)$2(Z[X+12>>2]|0,47325);P=W&255,N[U>>0]=P,T0=P,N[S>>0]=T0,Z0=T0&255,W0=Z0+-1|0,n5(X,$,W0),NN(V),q=Y;return}function eY(V,$,T){V=V|0,$=$|0,T=T|0;var X=0;switch(Z[$>>2]|0){case 7:{if(((Z[T>>2]|0)==6?(X=Z[T+4>>2]|0,(X&256|0)==0):0)?(X|0)>=(G[V+46>>0]|0):0)X=V+48|0,N[X>>0]=(N[X>>0]|0)+-1<<24>>24;n5(V,T,Z[$+4>>2]|0);return}case 8:{s2(V,(f9(V,T)|0)<<6|Z[$+4>>2]<<23|9)|0;break}case 9:{X=$+4|0,$=(N[X+3>>0]|0)==7?10:8,s2(V,(X3(V,T)|0)<<14|$|G[X+2>>0]<<6|n[X>>1]<<23)|0;break}default:}if((Z[T>>2]|0)!=6)return;if(X=Z[T+4>>2]|0,X&256|0)return;if((X|0)<(G[V+46>>0]|0))return;X=V+48|0,N[X>>0]=(N[X>>0]|0)+-1<<24>>24;return}function gW(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0;switch(T=q,q=q+32|0,X=T+16|0,Y=T,Q=V+40|0,W=Z[Q>>2]|0,U=V+4|0,S=Z[U>>2]|0,J=V+24|0,Z[J>>2]|0){case 40:{if(_=V+16|0,Z[_>>2]=S,K=V+32|0,(Z[K>>2]|0)==287)Z[J>>2]=R2(V,V+28|0)|0;else P=K,O=Z[P+4>>2]|0,L=V+24|0,Z[L>>2]=Z[P>>2],Z[L+4>>2]=O,Z[K>>2]=287;u5(V,$,0)|0,w4(V,41,40,S),y7(Z[Q>>2]|0,$),F=_,z=K,H=K;break}case 289:{SN(V,$),K=V+32|0,F=V+16|0,z=K,H=K;break}default:$2(V,47520)}K=$+8|0,_=$+12|0,O=V+28|0,L=V+24|0,P=$+4|0,C=W+48|0,A=X+8|0,y=X+12|0,k=W+46|0,m=X+4|0,I=Y+8|0,u=Y+12|0,g=Y+4|0,i=X+4|0,t=Y+8|0,Y0=Y+12|0,X0=Y+4|0,T0=$+4|0,Z0=T0+2|0,W0=T0+3|0;Z:while(!0)switch(Z[J>>2]|0){case 46:{if(O0=Z[Q>>2]|0,!((Z[$>>2]|0)==8?(Z[K>>2]|0)==(Z[_>>2]|0):0))f9(O0,$)|0;if(Z[F>>2]=Z[U>>2],(Z[H>>2]|0)==287)y0=R2(V,O)|0,Z[J>>2]=y0,E0=y0;else y0=z,H0=Z[y0>>2]|0,D0=Z[y0+4>>2]|0,y0=L,Z[y0>>2]=H0,Z[y0+4>>2]=D0,Z[H>>2]=287,E0=H0;if((E0|0)!=289){_0=17;break Z}if(H0=Z[O>>2]|0,Z[F>>2]=Z[U>>2],(Z[H>>2]|0)==287)Z[J>>2]=R2(V,O)|0;else D0=z,y0=Z[D0+4>>2]|0,F0=L,Z[F0>>2]=Z[D0>>2],Z[F0+4>>2]=y0,Z[H>>2]=287;y0=Z[Q>>2]|0,Z[X>>2]=H0,Z[i>>2]=(N[H0+4>>0]|64)&255,H0=w3(y0,X,X)|0,Z[t>>2]=-1,Z[Y0>>2]=-1,Z[Y>>2]=4,Z[X0>>2]=H0,N[Z0>>0]=Z[T0>>2],j[T0>>1]=X3(O0,Y)|0,N[W0>>0]=(Z[$>>2]|0)==8?8:7,Z[$>>2]=9;break}case 91:{if(!((Z[$>>2]|0)==8?(Z[K>>2]|0)==(Z[_>>2]|0):0))f9(W,$)|0;if(Z[F>>2]=Z[U>>2],(Z[H>>2]|0)==287)Z[J>>2]=R2(V,O)|0;else O0=z,H0=Z[O0+4>>2]|0,y0=L,Z[y0>>2]=Z[O0>>2],Z[y0+4>>2]=H0,Z[H>>2]=287;if(u5(V,X,0)|0,H0=Z[Q>>2]|0,(Z[A>>2]|0)==(Z[y>>2]|0))y7(H0,X);else f9(H0,X)|0;if((Z[J>>2]|0)!=93){_0=32;break Z}if(Z[F>>2]=Z[U>>2],(Z[H>>2]|0)==287)Z[J>>2]=R2(V,O)|0;else H0=z,y0=Z[H0+4>>2]|0,O0=L,Z[O0>>2]=Z[H0>>2],Z[O0+4>>2]=y0,Z[H>>2]=287;N[Z0>>0]=Z[T0>>2],j[T0>>1]=X3(W,X)|0,N[W0>>0]=(Z[$>>2]|0)==8?8:7,Z[$>>2]=9;break}case 58:{if(Z[F>>2]=Z[U>>2],(Z[H>>2]|0)==287)y0=R2(V,O)|0,Z[J>>2]=y0,k0=y0;else y0=z,O0=Z[y0>>2]|0,H0=Z[y0+4>>2]|0,y0=L,Z[y0>>2]=O0,Z[y0+4>>2]=H0,Z[H>>2]=287,k0=O0;if((k0|0)!=289){_0=41;break Z}if(O0=Z[O>>2]|0,Z[F>>2]=Z[U>>2],(Z[H>>2]|0)==287)Z[J>>2]=R2(V,O)|0;else H0=z,y0=Z[H0+4>>2]|0,F0=L,Z[F0>>2]=Z[H0>>2],Z[F0+4>>2]=y0,Z[H>>2]=287;y0=Z[Q>>2]|0,Z[X>>2]=O0,Z[m>>2]=(N[O0+4>>0]|64)&255,O0=w3(y0,X,X)|0,Z[I>>2]=-1,Z[u>>2]=-1,Z[Y>>2]=4,Z[g>>2]=O0,wL(W,$,Y),WS(V,$,S);break}case 123:case 290:case 40:{if(y7(W,$),((Z[$>>2]|0)==6?(O0=Z[P>>2]|0,(O0&256|0)==0):0)?(O0|0)>=(G[k>>0]|0|0):0)O0=(N[C>>0]|0)+-1<<24>>24,N[C>>0]=O0,m0=O0;else m0=N[C>>0]|0;if(O0=(m0&255)+1|0,y0=(Z[W>>2]|0)+78|0,(m0&255)<(G[y0>>0]|0))B0=O0&255;else{if((m0&255)>248){_0=54;break Z}F0=O0&255,N[y0>>0]=F0,B0=F0}N[C>>0]=B0,n5(W,$,(B0&255)+-1|0),WS(V,$,S);break}default:{_0=58;break Z}}if((_0|0)==17)c7(V,289);else if((_0|0)==32)c7(V,93);else if((_0|0)==41)c7(V,289);else if((_0|0)==54)$2(Z[W+12>>2]|0,47325);else if((_0|0)==58){q=T;return}}function $S(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0;switch($|0){case 26:{bY(V,T);return}case 27:{QS(V,T);return}case 19:{if(y7(V,T),((Z[T>>2]|0)==6?($=Z[T+4>>2]|0,($&256|0)==0):0)?($|0)>=(G[V+46>>0]|0|0):0)$=V+48|0,N[$>>0]=(N[$>>0]|0)+-1<<24>>24;$=V+48|0,X=N[$>>0]|0,Y=(X&255)+1|0,Q=(Z[V>>2]|0)+78|0;do if((X&255)>=(G[Q>>0]|0))if((X&255)>248)$2(Z[V+12>>2]|0,47325);else{W=Y&255,N[Q>>0]=W,U=W;break}else U=Y&255;while(0);N[$>>0]=U,n5(V,T,(U&255)+-1|0);return}case 18:case 17:case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:{if(((Z[T>>2]|0)==5?(Z[T+8>>2]|0)==-1:0)?(Z[T+12>>2]|0)==-1:0)return;X3(V,T)|0;return}default:{X3(V,T)|0;return}}}function TS(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0;switch($|0){case 26:{y7(V,X),Q=X+12|0,W=Z[T+12>>2]|0;do if((W|0)!=-1){if(U=Z[Q>>2]|0,(U|0)==-1){Z[Q>>2]=W;break}S=Z[(Z[V>>2]|0)+12>>2]|0,J=U;while(!0)if(_=S+(J<<2)|0,K=Z[_>>2]|0,U=(K>>>14)+-131071|0,P=(U|0)==-1?-1:J+1+U|0,(P|0)==-1)break;else J=P;if(S=W+~J|0,(((S|0)>-1?S:0-S|0)|0)>131071)$2(Z[V+12>>2]|0,46981);else{Z[_>>2]=(S<<14)+2147467264|K&16383;break}}while(0);Z[T>>2]=Z[X>>2],Z[T+4>>2]=Z[X+4>>2],Z[T+8>>2]=Z[X+8>>2],Z[T+12>>2]=Z[X+12>>2];return}case 27:{y7(V,X),K=X+8|0,_=Z[T+8>>2]|0;do if((_|0)!=-1){if(W=Z[K>>2]|0,(W|0)==-1){Z[K>>2]=_;break}Q=Z[(Z[V>>2]|0)+12>>2]|0,S=W;while(!0)if(O=Q+(S<<2)|0,L=Z[O>>2]|0,W=(L>>>14)+-131071|0,P=(W|0)==-1?-1:S+1+W|0,(P|0)==-1)break;else S=P;if(Q=_+~S|0,(((Q|0)>-1?Q:0-Q|0)|0)>131071)$2(Z[V+12>>2]|0,46981);else{Z[O>>2]=(Q<<14)+2147467264|L&16383;break}}while(0);Z[T>>2]=Z[X>>2],Z[T+4>>2]=Z[X+4>>2],Z[T+8>>2]=Z[X+8>>2],Z[T+12>>2]=Z[X+12>>2];return}case 19:{if((Z[X+8>>2]|0)==(Z[X+12>>2]|0))y7(V,X);else f9(V,X)|0;if((Z[X>>2]|0)==11?(L=Z[(Z[V>>2]|0)+12>>2]|0,O=X+4|0,_=L+(Z[O>>2]<<2)|0,K=Z[_>>2]|0,(K&63|0)==35):0){if(Q=T+4|0,((Z[T>>2]|0)==6?(J=Z[Q>>2]|0,(J&256|0)==0):0)?(J|0)>=(G[V+46>>0]|0|0):0)J=V+48|0,N[J>>0]=(N[J>>0]|0)+-1<<24>>24,J=L+(Z[O>>2]<<2)|0,F=Z[J>>2]|0,z=J;else F=K,z=_;Z[z>>2]=Z[Q>>2]<<23|F&8388607,Z[T>>2]=11,Z[Q>>2]=Z[O>>2];return}if(y7(V,X),((Z[X>>2]|0)==6?(O=Z[X+4>>2]|0,(O&256|0)==0):0)?(O|0)>=(G[V+46>>0]|0|0):0)O=V+48|0,N[O>>0]=(N[O>>0]|0)+-1<<24>>24;O=V+48|0,Q=N[O>>0]|0,F=(Q&255)+1|0,z=(Z[V>>2]|0)+78|0;do if((Q&255)>=(G[z>>0]|0))if((Q&255)>248)$2(Z[V+12>>2]|0,47325);else{_=F&255,N[z>>0]=_,H=_;break}else H=F&255;while(0);N[O>>0]=H,n5(V,X,(H&255)+-1|0),Q$(V,35,T,X,Y);return}case 18:case 17:case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:{Q$(V,$+13|0,T,X,Y);return}case 22:case 21:case 20:{YS(V,$+17|0,1,T,X);return}case 25:case 24:case 23:{YS(V,$+14|0,0,T,X);return}default:return}}function XS(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0;if(X=q,q=q+48|0,Y=X+24|0,Q=X,W=$+4|0,((Z[W>>2]|0)+-7|0)>>>0>=3)$2(V,57168);U=V+24|0;Z:do switch(Z[U>>2]|0){case 44:{if(Z[V+16>>2]=Z[V+4>>2],S=V+32|0,(Z[S>>2]|0)==287)Z[U>>2]=R2(V,V+28|0)|0;else J=S,_=Z[J+4>>2]|0,K=V+24|0,Z[K>>2]=Z[J>>2],Z[K+4>>2]=_,Z[S>>2]=287;if(Z[Q>>2]=$,S=Q+4|0,gW(V,S),_=Z[S>>2]|0,(_|0)!=9){S=Z[V+40>>2]|0,K=S+48|0,J=N[K>>0]|0,P=Q+8|0,O=J&255,L=(_|0)==7,F=0,z=$;while(!0){if((Z[z+4>>2]|0)==9){if(H=z+8|0,C=H+3|0,(_|0)==(G[C>>0]|0)?(A=H+2|0,(Z[P>>2]|0)==(G[A>>0]|0)):0)N[C>>0]=7,N[A>>0]=J,y=1;else y=F;if(L?(Z[P>>2]|0)==(j[H>>1]|0):0)j[H>>1]=O,k=1;else k=y}else k=F;if(z=Z[z>>2]|0,!z)break;else F=k}if(k|0){s2(S,(J&255)<<6|((_|0)==7?0:5)|Z[P>>2]<<23)|0,F=N[K>>0]|0,z=(F&255)+1|0,O=(Z[S>>2]|0)+78|0;do if((F&255)>=(G[O>>0]|0))if((F&255)>248)$2(Z[S+12>>2]|0,47325);else{L=z&255,N[O>>0]=L,m=L;break}else m=z&255;while(0);N[K>>0]=m}}if(((n[(Z[V+44>>2]|0)+38>>1]|0)+T|0)>200)JV(Z[V+40>>2]|0,200,47316);else{XS(V,Q,T+1|0),I=V+40|0;break Z}break}case 61:{if(z=V+4|0,O=V+16|0,Z[O>>2]=Z[z>>2],S=V+32|0,(Z[S>>2]|0)==287)Z[U>>2]=R2(V,V+28|0)|0;else F=S,P=Z[F+4>>2]|0,_=V+24|0,Z[_>>2]=Z[F>>2],Z[_+4>>2]=P,Z[S>>2]=287;u5(V,Y,0)|0;V:do if((Z[U>>2]|0)==44){P=V+28|0,_=V+40|0,F=V+24|0,J=Y+4|0,L=1;while(!0){if(Z[O>>2]=Z[z>>2],(Z[S>>2]|0)==287)Z[U>>2]=R2(V,P)|0;else H=S,A=Z[H+4>>2]|0,C=F,Z[C>>2]=Z[H>>2],Z[C+4>>2]=A,Z[S>>2]=287;if(u=Z[_>>2]|0,y7(u,Y),((Z[Y>>2]|0)==6?(A=Z[J>>2]|0,(A&256|0)==0):0)?(A|0)>=(G[u+46>>0]|0):0)A=u+48|0,N[A>>0]=(N[A>>0]|0)+-1<<24>>24;if(A=u+48|0,C=N[A>>0]|0,H=(C&255)+1|0,g=(Z[u>>2]|0)+78|0,(C&255)<(G[g>>0]|0))i=H&255;else{if((C&255)>248)break;C=H&255,N[g>>0]=C,i=C}if(N[A>>0]=i,n5(u,Y,(i&255)+-1|0),u5(V,Y,0)|0,A=L+1|0,(Z[U>>2]|0)==44)L=A;else{t=_,Y0=A;break V}}$2(Z[u+12>>2]|0,47325)}else t=V+40|0,Y0=1;while(0);if(S=Z[t>>2]|0,(Y0|0)!=(T|0)){if(rW(S,T,Y0,Y),(Y0|0)<=(T|0)){I=t;break Z}z=(Z[t>>2]|0)+48|0,N[z>>0]=T-Y0+(G[z>>0]|0),I=t;break Z}switch(Z[Y>>2]|0){case 12:{Z[Y>>2]=6,z=Y+4|0,Z[z>>2]=(Z[(Z[(Z[S>>2]|0)+12>>2]|0)+(Z[z>>2]<<2)>>2]|0)>>>6&255;break}case 13:{z=(Z[(Z[S>>2]|0)+12>>2]|0)+(Z[Y+4>>2]<<2)|0,Z[z>>2]=Z[z>>2]&8388607|16777216,Z[Y>>2]=11;break}default:}eY(S,W,Y),q=X;return}default:c7(V,61)}while(0);V=Z[I>>2]|0,I=(G[V+48>>0]|0)+-1|0,Z[Y+8>>2]=-1,Z[Y+12>>2]=-1,Z[Y>>2]=6,Z[Y+4>>2]=I,eY(V,W,Y),q=X;return}function Q$(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0;if(((((((Z[T>>2]|0)==5?(Z[T+8>>2]|0)==-1:0)?(Z[T+12>>2]|0)==-1:0)?(Z[X>>2]|0)==5:0)?(Z[X+8>>2]|0)==-1:0)?(Z[X+12>>2]|0)==-1:0)?(Q=Z[X+4>>2]|0,W=T+4|0,!(($|1|0)==17&(Q|0)==0)):0){Z[W>>2]=YR($+-13|0,Z[W>>2]|0,Q)|0;return}if(($|2|0)==34)U=0;else U=X3(V,X)|0;if(Q=X3(V,T)|0,(Q|0)>(U|0)){if(((Z[T>>2]|0)==6?(W=Z[T+4>>2]|0,(W&256|0)==0):0)?(W|0)>=(G[V+46>>0]|0|0):0)W=V+48|0,N[W>>0]=(N[W>>0]|0)+-1<<24>>24;if(((Z[X>>2]|0)==6?(W=Z[X+4>>2]|0,(W&256|0)==0):0)?(W|0)>=(G[V+46>>0]|0|0):0)W=V+48|0,N[W>>0]=(N[W>>0]|0)+-1<<24>>24}else{if(((Z[X>>2]|0)==6?(W=Z[X+4>>2]|0,(W&256|0)==0):0)?(W|0)>=(G[V+46>>0]|0|0):0)W=V+48|0,N[W>>0]=(N[W>>0]|0)+-1<<24>>24;if(((Z[T>>2]|0)==6?(W=Z[T+4>>2]|0,(W&256|0)==0):0)?(W|0)>=(G[V+46>>0]|0|0):0)W=V+48|0,N[W>>0]=(N[W>>0]|0)+-1<<24>>24}Z[T+4>>2]=s2(V,U<<14|$|Q<<23)|0,Z[T>>2]=11,Z[(Z[(Z[V>>2]|0)+20>>2]|0)+((Z[V+20>>2]|0)+-1<<2)>>2]=Y;return}function YS(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if(Q=X3(V,X)|0,W=X3(V,Y)|0,((Z[Y>>2]|0)==6?(U=Z[Y+4>>2]|0,(U&256|0)==0):0)?(U|0)>=(G[V+46>>0]|0|0):0)U=V+48|0,N[U>>0]=(N[U>>0]|0)+-1<<24>>24;if(((Z[X>>2]|0)==6?(U=Z[X+4>>2]|0,(U&256|0)==0):0)?(U|0)>=(G[V+46>>0]|0|0):0)U=V+48|0,N[U>>0]=(N[U>>0]|0)+-1<<24>>24;if(U=($|0)!=37&(T|0)==0,s2(V,(U?64:T<<6)|$|(U?W:Q)<<23|(U?Q:W)<<14)|0,W=V+28|0,Q=Z[W>>2]|0,Z[W>>2]=-1,W=s2(V,2147450916)|0,(Q|0)==-1){S=W,J=X+4|0,Z[J>>2]=S,Z[X>>2]=10;return}if((W|0)==-1){S=Q,J=X+4|0,Z[J>>2]=S,Z[X>>2]=10;return}U=Z[(Z[V>>2]|0)+12>>2]|0,$=W;while(!0)if(_=U+($<<2)|0,K=Z[_>>2]|0,T=(K>>>14)+-131071|0,Y=(T|0)==-1?-1:$+1+T|0,(Y|0)==-1)break;else $=Y;if(U=Q+~$|0,(((U|0)>-1?U:0-U|0)|0)>131071)$2(Z[V+12>>2]|0,46981);Z[_>>2]=(U<<14)+2147467264|K&16383,S=W,J=X+4|0,Z[J>>2]=S,Z[X>>2]=10;return}function QS(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0;y7(V,$),T=Z[$>>2]|0;Z:do switch(T|0){case 10:{X=Z[$+4>>2]|0,Y=29;break}case 3:case 1:break;case 11:{if(Q=Z[V>>2]|0,W=$+4|0,U=Z[(Z[Q+12>>2]|0)+(Z[W>>2]<<2)>>2]|0,S=V+20|0,(U&63|0)==33)if(Z[S>>2]=(Z[S>>2]|0)+-1,s2(V,U>>>23<<6|40)|0,U=V+28|0,S=Z[U>>2]|0,Z[U>>2]=-1,U=s2(V,2147450916)|0,(S|0)!=-1)if((U|0)!=-1){J=Z[(Z[V>>2]|0)+12>>2]|0,_=U;while(!0)if(K=J+(_<<2)|0,P=Z[K>>2]|0,O=(P>>>14)+-131071|0,L=(O|0)==-1?-1:_+1+O|0,(L|0)==-1)break;else _=L;if(J=S+~_|0,(((J|0)>-1?J:0-J|0)|0)>131071)$2(Z[V+12>>2]|0,46981);else{Z[K>>2]=(J<<14)+2147467264|P&16383,X=U,Y=29;break Z}}else F=S,Y=30;else X=U,Y=29;else z=Q,H=W,Y=13;break}default:if(J=$+4|0,(T|0)==6)C=J,Y=19;else z=Z[V>>2]|0,H=J,Y=13}while(0);if((Y|0)==13){T=V+48|0,P=N[T>>0]|0,K=(P&255)+1|0,J=z+78|0;do if((P&255)>=(G[J>>0]|0))if((P&255)>248)$2(Z[V+12>>2]|0,47325);else{z=K&255,N[J>>0]=z,A=z;break}else A=K&255;while(0);if(N[T>>0]=A,aY(V,$,(A&255)+-1|0),(Z[$>>2]|0)==6)C=H,Y=19;else y=H,Y=22}if((Y|0)==19)if(H=Z[$+4>>2]|0,(H&256|0)==0?(H|0)>=(G[V+46>>0]|0|0):0)H=V+48|0,N[H>>0]=(N[H>>0]|0)+-1<<24>>24,y=C,Y=22;else y=C,Y=22;do if((Y|0)==22)if(s2(V,Z[y>>2]<<23|32745)|0,C=V+28|0,H=Z[C>>2]|0,Z[C>>2]=-1,C=s2(V,2147450916)|0,(H|0)!=-1)if((C|0)!=-1){A=Z[(Z[V>>2]|0)+12>>2]|0,T=C;while(!0)if(k=A+(T<<2)|0,m=Z[k>>2]|0,K=(m>>>14)+-131071|0,J=(K|0)==-1?-1:T+1+K|0,(J|0)==-1)break;else T=J;if(A=H+~T|0,(((A|0)>-1?A:0-A|0)|0)>131071)$2(Z[V+12>>2]|0,46981);else{Z[k>>2]=(A<<14)+2147467264|m&16383,X=C,Y=29;break}}else F=H,Y=30;else X=C,Y=29;while(0);if((Y|0)==29?(X|0)!=-1:0)F=X,Y=30;do if((Y|0)==30){if(X=$+8|0,m=Z[X>>2]|0,(m|0)==-1){Z[X>>2]=F;break}X=Z[(Z[V>>2]|0)+12>>2]|0,k=m;while(!0)if(I=X+(k<<2)|0,u=Z[I>>2]|0,m=(u>>>14)+-131071|0,y=(m|0)==-1?-1:k+1+m|0,(y|0)==-1)break;else k=y;if(X=F+~k|0,(((X|0)>-1?X:0-X|0)|0)>131071)$2(Z[V+12>>2]|0,46981);else{Z[I>>2]=(X<<14)+2147467264|u&16383;break}}while(0);if(u=$+12|0,$=Z[u>>2]|0,Z[V+24>>2]=Z[V+20>>2],I=V+28|0,($|0)==-1){Z[u>>2]=-1;return}if(F=Z[I>>2]|0,(F|0)==-1){Z[I>>2]=$,Z[u>>2]=-1;return}I=Z[(Z[V>>2]|0)+12>>2]|0,Y=F;while(!0)if(g=I+(Y<<2)|0,i=Z[g>>2]|0,F=(i>>>14)+-131071|0,X=(F|0)==-1?-1:Y+1+F|0,(X|0)==-1)break;else Y=X;if(I=$+~Y|0,(((I|0)>-1?I:0-I|0)|0)>131071)$2(Z[V+12>>2]|0,46981);Z[g>>2]=(I<<14)+2147467264|i&16383,Z[u>>2]=-1;return}function aY(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;X=q,q=q+16|0,Y=X+8|0,Q=X,y7(V,$),W=Z[$>>2]|0;Z:do switch(W|0){case 1:{U=T+1|0,S=Z[V+20>>2]|0;do if((S|0)>(Z[V+24>>2]|0)?(J=(Z[(Z[V>>2]|0)+12>>2]|0)+(S+-1<<2)|0,_=Z[J>>2]|0,(_&63|0)==4):0){if(K=_>>>6&255,P=K+(_>>>23)|0,(K|0)>(T|0)|(P+1|0)<(T|0)?(K|0)<(T|0)|(K|0)>(U|0):0)break;O=(K|0)<(T|0)?K:T,Z[J>>2]=O<<6&16320|_&8372287|((P|0)>(T|0)?P:T)-O<<23;break Z}while(0);s2(V,T<<6|4)|0;break}case 2:case 3:{s2(V,T<<6|((W|0)==2&1)<<23|3)|0;break}case 4:{if(U=Z[$+4>>2]|0,S=T<<6,(U|0)<262144){s2(V,S|U<<14|1)|0;break Z}else{s2(V,S|2)|0,s2(V,U<<6|52)|0;break Z}break}case 5:{if(U=Z[$+4>>2]|0,Z[Y>>2]=U,S=Z[(Z[V+12>>2]|0)+44>>2]|0,Z[Q>>2]=U,Z[Q+4>>2]=3,!U)U=S+8|0,O=Z[U>>2]|0,Z[U>>2]=O+8,P=P7(S,Y,4)|0,Z[O>>2]=P,Z[O+4>>2]=(N[P+4>>0]|64)&255,P=w3(V,(Z[U>>2]|0)+-8|0,Q)|0,Z[U>>2]=(Z[U>>2]|0)+-8,L=P;else L=w3(V,Q,Q)|0;if(P=T<<6,(L|0)<262144){s2(V,P|L<<14|1)|0;break Z}else{s2(V,P|2)|0,s2(V,L<<6|52)|0;break Z}break}case 11:{P=(Z[(Z[V>>2]|0)+12>>2]|0)+(Z[$+4>>2]<<2)|0,Z[P>>2]=Z[P>>2]&-16321|T<<6&16320;break}case 6:{if(P=Z[$+4>>2]|0,(P|0)!=(T|0))s2(V,P<<23|T<<6)|0;break}default:{q=X;return}}while(0);Z[$+4>>2]=T,Z[$>>2]=6,q=X;return}function wL(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0;if(f9(V,$)|0,X=$+4|0,Y=Z[X>>2]|0,(Z[$>>2]|0)==6&(Y&256|0)==0?(Y|0)>=(G[V+46>>0]|0|0):0)Q=V+48|0,N[Q>>0]=(N[Q>>0]|0)+-1<<24>>24;Q=V+48|0,Z[X>>2]=G[Q>>0],Z[$>>2]=6,$=(G[Q>>0]|0)+2|0,W=(Z[V>>2]|0)+78|0;do if($>>>0>(G[W>>0]|0)>>>0)if($>>>0>249)$2(Z[V+12>>2]|0,47325);else{U=$&255,N[W>>0]=U,S=U;break}else S=$&255;while(0);if(N[Q>>0]=S,S=Z[X>>2]|0,s2(V,Y<<23|S<<6|(X3(V,T)|0)<<14|12)|0,(Z[T>>2]|0)!=6)return;if(S=Z[T+4>>2]|0,S&256|0)return;if((S|0)<(G[V+46>>0]|0|0))return;N[Q>>0]=(N[Q>>0]|0)+-1<<24>>24;return}function WS(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0;X=q,q=q+32|0,Y=X+16|0,Q=X,W=V+40|0,U=Z[W>>2]|0,S=V+24|0;Z:do switch(Z[S>>2]|0){case 40:{if(J=V+4|0,_=V+16|0,Z[_>>2]=Z[J>>2],K=V+32|0,(Z[K>>2]|0)==287)P=R2(V,V+28|0)|0,Z[S>>2]=P,O=P;else P=K,L=Z[P>>2]|0,F=Z[P+4>>2]|0,P=V+24|0,Z[P>>2]=L,Z[P+4>>2]=F,Z[K>>2]=287,O=L;V:do if((O|0)==41)Z[Q>>2]=0;else{u5(V,Q,0)|0;$:do if((Z[S>>2]|0)==44){L=V+28|0,F=V+24|0,P=Q+4|0;while(!0){if(Z[_>>2]=Z[J>>2],(Z[K>>2]|0)==287)Z[S>>2]=R2(V,L)|0;else z=K,H=Z[z+4>>2]|0,C=F,Z[C>>2]=Z[z>>2],Z[C+4>>2]=H,Z[K>>2]=287;if(A=Z[W>>2]|0,y7(A,Q),((Z[Q>>2]|0)==6?(H=Z[P>>2]|0,(H&256|0)==0):0)?(H|0)>=(G[A+46>>0]|0|0):0)H=A+48|0,N[H>>0]=(N[H>>0]|0)+-1<<24>>24;if(H=A+48|0,C=N[H>>0]|0,z=(C&255)+1|0,y=(Z[A>>2]|0)+78|0,(C&255)<(G[y>>0]|0))k=z&255;else{if((C&255)>248)break;C=z&255,N[y>>0]=C,k=C}if(N[H>>0]=k,n5(A,Q,(k&255)+-1|0),u5(V,Q,0)|0,(Z[S>>2]|0)!=44){m=Q;break $}}$2(Z[A+12>>2]|0,47325)}else m=Q;while(0);switch(Z[m>>2]|0){case 12:{P=(Z[(Z[U>>2]|0)+12>>2]|0)+(Z[Q+4>>2]<<2)|0,Z[P>>2]=Z[P>>2]&-8372225;break V}case 13:break;default:break V}P=Z[U>>2]|0,F=Z[P+12>>2]|0,L=Q+4|0,H=F+(Z[L>>2]<<2)|0,Z[H>>2]=Z[H>>2]&8388607,H=F+(Z[L>>2]<<2)|0,L=U+48|0,F=N[L>>0]|0,C=F&255,Z[H>>2]=C<<6|Z[H>>2]&-16321,H=C+1|0,C=P+78|0;do if((F&255)>=(G[C>>0]|0))if((F&255)>248)$2(Z[U+12>>2]|0,47325);else{P=H&255,N[C>>0]=P,I=P;break}else I=H&255;while(0);N[L>>0]=I}while(0);w4(V,41,40,T);break}case 123:{NS(V,Q);break}case 290:{if(K=V+28|0,J=Z[K>>2]|0,Z[Y>>2]=J,Z[Y+4>>2]=(N[J+4>>0]|64)&255,J=w3(U,Y,Y)|0,Z[Q+8>>2]=-1,Z[Q+12>>2]=-1,Z[Q>>2]=4,Z[Q+4>>2]=J,Z[V+16>>2]=Z[V+4>>2],J=V+32|0,(Z[J>>2]|0)==287){Z[S>>2]=R2(V,K)|0;break Z}else{K=J,_=Z[K+4>>2]|0,H=V+24|0,Z[H>>2]=Z[K>>2],Z[H+4>>2]=_,Z[J>>2]=287;break Z}break}default:$2(V,47538)}while(0);switch(V=$+4|0,S=Z[V>>2]|0,Z[Q>>2]|0){case 0:{u=U+48|0;break}case 13:case 12:{g=0,i=S<<6,t=i|g,Y0=t|32810,X0=s2(U,Y0)|0,T0=$+8|0,Z[T0>>2]=-1,Z0=$+12|0,Z[Z0>>2]=-1,Z[$>>2]=12,Z[V>>2]=X0,W0=Z[U>>2]|0,O0=W0+20|0,y0=Z[O0>>2]|0,E0=U+20|0,H0=Z[E0>>2]|0,D0=H0+-1|0,_0=y0+(D0<<2)|0,Z[_0>>2]=T,F0=S+1|0,k0=F0&255,m0=U+48|0,N[m0>>0]=k0,q=X;return}default:{if(y7(U,Q),((Z[Q>>2]|0)==6?(Y=Z[Q+4>>2]|0,(Y&256|0)==0):0)?(Y|0)>=(G[U+46>>0]|0|0):0)Y=U+48|0,N[Y>>0]=(N[Y>>0]|0)+-1<<24>>24;Y=U+48|0,I=N[Y>>0]|0,m=(I&255)+1|0,A=(Z[U>>2]|0)+78|0;do if((I&255)>=(G[A>>0]|0))if((I&255)>248)$2(Z[U+12>>2]|0,47325);else{k=m&255,N[A>>0]=k,B0=k;break}else B0=m&255;while(0);N[Y>>0]=B0,n5(U,Q,(B0&255)+-1|0),u=Y}}g=((S^511)+(G[u>>0]|0)<<23)+8388608|0,i=S<<6,t=i|g,Y0=t|32810,X0=s2(U,Y0)|0,T0=$+8|0,Z[T0>>2]=-1,Z0=$+12|0,Z[Z0>>2]=-1,Z[$>>2]=12,Z[V>>2]=X0,W0=Z[U>>2]|0,O0=W0+20|0,y0=Z[O0>>2]|0,E0=U+20|0,H0=Z[E0>>2]|0,D0=H0+-1|0,_0=y0+(D0<<2)|0,Z[_0>>2]=T,F0=S+1|0,k0=F0&255,m0=U+48|0,N[m0>>0]=k0,q=X;return}function NS(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0;if(T=q,q=q+32|0,X=T,Y=V+40|0,Q=Z[Y>>2]|0,W=V+4|0,U=Z[W>>2]|0,S=s2(Q,11)|0,J=X+28|0,Z[J>>2]=0,_=X+20|0,Z[_>>2]=0,K=X+24|0,Z[K>>2]=0,P=X+16|0,Z[P>>2]=$,Z[$+8>>2]=-1,Z[$+12>>2]=-1,Z[$>>2]=11,O=$+4|0,Z[O>>2]=S,Z[X+8>>2]=-1,Z[X+12>>2]=-1,Z[X>>2]=0,L=X+4|0,Z[L>>2]=0,F=Z[Y>>2]|0,y7(F,$),((Z[$>>2]|0)==6?(z=Z[O>>2]|0,(z&256|0)==0):0)?(z|0)>=(G[F+46>>0]|0|0):0)z=F+48|0,N[z>>0]=(N[z>>0]|0)+-1<<24>>24;z=F+48|0,O=N[z>>0]|0,H=(O&255)+1|0,C=(Z[F>>2]|0)+78|0;do if((O&255)>=(G[C>>0]|0))if((O&255)>248)$2(Z[F+12>>2]|0,47325);else{A=H&255,N[C>>0]=A,y=A;break}else y=H&255;while(0);if(N[z>>0]=y,n5(F,$,(y&255)+-1|0),y=V+24|0,(Z[y>>2]|0)!=123)c7(V,123);if($=V+16|0,Z[$>>2]=Z[W>>2],F=V+32|0,(Z[F>>2]|0)==287)z=R2(V,V+28|0)|0,Z[y>>2]=z,k=z;else z=F,H=Z[z>>2]|0,C=Z[z+4>>2]|0,z=V+24|0,Z[z>>2]=H,Z[z+4>>2]=C,Z[F>>2]=287,k=H;Z:do if((k|0)!=125){H=V+36|0,C=V+32|0,z=Q+48|0,O=Q+46|0,A=V+28|0,m=V+24|0,I=0;V:while(!0){if(I|0){if(y7(Q,X),((Z[X>>2]|0)==6?(u=Z[L>>2]|0,(u&256|0)==0):0)?(u|0)>=(G[O>>0]|0|0):0)u=(N[z>>0]|0)+-1<<24>>24,N[z>>0]=u,g=u;else g=N[z>>0]|0;if(u=(g&255)+1|0,i=(Z[Q>>2]|0)+78|0,(g&255)<(G[i>>0]|0))t=u&255;else{if((g&255)>248){Y0=28;break}X0=u&255,N[i>>0]=X0,t=X0}if(N[z>>0]=t,n5(Q,X,(t&255)+-1|0),Z[X>>2]=0,(Z[J>>2]|0)==50){if(X0=Z[(Z[P>>2]|0)+4>>2]|0,i=Z[K>>2]|0,u=((i+-1|0)/50|0)+1|0,T0=X0<<6|419430449,(i|0)<25551)s2(Q,u<<14|T0)|0;else s2(Q,T0)|0,s2(Q,u<<6|52)|0;N[z>>0]=X0+1,Z[J>>2]=0}}$:do switch(Z[y>>2]|0){case 289:{if(X0=R2(V,H)|0,Z[C>>2]=X0,(X0|0)==61){US(V,X);break $}if(u5(V,X,0)|0,X0=Z[K>>2]|0,(X0|0)>2147483645){Y0=38;break V}Z[K>>2]=X0+1,Z[J>>2]=(Z[J>>2]|0)+1;break}case 91:{US(V,X);break}default:{if(u5(V,X,0)|0,X0=Z[K>>2]|0,(X0|0)>2147483645){Y0=43;break V}Z[K>>2]=X0+1,Z[J>>2]=(Z[J>>2]|0)+1}}while(0);$:do switch(Z[y>>2]|0){case 44:{if(Z[$>>2]=Z[W>>2],(Z[F>>2]|0)==287){X0=R2(V,A)|0,Z[y>>2]=X0,Z0=X0;break $}else{X0=F,u=Z[X0>>2]|0,T0=Z[X0+4>>2]|0,X0=m,Z[X0>>2]=u,Z[X0+4>>2]=T0,Z[F>>2]=287,Z0=u;break $}break}case 59:{if(Z[$>>2]=Z[W>>2],(Z[F>>2]|0)==287){u=R2(V,A)|0,Z[y>>2]=u,Z0=u;break $}else{u=F,T0=Z[u>>2]|0,X0=Z[u+4>>2]|0,u=m,Z[u>>2]=T0,Z[u+4>>2]=X0,Z[F>>2]=287,Z0=T0;break $}break}default:break Z}while(0);if((Z0|0)==125)break Z;I=Z[X>>2]|0}if((Y0|0)==28)$2(Z[Q+12>>2]|0,47325);else if((Y0|0)==38)JV(Z[Y>>2]|0,2147483645,47566);else if((Y0|0)==43)JV(Z[Y>>2]|0,2147483645,47566)}while(0);w4(V,125,123,U),U=Z[J>>2]|0;do if(U|0){switch(Z[X>>2]|0){case 0:{W0=U,Y0=75;break}case 12:{V=(Z[(Z[Q>>2]|0)+12>>2]|0)+(Z[L>>2]<<2)|0,Z[V>>2]=Z[V>>2]&-8372225,Y0=61;break}case 13:{V=Z[Q>>2]|0,Y=Z[V+12>>2]|0,Z0=Y+(Z[L>>2]<<2)|0,Z[Z0>>2]=Z[Z0>>2]&8388607,Z0=Y+(Z[L>>2]<<2)|0,Y=Q+48|0,F=N[Y>>0]|0,y=F&255,Z[Z0>>2]=y<<6|Z[Z0>>2]&-16321,Z0=y+1|0,y=V+78|0;do if((F&255)>=(G[y>>0]|0))if((F&255)>248)$2(Z[Q+12>>2]|0,47325);else{V=Z0&255,N[y>>0]=V,O0=V;break}else O0=Z0&255;while(0);N[Y>>0]=O0,Y0=61;break}default:{if(y7(Q,X),((Z[X>>2]|0)==6?(Z0=Z[L>>2]|0,(Z0&256|0)==0):0)?(Z0|0)>=(G[Q+46>>0]|0|0):0)Z0=Q+48|0,N[Z0>>0]=(N[Z0>>0]|0)+-1<<24>>24;Z0=Q+48|0,y=N[Z0>>0]|0,F=(y&255)+1|0,V=(Z[Q>>2]|0)+78|0;do if((y&255)>=(G[V>>0]|0))if((y&255)>248)$2(Z[Q+12>>2]|0,47325);else{W=F&255,N[V>>0]=W,y0=W;break}else y0=F&255;while(0);N[Z0>>0]=y0,n5(Q,X,(y0&255)+-1|0),W0=Z[J>>2]|0,Y0=75}}if((Y0|0)==61){if(F=Z[(Z[P>>2]|0)+4>>2]|0,V=Z[K>>2]|0,y=((V+-1|0)/50|0)+1|0,Y=F<<6|49,(V|0)<25551)s2(Q,y<<14|Y)|0;else s2(Q,Y)|0,s2(Q,y<<6|52)|0;N[Q+48>>0]=F+1,Z[K>>2]=(Z[K>>2]|0)+-1;break}else if((Y0|0)==75){if(F=Z[(Z[P>>2]|0)+4>>2]|0,y=Z[K>>2]|0,Y=((y+-1|0)/50|0)+1|0,V=((W0|0)==-1?49:W0<<23|49)|F<<6,(y|0)<25551)s2(Q,Y<<14|V)|0;else s2(Q,V)|0,s2(Q,Y<<6|52)|0;N[Q+48>>0]=F+1;break}}while(0);if(W0=(Z[(Z[Q>>2]|0)+12>>2]|0)+(S<<2)|0,S=Z[W0>>2]&8388607,Q=Z[K>>2]|0,Q>>>0<8)E0=Q;else{if(Q>>>0>15){K=1,P=Q;do Y0=P+1|0,P=Y0>>>1,K=K+1|0;while(Y0>>>0>31);H0=K<<3,D0=P}else H0=8,D0=Q;E0=H0|D0+-8}if(D0=E0<<23|S,Z[W0>>2]=D0,S=D0&-8372225,D0=Z[_>>2]|0,D0>>>0<8){_0=D0,F0=_0<<14,k0=F0&8372224,m0=k0|S,Z[W0>>2]=m0,q=T;return}if(D0>>>0>15){_=1,E0=D0;do H0=E0+1|0,E0=H0>>>1,_=_+1|0;while(H0>>>0>31);B0=_<<3,g0=E0}else B0=8,g0=D0;_0=B0|g0+-8,F0=_0<<14,k0=F0&8372224,m0=k0|S,Z[W0>>2]=m0,q=T;return}function US(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0;T=q,q=q+48|0,X=T+32|0,Y=T+16|0,Q=T,W=V+40|0,U=Z[W>>2]|0,S=U+48|0,J=N[S>>0]|0,_=V+24|0;do if((Z[_>>2]|0)!=289){if(K=V+4|0,P=V+16|0,Z[P>>2]=Z[K>>2],O=V+32|0,(Z[O>>2]|0)==287)Z[_>>2]=R2(V,V+28|0)|0;else L=O,F=Z[L+4>>2]|0,z=V+24|0,Z[z>>2]=Z[L>>2],Z[z+4>>2]=F,Z[O>>2]=287;if(u5(V,Y,0)|0,F=Z[W>>2]|0,(Z[Y+8>>2]|0)==(Z[Y+12>>2]|0))y7(F,Y);else f9(F,Y)|0;if((Z[_>>2]|0)!=93)c7(V,93);if(Z[P>>2]=Z[K>>2],(Z[O>>2]|0)==287){K=R2(V,V+28|0)|0,Z[_>>2]=K,H=K;break}else{K=O,P=Z[K>>2]|0,F=Z[K+4>>2]|0,K=V+24|0,Z[K>>2]=P,Z[K+4>>2]=F,Z[O>>2]=287,H=P;break}}else{if((Z[$+20>>2]|0)>2147483645)JV(U,2147483645,47566);if(P=V+28|0,O=Z[P>>2]|0,Z[V+16>>2]=Z[V+4>>2],F=V+32|0,(Z[F>>2]|0)==287)Z[_>>2]=R2(V,P)|0,C=Z[W>>2]|0;else P=F,K=Z[P+4>>2]|0,z=V+24|0,Z[z>>2]=Z[P>>2],Z[z+4>>2]=K,Z[F>>2]=287,C=U;Z[X>>2]=O,Z[X+4>>2]=(N[O+4>>0]|64)&255,O=w3(C,X,X)|0,Z[Y+8>>2]=-1,Z[Y+12>>2]=-1,Z[Y>>2]=4,Z[Y+4>>2]=O,H=Z[_>>2]|0}while(0);if(X=$+20|0,Z[X>>2]=(Z[X>>2]|0)+1,(H|0)!=61)c7(V,61);if(Z[V+16>>2]=Z[V+4>>2],H=V+32|0,(Z[H>>2]|0)==287){Z[_>>2]=R2(V,V+28|0)|0,A=X3(U,Y)|0,u5(V,Q,0)|0,y=$+16|0,k=Z[y>>2]|0,m=k+4|0,I=Z[m>>2]|0,u=X3(U,Q)|0,g=I<<6,i=A<<23,t=u<<14,Y0=i|g,X0=Y0|t,T0=X0|10,s2(U,T0)|0,N[S>>0]=J,q=T;return}else{_=H,X=Z[_+4>>2]|0,C=V+24|0,Z[C>>2]=Z[_>>2],Z[C+4>>2]=X,Z[H>>2]=287,A=X3(U,Y)|0,u5(V,Q,0)|0,y=$+16|0,k=Z[y>>2]|0,m=k+4|0,I=Z[m>>2]|0,u=X3(U,Q)|0,g=I<<6,i=A<<23,t=u<<14,Y0=i|g,X0=Y0|t,T0=X0|10,s2(U,T0)|0,N[S>>0]=J,q=T;return}}function IL(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0;switch(Y=q,q=q+16|0,Q=Y,Z[Q+12>>2]=-1,Z[Q+8>>2]=-1,Z[Q>>2]=5,Z[Q+4>>2]=0,$|0){case 0:{if(((Z[T>>2]|0)==5?(Z[T+8>>2]|0)==-1:0)?(Z[T+12>>2]|0)==-1:0){$=T+4|0,Z[$>>2]=0-(Z[$>>2]|0),q=Y;return}f9(V,T)|0,Q$(V,32,T,Q,X),q=Y;return}case 14:{f9(V,T)|0,Q$(V,27,T,Q,X),q=Y;return}case 16:{f9(V,T)|0,Q$(V,29,T,Q,X),q=Y;return}case 17:{f9(V,T)|0,Q$(V,30,T,Q,X),q=Y;return}case 18:{f9(V,T)|0,Q$(V,31,T,Q,X),q=Y;return}case 1:{switch(y7(V,T),Z[T>>2]|0){case 3:case 1:{Z[T>>2]=2;break}case 2:case 5:case 4:{Z[T>>2]=3;break}case 10:{if($=Z[T+4>>2]|0,W=(Z[(Z[V>>2]|0)+12>>2]|0)+($<<2)|0,($|0)>0?($=W+-4|0,U=Z[$>>2]|0,((U&63)+-37|0)>>>0<5):0)S=U,J=$;else S=Z[W>>2]|0,J=W;Z[J>>2]=((S&16320|0)==0&1)<<6|S&-16321;break}case 6:{_=25;break}case 11:{S=V+48|0,J=N[S>>0]|0,W=(J&255)+1|0,$=(Z[V>>2]|0)+78|0;do if((J&255)>=(G[$>>0]|0))if((J&255)>248)$2(Z[V+12>>2]|0,47325);else{U=W&255,N[$>>0]=U,K=U;break}else K=W&255;while(0);if(N[S>>0]=K,aY(V,T,(K&255)+-1|0),(Z[T>>2]|0)==6)_=25;else P=T+4|0,_=28;break}default:}if((_|0)==25)if(K=T+4|0,S=Z[K>>2]|0,(S&256|0)==0?(S|0)>=(G[V+46>>0]|0|0):0)S=V+48|0,N[S>>0]=(N[S>>0]|0)+-1<<24>>24,P=K,_=28;else P=K,_=28;if((_|0)==28)Z[P>>2]=s2(V,Z[P>>2]<<23|33)|0,Z[T>>2]=11;if(P=T+12|0,_=Z[P>>2]|0,K=T+8|0,S=Z[K>>2]|0,Z[P>>2]=S,Z[K>>2]=_,(S|0)==-1)O=_;else{_=Z[(Z[V>>2]|0)+12>>2]|0,P=S;do{if(S=_+(P<<2)|0,(P|0)>0?(W=S+-4|0,$=Z[W>>2]|0,(($&63)+-37|0)>>>0<5):0)L=$,F=W;else L=Z[S>>2]|0,F=S;if((L&63|0)==41)Z[F>>2]=L&8372224|L>>>23<<6|40;W=((Z[S>>2]|0)>>>14)+-131071|0,P=(W|0)==-1?-1:P+1+W|0}while((P|0)!=-1);O=Z[K>>2]|0}if((O|0)==-1){q=Y;return}K=Z[(Z[V>>2]|0)+12>>2]|0,P=O;do{if(O=K+(P<<2)|0,(P|0)>0?(L=O+-4|0,F=Z[L>>2]|0,((F&63)+-37|0)>>>0<5):0)z=F,H=L;else z=Z[O>>2]|0,H=O;if((z&63|0)==41)Z[H>>2]=z&8372224|z>>>23<<6|40;L=((Z[O>>2]|0)>>>14)+-131071|0,P=(L|0)==-1?-1:P+1+L|0}while((P|0)!=-1);q=Y;return}case 2:{f9(V,T)|0,Q$(V,34,T,Q,X),q=Y;return}default:{q=Y;return}}}function iW(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0;if(!V)return Y=0,Y|0;Q=N[V+46>>0]|0,W=$+12|0,U=(Q&255)+-1|0,S=Z[V>>2]|0;Z:do if(Q<<24>>24){J=Z[V+40>>2]|0,_=Z[S+24>>2]|0,K=Z[Z[(Z[V+12>>2]|0)+56>>2]>>2]|0,P=N[$+4>>0]|0,O=$+16|0;V:do if(P<<24>>24==4){L=U;while(!0){if(F=Z[_+((j[K+(L+J<<1)>>1]|0)*12|0)>>2]|0,(F|0)==($|0)&(N[F+4>>0]|0)==4){z=L;break V}if((L|0)>0)L=L+-1|0;else break Z}}else{L=U;while(!0){if(F=Z[_+((j[K+(L+J<<1)>>1]|0)*12|0)>>2]|0,P<<24>>24==(N[F+4>>0]|0)){if(H=Z[W>>2]|0,(F|0)==($|0)){z=L;break V}if((H|0)==(Z[F+12>>2]|0)?(q3(O,F+16|0,H)|0)==0:0){z=L;break V}}if((L|0)>0)L=L+-1|0;else break Z}}while(0);if((z|0)>-1){if(Z[T+8>>2]=-1,Z[T+12>>2]=-1,Z[T>>2]=7,Z[T+4>>2]=z,X|0)return Y=7,Y|0;O=V+16|0;do O=Z[O>>2]|0;while((z|0)<(G[O+8>>0]|0));return N[O+9>>0]=1,Y=7,Y|0}}while(0);z=Z[S+28>>2]|0,S=N[V+47>>0]|0;Z:do if(!(S<<24>>24))C=29;else{if(X=N[$+4>>0]|0,U=$+16|0,Q=S&255,X<<24>>24==4){P=0;while(!0){if(J=Z[z+(P<<3)>>2]|0,(N[J+4>>0]|0)==4&(J|0)==($|0)){A=P;break Z}if(P=P+1|0,P>>>0>=Q>>>0){C=29;break Z}}}P=0;while(!0){if(O=Z[z+(P<<3)>>2]|0,(N[O+4>>0]|0)==X<<24>>24){if(J=Z[O+12>>2]|0,(O|0)==($|0)){A=P;break Z}if((J|0)==(Z[W>>2]|0)?(q3(O+16|0,U,J)|0)==0:0){A=P;break Z}}if(P=P+1|0,P>>>0>=Q>>>0){C=29;break}}}while(0);do if((C|0)==29)if(!(iW(Z[V+8>>2]|0,$,T,0)|0))return Y=0,Y|0;else{A=eS(V,$,T)|0;break}while(0);return Z[T+8>>2]=-1,Z[T+12>>2]=-1,Z[T>>2]=8,Z[T+4>>2]=A,Y=8,Y|0}function bX(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if($=q,q=q+16|0,T=$,X=Z[V>>2]|0,Y=V+48|0,Q=Z[Y>>2]|0,W=Z[Q>>2]|0,Z[Q>>2]=W+-1,!W){if(W=y8[Z[Q+8>>2]&7](Z[Q+16>>2]|0,Z[Q+12>>2]|0,T)|0,U=Z[T>>2]|0,(W|0)==0|(U|0)==0)S=-1;else Z[Q>>2]=U+-1,Z[Q+4>>2]=W+1,S=G[W>>0]|0;J=S}else S=Q+4|0,Q=Z[S>>2]|0,Z[S>>2]=Q+1,J=G[Q>>0]|0;switch(Z[V>>2]=J,J|0){case 13:case 10:{if((J|0)!=(X|0)){if(X=Z[Y>>2]|0,Y=Z[X>>2]|0,Z[X>>2]=Y+-1,!Y){if(Y=y8[Z[X+8>>2]&7](Z[X+16>>2]|0,Z[X+12>>2]|0,T)|0,J=Z[T>>2]|0,(Y|0)==0|(J|0)==0)_=-1;else Z[X>>2]=J+-1,Z[X+4>>2]=Y+1,_=G[Y>>0]|0;K=_}else _=X+4|0,X=Z[_>>2]|0,Z[_>>2]=X+1,K=G[X>>0]|0;Z[V>>2]=K}break}default:}if(K=V+4|0,X=Z[K>>2]|0,Z[K>>2]=X+1,(X|0)>2147483643)$2(V,48010);else{Z[V+8>>2]=1,q=$;return}}function tW(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0;if($=q,q=q+16|0,T=$,X=Z[V>>2]|0,Y=V+52|0,Q=Z[Y>>2]|0,W=Q+4|0,U=Z[W>>2]|0,S=U+1|0,J=Q+8|0,_=Z[J>>2]|0,S>>>0>_>>>0){if(_>>>0>2147483645)O5(V,47209,0);if(K=_<<1,P=Z[V+44>>2]|0,(K|0)==-2)x1(P);if(O=Z[Q>>2]|0,L=Z[P+12>>2]|0,F=(O|0)==0,z=L+4|0,H=r6[Z[L>>2]&3](Z[z>>2]|0,O,_,K)|0,(K|0)!=0&(H|0)==0){if(!(N[L+51>>0]|0))Z8(P,4);if(M2(P,1),C=r6[Z[L>>2]&3](Z[z>>2]|0,O,_,K)|0,!C)Z8(P,4);else A=C}else A=H;H=L+12|0,Z[H>>2]=(F?0:0-_|0)+K+(Z[H>>2]|0),Z[Q>>2]=A,Z[J>>2]=K,K=Z[W>>2]|0,y=A,k=K,m=K+1|0}else y=Z[Q>>2]|0,k=U,m=S;if(Z[W>>2]=m,N[y+k>>0]=X,k=V+48|0,y=Z[k>>2]|0,m=Z[y>>2]|0,Z[y>>2]=m+-1,!m){if(m=y8[Z[y+8>>2]&7](Z[y+16>>2]|0,Z[y+12>>2]|0,T)|0,W=Z[T>>2]|0,(m|0)==0|(W|0)==0)I=-1;else Z[y>>2]=W+-1,Z[y+4>>2]=m+1,I=G[m>>0]|0;u=I}else I=y+4|0,y=Z[I>>2]|0,Z[I>>2]=y+1,u=G[y>>0]|0;if(Z[V>>2]=u,(u|0)!=61)return g=u,i=0,t=(g|0)!=(X|0),Y0=t<<31>>31,X0=i^Y0,q=$,X0|0;u=V+44|0,y=0;while(!0){if(I=Z[Y>>2]|0,m=I+4|0,W=Z[m>>2]|0,S=W+1|0,U=I+8|0,Q=Z[U>>2]|0,S>>>0>Q>>>0){if(Q>>>0>2147483645){T0=22;break}if(K=Q<<1,Z0=Z[u>>2]|0,(K|0)==-2){T0=24;break}if(A=Z[I>>2]|0,J=Z[Z0+12>>2]|0,H=(A|0)==0,_=J+4|0,F=r6[Z[J>>2]&3](Z[_>>2]|0,A,Q,K)|0,(K|0)!=0&(F|0)==0){if(!(N[J+51>>0]|0)){T0=28;break}if(M2(Z0,1),L=r6[Z[J>>2]&3](Z[_>>2]|0,A,Q,K)|0,!L){T0=28;break}else W0=L}else W0=F;F=J+12|0,Z[F>>2]=(H?0:0-Q|0)+K+(Z[F>>2]|0),Z[I>>2]=W0,Z[U>>2]=K,K=Z[m>>2]|0,O0=W0,y0=K,E0=K+1|0}else O0=Z[I>>2]|0,y0=W,E0=S;if(Z[m>>2]=E0,N[O0+y0>>0]=61,m=Z[k>>2]|0,S=Z[m>>2]|0,Z[m>>2]=S+-1,!S){if(S=y8[Z[m+8>>2]&7](Z[m+16>>2]|0,Z[m+12>>2]|0,T)|0,W=Z[T>>2]|0,(S|0)==0|(W|0)==0)H0=-1;else Z[m>>2]=W+-1,Z[m+4>>2]=S+1,H0=G[S>>0]|0;D0=H0}else S=m+4|0,m=Z[S>>2]|0,Z[S>>2]=m+1,D0=G[m>>0]|0;if(Z[V>>2]=D0,m=y+1|0,(D0|0)==61)y=m;else{g=D0,i=m,T0=36;break}}if((T0|0)==22)O5(V,47209,0);else if((T0|0)==24)x1(Z0);else if((T0|0)==28)Z8(Z0,4);else if((T0|0)==36)return t=(g|0)!=(X|0),Y0=t<<31>>31,X0=i^Y0,q=$,X0|0;return 0}function JS(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0;if(X=q,q=q+16|0,Y=X,Q=Z[V>>2]|0,W=V+52|0,U=Z[W>>2]|0,S=U+4|0,J=Z[S>>2]|0,_=J+1|0,K=U+8|0,P=Z[K>>2]|0,_>>>0>P>>>0){if(P>>>0>2147483645)O5(V,47209,0);if(O=P<<1,L=Z[V+44>>2]|0,(O|0)==-2)x1(L);if(F=Z[U>>2]|0,z=Z[L+12>>2]|0,H=(F|0)==0,C=z+4|0,A=r6[Z[z>>2]&3](Z[C>>2]|0,F,P,O)|0,(O|0)!=0&(A|0)==0){if(!(N[z+51>>0]|0))Z8(L,4);if(M2(L,1),y=r6[Z[z>>2]&3](Z[C>>2]|0,F,P,O)|0,!y)Z8(L,4);else k=y}else k=A;A=z+12|0,Z[A>>2]=(H?0:0-P|0)+O+(Z[A>>2]|0),Z[U>>2]=k,Z[K>>2]=O,O=Z[S>>2]|0,m=k,I=O,u=O+1|0}else m=Z[U>>2]|0,I=J,u=_;if(Z[S>>2]=u,N[m+I>>0]=Q,Q=V+48|0,I=Z[Q>>2]|0,m=Z[I>>2]|0,Z[I>>2]=m+-1,!m){if(m=y8[Z[I+8>>2]&7](Z[I+16>>2]|0,Z[I+12>>2]|0,Y)|0,u=Z[Y>>2]|0,(m|0)==0|(u|0)==0)g=-1;else Z[I>>2]=u+-1,Z[I+4>>2]=m+1,g=G[m>>0]|0;i=g}else g=I+4|0,I=Z[g>>2]|0,Z[g>>2]=I+1,i=G[I>>0]|0;switch(Z[V>>2]=i,i|0){case 13:case 10:{bX(V);break}default:}i=($|0)==0,I=V+44|0;Z:while(!0){g=Z[V>>2]|0;V:do switch(g|0){case-1:{t=21;break Z}case 93:{if((tW(V)|0)==(T|0)){t=23;break Z}break}case 13:case 10:{if(m=Z[W>>2]|0,u=m+4|0,S=Z[u>>2]|0,_=S+1|0,J=m+8|0,U=Z[J>>2]|0,_>>>0>U>>>0){if(U>>>0>2147483645){t=43;break Z}if(O=U<<1,Y0=Z[I>>2]|0,(O|0)==-2){t=45;break Z}if(k=Z[m>>2]|0,K=Z[Y0+12>>2]|0,A=(k|0)==0,P=K+4|0,H=r6[Z[K>>2]&3](Z[P>>2]|0,k,U,O)|0,(O|0)!=0&(H|0)==0){if(!(N[K+51>>0]|0)){t=49;break Z}if(M2(Y0,1),z=r6[Z[K>>2]&3](Z[P>>2]|0,k,U,O)|0,!z){t=49;break Z}else X0=z}else X0=H;H=K+12|0,Z[H>>2]=(A?0:0-U|0)+O+(Z[H>>2]|0),Z[m>>2]=X0,Z[J>>2]=O,O=Z[u>>2]|0,T0=X0,Z0=O,W0=O+1|0}else T0=Z[m>>2]|0,Z0=S,W0=_;if(Z[u>>2]=W0,N[T0+Z0>>0]=10,bX(V),i)Z[(Z[W>>2]|0)+4>>2]=0;break}default:{if(i){if(u=Z[Q>>2]|0,_=Z[u>>2]|0,Z[u>>2]=_+-1,!_){if(_=y8[Z[u+8>>2]&7](Z[u+16>>2]|0,Z[u+12>>2]|0,Y)|0,S=Z[Y>>2]|0,(_|0)==0|(S|0)==0)O0=-1;else Z[u>>2]=S+-1,Z[u+4>>2]=_+1,O0=G[_>>0]|0;y0=O0}else _=u+4|0,u=Z[_>>2]|0,Z[_>>2]=u+1,y0=G[u>>0]|0;Z[V>>2]=y0;break V}if(u=Z[W>>2]|0,_=u+4|0,S=Z[_>>2]|0,m=S+1|0,O=u+8|0,J=Z[O>>2]|0,m>>>0>J>>>0){if(J>>>0>2147483645){t=58;break Z}if(H=J<<1,E0=Z[I>>2]|0,(H|0)==-2){t=60;break Z}if(U=Z[u>>2]|0,A=Z[E0+12>>2]|0,K=(U|0)==0,z=A+4|0,k=r6[Z[A>>2]&3](Z[z>>2]|0,U,J,H)|0,(H|0)!=0&(k|0)==0){if(!(N[A+51>>0]|0)){t=64;break Z}if(M2(E0,1),P=r6[Z[A>>2]&3](Z[z>>2]|0,U,J,H)|0,!P){t=64;break Z}else H0=P}else H0=k;k=A+12|0,Z[k>>2]=(K?0:0-J|0)+H+(Z[k>>2]|0),Z[u>>2]=H0,Z[O>>2]=H,H=Z[_>>2]|0,D0=H0,_0=H,F0=H+1|0}else D0=Z[u>>2]|0,_0=S,F0=m;if(Z[_>>2]=F0,N[D0+_0>>0]=g,_=Z[Q>>2]|0,m=Z[_>>2]|0,Z[_>>2]=m+-1,!m){if(m=y8[Z[_+8>>2]&7](Z[_+16>>2]|0,Z[_+12>>2]|0,Y)|0,S=Z[Y>>2]|0,(m|0)==0|(S|0)==0)k0=-1;else Z[_>>2]=S+-1,Z[_+4>>2]=m+1,k0=G[m>>0]|0;m0=k0}else m=_+4|0,_=Z[m>>2]|0,Z[m>>2]=_+1,m0=G[_>>0]|0;Z[V>>2]=m0}}while(0)}if((t|0)==21)O5(V,i?47963:47987,287);else if((t|0)==23){if(m0=Z[V>>2]|0,k0=Z[W>>2]|0,_0=k0+4|0,D0=Z[_0>>2]|0,F0=D0+1|0,H0=k0+8|0,y0=Z[H0>>2]|0,F0>>>0>y0>>>0){if(y0>>>0>2147483645)O5(V,47209,0);if(O0=y0<<1,Z0=Z[I>>2]|0,(O0|0)==-2)x1(Z0);if(I=Z[k0>>2]|0,T0=Z[Z0+12>>2]|0,W0=(I|0)==0,X0=T0+4|0,g=r6[Z[T0>>2]&3](Z[X0>>2]|0,I,y0,O0)|0,(O0|0)!=0&(g|0)==0){if(!(N[T0+51>>0]|0))Z8(Z0,4);if(M2(Z0,1),_=r6[Z[T0>>2]&3](Z[X0>>2]|0,I,y0,O0)|0,!_)Z8(Z0,4);else B0=_}else B0=g;g=T0+12|0,Z[g>>2]=(W0?0:0-y0|0)+O0+(Z[g>>2]|0),Z[k0>>2]=B0,Z[H0>>2]=O0,O0=Z[_0>>2]|0,g0=B0,o0=O0,h0=O0+1|0}else g0=Z[k0>>2]|0,o0=D0,h0=F0;if(Z[_0>>2]=h0,N[g0+o0>>0]=m0,m0=Z[Q>>2]|0,Q=Z[m0>>2]|0,Z[m0>>2]=Q+-1,!Q){if(Q=y8[Z[m0+8>>2]&7](Z[m0+16>>2]|0,Z[m0+12>>2]|0,Y)|0,o0=Z[Y>>2]|0,(Q|0)==0|(o0|0)==0)C0=-1;else Z[m0>>2]=o0+-1,Z[m0+4>>2]=Q+1,C0=G[Q>>0]|0;u0=C0}else C0=m0+4|0,m0=Z[C0>>2]|0,Z[C0>>2]=m0+1,u0=G[m0>>0]|0;if(Z[V>>2]=u0,i){q=X;return}i=Z[W>>2]|0,W=T+2|0,Z[$>>2]=y4(V,(Z[i>>2]|0)+W|0,(Z[i+4>>2]|0)-(W<<1)|0)|0,q=X;return}else if((t|0)==43)O5(V,47209,0);else if((t|0)==45)x1(Y0);else if((t|0)==49)Z8(Y0,4);else if((t|0)==58)O5(V,47209,0);else if((t|0)==60)x1(E0);else if((t|0)==64)Z8(E0,4)}function fW(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0;Z[(Z[V+52>>2]|0)+4>>2]=0,SS(V,92);Z:do if((T|0)>0){Y=0;do{if(Q=Z[$+(Y<<2)>>2]|0,(Q|0)==-1)break Z;SS(V,Q),Y=Y+1|0}while((Y|0)<(T|0))}while(0);O5(V,X,290)}function SS(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;if(T=Z[V+52>>2]|0,X=T+4|0,Y=Z[X>>2]|0,Q=Y+1|0,W=T+8|0,U=Z[W>>2]|0,Q>>>0<=U>>>0){S=Z[T>>2]|0,J=Y,_=Q,K=$&255,Z[X>>2]=_,P=S+J|0,N[P>>0]=K;return}if(U>>>0>2147483645)O5(V,47209,0);if(Q=U<<1,Y=Z[V+44>>2]|0,(Q|0)==-2)x1(Y);V=qL(Y,Z[T>>2]|0,U,Q)|0,Z[T>>2]=V,Z[W>>2]=Q,Q=Z[X>>2]|0,S=V,J=Q,_=Q+1|0,K=$&255,Z[X>>2]=_,P=S+J|0,N[P>>0]=K;return}function qL(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0;if(Y=Z[V+12>>2]|0,Q=($|0)==0,W=Y+4|0,U=r6[Z[Y>>2]&3](Z[W>>2]|0,$,T,X)|0,(X|0)!=0&(U|0)==0){if(!(N[Y+51>>0]|0))Z8(V,4);if(M2(V,1),S=r6[Z[Y>>2]&3](Z[W>>2]|0,$,T,X)|0,!S)Z8(V,4);else J=S}else J=U;return U=Y+12|0,Z[U>>2]=(Q?0:0-T|0)+X+(Z[U>>2]|0),J|0}function o1(V,$){V=V|0,$=$|0;var T=0,X=0;T=q,q=q+16|0,X=T,T=Z[V>>2]|0,Z[X>>2]=Z[V+12>>2],Z[X+4>>2]=$,Z5(T,48117,X)|0,Z8(Z[V>>2]|0,3)}function RS(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0,j8=0,C6=0,o6=0,u6=0,p8=0,i8=0,q8=0;T=q,q=q+16|0,X=T+4|0,Y=T,Q=V+4|0,W=Z[Q>>2]|0,U=W+16|0,S=W+8|0,J=W+12|0,_=W+4|0,K=Z[W>>2]|0,P=Y,O=4;while(!0){if(!K){if(L=y8[Z[S>>2]&7](Z[U>>2]|0,Z[J>>2]|0,X)|0,F=Z[X>>2]|0,(L|0)==0|(F|0)==0){z=7;break}Z[W>>2]=F,Z[_>>2]=L,H=F,C=L}else H=K,C=Z[_>>2]|0;if(L=O>>>0>H>>>0?H:O,q6(P|0,C|0,L|0)|0,K=(Z[W>>2]|0)-L|0,Z[W>>2]=K,Z[_>>2]=(Z[_>>2]|0)+L,O=O-L|0,!O)break;else P=P+L|0}if((z|0)==7)o1(V,48058);if(P=Z[Y>>2]|0,(P|0)<0)o1(V,48107);Z[$+64>>2]=P,P=Z[Q>>2]|0,O=P+16|0,_=P+8|0,K=P+12|0,W=P+4|0,C=Z[P>>2]|0,H=Y,J=4;while(!0){if(!C){if(U=y8[Z[_>>2]&7](Z[O>>2]|0,Z[K>>2]|0,X)|0,S=Z[X>>2]|0,(U|0)==0|(S|0)==0){z=16;break}Z[P>>2]=S,Z[W>>2]=U,A=S,y=U}else A=C,y=Z[W>>2]|0;if(U=J>>>0>A>>>0?A:J,q6(H|0,y|0,U|0)|0,C=(Z[P>>2]|0)-U|0,Z[P>>2]=C,Z[W>>2]=(Z[W>>2]|0)+U,J=J-U|0,!J)break;else H=H+U|0}if((z|0)==16)o1(V,48058);if(H=Z[Y>>2]|0,(H|0)<0)o1(V,48107);Z[$+68>>2]=H,H=Z[Q>>2]|0,J=H+16|0,W=H+8|0,C=H+12|0,P=H+4|0,y=Z[H>>2]|0,A=Y,K=1;while(!0){if(!y){if(O=y8[Z[W>>2]&7](Z[J>>2]|0,Z[C>>2]|0,X)|0,_=Z[X>>2]|0,(O|0)==0|(_|0)==0){z=25;break}Z[H>>2]=_,Z[P>>2]=O,k=_,m=O}else k=y,m=Z[P>>2]|0;if(O=K>>>0>k>>>0?k:K,q6(A|0,m|0,O|0)|0,y=(Z[H>>2]|0)-O|0,Z[H>>2]=y,Z[P>>2]=(Z[P>>2]|0)+O,K=K-O|0,!K)break;else A=A+O|0}if((z|0)==25)o1(V,48058);N[$+76>>0]=N[Y>>0]|0,A=Z[Q>>2]|0,K=A+16|0,P=A+8|0,y=A+12|0,H=A+4|0,m=Z[A>>2]|0,k=Y,C=1;while(!0){if(!m){if(J=y8[Z[P>>2]&7](Z[K>>2]|0,Z[y>>2]|0,X)|0,W=Z[X>>2]|0,(J|0)==0|(W|0)==0){z=32;break}Z[A>>2]=W,Z[H>>2]=J,I=W,u=J}else I=m,u=Z[H>>2]|0;if(J=C>>>0>I>>>0?I:C,q6(k|0,u|0,J|0)|0,m=(Z[A>>2]|0)-J|0,Z[A>>2]=m,Z[H>>2]=(Z[H>>2]|0)+J,C=C-J|0,!C)break;else k=k+J|0}if((z|0)==32)o1(V,48058);N[$+77>>0]=N[Y>>0]|0,k=Z[Q>>2]|0,C=k+16|0,H=k+8|0,m=k+12|0,A=k+4|0,u=Z[k>>2]|0,I=Y,y=1;while(!0){if(!u){if(K=y8[Z[H>>2]&7](Z[C>>2]|0,Z[m>>2]|0,X)|0,P=Z[X>>2]|0,(K|0)==0|(P|0)==0){z=39;break}Z[k>>2]=P,Z[A>>2]=K,g=P,i=K}else g=u,i=Z[A>>2]|0;if(K=y>>>0>g>>>0?g:y,q6(I|0,i|0,K|0)|0,u=(Z[k>>2]|0)-K|0,Z[k>>2]=u,Z[A>>2]=(Z[A>>2]|0)+K,y=y-K|0,!y)break;else I=I+K|0}if((z|0)==39)o1(V,48058);N[$+78>>0]=N[Y>>0]|0,I=Z[Q>>2]|0,y=I+16|0,A=I+8|0,u=I+12|0,k=I+4|0,i=Z[I>>2]|0,g=Y,m=4;while(!0){if(!i){if(C=y8[Z[A>>2]&7](Z[y>>2]|0,Z[u>>2]|0,X)|0,H=Z[X>>2]|0,(C|0)==0|(H|0)==0){z=46;break}Z[I>>2]=H,Z[k>>2]=C,t=H,Y0=C}else t=i,Y0=Z[k>>2]|0;if(C=m>>>0>t>>>0?t:m,q6(g|0,Y0|0,C|0)|0,i=(Z[I>>2]|0)-C|0,Z[I>>2]=i,Z[k>>2]=(Z[k>>2]|0)+C,m=m-C|0,!m)break;else g=g+C|0}if((z|0)==46)o1(V,48058);if(g=Z[Y>>2]|0,(g|0)<0)o1(V,48107);if(m=Z[V>>2]|0,(g+1|0)>>>0>1073741823)x1(m);if(k=g<<2,i=Z[m+12>>2]|0,I=i+4|0,Y0=r6[Z[i>>2]&3](Z[I>>2]|0,0,0,k)|0,(k|0)!=0&(Y0|0)==0){if(!(N[i+51>>0]|0))Z8(m,4);if(M2(m,1),t=r6[Z[i>>2]&3](Z[I>>2]|0,0,0,k)|0,!t)Z8(m,4);else X0=t}else X0=Y0;Y0=i+12|0,Z[Y0>>2]=(Z[Y0>>2]|0)+k,Z[$+12>>2]=X0,Z[$+48>>2]=g,g=Z[Q>>2]|0;do if(k){Y0=g+16|0,i=g+8|0,t=g+12|0,m=g+4|0,I=Z[g>>2]|0,u=X0,y=k;while(!0){if(!I){if(A=y8[Z[i>>2]&7](Z[Y0>>2]|0,Z[t>>2]|0,X)|0,C=Z[X>>2]|0,(A|0)==0|(C|0)==0){z=62;break}Z[g>>2]=C,Z[m>>2]=A,T0=C,Z0=A}else T0=I,Z0=Z[m>>2]|0;if(A=y>>>0>T0>>>0?T0:y,q6(u|0,Z0|0,A|0)|0,I=(Z[g>>2]|0)-A|0,Z[g>>2]=I,Z[m>>2]=(Z[m>>2]|0)+A,y=y-A|0,!y){z=63;break}else u=u+A|0}if((z|0)==62)o1(V,48058);else if((z|0)==63){W0=Z[Q>>2]|0;break}}else W0=g;while(0);g=W0+16|0,Z0=W0+8|0,T0=W0+12|0,k=W0+4|0,X0=Z[W0>>2]|0,u=Y,y=4;while(!0){if(!X0){if(m=y8[Z[Z0>>2]&7](Z[g>>2]|0,Z[T0>>2]|0,X)|0,I=Z[X>>2]|0,(m|0)==0|(I|0)==0){z=70;break}Z[W0>>2]=I,Z[k>>2]=m,O0=I,y0=m}else O0=X0,y0=Z[k>>2]|0;if(m=y>>>0>O0>>>0?O0:y,q6(u|0,y0|0,m|0)|0,X0=(Z[W0>>2]|0)-m|0,Z[W0>>2]=X0,Z[k>>2]=(Z[k>>2]|0)+m,y=y-m|0,!y)break;else u=u+m|0}if((z|0)==70)o1(V,48058);if(u=Z[Y>>2]|0,(u|0)<0)o1(V,48107);if(y=Z[V>>2]|0,(u+1|0)>>>0>536870911)x1(y);if(k=u<<3,X0=Z[y+12>>2]|0,W0=X0+4|0,y0=r6[Z[X0>>2]&3](Z[W0>>2]|0,0,0,k)|0,(k|0)!=0&(y0|0)==0){if(!(N[X0+51>>0]|0))Z8(y,4);if(M2(y,1),O0=r6[Z[X0>>2]&3](Z[W0>>2]|0,0,0,k)|0,!O0)Z8(y,4);else E0=O0}else E0=y0;y0=X0+12|0,Z[y0>>2]=(Z[y0>>2]|0)+k,k=$+8|0,Z[k>>2]=E0,Z[$+44>>2]=u,y0=(u|0)>0;Z:do if(y0){X0=0;do Z[E0+(X0<<3)+4>>2]=0,X0=X0+1|0;while((X0|0)!=(u|0));if(y0){X0=V+8|0,O0=E0,y=0;V:while(!0){W0=O0+(y<<3)|0,T0=Z[Q>>2]|0,g=T0+16|0,Z0=T0+8|0,m=T0+12|0,I=T0+4|0,t=Z[T0>>2]|0,Y0=Y,i=1;while(!0){if(!t){if(A=y8[Z[Z0>>2]&7](Z[g>>2]|0,Z[m>>2]|0,X)|0,C=Z[X>>2]|0,(A|0)==0|(C|0)==0){z=90;break V}Z[T0>>2]=C,Z[I>>2]=A,H0=C,D0=A}else H0=t,D0=Z[I>>2]|0;if(A=i>>>0>H0>>>0?H0:i,q6(Y0|0,D0|0,A|0)|0,t=(Z[T0>>2]|0)-A|0,Z[T0>>2]=t,Z[I>>2]=(Z[I>>2]|0)+A,i=i-A|0,!i)break;else Y0=Y0+A|0}switch(Y0=N[Y>>0]|0,Y0|0){case 0:{_0=Y0,z=125;break}case 1:{Y0=Z[Q>>2]|0,i=Y0+16|0,I=Y0+8|0,t=Y0+12|0,T0=Y0+4|0,m=Z[Y0>>2]|0,g=Y,Z0=1;while(!0){if(!m){if(A=y8[Z[I>>2]&7](Z[i>>2]|0,Z[t>>2]|0,X)|0,C=Z[X>>2]|0,(A|0)==0|(C|0)==0){z=98;break V}Z[Y0>>2]=C,Z[T0>>2]=A,F0=C,k0=A}else F0=m,k0=Z[T0>>2]|0;if(A=Z0>>>0>F0>>>0?F0:Z0,q6(g|0,k0|0,A|0)|0,m=(Z[Y0>>2]|0)-A|0,Z[Y0>>2]=m,Z[T0>>2]=(Z[T0>>2]|0)+A,Z0=Z0-A|0,!Z0)break;else g=g+A|0}Z[W0>>2]=N[Y>>0],_0=1,z=125;break}case 3:{g=Z[Q>>2]|0,Z0=g+16|0,T0=g+8|0,m=g+12|0,Y0=g+4|0,t=Z[g>>2]|0,i=Y,I=4;while(!0){if(!t){if(A=y8[Z[T0>>2]&7](Z[Z0>>2]|0,Z[m>>2]|0,X)|0,C=Z[X>>2]|0,(A|0)==0|(C|0)==0){z=106;break V}Z[g>>2]=C,Z[Y0>>2]=A,m0=C,B0=A}else m0=t,B0=Z[Y0>>2]|0;if(A=I>>>0>m0>>>0?m0:I,q6(i|0,B0|0,A|0)|0,t=(Z[g>>2]|0)-A|0,Z[g>>2]=t,Z[Y0>>2]=(Z[Y0>>2]|0)+A,I=I-A|0,!I)break;else i=i+A|0}Z[W0>>2]=Z[Y>>2],_0=3,z=125;break}case 4:{i=Z[Q>>2]|0,I=i+16|0,Y0=i+8|0,t=i+12|0,g=i+4|0,m=Z[i>>2]|0,Z0=Y,T0=4;while(!0){if(!m){if(A=y8[Z[Y0>>2]&7](Z[I>>2]|0,Z[t>>2]|0,X)|0,C=Z[X>>2]|0,(A|0)==0|(C|0)==0){z=114;break V}Z[i>>2]=C,Z[g>>2]=A,g0=C,o0=A}else g0=m,o0=Z[g>>2]|0;if(A=T0>>>0>g0>>>0?g0:T0,q6(Z0|0,o0|0,A|0)|0,m=(Z[i>>2]|0)-A|0,Z[i>>2]=m,Z[g>>2]=(Z[g>>2]|0)+A,T0=T0-A|0,!T0)break;else Z0=Z0+A|0}if(Z0=Z[Y>>2]|0,!Z0)h0=0;else{T0=cY(Z[V>>2]|0,Z[X0>>2]|0,Z0)|0,g=Z[Q>>2]|0,m=g+16|0,i=g+8|0,t=g+12|0,I=g+4|0,Y0=Z[g>>2]|0,A=T0,C=Z0;while(!0){if(!Y0){if(H=y8[Z[i>>2]&7](Z[m>>2]|0,Z[t>>2]|0,X)|0,K=Z[X>>2]|0,(H|0)==0|(K|0)==0){z=122;break V}Z[g>>2]=K,Z[I>>2]=H,C0=K,u0=H}else C0=Y0,u0=Z[I>>2]|0;if(H=C>>>0>C0>>>0?C0:C,q6(A|0,u0|0,H|0)|0,Y0=(Z[g>>2]|0)-H|0,Z[g>>2]=Y0,Z[I>>2]=(Z[I>>2]|0)+H,C=C-H|0,!C)break;else A=A+H|0}h0=y9(Z[V>>2]|0,T0,Z0+-1|0)|0}Z[W0>>2]=h0,_0=(N[h0+4>>0]|64)&255,z=125;break}default:}if((z|0)==125)z=0,Z[O0+(y<<3)+4>>2]=_0;if(A=y+1|0,(A|0)>=(u|0))break Z;O0=Z[k>>2]|0,y=A}if((z|0)==90)o1(V,48058);else if((z|0)==98)o1(V,48058);else if((z|0)==106)o1(V,48058);else if((z|0)==114)o1(V,48058);else if((z|0)==122)o1(V,48058)}}while(0);k=Z[Q>>2]|0,u=k+16|0,_0=k+8|0,h0=k+12|0,u0=k+4|0,C0=Z[k>>2]|0,o0=Y,g0=4;while(!0){if(!C0){if(B0=y8[Z[_0>>2]&7](Z[u>>2]|0,Z[h0>>2]|0,X)|0,m0=Z[X>>2]|0,(B0|0)==0|(m0|0)==0){z=134;break}Z[k>>2]=m0,Z[u0>>2]=B0,p0=m0,q0=B0}else p0=C0,q0=Z[u0>>2]|0;if(B0=g0>>>0>p0>>>0?p0:g0,q6(o0|0,q0|0,B0|0)|0,C0=(Z[k>>2]|0)-B0|0,Z[k>>2]=C0,Z[u0>>2]=(Z[u0>>2]|0)+B0,g0=g0-B0|0,!g0)break;else o0=o0+B0|0}if((z|0)==134)o1(V,48058);if(o0=Z[Y>>2]|0,(o0|0)<0)o1(V,48107);if(g0=Z[V>>2]|0,(o0+1|0)>>>0>1073741823)x1(g0);if(u0=o0<<2,C0=Z[g0+12>>2]|0,k=C0+4|0,q0=r6[Z[C0>>2]&3](Z[k>>2]|0,0,0,u0)|0,(u0|0)!=0&(q0|0)==0){if(!(N[C0+51>>0]|0))Z8(g0,4);if(M2(g0,1),p0=r6[Z[C0>>2]&3](Z[k>>2]|0,0,0,u0)|0,!p0)Z8(g0,4);else i0=p0}else i0=q0;q0=C0+12|0,Z[q0>>2]=(Z[q0>>2]|0)+u0,u0=$+16|0,Z[u0>>2]=i0,Z[$+56>>2]=o0,q0=(o0|0)>0;Z:do if(q0){if(Z[i0>>2]=0,(o0|0)!=1){C0=1;do Z[(Z[u0>>2]|0)+(C0<<2)>>2]=0,C0=C0+1|0;while((C0|0)!=(o0|0))}if(q0){C0=0;while(!0){if(t0=Z[V>>2]|0,p0=Z[t0+12>>2]|0,g0=p0+4|0,k=r6[Z[p0>>2]&3](Z[g0>>2]|0,0,9,80)|0,!k){if(!(N[p0+51>>0]|0)){z=152;break}if(M2(t0,1),h0=r6[Z[p0>>2]&3](Z[g0>>2]|0,0,9,80)|0,!h0){z=152;break}else E6=h0}else E6=k;k=p0+12|0,Z[k>>2]=(Z[k>>2]|0)+80,k=p0+56|0,N[E6+5>>0]=N[p0+48>>0]&3,N[E6+4>>0]=9,Z[E6>>2]=Z[k>>2],Z[k>>2]=E6,N[E6+76>>0]=0,N[E6+77>>0]=0,N[E6+78>>0]=0,k=E6+8|0,p0=k+64|0;do Z[k>>2]=0,k=k+4|0;while((k|0)<(p0|0));if(Z[(Z[u0>>2]|0)+(C0<<2)>>2]=E6,RS(V,Z[(Z[u0>>2]|0)+(C0<<2)>>2]|0),C0=C0+1|0,(C0|0)>=(o0|0))break Z}if((z|0)==152)Z8(t0,4)}}while(0);t0=Z[Q>>2]|0,o0=t0+16|0,u0=t0+8|0,E6=t0+12|0,q0=t0+4|0,i0=Z[t0>>2]|0,C0=Y,k=4;while(!0){if(!i0){if(p0=y8[Z[u0>>2]&7](Z[o0>>2]|0,Z[E6>>2]|0,X)|0,W0=Z[X>>2]|0,(p0|0)==0|(W0|0)==0){z=160;break}Z[t0>>2]=W0,Z[q0>>2]=p0,V6=W0,n0=p0}else V6=i0,n0=Z[q0>>2]|0;if(p0=k>>>0>V6>>>0?V6:k,q6(C0|0,n0|0,p0|0)|0,i0=(Z[t0>>2]|0)-p0|0,Z[t0>>2]=i0,Z[q0>>2]=(Z[q0>>2]|0)+p0,k=k-p0|0,!k)break;else C0=C0+p0|0}if((z|0)==160)o1(V,48058);if(C0=Z[Y>>2]|0,(C0|0)<0)o1(V,48107);if(k=Z[V>>2]|0,(C0+1|0)>>>0>536870911)x1(k);if(q0=C0<<3,i0=Z[k+12>>2]|0,t0=i0+4|0,n0=r6[Z[i0>>2]&3](Z[t0>>2]|0,0,0,q0)|0,(q0|0)!=0&(n0|0)==0){if(!(N[i0+51>>0]|0))Z8(k,4);if(M2(k,1),V6=r6[Z[i0>>2]&3](Z[t0>>2]|0,0,0,q0)|0,!V6)Z8(k,4);else e0=V6}else e0=n0;n0=i0+12|0,Z[n0>>2]=(Z[n0>>2]|0)+q0,q0=$+28|0,Z[q0>>2]=e0,Z[$+40>>2]=C0;Z:do if((C0|0)>0){n0=0;do Z[e0+(n0<<3)>>2]=0,n0=n0+1|0;while((n0|0)!=(C0|0));n0=0;V:while(!0){i0=Z[Q>>2]|0,V6=i0+16|0,k=i0+8|0,t0=i0+12|0,E6=i0+4|0,o0=Z[i0>>2]|0,u0=Y,p0=1;while(!0){if(!o0){if(W0=y8[Z[k>>2]&7](Z[V6>>2]|0,Z[t0>>2]|0,X)|0,Z0=Z[X>>2]|0,(W0|0)==0|(Z0|0)==0){z=179;break V}Z[i0>>2]=Z0,Z[E6>>2]=W0,Z6=Z0,U6=W0}else Z6=o0,U6=Z[E6>>2]|0;if(W0=p0>>>0>Z6>>>0?Z6:p0,q6(u0|0,U6|0,W0|0)|0,o0=(Z[i0>>2]|0)-W0|0,Z[i0>>2]=o0,Z[E6>>2]=(Z[E6>>2]|0)+W0,p0=p0-W0|0,!p0)break;else u0=u0+W0|0}N[(Z[q0>>2]|0)+(n0<<3)+4>>0]=N[Y>>0]|0,u0=Z[Q>>2]|0,p0=u0+16|0,E6=u0+8|0,o0=u0+12|0,i0=u0+4|0,t0=Z[u0>>2]|0,V6=Y,k=1;while(!0){if(!t0){if(W0=y8[Z[E6>>2]&7](Z[p0>>2]|0,Z[o0>>2]|0,X)|0,Z0=Z[X>>2]|0,(W0|0)==0|(Z0|0)==0){z=186;break V}Z[u0>>2]=Z0,Z[i0>>2]=W0,N6=Z0,A6=W0}else N6=t0,A6=Z[i0>>2]|0;if(W0=k>>>0>N6>>>0?N6:k,q6(V6|0,A6|0,W0|0)|0,t0=(Z[u0>>2]|0)-W0|0,Z[u0>>2]=t0,Z[i0>>2]=(Z[i0>>2]|0)+W0,k=k-W0|0,!k)break;else V6=V6+W0|0}if(N[(Z[q0>>2]|0)+(n0<<3)+5>>0]=N[Y>>0]|0,n0=n0+1|0,(n0|0)>=(C0|0))break Z}if((z|0)==179)o1(V,48058);else if((z|0)==186)o1(V,48058)}while(0);C0=Z[Q>>2]|0,A6=C0+16|0,N6=C0+8|0,U6=C0+12|0,Z6=C0+4|0,e0=Z[C0>>2]|0,n0=Y,V6=4;while(!0){if(!e0){if(k=y8[Z[N6>>2]&7](Z[A6>>2]|0,Z[U6>>2]|0,X)|0,i0=Z[X>>2]|0,(k|0)==0|(i0|0)==0){z=194;break}Z[C0>>2]=i0,Z[Z6>>2]=k,S6=i0,H6=k}else S6=e0,H6=Z[Z6>>2]|0;if(k=V6>>>0>S6>>>0?S6:V6,q6(n0|0,H6|0,k|0)|0,e0=(Z[C0>>2]|0)-k|0,Z[C0>>2]=e0,Z[Z6>>2]=(Z[Z6>>2]|0)+k,V6=V6-k|0,!V6)break;else n0=n0+k|0}if((z|0)==194)o1(V,48058);n0=Z[Y>>2]|0;do if(n0){V6=cY(Z[V>>2]|0,Z[V+8>>2]|0,n0)|0,Z6=Z[Q>>2]|0,e0=Z6+16|0,C0=Z6+8|0,H6=Z6+12|0,S6=Z6+4|0,U6=Z[Z6>>2]|0,A6=V6,N6=n0;while(!0){if(!U6){if(k=y8[Z[C0>>2]&7](Z[e0>>2]|0,Z[H6>>2]|0,X)|0,i0=Z[X>>2]|0,(k|0)==0|(i0|0)==0){z=202;break}Z[Z6>>2]=i0,Z[S6>>2]=k,M6=i0,F6=k}else M6=U6,F6=Z[S6>>2]|0;if(k=N6>>>0>M6>>>0?M6:N6,q6(A6|0,F6|0,k|0)|0,U6=(Z[Z6>>2]|0)-k|0,Z[Z6>>2]=U6,Z[S6>>2]=(Z[S6>>2]|0)+k,N6=N6-k|0,!N6){z=203;break}else A6=A6+k|0}if((z|0)==202)o1(V,48058);else if((z|0)==203){J6=y9(Z[V>>2]|0,V6,n0+-1|0)|0;break}}else J6=0;while(0);Z[$+36>>2]=J6,J6=Z[Q>>2]|0,n0=J6+16|0,F6=J6+8|0,M6=J6+12|0,A6=J6+4|0,N6=Z[J6>>2]|0,S6=Y,U6=4;while(!0){if(!N6){if(Z6=y8[Z[F6>>2]&7](Z[n0>>2]|0,Z[M6>>2]|0,X)|0,H6=Z[X>>2]|0,(Z6|0)==0|(H6|0)==0){z=210;break}Z[J6>>2]=H6,Z[A6>>2]=Z6,L6=H6,c0=Z6}else L6=N6,c0=Z[A6>>2]|0;if(Z6=U6>>>0>L6>>>0?L6:U6,q6(S6|0,c0|0,Z6|0)|0,N6=(Z[J6>>2]|0)-Z6|0,Z[J6>>2]=N6,Z[A6>>2]=(Z[A6>>2]|0)+Z6,U6=U6-Z6|0,!U6)break;else S6=S6+Z6|0}if((z|0)==210)o1(V,48058);if(S6=Z[Y>>2]|0,(S6|0)<0)o1(V,48107);if(U6=Z[V>>2]|0,(S6+1|0)>>>0>1073741823)x1(U6);A6=S6<<2,N6=Z[U6+12>>2]|0,J6=N6+4|0,c0=r6[Z[N6>>2]&3](Z[J6>>2]|0,0,0,A6)|0;do if((A6|0)!=0&(c0|0)==0){if(!(N[N6+51>>0]|0))Z8(U6,4);if(M2(U6,1),L6=r6[Z[N6>>2]&3](Z[J6>>2]|0,0,0,A6)|0,L6|0){T6=L6;break}Z8(U6,4)}else T6=c0;while(0);c0=N6+12|0,Z[c0>>2]=(Z[c0>>2]|0)+A6,Z[$+20>>2]=T6,Z[$+52>>2]=S6,S6=Z[Q>>2]|0;do if(A6){c0=S6+16|0,N6=S6+8|0,U6=S6+12|0,J6=S6+4|0,L6=Z[S6>>2]|0,M6=T6,n0=A6;while(!0){if(!L6){if(F6=y8[Z[N6>>2]&7](Z[c0>>2]|0,Z[U6>>2]|0,X)|0,Z6=Z[X>>2]|0,(F6|0)==0|(Z6|0)==0){z=226;break}Z[S6>>2]=Z6,Z[J6>>2]=F6,W6=Z6,h6=F6}else W6=L6,h6=Z[J6>>2]|0;if(F6=n0>>>0>W6>>>0?W6:n0,q6(M6|0,h6|0,F6|0)|0,L6=(Z[S6>>2]|0)-F6|0,Z[S6>>2]=L6,Z[J6>>2]=(Z[J6>>2]|0)+F6,n0=n0-F6|0,!n0){z=227;break}else M6=M6+F6|0}if((z|0)==226)o1(V,48058);else if((z|0)==227){s6=Z[Q>>2]|0;break}}else s6=S6;while(0);S6=s6+16|0,h6=s6+8|0,W6=s6+12|0,A6=s6+4|0,T6=Z[s6>>2]|0,M6=Y,n0=4;while(!0){if(!T6){if(J6=y8[Z[h6>>2]&7](Z[S6>>2]|0,Z[W6>>2]|0,X)|0,L6=Z[X>>2]|0,(J6|0)==0|(L6|0)==0){z=234;break}Z[s6>>2]=L6,Z[A6>>2]=J6,p6=L6,G6=J6}else p6=T6,G6=Z[A6>>2]|0;if(J6=n0>>>0>p6>>>0?p6:n0,q6(M6|0,G6|0,J6|0)|0,T6=(Z[s6>>2]|0)-J6|0,Z[s6>>2]=T6,Z[A6>>2]=(Z[A6>>2]|0)+J6,n0=n0-J6|0,!n0)break;else M6=M6+J6|0}if((z|0)==234)o1(V,48058);if(M6=Z[Y>>2]|0,(M6|0)<0)o1(V,48107);if(n0=Z[V>>2]|0,(M6+1|0)>>>0>357913941)x1(n0);A6=M6*12|0,T6=Z[n0+12>>2]|0,s6=T6+4|0,G6=r6[Z[T6>>2]&3](Z[s6>>2]|0,0,0,A6)|0;do if((A6|0)!=0&(G6|0)==0){if(!(N[T6+51>>0]|0))Z8(n0,4);if(M2(n0,1),p6=r6[Z[T6>>2]&3](Z[s6>>2]|0,0,0,A6)|0,p6|0){w6=p6;break}Z8(n0,4)}else w6=G6;while(0);G6=T6+12|0,Z[G6>>2]=(Z[G6>>2]|0)+A6,A6=$+24|0,Z[A6>>2]=w6,Z[$+60>>2]=M6;Z:do if((M6|0)>0){$=0;do Z[w6+($*12|0)>>2]=0,$=$+1|0;while(($|0)!=(M6|0));$=V+8|0,G6=0;V:while(!0){T6=Z[Q>>2]|0,n0=T6+16|0,s6=T6+8|0,p6=T6+12|0,W6=T6+4|0,S6=Z[T6>>2]|0,h6=Y,J6=4;while(!0){if(!S6){if(L6=y8[Z[s6>>2]&7](Z[n0>>2]|0,Z[p6>>2]|0,X)|0,U6=Z[X>>2]|0,(L6|0)==0|(U6|0)==0){z=253;break V}Z[T6>>2]=U6,Z[W6>>2]=L6,B6=U6,i6=L6}else B6=S6,i6=Z[W6>>2]|0;if(L6=J6>>>0>B6>>>0?B6:J6,q6(h6|0,i6|0,L6|0)|0,S6=(Z[T6>>2]|0)-L6|0,Z[T6>>2]=S6,Z[W6>>2]=(Z[W6>>2]|0)+L6,J6=J6-L6|0,!J6)break;else h6=h6+L6|0}if(h6=Z[Y>>2]|0,!h6)H8=0;else{J6=cY(Z[V>>2]|0,Z[$>>2]|0,h6)|0,W6=Z[Q>>2]|0,S6=W6+16|0,T6=W6+8|0,p6=W6+12|0,n0=W6+4|0,s6=Z[W6>>2]|0,L6=J6,U6=h6;while(!0){if(!s6){if(c0=y8[Z[T6>>2]&7](Z[S6>>2]|0,Z[p6>>2]|0,X)|0,N6=Z[X>>2]|0,(c0|0)==0|(N6|0)==0){z=261;break V}Z[W6>>2]=N6,Z[n0>>2]=c0,m6=N6,_8=c0}else m6=s6,_8=Z[n0>>2]|0;if(c0=U6>>>0>m6>>>0?m6:U6,q6(L6|0,_8|0,c0|0)|0,s6=(Z[W6>>2]|0)-c0|0,Z[W6>>2]=s6,Z[n0>>2]=(Z[n0>>2]|0)+c0,U6=U6-c0|0,!U6)break;else L6=L6+c0|0}H8=y9(Z[V>>2]|0,J6,h6+-1|0)|0}Z[(Z[A6>>2]|0)+(G6*12|0)>>2]=H8,L6=Z[Q>>2]|0,U6=L6+16|0,n0=L6+8|0,s6=L6+12|0,W6=L6+4|0,p6=Z[L6>>2]|0,S6=Y,T6=4;while(!0){if(!p6){if(c0=y8[Z[n0>>2]&7](Z[U6>>2]|0,Z[s6>>2]|0,X)|0,N6=Z[X>>2]|0,(c0|0)==0|(N6|0)==0){z=269;break V}Z[L6>>2]=N6,Z[W6>>2]=c0,v8=N6,Y8=c0}else v8=p6,Y8=Z[W6>>2]|0;if(c0=T6>>>0>v8>>>0?v8:T6,q6(S6|0,Y8|0,c0|0)|0,p6=(Z[L6>>2]|0)-c0|0,Z[L6>>2]=p6,Z[W6>>2]=(Z[W6>>2]|0)+c0,T6=T6-c0|0,!T6)break;else S6=S6+c0|0}if(S6=Z[Y>>2]|0,(S6|0)<0){z=271;break}Z[(Z[A6>>2]|0)+(G6*12|0)+4>>2]=S6,S6=Z[Q>>2]|0,T6=S6+16|0,W6=S6+8|0,p6=S6+12|0,L6=S6+4|0,s6=Z[S6>>2]|0,U6=Y,n0=4;while(!0){if(!s6){if(h6=y8[Z[W6>>2]&7](Z[T6>>2]|0,Z[p6>>2]|0,X)|0,J6=Z[X>>2]|0,(h6|0)==0|(J6|0)==0){z=278;break V}Z[S6>>2]=J6,Z[L6>>2]=h6,T8=J6,C8=h6}else T8=s6,C8=Z[L6>>2]|0;if(h6=n0>>>0>T8>>>0?T8:n0,q6(U6|0,C8|0,h6|0)|0,s6=(Z[S6>>2]|0)-h6|0,Z[S6>>2]=s6,Z[L6>>2]=(Z[L6>>2]|0)+h6,n0=n0-h6|0,!n0)break;else U6=U6+h6|0}if(U6=Z[Y>>2]|0,(U6|0)<0){z=280;break}if(Z[(Z[A6>>2]|0)+(G6*12|0)+8>>2]=U6,G6=G6+1|0,(G6|0)>=(M6|0))break Z}if((z|0)==253)o1(V,48058);else if((z|0)==261)o1(V,48058);else if((z|0)==269)o1(V,48058);else if((z|0)==271)o1(V,48107);else if((z|0)==278)o1(V,48058);else if((z|0)==280)o1(V,48107)}while(0);M6=Z[Q>>2]|0,A6=M6+16|0,C8=M6+8|0,T8=M6+12|0,Y8=M6+4|0,v8=Z[M6>>2]|0,H8=Y,_8=4;while(!0){if(!v8){if(m6=y8[Z[C8>>2]&7](Z[A6>>2]|0,Z[T8>>2]|0,X)|0,i6=Z[X>>2]|0,(m6|0)==0|(i6|0)==0){z=288;break}Z[M6>>2]=i6,Z[Y8>>2]=m6,j8=i6,C6=m6}else j8=v8,C6=Z[Y8>>2]|0;if(m6=_8>>>0>j8>>>0?j8:_8,q6(H8|0,C6|0,m6|0)|0,v8=(Z[M6>>2]|0)-m6|0,Z[M6>>2]=v8,Z[Y8>>2]=(Z[Y8>>2]|0)+m6,_8=_8-m6|0,!_8)break;else H8=H8+m6|0}if((z|0)==288)o1(V,48058);if(H8=Z[Y>>2]|0,(H8|0)<0)o1(V,48107);if(!H8){q=T;return}_8=V+8|0,Y8=0;Z:while(!0){v8=Z[Q>>2]|0,M6=v8+16|0,C6=v8+8|0,j8=v8+12|0,T8=v8+4|0,A6=Z[v8>>2]|0,C8=Y,m6=4;while(!0){if(!A6){if(i6=y8[Z[C6>>2]&7](Z[M6>>2]|0,Z[j8>>2]|0,X)|0,B6=Z[X>>2]|0,(i6|0)==0|(B6|0)==0){z=299;break Z}Z[v8>>2]=B6,Z[T8>>2]=i6,o6=B6,u6=i6}else o6=A6,u6=Z[T8>>2]|0;if(i6=m6>>>0>o6>>>0?o6:m6,q6(C8|0,u6|0,i6|0)|0,A6=(Z[v8>>2]|0)-i6|0,Z[v8>>2]=A6,Z[T8>>2]=(Z[T8>>2]|0)+i6,m6=m6-i6|0,!m6)break;else C8=C8+i6|0}if(C8=Z[Y>>2]|0,!C8)p8=0;else{m6=cY(Z[V>>2]|0,Z[_8>>2]|0,C8)|0,T8=Z[Q>>2]|0,A6=T8+16|0,v8=T8+8|0,j8=T8+12|0,M6=T8+4|0,C6=Z[T8>>2]|0,i6=m6,B6=C8;while(!0){if(!C6){if(w6=y8[Z[v8>>2]&7](Z[A6>>2]|0,Z[j8>>2]|0,X)|0,G6=Z[X>>2]|0,(w6|0)==0|(G6|0)==0){z=307;break Z}Z[T8>>2]=G6,Z[M6>>2]=w6,i8=G6,q8=w6}else i8=C6,q8=Z[M6>>2]|0;if(w6=B6>>>0>i8>>>0?i8:B6,q6(i6|0,q8|0,w6|0)|0,C6=(Z[T8>>2]|0)-w6|0,Z[T8>>2]=C6,Z[M6>>2]=(Z[M6>>2]|0)+w6,B6=B6-w6|0,!B6)break;else i6=i6+w6|0}p8=y9(Z[V>>2]|0,m6,C8+-1|0)|0}if(Z[(Z[q0>>2]|0)+(Y8<<3)>>2]=p8,Y8=Y8+1|0,(Y8|0)>=(H8|0)){z=310;break}}if((z|0)==299)o1(V,48058);else if((z|0)==307)o1(V,48058);else if((z|0)==310){q=T;return}}function cY(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;if(X=$+8|0,Y=Z[X>>2]|0,Y>>>0>=T>>>0)return Q=Z[$>>2]|0,Q|0;if(W=T>>>0>32?T:32,(W+1|0)>>>0>4294967293)x1(V);if(T=Z[$>>2]|0,U=Z[V+12>>2]|0,S=(T|0)==0,J=U+4|0,_=r6[Z[U>>2]&3](Z[J>>2]|0,T,Y,W)|0,!_){if(!(N[U+51>>0]|0))Z8(V,4);if(M2(V,1),K=r6[Z[U>>2]&3](Z[J>>2]|0,T,Y,W)|0,!K)Z8(V,4);else P=K}else P=_;return _=U+12|0,Z[_>>2]=(S?0:0-Y|0)+W+(Z[_>>2]|0),Z[$>>2]=P,Z[X>>2]=W,Q=P,Q|0}function vL(V){V=V|0,N[V+6>>0]=0,Z[V+16>>2]=V+72;return}function VZ(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;X=V+12|0,Y=Z[X>>2]|0;do switch($|0){case 0:return N[Y+51>>0]=0,Q=0,Q|0;case 1:return W=Y+12|0,U=Y+8|0,Z[U>>2]=(Z[U>>2]|0)+(Z[W>>2]|0),Z[W>>2]=0,N[Y+51>>0]=1,Q=0,Q|0;case 2:return M2(V,0),Q=0,Q|0;case 3:return Q=((Z[Y+12>>2]|0)+(Z[Y+8>>2]|0)|0)>>>10,Q|0;case 4:return Q=(Z[Y+12>>2]|0)+(Z[Y+8>>2]|0)&1023,Q|0;case 5:{if((N[Y+50>>0]|0)==2)return W=(Z[Y+20>>2]|0)==0&1,g1(V),Q=W,Q|0;else return W=Y+12|0,U=Z[W>>2]|0,S=(T<<10)+-1600+((N[Y+51>>0]|0)==0?0:U)|0,J=Y+8|0,Z[J>>2]=U-S+(Z[J>>2]|0),Z[W>>2]=S,g1(V),Q=(N[Y+49>>0]|0)==5&1,Q|0;break}case 6:return S=Y+128|0,W=Z[S>>2]|0,Z[S>>2]=T,Q=W,Q|0;case 8:return W=Y+132|0,S=Z[W>>2]|0,Z[W>>2]=T,Q=S,Q|0;case 7:return S=Y+136|0,W=Z[S>>2]|0,Z[S>>2]=T,Q=W,Q|0;case 9:return Q=G[Y+51>>0]|0,Q|0;case 10:{if(W=Y+50|0,(N[W>>0]|0)==2)return Q=0,Q|0;if(S=Y+49|0,N[S>>0]|0)do SV(V)|0;while((N[S>>0]|0)!=0);return Z[Y+20>>2]=(Z[Y+12>>2]|0)+(Z[Y+8>>2]|0),N[W>>0]=2,Q=0,Q|0}case 11:{if(S=Y+50|0,!(N[S>>0]|0))return Q=0,Q|0;if(N[S>>0]=0,TR(V)|0,S=(Z[X>>2]|0)+49|0,1<>0]&-29|0)return Q=0,Q|0;do SV(V)|0;while(!(1<>0]&-29|0));return Q=0,Q|0}default:return Q=-1,Q|0}while(0);return 0}function _S(V){return V=V|0,ZS(V),0}function W$(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0;T=Z[V+16>>2]|0;do if(($|0)<=0){if(($|0)>=-1000999){X=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){X=(Z[V+12>>2]|0)+36|0;break}if(Y=-1001000-$|0,Q=Z[T>>2]|0,(Z[Q+4>>2]|32|0)==54)X=2172216;else W=Z[Q>>2]|0,X=(Y|0)>(G[W+6>>0]|0|0)?2172216:W+16+(Y+-1<<3)|0}else Y=(Z[T>>2]|0)+($<<3)|0,X=Y>>>0<(Z[V+8>>2]|0)>>>0?Y:2172216;while(0);$=Z[X>>2]|0,X=V+8|0,T=Z[X>>2]|0,Y=T+-8|0,W=jL(V,$,Y)|0,V=W+1|0,Q=Z[$+28>>2]|0;Z:do if((V|0)<(Q|0)){U=$+12|0,S=Z[U>>2]|0,J=W,_=V;while(!0){if(Z[S+(_<<3)+4>>2]|0)break;if(K=_+1|0,(K|0)<(Q|0))P=_,_=K,J=P;else{O=K,L=14;break Z}}Z[Y>>2]=(J<<16)+131072,Z[T+-4>>2]=3,S=Z[U>>2]|0,Z[T>>2]=Z[S+(_<<3)>>2],F=S+(_<<3)+4|0}else O=V,L=14;while(0);do if((L|0)==14){if(V=O-Q|0,W=1<<(G[$+7>>0]|0),(V|0)>=(W|0))return z=-1,H=0,C=Z[X>>2]|0,A=C+(z<<3)|0,Z[X>>2]=A,H|0;S=$+16|0,K=Z[S>>2]|0,P=V;while(!0){if(Z[K+(P*20|0)+4>>2]|0){L=17;break}if(V=P+1|0,(V|0)<(W|0))P=V;else{z=-1,H=0,L=20;break}}if((L|0)==17){Z[Y>>2]=Z[K+(P*20|0)+8>>2],Z[T+-4>>2]=Z[K+(P*20|0)+12>>2],W=Z[S>>2]|0,Z[T>>2]=Z[W+(P*20|0)>>2],F=W+(P*20|0)+4|0;break}else if((L|0)==20)return C=Z[X>>2]|0,A=C+(z<<3)|0,Z[X>>2]=A,H|0}while(0);return Z[T+4>>2]=Z[F>>2],z=1,H=1,C=Z[X>>2]|0,A=C+(z<<3)|0,Z[X>>2]=A,H|0}function jL(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;switch(X=q,q=q+16|0,Y=X,Q=T+4|0,Z[Q>>2]|0){case 3:{W=2;break}case 0:return U=-1,q=X,U|0;default:}if(((W|0)==2?(S=Z[T>>2]|0,J=S>>16,(S|0)>65535&((S+-65536|0)>>>0<2147352577&(S&65535|0)==0)):0)?(J|0)<=(Z[$+28>>2]|0):0)return U=J+-1|0,q=X,U|0;J=LQ($,T)|0;while(!0){if(S=J+8|0,_=J+12|0,K=Z[_>>2]|0,(K|0)==(Z[Q>>2]|0)){if(YZ(0,S,T)|0)break;P=Z[_>>2]|0}else P=K;if(((P|0)==11?Z[Q>>2]&64|0:0)?(Z[S>>2]|0)==(Z[T>>2]|0):0)break;if(S=Z[J+16>>2]|0,!S){W=14;break}else J=S}if((W|0)==14)q1(V,48142,Y);return U=((J-(Z[$+16>>2]|0)|0)/20|0)+(Z[$+28>>2]|0)|0,q=X,U|0}function kL(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;if(($|0)<=1){if($|0)return;T=V+8|0,X=Z[T>>2]|0,Y=P7(V,3144900,0)|0,Z[X>>2]=Y,Z[X+4>>2]=(N[Y+4>>0]|64)&255,Z[T>>2]=(Z[T>>2]|0)+8;return}T=Z[V+12>>2]|0,Y=T+12|0,X=Z[Y>>2]|0;do if((X|0)>0)if(!(N[T+51>>0]|0)){Q=T+8|0,Z[Q>>2]=X+1600+(Z[Q>>2]|0),Z[Y>>2]=-1600;break}else{g1(V);break}while(0);LT(V,$);return}function pL(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0;if(Y=q,q=q+160|0,Q=Y+40|0,W=Y+32|0,U=Y+24|0,S=Y+16|0,J=Y+8|0,_=Y,K=Y+48|0,P=V+8|0,O=V+16|0,L=(Z[P>>2]|0)-((Z[Z[O>>2]>>2]|0)+8)>>3,F=$+16|0,z=Z[F>>2]|0,H=$+72|0,(z|0)==(H|0))C=0,A=1;else{y=1,k=1;while(!0){if(!y)m=z,I=0;else{u=z,g=y;while(!0)if(i=g+-1|0,t=Z[u+8>>2]|0,(g|0)>1&(t|0)!=(H|0))u=t,g=i;else{m=t,I=i;break}}if((I|0)!=0|(m|0)==(H|0)){Y0=y,X0=k;break}if(g=y<<1,(y|0)<0){Y0=g,X0=y;break}else u=y,y=g,k=u}if((X0|0)<(Y0|0)){k=Y0,y=X0;while(!0){if(X0=k+y|0,m=(X0|0)/2|0,(X0|0)<-1)T0=0;else{if((X0+1|0)>>>0>2){X0=z,I=m;while(!0)if(u=I+-1|0,g=Z[X0+8>>2]|0,(I|0)>1&(g|0)!=(H|0))X0=g,I=u;else{Z0=g,W0=u;break}}else Z0=z,W0=m;T0=(W0|0)==0&(Z0|0)!=(H|0)&1}if(I=(T0|0)==0,X0=I?m:k,y=I?y:m+1|0,(y|0)>=(X0|0)){O0=X0;break}else k=X0}}else O0=Y0;C=(O0|0)>23?12:0,A=O0}if(T|0)Z[_>>2]=T,b9(V,59968,_)|0;_=V+12|0,T=Z[_>>2]|0,O0=T+12|0,Y0=Z[O0>>2]|0;do if((Y0|0)>0)if(!(N[T+51>>0]|0)){k=T+8|0,Z[k>>2]=Y0+1600+(Z[k>>2]|0),Z[O0>>2]=-1600;break}else{g1(V);break}while(0);if(O0=P7(V,48164,16)|0,Y0=Z[P>>2]|0,Z[Y0>>2]=O0,Z[Y0+4>>2]=(N[O0+4>>0]|64)&255,O0=(Z[P>>2]|0)+8|0,Z[P>>2]=O0,(X|0)<0)y0=O0,E0=O0;else{O0=K+96|0,Y0=K+36|0,T=K+20|0,k=A+-11|0,A=K+8|0,y=K+12|0,T0=K+35|0,Z0=K+4|0,W0=K+24|0,z=X;while(!0){if(X=z+1|0,X0=Z[F>>2]|0,(z|0)!=0&(X0|0)!=(H|0)){I=X0,u=z;while(!0)if(g=u+-1|0,i=Z[I+8>>2]|0,(u|0)>1&(i|0)!=(H|0))I=i,u=g;else{H0=i,D0=g;break}}else H0=X0,D0=z;if((D0|0)!=0|(H0|0)==(H|0))break;Z[O0>>2]=H0;do if((X|0)==(C|0)){u=Z[_>>2]|0,I=u+12|0,m=Z[I>>2]|0;do if((m|0)>0)if(!(N[u+51>>0]|0)){g=u+8|0,Z[g>>2]=m+1600+(Z[g>>2]|0),Z[I>>2]=-1600;break}else{g1(V);break}while(0);I=P7(V,48181,5)|0,m=Z[P>>2]|0,Z[m>>2]=I,Z[m+4>>2]=(N[I+4>>0]|64)&255,Z[P>>2]=(Z[P>>2]|0)+8,_0=k}else{if(ZQ($,48187,K)|0,Z[J>>2]=Y0,b9(V,48192,J)|0,I=Z[T>>2]|0,(I|0)>0)Z[S>>2]=I<<16,b9(V,48198,S)|0;I=Z[_>>2]|0,m=I+12|0,u=Z[m>>2]|0;do if((u|0)>0)if(!(N[I+51>>0]|0)){g=I+8|0,Z[g>>2]=u+1600+(Z[g>>2]|0),Z[m>>2]=-1600;break}else{g1(V);break}while(0);m=P7(V,48202,4)|0,u=Z[P>>2]|0,Z[u>>2]=m,Z[u+4>>2]=(N[m+4>>0]|64)&255,Z[P>>2]=(Z[P>>2]|0)+8;Z:do if(!(N[Z[A>>2]>>0]|0))switch(N[Z[y>>2]>>0]|0){case 109:{m=Z[_>>2]|0,u=m+12|0,I=Z[u>>2]|0;do if((I|0)>0)if(!(N[m+51>>0]|0)){g=m+8|0,Z[g>>2]=I+1600+(Z[g>>2]|0),Z[u>>2]=-1600;break}else{g1(V);break}while(0);u=P7(V,48221,10)|0,I=Z[P>>2]|0,Z[I>>2]=u,Z[I+4>>2]=(N[u+4>>0]|64)&255,Z[P>>2]=(Z[P>>2]|0)+8;break Z}case 67:{if(!(KS(V,K)|0)){u=Z[_>>2]|0,I=u+12|0,m=Z[I>>2]|0;do if((m|0)>0)if(!(N[u+51>>0]|0)){g=u+8|0,Z[g>>2]=m+1600+(Z[g>>2]|0),Z[I>>2]=-1600;break}else{g1(V);break}while(0);I=P7(V,78709,1)|0,m=Z[P>>2]|0,Z[m>>2]=I,Z[m+4>>2]=(N[I+4>>0]|64)&255,Z[P>>2]=(Z[P>>2]|0)+8;break Z}if(I=Z[P>>2]|0,m=I+-8|0,(Z[I+-4>>2]&15|0)!=4)if(!(WY(V,m)|0))F0=0;else{I=Z[_>>2]|0,u=I+12|0,g=Z[u>>2]|0;do if((g|0)>0)if(!(N[I+51>>0]|0)){i=I+8|0,Z[i>>2]=g+1600+(Z[i>>2]|0),Z[u>>2]=-1600;break}else{g1(V);break}while(0);k0=(Z[P>>2]|0)+-8|0,m0=57}else k0=m,m0=57;if((m0|0)==57)m0=0,F0=(Z[k0>>2]|0)+16|0;Z[W>>2]=F0,b9(V,48207,W)|0,u=Z[P>>2]|0,g=u+-8|0,I=u+-16|0;while(!0)if(Z[I>>2]=Z[g>>2],Z[I+4>>2]=Z[I+12>>2],u=g+8|0,B0=Z[P>>2]|0,u>>>0>>0)i=g,g=u,I=i;else break;Z[P>>2]=B0+-8;break Z}default:{I=Z[W0>>2]<<16,Z[Q>>2]=Y0,Z[Q+4>>2]=I,b9(V,48232,Q)|0;break Z}}else Z[U>>2]=Z[Z0>>2],b9(V,48207,U)|0;while(0);if(!(N[T0>>0]|0))I=Z[P>>2]|0,g0=I,o0=I;else{I=Z[_>>2]|0,g=I+12|0,m=Z[g>>2]|0;do if((m|0)>0)if(!(N[I+51>>0]|0)){i=I+8|0,Z[i>>2]=m+1600+(Z[i>>2]|0),Z[g>>2]=-1600;break}else{g1(V);break}while(0);g=P7(V,48249,20)|0,m=Z[P>>2]|0,Z[m>>2]=g,Z[m+4>>2]=(N[g+4>>0]|64)&255,g=(Z[P>>2]|0)+8|0,Z[P>>2]=g,g0=g,o0=g}if(g=(g0-((Z[Z[O>>2]>>2]|0)+8)>>3)-L|0,(g|0)<=1){if(g|0){_0=X;break}m=P7(V,3144900,0)|0,Z[o0>>2]=m,Z[o0+4>>2]=(N[m+4>>0]|64)&255,Z[P>>2]=(Z[P>>2]|0)+8,_0=X;break}m=Z[_>>2]|0,I=m+12|0,i=Z[I>>2]|0;do if((i|0)>0)if(!(N[m+51>>0]|0)){u=m+8|0,Z[u>>2]=i+1600+(Z[u>>2]|0),Z[I>>2]=-1600;break}else{g1(V);break}while(0);LT(V,g),_0=X}while(0);if((_0|0)<0)break;else z=_0}_0=Z[P>>2]|0,y0=_0,E0=_0}if(_0=(y0-((Z[Z[O>>2]>>2]|0)+8)>>3)-L|0,(_0|0)<=1){if(_0|0){q=Y;return}L=P7(V,3144900,0)|0,Z[E0>>2]=L,Z[E0+4>>2]=(N[L+4>>0]|64)&255,Z[P>>2]=(Z[P>>2]|0)+8,q=Y;return}P=Z[_>>2]|0,_=P+12|0,L=Z[_>>2]|0;do if((L|0)>0)if(!(N[P+51>>0]|0)){E0=P+8|0,Z[E0>>2]=L+1600+(Z[E0>>2]|0),Z[_>>2]=-1600;break}else{g1(V);break}while(0);LT(V,_0),q=Y;return}function ZQ(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0;if(X=q,q=q+16|0,Y=X,(N[$>>0]|0)==62)Q=V+8|0,W=(Z[Q>>2]|0)+-8|0,Z[Q>>2]=W,U=0,S=W,J=$+1|0;else W=Z[T+96>>2]|0,U=W,S=Z[W>>2]|0,J=$;if($=S+4|0,(Z[$>>2]&31|0)==6)_=Z[S>>2]|0;else _=0;W=N[J>>0]|0;Z:do if(!(W<<24>>24))K=1;else{Q=(_|0)==0,P=(U|0)==0,O=T+16|0,L=T+24|0,F=T+28|0,z=T+12|0,H=T+36|0,C=_+4|0,A=T+20|0,y=U+18|0,k=T+32|0,m=T+34|0,I=T+33|0,u=_+6|0,g=T+35|0,i=T+8|0,t=T+45|0,Y0=_+12|0,X0=T+4|0,T0=U+8|0,Z0=T+95|0,W0=T+39|0,O0=U+28|0,y0=V+12|0,E0=W,H0=1,D0=J;while(!0){V:do switch(E0<<24>>24|0){case 83:{if(!Q?(N[C>>0]|0)!=38:0)_0=Z[Y0>>2]|0,F0=Z[_0+36>>2]|0,k0=(F0|0)==0?48275:F0+16|0,Z[O>>2]=k0,F0=Z[_0+64>>2]|0,Z[L>>2]=F0,Z[F>>2]=Z[_0+68>>2],m0=k0,B0=(F0|0)==0?48278:48283;else Z[O>>2]=48270,Z[L>>2]=-1,Z[F>>2]=-1,m0=48270,B0=95714;switch(Z[z>>2]=B0,F0=x6(m0)|0,N[m0>>0]|0){case 61:{if(k0=m0+1|0,F0>>>0>60){g0=H,o0=k0,h0=g0+59|0;do N[g0>>0]=N[o0>>0]|0,g0=g0+1|0,o0=o0+1|0;while((g0|0)<(h0|0));N[Z0>>0]=0,C0=H0;break V}else{q6(H|0,k0|0,F0|0)|0,C0=H0;break V}break}case 64:{if(F0>>>0>60){N[H>>0]=N[72854]|0,N[H+1>>0]=N[72855]|0,N[H+2>>0]=N[72856]|0,g0=W0,o0=m0+1+F0+-57|0,h0=g0+57|0;do N[g0>>0]=N[o0>>0]|0,g0=g0+1|0,o0=o0+1|0;while((g0|0)<(h0|0));C0=H0;break V}else{q6(H|0,m0+1|0,F0|0)|0,C0=H0;break V}break}default:{k0=o5(m0,10)|0,g0=H,o0=46846,h0=g0+9|0;do N[g0>>0]=N[o0>>0]|0,g0=g0+1|0,o0=o0+1|0;while((g0|0)<(h0|0));if(_0=(k0|0)==0,F0>>>0<45&_0)q6(t|0,m0|0,F0|0)|0,u0=t+F0|0;else p0=_0?F0:k0-m0|0,_0=p0>>>0<45?p0:45,q6(t|0,m0|0,_0|0)|0,p0=t+_0|0,N[p0>>0]=N[72854]|0,N[p0+1>>0]=N[72855]|0,N[p0+2>>0]=N[72856]|0,u0=p0+3|0;N[u0>>0]=N[46856]|0,N[u0+1>>0]=N[46857]|0,N[u0+2>>0]=N[46858]|0,C0=H0;break V}}break}case 108:{if(!P?(N[y>>0]&1)!=0:0)if(p0=Z[(Z[Z[U>>2]>>2]|0)+12>>2]|0,_0=Z[p0+20>>2]|0,!_0)q0=0;else q0=Z[_0+(((Z[O0>>2]|0)-(Z[p0+12>>2]|0)>>2)+-1<<2)>>2]|0;else q0=-1;Z[A>>2]=q0,C0=H0;break}case 117:{if(!Q){if(N[k>>0]=N[u>>0]|0,(N[C>>0]|0)!=38){N[m>>0]=N[(Z[Y0>>2]|0)+77>>0]|0,N[I>>0]=N[(Z[Y0>>2]|0)+76>>0]|0,C0=H0;break V}}else N[k>>0]=0;N[m>>0]=1,N[I>>0]=0,C0=H0;break}case 116:{if(P)i0=0;else i0=N[y>>0]&64;N[g>>0]=i0,C0=H0;break}case 110:{$:do if((!P?(N[y>>0]&64)==0:0)?(p0=Z[T0>>2]|0,(N[p0+18>>0]&1)!=0):0){_0=Z[(Z[Z[p0>>2]>>2]|0)+12>>2]|0,t0=Z[_0+12>>2]|0,E6=((Z[p0+28>>2]|0)-t0>>2)+-1|0,p0=Z[t0+(E6<<2)>>2]|0;do switch(p0&63){case 43:case 42:{if(t0=GQ(_0,E6,p0>>>6&255,X0)|0,Z[i>>2]=t0,!t0)break $;else{C0=H0;break V}break}case 47:{Z[X0>>2]=48287,V6=48287;break}case 7:case 6:case 12:{n0=0,e0=68;break}case 10:case 8:{n0=1,e0=68;break}case 37:{n0=5,e0=68;break}case 13:{n0=6,e0=68;break}case 14:{n0=7,e0=68;break}case 15:{n0=8,e0=68;break}case 16:{n0=9,e0=68;break}case 17:{n0=10,e0=68;break}case 18:{n0=11,e0=68;break}case 19:{n0=12,e0=68;break}case 20:{n0=13,e0=68;break}case 21:{n0=14,e0=68;break}case 22:{n0=15,e0=68;break}case 23:{n0=16,e0=68;break}case 24:{n0=17,e0=68;break}case 25:{n0=18,e0=68;break}case 26:{n0=19,e0=68;break}case 27:{n0=20,e0=68;break}case 28:{n0=21,e0=68;break}case 29:{n0=22,e0=68;break}case 30:{n0=23,e0=68;break}case 31:{n0=24,e0=68;break}case 32:{n0=25,e0=68;break}case 34:{n0=4,e0=68;break}case 38:{n0=26,e0=68;break}case 39:{n0=27,e0=68;break}case 35:{n0=28,e0=68;break}default:{e0=69;break $}}while(0);if((e0|0)==68)e0=0,Z[X0>>2]=(Z[(Z[y0>>2]|0)+156+(n0<<2)>>2]|0)+16,V6=48300;Z[i>>2]=V6,C0=H0;break V}else e0=69;while(0);if((e0|0)==69)e0=0,Z[i>>2]=0;Z[i>>2]=3144900,Z[X0>>2]=0,C0=H0;break}case 102:case 76:{C0=H0;break}default:C0=0}while(0);if(D0=D0+1|0,E0=N[D0>>0]|0,!(E0<<24>>24)){K=C0;break Z}else H0=C0}}while(0);if(o5(J,102)|0)C0=V+8|0,V6=Z[C0>>2]|0,Z[V6>>2]=Z[S>>2],Z[V6+4>>2]=Z[$>>2],Z[C0>>2]=(Z[C0>>2]|0)+8;if(!(o5(J,76)|0))return q=X,K|0;if(_|0?(N[_+4>>0]|0)!=38:0){if(J=_+12|0,_=Z[(Z[J>>2]|0)+20>>2]|0,C0=Z[V+12>>2]|0,$=C0+4|0,V6=r6[Z[C0>>2]&3](Z[$>>2]|0,0,5,32)|0,!V6){if(!(N[C0+51>>0]|0))Z8(V,4);if(M2(V,1),S=r6[Z[C0>>2]&3](Z[$>>2]|0,0,5,32)|0,!S)Z8(V,4);else Z6=S}else Z6=V6;if(V6=C0+12|0,Z[V6>>2]=(Z[V6>>2]|0)+32,V6=C0+56|0,N[Z6+5>>0]=N[C0+48>>0]&3,N[Z6+4>>0]=5,Z[Z6>>2]=Z[V6>>2],Z[V6>>2]=Z6,Z[Z6+8>>2]=0,N[Z6+6>>0]=-1,V6=Z6+12|0,Z[V6>>2]=0,C0=Z6+28|0,Z[C0>>2]=0,S=Z6+16|0,Z[S>>2]=2172240,$=Z6+7|0,N[$>>0]=0,Z[Z6+20>>2]=2172240,n0=V+8|0,i0=Z[n0>>2]|0,Z[i0>>2]=Z6,Z[i0+4>>2]=69,Z[n0>>2]=(Z[n0>>2]|0)+8,(Z[(Z[J>>2]|0)+52>>2]|0)<=0)return q=X,K|0;n0=Y+4|0,i0=0;do{q0=Z[_+(i0<<2)>>2]|0,U=q0+-1|0;Z:do if(U>>>0<(Z[C0>>2]|0)>>>0)U6=(Z[V6>>2]|0)+(U<<3)|0,e0=94;else{u0=q0<<16,m0=0-u0|0,o0=(Z[S>>2]|0)+(((((u0|0)<0?(u0|0)==(m0|0)?0:m0:u0)|0)%((1<>0])+-1|1|0)|0)*20|0)|0;while(!0){if((Z[o0+12>>2]|0)==3?(Z[o0+8>>2]|0)==(u0|0):0)break;if(m0=Z[o0+16>>2]|0,!m0){N6=u0,e0=96;break Z}else o0=m0}U6=o0,e0=94}while(0);if((e0|0)==94)if(e0=0,(U6|0)==2172216)N6=q0<<16,e0=96;else A6=U6;if((e0|0)==96)e0=0,Z[Y>>2]=N6,Z[n0>>2]=3,A6=I4(V,Z6,Y)|0;Z[A6>>2]=1,Z[A6+4>>2]=1,i0=i0+1|0}while((i0|0)<(Z[(Z[J>>2]|0)+52>>2]|0));return q=X,K|0}return J=V+8|0,V=Z[J>>2]|0,Z[V+4>>2]=0,Z[J>>2]=V+8,q=X,K|0}function KS(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;T=V+8|0,X=V+16|0,Y=(Z[T>>2]|0)-((Z[Z[X>>2]>>2]|0)+8)|0,Q=Y>>3,ZQ(V,91054,$)|0,$=Z[(Z[V+12>>2]|0)+36>>2]|0;Z:do if((Z[$+28>>2]|0)>>>0>1)W=(Z[$+12>>2]|0)+8|0;else{U=(Z[$+16>>2]|0)+((131072%((1<<(G[$+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[U+12>>2]|0)==3?(Z[U+8>>2]|0)==131072:0)break;if(S=Z[U+16>>2]|0,!S){W=2172216;break Z}else U=S}W=U}while(0);if($=Z[T>>2]|0,Z[$>>2]=Z[W>>2],Z[$+4>>2]=Z[W+4>>2],Z[T>>2]=(Z[T>>2]|0)+8,W=Q+1|0,dW(V,W,2)|0)return uD(V,-1,W),J=(Z[T>>2]|0)+-16|0,_=1,Z[T>>2]=J,_|0;if((Y|0)<=-8)return J=(Z[T>>2]|0)+(W<<3)|0,_=0,Z[T>>2]=J,_|0;if(W=Z[Z[X>>2]>>2]|0,X=Z[T>>2]|0,Y=W+8+(Q<<3)|0,X>>>0>=Y>>>0)return J=Y,_=0,Z[T>>2]=J,_|0;V=(W+(Q<<3)+4+(3-X)|0)>>>3,Q=X;do Z[Q+4>>2]=0,Q=Q+8|0;while(Q>>>0>>0);return Z[T>>2]=X+(V+1<<3),J=Y,_=0,Z[T>>2]=J,_|0}function dW(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0;if(!T)return X=0,X|0;if(Y=V+16|0,Q=V+8|0,W=Z[Q>>2]|0,(W+-8|0)==2172216)return X=0,X|0;if((Z[W+-4>>2]&15|0)!=5)return X=0,X|0;if(Z[W+4>>2]=0,Z[Q>>2]=W+8,!(W$(V,-2)|0))return X=0,X|0;W=T+-1|0,T=($|0)<-1000999,U=($|0)==-1001000,S=V+12|0,J=-1001000-$|0,_=J+-1|0;Z:do if(($|0)>0){while(!0){if(K=Z[Q>>2]|0,(K+-16|0)!=2172216?(Z[K+-12>>2]&15|0)==4:0){if(P=(Z[Z[Y>>2]>>2]|0)+($<<3)|0,O=P>>>0>>0?P:2172216,P=K+-8|0,((P|0)!=2172216&(O|0)!=2172216?(Z[O+4>>2]|0)==(Z[K+-4>>2]|0):0)?YZ(0,O,P)|0:0){L=27;break Z}if(dW(V,$,W)|0)break Z;F=Z[Q>>2]|0}else F=K;if(Z[Q>>2]=F+-8,!(W$(V,-2)|0)){X=0;break}}return X|0}else{while(!0){if(K=Z[Q>>2]|0,(K+-16|0)!=2172216?(Z[K+-12>>2]&15|0)==4:0){P=Z[Y>>2]|0;do if(T){if(U){z=(Z[S>>2]|0)+36|0,L=24;break}if(O=Z[P>>2]|0,(Z[O+4>>2]|32|0)!=54)H=Z[O>>2]|0,z=(J|0)>(G[H+6>>0]|0)?2172216:H+16+(_<<3)|0,L=24}else z=K+($<<3)|0,L=24;while(0);if((((L|0)==24?(L=0,P=K+-8|0,(P|0)!=2172216&(z|0)!=2172216):0)?(Z[z+4>>2]|0)==(Z[K+-4>>2]|0):0)?YZ(0,z,P)|0:0){L=27;break Z}if(dW(V,$,W)|0)break Z;C=Z[Q>>2]|0}else C=K;if(Z[Q>>2]=C+-8,!(W$(V,-2)|0)){X=0;break}}return X|0}while(0);if((L|0)==27)return Z[Q>>2]=(Z[Q>>2]|0)+-8,X=1,X|0;L=Z[Q>>2]|0,C=L+-8|0,W=L+-16|0;while(!0)if(Z[W>>2]=Z[C>>2],Z[W+4>>2]=Z[W+12>>2],L=C+8|0,A=Z[Q>>2]|0,L>>>0>>0)$=C,C=L,W=$;else break;Z[Q>>2]=A+-8,A=Z[S>>2]|0,W=A+12|0,C=Z[W>>2]|0;do if((C|0)>0)if(!(N[A+51>>0]|0)){$=A+8|0,Z[$>>2]=C+1600+(Z[$>>2]|0),Z[W>>2]=-1600;break}else{g1(V);break}while(0);W=P7(V,103254,1)|0,C=Z[Q>>2]|0,Z[C>>2]=W,Z[C+4>>2]=(N[W+4>>0]|64)&255,W=Z[Q>>2]|0,C=W+8|0,Z[Q>>2]=C,A=C;do C=A,A=A+-8|0,Z[C>>2]=Z[A>>2],Z[C+4>>2]=Z[C+-4>>2];while(C>>>0>W>>>0);A=Z[Q>>2]|0,Z[W+-8>>2]=Z[A>>2],Z[W+-4>>2]=Z[A+4>>2],A=Z[S>>2]|0,S=A+12|0,W=Z[S>>2]|0;do if((W|0)>0)if(!(N[A+51>>0]|0)){Q=A+8|0,Z[Q>>2]=W+1600+(Z[Q>>2]|0),Z[S>>2]=-1600;break}else{g1(V);break}while(0);return LT(V,3),X=1,X|0}function e5(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;if(X=q,q=q+128|0,Y=X+16|0,Q=X+8|0,W=X,U=X+28|0,X=Z[V+16>>2]|0,(X|0)==(V+72|0))Z[W>>2]=$,Z[W+4>>2]=T,n9(V,48311,W)|0;if(Z[U+96>>2]=X,ZQ(V,48333,U)|0,!(Q6(Z[U+8>>2]|0,46583)|0))if(X=$+-1|0,!X)Z[Q>>2]=Z[U+4>>2],Z[Q+4>>2]=T,n9(V,48335,Q)|0;else S=X;else S=$;if($=U+4|0,X=Z[$>>2]|0,X|0)J=X,Z[Y>>2]=S,_=Y+4|0,Z[_>>2]=J,K=Y+8|0,Z[K>>2]=T,n9(V,48365,Y)|0;do if(!(KS(V,U)|0))P=78709;else{if(X=V+8|0,Q=Z[X>>2]|0,W=Q+-8|0,(Z[Q+-4>>2]&15|0)==4)O=W;else{if(!(WY(V,W)|0)){P=0;break}W=Z[V+12>>2]|0,Q=W+12|0,L=Z[Q>>2]|0;do if((L|0)>0)if(!(N[W+51>>0]|0)){F=W+8|0,Z[F>>2]=L+1600+(Z[F>>2]|0),Z[Q>>2]=-1600;break}else{g1(V);break}while(0);O=(Z[X>>2]|0)+-8|0}P=(Z[O>>2]|0)+16|0}while(0);return Z[$>>2]=P,J=P,Z[Y>>2]=S,_=Y+4|0,Z[_>>2]=J,K=Y+8|0,Z[K>>2]=T,n9(V,48365,Y)|0,0}function n9(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0;return X=q,q=q+16|0,Y=X,Z[Y>>2]=T,mL(V,1),rD(V,$,Y)|0,kL(V,2),_S(V)|0,0}function mL(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;if(T=q,q=q+112|0,X=T,Y=T+8|0,($|0)>=0){if(Q=Z[V+16>>2]|0,W=V+72|0,($|0)!=0&(Q|0)!=(W|0)){U=Q,S=$;while(!0)if(J=S+-1|0,_=Z[U+8>>2]|0,(S|0)>1&(_|0)!=(W|0))U=_,S=J;else{K=_,P=J;break}}else K=Q,P=$;if(!((P|0)!=0|(K|0)==(W|0))?(Z[Y+96>>2]=K,ZQ(V,48395,Y)|0,K=Y+20|0,W=Z[K>>2]|0,(W|0)>0):0){Z[X>>2]=Y+36,Z[X+4>>2]=W<<16,b9(V,48398,X)|0,Z[543056]=Z[K>>2],q=T;return}}K=Z[V+12>>2]|0,X=K+12|0,W=Z[X>>2]|0;do if((W|0)>0)if(!(N[K+51>>0]|0)){Y=K+8|0,Z[Y>>2]=W+1600+(Z[Y>>2]|0),Z[X>>2]=-1600;break}else{g1(V);break}while(0);X=P7(V,3144900,0)|0,W=V+8|0,V=Z[W>>2]|0,Z[V>>2]=X,Z[V+4>>2]=(N[X+4>>0]|64)&255,Z[W>>2]=(Z[W>>2]|0)+8,q=T;return}function uL(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if(X=q,q=q+16|0,Y=X,Q=w7(V,$,T)|0,Q|0)return q=X,Q|0;T=Z[V+16>>2]|0;do if(($|0)>0)if(W=(Z[T>>2]|0)+($<<3)|0,W>>>0<(Z[V+8>>2]|0)>>>0)U=W,S=10;else J=0;else{if(($|0)>=-1000999){U=(Z[V+8>>2]|0)+($<<3)|0,S=10;break}if(($|0)==-1001000){U=(Z[V+12>>2]|0)+36|0,S=10;break}if(W=-1001000-$|0,_=Z[T>>2]|0,(Z[_+4>>2]|32|0)!=54?(K=Z[_>>2]|0,(W|0)<=(G[K+6>>0]|0|0)):0)U=K+16+(W+-1<<3)|0,S=10;else J=0}while(0);if((S|0)==10)if((U|0)==2172216)J=0;else J=(Z[U+4>>2]&15)+1|0;return U=Z[16+(J<<2)>>2]|0,Z[Y>>2]=61335,Z[Y+4>>2]=U,e5(V,$,b9(V,48406,Y)|0)|0,q=X,Q|0}function PS(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;Y=Z[V+16>>2]|0;do if(($|0)>0){if(Q=(Z[Y>>2]|0)+($<<3)|0,Q>>>0<(Z[V+8>>2]|0)>>>0)W=Q,U=9}else{if(($|0)>=-1000999){W=(Z[V+8>>2]|0)+($<<3)|0,U=9;break}if(($|0)==-1001000){W=(Z[V+12>>2]|0)+36|0,U=9;break}if(Q=-1001000-$|0,S=Z[Y>>2]|0,(Z[S+4>>2]|32|0)!=54?(J=Z[S>>2]|0,(Q|0)<=(G[J+6>>0]|0|0)):0)W=J+16+(Q+-1<<3)|0,U=9}while(0);if(((U|0)==9?(W|0)!=2172216:0)?Z[W+4>>2]&15|0:0)return _=uL(V,$,X)|0,_|0;if(!X)return _=T,_|0;if(!T)K=0;else K=x6(T)|0;return Z[X>>2]=K,_=T,_|0}function eX(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0;T=q,q=q+16|0,X=T,Y=T+8|0,Q=V+16|0,W=Z[Q>>2]|0,U=($|0)>0;do if(!U){if(($|0)>=-1000999){S=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){S=(Z[V+12>>2]|0)+36|0;break}if(J=-1001000-$|0,_=Z[W>>2]|0,(Z[_+4>>2]|32|0)==54)S=2172216;else K=Z[_>>2]|0,S=(J|0)>(G[K+6>>0]|0|0)?2172216:K+16+(J+-1<<3)|0}else J=(Z[W>>2]|0)+($<<3)|0,S=J>>>0<(Z[V+8>>2]|0)>>>0?J:2172216;while(0);J=Z[S+4>>2]|0;Z:do if((J|0)==3)P=Z[S>>2]|0;else{do if((J&15|0)==4)if(K=Z[S>>2]|0,!(L9(K+16|0,Z[K+12>>2]|0,Y)|0)){O=Z[Q>>2]|0;break}else{P=Z[Y>>2]|0;break Z}else O=W;while(0);do if(U)if(K=(Z[O>>2]|0)+($<<3)|0,K>>>0<(Z[V+8>>2]|0)>>>0)L=K,F=24;else z=0;else{if(($|0)>=-1000999){L=(Z[V+8>>2]|0)+($<<3)|0,F=24;break}if(($|0)==-1001000){L=(Z[V+12>>2]|0)+36|0,F=24;break}if(K=-1001000-$|0,_=Z[O>>2]|0,(Z[_+4>>2]|32|0)!=54?(H=Z[_>>2]|0,(K|0)<=(G[H+6>>0]|0|0)):0)L=H+16+(K+-1<<3)|0,F=24;else z=0}while(0);if((F|0)==24)if((L|0)==2172216)z=0;else z=(Z[L+4>>2]&15)+1|0;return K=Z[16+(z<<2)>>2]|0,Z[X>>2]=46167,Z[X+4>>2]=K,e5(V,$,b9(V,48406,X)|0)|0,C=0,q=T,C|0}while(0);return C=P>>16,q=T,C|0}function lL(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0;if(V=$+4|0,X=Z[V>>2]|0,!X)return Y=0,Y|0;return Z[T>>2]=X,Z[V>>2]=0,Y=Z[$>>2]|0,Y|0}function sL(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0;return T=q,q=q+16|0,X=T,Y=x6($)|0,Z[X>>2]=$,Z[X+4>>2]=Y,Y=BD(V,3,X,$,0)|0,q=T,Y|0}function VQ(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;X=Z[V+16>>2]|0;do if(($|0)<=0){if(($|0)>=-1000999){Y=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){Y=(Z[V+12>>2]|0)+36|0;break}if(Q=-1001000-$|0,W=Z[X>>2]|0,(Z[W+4>>2]|32|0)==54)Y=2172216;else U=Z[W>>2]|0,Y=(Q|0)>(G[U+6>>0]|0|0)?2172216:U+16+(Q+-1<<3)|0}else Q=(Z[X>>2]|0)+($<<3)|0,Y=Q>>>0<(Z[V+8>>2]|0)>>>0?Q:2172216;while(0);switch($=Z[Y+4>>2]|0,$&15){case 5:{S=(Z[Y>>2]|0)+8|0;break}case 7:{S=(Z[Y>>2]|0)+8|0;break}default:S=(Z[V+12>>2]|0)+276+(($&15)<<2)|0}if($=Z[S>>2]|0,!$)return J=0,J|0;if(S=V+8|0,Y=Z[S>>2]|0,Z[Y>>2]=$,Z[Y+4>>2]=69,Z[S>>2]=(Z[S>>2]|0)+8,j4(V,T)|0,T=Z[S>>2]|0,V=CZ(Z[T+-16>>2]|0,T+-8|0)|0,T=Z[S>>2]|0,Z[T+-8>>2]=Z[V>>2],Z[T+-4>>2]=Z[V+4>>2],V=Z[S>>2]|0,T=V+-8|0,(T|0)!=2172216?(Z[V+-4>>2]&15|0)==0:0)_=V+-16|0,K=0;else{Y=T,T=V+-16|0;while(!0)if(Z[T>>2]=Z[Y>>2],Z[T+4>>2]=Z[T+12>>2],V=Y+8|0,P=Z[S>>2]|0,V>>>0

>>0)$=Y,Y=V,T=$;else break;_=P+-8|0,K=1}return Z[S>>2]=_,J=K,J|0}function oL(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if(X=q,q=q+16|0,Y=X,($+1000999|0)>>>0>1000999)Q=$;else Q=((Z[V+8>>2]|0)-(Z[Z[V+16>>2]>>2]|0)>>3)+$|0;if(!(VQ(V,Q,T)|0))return W=0,q=X,W|0;T=Z[V+16>>2]|0;do if((Q|0)<=0){if((Q|0)>=-1000999){U=(Z[V+8>>2]|0)+(Q<<3)|0;break}if((Q|0)==-1001000){U=(Z[V+12>>2]|0)+36|0;break}if($=-1001000-Q|0,S=Z[T>>2]|0,(Z[S+4>>2]|32|0)==54)U=2172216;else J=Z[S>>2]|0,U=($|0)>(G[J+6>>0]|0|0)?2172216:J+16+($+-1<<3)|0}else $=(Z[T>>2]|0)+(Q<<3)|0,U=$>>>0<(Z[V+8>>2]|0)>>>0?$:2172216;while(0);if(Q=V+8|0,T=Z[Q>>2]|0,Z[T>>2]=Z[U>>2],Z[T+4>>2]=Z[U+4>>2],U=Z[Q>>2]|0,Z[Q>>2]=U+8,Q=U+-8|0,U=V+38|0,T=(j[U>>1]|0)+1<<16>>16,j[U>>1]=T,(T&65535)>199){if(T<<16>>16==200)q1(V,46208,Y);if((T&65535)>224)Z8(V,6)}if(T=V+36|0,j[T>>1]=(j[T>>1]|0)+1<<16>>16,!(g3(V,Q,1)|0))t3(V);return j[T>>1]=(j[T>>1]|0)+-1<<16>>16,j[U>>1]=(j[U>>1]|0)+-1<<16>>16,W=1,q=X,W|0}function OS(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0;X=q,q=q+16|0,Y=X;Z:do if(!(oL(V,$,48471)|0)){Q=Z[V+16>>2]|0,W=($|0)>0;do if(W)if(U=(Z[Q>>2]|0)+($<<3)|0,S=Z[V+8>>2]|0,U>>>0>>0)J=U,_=10;else K=S,P=U,_=40;else{if(($|0)>=-1000999){J=(Z[V+8>>2]|0)+($<<3)|0,_=10;break}if(($|0)==-1001000){J=(Z[V+12>>2]|0)+36|0,_=10;break}if(U=-1001000-$|0,S=Z[Q>>2]|0,O=Z[S+4>>2]|32,(O|0)!=54)if(L=Z[S>>2]|0,(U|0)>(G[L+6>>0]|0))F=O,z=S,H=U,_=46;else J=L+16+(U+-1<<3)|0,_=10;else C=0}while(0);do if((_|0)==10){V:do if((J|0)!=2172216)switch(Z[J+4>>2]&15){case 4:case 3:{do if(!W){if(($|0)>=-1000999){A=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){A=(Z[V+12>>2]|0)+36|0;break}if(U=-1001000-$|0,L=Z[Q>>2]|0,(Z[L+4>>2]|32|0)==54)A=2172216;else S=Z[L>>2]|0,A=(U|0)>(G[S+6>>0]|0)?2172216:S+16+(U+-1<<3)|0}else U=(Z[Q>>2]|0)+($<<3)|0,A=U>>>0<(Z[V+8>>2]|0)>>>0?U:2172216;while(0);U=V+8|0,S=Z[U>>2]|0,Z[S>>2]=Z[A>>2],Z[S+4>>2]=Z[A+4>>2],Z[U>>2]=(Z[U>>2]|0)+8;break Z}case 1:{do if(!W){if(($|0)>=-1000999){y=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){y=(Z[V+12>>2]|0)+36|0;break}if(U=-1001000-$|0,S=Z[Q>>2]|0,(Z[S+4>>2]|32|0)==54)y=2172216;else L=Z[S>>2]|0,y=(U|0)>(G[L+6>>0]|0)?2172216:L+16+(U+-1<<3)|0}else U=(Z[Q>>2]|0)+($<<3)|0,y=U>>>0<(Z[V+8>>2]|0)>>>0?U:2172216;while(0);switch(Z[y+4>>2]|0){case 0:{_=31;break}case 1:{if(!(Z[y>>2]|0))_=31;else k=63936;break}default:k=63936}if((_|0)==31)k=63941;j4(V,k)|0;break Z}case 0:{U=Z[V+12>>2]|0,L=U+12|0,S=Z[L>>2]|0;do if((S|0)>0)if(!(N[U+51>>0]|0)){O=U+8|0,Z[O>>2]=S+1600+(Z[O>>2]|0),Z[L>>2]=-1600;break}else{g1(V);break}while(0);L=P7(V,63947,3)|0,S=V+8|0,U=Z[S>>2]|0,Z[U>>2]=L,Z[U+4>>2]=(N[L+4>>0]|64)&255,Z[S>>2]=(Z[S>>2]|0)+8;break Z}default:break V}while(0);if(W){K=Z[V+8>>2]|0,P=(Z[Q>>2]|0)+($<<3)|0,_=40;break}if(($|0)>=-1000999){m=(Z[V+8>>2]|0)+($<<3)|0,_=48;break}if(($|0)==-1001000){m=(Z[V+12>>2]|0)+36|0,_=48;break}else{S=Z[Q>>2]|0,F=Z[S+4>>2]|32,z=S,H=-1001000-$|0,_=46;break}}while(0);if((_|0)==40)if(P>>>0>>0)m=P,_=48;else C=0;else if((_|0)==46)if((F|0)!=54?(Q=Z[z>>2]|0,(H|0)<=(G[Q+6>>0]|0)):0)m=Q+16+(H+-1<<3)|0,_=48;else C=0;if((_|0)==48)if((m|0)==2172216)C=0;else C=(Z[m+4>>2]&15)+1|0;Q=Z[16+(C<<2)>>2]|0,W=oD(V,$)|0,Z[Y>>2]=Q,Z[Y+4>>2]=W,b9(V,48482,Y)|0}while(0);if(Y=V+8|0,$=Z[Y>>2]|0,C=$+-8|0,(Z[$+-4>>2]&15|0)==4)I=C;else{if(!(WY(V,C)|0)){if(!T)return u=0,q=X,u|0;return Z[T>>2]=0,u=0,q=X,u|0}C=Z[V+12>>2]|0,$=C+12|0,m=Z[$>>2]|0;do if((m|0)>0)if(!(N[C+51>>0]|0)){_=C+8|0,Z[_>>2]=m+1600+(Z[_>>2]|0),Z[$>>2]=-1600;break}else{g1(V);break}while(0);I=(Z[Y>>2]|0)+-8|0}if(T|0)Z[T>>2]=Z[(Z[I>>2]|0)+12>>2];return u=(Z[I>>2]|0)+16|0,q=X,u|0}function GS(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;if(T=q,q=q+16|0,X=r6[V&3]($,0,8,432)|0,!X)return Y=0,q=T,Y|0;Q=X+120|0,Z[X>>2]=0,N[X+4>>0]=8,N[X+168>>0]=33,N[X+5>>0]=1,N[X+170>>0]=0,Z[X+12>>2]=Q,Z[X+28>>2]=0,Z[X+16>>2]=0,Z[X+32>>2]=0,Z[X+64>>2]=0,j[X+38>>1]=0,Z[X+52>>2]=0,N[X+40>>0]=0,Z[X+44>>2]=0,N[X+41>>0]=1,Z[X+48>>2]=0,Z[X+56>>2]=0,j[X+36>>1]=1,N[X+6>>0]=0,Z[X+68>>2]=0,Z[Q>>2]=V,Z[X+124>>2]=$,Z[X+264>>2]=X,$=X,V=T,Q=(U8(0)|0)^16,W=(Q>>>2)+(1>>>24&255)+(Q<<5)^Q,Q=(W>>>2)+(1>>>16&255)+(W<<5)^W,W=(Q>>>2)+(1>>>8&255)+(Q<<5)^Q,Q=(W>>>2)+1+(W<<5)^W,W=(Q>>>2)+(2172216>>>24&255)+(Q<<5)^Q,Q=(W>>>2)+(2172216>>>16&255)+(W<<5)^W,W=(Q>>>2)+(2172216>>>8&255)+(Q<<5)^Q,Q=(W>>>2)+56+(W<<5)^W,W=(Q>>>2)+(V>>>24)+(Q<<5)^Q,Q=(W>>>2)+(V>>>16&255)+(W<<5)^W,W=(Q>>>2)+(V>>>8&255)+(Q<<5)^Q,Q=(W>>>2)+(V&252)+(W<<5)^W,W=(Q>>>2)+($>>>24)+(Q<<5)^Q,Q=(W>>>2)+($>>>16&255)+(W<<5)^W,W=(Q>>>2)+($>>>8&255)+(Q<<5)^Q,Z[X+164>>2]=(W>>>2)+($&255)+(W<<5)^W,W=X+216|0,Z[X+228>>2]=W,Z[X+232>>2]=W,N[X+171>>0]=0,W=X+140|0,Z[X+160>>2]=0,Z[X+236>>2]=0,Z[X+244>>2]=0,Z[X+260>>2]=0,Z[X+268>>2]=0,Z[W>>2]=0,Z[W+4>>2]=0,Z[W+8>>2]=0,Z[W+12>>2]=0,N[X+169>>0]=5,W=X+128|0,$=X+176|0,Q=$+40|0;do Z[$>>2]=0,$=$+4|0;while(($|0)<(Q|0));Z[W>>2]=432,Z[X+132>>2]=0,Z[X+248>>2]=200,Z[X+252>>2]=200,Z[X+256>>2]=200,$=X+396|0,Q=$+36|0;do Z[$>>2]=0,$=$+4|0;while(($|0)<(Q|0));if(!(Y$(X,5,0)|0))return Y=X,q=T,Y|0;return MS(X),Y=0,q=T,Y|0}function nL(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0;if($=q,q=q+16|0,T=$,X=V+12|0,Y=Z[X>>2]|0,Q=Y+4|0,W=r6[Z[Y>>2]&3](Z[Q>>2]|0,0,0,320)|0,!W){if(!(N[Y+51>>0]|0))Z8(V,4);if(M2(V,1),U=r6[Z[Y>>2]&3](Z[Q>>2]|0,0,0,320)|0,!U)Z8(V,4);else S=U}else S=W;if(W=Y+12|0,Z[W>>2]=(Z[W>>2]|0)+320,Z[V+28>>2]=S,Z[V+32>>2]=40,W=S+4|0,Z[W>>2]=0,Z[S+12>>2]=0,Z[S+20>>2]=0,Z[S+28>>2]=0,Z[S+36>>2]=0,Z[S+44>>2]=0,Z[S+52>>2]=0,Z[S+60>>2]=0,Z[S+68>>2]=0,Z[S+76>>2]=0,Z[S+84>>2]=0,Z[S+92>>2]=0,Z[S+100>>2]=0,Z[S+108>>2]=0,Z[S+116>>2]=0,Z[S+124>>2]=0,Z[S+132>>2]=0,Z[S+140>>2]=0,Z[S+148>>2]=0,Z[S+156>>2]=0,Z[S+164>>2]=0,Z[S+172>>2]=0,Z[S+180>>2]=0,Z[S+188>>2]=0,Z[S+196>>2]=0,Z[S+204>>2]=0,Z[S+212>>2]=0,Z[S+220>>2]=0,Z[S+228>>2]=0,Z[S+236>>2]=0,Z[S+244>>2]=0,Z[S+252>>2]=0,Z[S+260>>2]=0,Z[S+268>>2]=0,Z[S+276>>2]=0,Z[S+284>>2]=0,Z[S+292>>2]=0,Z[S+300>>2]=0,Z[S+308>>2]=0,Z[S+316>>2]=0,Z[V+24>>2]=S+280,U=V+72|0,Z[V+80>>2]=0,Z[V+84>>2]=0,N[V+90>>0]=0,Z[U>>2]=S,Z[V+8>>2]=S+8,Z[W>>2]=0,Z[V+76>>2]=S+168,Z[V+16>>2]=U,U=Z[X>>2]|0,S=U+4|0,W=r6[Z[U>>2]&3](Z[S>>2]|0,0,5,32)|0,!W){if(!(N[U+51>>0]|0))Z8(V,4);if(M2(V,1),Q=r6[Z[U>>2]&3](Z[S>>2]|0,0,5,32)|0,!Q)Z8(V,4);else J=Q}else J=W;W=U+12|0,Z[W>>2]=(Z[W>>2]|0)+32,W=U+56|0,N[J+5>>0]=N[U+48>>0]&3,N[J+4>>0]=5,Z[J>>2]=Z[W>>2],Z[W>>2]=J,Z[J+8>>2]=0,N[J+6>>0]=-1,W=J+12|0,Z[W>>2]=0,U=J+28|0,Z[U>>2]=0,Q=J+16|0,Z[Q>>2]=2172240,S=J+7|0,N[S>>0]=0,Z[J+20>>2]=2172240,Z[Y+36>>2]=J,Z[Y+40>>2]=69,PQ(V,J,2,0),_=V;Z:do if(!(Z[U>>2]|0)){K=(Z[Q>>2]|0)+((65536%((1<>0])+-1|1|0)|0)*20|0)|0;while(!0){if((Z[K+12>>2]|0)==3?(Z[K+8>>2]|0)==65536:0)break;if(P=Z[K+16>>2]|0,!P){O=17;break Z}else K=P}L=K,O=16}else L=Z[W>>2]|0,O=16;while(0);if((O|0)==16)if((L|0)==2172216)O=17;else F=L;if((O|0)==17)Z[T>>2]=65536,Z[T+4>>2]=3,F=I4(V,J,T)|0;if(Z[F>>2]=_,Z[F+4>>2]=72,F=Z[X>>2]|0,_=F+4|0,L=r6[Z[F>>2]&3](Z[_>>2]|0,0,5,32)|0,!L){if(!(N[F+51>>0]|0))Z8(V,4);if(M2(V,1),P=r6[Z[F>>2]&3](Z[_>>2]|0,0,5,32)|0,!P)Z8(V,4);else z=P}else z=L;L=F+12|0,Z[L>>2]=(Z[L>>2]|0)+32,L=F+56|0,N[z+5>>0]=N[F+48>>0]&3,N[z+4>>0]=5,Z[z>>2]=Z[L>>2],Z[L>>2]=z,Z[z+8>>2]=0,N[z+6>>0]=-1,Z[z+12>>2]=0,Z[z+28>>2]=0,Z[z+16>>2]=2172240,N[z+7>>0]=0,Z[z+20>>2]=2172240,L=z;Z:do if((Z[U>>2]|0)>>>0>1)H=(Z[W>>2]|0)+8|0,O=29;else{z=(Z[Q>>2]|0)+((131072%((1<>0])+-1|1|0)|0)*20|0)|0;while(!0){if((Z[z+12>>2]|0)==3?(Z[z+8>>2]|0)==131072:0)break;if(F=Z[z+16>>2]|0,!F){O=30;break Z}else z=F}H=z,O=29}while(0);if((O|0)==29)if((H|0)==2172216)O=30;else C=H;if((O|0)==30)Z[T>>2]=131072,Z[T+4>>2]=3,C=I4(V,J,T)|0;Z[C>>2]=L,Z[C+4>>2]=69,RN(V,32),C=0;do L=Z[960+(C<<2)>>2]|0,T=y9(V,L,x6(L)|0)|0,Z[(Z[X>>2]|0)+156+(C<<2)>>2]=T,T=(Z[(Z[X>>2]|0)+156+(C<<2)>>2]|0)+5|0,N[T>>0]=N[T>>0]|32,C=C+1|0;while((C|0)!=30);C=0;do X=Z[656+(C<<2)>>2]|0,T=y9(V,X,x6(X)|0)|0,X=T+5|0,N[X>>0]=N[X>>0]|32,C=C+1|0,N[T+6>>0]=C;while((C|0)!=22);C=P7(V,49448,17)|0,Z[Y+152>>2]=C,V=C+5|0,N[V>>0]=N[V>>0]|32,N[Y+51>>0]=1,Z[Y+148>>2]=34796,q=$;return}function MS(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;if($=V+12|0,T=Z[$>>2]|0,X=V+28|0,q4(V,Z[X>>2]|0),D8(V),Y=Z[$>>2]|0,Q=Z[Y+24>>2]|0,W=Z[Y+32>>2]<<2,r6[Z[Y>>2]&3](Z[Y+4>>2]|0,Q,W,0)|0,U=Y+12|0,Z[U>>2]=(Z[U>>2]|0)+((Q|0)==0?0:0-W|0),W=T+116|0,Q=Z[W>>2]|0,U=T+124|0,Y=Z[U>>2]|0,S=Z[$>>2]|0,J=r6[Z[S>>2]&3](Z[S+4>>2]|0,Q,Y,0)|0,_=S+12|0,Z[_>>2]=(Z[_>>2]|0)+((Q|0)==0?0:0-Y|0),Z[W>>2]=J,Z[U>>2]=0,U=Z[X>>2]|0,!U){K=Z[T>>2]|0,P=T+4|0,O=Z[P>>2]|0,r6[K&3](O,V,432,0)|0;return}if(Z[V+16>>2]=V+72,J=V+84|0,W=Z[J>>2]|0,Z[J>>2]=0,!W)L=U;else{U=W;do W=U,U=Z[U+12>>2]|0,J=Z[$>>2]|0,r6[Z[J>>2]&3](Z[J+4>>2]|0,W,40,0)|0,Y=J+12|0,Z[Y>>2]=(Z[Y>>2]|0)-((W|0)==0?0:40);while((U|0)!=0);L=Z[X>>2]|0}X=Z[V+32>>2]<<3,U=Z[$>>2]|0,r6[Z[U>>2]&3](Z[U+4>>2]|0,L,X,0)|0,$=U+12|0,Z[$>>2]=(Z[$>>2]|0)-((L|0)==0?0:X),K=Z[T>>2]|0,P=T+4|0,O=Z[P>>2]|0,r6[K&3](O,V,432,0)|0;return}function Q4(V){V=V|0;var $=0,T=0;if(!(l0(26)|0))return u9(101597)|0,0;if(l0(46)|0,$=x6(V)|0,($|0)>0){T=0;do $8(47,N[V+T>>0]|0)|0,T=T+1|0;while((T|0)!=($|0))}return l0(48)|0,0}function rL(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0;if($=q,q=q+16|0,T=$+4|0,X=$,Y=(V|0)==0,Q=Z[543653]|0,Y|(Q|0)!=0)W=Q;else{if(M0(T|0,X|0)|0,!(l0(34)|0))U=Z[X>>2]|0;else Z[T>>2]=l0(35)|0,Q=l0(36)|0,Z[X>>2]=Q,U=Q;Z[730435]=Z[T>>2]<<2,Z[730436]=U<<2,W=Z[543653]|0}if(!(Y&(W|0)!=0)){Z[543653]=V,q=$;return}u9(101745)|0,l0(49)|0,Z[543653]=V,q=$;return}function IC(V){V=V|0;return}function hL(V,$,T){V=V|0,$=$|0,T=T|0;var X=0;if(X=TQ(V,103074)|0,X|0)a7($,1,T,X)|0,I5(X);if(X=Z[V+1024>>2]|0,!X){$6(V);return}oN[X&7](V),$6(V);return}function gL(V){V=V|0;var $=0,T=0;if($=q,q=q+16|0,T=$,V|0)Z[T>>2]=V,b1(101811,T)|0;if(r7(Z[8720]|0)|0,T=Z[V+1028>>2]|0,!T){$6(V),q=$;return}oN[T&7](V),$6(V),q=$;return}function bW(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0;return Y=Y1(1032)|0,w5(Y,$)|0,Z[Y+1024>>2]=T,Z[Y+1028>>2]=X,d6(V|0,Y|0,2,4),0}function eW(){var V=0;if(Z[543654]|0)return V=0,V|0;return V=l0(41)|0,V|0}function LS(V){V=V|0;var $=0;if($=Z[730439]|0,$|0)$6($);return $=Y1((x6(V)|0)+1|0)|0,Z[730439]=$,w5($,V)|0,l0(50)|0,0}function DS(V){return V=V|0,l0(51)|0,z6(52,V|0,x6(V)|0)|0,l0(53)|0}function $Q(){if(Z[730434]|0)return;Z[730434]=1,l0(54)|0;return}function iL(){var V=0,$=0,T=0;if(l0(55)|0)return x8(1791328,0,131073)|0,z6(56,1791328,131072)|0,V=B2((x6(1791328)|0)+1|0)|0,w5(V,1791328)|0,$=V,$|0;if(V=Z[730439]|0,!V)return T=B2(2)|0,N[T>>0]=0,$=T,$|0;else return T=Y1((x6(V)|0)+1|0)|0,w5(T,Z[730439]|0)|0,$=T,$|0;return 0}function tL(V){return V=V|0,0}function TQ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;T=q,q=q+1296|0,X=T+1280|0,Y=T+1024|0,Q=T+512|0,W=T,R4(V,0,Q,W),Z[X>>2]=Q,Z[X+4>>2]=W,a6(Y,102731,X)|0,X=Z[730440]|0;Z:do if((X|0)>0){W=0;while(!0){if(Q=Z[1922416+(W<<2)>>2]|0,W=W+1|0,!(Q6(Y,Q+24|0)|0)){U=Q;break Z}if((W|0)>=(X|0)){U=0;break}}}else U=0;while(0);switch(N[$>>0]|0){case 114:{if(!U)return S=0,q=T,S|0;return Z[U+20>>2]=0,S=U,q=T,S|0}case 119:{if(!U)return $=Q3(0)|0,Z[$+4>>2]=1,V8($+24|0,Y)|0,Y=Z[730440]|0,Z[1922416+(Y<<2)>>2]=$,Z[730440]=Y+1,S=$,q=T,S|0;else return Z[U+16>>2]=0,Z[U+20>>2]=0,S=U,q=T,S|0;break}default:return S=0,q=T,S|0}return 0}function OX(V){V=V|0;var $=0,T=0,X=0;$=Z[730440]|0;Z:do if(($|0)>0){T=0;while(!0){if((Z[1922416+(T<<2)>>2]|0)==(V|0)){X=1;break Z}if(T=T+1|0,(T|0)>=($|0)){X=0;break}}}else X=0;while(0);return X|0}function $Z(){var V=0,$=0,T=0;V=B2(46756)|0,x8(V|0,0,46756)|0,Z[V>>2]=Y1(65538)|0,$=V+4|0,Z[$>>2]=h1(128,128,8)|0,Z[V+12>>2]=h1(128,64,8)|0,Z[V+8>>2]=Z[$>>2],$=V+16|0,T=0;do Z[$+(T*660|0)+8>>2]=(T|0)==0?1:16,T=T+1|0;while((T|0)!=64);T=V+42256|0,$=0;do Z[T+($<<4)>>2]=65,Z[T+($<<4)+4>>2]=66,Z[T+($<<4)+8>>2]=67,Z[T+($<<4)+12>>2]=68,$=$+1|0;while(($|0)!=64);return Z[V+44588>>2]=aX()|0,Z[V+44592>>2]=aX()|0,Z[V+44596>>2]=aX()|0,Z[V+44600>>2]=aX()|0,x8(V+44604|0,-1,2144)|0,V|0}function WV(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0;if(!V)return;if(P5(Z[V+4>>2]|0)|0,P5(Z[V+12>>2]|0)|0,UY(V),q2(V+16|0),q2(V+676|0),q2(V+1336|0),q2(V+1996|0),q2(V+2656|0),q2(V+3316|0),q2(V+3976|0),q2(V+4636|0),q2(V+5296|0),q2(V+5956|0),q2(V+6616|0),q2(V+7276|0),q2(V+7936|0),q2(V+8596|0),q2(V+9256|0),q2(V+9916|0),q2(V+10576|0),q2(V+11236|0),q2(V+11896|0),q2(V+12556|0),q2(V+13216|0),q2(V+13876|0),q2(V+14536|0),q2(V+15196|0),q2(V+15856|0),q2(V+16516|0),q2(V+17176|0),q2(V+17836|0),q2(V+18496|0),q2(V+19156|0),q2(V+19816|0),q2(V+20476|0),q2(V+21136|0),q2(V+21796|0),q2(V+22456|0),q2(V+23116|0),q2(V+23776|0),q2(V+24436|0),q2(V+25096|0),q2(V+25756|0),q2(V+26416|0),q2(V+27076|0),q2(V+27736|0),q2(V+28396|0),q2(V+29056|0),q2(V+29716|0),q2(V+30376|0),q2(V+31036|0),q2(V+31696|0),q2(V+32356|0),q2(V+33016|0),q2(V+33676|0),q2(V+34336|0),q2(V+34996|0),q2(V+35656|0),q2(V+36316|0),q2(V+36976|0),q2(V+37636|0),q2(V+38296|0),q2(V+38956|0),q2(V+39616|0),q2(V+40276|0),q2(V+40936|0),q2(V+41596|0),$6(Z[V>>2]|0),$=V+46748|0,T=V+46752|0,X=Z[T>>2]|0,(Z[$>>2]|0)>0){Y=X,Q=0;while(!0)if(W3(Z[Y+(Q<<2)>>2]|0),Q=Q+1|0,W=Z[T>>2]|0,(Q|0)>=(Z[$>>2]|0)){U=W;break}else Y=W}else U=X;if($6(U),cX(Z[V+44588>>2]|0),cX(Z[V+44592>>2]|0),cX(Z[V+44596>>2]|0),cX(Z[V+44600>>2]|0),x8(V|0,0,46756)|0,$6(V),(Z[769129]|0)!=(V|0))return;Z[769129]=0;return}function aW(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0;if(T=q,q=q+80|0,X=T+48|0,Y=T+40|0,Q=T+24|0,W=T+8|0,U=T,S=T+68|0,J=T+64|0,Z[766682]=0,_=Y1(196609)|0,K=Y1(196609)|0,N[_>>0]=0,P=AX(_,196608,V)|0,($|0)!=0?(u1(P,102736)|0)==0:0)Z[S>>2]=41,O=1;else L=2;do if((L|0)==2){$=P;Z:while(!0){switch(N[$>>0]|0){case 0:break Z;case 112:case 10:{L=7;break Z}default:}$=$+1|0}if((L|0)==7?(k8($,102736,16)|0)==0:0){if(AX(_,196608,V)|0,Z[S>>2]=0,Z[U>>2]=S,a8(_,102753,U)|0,!((Z[544495]|0)==0&(Z[S>>2]|0)>41)){O=0;break}return $6(_),$6(K),Z[766682]=1,F=0,q=T,F|0}return $6(_),$6(K),F=0,q=T,F|0}while(0);U=$Z()|0,Z[U+44580>>2]=Z[S>>2],P=0;do x8(U+16+(P*660|0)|0,0,660)|0,Z[U+16+(P*660|0)+8>>2]=(P|0)==0?1:16,P=P+1|0;while((P|0)!=64);P=U+4|0,R8(Z[P>>2]|0),z=U+12|0,R8(Z[z>>2]|0),x8(U+43552|0,0,1024)|0,N[Z[U>>2]>>0]=0;Z:do if(!(_V(V)|0)){H=U+46748|0,C=U+46752|0,A=_+3|0,y=U+44576|0,k=0,m=O,I=0,u=0,g=0,i=0,t=0,Y0=0;V:while(!0){if(!m)x8(_|0,0,196609)|0,AX(_,196608,V)|0;if((_V(V)|0)!=0?(N[_>>0]|0)==0:0)X0=k,T0=I,Z0=u,W0=-1,O0=i,y0=t,E0=Y0;else L=19;$:do if((L|0)==19)if(L=0,k8(_,102764,8)|0)if(k8(_,102773,7)|0)if(k8(_,102781,7)|0)if(k8(_,102789,7)|0)if(k8(_,102797,7)|0)if(k8(_,102805,7)|0)if(k8(_,102813,9)|0)if(k8(_,102823,9)|0)if(!(k8(_,102833,15)|0))X0=k,T0=I,Z0=u,W0=7,O0=i,y0=t,E0=Y0;else{if(!(k8(_,102849,7)|0)){H0=(Z[H>>2]|0)+1|0,Z[H>>2]=H0,Z[C>>2]=y6(Z[C>>2]|0,H0<<2)|0,H0=Q3(256)|0,D0=(Z[H>>2]|0)+-1|0,Z[(Z[C>>2]|0)+(D0<<2)>>2]=H0,H0=(x6(_)|0)+1|0,a7(_,1,H0,Z[(Z[C>>2]|0)+(D0<<2)>>2]|0)|0,X0=k,T0=I,Z0=u,W0=8,O0=i,y0=t,E0=Y0;break}if((g|0)==1){if(YQ(_,K)|0,D0=Z[U>>2]|0,H0=x6(D0)|0,((x6(K)|0)+H0|0)>>>0>=65536)break V;if(d1(D0,K)|0,!(_V(V)|0))D0=Z[U>>2]|0,H0=D0+(x6(D0)|0)|0,N[H0>>0]=10,N[H0+1>>0]=0;N[(Z[U>>2]|0)+65536>>0]=0,X0=k,T0=I,Z0=u,W0=1,O0=i,y0=t,E0=Y0;break}if((g|0)==2&(Y0|0)<128){H0=0;do D0=N[_+H0>>0]|0,_0=D0+-48|0,N[(Z[(Z[(Z[P>>2]|0)+16>>2]|0)+(Y0<<2)>>2]|0)+H0>>0]=_0>>>0<10?_0:(D0+-97|0)>>>0<6?D0+169|0:0,H0=H0+1|0;while((H0|0)!=128);F0=Y0+1|0}else F0=Y0;if((k|0)<2&(g|0)==10){H0=k<<7,D0=(Z[S>>2]|0)>2,_0=0;do{if(D0)k0=_0<<1,m0=N[_+k0>>0]|0,B0=m0+-48|0,g0=N[_+(k0|1)>>0]|0,k0=g0+-48|0,o0=((B0>>>0<10?B0:(m0+-97|0)>>>0<6?m0+268435369|0:0)<<4)+(k0>>>0<10?k0:(g0+-97|0)>>>0<6?g0+-87|0:0)|0;else g0=N[_+_0>>0]|0,k0=g0+-48|0,o0=k0>>>0<10?k0:(g0+-97|0)>>>0<6?g0+-87|0:0;Z[U+43552+(_0+H0<<2)>>2]=o0,_0=_0+1|0}while((_0|0)!=128);h0=k+1|0}else h0=k;if((u|0)<64&(g|0)==3){_0=0;do H0=_0<<1,D0=N[_+H0>>0]|0,g0=D0+-48|0,k0=N[_+(H0|1)>>0]|0,H0=k0+-48|0,N[(Z[(Z[(Z[z>>2]|0)+16>>2]|0)+(u<<2)>>2]|0)+_0>>0]=((g0>>>0<10?g0:(D0+-97|0)>>>0<6?D0+9|0:0)<<4)+(H0>>>0<10?H0:(k0+-97|0)>>>0<6?k0+169|0:0),_0=_0+1|0;while((_0|0)!=128);C0=u+1|0}else C0=u;if((t|0)<64&(g|0)==4){Z[J>>2]=0,Z[W>>2]=J,Z[W+4>>2]=U+16+(t*660|0)+8,Z[W+8>>2]=U+16+(t*660|0)+12,Z[W+12>>2]=U+16+(t*660|0)+16,a8(_,102857,W)|0,_0=Z[J>>2]|0,Z[U+16+(t*660|0)+4>>2]=_0&1,Z[U+16+(t*660|0)>>2]=_0&254,_0=0;do{if(k0=U+16+(t*660|0)+20+(_0*20|0)|0,H0=U+16+(t*660|0)+20+(_0*20|0)+4|0,D0=U+16+(t*660|0)+20+(_0*20|0)+8|0,g0=U+16+(t*660|0)+20+(_0*20|0)+12|0,Z[Q>>2]=k0,Z[Q+4>>2]=H0,Z[Q+8>>2]=D0,Z[Q+12>>2]=g0,a8(_+((_0*5|0)+8)|0,102874,Q)|0,m0=Z[g0>>2]|0,m0&8|0)Z[U+16+(t*660|0)+20+(_0*20|0)+16>>2]=128;if(B0=Z[H0>>2]|0,B0&8|0)Z[U+16+(t*660|0)+20+(_0*20|0)+16>>2]=128;Z[g0>>2]=m0&7,Z[H0>>2]=B0&7,Z[D0>>2]=Z[D0>>2]&7,Z[k0>>2]=Z[k0>>2]&63,_0=_0+1|0}while((_0|0)!=32);u0=t+1|0}else u0=t;if((i|0)<64&(g|0)==5){if((Z[S>>2]|0)>2)Z[Y>>2]=U+43280+(i<<2),a8(_,102888,Y)|0,p0=A;else p0=_;_0=U+42256+(i<<4)|0,k0=U+42256+(i<<4)+4|0,D0=U+42256+(i<<4)+8|0,B0=U+42256+(i<<4)+12|0,Z[X>>2]=_0,Z[X+4>>2]=k0,Z[X+8>>2]=D0,Z[X+12>>2]=B0,a8(p0,102857,X)|0;do if((Z[S>>2]|0)<4){if(!(Z[_0>>2]|0))Z[_0>>2]=65;if(!(Z[k0>>2]|0))Z[k0>>2]=65;if(!(Z[D0>>2]|0))Z[D0>>2]=65;if(Z[B0>>2]|0)break;Z[B0>>2]=65}while(0);X0=h0,T0=I,Z0=C0,W0=5,O0=i+1|0,y0=u0,E0=F0;break}if((I|0)<128&(g|0)==6){if(!(Z[y>>2]|0))Z[y>>2]=h1(128,128,8)|0;B0=0;do{D0=N[_+B0>>0]|0,k0=D0+-48|0;do if(k0>>>0>=10)if((D0+-97|0)>>>0<22){q0=D0+-87|0;break}else{q0=(D0+-65|0)>>>0<22?D0+-55|0:0;break}else q0=k0;while(0);N[(Z[(Z[(Z[y>>2]|0)+16>>2]|0)+(I<<2)>>2]|0)+B0>>0]=(q0|0)>15?q0+112|0:q0,B0=B0+1|0}while((B0|0)!=128);i0=I+1|0}else i0=I;switch(g|0){case 7:{B0=0;while(!0)if(k0=B0<<1,D0=N[_+k0>>0]|0,_0=D0+-48|0,H0=N[_+(k0|1)>>0]|0,k0=H0+-48|0,N[U+44604+B0>>0]=((_0>>>0<10?_0:(D0+-97|0)>>>0<6?D0+9|0:0)<<4)+(k0>>>0<10?k0:(H0+-97|0)>>>0<6?H0+169|0:0),B0=B0+1|0,(B0|0)==2144){X0=h0,T0=i0,Z0=C0,W0=0,O0=i,y0=u0,E0=F0;break $}break}case 8:break;default:{X0=h0,T0=i0,Z0=C0,W0=g,O0=i,y0=u0,E0=F0;break $}}if(B0=Z[(Z[C>>2]|0)+((Z[H>>2]|0)+-1<<2)>>2]|0,H0=Z[B0+16>>2]|0,k0=x6(_)|0,(k0+H0|0)>>>0<262144)a7(_,1,k0,B0)|0;if(_V(V)|0){X0=h0,T0=i0,Z0=C0,W0=8,O0=i,y0=u0,E0=F0;break}a7(102894,1,1,B0)|0,X0=h0,T0=i0,Z0=C0,W0=8,O0=i,y0=u0,E0=F0}else X0=k,T0=I,Z0=u,W0=6,O0=i,y0=t,E0=Y0;else X0=k,T0=I,Z0=u,W0=5,O0=i,y0=t,E0=Y0;else X0=k,T0=I,Z0=u,W0=4,O0=i,y0=t,E0=Y0;else X0=k,T0=I,Z0=u,W0=3,O0=i,y0=t,E0=Y0;else X0=k,T0=I,Z0=u,W0=10,O0=i,y0=t,E0=Y0;else X0=k,T0=I,Z0=u,W0=2,O0=i,y0=t,E0=Y0;else X0=k,T0=I,Z0=u,W0=1,O0=i,y0=t,E0=Y0;else X0=k,T0=I,Z0=u,W0=-1,O0=i,y0=t,E0=Y0;while(0);if((W0|0)!=-1&(_V(V)|0)==0)k=X0,m=0,I=T0,u=Z0,g=W0,i=O0,t=y0,Y0=E0;else break Z}return $6(_),$6(K),Z[766682]=2,F=0,q=T,F|0}while(0);if(E0=Z[U>>2]|0,N[E0>>0]|0)N[E0+((x6(E0)|0)+-1)>>0]=0;return $6(_),$6(K),F=U,q=T,F|0}function cW(V){V=V|0;var $=0,T=0;if($=c5(V,102896)|0,!$)return T=0,T|0;return V=aW($,0)|0,I5($),T=V,T|0}function zS(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;if(X=q,q=q+256|0,Y=X,x8(Y|0,0,256)|0,!T)Q9($,102898,0)|0,Q9($,102941,41)|0;if(N[Z[V>>2]>>0]|0)Q9($,102953,0)|0,T=B2(196614)|0,bL(Z[V>>2]|0,T)|0,a7(T,1,x6(T)|0,$)|0,$6(T),Q9($,102894,0)|0;T=V+4|0,Q=Z[(Z[T>>2]|0)+16>>2]|0,W=-1,U=0;while(!0){S=Z[Q+(U<<2)>>2]|0,J=W,_=0;do J=(N[S+_>>0]|0)==0?J:U,_=_+1|0;while((_|0)!=128);if(U=U+1|0,(U|0)==128)break;else W=J}if((J|0)>-1){Q9($,102962,0)|0,W=0;while(!0){U=0;do Q=N[(Z[(Z[(Z[T>>2]|0)+16>>2]|0)+(W<<2)>>2]|0)+U>>0]|0,KV($,102971,((Q&255)<15?Q:15)&255,0,0,0)|0,U=U+1|0;while((U|0)!=128);if(Q9($,102894,0)|0,(W|0)==(J|0))break;else W=W+1|0}}if(W=V+44576|0,J=Z[W>>2]|0,(J|0?(Z[J>>2]|0)==128:0)?(Z[J+4>>2]|0)==128:0){T=Z[J+12>>2]|0,J=0,U=0;do J=(N[T+U>>0]|0)==0?J:1,U=U+1|0;while((U|0)!=16384);if(J|0){Q9($,102974,0)|0,J=0;do{U=(Z[W>>2]|0)+16|0,T=0;do Q=N[(Z[(Z[U>>2]|0)+(J<<2)>>2]|0)+T>>0]|0,_=Q&15,S=Q<<24>>24<0?_|16:_,N[Y+T>>0]=(S>>>0<10?48:87)+S,T=T+1|0;while((T|0)!=128);a7(Y,1,128,$)|0,Q9($,102894,0)|0,J=J+1|0}while((J|0)!=128);Q9($,102894,0)|0}}J=0,Y=0;do J=(Z[V+43552+(Y<<2)>>2]|0)==0?J:1,Y=Y+1|0;while((Y|0)!=256);if(J|0){Q9($,102985,0)|0,J=0;do KV($,102994,Z[V+43552+(J<<2)>>2]&255,0,0,0)|0,J=J+1|0;while((J|0)!=128);Q9($,102894,0)|0,J=0;do KV($,102994,Z[V+43552+(J+128<<2)>>2]&255,0,0,0)|0,J=J+1|0;while((J|0)!=128);Q9($,102894,0)|0}J=V+12|0,Y=Z[(Z[J>>2]|0)+16>>2]|0,W=-1,T=0;while(!0){U=Z[Y+(T<<2)>>2]|0,K=W,S=0;do K=(N[U+S>>0]|0)==0?K:T,S=S+1|0;while((S|0)!=128);if(T=T+1|0,(T|0)==32)break;else W=K}if((K|0)>-1){Q9($,102999,0)|0,W=0;while(!0){T=0;do KV($,102994,G[(Z[(Z[(Z[J>>2]|0)+16>>2]|0)+(W<<2)>>2]|0)+T>>0]|0,0,0,0)|0,T=T+1|0;while((T|0)!=128);if(Q9($,102894,0)|0,(W|0)==(K|0))break;else W=W+1|0}}DQ(),W=-1,K=0;while(!0){J=(Z[V+16+(K*660|0)+4>>2]|0)==0?W:K,T=Z[V+16+(K*660|0)+8>>2]|0,P=(Z[V+16+(K*660|0)+16>>2]|Z[V+16+(K*660|0)+12>>2]|0)==0?(K|0)==0?(T|0)==1?J:K:(T|0)==16?J:K:K,J=0;do P=(Z[V+16+(K*660|0)+20+(J*20|0)+4>>2]|Z[V+16+(K*660|0)+20+(J*20|0)>>2]|Z[V+16+(K*660|0)+20+(J*20|0)+16>>2]|Z[V+16+(K*660|0)+20+(J*20|0)+8>>2]|Z[V+16+(K*660|0)+20+(J*20|0)+12>>2]|0)==0?P:K,J=J+1|0;while((J|0)!=32);if(K=K+1|0,(K|0)==64)break;else W=P}if((P|0)>-1){Q9($,103008,0)|0,W=0;while(!0){K=Z[V+16+(W*660|0)+8>>2]|0,J=(K|0)<255?K:255,K=Z[V+16+(W*660|0)+12>>2]|0,T=(K|0)<255?K:255,K=Z[V+16+(W*660|0)+16>>2]|0,Y=(K|0)<255?K:255,KV($,102857,Z[V+16+(W*660|0)>>2]&254|(Z[V+16+(W*660|0)+4>>2]|0)!=0,(J|0)>0?J:0,(T|0)>0?T:0,(Y|0)>0?Y:0)|0,Y=0;do T=Z[V+16+(W*660|0)+20+(Y*20|0)>>2]|0,J=(T|0)<63?T:63,T=Z[V+16+(W*660|0)+20+(Y*20|0)+4>>2]|0,K=(T|0)<7?T:7,T=Z[V+16+(W*660|0)+20+(Y*20|0)+8>>2]|0,S=(T|0)<7?T:7,T=Z[V+16+(W*660|0)+20+(Y*20|0)+12>>2]|0,U=(T|0)<7?T:7,KV($,103017,(J|0)>0?J:0,((K|0)>0?K:0)+((Z[V+16+(W*660|0)+20+(Y*20|0)+16>>2]|0)==0?0:8)|0,(S|0)>0?S:0,(U|0)>0?U:0)|0,Y=Y+1|0;while((Y|0)!=32);if(Q9($,102894,0)|0,(W|0)==(P|0))break;else W=W+1|0}}W=-1,P=0;do W=(Z[V+42256+(P<<4)+12>>2]|0)==68&((Z[V+42256+(P<<4)+8>>2]|0)==67&((Z[V+42256+(P<<4)+4>>2]|0)==66&((Z[V+43280+(P<<2)>>2]|0)==0?(Z[V+42256+(P<<4)>>2]|0)==65:0)))?W:P,P=P+1|0;while((P|0)!=64);if((W|0)>-1){Q9($,103028,0)|0,P=0;while(!0)if(KV($,102888,Z[V+43280+(P<<2)>>2]|0,0,0,0)|0,KV($,103039,Z[V+42256+(P<<4)>>2]|0,Z[V+42256+(P<<4)+4>>2]|0,Z[V+42256+(P<<4)+8>>2]|0,Z[V+42256+(P<<4)+12>>2]|0)|0,(P|0)==(W|0))break;else P=P+1|0;Q9($,102894,0)|0}EX(),P=0,W=0;do P=(N[V+44604+W>>0]|0)==-1?P:1,W=W+1|0;while((W|0)!=2144);if(P|0){Q9($,103057,0)|0,P=0;do KV($,102994,G[V+44604+P>>0]|0,0,0,0)|0,P=P+1|0;while((P|0)!=2144);Q9($,102894,0)|0}if(P=V+46748|0,(Z[P>>2]|0)<=0)return q=X,0;W=V+46752|0,V=0;do Y=Z[(Z[W>>2]|0)+(V<<2)>>2]|0,U=Y+12|0,S=Z[U>>2]|0,K=x6(S)|0,a7(S,1,K,$)|0,Q9($,102894,0)|0,S=K+1|0,a7((Z[U>>2]|0)+S|0,1,(Z[Y+16>>2]|0)-S|0,$)|0,V=V+1|0;while((V|0)<(Z[P>>2]|0));return q=X,0}function ZN(V,$){V=V|0,$=$|0;var T=0,X=0;if(T=c5($,103074)|0,!T)return X=1,X|0;return zS(V,T,0)|0,I5(T),X=0,X|0}function j7(V,$){V=V|0,$=$|0;var T=0,X=0;if(T=Y1(370)|0,!V)X=Q3($+1|0)|0,Z[T+4>>2]=X,Z[T>>2]=Z[X+12>>2];else Z[T>>2]=V;return Z[T+8>>2]=$,$=aX()|0,Z[T+364>>2]=$,Z[$+16>>2]=24,fL(T),T|0}function fL(V){V=V|0;var $=0,T=0;$=Q3(2048)|0,T=Z[V>>2]|0,a7(T,1,(x6(T)|0)+1|0,$)|0,K7(Z[V+336>>2]|0,$),K7(Z[V+344>>2]|0,$),K7(Z[V+348>>2]|0,$),K7(Z[V+320>>2]|0,$),K7(Z[V+324>>2]|0,$),K7(Z[V+352>>2]|0,$),T=Z[V+364>>2]|0,ES($,T,(x6(Z[V>>2]|0)|0)+1|0)|0;return}function G3(V){V=V|0;var $=0;if(!V)return;if($=Z[V+4>>2]|0,$|0)W3($);cX(Z[V+364>>2]|0),$6(V);return}function VN(V){V=V|0;var $=0,T=0;if(V>>>0>127|(W4(103077,V,64)|0)!=0)return $=1,$|0;if(W4(103141,V,4)|0)return $=3,$|0;if(W4(103145,V,4)|0)return $=4,$|0;if(W4(103149,V,9)|0)return $=5,$|0;return T=(W4(103158,V,22)|0)==0,$=T?0:2,$|0}function dL(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0;if(X=x6(V)|0,!$)Y=B2(X+1|0)|0;else Y=$;if(N[Y>>0]=0,(X|0)<=0)return Y|0;$=(T|0)==0,T=0,Q=Y;while(!0){W=(N[V+T>>0]|0)+256|0,U=(W|0)%256|0;do if((U|0)>127){S=V+(T+1)|0,J=V+(T+2)|0,_=V+(T+3)|0,K=V+(T+4)|0,P=V+(T+5)|0,O=V+(T+6)|0,L=0;while(!0){if(F=N[32128+(L*7|0)>>0]|0,F<<24>>24!=0&(U|0)==(F&255|0))if(z=N[32128+(L*7|0)+1>>0]|0,z<<24>>24?(((N[S>>0]|0)+256|0)%256|0|0)==(z&255|0):0)if(H=N[32128+(L*7|0)+2>>0]|0,H<<24>>24?(((N[J>>0]|0)+256|0)%256|0|0)==(H&255|0):0)if(C=N[32128+(L*7|0)+3>>0]|0,C<<24>>24?(((N[_>>0]|0)+256|0)%256|0|0)==(C&255|0):0)if(A=N[32128+(L*7|0)+4>>0]|0,A<<24>>24?(((N[K>>0]|0)+256|0)%256|0|0)==(A&255|0):0)if(y=N[32128+(L*7|0)+5>>0]|0,y<<24>>24?(((N[P>>0]|0)+256|0)%256|0|0)==(y&255|0):0)if(k=N[32128+(L*7|0)+6>>0]|0,k<<24>>24?(((N[O>>0]|0)+256|0)%256|0|0)==(k&255|0):0){m=7,I=11;break}else u=k,g=6;else u=y,g=5;else u=A,g=4;else u=C,g=3;else u=H,g=2;else u=z,g=1;else u=F,g=0;if(!(u<<24>>24)){m=g,I=11;break}if(F=L+1|0,F>>>0<70)L=F;else break}if((I|0)==11){if(I=0,L>>>0>=26)if(L>>>0<42)i=246;else i=L>>>0<44?212:21;else i=128;N[Q>>0]=L+i,O=Q+1|0,N[O>>0]=0,t=T+-1+m|0,Y0=O;break}if((U|0)==227){O=-1,P=T,K=0,_=Q;while(!0){if(J=V+(P+1)|0,S=Z[32688+(K<<2)>>2]|0,(((N[J>>0]|0)+256|0)%256|0|0)==(S>>>8&255|0)?(F=P+2|0,z=_+1|0,(((N[V+F>>0]|0)+256|0)%256|0|0)==(S&255|0)):0)N[_>>0]=K+154,N[z>>0]=0,X0=V+(P+3)|0,T0=K,Z0=F,W0=z;else X0=J,T0=O,Z0=P,W0=_;if(J=Z[32896+(K<<2)>>2]|0,(((N[X0>>0]|0)+256|0)%256|0|0)==(J>>>8&255|0)?(z=Z0+2|0,F=W0+1|0,(((N[V+z>>0]|0)+256|0)%256|0|0)==(J&255|0)):0)N[W0>>0]=K+204,N[F>>0]=0,O0=K,y0=z,E0=F;else O0=T0,y0=Z0,E0=W0;if(K=K+1|0,(K|0)==50)break;else O=O0,P=y0,_=E0}if((O0|0)<0)H0=(N[V+y0>>0]|0)+256|0,D0=O0,_0=y0,F0=E0,I=26;else t=y0,Y0=E0}else H0=W,D0=-1,_0=T,F0=Q,I=26}else H0=W,D0=-1,_0=T,F0=Q,I=26;while(0);do if((I|0)==26){if(I=0,(((H0|0)%256|0|0)==226?(((N[V+(_0+1)>>0]|0)+256|0)%256|0|0)==151:0)?(W=_0+2|0,(((N[V+W>>0]|0)+256|0)%256|0|0)==139):0){N[F0>>0]=127,U=F0+1|0,N[U>>0]=0,t=W,Y0=U;break}U=D0,W=_0,_=1,P=F0;while(!0){Z:do if((_|0)<4)if(O=Z[32624+(_<<2)>>2]|0,(O>>>8&255|0)==(((N[V+W>>0]|0)+256|0)%256|0|0)?(K=W+1|0,(O&255|0)==(((N[V+K>>0]|0)+256|0)%256|0|0)):0)N[P>>0]=_,O=P+1|0,N[O>>0]=0,k0=_,m0=K,B0=1000,g0=O;else k0=U,m0=W,B0=_,g0=P;else{switch(_|0){case 9:case 10:case 13:{k0=U,m0=W,B0=_,g0=P;break Z}default:}if(O=Z[32624+(_<<2)>>2]|0,((O>>>16&255|0)==(((N[V+W>>0]|0)+256|0)%256|0|0)?(O>>>8&255|0)==(((N[V+(W+1)>>0]|0)+256|0)%256|0|0):0)?(K=W+2|0,(O&255|0)==(((N[V+K>>0]|0)+256|0)%256|0|0)):0)N[P>>0]=_,O=P+1|0,N[O>>0]=0,k0=_,m0=K,B0=1000,g0=O;else k0=U,m0=W,B0=_,g0=P}while(0);if((B0|0)<15)U=k0,W=m0,_=B0+1|0,P=g0;else break}if((k0|0)<0?(P=N[V+m0>>0]|0,P<<24>>24!=13):0){if($&(P+-65&255)<26)o0=(P&255)+32&255;else o0=P;N[g0>>0]=o0,P=g0+1|0,N[P>>0]=0,t=m0,Y0=P}else t=m0,Y0=g0}while(0);if(T=t+1|0,(T|0)>=(X|0))break;else Q=Y0}return Y|0}function $N(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0;if(T=Z[V+292>>2]|0,!T)X=Z[8718]|0;else Z[8719]=Z[T+12>>2],Y=Z[T+16>>2]|0,Z[8718]=Y,X=Y;Y=($|0)!=0&(X|0)>128?(X|0)/3|0:$,$=Z[V+336>>2]|0;Z:do if(!$)Q=V+312|0,W=V+308|0,U=0,S=0;else{T=Z[V>>2]|0,J=V+316|0,_=V+308|0,K=V+312|0,P=T,O=T,T=0,L=0;while(!0){if(F=N[O>>0]|0,!(F<<24>>24)){Q=K,W=_,U=0,S=0;break Z}if(z=Z[J>>2]|0,H=(z|0)>4?z:4,F<<24>>24!=9)if(F<<24>>24==10)C=0,A=(Z[K>>2]|0)+L|0;else C=(Z[_>>2]<<((F&255)>>>7))+T|0,A=L;else C=H+T-((T|0)%(H|0)|0)|0,A=L;if(O=O+1|0,(O-P|0)==($|0)){Q=K,W=_,U=C,S=A;break}else T=C,L=A}}while(0);A=(Z[Q>>2]|0)-X+S|0,X=V+324|0,Q=Z[X>>2]|0,C=(Q|0)<(S|0)?Q:S,Q=(Y|0)==0?(A|0)>(C|0)?A:C:S-Y|0,Z[X>>2]=(Q|0)>0?Q:0,Q=(Z[W>>2]|0)-(Z[8719]|0)+U|0,W=V+320|0,V=Z[W>>2]|0,X=(V|0)<(U|0)?V:U,U=(Q|0)>(X|0)?Q:X,Z[W>>2]=(U|0)>0?U:0;return}function XQ(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0;if(X=x6(V)|0,!$)Y=B2((X*7|0)+1|0)|0;else Y=$;if(N[Y>>0]=0,(X|0)<=0)return Y|0;$=(T|0)==0,T=0,Q=Y;while(!0){W=N[V+T>>0]|0,U=((W<<24>>24)+256|0)%256|0;Z:do if((U+-1|0)>>>0>=3){V:do if((U|0)<16){switch(U|0){case 13:case 10:case 9:break V;default:}S=Z[32624+(U<<2)>>2]|0,N[Q>>0]=S>>>16,N[Q+1>>0]=S>>>8,N[Q+2>>0]=S,J=Q+3|0;break Z}else{if((U|0)==127){N[Q>>0]=-30,N[Q+1>>0]=-105,N[Q+2>>0]=-117,J=Q+3|0;break Z}if(S=U+-128|0,S>>>0>=26){if(_=U+-154|0,_>>>0<50){N[Q>>0]=-29,K=Z[32688+(_<<2)>>2]|0,N[Q+1>>0]=K>>>8,N[Q+2>>0]=K,J=Q+3|0;break Z}if(K=U+-204|0,K>>>0>=50)break;N[Q>>0]=-29,_=Z[32896+(K<<2)>>2]|0,N[Q+1>>0]=_>>>8,N[Q+2>>0]=_,J=Q+3|0;break Z}if(_=N[32128+(S*7|0)>>0]|0,!(_<<24>>24))P=Q;else N[Q>>0]=_,P=Q+1|0;if(_=N[32128+(S*7|0)+1>>0]|0,!(_<<24>>24))O=P;else N[P>>0]=_,O=P+1|0;if(_=N[32128+(S*7|0)+2>>0]|0,!(_<<24>>24))L=O;else N[O>>0]=_,L=O+1|0;if(_=N[32128+(S*7|0)+3>>0]|0,!(_<<24>>24))F=L;else N[L>>0]=_,F=L+1|0;if(_=N[32128+(S*7|0)+4>>0]|0,!(_<<24>>24))z=F;else N[F>>0]=_,z=F+1|0;if(_=N[32128+(S*7|0)+5>>0]|0,!(_<<24>>24))H=z;else N[z>>0]=_,H=z+1|0;if(_=N[32128+(S*7|0)+6>>0]|0,!(_<<24>>24)){J=H;break Z}N[H>>0]=_,J=H+1|0;break Z}while(0);if((U&-16|0)==16){if(_=U+10|0,S=N[32128+(_*7|0)>>0]|0,!(S<<24>>24))C=Q;else N[Q>>0]=S,C=Q+1|0;if(S=N[32128+(_*7|0)+1>>0]|0,!(S<<24>>24))A=C;else N[C>>0]=S,A=C+1|0;if(S=N[32128+(_*7|0)+2>>0]|0,!(S<<24>>24))y=A;else N[A>>0]=S,y=A+1|0;if(S=N[32128+(_*7|0)+3>>0]|0,!(S<<24>>24))k=y;else N[y>>0]=S,k=y+1|0;if(S=N[32128+(_*7|0)+4>>0]|0,!(S<<24>>24))m=k;else N[k>>0]=S,m=k+1|0;if(S=N[32128+(_*7|0)+5>>0]|0,!(S<<24>>24))I=m;else N[m>>0]=S,I=m+1|0;if(S=N[32128+(_*7|0)+6>>0]|0,!(S<<24>>24)){J=I;break}N[I>>0]=S,J=I+1|0;break}if((U|0)>253){if(S=U+-212|0,_=N[32128+(S*7|0)>>0]|0,!(_<<24>>24))u=Q;else N[Q>>0]=_,u=Q+1|0;if(_=N[32128+(S*7|0)+1>>0]|0,!(_<<24>>24))g=u;else N[u>>0]=_,g=u+1|0;if(_=N[32128+(S*7|0)+2>>0]|0,!(_<<24>>24))i=g;else N[g>>0]=_,i=g+1|0;if(_=N[32128+(S*7|0)+3>>0]|0,!(_<<24>>24))t=i;else N[i>>0]=_,t=i+1|0;if(_=N[32128+(S*7|0)+4>>0]|0,!(_<<24>>24))Y0=t;else N[t>>0]=_,Y0=t+1|0;if(_=N[32128+(S*7|0)+5>>0]|0,!(_<<24>>24))X0=Y0;else N[Y0>>0]=_,X0=Y0+1|0;if(_=N[32128+(S*7|0)+6>>0]|0,!(_<<24>>24)){J=X0;break}N[X0>>0]=_,J=X0+1|0;break}if(!($&(U+-65|0)>>>0<26)){N[Q>>0]=W,J=Q+1|0;break}if(_=U+-21|0,S=N[32128+(_*7|0)>>0]|0,!(S<<24>>24))T0=Q;else N[Q>>0]=S,T0=Q+1|0;if(S=N[32128+(_*7|0)+1>>0]|0,!(S<<24>>24))Z0=T0;else N[T0>>0]=S,Z0=T0+1|0;if(S=N[32128+(_*7|0)+2>>0]|0,!(S<<24>>24))W0=Z0;else N[Z0>>0]=S,W0=Z0+1|0;if(S=N[32128+(_*7|0)+3>>0]|0,!(S<<24>>24))O0=W0;else N[W0>>0]=S,O0=W0+1|0;if(S=N[32128+(_*7|0)+4>>0]|0,!(S<<24>>24))y0=O0;else N[O0>>0]=S,y0=O0+1|0;if(S=N[32128+(_*7|0)+5>>0]|0,!(S<<24>>24))E0=y0;else N[y0>>0]=S,E0=y0+1|0;if(S=N[32128+(_*7|0)+6>>0]|0,!(S<<24>>24))J=E0;else N[E0>>0]=S,J=E0+1|0}else S=Z[32624+(U<<2)>>2]|0,N[Q>>0]=S>>>8,N[Q+1>>0]=S,J=Q+2|0;while(0);if(N[J>>0]=0,T=T+1|0,(T|0)==(X|0))break;else Q=J}return Y|0}function r9(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;if(T=N[V>>0]|0,($|0)==0|T<<24>>24==0)return X=0,X|0;Y=T,T=V,V=0,Q=$;while(!0)if(Q=Q+-1|0,$=V+(Y<<24>>24==10&1)|0,T=T+1|0,Y=N[T>>0]|0,(Q|0)==0|Y<<24>>24==0){X=$;break}else V=$;return X|0}function TN(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;if(T=N[V>>0]|0,($|0)==0|T<<24>>24==0)X=V;else{Y=T,T=V,Q=0;while(!0)if(Q=Q+(Y<<24>>24==10&1)|0,W=T+1|0,Y=N[W>>0]|0,(Q|0)==($|0)|Y<<24>>24==0){X=W;break}else T=W}return X-V|0}function bL(V,$){return V=V|0,$=$|0,XQ(V,$,1)|0}function YQ(V,$){return V=V|0,$=$|0,dL(V,$,1)|0}function aX(){var V=0;return V=Y1(20)|0,Z[V>>2]=Q3(0)|0,Z[V+4>>2]=Q3(0)|0,Z[V+8>>2]=Q3(0)|0,Z[V+12>>2]=Q3(0)|0,V|0}function cX(V){if(V=V|0,!V)return;W3(Z[V>>2]|0),W3(Z[V+4>>2]|0),W3(Z[V+8>>2]|0),W3(Z[V+12>>2]|0);return}function M3(V){if(V=V|0,!V)return;NY(Z[V>>2]|0),NY(Z[V+4>>2]|0),NY(Z[V+8>>2]|0),NY(Z[V+12>>2]|0);return}function ES(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0;if(X=$+8|0,Y=Z[X>>2]|0,Q=Z[Y+16>>2]|0,!Q)return W3(Y),Z[X>>2]=V,W=0,W|0;if((Z[V+16>>2]|0)==(Q|0)?(q3(Z[V+12>>2]|0,Z[Y+12>>2]|0,((T|0)<1?Q:0)+T|0)|0)==0:0)return W3(V),W=0,W|0;return T=eL(V,Y,Z[$+16>>2]|0)|0,Y=Z[$+4>>2]|0,Q=T+16|0,a7(Z[T+12>>2]|0,1,Z[Q>>2]|0,Y)|0,K7(Z[Q>>2]|0,Y),W3(T),NY(Z[$>>2]|0),W3(Z[X>>2]|0),Z[X>>2]=V,W=1,W|0}function eL(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0;if(X=Q3(0)|0,Y=(Z[V+16>>2]|0)-T|0,Q=$+16|0,W=(Z[Q>>2]|0)-T|0,U=(Y|0)<(W|0)?Y:W,(U|0)<0)return X|0;Z:do if(U){S=Z[V+12>>2]|0,J=Z[$+12>>2]|0,_=0;while(!0){if((N[S+_>>0]|0)!=(N[J+_>>0]|0)){K=_;break}if(P=_+1|0,(P|0)<(U|0))_=P;else{K=P;break}}if((U|0)>0){_=Z[V+12>>2]|0,J=Y+-1|0,S=Z[$+12>>2]|0,P=W+-1|0,O=0,L=0;while(!0){if((N[_+(J+O)>>0]|0)!=(N[S+(P+O)>>0]|0)){F=K,z=L,H=O;break Z}if(C=L+1|0,A=~L,(C|0)<(U-C|0))O=A,L=C;else{F=K,z=C,H=A;break}}}else F=K,z=0,H=0}else F=0,z=0,H=0;while(0);if(xW(W,X),xW(F,X),xW(z,X),z=W-F+H|0,H=(z+7|0)/8|0,W=(z|0)>0,W){K=V+12|0,V=$+12|0,U=0;do{L=U<<3;do if((L|0)<(z|0)){if(O=L+F|0,(O|0)<(Y|0)?(N[(Z[K>>2]|0)+O>>0]|0)==(N[(Z[V>>2]|0)+O>>0]|0):0){y=0;break}y=1}else y=0;while(0);O=L|1;do if((O|0)<(z|0)){if(P=O+F|0,(P|0)<(Y|0)?(N[(Z[K>>2]|0)+P>>0]|0)==(N[(Z[V>>2]|0)+P>>0]|0):0){k=y;break}k=y|2}else k=y;while(0);O=L|2;do if((O|0)<(z|0)){if(P=O+F|0,(P|0)<(Y|0)?(N[(Z[K>>2]|0)+P>>0]|0)==(N[(Z[V>>2]|0)+P>>0]|0):0){m=k;break}m=k|4}else m=k;while(0);O=L|3;do if((O|0)<(z|0)){if(P=O+F|0,(P|0)<(Y|0)?(N[(Z[K>>2]|0)+P>>0]|0)==(N[(Z[V>>2]|0)+P>>0]|0):0){I=m;break}I=m|8}else I=m;while(0);O=L|4;do if((O|0)<(z|0)){if(P=O+F|0,(P|0)<(Y|0)?(N[(Z[K>>2]|0)+P>>0]|0)==(N[(Z[V>>2]|0)+P>>0]|0):0){u=I;break}u=I|16}else u=I;while(0);O=L|5;do if((O|0)<(z|0)){if(P=O+F|0,(P|0)<(Y|0)?(N[(Z[K>>2]|0)+P>>0]|0)==(N[(Z[V>>2]|0)+P>>0]|0):0){g=u;break}g=u|32}else g=u;while(0);O=L|6;do if((O|0)<(z|0)){if(P=O+F|0,(P|0)<(Y|0)?(N[(Z[K>>2]|0)+P>>0]|0)==(N[(Z[V>>2]|0)+P>>0]|0):0){i=g;break}i=g|64}else i=g;while(0);O=L|7;do if((O|0)<(z|0)){if(P=O+F|0,(P|0)<(Y|0)?(N[(Z[K>>2]|0)+P>>0]|0)==(N[(Z[V>>2]|0)+P>>0]|0):0){t=i;break}t=i|-128}else t=i;while(0);kY(t,X),U=U+1|0}while((U|0)<(H|0));if(W){W=X+12|0,H=$+12|0,U=0;do{if(t=U+F|0,!((t|0)<(Y|0)?!(1<<(U&7)&G[(Z[W>>2]|0)+((U>>>3)+12)>>0]|0):0))kY(N[(Z[H>>2]|0)+t>>0]|0,X);U=U+1|0}while((U|0)!=(z|0));Y0=H}else X0=18}else X0=18;if((X0|0)==18)Y0=$+12|0;return $=X+20|0,Z[$>>2]=Z[X+16>>2],a7((Z[Y0>>2]|0)+((Z[Q>>2]|0)-T)|0,1,T,X)|0,K7(T,X),Z[$>>2]=0,X|0}function V8(V,$){V=V|0,$=$|0;var T=0;if((V|0)==($|0))T=V;else w5(V,$)|0,T=V;return T|0}function F5(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0;if(T=Y1((x6($)|0)+1|0)|0,(T|0)!=($|0))w5(T,$)|0;if($=N[T>>0]|0,$<<24>>24){X=$,$=T;do{if((X+-65&255)<26)N[$>>0]=(X&255)+32;$=$+1|0,X=N[$>>0]|0}while(X<<24>>24!=0)}if(X=Y1((x6(V)|0)+1|0)|0,(X|0)!=(V|0))w5(X,V)|0;if($=N[X>>0]|0,$<<24>>24){Y=$,$=X;do{if((Y+-65&255)<26)N[$>>0]=(Y&255)+32;$=$+1|0,Y=N[$>>0]|0}while(Y<<24>>24!=0)}return Y=u1(X,T)|0,$6(T),$6(X),((Y|0)==0?0:V+(Y-X)|0)|0}function aL(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0;T=$+64|0,X=Z[T>>2]|0,Y=$+68|0,Q=Z[Y>>2]|0,W=Z[V+525580>>2]|0;Z:do if(!W)U=X;else{if(S=Z[$+28>>2]|0,(S|0)<=-1?(Z[$+32>>2]|0)==0:0){U=X;break}switch(S|0){case 0:{switch((W|0)%3|0|0){case 1:{U=(Z[$+32>>2]>>4)+X|0;break Z}case 2:{U=(Z[$+32>>2]&15)+X|0;break Z}default:{U=X;break Z}}break}case 1:{Z[Y>>2]=(Z[$+32>>2]<<4)+Q,U=X;break Z}case 2:{Z[Y>>2]=Q-(Z[$+32>>2]<<4),U=X;break Z}case 3:{if(S=Z[$+76>>2]|0,(X|0)<(S|0)){if(J=(Z[$+32>>2]<<4)+Q|0,Z[Y>>2]=J,(J|0)<0)_=255-J+((J|0)>-256?J:-256)|0,K=X+-1-(_>>>8)|0,P=J+256+(_&-256)|0,Z[T>>2]=K,Z[Y>>2]=P,O=P,L=K;else O=J,L=X;if((O|0)>255)J=~O,K=O+256+((J|0)>-512?J:-512)|0,J=(K>>>8)+1+L|0,Z[T>>2]=J,Z[Y>>2]=O+-256-(K&-256),F=J;else F=L;if((F|0)<(S|0)){U=X;break Z}Z[T>>2]=S,Z[Y>>2]=0,U=X;break Z}if((X|0)<=(S|0)?(Q|0)==0|(X|0)!=(S|0):0){U=X;break Z}if(J=Q-(Z[$+32>>2]<<4)|0,Z[Y>>2]=J,(J|0)<0)K=255-J+((J|0)>-256?J:-256)|0,P=X+-1-(K>>>8)|0,_=J+256+(K&-256)|0,Z[T>>2]=P,Z[Y>>2]=_,z=_,H=P;else z=J,H=X;if((z|0)>255)J=~z,P=z+256+((J|0)>-512?J:-512)|0,J=(P>>>8)+1+H|0,Z[T>>2]=J,Z[Y>>2]=z+-256-(P&-256),C=J;else C=H;if((C|0)>(S|0)){U=X;break Z}Z[T>>2]=S,Z[Y>>2]=0,U=X;break Z}case 4:{if(S=Z[$+32>>2]>>4,!S){U=X;break Z}J=B(Z[V+525588>>2]|0,S)|0,S=Z[(Z[V>>2]|0)+48>>2]|0,Z[$+60>>2]=65536/((B(J,S)|0)/(S+-1|0)|0|0)|0,U=X;break Z}case 10:{S=$+8|0,J=(Z[S>>2]|0)-(Z[$+32>>2]|0)|0,P=(J|0)<63?J:63,Z[S>>2]=(P|0)>0?P:0,U=X;break Z}default:{U=X;break Z}}}while(0);if(X=Z[$+4>>2]|0,!X)return;if(Y=Z[V>>2]|0,(X|0)>(Z[Y+64>>2]|0))return;if(V=Z[Y+68>>2]|0,(Z[$+28>>2]|0)==4)Y=Z[$+32>>2]|0,T=$+56|0,C=(Y>>4<<5)+(Z[T>>2]|0)|0,Z[T>>2]=C&2047,T=C+512&2047,A=(B(512-(T>>>0<1024?T:2048-T|0)|0,Y&15)|0)/16|0;else A=0;if(Y=(Z[V+(X*332|0)+100>>2]|0)+U|0,U=Q-((Z[V+(X*332|0)+88>>2]|0)/2|0)+A|0,(U|0)<0)A=255-U+((U|0)>-256?U:-256)|0,y=U+256+(A&-256)|0,k=Y+-1-(A>>>8)|0;else y=U,k=Y;if((y|0)>255)Y=~y,U=y+256+((Y|0)>-512?Y:-512)|0,m=y+-256-(U&-256)|0,I=k+1+(U>>>8)|0;else m=y,I=k;if((I|0)<0)u=1;else k=(I>>>0)/12|0,g=+(Z[33104+((I-(k*12|0)<<3)+((m|0)/32|0)<<2)>>2]<<4|0)*64/+(1<>2]=u,u=Z[V+(X*332|0)+128>>2]|0,u|0?N[V+(X*332|0)+116>>0]&1:0){if(k=$+20|0,m=Z[k>>2]|0,I=u+-1|0,(m|0)<(I|0)?(y=m+1|0,(Z[$+24>>2]|0)>=(Z[V+(X*332|0)+132+(y<<2)>>2]|0)):0)Z[k>>2]=y,i=y;else i=m;if(m=(i|0)<(I|0)?i:I,I=(m|0)>0?m:0,Z[k>>2]=I,k=I+1|0,(k|0)<(u|0))u=Z[V+(X*332|0)+132+(I<<2)>>2]|0,m=(Z[V+(X*332|0)+132+(k<<2)>>2]|0)-u|0,i=$+24|0,y=Z[i>>2]|0,U=y-u|0,u=B(m-U|0,Z[V+(X*332|0)+180+(I<<2)>>2]|0)|0,Y=$+16|0,Z[Y>>2]=u,Z[Y>>2]=((B(Z[V+(X*332|0)+180+(k<<2)>>2]|0,U)|0)+u|0)/(m|0)|0,t=y,Y0=i;else Z[$+16>>2]=Z[V+(X*332|0)+180+(I<<2)>>2],I=$+24|0,t=Z[I>>2]|0,Y0=I;Z[Y0>>2]=t+1;return}Z[$+16>>2]=64;return}function BS(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0;T=$+28|0,X=Z[T>>2]|0,Y=$+36|0,Z[Y>>2]=X,Q=$+32|0,W=Z[Q>>2]|0,U=$+40|0,Z[U>>2]=W,S=Z[V>>2]|0,J=Z[S+60>>2]|0,_=G[(Z[V+525572>>2]|0)+(S+72)>>0]|0,K=Z[$>>2]|0,P=Z[V+525576>>2]|0,O=J+(_*2596|0)+36+(K*320|0)+(P*5|0)|0,L=N[J+(_*2596|0)+36+(K*320|0)+(P*5|0)+1>>0]|0,F=$+4|0;do if(!(L<<24>>24))if(z=Z[F>>2]|0,!z)if(H=J+(_*2596|0)+36+(K*320|0)+(P*5|0)+3|0,(N[H>>0]|0)==11){C=11,A=Z[S+68>>2]|0,y=0,k=H,m=1,I=7;break}else return;else u=z,I=6;else z=L&255,Z[F>>2]=z,u=z,I=6;while(0);if((I|0)==6)if(F=J+(_*2596|0)+36+(K*320|0)+(P*5|0)+3|0,L=N[F>>0]|0,z=Z[S+68>>2]|0,!(L<<24>>24))g=z,i=u,t=X,Y0=F,X0=0;else C=L,A=z,y=u,k=F,m=0,I=7;if((I|0)==7)I=C&255,Z[T>>2]=I,g=A,i=y,t=I,Y0=k,X0=m;if(m=J+(_*2596|0)+36+(K*320|0)+(P*5|0)+4|0,k=N[m>>0]|0,k<<24>>24)Z[Q>>2]=k&255;if((N[Y0>>0]|0)==0?(N[m>>0]|0)==0:0)Z[Q>>2]=0,Z[T>>2]=0,T0=0;else T0=t;t=N[O>>0]|0;do if(t<<24>>24){if(O=t&255,(t&255)>96){Z[$+8>>2]=0;break}if((T0|0)==3){Z[$+76>>2]=O,Z[$+20>>2]=0,Z[$+24>>2]=0;break}if(Z[$+64>>2]=O,!X0)Z[$+68>>2]=0,Z[$+44>>2]=0,Z[$+48>>2]=0,Z[$+8>>2]=Z[g+(i*332|0)+84>>2],Z[$+20>>2]=0,Z[$+24>>2]=0,Z[$+56>>2]=0}while(0);if(i=N[J+(_*2596|0)+36+(K*320|0)+(P*5|0)+2>>0]|0,i<<24>>24)Z[$+8>>2]=(i&255)+-16;if((X|0)!=11)return;Z[V+525592>>2]=W,Z[T>>2]=0,Z[U>>2]=0,Z[Y>>2]=0;return}function CS(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0;if(Y=$+8|0,Q=B(Z[$+16>>2]|0,Z[Y>>2]|0)|0,W=(T|0)==0?$+80|0:T,(Q|0?(T=Z[$+4>>2]|0,T|0):0)?(U=Z[V>>2]|0,(T|0)<=(Z[U+64>>2]|0)):0){if(S=Z[U+68>>2]|0,U=Z[S+(T*332|0)+72>>2]|0,J=Z[S+(T*332|0)+328>>2]|0,J|0){a9[J&0](V,$,W,X,Q);return}if((X|0)<=0)return;V=S+(T*332|0)+104|0,J=$+52|0,_=$+48|0,K=$+44|0,$=S+(T*332|0)+80|0,P=S+(T*332|0)+68|0,O=S+(T*332|0)+92|0,L=S+(T*332|0)+76|0,T=W,S=0,F=Q;while(!0){if((Z[V>>2]|0)==8)Q=r8(32000)|0,z=Z[_>>2]|0,H=Z[K>>2]|0,C=Q;else Q=Z[K>>2]|0,A=Z[_>>2]|0,y=A>>16,k=B(256-y|0,j[U+(Q<<1)>>1]|0)|0,z=A,H=Q,C=k+(B(y,j[U+(Q+1<<1)>>1]|0)|0)>>8;if(j[T>>1]=(B(C,F)|0)>>>12,T=T+2|0,Q=z+(Z[J>>2]|0)|0,y=H+(Q>>24)|0,Z[K>>2]=y,Z[_>>2]=Q&16777215,Q=Z[$>>2]|0,((Q|0)!=0?(Z[O>>2]&3|0)!=0:0)?(y|0)>=((Z[L>>2]|0)+Q|0):0)k=y-Q|0,Z[K>>2]=k,m=k;else m=y;if((m|0)<(Z[P>>2]|0))I=F;else Z[Y>>2]=0,I=0;if(S=S+1|0,(S|0)==(X|0))break;else F=I}return}C1(W,0,X<<1);return}function qC(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0;if(X=Z[V>>2]|0,I8()|0,(T|0)<=0)return;Y=V+525596|0,Q=V+525588|0,W=V+525572|0,U=X+32|0,S=X+40|0,X=V+525592|0,J=V+525580|0,_=V+525576|0,K=V+525600|0,P=V+525584|0,O=Z[Y>>2]|0,L=T,T=$;Z:while(!0){if($=Z[Q>>2]|0,($|0)>(O|0)){F=$-O|0,$=(F|0)<(L|0)?F:L;do if(($|0)!=0?(F=$+O|0,($|0)>0):0){if(z=Z[(Z[V>>2]|0)+40>>2]|0,(z|0)<=0){H=O+1|0,x8(T|0,0,((F|0)>(H|0)?F:H)-O<<1|0)|0,C=Z[Y>>2]|0;break}H=T,A=O;while(!0){y=0,k=0;do k=k+(j[V+4+(y*32848|0)+80+(A<<1)>>1]|0)|0,y=y+1|0;while((y|0)!=(z|0));if(y=(k|0)/3|0,m=(y|0)<32767?y:32767,j[H>>1]=(m|0)>-32767?m:-32767,A=A+1|0,(A|0)>=(F|0)){C=O;break}else H=H+2|0}}else C=O;while(0);if(Z[Y>>2]=C+$,H=L-$|0,(H|0)>0)I=H,u=T+($<<1)|0;else{g=44;break}}else I=L,u=T;H=Z[S>>2]|0;V:do if((Z[W>>2]|0)<(Z[U>>2]|0))i=H;else{$:do if((H|0)>0){F=0;while(!0){if(t=V+4+(F*32848|0)+28|0,(Z[t>>2]|0)==11)break;if(A=F+1|0,(A|0)<(H|0))F=A;else break $}k=Z[V+4+(F*32848|0)+32>>2]|0,Z[W>>2]=k,Z[W>>2]=((k|0)<0?1:(k|0)>=(Z[U>>2]|0))?0:k,Z[t>>2]=0,Z[V+4+(F*32848|0)+40>>2]=0,Z[V+4+(F*32848|0)+36>>2]=0,Z[J>>2]=0,Z[_>>2]=0,i=Z[S>>2]|0;break V}while(0);if(!(Z[K>>2]|0)){g=21;break Z}Z[W>>2]=0,i=H}while(0);if((i|0)>0){H=0;do{$=V+262788+(H*32848|0)|0,k=V+4+(H*32848|0)|0,A=$+80|0;do Z[$>>2]=Z[k>>2],$=$+4|0,k=k+4|0;while(($|0)<(A|0));H=H+1|0,k=Z[S>>2]|0}while((H|0)<(k|0));Y0=k}else Y0=i;if(Z[X>>2]=-1,!(Z[J>>2]|0)){if((Y0|0)>0){H=0;do BS(V,V+4+(H*32848|0)|0),H=H+1|0,X0=Z[S>>2]|0;while((H|0)<(X0|0));if(H=Z[X>>2]|0,(H|0)!=-1){if(Z[W>>2]=H,Z[J>>2]=0,Z[_>>2]=0,(X0|0)>0){H=0;do BS(V,V+4+(H*32848|0)|0),H=H+1|0,k=Z[S>>2]|0;while((H|0)<(k|0));T0=k,g=33}}else T0=X0,g=33}}else T0=Y0,g=33;if((g|0)==33?(g=0,(T0|0)>0):0){H=0;do{k=V+4+(H*32848|0)|0,aL(V,k),CS(V,k,0,Z[Q>>2]|0),CS(V,V+262788+(H*32848|0)|0,0,128),k=0;do $=B(128-k|0,j[V+262788+(H*32848|0)+80+(k<<1)>>1]|0)|0,A=V+4+(H*32848|0)+80+(k<<1)|0,j[A>>1]=((B(k,j[A>>1]|0)|0)+$|0)>>>7,k=k+1|0;while((k|0)!=128);H=H+1|0}while((H|0)<(Z[S>>2]|0))}if(Z[Y>>2]=0,H=(Z[J>>2]|0)+1|0,Z[J>>2]=H,(H|0)<(Z[P>>2]|0))Z0=Z[_>>2]|0;else Z[J>>2]=0,H=(Z[_>>2]|0)+1|0,Z[_>>2]=H,Z0=H;if(H=Z[V>>2]|0,k=Z[W>>2]|0,(Z0|0)>=(Z[(Z[H+60>>2]|0)+((G[H+72+k>>0]|0)*2596|0)+32>>2]|0))Z[_>>2]=0,Z[W>>2]=k+1;if((I|0)>0)O=0,L=I,T=u;else{g=44;break}}if((g|0)==21){Z[V+525604>>2]=0;return}else if((g|0)==44)return}function I3(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0,j8=0,C6=0,o6=0,u6=0,p8=0;$=q,q=q+16|0,T=$;do if(V>>>0<245){if(X=V>>>0<11?16:V+11&-8,Y=X>>>3,Q=Z[786075]|0,W=Q>>>Y,W&3|0){if(U=(W&1^1)+Y|0,S=3144340+(U<<1<<2)|0,J=S+8|0,_=Z[J>>2]|0,K=_+8|0,P=Z[K>>2]|0,(P|0)==(S|0))Z[786075]=Q&~(1<>2]=S,Z[J>>2]=P;return P=U<<3,Z[_+4>>2]=P|3,U=_+P+4|0,Z[U>>2]=Z[U>>2]|1,O=K,q=$,O|0}if(K=Z[786077]|0,X>>>0>K>>>0){if(W|0){if(U=2<>>12&16,Y=U>>>P,U=Y>>>5&8,W=Y>>>U,Y=W>>>2&4,_=W>>>Y,W=_>>>1&2,J=_>>>W,_=J>>>1&1,S=(U|P|Y|W|_)+(J>>>_)|0,_=3144340+(S<<1<<2)|0,J=_+8|0,W=Z[J>>2]|0,Y=W+8|0,P=Z[Y>>2]|0,(P|0)==(_|0))U=Q&~(1<>2]=_,Z[J>>2]=P,L=Q;if(P=S<<3,S=P-X|0,Z[W+4>>2]=X|3,J=W+X|0,Z[J+4>>2]=S|1,Z[W+P>>2]=S,K|0){if(P=Z[786080]|0,W=K>>>3,_=3144340+(W<<1<<2)|0,U=1<>2]|0;Z[F>>2]=P,Z[z+12>>2]=P,Z[P+8>>2]=z,Z[P+12>>2]=_}return Z[786077]=S,Z[786080]=J,O=Y,q=$,O|0}if(Y=Z[786076]|0,Y){J=(Y&0-Y)+-1|0,S=J>>>12&16,_=J>>>S,J=_>>>5&8,P=_>>>J,_=P>>>2&4,U=P>>>_,P=U>>>1&2,W=U>>>P,U=W>>>1&1,H=Z[3144604+((J|S|_|P|U)+(W>>>U)<<2)>>2]|0,U=(Z[H+4>>2]&-8)-X|0,W=H,P=H;while(!0){if(H=Z[W+16>>2]|0,!H)if(_=Z[W+20>>2]|0,!_)break;else C=_;else C=H;H=(Z[C+4>>2]&-8)-X|0,_=H>>>0>>0,U=_?H:U,W=C,P=_?C:P}if(W=P+X|0,W>>>0>P>>>0){_=Z[P+24>>2]|0,H=Z[P+12>>2]|0;do if((H|0)==(P|0)){if(S=P+20|0,J=Z[S>>2]|0,!J)if(A=P+16|0,y=Z[A>>2]|0,!y){k=0;break}else m=y,I=A;else m=J,I=S;S=m,J=I;while(!0){if(A=S+20|0,y=Z[A>>2]|0,!y)if(u=S+16|0,g=Z[u>>2]|0,!g)break;else i=g,t=u;else i=y,t=A;S=i,J=t}Z[J>>2]=0,k=S}else A=Z[P+8>>2]|0,Z[A+12>>2]=H,Z[H+8>>2]=A,k=H;while(0);do if(_|0){if(H=Z[P+28>>2]|0,A=3144604+(H<<2)|0,(P|0)==(Z[A>>2]|0)){if(Z[A>>2]=k,!k){Z[786076]=Y&~(1<>2]|0)==(P|0)?H:_+20|0)>>2]=k,!k)break;if(Z[k+24>>2]=_,H=Z[P+16>>2]|0,H|0)Z[k+16>>2]=H,Z[H+24>>2]=k;if(H=Z[P+20>>2]|0,H|0)Z[k+20>>2]=H,Z[H+24>>2]=k}while(0);if(U>>>0<16)_=U+X|0,Z[P+4>>2]=_|3,Y=P+_+4|0,Z[Y>>2]=Z[Y>>2]|1;else{if(Z[P+4>>2]=X|3,Z[W+4>>2]=U|1,Z[W+U>>2]=U,K|0){if(Y=Z[786080]|0,_=K>>>3,H=3144340+(_<<1<<2)|0,A=1<<_,!(A&Q))Z[786075]=A|Q,Y0=H+8|0,X0=H;else A=H+8|0,Y0=A,X0=Z[A>>2]|0;Z[Y0>>2]=Y,Z[X0+12>>2]=Y,Z[Y+8>>2]=X0,Z[Y+12>>2]=H}Z[786077]=U,Z[786080]=W}return O=P+8|0,q=$,O|0}else T0=X}else T0=X}else T0=X}else if(V>>>0<=4294967231)if(H=V+11|0,Y=H&-8,A=Z[786076]|0,A){if(_=0-Y|0,y=H>>>8,y)if(Y>>>0>16777215)Z0=31;else H=(y+1048320|0)>>>16&8,u=y<>>16&4,g=u<>>16&2,W0=14-(y|H|u)+(g<>>15)|0,Z0=Y>>>(W0+7|0)&1|W0<<1;else Z0=0;W0=Z[3144604+(Z0<<2)>>2]|0;Z:do if(!W0)O0=_,y0=0,E0=0,H0=61;else{u=_,g=0,H=Y<<((Z0|0)==31?0:25-(Z0>>>1)|0),y=W0,D0=0;while(!0){if(_0=(Z[y+4>>2]&-8)-Y|0,_0>>>0>>0)if(!_0){F0=0,k0=y,m0=y,H0=65;break Z}else B0=_0,g0=y;else B0=u,g0=D0;if(_0=Z[y+20>>2]|0,y=Z[y+16+(H>>>31<<2)>>2]|0,o0=(_0|0)==0|(_0|0)==(y|0)?g:_0,!y){O0=B0,y0=o0,E0=g0,H0=61;break}else u=B0,g=o0,H=H<<1,D0=g0}}while(0);if((H0|0)==61){if((y0|0)==0&(E0|0)==0){if(W0=2<>>12&16,X=W0>>>_,W0=X>>>5&8,P=X>>>W0,X=P>>>2&4,W=P>>>X,P=W>>>1&2,U=W>>>P,W=U>>>1&1,h0=Z[3144604+((W0|_|X|P|W)+(U>>>W)<<2)>>2]|0,C0=0}else h0=y0,C0=E0;if(!h0)u0=O0,p0=C0;else F0=O0,k0=h0,m0=C0,H0=65}if((H0|0)==65){W=F0,U=k0,P=m0;while(!0){if(X=(Z[U+4>>2]&-8)-Y|0,_=X>>>0>>0,W0=_?X:W,X=_?U:P,_=Z[U+16>>2]|0,!_)q0=Z[U+20>>2]|0;else q0=_;if(!q0){u0=W0,p0=X;break}else W=W0,U=q0,P=X}}if(((p0|0)!=0?u0>>>0<((Z[786077]|0)-Y|0)>>>0:0)?(P=p0+Y|0,P>>>0>p0>>>0):0){U=Z[p0+24>>2]|0,W=Z[p0+12>>2]|0;do if((W|0)==(p0|0)){if(X=p0+20|0,W0=Z[X>>2]|0,!W0)if(_=p0+16|0,Q=Z[_>>2]|0,!Q){i0=0;break}else t0=Q,E6=_;else t0=W0,E6=X;X=t0,W0=E6;while(!0){if(_=X+20|0,Q=Z[_>>2]|0,!Q)if(K=X+16|0,D0=Z[K>>2]|0,!D0)break;else V6=D0,n0=K;else V6=Q,n0=_;X=V6,W0=n0}Z[W0>>2]=0,i0=X}else _=Z[p0+8>>2]|0,Z[_+12>>2]=W,Z[W+8>>2]=_,i0=W;while(0);do if(U){if(W=Z[p0+28>>2]|0,_=3144604+(W<<2)|0,(p0|0)==(Z[_>>2]|0)){if(Z[_>>2]=i0,!i0){_=A&~(1<>2]|0)==(p0|0)?_:U+20|0)>>2]=i0,!i0){e0=A;break}if(Z[i0+24>>2]=U,_=Z[p0+16>>2]|0,_|0)Z[i0+16>>2]=_,Z[_+24>>2]=i0;if(_=Z[p0+20>>2]|0,_)Z[i0+20>>2]=_,Z[_+24>>2]=i0,e0=A;else e0=A}else e0=A;while(0);Z:do if(u0>>>0<16)A=u0+Y|0,Z[p0+4>>2]=A|3,U=p0+A+4|0,Z[U>>2]=Z[U>>2]|1;else{if(Z[p0+4>>2]=Y|3,Z[P+4>>2]=u0|1,Z[P+u0>>2]=u0,U=u0>>>3,u0>>>0<256){if(A=3144340+(U<<1<<2)|0,_=Z[786075]|0,W=1<>2]|0;Z[Z6>>2]=P,Z[U6+12>>2]=P,Z[P+8>>2]=U6,Z[P+12>>2]=A;break}if(A=u0>>>8,A)if(u0>>>0>16777215)N6=31;else W=(A+1048320|0)>>>16&8,_=A<>>16&4,U=_<>>16&2,Q=14-(A|W|_)+(U<<_>>>15)|0,N6=u0>>>(Q+7|0)&1|Q<<1;else N6=0;if(Q=3144604+(N6<<2)|0,Z[P+28>>2]=N6,_=P+16|0,Z[_+4>>2]=0,Z[_>>2]=0,_=1<>2]=P,Z[P+24>>2]=Q,Z[P+12>>2]=P,Z[P+8>>2]=P;break}_=Z[Q>>2]|0;V:do if((Z[_+4>>2]&-8|0)==(u0|0))A6=_;else{Q=u0<<((N6|0)==31?0:25-(N6>>>1)|0),U=_;while(!0){if(S6=U+16+(Q>>>31<<2)|0,W=Z[S6>>2]|0,!W)break;if((Z[W+4>>2]&-8|0)==(u0|0)){A6=W;break V}else Q=Q<<1,U=W}Z[S6>>2]=P,Z[P+24>>2]=U,Z[P+12>>2]=P,Z[P+8>>2]=P;break Z}while(0);_=A6+8|0,X=Z[_>>2]|0,Z[X+12>>2]=P,Z[_>>2]=P,Z[P+8>>2]=X,Z[P+12>>2]=A6,Z[P+24>>2]=0}while(0);return O=p0+8|0,q=$,O|0}else T0=Y}else T0=Y;else T0=-1;while(0);if(p0=Z[786077]|0,p0>>>0>=T0>>>0){if(A6=p0-T0|0,S6=Z[786080]|0,A6>>>0>15)u0=S6+T0|0,Z[786080]=u0,Z[786077]=A6,Z[u0+4>>2]=A6|1,Z[S6+p0>>2]=A6,Z[S6+4>>2]=T0|3;else Z[786077]=0,Z[786080]=0,Z[S6+4>>2]=p0|3,A6=S6+p0+4|0,Z[A6>>2]=Z[A6>>2]|1;return O=S6+8|0,q=$,O|0}if(S6=Z[786078]|0,S6>>>0>T0>>>0)return A6=S6-T0|0,Z[786078]=A6,p0=Z[786081]|0,u0=p0+T0|0,Z[786081]=u0,Z[u0+4>>2]=A6|1,Z[p0+4>>2]=T0|3,O=p0+8|0,q=$,O|0;if(!(Z[786193]|0))Z[786195]=4096,Z[786194]=4096,Z[786196]=-1,Z[786197]=-1,Z[786198]=0,Z[786186]=0,Z[786193]=T&-16^1431655768,H6=4096;else H6=Z[786195]|0;if(T=T0+48|0,p0=T0+47|0,A6=H6+p0|0,u0=0-H6|0,H6=A6&u0,H6>>>0<=T0>>>0)return O=0,q=$,O|0;if(N6=Z[786185]|0,N6|0?(e0=Z[786183]|0,U6=e0+H6|0,U6>>>0<=e0>>>0|U6>>>0>N6>>>0):0)return O=0,q=$,O|0;Z:do if(!(Z[786186]&4)){N6=Z[786081]|0;V:do if(N6){U6=3144748;while(!0){if(e0=Z[U6>>2]|0,e0>>>0<=N6>>>0?(e0+(Z[U6+4>>2]|0)|0)>>>0>N6>>>0:0)break;if(e0=Z[U6+8>>2]|0,!e0){H0=128;break V}else U6=e0}if(e0=A6-S6&u0,e0>>>0<2147483647)if(Z6=P$(e0|0)|0,(Z6|0)==((Z[U6>>2]|0)+(Z[U6+4>>2]|0)|0))if((Z6|0)==(-1|0))M6=e0;else{F6=Z6,J6=e0,H0=145;break Z}else L6=Z6,c0=e0,H0=136;else M6=0}else H0=128;while(0);do if((H0|0)==128)if(N6=P$(0)|0,(N6|0)!=(-1|0)?(Y=N6,e0=Z[786194]|0,Z6=e0+-1|0,i0=((Z6&Y|0)==0?0:(Z6+Y&0-e0)-Y|0)+H6|0,Y=Z[786183]|0,e0=i0+Y|0,i0>>>0>T0>>>0&i0>>>0<2147483647):0){if(Z6=Z[786185]|0,Z6|0?e0>>>0<=Y>>>0|e0>>>0>Z6>>>0:0){M6=0;break}if(Z6=P$(i0|0)|0,(Z6|0)==(N6|0)){F6=N6,J6=i0,H0=145;break Z}else L6=Z6,c0=i0,H0=136}else M6=0;while(0);do if((H0|0)==136){if(i0=0-c0|0,!(T>>>0>c0>>>0&(c0>>>0<2147483647&(L6|0)!=(-1|0))))if((L6|0)==(-1|0)){M6=0;break}else{F6=L6,J6=c0,H0=145;break Z}if(Z6=Z[786195]|0,N6=p0-c0+Z6&0-Z6,N6>>>0>=2147483647){F6=L6,J6=c0,H0=145;break Z}if((P$(N6|0)|0)==(-1|0)){P$(i0|0)|0,M6=0;break}else{F6=L6,J6=N6+c0|0,H0=145;break Z}}while(0);Z[786186]=Z[786186]|4,T6=M6,H0=143}else T6=0,H0=143;while(0);if(((H0|0)==143?H6>>>0<2147483647:0)?(M6=P$(H6|0)|0,H6=P$(0)|0,c0=H6-M6|0,L6=c0>>>0>(T0+40|0)>>>0,!((M6|0)==(-1|0)|L6^1|M6>>>0

>>0&((M6|0)!=(-1|0)&(H6|0)!=(-1|0))^1)):0)F6=M6,J6=L6?c0:T6,H0=145;if((H0|0)==145){if(T6=(Z[786183]|0)+J6|0,Z[786183]=T6,T6>>>0>(Z[786184]|0)>>>0)Z[786184]=T6;T6=Z[786081]|0;Z:do if(T6){c0=3144748;while(!0){if(W6=Z[c0>>2]|0,h6=Z[c0+4>>2]|0,(F6|0)==(W6+h6|0)){H0=154;break}if(L6=Z[c0+8>>2]|0,!L6)break;else c0=L6}if(((H0|0)==154?(L6=c0+4|0,(Z[c0+12>>2]&8|0)==0):0)?F6>>>0>T6>>>0&W6>>>0<=T6>>>0:0){Z[L6>>2]=h6+J6,L6=(Z[786078]|0)+J6|0,M6=T6+8|0,H6=(M6&7|0)==0?0:0-M6&7,M6=T6+H6|0,p0=L6-H6|0,Z[786081]=M6,Z[786078]=p0,Z[M6+4>>2]=p0|1,Z[T6+L6+4>>2]=40,Z[786082]=Z[786197];break}if(F6>>>0<(Z[786079]|0)>>>0)Z[786079]=F6;L6=F6+J6|0,p0=3144748;while(!0){if((Z[p0>>2]|0)==(L6|0)){H0=162;break}if(M6=Z[p0+8>>2]|0,!M6)break;else p0=M6}if((H0|0)==162?(Z[p0+12>>2]&8|0)==0:0){Z[p0>>2]=F6,c0=p0+4|0,Z[c0>>2]=(Z[c0>>2]|0)+J6,c0=F6+8|0,M6=F6+((c0&7|0)==0?0:0-c0&7)|0,c0=L6+8|0,H6=L6+((c0&7|0)==0?0:0-c0&7)|0,c0=M6+T0|0,T=H6-M6-T0|0,Z[M6+4>>2]=T0|3;V:do if((T6|0)==(H6|0))u0=(Z[786078]|0)+T|0,Z[786078]=u0,Z[786081]=c0,Z[c0+4>>2]=u0|1;else{if((Z[786080]|0)==(H6|0)){u0=(Z[786077]|0)+T|0,Z[786077]=u0,Z[786080]=c0,Z[c0+4>>2]=u0|1,Z[c0+u0>>2]=u0;break}if(u0=Z[H6+4>>2]|0,(u0&3|0)==1){S6=u0&-8,A6=u0>>>3;$:do if(u0>>>0<256)if(N6=Z[H6+8>>2]|0,i0=Z[H6+12>>2]|0,(i0|0)==(N6|0)){Z[786075]=Z[786075]&~(1<>2]=i0,Z[i0+8>>2]=N6;break}else{N6=Z[H6+24>>2]|0,i0=Z[H6+12>>2]|0;do if((i0|0)==(H6|0)){if(Z6=H6+16|0,e0=Z6+4|0,Y=Z[e0>>2]|0,!Y)if(n0=Z[Z6>>2]|0,!n0){s6=0;break}else p6=n0,G6=Z6;else p6=Y,G6=e0;e0=p6,Y=G6;while(!0){if(Z6=e0+20|0,n0=Z[Z6>>2]|0,!n0)if(V6=e0+16|0,E6=Z[V6>>2]|0,!E6)break;else w6=E6,B6=V6;else w6=n0,B6=Z6;e0=w6,Y=B6}Z[Y>>2]=0,s6=e0}else Z6=Z[H6+8>>2]|0,Z[Z6+12>>2]=i0,Z[i0+8>>2]=Z6,s6=i0;while(0);if(!N6)break;i0=Z[H6+28>>2]|0,U=3144604+(i0<<2)|0;do if((Z[U>>2]|0)!=(H6|0)){if(Z6=N6+16|0,Z[((Z[Z6>>2]|0)==(H6|0)?Z6:N6+20|0)>>2]=s6,!s6)break $}else{if(Z[U>>2]=s6,s6|0)break;Z[786076]=Z[786076]&~(1<>2]=N6,i0=H6+16|0,U=Z[i0>>2]|0,U|0)Z[s6+16>>2]=U,Z[U+24>>2]=s6;if(U=Z[i0+4>>2]|0,!U)break;Z[s6+20>>2]=U,Z[U+24>>2]=s6}while(0);i6=H6+S6|0,H8=S6+T|0}else i6=H6,H8=T;if(A6=i6+4|0,Z[A6>>2]=Z[A6>>2]&-2,Z[c0+4>>2]=H8|1,Z[c0+H8>>2]=H8,A6=H8>>>3,H8>>>0<256){if(u0=3144340+(A6<<1<<2)|0,U6=Z[786075]|0,U=1<>2]|0;Z[m6>>2]=c0,Z[_8+12>>2]=c0,Z[c0+8>>2]=_8,Z[c0+12>>2]=u0;break}u0=H8>>>8;do if(!u0)v8=0;else{if(H8>>>0>16777215){v8=31;break}U=(u0+1048320|0)>>>16&8,U6=u0<>>16&4,i0=U6<>>16&2,Z6=14-(A6|U|U6)+(i0<>>15)|0,v8=H8>>>(Z6+7|0)&1|Z6<<1}while(0);if(u0=3144604+(v8<<2)|0,Z[c0+28>>2]=v8,S6=c0+16|0,Z[S6+4>>2]=0,Z[S6>>2]=0,S6=Z[786076]|0,Z6=1<>2]=c0,Z[c0+24>>2]=u0,Z[c0+12>>2]=c0,Z[c0+8>>2]=c0;break}Z6=Z[u0>>2]|0;$:do if((Z[Z6+4>>2]&-8|0)==(H8|0))Y8=Z6;else{u0=H8<<((v8|0)==31?0:25-(v8>>>1)|0),S6=Z6;while(!0){if(T8=S6+16+(u0>>>31<<2)|0,U6=Z[T8>>2]|0,!U6)break;if((Z[U6+4>>2]&-8|0)==(H8|0)){Y8=U6;break $}else u0=u0<<1,S6=U6}Z[T8>>2]=c0,Z[c0+24>>2]=S6,Z[c0+12>>2]=c0,Z[c0+8>>2]=c0;break V}while(0);Z6=Y8+8|0,u0=Z[Z6>>2]|0,Z[u0+12>>2]=c0,Z[Z6>>2]=c0,Z[c0+8>>2]=u0,Z[c0+12>>2]=Y8,Z[c0+24>>2]=0}while(0);return O=M6+8|0,q=$,O|0}c0=3144748;while(!0){if(T=Z[c0>>2]|0,T>>>0<=T6>>>0?(C8=T+(Z[c0+4>>2]|0)|0,C8>>>0>T6>>>0):0)break;c0=Z[c0+8>>2]|0}c0=C8+-47|0,M6=c0+8|0,T=c0+((M6&7|0)==0?0:0-M6&7)|0,M6=T6+16|0,c0=T>>>0>>0?T6:T,T=c0+8|0,H6=J6+-40|0,L6=F6+8|0,p0=(L6&7|0)==0?0:0-L6&7,L6=F6+p0|0,u0=H6-p0|0,Z[786081]=L6,Z[786078]=u0,Z[L6+4>>2]=u0|1,Z[F6+H6+4>>2]=40,Z[786082]=Z[786197],H6=c0+4|0,Z[H6>>2]=27,Z[T>>2]=Z[786187],Z[T+4>>2]=Z[786188],Z[T+8>>2]=Z[786189],Z[T+12>>2]=Z[786190],Z[786187]=F6,Z[786188]=J6,Z[786190]=0,Z[786189]=T,T=c0+24|0;do u0=T,T=T+4|0,Z[T>>2]=7;while((u0+8|0)>>>0>>0);if((c0|0)!=(T6|0)){if(T=c0-T6|0,Z[H6>>2]=Z[H6>>2]&-2,Z[T6+4>>2]=T|1,Z[c0>>2]=T,u0=T>>>3,T>>>0<256){if(L6=3144340+(u0<<1<<2)|0,p0=Z[786075]|0,Z6=1<>2]|0;Z[j8>>2]=T6,Z[C6+12>>2]=T6,Z[T6+8>>2]=C6,Z[T6+12>>2]=L6;break}if(L6=T>>>8,L6)if(T>>>0>16777215)o6=31;else Z6=(L6+1048320|0)>>>16&8,p0=L6<>>16&4,u0=p0<>>16&2,N6=14-(L6|Z6|p0)+(u0<>>15)|0,o6=T>>>(N6+7|0)&1|N6<<1;else o6=0;if(N6=3144604+(o6<<2)|0,Z[T6+28>>2]=o6,Z[T6+20>>2]=0,Z[M6>>2]=0,p0=Z[786076]|0,u0=1<>2]=T6,Z[T6+24>>2]=N6,Z[T6+12>>2]=T6,Z[T6+8>>2]=T6;break}u0=Z[N6>>2]|0;V:do if((Z[u0+4>>2]&-8|0)==(T|0))u6=u0;else{N6=T<<((o6|0)==31?0:25-(o6>>>1)|0),p0=u0;while(!0){if(p8=p0+16+(N6>>>31<<2)|0,Z6=Z[p8>>2]|0,!Z6)break;if((Z[Z6+4>>2]&-8|0)==(T|0)){u6=Z6;break V}else N6=N6<<1,p0=Z6}Z[p8>>2]=T6,Z[T6+24>>2]=p0,Z[T6+12>>2]=T6,Z[T6+8>>2]=T6;break Z}while(0);T=u6+8|0,u0=Z[T>>2]|0,Z[u0+12>>2]=T6,Z[T>>2]=T6,Z[T6+8>>2]=u0,Z[T6+12>>2]=u6,Z[T6+24>>2]=0}}else{if(u0=Z[786079]|0,(u0|0)==0|F6>>>0>>0)Z[786079]=F6;Z[786187]=F6,Z[786188]=J6,Z[786190]=0,Z[786084]=Z[786193],Z[786083]=-1,Z[786088]=3144340,Z[786087]=3144340,Z[786090]=3144348,Z[786089]=3144348,Z[786092]=3144356,Z[786091]=3144356,Z[786094]=3144364,Z[786093]=3144364,Z[786096]=3144372,Z[786095]=3144372,Z[786098]=3144380,Z[786097]=3144380,Z[786100]=3144388,Z[786099]=3144388,Z[786102]=3144396,Z[786101]=3144396,Z[786104]=3144404,Z[786103]=3144404,Z[786106]=3144412,Z[786105]=3144412,Z[786108]=3144420,Z[786107]=3144420,Z[786110]=3144428,Z[786109]=3144428,Z[786112]=3144436,Z[786111]=3144436,Z[786114]=3144444,Z[786113]=3144444,Z[786116]=3144452,Z[786115]=3144452,Z[786118]=3144460,Z[786117]=3144460,Z[786120]=3144468,Z[786119]=3144468,Z[786122]=3144476,Z[786121]=3144476,Z[786124]=3144484,Z[786123]=3144484,Z[786126]=3144492,Z[786125]=3144492,Z[786128]=3144500,Z[786127]=3144500,Z[786130]=3144508,Z[786129]=3144508,Z[786132]=3144516,Z[786131]=3144516,Z[786134]=3144524,Z[786133]=3144524,Z[786136]=3144532,Z[786135]=3144532,Z[786138]=3144540,Z[786137]=3144540,Z[786140]=3144548,Z[786139]=3144548,Z[786142]=3144556,Z[786141]=3144556,Z[786144]=3144564,Z[786143]=3144564,Z[786146]=3144572,Z[786145]=3144572,Z[786148]=3144580,Z[786147]=3144580,Z[786150]=3144588,Z[786149]=3144588,u0=J6+-40|0,T=F6+8|0,M6=(T&7|0)==0?0:0-T&7,T=F6+M6|0,c0=u0-M6|0,Z[786081]=T,Z[786078]=c0,Z[T+4>>2]=c0|1,Z[F6+u0+4>>2]=40,Z[786082]=Z[786197]}while(0);if(F6=Z[786078]|0,F6>>>0>T0>>>0)return J6=F6-T0|0,Z[786078]=J6,F6=Z[786081]|0,T6=F6+T0|0,Z[786081]=T6,Z[T6+4>>2]=J6|1,Z[F6+4>>2]=T0|3,O=F6+8|0,q=$,O|0}return Z[(y5()|0)>>2]=12,O=0,q=$,O|0}function TZ(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0;if(!V)return;$=V+-8|0,T=Z[786079]|0,X=Z[V+-4>>2]|0,V=X&-8,Y=$+V|0;do if(!(X&1)){if(Q=Z[$>>2]|0,!(X&3))return;if(W=$+(0-Q)|0,U=Q+V|0,W>>>0>>0)return;if((Z[786080]|0)==(W|0)){if(S=Y+4|0,J=Z[S>>2]|0,(J&3|0)!=3){_=W,K=W,P=U;break}Z[786077]=U,Z[S>>2]=J&-2,Z[W+4>>2]=U|1,Z[W+U>>2]=U;return}if(J=Q>>>3,Q>>>0<256)if(Q=Z[W+8>>2]|0,S=Z[W+12>>2]|0,(S|0)==(Q|0)){Z[786075]=Z[786075]&~(1<>2]=S,Z[S+8>>2]=Q,_=W,K=W,P=U;break}Q=Z[W+24>>2]|0,S=Z[W+12>>2]|0;do if((S|0)==(W|0)){if(J=W+16|0,O=J+4|0,L=Z[O>>2]|0,!L)if(F=Z[J>>2]|0,!F){z=0;break}else H=F,C=J;else H=L,C=O;O=H,L=C;while(!0){if(J=O+20|0,F=Z[J>>2]|0,!F)if(A=O+16|0,y=Z[A>>2]|0,!y)break;else k=y,m=A;else k=F,m=J;O=k,L=m}Z[L>>2]=0,z=O}else J=Z[W+8>>2]|0,Z[J+12>>2]=S,Z[S+8>>2]=J,z=S;while(0);if(Q){if(S=Z[W+28>>2]|0,J=3144604+(S<<2)|0,(Z[J>>2]|0)==(W|0)){if(Z[J>>2]=z,!z){Z[786076]=Z[786076]&~(1<>2]|0)==(W|0)?S:Q+20|0)>>2]=z,!z){_=W,K=W,P=U;break}if(Z[z+24>>2]=Q,S=W+16|0,J=Z[S>>2]|0,J|0)Z[z+16>>2]=J,Z[J+24>>2]=z;if(J=Z[S+4>>2]|0,J)Z[z+20>>2]=J,Z[J+24>>2]=z,_=W,K=W,P=U;else _=W,K=W,P=U}else _=W,K=W,P=U}else _=$,K=$,P=V;while(0);if(_>>>0>=Y>>>0)return;if(V=Y+4|0,$=Z[V>>2]|0,!($&1))return;if(!($&2)){if((Z[786081]|0)==(Y|0)){if(z=(Z[786078]|0)+P|0,Z[786078]=z,Z[786081]=K,Z[K+4>>2]=z|1,(K|0)!=(Z[786080]|0))return;Z[786080]=0,Z[786077]=0;return}if((Z[786080]|0)==(Y|0)){z=(Z[786077]|0)+P|0,Z[786077]=z,Z[786080]=_,Z[K+4>>2]=z|1,Z[_+z>>2]=z;return}z=($&-8)+P|0,m=$>>>3;do if($>>>0<256)if(k=Z[Y+8>>2]|0,C=Z[Y+12>>2]|0,(C|0)==(k|0)){Z[786075]=Z[786075]&~(1<>2]=C,Z[C+8>>2]=k;break}else{k=Z[Y+24>>2]|0,C=Z[Y+12>>2]|0;do if((C|0)==(Y|0)){if(H=Y+16|0,T=H+4|0,X=Z[T>>2]|0,!X)if(J=Z[H>>2]|0,!J){I=0;break}else u=J,g=H;else u=X,g=T;T=u,X=g;while(!0){if(H=T+20|0,J=Z[H>>2]|0,!J)if(S=T+16|0,F=Z[S>>2]|0,!F)break;else i=F,t=S;else i=J,t=H;T=i,X=t}Z[X>>2]=0,I=T}else O=Z[Y+8>>2]|0,Z[O+12>>2]=C,Z[C+8>>2]=O,I=C;while(0);if(k|0){if(C=Z[Y+28>>2]|0,U=3144604+(C<<2)|0,(Z[U>>2]|0)==(Y|0)){if(Z[U>>2]=I,!I){Z[786076]=Z[786076]&~(1<>2]|0)==(Y|0)?C:k+20|0)>>2]=I,!I)break;if(Z[I+24>>2]=k,C=Y+16|0,U=Z[C>>2]|0,U|0)Z[I+16>>2]=U,Z[U+24>>2]=I;if(U=Z[C+4>>2]|0,U|0)Z[I+20>>2]=U,Z[U+24>>2]=I}}while(0);if(Z[K+4>>2]=z|1,Z[_+z>>2]=z,(K|0)==(Z[786080]|0)){Z[786077]=z;return}else Y0=z}else Z[V>>2]=$&-2,Z[K+4>>2]=P|1,Z[_+P>>2]=P,Y0=P;if(P=Y0>>>3,Y0>>>0<256){if(_=3144340+(P<<1<<2)|0,$=Z[786075]|0,V=1<>2]|0;Z[X0>>2]=K,Z[T0+12>>2]=K,Z[K+8>>2]=T0,Z[K+12>>2]=_;return}if(_=Y0>>>8,_)if(Y0>>>0>16777215)Z0=31;else T0=(_+1048320|0)>>>16&8,X0=_<>>16&4,V=X0<<_,X0=(V+245760|0)>>>16&2,$=14-(_|T0|X0)+(V<>>15)|0,Z0=Y0>>>($+7|0)&1|$<<1;else Z0=0;$=3144604+(Z0<<2)|0,Z[K+28>>2]=Z0,Z[K+20>>2]=0,Z[K+16>>2]=0,X0=Z[786076]|0,V=1<>2]=K,Z[K+24>>2]=$,Z[K+12>>2]=K,Z[K+8>>2]=K;else{T0=Z[$>>2]|0;V:do if((Z[T0+4>>2]&-8|0)==(Y0|0))W0=T0;else{_=Y0<<((Z0|0)==31?0:25-(Z0>>>1)|0),P=T0;while(!0){if(O0=P+16+(_>>>31<<2)|0,z=Z[O0>>2]|0,!z)break;if((Z[z+4>>2]&-8|0)==(Y0|0)){W0=z;break V}else _=_<<1,P=z}Z[O0>>2]=K,Z[K+24>>2]=P,Z[K+12>>2]=K,Z[K+8>>2]=K;break Z}while(0);T0=W0+8|0,k=Z[T0>>2]|0,Z[k+12>>2]=K,Z[T0>>2]=K,Z[K+8>>2]=k,Z[K+12>>2]=W0,Z[K+24>>2]=0}while(0);if(K=(Z[786083]|0)+-1|0,Z[786083]=K,K|0)return;K=3144756;while(!0)if(W0=Z[K>>2]|0,!W0)break;else K=W0+8|0;Z[786083]=-1;return}function EZ(V,$){V=V|0,$=$|0;var T=0,X=0;if(V)if(T=B($,V)|0,($|V)>>>0>65535)X=((T>>>0)/(V>>>0)|0|0)==($|0)?T:-1;else X=T;else X=0;if(T=I3(X)|0,!T)return T|0;if(!(Z[T+-4>>2]&3))return T|0;return x8(T|0,0,X|0)|0,T|0}function N$(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;if(!V)return T=I3($)|0,T|0;if($>>>0>4294967231)return Z[(y5()|0)>>2]=12,T=0,T|0;if(X=cL(V+-8|0,$>>>0<11?16:$+11&-8)|0,X|0)return T=X+8|0,T|0;if(X=I3($)|0,!X)return T=0,T|0;return Y=Z[V+-4>>2]|0,Q=(Y&-8)-((Y&3|0)==0?8:4)|0,q6(X|0,V|0,(Q>>>0<$>>>0?Q:$)|0)|0,TZ(V),T=X,T|0}function cL(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0;if(T=V+4|0,X=Z[T>>2]|0,Y=X&-8,Q=V+Y|0,!(X&3)){if($>>>0<256)return W=0,W|0;if(Y>>>0>=($+4|0)>>>0?(Y-$|0)>>>0<=Z[786195]<<1>>>0:0)return W=V,W|0;return W=0,W|0}if(Y>>>0>=$>>>0){if(U=Y-$|0,U>>>0<=15)return W=V,W|0;return S=V+$|0,Z[T>>2]=X&1|$|2,Z[S+4>>2]=U|3,J=Q+4|0,Z[J>>2]=Z[J>>2]|1,AS(S,U),W=V,W|0}if((Z[786081]|0)==(Q|0)){if(U=(Z[786078]|0)+Y|0,S=U-$|0,J=V+$|0,U>>>0<=$>>>0)return W=0,W|0;return Z[T>>2]=X&1|$|2,Z[J+4>>2]=S|1,Z[786081]=J,Z[786078]=S,W=V,W|0}if((Z[786080]|0)==(Q|0)){if(S=(Z[786077]|0)+Y|0,S>>>0<$>>>0)return W=0,W|0;if(J=S-$|0,J>>>0>15)U=V+$|0,_=V+S|0,Z[T>>2]=X&1|$|2,Z[U+4>>2]=J|1,Z[_>>2]=J,K=_+4|0,Z[K>>2]=Z[K>>2]&-2,P=U,O=J;else Z[T>>2]=X&1|S|2,J=V+S+4|0,Z[J>>2]=Z[J>>2]|1,P=0,O=0;return Z[786077]=O,Z[786080]=P,W=V,W|0}if(P=Z[Q+4>>2]|0,P&2|0)return W=0,W|0;if(O=(P&-8)+Y|0,O>>>0<$>>>0)return W=0,W|0;Y=O-$|0,J=P>>>3;do if(P>>>0<256)if(S=Z[Q+8>>2]|0,U=Z[Q+12>>2]|0,(U|0)==(S|0)){Z[786075]=Z[786075]&~(1<>2]=U,Z[U+8>>2]=S;break}else{S=Z[Q+24>>2]|0,U=Z[Q+12>>2]|0;do if((U|0)==(Q|0)){if(K=Q+16|0,_=K+4|0,L=Z[_>>2]|0,!L)if(F=Z[K>>2]|0,!F){z=0;break}else H=F,C=K;else H=L,C=_;_=H,L=C;while(!0){if(K=_+20|0,F=Z[K>>2]|0,!F)if(A=_+16|0,y=Z[A>>2]|0,!y)break;else k=y,m=A;else k=F,m=K;_=k,L=m}Z[L>>2]=0,z=_}else K=Z[Q+8>>2]|0,Z[K+12>>2]=U,Z[U+8>>2]=K,z=U;while(0);if(S|0){if(U=Z[Q+28>>2]|0,K=3144604+(U<<2)|0,(Z[K>>2]|0)==(Q|0)){if(Z[K>>2]=z,!z){Z[786076]=Z[786076]&~(1<>2]|0)==(Q|0)?U:S+20|0)>>2]=z,!z)break;if(Z[z+24>>2]=S,U=Q+16|0,K=Z[U>>2]|0,K|0)Z[z+16>>2]=K,Z[K+24>>2]=z;if(K=Z[U+4>>2]|0,K|0)Z[z+20>>2]=K,Z[K+24>>2]=z}}while(0);if(Y>>>0<16)return Z[T>>2]=X&1|O|2,z=V+O+4|0,Z[z>>2]=Z[z>>2]|1,W=V,W|0;else return z=V+$|0,Z[T>>2]=X&1|$|2,Z[z+4>>2]=Y|3,$=V+O+4|0,Z[$>>2]=Z[$>>2]|1,AS(z,Y),W=V,W|0;return 0}function AS(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0;T=V+$|0,X=Z[V+4>>2]|0;do if(!(X&1)){if(Y=Z[V>>2]|0,!(X&3))return;if(Q=V+(0-Y)|0,W=Y+$|0,(Z[786080]|0)==(Q|0)){if(U=T+4|0,S=Z[U>>2]|0,(S&3|0)!=3){J=Q,_=W;break}Z[786077]=W,Z[U>>2]=S&-2,Z[Q+4>>2]=W|1,Z[T>>2]=W;return}if(S=Y>>>3,Y>>>0<256)if(Y=Z[Q+8>>2]|0,U=Z[Q+12>>2]|0,(U|0)==(Y|0)){Z[786075]=Z[786075]&~(1<>2]=U,Z[U+8>>2]=Y,J=Q,_=W;break}Y=Z[Q+24>>2]|0,U=Z[Q+12>>2]|0;do if((U|0)==(Q|0)){if(S=Q+16|0,K=S+4|0,P=Z[K>>2]|0,!P)if(O=Z[S>>2]|0,!O){L=0;break}else F=O,z=S;else F=P,z=K;K=F,P=z;while(!0){if(S=K+20|0,O=Z[S>>2]|0,!O)if(H=K+16|0,C=Z[H>>2]|0,!C)break;else A=C,y=H;else A=O,y=S;K=A,P=y}Z[P>>2]=0,L=K}else S=Z[Q+8>>2]|0,Z[S+12>>2]=U,Z[U+8>>2]=S,L=U;while(0);if(Y){if(U=Z[Q+28>>2]|0,S=3144604+(U<<2)|0,(Z[S>>2]|0)==(Q|0)){if(Z[S>>2]=L,!L){Z[786076]=Z[786076]&~(1<>2]|0)==(Q|0)?U:Y+20|0)>>2]=L,!L){J=Q,_=W;break}if(Z[L+24>>2]=Y,U=Q+16|0,S=Z[U>>2]|0,S|0)Z[L+16>>2]=S,Z[S+24>>2]=L;if(S=Z[U+4>>2]|0,S)Z[L+20>>2]=S,Z[S+24>>2]=L,J=Q,_=W;else J=Q,_=W}else J=Q,_=W}else J=V,_=$;while(0);if($=T+4|0,V=Z[$>>2]|0,!(V&2)){if((Z[786081]|0)==(T|0)){if(L=(Z[786078]|0)+_|0,Z[786078]=L,Z[786081]=J,Z[J+4>>2]=L|1,(J|0)!=(Z[786080]|0))return;Z[786080]=0,Z[786077]=0;return}if((Z[786080]|0)==(T|0)){L=(Z[786077]|0)+_|0,Z[786077]=L,Z[786080]=J,Z[J+4>>2]=L|1,Z[J+L>>2]=L;return}L=(V&-8)+_|0,y=V>>>3;do if(V>>>0<256)if(A=Z[T+8>>2]|0,z=Z[T+12>>2]|0,(z|0)==(A|0)){Z[786075]=Z[786075]&~(1<>2]=z,Z[z+8>>2]=A;break}else{A=Z[T+24>>2]|0,z=Z[T+12>>2]|0;do if((z|0)==(T|0)){if(F=T+16|0,X=F+4|0,S=Z[X>>2]|0,!S)if(U=Z[F>>2]|0,!U){k=0;break}else m=U,I=F;else m=S,I=X;X=m,S=I;while(!0){if(F=X+20|0,U=Z[F>>2]|0,!U)if(O=X+16|0,H=Z[O>>2]|0,!H)break;else u=H,g=O;else u=U,g=F;X=u,S=g}Z[S>>2]=0,k=X}else K=Z[T+8>>2]|0,Z[K+12>>2]=z,Z[z+8>>2]=K,k=z;while(0);if(A|0){if(z=Z[T+28>>2]|0,W=3144604+(z<<2)|0,(Z[W>>2]|0)==(T|0)){if(Z[W>>2]=k,!k){Z[786076]=Z[786076]&~(1<>2]|0)==(T|0)?z:A+20|0)>>2]=k,!k)break;if(Z[k+24>>2]=A,z=T+16|0,W=Z[z>>2]|0,W|0)Z[k+16>>2]=W,Z[W+24>>2]=k;if(W=Z[z+4>>2]|0,W|0)Z[k+20>>2]=W,Z[W+24>>2]=k}}while(0);if(Z[J+4>>2]=L|1,Z[J+L>>2]=L,(J|0)==(Z[786080]|0)){Z[786077]=L;return}else i=L}else Z[$>>2]=V&-2,Z[J+4>>2]=_|1,Z[J+_>>2]=_,i=_;if(_=i>>>3,i>>>0<256){if(V=3144340+(_<<1<<2)|0,$=Z[786075]|0,L=1<<_,!($&L))Z[786075]=$|L,t=V+8|0,Y0=V;else L=V+8|0,t=L,Y0=Z[L>>2]|0;Z[t>>2]=J,Z[Y0+12>>2]=J,Z[J+8>>2]=Y0,Z[J+12>>2]=V;return}if(V=i>>>8,V)if(i>>>0>16777215)X0=31;else Y0=(V+1048320|0)>>>16&8,t=V<>>16&4,L=t<>>16&2,$=14-(V|Y0|t)+(L<>>15)|0,X0=i>>>($+7|0)&1|$<<1;else X0=0;if($=3144604+(X0<<2)|0,Z[J+28>>2]=X0,Z[J+20>>2]=0,Z[J+16>>2]=0,t=Z[786076]|0,L=1<>2]=J,Z[J+24>>2]=$,Z[J+12>>2]=J,Z[J+8>>2]=J;return}L=Z[$>>2]|0;Z:do if((Z[L+4>>2]&-8|0)==(i|0))T0=L;else{$=i<<((X0|0)==31?0:25-(X0>>>1)|0),t=L;while(!0){if(Z0=t+16+($>>>31<<2)|0,Y0=Z[Z0>>2]|0,!Y0)break;if((Z[Y0+4>>2]&-8|0)==(i|0)){T0=Y0;break Z}else $=$<<1,t=Y0}Z[Z0>>2]=J,Z[J+24>>2]=t,Z[J+12>>2]=J,Z[J+8>>2]=J;return}while(0);Z0=T0+8|0,i=Z[Z0>>2]|0,Z[i+12>>2]=J,Z[Z0>>2]=J,Z[J+8>>2]=i,Z[J+12>>2]=T0,Z[J+24>>2]=0;return}function ZD(V){V=V|0;var $=0,T=0;return $=q,q=q+16|0,T=$,Z[T>>2]=HS(Z[V+60>>2]|0)|0,V=NV(n6(6,T|0)|0)|0,q=$,V|0}function VD(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if(X=q,q=q+32|0,Y=X+16|0,Q=X,Z[Q>>2]=$,W=Q+4|0,U=V+48|0,S=Z[U>>2]|0,Z[W>>2]=T-((S|0)!=0&1),J=V+44|0,Z[Q+8>>2]=Z[J>>2],Z[Q+12>>2]=S,Z[Y>>2]=Z[V+60>>2],Z[Y+4>>2]=Q,Z[Y+8>>2]=2,Q=NV(P6(145,Y|0)|0)|0,(Q|0)>=1)if(Y=Z[W>>2]|0,Q>>>0>Y>>>0)if(W=Z[J>>2]|0,J=V+4|0,Z[J>>2]=W,S=W,Z[V+8>>2]=S+(Q-Y),!(Z[U>>2]|0))_=T;else Z[J>>2]=S+1,N[$+(T+-1)>>0]=N[S>>0]|0,_=T;else _=Q;else Z[V>>2]=Z[V>>2]|Q&48^16,_=Q;return q=X,_|0}function $D(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0;if(Y=q,q=q+32|0,Q=Y+8|0,W=Y,Z[Q>>2]=Z[V+60>>2],Z[Q+4>>2]=T,Z[Q+8>>2]=$,Z[Q+12>>2]=W,Z[Q+16>>2]=X,(NV(_6(140,Q|0)|0)|0)<0)Q=W,Z[Q>>2]=-1,Z[Q+4>>2]=-1,U=-1,S=-1;else Q=W,U=Z[Q+4>>2]|0,S=Z[Q>>2]|0;return h(U|0),q=Y,S|0}function NV(V){V=V|0;var $=0;if(V>>>0>4294963200)Z[(y5()|0)>>2]=0-V,$=-1;else $=V;return $|0}function y5(){return 3144796}function HS(V){return V=V|0,V|0}function TD(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0;if(X=q,q=q+32|0,Y=X,Z[V+36>>2]=4,(Z[V>>2]&64|0)==0?(Z[Y>>2]=Z[V+60>>2],Z[Y+4>>2]=21523,Z[Y+8>>2]=X+16,b6(54,Y|0)|0):0)N[V+75>>0]=-1;return Y=xS(V,$,T)|0,q=X,Y|0}function xS(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0;X=q,q=q+48|0,Y=X+32|0,Q=X+16|0,W=X,U=V+28|0,S=Z[U>>2]|0,Z[W>>2]=S,J=V+20|0,_=(Z[J>>2]|0)-S|0,Z[W+4>>2]=_,Z[W+8>>2]=$,Z[W+12>>2]=T,$=_+T|0,_=V+60|0,Z[Q>>2]=Z[_>>2],Z[Q+4>>2]=W,Z[Q+8>>2]=2,S=NV(R6(146,Q|0)|0)|0;Z:do if(($|0)!=(S|0)){Q=S,K=W,P=2,O=$;while(!0){if((Q|0)<0)break;if(O=O-Q|0,L=Z[K+4>>2]|0,F=Q>>>0>L>>>0,z=F?K+8|0:K,H=P+(F<<31>>31)|0,C=Q-(F?L:0)|0,Z[z>>2]=(Z[z>>2]|0)+C,L=z+4|0,Z[L>>2]=(Z[L>>2]|0)-C,Z[Y>>2]=Z[_>>2],Z[Y+4>>2]=z,Z[Y+8>>2]=H,Q=NV(R6(146,Y|0)|0)|0,(O|0)==(Q|0)){A=3;break Z}else K=z,P=H}if(Z[V+16>>2]=0,Z[U>>2]=0,Z[J>>2]=0,Z[V>>2]=Z[V>>2]|32,(P|0)==2)y=0;else y=T-(Z[K+4>>2]|0)|0}else A=3;while(0);if((A|0)==3)A=Z[V+44>>2]|0,Z[V+16>>2]=A+(Z[V+48>>2]|0),V=A,Z[U>>2]=V,Z[J>>2]=V,y=T;return q=X,y|0}function QQ(V,$){return V=+V,$=$|0,+ +ZY(V,$)}function ZY(V,$){V=+V,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;if(($|0)<=1023)if(($|0)<-1022)T=V*0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014,X=($|0)<-2044,Y=$+2044|0,Q=X?(Y|0)>-1022?Y:-1022:$+1022|0,W=X?T*0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014:T;else Q=$,W=V;else T=V*89884656743115800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,X=($|0)>2046,Y=$+-2046|0,Q=X?(Y|0)<1023?Y:1023:$+-1023|0,W=X?T*89884656743115800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000:T;return X=v1(Q+1023|0,0,52)|0,Q=x()|0,Z[e>>2]=X,Z[e+4>>2]=Q,+(W*+b[e>>3])}function yS(V,$){V=+V,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;switch(b[e>>3]=V,T=Z[e>>2]|0,X=Z[e+4>>2]|0,Y=B5(T|0,X|0,52)|0,x()|0,Y&2047){case 0:{if(V!=0)Q=+yS(V*18446744073709550000,$),W=(Z[$>>2]|0)+-64|0,U=Q;else W=0,U=V;Z[$>>2]=W,S=U;break}case 2047:{S=V;break}default:Z[$>>2]=(Y&2047)+-1022,Z[e>>2]=T,Z[e+4>>2]=X&-2146435073|1071644672,S=+b[e>>3]}return+S}function wS(V,$){return V=+V,$=+$,+ +XD(V,$)}function XD(V,$){V=+V,$=+$;var T=0,X=0,Y=0;return b[e>>3]=V,T=Z[e>>2]|0,X=Z[e+4>>2]|0,b[e>>3]=$,Y=Z[e+4>>2]&-2147483648|X&2147483647,Z[e>>2]=T,Z[e+4>>2]=Y,+ +b[e>>3]}function YD(V,$){V=+V,$=+$;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0;b[e>>3]=V,T=Z[e>>2]|0,X=Z[e+4>>2]|0,b[e>>3]=$,Y=Z[e>>2]|0,Q=Z[e+4>>2]|0,W=B5(T|0,X|0,52)|0,x()|0,U=W&2047,W=B5(Y|0,Q|0,52)|0,x()|0,S=W&2047,W=X&-2147483648,J=v1(Y|0,Q|0,1)|0,_=x()|0;Z:do if(!((J|0)==0&(_|0)==0)?(K=QD($)|0,P=(x()|0)&2147483647,!((U|0)==2047|(P>>>0>2146435072|(P|0)==2146435072&K>>>0>0))):0){if(K=v1(T|0,X|0,1)|0,P=x()|0,!(P>>>0>_>>>0|(P|0)==(_|0)&K>>>0>J>>>0))return+((K|0)==(J|0)&(P|0)==(_|0)?V*0:V);if(!U){if(P=v1(T|0,X|0,12)|0,K=x()|0,(K|0)>-1|(K|0)==-1&P>>>0>4294967295){O=P,P=K,K=0;while(!0)if(L=K+-1|0,O=v1(O|0,P|0,1)|0,P=x()|0,!((P|0)>-1|(P|0)==-1&O>>>0>4294967295)){F=L;break}else K=L}else F=0;K=v1(T|0,X|0,1-F|0)|0,z=K,H=x()|0,C=F}else z=T,H=X&1048575|1048576,C=U;if(!S){if(K=v1(Y|0,Q|0,12)|0,O=x()|0,(O|0)>-1|(O|0)==-1&K>>>0>4294967295){P=K,K=O,O=0;while(!0)if(L=O+-1|0,P=v1(P|0,K|0,1)|0,K=x()|0,!((K|0)>-1|(K|0)==-1&P>>>0>4294967295)){A=L;break}else O=L}else A=0;O=v1(Y|0,Q|0,1-A|0)|0,y=O,k=x()|0,m=A}else y=Y,k=Q&1048575|1048576,m=S;O=L1(z|0,H|0,y|0,k|0)|0,P=x()|0,K=(P|0)>-1|(P|0)==-1&O>>>0>4294967295;V:do if((C|0)>(m|0)){L=z,I=H,u=O,g=P,i=K,t=C;while(!0){if(i)if((u|0)==0&(g|0)==0)break;else Y0=u,X0=g;else Y0=L,X0=I;if(T0=v1(Y0|0,X0|0,1)|0,Z0=x()|0,W0=t+-1|0,O0=L1(T0|0,Z0|0,y|0,k|0)|0,y0=x()|0,E0=(y0|0)>-1|(y0|0)==-1&O0>>>0>4294967295,(W0|0)>(m|0))L=T0,I=Z0,u=O0,g=y0,i=E0,t=W0;else{H0=O0,D0=y0,_0=T0,F0=Z0,k0=E0,m0=W0;break V}}B0=V*0;break Z}else H0=O,D0=P,_0=z,F0=H,k0=K,m0=C;while(0);if(k0)if((H0|0)==0&(D0|0)==0){B0=V*0;break}else g0=D0,o0=H0;else g0=F0,o0=_0;if(g0>>>0<1048576|(g0|0)==1048576&o0>>>0<0){K=o0,P=g0,O=m0;while(!0)if(t=v1(K|0,P|0,1)|0,i=x()|0,g=O+-1|0,i>>>0<1048576|(i|0)==1048576&t>>>0<0)K=t,P=i,O=g;else{h0=t,C0=i,u0=g;break}}else h0=o0,C0=g0,u0=m0;if((u0|0)>0)O=V2(h0|0,C0|0,0,-1048576)|0,P=x()|0,K=v1(u0|0,0,52)|0,p0=P|(x()|0),q0=O|K;else K=B5(h0|0,C0|0,1-u0|0)|0,p0=x()|0,q0=K;Z[e>>2]=q0,Z[e+4>>2]=p0|W,B0=+b[e>>3]}else i0=3;while(0);if((i0|0)==3)t0=V*$,B0=t0/t0;return+B0}function QD(V){V=+V;var $=0;return b[e>>3]=V,$=Z[e>>2]|0,h(Z[e+4>>2]|0),$|0}function IS(V,$){return V=+V,$=+$,+ +YD(V,$)}function qS(V,$){return V=+V,$=$|0,+ +ZY(V,$)}function q3(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0;Z:do if(!T)X=0;else{Y=V,Q=T,W=$;while(!0){if(U=N[Y>>0]|0,S=N[W>>0]|0,U<<24>>24!=S<<24>>24)break;if(Q=Q+-1|0,!Q){X=0;break Z}else Y=Y+1|0,W=W+1|0}X=(U&255)-(S&255)|0}while(0);return X|0}function k8(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if(!T)X=0;else{Y=N[V>>0]|0;Z:do if(!(Y<<24>>24))Q=0,W=$;else{U=Y,S=V,J=T,_=$;while(!0){if(J=J+-1|0,K=N[_>>0]|0,!(U<<24>>24==K<<24>>24&((J|0)!=0&K<<24>>24!=0))){Q=U,W=_;break Z}if(S=S+1|0,K=_+1|0,U=N[S>>0]|0,!(U<<24>>24)){Q=0,W=K;break}else _=K}}while(0);X=(Q&255)-(G[W>>0]|0)|0}return X|0}function UV(V){return V=V|0,(V+-48|0)>>>0<10|0}function a6(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0;return X=q,q=q+16|0,Y=X,Z[Y>>2]=T,T=WD(V,$,Y)|0,q=X,T|0}function WD(V,$,T){return V=V|0,$=$|0,T=T|0,ND(V,2147483647,$,T)|0}function ND(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if(Y=q,q=q+160|0,Q=Y+144|0,W=Y,q6(W|0,34624,144)|0,($+-1|0)>>>0>2147483646)if(!$)U=1,S=Q,J=4;else Z[(y5()|0)>>2]=75,_=-1;else U=$,S=V,J=4;if((J|0)==4)if(J=-2-S|0,V=U>>>0>J>>>0?J:U,Z[W+48>>2]=V,U=W+20|0,Z[U>>2]=S,Z[W+44>>2]=S,J=S+V|0,S=W+16|0,Z[S>>2]=J,Z[W+28>>2]=J,J=XN(W,T,X)|0,!V)_=J;else V=Z[U>>2]|0,N[V+(((V|0)==(Z[S>>2]|0))<<31>>31)>>0]=0,_=J;return q=Y,_|0}function XN(V,$,T){return V=V|0,$=$|0,T=T|0,SD(V,$,T,1,8)|0}function UD(V,$,T,X,Y,Q){V=V|0,$=+$,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0;if(W=q,q=q+560|0,U=W+32|0,S=W+536|0,J=W,_=J,K=W+540|0,Z[S>>2]=0,P=K+12|0,O=mS($)|0,L=x()|0,(L|0)<0)F=-$,z=mS(F)|0,H=x()|0,C=z,A=1,y=103197,k=F;else H=L,C=O,A=(Y&2049|0)!=0&1,y=(Y&2048|0)==0?(Y&1|0)==0?103198:103203:103200,k=$;do if(!0&(H&2146435072|0)==2146435072)O=(Q&32|0)!=0,C=A+3|0,d9(V,32,T,C,Y&-65537),h9(V,y,A),h9(V,k!=k|!1?O?103246:103224:O?103216:103220,3),d9(V,32,T,C,Y^8192),m=C;else{if($=+yS(k,S)*2,C=$!=0,C)Z[S>>2]=(Z[S>>2]|0)+-1;if(O=Q|32,(O|0)==97){L=Q&32,z=(L|0)==0?y:y+9|0,I=A|2,u=12-X|0;do if(!(X>>>0>11|(u|0)==0)){g=u,F=8;do g=g+-1|0,F=F*16;while((g|0)!=0);if((N[z>>0]|0)==45){i=-(F+(-$-F));break}else{i=$+F-F;break}}else i=$;while(0);if(u=Z[S>>2]|0,g=(u|0)<0?0-u|0:u,t=GX(g,((g|0)<0)<<31>>31,P)|0,(t|0)==(P|0))g=K+11|0,N[g>>0]=48,Y0=g;else Y0=t;N[Y0+-1>>0]=(u>>31&2)+43,u=Y0+-2|0,N[u>>0]=Q+15,t=(X|0)<1,g=(Y&8|0)==0,X0=J,T0=i;while(!0){if(Z0=~~T0,W0=X0+1|0,N[X0>>0]=L|G[34160+Z0>>0],T0=(T0-+(Z0|0))*16,(W0-_|0)==1?!(g&(t&T0==0)):0)N[W0>>0]=46,O0=X0+2|0;else O0=W0;if(T0==0)break;else X0=O0}if(X0=O0,(X|0)!=0?(-2-_+X0|0)<(X|0):0)t=P,g=u,y0=X+2+t-g|0,E0=t,H0=g;else g=P,t=u,y0=g-_-t+X0|0,E0=g,H0=t;t=y0+I|0,d9(V,32,T,t,Y),h9(V,z,I),d9(V,48,T,t,Y^65536),g=X0-_|0,h9(V,J,g),X0=E0-H0|0,d9(V,48,y0-(g+X0)|0,0,0),h9(V,u,X0),d9(V,32,T,t,Y^8192),m=t;break}if(t=(X|0)<0?6:X,C)X0=(Z[S>>2]|0)+-28|0,Z[S>>2]=X0,D0=X0,_0=$*268435456;else D0=Z[S>>2]|0,_0=$;X0=(D0|0)<0?U:U+288|0,T0=_0,g=X0;do L=~~T0>>>0,Z[g>>2]=L,g=g+4|0,T0=(T0-+(L>>>0))*1e9;while(T0!=0);if(C=X0,(D0|0)>0){u=D0,I=X0,z=g;while(!0){if(L=(u|0)<29?u:29,W0=z+-4|0,W0>>>0>=I>>>0){Z0=0,F0=W0;do W0=v1(Z[F0>>2]|0,0,L|0)|0,k0=V2(W0|0,x()|0,Z0|0,0)|0,W0=x()|0,Z0=PY(k0|0,W0|0,1e9,0)|0,m0=v5(Z0|0,x()|0,1e9,0)|0,B0=L1(k0|0,W0|0,m0|0,x()|0)|0,x()|0,Z[F0>>2]=B0,F0=F0+-4|0;while(F0>>>0>=I>>>0);if(Z0)F0=I+-4|0,Z[F0>>2]=Z0,g0=F0;else g0=I}else g0=I;Z:do if(z>>>0>g0>>>0){F0=z;while(!0){if(B0=F0+-4|0,Z[B0>>2]|0){o0=F0;break Z}if(B0>>>0>g0>>>0)F0=B0;else{o0=B0;break}}}else o0=z;while(0);if(Z0=(Z[S>>2]|0)-L|0,Z[S>>2]=Z0,(Z0|0)>0)u=Z0,I=g0,z=o0;else{h0=Z0,C0=g0,u0=o0;break}}}else h0=D0,C0=X0,u0=g;if((h0|0)<0){z=((t+25|0)/9|0)+1|0,I=(O|0)==102,u=h0,Z0=C0,F0=u0;while(!0){if(B0=0-u|0,m0=(B0|0)<9?B0:9,Z0>>>0>>0){B0=(1<>>m0,k0=0,p0=Z0;do q0=Z[p0>>2]|0,Z[p0>>2]=(q0>>>m0)+k0,k0=B(q0&B0,W0)|0,p0=p0+4|0;while(p0>>>0>>0);if(p0=(Z[Z0>>2]|0)==0?Z0+4|0:Z0,!k0)i0=p0,t0=F0;else Z[F0>>2]=k0,i0=p0,t0=F0+4|0}else i0=(Z[Z0>>2]|0)==0?Z0+4|0:Z0,t0=F0;if(p0=I?X0:i0,W0=(t0-p0>>2|0)>(z|0)?p0+(z<<2)|0:t0,u=(Z[S>>2]|0)+m0|0,Z[S>>2]=u,(u|0)>=0){E6=i0,V6=W0;break}else Z0=i0,F0=W0}}else E6=C0,V6=u0;if(E6>>>0>>0)if(F0=(C-E6>>2)*9|0,Z0=Z[E6>>2]|0,Z0>>>0<10)n0=F0;else{u=F0,F0=10;while(!0)if(F0=F0*10|0,z=u+1|0,Z0>>>0>>0){n0=z;break}else u=z}else n0=0;if(u=(O|0)==103,F0=(t|0)!=0,Z0=t-((O|0)==102?0:n0)+((F0&u)<<31>>31)|0,(Z0|0)<(((V6-C>>2)*9|0)+-9|0)){if(z=Z0+9216|0,Z0=(z|0)/9|0,I=X0+4+(Z0+-1024<<2)|0,g=z-(Z0*9|0)|0,(g|0)<8){Z0=10,z=g;while(!0)if(g=Z0*10|0,(z|0)<7)Z0=g,z=z+1|0;else{e0=g;break}}else e0=10;if(z=Z[I>>2]|0,Z0=(z>>>0)/(e0>>>0)|0,O=z-(B(Z0,e0)|0)|0,g=(I+4|0)==(V6|0),!(g&(O|0)==0)){if(F=(Z0&1|0)==0?9007199254740992:9007199254740994,Z0=e0>>>1,T0=O>>>0>>0?0.5:g&(O|0)==(Z0|0)?1:1.5,!A)Z6=F,U6=T0;else Z0=(N[y>>0]|0)==45,Z6=Z0?-F:F,U6=Z0?-T0:T0;if(Z0=z-O|0,Z[I>>2]=Z0,Z6+U6!=Z6){if(O=Z0+e0|0,Z[I>>2]=O,O>>>0>999999999){O=E6,Z0=I;while(!0){if(z=Z0+-4|0,Z[Z0>>2]=0,z>>>0>>0)g=O+-4|0,Z[g>>2]=0,N6=g;else N6=O;if(g=(Z[z>>2]|0)+1|0,Z[z>>2]=g,g>>>0>999999999)O=N6,Z0=z;else{A6=N6,S6=z;break}}}else A6=E6,S6=I;if(Z0=(C-A6>>2)*9|0,O=Z[A6>>2]|0,O>>>0<10)H6=A6,M6=S6,F6=Z0;else{z=Z0,Z0=10;while(!0)if(Z0=Z0*10|0,g=z+1|0,O>>>0>>0){H6=A6,M6=S6,F6=g;break}else z=g}}else H6=E6,M6=I,F6=n0}else H6=E6,M6=I,F6=n0;z=M6+4|0,J6=H6,L6=F6,c0=V6>>>0>z>>>0?z:V6}else J6=E6,L6=n0,c0=V6;z=0-L6|0;Z:do if(c0>>>0>J6>>>0){Z0=c0;while(!0){if(O=Z0+-4|0,Z[O>>2]|0){T6=1,W6=Z0;break Z}if(O>>>0>J6>>>0)Z0=O;else{T6=0,W6=O;break}}}else T6=0,W6=c0;while(0);do if(u){if(I=t+((F0^1)&1)|0,(I|0)>(L6|0)&(L6|0)>-5)h6=I+-1-L6|0,s6=Q+-1|0;else h6=I+-1|0,s6=Q+-2|0;if(!(Y&8)){if(T6?(I=Z[W6+-4>>2]|0,(I|0)!=0):0)if(!((I>>>0)%10|0)){Z0=10,m0=0;while(!0)if(Z0=Z0*10|0,k0=m0+1|0,(I>>>0)%(Z0>>>0)|0|0){p6=k0;break}else m0=k0}else p6=0;else p6=9;if(m0=((W6-C>>2)*9|0)+-9|0,(s6|32|0)==102){Z0=m0-p6|0,I=(Z0|0)>0?Z0:0,G6=(h6|0)<(I|0)?h6:I,w6=s6;break}else{I=m0+L6-p6|0,m0=(I|0)>0?I:0,G6=(h6|0)<(m0|0)?h6:m0,w6=s6;break}}else G6=h6,w6=s6}else G6=t,w6=Q;while(0);if(t=(G6|0)!=0,C=t?1:Y>>>3&1,F0=(w6|32|0)==102,F0)B6=0,i6=(L6|0)>0?L6:0;else{if(u=(L6|0)<0?z:L6,m0=GX(u,((u|0)<0)<<31>>31,P)|0,u=P,(u-m0|0)<2){I=m0;while(!0)if(Z0=I+-1|0,N[Z0>>0]=48,(u-Z0|0)<2)I=Z0;else{H8=Z0;break}}else H8=m0;N[H8+-1>>0]=(L6>>31&2)+43,I=H8+-2|0,N[I>>0]=w6,B6=I,i6=u-I|0}if(I=A+1+G6+C+i6|0,d9(V,32,T,I,Y),h9(V,y,A),d9(V,48,T,I,Y^65536),F0){z=J6>>>0>X0>>>0?X0:J6,Z0=J+9|0,k0=Z0,O=J+8|0,g=z;do{if(W0=GX(Z[g>>2]|0,0,Z0)|0,(g|0)==(z|0))if((W0|0)==(Z0|0))N[O>>0]=48,m6=O;else m6=W0;else if(W0>>>0>J>>>0){x8(J|0,48,W0-_|0)|0,p0=W0;while(!0)if(B0=p0+-1|0,B0>>>0>J>>>0)p0=B0;else{m6=B0;break}}else m6=W0;h9(V,m6,k0-m6|0),g=g+4|0}while(g>>>0<=X0>>>0);if(!((Y&8|0)==0&(t^1)))h9(V,103254,1);if(g>>>0>>0&(G6|0)>0){X0=g,k0=G6;while(!0){if(O=GX(Z[X0>>2]|0,0,Z0)|0,O>>>0>J>>>0){x8(J|0,48,O-_|0)|0,z=O;while(!0)if(F0=z+-1|0,F0>>>0>J>>>0)z=F0;else{_8=F0;break}}else _8=O;if(h9(V,_8,(k0|0)<9?k0:9),X0=X0+4|0,z=k0+-9|0,!(X0>>>0>>0&(k0|0)>9)){v8=z;break}else k0=z}}else v8=G6;d9(V,48,v8+9|0,9,0)}else{if(k0=T6?W6:J6+4|0,J6>>>0>>0&(G6|0)>-1){X0=J+9|0,Z0=(Y&8|0)==0,g=X0,t=0-_|0,z=J+8|0,W0=J6,F0=G6;while(!0){if(C=GX(Z[W0>>2]|0,0,X0)|0,(C|0)==(X0|0))N[z>>0]=48,Y8=z;else Y8=C;do if((W0|0)==(J6|0)){if(C=Y8+1|0,h9(V,Y8,1),Z0&(F0|0)<1){T8=C;break}h9(V,103254,1),T8=C}else{if(Y8>>>0<=J>>>0){T8=Y8;break}x8(J|0,48,Y8+t|0)|0,C=Y8;while(!0)if(u=C+-1|0,u>>>0>J>>>0)C=u;else{T8=u;break}}while(0);if(O=g-T8|0,h9(V,T8,(F0|0)>(O|0)?O:F0),C=F0-O|0,W0=W0+4|0,!(W0>>>0>>0&(C|0)>-1)){C8=C;break}else F0=C}}else C8=G6;d9(V,48,C8+18|0,18,0),h9(V,B6,P-B6|0)}d9(V,32,T,I,Y^8192),m=I}while(0);return q=W,((m|0)<(T|0)?T:m)|0}function JD(V,$){V=V|0,$=$|0;var T=0,X=0;T=(Z[$>>2]|0)+7&~7,X=+b[T>>3],Z[$>>2]=T+8,b[V>>3]=X;return}function SD(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0;Q=q,q=q+224|0,W=Q+208|0,U=Q+160|0,S=Q+80|0,J=Q,_=U,K=_+40|0;do Z[_>>2]=0,_=_+4|0;while((_|0)<(K|0));if(Z[W>>2]=Z[T>>2],(YN(0,$,W,S,U,X,Y)|0)<0)P=-1;else{if((Z[V+76>>2]|0)>-1)O=v3(V)|0;else O=0;if(T=Z[V>>2]|0,_=T&32,(N[V+74>>0]|0)<1)Z[V>>2]=T&-33;if(T=V+48|0,!(Z[T>>2]|0))if(K=V+44|0,L=Z[K>>2]|0,Z[K>>2]=J,F=V+28|0,Z[F>>2]=J,z=V+20|0,Z[z>>2]=J,Z[T>>2]=80,H=V+16|0,Z[H>>2]=J+80,J=YN(V,$,W,S,U,X,Y)|0,!L)C=J;else y8[Z[V+36>>2]&7](V,0,0)|0,A=(Z[z>>2]|0)==0?-1:J,Z[K>>2]=L,Z[T>>2]=0,Z[H>>2]=0,Z[F>>2]=0,Z[z>>2]=0,C=A;else C=YN(V,$,W,S,U,X,Y)|0;if(Y=Z[V>>2]|0,Z[V>>2]=Y|_,O|0)Y3(V);P=(Y&32|0)==0?C:-1}return q=Q,P|0}function YN(V,$,T,X,Y,Q,W){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0;var U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0;U=q,q=q+64|0,S=U+56|0,J=U+40|0,_=U,K=U+48|0,P=U+60|0,Z[S>>2]=$,$=(V|0)!=0,O=_+40|0,L=O,F=_+39|0,_=K+4|0,z=0,H=0,C=0;Z:while(!0){A=z,y=H;while(!0){do if((A|0)>-1)if((y|0)>(2147483647-A|0)){Z[(y5()|0)>>2]=75,k=-1;break}else{k=y+A|0;break}else k=A;while(0);if(m=Z[S>>2]|0,I=N[m>>0]|0,!(I<<24>>24)){u=92;break Z}g=I,I=m;V:while(!0){switch(g<<24>>24){case 37:{u=10;break V}case 0:{i=I;break V}default:}t=I+1|0,Z[S>>2]=t,g=N[t>>0]|0,I=t}V:do if((u|0)==10){u=0,g=I,t=I;while(!0){if((N[g+1>>0]|0)!=37){i=t;break V}if(Y0=t+1|0,g=g+2|0,Z[S>>2]=g,(N[g>>0]|0)!=37){i=Y0;break}else t=Y0}}while(0);if(y=i-m|0,$)h9(V,m,y);if(!y)break;else A=k}if(A=(UV(N[(Z[S>>2]|0)+1>>0]|0)|0)==0,y=Z[S>>2]|0,!A?(N[y+2>>0]|0)==36:0)X0=3,T0=(N[y+1>>0]|0)+-48|0,Z0=1;else X0=1,T0=-1,Z0=C;if(A=y+X0|0,Z[S>>2]=A,y=N[A>>0]|0,I=(y<<24>>24)+-32|0,I>>>0>31|(1<>2]=g,Y0=N[g>>0]|0,A=(Y0<<24>>24)+-32|0,A>>>0>31|(1<>24==42){if((UV(N[y0+1>>0]|0)|0)!=0?(t=Z[S>>2]|0,(N[t+2>>0]|0)==36):0)y=t+1|0,Z[Y+((N[y>>0]|0)+-48<<2)>>2]=10,E0=1,H0=t+3|0,D0=Z[X+((N[y>>0]|0)+-48<<3)>>2]|0;else{if(Z0|0){_0=-1;break}if($)y=(Z[T>>2]|0)+3&~3,t=Z[y>>2]|0,Z[T>>2]=y+4,F0=t;else F0=0;E0=0,H0=(Z[S>>2]|0)+1|0,D0=F0}Z[S>>2]=H0,t=(D0|0)<0,k0=H0,m0=t?O0|8192:O0,B0=E0,g0=t?0-D0|0:D0}else{if(t=vS(S)|0,(t|0)<0){_0=-1;break}k0=Z[S>>2]|0,m0=O0,B0=Z0,g0=t}do if((N[k0>>0]|0)==46){if(t=k0+1|0,(N[t>>0]|0)!=42){Z[S>>2]=t,t=vS(S)|0,o0=Z[S>>2]|0,h0=t;break}if(UV(N[k0+2>>0]|0)|0?(t=Z[S>>2]|0,(N[t+3>>0]|0)==36):0){y=t+2|0,Z[Y+((N[y>>0]|0)+-48<<2)>>2]=10,A=Z[X+((N[y>>0]|0)+-48<<3)>>2]|0,y=t+4|0,Z[S>>2]=y,o0=y,h0=A;break}if(B0|0){_0=-1;break Z}if($)A=(Z[T>>2]|0)+3&~3,y=Z[A>>2]|0,Z[T>>2]=A+4,C0=y;else C0=0;y=(Z[S>>2]|0)+2|0,Z[S>>2]=y,o0=y,h0=C0}else o0=k0,h0=-1;while(0);y=o0,A=0;while(!0){if(((N[y>>0]|0)+-65|0)>>>0>57){_0=-1;break Z}if(t=y,y=y+1|0,Z[S>>2]=y,u0=N[(N[t>>0]|0)+-65+(33696+(A*58|0))>>0]|0,p0=u0&255,(p0+-1|0)>>>0>=8)break;else A=p0}if(!(u0<<24>>24)){_0=-1;break}t=(T0|0)>-1;do if(u0<<24>>24==19)if(t){_0=-1;break Z}else u=54;else{if(t){Z[Y+(T0<<2)>>2]=p0,g=X+(T0<<3)|0,I=Z[g+4>>2]|0,Y0=J,Z[Y0>>2]=Z[g>>2],Z[Y0+4>>2]=I,u=54;break}if(!$){_0=0;break Z}jS(J,p0,T,W),q0=Z[S>>2]|0,u=55}while(0);if((u|0)==54)if(u=0,$)q0=y,u=55;else i0=0;V:do if((u|0)==55){u=0,t=N[q0+-1>>0]|0,I=(A|0)!=0&(t&15|0)==3?t&-33:t,t=m0&-65537,Y0=(m0&8192|0)==0?m0:t;$:do switch(I|0){case 110:{switch((A&255)<<24>>24){case 0:{Z[Z[J>>2]>>2]=k,i0=0;break V}case 1:{Z[Z[J>>2]>>2]=k,i0=0;break V}case 2:{g=Z[J>>2]|0,Z[g>>2]=k,Z[g+4>>2]=((k|0)<0)<<31>>31,i0=0;break V}case 3:{j[Z[J>>2]>>1]=k,i0=0;break V}case 4:{N[Z[J>>2]>>0]=k,i0=0;break V}case 6:{Z[Z[J>>2]>>2]=k,i0=0;break V}case 7:{g=Z[J>>2]|0,Z[g>>2]=k,Z[g+4>>2]=((k|0)<0)<<31>>31,i0=0;break V}default:{i0=0;break V}}break}case 112:{t0=Y0|8,E6=h0>>>0>8?h0:8,V6=120,u=67;break}case 88:case 120:{t0=Y0,E6=h0,V6=I,u=67;break}case 111:{g=J,n0=_D(Z[g>>2]|0,Z[g+4>>2]|0,O)|0,g=L-n0|0,e0=n0,Z6=Y0,U6=(Y0&8|0)==0|(h0|0)>(g|0)?h0:g+1|0,N6=0,A6=103180,u=73;break}case 105:case 100:{if(g=J,n0=Z[g>>2]|0,S6=Z[g+4>>2]|0,(S6|0)<0){g=L1(0,0,n0|0,S6|0)|0,H6=x()|0,M6=J,Z[M6>>2]=g,Z[M6+4>>2]=H6,F6=g,J6=H6,L6=1,c0=103180,u=72;break $}else{F6=n0,J6=S6,L6=(Y0&2049|0)!=0&1,c0=(Y0&2048|0)==0?(Y0&1|0)==0?103180:103182:103181,u=72;break $}break}case 117:{S6=J,F6=Z[S6>>2]|0,J6=Z[S6+4>>2]|0,L6=0,c0=103180,u=72;break}case 99:{N[F>>0]=Z[J>>2],T6=F,W6=t,h6=1,s6=0,p6=103180,G6=L;break}case 115:{S6=Z[J>>2]|0,n0=(S6|0)==0?103190:S6,S6=W4(n0,0,h0)|0,H6=(S6|0)==0,T6=n0,W6=t,h6=H6?h0:S6-n0|0,s6=0,p6=103180,G6=H6?n0+h0|0:S6;break}case 67:{Z[K>>2]=Z[J>>2],Z[_>>2]=0,Z[J>>2]=K,w6=-1,u=79;break}case 83:{if(!h0)d9(V,32,g0,0,Y0),B6=0,u=89;else w6=h0,u=79;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{i0=iR[Q&1](V,+b[J>>3],g0,h0,Y0,I)|0;break V}default:T6=m,W6=Y0,h6=h0,s6=0,p6=103180,G6=L}while(0);$:do if((u|0)==67)u=0,I=J,t=RD(Z[I>>2]|0,Z[I+4>>2]|0,O,V6&32)|0,I=J,S6=(t0&8|0)==0|(Z[I>>2]|0)==0&(Z[I+4>>2]|0)==0,e0=t,Z6=t0,U6=E6,N6=S6?0:2,A6=S6?103180:103180+(V6>>>4)|0,u=73;else if((u|0)==72)u=0,e0=GX(F6,J6,O)|0,Z6=Y0,U6=h0,N6=L6,A6=c0,u=73;else if((u|0)==79){u=0,S6=0,t=Z[J>>2]|0;while(!0){if(I=Z[t>>2]|0,!I){i6=S6;break}if(n0=kS(P,I)|0,H8=(n0|0)<0,H8|n0>>>0>(w6-S6|0)>>>0){u=83;break}if(I=n0+S6|0,w6>>>0>I>>>0)S6=I,t=t+4|0;else{i6=I;break}}if((u|0)==83)if(u=0,H8){_0=-1;break Z}else i6=S6;if(d9(V,32,g0,i6,Y0),!i6)B6=0,u=89;else{t=0,I=Z[J>>2]|0;while(!0){if(n0=Z[I>>2]|0,!n0){B6=i6,u=89;break $}if(H6=kS(P,n0)|0,t=H6+t|0,(t|0)>(i6|0)){B6=i6,u=89;break $}if(h9(V,P,H6),t>>>0>=i6>>>0){B6=i6,u=89;break}else I=I+4|0}}}while(0);if((u|0)==73)u=0,I=J,t=(Z[I>>2]|0)!=0|(Z[I+4>>2]|0)!=0,I=(U6|0)!=0|t,S6=L-e0+((t^1)&1)|0,T6=I?e0:O,W6=(U6|0)>-1?Z6&-65537:Z6,h6=I?(U6|0)>(S6|0)?U6:S6:0,s6=N6,p6=A6,G6=L;else if((u|0)==89){u=0,d9(V,32,g0,B6,Y0^8192),i0=(g0|0)>(B6|0)?g0:B6;break}S6=G6-T6|0,I=(h6|0)<(S6|0)?S6:h6,t=I+s6|0,H6=(g0|0)<(t|0)?t:g0,d9(V,32,H6,t,W6),h9(V,p6,s6),d9(V,48,H6,t,W6^65536),d9(V,48,I,S6,0),h9(V,T6,S6),d9(V,32,H6,t,W6^8192),i0=H6}while(0);z=k,H=i0,C=B0}Z:do if((u|0)==92)if(!V)if(!C)_0=0;else{B0=1;while(!0){if(i0=Z[Y+(B0<<2)>>2]|0,!i0)break;if(jS(X+(B0<<3)|0,i0,T,W),i0=B0+1|0,i0>>>0<10)B0=i0;else{_0=1;break Z}}i0=B0;while(!0){if(Z[Y+(i0<<2)>>2]|0){_0=-1;break Z}if(i0=i0+1|0,i0>>>0>=10){_0=1;break}}}else _0=k;while(0);return q=U,_0|0}function v3(V){return V=V|0,1}function Y3(V){V=V|0;return}function h9(V,$,T){if(V=V|0,$=$|0,T=T|0,!(Z[V>>2]&32))QN($,T,V)|0;return}function vS(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;if(!(UV(N[Z[V>>2]>>0]|0)|0))$=0;else{T=0;while(!0)if(X=Z[V>>2]|0,Y=(T*10|0)+-48+(N[X>>0]|0)|0,Q=X+1|0,Z[V>>2]=Q,!(UV(N[Q>>0]|0)|0)){$=Y;break}else T=Y}return $|0}function jS(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0;Z:do if($>>>0<=20)do switch($|0){case 9:{Y=(Z[T>>2]|0)+3&~3,Q=Z[Y>>2]|0,Z[T>>2]=Y+4,Z[V>>2]=Q;break Z}case 10:{Q=(Z[T>>2]|0)+3&~3,Y=Z[Q>>2]|0,Z[T>>2]=Q+4,Q=V,Z[Q>>2]=Y,Z[Q+4>>2]=((Y|0)<0)<<31>>31;break Z}case 11:{Y=(Z[T>>2]|0)+3&~3,Q=Z[Y>>2]|0,Z[T>>2]=Y+4,Y=V,Z[Y>>2]=Q,Z[Y+4>>2]=0;break Z}case 12:{Y=(Z[T>>2]|0)+7&~7,Q=Y,W=Z[Q>>2]|0,U=Z[Q+4>>2]|0,Z[T>>2]=Y+8,Y=V,Z[Y>>2]=W,Z[Y+4>>2]=U;break Z}case 13:{U=(Z[T>>2]|0)+3&~3,Y=Z[U>>2]|0,Z[T>>2]=U+4,U=(Y&65535)<<16>>16,Y=V,Z[Y>>2]=U,Z[Y+4>>2]=((U|0)<0)<<31>>31;break Z}case 14:{U=(Z[T>>2]|0)+3&~3,Y=Z[U>>2]|0,Z[T>>2]=U+4,U=V,Z[U>>2]=Y&65535,Z[U+4>>2]=0;break Z}case 15:{U=(Z[T>>2]|0)+3&~3,Y=Z[U>>2]|0,Z[T>>2]=U+4,U=(Y&255)<<24>>24,Y=V,Z[Y>>2]=U,Z[Y+4>>2]=((U|0)<0)<<31>>31;break Z}case 16:{U=(Z[T>>2]|0)+3&~3,Y=Z[U>>2]|0,Z[T>>2]=U+4,U=V,Z[U>>2]=Y&255,Z[U+4>>2]=0;break Z}case 17:{U=(Z[T>>2]|0)+7&~7,S=+b[U>>3],Z[T>>2]=U+8,b[V>>3]=S;break Z}case 18:{nN[X&15](V,T);break Z}default:break Z}while(0);while(0);return}function RD(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0;if((V|0)==0&($|0)==0)Y=T;else{Q=V,V=$,$=T;while(!0)if(T=$+-1|0,N[T>>0]=G[34160+(Q&15)>>0]|0|X,Q=B5(Q|0,V|0,4)|0,V=x()|0,(Q|0)==0&(V|0)==0){Y=T;break}else $=T}return Y|0}function _D(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0;if((V|0)==0&($|0)==0)X=T;else{Y=V,V=$,$=T;while(!0)if(T=$+-1|0,N[T>>0]=Y&7|48,Y=B5(Y|0,V|0,3)|0,V=x()|0,(Y|0)==0&(V|0)==0){X=T;break}else $=T}return X|0}function GX(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if($>>>0>0|($|0)==0&V>>>0>4294967295){X=V,Y=$,$=T;do Q=X,X=PY(X|0,Y|0,10,0)|0,W=Y,Y=x()|0,U=v5(X|0,Y|0,10,0)|0,S=L1(Q|0,W|0,U|0,x()|0)|0,x()|0,$=$+-1|0,N[$>>0]=S&255|48;while(W>>>0>9|(W|0)==9&Q>>>0>4294967295);J=$,_=X}else J=T,_=V;if(!_)K=J;else{V=J,J=_;while(!0)if(_=J,J=(J>>>0)/10|0,T=V+-1|0,N[T>>0]=_-(J*10|0)|48,_>>>0<10){K=T;break}else V=T}return K|0}function W4(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0;X=$&255,Y=(T|0)!=0;Z:do if(Y&(V&3|0)!=0){Q=$&255,W=T,U=V;while(!0){if((N[U>>0]|0)==Q<<24>>24){S=W,J=U,_=6;break Z}if(K=U+1|0,P=W+-1|0,O=(P|0)!=0,O&(K&3|0)!=0)W=P,U=K;else{L=P,F=K,z=O,_=5;break}}}else L=T,F=V,z=Y,_=5;while(0);if((_|0)==5)if(z)S=L,J=F,_=6;else _=16;Z:do if((_|0)==6){if(F=$&255,(N[J>>0]|0)==F<<24>>24)if(!S){_=16;break}else{H=J;break}L=B(X,16843009)|0;V:do if(S>>>0>3){z=S,Y=J;while(!0){if(V=Z[Y>>2]^L,(V&-2139062144^-2139062144)&V+-16843009|0){C=Y,A=z;break V}if(V=Y+4|0,T=z+-4|0,T>>>0>3)z=T,Y=V;else{y=T,k=V,_=11;break}}}else y=S,k=J,_=11;while(0);if((_|0)==11)if(!y){_=16;break}else C=k,A=y;L=A,Y=C;while(!0){if((N[Y>>0]|0)==F<<24>>24){H=Y;break Z}if(L=L+-1|0,!L){_=16;break}else Y=Y+1|0}}while(0);if((_|0)==16)H=0;return H|0}function d9(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0;if(Q=q,q=q+256|0,W=Q,(T|0)>(X|0)&(Y&73728|0)==0){if(Y=T-X|0,x8(W|0,$<<24>>24|0,(Y>>>0<256?Y:256)|0)|0,Y>>>0>255){$=T-X|0,X=Y;do h9(V,W,256),X=X+-256|0;while(X>>>0>255);U=$&255}else U=Y;h9(V,W,U)}q=Q;return}function kS(V,$){V=V|0,$=$|0;var T=0;if(!V)T=0;else T=KD(V,$,0)|0;return T|0}function KD(V,$,T){V=V|0,$=$|0,T=T|0;var X=0;do if(V){if($>>>0<128){N[V>>0]=$,X=1;break}if(!(Z[Z[(PD()|0)+188>>2]>>2]|0))if(($&-128|0)==57216){N[V>>0]=$,X=1;break}else{Z[(y5()|0)>>2]=84,X=-1;break}if($>>>0<2048){N[V>>0]=$>>>6|192,N[V+1>>0]=$&63|128,X=2;break}if($>>>0<55296|($&-8192|0)==57344){N[V>>0]=$>>>12|224,N[V+1>>0]=$>>>6&63|128,N[V+2>>0]=$&63|128,X=3;break}if(($+-65536|0)>>>0<1048576){N[V>>0]=$>>>18|240,N[V+1>>0]=$>>>12&63|128,N[V+2>>0]=$>>>6&63|128,N[V+3>>0]=$&63|128,X=4;break}else{Z[(y5()|0)>>2]=84,X=-1;break}}else X=1;while(0);return X|0}function PD(){return WQ()|0}function WQ(){return 34888}function QN(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;if(X=T+16|0,Y=Z[X>>2]|0,!Y)if(!(pS(T)|0))Q=Z[X>>2]|0,W=5;else U=0;else Q=Y,W=5;Z:do if((W|0)==5){if(Y=T+20|0,X=Z[Y>>2]|0,S=X,(Q-X|0)>>>0<$>>>0){U=y8[Z[T+36>>2]&7](T,V,$)|0;break}V:do if((N[T+75>>0]|0)<0|($|0)==0)J=S,_=0,K=$,P=V;else{X=$;while(!0){if(O=X+-1|0,(N[V+O>>0]|0)==10)break;if(!O){J=S,_=0,K=$,P=V;break V}else X=O}if(O=y8[Z[T+36>>2]&7](T,V,X)|0,O>>>0>>0){U=O;break Z}J=Z[Y>>2]|0,_=X,K=$-X|0,P=V+X|0}while(0);q6(J|0,P|0,K|0)|0,Z[Y>>2]=(Z[Y>>2]|0)+K,U=_+K|0}while(0);return U|0}function pS(V){V=V|0;var $=0,T=0,X=0;if($=V+74|0,T=N[$>>0]|0,N[$>>0]=T+255|T,T=Z[V>>2]|0,!(T&8))Z[V+8>>2]=0,Z[V+4>>2]=0,$=Z[V+44>>2]|0,Z[V+28>>2]=$,Z[V+20>>2]=$,Z[V+16>>2]=$+(Z[V+48>>2]|0),X=0;else Z[V>>2]=T|32,X=-1;return X|0}function mS(V){V=+V;var $=0;return b[e>>3]=V,$=Z[e>>2]|0,h(Z[e+4>>2]|0),$|0}function OD(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0;return X=V+20|0,Y=Z[X>>2]|0,Q=(Z[V+16>>2]|0)-Y|0,V=Q>>>0>T>>>0?T:Q,q6(Y|0,$|0,V|0)|0,Z[X>>2]=(Z[X>>2]|0)+V,T|0}function N4(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0;if(X=V+112|0,Z[X>>2]=$,Z[X+4>>2]=T,X=Z[V+8>>2]|0,Y=Z[V+4>>2]|0,Q=X-Y|0,W=((Q|0)<0)<<31>>31,U=V+120|0,Z[U>>2]=Q,Z[U+4>>2]=W,(($|0)!=0|(T|0)!=0)&((W|0)>(T|0)|(W|0)==(T|0)&Q>>>0>$>>>0))Z[V+104>>2]=Y+$;else Z[V+104>>2]=X;return}function GD(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0;Z:do if($>>>0>36)Z[(y5()|0)>>2]=22,Q=0,W=0;else{U=V+4|0,S=V+104|0;do if(J=Z[U>>2]|0,J>>>0<(Z[S>>2]|0)>>>0)Z[U>>2]=J+1,_=G[J>>0]|0;else _=W7(V)|0;while((MX(_)|0)!=0);V:do switch(_|0){case 43:case 45:{if(J=((_|0)==45)<<31>>31,K=Z[U>>2]|0,K>>>0<(Z[S>>2]|0)>>>0){Z[U>>2]=K+1,P=G[K>>0]|0,O=J;break V}else{P=W7(V)|0,O=J;break V}break}default:P=_,O=0}while(0);J=($|0)==0;do if(($|16|0)==16&(P|0)==48){if(K=Z[U>>2]|0,K>>>0<(Z[S>>2]|0)>>>0)Z[U>>2]=K+1,L=G[K>>0]|0;else L=W7(V)|0;if((L|32|0)!=120)if(J){F=8,z=L,H=47;break}else{C=$,A=L,H=32;break}if(K=Z[U>>2]|0,K>>>0<(Z[S>>2]|0)>>>0)Z[U>>2]=K+1,y=G[K>>0]|0;else y=W7(V)|0;if((G[34177+y>>0]|0)>15){if(K=(Z[S>>2]|0)==0,!K)Z[U>>2]=(Z[U>>2]|0)+-1;if(!T){N4(V,0,0),Q=0,W=0;break Z}if(K){Q=0,W=0;break Z}Z[U>>2]=(Z[U>>2]|0)+-1,Q=0,W=0;break Z}else F=16,z=y,H=47}else if(K=J?10:$,K>>>0>(G[34177+P>>0]|0)>>>0)C=K,A=P,H=32;else{if(Z[S>>2]|0)Z[U>>2]=(Z[U>>2]|0)+-1;N4(V,0,0),Z[(y5()|0)>>2]=22,Q=0,W=0;break Z}while(0);V:do if((H|0)==32)if((C|0)==10)if(J=A+-48|0,J>>>0<10){K=J,J=0;do{if(J=(J*10|0)+K|0,k=Z[U>>2]|0,k>>>0<(Z[S>>2]|0)>>>0)Z[U>>2]=k+1,m=G[k>>0]|0;else m=W7(V)|0;K=m+-48|0}while(K>>>0<10&J>>>0<429496729);if(K>>>0<10){k=J,I=0,u=m,g=K;while(!0){if(i=v5(k|0,I|0,10,0)|0,t=x()|0,Y0=((g|0)<0)<<31>>31,X0=~Y0,t>>>0>X0>>>0|(t|0)==(X0|0)&i>>>0>~g>>>0){T0=k,Z0=I,W0=10,O0=u,H=76;break V}if(k=V2(i|0,t|0,g|0,Y0|0)|0,I=x()|0,Y0=Z[U>>2]|0,Y0>>>0<(Z[S>>2]|0)>>>0)Z[U>>2]=Y0+1,y0=G[Y0>>0]|0;else y0=W7(V)|0;if(g=y0+-48|0,!(g>>>0<10&(I>>>0<429496729|(I|0)==429496729&k>>>0<2576980378)))break;else u=y0}if(g>>>0>9)E0=I,H0=k,D0=O;else T0=k,Z0=I,W0=10,O0=y0,H=76}else E0=0,H0=J,D0=O}else E0=0,H0=0,D0=O;else F=C,z=A,H=47;while(0);V:do if((H|0)==47){if(!(F+-1&F)){if(u=N[103228+((F*23|0)>>>5&7)>>0]|0,K=N[34177+z>>0]|0,Y0=K&255,F>>>0>Y0>>>0){t=Y0,i=0;do{if(i=t|i<>2]|0,X0>>>0<(Z[S>>2]|0)>>>0)Z[U>>2]=X0+1,_0=G[X0>>0]|0;else _0=W7(V)|0;F0=N[34177+_0>>0]|0,t=F0&255}while(i>>>0<134217728&F>>>0>t>>>0);k0=F0,m0=0,B0=i,g0=_0,o0=t}else k0=K,m0=0,B0=0,g0=z,o0=Y0;if(J=B5(-1,-1,u|0)|0,I=x()|0,F>>>0<=o0>>>0|(I>>>0>>0|(I|0)==(m0|0)&J>>>0>>0)){T0=B0,Z0=m0,W0=F,O0=g0,H=76;break}k=B0,g=m0,X0=k0;while(!0){if(h0=v1(k|0,g|0,u|0)|0,C0=x()|0,u0=h0|X0&255,h0=Z[U>>2]|0,h0>>>0<(Z[S>>2]|0)>>>0)Z[U>>2]=h0+1,p0=G[h0>>0]|0;else p0=W7(V)|0;if(X0=N[34177+p0>>0]|0,F>>>0<=(X0&255)>>>0|(C0>>>0>I>>>0|(C0|0)==(I|0)&u0>>>0>J>>>0)){T0=u0,Z0=C0,W0=F,O0=p0,H=76;break V}else k=u0,g=C0}}if(g=N[34177+z>>0]|0,k=g&255,F>>>0>k>>>0){J=k,I=0;do{if(I=J+(B(I,F)|0)|0,X0=Z[U>>2]|0,X0>>>0<(Z[S>>2]|0)>>>0)Z[U>>2]=X0+1,q0=G[X0>>0]|0;else q0=W7(V)|0;i0=N[34177+q0>>0]|0,J=i0&255}while(I>>>0<119304647&F>>>0>J>>>0);t0=i0,E6=I,V6=0,n0=q0,e0=J}else t0=g,E6=0,V6=0,n0=z,e0=k;if(F>>>0>e0>>>0){X0=PY(-1,-1,F|0,0)|0,u=x()|0,Y0=t0,K=V6,t=E6,i=n0;while(!0){if(K>>>0>u>>>0|(K|0)==(u|0)&t>>>0>X0>>>0){T0=t,Z0=K,W0=F,O0=i,H=76;break V}if(C0=v5(t|0,K|0,F|0,0)|0,u0=x()|0,h0=Y0&255,u0>>>0>4294967295|(u0|0)==-1&C0>>>0>~h0>>>0){T0=t,Z0=K,W0=F,O0=i,H=76;break V}if(Z6=V2(C0|0,u0|0,h0|0,0)|0,h0=x()|0,u0=Z[U>>2]|0,u0>>>0<(Z[S>>2]|0)>>>0)Z[U>>2]=u0+1,U6=G[u0>>0]|0;else U6=W7(V)|0;if(Y0=N[34177+U6>>0]|0,F>>>0<=(Y0&255)>>>0){T0=Z6,Z0=h0,W0=F,O0=U6,H=76;break}else K=h0,t=Z6,i=U6}}else T0=E6,Z0=V6,W0=F,O0=n0,H=76}while(0);if((H|0)==76)if(W0>>>0>(G[34177+O0>>0]|0)>>>0){do if(i=Z[U>>2]|0,i>>>0<(Z[S>>2]|0)>>>0)Z[U>>2]=i+1,N6=G[i>>0]|0;else N6=W7(V)|0;while(W0>>>0>(G[34177+N6>>0]|0)>>>0);Z[(y5()|0)>>2]=34,E0=Y,H0=X,D0=(X&1|0)==0&!0?O:0}else E0=Z0,H0=T0,D0=O;if(Z[S>>2]|0)Z[U>>2]=(Z[U>>2]|0)+-1;if(!(E0>>>0>>0|(E0|0)==(Y|0)&H0>>>0>>0)){if(!((X&1|0)!=0|!1|(D0|0)!=0)){Z[(y5()|0)>>2]=34,i=V2(X|0,Y|0,-1,-1)|0,Q=x()|0,W=i;break}if(E0>>>0>Y>>>0|(E0|0)==(Y|0)&H0>>>0>X>>>0){Z[(y5()|0)>>2]=34,Q=Y,W=X;break}}i=((D0|0)<0)<<31>>31,t=L1(H0^D0|0,E0^i|0,D0|0,i|0)|0,Q=x()|0,W=t}while(0);return h(Q|0),W|0}function W7(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;if($=V+112|0,T=$,X=Z[T>>2]|0,Y=Z[T+4>>2]|0,!((X|0)==0&(Y|0)==0)?(T=V+120|0,Q=Z[T+4>>2]|0,!((Q|0)<(Y|0)|((Q|0)==(Y|0)?(Z[T>>2]|0)>>>0>>0:0))):0)W=4;else if(X=NQ(V)|0,(X|0)>=0){if(T=$,$=Z[T>>2]|0,Y=Z[T+4>>2]|0,T=Z[V+8>>2]|0,!(($|0)==0&(Y|0)==0))if(Q=Z[V+4>>2]|0,U=T-Q|0,S=((U|0)<0)<<31>>31,J=V+120|0,_=L1($|0,Y|0,Z[J>>2]|0,Z[J+4>>2]|0)|0,J=x()|0,Y=T,(J|0)>(S|0)|(J|0)==(S|0)&_>>>0>U>>>0)K=Y,W=9;else Z[V+104>>2]=Q+(_+-1),P=Y;else K=T,W=9;if((W|0)==9)Z[V+104>>2]=T,P=K;if(K=V+4|0,!P)O=Z[K>>2]|0;else T=Z[K>>2]|0,K=P+1-T|0,P=V+120|0,Y=P,_=V2(Z[Y>>2]|0,Z[Y+4>>2]|0,K|0,((K|0)<0)<<31>>31|0)|0,K=x()|0,Y=P,Z[Y>>2]=_,Z[Y+4>>2]=K,O=T;if(T=O+-1|0,(X|0)==(G[T>>0]|0|0))L=X;else N[T>>0]=X,L=X}else W=4;if((W|0)==4)Z[V+104>>2]=0,L=-1;return L|0}function MX(V){return V=V|0,((V|0)==32|(V+-9|0)>>>0<5)&1|0}function NQ(V){V=V|0;var $=0,T=0,X=0;if($=q,q=q+16|0,T=$,(uS(V)|0)==0?(y8[Z[V+32>>2]&7](V,T,1)|0)==1:0)X=G[T>>0]|0;else X=-1;return q=$,X|0}function uS(V){V=V|0;var $=0,T=0,X=0;if($=V+74|0,T=N[$>>0]|0,N[$>>0]=T+255|T,T=V+20|0,$=V+28|0,(Z[T>>2]|0)>>>0>(Z[$>>2]|0)>>>0)y8[Z[V+36>>2]&7](V,0,0)|0;if(Z[V+16>>2]=0,Z[$>>2]=0,Z[T>>2]=0,T=Z[V>>2]|0,!(T&4))$=(Z[V+44>>2]|0)+(Z[V+48>>2]|0)|0,Z[V+8>>2]=$,Z[V+4>>2]=$,X=T<<27>>31;else Z[V>>2]=T|32,X=-1;return X|0}function Q6(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;if(T=N[V>>0]|0,X=N[$>>0]|0,T<<24>>24==0?1:T<<24>>24!=X<<24>>24)Y=X,Q=T;else{T=V,V=$;do T=T+1|0,V=V+1|0,$=N[T>>0]|0,X=N[V>>0]|0;while(!($<<24>>24==0?1:$<<24>>24!=X<<24>>24));Y=X,Q=$}return(Q&255)-(Y&255)|0}function x6(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;$=V;Z:do if(!($&3))T=V,X=5;else{Y=$,Q=V;while(!0){if(!(N[Q>>0]|0)){W=Y;break Z}if(U=Q+1|0,Y=U,!(Y&3)){T=U,X=5;break}else Q=U}}while(0);if((X|0)==5){X=T;while(!0)if(S=Z[X>>2]|0,!((S&-2139062144^-2139062144)&S+-16843009))X=X+4|0;else break;if(!((S&255)<<24>>24))J=X;else{S=X;while(!0)if(X=S+1|0,!(N[X>>0]|0)){J=X;break}else S=X}W=J}return W-$|0}function MD(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0;Y=q,q=q+208|0,Q=Y,W=Y+192|0,U=B(T,$)|0,$=W,Z[$>>2]=1,Z[$+4>>2]=0;Z:do if(U|0){$=0-T|0,Z[Q+4>>2]=T,Z[Q>>2]=T,S=T,J=T,_=2;while(!0)if(K=S+T+J|0,Z[Q+(_<<2)>>2]=K,K>>>0>>0)P=J,J=K,_=_+1|0,S=P;else break;if(S=V+U+$|0,S>>>0>V>>>0){_=S,J=1,P=V,K=1;while(!0){do if((J&3|0)!=3){if(O=K+-1|0,(Z[Q+(O<<2)>>2]|0)>>>0<(_-P|0)>>>0)WN(P,T,X,K,Q);else JQ(P,T,X,W,K,0,Q);if((K|0)==1){SQ(W,1),L=0;break}else{SQ(W,O),L=1;break}}else WN(P,T,X,K,Q),UQ(W,2),L=K+2|0;while(0);if(O=Z[W>>2]|1,Z[W>>2]=O,F=P+T|0,F>>>0>>0)J=O,P=F,K=L;else{z=O,H=F,C=L;break}}}else z=1,H=V,C=1;JQ(H,T,X,W,C,0,Q),K=W+4|0,P=z,J=H,S=C;while(!0){if((S|0)==1&(P|0)==1)if(!(Z[K>>2]|0))break Z;else A=19;else if((S|0)<2)A=19;else SQ(W,2),_=S+-2|0,Z[W>>2]=Z[W>>2]^7,UQ(W,1),JQ(J+(0-(Z[Q+(_<<2)>>2]|0))+$|0,T,X,W,S+-1|0,1,Q),SQ(W,1),F=Z[W>>2]|1,Z[W>>2]=F,O=J+$|0,JQ(O,T,X,W,_,1,Q),y=F,k=O,m=_;if((A|0)==19)A=0,_=lS(W)|0,UQ(W,_),y=Z[W>>2]|0,k=J+$|0,m=_+S|0;P=y,J=k,S=m}}while(0);q=Y;return}function WN(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0;Q=q,q=q+240|0,W=Q,Z[W>>2]=V;Z:do if((X|0)>1){U=0-$|0,S=V,J=V,_=1,K=X;while(!0){if(P=J+U|0,O=K+-2|0,L=P+(0-(Z[Y+(O<<2)>>2]|0))|0,(G$[T&3](S,L)|0)>-1?(G$[T&3](S,P)|0)>-1:0){F=_;break Z}if(z=W+(_<<2)|0,(G$[T&3](L,P)|0)>-1)Z[z>>2]=L,H=L,C=K+-1|0;else Z[z>>2]=P,H=P,C=O;if(O=_+1|0,(C|0)<=1){F=O;break Z}S=Z[W>>2]|0,J=H,_=O,K=C}}else F=1;while(0);oS($,W,F),q=Q;return}function UQ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;if(T=V+4|0,$>>>0>31)X=Z[T>>2]|0,Z[V>>2]=X,Z[T>>2]=0,Y=X,Q=0,W=$+-32|0;else Y=Z[V>>2]|0,Q=Z[T>>2]|0,W=$;Z[V>>2]=Q<<32-W|Y>>>W,Z[T>>2]=Q>>>W;return}function JQ(V,$,T,X,Y,Q,W){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0;var U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0;U=q,q=q+240|0,S=U+232|0,J=U,_=Z[X>>2]|0,Z[S>>2]=_,K=Z[X+4>>2]|0,X=S+4|0,Z[X>>2]=K,Z[J>>2]=V;Z:do if((_|0)!=1|(K|0)!=0?(P=0-$|0,O=V+(0-(Z[W+(Y<<2)>>2]|0))|0,(G$[T&3](O,V)|0)>=1):0){L=O,O=V,F=1,z=Y,H=(Q|0)==0;while(!0){if(H&(z|0)>1){if(C=O+P|0,A=Z[W+(z+-2<<2)>>2]|0,(G$[T&3](C,L)|0)>-1){y=O,k=F,m=z,I=10;break Z}if((G$[T&3](C+(0-A)|0,L)|0)>-1){y=O,k=F,m=z,I=10;break Z}}if(A=F+1|0,Z[J+(F<<2)>>2]=L,C=lS(S)|0,UQ(S,C),u=C+z|0,!((Z[S>>2]|0)!=1|(Z[X>>2]|0)!=0)){y=L,k=A,m=u,I=10;break Z}if(C=L+(0-(Z[W+(u<<2)>>2]|0))|0,(G$[T&3](C,Z[J>>2]|0)|0)<1){g=L,i=A,t=u,Y0=0,I=9;break}else X0=L,L=C,F=A,z=u,H=1,O=X0}}else g=V,i=1,t=Y,Y0=Q,I=9;while(0);if((I|0)==9?(Y0|0)==0:0)y=g,k=i,m=t,I=10;if((I|0)==10)oS($,J,k),WN(y,$,T,m,W);q=U;return}function SQ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;if(T=V+4|0,$>>>0>31)X=Z[V>>2]|0,Z[T>>2]=X,Z[V>>2]=0,Y=X,Q=0,W=$+-32|0;else Y=Z[T>>2]|0,Q=Z[V>>2]|0,W=$;Z[T>>2]=Q>>>(32-W|0)|Y<>2]=Q<>2]|0)+-1|0)|0,!$)return T=sS(Z[V+4>>2]|0)|0,((T|0)==0?0:T+32|0)|0;else return $|0;return 0}function sS(V){V=V|0;var $=0,T=0,X=0;if(V)if(!(V&1)){$=0,T=V;while(!0)if(V=$+1|0,!(T&2))$=V,T=T>>>1;else{X=V;break}}else X=0;else X=32;return X|0}function oS(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;X=q,q=q+256|0,Y=X;Z:do if((T|0)>=2?(Q=$+(T<<2)|0,Z[Q>>2]=Y,V|0):0){W=Y,U=V;while(!0){S=U>>>0<256?U:256,q6(W|0,Z[$>>2]|0,S|0)|0,J=0;do _=$+(J<<2)|0,J=J+1|0,q6(Z[_>>2]|0,Z[$+(J<<2)>>2]|0,S|0)|0,Z[_>>2]=(Z[_>>2]|0)+S;while((J|0)!=(T|0));if(J=U-S|0,!J)break Z;W=Z[Q>>2]|0,U=J}}while(0);q=X;return}function w5(V,$){return V=V|0,$=$|0,LD(V,$)|0,V|0}function d1(V,$){return V=V|0,$=$|0,w5(V+(x6(V)|0)|0,$)|0,V|0}function LD(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;T=$;Z:do if(!((T^V)&3)){if(!(T&3))X=V,Y=$;else{Q=V,W=$;while(!0){if(U=N[W>>0]|0,N[Q>>0]=U,!(U<<24>>24)){S=Q;break Z}if(U=W+1|0,J=Q+1|0,!(U&3)){X=J,Y=U;break}else Q=J,W=U}}if(W=Z[Y>>2]|0,!((W&-2139062144^-2139062144)&W+-16843009)){Q=W,W=X,U=Y;while(!0)if(J=U+4|0,_=W+4|0,Z[W>>2]=Q,Q=Z[J>>2]|0,(Q&-2139062144^-2139062144)&Q+-16843009|0){K=_,P=J;break}else W=_,U=J}else K=X,P=Y;O=K,L=P,F=10}else O=V,L=$,F=10;while(0);if((F|0)==10)if(F=N[L>>0]|0,N[O>>0]=F,!(F<<24>>24))S=O;else{F=O,O=L;while(!0)if(O=O+1|0,L=F+1|0,$=N[O>>0]|0,N[L>>0]=$,!($<<24>>24)){S=L;break}else F=L}return S|0}function o5(V,$){V=V|0,$=$|0;var T=0;return T=tS(V,$)|0,((N[T>>0]|0)==($&255)<<24>>24?T:0)|0}function nS(V){V=V|0;var $=0,T=0,X=0,Y=0;$=q,q=q+16|0,T=$+8|0,X=iS(V,589824,$)|0;do if((X|0)>=0)if(V=EZ(1,2080)|0,!V){Z[T>>2]=X,n6(6,T|0)|0,Y=0;break}else{Z[V>>2]=X,Y=V;break}else Y=0;while(0);return q=$,Y|0}function DD(V,$){V=V|0,$=$|0;var T=0,X=0;return T=q,q=q+16|0,X=T,Z[X>>2]=V,Z[X+4>>2]=$,$=NV(s8(195,X|0)|0)|0,q=T,$|0}function rS(V){V=V|0;var $=0;return $=gS(Z[V>>2]|0)|0,TZ(V),$|0}function hS(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;$=q,q=q+16|0,T=$,X=V+16|0,Y=Z[X>>2]|0,Q=V+20|0;Z:do if((Y|0)<(Z[Q>>2]|0))W=Y,U=V+32+Y|0,S=7;else{if(J=V+32|0,Z[T>>2]=Z[V>>2],Z[T+4>>2]=J,Z[T+8>>2]=2048,_=v6(220,T|0)|0,(_|0)>=1){Z[Q>>2]=_,Z[X>>2]=0,W=0,U=J,S=7;break}switch(_|0){case 0:case-2:{K=0;break Z}default:}Z[(y5()|0)>>2]=0-_,K=0}while(0);if((S|0)==7)Z[X>>2]=W+(n[U+16>>1]|0),W=U+8|0,X=Z[W+4>>2]|0,S=V+8|0,Z[S>>2]=Z[W>>2],Z[S+4>>2]=X,K=U;return q=$,K|0}function gS(V){V=V|0;var $=0,T=0;return $=q,q=q+16|0,T=$,Z[T>>2]=HS(V)|0,V=n6(6,T|0)|0,T=NV((V|0)==-4?0:V)|0,q=$,T|0}function iS(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0;if(X=q,q=q+48|0,Y=X+32|0,Q=X+16|0,W=X,!($&4194368))U=0;else Z[W>>2]=T,T=(Z[W>>2]|0)+3&~3,S=Z[T>>2]|0,Z[W>>2]=T+4,U=S;if(Z[Q>>2]=V,Z[Q+4>>2]=$|32768,Z[Q+8>>2]=U,U=h2(5,Q|0)|0,!(($&524288|0)==0|(U|0)<0))Z[Y>>2]=U,Z[Y+4>>2]=2,Z[Y+8>>2]=1,j6(221,Y|0)|0;return Y=NV(U)|0,q=X,Y|0}function tS(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;T=$&255;Z:do if(!T)X=V+(x6(V)|0)|0;else{if(!(V&3))Y=V;else{Q=$&255,W=V;while(!0){if(U=N[W>>0]|0,U<<24>>24==0?1:U<<24>>24==Q<<24>>24){X=W;break Z}if(U=W+1|0,!(U&3)){Y=U;break}else W=U}}W=B(T,16843009)|0,Q=Z[Y>>2]|0;V:do if(!((Q&-2139062144^-2139062144)&Q+-16843009)){U=Q,S=Y;while(!0){if(J=U^W,(J&-2139062144^-2139062144)&J+-16843009|0){_=S;break V}if(J=S+4|0,U=Z[J>>2]|0,(U&-2139062144^-2139062144)&U+-16843009|0){_=J;break}else S=J}}else _=Y;while(0);W=$&255,Q=_;while(!0)if(S=N[Q>>0]|0,S<<24>>24==0?1:S<<24>>24==W<<24>>24){X=Q;break}else Q=Q+1|0}while(0);return X|0}function zD(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0;if(X=q,q=q+144|0,Y=X,x8(Y|0,0,144)|0,Q=Y+4|0,Z[Q>>2]=V,W=Y+8|0,Z[W>>2]=-1,Z[Y+44>>2]=V,Z[Y+76>>2]=-1,N4(Y,0,0),U=+fS(Y,T,1),T=Y+120|0,Y=(Z[Q>>2]|0)-(Z[W>>2]|0)|0,W=V2(Z[T>>2]|0,Z[T+4>>2]|0,Y|0,((Y|0)<0)<<31>>31|0)|0,Y=x()|0,$|0)Z[$>>2]=(W|0)==0&(Y|0)==0?V:V+W|0;return q=X,+U}function fS(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0;switch($|0){case 0:{X=24,Y=-149,Q=4;break}case 1:{X=53,Y=-1074,Q=4;break}case 2:{X=53,Y=-1074,Q=4;break}default:W=0}Z:do if((Q|0)==4){$=V+4|0,U=V+104|0;do if(S=Z[$>>2]|0,S>>>0<(Z[U>>2]|0)>>>0)Z[$>>2]=S+1,J=G[S>>0]|0;else J=W7(V)|0;while((MX(J)|0)!=0);V:do switch(J|0){case 43:case 45:{if(S=1-(((J|0)==45&1)<<1)|0,_=Z[$>>2]|0,_>>>0<(Z[U>>2]|0)>>>0){Z[$>>2]=_+1,K=G[_>>0]|0,P=S;break V}else{K=W7(V)|0,P=S;break V}break}default:K=J,P=1}while(0);S=K,_=0;while(!0){if((S|32|0)!=(N[103237+_>>0]|0)){O=S,L=_;break}do if(_>>>0<7)if(F=Z[$>>2]|0,F>>>0<(Z[U>>2]|0)>>>0){Z[$>>2]=F+1,z=G[F>>0]|0;break}else{z=W7(V)|0;break}else z=S;while(0);if(_=_+1|0,_>>>0>=8){O=z,L=8;break}else S=z}V:do switch(L&2147483647|0){case 8:break;case 3:{Q=23;break}default:{if(S=(T|0)!=0,S&L>>>0>3)if((L|0)==8)break V;else{Q=23;break V}$:do if(!L){_=O,F=0;while(!0){if((_|32|0)!=(N[103246+F>>0]|0)){H=_,C=F;break $}do if(F>>>0<2)if(A=Z[$>>2]|0,A>>>0<(Z[U>>2]|0)>>>0){Z[$>>2]=A+1,y=G[A>>0]|0;break}else{y=W7(V)|0;break}else y=_;while(0);if(F=F+1|0,F>>>0>=3){H=y,C=3;break}else _=y}}else H=O,C=L;while(0);switch(C|0){case 3:{if(_=Z[$>>2]|0,_>>>0<(Z[U>>2]|0)>>>0)Z[$>>2]=_+1,k=G[_>>0]|0;else k=W7(V)|0;if((k|0)!=40){if(!(Z[U>>2]|0)){W=L0;break Z}Z[$>>2]=(Z[$>>2]|0)+-1,W=L0;break Z}_=1;while(!0){if(F=Z[$>>2]|0,F>>>0<(Z[U>>2]|0)>>>0)Z[$>>2]=F+1,m=G[F>>0]|0;else m=W7(V)|0;if(!((m+-48|0)>>>0<10|(m+-65|0)>>>0<26)?!((m|0)==95|(m+-97|0)>>>0<26):0)break;_=_+1|0}if((m|0)==41){W=L0;break Z}if(F=(Z[U>>2]|0)==0,!F)Z[$>>2]=(Z[$>>2]|0)+-1;if(!S){Z[(y5()|0)>>2]=22,N4(V,0,0),W=0;break Z}if(!_){W=L0;break Z}A=_;while(!0){if(A=A+-1|0,!F)Z[$>>2]=(Z[$>>2]|0)+-1;if(!A){W=L0;break Z}}break}case 0:{if((H|0)==48){if(A=Z[$>>2]|0,A>>>0<(Z[U>>2]|0)>>>0)Z[$>>2]=A+1,I=G[A>>0]|0;else I=W7(V)|0;if((I|32|0)==120){W=+MF(V,X,Y,P,T);break Z}if(!(Z[U>>2]|0))u=48;else Z[$>>2]=(Z[$>>2]|0)+-1,u=48}else u=H;W=+LF(V,u,X,Y,P,T);break Z}default:{if(Z[U>>2]|0)Z[$>>2]=(Z[$>>2]|0)+-1;Z[(y5()|0)>>2]=22,N4(V,0,0),W=0;break Z}}}}while(0);if((Q|0)==23){if(A=(Z[U>>2]|0)==0,!A)Z[$>>2]=(Z[$>>2]|0)+-1;if((T|0)!=0&L>>>0>3){F=L;do{if(!A)Z[$>>2]=(Z[$>>2]|0)+-1;F=F+-1|0}while(F>>>0>3)}}W=+(P|0)*A0}while(0);return+W}function dS(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0;if(X=V+12|0,Y=Z[X>>2]|0,Q=$+5|0,(T|0)==0|(N[Q>>0]&24)!=0)return;if(W=T+6|0,U=N[W>>0]|0,U&4)return;S=Z[Y+164>>2]|0,J=(Z[T+16>>2]|0)+(((1<>0])+-1&Z[S+8>>2])*20|0)|0;while(!0){if((Z[J+12>>2]|0)==68?(Z[J+8>>2]|0)==(S|0):0){_=6;break}if(T=Z[J+16>>2]|0,!T){K=2172216;break}else J=T}if((_|0)==6)K=J;if(!(Z[K+4>>2]|0)){N[W>>0]=U|4;return}if(!K)return;if(K=Y+64|0,U=Z[K>>2]|0,(U|0)==($|0)){W=Y;while(!0){J=G[W+48>>0]|0,_=J^3,S=(N[W+50>>0]|0)==2,T=S?255:184,P=S?64:J&3,J=S?64:0,S=Z[U>>2]|0;Z:do if(!S)O=0;else{L=S,F=1,z=U;while(!0){if(!F){O=z;break Z}if(F=F+-1|0,H=L+5|0,C=G[H>>0]|0,!((C^3)&_))Z[z>>2]=Z[L>>2],U4(V,L),A=z;else{if(J&C|0){O=0;break Z}if((N[L+4>>0]|0)==8)J4(V,L);N[H>>0]=T&C|P,A=L}if(L=Z[A>>2]|0,!L){O=0;break}else z=A}}while(0);if((O|0)!=(U|0))break;W=Z[X>>2]|0}Z[K>>2]=O}if(O=Y+56|0,K=Z[O>>2]|0,(K|0)==($|0))y=O;else{O=K;while(!0)if(K=Z[O>>2]|0,(K|0)==($|0))break;else O=K;y=O}if(Z[y>>2]=Z[$>>2],y=Y+60|0,Z[$>>2]=Z[y>>2],Z[y>>2]=$,$=N[Q>>0]|16,N[Q>>0]=$,y=$&255,(G[Y+49>>0]|0)<2)k=y&191;else k=y&184|N[Y+48>>0]&3;N[Q>>0]=k;return}function FD(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;if(W=q,q=q+16|0,U=W,S=W+8|0,!X)J=0;else{_=Z[V+16>>2]|0;do if((X|0)<=0){if((X|0)>=-1000999){K=(Z[V+8>>2]|0)+(X<<3)|0;break}if((X|0)==-1001000){K=(Z[V+12>>2]|0)+36|0;break}if(P=-1001000-X|0,O=Z[_>>2]|0,(Z[O+4>>2]|32|0)==54)K=2172216;else L=Z[O>>2]|0,K=(P|0)>(G[L+6>>0]|0)?2172216:L+16+(P+-1<<3)|0}else P=(Z[_>>2]|0)+(X<<3)|0,K=P>>>0<(Z[V+8>>2]|0)>>>0?P:2172216;while(0);J=K-(Z[V+28>>2]|0)|0}if(K=V+8|0,X=(Z[K>>2]|0)+(~$<<3)|0,Z[S>>2]=X,$=X,(Q|0)!=0?(j[V+36>>1]|0)==0:0){if(_=Z[V+16>>2]|0,Z[_+28>>2]=Q,Z[_+24>>2]=Y,Z[_+20>>2]=$-(Z[V+28>>2]|0),N[_+36>>0]=N[V+41>>0]|0,Y=V+68|0,Q=_+32|0,Z[Q>>2]=Z[Y>>2],Z[Y>>2]=J,P=_+18|0,N[P>>0]=N[P>>0]|16,_=V+38|0,L=(j[_>>1]|0)+1<<16>>16,j[_>>1]=L,(L&65535)>199){if(L<<16>>16==200)q1(V,46208,U);if((L&65535)>224)Z8(V,6)}if(!(g3(V,X,T)|0))t3(V);j[_>>1]=(j[_>>1]|0)+-1<<16>>16,N[P>>0]=N[P>>0]&-17,Z[Y>>2]=Z[Q>>2],F=0}else Z[S+4>>2]=T,F=bS(V,3,S,$-(Z[V+28>>2]|0)|0,J)|0;if((T|0)!=-1)return q=W,F|0;if(T=(Z[V+16>>2]|0)+4|0,V=Z[K>>2]|0,(Z[T>>2]|0)>>>0>=V>>>0)return q=W,F|0;return Z[T>>2]=V,q=W,F|0}function ED(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;if(T=q,q=q+16|0,X=T,Y=Z[$>>2]|0,Q=Z[$+4>>2]|0,$=V+38|0,W=(j[$>>1]|0)+1<<16>>16,j[$>>1]=W,(W&65535)>199){if(W<<16>>16==200)q1(V,46208,X);if((W&65535)>224)Z8(V,6)}if(W=V+36|0,j[W>>1]=(j[W>>1]|0)+1<<16>>16,!(g3(V,Y,Q)|0))t3(V);j[W>>1]=(j[W>>1]|0)+-1<<16>>16,j[$>>1]=(j[$>>1]|0)+-1<<16>>16,q=T;return}function bS(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;if(Q=V+16|0,W=Z[Q>>2]|0,U=V+41|0,S=N[U>>0]|0,J=V+36|0,_=j[J>>1]|0,K=V+68|0,P=Z[K>>2]|0,Z[K>>2]=Y,Y=Y$(V,$,T)|0,!Y)return Z[K>>2]=P,Y|0;switch(T=V+28|0,$=(Z[T>>2]|0)+X|0,q4(V,$),Y|0){case 4:{X=Z[(Z[V+12>>2]|0)+152>>2]|0,Z[$>>2]=X,O=(N[X+4>>0]|64)&255;break}case 6:{X=P7(V,46910,23)|0,Z[$>>2]=X,O=(N[X+4>>0]|64)&255;break}default:X=Z[V+8>>2]|0,Z[$>>2]=Z[X+-8>>2],O=Z[X+-4>>2]|0}if(Z[$+4>>2]=O,O=$+8|0,Z[V+8>>2]=O,Z[Q>>2]=W,N[U>>0]=S,j[J>>1]=_,!W)L=O;else{_=W,W=O;while(!0)if(O=Z[_+4>>2]|0,J=W>>>0>>0?O:W,_=Z[_+8>>2]|0,!_){L=J;break}else W=J}if(W=L-(Z[T>>2]|0)|0,T=W>>3,L=T+11+((T+1|0)/8|0)|0,T=(L|0)<1e6?L:1e6,(W|0)>7999992)return Z[K>>2]=P,Y|0;if((T|0)>=(Z[V+32>>2]|0))return Z[K>>2]=P,Y|0;return x5(V,T),Z[K>>2]=P,Y|0}function BD(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0;if(Q=q,q=q+32|0,W=Q,Z[W+16>>2]=V,Z[W+8>>2]=$,Z[W+12>>2]=T,Z[W>>2]=0,Z[W+4>>2]=0,T=CD(V,W,(X|0)==0?78709:X,Y)|0,T|0)return q=Q,T|0;if(Y=Z[(Z[V+8>>2]|0)+-8>>2]|0,(N[Y+6>>0]|0)!=1)return q=Q,T|0;X=V+12|0,V=Z[(Z[X>>2]|0)+36>>2]|0;Z:do if((Z[V+28>>2]|0)>>>0>1)U=(Z[V+12>>2]|0)+8|0;else{W=(Z[V+16>>2]|0)+((131072%((1<>0])+-1|1|0)|0)*20|0)|0;while(!0){if((Z[W+12>>2]|0)==3?(Z[W+8>>2]|0)==131072:0)break;if($=Z[W+16>>2]|0,!$){U=2172216;break Z}else W=$}U=W}while(0);if(V=Y+16|0,Y=Z[(Z[V>>2]|0)+8>>2]|0,Z[Y>>2]=Z[U>>2],$=U+4|0,Z[Y+4>>2]=Z[$>>2],!(Z[$>>2]&64))return q=Q,T|0;if($=Z[U>>2]|0,!(N[$+5>>0]&3))return q=Q,T|0;if(U=(Z[V>>2]|0)+5|0,V=N[U>>0]|0,!(V&4))return q=Q,T|0;if(Y=Z[X>>2]|0,(G[Y+49>>0]|0)<2)return E1(Y,$),q=Q,T|0;else return N[U>>0]=N[Y+48>>0]&3|V&-72,q=Q,T|0;return 0}function CD(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;return Y=q,q=q+64|0,Q=Y,W=V+36|0,j[W>>1]=(j[W>>1]|0)+1<<16>>16,Z[Q>>2]=$,Z[Q+56>>2]=T,Z[Q+52>>2]=X,X=Q+16|0,Z[X>>2]=0,T=Q+24|0,Z[T>>2]=0,$=Q+28|0,Z[$>>2]=0,U=Q+36|0,Z[U>>2]=0,S=Q+40|0,Z[S>>2]=0,J=Q+48|0,Z[J>>2]=0,_=Q+4|0,Z[_>>2]=0,K=Q+12|0,Z[K>>2]=0,P=bS(V,4,Q,(Z[V+8>>2]|0)-(Z[V+28>>2]|0)|0,Z[V+68>>2]|0)|0,Q=Z[_>>2]|0,O=Z[K>>2]|0,L=V+12|0,V=Z[L>>2]|0,F=r6[Z[V>>2]&3](Z[V+4>>2]|0,Q,O,0)|0,z=V+12|0,Z[z>>2]=(Z[z>>2]|0)+((Q|0)==0?0:0-O|0),Z[_>>2]=F,Z[K>>2]=0,K=Z[X>>2]|0,X=Z[T>>2]<<1,T=Z[L>>2]|0,r6[Z[T>>2]&3](Z[T+4>>2]|0,K,X,0)|0,F=T+12|0,Z[F>>2]=(Z[F>>2]|0)+((K|0)==0?0:0-X|0),X=Z[$>>2]|0,$=Z[U>>2]<<4,U=Z[L>>2]|0,r6[Z[U>>2]&3](Z[U+4>>2]|0,X,$,0)|0,K=U+12|0,Z[K>>2]=(Z[K>>2]|0)+((X|0)==0?0:0-$|0),$=Z[S>>2]|0,S=Z[J>>2]<<4,J=Z[L>>2]|0,r6[Z[J>>2]&3](Z[J+4>>2]|0,$,S,0)|0,L=J+12|0,Z[L>>2]=(Z[L>>2]|0)+(($|0)==0?0:0-S|0),j[W>>1]=(j[W>>1]|0)+-1<<16>>16,q=Y,P|0}function AD(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;if(T=q,q=q+32|0,X=T+8|0,Y=T,Q=T+16|0,W=Z[$>>2]|0,U=Z[W>>2]|0,Z[W>>2]=U+-1,!U){if(U=y8[Z[W+8>>2]&7](Z[W+16>>2]|0,Z[W+12>>2]|0,Q)|0,S=Z[Q>>2]|0,(U|0)==0|(S|0)==0)J=-1;else Z[W>>2]=S+-1,Z[W+4>>2]=U+1,J=G[U>>0]|0;_=J}else J=W+4|0,W=Z[J>>2]|0,Z[J>>2]=W+1,_=G[W>>0]|0;if(W=Z[$+52>>2]|0,J=(W|0)==0,(_|0)==27){if(!J?(o5(W,98)|0)==0:0)Z[Y>>2]=70710,Z[Y+4>>2]=W,Z5(V,46934,Y)|0,Z8(V,3);K=HD(V,Z[$>>2]|0,$+4|0,Z[$+56>>2]|0)|0}else{if(!J?(o5(W,116)|0)==0:0)Z[X>>2]=46976,Z[X+4>>2]=W,Z5(V,46934,X)|0,Z8(V,3);K=xD(V,Z[$>>2]|0,$+4|0,$+16|0,Z[$+56>>2]|0,_)|0}if(_=K+6|0,!(N[_>>0]|0)){q=T;return}$=V+12|0,X=K+16|0,W=K+5|0,K=0;while(!0){if(J=Z[$>>2]|0,Y=J+4|0,U=r6[Z[J>>2]&3](Z[Y>>2]|0,0,10,20)|0,!U){if(!(N[J+51>>0]|0)){P=20;break}if(M2(V,1),S=r6[Z[J>>2]&3](Z[Y>>2]|0,0,10,20)|0,!S){P=20;break}else O=S}else O=U;U=J+12|0,Z[U>>2]=(Z[U>>2]|0)+20,U=J+56|0,S=O+5|0,N[S>>0]=N[J+48>>0]&3,N[O+4>>0]=10,Z[O>>2]=Z[U>>2],Z[U>>2]=O,Z[O+8>>2]=O+12,Z[O+16>>2]=0,Z[X+(K<<2)>>2]=O;do if(N[S>>0]&3?(U=N[W>>0]|0,U&4):0)if(J=Z[$>>2]|0,(G[J+49>>0]|0)<2){E1(J,O);break}else{N[W>>0]=N[J+48>>0]&3|U&-72;break}while(0);if(K=K+1|0,K>>>0>=(G[_>>0]|0)>>>0){P=27;break}}if((P|0)==20)Z8(V,4);else if((P|0)==27){q=T;return}}function HD(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0;switch(Y=q,q=q+96|0,Q=Y+56|0,W=Y+80|0,U=Y+32|0,S=Y,J=Y+64|0,N[X>>0]|0){case 61:case 64:{_=X+1|0;break}case 27:{_=48044;break}default:_=X}Z[J+12>>2]=_,Z[J>>2]=V,Z[J+4>>2]=$,Z[J+8>>2]=T,Z[U>>2]=1635077147,N[U+4>>0]=82,N[U+5>>0]=0,T=U+7|0,N[U+6>>0]=1,_=U+12|0,N[T>>0]=4,N[T+1>>0]=4,N[T+2>>0]=4,N[T+3>>0]=4,N[U+11>>0]=1,Z[_>>2]=Z[8700],j[_+4>>1]=j[17402]|0,N[S>>0]=27,_=$+16|0,T=$+8|0,X=$+12|0,K=$+4|0,P=Z[$>>2]|0,O=S+1|0,L=17;while(!0){if(!P){if(F=y8[Z[T>>2]&7](Z[_>>2]|0,Z[X>>2]|0,W)|0,z=Z[W>>2]|0,(F|0)==0|(z|0)==0){H=10;break}Z[$>>2]=z,Z[K>>2]=F,C=z,A=F}else C=P,A=Z[K>>2]|0;if(F=L>>>0>C>>>0?C:L,q6(O|0,A|0,F|0)|0,P=(Z[$>>2]|0)-F|0,Z[$>>2]=P,Z[K>>2]=(Z[K>>2]|0)+F,L=L-F|0,!L)break;else O=O+F|0}if((H|0)==10)o1(J,48058);if(q3(U,S,18)|0){if((Z[U>>2]|0)!=(Z[S>>2]|0))o1(J,48068);if(q3(U,S,6)|0)o1(J,48074);if(!(q3(U,S,12)|0))o1(J,48107);else o1(J,48094)}if(S=V+12|0,U=Z[S>>2]|0,H=U+4|0,O=r6[Z[U>>2]&3](Z[H>>2]|0,0,6,20)|0,!O){if(!(N[U+51>>0]|0))Z8(V,4);if(M2(V,1),L=r6[Z[U>>2]&3](Z[H>>2]|0,0,6,20)|0,!L)Z8(V,4);else y=L}else y=O;O=U+12|0,Z[O>>2]=(Z[O>>2]|0)+20,O=U+56|0,N[y+5>>0]=N[U+48>>0]&3,N[y+4>>0]=6,Z[y>>2]=Z[O>>2],Z[O>>2]=y,O=y+12|0,Z[O>>2]=0,N[y+6>>0]=1,Z[y+16>>2]=0,U=V+8|0,L=Z[U>>2]|0,Z[L>>2]=y,Z[L+4>>2]=70,L=(Z[U>>2]|0)+8|0,Z[U>>2]=L,H=L;do if(((Z[V+24>>2]|0)-H|0)<8){if(L=Z[V+32>>2]|0,(L|0)>1e6)Z8(V,6);if(K=(H-(Z[V+28>>2]|0)>>3)+5|0,P=L<<1,L=(P|0)<1e6?P:1e6,P=(L|0)<(K|0)?K:L,(P|0)>1e6)x5(V,1000200),q1(V,46193,Q);else{x5(V,P);break}}while(0);if(Q=Z[S>>2]|0,S=Q+4|0,H=r6[Z[Q>>2]&3](Z[S>>2]|0,0,9,80)|0,!H){if(!(N[Q+51>>0]|0))Z8(V,4);if(M2(V,1),P=r6[Z[Q>>2]&3](Z[S>>2]|0,0,9,80)|0,!P)Z8(V,4);else k=P}else k=H;H=Q+12|0,Z[H>>2]=(Z[H>>2]|0)+80,H=Q+56|0,N[k+5>>0]=N[Q+48>>0]&3,N[k+4>>0]=9,Z[k>>2]=Z[H>>2],Z[H>>2]=k,N[k+76>>0]=0,N[k+77>>0]=0,N[k+78>>0]=0,H=k+8|0,Q=H+64|0;do Z[H>>2]=0,H=H+4|0;while((H|0)<(Q|0));if(Z[O>>2]=k,RS(J,k),k=Z[O>>2]|0,O=Z[k+40>>2]|0,(O|0)==1)return m=y,q=Y,m|0;return y=ZR(V,O)|0,Z[y+12>>2]=k,k=Z[U>>2]|0,Z[k+-8>>2]=y,Z[k+-4>>2]=70,m=y,q=Y,m|0}function xD(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0;if(W=q,q=q+176|0,U=W+8|0,S=W,J=W+152|0,_=W+136|0,K=W+64|0,P=W+12|0,O=V+12|0,L=Z[O>>2]|0,F=L+4|0,z=r6[Z[L>>2]&3](Z[F>>2]|0,0,6,20)|0,!z){if(!(N[L+51>>0]|0))Z8(V,4);if(M2(V,1),H=r6[Z[L>>2]&3](Z[F>>2]|0,0,6,20)|0,!H)Z8(V,4);else C=H}else C=z;z=L+12|0,Z[z>>2]=(Z[z>>2]|0)+20,z=L+56|0,N[C+5>>0]=N[L+48>>0]&3,N[C+4>>0]=6,Z[C>>2]=Z[z>>2],Z[z>>2]=C,z=C+12|0,Z[z>>2]=0,N[C+6>>0]=1,Z[C+16>>2]=0,L=V+8|0,H=Z[L>>2]|0,Z[H>>2]=C,Z[H+4>>2]=70,H=(Z[L>>2]|0)+8|0,Z[L>>2]=H,L=H;do if(((Z[V+24>>2]|0)-L|0)<8){if(H=Z[V+32>>2]|0,(H|0)>1e6)Z8(V,6);if(F=(L-(Z[V+28>>2]|0)>>3)+5|0,A=H<<1,H=(A|0)<1e6?A:1e6,A=(H|0)<(F|0)?F:H,(A|0)>1e6)x5(V,1000200),q1(V,46193,S);else{x5(V,A);break}}while(0);if(S=Z[O>>2]|0,O=S+4|0,L=r6[Z[S>>2]&3](Z[O>>2]|0,0,9,80)|0,!L){if(!(N[S+51>>0]|0))Z8(V,4);if(M2(V,1),A=r6[Z[S>>2]&3](Z[O>>2]|0,0,9,80)|0,!A)Z8(V,4);else y=A}else y=L;L=S+12|0,Z[L>>2]=(Z[L>>2]|0)+80,L=S+56|0,N[y+5>>0]=N[S+48>>0]&3,N[y+4>>0]=9,Z[y>>2]=Z[L>>2],Z[L>>2]=y,N[y+76>>0]=0,N[y+77>>0]=0,N[y+78>>0]=0,L=y+8|0,S=L+64|0;do Z[L>>2]=0,L=L+4|0;while((L|0)<(S|0));if(Z[z>>2]=y,Z[P>>2]=y,z=y9(V,Y,x6(Y)|0)|0,Z[y+36>>2]=z,Y=K+52|0,Z[Y>>2]=T,T=K+56|0,Z[T>>2]=X,Z[X+28>>2]=0,Z[X+16>>2]=0,Z[X+4>>2]=0,N[K+68>>0]=46,X=K+44|0,Z[X>>2]=V,Z[K>>2]=Q,Z[K+32>>2]=287,Z[K+48>>2]=$,$=K+40|0,Z[$>>2]=0,Q=K+4|0,Z[Q>>2]=1,Z[K+8>>2]=1,Z[K+12>>2]=0,L=K+16|0,Z[L>>2]=1,Z[K+20>>2]=-1,S=K+60|0,Z[S>>2]=z,z=P7(V,46565,4)|0,V=K+64|0,Z[V>>2]=z,A=z+5|0,N[A>>0]=N[A>>0]|32,A=Z[X>>2]|0,X=Z[Y>>2]|0,Y=Z[X>>2]|0,z=X+8|0,O=Z[z>>2]|0,H=A+12|0,F=Z[H>>2]|0,k=(Y|0)==0,m=F+4|0,I=r6[Z[F>>2]&3](Z[m>>2]|0,Y,O,32)|0,!I){if(!(N[F+51>>0]|0))Z8(A,4);if(M2(A,1),u=r6[Z[F>>2]&3](Z[m>>2]|0,Y,O,32)|0,!u)Z8(A,4);else g=u}else g=I;if(I=F+12|0,Z[I>>2]=(Z[I>>2]|0)+(k?32:32-O|0),Z[X>>2]=g,Z[z>>2]=32,Z[P+8>>2]=Z[$>>2],z=P+12|0,Z[z>>2]=K,Z[$>>2]=P,Z[P+20>>2]=0,Z[P+24>>2]=0,Z[P+28>>2]=-1,Z[P+32>>2]=0,Z[P+36>>2]=0,$=P+44|0,Z[$>>2]=0,N[$+4>>0]=0,Z[P+40>>2]=Z[(Z[T>>2]|0)+4>>2],T=P+16|0,Z[T>>2]=0,Z[y+36>>2]=Z[S>>2],N[y+78>>0]=2,y=Z[H>>2]|0,H=y+4|0,S=r6[Z[y>>2]&3](Z[H>>2]|0,0,5,32)|0,!S){if(!(N[y+51>>0]|0))Z8(A,4);if(M2(A,1),$=r6[Z[y>>2]&3](Z[H>>2]|0,0,5,32)|0,!$)Z8(A,4);else i=$}else i=S;S=y+12|0,Z[S>>2]=(Z[S>>2]|0)+32,S=y+56|0,N[i+5>>0]=N[y+48>>0]&3,N[i+4>>0]=5,Z[i>>2]=Z[S>>2],Z[S>>2]=i,Z[i+8>>2]=0,N[i+6>>0]=-1,Z[i+12>>2]=0,Z[i+28>>2]=0,Z[i+16>>2]=2172240,N[i+7>>0]=0,Z[i+20>>2]=2172240,Z[P+4>>2]=i,S=A+8|0,y=Z[S>>2]|0,Z[y>>2]=i,Z[y+4>>2]=69,y=(Z[S>>2]|0)+8|0,Z[S>>2]=y,S=y;do if(((Z[A+24>>2]|0)-S|0)<8){if(y=Z[A+32>>2]|0,(y|0)>1e6)Z8(A,6);if(i=(S-(Z[A+28>>2]|0)>>3)+5|0,$=y<<1,y=($|0)<1e6?$:1e6,$=(y|0)<(i|0)?i:y,($|0)>1e6)x5(A,1000200),q1(A,46193,U);else{x5(A,$);break}}while(0);if(N[J+10>>0]=0,N[J+8>>0]=N[P+46>>0]|0,A=Z[(Z[z>>2]|0)+56>>2]|0,j[J+4>>1]=Z[A+28>>2],j[J+6>>1]=Z[A+16>>2],N[J+9>>0]=0,Z[J>>2]=Z[T>>2],Z[T>>2]=J,N[(Z[P>>2]|0)+77>>0]=1,Z[_+8>>2]=-1,Z[_+12>>2]=-1,Z[_>>2]=7,Z[_+4>>2]=0,eS(P,Z[V>>2]|0,_)|0,Z[L>>2]=Z[Q>>2],Q=K+32|0,(Z[Q>>2]|0)==287)L=R2(K,K+28|0)|0,_=K+24|0,Z[_>>2]=L,t=L,Y0=_;else _=Q,L=Z[_>>2]|0,V=Z[_+4>>2]|0,_=K+24|0,Z[_>>2]=L,Z[_+4>>2]=V,Z[Q>>2]=287,t=L,Y0=K+24|0;L=t;Z:while(!0){switch(L|0){case 277:case 292:case 287:case 262:case 261:case 260:{X0=L;break Z}default:}if(U$(K),t=Z[Y0>>2]|0,(L|0)==274){X0=t;break}else L=t}if((X0|0)==287)return NN(K),q=W,C|0;else c7(K,287);return 0}function eS(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if(X=Z[V>>2]|0,Y=X+40|0,Q=Z[Y>>2]|0,W=V+47|0,U=N[W>>0]|0,U<<24>>24==-1)JV(V,255,48035);if((Q|0)>(U&255|0))S=Q;else U=X+28|0,Z[U>>2]=XZ(Z[(Z[V+12>>2]|0)+44>>2]|0,Z[U>>2]|0,Y,8,255,48035)|0,S=Z[Y>>2]|0;if(Y=Z[X+28>>2]|0,(Q|0)<(S|0)){U=Q;do Z[Y+(U<<3)>>2]=0,U=U+1|0;while((U|0)<(S|0))}if(S=G[W>>0]|0,N[Y+(S<<3)+4>>0]=(Z[T>>2]|0)==7&1,N[Y+(S<<3)+5>>0]=Z[T+4>>2],Z[Y+(S<<3)>>2]=$,!(N[$+5>>0]&3))return J=N[W>>0]|0,_=J+1<<24>>24,N[W>>0]=_,K=J&255,K|0;if(S=X+5|0,X=N[S>>0]|0,!(X&4))return J=N[W>>0]|0,_=J+1<<24>>24,N[W>>0]=_,K=J&255,K|0;if(Y=Z[(Z[(Z[V+12>>2]|0)+44>>2]|0)+12>>2]|0,(G[Y+49>>0]|0)<2)return E1(Y,$),J=N[W>>0]|0,_=J+1<<24>>24,N[W>>0]=_,K=J&255,K|0;else return N[S>>0]=N[Y+48>>0]&3|X&-72,J=N[W>>0]|0,_=J+1<<24>>24,N[W>>0]=_,K=J&255,K|0;return 0}function R2(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0,j8=0,C6=0,o6=0,u6=0,p8=0,i8=0,q8=0,m8=0,l8=0,w8=0,U2=0,K8=0,A8=0,t8=0,_2=0,Y2=0,Q2=0,F2=0,w2=0,G2=0,K2=0,Z2=0,o2=0,u8=0,L2=0,N2=0,u2=0,Z1=0,I2=0,j2=0,Q1=0,p2=0,r2=0,W1=0,x2=0,a2=0,E2=0,d2=0,b2=0,P2=0,V1=0,X2=0,$1=0,P1=0,v2=0,T1=0,_1=0,l2=0,c1=0,$7=0,D1=0,n2=0,z1=0,N1=0,l1=0,A1=0,y1=0,B1=0,Z7=0,S1=0,q7=0,g2=0,T7=0,F7=0,N7=0,f8=0,C5=0,i1=0,c2=0,D2=0,X1=0,H2=0,i2=0,e8=0,t2=0,t1=0,y2=0,A2=0,M1=0,w1=0,p7=0,U1=0,h7=0,U7=0,E7=0,k2=0,I1=0,J1=0,O7=0,B7=0,j1=0,G7=0,M7=0,m7=0,s5=0,J7=0,F1=0,z7=0,G5=0,u7=0,r5=0,g7=0,j5=0,W9=0,Z9=0,A5=0,v7=0,l7=0,h5=0,g5=0,M5=0,r1=0,V9=0,C7=0,H5=0,i5=0,A7=0,L7=0,X7=0,N9=0,U9=0,L5=0,z9=0;T=q,q=q+16|0,X=T+12|0,Y=T,Q=V+52|0,Z[(Z[Q>>2]|0)+4>>2]=0,W=V+8|0,U=V+12|0,S=V+48|0;Z:while(!0){J=Z[W>>2]|0,Z[W>>2]=0,_=Z[V>>2]|0;V:do switch(_|0){case 63:{K=11;break Z}case 92:case 33:case 126:case 124:case 38:case 37:case 42:case 43:{K=73;break Z}case 91:{K=92;break Z}case 61:{K=96;break Z}case 60:{K=108;break Z}case 94:{K=144;break Z}case 62:{K=168;break Z}case 58:{K=216;break Z}case 39:case 34:{K=228;break Z}case 46:{K=375;break Z}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{P=_;break Z}case-1:{O=287,K=563;break Z}case 13:case 10:{if(bX(V),Z[U>>2]|0){K=4;break Z}break}case 11:case 9:case 12:case 32:{if(L=Z[S>>2]|0,F=Z[L>>2]|0,Z[L>>2]=F+-1,!F){if(F=y8[Z[L+8>>2]&7](Z[L+16>>2]|0,Z[L+12>>2]|0,X)|0,z=Z[X>>2]|0,(F|0)==0|(z|0)==0)H=-1;else Z[L>>2]=z+-1,Z[L+4>>2]=F+1,H=G[F>>0]|0;C=H}else F=L+4|0,L=Z[F>>2]|0,Z[F>>2]=L+1,C=G[L>>0]|0;Z[V>>2]=C,Z[W>>2]=J;break}case 45:{if(L=Z[S>>2]|0,F=Z[L>>2]|0,Z[L>>2]=F+-1,!F){if(F=y8[Z[L+8>>2]&7](Z[L+16>>2]|0,Z[L+12>>2]|0,X)|0,z=Z[X>>2]|0,(F|0)==0|(z|0)==0)A=-1;else Z[L>>2]=z+-1,Z[L+4>>2]=F+1,A=G[F>>0]|0;y=A}else F=L+4|0,L=Z[F>>2]|0,Z[F>>2]=L+1,y=G[L>>0]|0;switch(Z[V>>2]=y,y|0){case 61:{K=24;break Z}case 45:break;default:{O=45,K=563;break Z}}if(L=Z[S>>2]|0,F=Z[L>>2]|0,Z[L>>2]=F+-1,!F){if(F=y8[Z[L+8>>2]&7](Z[L+16>>2]|0,Z[L+12>>2]|0,X)|0,z=Z[X>>2]|0,(F|0)==0|(z|0)==0)k=-1;else Z[L>>2]=z+-1,Z[L+4>>2]=F+1,k=G[F>>0]|0;m=k}else F=L+4|0,L=Z[F>>2]|0,Z[F>>2]=L+1,m=G[L>>0]|0;Z[V>>2]=m;do if((m|0)==91)if(L=tW(V)|0,Z[(Z[Q>>2]|0)+4>>2]=0,(L|0)>-1){JS(V,0,L),Z[(Z[Q>>2]|0)+4>>2]=0;break V}else{I=Z[V>>2]|0;break}else I=m;while(0);L=I;while(!0){switch(L|0){case-1:case 13:case 10:break V;default:}if(F=Z[S>>2]|0,z=Z[F>>2]|0,Z[F>>2]=z+-1,!z){if(z=y8[Z[F+8>>2]&7](Z[F+16>>2]|0,Z[F+12>>2]|0,X)|0,u=Z[X>>2]|0,(z|0)==0|(u|0)==0)g=-1;else Z[F>>2]=u+-1,Z[F+4>>2]=z+1,g=G[z>>0]|0;i=g}else z=F+4|0,F=Z[z>>2]|0,Z[z>>2]=F+1,i=G[F>>0]|0;Z[V>>2]=i,L=i}break}case 47:{if(L=Z[S>>2]|0,F=Z[L>>2]|0,Z[L>>2]=F+-1,!F){if(F=y8[Z[L+8>>2]&7](Z[L+16>>2]|0,Z[L+12>>2]|0,X)|0,z=Z[X>>2]|0,(F|0)==0|(z|0)==0)t=-1;else Z[L>>2]=z+-1,Z[L+4>>2]=F+1,t=G[F>>0]|0;Y0=t}else F=L+4|0,L=Z[F>>2]|0,Z[F>>2]=L+1,Y0=G[L>>0]|0;switch(Z[V>>2]=Y0,Y0|0){case 61:{K=54;break Z}case 47:break;default:{O=47,K=563;break Z}}if(L=Z[S>>2]|0,F=Z[L>>2]|0,Z[L>>2]=F+-1,!F){if(F=y8[Z[L+8>>2]&7](Z[L+16>>2]|0,Z[L+12>>2]|0,X)|0,z=Z[X>>2]|0,(F|0)==0|(z|0)==0)X0=-1;else Z[L>>2]=z+-1,Z[L+4>>2]=F+1,X0=G[F>>0]|0;T0=X0}else F=L+4|0,L=Z[F>>2]|0,Z[F>>2]=L+1,T0=G[L>>0]|0;L=T0;while(!0){switch(Z[V>>2]=L,L|0){case-1:case 13:case 10:break V;default:}if(F=Z[S>>2]|0,z=Z[F>>2]|0,Z[F>>2]=z+-1,!z){if(z=y8[Z[F+8>>2]&7](Z[F+16>>2]|0,Z[F+12>>2]|0,X)|0,u=Z[X>>2]|0,(z|0)==0|(u|0)==0)Z0=-1;else Z[F>>2]=u+-1,Z[F+4>>2]=z+1,Z0=G[z>>0]|0;W0=Z0}else z=F+4|0,F=Z[z>>2]|0,Z[z>>2]=F+1,W0=G[F>>0]|0;L=W0}break}default:{K=532;break Z}}while(0)}switch(K|0){case 4:return Z[U>>2]=0,O=292,q=T,O|0;case 11:{if(W0=Z[S>>2]|0,Z0=Z[W0>>2]|0,Z[W0>>2]=Z0+-1,!Z0){if(Z0=y8[Z[W0+8>>2]&7](Z[W0+16>>2]|0,Z[W0+12>>2]|0,X)|0,T0=Z[X>>2]|0,(Z0|0)==0|(T0|0)==0)O0=-1;else Z[W0>>2]=T0+-1,Z[W0+4>>2]=Z0+1,O0=G[Z0>>0]|0;y0=O0}else O0=W0+4|0,W0=Z[O0>>2]|0,Z[O0>>2]=W0+1,y0=G[W0>>0]|0;if(Z[V>>2]=y0,(J|0)!=1)return O=63,q=T,O|0;return Z[U>>2]=1,O=291,q=T,O|0}case 24:{if(U=Z[S>>2]|0,J=Z[U>>2]|0,Z[U>>2]=J+-1,!J){if(J=y8[Z[U+8>>2]&7](Z[U+16>>2]|0,Z[U+12>>2]|0,X)|0,y0=Z[X>>2]|0,(J|0)==0|(y0|0)==0)E0=-1;else Z[U>>2]=y0+-1,Z[U+4>>2]=J+1,E0=G[J>>0]|0;H0=E0}else E0=U+4|0,U=Z[E0>>2]|0,Z[E0>>2]=U+1,H0=G[U>>0]|0;return Z[V>>2]=H0,O=300,q=T,O|0}case 54:{if(H0=Z[S>>2]|0,U=Z[H0>>2]|0,Z[H0>>2]=U+-1,!U){if(U=y8[Z[H0+8>>2]&7](Z[H0+16>>2]|0,Z[H0+12>>2]|0,X)|0,E0=Z[X>>2]|0,(U|0)==0|(E0|0)==0)D0=-1;else Z[H0>>2]=E0+-1,Z[H0+4>>2]=U+1,D0=G[U>>0]|0;_0=D0}else D0=H0+4|0,H0=Z[D0>>2]|0,Z[D0>>2]=H0+1,_0=G[H0>>0]|0;return Z[V>>2]=_0,O=302,q=T,O|0}case 73:{if(_0=Z[S>>2]|0,H0=Z[_0>>2]|0,Z[_0>>2]=H0+-1,!H0){if(H0=y8[Z[_0+8>>2]&7](Z[_0+16>>2]|0,Z[_0+12>>2]|0,X)|0,D0=Z[X>>2]|0,(H0|0)==0|(D0|0)==0)F0=-1;else Z[_0>>2]=D0+-1,Z[_0+4>>2]=H0+1,F0=G[H0>>0]|0;k0=F0}else F0=_0+4|0,_0=Z[F0>>2]|0,Z[F0>>2]=_0+1,k0=G[_0>>0]|0;if(Z[V>>2]=k0,(k0|0)!=61)return O=_,q=T,O|0;if(k0=Z[S>>2]|0,_0=Z[k0>>2]|0,Z[k0>>2]=_0+-1,!_0){if(_0=y8[Z[k0+8>>2]&7](Z[k0+16>>2]|0,Z[k0+12>>2]|0,X)|0,F0=Z[X>>2]|0,(_0|0)==0|(F0|0)==0)m0=-1;else Z[k0>>2]=F0+-1,Z[k0+4>>2]=_0+1,m0=G[_0>>0]|0;B0=m0}else m0=k0+4|0,k0=Z[m0>>2]|0,Z[m0>>2]=k0+1,B0=G[k0>>0]|0;switch(Z[V>>2]=B0,_|0){case 42:return O=301,q=T,O|0;case 37:return O=303,q=T,O|0;case 38:return O=306,q=T,O|0;case 124:return O=307,q=T,O|0;case 126:return O=284,q=T,O|0;case 33:return O=285,q=T,O|0;case 43:return O=299,q=T,O|0;default:return O=305,q=T,O|0}break}case 92:{if(B0=tW(V)|0,(B0|0)>-1)return JS(V,$,B0),O=290,q=T,O|0;if((B0|0)==-1)return O=91,q=T,O|0;else O5(V,47819,290);break}case 96:{if(B0=Z[S>>2]|0,k0=Z[B0>>2]|0,Z[B0>>2]=k0+-1,!k0){if(k0=y8[Z[B0+8>>2]&7](Z[B0+16>>2]|0,Z[B0+12>>2]|0,X)|0,m0=Z[X>>2]|0,(k0|0)==0|(m0|0)==0)g0=-1;else Z[B0>>2]=m0+-1,Z[B0+4>>2]=k0+1,g0=G[k0>>0]|0;o0=g0}else g0=B0+4|0,B0=Z[g0>>2]|0,Z[g0>>2]=B0+1,o0=G[B0>>0]|0;if(Z[V>>2]=o0,(o0|0)!=61)return O=61,q=T,O|0;if(o0=Z[S>>2]|0,B0=Z[o0>>2]|0,Z[o0>>2]=B0+-1,!B0){if(B0=y8[Z[o0+8>>2]&7](Z[o0+16>>2]|0,Z[o0+12>>2]|0,X)|0,g0=Z[X>>2]|0,(B0|0)==0|(g0|0)==0)h0=-1;else Z[o0>>2]=g0+-1,Z[o0+4>>2]=B0+1,h0=G[B0>>0]|0;C0=h0}else h0=o0+4|0,o0=Z[h0>>2]|0,Z[h0>>2]=o0+1,C0=G[o0>>0]|0;return Z[V>>2]=C0,O=281,q=T,O|0}case 108:{if(C0=Z[S>>2]|0,o0=Z[C0>>2]|0,Z[C0>>2]=o0+-1,!o0){if(o0=y8[Z[C0+8>>2]&7](Z[C0+16>>2]|0,Z[C0+12>>2]|0,X)|0,h0=Z[X>>2]|0,(o0|0)==0|(h0|0)==0)u0=-1;else Z[C0>>2]=h0+-1,Z[C0+4>>2]=o0+1,u0=G[o0>>0]|0;p0=u0}else u0=C0+4|0,C0=Z[u0>>2]|0,Z[u0>>2]=C0+1,p0=G[C0>>0]|0;switch(Z[V>>2]=p0,p0|0){case 61:{if(p0=Z[S>>2]|0,C0=Z[p0>>2]|0,Z[p0>>2]=C0+-1,!C0){if(C0=y8[Z[p0+8>>2]&7](Z[p0+16>>2]|0,Z[p0+12>>2]|0,X)|0,u0=Z[X>>2]|0,(C0|0)==0|(u0|0)==0)q0=-1;else Z[p0>>2]=u0+-1,Z[p0+4>>2]=C0+1,q0=G[C0>>0]|0;i0=q0}else q0=p0+4|0,p0=Z[q0>>2]|0,Z[q0>>2]=p0+1,i0=G[p0>>0]|0;return Z[V>>2]=i0,O=283,q=T,O|0}case 60:{if(i0=Z[S>>2]|0,p0=Z[i0>>2]|0,Z[i0>>2]=p0+-1,!p0){if(p0=y8[Z[i0+8>>2]&7](Z[i0+16>>2]|0,Z[i0+12>>2]|0,X)|0,q0=Z[X>>2]|0,(p0|0)==0|(q0|0)==0)t0=-1;else Z[i0>>2]=q0+-1,Z[i0+4>>2]=p0+1,t0=G[p0>>0]|0;E6=t0}else t0=i0+4|0,i0=Z[t0>>2]|0,Z[t0>>2]=i0+1,E6=G[i0>>0]|0;switch(Z[V>>2]=E6,E6|0){case 61:{if(E6=Z[S>>2]|0,i0=Z[E6>>2]|0,Z[E6>>2]=i0+-1,!i0){if(i0=y8[Z[E6+8>>2]&7](Z[E6+16>>2]|0,Z[E6+12>>2]|0,X)|0,t0=Z[X>>2]|0,(i0|0)==0|(t0|0)==0)V6=-1;else Z[E6>>2]=t0+-1,Z[E6+4>>2]=i0+1,V6=G[i0>>0]|0;n0=V6}else V6=E6+4|0,E6=Z[V6>>2]|0,Z[V6>>2]=E6+1,n0=G[E6>>0]|0;return Z[V>>2]=n0,O=309,q=T,O|0}case 62:{if(n0=Z[S>>2]|0,E6=Z[n0>>2]|0,Z[n0>>2]=E6+-1,!E6){if(E6=y8[Z[n0+8>>2]&7](Z[n0+16>>2]|0,Z[n0+12>>2]|0,X)|0,V6=Z[X>>2]|0,(E6|0)==0|(V6|0)==0)e0=-1;else Z[n0>>2]=V6+-1,Z[n0+4>>2]=E6+1,e0=G[E6>>0]|0;Z6=e0}else e0=n0+4|0,n0=Z[e0>>2]|0,Z[e0>>2]=n0+1,Z6=G[n0>>0]|0;if(Z[V>>2]=Z6,(Z6|0)!=61)return O=297,q=T,O|0;if(Z6=Z[S>>2]|0,n0=Z[Z6>>2]|0,Z[Z6>>2]=n0+-1,!n0){if(n0=y8[Z[Z6+8>>2]&7](Z[Z6+16>>2]|0,Z[Z6+12>>2]|0,X)|0,e0=Z[X>>2]|0,(n0|0)==0|(e0|0)==0)U6=-1;else Z[Z6>>2]=e0+-1,Z[Z6+4>>2]=n0+1,U6=G[n0>>0]|0;N6=U6}else U6=Z6+4|0,Z6=Z[U6>>2]|0,Z[U6>>2]=Z6+1,N6=G[Z6>>0]|0;return Z[V>>2]=N6,O=312,q=T,O|0}default:return O=294,q=T,O|0}break}default:return O=60,q=T,O|0}break}case 144:{if(N6=Z[S>>2]|0,Z6=Z[N6>>2]|0,Z[N6>>2]=Z6+-1,!Z6){if(Z6=y8[Z[N6+8>>2]&7](Z[N6+16>>2]|0,Z[N6+12>>2]|0,X)|0,U6=Z[X>>2]|0,(Z6|0)==0|(U6|0)==0)A6=-1;else Z[N6>>2]=U6+-1,Z[N6+4>>2]=Z6+1,A6=G[Z6>>0]|0;S6=A6}else A6=N6+4|0,N6=Z[A6>>2]|0,Z[A6>>2]=N6+1,S6=G[N6>>0]|0;switch(Z[V>>2]=S6,S6|0){case 61:{if(S6=Z[S>>2]|0,N6=Z[S6>>2]|0,Z[S6>>2]=N6+-1,!N6){if(N6=y8[Z[S6+8>>2]&7](Z[S6+16>>2]|0,Z[S6+12>>2]|0,X)|0,A6=Z[X>>2]|0,(N6|0)==0|(A6|0)==0)H6=-1;else Z[S6>>2]=A6+-1,Z[S6+4>>2]=N6+1,H6=G[N6>>0]|0;M6=H6}else H6=S6+4|0,S6=Z[H6>>2]|0,Z[H6>>2]=S6+1,M6=G[S6>>0]|0;return Z[V>>2]=M6,O=304,q=T,O|0}case 94:{if(M6=Z[S>>2]|0,S6=Z[M6>>2]|0,Z[M6>>2]=S6+-1,!S6){if(S6=y8[Z[M6+8>>2]&7](Z[M6+16>>2]|0,Z[M6+12>>2]|0,X)|0,H6=Z[X>>2]|0,(S6|0)==0|(H6|0)==0)F6=-1;else Z[M6>>2]=H6+-1,Z[M6+4>>2]=S6+1,F6=G[S6>>0]|0;J6=F6}else F6=M6+4|0,M6=Z[F6>>2]|0,Z[F6>>2]=M6+1,J6=G[M6>>0]|0;if(Z[V>>2]=J6,(J6|0)!=61)return O=293,q=T,O|0;if(J6=Z[S>>2]|0,M6=Z[J6>>2]|0,Z[J6>>2]=M6+-1,!M6){if(M6=y8[Z[J6+8>>2]&7](Z[J6+16>>2]|0,Z[J6+12>>2]|0,X)|0,F6=Z[X>>2]|0,(M6|0)==0|(F6|0)==0)L6=-1;else Z[J6>>2]=F6+-1,Z[J6+4>>2]=M6+1,L6=G[M6>>0]|0;c0=L6}else L6=J6+4|0,J6=Z[L6>>2]|0,Z[L6>>2]=J6+1,c0=G[J6>>0]|0;return Z[V>>2]=c0,O=308,q=T,O|0}default:return O=94,q=T,O|0}break}case 168:{if(c0=Z[S>>2]|0,J6=Z[c0>>2]|0,Z[c0>>2]=J6+-1,!J6){if(J6=y8[Z[c0+8>>2]&7](Z[c0+16>>2]|0,Z[c0+12>>2]|0,X)|0,L6=Z[X>>2]|0,(J6|0)==0|(L6|0)==0)T6=-1;else Z[c0>>2]=L6+-1,Z[c0+4>>2]=J6+1,T6=G[J6>>0]|0;W6=T6}else T6=c0+4|0,c0=Z[T6>>2]|0,Z[T6>>2]=c0+1,W6=G[c0>>0]|0;switch(Z[V>>2]=W6,W6|0){case 61:{if(W6=Z[S>>2]|0,c0=Z[W6>>2]|0,Z[W6>>2]=c0+-1,!c0){if(c0=y8[Z[W6+8>>2]&7](Z[W6+16>>2]|0,Z[W6+12>>2]|0,X)|0,T6=Z[X>>2]|0,(c0|0)==0|(T6|0)==0)h6=-1;else Z[W6>>2]=T6+-1,Z[W6+4>>2]=c0+1,h6=G[c0>>0]|0;s6=h6}else h6=W6+4|0,W6=Z[h6>>2]|0,Z[h6>>2]=W6+1,s6=G[W6>>0]|0;return Z[V>>2]=s6,O=282,q=T,O|0}case 62:{if(s6=Z[S>>2]|0,W6=Z[s6>>2]|0,Z[s6>>2]=W6+-1,!W6){if(W6=y8[Z[s6+8>>2]&7](Z[s6+16>>2]|0,Z[s6+12>>2]|0,X)|0,h6=Z[X>>2]|0,(W6|0)==0|(h6|0)==0)p6=-1;else Z[s6>>2]=h6+-1,Z[s6+4>>2]=W6+1,p6=G[W6>>0]|0;G6=p6}else p6=s6+4|0,s6=Z[p6>>2]|0,Z[p6>>2]=s6+1,G6=G[s6>>0]|0;switch(Z[V>>2]=G6,G6|0){case 61:{if(G6=Z[S>>2]|0,s6=Z[G6>>2]|0,Z[G6>>2]=s6+-1,!s6){if(s6=y8[Z[G6+8>>2]&7](Z[G6+16>>2]|0,Z[G6+12>>2]|0,X)|0,p6=Z[X>>2]|0,(s6|0)==0|(p6|0)==0)w6=-1;else Z[G6>>2]=p6+-1,Z[G6+4>>2]=s6+1,w6=G[s6>>0]|0;B6=w6}else w6=G6+4|0,G6=Z[w6>>2]|0,Z[w6>>2]=G6+1,B6=G[G6>>0]|0;return Z[V>>2]=B6,O=310,q=T,O|0}case 60:{if(B6=Z[S>>2]|0,G6=Z[B6>>2]|0,Z[B6>>2]=G6+-1,!G6){if(G6=y8[Z[B6+8>>2]&7](Z[B6+16>>2]|0,Z[B6+12>>2]|0,X)|0,w6=Z[X>>2]|0,(G6|0)==0|(w6|0)==0)i6=-1;else Z[B6>>2]=w6+-1,Z[B6+4>>2]=G6+1,i6=G[G6>>0]|0;H8=i6}else i6=B6+4|0,B6=Z[i6>>2]|0,Z[i6>>2]=B6+1,H8=G[B6>>0]|0;if(Z[V>>2]=H8,(H8|0)!=61)return O=298,q=T,O|0;if(H8=Z[S>>2]|0,B6=Z[H8>>2]|0,Z[H8>>2]=B6+-1,!B6){if(B6=y8[Z[H8+8>>2]&7](Z[H8+16>>2]|0,Z[H8+12>>2]|0,X)|0,i6=Z[X>>2]|0,(B6|0)==0|(i6|0)==0)m6=-1;else Z[H8>>2]=i6+-1,Z[H8+4>>2]=B6+1,m6=G[B6>>0]|0;_8=m6}else m6=H8+4|0,H8=Z[m6>>2]|0,Z[m6>>2]=H8+1,_8=G[H8>>0]|0;return Z[V>>2]=_8,O=313,q=T,O|0}case 62:{if(_8=Z[S>>2]|0,H8=Z[_8>>2]|0,Z[_8>>2]=H8+-1,!H8){if(H8=y8[Z[_8+8>>2]&7](Z[_8+16>>2]|0,Z[_8+12>>2]|0,X)|0,m6=Z[X>>2]|0,(H8|0)==0|(m6|0)==0)v8=-1;else Z[_8>>2]=m6+-1,Z[_8+4>>2]=H8+1,v8=G[H8>>0]|0;Y8=v8}else v8=_8+4|0,_8=Z[v8>>2]|0,Z[v8>>2]=_8+1,Y8=G[_8>>0]|0;if(Z[V>>2]=Y8,(Y8|0)!=61)return O=296,q=T,O|0;if(Y8=Z[S>>2]|0,_8=Z[Y8>>2]|0,Z[Y8>>2]=_8+-1,!_8){if(_8=y8[Z[Y8+8>>2]&7](Z[Y8+16>>2]|0,Z[Y8+12>>2]|0,X)|0,v8=Z[X>>2]|0,(_8|0)==0|(v8|0)==0)T8=-1;else Z[Y8>>2]=v8+-1,Z[Y8+4>>2]=_8+1,T8=G[_8>>0]|0;C8=T8}else T8=Y8+4|0,Y8=Z[T8>>2]|0,Z[T8>>2]=Y8+1,C8=G[Y8>>0]|0;return Z[V>>2]=C8,O=311,q=T,O|0}default:return O=295,q=T,O|0}break}default:return O=62,q=T,O|0}break}case 216:{if(C8=Z[S>>2]|0,Y8=Z[C8>>2]|0,Z[C8>>2]=Y8+-1,!Y8){if(Y8=y8[Z[C8+8>>2]&7](Z[C8+16>>2]|0,Z[C8+12>>2]|0,X)|0,T8=Z[X>>2]|0,(Y8|0)==0|(T8|0)==0)j8=-1;else Z[C8>>2]=T8+-1,Z[C8+4>>2]=Y8+1,j8=G[Y8>>0]|0;C6=j8}else j8=C8+4|0,C8=Z[j8>>2]|0,Z[j8>>2]=C8+1,C6=G[C8>>0]|0;if(Z[V>>2]=C6,(C6|0)!=58)return O=58,q=T,O|0;if(C6=Z[S>>2]|0,C8=Z[C6>>2]|0,Z[C6>>2]=C8+-1,!C8){if(C8=y8[Z[C6+8>>2]&7](Z[C6+16>>2]|0,Z[C6+12>>2]|0,X)|0,j8=Z[X>>2]|0,(C8|0)==0|(j8|0)==0)o6=-1;else Z[C6>>2]=j8+-1,Z[C6+4>>2]=C8+1,o6=G[C8>>0]|0;u6=o6}else o6=C6+4|0,C6=Z[o6>>2]|0,Z[o6>>2]=C6+1,u6=G[C6>>0]|0;return Z[V>>2]=u6,O=286,q=T,O|0}case 228:{if(u6=Z[Q>>2]|0,C6=u6+4|0,o6=Z[C6>>2]|0,C8=o6+1|0,j8=u6+8|0,Y8=Z[j8>>2]|0,C8>>>0>Y8>>>0){if(Y8>>>0>2147483645)O5(V,47209,0);if(T8=Y8<<1,_8=Z[V+44>>2]|0,(T8|0)==-2)x1(_8);if(v8=Z[u6>>2]|0,H8=Z[_8+12>>2]|0,m6=(v8|0)==0,B6=H8+4|0,i6=r6[Z[H8>>2]&3](Z[B6>>2]|0,v8,Y8,T8)|0,(T8|0)!=0&(i6|0)==0){if(!(N[H8+51>>0]|0))Z8(_8,4);if(M2(_8,1),G6=r6[Z[H8>>2]&3](Z[B6>>2]|0,v8,Y8,T8)|0,!G6)Z8(_8,4);else p8=G6}else p8=i6;i6=H8+12|0,Z[i6>>2]=(m6?0:0-Y8|0)+T8+(Z[i6>>2]|0),Z[u6>>2]=p8,Z[j8>>2]=T8,T8=Z[C6>>2]|0,i8=p8,q8=T8,m8=T8+1|0}else i8=Z[u6>>2]|0,q8=o6,m8=C8;if(C8=_&255,Z[C6>>2]=m8,N[i8+q8>>0]=C8,q8=Z[S>>2]|0,i8=Z[q8>>2]|0,Z[q8>>2]=i8+-1,!i8){if(i8=y8[Z[q8+8>>2]&7](Z[q8+16>>2]|0,Z[q8+12>>2]|0,X)|0,m8=Z[X>>2]|0,(i8|0)==0|(m8|0)==0)l8=-1;else Z[q8>>2]=m8+-1,Z[q8+4>>2]=i8+1,l8=G[i8>>0]|0;w8=l8}else l8=q8+4|0,q8=Z[l8>>2]|0,Z[l8>>2]=q8+1,w8=G[q8>>0]|0;Z[V>>2]=w8;Z:do if((w8|0)!=(_|0)){q8=V+44|0,l8=Y+4|0,i8=Y+8|0,m8=w8;V:while(!0){$:do switch(m8|0){case-1:{K=247;break V}case 13:case 10:{K=248;break V}case 92:{if(C6=Z[S>>2]|0,o6=Z[C6>>2]|0,Z[C6>>2]=o6+-1,!o6){if(o6=y8[Z[C6+8>>2]&7](Z[C6+16>>2]|0,Z[C6+12>>2]|0,X)|0,u6=Z[X>>2]|0,(o6|0)==0|(u6|0)==0)U2=-1;else Z[C6>>2]=u6+-1,Z[C6+4>>2]=o6+1,U2=G[o6>>0]|0;K8=U2}else o6=C6+4|0,C6=Z[o6>>2]|0,Z[o6>>2]=C6+1,K8=G[C6>>0]|0;Z[V>>2]=K8;do switch(K8|0){case-1:{A8=K8;break $}case 97:{t8=7,K=322;break}case 98:{t8=8,K=322;break}case 102:{t8=12,K=322;break}case 110:{t8=10,K=322;break}case 114:{t8=13,K=322;break}case 116:{t8=9,K=322;break}case 118:{t8=11,K=322;break}case 42:{t8=1,K=322;break}case 35:{t8=2,K=322;break}case 45:{t8=3,K=322;break}case 124:{t8=4,K=322;break}case 43:{t8=5,K=322;break}case 94:{t8=6,K=322;break}case 120:{if(Z[Y>>2]=120,C6=Z[S>>2]|0,o6=Z[C6>>2]|0,Z[C6>>2]=o6+-1,!o6){if(o6=y8[Z[C6+8>>2]&7](Z[C6+16>>2]|0,Z[C6+12>>2]|0,X)|0,u6=Z[X>>2]|0,(o6|0)==0|(u6|0)==0)_2=-1;else Z[C6>>2]=u6+-1,Z[C6+4>>2]=o6+1,_2=G[o6>>0]|0;Y2=_2}else o6=C6+4|0,C6=Z[o6>>2]|0,Z[o6>>2]=C6+1,Y2=G[C6>>0]|0;if(Z[V>>2]=Y2,Z[l8>>2]=Y2,!(N[64+(Y2+1)>>0]&16)){Q2=2,K=273;break V}if(C6=Y2+-48|0,o6=C6>>>0<10?C6:(Y2|32)+268435369|0,C6=Z[S>>2]|0,u6=Z[C6>>2]|0,Z[C6>>2]=u6+-1,!u6){if(u6=y8[Z[C6+8>>2]&7](Z[C6+16>>2]|0,Z[C6+12>>2]|0,X)|0,T8=Z[X>>2]|0,(u6|0)==0|(T8|0)==0)F2=-1;else Z[C6>>2]=T8+-1,Z[C6+4>>2]=u6+1,F2=G[u6>>0]|0;w2=F2}else u6=C6+4|0,C6=Z[u6>>2]|0,Z[u6>>2]=C6+1,w2=G[C6>>0]|0;if(Z[V>>2]=w2,Z[i8>>2]=w2,!(N[64+(w2+1)>>0]&16)){Q2=3,K=273;break V}C6=w2+-48|0,t8=(C6>>>0<10?C6:(w2|32)+-87|0)+(o6<<4)|0,K=322;break}case 13:case 10:{bX(V),G2=10;break}case 39:case 34:case 92:{t8=K8,K=322;break}case 122:{if(o6=Z[S>>2]|0,C6=Z[o6>>2]|0,Z[o6>>2]=C6+-1,!C6){if(C6=y8[Z[o6+8>>2]&7](Z[o6+16>>2]|0,Z[o6+12>>2]|0,X)|0,u6=Z[X>>2]|0,(C6|0)==0|(u6|0)==0)K2=-1;else Z[o6>>2]=u6+-1,Z[o6+4>>2]=C6+1,K2=G[C6>>0]|0;Z2=K2}else C6=o6+4|0,o6=Z[C6>>2]|0,Z[C6>>2]=o6+1,Z2=G[o6>>0]|0;if(Z[V>>2]=Z2,!(N[64+(Z2+1)>>0]&8)){A8=Z2;break $}o6=Z2;while(!0){switch(o6|0){case 13:case 10:{bX(V),o2=Z[V>>2]|0;break}default:{if(C6=Z[S>>2]|0,u6=Z[C6>>2]|0,Z[C6>>2]=u6+-1,!u6){if(u6=y8[Z[C6+8>>2]&7](Z[C6+16>>2]|0,Z[C6+12>>2]|0,X)|0,T8=Z[X>>2]|0,(u6|0)==0|(T8|0)==0)u8=-1;else Z[C6>>2]=T8+-1,Z[C6+4>>2]=u6+1,u8=G[u6>>0]|0;L2=u8}else u6=C6+4|0,C6=Z[u6>>2]|0,Z[u6>>2]=C6+1,L2=G[C6>>0]|0;Z[V>>2]=L2,o2=L2}}if(!(N[64+(o2+1)>>0]&8)){A8=o2;break $}else o6=o2}break}default:{if(o6=K8+-48|0,o6>>>0>=10){K=300;break V}if(Z[Y>>2]=K8,C6=Z[S>>2]|0,u6=Z[C6>>2]|0,Z[C6>>2]=u6+-1,!u6){if(u6=y8[Z[C6+8>>2]&7](Z[C6+16>>2]|0,Z[C6+12>>2]|0,X)|0,T8=Z[X>>2]|0,(u6|0)==0|(T8|0)==0)N2=-1;else Z[C6>>2]=T8+-1,Z[C6+4>>2]=u6+1,N2=G[u6>>0]|0;u2=N2}else u6=C6+4|0,C6=Z[u6>>2]|0,Z[u6>>2]=C6+1,u2=G[C6>>0]|0;if(Z[V>>2]=u2,C6=u2+-48|0,C6>>>0<10){if(Z[l8>>2]=u2,u6=C6+(o6*10|0)|0,C6=Z[S>>2]|0,T8=Z[C6>>2]|0,Z[C6>>2]=T8+-1,!T8){if(T8=y8[Z[C6+8>>2]&7](Z[C6+16>>2]|0,Z[C6+12>>2]|0,X)|0,p8=Z[X>>2]|0,(T8|0)==0|(p8|0)==0)Z1=-1;else Z[C6>>2]=p8+-1,Z[C6+4>>2]=T8+1,Z1=G[T8>>0]|0;I2=Z1}else T8=C6+4|0,C6=Z[T8>>2]|0,Z[T8>>2]=C6+1,I2=G[C6>>0]|0;if(Z[V>>2]=I2,C6=I2+-48|0,C6>>>0<10){if(Z[i8>>2]=I2,T8=C6+(u6*10|0)|0,C6=Z[S>>2]|0,p8=Z[C6>>2]|0,Z[C6>>2]=p8+-1,!p8){if(p8=y8[Z[C6+8>>2]&7](Z[C6+16>>2]|0,Z[C6+12>>2]|0,X)|0,j8=Z[X>>2]|0,(p8|0)==0|(j8|0)==0)j2=-1;else Z[C6>>2]=j8+-1,Z[C6+4>>2]=p8+1,j2=G[p8>>0]|0;Q1=j2}else p8=C6+4|0,C6=Z[p8>>2]|0,Z[p8>>2]=C6+1,Q1=G[C6>>0]|0;Z[V>>2]=Q1,p2=3,r2=T8}else p2=2,r2=u6;if((r2|0)>255){K=308;break V}else W1=r2}else W1=o6;G2=W1}}while(0);if((K|0)==322){if(K=0,o6=Z[S>>2]|0,u6=Z[o6>>2]|0,Z[o6>>2]=u6+-1,!u6){if(u6=y8[Z[o6+8>>2]&7](Z[o6+16>>2]|0,Z[o6+12>>2]|0,X)|0,T8=Z[X>>2]|0,(u6|0)==0|(T8|0)==0)x2=-1;else Z[o6>>2]=T8+-1,Z[o6+4>>2]=u6+1,x2=G[u6>>0]|0;a2=x2}else u6=o6+4|0,o6=Z[u6>>2]|0,Z[u6>>2]=o6+1,a2=G[o6>>0]|0;Z[V>>2]=a2,G2=t8}if(o6=Z[Q>>2]|0,u6=o6+4|0,T8=Z[u6>>2]|0,C6=T8+1|0,p8=o6+8|0,j8=Z[p8>>2]|0,C6>>>0>j8>>>0){if(j8>>>0>2147483645){K=331;break V}if(i6=j8<<1,E2=Z[q8>>2]|0,(i6|0)==-2){K=333;break V}if(Y8=Z[o6>>2]|0,m6=Z[E2+12>>2]|0,H8=(Y8|0)==0,G6=m6+4|0,_8=r6[Z[m6>>2]&3](Z[G6>>2]|0,Y8,j8,i6)|0,(i6|0)!=0&(_8|0)==0){if(!(N[m6+51>>0]|0)){K=337;break V}if(M2(E2,1),v8=r6[Z[m6>>2]&3](Z[G6>>2]|0,Y8,j8,i6)|0,!v8){K=337;break V}else d2=v8}else d2=_8;_8=m6+12|0,Z[_8>>2]=(H8?0:0-j8|0)+i6+(Z[_8>>2]|0),Z[o6>>2]=d2,Z[p8>>2]=i6,i6=Z[u6>>2]|0,b2=d2,P2=i6,V1=i6+1|0}else b2=Z[o6>>2]|0,P2=T8,V1=C6;Z[u6>>2]=V1,N[b2+P2>>0]=G2,A8=Z[V>>2]|0;break}default:{if(u6=Z[Q>>2]|0,C6=u6+4|0,T8=Z[C6>>2]|0,o6=T8+1|0,i6=u6+8|0,p8=Z[i6>>2]|0,o6>>>0>p8>>>0){if(p8>>>0>2147483645){K=343;break V}if(_8=p8<<1,X2=Z[q8>>2]|0,(_8|0)==-2){K=345;break V}if(j8=Z[u6>>2]|0,H8=Z[X2+12>>2]|0,m6=(j8|0)==0,v8=H8+4|0,Y8=r6[Z[H8>>2]&3](Z[v8>>2]|0,j8,p8,_8)|0,(_8|0)!=0&(Y8|0)==0){if(!(N[H8+51>>0]|0)){K=349;break V}if(M2(X2,1),G6=r6[Z[H8>>2]&3](Z[v8>>2]|0,j8,p8,_8)|0,!G6){K=349;break V}else $1=G6}else $1=Y8;Y8=H8+12|0,Z[Y8>>2]=(m6?0:0-p8|0)+_8+(Z[Y8>>2]|0),Z[u6>>2]=$1,Z[i6>>2]=_8,_8=Z[C6>>2]|0,P1=$1,v2=_8,T1=_8+1|0}else P1=Z[u6>>2]|0,v2=T8,T1=o6;if(Z[C6>>2]=T1,N[P1+v2>>0]=m8,C6=Z[S>>2]|0,o6=Z[C6>>2]|0,Z[C6>>2]=o6+-1,!o6){if(o6=y8[Z[C6+8>>2]&7](Z[C6+16>>2]|0,Z[C6+12>>2]|0,X)|0,T8=Z[X>>2]|0,(o6|0)==0|(T8|0)==0)_1=-1;else Z[C6>>2]=T8+-1,Z[C6+4>>2]=o6+1,_1=G[o6>>0]|0;l2=_1}else o6=C6+4|0,C6=Z[o6>>2]|0,Z[o6>>2]=C6+1,l2=G[C6>>0]|0;Z[V>>2]=l2,A8=l2}}while(0);if((A8|0)==(_|0))break Z;else m8=A8}switch(K|0){case 247:{O5(V,47849,287);break}case 248:{O5(V,47849,290);break}case 273:{fW(V,Y,Q2,47867);break}case 300:{fW(V,V,1,47894);break}case 308:{fW(V,Y,p2,47918);break}case 331:{O5(V,47209,0);break}case 333:{x1(E2);break}case 337:{Z8(E2,4);break}case 343:{O5(V,47209,0);break}case 345:{x1(X2);break}case 349:{Z8(X2,4);break}}}while(0);if(X2=Z[Q>>2]|0,E2=X2+4|0,p2=Z[E2>>2]|0,Y=p2+1|0,Q2=X2+8|0,A8=Z[Q2>>2]|0,Y>>>0>A8>>>0){if(A8>>>0>2147483645)O5(V,47209,0);if(l2=A8<<1,_1=Z[V+44>>2]|0,(l2|0)==-2)x1(_1);if(v2=Z[X2>>2]|0,P1=Z[_1+12>>2]|0,T1=(v2|0)==0,$1=P1+4|0,G2=r6[Z[P1>>2]&3](Z[$1>>2]|0,v2,A8,l2)|0,(l2|0)!=0&(G2|0)==0){if(!(N[P1+51>>0]|0))Z8(_1,4);if(M2(_1,1),P2=r6[Z[P1>>2]&3](Z[$1>>2]|0,v2,A8,l2)|0,!P2)Z8(_1,4);else c1=P2}else c1=G2;G2=P1+12|0,Z[G2>>2]=(T1?0:0-A8|0)+l2+(Z[G2>>2]|0),Z[X2>>2]=c1,Z[Q2>>2]=l2,l2=Z[E2>>2]|0,$7=c1,D1=l2,n2=l2+1|0}else $7=Z[X2>>2]|0,D1=p2,n2=Y;if(Z[E2>>2]=n2,N[$7+D1>>0]=C8,C8=Z[S>>2]|0,D1=Z[C8>>2]|0,Z[C8>>2]=D1+-1,!D1){if(D1=y8[Z[C8+8>>2]&7](Z[C8+16>>2]|0,Z[C8+12>>2]|0,X)|0,$7=Z[X>>2]|0,(D1|0)==0|($7|0)==0)z1=-1;else Z[C8>>2]=$7+-1,Z[C8+4>>2]=D1+1,z1=G[D1>>0]|0;N1=z1}else z1=C8+4|0,C8=Z[z1>>2]|0,Z[z1>>2]=C8+1,N1=G[C8>>0]|0;return Z[V>>2]=N1,N1=Z[Q>>2]|0,Z[$>>2]=y4(V,(Z[N1>>2]|0)+1|0,(Z[N1+4>>2]|0)+-2|0)|0,O=290,q=T,O|0}case 375:{if(N1=Z[Q>>2]|0,C8=N1+4|0,z1=Z[C8>>2]|0,D1=z1+1|0,$7=N1+8|0,n2=Z[$7>>2]|0,D1>>>0>n2>>>0){if(n2>>>0>2147483645)O5(V,47209,0);if(E2=n2<<1,Y=Z[V+44>>2]|0,(E2|0)==-2)x1(Y);if(p2=Z[N1>>2]|0,X2=Z[Y+12>>2]|0,l2=(p2|0)==0,c1=X2+4|0,Q2=r6[Z[X2>>2]&3](Z[c1>>2]|0,p2,n2,E2)|0,(E2|0)!=0&(Q2|0)==0){if(!(N[X2+51>>0]|0))Z8(Y,4);if(M2(Y,1),G2=r6[Z[X2>>2]&3](Z[c1>>2]|0,p2,n2,E2)|0,!G2)Z8(Y,4);else l1=G2}else l1=Q2;Q2=X2+12|0,Z[Q2>>2]=(l2?0:0-n2|0)+E2+(Z[Q2>>2]|0),Z[N1>>2]=l1,Z[$7>>2]=E2,E2=Z[C8>>2]|0,A1=l1,y1=E2,B1=E2+1|0}else A1=Z[N1>>2]|0,y1=z1,B1=D1;if(Z[C8>>2]=B1,N[A1+y1>>0]=46,y1=Z[S>>2]|0,A1=Z[y1>>2]|0,Z[y1>>2]=A1+-1,!A1){if(A1=y8[Z[y1+8>>2]&7](Z[y1+16>>2]|0,Z[y1+12>>2]|0,X)|0,B1=Z[X>>2]|0,(A1|0)==0|(B1|0)==0)Z7=-1;else Z[y1>>2]=B1+-1,Z[y1+4>>2]=A1+1,Z7=G[A1>>0]|0;S1=Z7}else Z7=y1+4|0,y1=Z[Z7>>2]|0,Z[Z7>>2]=y1+1,S1=G[y1>>0]|0;if(Z[V>>2]=S1,!S1)return O=46,q=T,O|0;if(!(W4(103254,S1,2)|0)){if((S1+-48|0)>>>0<10){P=S1;break}else O=46;return q=T,O|0}if(y1=Z[Q>>2]|0,Z7=y1+4|0,A1=Z[Z7>>2]|0,B1=A1+1|0,C8=y1+8|0,D1=Z[C8>>2]|0,B1>>>0>D1>>>0){if(D1>>>0>2147483645)O5(V,47209,0);if(z1=D1<<1,N1=Z[V+44>>2]|0,(z1|0)==-2)x1(N1);if(E2=Z[y1>>2]|0,l1=Z[N1+12>>2]|0,$7=(E2|0)==0,Q2=l1+4|0,n2=r6[Z[l1>>2]&3](Z[Q2>>2]|0,E2,D1,z1)|0,(z1|0)!=0&(n2|0)==0){if(!(N[l1+51>>0]|0))Z8(N1,4);if(M2(N1,1),l2=r6[Z[l1>>2]&3](Z[Q2>>2]|0,E2,D1,z1)|0,!l2)Z8(N1,4);else q7=l2}else q7=n2;n2=l1+12|0,Z[n2>>2]=($7?0:0-D1|0)+z1+(Z[n2>>2]|0),Z[y1>>2]=q7,Z[C8>>2]=z1,z1=Z[Z7>>2]|0,g2=q7,T7=z1,F7=z1+1|0}else g2=Z[y1>>2]|0,T7=A1,F7=B1;if(Z[Z7>>2]=F7,N[g2+T7>>0]=S1,S1=Z[S>>2]|0,T7=Z[S1>>2]|0,Z[S1>>2]=T7+-1,!T7){if(T7=y8[Z[S1+8>>2]&7](Z[S1+16>>2]|0,Z[S1+12>>2]|0,X)|0,g2=Z[X>>2]|0,(T7|0)==0|(g2|0)==0)N7=-1;else Z[S1>>2]=g2+-1,Z[S1+4>>2]=T7+1,N7=G[T7>>0]|0;f8=N7}else N7=S1+4|0,S1=Z[N7>>2]|0,Z[N7>>2]=S1+1,f8=G[S1>>0]|0;if(Z[V>>2]=f8,!f8)return O=279,q=T,O|0;if(W4(103254,f8,2)|0){if(S1=Z[Q>>2]|0,N7=S1+4|0,T7=Z[N7>>2]|0,g2=T7+1|0,F7=S1+8|0,Z7=Z[F7>>2]|0,g2>>>0>Z7>>>0){if(Z7>>>0>2147483645)O5(V,47209,0);if(B1=Z7<<1,A1=Z[V+44>>2]|0,(B1|0)==-2)x1(A1);if(y1=Z[S1>>2]|0,z1=Z[A1+12>>2]|0,q7=(y1|0)==0,C8=z1+4|0,n2=r6[Z[z1>>2]&3](Z[C8>>2]|0,y1,Z7,B1)|0,(B1|0)!=0&(n2|0)==0){if(!(N[z1+51>>0]|0))Z8(A1,4);if(M2(A1,1),D1=r6[Z[z1>>2]&3](Z[C8>>2]|0,y1,Z7,B1)|0,!D1)Z8(A1,4);else C5=D1}else C5=n2;n2=z1+12|0,Z[n2>>2]=(q7?0:0-Z7|0)+B1+(Z[n2>>2]|0),Z[S1>>2]=C5,Z[F7>>2]=B1,B1=Z[N7>>2]|0,i1=C5,c2=B1,D2=B1+1|0}else i1=Z[S1>>2]|0,c2=T7,D2=g2;if(Z[N7>>2]=D2,N[i1+c2>>0]=f8,c2=Z[S>>2]|0,i1=Z[c2>>2]|0,Z[c2>>2]=i1+-1,!i1){if(i1=y8[Z[c2+8>>2]&7](Z[c2+16>>2]|0,Z[c2+12>>2]|0,X)|0,D2=Z[X>>2]|0,(i1|0)==0|(D2|0)==0)X1=-1;else Z[c2>>2]=D2+-1,Z[c2+4>>2]=i1+1,X1=G[i1>>0]|0;H2=X1}else X1=c2+4|0,c2=Z[X1>>2]|0,Z[X1>>2]=c2+1,H2=G[c2>>0]|0;return Z[V>>2]=H2,O=280,q=T,O|0}if(!(W4(95818,f8,2)|0))return O=279,q=T,O|0;if(H2=Z[Q>>2]|0,c2=H2+4|0,X1=Z[c2>>2]|0,i1=X1+1|0,D2=H2+8|0,N7=Z[D2>>2]|0,i1>>>0>N7>>>0){if(N7>>>0>2147483645)O5(V,47209,0);if(g2=N7<<1,T7=Z[V+44>>2]|0,(g2|0)==-2)x1(T7);if(S1=Z[H2>>2]|0,B1=Z[T7+12>>2]|0,C5=(S1|0)==0,F7=B1+4|0,n2=r6[Z[B1>>2]&3](Z[F7>>2]|0,S1,N7,g2)|0,(g2|0)!=0&(n2|0)==0){if(!(N[B1+51>>0]|0))Z8(T7,4);if(M2(T7,1),Z7=r6[Z[B1>>2]&3](Z[F7>>2]|0,S1,N7,g2)|0,!Z7)Z8(T7,4);else i2=Z7}else i2=n2;n2=B1+12|0,Z[n2>>2]=(C5?0:0-N7|0)+g2+(Z[n2>>2]|0),Z[H2>>2]=i2,Z[D2>>2]=g2,g2=Z[c2>>2]|0,e8=i2,t2=g2,t1=g2+1|0}else e8=Z[H2>>2]|0,t2=X1,t1=i1;if(Z[c2>>2]=t1,N[e8+t2>>0]=f8,f8=Z[S>>2]|0,t2=Z[f8>>2]|0,Z[f8>>2]=t2+-1,!t2){if(t2=y8[Z[f8+8>>2]&7](Z[f8+16>>2]|0,Z[f8+12>>2]|0,X)|0,e8=Z[X>>2]|0,(t2|0)==0|(e8|0)==0)y2=-1;else Z[f8>>2]=e8+-1,Z[f8+4>>2]=t2+1,y2=G[t2>>0]|0;A2=y2}else y2=f8+4|0,f8=Z[y2>>2]|0,Z[y2>>2]=f8+1,A2=G[f8>>0]|0;return Z[V>>2]=A2,O=314,q=T,O|0}case 532:{Z:do if(!((_|0)==95|(lR(_)|0)!=0)?!((_|0)<0|(_&-128|0)==128):0){switch(_|0){case 30:case 31:break Z;case 41:{M1=-1;break}case 40:{M1=(Z[V+20>>2]|0)>0?1:-1;break}default:M1=0}if(A2=V+20|0,Z[A2>>2]=(Z[A2>>2]|0)+M1,A2=Z[S>>2]|0,f8=Z[A2>>2]|0,Z[A2>>2]=f8+-1,!f8){if(f8=y8[Z[A2+8>>2]&7](Z[A2+16>>2]|0,Z[A2+12>>2]|0,X)|0,y2=Z[X>>2]|0,(f8|0)==0|(y2|0)==0)w1=-1;else Z[A2>>2]=y2+-1,Z[A2+4>>2]=f8+1,w1=G[f8>>0]|0;p7=w1}else f8=A2+4|0,A2=Z[f8>>2]|0,Z[f8>>2]=A2+1,p7=G[A2>>0]|0;return Z[V>>2]=p7,O=_,q=T,O|0}while(0);p7=V+44|0,w1=_;while(!0){if(_=Z[Q>>2]|0,M1=_+4|0,A2=Z[M1>>2]|0,f8=A2+1|0,y2=_+8|0,t2=Z[y2>>2]|0,f8>>>0>t2>>>0){if(t2>>>0>2147483645){K=539;break}if(e8=t2<<1,U1=Z[p7>>2]|0,(e8|0)==-2){K=541;break}if(t1=Z[_>>2]|0,c2=Z[U1+12>>2]|0,i1=(t1|0)==0,X1=c2+4|0,H2=r6[Z[c2>>2]&3](Z[X1>>2]|0,t1,t2,e8)|0,(e8|0)!=0&(H2|0)==0){if(!(N[c2+51>>0]|0)){K=545;break}if(M2(U1,1),g2=r6[Z[c2>>2]&3](Z[X1>>2]|0,t1,t2,e8)|0,!g2){K=545;break}else h7=g2}else h7=H2;H2=c2+12|0,Z[H2>>2]=(i1?0:0-t2|0)+e8+(Z[H2>>2]|0),Z[_>>2]=h7,Z[y2>>2]=e8,e8=Z[M1>>2]|0,U7=h7,E7=e8,k2=e8+1|0}else U7=Z[_>>2]|0,E7=A2,k2=f8;if(Z[M1>>2]=k2,N[U7+E7>>0]=w1,M1=Z[S>>2]|0,f8=Z[M1>>2]|0,Z[M1>>2]=f8+-1,!f8){if(f8=y8[Z[M1+8>>2]&7](Z[M1+16>>2]|0,Z[M1+12>>2]|0,X)|0,A2=Z[X>>2]|0,(f8|0)==0|(A2|0)==0)I1=-1;else Z[M1>>2]=A2+-1,Z[M1+4>>2]=f8+1,I1=G[f8>>0]|0;J1=I1}else f8=M1+4|0,M1=Z[f8>>2]|0,Z[f8>>2]=M1+1,J1=G[M1>>0]|0;if(Z[V>>2]=J1,J1>>>0>127|((iF(J1)|0)!=0|(J1|0)==95)|(J1&-2|0)==30)w1=J1;else{K=553;break}}if((K|0)==539)O5(V,47209,0);else if((K|0)==541)x1(U1);else if((K|0)==545)Z8(U1,4);else if((K|0)==553)if(U1=Z[Q>>2]|0,J1=y4(V,Z[U1>>2]|0,Z[U1+4>>2]|0)|0,Z[$>>2]=J1,(N[J1+4>>0]|0)==4)return U1=N[J1+6>>0]|0,q=T,(U1<<24>>24==0?289:U1&255|256)|0;else return O=289,q=T,O|0;break}case 563:return q=T,O|0}if(U1=Z[Q>>2]|0,J1=U1+4|0,w1=Z[J1>>2]|0,I1=w1+1|0,E7=U1+8|0,U7=Z[E7>>2]|0,I1>>>0>U7>>>0){if(U7>>>0>2147483645)O5(V,47209,0);if(k2=U7<<1,h7=Z[V+44>>2]|0,(k2|0)==-2)x1(h7);if(p7=Z[U1>>2]|0,M1=Z[h7+12>>2]|0,f8=(p7|0)==0,A2=M1+4|0,_=r6[Z[M1>>2]&3](Z[A2>>2]|0,p7,U7,k2)|0,(k2|0)!=0&(_|0)==0){if(!(N[M1+51>>0]|0))Z8(h7,4);if(M2(h7,1),e8=r6[Z[M1>>2]&3](Z[A2>>2]|0,p7,U7,k2)|0,!e8)Z8(h7,4);else O7=e8}else O7=_;_=M1+12|0,Z[_>>2]=(f8?0:0-U7|0)+k2+(Z[_>>2]|0),Z[U1>>2]=O7,Z[E7>>2]=k2,k2=Z[J1>>2]|0,B7=O7,j1=k2,G7=k2+1|0}else B7=Z[U1>>2]|0,j1=w1,G7=I1;if(Z[J1>>2]=G7,N[B7+j1>>0]=P,j1=Z[S>>2]|0,B7=Z[j1>>2]|0,Z[j1>>2]=B7+-1,!B7){if(B7=y8[Z[j1+8>>2]&7](Z[j1+16>>2]|0,Z[j1+12>>2]|0,X)|0,G7=Z[X>>2]|0,(B7|0)==0|(G7|0)==0)M7=-1;else Z[j1>>2]=G7+-1,Z[j1+4>>2]=B7+1,M7=G[B7>>0]|0;m7=M7}else M7=j1+4|0,j1=Z[M7>>2]|0,Z[M7>>2]=j1+1,m7=G[j1>>0]|0;if(Z[V>>2]=m7,!((P|0)!=48|(m7|0)==0)?(W4(47943,m7,3)|0)!=0:0){if(P=Z[Q>>2]|0,j1=P+4|0,M7=Z[j1>>2]|0,B7=M7+1|0,G7=P+8|0,J1=Z[G7>>2]|0,B7>>>0>J1>>>0){if(J1>>>0>2147483645)O5(V,47209,0);if(I1=J1<<1,w1=Z[V+44>>2]|0,(I1|0)==-2)x1(w1);if(U1=Z[P>>2]|0,k2=Z[w1+12>>2]|0,O7=(U1|0)==0,E7=k2+4|0,_=r6[Z[k2>>2]&3](Z[E7>>2]|0,U1,J1,I1)|0,(I1|0)!=0&(_|0)==0){if(!(N[k2+51>>0]|0))Z8(w1,4);if(M2(w1,1),U7=r6[Z[k2>>2]&3](Z[E7>>2]|0,U1,J1,I1)|0,!U7)Z8(w1,4);else s5=U7}else s5=_;_=k2+12|0,Z[_>>2]=(O7?0:0-J1|0)+I1+(Z[_>>2]|0),Z[P>>2]=s5,Z[G7>>2]=I1,I1=Z[j1>>2]|0,J7=s5,F1=I1,z7=I1+1|0}else J7=Z[P>>2]|0,F1=M7,z7=B7;if(Z[j1>>2]=z7,N[J7+F1>>0]=m7,F1=Z[S>>2]|0,J7=Z[F1>>2]|0,Z[F1>>2]=J7+-1,!J7){if(J7=y8[Z[F1+8>>2]&7](Z[F1+16>>2]|0,Z[F1+12>>2]|0,X)|0,z7=Z[X>>2]|0,(J7|0)==0|(z7|0)==0)G5=-1;else Z[F1>>2]=z7+-1,Z[F1+4>>2]=J7+1,G5=G[J7>>0]|0;u7=G5}else G5=F1+4|0,F1=Z[G5>>2]|0,Z[G5>>2]=F1+1,u7=G[F1>>0]|0;Z[V>>2]=u7,r5=u7}else r5=m7;m7=Z[Q>>2]|0,u7=m7+4|0,F1=Z[u7>>2]|0,G5=F1+1|0,J7=m7+8|0,z7=Z[J7>>2]|0,j1=G5>>>0>z7>>>0;Z:do if((r5|0)==46?1:(N[64+(r5+1)>>0]&16)!=0){B7=V+44|0,M7=m7,P=z7,I1=r5,s5=F1,G7=G5,_=J7,J1=j1,O7=u7;while(!0){if(J1){if(P>>>0>2147483645){K=487;break}if(k2=P<<1,g7=Z[B7>>2]|0,(k2|0)==-2){K=489;break}if(U7=Z[M7>>2]|0,w1=Z[g7+12>>2]|0,U1=(U7|0)==0,E7=w1+4|0,f8=r6[Z[w1>>2]&3](Z[E7>>2]|0,U7,P,k2)|0,(k2|0)!=0&(f8|0)==0){if(!(N[w1+51>>0]|0)){K=493;break}if(M2(g7,1),M1=r6[Z[w1>>2]&3](Z[E7>>2]|0,U7,P,k2)|0,!M1){K=493;break}else j5=M1}else j5=f8;f8=w1+12|0,Z[f8>>2]=(U1?0:0-P|0)+k2+(Z[f8>>2]|0),Z[M7>>2]=j5,Z[_>>2]=k2,k2=Z[O7>>2]|0,W9=j5,Z9=k2,A5=k2+1|0}else W9=Z[M7>>2]|0,Z9=s5,A5=G7;if(Z[O7>>2]=A5,N[W9+Z9>>0]=I1,k2=Z[S>>2]|0,f8=Z[k2>>2]|0,Z[k2>>2]=f8+-1,!f8){if(f8=y8[Z[k2+8>>2]&7](Z[k2+16>>2]|0,Z[k2+12>>2]|0,X)|0,U1=Z[X>>2]|0,(f8|0)==0|(U1|0)==0)v7=-1;else Z[k2>>2]=U1+-1,Z[k2+4>>2]=f8+1,v7=G[f8>>0]|0;l7=v7}else f8=k2+4|0,k2=Z[f8>>2]|0,Z[f8>>2]=k2+1,l7=G[k2>>0]|0;if(Z[V>>2]=l7,k2=Z[Q>>2]|0,f8=k2+4|0,U1=Z[f8>>2]|0,w1=U1+1|0,M1=k2+8|0,U7=Z[M1>>2]|0,E7=w1>>>0>U7>>>0,(l7|0)==46?1:(N[64+(l7+1)>>0]&16)!=0)M7=k2,P=U7,I1=l7,s5=U1,G7=w1,_=M1,J1=E7,O7=f8;else{h5=U7,g5=U1,M5=k2,r1=w1,V9=M1,C7=E7,H5=f8;break Z}}if((K|0)==487)O5(V,47209,0);else if((K|0)==489)x1(g7);else if((K|0)==493)Z8(g7,4)}else h5=z7,g5=F1,M5=m7,r1=G5,V9=J7,C7=j1,H5=u7;while(0);if(C7){if(h5>>>0>2147483645)O5(V,47209,0);if(C7=h5<<1,u7=Z[V+44>>2]|0,(C7|0)==-2)x1(u7);if(j1=Z[M5>>2]|0,J7=Z[u7+12>>2]|0,G5=(j1|0)==0,m7=J7+4|0,F1=r6[Z[J7>>2]&3](Z[m7>>2]|0,j1,h5,C7)|0,(C7|0)!=0&(F1|0)==0){if(!(N[J7+51>>0]|0))Z8(u7,4);if(M2(u7,1),z7=r6[Z[J7>>2]&3](Z[m7>>2]|0,j1,h5,C7)|0,!z7)Z8(u7,4);else i5=z7}else i5=F1;F1=J7+12|0,Z[F1>>2]=(G5?0:0-h5|0)+C7+(Z[F1>>2]|0),Z[M5>>2]=i5,Z[V9>>2]=C7,C7=Z[H5>>2]|0,A7=i5,L7=C7,X7=C7+1|0}else A7=Z[M5>>2]|0,L7=g5,X7=r1;if(Z[H5>>2]=X7,N[A7+L7>>0]=0,L7=V+68|0,A7=N[L7>>0]|0,X7=Z[Q>>2]|0,H5=Z[X7>>2]|0,r1=Z[X7+4>>2]|0,!r1)N9=H5,U9=-1;else{X7=r1;do if(X7=X7+-1|0,r1=H5+X7|0,(N[r1>>0]|0)==46)N[r1>>0]=A7;while((X7|0)!=0);X7=Z[Q>>2]|0,N9=Z[X7>>2]|0,U9=(Z[X7+4>>2]|0)+-1|0}if(L9(N9,U9,$)|0)return O=288,q=T,O|0;if(U9=N[L7>>0]|0,N9=N[Z[(tF()|0)>>2]>>0]|0,N[L7>>0]=N9,X7=Z[Q>>2]|0,A7=Z[X7>>2]|0,H5=Z[X7+4>>2]|0,!H5)L5=A7,z9=-1;else{X7=H5;do if(X7=X7+-1|0,H5=A7+X7|0,(N[H5>>0]|0)==U9<<24>>24)N[H5>>0]=N9;while((X7|0)!=0);X7=Z[Q>>2]|0,L5=Z[X7>>2]|0,z9=(Z[X7+4>>2]|0)+-1|0}if(L9(L5,z9,$)|0)return O=288,q=T,O|0;if(O=N[L7>>0]|0,L7=Z[Q>>2]|0,Q=Z[L7>>2]|0,T=Z[L7+4>>2]|0,!T)O5(V,47946,288);L7=T;do if(L7=L7+-1|0,T=Q+L7|0,(N[T>>0]|0)==O<<24>>24)N[T>>0]=46;while((L7|0)!=0);return O5(V,47946,288),0}function U$(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0,j8=0,C6=0,o6=0,u6=0,p8=0,i8=0,q8=0,m8=0,l8=0,w8=0,U2=0,K8=0,A8=0,t8=0,_2=0,Y2=0,Q2=0,F2=0,w2=0,G2=0,K2=0,Z2=0,o2=0,u8=0,L2=0,N2=0,u2=0,Z1=0,I2=0,j2=0,Q1=0,p2=0,r2=0,W1=0,x2=0,a2=0,E2=0,d2=0,b2=0,P2=0,V1=0,X2=0,$1=0,P1=0,v2=0,T1=0,_1=0,l2=0,c1=0;if($=q,q=q+96|0,T=$,X=$+72|0,Y=$+56|0,Q=$+32|0,W=$+16|0,U=V+4|0,S=Z[U>>2]|0,Z[8697]=S,J=V+40|0,_=Z[J>>2]|0,K=V+44|0,P=Z[K>>2]|0,O=P+38|0,L=(j[O>>1]|0)+1<<16>>16,j[O>>1]=L,(L&65535)>200)JV(_,200,47316);L=V+24|0;do switch(Z[L>>2]|0){case 59:{if(Z[V+16>>2]=S,O=V+32|0,(Z[O>>2]|0)==287){Z[L>>2]=R2(V,V+28|0)|0,F=Z[J>>2]|0,z=F+46|0,H=N[z>>0]|0,C=F+48|0,N[C>>0]=H,A=Z[K>>2]|0,y=A+38|0,k=j[y>>1]|0,m=k+-1<<16>>16,j[y>>1]=m,q=$;return}else{I=O,u=Z[I+4>>2]|0,g=V+24|0,Z[g>>2]=Z[I>>2],Z[g+4>>2]=u,Z[O>>2]=287,F=Z[J>>2]|0,z=F+46|0,H=N[z>>0]|0,C=F+48|0,N[C>>0]=H,A=Z[K>>2]|0,y=A+38|0,k=j[y>>1]|0,m=k+-1<<16>>16,j[y>>1]=m,q=$;return}break}case 291:{if(O=V+28|0,Z[O>>2]=y9(P,78703,5)|0,Z[L>>2]=289,SN(V,X),y7(_,X),((Z[X>>2]|0)==6?(u=Z[X+4>>2]|0,(u&256|0)==0):0)?(u|0)>=(G[_+46>>0]|0):0)u=_+48|0,N[u>>0]=(N[u>>0]|0)+-1<<24>>24;u=_+48|0,g=N[u>>0]|0,I=(g&255)+1|0,i=(Z[_>>2]|0)+78|0;do if((g&255)>=(G[i>>0]|0))if((g&255)>248)$2(Z[_+12>>2]|0,47325);else{t=I&255,N[i>>0]=t,Y0=t;break}else Y0=I&255;while(0);N[u>>0]=Y0,n5(_,X,(Y0&255)+-1|0);Z:do switch(Z[L>>2]|0){case 287:case 292:{Z[Y>>2]=0;break}default:{u5(V,Y,0)|0;V:do if((Z[L>>2]|0)==44){I=V+16|0,i=V+32|0,g=V+24|0,t=Y+4|0;while(!0){if(Z[I>>2]=Z[U>>2],(Z[i>>2]|0)==287)Z[L>>2]=R2(V,O)|0;else X0=i,T0=Z[X0+4>>2]|0,Z0=g,Z[Z0>>2]=Z[X0>>2],Z[Z0+4>>2]=T0,Z[i>>2]=287;if(W0=Z[J>>2]|0,y7(W0,Y),((Z[Y>>2]|0)==6?(T0=Z[t>>2]|0,(T0&256|0)==0):0)?(T0|0)>=(G[W0+46>>0]|0):0)T0=W0+48|0,N[T0>>0]=(N[T0>>0]|0)+-1<<24>>24;if(T0=W0+48|0,Z0=N[T0>>0]|0,X0=(Z0&255)+1|0,O0=(Z[W0>>2]|0)+78|0,(Z0&255)<(G[O0>>0]|0))y0=X0&255;else{if((Z0&255)>248)break;Z0=X0&255,N[O0>>0]=Z0,y0=Z0}if(N[T0>>0]=y0,n5(W0,Y,(y0&255)+-1|0),u5(V,Y,0)|0,(Z[L>>2]|0)!=44){E0=Y;break V}}$2(Z[W0+12>>2]|0,47325)}else E0=Y;while(0);switch(Z[E0>>2]|0){case 12:{t=(Z[(Z[_>>2]|0)+12>>2]|0)+(Z[Y+4>>2]<<2)|0,Z[t>>2]=Z[t>>2]&-8372225;break Z}case 13:break;default:break Z}t=Z[_>>2]|0,i=Z[t+12>>2]|0,g=Y+4|0,I=i+(Z[g>>2]<<2)|0,Z[I>>2]=Z[I>>2]&8388607,I=i+(Z[g>>2]<<2)|0,g=N[u>>0]|0,i=g&255,Z[I>>2]=i<<6|Z[I>>2]&-16321,I=i+1|0,i=t+78|0;do if((g&255)>=(G[i>>0]|0))if((g&255)>248)$2(Z[_+12>>2]|0,47325);else{t=I&255,N[i>>0]=t,H0=t;break}else H0=I&255;while(0);N[u>>0]=H0}}while(0);do if((Z[L>>2]|0)==287)if(Z[V+16>>2]=Z[U>>2],I=V+32|0,(Z[I>>2]|0)==287){Z[L>>2]=R2(V,O)|0;break}else{i=I,g=Z[i+4>>2]|0,t=V+24|0,Z[t>>2]=Z[i>>2],Z[t+4>>2]=g,Z[I>>2]=287;break}else w4(V,292,63,S);while(0);switch(O=Z[X+4>>2]|0,Z[Y>>2]|0){case 13:case 12:{D0=0;break}case 0:{_0=59;break}default:{if(y7(_,Y),((Z[Y>>2]|0)==6?(I=Z[Y+4>>2]|0,(I&256|0)==0):0)?(I|0)>=(G[_+46>>0]|0):0)I=(N[u>>0]|0)+-1<<24>>24,N[u>>0]=I,F0=I;else F0=N[u>>0]|0;I=(F0&255)+1|0,g=(Z[_>>2]|0)+78|0;do if((F0&255)>=(G[g>>0]|0))if((F0&255)>248)$2(Z[_+12>>2]|0,47325);else{t=I&255,N[g>>0]=t,k0=t;break}else k0=I&255;while(0);N[u>>0]=k0,n5(_,Y,(k0&255)+-1|0),_0=59}}if((_0|0)==59)D0=((O^511)+(G[u>>0]|0)<<23)+8388608|0;s2(_,O<<6|D0|32810)|0,Z[(Z[(Z[_>>2]|0)+20>>2]|0)+((Z[_+20>>2]|0)+-1<<2)>>2]=S,N[u>>0]=N[_+46>>0]|0,F=Z[J>>2]|0,z=F+46|0,H=N[z>>0]|0,C=F+48|0,N[C>>0]=H,A=Z[K>>2]|0,y=A+38|0,k=j[y>>1]|0,m=k+-1<<16>>16,j[y>>1]=m,q=$;return}case 267:{Z[Y>>2]=-1,I=aS(V,Y)|0;Z:while(!0){switch(Z[L>>2]|0){case 260:{_0=64;break Z}case 261:break;default:break Z}aS(V,Y)|0}if((_0|0)==64){if(Z[V+16>>2]=Z[U>>2],u=V+32|0,(Z[u>>2]|0)==287)O=R2(V,V+28|0)|0,Z[L>>2]=O,m0=O;else O=u,g=Z[O>>2]|0,t=Z[O+4>>2]|0,O=V+24|0,Z[O>>2]=g,Z[O+4>>2]=t,Z[u>>2]=287,m0=g;g=Z[J>>2]|0,N[X+10>>0]=0,N[X+8>>0]=N[g+46>>0]|0,u=Z[(Z[g+12>>2]|0)+56>>2]|0,j[X+4>>1]=Z[u+28>>2],j[X+6>>1]=Z[u+16>>2],N[X+9>>0]=0,u=g+16|0,Z[X>>2]=Z[u>>2],Z[u>>2]=X,u=m0;Z:while(!0){switch(u|0){case 277:case 292:case 287:case 262:case 261:case 260:break Z;default:}if(U$(V),(u|0)==274)break;u=Z[L>>2]|0}BZ(g)}Z:do if(!I)w4(V,262,267,S);else switch(Z[L>>2]|0){case 287:case 292:{if(Z[V+16>>2]=Z[U>>2],u=V+32|0,(Z[u>>2]|0)==287){Z[L>>2]=R2(V,V+28|0)|0;break Z}else{t=u,O=Z[t+4>>2]|0,i=V+24|0,Z[i>>2]=Z[t>>2],Z[i+4>>2]=O,Z[u>>2]=287;break Z}break}case 277:case 262:case 261:case 260:{Z[V+12>>2]=0;break Z}default:{w4(V,292,267,S);break Z}}while(0);I=Z[Y>>2]|0,Z[_+24>>2]=Z[_+20>>2],g=_+28|0;do if((I|0)!=-1){if(u=Z[g>>2]|0,(u|0)==-1){Z[g>>2]=I;break}O=Z[(Z[_>>2]|0)+12>>2]|0,i=u;while(!0)if(B0=O+(i<<2)|0,g0=Z[B0>>2]|0,u=(g0>>>14)+-131071|0,t=(u|0)==-1?-1:i+1+u|0,(t|0)==-1)break;else i=t;if(O=I+~i|0,(((O|0)>-1?O:0-O|0)|0)>131071)$2(Z[_+12>>2]|0,46981);else{Z[B0>>2]=(O<<14)+2147467264|g0&16383;break}}while(0);F=Z[J>>2]|0,z=F+46|0,H=N[z>>0]|0,C=F+48|0,N[C>>0]=H,A=Z[K>>2]|0,y=A+38|0,k=j[y>>1]|0,m=k+-1<<16>>16,j[y>>1]=m,q=$;return}case 278:{if(I=V+16|0,Z[I>>2]=S,g=V+32|0,(Z[g>>2]|0)==287)O=R2(V,V+28|0)|0,Z[L>>2]=O,o0=O;else O=g,t=Z[O>>2]|0,u=Z[O+4>>2]|0,O=V+24|0,Z[O>>2]=t,Z[O+4>>2]=u,Z[g>>2]=287,o0=t;if(t=V+20|0,Z[t>>2]=(o0|0)==40?1:-1,u=_+20|0,O=Z[u>>2]|0,T0=_+24|0,Z[T0>>2]=O,u5(V,X,0)|0,(Z[X>>2]|0)==1)Z[X>>2]=3;switch(bY(Z[J>>2]|0,X),Z0=Z[X+12>>2]|0,N[Y+10>>0]=1,N[Y+8>>0]=N[_+46>>0]|0,O0=_+12|0,X0=Z[(Z[O0>>2]|0)+56>>2]|0,j[Y+4>>1]=Z[X0+28>>2],j[Y+6>>1]=Z[X0+16>>2],N[Y+9>>0]=0,X0=_+16|0,Z[Y>>2]=Z[X0>>2],Z[X0>>2]=Y,X0=Z[L>>2]|0,X0|0){case 259:{_0=100;break}case 287:{c7(V,259);break}default:_0=95}do if((_0|0)==95){if((Z[t>>2]|0)==0?(Z[U>>2]|0)==(S|0):0){Z[V+12>>2]=1,h0=1;break}if((X0|0)==259)_0=100;else c7(V,259)}while(0);do if((_0|0)==100)if(Z[I>>2]=Z[U>>2],(Z[g>>2]|0)==287){Z[L>>2]=R2(V,V+28|0)|0,h0=0;break}else{X0=g,t=Z[X0+4>>2]|0,C0=V+24|0,Z[C0>>2]=Z[X0>>2],Z[C0+4>>2]=t,Z[g>>2]=287,h0=0;break}while(0);oW(V),t=_+28|0,C0=Z[t>>2]|0,Z[t>>2]=-1,X0=s2(_,2147450916)|0;do if((C0|0)!=-1)if((X0|0)!=-1){u0=Z[(Z[_>>2]|0)+12>>2]|0,p0=X0;while(!0)if(q0=u0+(p0<<2)|0,i0=Z[q0>>2]|0,t0=(i0>>>14)+-131071|0,E6=(t0|0)==-1?-1:p0+1+t0|0,(E6|0)==-1)break;else p0=E6;if(u0=C0+~p0|0,(((u0|0)>-1?u0:0-u0|0)|0)>131071)$2(Z[O0>>2]|0,46981);else{Z[q0>>2]=(u0<<14)+2147467264|i0&16383,V6=X0;break}}else V6=C0;else V6=X0;while(0);TY(_,V6,O);Z:do if(h0)switch(Z[L>>2]|0){case 287:case 292:{if(Z[I>>2]=Z[U>>2],(Z[g>>2]|0)==287){Z[L>>2]=R2(V,V+28|0)|0;break Z}else{X0=g,C0=Z[X0+4>>2]|0,u0=V+24|0,Z[u0>>2]=Z[X0>>2],Z[u0+4>>2]=C0,Z[g>>2]=287;break Z}break}case 277:case 262:case 261:case 260:{Z[V+12>>2]=0;break Z}default:{w4(V,292,278,S);break Z}}else w4(V,262,278,S);while(0);BZ(_),Z[T0>>2]=Z[u>>2];do if((Z0|0)!=-1){if(g=Z[t>>2]|0,(g|0)==-1){Z[t>>2]=Z0;break}I=Z[(Z[_>>2]|0)+12>>2]|0,O=g;while(!0)if(n0=I+(O<<2)|0,e0=Z[n0>>2]|0,g=(e0>>>14)+-131071|0,C0=(g|0)==-1?-1:O+1+g|0,(C0|0)==-1)break;else O=C0;if(I=Z0+~O|0,(((I|0)>-1?I:0-I|0)|0)>131071)$2(Z[O0>>2]|0,46981);else{Z[n0>>2]=(I<<14)+2147467264|e0&16383;break}}while(0);F=Z[J>>2]|0,z=F+46|0,H=N[z>>0]|0,C=F+48|0,N[C>>0]=H,A=Z[K>>2]|0,y=A+38|0,k=j[y>>1]|0,m=k+-1<<16>>16,j[y>>1]=m,q=$;return}case 259:{if(Z[V+16>>2]=S,O0=V+32|0,(Z[O0>>2]|0)==287)Z[L>>2]=R2(V,V+28|0)|0;else Z0=O0,t=Z[Z0+4>>2]|0,u=V+24|0,Z[u>>2]=Z[Z0>>2],Z[u+4>>2]=t,Z[O0>>2]=287;oW(V),w4(V,262,259,S),F=Z[J>>2]|0,z=F+46|0,H=N[z>>0]|0,C=F+48|0,N[C>>0]=H,A=Z[K>>2]|0,y=A+38|0,k=j[y>>1]|0,m=k+-1<<16>>16,j[y>>1]=m,q=$;return}case 264:{if(N[Y+10>>0]=1,N[Y+8>>0]=N[_+46>>0]|0,O0=Z[(Z[_+12>>2]|0)+56>>2]|0,j[Y+4>>1]=Z[O0+28>>2],j[Y+6>>1]=Z[O0+16>>2],N[Y+9>>0]=0,O0=_+16|0,Z[Y>>2]=Z[O0>>2],Z[O0>>2]=Y,O0=V+16|0,Z[O0>>2]=S,t=V+32|0,(Z[t>>2]|0)==287)u=R2(V,V+28|0)|0,Z[L>>2]=u,Z6=u;else u=t,Z0=Z[u>>2]|0,T0=Z[u+4>>2]|0,u=V+24|0,Z[u>>2]=Z0,Z[u+4>>2]=T0,Z[t>>2]=287,Z6=Z0;if((Z6|0)!=289)c7(V,289);if(Z0=V+28|0,T0=Z[Z0>>2]|0,Z[O0>>2]=Z[U>>2],(Z[t>>2]|0)==287)u=R2(V,Z0)|0,Z[L>>2]=u,U6=u;else u=t,I=Z[u>>2]|0,p0=Z[u+4>>2]|0,u=V+24|0,Z[u>>2]=I,Z[u+4>>2]=p0,Z[t>>2]=287,U6=I;switch(U6|0){case 61:{if(I=Z[J>>2]|0,p0=I+48|0,u=G[p0>>0]|0,i3(V,y4(V,47360,11)|0),i3(V,y4(V,47372,11)|0),i3(V,y4(V,47384,10)|0),i3(V,T0),(Z[L>>2]|0)!=61)c7(V,61);if(Z[O0>>2]=Z[U>>2],(Z[t>>2]|0)==287)Z[L>>2]=R2(V,Z0)|0;else C0=t,g=Z[C0+4>>2]|0,u0=V+24|0,Z[u0>>2]=Z[C0>>2],Z[u0+4>>2]=g,Z[t>>2]=287;if(nW(V),(Z[L>>2]|0)!=44)c7(V,44);if(Z[O0>>2]=Z[U>>2],(Z[t>>2]|0)==287)Z[L>>2]=R2(V,Z0)|0;else g=t,u0=Z[g+4>>2]|0,C0=V+24|0,Z[C0>>2]=Z[g>>2],Z[C0+4>>2]=u0,Z[t>>2]=287;if(nW(V),(Z[L>>2]|0)==44){if(Z[O0>>2]=Z[U>>2],(Z[t>>2]|0)==287)Z[L>>2]=R2(V,Z0)|0;else u0=t,C0=Z[u0+4>>2]|0,g=V+24|0,Z[g>>2]=Z[u0>>2],Z[g+4>>2]=C0,Z[t>>2]=287;nW(V)}else{if(C0=G[p0>>0]|0,g=I+12|0,Z[X>>2]=65536,Z[X+4>>2]=3,u0=w3(I,X,X)|0,X0=C0<<6,(u0|0)<262144)s2(I,X0|u0<<14|1)|0;else s2(I,X0|2)|0,s2(I,u0<<6|52)|0;u0=N[p0>>0]|0,X0=(u0&255)+1|0,C0=(Z[I>>2]|0)+78|0;do if((u0&255)>=(G[C0>>0]|0))if((u0&255)>248)$2(Z[g>>2]|0,47325);else{I=X0&255,N[C0>>0]=I,N6=I;break}else N6=X0&255;while(0);N[p0>>0]=N6}VS(V,u,S,1,1);break}case 268:case 44:{X0=Z[J>>2]|0,C0=X0+48|0,g=G[C0>>0]|0,i3(V,y4(V,47395,15)|0),i3(V,y4(V,47411,11)|0),i3(V,y4(V,47423,13)|0),i3(V,T0),u0=Z[L>>2]|0;do if((u0|0)==44){I=V+24|0,i=4;while(!0){if(Z[O0>>2]=Z[U>>2],(Z[t>>2]|0)==287)E6=R2(V,Z0)|0,Z[L>>2]=E6,A6=E6;else E6=t,t0=Z[E6>>2]|0,S6=Z[E6+4>>2]|0,E6=I,Z[E6>>2]=t0,Z[E6+4>>2]=S6,Z[t>>2]=287,A6=t0;if((A6|0)!=289){_0=171;break}if(t0=Z[Z0>>2]|0,Z[O0>>2]=Z[U>>2],(Z[t>>2]|0)==287)Z[L>>2]=R2(V,Z0)|0;else S6=t,E6=Z[S6+4>>2]|0,H6=I,Z[H6>>2]=Z[S6>>2],Z[H6+4>>2]=E6,Z[t>>2]=287;if(i3(V,t0),M6=Z[L>>2]|0,(M6|0)==44)i=i+1|0;else{_0=176;break}}if((_0|0)==171)c7(V,289);else if((_0|0)==176){F6=M6,J6=i+-2|0;break}}else F6=u0,J6=1;while(0);if((F6|0)!=268)c7(V,268);if(u0=Z[U>>2]|0,Z[O0>>2]=u0,(Z[t>>2]|0)==287)Z[L>>2]=R2(V,Z0)|0,L6=Z[U>>2]|0;else T0=t,u=Z[T0+4>>2]|0,p0=V+24|0,Z[p0>>2]=Z[T0>>2],Z[p0+4>>2]=u,Z[t>>2]=287,L6=u0;u5(V,X,0)|0;Z:do if((Z[L>>2]|0)==44){u0=V+24|0,u=X+4|0,p0=1;while(!0){if(Z[O0>>2]=Z[U>>2],(Z[t>>2]|0)==287)Z[L>>2]=R2(V,Z0)|0;else T0=t,I=Z[T0+4>>2]|0,O=u0,Z[O>>2]=Z[T0>>2],Z[O+4>>2]=I,Z[t>>2]=287;if(c0=Z[J>>2]|0,y7(c0,X),((Z[X>>2]|0)==6?(I=Z[u>>2]|0,(I&256|0)==0):0)?(I|0)>=(G[c0+46>>0]|0):0)I=c0+48|0,N[I>>0]=(N[I>>0]|0)+-1<<24>>24;if(I=c0+48|0,O=N[I>>0]|0,T0=(O&255)+1|0,t0=(Z[c0>>2]|0)+78|0,(O&255)<(G[t0>>0]|0))T6=T0&255;else{if((O&255)>248)break;O=T0&255,N[t0>>0]=O,T6=O}if(N[I>>0]=T6,n5(c0,X,(T6&255)+-1|0),u5(V,X,0)|0,I=p0+1|0,(Z[L>>2]|0)==44)p0=I;else{W6=I;break Z}}$2(Z[c0+12>>2]|0,47325)}else W6=1;while(0);rW(Z[J>>2]|0,3,W6,X),t=(G[C0>>0]|0)+3|0,Z0=(Z[X0>>2]|0)+78|0;do if(t>>>0>(G[Z0>>0]|0)>>>0)if(t>>>0>249)$2(Z[X0+12>>2]|0,47325);else{N[Z0>>0]=t;break}while(0);VS(V,g,L6,J6,0);break}default:$2(V,47437)}w4(V,262,264,S),BZ(_),F=Z[J>>2]|0,z=F+46|0,H=N[z>>0]|0,C=F+48|0,N[C>>0]=H,A=Z[K>>2]|0,y=A+38|0,k=j[y>>1]|0,m=k+-1<<16>>16,j[y>>1]=m,q=$;return}case 273:{if(t=Z[_+20>>2]|0,Z[_+24>>2]=t,N[Y+10>>0]=1,Z0=N[_+46>>0]|0,N[Y+8>>0]=Z0,X0=Z[(Z[_+12>>2]|0)+56>>2]|0,C0=Z[X0+28>>2]&65535,j[Y+4>>1]=C0,O0=Z[X0+16>>2]&65535,j[Y+6>>1]=O0,N[Y+9>>0]=0,X0=_+16|0,Z[Y>>2]=Z[X0>>2],N[Q+10>>0]=0,p0=Q+8|0,N[p0>>0]=Z0,j[Q+4>>1]=C0,j[Q+6>>1]=O0,O0=Q+9|0,N[O0>>0]=0,Z[Q>>2]=Y,Z[X0>>2]=Q,Z[V+16>>2]=S,X0=V+32|0,(Z[X0>>2]|0)==287)C0=R2(V,V+28|0)|0,Z[L>>2]=C0,h6=C0;else C0=X0,Z0=Z[C0>>2]|0,u=Z[C0+4>>2]|0,C0=V+24|0,Z[C0>>2]=Z0,Z[C0+4>>2]=u,Z[X0>>2]=287,h6=Z0;Z0=h6;Z:while(!0){switch(Z0|0){case 277:case 292:case 287:case 262:case 261:case 260:break Z;default:}if(U$(V),(Z0|0)==274)break;Z0=Z[L>>2]|0}if(w4(V,277,273,S),u5(V,X,0)|0,(Z[X>>2]|0)==1)Z[X>>2]=3;if(bY(Z[J>>2]|0,X),Z0=Z[X+12>>2]|0,!((Z0|0)==-1|(N[O0>>0]|0)==0)){g=Z[(Z[_>>2]|0)+12>>2]|0,X0=(G[p0>>0]<<6)+64&16320,u=Z0;do C0=g+(u<<2)|0,u0=Z[C0>>2]|0,i=(u0>>>14)+-131071|0,Z[C0>>2]=u0&-16321|X0,u=(i|0)==-1?-1:u+1+i|0;while((u|0)!=-1)}BZ(_),TY(_,Z0,t),BZ(_),F=Z[J>>2]|0,z=F+46|0,H=N[z>>0]|0,C=F+48|0,N[C>>0]=H,A=Z[K>>2]|0,y=A+38|0,k=j[y>>1]|0,m=k+-1<<16>>16,j[y>>1]=m,q=$;return}case 265:{if(u=V+16|0,Z[u>>2]=S,X0=V+32|0,(Z[X0>>2]|0)==287)g=V+28|0,Z[L>>2]=R2(V,g)|0,s6=V+24|0,p6=X0,G6=g;else g=V+24|0,p0=X0,O0=Z[p0+4>>2]|0,i=g,Z[i>>2]=Z[p0>>2],Z[i+4>>2]=O0,Z[X0>>2]=287,s6=g,p6=X0,G6=V+28|0;SN(V,Q),g=Q+8|0,O0=Q+12|0,i=X+4|0,p0=Y+8|0,u0=Y+12|0,C0=Y+4|0,I=Q+4|0,O=I+2|0,t0=I+3|0;Z:while(!0){switch(Z[L>>2]|0){case 58:{_0=234;break Z}case 46:break;default:{w6=0;break Z}}if(T0=Z[J>>2]|0,!((Z[Q>>2]|0)==8?(Z[g>>2]|0)==(Z[O0>>2]|0):0))f9(T0,Q)|0;if(Z[u>>2]=Z[U>>2],(Z[X0>>2]|0)==287)E6=R2(V,G6)|0,Z[L>>2]=E6,B6=E6;else E6=p6,H6=Z[E6>>2]|0,S6=Z[E6+4>>2]|0,E6=s6,Z[E6>>2]=H6,Z[E6+4>>2]=S6,Z[X0>>2]=287,B6=H6;if((B6|0)!=289){_0=229;break}if(H6=Z[G6>>2]|0,Z[u>>2]=Z[U>>2],(Z[X0>>2]|0)==287)Z[L>>2]=R2(V,G6)|0;else S6=p6,E6=Z[S6+4>>2]|0,i6=s6,Z[i6>>2]=Z[S6>>2],Z[i6+4>>2]=E6,Z[X0>>2]=287;E6=Z[J>>2]|0,Z[X>>2]=H6,Z[i>>2]=(N[H6+4>>0]|64)&255,H6=w3(E6,X,X)|0,Z[p0>>2]=-1,Z[u0>>2]=-1,Z[Y>>2]=4,Z[C0>>2]=H6,N[O>>0]=Z[I>>2],j[I>>1]=X3(T0,Y)|0,N[t0>>0]=(Z[Q>>2]|0)==8?8:7,Z[Q>>2]=9}if((_0|0)==229)c7(V,289);if((_0|0)==234){if(C0=Z[J>>2]|0,!((Z[Q>>2]|0)==8?(Z[g>>2]|0)==(Z[O0>>2]|0):0))f9(C0,Q)|0;if(Z[u>>2]=Z[U>>2],(Z[X0>>2]|0)==287)u0=R2(V,G6)|0,Z[L>>2]=u0,H8=u0;else u0=p6,p0=Z[u0>>2]|0,i=Z[u0+4>>2]|0,u0=s6,Z[u0>>2]=p0,Z[u0+4>>2]=i,Z[X0>>2]=287,H8=p0;if((H8|0)!=289)c7(V,289);if(p0=Z[G6>>2]|0,Z[u>>2]=Z[U>>2],(Z[X0>>2]|0)==287)Z[L>>2]=R2(V,G6)|0;else i=p6,u0=Z[i+4>>2]|0,t=s6,Z[t>>2]=Z[i>>2],Z[t+4>>2]=u0,Z[X0>>2]=287;u0=Z[J>>2]|0,Z[X>>2]=p0,Z[X+4>>2]=(N[p0+4>>0]|64)&255,p0=w3(u0,X,X)|0,Z[Y+8>>2]=-1,Z[Y+12>>2]=-1,Z[Y>>2]=4,Z[Y+4>>2]=p0,N[O>>0]=Z[I>>2],j[I>>1]=X3(C0,Y)|0,N[t0>>0]=(Z[Q>>2]|0)==8?8:7,Z[Q>>2]=9,w6=1}hW(V,W,w6,S),eY(Z[J>>2]|0,Q,W),C0=Z[J>>2]|0,Z[(Z[(Z[C0>>2]|0)+20>>2]|0)+((Z[C0+20>>2]|0)+-1<<2)>>2]=S,F=Z[J>>2]|0,z=F+46|0,H=N[z>>0]|0,C=F+48|0,N[C>>0]=H,A=Z[K>>2]|0,y=A+38|0,k=j[y>>1]|0,m=k+-1<<16>>16,j[y>>1]=m,q=$;return}case 269:{if(C0=V+16|0,Z[C0>>2]=S,p0=V+32|0,(Z[p0>>2]|0)==287)u0=R2(V,V+28|0)|0,Z[L>>2]=u0,m6=u0;else u0=p0,t=Z[u0>>2]|0,i=Z[u0+4>>2]|0,u0=V+24|0,Z[u0>>2]=t,Z[u0+4>>2]=i,Z[p0>>2]=287,m6=t;if((m6|0)==265){if(Z[C0>>2]=Z[U>>2],(Z[p0>>2]|0)==287)t=R2(V,V+28|0)|0,Z[L>>2]=t,_8=t;else t=p0,i=Z[t>>2]|0,u0=Z[t+4>>2]|0,t=V+24|0,Z[t>>2]=i,Z[t+4>>2]=u0,Z[p0>>2]=287,_8=i;if(i=Z[J>>2]|0,(_8|0)!=289)c7(V,289);if(u0=V+28|0,t=Z[u0>>2]|0,Z[C0>>2]=Z[U>>2],(Z[p0>>2]|0)==287)Z[L>>2]=R2(V,u0)|0;else u0=p0,Z0=Z[u0+4>>2]|0,T0=V+24|0,Z[T0>>2]=Z[u0>>2],Z[T0+4>>2]=Z0,Z[p0>>2]=287;i3(V,t),t=Z[J>>2]|0,Z0=t+46|0,T0=N[Z0>>0]|0,N[Z0>>0]=(T0&255)+1,Z[(Z[(Z[t>>2]|0)+24>>2]|0)+((j[(Z[Z[(Z[t+12>>2]|0)+56>>2]>>2]|0)+((Z[t+40>>2]|0)+(T0+1&255)+-1<<1)>>1]|0)*12|0)+4>>2]=Z[t+20>>2],hW(V,X,0,Z[U>>2]|0),Z[(Z[(Z[i>>2]|0)+24>>2]|0)+((j[(Z[Z[(Z[i+12>>2]|0)+56>>2]>>2]|0)+((Z[i+40>>2]|0)+(Z[X+4>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=Z[i+20>>2],F=Z[J>>2]|0,z=F+46|0,H=N[z>>0]|0,C=F+48|0,N[C>>0]=H,A=Z[K>>2]|0,y=A+38|0,k=j[y>>1]|0,m=k+-1<<16>>16,j[y>>1]=m,q=$;return}if((m6|0)!=289)c7(V,289);i=V+28|0,t=V+24|0,T0=0;Z:while(!0){if(Z0=Z[i>>2]|0,Z[C0>>2]=Z[U>>2],(Z[p0>>2]|0)==287)Z[L>>2]=R2(V,i)|0;else u0=p0,H6=Z[u0+4>>2]|0,E6=t,Z[E6>>2]=Z[u0>>2],Z[E6+4>>2]=H6,Z[p0>>2]=287;switch(i3(V,Z0),T0=T0+1|0,Z[L>>2]|0){case 61:{_0=271;break Z}case 44:break;default:{_0=289;break Z}}if(Z[C0>>2]=Z[U>>2],(Z[p0>>2]|0)==287)Z0=R2(V,i)|0,Z[L>>2]=Z0,v8=Z0;else Z0=p0,H6=Z[Z0>>2]|0,E6=Z[Z0+4>>2]|0,Z0=t,Z[Z0>>2]=H6,Z[Z0+4>>2]=E6,Z[p0>>2]=287,v8=H6;if((v8|0)!=289){_0=262;break}}Z:do if((_0|0)==262)c7(V,289);else if((_0|0)==271){if(Z[C0>>2]=Z[U>>2],(Z[p0>>2]|0)==287)Z[L>>2]=R2(V,i)|0;else t0=p0,I=Z[t0+4>>2]|0,O=t,Z[O>>2]=Z[t0>>2],Z[O+4>>2]=I,Z[p0>>2]=287;if(u5(V,X,0)|0,(Z[L>>2]|0)==44){I=X+4|0,O=1;while(!0){if(Z[C0>>2]=Z[U>>2],(Z[p0>>2]|0)==287)Z[L>>2]=R2(V,i)|0;else t0=p0,X0=Z[t0+4>>2]|0,u=t,Z[u>>2]=Z[t0>>2],Z[u+4>>2]=X0,Z[p0>>2]=287;if(Y8=Z[J>>2]|0,y7(Y8,X),((Z[X>>2]|0)==6?(X0=Z[I>>2]|0,(X0&256|0)==0):0)?(X0|0)>=(G[Y8+46>>0]|0):0)X0=Y8+48|0,N[X0>>0]=(N[X0>>0]|0)+-1<<24>>24;if(X0=Y8+48|0,u=N[X0>>0]|0,t0=(u&255)+1|0,O0=(Z[Y8>>2]|0)+78|0,(u&255)<(G[O0>>0]|0))T8=t0&255;else{if((u&255)>248)break;u=t0&255,N[O0>>0]=u,T8=u}if(N[X0>>0]=T8,n5(Y8,X,(T8&255)+-1|0),u5(V,X,0)|0,X0=O+1|0,(Z[L>>2]|0)==44)O=X0;else{C8=X0;break Z}}$2(Z[Y8+12>>2]|0,47325)}else C8=1}else if((_0|0)==289)Z[X>>2]=0,C8=0;while(0);rW(Z[J>>2]|0,T0,C8,X),p0=Z[J>>2]|0,t=p0+46|0,i=T0+(G[t>>0]|0)|0,N[t>>0]=i,t=Z[p0+20>>2]|0,C0=Z[(Z[p0>>2]|0)+24>>2]|0,O=Z[Z[(Z[p0+12>>2]|0)+56>>2]>>2]|0,I=(Z[p0+40>>2]|0)+(i&255)|0,i=T0;do Z[C0+((j[O+(I-i<<1)>>1]|0)*12|0)+4>>2]=t,i=i+-1|0;while((i|0)!=0);F=Z[J>>2]|0,z=F+46|0,H=N[z>>0]|0,C=F+48|0,N[C>>0]=H,A=Z[K>>2]|0,y=A+38|0,k=j[y>>1]|0,m=k+-1<<16>>16,j[y>>1]=m,q=$;return}case 286:{if(i=V+16|0,Z[i>>2]=S,t=V+32|0,(Z[t>>2]|0)==287)I=R2(V,V+28|0)|0,Z[L>>2]=I,j8=I;else I=t,O=Z[I>>2]|0,C0=Z[I+4>>2]|0,I=V+24|0,Z[I>>2]=O,Z[I+4>>2]=C0,Z[t>>2]=287,j8=O;if((j8|0)!=289)c7(V,289);if(O=V+28|0,C0=Z[O>>2]|0,Z[i>>2]=Z[U>>2],(Z[t>>2]|0)==287)I=R2(V,O)|0,Z[L>>2]=I,C6=I;else I=t,T0=Z[I>>2]|0,p0=Z[I+4>>2]|0,I=V+24|0,Z[I>>2]=T0,Z[I+4>>2]=p0,Z[t>>2]=287,C6=T0;T0=Z[J>>2]|0,p0=V+56|0,I=Z[p0>>2]|0,X0=I+24|0,u=T0+16|0,O0=j[(Z[u>>2]|0)+4>>1]|0,t0=I+28|0,g=Z[t0>>2]|0;Z:do if((g|0)>(O0|0)){if(H6=Z[X0>>2]|0,E6=N[C0+4>>0]|0,Z0=C0+12|0,u0=C0+16|0,E6<<24>>24==4){i6=O0;while(!0){if(S6=Z[H6+(i6<<4)>>2]|0,(S6|0)==(C0|0)&(N[S6+4>>0]|0)==4){o6=i6;break}if(i6=i6+1|0,(i6|0)>=(g|0))break Z}u6=T0+12|0,p8=Z[u6>>2]|0,i8=p8+44|0,q8=Z[i8>>2]|0,m8=H6+(o6<<4)+8|0,l8=Z[m8>>2]|0,w8=VY(l8)|0,U2=Z[X0>>2]|0,K8=U2+(o6<<4)+8|0,A8=Z[K8>>2]|0,t8=$Y(A8)|0,Z[T>>2]=u0,_2=T+4|0,Z[_2>>2]=w8,Y2=T+8|0,Z[Y2>>2]=t8,Q2=Z5(q8,47458,T)|0,F2=Z[u6>>2]|0,RQ(F2,Q2)}i6=O0;while(!0){if(S6=Z[H6+(i6<<4)>>2]|0,E6<<24>>24==(N[S6+4>>0]|0)){if(w2=Z[Z0>>2]|0,(S6|0)==(C0|0)){o6=i6,_0=311;break}if((w2|0)==(Z[S6+12>>2]|0)?(q3(u0,S6+16|0,w2)|0)==0:0){o6=i6,_0=311;break}}if(i6=i6+1|0,(i6|0)>=(g|0))break Z}if((_0|0)==311)u6=T0+12|0,p8=Z[u6>>2]|0,i8=p8+44|0,q8=Z[i8>>2]|0,m8=H6+(o6<<4)+8|0,l8=Z[m8>>2]|0,w8=VY(l8)|0,U2=Z[X0>>2]|0,K8=U2+(o6<<4)+8|0,A8=Z[K8>>2]|0,t8=$Y(A8)|0,Z[T>>2]=u0,_2=T+4|0,Z[_2>>2]=w8,Y2=T+8|0,Z[Y2>>2]=t8,Q2=Z5(q8,47458,T)|0,F2=Z[u6>>2]|0,RQ(F2,Q2)}while(0);if((C6|0)!=286)c7(V,286);if(Z[i>>2]=Z[U>>2],(Z[t>>2]|0)==287)Z[L>>2]=R2(V,O)|0;else g=t,O0=Z[g+4>>2]|0,i6=V+24|0,Z[i6>>2]=Z[g>>2],Z[i6+4>>2]=O0,Z[t>>2]=287;if(O0=Z[T0+20>>2]|0,i6=Z[t0>>2]|0,g=I+32|0,(i6|0)<(Z[g>>2]|0))G2=Z[X0>>2]|0,K2=i6;else Z0=XZ(Z[K>>2]|0,Z[X0>>2]|0,g,16,32767,47008)|0,Z[X0>>2]=Z0,G2=Z0,K2=Z[t0>>2]|0;Z[G2+(i6<<4)>>2]=C0,Z[G2+(i6<<4)+8>>2]=S,N[G2+(i6<<4)+12>>0]=N[(Z[J>>2]|0)+46>>0]|0,Z[G2+(i6<<4)+4>>2]=O0,Z[t0>>2]=K2+1;Z:while(!0){switch(Z[L>>2]|0){case 292:case 287:case 262:case 261:case 260:{_0=325;break Z}case 286:case 59:break;default:{_0=324;break Z}}U$(V)}if((_0|0)==324)Z2=Z[X0>>2]|0;else if((_0|0)==325)t0=Z[X0>>2]|0,N[t0+(i6<<4)+12>>0]=N[(Z[u>>2]|0)+8>>0]|0,Z2=t0;if(t0=Z2+(i6<<4)|0,C0=Z[p0>>2]|0,I=j[(Z[(Z[J>>2]|0)+16>>2]|0)+6>>1]|0,T0=C0+16|0,t=Z[T0>>2]|0,(t|0)<=(I|0)){F=Z[J>>2]|0,z=F+46|0,H=N[z>>0]|0,C=F+48|0,N[C>>0]=H,A=Z[K>>2]|0,y=A+38|0,k=j[y>>1]|0,m=k+-1<<16>>16,j[y>>1]=m,q=$;return}O=C0+12|0,C0=t,t=I;while(!0){I=Z[(Z[O>>2]|0)+(t<<4)>>2]|0,i=Z[t0>>2]|0,O0=N[I+4>>0]|0;do if(O0<<24>>24==(N[i+4>>0]|0)){if(O0<<24>>24==4){if((I|0)!=(i|0)){_0=335;break}}else if(Z0=Z[I+12>>2]|0,(I|0)!=(i|0)){if((Z0|0)!=(Z[i+12>>2]|0)){_0=335;break}if(q3(I+16|0,i+16|0,Z0)|0){_0=335;break}}UN(V,t,t0),o2=Z[T0>>2]|0,u8=t}else _0=335;while(0);if((_0|0)==335)_0=0,o2=C0,u8=t+1|0;if((u8|0)<(o2|0))C0=o2,t=u8;else break}F=Z[J>>2]|0,z=F+46|0,H=N[z>>0]|0,C=F+48|0,N[C>>0]=H,A=Z[K>>2]|0,y=A+38|0,k=j[y>>1]|0,m=k+-1<<16>>16,j[y>>1]=m,q=$;return}case 274:{if(t=V+16|0,Z[t>>2]=S,C0=V+32|0,(Z[C0>>2]|0)==287)T0=R2(V,V+28|0)|0,Z[L>>2]=T0,L2=T0,N2=Z[J>>2]|0;else T0=C0,t0=Z[T0>>2]|0,O=Z[T0+4>>2]|0,T0=V+24|0,Z[T0>>2]=t0,Z[T0+4>>2]=O,Z[C0>>2]=287,L2=t0,N2=_;Z:do switch(L2|0){case 59:case 277:case 292:case 287:case 262:case 261:case 260:{u2=0,Z1=0;break}default:{u5(V,X,0)|0;V:do if((Z[L>>2]|0)==44){t0=V+28|0,O=V+24|0,T0=X+4|0,p0=1;while(!0){if(Z[t>>2]=Z[U>>2],(Z[C0>>2]|0)==287)Z[L>>2]=R2(V,t0)|0;else i6=C0,u=Z[i6+4>>2]|0,X0=O,Z[X0>>2]=Z[i6>>2],Z[X0+4>>2]=u,Z[C0>>2]=287;if(I2=Z[J>>2]|0,y7(I2,X),((Z[X>>2]|0)==6?(u=Z[T0>>2]|0,(u&256|0)==0):0)?(u|0)>=(G[I2+46>>0]|0):0)u=I2+48|0,N[u>>0]=(N[u>>0]|0)+-1<<24>>24;if(u=I2+48|0,X0=N[u>>0]|0,i6=(X0&255)+1|0,i=(Z[I2>>2]|0)+78|0,(X0&255)<(G[i>>0]|0))j2=i6&255;else{if((X0&255)>248)break;X0=i6&255,N[i>>0]=X0,j2=X0}if(N[u>>0]=j2,n5(I2,X,(j2&255)+-1|0),u5(V,X,0)|0,u=p0+1|0,(Z[L>>2]|0)==44)p0=u;else{Q1=X,p2=u;break V}}$2(Z[I2+12>>2]|0,47325)}else Q1=X,p2=1;while(0);if(p0=Z[Q1>>2]|0,(p0&-2|0)==12){switch(p0|0){case 12:{if(p0=(Z[(Z[N2>>2]|0)+12>>2]|0)+(Z[X+4>>2]<<2)|0,Z[p0>>2]=Z[p0>>2]&-8372225,(p2|0)==1)p0=(Z[(Z[N2>>2]|0)+12>>2]|0)+(Z[X+4>>2]<<2)|0,Z[p0>>2]=Z[p0>>2]&-64|43;break}case 13:{p0=Z[N2>>2]|0,T0=Z[p0+12>>2]|0,O=X+4|0,t0=T0+(Z[O>>2]<<2)|0,Z[t0>>2]=Z[t0>>2]&8388607,t0=T0+(Z[O>>2]<<2)|0,O=N2+48|0,T0=N[O>>0]|0,u=T0&255,Z[t0>>2]=u<<6|Z[t0>>2]&-16321,t0=u+1|0,u=p0+78|0;do if((T0&255)>=(G[u>>0]|0))if((T0&255)>248)$2(Z[N2+12>>2]|0,47325);else{p0=t0&255,N[u>>0]=p0,r2=p0;break}else r2=t0&255;while(0);N[O>>0]=r2;break}default:}u2=G[N2+46>>0]|0,Z1=-1;break Z}if((p2|0)==1){u2=f9(N2,X)|0,Z1=1;break Z}if(y7(N2,X),((Z[Q1>>2]|0)==6?(t0=Z[X+4>>2]|0,(t0&256|0)==0):0)?(t0|0)>=(G[N2+46>>0]|0):0)t0=N2+48|0,N[t0>>0]=(N[t0>>0]|0)+-1<<24>>24;t0=N2+48|0,u=N[t0>>0]|0,T0=(u&255)+1|0,p0=(Z[N2>>2]|0)+78|0;do if((u&255)>=(G[p0>>0]|0))if((u&255)>248)$2(Z[N2+12>>2]|0,47325);else{X0=T0&255,N[p0>>0]=X0,W1=X0;break}else W1=T0&255;while(0);N[t0>>0]=W1,n5(N2,X,(W1&255)+-1|0),u2=G[N2+46>>0]|0,Z1=p2}}while(0);s2(N2,u2<<6|(Z1<<23)+8388608|44)|0;do if((Z[L>>2]|0)==59)if(Z[t>>2]=Z[U>>2],(Z[C0>>2]|0)==287){Z[L>>2]=R2(V,V+28|0)|0;break}else{T0=C0,p0=Z[T0+4>>2]|0,u=V+24|0,Z[u>>2]=Z[T0>>2],Z[u+4>>2]=p0,Z[C0>>2]=287;break}while(0);F=Z[J>>2]|0,z=F+46|0,H=N[z>>0]|0,C=F+48|0,N[C>>0]=H,A=Z[K>>2]|0,y=A+38|0,k=j[y>>1]|0,m=k+-1<<16>>16,j[y>>1]=m,q=$;return}case 266:case 258:{C0=_+28|0,t=Z[C0>>2]|0,Z[C0>>2]=-1,C0=s2(_,2147450916)|0;do if((t|0)!=-1)if((C0|0)!=-1){p0=Z[(Z[_>>2]|0)+12>>2]|0,u=C0;while(!0)if(x2=p0+(u<<2)|0,a2=Z[x2>>2]|0,T0=(a2>>>14)+-131071|0,O=(T0|0)==-1?-1:u+1+T0|0,(O|0)==-1)break;else u=O;if(p0=t+~u|0,(((p0|0)>-1?p0:0-p0|0)|0)>131071)$2(Z[_+12>>2]|0,46981);else{Z[x2>>2]=(p0<<14)+2147467264|a2&16383,E2=C0;break}}else E2=t;else E2=C0;while(0);C0=Z[U>>2]|0,t=(Z[L>>2]|0)==266,p0=V+16|0,Z[p0>>2]=C0,t0=V+32|0,O=(Z[t0>>2]|0)==287;do if(t){if(O)T0=R2(V,V+28|0)|0,Z[L>>2]=T0,d2=T0;else T0=t0,X0=Z[T0>>2]|0,i=Z[T0+4>>2]|0,T0=V+24|0,Z[T0>>2]=X0,Z[T0+4>>2]=i,Z[t0>>2]=287,d2=X0;if((d2|0)!=289)c7(V,289);if(X0=V+28|0,i=Z[X0>>2]|0,Z[p0>>2]=Z[U>>2],(Z[t0>>2]|0)==287){Z[L>>2]=R2(V,X0)|0,b2=i;break}else{X0=t0,T0=Z[X0+4>>2]|0,i6=V+24|0,Z[i6>>2]=Z[X0>>2],Z[i6+4>>2]=T0,Z[t0>>2]=287,b2=i;break}}else{if(O)Z[L>>2]=R2(V,V+28|0)|0;else i=t0,T0=Z[i+4>>2]|0,i6=V+24|0,Z[i6>>2]=Z[i>>2],Z[i6+4>>2]=T0,Z[t0>>2]=287;b2=y9(Z[K>>2]|0,57656,5)|0}while(0);if(t0=Z[V+56>>2]|0,O=t0+12|0,p0=t0+16|0,t=Z[p0>>2]|0,T0=t0+20|0,(t|0)<(Z[T0>>2]|0))P2=Z[O>>2]|0,V1=t;else t0=XZ(Z[K>>2]|0,Z[O>>2]|0,T0,16,32767,47008)|0,Z[O>>2]=t0,P2=t0,V1=Z[p0>>2]|0;Z[P2+(t<<4)>>2]=b2,Z[P2+(t<<4)+8>>2]=C0,N[P2+(t<<4)+12>>0]=N[(Z[J>>2]|0)+46>>0]|0,Z[P2+(t<<4)+4>>2]=E2,Z[p0>>2]=V1+1,JN(V,t)|0,F=Z[J>>2]|0,z=F+46|0,H=N[z>>0]|0,C=F+48|0,N[C>>0]=H,A=Z[K>>2]|0,y=A+38|0,k=j[y>>1]|0,m=k+-1<<16>>16,j[y>>1]=m,q=$;return}default:{t=Q+4|0,gW(V,t),p0=Z[L>>2]|0;Z:do if((p0+-299|0)>>>0>=16){switch(p0|0){case 44:case 61:{Z[Q>>2]=0,XS(V,Q,1);break Z}default:}if((Z[t>>2]|0)==12){t0=(Z[(Z[_>>2]|0)+12>>2]|0)+(Z[Q+8>>2]<<2)|0,Z[t0>>2]=Z[t0>>2]&-8372225|16384;break}else $2(V,57168)}else{Z[Q>>2]=0,t0=Z[J>>2]|0,Z[X>>2]=Z[t>>2],Z[X+4>>2]=Z[t+4>>2],Z[X+8>>2]=Z[t+8>>2],Z[X+12>>2]=Z[t+12>>2];do switch(p0|0){case 299:{X2=0;break}case 300:{X2=1;break}case 301:{X2=2;break}case 302:{X2=3;break}case 305:{X2=15;break}case 303:{X2=4;break}case 304:{X2=5;break}case 314:{X2=19;break}case 306:{X2=6;break}case 307:{X2=7;break}case 308:{X2=8;break}case 309:{X2=9;break}case 310:{X2=10;break}case 311:{X2=11;break}default:X2=28}while(0);if(u=t0+48|0,O=t0+46|0,T0=G[O>>0]|0,i6=(G[u>>0]|0)-T0|0,(i6|0)>0){i=0;do i3(V,y4(V,47505,14)|0),i=i+1|0;while((i|0)!=(i6|0));i=Z[J>>2]|0,X0=i+46|0,$1=G[X0>>0]|0,P1=i,v2=X0}else $1=T0,P1=t0,v2=O;if(X0=i6+$1|0,N[v2>>0]=X0,i6|0){i=Z[P1+20>>2]|0,I=Z[(Z[P1>>2]|0)+24>>2]|0,O0=Z[Z[(Z[P1+12>>2]|0)+56>>2]>>2]|0,u0=(Z[P1+40>>2]|0)+(X0&255)|0,X0=i6;do Z[I+((j[O0+(u0-X0<<1)>>1]|0)*12|0)+4>>2]=i,X0=X0+-1|0;while((X0|0)!=0)}if(X0=Z[U>>2]|0,Z[V+16>>2]=X0,i=V+32|0,(Z[i>>2]|0)==287)Z[L>>2]=R2(V,V+28|0)|0,T1=Z[U>>2]|0,_1=Z[J>>2]|0;else u0=i,O0=Z[u0+4>>2]|0,I=V+24|0,Z[I>>2]=Z[u0>>2],Z[I+4>>2]=O0,Z[i>>2]=287,T1=X0,_1=P1;if(X0=(Z[K>>2]|0)+38|0,i=(j[X0>>1]|0)+1<<16>>16,j[X0>>1]=i,(i&65535)>200)JV(_1,200,47316);if($S(t0,X2,X),u5(V,Y,0)|0,TS(t0,X2,X,Y,T1),i=(Z[K>>2]|0)+38|0,j[i>>1]=(j[i>>1]|0)+-1<<16>>16,y7(t0,X),((Z[X>>2]|0)==6?(i=Z[X+4>>2]|0,(i&256|0)==0):0)?(i|0)>=(G[O>>0]|0):0)i=(N[u>>0]|0)+-1<<24>>24,N[u>>0]=i,l2=i;else l2=N[u>>0]|0;i=(l2&255)+1|0,X0=(Z[t0>>2]|0)+78|0;do if((l2&255)>=(G[X0>>0]|0))if((l2&255)>248)$2(Z[t0+12>>2]|0,47325);else{O0=i&255,N[X0>>0]=O0,c1=O0;break}else c1=i&255;while(0);switch(N[u>>0]=c1,n5(t0,X,(c1&255)+-1|0),i=Z[J>>2]|0,Z[X>>2]|0){case 12:{Z[X>>2]=6,X0=X+4|0,Z[X0>>2]=(Z[(Z[(Z[i>>2]|0)+12>>2]|0)+(Z[X0>>2]<<2)>>2]|0)>>>6&255;break}case 13:{X0=(Z[(Z[i>>2]|0)+12>>2]|0)+(Z[X+4>>2]<<2)|0,Z[X0>>2]=Z[X0>>2]&8388607|16777216,Z[X>>2]=11;break}default:}eY(i,t,X)}while(0);F=Z[J>>2]|0,z=F+46|0,H=N[z>>0]|0,C=F+48|0,N[C>>0]=H,A=Z[K>>2]|0,y=A+38|0,k=j[y>>1]|0,m=k+-1<<16>>16,j[y>>1]=m,q=$;return}}while(0)}function c7(V,$){V=V|0,$=$|0;var T=0,X=0;T=q,q=q+16|0,X=T,T=Z[V+44>>2]|0,Z[X>>2]=_Q(V,$)|0,$2(V,Z5(T,47304,X)|0)}function NN(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0;if($=Z[V+44>>2]|0,T=V+40|0,X=Z[T>>2]|0,Y=Z[X>>2]|0,s2(X,8388652)|0,BZ(X),Q=X+20|0,W=Z[Q>>2]|0,(W+1|0)>>>0>1073741823)x1($);if(U=Y+12|0,S=Z[U>>2]|0,J=Y+48|0,_=Z[J>>2]<<2,K=W<<2,W=$+12|0,P=Z[W>>2]|0,O=(S|0)==0,L=P+4|0,F=r6[Z[P>>2]&3](Z[L>>2]|0,S,_,K)|0,(K|0)!=0&(F|0)==0){if(!(N[P+51>>0]|0))Z8($,4);if(M2($,1),z=r6[Z[P>>2]&3](Z[L>>2]|0,S,_,K)|0,!z)Z8($,4);else H=z}else H=F;if(F=P+12|0,Z[F>>2]=(O?0:0-_|0)+K+(Z[F>>2]|0),Z[U>>2]=H,H=Z[Q>>2]|0,Z[J>>2]=H,(H+1|0)>>>0>1073741823)x1($);if(J=Y+20|0,U=Z[J>>2]|0,F=Y+52|0,K=Z[F>>2]<<2,_=H<<2,H=Z[W>>2]|0,O=(U|0)==0,P=H+4|0,z=r6[Z[H>>2]&3](Z[P>>2]|0,U,K,_)|0,(_|0)!=0&(z|0)==0){if(!(N[H+51>>0]|0))Z8($,4);if(M2($,1),S=r6[Z[H>>2]&3](Z[P>>2]|0,U,K,_)|0,!S)Z8($,4);else C=S}else C=z;if(z=H+12|0,Z[z>>2]=(O?0:0-K|0)+_+(Z[z>>2]|0),Z[J>>2]=C,Z[F>>2]=Z[Q>>2],Q=X+32|0,F=Z[Q>>2]|0,(F+1|0)>>>0>536870911)x1($);if(C=Y+8|0,J=Z[C>>2]|0,z=Y+44|0,_=Z[z>>2]<<3,K=F<<3,F=Z[W>>2]|0,O=(J|0)==0,H=F+4|0,S=r6[Z[F>>2]&3](Z[H>>2]|0,J,_,K)|0,(K|0)!=0&(S|0)==0){if(!(N[F+51>>0]|0))Z8($,4);if(M2($,1),U=r6[Z[F>>2]&3](Z[H>>2]|0,J,_,K)|0,!U)Z8($,4);else A=U}else A=S;if(S=F+12|0,Z[S>>2]=(O?0:0-_|0)+K+(Z[S>>2]|0),Z[C>>2]=A,Z[z>>2]=Z[Q>>2],Q=X+36|0,z=Z[Q>>2]|0,(z+1|0)>>>0>1073741823)x1($);if(A=Y+16|0,C=Z[A>>2]|0,S=Y+56|0,K=Z[S>>2]<<2,_=z<<2,z=Z[W>>2]|0,O=(C|0)==0,F=z+4|0,U=r6[Z[z>>2]&3](Z[F>>2]|0,C,K,_)|0,(_|0)!=0&(U|0)==0){if(!(N[z+51>>0]|0))Z8($,4);if(M2($,1),J=r6[Z[z>>2]&3](Z[F>>2]|0,C,K,_)|0,!J)Z8($,4);else y=J}else y=U;if(U=z+12|0,Z[U>>2]=(O?0:0-K|0)+_+(Z[U>>2]|0),Z[A>>2]=y,Z[S>>2]=Z[Q>>2],Q=X+44|0,S=j[Q>>1]|0,y=S<<16>>16,(y+1|0)>>>0>357913941)x1($);if(A=Y+24|0,U=Z[A>>2]|0,_=Y+60|0,K=(Z[_>>2]|0)*12|0,O=y*12|0,y=Z[W>>2]|0,z=(U|0)==0,J=y+4|0,C=r6[Z[y>>2]&3](Z[J>>2]|0,U,K,O)|0,S<<16>>16!=0&(C|0)==0){if(!(N[y+51>>0]|0))Z8($,4);if(M2($,1),S=r6[Z[y>>2]&3](Z[J>>2]|0,U,K,O)|0,!S)Z8($,4);else k=S}else k=C;if(C=y+12|0,Z[C>>2]=(z?0:0-K|0)+O+(Z[C>>2]|0),Z[A>>2]=k,Z[_>>2]=j[Q>>1],Q=X+47|0,_=N[Q>>0]|0,k=Y+28|0,A=Z[k>>2]|0,C=Y+40|0,Y=Z[C>>2]<<3,O=(_&255)<<3,K=Z[W>>2]|0,z=(A|0)==0,y=K+4|0,S=r6[Z[K>>2]&3](Z[y>>2]|0,A,Y,O)|0,_<<24>>24!=0&(S|0)==0){if(!(N[K+51>>0]|0))Z8($,4);if(M2($,1),_=r6[Z[K>>2]&3](Z[y>>2]|0,A,Y,O)|0,!_)Z8($,4);else m=_}else m=S;if(S=K+12|0,Z[S>>2]=(z?0:0-Y|0)+O+(Z[S>>2]|0),Z[k>>2]=m,Z[C>>2]=G[Q>>0],Z[T>>2]=Z[X+8>>2],((Z[V+24>>2]|0)+-289|0)>>>0<2)X=Z[V+28>>2]|0,y4(V,X+16|0,Z[X+12>>2]|0)|0;if(X=$+8|0,Z[X>>2]=(Z[X>>2]|0)+-8,X=Z[W>>2]|0,W=X+12|0,V=Z[W>>2]|0,(V|0)<=0)return;if(!(N[X+51>>0]|0)){T=X+8|0,Z[T>>2]=V+1600+(Z[T>>2]|0),Z[W>>2]=-1600;return}else{g1($);return}}function s2(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0;T=Z[V>>2]|0,X=V+28|0,Y=Z[X>>2]|0,Q=V+20|0,W=Z[Q>>2]|0;do if((Y|0)!=-1){U=Z[T+12>>2]|0,S=Y;while(!0){if(J=U+(S<<2)|0,_=Z[J>>2]|0,K=(_>>>14)+-131071|0,P=S,S=(K|0)==-1?-1:S+1+K|0,(P|0)>0?(K=J+-4|0,O=Z[K>>2]|0,((O&63)+-37|0)>>>0<5):0)L=O,F=K;else L=_,F=J;if((L&63|0)==41){if(Z[F>>2]=L&8372224|L>>>23<<6|40,K=W+~P|0,(((K|0)>-1?K:0-K|0)|0)>131071){z=8;break}H=(K<<14)+2147467264|0,C=Z[J>>2]&16383}else{if(K=W+~P|0,(((K|0)>-1?K:0-K|0)|0)>131071){z=11;break}H=_&16383,C=(K<<14)+2147467264|0}if(Z[J>>2]=C|H,(S|0)==-1){z=14;break}}if((z|0)==8)$2(Z[V+12>>2]|0,46981);else if((z|0)==11)$2(Z[V+12>>2]|0,46981);else if((z|0)==14){A=Z[Q>>2]|0;break}}else A=W;while(0);if(Z[X>>2]=-1,X=T+48|0,(A|0)<(Z[X>>2]|0))y=Z[T+12>>2]|0,k=A;else A=T+12|0,W=XZ(Z[(Z[V+12>>2]|0)+44>>2]|0,Z[A>>2]|0,X,4,2147483645,47296)|0,Z[A>>2]=W,y=W,k=Z[Q>>2]|0;if(Z[y+(k<<2)>>2]=$,$=Z[Q>>2]|0,k=T+52|0,y=V+12|0,($|0)<(Z[k>>2]|0))return m=$,I=T+20|0,u=Z[y>>2]|0,g=u+16|0,i=Z[g>>2]|0,t=Z[I>>2]|0,Y0=t+(m<<2)|0,Z[Y0>>2]=i,X0=Z[Q>>2]|0,T0=X0+1|0,Z[Q>>2]=T0,X0|0;else return $=T+20|0,Z[$>>2]=XZ(Z[(Z[y>>2]|0)+44>>2]|0,Z[$>>2]|0,k,4,2147483645,47296)|0,m=Z[Q>>2]|0,I=$,u=Z[y>>2]|0,g=u+16|0,i=Z[g>>2]|0,t=Z[I>>2]|0,Y0=t+(m<<2)|0,Z[Y0>>2]=i,X0=Z[Q>>2]|0,T0=X0+1|0,Z[Q>>2]=T0,X0|0;return 0}function BZ(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0;$=V+16|0,T=Z[$>>2]|0,X=V+12|0,Y=Z[X>>2]|0;do if(Z[T>>2]|0?N[T+9>>0]|0:0){Q=V+28|0,W=Z[Q>>2]|0,Z[Q>>2]=-1,U=s2(V,2147450916)|0;do if((W|0)!=-1){if((U|0)==-1){S=G[T+8>>0]|0,J=W;break}_=Z[(Z[V>>2]|0)+12>>2]|0,K=U;while(!0)if(P=_+(K<<2)|0,O=Z[P>>2]|0,L=(O>>>14)+-131071|0,F=(L|0)==-1?-1:K+1+L|0,(F|0)==-1)break;else K=F;if(_=W+~K|0,(((_|0)>-1?_:0-_|0)|0)>131071)$2(Z[X>>2]|0,46981);else{Z[P>>2]=(_<<14)+2147467264|O&16383,z=11;break}}else z=11;while(0);if((z|0)==11)if(W=G[T+8>>0]|0,(U|0)==-1){Z[V+24>>2]=Z[V+20>>2];break}else S=W,J=U;W=Z[(Z[V>>2]|0)+12>>2]|0,_=(S<<6)+64&16320,F=J;do L=W+(F<<2)|0,H=Z[L>>2]|0,C=(H>>>14)+-131071|0,Z[L>>2]=H&-16321|_,F=(C|0)==-1?-1:F+1+C|0;while((F|0)!=-1);if(Z[V+24>>2]=Z[V+20>>2],F=Z[Q>>2]|0,(F|0)==-1){Z[Q>>2]=J;break}_=F;while(!0)if(A=W+(_<<2)|0,y=Z[A>>2]|0,F=(y>>>14)+-131071|0,U=(F|0)==-1?-1:_+1+F|0,(U|0)==-1)break;else _=U;if(W=J+~_|0,(((W|0)>-1?W:0-W|0)|0)>131071)$2(Z[X>>2]|0,46981);else{Z[A>>2]=(W<<14)+2147467264|y&16383;break}}while(0);if(N[T+10>>0]|0){if(y=Y+44|0,A=P7(Z[y>>2]|0,57656,5)|0,J=Y+56|0,S=Z[J>>2]|0,O=S+24|0,P=Y+40|0,W=Z[P>>2]|0,Q=Z[W+20>>2]|0,U=S+28|0,F=Z[U>>2]|0,C=S+32|0,(F|0)<(Z[C>>2]|0))k=Z[O>>2]|0,m=W,I=F,u=S;else S=XZ(Z[y>>2]|0,Z[O>>2]|0,C,16,32767,47008)|0,Z[O>>2]=S,k=S,m=Z[P>>2]|0,I=Z[U>>2]|0,u=Z[J>>2]|0;if(Z[k+(F<<4)>>2]=A,Z[k+(F<<4)+8>>2]=0,N[k+(F<<4)+12>>0]=N[m+46>>0]|0,Z[k+(F<<4)+4>>2]=Q,Z[U>>2]=I+1,I=(Z[u+24>>2]|0)+(F<<4)|0,F=j[(Z[m+16>>2]|0)+6>>1]|0,m=u+16|0,U=Z[m>>2]|0,(U|0)>(F|0)){Q=u+12|0,u=U,U=F;while(!0){F=Z[(Z[Q>>2]|0)+(U<<4)>>2]|0,k=Z[I>>2]|0,A=N[F+4>>0]|0;do if(A<<24>>24==(N[k+4>>0]|0)){if(A<<24>>24==4){if((F|0)!=(k|0)){z=35;break}}else if(J=Z[F+12>>2]|0,(F|0)!=(k|0)){if((J|0)!=(Z[k+12>>2]|0)){z=35;break}if(q3(F+16|0,k+16|0,J)|0){z=35;break}}UN(Y,U,I),g=Z[m>>2]|0,i=U}else z=35;while(0);if((z|0)==35)z=0,g=u,i=U+1|0;if((i|0)<(g|0))u=g,U=i;else break}}}if(i=Z[T>>2]|0,Z[$>>2]=i,$=T+8|0,U=N[$>>0]|0,g=V+46|0,u=N[g>>0]|0,z=u&255,m=Z[(Z[X>>2]|0)+56>>2]|0,I=m+4|0,Z[I>>2]=(U&255)-z+(Z[I>>2]|0),(U&255)<(u&255)){I=Z[V+20>>2]|0,Q=Z[V+40>>2]|0,k=Z[(Z[V>>2]|0)+24>>2]|0,F=Z[m>>2]|0,A=z;while(!0)if(z=(A&255)+-1<<24>>24,Z[k+((j[F+(Q+(z&255)<<1)>>1]|0)*12|0)+8>>2]=I,(z&255)>(U&255))A=A+-1|0;else break;N[g>>0]=U,t=U}else t=u;if(N[V+48>>0]=t,t=Z[Y+56>>2]|0,Z[t+28>>2]=j[T+4>>1],u=j[T+6>>1]|0,!i)if((Z[t+16>>2]|0)>(u|0))yD(Y,(Z[t+12>>2]|0)+(u<<4)|0);else return;if(t=m+16|0,(Z[t>>2]|0)<=(u|0))return;Y=m+12|0,m=T+9|0,T=U,U=u;while(!0){if(u=Z[Y>>2]|0,i=u+(U<<4)+12|0,g=T&255,(G[i>>0]|0)>(T&255)){if(N[m>>0]|0?(A=Z[u+(U<<4)+4>>2]|0,(A|0)!=-1):0){u=Z[(Z[V>>2]|0)+12>>2]|0,I=(g<<6)+64&16320,g=A;do A=u+(g<<2)|0,Q=Z[A>>2]|0,F=(Q>>>14)+-131071|0,Z[A>>2]=Q&-16321|I,g=(F|0)==-1?-1:g+1+F|0;while((g|0)!=-1)}N[i>>0]=T}if(g=U+((JN(Z[X>>2]|0,U)|0)==0&1)|0,(g|0)>=(Z[t>>2]|0))break;T=N[$>>0]|0,U=g}return}function y4(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if(X=Z[V+44>>2]|0,Y=y9(X,$,T)|0,T=X+8|0,$=Z[T>>2]|0,Z[T>>2]=$+8,Z[$>>2]=Y,Z[$+4>>2]=(N[Y+4>>0]|64)&255,$=Z[(Z[V+40>>2]|0)+4>>2]|0,V=(Z[T>>2]|0)+-8|0,Q=CZ($,V)|0,(Q|0)==2172216)W=I4(X,$,V)|0;else W=Q;Q=W+4|0;do if(!(Z[Q>>2]|0))if(Z[W>>2]=1,Z[Q>>2]=1,V=Z[X+12>>2]|0,$=V+12|0,U=Z[$>>2]|0,(U|0)>0)if(!(N[V+51>>0]|0)){S=V+8|0,Z[S>>2]=U+1600+(Z[S>>2]|0),Z[$>>2]=-1600,J=Y;break}else{g1(X),J=Y;break}else J=Y;else J=Z[W+8>>2]|0;while(0);return Z[T>>2]=(Z[T>>2]|0)+-8,J|0}function $2(V,$){V=V|0,$=$|0,O5(V,$,Z[V+24>>2]|0)}function XZ(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0;if(W=q,q=q+16|0,U=W,S=Z[T>>2]|0,(S|0)>=((Y|0)/2|0|0))if((S|0)<(Y|0))J=Y;else Z[U>>2]=Q,Z[U+4>>2]=Y,q1(V,47173,U);else U=S<<1,J=(U|0)>4?U:4;if((J+1|0)>>>0>(4294967293/(X>>>0)|0)>>>0)x1(V);if(U=B(S,X)|0,S=B(J,X)|0,X=Z[V+12>>2]|0,Y=($|0)==0,Q=X+4|0,_=r6[Z[X>>2]&3](Z[Q>>2]|0,$,U,S)|0,!((S|0)!=0&(_|0)==0))return K=_,P=X+12|0,O=Z[P>>2]|0,L=0-U|0,F=Y?0:L,z=S+F|0,H=z+O|0,Z[P>>2]=H,Z[T>>2]=J,q=W,K|0;if(!(N[X+51>>0]|0))Z8(V,4);if(M2(V,1),_=r6[Z[X>>2]&3](Z[Q>>2]|0,$,U,S)|0,!_)Z8(V,4);else return K=_,P=X+12|0,O=Z[P>>2]|0,L=0-U|0,F=Y?0:L,z=S+F|0,H=z+O|0,Z[P>>2]=H,Z[T>>2]=J,q=W,K|0;return 0}function UN(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;if(X=q,q=q+16|0,Y=X,Q=Z[V+40>>2]|0,W=Z[V+56>>2]|0,U=W+12|0,S=Z[U>>2]|0,J=N[S+($<<4)+12>>0]|0,(J&255)<(G[T+12>>0]|0))_=Z[(Z[(Z[Q>>2]|0)+24>>2]|0)+((j[(Z[Z[(Z[Q+12>>2]|0)+56>>2]>>2]|0)+((Z[Q+40>>2]|0)+(J&255)<<1)>>1]|0)*12|0)>>2]|0,J=Z[V+44>>2]|0,K=(Z[S+($<<4)>>2]|0)+16|0,P=S+($<<4)+8|0,O=VY(Z[P>>2]|0)|0,L=$Y(Z[P>>2]|0)|0,Z[Y>>2]=K,Z[Y+4>>2]=O,Z[Y+8>>2]=L,Z[Y+12>>2]=_+16,RQ(V,Z5(J,47108,Y)|0);if(TY(Q,Z[S+($<<4)+4>>2]|0,Z[T+4>>2]|0),T=W+16|0,W=(Z[T>>2]|0)+-1|0,(W|0)<=($|0)){F=W,Z[T>>2]=F,q=X;return}W=$;do $=Z[U>>2]|0,S=$+(W<<4)|0,W=W+1|0,Q=$+(W<<4)|0,Z[S>>2]=Z[Q>>2],Z[S+4>>2]=Z[Q+4>>2],Z[S+8>>2]=Z[Q+8>>2],Z[S+12>>2]=Z[Q+12>>2],Q=(Z[T>>2]|0)+-1|0;while((W|0)<(Q|0));F=Q,Z[T>>2]=F,q=X;return}function JN(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;if(T=Z[V+40>>2]|0,X=Z[V+56>>2]|0,Y=Z[X+12>>2]|0,Q=j[(Z[T+16>>2]|0)+4>>1]|0,W=Z[X+28>>2]|0,(W|0)<=(Q|0))return U=0,U|0;S=Z[X+24>>2]|0,X=Z[Y+($<<4)>>2]|0,J=N[X+4>>0]|0,_=X+12|0,K=X+16|0,P=J<<24>>24==4,O=Q;Z:while(!0){L=S+(O<<4)|0,Q=Z[L>>2]|0;do if((N[Q+4>>0]|0)==J<<24>>24){if(P)if((Q|0)==(X|0))break Z;else break;if(F=Z[Q+12>>2]|0,(Q|0)==(X|0))break Z;if((F|0)==(Z[_>>2]|0)?(q3(Q+16|0,K,F)|0)==0:0)break Z}while(0);if(Q=O+1|0,(Q|0)<(W|0))O=Q;else{U=0,z=15;break}}if((z|0)==15)return U|0;if(z=N[S+(O<<4)+12>>0]|0,(G[Y+($<<4)+12>>0]|0)>(z&255)?(O=Z[Y+($<<4)+4>>2]|0,(O|0)!=-1):0){Y=Z[(Z[T>>2]|0)+12>>2]|0,T=((z&255)<<6)+64&16320,z=O;do O=Y+(z<<2)|0,S=Z[O>>2]|0,W=(S>>>14)+-131071|0,Z[O>>2]=S&-16321|T,z=(W|0)==-1?-1:z+1+W|0;while((z|0)!=-1)}return UN(V,$,L),U=1,U|0}function yD(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0;if(T=q,q=q+16|0,X=T,T=Z[$>>2]|0,(N[T+4>>0]|0)==4)Y=(N[T+6>>0]|0)==0?47021:47074;else Y=47021;Q=Z[V+44>>2]|0,W=$+8|0,$=VY(Z[W>>2]|0)|0,U=$Y(Z[W>>2]|0)|0,Z[X>>2]=T+16,Z[X+4>>2]=$,Z[X+8>>2]=U,RQ(V,Z5(Q,Y,X)|0)}function VY(V){return V=V|0,(cV(V,0)|0)<<16|0}function $Y(V){V=V|0;var $=0,T=0;return $=q,q=q+16|0,T=$,cV(V,T)|0,q=$,Z[T>>2]<<16|0}function RQ(V,$){V=V|0,$=$|0,Z[V+24>>2]=0,$2(V,$)}function TY(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;if((Z[V+20>>2]|0)==(T|0)){if(Z[V+24>>2]=T,X=V+28|0,($|0)==-1)return;if(Y=Z[X>>2]|0,(Y|0)==-1){Z[X>>2]=$;return}X=Z[(Z[V>>2]|0)+12>>2]|0,Q=Y;while(!0)if(W=X+(Q<<2)|0,U=Z[W>>2]|0,Y=(U>>>14)+-131071|0,S=(Y|0)==-1?-1:Q+1+Y|0,(S|0)==-1)break;else Q=S;if(X=~Q+$|0,(((X|0)>-1?X:0-X|0)|0)>131071)$2(Z[V+12>>2]|0,46981);Z[W>>2]=(X<<14)+2147467264|U&16383;return}if(($|0)==-1)return;U=Z[(Z[V>>2]|0)+12>>2]|0,X=$;while(!0){if($=U+(X<<2)|0,W=Z[$>>2]|0,Q=(W>>>14)+-131071|0,S=X,X=(Q|0)==-1?-1:X+1+Q|0,(S|0)>0?(Q=$+-4|0,Y=Z[Q>>2]|0,((Y&63)+-37|0)>>>0<5):0)J=Y,_=Q;else J=W,_=$;if((J&63|0)!=41)if(Q=~S+T|0,(((Q|0)>-1?Q:0-Q|0)|0)>131071){K=20;break}else P=W,O=Q;else{if(Z[_>>2]=J&8372224|J>>>23<<6|40,Q=~S+T|0,(((Q|0)>-1?Q:0-Q|0)|0)>131071){K=17;break}P=Z[$>>2]|0,O=Q}if(Z[$>>2]=P&16383|(O<<14)+2147467264,(X|0)==-1){K=22;break}}if((K|0)==17)$2(Z[V+12>>2]|0,46981);else if((K|0)==20)$2(Z[V+12>>2]|0,46981);else if((K|0)==22)return}function O5(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0;X=q,q=q+96|0,Y=X+88|0,Q=X+80|0,W=X+64|0,U=X,X=(Z[V+60>>2]|0)+16|0,S=x6(X)|0;Z:do switch(N[X>>0]|0){case 61:{if(J=X+1|0,S>>>0>60){_=U,K=J,P=_+59|0;do N[_>>0]=N[K>>0]|0,_=_+1|0,K=K+1|0;while((_|0)<(P|0));N[U+59>>0]=0;break Z}else{q6(U|0,J|0,S|0)|0;break Z}break}case 64:{if(S>>>0>60){N[U>>0]=N[72854]|0,N[U+1>>0]=N[72855]|0,N[U+2>>0]=N[72856]|0,_=U+3|0,K=X+1+S+-57|0,P=_+57|0;do N[_>>0]=N[K>>0]|0,_=_+1|0,K=K+1|0;while((_|0)<(P|0));break Z}else{q6(U|0,X+1|0,S|0)|0;break Z}break}default:{J=o5(X,10)|0,_=U,K=46846,P=_+9|0;do N[_>>0]=N[K>>0]|0,_=_+1|0,K=K+1|0;while((_|0)<(P|0));if(O=U+9|0,L=(J|0)==0,S>>>0<45&L)q6(O|0,X|0,S|0)|0,F=O+S|0;else z=L?S:J-X|0,L=z>>>0<45?z:45,q6(O|0,X|0,L|0)|0,z=O+L|0,N[z>>0]=N[72854]|0,N[z+1>>0]=N[72855]|0,N[z+2>>0]=N[72856]|0,F=z+3|0;N[F>>0]=N[46856]|0,N[F+1>>0]=N[46857]|0,N[F+2>>0]=N[46858]|0}}while(0);if(F=V+44|0,X=Z[F>>2]|0,S=Z[V+4>>2]|0,Z[W>>2]=U,Z[W+4>>2]=S,Z[W+8>>2]=$,$=Z5(X,47199,W)|0,!T)H=Z[F>>2]|0,Z8(H,3);if(W=Z[F>>2]|0,(T+-288|0)>>>0<3){if(X=V+52|0,S=Z[X>>2]|0,U=S+4|0,K=Z[U>>2]|0,_=K+1|0,P=S+8|0,z=Z[P>>2]|0,_>>>0>z>>>0){if(z>>>0>2147483645)O5(V,47209,0);if(L=z<<1,(L|0)==-2)x1(W);if(O=Z[S>>2]|0,C=Z[W+12>>2]|0,A=(O|0)==0,y=C+4|0,k=r6[Z[C>>2]&3](Z[y>>2]|0,O,z,L)|0,(L|0)!=0&(k|0)==0){if(!(N[C+51>>0]|0))Z8(W,4);if(M2(W,1),m=r6[Z[C>>2]&3](Z[y>>2]|0,O,z,L)|0,!m)Z8(W,4);else I=m}else I=k;k=C+12|0,Z[k>>2]=(A?0:0-z|0)+L+(Z[k>>2]|0),Z[S>>2]=I,Z[P>>2]=L,L=Z[U>>2]|0,u=I,g=L,i=L+1|0}else u=Z[S>>2]|0,g=K,i=_;Z[U>>2]=i,N[u+g>>0]=0,g=Z[F>>2]|0,Z[Q>>2]=Z[Z[X>>2]>>2],t=Z5(g,47234,Q)|0}else t=_Q(V,T)|0;Z[Y>>2]=$,Z[Y+4>>2]=t,Z5(W,47239,Y)|0,H=Z[F>>2]|0,Z8(H,3)}function _Q(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0;T=q,q=q+128|0,X=T+112|0,Y=T+104|0,Q=T+96|0,W=T+88|0,U=T+80|0,S=T+72|0,J=T+64|0,_=T+56|0,K=T+48|0,P=T+40|0,O=T+32|0,L=T+24|0,F=T+16|0,z=T+8|0,H=T;do switch($|0){case 38:return C=Z[V+44>>2]|0,Z[H>>2]=68504,A=Z5(C,47234,H)|0,q=T,A|0;case 124:return C=Z[V+44>>2]|0,Z[z>>2]=68770,A=Z5(C,47234,z)|0,q=T,A|0;case 295:return C=Z[V+44>>2]|0,Z[F>>2]=68972,A=Z5(C,47234,F)|0,q=T,A|0;case 290:return C=Z[V+44>>2]|0,Z[L>>2]=69286,A=Z5(C,47234,L)|0,q=T,A|0;case 291:return C=Z[V+44>>2]|0,Z[O>>2]=69410,A=Z5(C,47234,O)|0,q=T,A|0;case 292:return C=Z[V+44>>2]|0,Z[P>>2]=69615,A=Z5(C,47234,P)|0,q=T,A|0;case 293:return C=Z[V+44>>2]|0,Z[K>>2]=69766,A=Z5(C,47234,K)|0,q=T,A|0;case 294:return C=Z[V+44>>2]|0,Z[_>>2]=69874,A=Z5(C,47234,_)|0,q=T,A|0;case 126:return C=Z[V+44>>2]|0,Z[J>>2]=95217,A=Z5(C,47234,J)|0,q=T,A|0;case 92:return C=Z[V+44>>2]|0,Z[S>>2]=71949,A=Z5(C,47234,S)|0,q=T,A|0;case 64:return C=Z[V+44>>2]|0,Z[U>>2]=79518,A=Z5(C,47234,U)|0,q=T,A|0;case 296:return C=Z[V+44>>2]|0,Z[W>>2]=47250,A=Z5(C,47234,W)|0,q=T,A|0;case 36:return C=Z[V+44>>2]|0,Z[Q>>2]=79520,A=Z5(C,47234,Q)|0,q=T,A|0;default:{if(($|0)<257)return C=Z[V+44>>2]|0,Z[Y>>2]=$,A=Z5(C,47253,Y)|0,q=T,A|0;if(C=Z[656+($+-257<<2)>>2]|0,($|0)>=287)return A=C,q=T,A|0;return y=Z[V+44>>2]|0,Z[X>>2]=C,A=Z5(y,47234,X)|0,q=T,A|0}}while(0);return 0}function JV(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if(X=q,q=q+32|0,Y=X+8|0,Q=X,W=X+20|0,X=V+12|0,U=Z[(Z[X>>2]|0)+44>>2]|0,S=Z[(Z[V>>2]|0)+64>>2]|0,!S)J=47773;else V=(cV(S,0)|0)<<16,cV(S,W)|0,S=Z[W>>2]<<16,Z[Q>>2]=V,Z[Q+4>>2]=S,J=Z5(U,47744,Q)|0;Z[Y>>2]=T,Z[Y+4>>2]=$<<16,Z[Y+8>>2]=J,J=Z5(U,47787,Y)|0,$2(Z[X>>2]|0,J)}function SN(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if(T=q,q=q+32|0,X=T+16|0,Y=T,Q=V+24|0,(Z[Q>>2]|0)!=289)c7(V,289);if(W=V+28|0,U=Z[W>>2]|0,Z[V+16>>2]=Z[V+4>>2],S=V+32|0,(Z[S>>2]|0)==287)Z[Q>>2]=R2(V,W)|0;else W=S,Q=Z[W+4>>2]|0,J=V+24|0,Z[J>>2]=Z[W>>2],Z[J+4>>2]=Q,Z[S>>2]=287;if(S=V+40|0,Q=Z[S>>2]|0,iW(Q,U,$,1)|0){q=T;return}iW(Q,Z[V+64>>2]|0,$,1)|0,V=Z[S>>2]|0,Z[X>>2]=U,Z[X+4>>2]=(N[U+4>>0]|64)&255,U=w3(V,X,X)|0,Z[Y+8>>2]=-1,Z[Y+12>>2]=-1,Z[Y>>2]=4,Z[Y+4>>2]=U,U=$+4|0,N[U+2>>0]=Z[U>>2],j[U>>1]=X3(Q,Y)|0,N[U+3>>0]=(Z[$>>2]|0)==8?8:7,Z[$>>2]=9,q=T;return}function y7(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;switch(Z[$>>2]|0){case 7:{Z[$>>2]=6;return}case 8:{T=$+4|0,Z[T>>2]=s2(V,Z[T>>2]<<23|5)|0,Z[$>>2]=11;return}case 9:{if(T=$+4|0,X=j[T>>1]|0,(X&256|0)==0?(G[V+46>>0]|0)<=(X|0):0)X=V+48|0,N[X>>0]=(N[X>>0]|0)+-1<<24>>24;if(X=T+2|0,(N[T+3>>0]|0)==7)if((G[V+46>>0]|0)>(G[X>>0]|0))Y=7;else Q=V+48|0,N[Q>>0]=(N[Q>>0]|0)+-1<<24>>24,Y=7;else Y=6;Z[T>>2]=s2(V,G[X>>0]<<23|Y|j[T>>1]<<14)|0,Z[$>>2]=11;return}case 12:{Z[$>>2]=6,T=$+4|0,Z[T>>2]=(Z[(Z[(Z[V>>2]|0)+12>>2]|0)+(Z[T>>2]<<2)>>2]|0)>>>6&255;return}case 13:{T=(Z[(Z[V>>2]|0)+12>>2]|0)+(Z[$+4>>2]<<2)|0,Z[T>>2]=Z[T>>2]&8388607|16777216,Z[$>>2]=11;return}default:return}}function n5(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0;aY(V,$,T),X=(Z[$>>2]|0)==10,Y=$+8|0;do if(X?(Q=Z[$+4>>2]|0,(Q|0)!=-1):0){if(W=Z[Y>>2]|0,(W|0)==-1){Z[Y>>2]=Q,U=Q;break}S=Z[(Z[V>>2]|0)+12>>2]|0,J=W;while(!0)if(_=S+(J<<2)|0,K=Z[_>>2]|0,W=(K>>>14)+-131071|0,P=(W|0)==-1?-1:J+1+W|0,(P|0)==-1)break;else J=P;if(S=Q+~J|0,(((S|0)>-1?S:0-S|0)|0)>131071)$2(Z[V+12>>2]|0,46981);else{Z[_>>2]=(S<<14)+2147467264|K&16383,O=10;break}}else O=10;while(0);if((O|0)==10)U=Z[Y>>2]|0;if(K=$+12|0,_=Z[K>>2]|0,(U|0)==(_|0)){Z[Y>>2]=-1,Z[K>>2]=-1,L=$+4|0,Z[L>>2]=T,Z[$>>2]=6;return}Z:do if((U|0)==-1)O=19;else{S=Z[(Z[V>>2]|0)+12>>2]|0,P=U;while(!0){if(W=S+(P<<2)|0,(P|0)>0?(F=Z[W+-4>>2]|0,((F&63)+-37|0)>>>0<5):0)z=F;else z=Z[W>>2]|0;if((z&63|0)!=41){O=26;break Z}if(F=((Z[W>>2]|0)>>>14)+-131071|0,P=(F|0)==-1?-1:P+1+F|0,(P|0)==-1){O=19;break}}}while(0);Z:do if((O|0)==19)if((_|0)==-1)H=-1,C=-1;else{z=Z[(Z[V>>2]|0)+12>>2]|0,U=_;while(!0){if(P=z+(U<<2)|0,(U|0)>0?(S=Z[P+-4>>2]|0,((S&63)+-37|0)>>>0<5):0)A=S;else A=Z[P>>2]|0;if((A&63|0)!=41){O=26;break Z}if(S=((Z[P>>2]|0)>>>14)+-131071|0,U=(S|0)==-1?-1:U+1+S|0,(U|0)==-1){H=-1,C=-1;break}}}while(0);do if((O|0)==26){A=V+28|0;do if(!X)if(_=Z[A>>2]|0,Z[A>>2]=-1,U=s2(V,2147450916)|0,(_|0)!=-1)if((U|0)!=-1){z=Z[(Z[V>>2]|0)+12>>2]|0,S=U;while(!0)if(y=z+(S<<2)|0,k=Z[y>>2]|0,P=(k>>>14)+-131071|0,J=(P|0)==-1?-1:S+1+P|0,(J|0)==-1)break;else S=J;if(z=_+~S|0,(((z|0)>-1?z:0-z|0)|0)>131071)$2(Z[V+12>>2]|0,46981);else{Z[y>>2]=(z<<14)+2147467264|k&16383,m=U;break}}else m=_;else m=U;else m=-1;while(0);if(z=V+20|0,J=V+24|0,Z[J>>2]=Z[z>>2],P=T<<6,Q=s2(V,P|16387)|0,Z[J>>2]=Z[z>>2],F=s2(V,P|8388611)|0,Z[J>>2]=Z[z>>2],(m|0)!=-1){if(z=Z[A>>2]|0,(z|0)==-1){Z[A>>2]=m,H=Q,C=F;break}J=Z[(Z[V>>2]|0)+12>>2]|0,P=z;while(!0)if(I=J+(P<<2)|0,u=Z[I>>2]|0,z=(u>>>14)+-131071|0,W=(z|0)==-1?-1:P+1+z|0,(W|0)==-1)break;else P=W;if(J=m+~P|0,(((J|0)>-1?J:0-J|0)|0)>131071)$2(Z[V+12>>2]|0,46981);else{Z[I>>2]=(J<<14)+2147467264|u&16383,H=Q,C=F;break}}else H=Q,C=F}while(0);u=Z[V+20>>2]|0,Z[V+24>>2]=u,I=Z[K>>2]|0;Z:do if((I|0)!=-1){if(m=Z[(Z[V>>2]|0)+12>>2]|0,k=T<<6,y=k&16320,(T|0)==255){X=I;while(!0){if(J=m+(X<<2)|0,A=Z[J>>2]|0,W=(A>>>14)+-131071|0,z=X,X=(W|0)==-1?-1:X+1+W|0,(z|0)>0?(W=J+-4|0,g=Z[W>>2]|0,((g&63)+-37|0)>>>0<5):0)i=g,t=W;else i=A,t=J;if((i&63|0)!=41)if(W=H+~z|0,(((W|0)>-1?W:0-W|0)|0)>131071){O=65;break}else Y0=A,X0=W;else{if(Z[t>>2]=i&8372224|i>>>23<<6|40,W=u+~z|0,(((W|0)>-1?W:0-W|0)|0)>131071){O=62;break}Y0=Z[J>>2]|0,X0=W}if(Z[J>>2]=Y0&16383|(X0<<14)+2147467264,(X|0)==-1)break Z}if((O|0)==62)T0=V+12|0,Z0=Z[T0>>2]|0,$2(Z0,46981);else if((O|0)==65)W0=V+12|0,O0=Z[W0>>2]|0,$2(O0,46981)}X=I;while(!0){if(F=m+(X<<2)|0,Q=Z[F>>2]|0,P=(Q>>>14)+-131071|0,J=X,X=(P|0)==-1?-1:X+1+P|0,(J|0)>0?(P=F+-4|0,W=Z[P>>2]|0,((W&63)+-37|0)>>>0<5):0)y0=W,E0=P;else y0=Q,E0=F;if((y0&63|0)!=41)if(P=H+~J|0,(((P|0)>-1?P:0-P|0)|0)>131071){O=65;break}else H0=Q,D0=P;else{if((y0>>>23|0)==(T|0))_0=y0&8372224|k|40;else _0=y0&-16321|y;if(Z[E0>>2]=_0,P=u+~J|0,(((P|0)>-1?P:0-P|0)|0)>131071){O=62;break}H0=Z[F>>2]|0,D0=P}if(Z[F>>2]=H0&16383|(D0<<14)+2147467264,(X|0)==-1)break Z}if((O|0)==62)T0=V+12|0,Z0=Z[T0>>2]|0,$2(Z0,46981);else if((O|0)==65)W0=V+12|0,O0=Z[W0>>2]|0,$2(O0,46981)}while(0);if(O0=Z[Y>>2]|0,(O0|0)==-1){Z[Y>>2]=-1,Z[K>>2]=-1,L=$+4|0,Z[L>>2]=T,Z[$>>2]=6;return}if(W0=Z[(Z[V>>2]|0)+12>>2]|0,Z0=T<<6,T0=Z0&16320,(T|0)==255){D0=O0;while(!0){if(H0=W0+(D0<<2)|0,_0=Z[H0>>2]|0,E0=(_0>>>14)+-131071|0,y0=D0,D0=(E0|0)==-1?-1:D0+1+E0|0,(y0|0)>0?(E0=H0+-4|0,H=Z[E0>>2]|0,((H&63)+-37|0)>>>0<5):0)F0=H,k0=E0;else F0=_0,k0=H0;if((F0&63|0)!=41)if(E0=C+~y0|0,(((E0|0)>-1?E0:0-E0|0)|0)>131071){O=90;break}else m0=_0,B0=E0;else{if(Z[k0>>2]=F0&8372224|F0>>>23<<6|40,E0=u+~y0|0,(((E0|0)>-1?E0:0-E0|0)|0)>131071){O=87;break}m0=Z[H0>>2]|0,B0=E0}if(Z[H0>>2]=m0&16383|(B0<<14)+2147467264,(D0|0)==-1){O=92;break}}if((O|0)==87)g0=V+12|0,o0=Z[g0>>2]|0,$2(o0,46981);else if((O|0)==90)h0=V+12|0,C0=Z[h0>>2]|0,$2(C0,46981);else if((O|0)==92){Z[Y>>2]=-1,Z[K>>2]=-1,L=$+4|0,Z[L>>2]=T,Z[$>>2]=6;return}}D0=O0;while(!0){if(O0=W0+(D0<<2)|0,B0=Z[O0>>2]|0,m0=(B0>>>14)+-131071|0,F0=D0,D0=(m0|0)==-1?-1:D0+1+m0|0,(F0|0)>0?(m0=O0+-4|0,k0=Z[m0>>2]|0,((k0&63)+-37|0)>>>0<5):0)u0=k0,p0=m0;else u0=B0,p0=O0;if((u0&63|0)!=41)if(m0=C+~F0|0,(((m0|0)>-1?m0:0-m0|0)|0)>131071){O=90;break}else q0=B0,i0=m0;else{if((u0>>>23|0)==(T|0))t0=u0&8372224|Z0|40;else t0=u0&-16321|T0;if(Z[p0>>2]=t0,m0=u+~F0|0,(((m0|0)>-1?m0:0-m0|0)|0)>131071){O=87;break}q0=Z[O0>>2]|0,i0=m0}if(Z[O0>>2]=q0&16383|(i0<<14)+2147467264,(D0|0)==-1){O=92;break}}if((O|0)==87)g0=V+12|0,o0=Z[g0>>2]|0,$2(o0,46981);else if((O|0)==90)h0=V+12|0,C0=Z[h0>>2]|0,$2(C0,46981);else if((O|0)==92){Z[Y>>2]=-1,Z[K>>2]=-1,L=$+4|0,Z[L>>2]=T,Z[$>>2]=6;return}}function u5(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0;if(X=q,q=q+16|0,Y=X,Q=V+40|0,W=Z[Q>>2]|0,U=V+44|0,S=(Z[U>>2]|0)+38|0,J=(j[S>>1]|0)+1<<16>>16,j[S>>1]=J,(J&65535)>200)JV(W,200,47316);J=V+24|0;Z:do switch(Z[J>>2]|0){case 271:{_=1,K=10;break}case 45:{_=0,K=10;break}case 35:{_=2,K=10;break}case 126:{_=14,K=10;break}case 64:{_=16,K=10;break}case 37:{_=17,K=10;break}case 36:{_=18,K=10;break}case 288:{Z[$+8>>2]=-1,Z[$+12>>2]=-1,Z[$>>2]=5,S=$+4|0,Z[S>>2]=0,Z[S>>2]=Z[V+28>>2],K=28;break}case 290:{S=Z[V+28>>2]|0,Z[Y>>2]=S,Z[Y+4>>2]=(N[S+4>>0]|64)&255,S=w3(W,Y,Y)|0,Z[$+8>>2]=-1,Z[$+12>>2]=-1,Z[$>>2]=4,Z[$+4>>2]=S,K=28;break}case 270:{Z[$+8>>2]=-1,Z[$+12>>2]=-1,Z[$>>2]=1,Z[$+4>>2]=0,K=28;break}case 276:{Z[$+8>>2]=-1,Z[$+12>>2]=-1,Z[$>>2]=2,Z[$+4>>2]=0,K=28;break}case 263:{Z[$+8>>2]=-1,Z[$+12>>2]=-1,Z[$>>2]=3,Z[$+4>>2]=0,K=28;break}case 280:{if(!(N[(Z[W>>2]|0)+77>>0]|0))$2(V,47701);else{S=s2(W,8388659)|0,Z[$+8>>2]=-1,Z[$+12>>2]=-1,Z[$>>2]=13,Z[$+4>>2]=S,K=28;break Z}break}case 123:{NS(V,$),K=31;break}case 265:{if(S=V+4|0,P=Z[S>>2]|0,Z[V+16>>2]=P,O=V+32|0,(Z[O>>2]|0)==287)Z[J>>2]=R2(V,V+28|0)|0,L=Z[S>>2]|0;else S=O,F=Z[S+4>>2]|0,z=V+24|0,Z[z>>2]=Z[S>>2],Z[z+4>>2]=F,Z[O>>2]=287,L=P;hW(V,$,0,L),K=31;break}default:gW(V,$),K=31}while(0);do if((K|0)==10){if(L=Z[V+4>>2]|0,Z[V+16>>2]=L,W=V+32|0,(Z[W>>2]|0)==287)Z[J>>2]=R2(V,V+28|0)|0;else P=W,O=Z[P+4>>2]|0,F=V+24|0,Z[F>>2]=Z[P>>2],Z[F+4>>2]=O,Z[W>>2]=287;u5(V,$,18)|0,IL(Z[Q>>2]|0,_,$,L),K=31}else if((K|0)==28)if(Z[V+16>>2]=Z[V+4>>2],L=V+32|0,(Z[L>>2]|0)==287){W=R2(V,V+28|0)|0,Z[J>>2]=W,H=W;break}else{W=L,O=Z[W+4>>2]|0,F=V+24|0,Z[F>>2]=Z[W>>2],Z[F+4>>2]=O,Z[L>>2]=287,K=31;break}while(0);if((K|0)==31)H=Z[J>>2]|0;do switch(H|0){case 43:{C=0;break}case 45:{C=1;break}case 42:{C=2;break}case 47:{C=3;break}case 37:{C=4;break}case 94:{C=5;break}case 38:{C=6;break}case 124:{C=7;break}case 293:{C=8;break}case 126:{C=8;break}case 294:{C=9;break}case 295:{C=10;break}case 296:{C=11;break}case 297:{C=12;break}case 298:{C=13;break}case 92:{C=15;break}case 279:{C=19;break}case 285:case 284:{C=23;break}case 281:{C=20;break}case 60:{C=21;break}case 283:{C=22;break}case 62:{C=24;break}case 282:{C=25;break}case 257:{C=26;break}case 272:{C=27;break}default:return A=28,y=Z[U>>2]|0,k=y+38|0,m=j[k>>1]|0,I=m+-1<<16>>16,j[k>>1]=I,q=X,A|0}while(0);H=V+4|0,_=V+16|0,L=V+32|0,O=V+28|0,F=V+24|0,W=C;while(!0){if((G[896+(W<<1)>>0]|0)<=(T|0)){A=W,K=63;break}if(C=Z[H>>2]|0,Z[_>>2]=C,(Z[L>>2]|0)==287)Z[J>>2]=R2(V,O)|0;else P=L,z=Z[P+4>>2]|0,S=F,Z[S>>2]=Z[P>>2],Z[S+4>>2]=z,Z[L>>2]=287;if($S(Z[Q>>2]|0,W,$),z=W,W=u5(V,Y,G[896+(W<<1)+1>>0]|0)|0,TS(Z[Q>>2]|0,z,$,Y,C),(W|0)==28){A=28,K=63;break}}if((K|0)==63)return y=Z[U>>2]|0,k=y+38|0,m=j[k>>1]|0,I=m+-1<<16>>16,j[k>>1]=I,q=X,A|0;return 0}function w4(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if(Y=q,q=q+16|0,Q=Y,W=V+24|0,U=Z[V+4>>2]|0,(Z[W>>2]|0)!=($|0))if((U|0)==(X|0))c7(V,$);else S=Z[V+44>>2]|0,J=_Q(V,$)|0,$=_Q(V,T)|0,T=VY(X)|0,_=$Y(X)|0,Z[Q>>2]=J,Z[Q+4>>2]=$,Z[Q+8>>2]=T,Z[Q+12>>2]=_,$2(V,Z5(S,47655,Q)|0);if(Z[V+16>>2]=U,U=V+32|0,(Z[U>>2]|0)==287){Z[W>>2]=R2(V,V+28|0)|0,q=Y;return}else{W=U,Q=Z[W+4>>2]|0,S=V+24|0,Z[S>>2]=Z[W>>2],Z[S+4>>2]=Q,Z[U>>2]=287,q=Y;return}}function aS(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0;if(T=q,q=q+32|0,X=T+16|0,Y=T,Q=V+40|0,W=Z[Q>>2]|0,U=V+4|0,S=Z[U>>2]|0,J=V+24|0,_=(Z[J>>2]|0)==267&1,K=V+16|0,Z[K>>2]=S,P=V+32|0,(Z[P>>2]|0)==287)O=R2(V,V+28|0)|0,Z[J>>2]=O,L=O;else O=P,F=Z[O>>2]|0,z=Z[O+4>>2]|0,O=V+24|0,Z[O>>2]=F,Z[O+4>>2]=z,Z[P>>2]=287,L=F;switch(F=V+20|0,Z[F>>2]=(L|0)==40?1:-1,u5(V,Y,0)|0,L=Z[J>>2]|0,L|0){case 287:case 275:{H=0;break}default:if(!(Z[F>>2]|0))H=(S|0)==(Z[U>>2]|0)&1;else H=0}S=H&_;do if(!S){if((L|0)!=275)c7(V,275);if(Z[K>>2]=Z[U>>2],(Z[P>>2]|0)==287){_=R2(V,V+28|0)|0,Z[J>>2]=_,C=_;break}else{_=P,H=Z[_>>2]|0,F=Z[_+4>>2]|0,_=V+24|0,Z[_>>2]=H,Z[_+4>>2]=F,Z[P>>2]=287,C=H;break}}else Z[V+12>>2]=1,C=L;while(0);Z:do switch(C|0){case 258:case 266:{QS(Z[Q>>2]|0,Y),N[X+10>>0]=0,N[X+8>>0]=N[W+46>>0]|0,L=W+12|0,H=Z[(Z[L>>2]|0)+56>>2]|0,j[X+4>>1]=Z[H+28>>2],j[X+6>>1]=Z[H+16>>2],N[X+9>>0]=0,H=W+16|0,Z[X>>2]=Z[H>>2],Z[H>>2]=X,H=Z[Y+8>>2]|0,F=Z[U>>2]|0,_=(Z[J>>2]|0)==266,Z[K>>2]=F,z=(Z[P>>2]|0)==287;do if(_){if(z)O=R2(V,V+28|0)|0,Z[J>>2]=O,A=O;else O=P,y=Z[O>>2]|0,k=Z[O+4>>2]|0,O=V+24|0,Z[O>>2]=y,Z[O+4>>2]=k,Z[P>>2]=287,A=y;if((A|0)!=289)c7(V,289);if(y=V+28|0,k=Z[y>>2]|0,Z[K>>2]=Z[U>>2],(Z[P>>2]|0)==287){Z[J>>2]=R2(V,y)|0,m=k;break}else{y=P,O=Z[y+4>>2]|0,I=V+24|0,Z[I>>2]=Z[y>>2],Z[I+4>>2]=O,Z[P>>2]=287,m=k;break}}else{if(z)Z[J>>2]=R2(V,V+28|0)|0;else k=P,O=Z[k+4>>2]|0,I=V+24|0,Z[I>>2]=Z[k>>2],Z[I+4>>2]=O,Z[P>>2]=287;m=y9(Z[V+44>>2]|0,57656,5)|0}while(0);if(z=Z[V+56>>2]|0,_=z+12|0,O=z+16|0,I=Z[O>>2]|0,k=z+20|0,(I|0)<(Z[k>>2]|0))u=Z[_>>2]|0,g=I;else z=XZ(Z[V+44>>2]|0,Z[_>>2]|0,k,16,32767,47008)|0,Z[_>>2]=z,u=z,g=Z[O>>2]|0;Z[u+(I<<4)>>2]=m,Z[u+(I<<4)+8>>2]=F,N[u+(I<<4)+12>>0]=N[(Z[Q>>2]|0)+46>>0]|0,Z[u+(I<<4)+4>>2]=H,Z[O>>2]=g+1,JN(V,I)|0;V:while(!0){switch(Z[J>>2]|0){case 292:case 287:case 262:case 261:case 260:{i=34;break V}case 286:case 59:break;default:break V}U$(V)}if((i|0)==34)return BZ(W),q=T,S|0;if(H=W+28|0,F=Z[H>>2]|0,Z[H>>2]=-1,H=s2(W,2147450916)|0,(F|0)!=-1)if((H|0)!=-1){I=Z[(Z[W>>2]|0)+12>>2]|0,O=H;while(!0)if(t=I+(O<<2)|0,Y0=Z[t>>2]|0,z=(Y0>>>14)+-131071|0,_=(z|0)==-1?-1:O+1+z|0,(_|0)==-1)break;else O=_;if(I=F+~O|0,(((I|0)>-1?I:0-I|0)|0)>131071)$2(Z[L>>2]|0,46981);else{Z[t>>2]=(I<<14)+2147467264|Y0&16383,X0=H;break Z}}else X0=F;else X0=H;break}default:bY(Z[Q>>2]|0,Y),N[X+10>>0]=0,N[X+8>>0]=N[W+46>>0]|0,I=Z[(Z[W+12>>2]|0)+56>>2]|0,j[X+4>>1]=Z[I+28>>2],j[X+6>>1]=Z[I+16>>2],N[X+9>>0]=0,I=W+16|0,Z[X>>2]=Z[I>>2],Z[I>>2]=X,X0=Z[Y+12>>2]|0}while(0);Z:do{switch(Y=Z[J>>2]|0,Y|0){case 277:case 292:case 287:case 262:case 261:case 260:break Z;default:}U$(V)}while((Y|0)!=274);BZ(W),V=W+28|0;do if((Z[J>>2]&-2|0)==260){Y=Z[V>>2]|0,Z[V>>2]=-1,X=s2(W,2147450916)|0;do if((Y|0)!=-1)if((X|0)!=-1){Q=Z[(Z[W>>2]|0)+12>>2]|0,Y0=X;while(!0)if(T0=Q+(Y0<<2)|0,Z0=Z[T0>>2]|0,t=(Z0>>>14)+-131071|0,g=(t|0)==-1?-1:Y0+1+t|0,(g|0)==-1)break;else Y0=g;if(Q=Y+~Y0|0,(((Q|0)>-1?Q:0-Q|0)|0)>131071)$2(Z[W+12>>2]|0,46981);else{Z[T0>>2]=(Q<<14)+2147467264|Z0&16383,i=54;break}}else W0=Y;else i=54;while(0);if((i|0)==54)if((X|0)==-1)break;else W0=X;if(Y=Z[$>>2]|0,(Y|0)==-1){Z[$>>2]=W0;break}H=Z[(Z[W>>2]|0)+12>>2]|0,F=Y;while(!0)if(O0=H+(F<<2)|0,y0=Z[O0>>2]|0,Y=(y0>>>14)+-131071|0,L=(Y|0)==-1?-1:F+1+Y|0,(L|0)==-1)break;else F=L;if(H=W0+~F|0,(((H|0)>-1?H:0-H|0)|0)>131071)$2(Z[W+12>>2]|0,46981);else{Z[O0>>2]=(H<<14)+2147467264|y0&16383;break}}while(0);if(Z[W+24>>2]=Z[W+20>>2],(X0|0)==-1)return q=T,S|0;if(y0=Z[V>>2]|0,(y0|0)==-1)return Z[V>>2]=X0,q=T,S|0;V=Z[(Z[W>>2]|0)+12>>2]|0,O0=y0;while(!0)if(E0=V+(O0<<2)|0,H0=Z[E0>>2]|0,y0=(H0>>>14)+-131071|0,W0=(y0|0)==-1?-1:O0+1+y0|0,(W0|0)==-1)break;else O0=W0;if(V=X0+~O0|0,(((V|0)>-1?V:0-V|0)|0)>131071)$2(Z[W+12>>2]|0,46981);return Z[E0>>2]=(V<<14)+2147467264|H0&16383,q=T,S|0}function t3(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0,j8=0,C6=0,o6=0,u6=0,p8=0,i8=0,q8=0,m8=0,l8=0,w8=0,U2=0,K8=0,A8=0,t8=0;$=q,q=q+64|0,T=$+40|0,X=$+32|0,Y=$+24|0,Q=$+16|0,W=$+8|0,U=$,S=$+48|0,J=V+16|0,_=V+116|0,K=V+12|0,P=V+8|0,O=V+38|0,L=V+24|0,F=V+32|0,z=V+28|0,H=S+4|0,C=Z[J>>2]|0;Z:while(!0){A=Z[Z[C>>2]>>2]|0,y=A+12|0,k=Z[(Z[y>>2]|0)+8>>2]|0,m=C+24|0,I=C+28|0,u=C+4|0,g=C+4|0,i=C+4|0,t=C+4|0,Y0=C+4|0,X0=C+4|0,T0=C+4|0,Z0=Z[C+24>>2]|0;V:while(!0){if(W0=Z[I>>2]|0,Z[I>>2]=W0+4,O0=Z[W0>>2]|0,W0=Z[543058]|0,(W0|Z[543059]|0)>(Z[8698]|0)){if(Z[_>>2]=1,y0=Z[J>>2]|0,E0=y0+18|0,H0=G[E0>>0]|0,!(H0&128)){D0=5;break Z}N[E0>>0]=H0&127,_0=Z[m>>2]|0}else _0=Z0;Z[543058]=W0+2,H0=O0>>>6&255,F0=_0+(H0<<3)|0;$:do switch(O0&63){case 44:{D0=229;break V}case 0:{Z[543058]=W0+1,k0=O0>>>23,Z[F0>>2]=Z[_0+(k0<<3)>>2],Z[_0+(H0<<3)+4>>2]=Z[_0+(k0<<3)+4>>2],m0=_0;break}case 1:{Z[543058]=W0+1,k0=O0>>>14,Z[F0>>2]=Z[k+(k0<<3)>>2],Z[_0+(H0<<3)+4>>2]=Z[k+(k0<<3)+4>>2],m0=_0;break}case 2:{k0=Z[I>>2]|0,Z[I>>2]=k0+4,B0=(Z[k0>>2]|0)>>>6,Z[F0>>2]=Z[k+(B0<<3)>>2],Z[_0+(H0<<3)+4>>2]=Z[k+(B0<<3)+4>>2],m0=_0;break}case 3:{if(Z[F0>>2]=O0>>>23,Z[_0+(H0<<3)+4>>2]=1,!(O0&8372224))m0=_0;else Z[I>>2]=(Z[I>>2]|0)+4,m0=_0;break}case 4:{B0=O0>>>23,k0=F0;while(!0)if(Z[k0+4>>2]=0,!B0){m0=_0;break}else B0=B0+-1|0,k0=k0+8|0;break}case 5:{k0=Z[(Z[A+16+(O0>>>23<<2)>>2]|0)+8>>2]|0,Z[F0>>2]=Z[k0>>2],Z[_0+(H0<<3)+4>>2]=Z[k0+4>>2],m0=_0;break}case 6:{k0=O0>>>14,XY(V,Z[(Z[A+16+(O0>>>23<<2)>>2]|0)+8>>2]|0,(O0&4194304|0)==0?_0+((k0&511)<<3)|0:k+((k0&255)<<3)|0,F0),m0=Z[m>>2]|0;break}case 7:{k0=O0>>>14,XY(V,_0+(O0>>>23<<3)|0,(O0&4194304|0)==0?_0+((k0&511)<<3)|0:k+((k0&255)<<3)|0,F0),m0=Z[m>>2]|0;break}case 8:{k0=O0>>>23,B0=O0>>>14,KQ(V,Z[(Z[A+16+(H0<<2)>>2]|0)+8>>2]|0,(O0|0)<0?k+((k0&255)<<3)|0:_0+(k0<<3)|0,(O0&4194304|0)==0?_0+((B0&511)<<3)|0:k+((B0&255)<<3)|0),m0=Z[m>>2]|0;break}case 9:{if(B0=Z[A+16+(O0>>>23<<2)>>2]|0,k0=Z[B0+8>>2]|0,Z[k0>>2]=Z[F0>>2],g0=_0+(H0<<3)+4|0,Z[k0+4>>2]=Z[g0>>2],((Z[g0>>2]&64|0)!=0?(g0=Z[F0>>2]|0,(N[g0+5>>0]&3)!=0):0)?(k0=B0+5|0,B0=N[k0>>0]|0,(B0&4)!=0):0)if(o0=Z[K>>2]|0,(G[o0+49>>0]|0)<2){E1(o0,g0),m0=_0;break $}else{N[k0>>0]=N[o0+48>>0]&3|B0&-72,m0=_0;break $}else m0=_0;break}case 10:{B0=O0>>>23,o0=O0>>>14,KQ(V,F0,(O0|0)<0?k+((B0&255)<<3)|0:_0+(B0<<3)|0,(O0&4194304|0)==0?_0+((o0&511)<<3)|0:k+((o0&255)<<3)|0),m0=Z[m>>2]|0;break}case 11:{if(o0=O0>>>23,B0=O0>>>14,k0=B0&511,g0=Z[K>>2]|0,h0=g0+4|0,C0=r6[Z[g0>>2]&3](Z[h0>>2]|0,0,5,32)|0,!C0){if(!(N[g0+51>>0]|0)){D0=29;break Z}if(M2(V,1),u0=r6[Z[g0>>2]&3](Z[h0>>2]|0,0,5,32)|0,!u0){D0=29;break Z}else p0=u0}else p0=C0;if(C0=g0+12|0,Z[C0>>2]=(Z[C0>>2]|0)+32,C0=g0+56|0,N[p0+5>>0]=N[g0+48>>0]&3,N[p0+4>>0]=5,Z[p0>>2]=Z[C0>>2],Z[C0>>2]=p0,Z[p0+8>>2]=0,N[p0+6>>0]=-1,C0=p0+12|0,Z[C0>>2]=0,g0=p0+28|0,Z[g0>>2]=0,u0=p0+16|0,Z[u0>>2]=2172240,h0=p0+7|0,N[h0>>0]=0,q0=p0+20|0,Z[q0>>2]=2172240,Z[F0>>2]=p0,Z[_0+(H0<<3)+4>>2]=69,k0|o0|0){if(i0=O0>>>26&31,t0=(i0|0)==0?o0:(o0&7|8)<>>17&31,o0=(i0|0)==0?k0:(B0&7|8)<>2]|0,B0=N[h0>>0]|0,k0=B0&255,E6=Z[u0>>2]|0,(i0|0)<(t0|0)){if((t0+1|0)>>>0>536870911){D0=33;break Z}if(V6=Z[C0>>2]|0,n0=i0<<3,i0=t0<<3,e0=Z[K>>2]|0,Z6=(V6|0)==0,U6=e0+4|0,N6=r6[Z[e0>>2]&3](Z[U6>>2]|0,V6,n0,i0)|0,(i0|0)!=0&(N6|0)==0){if(!(N[e0+51>>0]|0)){D0=37;break Z}if(M2(V,1),A6=r6[Z[e0>>2]&3](Z[U6>>2]|0,V6,n0,i0)|0,!A6){D0=37;break Z}else S6=A6}else S6=N6;if(N6=e0+12|0,Z[N6>>2]=(Z6?0:0-n0|0)+i0+(Z[N6>>2]|0),Z[C0>>2]=S6,C0=Z[g0>>2]|0,(C0|0)<(t0|0)){N6=C0;do Z[S6+(N6<<3)+4>>2]=0,N6=N6+1|0;while((N6|0)!=(t0|0))}Z[g0>>2]=t0}if(!o0)Z[u0>>2]=2172240,H6=2172240,M6=0,F6=0;else{if(N6=o0+-1|0,N6>>>0>255){C0=0,i0=N6;while(!0)if(n0=C0+8|0,Z6=i0>>>8,i0>>>0>65535)C0=n0,i0=Z6;else{J6=n0,L6=Z6;break}}else J6=0,L6=N6;if(i0=J6+(G[400+L6>>0]|0)|0,(i0|0)>30){D0=48;break Z}if(C0=1<>>0>214748364){D0=50;break Z}if(o0=20<>2]|0,g0=t0+4|0,Z6=r6[Z[t0>>2]&3](Z[g0>>2]|0,0,0,o0)|0,i0>>>0<30&(Z6|0)==0){if(!(N[t0+51>>0]|0)){D0=54;break Z}if(M2(V,1),n0=r6[Z[t0>>2]&3](Z[g0>>2]|0,0,0,o0)|0,!n0){D0=54;break Z}else c0=n0}else c0=Z6;Z6=t0+12|0,Z[Z6>>2]=(Z[Z6>>2]|0)+o0,Z[u0>>2]=c0,o0=c0,Z6=0;do Z[o0+(Z6*20|0)+16>>2]=0,Z[o0+(Z6*20|0)+12>>2]=0,Z[o0+(Z6*20|0)+4>>2]=0,Z6=Z6+1|0,o0=Z[u0>>2]|0;while((Z6|0)<(C0|0));H6=o0,M6=i0&255,F6=C0}if(N[h0>>0]=M6,Z[q0>>2]=H6+(F6*20|0),B0<<24>>24!=31){Z6=1<>2]|0){if(t0=E6+(Z6*20|0)+8|0,n0=CZ(p0,t0)|0,(n0|0)==2172216)T6=I4(V,p0,t0)|0;else T6=n0;Z[T6>>2]=Z[E6+(Z6*20|0)>>2],Z[T6+4>>2]=Z[N6>>2]}while((u0|0)>1)}if((E6|0)!=2172240)Z6=20<>2]|0,r6[Z[B0>>2]&3](Z[B0+4>>2]|0,E6,Z6,0)|0,q0=B0+12|0,Z[q0>>2]=(Z[q0>>2]|0)-((E6|0)==0?0:Z6)}if(Z6=Z[K>>2]|0,q0=Z6+12|0,B0=Z[q0>>2]|0,(B0|0)>0){if(Z[P>>2]=F0+8,!(N[Z6+51>>0]|0))h0=Z6+8|0,Z[h0>>2]=B0+1600+(Z[h0>>2]|0),Z[q0>>2]=-1600;else g1(V);Z[P>>2]=Z[X0>>2]}m0=Z[m>>2]|0;break}case 12:{q0=O0>>>23,h0=_0+(q0<<3)|0,B0=F0+8|0,Z[B0>>2]=Z[h0>>2],Z[B0+4>>2]=Z[_0+(q0<<3)+4>>2],q0=O0>>>14,XY(V,h0,(O0&4194304|0)==0?_0+((q0&511)<<3)|0:k+((q0&255)<<3)|0,F0),m0=Z[m>>2]|0;break}case 13:{if(Z[543058]=W0+1,q0=O0>>>23,h0=(O0|0)<0?k+((q0&255)<<3)|0:_0+(q0<<3)|0,q0=O0>>>14,B0=(O0&4194304|0)==0?_0+((q0&511)<<3)|0:k+((q0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[B0+4>>2]|0)==3:0){Z[F0>>2]=(Z[B0>>2]|0)+(Z[h0>>2]|0),Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,B0,6),m0=Z[m>>2]|0;break}case 14:{if(Z[543058]=W0+1,B0=O0>>>23,h0=(O0|0)<0?k+((B0&255)<<3)|0:_0+(B0<<3)|0,B0=O0>>>14,q0=(O0&4194304|0)==0?_0+((B0&511)<<3)|0:k+((B0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[q0+4>>2]|0)==3:0){Z[F0>>2]=(Z[h0>>2]|0)-(Z[q0>>2]|0),Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,q0,7),m0=Z[m>>2]|0;break}case 15:{if(q0=O0>>>23,h0=(O0|0)<0?k+((q0&255)<<3)|0:_0+(q0<<3)|0,q0=O0>>>14,B0=(O0&4194304|0)==0?_0+((q0&511)<<3)|0:k+((q0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[B0+4>>2]|0)==3:0){Z[F0>>2]=YJ(Z[h0>>2]|0,Z[B0>>2]|0)|0,Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,B0,8),m0=Z[m>>2]|0;break}case 16:{if(B0=O0>>>23,h0=(O0|0)<0?k+((B0&255)<<3)|0:_0+(B0<<3)|0,B0=O0>>>14,q0=(O0&4194304|0)==0?_0+((B0&511)<<3)|0:k+((B0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[q0+4>>2]|0)==3:0){Z[F0>>2]=AY(Z[h0>>2]|0,Z[q0>>2]|0)|0,Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,q0,9),m0=Z[m>>2]|0;break}case 17:{if(q0=O0>>>23,h0=(O0|0)<0?k+((q0&255)<<3)|0:_0+(q0<<3)|0,q0=O0>>>14,B0=(O0&4194304|0)==0?_0+((q0&511)<<3)|0:k+((q0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[B0+4>>2]|0)==3:0){Z[F0>>2]=QJ(Z[h0>>2]|0,Z[B0>>2]|0)|0,Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,B0,10),m0=Z[m>>2]|0;break}case 18:{if(B0=O0>>>23,h0=(O0|0)<0?k+((B0&255)<<3)|0:_0+(B0<<3)|0,B0=O0>>>14,q0=(O0&4194304|0)==0?_0+((B0&511)<<3)|0:k+((B0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[q0+4>>2]|0)==3:0){Z[F0>>2]=WJ(Z[h0>>2]|0,Z[q0>>2]|0)|0,Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,q0,11),m0=Z[m>>2]|0;break}case 19:{if(Z[543058]=W0+1,q0=O0>>>23,h0=(O0|0)<0?k+((q0&255)<<3)|0:_0+(q0<<3)|0,q0=O0>>>14,B0=(O0&4194304|0)==0?_0+((q0&511)<<3)|0:k+((q0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[B0+4>>2]|0)==3:0){Z[F0>>2]=Z[B0>>2]&Z[h0>>2],Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,B0,12),m0=Z[m>>2]|0;break}case 20:{if(Z[543058]=W0+1,B0=O0>>>23,h0=(O0|0)<0?k+((B0&255)<<3)|0:_0+(B0<<3)|0,B0=O0>>>14,q0=(O0&4194304|0)==0?_0+((B0&511)<<3)|0:k+((B0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[q0+4>>2]|0)==3:0){Z[F0>>2]=Z[q0>>2]|Z[h0>>2],Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,q0,13),m0=Z[m>>2]|0;break}case 21:{if(Z[543058]=W0+1,q0=O0>>>23,h0=(O0|0)<0?k+((q0&255)<<3)|0:_0+(q0<<3)|0,q0=O0>>>14,B0=(O0&4194304|0)==0?_0+((q0&511)<<3)|0:k+((q0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[B0+4>>2]|0)==3:0){Z[F0>>2]=Z[B0>>2]^Z[h0>>2],Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,B0,14),m0=Z[m>>2]|0;break}case 22:{if(Z[543058]=W0+1,B0=O0>>>23,h0=(O0|0)<0?k+((B0&255)<<3)|0:_0+(B0<<3)|0,B0=O0>>>14,q0=(O0&4194304|0)==0?_0+((B0&511)<<3)|0:k+((B0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[q0+4>>2]|0)==3:0){Z[F0>>2]=UW(Z[h0>>2]|0,Z[q0>>2]|0)|0,Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,q0,15),m0=Z[m>>2]|0;break}case 23:{if(Z[543058]=W0+1,q0=O0>>>23,h0=(O0|0)<0?k+((q0&255)<<3)|0:_0+(q0<<3)|0,q0=O0>>>14,B0=(O0&4194304|0)==0?_0+((q0&511)<<3)|0:k+((q0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[B0+4>>2]|0)==3:0){Z[F0>>2]=JW(Z[h0>>2]|0,Z[B0>>2]|0)|0,Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,B0,16),m0=Z[m>>2]|0;break}case 24:{if(Z[543058]=W0+1,B0=O0>>>23,h0=(O0|0)<0?k+((B0&255)<<3)|0:_0+(B0<<3)|0,B0=O0>>>14,q0=(O0&4194304|0)==0?_0+((B0&511)<<3)|0:k+((B0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[q0+4>>2]|0)==3:0){Z[F0>>2]=yY(Z[h0>>2]|0,Z[q0>>2]|0)|0,Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,q0,17),m0=Z[m>>2]|0;break}case 25:{if(Z[543058]=W0+1,q0=O0>>>23,h0=(O0|0)<0?k+((q0&255)<<3)|0:_0+(q0<<3)|0,q0=O0>>>14,B0=(O0&4194304|0)==0?_0+((q0&511)<<3)|0:k+((q0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[B0+4>>2]|0)==3:0){Z[F0>>2]=WW(Z[h0>>2]|0,Z[B0>>2]|0)|0,Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,B0,18),m0=Z[m>>2]|0;break}case 26:{if(Z[543058]=W0+1,B0=O0>>>23,h0=(O0|0)<0?k+((B0&255)<<3)|0:_0+(B0<<3)|0,B0=O0>>>14,q0=(O0&4194304|0)==0?_0+((B0&511)<<3)|0:k+((B0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[q0+4>>2]|0)==3:0){Z[F0>>2]=NW(Z[h0>>2]|0,Z[q0>>2]|0)|0,Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,q0,19),m0=Z[m>>2]|0;break}case 27:{if(Z[543058]=W0+1,q0=O0>>>23,h0=(O0|0)<0?k+((q0&255)<<3)|0:_0+(q0<<3)|0,q0=O0>>>14,B0=(O0&4194304|0)==0?_0+((q0&511)<<3)|0:k+((q0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[B0+4>>2]|0)==3:0){Z[F0>>2]=~Z[h0>>2],Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,B0,20),m0=Z[m>>2]|0;break}case 28:{if(B0=O0>>>23,h0=(O0|0)<0?k+((B0&255)<<3)|0:_0+(B0<<3)|0,B0=O0>>>14,q0=(O0&4194304|0)==0?_0+((B0&511)<<3)|0:k+((B0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[q0+4>>2]|0)==3:0){Z[F0>>2]=(AY(Z[h0>>2]|0,Z[q0>>2]|0)|0)&-65536,Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,q0,21),m0=Z[m>>2]|0;break}case 29:{if(Z[543058]=W0+1,q0=O0>>>23,h0=(O0|0)<0?k+((q0&255)<<3)|0:_0+(q0<<3)|0,q0=O0>>>14,B0=(O0&4194304|0)==0?_0+((q0&511)<<3)|0:k+((q0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[B0+4>>2]|0)==3:0){Z[F0>>2]=XJ(Z[h0>>2]|0)|0,Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,B0,22),m0=Z[m>>2]|0;break}case 30:{if(Z[543058]=W0+1,B0=O0>>>23,h0=(O0|0)<0?k+((B0&255)<<3)|0:_0+(B0<<3)|0,B0=O0>>>14,q0=(O0&4194304|0)==0?_0+((B0&511)<<3)|0:k+((B0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[q0+4>>2]|0)==3:0){Z[F0>>2]=TJ(Z[h0>>2]|0)|0,Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,q0,23),m0=Z[m>>2]|0;break}case 31:{if(Z[543058]=W0+1,q0=O0>>>23,h0=(O0|0)<0?k+((q0&255)<<3)|0:_0+(q0<<3)|0,q0=O0>>>14,B0=(O0&4194304|0)==0?_0+((q0&511)<<3)|0:k+((q0&255)<<3)|0,(Z[h0+4>>2]|0)==3?(Z[B0+4>>2]|0)==3:0){Z[F0>>2]=$J(Z[h0>>2]|0)|0,Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}k9(V,F0,h0,B0,24),m0=Z[m>>2]|0;break}case 32:{if(B0=O0>>>23,h0=_0+(B0<<3)|0,Z[543058]=W0+1,(Z[_0+(B0<<3)+4>>2]|0)==3){Z[F0>>2]=0-(Z[h0>>2]|0),Z[_0+(H0<<3)+4>>2]=3,m0=_0;break $}else{k9(V,F0,h0,h0,25),m0=Z[m>>2]|0;break $}break}case 33:{switch(h0=O0>>>23,Z[_0+(h0<<3)+4>>2]|0){case 0:{W6=1;break}case 1:{W6=(Z[_0+(h0<<3)>>2]|0)==0;break}default:W6=0}Z[F0>>2]=W6&1,Z[_0+(H0<<3)+4>>2]=1,m0=_0;break}case 34:{LX(V,F0,_0+(O0>>>23<<3)|0),m0=Z[m>>2]|0;break}case 35:{if(h0=O0>>>23,B0=O0>>>14&511,Z[P>>2]=_0+(B0<<3)+8,LT(V,1-h0+B0|0),B0=Z[m>>2]|0,q0=B0+(H0<<3)|0,Z6=B0+(h0<<3)|0,Z[q0>>2]=Z[Z6>>2],Z[B0+(H0<<3)+4>>2]=Z[B0+(h0<<3)+4>>2],B0=Z[K>>2]|0,C0=B0+12|0,i0=Z[C0>>2]|0,(i0|0)>0){if(Z[P>>2]=H0>>>0>>0?Z6:q0+8|0,!(N[B0+51>>0]|0))q0=B0+8|0,Z[q0>>2]=i0+1600+(Z[q0>>2]|0),Z[C0>>2]=-1600;else g1(V);C0=Z[g>>2]|0,Z[P>>2]=C0,h6=C0}else h6=Z[u>>2]|0;C0=Z[m>>2]|0,Z[P>>2]=h6,m0=C0;break}case 36:{if(H0|0)q4(V,(Z[m>>2]|0)+(H0<<3)+-8|0);Z[I>>2]=(Z[I>>2]|0)+((O0>>>14)+-131071<<2),m0=_0;break}case 37:{if(C0=O0>>>23,q0=(O0|0)<0?k+((C0&255)<<3)|0:_0+(C0<<3)|0,C0=O0>>>14,i0=(O0&4194304|0)==0?_0+((C0&511)<<3)|0:k+((C0&255)<<3)|0,(Z[q0+4>>2]|0)==(Z[i0+4>>2]|0))s6=(YZ(V,q0,i0)|0)!=0;else s6=0;if(i0=Z[I>>2]|0,(H0|0)==(s6&1|0)){if(q0=Z[i0>>2]|0,C0=q0>>>6&255,!C0)p6=i0;else q4(V,(Z[m>>2]|0)+(C0<<3)+-8|0),p6=Z[I>>2]|0;G6=p6+((q0>>>14)+-131070<<2)|0}else G6=i0+4|0;Z[I>>2]=G6,m0=Z[m>>2]|0;break}case 38:{if(i0=O0>>>23,q0=O0>>>14,C0=(wD(V,(O0|0)<0?k+((i0&255)<<3)|0:_0+(i0<<3)|0,(O0&4194304|0)==0?_0+((q0&511)<<3)|0:k+((q0&255)<<3)|0)|0)==(H0|0),q0=Z[I>>2]|0,C0){if(C0=Z[q0>>2]|0,i0=C0>>>6&255,!i0)w6=q0;else q4(V,(Z[m>>2]|0)+(i0<<3)+-8|0),w6=Z[I>>2]|0;B6=w6+((C0>>>14)+-131070<<2)|0}else B6=q0+4|0;Z[I>>2]=B6,m0=Z[m>>2]|0;break}case 39:{if(q0=O0>>>23,C0=O0>>>14,i0=(ID(V,(O0|0)<0?k+((q0&255)<<3)|0:_0+(q0<<3)|0,(O0&4194304|0)==0?_0+((C0&511)<<3)|0:k+((C0&255)<<3)|0)|0)==(H0|0),C0=Z[I>>2]|0,i0){if(i0=Z[C0>>2]|0,q0=i0>>>6&255,!q0)i6=C0;else q4(V,(Z[m>>2]|0)+(q0<<3)+-8|0),i6=Z[I>>2]|0;H8=i6+((i0>>>14)+-131070<<2)|0}else H8=C0+4|0;Z[I>>2]=H8,m0=Z[m>>2]|0;break}case 40:{if(C0=Z[_0+(H0<<3)+4>>2]|0,i0=(C0|0)==0,!(O0&8372224)){if(!i0){if(!((C0|0)==1?!(Z[F0>>2]|0):0))D0=195}}else if(!i0){if((C0|0)==1?(Z[F0>>2]|0)==0:0)D0=195}else D0=195;if((D0|0)==195){D0=0,Z[I>>2]=(Z[I>>2]|0)+4,m0=_0;break $}if(C0=Z[I>>2]|0,i0=Z[C0>>2]|0,q0=i0>>>6&255,!q0)m6=C0;else q4(V,(Z[m>>2]|0)+(q0<<3)+-8|0),m6=Z[I>>2]|0;Z[I>>2]=m6+((i0>>>14)+-131070<<2),m0=_0;break}case 41:{if(i0=O0>>>23,q0=_0+(i0<<3)|0,C0=Z[_0+(i0<<3)+4>>2]|0,i0=(C0|0)==0,!(O0&8372224))if(!i0)if((C0|0)==1?(Z[q0>>2]|0)==0:0)D0=207;else D0=206;else D0=207;else if(!i0)if((C0|0)==1?(Z[q0>>2]|0)==0:0)D0=206;else D0=207;else D0=206;if((D0|0)==206)D0=0,_8=(Z[I>>2]|0)+4|0;else if((D0|0)==207){if(D0=0,Z[F0>>2]=Z[q0>>2],Z[_0+(H0<<3)+4>>2]=C0,C0=Z[I>>2]|0,q0=Z[C0>>2]|0,i0=q0>>>6&255,!i0)v8=C0;else q4(V,(Z[m>>2]|0)+(i0<<3)+-8|0),v8=Z[I>>2]|0;_8=v8+((q0>>>14)+-131070<<2)|0}Z[I>>2]=_8,m0=_0;break}case 42:{if(q0=O0>>>23,i0=O0>>>14&511,q0|0)Z[P>>2]=F0+(q0<<3);if(!(g3(V,F0,i0+-1|0)|0)){D0=217;break V}if(i0|0)Z[P>>2]=Z[t>>2];m0=Z[m>>2]|0;break}case 43:{if(i0=O0>>>23,i0|0)Z[P>>2]=F0+(i0<<3);if(!(g3(V,F0,-1)|0)){D0=222;break V}m0=Z[m>>2]|0;break}case 45:{if(i0=F0+16|0,q0=Z[i0>>2]|0,C0=(Z[F0>>2]|0)+q0|0,B0=Z[F0+8>>2]|0,!((q0|0)<1|(C0|0)>(B0|0))){if(Z[I>>2]=(Z[I>>2]|0)+((O0>>>14)+-131071<<2),Z[F0>>2]=C0,Z[_0+(H0<<3)+4>>2]=3,Z6=F0+24|0,Z[Z6>>2]=C0,Z[Z6+4>>2]=3,(C0|0)<0|(q0|0)<(2147483647-C0|0)){m0=_0;break $}Z[i0>>2]=0,Z[i0+4>>2]=3,m0=_0;break $}if(!((q0|0)>-1|(C0|0)<(B0|0))?(Z[I>>2]=(Z[I>>2]|0)+((O0>>>14)+-131071<<2),Z[F0>>2]=C0,Z[_0+(H0<<3)+4>>2]=3,B0=F0+24|0,Z[B0>>2]=C0,Z[B0+4>>2]=3,(C0|0)<0&(q0|0)<(-2147483648-C0|0)):0)Z[i0>>2]=0,Z[i0+4>>2]=3,m0=_0;else m0=_0;break}case 46:{if(i0=F0+8|0,C0=F0+16|0,q0=_0+(H0<<3)+4|0,B0=Z[q0>>2]|0,(B0|0)!=3){if((B0&15|0)!=4){D0=253;break Z}if(B0=Z[F0>>2]|0,!(L9(B0+16|0,Z[B0+12>>2]|0,S)|0)){D0=253;break Z}Z[F0>>2]=Z[S>>2],Z[q0>>2]=3}if(B0=i0+4|0,Z6=Z[B0>>2]|0,(Z6|0)!=3){if((Z6&15|0)!=4){D0=258;break Z}if(Z6=Z[i0>>2]|0,!(L9(Z6+16|0,Z[Z6+12>>2]|0,S)|0)){D0=258;break Z}Z[i0>>2]=Z[S>>2],Z[B0>>2]=3}if(B0=C0+4|0,i0=Z[B0>>2]|0,(i0|0)==3)Y8=C0;else{if((i0&15|0)!=4){D0=264;break Z}if(i0=Z[C0>>2]|0,!(L9(i0+16|0,Z[i0+12>>2]|0,S)|0)){D0=264;break Z}Z[C0>>2]=Z[S>>2],Z[B0>>2]=3,Y8=C0}Z[F0>>2]=(Z[F0>>2]|0)-(Z[Y8>>2]|0),Z[q0>>2]=3,Z[I>>2]=(Z[I>>2]|0)+((O0>>>14)+-131071<<2),m0=_0;break}case 47:{if(q0=F0+24|0,C0=F0+16|0,B0=q0+16|0,Z[B0>>2]=Z[C0>>2],Z[B0+4>>2]=Z[C0+4>>2],C0=F0+8|0,B0=q0+8|0,Z[B0>>2]=Z[C0>>2],Z[B0+4>>2]=Z[C0+4>>2],Z[q0>>2]=Z[F0>>2],Z[q0+4>>2]=Z[_0+(H0<<3)+4>>2],Z[P>>2]=q0+24,C0=O0>>>14&511,B0=(j[O>>1]|0)+1<<16>>16,j[O>>1]=B0,(B0&65535)>199){if(B0<<16>>16==200){D0=268;break Z}if((B0&65535)>224){D0=270;break Z}}if(!(g3(V,q0,C0)|0))t3(V);j[O>>1]=(j[O>>1]|0)+-1<<16>>16,C0=Z[m>>2]|0,Z[P>>2]=Z[i>>2],q0=Z[I>>2]|0,Z[I>>2]=q0+4,B0=Z[q0>>2]|0,T8=C0,C8=B0,j8=C0+((B0>>>6&255)<<3)|0,D0=274;break}case 48:{T8=_0,C8=O0,j8=F0,D0=274;break}case 49:{if(B0=O0>>>23,C0=O0>>>14&511,!B0)C6=((Z[P>>2]|0)-F0>>3)+-1|0;else C6=B0;if(!C0)B0=Z[I>>2]|0,Z[I>>2]=B0+4,o6=(Z[B0>>2]|0)>>>6;else o6=C0;if(C0=Z[F0>>2]|0,B0=C6+-50+(o6*50|0)|0,q0=C0+28|0,(B0|0)>(Z[q0>>2]|0)){if((Z[C0+16>>2]|0)==2172240)u6=0;else u6=1<>0];PQ(V,C0,B0,u6)}if((C6|0)>0){i0=C0+12|0,Z6=C0+16|0,h0=C0+7|0,o0=C0+5|0,u0=C0+24|0,N6=B0,B0=C6;while(!0){n0=F0+(B0<<3)|0,t0=N6,N6=N6+-1|0;Y:do if(N6>>>0<(Z[q0>>2]|0)>>>0)p8=(Z[i0>>2]|0)+(N6<<3)|0,D0=293;else{g0=t0<<16,e0=0-g0|0,A6=(Z[Z6>>2]|0)+(((((g0|0)<0?(g0|0)==(e0|0)?0:e0:g0)|0)%((1<>0])+-1|1|0)|0)*20|0)|0;while(!0){if((Z[A6+12>>2]|0)==3?(Z[A6+8>>2]|0)==(g0|0):0)break;if(e0=Z[A6+16>>2]|0,!e0){i8=g0,D0=295;break Y}else A6=e0}p8=A6,D0=293}while(0);if((D0|0)==293)if(D0=0,(p8|0)==2172216)i8=t0<<16,D0=295;else q8=p8;if((D0|0)==295)D0=0,Z[S>>2]=i8,Z[H>>2]=3,q8=I4(V,C0,S)|0;if(Z[q8>>2]=Z[n0>>2],g0=n0+4|0,Z[q8+4>>2]=Z[g0>>2],(Z[g0>>2]&64|0?N[(Z[n0>>2]|0)+5>>0]&3:0)?(g0=N[o0>>0]|0,g0&4):0)e0=Z[K>>2]|0,N[o0>>0]=g0&-5,g0=e0+76|0,Z[u0>>2]=Z[g0>>2],Z[g0>>2]=C0;if((B0|0)<=1)break;else B0=B0+-1|0}}Z[P>>2]=Z[T0>>2],m0=_0;break}case 50:{B0=Z[(Z[(Z[y>>2]|0)+16>>2]|0)+(O0>>>14<<2)>>2]|0,C0=B0+32|0,u0=Z[C0>>2]|0,o0=Z[B0+40>>2]|0,h0=Z[B0+28>>2]|0;Y:do if(!u0)D0=310;else{if((o0|0)>0){Z6=u0+16|0,N6=0;do{if(i0=G[h0+(N6<<3)+5>>0]|0,!(N[h0+(N6<<3)+4>>0]|0))m8=Z[(Z[A+16+(i0<<2)>>2]|0)+8>>2]|0;else m8=_0+(i0<<3)|0;if((Z[(Z[Z6+(N6<<2)>>2]|0)+8>>2]|0)!=(m8|0)){D0=310;break Y}N6=N6+1|0}while((N6|0)<(o0|0))}Z[F0>>2]=u0,Z[_0+(H0<<3)+4>>2]=70}while(0);if((D0|0)==310){if(D0=0,u0=ZR(V,o0)|0,Z[u0+12>>2]=B0,Z[F0>>2]=u0,Z[_0+(H0<<3)+4>>2]=70,(o0|0)>0){N6=u0+16|0,Z6=0;do{if(n0=G[h0+(Z6<<3)+5>>0]|0,!(N[h0+(Z6<<3)+4>>0]|0))Z[N6+(Z6<<2)>>2]=Z[A+16+(n0<<2)>>2];else Z[N6+(Z6<<2)>>2]=qD(V,_0+(n0<<3)|0)|0;Z6=Z6+1|0}while((Z6|0)!=(o0|0))}o0=B0+5|0,Z6=N[o0>>0]|0;do if(Z6&4){if(Z[C0>>2]|0){N6=Z[K>>2]|0,N[o0>>0]=Z6&-5,h0=N6+76|0,Z[B0+72>>2]=Z[h0>>2],Z[h0>>2]=B0;break}if(N[u0+5>>0]&3)if(h0=Z[K>>2]|0,(G[h0+49>>0]|0)<2){E1(h0,u0);break}else{N[o0>>0]=N[h0+48>>0]&3|Z6&-72;break}}while(0);Z[C0>>2]=u0}if(Z6=Z[K>>2]|0,o0=Z6+12|0,B0=Z[o0>>2]|0,(B0|0)>0){if(Z[P>>2]=F0+8,!(N[Z6+51>>0]|0))h0=Z6+8|0,Z[h0>>2]=B0+1600+(Z[h0>>2]|0),Z[o0>>2]=-1600;else g1(V);Z[P>>2]=Z[Y0>>2]}m0=Z[m>>2]|0;break}case 51:{if(o0=O0>>>23,h0=o0+-1|0,B0=(_0-(Z[C>>2]|0)>>3)-(G[(Z[y>>2]|0)+76>>0]|0)|0,Z6=B0+-1|0,!o0){if(o0=Z[P>>2]|0,((Z[L>>2]|0)-o0>>3|0)<(B0|0)){if(N6=Z[F>>2]|0,(N6|0)>1e6){D0=334;break Z}if(n0=B0+4+(o0-(Z[z>>2]|0)>>3)|0,o0=N6<<1,N6=(o0|0)<1e6?o0:1e6,o0=(N6|0)<(n0|0)?n0:N6,(o0|0)>1e6){D0=336;break Z}x5(V,o0)}o0=Z[m>>2]|0,N6=o0+(H0<<3)|0,Z[P>>2]=N6+(Z6<<3),l8=Z6,w8=o0,U2=N6}else l8=h0,w8=_0,U2=F0;if((l8|0)>0){h0=w8+(1-B0<<3)|0,B0=0;do{if((B0|0)<(Z6|0))N6=h0+(B0<<3)|0,Z[U2+(B0<<3)>>2]=Z[N6>>2],K8=Z[N6+4>>2]|0;else K8=0;Z[U2+(B0<<3)+4>>2]=K8,B0=B0+1|0}while((B0|0)!=(l8|0));m0=w8}else m0=w8;break}default:m0=_0}while(0);if((D0|0)==274)if(D0=0,H0=Z[j8+12>>2]|0,!H0)m0=T8;else Z[j8>>2]=Z[j8+8>>2],Z[j8+4>>2]=H0,Z[I>>2]=(Z[I>>2]|0)+((C8>>>14)+-131071<<2),m0=T8;Z0=m0}if((D0|0)==217)D0=0,Z0=Z[J>>2]|0,I=Z0+18|0,N[I>>0]=N[I>>0]|4,A8=Z0;else if((D0|0)==222){if(D0=0,Z0=Z[J>>2]|0,I=Z[Z0+8>>2]|0,m=Z[Z0>>2]|0,Y0=Z[I>>2]|0,A=Z0+24|0,T0=(Z[A>>2]|0)+(G[(Z[(Z[m>>2]|0)+12>>2]|0)+76>>0]<<3)|0,(Z[(Z[y>>2]|0)+56>>2]|0)>0)q4(V,Z[I+24>>2]|0);if(m>>>0>>0){i=m,t=0;do Z[Y0+(t<<3)>>2]=Z[i>>2],Z[Y0+(t<<3)+4>>2]=Z[m+(t<<3)+4>>2],t=t+1|0,i=m+(t<<3)|0;while(i>>>0>>0)}T0=m,Z[I+24>>2]=Y0+((Z[A>>2]|0)-T0>>3<<3),i=Y0+((Z[P>>2]|0)-T0>>3<<3)|0,Z[P>>2]=i,Z[I+4>>2]=i,Z[I+28>>2]=Z[Z0+28>>2],i=I+18|0,N[i>>0]=N[i>>0]|64,Z[J>>2]=I,A8=I}else if((D0|0)==229){if(D0=0,i=O0>>>23,i|0)Z[P>>2]=F0+(i<<3)+-8;if((Z[(Z[y>>2]|0)+56>>2]|0)>0)q4(V,_0);i=Z[J>>2]|0,T0=Z[i>>2]|0,t=j[i+16>>1]|0,Z[J>>2]=Z[i+8>>2];V:do if(t<<16>>16){i=F0,k=t<<16>>16,u=T0;while(!0){if(i>>>0>=(Z[P>>2]|0)>>>0)break;if(g=u+8|0,Z[u>>2]=Z[i>>2],Z[u+4>>2]=Z[i+4>>2],X0=k+-1|0,!X0){t8=g;break V}else i=i+8|0,k=X0,u=g}if((k|0)>0){i=k,g=u;while(!0)if(X0=g+8|0,Z[g+4>>2]=0,(i|0)>1)i=i+-1|0,g=X0;else{t8=X0;break}}else t8=u}else t8=T0;while(0);if(Z[P>>2]=t8,!(N[C+18>>0]&4)){D0=345;break}if(T0=Z[J>>2]|0,t<<16>>16==-1)A8=T0;else Z[P>>2]=Z[T0+4>>2],A8=T0}C=A8}switch(D0|0){case 5:{cS(V,0,0,0)|0,D0=y0+28|0,Z[V+20>>2]=Z[D0>>2],Z[D0>>2]=(Z[D0>>2]|0)+-4,N[E0>>0]=N[E0>>0]|-128,Z[y0>>2]=(Z[P>>2]|0)+-8,Z8(V,1);break}case 29:{Z8(V,4);break}case 33:{x1(V);break}case 37:{Z8(V,4);break}case 48:{q1(V,46225,U);break}case 50:{x1(V);break}case 54:{Z8(V,4);break}case 253:{q1(V,46240,W);break}case 258:{q1(V,46277,Q);break}case 264:{q1(V,46306,Y);break}case 268:{q1(V,46208,X);break}case 270:{Z8(V,6);break}case 334:{Z8(V,6);break}case 336:{x5(V,1000200),q1(V,46193,T);break}case 345:{q=$;return}}}function cS(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;if(Y=q,q=q+16|0,Q=Y+8|0,W=Y,U=Z[V+16>>2]|0,j[V+36>>1]|0)if((Z[(Z[V+12>>2]|0)+144>>2]|0)==(V|0))q1(V,46799,Q);else q1(V,46757,W);if(N[V+6>>0]=1,Z[U+20>>2]=(Z[U>>2]|0)-(Z[V+28>>2]|0),N[U+18>>0]&1)return q=Y,0;if(Z[U+28>>2]=X,!X)S=V+8|0,J=Z[S>>2]|0,_=0-$|0,K=J+(_<<3)|0,P=K+-8|0,Z[U>>2]=P,Z8(V,1);return Z[U+24>>2]=T,S=V+8|0,J=Z[S>>2]|0,_=0-$|0,K=J+(_<<3)|0,P=K+-8|0,Z[U>>2]=P,Z8(V,1),0}function XY(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0;Y=q,q=q+16|0,Q=Y+8|0,W=Y,U=Y+12|0,S=V+12|0,J=Z[$+4>>2]|0,_=0,K=$;while(!0){if((J|0)==69){if($=Z[K>>2]|0,P=CZ($,T)|0,Z[P+4>>2]|0)break;if(O=Z[$+8>>2]|0,!O)break;if(L=N[O+6>>0]|0,L&1)break;$=Z[(Z[S>>2]|0)+156>>2]|0,F=(Z[O+16>>2]|0)+(((1<>0])+-1&Z[$+8>>2])*20|0)|0;while(!0){if((Z[F+12>>2]|0)==68?(Z[F+8>>2]|0)==($|0):0){z=10;break}if(H=Z[F+16>>2]|0,!H){C=2172216;break}else F=H}if((z|0)==10)z=0,C=F;if($=C+4|0,H=Z[$>>2]|0,!H){z=13;break}if(!C)break;else A=H,y=C,k=$}else{if($=J&15,($|0)==4){z=17;break}switch(J&15){case 5:{m=(Z[K>>2]|0)+8|0;break}case 7:{m=(Z[K>>2]|0)+8|0;break}default:m=(Z[S>>2]|0)+276+($<<2)|0}$=Z[m>>2]|0;Z:do if(!$)I=2172216;else{H=Z[(Z[S>>2]|0)+156>>2]|0,u=(Z[$+16>>2]|0)+(((1<>0])+-1&Z[H+8>>2])*20|0)|0;while(!0){if((Z[u+12>>2]|0)==68?(Z[u+8>>2]|0)==(H|0):0)break;if(g=Z[u+16>>2]|0,!g){I=2172216;break Z}else u=g}I=u}while(0);if($=I+4|0,F=Z[$>>2]|0,!F){z=40;break}else A=F,y=I,k=$}if(_=_+1|0,(A&15|0)==6){z=42;break}if(_>>>0>=100){z=54;break}else J=A,K=y}if((z|0)==13)N[O+6>>0]=L|1;else if((z|0)==17){L=Z[K>>2]|0,O=L+16|0,A=Z[L+12>>2]|0,L=Z[T+4>>2]|0;do if((L|0)!=3){if((L&15|0)==4?(J=Z[T>>2]|0,L9(J+16|0,Z[J+12>>2]|0,U)|0):0){i=U,z=22;break}}else i=T,z=22;while(0);if((z|0)==22?(U=Z[i>>2]|0,i=((U|0)<0?A+1|0:0)+(U>>16)|0,U=i+-1|0,(i|0)>0&U>>>0>>0):0){A=Z[S>>2]|0,S=A+12|0,i=Z[S>>2]|0;do if((i|0)>0)if(!(N[A+51>>0]|0)){L=A+8|0,Z[L>>2]=i+1600+(Z[L>>2]|0),Z[S>>2]=-1600;break}else{g1(V);break}while(0);S=P7(V,O+U|0,1)|0,Z[X>>2]=S,Z[X+4>>2]=(N[S+4>>0]|64)&255,q=Y;return}Z[X>>2]=0,Z[X+4>>2]=0,q=Y;return}else if((z|0)==40)DX(V,K,46449);else if((z|0)==42){if(S=V+28|0,U=X-(Z[S>>2]|0)|0,O=V+8|0,i=Z[O>>2]|0,Z[O>>2]=i+8,Z[i>>2]=Z[y>>2],Z[i+4>>2]=Z[k>>2],k=Z[O>>2]|0,Z[O>>2]=k+8,Z[k>>2]=Z[K>>2],Z[k+4>>2]=Z[K+4>>2],K=Z[O>>2]|0,Z[O>>2]=K+8,Z[K>>2]=Z[T>>2],Z[K+4>>2]=Z[T+4>>2],T=(Z[O>>2]|0)+-24|0,K=N[(Z[V+16>>2]|0)+18>>0]&1,k=V+38|0,i=(j[k>>1]|0)+1<<16>>16,j[k>>1]=i,(i&65535)>199){if(i<<16>>16==200)q1(V,46208,W);if((i&65535)>224)Z8(V,6)}if(i=K<<24>>24!=0,!i)K=V+36|0,j[K>>1]=(j[K>>1]|0)+1<<16>>16;if(!(g3(V,T,1)|0))t3(V);if(!i)i=V+36|0,j[i>>1]=(j[i>>1]|0)+-1<<16>>16;j[k>>1]=(j[k>>1]|0)+-1<<16>>16,k=(Z[S>>2]|0)+U|0,U=Z[O>>2]|0,S=U+-8|0,Z[O>>2]=S,Z[k>>2]=Z[S>>2],Z[k+4>>2]=Z[U+-4>>2],q=Y;return}else if((z|0)==54)q1(V,46740,Q);Z[X>>2]=Z[P>>2],Z[X+4>>2]=Z[P+4>>2],q=Y;return}function KQ(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0;Y=q,q=q+16|0,Q=Y+8|0,W=Y,U=V+12|0,S=Z[$+4>>2]|0,J=0,_=$;while(!0){if((S|0)==69){if(K=Z[_>>2]|0,P=CZ(K,T)|0,Z[P+4>>2]|0){O=17;break}if(L=Z[K+8>>2]|0,!L){O=15;break}if(F=N[L+6>>0]|0,F&2){O=15;break}$=Z[(Z[U>>2]|0)+160>>2]|0,z=(Z[L+16>>2]|0)+(((1<<(G[L+7>>0]|0))+-1&Z[$+8>>2])*20|0)|0;while(!0){if((Z[z+12>>2]|0)==68?(Z[z+8>>2]|0)==($|0):0){O=10;break}if(H=Z[z+16>>2]|0,!H){C=2172216;break}else z=H}if((O|0)==10)O=0,C=z;if($=C+4|0,H=Z[$>>2]|0,!H){O=13;break}if(!C){O=15;break}else A=H,y=C,k=$}else{switch(S&15){case 5:{m=(Z[_>>2]|0)+8|0;break}case 7:{m=(Z[_>>2]|0)+8|0;break}default:m=(Z[U>>2]|0)+276+((S&15)<<2)|0}$=Z[m>>2]|0;Z:do if(!$)I=2172216;else{H=Z[(Z[U>>2]|0)+160>>2]|0,u=(Z[$+16>>2]|0)+(((1<<(G[$+7>>0]|0))+-1&Z[H+8>>2])*20|0)|0;while(!0){if((Z[u+12>>2]|0)==68?(Z[u+8>>2]|0)==(H|0):0)break;if(g=Z[u+16>>2]|0,!g){I=2172216;break Z}else u=g}I=u}while(0);if($=I+4|0,z=Z[$>>2]|0,!z){O=33;break}else A=z,y=I,k=$}if(J=J+1|0,(A&15|0)==6){O=35;break}if(J>>>0>=100){O=47;break}else S=A,_=y}if((O|0)==13)N[L+6>>0]=F|2,O=15;else if((O|0)==17)i=P,t=K;else if((O|0)==33)DX(V,_,46449);else if((O|0)==35){if(F=V+8|0,L=Z[F>>2]|0,Z[F>>2]=L+8,Z[L>>2]=Z[y>>2],Z[L+4>>2]=Z[k>>2],k=Z[F>>2]|0,Z[F>>2]=k+8,Z[k>>2]=Z[_>>2],Z[k+4>>2]=Z[_+4>>2],_=Z[F>>2]|0,Z[F>>2]=_+8,Z[_>>2]=Z[T>>2],Z[_+4>>2]=Z[T+4>>2],_=Z[F>>2]|0,Z[F>>2]=_+8,Z[_>>2]=Z[X>>2],Z[_+4>>2]=Z[X+4>>2],_=(Z[F>>2]|0)+-32|0,F=N[(Z[V+16>>2]|0)+18>>0]&1,k=V+38|0,L=(j[k>>1]|0)+1<<16>>16,j[k>>1]=L,(L&65535)>199){if(L<<16>>16==200)q1(V,46208,W);if((L&65535)>224)Z8(V,6)}if(L=F<<24>>24!=0,!L)F=V+36|0,j[F>>1]=(j[F>>1]|0)+1<<16>>16;if(!(g3(V,_,0)|0))t3(V);if(!L)L=V+36|0,j[L>>1]=(j[L>>1]|0)+-1<<16>>16;j[k>>1]=(j[k>>1]|0)+-1<<16>>16,q=Y;return}else if((O|0)==47)q1(V,46723,Q);if((O|0)==15)if((P|0)==2172216)i=I4(V,K,T)|0,t=K;else i=P,t=K;if(Z[i>>2]=Z[X>>2],P=X+4|0,Z[i+4>>2]=Z[P>>2],N[t+6>>0]=0,!(Z[P>>2]&64)){q=Y;return}if(!(N[(Z[X>>2]|0)+5>>0]&3)){q=Y;return}if(X=K+5|0,P=N[X>>0]|0,!(P&4)){q=Y;return}t=Z[U>>2]|0,N[X>>0]=P&-5,P=t+76|0,Z[K+24>>2]=Z[P>>2],Z[P>>2]=K,q=Y;return}function E1(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0;switch(T=$+5|0,N[T>>0]=N[T>>0]&-4,N[$+4>>0]|0){case 20:case 4:{X=(Z[$+12>>2]|0)+17|0;break}case 7:{if(Y=Z[$+8>>2]|0,Y|0?N[Y+5>>0]&3:0)E1(V,Y);if(Y=Z[$+12>>2]|0,Y|0?N[Y+5>>0]&3:0)E1(V,Y);X=(Z[$+16>>2]|0)+24|0;break}case 10:{if(Y=$+8|0,Q=Z[Y>>2]|0,(Z[Q+4>>2]&64|0)!=0?(W=Z[Q>>2]|0,(N[W+5>>0]&3)!=0):0)E1(V,W),U=Z[Y>>2]|0;else U=Q;if((U|0)==($+12|0))X=20;else return;break}case 6:{U=V+72|0,Z[$+8>>2]=Z[U>>2],Z[U>>2]=$;return}case 38:{U=V+72|0,Z[$+8>>2]=Z[U>>2],Z[U>>2]=$;return}case 5:{U=V+72|0,Z[$+24>>2]=Z[U>>2],Z[U>>2]=$;return}case 8:{U=V+72|0,Z[$+60>>2]=Z[U>>2],Z[U>>2]=$;return}case 9:{U=V+72|0,Z[$+72>>2]=Z[U>>2],Z[U>>2]=$;return}default:return}N[T>>0]=N[T>>0]|4,T=V+16|0,Z[T>>2]=(Z[T>>2]|0)+X;return}function M2(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0;if(T=V+12|0,X=Z[T>>2]|0,Y=X+50|0,Q=N[Y>>0]|0,W=($|0)!=0,!W)if(N[Y>>0]=0,$=X+92|0,U=Z[$>>2]|0,U){S=U;do{if(U=S+5|0,N[U>>0]=N[U>>0]&-65,U=Z[T>>2]|0,J=U+92|0,_=Z[J>>2]|0,Z[J>>2]=Z[_>>2],J=U+56|0,Z[_>>2]=Z[J>>2],Z[J>>2]=_,J=_+5|0,_=N[J>>0]|0,N[J>>0]=_&-17,(G[U+49>>0]|0)>=2)N[J>>0]=N[U+48>>0]&3|_&-88;S=Z[$>>2]|0}while((S|0)!=0);if((N[Y>>0]|0)==2)K=10;else K=9}else K=9;else N[Y>>0]=1,K=9;if((K|0)==9?(G[X+49>>0]|0)<2:0)K=10;if((K|0)==10){K=Z[T>>2]|0,N[K+49>>0]=2,Z[K+52>>2]=0,S=K+60|0,$=G[K+48>>0]|0,_=(N[K+50>>0]|0)==2,U=Z[S>>2]|0;Z:do if(!U)P=0;else{J=U,O=_?255:184,L=_?64:$&3,F=_?64:0,z=$;while(!0){H=z^3,C=J,A=1,y=S;while(!0){if(!A)break;if(A=A+-1|0,k=C+5|0,m=G[k>>0]|0,!((m^3)&H))Z[y>>2]=Z[C>>2],U4(V,C),I=y;else{if(F&m|0){P=0;break Z}if((N[C+4>>0]|0)==8)J4(V,C);N[k>>0]=O&m|L,I=C}if(C=Z[I>>2]|0,!C){P=0;break Z}else y=I}if((y|0)!=(S|0)){P=y;break Z}if(C=Z[T>>2]|0,H=G[C+48>>0]|0,A=(N[C+50>>0]|0)==2,J=Z[S>>2]|0,!J){P=0;break}else O=A?255:184,L=A?64:H&3,F=A?64:0,z=H}}while(0);Z[K+68>>2]=P,P=K+56|0;Z:while(!0){if(S=Z[T>>2]|0,I=G[S+48>>0]|0,$=I^3,_=(N[S+50>>0]|0)==2,S=_?255:184,U=_?64:I&3,I=_?64:0,_=Z[P>>2]|0,!_){u=0;break}z=_,_=1,F=P;while(!0){if(!_)break;if(_=_+-1|0,L=z+5|0,O=G[L>>0]|0,!((O^3)&$))Z[F>>2]=Z[z>>2],U4(V,z),g=F;else{if(I&O|0){u=0;break Z}if((N[z+4>>0]|0)==8)J4(V,z);N[L>>0]=S&O|U,g=z}if(z=Z[g>>2]|0,!z){u=0;break Z}else F=g}if((F|0)!=(P|0)){u=F;break}}Z[K+64>>2]=u}if(u=(Z[T>>2]|0)+49|0,(N[u>>0]|0)==5)i=5,t=u;else{do SV(V)|0;while((N[u>>0]|0)!=5);u=(Z[T>>2]|0)+49|0,i=N[u>>0]|0,t=u}if(!(1<<(i&255)&-33)){do SV(V)|0;while(!(1<>0]&-33|0));u=(Z[T>>2]|0)+49|0,Y0=N[u>>0]|0,X0=u}else Y0=i,X0=t;if(Y0<<24>>24!=5)do SV(V)|0;while((N[X0>>0]|0)!=5);if(Q<<24>>24==2?(X0=(Z[T>>2]|0)+49|0,N[X0>>0]|0):0)do SV(V)|0;while((N[X0>>0]|0)!=0);if(N[Y>>0]=Q,Q=X+8|0,Y=X+12|0,X0=(Z[Y>>2]|0)+(Z[Q>>2]|0)|0,V=(X0|0)/100|0,Y0=Z[X+128>>2]|0,X=B(V,0-Y0|0)|0,t=(Y0|0)<(2147483644/(V|0)|0|0)?X:-2147483644,Z[Q>>2]=0-t,Z[Y>>2]=t+X0,W)return;if(W=(Z[T>>2]|0)+92|0,X0=Z[W>>2]|0,!X0)return;t=X0;do{if(X0=t+5|0,N[X0>>0]=N[X0>>0]&-65,X0=Z[T>>2]|0,Y=X0+92|0,Q=Z[Y>>2]|0,Z[Y>>2]=Z[Q>>2],Y=X0+56|0,Z[Q>>2]=Z[Y>>2],Z[Y>>2]=Q,Y=Q+5|0,Q=N[Y>>0]|0,N[Y>>0]=Q&-17,(G[X0+49>>0]|0)>=2)N[Y>>0]=N[X0+48>>0]&3|Q&-88;t=Z[W>>2]|0}while((t|0)!=0);return}function x1(V){V=V|0;var $=0;$=q,q=q+16|0,q1(V,46684,$)}function CZ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;switch(T=$+4|0,X=Z[T>>2]|0,X&63){case 4:{Y=Z[$>>2]|0,Q=(Z[V+16>>2]|0)+(((1<<(G[V+7>>0]|0))+-1&Z[Y+8>>2])*20|0)|0;while(!0){if((Z[Q+12>>2]|0)==68?(Z[Q+8>>2]|0)==(Y|0):0)break;if(W=Z[Q+16>>2]|0,!W){U=2172216,S=21;break}else Q=W}if((S|0)==21)return U|0;return U=Q,U|0}case 3:{if(Q=Z[$>>2]|0,(X|0)==3?!(Q>>>0>4294901759|((Q&65535|0)!=0|(Q+-65536|0)>>>0>2147352576)):0){if(X=(Q>>>16)+-1|0,X>>>0<(Z[V+28>>2]|0)>>>0)return U=(Z[V+12>>2]|0)+(X<<3)|0,U|0;X=Q&-65536,Q=0-X|0,Y=(Z[V+16>>2]|0)+(((((X|0)<0?(X|0)==(Q|0)?0:Q:X)|0)%((1<<(G[V+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[Y+12>>2]|0)==3?(Z[Y+8>>2]|0)==(X|0):0)break;if(Q=Z[Y+16>>2]|0,!Q){U=2172216,S=21;break}else Y=Q}if((S|0)==21)return U|0;return U=Y,U|0}break}case 0:return U=2172216,U|0;default:}Y=LQ(V,$)|0;while(!0){if((Z[Y+12>>2]|0)==(Z[T>>2]|0)?YZ(0,Y+8|0,$)|0:0)break;if(V=Z[Y+16>>2]|0,!V){U=2172216,S=21;break}else Y=V}if((S|0)==21)return U|0;return U=Y,U|0}function I4(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0;if(X=q,q=q+144|0,Y=X,Q=T+4|0,!(Z[Q>>2]|0))q1(V,46665,X+128|0);W=LQ($,T)|0,U=W+4|0;Z:do if((W|0)==2172240|(Z[U>>2]|0)!=0){S=$+20|0,J=Z[S>>2]|0,_=Z[$+16>>2]|0;V:do if(J>>>0>_>>>0){K=J;while(!0){if(P=K+-20|0,Z[S>>2]=P,!(Z[K+-8>>2]|0))break;if(P>>>0>_>>>0)K=P;else break V}if(O=LQ($,W+8|0)|0,(O|0)==(W|0)){L=W+16|0,Z[K+-4>>2]=Z[L>>2],Z[L>>2]=P,F=P;break Z}L=O;while(!0)if(O=Z[L+16>>2]|0,(O|0)==(W|0))break;else L=O;Z[L+16>>2]=P,Z[P>>2]=Z[W>>2],Z[P+4>>2]=Z[W+4>>2],Z[P+8>>2]=Z[W+8>>2],Z[P+12>>2]=Z[W+12>>2],Z[P+16>>2]=Z[W+16>>2],Z[W+16>>2]=0,Z[U>>2]=0,F=W;break Z}while(0);S=Y,J=S+124|0;do Z[S>>2]=0,S=S+4|0;while((S|0)<(J|0));S=$+12|0,J=Z[$+28>>2]|0,K=0,O=1,z=0,H=1;while(!0){if((H|0)>(J|0))if((O|0)>(J|0)){C=K;break}else A=J;else A=H;if((O|0)>(A|0))y=O,k=0;else{m=Z[S>>2]|0,I=O,u=0;while(!0)if(g=u+((Z[m+(I+-1<<3)+4>>2]|0)!=0&1)|0,i=I+1|0,(I|0)<(A|0))I=i,u=g;else{y=i,k=g;break}}if(u=Y+(z<<2)|0,Z[u>>2]=(Z[u>>2]|0)+k,u=k+K|0,z=z+1|0,z>>>0>=31){C=u;break}else K=u,O=y,H=H<<1}H=0,O=1<<(G[$+7>>0]|0),K=0;while(!0){if(O=O+-1|0,!(Z[_+(O*20|0)+4>>2]|0))t=H,Y0=K;else{if(((Z[_+(O*20|0)+12>>2]|0)==3?(z=Z[_+(O*20|0)+8>>2]|0,!((z&65535|0)!=0|(z+-65536|0)>>>0>2147352576)):0)?(S=(z>>>16)+-1|0,S>>>0<32767):0){if(S>>>0>255){z=0,J=S;while(!0)if(u=z+8|0,I=J>>>8,J>>>0>65535)z=u,J=I;else{X0=u,T0=I;break}}else X0=0,T0=S;J=Y+(X0+(G[400+T0>>0]|0)<<2)|0,Z[J>>2]=(Z[J>>2]|0)+1,Z0=1}else Z0=0;t=Z0+H|0,Y0=K+1|0}if(!O)break;else H=t,K=Y0}if(K=t+C|0,((Z[Q>>2]|0)==3?(H=Z[T>>2]|0,!((H&65535|0)!=0|(H+-65536|0)>>>0>2147352576)):0)?(O=(H>>>16)+-1|0,O>>>0<32767):0){if(O>>>0>255){H=0,_=O;while(!0)if(J=H+8|0,z=_>>>8,_>>>0>65535)H=J,_=z;else{W0=J,O0=z;break}}else W0=0,O0=O;_=Y+(W0+(G[400+O0>>0]|0)<<2)|0,Z[_>>2]=(Z[_>>2]|0)+1,y0=1}else y0=0;_=K+y0|0;V:do if((_|0)>0){H=0,z=0,J=0,I=0,u=0,m=1;while(!0){if(L=Z[Y+(J<<2)>>2]|0,g=(L|0)>0,i=L+H|0,H=g?i:H,L=g&(i|0)>(z|0),g=L?i:u,i=L?m:I,(H|0)==(_|0)){E0=i,H0=g;break V}if(z=m&2147483647,(z|0)>=(_|0)){E0=i,H0=g;break}else J=J+1|0,I=i,u=g,m=m<<1}}else E0=0,H0=0;while(0);if(PQ(V,$,E0,C+1+Y0-H0|0),_=CZ($,T)|0,(_|0)!=2172216)return D0=_,q=X,D0|0;return D0=I4(V,$,T)|0,q=X,D0|0}else F=W;while(0);if(Z[F+8>>2]=Z[T>>2],Z[F+12>>2]=Z[Q>>2],(Z[Q>>2]&64|0?N[(Z[T>>2]|0)+5>>0]&3:0)?(T=$+5|0,Q=N[T>>0]|0,Q&4):0)W=Z[V+12>>2]|0,N[T>>0]=Q&-5,Q=W+76|0,Z[$+24>>2]=Z[Q>>2],Z[Q>>2]=$;return D0=F,q=X,D0|0}function g1(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0;$=V+12|0,T=Z[$>>2]|0;do if((N[T+50>>0]|0)==2){if(X=T+20|0,Y=Z[X>>2]|0,!Y)M2(V,0),Q=T+8|0,W=T+12|0,U=(Z[W>>2]|0)+(Z[Q>>2]|0)|0,S=T+49|0,J=W,_=U,K=U,P=Q;else{if(Q=T+49|0,(N[Q>>0]|0)!=5)do SV(V)|0;while((N[Q>>0]|0)!=5);N[Q>>0]=0,U=T+8|0,W=T+12|0,O=(Z[W>>2]|0)+(Z[U>>2]|0)|0,L=O>>>0>(B(Z[T+132>>2]|0,(Y>>>0)/100|0)|0)>>>0,S=Q,J=W,_=O,K=L?0:Y,P=U}Z[X>>2]=K,U=(_|0)/100|0,L=Z[T+128>>2]|0,O=B(U,0-L|0)|0,W=(L|0)<(2147483644/(U|0)|0|0)?O:-2147483644,Z[P>>2]=0-W,Z[J>>2]=W+_,F=S}else{W=T+12|0,O=Z[T+136>>2]|0,U=(O|0)>40?O:40,O=((Z[W>>2]|0)/200|0)+1|0,L=B(U,O)|0,z=T+49|0,H=(O|0)<(2147483644/(U>>>0)|0|0)?L:2147483644;do if(H=H-(SV(V)|0)|0,C=(N[z>>0]|0)==5,(H|0)<=-1600){A=12;break}while(!C);if((A|0)==12?!C:0){X=((H|0)/(U|0)|0)*200|0,Y=T+8|0,Z[Y>>2]=(Z[W>>2]|0)-X+(Z[Y>>2]|0),Z[W>>2]=X,F=z;break}X=(Z[T+20>>2]|0)/100|0,Y=Z[T+128>>2]|0,Q=T+8|0,L=B(Y,0-X|0)|0,O=(Y|0)<(2147483644/(X|0)|0|0)?L:-2147483644,L=(Z[W>>2]|0)+(Z[Q>>2]|0)+O|0,Z[Q>>2]=0-O,Z[W>>2]=L,F=z}while(0);if(C=T+92|0,!(Z[C>>2]|0))return;T=0;while(!0){if(T>>>0>=4?(N[F>>0]|0)!=5:0){A=22;break}if(V=Z[$>>2]|0,S=V+92|0,_=Z[S>>2]|0,Z[S>>2]=Z[_>>2],S=V+56|0,Z[_>>2]=Z[S>>2],Z[S>>2]=_,S=_+5|0,_=N[S>>0]|0,N[S>>0]=_&-17,(G[V+49>>0]|0)>=2)N[S>>0]=N[V+48>>0]&3|_&-88;if(!(Z[C>>2]|0)){A=22;break}else T=T+1|0}if((A|0)==22)return}function k9(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;Q=q,q=q+16|0,W=Q+8|0,U=Q,S=Z[T+4>>2]|0;do if((S|0)!=3){if((S&15|0)==4?(J=Z[T>>2]|0,L9(J+16|0,Z[J+12>>2]|0,W)|0):0){Z[U>>2]=Z[W>>2],Z[U+4>>2]=3,_=U,K=6;break}}else _=T,K=6;while(0);Z:do if((K|0)==6){U=Z[X+4>>2]|0;do if((U|0)==3)P=X;else{if((U&15|0)==4?(S=Z[X>>2]|0,L9(S+16|0,Z[S+12>>2]|0,W)|0):0){P=W;break}break Z}while(0);Z[$>>2]=YR(Y+-6|0,Z[_>>2]|0,Z[P>>2]|0)|0,Z[$+4>>2]=3,q=Q;return}while(0);if(!(YY(V,T,X,$,Y)|0))pD(V,T,X);else{q=Q;return}}function LX(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0;X=q,q=q+16|0,Y=X,Q=T+4|0,W=Z[Q>>2]|0;Z:do switch(W&15){case 5:{U=Z[T>>2]|0,S=Z[U+8>>2]|0;do if(S|0?(J=S+6|0,_=N[J>>0]|0,(_&16)==0):0){K=Z[(Z[V+12>>2]|0)+172>>2]|0,P=(Z[S+16>>2]|0)+(((1<<(G[S+7>>0]|0))+-1&Z[K+8>>2])*20|0)|0;while(!0){if((Z[P+12>>2]|0)==68?(Z[P+8>>2]|0)==(K|0):0){O=7;break}if(L=Z[P+16>>2]|0,!L){F=2172216;break}else P=L}if((O|0)==7)F=P;if(K=F+4|0,Z[K>>2]|0)if(!F)break;else{z=F,H=K;break Z}else{N[J>>0]=_|16;break}}while(0);Z[$>>2]=(KN(U)|0)<<16,Z[$+4>>2]=3,q=X;return}case 4:{Z[$>>2]=Z[(Z[T>>2]|0)+12>>2]<<16,Z[$+4>>2]=3,q=X;return}case 7:{C=(Z[T>>2]|0)+8|0,O=16;break}default:C=(Z[V+12>>2]|0)+276+((W&15)<<2)|0,O=16}while(0);if((O|0)==16){O=Z[C>>2]|0;Z:do if(!O)A=2172216;else{C=Z[(Z[V+12>>2]|0)+172>>2]|0,W=(Z[O+16>>2]|0)+(((1<<(G[O+7>>0]|0))+-1&Z[C+8>>2])*20|0)|0;while(!0){if((Z[W+12>>2]|0)==68?(Z[W+8>>2]|0)==(C|0):0)break;if(F=Z[W+16>>2]|0,!F){A=2172216;break Z}else W=F}A=W}while(0);if(O=A+4|0,!(Z[O>>2]|0))DX(V,T,46629);else z=A,H=O}if(O=V+28|0,A=$-(Z[O>>2]|0)|0,$=V+8|0,C=Z[$>>2]|0,Z[$>>2]=C+8,Z[C>>2]=Z[z>>2],Z[C+4>>2]=Z[H>>2],H=Z[$>>2]|0,Z[$>>2]=H+8,Z[H>>2]=Z[T>>2],Z[H+4>>2]=Z[Q>>2],H=Z[$>>2]|0,Z[$>>2]=H+8,Z[H>>2]=Z[T>>2],Z[H+4>>2]=Z[Q>>2],Q=(Z[$>>2]|0)+-24|0,H=N[(Z[V+16>>2]|0)+18>>0]&1,T=V+38|0,C=(j[T>>1]|0)+1<<16>>16,j[T>>1]=C,(C&65535)>199){if(C<<16>>16==200)q1(V,46208,Y);if((C&65535)>224)Z8(V,6)}if(C=H<<24>>24!=0,!C)H=V+36|0,j[H>>1]=(j[H>>1]|0)+1<<16>>16;if(!(g3(V,Q,1)|0))t3(V);if(!C)C=V+36|0,j[C>>1]=(j[C>>1]|0)+-1<<16>>16;j[T>>1]=(j[T>>1]|0)+-1<<16>>16,T=(Z[O>>2]|0)+A|0,A=Z[$>>2]|0,O=A+-8|0,Z[$>>2]=O,Z[T>>2]=Z[O>>2],Z[T+4>>2]=Z[A+-4>>2],q=X;return}function LT(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0;T=q,q=q+48|0,X=T+32|0,Y=T,Q=V+8|0,W=V+12|0,U=Z[Q>>2]|0,S=$;Z:while(!0){J=U+-16|0,$=U+-12|0,_=Z[$>>2]|0,K=U+-8|0;do if((_|0)==3|(_&15|0)==4){if(P=U+-4|0,O=Z[P>>2]|0,(O&15|0)==4)L=Z[K>>2]|0,F=L,z=_,H=L,C=O;else{if((O|0)!=3){A=16;break}if(O=OQ(Y,Z[K>>2]|0)|0,O>>>0<41)y=P7(V,Y,O)|0;else{if((O+1|0)>>>0>4294967277){A=9;break Z}if(L=Z[W>>2]|0,k=Z[L+44>>2]|0,m=O+17|0,I=L+4|0,u=r6[Z[L>>2]&3](Z[I>>2]|0,0,4,m)|0,(m|0)!=0&(u|0)==0){if(!(N[L+51>>0]|0)){A=13;break Z}if(M2(V,1),g=r6[Z[L>>2]&3](Z[I>>2]|0,0,4,m)|0,!g){A=13;break Z}else i=g}else i=u;u=L+12|0,Z[u>>2]=(Z[u>>2]|0)+m,m=L+56|0,N[i+5>>0]=N[L+48>>0]&3,N[i+4>>0]=20,Z[i>>2]=Z[m>>2],Z[m>>2]=i,Z[i+12>>2]=O,Z[i+8>>2]=k,N[i+6>>0]=0,k=i+16|0,q6(k|0,Y|0,O|0)|0,N[k+O>>0]=0,y=i}Z[K>>2]=y,O=(N[y+4>>0]|64)&255,Z[P>>2]=O,F=y,z=Z[$>>2]|0,H=y,C=O}if(O=Z[F+12>>2]|0,P=(z&15|0)==4,!O){if(!((z|0)==3&(P^1))){t=2;break}if(k=OQ(Y,Z[J>>2]|0)|0,k>>>0<41)Y0=P7(V,Y,k)|0;else{if((k+1|0)>>>0>4294967277){A=23;break Z}if(m=Z[W>>2]|0,L=Z[m+44>>2]|0,u=k+17|0,g=m+4|0,I=r6[Z[m>>2]&3](Z[g>>2]|0,0,4,u)|0,(u|0)!=0&(I|0)==0){if(!(N[m+51>>0]|0)){A=27;break Z}if(M2(V,1),X0=r6[Z[m>>2]&3](Z[g>>2]|0,0,4,u)|0,!X0){A=27;break Z}else T0=X0}else T0=I;I=m+12|0,Z[I>>2]=(Z[I>>2]|0)+u,u=m+56|0,N[T0+5>>0]=N[m+48>>0]&3,N[T0+4>>0]=20,Z[T0>>2]=Z[u>>2],Z[u>>2]=T0,Z[T0+12>>2]=k,Z[T0+8>>2]=L,N[T0+6>>0]=0,L=T0+16|0,q6(L|0,Y|0,k|0)|0,N[L+k>>0]=0,Y0=T0}Z[J>>2]=Y0,Z[$>>2]=(N[Y0+4>>0]|64)&255,t=2;break}if(P?(Z[(Z[J>>2]|0)+12>>2]|0)==0:0){Z[J>>2]=H,Z[$>>2]=C,t=2;break}V:do if((S|0)>1){P=1,k=O;while(!0){if(L=U+(0-P<<3)+-8|0,u=L+4|0,m=Z[u>>2]|0,(m&15|0)==4)Z0=Z[L>>2]|0;else{if((m|0)!=3){W0=P,O0=k;break V}if(m=OQ(Y,Z[L>>2]|0)|0,m>>>0<41)y0=P7(V,Y,m)|0;else{if((m+1|0)>>>0>4294967277){A=41;break Z}if(I=Z[W>>2]|0,X0=Z[I+44>>2]|0,g=m+17|0,E0=I+4|0,H0=r6[Z[I>>2]&3](Z[E0>>2]|0,0,4,g)|0,(g|0)!=0&(H0|0)==0){if(!(N[I+51>>0]|0)){A=45;break Z}if(M2(V,1),D0=r6[Z[I>>2]&3](Z[E0>>2]|0,0,4,g)|0,!D0){A=45;break Z}else _0=D0}else _0=H0;H0=I+12|0,Z[H0>>2]=(Z[H0>>2]|0)+g,g=I+56|0,N[_0+5>>0]=N[I+48>>0]&3,N[_0+4>>0]=20,Z[_0>>2]=Z[g>>2],Z[g>>2]=_0,Z[_0+12>>2]=m,Z[_0+8>>2]=X0,N[_0+6>>0]=0,X0=_0+16|0,q6(X0|0,Y|0,m|0)|0,N[X0+m>>0]=0,y0=_0}Z[L>>2]=y0,Z[u>>2]=(N[y0+4>>0]|64)&255,Z0=y0}if(u=Z[Z0+12>>2]|0,u>>>0>=(-3-k|0)>>>0){A=49;break Z}if(L=u+k|0,u=P+1|0,(u|0)<(S|0))P=u,k=L;else{W0=u,O0=L;break}}}else W0=1,O0=O;while(0);if(O=Z[W>>2]|0,k=O+116|0,P=O+124|0,L=Z[P>>2]|0,L>>>0>>0){if(u=O0>>>0>32?O0:32,(u+1|0)>>>0>4294967293){A=54;break Z}if(m=Z[k>>2]|0,X0=(m|0)==0,g=O+4|0,I=r6[Z[O>>2]&3](Z[g>>2]|0,m,L,u)|0,!I){if(!(N[O+51>>0]|0)){A=58;break Z}if(M2(V,1),H0=r6[Z[O>>2]&3](Z[g>>2]|0,m,L,u)|0,!H0){A=58;break Z}else F0=H0}else F0=I;I=O+12|0,Z[I>>2]=(X0?0:0-L|0)+u+(Z[I>>2]|0),Z[k>>2]=F0,Z[P>>2]=u,k0=F0}else k0=Z[k>>2]|0;k=W0,u=0;while(!0)if(P=Z[U+(0-k<<3)>>2]|0,I=Z[P+12>>2]|0,q6(k0+u|0,P+16|0,I|0)|0,Z[543058]=(Z[543058]|0)+(I>>>5),u=I+u|0,(k|0)<=1)break;else k=k+-1|0;if(k=0-W0|0,I=U+(k<<3)|0,u>>>0<41)m0=P7(V,k0,u)|0;else{if((u+1|0)>>>0>4294967277){A=65;break Z}if(P=Z[W>>2]|0,L=Z[P+44>>2]|0,X0=u+17|0,O=P+4|0,H0=r6[Z[P>>2]&3](Z[O>>2]|0,0,4,X0)|0,(X0|0)!=0&(H0|0)==0){if(!(N[P+51>>0]|0)){A=69;break Z}if(M2(V,1),m=r6[Z[P>>2]&3](Z[O>>2]|0,0,4,X0)|0,!m){A=69;break Z}else B0=m}else B0=H0;H0=P+12|0,Z[H0>>2]=(Z[H0>>2]|0)+X0,X0=P+56|0,N[B0+5>>0]=N[P+48>>0]&3,N[B0+4>>0]=20,Z[B0>>2]=Z[X0>>2],Z[X0>>2]=B0,Z[B0+12>>2]=u,Z[B0+8>>2]=L,N[B0+6>>0]=0,L=B0+16|0,q6(L|0,k0|0,u|0)|0,N[L+u>>0]=0,m0=B0}Z[I>>2]=m0,Z[U+(k<<3)+4>>2]=(N[m0+4>>0]|64)&255,t=W0}else A=16;while(0);if((A|0)==16)if(A=0,!(YY(V,J,K,J,28)|0)){A=17;break}else t=2;if(S=S+1-t|0,U=(Z[Q>>2]|0)+(1-t<<3)|0,Z[Q>>2]=U,(S|0)<=1){A=73;break}}switch(A|0){case 9:{x1(V);break}case 13:{Z8(V,4);break}case 17:{vD(V,J,K);break}case 23:{x1(V);break}case 27:{Z8(V,4);break}case 41:{x1(V);break}case 45:{Z8(V,4);break}case 49:{q1(V,46406,X);break}case 54:{x1(V);break}case 58:{Z8(V,4);break}case 65:{x1(V);break}case 69:{Z8(V,4);break}case 73:{q=T;return}}}function q4(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;if(T=V+12|0,X=Z[T>>2]|0,Y=V+56|0,V=Z[Y>>2]|0,!V)return;Q=X+48|0,W=X+56|0,U=X+50|0,S=X+49|0,J=V;while(!0){if(V=J+8|0,_=Z[V>>2]|0,_>>>0<$>>>0){K=16;break}Z[Y>>2]=Z[J>>2],P=J+12|0;do if(((N[Q>>0]^3)&(N[J+5>>0]^3))<<24>>24){if(O=J+16|0,Z[(Z[O>>2]|0)+12>>2]=Z[P>>2],Z[(Z[P>>2]|0)+16>>2]=Z[O>>2],L=Z[V>>2]|0,Z[P>>2]=Z[L>>2],F=Z[L+4>>2]|0,Z[O>>2]=F,Z[V>>2]=P,Z[J>>2]=Z[W>>2],Z[W>>2]=J,O=J+5|0,L=N[O>>0]|0,z=L&255,!(z&7)){if((N[U>>0]|0)!=2?(G[S>>0]|0)>=2:0){N[O>>0]=z&184|N[Q>>0]&3;break}if(N[O>>0]=L&-69|4,F&64|0?(F=Z[P>>2]|0,N[F+5>>0]&3):0)E1(X,F)}}else{if((_|0)!=(P|0))F=J+16|0,Z[(Z[F>>2]|0)+12>>2]=Z[P>>2],Z[(Z[P>>2]|0)+16>>2]=Z[F>>2];F=Z[T>>2]|0,r6[Z[F>>2]&3](Z[F+4>>2]|0,J,20,0)|0,L=F+12|0,Z[L>>2]=(Z[L>>2]|0)+-20}while(0);if(J=Z[Y>>2]|0,!J){K=16;break}}if((K|0)==16)return}function YZ(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0;X=q,q=q+16|0,Y=X,Q=$+4|0;Z:do switch(Z[Q>>2]&63){case 0:{W=1;break}case 3:{W=(Z[$>>2]|0)==(Z[T>>2]|0);break}case 1:{W=(Z[$>>2]|0)==(Z[T>>2]|0);break}case 2:{W=(Z[$>>2]|0)==(Z[T>>2]|0);break}case 54:case 22:{W=(Z[$>>2]|0)==(Z[T>>2]|0);break}case 4:{W=(Z[$>>2]|0)==(Z[T>>2]|0);break}case 20:{if(U=Z[$>>2]|0,S=Z[T>>2]|0,J=Z[U+12>>2]|0,(U|0)!=(S|0))if((J|0)==(Z[S+12>>2]|0))W=(q3(U+16|0,S+16|0,J)|0)==0;else W=0;else W=1;break}case 7:{if(J=Z[$>>2]|0,S=Z[T>>2]|0,(J|0)!=(S|0))if(((V|0)!=0?(U=Z[J+8>>2]|0,J=Z[S+8>>2]|0,(U|0)!=0):0)?(S=U+6|0,_=N[S>>0]|0,(_&32)==0):0){K=Z[(Z[V+12>>2]|0)+176>>2]|0,P=Z[K+8>>2]|0,O=(Z[U+16>>2]|0)+(((1<<(G[U+7>>0]|0))+-1&P)*20|0)|0;while(!0){if((Z[O+12>>2]|0)==68?(Z[O+8>>2]|0)==(K|0):0){L=17;break}if(F=Z[O+16>>2]|0,!F){z=2172216;break}else O=F}if((L|0)==17)z=O;if(F=z+4|0,H=Z[F>>2]|0,!H){N[S>>0]=_|32,W=0;break Z}if(z)if((U|0)!=(J|0))if((J|0)!=0?(C=J+6|0,A=N[C>>0]|0,(A&32)==0):0){y=(Z[J+16>>2]|0)+(((1<<(G[J+7>>0]|0))+-1&P)*20|0)|0;while(!0){if((Z[y+12>>2]|0)==68?(Z[y+8>>2]|0)==(K|0):0){L=28;break}if(k=Z[y+16>>2]|0,!k){m=2172216;break}else y=k}if((L|0)==28)m=y;if(K=Z[m+4>>2]|0,!K){N[C>>0]=A|32,W=0;break Z}if((m|0)!=0&(H|0)==(K|0)?(YZ(0,z,m)|0)!=0:0)I=z,u=F,L=59;else W=0}else W=0;else I=z,u=F,L=59;else W=0}else W=0;else W=1;break}case 5:{if(K=Z[$>>2]|0,P=Z[T>>2]|0,(K|0)!=(P|0))if(((V|0)!=0?(J=Z[K+8>>2]|0,K=Z[P+8>>2]|0,(J|0)!=0):0)?(P=J+6|0,U=N[P>>0]|0,(U&32)==0):0){_=Z[(Z[V+12>>2]|0)+176>>2]|0,S=Z[_+8>>2]|0,O=(Z[J+16>>2]|0)+(((1<<(G[J+7>>0]|0))+-1&S)*20|0)|0;while(!0){if((Z[O+12>>2]|0)==68?(Z[O+8>>2]|0)==(_|0):0){L=41;break}if(k=Z[O+16>>2]|0,!k){g=2172216;break}else O=k}if((L|0)==41)g=O;if(F=g+4|0,H=Z[F>>2]|0,!H){N[P>>0]=U|32,W=0;break Z}if(g)if((J|0)!=(K|0))if((K|0)!=0?(A=K+6|0,C=N[A>>0]|0,(C&32)==0):0){y=(Z[K+16>>2]|0)+(((1<<(G[K+7>>0]|0))+-1&S)*20|0)|0;while(!0){if((Z[y+12>>2]|0)==68?(Z[y+8>>2]|0)==(_|0):0){L=52;break}if(k=Z[y+16>>2]|0,!k){i=2172216;break}else y=k}if((L|0)==52)i=y;if(_=Z[i+4>>2]|0,!_){N[A>>0]=C|32,W=0;break Z}if((i|0)!=0&(H|0)==(_|0)?(YZ(0,g,i)|0)!=0:0)I=g,u=F,L=59;else W=0}else W=0;else I=g,u=F,L=59;else W=0}else W=0;else W=1;break}default:W=(Z[$>>2]|0)==(Z[T>>2]|0)}while(0);Z:do if((L|0)==59){if(g=V+8|0,i=Z[g>>2]|0,z=V+28|0,m=i-(Z[z>>2]|0)|0,Z[g>>2]=i+8,Z[i>>2]=Z[I>>2],Z[i+4>>2]=Z[u>>2],i=Z[g>>2]|0,Z[g>>2]=i+8,Z[i>>2]=Z[$>>2],Z[i+4>>2]=Z[Q>>2],i=Z[g>>2]|0,Z[g>>2]=i+8,Z[i>>2]=Z[T>>2],Z[i+4>>2]=Z[T+4>>2],i=(Z[g>>2]|0)+-24|0,_=N[(Z[V+16>>2]|0)+18>>0]&1,S=V+38|0,K=(j[S>>1]|0)+1<<16>>16,j[S>>1]=K,(K&65535)>199){if(K<<16>>16==200)q1(V,46208,Y);if((K&65535)>224)Z8(V,6)}if(K=_<<24>>24!=0,!K)_=V+36|0,j[_>>1]=(j[_>>1]|0)+1<<16>>16;if(!(g3(V,i,1)|0))t3(V);if(!K)K=V+36|0,j[K>>1]=(j[K>>1]|0)+-1<<16>>16;switch(j[S>>1]=(j[S>>1]|0)+-1<<16>>16,S=(Z[z>>2]|0)+m|0,m=Z[g>>2]|0,z=m+-8|0,Z[g>>2]=z,Z[S>>2]=Z[z>>2],Z[S+4>>2]=Z[m+-4>>2],m=Z[g>>2]|0,Z[m+4>>2]|0){case 0:{W=0;break Z}case 1:{W=(Z[m>>2]|0)!=0;break Z}default:{W=1;break Z}}}while(0);return q=X,W&1|0}function wD(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;if(X=Z[$+4>>2]|0,(X|0)==3){if((Z[T+4>>2]|0)==3)return Y=(Z[$>>2]|0)<(Z[T>>2]|0)&1,Y|0}else if((X&15|0)==4?(Z[T+4>>2]&15|0)==4:0){X=Z[$>>2]|0,Q=Z[T>>2]|0,W=X+16|0,U=Q+16|0,S=IQ(W,U)|0;Z:do if(!S){J=W,_=Z[X+12>>2]|0,K=Z[Q+12>>2]|0,P=U;while(!0){if(O=x6(J)|0,(O|0)==(K|0)){L=0;break Z}if(F=O+1|0,(O|0)==(_|0)){L=-1;break Z}if(P=P+F|0,J=J+F|0,O=IQ(J,P)|0,O|0){L=O;break}else _=_-F|0,K=K-F|0}}else L=S;while(0);return Y=L>>>31,Y|0}if(L=V+8|0,!(YY(V,$,T,Z[L>>2]|0,26)|0))VR(V,$,T);switch(T=Z[L>>2]|0,L=Z[T+4>>2]|0,L|0){case 1:return Y=(Z[T>>2]|0)!=0&1,Y|0;case 0:return Y=L,Y|0;default:return Y=1,Y|0}return 0}function ID(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0;if(X=Z[$+4>>2]|0,(X|0)==3)if((Z[T+4>>2]|0)==3)Y=(Z[$>>2]|0)<=(Z[T>>2]|0);else Q=13;else if((X&15|0)==4?(Z[T+4>>2]&15|0)==4:0){X=Z[$>>2]|0,W=Z[T>>2]|0,U=X+16|0,S=W+16|0,J=IQ(U,S)|0;Z:do if(!J){_=U,K=Z[X+12>>2]|0,P=Z[W+12>>2]|0,O=S;while(!0){if(L=x6(_)|0,F=(L|0)==(K|0),(L|0)==(P|0))break;if(z=L+1|0,F){H=-1;break Z}if(O=O+z|0,_=_+z|0,L=IQ(_,O)|0,L|0){H=L;break Z}else K=K-z|0,P=P-z|0}H=(F^1)&1}else H=J;while(0);Y=(H|0)<1}else Q=13;Z:do if((Q|0)==13){if(H=V+8|0,J=(YY(V,$,T,Z[H>>2]|0,27)|0)==0,F=Z[H>>2]|0,!J)switch(Z[F+4>>2]|0){case 0:{Y=0;break Z}case 1:{Y=(Z[F>>2]|0)!=0;break Z}default:{Y=1;break Z}}if(!(YY(V,T,$,F,26)|0))VR(V,$,T);switch(F=Z[H>>2]|0,Z[F+4>>2]|0){case 0:{Y=1;break Z}case 1:{Y=(Z[F>>2]|0)==0;break Z}default:{Y=0;break Z}}}while(0);return Y&1|0}function L9(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0;if(X=q,q=q+16|0,Y=X,mN(V,46334)|0)return Q=0,q=X,Q|0;do if(!(mN(V,46337)|0)){if(!(mN(V,46340)|0)){W=~~(+DF(V,Y)*65536)>>>0,Z[T>>2]=W,U=Z[Y>>2]|0;break}Z[Y>>2]=V,W=V;while(!0)if(S=N[W>>0]|0,J=W+1|0,!(N[64+((S&255)+1)>>0]&8))break;else W=J;switch(S<<24>>24){case 45:{_=1,K=J;break}case 43:{_=0,K=J;break}default:_=0,K=W}Z:do if((N[K>>0]|0)==48){switch(N[K+1>>0]|0){case 66:case 98:break;default:{P=V,O=0;break Z}}if(L=K+2|0,F=N[L>>0]|0,(F&-2)<<24>>24==48){z=F,H=0,C=L,A=0;do A=A<<1|z<<24>>24==49,H=H+1|0,C=C+1|0,z=N[C>>0]|0;while((z&-2)<<24>>24==48);y=z,k=H,m=A<<16,I=C}else y=F,k=0,m=0,I=L;if(u=I,y<<24>>24==46){if(g=I+1|0,i=g,t=N[g>>0]|0,(t&-2)<<24>>24==48){Y0=0,X0=t,t=g,g=0;do g=Y0>>>0<16?g<<1|X0<<24>>24==49:g,Y0=Y0+1|0,t=t+1|0,X0=N[t>>0]|0;while((X0&-2)<<24>>24==48);T0=Y0,Z0=g,W0=t}else T0=0,Z0=0,W0=i;X0=W0-i|0,O0=T0,y0=Z0<<((X0+-1|0)>>>0<15?16-X0|0:0),E0=W0}else O0=0,y0=0,E0=u;if(O0|k){switch(Z[Y>>2]=E0,X0=E0,N[X0>>0]|0){case 80:case 112:{P=X0,O=0;break Z}default:}if(Z[Y>>2]=X0,L=y0+m|0,!_){P=X0,O=~~+QQ(+(L|0),0);break}else{P=X0,O=~~+QQ(+(0-L|0),0);break}}else P=V,O=0}else P=V,O=0;while(0);Z[T>>2]=O,U=P}else{Z[Y>>2]=V,W=V;while(!0)if(H0=N[W>>0]|0,D0=W+1|0,!(N[64+((H0&255)+1)>>0]&8))break;else W=D0;switch(H0<<24>>24){case 45:{_0=1,F0=D0;break}case 43:{_0=0,F0=D0;break}default:_0=0,F0=W}Z:do if((N[F0>>0]|0)==48){switch(N[F0+1>>0]|0){case 88:case 120:break;default:{k0=V,m0=0;break Z}}if(L=F0+2|0,X0=N[L>>0]|0,F=X0&255,!(N[64+(F+1)>>0]&16))B0=X0,g0=0,o0=0,h0=L;else{X0=0,C=L,L=F,F=0;do A=L+-48|0,F=(A>>>0<10?A:(L|32)+-87|0)+(F<<4)|0,X0=X0+1|0,C=C+1|0,C0=N[C>>0]|0,L=C0&255;while((N[64+(L+1)>>0]&16)!=0);B0=C0,g0=X0,o0=F<<16,h0=C}if(L=h0,B0<<24>>24==46){if(u=h0+1|0,i=u,t=G[u>>0]|0,!(N[64+(t+1)>>0]&16))u0=0,p0=0,q0=i;else{g=0,Y0=u,u=t,t=0;do A=u+-48|0,t=g>>>0<4?(A>>>0<10?A:(u|32)+-87|0)+(t<<4)|0:t,g=g+1|0,Y0=Y0+1|0,u=G[Y0>>0]|0;while((N[64+(u+1)>>0]&16)!=0);u0=g,p0=t,q0=Y0}u=q0-i|0,i0=u0,t0=p0<<((u+-1|0)>>>0<3?16-(u<<2)|0:0),E6=q0}else i0=0,t0=0,E6=L;if(i0|g0){switch(Z[Y>>2]=E6,u=E6,N[u>>0]|0){case 80:case 112:{k0=u,m0=0;break Z}default:}if(Z[Y>>2]=u,C=t0+o0|0,!_0){k0=u,m0=~~+QQ(+(C|0),0);break}else{k0=u,m0=~~+QQ(+(0-C|0),0);break}}else k0=V,m0=0}else k0=V,m0=0;while(0);Z[T>>2]=m0,U=k0}while(0);if((U|0)==(V|0))return Q=0,q=X,Q|0;if(!(N[64+((G[U>>0]|0)+1)>>0]&8))V6=U;else{k0=U;do k0=k0+1|0;while((N[64+((G[k0>>0]|0)+1)>>0]&8)!=0);Z[Y>>2]=k0,V6=k0}return Q=(V6|0)==(V+$|0)&1,q=X,Q|0}function PQ(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0;if(Y=q,q=q+16|0,Q=Y,W=$+28|0,U=Z[W>>2]|0,S=$+7|0,J=N[S>>0]|0,_=J&255,K=$+16|0,P=Z[K>>2]|0,(U|0)<(T|0)){if((T+1|0)>>>0>536870911)x1(V);if(O=$+12|0,L=Z[O>>2]|0,F=U<<3,U=T<<3,z=Z[V+12>>2]|0,H=(L|0)==0,C=z+4|0,A=r6[Z[z>>2]&3](Z[C>>2]|0,L,F,U)|0,(U|0)!=0&(A|0)==0){if(!(N[z+51>>0]|0))Z8(V,4);if(M2(V,1),y=r6[Z[z>>2]&3](Z[C>>2]|0,L,F,U)|0,!y)Z8(V,4);else k=y}else k=A;if(A=z+12|0,Z[A>>2]=(H?0:0-F|0)+U+(Z[A>>2]|0),Z[O>>2]=k,O=Z[W>>2]|0,(O|0)<(T|0)){A=O;do Z[k+(A<<3)+4>>2]=0,A=A+1|0;while((A|0)!=(T|0))}Z[W>>2]=T}if(!X)Z[K>>2]=2172240,m=2172240,I=0,u=0;else{if(T=X+-1|0,T>>>0>255){X=0,W=T;while(!0)if(A=X+8|0,k=W>>>8,W>>>0>65535)X=A,W=k;else{g=A,i=k;break}}else g=0,i=T;if(T=g+(G[400+i>>0]|0)|0,(T|0)>30)q1(V,46225,Q);if(Q=1<>>0>214748364)x1(V);if(i=20<>2]|0,W=g+4|0,X=r6[Z[g>>2]&3](Z[W>>2]|0,0,0,i)|0,T>>>0<30&(X|0)==0){if(!(N[g+51>>0]|0))Z8(V,4);if(M2(V,1),k=r6[Z[g>>2]&3](Z[W>>2]|0,0,0,i)|0,!k)Z8(V,4);else t=k}else t=X;X=g+12|0,Z[X>>2]=(Z[X>>2]|0)+i,Z[K>>2]=t,i=t,t=0;do Z[i+(t*20|0)+16>>2]=0,Z[i+(t*20|0)+12>>2]=0,Z[i+(t*20|0)+4>>2]=0,t=t+1|0,i=Z[K>>2]|0;while((t|0)<(Q|0));m=i,I=T&255,u=Q}if(N[S>>0]=I,Z[$+20>>2]=m+(u*20|0),J<<24>>24!=31){J=1<<_;do if(u=J,J=J+-1|0,m=P+(J*20|0)+4|0,Z[m>>2]|0){if(I=P+(J*20|0)+8|0,S=CZ($,I)|0,(S|0)==2172216)Y0=I4(V,$,I)|0;else Y0=S;Z[Y0>>2]=Z[P+(J*20|0)>>2],Z[Y0+4>>2]=Z[m>>2]}while((u|0)>1)}if((P|0)==2172240){q=Y;return}Y0=20<<_,_=Z[V+12>>2]|0,r6[Z[_>>2]&3](Z[_+4>>2]|0,P,Y0,0)|0,V=_+12|0,Z[V>>2]=(Z[V>>2]|0)-((P|0)==0?0:Y0),q=Y;return}function ZR(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if(T=$<<2,X=T+16|0,Y=Z[V+12>>2]|0,Q=Y+4|0,W=r6[Z[Y>>2]&3](Z[Q>>2]|0,0,6,X)|0,(X|0)!=0&(W|0)==0){if(!(N[Y+51>>0]|0))Z8(V,4);if(M2(V,1),U=r6[Z[Y>>2]&3](Z[Q>>2]|0,0,6,X)|0,!U)Z8(V,4);else S=U}else S=W;if(W=Y+12|0,Z[W>>2]=(Z[W>>2]|0)+X,X=Y+56|0,N[S+5>>0]=N[Y+48>>0]&3,N[S+4>>0]=6,Z[S>>2]=Z[X>>2],Z[X>>2]=S,Z[S+12>>2]=0,N[S+6>>0]=$,!$)return S|0;return x8(S+16|0,0,T|0)|0,S|0}function qD(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;T=Z[V+12>>2]|0,X=V+56|0,Y=Z[X>>2]|0;Z:do if(!Y)Q=X;else{W=Y,U=X;while(!0){if(S=Z[W+8>>2]|0,S>>>0<$>>>0){Q=U;break Z}if((S|0)==($|0))break;if(S=Z[W>>2]|0,!S){J=8;break}else _=W,W=S,U=_}if((J|0)==8){Q=W;break}if(U=W+5|0,_=N[U>>0]^3,((N[T+48>>0]^3)&_)<<24>>24)return K=W,K|0;return N[U>>0]=_,K=W,K|0}while(0);if(J=T+4|0,X=r6[Z[T>>2]&3](Z[J>>2]|0,0,10,20)|0,!X){if(!(N[T+51>>0]|0))Z8(V,4);if(M2(V,1),Y=r6[Z[T>>2]&3](Z[J>>2]|0,0,10,20)|0,!Y)Z8(V,4);else P=Y}else P=X;return X=T+12|0,Z[X>>2]=(Z[X>>2]|0)+20,X=(Q|0)==0?T+56|0:Q,N[P+5>>0]=N[T+48>>0]&3,N[P+4>>0]=10,Z[P>>2]=Z[X>>2],Z[X>>2]=P,Z[P+8>>2]=$,Z[P+12>>2]=T+96,$=T+112|0,T=Z[$>>2]|0,Z[P+16>>2]=T,Z[T+12>>2]=P,Z[$>>2]=P,K=P,K|0}function YY(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;switch(Q=q,q=q+16|0,W=Q,U=$+4|0,S=Z[U>>2]|0,S&15){case 5:{J=(Z[$>>2]|0)+8|0;break}case 7:{J=(Z[$>>2]|0)+8|0;break}default:J=(Z[V+12>>2]|0)+276+((S&15)<<2)|0}S=Z[J>>2]|0;Z:do if(!S)_=2172216;else{J=Z[(Z[V+12>>2]|0)+156+(Y<<2)>>2]|0,K=(Z[S+16>>2]|0)+(((1<<(G[S+7>>0]|0))+-1&Z[J+8>>2])*20|0)|0;while(!0){if((Z[K+12>>2]|0)==68?(Z[K+8>>2]|0)==(J|0):0)break;if(P=Z[K+16>>2]|0,!P){_=2172216;break Z}else K=P}_=K}while(0);Z:do if(!(Z[_+4>>2]|0)){switch(S=Z[T+4>>2]|0,S&15){case 5:{O=(Z[T>>2]|0)+8|0;break}case 7:{O=(Z[T>>2]|0)+8|0;break}default:O=(Z[V+12>>2]|0)+276+((S&15)<<2)|0}if(S=Z[O>>2]|0,!S)L=2172216;else{J=Z[(Z[V+12>>2]|0)+156+(Y<<2)>>2]|0,P=(Z[S+16>>2]|0)+(((1<<(G[S+7>>0]|0))+-1&Z[J+8>>2])*20|0)|0;while(!0){if((Z[P+12>>2]|0)==68?(Z[P+8>>2]|0)==(J|0):0)break;if(S=Z[P+16>>2]|0,!S){L=2172216;break Z}else P=S}L=P}}else L=_;while(0);if(_=L+4|0,!(Z[_>>2]|0))return F=0,q=Q,F|0;if(Y=V+28|0,O=X-(Z[Y>>2]|0)|0,X=V+8|0,J=Z[X>>2]|0,Z[X>>2]=J+8,Z[J>>2]=Z[L>>2],Z[J+4>>2]=Z[_>>2],_=Z[X>>2]|0,Z[X>>2]=_+8,Z[_>>2]=Z[$>>2],Z[_+4>>2]=Z[U>>2],U=Z[X>>2]|0,Z[X>>2]=U+8,Z[U>>2]=Z[T>>2],Z[U+4>>2]=Z[T+4>>2],T=(Z[X>>2]|0)+-24|0,U=N[(Z[V+16>>2]|0)+18>>0]&1,_=V+38|0,$=(j[_>>1]|0)+1<<16>>16,j[_>>1]=$,($&65535)>199){if($<<16>>16==200)q1(V,46208,W);if(($&65535)>224)Z8(V,6)}if($=U<<24>>24!=0,!$)U=V+36|0,j[U>>1]=(j[U>>1]|0)+1<<16>>16;if(!(g3(V,T,1)|0))t3(V);if(!$)$=V+36|0,j[$>>1]=(j[$>>1]|0)+-1<<16>>16;return j[_>>1]=(j[_>>1]|0)+-1<<16>>16,_=(Z[Y>>2]|0)+O|0,O=Z[X>>2]|0,Y=O+-8|0,Z[X>>2]=Y,Z[_>>2]=Z[Y>>2],Z[_+4>>2]=Z[O+-4>>2],F=1,q=Q,F|0}function VR(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0;if(X=q,q=q+16|0,Y=X+8|0,Q=X,X=Z[16+((Z[$+4>>2]&15)+1<<2)>>2]|0,$=Z[16+((Z[T+4>>2]&15)+1<<2)>>2]|0,(X|0)==($|0))Z[Q>>2]=X,q1(V,46343,Q);else Z[Y>>2]=X,Z[Y+4>>2]=$,q1(V,46376,Y)}function OQ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0;if(T=q,q=q+64|0,X=T+48|0,Y=T+40|0,Q=T+32|0,W=T,U=+($|0)*0.0000152587890625,b[Q>>3]=U,a6(W,46599,Q)|0,(u1(W,46605)|0)==0?(u1(W,46611)|0)==0:0)b[X>>3]=U,a6(W,46623,X)|0;else b[Y>>3]=U,a6(W,46617,Y)|0;if(Y=x6(W)|0,X=Y+-1|0,Q=W+X|0,$=N[Q>>0]|0,S=(Y|0)>0,S&$<<24>>24==48){Y=Q,J=X;while(!0)if(N[Y>>0]=0,X=J,J=J+-1|0,_=W+J|0,K=N[_>>0]|0,P=(X|0)>0,!(P&K<<24>>24==48)){O=K,L=_,F=P;break}else Y=_}else O=$,L=Q,F=S;if(!(F&O<<24>>24==46))return z=x6(W)|0,H=z+1|0,q6(V|0,W|0,H|0)|0,q=T,z|0;return N[L>>0]=0,z=x6(W)|0,H=z+1|0,q6(V|0,W|0,H|0)|0,q=T,z|0}function P7(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0;if(X=V+12|0,Y=Z[X>>2]|0,Q=Z[Y+44>>2]^T,W=T>>>5,W>>>0>>0){U=~W,S=Q,J=T;while(!0)if(_=(S<<5)+(S>>>2)+(G[$+(J+-1)>>0]|0)^S,J=J+U|0,J>>>0<=W>>>0){K=_;break}else S=_}else K=Q;Q=Y+24|0,S=Y+32|0,W=Z[S>>2]|0,J=(Z[Q>>2]|0)+((W+-1&K)<<2)|0,U=Z[J>>2]|0;Z:do if(U|0){_=U;while(!0){if(((K|0)==(Z[_+8>>2]|0)?(Z[_+12>>2]|0)==(T|0):0)?(q3($,_+16|0,T)|0)==0:0)break;if(P=Z[_>>2]|0,!P)break Z;else _=P}if(P=_+5|0,O=N[P>>0]^3,((N[Y+48>>0]^3)&O)<<24>>24)return L=_,L|0;return N[P>>0]=O,L=_,L|0}while(0);if(U=Y+28|0,(W|0)<1073741823?(Z[U>>2]|0)>>>0>=W>>>0:0)RN(V,W<<1),F=Z[X>>2]|0,z=(Z[Q>>2]|0)+(((Z[S>>2]|0)+-1&K)<<2)|0;else F=Y,z=J;if(J=T+17|0,Y=F+4|0,S=r6[Z[F>>2]&3](Z[Y>>2]|0,0,4,J)|0,(J|0)!=0&(S|0)==0){if(!(N[F+51>>0]|0))Z8(V,4);if(M2(V,1),Q=r6[Z[F>>2]&3](Z[Y>>2]|0,0,4,J)|0,!Q)Z8(V,4);else H=Q}else H=S;return S=F+12|0,Z[S>>2]=(Z[S>>2]|0)+J,J=(z|0)==0?F+56|0:z,N[H+5>>0]=N[F+48>>0]&3,N[H+4>>0]=4,Z[H>>2]=Z[J>>2],Z[J>>2]=H,Z[H+12>>2]=T,Z[H+8>>2]=K,N[H+6>>0]=0,K=H+16|0,q6(K|0,$|0,T|0)|0,N[K+T>>0]=0,Z[U>>2]=(Z[U>>2]|0)+1,L=H,L|0}function vD(V,$,T){V=V|0,$=$|0,T=T|0;var X=0;X=Z[$+4>>2]|0,DX(V,(X|0)==3|(X&15|0)==4?T:$,46429)}function DX(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0;if(X=q,q=q+48|0,Y=X+24|0,Q=X+8|0,W=X,U=X+32|0,X=Z[V+16>>2]|0,Z[U>>2]=0,S=Z[16+((Z[$+4>>2]&15)+1<<2)>>2]|0,!(N[X+18>>0]&1))Z[Y>>2]=T,J=Y+4|0,Z[J>>2]=S,q1(V,46540,Y);_=Z[Z[X>>2]>>2]|0,K=N[_+6>>0]|0;Z:do if(!(K<<24>>24))P=7;else{O=K&255,L=0;while(!0){if((Z[(Z[_+16+(L<<2)>>2]|0)+8>>2]|0)==($|0))break;if(F=L+1|0,F>>>0>>0)L=F;else{P=7;break Z}}O=Z[(Z[(Z[_+12>>2]|0)+28>>2]|0)+(L<<3)>>2]|0,Z[U>>2]=(O|0)==0?78709:O+16|0,z=46441}while(0);if((P|0)==7){if(K=Z[X+24>>2]|0,O=Z[X+4>>2]|0,F=K,K>>>0>=O>>>0)Z[Y>>2]=T,J=Y+4|0,Z[J>>2]=S,q1(V,46540,Y);H=K;while(!0){if((H|0)==($|0))break;if(H=H+8|0,H>>>0>=O>>>0){P=16;break}}if((P|0)==16)Z[Y>>2]=T,J=Y+4|0,Z[J>>2]=S,q1(V,46540,Y);if(P=Z[_+12>>2]|0,_=GQ(P,((Z[X+28>>2]|0)-(Z[P+12>>2]|0)>>2)+-1|0,$-F>>3,U)|0,!_)Z[Y>>2]=T,J=Y+4|0,Z[J>>2]=S,q1(V,46540,Y);else z=_}if(Q6(T,46449)|0)C=Z[U>>2]|0,Z[Q>>2]=T,A=Q+4|0,Z[A>>2]=z,y=Q+8|0,Z[y>>2]=C,k=Q+12|0,Z[k>>2]=S,q1(V,46505,Q);if(!(Q6(S,61335)|0))_=Z[U>>2]|0,Z[W>>2]=z,Z[W+4>>2]=_,q1(V,46455,W);else C=Z[U>>2]|0,Z[Q>>2]=T,A=Q+4|0,Z[A>>2]=z,y=Q+8|0,Z[y>>2]=C,k=Q+12|0,Z[k>>2]=S,q1(V,46505,Q)}function GQ(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0;Y=V+24|0,Q=V+12|0,W=Z[V+60>>2]|0,U=(W|0)>0,S=$,$=T;Z:while(!0){V:do if(U){J=Z[Y>>2]|0,_=0,T=$+1|0;while(!0){if((Z[J+(_*12|0)+4>>2]|0)>(S|0))break V;if((Z[J+(_*12|0)+8>>2]|0)>(S|0))if(K=T+-1|0,!K){P=8;break Z}else O=K;else O=T;if(K=_+1|0,(K|0)<(W|0))_=K,T=O;else break}}while(0);if(Z[X>>2]=0,(S|0)<=0){L=0,P=51;break}F=Z[Q>>2]|0,T=0,K=0,z=-1;while(!0){switch(H=Z[F+(K<<2)>>2]|0,C=H>>>6&255,H&63){case 4:{A=T,y=(C|0)>($|0)|(C+(H>>>23)|0)<($|0)?z:(K|0)<(T|0)?-1:K;break}case 47:{A=T,y=(C+2|0)>($|0)?z:(K|0)<(T|0)?-1:K;break}case 43:case 42:{A=T,y=(C|0)>($|0)?z:(K|0)<(T|0)?-1:K;break}case 36:{k=K+-131070+(H>>>14)|0,A=(k|0)>(T|0)&((k|0)<=(S|0)&(K|0)<(k|0))?k:T,y=z;break}case 40:{A=T,y=(C|0)==($|0)?(K|0)<(T|0)?-1:K:z;break}default:A=T,y=((C|0)==($|0)?(N[336+(H&63)>>0]&64)!=0:0)?(K|0)<(T|0)?-1:K:z}if(K=K+1|0,(K|0)==(S|0))break;else T=A,z=y}if((y|0)==-1){L=0,P=51;break}switch(m=Z[F+(y<<2)>>2]|0,m&63){case 7:case 6:{P=22;break Z}case 5:{P=39;break Z}case 2:case 1:{P=40;break Z}case 12:{P=45;break Z}case 0:break;default:{L=0,P=51;break Z}}if($=m>>>23,$>>>0>=(m>>>6&255)>>>0){L=0,P=51;break}else S=y}if((P|0)==8)return Z[X>>2]=(Z[J+(_*12|0)>>2]|0)+16,L=64408,L|0;else if((P|0)==22){_=m>>>14,J=_&511,S=m>>>23;Z:do if((m&63|0)==7)if(U){$=Z[Y>>2]|0,A=0,Q=S+1|0;while(!0){if((Z[$+(A*12|0)+4>>2]|0)>(y|0)){I=0;break Z}if((Z[$+(A*12|0)+8>>2]|0)>(y|0))if(O=Q+-1|0,!O)break;else u=O;else u=Q;if(O=A+1|0,(O|0)<(W|0))A=O,Q=u;else{I=0;break Z}}I=(Z[$+(A*12|0)>>2]|0)+16|0}else I=0;else Q=Z[(Z[V+28>>2]|0)+(S<<3)>>2]|0,I=(Q|0)==0?78709:Q+16|0;while(0);if(!(m&4194304)){if(S=GQ(V,y,J,X)|0,!((S|0)!=0?(N[S>>0]|0)==99:0))P=36}else if(S=Z[V+8>>2]|0,J=_&255,(Z[S+(J<<3)+4>>2]&15|0)==4)Z[X>>2]=(Z[S+(J<<3)>>2]|0)+16;else P=36;if((P|0)==36)Z[X>>2]=78709;if(!I)return L=46577,L|0;return J=(Q6(I,46565)|0)==0,L=J?46570:46577,L|0}else if((P|0)==39)return J=Z[(Z[V+28>>2]|0)+(m>>>23<<3)>>2]|0,Z[X>>2]=(J|0)==0?78709:J+16|0,L=46441,L|0;else if((P|0)==40){if((m&63|0)==1)g=m>>>14;else g=(Z[F+(y+1<<2)>>2]|0)>>>6;if(F=Z[V+8>>2]|0,(Z[F+(g<<3)+4>>2]&15|0)!=4)return L=0,L|0;return Z[X>>2]=(Z[F+(g<<3)>>2]|0)+16,L=46590,L|0}else if((P|0)==45){if(g=m>>>14,!(m&4194304)){if(m=GQ(V,y,g&511,X)|0,m|0?(N[m>>0]|0)==99:0)return L=46583,L|0}else if(m=Z[V+8>>2]|0,V=g&255,(Z[m+(V<<3)+4>>2]&15|0)==4)return Z[X>>2]=(Z[m+(V<<3)>>2]|0)+16,L=46583,L|0;return Z[X>>2]=78709,L=46583,L|0}else if((P|0)==51)return L|0;return 0}function RN(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0;if(T=V+12|0,X=Z[T>>2]|0,Y=X+24|0,Q=X+49|0,!(1<>0]&-5))do SV(V)|0;while(!(1<>0]&-5|0));if(Q=X+32|0,X=Z[Q>>2]|0,(X|0)<($|0)){if(($+1|0)>>>0>1073741823)x1(V);if(W=Z[Y>>2]|0,U=X<<2,S=$<<2,J=Z[T>>2]|0,_=(W|0)==0,K=J+4|0,P=r6[Z[J>>2]&3](Z[K>>2]|0,W,U,S)|0,(S|0)!=0&(P|0)==0){if(!(N[J+51>>0]|0))Z8(V,4);if(M2(V,1),O=r6[Z[J>>2]&3](Z[K>>2]|0,W,U,S)|0,!O)Z8(V,4);else L=O}else L=P;if(P=J+12|0,Z[P>>2]=(_?0:0-U|0)+S+(Z[P>>2]|0),Z[Y>>2]=L,P=Z[Q>>2]|0,(P|0)<($|0)?(Z[L+(P<<2)>>2]=0,L=P+1|0,(L|0)!=($|0)):0){S=L;do Z[(Z[Y>>2]|0)+(S<<2)>>2]=0,S=S+1|0;while((S|0)!=($|0));F=P}else F=P}else F=X;if((F|0)>0){X=$+-1|0,P=F,S=0;while(!0){if(L=(Z[Y>>2]|0)+(S<<2)|0,U=Z[L>>2]|0,Z[L>>2]=0,!U)z=P;else{L=U;do U=L,L=Z[L>>2]|0,_=Z[U+8>>2]&X,Z[U>>2]=Z[(Z[Y>>2]|0)+(_<<2)>>2],Z[(Z[Y>>2]|0)+(_<<2)>>2]=U,_=U+5|0,N[_>>0]=N[_>>0]&-65;while((L|0)!=0);z=Z[Q>>2]|0}if(S=S+1|0,(S|0)>=(z|0)){H=z;break}else P=z}}else H=F;if((H|0)<=($|0)){Z[Q>>2]=$;return}if(($+1|0)>>>0>1073741823)x1(V);if(F=Z[Y>>2]|0,z=H<<2,H=$<<2,P=Z[T>>2]|0,T=(F|0)==0,S=P+4|0,X=r6[Z[P>>2]&3](Z[S>>2]|0,F,z,H)|0,(H|0)!=0&(X|0)==0){if(!(N[P+51>>0]|0))Z8(V,4);if(M2(V,1),L=r6[Z[P>>2]&3](Z[S>>2]|0,F,z,H)|0,!L)Z8(V,4);else C=L}else C=X;X=P+12|0,Z[X>>2]=(T?0:0-z|0)+H+(Z[X>>2]|0),Z[Y>>2]=C,Z[Q>>2]=$;return}function SV(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0;switch($=q,q=q+16|0,T=$,X=V+12|0,Y=Z[X>>2]|0,Q=Y+49|0,N[Q>>0]|0){case 5:{if(W=Y+16|0,Z[W>>2]=Z[Y+32>>2]<<2,U=Y+72|0,Z[U>>2]=0,Z[U+4>>2]=0,Z[U+8>>2]=0,Z[U+12>>2]=0,Z[U+16>>2]=0,U=Z[Y+144>>2]|0,U|0?N[U+5>>0]&3:0)E1(Y,U);if(Z[Y+40>>2]&64|0?(U=Z[Y+36>>2]|0,N[U+5>>0]&3):0)E1(Y,U);if($R(Y),U=Z[Y+92>>2]|0,U|0){S=Y+48|0,J=U;do U=J+5|0,N[U>>0]=N[S>>0]&3|N[U>>0]&-72,E1(Y,J),J=Z[J>>2]|0;while((J|0)!=0)}return N[Q>>0]=0,_=Z[W>>2]|0,q=$,_|0}case 0:{if(W=Y+72|0,Z[W>>2]|0)return J=Y+16|0,S=Z[J>>2]|0,J$(Y),_=(Z[J>>2]|0)-S|0,q=$,_|0;if(N[Q>>0]=1,S=Y+16|0,J=Z[S>>2]|0,U=Y+20|0,Z[U>>2]=J,N[V+5>>0]&3)E1(Y,V);if(Z[Y+40>>2]&64|0?(K=Z[Y+36>>2]|0,N[K+5>>0]&3):0)E1(Y,K);if($R(Y),K=Y+96|0,P=Z[Y+112>>2]|0,(P|0)!=(K|0)){O=P;do{if(((N[O+5>>0]&7)==0?(P=Z[O+8>>2]|0,Z[P+4>>2]&64|0):0)?(L=Z[P>>2]|0,N[L+5>>0]&3):0)E1(Y,L);O=Z[O+16>>2]|0}while((O|0)!=(K|0))}if(Z[W>>2]|0)do J$(Y);while((Z[W>>2]|0)!=0);if(K=(Z[S>>2]|0)-J|0,J=Y+80|0,O=Z[J>>2]|0,L=Y+76|0,P=Z[L>>2]|0,F=Y+84|0,z=Z[F>>2]|0,Z[F>>2]=0,Z[L>>2]=0,Z[J>>2]=0,Z[W>>2]=P,P|0)do J$(Y);while((Z[W>>2]|0)!=0);if(Z[W>>2]=O,O|0)do J$(Y);while((Z[W>>2]|0)!=0);if(Z[W>>2]=z,z|0)do J$(Y);while((Z[W>>2]|0)!=0);z=K-(Z[S>>2]|0)|0;do{if(K=Z[F>>2]|0,Z[F>>2]=0,!K)break;O=K,K=0;while(!0){if(P=O,O=Z[O+24>>2]|0,_N(Y,P)|0)if(!(Z[W>>2]|0))H=1;else{do J$(Y);while((Z[W>>2]|0)!=0);H=1}else H=K;if(!O)break;else K=H}}while((H|0)!=0);if(MQ(Y,Z[J>>2]|0,0),H=Y+88|0,MQ(Y,Z[H>>2]|0,0),K=Z[J>>2]|0,O=Z[H>>2]|0,P=z+(Z[S>>2]|0)|0,z=Z[X>>2]|0,L=z+60|0,C=z+92|0,z=Z[C>>2]|0,!z)A=C;else{C=z;while(!0)if(z=Z[C>>2]|0,!z)break;else C=z;A=C}if(C=Z[L>>2]|0,C|0){z=C,C=A,A=L;while(!0){if(L=z+5|0,y=G[L>>0]|0,!(y&3))k=C,m=z;else N[L>>0]=y|8,Z[A>>2]=Z[z>>2],Z[z>>2]=Z[C>>2],Z[C>>2]=z,k=z,m=A;if(z=Z[m>>2]|0,!z)break;else C=k,A=m}}if(m=Z[Y+92>>2]|0,m|0){A=Y+48|0,k=m;do m=k+5|0,N[m>>0]=N[A>>0]&3|N[m>>0]&-72,E1(Y,k),k=Z[k>>2]|0;while((k|0)!=0)}if(Z[W>>2]|0)do J$(Y);while((Z[W>>2]|0)!=0);k=P-(Z[S>>2]|0)|0;while(!0){if(P=Z[F>>2]|0,Z[F>>2]=0,!P)break;A=P,P=0;while(!0){if(m=A,A=Z[A+24>>2]|0,_N(Y,m)|0)if(!(Z[W>>2]|0))I=1;else{do J$(Y);while((Z[W>>2]|0)!=0);I=1}else I=P;if(!A)break;else P=I}if(!I){u=72;break}}if((u|0)==72?(I=Z[F>>2]|0,I|0):0){F=I;do{if(I=Z[F+16>>2]|0,W=N[F+7>>0]|0,P=I+((1<<(W&255))*20|0)|0,W<<24>>24!=31){W=I;do{I=W+4|0;do if(Z[I>>2]|0){if(A=W+12|0,m=Z[A>>2]|0,!(m&64))break;if(C=Z[W+8>>2]|0,(m&15|0)==4){if(!C)break;if(!(N[C+5>>0]&3))break;E1(Y,C);break}else{if(m=C+5|0,!(N[m>>0]&3))break;if(Z[I>>2]=0,!(N[m>>0]&3))break;Z[A>>2]=11;break}}while(0);W=W+20|0}while(W>>>0

>>0)}F=Z[F+24>>2]|0}while((F|0)!=0)}if(F=Z[H>>2]|0,F|0){P=F;do{if(F=Z[P+16>>2]|0,W=N[P+7>>0]|0,I=F+((1<<(W&255))*20|0)|0,W<<24>>24!=31){W=F;do{F=W+4|0;do if(Z[F>>2]|0){if(A=W+12|0,m=Z[A>>2]|0,!(m&64))break;if(C=Z[W+8>>2]|0,(m&15|0)==4){if(!C)break;if(!(N[C+5>>0]&3))break;E1(Y,C);break}else{if(m=C+5|0,!(N[m>>0]&3))break;if(Z[F>>2]=0,!(N[m>>0]&3))break;Z[A>>2]=11;break}}while(0);W=W+20|0}while(W>>>0>>0)}P=Z[P+24>>2]|0}while((P|0)!=0)}return MQ(Y,Z[J>>2]|0,K),MQ(Y,Z[H>>2]|0,O),O=Y+48|0,N[O>>0]=N[O>>0]^3,O=k+(Z[S>>2]|0)|0,Z[U>>2]=(Z[U>>2]|0)+O,_=((TR(V)|0)*5|0)+O|0,q=$,_|0}case 2:{O=Y+52|0,U=Y+32|0,S=Y+24|0,k=0;while(!0){if(H=(Z[O>>2]|0)+k|0,K=Z[U>>2]|0,(H|0)>=(K|0)){g=K,i=H,t=k;break}K=(Z[S>>2]|0)+(H<<2)|0,H=Z[X>>2]|0,J=G[H+48>>0]|0,P=J^3,I=(N[H+50>>0]|0)==2,H=I?255:184,W=I?64:J&3,J=I?64:0,I=Z[K>>2]|0;Z:do if(I|0){F=I,A=-3,m=K;while(!0){if(!A)break Z;if(A=A+-1|0,C=F+5|0,z=G[C>>0]|0,!((z^3)&P))Z[m>>2]=Z[F>>2],U4(V,F),Y0=m;else{if(J&z|0)break Z;if((N[F+4>>0]|0)==8)J4(V,F);N[C>>0]=H&z|W,Y0=F}if(F=Z[Y0>>2]|0,!F)break;else m=Y0}}while(0);if(k=k+1|0,k>>>0>=80){u=116;break}}if((u|0)==116)g=Z[U>>2]|0,i=(Z[O>>2]|0)+k|0,t=k;if(Z[O>>2]=i,(i|0)>=(g|0))N[Q>>0]=3;return _=t*5|0,q=$,_|0}case 3:{if(t=Y+68|0,g=Z[t>>2]|0,!g)return N[Q>>0]=4,_=0,q=$,_|0;i=G[Y+48>>0]|0,O=i^3,k=(N[Y+50>>0]|0)==2,U=k?255:184,u=k?64:i&3,i=k?64:0,k=Z[g>>2]|0;Z:do if(!k)X0=0;else{Y0=k,S=80,W=g;while(!0){if(!S){X0=W;break Z}if(S=S+-1|0,H=Y0+5|0,J=G[H>>0]|0,!((J^3)&O))Z[W>>2]=Z[Y0>>2],U4(V,Y0),T0=W;else{if(i&J|0){X0=0;break Z}if((N[Y0+4>>0]|0)==8)J4(V,Y0);N[H>>0]=U&J|u,T0=Y0}if(Y0=Z[T0>>2]|0,!Y0){X0=0;break}else W=T0}}while(0);return Z[t>>2]=X0,_=400,q=$,_|0}case 4:{if(X0=Y+64|0,t=Z[X0>>2]|0,t|0){T0=G[Y+48>>0]|0,u=T0^3,U=(N[Y+50>>0]|0)==2,i=U?255:184,O=U?64:T0&3,T0=U?64:0,U=Z[t>>2]|0;Z:do if(!U)Z0=0;else{g=U,k=80,W=t;while(!0){if(!k){Z0=W;break Z}if(k=k+-1|0,Y0=g+5|0,S=G[Y0>>0]|0,!((S^3)&u))Z[W>>2]=Z[g>>2],U4(V,g),W0=W;else{if(T0&S|0){Z0=0;break Z}if((N[g+4>>0]|0)==8)J4(V,g);N[Y0>>0]=i&S|O,W0=g}if(g=Z[W0>>2]|0,!g){Z0=0;break}else W=W0}}while(0);return Z[X0>>2]=Z0,_=400,q=$,_|0}if(Z0=Z[Y+144>>2]|0,Z[T>>2]=Z0,X0=G[Y+48>>0]|0,W0=X0^3,O=N[Y+50>>0]|0,i=O<<24>>24==2,T0=i?255:184,u=i?64:X0&3,X0=i?64:0,!Z0)O0=O,y0=Y;else{Y=Z0,Z0=1,O=T;while(!0){if(!Z0)break;if(Z0=Z0+-1|0,T=Y+5|0,i=G[T>>0]|0,!((i^3)&W0))Z[O>>2]=Z[Y>>2],U4(V,Y),E0=O;else{if(X0&i|0)break;if((N[Y+4>>0]|0)==8)J4(V,Y);N[T>>0]=T0&i|u,E0=Y}if(Y=Z[E0>>2]|0,!Y)break;else O=E0}E0=Z[X>>2]|0,O0=N[E0+50>>0]|0,y0=E0}if(O0<<24>>24!=1){if(O0=(Z[y0+32>>2]|0)/2|0,(Z[y0+28>>2]|0)>>>0>>0)RN(V,O0),H0=Z[X>>2]|0;else H0=y0;X=y0+116|0,O0=Z[X>>2]|0,V=y0+124|0,y0=Z[V>>2]|0,E0=r6[Z[H0>>2]&3](Z[H0+4>>2]|0,O0,y0,0)|0,O=H0+12|0,Z[O>>2]=(Z[O>>2]|0)-((O0|0)==0?0:y0),Z[X>>2]=E0,Z[V>>2]=0}return N[Q>>0]=5,_=5,q=$,_|0}default:return _=0,q=$,_|0}return 0}function $R(V){V=V|0;var $=0;if($=Z[V+276>>2]|0,$|0?N[$+5>>0]&3:0)E1(V,$);if($=Z[V+280>>2]|0,$|0?N[$+5>>0]&3:0)E1(V,$);if($=Z[V+284>>2]|0,$|0?N[$+5>>0]&3:0)E1(V,$);if($=Z[V+288>>2]|0,$|0?N[$+5>>0]&3:0)E1(V,$);if($=Z[V+292>>2]|0,$|0?N[$+5>>0]&3:0)E1(V,$);if($=Z[V+296>>2]|0,$|0?N[$+5>>0]&3:0)E1(V,$);if($=Z[V+300>>2]|0,$|0?N[$+5>>0]&3:0)E1(V,$);if($=Z[V+304>>2]|0,$|0?N[$+5>>0]&3:0)E1(V,$);if($=Z[V+308>>2]|0,!$)return;if(!(N[$+5>>0]&3))return;E1(V,$);return}function J$(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0;switch($=V+72|0,T=Z[$>>2]|0,X=T+5|0,N[X>>0]=N[X>>0]|4,N[T+4>>0]|0){case 5:{Y=T+24|0,Z[$>>2]=Z[Y>>2],Q=Z[T+8>>2]|0;do if(Q){if(W=Q+6|0,U=N[W>>0]|0,!(U&8)){S=Z[V+168>>2]|0,J=(Z[Q+16>>2]|0)+(((1<>0])+-1&Z[S+8>>2])*20|0)|0;while(!0){if((Z[J+12>>2]|0)==68?(Z[J+8>>2]|0)==(S|0):0){_=7;break}if(K=Z[J+16>>2]|0,!K){P=2172216;break}else J=K}if((_|0)==7)P=J;if(!(Z[P+4>>2]|0))N[W>>0]=U|8,O=0;else O=P}else O=0;if(N[Q+5>>0]&3)E1(V,Q);if(((O|0)!=0?(Z[O+4>>2]&15|0)==4:0)?(S=(Z[O>>2]|0)+16|0,K=o5(S,107)|0,L=(K|0)!=0,K=(o5(S,118)|0)!=0,L|K):0){if(S=T+5|0,N[S>>0]=N[S>>0]&-5,L)if(K){K=V+88|0,Z[Y>>2]=Z[K>>2],Z[K>>2]=T;break}else{_N(V,T)|0;break}if(K=Z[T+16>>2]|0,L=N[T+7>>0]|0,S=K+((1<<(L&255))*20|0)|0,F=(Z[T+28>>2]|0)>0&1,L<<24>>24==31)z=F;else{L=F,F=K;while(!0){K=F+4|0,H=F+12|0,C=(Z[H>>2]&64|0)==0;Z:do if(!(Z[K>>2]|0))if(!C?(N[(Z[F+8>>2]|0)+5>>0]&3)!=0:0)Z[H>>2]=11,A=L;else A=L;else{if(!C?(y=Z[F+8>>2]|0,N[y+5>>0]&3):0)E1(V,y);if(!L){y=Z[K>>2]|0;do if(y&64|0){if(k=Z[F>>2]|0,(y&15|0)!=4)if(!(N[k+5>>0]&3))break;else{A=1;break Z}if(k|0){if(!(N[k+5>>0]&3))break;E1(V,k)}}while(0);A=0}else A=L}while(0);if(F=F+20|0,F>>>0>=S>>>0){z=A;break}else L=A}}if(!z){L=V+76|0,Z[Y>>2]=Z[L>>2],Z[L>>2]=T;break}else{L=V+80|0,Z[Y>>2]=Z[L>>2],Z[L>>2]=T;break}}else _=41}else _=41;while(0);if((_|0)==41){if(_=T+16|0,Y=Z[_>>2]|0,z=Y+((1<>0])*20|0)|0,A=T+28|0,O=Z[A>>2]|0,(O|0)>0){Q=T+12|0,P=O,O=0;while(!0){if(L=Z[Q>>2]|0,(Z[L+(O<<3)+4>>2]&64|0)!=0?(S=Z[L+(O<<3)>>2]|0,(N[S+5>>0]&3)!=0):0)E1(V,S),m=Z[A>>2]|0;else m=P;if(O=O+1|0,(O|0)>=(m|0))break;else P=m}I=Z[_>>2]|0}else I=Y;if(I>>>0>>0){Y=I;do{if(I=Y+4|0,_=Z[I>>2]|0,m=Y+12|0,P=(Z[m>>2]&64|0)==0,!_){if(!P?N[(Z[Y+8>>2]|0)+5>>0]&3:0)Z[m>>2]=11}else{if(!P?(P=Z[Y+8>>2]|0,(N[P+5>>0]&3)!=0):0)E1(V,P),u=Z[I>>2]|0;else u=_;if(u&64|0?(_=Z[Y>>2]|0,N[_+5>>0]&3):0)E1(V,_)}Y=Y+20|0}while(Y>>>0>>0)}}g=(Z[T+28>>2]<<3)+32+(20<>0])|0;break}case 6:{if(Z[$>>2]=Z[T+8>>2],z=Z[T+12>>2]|0,z|0?N[z+5>>0]&3:0)E1(V,z);if(z=T+6|0,Y=N[z>>0]|0,!(Y<<24>>24))g=16;else{u=Y,Y=0;while(!0){if(_=Z[T+16+(Y<<2)>>2]|0,(_|0)!=0?(N[_+5>>0]&3)!=0:0)E1(V,_),i=N[z>>0]|0;else i=u;if(Y=Y+1|0,t=i&255,Y>>>0>=t>>>0)break;else u=i}g=(t<<2)+16|0}break}case 38:{if(Z[$>>2]=Z[T+8>>2],t=T+6|0,i=N[t>>0]|0,!(i<<24>>24))g=16;else{u=i,i=0;while(!0){if((Z[T+16+(i<<3)+4>>2]&64|0)!=0?(Y=Z[T+16+(i<<3)>>2]|0,(N[Y+5>>0]&3)!=0):0)E1(V,Y),Y0=N[t>>0]|0;else Y0=u;if(i=i+1|0,X0=Y0&255,i>>>0>=X0>>>0)break;else u=Y0}g=(X0<<3)+16|0}break}case 8:{if(X0=T+60|0,Z[$>>2]=Z[X0>>2],Y0=V+76|0,Z[X0>>2]=Z[Y0>>2],Z[Y0>>2]=T,N[X>>0]=N[X>>0]&-5,X=T+28|0,Y0=Z[X>>2]|0,!Y0)g=1;else{if(X0=T+8|0,u=Z[X0>>2]|0,Y0>>>0>>0){i=u,u=Y0;while(!0){if((Z[u+4>>2]&64|0)!=0?(t=Z[u>>2]|0,(N[t+5>>0]&3)!=0):0)E1(V,t),T0=Z[X0>>2]|0;else T0=i;if(t=u+8|0,t>>>0>>0)i=T0,u=t;else{Z0=t;break}}}else Z0=Y0;if((N[V+49>>0]|0)==1)if(Y0=(Z[X>>2]|0)+(Z[T+32>>2]<<3)|0,Z0>>>0>>0){X=Z0;do Z[X+4>>2]=0,X=X+8|0;while(X>>>0>>0);W0=120}else W0=120;else if(Y0=T+72|0,X=Z[T+16>>2]|0,(X|0)==(Y0|0))W0=120;else{Z0=Y0,Y0=0;do Y0=Y0+1|0,Z0=Z[Z0+12>>2]|0;while((Z0|0)!=(X|0));W0=(Y0*40|0)+120|0}g=(Z[T+32>>2]<<3)+W0|0}break}case 9:{if(Z[$>>2]=Z[T+72>>2],$=T+32|0,W0=Z[$>>2]|0,W0|0?N[W0+5>>0]&3:0)Z[$>>2]=0;if($=Z[T+36>>2]|0,$|0?N[$+5>>0]&3:0)E1(V,$);if($=T+44|0,W0=Z[$>>2]|0,(W0|0)>0){Y0=T+8|0,X=W0,W0=0;while(!0){if(Z0=Z[Y0>>2]|0,(Z[Z0+(W0<<3)+4>>2]&64|0)!=0?(u=Z[Z0+(W0<<3)>>2]|0,(N[u+5>>0]&3)!=0):0)E1(V,u),O0=Z[$>>2]|0;else O0=X;if(W0=W0+1|0,(W0|0)>=(O0|0))break;else X=O0}}if(O0=T+40|0,X=Z[O0>>2]|0,(X|0)>0){W0=T+28|0,Y0=X,X=0;while(!0){if(u=Z[(Z[W0>>2]|0)+(X<<3)>>2]|0,(u|0)!=0?(N[u+5>>0]&3)!=0:0)E1(V,u),y0=Z[O0>>2]|0;else y0=Y0;if(X=X+1|0,(X|0)>=(y0|0))break;else Y0=y0}}if(y0=T+56|0,Y0=Z[y0>>2]|0,(Y0|0)>0){X=T+16|0,W0=Y0,u=0;while(!0){if(Z0=Z[(Z[X>>2]|0)+(u<<2)>>2]|0,(Z0|0)!=0?(N[Z0+5>>0]&3)!=0:0)E1(V,Z0),E0=Z[y0>>2]|0;else E0=W0;if(u=u+1|0,(u|0)>=(E0|0)){H0=E0;break}else W0=E0}}else H0=Y0;if(Y0=T+60|0,E0=Z[Y0>>2]|0,(E0|0)>0){W0=T+24|0,u=E0,X=0;while(!0){if(Z0=Z[(Z[W0>>2]|0)+(X*12|0)>>2]|0,(Z0|0)!=0?(N[Z0+5>>0]&3)!=0:0)E1(V,Z0),D0=Z[Y0>>2]|0;else D0=u;if(X=X+1|0,(X|0)>=(D0|0))break;else u=D0}_0=D0,F0=Z[y0>>2]|0}else _0=E0,F0=H0;g=(_0*12|0)+80+((Z[T+48>>2]|0)+F0+(Z[T+52>>2]|0)<<2)+((Z[O0>>2]|0)+(Z[$>>2]|0)<<3)|0;break}default:return}$=V+16|0,Z[$>>2]=(Z[$>>2]|0)+g;return}function _N(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0;if(T=$+16|0,X=Z[T>>2]|0,Y=X+((1<<(G[$+7>>0]|0))*20|0)|0,Q=$+28|0,W=Z[Q>>2]|0,(W|0)>0){U=$+12|0,S=W,W=0,J=0;while(!0){if(_=Z[U>>2]|0,(Z[_+(W<<3)+4>>2]&64|0)!=0?(K=Z[_+(W<<3)>>2]|0,(N[K+5>>0]&3)!=0):0)E1(V,K),P=Z[Q>>2]|0,O=1;else P=S,O=J;if(W=W+1|0,(W|0)>=(P|0))break;else S=P,J=O}L=Z[T>>2]|0,F=O}else L=X,F=0;if(L>>>0>>0){X=0,O=F,T=L,L=0;while(!0){J=T+4|0,P=Z[J>>2]|0,S=T+12|0,W=Z[S>>2]|0,Q=(W&64|0)==0;Z:do if(!P)if(!Q?(N[(Z[T+8>>2]|0)+5>>0]&3)!=0:0)Z[S>>2]=11,z=X,H=O,C=L;else z=X,H=O,C=L;else{do if(Q)A=P,y=19;else{if(U=Z[T+8>>2]|0,(W&15|0)==4){if(!U){A=P,y=19;break}if(!(N[U+5>>0]&3)){A=P,y=19;break}E1(V,U),A=Z[J>>2]|0,y=19;break}if(K=(P&64|0)==0,!(N[U+5>>0]&3))if(K){z=X,H=O,C=L;break Z}else break;if(K){z=1,H=O,C=L;break Z}z=1,H=O,C=(N[(Z[T>>2]|0)+5>>0]&3)==0?L:1;break Z}while(0);if((y|0)==19?(y=0,(A&64|0)==0):0){z=X,H=O,C=L;break}if(K=Z[T>>2]|0,!(N[K+5>>0]&3))z=X,H=O,C=L;else E1(V,K),z=X,H=1,C=L}while(0);if(T=T+20|0,T>>>0>=Y>>>0)break;else X=z,O=H,L=C}if(C|0)return k=V+84|0,m=H,I=Z[k>>2]|0,u=$+24|0,Z[u>>2]=I,Z[k>>2]=$,m|0;if(!z)g=H;else return k=V+88|0,m=H,I=Z[k>>2]|0,u=$+24|0,Z[u>>2]=I,Z[k>>2]=$,m|0}else g=F;return k=V+76|0,m=g,I=Z[k>>2]|0,u=$+24|0,Z[u>>2]=I,Z[k>>2]=$,m|0}function MQ(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if(($|0)==(T|0))return;X=$;do{if($=X+16|0,Y=Z[$>>2]|0,Q=Y+((1<<(G[X+7>>0]|0))*20|0)|0,W=X+28|0,(Z[W>>2]|0)>0){U=X+12|0,S=0;do{if(J=Z[U>>2]|0,XR(V,J+(S<<3)|0)|0)Z[J+(S<<3)+4>>2]=0;S=S+1|0}while((S|0)<(Z[W>>2]|0));_=Z[$>>2]|0}else _=Y;if(_>>>0>>0){W=_;do{if(S=W+4|0,((Z[S>>2]|0?XR(V,W)|0:0)?(Z[S>>2]=0,S=W+12|0,Z[S>>2]&64|0):0)?N[(Z[W+8>>2]|0)+5>>0]&3:0)Z[S>>2]=11;W=W+20|0}while(W>>>0>>0)}X=Z[X+24>>2]|0}while((X|0)!=(T|0));return}function TR(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0;$=V+12|0,T=Z[$>>2]|0,N[T+49>>0]=2,Z[T+52>>2]=0,X=T+60|0,Y=G[T+48>>0]|0,Q=(N[T+50>>0]|0)==2,W=Z[X>>2]|0;Z:do if(!W)U=1,S=0;else{J=W,_=1,K=Q?255:184,P=Q?64:Y&3,O=Q?64:0,L=Y;while(!0){F=L^3,z=J,H=1,C=X;while(!0){if(!H)break;if(H=H+-1|0,A=z+5|0,y=G[A>>0]|0,!((y^3)&F))Z[C>>2]=Z[z>>2],U4(V,z),k=C;else{if(O&y|0){U=_,S=0;break Z}if((N[z+4>>0]|0)==8)J4(V,z);N[A>>0]=K&y|P,k=z}if(z=Z[k>>2]|0,!z){U=_,S=0;break Z}else C=k}if((C|0)!=(X|0)){U=_,S=C;break Z}if(z=Z[$>>2]|0,F=_+1|0,H=G[z+48>>0]|0,y=(N[z+50>>0]|0)==2,J=Z[X>>2]|0,!J){U=F,S=0;break}else _=F,K=y?255:184,P=y?64:H&3,O=y?64:0,L=H}}while(0);Z[T+68>>2]=S,S=T+56|0,X=0;Z:while(!0){if(X=X+1|0,k=Z[$>>2]|0,Y=G[k+48>>0]|0,Q=Y^3,W=(N[k+50>>0]|0)==2,k=W?255:184,L=W?64:Y&3,Y=W?64:0,W=Z[S>>2]|0,!W){m=0,I=26;break}O=W,W=1,P=S;while(!0){if(!W)break;if(W=W+-1|0,K=O+5|0,_=G[K>>0]|0,!((_^3)&Q))Z[P>>2]=Z[O>>2],U4(V,O),u=P;else{if(Y&_|0){m=0,I=26;break Z}if((N[O+4>>0]|0)==8)J4(V,O);N[K>>0]=k&_|L,u=O}if(O=Z[u>>2]|0,!O){m=0,I=26;break Z}else P=u}if((P|0)!=(S|0)){m=P,I=26;break}}if((I|0)==26)return Z[T+64>>2]=m,X+U|0;return 0}function U4(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;do switch(N[$+4>>0]|0){case 9:{jD(V,$);return}case 6:{T=(G[$+6>>0]<<2)+16|0,X=Z[V+12>>2]|0,r6[Z[X>>2]&3](Z[X+4>>2]|0,$,T,0)|0,Y=X+12|0,Z[Y>>2]=(Z[Y>>2]|0)-T;return}case 38:{T=(G[$+6>>0]<<3)+16|0,Y=Z[V+12>>2]|0,r6[Z[Y>>2]&3](Z[Y+4>>2]|0,$,T,0)|0,X=Y+12|0,Z[X>>2]=(Z[X>>2]|0)-T;return}case 10:{if(T=$+12|0,(Z[$+8>>2]|0)!=(T|0))X=$+16|0,Z[(Z[X>>2]|0)+12>>2]=Z[T>>2],Z[(Z[T>>2]|0)+16>>2]=Z[X>>2];X=Z[V+12>>2]|0,r6[Z[X>>2]&3](Z[X+4>>2]|0,$,20,0)|0,T=X+12|0,Z[T>>2]=(Z[T>>2]|0)+-20;return}case 5:{if(T=Z[$+16>>2]|0,(T|0)==2172240)Q=V+12|0;else X=20<>0],Y=V+12|0,W=Z[Y>>2]|0,r6[Z[W>>2]&3](Z[W+4>>2]|0,T,X,0)|0,U=W+12|0,Z[U>>2]=(Z[U>>2]|0)-((T|0)==0?0:X),Q=Y;Y=Z[$+12>>2]|0,X=Z[$+28>>2]<<3,T=Z[Q>>2]|0,r6[Z[T>>2]&3](Z[T+4>>2]|0,Y,X,0)|0,U=T+12|0,Z[U>>2]=(Z[U>>2]|0)-((Y|0)==0?0:X),X=Z[Q>>2]|0,r6[Z[X>>2]&3](Z[X+4>>2]|0,$,32,0)|0,Y=X+12|0,Z[Y>>2]=(Z[Y>>2]|0)+-32;return}case 8:{kD(V,$);return}case 7:{Y=(Z[$+16>>2]|0)+24|0,X=Z[V+12>>2]|0,r6[Z[X>>2]&3](Z[X+4>>2]|0,$,Y,0)|0,U=X+12|0,Z[U>>2]=(Z[U>>2]|0)-Y;return}case 4:{Y=Z[V+12>>2]|0,U=Y+28|0,Z[U>>2]=(Z[U>>2]|0)+-1,S=Y;break}case 20:{S=Z[V+12>>2]|0;break}default:return}while(0);V=(Z[$+12>>2]|0)+17|0,r6[Z[S>>2]&3](Z[S+4>>2]|0,$,V,0)|0,$=S+12|0,Z[$>>2]=(Z[$>>2]|0)-V;return}function J4(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;if(T=$+28|0,!(Z[T>>2]|0))return;X=$+56|0,Y=V+12|0,Q=Z[Y>>2]|0,W=G[Q+48>>0]|0,U=W^3,S=(N[Q+50>>0]|0)==2,Q=S?255:184,J=S?64:W&3,W=S?64:0,S=Z[X>>2]|0;Z:do if(S|0){_=S,K=-3,P=X;while(!0){if(!K)break Z;if(K=K+-1|0,O=_+5|0,L=G[O>>0]|0,!((L^3)&U))Z[P>>2]=Z[_>>2],U4(V,_),F=P;else{if(W&L|0)break Z;if((N[_+4>>0]|0)==8)J4(V,_);N[O>>0]=Q&L|J,F=_}if(_=Z[F>>2]|0,!_)break;else P=F}}while(0);if(F=$+16|0,J=(Z[F>>2]|0)+12|0,Q=Z[J>>2]|0,Z[J>>2]=0,Q|0){J=$+12|0,V=Q;do Q=V,V=Z[V+12>>2]|0,W=Z[J>>2]|0,r6[Z[W>>2]&3](Z[W+4>>2]|0,Q,40,0)|0,U=W+12|0,Z[U>>2]=(Z[U>>2]|0)-((Q|0)==0?0:40);while((V|0)!=0)}if((N[(Z[Y>>2]|0)+50>>0]|0)==1)return;if(Y=Z[$+8>>2]|0,V=Z[F>>2]|0,!V)z=Y;else{F=V,V=Y;while(!0)if(Y=Z[F+4>>2]|0,J=V>>>0>>0?Y:V,F=Z[F+8>>2]|0,!F){z=J;break}else V=J}if(V=z-(Z[T>>2]|0)|0,T=V>>3,z=T+11+((T+1|0)/8|0)|0,T=(z|0)<1e6?z:1e6,(V|0)>7999992)return;if((T|0)>=(Z[$+32>>2]|0))return;x5($,T);return}function jD(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;T=Z[$+12>>2]|0,X=Z[$+48>>2]<<2,Y=V+12|0,V=Z[Y>>2]|0,r6[Z[V>>2]&3](Z[V+4>>2]|0,T,X,0)|0,Q=V+12|0,Z[Q>>2]=(Z[Q>>2]|0)-((T|0)==0?0:X),X=Z[$+16>>2]|0,T=Z[$+56>>2]<<2,Q=Z[Y>>2]|0,r6[Z[Q>>2]&3](Z[Q+4>>2]|0,X,T,0)|0,V=Q+12|0,Z[V>>2]=(Z[V>>2]|0)-((X|0)==0?0:T),T=Z[$+8>>2]|0,X=Z[$+44>>2]<<3,V=Z[Y>>2]|0,r6[Z[V>>2]&3](Z[V+4>>2]|0,T,X,0)|0,Q=V+12|0,Z[Q>>2]=(Z[Q>>2]|0)-((T|0)==0?0:X),X=Z[$+20>>2]|0,T=Z[$+52>>2]<<2,Q=Z[Y>>2]|0,r6[Z[Q>>2]&3](Z[Q+4>>2]|0,X,T,0)|0,V=Q+12|0,Z[V>>2]=(Z[V>>2]|0)-((X|0)==0?0:T),T=Z[$+24>>2]|0,X=(Z[$+60>>2]|0)*12|0,V=Z[Y>>2]|0,r6[Z[V>>2]&3](Z[V+4>>2]|0,T,X,0)|0,Q=V+12|0,Z[Q>>2]=(Z[Q>>2]|0)-((T|0)==0?0:X),X=Z[$+28>>2]|0,T=Z[$+40>>2]<<3,Q=Z[Y>>2]|0,r6[Z[Q>>2]&3](Z[Q+4>>2]|0,X,T,0)|0,V=Q+12|0,Z[V>>2]=(Z[V>>2]|0)-((X|0)==0?0:T),T=Z[Y>>2]|0,r6[Z[T>>2]&3](Z[T+4>>2]|0,$,80,0)|0,Y=T+12|0,Z[Y>>2]=(Z[Y>>2]|0)-(($|0)==0?0:80);return}function kD(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;if(T=$+28|0,q4($,Z[T>>2]|0),X=Z[T>>2]|0,!X){Y=V+12|0,Q=Z[Y>>2]|0,W=Z[Q>>2]|0,U=Q+4|0,S=Z[U>>2]|0,r6[W&3](S,$,120,0)|0,J=Q+12|0,_=Z[J>>2]|0,K=_+-120|0,Z[J>>2]=K;return}if(Z[$+16>>2]=$+72,P=$+84|0,O=Z[P>>2]|0,Z[P>>2]=0,P=$+12|0,!O)L=X;else{X=O;do O=X,X=Z[X+12>>2]|0,F=Z[P>>2]|0,r6[Z[F>>2]&3](Z[F+4>>2]|0,O,40,0)|0,z=F+12|0,Z[z>>2]=(Z[z>>2]|0)-((O|0)==0?0:40);while((X|0)!=0);L=Z[T>>2]|0}T=Z[$+32>>2]<<3,X=Z[P>>2]|0,r6[Z[X>>2]&3](Z[X+4>>2]|0,L,T,0)|0,P=X+12|0,Z[P>>2]=(Z[P>>2]|0)-((L|0)==0?0:T),Y=V+12|0,Q=Z[Y>>2]|0,W=Z[Q>>2]|0,U=Q+4|0,S=Z[U>>2]|0,r6[W&3](S,$,120,0)|0,J=Q+12|0,_=Z[J>>2]|0,K=_+-120|0,Z[J>>2]=K;return}function XR(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0;T=Z[$+4>>2]|0;do if(T&64){if(X=Z[$>>2]|0,(T&15|0)!=4){Y=N[X+5>>0]&3;break}if((X|0)!=0?(N[X+5>>0]&3)!=0:0)E1(V,X),Y=0;else Y=0}else Y=0;while(0);return Y|0}function KN(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;if($=Z[V+28>>2]|0,$|0?(T=Z[V+12>>2]|0,(Z[T+($+-1<<3)+4>>2]|0)==0):0){if($>>>0<=1)return X=0,X|0;Y=0,Q=$;while(!0)if(W=(Q+Y|0)>>>1,U=(Z[T+(W+-1<<3)+4>>2]|0)==0,S=U?Y:W,Q=U?W:Q,(Q-S|0)>>>0<=1){X=S;break}else Y=S;return X|0}if(Y=Z[V+16>>2]|0,(Y|0)==2172240)return X=$,X|0;Q=V+12|0,T=V+7|0,V=$,S=$+1|0;while(!0){W=S+-1|0;Z:do if(W>>>0<$>>>0)J=(Z[Q>>2]|0)+(W<<3)|0;else{U=S<<16,_=0-U|0,K=Y+(((((U|0)<0?(U|0)==(_|0)?0:_:U)|0)%((1<<(G[T>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[K+12>>2]|0)==3?(Z[K+8>>2]|0)==(U|0):0)break;if(_=Z[K+16>>2]|0,!_){J=2172216;break Z}else K=_}J=K}while(0);if(!(Z[J+4>>2]|0))break;if(W=S<<1,W>>>0>2147483645){P=17;break}else U=S,S=W,V=U}if((P|0)==17){P=1;while(!0){J=P+-1|0;Z:do if(J>>>0<$>>>0)O=(Z[Q>>2]|0)+(J<<3)|0;else{U=P<<16,W=0-U|0,_=Y+(((((U|0)<0?(U|0)==(W|0)?0:W:U)|0)%((1<<(G[T>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[_+12>>2]|0)==3?(Z[_+8>>2]|0)==(U|0):0)break;if(W=Z[_+16>>2]|0,!W){O=2172216;break Z}else _=W}O=_}while(0);if(!(Z[O+4>>2]|0)){X=J;break}else P=P+1|0}return X|0}if((S-V|0)>>>0<=1)return X=V,X|0;P=V,V=S;while(!0){S=(V+P|0)>>>1,O=S+-1|0;Z:do if(O>>>0<$>>>0)L=(Z[Q>>2]|0)+(O<<3)|0;else{U=S<<16,K=0-U|0,W=Y+(((((U|0)<0?(U|0)==(K|0)?0:K:U)|0)%((1<<(G[T>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[W+12>>2]|0)==3?(Z[W+8>>2]|0)==(U|0):0)break;if(K=Z[W+16>>2]|0,!K){L=2172216;break Z}else W=K}L=W}while(0);if(O=(Z[L+4>>2]|0)==0,V=O?S:V,J=O?P:S,(V-J|0)>>>0<=1){X=J;break}else P=J}return X|0}function YR(V,$,T){V=V|0,$=$|0,T=T|0;var X=0;do switch(V|0){case 0:{X=T+$|0;break}case 1:{X=$-T|0;break}case 2:{X=YJ($,T)|0;break}case 3:{X=AY($,T)|0;break}case 4:{X=QJ($,T)|0;break}case 5:{X=WJ($,T)|0;break}case 6:{X=T&$;break}case 7:{X=T|$;break}case 8:{X=T^$;break}case 9:{X=UW($,T)|0;break}case 10:{X=JW($,T)|0;break}case 11:{X=yY($,T)|0;break}case 12:{X=WW($,T)|0;break}case 13:{X=NW($,T)|0;break}case 14:{X=~$;break}case 15:{X=(AY($,T)|0)&-65536;break}case 16:{X=XJ($)|0;break}case 17:{X=TJ($)|0;break}case 18:{X=$J($)|0;break}case 19:{X=0-$|0;break}default:X=0}while(0);return X|0}function pD(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0;X=q,q=q+16|0,Y=(mD($,X)|0)==0,DX(V,Y?$:T,46643)}function mD(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;if(T=q,q=q+16|0,X=T,Y=Z[V+4>>2]|0,(Y|0)!=3)if((Y&15|0)==4?(Y=Z[V>>2]|0,(L9(Y+16|0,Z[Y+12>>2]|0,X)|0)!=0):0)Z[$>>2]=Z[X>>2],Z[$+4>>2]=3,Q=$;else Q=0;else Q=V;return q=T,Q|0}function LQ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;switch(Z[$+4>>2]&63){case 3:return T=Z[$>>2]|0,X=0-T|0,Y=(Z[V+16>>2]|0)+(((((T|0)<0?(T|0)==(X|0)?0:X:T)|0)%((1<>0])+-1|1|0)|0)*20|0)|0,Y|0;case 20:{if(T=Z[$>>2]|0,X=T+6|0,!(N[X>>0]|0)){if(Q=T+16|0,W=Z[T+12>>2]|0,U=T+8|0,S=Z[U>>2]^W,J=W>>>5,J>>>0>>0){_=~J,K=S,P=W;while(!0)if(W=(K<<5)+(K>>>2)+(G[Q+(P+-1)>>0]|0)^K,P=P+_|0,P>>>0<=J>>>0){O=W;break}else K=W}else O=S;Z[U>>2]=O,N[X>>0]=1,L=Z[$>>2]|0}else L=T;return Y=(Z[V+16>>2]|0)+(((1<>0])+-1&Z[L+8>>2])*20|0)|0,Y|0}case 4:return Y=(Z[V+16>>2]|0)+(((1<>0])+-1&Z[(Z[$>>2]|0)+8>>2])*20|0)|0,Y|0;case 1:return Y=(Z[V+16>>2]|0)+(((1<>0])+-1&Z[$>>2])*20|0)|0,Y|0;case 2:return Y=(Z[V+16>>2]|0)+((((Z[$>>2]|0)>>>0)%(((1<>0])+-1|1)>>>0)|0)*20|0)|0,Y|0;case 54:case 22:return Y=(Z[V+16>>2]|0)+((((Z[$>>2]|0)>>>0)%(((1<>0])+-1|1)>>>0)|0)*20|0)|0,Y|0;default:return Y=(Z[V+16>>2]|0)+((((Z[$>>2]|0)>>>0)%(((1<>0])+-1|1)>>>0)|0)*20|0)|0,Y|0}return 0}function Z5(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0;return X=q,q=q+16|0,Y=X,Z[Y>>2]=T,T=dY(V,$,Y)|0,q=X,T|0}function y9(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if(T>>>0<41)return X=P7(V,$,T)|0,X|0;if((T+1|0)>>>0>4294967277)x1(V);if(Y=Z[V+12>>2]|0,Q=Z[Y+44>>2]|0,W=T+17|0,U=Y+4|0,S=r6[Z[Y>>2]&3](Z[U>>2]|0,0,4,W)|0,(W|0)!=0&(S|0)==0){if(!(N[Y+51>>0]|0))Z8(V,4);if(M2(V,1),J=r6[Z[Y>>2]&3](Z[U>>2]|0,0,4,W)|0,!J)Z8(V,4);else _=J}else _=S;return S=Y+12|0,Z[S>>2]=(Z[S>>2]|0)+W,W=Y+56|0,N[_+5>>0]=N[Y+48>>0]&3,N[_+4>>0]=20,Z[_>>2]=Z[W>>2],Z[W>>2]=_,Z[_+12>>2]=T,Z[_+8>>2]=Q,N[_+6>>0]=0,Q=_+16|0,q6(Q|0,$|0,T|0)|0,N[Q+T>>0]=0,X=_,X|0}function b8(V){return V=V|0,(Z[V+8>>2]|0)-((Z[Z[V+16>>2]>>2]|0)+8)>>3|0}function QY(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;if(($|0)<=-1){T=V+8|0,Z[T>>2]=(Z[T>>2]|0)+($+1<<3);return}if(T=Z[Z[V+16>>2]>>2]|0,X=V+8|0,V=Z[X>>2]|0,Y=T+8+($<<3)|0,V>>>0>>0){Q=((T+($<<3)+4+(3-V)|0)>>>3)+1|0,$=V;do Z[$+4>>2]=0,$=$+8|0;while($>>>0>>0);Z[X>>2]=V+(Q<<3)}Z[X>>2]=Y;return}function uD(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;X=V+16|0,Y=Z[X>>2]|0;do if(($|0)<=0){if(($|0)>=-1000999){Q=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){Q=(Z[V+12>>2]|0)+36|0;break}if(W=-1001000-$|0,U=Z[Y>>2]|0,(Z[U+4>>2]|32|0)==54)Q=2172216;else S=Z[U>>2]|0,Q=(W|0)>(G[S+6>>0]|0|0)?2172216:S+16+(W+-1<<3)|0}else W=(Z[Y>>2]|0)+($<<3)|0,Q=W>>>0<(Z[V+8>>2]|0)>>>0?W:2172216;while(0);do if((T|0)<=0){if((T|0)>=-1000999){J=(Z[V+8>>2]|0)+(T<<3)|0;break}if((T|0)==-1001000){J=(Z[V+12>>2]|0)+36|0;break}if($=-1001000-T|0,W=Z[Y>>2]|0,(Z[W+4>>2]|32|0)==54)J=2172216;else S=Z[W>>2]|0,J=($|0)>(G[S+6>>0]|0|0)?2172216:S+16+($+-1<<3)|0}else $=(Z[Y>>2]|0)+(T<<3)|0,J=$>>>0<(Z[V+8>>2]|0)>>>0?$:2172216;while(0);if(Z[J>>2]=Z[Q>>2],Y=Q+4|0,Z[J+4>>2]=Z[Y>>2],(T|0)>=-1001000)return;if(!(Z[Y>>2]&64))return;if(Y=Z[Q>>2]|0,!(N[Y+5>>0]&3))return;if(Q=(Z[Z[Z[X>>2]>>2]>>2]|0)+5|0,X=N[Q>>0]|0,!(X&4))return;if(T=Z[V+12>>2]|0,(G[T+49>>0]|0)<2){E1(T,Y);return}else{N[Q>>0]=N[T+48>>0]&3|X&-72;return}}function lD(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;T=Z[V+16>>2]|0;do if(($|0)<=0){if(($|0)>=-1000999){X=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){X=(Z[V+12>>2]|0)+36|0;break}if(Y=-1001000-$|0,Q=Z[T>>2]|0,(Z[Q+4>>2]|32|0)==54)X=2172216;else W=Z[Q>>2]|0,X=(Y|0)>(G[W+6>>0]|0|0)?2172216:W+16+(Y+-1<<3)|0}else Y=(Z[T>>2]|0)+($<<3)|0,X=Y>>>0<(Z[V+8>>2]|0)>>>0?Y:2172216;while(0);$=V+8|0,V=Z[$>>2]|0,Z[V>>2]=Z[X>>2],Z[V+4>>2]=Z[X+4>>2],Z[$>>2]=(Z[$>>2]|0)+8;return}function a5(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0;T=Z[V+16>>2]|0;do if(($|0)>0)if(X=(Z[T>>2]|0)+($<<3)|0,X>>>0<(Z[V+8>>2]|0)>>>0)Y=X;else return Q=-1,Q|0;else{if(($|0)>=-1000999){Y=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){Y=(Z[V+12>>2]|0)+36|0;break}if(X=-1001000-$|0,W=Z[T>>2]|0,(Z[W+4>>2]|32|0)==54)return Q=-1,Q|0;if(U=Z[W>>2]|0,(X|0)>(G[U+6>>0]|0|0))return Q=-1,Q|0;else Y=U+16+(X+-1<<3)|0}while(0);if((Y|0)==2172216)return Q=-1,Q|0;return Q=Z[Y+4>>2]&15,Q|0}function PN(V,$){return V=V|0,$=$|0,Z[16+($+1<<2)>>2]|0}function J8(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;X=q,q=q+16|0,Y=X+8|0,Q=X,W=Z[V+16>>2]|0;do if(($|0)<=0){if(($|0)>=-1000999){U=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){U=(Z[V+12>>2]|0)+36|0;break}if(S=-1001000-$|0,J=Z[W>>2]|0,(Z[J+4>>2]|32|0)==54)U=2172216;else _=Z[J>>2]|0,U=(S|0)>(G[_+6>>0]|0|0)?2172216:_+16+(S+-1<<3)|0}else S=(Z[W>>2]|0)+($<<3)|0,U=S>>>0<(Z[V+8>>2]|0)>>>0?S:2172216;while(0);V=Z[U+4>>2]|0;do if((V|0)==3)K=U;else{if((V&15|0)==4?($=Z[U>>2]|0,L9($+16|0,Z[$+12>>2]|0,Y)|0):0){Z[Q>>2]=Z[Y>>2],Z[Q+4>>2]=3,K=Q;break}if(!T)return P=0,q=X,P|0;return Z[T>>2]=0,P=0,q=X,P|0}while(0);if(T|0)Z[T>>2]=1;return P=Z[K>>2]|0,q=X,P|0}function e2(V){V=V|0;var $=0,T=0,X=0,Y=0;if($=q,q=q+16|0,T=$,X=Z[V+4>>2]|0,(X|0)==3)return Y=Z[V>>2]|0,q=$,Y|0;if((X&15|0)==4?(X=Z[V>>2]|0,L9(X+16|0,Z[X+12>>2]|0,T)|0):0)return Y=Z[T>>2]|0,q=$,Y|0;return Y=0,q=$,Y|0}function zX(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;X=q,q=q+16|0,Y=X,Q=Z[V+16>>2]|0;do if(($|0)<=0){if(($|0)>=-1000999){W=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){W=(Z[V+12>>2]|0)+36|0;break}if(U=-1001000-$|0,S=Z[Q>>2]|0,(Z[S+4>>2]|32|0)==54)W=2172216;else J=Z[S>>2]|0,W=(U|0)>(G[J+6>>0]|0|0)?2172216:J+16+(U+-1<<3)|0}else U=(Z[Q>>2]|0)+($<<3)|0,W=U>>>0<(Z[V+8>>2]|0)>>>0?U:2172216;while(0);V=Z[W+4>>2]|0;do if((V|0)==3)_=Z[W>>2]|0;else{if((V&15|0)==4?($=Z[W>>2]|0,L9($+16|0,Z[$+12>>2]|0,Y)|0):0){_=Z[Y>>2]|0;break}if(!T)return K=0,q=X,K|0;return Z[T>>2]=0,K=0,q=X,K|0}while(0);if(Y=_>>16,!T)return K=Y,q=X,K|0;return Z[T>>2]=1,K=Y,q=X,K|0}function j3(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0;T=Z[V+16>>2]|0;do if(($|0)<=0){if(($|0)>=-1000999){X=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){X=(Z[V+12>>2]|0)+36|0;break}if(Y=-1001000-$|0,Q=Z[T>>2]|0,(Z[Q+4>>2]|32|0)==54)X=2172216;else W=Z[Q>>2]|0,X=(Y|0)>(G[W+6>>0]|0|0)?2172216:W+16+(Y+-1<<3)|0}else Y=(Z[T>>2]|0)+($<<3)|0,X=Y>>>0<(Z[V+8>>2]|0)>>>0?Y:2172216;while(0);switch(V=Z[X+4>>2]|0,V|0){case 1:return U=(Z[X>>2]|0)!=0&1,U|0;case 0:return U=V,U|0;default:return U=1,U|0}return 0}function w7(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;X=V+16|0,Y=Z[X>>2]|0,Q=($|0)>0;do if(!Q){if(($|0)>=-1000999){W=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){W=(Z[V+12>>2]|0)+36|0;break}if(U=-1001000-$|0,S=Z[Y>>2]|0,(Z[S+4>>2]|32|0)==54)W=2172216;else J=Z[S>>2]|0,W=(U|0)>(G[J+6>>0]|0)?2172216:J+16+(U+-1<<3)|0}else U=(Z[Y>>2]|0)+($<<3)|0,W=U>>>0<(Z[V+8>>2]|0)>>>0?U:2172216;while(0);do if((Z[W+4>>2]&15|0)!=4){if(!(WY(V,W)|0)){if(!T)return _=0,_|0;return Z[T>>2]=0,_=0,_|0}Y=V+12|0,U=Z[Y>>2]|0,J=U+12|0,S=Z[J>>2]|0;do if((S|0)>0)if(!(N[U+51>>0]|0)){K=U+8|0,Z[K>>2]=S+1600+(Z[K>>2]|0),Z[J>>2]=-1600;break}else{g1(V);break}while(0);if(J=Z[X>>2]|0,Q){S=(Z[J>>2]|0)+($<<3)|0,P=S>>>0<(Z[V+8>>2]|0)>>>0?S:2172216;break}if(($|0)>=-1000999){P=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){P=(Z[Y>>2]|0)+36|0;break}if(S=-1001000-$|0,U=Z[J>>2]|0,(Z[U+4>>2]|32|0)==54)P=2172216;else J=Z[U>>2]|0,P=(S|0)>(G[J+6>>0]|0)?2172216:J+16+(S+-1<<3)|0}else P=W;while(0);if(T|0)Z[T>>2]=Z[(Z[P>>2]|0)+12>>2];return _=(Z[P>>2]|0)+16|0,_|0}function WY(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;if(T=q,q=q+32|0,X=T,Y=$+4|0,(Z[Y>>2]|0)!=3)return Q=0,q=T,Q|0;if(W=OQ(X,Z[$>>2]|0)|0,W>>>0<41)U=P7(V,X,W)|0;else{if((W+1|0)>>>0>4294967277)x1(V);if(S=Z[V+12>>2]|0,J=Z[S+44>>2]|0,_=W+17|0,K=S+4|0,P=r6[Z[S>>2]&3](Z[K>>2]|0,0,4,_)|0,(_|0)!=0&(P|0)==0){if(!(N[S+51>>0]|0))Z8(V,4);if(M2(V,1),O=r6[Z[S>>2]&3](Z[K>>2]|0,0,4,_)|0,!O)Z8(V,4);else L=O}else L=P;P=S+12|0,Z[P>>2]=(Z[P>>2]|0)+_,_=S+56|0,N[L+5>>0]=N[S+48>>0]&3,N[L+4>>0]=20,Z[L>>2]=Z[_>>2],Z[_>>2]=L,Z[L+12>>2]=W,Z[L+8>>2]=J,N[L+6>>0]=0,J=L+16|0,q6(J|0,X|0,W|0)|0,N[J+W>>0]=0,U=L}return Z[$>>2]=U,Z[Y>>2]=(N[U+4>>0]|64)&255,Q=1,q=T,Q|0}function sD(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0;T=Z[V+16>>2]|0;do if(($|0)<=0){if(($|0)>=-1000999){X=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){X=(Z[V+12>>2]|0)+36|0;break}if(Y=-1001000-$|0,Q=Z[T>>2]|0,(Z[Q+4>>2]|32|0)==54)X=2172216;else W=Z[Q>>2]|0,X=(Y|0)>(G[W+6>>0]|0|0)?2172216:W+16+(Y+-1<<3)|0}else Y=(Z[T>>2]|0)+($<<3)|0,X=Y>>>0<(Z[V+8>>2]|0)>>>0?Y:2172216;while(0);switch(Z[X+4>>2]&15){case 4:return U=Z[(Z[X>>2]|0)+12>>2]|0,U|0;case 7:return U=Z[(Z[X>>2]|0)+16>>2]|0,U|0;case 5:return U=KN(Z[X>>2]|0)|0,U|0;default:return U=0,U|0}return 0}function oD(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;T=Z[V+16>>2]|0,X=($|0)>0;do if(!X){if(($|0)>=-1000999){Y=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){Y=(Z[V+12>>2]|0)+36|0;break}if(Q=-1001000-$|0,W=Z[T>>2]|0,(Z[W+4>>2]|32|0)==54)Y=2172216;else U=Z[W>>2]|0,Y=(Q|0)>(G[U+6>>0]|0|0)?2172216:U+16+(Q+-1<<3)|0}else Q=(Z[T>>2]|0)+($<<3)|0,Y=Q>>>0<(Z[V+8>>2]|0)>>>0?Q:2172216;while(0);switch(Z[Y+4>>2]&63){case 5:return S=Z[Y>>2]|0,S|0;case 6:return S=Z[Y>>2]|0,S|0;case 38:return S=Z[Y>>2]|0,S|0;case 54:case 22:return S=Z[Y>>2]|0,S|0;case 8:return S=Z[Y>>2]|0,S|0;case 2:case 7:{do if(!X){if(($|0)>=-1000999){J=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){J=(Z[V+12>>2]|0)+36|0;break}if(Y=-1001000-$|0,Q=Z[T>>2]|0,(Z[Q+4>>2]|32|0)==54)J=2172216;else U=Z[Q>>2]|0,J=(Y|0)>(G[U+6>>0]|0|0)?2172216:U+16+(Y+-1<<3)|0}else Y=(Z[T>>2]|0)+($<<3)|0,J=Y>>>0<(Z[V+8>>2]|0)>>>0?Y:2172216;while(0);switch(Z[J+4>>2]&15){case 7:return S=(Z[J>>2]|0)+24|0,S|0;case 2:return S=Z[J>>2]|0,S|0;default:return S=0,S|0}break}default:return S=0,S|0}return 0}function v4(V){V=V|0;var $=0;$=V+8|0,V=Z[$>>2]|0,Z[V+4>>2]=0,Z[$>>2]=V+8;return}function G1(V,$){V=V|0,$=$|0;var T=0;T=V+8|0,V=Z[T>>2]|0,Z[V>>2]=$,Z[V+4>>2]=3,Z[T>>2]=(Z[T>>2]|0)+8;return}function w9(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0;X=Z[V+12>>2]|0,Y=X+12|0,Q=Z[Y>>2]|0;do if((Q|0)>0)if(!(N[X+51>>0]|0)){W=X+8|0,Z[W>>2]=Q+1600+(Z[W>>2]|0),Z[Y>>2]=-1600;break}else{g1(V);break}while(0);return Y=y9(V,$,T)|0,T=V+8|0,V=Z[T>>2]|0,Z[V>>2]=Y,Z[V+4>>2]=(N[Y+4>>0]|64)&255,Z[T>>2]=(Z[T>>2]|0)+8,Y+16|0}function j4(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;if(!$)return T=V+8|0,X=Z[T>>2]|0,Z[X+4>>2]=0,Z[T>>2]=X+8,Y=0,Y|0;X=Z[V+12>>2]|0,T=X+12|0,Q=Z[T>>2]|0;do if((Q|0)>0)if(!(N[X+51>>0]|0)){W=X+8|0,Z[W>>2]=Q+1600+(Z[W>>2]|0),Z[T>>2]=-1600;break}else{g1(V);break}while(0);return T=y9(V,$,x6($)|0)|0,$=V+8|0,V=Z[$>>2]|0,Z[V>>2]=T,Z[V+4>>2]=(N[T+4>>0]|64)&255,Z[$>>2]=(Z[$>>2]|0)+8,Y=T+16|0,Y|0}function nD(V,$){return V=V|0,$=$|0,y9(V,$,x6($)|0)|0}function rD(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0;X=Z[V+12>>2]|0,Y=X+12|0,Q=Z[Y>>2]|0;do if((Q|0)>0)if(!(N[X+51>>0]|0)){W=X+8|0,Z[W>>2]=Q+1600+(Z[W>>2]|0),Z[Y>>2]=-1600;break}else{g1(V);break}while(0);return dY(V,$,T)|0}function b9(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0;X=q,q=q+16|0,Y=X,Q=Z[V+12>>2]|0,W=Q+12|0,U=Z[W>>2]|0;do if((U|0)>0)if(!(N[Q+51>>0]|0)){S=Q+8|0,Z[S>>2]=U+1600+(Z[S>>2]|0),Z[W>>2]=-1600;break}else{g1(V);break}while(0);return Z[Y>>2]=T,T=dY(V,$,Y)|0,q=X,T|0}function t6(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0;Z:do if((T|0)<0){switch(T|0){case-3333:break;default:break Z}X=V+8|0,Y=Z[X>>2]|0,Z[Y>>2]=$,Q=54,W=Y,U=X,S=W+4|0,Z[S>>2]=Q,J=Z[U>>2]|0,_=J+8|0,Z[U>>2]=_;return}else{switch(T|0){case 0:break;default:break Z}X=V+8|0,Y=Z[X>>2]|0,Z[Y>>2]=$,Q=22,W=Y,U=X,S=W+4|0,Z[S>>2]=Q,J=Z[U>>2]|0,_=J+8|0,Z[U>>2]=_;return}while(0);if(X=V+12|0,Y=Z[X>>2]|0,K=Y+12|0,P=Z[K>>2]|0,(P|0)<=0)if(O=(T<<3)+16|0,L=Y+4|0,F=r6[Z[Y>>2]&3](Z[L>>2]|0,0,6,O)|0,(O|0)!=0&(F|0)==0){if(!(N[Y+51>>0]|0))Z8(V,4);if(M2(V,1),z=r6[Z[Y>>2]&3](Z[L>>2]|0,0,6,O)|0,!z)Z8(V,4);else H=Y,C=K,A=O,y=z}else H=Y,C=K,A=O,y=F;else{if(!(N[Y+51>>0]|0))F=Y+8|0,Z[F>>2]=P+1600+(Z[F>>2]|0),Z[K>>2]=-1600,k=Y;else g1(V),k=Z[X>>2]|0;if(X=(T<<3)+16|0,Y=k+4|0,K=r6[Z[k>>2]&3](Z[Y>>2]|0,0,6,X)|0,(X|0)!=0&(K|0)==0){if(!(N[k+51>>0]|0))Z8(V,4);if(M2(V,1),F=r6[Z[k>>2]&3](Z[Y>>2]|0,0,6,X)|0,!F)Z8(V,4);else m=F}else m=K;H=k,C=k+12|0,A=X,y=m}Z[C>>2]=(Z[C>>2]|0)+A,A=H+56|0,N[y+5>>0]=N[H+48>>0]&3,N[y+4>>0]=38,Z[y>>2]=Z[A>>2],Z[A>>2]=y,N[y+6>>0]=T,Z[y+12>>2]=$,$=V+8|0,V=(Z[$>>2]|0)+(0-T<<3)|0,Z[$>>2]=V,A=V,V=T;do V=V+-1|0,Z[y+16+(V<<3)>>2]=Z[A+(V<<3)>>2],Z[y+16+(V<<3)+4>>2]=Z[A+(V<<3)+4>>2],A=Z[$>>2]|0;while((V|0)!=0);Z[A>>2]=y,Q=102,W=A,U=$,S=W+4|0,Z[S>>2]=Q,J=Z[U>>2]|0,_=J+8|0,Z[U>>2]=_;return}function D9(V,$){V=V|0,$=$|0;var T=0;T=V+8|0,V=Z[T>>2]|0,Z[V>>2]=($|0)!=0&1,Z[V+4>>2]=1,Z[T>>2]=(Z[T>>2]|0)+8;return}function hD(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;T=Z[(Z[V+12>>2]|0)+36>>2]|0;Z:do if((Z[T+28>>2]|0)>>>0>1)X=(Z[T+12>>2]|0)+8|0;else{Y=(Z[T+16>>2]|0)+((131072%((1<<(G[T+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[Y+12>>2]|0)==3?(Z[Y+8>>2]|0)==131072:0)break;if(Q=Z[Y+16>>2]|0,!Q){X=2172216;break Z}else Y=Q}X=Y}while(0);T=V+8|0,Q=Z[T>>2]|0,Z[T>>2]=Q+8,W=y9(V,$,x6($)|0)|0,Z[Q>>2]=W,Z[Q+4>>2]=(N[W+4>>0]|64)&255,W=(Z[T>>2]|0)+-8|0,XY(V,X,W,W);return}function gD(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;T=Z[V+16>>2]|0;do if(($|0)<=0){if(($|0)>=-1000999){X=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){X=(Z[V+12>>2]|0)+36|0;break}if(Y=-1001000-$|0,Q=Z[T>>2]|0,(Z[Q+4>>2]|32|0)==54)X=2172216;else W=Z[Q>>2]|0,X=(Y|0)>(G[W+6>>0]|0|0)?2172216:W+16+(Y+-1<<3)|0}else Y=(Z[T>>2]|0)+($<<3)|0,X=Y>>>0<(Z[V+8>>2]|0)>>>0?Y:2172216;while(0);$=(Z[V+8>>2]|0)+-8|0,XY(V,X,$,$);return}function QR(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;X=V+12|0,Y=Z[X>>2]|0,Q=Y+12|0,W=Z[Q>>2]|0;do if((W|0)>0)if(!(N[Y+51>>0]|0)){U=Y+8|0,Z[U>>2]=W+1600+(Z[U>>2]|0),Z[Q>>2]=-1600,S=Y;break}else{g1(V),S=Z[X>>2]|0;break}else S=Y;while(0);if(Y=S+4|0,X=r6[Z[S>>2]&3](Z[Y>>2]|0,0,5,32)|0,!X){if(!(N[S+51>>0]|0))Z8(V,4);if(M2(V,1),Q=r6[Z[S>>2]&3](Z[Y>>2]|0,0,5,32)|0,!Q)Z8(V,4);else J=Q}else J=X;if(X=S+12|0,Z[X>>2]=(Z[X>>2]|0)+32,X=S+56|0,N[J+5>>0]=N[S+48>>0]&3,N[J+4>>0]=5,Z[J>>2]=Z[X>>2],Z[X>>2]=J,Z[J+8>>2]=0,N[J+6>>0]=-1,Z[J+12>>2]=0,Z[J+28>>2]=0,Z[J+16>>2]=2172240,N[J+7>>0]=0,Z[J+20>>2]=2172240,X=V+8|0,S=Z[X>>2]|0,Z[S>>2]=J,Z[S+4>>2]=69,Z[X>>2]=(Z[X>>2]|0)+8,!(($|0)>0|(T|0)>0))return;PQ(V,J,$,T);return}function f6(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;T=Z[(Z[V+12>>2]|0)+36>>2]|0;Z:do if((Z[T+28>>2]|0)>>>0>1)X=(Z[T+12>>2]|0)+8|0;else{Y=(Z[T+16>>2]|0)+((131072%((1<<(G[T+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[Y+12>>2]|0)==3?(Z[Y+8>>2]|0)==131072:0)break;if(Q=Z[Y+16>>2]|0,!Q){X=2172216;break Z}else Y=Q}X=Y}while(0);T=V+8|0,Q=Z[T>>2]|0,Z[T>>2]=Q+8,W=y9(V,$,x6($)|0)|0,Z[Q>>2]=W,Z[Q+4>>2]=(N[W+4>>0]|64)&255,W=Z[T>>2]|0,KQ(V,X,W+-8|0,W+-16|0),Z[T>>2]=(Z[T>>2]|0)+-16;return}function f3(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0;X=q,q=q+16|0,Y=X,Q=Z[V+16>>2]|0;do if(($|0)<=0){if(($|0)>=-1000999){W=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){W=(Z[V+12>>2]|0)+36|0;break}if(U=-1001000-$|0,S=Z[Q>>2]|0,(Z[S+4>>2]|32|0)==54)W=2172216;else J=Z[S>>2]|0,W=(U|0)>(G[J+6>>0]|0|0)?2172216:J+16+(U+-1<<3)|0}else U=(Z[Q>>2]|0)+($<<3)|0,W=U>>>0<(Z[V+8>>2]|0)>>>0?U:2172216;while(0);$=Z[W>>2]|0,Q=V+8|0,U=Z[Q>>2]|0,J=U+-8|0,S=T+-1|0;Z:do if(S>>>0<(Z[$+28>>2]|0)>>>0)_=(Z[$+12>>2]|0)+(S<<3)|0,K=16;else{P=T<<16,O=0-P|0,L=(Z[$+16>>2]|0)+(((((P|0)<0?(P|0)==(O|0)?0:O:P)|0)%((1<<(G[$+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(!0){if((Z[L+12>>2]|0)==3?(Z[L+8>>2]|0)==(P|0):0)break;if(O=Z[L+16>>2]|0,!O){F=P,K=18;break Z}else L=O}_=L,K=16}while(0);if((K|0)==16)if((_|0)==2172216)F=T<<16,K=18;else z=_;if((K|0)==18)Z[Y>>2]=F,Z[Y+4>>2]=3,z=I4(V,$,Y)|0;if(Z[z>>2]=Z[J>>2],Z[z+4>>2]=Z[U+-4>>2],U=Z[Q>>2]|0,!(Z[U+-4>>2]&64)){H=U,C=H+-8|0,Z[Q>>2]=C,q=X;return}if(!(N[(Z[U+-8>>2]|0)+5>>0]&3)){H=U,C=H+-8|0,Z[Q>>2]=C,q=X;return}if(z=Z[W>>2]|0,W=z+5|0,J=N[W>>0]|0,!(J&4)){H=U,C=H+-8|0,Z[Q>>2]=C,q=X;return}U=Z[V+12>>2]|0,N[W>>0]=J&-5,J=U+76|0,Z[z+24>>2]=Z[J>>2],Z[J>>2]=z,H=Z[Q>>2]|0,C=H+-8|0,Z[Q>>2]=C,q=X;return}function WR(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;T=Z[V+16>>2]|0;do if(($|0)<=0){if(($|0)>=-1000999){X=(Z[V+8>>2]|0)+($<<3)|0;break}if(($|0)==-1001000){X=(Z[V+12>>2]|0)+36|0;break}if(Y=-1001000-$|0,Q=Z[T>>2]|0,(Z[Q+4>>2]|32|0)==54)X=2172216;else W=Z[Q>>2]|0,X=(Y|0)>(G[W+6>>0]|0|0)?2172216:W+16+(Y+-1<<3)|0}else Y=(Z[T>>2]|0)+($<<3)|0,X=Y>>>0<(Z[V+8>>2]|0)>>>0?Y:2172216;while(0);if($=V+8|0,T=Z[$>>2]|0,!(Z[T+-4>>2]|0))U=0,S=0;else Y=Z[T+-8>>2]|0,U=Y,S=Y;switch(Y=Z[X+4>>2]|0,Y&15){case 5:{if(Z[(Z[X>>2]|0)+8>>2]=U,!S)return J=Z[$>>2]|0,_=J+-8|0,Z[$>>2]=_,1;if(N[S+5>>0]&3?(T=Z[X>>2]|0,W=T+5|0,Q=N[W>>0]|0,Q&4):0)K=Z[V+12>>2]|0,N[W>>0]=Q&-5,Q=K+76|0,Z[T+24>>2]=Z[Q>>2],Z[Q>>2]=T;return dS(V,Z[X>>2]|0,S),J=Z[$>>2]|0,_=J+-8|0,Z[$>>2]=_,1}case 7:{if(Z[(Z[X>>2]|0)+8>>2]=S,!S)return J=Z[$>>2]|0,_=J+-8|0,Z[$>>2]=_,1;do if(N[U+5>>0]&3?(T=(Z[X>>2]|0)+5|0,Q=N[T>>0]|0,Q&4):0)if(K=Z[V+12>>2]|0,(G[K+49>>0]|0)<2){E1(K,U);break}else{N[T>>0]=N[K+48>>0]&3|Q&-72;break}while(0);return dS(V,Z[X>>2]|0,S),J=Z[$>>2]|0,_=J+-8|0,Z[$>>2]=_,1}default:return Z[(Z[V+12>>2]|0)+276+((Y&15)<<2)>>2]=S,J=Z[$>>2]|0,_=J+-8|0,Z[$>>2]=_,1}return 0}function iD(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0,j8=0,C6=0,o6=0,u6=0,p8=0,i8=0,q8=0,m8=0,l8=0,w8=0,U2=0,K8=0,A8=0,t8=0,_2=0,Y2=0,Q2=0,F2=0,w2=0,G2=0,K2=0,Z2=0,o2=0,u8=0,L2=0,N2=0,u2=0,Z1=0,I2=0,j2=0,Q1=0,p2=0,r2=0,W1=0,x2=0,a2=0,E2=0,d2=0,b2=0,P2=0,V1=0,X2=0,$1=0,P1=0,v2=0,T1=0,_1=0,l2=0,c1=0,$7=0,D1=0,n2=0,z1=0,N1=0,l1=0,A1=0,y1=0,B1=0,Z7=0,S1=0,q7=0,g2=0,T7=0,F7=0,N7=0,f8=0,C5=0,i1=0,c2=0,D2=0,X1=0,H2=0,i2=0,e8=0,t2=0,t1=0,y2=0,A2=0,M1=0,w1=0,p7=0,U1=0,h7=0,U7=0,E7=0,k2=0,I1=0,J1=0,O7=0,B7=0,j1=0,G7=0,M7=0,m7=0,s5=0,J7=0,F1=0,z7=0,G5=0,u7=0,r5=0,g7=0,j5=0,W9=0,Z9=0,A5=0,v7=0,l7=0,h5=0,g5=0,M5=0,r1=0,V9=0,C7=0,H5=0,i5=0,A7=0,L7=0,X7=0,N9=0,U9=0,L5=0,z9=0,P4=0,k3=0,z3=0,F9=0,c9=0,m4=0,p3=0,F3=0,J9=0,I9=0,m3=0,b3=0,U3=0,S9=0,J3=0,JZ=0,O4=0,E3=0,l9=0,S3=0,SZ=0,G4=0,e3=0,V5=0,Z3=0,u4=0,s9=0,k5=0,q9=0,B3=0,$9=0,T9=0,V3=0,i7=0,Y7=0,l4=0,v9=0,Q7=0,R1=0,X9=0,E9=0,s4=0,$5=0,a3=0,M4=0,c3=0,H7=0,C3=0,R9=0,R3=0,o4=0,_3=0,n4=0,L4=0,u3=0,B9=0,l3=0,Z4=0,r4=0,h4=0;W=q,q=q+192|0,U=W+176|0,S=W+20|0,J=W+8|0,_=W+4|0,K=W,Z[_>>2]=0,Z[K>>2]=0,Z[$>>2]=0,Z[T>>2]=0,P=V+216|0,Z[P>>2]=0,q6(S|0,V+28|0,156)|0,Z[S>>2]=Y,Z[S+4>>2]=Q;Z:do if(Z[V+12>>2]|0){O=B(Q,Y)|0;V:do switch(Z[V+184>>2]|0){case 6:{if(L=(O|0)!=0,(Z[V+188>>2]|0)==8){if(!L)break V;F=0;while(!0){if((N[X+(F<<2|3)>>0]|0)!=-1)break Z;if(F=F+1|0,F>>>0>=O>>>0)break V}}if(L){F=0;do{if(z=F<<3,(N[X+(z|6)>>0]|0)!=-1)break Z;if(F=F+1|0,(N[X+(z|7)>>0]|0)!=-1)break Z}while(F>>>0>>0)}break}case 4:{if(F=(O|0)!=0,(Z[V+188>>2]|0)==8){if(!F)break V;L=0;while(!0){if((N[X+(L<<1|1)>>0]|0)!=-1)break Z;if(L=L+1|0,L>>>0>=O>>>0)break V}}if(F){L=0;do{if(z=L<<2,(N[X+(z|2)>>0]|0)!=-1)break Z;if(L=L+1|0,(N[X+(z|3)>>0]|0)!=-1)break Z}while(L>>>0>>0)}break}case 3:{if(L=Z[V+192>>2]|0,F=Z[V+196>>2]|0,F|0){z=0;do{if((N[L+(z<<2|3)>>0]|0)!=-1)break Z;z=z+1|0}while(z>>>0>>0)}break}default:break Z}while(0);switch(O=S+20|0,Z[O>>2]|0){case 6:{Z[O>>2]=2;break Z}case 4:{Z[O>>2]=0;break Z}default:break Z}}while(0);if((Z[V+8>>2]|0)>>>0>32768){Z[P>>2]=60,q=W;return}if((Z[V>>2]|0)>>>0>2){Z[P>>2]=61,q=W;return}if((Z[V+44>>2]|0)>>>0>1){Z[P>>2]=71,q=W;return}switch(O=S+20|0,F=Z[O>>2]|0,z=S+24|0,L=Z[z>>2]|0,F|0){case 0:{switch(L|0){case 1:case 2:case 4:case 8:case 16:break;default:H=37,C=42}break}case 2:{switch(L|0){case 8:case 16:break;default:H=37,C=42}break}case 3:{switch(L|0){case 1:case 2:case 4:case 8:break;default:H=37,C=42}break}case 4:{switch(L|0){case 8:case 16:break;default:H=37,C=42}break}case 6:{switch(L|0){case 8:case 16:break;default:H=37,C=42}break}default:H=31,C=42}if((C|0)==42){Z[P>>2]=H,q=W;return}switch(Z[P>>2]=0,H=V+184|0,A=Z[H>>2]|0,y=Z[V+188>>2]|0,A|0){case 0:{switch(y|0){case 1:case 2:case 4:case 8:case 16:break;default:k=37,C=49}break}case 2:{switch(y|0){case 8:case 16:break;default:k=37,C=49}break}case 3:{switch(y|0){case 1:case 2:case 4:case 8:break;default:k=37,C=49}break}case 4:{switch(y|0){case 8:case 16:break;default:k=37,C=49}break}case 6:{switch(y|0){case 8:case 16:break;default:k=37,C=49}break}default:k=31,C=49}if((C|0)==49){Z[P>>2]=k,q=W;return}Z[P>>2]=0;do if((A|0)==(F|0)&(y|0)==(L|0))NR(_,K,X,S);else{switch(k=B(Q,Y)|0,F|0){case 3:case 0:{m=-1,C=55;break}case 2:{I=3,C=54;break}case 4:break;case 6:{I=4,C=54;break}default:m=0,C=55}if((C|0)==54)u=((B(B(L,k)|0,I)|0)+7|0)>>>3,C=56;else if((C|0)==55)switch(F|0){case 2:case 6:{u=((B(m&L,k)|0)+7|0)>>>3,C=56;break}default:}if((C|0)==56?(L|0)==8:0){if(k=B2(u)|0,!((u|0)!=0&(k|0)==0)){if((Z[P>>2]|0)==0?(g=IR(k,X,O,H,Y,Q)|0,Z[P>>2]=g,(g|0)==0):0)NR(_,K,k,S)}else Z[P>>2]=9955;$6(k);break}Z[P>>2]=59,q=W;return}while(0);Z[J>>2]=0,H=J+8|0,Z[H>>2]=0,X=J+4|0,Z[X>>2]=0;Z:do if(!(Z[P>>2]|0)){if(u=y6(0,2)|0,!u)i=0,t=0;else Z[H>>2]=2,Z[J>>2]=u,Z[X>>2]=1,N[u>>0]=-119,i=Z[X>>2]|0,t=Z[H>>2]|0;if(u=i+1|0,t>>>0>>0)if(L=u<<1,m=y6(Z[J>>2]|0,L)|0,!m)Y0=t,X0=i,T0=u;else Z[H>>2]=L,Z[J>>2]=m,Z0=m,C=72;else Z0=Z[J>>2]|0,C=72;if((C|0)==72)Z[X>>2]=u,N[Z0+i>>0]=80,u=Z[X>>2]|0,Y0=Z[H>>2]|0,X0=u,T0=u+1|0;if(Y0>>>0>>0)if(u=T0<<1,m=y6(Z[J>>2]|0,u)|0,!m)W0=Y0,O0=X0,y0=T0;else Z[H>>2]=u,Z[J>>2]=m,E0=m,C=77;else E0=Z[J>>2]|0,C=77;if((C|0)==77)Z[X>>2]=T0,N[E0+X0>>0]=78,m=Z[X>>2]|0,W0=Z[H>>2]|0,O0=m,y0=m+1|0;if(W0>>>0>>0)if(m=y0<<1,u=y6(Z[J>>2]|0,m)|0,!u)H0=W0,D0=O0,_0=y0;else Z[H>>2]=m,Z[J>>2]=u,F0=u,C=82;else F0=Z[J>>2]|0,C=82;if((C|0)==82)Z[X>>2]=y0,N[F0+O0>>0]=71,u=Z[X>>2]|0,H0=Z[H>>2]|0,D0=u,_0=u+1|0;if(H0>>>0<_0>>>0)if(u=_0<<1,m=y6(Z[J>>2]|0,u)|0,!m)k0=H0,m0=D0,B0=_0;else Z[H>>2]=u,Z[J>>2]=m,g0=m,C=87;else g0=Z[J>>2]|0,C=87;if((C|0)==87)Z[X>>2]=_0,N[g0+D0>>0]=13,m=Z[X>>2]|0,k0=Z[H>>2]|0,m0=m,B0=m+1|0;if(k0>>>0>>0)if(m=B0<<1,u=y6(Z[J>>2]|0,m)|0,!u)o0=k0,h0=m0,C0=B0;else Z[H>>2]=m,Z[J>>2]=u,u0=u,C=92;else u0=Z[J>>2]|0,C=92;if((C|0)==92)Z[X>>2]=B0,N[u0+m0>>0]=10,u=Z[X>>2]|0,o0=Z[H>>2]|0,h0=u,C0=u+1|0;if(o0>>>0>>0)if(u=C0<<1,m=y6(Z[J>>2]|0,u)|0,!m)p0=o0,q0=h0,i0=C0;else Z[H>>2]=u,Z[J>>2]=m,t0=m,C=97;else t0=Z[J>>2]|0,C=97;if((C|0)==97)Z[X>>2]=C0,N[t0+h0>>0]=26,m=Z[X>>2]|0,p0=Z[H>>2]|0,q0=m,i0=m+1|0;if(p0>>>0>>0){if(m=i0<<1,u=y6(Z[J>>2]|0,m)|0,u|0)Z[H>>2]=m,Z[J>>2]=u,E6=u,C=102}else E6=Z[J>>2]|0,C=102;if((C|0)==102)Z[X>>2]=i0,N[E6+q0>>0]=10;if(u=Z[z>>2]|0,m=Z[O>>2]|0,L=Z[S+16>>2]|0,F=y6(0,8)|0,I=(F|0)==0,y=I?0:8,A=I?0:4,k=F+(I?-4:0)|0,N[k>>0]=Y>>>24,N[k+1>>0]=Y>>>16,N[k+2>>0]=Y>>>8,N[k+3>>0]=Y,k=A+4|0,y>>>0>>0)I=k<<1,g=y6(F,I)|0,V6=(g|0)==0,n0=V6?F:g,e0=V6?A:k,Z6=V6?y:I;else n0=F,e0=k,Z6=y;if(y=n0+(e0+-4)|0,N[y>>0]=Q>>>24,N[y+1>>0]=Q>>>16,N[y+2>>0]=Q>>>8,N[y+3>>0]=Q,y=u&255,u=e0+1|0,Z6>>>0>>0)if(k=u<<1,F=y6(n0,k)|0,!F)U6=u,N6=n0,A6=e0,S6=Z6;else H6=F,M6=k,C=107;else H6=n0,M6=Z6,C=107;if((C|0)==107)N[H6+e0>>0]=y,U6=e0+2|0,N6=H6,A6=u,S6=M6;if(u=m&255,S6>>>0>>0)if(m=U6<<1,y=y6(N6,m)|0,!y)F6=U6,J6=N6,L6=A6,c0=S6;else T6=y,W6=m,C=110;else T6=N6,W6=S6,C=110;if((C|0)==110)N[T6+A6>>0]=u,F6=U6+1|0,J6=T6,L6=U6,c0=W6;if(c0>>>0>>0)if(u=F6<<1,m=y6(J6,u)|0,!m)h6=F6,s6=J6,p6=L6,G6=c0;else w6=m,B6=u,C=113;else w6=J6,B6=c0,C=113;if((C|0)==113)N[w6+L6>>0]=0,h6=F6+1|0,s6=w6,p6=F6,G6=B6;if(G6>>>0

>>0)if(u=h6<<1,m=y6(s6,u)|0,!m)i6=h6,H8=s6,m6=p6,_8=G6;else v8=m,Y8=u,C=116;else v8=s6,Y8=G6,C=116;if((C|0)==116)N[v8+p6>>0]=0,i6=h6+1|0,H8=v8,m6=h6,_8=Y8;if(u=L&255,_8>>>0>>0)if(L=y6(H8,i6<<1)|0,!L)T8=H8,C8=m6;else j8=L,C=119;else j8=H8,C=119;if((C|0)==119)N[j8+m6>>0]=u,T8=j8,C8=i6;if(!(QZ(J,X,C8,95369,T8)|0))Z[H>>2]=Z[X>>2];if($6(T8),u=Z[S+132>>2]|0,u|0){L=Z[S+144>>2]|0,m=u;V:do if(L|0){y=Z[X>>2]|0,k=u;while(!0){if(F=k+1|0,I=k+2|0,V6=k+3|0,A=(G[F>>0]<<16|G[k>>0]<<24|G[I>>0]<<8|G[V6>>0])+12|0,g=A+y|0,g>>>0>>0|g>>>0>>0){C6=77;break}if(o6=y6(Z[J>>2]|0,g)|0,!o6){C6=9929;break}if(Z[J>>2]=o6,Z[X>>2]=g,u6=o6+y|0,!A)p8=g;else{g=0;do N[u6+g>>0]=N[k+g>>0]|0,g=g+1|0;while((g|0)!=(A|0));p8=Z[X>>2]|0}if(Z[H>>2]=p8,k=k+((G[F>>0]<<16|G[k>>0]<<24|G[I>>0]<<8|G[V6>>0])+12)|0,(k-m|0)>>>0>=L>>>0)break V;else y=p8}Z[P>>2]=C6;break Z}while(0);Z[P>>2]=0}if((Z[O>>2]|0)==3){if(L=S+32|0,m=Z[L>>2]|0,(m+-1|0)>>>0>255){Z[P>>2]=68;break}if(!(m&1073741823))i8=0,q8=0;else{u=S+28|0,y=m,m=0,k=0,A=0,g=0;while(!0){do if((g&3|0)==3)m8=y,l8=m,w8=k,U2=A;else{if(u6=N[(Z[u>>2]|0)+g>>0]|0,o6=A+1|0,k>>>0>>0)if(K8=o6<<1,A8=y6(m,K8)|0,!A8){m8=y,l8=m,w8=k,U2=A;break}else t8=A8,_2=K8;else t8=m,_2=k;N[t8+A>>0]=u6,m8=Z[L>>2]|0,l8=t8,w8=_2,U2=o6}while(0);if(g=g+1|0,g>>>0>=m8<<2>>>0){i8=l8,q8=U2;break}else y=m8,m=l8,k=w8,A=U2}}if(!(QZ(J,X,q8,95374,i8)|0))Z[H>>2]=Z[X>>2];$6(i8)}V:do if(!(Z[V+16>>2]|0))C=161;else{switch(A=Z[O>>2]|0,A|0){case 6:case 2:break;default:{Y2=A;break V}}if(A=S+32|0,k=Z[A>>2]|0,(k+-1|0)>>>0>255){Z[P>>2]=68;break Z}if(!(k&1073741823))Q2=0,F2=0;else{m=S+28|0,y=k,k=0,g=0,L=0,u=0;while(!0){do if((u&3|0)==3)w2=y,G2=k,K2=g,Z2=L;else{if(o6=N[(Z[m>>2]|0)+u>>0]|0,u6=L+1|0,g>>>0>>0)if(K8=u6<<1,A8=y6(k,K8)|0,!A8){w2=y,G2=k,K2=g,Z2=L;break}else o2=A8,u8=K8;else o2=k,u8=g;N[o2+L>>0]=o6,w2=Z[A>>2]|0,G2=o2,K2=u8,Z2=u6}while(0);if(u=u+1|0,u>>>0>=w2<<2>>>0){Q2=G2,F2=Z2;break}else y=w2,k=G2,g=K2,L=Z2}}if(!(QZ(J,X,F2,95374,Q2)|0))Z[H>>2]=Z[X>>2];$6(Q2),C=161}while(0);if((C|0)==161)Y2=Z[O>>2]|0;V:do if((Y2|0)==3){if(L=Z[S+28>>2]|0,g=Z[S+32>>2]|0,!g)break;k=0;while(!0){if((N[L+(k<<2|3)>>0]|0)!=-1)break;if(k=k+1|0,k>>>0>=g>>>0)break V}UR(J,O),L2=Z[O>>2]|0,C=168}else L2=Y2,C=168;while(0);V:do if((C|0)==168){switch(L2|0){case 2:case 0:break;default:break V}if(!(Z[S+36>>2]|0))break;UR(J,O)}while(0);if(Z[S+52>>2]|0){V:do switch(Z[S+20>>2]|0){case 4:case 0:{if(g=S+56|0,k=Z[g>>2]|0,L=y6(0,2)|0,!L)if(y=y6(0,2)|0,!y){N2=0,u2=0;break V}else Z1=1,I2=y,j2=0,Q1=k;else N[L>>0]=k>>>8,Z1=2,I2=L,j2=1,Q1=Z[g>>2]|0;N[I2+j2>>0]=Q1,N2=I2,u2=Z1;break}case 6:case 2:{if(g=S+56|0,L=Z[g>>2]|0,k=y6(0,2)|0,!k)if(y=y6(0,2)|0,!y)p2=0,r2=0,W1=0;else x2=1,a2=y,E2=0,d2=L,C=180;else N[k>>0]=L>>>8,x2=2,a2=k,E2=1,d2=Z[g>>2]|0,C=180;if((C|0)==180)N[a2+E2>>0]=d2,p2=a2,r2=x2,W1=2;if(g=S+60|0,k=Z[g>>2]|0,L=k>>>8&255,y=r2+1|0,W1>>>0>>0)if(u=y<<1,A=y6(p2,u)|0,!A)b2=k,P2=y,V1=p2,X2=r2,$1=W1;else P1=A,v2=u,C=183;else P1=p2,v2=W1,C=183;if((C|0)==183)N[P1+r2>>0]=L,b2=Z[g>>2]|0,P2=r2+2|0,V1=P1,X2=y,$1=v2;if(y=b2&255,$1>>>0>>0)if(g=P2<<1,L=y6(V1,g)|0,!L)T1=P2,_1=V1,l2=X2,c1=$1;else $7=L,D1=g,C=186;else $7=V1,D1=$1,C=186;if((C|0)==186)N[$7+X2>>0]=y,T1=P2+1|0,_1=$7,l2=P2,c1=D1;if(y=S+64|0,g=Z[y>>2]|0,L=g>>>8&255,c1>>>0>>0)if(u=T1<<1,A=y6(_1,u)|0,!A)n2=g,z1=T1,N1=_1,l1=l2,A1=c1;else y1=A,B1=u,C=189;else y1=_1,B1=c1,C=189;if((C|0)==189)N[y1+l2>>0]=L,n2=Z[y>>2]|0,z1=T1+1|0,N1=y1,l1=T1,A1=B1;if(y=n2&255,A1>>>0>>0)if(L=y6(N1,z1<<1)|0,!L){N2=N1,u2=l1;break V}else Z7=L;else Z7=N1;N[Z7+l1>>0]=y,N2=Z7,u2=z1;break}case 3:{if(y=Z[S+56>>2]|0,L=y6(0,2)|0,!L){N2=0,u2=0;break V}N[L>>0]=y,N2=L,u2=1;break}default:N2=0,u2=0}while(0);if(!(QZ(J,X,u2,95379,N2)|0))Z[H>>2]=Z[X>>2];$6(N2)}if(Z[S+116>>2]|0){if(L=Z[S+120>>2]|0,y=y6(0,8)|0,u=(y|0)==0,A=u?0:8,g=u?0:4,k=y+(u?-4:0)|0,N[k>>0]=L>>>24,N[k+1>>0]=L>>>16,N[k+2>>0]=L>>>8,N[k+3>>0]=L,L=Z[S+124>>2]|0,k=g+4|0,A>>>0>>0)u=k<<1,m=y6(y,u)|0,V6=(m|0)==0,S1=V6?y:m,q7=V6?g:k,g2=V6?A:u;else S1=y,q7=k,g2=A;if(A=S1+(q7+-4)|0,N[A>>0]=L>>>24,N[A+1>>0]=L>>>16,N[A+2>>0]=L>>>8,N[A+3>>0]=L,L=N[S+128>>0]|0,A=q7+1|0,g2>>>0>>0)if(k=y6(S1,A<<1)|0,!k)T7=S1,F7=q7;else N7=k,C=203;else N7=S1,C=203;if((C|0)==203)N[N7+q7>>0]=L,T7=N7,F7=A;if(!(QZ(J,X,F7,95384,T7)|0))Z[H>>2]=Z[X>>2];$6(T7)}if(A=Z[S+136>>2]|0,A|0){L=Z[S+148>>2]|0,k=A;V:do if(L|0){y=Z[X>>2]|0,u=A;while(!0){if(V6=u+1|0,g=u+2|0,m=u+3|0,I=(G[V6>>0]<<16|G[u>>0]<<24|G[g>>0]<<8|G[m>>0])+12|0,F=I+y|0,F>>>0>>0|F>>>0>>0){f8=77;break}if(u6=y6(Z[J>>2]|0,F)|0,!u6){f8=9929;break}if(Z[J>>2]=u6,Z[X>>2]=F,o6=u6+y|0,!I)C5=F;else{F=0;do N[o6+F>>0]=N[u+F>>0]|0,F=F+1|0;while((F|0)!=(I|0));C5=Z[X>>2]|0}if(Z[H>>2]=C5,u=u+((G[V6>>0]<<16|G[u>>0]<<24|G[g>>0]<<8|G[m>>0])+12)|0,(u-k|0)>>>0>=L>>>0)break V;else y=C5}Z[P>>2]=f8;break Z}while(0);Z[P>>2]=0}L=Z[_>>2]|0,k=Z[K>>2]|0,Z[U>>2]=0,Z[U+8>>2]=0,A=U+4|0,Z[A>>2]=0,y=qN(U,A,L,k,V)|0,k=Z[U>>2]|0;do if(!y){if(L=QZ(J,X,Z[A>>2]|0,95389,k)|0,L|0){i1=L;break}Z[H>>2]=Z[X>>2],i1=0}else i1=y;while(0);if($6(k),Z[P>>2]=i1,i1|0)break;do if(N[S+100>>0]|0){if(y=B2(7)|0,!y)break;if(A=S+104|0,N[y>>0]=(Z[A>>2]|0)>>>8,N[y+1>>0]=Z[A>>2],N[y+2>>0]=N[S+108>>0]|0,N[y+3>>0]=N[S+109>>0]|0,N[y+4>>0]=N[S+110>>0]|0,N[y+5>>0]=N[S+111>>0]|0,N[y+6>>0]=N[S+112>>0]|0,!(QZ(J,X,7,95394,y)|0))Z[H>>2]=Z[X>>2];$6(y)}while(0);k=S+68|0,y=Z[k>>2]|0;V:do if(y){A=S+72|0,L=V+24|0,u=S+76|0,I=U+8|0,F=U+4|0,o6=y,u6=0;while(!0){if(K8=Z[(Z[A>>2]|0)+(u6<<2)>>2]|0,(x6(K8)|0)>>>0>79){C=231;break}if(A8=N[K8>>0]|0,!(A8<<24>>24)){C=233;break}if(c2=Z[(Z[u>>2]|0)+(u6<<2)>>2]|0,!(Z[L>>2]|0))JR(J,K8,c2);else{D2=x6(c2)|0,Z[U>>2]=0,Z[I>>2]=0,Z[F>>2]=0,X1=A8,A8=1,H2=1,i2=0,e8=0,t2=0,t1=0;while(!0){if(H2)if(y2=A8<<1,A2=y6(i2,y2)|0,!A2)M1=i2,w1=e8,p7=t2;else U1=A2,h7=y2,C=238;else U1=i2,h7=t2,C=238;if((C|0)==238)C=0,N[U1+e8>>0]=X1,M1=U1,w1=A8,p7=h7;if(t1=t1+1|0,X1=N[K8+t1>>0]|0,A8=w1+1|0,H2=p7>>>0>>0,!(X1<<24>>24))break;else i2=M1,e8=w1,t2=p7}if(H2)if(t2=A8<<1,e8=y6(M1,t2)|0,!e8)U7=A8,E7=M1,k2=w1,I1=p7;else J1=e8,O7=t2,C=242;else J1=M1,O7=p7,C=242;if((C|0)==242)C=0,N[J1+w1>>0]=0,U7=w1+2|0,E7=J1,k2=A8,I1=O7;if(I1>>>0>>0)if(t2=U7<<1,e8=y6(E7,t2)|0,!e8)B7=E7,j1=k2,G7=I1;else M7=e8,m7=t2,C=245;else M7=E7,m7=I1,C=245;if((C|0)==245)C=0,N[M7+k2>>0]=0,B7=M7,j1=U7,G7=m7;do if(!(qN(U,F,c2,D2,V)|0)){if(t2=Z[F>>2]|0,!t2)s5=B7,J7=j1;else{e8=t2,t2=B7,i2=j1,X1=G7,t1=0;while(!0){if(K8=N[(Z[U>>2]|0)+t1>>0]|0,m=i2+1|0,X1>>>0>>0)if(g=m<<1,V6=y6(t2,g)|0,!V6)F1=e8,z7=t2,G5=i2,u7=X1;else r5=V6,g7=g,C=251;else r5=t2,g7=X1,C=251;if((C|0)==251)C=0,N[r5+i2>>0]=K8,F1=Z[F>>2]|0,z7=r5,G5=m,u7=g7;if(t1=t1+1|0,t1>>>0>=F1>>>0){s5=z7,J7=G5;break}else e8=F1,t2=z7,i2=G5,X1=u7}}if(QZ(J,X,J7,95399,s5)|0){j5=s5;break}Z[H>>2]=Z[X>>2],j5=s5}else j5=B7;while(0);Z[I>>2]=0,Z[F>>2]=0,$6(Z[U>>2]|0),$6(j5)}if(u6=u6+1|0,D2=Z[k>>2]|0,u6>>>0>=D2>>>0){W9=D2;break V}else o6=D2}if((C|0)==231){Z[P>>2]=66,W9=o6;break}else if((C|0)==233){Z[P>>2]=67,W9=o6;break}}else W9=0;while(0);V:do if(Z[V+20>>2]|0){if(W9|0){k=Z[S+72>>2]|0,y=0;do{if(!(Q6(Z[k+(y<<2)>>2]|0,95404)|0))break V;y=y+1|0}while(y>>>0>>0)}JR(J,95404,95412)}while(0);y=S+80|0;V:do if(Z[y>>2]|0){k=S+84|0,o6=V+24|0,u6=S+88|0,F=S+92|0,I=S+96|0,L=U+8|0,u=U+4|0,A=0;while(!0){if(D2=Z[(Z[k>>2]|0)+(A<<2)>>2]|0,(x6(D2)|0)>>>0>79){C=267;break}if(c2=N[D2>>0]|0,!(c2<<24>>24)){C=269;break}A8=Z[o6>>2]|0,H2=Z[(Z[u6>>2]|0)+(A<<2)>>2]|0,X1=Z[(Z[F>>2]|0)+(A<<2)>>2]|0,i2=Z[(Z[I>>2]|0)+(A<<2)>>2]|0,t2=x6(i2)|0,e8=c2,c2=1,t1=1,m=0,K8=0,g=0,V6=0;while(!0){if(t1)if(y2=c2<<1,A2=y6(m,y2)|0,!A2)Z9=m,A5=K8,v7=g;else l7=A2,h5=y2,C=273;else l7=m,h5=g,C=273;if((C|0)==273)C=0,N[l7+K8>>0]=e8,Z9=l7,A5=c2,v7=h5;if(V6=V6+1|0,e8=N[D2+V6>>0]|0,c2=A5+1|0,t1=v7>>>0>>0,!(e8<<24>>24))break;else m=Z9,K8=A5,g=v7}if(t1)if(g=c2<<1,K8=y6(Z9,g)|0,!K8)g5=c2,M5=Z9,r1=A5,V9=v7;else C7=K8,H5=g,C=277;else C7=Z9,H5=v7,C=277;if((C|0)==277)C=0,N[C7+A5>>0]=0,g5=A5+2|0,M5=C7,r1=c2,V9=H5;if(g=(A8|0)!=0,K8=g&1,V9>>>0>>0)if(m=g5<<1,e8=y6(M5,m)|0,!e8)i5=g5,A7=M5,L7=r1,X7=V9;else N9=e8,U9=m,C=280;else N9=M5,U9=V9,C=280;if((C|0)==280)C=0,N[N9+r1>>0]=K8,i5=r1+2|0,A7=N9,L7=g5,X7=U9;if(X7>>>0>>0)if(K8=i5<<1,m=y6(A7,K8)|0,!m)L5=i5,z9=A7,P4=L7,k3=X7;else z3=m,F9=K8,C=283;else z3=A7,F9=X7,C=283;if((C|0)==283)C=0,N[z3+L7>>0]=0,L5=i5+1|0,z9=z3,P4=i5,k3=F9;if(K8=N[H2>>0]|0,m=k3>>>0>>0,!(K8<<24>>24))c9=L5,m4=m,p3=z9,F3=P4,J9=k3;else{e8=K8,K8=L5,V6=m,m=z9,D2=P4,y2=k3,A2=0;while(!0){if(V6)if(I9=K8<<1,m3=y6(m,I9)|0,!m3)b3=m,U3=D2,S9=y2;else J3=m3,JZ=I9,C=288;else J3=m,JZ=y2,C=288;if((C|0)==288)C=0,N[J3+D2>>0]=e8,b3=J3,U3=K8,S9=JZ;if(A2=A2+1|0,e8=N[H2+A2>>0]|0,I9=U3+1|0,m3=S9>>>0>>0,!(e8<<24>>24)){c9=I9,m4=m3,p3=b3,F3=U3,J9=S9;break}else K8=I9,V6=m3,m=b3,D2=U3,y2=S9}}if(m4)if(y2=c9<<1,D2=y6(p3,y2)|0,!D2)O4=p3,E3=F3,l9=J9;else S3=D2,SZ=y2,C=292;else S3=p3,SZ=J9,C=292;if((C|0)==292)C=0,N[S3+F3>>0]=0,O4=S3,E3=c9,l9=SZ;if(y2=N[X1>>0]|0,D2=E3+1|0,m=l9>>>0>>0,!(y2<<24>>24))G4=D2,e3=m,V5=O4,Z3=E3,u4=l9;else{V6=y2,y2=D2,D2=m,m=O4,K8=E3,e8=l9,A2=0;while(!0){if(D2)if(H2=y2<<1,A8=y6(m,H2)|0,!A8)s9=m,k5=K8,q9=e8;else B3=A8,$9=H2,C=297;else B3=m,$9=e8,C=297;if((C|0)==297)C=0,N[B3+K8>>0]=V6,s9=B3,k5=y2,q9=$9;if(A2=A2+1|0,V6=N[X1+A2>>0]|0,H2=k5+1|0,A8=q9>>>0

>>0,!(V6<<24>>24)){G4=H2,e3=A8,V5=s9,Z3=k5,u4=q9;break}else y2=H2,D2=A8,m=s9,K8=k5,e8=q9}}if(e3)if(e8=G4<<1,K8=y6(V5,e8)|0,!K8)T9=V5,V3=Z3,i7=u4;else Y7=K8,l4=e8,C=301;else Y7=V5,l4=u4,C=301;if((C|0)==301)C=0,N[Y7+Z3>>0]=0,T9=Y7,V3=G4,i7=l4;do if(g){if(Z[U>>2]=0,Z[L>>2]=0,Z[u>>2]=0,qN(U,u,i2,t2,V)|0){v9=T9;break}if(e8=Z[u>>2]|0,!e8)Q7=T9,R1=V3,X9=i7;else{K8=e8,e8=T9,m=V3,D2=i7,y2=0;while(!0){if(V6=N[(Z[U>>2]|0)+y2>>0]|0,A2=m+1|0,D2>>>0>>0)if(X1=A2<<1,A8=y6(e8,X1)|0,!A8)E9=K8,s4=e8,$5=m,a3=D2;else M4=A8,c3=X1,C=308;else M4=e8,c3=D2,C=308;if((C|0)==308)C=0,N[M4+m>>0]=V6,E9=Z[u>>2]|0,s4=M4,$5=A2,a3=c3;if(y2=y2+1|0,y2>>>0>=E9>>>0){Q7=s4,R1=$5,X9=a3;break}else K8=E9,e8=s4,m=$5,D2=a3}}if(D2=N[i2>>0]|0,!(D2<<24>>24)){H7=Q7,C3=R1,C=322;break}m=D2,D2=Q7,e8=R1,K8=X9,y2=0;while(!0){if(A2=e8+1|0,K8>>>0>>0)if(V6=A2<<1,X1=y6(D2,V6)|0,!X1)R9=D2,R3=e8,o4=K8;else _3=X1,n4=V6,C=314;else _3=D2,n4=K8,C=314;if((C|0)==314)C=0,N[_3+e8>>0]=m,R9=_3,R3=A2,o4=n4;if(y2=y2+1|0,m=N[i2+y2>>0]|0,!(m<<24>>24)){H7=R9,C3=R3,C=322;break}else D2=R9,e8=R3,K8=o4}}else{if(K8=N[i2>>0]|0,!(K8<<24>>24)){H7=T9,C3=V3,C=322;break}e8=K8,K8=T9,D2=V3,m=i7,y2=0;while(!0){if(A2=D2+1|0,m>>>0>>0)if(V6=A2<<1,X1=y6(K8,V6)|0,!X1)L4=K8,u3=D2,B9=m;else l3=X1,Z4=V6,C=320;else l3=K8,Z4=m,C=320;if((C|0)==320)C=0,N[l3+D2>>0]=e8,L4=l3,u3=A2,B9=Z4;if(y2=y2+1|0,e8=N[i2+y2>>0]|0,!(e8<<24>>24)){H7=L4,C3=u3,C=322;break}else K8=L4,D2=u3,m=B9}}while(0);do if((C|0)==322){if(C=0,QZ(J,X,C3,95421,H7)|0){v9=H7;break}Z[H>>2]=Z[X>>2],v9=H7}while(0);if($6(v9),A=A+1|0,A>>>0>=(Z[y>>2]|0)>>>0)break V}if((C|0)==267){Z[P>>2]=66;break}else if((C|0)==269){Z[P>>2]=67;break}}while(0);if(y=Z[S+140>>2]|0,y|0){A=Z[S+152>>2]|0,u=y;V:do if(A|0){L=Z[X>>2]|0,I=y;while(!0){if(F=I+1|0,u6=I+2|0,o6=I+3|0,k=(G[F>>0]<<16|G[I>>0]<<24|G[u6>>0]<<8|G[o6>>0])+12|0,i2=k+L|0,i2>>>0>>0|i2>>>0>>0){r4=77;break}if(t2=y6(Z[J>>2]|0,i2)|0,!t2){r4=9929;break}if(Z[J>>2]=t2,Z[X>>2]=i2,g=t2+L|0,!k)h4=i2;else{i2=0;do N[g+i2>>0]=N[I+i2>>0]|0,i2=i2+1|0;while((i2|0)!=(k|0));h4=Z[X>>2]|0}if(Z[H>>2]=h4,I=I+((G[F>>0]<<16|G[I>>0]<<24|G[u6>>0]<<8|G[o6>>0])+12)|0,(I-u|0)>>>0>=A>>>0)break V;else L=h4}Z[P>>2]=r4;break Z}while(0);Z[P>>2]=0}if(A=Z[X>>2]|0,u=A+12|0,A>>>0>4294967283)break;if(y=y6(Z[J>>2]|0,u)|0,!y)break;Z[J>>2]=y,Z[X>>2]=u,u=y+A|0,N[u>>0]=0,N[u+1>>0]=0,N[u+2>>0]=0,N[u+3>>0]=0,A=u+4|0,N[A>>0]=73,N[u+5>>0]=69,N[u+6>>0]=78,N[u+7>>0]=68,y=HQ(A,4)|0,A=u+8|0,N[A>>0]=y>>>24,N[A+1>>0]=y>>>16,N[A+2>>0]=y>>>8,N[A+3>>0]=y,Z[H>>2]=Z[X>>2]}while(0);$6(Z[_>>2]|0),Z[$>>2]=Z[J>>2],Z[T>>2]=Z[X>>2],q=W;return}function NR(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0;switch(Y=q,q=q+320|0,Q=Y+288|0,W=Y+256|0,U=Y+224|0,S=Y+192|0,J=Y+160|0,_=Y+128|0,K=Y+96|0,P=Y+64|0,O=Y+32|0,L=Y,F=X+20|0,z=X+24|0,H=Z[z>>2]|0,Z[F>>2]|0){case 3:case 0:{C=1;break}case 2:{C=3;break}case 4:{C=2;break}case 6:{C=4;break}default:C=0}if(A=B(C,H)|0,H=Z[X>>2]|0,C=Z[X+4>>2]|0,!(Z[X+16>>2]|0)){if(X=B(H,A)|0,y=X+7|0,k=B(y>>>3,C)|0,m=k+C|0,Z[$>>2]=m,I=B2(m)|0,Z[V>>2]=I,(I|0)==0?Z[$>>2]|0:0){q=Y;return}if(A>>>0<8?(m=y&-8,(X|0)!=(m|0)):0){if(k)if(y=y6(0,k<<1)|0,!y)u=0;else g=y,i=13;else g=0,i=13;if((i|0)==13)S$(g,T,m,X,C),L3(Z[V>>2]|0,g,H,C,Z[F>>2]|0,Z[z>>2]|0)|0,u=g;$6(u),q=Y;return}L3(I,T,H,C,Z[F>>2]|0,Z[z>>2]|0)|0,q=Y;return}if(I=B(A,H)|0,u=((B(I,C)|0)+7|0)>>>3,g=B2(u)|0,X=(u|0)==0|(g|0)!=0,u=X?0:9952,X){if(yQ(_,K,P,O,L,H,C,A),m=Z[P+28>>2]|0,Z[$>>2]=m,y=B2(m)|0,Z[V>>2]=y,!((y|0)==0?(Z[$>>2]|0)!=0:0))i=19;do if((i|0)==19){if(yQ(Q,W,U,S,J,H,C,A),A>>>0>7){if($=A>>>3,$|0){y=0;do{if(m=Z[W+(y<<2)>>2]|0,m|0?(k=Z[Q+(y<<2)>>2]|0,k|0):0){t=Z[29952+(y<<2)>>2]|0,Y0=Z[29920+(y<<2)>>2]|0,X0=Z[29888+(y<<2)>>2]|0,T0=Z[29856+(y<<2)>>2]|0,Z0=Z[J+(y<<2)>>2]|0,W0=0;do{O0=(B((B(W0,Y0)|0)+t|0,H)|0)+X0|0,y0=B(W0,k)|0,E0=0;do{H0=B(O0+(B(E0,T0)|0)|0,$)|0,D0=(B(E0+y0|0,$)|0)+Z0|0,_0=0;do N[g+(D0+_0)>>0]=N[T+(_0+H0)>>0]|0,_0=_0+1|0;while((_0|0)!=($|0));E0=E0+1|0}while((E0|0)!=(k|0));W0=W0+1|0}while((W0|0)!=(m|0))}y=y+1|0}while((y|0)!=7)}}else{y=(A|0)==0,$=0;do{if(m=Z[Q+($<<2)>>2]|0,W0=Z[W+($<<2)>>2]|0,W0|0?(k=29952+($<<2)|0,Z0=29920+($<<2)|0,T0=29888+($<<2)|0,m|0):0){X0=Z[29856+($<<2)>>2]|0,t=Z[J+($<<2)>>2]<<3,Y0=0;do{if(E0=B(Y0,m)|0,!y){y0=B(Z[Z0>>2]|0,Y0)|0,O0=(B(y0+(Z[k>>2]|0)|0,H)|0)+(Z[T0>>2]|0)|0,y0=0;do{_0=0,H0=B(O0+(B(y0,X0)|0)|0,A)|0,D0=(B(y0+E0|0,A)|0)+t|0;while(!0){if(F0=1<<(D0&7^7),!(1<<(H0&7^7)&(G[T+(H0>>>3)>>0]|0)))k0=g+(D0>>>3)|0,m0=(F0^255)&(G[k0>>0]|0),B0=k0;else k0=g+(D0>>>3)|0,m0=F0|(G[k0>>0]|0),B0=k0;if(N[B0>>0]=m0,_0=_0+1|0,(_0|0)==(A|0))break;else H0=H0+1|0,D0=D0+1|0}y0=y0+1|0}while((y0|0)!=(m|0))}Y0=Y0+1|0}while((Y0|0)!=(W0|0))}$=$+1|0}while(($|0)!=7)}if($=B((I+7|0)>>>3,C)|0,y=($|0)==0,W0=$<<1,A>>>0>=8){L3((Z[V>>2]|0)+(Z[P>>2]|0)|0,g+(Z[O>>2]|0)|0,Z[_>>2]|0,Z[K>>2]|0,Z[F>>2]|0,Z[z>>2]|0)|0,L3((Z[V>>2]|0)+(Z[P+4>>2]|0)|0,g+(Z[O+4>>2]|0)|0,Z[_+4>>2]|0,Z[K+4>>2]|0,Z[F>>2]|0,Z[z>>2]|0)|0,L3((Z[V>>2]|0)+(Z[P+8>>2]|0)|0,g+(Z[O+8>>2]|0)|0,Z[_+8>>2]|0,Z[K+8>>2]|0,Z[F>>2]|0,Z[z>>2]|0)|0,L3((Z[V>>2]|0)+(Z[P+12>>2]|0)|0,g+(Z[O+12>>2]|0)|0,Z[_+12>>2]|0,Z[K+12>>2]|0,Z[F>>2]|0,Z[z>>2]|0)|0,L3((Z[V>>2]|0)+(Z[P+16>>2]|0)|0,g+(Z[O+16>>2]|0)|0,Z[_+16>>2]|0,Z[K+16>>2]|0,Z[F>>2]|0,Z[z>>2]|0)|0,L3((Z[V>>2]|0)+(Z[P+20>>2]|0)|0,g+(Z[O+20>>2]|0)|0,Z[_+20>>2]|0,Z[K+20>>2]|0,Z[F>>2]|0,Z[z>>2]|0)|0,L3((Z[V>>2]|0)+(Z[P+24>>2]|0)|0,g+(Z[O+24>>2]|0)|0,Z[_+24>>2]|0,Z[K+24>>2]|0,Z[F>>2]|0,Z[z>>2]|0)|0;break}if(!y)if($=y6(0,W0)|0,!$)g0=9954,o0=0;else h0=$,i=48;else h0=0,i=48;if((i|0)==48)if(X)$=h0+(Z[O>>2]|0)|0,Y0=Z[_>>2]|0,m=B(Y0,A)|0,t=Z[K>>2]|0,S$($,g+(Z[L>>2]|0)|0,m+7&-8,m,t),g0=L3((Z[V>>2]|0)+(Z[P>>2]|0)|0,$,Y0,t,Z[F>>2]|0,Z[z>>2]|0)|0,o0=h0;else g0=u,o0=h0;if($6(o0),!y)if(t=y6(0,W0)|0,!t)C0=9954,u0=0;else p0=t,i=56;else p0=0,i=56;if((i|0)==56)if(!g0)t=p0+(Z[O+4>>2]|0)|0,Y0=Z[_+4>>2]|0,$=B(Y0,A)|0,m=Z[K+4>>2]|0,S$(t,g+(Z[L+4>>2]|0)|0,$+7&-8,$,m),C0=L3((Z[V>>2]|0)+(Z[P+4>>2]|0)|0,t,Y0,m,Z[F>>2]|0,Z[z>>2]|0)|0,u0=p0;else C0=g0,u0=p0;if($6(u0),!y)if(m=y6(0,W0)|0,!m)q0=9954,i0=0;else t0=m,i=60;else t0=0,i=60;if((i|0)==60)if(!C0)m=t0+(Z[O+8>>2]|0)|0,Y0=Z[_+8>>2]|0,t=B(Y0,A)|0,$=Z[K+8>>2]|0,S$(m,g+(Z[L+8>>2]|0)|0,t+7&-8,t,$),q0=L3((Z[V>>2]|0)+(Z[P+8>>2]|0)|0,m,Y0,$,Z[F>>2]|0,Z[z>>2]|0)|0,i0=t0;else q0=C0,i0=t0;if($6(i0),!y)if($=y6(0,W0)|0,!$)E6=9954,V6=0;else n0=$,i=64;else n0=0,i=64;if((i|0)==64)if(!q0)$=n0+(Z[O+12>>2]|0)|0,Y0=Z[_+12>>2]|0,m=B(Y0,A)|0,t=Z[K+12>>2]|0,S$($,g+(Z[L+12>>2]|0)|0,m+7&-8,m,t),E6=L3((Z[V>>2]|0)+(Z[P+12>>2]|0)|0,$,Y0,t,Z[F>>2]|0,Z[z>>2]|0)|0,V6=n0;else E6=q0,V6=n0;if($6(V6),!y)if(t=y6(0,W0)|0,!t)e0=9954,Z6=0;else U6=t,i=68;else U6=0,i=68;if((i|0)==68)if(!E6)t=U6+(Z[O+16>>2]|0)|0,Y0=Z[_+16>>2]|0,$=B(Y0,A)|0,m=Z[K+16>>2]|0,S$(t,g+(Z[L+16>>2]|0)|0,$+7&-8,$,m),e0=L3((Z[V>>2]|0)+(Z[P+16>>2]|0)|0,t,Y0,m,Z[F>>2]|0,Z[z>>2]|0)|0,Z6=U6;else e0=E6,Z6=U6;if($6(Z6),!y)if(m=y6(0,W0)|0,!m)N6=9954,A6=0;else S6=m,i=72;else S6=0,i=72;if((i|0)==72)if(!e0)m=S6+(Z[O+20>>2]|0)|0,Y0=Z[_+20>>2]|0,t=B(Y0,A)|0,$=Z[K+20>>2]|0,S$(m,g+(Z[L+20>>2]|0)|0,t+7&-8,t,$),N6=L3((Z[V>>2]|0)+(Z[P+20>>2]|0)|0,m,Y0,$,Z[F>>2]|0,Z[z>>2]|0)|0,A6=S6;else N6=e0,A6=S6;if($6(A6),!y)if(y=y6(0,W0)|0,!y)H6=0;else M6=y,i=76;else M6=0,i=76;if((i|0)==76)if(!N6)y=M6+(Z[O+24>>2]|0)|0,W0=Z[_+24>>2]|0,$=B(W0,A)|0,Y0=Z[K+24>>2]|0,S$(y,g+(Z[L+24>>2]|0)|0,$+7&-8,$,Y0),L3((Z[V>>2]|0)+(Z[P+24>>2]|0)|0,y,W0,Y0,Z[F>>2]|0,Z[z>>2]|0)|0,H6=M6;else H6=M6;$6(H6)}while(0)}$6(g),q=Y;return}function UR(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0;Z:do switch(Z[$>>2]|0){case 3:{if(T=$+12|0,!(Z[T>>2]|0))X=0,Y=0;else{Q=$+8|0,W=0,U=0,S=0,J=0;while(!0){if(_=N[(Z[Q>>2]|0)+(W<<2|3)>>0]|0,K=S+1|0,J>>>0>>0)if(P=K<<1,O=y6(U,P)|0,!O)L=U,F=S,z=J;else H=O,C=P,A=6;else H=U,C=J,A=6;if((A|0)==6)A=0,N[H+S>>0]=_,L=H,F=K,z=C;if(W=W+1|0,W>>>0>=(Z[T>>2]|0)>>>0){X=L,Y=F;break}else U=L,S=F,J=z}}break}case 0:{if(!(Z[$+16>>2]|0))X=0,Y=0;else{if(J=$+20|0,S=Z[J>>2]|0,U=y6(0,2)|0,!U)if(T=Z[J>>2]|0,W=y6(0,2)|0,!W){X=0,Y=0;break Z}else y=1,k=T,m=W,I=0;else N[U>>0]=S>>>8,y=2,k=Z[J>>2]|0,m=U,I=1;N[m+I>>0]=k,X=m,Y=y}break}case 2:{if(!(Z[$+16>>2]|0))X=0,Y=0;else{if(U=$+20|0,J=Z[U>>2]|0,S=y6(0,2)|0,!S)if(W=Z[U>>2]|0,T=y6(0,2)|0,!T)u=0,g=0,i=0;else t=1,Y0=W,X0=T,T0=0,A=17;else N[S>>0]=J>>>8,t=2,Y0=Z[U>>2]|0,X0=S,T0=1,A=17;if((A|0)==17)N[X0+T0>>0]=Y0,u=X0,g=t,i=2;if(S=$+24|0,U=(Z[S>>2]|0)>>>8&255,J=g+1|0,i>>>0>>0)if(T=J<<1,W=y6(u,T)|0,!W)Z0=J,W0=u,O0=g,y0=i;else E0=W,H0=T,A=20;else E0=u,H0=i,A=20;if((A|0)==20)N[E0+g>>0]=U,Z0=g+2|0,W0=E0,O0=J,y0=H0;if(J=Z[S>>2]&255,y0>>>0>>0)if(S=Z0<<1,U=y6(W0,S)|0,!U)D0=Z0,_0=W0,F0=O0,k0=y0;else m0=U,B0=S,A=23;else m0=W0,B0=y0,A=23;if((A|0)==23)N[m0+O0>>0]=J,D0=Z0+1|0,_0=m0,F0=Z0,k0=B0;if(J=$+28|0,S=(Z[J>>2]|0)>>>8&255,k0>>>0>>0)if(U=D0<<1,T=y6(_0,U)|0,!T)g0=D0,o0=_0,h0=F0,C0=k0;else u0=T,p0=U,A=26;else u0=_0,p0=k0,A=26;if((A|0)==26)N[u0+F0>>0]=S,g0=D0+1|0,o0=u0,h0=D0,C0=p0;if(S=Z[J>>2]&255,C0>>>0>>0)if(J=y6(o0,g0<<1)|0,!J){X=o0,Y=h0;break Z}else q0=J;else q0=o0;N[q0+h0>>0]=S,X=q0,Y=g0}break}default:X=0,Y=0}while(0);if(g0=V+4|0,QZ(V,g0,Y,95431,X)|0){$6(X);return}Z[V+8>>2]=Z[g0>>2],$6(X);return}function JR(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0;if(X=N[$>>0]|0,X<<24>>24){Y=X,X=1,Q=1,W=0,U=0,S=0,J=0;while(!0){if(Q)if(_=X<<1,K=y6(U,_)|0,!K)P=U,O=S,L=J;else F=K,z=_,H=5;else F=U,z=J,H=5;if((H|0)==5)H=0,N[F+S>>0]=Y,P=F,O=X,L=z;if(W=W+1|0,Y=N[$+W>>0]|0,X=O+1|0,Q=L>>>0>>0,!(Y<<24>>24))break;else U=P,S=O,J=L}if(Q)C=X,A=P,y=O,k=L,H=8;else m=X,I=P,u=O,g=L,H=9}else C=1,A=0,y=0,k=0,H=8;if((H|0)==8)if(L=C<<1,O=y6(A,L)|0,!O)i=A,t=y,Y0=k;else m=C,I=O,u=y,g=L,H=9;if((H|0)==9)N[I+u>>0]=0,i=I,t=m,Y0=g;if(g=N[T>>0]|0,!(g<<24>>24))X0=i,T0=t;else{m=g,g=0,I=i,i=t,t=Y0;while(!0){if(Y0=i+1|0,t>>>0>>0)if(u=Y0<<1,L=y6(I,u)|0,!L)Z0=I,W0=i,O0=t;else y0=L,E0=u,H=14;else y0=I,E0=t,H=14;if((H|0)==14)H=0,N[y0+i>>0]=m,Z0=y0,W0=Y0,O0=E0;if(g=g+1|0,m=N[T+g>>0]|0,!(m<<24>>24)){X0=Z0,T0=W0;break}else I=Z0,i=W0,t=O0}}if(O0=V+4|0,QZ(V,O0,T0,95426,X0)|0){$6(X0);return}Z[V+8>>2]=Z[O0>>2],$6(X0);return}function S$(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0;if(Q=T-X|0,!Y)return;if(W=(Q|0)!=0,!X){U=0,S=0;while(!0){if(W){J=U,_=0;while(!0)if(K=V+(J>>>3)|0,N[K>>0]=(1<<(J&7^7)^255)&(G[K>>0]|0),_=_+1|0,(_|0)==(Q|0))break;else J=J+1|0;P=U+T|0}else P=U;if(S=S+1|0,(S|0)==(Y|0))break;else U=P}return}P=0,U=0,S=0;while(!0){J=U+X|0,_=P,K=U,O=0;while(!0){if(L=1<<(K&7^7),!(1<<(_&7^7)&(G[$+(_>>>3)>>0]|0)))F=V+(K>>>3)|0,z=(L^255)&(G[F>>0]|0),H=F;else F=V+(K>>>3)|0,z=L|(G[F>>0]|0),H=F;if(N[H>>0]=z,O=O+1|0,(O|0)==(X|0))break;else _=_+1|0,K=K+1|0}if(P=P+X|0,W){K=J,_=0;while(!0)if(O=V+(K>>>3)|0,N[O>>0]=(1<<(K&7^7)^255)&(G[O>>0]|0),_=_+1|0,(_|0)==(Q|0))break;else K=K+1|0;C=U+T|0}else C=J;if(S=S+1|0,(S|0)==(Y|0))break;else U=C}return}function L3(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0;switch(W=q,q=q+64|0,U=W,Y|0){case 3:case 0:{S=1;break}case 2:{S=3;break}case 4:{S=2;break}case 6:{S=4;break}default:S=0}if(J=B(S,Q)|0,S=((B(J,T)|0)+7|0)>>>3,T=(J+7|0)>>>3,!J)return _=31,q=W,_|0;if((Y|0)==3|Q>>>0<8){if(!X)return _=0,q=W,_|0;if(Q=S+1|0,!S){Y=0;do N[V+(B(Y,Q)|0)>>0]=0,Y=Y+1|0;while((Y|0)!=(X|0));return _=0,q=W,_|0}Y=0;do{J=B(Y,Q)|0,K=B(Y,S)|0,N[V+J>>0]=0,P=V+(J+1)|0,J=$+K|0,K=0;do N[P+K>>0]=N[J+K>>0]|0,K=K+1|0;while((K|0)!=(S|0));Y=Y+1|0}while((Y|0)!=(X|0));return _=0,q=W,_|0}Y=U,Q=Y+60|0;do Z[Y>>2]=0,Y=Y+4|0;while((Y|0)<(Q|0));Y=S<<1,Q=U+8|0;do if(!S)Z[U+4>>2]=S,Z[U+16>>2]=S,Z[U+28>>2]=S,Z[U+40>>2]=S,O=0,L=0,F=0,z=0,H=0,C=U+20|0,A=U+32|0,y=U+44|0,k=U+56|0,m=89;else{if(K=y6(0,Y)|0,K)if(Z[Q>>2]=Y,Z[U>>2]=K,Z[U+4>>2]=S,J=U+20|0,P=y6(0,Y)|0,P)if(Z[J>>2]=Y,Z[U+12>>2]=P,Z[U+16>>2]=S,I=U+32|0,u=y6(0,Y)|0,u)if(Z[I>>2]=Y,Z[U+24>>2]=u,Z[U+28>>2]=S,g=U+44|0,i=y6(0,Y)|0,i)if(Z[g>>2]=Y,Z[U+36>>2]=i,Z[U+40>>2]=S,t=U+56|0,Y0=y6(0,Y)|0,!Y0)X0=J,T0=i,Z0=u,W0=P,O0=K;else{Z[t>>2]=Y,Z[U+48>>2]=Y0,O=i,L=P,F=K,z=u,H=Y0,C=J,A=I,y=g,k=t,m=89;break}else X0=J,T0=0,Z0=u,W0=P,O0=K;else X0=J,T0=0,Z0=0,W0=P,O0=K;else X0=J,T0=0,Z0=0,W0=0,O0=K;else X0=U+20|0,T0=0,Z0=0,W0=0,O0=0;y0=O0,E0=W0,H0=Z0,D0=T0,_0=0,F0=X0,k0=U+32|0,m0=U+44|0,B0=U+56|0,g0=9949}while(0);if((m|0)==89)if(Z[U+52>>2]=S,!X)y0=F,E0=L,H0=z,D0=O,_0=H,F0=C,k0=A,m0=y,B0=k,g0=0;else{H=(S|0)==0,O=(T|0)!=0,z=(S|0)!=0,L=T>>>0>>0,F=S+1|0,m=0,X0=0,T0=0,Z0=0;while(!0){W0=X0,X0=$+(B(Z0,S)|0)|0,O0=(W0|0)==0,Y=m,Q=T0,K=0;do{J=Z[U+(K*12|0)>>2]|0;Z:do switch((K&255)<<24>>24){case 0:{if(!H){P=0;do N[J+P>>0]=N[X0+P>>0]|0,P=P+1|0;while((P|0)!=(S|0))}break}case 1:{if(O0){if(O){P=0;do N[J+P>>0]=N[X0+P>>0]|0,P=P+1|0;while((P|0)!=(T|0))}if(!L)break Z;P=T;do N[J+P>>0]=(G[X0+P>>0]|0)-(G[X0+(P-T)>>0]|0),P=P+1|0;while((P|0)!=(S|0))}else{if(O){P=0;do N[J+P>>0]=N[X0+P>>0]|0,P=P+1|0;while((P|0)!=(T|0))}if(!L)break Z;P=T;do N[J+P>>0]=(G[X0+P>>0]|0)-(G[X0+(P-T)>>0]|0),P=P+1|0;while((P|0)!=(S|0))}break}case 2:{if(O0){if(!z)break Z;P=0;do N[J+P>>0]=N[X0+P>>0]|0,P=P+1|0;while((P|0)!=(S|0))}else{if(!z)break Z;P=0;do N[J+P>>0]=(G[X0+P>>0]|0)-(G[W0+P>>0]|0),P=P+1|0;while((P|0)!=(S|0))}break}case 3:{if(O0){if(O){P=0;do N[J+P>>0]=N[X0+P>>0]|0,P=P+1|0;while((P|0)!=(T|0))}if(!L)break Z;P=T;do N[J+P>>0]=(G[X0+P>>0]|0)-((G[X0+(P-T)>>0]|0)>>>1&255),P=P+1|0;while((P|0)!=(S|0))}else{if(O){P=0;do N[J+P>>0]=(G[X0+P>>0]|0)-((G[W0+P>>0]|0)>>>1&255),P=P+1|0;while((P|0)!=(T|0))}if(!L)break Z;P=T;do N[J+P>>0]=(G[X0+P>>0]|0)-(((G[W0+P>>0]|0)+(G[X0+(P-T)>>0]|0)|0)>>>1),P=P+1|0;while((P|0)!=(S|0))}break}case 4:{if(O0){if(O){P=0;do N[J+P>>0]=N[X0+P>>0]|0,P=P+1|0;while((P|0)!=(T|0))}if(!L)break Z;P=T;do N[J+P>>0]=(G[X0+P>>0]|0)-(G[X0+(P-T)>>0]|0),P=P+1|0;while((P|0)!=(S|0))}else{if(O){P=0;do N[J+P>>0]=(G[X0+P>>0]|0)-(G[W0+P>>0]|0),P=P+1|0;while((P|0)!=(T|0))}if(!L)break Z;P=T;do u=P-T|0,t=N[X0+u>>0]|0,g=N[W0+P>>0]|0,I=N[W0+u>>0]|0,u=g&255,Y0=I&255,i=u-Y0|0,o0=(i|0)>-1?i:0-i|0,i=t&255,h0=i-Y0|0,C0=(h0|0)>-1?h0:0-h0|0,h0=u+i+(B(Y0,-2)|0)|0,Y0=(h0|0)>-1?h0:0-h0|0,N[J+P>>0]=(G[X0+P>>0]|0)-(((o0|0)>(C0|0)|(o0|0)>(Y0|0)?(C0|0)>(Y0|0)?I:g:t)&255),P=P+1|0;while((P|0)!=(S|0))}break}default:}while(0);if(P=Z[U+(K*12|0)+4>>2]|0,!P)u0=0;else{t=0,g=0;while(!0)if(I=t+(G[J+g>>0]|0)|0,g=g+3|0,g>>>0>=P>>>0){u0=I;break}else t=I}t=(K|0)==0|u0>>>0>>0,Q=t?u0:Q,Y=t?K:Y,K=K+1|0}while((K|0)!=5);if(K=B(Z0,F)|0,N[V+K>>0]=Y,!H){W0=Z[U+(Y*12|0)>>2]|0,O0=0;do t=O0,O0=O0+1|0,N[V+(O0+K)>>0]=N[W0+t>>0]|0;while((O0|0)!=(S|0))}if(Z0=Z0+1|0,(Z0|0)==(X|0))break;else m=Y,T0=Q}y0=Z[U>>2]|0,E0=Z[U+12>>2]|0,H0=Z[U+24>>2]|0,D0=Z[U+36>>2]|0,_0=Z[U+48>>2]|0,F0=C,k0=A,m0=y,B0=k,g0=0}return $6(y0),Z[F0>>2]=0,$6(E0),Z[k0>>2]=0,$6(H0),Z[m0>>2]=0,$6(D0),Z[B0>>2]=0,$6(_0),_=g0,q=W,_|0}function tD(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0;W=q,q=q+240|0,U=W+8|0,S=W+4|0,J=W,Z[U>>2]=2,Z[U+4>>2]=1,Z[U+8>>2]=2048,Z[U+12>>2]=1,Z[U+16>>2]=0,Z[U+20>>2]=1,Z[U+24>>2]=0,Z[U+32>>2]=0,Z[U+28>>2]=0,_=U+64|0,Z[_>>2]=0,Z[_+4>>2]=0,Z[_+8>>2]=0,Z[_+12>>2]=0,Z[U+48>>2]=6,Z[U+52>>2]=8,Z[U+56>>2]=0,Z[U+60>>2]=0,Z[U+44>>2]=0,Z[U+36>>2]=0,Z[U+40>>2]=0,_=U+80|0,Z[U+144>>2]=0,K=U+160|0,Z[K>>2]=0,Z[K+4>>2]=0,Z[K+8>>2]=0,Z[K+12>>2]=0,Z[K+16>>2]=0,Z[K+20>>2]=0,K=_,P=K+48|0;do Z[K>>2]=0,K=K+4|0;while((K|0)<(P|0));if(N[_+48>>0]=0,_=U+192|0,K=U+216|0,Z[_>>2]=0,Z[_+4>>2]=0,Z[_+8>>2]=0,Z[_+12>>2]=0,Z[_+16>>2]=0,Z[_+20>>2]=0,Z[K>>2]=1,Z[U+184>>2]=Y,Z[U+188>>2]=Q,iD(U,S,J,$,T,X),X=Z[K>>2]|0,xQ(U+28|0),U=Z[_>>2]|0,U|0)$6(U);if(U=Z[S>>2]|0,S=Z[J>>2]|0,J=NZ(V,103074)|0,!J)return $6(U),q=W,X|0;return C2(U,1,S,J)|0,m9(J)|0,$6(U),q=W,X|0}function Y1(V){V=V|0;var $=0,T=0;if(V>>>0<=1073741824?(Z[545811]=(Z[545811]|0)+1,(V|0)!=0):0)$=I3(V+8|0)|0,Z[$>>2]=-1060065012,Z[$+4>>2]=V,Z[545813]=(Z[545813]|0)+V,T=$+8|0;else T=0;return x8(T|0,0,V|0)|0,T|0}function C1(V,$,T){V=V|0,$=$|0,T=T|0,x8(V|0,$&255|0,T|0)|0;return}function B2(V){V=V|0;var $=0,T=0,X=0;if($=V+16|0,$>>>0<=1073741824?(Z[545811]=(Z[545811]|0)+1,($|0)!=0):0)T=I3(V+24|0)|0,Z[T>>2]=-1060065012,Z[T+4>>2]=$,Z[545813]=(Z[545813]|0)+$,X=T+8|0;else X=0;return x8(X|0,0,$|0)|0,X|0}function y6(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0;if(V|0)return Z[545813]=$-(Z[V+-4>>2]|0)+(Z[545813]|0),T=N$(V+-8|0,$+8|0)|0,Z[T+4>>2]=$,X=T+8|0,X|0;if(T=$+16|0,T>>>0<=1073741824?(Z[545811]=(Z[545811]|0)+1,(T|0)!=0):0)V=I3($+24|0)|0,Z[V>>2]=-1060065012,Z[V+4>>2]=T,Z[545813]=(Z[545813]|0)+T,Y=V+8|0;else Y=0;return x8(Y|0,0,T|0)|0,X=Y,X|0}function $6(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0;if($=q,q=q+16|0,T=$+8|0,X=$,Z[544491]|0){q=$;return}if(!V){q=$;return}if(Z[545812]=(Z[545812]|0)+1,Y=V+-8|0,Q=Z[Y>>2]|0,W=V+-4|0,U=Z[W>>2]|0,(Q|0)!=-1060065012){Z[X>>2]=Q,Z[X+4>>2]=U,b1(95436,X)|0,r7(Z[8720]|0)|0,X=Z[W>>2]|0,Z[T>>2]=Z[Y>>2],Z[T+4>>2]=X,a6(1703776,95436,T)|0,s1(1703776),q=$;return}if(U>>>0>3){T=U>>>2,X=0;do Z[V+(X<<2)>>2]=-559038737,X=X+1|0;while(X>>>0>>0)}Z[545813]=(Z[545813]|0)-U,Z[Y>>2]=11254272,Z[W>>2]=13491200,TZ(Y),q=$;return}function Q3(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0;$=Z[545811]|0,Z[545811]=$+1,T=I3(100)|0,Z[T>>2]=-1060065012,Z[T+4>>2]=92,X=(Z[545813]|0)+92|0,Z[545813]=X,Y=T+8|0,Q=T+12|0,W=Q+84|0;do N[Q>>0]=0,Q=Q+1|0;while((Q|0)<(W|0));if(Z[Y>>2]=1,Q=T+20|0,Z[Q>>2]=0,Z[T+24>>2]=0,Z[T+28>>2]=0,W=(V|0)>4?V:4,Z[T+96>>2]=W,W>>>0>1073741824)return U=0,x8(U|0,0,W|0)|0,Z[Q>>2]=U,Y|0;if(Z[545811]=$+2,!W)return U=0,x8(U|0,0,W|0)|0,Z[Q>>2]=U,Y|0;return $=I3(W+8|0)|0,Z[$>>2]=-1060065012,Z[$+4>>2]=W,Z[545813]=X+W,U=$+8|0,x8(U|0,0,W|0)|0,Z[Q>>2]=U,Y|0}function k4(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if(T=V+88|0,X=Z[T>>2]|0,(X|0)>=($|0))return 0;if(Y=$<<1,Z[T>>2]=Y,$=V+12|0,V=Z[$>>2]|0,!V){if(Q=Y+16|0,Q>>>0<=1073741824?(Z[545811]=(Z[545811]|0)+1,(Q|0)!=0):0)W=I3(Y+24|0)|0,Z[W>>2]=-1060065012,Z[W+4>>2]=Q,Z[545813]=(Z[545813]|0)+Q,U=W+8|0;else U=0;x8(U|0,0,Q|0)|0,S=Y,J=U}else Z[545813]=Y-(Z[V+-4>>2]|0)+(Z[545813]|0),U=N$(V+-8|0,Y+8|0)|0,Z[U+4>>2]=Y,S=Z[T>>2]|0,J=U+8|0;return Z[$>>2]=J,x8(J+X|0,0,S-X|0)|0,0}function W3(V){V=V|0,I5(V);return}function NY(V){if(V=V|0,!V)return;Z[V+16>>2]=0,Z[V+20>>2]=0;return}function fD(V){V=V|0;var $=0,T=0,X=0,Y=0;if($=V+92|0,T=Z[$>>2]|0,Z[$>>2]=T+1,N[V+28+T>>0]=-128,X=Z[$>>2]|0,(T|0)>55){if((X|0)<64){T=X;do Z[$>>2]=T+1,N[V+28+T>>0]=0,T=Z[$>>2]|0;while((T|0)<64)}if(ON(V),T=Z[$>>2]|0,(T|0)<56){Y=T;do Z[$>>2]=Y+1,N[V+28+Y>>0]=0,Y=Z[$>>2]|0;while((Y|0)<56)}}else if((X|0)<56){Y=X;do Z[$>>2]=Y+1,N[V+28+Y>>0]=0,Y=Z[$>>2]|0;while((Y|0)<56)}Y=Z[V+24>>2]|0,N[V+84>>0]=Y>>>24,N[V+85>>0]=Y>>>16,N[V+86>>0]=Y>>>8,N[V+87>>0]=Y,Y=Z[V+20>>2]|0,N[V+88>>0]=Y>>>24,N[V+89>>0]=Y>>>16,N[V+90>>0]=Y>>>8,N[V+91>>0]=Y,ON(V);return}function ON(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0;$=q,q=q+320|0,T=$,X=0;do Y=X<<2,Z[T+(X<<2)>>2]=(G[(Y|2)+(V+28)>>0]|0)<<8|((G[(Y|1)+(V+28)>>0]|0)<<16|(G[V+28+Y>>0]|0)<<24)|(G[(Y|3)+(V+28)>>0]|0),X=X+1|0;while((X|0)!=16);X=16;do Y=Z[T+(X+-8<<2)>>2]^Z[T+(X+-3<<2)>>2]^Z[T+(X+-14<<2)>>2]^Z[T+(X+-16<<2)>>2],Z[T+(X<<2)>>2]=Y<<1|Y>>>31,X=X+1|0;while((X|0)!=80);X=Z[V>>2]|0,Y=V+4|0,Q=Z[Y>>2]|0,W=V+8|0,U=Z[W>>2]|0,S=V+12|0,J=Z[S>>2]|0,_=V+16|0,K=Z[_>>2]|0,P=X,O=Q,L=U,F=J,z=K,H=0;while(!0)if(C=(P<<5|P>>>27)+1518500249+z+(F&~O|L&O)+(Z[T+(H<<2)>>2]|0)|0,A=O<<30|O>>>2,H=H+1|0,(H|0)==20)break;else y=L,k=P,P=C,L=A,z=F,F=y,O=k;O=C,C=P,P=A,A=L,L=F,F=20;while(!0)if(m=(O<<5|O>>>27)+1859775393+(P^C^A)+L+(Z[T+(F<<2)>>2]|0)|0,I=C<<30|C>>>2,F=F+1|0,(F|0)==40)break;else z=P,H=O,O=m,P=I,L=A,A=z,C=H;C=m,m=O,O=I,I=P,P=A,A=40;while(!0)if(u=(C<<5|C>>>27)+-1894007588+P+((I|O)&m|I&O)+(Z[T+(A<<2)>>2]|0)|0,g=m<<30|m>>>2,A=A+1|0,(A|0)==60)break;else L=O,F=C,C=u,O=g,P=I,I=L,m=F;m=u,u=C,C=g,g=O,O=I,I=60;while(!0)if(i=(m<<5|m>>>27)+-899497514+(C^u^g)+O+(Z[T+(I<<2)>>2]|0)|0,t=u<<30|u>>>2,I=I+1|0,(I|0)==80)break;else P=C,A=m,m=i,C=t,O=g,g=P,u=A;Z[V>>2]=i+X,Z[Y>>2]=m+Q,Z[W>>2]=t+U,Z[S>>2]=C+J,Z[_>>2]=g+K,Z[V+92>>2]=0,q=$;return}function DT(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0;X=q,q=q+128|0,Y=X,Q=X+24|0,W=Q+20|0,Z[W>>2]=0,U=Q+24|0,Z[U>>2]=0,S=Q+92|0,Z[S>>2]=0,Z[Q>>2]=1732584193,J=Q+4|0,Z[J>>2]=-271733879,_=Q+8|0,Z[_>>2]=-1732584194,K=Q+12|0,Z[K>>2]=271733878,P=Q+16|0,Z[P>>2]=-1009589776,O=Q+96|0,Z[O>>2]=0,L=Q+100|0,Z[L>>2]=0;Z:do if($){F=0,z=0,H=$,C=V;while(!0){if(A=H+-1|0,y=N[C>>0]|0,Z[S>>2]=F+1,N[Q+28+F>>0]=y,y=z+8|0,Z[W>>2]=y,(y|0)==0?(y=(Z[U>>2]|0)+1|0,Z[U>>2]=y,(y|0)==0):0)Z[L>>2]=1;if((Z[S>>2]|0)==64)ON(Q);if(k=(Z[L>>2]|0)==0,!A)break;if(!k){m=0;break Z}F=Z[S>>2]|0,z=Z[W>>2]|0,H=A,C=C+1|0}if(k)if(!(Z[O>>2]|0))I=13;else m=1;else m=0}else I=13;while(0);if((I|0)==13)fD(Q),Z[O>>2]=1,m=1;return O=Z[J>>2]|0,J=Z[_>>2]|0,_=Z[K>>2]|0,K=Z[P>>2]|0,Z[Y>>2]=Z[Q>>2],Z[Y+4>>2]=O,Z[Y+8>>2]=J,Z[Y+12>>2]=_,Z[Y+16>>2]=K,a6(T,95458,Y)|0,q=X,m|0}function GN(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0;if(Y=V+T|0,Q=$+X|0,W=Q+-12|0,!X){if((T|0)!=1)return U=-1,U|0;return U=((N[V>>0]|0)!=0)<<31>>31,U|0}T=Q+-8|0,X=Y+-8|0,S=Y+-6|0,J=Q+-5|0,_=V,K=$;while(!0){if(P=K,O=_+1|0,L=G[_>>0]|0,F=L>>>4,(F|0)==15)if(O>>>0>>0){z=O,H=15;while(!0)if(C=z+1|0,A=N[z>>0]|0,y=H+(A&255)|0,A<<24>>24==-1&C>>>0>>0)z=C,H=y;else{k=C,m=y;break}}else k=O,m=15;else k=O,m=F;if(I=K+m|0,u=k+m|0,I>>>0>W>>>0|u>>>0>X>>>0){g=10;break}H=K+8|0,z=(I>>>0>H>>>0?I:H)+-1+(0-P)&-8,y=k,C=K;while(!0)if(A=G[y>>0]|G[y+1>>0]<<8|G[y+2>>0]<<16|G[y+3>>0]<<24,N[C>>0]=A,N[C+1>>0]=A>>8,N[C+2>>0]=A>>16,N[C+3>>0]=A>>24,A=C+4|0,i=y+4|0,t=G[i>>0]|G[i+1>>0]<<8|G[i+2>>0]<<16|G[i+3>>0]<<24,N[A>>0]=t,N[A+1>>0]=t>>8,N[A+2>>0]=t>>16,N[A+3>>0]=t>>24,C=C+8|0,C>>>0>=I>>>0)break;else y=y+8|0;if(y=k+8+z+(I-(H+z))|0,C=G[y>>0]|G[y+1>>0]<<8,P=I+(0-(C&65535))|0,F=y+2|0,P>>>0<$>>>0){Y0=F;break}y=L&15;Z:do if((y|0)==15){O=F,t=15;while(!0){if(O>>>0>=S>>>0){X0=O,T0=t;break Z}if(A=O+1|0,i=N[O>>0]|0,Z0=t+(i&255)|0,i<<24>>24==-1)O=A,t=Z0;else{X0=A,T0=Z0;break}}}else X0=F,T0=y;while(0);if((C&65535)<4)N[I>>0]=N[P>>0]|0,N[I+1>>0]=N[P+1>>0]|0,N[I+2>>0]=N[P+2>>0]|0,N[I+3>>0]=N[P+3>>0]|0,y=I+4|0,F=P+4|0,L=y,z=F+(0-(Z[29984+(L-F<<2)>>2]|0))|0,F=G[z>>0]|G[z+1>>0]<<8|G[z+2>>0]<<16|G[z+3>>0]<<24,N[y>>0]=F,N[y+1>>0]=F>>8,N[y+2>>0]=F>>16,N[y+3>>0]=F>>24,W0=y,O0=L,y0=z;else z=G[P>>0]|G[P+1>>0]<<8|G[P+2>>0]<<16|G[P+3>>0]<<24,N[I>>0]=z,N[I+1>>0]=z>>8,N[I+2>>0]=z>>16,N[I+3>>0]=z>>24,z=I+4|0,W0=z,O0=z,y0=P+4|0;if(z=I+4+T0|0,z>>>0>T>>>0){if(z>>>0>J>>>0){Y0=X0;break}L=I+12|0,y=(T>>>0>L>>>0?T:L)+-1+(0-O0)&-8,F=W0,H=y0;while(!0)if(t=G[H>>0]|G[H+1>>0]<<8|G[H+2>>0]<<16|G[H+3>>0]<<24,N[F>>0]=t,N[F+1>>0]=t>>8,N[F+2>>0]=t>>16,N[F+3>>0]=t>>24,t=F+4|0,O=H+4|0,Z0=G[O>>0]|G[O+1>>0]<<8|G[O+2>>0]<<16|G[O+3>>0]<<24,N[t>>0]=Z0,N[t+1>>0]=Z0>>8,N[t+2>>0]=Z0>>16,N[t+3>>0]=Z0>>24,F=F+8|0,F>>>0>=T>>>0)break;else H=H+8|0;if(H=L+y|0,H>>>0>>0){F=H,H=y0+8+y|0;while(!0)if(N[F>>0]=N[H>>0]|0,F=F+1|0,(F|0)==(z|0))break;else H=H+1|0}}else{H=W0,F=y0;while(!0)if(y=G[F>>0]|G[F+1>>0]<<8|G[F+2>>0]<<16|G[F+3>>0]<<24,N[H>>0]=y,N[H+1>>0]=y>>8,N[H+2>>0]=y>>16,N[H+3>>0]=y>>24,y=H+4|0,L=F+4|0,P=G[L>>0]|G[L+1>>0]<<8|G[L+2>>0]<<16|G[L+3>>0]<<24,N[y>>0]=P,N[y+1>>0]=P>>8,N[y+2>>0]=P>>16,N[y+3>>0]=P>>24,H=H+8|0,H>>>0>=z>>>0)break;else F=F+8|0}_=X0,K=z}if((g|0)==10)if(I>>>0>Q>>>0|(u|0)!=(Y|0))Y0=k;else return q6(K|0,k|0,m|0)|0,U=I-$|0,U|0;return U=V+-1-Y0|0,U|0}function SR(V,$,T){if(V=V|0,$=$|0,T=T|0,!T)return;if(Z[543656]|Z[543654]|0){x8($|0,0,T|0)|0;return}if((Z[543669]|0)==(Z[543667]|0)?(Z[543670]|0)==(Z[543668]|0):0){MN(0,$,T);return}if((T|0)<=0)return;x8($|0,0,T|0)|0;return}function MN(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;if(Z[8713]=T,l0(28)|0){x8($|0,0,T|0)|0;return}if(V=Z[543655]|0,Z[543655]=V+1,!((V|0)<3|(Z[543656]|0)!=0)){x8($|0,0,T|0)|0;return}if(Z[730406]=1,V=Z[543668]|0,X=(T|0)/(((V|0)==0?1:V<<1)|0)|0,V=(Z[543667]|0)==44100?(X|0)/2|0:X,X=(Z[8712]|0)==-1,Y=I8()|0,!X){if(X=(Y-(Z[8712]|0)|0)>500,Z[8712]=I8()|0,X){if((V|0)<=0)return;x8($|0,0,V<<1|0)|0;return}}else Z[8712]=Y;if(Z[545819]=0,D3(2708888,V),D3(2722184,V),D3(2735480,V),D3(2748776,V),D3(2762072,V),D3(2775368,V),D3(2788664,V),D3(2801960,V),D3(2815256,V),D3(2828552,V),D3(2841848,V),D3(2855144,V),D3(2868440,V),D3(2881736,V),D3(2895032,V),D3(2908328,V),Z[545819]|0)Z[543662]=(Z[543662]|0)+1;if(Y=(Z[543959]|0)==0,!Y){if(Z[679278]|0)x8(2762072,0,T|0)|0;if(Z[682602]|0)x8(2775368,0,T|0)|0;if(Z[685926]|0)x8(2788664,0,T|0)|0;if(Z[689250]|0)x8(2801960,0,T|0)|0}if(X=Y?16:8,Y=(V|0)>0,Y){Q=2;do{W=(Q|0)/2|0,U=0;do{S=U+W|0,J=0;do{if(_=2708888+(U*13296|0)+(J<<1)|0,K=(j[2708888+(S*13296|0)+(J<<1)>>1]|0)+(j[_>>1]|0)|0,(K|0)<=24575)if((K|0)<-24575)P=((K+24576|0)/5|0)+-24576|0;else P=K;else P=((K+-24576|0)/5|0)+24576|0;j[_>>1]=P,J=J+1|0}while((J|0)!=(V|0));U=U+Q|0}while(U>>>0>>0);Q=Q<<1}while(Q>>>0<=X>>>0)}else{Q=2;do{P=0;do P=P+Q|0;while(P>>>0>>0);Q=Q<<1}while(Q>>>0<=X>>>0)}if(X=Z[543939]|0,(X|0)!=256&Y){Q=0;do P=2708888+(Q<<1)|0,j[P>>1]=(B(X,j[P>>1]|0)|0)>>>8,Q=Q+1|0;while((Q|0)!=(V|0))}if(!((Z[677221]|0)==0|(Z[545820]|0)==0)?(Q=Z[545818]|0,Q|0):0){if(X=(B(Z[543940]|0,Q)|0)>>16,Y){Q=0;do P=1716192+(Q<<1)|0,j[P>>1]=(B(X,j[P>>1]|0)|0)>>>8,Q=Q+1|0;while((Q|0)!=(V|0));Q=0;do{if(X=2708888+(Q<<1)|0,P=(j[1716192+(Q<<1)>>1]|0)+(j[X>>1]|0)|0,(P|0)<=24575)if((P|0)<-24575)O=((P+24576|0)/5|0)+-24576|0;else O=P;else O=((P+-24576|0)/5|0)+24576|0;j[X>>1]=O,Q=Q+1|0}while((Q|0)!=(V|0))}}if(Q=Z[543667]|0,O=Z[543668]|0,(Q|0)==22050&(O|0)==1){if(Y){X=0;do j[$+(X<<1)>>1]=j[2708888+(X<<1)>>1]|0,X=X+1|0;while((X|0)!=(V|0))}}else if((Q|0)==44100&(O|0)==2?(O=V<<2,Y):0){Y=0;do j[$+(Y<<1)>>1]=j[2708888+(Y>>>2<<1)>>1]|0,Y=Y+1|0;while((Y|0)<(O|0))}if(O=Z[730413]|0,!O)L=Q;else nN[O&15]($,(T|0)/2|0),L=Z[543667]|0;if(((L|0)==22050&(Z[543668]|0)==1&(Z[543661]|0)!=0?(L=Z[730414]|0,T=10584000-((Z[L+16>>2]|0)/2|0)|0,O=(V|0)<(T|0)?V:T,(O|0)>0):0)?(qJ(j[$>>1]|0,L),(O|0)!=1):0){L=1;do qJ(j[$+(L<<1)>>1]|0,Z[730414]|0),L=L+1|0;while((L|0)<(O|0))}Z[730406]=0;return}function D3(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0;if(C1(V,0,8192),1<>2]&Z[768514]){if(RR(V,(($|0)/2|0)+1|0),($|0)>0){T=$;do X=T,T=T+-1|0,j[V+(T<<1)>>1]=j[V+(((T|0)/2|0)<<1)>>1]|0;while((X|0)>1)}}else RR(V,$);if(T=V+8208|0,X=Z[T>>2]|0,!((X|0)!=0&($|0)>0))return;Y=Z[X>>2]|0,Q=V+8216|0,W=X+28|0,U=X+20|0,X=~$,S=~Y,J=Z[Q>>2]|0,_=0;while(!0){if(K=$-_|0,P=Y-J|0,O=(K|0)<(P|0)?K:P,(O|0)<1)break;P=Z[U>>2]|0,K=_+X|0,L=J+S|0,F=(K|0)>(L|0)?K:L,L=_+-1|0,K=0,z=J,H=_;while(!0)if(j[V+(H<<1)>>1]=j[P+(z<<1)>>1]|0,K=K+1|0,(K|0)>=(O|0))break;else z=z+1|0,H=H+1|0;if(H=J+-1-F|0,_=L-F|0,Z[Q>>2]=H,z=(Z[W>>2]|0)==0|(H|0)<(Y|0),Z[Q>>2]=z?H:0,(_|0)>=($|0)){C=14;break}else J=z?H:0}if((C|0)==14)return;if((Y|0)>(J|0))return;Z[V+11548>>2]=0,Z[T>>2]=0,Z[V+8236>>2]=0,Z[V+8232>>2]=0,T=V+8220|0,Z[T>>2]=0,Z[T+4>>2]=0;return}function RR(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0;if(T=V+11756|0,Z[V+11752>>2]=Z[T>>2],X=Z[543668]|0,Y=((($<<1|0)/(((X|0)==0?1:X<<1)|0)|0)*1000|0)/(Z[543667]|0)|0,X=I8()|0,Q=((((Z[T>>2]|0)+Y|0)*6|0)+(X<<1)|0)/8|0,Y=X+-200|0,Z[T>>2]=(Q|0)>(Y|0)?Q:Y,Y=V+11748|0,Z[Y>>2]=0,x8(V+11760|0,0,1536)|0,($|0)>0){Q=V+11544|0,T=V+8228|0,X=V+8232|0,W=V+8224|0,U=V+11552|0,S=V+8244|0,J=V+8608|0,_=V+11628|0,K=V+8240|0,P=V+11736|0,O=V+11740|0,L=V+11540|0,F=$,$=V;while(!0){if(z=j[Q>>1]|0,H=z<<16>>16,z<<16>>16<183)z=183-H|0,C=(z|0)<(F|0)?z:F,q6($|0,V+8244+(H<<1)|0,C<<1|0)|0,j[Q>>1]=C+(n[Q>>1]|0),A=F-C|0,y=$+(C<<1)|0;else A=F,y=$;if(C=Z[Y>>2]|0,(C|0)<64){if(H=Z[T>>2]|0,Z[V+11760+(C*24|0)>>2]=H,Z[V+11760+(C*24|0)+4>>2]=Z[X>>2],z=Z[W>>2]|0,Z[V+11760+(C*24|0)+8>>2]=z,k=V+11760+(C*24|0)+12|0,Z[k>>2]=0,z|0)m=Z[z+8>>2]|0,Z[k>>2]=(H|0)/(((m|0)>1?m:1)|0)|0;Z[V+11760+(C*24|0)+16>>2]=Z[U>>2],Z[V+11760+(C*24|0)+20>>2]=Z[543662],Z[Y>>2]=C+1}if(C=(A|0)>0,!C)break;if(m=j[J>>1]|0,H=Z[W>>2]|0,k=(H|0)==0,k)I=0;else I=((Z[H>>2]>>3|0)/3|0|0)%3|0;if(z=Z[_>>2]>>3,u=((z|0)/3|0|0)%3|0,g=(I|0)>(u|0)?I:u,u=Z[768515]|0,i=Z[K>>2]|0,t=1<>2]=(Y0&u|0)==0?(t&u|0)==0|(g|0)>1?g:1:2,k)X0=0;else X0=((Z[H>>2]>>3|0)/9|0|0)%3|0;if(H=((z|0)/9|0|0)%3|0,z=(X0|0)>(H|0)?X0:H,H=(z|0)==2?12:z,z=(H|0)==1?8:H,Z[O>>2]=z,H=Z[768517]|0,!(H&t))T0=z;else t=(z|0)>8?z:8,Z[O>>2]=t,T0=t;if(!(H&Y0))Z0=T0;else Y0=(T0|0)>12?T0:12,Z[O>>2]=Y0,Z0=Y0;if(Y0=17<>2]=(Z0|0)>15?Z0:15;if(dD(V,S),Y0=Z[768516]|0,H=Z[K>>2]|0,!(1<>1]=j[H>>1]&-4089,Y0=Y0+1|0;while((Y0|0)!=183)}}else{Y0=0;do{if(H=V+8244+(Y0<<1)|0,i=j[H>>1]|0,t=i<<16>>16,i<<16>>16>-1)W0=t&-4096;else W0=0-((0-(t<<16)|0)>>>16&61440)|0;j[H>>1]=W0,Y0=Y0+1|0}while((Y0|0)!=183)}if(Y0=Z[O>>2]|0,(Y0|0)>0){H=16-Y0|0,t=((B(H,j[S>>1]|0)|0)+(B(Y0,m<<16>>16)|0)|0)/16|0,j[S>>1]=t,i=t,t=1;do z=V+8244+(t<<1)|0,i=((B(Y0,i<<16>>16)|0)+(B(H,j[z>>1]|0)|0)|0)/16|0,j[z>>1]=i,t=t+1|0;while((t|0)!=183)}if(j[Q>>1]=0,q6(V+8610+(((Z[L>>2]|0)%8|0)*366|0)|0,S|0,366)|0,Z[L>>2]=((Z[L>>2]|0)+1|0)%8|0,C)F=A,$=y;else break}if(y=Z[Y>>2]|0,(y|0)<64)O0=y;else return}else O0=0;if(y=Z[V+8228>>2]|0,Z[V+11760+(O0*24|0)>>2]=y,Z[V+11760+(O0*24|0)+4>>2]=Z[V+8232>>2],$=Z[V+8224>>2]|0,Z[V+11760+(O0*24|0)+8>>2]=$,A=V+11760+(O0*24|0)+12|0,Z[A>>2]=0,$|0)F=Z[$+8>>2]|0,Z[A>>2]=(y|0)/(((F|0)>1?F:1)|0)|0;Z[V+11760+(O0*24|0)+16>>2]=Z[V+11552>>2],Z[V+11760+(O0*24|0)+20>>2]=Z[543662],Z[Y>>2]=O0+1;return}function dD(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0;if(T=q,q=q+96|0,X=T,x8($|0,0,366)|0,Y=V+8224|0,Q=Z[Y>>2]|0,W=(Q|0)!=0,W){U=Z[Q+8>>2]|0,S=(U|0)>1?U:1,U=V+8228|0,J=Z[U>>2]|0,_=(J+1|0)/(S|0)|0,K=(J|0)%(S|0)|0,J=V+11556|0,P=X,O=J,L=P+96|0;do Z[P>>2]=Z[O>>2],P=P+4|0,O=O+4|0;while((P|0)<(L|0));if(!K)Z[V+11656>>2]=Z[V+11620>>2],Z[V+11652>>2]=Z[V+11616>>2],Z[V+11660>>2]=Z[V+11612>>2];bD(V,J),LN(J,$,183,V),P=1724384,L=P+128|0;do Z[P>>2]=0,P=P+4|0;while((P|0)<(L|0));LN(X,1724384,64,V),X=0;do P=$+(X<<1)|0,L=B(X,j[P>>1]|0)|0,j[P>>1]=((B(64-X|0,j[1724384+(X<<1)>>1]|0)|0)+L|0)/64|0,X=X+1|0;while((X|0)!=64);X=V+11732|0,F=Z[X>>2]|0,z=_,H=S,C=X,A=U}else{if(U=V+8228|0,X=Z[U>>2]|0,x8($|0,0,366)|0,S=X+1|0,X=V+11556|0,_=V+11584|0,Z[V+11564>>2]|0?Z[_>>2]|0:0){LN(X,$,64,V),X=0;do L=$+(X<<1)|0,j[L>>1]=(B(64-X|0,j[L>>1]|0)|0)/64|0,X=X+1|0;while((X|0)!=64)}Z[_>>2]=0,_=V+11732|0,Z[_>>2]=0,F=0,z=S,H=1,C=_,A=U}if(U=(Z[A>>2]|0)+1|0,Z[A>>2]=U,_=V+11744|0,S=(Z[_>>2]|0)+-1|0,Z[_>>2]=S,Z[C>>2]=F+1,F=V+8232|0,Z[F>>2]=(Z[F>>2]|0)+1,(W?(Z[V+8236>>2]|0)!=0:0)?(W=Z[Q+16>>2]|0,C=Z[Q+12>>2]|0,!((W|0)<=(C|0)|(U|0)<(B(W,H)|0))):0)W=B(C,H)|0,Z[A>>2]=W,y=W;else y=U;Z:do if(Z[Y>>2]|0?(Z[V+11548>>2]|0)==0:0){if(!S){Z[Y>>2]=0;break}if(U=Z[Q+16>>2]|0,W=Z[Q+12>>2]|0,(U|0)<=(W|0)){do if((z|0)<(((U|0)==0&(W|0)>0?W:32)|0)){if((z|0)<32){H=0,C=z;while(!0)if(H=(Z[Q+20+(C*20|0)+8>>2]|0)>0?1:H,(C|0)>=31)break;else C=C+1|0;if((z|0)<31)k=(Z[Q+20+(z*20|0)+12>>2]|0)==1?1:H;else k=H}else k=0;if(!(Z[V+11736>>2]|0))if(!k)break;else break Z;else if(C=Z[Q+8>>2]|0,(k|0)==0?(y|0)>=((((C|0)>1?C:1)<<5)+128|0):0)break;else break Z}while(0);Z[Y>>2]=0}}while(0);if(y=V+8220|0,k=Z[y>>2]|0,!k){q=T;return}if(Q=V+11548|0,!((S|0)==0&(Z[Q>>2]|0)!=0)){q=T;return}if(S=V+11552|0,z=Z[S>>2]|0,z>>>0>=64){q=T;return}Z[545819]=1,W=Z[k+43280+(z<<2)>>2]|0;do if(!(W&4)){Z:do if(W&2){if((z|0)<=0){Z[543663]=z,m=0;break}if(!(W&1)){U=z;while(!0){if(C=U+-1|0,Z[S>>2]=C,(U|0)<=1){I=C,u=44;break Z}if(!(Z[k+43280+(C<<2)>>2]&1))U=C;else{I=C,u=44;break}}}else I=z,u=44}else U=z+1|0,Z[S>>2]=U,I=U,u=44;while(0);if((u|0)==44)if(Z[543663]=I,I>>>0>63)break;else m=I;if(U=k+42256+(m<<4)|0,(((Z[U>>2]|0)>63?(Z[k+42256+(m<<4)+4>>2]|0)>63:0)?(Z[k+42256+(m<<4)+8>>2]|0)>63:0)?(Z[k+42256+(m<<4)+12>>2]|0)>63:0){Z[Q>>2]=0,Z[V+8208>>2]=0,Z[V+8236>>2]=0,Z[F>>2]=0,H=y,Z[H>>2]=0,Z[H+4>>2]=0,q=T;return}if(H=Z[k+42256+(m<<4)+(Z[V+8240>>2]<<2)>>2]|0,(H|0)>63)g=0;else g=k+16+(((H|0)>0?H:0)*660|0)|0;Z[Y>>2]=g,Z[A>>2]=0,Z[F>>2]=0,j[V+11544>>1]=183,Z[_>>2]=FX(k,U)|0,q=T;return}else Z[S>>2]=-1,Z[543663]=-1;while(0);Z[Q>>2]=0,Z[V+8208>>2]=0,Z[V+8236>>2]=0,Z[F>>2]=0,F=y,Z[F>>2]=0,Z[F+4>>2]=0,q=T;return}function LN(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0;if(Y=Z[V+84>>2]|0,Q=Z[V+80>>2]|0,W=Z[V+28>>2]|0,(W|0)==0?(Z[X+11736>>2]|0)==0:0){Z[V+4>>2]=0,x8($|0,0,T<<1|0)|0;return}switch(U=V+4|0,S=Z[U>>2]|0,J=V+12|0,_=Z[V+8>>2]|0,K=Z[V+16>>2]|0,P=(_|0)==(K|0)?S:Z[J>>2]|0,O=(W*3|0)/2|0,W=Z[V>>2]|0,W|0){case 7:case 0:{if((T|0)>0){L=(Y|0)==0,F=0,z=S,H=P;while(!0){if(C=(z&32768|0)==0?(z*3|0)+-49152|0:(49152-z|0)*3|0,L)A=H&65535,y=C,k=(H&32768|0)==0?(A*3|0)+-49152|0:(49152-A|0)*3|0;else{if(A=(z|0)>57343,m=H&65535,m>>>0>57343)I=((m^65535)*24572|0)>>>13;else I=((m*24572|0)>>>0)/57344|0;y=(((C|0)/4|0)*3|0)+-12286+(((A?65535-z|0:z)*24572|0)/((A?8192:57344)|0)|0)|0,k=(((((H&32768|0)==0?(m*3|0)+-49152|0:(49152-m|0)*3|0)|0)/4|0)*3|0)+-12286+I|0}if(m=z+_&65535,A=H+K&131071,j[$+(F<<1)>>1]=(B(((y|0)/4|0)+((k|0)/8|0)|0,O)|0)/3072|0,F=F+1|0,(F|0)==(T|0)){u=m,g=A,i=14;break}else z=m,H=A}}else t=0,Y0=S,X0=P;break}default:u=S,g=P,i=14}if((i|0)==14)if(P=(T|0)>0,(W|0)==1&P){S=(Q|0)==2&1,H=(Y|0)==0,z=0,F=u,k=g;while(!0){y=k<57343,L=((I?65535-F|0:F)*24572|0)/((I?8192:57344)|0)|0,I=y&65535,I>>>0>57343){T0=L,Z0=((I^65535)*24572|0)>>>13;break}else{T0=L,Z0=((I*24572|0)>>>0)/57344|0;break}else if(I=(F|0)>61439,L=((I?65535-F|0:F)*24572|0)/((I?4096:61440)|0)|0,I=y&65535,I>>>0>61439){T0=L,Z0=((I^65535)*24572|0)>>>12;break}else{T0=L,Z0=((I*24572|0)>>>0)/61440|0;break}while(0);if(y=F+_&65535,I=k+K&131071,j[$+(z<<1)>>1]=(B(T0+-12286+((Z0+-12286|0)/2|0)|0,O)|0)/3072|0,z=z+1|0,(z|0)==(T|0)){t=P,Y0=y,X0=I;break}else F=y,k=I}}else t=P,Y0=u,X0=g;if((W|0)==2&t){g=(Q|0)==2&1,u=(Y|0)==0,P=0,k=Y0,F=X0;while(!0){if(z=F<>1]=(B((((O0|0)/(W0|0)|0|0)/2|0)+y0|0,O)|0)/3072|0,P=P+1|0,(P|0)==(T|0)){E0=z,H0=Z0;break}else k=z,F=Z0}}else E0=Y0,H0=X0;if((W+-3|0)>>>0<2)if(X0=(W|0)==3?32768:45056,Y0=(Y|0)==0?X0:X0+6144|0,t)if((Q|0)==2){X0=0,F=E0,k=H0;while(!0)if(P=F+_&65535,y0=k+K&131071,j[$+(X0<<1)>>1]=(B(((k<<1&65534)>>>0>>0?-3071:3071)+((F|0)<(Y0|0)?-6143:6143)|0,O)|0)/3072|0,X0=X0+1|0,(X0|0)==(T|0)){D0=P,_0=y0,i=37;break}else F=P,k=y0}else{k=0,F=E0,X0=H0;while(!0)if(y0=F+_&65535,P=X0+K&131071,j[$+(k<<1)>>1]=(B(((X0&65535)>>>0>>0?-3071:3071)+((F|0)<(Y0|0)?-6143:6143)|0,O)|0)/3072|0,k=k+1|0,(k|0)==(T|0)){D0=y0,_0=P,i=37;break}else F=y0,X0=P}else F0=0,k0=E0,m0=H0;else D0=E0,_0=H0,i=37;Z:do if((i|0)==37){V:do if((W|0)==5&t){if(H0=(Q|0)==2&1,Y|0){E0=32768>>>H0,X0=0,F=D0,k=_0;while(!0){if(Y0=(F&16384|0)!=0,!(F&32768))B0=Y0?32768-F|0:F;else B0=((Y0?65536-F|0:F+-32768|0)<<1|0)/3|0;if(Y0=F+_&65535,P=k+K&131071,j[$+(X0<<1)>>1]=(B(B0+-8192+((k&E0|0)==0?-1535:1535)|0,O)|0)/3072|0,X0=X0+1|0,(X0|0)==(T|0)){g0=Y0,o0=P;break V}else F=Y0,k=P}}k=0,F=D0,X0=_0;while(!0){if(E0=(F&16384|0)!=0,!(F&32768))h0=E0?32768-F|0:F;else h0=((E0?65536-F|0:F+-32768|0)<<1|0)/3|0;if(E0=X0<>1]=(B(h0+-8192+((C0+-8192|0)/2|0)|0,O)|0)/3072|0,k=k+1|0,(k|0)==(T|0)){g0=P,o0=Y0;break}else F=P,X0=Y0}}else g0=D0,o0=_0;while(0);if((W|0)==6){if(X0=V+88|0,Z[X0>>2]|0?(F=64-(Z[V+32>>2]>>16)|0,k=(F|0)>1?F:1,F=(k|0)>63?(k<<2)+-192|0:k,t):0){k=V+44|0,H0=V+52|0,Y0=V+48|0,P=Z[k>>2]|0,E0=0;do{do if(P)if((Z[X0>>2]|0)>1){y0=(B(F-P|0,O)|0)/(F|0)|0,W0=(B(P,O)|0)/(F|0)|0,O0=B(Z[Y0>>2]|0,y0)|0,j[$+(E0<<1)>>1]=((B(Z[H0>>2]|0,W0)|0)+O0|0)/2048|0,u0=P;break}else{j[$+(E0<<1)>>1]=(B(Z[Y0>>2]|0,O)|0)/2048|0,u0=P;break}else Z[Y0>>2]=Z[H0>>2],Z[H0>>2]=(r8(12286)|0)+-6143,j[$+(E0<<1)>>1]=(B(Z[Y0>>2]|0,O)|0)/2048|0,u0=Z[k>>2]|0;while(0);P=(u0+1|0)%(F|0)|0,Z[k>>2]=P,E0=E0+1|0}while((E0|0)!=(T|0));if((Z[V>>2]|0)!=6){F0=t,k0=g0,m0=o0;break}}if(!(Z[V+88>>2]|0)){if((_|0)>78)p0=(_<<3)+1120|0;else p0=(B(79-_|0,-60)|0)+1752|0;if(E0=(p0|0)>0?p0:0,P=(Y|0)==0?Z[V+40>>2]|0:0,t){if(k=V+24|0,F=E0>>>1,Y0=V+20|0,H0=V+36|0,X0=(_+500|0)/3|0,!P){O0=0,W0=g0;while(!0){if(y0=Z[k>>2]&1^1,Z[k>>2]=y0,!y0)q0=Z[Y0>>2]|0;else y0=(r8(E0)|0)-F|0,u=y0+(Z[Y0>>2]|0)|0,Z[Y0>>2]=u,q0=u;if(u=Z[H0>>2]|0,y0=(2048/(((u|0)<48?64:u+16|0)|0)|0)+48|0,u=(q0|0)<6143?q0:6143,Z[Y0>>2]=(u|0)>-6143?u:-6143,j[$+(O0<<1)>>1]=(B(B(q0>>6,O)|0,(y0|0)>64?y0:64)|0)/2048|0,y0=W0+_&65535,O0=O0+1|0,(O0|0)==(T|0)){F0=t,k0=y0,m0=o0;break Z}else W0=y0}}W0=0,O0=g0;while(!0){if(y0=Z[k>>2]&1^1,Z[k>>2]=y0,y0|0)y0=(r8(E0)|0)-F|0,Z[Y0>>2]=y0+(Z[Y0>>2]|0);if(((B(O0+101|0,O0+317|0)|0)&8191|0)<(X0|0))y0=(B((r8(12286)|0)+-6143|0,P)|0)/1792|0,u=y0+(Z[Y0>>2]|0)|0,Z[Y0>>2]=u,i0=u;else i0=Z[Y0>>2]|0;if(u=Z[H0>>2]|0,y0=(2048/(((u|0)<48?64:u+16|0)|0)|0)+48|0,u=(i0|0)<6143?i0:6143,Z[Y0>>2]=(u|0)>-6143?u:-6143,j[$+(W0<<1)>>1]=(B(B(i0>>6,O)|0,(y0|0)>64?y0:64)|0)/2048|0,y0=O0+_&65535,W0=W0+1|0,(W0|0)==(T|0)){F0=t,k0=y0,m0=o0;break}else O0=y0}}else F0=0,k0=g0,m0=o0}else F0=t,k0=g0,m0=o0}else F0=t,k0=g0,m0=o0}while(0);if(Z[U>>2]=k0,Z[J>>2]=m0,m0=Z[V+92>>2]|0,(m0|0)<=0)return;if(V=(Z[X+11540>>2]|0)-((m0|0)==1?2:4)|0,(V|0)>-1)t0=V;else t0=8-((0-V|0)%8|0)|0;if(V=(t0|0)%8|0,!F0)return;F0=0;do t0=$+(F0<<1)|0,j[t0>>1]=((j[X+8610+(V*366|0)+(F0<<1)>>1]<<1)+(j[t0>>1]<<2)|0)/4|0,F0=F0+1|0;while((F0|0)!=(T|0));return}function bD(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0;if(T=V+8224|0,X=Z[T>>2]|0,Y=(X|0)==0,!Y?(Q=Z[X+8>>2]|0,W=(Q|0)>1?Q:1,Q=V+8228|0,U=Z[Q>>2]|0,S=(U|0)/(W|0)|0,J=U-(B(S,W)|0)|0,!(Y|S>>>0>31)):0){switch(Y=(Z[X+8>>2]|0)<9,_=X+20+(S*20|0)|0,K=Z[X+20+(S*20|0)+4>>2]|0,Z[$>>2]=K,P=Z[X+20+(S*20|0)+8>>2]|0,O=P<<8,L=$+28|0,Z[L>>2]=O,F=Z[_>>2]|0,z=F<<16,H=$+32|0,Z[H>>2]=z,Z[$+60>>2]=F,Z[$+64>>2]=K,Z[$+56>>2]=P,P=X+20+(S*20|0)+12|0,C=Z[P>>2]|0,C|0){case 1:{if((S|0)>0)A=Z[V+11652>>2]|0,y=Z[V+11660>>2]<<8;else A=24,y=O;k=W-J|0,m=((B(k<<16,A)|0)+(B(z,J)|0)|0)/(W|0)|0,Z[H>>2]=m,A=((B(y,k)|0)+(B(O,J)|0)|0)/(W|0)|0,Z[L>>2]=A,I=m,u=A,g=0;break}case 4:{A=(B(O,J)|0)/(W|0)|0,Z[L>>2]=A,I=z,u=A,g=1;break}case 5:{A=(B(O,W-J|0)|0)/(W|0)|0,Z[L>>2]=A,I=z,u=A,g=0;break}case 6:{A=Z[X+20+(((((U|0)/((Y?2:4)|0)|0|0)%4|0)+(S&28)|0)*20|0)>>2]<<16,Z[H>>2]=A,I=A,u=O,g=0;break}case 7:{A=Z[X+20+(((((U|0)/((Y?4:8)|0)|0|0)%4|0)+(S&28)|0)*20|0)>>2]<<16,Z[H>>2]=A,I=A,u=O,g=0;break}default:I=z,u=O,g=0}if(Z[$+36>>2]=F,Z[$+40>>2]=u,u=$+68|0,Z[u>>2]=0,O=$+72|0,Z[O>>2]=0,z=X+20+(S*20|0)+16|0,!(Z[z>>2]|0))Z[V+11732>>2]=0,i=I;else{do if(!J){if(I=V+11732|0,A=Z[V+8220>>2]|0,Y=(K|0)<7?K:7,U=(Y|0)>0?Y:0,Y=Z[A+16+(U*660|0)+16>>2]|0,m=Z[A+16+(U*660|0)+12>>2]|0,(Y|0)>(m|0))t=16777216;else k=Z[A+16+(U*660|0)+8>>2]|0,t=B((k|0)>1?k:1,(Y|0)==0&(m|0)>0?m:32)|0;if(m=(C|0)==3,(C|0)!=1&((S|0)==0?1:(F|0)!=(Z[V+11652>>2]|0))|(Z[I>>2]|0)>=(t|0)){if(!(g|m^1))Y0=19}else if(!(m|g))Y0=19;if((Y0|0)==19?(K|0)==(Z[V+11656>>2]|0):0)break;Z[I>>2]=0}while(0);eD(V,_,$),i=Z[H>>2]|0}if(_=Z[V+8240>>2]|0,K=1<<_+4,!(K&Z[768514]))X0=i;else g=i+-786432|0,Z[H>>2]=g,X0=g;if(g=X0&65535,H=X0>>16,i=((H+48|0)/12|0)+-4|0,(X0|0)>-1)T0=H;else T0=12-((0-H|0)%12|0)|0;if(H=(T0|0)%12|0,T0=B(Z[30016+(H<<2)>>2]|0,65536-g|0)|0,t=((B(Z[30016+(H+1<<2)>>2]|0,g)|0)+T0|0)/22050|0,(X0|0)<2359296){X0=t,T0=i;while(!0)if(g=T0+1|0,H=(X0|0)/2|0,(T0|0)<2)X0=H,T0=g;else{Z0=H,W0=g;break}}else Z0=t,W0=i;if((W0|0)>3){i=Z0,t=W0;while(!0)if(W0=i<<1,(t|0)>4)i=W0,t=t+-1|0;else{O0=W0;break}}else O0=Z0;Z0=(O0|0)<32768?O0:32768,O0=(Z0|0)>8?Z0:8,Z0=$+8|0,Z[Z0>>2]=O0,t=Z[P>>2]|0,P=Z[u>>2]|0,u=(P|0)==2;Z:do if((t|0)==2)if(u)switch((Z[Q>>2]|0)>>>1&7){case 1:{i=(O0*130|0)>>>7,Z[Z0>>2]=i,y0=i;break Z}case 2:{i=(O0*132|0)>>>7,Z[Z0>>2]=i,y0=i;break Z}case 3:{i=(O0*130|0)>>>7,Z[Z0>>2]=i,y0=i;break Z}case 5:{i=(O0*126|0)>>>7,Z[Z0>>2]=i,y0=i;break Z}case 6:{i=(O0*124|0)>>>7,Z[Z0>>2]=i,y0=i;break Z}case 7:{i=(O0*126|0)>>>7,Z[Z0>>2]=i,y0=i;break Z}default:{y0=O0;break Z}}else Y0=43;else if(u)Y0=43;else E0=O0,Y0=50;while(0);Z:do if((Y0|0)==43)switch((Z[Q>>2]|0)>>>1&7){case 1:{u=(O0*129|0)>>>7,Z[Z0>>2]=u,E0=u,Y0=50;break Z}case 2:{u=(O0*130|0)>>>7,Z[Z0>>2]=u,E0=u,Y0=50;break Z}case 3:{u=(O0*129|0)>>>7,Z[Z0>>2]=u,E0=u,Y0=50;break Z}case 5:{u=(O0*127|0)>>>7,Z[Z0>>2]=u,E0=u,Y0=50;break Z}case 6:{u=(O0*126|0)>>>7,Z[Z0>>2]=u,E0=u,Y0=50;break Z}case 7:{u=(O0*127|0)>>>7,Z[Z0>>2]=u,E0=u,Y0=50;break Z}default:{E0=O0,Y0=50;break Z}}while(0);if((Y0|0)==50){if((t|0)==3&(Z[z>>2]|0)==0)z=(B(E0,W-J|0)|0)/(W|0)|0,Z[Z0>>2]=z,H0=z;else H0=E0;if((P|0)==3)P=(B(Z[$+76>>2]|0,H0)|0)/256|0,Z[Z0>>2]=P,y0=P;else y0=H0}if(Z[V+11548>>2]|0)H0=(B(Z[545818]>>8,Z[L>>2]|0)|0)/256|0,Z[L>>2]=(B(H0,Z[543940]|0)|0)/256|0;H0=Z[X>>2]|0,X=(H0>>3|0)%3|0,P=H0>>>2&1,Z0=Z[O>>2]|0,O=(Z0>>3|0)%3|0,E0=(X|0)>(O|0)?X:O,Z[$+80>>2]=E0,O=Z0>>>2&1,Z[$+84>>2]=P>>>0>O>>>0?P:O,O=H0>>>1&1,H0=$+88|0,P=Z0>>>1&1,Z0=O>>>0>P>>>0?O:P,Z[H0>>2]=Z0,P=Z[$>>2]|0;Z:do if((P|0)!=6|(Z0|0)==0){O=(E0|0)==0,X=$+16|0,Z[X>>2]=(B(y0,O?256:255)|0)/256|0;V:do switch(P|0){case 0:{switch(E0|0){case 1:{Z[X>>2]=(y0*193|0)/256|0;break V}case 2:{Z[X>>2]=(y0*384|0)/256|0;break V}default:break V}break}case 7:{if(O){Z[X>>2]=(y0*254|0)/256|0;break Z}switch(E0|0){case 1:{Z[X>>2]=(y0*250|0)/256|0;break Z}case 2:{Z[X>>2]=(y0*508|0)/256|0;break Z}default:break Z}break}default:}while(0);if(P>>>0<6&(E0|0)>0)Z[L>>2]=((Z[L>>2]|0)*5|0)/4|0}else{if(X=V+11740|0,(Z[X>>2]|0)>11)Z[H0>>2]=2,Z[X>>2]=0;Z[$+16>>2]=(B(y0,(E0|0)==0?256:255)|0)/256|0}while(0);if(E0=Z[T>>2]|0,!E0)D0=0;else D0=((Z[E0>>2]>>3|0)/3|0|0)%3|0;if(E0=$+92|0,T=((Z[V+11628>>2]>>3|0)/3|0|0)%3|0,V=(D0|0)>(T|0)?D0:T,Z[E0>>2]=V,T=Z[768515]|0,!(T&K))_0=V;else K=(V|0)>1?V:1,Z[E0>>2]=K,_0=K;if(!(T&1<<_))return;Z[E0>>2]=(_0|0)>2?_0:2;return}Z[$+28>>2]=0,Z[$>>2]=0,Z[$+8>>2]=0;return}function FX(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0;if(T=Z[$>>2]|0,X=T>>>0<64,X?(Y=Z[V+16+(T*660|0)+16>>2]|0,Q=Z[V+16+(T*660|0)+12>>2]|0,(Y|0)<=(Q|0)):0)W=T,U=Y,S=Q;else J=4;do if((J|0)==4){if(Q=Z[$+4>>2]|0,Y=Q>>>0<64,Y?(_=Z[V+16+(Q*660|0)+16>>2]|0,K=Z[V+16+(Q*660|0)+12>>2]|0,(_|0)<=(K|0)):0){W=Q,U=_,S=K;break}if(K=Z[$+8>>2]|0,_=K>>>0<64,_?(P=Z[V+16+(K*660|0)+16>>2]|0,O=Z[V+16+(K*660|0)+12>>2]|0,(P|0)<=(O|0)):0){W=K,U=P,S=O;break}if(O=Z[$+12>>2]|0,P=O>>>0<64,P?(L=Z[V+16+(O*660|0)+16>>2]|0,F=Z[V+16+(O*660|0)+12>>2]|0,(L|0)<=(F|0)):0){W=O,U=L,S=F;break}if(X){if(F=Z[V+16+(T*660|0)+8>>2]|0,L=(F|0)>1?F:1,F=(Z[V+16+(T*660|0)+16>>2]|0)==0,F?(z=Z[V+16+(T*660|0)+12>>2]|0,(z|0)>0):0)H=z;else H=32;if((B(H,L)|0)>=0){if(F?(F=Z[V+16+(T*660|0)+12>>2]|0,(F|0)>0):0)C=F;else C=32;A=B(C,L)|0}else A=0}else A=0;if(Y){if(Y=Z[V+16+(Q*660|0)+8>>2]|0,L=(Y|0)>1?Y:1,Y=(Z[V+16+(Q*660|0)+16>>2]|0)==0,Y?(F=Z[V+16+(Q*660|0)+12>>2]|0,(F|0)>0):0)y=F;else y=32;if((A|0)<=(B(y,L)|0)){if(Y?(Y=Z[V+16+(Q*660|0)+12>>2]|0,(Y|0)>0):0)k=Y;else k=32;m=B(k,L)|0}else m=A}else m=A;if(_){if(_=Z[V+16+(K*660|0)+8>>2]|0,L=(_|0)>1?_:1,_=(Z[V+16+(K*660|0)+16>>2]|0)==0,_?(Y=Z[V+16+(K*660|0)+12>>2]|0,(Y|0)>0):0)I=Y;else I=32;if((m|0)<=(B(I,L)|0)){if(_?(_=Z[V+16+(K*660|0)+12>>2]|0,(_|0)>0):0)u=_;else u=32;g=B(u,L)|0}else g=m}else g=m;if(!P)return i=g,i|0;if(P=Z[V+16+(O*660|0)+8>>2]|0,L=(P|0)>1?P:1,P=(Z[V+16+(O*660|0)+16>>2]|0)==0,P?(_=Z[V+16+(O*660|0)+12>>2]|0,(_|0)>0):0)t=_;else t=32;if((g|0)>(B(t,L)|0))return i=g,i|0;if(P?(P=Z[V+16+(O*660|0)+12>>2]|0,(P|0)>0):0)Y0=P;else Y0=32;return i=B(Y0,L)|0,i|0}while(0);return Y0=Z[V+16+(W*660|0)+8>>2]|0,i=B((U|0)==0&(S|0)>0?S:32,(Y0|0)>1?Y0:1)|0,i|0}function eD(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0;if(X=Z[V+8220>>2]|0,!X)return;if(Y=Z[$+4>>2]|0,$=(Y|0)<7?Y:7,Y=($|0)>0?$:0,$=Z[X+16+(Y*660|0)+8>>2]|0,Q=($|0)>1?$:1,W=($|0)<9,$=W?4:8,U=W?2:4,W=Z[X+16+(Y*660|0)+16>>2]|0,S=Z[X+16+(Y*660|0)+12>>2]|0,J=V+11732|0,_=Z[J>>2]|0,(W|0)<=(S|0)|(_|0)<(B(Q,W)|0))K=_;else _=B(S,Q)|0,Z[J>>2]=_,K=_;if(_=(K|0)/(Q|0)|0,J=K-(B(_,Q)|0)|0,(_|0)<=31?(_|0)<(((W|0)==0&(S|0)>0?S:32)|0):0){if(S=(_|0)<31?_:31,W=(S|0)>0?S:0,S=X+16+(Y*660|0)+20+(W*20|0)|0,P=Z[S>>2]|0,O=P<<16,L=X+16+(Y*660|0)+20+(W*20|0)+8|0,F=Z[L>>2]|0,z=F<<8,(J|0)==(Q+-1|0))Z[V+11672>>2]=P,Z[V+11680>>2]=F,Z[V+11676>>2]=Z[X+16+(Y*660|0)+20+(W*20|0)+4>>2];switch(F=Z[X+16+(Y*660|0)+20+(W*20|0)+12>>2]|0,F|0){case 1:{if((_|0)>0)H=Z[V+11672>>2]<<16,C=Z[V+11680>>2]<<8;else H=1572864,C=z;V=Q-J|0,A=((B(H,V)|0)+(B(J<<16,Z[S>>2]|0)|0)|0)/(Q|0)|0,y=((B(C,V)|0)+(B(z,J)|0)|0)/(Q|0)|0;break}case 3:{Z[T+76>>2]=(Q-J<<8|0)/(Q|0)|0,A=O,y=z;break}case 4:{A=O,y=(B(z,J)|0)/(Q|0)|0;break}case 5:{A=O,y=(B(z,Q-J|0)|0)/(Q|0)|0;break}case 6:{A=Z[X+16+(Y*660|0)+20+(((((K|0)/(U|0)|0|0)%4|0)+(_&28)|0)*20|0)>>2]<<16,y=z;break}case 7:{A=Z[X+16+(Y*660|0)+20+(((((K|0)/($|0)|0|0)%4|0)+(_&28)|0)*20|0)>>2]<<16,y=z;break}default:A=O,y=z}Z[T>>2]=Z[X+16+(Y*660|0)+20+(W*20|0)+4>>2],W=T+32|0,Z[W>>2]=A+-1572864+(Z[W>>2]|0),W=T+36|0,Z[W>>2]=(Z[S>>2]|0)+-24+(Z[W>>2]|0),W=Z[L>>2]|0,Z[T+40>>2]=(y*7|0)/(((W|0)>1?W:1)|0)|0,W=T+28|0,Z[W>>2]=(B(Z[W>>2]|0,y)|0)/1792|0,Z[T+68>>2]=F,Z[T+72>>2]=Z[X+16+(Y*660|0)>>2];return}Z[T+28>>2]=0,Z[T>>2]=0;return}function DQ(){e9();return}function EX(){I7();return}function aD(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0;if(T=q,q=q+16|0,X=T,C1(1716192,0,8192),Z[545820]=0,C1(2708888,0,212736),Z[X>>2]=Z[543952],a6(1703776,95515,X)|0,s1(1703776),Z[543976]|0)return Y=0,q=T,Y|0;if(Z[543667]=V,Z[543668]=$,X=Bz(V,$)|0,!X)return Y=0,q=T,Y|0;return Z[543667]=0,Z[543668]=0,Y=X,q=T,Y|0}function cD(){return Cz()|0}function Zz(V){V=V|0,Z[730413]=V;return}function Vz(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0;if(T=B2(40)|0,!T)return X=0,X|0;return Z[T>>2]=V,Z[T+8>>2]=22050,Z[T+4>>2]=$,Z[T+12>>2]=1,Z[T+28>>2]=0,Z[T+32>>2]=256,Y=B2(B(($|0)/8|0,V)|0)|0,Z[T+16>>2]=Y,Z[T+20>>2]=Y,Z[T+36>>2]=-1,Z[543502]=(Z[543502]|0)+1,X=T,X|0}function _R(V){V=V|0;var $=0,T=0,X=0;if(!V)return;e9(),$6(Z[V+16>>2]|0),$6(V),Z[543502]=(Z[543502]|0)+-1,I7();return}function $z(V){V=V|0;var $=0,T=0,X=0;if(!((V|0)!=0&!1))return;if(e9(),$=V+36|0,T=Z[$>>2]|0,T>>>0<16?(X=2708888+(T*13296|0)+8208|0,(Z[X>>2]|0)==(V|0)):0)Z[2708888+(T*13296|0)+11548>>2]=0,Z[X>>2]=0,Z[2708888+(T*13296|0)+8236>>2]=0,Z[2708888+(T*13296|0)+8232>>2]=0,X=2708888+(T*13296|0)+8220|0,Z[X>>2]=0,Z[X+4>>2]=0,Z[$>>2]=-1;I7();return}function R$(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0;e9(),Q=(T|0)==0?-1:T;Z:do if((Y+1|0)>>>0<=16){if(!V){if((Y|0)!=-1){Z[2708888+(Y*13296|0)+11548>>2]=0,Z[2708888+(Y*13296|0)+8208>>2]=0,Z[2708888+(Y*13296|0)+8236>>2]=0,Z[2708888+(Y*13296|0)+8232>>2]=0,T=2708888+(Y*13296|0)+8220|0,Z[T>>2]=0,Z[T+4>>2]=0;break}T=(Z[543959]|0)==0?16:4,W=0;while(!0)if(Z[2708888+(W*13296|0)+11548>>2]=0,Z[2708888+(W*13296|0)+8208>>2]=0,Z[2708888+(W*13296|0)+8236>>2]=0,Z[2708888+(W*13296|0)+8232>>2]=0,U=2708888+(W*13296|0)+8220|0,Z[U>>2]=0,Z[U+4>>2]=0,W=W+1|0,W>>>0>=T>>>0)break Z}T=(Y|0)==-1;do if(!(Z[543959]|0))if(T)if(!((Z[705866]|0)==0&(Z[705870]|0)==0&(Z[706701]|0)==0))if(!((Z[709190]|0)==0&(Z[709194]|0)==0&(Z[710025]|0)==0))if(!((Z[712514]|0)==0&(Z[712518]|0)==0&(Z[713349]|0)==0))if(!((Z[715838]|0)==0&(Z[715842]|0)==0&(Z[716673]|0)==0))if(!((Z[719162]|0)==0&(Z[719166]|0)==0&(Z[719997]|0)==0))if(!((Z[722486]|0)==0&(Z[722490]|0)==0&(Z[723321]|0)==0))if(!((Z[725810]|0)==0&(Z[725814]|0)==0&(Z[726645]|0)==0))if((Z[729134]|0)==0&(Z[729138]|0)==0&(Z[729969]|0)==0)S=15;else{if(W=Z[705870]|0,(W|0)!=0&(Z[706701]|0)==0)J=8,_=Z[W+8>>2]|0;else J=-1,_=256;if(W=Z[709194]|0,(W|0)!=0&(Z[710025]|0)==0)U=Z[W+8>>2]|0,W=(J|0)==-1|(U|0)<(_|0),K=W?9:J,P=W?U:_;else K=J,P=_;if(U=Z[712518]|0,(U|0)!=0&(Z[713349]|0)==0)W=Z[U+8>>2]|0,U=(K|0)==-1|(W|0)<(P|0),O=U?10:K,L=U?W:P;else O=K,L=P;if(W=Z[715842]|0,(W|0)!=0&(Z[716673]|0)==0)U=Z[W+8>>2]|0,W=(O|0)==-1|(U|0)<(L|0),F=W?11:O,z=W?U:L;else F=O,z=L;if(U=Z[719166]|0,(U|0)!=0&(Z[719997]|0)==0)W=Z[U+8>>2]|0,U=(F|0)==-1|(W|0)<(z|0),H=U?12:F,C=U?W:z;else H=F,C=z;if(W=Z[722490]|0,(W|0)!=0&(Z[723321]|0)==0)U=Z[W+8>>2]|0,W=(H|0)==-1|(U|0)<(C|0),A=W?13:H,y=W?U:C;else A=H,y=C;if(U=Z[725814]|0,(U|0)!=0&(Z[726645]|0)==0)W=Z[U+8>>2]|0,U=(A|0)==-1|(W|0)<(y|0),k=U?14:A,m=U?W:y;else k=A,m=y;if(W=Z[729138]|0,!((W|0)!=0&(Z[729969]|0)==0)){I=k,u=26;break}if((k|0)!=-1?(Z[W+8>>2]|0)>=(m|0):0){S=k;break}S=15}else S=14;else S=13;else S=12;else S=11;else S=10;else S=9;else S=8;else S=Y;else if(T)if(W=(Z[679274]|0)==0,!(W&(Z[679278]|0)==0&(Z[680109]|0)==0&(Z[692570]|0)==0&(Z[692574]|0)==0&(Z[693405]|0)==0))if(U=(Z[682598]|0)==0,!(U&(Z[682602]|0)==0&(Z[683433]|0)==0&(Z[695894]|0)==0&(Z[695898]|0)==0&(Z[696729]|0)==0))if(g=(Z[685922]|0)==0,!(g&(Z[685926]|0)==0&(Z[686757]|0)==0&(Z[699218]|0)==0&(Z[699222]|0)==0&(Z[700053]|0)==0))if(i=(Z[689246]|0)==0,!(i&(Z[689250]|0)==0&(Z[690081]|0)==0&(Z[702542]|0)==0&(Z[702546]|0)==0&(Z[703377]|0)==0))if(t=Z[768513]|0,!(W&(Z[679278]|0)==0&(Z[680109]|0)==0&(Z[692570]|0)==0&(Z[692574]|0)==0&(t&1|0)==0))if(!(U&(Z[682602]|0)==0&(Z[683433]|0)==0&(Z[695894]|0)==0&(Z[695898]|0)==0&(t&2|0)==0))if(!(g&(Z[685926]|0)==0&(Z[686757]|0)==0&(Z[699218]|0)==0&(Z[699222]|0)==0&(t&4|0)==0))if(!(i&(Z[689250]|0)==0&(Z[690081]|0)==0&(Z[702542]|0)==0&(Z[702546]|0)==0&(t&8|0)==0))if(!((Z[680109]|t&1|0)==0&(W&(Z[679278]|0)==0)))if(!((Z[683433]|t&2|0)==0&(U&(Z[682602]|0)==0)))if(!((Z[686757]|t&4|0)==0&(g&(Z[685926]|0)==0)))if((Z[690081]|t&8|0)==0&(i&(Z[689250]|0)==0))S=3;else{if((t&1|0)!=0?!((Z[692570]|0)==0&(Z[692574]|0)==0&(Z[693405]|0)==0):0)Y0=-1,X0=256;else u=17;do if((u|0)==17){if(i=Z[679278]|0,!i){Y0=-1,X0=256;break}Y0=0,X0=Z[i+8>>2]|0}while(0);if((t&2|0)!=0?!((Z[695894]|0)==0&(Z[695898]|0)==0&(Z[696729]|0)==0):0)T0=Y0,Z0=X0;else u=52;do if((u|0)==52){if(i=Z[682602]|0,!i){T0=Y0,Z0=X0;break}g=(Y0|0)!=-1,U=Z[i+8>>2]|0,i=(U|0)>(X0|0),T0=(g&i^1)&1,Z0=g&i?X0:U}while(0);if((t&4|0)!=0?!((Z[699218]|0)==0&(Z[699222]|0)==0&(Z[700053]|0)==0):0)W0=T0,O0=Z0;else u=56;do if((u|0)==56){if(U=Z[685926]|0,!U){W0=T0,O0=Z0;break}i=Z[U+8>>2]|0,U=(T0|0)!=-1&(i|0)>(Z0|0),W0=U?T0:2,O0=U?Z0:i}while(0);if(t&8|0?!((Z[702542]|0)==0&(Z[702546]|0)==0&(Z[703377]|0)==0):0){I=W0,u=26;break}if(i=Z[689250]|0,!i){I=W0,u=26;break}if((W0|0)!=-1?(Z[i+8>>2]|0)>(O0|0):0){S=W0;break}S=3}else S=2;else S=1;else S=0;else S=3;else S=2;else S=1;else S=0;else S=3;else S=2;else S=1;else S=0;else S=Y;while(0);if((u|0)==26)if(I>>>0>15)break;else S=I;return T=Z[V+8>>2]|0,i=(T|0)>1?T:1,Z[2708888+(S*13296|0)+8224>>2]=V,Z[2708888+(S*13296|0)+8240>>2]=S&3,Z[2708888+(S*13296|0)+8228>>2]=B(i,$)|0,Z[2708888+(S*13296|0)+8232>>2]=0,Z[2708888+(S*13296|0)+11744>>2]=B(i,Q)|0,Z[2708888+(S*13296|0)+8220>>2]=X,Z[2708888+(S*13296|0)+11548>>2]=0,Z[2708888+(S*13296|0)+8236>>2]=1,I7(),y0=S,y0|0}while(0);return I7(),y0=-1,y0|0}function KR(V,$){V=V|0,$=$|0;var T=0,X=0;q2(V),T=Z[V+16>>2]|0,X=Z[V+12>>2]|0,R$(V,0,(T|0)>(X|0)?-1:(T|0)==0&(X|0)>0?X:32,$,-1)|0;return}function q2(V){V=V|0;var $=0;if(e9(),!V){if(!(Z[680109]|0))Z[680109]=0,Z[679274]=0,Z[679281]=0,Z[679280]=0,$=2717108,Z[$>>2]=0,Z[$+4>>2]=0;if(!(Z[683433]|0))Z[683433]=0,Z[682598]=0,Z[682605]=0,Z[682604]=0,$=2730404,Z[$>>2]=0,Z[$+4>>2]=0;if(!(Z[686757]|0))Z[686757]=0,Z[685922]=0,Z[685929]=0,Z[685928]=0,$=2743700,Z[$>>2]=0,Z[$+4>>2]=0;if(!(Z[690081]|0))Z[690081]=0,Z[689246]=0,Z[689253]=0,Z[689252]=0,$=2756996,Z[$>>2]=0,Z[$+4>>2]=0;if(!(Z[693405]|0))Z[693405]=0,Z[692570]=0,Z[692577]=0,Z[692576]=0,$=2770292,Z[$>>2]=0,Z[$+4>>2]=0;if(!(Z[696729]|0))Z[696729]=0,Z[695894]=0,Z[695901]=0,Z[695900]=0,$=2783588,Z[$>>2]=0,Z[$+4>>2]=0;if(!(Z[700053]|0))Z[700053]=0,Z[699218]=0,Z[699225]=0,Z[699224]=0,$=2796884,Z[$>>2]=0,Z[$+4>>2]=0;if(!(Z[703377]|0))Z[703377]=0,Z[702542]=0,Z[702549]=0,Z[702548]=0,$=2810180,Z[$>>2]=0,Z[$+4>>2]=0;if(!(Z[706701]|0))Z[706701]=0,Z[705866]=0,Z[705873]=0,Z[705872]=0,$=2823476,Z[$>>2]=0,Z[$+4>>2]=0;if(!(Z[710025]|0))Z[710025]=0,Z[709190]=0,Z[709197]=0,Z[709196]=0,$=2836772,Z[$>>2]=0,Z[$+4>>2]=0;if(!(Z[713349]|0))Z[713349]=0,Z[712514]=0,Z[712521]=0,Z[712520]=0,$=2850068,Z[$>>2]=0,Z[$+4>>2]=0;if(!(Z[716673]|0))Z[716673]=0,Z[715838]=0,Z[715845]=0,Z[715844]=0,$=2863364,Z[$>>2]=0,Z[$+4>>2]=0;if(!(Z[719997]|0))Z[719997]=0,Z[719162]=0,Z[719169]=0,Z[719168]=0,$=2876660,Z[$>>2]=0,Z[$+4>>2]=0;if(!(Z[723321]|0))Z[723321]=0,Z[722486]=0,Z[722493]=0,Z[722492]=0,$=2889956,Z[$>>2]=0,Z[$+4>>2]=0;if(!(Z[726645]|0))Z[726645]=0,Z[725810]=0,Z[725817]=0,Z[725816]=0,$=2903252,Z[$>>2]=0,Z[$+4>>2]=0;if(Z[729969]|0){I7();return}Z[729969]=0,Z[729134]=0,Z[729141]=0,Z[729140]=0,$=2916548,Z[$>>2]=0,Z[$+4>>2]=0,I7();return}else{if((Z[679278]|0)==(V|0))Z[680109]=0,Z[679274]=0,Z[679281]=0,Z[679280]=0,$=2717108,Z[$>>2]=0,Z[$+4>>2]=0;if((Z[682602]|0)==(V|0))Z[683433]=0,Z[682598]=0,Z[682605]=0,Z[682604]=0,$=2730404,Z[$>>2]=0,Z[$+4>>2]=0;if((Z[685926]|0)==(V|0))Z[686757]=0,Z[685922]=0,Z[685929]=0,Z[685928]=0,$=2743700,Z[$>>2]=0,Z[$+4>>2]=0;if((Z[689250]|0)==(V|0))Z[690081]=0,Z[689246]=0,Z[689253]=0,Z[689252]=0,$=2756996,Z[$>>2]=0,Z[$+4>>2]=0;if((Z[692574]|0)==(V|0))Z[693405]=0,Z[692570]=0,Z[692577]=0,Z[692576]=0,$=2770292,Z[$>>2]=0,Z[$+4>>2]=0;if((Z[695898]|0)==(V|0))Z[696729]=0,Z[695894]=0,Z[695901]=0,Z[695900]=0,$=2783588,Z[$>>2]=0,Z[$+4>>2]=0;if((Z[699222]|0)==(V|0))Z[700053]=0,Z[699218]=0,Z[699225]=0,Z[699224]=0,$=2796884,Z[$>>2]=0,Z[$+4>>2]=0;if((Z[702546]|0)==(V|0))Z[703377]=0,Z[702542]=0,Z[702549]=0,Z[702548]=0,$=2810180,Z[$>>2]=0,Z[$+4>>2]=0;if((Z[705870]|0)==(V|0))Z[706701]=0,Z[705866]=0,Z[705873]=0,Z[705872]=0,$=2823476,Z[$>>2]=0,Z[$+4>>2]=0;if((Z[709194]|0)==(V|0))Z[710025]=0,Z[709190]=0,Z[709197]=0,Z[709196]=0,$=2836772,Z[$>>2]=0,Z[$+4>>2]=0;if((Z[712518]|0)==(V|0))Z[713349]=0,Z[712514]=0,Z[712521]=0,Z[712520]=0,$=2850068,Z[$>>2]=0,Z[$+4>>2]=0;if((Z[715842]|0)==(V|0))Z[716673]=0,Z[715838]=0,Z[715845]=0,Z[715844]=0,$=2863364,Z[$>>2]=0,Z[$+4>>2]=0;if((Z[719166]|0)==(V|0))Z[719997]=0,Z[719162]=0,Z[719169]=0,Z[719168]=0,$=2876660,Z[$>>2]=0,Z[$+4>>2]=0;if((Z[722490]|0)==(V|0))Z[723321]=0,Z[722486]=0,Z[722493]=0,Z[722492]=0,$=2889956,Z[$>>2]=0,Z[$+4>>2]=0;if((Z[725814]|0)==(V|0))Z[726645]=0,Z[725810]=0,Z[725817]=0,Z[725816]=0,$=2903252,Z[$>>2]=0,Z[$+4>>2]=0;if((Z[729138]|0)!=(V|0)){I7();return}Z[729969]=0,Z[729134]=0,Z[729141]=0,Z[729140]=0,V=2916548,Z[V>>2]=0,Z[V+4>>2]=0,I7();return}}function Tz(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;e9(),$=(Z[680109]|0)==0;do if(!V)if($|(Z[679277]|0)==0)if((Z[683433]|0)==0|(Z[682601]|0)==0)if((Z[686757]|0)==0|(Z[685925]|0)==0)if((Z[690081]|0)==0|(Z[689249]|0)==0)if((Z[693405]|0)==0|(Z[692573]|0)==0)if((Z[696729]|0)==0|(Z[695897]|0)==0)if((Z[700053]|0)==0|(Z[699221]|0)==0)if((Z[703377]|0)==0|(Z[702545]|0)==0)if((Z[706701]|0)==0|(Z[705869]|0)==0)if((Z[710025]|0)==0|(Z[709193]|0)==0)if((Z[713349]|0)==0|(Z[712517]|0)==0)if((Z[716673]|0)==0|(Z[715841]|0)==0)if((Z[719997]|0)==0|(Z[719165]|0)==0)if((Z[723321]|0)==0|(Z[722489]|0)==0)if((Z[726645]|0)==0|(Z[725813]|0)==0)if((Z[729969]|0)==0|(Z[729137]|0)==0)T=8;else X=15,T=6;else X=14,T=6;else X=13,T=6;else X=12,T=6;else X=11,T=6;else X=10,T=6;else X=9,T=6;else X=8,T=6;else X=7,T=6;else X=6,T=6;else X=5,T=6;else X=4,T=6;else X=3,T=6;else X=2,T=6;else X=1,T=6;else X=0,T=6;else{if(!$?(Y=Z[679277]|0,(Y|0)!=0&(Y|0)==(V|0)):0){X=0,T=6;break}if(Z[683433]|0?(Y=Z[682601]|0,(Y|0)!=0&(Y|0)==(V|0)):0){X=1,T=6;break}if(Z[686757]|0?(Y=Z[685925]|0,(Y|0)!=0&(Y|0)==(V|0)):0){X=2,T=6;break}if(Z[690081]|0?(Y=Z[689249]|0,(Y|0)!=0&(Y|0)==(V|0)):0){X=3,T=6;break}if(Z[693405]|0?(Y=Z[692573]|0,(Y|0)!=0&(Y|0)==(V|0)):0){X=4,T=6;break}if(Z[696729]|0?(Y=Z[695897]|0,(Y|0)!=0&(Y|0)==(V|0)):0){X=5,T=6;break}if(Z[700053]|0?(Y=Z[699221]|0,(Y|0)!=0&(Y|0)==(V|0)):0){X=6,T=6;break}if(Z[703377]|0?(Y=Z[702545]|0,(Y|0)!=0&(Y|0)==(V|0)):0){X=7,T=6;break}if(Z[706701]|0?(Y=Z[705869]|0,(Y|0)!=0&(Y|0)==(V|0)):0){X=8,T=6;break}if(Z[710025]|0?(Y=Z[709193]|0,(Y|0)!=0&(Y|0)==(V|0)):0){X=9,T=6;break}if(Z[713349]|0?(Y=Z[712517]|0,(Y|0)!=0&(Y|0)==(V|0)):0){X=10,T=6;break}if(Z[716673]|0?(Y=Z[715841]|0,(Y|0)!=0&(Y|0)==(V|0)):0){X=11,T=6;break}if(Z[719997]|0?(Y=Z[719165]|0,(Y|0)!=0&(Y|0)==(V|0)):0){X=12,T=6;break}if(Z[723321]|0?(Y=Z[722489]|0,(Y|0)!=0&(Y|0)==(V|0)):0){X=13,T=6;break}if(Z[726645]|0?(Y=Z[725813]|0,(Y|0)!=0&(Y|0)==(V|0)):0){X=14,T=6;break}if((Z[729969]|0)!=0?(Y=Z[729137]|0,(Y|0)!=0&(Y|0)==(V|0)):0)X=15,T=6;else T=8}while(0);if((T|0)==6)return I7(),Q=Z[2708888+(X*13296|0)+11552>>2]|0,Q|0;else if((T|0)==8)return I7(),Q=-1,Q|0;return 0}function Xz(V){V=V|0;var $=0,T=0,X=0;if(e9(),(Z[679278]|0)!=(V|0))if((Z[682602]|0)!=(V|0))if((Z[685926]|0)!=(V|0))if((Z[689250]|0)!=(V|0))if((Z[692574]|0)!=(V|0))if((Z[695898]|0)!=(V|0))if((Z[699222]|0)!=(V|0))if((Z[702546]|0)!=(V|0))if((Z[705870]|0)!=(V|0))if((Z[709194]|0)!=(V|0))if((Z[712518]|0)!=(V|0))if((Z[715842]|0)!=(V|0))if((Z[719166]|0)!=(V|0))if((Z[722490]|0)!=(V|0))if((Z[725814]|0)!=(V|0))if((Z[729138]|0)==(V|0))$=15;else return I7(),T=-1,T|0;else $=14;else $=13;else $=12;else $=11;else $=10;else $=9;else $=8;else $=7;else $=6;else $=5;else $=4;else $=3;else $=2;else $=1;else $=0;return X=Z[V+8>>2]|0,V=(Z[2708888+($*13296|0)+8228>>2]|0)/(((X|0)>1?X:1)|0)|0,I7(),T=V,T|0}function p9(V){V=V|0;var $=0;return e9(),$=Z[2708888+(V*13296|0)+8224>>2]|0,I7(),$|0}function Yz(V){V=V|0;var $=0;if((V+1|0)>>>0>16)return;if(e9(),(V|0)==-1)Z[679281]=0,Z[682605]=0,Z[685929]=0,Z[689253]=0,Z[692577]=0,Z[695901]=0,Z[699225]=0,Z[702549]=0,Z[705873]=0,Z[709197]=0,Z[712521]=0,Z[715845]=0,Z[719169]=0,Z[722493]=0,Z[725817]=0,$=2916564;else $=2708888+(V*13296|0)+8236|0;Z[$>>2]=0,I7();return}function UY(V){V=V|0;var $=0,T=0,X=0,Y=0;if(e9(),V|0){$=0;do{if(T=2708888+($*13296|0)+11548|0,Z[T>>2]|0?(X=2708888+($*13296|0)+8220|0,Y=Z[X>>2]|0,(Y|0)!=0&(Y|0)==(V|0)):0)Z[T>>2]=0,Z[2708888+($*13296|0)+8208>>2]=0,Z[2708888+($*13296|0)+8236>>2]=0,Z[2708888+($*13296|0)+8232>>2]=0,T=X,Z[T>>2]=0,Z[T+4>>2]=0;$=$+1|0}while(($|0)!=16);I7();return}if(Z[680109]|0)Z[680109]=0,Z[679274]=0,Z[679281]=0,Z[679280]=0,$=2717108,Z[$>>2]=0,Z[$+4>>2]=0;if(Z[683433]|0)Z[683433]=0,Z[682598]=0,Z[682605]=0,Z[682604]=0,$=2730404,Z[$>>2]=0,Z[$+4>>2]=0;if(Z[686757]|0)Z[686757]=0,Z[685922]=0,Z[685929]=0,Z[685928]=0,$=2743700,Z[$>>2]=0,Z[$+4>>2]=0;if(Z[690081]|0)Z[690081]=0,Z[689246]=0,Z[689253]=0,Z[689252]=0,$=2756996,Z[$>>2]=0,Z[$+4>>2]=0;if(Z[693405]|0)Z[693405]=0,Z[692570]=0,Z[692577]=0,Z[692576]=0,$=2770292,Z[$>>2]=0,Z[$+4>>2]=0;if(Z[696729]|0)Z[696729]=0,Z[695894]=0,Z[695901]=0,Z[695900]=0,$=2783588,Z[$>>2]=0,Z[$+4>>2]=0;if(Z[700053]|0)Z[700053]=0,Z[699218]=0,Z[699225]=0,Z[699224]=0,$=2796884,Z[$>>2]=0,Z[$+4>>2]=0;if(Z[703377]|0)Z[703377]=0,Z[702542]=0,Z[702549]=0,Z[702548]=0,$=2810180,Z[$>>2]=0,Z[$+4>>2]=0;if(Z[706701]|0)Z[706701]=0,Z[705866]=0,Z[705873]=0,Z[705872]=0,$=2823476,Z[$>>2]=0,Z[$+4>>2]=0;if(Z[710025]|0)Z[710025]=0,Z[709190]=0,Z[709197]=0,Z[709196]=0,$=2836772,Z[$>>2]=0,Z[$+4>>2]=0;if(Z[713349]|0)Z[713349]=0,Z[712514]=0,Z[712521]=0,Z[712520]=0,$=2850068,Z[$>>2]=0,Z[$+4>>2]=0;if(Z[716673]|0)Z[716673]=0,Z[715838]=0,Z[715845]=0,Z[715844]=0,$=2863364,Z[$>>2]=0,Z[$+4>>2]=0;if(Z[719997]|0)Z[719997]=0,Z[719162]=0,Z[719169]=0,Z[719168]=0,$=2876660,Z[$>>2]=0,Z[$+4>>2]=0;if(Z[723321]|0)Z[723321]=0,Z[722486]=0,Z[722493]=0,Z[722492]=0,$=2889956,Z[$>>2]=0,Z[$+4>>2]=0;if(Z[726645]|0)Z[726645]=0,Z[725810]=0,Z[725817]=0,Z[725816]=0,$=2903252,Z[$>>2]=0,Z[$+4>>2]=0;if(!(Z[729969]|0)){I7();return}Z[729969]=0,Z[729134]=0,Z[729141]=0,Z[729140]=0,$=2916548,Z[$>>2]=0,Z[$+4>>2]=0,I7();return}function PR(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0;if(e9(),UY(V),!((V|0)!=0&$>>>0<64)){I7();return}if(X=V+42256+($<<4)|0,!(FX(V,X)|0)){I7();return}if(Z[543662]=0,Z[543663]=$,Y=Z[X>>2]|0,Q=(Y|0)<63?Y:63,Y=R$(V+16+(((Q|0)>0?Q:0)*660|0)|0,0,32,V,4)|0,(Y|0)!=-1){if((Z[X>>2]|0)>63)Z[2708888+(Y*13296|0)+8224>>2]=0;Z[2708888+(Y*13296|0)+11548>>2]=1,Z[2708888+(Y*13296|0)+8220>>2]=V,Z[2708888+(Y*13296|0)+11552>>2]=$,Z[2708888+(Y*13296|0)+8240>>2]=0,Z[2708888+(Y*13296|0)+11744>>2]=FX(V,X)|0,Z[2708888+(Y*13296|0)+11748>>2]=0}if(Y=V+42256+($<<4)+4|0,Q=Z[Y>>2]|0,W=(Q|0)<63?Q:63,Q=R$(V+16+(((W|0)>0?W:0)*660|0)|0,0,32,V,5)|0,(Q|0)!=-1){if((Z[Y>>2]|0)>63)Z[2708888+(Q*13296|0)+8224>>2]=0;Z[2708888+(Q*13296|0)+11548>>2]=1,Z[2708888+(Q*13296|0)+8220>>2]=V,Z[2708888+(Q*13296|0)+11552>>2]=$,Z[2708888+(Q*13296|0)+8240>>2]=1,Z[2708888+(Q*13296|0)+11744>>2]=FX(V,X)|0,Z[2708888+(Q*13296|0)+11748>>2]=0}if(Q=V+42256+($<<4)+8|0,Y=Z[Q>>2]|0,W=(Y|0)<63?Y:63,Y=R$(V+16+(((W|0)>0?W:0)*660|0)|0,0,32,V,6)|0,(Y|0)!=-1){if((Z[Q>>2]|0)>63)Z[2708888+(Y*13296|0)+8224>>2]=0;Z[2708888+(Y*13296|0)+11548>>2]=1,Z[2708888+(Y*13296|0)+8220>>2]=V,Z[2708888+(Y*13296|0)+11552>>2]=$,Z[2708888+(Y*13296|0)+8240>>2]=2,Z[2708888+(Y*13296|0)+11744>>2]=FX(V,X)|0,Z[2708888+(Y*13296|0)+11748>>2]=0}if(Y=V+42256+($<<4)+12|0,Q=Z[Y>>2]|0,W=(Q|0)<63?Q:63,Q=R$(V+16+(((W|0)>0?W:0)*660|0)|0,0,32,V,7)|0,(Q|0)!=-1){if((Z[Y>>2]|0)>63)Z[2708888+(Q*13296|0)+8224>>2]=0;Z[2708888+(Q*13296|0)+11548>>2]=1,Z[2708888+(Q*13296|0)+8220>>2]=V,Z[2708888+(Q*13296|0)+11552>>2]=$,Z[2708888+(Q*13296|0)+8240>>2]=3,Z[2708888+(Q*13296|0)+11744>>2]=FX(V,X)|0,Z[2708888+(Q*13296|0)+11748>>2]=0}Z[545815]=T,Z[545814]=I8()|0,Z[545816]=0,Z[545817]=65536,JY(),I7();return}function JY(){var V=0,$=0,T=0,X=0;if(e9(),V=Z[545818]|0,$=Z[545817]|0,(V|0)==($|0)){if(!V)e9(),Z[677221]=0,UY(0),I7();I7();return}if(!(Z[545815]|0)){if(Z[545818]=$,!$)e9(),Z[677221]=0,UY(0),I7();I7();return}if($=I8()|0,V=$-(Z[545814]|0)|0,$=Z[545815]|0,($|0)>(V|0)){T=B(Z[545816]|0,$-V|0)|0,X=((B(Z[545817]|0,V)|0)+T|0)/($|0)|0,$=(X|0)<65536?X:65536,Z[545818]=($|0)>0?$:0,I7();return}if($=Z[545817]|0,Z[545818]=$,!$)e9(),Z[677221]=0,UY(0),I7();I7();return}function Qz(V){return V=V|0,Z[V+16>>2]|0}function vC(V){V=V|0;return}function Wz(V,$){if(V=V|0,$=$|0,!V)return;Z[V+8>>2]=$;return}function Nz(V){V=V|0;return}function RV(V,$){V=V|0,$=$|0,Z[545816]=Z[545818],Z[545817]=0,Z[545814]=I8()|0,Z[545815]=$,JY();return}function Uz(V){V=V|0,Z[543940]=V;return}function zQ(){var V=0;if((Tz(0)|0)!=-1)return V=1,V|0;if(!0|(Z[545820]|0)==0)return V=0,V|0;if(!(Z[545818]|Z[545817]))return V=0,V|0;return V=(Z[677221]|0)!=0&1,V|0}function AZ(){var V=0;e9(),Z[680109]=0,Z[679274]=0,Z[679281]=0,Z[679280]=0,V=2717108,Z[V>>2]=0,Z[V+4>>2]=0,Z[683433]=0,Z[682598]=0,Z[682605]=0,Z[682604]=0,V=2730404,Z[V>>2]=0,Z[V+4>>2]=0,Z[686757]=0,Z[685922]=0,Z[685929]=0,Z[685928]=0,V=2743700,Z[V>>2]=0,Z[V+4>>2]=0,Z[690081]=0,Z[689246]=0,Z[689253]=0,Z[689252]=0,V=2756996,Z[V>>2]=0,Z[V+4>>2]=0,Z[693405]=0,Z[692570]=0,Z[692577]=0,Z[692576]=0,V=2770292,Z[V>>2]=0,Z[V+4>>2]=0,Z[696729]=0,Z[695894]=0,Z[695901]=0,Z[695900]=0,V=2783588,Z[V>>2]=0,Z[V+4>>2]=0,Z[700053]=0,Z[699218]=0,Z[699225]=0,Z[699224]=0,V=2796884,Z[V>>2]=0,Z[V+4>>2]=0,Z[703377]=0,Z[702542]=0,Z[702549]=0,Z[702548]=0,V=2810180,Z[V>>2]=0,Z[V+4>>2]=0,Z[706701]=0,Z[705866]=0,Z[705873]=0,Z[705872]=0,V=2823476,Z[V>>2]=0,Z[V+4>>2]=0,Z[710025]=0,Z[709190]=0,Z[709197]=0,Z[709196]=0,V=2836772,Z[V>>2]=0,Z[V+4>>2]=0,Z[713349]=0,Z[712514]=0,Z[712521]=0,Z[712520]=0,V=2850068,Z[V>>2]=0,Z[V+4>>2]=0,Z[716673]=0,Z[715838]=0,Z[715845]=0,Z[715844]=0,V=2863364,Z[V>>2]=0,Z[V+4>>2]=0,Z[719997]=0,Z[719162]=0,Z[719169]=0,Z[719168]=0,V=2876660,Z[V>>2]=0,Z[V+4>>2]=0,Z[723321]=0,Z[722486]=0,Z[722493]=0,Z[722492]=0,V=2889956,Z[V>>2]=0,Z[V+4>>2]=0,Z[726645]=0,Z[725810]=0,Z[725817]=0,Z[725816]=0,V=2903252,Z[V>>2]=0,Z[V+4>>2]=0,Z[729969]=0,Z[729134]=0,Z[729141]=0,Z[729140]=0,V=2916548,Z[V>>2]=0,Z[V+4>>2]=0,I7();return}function Jz(){var V=0,$=0,T=0;if(V=Z[730414]|0,!V)$=Q3(352000)|0,Z[730414]=$,T=$;else T=V;Z[T+20>>2]=0,Z[T+16>>2]=0,Z[543661]=1;return}function Sz(){var V=0;if(!(Z[543661]|0))return V=0,V|0;return Z[543661]=0,V=Z[730414]|0,V|0}function Rz(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;if(e9(),(Z[679278]|0)==0|(Z[680109]|0)==0)V=0;else $=Z[679279]|0,V=($|0)>0?$:0;if((Z[682602]|0)==0|(Z[683433]|0)==0)T=V;else $=Z[682603]|0,T=(V|0)>($|0)?V:$;if((Z[685926]|0)==0|(Z[686757]|0)==0)X=T;else $=Z[685927]|0,X=(T|0)>($|0)?T:$;if((Z[689250]|0)==0|(Z[690081]|0)==0)Y=X;else $=Z[689251]|0,Y=(X|0)>($|0)?X:$;if((Z[692574]|0)==0|(Z[693405]|0)==0)Q=Y;else $=Z[692575]|0,Q=(Y|0)>($|0)?Y:$;if((Z[695898]|0)==0|(Z[696729]|0)==0)W=Q;else $=Z[695899]|0,W=(Q|0)>($|0)?Q:$;if((Z[699222]|0)==0|(Z[700053]|0)==0)U=W;else $=Z[699223]|0,U=(W|0)>($|0)?W:$;if((Z[702546]|0)==0|(Z[703377]|0)==0)S=U;else $=Z[702547]|0,S=(U|0)>($|0)?U:$;if((Z[705870]|0)==0|(Z[706701]|0)==0)J=S;else $=Z[705871]|0,J=(S|0)>($|0)?S:$;if((Z[709194]|0)==0|(Z[710025]|0)==0)_=J;else $=Z[709195]|0,_=(J|0)>($|0)?J:$;if((Z[712518]|0)==0|(Z[713349]|0)==0)K=_;else $=Z[712519]|0,K=(_|0)>($|0)?_:$;if((Z[715842]|0)==0|(Z[716673]|0)==0)P=K;else $=Z[715843]|0,P=(K|0)>($|0)?K:$;if((Z[719166]|0)==0|(Z[719997]|0)==0)O=P;else $=Z[719167]|0,O=(P|0)>($|0)?P:$;if((Z[722490]|0)==0|(Z[723321]|0)==0)L=O;else $=Z[722491]|0,L=(O|0)>($|0)?O:$;if((Z[725814]|0)==0|(Z[726645]|0)==0)F=L;else $=Z[725815]|0,F=(L|0)>($|0)?L:$;if((Z[729138]|0)==0|(Z[729969]|0)==0)return z=F,I7(),z|0;return $=Z[729139]|0,z=(F|0)>($|0)?F:$,I7(),z|0}function HZ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0;if(e9(),Z[730407]=0,Z[730408]=0,Z[730409]=0,Z[730410]=0,Z[730411]=0,Z[730412]=0,(V|0)==-1){if((Z[679278]|0)==0|(Z[680109]|0)==0)T=-1,X=-1;else Y=Z[679280]|0,Q=(Y|0)<-1,T=Q?-1:Y,X=Q<<31>>31;if((Z[682602]|0)==0|(Z[683433]|0)==0)W=T,U=X;else Q=Z[682604]|0,Y=(Q|0)<(T|0),W=Y?T:Q,U=Y?X:1;if((Z[685926]|0)==0|(Z[686757]|0)==0)S=W,J=U;else X=Z[685928]|0,Y=(X|0)<(W|0),S=Y?W:X,J=Y?U:2;if((Z[689250]|0)==0|(Z[690081]|0)==0)_=S,K=J;else U=Z[689252]|0,Y=(U|0)<(S|0),_=Y?S:U,K=Y?J:3;if((Z[692574]|0)==0|(Z[693405]|0)==0)P=_,O=K;else J=Z[692576]|0,Y=(J|0)<(_|0),P=Y?_:J,O=Y?K:4;if((Z[695898]|0)==0|(Z[696729]|0)==0)L=P,F=O;else K=Z[695900]|0,Y=(K|0)<(P|0),L=Y?P:K,F=Y?O:5;if((Z[699222]|0)==0|(Z[700053]|0)==0)z=L,H=F;else O=Z[699224]|0,Y=(O|0)<(L|0),z=Y?L:O,H=Y?F:6;if((Z[702546]|0)==0|(Z[703377]|0)==0)C=z,A=H;else F=Z[702548]|0,Y=(F|0)<(z|0),C=Y?z:F,A=Y?H:7;if((Z[705870]|0)==0|(Z[706701]|0)==0)y=C,k=A;else H=Z[705872]|0,Y=(H|0)<(C|0),y=Y?C:H,k=Y?A:8;if((Z[709194]|0)==0|(Z[710025]|0)==0)m=y,I=k;else A=Z[709196]|0,Y=(A|0)<(y|0),m=Y?y:A,I=Y?k:9;if((Z[712518]|0)==0|(Z[713349]|0)==0)u=m,g=I;else k=Z[712520]|0,Y=(k|0)<(m|0),u=Y?m:k,g=Y?I:10;if((Z[715842]|0)==0|(Z[716673]|0)==0)i=u,t=g;else I=Z[715844]|0,Y=(I|0)<(u|0),i=Y?u:I,t=Y?g:11;if((Z[719166]|0)==0|(Z[719997]|0)==0)Y0=i,X0=t;else g=Z[719168]|0,Y=(g|0)<(i|0),Y0=Y?i:g,X0=Y?t:12;if((Z[722490]|0)==0|(Z[723321]|0)==0)T0=Y0,Z0=X0;else t=Z[722492]|0,Y=(t|0)<(Y0|0),T0=Y?Y0:t,Z0=Y?X0:13;if((Z[725814]|0)==0|(Z[726645]|0)==0)W0=T0,O0=Z0;else X0=Z[725816]|0,Y=(X0|0)<(T0|0),W0=Y?T0:X0,O0=Y?Z0:14;if((Z[729138]|0)==0|(Z[729969]|0)==0|(Z[729140]|0)<(W0|0))y0=O0,E0=5;else H0=15,E0=6}else y0=V,E0=5;if((E0|0)==5?y0>>>0<16:0)H0=y0,E0=6;if((E0|0)==6?(E0=Z[2708888+(H0*13296|0)+11748>>2]|0,(E0|0)>0):0)return y0=Z[543668]|0,V=$-(Z[2708888+(H0*13296|0)+11756>>2]|0)|0,$=E0+-1|0,E0=(B((V|0)>0?V:0,$)|0)/((((Z[8713]|0)/(((y0|0)==0?1:y0<<1)|0)|0)*1000|0)/(Z[543667]|0)|0|0)|0,y0=(E0|0)<($|0)?E0:$,$=2708888+(H0*13296|0)+11760+(((y0|0)>0?y0:0)*24|0)|0,Z[730407]=Z[$>>2],Z[730408]=Z[$+4>>2],Z[730409]=Z[$+8>>2],Z[730410]=Z[$+12>>2],Z[730411]=Z[$+16>>2],Z[730412]=Z[$+20>>2],I7(),2921628;return I7(),2921628}function FQ(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;if(Y=q,q=q+48|0,Q=Y+32|0,W=Y+24|0,U=Y+16|0,S=Y,Z[S>>2]=V,Z[S+4>>2]=$,Z[S+8>>2]=T,Z[S+12>>2]=X,a6(1703776,95552,S)|0,s1(1703776),(V|0)==0|($|0)==0)Z[U>>2]=0,Z[U+4>>2]=0,a6(1703776,95581,U)|0,s1(1703776),J=0,_=0;else J=$,_=V;if((Z[543660]|0)==1){if(V=Z[543936]|0,$=Z[543937]|0,(V|0)<32|($|0)<32)Z[543936]=640,Z[543937]=540,K=640,P=540;else K=V,P=$;Z[W>>2]=K,Z[W+4>>2]=P,a6(1703776,95619,W)|0,s1(1703776),O=P,L=K}else Z[543936]=_,Z[543937]=J,O=J,L=_;if(!(X&256)){if(X&4|0)Z[8714]=0;if(X&8|0)Z[8714]=1}else if(Z[543938]|0)Z[8714]=0;K=((J|0)==0|(_|0)==0)&((O|0)==0|(L|0)==0),P=K?216:O,O=K?384:L,L=K?384:_,_=K?216:J,J=Z[730432]|0;do if(!J)F=20;else{if(((Z[J>>2]|0)==(L|0)?(Z[J+4>>2]|0)==(_|0):0)?(Z[J+8>>2]|0)==(T|0):0)break;P5(J)|0,Z[730432]=0,F=20}while(0);if((F|0)==20)Z[730432]=h1(L,_,T)|0;if((Z[543976]|Z[543977]|0)==0?(F=MR(O,P,L,_,T,X)|0,F|0):0)return z=F,q=Y,z|0;return Z[730415]=O,Z[730416]=P,Z[730417]=T,Z[730422]=0,Z[730424]=0,Z[730423]=O,Z[730425]=P,Z[Q>>2]=0,Z[Q+4>>2]=0,a6(1703776,95640,Q)|0,s1(1703776),s1(95662),z=0,q=Y,z|0}function OR(V){V=V|0;var $=0;if($=Z[730428]|0,($|0)==(V|0))return;q6($|0,V|0,768)|0;return}function _z(){var V=0,$=0,T=0;if(Z[730430]|0)return V=0,V|0;Z[730430]=1,Z[730428]=DW()|0,Z[730429]=DW()|0,$=0;do T=$&255,N[(Z[730428]|0)+($*3|0)>>0]=T,N[(Z[730428]|0)+($*3|0)+1>>0]=T,N[(Z[730428]|0)+($*3|0)+2>>0]=T,$=$+1|0;while(($|0)!=256);if(Z[543976]|0)return V=0,V|0;return V=Az()|0,V|0}function Kz(){var V=0,$=0;if(!(Z[730430]|0))return V=0,V|0;if(Z[730430]=0,$=Z[730432]|0,$|0)P5($)|0;if($=Z[545791]|0,$|0)P5($)|0;if(Z[545791]=0,Z[730432]=0,zW(Z[730428]|0),zW(Z[730429]|0),Z[543976]|0)return V=0,V|0;return V=Hz()|0,V|0}function Pz(){return(Z[8714]|0)==0|0}function Oz(){var V=0;if(Z[543977]|Z[543976]|0)return;Z[8714]=(Z[8714]|0)==0&1,V=Z[730432]|0,MR(Z[543936]|0,Z[543937]|0,Z[V>>2]|0,Z[V+4>>2]|0,Z[730417]|0,0)|0;return}function Gz(){Z[730431]=I8()|0;return}function Mz(){var V=0,$=0;V=I8()|0,$=V-(Z[730431]|0)|0,Z[730431]=I8()|0,V=($|0)<1000?$:1000,Z[8715]=(1000/(((V|0)>1?V:1)>>>0)|0)<<16;return}function GR(){var V=0;if(V=Z[730432]|0,!V)return;l5(V,2921660,0,0,0,0,Z[730415]|0,Z[730416]|0);return}function DN(){return Z[8715]>>16|0}function BX(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0;if(V8(T,V)|0,Y=T+548|0,(N[$>>0]|0)==42)V8(Y,$+1|0)|0,Q=x6(Y)|0;else N[Y>>0]=0,Q=0;return Z[T+804>>2]=Q,Z[T+812>>2]=nS(V)|0,Z[T+808>>2]=X,EQ(T)|0}function EQ(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0;if($=q,q=q+608|0,T=$+600|0,X=$+512|0,Y=$,Q=V+812|0,W=Z[Q>>2]|0,!W)return U=1,q=$,U|0;if(S=hS(W)|0,W=V+808|0,!S)return U=1,q=$,U|0;J=V+256|0,_=V+520|0,K=X+64|0,P=X+40|0,O=V+516|0,L=X+12|0,F=V+512|0,z=V+804|0,H=S;while(!0){if(S=H+19|0,V8(J,S)|0,Z[T>>2]=V,Z[T+4>>2]=S,a6(Y,95684,T)|0,C1(X,0,1),DD(Y,X)|0,Z[_>>2]=Z[K>>2],Z[O>>2]=Z[P>>2],C=Z[L>>2]|0,Z[F>>2]=C,A=x6(S)|0,(A|0)>=(Z[z>>2]|0)?Z[W>>2]&C|0:0){U=0,y=7;break}if(H=hS(Z[Q>>2]|0)|0,!H){U=1,y=7;break}}if((y|0)==7)return q=$,U|0;return 0}function CX(V){V=V|0;var $=0;if(!V)return 0;if($=Z[V+812>>2]|0,!$)return 0;return rS($)|0,0}function d3(V){V=V|0;var $=0,T=0;if($=c5(V,102896)|0,!$)return T=0,T|0;return I5($),T=1,T|0}function Lz(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;if($=q,q=q+816|0,T=$,V8(T,V)|0,X=T+548|0,V8(X,95691)|0,Z[T+804>>2]=x6(X)|0,X=T+812|0,Z[X>>2]=nS(V)|0,Z[T+808>>2]=16384,V=EQ(T)|0,T=Z[X>>2]|0,!T)return Y=(V|0)==0,Q=Y&1,q=$,Q|0;return rS(T)|0,Y=(V|0)==0,Q=Y&1,q=$,Q|0}function zN(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;if(T=q,q=q+96|0,X=T+64|0,Y=T+88|0,Q=T,U8(Y|0)|0,!$)W=O8(Y|0)|0;else W=G8(Y|0)|0;M8(Q|0,64,95666,W|0)|0,W=V+4|0,Z[W>>2]=0,Z[W+4>>2]=0,Z[W+8>>2]=0,Z[W+12>>2]=0,Z[W+16>>2]=0,Z[W+20>>2]=0,Z[X>>2]=W,Z[X+4>>2]=V+8,Z[X+8>>2]=V+12,Z[X+12>>2]=V+16,Z[X+16>>2]=V+20,Z[X+20>>2]=V+24,a8(Q,95692,X)|0,q=T;return}function Dz(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0;if(SR(0,1724512,V<<1),($|0)<=0)return 1757280;T=V<<4,X=V+-1|0,V=0;do Y=(B(T,V)|0)/($|0)|0,Q=Y&15,W=(Y|0)/16|0,Y=W+1|0,U=B(16-Q|0,j[1724512+(W<<1)>>1]|0)|0,j[1757280+(V<<1)>>1]=((B(Q,j[1724512+(((Y|0)<(X|0)?Y:X)<<1)>>1]|0)|0)+U|0)/16|0,V=V+1|0;while((V|0)!=($|0));return 1757280}function zz(){if((O6(65535)|0)<0)Fz(97344);else return l0(29)|0,l0(30)|0,l0(31)|0,0;return 0}function Fz(V){V=V|0;var $=0,T=0,X=0;$=q,q=q+16|0,T=$+8|0,X=$,Ez(),Z[X>>2]=V,b1(98424,X)|0,r7(Z[8720]|0)|0,Z[T>>2]=V,a6(1703776,98424,T)|0,s1(1703776),LW()|0,Q8(0)}function Ez(){var V=0,$=0,T=0;if(V=q,q=q+16|0,$=V,T=K0()|0,!(N[T>>0]|0)){q=V;return}Z[$>>2]=T,b1(98447,$)|0,r7(Z[8720]|0)|0,p(),q=V;return}function jC(){return 0}function N3(V){V=V|0;var $=0,T=0;if(N[1790048]=63,N[1790049]=0,V>>>0>511)return 1790048;if(w5(1790048,Z[30080+(V<<2)>>2]|0)|0,!(x6(1790048)|0))return 1790048;V=0;do{if($=1790048+V|0,T=N[$>>0]|0,(T+-97&255)<26)N[$>>0]=(T&255)+224;V=V+1|0}while(V>>>0<(x6(1790048)|0)>>>0);return 1790048}function Bz(V,$){return V=V|0,$=$|0,$8(32,Z[543952]|0)|0,Z[543669]=V,Z[543670]=$,Z[543667]=V,Z[543668]=$,Nz(Z[543939]|0),Uz(Z[543940]|0),0}function Cz(){return 0}function e9(){r0(),Z[730433]=(Z[730433]|0)+1;return}function I7(){Z[730433]=(Z[730433]|0)+-1,K6();return}function Az(){return 0}function Hz(){return 0}function MR(V,$,T,X,Y,Q){return V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,Q=$F()|0,Z[730437]=c6(B(Q,T)|0,B(Q,X)|0,32,0)|0,0}function FN(V,$,T,X,Y,Q,W,U,S){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0,U=U|0,S=S|0;var J=0,_=0,K=0,P=0,O=0,L=0,F=0;if(X|T|Y|Q|0)return;if((Z[V+8>>2]|0)==8){Q=Z[730438]|0;do if(!Q)J=V,_=8;else{if(Y=Z[Q>>2]|0,(Y|0)==(Z[V>>2]|0)?(T=Z[Q+4>>2]|0,(T|0)==(Z[V+4>>2]|0)):0){K=Q,P=Y,O=T,L=Y;break}P5(Q)|0,J=V,_=8}while(0);if((_|0)==8)_=V+4|0,Q=h1(Z[J>>2]|0,Z[_>>2]|0,32)|0,Z[730438]=Q,K=Q,P=Z[Q>>2]|0,O=Z[_>>2]|0,L=Z[J>>2]|0;J=Z[K+12>>2]|0,_=Z[730428]|0,Q=0;do Z[1790304+(Q<<2)>>2]=(G[_+(Q*3|0)>>0]|0)<<16|(G[_+(Q*3|0)+1>>0]|0)<<8|(G[_+(Q*3|0)+2>>0]|0)|-16777216,Q=Q+1|0;while((Q|0)!=256);Q=P<<2,P=0;do _=1790304+(P<<2)|0,Y=Z[_>>2]|0,Z[_>>2]=Y<<16&16711680|Y&-16711936|Y>>>16&255,P=P+1|0;while((P|0)!=256);if((O|0)<1|(L|0)==0)F=K;else{P=Z[V+16>>2]|0,Y=J,J=0;while(!0){_=Y,T=Z[P+(J<<2)>>2]|0,X=L;while(!0)if(Z[_>>2]=Z[1790304+((G[T>>0]|0)<<2)>>2],X=X+-1|0,!X)break;else _=_+4|0,T=T+1|0;if(J=J+1|0,(J|0)==(O|0)){F=K;break}else Y=Y+Q|0}}}else F=V;if(j0(Z[730437]|0)|0,V=Z[730437]|0,(U|0)>0?(Q=F+16|0,F=W<<2,Y=V+20|0,q6(Z[Y>>2]|0,Z[Z[Q>>2]>>2]|0,F|0)|0,(U|0)!=1):0){K=1;do O=(Z[Y>>2]|0)+((B(K,W)|0)<<2)|0,q6(O|0,Z[(Z[Q>>2]|0)+(K<<2)>>2]|0,F|0)|0,K=K+1|0;while((K|0)!=(U|0))}I6(V|0);return}function I8(){return f0()|0}function kC(){return}function pC(){return}function xz(){return 0}function yz(V,$,T,X){if(V=V|0,$=$|0,T=T|0,X=X|0,$|0)Z[$>>2]=0;if(T|0)Z[T>>2]=0;if(!X)return;Z[X>>2]=0;return}function EN(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0;V=q,q=q+64|0,$=V+52|0,T=V+48|0,X=V,Y=0;do{if(Q=1712608+Y|0,W=N[Q>>0]|0,N[1713632+Y>>0]=W,W<<24>>24==3)N[Q>>0]=1;Y=Y+1|0}while((Y|0)!=512);Y=0;do{if(!(N[1712608+Y>>0]|0))N[1713120+Y>>0]=0;Y=Y+1|0}while((Y|0)!=512);Y=U0()|0,N[1712832]=Y&64,N[1712836]=Y&128,N[1712834]=0,N[1712838]=0,N[1712833]=Y&1,N[1712837]=Y&2;Z:do if(d0(X|0)|0){Y=X+12|0,Q=X+28|0,W=X+32|0;while(!0){U=Z[X>>2]|0;V:do switch(U|0){case 768:case 769:{if(S=Z[Y>>2]|0,J=(S|0)==1104?80:S,S=(J|0)==1103?79:J,J=(S|0)==1106?82:S,S=(J|0)==1105?81:J,J=(S|0)==1099?75:S,S=(J|0)==1102?78:J,J=(S|0)==1248?224:S,S=(J|0)<512,_=1712608+J|0,(U|0)==768){if(!S)break V;N[_>>0]=3,N[1713632+J>>0]=0,N[1713120+J>>0]=0;break V}else{if(!S)break V;N[_>>0]=0,N[1713632]=0;break V}break}case 1024:{do if(Z[543653]|0){if(l0(33)|0){_=Z[Q>>2]|0,Z[543647]=(Z[543647]|0)+_,S=Z[W>>2]|0,Z[543648]=(Z[543648]|0)+S,J=(Z[730435]|0)+_|0,_=Z[730432]|0,K=(Z[_>>2]<<2)+-1|0,P=(J|0)<(K|0)?J:K,Z[730435]=(P|0)>0?P:0,P=(Z[730436]|0)+S|0,S=(Z[_+4>>2]<<2)+-1|0,_=(P|0)<(S|0)?P:S,Z[730436]=(_|0)>0?_:0;break}if(Z[543653]|0){if(M0($|0,T|0)|0,!(l0(34)|0))O=Z[T>>2]|0;else Z[$>>2]=l0(35)|0,_=l0(36)|0,Z[T>>2]=_,O=_;Z[730435]=Z[$>>2]<<2,Z[730436]=O<<2}}while(0);if(_=Z[543647]|0,(_|0)>=0){if(_|0)S=~_,P=(S|0)>-2?S:-2,L=-2-P|0,F=_+2+(Z[543649]|0)+P|0,z=24}else L=0,F=_+(Z[543649]|0)|0,z=24;if((z|0)==24)z=0,Z[543649]=F,Z[543647]=L;if(_=Z[543648]|0,(_|0)<0){Z[543650]=_+(Z[543650]|0),Z[543648]=0;break V}if(_|0)P=~_,S=(P|0)>-2?P:-2,Z[543650]=_+2+(Z[543650]|0)+S,Z[543648]=-2-S;break}default:}while(0);if(!(d0(X|0)|0))break Z}}while(0);if(X=(l0(37)|0)!=0,X&(Z[545793]|0)<32){do{if(X=l0(38)|0,L=(X|0)>-1?X:-1,X=Z[545793]|0,Z[1712480+(X<<2)>>2]=L,Z[545793]=X+1,(L|0)>0?(O2(-5)|0)==0:0)Z[8717]=1;if(N[1712838]|0)N[1712832]=0,N[1712836]=0;L=(l0(37)|0)!=0}while(L&(Z[545793]|0)<32);H=1}else H=0;if(L=l0(39)|0,Z[543643]=(Z[543643]|0)+L,Z[543645]=(Z[543645]|0)+L,L=l0(40)|0,Z[543644]=(Z[543644]|0)+L,Z[543646]=(Z[543646]|0)+L,wz(),!((Z[543654]|0)==0?(l0(41)|0)!=0:0))Z[545793]=0,x8(1712608,0,512)|0,x8(1713632,0,512)|0,x8(1713120,0,512)|0,Z[543643]=0,Z[543644]=0,Z[543645]=0,Z[543646]=0;if(H|0)return q=V,0;H=0,L=0;do X=(O2(L)|0)==3,H=X?1:H,L=L+1|0;while((L|0)!=512);if(L=Z[545793]|0,!((H|0)!=0&(L|0)<32))return q=V,0;return Z[1712480+(L<<2)>>2]=-1,Z[545793]=L+1,q=V,0}function wz(){var V=0,$=0,T=0,X=0,Y=0;if(V=q,q=q+16|0,$=V+8|0,T=V+4|0,X=V,S4($,T,X),Z[8716]|0)Z[X>>2]=1,Z[T>>2]=1,Z[$>>2]=1,Z[8716]=0;if(l0(42)|0)Z[8717]=0;if(Y=Z[$>>2]|0,$=Z[T>>2]|0,((Z[X>>2]|0)>0&($|Y|0)>-1?(Y|0)<(Z[730415]|0):0)?($|0)<(Z[730416]|0):0)Z[8717]=1,l0(43)|0;if($=(O2(-5)|0)!=0,!($&(Z[8717]|0)!=0)){q=V;return}l0(44)|0,q=V;return}function S4(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;if(X=q,q=q+16|0,Y=X+12|0,Q=X+8|0,W=X+4|0,U=X,S=l0(34)|0,!(Z[543653]|0))J=1;else J=(l0(33)|0)==0;if((S|0)!=0&J){if(V|0)Z[V>>2]=l0(35)|0;if($|0)Z[$>>2]=l0(36)|0;if(!T){q=X;return}Z[T>>2]=l0(45)|0,q=X;return}if(J=(M0(Y|0,Q|0)|0)&255,Z[543653]|0?l0(33)|0:0)Z[Y>>2]=(Z[730435]|0)/4|0,Z[Q>>2]=(Z[730436]|0)/4|0;if(X6(0,W|0,U|0),S=Z[W>>2]|0,W=Z[U>>2]|0,(S|0)==0|(W|0)==0){q=X;return}if(U=Z[730415]|0,_=Z[730416]|0,!(+(S|0)/+(W|0)>=+(U|0)/+(_|0)))K=(W-((B(_,S)|0)/(U|0)|0)|0)/2|0,P=(Z[Q>>2]|0)-K|0,Z[Q>>2]=P,K=(B(Z[730415]|0,Z[Y>>2]|0)|0)/(S|0)|0,Z[Y>>2]=K,O=S,L=K,F=B(Z[730415]|0,P)|0;else P=(S-((B(U,W)|0)/(_|0)|0)|0)/2|0,U=(B((Z[Y>>2]|0)-P|0,_)|0)/(W|0)|0,Z[Y>>2]=U,O=W,L=U,F=B(Z[Q>>2]|0,_)|0;if(_=(F|0)/(O|0)|0,Z[Q>>2]=_,V|0)Z[V>>2]=L;if($|0)Z[$>>2]=_;if(!T){q=X;return}Z[T>>2]=J<<1&4|J&1|J>>>1&2,q=X;return}function E5(V,$){V=V|0,$=$|0;var T=0,X=0;T=q,q=q+16|0,X=T,Z[X>>2]=V,a6($,101497,X)|0,q=T;return}function BN(V,$){V=V|0,$=$|0,w5($,V)|0;return}function _$(V,$){V=V|0,$=$|0,w5($,V)|0;return}function Iz(V,$){V=V|0,$=$|0,w5($,V)|0;return}function SY(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0,j8=0,C6=0,o6=0,u6=0,p8=0,i8=0,q8=0,m8=0,l8=0,w8=0,U2=0,K8=0,A8=0,t8=0,_2=0,Y2=0,Q2=0,F2=0,w2=0,G2=0,K2=0,Z2=0,o2=0,u8=0,L2=0,N2=0,u2=0,Z1=0,I2=0,j2=0,Q1=0,p2=0,r2=0,W1=0,x2=0,a2=0,E2=0,d2=0,b2=0,P2=0,V1=0,X2=0,$1=0,P1=0,v2=0,T1=0,_1=0,l2=0,c1=0,$7=0,D1=0,n2=0,z1=0,N1=0,l1=0,A1=0,y1=0,B1=0,Z7=0,S1=0,q7=0,g2=0,T7=0,F7=0,N7=0,f8=0,C5=0,i1=0,c2=0,D2=0,X1=0,H2=0,i2=0,e8=0,t2=0,t1=0,y2=0,A2=0,M1=0,w1=0,p7=0,U1=0,h7=0,U7=0,E7=0,k2=0,I1=0,J1=0,O7=0,B7=0,j1=0,G7=0,M7=0,m7=0,s5=0,J7=0,F1=0,z7=0,G5=0,u7=0,r5=0,g7=0,j5=0,W9=0,Z9=0,A5=0,v7=0,l7=0,h5=0,g5=0,M5=0,r1=0,V9=0;if(V=q,q=q+16|0,T=V,!$)return X=0,q=V,X|0;Y=CW(0)|0;Z:do if(Y|0){switch(Z[$>>2]|0){case 0:{Q=p4(Z[$+8>>2]|0)|0,W=6;break}case 1:{Q=(Z[$+20>>2]|0)>=(Z[$+16>>2]|0)&1,W=6;break}default:W=7}if((W|0)==6?(Q|0)==0:0)W=7;V:do if((W|0)==7){U=$+8|0,S=$+16|0,J=$+20|0,_=$+12|0,K=Y+32|0,P=0;$:while(!0){switch(Z[T>>2]=0,Z[$>>2]|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0;break}case 1:{O=Z[J>>2]|0,L=(Z[S>>2]|0)-O|0,F=(L|0)<4?L:4,L=(F|0)>0?F:0,q6(T|0,(Z[_>>2]|0)+O|0,L|0)|0,Z[J>>2]=L+O;break}default:{W=9;break $}}if(O=Z[T>>2]|0,!O)break V;switch(Z[T>>2]=0,Z[$>>2]|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0;break}case 1:{L=Z[J>>2]|0,F=(Z[S>>2]|0)-L|0,z=(F|0)<4?F:4,F=(z|0)>0?z:0,q6(T|0,(Z[_>>2]|0)+L|0,F|0)|0,Z[J>>2]=F+L;break}default:}if(L=Z[T>>2]|0,F=(P|0)==0,F&(O|0)!=1146048579)break Z;Y:do if(F)if((O|0)==1146048579){switch(Z[T>>2]=0,z=Z[$>>2]|0,z|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,H=Z[$>>2]|0,W=26;break}case 1:{C=Z[J>>2]|0,A=(Z[S>>2]|0)-C|0,y=(A|0)<4?A:4,A=(y|0)>0?y:0,q6(T|0,(Z[_>>2]|0)+C|0,A|0)|0,Z[J>>2]=A+C,W=28;break}default:H=z,W=26}Q:do if((W|0)==26){switch(W=0,H|0){case 1:{W=28;break Q}case 0:break;default:break Q}g8(K,1,32,Z[U>>2]|0)|0}while(0);if((W|0)==28)W=0,z=Z[J>>2]|0,C=(Z[S>>2]|0)-z|0,A=(C|0)<32?C:32,C=(A|0)>0?A:0,q6(K|0,(Z[_>>2]|0)+z|0,C|0)|0,Z[J>>2]=C+(Z[J>>2]|0);switch(Z[T>>2]=0,C=Z[$>>2]|0,C|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,k=Z[$>>2]|0,W=32;break}case 1:{z=Z[J>>2]|0,A=(Z[S>>2]|0)-z|0,y=(A|0)<4?A:4,A=(y|0)>0?y:0,q6(T|0,(Z[_>>2]|0)+z|0,A|0)|0,Z[J>>2]=A+z;break}default:k=C,W=32}Q:do if((W|0)==32){switch(W=0,k|0){case 1:break Q;case 0:break;default:{W=396;break Y}}KY(Z[U>>2]|0,28,1)|0,W=396;break Y}while(0);Z[J>>2]=(Z[J>>2]|0)+28,W=396}else W=35;else if((O|0)<1347374659)switch(O|0){case 1146048579:break $;default:{W=35;break Y}}else switch(O|0){case 1347374659:break $;default:{W=35;break Y}}while(0);Y:do if((W|0)==35){W=0,F=O|32;Q:do if((F|0)<1347245667){switch(F|0){case 1347240547:break;default:break Q}switch(C=(O|0)==1347240547,Z[T>>2]=0,z=Z[$>>2]|0,z|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,m=Z[$>>2]|0,W=39;break}case 1:{A=Z[J>>2]|0,y=(Z[S>>2]|0)-A|0,I=(y|0)<4?y:4,y=(I|0)>0?I:0,q6(T|0,(Z[_>>2]|0)+A|0,y|0)|0,Z[J>>2]=y+A,m=1,W=39;break}default:u=z,g=0}if((W|0)==39)W=0,u=m,g=Z[T>>2]|0;switch(Z[T>>2]=0,u|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,i=Z[$>>2]|0,W=43;break}case 1:{z=Z[J>>2]|0,A=(Z[S>>2]|0)-z|0,y=(A|0)<4?A:4,A=(y|0)>0?y:0,q6(T|0,(Z[_>>2]|0)+z|0,A|0)|0,Z[J>>2]=A+z,z=Z[T>>2]|0,Z[T>>2]=0,t=z,W=45;break}default:i=u,W=43}T:do if((W|0)==43){switch(W=0,z=Z[T>>2]|0,Z[T>>2]=0,i|0){case 1:{t=z,W=45;break T}case 0:break;default:{Y0=z;break T}}g8(T,4,1,Z[U>>2]|0)|0,Y0=z}while(0);if((W|0)==45)W=0,z=Z[J>>2]|0,A=(Z[S>>2]|0)-z|0,y=(A|0)<4?A:4,A=(y|0)>0?y:0,q6(T|0,(Z[_>>2]|0)+z|0,A|0)|0,Z[J>>2]=A+z,Y0=t;switch(z=Z[T>>2]|0,A=h1(g,Y0,z)|0,Z[T>>2]=0,y=Z[$>>2]|0,y|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,X0=Z[$>>2]|0,W=49;break}case 1:{I=Z[J>>2]|0,T0=(Z[S>>2]|0)-I|0,Z0=(T0|0)<4?T0:4,T0=(Z0|0)>0?Z0:0,q6(T|0,(Z[_>>2]|0)+I|0,T0|0)|0,Z[J>>2]=T0+I,Z[A+20>>2]=Z[T>>2],Z[T>>2]=0,W=51;break}default:X0=y,W=49}T:do if((W|0)==49){switch(W=0,Z[A+20>>2]=Z[T>>2],Z[T>>2]=0,X0|0){case 1:{W=51;break T}case 0:break;default:break T}g8(T,4,1,Z[U>>2]|0)|0}while(0);if((W|0)==51)W=0,y=Z[J>>2]|0,I=(Z[S>>2]|0)-y|0,T0=(I|0)<4?I:4,I=(T0|0)>0?T0:0,q6(T|0,(Z[_>>2]|0)+y|0,I|0)|0,Z[J>>2]=I+y;y=Z[A+12>>2]|0,I=B(B(Y0,g)|0,z>>3)|0;T:do if(C)CN(y,I,$)|0;else switch(Z[$>>2]|0){case 0:{g8(y,1,I,Z[U>>2]|0)|0;break T}case 1:{T0=Z[J>>2]|0,Z0=(Z[S>>2]|0)-T0|0,W0=(I|0)<(Z0|0)?I:Z0,Z0=(W0|0)>0?W0:0,q6(y|0,(Z[_>>2]|0)+T0|0,Z0|0)|0,Z[J>>2]=Z0+(Z[J>>2]|0);break T}default:break T}while(0);x3(Y,4,A)|0,W=396;break Y}else{switch(F|0){case 1347245667:break;default:break Q}switch(y=(O|0)==1347245667,Z[T>>2]=0,I=Z[$>>2]|0,I|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,O0=Z[$>>2]|0,W=61;break}case 1:{C=Z[J>>2]|0,z=(Z[S>>2]|0)-C|0,Z0=(z|0)<4?z:4,z=(Z0|0)>0?Z0:0,q6(T|0,(Z[_>>2]|0)+C|0,z|0)|0,Z[J>>2]=z+C,O0=1,W=61;break}default:y0=I,E0=0}if((W|0)==61)W=0,y0=O0,E0=Z[T>>2]|0;switch(Z[T>>2]=0,y0|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,H0=Z[$>>2]|0,W=65;break}case 1:{I=Z[J>>2]|0,C=(Z[S>>2]|0)-I|0,z=(C|0)<4?C:4,C=(z|0)>0?z:0,q6(T|0,(Z[_>>2]|0)+I|0,C|0)|0,Z[J>>2]=C+I,I=Z[T>>2]|0,Z[T>>2]=0,D0=I,W=67;break}default:H0=y0,W=65}T:do if((W|0)==65){switch(W=0,I=Z[T>>2]|0,Z[T>>2]=0,H0|0){case 1:{D0=I,W=67;break T}case 0:break;default:{_0=I;break T}}g8(T,4,1,Z[U>>2]|0)|0,_0=I}while(0);if((W|0)==67)W=0,A=Z[J>>2]|0,I=(Z[S>>2]|0)-A|0,C=(I|0)<4?I:4,I=(C|0)>0?C:0,q6(T|0,(Z[_>>2]|0)+A|0,I|0)|0,Z[J>>2]=I+A,_0=D0;switch(A=Z[T>>2]|0,I=IO(E0,_0,A)|0,Z[T>>2]=0,C=Z[$>>2]|0,C|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,F0=Z[$>>2]|0,W=71;break}case 1:{z=Z[J>>2]|0,Z0=(Z[S>>2]|0)-z|0,T0=(Z0|0)<4?Z0:4,Z0=(T0|0)>0?T0:0,q6(T|0,(Z[_>>2]|0)+z|0,Z0|0)|0,Z[J>>2]=Z0+z,Z[I+20>>2]=Z[T>>2],Z[T>>2]=0,W=73;break}default:F0=C,W=71}T:do if((W|0)==71){switch(W=0,Z[I+20>>2]=Z[T>>2],Z[T>>2]=0,F0|0){case 1:{W=73;break T}case 0:break;default:break T}g8(T,4,1,Z[U>>2]|0)|0}while(0);if((W|0)==73)W=0,C=Z[J>>2]|0,z=(Z[S>>2]|0)-C|0,Z0=(z|0)<4?z:4,z=(Z0|0)>0?Z0:0,q6(T|0,(Z[_>>2]|0)+C|0,z|0)|0,Z[J>>2]=z+C;C=Z[I+12>>2]|0,z=B(B(_0,E0)|0,A)|0;T:do if(y)CN(C,z,$)|0;else switch(Z[$>>2]|0){case 0:{g8(C,1,z,Z[U>>2]|0)|0;break T}case 1:{Z0=Z[J>>2]|0,T0=(Z[S>>2]|0)-Z0|0,W0=(z|0)<(T0|0)?z:T0,T0=(W0|0)>0?W0:0,q6(C|0,(Z[_>>2]|0)+Z0|0,T0|0)|0,Z[J>>2]=T0+(Z[J>>2]|0);break T}default:break T}while(0);x3(Y,10,I)|0,W=396;break Y}while(0);Q:do if((O|0)<1279348803){if((O|0)<1146047811){switch(O|0){case 1145983811:break;default:break Q}switch(Z[T>>2]=0,C=Z[$>>2]|0,C|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,k0=Z[$>>2]|0,W=299;break}case 1:{z=Z[J>>2]|0,y=(Z[S>>2]|0)-z|0,A=(y|0)<4?y:4,y=(A|0)>0?A:0,q6(T|0,(Z[_>>2]|0)+z|0,y|0)|0,Z[J>>2]=y+z,k0=1,W=299;break}default:m0=C,B0=0}if((W|0)==299)W=0,m0=k0,B0=Z[T>>2]|0;switch(Z[T>>2]=0,m0|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0;break}case 1:{C=Z[J>>2]|0,z=(Z[S>>2]|0)-C|0,y=(z|0)<4?z:4,z=(y|0)>0?y:0,q6(T|0,(Z[_>>2]|0)+C|0,z|0)|0,Z[J>>2]=z+C;break}default:}if(C=Vz(B0,Z[T>>2]|0)|0,!C)switch(z=L+-8|0,y=Z[$>>2]|0,y|0){case 0:{KY(Z[U>>2]|0,z,1)|0,W=396;break Y}case 1:{Z[J>>2]=(Z[J>>2]|0)+z,W=396;break Y}default:{g0=y;break Y}}switch(Z[T>>2]=0,y=Z[$>>2]|0,y|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,o0=Z[$>>2]|0,W=307;break}case 1:{z=Z[J>>2]|0,A=(Z[S>>2]|0)-z|0,T0=(A|0)<4?A:4,A=(T0|0)>0?T0:0,q6(T|0,(Z[_>>2]|0)+z|0,A|0)|0,Z[J>>2]=A+z,z=C+8|0,Z[z>>2]=Z[T>>2],Z[T>>2]=0,h0=z,W=309;break}default:o0=y,W=307}T:do if((W|0)==307){switch(W=0,y=C+8|0,Z[y>>2]=Z[T>>2],Z[T>>2]=0,o0|0){case 1:{h0=y,W=309;break T}case 0:{g8(T,4,1,Z[U>>2]|0)|0,C0=Z[$>>2]|0;break}default:C0=o0}switch(Z[C+12>>2]=Z[T>>2],Z[T>>2]=0,C0|0){case 1:{u0=y,W=312;break T}case 0:{g8(T,4,1,Z[U>>2]|0)|0,p0=Z[$>>2]|0;break}default:p0=C0}switch(Z[T>>2]=0,p0|0){case 1:{q0=y,W=315;break T}case 0:break;default:{i0=y;break T}}g8(T,4,1,Z[U>>2]|0)|0,i0=y}while(0);if((W|0)==309)W=0,I=Z[J>>2]|0,y=(Z[S>>2]|0)-I|0,z=(y|0)<4?y:4,y=(z|0)>0?z:0,q6(T|0,(Z[_>>2]|0)+I|0,y|0)|0,Z[J>>2]=y+I,Z[C+12>>2]=Z[T>>2],Z[T>>2]=0,u0=h0,W=312;if((W|0)==312)W=0,I=Z[J>>2]|0,y=(Z[S>>2]|0)-I|0,z=(y|0)<4?y:4,y=(z|0)>0?z:0,q6(T|0,(Z[_>>2]|0)+I|0,y|0)|0,Z[J>>2]=y+I,Z[T>>2]=0,q0=u0,W=315;if((W|0)==315)W=0,I=Z[J>>2]|0,y=(Z[S>>2]|0)-I|0,z=(y|0)<4?y:4,y=(z|0)>0?z:0,q6(T|0,(Z[_>>2]|0)+I|0,y|0)|0,Z[J>>2]=y+I,i0=q0;switch(I=Qz(C)|0,y=(B(Z[C+4>>2]|0,Z[C>>2]|0)|0)/8|0,Z[$>>2]|0){case 0:{g8(I,y,1,Z[U>>2]|0)|0;break}case 1:{z=Z[J>>2]|0,A=(Z[S>>2]|0)-z|0,T0=(y|0)<(A|0)?y:A,A=(T0|0)>0?T0:0,q6(I|0,(Z[_>>2]|0)+z|0,A|0)|0,Z[J>>2]=A+(Z[J>>2]|0);break}default:}Wz(C,Z[i0>>2]|0),x3(Y,9,C)|0,W=396;break Y}if((O|0)<1229865283){switch(O|0){case 1146047811:break;default:break Q}switch(A=lz()|0,Z[T>>2]=0,z=Z[$>>2]|0,z|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,t0=Z[$>>2]|0,W=88;break}case 1:{I=Z[J>>2]|0,T0=(Z[S>>2]|0)-I|0,y=(T0|0)<4?T0:4,T0=(y|0)>0?y:0,q6(T|0,(Z[_>>2]|0)+I|0,T0|0)|0,Z[J>>2]=T0+I,I=A+4|0,Z[I>>2]=Z[T>>2],Z[T>>2]=0,E6=I,W=90;break}default:t0=z,W=88}T:do if((W|0)==88){switch(W=0,z=A+4|0,Z[z>>2]=Z[T>>2],Z[T>>2]=0,t0|0){case 1:{E6=z,W=90;break T}case 0:{g8(T,4,1,Z[U>>2]|0)|0,V6=Z[$>>2]|0;break}default:V6=t0}switch(I=A+16|0,Z[I>>2]=Z[T>>2],Z[T>>2]=0,V6|0){case 1:{n0=I,e0=z,W=93;break T}case 0:break;default:{Z6=I,U6=z;break T}}g8(T,4,1,Z[U>>2]|0)|0,Z6=I,U6=z}while(0);if((W|0)==90)W=0,C=Z[J>>2]|0,z=(Z[S>>2]|0)-C|0,I=(z|0)<4?z:4,z=(I|0)>0?I:0,q6(T|0,(Z[_>>2]|0)+C|0,z|0)|0,Z[J>>2]=z+C,C=A+16|0,Z[C>>2]=Z[T>>2],Z[T>>2]=0,n0=C,e0=E6,W=93;if((W|0)==93)W=0,C=Z[J>>2]|0,z=(Z[S>>2]|0)-C|0,I=(z|0)<4?z:4,z=(I|0)>0?I:0,q6(T|0,(Z[_>>2]|0)+C|0,z|0)|0,Z[J>>2]=z+C,Z6=n0,U6=e0;C=A+24|0,Z[C>>2]=Z[T>>2],pz(A,Z[U6>>2]|0),mz(A,Z[Z6>>2]|0);T:do if((Z[U6>>2]|0)>0){z=0;while(!0){switch(f[T>>2]=0,I=Z[$>>2]|0,I|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,N6=Z[$>>2]|0,W=99;break}case 1:{T0=Z[J>>2]|0,y=(Z[S>>2]|0)-T0|0,Z0=(y|0)<4?y:4,y=(Z0|0)>0?Z0:0,q6(T|0,(Z[_>>2]|0)+T0|0,y|0)|0,Z[J>>2]=y+T0,T0=Z[A>>2]|0,Z[T0+(z*12|0)>>2]=Z[T>>2],f[T>>2]=0,A6=T0,W=405;break}default:N6=I,W=99}X:do if((W|0)==99){switch(W=0,I=Z[A>>2]|0,Z[I+(z*12|0)>>2]=Z[T>>2],f[T>>2]=0,N6|0){case 1:{A6=I,W=405;break X}case 0:{g8(T,4,1,Z[U>>2]|0)|0,S6=Z[A>>2]|0,H6=Z[$>>2]|0;break}default:S6=I,H6=N6}switch(Z[S6+(z*12|0)+4>>2]=Z[T>>2],f[T>>2]=0,H6|0){case 1:{M6=S6,W=408;break X}case 0:break;default:{F6=S6;break X}}g8(T,4,1,Z[U>>2]|0)|0,F6=Z[A>>2]|0}while(0);if((W|0)==405)W=0,I=Z[J>>2]|0,T0=(Z[S>>2]|0)-I|0,y=(T0|0)<4?T0:4,T0=(y|0)>0?y:0,q6(T|0,(Z[_>>2]|0)+I|0,T0|0)|0,Z[J>>2]=T0+I,Z[A6+(z*12|0)+4>>2]=Z[T>>2],f[T>>2]=0,M6=A6,W=408;if((W|0)==408)W=0,I=Z[J>>2]|0,T0=(Z[S>>2]|0)-I|0,y=(T0|0)<4?T0:4,T0=(y|0)>0?y:0,q6(T|0,(Z[_>>2]|0)+I|0,T0|0)|0,Z[J>>2]=T0+I,F6=M6;if(Z[F6+(z*12|0)+8>>2]=Z[T>>2],z=z+1|0,(z|0)>=(Z[U6>>2]|0))break T}}while(0);T:do if((Z[Z6>>2]|0)>0){z=A+12|0,I=0;while(!0){switch(T0=Z[z>>2]|0,y=T0+(I*80|0)|0,j[T>>1]=0,Z[$>>2]|0){case 0:{g8(T,2,1,Z[U>>2]|0)|0;break}case 1:{Z0=Z[J>>2]|0,W0=(Z[S>>2]|0)-Z0|0,J6=(W0|0)<2?W0:2,W0=(J6|0)>0?J6:0,q6(T|0,(Z[_>>2]|0)+Z0|0,W0|0)|0,Z[J>>2]=W0+Z0;break}default:}switch(Z0=j[T>>1]|0,W0=T0+(I*80|0)+56|0,j[W0>>1]=Z0,uz(y,Z0<<16>>16),j[T>>1]=0,Z0=Z[$>>2]|0,Z0|0){case 0:{g8(T,2,1,Z[U>>2]|0)|0,L6=Z[$>>2]|0,W=108;break}case 1:{y=Z[J>>2]|0,J6=(Z[S>>2]|0)-y|0,c0=(J6|0)<2?J6:2,J6=(c0|0)>0?c0:0,q6(T|0,(Z[_>>2]|0)+y|0,J6|0)|0,Z[J>>2]=J6+y,j[T0+(I*80|0)+72>>1]=j[T>>1]|0,j[T>>1]=0,W=110;break}default:L6=Z0,W=108}X:do if((W|0)==108){switch(W=0,j[T0+(I*80|0)+72>>1]=j[T>>1]|0,j[T>>1]=0,L6|0){case 1:{W=110;break X}case 0:break;default:break X}g8(T,2,1,Z[U>>2]|0)|0}while(0);if((W|0)==110)W=0,Z0=Z[J>>2]|0,y=(Z[S>>2]|0)-Z0|0,J6=(y|0)<2?y:2,y=(J6|0)>0?J6:0,q6(T|0,(Z[_>>2]|0)+Z0|0,y|0)|0,Z[J>>2]=y+Z0;j[T0+(I*80|0)+74>>1]=j[T>>1]|0;X:do if((j[W0>>1]|0)>0){Z0=T0+(I*80|0)+48|0,y=T0+(I*80|0)+52|0,J6=0;while(!0){switch(Z[T>>2]=0,Z[$>>2]|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0;break}case 1:{c0=Z[J>>2]|0,T6=(Z[S>>2]|0)-c0|0,W6=(T6|0)<4?T6:4,T6=(W6|0)>0?W6:0,q6(T|0,(Z[_>>2]|0)+c0|0,T6|0)|0,Z[J>>2]=T6+c0;break}default:}switch(Z[(Z[Z0>>2]|0)+(J6<<2)>>2]=Z[T>>2],f[T>>2]=0,c0=Z[$>>2]|0,c0|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,h6=Z[$>>2]|0,W=119;break}case 1:{T6=Z[J>>2]|0,W6=(Z[S>>2]|0)-T6|0,s6=(W6|0)<4?W6:4,W6=(s6|0)>0?s6:0,q6(T|0,(Z[_>>2]|0)+T6|0,W6|0)|0,Z[J>>2]=W6+T6,T6=Z[y>>2]|0,Z[T6+(J6<<3)>>2]=Z[T>>2],f[T>>2]=0,p6=T6,W=121;break}default:h6=c0,W=119}W:do if((W|0)==119){switch(W=0,c0=Z[y>>2]|0,Z[c0+(J6<<3)>>2]=Z[T>>2],f[T>>2]=0,h6|0){case 1:{p6=c0,W=121;break W}case 0:break;default:{G6=c0;break W}}g8(T,4,1,Z[U>>2]|0)|0,G6=Z[y>>2]|0}while(0);if((W|0)==121)W=0,c0=Z[J>>2]|0,T6=(Z[S>>2]|0)-c0|0,W6=(T6|0)<4?T6:4,T6=(W6|0)>0?W6:0,q6(T|0,(Z[_>>2]|0)+c0|0,T6|0)|0,Z[J>>2]=T6+c0,G6=p6;if(Z[G6+(J6<<3)+4>>2]=Z[T>>2],J6=J6+1|0,(J6|0)>=(j[W0>>1]|0))break X}}while(0);if(I=I+1|0,(I|0)>=(Z[Z6>>2]|0))break T}}while(0);T:do if((Z[C>>2]|0)>0?(Z[U6>>2]|0)>0:0){I=A+28|0,z=0;while(!0){switch(j[T>>1]=0,W0=Z[$>>2]|0,W0|0){case 0:{g8(T,2,1,Z[U>>2]|0)|0,w6=Z[$>>2]|0,W=130;break}case 1:{T0=Z[J>>2]|0,J6=(Z[S>>2]|0)-T0|0,y=(J6|0)<2?J6:2,J6=(y|0)>0?y:0,q6(T|0,(Z[_>>2]|0)+T0|0,J6|0)|0,Z[J>>2]=J6+T0,T0=j[T>>1]|0,J6=Z[I>>2]|0,y=J6+(z<<5)|0,j[y>>1]=T0,j[T>>1]=0,B6=J6,i6=T0,H8=y,W=132;break}default:w6=W0,W=130}X:do if((W|0)==130){switch(W=0,W0=j[T>>1]|0,y=Z[I>>2]|0,T0=y+(z<<5)|0,j[T0>>1]=W0,j[T>>1]=0,w6|0){case 1:{B6=y,i6=W0,H8=T0,W=132;break X}case 0:break;default:{m6=y,_8=W0,v8=w6,Y8=T0;break X}}g8(T,2,1,Z[U>>2]|0)|0,T0=Z[I>>2]|0,W0=T0+(z<<5)|0,m6=T0,_8=j[W0>>1]|0,v8=Z[$>>2]|0,Y8=W0}while(0);if((W|0)==132)W=0,W0=Z[J>>2]|0,T0=(Z[S>>2]|0)-W0|0,y=(T0|0)<2?T0:2,T0=(y|0)>0?y:0,q6(T|0,(Z[_>>2]|0)+W0|0,T0|0)|0,Z[J>>2]=T0+W0,m6=B6,_8=i6,v8=1,Y8=H8;switch(W0=j[T>>1]|0,T0=_8&65535,y=(Z[C>>2]|0)+-1|0,J6=(y|0)>(T0|0)?T0:y,j[Y8>>1]=(J6|0)>0?J6:0,J6=W0&65535,W0=(y|0)>(J6|0)?J6:y,j[m6+(z<<5)+2>>1]=(W0|0)>0?W0:0,f[T>>2]=0,v8|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,T8=Z[I>>2]|0;break}case 1:{W0=Z[J>>2]|0,y=(Z[S>>2]|0)-W0|0,J6=(y|0)<4?y:4,y=(J6|0)>0?J6:0,q6(T|0,(Z[_>>2]|0)+W0|0,y|0)|0,Z[J>>2]=y+W0,T8=m6;break}default:T8=m6}if(Z[T8+(z<<5)+4>>2]=Z[T>>2],z=z+1|0,(z|0)>=(Z[U6>>2]|0))break T}}while(0);gz(A),x3(Y,6,A)|0,W=396;break Y}switch(O|0){case 1229865283:break;default:break Q}switch(C=dz()|0,Z[T>>2]=0,z=Z[$>>2]|0,z|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,C8=Z[$>>2]|0,W=145;break}case 1:{I=Z[J>>2]|0,W0=(Z[S>>2]|0)-I|0,y=(W0|0)<4?W0:4,W0=(y|0)>0?y:0,q6(T|0,(Z[_>>2]|0)+I|0,W0|0)|0,Z[J>>2]=W0+I,C8=1,W=145;break}default:j8=z,C6=0}if((W|0)==145)W=0,j8=C8,C6=Z[T>>2]|0;switch(Z[T>>2]=0,j8|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,o6=Z[T>>2]|0,u6=Z[$>>2]|0,W=149;break}case 1:{z=Z[S>>2]|0,I=Z[J>>2]|0,W0=z-I|0,y=(W0|0)<4?W0:4,W0=(y|0)>0?y:0,y=Z[_>>2]|0,q6(T|0,y+I|0,W0|0)|0,J6=W0+I|0,Z[J>>2]=J6,Z[C+8>>2]=Z[T>>2],Z[T>>2]=0,p8=z,i8=J6,q8=y,W=152;break}default:o6=0,u6=j8,W=149}T:do if((W|0)==149){switch(W=0,Z[C+8>>2]=o6,Z[T>>2]=0,u6|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,m8=Z[T>>2]|0,l8=Z[$>>2]|0;break}case 1:{p8=Z[S>>2]|0,i8=Z[J>>2]|0,q8=Z[_>>2]|0,W=152;break T}default:m8=0,l8=u6}switch(Z[C+12>>2]=m8,Z[T>>2]=0,l8|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,w8=Z[$>>2]|0;break}case 1:{U2=Z[S>>2]|0,K8=Z[J>>2]|0,A8=Z[_>>2]|0,W=156;break T}default:w8=l8}switch(Z[T>>2]=0,w8|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,t8=Z[$>>2]|0;break}case 1:{_2=Z[S>>2]|0,Y2=Z[J>>2]|0,Q2=Z[_>>2]|0,W=280;break T}default:t8=w8}switch(Z[T>>2]=0,t8|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,F2=Z[$>>2]|0;break}case 1:{w2=Z[S>>2]|0,G2=Z[J>>2]|0,K2=Z[_>>2]|0,W=284;break T}default:F2=t8}switch(Z[T>>2]=0,F2|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,Z2=Z[$>>2]|0;break}case 1:{o2=Z[S>>2]|0,u8=Z[J>>2]|0,L2=Z[_>>2]|0,W=288;break T}default:Z2=F2}switch(Z[T>>2]=0,Z2|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0;break T}case 1:{N2=Z[S>>2]|0,u2=Z[J>>2]|0,Z1=Z[_>>2]|0,W=292;break T}default:break T}}while(0);if((W|0)==152)W=0,A=p8-i8|0,y=(A|0)<4?A:4,A=(y|0)>0?y:0,q6(T|0,q8+i8|0,A|0)|0,y=A+i8|0,Z[J>>2]=y,Z[C+12>>2]=Z[T>>2],Z[T>>2]=0,U2=p8,K8=y,A8=q8,W=156;if((W|0)==156)W=0,y=U2-K8|0,A=(y|0)<4?y:4,y=(A|0)>0?A:0,q6(T|0,A8+K8|0,y|0)|0,A=y+K8|0,Z[J>>2]=A,Z[T>>2]=0,_2=U2,Y2=A,Q2=A8,W=280;if((W|0)==280)W=0,A=_2-Y2|0,y=(A|0)<4?A:4,A=(y|0)>0?y:0,q6(T|0,Q2+Y2|0,A|0)|0,y=A+Y2|0,Z[J>>2]=y,Z[T>>2]=0,w2=_2,G2=y,K2=Q2,W=284;if((W|0)==284)W=0,y=w2-G2|0,A=(y|0)<4?y:4,y=(A|0)>0?A:0,q6(T|0,K2+G2|0,y|0)|0,A=y+G2|0,Z[J>>2]=A,Z[T>>2]=0,o2=w2,u8=A,L2=K2,W=288;if((W|0)==288)W=0,A=o2-u8|0,y=(A|0)<4?A:4,A=(y|0)>0?y:0,q6(T|0,L2+u8|0,A|0)|0,y=A+u8|0,Z[J>>2]=y,Z[T>>2]=0,N2=o2,u2=y,Z1=L2,W=292;if((W|0)==292)W=0,y=N2-u2|0,A=(y|0)<4?y:4,y=(A|0)>0?A:0,q6(T|0,Z1+u2|0,y|0)|0,Z[J>>2]=y+u2;T:do if((C6|0)>0){y=C+4|0,A=0;while(!0){switch(az(C)|0,J6=Z[y>>2]|0,z=J6+(A*112|0)|0,I=Z[$>>2]|0,I|0){case 0:{g8(z,1,32,Z[U>>2]|0)|0,W=163;break}case 1:{W0=Z[J>>2]|0,T0=(Z[S>>2]|0)-W0|0,Z0=(T0|0)<32?T0:32,T0=(Z0|0)>0?Z0:0,q6(z|0,(Z[_>>2]|0)+W0|0,T0|0)|0,Z[J>>2]=T0+(Z[J>>2]|0),W=163;break}default:I2=I}if((W|0)==163)W=0,I2=Z[$>>2]|0;switch(I=J6+(A*112|0)+32|0,I2|0){case 0:{g8(I,1,32,Z[U>>2]|0)|0;break}case 1:{T0=Z[J>>2]|0,W0=(Z[S>>2]|0)-T0|0,z=(W0|0)<32?W0:32,W0=(z|0)>0?z:0,q6(I|0,(Z[_>>2]|0)+T0|0,W0|0)|0,Z[J>>2]=W0+(Z[J>>2]|0);break}default:}switch(Z[T>>2]=0,W0=Z[$>>2]|0,W0|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,j2=Z[T>>2]|0,Q1=Z[$>>2]|0,W=170;break}case 1:{T0=Z[S>>2]|0,I=Z[J>>2]|0,z=T0-I|0,Z0=(z|0)<4?z:4,z=(Z0|0)>0?Z0:0,Z0=Z[_>>2]|0,q6(T|0,Z0+I|0,z|0)|0,c0=z+I|0,Z[J>>2]=c0,Z[J6+(A*112|0)+68>>2]=Z[T>>2],Z[T>>2]=0,p2=T0,r2=c0,W1=Z0,W=173;break}default:j2=0,Q1=W0,W=170}X:do if((W|0)==170){switch(W=0,Z[J6+(A*112|0)+68>>2]=j2,Z[T>>2]=0,Q1|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,x2=Z[T>>2]|0,a2=Z[$>>2]|0;break}case 1:{p2=Z[S>>2]|0,r2=Z[J>>2]|0,W1=Z[_>>2]|0,W=173;break X}default:x2=0,a2=Q1}switch(Z[J6+(A*112|0)+72>>2]=x2,Z[T>>2]=0,a2|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,E2=Z[T>>2]|0,d2=Z[$>>2]|0;break}case 1:{b2=Z[S>>2]|0,P2=Z[J>>2]|0,V1=Z[_>>2]|0,W=177;break X}default:E2=0,d2=a2}switch(Z[J6+(A*112|0)+76>>2]=E2,Z[T>>2]=0,d2|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,X2=Z[T>>2]|0,$1=Z[$>>2]|0;break}case 1:{P1=Z[S>>2]|0,v2=Z[J>>2]|0,T1=Z[_>>2]|0,W=181;break X}default:X2=0,$1=d2}switch(Z[J6+(A*112|0)+100>>2]=X2,Z[T>>2]=0,$1|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,_1=Z[T>>2]|0,l2=Z[$>>2]|0;break}case 1:{c1=Z[S>>2]|0,$7=Z[J>>2]|0,D1=Z[_>>2]|0,W=185;break X}default:_1=0,l2=$1}switch(W0=J6+(A*112|0)+104|0,Z[W0>>2]=_1,Z[T>>2]=0,l2|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,n2=Z[T>>2]|0,z1=Z[$>>2]|0;break}case 1:{N1=Z[S>>2]|0,l1=Z[J>>2]|0,A1=Z[_>>2]|0,y1=W0,W=189;break X}default:n2=0,z1=l2}switch(Z[J6+(A*112|0)+108>>2]=n2,Z[T>>2]=0,z1|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,B1=Z[$>>2]|0;break}case 1:{Z7=Z[S>>2]|0,S1=Z[J>>2]|0,q7=Z[_>>2]|0,g2=W0,W=193;break X}default:B1=z1}switch(Z[T>>2]=0,B1|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,T7=Z[$>>2]|0;break}case 1:{F7=Z[S>>2]|0,N7=Z[J>>2]|0,f8=Z[_>>2]|0,C5=W0,W=272;break X}default:T7=B1}switch(Z[T>>2]=0,T7|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,i1=Z[$>>2]|0;break}case 1:{c2=Z[S>>2]|0,D2=Z[J>>2]|0,X1=Z[_>>2]|0,H2=W0,W=276;break X}default:i1=T7}switch(Z0=Z[J6+(A*112|0)+80>>2]|0,Z[T>>2]=0,i1|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,i2=Z0,e8=W0;break X}case 1:{t2=Z[S>>2]|0,t1=Z[J>>2]|0,y2=Z[_>>2]|0,A2=Z0,M1=W0,W=197;break X}default:{i2=Z0,e8=W0;break X}}}while(0);if((W|0)==173)W=0,W0=p2-r2|0,Z0=(W0|0)<4?W0:4,W0=(Z0|0)>0?Z0:0,q6(T|0,W1+r2|0,W0|0)|0,Z0=W0+r2|0,Z[J>>2]=Z0,Z[J6+(A*112|0)+72>>2]=Z[T>>2],Z[T>>2]=0,b2=p2,P2=Z0,V1=W1,W=177;if((W|0)==177)W=0,Z0=b2-P2|0,W0=(Z0|0)<4?Z0:4,Z0=(W0|0)>0?W0:0,q6(T|0,V1+P2|0,Z0|0)|0,W0=Z0+P2|0,Z[J>>2]=W0,Z[J6+(A*112|0)+76>>2]=Z[T>>2],Z[T>>2]=0,P1=b2,v2=W0,T1=V1,W=181;if((W|0)==181)W=0,W0=P1-v2|0,Z0=(W0|0)<4?W0:4,W0=(Z0|0)>0?Z0:0,q6(T|0,T1+v2|0,W0|0)|0,Z0=W0+v2|0,Z[J>>2]=Z0,Z[J6+(A*112|0)+100>>2]=Z[T>>2],Z[T>>2]=0,c1=P1,$7=Z0,D1=T1,W=185;if((W|0)==185)W=0,Z0=c1-$7|0,W0=(Z0|0)<4?Z0:4,Z0=(W0|0)>0?W0:0,q6(T|0,D1+$7|0,Z0|0)|0,W0=Z0+$7|0,Z[J>>2]=W0,Z0=J6+(A*112|0)+104|0,Z[Z0>>2]=Z[T>>2],Z[T>>2]=0,N1=c1,l1=W0,A1=D1,y1=Z0,W=189;if((W|0)==189)W=0,Z0=N1-l1|0,W0=(Z0|0)<4?Z0:4,Z0=(W0|0)>0?W0:0,q6(T|0,A1+l1|0,Z0|0)|0,W0=Z0+l1|0,Z[J>>2]=W0,Z[J6+(A*112|0)+108>>2]=Z[T>>2],Z[T>>2]=0,Z7=N1,S1=W0,q7=A1,g2=y1,W=193;if((W|0)==193)W=0,W0=Z7-S1|0,Z0=(W0|0)<4?W0:4,W0=(Z0|0)>0?Z0:0,q6(T|0,q7+S1|0,W0|0)|0,Z0=W0+S1|0,Z[J>>2]=Z0,Z[T>>2]=0,F7=Z7,N7=Z0,f8=q7,C5=g2,W=272;if((W|0)==272)W=0,Z0=F7-N7|0,W0=(Z0|0)<4?Z0:4,Z0=(W0|0)>0?W0:0,q6(T|0,f8+N7|0,Z0|0)|0,W0=Z0+N7|0,Z[J>>2]=W0,Z[T>>2]=0,c2=F7,D2=W0,X1=f8,H2=C5,W=276;if((W|0)==276)W=0,W0=c2-D2|0,Z0=(W0|0)<4?W0:4,W0=(Z0|0)>0?Z0:0,q6(T|0,X1+D2|0,W0|0)|0,Z0=W0+D2|0,Z[J>>2]=Z0,W0=Z[J6+(A*112|0)+80>>2]|0,Z[T>>2]=0,t2=c2,t1=Z0,y2=X1,A2=W0,M1=H2,W=197;if((W|0)==197)W=0,W0=t2-t1|0,Z0=(W0|0)<4?W0:4,W0=(Z0|0)>0?Z0:0,q6(T|0,y2+t1|0,W0|0)|0,Z[J>>2]=W0+t1,i2=A2,e8=M1;W0=Z[T>>2]|0,Z[i2>>2]=W0,_Y(i2,W0),W0=Z[i2>>2]|0;X:do if(!W0)W=209;else{switch(Z0=Z[i2+12>>2]|0,c0=Z[i2+8>>2]|0,T0=Z[$>>2]|0,T0|0){case 0:{g8(Z0,c0,W0,Z[U>>2]|0)|0,W=202;break}case 1:{I=B(c0,W0)|0,c0=Z[J>>2]|0,z=(Z[S>>2]|0)-c0|0,T6=(I|0)<(z|0)?I:z,z=(T6|0)>0?T6:0,q6(Z0|0,(Z[_>>2]|0)+c0|0,z|0)|0,Z[J>>2]=z+(Z[J>>2]|0),W=202;break}default:w1=T0,p7=W0}if((W|0)==202)W=0,w1=Z[$>>2]|0,p7=Z[i2>>2]|0;switch(T0=Z[i2+16>>2]|0,w1|0){case 0:{g8(T0,4,p7,Z[U>>2]|0)|0;break}case 1:{z=p7<<2,c0=Z[J>>2]|0,Z0=(Z[S>>2]|0)-c0|0,T6=(z|0)<(Z0|0)?z:Z0,Z0=(T6|0)>0?T6:0,q6(T0|0,(Z[_>>2]|0)+c0|0,Z0|0)|0,Z[J>>2]=Z0+(Z[J>>2]|0);break}default:}switch(Z0=Z[i2+20>>2]|0,c0=Z[i2>>2]|0,T0=Z[$>>2]|0,T0|0){case 0:{g8(Z0,4,c0,Z[U>>2]|0)|0,W=209;break X}case 1:{T6=c0<<2,c0=Z[J>>2]|0,z=(Z[S>>2]|0)-c0|0,I=(T6|0)<(z|0)?T6:z,z=(I|0)>0?I:0,q6(Z0|0,(Z[_>>2]|0)+c0|0,z|0)|0,Z[J>>2]=z+(Z[J>>2]|0),W=209;break X}default:{U1=T0;break X}}}while(0);if((W|0)==209)W=0,U1=Z[$>>2]|0;switch(W0=Z[J6+(A*112|0)+84>>2]|0,Z[T>>2]=0,U1|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0;break}case 1:{T0=Z[J>>2]|0,z=(Z[S>>2]|0)-T0|0,c0=(z|0)<4?z:4,z=(c0|0)>0?c0:0,q6(T|0,(Z[_>>2]|0)+T0|0,z|0)|0,Z[J>>2]=z+T0;break}default:}T0=Z[T>>2]|0,Z[W0>>2]=T0,_Y(W0,T0),T0=Z[W0>>2]|0;X:do if(!T0)W=224;else{switch(z=Z[W0+12>>2]|0,c0=Z[W0+8>>2]|0,Z0=Z[$>>2]|0,Z0|0){case 0:{g8(z,c0,T0,Z[U>>2]|0)|0,W=217;break}case 1:{I=B(c0,T0)|0,c0=Z[J>>2]|0,T6=(Z[S>>2]|0)-c0|0,W6=(I|0)<(T6|0)?I:T6,T6=(W6|0)>0?W6:0,q6(z|0,(Z[_>>2]|0)+c0|0,T6|0)|0,Z[J>>2]=T6+(Z[J>>2]|0),W=217;break}default:h7=Z0,U7=T0}if((W|0)==217)W=0,h7=Z[$>>2]|0,U7=Z[W0>>2]|0;switch(Z0=Z[W0+16>>2]|0,h7|0){case 0:{g8(Z0,4,U7,Z[U>>2]|0)|0;break}case 1:{T6=U7<<2,c0=Z[J>>2]|0,z=(Z[S>>2]|0)-c0|0,W6=(T6|0)<(z|0)?T6:z,z=(W6|0)>0?W6:0,q6(Z0|0,(Z[_>>2]|0)+c0|0,z|0)|0,Z[J>>2]=z+(Z[J>>2]|0);break}default:}switch(z=Z[W0+20>>2]|0,c0=Z[W0>>2]|0,Z0=Z[$>>2]|0,Z0|0){case 0:{g8(z,4,c0,Z[U>>2]|0)|0,W=224;break X}case 1:{W6=c0<<2,c0=Z[J>>2]|0,T6=(Z[S>>2]|0)-c0|0,I=(W6|0)<(T6|0)?W6:T6,T6=(I|0)>0?I:0,q6(z|0,(Z[_>>2]|0)+c0|0,T6|0)|0,Z[J>>2]=T6+(Z[J>>2]|0),W=224;break X}default:{E7=Z0;break X}}}while(0);if((W|0)==224)W=0,E7=Z[$>>2]|0;switch(W0=Z[J6+(A*112|0)+88>>2]|0,Z[T>>2]=0,E7|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0;break}case 1:{T0=Z[J>>2]|0,Z0=(Z[S>>2]|0)-T0|0,T6=(Z0|0)<4?Z0:4,Z0=(T6|0)>0?T6:0,q6(T|0,(Z[_>>2]|0)+T0|0,Z0|0)|0,Z[J>>2]=Z0+T0;break}default:}T0=Z[T>>2]|0,Z[W0>>2]=T0,_Y(W0,T0),T0=Z[W0>>2]|0;X:do if(T0|0){switch(Z0=Z[W0+12>>2]|0,T6=Z[W0+8>>2]|0,c0=Z[$>>2]|0,c0|0){case 0:{g8(Z0,T6,T0,Z[U>>2]|0)|0,W=232;break}case 1:{z=B(T6,T0)|0,T6=Z[J>>2]|0,I=(Z[S>>2]|0)-T6|0,W6=(z|0)<(I|0)?z:I,I=(W6|0)>0?W6:0,q6(Z0|0,(Z[_>>2]|0)+T6|0,I|0)|0,Z[J>>2]=I+(Z[J>>2]|0),W=232;break}default:k2=c0,I1=T0}if((W|0)==232)W=0,k2=Z[$>>2]|0,I1=Z[W0>>2]|0;switch(c0=Z[W0+16>>2]|0,k2|0){case 0:{g8(c0,4,I1,Z[U>>2]|0)|0;break}case 1:{I=I1<<2,T6=Z[J>>2]|0,Z0=(Z[S>>2]|0)-T6|0,W6=(I|0)<(Z0|0)?I:Z0,Z0=(W6|0)>0?W6:0,q6(c0|0,(Z[_>>2]|0)+T6|0,Z0|0)|0,Z[J>>2]=Z0+(Z[J>>2]|0);break}default:}switch(Z0=Z[W0+20>>2]|0,T6=Z[W0>>2]|0,Z[$>>2]|0){case 0:{g8(Z0,4,T6,Z[U>>2]|0)|0;break X}case 1:{c0=T6<<2,T6=Z[J>>2]|0,W6=(Z[S>>2]|0)-T6|0,I=(c0|0)<(W6|0)?c0:W6,W6=(I|0)>0?I:0,q6(Z0|0,(Z[_>>2]|0)+T6|0,W6|0)|0,Z[J>>2]=W6+(Z[J>>2]|0);break X}default:break X}}while(0);W0=Z[e8>>2]|0;X:do if(W0|0){if(T0=J6+(A*112|0)+92|0,Z[T0>>2]=B2(W0<<2)|0,(Z[e8>>2]|0)<=0)break;W6=0;while(!0){switch(T6=cz(16)|0,Z[(Z[T0>>2]|0)+(W6<<2)>>2]=T6,T6=Z[(Z[T0>>2]|0)+(W6<<2)>>2]|0,Z[T>>2]=0,Z[$>>2]|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0;break}case 1:{Z0=Z[J>>2]|0,I=(Z[S>>2]|0)-Z0|0,c0=(I|0)<4?I:4,I=(c0|0)>0?c0:0,q6(T|0,(Z[_>>2]|0)+Z0|0,I|0)|0,Z[J>>2]=I+Z0;break}default:}Z0=Z[T>>2]|0,Z[T6>>2]=Z0,_Y(T6,Z0),Z0=Z[T6>>2]|0;W:do if(Z0|0){switch(I=Z[T6+12>>2]|0,c0=Z[T6+8>>2]|0,z=Z[$>>2]|0,z|0){case 0:{g8(I,c0,Z0,Z[U>>2]|0)|0,W=249;break}case 1:{s6=B(c0,Z0)|0,c0=Z[J>>2]|0,J1=(Z[S>>2]|0)-c0|0,O7=(s6|0)<(J1|0)?s6:J1,J1=(O7|0)>0?O7:0,q6(I|0,(Z[_>>2]|0)+c0|0,J1|0)|0,Z[J>>2]=J1+(Z[J>>2]|0),W=249;break}default:B7=z,j1=Z0}if((W|0)==249)W=0,B7=Z[$>>2]|0,j1=Z[T6>>2]|0;switch(z=Z[T6+16>>2]|0,B7|0){case 0:{g8(z,4,j1,Z[U>>2]|0)|0;break}case 1:{J1=j1<<2,c0=Z[J>>2]|0,I=(Z[S>>2]|0)-c0|0,O7=(J1|0)<(I|0)?J1:I,I=(O7|0)>0?O7:0,q6(z|0,(Z[_>>2]|0)+c0|0,I|0)|0,Z[J>>2]=I+(Z[J>>2]|0);break}default:}switch(I=Z[T6+20>>2]|0,c0=Z[T6>>2]|0,Z[$>>2]|0){case 0:{g8(I,4,c0,Z[U>>2]|0)|0;break W}case 1:{z=c0<<2,c0=Z[J>>2]|0,O7=(Z[S>>2]|0)-c0|0,J1=(z|0)<(O7|0)?z:O7,O7=(J1|0)>0?J1:0,q6(I|0,(Z[_>>2]|0)+c0|0,O7|0)|0,Z[J>>2]=O7+(Z[J>>2]|0);break W}default:break W}}while(0);if(W6=W6+1|0,(W6|0)>=(Z[e8>>2]|0))break X}}while(0);switch(W0=Z[J6+(A*112|0)+96>>2]|0,Z[T>>2]=0,Z[$>>2]|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0;break}case 1:{W6=Z[J>>2]|0,T0=(Z[S>>2]|0)-W6|0,T6=(T0|0)<4?T0:4,T0=(T6|0)>0?T6:0,q6(T|0,(Z[_>>2]|0)+W6|0,T0|0)|0,Z[J>>2]=T0+W6;break}default:}W6=Z[T>>2]|0,Z[W0>>2]=W6,_Y(W0,W6),W6=Z[W0>>2]|0;X:do if(W6|0){switch(T0=Z[W0+12>>2]|0,T6=Z[W0+8>>2]|0,Z0=Z[$>>2]|0,Z0|0){case 0:{g8(T0,T6,W6,Z[U>>2]|0)|0,W=264;break}case 1:{O7=B(T6,W6)|0,T6=Z[J>>2]|0,c0=(Z[S>>2]|0)-T6|0,I=(O7|0)<(c0|0)?O7:c0,c0=(I|0)>0?I:0,q6(T0|0,(Z[_>>2]|0)+T6|0,c0|0)|0,Z[J>>2]=c0+(Z[J>>2]|0),W=264;break}default:G7=Z0,M7=W6}if((W|0)==264)W=0,G7=Z[$>>2]|0,M7=Z[W0>>2]|0;switch(Z0=Z[W0+16>>2]|0,G7|0){case 0:{g8(Z0,4,M7,Z[U>>2]|0)|0;break}case 1:{c0=M7<<2,T6=Z[J>>2]|0,T0=(Z[S>>2]|0)-T6|0,I=(c0|0)<(T0|0)?c0:T0,T0=(I|0)>0?I:0,q6(Z0|0,(Z[_>>2]|0)+T6|0,T0|0)|0,Z[J>>2]=T0+(Z[J>>2]|0);break}default:}switch(T0=Z[W0+20>>2]|0,T6=Z[W0>>2]|0,Z[$>>2]|0){case 0:{g8(T0,4,T6,Z[U>>2]|0)|0;break X}case 1:{Z0=T6<<2,T6=Z[J>>2]|0,I=(Z[S>>2]|0)-T6|0,c0=(Z0|0)<(I|0)?Z0:I,I=(c0|0)>0?c0:0,q6(T0|0,(Z[_>>2]|0)+T6|0,I|0)|0,Z[J>>2]=I+(Z[J>>2]|0);break X}default:break X}}while(0);if(A=A+1|0,(A|0)==(C6|0))break T}}while(0);x3(Y,8,C)|0,W=396;break Y}else{if((O|0)<1314476867){switch(O|0){case 1279348803:break;default:break Q}switch(A=DW()|0,Z[$>>2]|0){case 0:{g8(A,1,768,Z[U>>2]|0)|0;break}case 1:{y=Z[J>>2]|0,W0=(Z[S>>2]|0)-y|0,W6=(W0|0)<768?W0:768,W0=(W6|0)>0?W6:0,q6(A|0,(Z[_>>2]|0)+y|0,W0|0)|0,Z[J>>2]=W0+(Z[J>>2]|0);break}default:}x3(Y,5,A)|0,W=396;break Y}if((O|0)>=1413565763){switch(O|0){case 1413565763:break;default:break Q}switch(A=nz()|0,Z[$>>2]|0){case 0:{g8(A,96,1,Z[U>>2]|0)|0;break}case 1:{W0=Z[J>>2]|0,y=(Z[S>>2]|0)-W0|0,W6=(y|0)<96?y:96,y=(W6|0)>0?W6:0,q6(A|0,(Z[_>>2]|0)+W0|0,y|0)|0,Z[J>>2]=y+(Z[J>>2]|0);break}default:}x3(Y,7,A)|0,W=396;break Y}switch(O|0){case 1314476867:break;default:break Q}switch(A=QF(0)|0,x3(Y,11,A)|0,C1(A,0,11032),Z[T>>2]=0,y=Z[$>>2]|0,y|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,m7=Z[$>>2]|0,W=326;break}case 1:{W0=Z[J>>2]|0,W6=(Z[S>>2]|0)-W0|0,J6=(W6|0)<4?W6:4,W6=(J6|0)>0?J6:0,q6(T|0,(Z[_>>2]|0)+W0|0,W6|0)|0,Z[J>>2]=W6+W0,Z[A>>2]=Z[T>>2],Z[T>>2]=0,s5=A,W=328;break}default:m7=y,W=326}T:do if((W|0)==326){switch(W=0,Z[A>>2]=Z[T>>2],Z[T>>2]=0,m7|0){case 1:{s5=A,W=328;break T}case 0:{g8(T,4,1,Z[U>>2]|0)|0,J7=Z[$>>2]|0;break}default:J7=m7}switch(Z[A+4>>2]=Z[T>>2],Z[T>>2]=0,J7|0){case 1:{F1=A,W=331;break T}case 0:break;default:{z7=J7,G5=0,u7=A;break T}}g8(T,4,1,Z[U>>2]|0)|0,r5=Z[$>>2]|0,g7=A,W=332}while(0);if((W|0)==328)W=0,C=Z[J>>2]|0,y=(Z[S>>2]|0)-C|0,W0=(y|0)<4?y:4,y=(W0|0)>0?W0:0,q6(T|0,(Z[_>>2]|0)+C|0,y|0)|0,Z[J>>2]=y+C,Z[A+4>>2]=Z[T>>2],Z[T>>2]=0,F1=s5,W=331;if((W|0)==331)W=0,C=Z[J>>2]|0,y=(Z[S>>2]|0)-C|0,W0=(y|0)<4?y:4,y=(W0|0)>0?W0:0,q6(T|0,(Z[_>>2]|0)+C|0,y|0)|0,Z[J>>2]=y+C,r5=1,g7=F1,W=332;if((W|0)==332)W=0,z7=r5,G5=Z[T>>2]|0,u7=g7;switch(Z[T>>2]=0,z7|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0;break}case 1:{C=Z[J>>2]|0,y=(Z[S>>2]|0)-C|0,W0=(y|0)<4?y:4,y=(W0|0)>0?W0:0,q6(T|0,(Z[_>>2]|0)+C|0,y|0)|0,Z[J>>2]=y+C;break}default:}if(!G5)Z[u7>>2]=(Z[u7>>2]|0)/2|0;switch(Z[T>>2]=0,Z[$>>2]|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0;break}case 1:{C=Z[J>>2]|0,y=(Z[S>>2]|0)-C|0,W0=(y|0)<4?y:4,y=(W0|0)>0?W0:0,q6(T|0,(Z[_>>2]|0)+C|0,y|0)|0,Z[J>>2]=y+C;break}default:{W=396;break Y}}if(C=Z[T>>2]|0,(C|0)<=0){W=396;break Y}y=0;while(!0){switch(Z[T>>2]=0,W0=Z[$>>2]|0,W0|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,j5=Z[$>>2]|0,W=347;break}case 1:{W6=Z[J>>2]|0,J6=(Z[S>>2]|0)-W6|0,I=(J6|0)<4?J6:4,J6=(I|0)>0?I:0,q6(T|0,(Z[_>>2]|0)+W6|0,J6|0)|0,Z[J>>2]=J6+W6,Z[A+8+(y*344|0)>>2]=Z[T>>2],Z[T>>2]=0,W=349;break}default:j5=W0,W=347}T:do if((W|0)==347){switch(W=0,Z[A+8+(y*344|0)>>2]=Z[T>>2],Z[T>>2]=0,j5|0){case 1:{W=349;break T}case 0:{g8(T,4,1,Z[U>>2]|0)|0,W9=Z[$>>2]|0;break}default:W9=j5}switch(Z[A+8+(y*344|0)+4>>2]=Z[T>>2],Z[T>>2]=0,W9|0){case 1:{W=352;break T}case 0:{g8(T,4,1,Z[U>>2]|0)|0,Z9=Z[$>>2]|0;break}default:Z9=W9}switch(Z[A+8+(y*344|0)+8>>2]=Z[T>>2],Z[T>>2]=0,Z9|0){case 1:{W=355;break T}case 0:{g8(T,4,1,Z[U>>2]|0)|0,A5=Z[$>>2]|0;break}default:A5=Z9}switch(Z[A+8+(y*344|0)+340>>2]=Z[T>>2],Z[T>>2]=0,A5|0){case 1:{W=358;break T}case 0:{g8(T,4,1,Z[U>>2]|0)|0,v7=Z[$>>2]|0;break}default:v7=A5}switch(W0=Z[T>>2]|0,Z[A+8+(y*344|0)+332>>2]=W0,W6=A+8+(y*344|0)+268|0,v7|0){case 1:{l7=W0,h5=W6,W=361;break T}case 0:break;default:{g5=v7;break T}}g8(W6,1,W0,Z[U>>2]|0)|0,W=362}while(0);if((W|0)==349)W=0,W0=Z[J>>2]|0,W6=(Z[S>>2]|0)-W0|0,J6=(W6|0)<4?W6:4,W6=(J6|0)>0?J6:0,q6(T|0,(Z[_>>2]|0)+W0|0,W6|0)|0,Z[J>>2]=W6+W0,Z[A+8+(y*344|0)+4>>2]=Z[T>>2],Z[T>>2]=0,W=352;if((W|0)==352)W=0,W0=Z[J>>2]|0,W6=(Z[S>>2]|0)-W0|0,J6=(W6|0)<4?W6:4,W6=(J6|0)>0?J6:0,q6(T|0,(Z[_>>2]|0)+W0|0,W6|0)|0,Z[J>>2]=W6+W0,Z[A+8+(y*344|0)+8>>2]=Z[T>>2],Z[T>>2]=0,W=355;if((W|0)==355)W=0,W0=Z[J>>2]|0,W6=(Z[S>>2]|0)-W0|0,J6=(W6|0)<4?W6:4,W6=(J6|0)>0?J6:0,q6(T|0,(Z[_>>2]|0)+W0|0,W6|0)|0,Z[J>>2]=W6+W0,Z[A+8+(y*344|0)+340>>2]=Z[T>>2],Z[T>>2]=0,W=358;if((W|0)==358)W=0,W0=Z[J>>2]|0,W6=(Z[S>>2]|0)-W0|0,J6=(W6|0)<4?W6:4,W6=(J6|0)>0?J6:0,q6(T|0,(Z[_>>2]|0)+W0|0,W6|0)|0,Z[J>>2]=W6+W0,W0=Z[T>>2]|0,Z[A+8+(y*344|0)+332>>2]=W0,l7=W0,h5=A+8+(y*344|0)+268|0,W=361;if((W|0)==361)W=0,W0=Z[J>>2]|0,W6=(Z[S>>2]|0)-W0|0,J6=(l7|0)<(W6|0)?l7:W6,W6=(J6|0)>0?J6:0,q6(h5|0,(Z[_>>2]|0)+W0|0,W6|0)|0,Z[J>>2]=W6+(Z[J>>2]|0),W=362;if((W|0)==362)W=0,g5=Z[$>>2]|0;switch(Z[T>>2]=0,g5|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,W=367;break}case 1:{W6=Z[J>>2]|0,W0=(Z[S>>2]|0)-W6|0,J6=(W0|0)<4?W0:4,W0=(J6|0)>0?J6:0,q6(T|0,(Z[_>>2]|0)+W6|0,W0|0)|0,Z[J>>2]=W0+W6,W=367;break}default:}T:do if((W|0)==367?(W=0,W6=Z[T>>2]|0,(W6|0)>0):0){W0=0;while(!0){switch(Z[T>>2]=0,J6=Z[$>>2]|0,J6|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0,M5=Z[$>>2]|0,W=372;break}case 1:{I=Z[J>>2]|0,T6=(Z[S>>2]|0)-I|0,T0=(T6|0)<4?T6:4,T6=(T0|0)>0?T0:0,q6(T|0,(Z[_>>2]|0)+I|0,T6|0)|0,Z[J>>2]=T6+I,Z[A+8+(y*344|0)+12+(W0<<4)>>2]=Z[T>>2],Z[T>>2]=0,W=374;break}default:M5=J6,W=372}X:do if((W|0)==372){switch(W=0,Z[A+8+(y*344|0)+12+(W0<<4)>>2]=Z[T>>2],Z[T>>2]=0,M5|0){case 1:{W=374;break X}case 0:{g8(T,4,1,Z[U>>2]|0)|0,r1=Z[$>>2]|0;break}default:r1=M5}switch(Z[A+8+(y*344|0)+12+(W0<<4)+8>>2]=Z[T>>2],Z[T>>2]=0,r1|0){case 1:{W=377;break X}case 0:break;default:break X}g8(T,4,1,Z[U>>2]|0)|0}while(0);if((W|0)==374)W=0,J6=Z[J>>2]|0,I=(Z[S>>2]|0)-J6|0,T6=(I|0)<4?I:4,I=(T6|0)>0?T6:0,q6(T|0,(Z[_>>2]|0)+J6|0,I|0)|0,Z[J>>2]=I+J6,Z[A+8+(y*344|0)+12+(W0<<4)+8>>2]=Z[T>>2],Z[T>>2]=0,W=377;if((W|0)==377)W=0,J6=Z[J>>2]|0,I=(Z[S>>2]|0)-J6|0,T6=(I|0)<4?I:4,I=(T6|0)>0?T6:0,q6(T|0,(Z[_>>2]|0)+J6|0,I|0)|0,Z[J>>2]=I+J6;if(Z[A+8+(y*344|0)+12+(W0<<4)+12>>2]=Z[T>>2],W0=W0+1|0,(W0|0)==(W6|0))break T}}while(0);if(y=y+1|0,(y|0)==(C|0)){W=396;break Y}}}while(0);if((F|0)!=1279870563)switch(s1(94416),C=Z[$>>2]|0,C|0){case 0:{KY(Z[U>>2]|0,L,1)|0,W=396;break Y}case 1:{Z[J>>2]=(Z[J>>2]|0)+L,W=396;break Y}default:{g0=C;break Y}}switch(C=(O|0)==1279870563,Z[T>>2]=0,Z[$>>2]|0){case 0:{g8(T,4,1,Z[U>>2]|0)|0;break}case 1:{y=Z[J>>2]|0,A=(Z[S>>2]|0)-y|0,W6=(A|0)<4?A:4,A=(W6|0)>0?W6:0,q6(T|0,(Z[_>>2]|0)+y|0,A|0)|0,Z[J>>2]=A+y;break}default:}switch(y=Z[T>>2]|0,A=Q3(y)|0,x3(Y,12,A)|0,W6=A+24|0,Z[$>>2]|0){case 0:{g8(W6,1,64,Z[U>>2]|0)|0;break}case 1:{W0=Z[J>>2]|0,J6=(Z[S>>2]|0)-W0|0,I=(J6|0)<64?J6:64,J6=(I|0)>0?I:0,q6(W6|0,(Z[_>>2]|0)+W0|0,J6|0)|0,Z[J>>2]=J6+(Z[J>>2]|0);break}default:}N[A+87>>0]=0,J6=Z[A+12>>2]|0;Q:do if(C)CN(J6,y,$)|0;else switch(Z[$>>2]|0){case 0:{g8(J6,1,y,Z[U>>2]|0)|0;break Q}case 1:{W0=Z[J>>2]|0,W6=(Z[S>>2]|0)-W0|0,I=(y|0)<(W6|0)?y:W6,W6=(I|0)>0?I:0,q6(J6|0,(Z[_>>2]|0)+W0|0,W6|0)|0,Z[J>>2]=W6+(Z[J>>2]|0);break Q}default:break Q}while(0);Z[A+16>>2]=y,W=396}while(0);if((W|0)==396)W=0,g0=Z[$>>2]|0;switch(P=P+1|0,g0|0){case 0:{V9=p4(Z[U>>2]|0)|0;break}case 1:{V9=(Z[J>>2]|0)>=(Z[S>>2]|0)&1;break}default:V9=0}if(V9|0)break V}if((W|0)==9)break;switch(Z[$>>2]|0){case 0:{KY(Z[U>>2]|0,-8,1)|0;break V}case 1:{Z[J>>2]=(Z[J>>2]|0)+-8;break V}default:break V}}while(0);if(Z[Y+16>>2]|0)return X=Y,q=V,X|0;return T$(Y),X=0,q=V,X|0}while(0);return T$(Y),X=0,q=V,X|0}function CN(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;switch(X=q,q=q+16|0,Y=X,Z[Y>>2]=0,Z[T>>2]|0){case 0:{g8(Y,4,1,Z[T+8>>2]|0)|0;break}case 1:{Q=T+20|0,W=Z[Q>>2]|0,U=(Z[T+16>>2]|0)-W|0,S=(U|0)<4?U:4,U=(S|0)>0?S:0,q6(Y|0,(Z[T+12>>2]|0)+W|0,U|0)|0,Z[Q>>2]=U+W;break}default:}switch(W=Z[Y>>2]|0,Y=B2(W)|0,Z[T>>2]|0){case 0:return g8(Y,1,W,Z[T+8>>2]|0)|0,J=GN(Y,V,W,$)|0,q=X,J|0;case 1:return U=T+20|0,Q=Z[U>>2]|0,S=(Z[T+16>>2]|0)-Q|0,_=(W|0)<(S|0)?W:S,S=(_|0)>0?_:0,q6(Y|0,(Z[T+12>>2]|0)+Q|0,S|0)|0,Z[U>>2]=S+(Z[U>>2]|0),J=GN(Y,V,W,$)|0,q=X,J|0;default:return J=GN(Y,V,W,$)|0,q=X,J|0}return 0}function _V(V){V=V|0;var $=0;switch(Z[V>>2]|0){case 0:return $=p4(Z[V+8>>2]|0)|0,$|0;case 1:return $=(Z[V+20>>2]|0)>=(Z[V+16>>2]|0)&1,$|0;default:return $=0,$|0}return 0}function qz(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;if($=q,q=q+16|0,T=$,X=c5(V,94452)|0,X)if(Y=SY(0,X)|0,!(OX(X)|0)){if(!(Z[X>>2]|0))m9(Z[X+8>>2]|0)|0;if(Z[X+88>>2]|0)$6(Z[X+12>>2]|0);if($6(X),!(Z[543671]|0))Z[543671]=(I8()|0)+1000,Q=Y;else Q=Y}else Q=Y;else Q=0;return Z[T>>2]=V,Z[T+4>>2]=(Q|0)==0?94455:94462,a6(1703776,94465,T)|0,s1(1703776),q=$,Q|0}function c5(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;T=q,q=q+1040|0,X=T+1032|0,Y=T+1024|0,Q=T,BQ(V,0,Q,0,1);Z:do{W=94300,U=4544;while(!0){if(S=x6(W)|0,(S|0)==(x6(Q)|0)?F5(W,Q)|0:0)break;if(U=U+4|0,W=Z[U>>2]|0,!W)break Z}return J=0,q=T,J|0}while(0);if((l0(26)|0)!=1){if(Q=TQ(V,$)|0,W=(Q|0)!=0,W)Z[Y>>2]=V,Z[Y+4>>2]=$,b1(94488,Y)|0;if(Y=N[$>>0]|0,Y<<24>>24==119|W&Y<<24>>24==114)return J=Q,q=T,J|0}if(Q=B2(92)|0,C1(Q,0,92),Z[Q>>2]=0,Y=NZ(V,$)|0,Z[Q+8>>2]=Y,Y){if(Q|0)return J=Q,q=T,J|0}else $6(Q);if(Q=TQ(V,$)|0,!Q)return J=0,q=T,J|0;return Z[X>>2]=V,Z[X+4>>2]=$,b1(94551,X)|0,J=Q,q=T,J|0}function BQ(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0;if(Q=q,q=q+1024|0,W=Q,U=($|0)!=0,U)N[$>>0]=0;if(S=(T|0)!=0,S)N[T>>0]=0;if(J=(X|0)!=0,J)N[X>>0]=0;if((x6(V)|0)>>>0>1023){s1(94586),q=Q;return}V8(W,V)|0,_=x6(V)|0,V=W+_|0;Z:do if((_|0)>0){K=V;while(!0){if((N[K>>0]&-2)<<24>>24==46){P=K;break Z}if(O=K+-1|0,O>>>0>W>>>0)K=O;else{P=O;break}}}else P=V;while(0);if(Y)if(Y=N[P>>0]|0,Y<<24>>24==46){V=P+-1|0;Z:do if(V>>>0>W>>>0){_=V;while(!0){if((N[_>>0]|1)<<24>>24==47){L=_;break Z}if(K=_+-1|0,K>>>0>W>>>0)_=K;else{L=K;break}}}else L=V;while(0);F=(N[L>>0]|0)==46?L:P,z=20}else H=Y,C=P,z=27;else F=P,z=20;Z:do if((z|0)==20)if(P=N[F>>0]|0,P<<24>>24==46){if(J)V8(X,F)|0;if(N[F>>0]=0,F>>>0>W>>>0){Y=F;while(!0){if(L=Y+-1|0,V=N[L>>0]|0,L>>>0<=W>>>0){H=V,C=L,z=27;break Z}if(V<<24>>24==47){A=L,z=28;break}else Y=L}}else y=F}else H=P,C=F,z=27;while(0);if((z|0)==27)if(H<<24>>24==47)A=C,z=28;else y=C;if((z|0)==28)y=A+1|0;if(S)V8(T,y)|0;if((y|0)==(W|0)){q=Q;return}if(N[y>>0]=0,!U){q=Q;return}V8($,W)|0,q=Q;return}function I5(V){if(V=V|0,!V)return;if(OX(V)|0)return;if(!(Z[V>>2]|0))m9(Z[V+8>>2]|0)|0;if(Z[V+88>>2]|0)$6(Z[V+12>>2]|0);if($6(V),Z[543671]|0)return;Z[543671]=(I8()|0)+1000;return}function AX(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0;if(N[V>>0]=0,!T)return X=0,X|0;switch(Z[T>>2]|0){case 0:{Y=p4(Z[T+8>>2]|0)|0,Q=5;break}case 1:{Y=(Z[T+20>>2]|0)>=(Z[T+16>>2]|0)&1,Q=5;break}default:}if((Q|0)==5?Y|0:0)return X=0,X|0;switch(N[V>>0]=0,Z[T>>2]|0){case 0:{W=uN(Z[T+8>>2]|0)|0,Q=10;break}case 1:{if(Y=T+20|0,U=Z[Y>>2]|0,(U|0)<(Z[T+16>>2]|0))Z[Y>>2]=U+1,W=G[(Z[T+12>>2]|0)+U>>0]|0,Q=10;else S=0,Q=11;break}default:S=0,Q=11}if((Q|0)==10)switch(U=(W+256|0)%256|0,U|0){case 10:case 13:case 255:{J=U,_=0;break}default:S=U,Q=11}Z:do if((Q|0)==11){switch(N[V>>0]=S,Z[T>>2]|0){case 0:{K=p4(Z[T+8>>2]|0)|0;break}case 1:{K=(Z[T+20>>2]|0)>=(Z[T+16>>2]|0)&1;break}default:K=0}if(U=$+-1|0,($|0)>2&(K|0)==0){W=T+8|0,Y=T+20|0,P=T+16|0,O=T+12|0,L=1;while(!0){switch(Z[T>>2]|0){case 0:{F=uN(Z[W>>2]|0)|0,Q=20;break}case 1:{if(z=Z[Y>>2]|0,(z|0)<(Z[P>>2]|0))Z[Y>>2]=z+1,F=G[(Z[O>>2]|0)+z>>0]|0,Q=20;else H=0;break}default:H=0}if((Q|0)==20)switch(Q=0,F|0){case 10:case 13:{J=F,_=L;break Z}default:H=F}switch(N[V+L>>0]=H,z=L+1|0,Z[T>>2]|0){case 0:{C=p4(Z[W>>2]|0)|0;break}case 1:{C=(Z[Y>>2]|0)>=(Z[P>>2]|0)&1;break}default:C=0}if((z|0)<(U|0)&(C|0)==0)L=z;else{J=H,_=z;break Z}}}else J=S,_=1}while(0);if(N[V+_>>0]=0,(J|0)!=13)return X=V,X|0;switch(Z[T>>2]|0){case 0:{A=uN(Z[T+8>>2]|0)|0,Q=30;break}case 1:{if(J=T+20|0,_=Z[J>>2]|0,(_|0)<(Z[T+16>>2]|0))Z[J>>2]=_+1,A=G[(Z[T+12>>2]|0)+_>>0]|0,Q=30;break}default:return X=V,X|0}if((Q|0)==30){if((A|0)==10)return X=V,X|0;if((Z[T>>2]|0)!=1)return X=V,X|0}return A=T+20|0,Z[A>>2]=(Z[A>>2]|0)+-1,X=V,X|0}function vz(){if(C1(2175728,0,7420),Z[543933]=0,Z[543934]=0,Z[543935]=32,Z[543940]=256,Z[543939]=(Z[544493]|0)==0?192:64,Z[543952]=1024,l0(27)|0)u9(94717)|0,Z[543952]=2048;if(Z[543953]=-1,Z[543946]=0,Z[543954]=0,Z[543955]=0,Z[543956]=0,Z[543957]=0,Z[543947]=-1,Z[543948]=-1,Z[543949]=-1,Z[543967]=-1,Z[543968]=1,Z[543974]=0,Z[543941]=2,Z[543942]=10,Z[543944]=0,!(Z[544493]|0)){Z[543962]=1,Z[543975]=30;return}Z[543941]=5,Z[543962]=1,Z[543975]=30;return}function jz(){var V=0,$=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0;if(V=q,q=q+1472|0,$=V+1456|0,T=V+1448|0,X=V+1440|0,Y=V+1432|0,Q=V+1424|0,W=V+1416|0,U=V+1408|0,S=V+1400|0,J=V+1392|0,_=V+1384|0,K=V+1376|0,P=V+1368|0,O=V+1360|0,L=V+1352|0,F=V+1344|0,z=V+1336|0,H=V+1328|0,C=V+1320|0,A=V+1312|0,y=V+1304|0,k=V+1296|0,m=V+1288|0,I=V+1280|0,u=V+1024|0,g=V,i=V+1468|0,t=V+1464|0,Z[545808]|0){q=V;return}if(N[2177984]=0,N[2179008]=0,E5(94770,g),Y0=c5(g,102896)|0,!Y0)if(BN(94770,g),X0=c5(g,102896)|0,!X0){q=V;return}else T0=X0;else T0=Y0;switch(Z[545808]=1,k7(2177984,g,1023)|0,s1(94781),s1(94799),Z[T0>>2]|0){case 0:{Z0=p4(Z[T0+8>>2]|0)|0,W0=7;break}case 1:{Z0=(Z[T0+20>>2]|0)>=(Z[T0+16>>2]|0)&1,W0=7;break}default:W0=8}if((W0|0)==7?(Z0|0)==0:0)W0=8;Z:do if((W0|0)==8){Z0=T0+8|0,g=u+10|0,Y0=T0+20|0,X0=T0+16|0,O0=u+11|0,y0=u+8|0,E0=u+19|0,H0=u+12|0,D0=u+15|0,_0=u+6|0,F0=u+9|0,k0=u+13|0,m0=u+17|0,B0=u+30|0,g0=u+255|0,o0=1;while(!0){switch(N[u>>0]=0,Z[T0>>2]|0){case 0:{yF(u,255,Z[Z0>>2]|0)|0;break}case 1:{AX(u,255,T0)|0;break}default:}h0=x6(u)|0;V:do if((h0|0)>0){C0=h0;while(!0){switch(u0=C0,C0=C0+-1|0,p0=u+C0|0,N[p0>>0]|0){case 13:case 10:break;default:break V}if(N[p0>>0]=0,(u0|0)<=1)break V}}while(0);switch(N[u>>0]|0){case 47:case 0:{q0=o0;break}default:Z[I>>2]=o0,Z[I+4>>2]=u,a6(1703776,94802,I)|0,s1(1703776),q0=o0+1|0}V:do if(!(k8(u,94811,10)|0))Z[m>>2]=2175744,Z[m+4>>2]=2175748,a8(g,94822,m)|0,Z[543933]=Z[543936],Z[543934]=Z[543937];else{if(!(k8(u,94829,11)|0)){Z[k>>2]=2175744,Z[k+4>>2]=2175748,a8(O0,94822,k)|0;break}if(!(k8(u,94841,11)|0)){Z[y>>2]=2175732,Z[y+4>>2]=2175736,a8(O0,94822,y)|0;break}if(!(k8(u,94853,8)|0)){Z[A>>2]=2175752,a8(y0,94862,A)|0;break}if(!(k8(u,94866,19)|0)){Z[C>>2]=2175764,a8(E0,94862,C)|0;break}if(!(k8(u,94886,19)|0)){Z[H>>2]=2175768,a8(E0,94862,H)|0;break}if(!(k8(u,94906,12)|0)){Z[z>>2]=2175756,a8(H0,94862,z)|0;break}if(!(k8(u,94919,12)|0)){Z[F>>2]=2175760,a8(H0,94862,F)|0;break}if(!(k8(u,94932,15)|0)){Z[L>>2]=2175808,a8(D0,94862,L)|0;break}if(!(k8(u,94948,6)|0)){Z[O>>2]=2175812,a8(_0,94862,O)|0;break}if(!(k8(u,94955,11)|0)){Z[P>>2]=2175816,a8(O0,94862,P)|0;break}if(!(k8(u,94967,8)|0)){Z[K>>2]=2175820,a8(y0,94862,K)|0;break}if(!(k8(u,94976,12)|0)){Z[_>>2]=2175828,a8(H0,94862,_)|0;break}if(!(k8(u,94989,9)|0)){Z[J>>2]=2175784,a8(F0,94862,J)|0;break}if(!(k8(u,94999,15)|0)){Z[S>>2]=2175788,Z[S+4>>2]=2175792,a8(D0,94822,S)|0,h0=Z[543948]|0,Z[U>>2]=Z[543947],Z[U+4>>2]=h0,a6(1703776,95015,U)|0,s1(1703776);break}if(!(k8(u,95044,8)|0)){Z[W>>2]=2175896,a8(F0,94862,W)|0;break}if(!(k8(u,95053,7)|0)){Z[Q>>2]=2175844,a8(y0,94862,Q)|0;break}if(!(k8(u,95061,12)|0)){N[2176940]=0,h0=k0;$:while(!0)switch(i0=N[h0>>0]|0,i0<<24>>24){case 0:break V;case 32:{h0=h0+1|0;break}default:break $}C0=i0,u0=h0,p0=0,t0=0;while(!0){E6=2176940+t0|0;do if(C0<<24>>24>31){if(V6=C0<<24>>24==92?47:C0<<24>>24,!((p0|0)!=47|(V6|0)!=47)){n0=47,e0=t0;break}N[E6>>0]=V6,Z6=t0+1|0,N[2176940+Z6>>0]=0,n0=V6,e0=Z6}else n0=p0,e0=t0;while(0);if(u0=u0+1|0,C0=N[u0>>0]|0,!(C0<<24>>24))break;else p0=n0,t0=e0}if((e0|0)<=0)break;t0=2176940+e0|0;$:while(!0){switch(p0=t0+-1|0,N[p0>>0]|0){case 47:break V;case 32:break;default:break $}if(N[p0>>0]=0,p0>>>0>2176940>>>0)t0=p0;else break V}N[t0>>0]=47,N[t0+1>>0]=0;break}if(!(k8(u,95074,17)|0)){Z[Y>>2]=2175848,a8(m0,94862,Y)|0;break}if(!(k8(u,95092,11)|0))switch(Z[X>>2]=2175852,a8(O0,94862,X)|0,Z[543963]|0){case 1:{Z[543964]=1;break V}case 2:{Z[543964]=0;break V}default:break V}if(!(k8(u,95104,30)|0)){Z[T>>2]=2175780,a8(B0,94862,T)|0;break}if(k8(u,95135,13)|0){if(p0=Z[545806]|0,!p0)break;N[g0>>0]=0,PV[p0&255](u)|0;break}p0=k0;while(!0)if(U6=N[p0>>0]|0,U6<<24>>24==32)p0=p0+1|0;else break;if((U6+-48&255)<10){t0=p0;do{if(Z[i>>2]=0,Z[t>>2]=0,Z[$>>2]=i,Z[$+4>>2]=t,a8(t0,95149,$)|0,C0=Z[i>>2]|0,u0=Z[t>>2]|0,C0>>>0<512&(u0+-1|0)>>>0<511)Z[2179052+(C0<<2)>>2]=u0;u0=t0;while(!0)if(C0=N[u0>>0]|0,N6=C0<<24>>24==44,A6=u0+1|0,N6^C0<<24>>24!=0)u0=A6;else break;t0=N6?A6:u0}while(((N[t0>>0]|0)+-48&255)<10)}t0=0;do{if(p0=Z[2179052+(t0<<2)>>2]|0,(p0|0)>0)Z[2181100+(p0<<2)>>2]=t0;t0=t0+1|0}while((t0|0)!=512)}while(0);switch(Z[T0>>2]|0){case 0:{S6=p4(Z[Z0>>2]|0)|0;break}case 1:{S6=(Z[Y0>>2]|0)>=(Z[X0>>2]|0)&1;break}default:S6=0}if(!S6)o0=q0;else break Z}}while(0);if(s1(95155),q0=Z[543941]|0,S6=(q0|0)<200?q0:200,Z[543941]=(S6|0)>0?S6:0,S6=Z[543942]|0,q0=(S6|0)<200?S6:200,Z[543942]=(q0|0)>0?q0:0,q0=Z[543939]|0,S6=(q0|0)<256?q0:256,Z[543939]=(S6|0)>0?S6:0,S6=Z[543940]|0,q0=(S6|0)<256?S6:256,Z[543940]=(q0|0)>0?q0:0,((Z[543952]|0)+-512|0)>>>0>7680)Z[543952]=1024;if(!(OX(T0)|0)){if(!(Z[T0>>2]|0))m9(Z[T0+8>>2]|0)|0;if(Z[T0+88>>2]|0)$6(Z[T0+12>>2]|0);if($6(T0),!(Z[543671]|0))Z[543671]=(I8()|0)+1000}if(Z[543932]=1,T0=zT(2177984)|0,T0|0)DT(Z[T0+12>>2]|0,Z[T0+16>>2]|0,2179008)|0;W3(T0),q=V;return}function zT(V){V=V|0;var $=0,T=0,X=0,Y=0;if($=NZ(V,94452)|0,!$)return T=0,T|0;if(V=Q3(1024)|0,X=B2(65536)|0,!(p4($)|0))do Y=g8(X,1,65536,$)|0,a7(X,1,Y,V)|0;while((Y|0)!=0&(p4($)|0)==0);return $6(X),m9($)|0,T=V,T|0}function CQ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;T=($|0)==0?1714144:$,N[T>>0]=0,$=V;Z:while(!0)switch(X=N[$>>0]|0,X<<24>>24){case 32:{$=$+1|0;break}case 0:{Y=13;break Z}default:break Z}if((Y|0)==13)return T|0;V=X,X=$,$=0,Q=T;while(!0){if(V<<24>>24>31)if(W=V<<24>>24==92?47:V<<24>>24,($|0)!=47|(W|0)!=47)N[Q>>0]=W,U=Q+1|0,N[U>>0]=0,S=W,J=U;else S=47,J=Q;else S=$,J=Q;if(X=X+1|0,V=N[X>>0]|0,!(V<<24>>24))break;else $=S,Q=J}if(J>>>0<=T>>>0)return T|0;Q=J;Z:while(!0){switch(J=Q+-1|0,N[J>>0]|0){case 47:{Y=13;break Z}case 32:break;default:{Y=12;break Z}}if(N[J>>0]=0,J>>>0>T>>>0)Q=J;else{Y=13;break}}if((Y|0)==12)return N[Q>>0]=47,N[Q+1>>0]=0,T|0;else if((Y|0)==13)return T|0;return 0}function LR(){var V=0,$=0,T=0,X=0;if(V=q,q=q+1072|0,$=V+48|0,T=V,E5(94770,$),C1(T,0,41),X=zT($)|0,X|0)DT(Z[X+12>>2]|0,Z[X+16>>2]|0,T)|0;if(W3(X),!((N[T>>0]|0)==0|(N[2179008]|0)==0)?q3(T,2179008,40)|0:0){q=V;return}if(T=c5($,95158)|0,!T){q=V;return}if($=T+8|0,!(Z[$>>2]|0)){q=V;return}if(Z[543938]=Pz()|0,Q9(T,95160,Z[543939]|0)|0,Q9(T,95187,Z[543940]|0)|0,X=Z[545807]|0,!X){if(OX(T)|0){q=V;return}if(!(Z[T>>2]|0))m9(Z[$>>2]|0)|0;if(Z[T+88>>2]|0)$6(Z[T+12>>2]|0);if($6(T),Z[543671]|0){q=V;return}Z[543671]=(I8()|0)+1000,q=V;return}else{if(PV[X&255](T)|0,OX(T)|0){q=V;return}if(!(Z[T>>2]|0))m9(Z[$>>2]|0)|0;if(Z[T+88>>2]|0)$6(Z[T+12>>2]|0);if($6(T),Z[543671]|0){q=V;return}Z[543671]=(I8()|0)+1000,q=V;return}}function Q9(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0;switch(X=q,q=q+1040|0,Y=X+1024|0,Q=X,C1(Q,0,1024),Z[Y>>2]=T,a6(Q,$,Y)|0,Y=x6(Q)|0,Z[V>>2]|0){case 0:return $=V+20|0,Z[$>>2]=(Z[$>>2]|0)+Y,$=V+16|0,Z[$>>2]=(Z[$>>2]|0)+Y,C2(Q,1,Y,Z[V+8>>2]|0)|0,q=X,0;case 1:{if(!(Z[V+88>>2]|0))$=V+20|0,q6((Z[V+12>>2]|0)+(Z[$>>2]|0)|0,Q|0,Y|0)|0,W=$;else $=V+20|0,k4(V,(Z[$>>2]|0)+Y|0)|0,q6((Z[V+12>>2]|0)+(Z[$>>2]|0)|0,Q|0,Y|0)|0,W=$;return $=(Z[W>>2]|0)+Y|0,Z[W>>2]=$,W=V+16|0,V=Z[W>>2]|0,Z[W>>2]=(V|0)>($|0)?V:$,q=X,0}default:return q=X,0}return 0}function R4(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0,BQ(V,$,T,X,0);return}function AN(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;switch(T=q,q=q+1024|0,X=T,N[V>>0]|0){case 92:case 47:{Y=3;break}default:if((N[V+1>>0]|0)==58)Y=3;else Iz(V,X)}if((Y|0)==3)w5(X,V)|0;N[$>>0]=0,V=0,Q=1;Z:while(!0){W=X+V|0,U=V;V:while(!0){switch(S=N[X+U>>0]|0,S<<24>>24){case 0:case 92:case 47:break V;default:}U=U+1|0}if(J=X+U|0,_=S<<24>>24==0,(V|0)==(U|0)&_){Y=10;break}N[J>>0]=0;V:do if(Q6(W,103254)|0){if(!((V|0)==0|(Q6(W,95214)|0)!=0)){if(K=(x6($)|0)+-1|0,(K|0)<=0){P=Q,Y=24;break}N[$+K>>0]=0,O=K;while(!0){switch(K=$+O|0,N[K>>0]|0){case 58:case 92:case 47:{P=Q,Y=24;break V}default:}if(N[K>>0]=0,(O|0)>1)O=O+-1|0;else{P=Q,Y=24;break V}}}if(Q6(W,95217)|0){if((Q|0)==0?(N[W>>0]|0)==0:0){P=0,Y=24;break}if(d1($,W)|0,_){Y=22;break Z}O=$+(x6($)|0)|0,N[O>>0]=47,N[O+1>>0]=0,N[J>>0]=S,L=0}else P=Q,Y=24}else P=Q,Y=24;while(0);if((Y|0)==24)if(Y=0,N[J>>0]=S,_){Y=26;break}else L=P;V=U+1|0,Q=L}if((Y|0)==10){if(V|0){q=T;return}N[$>>0]=0,q=T;return}else if((Y|0)==22){N[J>>0]=0,q=T;return}else if((Y|0)==26){q=T;return}}function HN(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0;if($=q,q=q+16|0,T=$+8|0,X=$+4|0,Y=$,Z[X>>2]=0,Z[Y>>2]=0,!V)return Q=0,q=$,Q|0;if(GF(T,X,Y,V)|0)return Q=0,q=$,Q|0;if(V=Z[X>>2]|0,W=Z[Y>>2]|0,(W+-1|V+-1)>>>0>16383)return Q=0,q=$,Q|0;if(U=h1(V,W,32)|0,W=U+12|0,q6(Z[W>>2]|0,Z[T>>2]|0,B(Z[X>>2]<<2,Z[Y>>2]|0)|0)|0,V=B(Z[Y>>2]|0,Z[X>>2]|0)|0,V|0){X=V,V=Z[W>>2]|0;while(!0)if(W=N[V>>0]|0,Y=V+2|0,N[V>>0]=N[Y>>0]|0,N[Y>>0]=W,X=X+-1|0,!X)break;else V=V+4|0}return $6(Z[T>>2]|0),Q=U,q=$,Q|0}function xN(V){V=V|0;var $=0,T=0;if($=c5(V,94452)|0,!$)return T=0,T|0;if(V=HN($)|0,OX($)|0)return T=V,T|0;if(!(Z[$>>2]|0))m9(Z[$+8>>2]|0)|0;if(Z[$+88>>2]|0)$6(Z[$+12>>2]|0);if($6($),Z[543671]|0)return T=V,T|0;return Z[543671]=(I8()|0)+1000,T=V,T|0}function AQ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0;if(T=q,q=q+16|0,X=T,Y=$+4|0,Q=h1(Z[$>>2]|0,Z[Y>>2]|0,32)|0,W=$+8|0,U=Z[W>>2]|0,(U|0)==32)l5($,Q,0,0,0,0,Z[$>>2]|0,Z[Y>>2]|0),S=Z[W>>2]|0;else S=U;if((S|0)==8)pO($,Q,Z[730428]|0);if(S=Q+12|0,U=Z[$>>2]|0,W=Z[Y>>2]|0,J=B(W,U)|0,!J)_=U,K=W;else{W=J,J=Z[S>>2]|0;while(!0)if(U=N[J>>0]|0,P=J+2|0,N[J>>0]=N[P>>0]|0,N[P>>0]=U,W=W+-1|0,!W)break;else J=J+4|0;_=Z[$>>2]|0,K=Z[Y>>2]|0}return Z[X>>2]=tD(V,Z[S>>2]|0,_,K,6,8)|0,Z[X+4>>2]=V,a6(1703776,95219,X)|0,s1(1703776),P5(Q)|0,q=T,0}function DR(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0;$=q,q=q+1024|0,T=$,BQ(V,0,T,0,1),V=94300,Y=4544;while(!0){if(Q=x6(V)|0,(Q|0)==(x6(T)|0)?F5(V,T)|0:0){X=0,W=6;break}if(Y=Y+4|0,V=Z[Y>>2]|0,!V){X=1,W=6;break}}if((W|0)==6)return q=$,X|0;return 0}function KV(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0;switch(W=q,q=q+1040|0,U=W+1024|0,S=W,C1(S,0,1024),Z[U>>2]=T,Z[U+4>>2]=X,Z[U+8>>2]=Y,Z[U+12>>2]=Q,a6(S,$,U)|0,U=x6(S)|0,Z[V>>2]|0){case 0:return $=V+20|0,Z[$>>2]=(Z[$>>2]|0)+U,$=V+16|0,Z[$>>2]=(Z[$>>2]|0)+U,C2(S,1,U,Z[V+8>>2]|0)|0,q=W,0;case 1:{if(!(Z[V+88>>2]|0))$=V+20|0,q6((Z[V+12>>2]|0)+(Z[$>>2]|0)|0,S|0,U|0)|0,J=$;else $=V+20|0,k4(V,(Z[$>>2]|0)+U|0)|0,q6((Z[V+12>>2]|0)+(Z[$>>2]|0)|0,S|0,U|0)|0,J=$;return $=(Z[J>>2]|0)+U|0,Z[J>>2]=$,J=V+16|0,V=Z[J>>2]|0,Z[J>>2]=(V|0)>($|0)?V:$,q=W,0}default:return q=W,0}return 0}function kz(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0;if(T=NZ(V,94452)|0,!T)return X=1,X|0;if(V=NZ($,103074)|0,!V)return m9(T)|0,X=2,X|0;if($=B2(65536)|0,!(p4(T)|0))do Y=g8($,1,65536,T)|0,C2($,1,Y,V)|0;while((Y|0)!=0&(p4(T)|0)==0);return $6($),m9(T)|0,m9(V)|0,X=0,X|0}function pz(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if(T=q,q=q+16|0,X=T+8|0,Y=T,Q=V+24|0,((Z[Q>>2]|0)>0?(W=V+28|0,(Z[W>>2]|0)==0):0)?(U=V+8|0,S=B2(Z[U>>2]<<5)|0,Z[W>>2]=S,W=Z[U>>2]|0,(W|0)>0):0){U=0;do j[S+(U<<5)>>1]=0,j[S+(U<<5)+2>>1]=0,f[S+(U<<5)+4>>2]=1,U=U+1|0;while((U|0)<(W|0))}if(W=V+8|0,U=Z[W>>2]|0,(U|0)>=($|0)){q=T;return}if(S=(U+1|0)==($|0)?($*5|0)/4|0:$,$=y6(Z[V>>2]|0,S*12|0)|0,Z[V>>2]=$,!$)Z[Y>>2]=95278,a6(1703776,95255,Y)|0,s1(1703776);if((Z[Q>>2]|0)>0){if(Q=V+28|0,V=y6(Z[Q>>2]|0,S<<5)|0,Z[Q>>2]=V,!V)Z[X>>2]=95304,a6(1703776,95255,X)|0,s1(1703776);if(X=Z[W>>2]|0,(X|0)<(S|0)){V=Z[Q>>2]|0,Q=X;do j[V+(Q<<5)>>1]=0,j[V+(Q<<5)+2>>1]=0,f[V+(Q<<5)+4>>2]=1,Q=Q+1|0;while((Q|0)!=(S|0))}}Z[W>>2]=S,q=T;return}function mz(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0;if(T=q,q=q+16|0,X=T,Y=V+20|0,Q=Z[Y>>2]|0,(Q|0)>=($|0)){q=T;return}if(W=(Q+1|0)==($|0)?($*5|0)/4|0:$,$=V+12|0,Q=y6(Z[$>>2]|0,W*80|0)|0,Z[$>>2]=Q,!Q)Z[X>>2]=95335,a6(1703776,95255,X)|0,s1(1703776);if(X=Z[V+16>>2]|0,(X|0)>0){V=Z[$>>2]|0,Q=0;do{if((j[V+(Q*80|0)+56>>1]|0)<5)Z[V+(Q*80|0)+48>>2]=V+(Q*80|0),Z[V+(Q*80|0)+52>>2]=V+(Q*80|0)+16;Q=Q+1|0}while((Q|0)<(X|0))}if(X=Z[Y>>2]|0,(X|0)<(W|0)){Q=Z[$>>2]|0,$=X;do{f[Q+($*80|0)+64>>2]=0,f[Q+($*80|0)+60>>2]=0,f[Q+($*80|0)+68>>2]=1,j[Q+($*80|0)+72>>1]=0,j[Q+($*80|0)+74>>1]=0,X=Q+($*80|0)+56|0,V=Q+($*80|0)|0,Z[Q+($*80|0)+48>>2]=V,Z[Q+($*80|0)+52>>2]=Q+($*80|0)+16,j[Q+($*80|0)+58>>1]=4,U=V,V=U+48|0;do Z[U>>2]=0,U=U+4|0;while((U|0)<(V|0));j[X>>1]=4,$=$+1|0}while(($|0)!=(W|0))}Z[Y>>2]=W,q=T;return}function uz(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if(T=($&1)+$|0,X=V+58|0,Y=j[X>>1]|0,(T|0)>4&(T|0)>(Y<<16>>16|0)){if(Q=V+48|0,Y<<16>>16<5)Z[Q>>2]=0,Y=V+52|0,Z[Y>>2]=0,W=Q,U=0,S=Y;else W=Q,U=Z[Q>>2]|0,S=V+52|0;if(Z[W>>2]=y6(U,T<<2)|0,Z[S>>2]=y6(Z[S>>2]|0,T<<3)|0,(j[X>>1]|0)<5)U=V+56|0,q6(Z[W>>2]|0,V|0,j[U>>1]<<2|0)|0,q6(Z[S>>2]|0,V+16|0,j[U>>1]<<3|0)|0;j[X>>1]=T}if(T=V+56|0,X=j[T>>1]|0,(X|0)>=($|0)){J=$&65535,j[T>>1]=J;return}U=Z[V+48>>2]|0,S=Z[V+52>>2]|0,V=X;do Z[U+(V<<2)>>2]=0,f[S+(V<<3)+4>>2]=0,f[S+(V<<3)>>2]=0,V=V+1|0;while((V|0)!=($|0));J=$&65535,j[T>>1]=J;return}function lz(){var V=0,$=0,T=0;V=B2(52)|0,$=V,T=$+52|0;do Z[$>>2]=0,$=$+4|0;while(($|0)<(T|0));return Z[543502]=(Z[543502]|0)+1,V|0}function sz(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0;if(!V)return;if($=V+16|0,T=Z[$>>2]|0,(T|0)>0){X=V+12|0,Y=T,T=0;while(!0){if(Q=Z[X>>2]|0,(j[Q+(T*80|0)+58>>1]|0)>4)$6(Z[Q+(T*80|0)+48>>2]|0),$6(Z[(Z[X>>2]|0)+(T*80|0)+52>>2]|0),W=Z[$>>2]|0;else W=Y;if(T=T+1|0,(T|0)>=(W|0))break;else Y=W}}if(W=Z[V>>2]|0,W|0)$6(W);if(W=Z[V+32>>2]|0,W|0)$6(W);if(W=Z[V+12>>2]|0,W|0)$6(W);if(W=Z[V+28>>2]|0,W|0)$6(W);if(W=Z[V+48>>2]|0,W|0)$6(W);if(W=Z[V+36>>2]|0,W|0)$6(W);if(W=Z[V+40>>2]|0,W|0)$6(W);$6(V),Z[543502]=(Z[543502]|0)+-1;return}function oz(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0;if($=q,q=q+32|0,T=$+12|0,X=$,Y=V+16|0,Q=Z[Y>>2]|0,(Q|0)<=0){q=$;return}W=V+12|0,U=T+4|0,S=T+8|0,J=X+4|0,_=X+8|0,K=Q,Q=0;while(!0){if(P=Z[W>>2]|0,(j[P+(Q*80|0)+56>>1]|0)>2)O=Z[V>>2]|0,L=Z[P+(Q*80|0)+48>>2]|0,F=Z[L+4>>2]|0,z=O+(F*12|0)|0,H=Z[L>>2]|0,f[T>>2]=+f[z>>2]-+f[O+(H*12|0)>>2],C=O+(F*12|0)+4|0,f[U>>2]=+f[C>>2]-+f[O+(H*12|0)+4>>2],A=O+(F*12|0)+8|0,f[S>>2]=+f[A>>2]-+f[O+(H*12|0)+8>>2],H=Z[L+8>>2]|0,f[X>>2]=+f[z>>2]-+f[O+(H*12|0)>>2],f[J>>2]=+f[C>>2]-+f[O+(H*12|0)+4>>2],f[_>>2]=+f[A>>2]-+f[O+(H*12|0)+8>>2],H=P+(Q*80|0)+60|0,FR(T,X,H),zR(H),y=Z[Y>>2]|0;else f[P+(Q*80|0)+60>>2]=0,f[P+(Q*80|0)+64>>2]=1,f[P+(Q*80|0)+68>>2]=0,y=K;if(Q=Q+1|0,(Q|0)>=(y|0))break;else K=y}q=$;return}function nz(){var V=0,$=0,T=0,X=0,Y=0;if(V=B2(96)|0,!V)return $=0,$|0;T=V+32|0,X=V,Y=X+96|0;do Z[X>>2]=0,X=X+4|0;while((X|0)<(Y|0));return Z[T>>2]=-13408615,Z[V+36>>2]=-10461088,Z[543502]=(Z[543502]|0)+1,$=V,$|0}function rz(V){if(V=V|0,!V)return;$6(V),Z[543502]=(Z[543502]|0)+-1;return}function hz(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0;if($=V+44|0,Z[$>>2]=0,T=V+24|0,X=Z[T>>2]|0,Y=V+36|0,Q=Z[Y>>2]|0,!X){$6(Q),Z[Y>>2]=0,W=V+40|0,$6(Z[W>>2]|0),Z[W>>2]=0;return}if(Z[Y>>2]=y6(Q,X<<2)|0,X=V+40|0,Q=y6(Z[X>>2]|0,Z[T>>2]<<2)|0,Z[X>>2]=Q,X=Z[T>>2]|0,(X|0)>0){W=Z[Y>>2]|0,U=V+12|0,V=0;do{if(S=W+(V<<2)|0,Z[S>>2]=-1,J=Z[T>>2]|0,(J|0)>0){_=Z[U>>2]|0,K=Z[_+(V*80|0)+48>>2]|0,P=J,O=0;while(!0){if((Z[K>>2]|0)==(Z[(Z[_+(O*80|0)+48>>2]|0)+4>>2]|0))Z[S>>2]=O,L=Z[T>>2]|0;else L=P;if(O=O+1|0,(O|0)>=(L|0)){F=L;break}else P=L}}else F=J;V=V+1|0}while((V|0)<(F|0));if(Z[$>>2]=(F<<4)+16,(F|0)>0){V=0;do Z[Q+(V<<2)>>2]=32768,V=V+1|0,L=Z[T>>2]|0;while((V|0)<(L|0));z=L}else z=F}else Z[$>>2]=(X<<4)+16,z=X;X=z,z=0;while(!0){if((X|0)<=0){H=24;break}$=X,F=0,V=0,L=z;while(!0){U=Q+(V<<2)|0;do if(!(Z[U>>2]&32768))C=$,A=F,y=L;else{if(W=Z[(Z[Y>>2]|0)+(V<<2)>>2]|0,(W|0)!=-1?Z[Q+(W<<2)>>2]&32768|0:0){C=$,A=F,y=L;break}W=Q+(L<<2)|0,Z[W>>2]=Z[W>>2]|V,Z[U>>2]=Z[U>>2]&32767,C=Z[T>>2]|0,A=1,y=L+1|0}while(0);if(V=V+1|0,(V|0)>=(C|0))break;else $=C,F=A,L=y}if(!A){H=24;break}else X=C,z=y}if((H|0)==24)return}function gz(V){V=V|0,oz(V),hz(V),VF(V,0);return}function zR(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if($=+f[V>>2],T=V+4|0,X=+f[T>>2],Y=V+8|0,Q=+f[Y>>2],W=+Y6(+($*$+X*X+Q*Q)),W==0){f[V>>2]=0,f[T>>2]=1,U=0,f[Y>>2]=U;return}else{S=1/W,f[V>>2]=$*S,f[T>>2]=X*S,U=Q*S,f[Y>>2]=U;return}}function FR(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0;X=V+4|0,Y=$+8|0,Q=V+8|0,W=$+4|0,f[T>>2]=+f[X>>2]*+f[Y>>2]-+f[Q>>2]*+f[W>>2],f[T+4>>2]=+f[Q>>2]*+f[$>>2]-+f[V>>2]*+f[Y>>2],f[T+8>>2]=+f[V>>2]*+f[W>>2]-+f[X>>2]*+f[$>>2];return}function ER(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;X=+f[V>>2],Y=+f[V+12>>2],Q=+f[V+24>>2],W=1/(X*X+Y*Y+Q*Q),U=+f[V+4>>2]*W,S=+f[V+8>>2]*W,J=+f[V+16>>2]*W,_=+f[V+20>>2]*W,K=+f[V+28>>2]*W,P=+f[V+32>>2]*W,O=+f[$>>2]-+f[V+36>>2],L=+f[$+4>>2]-+f[V+40>>2],F=+f[$+8>>2]-+f[V+44>>2],f[T>>2]=X*W*O+Y*W*L+Q*W*F,f[T+4>>2]=U*O+J*L+K*F,f[T+8>>2]=S*O+_*L+P*F;return}function iz(V){V=V|0;var $=0;$=(V|0)==0?-559038737:V,Z[8710]=$,Z[8709]=$^-1095947846;return}function r8(V){V=V|0;var $=0,T=0,X=0,Y=0;if(!V)return $=0,$|0;return T=Z[8709]|0,X=Z[8710]|0,Y=(T<<16|T>>>16)+X|0,Z[8709]=Y,Z[8710]=Y+X,$=(Y>>>0)%(V>>>0)|0,$|0}function RY(V){V=V|0;var $=0,T=0;if($=(V+2|0)>>>2&16383,V=$>>>0>8191?16384-$|0:$,V>>>0>4095)return T=0-(Z[4656+(8192-V<<2)>>2]|0)|0,T|0;else return T=Z[4656+(V<<2)>>2]|0,T|0;return 0}function tz(V){V=V|0;var $=0,T=0;if($=(V+16386|0)>>>2&16383,V=$>>>0>8191?16384-$|0:$,V>>>0>4095)return T=0-(Z[4656+(8192-V<<2)>>2]|0)|0,T|0;else return T=Z[4656+(V<<2)>>2]|0,T|0;return 0}function fz(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if(T=0-$|0,!V)X=B(T>>31|1,2147483647)|0;else $=v1(T|0,((T|0)<0)<<31>>31|0,16)|0,T=q5($|0,x()|0,V|0,((V|0)<0)<<31>>31|0)|0,$=x()|0,Y=($|0)>-1|($|0)==-1&T>>>0>2147483649,Q=Y?T:-2147483647,T=Y?$:-1,$=(T|0)<0|(T|0)==0&Q>>>0<2147483647,T=$?Q:2147483647,X=T;if(T=(X|0)<0?0-X|0:X,(T|0)>65536)Q=q5(0,1,T|0,((T|0)<0)<<31>>31|0)|0,$=x()|0,Y=($|0)>-1|($|0)==-1&Q>>>0>2147483649,W=Y?Q:-2147483647,Q=Y?$:-1,$=(Q|0)<0|(Q|0)==0&W>>>0<2147483647,Q=$?W:2147483647,U=0,S=Q;else U=1,S=T;return T=S>>5,S=(T|0)<2048?T:2048,T=Z[21056+(((S|0)>0?S:0)<<2)>>2]|0,S=B(U?T:16384-T|0,X>>31|1)|0,((V|0)<0?S+32768|0:S)&65535|0}function dz(){var V=0;return V=B2(16)|0,Z[V>>2]=0,Z[V+4>>2]=0,Z[543502]=(Z[543502]|0)+1,V|0}function bz(V){V=V|0;var $=0;if(!V)return;if((Z[V>>2]|0)>0){$=0;do ez(V,$),$=$+1|0;while(($|0)<(Z[V>>2]|0))}$6(Z[V+4>>2]|0),Z[543502]=(Z[543502]|0)+-1;return}function ez(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if((V|0)==0|($|0)<0)return;if((Z[V>>2]|0)<=($|0))return;if(T=V+4|0,V=Z[T>>2]|0,X=Z[V+($*112|0)+80>>2]|0,!X)Y=V;else $6(Z[X+12>>2]|0),$6(Z[X+16>>2]|0),$6(Z[X+20>>2]|0),$6(X),Y=Z[T>>2]|0;if(X=Z[Y+($*112|0)+84>>2]|0,!X)Q=Y;else $6(Z[X+12>>2]|0),$6(Z[X+16>>2]|0),$6(Z[X+20>>2]|0),$6(X),Q=Z[T>>2]|0;if(X=Z[Q+($*112|0)+88>>2]|0,!X)W=Q;else $6(Z[X+12>>2]|0),$6(Z[X+16>>2]|0),$6(Z[X+20>>2]|0),$6(X),W=Z[T>>2]|0;if(X=Z[W+($*112|0)+96>>2]|0,!X)U=W;else $6(Z[X+12>>2]|0),$6(Z[X+16>>2]|0),$6(Z[X+20>>2]|0),$6(X),U=Z[T>>2]|0;if(X=Z[U+($*112|0)+92>>2]|0,(Z[U+($*112|0)+104>>2]|0)>0){W=X,Q=U,U=0;while(!0){if(Y=Z[W+(U<<2)>>2]|0,!Y)S=Q;else $6(Z[Y+12>>2]|0),$6(Z[Y+16>>2]|0),$6(Z[Y+20>>2]|0),$6(Y),S=Z[T>>2]|0;if(U=U+1|0,Y=Z[S+($*112|0)+92>>2]|0,(U|0)>=(Z[S+($*112|0)+104>>2]|0)){J=Y;break}else W=Y,Q=S}}else J=X;$6(J);return}function az(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;return $=q,q=q+16|0,T=$,X=(Z[V>>2]|0)+1|0,Z[V>>2]=X,Y=V+4|0,Q=y6(Z[Y>>2]|0,X*112|0)|0,Z[Y>>2]=Q,Y=(Z[V>>2]|0)+-1|0,Z[T>>2]=Y,a6(Q+(Y*112|0)|0,95359,T)|0,N[Q+(Y*112|0)+32>>0]=0,T=Q+(Y*112|0)+64|0,Z[T>>2]=-1,Z[T+4>>2]=-1,Z[T+8>>2]=-1,Z[T+12>>2]=-1,Z[Q+(Y*112|0)+104>>2]=0,Z[Q+(Y*112|0)+100>>2]=0,Z[Q+(Y*112|0)+108>>2]=0,T=B2(24)|0,Z[T+4>>2]=0,Z[T>>2]=0,Z[T+8>>2]=12,Z[T+16>>2]=0,Z[T+20>>2]=0,Z[T+12>>2]=0,Z[Q+(Y*112|0)+80>>2]=T,T=B2(24)|0,Z[T+4>>2]=0,Z[T>>2]=0,Z[T+8>>2]=12,Z[T+16>>2]=0,Z[T+20>>2]=0,Z[T+12>>2]=0,Z[Q+(Y*112|0)+84>>2]=T,T=B2(24)|0,Z[T+4>>2]=0,Z[T>>2]=0,Z[T+8>>2]=12,Z[T+16>>2]=0,Z[T+20>>2]=0,Z[T+12>>2]=0,Z[Q+(Y*112|0)+88>>2]=T,T=B2(24)|0,Z[T+4>>2]=0,Z[T>>2]=0,Z[T+8>>2]=24,Z[T+16>>2]=0,Z[T+20>>2]=0,Z[T+12>>2]=0,Z[Q+(Y*112|0)+96>>2]=T,Z[Q+(Y*112|0)+92>>2]=0,q=$,(Z[V>>2]|0)+-1|0}function cz(V){V=V|0;var $=0;return $=B2(24)|0,Z[$+4>>2]=0,Z[$>>2]=0,Z[$+8>>2]=V,Z[$+16>>2]=0,Z[$+20>>2]=0,Z[$+12>>2]=0,$|0}function _Y(V,$){V=V|0,$=$|0;var T=0,X=0;if(T=V+4|0,(Z[T>>2]|0)>=($|0)){Z[V>>2]=$;return}Z[T>>2]=$,T=V+12|0,Z[T>>2]=y6(Z[T>>2]|0,B(Z[V+8>>2]|0,$)|0)|0,T=V+16|0,X=$<<2,Z[T>>2]=y6(Z[T>>2]|0,X)|0,T=V+20|0,Z[T>>2]=y6(Z[T>>2]|0,X)|0,Z[V>>2]=$;return}function ZF(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0;if(T=V+24|0,X=Z[T>>2]|0,Y=X<<2,Q=$+(Y<<2)|0,W=$+((Y|3)<<2)|0,!X)return;if(Y=V+48|0,U=y6(Z[Y>>2]|0,X*48|0)|0,Z[Y>>2]=U,X=Z[T>>2]|0,(X|0)>0){S=V+36|0,J=U,_=$,$=0;while(!0){if(K=+f[_>>2],P=+b0(+K),O=+f[_+4>>2],L=+b0(+O),F=+f[_+8>>2],z=+b0(+F),H=+D6(+K),K=+D6(+O),O=+D6(+F),C=J+($*48|0)|0,f[J+($*48|0)+4>>2]=L,f[C>>2]=H*K,f[J+($*48|0)+8>>2]=P*K,A=J+($*48|0)+12|0,F=K*0-L*z,f[J+($*48|0)+16>>2]=L*0+K*z,f[A>>2]=F*H-P*O,f[J+($*48|0)+20>>2]=H*O+F*P,FR(C,A,J+($*48|0)+24|0),A=_+12|0,J=Z[Y>>2]|0,C=J+($*48|0)|0,f[C>>2]=+f[A>>2]*+f[C>>2],C=J+($*48|0)+4|0,f[C>>2]=+f[A>>2]*+f[C>>2],C=J+($*48|0)+8|0,f[C>>2]=+f[A>>2]*+f[C>>2],C=J+($*48|0)+12|0,f[C>>2]=+f[A>>2]*+f[C>>2],C=J+($*48|0)+16|0,f[C>>2]=+f[A>>2]*+f[C>>2],C=J+($*48|0)+20|0,f[C>>2]=+f[A>>2]*+f[C>>2],C=J+($*48|0)+24|0,f[C>>2]=+f[A>>2]*+f[C>>2],C=J+($*48|0)+28|0,f[C>>2]=+f[A>>2]*+f[C>>2],C=J+($*48|0)+32|0,f[C>>2]=+f[A>>2]*+f[C>>2],C=J+($*48|0)+12|0,A=Z[C>>2]|0,y=J+($*48|0)+4|0,Z[C>>2]=Z[y>>2],Z[y>>2]=A,A=J+($*48|0)+24|0,y=Z[A>>2]|0,C=J+($*48|0)+8|0,Z[A>>2]=Z[C>>2],Z[C>>2]=y,y=J+($*48|0)+28|0,C=Z[y>>2]|0,A=J+($*48|0)+20|0,Z[y>>2]=Z[A>>2],Z[A>>2]=C,(Z[(Z[S>>2]|0)+($<<2)>>2]|0)==-1)f[J+($*48|0)+36>>2]=0,f[J+($*48|0)+40>>2]=0,f[J+($*48|0)+44>>2]=0;if($=$+1|0,k=Z[T>>2]|0,($|0)>=(k|0))break;else _=_+16|0}if(_=(k|0)>0,_){$=Z[V+40>>2]|0,T=Z[V+36>>2]|0,V=0;do{if(S=Z[$+(V<<2)>>2]|0,Y=Z[T+(S<<2)>>2]|0,(Y|0)!=-1)f[J+(S*48|0)+36>>2]=+f[J+(Y*48|0)+36>>2]+ +f[J+(Y*48|0)>>2],f[J+(S*48|0)+40>>2]=+f[J+(Y*48|0)+40>>2]+ +f[J+(Y*48|0)+12>>2],f[J+(S*48|0)+44>>2]=+f[J+(Y*48|0)+44>>2]+ +f[J+(Y*48|0)+24>>2];V=V+1|0}while((V|0)!=(k|0));m=k,I=J,u=_}else m=k,I=J,u=0}else m=X,I=U,u=0;if(U=Z[W>>2]|0,W=(U|0)<0,X=W?0-U|0:U,P=+f[I+(X*48|0)+36>>2],F=+f[I+(X*48|0)+40>>2],O=+f[I+(X*48|0)+44>>2],W)g=P+ +f[I+(X*48|0)>>2],i=F+ +f[I+(X*48|0)+12>>2],t=O+ +f[I+(X*48|0)+24>>2];else g=P,i=F,t=O;if(O=+f[Q>>2]-g,g=+f[Q+4>>2]-i,i=+f[Q+8>>2]-t,!u)return;u=0;do Q=I+(u*48|0)+36|0,f[Q>>2]=O+ +f[Q>>2],Q=I+(u*48|0)+40|0,f[Q>>2]=g+ +f[Q>>2],Q=I+(u*48|0)+44|0,f[Q>>2]=i+ +f[Q>>2],u=u+1|0;while((u|0)!=(m|0));return}function VF(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0;if(T=q,q=q+16|0,X=T,!V){q=T;return}if(Y=V+24|0,Q=V+28|0,W=Z[Q>>2]|0,!(Z[Y>>2]|0)){$6(W),Z[Q>>2]=0,q=T;return}if(U=V+4|0,Z[Q>>2]=y6(W,Z[U>>2]<<5)|0,W=V+44|0,S=B2(Z[W>>2]|0)|0,(Z[Y>>2]|0)>0){J=V+12|0,_=X+4|0,K=X+8|0,P=V+36|0,O=0,L=0;while(!0){if(F=Z[V>>2]|0,z=Z[(Z[J>>2]|0)+(O*80|0)+48>>2]|0,H=Z[z+4>>2]|0,C=Z[z>>2]|0,A=+f[F+(H*12|0)>>2]-+f[F+(C*12|0)>>2],f[X>>2]=A,y=+f[F+(H*12|0)+4>>2]-+f[F+(C*12|0)+4>>2],f[_>>2]=y,k=+f[F+(H*12|0)+8>>2]-+f[F+(C*12|0)+8>>2],f[K>>2]=k,f[S+((L|3)<<2)>>2]=+Y6(+(A*A+y*y+k*k)),zR(X),k=+f[X>>2],y=+f[K>>2],A=+Y6(+(k*k+y*y)),m=+R(+y,+k),C=S+(L<<2)|0,f[C>>2]=m,k=+f[_>>2],A==0)I=k>=0?1.5707963267948966:-1.5707963267948966;else I=+l6(+(k/A));if(A=I,F=S+((L|1)<<2)|0,f[F>>2]=A,f[S+((L|2)<<2)>>2]=0,+f[K>>2]<0)f[C>>2]=m+3.141592653589793,f[F>>2]=(1.5707963267948966-(A<0?-A:A))*2*(+f[_>>2]>=0?1:-1)+A;if((Z[(Z[P>>2]|0)+(O<<2)>>2]|0)==-1)F=Z[Y>>2]<<2,C=S+(F<<2)|0,H=Z[V>>2]|0,z=Z[Z[(Z[J>>2]|0)+(O*80|0)+48>>2]>>2]|0,Z[C>>2]=Z[H+(z*12|0)>>2],Z[C+4>>2]=Z[H+(z*12|0)+4>>2],Z[C+8>>2]=Z[H+(z*12|0)+8>>2],Z[S+((F|3)<<2)>>2]=O;if(O=O+1|0,(O|0)>=(Z[Y>>2]|0))break;else L=L+4|0}}if($|0){q6($|0,S|0,Z[W>>2]|0)|0,$6(S),q=T;return}if(ZF(V,S),(Z[U>>2]|0)>0){W=V+48|0,$=0;do L=Z[Q>>2]|0,ER((Z[W>>2]|0)+((n[L+($<<5)>>1]|0)*48|0)|0,(Z[V>>2]|0)+($*12|0)|0,L+($<<5)+8|0),L=Z[Q>>2]|0,ER((Z[W>>2]|0)+((n[L+($<<5)+2>>1]|0)*48|0)|0,(Z[V>>2]|0)+($*12|0)|0,L+($<<5)+20|0),$=$+1|0;while(($|0)<(Z[U>>2]|0))}$6(S),q=T;return}function $F(){var V=0,$=0,T=0;if(V=Z[543965]|0,$=Z[543967]|0,!(Z[543977]|Z[543964]))if(($|0)==-1)T=(Z[730415]|0)<720&1;else T=$;else T=1;return $=(V|0)<8?V:8,((T|0)==0?($|0)<1?1:($|0)>0?$:0:1)|0}function l5(V,$,T,X,Y,Q,W,U){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0,U=U|0;var S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0;if(S=q,q=q+32|0,J=S+20|0,_=S+16|0,K=S+12|0,P=S+8|0,O=S+4|0,L=S,Z[J>>2]=T,Z[_>>2]=X,Z[K>>2]=Y,Z[P>>2]=Q,Z[O>>2]=W,Z[L>>2]=U,!((V|0)!=0&($|0)!=0)){q=S;return}if(U=$+8|0,W=V+8|0,(V|0)==2921660?1:(Z[U>>2]|0)<(Z[W>>2]|0)){q=S;return}if($$(V,$,J,_,K,P,O,L),Q=Z[O>>2]|0,(Q|0)<1){q=S;return}if(Y=Z[U>>2]|0,U=Y>>3,($|0)==2921660){if(X=Z[543965]|0,T=Z[543967]|0,!(Z[543977]|Z[543964]))if((T|0)==-1)F=(Z[$>>2]|0)<720&1;else F=T;else F=1;if(T=(X|0)<8?X:8,X=(T|0)<1?1:(T|0)>0?T:0,!((X|0)>1&(F|0)==0)){FN(V,$,Z[J>>2]|0,Z[_>>2]|0,Z[K>>2]|0,Z[P>>2]|0,Q,Z[L>>2]|0,0),q=S;return}if(F=Z[545809]|0,((F|0)!=0?(T=Z[F>>2]|0,(T|0)==(B(Z[V>>2]|0,X)|0)):0)?(z=Z[F+4>>2]|0,(z|0)==(B(Z[V+4>>2]|0,X)|0)):0)H=F,C=T,A=z;else y=V,k=13;if((k|0)==13)P5(F)|0,F=B(Z[y>>2]|0,X)|0,y=B(Z[V+4>>2]|0,X)|0,X=h1(F,y,Z[W>>2]|0)|0,Z[545809]=X,H=X,C=Z[X>>2]|0,A=Z[X+4>>2]|0;EW(V,H,0,0,C,A,0),A=Z[545809]|0,FN(A,$,0,0,0,0,Z[A>>2]|0,Z[A+4>>2]|0,0),q=S;return}if(A=Z[W>>2]|0,(Y|0)==(A|0)){if((Z[L>>2]|0)<=0){q=S;return}W=$+16|0,C=V+16|0,H=Q,X=0;while(!0){if(y=(Z[(Z[W>>2]|0)+((Z[P>>2]|0)+X<<2)>>2]|0)+(B(Z[K>>2]|0,U)|0)|0,q6(y|0,(Z[(Z[C>>2]|0)+((Z[_>>2]|0)+X<<2)>>2]|0)+(B(Z[J>>2]|0,U)|0)|0,B(H,U)|0)|0,y=X+1|0,(y|0)>=(Z[L>>2]|0))break;H=Z[O>>2]|0,X=y}q=S;return}if(!((Y|0)==32&(A|0)==8)){q=S;return}if(A=Z[730428]|0,Y=Z[L>>2]|0,(Y|0)<=0){q=S;return}X=V+16|0,V=$+16|0,$=Q,Q=Y,Y=0;while(!0){if(($|0)>0){H=Z[X>>2]|0,U=Z[V>>2]|0,C=0;do W=G[(Z[H+((Z[_>>2]|0)+Y<<2)>>2]|0)+((Z[J>>2]|0)+C)>>0]|0,Z[(Z[U+((Z[P>>2]|0)+Y<<2)>>2]|0)+((Z[K>>2]|0)+C<<2)>>2]=(G[A+(W*3|0)>>0]|0)<<16|(G[A+(W*3|0)+1>>0]|0)<<8|(G[A+(W*3|0)+2>>0]|0)|-16777216,C=C+1|0,m=Z[O>>2]|0;while((C|0)<(m|0));I=Z[L>>2]|0,u=m}else I=Q,u=$;if(Y=Y+1|0,(Y|0)>=(I|0))break;else $=u,Q=I}q=S;return}function TF(V,$,T,X,Y,Q,W,U){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0,U=U|0;var S=0,J=0,_=0,K=0,P=0;if((U|0)<=0)return;if(S=V+16|0,V=$+16|0,!W)return;$=0;do{J=(Z[(Z[V>>2]|0)+($+Q<<2)>>2]|0)+Y|0,_=(Z[(Z[S>>2]|0)+($+X<<2)>>2]|0)+T|0,K=W;while(!0){if(P=N[_>>0]|0,P<<24>>24)N[J>>0]=P;if(K=K+-1|0,!K)break;else J=J+1|0,_=_+1|0}$=$+1|0}while(($|0)!=(U|0));return}function XF(V,$,T,X,Y,Q,W,U){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0,U=U|0;var S=0,J=0,_=0,K=0,P=0,O=0;if((U|0)<=0)return;if(S=V+16|0,V=$+16|0,(W|0)<=0)return;$=0;do{J=(Z[(Z[V>>2]|0)+($+Q<<2)>>2]|0)+(Y<<2)|0,_=(Z[(Z[S>>2]|0)+($+X<<2)>>2]|0)+(T<<2)|0,K=0;while(!0)if(P=Z[_>>2]|0,O=kO(Z[J>>2]|0,P,P>>>24)|0,Z[J>>2]=Z[J>>2]&-16777216|O,K=K+1|0,(K|0)==(W|0))break;else J=J+4|0,_=_+4|0;$=$+1|0}while(($|0)!=(U|0));return}function YF(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;T=Z[V>>2]|0,X=V+8|0;do if((T|0)>0)if(Y=Z[X>>2]|0,!(Q6($,Z[Y+(T+-1<<2)>>2]|0)|0))return;else{Q=X,W=Y;break}else Q=X,W=Z[X>>2]|0;while(0);Z[Q>>2]=y6(W,(T<<2)+4|0)|0,T=B2((x6($)|0)+1|0)|0,W=Z[V>>2]|0,Z[(Z[X>>2]|0)+(W<<2)>>2]=T,V8(Z[(Z[X>>2]|0)+(W<<2)>>2]|0,$)|0,$=V+16|0,W=y6(Z[$>>2]|0,(Z[V>>2]<<2)+4|0)|0,Z[$>>2]=W,Z[W+(Z[V>>2]<<2)>>2]=Z[V+4>>2],Z[V>>2]=(Z[V>>2]|0)+1;return}function BR(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;if($=V+8|0,T=Z[$>>2]|0,(Z[V>>2]|0)>0){X=T,Y=0;while(!0)if($6(Z[X+(Y<<2)>>2]|0),Y=Y+1|0,Q=Z[$>>2]|0,(Y|0)>=(Z[V>>2]|0)){W=Q;break}else X=Q}else W=T;if($6(W),$6(Z[V+16>>2]|0),W=V+4|0,T=V+12|0,V=Z[T>>2]|0,(Z[W>>2]|0)<=0){U=V,$6(U),S=Z[543502]|0,J=S+-1|0,Z[543502]=J;return}X=V,V=0;while(!0)if($6(Z[X+(V<<2)>>2]|0),V=V+1|0,Y=Z[T>>2]|0,(V|0)>=(Z[W>>2]|0)){U=Y;break}else X=Y;$6(U),S=Z[543502]|0,J=S+-1|0,Z[543502]=J;return}function _4(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0;X=Z[V>>2]|0;Z:do if((X|0)>0){Y=Z[V+8>>2]|0,Q=0;while(!0){if(!(Q6($,Z[Y+(Q<<2)>>2]|0)|0)){W=Q;break Z}if(U=Q+1|0,(U|0)<(X|0))Q=U;else{W=U;break}}}else W=0;while(0);do if((W|0)!=(X|0)?($=Z[V+16>>2]|0,Q=(Z[$+(W<<2)>>2]|0)+T|0,(Q|0)<(Z[V+4>>2]|0)):0){if((W|0)<(X+-1|0)?(Q|0)>=(Z[$+(W+1<<2)>>2]|0):0){S=34844;break}S=(Z[V+12>>2]|0)+(Q<<2)|0}else S=34844;while(0);return Z[S>>2]|0}function yN(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0;if($=q,q=q+2048|0,T=$+1024|0,X=$,Y=c5(V,102896)|0,!Y)return Q=0,q=$,Q|0;V=B2(24)|0,C1(V,0,24);Z:do if(!(_V(Y)|0)){W=V+12|0,U=V+4|0;while(!0){N[T>>0]=0,AX(T,1023,Y)|0,S=N[T>>0]|0;V:do switch(S<<24>>24){case 0:case 47:break;default:{J=S,_=T;while(!0){switch(K=J<<24>>24,J<<24>>24){case 47:case 0:break V;default:}if(J<<24>>24==95|((K+-48|0)>>>0<10|((K&-33)+-65|0)>>>0<26))break;K=_+1|0,J=N[K>>0]|0,_=K}if(J<<24>>24){N[X>>0]=0,K=J,P=_,O=0;while(!0)if(N[X+O>>0]=K,O=O+1|0,N[X+O>>0]=0,L=P+1|0,K=N[L>>0]|0,F=K<<24>>24,!(K<<24>>24==95|((F+-48|0)>>>0<10|((F&-33)+-65|0)>>>0<26)))break;else P=L;if(N[X>>0]|0){if(YF(V,X),K=N[L>>0]|0,K<<24>>24==58)z=(N[P+2>>0]|0)==58;else z=0;O=K,K=L;$:while(!0){switch(O<<24>>24){case 58:case 32:break;default:break $}_=K+1|0,O=N[_>>0]|0,K=_}if(P=O<<24>>24==0,!z){if(P)break V;Z[W>>2]=y6(Z[W>>2]|0,(Z[U>>2]<<2)+4|0)|0,_=B2((x6(K)|0)+1|0)|0,J=Z[U>>2]|0,Z[(Z[W>>2]|0)+(J<<2)>>2]=_,V8(Z[(Z[W>>2]|0)+(J<<2)>>2]|0,K)|0,Z[U>>2]=(Z[U>>2]|0)+1;break V}if(!P){P=K;while(!0){N[X>>0]=0,J=P;while(!0)if(H=N[J>>0]|0,H<<24>>24==32)J=J+1|0;else break;_=H,F=J,C=0;$:while(!0){switch(_<<24>>24){case 32:case 0:break $;default:}N[X+C>>0]=_,A=C+1|0,N[X+A>>0]=0,y=F+1|0,_=N[y>>0]|0,F=y,C=A}if(!(N[X>>0]|0))k=_;else Z[W>>2]=y6(Z[W>>2]|0,(Z[U>>2]<<2)+4|0)|0,C=B2((x6(X)|0)+1|0)|0,J=Z[U>>2]|0,Z[(Z[W>>2]|0)+(J<<2)>>2]=C,V8(Z[(Z[W>>2]|0)+(J<<2)>>2]|0,X)|0,Z[U>>2]=(Z[U>>2]|0)+1,k=N[F>>0]|0;if(!(k<<24>>24))break;else P=F}}}}}}while(0);if(_V(Y)|0)break Z}}while(0);return I5(Y),Z[543502]=(Z[543502]|0)+1,Q=V,q=$,Q|0}function QF(V){V=V|0;var $=0;return $=Y1(11032)|0,Z[$>>2]=V<<2,Z[543502]=(Z[543502]|0)+1,$|0}function WF(V){if(V=V|0,!V)return;NF(V),$6(V),Z[543502]=(Z[543502]|0)+-1;return}function NF(V){V=V|0;var $=0;$=V+11016|0,$z(Z[$>>2]|0),_R(Z[$>>2]|0),Z[$>>2]=0,$=V+344|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+688|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+1032|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+1376|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+1720|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+2064|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+2408|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+2752|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+3096|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+3440|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+3784|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+4128|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+4472|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+4816|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+5160|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+5504|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+5848|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+6192|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+6536|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+6880|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+7224|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+7568|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+7912|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+8256|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+8600|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+8944|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+9288|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+9632|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+9976|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+10320|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+10664|0,$6(Z[$>>2]|0),Z[$>>2]=0,$=V+11008|0,$6(Z[$>>2]|0),Z[$>>2]=0;return}function UF(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0,j8=0,C6=0,o6=0,u6=0,p8=0,i8=0,q8=0,m8=0,l8=0,w8=0,U2=0,K8=0,A8=0,t8=0,_2=0,Y2=0,Q2=0,F2=0,w2=0,G2=0,K2=0,Z2=0,o2=0,u8=0,L2=0,N2=0,u2=0,Z1=0,I2=0,j2=0,Q1=0,p2=0,r2=0,W1=0,x2=0,a2=0,E2=0,d2=0,b2=0,P2=0,V1=0;Y=q,q=q+144|0,Q=Y+88|0,W=Y+44|0,U=Y,S=T<<3,J=$+X|0,X=T+-2|0,$=T+-4|0,_=Q+8|0,K=Q+4|0,P=Q+12|0,O=Q+20|0,L=Q+16|0,F=Q+24|0,z=Q+32|0,H=Q+28|0,C=W+8|0,A=W+4|0,y=W+12|0,k=W+20|0,m=W+16|0,I=W+24|0,u=W+32|0,g=W+28|0,i=Q+40|0,t=V+4|0,Y0=V+8|0,X0=W+40|0,T0=U+8|0,Z0=U+4|0,W0=U+12|0,O0=U+20|0,y0=U+16|0,E0=U+24|0,H0=U+32|0,D0=U+28|0,_0=U+40|0,F0=U+36|0,k0=Q+36|0,m0=W+36|0,B0=0,g0=0;Z:while(!0){if(o0=B0+2|0,o0>>>0>=S>>>0){h0=52,C0=125;break}switch(u0=G[J+(B0>>>3)>>0]|0,p0=B0&7,q0=B0+1|0,i0=B0+3|0,t0=((G[J+(o0>>>3)>>0]|0)>>>(o0&7)<<1|(G[J+(q0>>>3)>>0]|0)>>>(q0&7)&1)&255,t0&3){case 3:{h0=20,C0=125;break Z}case 0:{if(!(i0&7))E6=i0;else{q0=i0;while(!0)if(o0=q0+1|0,!(o0&7)){E6=o0;break}else q0=o0}if(q0=E6>>>3,q0>>>0>=$>>>0){h0=52,C0=125;break Z}if(o0=(G[J+(q0+1)>>0]|0)<<8|(G[J+q0>>0]|0),V6=q0+4|0,(((G[J+(q0+3)>>0]|0)<<8|(G[J+(q0+2)>>0]|0))+o0|0)!=65535){h0=21,C0=125;break Z}if(q0=o0+g0|0,q0>>>0>=(Z[t>>2]|0)>>>0){if((Z[Y0>>2]|0)>>>0>>0){if(n0=q0<<1,e0=y6(Z[V>>2]|0,n0)|0,!e0){h0=9915,C0=125;break Z}Z[Y0>>2]=n0,Z[V>>2]=e0}Z[t>>2]=q0}if(e0=o0+V6|0,e0>>>0>T>>>0){h0=23,C0=125;break Z}if(!o0)Z6=V6,U6=g0;else{n0=0,N6=V6,V6=g0;while(!0)if(N[(Z[V>>2]|0)+V6>>0]=N[J+N6>>0]|0,n0=n0+1|0,(n0|0)==(o0|0)){Z6=e0,U6=q0;break}else N6=N6+1|0,V6=V6+1|0}A6=Z6<<3,S6=U6;break}default:{V6=Q,N6=V6+36|0;do Z[V6>>2]=0,V6=V6+4|0;while((V6|0)<(N6|0));V6=W,N6=V6+36|0;do Z[V6>>2]=0,V6=V6+4|0;while((V6|0)<(N6|0));switch(t0&3){case 1:{CR(Q),AR(W),H6=i0,M6=0;break}case 2:{V6=U,N6=V6+36|0;do Z[V6>>2]=0,V6=V6+4|0;while((V6|0)<(N6|0));t0=i0>>>3;V:do if(t0>>>0>>0){q0=B0+4|0,e0=B0+5|0,o0=B0+6|0,n0=B0+7|0,F6=(G[J+(q0>>>3)>>0]|0)>>>(q0&7)<<1&2|(G[J+t0>>0]|0)>>>(i0&7)&1|(G[J+(e0>>>3)>>0]|0)>>>(e0&7)<<2&4|(G[J+(o0>>>3)>>0]|0)>>>(o0&7)<<3&8|(G[J+(n0>>>3)>>0]|0)>>>(n0&7)<<4&16,n0=B0+8|0,o0=F6+257|0,e0=B0+9|0,q0=B0+10|0,J6=B0+11|0,L6=B0+12|0,c0=(G[J+(e0>>>3)>>0]|0)>>>(e0&7)<<1&2|(G[J+(n0>>>3)>>0]|0)>>>(n0&7)&1|(G[J+(q0>>>3)>>0]|0)>>>(q0&7)<<2&4|(G[J+(J6>>>3)>>0]|0)>>>(J6&7)<<3&8|(G[J+(L6>>>3)>>0]|0)>>>(L6&7)<<4&16,L6=B0+13|0,J6=B0+14|0,q0=B0+15|0,n0=B0+16|0,e0=B0+17|0,T6=((G[J+(J6>>>3)>>0]|0)>>>(J6&7)<<1&2|(G[J+(L6>>>3)>>0]|0)>>>(L6&7)&1|(G[J+(q0>>>3)>>0]|0)>>>(q0&7)<<2&4|(G[J+(n0>>>3)>>0]|0)>>>(n0&7)<<3&8)+4|0,n0=y6(0,152)|0;do if(!n0)W6=0,h6=e0,s6=9911;else{q0=e0,L6=0;while(!0){if(L6>>>0>>0)J6=q0+1|0,p6=q0+2|0,G6=(G[J+(J6>>>3)>>0]|0)>>>(J6&7)<<1&2|(G[J+(q0>>>3)>>0]|0)>>>(q0&7)&1|(G[J+(p6>>>3)>>0]|0)>>>(p6&7)<<2&4,w6=q0+3|0;else G6=0,w6=q0;if(Z[n0+(Z[29264+(L6<<2)>>2]<<2)>>2]=G6,L6=L6+1|0,(L6|0)==19)break;else q0=w6}if((Z[H0>>2]|0)>>>0<76){if(q0=y6(Z[E0>>2]|0,152)|0,!q0){W6=n0,h6=w6,s6=9903;break}Z[H0>>2]=152,Z[E0>>2]=q0,Z[D0>>2]=19,B6=q0}else Z[D0>>2]=19,B6=Z[E0>>2]|0;if(Z[B6>>2]=Z[n0>>2],Z[B6+4>>2]=Z[n0+4>>2],Z[B6+8>>2]=Z[n0+8>>2],Z[B6+12>>2]=Z[n0+12>>2],Z[B6+16>>2]=Z[n0+16>>2],Z[B6+20>>2]=Z[n0+20>>2],Z[B6+24>>2]=Z[n0+24>>2],Z[B6+28>>2]=Z[n0+28>>2],Z[B6+32>>2]=Z[n0+32>>2],Z[B6+36>>2]=Z[n0+36>>2],Z[B6+40>>2]=Z[n0+40>>2],Z[B6+44>>2]=Z[n0+44>>2],Z[B6+48>>2]=Z[n0+48>>2],Z[B6+52>>2]=Z[n0+52>>2],Z[B6+56>>2]=Z[n0+56>>2],Z[B6+60>>2]=Z[n0+60>>2],Z[B6+64>>2]=Z[n0+64>>2],Z[B6+68>>2]=Z[n0+68>>2],Z[B6+72>>2]=Z[n0+72>>2],Z[_0>>2]=19,Z[F0>>2]=7,q0=K$(U)|0,$6(n0),q0|0){i6=w6,H8=q0;break V}if(q0=y6(0,2304)|0,!q0)m6=0,_8=0,v8=0;else x8(q0|0,0,1152)|0,m6=q0,_8=q0,v8=288;q0=y6(0,256)|0;$:do if(q0){V6=q0,N6=V6+128|0;do Z[V6>>2]=0,V6=V6+4|0;while((V6|0)<(N6|0));if(_8){L6=F6+258+c0|0;do if(L6){p6=Z[U>>2]|0,J6=Z[_0>>2]|0,Y8=-258-F6|0,T8=w6,C8=0,j8=0;Y:while(!0){if(T8>>>0>S>>>0){C6=T8,C0=59;break}o6=T8,u6=0;while(!0){if(p8=Z[p6+(((G[J+(o6>>>3)>>0]|0)>>>(o6&7)&1|u6<<1)<<2)>>2]|0,i8=o6+1|0,p8>>>0>>0)break;if(u6=p8-J6|0,o6>>>0>=S>>>0|u6>>>0>=J6>>>0){C6=i8,C0=59;break Y}else o6=i8}Q:do if(p8>>>0<16)Z[(j8>>>0>>0?_8+(j8<<2)|0:q0+(j8-o0<<2)|0)>>2]=p8,q8=i8,m8=C8,l8=j8+1|0;else switch(p8|0){case 16:{if(u6=i8>>>3,u6>>>0>=T>>>0){w8=q0,U2=i8,K8=50;break $}A8=o6+2|0,t8=o6+3|0,_2=((G[J+(A8>>>3)>>0]|0)>>>(A8&7)<<1&2|(G[J+u6>>0]|0)>>>(i8&7)&1)+3|0,u6=j8+-1|0,A8=Z[(u6>>>0>>0?_8+(u6<<2)|0:q0+(Y8+j8<<2)|0)>>2]|0,u6=j8,Y2=0;while(!0){if(u6>>>0>=L6>>>0){q8=t8,m8=13,l8=u6;break Q}if(Z[(u6>>>0>>0?_8+(u6<<2)|0:q0+(u6-o0<<2)|0)>>2]=A8,Q2=u6+1|0,Y2=Y2+1|0,Y2>>>0>=_2>>>0){q8=t8,m8=C8,l8=Q2;break}else u6=Q2}break}case 17:{if(u6=i8>>>3,u6>>>0>=T>>>0){w8=q0,U2=i8,K8=50;break $}t8=o6+2|0,_2=o6+3|0,Y2=o6+4|0,A8=((G[J+(t8>>>3)>>0]|0)>>>(t8&7)<<1&2|(G[J+u6>>0]|0)>>>(i8&7)&1|(G[J+(_2>>>3)>>0]|0)>>>(_2&7)<<2&4)+3|0,_2=j8,u6=0;while(!0){if(_2>>>0>=L6>>>0){q8=Y2,m8=14,l8=_2;break Q}if(Z[(_2>>>0>>0?_8+(_2<<2)|0:q0+(_2-o0<<2)|0)>>2]=0,t8=_2+1|0,u6=u6+1|0,u6>>>0>=A8>>>0){q8=Y2,m8=C8,l8=t8;break}else _2=t8}break}case 18:{if(_2=i8>>>3,_2>>>0>=T>>>0){w8=q0,U2=i8,K8=50;break $}if(Y2=o6+2|0,A8=o6+3|0,u6=o6+4|0,t8=o6+5|0,Q2=o6+6|0,F2=o6+7|0,w2=o6+8|0,G2=((G[J+(Y2>>>3)>>0]|0)>>>(Y2&7)<<1&2|(G[J+_2>>0]|0)>>>(i8&7)&1|(G[J+(A8>>>3)>>0]|0)>>>(A8&7)<<2&4|(G[J+(u6>>>3)>>0]|0)>>>(u6&7)<<3&8|(G[J+(t8>>>3)>>0]|0)>>>(t8&7)<<4&16|(G[J+(Q2>>>3)>>0]|0)>>>(Q2&7)<<5&32|(G[J+(F2>>>3)>>0]|0)>>>(F2&7)<<6&64)+11|0,!G2){q8=w2,m8=C8,l8=j8;break Q}F2=j8,Q2=0;while(!0){if(F2>>>0>=L6>>>0){q8=w2,m8=15,l8=F2;break Q}if(Z[(F2>>>0>>0?_8+(F2<<2)|0:q0+(F2-o0<<2)|0)>>2]=0,t8=F2+1|0,Q2=Q2+1|0,Q2>>>0>=G2>>>0){q8=w2,m8=C8,l8=t8;break}else F2=t8}break}default:{w8=q0,U2=i8,K8=16;break $}}while(0);if(l8>>>0>>0)T8=q8,C8=m8,j8=l8;else{C0=61;break}}if((C0|0)==59){C0=0,w8=q0,U2=C6,K8=C6>>>0>S>>>0?10:11;break $}else if((C0|0)==61)if(C0=0,!m8){K2=q8;break}else{w8=q0,U2=q8,K8=m8;break $}}else K2=w6;while(0);if(Z[_8+1024>>2]|0){if(v8<<2>>>0>(Z[z>>2]|0)>>>0){if(L6=v8<<3,j8=y6(Z[F>>2]|0,L6)|0,!j8){w8=q0,U2=K2,K8=9903;break}Z[z>>2]=L6,Z[F>>2]=j8}if(Z[H>>2]=v8,v8|0){j8=Z[F>>2]|0,L6=0;do Z[j8+(L6<<2)>>2]=Z[_8+(L6<<2)>>2],L6=L6+1|0;while((L6|0)!=(v8|0))}if(Z[i>>2]=v8,Z[k0>>2]=15,L6=K$(Q)|0,!L6){if((Z[u>>2]|0)>>>0<128){if(j8=y6(Z[I>>2]|0,256)|0,!j8){w8=q0,U2=K2,K8=9903;break}Z[u>>2]=256,Z[I>>2]=j8,Z[g>>2]=32,Z2=j8}else Z[g>>2]=32,Z2=Z[I>>2]|0;Z[Z2>>2]=Z[q0>>2],Z[Z2+4>>2]=Z[q0+4>>2],Z[Z2+8>>2]=Z[q0+8>>2],Z[Z2+12>>2]=Z[q0+12>>2],Z[Z2+16>>2]=Z[q0+16>>2],Z[Z2+20>>2]=Z[q0+20>>2],Z[Z2+24>>2]=Z[q0+24>>2],Z[Z2+28>>2]=Z[q0+28>>2],Z[Z2+32>>2]=Z[q0+32>>2],Z[Z2+36>>2]=Z[q0+36>>2],Z[Z2+40>>2]=Z[q0+40>>2],Z[Z2+44>>2]=Z[q0+44>>2],Z[Z2+48>>2]=Z[q0+48>>2],Z[Z2+52>>2]=Z[q0+52>>2],Z[Z2+56>>2]=Z[q0+56>>2],Z[Z2+60>>2]=Z[q0+60>>2],Z[Z2+64>>2]=Z[q0+64>>2],Z[Z2+68>>2]=Z[q0+68>>2],Z[Z2+72>>2]=Z[q0+72>>2],Z[Z2+76>>2]=Z[q0+76>>2],Z[Z2+80>>2]=Z[q0+80>>2],Z[Z2+84>>2]=Z[q0+84>>2],Z[Z2+88>>2]=Z[q0+88>>2],Z[Z2+92>>2]=Z[q0+92>>2],Z[Z2+96>>2]=Z[q0+96>>2],Z[Z2+100>>2]=Z[q0+100>>2],Z[Z2+104>>2]=Z[q0+104>>2],Z[Z2+108>>2]=Z[q0+108>>2],Z[Z2+112>>2]=Z[q0+112>>2],Z[Z2+116>>2]=Z[q0+116>>2],Z[Z2+120>>2]=Z[q0+120>>2],Z[Z2+124>>2]=Z[q0+124>>2],Z[X0>>2]=32,Z[m0>>2]=15,w8=q0,U2=K2,K8=K$(W)|0}else w8=q0,U2=K2,K8=L6}else w8=q0,U2=K2,K8=64}else w8=q0,U2=w6,K8=9912}else w8=0,U2=w6,K8=9912;while(0);$6(m6),$6(w8),i6=U2,H8=K8;break V}while(0);$6(W6),i6=h6,H8=s6}else i6=i0,H8=49;while(0);Z[T0>>2]=0,Z[Z0>>2]=0,$6(Z[U>>2]|0),Z[U>>2]=0,Z[O0>>2]=0,Z[y0>>2]=0,$6(Z[W0>>2]|0),Z[W0>>2]=0,Z[H0>>2]=0,Z[D0>>2]=0,$6(Z[E0>>2]|0),H6=i6,M6=H8;break}default:H6=i0,M6=0}V:do if(H6>>>0<=S>>>0){V6=Z[Q>>2]|0,N6=Z[i>>2]|0,t0=Z[W>>2]|0,o0=Z[X0>>2]|0,F6=H6,c0=g0;$:while(!0){n0=F6,T6=0;while(!0){if(o2=Z[V6+(((G[J+(n0>>>3)>>0]|0)>>>(n0&7)&1|T6<<1)<<2)>>2]|0,u8=n0+1|0,o2>>>0>>0)break;if(T6=o2-N6|0,u8>>>0>S>>>0|T6>>>0>=N6>>>0){L2=u8,N2=c0,C0=115;break V}else n0=u8}if(o2>>>0>=256){if(!((o2|0)!=256&o2>>>0<286)){C0=114;break}if(n0=o2+-257|0,u8>>>3>>>0>=T>>>0){u2=u8,Z1=51,C0=118;break}if(T6=Z[29344+(n0<<2)>>2]|0,e0=Z[29472+(n0<<2)>>2]|0,(o2+-265|0)>>>0>19)I2=u8,j2=0;else{n0=u8,q0=0,L6=0;while(!0)if(L6=(((G[J+(n0>>>3)>>0]|0)>>>(n0&7)&1)<>>0>S>>>0){Q1=I2,C0=100;break}q0=I2,j8=0;while(!0){if(p2=Z[t0+(((G[J+(q0>>>3)>>0]|0)>>>(q0&7)&1|j8<<1)<<2)>>2]|0,r2=q0+1|0,p2>>>0>>0)break;if(j8=p2-o0|0,q0>>>0>=S>>>0|j8>>>0>=o0>>>0){Q1=r2,C0=100;break $}else q0=r2}if(p2>>>0>29){Q1=r2,C0=100;break}if(r2>>>3>>>0>=T>>>0){u2=r2,Z1=51,C0=118;break}if(q0=Z[29600+(p2<<2)>>2]|0,j8=Z[29728+(p2<<2)>>2]|0,p2>>>0<4)W1=r2,x2=0;else{L6=r2,T6=0,C8=0;while(!0)if(C8=(((G[J+(L6>>>3)>>0]|0)>>>(L6&7)&1)<>>0>=(Z[t>>2]|0)>>>0){if(T8=T6<<1,(Z[Y0>>2]|0)>>>0>>0){if(Y8=T6<<2,T6=y6(Z[V>>2]|0,Y8)|0,!T6){u2=W1,Z1=9914,C0=118;break}Z[Y0>>2]=Y8,Z[V>>2]=T6}Z[t>>2]=T8}if(!n0)a2=W1,E2=c0;else{T8=c0+j2|0,T6=L6,Y8=0,J6=c0;while(!0)if(p6=Z[V>>2]|0,N[p6+J6>>0]=N[p6+T6>>0]|0,p6=T6+1|0,Y8=Y8+1|0,(Y8|0)==(n0|0))break;else T6=p6>>>0>>0?p6:L6,J6=J6+1|0;a2=W1,E2=T8+e0|0}}else{if(c0>>>0>=(Z[t>>2]|0)>>>0){if(J6=(c0<<1)+2|0,(Z[Y0>>2]|0)>>>0>>0){if(L6=J6<<1,T6=y6(Z[V>>2]|0,L6)|0,!T6){u2=u8,Z1=9913,C0=118;break}Z[Y0>>2]=L6,Z[V>>2]=T6}Z[t>>2]=J6}N[(Z[V>>2]|0)+c0>>0]=o2,a2=u8,E2=c0+1|0}if(a2>>>0>S>>>0){L2=a2,N2=E2,C0=115;break V}else F6=a2,c0=E2}if((C0|0)==100){C0=0,d2=V6,b2=Q1,P2=(o2|0)==-1?Q1>>>0>S>>>0?10:11:18,V1=c0;break}else if((C0|0)==114)if(C0=0,(o2|0)==256){d2=V6,b2=u8,P2=M6,V1=c0;break}else{L2=u8,N2=c0,C0=115;break}else if((C0|0)==118){C0=0,d2=V6,b2=u2,P2=Z1,V1=c0;break}}else L2=H6,N2=g0,C0=115;while(0);if((C0|0)==115)C0=0,d2=Z[Q>>2]|0,b2=L2,P2=L2>>>0>S>>>0?10:11,V1=N2;if(Z[_>>2]=0,Z[K>>2]=0,$6(d2),Z[Q>>2]=0,Z[O>>2]=0,Z[L>>2]=0,$6(Z[P>>2]|0),Z[P>>2]=0,Z[z>>2]=0,Z[H>>2]=0,$6(Z[F>>2]|0),Z[C>>2]=0,Z[A>>2]=0,$6(Z[W>>2]|0),Z[W>>2]=0,Z[k>>2]=0,Z[m>>2]=0,$6(Z[y>>2]|0),Z[y>>2]=0,Z[u>>2]=0,Z[g>>2]=0,$6(Z[I>>2]|0),!P2)A6=b2,S6=V1;else{h0=P2,C0=125;break Z}}}if(!(1<>2]|0)>>>0>=S6>>>0)return Z[t>>2]=S6,h0=0,q=Y,h0|0;if(g0=S6<<1,A6=y6(Z[V>>2]|0,g0)|0,!A6)return h0=9916,q=Y,h0|0;return Z[Y0>>2]=g0,Z[V>>2]=A6,Z[t>>2]=S6,h0=0,q=Y,h0|0}else if((C0|0)==125)return q=Y,h0|0;return 0}function CR(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0;if($=y6(0,2304)|0,!$){T=0,$6(T);return}X=0;do Z[$+(X<<2)>>2]=8,X=X+1|0;while((X|0)!=144);X=144;do Z[$+(X<<2)>>2]=9,X=X+1|0;while((X|0)!=256);Z[$+1024>>2]=7,Z[$+1028>>2]=7,Z[$+1032>>2]=7,Z[$+1036>>2]=7,Z[$+1040>>2]=7,Z[$+1044>>2]=7,Z[$+1048>>2]=7,Z[$+1052>>2]=7,Z[$+1056>>2]=7,Z[$+1060>>2]=7,Z[$+1064>>2]=7,Z[$+1068>>2]=7,Z[$+1072>>2]=7,Z[$+1076>>2]=7,Z[$+1080>>2]=7,Z[$+1084>>2]=7,Z[$+1088>>2]=7,Z[$+1092>>2]=7,Z[$+1096>>2]=7,Z[$+1100>>2]=7,Z[$+1104>>2]=7,Z[$+1108>>2]=7,Z[$+1112>>2]=7,Z[$+1116>>2]=7,Z[$+1120>>2]=8,Z[$+1124>>2]=8,Z[$+1128>>2]=8,Z[$+1132>>2]=8,Z[$+1136>>2]=8,Z[$+1140>>2]=8,Z[$+1144>>2]=8,Z[$+1148>>2]=8,X=V+24|0,Y=V+32|0;do if((Z[Y>>2]|0)>>>0<1152)if(Q=y6(Z[X>>2]|0,2304)|0,!Q){T=$,$6(T);return}else{Z[Y>>2]=2304,Z[X>>2]=Q,Z[V+28>>2]=288,W=Q;break}else Z[V+28>>2]=288,W=Z[X>>2]|0;while(0);X=0;do Z[W+(X<<2)>>2]=Z[$+(X<<2)>>2],X=X+1|0;while((X|0)!=288);Z[V+40>>2]=288,Z[V+36>>2]=15,K$(V)|0,T=$,$6(T);return}function AR(V){V=V|0;var $=0,T=0;if($=y6(0,256)|0,!$){T=0,$6(T);return}Z[$>>2]=5,Z[$+4>>2]=5,Z[$+8>>2]=5,Z[$+12>>2]=5,Z[$+16>>2]=5,Z[$+20>>2]=5,Z[$+24>>2]=5,Z[$+28>>2]=5,Z[$+32>>2]=5,Z[$+36>>2]=5,Z[$+40>>2]=5,Z[$+44>>2]=5,Z[$+48>>2]=5,Z[$+52>>2]=5,Z[$+56>>2]=5,Z[$+60>>2]=5,Z[$+64>>2]=5,Z[$+68>>2]=5,Z[$+72>>2]=5,Z[$+76>>2]=5,Z[$+80>>2]=5,Z[$+84>>2]=5,Z[$+88>>2]=5,Z[$+92>>2]=5,Z[$+96>>2]=5,Z[$+100>>2]=5,Z[$+104>>2]=5,Z[$+108>>2]=5,Z[$+112>>2]=5,Z[$+116>>2]=5,Z[$+120>>2]=5,Z[$+124>>2]=5,JF(V,$,32,15)|0,T=$,$6(T);return}function K$(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0;if($=V+12|0,T=V+40|0,X=Z[T>>2]|0,Y=V+20|0,X<<2>>>0>(Z[Y>>2]|0)>>>0)if(Q=X<<3,W=y6(Z[$>>2]|0,Q)|0,!W)U=0;else Z[Y>>2]=Q,Z[$>>2]=W,S=4;else S=4;do if((S|0)==4){if(Z[V+16>>2]=X,W=V+36|0,Q=(Z[W>>2]|0)+1|0,Y=Q<<2,!Y)J=0,_=0;else{if(K=y6(0,Q<<3)|0,!K){U=0;break}J=K,_=K}if(Q|0)x8(J|0,0,Y|0)|0;if(Y=(Z[W>>2]|0)+1|0,Q=Y<<2,!Q)P=0,O=0;else{if(K=y6(0,Y<<3)|0,!K){U=J;break}P=K,O=K}if(Y|0)x8(P|0,0,Q|0)|0;if(!(Z[T>>2]|0))L=0;else{Q=Z[V+24>>2]|0,Y=0;do K=_+(Z[Q+(Y<<2)>>2]<<2)|0,Z[K>>2]=(Z[K>>2]|0)+1,Y=Y+1|0,K=Z[T>>2]|0;while(Y>>>0>>0);L=K}if(!(Z[W>>2]|0))F=L;else{Y=Z[O>>2]|0,Q=1;do Y=(Z[_+(Q+-1<<2)>>2]|0)+Y<<1,Z[O+(Q<<2)>>2]=Y,Q=Q+1|0;while(Q>>>0<=(Z[W>>2]|0)>>>0);F=Z[T>>2]|0}if(F|0){W=Z[V+24>>2]|0,Q=F,Y=0;while(!0){if(K=Z[W+(Y<<2)>>2]|0,!K)z=Q;else H=O+(K<<2)|0,K=Z[H>>2]|0,Z[H>>2]=K+1,Z[(Z[$>>2]|0)+(Y<<2)>>2]=K,z=Z[T>>2]|0;if(Y=Y+1|0,Y>>>0>=z>>>0)break;else Q=z}}$6(J),$6(P),Q=Z[T>>2]|0,Y=Q<<1,W=V+8|0;do if(Q<<3>>>0>(Z[W>>2]|0)>>>0)if(K=Q<<4,H=y6(Z[V>>2]|0,K)|0,!H)return C=9901,C|0;else{Z[W>>2]=K,Z[V>>2]=H,Z[V+4>>2]=Y,A=Z[T>>2]|0;break}else Z[V+4>>2]=Y,A=Q;while(0);if(!(A&2147483647))y=A;else{Q=Z[V>>2]|0,Y=0;do Z[Q+(Y<<2)>>2]=32767,Y=Y+1|0,W=Z[T>>2]|0;while(Y>>>0>>0);y=W}if(!y)return C=0,C|0;Y=Z[V+24>>2]|0,Q=V+12|0,W=y,H=0,K=0,k=0;Z:while(!0){m=Y+(H<<2)|0,I=Z[m>>2]|0;V:do if(!I)u=W,g=K,i=k;else{if(k>>>0>(W+-2|0)>>>0){C=55,S=52;break Z}t=(Z[Q>>2]|0)+(H<<2)|0,Y0=Z[V>>2]|0,X0=I,T0=W,Z0=0,W0=K,O0=k;while(!0){y0=Y0+(((Z[t>>2]|0)>>>(X0+~Z0|0)&1|O0<<1)<<2)|0,E0=Z[y0>>2]|0;do if((E0|0)==32767)if(H0=Z0+1|0,(H0|0)==(X0|0)){Z[y0>>2]=H,D0=X0,_0=W0,F0=0;break}else{k0=W0+1|0,Z[y0>>2]=k0+T0,D0=H0,_0=k0,F0=k0;break}else D0=Z0+1|0,_0=W0,F0=E0-T0|0;while(0);if(X0=Z[m>>2]|0,T0=Z[T>>2]|0,X0>>>0<=D0>>>0){u=T0,g=_0,i=F0;break V}if(F0>>>0>(T0+-2|0)>>>0){C=55,S=52;break Z}else Z0=D0,W0=_0,O0=F0}}while(0);if(H=H+1|0,H>>>0>=u>>>0){S=46;break}else W=u,K=g,k=i}if((S|0)==46){if(!(u&2147483647))return C=0,C|0;k=Z[V>>2]|0,K=u,W=0;while(!0){if(H=k+(W<<2)|0,(Z[H>>2]|0)==32767)Z[H>>2]=0,m0=Z[T>>2]|0;else m0=K;if(W=W+1|0,W>>>0>=m0<<1>>>0){C=0;break}else K=m0}return C|0}else if((S|0)==52)return C|0}while(0);return $6(U),$6(0),C=9902,C|0}function JF(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0;Y=V+24|0,Q=V+32|0;do if(T<<2>>>0>(Z[Q>>2]|0)>>>0)if(W=T<<3,U=y6(Z[Y>>2]|0,W)|0,!U)return S=9903,S|0;else{Z[Q>>2]=W,Z[Y>>2]=U;break}while(0);if(Z[V+28>>2]=T,T|0){Q=Z[Y>>2]|0,Y=0;do Z[Q+(Y<<2)>>2]=Z[$+(Y<<2)>>2],Y=Y+1|0;while((Y|0)!=(T|0))}return Z[V+40>>2]=T,Z[V+36>>2]=X,S=K$(V)|0,S|0}function SF(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0,j8=0,C6=0,o6=0,u6=0,p8=0,i8=0,q8=0,m8=0,l8=0,w8=0,U2=0,K8=0,A8=0,t8=0,_2=0,Y2=0,Q2=0,F2=0,w2=0,G2=0,K2=0,Z2=0,o2=0,u8=0,L2=0,N2=0,u2=0,Z1=0,I2=0,j2=0,Q1=0,p2=0,r2=0,W1=0,x2=0,a2=0,E2=0,d2=0,b2=0,P2=0,V1=0,X2=0,$1=0,P1=0,v2=0,T1=0,_1=0,l2=0,c1=0,$7=0,D1=0,n2=0,z1=0,N1=0,l1=0,A1=0,y1=0,B1=0,Z7=0,S1=0,q7=0,g2=0,T7=0,F7=0,N7=0,f8=0,C5=0,i1=0,c2=0,D2=0,X1=0,H2=0,i2=0,e8=0,t2=0,t1=0,y2=0,A2=0,M1=0,w1=0,p7=0,U1=0,h7=0,U7=0,E7=0,k2=0,I1=0,J1=0,O7=0,B7=0,j1=0,G7=0,M7=0,m7=0,s5=0,J7=0,F1=0,z7=0,G5=0,u7=0,r5=0,g7=0,j5=0,W9=0,Z9=0,A5=0,v7=0,l7=0,h5=0,g5=0,M5=0,r1=0,V9=0,C7=0,H5=0,i5=0,A7=0,L7=0,X7=0,N9=0,U9=0,L5=0,z9=0,P4=0,k3=0,z3=0,F9=0,c9=0,m4=0,p3=0,F3=0,J9=0,I9=0,m3=0,b3=0,U3=0,S9=0,J3=0,JZ=0,O4=0,E3=0,l9=0,S3=0,SZ=0,G4=0,e3=0,V5=0,Z3=0,u4=0,s9=0,k5=0,q9=0,B3=0,$9=0,T9=0,V3=0,i7=0,Y7=0,l4=0,v9=0,Q7=0,R1=0,X9=0,E9=0,s4=0,$5=0,a3=0,M4=0,c3=0,H7=0,C3=0,R9=0,R3=0,o4=0,_3=0,n4=0,L4=0,u3=0,B9=0,l3=0,Z4=0,r4=0,h4=0,M$=0,FT=0,K3=0,D4=0,xZ=0,P3=0,yZ=0,g9=0,s3=0,wZ=0,t5=0,ET=0,L$=0,z4=0,D7=0,IZ=0,t7=0,_9=0,RZ=0,K9=0,J2=0,$3=0,P9=0,p5=0,m2=0,s7=0,O1=0,h8=0,T5=0,H1=0,f5=0,S7=0,W2=0,c8=0,V4=0,T3=0,T2=0,S2=0,o3=0,F4=0,n3=0,A3=0,Y9=0,OV=0,qZ=0,GV=0,vZ=0,jZ=0,_Z=0,kZ=0,KZ=0,PZ=0,g4=0,pZ=0,D$=0,i4=0,z$=0,mZ=0,F$=0,E$=0,uZ=0,MV=0,lZ=0,LV=0,B$=0,DV=0,R7=0,sZ=0,BT=0,CT=0,C$=0,AT=0,A$=0,zV=0,H$=0,FV=0,oZ=0,x$=0,y$=0,HT=0,nZ=0,w$=0,EV=0,I$=0,rZ=0,OZ=0,GZ=0,q$=0,BV=0,CV=0,v$=0,j$=0,k$=0,hZ=0,$4=0,gZ=0,AV=0,p$=0,xT=0,m$=0,yT=0,wT=0,HV=0,E4=0,xV=0,u$=0,l$=0,IT=0,yV=0,qT=0,vT=0,wV=0,B4=0,IV=0,s$=0,o$=0,jT=0,n$=0,kT=0,pT=0,mT=0,iZ=0,r$=0,qV=0,vV=0,tZ=0,h$=0,g$=0,jV=0,fZ=0,i$=0,MZ=0,dZ=0,uT=0,kV=0,lT=0,t4=0,pV=0,t$=0,f$=0,d$=0,LZ=0,bZ=0,sT=0,mV=0,oT=0,f4=0,uV=0,b$=0,e$=0,a$=0,DZ=0,eZ=0,nT=0,lV=0,rT=0,d4=0,sV=0,hT=0,c$=0,gT=0,aZ=0,ZT=0,cZ=0,ZV=0,b4=0,iT=0,VT=0,oV=0,T4=0,nV=0,rV=0,$T=0,hV=0,VV=0,TT=0,tT=0,$V=0,C4=0,TV=0,XT=0,gV=0,fT=0,iV=0,dT=0,YT=0,QT=0,A4=0,tV=0,WT=0,NT=0,UT=0,bT=0,XV=0,JT=0,fV=0,eT=0;switch(Y=q,q=q+192|0,Q=Y+136|0,W=Y+92|0,U=Y+48|0,S=Y+4|0,J=Y,Z[X>>2]|0){case 0:{_=T>>>16,K=V+4|0,P=V+8|0,O=0,L=0;while(!0){if(F=(L|0)==(_|0),z=F&1,H=Z[K>>2]|0,C=H+1|0,(Z[P>>2]|0)>>>0>>0){if(A=C<<1,y=y6(Z[V>>2]|0,A)|0,y|0)Z[P>>2]=A,Z[V>>2]=y,k=y,m=7}else k=Z[V>>2]|0,m=7;if((m|0)==7)m=0,Z[K>>2]=C,N[k+H>>0]=z;if(z=T-O|0,H=z>>>0<65535?z:65535,z=H^65535,C=H&255,y=Z[K>>2]|0,A=y+1|0,(Z[P>>2]|0)>>>0>>0){if(I=A<<1,u=y6(Z[V>>2]|0,I)|0,u|0)Z[P>>2]=I,Z[V>>2]=u,g=u,m=12}else g=Z[V>>2]|0,m=12;if((m|0)==12)m=0,Z[K>>2]=A,N[g+y>>0]=C;if(C=H>>>8&255,H=Z[K>>2]|0,y=H+1|0,(Z[P>>2]|0)>>>0>>0){if(A=y<<1,u=y6(Z[V>>2]|0,A)|0,u|0)Z[P>>2]=A,Z[V>>2]=u,i=u,m=17}else i=Z[V>>2]|0,m=17;if((m|0)==17)m=0,Z[K>>2]=y,N[i+H>>0]=C;if(C=z&255,H=Z[K>>2]|0,y=H+1|0,(Z[P>>2]|0)>>>0>>0){if(u=y<<1,A=y6(Z[V>>2]|0,u)|0,A|0)Z[P>>2]=u,Z[V>>2]=A,t=A,m=22}else t=Z[V>>2]|0,m=22;if((m|0)==22)m=0,Z[K>>2]=y,N[t+H>>0]=C;if(C=z>>>8&255,z=Z[K>>2]|0,H=z+1|0,(Z[P>>2]|0)>>>0>>0){if(y=H<<1,A=y6(Z[V>>2]|0,y)|0,A|0)Z[P>>2]=y,Z[V>>2]=A,Y0=A,m=27}else Y0=Z[V>>2]|0,m=27;if((m|0)==27)m=0,Z[K>>2]=H,N[Y0+z>>0]=C;if(O>>>0>>0){C=O,z=0;while(!0){if(H=C+1|0,A=N[$+C>>0]|0,y=Z[K>>2]|0,u=y+1|0,(Z[P>>2]|0)>>>0>>0){if(I=u<<1,X0=y6(Z[V>>2]|0,I)|0,X0|0)Z[P>>2]=I,Z[V>>2]=X0,T0=X0,m=34}else T0=Z[V>>2]|0,m=34;if((m|0)==34)m=0,Z[K>>2]=u,N[T0+y>>0]=A;if(z=z+1|0,!(z>>>0<65535&H>>>0>>0)){Z0=H;break}else C=H}}else Z0=O;if(F){W0=0;break}else O=Z0,L=L+1|0}return q=Y,W0|0}case 1:{Z[U>>2]=0,O0=Q,y0=O0+36|0;do Z[O0>>2]=0,O0=O0+4|0;while((O0|0)<(y0|0));O0=W,y0=O0+36|0;do Z[O0>>2]=0,O0=O0+4|0;while((O0|0)<(y0|0));if(CR(Q),AR(W),L=V+4|0,Z0=Z[L>>2]|0,O=Z0+1|0,T0=V+8|0,(Z[T0>>2]|0)>>>0>>0)if(K=O<<1,P=y6(Z[V>>2]|0,K)|0,!P)E0=V;else Z[T0>>2]=K,Z[V>>2]=P,H0=V,D0=P,m=41;else H0=V,D0=Z[V>>2]|0,m=41;if((m|0)==41)Z[L>>2]=O,N[D0+Z0>>0]=0,E0=H0;H0=(Z[E0>>2]|0)+((Z[L>>2]|0)+-1)|0,N[H0>>0]=N[H0>>0]|1,H0=(Z[E0>>2]|0)+((Z[L>>2]|0)+-1)|0,N[H0>>0]=N[H0>>0]|2,H0=(Z[X+4>>2]|0)==0,Z[U>>2]=3;do if(H0)if(!T)m=60;else{Z0=Z[Q+12>>2]|0,D0=Z[Q+24>>2]|0,O=0,P=3;while(!0){if(K=G[$+O>>0]|0,Y0=Z[Z0+(K<<2)>>2]|0,t=Z[D0+(K<<2)>>2]|0,!t)_0=P;else{K=t+-1|0,i=0,g=P;while(!0){k=Y0>>>(K-i|0)&1,_=g&7;do if(!_){if(C=Z[L>>2]|0,z=C+1|0,(Z[T0>>2]|0)>>>0>>0){if(H=z<<1,A=y6(Z[E0>>2]|0,H)|0,!A)break;Z[T0>>2]=H,Z[E0>>2]=A,F0=A}else F0=Z[E0>>2]|0;Z[L>>2]=z,N[F0+C>>0]=0}while(0);if(C=(Z[E0>>2]|0)+((Z[L>>2]|0)+-1)|0,N[C>>0]=k<<_|(G[C>>0]|0),i=i+1|0,(i|0)==(t|0))break;else g=g+1|0}_0=t+P|0}if(O=O+1|0,(O|0)==(T|0))break;else P=_0}Z[U>>2]=_0,m=60}else if(Z[S>>2]=0,P=S+8|0,Z[P>>2]=0,O=S+4|0,Z[O>>2]=0,D0=HR(S,$,T,Z[X+8>>2]|0)|0,!D0){xR(U,V,S,Q,W),Z[P>>2]=0,Z[O>>2]=0,$6(Z[S>>2]|0),m=60;break}else{Z[P>>2]=0,Z[O>>2]=0,$6(Z[S>>2]|0),k0=Z[Q+12>>2]|0,m0=Z[Q+24>>2]|0,B0=D0;break}while(0);if((m|0)==60)if(_0=Z[Q+12>>2]|0,F0=Z[_0+1024>>2]|0,H0=Z[Q+24>>2]|0,D0=Z[H0+1024>>2]|0,!D0)k0=_0,m0=H0,B0=0;else{O=D0+-1|0,P=Z[U>>2]|0,Z0=0,F=P;while(!0){g=F0>>>(O-Z0|0)&1,i=F&7;do if(!i){if(K=Z[L>>2]|0,Y0=K+1|0,(Z[T0>>2]|0)>>>0>>0){if(C=Y0<<1,z=y6(Z[E0>>2]|0,C)|0,!z)break;Z[T0>>2]=C,Z[E0>>2]=z,g0=z}else g0=Z[E0>>2]|0;Z[L>>2]=Y0,N[g0+K>>0]=0}while(0);if(K=(Z[E0>>2]|0)+((Z[L>>2]|0)+-1)|0,N[K>>0]=g<>0]|0),Z0=Z0+1|0,(Z0|0)==(D0|0))break;else F=F+1|0}Z[U>>2]=P+D0,k0=_0,m0=H0,B0=0}return Z[Q+8>>2]=0,Z[Q+4>>2]=0,$6(Z[Q>>2]|0),$6(k0),$6(m0),Z[W+8>>2]=0,Z[W+4>>2]=0,$6(Z[W>>2]|0),Z[W>>2]=0,m0=W+12|0,Z[W+20>>2]=0,Z[W+16>>2]=0,$6(Z[m0>>2]|0),Z[m0>>2]=0,Z[W+32>>2]=0,Z[W+28>>2]=0,$6(Z[W+24>>2]|0),W0=B0,q=Y,W0|0}case 2:{Z[J>>2]=0,Z[Q>>2]=0,B0=Q+8|0,Z[B0>>2]=0,m0=Q+4|0,Z[m0>>2]=0,O0=W,y0=O0+36|0;do Z[O0>>2]=0,O0=O0+4|0;while((O0|0)<(y0|0));O0=U,y0=O0+36|0;do Z[O0>>2]=0,O0=O0+4|0;while((O0|0)<(y0|0));O0=S,y0=O0+36|0;do Z[O0>>2]=0,O0=O0+4|0;while((O0|0)<(y0|0));do if(!(Z[X+4>>2]|0)){if(!(T&1073741823))o0=0;else{if(k0=T<<3,H0=y6(0,k0)|0,!H0){h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=9923;break}Z[B0>>2]=k0,Z[Q>>2]=H0,o0=H0}if(Z[m0>>2]=T,!T)m=79;else{H0=0;do Z[o0+(H0<<2)>>2]=G[$+H0>>0],H0=H0+1|0;while((H0|0)!=(T|0));m=79}}else if(H0=HR(Q,$,T,Z[X+8>>2]|0)|0,!H0)m=79;else h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=H0;while(0);Z:do if((m|0)==79)if(X=y6(0,2288)|0,X)if(x8(X|0,0,1144)|0,T=y6(0,240)|0,T){O0=T,y0=O0+120|0;do Z[O0>>2]=0,O0=O0+4|0;while((O0|0)<(y0|0));if($=Z[m0>>2]|0,$|0){o0=Z[Q>>2]|0,H0=0;do{if(i=Z[o0+(H0<<2)>>2]|0,g=X+(i<<2)|0,Z[g>>2]=(Z[g>>2]|0)+1,i>>>0>256)i=T+(Z[o0+(H0+2<<2)>>2]<<2)|0,Z[i>>2]=(Z[i>>2]|0)+1,E6=H0+3|0;else E6=H0;H0=E6+1|0}while(H0>>>0<$>>>0)}if(Z[X+1024>>2]=1,$=wN(W,X,286,15)|0,!$)if(H0=wN(U,T,30,15)|0,!H0){o0=Z[J>>2]&7,i=V+4|0;do if(!o0){if(g=Z[i>>2]|0,k0=g+1|0,_0=V+8|0,(Z[_0>>2]|0)>>>0>>0){if(D0=k0<<1,P=y6(Z[V>>2]|0,D0)|0,!P){V6=0;break}Z[_0>>2]=D0,Z[V>>2]=P,n0=P}else n0=Z[V>>2]|0;Z[i>>2]=k0,N[n0+g>>0]=0,V6=Z[J>>2]&7}else V6=o0;while(0);o0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[o0>>0]=1<>0]|0),o0=(Z[J>>2]|0)+1|0,Z[J>>2]=o0;do if(!(o0&7)){if(g=Z[i>>2]|0,k0=g+1|0,P=V+8|0,(Z[P>>2]|0)>>>0>>0){if(D0=k0<<1,_0=y6(Z[V>>2]|0,D0)|0,!_0){e0=o0;break}Z[P>>2]=D0,Z[V>>2]=_0,Z6=_0}else Z6=Z[V>>2]|0;Z[i>>2]=k0,N[Z6+g>>0]=0,e0=Z[J>>2]|0}else e0=o0;while(0);o0=Z[V>>2]|0,g=Z[i>>2]|0,k0=e0+1|0,Z[J>>2]=k0,_0=k0&7;do if(!_0){if(k0=g+1|0,D0=V+8|0,(Z[D0>>2]|0)>>>0>>0){if(P=k0<<1,F=y6(o0,P)|0,!F){U6=0;break}Z[D0>>2]=P,Z[V>>2]=F,N6=F}else N6=o0;Z[i>>2]=k0,N[N6+g>>0]=0,U6=Z[J>>2]&7}else U6=_0;while(0);if(_0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[_0>>0]=1<>0]|0),Z[J>>2]=(Z[J>>2]|0)+1,_0=Z[W+40>>2]|0,g=_0>>>0<286?_0:286,_0=Z[U+40>>2]|0,o0=_0>>>0<30?_0:30,!g)A6=0,S6=0,H6=0,M6=0,F6=0;else{_0=Z[W+24>>2]|0,k0=0,F=0,P=0,D0=0,Z0=0,L=0,E0=0;while(!0){if(g0=Z[_0+(D0<<2)>>2]|0,T0=L+1|0,T0<<2>>>0>E0>>>0)if(O=T0<<3,F0=y6(k0,O)|0,!F0)J6=P,L6=F,c0=k0,T6=Z0,W6=L,h6=E0;else s6=F0,p6=F0,G6=F0,w6=F0,B6=O,m=110;else s6=P,p6=F,G6=k0,w6=Z0,B6=E0,m=110;if((m|0)==110)m=0,Z[w6+(L<<2)>>2]=g0,J6=s6,L6=p6,c0=G6,T6=w6,W6=T0,h6=B6;if(D0=D0+1|0,D0>>>0>=g>>>0){A6=L6,S6=J6,H6=T6,M6=W6,F6=h6;break}else k0=c0,F=L6,P=J6,Z0=T6,L=W6,E0=h6}}if(!o0)i6=S6,H8=H6,m6=M6;else{E0=Z[U+24>>2]|0,L=A6,Z0=S6,P=0,F=H6,k0=M6,D0=F6;while(!0){if(_0=Z[E0+(P<<2)>>2]|0,T0=k0+1|0,T0<<2>>>0>D0>>>0)if(g0=T0<<3,O=y6(L,g0)|0,!O)_8=Z0,v8=L,Y8=F,T8=k0,C8=D0;else j8=O,C6=O,o6=O,u6=g0,m=117;else j8=Z0,C6=L,o6=F,u6=D0,m=117;if((m|0)==117)m=0,Z[o6+(k0<<2)>>2]=_0,_8=j8,v8=C6,Y8=o6,T8=T0,C8=u6;if(P=P+1|0,P>>>0>=o0>>>0){i6=_8,H8=Y8,m6=T8;break}else L=v8,Z0=_8,F=Y8,k0=T8,D0=C8}}if(!m6)p8=0,i8=0,q8=0;else{D0=0,k0=0,F=0,Z0=0,L=0,P=0,E0=0,T0=0,_0=0,g0=0,O=0,F0=0,K=0,Y0=0,z=0;while(!0){C=F0+1|0,A=Z[H8+(F0<<2)>>2]|0;do if(C>>>0>>0){H=F0+2|0,y=C,u=0;while(!0){if((Z[H8+(y<<2)>>2]|0)!=(A|0)){m8=u;break}if(X0=u+1|0,y=H+u|0,y>>>0>=m6>>>0){m8=X0;break}else u=X0}if((A|0)==0&m8>>>0>1){u=m8+1|0;do if(u>>>0<11){y=Y0+1|0,H=y<<2;do if(H>>>0>z>>>0){if(_=y<<3,k=y6(D0,_)|0,!k){l8=L,w8=O,U2=Z0,K8=g0,A8=_0,t8=T0,_2=E0,Y2=F,Q2=P,F2=k0,w2=D0,G2=y,K2=K,Z2=Y0,o2=z,u8=H;break}L2=k,N2=k,u2=k,Z1=k,I2=k,j2=k,Q1=k,p2=k,r2=k,W1=k,x2=k,a2=k,E2=_,m=130}else L2=O,N2=Z0,u2=g0,Z1=_0,I2=T0,j2=E0,Q1=F,p2=P,r2=k0,W1=L,x2=D0,a2=K,E2=z,m=130;while(0);if((m|0)==130)m=0,Z[a2+(Y0<<2)>>2]=17,H=Y0+2|0,l8=W1,w8=L2,U2=N2,K8=u2,A8=Z1,t8=I2,_2=j2,Y2=Q1,Q2=p2,F2=r2,w2=x2,G2=H,K2=a2,Z2=y,o2=E2,u8=H<<2;if(H=m8+-2|0,u8>>>0>o2>>>0){if(_=G2<<3,k=y6(l8,_)|0,!k){d2=w8,b2=U2,P2=K8,V1=A8,X2=t8,$1=_2,P1=Y2,v2=Q2,T1=F2,_1=l8,l2=w2,c1=u,$7=K2,D1=Z2,n2=o2;break}z1=k,N1=k,l1=k,A1=k,y1=k,B1=k,Z7=k,S1=k,q7=k,g2=k,T7=k,F7=k,N7=_}else z1=w8,N1=U2,l1=K8,A1=A8,y1=t8,B1=_2,Z7=Y2,S1=Q2,q7=F2,g2=l8,T7=w2,F7=K2,N7=o2;Z[F7+(Z2<<2)>>2]=H,d2=z1,b2=N1,P2=l1,V1=A1,X2=y1,$1=B1,P1=Z7,v2=S1,T1=q7,_1=g2,l2=T7,c1=u,$7=F7,D1=G2,n2=N7}else{H=u>>>0<138?u:138,_=Y0+1|0,k=_<<2;do if(k>>>0>z>>>0){if(X0=_<<3,I=y6(k0,X0)|0,!I){f8=P,C5=O,i1=Z0,c2=g0,D2=_0,X1=T0,H2=E0,i2=F,e8=k0,t2=L,t1=D0,y2=_,A2=K,M1=Y0,w1=z,p7=k;break}U1=I,h7=I,U7=I,E7=I,k2=I,I1=I,J1=I,O7=I,B7=I,j1=I,G7=I,M7=I,m7=X0,m=138}else U1=O,h7=Z0,U7=g0,E7=_0,k2=T0,I1=E0,J1=F,O7=P,B7=k0,j1=L,G7=D0,M7=K,m7=z,m=138;while(0);if((m|0)==138)m=0,Z[M7+(Y0<<2)>>2]=18,k=Y0+2|0,f8=O7,C5=U1,i1=h7,c2=U7,D2=E7,X1=k2,H2=I1,i2=J1,e8=B7,t2=j1,t1=G7,y2=k,A2=M7,M1=_,w1=m7,p7=k<<2;if(k=H+-11|0,p7>>>0>w1>>>0){if(y=y2<<3,X0=y6(f8,y)|0,!X0){d2=C5,b2=i1,P2=c2,V1=D2,X2=X1,$1=H2,P1=i2,v2=f8,T1=e8,_1=t2,l2=t1,c1=H,$7=A2,D1=M1,n2=w1;break}s5=X0,J7=X0,F1=X0,z7=X0,G5=X0,u7=X0,r5=X0,g7=X0,j5=X0,W9=X0,Z9=X0,A5=X0,v7=y}else s5=C5,J7=i1,F1=c2,z7=D2,G5=X1,u7=H2,r5=i2,g7=f8,j5=e8,W9=t2,Z9=t1,A5=A2,v7=w1;Z[A5+(M1<<2)>>2]=k,d2=s5,b2=J7,P2=F1,V1=z7,X2=G5,$1=u7,P1=r5,v2=g7,T1=j5,_1=W9,l2=Z9,c1=H,$7=A5,D1=y2,n2=v7}while(0);l7=d2,h5=b2,g5=P2,M5=V1,r1=X2,V9=$1,C7=P1,H5=v2,i5=T1,A7=_1,L7=l2,X7=F0+-1+c1|0,N9=$7,U9=D1,L5=n2;break}if(m8>>>0>2){u=(m8>>>0)/6|0,k=m8-(u*6|0)|0,y=Y0+1|0;do if(y<<2>>>0>z>>>0){if(X0=y<<3,I=y6(F,X0)|0,!I){z9=O,P4=Z0,k3=g0,z3=_0,F9=T0,c9=E0,m4=F,p3=P,F3=k0,J9=L,I9=D0,m3=K,b3=Y0,U3=z;break}S9=I,J3=I,JZ=I,O4=I,E3=I,l9=I,S3=I,SZ=I,G4=I,e3=I,V5=I,Z3=I,u4=X0,m=148}else S9=O,J3=Z0,JZ=g0,O4=_0,E3=T0,l9=E0,S3=F,SZ=P,G4=k0,e3=L,V5=D0,Z3=K,u4=z,m=148;while(0);if((m|0)==148)m=0,Z[Z3+(Y0<<2)>>2]=A,z9=S9,P4=J3,k3=JZ,z3=O4,F9=E3,c9=l9,m4=S3,p3=SZ,F3=G4,J9=e3,I9=V5,m3=Z3,b3=y,U3=u4;if(m8>>>0>5){X0=c9,I=I9,s9=J9,k5=F3,q9=p3,B3=m4,$9=F9,T9=z3,V3=k3,i7=P4,Y7=z9,l4=0,v9=m3,Q7=b3,R1=U3;while(!0){X9=Q7+1|0,E9=X9<<2;do if(E9>>>0>R1>>>0){if(s4=X9<<3,$5=y6(X0,s4)|0,!$5){a3=$9,M4=Y7,c3=i7,H7=V3,C3=T9,R9=X0,R3=B3,o4=q9,_3=k5,n4=s9,L4=I,u3=X9,B9=v9,l3=Q7,Z4=R1,r4=E9;break}h4=$5,M$=$5,FT=$5,K3=$5,D4=$5,xZ=$5,P3=$5,yZ=$5,g9=$5,s3=$5,wZ=$5,t5=$5,ET=s4,m=154}else h4=Y7,M$=i7,FT=V3,K3=T9,D4=$9,xZ=X0,P3=B3,yZ=q9,g9=k5,s3=s9,wZ=I,t5=v9,ET=R1,m=154;while(0);if((m|0)==154)m=0,Z[t5+(Q7<<2)>>2]=16,E9=Q7+2|0,a3=D4,M4=h4,c3=M$,H7=FT,C3=K3,R9=xZ,R3=P3,o4=yZ,_3=g9,n4=s3,L4=wZ,u3=E9,B9=t5,l3=X9,Z4=ET,r4=E9<<2;do if(r4>>>0>Z4>>>0){if(E9=u3<<3,H=y6(a3,E9)|0,!H){L$=M4,z4=c3,D7=H7,IZ=C3,t7=a3,_9=R9,RZ=R3,K9=o4,J2=_3,$3=n4,P9=L4,p5=B9,m2=l3,s7=Z4;break}O1=H,h8=H,T5=H,H1=H,f5=H,S7=H,W2=H,c8=H,V4=H,T3=H,T2=H,S2=H,o3=E9,m=158}else O1=M4,h8=c3,T5=H7,H1=C3,f5=a3,S7=R9,W2=R3,c8=o4,V4=_3,T3=n4,T2=L4,S2=B9,o3=Z4,m=158;while(0);if((m|0)==158)m=0,Z[S2+(l3<<2)>>2]=3,L$=O1,z4=h8,D7=T5,IZ=H1,t7=f5,_9=S7,RZ=W2,K9=c8,J2=V4,$3=T3,P9=T2,p5=S2,m2=u3,s7=o3;if(l4=l4+1|0,l4>>>0>=u>>>0){F4=P9,n3=$3,A3=J2,Y9=K9,OV=RZ,qZ=_9,GV=t7,vZ=IZ,jZ=D7,_Z=z4,kZ=L$,KZ=p5,PZ=m2,g4=s7;break}else X0=_9,I=P9,s9=$3,k5=J2,q9=K9,B3=RZ,$9=t7,T9=IZ,V3=D7,i7=z4,Y7=L$,v9=p5,Q7=m2,R1=s7}}else F4=I9,n3=J9,A3=F3,Y9=p3,OV=m4,qZ=c9,GV=F9,vZ=z3,jZ=k3,_Z=P4,kZ=z9,KZ=m3,PZ=b3,g4=U3;do if(k>>>0>2){R1=PZ+1|0,Q7=R1<<2;do if(Q7>>>0>g4>>>0){if(v9=R1<<3,Y7=y6(vZ,v9)|0,!Y7){pZ=jZ,D$=kZ,i4=_Z,z$=vZ,mZ=GV,F$=qZ,E$=OV,uZ=Y9,MV=A3,lZ=n3,LV=F4,B$=R1,DV=KZ,R7=PZ,sZ=g4,BT=Q7;break}CT=Y7,C$=Y7,AT=Y7,A$=Y7,zV=Y7,H$=Y7,FV=Y7,oZ=Y7,x$=Y7,y$=Y7,HT=Y7,nZ=Y7,w$=v9,m=164}else CT=kZ,C$=_Z,AT=jZ,A$=vZ,zV=GV,H$=qZ,FV=OV,oZ=Y9,x$=A3,y$=n3,HT=F4,nZ=KZ,w$=g4,m=164;while(0);if((m|0)==164)m=0,Z[nZ+(PZ<<2)>>2]=16,Q7=PZ+2|0,pZ=AT,D$=CT,i4=C$,z$=A$,mZ=zV,F$=H$,E$=FV,uZ=oZ,MV=x$,lZ=y$,LV=HT,B$=Q7,DV=nZ,R7=R1,sZ=w$,BT=Q7<<2;if(Q7=k+-3|0,BT>>>0>sZ>>>0){if(v9=B$<<3,Y7=y6(pZ,v9)|0,!Y7){EV=D$,I$=i4,rZ=pZ,OZ=z$,GZ=mZ,q$=F$,BV=E$,CV=uZ,v$=MV,j$=lZ,k$=LV,hZ=m8,$4=DV,gZ=R7,AV=sZ;break}p$=Y7,xT=Y7,m$=Y7,yT=Y7,wT=Y7,HV=Y7,E4=Y7,xV=Y7,u$=Y7,l$=Y7,IT=Y7,yV=Y7,qT=v9}else p$=D$,xT=i4,m$=pZ,yT=z$,wT=mZ,HV=F$,E4=E$,xV=uZ,u$=MV,l$=lZ,IT=LV,yV=DV,qT=sZ;Z[yV+(R7<<2)>>2]=Q7,EV=p$,I$=xT,rZ=m$,OZ=yT,GZ=wT,q$=HV,BV=E4,CV=xV,v$=u$,j$=l$,k$=IT,hZ=m8,$4=yV,gZ=B$,AV=qT}else EV=kZ,I$=_Z,rZ=jZ,OZ=vZ,GZ=GV,q$=qZ,BV=OV,CV=Y9,v$=A3,j$=n3,k$=F4,hZ=m8-k|0,$4=KZ,gZ=PZ,AV=g4;while(0);l7=EV,h5=I$,g5=rZ,M5=OZ,r1=GZ,V9=q$,C7=BV,H5=CV,i5=v$,A7=j$,L7=k$,X7=hZ+F0|0,N9=$4,U9=gZ,L5=AV}else m=171}else m=171;while(0);do if((m|0)==171){if(m=0,C=Y0+1|0,C<<2>>>0>z>>>0){if(t=C<<3,k=y6(Z0,t)|0,!k){l7=O,h5=Z0,g5=g0,M5=_0,r1=T0,V9=E0,C7=F,H5=P,i5=k0,A7=L,L7=D0,X7=F0,N9=K,U9=Y0,L5=z;break}vT=k,wV=k,B4=k,IV=k,s$=k,o$=k,jT=k,n$=k,kT=k,pT=k,mT=k,iZ=k,r$=t}else vT=O,wV=Z0,B4=g0,IV=_0,s$=T0,o$=E0,jT=F,n$=P,kT=k0,pT=L,mT=D0,iZ=K,r$=z;Z[iZ+(Y0<<2)>>2]=A,l7=vT,h5=wV,g5=B4,M5=IV,r1=s$,V9=o$,C7=jT,H5=n$,i5=kT,A7=pT,L7=mT,X7=F0,N9=iZ,U9=C,L5=r$}while(0);if(F0=X7+1|0,F0>>>0>=m6>>>0){p8=l7,i8=N9,q8=U9;break}else D0=L7,k0=i5,F=C7,Z0=h5,L=A7,P=H5,E0=V9,T0=r1,_0=M5,g0=g5,O=l7,K=N9,Y0=U9,z=L5}}if(z=y6(0,152)|0,z){O0=z,y0=O0+76|0;do Z[O0>>2]=0,O0=O0+4|0;while((O0|0)<(y0|0));if(Y0=(q8|0)==0,!Y0){K=0;do O=i8+(K<<2)|0,g0=z+(Z[O>>2]<<2)|0,Z[g0>>2]=(Z[g0>>2]|0)+1,K=K+1+((Z[O>>2]|0)>>>0>15&1)|0;while(K>>>0>>0)}if(K=wN(S,z,19,7)|0,!K)if(O=y6(0,152)|0,!O)h0=X,C0=T,u0=z,p0=p8,q0=i6,i0=0,t0=9927;else{if(g0=Z[S+24>>2]|0,Z[O>>2]=Z[g0+64>>2],Z[O+4>>2]=Z[g0+68>>2],Z[O+8>>2]=Z[g0+72>>2],Z[O+12>>2]=Z[g0>>2],Z[O+16>>2]=Z[g0+32>>2],Z[O+20>>2]=Z[g0+28>>2],Z[O+24>>2]=Z[g0+36>>2],Z[O+28>>2]=Z[g0+24>>2],Z[O+32>>2]=Z[g0+40>>2],Z[O+36>>2]=Z[g0+20>>2],Z[O+40>>2]=Z[g0+44>>2],Z[O+44>>2]=Z[g0+16>>2],Z[O+48>>2]=Z[g0+48>>2],Z[O+52>>2]=Z[g0+12>>2],Z[O+56>>2]=Z[g0+52>>2],Z[O+60>>2]=Z[g0+8>>2],Z[O+64>>2]=Z[g0+56>>2],Z[O+68>>2]=Z[g0+4>>2],_0=Z[g0+60>>2]|0,Z[O+72>>2]=_0,!_0){_0=O,T0=O,E0=O,P=152,L=18;while(!0){if(L<<2>>>0>P>>>0){if(Z0=L<<3,F=y6(_0,Z0)|0,!F){h0=X,C0=T,u0=z,p0=p8,q0=i6,i0=T0,t0=9928;break Z}qV=F,vV=F,tZ=F,h$=Z0}else qV=T0,vV=_0,tZ=E0,h$=P;if(Z0=L+-1|0,L>>>0>4?(Z[tZ+(Z0<<2)>>2]|0)==0:0)_0=vV,T0=qV,E0=tZ,P=h$,L=Z0;else{g$=qV,jV=tZ,fZ=L;break}}}else g$=O,jV=O,fZ=19;L=g+-257|0,P=o0+-1|0,E0=V+8|0,T0=L&1,_0=Z[J>>2]&7;do if(!_0){if(Z0=Z[i>>2]|0,F=Z0+1|0,(Z[E0>>2]|0)>>>0>>0){if(k0=F<<1,D0=y6(Z[V>>2]|0,k0)|0,!D0){i$=0;break}Z[E0>>2]=k0,Z[V>>2]=D0,MZ=D0}else MZ=Z[V>>2]|0;Z[i>>2]=F,N[MZ+Z0>>0]=0,i$=Z[J>>2]&7}else i$=_0;while(0);_0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[_0>>0]=T0<>0]|0),_0=(Z[J>>2]|0)+1|0,Z[J>>2]=_0,o0=L>>>1&1,g=_0&7;do if(!g){if(_0=Z[i>>2]|0,O=_0+1|0,(Z[E0>>2]|0)>>>0>>0){if(Z0=O<<1,F=y6(Z[V>>2]|0,Z0)|0,!F){dZ=0;break}Z[E0>>2]=Z0,Z[V>>2]=F,uT=F}else uT=Z[V>>2]|0;Z[i>>2]=O,N[uT+_0>>0]=0,dZ=Z[J>>2]&7}else dZ=g;while(0);g=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[g>>0]=o0<>0]|0),g=(Z[J>>2]|0)+1|0,Z[J>>2]=g,T0=L>>>2&1,_0=g&7;do if(!_0){if(g=Z[i>>2]|0,O=g+1|0,(Z[E0>>2]|0)>>>0>>0){if(F=O<<1,Z0=y6(Z[V>>2]|0,F)|0,!Z0){kV=0;break}Z[E0>>2]=F,Z[V>>2]=Z0,lT=Z0}else lT=Z[V>>2]|0;Z[i>>2]=O,N[lT+g>>0]=0,kV=Z[J>>2]&7}else kV=_0;while(0);_0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[_0>>0]=T0<>0]|0),_0=(Z[J>>2]|0)+1|0,Z[J>>2]=_0,o0=L>>>3&1,g=_0&7;do if(!g){if(_0=Z[i>>2]|0,O=_0+1|0,(Z[E0>>2]|0)>>>0>>0){if(Z0=O<<1,F=y6(Z[V>>2]|0,Z0)|0,!F){t4=0;break}Z[E0>>2]=Z0,Z[V>>2]=F,pV=F}else pV=Z[V>>2]|0;Z[i>>2]=O,N[pV+_0>>0]=0,t4=Z[J>>2]&7}else t4=g;while(0);g=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[g>>0]=o0<>0]|0),g=(Z[J>>2]|0)+1|0,Z[J>>2]=g,T0=L>>>4&1,_0=g&7;do if(!_0){if(g=Z[i>>2]|0,O=g+1|0,(Z[E0>>2]|0)>>>0>>0){if(F=O<<1,Z0=y6(Z[V>>2]|0,F)|0,!Z0){t$=0;break}Z[E0>>2]=F,Z[V>>2]=Z0,f$=Z0}else f$=Z[V>>2]|0;Z[i>>2]=O,N[f$+g>>0]=0,t$=Z[J>>2]&7}else t$=_0;while(0);_0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[_0>>0]=T0<>0]|0),_0=(Z[J>>2]|0)+1|0,Z[J>>2]=_0,L=fZ+-4|0,o0=P&1,g=_0&7;do if(!g){if(_0=Z[i>>2]|0,O=_0+1|0,(Z[E0>>2]|0)>>>0>>0){if(Z0=O<<1,F=y6(Z[V>>2]|0,Z0)|0,!F){d$=0;break}Z[E0>>2]=Z0,Z[V>>2]=F,LZ=F}else LZ=Z[V>>2]|0;Z[i>>2]=O,N[LZ+_0>>0]=0,d$=Z[J>>2]&7}else d$=g;while(0);g=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[g>>0]=o0<>0]|0),g=(Z[J>>2]|0)+1|0,Z[J>>2]=g,T0=P>>>1&1,_0=g&7;do if(!_0){if(g=Z[i>>2]|0,O=g+1|0,(Z[E0>>2]|0)>>>0>>0){if(F=O<<1,Z0=y6(Z[V>>2]|0,F)|0,!Z0){bZ=0;break}Z[E0>>2]=F,Z[V>>2]=Z0,sT=Z0}else sT=Z[V>>2]|0;Z[i>>2]=O,N[sT+g>>0]=0,bZ=Z[J>>2]&7}else bZ=_0;while(0);_0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[_0>>0]=T0<>0]|0),_0=(Z[J>>2]|0)+1|0,Z[J>>2]=_0,o0=P>>>2&1,g=_0&7;do if(!g){if(_0=Z[i>>2]|0,O=_0+1|0,(Z[E0>>2]|0)>>>0>>0){if(Z0=O<<1,F=y6(Z[V>>2]|0,Z0)|0,!F){mV=0;break}Z[E0>>2]=Z0,Z[V>>2]=F,oT=F}else oT=Z[V>>2]|0;Z[i>>2]=O,N[oT+_0>>0]=0,mV=Z[J>>2]&7}else mV=g;while(0);g=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[g>>0]=o0<>0]|0),g=(Z[J>>2]|0)+1|0,Z[J>>2]=g,T0=P>>>3&1,_0=g&7;do if(!_0){if(g=Z[i>>2]|0,O=g+1|0,(Z[E0>>2]|0)>>>0>>0){if(F=O<<1,Z0=y6(Z[V>>2]|0,F)|0,!Z0){f4=0;break}Z[E0>>2]=F,Z[V>>2]=Z0,uV=Z0}else uV=Z[V>>2]|0;Z[i>>2]=O,N[uV+g>>0]=0,f4=Z[J>>2]&7}else f4=_0;while(0);_0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[_0>>0]=T0<>0]|0),_0=(Z[J>>2]|0)+1|0,Z[J>>2]=_0,o0=P>>>4&1,g=_0&7;do if(!g){if(_0=Z[i>>2]|0,O=_0+1|0,(Z[E0>>2]|0)>>>0>>0){if(Z0=O<<1,F=y6(Z[V>>2]|0,Z0)|0,!F){b$=0;break}Z[E0>>2]=Z0,Z[V>>2]=F,e$=F}else e$=Z[V>>2]|0;Z[i>>2]=O,N[e$+_0>>0]=0,b$=Z[J>>2]&7}else b$=g;while(0);g=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[g>>0]=o0<>0]|0),g=(Z[J>>2]|0)+1|0,Z[J>>2]=g,P=L&1,T0=g&7;do if(!T0){if(g=Z[i>>2]|0,_0=g+1|0,(Z[E0>>2]|0)>>>0<_0>>>0){if(O=_0<<1,F=y6(Z[V>>2]|0,O)|0,!F){a$=0;break}Z[E0>>2]=O,Z[V>>2]=F,DZ=F}else DZ=Z[V>>2]|0;Z[i>>2]=_0,N[DZ+g>>0]=0,a$=Z[J>>2]&7}else a$=T0;while(0);T0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[T0>>0]=P<>0]|0),T0=(Z[J>>2]|0)+1|0,Z[J>>2]=T0,o0=L>>>1&1,g=T0&7;do if(!g){if(T0=Z[i>>2]|0,_0=T0+1|0,(Z[E0>>2]|0)>>>0<_0>>>0){if(F=_0<<1,O=y6(Z[V>>2]|0,F)|0,!O){eZ=0;break}Z[E0>>2]=F,Z[V>>2]=O,nT=O}else nT=Z[V>>2]|0;Z[i>>2]=_0,N[nT+T0>>0]=0,eZ=Z[J>>2]&7}else eZ=g;while(0);g=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[g>>0]=o0<>0]|0),g=(Z[J>>2]|0)+1|0,Z[J>>2]=g,P=L>>>2&1,T0=g&7;do if(!T0){if(g=Z[i>>2]|0,_0=g+1|0,(Z[E0>>2]|0)>>>0<_0>>>0){if(O=_0<<1,F=y6(Z[V>>2]|0,O)|0,!F){lV=0;break}Z[E0>>2]=O,Z[V>>2]=F,rT=F}else rT=Z[V>>2]|0;Z[i>>2]=_0,N[rT+g>>0]=0,lV=Z[J>>2]&7}else lV=T0;while(0);T0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[T0>>0]=P<>0]|0),T0=(Z[J>>2]|0)+1|0,Z[J>>2]=T0,o0=L>>>3&1,g=T0&7;do if(!g){if(T0=Z[i>>2]|0,_0=T0+1|0,(Z[E0>>2]|0)>>>0<_0>>>0){if(F=_0<<1,O=y6(Z[V>>2]|0,F)|0,!O){d4=0;break}Z[E0>>2]=F,Z[V>>2]=O,sV=O}else sV=Z[V>>2]|0;Z[i>>2]=_0,N[sV+T0>>0]=0,d4=Z[J>>2]&7}else d4=g;while(0);if(g=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[g>>0]=o0<>0]|0),g=(Z[J>>2]|0)+1|0,Z[J>>2]=g,!fZ)hT=g;else{L=g,g=0;while(!0){P=Z[jV+(g<<2)>>2]|0,T0=P&1,_0=L&7;do if(!_0){if(O=Z[i>>2]|0,F=O+1|0,(Z[E0>>2]|0)>>>0>>0){if(Z0=F<<1,D0=y6(Z[V>>2]|0,Z0)|0,!D0){c$=0;break}Z[E0>>2]=Z0,Z[V>>2]=D0,gT=D0}else gT=Z[V>>2]|0;Z[i>>2]=F,N[gT+O>>0]=0,c$=Z[J>>2]&7}else c$=_0;while(0);_0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[_0>>0]=T0<>0]|0),_0=(Z[J>>2]|0)+1|0,Z[J>>2]=_0,O=P>>>1&1,F=_0&7;do if(!F){if(_0=Z[i>>2]|0,D0=_0+1|0,(Z[E0>>2]|0)>>>0>>0){if(Z0=D0<<1,k0=y6(Z[V>>2]|0,Z0)|0,!k0){aZ=0;break}Z[E0>>2]=Z0,Z[V>>2]=k0,ZT=k0}else ZT=Z[V>>2]|0;Z[i>>2]=D0,N[ZT+_0>>0]=0,aZ=Z[J>>2]&7}else aZ=F;while(0);F=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[F>>0]=O<>0]|0),F=(Z[J>>2]|0)+1|0,Z[J>>2]=F,T0=P>>>2&1,_0=F&7;do if(!_0){if(F=Z[i>>2]|0,D0=F+1|0,(Z[E0>>2]|0)>>>0>>0){if(k0=D0<<1,Z0=y6(Z[V>>2]|0,k0)|0,!Z0){cZ=0;break}Z[E0>>2]=k0,Z[V>>2]=Z0,ZV=Z0}else ZV=Z[V>>2]|0;Z[i>>2]=D0,N[ZV+F>>0]=0,cZ=Z[J>>2]&7}else cZ=_0;while(0);if(_0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[_0>>0]=T0<>0]|0),_0=(Z[J>>2]|0)+1|0,Z[J>>2]=_0,g=g+1|0,(g|0)==(fZ|0)){hT=_0;break}else L=_0}}V:do if(!Y0){L=Z[S+12>>2]|0,g=hT,o0=0;while(!0){if(_0=i8+(o0<<2)|0,P=Z[_0>>2]|0,O=Z[L+(P<<2)>>2]|0,F=Z[g0+(P<<2)>>2]|0,!F)b4=g,iT=P;else{P=F+-1|0,D0=g,Z0=0;do{k0=O>>>(P-Z0|0)&1,F0=D0&7;do if(!F0){if(A=Z[i>>2]|0,C=A+1|0,(Z[E0>>2]|0)>>>0>>0){if(t=C<<1,k=y6(Z[V>>2]|0,t)|0,!k){VT=0;break}Z[E0>>2]=t,Z[V>>2]=k,oV=k}else oV=Z[V>>2]|0;Z[i>>2]=C,N[oV+A>>0]=0,VT=Z[J>>2]&7}else VT=F0;while(0);F0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[F0>>0]=k0<>0]|0),D0=(Z[J>>2]|0)+1|0,Z[J>>2]=D0,Z0=Z0+1|0}while((Z0|0)!=(F|0));b4=D0,iT=Z[_0>>2]|0}switch(iT|0){case 16:{F=o0+1|0,Z0=Z[i8+(F<<2)>>2]|0,P=Z0&1,O=b4&7;do if(!O){if(F0=Z[i>>2]|0,R1=F0+1|0,(Z[E0>>2]|0)>>>0>>0){if(A=R1<<1,C=y6(Z[V>>2]|0,A)|0,!C){T4=0;break}Z[E0>>2]=A,Z[V>>2]=C,nV=C}else nV=Z[V>>2]|0;Z[i>>2]=R1,N[nV+F0>>0]=0,T4=Z[J>>2]&7}else T4=O;while(0);O=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[O>>0]=P<>0]|0),O=(Z[J>>2]|0)+1|0,Z[J>>2]=O,_0=Z0>>>1&1,D0=O&7;do if(!D0){if(O=Z[i>>2]|0,F0=O+1|0,(Z[E0>>2]|0)>>>0>>0){if(R1=F0<<1,C=y6(Z[V>>2]|0,R1)|0,!C){rV=0;break}Z[E0>>2]=R1,Z[V>>2]=C,$T=C}else $T=Z[V>>2]|0;Z[i>>2]=F0,N[$T+O>>0]=0,rV=Z[J>>2]&7}else rV=D0;while(0);D0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[D0>>0]=_0<>0]|0),D0=(Z[J>>2]|0)+1|0,Z[J>>2]=D0,hV=D0,VV=F;break}case 17:{D0=o0+1|0,Z0=Z[i8+(D0<<2)>>2]|0,P=Z0&1,O=b4&7;do if(!O){if(F0=Z[i>>2]|0,C=F0+1|0,(Z[E0>>2]|0)>>>0>>0){if(R1=C<<1,A=y6(Z[V>>2]|0,R1)|0,!A){TT=0;break}Z[E0>>2]=R1,Z[V>>2]=A,tT=A}else tT=Z[V>>2]|0;Z[i>>2]=C,N[tT+F0>>0]=0,TT=Z[J>>2]&7}else TT=O;while(0);O=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[O>>0]=P<>0]|0),O=(Z[J>>2]|0)+1|0,Z[J>>2]=O,F=Z0>>>1&1,_0=O&7;do if(!_0){if(O=Z[i>>2]|0,F0=O+1|0,(Z[E0>>2]|0)>>>0>>0){if(C=F0<<1,A=y6(Z[V>>2]|0,C)|0,!A){$V=0;break}Z[E0>>2]=C,Z[V>>2]=A,C4=A}else C4=Z[V>>2]|0;Z[i>>2]=F0,N[C4+O>>0]=0,$V=Z[J>>2]&7}else $V=_0;while(0);_0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[_0>>0]=F<<$V|(G[_0>>0]|0),_0=(Z[J>>2]|0)+1|0,Z[J>>2]=_0,P=Z0>>>2&1,O=_0&7;do if(!O){if(_0=Z[i>>2]|0,F0=_0+1|0,(Z[E0>>2]|0)>>>0>>0){if(A=F0<<1,C=y6(Z[V>>2]|0,A)|0,!C){TV=0;break}Z[E0>>2]=A,Z[V>>2]=C,XT=C}else XT=Z[V>>2]|0;Z[i>>2]=F0,N[XT+_0>>0]=0,TV=Z[J>>2]&7}else TV=O;while(0);O=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[O>>0]=P<>0]|0),O=(Z[J>>2]|0)+1|0,Z[J>>2]=O,hV=O,VV=D0;break}case 18:{O=o0+1|0,Z0=Z[i8+(O<<2)>>2]|0,F=Z0&1,_0=b4&7;do if(!_0){if(F0=Z[i>>2]|0,C=F0+1|0,(Z[E0>>2]|0)>>>0>>0){if(A=C<<1,R1=y6(Z[V>>2]|0,A)|0,!R1){gV=0;break}Z[E0>>2]=A,Z[V>>2]=R1,fT=R1}else fT=Z[V>>2]|0;Z[i>>2]=C,N[fT+F0>>0]=0,gV=Z[J>>2]&7}else gV=_0;while(0);_0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[_0>>0]=F<>0]|0),_0=(Z[J>>2]|0)+1|0,Z[J>>2]=_0,D0=Z0>>>1&1,P=_0&7;do if(!P){if(_0=Z[i>>2]|0,F0=_0+1|0,(Z[E0>>2]|0)>>>0>>0){if(C=F0<<1,R1=y6(Z[V>>2]|0,C)|0,!R1){iV=0;break}Z[E0>>2]=C,Z[V>>2]=R1,dT=R1}else dT=Z[V>>2]|0;Z[i>>2]=F0,N[dT+_0>>0]=0,iV=Z[J>>2]&7}else iV=P;while(0);P=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[P>>0]=D0<>0]|0),P=(Z[J>>2]|0)+1|0,Z[J>>2]=P,F=Z0>>>2&1,_0=P&7;do if(!_0){if(P=Z[i>>2]|0,F0=P+1|0,(Z[E0>>2]|0)>>>0>>0){if(R1=F0<<1,C=y6(Z[V>>2]|0,R1)|0,!C){YT=0;break}Z[E0>>2]=R1,Z[V>>2]=C,QT=C}else QT=Z[V>>2]|0;Z[i>>2]=F0,N[QT+P>>0]=0,YT=Z[J>>2]&7}else YT=_0;while(0);_0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[_0>>0]=F<>0]|0),_0=(Z[J>>2]|0)+1|0,Z[J>>2]=_0,D0=Z0>>>3&1,P=_0&7;do if(!P){if(_0=Z[i>>2]|0,F0=_0+1|0,(Z[E0>>2]|0)>>>0>>0){if(C=F0<<1,R1=y6(Z[V>>2]|0,C)|0,!R1){A4=0;break}Z[E0>>2]=C,Z[V>>2]=R1,tV=R1}else tV=Z[V>>2]|0;Z[i>>2]=F0,N[tV+_0>>0]=0,A4=Z[J>>2]&7}else A4=P;while(0);P=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[P>>0]=D0<>0]|0),P=(Z[J>>2]|0)+1|0,Z[J>>2]=P,F=Z0>>>4&1,_0=P&7;do if(!_0){if(P=Z[i>>2]|0,F0=P+1|0,(Z[E0>>2]|0)>>>0>>0){if(R1=F0<<1,C=y6(Z[V>>2]|0,R1)|0,!C){WT=0;break}Z[E0>>2]=R1,Z[V>>2]=C,NT=C}else NT=Z[V>>2]|0;Z[i>>2]=F0,N[NT+P>>0]=0,WT=Z[J>>2]&7}else WT=_0;while(0);_0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[_0>>0]=F<>0]|0),_0=(Z[J>>2]|0)+1|0,Z[J>>2]=_0,D0=Z0>>>5&1,P=_0&7;do if(!P){if(_0=Z[i>>2]|0,F0=_0+1|0,(Z[E0>>2]|0)>>>0>>0){if(C=F0<<1,R1=y6(Z[V>>2]|0,C)|0,!R1){UT=0;break}Z[E0>>2]=C,Z[V>>2]=R1,bT=R1}else bT=Z[V>>2]|0;Z[i>>2]=F0,N[bT+_0>>0]=0,UT=Z[J>>2]&7}else UT=P;while(0);P=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[P>>0]=D0<>0]|0),P=(Z[J>>2]|0)+1|0,Z[J>>2]=P,F=Z0>>>6&1,_0=P&7;do if(!_0){if(P=Z[i>>2]|0,F0=P+1|0,(Z[E0>>2]|0)>>>0>>0){if(R1=F0<<1,C=y6(Z[V>>2]|0,R1)|0,!C){XV=0;break}Z[E0>>2]=R1,Z[V>>2]=C,JT=C}else JT=Z[V>>2]|0;Z[i>>2]=F0,N[JT+P>>0]=0,XV=Z[J>>2]&7}else XV=_0;while(0);_0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[_0>>0]=F<>0]|0),_0=(Z[J>>2]|0)+1|0,Z[J>>2]=_0,hV=_0,VV=O;break}default:hV=b4,VV=o0}if(o0=VV+1|0,o0>>>0>=q8>>>0)break V;else g=hV}}while(0);if(xR(J,V,Q,W,U),g0=Z[(Z[W+24>>2]|0)+1024>>2]|0,!g0){h0=X,C0=T,u0=z,p0=p8,q0=i6,i0=g$,t0=64;break}Y0=Z[(Z[W+12>>2]|0)+1024>>2]|0,g=g0+-1|0,o0=Z[J>>2]|0,L=0;do{T0=Y0>>>(g-L|0)&1,_0=o0&7;do if(!_0){if(Z0=Z[i>>2]|0,D0=Z0+1|0,(Z[E0>>2]|0)>>>0>>0){if(P=D0<<1,F0=y6(Z[V>>2]|0,P)|0,!F0){fV=0;break}Z[E0>>2]=P,Z[V>>2]=F0,eT=F0}else eT=Z[V>>2]|0;Z[i>>2]=D0,N[eT+Z0>>0]=0,fV=Z[J>>2]&7}else fV=_0;while(0);_0=(Z[V>>2]|0)+((Z[i>>2]|0)+-1)|0,N[_0>>0]=T0<>0]|0),o0=(Z[J>>2]|0)+1|0,Z[J>>2]=o0,L=L+1|0}while((L|0)!=(g0|0));h0=X,C0=T,u0=z,p0=p8,q0=i6,i0=g$,t0=0}else h0=X,C0=T,u0=z,p0=p8,q0=i6,i0=0,t0=K}else h0=X,C0=T,u0=0,p0=p8,q0=i6,i0=0,t0=9926}else h0=X,C0=T,u0=0,p0=0,q0=0,i0=0,t0=H0;else h0=X,C0=T,u0=0,p0=0,q0=0,i0=0,t0=$}else h0=X,C0=0,u0=0,p0=0,q0=0,i0=0,t0=9925;else h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=9924;while(0);return Z[B0>>2]=0,Z[m0>>2]=0,$6(Z[Q>>2]|0),Z[W+8>>2]=0,Z[W+4>>2]=0,$6(Z[W>>2]|0),Z[W>>2]=0,Q=W+12|0,Z[W+20>>2]=0,Z[W+16>>2]=0,$6(Z[Q>>2]|0),Z[Q>>2]=0,Z[W+32>>2]=0,Z[W+28>>2]=0,$6(Z[W+24>>2]|0),Z[U+8>>2]=0,Z[U+4>>2]=0,$6(Z[U>>2]|0),Z[U>>2]=0,W=U+12|0,Z[U+20>>2]=0,Z[U+16>>2]=0,$6(Z[W>>2]|0),Z[W>>2]=0,Z[U+32>>2]=0,Z[U+28>>2]=0,$6(Z[U+24>>2]|0),Z[S+8>>2]=0,Z[S+4>>2]=0,$6(Z[S>>2]|0),Z[S>>2]=0,U=S+12|0,Z[S+20>>2]=0,Z[S+16>>2]=0,$6(Z[U>>2]|0),Z[U>>2]=0,Z[S+32>>2]=0,Z[S+28>>2]=0,$6(Z[S+24>>2]|0),$6(h0),$6(C0),$6(u0),$6(p0),$6(q0),$6(i0),W0=t0,q=Y,W0|0}default:return W0=61,q=Y,W0|0}return 0}function HR(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0,j8=0,C6=0,o6=0,u6=0,p8=0,i8=0,q8=0,m8=0,l8=0,w8=0,U2=0,K8=0,A8=0,t8=0,_2=0,Y2=0,Q2=0,F2=0,w2=0,G2=0,K2=0,Z2=0,o2=0,u8=0,L2=0,N2=0,u2=0,Z1=0,I2=0,j2=0,Q1=0,p2=0,r2=0,W1=0,x2=0,a2=0,E2=0,d2=0,b2=0,P2=0,V1=0,X2=0,$1=0,P1=0,v2=0,T1=0;if(Y=y6(0,1572864)|0,!Y)return Q=9917,Q|0;if(x8(Y|0,0,786432)|0,W=y6(0,524288)|0,!W)U=9918,S=0,J=0;else x8(W|0,0,262144)|0,U=0,S=W,J=W;W=y6(0,524288)|0;Z:do if(W)if(x8(W|0,0,262144)|0,!U)if(!T)_=W,K=0,P=0;else{O=V+4|0,L=V+8|0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0;while(!0){if(I=m>>>0>>0?m:X,u=T-m|0,g=(m+6|0)>>>0>>0?6:u,!g)i=0;else{t=0,Y0=0;do Y0=G[$+(t+m)>>0]<<(t<<1)^Y0,t=t+1|0;while(t>>>0>>0);i=Y0&65535}g=u>>>0<258?u:258;V:do if(!g)X0=0;else{t=0;while(!0){if(N[$+(t+m)>>0]|0){X0=t;break V}if(t=t+1|0,t>>>0>=g>>>0){X0=g;break}}}while(0);if(g=Y+(i*12|0)|0,Y0=g+4|0,t=Z[Y0>>2]|0,T0=t+1|0,Z0=g+8|0,T0<<2>>>0>(Z[Z0>>2]|0)>>>0){if(W0=T0<<3,O0=y6(Z[g>>2]|0,W0)|0,!O0){_=W,K=H,P=9920;break Z}Z[Z0>>2]=W0,Z[g>>2]=O0,y0=O0}else y0=Z[g>>2]|0;if(Z[Y0>>2]=T0,Z[y0+(t<<2)>>2]=m,t=(i|0)==0,t){if(T0=y+1|0,T0<<2>>>0>k>>>0){if(Y0=T0<<3,O0=y6(F,Y0)|0,!O0){_=W,K=H,P=9920;break Z}E0=Z[g>>2]|0,H0=O0,D0=O0,_0=O0,F0=g,k0=O0,m0=Y0}else E0=y0,H0=H,D0=z,_0=F,F0=g,k0=A,m0=k;Z[k0+(y<<2)>>2]=X0,B0=H0,g0=D0,o0=_0,h0=E0,C0=F0,u0=k0,p0=T0,q0=m0}else B0=H,g0=z,o0=F,h0=y0,C0=g,u0=A,p0=y,q0=k;if(g=J+(i<<2)|0,T0=Z[g>>2]|0,Y0=m-I|0,(Z[h0+(T0<<2)>>2]|0)>>>0>>0){O0=Z[C0>>2]|0,W0=T0;while(!0)if(Z0=W0+1|0,Z[g>>2]=Z0,(Z[O0+(Z0<<2)>>2]|0)>>>0>>0)W0=Z0;else{i0=O0,t0=Z0;break}}else i0=h0,t0=T0;if(O0=W+(i<<2)|0,W0=Z[O0>>2]|0,(Z[i0+(W0<<2)>>2]|0)>>>0>>0){Y0=W0;do Y0=Y0+1|0,Z[O0>>2]=Y0;while((Z[i0+(Y0<<2)>>2]|0)>>>0>>0);E6=Y0,V6=Z[g>>2]|0}else E6=W0,V6=t0;O0=m+258|0,T0=O0>>>0>T>>>0?T:O0,O0=$+T0|0,I=E6+-1|0;V:do if(I>>>0>=V6>>>0&(E6|0)!=0){Z0=$+m|0,n0=Z0;$:do if(t){e0=0,Z6=0,U6=I;while(!0){N6=Z[i0+(U6<<2)>>2]|0,A6=m-N6|0,S6=Z[u0+(U6<<2)>>2]|0,H6=S6>>>0>X0>>>0?X0:S6,S6=H6>>>0>u>>>0?u:H6,H6=Z0+S6|0;Y:do if((H6|0)==(O0|0))M6=O0;else{F6=$+N6+S6|0,J6=H6;while(!0){if((N[F6>>0]|0)!=(N[J6>>0]|0)){M6=J6;break Y}if(J6=J6+1|0,(J6|0)==(O0|0)){M6=O0;break}else F6=F6+1|0}}while(0);if(H6=M6-n0|0,H6>>>0>e0>>>0)if((H6|0)==258){L6=258,c0=A6;break $}else T6=H6,W6=A6;else T6=e0,W6=Z6;if(U6=U6+-1|0,!(U6>>>0>=V6>>>0&U6>>>0>>0)){h6=T6,s6=W6,p6=53;break}else e0=T6,Z6=W6}}else{Z6=(m|0)==(T0|0),e0=0,U6=0,H6=I;while(!0){if(S6=Z[i0+(H6<<2)>>2]|0,N6=m-S6|0,Z6)G6=n0;else{F6=$+S6|0,S6=Z0;while(!0){if((N[F6>>0]|0)!=(N[S6>>0]|0)){w6=S6;break}if(S6=S6+1|0,(S6|0)==(O0|0)){w6=O0;break}else F6=F6+1|0}G6=w6}if(F6=G6-n0|0,F6>>>0>e0>>>0)if((F6|0)==258){L6=258,c0=N6;break $}else B6=F6,i6=N6;else B6=e0,i6=U6;if(H6=H6+-1|0,!(H6>>>0>=V6>>>0&H6>>>0>>0)){h6=B6,s6=i6,p6=53;break}else e0=B6,U6=i6}}while(0);if((p6|0)==53)if(p6=0,h6>>>0<3){p6=54;break}else L6=h6,c0=s6;n0=1,Z0=28;while(!0){if(U6=(n0+Z0|0)>>>1,(Z[29472+(U6<<2)>>2]|0)>>>0>L6>>>0)if(e0=U6+-1|0,H6=Z[29472+(e0<<2)>>2]|0,H6>>>0>L6>>>0)H8=n0,m6=e0;else{_8=H6,v8=e0;break}else H8=U6+1|0,m6=Z0;if(H8>>>0>m6>>>0){_8=258,v8=28;break}else n0=H8,Z0=m6}Z0=L6-_8|0,n0=1,U6=29;while(!0){if(e0=(n0+U6|0)>>>1,(Z[29728+(e0<<2)>>2]|0)>>>0>c0>>>0)if(H6=e0+-1|0,Z6=Z[29728+(H6<<2)>>2]|0,Z6>>>0>c0>>>0)Y8=n0,T8=H6;else{C8=Z6,j8=H6;break}else Y8=e0+1|0,T8=U6;if(Y8>>>0>T8>>>0){C8=24577,j8=29;break}else n0=Y8,U6=T8}U6=c0-C8|0,n0=v8+257|0,e0=Z[O>>2]|0,H6=e0+1|0,Z6=Z[L>>2]|0;do if(H6<<2>>>0>Z6>>>0)if(F6=H6<<3,S6=y6(Z[V>>2]|0,F6)|0,!S6){C6=Z[O>>2]|0,o6=Z[L>>2]|0;break}else{Z[L>>2]=F6,Z[V>>2]=S6,u6=S6,p8=F6,p6=74;break}else u6=Z[V>>2]|0,p8=Z6,p6=74;while(0);if((p6|0)==74)p6=0,Z[O>>2]=H6,Z[u6+(e0<<2)>>2]=n0,C6=H6,o6=p8;Z6=C6+1|0;do if(Z6<<2>>>0>o6>>>0)if(F6=Z6<<3,S6=y6(Z[V>>2]|0,F6)|0,!S6){i8=Z[O>>2]|0,q8=Z[L>>2]|0;break}else{Z[L>>2]=F6,Z[V>>2]=S6,m8=S6,l8=F6,p6=80;break}else m8=Z[V>>2]|0,l8=o6,p6=80;while(0);if((p6|0)==80)p6=0,Z[O>>2]=Z6,Z[m8+(C6<<2)>>2]=Z0,i8=Z6,q8=l8;H6=i8+1|0;do if(H6<<2>>>0>q8>>>0)if(n0=H6<<3,e0=y6(Z[V>>2]|0,n0)|0,!e0){w8=Z[O>>2]|0,U2=Z[L>>2]|0;break}else{Z[L>>2]=n0,Z[V>>2]=e0,K8=e0,A8=n0,p6=86;break}else K8=Z[V>>2]|0,A8=q8,p6=86;while(0);if((p6|0)==86)p6=0,Z[O>>2]=H6,Z[K8+(i8<<2)>>2]=j8,w8=H6,U2=A8;Z6=w8+1|0;do if(Z6<<2>>>0>U2>>>0){if(Z0=Z6<<3,n0=y6(Z[V>>2]|0,Z0)|0,!n0)break;Z[L>>2]=Z0,Z[V>>2]=n0,t8=n0,p6=91}else t8=Z[V>>2]|0,p6=91;while(0);if((p6|0)==91)p6=0,Z[O>>2]=Z6,Z[t8+(w8<<2)>>2]=U6;if(H6=L6+-1|0,!H6){_2=B0,Y2=g0,Q2=o0,F2=C,w2=u0,G2=p0,K2=q0,Z2=m;break}n0=g0,Z0=o0,e0=B0,F6=u0,S6=p0,A6=q0,J6=0,o2=m;while(!0){u8=o2+1|0;do if(u8>>>0>>0){if(L2=(o2+7|0)>>>0>>0?6:T-u8|0,!L2){N2=0;break}u2=0,Z1=0;do Z1=G[$+(u2+u8)>>0]<<(u2<<1)^Z1,u2=u2+1|0;while(u2>>>0>>0);N2=Z1&65535}else N2=0;while(0);if(L2=Y+(N2*12|0)|0,u2=L2+4|0,N6=Z[u2>>2]|0,I2=N6+1|0,j2=L2+8|0,I2<<2>>>0>(Z[j2>>2]|0)>>>0){if(Q1=I2<<3,p2=y6(Z[L2>>2]|0,Q1)|0,!p2){_2=e0,Y2=n0,Q2=Z0,F2=9922,w2=F6,G2=S6,K2=A6,Z2=u8;break V}Z[j2>>2]=Q1,Z[L2>>2]=p2,r2=p2}else r2=Z[L2>>2]|0;if(Z[u2>>2]=I2,Z[r2+(N6<<2)>>2]=u8,!N2){N6=T-u8|0,I2=N6>>>0<258?N6:258;$:do if(!I2)W1=0;else{N6=0;while(!0){if(N[$+(N6+u8)>>0]|0){W1=N6;break $}if(N6=N6+1|0,N6>>>0>=I2>>>0){W1=I2;break}}}while(0);if(I2=S6+1|0,I2<<2>>>0>A6>>>0){if(N6=I2<<3,Z1=y6(n0,N6)|0,!Z1){_2=e0,Y2=n0,Q2=Z0,F2=9922,w2=F6,G2=S6,K2=A6,Z2=u8;break V}x2=Z1,a2=Z1,E2=Z1,d2=Z1,b2=N6}else x2=e0,a2=n0,E2=Z0,d2=F6,b2=A6;Z[d2+(S6<<2)>>2]=W1,P2=x2,V1=a2,X2=E2,$1=d2,P1=I2,v2=b2}else P2=e0,V1=n0,X2=Z0,$1=F6,P1=S6,v2=A6;if(J6=J6+1|0,J6>>>0>=H6>>>0){_2=P2,Y2=V1,Q2=X2,F2=C,w2=$1,G2=P1,K2=v2,Z2=u8;break}else n0=V1,Z0=X2,e0=P2,F6=$1,S6=P1,A6=v2,o2=u8}}else p6=54;while(0);if((p6|0)==54){if(p6=0,O0=G[$+m>>0]|0,I=Z[O>>2]|0,T0=I+1|0,T0<<2>>>0>(Z[L>>2]|0)>>>0){if(u=T0<<3,t=y6(Z[V>>2]|0,u)|0,!t){_=W,K=B0,P=9921;break Z}Z[L>>2]=u,Z[V>>2]=t,T1=t}else T1=Z[V>>2]|0;Z[O>>2]=T0,Z[T1+(I<<2)>>2]=O0,_2=B0,Y2=g0,Q2=o0,F2=C,w2=u0,G2=p0,K2=q0,Z2=m}if(m=Z2+1|0,m>>>0>=T>>>0){_=W,K=_2,P=F2;break}else F=Q2,z=Y2,H=_2,C=F2,A=w2,y=G2,k=K2}}else _=W,K=0,P=U;else _=0,K=0,P=9919;while(0);U=0;do W=Y+(U*12|0)|0,Z[W+8>>2]=0,Z[W+4>>2]=0,$6(Z[W>>2]|0),Z[W>>2]=0,U=U+1|0;while((U|0)!=65536);return $6(Y),$6(S),$6(_),$6(K),Q=P,Q|0}function xR(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0;if(Q=T+4|0,!(Z[Q>>2]|0))return;W=X+12|0,U=X+24|0,X=$+4|0,S=$+8|0,J=Y+12|0,_=Y+24|0,Y=0;do{if(K=Z[(Z[T>>2]|0)+(Y<<2)>>2]|0,P=Z[(Z[W>>2]|0)+(K<<2)>>2]|0,O=Z[(Z[U>>2]|0)+(K<<2)>>2]|0,O|0){L=O+-1|0,F=Z[V>>2]|0,z=0;do{H=P>>>(L-z|0)&1;do if(!(F&7)){if(C=Z[X>>2]|0,A=C+1|0,(Z[S>>2]|0)>>>0>>0){if(y=A<<1,k=y6(Z[$>>2]|0,y)|0,!k)break;Z[S>>2]=y,Z[$>>2]=k,m=k}else m=Z[$>>2]|0;Z[X>>2]=A,N[m+C>>0]=0}while(0);C=(Z[$>>2]|0)+((Z[X>>2]|0)+-1)|0,N[C>>0]=H<<(Z[V>>2]&7)|(G[C>>0]|0),F=(Z[V>>2]|0)+1|0,Z[V>>2]=F,z=z+1|0}while((z|0)!=(O|0))}if(K>>>0>256){if(O=Z[29344+(K+-257<<2)>>2]|0,z=Z[T>>2]|0,F=Z[z+(Y+1<<2)>>2]|0,L=Z[z+(Y+2<<2)>>2]|0,P=Z[29600+(L<<2)>>2]|0,C=Y+3|0,A=Z[z+(C<<2)>>2]|0,(K+-265|0)>>>0<=19){z=Z[V>>2]|0,k=0;do{y=F>>>k&1;do if(!(z&7)){if(I=Z[X>>2]|0,u=I+1|0,(Z[S>>2]|0)>>>0>>0){if(g=u<<1,i=y6(Z[$>>2]|0,g)|0,!i)break;Z[S>>2]=g,Z[$>>2]=i,t=i}else t=Z[$>>2]|0;Z[X>>2]=u,N[t+I>>0]=0}while(0);H=(Z[$>>2]|0)+((Z[X>>2]|0)+-1)|0,N[H>>0]=y<<(Z[V>>2]&7)|(G[H>>0]|0),z=(Z[V>>2]|0)+1|0,Z[V>>2]=z,k=k+1|0}while((k|0)!=(O|0))}if(O=Z[(Z[J>>2]|0)+(L<<2)>>2]|0,k=Z[(Z[_>>2]|0)+(L<<2)>>2]|0,k|0){z=k+-1|0,F=Z[V>>2]|0,K=0;do{H=O>>>(z-K|0)&1;do if(!(F&7)){if(I=Z[X>>2]|0,u=I+1|0,(Z[S>>2]|0)>>>0>>0){if(i=u<<1,g=y6(Z[$>>2]|0,i)|0,!g)break;Z[S>>2]=i,Z[$>>2]=g,Y0=g}else Y0=Z[$>>2]|0;Z[X>>2]=u,N[Y0+I>>0]=0}while(0);y=(Z[$>>2]|0)+((Z[X>>2]|0)+-1)|0,N[y>>0]=H<<(Z[V>>2]&7)|(G[y>>0]|0),F=(Z[V>>2]|0)+1|0,Z[V>>2]=F,K=K+1|0}while((K|0)!=(k|0))}if(L>>>0<4)X0=C;else{k=Z[V>>2]|0,K=0;do{F=A>>>K&1;do if(!(k&7)){if(z=Z[X>>2]|0,O=z+1|0,(Z[S>>2]|0)>>>0>>0){if(y=O<<1,I=y6(Z[$>>2]|0,y)|0,!I)break;Z[S>>2]=y,Z[$>>2]=I,T0=I}else T0=Z[$>>2]|0;Z[X>>2]=O,N[T0+z>>0]=0}while(0);H=(Z[$>>2]|0)+((Z[X>>2]|0)+-1)|0,N[H>>0]=F<<(Z[V>>2]&7)|(G[H>>0]|0),k=(Z[V>>2]|0)+1|0,Z[V>>2]=k,K=K+1|0}while((K|0)!=(P|0));X0=C}}else X0=Y;Y=X0+1|0}while(Y>>>0<(Z[Q>>2]|0)>>>0);return}function wN(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0;if(Y=q,q=q+16|0,Q=Y,Z[V+36>>2]=X,W=(T|0)==0,W)return U=80,q=Y,U|0;S=0,J=0,_=0;do K=Z[$+(S<<2)>>2]|0,_=K+_|0,J=J+((K|0)!=0&1)|0,S=S+1|0;while((S|0)!=(T|0));if(W)return U=80,q=Y,U|0;W=V+40|0,Z[W>>2]=T,S=V+24|0,K=V+32|0,P=V+28|0,Z[P>>2]=0,O=T<<2;do if(O>>>0>(Z[K>>2]|0)>>>0)if(L=T<<3,F=y6(Z[S>>2]|0,L)|0,!F)return U=9905,q=Y,U|0;else{Z[K>>2]=L,Z[S>>2]=F;break}while(0);switch(Z[P>>2]=T,x8(Z[S>>2]|0,0,O|0)|0,J|0){case 0:return Z[Z[S>>2]>>2]=1,U=K$(V)|0,q=Y,U|0;case 1:{O=0;do{if(Z[$+(O<<2)>>2]|0)Z[(Z[S>>2]|0)+(O<<2)>>2]=1;O=O+1|0}while((O|0)!=(T|0));return U=K$(V)|0,q=Y,U|0}default:{Z[Q>>2]=0,T=Q+8|0,Z[T>>2]=0,O=Q+4|0,Z[O>>2]=0,P=Q+12|0,Z[P>>2]=16,K=yR(Q,$,Z[W>>2]|0,_)|0;do if(!K){if(X){F=0,L=0,z=1,H=0;do{if(C=F,F=Z[O>>2]|0,Z[O>>2]=C,A=L,L=Z[T>>2]|0,Z[T>>2]=A,y=H,H=Z[Q>>2]|0,Z[Q>>2]=y,k=y,C|0){y=Z[P>>2]|0,m=0;do I=k+(B(y,m)|0)|0,Z[I+8>>2]=0,Z[I+4>>2]=0,$6(Z[I>>2]|0),Z[I>>2]=0,m=m+1|0;while(m>>>0>>0)}if(Z[O>>2]=0,F>>>0>1){C=Z[P>>2]|0,m=H,y=A,I=k,u=1,g=0,i=0;while(!0){if(t=g+1|0,Y0=B(C,t)|0,Y0>>>0>y>>>0)if(X0=Y0<<1,Y0=y6(I,X0)|0,!Y0){T0=I,Z0=y,W0=g,O0=9907;break}else y0=Y0,E0=X0;else y0=I,E0=y;if(X0=y0+(B(C,g)|0)|0,Z[X0>>2]=0,Y0=X0+8|0,Z[Y0>>2]=0,H0=X0+4|0,Z[H0>>2]=0,D0=m+(i<<4)|0,_0=X0+12|0,Z[_0>>2]=Z[D0+12>>2],F0=D0+4|0,k0=Z[F0>>2]|0,k0&1073741823){if(m0=k0<<3,B0=y6(0,m0)|0,B0|0)Z[Y0>>2]=m0,Z[X0>>2]=B0,g0=B0,o0=28}else g0=0,o0=28;if((o0|0)==28?(o0=0,Z[H0>>2]=k0,k0=Z[F0>>2]|0,k0|0):0){F0=Z[D0>>2]|0,D0=0;do Z[g0+(D0<<2)>>2]=Z[F0+(D0<<2)>>2],D0=D0+1|0;while((D0|0)!=(k0|0))}if(k0=m+(u<<4)|0,D0=k0+4|0,Z[D0>>2]|0){F0=0;do{B0=Z[(Z[k0>>2]|0)+(F0<<2)>>2]|0,m0=Z[H0>>2]|0,h0=m0+1|0;do if(h0<<2>>>0>(Z[Y0>>2]|0)>>>0){if(C0=h0<<3,u0=y6(Z[X0>>2]|0,C0)|0,!u0)break;Z[Y0>>2]=C0,Z[X0>>2]=u0,p0=u0,o0=37}else p0=Z[X0>>2]|0,o0=37;while(0);if((o0|0)==37)o0=0,Z[H0>>2]=h0,Z[p0+(m0<<2)>>2]=B0;F0=F0+1|0}while(F0>>>0<(Z[D0>>2]|0)>>>0)}if(f[_0>>2]=+f[k0+12>>2]+ +f[_0>>2],i=i+2|0,u=i|1,u>>>0>=F>>>0){T0=y0,Z0=E0,W0=t,O0=0;break}else y=E0,I=y0,g=t}Z[O>>2]=W0,Z[T>>2]=Z0,Z[Q>>2]=T0,q0=O0}else q0=0;if(z>>>0>>0)i0=yR(Q,$,Z[W>>2]|0,_)|0;else i0=q0;z=z+1|0}while(z>>>0<=X>>>0&(i0|0)==0);if(!i0)t0=H,E6=F;else{V6=i0,n0=H,e0=F,o0=60;break}}else t0=0,E6=0;if(z=J+-1|0,L=Z[O>>2]|0,L>>>0>z>>>0){g=Z[Q>>2]|0,I=Z[P>>2]|0,y=z;do u=g+(B(I,y)|0)|0,Z[u+8>>2]=0,Z[u+4>>2]=0,$6(Z[u>>2]|0),Z[u>>2]=0,y=y+1|0;while(y>>>0>>0);Z6=I}else Z6=Z[P>>2]|0;if(I=B(Z6,z)|0,I>>>0>(Z[T>>2]|0)>>>0)if(y=I<<1,I=y6(Z[Q>>2]|0,y)|0,!I)U6=L;else Z[T>>2]=y,Z[Q>>2]=I,o0=52;else o0=52;if((o0|0)==52)Z[O>>2]=z,U6=z;if(!U6)N6=0;else{I=Z[Q>>2]|0,y=0;do{if(g=I+(B(Z6,y)|0)|0,F=Z[g+4>>2]|0,F|0){H=Z[S>>2]|0,u=Z[g>>2]|0,g=0;do i=H+(Z[u+(g<<2)>>2]<<2)|0,Z[i>>2]=(Z[i>>2]|0)+1,g=g+1|0;while(g>>>0>>0)}y=y+1|0}while(y>>>0>>0);N6=U6}A6=N6,S6=U6,H6=K$(V)|0,M6=t0,F6=E6}else V6=K,n0=0,e0=0,o0=60;while(0);if((o0|0)==60)o0=Z[O>>2]|0,A6=o0,S6=o0,H6=V6,M6=n0,F6=e0;if(e0=Z[Q>>2]|0,A6|0){A6=Z[P>>2]|0,P=0;do n0=e0+(B(A6,P)|0)|0,Z[n0+8>>2]=0,Z[n0+4>>2]=0,$6(Z[n0>>2]|0),Z[n0>>2]=0,P=P+1|0;while(P>>>0>>0)}if(S6=O,Z[S6>>2]=0,Z[S6+4>>2]=0,$6(e0),Z[Q>>2]=0,Q=M6,F6|0){M6=0;do e0=Q+(M6<<4)|0,Z[e0+8>>2]=0,Z[e0+4>>2]=0,$6(Z[e0>>2]|0),Z[e0>>2]=0,M6=M6+1|0;while((M6|0)!=(F6|0))}return $6(Q),U=H6,q=Y,U|0}}return 0}function yR(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0;Y=V+4|0;Z:do if(T|0){Q=V+12|0,W=V+8|0,U=+(X>>>0),S=0;while(!0){if(J=$+(S<<2)|0,_=Z[J>>2]|0,_|0){if(K=Z[Y>>2]|0,P=K+1|0,O=Z[Q>>2]|0,L=B(O,P)|0,L>>>0>(Z[W>>2]|0)>>>0){if(F=L<<1,L=y6(Z[V>>2]|0,F)|0,!L)break;Z[W>>2]=F,Z[V>>2]=L,z=Z[J>>2]|0,H=L,C=Z[Q>>2]|0}else z=_,H=Z[V>>2]|0,C=O;if(Z[Y>>2]=P,P=H+(B(C,K)|0)|0,Z[P>>2]=0,K=P+8|0,Z[K>>2]=0,O=P+4|0,Z[O>>2]=0,f[P+12>>2]=+(z>>>0)/U,_=y6(0,8)|0,_|0)Z[K>>2]=8,Z[P>>2]=_,Z[O>>2]=1,Z[_>>2]=S}if(S=S+1|0,S>>>0>=T>>>0)break Z}return Z[W>>2]=0,Z[Y>>2]=0,$6(Z[V>>2]|0),Z[V>>2]=0,A=9904,A|0}while(0);if(T=Z[Y>>2]|0,!T)return A=0,A|0;if(Y=Z[V>>2]|0,(T|0)==1)return A=0,A|0;V=T;do if(z=V*10|0,C=(z+-117|0)>>>0<13|(z+-130|0)>>>0<13?11:(z>>>0)/13|0,V=(C|0)==0?1:C,C=T-V|0,!C)y=0;else{z=0,H=0;while(!0){if($=z+V|0,X=Y+($<<4)+12|0,U=+f[X>>2],S=Y+(z<<4)+12|0,k=+f[S>>2],U>2]=k,f[S>>2]=U,S=Y+(z<<4)|0,X=Y+($<<4)|0,Q=Y+(z<<4)+4|0,_=Z[Q>>2]|0,O=Y+($<<4)+4|0,Z[Q>>2]=Z[O>>2],Z[O>>2]=_,_=Y+(z<<4)+8|0,O=Z[_>>2]|0,Q=Y+($<<4)+8|0,Z[_>>2]=Z[Q>>2],Z[Q>>2]=O,O=Z[S>>2]|0,Z[S>>2]=Z[X>>2],Z[X>>2]=O,m=1;else m=H;if(z=z+1|0,z>>>0>=C>>>0){y=m;break}else H=m}}while(V>>>0>1|y<<24>>24!=0);return A=0,A|0}function RF(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;if(T=$>>>24&255,X=V+4|0,Y=Z[X>>2]|0,Q=Y+1|0,W=V+8|0,(Z[W>>2]|0)>>>0>>0){if(U=Q<<1,S=y6(Z[V>>2]|0,U)|0,S|0)Z[W>>2]=U,Z[V>>2]=S,J=S,_=5}else J=Z[V>>2]|0,_=5;if((_|0)==5)Z[X>>2]=Q,N[J+Y>>0]=T;if(T=$>>>16&255,Y=Z[X>>2]|0,J=Y+1|0,(Z[W>>2]|0)>>>0>>0){if(Q=J<<1,S=y6(Z[V>>2]|0,Q)|0,S|0)Z[W>>2]=Q,Z[V>>2]=S,K=S,_=10}else K=Z[V>>2]|0,_=10;if((_|0)==10)Z[X>>2]=J,N[K+Y>>0]=T;if(T=$>>>8&255,Y=Z[X>>2]|0,K=Y+1|0,(Z[W>>2]|0)>>>0>>0){if(J=K<<1,S=y6(Z[V>>2]|0,J)|0,S|0)Z[W>>2]=J,Z[V>>2]=S,P=S,_=15}else P=Z[V>>2]|0,_=15;if((_|0)==15)Z[X>>2]=K,N[P+Y>>0]=T;T=$&255,$=Z[X>>2]|0,Y=$+1|0;do if((Z[W>>2]|0)>>>0>>0)if(P=Y<<1,K=y6(Z[V>>2]|0,P)|0,!K)return;else{Z[W>>2]=P,Z[V>>2]=K,O=K;break}else O=Z[V>>2]|0;while(0);Z[X>>2]=Y,N[O+$>>0]=T;return}function IN(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0;if(Q=q,q=q+16|0,W=Q,X>>>0<2)return U=53,q=Q,U|0;if(S=N[T>>0]|0,J=S&255,_=G[T+1>>0]|0,((J<<8|_)>>>0)%31|0|0)return U=24,q=Q,U|0;if(S<<24>>24<0|(J&15|0)!=8)return U=25,q=Q,U|0;if(_&32|0)return U=26,q=Q,U|0;if(_=Z[$>>2]|0,Z[W>>2]=Z[V>>2],J=W+4|0,Z[J>>2]=_,Z[W+8>>2]=_,_=UF(W,T,X,2)|0,S=Z[W>>2]|0,Z[V>>2]=S,V=Z[J>>2]|0,Z[$>>2]=V,$=S,_|0)return U=_,q=Q,U|0;if(!(Z[Y>>2]|0)){if(Y=T+(X+-4)|0,X=(G[Y+1>>0]|0)<<16|(G[Y>>0]|0)<<24|(G[Y+2>>0]|0)<<8|(G[Y+3>>0]|0),!V)K=1,P=0;else{Y=$,$=V,V=1,T=0;while(!0){if(_=$>>>0<5550?$:5550,$=$-_|0,!_)O=Y,L=V,F=T;else{S=_,J=Y,W=V,z=T;while(!0)if(W=W+(G[J>>0]|0)|0,z=W+z|0,S=S+-1|0,!S)break;else J=J+1|0;O=Y+_|0,L=W,F=z}if(V=(L>>>0)%65521|0,T=(F>>>0)%65521|0,!$)break;else Y=O}K=V,P=T<<16}if((P|K|0)!=(X|0))return U=58,q=Q,U|0}return U=0,q=Q,U|0}function qN(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0;if(Q=q,q=q+32|0,W=Q+12|0,U=Q,S=Z[V>>2]|0,J=Z[$>>2]|0,Z[U>>2]=S,_=U+4|0,Z[_>>2]=J,K=U+8|0,Z[K>>2]=J,P=J+1|0,(J|0)!=-1)if(O=P<<1,L=y6(S,O)|0,!L)F=J,z=S,H=J,C=P;else Z[K>>2]=O,Z[U>>2]=L,A=L,y=O,k=4;else A=S,y=-1,k=4;if((k|0)==4)Z[_>>2]=P,N[A+J>>0]=120,F=y,z=A,H=P,C=J+2|0;if(F>>>0>>0){if(F=C<<1,J=y6(z,F)|0,J|0)Z[K>>2]=F,Z[U>>2]=J,m=J,k=8}else m=z,k=8;if((k|0)==8)Z[_>>2]=C,N[m+H>>0]=1;if(Z[W>>2]=0,H=W+8|0,Z[H>>2]=0,m=W+4|0,Z[m>>2]=0,C=SF(W,T,X,Y)|0,C|0)return I=Z[U>>2]|0,Z[V>>2]=I,u=Z[_>>2]|0,Z[$>>2]=u,q=Q,C|0;if(!X)g=1,i=0;else{Y=T,T=X,X=1,z=0;while(!0){if(J=T>>>0<5550?T:5550,T=T-J|0,!J)t=Y,Y0=X,X0=z;else{F=J,P=Y,A=X,y=z;while(!0)if(A=A+(G[P>>0]|0)|0,y=A+y|0,F=F+-1|0,!F)break;else P=P+1|0;t=Y+J|0,Y0=A,X0=y}if(X=(Y0>>>0)%65521|0,z=(X0>>>0)%65521|0,!T)break;else Y=t}g=X,i=z<<16}if(z=i|g,Z[m>>2]|0){g=Z[U>>2]|0,i=Z[_>>2]|0,X=Z[K>>2]|0,t=0;while(!0){if(Y=N[(Z[W>>2]|0)+t>>0]|0,T=i+1|0,X>>>0>>0)if(X0=T<<1,Y0=y6(g,X0)|0,!Y0)T0=g,Z0=i,W0=X;else O0=Y0,y0=X0,k=22;else O0=g,y0=X,k=22;if((k|0)==22)k=0,N[O0+i>>0]=Y,T0=O0,Z0=T,W0=y0;if(t=t+1|0,t>>>0>=(Z[m>>2]|0)>>>0)break;else g=T0,i=Z0,X=W0}Z[_>>2]=Z0,Z[K>>2]=W0,Z[U>>2]=T0}return Z[H>>2]=0,Z[m>>2]=0,$6(Z[W>>2]|0),Z[W>>2]=0,RF(U,z),I=Z[U>>2]|0,Z[V>>2]=I,u=Z[_>>2]|0,Z[$>>2]=u,q=Q,C|0}function HQ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0;if(!(Z[545810]|0)){T=0;do X=T>>>1,Y=(T&1|0)==0?X:X^-306674912,X=Y>>>1,Q=(Y&1|0)==0?X:X^-306674912,X=Q>>>1,Y=(Q&1|0)==0?X:X^-306674912,X=Y>>>1,Q=(Y&1|0)==0?X:X^-306674912,X=Q>>>1,Y=(Q&1|0)==0?X:X^-306674912,X=Y>>>1,Q=(Y&1|0)==0?X:X^-306674912,X=Q>>>1,Y=(Q&1|0)==0?X:X^-306674912,X=Y>>>1,Z[1715168+(T<<2)>>2]=(Y&1|0)==0?X:X^-306674912,T=T+1|0;while((T|0)!=256);Z[545810]=1}if(!$)return W=0,W|0;T=-1,X=0;do T=Z[1715168+((T&255^(G[V+X>>0]|0))<<2)>>2]^T>>>8,X=X+1|0;while((X|0)!=($|0));return W=~T,W|0}function QZ(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;if(Q=Z[$>>2]|0,W=T+12|0,U=W+Q|0,U>>>0>>0|U>>>0>>0)return S=77,S|0;if(W=y6(Z[V>>2]|0,U)|0,!W)return S=9930,S|0;if(Z[V>>2]=W,Z[$>>2]=U,U=W+Q|0,Q=T>>>24&255,N[U>>0]=Q,W=T>>>16&255,$=U+1|0,N[$>>0]=W,V=T>>>8&255,J=U+2|0,N[J>>0]=V,_=U+3|0,N[_>>0]=T,K=U+4|0,N[K>>0]=N[X>>0]|0,N[U+5>>0]=N[X+1>>0]|0,N[U+6>>0]=N[X+2>>0]|0,N[U+7>>0]=N[X+3>>0]|0,!T)P=0,O=Q,L=W,F=V;else{V=0;do N[U+(V+8)>>0]=N[Y+V>>0]|0,V=V+1|0;while((V|0)!=(T|0));P=N[_>>0]|0,O=N[U>>0]|0,L=N[$>>0]|0,F=N[J>>0]|0}return J=(L&255)<<16|(O&255)<<24|(F&255)<<8|P&255,P=HQ(K,J+4|0)|0,K=U+8+J|0,N[K>>0]=P>>>24,N[K+1>>0]=P>>>16,N[K+2>>0]=P>>>8,N[K+3>>0]=P,S=0,S|0}function wR(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0;if(X=V+4|0,Y=y6(Z[X>>2]|0,(Z[V>>2]<<2)+4|0)|0,Q=V+8|0,W=y6(Z[Q>>2]|0,(Z[V>>2]<<2)+4|0)|0,!((Y|0)!=0&(W|0)!=0))return $6(Y),$6(W),U=9933,U|0;if(S=Z[V>>2]|0,Z[V>>2]=S+1,Z[X>>2]=Y,Z[Q>>2]=W,W=Y+(S<<2)|0,Z[W>>2]=0,S=y6(0,1)|0,S|0)N[S>>0]=0,Z[W>>2]=S;if(S=(Z[X>>2]|0)+((Z[V>>2]|0)+-1<<2)|0,X=x6($)|0,W=y6(Z[S>>2]|0,X+1|0)|0,(W|0?(N[W+X>>0]=0,Z[S>>2]=W,X|0):0)?(N[W>>0]=N[$>>0]|0,(X|0)!=1):0){W=1;do N[(Z[S>>2]|0)+W>>0]=N[$+W>>0]|0,W=W+1|0;while((W|0)!=(X|0))}if(X=(Z[Q>>2]|0)+((Z[V>>2]|0)+-1<<2)|0,Z[X>>2]=0,W=y6(0,1)|0,W|0)N[W>>0]=0,Z[X>>2]=W;if(W=(Z[Q>>2]|0)+((Z[V>>2]|0)+-1<<2)|0,V=x6(T)|0,Q=y6(Z[W>>2]|0,V+1|0)|0,!Q)return U=0,U|0;if(N[Q+V>>0]=0,Z[W>>2]=Q,!V)return U=0,U|0;if(N[Q>>0]=N[T>>0]|0,(V|0)==1)return U=0,U|0;Q=1;do N[(Z[W>>2]|0)+Q>>0]=N[T+Q>>0]|0,Q=Q+1|0;while((Q|0)!=(V|0));return U=0,U|0}function _F(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0;if($=V+4|0,T=Z[$>>2]|0,X=V+8|0,Y=V+12|0,Q=V+16|0,!(Z[V>>2]|0)){W=T,$6(W),U=Z[X>>2]|0,$6(U),S=Z[Y>>2]|0,$6(S),J=Z[Q>>2]|0,$6(J);return}_=T,T=0;while(!0)if(K=_+(T<<2)|0,$6(Z[K>>2]|0),Z[K>>2]=0,K=(Z[X>>2]|0)+(T<<2)|0,$6(Z[K>>2]|0),Z[K>>2]=0,K=(Z[Y>>2]|0)+(T<<2)|0,$6(Z[K>>2]|0),Z[K>>2]=0,K=(Z[Q>>2]|0)+(T<<2)|0,$6(Z[K>>2]|0),Z[K>>2]=0,T=T+1|0,K=Z[$>>2]|0,T>>>0>=(Z[V>>2]|0)>>>0){W=K;break}else _=K;$6(W),U=Z[X>>2]|0,$6(U),S=Z[Y>>2]|0,$6(S),J=Z[Q>>2]|0,$6(J);return}function KF(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0;if(Q=V+4|0,W=y6(Z[Q>>2]|0,(Z[V>>2]<<2)+4|0)|0,U=V+8|0,S=y6(Z[U>>2]|0,(Z[V>>2]<<2)+4|0)|0,J=V+12|0,_=y6(Z[J>>2]|0,(Z[V>>2]<<2)+4|0)|0,K=V+16|0,P=y6(Z[K>>2]|0,(Z[V>>2]<<2)+4|0)|0,!((W|0)!=0&(S|0)!=0&(_|0)!=0&(P|0)!=0))return $6(W),$6(S),$6(_),$6(P),O=9934,O|0;if(L=Z[V>>2]|0,Z[V>>2]=L+1,Z[Q>>2]=W,Z[U>>2]=S,Z[J>>2]=_,Z[K>>2]=P,P=W+(L<<2)|0,Z[P>>2]=0,L=y6(0,1)|0,L|0)N[L>>0]=0,Z[P>>2]=L;if(L=(Z[Q>>2]|0)+((Z[V>>2]|0)+-1<<2)|0,Q=x6($)|0,P=y6(Z[L>>2]|0,Q+1|0)|0,(P|0?(N[P+Q>>0]=0,Z[L>>2]=P,Q|0):0)?(N[P>>0]=N[$>>0]|0,(Q|0)!=1):0){P=1;do N[(Z[L>>2]|0)+P>>0]=N[$+P>>0]|0,P=P+1|0;while((P|0)!=(Q|0))}if(Q=(Z[U>>2]|0)+((Z[V>>2]|0)+-1<<2)|0,Z[Q>>2]=0,P=y6(0,1)|0,P|0)N[P>>0]=0,Z[Q>>2]=P;if(P=(Z[U>>2]|0)+((Z[V>>2]|0)+-1<<2)|0,U=x6(T)|0,Q=y6(Z[P>>2]|0,U+1|0)|0,(Q|0?(N[Q+U>>0]=0,Z[P>>2]=Q,U|0):0)?(N[Q>>0]=N[T>>0]|0,(U|0)!=1):0){Q=1;do N[(Z[P>>2]|0)+Q>>0]=N[T+Q>>0]|0,Q=Q+1|0;while((Q|0)!=(U|0))}if(U=(Z[J>>2]|0)+((Z[V>>2]|0)+-1<<2)|0,Z[U>>2]=0,Q=y6(0,1)|0,Q|0)N[Q>>0]=0,Z[U>>2]=Q;if(Q=(Z[J>>2]|0)+((Z[V>>2]|0)+-1<<2)|0,J=x6(X)|0,U=y6(Z[Q>>2]|0,J+1|0)|0,(U|0?(N[U+J>>0]=0,Z[Q>>2]=U,J|0):0)?(N[U>>0]=N[X>>0]|0,(J|0)!=1):0){U=1;do N[(Z[Q>>2]|0)+U>>0]=N[X+U>>0]|0,U=U+1|0;while((U|0)!=(J|0))}if(J=(Z[K>>2]|0)+((Z[V>>2]|0)+-1<<2)|0,Z[J>>2]=0,U=y6(0,1)|0,U|0)N[U>>0]=0,Z[J>>2]=U;if(U=(Z[K>>2]|0)+((Z[V>>2]|0)+-1<<2)|0,V=x6(Y)|0,K=y6(Z[U>>2]|0,V+1|0)|0,!K)return O=0,O|0;if(N[K+V>>0]=0,Z[U>>2]=K,!V)return O=0,O|0;if(N[K>>0]=N[Y>>0]|0,(V|0)==1)return O=0,O|0;K=1;do N[(Z[U>>2]|0)+K>>0]=N[Y+K>>0]|0,K=K+1|0;while((K|0)!=(V|0));return O=0,O|0}function xQ(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0;if($=Z[V+28>>2]|0,$|0)$6($);if(Z[V+32>>2]=0,$=V+68|0,T=V+72|0,X=Z[T>>2]|0,Y=V+76|0,!(Z[$>>2]|0))Q=X;else{W=X,X=0;while(!0)if(U=W+(X<<2)|0,$6(Z[U>>2]|0),Z[U>>2]=0,U=(Z[Y>>2]|0)+(X<<2)|0,$6(Z[U>>2]|0),Z[U>>2]=0,X=X+1|0,U=Z[T>>2]|0,X>>>0>=(Z[$>>2]|0)>>>0){Q=U;break}else W=U}$6(Q),$6(Z[Y>>2]|0),_F(V+80|0),$6(Z[V+132>>2]|0),$6(Z[V+136>>2]|0),$6(Z[V+140>>2]|0);return}function IR(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0;switch(W=B(Q,Y)|0,Y=Z[T>>2]|0,Q=Z[T+4>>2]|0,Y|0){case 3:case 0:{U=1;break}case 2:{U=3;break}case 4:{U=2;break}case 6:{U=4;break}default:U=0}if(T=(B(U,Q)|0)>>>3,U=Y>>>2&1,S=Z[X>>2]|0,(S|0)==(Y|0)?(Z[X+4>>2]|0)==(Q|0):0){switch(Y|0){case 3:case 0:{J=1;break}case 2:{J=3;break}case 4:{J=2;break}case 6:{J=4;break}default:J=0}if(_=((B(B(Q,W)|0,J)|0)+7|0)>>>3,!_)return K=0,K|0;J=0;do N[V+J>>0]=N[$+J>>0]|0,J=J+1|0;while((J|0)!=(_|0));return K=0,K|0}switch(Y|0){case 6:case 2:break;default:{if(!((Y|4|0)==4&(Q|0)==8))return K=59,K|0;if((S|4|0)!=4)return K=62,K|0;switch(Y=X+4|0,_=Z[Y>>2]|0,_|0){case 8:{switch(S|0){case 0:{if(!W)return K=0,K|0;if(J=X+16|0,P=X+20|0,!U){O=0;do N[V+(B(O,T)|0)>>0]=N[$+O>>0]|0,O=O+1|0;while((O|0)!=(W|0));return K=0,K|0}O=0;do{if(L=B(O,T)|0,F=V+(L+1)|0,N[F>>0]=-1,z=$+O|0,N[V+L>>0]=N[z>>0]|0,Z[J>>2]|0?(Z[P>>2]|0)==(G[z>>0]|0|0):0)N[F>>0]=0;O=O+1|0}while((O|0)!=(W|0));return K=0,K|0}case 4:{if(!W)return K=0,K|0;if(!U){O=0;do N[V+(B(O,T)|0)>>0]=N[$+(O<<1)>>0]|0,O=O+1|0;while((O|0)!=(W|0));return K=0,K|0}else{O=0;do P=O<<1,J=B(O,T)|0,N[V+J>>0]=N[$+P>>0]|0,N[V+(J+1)>>0]=N[$+(P|1)>>0]|0,O=O+1|0;while((O|0)!=(W|0));return K=0,K|0}break}default:return K=31,K|0}break}case 16:{switch(S|0){case 0:{if(!W)return K=0,K|0;if(O=X+16|0,P=X+20|0,!U){J=0;do N[V+(B(J,T)|0)>>0]=N[$+(J<<1)>>0]|0,J=J+1|0;while((J|0)!=(W|0));return K=0,K|0}J=0;while(!0){if(F=B(J,T)|0,z=V+(F+1)|0,N[z>>0]=-1,N[V+F>>0]=N[$+(J<<1)>>0]|0,Z[O>>2]|0)if(F=J+1|0,((G[$+J>>0]|0)<<8|(G[$+F>>0]|0)|0)==(Z[P>>2]|0))N[z>>0]=0,H=F;else H=F;else H=J+1|0;if((H|0)==(W|0)){K=0;break}else J=H}return K|0}case 4:{if(!W)return K=0,K|0;if(!U){H=0;do N[V+(B(H,T)|0)>>0]=N[$+(H<<2)>>0]|0,H=H+1|0;while((H|0)!=(W|0));return K=0,K|0}else{H=0;do J=H<<2,P=B(H,T)|0,N[V+P>>0]=N[$+J>>0]|0,N[V+(P+1)>>0]=N[$+(J|2)>>0]|0,H=H+1|0;while((H|0)!=(W|0));return K=0,K|0}break}default:return K=31,K|0}break}default:{if(S|0)return K=31,K|0;if(!W)return K=0,K|0;if(H=X+16|0,J=X+20|0,!U){P=_,O=0,F=0;while(!0){if(!P)C=O,A=0;else{z=O,L=P+-1|0,y=0;while(!0)if(k=z+1|0,m=(((G[$+(z>>>3)>>0]|0)>>>(z&7^7)&1)<>>0>=P>>>0){C=k,A=m;break}else z=k,y=m}if(N[V+(B(F,T)|0)>>0]=((A*255|0)>>>0)/(((1<>>0)|0,y=F+1|0,(y|0)==(W|0)){K=0;break}P=Z[Y>>2]|0,O=C,F=y}return K|0}F=_,_=0,C=0;while(!0){if(!F)I=_,u=0;else{O=_,P=F+-1|0,A=0;while(!0)if(y=O+1|0,z=(((G[$+(O>>>3)>>0]|0)>>>(O&7^7)&1)<>>0>=F>>>0){I=y,u=z;break}else O=y,A=z}if(A=B(C,T)|0,O=V+(A+1)|0,N[O>>0]=-1,(u|0)!=0&(Z[H>>2]|0)!=0?(P=(1<>2])+-1|0,!((P|0)==0?1:(P|0)!=(Z[J>>2]|0))):0)N[O>>0]=0;if(N[V+A>>0]=((u*255|0)>>>0)/(((1<>2])+-1|0)>>>0)|0,A=C+1|0,(A|0)==(W|0)){K=0;break}F=Z[Y>>2]|0,_=I,C=A}return K|0}}}}if((Q|0)!=8)return K=59,K|0;switch(Q=X+4|0,C=Z[Q>>2]|0,C|0){case 8:{switch(S|0){case 0:{if(!W)return K=0,K|0;if(I=X+16|0,_=X+20|0,!U){Y=0;do F=$+Y|0,u=B(Y,T)|0,N[V+u>>0]=N[F>>0]|0,N[V+(u+1)>>0]=N[F>>0]|0,N[V+(u+2)>>0]=N[F>>0]|0,Y=Y+1|0;while((Y|0)!=(W|0));return K=0,K|0}Y=0;do{if(F=B(Y,T)|0,u=V+(F+3)|0,N[u>>0]=-1,J=$+Y|0,N[V+F>>0]=N[J>>0]|0,N[V+(F+1)>>0]=N[J>>0]|0,N[V+(F+2)>>0]=N[J>>0]|0,Z[I>>2]|0?(Z[_>>2]|0)==(G[J>>0]|0|0):0)N[u>>0]=0;Y=Y+1|0}while((Y|0)!=(W|0));return K=0,K|0}case 2:{if(!W)return K=0,K|0;Y=(U|0)!=0,_=X+16|0,I=X+20|0,u=X+24|0,J=X+28|0,F=0;do{if(H=B(F,T)|0,Y)N[V+(H+3)>>0]=-1;if(A=F*3|0,O=$+A|0,N[V+H>>0]=N[O>>0]|0,P=$+(A+1)|0,N[V+(H+1)>>0]=N[P>>0]|0,z=$+(A+2)|0,N[V+(H+2)>>0]=N[z>>0]|0,(((Y?(Z[_>>2]|0)==1:0)?(Z[I>>2]|0)==(G[O>>0]|0|0):0)?(Z[u>>2]|0)==(G[P>>0]|0|0):0)?(Z[J>>2]|0)==(G[z>>0]|0|0):0)N[V+(H+3)>>0]=0;F=F+1|0}while((F|0)!=(W|0));return K=0,K|0}case 3:{if(!W)return K=0,K|0;if(F=X+12|0,J=(T|0)!=0,u=X+8|0,I=(T|0)==1,!U){_=0;while(!0){if(Y=$+_|0,H=N[Y>>0]|0,(Z[F>>2]|0)>>>0<=(H&255)>>>0){K=46,g=179;break}if(J?(z=B(_,T)|0,N[V+z>>0]=N[(Z[u>>2]|0)+((H&255)<<2)>>0]|0,!I):0){H=1;do N[V+(H+z)>>0]=N[(Z[u>>2]|0)+(((G[Y>>0]|0)<<2)+H)>>0]|0,H=H+1|0;while((H|0)!=(T|0))}if(_=_+1|0,_>>>0>=W>>>0){K=0,g=179;break}}if((g|0)==179)return K|0}else{_=0;while(!0){if(H=B(_,T)|0,N[V+(H+3)>>0]=-1,Y=$+_|0,z=N[Y>>0]|0,(Z[F>>2]|0)>>>0<=(z&255)>>>0){K=46,g=179;break}if(J?(N[V+H>>0]=N[(Z[u>>2]|0)+((z&255)<<2)>>0]|0,!I):0){z=1;do N[V+(z+H)>>0]=N[(Z[u>>2]|0)+(((G[Y>>0]|0)<<2)+z)>>0]|0,z=z+1|0;while((z|0)!=(T|0))}if(_=_+1|0,_>>>0>=W>>>0){K=0,g=179;break}}if((g|0)==179)return K|0}break}case 4:{if(!W)return K=0,K|0;if(!U){_=0;do u=$+(_<<1)|0,I=B(_,T)|0,N[V+I>>0]=N[u>>0]|0,N[V+(I+1)>>0]=N[u>>0]|0,N[V+(I+2)>>0]=N[u>>0]|0,_=_+1|0;while((_|0)!=(W|0));return K=0,K|0}else{_=0;do u=_<<1,I=$+u|0,J=B(_,T)|0,N[V+J>>0]=N[I>>0]|0,N[V+(J+1)>>0]=N[I>>0]|0,N[V+(J+2)>>0]=N[I>>0]|0,N[V+(J+3)>>0]=N[$+(u|1)>>0]|0,_=_+1|0;while((_|0)!=(W|0));return K=0,K|0}break}case 6:{if((W|0)==0|(T|0)==0)return K=0,K|0;_=0;do{u=_<<2,J=B(_,T)|0,I=0;do N[V+(I+J)>>0]=N[$+(I+u)>>0]|0,I=I+1|0;while((I|0)!=(T|0));_=_+1|0}while((_|0)!=(W|0));return K=0,K|0}default:return K=0,K|0}break}case 16:{switch(S|0){case 0:{if(!W)return K=0,K|0;if(_=X+16|0,I=X+20|0,!U){u=0;do J=$+(u<<1)|0,F=B(u,T)|0,N[V+F>>0]=N[J>>0]|0,N[V+(F+1)>>0]=N[J>>0]|0,N[V+(F+2)>>0]=N[J>>0]|0,u=u+1|0;while((u|0)!=(W|0));return K=0,K|0}u=0;while(!0){if(J=B(u,T)|0,F=V+(J+3)|0,N[F>>0]=-1,z=$+(u<<1)|0,N[V+J>>0]=N[z>>0]|0,N[V+(J+1)>>0]=N[z>>0]|0,N[V+(J+2)>>0]=N[z>>0]|0,Z[_>>2]|0)if(z=u+1|0,((G[$+u>>0]|0)<<8|(G[$+z>>0]|0)|0)==(Z[I>>2]|0))N[F>>0]=0,i=z;else i=z;else i=u+1|0;if((i|0)==(W|0)){K=0;break}else u=i}return K|0}case 2:{if(!W)return K=0,K|0;i=(U|0)!=0,u=X+16|0,I=X+20|0,_=X+24|0,z=X+28|0,F=0;do{if(J=B(F,T)|0,i)N[V+(J+3)>>0]=-1;if(Y=F*6|0,H=$+Y|0,N[V+J>>0]=N[H>>0]|0,P=$+(Y+2)|0,N[V+(J+1)>>0]=N[P>>0]|0,O=$+(Y+4)|0,N[V+(J+2)>>0]=N[O>>0]|0,(((i?Z[u>>2]|0:0)?((G[H>>0]|0)<<8|(G[$+(Y|1)>>0]|0)|0)==(Z[I>>2]|0):0)?((G[P>>0]|0)<<8|(G[$+(Y+3)>>0]|0)|0)==(Z[_>>2]|0):0)?((G[O>>0]|0)<<8|(G[$+(Y+5)>>0]|0)|0)==(Z[z>>2]|0):0)N[V+(J+3)>>0]=0;F=F+1|0}while((F|0)!=(W|0));return K=0,K|0}case 4:{if(!W)return K=0,K|0;if(!U){F=0;do z=$+(F<<2)|0,_=B(F,T)|0,N[V+_>>0]=N[z>>0]|0,N[V+(_+1)>>0]=N[z>>0]|0,N[V+(_+2)>>0]=N[z>>0]|0,F=F+1|0;while((F|0)!=(W|0));return K=0,K|0}else{F=0;do z=F<<2,_=$+z|0,I=B(F,T)|0,N[V+I>>0]=N[_>>0]|0,N[V+(I+1)>>0]=N[_>>0]|0,N[V+(I+2)>>0]=N[_>>0]|0,N[V+(I+3)>>0]=N[$+(z|2)>>0]|0,F=F+1|0;while((F|0)!=(W|0));return K=0,K|0}break}case 6:{if((W|0)==0|(T|0)==0)return K=0,K|0;F=0;do{z=F<<3,I=B(F,T)|0,_=0;do N[V+(_+I)>>0]=N[$+((_<<1)+z)>>0]|0,_=_+1|0;while((_|0)!=(T|0));F=F+1|0}while((F|0)!=(W|0));return K=0,K|0}default:return K=0,K|0}break}default:switch(S|0){case 0:{if(!W)return K=0,K|0;S=(U|0)==0,F=X+16|0,_=X+20|0,z=C,I=0,u=0;while(!0){if(!z)t=I,Y0=0;else{i=I,J=z+-1|0,Y=0;while(!0)if(O=i+1|0,P=(((G[$+(i>>>3)>>0]|0)>>>(i&7^7)&1)<>>0>=z>>>0){t=O,Y0=P;break}else i=O,Y=P}if(Y=B(u,T)|0,(!S?(i=V+(Y+3)|0,N[i>>0]=-1,(Y0|0)!=0&(Z[F>>2]|0)!=0):0)?(J=(1<>2])+-1|0,!((J|0)==0?1:(J|0)!=(Z[_>>2]|0))):0)N[i>>0]=0;if(i=(((Y0*255|0)>>>0)/(((1<>2])+-1|0)>>>0)|0)&255,N[V+Y>>0]=i,N[V+(Y+1)>>0]=i,N[V+(Y+2)>>0]=i,i=u+1|0,(i|0)==(W|0)){K=0;break}z=Z[Q>>2]|0,I=t,u=i}return K|0}case 3:{if(!W)return K=0,K|0;u=(U|0)==0,U=X+12|0,t=(T|0)==0,I=X+8|0,X=C,C=0,z=0;while(!0){if(!X)X0=C,T0=0;else{Y0=C,_=X+-1|0,F=0;while(!0)if(S=Y0+1|0,i=(((G[$+(Y0>>>3)>>0]|0)>>>(Y0&7^7)&1)<<_)+F|0,_=_+-1|0,_>>>0>=X>>>0){X0=S,T0=i;break}else Y0=S,F=i}if(!u)N[V+((B(z,T)|0)+3)>>0]=-1;if(T0>>>0>=(Z[U>>2]|0)>>>0){K=47,g=179;break}if(!t){F=T0<<2,Y0=B(z,T)|0,_=0;do N[V+(_+Y0)>>0]=N[(Z[I>>2]|0)+(_+F)>>0]|0,_=_+1|0;while((_|0)!=(T|0))}if(_=z+1|0,_>>>0>=W>>>0){K=0,g=179;break}X=Z[Q>>2]|0,C=X0,z=_}if((g|0)==179)return K|0;break}default:return K=0,K|0}}return 0}function PF(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0;if(($|0)==0|(T|0)==0){Z[V+208>>2]=48;return}if(T>>>0<29){Z[V+208>>2]=27;return}T=V+52|0,xQ(T),X=V+56|0,Z[X>>2]=0,Z[T>>2]=0,Y=V+88|0,Q=V+72|0,Z[Y>>2]=0,Z[Y+4>>2]=0,Z[Y+8>>2]=0,Z[Y+12>>2]=0,Z[Q>>2]=6,Y=V+76|0,Z[Y>>2]=8,Z[V+80>>2]=0,Z[V+84>>2]=0,W=V+68|0,Z[W>>2]=0,U=V+60|0,Z[U>>2]=0,S=V+64|0,Z[S>>2]=0,J=V+104|0,Z[V+168>>2]=0,_=V+184|0,K=J,P=K+48|0;do Z[K>>2]=0,K=K+4|0;while((K|0)<(P|0));if(N[J+48>>0]=0,J=V+208|0,Z[_>>2]=0,Z[_+4>>2]=0,Z[_+8>>2]=0,Z[_+12>>2]=0,Z[_+16>>2]=0,Z[_+20>>2]=0,Z[_+24>>2]=0,(((((((N[$>>0]|0)==-119?(N[$+1>>0]|0)==80:0)?(N[$+2>>0]|0)==78:0)?(N[$+3>>0]|0)==71:0)?(N[$+4>>0]|0)==13:0)?(N[$+5>>0]|0)==10:0)?(N[$+6>>0]|0)==26:0)?(N[$+7>>0]|0)==10:0){if(_=$+12|0,(((N[_>>0]|0)==73?(N[$+13>>0]|0)==72:0)?(N[$+14>>0]|0)==68:0)?(N[$+15>>0]|0)==82:0){Z[T>>2]=G[$+17>>0]<<16|G[$+16>>0]<<24|G[$+18>>0]<<8|G[$+19>>0],Z[X>>2]=G[$+21>>0]<<16|G[$+20>>0]<<24|G[$+22>>0]<<8|G[$+23>>0],Z[Y>>2]=G[$+24>>0],Z[Q>>2]=G[$+25>>0],X=G[$+26>>0]|0,Z[U>>2]=X,Z[S>>2]=G[$+27>>0],Z[W>>2]=G[$+28>>0];do if(!(Z[V+4>>2]|0)){if(T=G[$+30>>0]<<16|G[$+29>>0]<<24|G[$+31>>0]<<8|G[$+32>>0],(T|0)==(HQ(_,17)|0)){O=Z[U>>2]|0;break}Z[J>>2]=57;return}else O=X;while(0);if(O|0){Z[J>>2]=32;return}if(Z[S>>2]|0){Z[J>>2]=33;return}if((Z[W>>2]|0)>>>0>1){Z[J>>2]=34;return}switch(W=Z[Y>>2]|0,Z[Q>>2]|0){case 0:{switch(W|0){case 1:case 2:case 4:case 8:case 16:{L=35;break}default:F=37}break}case 2:{switch(W|0){case 8:case 16:{L=35;break}default:F=37}break}case 3:{switch(W|0){case 1:case 2:case 4:case 8:{L=35;break}default:F=37}break}case 4:{switch(W|0){case 8:case 16:{L=35;break}default:F=37}break}case 6:{switch(W|0){case 8:case 16:{L=35;break}default:F=37}break}default:F=31}if((L|0)==35)F=0;Z[J>>2]=F;return}Z[J>>2]=29;return}Z[J>>2]=28;return}function qR(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0,j8=0,C6=0,o6=0,u6=0,p8=0,i8=0,q8=0,m8=0,l8=0,w8=0,U2=0,K8=0,A8=0,t8=0,_2=0,Y2=0,Q2=0,F2=0,w2=0,G2=0,K2=0,Z2=0,o2=0,u8=0,L2=0,N2=0,u2=0,Z1=0,I2=0,j2=0,Q1=0,p2=0,r2=0,W1=0,x2=0,a2=0,E2=0,d2=0,b2=0,P2=0,V1=0,X2=0,$1=0,P1=0,v2=0,T1=0,_1=0,l2=0,c1=0,$7=0,D1=0,n2=0,z1=0,N1=0,l1=0;if(Q=q,q=q+336|0,W=Q+288|0,U=Q+256|0,S=Q+224|0,J=Q+192|0,_=Q+160|0,K=Q+128|0,P=Q+96|0,O=Q+64|0,L=Q+32|0,F=Q,z=Q+316|0,Z[$>>2]=0,Z[T>>2]=0,PF(V,X,Y),H=V+208|0,Z[H>>2]|0){q=Q;return}C=X,A=V+4|0,y=V+80|0,k=V+84|0,m=V+72|0,I=V+88|0,u=V+100|0,g=V+96|0,i=V+92|0,t=V+12|0,Y0=V+104|0,X0=V+116|0,T0=V+112|0,Z0=V+108|0,W0=W+8|0,O0=W+4|0,y0=V+16|0,E0=W+8|0,H0=W+4|0,D0=V+152|0,_0=V+156|0,F0=V+160|0,k0=V+161|0,m0=V+162|0,B0=V+163|0,g0=V+164|0,o0=V+168|0,h0=V+172|0,C0=V+176|0,u0=V+180|0,p0=V+120|0,q0=V+132|0;Z:do if(Y>>>0<45)i0=0,t0=4;else{E6=45,V6=X+33|0,n0=1,e0=0,Z6=0,U6=0,N6=0;V:while(!0){if(A6=V6+1|0,S6=V6+2|0,H6=V6+3|0,M6=G[A6>>0]<<16|G[V6>>0]<<24|G[S6>>0]<<8|G[H6>>0],(M6|0)<0){t0=6;break}if((M6+E6|0)>>>0>Y>>>0){t0=9;break}if((V6+M6+12|0)>>>0>>0){t0=9;break}F6=V6+8|0,J6=V6+4|0,L6=N[J6>>0]|0;$:do switch(L6<<24>>24){case 73:{switch(N[V6+5>>0]|0){case 68:break;case 69:{if((N[V6+6>>0]|0)!=78){t0=187;break V}if((N[V6+7>>0]|0)==68){c0=1,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6;break $}else{t0=187;break V}break}default:{t0=187;break V}}if((N[V6+6>>0]|0)!=65){t0=187;break V}if((N[V6+7>>0]|0)!=84){t0=187;break V}if(G6=M6+U6|0,Z6>>>0>>0)if(w6=G6<<1,B6=y6(e0,w6)|0,!B6){t0=19;break V}else i6=B6,H8=w6;else i6=e0,H8=Z6;if(!M6)c0=0,T6=3,W6=i6,h6=H8,s6=G6,p6=N6;else{w6=0;do N[i6+(w6+U6)>>0]=N[F6+w6>>0]|0,w6=w6+1|0;while((w6|0)!=(M6|0));c0=0,T6=3,W6=i6,h6=H8,s6=G6,p6=N6}break}case 80:{if((N[V6+5>>0]|0)!=76){t0=187;break V}if((N[V6+6>>0]|0)!=84){t0=187;break V}if((N[V6+7>>0]|0)!=69){t0=187;break V}if(G6=Z[y>>2]|0,G6|0)$6(G6);if(G6=(M6>>>0)/3|0,Z[k>>2]=G6,w6=B2(G6<<2)|0,Z[y>>2]=w6,G6=Z[k>>2]|0,!w6)if(!G6){c0=0,T6=2,W6=e0,h6=Z6,s6=U6,p6=N6;break $}else{t0=29;break V}if(G6>>>0>256){t0=31;break V}if(!G6)c0=0,T6=2,W6=e0,h6=Z6,s6=U6,p6=N6;else{G6=w6,w6=0,B6=0;while(!0){if(m6=w6<<2,N[G6+m6>>0]=N[F6+B6>>0]|0,N[(Z[y>>2]|0)+(m6|1)>>0]=N[F6+(B6+1)>>0]|0,N[(Z[y>>2]|0)+(m6|2)>>0]=N[F6+(B6+2)>>0]|0,N[(Z[y>>2]|0)+(m6|3)>>0]=-1,m6=w6+1|0,m6>>>0>=(Z[k>>2]|0)>>>0){c0=0,T6=2,W6=e0,h6=Z6,s6=U6,p6=N6;break $}G6=Z[y>>2]|0,w6=m6,B6=B6+3|0}}break}case 116:{switch(N[V6+5>>0]|0){case 82:{if((N[V6+6>>0]|0)!=78){t0=188;break $}if((N[V6+7>>0]|0)!=83){t0=188;break $}switch(Z[m>>2]|0){case 3:{if(M6>>>0>(Z[k>>2]|0)>>>0){t0=41;break V}if(!M6){c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6;break $}B6=0;do N[(Z[y>>2]|0)+(B6<<2|3)>>0]=N[F6+B6>>0]|0,B6=B6+1|0;while((B6|0)!=(M6|0));c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6;break}case 0:{if((M6|0)!=2){t0=46;break V}Z[I>>2]=1,B6=G[F6>>0]<<8|G[V6+9>>0],Z[u>>2]=B6,Z[g>>2]=B6,Z[i>>2]=B6,c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6;break $}case 2:{if((M6|0)!=6){t0=49;break V}Z[I>>2]=1,Z[i>>2]=G[F6>>0]<<8|G[V6+9>>0],Z[g>>2]=G[V6+10>>0]<<8|G[V6+11>>0],Z[u>>2]=G[V6+12>>0]<<8|G[V6+13>>0],c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6;break $}default:{t0=51;break V}}break}case 69:{if((N[V6+6>>0]|0)!=88){t0=188;break $}if((N[V6+7>>0]|0)!=116){t0=188;break $}if(!(Z[t>>2]|0)){c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6;break $}if(!(Z[H>>2]|0)){Y:do if(!M6)_8=0,t0=72;else{B6=0;while(!0){if(w6=B6+1|0,!(N[F6+B6>>0]|0)){v8=w6,Y8=B6;break Y}if(w6>>>0>>0)B6=w6;else{_8=w6,t0=72;break}}}while(0);if((t0|0)==72)t0=0,v8=_8+1|0,Y8=_8;do if(M6>>>0>v8>>>0)if(B6=B2(v8)|0,B6){if(N[B6+Y8>>0]=0,Y8|0){w6=0;do N[B6+w6>>0]=N[F6+w6>>0]|0,w6=w6+1|0;while((w6|0)!=(Y8|0))}if(M6>>>0>>0)T8=75,C8=B6,j8=0;else{if(w6=M6-v8|0,G6=B2(w6+1|0)|0,!G6){T8=9939,C8=B6,j8=0;break}if(N[G6+w6>>0]=0,w6|0){m6=0;do N[G6+m6>>0]=N[F6+(m6+v8)>>0]|0,m6=m6+1|0;while((m6|0)!=(w6|0))}T8=wR(p0,B6,G6)|0,C8=B6,j8=G6}}else T8=9938,C8=0,j8=0;else T8=75,C8=0,j8=0;while(0);Z[H>>2]=T8,C6=C8,o6=j8}else C6=0,o6=0;$6(C6),$6(o6),c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6;break $}case 73:{if((N[V6+6>>0]|0)!=77){t0=188;break $}if((N[V6+7>>0]|0)!=69){t0=188;break $}if((M6|0)!=7){t0=178;break V}N[D0>>0]=1,Z[_0>>2]=G[F6>>0]<<8|G[V6+9>>0],N[F0>>0]=N[V6+10>>0]|0,N[k0>>0]=N[V6+11>>0]|0,N[m0>>0]=N[V6+12>>0]|0,N[B0>>0]=N[V6+13>>0]|0,N[g0>>0]=N[V6+14>>0]|0,c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6;break $}default:{t0=188;break $}}break}case 98:{if(((N[V6+5>>0]|0)==75?(N[V6+6>>0]|0)==71:0)?(N[V6+7>>0]|0)==68:0)switch(Z[m>>2]|0){case 3:{if((M6|0)!=1){t0=57;break V}Z[Y0>>2]=1,w6=G[F6>>0]|0,Z[X0>>2]=w6,Z[T0>>2]=w6,Z[Z0>>2]=w6,c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6;break $}case 4:case 0:{if((M6|0)!=2){t0=60;break V}Z[Y0>>2]=1,w6=G[F6>>0]<<8|G[V6+9>>0],Z[X0>>2]=w6,Z[T0>>2]=w6,Z[Z0>>2]=w6,c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6;break $}case 6:case 2:{if((M6|0)!=6){t0=63;break V}Z[Y0>>2]=1,Z[Z0>>2]=G[F6>>0]<<8|G[V6+9>>0],Z[T0>>2]=G[V6+10>>0]<<8|G[V6+11>>0],Z[X0>>2]=G[V6+12>>0]<<8|G[V6+13>>0],c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6;break $}default:{c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6;break $}}else t0=188;break}case 122:{if(((N[V6+5>>0]|0)==84?(N[V6+6>>0]|0)==88:0)?(N[V6+7>>0]|0)==116:0)if(Z[t>>2]|0){Z[W>>2]=0,Z[W0>>2]=0,Z[O0>>2]=0;do if(!(Z[H>>2]|0)){Y:do if(!M6)u6=0;else{w6=0;while(!0){if(!(N[F6+w6>>0]|0)){u6=w6;break Y}if(m6=w6+1|0,m6>>>0>>0)w6=m6;else{u6=m6;break}}}while(0);if(G6=u6+2|0,M6>>>0<=G6>>>0){Z[H>>2]=75,p8=0,i8=0;break}if(B6=u6+1|0,w6=B2(B6)|0,!w6){Z[H>>2]=9940,p8=0,i8=0;break}if(N[w6+u6>>0]=0,u6|0){m6=0;do N[w6+m6>>0]=N[F6+m6>>0]|0,m6=m6+1|0;while((m6|0)!=(u6|0))}if(N[F6+B6>>0]|0){Z[H>>2]=72,p8=0,i8=w6;break}if(M6>>>0>>0){Z[H>>2]=75,p8=0,i8=w6;break}if(m6=IN(W,O0,F6+G6|0,M6-G6|0,V)|0,Z[H>>2]=m6,m6|0){p8=Z[W>>2]|0,i8=w6;break}m6=Z[O0>>2]|0,q8=m6+1|0;do if((Z[W0>>2]|0)>>>0>>0){if(m8=q8<<1,l8=Z[W>>2]|0,w8=y6(l8,m8)|0,!w8){U2=l8;break}Z[W0>>2]=m8,Z[W>>2]=w8,K8=w8,t0=113}else K8=Z[W>>2]|0,t0=113;while(0);if((t0|0)==113)t0=0,Z[O0>>2]=q8,N[K8+m6>>0]=0,U2=K8;Z[H>>2]=wR(p0,w6,U2)|0,p8=U2,i8=w6}else p8=0,i8=0;while(0);if($6(i8),$6(p8),Z[H>>2]|0){A8=e0;break Z}else c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6}else c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6;else t0=188;break}case 105:{if(((N[V6+5>>0]|0)==84?(N[V6+6>>0]|0)==88:0)?(N[V6+7>>0]|0)==116:0)if(Z[t>>2]|0){Z[W>>2]=0,Z[E0>>2]=0,Z[H0>>2]=0;Y:do if(!(Z[H>>2]|0)){if(M6>>>0<5){Z[H>>2]=76,t8=0,_2=0,Y2=0,Q2=0;break}G6=0;while(!0){if(!(N[F6+G6>>0]|0)){F2=G6;break}if(B6=G6+1|0,B6>>>0>>0)G6=B6;else{F2=B6;break}}if(G6=F2+2|0,G6>>>0>=M6>>>0){Z[H>>2]=75,t8=0,_2=0,Y2=0,Q2=0;break}if(w6=F2+1|0,m6=B2(w6)|0,!m6){Z[H>>2]=9941,t8=0,_2=0,Y2=0,Q2=0;break}if(N[m6+F2>>0]=0,F2|0){q8=0;do N[m6+q8>>0]=N[F6+q8>>0]|0,q8=q8+1|0;while((q8|0)!=(F2|0))}if(q8=N[F6+w6>>0]|0,N[F6+G6>>0]|0){Z[H>>2]=72,t8=0,_2=m6,Y2=0,Q2=0;break}B6=F2+3|0;Q:do if(B6>>>0>>0){w8=B6,m8=0;while(!0){if(!(N[F6+w8>>0]|0)){w2=m8;break Q}if(l8=m8+1|0,w8=w8+1|0,w8>>>0>=M6>>>0){w2=l8;break}else m8=l8}}else w2=0;while(0);if(G6=w2+1|0,w6=G6+B6|0,w6>>>0>=M6>>>0){Z[H>>2]=75,t8=0,_2=m6,Y2=0,Q2=0;break}if(m8=B2(G6)|0,!m8){Z[H>>2]=9942,t8=0,_2=m6,Y2=0,Q2=0;break}if(N[m8+w2>>0]=0,w2|0){G6=0;do N[m8+G6>>0]=N[F6+(G6+B6)>>0]|0,G6=G6+1|0;while((G6|0)!=(w2|0))}G6=w6,B6=0;while(!0){if(!(N[F6+G6>>0]|0)){G2=B6;break}if(w8=B6+1|0,G6=G6+1|0,G6>>>0>=M6>>>0){G2=w8;break}else B6=w8}if(B6=G2+1|0,G6=B6+w6|0,M6>>>0<=G6>>>0){Z[H>>2]=75,t8=0,_2=m6,Y2=m8,Q2=0;break}if(w8=B2(B6)|0,!w8){Z[H>>2]=9943,t8=0,_2=m6,Y2=m8,Q2=0;break}if(N[w8+G2>>0]=0,G2|0){B6=0;do N[w8+B6>>0]=N[F6+(B6+w6)>>0]|0,B6=B6+1|0;while((B6|0)!=(G2|0))}if(M6>>>0>>0){Z[H>>2]=75,t8=0,_2=m6,Y2=m8,Q2=w8;break}B6=M6-G6|0;Q:do if(!(q8<<24>>24)){w6=B6+1|0;do if(w6)if(l8=w6<<1,K2=y6(0,l8)|0,K2)if(Z[E0>>2]=l8,Z[W>>2]=K2,Z[H0>>2]=w6,N[K2+B6>>0]=0,!B6){Z2=K2;break Q}else{o2=K2;break}else{Z[H>>2]=9944,t8=0,_2=m6,Y2=m8,Q2=w8;break Y}else Z[H0>>2]=0,N[0+B6>>0]=0,o2=0;while(0);w6=0;do N[o2+w6>>0]=N[F6+(w6+G6)>>0]|0,w6=w6+1|0;while((w6|0)!=(B6|0));Z2=o2}else{if(w6=IN(W,H0,F6+G6|0,B6,V)|0,Z[H>>2]=w6,w6|0){t8=Z[W>>2]|0,_2=m6,Y2=m8,Q2=w8;break Y}if(w6=Z[H0>>2]|0,K2=w6+1|0,(Z[E0>>2]|0)>>>0>>0){if(l8=K2<<1,u8=Z[W>>2]|0,L2=y6(u8,l8)|0,!L2){Z2=u8;break}Z[E0>>2]=l8,Z[W>>2]=L2,N2=L2}else N2=Z[W>>2]|0;Z[H0>>2]=K2,N[N2+w6>>0]=0,Z2=N2}while(0);Z[H>>2]=KF(q0,m6,m8,w8,Z2)|0,t8=Z2,_2=m6,Y2=m8,Q2=w8}else t8=0,_2=0,Y2=0,Q2=0;while(0);if($6(_2),$6(Y2),$6(Q2),$6(t8),Z[H>>2]|0){A8=e0;break Z}else c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6}else c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6;else t0=188;break}case 112:{if(((N[V6+5>>0]|0)==72?(N[V6+6>>0]|0)==89:0)?(N[V6+7>>0]|0)==115:0){if((M6|0)!=9){t0=184;break V}Z[o0>>2]=1,Z[h0>>2]=G[V6+9>>0]<<16|G[F6>>0]<<24|G[V6+10>>0]<<8|G[V6+11>>0],Z[C0>>2]=G[V6+13>>0]<<16|G[V6+12>>0]<<24|G[V6+14>>0]<<8|G[V6+15>>0],N[u0>>0]=N[V6+16>>0]|0,c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=N6}else t0=188;break}default:if(!(L6&32)){t0=187;break V}else t0=188}while(0);if((t0|0)==188)if(t0=0,!(Z[y0>>2]|0))c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=1;else{if(L6=n0+-1|0,F6=V+184+(L6<<2)|0,B6=V+196+(L6<<2)|0,L6=M6+12|0,G6=Z[B6>>2]|0,q8=G6+L6|0,q8>>>0>>0|q8>>>0>>0){u2=77,t0=193;break}if(w6=y6(Z[F6>>2]|0,q8)|0,!w6){u2=9929,t0=193;break}Z[F6>>2]=w6,Z[B6>>2]=q8,q8=w6+G6|0,G6=0;do N[q8+G6>>0]=N[V6+G6>>0]|0,G6=G6+1|0;while((G6|0)!=(L6|0));Z[H>>2]=0,c0=0,T6=n0,W6=e0,h6=Z6,s6=U6,p6=1}if((Z[A>>2]|p6|0)==0?(L6=G[A6>>0]<<16|G[V6>>0]<<24|G[S6>>0]<<8|G[H6>>0],G6=V6+(L6+8)|0,q8=G[G6+1>>0]<<16|G[G6>>0]<<24|G[G6+2>>0]<<8|G[G6+3>>0],(q8|0)!=(HQ(J6,L6+4|0)|0)):0){t0=197;break}if(c0<<24>>24){t0=200;break}if(V6=V6+((G[A6>>0]<<16|G[V6>>0]<<24|G[S6>>0]<<8|G[H6>>0])+12)|0,E6=V6-C+12|0,V6>>>0>>0|E6>>>0>Y>>>0){i0=W6,t0=4;break Z}else n0=T6,e0=W6,Z6=h6,U6=s6,N6=p6}switch(t0|0){case 6:{Z[H>>2]=63,A8=e0;break Z}case 9:{Z[H>>2]=35,A8=e0;break Z}case 19:{Z[H>>2]=9936,A8=e0;break Z}case 29:{Z[k>>2]=0,Z[H>>2]=9937,A8=e0;break Z}case 31:{Z[H>>2]=38,A8=e0;break Z}case 41:{Z[H>>2]=39,A8=e0;break Z}case 46:{Z[H>>2]=40,A8=e0;break Z}case 49:{Z[H>>2]=41,A8=e0;break Z}case 51:{Z[H>>2]=42,A8=e0;break Z}case 57:{Z[H>>2]=43,A8=e0;break Z}case 60:{Z[H>>2]=44,A8=e0;break Z}case 63:{Z[H>>2]=45,A8=e0;break Z}case 178:{Z[H>>2]=73,A8=e0;break Z}case 184:{Z[H>>2]=74,A8=e0;break Z}case 187:{Z[H>>2]=69,A8=e0;break Z}case 193:{Z[H>>2]=u2,A8=e0;break Z}case 197:{Z[H>>2]=57,A8=W6;break Z}case 200:{if(Z[H>>2]|0){A8=W6;break Z}switch(Z[z>>2]=0,N6=z+8|0,Z[N6>>2]=0,U6=z+4|0,Z[U6>>2]=0,Z6=V+52|0,n0=Z[Z6>>2]|0,E6=V+56|0,V6=Z[E6>>2]|0,L6=V+76|0,q8=Z[L6>>2]|0,Z[m>>2]|0){case 3:case 0:{Z1=1;break}case 2:{Z1=3;break}case 4:{Z1=2;break}case 6:{Z1=4;break}default:Z1=0}G6=((B((B(B(q8,V6)|0,Z1)|0)+7|0,n0)|0)>>>3)+V6|0;do if(G6)if(V6=G6<<1,n0=y6(0,V6)|0,n0)if(Z[N6>>2]=V6,Z[z>>2]=n0,n0=Z[H>>2]|0,Z[U6>>2]=G6,!n0){t0=211;break}else break;else{Z[H>>2]=9945;break}else Z[U6>>2]=0,t0=211;while(0);if((t0|0)==211?(G6=IN(z,U6,W6,s6,V)|0,Z[H>>2]=G6,(G6|0)==0):0){switch(G6=Z[E6>>2]|0,e0=Z[Z6>>2]|0,n0=Z[m>>2]|0,V6=Z[L6>>2]|0,n0|0){case 3:case 0:{I2=1;break}case 2:{I2=3;break}case 4:{I2=2;break}case 6:{I2=4;break}default:I2=0}if(q8=((B(B(B(e0,G6)|0,V6)|0,I2)|0)+7|0)>>>3,q8)if(G6=y6(0,q8<<1)|0,G6)if(x8(G6|0,0,q8|0)|0,e0=G6,!(Z[H>>2]|0))j2=Z[m>>2]|0,Q1=Z[L6>>2]|0,p2=e0,t0=221;else r2=e0,W1=q8;else x2=0,a2=0,E2=9946,t0=286;else j2=n0,Q1=V6,p2=0,t0=221;V:do if((t0|0)==221){switch(V6=p2,n0=Z[z>>2]|0,j2|0){case 3:case 0:{d2=1;break}case 2:{d2=3;break}case 4:{d2=2;break}case 6:{d2=4;break}default:d2=0}if(e0=B(d2,Q1)|0,G6=Z[Z6>>2]|0,M6=Z[E6>>2]|0,!e0)x2=p2,a2=q8,E2=31,t0=286;else{do if(!(Z[V+68>>2]|0)){if(e0>>>0>=8){b2=WZ(V6,n0,G6,M6,e0)|0;break}if(w6=B(G6,e0)|0,B6=w6+7&-8,(w6|0)==(B6|0)){b2=WZ(V6,n0,G6,M6,e0)|0;break}if(F6=WZ(n0,n0,G6,M6,e0)|0,F6|0){x2=p2,a2=q8,E2=F6,t0=286;break V}if((M6|0)==0|(w6|0)==0)b2=0;else{F6=0,K2=0,L2=0;while(!0){l8=F6,u8=K2,P2=0;while(!0){if(V1=1<<(u8&7^7),!(1<<(l8&7^7)&G[n0+(l8>>>3)>>0]))X2=V6+(u8>>>3)|0,$1=(V1^255)&G[X2>>0],P1=X2;else X2=V6+(u8>>>3)|0,$1=V1|G[X2>>0],P1=X2;if(N[P1>>0]=$1,P2=P2+1|0,(P2|0)==(w6|0))break;else l8=l8+1|0,u8=u8+1|0}if(L2=L2+1|0,(L2|0)==(M6|0)){b2=0;break}else F6=F6+B6|0,K2=K2+w6|0}}}else{yQ(K,P,O,L,F,G6,M6,e0);$:do if(e0>>>0>=8)if(w6=WZ(n0+(Z[L>>2]|0)|0,n0+(Z[O>>2]|0)|0,Z[K>>2]|0,Z[P>>2]|0,e0)|0,!w6)if(K2=WZ(n0+(Z[L+4>>2]|0)|0,n0+(Z[O+4>>2]|0)|0,Z[K+4>>2]|0,Z[P+4>>2]|0,e0)|0,!K2)if(B6=WZ(n0+(Z[L+8>>2]|0)|0,n0+(Z[O+8>>2]|0)|0,Z[K+8>>2]|0,Z[P+8>>2]|0,e0)|0,!B6)if(F6=WZ(n0+(Z[L+12>>2]|0)|0,n0+(Z[O+12>>2]|0)|0,Z[K+12>>2]|0,Z[P+12>>2]|0,e0)|0,!F6)if(L2=WZ(n0+(Z[L+16>>2]|0)|0,n0+(Z[O+16>>2]|0)|0,Z[K+16>>2]|0,Z[P+16>>2]|0,e0)|0,!L2){if(u8=WZ(n0+(Z[L+20>>2]|0)|0,n0+(Z[O+20>>2]|0)|0,Z[K+20>>2]|0,Z[P+20>>2]|0,e0)|0,u8|0){v2=0,T1=u8,_1=u8;break}if(u8=WZ(n0+(Z[L+24>>2]|0)|0,n0+(Z[O+24>>2]|0)|0,Z[K+24>>2]|0,Z[P+24>>2]|0,e0)|0,!u8)t0=255;else v2=0,T1=u8,_1=u8}else v2=0,T1=L2,_1=L2;else v2=0,T1=F6,_1=F6;else v2=0,T1=B6,_1=B6;else v2=0,T1=K2,_1=K2;else v2=0,T1=w6,_1=w6;else{w6=0;while(!0){if(K2=n0+(Z[L+(w6<<2)>>2]|0)|0,B6=Z[K+(w6<<2)>>2]|0,F6=Z[P+(w6<<2)>>2]|0,L2=WZ(K2,n0+(Z[O+(w6<<2)>>2]|0)|0,B6,F6,e0)|0,L2|0){v2=0,T1=L2,_1=L2;break $}if(L2=n0+(Z[F+(w6<<2)>>2]|0)|0,u8=B(B6,e0)|0,B6=u8+7&-8,!((F6|0)==0|(u8|0)==0)){l8=0,P2=0,w8=0;while(!0){m8=l8,m6=P2,X2=0;while(!0){if(V1=1<<(m6&7^7),!(1<<(m8&7^7)&G[K2+(m8>>>3)>>0]))l2=L2+(m6>>>3)|0,c1=(V1^255)&G[l2>>0],$7=l2;else l2=L2+(m6>>>3)|0,c1=V1|G[l2>>0],$7=l2;if(N[$7>>0]=c1,X2=X2+1|0,(X2|0)==(u8|0))break;else m8=m8+1|0,m6=m6+1|0}if(w8=w8+1|0,(w8|0)==(F6|0))break;else l8=l8+B6|0,P2=P2+u8|0}}if(w6=w6+1|0,w6>>>0>=7){t0=255;break}}}while(0);if((t0|0)==255){if(yQ(W,U,S,J,_,G6,M6,e0),e0>>>0>7){if(w6=e0>>>3,w6|0){u8=0;do{P2=Z[U+(u8<<2)>>2]|0;do if(P2|0){if(B6=Z[W+(u8<<2)>>2]|0,!B6)break;l8=Z[_+(u8<<2)>>2]|0,F6=Z[29952+(u8<<2)>>2]|0,w8=Z[29920+(u8<<2)>>2]|0,L2=Z[29888+(u8<<2)>>2]|0,K2=Z[29856+(u8<<2)>>2]|0,m6=0;do{m8=(B((B(m6,w8)|0)+F6|0,G6)|0)+L2|0,X2=B(m6,B6)|0,l2=0;do{V1=(B(l2+X2|0,w6)|0)+l8|0,D1=B(m8+(B(l2,K2)|0)|0,w6)|0,n2=0;do N[V6+(n2+D1)>>0]=N[n0+(V1+n2)>>0]|0,n2=n2+1|0;while((n2|0)!=(w6|0));l2=l2+1|0}while((l2|0)!=(B6|0));m6=m6+1|0}while((m6|0)!=(P2|0))}while(0);u8=u8+1|0}while((u8|0)!=7)}}else{u8=0;do{if(w6=Z[W+(u8<<2)>>2]|0,P2=Z[U+(u8<<2)>>2]|0,!((w6|0)==0|(P2|0)==0)){m6=Z[29952+(u8<<2)>>2]|0,B6=Z[29920+(u8<<2)>>2]|0,K2=Z[29888+(u8<<2)>>2]|0,l8=Z[29856+(u8<<2)>>2]|0,L2=Z[_+(u8<<2)>>2]<<3,F6=0;do{w8=B(F6,w6)|0,l2=(B((B(F6,B6)|0)+m6|0,G6)|0)+K2|0,m8=0;do{X2=0,n2=(B(m8+w8|0,e0)|0)+L2|0,V1=B(l2+(B(m8,l8)|0)|0,e0)|0;while(!0){if(D1=(G[n0+(n2>>>3)>>0]|0)>>>(n2&7^7)&1,D1|0)z1=V6+(V1>>>3)|0,N[z1>>0]=D1<<(V1&7^7)|G[z1>>0];if(X2=X2+1|0,(X2|0)==(e0|0))break;else n2=n2+1|0,V1=V1+1|0}m8=m8+1|0}while((m8|0)!=(w6|0));F6=F6+1|0}while((F6|0)!=(P2|0))}u8=u8+1|0}while((u8|0)!=7)}v2=1,T1=0,_1=0}if(v2)b2=T1;else{x2=p2,a2=q8,E2=_1,t0=286;break V}}while(0);x2=p2,a2=q8,E2=b2,t0=286}}while(0);if((t0|0)==286)Z[H>>2]=E2,r2=x2,W1=a2;Z[$>>2]=r2,Z[T>>2]=W1}Z[N6>>2]=0,Z[U6>>2]=0,$6(Z[z>>2]|0),A8=W6;break Z}}}while(0);if((t0|0)==4)Z[H>>2]=30,A8=i0;if($6(A8),Z[H>>2]|0){q=Q;return}if(A8=V+20|0,i0=V+72|0,!(Z[V+8>>2]|0)){if(t0=V+28|0,W6=Z[t0>>2]|0,W6|0)$6(W6);if(Z[A8>>2]=Z[i0>>2],Z[A8+4>>2]=Z[i0+4>>2],Z[A8+8>>2]=Z[i0+8>>2],Z[A8+12>>2]=Z[i0+12>>2],Z[A8+16>>2]=Z[i0+16>>2],Z[A8+20>>2]=Z[i0+20>>2],Z[A8+24>>2]=Z[i0+24>>2],Z[A8+28>>2]=Z[i0+28>>2],W6=B2(Z[k>>2]<<2)|0,Z[t0>>2]=W6,z=Z[k>>2]|0,!W6){N1=(z|0)==0?0:9935,Z[H>>2]=N1,q=Q;return}if(!(z&1073741823)){N1=0,Z[H>>2]=N1,q=Q;return}if(N[W6>>0]=N[Z[y>>2]>>0]|0,!(Z[k>>2]&1073741823)){N1=0,Z[H>>2]=N1,q=Q;return}W6=1;do N[(Z[t0>>2]|0)+W6>>0]=N[(Z[y>>2]|0)+W6>>0]|0,W6=W6+1|0;while(W6>>>0>2]<<2>>>0);N1=0,Z[H>>2]=N1,q=Q;return}if(N1=Z[A8>>2]|0,(N1|0)==(Z[i0>>2]|0)?(Z[V+24>>2]|0)==(Z[V+76>>2]|0):0){q=Q;return}switch(k=Z[$>>2]|0,N1|0){case 6:case 2:break;default:if((Z[V+24>>2]|0)!=8){Z[H>>2]=56,q=Q;return}}switch(W6=V+52|0,y=Z[W6>>2]|0,t0=V+56|0,z=Z[t0>>2]|0,W1=Z[V+24>>2]|0,N1|0){case 3:case 0:{l1=1;break}case 2:{l1=3;break}case 4:{l1=2;break}case 6:{l1=4;break}default:l1=0}if(N1=((B(B(B(z,y)|0,W1)|0,l1)|0)+7|0)>>>3,Z[T>>2]=N1,l1=B2(N1)|0,Z[$>>2]=l1,!l1)Z[H>>2]=9947,Z[T>>2]=0;else Z[H>>2]=IR(l1,k,A8,i0,Z[W6>>2]|0,Z[t0>>2]|0)|0;$6(k),q=Q;return}function WZ(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0;if(Q=(Y+7|0)>>>3,W=((B(Y,T)|0)+7|0)>>>3,!X)return U=0,U|0;T=W+1|0,Y=(W|0)==0,S=(Q|0)==0,J=(W|0)!=0,_=(Q|0)!=0,K=Q>>>0>>0,P=0,O=0;Z:while(!0){L=B(O,W)|0,F=B(O,T)|0,z=P,P=V+L|0,L=$+(F+1)|0;V:do switch(N[$+F>>0]|0){case 0:{if(!Y){H=0;do N[P+H>>0]=N[L+H>>0]|0,H=H+1|0;while((H|0)!=(W|0))}break}case 1:{if(!S){H=0;do N[P+H>>0]=N[L+H>>0]|0,H=H+1|0;while((H|0)!=(Q|0))}if(K){H=Q;do N[P+H>>0]=(G[P+(H-Q)>>0]|0)+(G[L+H>>0]|0),H=H+1|0;while((H|0)!=(W|0))}break}case 2:{if(!z){if(!J)break V;H=0;do N[P+H>>0]=N[L+H>>0]|0,H=H+1|0;while((H|0)!=(W|0))}else{if(!J)break V;H=0;do N[P+H>>0]=(G[z+H>>0]|0)+(G[L+H>>0]|0),H=H+1|0;while((H|0)!=(W|0))}break}case 3:{if(!z){if(_){H=0;do N[P+H>>0]=N[L+H>>0]|0,H=H+1|0;while((H|0)!=(Q|0))}if(!K)break V;H=Q;do N[P+H>>0]=((G[P+(H-Q)>>0]|0)>>>1&255)+(G[L+H>>0]|0),H=H+1|0;while((H|0)!=(W|0))}else{if(_){H=0;do N[P+H>>0]=((G[z+H>>0]|0)>>>1&255)+(G[L+H>>0]|0),H=H+1|0;while((H|0)!=(Q|0))}if(!K)break V;H=Q;do N[P+H>>0]=(((G[z+H>>0]|0)+(G[P+(H-Q)>>0]|0)|0)>>>1)+(G[L+H>>0]|0),H=H+1|0;while((H|0)!=(W|0))}break}case 4:{if(!z){if(_){H=0;do N[P+H>>0]=N[L+H>>0]|0,H=H+1|0;while((H|0)!=(Q|0))}if(!K)break V;H=Q;do N[P+H>>0]=(G[P+(H-Q)>>0]|0)+(G[L+H>>0]|0),H=H+1|0;while((H|0)!=(W|0))}else{if(_){H=0;do N[P+H>>0]=(G[z+H>>0]|0)+(G[L+H>>0]|0),H=H+1|0;while((H|0)!=(Q|0))}if(!K)break V;H=Q;do C=H-Q|0,A=N[P+C>>0]|0,y=N[z+H>>0]|0,k=N[z+C>>0]|0,C=y&255,m=k&255,I=C-m|0,u=(I|0)>-1?I:0-I|0,I=A&255,g=I-m|0,i=(g|0)>-1?g:0-g|0,g=C+I+(B(m,-2)|0)|0,m=(g|0)>-1?g:0-g|0,N[P+H>>0]=(((u|0)>(i|0)|(u|0)>(m|0)?(i|0)>(m|0)?k:y:A)&255)+(G[L+H>>0]|0),H=H+1|0;while((H|0)!=(W|0))}break}default:{U=36,t=47;break Z}}while(0);if(O=O+1|0,O>>>0>=X>>>0){U=0,t=47;break}}if((t|0)==47)return U|0;return 0}function yQ(V,$,T,X,Y,Q,W,U){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,W=W|0,U=U|0;var S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0;if(Z[V>>2]=(Q+7|0)>>>3,S=(W+7|0)>>>3,Z[$>>2]=S,J=(Z[V>>2]|0)==0?0:S,Z[$>>2]=J,!J)Z[V>>2]=0;if(J=V+4|0,Z[J>>2]=(Q+3|0)>>>3,_=$+4|0,Z[_>>2]=S,K=(Z[J>>2]|0)==0?0:S,Z[_>>2]=K,!K)Z[J>>2]=0;if(K=V+8|0,Z[K>>2]=(Q+3|0)>>>2,S=(W+3|0)>>>3,P=$+8|0,Z[P>>2]=S,O=(Z[K>>2]|0)==0?0:S,Z[P>>2]=O,!O)Z[K>>2]=0;if(O=V+12|0,Z[O>>2]=(Q+1|0)>>>2,S=(W+3|0)>>>2,L=$+12|0,Z[L>>2]=S,F=(Z[O>>2]|0)==0?0:S,Z[L>>2]=F,!F)Z[O>>2]=0;if(F=V+16|0,Z[F>>2]=(Q+1|0)>>>1,S=(W+1|0)>>>2,z=$+16|0,Z[z>>2]=S,H=(Z[F>>2]|0)==0?0:S,Z[z>>2]=H,!H)Z[F>>2]=0;if(H=V+20|0,Z[H>>2]=Q>>>1,S=(W+1|0)>>>1,C=$+20|0,Z[C>>2]=S,A=(Z[H>>2]|0)==0?0:S,Z[C>>2]=A,!A)Z[H>>2]=0;if(A=V+24|0,Z[A>>2]=Q,Q=W>>>1,W=$+24|0,Z[W>>2]=Q,S=(Z[A>>2]|0)==0?0:Q,Z[W>>2]=S,!S)Z[A>>2]=0;if(Z[Y>>2]=0,Z[X>>2]=0,Z[T>>2]=0,S=Z[V>>2]|0,V=Z[$>>2]|0,!S)y=0,k=0,m=0;else $=B(S,U)|0,S=($+7|0)>>>3,y=B(V,S+1|0)|0,k=S,m=$;if($=T+4|0,Z[$>>2]=y,y=X+4|0,Z[y>>2]=(B(V,k)|0)+(Z[X>>2]|0),k=Y+4|0,Z[k>>2]=(((B(m,V)|0)+7|0)>>>3)+(Z[Y>>2]|0),V=Z[J>>2]|0,J=Z[_>>2]|0,!V)I=0,u=0,g=0;else _=B(V,U)|0,V=(_+7|0)>>>3,I=B(J,V+1|0)|0,u=V,g=_;if(_=T+8|0,Z[_>>2]=I+(Z[$>>2]|0),$=X+8|0,Z[$>>2]=(B(J,u)|0)+(Z[y>>2]|0),y=Y+8|0,Z[y>>2]=(((B(g,J)|0)+7|0)>>>3)+(Z[k>>2]|0),k=Z[K>>2]|0,K=Z[P>>2]|0,!k)i=0,t=0,Y0=0;else P=B(k,U)|0,k=(P+7|0)>>>3,i=B(K,k+1|0)|0,t=k,Y0=P;if(P=T+12|0,Z[P>>2]=i+(Z[_>>2]|0),_=X+12|0,Z[_>>2]=(B(K,t)|0)+(Z[$>>2]|0),$=Y+12|0,Z[$>>2]=(((B(Y0,K)|0)+7|0)>>>3)+(Z[y>>2]|0),y=Z[O>>2]|0,O=Z[L>>2]|0,!y)X0=0,T0=0,Z0=0;else L=B(y,U)|0,y=(L+7|0)>>>3,X0=B(O,y+1|0)|0,T0=y,Z0=L;if(L=T+16|0,Z[L>>2]=X0+(Z[P>>2]|0),P=X+16|0,Z[P>>2]=(B(O,T0)|0)+(Z[_>>2]|0),_=Y+16|0,Z[_>>2]=(((B(Z0,O)|0)+7|0)>>>3)+(Z[$>>2]|0),$=Z[F>>2]|0,F=Z[z>>2]|0,!$)W0=0,O0=0,y0=0;else z=B($,U)|0,$=(z+7|0)>>>3,W0=B(F,$+1|0)|0,O0=$,y0=z;if(z=T+20|0,Z[z>>2]=W0+(Z[L>>2]|0),L=X+20|0,Z[L>>2]=(B(F,O0)|0)+(Z[P>>2]|0),P=Y+20|0,Z[P>>2]=(((B(y0,F)|0)+7|0)>>>3)+(Z[_>>2]|0),_=Z[H>>2]|0,H=Z[C>>2]|0,!_)E0=0,H0=0,D0=0;else C=B(_,U)|0,_=(C+7|0)>>>3,E0=B(H,_+1|0)|0,H0=_,D0=C;if(C=T+24|0,Z[C>>2]=E0+(Z[z>>2]|0),z=X+24|0,Z[z>>2]=(B(H,H0)|0)+(Z[L>>2]|0),L=Y+24|0,Z[L>>2]=(((B(D0,H)|0)+7|0)>>>3)+(Z[P>>2]|0),P=Z[C>>2]|0,C=Z[A>>2]|0,A=Z[W>>2]|0,!C){_0=0,F0=0,k0=0,m0=_0+P|0,B0=T+28|0,Z[B0>>2]=m0,g0=Z[z>>2]|0,o0=B(A,F0)|0,h0=o0+g0|0,C0=X+28|0,Z[C0>>2]=h0,u0=Z[L>>2]|0,p0=B(k0,A)|0,q0=p0+7|0,i0=q0>>>3,t0=i0+u0|0,E6=Y+28|0,Z[E6>>2]=t0;return}W=B(C,U)|0,U=(W+7|0)>>>3,_0=B(A,U+1|0)|0,F0=U,k0=W,m0=_0+P|0,B0=T+28|0,Z[B0>>2]=m0,g0=Z[z>>2]|0,o0=B(A,F0)|0,h0=o0+g0|0,C0=X+28|0,Z[C0>>2]=h0,u0=Z[L>>2]|0,p0=B(k0,A)|0,q0=p0+7|0,i0=q0>>>3,t0=i0+u0|0,E6=Y+28|0,Z[E6>>2]=t0;return}function OF(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0;if(W=q,q=q+224|0,U=W+212|0,S=W,!X)return J=100,q=W,J|0;if(_=Z[X>>2]|0,!_){if(K=Z[X+8>>2]|0,KY(K,0,2)|0,P=nF(K)|0,P>>>0>268435456)return J=333,q=W,J|0;rF(K),O=B2(P)|0,g8(O,1,P,K)|0,Z[S+8>>2]=1,Z[S+12>>2]=1,Z[S+4>>2]=0,Z[S+16>>2]=0,Z[S>>2]=0,K=S+20|0,L=S+24|0,F=S+28|0,z=S+32|0,H=S+56|0,C=S+52|0,A=S+88|0,Z[A>>2]=0,Z[A+4>>2]=0,Z[A+8>>2]=0,Z[A+12>>2]=0,Z[F>>2]=0,Z[F+4>>2]=0,Z[F+8>>2]=0,Z[F+12>>2]=0,Z[F+16>>2]=0,Z[F+20>>2]=0,Z[F+24>>2]=0,Z[F+28>>2]=0,Z[S+72>>2]=6,Z[S+76>>2]=8,Z[S+80>>2]=0,Z[S+84>>2]=0,Z[S+68>>2]=0,Z[S+60>>2]=0,Z[S+64>>2]=0,A=S+104|0,Z[S+168>>2]=0,y=S+184|0,Z[y>>2]=0,Z[y+4>>2]=0,Z[y+8>>2]=0,Z[y+12>>2]=0,Z[y+16>>2]=0,Z[y+20>>2]=0,k=A,m=k+48|0;do Z[k>>2]=0,k=k+4|0;while((k|0)<(m|0));if(N[A+48>>0]=0,A=S+208|0,Z[A>>2]=1,Z[K>>2]=Y,Z[L>>2]=Q,qR(S,V,U,O,P),P=Z[A>>2]|0,Z[$>>2]=Z[C>>2],Z[T>>2]=Z[H>>2],H=Z[F>>2]|0,H|0)$6(H);Z[z>>2]=0,xQ(S+52|0),$6(O),I=Z[X>>2]|0,u=P}else I=_,u=0;if((I|0)!=1)return J=u,q=W,J|0;Z[X+20>>2]=0,u=Z[X+12>>2]|0,I=Z[X+16>>2]|0,Z[S+8>>2]=1,Z[S+12>>2]=1,Z[S+4>>2]=0,Z[S+16>>2]=0,Z[S>>2]=0,X=S+20|0,_=S+24|0,P=S+28|0,O=S+32|0,z=S+56|0,H=S+52|0,F=S+88|0,Z[F>>2]=0,Z[F+4>>2]=0,Z[F+8>>2]=0,Z[F+12>>2]=0,Z[P>>2]=0,Z[P+4>>2]=0,Z[P+8>>2]=0,Z[P+12>>2]=0,Z[P+16>>2]=0,Z[P+20>>2]=0,Z[P+24>>2]=0,Z[P+28>>2]=0,Z[S+72>>2]=6,Z[S+76>>2]=8,Z[S+80>>2]=0,Z[S+84>>2]=0,Z[S+68>>2]=0,Z[S+60>>2]=0,Z[S+64>>2]=0,F=S+104|0,Z[S+168>>2]=0,C=S+184|0,Z[C>>2]=0,Z[C+4>>2]=0,Z[C+8>>2]=0,Z[C+12>>2]=0,Z[C+16>>2]=0,Z[C+20>>2]=0,k=F,m=k+48|0;do Z[k>>2]=0,k=k+4|0;while((k|0)<(m|0));if(N[F+48>>0]=0,F=S+208|0,Z[F>>2]=1,Z[X>>2]=Y,Z[_>>2]=Q,qR(S,V,U,u,I),I=Z[F>>2]|0,Z[$>>2]=Z[H>>2],Z[T>>2]=Z[z>>2],z=Z[P>>2]|0,z|0)$6(z);return Z[O>>2]=0,xQ(S+52|0),J=I,q=W,J|0}function GF(V,$,T,X){return V=V|0,$=$|0,T=T|0,X=X|0,OF(V,$,T,X,6,8)|0}function MF(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0;if(Q=V+4|0,W=Z[Q>>2]|0,U=V+104|0,W>>>0<(Z[U>>2]|0)>>>0)Z[Q>>2]=W+1,S=G[W>>0]|0;else S=W7(V)|0;W=S,S=0;Z:while(!0){switch(W|0){case 46:{J=10;break Z}case 48:break;default:{_=0,K=0,P=W,O=S,L=0;break Z}}if(F=Z[Q>>2]|0,F>>>0<(Z[U>>2]|0)>>>0)Z[Q>>2]=F+1,z=G[F>>0]|0;else z=W7(V)|0;W=z,S=1}if((J|0)==10){if(z=Z[Q>>2]|0,z>>>0<(Z[U>>2]|0)>>>0)Z[Q>>2]=z+1,H=G[z>>0]|0;else H=W7(V)|0;if((H|0)==48){z=0,W=0;while(!0){if(F=Z[Q>>2]|0,F>>>0<(Z[U>>2]|0)>>>0)Z[Q>>2]=F+1,C=G[F>>0]|0;else C=W7(V)|0;if(F=V2(z|0,W|0,-1,-1)|0,A=x()|0,(C|0)==48)z=F,W=A;else{_=F,K=A,P=C,O=1,L=1;break}}}else _=0,K=0,P=H,O=S,L=1}S=0,H=0,C=_,_=K,K=P,P=O,O=L,L=0,y=1,W=0,k=0;while(!0){if(z=K+-48|0,A=K|32,z>>>0>=10){if(F=(K|0)==46,!(F|(A+-97|0)>>>0<6)){m=K;break}if(F)if(!O)I=H,u=S,g=H,i=S,t=P,Y0=1,X0=L,T0=y,Z0=W,W0=k;else{m=46;break}else J=24}else J=24;if((J|0)==24){J=0,F=(K|0)>57?A+-87|0:z;do if(!((S|0)<0|(S|0)==0&H>>>0<8))if((S|0)<0|(S|0)==0&H>>>0<14){O0=y*0.0625,y0=L,E0=O0,H0=W,D0=k+O0*+(F|0);break}else{z=(L|0)!=0|(F|0)==0,y0=z?L:1,E0=y,H0=W,D0=z?k:k+y*0.5;break}else y0=L,E0=y,H0=F+(W<<4)|0,D0=k;while(0);F=V2(H|0,S|0,1,0)|0,I=C,u=_,g=F,i=x()|0,t=1,Y0=O,X0=y0,T0=E0,Z0=H0,W0=D0}if(F=Z[Q>>2]|0,F>>>0<(Z[U>>2]|0)>>>0)Z[Q>>2]=F+1,_0=G[F>>0]|0;else _0=W7(V)|0;S=i,H=g,C=I,_=u,K=_0,P=t,O=Y0,L=X0,y=T0,W=Z0,k=W0}do if(!P){if(Z0=(Z[U>>2]|0)==0,!Z0)Z[Q>>2]=(Z[Q>>2]|0)+-1;if(Y){if(!Z0?(Z[Q>>2]=(Z[Q>>2]|0)+-1,!((O|0)==0|Z0)):0)Z[Q>>2]=(Z[Q>>2]|0)+-1}else N4(V,0,0);F0=+(X|0)*0}else{if(Z0=(O|0)==0,X0=Z0?H:C,L=Z0?S:_,(S|0)<0|(S|0)==0&H>>>0<8){Z0=H,Y0=S,t=W;while(!0)if(_0=t<<4,K=Z0,Z0=V2(Z0|0,Y0|0,1,0)|0,u=Y0,Y0=x()|0,!((u|0)<0|(u|0)==0&K>>>0<7)){k0=_0;break}else t=_0}else k0=W;if((m|32|0)==112)if(t=vR(V,Y)|0,Y0=x()|0,(t|0)==0&(Y0|0)==-2147483648){if(!Y){N4(V,0,0),F0=0;break}if(!(Z[U>>2]|0))m0=0,B0=0;else Z[Q>>2]=(Z[Q>>2]|0)+-1,m0=0,B0=0}else m0=t,B0=Y0;else if(!(Z[U>>2]|0))m0=0,B0=0;else Z[Q>>2]=(Z[Q>>2]|0)+-1,m0=0,B0=0;if(Y0=v1(X0|0,L|0,2)|0,t=V2(Y0|0,x()|0,-32,-1)|0,Y0=V2(t|0,x()|0,m0|0,B0|0)|0,t=x()|0,!k0){F0=+(X|0)*0;break}if(Z0=0-T|0,_0=((Z0|0)<0)<<31>>31,(t|0)>(_0|0)|(t|0)==(_0|0)&Y0>>>0>Z0>>>0){Z[(y5()|0)>>2]=34,F0=+(X|0)*179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000*179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;break}if(Z0=T+-106|0,_0=((Z0|0)<0)<<31>>31,(t|0)<(_0|0)|(t|0)==(_0|0)&Y0>>>0>>0){Z[(y5()|0)>>2]=34,F0=+(X|0)*0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014*0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014;break}if((k0|0)>-1){Z0=Y0,_0=t,K=k0,W0=k;while(!0)if(u=!(W0>=0.5),I=K<<1|(u^1)&1,T0=W0+(u?W0:W0+-1),u=V2(Z0|0,_0|0,-1,-1)|0,g=x()|0,(I|0)>-1)Z0=u,_0=g,K=I,W0=T0;else{g0=u,o0=g,h0=I,C0=T0;break}}else g0=Y0,o0=t,h0=k0,C0=k;if(K=(($|0)<0)<<31>>31,_0=L1(32,0,T|0,((T|0)<0)<<31>>31|0)|0,Z0=V2(_0|0,x()|0,g0|0,o0|0)|0,_0=x()|0,(_0|0)<(K|0)|(_0|0)==(K|0)&Z0>>>0<$>>>0)if((Z0|0)>0)u0=Z0,J=65;else p0=0,q0=84,J=67;else u0=$,J=65;if((J|0)==65)if((u0|0)<53)p0=u0,q0=84-u0|0,J=67;else i0=0,t0=u0,E6=+(X|0);if((J|0)==67)W0=+(X|0),i0=+wS(+ZY(1,q0),W0),t0=p0,E6=W0;if(Z0=(h0&1|0)==0&(C0!=0&(t0|0)<32),W0=(Z0?0:C0)*E6+(i0+E6*+((h0+(Z0&1)|0)>>>0))-i0,W0==0)Z[(y5()|0)>>2]=34;F0=+qS(W0,g0)}while(0);return+F0}function LF(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0;var W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0,j8=0,C6=0,o6=0,u6=0,p8=0,i8=0,q8=0,m8=0,l8=0,w8=0,U2=0,K8=0,A8=0,t8=0,_2=0,Y2=0,Q2=0,F2=0,w2=0,G2=0,K2=0,Z2=0,o2=0,u8=0,L2=0,N2=0,u2=0,Z1=0,I2=0,j2=0,Q1=0,p2=0,r2=0,W1=0,x2=0,a2=0;W=q,q=q+512|0,U=W,S=X+T|0,J=0-S|0,_=V+4|0,K=V+104|0,P=$,$=0;Z:while(!0){switch(P|0){case 46:{O=7;break Z}case 48:break;default:{L=0,F=0,z=P,H=$,C=0;break Z}}if(A=Z[_>>2]|0,A>>>0<(Z[K>>2]|0)>>>0)Z[_>>2]=A+1,y=G[A>>0]|0;else y=W7(V)|0;P=y,$=1}if((O|0)==7){if(y=Z[_>>2]|0,y>>>0<(Z[K>>2]|0)>>>0)Z[_>>2]=y+1,k=G[y>>0]|0;else k=W7(V)|0;if((k|0)==48){y=0,P=0;while(!0){if(A=V2(y|0,P|0,-1,-1)|0,m=x()|0,I=Z[_>>2]|0,I>>>0<(Z[K>>2]|0)>>>0)Z[_>>2]=I+1,u=G[I>>0]|0;else u=W7(V)|0;if((u|0)==48)y=A,P=m;else{L=A,F=m,z=u,H=1,C=1;break}}}else L=0,F=0,z=k,H=$,C=1}Z[U>>2]=0,$=z+-48|0,k=(z|0)==46;Z:do if(k|$>>>0<10){u=U+496|0,P=L,y=F,m=0,A=0,I=z,g=k,i=H,t=C,Y0=0,X0=0,T0=0,Z0=$;V:while(!0){do if(g)if(!t)W0=m,O0=A,y0=m,E0=A,H0=i,D0=1,_0=Y0,F0=X0,k0=T0;else break V;else{if(m0=V2(m|0,A|0,1,0)|0,B0=x()|0,g0=(I|0)!=48,(X0|0)>=125){if(!g0){W0=P,O0=y,y0=m0,E0=B0,H0=i,D0=t,_0=Y0,F0=X0,k0=T0;break}Z[u>>2]=Z[u>>2]|1,W0=P,O0=y,y0=m0,E0=B0,H0=i,D0=t,_0=Y0,F0=X0,k0=T0;break}if(o0=U+(X0<<2)|0,!Y0)h0=Z0;else h0=I+-48+((Z[o0>>2]|0)*10|0)|0;Z[o0>>2]=h0,o0=Y0+1|0,C0=(o0|0)==9,W0=P,O0=y,y0=m0,E0=B0,H0=1,D0=t,_0=C0?0:o0,F0=X0+(C0&1)|0,k0=g0?m0:T0}while(0);if(m0=Z[_>>2]|0,m0>>>0<(Z[K>>2]|0)>>>0)Z[_>>2]=m0+1,u0=G[m0>>0]|0;else u0=W7(V)|0;if(Z0=u0+-48|0,g=(u0|0)==46,!(g|Z0>>>0<10)){p0=y0,q0=W0,i0=E0,t0=O0,E6=u0,V6=H0,n0=D0,e0=_0,Z6=F0,U6=k0,O=31;break Z}else P=W0,y=O0,m=y0,A=E0,I=u0,i=H0,t=D0,Y0=_0,X0=F0,T0=k0}N6=m,A6=A,S6=P,H6=y,M6=Y0,F6=X0,J6=T0,L6=(i|0)!=0,O=39}else p0=0,q0=L,i0=0,t0=F,E6=z,V6=H,n0=C,e0=0,Z6=0,U6=0,O=31;while(0);do if((O|0)==31){if(C=(n0|0)==0,H=C?p0:q0,z=C?i0:t0,C=(V6|0)!=0,!(C&(E6|32|0)==101))if((E6|0)>-1){N6=p0,A6=i0,S6=H,H6=z,M6=e0,F6=Z6,J6=U6,L6=C,O=39;break}else{c0=p0,T6=i0,W6=H,h6=z,s6=e0,p6=Z6,G6=U6,w6=C,O=41;break}if(C=vR(V,Q)|0,F=x()|0,(C|0)==0&(F|0)==-2147483648){if(!Q){N4(V,0,0),B6=0;break}if(!(Z[K>>2]|0))i6=0,H8=0;else Z[_>>2]=(Z[_>>2]|0)+-1,i6=0,H8=0}else i6=C,H8=F;F=V2(i6|0,H8|0,H|0,z|0)|0,m6=F,_8=p0,v8=x()|0,Y8=i0,T8=e0,C8=Z6,j8=U6,O=43}while(0);if((O|0)==39)if(Z[K>>2]|0)if(Z[_>>2]=(Z[_>>2]|0)+-1,L6)m6=S6,_8=N6,v8=H6,Y8=A6,T8=M6,C8=F6,j8=J6,O=43;else O=42;else c0=N6,T6=A6,W6=S6,h6=H6,s6=M6,p6=F6,G6=J6,w6=L6,O=41;if((O|0)==41)if(w6)m6=W6,_8=c0,v8=h6,Y8=T6,T8=s6,C8=p6,j8=G6,O=43;else O=42;do if((O|0)==42)Z[(y5()|0)>>2]=22,N4(V,0,0),B6=0;else if((O|0)==43){if(G6=Z[U>>2]|0,!G6){B6=+(Y|0)*0;break}if(((Y8|0)<0|(Y8|0)==0&_8>>>0<10)&((m6|0)==(_8|0)&(v8|0)==(Y8|0))?(T|0)>30|(G6>>>T|0)==0:0){B6=+(Y|0)*+(G6>>>0);break}if(G6=(X|0)/-2|0,p6=((G6|0)<0)<<31>>31,(v8|0)>(p6|0)|(v8|0)==(p6|0)&m6>>>0>G6>>>0){Z[(y5()|0)>>2]=34,B6=+(Y|0)*179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000*179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;break}if(G6=X+-106|0,p6=((G6|0)<0)<<31>>31,(v8|0)<(p6|0)|(v8|0)==(p6|0)&m6>>>0>>0){Z[(y5()|0)>>2]=34,B6=+(Y|0)*0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014*0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014;break}if(!T8)C6=C8;else{if((T8|0)<9){G6=U+(C8<<2)|0,p6=T8,s6=Z[G6>>2]|0;while(!0)if(s6=s6*10|0,(p6|0)>=8)break;else p6=p6+1|0;Z[G6>>2]=s6}C6=C8+1|0}if((j8|0)<9?(j8|0)<=(m6|0)&(m6|0)<18:0){if((m6|0)==9){B6=+(Y|0)*+((Z[U>>2]|0)>>>0);break}if((m6|0)<9){B6=+(Y|0)*+((Z[U>>2]|0)>>>0)/+(Z[34448+(8-m6<<2)>>2]|0);break}if(p6=T+27+(B(m6,-3)|0)|0,i=Z[U>>2]|0,(p6|0)>30|(i>>>p6|0)==0){B6=+(Y|0)*+(i>>>0)*+(Z[34448+(m6+-10<<2)>>2]|0);break}}if(i=(m6|0)%9|0,!i)o6=0,u6=m6,p8=C6;else{if(p6=(m6|0)>-1?i:i+9|0,i=Z[34448+(8-p6<<2)>>2]|0,C6){T0=1e9/(i|0)|0,X0=0,Y0=0,y=0,P=m6;do A=U+(y<<2)|0,m=Z[A>>2]|0,T6=(m>>>0)/(i>>>0)|0,h6=m-(B(T6,i)|0)|0,m=T6+Y0|0,Z[A>>2]=m,Y0=B(T0,h6)|0,h6=(y|0)==(X0|0)&(m|0)==0,P=h6?P+-9|0:P,X0=h6?X0+1&127:X0,y=y+1|0;while((y|0)!=(C6|0));if(!Y0)i8=X0,q8=P,m8=C6;else Z[U+(C6<<2)>>2]=Y0,i8=X0,q8=P,m8=C6+1|0}else i8=0,q8=m6,m8=0;o6=i8,u6=9-p6+q8|0,p8=m8}y=o6,T0=0,i=u6,s6=p8;Z:while(!0){G6=(i|0)<18,h6=(i|0)==18,m=U+(y<<2)|0,l8=T0,w8=s6;while(!0){if(!G6){if(!h6){U2=i;break Z}if((Z[m>>2]|0)>>>0>=9007199){U2=18;break Z}}A=0,T6=w8+127|0,K8=w8;while(!0){if(c0=T6&127,W6=U+(c0<<2)|0,w6=v1(Z[W6>>2]|0,0,29)|0,L6=V2(w6|0,x()|0,A|0,0)|0,w6=x()|0,w6>>>0>0|(w6|0)==0&L6>>>0>1e9)J6=PY(L6|0,w6|0,1e9,0)|0,F6=v5(J6|0,x()|0,1e9,0)|0,M6=L1(L6|0,w6|0,F6|0,x()|0)|0,x()|0,A8=M6,t8=J6;else A8=L6,t8=0;if(Z[W6>>2]=A8,W6=(c0|0)==(y|0),_2=(c0|0)!=(K8+127&127|0)|W6?K8:(A8|0)==0?c0:K8,W6)break;else A=t8,T6=c0+-1|0,K8=_2}if(Y2=l8+-29|0,!t8)l8=Y2,w8=K8;else break}if(m=y+127&127,h6=_2+127&127,G6=U+((_2+126&127)<<2)|0,(m|0)==(_2|0))Z[G6>>2]=Z[G6>>2]|Z[U+(h6<<2)>>2],Q2=h6;else Q2=K8;Z[U+(m<<2)>>2]=t8,y=m,T0=Y2,i=i+9|0,s6=Q2}s6=y,i=l8,T0=U2,p6=w8;Z:while(!0){P=p6+1&127,X0=U+((p6+127&127)<<2)|0,Y0=s6,m=i,h6=T0;while(!0){G6=(h6|0)==18,T6=(h6|0)>27?9:1,F2=Y0,w2=m;while(!0){A=0;while(!0){if(c0=A+F2&127,(c0|0)==(p6|0)){O=92;break}if(W6=Z[U+(c0<<2)>>2]|0,c0=Z[35132+(A<<2)>>2]|0,W6>>>0>>0){O=92;break}if(W6>>>0>c0>>>0)break;if((A+1|0)>>>0<2)A=1;else{O=92;break}}if((O|0)==92?(O=0,G6):0)break Z;if(G2=T6+w2|0,(F2|0)==(p6|0))F2=p6,w2=G2;else break}G6=(1<>>T6,K2=F2,Z2=0,c0=F2,o2=h6;do W6=U+(c0<<2)|0,L6=Z[W6>>2]|0,J6=(L6>>>T6)+Z2|0,Z[W6>>2]=J6,Z2=B(L6&G6,A)|0,L6=(c0|0)==(K2|0)&(J6|0)==0,o2=L6?o2+-9|0:o2,K2=L6?K2+1&127:K2,c0=c0+1&127;while((c0|0)!=(p6|0));if(Z2|0){if((P|0)!=(K2|0))break;Z[X0>>2]=Z[X0>>2]|1}Y0=K2,m=G2,h6=o2}Z[U+(p6<<2)>>2]=Z2,s6=K2,i=G2,T0=o2,p6=P}T0=0,u8=0,i=p6;while(!0){if(s6=T0+F2&127,y=i+1&127,(s6|0)==(i|0))Z[U+(y+-1<<2)>>2]=0,L2=y;else L2=i;if(u8=u8*1e9+ +((Z[U+(s6<<2)>>2]|0)>>>0),T0=T0+1|0,(T0|0)==2)break;else i=L2}if(N2=+(Y|0),u2=u8*N2,i=w2+53|0,T0=i-X|0,p6=(T0|0)<(T|0),s6=p6?(T0|0)>0?T0:0:T,(s6|0)<53)Z1=+wS(+ZY(1,105-s6|0),u2),I2=+IS(u2,+ZY(1,53-s6|0)),j2=Z1,Q1=I2,p2=Z1+(u2-I2);else j2=0,Q1=0,p2=u2;if(y=F2+2&127,(y|0)!=(L2|0)){h6=Z[U+(y<<2)>>2]|0;do if(h6>>>0>=500000000){if((h6|0)!=500000000){r2=N2*0.75+Q1;break}if((F2+3&127|0)==(L2|0)){r2=N2*0.5+Q1;break}else{r2=N2*0.75+Q1;break}}else{if((h6|0)==0?(F2+3&127|0)==(L2|0):0){r2=Q1;break}r2=N2*0.25+Q1}while(0);if((53-s6|0)>1?+IS(r2,1)==0:0)W1=r2+1;else W1=r2}else W1=Q1;N2=p2+W1-j2;do if((i&2147483647|0)>(-2-S|0)){if(h6=!(+a0(+N2)>=9007199254740992),y=w2+((h6^1)&1)|0,u8=h6?N2:N2*0.5,(y+50|0)<=(J|0)?!(W1!=0&(p6&((s6|0)!=(T0|0)|h6))):0){x2=y,a2=u8;break}Z[(y5()|0)>>2]=34,x2=y,a2=u8}else x2=w2,a2=N2;while(0);B6=+qS(a2,x2)}while(0);return q=W,+B6}function vR(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0;if(T=V+4|0,X=Z[T>>2]|0,Y=V+104|0,X>>>0<(Z[Y>>2]|0)>>>0)Z[T>>2]=X+1,Q=G[X>>0]|0;else Q=W7(V)|0;switch(Q|0){case 43:case 45:{if(X=(Q|0)==45&1,W=Z[T>>2]|0,W>>>0<(Z[Y>>2]|0)>>>0)Z[T>>2]=W+1,U=G[W>>0]|0;else U=W7(V)|0;if(W=U+-48|0,($|0)!=0&W>>>0>9)if(!(Z[Y>>2]|0))S=-2147483648,J=0;else Z[T>>2]=(Z[T>>2]|0)+-1,_=14;else K=U,P=X,O=W,_=12;break}default:K=Q,P=0,O=Q+-48|0,_=12}if((_|0)==12)if(O>>>0>9)_=14;else{O=K,K=0;while(!0){if(K=O+-48+(K*10|0)|0,Q=Z[T>>2]|0,Q>>>0<(Z[Y>>2]|0)>>>0)Z[T>>2]=Q+1,L=G[Q>>0]|0;else L=W7(V)|0;if(F=L+-48|0,!(F>>>0<10&(K|0)<214748364))break;else O=L}if(O=((K|0)<0)<<31>>31,F>>>0<10){F=K,Q=O,W=L;while(!0){if(L=v5(F|0,Q|0,10,0)|0,X=x()|0,U=V2(W|0,((W|0)<0)<<31>>31|0,-48,-1)|0,F=V2(U|0,x()|0,L|0,X|0)|0,Q=x()|0,X=Z[T>>2]|0,X>>>0<(Z[Y>>2]|0)>>>0)Z[T>>2]=X+1,z=G[X>>0]|0;else z=W7(V)|0;if(H=z+-48|0,!(H>>>0<10&((Q|0)<21474836|(Q|0)==21474836&F>>>0<2061584302)))break;else W=z}if(H>>>0<10){do if(H=Z[T>>2]|0,H>>>0<(Z[Y>>2]|0)>>>0)Z[T>>2]=H+1,C=G[H>>0]|0;else C=W7(V)|0;while((C+-48|0)>>>0<10);A=F,y=Q}else A=F,y=Q}else A=K,y=O;if(Z[Y>>2]|0)Z[T>>2]=(Z[T>>2]|0)+-1;O=(P|0)==0,P=L1(0,0,A|0,y|0)|0,K=x()|0,S=O?y:K,J=O?A:P}if((_|0)==14)if(!(Z[Y>>2]|0))S=-2147483648,J=0;else Z[T>>2]=(Z[T>>2]|0)+-1,S=-2147483648,J=0;return h(S|0),J|0}function DF(V,$){return V=V|0,$=$|0,+ +zD(V,$,1)}function zF(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;T=q,q=q+32|0,X=T,Y=N[$>>0]|0;Z:do if(Y<<24>>24!=0?(N[$+1>>0]|0)!=0:0){if(x8(X|0,0,32)|0,Q=N[$>>0]|0,Q<<24>>24){W=Q,Q=$;do U=W&255,S=X+(U>>>5<<2)|0,Z[S>>2]=Z[S>>2]|1<<(U&31),Q=Q+1|0,W=N[Q>>0]|0;while(W<<24>>24!=0)}if(W=N[V>>0]|0,!(W<<24>>24))J=V;else{Q=W,W=V;while(!0){if(U=Q&255,Z[X+(U>>>5<<2)>>2]&1<<(U&31)|0){J=W;break Z}if(U=W+1|0,Q=N[U>>0]|0,!(Q<<24>>24)){J=U;break}else W=U}}}else _=3;while(0);if((_|0)==3)J=tS(V,Y<<24>>24)|0;return q=T,J-V|0}function FF(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0;Y=q,q=q+16|0,Q=Y,W=(X|0)==0?3144864:X,X=Z[W>>2]|0;Z:do if(!$)if(!X)U=0;else S=19;else if(J=(V|0)==0?Q:V,!T)U=-2;else{if(!X){if(_=N[$>>0]|0,_<<24>>24>-1){Z[J>>2]=_&255,U=_<<24>>24!=0&1;break}if(_=(Z[Z[(EF()|0)+188>>2]>>2]|0)==0,K=N[$>>0]|0,_){Z[J>>2]=K<<24>>24&57343,U=1;break}if(_=(K&255)+-194|0,_>>>0>50){S=19;break}if(K=Z[33488+(_<<2)>>2]|0,_=T+-1|0,!_)P=K;else O=K,L=_,F=$+1|0,S=11}else O=X,L=T,F=$,S=11;V:do if((S|0)==11){if(_=G[F>>0]|0,K=_>>>3,(K+-16|K+(O>>26))>>>0>7){S=19;break Z}if(K=_+-128|O<<6,_=L+-1|0,(K|0)<0){z=_,H=K,C=F;while(!0){if(C=C+1|0,!z){P=H;break V}if(A=N[C>>0]|0,(A&-64)<<24>>24!=-128){S=19;break Z}if(y=(A&255)+-128|H<<6,A=z+-1|0,(y|0)>=0){k=A,m=y;break}else z=A,H=y}}else k=_,m=K;Z[W>>2]=0,Z[J>>2]=m,U=T-k|0;break Z}while(0);Z[W>>2]=P,U=-2}while(0);if((S|0)==19)Z[W>>2]=0,Z[(y5()|0)>>2]=84,U=-1;return q=Y,U|0}function EF(){return WQ()|0}function BF(V){V=V|0;var $=0;if(!V)$=1;else $=(Z[V>>2]|0)==0&1;return $|0}function NZ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0;if(T=q,q=q+48|0,X=T+32|0,Y=T+16|0,Q=T,o5(103250,N[$>>0]|0)|0)if(W=CF($)|0,Z[Q>>2]=V,Z[Q+4>>2]=W|32768,Z[Q+8>>2]=438,V=NV(h2(5,Q|0)|0)|0,(V|0)>=0){if(W&524288|0)Z[Y>>2]=V,Z[Y+4>>2]=2,Z[Y+8>>2]=1,j6(221,Y|0)|0;if(Y=jR(V,$)|0,!Y)Z[X>>2]=V,n6(6,X|0)|0,U=0;else U=Y}else U=0;else Z[(y5()|0)>>2]=22,U=0;return q=T,U|0}function CF(V){V=V|0;var $=0,T=0,X=0,Y=0;return $=(o5(V,43)|0)==0,T=N[V>>0]|0,X=$?T<<24>>24!=114&1:2,$=(o5(V,120)|0)==0,Y=$?X:X|128,X=(o5(V,101)|0)==0,V=X?Y:Y|524288,Y=T<<24>>24==114?V:V|64,V=T<<24>>24==119?Y|512:Y,(T<<24>>24==97?V|1024:V)|0}function jR(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if(T=q,q=q+64|0,X=T+40|0,Y=T+24|0,Q=T+16|0,W=T,U=T+56|0,o5(103250,N[$>>0]|0)|0)if(S=I3(1176)|0,!S)J=0;else{if(x8(S|0,0,144)|0,!(o5($,43)|0))Z[S>>2]=(N[$>>0]|0)==114?8:4;if(o5($,101)|0)Z[W>>2]=V,Z[W+4>>2]=2,Z[W+8>>2]=1,j6(221,W|0)|0;if((N[$>>0]|0)==97){if(Z[Q>>2]=V,Z[Q+4>>2]=3,$=j6(221,Q|0)|0,!($&1024))Z[Y>>2]=V,Z[Y+4>>2]=4,Z[Y+8>>2]=$|1024,j6(221,Y|0)|0;Y=Z[S>>2]|128,Z[S>>2]=Y,_=Y}else _=Z[S>>2]|0;if(Z[S+60>>2]=V,Z[S+44>>2]=S+152,Z[S+48>>2]=1024,Y=S+75|0,N[Y>>0]=-1,(_&8|0)==0?(Z[X>>2]=V,Z[X+4>>2]=21523,Z[X+8>>2]=U,(b6(54,X|0)|0)==0):0)N[Y>>0]=10;if(Z[S+32>>2]=5,Z[S+36>>2]=4,Z[S+40>>2]=1,Z[S+12>>2]=1,!(Z[786201]|0))Z[S+76>>2]=-1;AF(S)|0,J=S}else Z[(y5()|0)>>2]=22,J=0;return q=T,J|0}function AF(V){V=V|0;var $=0,T=0;if($=vN()|0,Z[V+56>>2]=Z[$>>2],T=Z[$>>2]|0,T|0)Z[T+52>>2]=V;return Z[$>>2]=V,jN(),V|0}function vN(){return S0(3144868),3144876}function jN(){a1(3144868);return}function m9(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0;if((Z[V+76>>2]|0)>-1)$=v3(V)|0;else $=0;if(HF(V),T=(Z[V>>2]&1|0)!=0,!T){if(X=vN()|0,Y=Z[V+52>>2]|0,Q=V+56|0,Y|0)Z[Y+56>>2]=Z[Q>>2];if(W=Z[Q>>2]|0,W|0)Z[W+52>>2]=Y;if((Z[X>>2]|0)==(V|0))Z[X>>2]=W;jN()}if(W=r7(V)|0,X=PV[Z[V+12>>2]&255](V)|0|W,W=Z[V+96>>2]|0,W|0)TZ(W);if(T){if($|0)Y3(V)}else TZ(V);return X|0}function HF(V){V=V|0;var $=0,T=0,X=0;if(Z[V+68>>2]|0){if($=Z[V+132>>2]|0,T=V+128|0,$|0)Z[$+128>>2]=Z[T>>2];if(V=Z[T>>2]|0,!V)X=(xF()|0)+232|0;else X=V+132|0;Z[X>>2]=$}return}function r7(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0;do if(V){if((Z[V+76>>2]|0)<=-1){$=kN(V)|0;break}if(T=(v3(V)|0)==0,X=kN(V)|0,T)$=X;else Y3(V),$=X}else{if(!(Z[8721]|0))Y=0;else Y=r7(Z[8721]|0)|0;if(X=Z[(vN()|0)>>2]|0,!X)Q=Y;else{T=X,X=Y;while(!0){if((Z[T+76>>2]|0)>-1)W=v3(T)|0;else W=0;if((Z[T+20>>2]|0)>>>0>(Z[T+28>>2]|0)>>>0)U=kN(T)|0|X;else U=X;if(W|0)Y3(T);if(T=Z[T+56>>2]|0,!T){Q=U;break}else X=U}}jN(),$=Q}while(0);return $|0}function kN(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if($=V+20|0,T=V+28|0,(Z[$>>2]|0)>>>0>(Z[T>>2]|0)>>>0?(y8[Z[V+36>>2]&7](V,0,0)|0,(Z[$>>2]|0)==0):0)X=-1;else{if(Y=V+4|0,Q=Z[Y>>2]|0,W=V+8|0,U=Z[W>>2]|0,Q>>>0>>0)S=Q-U|0,r6[Z[V+40>>2]&3](V,S,((S|0)<0)<<31>>31,1)|0,x()|0;Z[V+16>>2]=0,Z[T>>2]=0,Z[$>>2]=0,Z[W>>2]=0,Z[Y>>2]=0,X=0}return X|0}function xF(){return WQ()|0}function yF(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0;if((Z[T+76>>2]|0)>-1)X=v3(T)|0;else X=0;if(Y=$+-1|0,($|0)<2){if($=T+74|0,Q=N[$>>0]|0,N[$>>0]=Q+255|Q,X|0)Y3(T);if(!Y)N[V>>0]=0,W=V;else W=0}else{Z:do if(Y){Q=T+4|0,$=T+8|0,U=Y,S=V;while(!0){if(J=Z[Q>>2]|0,_=J,K=(Z[$>>2]|0)-_|0,P=W4(J,10,K)|0,O=(P|0)==0,L=O?K:1-_+P|0,P=L>>>0>>0?L:U,q6(S|0,J|0,P|0)|0,J=(Z[Q>>2]|0)+P|0,Z[Q>>2]=J,F=S+P|0,L=U-P|0,!(O&(L|0)!=0)){z=F,H=17;break Z}if(J>>>0>=(Z[$>>2]|0)>>>0)if(O=NQ(T)|0,(O|0)<0)break;else C=O;else Z[Q>>2]=J+1,C=G[J>>0]|0;if(J=F+1|0,N[F>>0]=C,U=L+-1|0,(C&255|0)==10|(U|0)==0){z=J,H=17;break Z}else S=J}if((F|0)!=(V|0)?(Z[T>>2]&16|0)!=0:0)z=F,H=17;else A=0}else z=V,H=17;while(0);if((H|0)==17)if(!V)A=0;else N[z>>0]=0,A=V;if(!X)W=A;else Y3(T),W=A}return W|0}function p4(V){V=V|0;var $=0,T=0,X=0;if((Z[V+76>>2]|0)>-1)if($=(v3(V)|0)==0,T=(Z[V>>2]|0)>>>4&1,$)X=T;else Y3(V),X=T;else X=(Z[V>>2]|0)>>>4&1;return X|0}function a8(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0;return X=q,q=q+16|0,Y=X,Z[Y>>2]=T,T=wF(V,$,Y)|0,q=X,T|0}function wF(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0;return X=q,q=q+144|0,Y=X,x8(Y|0,0,144)|0,Z[Y+32>>2]=6,Z[Y+44>>2]=V,Z[Y+76>>2]=-1,Z[Y+84>>2]=V,V=qF(Y,$,T)|0,q=X,V|0}function IF(V,$,T){return V=V|0,$=$|0,T=T|0,jF(V,$,T)|0}function qF(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0,H0=0,D0=0,_0=0,F0=0,k0=0,m0=0,B0=0,g0=0,o0=0,h0=0,C0=0,u0=0,p0=0,q0=0,i0=0,t0=0,E6=0,V6=0,n0=0,e0=0,Z6=0,U6=0,N6=0,A6=0,S6=0,H6=0,M6=0,F6=0,J6=0,L6=0,c0=0,T6=0,W6=0,h6=0,s6=0,p6=0,G6=0,w6=0,B6=0,i6=0,H8=0,m6=0,_8=0,v8=0,Y8=0,T8=0,C8=0,j8=0,C6=0,o6=0,u6=0,p8=0,i8=0,q8=0,m8=0,l8=0,w8=0,U2=0,K8=0,A8=0,t8=0,_2=0,Y2=0,Q2=0,F2=0,w2=0;if(X=q,q=q+288|0,Y=X+264|0,Q=X,W=X+260|0,U=X+272|0,(Z[V+76>>2]|0)>-1)S=v3(V)|0;else S=0;J=N[$>>0]|0;Z:do if(J<<24>>24){_=V+4|0,K=V+104|0,P=V+120|0,O=V+8|0,L=Q+10|0,F=Q+33|0,z=Q+46|0,H=Q+94|0,C=Y+4|0,A=0,y=J,k=0,m=0,I=0,u=$,g=0;V:while(!0){$:do if(!(MX(y&255)|0)){i=(N[u>>0]|0)==37;Y:do if(i){t=u+1|0,Y0=N[t>>0]|0;Q:do switch(Y0<<24>>24){case 37:break Y;case 42:{X0=0,T0=u+2|0;break}default:{if(UV(Y0&255)|0?(N[u+2>>0]|0)==36:0){X0=vF(T,(G[t>>0]|0)+-48|0)|0,T0=u+3|0;break Q}Z0=(Z[T>>2]|0)+3&~3,W0=Z[Z0>>2]|0,Z[T>>2]=Z0+4,X0=W0,T0=t}}while(0);if(!(UV(G[T0>>0]|0)|0))O0=T0,y0=0;else{t=T0,Y0=0;while(!0)if(W0=(Y0*10|0)+-48+(G[t>>0]|0)|0,Z0=t+1|0,!(UV(G[Z0>>0]|0)|0)){O0=Z0,y0=W0;break}else t=Z0,Y0=W0}if(Y0=N[O0>>0]|0,t=O0+1|0,Y0<<24>>24==109)E0=0,H0=N[t>>0]|0,D0=(X0|0)!=0&1,_0=O0+2|0,F0=t,k0=0;else E0=A,H0=Y0,D0=0,_0=t,F0=O0,k0=g;switch(H0<<24>>24){case 104:{t=(N[_0>>0]|0)==104,m0=t?F0+2|0:_0,B0=t?-2:-1;break}case 108:{t=(N[_0>>0]|0)==108,m0=t?F0+2|0:_0,B0=t?3:1;break}case 106:{m0=_0,B0=3;break}case 116:case 122:{m0=_0,B0=1;break}case 76:{m0=_0,B0=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{m0=F0,B0=0;break}default:{g0=E0,o0=k0,h0=143;break V}}switch(t=G[m0>>0]|0,Y0=(t&47|0)==3,W0=Y0?t|32:t,t=Y0?1:B0,Y0=W0&255,Y0<<24>>24){case 99:{C0=k,u0=m,p0=(y0|0)>1?y0:1;break}case 91:{C0=k,u0=m,p0=y0;break}case 110:{kR(X0,t,k,m),q0=E0,i0=k,t0=m,E6=I,V6=m0,n0=k0;break $}default:{N4(V,0,0);do if(Z0=Z[_>>2]|0,Z0>>>0<(Z[K>>2]|0)>>>0)Z[_>>2]=Z0+1,e0=G[Z0>>0]|0;else e0=W7(V)|0;while((MX(e0)|0)!=0);if(!(Z[K>>2]|0))Z6=Z[_>>2]|0;else Z0=(Z[_>>2]|0)+-1|0,Z[_>>2]=Z0,Z6=Z0;Z0=P,U6=Z6-(Z[O>>2]|0)|0,N6=V2(Z[Z0>>2]|0,Z[Z0+4>>2]|0,k|0,m|0)|0,Z0=V2(N6|0,x()|0,U6|0,((U6|0)<0)<<31>>31|0)|0,C0=Z0,u0=x()|0,p0=y0}}if(Z0=((p0|0)<0)<<31>>31,N4(V,p0,Z0),U6=Z[_>>2]|0,N6=Z[K>>2]|0,U6>>>0>>0)Z[_>>2]=U6+1,A6=N6;else{if((W7(V)|0)<0){g0=E0,o0=k0,h0=143;break V}A6=Z[K>>2]|0}if(A6|0)Z[_>>2]=(Z[_>>2]|0)+-1;Q:do switch(Y0<<24>>24){case 91:case 99:case 115:{N6=(W0|0)==99;T:do if((W0|16|0)==115)if(x8(Q|0,-1,257)|0,N[Q>>0]=0,(W0|0)==115)N[F>>0]=0,j[L>>1]=0,j[L+2>>1]=0,N[L+4>>0]=0,S6=m0;else S6=m0;else{switch(U6=m0+1|0,H6=(N[U6>>0]|0)==94,M6=H6&1,F6=H6?m0+2|0:U6,x8(Q|0,M6|0,257)|0,N[Q>>0]=0,N[F6>>0]|0){case 45:{U6=(M6^1)&255,N[z>>0]=U6,J6=U6,L6=F6+1|0;break}case 93:{U6=(M6^1)&255,N[H>>0]=U6,J6=U6,L6=F6+1|0;break}default:J6=(M6^1)&255,L6=F6}F6=L6;while(!0){M6=N[F6>>0]|0;X:do switch(M6<<24>>24){case 0:{g0=E0,o0=k0,h0=143;break V}case 93:{S6=F6;break T}case 45:{switch(U6=F6+1|0,H6=N[U6>>0]|0,H6<<24>>24){case 93:case 0:{c0=45,T6=F6;break X}default:}if(W6=N[F6+-1>>0]|0,(W6&255)<(H6&255)){h6=W6&255;do h6=h6+1|0,N[Q+h6>>0]=J6,W6=N[U6>>0]|0;while(h6>>>0<(W6&255)>>>0);c0=W6,T6=U6}else c0=H6,T6=U6;break}default:c0=M6,T6=F6}while(0);N[Q+((c0&255)+1)>>0]=J6,F6=T6+1|0}}while(0);F6=N6?p0+1|0:31,M6=(t|0)==1,h6=(D0|0)!=0;T:do if(M6){if(h6)if(W6=I3(F6<<2)|0,!W6){g0=0,o0=0,h0=143;break V}else s6=W6;else s6=X0;Z[Y>>2]=0,Z[C>>2]=0,W6=s6,p6=0,G6=F6;X:while(!0){w6=(W6|0)==0,B6=p6;while(!0){W:while(!0){if(i6=Z[_>>2]|0,i6>>>0<(Z[K>>2]|0)>>>0)Z[_>>2]=i6+1,H8=G[i6>>0]|0;else H8=W7(V)|0;if(!(N[Q+(H8+1)>>0]|0))break X;switch(N[U>>0]=H8,FF(W,U,1,Y)|0){case-1:{g0=W6,o0=0,h0=143;break V}case-2:break;default:break W}}if(w6)m6=B6;else Z[W6+(B6<<2)>>2]=Z[W>>2],m6=B6+1|0;if(h6&(m6|0)==(G6|0))break;else B6=m6}if(G6=G6<<1|1,w6=N$(W6,G6<<2)|0,!w6){g0=W6,o0=0,h0=143;break V}else W6=w6,p6=m6}if(!(BF(Y)|0)){g0=W6,o0=0,h0=143;break V}else _8=W6,v8=B6,Y8=0,T8=W6}else{if(h6){if(p6=I3(F6)|0,!p6){g0=0,o0=0,h0=143;break V}G6=0,w6=F6,U6=p6;while(!0){p6=G6;do{if(H6=Z[_>>2]|0,H6>>>0<(Z[K>>2]|0)>>>0)Z[_>>2]=H6+1,C8=G[H6>>0]|0;else C8=W7(V)|0;if(!(N[Q+(C8+1)>>0]|0)){_8=0,v8=p6,Y8=U6,T8=0;break T}H6=p6,p6=p6+1|0,N[U6+H6>>0]=C8}while((p6|0)!=(w6|0));if(w6=w6<<1|1,H6=N$(U6,w6)|0,!H6){g0=0,o0=U6,h0=143;break V}else G6=p6,U6=H6}}if(!X0)while(!0){if(U6=Z[_>>2]|0,U6>>>0<(Z[K>>2]|0)>>>0)Z[_>>2]=U6+1,j8=G[U6>>0]|0;else j8=W7(V)|0;if(!(N[Q+(j8+1)>>0]|0)){_8=0,v8=0,Y8=0,T8=0;break T}}U6=0;while(!0){if(G6=Z[_>>2]|0,G6>>>0<(Z[K>>2]|0)>>>0)Z[_>>2]=G6+1,C6=G[G6>>0]|0;else C6=W7(V)|0;if(!(N[Q+(C6+1)>>0]|0)){_8=0,v8=U6,Y8=X0,T8=0;break T}N[X0+U6>>0]=C6,U6=U6+1|0}}while(0);if(!(Z[K>>2]|0))o6=Z[_>>2]|0;else F6=(Z[_>>2]|0)+-1|0,Z[_>>2]=F6,o6=F6;if(F6=P,U6=o6-(Z[O>>2]|0)|0,G6=V2(Z[F6>>2]|0,Z[F6+4>>2]|0,U6|0,((U6|0)<0)<<31>>31|0)|0,U6=x()|0,(G6|0)==0&(U6|0)==0){u6=_8,p8=D0,i8=I,q8=Y8;break V}if(!((G6|0)==(p0|0)&(U6|0)==(Z0|0)|N6^1)){u6=_8,p8=D0,i8=I,q8=Y8;break V}do if(h6)if(M6){Z[X0>>2]=T8;break}else{Z[X0>>2]=Y8;break}while(0);if(N6)m8=_8,l8=S6,w8=Y8;else{if(T8|0)Z[T8+(v8<<2)>>2]=0;if(!Y8){m8=_8,l8=S6,w8=0;break Q}N[Y8+v8>>0]=0,m8=_8,l8=S6,w8=Y8}break}case 120:case 88:case 112:{U2=16,h0=131;break}case 111:{U2=8,h0=131;break}case 117:case 100:{U2=10,h0=131;break}case 105:{U2=0,h0=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{if(K8=+fS(V,t,0),M6=P,h6=Z[M6>>2]|0,U6=Z[M6+4>>2]|0,M6=(Z[_>>2]|0)-(Z[O>>2]|0)|0,G6=L1(0,0,M6|0,((M6|0)<0)<<31>>31|0)|0,(h6|0)==(G6|0)&(U6|0)==(x()|0)){u6=E0,p8=D0,i8=I,q8=k0;break V}if(!X0)m8=E0,l8=m0,w8=k0;else switch(t|0){case 0:{f[X0>>2]=K8,m8=E0,l8=m0,w8=k0;break Q}case 1:{b[X0>>3]=K8,m8=E0,l8=m0,w8=k0;break Q}case 2:{b[X0>>3]=K8,m8=E0,l8=m0,w8=k0;break Q}default:{m8=E0,l8=m0,w8=k0;break Q}}break}default:m8=E0,l8=m0,w8=k0}while(0);do if((h0|0)==131){if(h0=0,Z0=GD(V,U2,0,-1,-1)|0,Y0=x()|0,U6=P,G6=Z[U6>>2]|0,h6=Z[U6+4>>2]|0,U6=(Z[_>>2]|0)-(Z[O>>2]|0)|0,M6=L1(0,0,U6|0,((U6|0)<0)<<31>>31|0)|0,(G6|0)==(M6|0)&(h6|0)==(x()|0)){u6=E0,p8=D0,i8=I,q8=k0;break V}if((X0|0)!=0&(W0|0)==112){Z[X0>>2]=Z0,m8=E0,l8=m0,w8=k0;break}else{kR(X0,t,Z0,Y0),m8=E0,l8=m0,w8=k0;break}}while(0);t=P,W0=(Z[_>>2]|0)-(Z[O>>2]|0)|0,Y0=V2(Z[t>>2]|0,Z[t+4>>2]|0,C0|0,u0|0)|0,t=V2(Y0|0,x()|0,W0|0,((W0|0)<0)<<31>>31|0)|0,q0=m8,i0=t,t0=x()|0,E6=I+((X0|0)!=0&1)|0,V6=l8,n0=w8;break $}while(0);if(t=u+(i&1)|0,N4(V,0,0),W0=Z[_>>2]|0,W0>>>0<(Z[K>>2]|0)>>>0)Z[_>>2]=W0+1,A8=G[W0>>0]|0;else A8=W7(V)|0;if((A8|0)!=(G[t>>0]|0)){h0=23;break V}W0=V2(k|0,m|0,1,0)|0,q0=A,i0=W0,t0=x()|0,E6=I,V6=t,n0=g}else{t=u;while(!0)if(W0=t+1|0,!(MX(G[W0>>0]|0)|0))break;else t=W0;N4(V,0,0);do if(i=Z[_>>2]|0,i>>>0<(Z[K>>2]|0)>>>0)Z[_>>2]=i+1,t8=G[i>>0]|0;else t8=W7(V)|0;while((MX(t8)|0)!=0);if(!(Z[K>>2]|0))_2=Z[_>>2]|0;else i=(Z[_>>2]|0)+-1|0,Z[_>>2]=i,_2=i;i=P,W0=_2-(Z[O>>2]|0)|0,Y0=V2(Z[i>>2]|0,Z[i+4>>2]|0,k|0,m|0)|0,i=V2(Y0|0,x()|0,W0|0,((W0|0)<0)<<31>>31|0)|0,q0=A,i0=i,t0=x()|0,E6=I,V6=t,n0=g}while(0);if(u=V6+1|0,y=N[u>>0]|0,!(y<<24>>24)){Y2=E6;break Z}else A=q0,k=i0,m=t0,I=E6,g=n0}if((h0|0)==23){if(Z[K>>2]|0)Z[_>>2]=(Z[_>>2]|0)+-1;if((I|0)!=0|(A8|0)>-1){Y2=I;break}else Q2=A,F2=0,w2=g,h0=144}else if((h0|0)==143)if(!I)Q2=g0,F2=D0,w2=o0,h0=144;else u6=g0,p8=D0,i8=I,q8=o0;if((h0|0)==144)u6=Q2,p8=F2,i8=-1,q8=w2;if(!p8)Y2=i8;else TZ(q8),TZ(u6),Y2=i8}else Y2=0;while(0);if(S|0)Y3(V);return q=X,Y2|0}function vF(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0;T=q,q=q+16|0,X=T,Z[X>>2]=Z[V>>2],V=$;while(!0)if($=(Z[X>>2]|0)+3&~3,Y=Z[$>>2]|0,Z[X>>2]=$+4,V>>>0>1)V=V+-1|0;else break;return q=T,Y|0}function kR(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0;Z:do if(V|0)switch($|0){case-2:{N[V>>0]=T;break Z}case-1:{j[V>>1]=T;break Z}case 0:{Z[V>>2]=T;break Z}case 1:{Z[V>>2]=T;break Z}case 3:{Y=V,Z[Y>>2]=T,Z[Y+4>>2]=X;break Z}default:break Z}while(0);return}function jF(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0;return X=V+84|0,Y=Z[X>>2]|0,Q=T+256|0,W=W4(Y,0,Q)|0,U=(W|0)==0?Q:W-Y|0,W=U>>>0>>0?U:T,q6($|0,Y|0,W|0)|0,Z[V+4>>2]=Y+W,$=Y+U|0,Z[V+8>>2]=$,Z[X>>2]=$,W|0}function KY(V,$,T){return V=V|0,$=$|0,T=T|0,kF(V,$,(($|0)<0)<<31>>31,T)|0}function n1(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0;return X=q,q=q+16|0,Y=X,Z[Y>>2]=T,T=XN(V,$,Y)|0,q=X,T|0}function kF(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0;if((Z[V+76>>2]|0)>-1)if(Y=(v3(V)|0)==0,Q=wQ(V,$,T,X)|0,Y)W=Q;else Y3(V),W=Q;else W=wQ(V,$,T,X)|0;return W|0}function wQ(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0;if((X|0)==1)Y=(Z[V+8>>2]|0)-(Z[V+4>>2]|0)|0,Q=L1($|0,T|0,Y|0,((Y|0)<0)<<31>>31|0)|0,W=Q,U=x()|0;else W=$,U=T;if(T=V+20|0,$=V+28|0,(Z[T>>2]|0)>>>0>(Z[$>>2]|0)>>>0?(y8[Z[V+36>>2]&7](V,0,0)|0,(Z[T>>2]|0)==0):0)S=-1;else if(Z[V+16>>2]=0,Z[$>>2]=0,Z[T>>2]=0,r6[Z[V+40>>2]&3](V,W,U,X)|0,(x()|0)<0)S=-1;else Z[V+8>>2]=0,Z[V+4>>2]=0,Z[V>>2]=Z[V>>2]&-17,S=0;return S|0}function u1(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0;T=N[$>>0]|0;do if(T<<24>>24)if(X=o5(V,T<<24>>24)|0,X)if(N[$+1>>0]|0)if(N[X+1>>0]|0){if(!(N[$+2>>0]|0)){Y=pF(X,$)|0;break}if(N[X+2>>0]|0){if(!(N[$+3>>0]|0)){Y=mF(X,$)|0;break}if(N[X+3>>0]|0)if(!(N[$+4>>0]|0)){Y=uF(X,$)|0;break}else{Y=lF(X,$)|0;break}else Y=0}else Y=0}else Y=0;else Y=X;else Y=0;else Y=V;while(0);return Y|0}function pF(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0;T=(G[$>>0]|0)<<8|(G[$+1>>0]|0),$=V+1|0,X=N[$>>0]|0;Z:do if(!(X<<24>>24))Y=0;else{Q=$,W=(G[V>>0]|0)<<8|X&255;while(!0){if(U=W&65535,(U|0)==(T|0))break;if(S=Q+1|0,J=N[S>>0]|0,!(J<<24>>24)){Y=0;break Z}else Q=S,W=U<<8|J&255}Y=Q+-1|0}while(0);return Y|0}function mF(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0;if(T=(G[$+1>>0]|0)<<16|(G[$>>0]|0)<<24|(G[$+2>>0]|0)<<8,$=V+2|0,X=N[$>>0]|0,Y=(G[V+1>>0]|0)<<16|(G[V>>0]|0)<<24|(X&255)<<8,V=X<<24>>24==0,(Y|0)==(T|0)|V)Q=$,W=V;else{V=$,$=Y;while(!0)if(Y=V+1|0,X=N[Y>>0]|0,$=($|X&255)<<8,U=X<<24>>24==0,($|0)==(T|0)|U){Q=Y,W=U;break}else V=Y}return(W?0:Q+-2|0)|0}function uF(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0;if(T=(G[$+1>>0]|0)<<16|(G[$>>0]|0)<<24|(G[$+2>>0]|0)<<8|(G[$+3>>0]|0),$=V+3|0,X=N[$>>0]|0,Y=(G[V+1>>0]|0)<<16|(G[V>>0]|0)<<24|(G[V+2>>0]|0)<<8|X&255,V=X<<24>>24==0,(Y|0)==(T|0)|V)Q=$,W=V;else{V=$,$=Y;while(!0)if(Y=V+1|0,X=N[Y>>0]|0,$=$<<8|X&255,U=X<<24>>24==0,($|0)==(T|0)|U){Q=Y,W=U;break}else V=Y}return(W?0:Q+-3|0)|0}function lF(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0,W0=0,O0=0,y0=0,E0=0;T=q,q=q+1056|0,X=T+1024|0,Y=T,Z[X>>2]=0,Z[X+4>>2]=0,Z[X+8>>2]=0,Z[X+12>>2]=0,Z[X+16>>2]=0,Z[X+20>>2]=0,Z[X+24>>2]=0,Z[X+28>>2]=0,Q=N[$>>0]|0;Z:do if(Q<<24>>24){W=Q,U=0;do{if(!(N[V+U>>0]|0)){S=0;break Z}J=W&255,_=X+(J>>>5<<2)|0,Z[_>>2]=Z[_>>2]|1<<(J&31),U=U+1|0,Z[Y+(J<<2)>>2]=U,W=N[$+U>>0]|0}while(W<<24>>24!=0);if(W=U>>>0>1,W){J=1,_=-1,K=0,P=1,O=1;while(!0){L=N[$+(P+_)>>0]|0,F=N[$+J>>0]|0;do if(L<<24>>24==F<<24>>24)if((P|0)==(O|0)){z=_,H=O+K|0,C=1,A=O;break}else{z=_,H=K,C=P+1|0,A=O;break}else if((L&255)>(F&255)){z=_,H=J,C=1,A=J-_|0;break}else{z=K,H=K+1|0,C=1,A=1;break}while(0);if(J=C+H|0,J>>>0>=U>>>0)break;else _=z,K=H,P=C,O=A}if(W){O=1,P=-1,K=0,_=1,J=1;while(!0){F=N[$+(_+P)>>0]|0,L=N[$+O>>0]|0;do if(F<<24>>24==L<<24>>24)if((_|0)==(J|0)){y=P,k=J+K|0,m=1,I=J;break}else{y=P,k=K,m=_+1|0,I=J;break}else if((F&255)<(L&255)){y=P,k=O,m=1,I=O-P|0;break}else{y=K,k=K+1|0,m=1,I=1;break}while(0);if(O=m+k|0,O>>>0>=U>>>0){u=z,g=y,i=U,t=A,Y0=I,X0=25;break}else P=y,K=k,_=m,J=I}}else u=z,g=-1,i=U,t=A,Y0=1,X0=25}else u=-1,g=-1,i=U,t=1,Y0=1,X0=25}else u=-1,g=-1,i=0,t=1,Y0=1,X0=25;while(0);Z:do if((X0|0)==25){if(A=(g+1|0)>>>0>(u+1|0)>>>0,z=A?Y0:t,I=A?g:u,A=I+1|0,!(q3($,$+z|0,A)|0))m=i-z|0,T0=m,Z0=z,W0=m;else m=i-I+-1|0,z=(I>>>0>m>>>0?I:m)+1|0,T0=0,Z0=z,W0=i-z|0;z=i|63,m=i+-1|0,k=(T0|0)!=0,y=V,C=0,H=V;while(!0){Q=y;do if((H-Q|0)>>>0>>0)if(J=W4(H,0,z)|0,J)if((J-Q|0)>>>0>>0){S=0;break Z}else{O0=J;break}else{O0=H+z|0;break}else O0=H;while(0);Q=G[y+m>>0]|0;V:do if(!(1<<(Q&31)&Z[X+(Q>>>5<<2)>>2]))y0=i,E0=0;else{if(J=i-(Z[Y+(Q<<2)>>2]|0)|0,J|0){y0=k&(C|0)!=0&J>>>0>>0?W0:J,E0=0;break}J=A>>>0>C>>>0,_=J?A:C,K=N[$+_>>0]|0;$:do if(K<<24>>24){P=K,O=_;while(!0){if(P<<24>>24!=(N[y+O>>0]|0))break;if(W=O+1|0,P=N[$+W>>0]|0,!(P<<24>>24))break $;else O=W}y0=O-I|0,E0=0;break V}while(0);if(!J){S=y;break Z}_=A;while(!0){if(_=_+-1|0,(N[$+_>>0]|0)!=(N[y+_>>0]|0)){y0=Z0,E0=T0;break V}if(_>>>0<=C>>>0){S=y;break Z}}}while(0);y=y+y0|0,C=E0,H=O0}}while(0);return q=T,S|0}function pR(V,$){V=V|0,$=$|0;var T=0;return T=x6(V)|0,((C2(V,1,T,$)|0)!=(T|0))<<31>>31|0}function C2(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0;if(Y=B(T,$)|0,Q=($|0)==0?0:T,(Z[X+76>>2]|0)>-1)if(T=(v3(X)|0)==0,W=QN(V,Y,X)|0,T)U=W;else Y3(X),U=W;else U=QN(V,Y,X)|0;if((U|0)==(Y|0))S=Q;else S=(U>>>0)/($>>>0)|0;return S|0}function pN(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0;if(T=q,q=q+16|0,X=T,Y=$&255,N[X>>0]=Y,Q=V+16|0,W=Z[Q>>2]|0,!W)if(!(pS(V)|0))U=Z[Q>>2]|0,S=4;else J=-1;else U=W,S=4;do if((S|0)==4){if(W=V+20|0,Q=Z[W>>2]|0,Q>>>0>>0?(_=$&255,(_|0)!=(N[V+75>>0]|0)):0){Z[W>>2]=Q+1,N[Q>>0]=Y,J=_;break}if((y8[Z[V+36>>2]&7](V,X,1)|0)==1)J=G[X>>0]|0;else J=-1}while(0);return q=T,J|0}function sF(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0;X=$;Z:do if(!((X^V)&3)){if(Y=(T|0)!=0,Y&(X&3|0)!=0){Q=V,W=T,U=$;while(!0){if(S=N[U>>0]|0,N[Q>>0]=S,!(S<<24>>24)){J=Q,_=W;break Z}if(S=W+-1|0,K=U+1|0,P=Q+1|0,O=(S|0)!=0,O&(K&3|0)!=0)Q=P,W=S,U=K;else{L=P,F=S,z=K,H=O;break}}}else L=V,F=T,z=$,H=Y;if(H)if(!(N[z>>0]|0))J=L,_=F;else{V:do if(F>>>0>3){U=F,W=L,Q=z;while(!0){if(O=Z[Q>>2]|0,(O&-2139062144^-2139062144)&O+-16843009|0){C=U,A=W,y=Q;break V}if(Z[W>>2]=O,O=U+-4|0,K=Q+4|0,S=W+4|0,O>>>0>3)U=O,W=S,Q=K;else{C=O,A=S,y=K;break}}}else C=F,A=L,y=z;while(0);k=A,m=C,I=y,u=13}else J=L,_=0}else k=V,m=T,I=$,u=13;while(0);Z:do if((u|0)==13)if(!m)J=k,_=0;else{$=k,T=m,V=I;while(!0){if(L=N[V>>0]|0,N[$>>0]=L,!(L<<24>>24)){J=$,_=T;break Z}if(T=T+-1|0,L=$+1|0,!T){J=L,_=0;break}else $=L,V=V+1|0}}while(0);return x8(J|0,0,_|0)|0,J|0}function k7(V,$,T){return V=V|0,$=$|0,T=T|0,sF(V,$,T)|0,V|0}function mN(V,$){V=V|0,$=$|0;var T=0;return T=V+(zF(V,$)|0)|0,((N[T>>0]|0)==0?0:T)|0}function mR(V){return V=V|0,UZ(V,Z[8720]|0)|0}function UZ(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0,W=0,U=0,S=0;if((Z[$+76>>2]|0)>=0?(v3($)|0)!=0:0){if(T=V&255,X=V&255,(X|0)!=(N[$+75>>0]|0)?(Y=$+20|0,Q=Z[Y>>2]|0,Q>>>0<(Z[$+16>>2]|0)>>>0):0)Z[Y>>2]=Q+1,N[Q>>0]=T,W=X;else W=pN($,V)|0;Y3($),U=W}else S=3;do if((S|0)==3){if(W=V&255,X=V&255,(X|0)!=(N[$+75>>0]|0)?(T=$+20|0,Q=Z[T>>2]|0,Q>>>0<(Z[$+16>>2]|0)>>>0):0){Z[T>>2]=Q+1,N[Q>>0]=W,U=X;break}U=pN($,V)|0}while(0);return U|0}function oF(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;if((Z[V+76>>2]|0)>-1)if($=(v3(V)|0)==0,T=uR(V)|0,X=x()|0,$)Y=X,Q=T;else Y3(V),Y=X,Q=T;else T=uR(V)|0,Y=x()|0,Q=T;return h(Y|0),Q|0}function uR(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0,W=0;if(!(Z[V>>2]&128))$=1;else $=(Z[V+20>>2]|0)>>>0>(Z[V+28>>2]|0)>>>0?2:1;if(T=r6[Z[V+40>>2]&3](V,0,0,$)|0,$=x()|0,($|0)<0)X=$,Y=T;else Q=(Z[V+8>>2]|0)-(Z[V+4>>2]|0)|0,W=L1(T|0,$|0,Q|0,((Q|0)<0)<<31>>31|0)|0,Q=x()|0,$=(Z[V+20>>2]|0)-(Z[V+28>>2]|0)|0,V=V2(W|0,Q|0,$|0,(($|0)<0)<<31>>31|0)|0,X=x()|0,Y=V;return h(X|0),Y|0}function u9(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;if($=Z[8720]|0,(Z[$+76>>2]|0)>-1)T=v3($)|0;else T=0;do if((pR(V,$)|0)<0)X=-1;else{if((N[$+75>>0]|0)!=10?(Y=$+20|0,Q=Z[Y>>2]|0,Q>>>0<(Z[$+16>>2]|0)>>>0):0){Z[Y>>2]=Q+1,N[Q>>0]=10,X=0;break}X=(pN($,10)|0)>>31}while(0);if(T|0)Y3($);return X|0}function uN(V){V=V|0;var $=0,T=0,X=0,Y=0,Q=0;if((Z[V+76>>2]|0)>=0?(v3(V)|0)!=0:0){if($=V+4|0,T=Z[$>>2]|0,T>>>0<(Z[V+8>>2]|0)>>>0)Z[$>>2]=T+1,X=G[T>>0]|0;else X=NQ(V)|0;Y3(V),Y=X}else Q=3;do if((Q|0)==3)if(X=V+4|0,T=Z[X>>2]|0,T>>>0<(Z[V+8>>2]|0)>>>0){Z[X>>2]=T+1,Y=G[T>>0]|0;break}else{Y=NQ(V)|0;break}while(0);return Y|0}function nF(V){V=V|0;var $=0,T=0;if($=oF(V)|0,V=x()|0,(V|0)>0|(V|0)==0&$>>>0>2147483647)Z[(y5()|0)>>2]=75,T=-1;else T=$;return T|0}function g8(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0;if(Y=B(T,$)|0,Q=($|0)==0?0:T,(Z[X+76>>2]|0)>-1)W=v3(X)|0;else W=0;if(T=X+74|0,U=N[T>>0]|0,N[T>>0]=U+255|U,U=X+4|0,T=Z[U>>2]|0,S=(Z[X+8>>2]|0)-T|0,(S|0)>0)J=S>>>0>>0?S:Y,q6(V|0,T|0,J|0)|0,Z[U>>2]=(Z[U>>2]|0)+J,_=V+J|0,K=Y-J|0;else _=V,K=Y;Z:do if(!K)P=13;else{V=X+32|0,J=_,U=K;while(!0){if(uS(X)|0)break;if(T=y8[Z[V>>2]&7](X,J,U)|0,(T+1|0)>>>0<2)break;if(S=U-T|0,!S){P=13;break Z}else J=J+T|0,U=S}if(W|0)Y3(X);O=((Y-U|0)>>>0)/($>>>0)|0}while(0);if((P|0)==13)if(!W)O=Q;else Y3(X),O=Q;return O|0}function rF(V){V=V|0;var $=0;if((Z[V+76>>2]|0)>-1){if($=(v3(V)|0)==0,wQ(V,0,0,0)|0,Z[V>>2]=Z[V>>2]&-33,!$)Y3(V)}else wQ(V,0,0,0)|0,Z[V>>2]=Z[V>>2]&-33;return}function b1(V,$){V=V|0,$=$|0;var T=0,X=0;return T=q,q=q+16|0,X=T,Z[X>>2]=$,$=XN(Z[8720]|0,V,X)|0,q=T,$|0}function hF(V,$,T){return V=V|0,$=$|0,T=T|0,Q6(V,$)|0}function IQ(V,$){return V=V|0,$=$|0,gF()|0,hF(V,$,0)|0}function gF(){return WQ()|0}function iF(V){V=V|0;var $=0;if(!(lR(V)|0))$=(UV(V)|0)!=0&1;else $=1;return $|0}function lR(V){return V=V|0,((V|32)+-97|0)>>>0<26|0}function tF(){return 35140}function fF(){z0(3144896);return}function dF(){return 3144880}function bF(){return 3144888}function eF(){return 3144892}function aF(){return 3144896}function V2(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0;return Y=V+T>>>0,(h($+X+(Y>>>0>>0|0)>>>0|0),Y|0)|0}function L1(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0;return Y=$-X>>>0,Y=$-X-(T>>>0>V>>>0|0)>>>0,(h(Y|0),V-T>>>0|0)|0}function sR(V){return V=V|0,(V?31-(w(V^V-1)|0)|0:32)|0}function oR(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0;var Q=0,W=0,U=0,S=0,J=0,_=0,K=0,P=0,O=0,L=0,F=0,z=0,H=0,C=0,A=0,y=0,k=0,m=0,I=0,u=0,g=0,i=0,t=0,Y0=0,X0=0,T0=0,Z0=0;if(Q=V,W=$,U=W,S=T,J=X,_=J,!U)if(K=(Y|0)!=0,!_){if(K)Z[Y>>2]=(Q>>>0)%(S>>>0),Z[Y+4>>2]=0;return P=0,O=(Q>>>0)/(S>>>0)>>>0,(h(P|0),O)|0}else{if(!K)return P=0,O=0,(h(P|0),O)|0;return Z[Y>>2]=V|0,Z[Y+4>>2]=$&0,P=0,O=0,(h(P|0),O)|0}K=(_|0)==0;do if(S){if(!K){if(L=(w(_|0)|0)-(w(U|0)|0)|0,L>>>0<=31){F=L+1|0,z=31-L|0,H=L-31>>31,C=F,A=Q>>>(F>>>0)&H|U<>>(F>>>0)&H,k=0,m=Q<>2]=V|0,Z[Y+4>>2]=W|$&0,P=0,O=0,(h(P|0),O)|0}if(z=S-1|0,z&S|0){H=(w(S|0)|0)+33-(w(U|0)|0)|0,F=64-H|0,L=32-H|0,I=L>>31,u=H-32|0,g=u>>31,C=H,A=L-1>>31&U>>>(u>>>0)|(U<>>(H>>>0))&g,y=g&U>>>(H>>>0),k=Q<>>(u>>>0))&I|Q<>31;break}if(Y|0)Z[Y>>2]=z&Q,Z[Y+4>>2]=0;if((S|0)==1)return P=W|$&0,O=V|0|0,(h(P|0),O)|0;else return z=sR(S|0)|0,P=U>>>(z>>>0)|0,O=U<<32-z|Q>>>(z>>>0)|0,(h(P|0),O)|0}else{if(K){if(Y|0)Z[Y>>2]=(U>>>0)%(S>>>0),Z[Y+4>>2]=0;return P=0,O=(U>>>0)/(S>>>0)>>>0,(h(P|0),O)|0}if(!Q){if(Y|0)Z[Y>>2]=0,Z[Y+4>>2]=(U>>>0)%(_>>>0);return P=0,O=(U>>>0)/(_>>>0)>>>0,(h(P|0),O)|0}if(z=_-1|0,!(z&_)){if(Y|0)Z[Y>>2]=V|0,Z[Y+4>>2]=z&U|$&0;return P=0,O=U>>>((sR(_|0)|0)>>>0),(h(P|0),O)|0}if(z=(w(_|0)|0)-(w(U|0)|0)|0,z>>>0<=30){H=z+1|0,L=31-z|0,C=H,A=U<>>(H>>>0),y=U>>>(H>>>0),k=0,m=Q<>2]=V|0,Z[Y+4>>2]=W|$&0,P=0,O=0,(h(P|0),O)|0}while(0);if(!C)i=m,t=k,Y0=y,X0=A,T0=0,Z0=0;else{$=T|0|0,T=J|X&0,X=V2($|0,T|0,-1,-1)|0,J=x()|0,W=m,m=k,k=y,y=A,A=C,C=0;do V=W,W=m>>>31|W<<1,m=C|m<<1,Q=y<<1|V>>>31|0,V=y>>>31|k<<1|0,L1(X|0,J|0,Q|0,V|0)|0,U=x()|0,_=U>>31|((U|0)<0?-1:0)<<1,C=_&1,y=L1(Q|0,V|0,_&$|0,(((U|0)<0?-1:0)>>31|((U|0)<0?-1:0)<<1)&T|0)|0,k=x()|0,A=A-1|0;while((A|0)!=0);i=W,t=m,Y0=k,X0=y,T0=0,Z0=C}if(C=t,t=0,Y|0)Z[Y>>2]=X0,Z[Y+4>>2]=Y0;return P=(C|0)>>>31|(i|t)<<1|(t<<1|C>>>31)&0|T0,O=(C<<1|0>>>31)&-2|Z0,(h(P|0),O)|0}function q5(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0,W=0,U=0,S=0;return Y=$>>31|(($|0)<0?-1:0)<<1,Q=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,W=X>>31|((X|0)<0?-1:0)<<1,U=((X|0)<0?-1:0)>>31|((X|0)<0?-1:0)<<1,S=L1(Y^V|0,Q^$|0,Y|0,Q|0)|0,$=x()|0,V=W^Y,Y=U^Q,L1((oR(S,$,L1(W^T|0,U^X|0,W|0,U|0)|0,x()|0,0)|0)^V|0,(x()|0)^Y|0,V|0,Y|0)|0}function cF(V,$){V=V|0,$=$|0;var T=0,X=0,Y=0,Q=0;return T=V&65535,X=$&65535,Y=B(X,T)|0,Q=V>>>16,V=(Y>>>16)+(B(X,Q)|0)|0,X=$>>>16,$=B(X,T)|0,(h((V>>>16)+(B(X,Q)|0)+(((V&65535)+$|0)>>>16)|0),V+$<<16|Y&65535|0)|0}function v5(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0;var Y=0,Q=0;return Y=V,V=T,T=cF(Y,V)|0,Q=x()|0,(h((B($,V)|0)+(B(X,Y)|0)+Q|Q&0|0),T|0|0)|0}function PY(V,$,T,X){return V=V|0,$=$|0,T=T|0,X=X|0,oR(V,$,T,X,0)|0}function K4(V,$,T){if(V=V|0,$=$|0,T=T|0,(T|0)<32)return h($>>T|0),V>>>T|($&(1<>T-32|0}function B5(V,$,T){if(V=V|0,$=$|0,T=T|0,(T|0)<32)return h($>>>T|0),V>>>T|($&(1<>>T-32|0}function v1(V,$,T){if(V=V|0,$=$|0,T=T|0,(T|0)<32)return h($<>>32-T|0),V<>2]=c;while((Y|0)<(X|0)){if(!(Z[T+(Y<<3)>>2]|0))return Z[T+(Y<<3)>>2]=c,Z[T+((Y<<3)+4)>>2]=$,Z[T+((Y<<3)+8)>>2]=0,h(X|0),T|0;Y=Y+1|0}return X=X*2|0,T=N$(T|0,8*(X+1|0)|0)|0,T=lN(V|0,$|0,T|0,X|0)|0,h(X|0),T|0}function sN(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0;while((X|0)<(T|0)){if(Y=Z[$+(X<<3)>>2]|0,!Y)break;if((Y|0)==(V|0))return Z[$+((X<<3)+4)>>2]|0;X=X+1|0}return 0}function ZE(V,$){if(V=V|0,$=$|0,!a)a=V,V0=$}function q6(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0;if((T|0)>=8192)return N8(V|0,$|0,T|0)|0,V|0;if(X=V|0,Y=V+T|0,(V&3)==($&3)){while(V&3){if(!T)return X|0;N[V>>0]=N[$>>0]|0,V=V+1|0,$=$+1|0,T=T-1|0}Q=Y&-4|0,T=Q-64|0;while((V|0)<=(T|0))Z[V>>2]=Z[$>>2],Z[V+4>>2]=Z[$+4>>2],Z[V+8>>2]=Z[$+8>>2],Z[V+12>>2]=Z[$+12>>2],Z[V+16>>2]=Z[$+16>>2],Z[V+20>>2]=Z[$+20>>2],Z[V+24>>2]=Z[$+24>>2],Z[V+28>>2]=Z[$+28>>2],Z[V+32>>2]=Z[$+32>>2],Z[V+36>>2]=Z[$+36>>2],Z[V+40>>2]=Z[$+40>>2],Z[V+44>>2]=Z[$+44>>2],Z[V+48>>2]=Z[$+48>>2],Z[V+52>>2]=Z[$+52>>2],Z[V+56>>2]=Z[$+56>>2],Z[V+60>>2]=Z[$+60>>2],V=V+64|0,$=$+64|0;while((V|0)<(Q|0))Z[V>>2]=Z[$>>2],V=V+4|0,$=$+4|0}else{Q=Y-4|0;while((V|0)<(Q|0))N[V>>0]=N[$>>0]|0,N[V+1>>0]=N[$+1>>0]|0,N[V+2>>0]=N[$+2>>0]|0,N[V+3>>0]=N[$+3>>0]|0,V=V+4|0,$=$+4|0}while((V|0)<(Y|0))N[V>>0]=N[$>>0]|0,V=V+1|0,$=$+1|0;return X|0}function x8(V,$,T){V=V|0,$=$|0,T=T|0;var X=0,Y=0,Q=0,W=0;if(X=V+T|0,$=$&255,(T|0)>=67){while(V&3)N[V>>0]=$,V=V+1|0;Y=X&-4|0,Q=$|$<<8|$<<16|$<<24,W=Y-64|0;while((V|0)<=(W|0))Z[V>>2]=Q,Z[V+4>>2]=Q,Z[V+8>>2]=Q,Z[V+12>>2]=Q,Z[V+16>>2]=Q,Z[V+20>>2]=Q,Z[V+24>>2]=Q,Z[V+28>>2]=Q,Z[V+32>>2]=Q,Z[V+36>>2]=Q,Z[V+40>>2]=Q,Z[V+44>>2]=Q,Z[V+48>>2]=Q,Z[V+52>>2]=Q,Z[V+56>>2]=Q,Z[V+60>>2]=Q,V=V+64|0;while((V|0)<(Y|0))Z[V>>2]=Q,V=V+4|0}while((V|0)<(X|0))N[V>>0]=$,V=V+1|0;return X-T|0}function P$(V){V=V|0;var $=0,T=0,X=0;if($=k1()|0,T=Z[r>>2]|0,X=T+V|0,(V|0)>0&(X|0)<(T|0)|(X|0)<0)return L8(X|0)|0,x0(12),-1;if((X|0)>($|0)){if(!(m5(X|0)|0))return x0(12),-1}return Z[r>>2]=X,T|0}function VE(V,$){return V=V|0,$=$|0,PV[V&255]($|0)|0}function $E(V,$,T,X,Y,Q,W){return V=V|0,$=$|0,T=+T,X=X|0,Y=Y|0,Q=Q|0,W=W|0,iR[V&1]($|0,+T,X|0,Y|0,Q|0,W|0)|0}function TE(V,$,T){return V=V|0,$=$|0,T=T|0,G$[V&3]($|0,T|0)|0}function XE(V,$,T,X){return V=V|0,$=$|0,T=T|0,X=X|0,y8[V&7]($|0,T|0,X|0)|0}function YE(V,$,T,X,Y){return V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,r6[V&3]($|0,T|0,X|0,Y|0)|0}function QE(V){V=V|0,KE[V&1]()}function WE(V,$){V=V|0,$=$|0,oN[V&7]($|0)}function NE(V,$,T){V=V|0,$=$|0,T=T|0,nN[V&15]($|0,T|0)}function UE(V,$,T,X){V=V|0,$=$|0,T=T|0,X=X|0,PE[V&3]($|0,T|0,X|0)}function JE(V,$,T,X,Y,Q){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,Q=Q|0,a9[V&0]($|0,T|0,X|0,Y|0,Q|0)}function n8(V){return V=V|0,o(0),0}function SE(V,$,T,X,Y,Q){return V=V|0,$=+$,T=T|0,X=X|0,Y=Y|0,Q=Q|0,o(1),0}function nR(V,$){return V=V|0,$=$|0,o(2),0}function rR(V,$,T){return V=V|0,$=$|0,T=T|0,o(3),0}function hR(V,$,T,X){return V=V|0,$=$|0,T=T|0,X=X|0,o(4),0}function RE(){o(5)}function qQ(V){V=V|0,o(6)}function O$(V,$){V=V|0,$=$|0,o(7)}function gR(V,$,T){V=V|0,$=$|0,T=T|0,o(8)}function _E(V,$,T,X,Y){V=V|0,$=$|0,T=T|0,X=X|0,Y=Y|0,o(9)}var PV=[n8,ZD,dM,bM,X5,Q5,nK,Y5,W5,rK,ZJ,hK,gK,iK,tK,J5,f7,U5,fK,dK,bK,eK,aK,cK,ZP,VP,$P,TP,XP,YP,QP,WP,NP,SK,JK,RK,_K,JP,SP,RP,_P,KP,PP,OP,GP,MP,LP,DP,zP,cO,ZG,VG,$G,TG,XG,YG,QG,WG,NG,UG,JG,SG,RG,_G,KG,PG,OG,GG,MG,LG,DG,zG,FG,EG,BG,CG,AG,HG,xG,yG,wG,IG,qG,vG,jG,kG,pG,mG,uG,lG,sG,oG,nG,rG,hG,gG,iG,tG,fG,dG,bG,eG,aG,cG,ZM,VM,$M,TM,XM,YM,QM,WM,NM,UM,JM,SM,RM,_M,KM,PM,OM,GM,MM,LM,DM,zM,z8,G9,F8,D5,p1,m1,N5,mX,FM,uX,PK,KK,NK,EM,BM,CM,AM,HM,xM,yM,wM,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8,n8],iR=[SE,UD],G$=[nR,GS,YO,nR],y8=[rR,TD,OD,lL,xS,VD,IF,rR],r6=[hR,$D,nM,hR],KE=[RE,HO],oN=[qQ,aM,cP,ZO,gL,qQ,qQ,qQ],nN=[O$,MO,xL,ED,AD,nL,_5,e7,JD,O$,O$,O$,O$,O$,O$,O$],PE=[gR,eM,hL,gR],a9=[_E];return{___divdi3:q5,___emscripten_environ_constructor:fF,___errno_location:y5,___muldi3:v5,___udivdi3:PY,__get_daylight:bF,__get_environ:aF,__get_timezone:eF,__get_tzname:dF,_bitshift64Ashr:K4,_bitshift64Lshr:B5,_bitshift64Shl:v1,_codo_mixer_callback:SR,_free:TZ,_i64Add:V2,_i64Subtract:L1,_main:PL,_malloc:I3,_memcpy:q6,_memset:x8,_mix_0:Dz,_realloc:N$,_saveSetjmp:lN,_sbrk:P$,_setThrew:ZE,_testSetjmp:sN,dynCall_ii:VE,dynCall_iidiiii:$E,dynCall_iii:TE,dynCall_iiii:XE,dynCall_iiiii:YE,dynCall_v:QE,dynCall_vi:WE,dynCall_vii:NE,dynCall_viii:UE,dynCall_viiiii:JE,establishStackSpace:tM,stackAlloc:hM,stackRestore:iM,stackSave:gM}}(asmGlobalArg,asmLibraryArg,buffer),___divdi3=Module.___divdi3=asm.___divdi3,___emscripten_environ_constructor=Module.___emscripten_environ_constructor=asm.___emscripten_environ_constructor,___errno_location=Module.___errno_location=asm.___errno_location,___muldi3=Module.___muldi3=asm.___muldi3,___udivdi3=Module.___udivdi3=asm.___udivdi3,__get_daylight=Module.__get_daylight=asm.__get_daylight,__get_environ=Module.__get_environ=asm.__get_environ,__get_timezone=Module.__get_timezone=asm.__get_timezone,__get_tzname=Module.__get_tzname=asm.__get_tzname,_bitshift64Ashr=Module._bitshift64Ashr=asm._bitshift64Ashr,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_codo_mixer_callback=Module._codo_mixer_callback=asm._codo_mixer_callback,_free=Module._free=asm._free,_i64Add=Module._i64Add=asm._i64Add,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_main=Module._main=asm._main,_malloc=Module._malloc=asm._malloc,_memcpy=Module._memcpy=asm._memcpy,_memset=Module._memset=asm._memset,_mix_0=Module._mix_0=asm._mix_0,_realloc=Module._realloc=asm._realloc,_saveSetjmp=Module._saveSetjmp=asm._saveSetjmp,_sbrk=Module._sbrk=asm._sbrk,_setThrew=Module._setThrew=asm._setThrew,_testSetjmp=Module._testSetjmp=asm._testSetjmp,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,stackAlloc=Module.stackAlloc=asm.stackAlloc,stackRestore=Module.stackRestore=asm.stackRestore,stackSave=Module.stackSave=asm.stackSave,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_iidiiii=Module.dynCall_iidiiii=asm.dynCall_iidiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii;if(Module.asm=asm,Module.ccall=ccall,Module.getValue=getValue,Module.getMemory=getMemory,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8=stringToUTF8,Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.FS_createFolder=FS.createFolder,Module.FS_createPath=FS.createPath,Module.FS_createDataFile=FS.createDataFile,Module.FS_createPreloadedFile=FS.createPreloadedFile,Module.FS_createLazyFile=FS.createLazyFile,Module.FS_createLink=FS.createLink,Module.FS_createDevice=FS.createDevice,Module.FS_unlink=FS.unlink,memoryInitializer){if(!isDataURI(memoryInitializer))memoryInitializer=locateFile(memoryInitializer);if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module.readBinary(memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(v){if(v.byteLength)v=new Uint8Array(v);if(HEAPU8.set(v,GLOBAL_BASE),Module.memoryInitializerRequest)delete Module.memoryInitializerRequest.response;removeRunDependency("memory initializer")},doBrowserLoad=function(){Module.readAsync(memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})},memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes)applyMemoryInitializer(memoryInitializerBytes.buffer);else if(Module.memoryInitializerRequest){var useRequest=function(){var v=Module.memoryInitializerRequest,l=v.response;if(v.status!==200&&v.status!==0){var s=tryParseAsDataURI(Module.memoryInitializerRequestURL);if(s)l=s.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+v.status+", retrying "+memoryInitializer),doBrowserLoad();return}}applyMemoryInitializer(l)};if(Module.memoryInitializerRequest.response)setTimeout(useRequest,0);else Module.memoryInitializerRequest.addEventListener("load",useRequest)}else doBrowserLoad()}}function ExitStatus(v){this.name="ExitStatus",this.message="Program terminated with exit("+v+")",this.status=v}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var calledMain=!1;dependenciesFulfilled=function v(){if(!Module.calledRun)run();if(!Module.calledRun)dependenciesFulfilled=v},Module.callMain=function v(l){l=l||[],ensureInitRuntime();var s=l.length+1,N=stackAlloc((s+1)*4);HEAP32[N>>2]=allocateUTF8OnStack(Module.thisProgram);for(var j=1;j>2)+j]=allocateUTF8OnStack(l[j-1]);HEAP32[(N>>2)+s]=0;try{var Z=Module._main(s,N,0);exit(Z,!0)}catch(n){if(n instanceof ExitStatus)return;else if(n=="SimulateInfiniteLoop"){Module.noExitRuntime=!0;return}else{var G=n;if(n&&typeof n==="object"&&n.stack)G=[n,n.stack];err("exception thrown: "+G),Module.quit(1,n)}}finally{calledMain=!0}};function run(v){if(v=v||Module.arguments,runDependencies>0)return;if(preRun(),runDependencies>0)return;if(Module.calledRun)return;function l(){if(Module.calledRun)return;if(Module.calledRun=!0,ABORT)return;if(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized)Module.onRuntimeInitialized();if(Module._main&&shouldRunNow)Module.callMain(v);postRun()}if(Module.setStatus)Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),l()},1);else l()}Module.run=run;function exit(v,l){if(l&&Module.noExitRuntime&&v===0)return;if(Module.noExitRuntime);else if(ABORT=!0,EXITSTATUS=v,exitRuntime(),Module.onExit)Module.onExit(v);Module.quit(v,new ExitStatus(v))}function abort(v){if(Module.onAbort)Module.onAbort(v);if(v!==void 0)out(v),err(v),v=JSON.stringify(v);else v="";throw ABORT=!0,EXITSTATUS=1,"abort("+v+"). Build with -s ASSERTIONS=1 for more info."}if(Module.abort=abort,Module.preInit){if(typeof Module.preInit=="function")Module.preInit=[Module.preInit];while(Module.preInit.length>0)Module.preInit.pop()()}var shouldRunNow=!0;if(Module.noInitialRun)shouldRunNow=!1;return Module.noExitRuntime=!0,run(),{get p8_touch_detected(){return p8_touch_detected},set p8_touch_detected(v){p8_touch_detected=v},get p8_dropped_cart(){return p8_dropped_cart},set p8_dropped_cart(v){p8_dropped_cart=v},get p8_dropped_cart_name(){return p8_dropped_cart_name},set p8_dropped_cart_name(v){p8_dropped_cart_name=v},get pico8_state(){return pico8_state},set pico8_state(v){pico8_state=v},get pico8_buttons(){return pico8_buttons},set pico8_buttons(v){pico8_buttons=v},get pico8_gamepads(){return pico8_gamepads},set pico8_gamepads(v){pico8_gamepads=v},get pico8_gpio(){return pico8_gpio},set pico8_gpio(v){pico8_gpio=v},get pico8_audio_context(){return pico8_audio_context},set pico8_audio_context(v){pico8_audio_context=v},get pico8_mouse(){return pico8_mouse},set pico8_mouse(v){pico8_mouse=v}}}});export default JC(); diff --git a/src/pico8-client/rawRenderCart.ts b/src/pico8-client/rawRenderCart.ts new file mode 100644 index 0000000..b65b1eb --- /dev/null +++ b/src/pico8-client/rawRenderCart.ts @@ -0,0 +1,29 @@ +// @ts-ignore +import renderCart from "./build/rawRenderCart.js"; + +type PicoBool = 0 | 1; + +type RenderCart = (Module: {canvas: HTMLCanvasElement}, cartNames: string[], cartDatas: number[][]) => { + p8_touch_detected?: PicoBool; + p8_dropped_cart?: string; + p8_dropped_cart_name?: string; + pico8_state?: Partial<{ + frame_number: number; + has_focus: PicoBool; + is_paused: PicoBool; + request_pointer_lock: PicoBool; + require_page_navigate_confirmation: PicoBool; + show_dpad: PicoBool; + shutdown_requested: PicoBool; + sound_volume: number; + }>; + pico8_buttons?: [number, number, number, number, number, number, number, number]; + pico8_gamepads?: {count: number}; + pico8_gpio?: number[]; // should be 128 length + pico8_audio_context?: AudioContext; + pico8_mouse?: [number, number, number]; +} + +const typedRenderCart = renderCart as RenderCart; + +export {typedRenderCart as renderCart} \ No newline at end of file diff --git a/src/pico8-client/renderCart.ts b/src/pico8-client/renderCart.ts new file mode 100644 index 0000000..0d7e753 --- /dev/null +++ b/src/pico8-client/renderCart.ts @@ -0,0 +1,126 @@ +import { renderCart as rawRenderCart } from "./rawRenderCart"; + +type PicoCart = { + name: string; + data: string; // TODO: ideally, accept png data url as well (or even just actual url?) +} + +type PlayerButtons = { + left: boolean; + right: boolean; + up: boolean; + down: boolean; + o: boolean; + x: boolean; + menu: boolean; +} + +type PicoPlayerHandle = { + // external things + readonly canvas: HTMLCanvasElement; + + // i/o + setButtons: (buttons: PlayerButtons[]) => void; + setMouse: (mouse: { + x: number; + y: number; + leftClick: boolean; + rightClick: boolean; + }) => void; + setGamepadCount: (count: number) => void; + readonly gpio: number[]; // read + write (should be 256-tuple) + + // audio + setAudioContext: (audioContext: AudioContext) => void; + + // state (all communicated out) + readonly state: { + readonly frameNumber: number; + readonly isPaused: boolean; + readonly hasFocus: boolean; + readonly requestPointerLock: boolean; + readonly requirePageNavigateConfirmation: boolean; + readonly showDpad: boolean; + readonly shutdownRequested: boolean; + readonly soundVolume: number; + }; + + // misc? + setTouchDetected: (touchDetected: boolean) => void; + dropCart: (cart: PicoCart) => void; +} + +const imageToNumbers = async (url: string): Promise => { + return []; +} + +const bitfield = (...args: boolean[]): number => { + if (!args.length) { + return 0; + } + return (args[0]?1:0)+2*bitfield(...args.slice(1)); +} + +export const makePlayer = async (carts: PicoCart[]): Promise => { + const canvas = document.createElement("canvas"); + canvas.style.imageRendering = "pixelated"; + const Module = {canvas}; + const handle = rawRenderCart(Module, carts.map(cart => cart.name), await Promise.all(carts.map(cart => imageToNumbers(cart.data)))); + handle.pico8_state = {}; + handle.pico8_buttons = [0,0,0,0,0,0,0,0]; + handle.pico8_mouse = [0,0,0]; + handle.pico8_gpio = [ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + ]; + handle.pico8_gamepads = {count: 0}; + return { + canvas, + state: { + frameNumber: handle.pico8_state.frame_number!, + isPaused: !!handle.pico8_state.is_paused!, + hasFocus: !!handle.pico8_state.has_focus!, + requestPointerLock: !!handle.pico8_state.request_pointer_lock!, + requirePageNavigateConfirmation: !!handle.pico8_state.require_page_navigate_confirmation!, + showDpad: !!handle.pico8_state.show_dpad!, + shutdownRequested: !!handle.pico8_state.shutdown_requested!, + soundVolume: handle.pico8_state.sound_volume!, + }, + gpio: handle.pico8_gpio, + setMouse({x, y, leftClick, rightClick}) { + handle.pico8_mouse = [x, y, bitfield(leftClick, rightClick)]; + }, + setButtons(buttons) { + // TODO: pad this properly here instead of casting + handle.pico8_buttons = buttons.map(({left, right, up, down, o, x, menu}) => bitfield(left, right, up, down, o, x, menu)) as any; + }, + setGamepadCount(count) { + handle.pico8_gamepads = {count}; + }, + setTouchDetected(touchDetected) { + handle.p8_touch_detected = touchDetected ? 1 : 0; + }, + dropCart(cart) { + handle.p8_dropped_cart_name = cart.name; + // TODO: make sure this is a dataURL first, and if not, load it and then pass it in + handle.p8_dropped_cart = cart.data; + }, + setAudioContext(audioContext) { + handle.pico8_audio_context = audioContext; + } + } +} \ No newline at end of file diff --git a/test5.js b/src/pico8-client/veryRawRenderCart.js similarity index 95% rename from test5.js rename to src/pico8-client/veryRawRenderCart.js index 2bc8223..95ecead 100644 --- a/test5.js +++ b/src/pico8-client/veryRawRenderCart.js @@ -1,4 +1,4 @@ -__carts.push(function (Module) { +P8 = function (Module, cartNames, cartDatas) { let p8_touch_detected; let p8_dropped_cart; let p8_dropped_cart_name; @@ -8,138 +8,12 @@ __carts.push(function (Module) { let pico8_gpio; let pico8_audio_context; let pico8_mouse; - // BEGIN ORIGINAL EXPORT - var _cartname=[`mygame.p8`]; + + var _cartname=cartNames; + var _cartdat=[...cartDatas]; + + // BEGIN ORIGINAL EXPORT (modulo _cartname and _cartdat) var _cdpos=0; var iii=0; var ciii=0; - var _cartdat=[ - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,112,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,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,112,120,97,0,78,0,67,233,217,175,112,255,217,175,112,252,11,68,187,103,119,79,112,251,233,229,241,71,92,209,55,109,215,248,62,197,35,132,239,224,138,173,133,55,120,6,155,100,105,84,215,23,93,116,206,136,71,110,242,224,85,27,183,201,134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){function runWithFS(){var fileData0=[];fileData0.push.apply(fileData0,[67,80,79,68,68,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,70,73,76,0,0,0,0,123,144,0,0,112,111,100,47,112,105,99,111,56,95,98,111,111,116,46,112,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,1,0,0,242,16,112,105,99,111,45,56,32,99,97,114,116,114,105,100,103,101,32,47,47,32,104,116,116,112,58,47,47,119,119,119,46,31,0,255,13,46,99,111,109,10,118,101,114,115,105,111,110,32,56,10,95,95,108,117,97,95,95,10,10,45,45,62,56,6,0,25,159,95,95,103,102,120,95,95,10,48,1,0,108,15,129,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,45,1,137,64,31,102,137,64,112,15,139,1,109,15,1,1,239,95,95,95,109,97,112,10,2,240,15,1,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,50,95,95,115,187,98,48,49,48,99,17,0,161,51,48,53,53,53,50,98,53,54,53,10,0,64,51,53,53,52,5,0,128,49,53,51,53,55,48,53,48,3,0,15,5,0,106,0,169,0,16,56,12,0,115,50,52,48,51,53,50,52,26,0,15,91,2,130,30,49,154,0,15,169,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,238,113,95,95,109,117,115,105,99,114,74,50,32,52,49,2,0,15,12,0,255,255,224,80,49,52,49,10,10,99,70,73,76,0,0,0,0,18,190,12,0,112,111,100,47,103,102,120,49,46,112,111,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,74,0,0,243,22,67,80,79,68,68,0,0,0,1,0,0,0,103,102,120,49,46,112,111,100,0,47,112,97,98,97,47,112,105,99,111,56,47,112,111,100,47,25,0,63,12,1,0,1,0,10,177,67,66,77,80,20,0,1,0,128,0,0,4,0,47,32,0,1,0,255,255,255,255,255,255,255,255,207,79,77,0,255,255,4,0,73,47,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,91,63,163,255,255,4,0,73,47,232,241,4,0,75,47,170,204,4,0,75,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,155,79,39,236,255,255,4,0,73,47,232,241,4,0,255,12,47,168,119,4,0,75,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,59,15,1,0,77,79,54,228,0,255,4,0,73,15,160,1,77,63,156,118,131,4,0,74,15,160,1,77,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,155,15,1,0,77,79,255,173,41,255,4,0,73,15,99,1,77,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,92,15,1,0,255,255,255,255,255,255,255,36,97,67,80,65,76,0,3,11,0,255,39,29,43,83,126,37,83,0,135,81,171,82,54,95,87,79,194,195,199,255,241,232,255,0,77,255,163,0,255,236,39,0,228,54,41,173,255,131,118,156,255,119,168,255,204,170,0,0,0,2,4,6,2,4,8,3,0,101,111,3,5,10,3,5,10,126,0,100,31,9,54,0,37,27,9,192,0,5,3,0,254,33,41,24,20,17,29,53,66,33,54,18,83,89,116,47,41,73,51,59,162,136,121,243,239,125,190,18,80,255,108,36,168,231,46,0,181,67,6,90,181,117,70,101,255,110,89,255,157,129,122,1,15,3,0,255,44,255,2,67,66,77,80,164,1,0,0,40,0,0,0,10,0,0,0,8,68,3,24,15,44,0,20,63,9,7,15,39,0,17,95,10,7,7,7,14,41,0,17,51,11,7,13,10,0,66,7,7,7,7,5,0,20,0,5,0,22,7,25,0,37,0,12,39,0,0,3,0,5,4,0,4,16,0,0,10,0,1,3,0,23,0,79,0,14,40,0,3,99,0,9,40,0,5,7,0,10,80,0,1,18,0,12,40,0,6,165,0,9,159,0,31,7,180,4,54,57,79,72,67,180,4,91,231,39,0,231,86,180,4,15,1,0,29,240,3,28,0,73,109,24,69,0,122,44,160,72,50,52,54,53,173,177,183,100,14,240,8,0,77,255,132,0,255,255,39,0,226,50,41,173,255,174,75,176,255,136,188,255,214,197,48,0,32,48,102,144,0,177,131,72,171,82,54,63,65,65,180,182,188,48,0,49,42,255,163,79,0,96,231,86,41,162,255,132,48,0,245,7,175,255,217,177,0,0,0,32,51,123,140,28,60,0,131,49,171,100,54,80,80,80,120,0,35,255,155,9,0,97,63,155,255,132,112,169,192,0,0,75,0,255,0,28,24,87,135,37,77,0,147,60,0,0,0,69,69,69,180,0,2,98,146,133,174,255,105,154,48,0,48,55,67,91,19,0,143,135,81,0,0,0,86,70,59,48,0,2,53,131,118,156,12,0,53,37,55,77,12,0,63,101,91,82,32,1,14,53,43,55,66,12,0,63,79,72,67,48,0,15,37,62,83,12,0,63,95,87,79,48,0,14,79,29,43,83,0,1,0,255,4,48,255,0,255,180,4,158,20,48,0,0,128,0,0,0,96,180,4,15,1,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,26,0,28,48,83,36,0,0,0,4,4,0,9,28,48,241,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,72,48,33,0,1,72,48,0,76,48,47,32,0,1,0,255,255,255,255,255,255,255,255,207,79,77,0,255,255,4,0,73,47,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,91,63,163,255,255,4,0,72,15,32,170,78,47,170,204,4,0,75,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,155,79,39,236,255,255,4,0,73,47,232,241,4,0,255,12,47,168,119,4,0,75,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,59,15,1,0,77,79,54,228,0,255,4,0,73,15,160,1,77,63,156,118,131,4,0,74,15,160,1,77,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,155,15,1,0,77,79,255,173,41,255,4,0,73,15,99,1,77,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,92,15,1,0,255,255,255,255,255,255,255,36,151,67,66,77,80,84,0,0,0,8,4,0,4,1,0,20,8,1,0,36,2,2,8,0,36,2,2,8,0,42,2,2,8,0,8,40,0,3,1,0,15,92,0,18,36,15,15,8,0,36,15,15,8,0,42,15,15,8,0,8,40,0,15,92,0,25,6,147,0,3,186,0,4,176,0,19,8,15,0,36,8,8,208,0,15,92,0,33,40,15,15,186,0,4,176,0,19,8,15,0,36,8,8,208,0,15,92,0,32,47,2,2,191,0,1,6,16,0,4,185,0,3,8,0,15,92,0,26,47,15,15,191,0,1,6,16,0,4,185,0,3,8,0,6,92,0,95,100,0,0,0,10,20,1,12,6,194,0,3,2,0,15,10,0,23,15,108,0,39,19,15,2,0,15,10,0,22,15,216,0,50,15,20,0,8,15,216,0,62,15,20,0,30,0,108,0,95,68,1,0,0,38,108,0,1,15,1,0,33,2,236,3,45,2,2,164,0,37,15,15,4,0,85,8,2,2,15,15,39,0,18,2,103,3,1,5,1,5,162,0,0,165,0,16,2,115,2,5,139,3,21,8,7,2,6,72,0,13,38,0,1,76,0,3,43,0,4,202,1,2,76,0,8,114,0,7,83,2,10,38,0,8,190,0,6,118,0,31,2,251,0,8,15,76,1,98,2,231,0,39,2,8,93,5,0,222,0,2,156,3,35,15,15,67,1,5,90,2,5,210,4,1,42,1,4,243,0,3,29,1,6,72,0,12,38,0,1,76,0,3,43,0,5,123,1,43,2,8,114,0,7,51,3,10,38,0,8,190,0,39,15,15,114,0,15,76,1,22,95,36,0,0,0,2,76,1,0,244,1,0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15,44,0,23,8,48,0,5,44,0,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,88,0,10,255,0,10,4,9,2,8,3,11,1,12,13,14,5,15,6,7,40,5,9,34,6,7,1,0,33,13,6,1,0,0,8,0,33,5,5,8,0,129,5,5,5,5,6,7,13,5,1,0,8,32,0,2,8,0,2,1,0,31,6,92,0,10,3,37,0,18,7,52,0,8,8,0,33,5,5,8,0,1,100,0,34,13,7,100,0,6,32,0,2,1,0,31,6,184,0,26,5,168,0,3,184,0,5,200,0,15,184,0,56,5,168,0,3,184,0,5,200,0,15,184,0,23,31,5,1,0,44,0,92,0,19,44,84,0,31,3,20,1,4,19,1,236,0,18,1,1,0,1,144,0,32,20,32,68,2,60,0,0,32,44,2,255,1,0,5,1,2,1,13,6,2,4,9,3,13,5,13,6,0,1,0,221,11,88,3,15,255,0,221,16,5,0,2,30,13,0,2,15,1,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,242,4,72,34,19,4,4,0,9,28,32,255,0,5,6,7,2,4,9,10,1,13,14,15,3,11,12,8,44,0,18,67,3,11,8,2,160,34,19,35,164,32,28,5,168,32,81,0,0,6,6,0,164,32,34,0,6,131,0,19,45,39,0,12,43,0,11,174,0,17,2,2,0,31,0,200,41,12,7,106,0,0,99,0,1,113,0,2,118,0,11,8,0,4,32,0,14,20,1,15,92,0,33,47,8,8,92,0,20,83,164,0,0,0,12,4,0,8,92,0,31,11,1,0,124,0,172,0,19,76,164,0,27,7,172,0,3,35,35,31,5,8,0,29,15,84,0,9,2,183,34,47,6,5,8,0,29,15,168,0,12,31,5,4,0,1,4,1,0,15,32,0,1,15,168,0,16,31,5,4,0,1,4,1,0,15,32,0,1,15,168,0,14,18,5,2,0,5,152,0,15,16,0,20,15,168,0,10,18,5,2,0,5,152,0,15,16,0,20,15,80,1,11,1,53,1,3,138,0,31,13,168,36,6,4,32,0,4,48,0,15,80,1,11,1,53,1,3,138,0,31,6,84,0,6,4,32,0,4,48,0,15,144,4,10,65,13,13,0,13,6,0,32,0,13,6,0,15,44,0,10,0,136,4,96,11,7,6,6,11,11,151,4,30,0,172,0,15,74,5,17,95,10,10,10,10,0,104,5,5,15,84,0,70,98,20,64,0,0,128,0,4,0,8,84,0,79,1,0,0,1,4,0,102,15,127,0,111,31,1,127,0,236,15,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,15,196,68,19,51,0,0,14,7,0,19,14,7,0,10,16,0,5,32,0,15,32,69,32,5,24,0,36,8,8,58,106,9,16,0,5,32,0,15,92,0,33,42,14,0,168,0,4,185,0,5,16,0,31,0,92,0,39,42,8,0,168,0,4,185,0,5,16,0,15,92,0,40,4,1,0,34,7,7,7,0,2,13,66,18,7,12,0,2,20,0,47,0,7,92,0,44,4,66,0,17,7,82,0,47,7,7,92,0,59,3,187,0,8,93,0,47,7,7,92,0,49,1,187,104,1,172,0,8,4,0,3,20,0,15,184,0,46,6,165,0,6,8,0,2,114,0,15,92,0,45,40,7,0,89,0,4,110,1,3,182,0,15,92,0,48,22,7,2,0,3,1,0,7,19,0,9,120,1,15,132,2,36,6,99,1,5,14,1,14,112,1,15,56,112,32,8,10,0,5,199,113,15,16,113,68,8,10,0,5,215,113,15,16,113,67,36,2,8,157,111,15,20,0,18,15,216,0,42,36,15,8,189,110,15,20,0,18,15,48,116,34,25,2,175,1,5,128,115,11,0,117,15,48,116,35,25,15,159,1,5,128,115,11,0,117,15,48,116,29,4,144,111,7,2,0,22,2,69,2,7,16,0,11,117,112,15,48,116,17,2,135,117,39,15,8,2,0,22,15,53,2,7,16,0,3,255,116,15,20,1,26,3,17,2,6,46,114,15,8,0,3,12,57,2,15,88,118,21,2,63,118,6,12,0,15,8,0,1,12,41,2,15,16,119,22,9,0,119,1,162,0,6,16,0,6,41,2,47,8,8,184,0,32,25,8,0,119,1,162,0,6,16,0,6,41,2,47,8,8,184,0,31,4,113,1,6,8,0,8,248,2,42,2,2,8,0,15,184,0,27,4,113,1,6,8,0,8,248,2,42,15,15,8,0,15,60,3,28,21,8,98,120,5,49,2,6,8,0,4,24,0,7,50,119,15,92,0,26,5,98,120,5,49,2,6,8,0,4,24,0,7,50,119,15,128,120,32,11,88,4,15,80,4,53,14,88,4,15,80,4,17,14,112,79,15,14,7,2,19,6,68,113,7,82,7,19,7,208,79,4,212,79,15,1,0,28,8,60,0,8,84,0,8,108,0,12,28,80,82,1,0,0,20,0,4,0,15,232,9,15,41,7,6,111,0,9,188,0,14,196,0,14,153,0,15,1,0,216,14,4,1,15,44,1,3,14,84,1,15,56,83,7,48,5,0,0,84,78,31,36,208,77,1,15,188,1,17,23,6,4,0,41,7,7,15,0,15,204,1,3,15,220,1,1,15,249,0,20,15,39,0,46,31,6,144,0,255,255,255,154,15,108,0,53,15,164,4,15,15,100,88,22,98,56,19,0,0,70,0,4,0,47,8,0,1,0,62,1,120,121,1,88,88,15,8,0,3,2,229,14,47,6,6,38,0,7,14,112,5,15,137,0,35,15,70,0,123,31,6,57,7,48,15,70,0,34,15,114,8,140,15,24,1,119,15,48,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,53,15,164,1,255,6,15,70,0,49,15,82,18,53,31,0,180,148,88,6,97,144,9,156,29,9,160,145,8,9,0,15,236,28,26,40,15,15,40,147,11,253,30,5,33,31,5,9,0,14,164,29,15,184,0,22,14,8,0,14,208,0,15,184,0,37,14,8,0,14,208,0,15,184,0,31,10,8,0,14,44,150,15,184,0,41,10,8,0,14,44,150,12,184,0,16,141,72,108,3,4,0,15,104,21,42,22,1,10,0,38,7,1,11,0,38,7,1,11,0,38,7,1,11,0,37,7,1,33,0,5,34,0,35,1,7,137,40,23,69,211,37,31,8,103,0,1,2,99,0,2,4,0,17,1,42,0,19,1,14,0,6,127,0,0,6,0,15,226,0,24,38,1,0,170,0,20,1,149,0,1,11,0,42,7,1,11,0,51,1,1,7,193,0,37,1,7,11,0,2,213,0,2,11,0,2,34,0,29,1,248,0,63,0,1,1,149,0,13,15,160,0,41,14,138,0,15,149,0,28,83,245,0,0,0,15,4,0,15,116,23,60,6,30,2,11,34,2,3,15,0,6,222,0,9,213,0,9,110,1,42,0,0,114,1,27,0,225,0,12,229,0,12,233,0,6,237,0,12,158,0,14,253,0,15,81,144,89,31,0,253,0,111,14,106,108,12,126,146,1,141,111,3,167,109,30,13,8,0,4,32,0,7,118,146,15,84,0,15,34,6,6,154,109,82,8,8,8,7,6,8,0,23,8,8,0,4,32,0,15,84,0,34,82,9,9,9,7,6,8,0,23,9,8,0,15,84,0,42,82,10,10,10,7,6,8,0,23,10,8,0,15,84,0,42,82,11,11,11,7,6,8,0,23,11,8,0,15,84,0,42,82,12,12,12,7,6,8,0,23,12,8,0,15,84,0,42,82,14,14,14,7,6,8,0,23,14,8,0,14,84,0,15,248,1,66,19,55,235,115,15,84,0,3,1,29,0,51,1,1,13,226,2,0,5,0,1,20,0,15,63,0,25,10,7,10,10,63,0,15,210,0,5,23,0,217,4,34,1,1,97,3,23,1,206,48,1,8,0,15,114,3,0,15,84,0,97,6,91,0,39,1,0,115,49,2,92,0,1,16,0,14,168,5,15,84,0,103,3,67,0,15,8,0,6,47,0,0,84,0,81,15,232,46,27,9,1,0,14,17,45,15,92,0,37,42,7,7,145,46,8,11,0,14,102,0,15,48,46,31,42,7,0,200,45,4,84,47,31,7,180,48,53,5,107,0,3,3,48,3,8,0,31,0,180,48,50,7,149,46,7,156,46,15,160,47,49,13,121,1,15,92,0,49,5,11,1,9,2,0,14,127,14,15,132,2,40,42,7,7,4,0,14,92,0,15,128,50,47,6,32,2,14,232,2,15,40,2,40,11,8,0,15,112,1,48,27,7,43,3,7,212,1,15,92,0,56,31,0,132,2,64,11,126,50,6,200,0,31,0,184,0,53,8,80,4,15,60,3,63,25,7,40,2,15,112,1,66,14,8,0,11,92,0,83,101,0,0,0,9,4,0,15,60,3,13,20,6,159,123,0,205,157,2,146,17,45,13,6,9,0,4,27,0,3,46,0,3,213,122,15,109,0,21,5,178,52,0,86,158,2,160,3,45,13,7,9,0,4,27,0,3,46,0,5,9,0,4,118,0,15,218,0,41,19,6,191,0,13,9,0,15,218,0,56,4,182,0,13,9,0,15,218,0,74,5,191,0,5,180,1,15,218,0,61,0,2,11,3,182,0,3,9,0,20,14,200,0,7,27,0,10,218,0,18,14,1,0,15,218,0,50,14,227,0,15,218,0,63,14,227,0,15,218,0,17,98,20,1,0,0,16,0,4,0,14,59,15,15,44,129,235,15,28,1,5,28,7,1,0,11,31,5,15,16,0,205,15,56,2,13,15,43,1,233,15,46,4,29,21,1,203,12,53,13,7,13,13,20,11,18,0,15,231,12,3,15,41,7,1,15,18,3,76,15,109,0,19,46,7,0,126,11,25,7,246,59,11,99,8,14,47,10,15,109,0,21,7,36,10,15,9,0,4,6,255,4,8,238,25,9,138,2,15,109,0,19,14,242,11,14,11,61,14,18,0,13,54,0,15,218,0,22,8,109,60,26,7,9,0,4,209,0,9,89,1,14,74,1,15,180,1,96,162,148,0,2,0,160,0,0,0,205,0,127,166,4,28,0,53,105,102,102,4,0,79,8,4,2,255,4,0,255,255,83,8,116,2,8,124,2,63,103,102,102,4,0,255,255,84,12,132,2,14,124,2,15,132,2,255,255,85,15,124,2,255,255,103,8,132,2,15,128,2,255,255,255,255,255,174,63,77,0,255,128,2,255,255,104,34,0,155,155,250,63,188,204,255,128,2,255,255,96,42,39,231,31,253,63,168,119,255,0,5,255,255,96,34,50,226,247,255,62,169,112,132,124,2,15,128,2,255,217,42,232,241,140,4,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,0,27,210,15,124,1,165,63,167,171,178,8,0,26,8,56,0,4,4,0,15,16,0,1,8,20,0,15,16,0,4,15,80,0,10,14,28,0,14,72,0,14,56,0,15,128,2,99,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,14,36,0,15,128,2,219,12,24,0,14,12,0,15,48,0,2,15,136,0,18,15,72,0,12,15,128,2,130,14,216,4,15,128,2,43,15,76,5,8,15,128,2,242,15,152,4,0,15,56,2,38,14,72,2,14,128,2,15,160,0,8,15,0,5,118,14,28,0,15,0,5,51,14,72,0,15,0,5,183,14,8,2,15,24,2,26,15,0,5,57,15,128,2,186,15,20,10,16,15,252,9,37,15,128,2,230,15,16,5,29,12,72,0,15,136,0,25,15,72,0,12,15,128,2,65,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,15,80,57,255,246,15,128,2,105,63,139,138,136,4,0,255,235,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,15,4,0,255,242,15,128,2,48,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,51,31,103,124,82,255,255,46,78,105,102,102,0,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,101,14,128,2,15,124,2,255,255,77,15,128,2,4,15,124,2,255,255,104,14,132,2,15,124,2,255,255,97,14,132,2,15,124,2,255,255,97,8,132,2,15,4,0,255,255,55,15,116,2,21,255,3,67,66,77,80,148,0,2,0,160,0,0,0,205,0,0,0,32,0,1,0,3,14,156,2,15,4,0,255,255,69,15,124,2,0,15,36,20,255,255,96,15,124,2,255,255,103,12,132,2,14,124,2,15,156,122,255,255,255,255,255,255,255,255,31,63,77,0,255,128,2,255,255,104,191,0,155,255,255,232,241,255,255,188,204,255,128,2,255,255,96,34,39,231,124,2,4,4,0,63,168,119,255,0,5,255,255,96,49,50,226,0,124,2,62,169,112,132,124,2,15,128,2,255,217,42,232,241,140,4,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,63,255,173,41,172,1,214,53,167,171,178,4,0,15,16,0,1,8,20,0,14,16,0,15,80,0,15,14,36,0,15,80,0,6,14,64,0,15,128,2,100,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,15,44,4,225,8,248,1,8,16,2,14,12,0,15,48,0,6,15,32,0,34,14,48,0,15,128,2,127,14,216,4,15,128,2,43,15,76,5,8,15,128,2,234,15,144,4,0,15,48,2,38,14,64,2,15,128,2,31,14,192,2,15,0,5,103,14,28,0,15,0,5,51,14,72,0,15,0,5,235,14,20,0,15,0,5,42,15,128,2,194,15,20,10,16,15,252,9,17,15,0,5,254,12,16,0,15,160,9,16,15,80,5,38,15,80,0,8,15,128,2,65,15,156,162,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,54,31,8,28,190,255,255,110,0,60,0,0,132,44,15,4,0,255,234,15,128,2,255,255,255,255,255,255,255,255,201,8,108,35,15,16,0,25,15,64,0,15,15,128,2,255,255,25,57,83,37,126,64,2,8,16,0,0,12,0,12,16,0,46,232,241,64,0,0,4,0,14,16,0,15,128,2,255,255,21,15,8,0,13,14,244,4,15,0,5,255,255,61,15,8,0,13,12,208,4,8,128,2,14,32,5,10,48,5,15,0,10,255,255,71,47,232,241,0,5,255,255,53,4,176,4,4,224,4,15,16,0,56,15,128,2,255,255,20,15,4,0,72,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,218,63,188,182,180,4,0,2,15,0,5,255,255,91,49,53,54,52,8,0,49,54,82,171,4,0,14,0,5,15,128,2,255,255,77,0,20,81,4,124,2,15,128,2,255,34,15,68,6,4,15,116,2,255,15,12,12,0,34,177,217,252,22,15,0,5,255,34,15,68,6,0,15,128,2,255,19,0,56,1,0,12,0,0,8,0,4,116,25,0,12,0,4,80,1,8,96,1,12,20,0,15,128,2,249,14,68,6,15,120,12,255,16,0,80,2,15,60,6,5,4,112,2,12,4,0,15,128,2,249,15,68,6,8,15,0,5,255,19,14,100,2,14,4,0,15,128,2,255,18,15,68,6,28,15,128,7,254,15,108,2,24,15,128,2,250,15,68,6,36,15,148,7,255,11,31,77,128,22,255,25,15,68,6,12,15,128,2,255,27,14,28,1,15,128,2,195,0,252,101,15,4,0,53,0,128,2,47,168,119,68,6,11,14,112,0,15,4,0,255,4,15,48,1,83,15,128,22,207,14,248,19,15,0,30,255,255,89,14,224,9,15,128,2,255,255,1,15,68,6,84,15,4,0,255,135,15,0,30,255,166,12,84,98,15,0,5,255,130,15,4,0,193,47,232,241,4,0,9,15,0,5,157,15,128,2,255,156,14,124,2,15,132,2,1,15,128,2,255,255,69,14,124,2,15,132,2,9,15,128,2,255,255,49,12,72,2,15,128,2,33,14,148,2,15,128,2,255,255,17,47,232,241,4,0,77,15,128,2,255,244,15,12,2,1,47,232,241,128,2,255,255,81,15,48,7,11,15,132,2,85,15,128,2,255,255,1,15,4,0,53,47,177,217,128,2,255,255,9,15,92,2,49,47,177,217,36,0,19,47,177,217,128,2,255,255,1,14,24,2,15,56,2,19,47,177,217,4,0,43,14,192,2,15,128,2,255,228,8,132,2,15,4,0,105,15,204,5,63,15,128,2,255,176,15,32,0,45,8,40,0,15,128,2,11,15,0,28,73,15,128,17,255,152,12,12,2,12,172,35,12,32,0,15,200,2,11,15,36,0,21,15,0,28,81,15,128,22,255,160,0,120,2,4,20,148,14,48,38,15,0,28,161,15,128,2,255,160,0,16,153,46,39,231,128,2,15,0,28,183,15,128,27,255,140,14,44,43,15,0,28,197,15,128,2,255,76,14,116,45,15,0,28,153,15,128,2,255,172,15,200,9,169,31,168,0,28,90,15,128,2,118,15,200,9,255,79,31,168,0,28,94,15,128,2,195,15,72,26,141,30,168,128,7,15,0,28,255,19,15,0,5,153,4,204,74,23,168,108,62,15,4,0,44,15,0,28,255,111,15,128,2,141,38,77,0,124,2,0,88,4,0,192,0,4,228,69,15,128,2,48,15,0,28,255,111,15,128,2,121,15,164,5,5,4,172,55,8,192,0,8,128,2,15,12,5,40,15,0,28,255,111,15,128,2,113,8,116,2,8,236,113,47,232,241,44,114,3,0,12,0,0,128,2,0,8,0,31,168,140,7,255,45,14,32,0,15,0,28,69,15,128,22,131,47,232,241,128,2,3,12,4,0,15,200,10,5,4,140,2,15,12,12,9,0,160,2,4,4,0,4,140,77,15,188,12,4,15,72,0,36,15,0,65,255,168,15,128,2,0,15,4,0,30,14,0,5,15,4,0,255,132,15,148,81,1,15,128,2,125,14,228,4,15,148,2,6,14,128,7,15,4,0,255,145,4,156,18,4,204,16,15,128,2,145,8,4,0,4,244,6,15,8,20,123,15,204,7,255,24,12,24,94,15,128,2,157,4,192,1,14,128,2,15,244,4,255,136,8,160,6,4,12,0,4,24,94,15,128,2,181,14,40,21,15,4,0,255,120,0,116,2,46,177,217,24,94,15,128,2,112,15,84,56,41,15,4,5,255,151,14,24,94,15,128,12,119,15,84,28,27,15,128,2,255,164,15,24,94,9,15,128,2,117,15,84,28,43,15,128,7,255,152,15,128,2,181,14,92,23,15,4,0,255,156,4,52,24,15,128,2,112,15,4,0,255,143,15,208,103,5,15,80,0,37,4,252,4,0,76,34,15,128,2,255,162,15,68,20,11,15,88,0,39,0,56,43,38,0,155,16,0,4,76,43,4,116,0,0,48,2,4,184,19,15,192,0,49,47,177,217,0,5,255,252,4,148,208,8,84,11,4,144,2,12,56,22,15,116,0,51,15,128,92,255,160,31,168,40,45,88,15,56,22,9,15,108,0,48,15,0,10,255,255,8,8,128,2,47,177,217,80,116,11,15,88,7,0,15,0,5,21,15,128,7,255,255,24,15,80,116,20,15,128,2,255,255,48,15,128,12,3,15,208,113,6,15,128,2,255,151,14,152,1,15,48,2,75,31,177,52,17,7,15,56,22,54,15,212,0,8,15,128,2,255,123,12,148,62,15,176,14,85,31,177,52,17,60,4,4,0,14,248,19,15,128,2,255,144,8,200,6,31,177,48,12,72,14,192,4,14,52,17,15,200,5,80,15,128,7,255,215,15,128,2,1,4,52,7,12,12,0,0,180,14,15,200,0,85,14,236,7,15,128,12,255,196,15,128,7,4,15,52,17,78,15,124,2,8,14,112,10,15,128,2,255,201,4,128,12,4,8,0,42,0,155,20,0,15,52,17,69,15,120,2,8,15,248,12,5,15,128,17,255,203,42,0,155,128,7,4,8,5,15,52,17,24,15,120,2,70,14,136,2,15,0,20,255,200,8,8,10,15,52,17,41,14,184,4,15,120,2,47,14,136,2,15,128,2,255,28,14,116,36,15,128,2,139,12,188,0,15,108,37,44,15,116,2,1,15,132,2,45,15,128,2,255,15,15,248,38,4,15,136,12,158,15,244,4,20,15,4,0,97,15,128,2,254,15,200,8,20,15,56,27,146,14,128,2,15,124,2,6,15,128,2,230,15,100,57,12,15,4,0,255,207,15,0,5,125,15,176,26,44,15,104,6,65,15,20,5,45,15,228,5,145,15,128,7,246,14,176,26,15,104,1,78,15,148,2,218,15,188,0,25,4,180,59,4,192,27,15,128,7,255,255,35,15,76,1,41,12,64,30,15,128,7,196,15,4,0,255,71,15,204,8,27,15,64,30,79,15,4,0,0,15,0,70,109,15,220,11,255,75,12,204,8,15,244,4,21,47,232,241,64,30,11,15,172,6,55,15,128,2,255,204,15,32,2,31,15,196,163,30,15,128,2,255,243,15,48,11,57,15,196,163,36,15,0,10,255,231,15,176,18,16,15,116,47,61,15,0,10,255,251,14,228,9,15,100,0,63,0,120,7,15,192,0,12,15,128,7,209,15,172,17,9,15,128,7,255,55,15,96,1,4,15,128,2,255,3,12,124,6,14,176,27,15,92,10,255,124,15,128,2,193,14,124,6,15,0,30,255,255,29,15,160,3,56,15,128,2,255,255,100,14,4,0,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,169,63,255,155,63,4,0,255,235,15,128,2,255,94,4,176,20,15,128,2,255,255,99,12,48,28,15,128,2,255,255,99,8,48,28,15,128,2,255,255,31,14,60,7,15,128,7,255,204,8,40,13,15,248,0,61,14,92,0,15,60,7,255,0,14,128,1,15,0,5,255,12,12,44,1,14,56,1,15,56,0,22,15,60,7,13,15,8,2,101,15,0,5,255,91,15,160,1,25,14,72,2,15,56,0,30,15,60,7,21,15,32,3,61,15,0,10,255,199,14,52,4,15,56,0,30,15,32,3,77,15,128,2,255,187,12,220,1,14,72,2,15,56,0,30,15,32,3,81,15,0,5,255,191,15,8,10,56,15,32,3,61,15,128,2,255,227,15,144,4,89,14,44,12,15,232,2,79,8,32,62,15,32,0,8,15,80,0,34,15,4,0,20,15,128,2,186,14,212,0,15,80,19,14,15,0,20,154,14,8,10,15,0,30,255,255,89,14,4,0,15,128,2,255,255,255,250,15,32,38,0,15,0,5,255,255,255,133,15,168,3,0,15,128,2,255,135,15,84,5,20,15,8,3,255,54,15,128,12,255,255,111,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,15,4,0,255,242,15,128,2,48,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,248,8,68,58,15,16,0,17,8,20,0,8,32,0,15,228,0,0,15,80,0,34,15,84,0,25,4,12,0,15,8,0,9,14,60,0,14,32,0,15,80,0,4,15,156,0,9,15,128,2,255,59,15,8,0,57,15,240,1,0,15,20,0,10,12,32,0,14,48,0,15,80,0,6,15,128,2,21,15,240,0,69,15,0,5,255,59,15,176,4,13,15,240,1,41,14,100,2,15,128,2,11,15,100,4,0,15,160,0,13,15,64,0,29,15,128,2,49,15,0,5,255,187,15,8,5,37,15,64,0,0,15,0,5,255,163,14,120,1,15,16,9,14,15,128,2,34,15,112,10,0,15,80,10,34,15,80,2,0,14,0,5,15,128,2,20,14,164,0,15,16,10,10,14,4,10,15,0,20,255,255,255,255,255,255,255,255,196,8,8,0,12,180,0,15,48,20,24,15,128,2,255,255,24,15,8,0,0,15,128,14,30,15,24,0,0,15,0,5,255,255,28,15,224,4,0,15,4,22,9,15,64,0,1,15,0,5,255,255,52,14,100,2,14,124,2,15,16,0,20,15,0,30,255,255,52,31,54,0,10,23,15,128,2,255,255,36,15,4,0,64,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,43,53,143,147,154,4,0,15,16,0,1,8,20,0,15,16,0,5,15,80,0,8,15,36,0,10,14,128,0,15,16,0,55,15,112,0,21,15,156,0,1,12,8,0,15,48,0,4,15,32,0,29,15,128,2,255,7,8,8,0,15,12,0,0,15,48,0,13,15,32,0,34,15,240,1,0,15,144,0,13,15,32,0,34,14,112,0,14,8,2,15,144,0,4,15,240,0,50,14,120,0,15,0,5,255,12,15,128,2,29,15,64,5,4,15,128,2,26,15,192,4,17,15,124,5,0,15,128,2,38,14,156,5,15,128,2,46,15,0,5,255,47,14,208,1,15,0,5,187,15,168,4,25,12,16,3,15,240,0,52,15,128,2,255,19,15,0,10,8,14,64,4,15,0,10,52,15,128,2,32,15,48,10,54,15,52,2,4,15,32,6,1,15,32,0,25,15,0,5,255,14,15,0,20,255,255,255,255,255,255,255,113,31,103,124,82,255,255,46,78,0,0,0,0,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,101,14,128,2,15,124,2,255,255,77,15,128,2,4,15,124,2,255,255,104,14,132,2,15,124,2,255,255,97,14,132,2,15,124,2,255,255,97,8,132,2,15,4,0,255,255,55,15,116,2,21,255,2,67,66,77,80,148,0,2,0,160,0,0,0,205,0,0,0,32,156,2,8,15,4,0,255,255,83,15,124,2,5,63,207,195,197,4,0,255,255,76,143,224,210,212,255,242,227,229,255,160,22,1,127,140,134,135,255,173,164,166,128,2,255,255,76,0,124,2,4,4,0,8,28,30,113,75,75,74,255,107,104,104,132,2,14,160,12,15,4,0,255,255,61,49,196,184,186,128,2,53,189,177,181,144,7,0,128,2,0,4,0,14,124,2,15,4,0,255,255,69,127,174,156,166,255,138,129,134,128,2,255,255,255,49,63,77,0,255,128,2,255,255,104,34,0,155,200,82,63,188,204,255,128,2,255,255,96,42,39,231,208,173,63,168,119,255,0,5,255,255,96,68,50,226,0,255,140,251,14,124,2,15,128,2,255,216,12,92,178,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,63,255,173,41,132,1,166,63,167,171,178,8,0,26,8,56,0,4,4,0,15,16,0,1,8,20,0,15,16,0,4,15,80,0,10,14,28,0,14,72,0,14,56,0,15,128,2,99,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,14,36,0,15,128,2,219,12,24,0,14,12,0,15,48,0,2,15,136,0,18,15,72,0,12,15,128,2,130,14,216,4,15,128,2,43,15,76,5,8,15,128,2,242,15,152,4,0,15,56,2,38,14,72,2,14,128,2,15,160,0,8,15,0,5,118,14,28,0,15,0,5,51,14,72,0,15,0,5,183,14,8,2,15,24,2,26,15,0,5,57,15,128,2,186,15,20,10,16,15,252,9,37,15,128,2,230,15,16,5,29,12,72,0,15,136,0,25,15,72,0,12,15,128,2,73,15,4,0,255,255,35,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,31,8,28,190,255,255,38,15,128,2,57,0,132,44,15,4,0,255,234,15,128,2,255,255,255,255,255,255,255,255,201,8,108,35,15,16,0,25,15,64,0,15,15,128,2,255,255,25,57,83,37,126,64,2,8,16,0,0,12,0,12,16,0,46,232,241,64,0,0,4,0,14,16,0,15,128,2,255,255,21,15,8,0,13,14,244,4,15,0,5,255,255,61,15,8,0,13,12,208,4,8,128,2,14,32,5,10,48,5,15,0,10,255,255,71,47,232,241,0,5,255,255,53,4,176,4,4,224,4,15,16,0,56,15,128,2,255,255,20,15,4,0,72,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,218,63,188,182,180,4,0,2,15,0,5,255,255,91,49,53,54,52,8,0,49,54,82,171,4,0,14,0,5,15,128,2,255,255,77,0,20,81,4,124,2,15,128,2,255,34,15,68,6,4,15,116,2,255,15,12,12,0,34,177,217,252,22,15,0,5,255,34,15,68,6,0,15,128,2,255,19,0,56,1,0,12,0,0,8,0,4,116,25,0,12,0,4,80,1,8,96,1,12,20,0,15,128,2,249,14,68,6,15,120,12,255,16,0,80,2,15,60,6,5,4,112,2,12,4,0,15,128,2,249,15,68,6,8,15,0,5,255,19,14,100,2,14,4,0,15,128,2,255,18,15,68,6,28,15,128,7,254,15,108,2,24,15,128,2,250,15,68,6,36,15,148,7,255,11,31,77,128,22,255,25,15,68,6,12,15,128,2,255,27,14,28,1,15,128,2,195,0,252,101,15,4,0,53,0,128,2,47,168,119,68,6,11,14,112,0,15,4,0,255,4,15,48,1,83,15,128,22,207,14,248,19,15,0,30,255,255,89,14,224,9,15,128,2,255,255,1,15,68,6,84,15,4,0,255,135,15,0,30,255,166,12,84,98,15,0,5,255,130,15,4,0,193,47,232,241,4,0,9,15,0,5,157,15,128,2,255,156,14,124,2,15,132,2,1,15,128,2,255,255,69,14,124,2,15,132,2,9,15,128,2,255,255,49,12,72,2,15,128,2,33,14,148,2,15,128,2,255,255,17,47,232,241,4,0,77,15,128,2,255,244,15,12,2,1,47,232,241,128,2,255,255,81,15,48,7,11,15,132,2,85,15,128,2,255,255,1,15,4,0,53,47,177,217,128,2,255,255,9,15,92,2,49,47,177,217,36,0,19,47,177,217,128,2,255,255,1,14,24,2,15,56,2,19,47,177,217,4,0,43,14,192,2,15,128,2,255,228,8,132,2,15,4,0,105,15,204,5,63,15,128,2,255,176,15,32,0,45,8,40,0,15,128,2,11,15,0,28,73,15,128,17,255,152,12,12,2,12,172,35,12,32,0,15,200,2,11,15,36,0,21,15,0,28,81,15,128,22,255,160,0,120,2,4,20,148,14,48,38,15,0,28,161,15,128,2,255,160,0,16,153,46,39,231,128,2,15,0,28,183,15,128,27,255,140,14,44,43,15,0,28,197,15,128,2,255,76,14,116,45,15,0,28,153,15,128,2,255,172,15,200,9,169,31,168,0,28,90,15,128,2,118,15,200,9,255,79,31,168,0,28,94,15,128,2,195,15,72,26,141,30,168,128,7,15,0,28,255,19,15,0,5,153,4,204,74,23,168,108,62,15,4,0,44,15,0,28,255,111,15,128,2,141,38,77,0,124,2,0,88,4,0,192,0,4,228,69,15,128,2,48,15,0,28,255,111,15,128,2,121,15,164,5,5,4,172,55,8,192,0,8,128,2,15,12,5,40,15,0,28,255,111,15,128,2,113,8,116,2,8,236,113,47,232,241,44,114,3,0,12,0,0,128,2,0,8,0,31,168,140,7,255,45,14,32,0,15,0,28,69,15,128,22,131,47,232,241,128,2,3,12,4,0,15,200,10,5,4,140,2,15,12,12,9,0,160,2,4,4,0,4,140,77,15,188,12,4,15,72,0,36,15,0,65,255,168,15,128,2,0,15,4,0,30,14,0,5,15,4,0,255,132,15,148,81,1,15,128,2,125,14,228,4,15,148,2,6,14,128,7,15,4,0,255,145,4,156,18,4,204,16,15,128,2,145,8,4,0,4,244,6,15,8,20,123,15,204,7,255,24,12,24,94,15,128,2,157,4,192,1,14,128,2,15,244,4,255,136,8,160,6,4,12,0,4,24,94,15,128,2,181,14,40,21,15,4,0,255,120,0,116,2,46,177,217,24,94,15,128,2,112,15,84,56,41,15,4,5,255,151,14,24,94,15,128,12,119,15,84,28,27,15,128,2,255,164,15,24,94,9,15,128,2,117,15,84,28,43,15,128,7,255,152,15,128,2,181,14,92,23,15,4,0,255,156,4,52,24,15,128,2,112,15,4,0,255,143,15,208,103,5,15,80,0,37,4,252,4,0,76,34,15,128,2,255,162,15,68,20,11,15,88,0,39,0,56,43,38,0,155,16,0,4]);fileData0.push.apply(fileData0,[76,43,4,116,0,0,48,2,4,184,19,15,192,0,49,47,177,217,0,5,255,252,4,148,208,8,84,11,4,144,2,12,56,22,15,116,0,51,15,128,92,255,160,31,168,40,45,88,15,56,22,9,15,108,0,48,15,0,10,255,255,8,8,128,2,47,177,217,80,116,11,15,88,7,0,15,0,5,21,15,128,7,255,255,24,15,80,116,20,15,128,2,255,255,48,15,128,12,3,15,208,113,6,15,128,2,255,151,14,152,1,15,48,2,75,31,177,52,17,7,15,56,22,54,15,212,0,8,15,128,2,255,123,12,148,62,15,176,14,85,31,177,52,17,60,4,4,0,14,248,19,15,128,2,255,144,8,200,6,31,177,48,12,72,14,192,4,14,52,17,15,200,5,80,15,128,7,255,215,15,128,2,1,4,52,7,12,12,0,0,180,14,15,200,0,85,14,236,7,15,128,12,255,196,15,128,7,4,15,52,17,78,15,124,2,8,14,112,10,15,128,2,255,201,4,128,12,4,8,0,42,0,155,20,0,15,52,17,69,15,120,2,8,15,248,12,5,15,128,17,255,203,42,0,155,128,7,4,8,5,15,52,17,24,15,120,2,70,14,136,2,15,0,20,255,200,8,8,10,15,52,17,41,14,184,4,15,120,2,47,14,136,2,15,128,2,255,28,14,116,36,15,128,2,139,12,188,0,15,108,37,44,15,116,2,1,15,132,2,45,15,128,2,255,15,15,248,38,4,15,136,12,158,15,244,4,20,15,4,0,97,15,128,2,254,15,200,8,20,15,56,27,146,14,128,2,15,124,2,6,15,128,2,230,15,100,57,12,15,4,0,255,207,15,0,5,125,15,176,26,44,15,104,6,65,15,20,5,45,15,228,5,145,15,128,7,246,14,176,26,15,104,1,78,15,148,2,218,15,188,0,25,4,180,59,4,192,27,15,128,7,255,255,35,15,76,1,41,12,64,30,15,128,7,196,15,4,0,255,71,15,204,8,27,15,64,30,79,15,4,0,0,15,0,70,109,15,220,11,255,75,12,204,8,15,244,4,21,47,232,241,64,30,11,15,172,6,55,15,128,2,255,204,15,32,2,31,15,196,163,30,15,128,2,255,243,15,48,11,57,15,196,163,36,15,0,10,255,231,15,176,18,16,15,116,47,61,15,0,10,255,251,14,228,9,15,100,0,63,0,120,7,15,192,0,12,15,128,7,209,15,172,17,9,15,128,7,255,55,15,96,1,4,15,128,2,255,3,12,124,6,14,176,27,15,92,10,255,124,15,128,2,193,14,124,6,15,0,30,255,255,29,15,160,3,56,15,128,2,255,255,100,14,4,0,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,169,63,255,155,63,4,0,255,235,15,128,2,255,94,4,176,20,15,128,2,255,255,99,12,48,28,15,128,2,255,255,99,8,48,28,15,128,2,255,255,31,14,60,7,15,128,7,255,204,8,40,13,15,248,0,61,14,92,0,15,60,7,255,0,14,128,1,15,0,5,255,12,12,44,1,14,56,1,15,56,0,22,15,60,7,13,15,8,2,101,15,0,5,255,91,15,160,1,25,14,72,2,15,56,0,30,15,60,7,21,15,32,3,61,15,0,10,255,199,14,52,4,15,56,0,30,15,32,3,77,15,128,2,255,187,12,220,1,14,72,2,15,56,0,30,15,32,3,81,15,0,5,255,191,15,8,10,56,15,32,3,61,15,128,2,255,227,15,144,4,89,14,44,12,15,232,2,79,8,32,62,15,32,0,8,15,80,0,34,15,4,0,20,15,128,2,186,14,212,0,15,80,19,14,15,0,20,154,14,8,10,15,0,30,255,255,89,14,4,0,15,128,2,255,255,255,250,15,32,38,0,15,0,5,255,255,255,133,15,168,3,0,15,128,2,255,135,15,84,5,20,15,8,3,255,54,15,128,12,255,255,111,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,15,4,0,255,242,15,128,2,56,15,4,0,255,255,35,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,230,49,93,85,88,4,0,0,132,2,15,128,82,255,255,95,4,124,2,0,4,0,0,120,2,78,0,0,0,0,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,93,14,128,2,15,124,2,255,255,93,14,128,2,15,124,2,255,255,93,14,128,2,15,124,2,255,255,93,12,128,2,63,75,65,68,124,2,255,255,92,9,132,2,111,65,68,255,75,56,63,4,0,255,255,52,15,124,2,25,9,132,2,47,56,63,4,0,255,255,56,14,124,2,15,132,2,19,15,4,0,255,255,55,15,116,2,21,208,67,66,77,80,244,0,0,0,32,0,0,0,7,132,2,7,28,0,31,5,1,0,49,31,13,1,0,4,3,31,0,31,6,55,0,5,3,8,0,34,7,6,1,0,27,13,8,0,15,155,0,49,0,252,0,19,84,244,0,27,8,252,0,115,0,0,6,6,6,7,6,9,0,3,18,0,4,26,0,15,88,1,113,15,1,0,44,4,88,1,13,8,0,15,183,1,12,31,13,88,1,46,15,96,1,1,15,88,1,27,19,69,84,1,12,88,1,0,73,0,0,196,0,15,173,1,0,1,23,0,5,105,0,15,77,0,17,9,88,0,4,75,0,0,2,0,3,3,0,3,14,0,6,84,0,15,77,0,22,21,6,86,0,2,63,0,4,83,0,15,77,0,33,2,223,0,25,6,77,0,3,91,0,47,0,0,154,0,35,27,6,154,0,31,6,154,0,32,4,74,0,1,34,0,36,6,0,150,0,28,13,65,3,14,129,1,15,1,0,40,0,77,0,83,101,0,0,0,9,4,0,15,77,0,7,20,7,8,0,36,7,7,8,0,40,7,7,8,0,4,26,0,20,7,44,0,4,42,0,15,109,0,30,5,57,0,15,9,0,6,1,117,0,22,7,106,0,7,18,0,15,109,0,27,19,7,2,0,12,232,0,15,18,0,13,11,54,0,15,218,0,22,40,0,7,66,0,9,9,0,4,209,0,9,89,1,14,74,1,15,180,1,33,12,10,0,4,45,1,22,7,118,0,3,100,0,4,85,2,15,180,1,38,10,69,0,9,162,1,15,32,0,1,31,7,109,0,32,14,253,1,15,9,0,5,15,33,2,48,14,77,1,15,10,0,23,11,218,0,147,148,0,2,0,160,0,0,0,205,227,6,7,31,0,31,255,4,0,255,255,119,14,203,20,15,4,0,255,255,69,15,124,2,255,255,107,14,132,2,14,124,2,15,132,2,255,255,86,15,128,2,255,255,255,255,255,179,63,77,0,255,128,2,255,255,104,34,0,155,127,179,63,188,204,255,128,2,255,255,96,42,39,231,3,182,63,168,119,255,0,5,255,255,96,49,50,226,0,124,2,62,169,112,132,124,2,15,128,2,255,217,12,143,186,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,63,255,173,41,124,1,166,63,167,171,178,8,0,26,8,56,0,4,4,0,15,16,0,1,8,20,0,15,16,0,4,15,80,0,10,14,28,0,14,72,0,14,56,0,15,128,2,99,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,14,36,0,15,128,2,219,12,24,0,14,12,0,15,48,0,2,15,136,0,18,15,72,0,12,15,128,2,130,14,216,4,15,128,2,43,15,76,5,8,15,128,2,242,15,152,4,0,15,56,2,38,14,72,2,14,128,2,15,160,0,8,15,0,5,118,14,28,0,15,0,5,51,14,72,0,15,0,5,183,14,8,2,15,24,2,26,15,0,5,57,15,128,2,186,15,20,10,16,15,252,9,37,15,128,2,230,15,16,5,29,12,72,0,15,136,0,25,15,72,0,12,15,128,2,65,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,15,56,57,255,255,47,15,64,0,49,63,139,138,136,4,0,255,235,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,15,4,0,255,242,15,128,2,48,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,157,14,60,2,15,128,2,255,255,89,15,124,2,44,15,128,2,45,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,52,15,128,2,40,15,124,2,255,255,47,15,128,82,255,255,68,15,192,107,32,15,124,2,255,255,108,14,128,2,15,124,2,255,255,40,15,128,2,37,15,124,2,255,255,108,14,128,2,15,124,2,255,255,32,15,128,2,45,15,124,2,255,255,108,14,128,2,15,124,2,255,255,28,15,132,2,53,15,124,2,255,255,108,14,132,2,15,124,2,255,255,12,15,4,0,255,255,188,255,3,67,66,77,80,20,6,0,0,48,0,0,0,32,0,0,0,8,0,1,0,89,31,6,1,0,24,15,47,0,28,47,6,6,47,0,17,79,7,7,7,7,24,0,5,31,7,48,0,23,46,7,7,49,0,15,119,0,12,31,5,48,0,27,63,5,5,5,48,0,25,16,5,1,0,15,144,0,4,15,192,0,48,17,13,47,0,63,13,6,6,60,1,14,2,13,0,18,13,1,0,14,87,1,12,124,0,18,7,26,1,20,6,47,0,30,5,49,0,9,12,1,0,47,0,6,25,1,2,13,0,14,48,0,1,83,0,14,73,1,13,75,0,47,7,7,96,0,23,5,183,0,15,192,0,2,6,123,0,4,192,0,5,135,0,9,60,1,10,73,1,8,87,1,5,35,2,4,60,1,2,34,0,9,73,1,8,27,0,6,231,0,7,47,0,39,6,6,47,0,5,87,1,14,243,1,15,64,2,4,15,243,1,24,13,160,2,9,183,0,15,0,3,17,14,47,0,15,160,2,68,14,48,0,14,173,0,15,49,0,0,15,173,0,22,30,6,129,4,15,225,4,65,15,158,5,79,15,28,6,255,255,79,16,14,1,0,15,28,6,23,0,46,0,63,5,14,14,28,6,22,0,47,0,0,48,0,31,6,28,6,20,0,47,0,10,48,0,14,28,6,15,96,0,0,15,28,6,22,4,192,0,15,28,6,22,1,32,1,15,28,6,255,255,255,255,232,10,197,4,2,42,6,31,6,56,12,21,1,104,5,47,14,14,56,12,22,2,201,5,31,14,56,12,22,9,42,6,14,56,12,15,96,0,5,15,56,12,22,8,192,0,15,56,12,18,7,42,6,15,28,6,255,255,255,138,14,197,4,15,48,0,10,46,14,14,49,0,15,155,0,9,2,94,10,15,48,0,25,8,239,10,15,48,0,16,1,220,3,15,144,0,4,15,192,0,48,10,239,10,15,84,18,255,255,255,255,255,255,43,15,28,6,255,69,10,171,19,15,28,6,14,4,252,7,14,28,6,15,92,8,22,14,243,1,14,188,8,15,111,5,0,15,28,9,23,14,111,5,15,188,8,68,31,6,28,6,255,255,255,107,9,199,3,15,28,6,15,9,248,3,15,28,6,16,12,9,18,15,28,6,13,0,135,4,7,48,0,15,28,6,11,15,96,0,23,5,51,1,14,192,0,15,28,6,12,8,184,4,15,56,12,255,255,255,255,255,153,4,226,5,15,96,0,20,5,19,6,15,56,12,20,5,163,6,15,56,12,20,5,91,11,15,28,6,20,6,3,7,15,28,6,19,14,139,11,14,28,6,14,71,20,15,28,6,255,255,219,14,31,3,14,28,6,14,48,0,15,196,42,255,255,255,255,220,83,69,0,0,0,7,4,0,15,28,6,1,86,6,9,9,9,6,7,0,2,153,0,0,176,1,3,14,0,15,77,0,27,3,63,0,72,5,5,5,6,14,0,31,6,77,0,33,4,22,0,241,2,9,7,15,0,0,0,10,7,7,7,14,0,0,0,11,7,13,22,0,31,12,231,0,28,0,239,1,6,7,0,15,231,0,44,70,12,12,12,6,7,0,15,77,0,43,35,13,13,7,0,63,13,13,13,7,0,2,15,52,1,27,18,7,6,0,18,7,6,0,8,14,0,4,28,0,15,77,0,30,4,64,0,3,79,0,47,7,7,77,0,33,1,145,4,15,7,0,8,31,0,231,0,35,18,7,6,0,46,7,7,175,0,15,206,1,22,70,10,10,10,6,7,0,15,2,3,46,3,7,0,6,64,4,11,7,0,15,77,0,16,34,8,8,3,0,83,8,8,8,7,8,1,0,2,15,0,1,29,0,23,8,30,3,15,129,1,21,33,11,11,5,0,66,11,11,11,0,4,0,2,18,0,17,0,5,0,5,7,0,15,77,0,16,18,10,6,0,33,10,10,5,0,65,10,7,10,10,8,0,37,10,0,7,0,5,37,0,15,77,0,14,49,9,9,9,7,0,33,1,9,13,0,49,1,9,9,20,0,65,9,9,0,9,14,0,4,1,0,15,77,0,18,32,4,4,40,0,85,2,2,2,7,2,7,0,85,8,8,8,15,8,7,0,16,2,1,0,15,154,0,19,17,8,16,0,85,12,12,8,12,12,7,0,3,129,1,10,21,0,15,52,1,18,5,159,2,22,7,7,0,17,6,21,0,2,15,2,2,6,0,15,29,5,29,1,140,0,40,12,8,154,0,1,14,0,3,7,0,15,52,1,23,0,252,7,0,135,3,50,8,8,14,7,0,22,8,7,0,30,0,156,3,15,129,1,25,85,14,14,14,15,14,7,0,15,129,1,24,98,15,15,15,0,0,15,7,0,3,7,15,1,9,0,32,0,15,252,5,1,223,0,3,7,0,15,52,1,24,7,93,3,15,79,3,44,102,0,6,8,8,8,6,7,0,15,54,4,43,33,1,1,3,0,32,8,8,3,0,17,1,154,0,1,15,0,32,8,1,29,0,34,8,1,37,0,4,238,13,82,1,0,0,16,0,4,0,9,77,0,25,32,1,0,71,0,32,32,7,1,0,72,32,32,32,7,31,0,31,7,16,0,159,11,208,0,12,240,0,0,28,1,38,120,0,128,4,8,28,1,10,9,1,2,81,0,15,10,0,52,5,1,0,0,128,0,19,84,120,0,27,8,128,0,1,161,0,0,8,0,38,7,7,8,0,5,169,1,1,236,0,7,15,0,26,7,44,0,63,32,32,32,92,0,9,12,93,0,20,32,8,0,11,64,1,3,34,0,27,32,91,0,31,0,92,0,10,3,93,0,19,32,85,0,35,32,7,8,0,21,32,117,0,3,10,0,0,24,0,19,7,8,0,36,32,32,56,0,15,184,0,14,26,32,85,0,8,152,0,9,216,0,9,99,0,31,32,184,0,4,15,93,0,23,15,91,0,5,47,0,32,184,0,16,35,0,0,62,0,2,99,1,4,115,1,5,26,2,8,12,0,2,45,0,39,7,32,55,0,15,92,0,12,8,93,0,6,227,2,42,7,7,4,0,7,60,2,8,53,0,15,92,0,13,5,93,1,3,84,0,42,0,32,80,0,35,32,7,140,2,37,7,7,39,0,8,201,4,15,96,3,5,49,0,0,16,1,0,0,9,0,2,231,8,16,16,10,0,1,110,17,15,10,0,16,6,50,0,1,38,14,5,20,0,21,16,90,0,15,128,0,14,19,0,38,0,69,0,0,16,7,58,0,63,6,15,15,10,0,19,6,50,0,38,7,7,20,0,21,16,90,0,15,0,1,15,0,39,0,4,9,0,6,58,0,15,10,0,50,3,90,0,15,0,1,22,7,206,0,15,10,0,13,20,7,10,0,5,246,0,20,7,119,0,13,1,1,15,0,2,32,10,10,0,20,7,10,0,20,7,10,0,20,7,10,0,5,246,1,35,7,7,129,0,17,16,155,17,8,1,2,15,128,0,139,10,128,1,6,88,1,21,7,88,2,3,10,0,24,7,10,0,20,6,10,0,4,148,1,5,117,0,1,51,0,14,128,1,15,128,2,19,5,57,0,31,7,10,0,1,15,108,2,1,14,30,0,15,128,2,39,7,206,0,36,14,14,88,2,15,10,0,3,15,128,3,21,15,128,4,110,15,128,0,244,16,36,231,11,3,4,0,15,106,24,6,15,44,0,32,16,245,242,11,3,4,0,15,194,24,14,5,190,7,2,14,0,1,170,0,5,53,7,17,6,30,0,0,18,0,1,42,0,53,6,32,32,30,7,67,32,7,7,13,4,8,2,14,0,0,15,0,47,7,32,15,0,3,3,82,20,7,30,0,1,61,10,15,15,0,32,3,16,0,31,32,192,0,2,0,253,0,94,19,1,0,0,17,253,0,15,1,0,51,26,17,1,0,58,0,17,7,1,0,116,17,17,7,7,13,13,7,2,0,2,17,0,7,34,0,16,13,17,0,7,33,0,17,13,17,0,15,68,0,0,17,7,48,1,2,69,0,14,34,0,13,136,0,31,0,190,20,50,15,1,0,14,15,189,8,29,1,146,18,47,5,16,10,0,24,2,40,2,10,20,0,14,189,3,15,128,0,51,6,108,0,14,118,0,14,61,4,15,128,0,53,15,118,0,7,15,189,4,63,15,88,1,11,7,118,0,15,61,5,68,15,118,0,7,15,189,5,83,15,118,0,7,15,128,0,89,15,61,7,255,46,4,69,1,15,128,0,91,11,60,3,31,0,128,0,83,15,40,4,6,15,0,1,74,15,40,4,7,15,128,0,73,14,10,5,15,0,1,81,15,148,5,21,11,148,0,15,128,2,44,15,10,6,27,15,128,1,0,15,128,6,64,15,138,7,26,13,128,0,15,77,8,7,5,186,12,23,16,44,13,19,16,30,14,4,14,0,21,16,42,0,0,77,0,98,184,31,0,0,90,0,4,0,47,8,0,1,0,255,25,0,196,23,1,2,0,0,8,0,2,213,23,0,3,0,12,38,0,4,34,0,47,0,14,90,0,23,3,2,0,1,51,0,23,14,16,0,15,38,0,0,31,0,90,0,27,47,14,0,90,0,17,20,14,4,0,15,180,0,69,31,0,180,0,26,4,143,0,3,90,0,47,14,0,90,0,5,4,138,1,15,28,2,113,15,1,0,9,15,38,0,15,31,0,1,0,255,255,255,37,15,63,3,71,7,124,4,15,90,0,62,1,55,6,15,180,0,69,15,90,0,68,47,14,14,90,0,72,14,31,6,15,28,2,58,15,1,0,255,255,255,194,31,13,1,0,62,47,0,0,126,9,255,255,255,131,31,0,126,9,69,47,14,0,180,0,156,14,233,14,15,126,9,255,255,255,255,255,216,0,28,1,1,4,0,17,0,85,51,1,12,0,9,24,0,34,13,0,28,0,7,48,0,54,0,0,5,28,0,5,40,0,28,13,90,0,9,2,0,0,16,0,7,114,0,7,32,0,38,0,13,48,0,53,0,5,0,28,0,4,27,0,8,126,0,14,180,0,4,136,0,5,114,0,3,176,0,13,180,0,0,90,0,23,13,90,0,3,4,0,12,180,0,8,62,0,6,122,0,47,13,0,180,0,5,31,0,180,0,21,39,0,0,100,1,4,72,1,4,180,0,6,128,1,8,48,0,0,94,48,6,28,0,7,12,0,31,0,182,13,255,88,15,1,0,255,255,255,255,224,15,13,32,10,2,148,58,31,5,1,0,1,18,13,6,0,4,54,5,2,6,0,15,167,40,17,2,195,13,15,184,28,2,3,179,69,7,77,0,147,20,50,1,0,144,0,0,0,136,210,67,4,69,0,113,59,51,73,255,64,49,62,4,0,63,0,0,2,4,0,28,31,0,16,0,255,141,15,4,0,65,81,0,255,80,49,58,4,0,8,60,2,14,64,2,15,36,2,22,15,84,2,255,221,6,64,2,0,4,0,15,64,2,8,15,86,117,255,249,15,64,2,25,30,1,56,2,15,4,0,255,247,31,1,64,2,12,29,0,64,2,63,255,173,41,4,0,86,63,83,43,29,4,0,34,15,108,0,89,14,124,0,15,108,0,43,15,152,0,0,15,4,0,122,15,64,2,27,14,180,6,15,32,2,65,15,220,1,77,14,68,0,15,56,0,35,15,184,0,9,15,68,2,213,15,64,2,31,31,1,64,2,78,15,156,1,8,14,24,0,15,92,1,84,15,124,0,0,15,44,2,1,15,16,3,9,15,72,2,57,15,64,2,255,3,15,156,1,25,14,72,1,15,104,1,2,15,132,6,94,15,116,5,53,15,144,0,16,15,64,2,160,15,0,9,87,15,132,4,0,15,44,0,9,15,192,8,106,15,72,2,0,15,116,5,50,15,68,2,145,14,72,11,15,0,9,103,15,88,4,12,15,248,10,126,15,16,2,4,15,68,2,38,14,192,0,15,68,2,18,15,64,11,246,14,12,2,15,124,6,67,15,48,2,40,15,204,6,117,15,0,9,255,7,15,176,6,8,15,224,5,33,15,32,2,65,15,244,0,117,15,0,9,255,3,14,20,4,15,216,3,14,15,100,4,21,15,60,2,142,14,164,0,15,68,2,14,15,0,9,156,14,44,0,15,136,3,85,14,8,2,15,144,1,18,14,132,4,15,124,4,160,31,255,64,20,255,21,15,100,1,44,15,180,6,1,15,4,0,177,15,64,20,205,15,4,0,255,103,15,0,9,160,15,64,2,255,55,15,228,9,12,15,72,2,25,15,0,9,157,15,64,2,255,59,14,44,14,15,236,11,34,15,64,2,255,223,14,108,4,15,108,16,46,15,64,11,145,15,64,2,255,59,15,56,2,4,15,64,2,37,15,0,9,255,219,15,248,1,4,15,64,2,41,15,192,6,255,215,31,83,40,32,3,15,0,9,255,255,8,15,40,11,0,15,68,2,17,15,64,2,29,15,0,9,255,159,14,232,1,15,24,39,35,14,56,2,14,200,31,15,0,9,255,194,15,24,2,8,15,152,25,33,15,80,36,49,15,192,6,206,53,170,204,255,4,0,15,156,6,217,31,255,48,41,43,15,36,27,25,15,64,2,194,8,56,2,0,4,0,34,232,241,4,0,15,72,2,92,15,48,41,206,15,128,4,193,15,56,2,1,47,232,241,68,2,186,15,188,51,226,15,0,9,0,15,64,2,58,14,116,4,15,64,2,199,15,224,1,44,15,196,33,25,15,128,4,210,15,60,2,21,47,232,241,16,9,10,15,88,2,214,14,252,6,15,72,2,14,15,64,2,198,15,60,2,7,15,132,4,207,31,255,48,41,55,15,128,31,226,15,60,2,7,15,132,4,18,15,148,24,226,31,83,48,41,55,15,64,2,230,14,132,4,15,124,4,223,15,48,7,52,15,64,2,255,179,15,244,4,104,15,64,2,255,255,40,14,76,2,15,64,11,162,15,64,2,255,251,53,67,49,61,4,0,15,192,15,39,15,64,2,255,255,33,14,68,2,14,80,2,15,64,2,255,255,15,14,68,2,15,76,20,22,15,64,2,255,255,40,14,140,13,15,192,6,255,255,1,15,80,11,255,58,14,60,18,15,64,11,182,15,64,2,255,91,12,68,2,15,64,2,149,15,248,1,1,14,64,2,15,68,2,5,15,12,9,255,52,15,64,2,189,8,252,1,15,4,0,23,15,4,9,255,48,8,72,2,15,64,2,173,15,72,2,21,12,36,0,14,136,13,15,196,24,255,140,15,64,2,101,15,40,0,11,15,124,4,255,148,15,64,2,81,15,192,33,19,15,60,2,255,52,15,64,2,235,15,180,6,6,15,64,11,255,227,15,64,2,53,47,170,204,156,13,10,15,12,9,255,111,15,64,2,117,15,4,9,3,15,36,18,18,15,64,2,255,255,48,14,68,2,15,192,24,255,120,53,71,49,60,4,0,15,64,11,71,15,104,20,50,15,64,2,255,235,15,128,4,7,15,68,2,26,15,4,18,255,95,15,64,2,121,15,68,2,31,15,72,18,18,15,64,2,255,219,15,184,22,17,15,80,2,32,15,64,2,255,223,14,24,9,15,68,2,46,15,64,2,255,99,53,72,50,59,4,0,15,44,0,1,15,220,1,0,15,212,6,137,15,64,2,255,147,47,170,204,204,6,85,15,64,2,255,200,47,170,204,64,2,83,15,224,31,11,15,64,2,231,63,0,163,255,64,2,174,15,68,2,53,31,255,200,76,208,8,4,0,0,252,1,15,64,2,49,14,68,2,15,64,2,159,15,68,2,47,15,60,13,219,34,0,163,52,1,14,68,2,15,68,0,31,4,72,0,15,64,2,173,47,170,204,60,2,255,20,8,88,5,46,0,163,68,2,15,64,2,233,47,170,204,56,2,255,12,4,248,1,15,4,0,59,15,64,2,111,38,75,53,4,0,15,64,2,15,15,248,44,33,15,60,2,75,14,140,22,15,64,2,223,14,68,2,15,64,2,179,4,28,13,15,128,4,53,14,240,4,15,56,36,6,15,60,2,129,15,64,2,255,31,15,212,6,16,15,60,2,58,12,72,2,15,60,2,213,14,68,2,15,192,6,203,15,68,2,0,15,168,56,69,15,60,2,113,15,64,2,255,47,15,248,1,11,15,160,2,45,15,136,4,14,15,64,2,255,63,53,78,48,57,4,0,15,64,2,61,14,16,2,15,4,0,235,15,232,1,1,49,2,0,0,4,0,15,28,2,3,15,52,0,42,15,64,2,129,15,4,0,255,39,47,0,163,64,2,218,15,0,117,255,63,14,188,6,15,196,6,159,15,64,2,45,63,199,195,194,4,0,255,35,14,60,2,15,68,2,86,15,128,4,255,179,15,64,2,245,63,156,118,131,128,4,255,159,14,68,2,15,64,2,59,53,76,48,57,4,0,15,64,2,17,0,12,10,15,168,1,133,0,160,0,14,228,2,15,60,2,147,63,54,82,171,4,0,18,15,72,2,40,15,64,2,114,4,68,2,14,72,2,15,56,2,111,8,160,0,15,124,4,245,14,68,2,15,64,2,102,15,164,1,130,12,60,2,14,68,2,15,60,2,106,15,64,2,255,3,8,216,16,15,244,1,44,15,56,2,62,14,36,5,15,60,2,247,14,68,2,15,128,4,103,4,164,1,14,4,2,15,108,6,79,15,60,2,16,14,228,2,15,60,2,128,15,156,20,51,15,64,2,119,53,77,55,58,4,0,15,64,2,17,12,4,0,15,240,1,40,15,56,2,50,15,68,2,1,4,16,0,14,188,54,15,4,0,71,15,56,2,27,15,72,2,53,15,64,2,99,53,73,47,57,4,0,15,64,2,16,15,4,0,70,15,204,4,8,15,96,0,49,15,124,4,118,14,40,25,15,68,2,151,15,64,2,73,8,236,3,15,4,0,133,15,124,4,107,15,108,27,85,15,64,2,167,15,68,2,144,15,64,2,255,135,15,4,0,157,4,240,1,15,32,9,63,15,64,2,109,15,0,9,18,15,64,2,255,47,15,156,4,79,15,64,2,127,14,128,22,15,64,2,255,60,15,72,2,9,0,64,1,8,8,0,15,64,2,255,255,11,4,68,2,12,44,2,14,60,2,15,132,4,13,15,64,2,255,160,0,40,1,15,68,2,65,15,60,2,13,63,81,135,0,64,2,12,15,60,2,171,15,64,2,5,53,70,46,57,4,0,15,64,2,173,38,0,163,180,1,15,68,2,41,0,44,1,8,12,0,4,64,2,8,68,2,12,140,4,12,64,2,5,116,1,15,64,2,60,63,79,87,95,64,2,255,47,63,168,119,255,128,4,26,8,16,2,15,64,2,33,12,4,0,8,80,2,4,16,0,8,68,2,8,28,0,12,200,1,42,81,135,72,46,12,16,0,15,60,2,68,15,64,2,246,34,168,119,172,1,15,68,2,9,0,148,1,15,68,2,0,15,20,0,26,4,68,0,0,16,0,0,12,0,15,92,1,13,4,64,2,12,40,0,12,232,46,15,64,2,25,0,48,2,8,4,0,15,60,2,21,0,84,0,15,64,2,17,0,40,0,4,4,0,15,28,0,8,15,128,4,218,8,252,1,4,0,1,8,72,4,15,48,2,5,8,60,1,8,60,0,8,64,2,15,72,2,13,8,40,0,0,124,1,14,40,49,14,224,1,4,44,0,15,76,2,1,0,16,25,8,164,18,14,120,2,15,116,4,3,8,252,1,15,4,0,1,12,32,2,15,4,0,16,15,64,2,6,53,68,46,57,4,0,53,80,58,58,4,0,15,64,2,137,0,208,0,63,54,228,0,32,0,10,8,60,2,15,96,4,4,15,172,6,14,14,116,1,6,64,2,15,84,2,5,4,48,0,4,12,9,14,68,2,6,64,2,15,232,1,13,12,64,2,14,120,2,14,72,0,15,12,2,21,15,68,2,33,15,64,2,181,12,60,2,12,16,0,14,192,6,10,220,8,12,36,4,12,132,4,12,72,4,14,180,3,15,208,3,3,49,77,0,255,4,0,15,156,13,0,15,4,0,34,15,64,2,0,15,4,0,57,15,64,2,222,4,40,2,15,124,4,17,15,24,0,5,4,48,2,0,152,8,8,20,0,15,228,5,0,15,184,3,22,4,56,2,47,77,0,224,15,7,47,77,0,4,0,23,15,64,2,255,74,4,4,0,15,92,2,0,15,64,2,10,4,28,0,42,2,0,28,2,47,54,228,228,5,23,15,132,4,0,14,120,4,15,112,4,0,15,68,2,9,4,144,6,15,28,0,1,12,64,2,63,83,37,126,64,2,255,11,14,88,4,14,60,2,15,136,4,5,8,8,2,15,20,2,5,8,96,2,4,80,0,15,76,1,37,14,240,1,15,64,2,31,4,188,8,46,39,236,68,2,15,64,2,5,0,4,0,14,172,4,15,64,2,103,53,62,45,57,4,0,15,64,2,153,14,4,0,15,64,2,3,12,180,4,14,64,2,15,60,2,51,8,68,2,15,64,2,1,12,252,1,12,52,13,15,68,2,1,12,192,15,8,64,0,4,136,0,15,64,2,121,53,77,58,62,4,0,15,64,2,0,15,12,11,98,12,36,2,14,64,2,15,76,2,10,15,44,0,18,47,54,228,60,2,51,15,4,0,25,15,236,19,3,15,40,9,30,15,64,2,186,0,68,3,15,212,8,37,15,104,4,4,15,4,0,38,14,60,2,15,64,2,43,8,244,3,15,68,2,69,14,160,6,15,60,2,10,15,64,2,186,34,39,236,188,5,14,68,2,15,88,13,27,15,64,2,9,0,56,20,14,84,2,15,4,0,59,15,112,4,0,15,4,0,74,15,60,2,25,8,144,0,15,64,2,65,47,54,228,128,4,151,15,104,4,29,8,184,24,15,68,2,77,46,54,228,60,2,15,4,0,109,14,60,2,15,64,2,171,14,236,10,14,184,19,15,96,15,9,47,81,135,168,6,31,34,168,119,60,1,15,64,2,81,8,188,1,14,20,0,15,64,2,103,14,236,1,15,12,2,23,47,54,228,64,2,135,15,156,17,13,8,64,2,14,16,11,15,216,8,25,15,60,2,91,8,68,2,15,64,2,8,15,96,2,42,15,60,0,9,46,54,228,104,13,15,100,14,3,15,64,2,51,12,104,1,15,64,2,73,15,184,8,0,15,52,22,5,14,20,11,15,4,0,164,12,240,1,4,156,4,14,160,4,15,60,2,23,14,60,0,6,56,2,14,212,1,15,64,2,39,14,56,0,15,64,2,7,47,54,228,128,4,19,53,58,44,57,4,0,53,76,59,66,4,0,15,64,2,25,8,192,19,15,228,19,12,15,64,2,214,14,52,0,15,40,0,2,15,240,4,18,31,54,252,11,32,15,24,0,3,15,40,19,9,15,64,2,79,15,116,4,4,15,64,2,6,8,132,0,14,124,4,15,4,0,231,14,184,4,15,48,7,6,15,220,7,34,47,81,135,28,19,25,15,64,2,95,15,192,0,15,15,184,8,5,15,4,0,255,16,14,52,2,15,88,14,63,14,184,1,14,0,7,15,64,2,91,15,48,2,5,15,4,0,255,128,15,120,4,5,47,81,135,64,2,47,53,74,60,70,4,0,15,64,2,3,15,4,0,255,148,15,16,11,9,47,54,228,64,2,255,255,17,47,54,228,12,2,1,15,128,4,31,31,54,192,15,16,53,56,44,57,4,0,15,64,2,255,186,47,54,228,64,2,43,14,64,20,15,64,2,255,224,14,144,4,15,116,22,5,15,64,2,255,255,17,15,68,2,13,47,54,228,64,2,255,252,14,76,17,15,232,8,5,15,64,2,255,255,13,14,12,0,15,128,4,255,255,29,47,54,228,124,31,17,15,64,2,255,255,5,14,4,0,15,64,2,255,255,25,47,54,228,64,2,31,47,54,228,64,2,43,53,73,61,74,4,0,15,64,2,45,0,148,41,15,64,2,255,138,47,54,228,64,2,135,8,136,71,15,64,2,255,122,46,54,228,64,2,15,128,4,255,255,11,31,54,252,35,18,14,128,22,15,64,2,85,0,48,47,15,128,31,7,15,84,2,255,120,14,240,35,15,64,2,111,8,176,51,15,212,6,255,154,14,88,2,15,24,18,13,15,128,4,75,47,81,135,212,6,255,160,14,64,2,15,12,0,7,8,44,0,15,64,2,49,15,16,14,29,14,180,0,14,64,2,15,28,9,255,134,13,0,4,15,64,2,52,47,54,228,12,0,9,15,64,2,255,152,15,160,1,11,15,64,2,71,15,76,34,17,47,54,228,4,0,255,192,15,128,4,57,15,60,7,7,15,64,2,255,184,47,81,135,192,6,95,47,81,135,128,4,255,255,17,15,64,11,7,15,64,2,255,255,17,15,4,0,19,15,64,2,255,243,15,4,0,255,253,15,64,2,255,255,255,255,147,63,59,51,73,64,2,255,255,40,0,60,2,147,67,66,77,80,45,0,0,0,5,4,0,41,8,0,1,0,17,13,4,0,6,2,0,32,0,13,18,0,0,53,0,83,100,1,0,0,42,49,0,8,53,0,31,8,1,0,41,19,2,1,0,13,25,0,33,15,15,4,0,35,15,15,12,0,69,2,2,15,15,43,0,32,2,2,57,0,16,8,2,0,17,8,33,0,5,2,0,0,29,0,35,15,15,43,0,16,8,32,0,3,4,0,0,42,0,47,15,15,42,0,8,1,84,0,3,47,0,8,82,0,44,15,8,126,0,40,8,2,84,0,3,4,0,33,8,15,96,0,9,210,0,6,130,0,31,2,19,1,24,15,108,1,95,2,0,1,22,8,180,0,1,1,0,0,242,0,2,125,1,4,57,1,5,205,0,3,123,1,3,83,0,1,70,1,4,137,1,2,141,1,5,159,1,15,42,0,3,5,217,1,41,8,8,82,0,44,2,8,126,0,40,8,15,84,0,4,83,1,2,255,1,9,210,0,39,15,15,126,0,15,108,1,26,23,84,104,1,15,108,1,6,3,249,1,3,161,0,40,8,8,8,0,4,24,0,6,40,0,15,92,0,27,35,15,15,6,0,3,76,2,8,8,0,4,24,0,6,40,0,15,92,0,27,0,1,0,73,14,14,14,14,8,0,1,10,0,23,14,24,0,0,20,0,2,8,0,47,8,14,92,0,27,0,210,1,9,8,0,1,10,0,23,15,24,0,3,151,1,2,208,0,97,67,80,65,76,0,3,75,0,255,81,29,43,83,126,37,83,0,135,81,171,82,54,95,87,79,194,195,199,255,241,232,255,0,77,255,163,0,255,236,39,0,228,54,41,173,255,131,118,156,255,119,168,255,204,170,12,18,35,53,41,83,94,61,82,42,121,74,152,83,60,119,114,109,209,206,207,255,180,193,255,40,57,255,181,9,191,214,42,10,214,104,63,159,230,162,118,159,255,140,168,200,161,130,2,4,8,3,0,88,17,9,3,0,15,48,0,29,9,54,0,63,3,5,10,48,0,10,12,60,0,14,48,0,15,150,0,11,56,3,5,10,3,0,254,81,41,24,20,17,29,53,66,33,54,18,83,89,116,47,41,73,51,59,162,136,121,243,239,125,190,18,80,255,108,36,168,231,46,0,181,67,6,90,181,117,70,101,255,110,89,255,157,129,52,35,31,41,31,53,54,45,62,42,74,77,105,48,45,95,72,74,182,161,122,229,183,113,206,40,69,233,138,38,126,218,51,1,158,95,33,85,161,151,80,98,255,121,99,208,135,109,128,1,15,3,0,251,0,100,3,83,101,0,0,0,9,4,0,47,8,0,1,0,3,52,7,7,7,8,0,36,7,7,8,0,47,7,7,9,0,1,5,36,0,6,54,0,3,69,0,15,109,0,19,14,91,0,15,9,0,26,15,109,0,28,3,2,0,15,18,0,44,15,109,0,14,81,16,16,16,16,0,4,0,32,7,7,5,0,4,9,0,2,22,0,25,16,41,0,1,4,0,3,36,0,23,16,18,0,15,218,0,27,15,73,0,16,6,127,0,10,145,0,0,9,0,4,181,0,15,109,0,54,15,2,1,17,0,109,0,98,184,31,0,0,90,0,4,0,47,8,0,1,0,255,25,65,14,14,14,0,2,0,18,14,4,0,17,0,8,0,13,38,0,4,34,0,47,0,14,90,0,23,3,2,0,1,51,0,23,14,16,0,15,38,0,0,31,0,90,0,27,47,14,0,90,0,17,20,14,4,0,15,180,0,69,31,0,180,0,26,4,143,0,3,90,0,47,14,0,90,0,5,4,138,1,15,28,2,113,15,1,0,9,15,38,0,15,31,0,1,0,255,239,19,13,137,15,19,13,139,15,23,13,12,0,15,89,0,43,9,233,15,10,12,0,15,90,0,52,1,167,0,25,13,12,0,15,180,0,55,12,190,0,7,1,0,15,63,3,33,4,92,1,5,172,0,6,196,0,9,95,4,5,124,4,15,1,0,60,2,185,4,15,90,0,67,31,0,90,0,70,47,14,14,90,0,72,14,31,6,15,147,5,48,15,91,5,122,4,18,3,2,196,2,57,5,0,0,16,0,15,44,3,47,3,74,0,22,5,32,3,14,90,0,15,89,0,36,2,8,0,15,90,0,58,9,74,0,8,180,0,47,13,13,104,1,56,20,5,238,3,8,115,0,15,44,7,255,182,15,1,0,61,47,0,0,126,9,255,239,2,7,0,12,8,0,31,0,69,5,56,47,0,0,70,5,58,11,164,0,6,235,4,15,84,6,55,14,180,0,15,126,9,43,12,143,5,12,112,1,25,0,126,9,31,0,126,9,69,31,14,90,0,52,15,180,0,86,14,233,14,15,126,9,191,1,66,12,3,4,0,8,37,2,15,202,8,51,8,244,12,4,118,9,15,90,0,52,45,13,13,124,3,15,180,0,64,5,230,3,15,90,0,54,11,57,4,14,90,0,15,1,0,55,15,126,9,255,255,255,40,5,20,5,3,161,33,4,28,5,6,44,5,10,108,4,2,20,8,22,5,28,0,12,84,5,6,42,0,47,0,13,88,17,2,42,13,13,116,17,46,0,13,172,13,4,24,0,5,12,0,15,180,0,6,12,28,5,5,110,17,12,180,0,3,19,15,5,90,0,14,249,18,15,22,18,2,8,204,0,15,180,0,1,31,0,180,0,21,5,34,0,10,194,18,42,13,0,128,1,26,0,19,15,7,28,0,7,12,0,31,0,182,13,255,88,15,1,0,255,255,255,255,224,15,178,37,9,128,0,0,1,1,0,0,1,7,4,0,19,1,8,0,35,7,1,8,0,27,7,8,0,25,1,40,0,1,56,0,15,92,0,9,34,7,1,38,0,1,49,0,1,8,0,34,1,7,8,0,27,7,8,0,4,24,0,4,40,0,2,56,0,0,92,0,17,55,216,33,15,139,42,3,2,202,5,8,182,7,4,19,0,80,13,13,0,0,0,99,70,73,76,0,0,0,0,76,53,0,0,112,111,100,47,102,95,112,105,99,111,56,46,112,111,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,8,0,0,241,24,67,80,79,68,68,0,0,0,1,0,0,0,47,104,111,109,101,47,122,101,112,47,112,97,98,97,47,112,105,99,111,56,47,112,111,100,47,102,95,12,0,1,37,0,15,1,0,8,247,2,67,66,77,80,35,0,0,0,3,0,0,0,5,0,0,0,8,28,0,66,255,255,255,255,5,0,1,12,0,15,43,0,11,79,0,0,255,0,43,0,24,31,0,43,0,19,2,128,0,15,129,0,17,3,169,0,15,43,0,16,0,123,0,18,255,128,0,15,86,0,15,47,0,255,129,0,21,4,216,0,15,129,0,18,4,85,0,15,129,0,2,15,174,1,7,15,43,0,52,47,255,255,215,0,25,2,5,1,15,172,0,58,2,125,0,15,129,0,22,0,176,1,31,0,43,0,20,6,1,0,15,172,0,12,5,40,0,15,88,1,4,14,9,3,15,43,0,18,5,2,0,15,43,0,18,31,0,43,0,22,2,3,0,15,43,0,14,21,255,92,1,47,0,0,219,2,15,6,94,1,15,4,2,16,2,220,2,15,133,2,16,4,225,3,15,178,3,18,2,7,2,31,255,219,2,17,31,255,6,3,25,2,92,1,15,43,0,19,1,47,1,15,172,0,13,47,0,255,219,2,18,7,0,2,14,172,0,15,49,3,38,24,0,129,1,15,172,0,54,6,45,2,1,6,0,15,135,3,15,5,48,2,15,129,0,12,4,6,1,31,0,86,0,14,2,169,2,47,255,255,47,2,14,7,84,1,15,131,1,18,47,0,255,4,2,18,23,255,92,1,15,215,0,15,4,173,2,15,215,0,3,14,137,3,47,0,255,4,2,23,14,135,3,15,43,0,2,3,56,6,15,90,2,24,31,255,51,4,15,5,1,1,15,16,8,17,4,56,4,15,229,7,17,3,8,1,15,57,7,15,5,95,2,15,100,7,16,31,255,94,4,20,7,185,4,15,227,6,20,31,255,16,8,16,7,15,6,15,16,8,17,15,129,0,21,31,255,86,0,21,15,215,0,21,4,222,2,3,6,0,15,43,0,21,47,255,0,47,2,16,3,54,3,31,0,100,7,16,5,6,0,15,88,1,12,5,13,7,14,133,2,15,4,2,5,15,221,3,16,4,176,2,47,0,0,188,8,15,15,10,5,20,5,183,4,14,180,4,15,86,0,5,31,0,129,0,18,21,255,175,0,31,255,145,8,17,31,255,86,0,21,3,43,0,14,94,4,15,172,0,2,15,215,0,19,47,255,0,45,1,24,30,255,8,4,15,43,0,14,15,18,9,17,4,48,1,15,43,0,14,6,152,11,15,20,10,19,14,86,0,15,174,1,9,31,0,90,2,16,14,217,1,15,133,2,14,15,178,3,16,3,67,11,15,90,2,21,47,255,0,172,0,20,3,7,0,15,174,1,21,47,0,255,192,10,23,15,90,2,23,15,86,0,22,31,255,176,2,19,5,150,8,15,90,2,17,31,255,2,1,22,31,0,184,6,18,7,10,6,31,255,10,5,17,31,255,96,5,17,10,101,7,15,149,10,12,15,192,10,22,10,224,0,31,67,61,9,14,15,75,16,27,14,49,3,15,14,7,5,15,137,4,17,47,255,255,221,3,21,8,175,3,15,243,14,20,3,235,7,15,43,0,22,47,0,0,172,0,20,15,188,8,15]);fileData0.push.apply(fileData0,[15,45,1,25,15,104,9,25,6,43,0,15,239,12,13,15,96,5,21,9,229,8,15,159,15,18,14,53,5,15,174,1,4,15,43,0,19,6,93,5,14,96,5,15,133,2,7,14,174,1,15,59,8,1,15,96,5,18,47,255,255,45,1,22,5,101,10,14,94,4,15,174,1,8,15,241,13,16,15,96,5,21,8,3,3,15,86,0,22,31,255,176,2,19,5,51,1,15,151,11,21,15,237,11,20,47,0,255,210,19,24,15,14,7,15,47,255,0,88,1,22,5,177,5,15,145,8,17,5,196,12,15,10,5,4,15,35,16,4,0,43,0,95,55,0,0,0,7,208,18,15,15,1,0,1,15,63,0,10,15,2,0,15,15,63,0,11,9,132,0,8,197,8,4,70,3,15,63,0,9,7,136,18,7,68,22,3,246,19,15,63,0,15,5,91,6,2,57,0,15,14,0,1,15,126,0,10,4,152,6,24,255,131,12,5,161,1,15,63,0,16,5,55,0,27,255,253,16,3,28,0,15,252,0,12,47,0,255,56,0,4,3,155,0,15,126,0,19,5,113,1,4,124,1,14,126,0,15,189,0,7,7,245,0,7,126,0,31,255,252,0,24,6,255,3,7,65,9,15,248,1,21,27,255,248,1,31,0,248,1,19,43,255,255,39,2,5,181,1,15,244,2,17,8,232,0,6,7,2,9,16,1,15,181,2,26,7,0,25,15,244,2,17,7,54,3,31,0,248,1,33,15,37,4,4,6,1,0,15,189,0,20,7,122,0,3,219,16,15,189,0,29,7,135,1,25,255,74,19,15,248,1,12,10,238,0,10,10,1,15,55,2,20,10,189,0,15,122,1,22,5,221,2,4,229,5,25,255,53,22,15,63,0,19,9,135,16,2,227,16,15,122,1,26,11,82,21,15,244,2,26,15,14,0,2,15,232,5,23,15,7,0,2,15,232,5,16,14,177,1,22,255,69,22,2,12,0,15,169,5,16,6,92,4,7,109,13,47,0,255,122,1,16,5,156,3,3,155,5,8,186,3,14,236,4,15,181,2,4,27,255,197,0,6,232,10,31,0,252,0,15,25,255,237,6,6,152,25,31,255,244,2,15,8,69,23,6,114,22,11,217,25,15,110,4,10,12,123,1,24,255,230,6,15,181,2,14,3,253,0,7,241,4,3,80,1,14,228,6,15,251,22,7,8,120,0,9,128,14,15,189,0,19,8,4,14,4,163,25,15,110,4,26,29,255,77,14,15,169,5,16,15,7,0,2,15,55,2,33,7,61,1,4,59,1,15,126,0,17,7,27,30,28,255,189,0,15,161,7,17,7,245,0,6,71,0,5,64,0,15,252,0,16,7,67,0,40,255,255,3,1,15,110,4,16,8,52,1,43,255,255,18,1,31,0,232,5,19,13,127,1,5,140,2,15,63,0,20,9,160,5,15,181,2,21,11,184,0,31,255,118,2,28,5,135,8,5,59,1,8,133,2,15,189,0,15,6,44,3,4,237,4,7,246,4,31,0,169,5,14,43,0,255,46,6,7,187,13,5,187,12,15,126,0,10,11,244,16,6,63,27,14,248,1,15,118,2,4,7,216,5,40,0,255,41,5,47,0,255,244,2,16,5,116,20,11,14,0,15,106,5,13,24,255,96,4,12,110,4,15,51,3,19,15,191,3,0,6,252,6,47,0,255,90,9,18,43,255,255,77,29,5,59,2,15,98,7,12,12,203,11,27,0,192,30,15,27,9,21,28,255,179,6,6,138,15,15,78,12,9,29,0,118,4,6,244,3,15,11,13,17,11,56,2,7,144,1,15,51,3,16,15,25,8,0,7,146,13,31,255,39,6,19,29,255,14,0,31,255,236,4,17,4,142,7,8,120,1,6,183,1,47,255,0,177,3,17,41,0,0,193,12,10,51,7,15,70,14,21,13,196,0,14,161,7,15,102,6,6,10,6,2,15,244,2,22,11,147,7,9,229,5,15,106,5,25,11,245,2,47,255,255,185,1,18,40,0,255,203,14,9,16,10,7,104,17,15,126,0,30,14,55,2,15,236,4,26,15,157,8,23,24,0,29,7,41,255,255,171,5,14,70,14,15,252,0,3,9,53,4,6,68,2,15,122,1,2,15,201,13,7,11,47,7,15,7,14,21,15,250,2,5,15,70,14,21,9,102,4,6,191,15,15,63,0,26,7,253,0,15,66,15,26,7,192,2,28,255,80,1,15,126,0,13,44,255,255,185,15,15,240,3,23,10,216,9,47,255,0,51,3,38,13,119,0,15,196,14,17,11,209,9,5,202,0,6,238,6,15,114,3,19,8,242,1,7,145,11,31,255,252,0,25,14,14,0,15,149,10,20,12,209,10,47,255,0,43,5,29,5,187,22,14,244,2,15,55,2,21,9,7,0,15,122,1,5,15,146,11,14,31,0,35,7,21,7,93,8,9,79,11,5,211,10,15,189,0,28,8,100,7,14,70,14,15,248,1,18,15,15,12,27,8,34,4,15,189,0,35,5,38,4,28,255,190,0,15,172,20,18,14,81,13,15,173,4,19,8,153,29,15,189,0,32,7,93,5,15,126,0,33,47,0,255,231,7,4,5,129,1,15,70,14,32,15,126,0,23,15,196,0,1,9,203,0,15,118,2,26,9,242,18,14,86,10,15,189,0,13,5,57,20,47,0,255,165,6,21,31,255,6,14,1,15,39,6,19,7,28,9,12,12,12,3,25,0,15,255,15,18,8,6,14,6,68,14,15,196,14,24,15,118,2,37,31,0,71,12,4,3,8,0,15,169,5,32,8,9,3,15,98,7,32,15,66,15,23,7,192,15,9,77,0,3,14,0,15,58,17,19,8,159,5,5,4,1,15,160,23,18,15,183,0,2,6,223,24,15,78,12,37,4,15,0,15,106,5,39,47,255,0,110,4,23,14,7,0,14,227,22,15,11,13,6,6,49,0,12,14,0,15,121,17,22,15,254,3,0,14,220,8,15,35,7,2,11,7,0,31,0,70,14,24,31,255,7,0,3,15,125,16,18,15,49,1,0,7,16,16,15,165,6,27,13,25,13,15,43,5,21,47,255,0,35,7,42,15,186,1,3,47,0,255,94,8,27,31,0,43,5,32,6,32,4,14,188,0,15,63,0,19,14,51,3,15,78,12,28,11,204,0,31,255,47,4,22,10,58,3,12,64,0,15,110,4,25,9,84,11,15,15,12,25,6,215,9,3,143,9,160,0,0,0,0,0,0,255,0,0,0]);Module["FS_createDataFile"]("/","data.pod",fileData0,true,true,false)}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({"files":[]})})();var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}return null}var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=3145136,DYNAMIC_BASE=8388016,DYNAMICTOP_PTR=3145104;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||134217728;if(INITIAL_TOTAL_MEMORY>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __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;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[function(){if(typeof _cartdat!=="undefined")return 1;return 0},function(){return _cartdat.length/32768},function(){_cdpos=_cdpos+1;return _cartdat[_cdpos-1]},function($0){ciii=$0;iii=0},function(){iii=iii+1;return _cartname[ciii].charCodeAt(iii-1)},function(){let stateObj={load_param_data:false};history.pushState(stateObj,"PICO-8","?")},function(){Module.pico8Reset=function(){codo_command=1};Module.pico8ToggleSound=function(){codo_command=3};Module.pico8TogglePaused=function(){codo_command=4};Module.pico8SetPaused=function(p){codo_command=5;codo_command_p=0;if(p)codo_command_p=1};Module.pico8ToggleControlMenu=function(){codo_command=7};Module.pico8DragOver=function(){codo_command=10};Module.pico8DragStop=function(){codo_command=11}},function(){function mkdir_0(d){try{stat=FS.stat(d)}catch(e){FS.mkdir(d)}}mkdir_0("/user_data");FS.mount(IDBFS,{},"/user_data");FS.syncfs(true,function(err){if(!err){console.log("codo: mounted filesystem.\n");codo_mounted_filesystem=1;mkdir_0("/user_data/cdata");mkdir_0("/user_data/cstore");mkdir_0("/user_data/carts");mkdir_0("/user_data/backup");mkdir_0("/user_data/plates");mkdir_0("/user_data/bbs");mkdir_0("/user_data/bbs/carts");mkdir_0("/user_data/bbs/labels")}else{console.log("** could not mount filesystem\n");console.log(err)}})},function(){var val=0;if(window.location.pathname.indexOf("widget.php")>=0)val=1;return val},function(){var val=0;if(window.location.pathname.indexOf("pico-8.php")>=0)val=1;return val},function($0,$1,$2,$3,$4,$5,$6,$7){if(typeof pico8_state!=="undefined"){pico8_state.is_paused=$0;pico8_state.sound_volume=$1;pico8_state.frame_number=$2;pico8_state.has_focus=$3;pico8_state.show_dpad=$4;pico8_state.request_pointer_lock=$5;pico8_state.require_page_navigate_confirmation=$6;pico8_state.shutdown_requested=$7}},function(){var val=0;if(typeof codo_command!=="undefined"){val=codo_command;codo_command=0}return val},function(){var val=0;if(typeof codo_command_p!=="undefined"){val=codo_command_p;codo_command_p=0}return val},function(){button_i=0},function(){var val=-1;if(typeof pico8_buttons!=="undefined"){val=pico8_buttons[button_i];button_i++}return val},function(){var val=0;if(typeof pico8_gamepads!=="undefined"){val=pico8_gamepads.count}return val},function(){if(typeof on_module_load!=="undefined"){if(on_module_load)on_module_load()}},function($0,$1,$2,$3){download_browser_file(UTF8ToString($0,$1),UTF8ToString($2,$3))},function($0,$1,$2,$3,$4,$5){if(typeof p8img!=="undefined"){p8img.src=""}p8img=document.createElement("img");p8img.src=UTF8ToString($0,$1);p8img.style="width:128px; height:128px; image-rendering: pixelated; -ms-interpolation-mode: nearest-neighbor;";if(typeof p8imgholder==="undefined"||!p8imgholder){p8imgholder=document.createElement("div");p8imgholder.style.cssText="min-width:160px; display:table; position:fixed; top:20px; left:20px; padding:12px; background-color:#000; box-shadow: 2px 2px 8px rgba(16, 0, 48, 0.4);";document.body.appendChild(p8imgholder)}if(p8imgholder){while(p8imgholder.childElementCount>0)p8imgholder.removeChild(p8imgholder.firstChild);var dismiss=document.createElement("div");dismiss.style.cssText="display:table; font-size:10pt; color:#fff; padding:4px; cursor:pointer; margin-left:10px; float:right";dismiss.addEventListener("click",function(){p8img.src="";while(p8imgholder.childElementCount>0)p8imgholder.removeChild(p8imgholder.firstChild);p8imgholder.style.display="none"},false);dismiss.innerHTML="X";p8imgholder.appendChild(dismiss);p8imgholder.appendChild(p8img);var info=document.createElement("div");info.innerHTML='
(right-click to save)
';p8imgholder.appendChild(info);if(p8imgholder.style.display=="none")p8imgholder.style.display=""}},function(){jsString=p8_dropped_cart;if(!jsString)return 0;var lengthBytes=lengthBytesUTF8(jsString)+1;var stringOnWasmHeap=_malloc(lengthBytes);stringToUTF8(jsString,stringOnWasmHeap,lengthBytes);return stringOnWasmHeap},function(){jsString=p8_dropped_cart_name;if(!jsString)return 0;var lengthBytes=lengthBytesUTF8(jsString)+1;var stringOnWasmHeap2=_malloc(lengthBytes);stringToUTF8(jsString,stringOnWasmHeap2,lengthBytes);return stringOnWasmHeap2},function($0,$1){if(typeof pico8_state!=="undefined"){if(typeof pico8_state.system_messages==="undefined")pico8_state.system_messages=new Array;pico8_state.system_messages.push(UTF8ToString($0,$1))}},function($0){var str=window.location.hostname;return allocate(intArrayFromString(str),"i8",ALLOC_NORMAL)},function($0,$1){if(typeof pico8_gpio!=="undefined")pico8_gpio[$0]=$1},function($0){var val=0;if(typeof pico8_gpio!=="undefined")val=pico8_gpio[$0];return val},function(){FS.syncfs(false,function(err){})},function(){var val=0;if(typeof codo_mounted_filesystem!=="undefined")val=1;return val},function(){return typeof p8_touch_detected==="undefined"||!p8_touch_detected?0:1},function(){return document.hidden?1:0},function(){if(typeof codo_key_buffer==="undefined")codo_key_buffer=[];document.addEventListener("keydown",function(e){var val=-1;if(e.key.length==1){val=e.key.charCodeAt(0)}else{if(e.key=="Tab")val=9;if(e.key=="Enter")val=13;if(e.key=="Backspace")val=8;if(e.key=="Escape")val=27;if(val==-1){}}var el=document.getElementById("codo_textarea");codo_key_buffer.push(val)})},function(){addEventListener("mousedown",function(event){if(typeof pico8_state!=="undefined")if(event.target.tagName.toLowerCase()!="canvas"){pico8_state.clicked_outside=true}})},function(){document.addEventListener("wheel",function(e){dx=e.deltaX;if(dx<0)dx=-1;if(dx>0)dx=1;if(e.deltaMode==2)dx*=4;if(typeof codo_wheel_dx!=="undefined")codo_wheel_dx-=dx;dy=e.deltaY;if(dy<0)dy=-1;if(dy>0)dy=1;if(e.deltaMode==2)dy*=4;if(typeof codo_wheel_dy!=="undefined")codo_wheel_dy-=dy})},function($0){function audio_log(msg){if(window.console&&window.console.log){window.console.log("[codo] audio_init_webaudio "+msg)}}audio_log("audio_init");var codo_audio_context;if(typeof Module==="undefined")audio_log(" *** Module undefined");else if(typeof Module.ccall==="undefined")audio_log(" **** Module.ccall undefined");else{var webAudioAPI=window.AudioContext||window.webkitAudioContext||window.mozAudioContext||window.oAudioContext||window.msAudioContext;if(webAudioAPI){if(typeof pico8_audio_context!=="undefined"){codo_audio_context=pico8_audio_context;audio_log("found pico8_audio_context")}else if(typeof voxatron_audio_context!=="undefined"){codo_audio_context=voxatron_audio_context;audio_log("found voxatron_audio_context")}else{codo_audio_context=new webAudioAPI;audio_log("creating own audio context")}if(codo_audio_context){audio_log("Sample Rate: "+codo_audio_context.sampleRate);audio_log("Buffer Size: "+$0);node=codo_audio_context.createScriptProcessor($0,1,1);node.onaudioprocess=function(e){var data=e.outputBuffer.getChannelData(0);var r=22050/codo_audio_context.sampleRate;var len0=Math.floor(data.length*r);var len1=data.length;var ptr=Module.ccall("mix_0","number",["number","number"],[len0,len1]);for(var j=0;j0)ret=1;return ret},function(){return pico8_mouse[0]},function(){return pico8_mouse[1]},function(){if(typeof codo_key_buffer==="undefined")codo_key_buffer=[];return codo_key_buffer.length>0?1:0},function(){if(typeof codo_key_buffer==="undefined")codo_key_buffer=[];let val=codo_key_buffer.shift()|0;return val},function(){temp=typeof codo_wheel_dx!=="undefined"?codo_wheel_dx:0;codo_wheel_dx=0;return temp},function(){temp=typeof codo_wheel_dy!=="undefined"?codo_wheel_dy:0;codo_wheel_dy=0;return temp},function(){if(document.hidden)return 0;el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el&&el==document.activeElement)return 1;el=document.activeElement;return!el||el.tagName.toLowerCase()!="input"&&el.tagName.toLowerCase()!="textarea"},function(){if(typeof pico8_state!=="undefined")if(pico8_state.clicked_outside){pico8_state.clicked_outside=false;return 1}return 0},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el&&el.style.display!="none"){el.focus();el.select()}},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el&&el.style.display!="none"){el.select()}},function(){return pico8_mouse[2]},function(){_dir_name=""},function($0){_dir_name=_dir_name+String.fromCharCode($0)},function(){FS.createPath("",_dir_name,true,true)},function(){Module["canvas"].exitPointerLock()},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el){}},function(){_codo_str_out=""},function($0,$1){_codo_str_out=Module.UTF8ToString($0,$1)},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el){el.value=_codo_str_out;return 0}else return 1},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el&&el.style.display=="none"&&(typeof p8_touch_detected==="undefined"||!p8_touch_detected)){el.style.display="";el.focus();el.select()}},function(){el=typeof codo_textarea==="undefined"?document.getElementById("codo_textarea"):codo_textarea;if(el&&el.style.display!="none"&&el.value!=""){_codo_text_value=el.value;return 1}return 0},function($0,$1){Module.stringToUTF8(_codo_text_value,$0,$1)}];function _emscripten_asm_const_i(code){return ASM_CONSTS[code]()}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}function _emscripten_asm_const_iiiii(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiiiiii(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_iiiiiiiii(code,a0,a1,a2,a3,a4,a5,a6,a7){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7)}__ATINIT__.push({func:function(){___emscripten_environ_constructor()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAABFtAAAy/kAAM/5AABOtAAAV7QAAJfvAACC8QAAovQAAE60AABetAAAZbQAAGu0AAAAAAAAAAAAAAAACAgICAgAAAAAAAAAAAAAAAAAAAAAAAAMBAQEBAQEBAQEBAQEBAQEFhYWFhYWFhYWFgQEBAQEBAQVFRUVFRUFBQUFBQUFBQUFBQUFBQUFBQUFBQQEBAQFBBUVFRUVFQUFBQUFBQUFBQUFBQUFBQUFBQUFBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBxQVRQUFxsPBA8VGx8fHx8fHx8fHx8fHx8fGB8YGBgYGBgaCK8vLyE5FRUEGJiBGIUUVAXAAAAAAAAAAAAAAAAAQICAwMDAwQEBAQEBAQEBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIpvwAADjhAAAX9gAAu/cAALT3AABl9QAAxfkAANv4AACi9AAAM+EAAKz3AADf+AAAmPsAAMv5AACt/AAAqvwAANT2AACr9AAAr/cAAMD5AADb9gAAk/UAAO5zAQCWHAEAnfwAAJr8AACX/AAAoPwAAKP8AACauAAAOsEAAJ24AACmuAAArbgAAHUzAQC2uAAAbA0BAKYOAQAiDwEA7w8BAIYQAQDyEAEAlBcBAJcXAQAnGAEAKhgBAJYZAQD4GgEADxkBAJoLAQCkDAEAvLgAAKkOAQAlDwEA8w8BAIoQAQD2EAEA0xsBAAAAAAAAAAAAEBAQEBERERERERQTCAgGBgcHCQkJCQkJCQkJCQUFEREoKCgoKCgPDgMDAwMDAwMDAwMDAwICAQEAAAAAAAAAAGm9AABxvQAAfL0AAIG9AACIvQAAjr0AAJO9AACZvQAAn70AAKW9AACrvQAAsb0AALe9AAC9vQAAwr0AAMi9AADOvQAA1L0AANu9AADivQAA6b0AAO+9AAD2vQAA/b0AAAW+AAANvgAAE74AABi+AAAdvgAAJr4AAAAAAAAAAAAA+wIBAMxLAQCCJAEAPV0BAClfAQBAXgEA0V4BANReAQAa4wAAF+MAAKhXAQAcWQEAguoAAJDqAADJXAEAaVsBAJ7qAACNXwEAf1oBAGxgAQByYAEAwb8AAHvqAAADTgEAAAMBAAAAAAAAAAAAAAAAAAADAQD7AgEA1F4BANFeAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFG4gAAS+IAAFDiAABV4gAAWuIAAF/iAABk4gAAaeIAAG7iAAAAAAAAAAAAAAAAAAAQAQIDBAUGBwgJCgsMDQ4PAAECAwQFBgcICQoLDA0ODwAAgIAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEhISEhISEhAAAAAAAAAAAAYCCAAAAAAAAA/wAAARITJBXWZ0hJmjvcXY7vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAABAAAABQAAAAEAAAAFAAAABQAAAAUAAAABAAAAAQAAAAEAAAAFAAAAAAAAAAEAAAADAAAABQAAAAQAAAACAAAACwAAAA8AAAAHAAAADAAAAA0AAAAJAAAACAAAAAYAAAAKAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQgICAgICAgICAgICAgICAgAAAAAAAAAAAAAAAAAAAAAAAAACQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAAAAAFpaAAAfUQAAfX0AAB64//+g+f//v1EAAMC1//+gmf//ILH//+Gg//9Am///APb//2Cx//8fGwAAwPX//1JJRka4MgAAV0FWRWZtdCAQAAAAAQABACJWAABErAAAAgAQAGRhdGEAAAAAAAAAAMRjAQDQYwEA3GMBAOhjAQD0YwEA/2MBAApkAQAWZAEAImQBAC5kAQA6ZAEARWQBAFBkAQAAAAAAAAAAAAAAAACFYwEAimMBAJBjAQCTYwEAmGMBAKJjAQCsYwEArmMBALBjAQCyYwEAtGMBALhjAQC6YwEAAAAAAAAAAAAAAAAA8WcBAPpnAQABaAEADWgBABdoAQAfaAEAKmgBADRoAQA+aAEAR2gBAE9oAQBZaAEAAAAAAAAAAAAAAAAAAAAAAMT8LwBiaAEAaGgBAG5oAQB0aAEAemgBAIBoAQCGaAEAAAAAAAAAAAAAAAAAAAAAAMT8LwCMaAEAm2gBAKxoAQC9aAEAzGgBAN5oAQD0aAEAxPwvAANpAQALaQEAFWkBAB9pAQAwaQEAO2kBAEppAQBjb2RvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQABAoKAAAACh8KHwofFB8FHxECBAgRCBQdEg0EBAAAAAQICAgEBAICAgQVDh8OFQQEHwQEAAAACBAAAB8AAAAAAAAEAQIECBAfERERHwQMBAQfHwEfEB8fAQcBHxERHwEBHxAfAR8QEB8RHx8BAQEBHxEfER8fER8BAQAEAAQAAAQABAgDDBAMAwAOAA4AGAYBBhgfAQcABB8RHRUdHxEfEREeER4RHw8QEBAPHhERER8fEBwQHx8QHhAQDhAQEQ8RER8REQ4EBAQOAgICEgwSFBgUEhAQEBAfERsVERERGRUTEQ4REREOHhEeEBAfERETHx4RHhERDxAOAR4fBAQEBBEREREOERERCgQRERUbEREKBAoREREOBAQfAgQIHwwICAgMEAgEAgEGAgICBgQKAAAAAAAAAB8EAgAAAB8RHxERHhEeER8PEBAQDx4REREfHxAcEB8fEB4QEA4QEBEPEREfEREOBAQEDgICAhIMEhQYFBIQEBAQHxEbFRERERkVExEOERERDh4RHhAQHxEREx8eER4REQ8QDgEeHwQEBAQRERERDhEREQoEEREVGxERCgQKERERDgQEHwIECB8EBAgEBAQEBAQEBAQCBAQFCgAAAAAAAAAfXHABAGBwAQBkcAEAaHABAGxwAQBxcAEAdnABAHtwAQCAcAEAhXABAIpwAQCPcAEAlHABAJlwAQCecAEAo3ABAKhwAQCtcAEAsnABALdwAQC8cAEAwXABAMZwAQDLcAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP7/AAD+/wAA/v8AAP7/AAD+/wAA/f8AAP3/AAD9/wAA/f8AAPz/AAD8/wAA/P8AAPz/AAD7/wAA+/8AAPv/AAD6/wAA+v8AAPr/AAD5/wAA+f8AAPn/AAD4/wAA+P8AAPf/AAD3/wAA9/8AAPb/AAD2/wAA9f8AAPX/AAD0/wAA9P8AAPP/AADz/wAA8v8AAPL/AADx/wAA8f8AAPD/AADw/wAA7/8AAO//AADu/wAA7f8AAO3/AADs/wAA7P8AAOv/AADq/wAA6v8AAOn/AADo/wAA6P8AAOf/AADm/wAA5v8AAOX/AADk/wAA4/8AAOP/AADi/wAA4f8AAOD/AADg/wAA3/8AAN7/AADd/wAA3P8AANz/AADb/wAA2v8AANn/AADY/wAA1/8AANb/AADV/wAA1f8AANT/AADT/wAA0v8AANH/AADQ/wAAz/8AAM7/AADN/wAAzP8AAMv/AADK/wAAyf8AAMj/AADH/wAAxv8AAMX/AADE/wAAwv8AAMH/AADA/wAAv/8AAL7/AAC9/wAAvP8AALv/AAC5/wAAuP8AALf/AAC2/wAAtf8AALT/AACy/wAAsf8AALD/AACv/wAArf8AAKz/AACr/wAAqf8AAKj/AACn/wAApv8AAKT/AACj/wAAov8AAKD/AACf/wAAnf8AAJz/AACb/wAAmf8AAJj/AACW/wAAlf8AAJT/AACS/wAAkf8AAI//AACO/wAAjP8AAIv/AACJ/wAAiP8AAIb/AACF/wAAg/8AAIL/AACA/wAAfv8AAH3/AAB7/wAAev8AAHj/AAB2/wAAdf8AAHP/AABx/wAAcP8AAG7/AABs/wAAa/8AAGn/AABn/wAAZv8AAGT/AABi/wAAYP8AAF//AABd/wAAW/8AAFn/AABY/wAAVv8AAFT/AABS/wAAUP8AAE7/AABN/wAAS/8AAEn/AABH/wAARf8AAEP/AABB/wAAP/8AAD3/AAA7/wAAOv8AADj/AAA2/wAANP8AADL/AAAw/wAALv8AACz/AAAq/wAAKP8AACX/AAAj/wAAIf8AAB//AAAd/wAAG/8AABn/AAAX/wAAFf8AABP/AAAQ/wAADv8AAAz/AAAK/wAACP8AAAb/AAAD/wAAAf8AAP/+AAD9/gAA+/4AAPj+AAD2/gAA9P4AAPH+AADv/gAA7f4AAOv+AADo/gAA5v4AAOT+AADh/gAA3/4AAN3+AADa/gAA2P4AANX+AADT/gAA0f4AAM7+AADM/gAAyf4AAMf+AADE/gAAwv4AAL/+AAC9/gAAuv4AALj+AAC1/gAAs/4AALD+AACu/gAAq/4AAKn+AACm/gAApP4AAKH+AACe/gAAnP4AAJn+AACX/gAAlP4AAJH+AACP/gAAjP4AAIn+AACH/gAAhP4AAIH+AAB+/gAAfP4AAHn+AAB2/gAAc/4AAHH+AABu/gAAa/4AAGj+AABm/gAAY/4AAGD+AABd/gAAWv4AAFf+AABV/gAAUv4AAE/+AABM/gAASf4AAEb+AABD/gAAQP4AAD3+AAA6/gAAN/4AADT+AAAx/gAALv4AACv+AAAo/gAAJf4AACL+AAAf/gAAHP4AABn+AAAW/gAAE/4AABD+AAAN/gAACv4AAAf+AAAE/gAAAf4AAP39AAD6/QAA9/0AAPT9AADx/QAA7v0AAOr9AADn/QAA5P0AAOH9AADd/QAA2v0AANf9AADU/QAA0P0AAM39AADK/QAAx/0AAMP9AADA/QAAvf0AALn9AAC2/QAAs/0AAK/9AACs/QAAqP0AAKX9AACi/QAAnv0AAJv9AACX/QAAlP0AAJD9AACN/QAAif0AAIb9AACD/QAAf/0AAHz9AAB4/QAAdP0AAHH9AABt/QAAav0AAGb9AABj/QAAX/0AAFv9AABY/QAAVP0AAFH9AABN/QAASf0AAEb9AABC/QAAPv0AADv9AAA3/QAAM/0AADD9AAAs/QAAKP0AACT9AAAh/QAAHf0AABn9AAAV/QAAEv0AAA79AAAK/QAABv0AAAL9AAD+/AAA+/wAAPf8AADz/AAA7/wAAOv8AADn/AAA4/wAAN/8AADc/AAA2PwAANT8AADQ/AAAzPwAAMj8AADE/AAAwPwAALz8AAC4/AAAtPwAALD8AACs/AAAqPwAAKT8AACg/AAAm/wAAJf8AACT/AAAj/wAAIv8AACH/AAAg/wAAH/8AAB7/AAAdvwAAHL8AABu/AAAavwAAGb8AABh/AAAXfwAAFn8AABV/AAAUfwAAEz8AABI/AAARPwAAD/8AAA7/AAAN/wAADP8AAAu/AAAKvwAACb8AAAh/AAAHfwAABj8AAAU/AAAEPwAAAv8AAAH/AAAAvwAAP77AAD6+wAA9fsAAPH7AADs+wAA6PsAAOP7AADf+wAA2vsAANb7AADR+wAAzfsAAMj7AADE+wAAv/sAALv7AAC2+wAAsfsAAK37AACo+wAApPsAAJ/7AACa+wAAlvsAAJH7AACM+wAAiPsAAIP7AAB++wAAevsAAHX7AABw+wAAa/sAAGf7AABi+wAAXfsAAFj7AABU+wAAT/sAAEr7AABF+wAAQPsAADz7AAA3+wAAMvsAAC37AAAo+wAAI/sAAB/7AAAa+wAAFfsAABD7AAAL+wAABvsAAAH7AAD8+gAA9/oAAPL6AADt+gAA6PoAAOP6AADe+gAA2foAANT6AADP+gAAyvoAAMX6AADA+gAAu/oAALb6AACx+gAArPoAAKf6AACh+gAAnPoAAJf6AACS+gAAjfoAAIj6AACD+gAAffoAAHj6AABz+gAAbvoAAGn6AABj+gAAXvoAAFn6AABU+gAATvoAAEn6AABE+gAAPvoAADn6AAA0+gAAL/oAACn6AAAk+gAAH/oAABn6AAAU+gAADvoAAAn6AAAE+gAA/vkAAPn5AADz+QAA7vkAAOj5AADj+QAA3vkAANj5AADT+QAAzfkAAMj5AADC+QAAvfkAALf5AACy+QAArPkAAKb5AACh+QAAm/kAAJb5AACQ+QAAivkAAIX5AAB/+QAAevkAAHT5AABu+QAAafkAAGP5AABd+QAAWPkAAFL5AABM+QAARvkAAEH5AAA7+QAANfkAADD5AAAq+QAAJPkAAB75AAAY+QAAE/kAAA35AAAH+QAAAfkAAPv4AAD1+AAA8PgAAOr4AADk+AAA3vgAANj4AADS+AAAzPgAAMb4AADA+AAAuvgAALT4AACv+AAAqfgAAKP4AACd+AAAl/gAAJH4AACL+AAAhfgAAH74AAB4+AAAcvgAAGz4AABm+AAAYPgAAFr4AABU+AAATvgAAEj4AABC+AAAO/gAADX4AAAv+AAAKfgAACP4AAAd+AAAFvgAABD4AAAK+AAABPgAAP73AAD39wAA8fcAAOv3AADl9wAA3vcAANj3AADS9wAAy/cAAMX3AAC/9wAAuPcAALL3AACs9wAApfcAAJ/3AACZ9wAAkvcAAIz3AACF9wAAf/cAAHn3AABy9wAAbPcAAGX3AABf9wAAWPcAAFL3AABL9wAARfcAAD73AAA49wAAMfcAACv3AAAk9wAAHvcAABf3AAAQ9wAACvcAAAP3AAD99gAA9vYAAO/2AADp9gAA4vYAANv2AADV9gAAzvYAAMf2AADB9gAAuvYAALP2AACt9gAApvYAAJ/2AACY9gAAkvYAAIv2AACE9gAAffYAAHf2AABw9gAAafYAAGL2AABb9gAAVPYAAE72AABH9gAAQPYAADn2AAAy9gAAK/YAACT2AAAd9gAAFvYAABD2AAAJ9gAAAvYAAPv1AAD09QAA7fUAAOb1AADf9QAA2PUAANH1AADK9QAAw/UAALz1AAC19QAArvUAAKb1AACf9QAAmPUAAJH1AACK9QAAg/UAAHz1AAB19QAAbvUAAGb1AABf9QAAWPUAAFH1AABK9QAAQ/UAADv1AAA09QAALfUAACb1AAAe9QAAF/UAABD1AAAJ9QAAAfUAAPr0AADz9AAA6/QAAOT0AADd9AAA1fQAAM70AADH9AAAv/QAALj0AACx9AAAqfQAAKL0AACa9AAAk/QAAIz0AACE9AAAffQAAHX0AABu9AAAZvQAAF/0AABX9AAAUPQAAEj0AABB9AAAOfQAADL0AAAq9AAAI/QAABv0AAAT9AAADPQAAAT0AAD98wAA9fMAAO3zAADm8wAA3vMAANfzAADP8wAAx/MAAMDzAAC48wAAsPMAAKjzAACh8wAAmfMAAJHzAACK8wAAgvMAAHrzAABy8wAAavMAAGPzAABb8wAAU/MAAEvzAABD8wAAPPMAADTzAAAs8wAAJPMAABzzAAAU8wAADPMAAATzAAD98gAA9fIAAO3yAADl8gAA3fIAANXyAADN8gAAxfIAAL3yAAC18gAArfIAAKXyAACd8gAAlfIAAI3yAACF8gAAffIAAHXyAABt8gAAZfIAAF3yAABU8gAATPIAAETyAAA88gAANPIAACzyAAAk8gAAG/IAABPyAAAL8gAAA/IAAPvxAADz8QAA6vEAAOLxAADa8QAA0vEAAMnxAADB8QAAufEAALHxAACo8QAAoPEAAJjxAACP8QAAh/EAAH/xAAB28QAAbvEAAGbxAABd8QAAVfEAAEzxAABE8QAAPPEAADPxAAAr8QAAIvEAABrxAAAR8QAACfEAAAHxAAD48AAA8PAAAOfwAADf8AAA1vAAAM7wAADF8AAAvPAAALTwAACr8AAAo/AAAJrwAACS8AAAifAAAIDwAAB48AAAb/AAAGfwAABe8AAAVfAAAE3wAABE8AAAO/AAADPwAAAq8AAAIfAAABjwAAAQ8AAAB/AAAP7vAAD17wAA7e8AAOTvAADb7wAA0u8AAMrvAADB7wAAuO8AAK/vAACm7wAAne8AAJXvAACM7wAAg+8AAHrvAABx7wAAaO8AAF/vAABW7wAATe8AAEXvAAA87wAAM+8AACrvAAAh7wAAGO8AAA/vAAAG7wAA/e4AAPTuAADr7gAA4u4AANnuAADQ7gAAx+4AAL3uAAC07gAAq+4AAKLuAACZ7gAAkO4AAIfuAAB+7gAAde4AAGvuAABi7gAAWe4AAFDuAABH7gAAPu4AADTuAAAr7gAAIu4AABnuAAAP7gAABu4AAP3tAAD07QAA6u0AAOHtAADY7QAAz+0AAMXtAAC87QAAs+0AAKntAACg7QAAl+0AAI3tAACE7QAAeu0AAHHtAABo7QAAXu0AAFXtAABL7QAAQu0AADjtAAAv7QAAJu0AABztAAAT7QAACe0AAADtAAD27AAA7ewAAOPsAADa7AAA0OwAAMbsAAC97AAAs+wAAKrsAACg7AAAl+wAAI3sAACD7AAAeuwAAHDsAABm7AAAXewAAFPsAABK7AAAQOwAADbsAAAs7AAAI+wAABnsAAAP7AAABuwAAPzrAADy6wAA6OsAAN/rAADV6wAAy+sAAMHrAAC36wAArusAAKTrAACa6wAAkOsAAIbrAAB86wAAc+sAAGnrAABf6wAAVesAAEvrAABB6wAAN+sAAC3rAAAj6wAAGesAAA/rAAAG6wAA/OoAAPLqAADo6gAA3uoAANTqAADK6gAAwOoAALbqAACr6gAAoeoAAJfqAACN6gAAg+oAAHnqAABv6gAAZeoAAFvqAABR6gAAR+oAADzqAAAy6gAAKOoAAB7qAAAU6gAACuoAAP/pAAD16QAA6+kAAOHpAADX6QAAzOkAAMLpAAC46QAArukAAKPpAACZ6QAAj+kAAIXpAAB66QAAcOkAAGbpAABb6QAAUekAAEfpAAA86QAAMukAACfpAAAd6QAAE+kAAAjpAAD+6AAA8+gAAOnoAADf6AAA1OgAAMroAAC/6AAAtegAAKroAACg6AAAlegAAIvoAACA6AAAdugAAGvoAABh6AAAVugAAEzoAABB6AAANugAACzoAAAh6AAAF+gAAAzoAAAB6AAA9+cAAOznAADi5wAA1+cAAMznAADC5wAAt+cAAKznAACh5wAAl+cAAIznAACB5wAAd+cAAGznAABh5wAAVucAAEznAABB5wAANucAACvnAAAg5wAAFucAAAvnAAAA5wAA9eYAAOrmAADf5gAA1eYAAMrmAAC/5gAAtOYAAKnmAACe5gAAk+YAAIjmAAB95gAAcuYAAGfmAABc5gAAUuYAAEfmAAA85gAAMeYAACbmAAAb5gAAEOYAAAXmAAD55QAA7uUAAOPlAADY5QAAzeUAAMLlAAC35QAArOUAAKHlAACW5QAAi+UAAH/lAAB05QAAaeUAAF7lAABT5QAASOUAAD3lAAAx5QAAJuUAABvlAAAQ5QAABOUAAPnkAADu5AAA4+QAANfkAADM5AAAweQAALbkAACq5AAAn+QAAJTkAACI5AAAfeQAAHLkAABm5AAAW+QAAFDkAABE5AAAOeQAAC7kAAAi5AAAF+QAAAvkAAAA5AAA9OMAAOnjAADe4wAA0uMAAMfjAAC74wAAsOMAAKTjAACZ4wAAjeMAAILjAAB24wAAa+MAAF/jAABT4wAASOMAADzjAAAx4wAAJeMAABrjAAAO4wAAAuMAAPfiAADr4gAA3+IAANTiAADI4gAAveIAALHiAACl4gAAmeIAAI7iAACC4gAAduIAAGviAABf4gAAU+IAAEfiAAA84gAAMOIAACTiAAAY4gAADeIAAAHiAAD14QAA6eEAAN3hAADR4QAAxuEAALrhAACu4QAAouEAAJbhAACK4QAAfuEAAHLhAABn4QAAW+EAAE/hAABD4QAAN+EAACvhAAAf4QAAE+EAAAfhAAD74AAA7+AAAOPgAADX4AAAy+AAAL/gAACz4AAAp+AAAJvgAACP4AAAg+AAAHfgAABq4AAAXuAAAFLgAABG4AAAOuAAAC7gAAAi4AAAFuAAAAngAAD93wAA8d8AAOXfAADZ3wAAzd8AAMDfAAC03wAAqN8AAJzfAACP3wAAg98AAHffAABr3wAAXt8AAFLfAABG3wAAOd8AAC3fAAAh3wAAFd8AAAjfAAD83gAA8N4AAOPeAADX3gAAyt4AAL7eAACy3gAApd4AAJneAACM3gAAgN4AAHTeAABn3gAAW94AAE7eAABC3gAANd4AACneAAAc3gAAEN4AAAPeAAD33QAA6t0AAN7dAADR3QAAxd0AALjdAACr3QAAn90AAJLdAACG3QAAed0AAGzdAABg3QAAU90AAEfdAAA63QAALd0AACHdAAAU3QAAB90AAPvcAADu3AAA4dwAANXcAADI3AAAu9wAAK7cAACi3AAAldwAAIjcAAB73AAAb9wAAGLcAABV3AAASNwAADvcAAAv3AAAItwAABXcAAAI3AAA+9sAAO7bAADh2wAA1dsAAMjbAAC72wAArtsAAKHbAACU2wAAh9sAAHrbAABt2wAAYNsAAFPbAABG2wAAOdsAACzbAAAf2wAAEtsAAAXbAAD42gAA69oAAN7aAADR2gAAxNoAALfaAACq2gAAndoAAJDaAACD2gAAdtoAAGnaAABc2gAAT9oAAEHaAAA02gAAJ9oAABraAAAN2gAAANoAAPLZAADl2QAA2NkAAMvZAAC+2QAAsNkAAKPZAACW2QAAidkAAHvZAABu2QAAYdkAAFTZAABG2QAAOdkAACzZAAAe2QAAEdkAAATZAAD22AAA6dgAANzYAADO2AAAwdgAALTYAACm2AAAmdgAAIvYAAB+2AAAcdgAAGPYAABW2AAASNgAADvYAAAt2AAAINgAABLYAAAF2AAA+NcAAOrXAADc1wAAz9cAAMHXAAC01wAAptcAAJnXAACL1wAAftcAAHDXAABj1wAAVdcAAEfXAAA61wAALNcAAB/XAAAR1wAAA9cAAPbWAADo1gAA2tYAAM3WAAC/1gAAsdYAAKTWAACW1gAAiNYAAHrWAABt1gAAX9YAAFHWAABE1gAANtYAACjWAAAa1gAADNYAAP/VAADx1QAA49UAANXVAADH1QAAutUAAKzVAACe1QAAkNUAAILVAAB01QAAZtUAAFnVAABL1QAAPdUAAC/VAAAh1QAAE9UAAAXVAAD31AAA6dQAANvUAADN1AAAv9QAALHUAACj1AAAldQAAIfUAAB51AAAa9QAAF3UAABP1AAAQdQAADPUAAAl1AAAF9QAAAnUAAD70wAA7dMAAN/TAADQ0wAAwtMAALTTAACm0wAAmNMAAIrTAAB80wAAbdMAAF/TAABR0wAAQ9MAADXTAAAm0wAAGNMAAArTAAD80gAA7tIAAN/SAADR0gAAw9IAALXSAACm0gAAmNIAAIrSAAB70gAAbdIAAF/SAABQ0gAAQtIAADTSAAAl0gAAF9IAAAnSAAD60QAA7NEAAN7RAADP0QAAwdEAALLRAACk0QAAldEAAIfRAAB50QAAatEAAFzRAABN0QAAP9EAADDRAAAi0QAAE9EAAAXRAAD20AAA6NAAANnQAADL0AAAvNAAAK7QAACf0AAAkNAAAILQAABz0AAAZdAAAFbQAABH0AAAOdAAACrQAAAc0AAADdAAAP7PAADwzwAA4c8AANLPAADEzwAAtc8AAKbPAACYzwAAic8AAHrPAABrzwAAXc8AAE7PAAA/zwAAMM8AACLPAAATzwAABM8AAPXOAADnzgAA2M4AAMnOAAC6zgAAq84AAJzOAACOzgAAf84AAHDOAABhzgAAUs4AAEPOAAA0zgAAJc4AABfOAAAIzgAA+c0AAOrNAADbzQAAzM0AAL3NAACuzQAAn80AAJDNAACBzQAAcs0AAGPNAABUzQAARc0AADbNAAAnzQAAGM0AAAnNAAD6zAAA68wAANzMAADNzAAAvswAAK7MAACfzAAAkMwAAIHMAAByzAAAY8wAAFTMAABFzAAANcwAACbMAAAXzAAACMwAAPnLAADqywAA2ssAAMvLAAC8ywAArcsAAJ7LAACOywAAf8sAAHDLAABhywAAUcsAAELLAAAzywAAI8sAABTLAAAFywAA9coAAObKAADXygAAx8oAALjKAACpygAAmcoAAIrKAAB7ygAAa8oAAFzKAABNygAAPcoAAC7KAAAeygAAD8oAAP/JAADwyQAA4ckAANHJAADCyQAAsskAAKPJAACTyQAAhMkAAHTJAABlyQAAVckAAEbJAAA2yQAAJ8kAABfJAAAHyQAA+MgAAOjIAADZyAAAycgAALrIAACqyAAAmsgAAIvIAAB7yAAAa8gAAFzIAABMyAAAPMgAAC3IAAAdyAAADcgAAP7HAADuxwAA3scAAM/HAAC/xwAAr8cAAKDHAACQxwAAgMcAAHDHAABhxwAAUccAAEHHAAAxxwAAIccAABLHAAACxwAA8sYAAOLGAADSxgAAwsYAALPGAACjxgAAk8YAAIPGAABzxgAAY8YAAFPGAABExgAANMYAACTGAAAUxgAABMYAAPTFAADkxQAA1MUAAMTFAAC0xQAApMUAAJTFAACExQAAdMUAAGTFAABUxQAARMUAADTFAAAkxQAAFMUAAATFAAD0xAAA5MQAANTEAADExAAAtMQAAKTEAACUxAAAg8QAAHPEAABjxAAAU8QAAEPEAAAzxAAAI8QAABPEAAACxAAA8sMAAOLDAADSwwAAwsMAALHDAAChwwAAkcMAAIHDAABxwwAAYMMAAFDDAABAwwAAMMMAAB/DAAAPwwAA/8IAAO7CAADewgAAzsIAAL7CAACtwgAAncIAAI3CAAB8wgAAbMIAAFzCAABLwgAAO8IAACrCAAAawgAACsIAAPnBAADpwQAA2MEAAMjBAAC4wQAAp8EAAJfBAACGwQAAdsEAAGXBAABVwQAARMEAADTBAAAjwQAAE8EAAALBAADywAAA4cAAANHAAADAwAAAsMAAAJ/AAACPwAAAfsAAAG7AAABdwAAATMAAADzAAAArwAAAG8AAAArAAAD5vwAA6b8AANi/AADHvwAAt78AAKa/AACVvwAAhb8AAHS/AABjvwAAU78AAEK/AAAxvwAAIb8AABC/AAD/vgAA7r4AAN6+AADNvgAAvL4AAKu+AACbvgAAir4AAHm+AABovgAAV74AAEe+AAA2vgAAJb4AABS+AAADvgAA8r0AAOK9AADRvQAAwL0AAK+9AACevQAAjb0AAHy9AABrvQAAWr0AAEq9AAA5vQAAKL0AABe9AAAGvQAA9bwAAOS8AADTvAAAwrwAALG8AACgvAAAj7wAAH68AABtvAAAXLwAAEu8AAA6vAAAKbwAABi8AAAHvAAA9rsAAOW7AADUuwAAw7sAALG7AACguwAAj7sAAH67AABtuwAAXLsAAEu7AAA6uwAAKLsAABe7AAAGuwAA9boAAOS6AADTugAAwboAALC6AACfugAAjroAAH26AABrugAAWroAAEm6AAA4ugAAJroAABW6AAAEugAA87kAAOG5AADQuQAAv7kAAK65AACcuQAAi7kAAHq5AABouQAAV7kAAEa5AAA0uQAAI7kAABK5AAAAuQAA77gAAN24AADMuAAAu7gAAKm4AACYuAAAhrgAAHW4AABkuAAAUrgAAEG4AAAvuAAAHrgAAAy4AAD7twAA6bcAANi3AADGtwAAtbcAAKO3AACStwAAgLcAAG+3AABdtwAATLcAADq3AAAptwAAF7cAAAW3AAD0tgAA4rYAANG2AAC/tgAArbYAAJy2AACKtgAAebYAAGe2AABVtgAARLYAADK2AAAgtgAAD7YAAP21AADrtQAA2rUAAMi1AAC2tQAApbUAAJO1AACBtQAAb7UAAF61AABMtQAAOrUAACi1AAAXtQAABbUAAPO0AADhtAAA0LQAAL60AACstAAAmrQAAIi0AAB3tAAAZbQAAFO0AABBtAAAL7QAAB20AAALtAAA+rMAAOizAADWswAAxLMAALKzAACgswAAjrMAAHyzAABqswAAWLMAAEezAAA1swAAI7MAABGzAAD/sgAA7bIAANuyAADJsgAAt7IAAKWyAACTsgAAgbIAAG+yAABdsgAAS7IAADmyAAAnsgAAFbIAAAOyAADwsQAA3rEAAMyxAAC6sQAAqLEAAJaxAACEsQAAcrEAAGCxAABOsQAAO7EAACmxAAAXsQAABbEAAPOwAADhsAAAzrAAALywAACqsAAAmLAAAIawAAB0sAAAYbAAAE+wAAA9sAAAK7AAABiwAAAGsAAA9K8AAOKvAADPrwAAva8AAKuvAACZrwAAhq8AAHSvAABirwAAT68AAD2vAAArrwAAGK8AAAavAAD0rgAA4a4AAM+uAAC9rgAAqq4AAJiuAACFrgAAc64AAGGuAABOrgAAPK4AACmuAAAXrgAABa4AAPKtAADgrQAAza0AALutAACorQAAlq0AAIOtAABxrQAAXq0AAEytAAA5rQAAJ60AABStAAACrQAA76wAAN2sAADKrAAAuKwAAKWsAACTrAAAgKwAAG2sAABbrAAASKwAADasAAAjrAAAEawAAP6rAADrqwAA2asAAMarAACzqwAAoasAAI6rAAB7qwAAaasAAFarAABDqwAAMasAAB6rAAALqwAA+aoAAOaqAADTqgAAwaoAAK6qAACbqgAAiKoAAHaqAABjqgAAUKoAAD2qAAAqqgAAGKoAAAWqAADyqQAA36kAAM2pAAC6qQAAp6kAAJSpAACBqQAAbqkAAFypAABJqQAANqkAACOpAAAQqQAA/agAAOqoAADXqAAAxagAALKoAACfqAAAjKgAAHmoAABmqAAAU6gAAECoAAAtqAAAGqgAAAeoAAD0pwAA4acAAM6nAAC7pwAAqKcAAJWnAACCpwAAb6cAAFynAABJpwAANqcAACOnAAAQpwAA/aYAAOqmAADXpgAAxKYAALGmAACepgAAi6YAAHimAABlpgAAUqYAAD6mAAArpgAAGKYAAAWmAADypQAA36UAAMylAAC4pQAApaUAAJKlAAB/pQAAbKUAAFmlAABFpQAAMqUAAB+lAAAMpQAA+aQAAOWkAADSpAAAv6QAAKykAACYpAAAhaQAAHKkAABfpAAAS6QAADikAAAlpAAAEqQAAP6jAADrowAA2KMAAMSjAACxowAAnqMAAIqjAAB3owAAZKMAAFCjAAA9owAAKqMAABajAAADowAA76IAANyiAADJogAAtaIAAKKiAACOogAAe6IAAGiiAABUogAAQaIAAC2iAAAaogAABqIAAPOhAADfoQAAzKEAALmhAACloQAAkqEAAH6hAABroQAAV6EAAEOhAAAwoQAAHKEAAAmhAAD1oAAA4qAAAM6gAAC7oAAAp6AAAJSgAACAoAAAbKAAAFmgAABFoAAAMqAAAB6gAAAKoAAA958AAOOfAADQnwAAvJ8AAKifAACVnwAAgZ8AAG2fAABanwAARp8AADKfAAAfnwAAC58AAPeeAADjngAA0J4AALyeAACongAAlZ4AAIGeAABtngAAWZ4AAEaeAAAyngAAHp4AAAqeAAD3nQAA450AAM+dAAC7nQAAp50AAJSdAACAnQAAbJ0AAFidAABEnQAAMZ0AAB2dAAAJnQAA9ZwAAOGcAADNnAAAuZwAAKacAACSnAAAfpwAAGqcAABWnAAAQpwAAC6cAAAanAAABpwAAPKbAADemwAAypsAALebAACjmwAAj5sAAHubAABnmwAAU5sAAD+bAAArmwAAF5sAAAObAADvmgAA25oAAMeaAACzmgAAn5oAAIuaAAB3mgAAY5oAAE+aAAA6mgAAJpoAABKaAAD+mQAA6pkAANaZAADCmQAArpkAAJqZAACGmQAAcpkAAF2ZAABJmQAANZkAACGZAAANmQAA+ZgAAOWYAADQmAAAvJgAAKiYAACUmAAAgJgAAGyYAABXmAAAQ5gAAC+YAAAbmAAAB5gAAPKXAADelwAAypcAALaXAAChlwAAjZcAAHmXAABllwAAUJcAADyXAAAolwAAE5cAAP+WAADrlgAA15YAAMKWAACulgAAmpYAAIWWAABxlgAAXZYAAEiWAAA0lgAAIJYAAAuWAAD3lQAA4pUAAM6VAAC6lQAApZUAAJGVAAB9lQAAaJUAAFSVAAA/lQAAK5UAABaVAAAClQAA7pQAANmUAADFlAAAsJQAAJyUAACHlAAAc5QAAF6UAABKlAAANZQAACGUAAAMlAAA+JMAAOOTAADPkwAAupMAAKaTAACRkwAAfZMAAGiTAABUkwAAP5MAACqTAAAWkwAAAZMAAO2SAADYkgAAxJIAAK+SAACakgAAhpIAAHGSAABdkgAASJIAADOSAAAfkgAACpIAAPWRAADhkQAAzJEAALeRAACjkQAAjpEAAHmRAABlkQAAUJEAADuRAAAnkQAAEpEAAP2QAADpkAAA1JAAAL+QAACqkAAAlpAAAIGQAABskAAAV5AAAEOQAAAukAAAGZAAAASQAADwjwAA248AAMaPAACxjwAAnI8AAIiPAABzjwAAXo8AAEmPAAA0jwAAH48AAAuPAAD2jgAA4Y4AAMyOAAC3jgAAoo4AAI2OAAB5jgAAZI4AAE+OAAA6jgAAJY4AABCOAAD7jQAA5o0AANGNAAC8jQAAp40AAJONAAB+jQAAaY0AAFSNAAA/jQAAKo0AABWNAAAAjQAA64wAANaMAADBjAAArIwAAJeMAACCjAAAbYwAAFiMAABDjAAALowAABmMAAAEjAAA74sAANqLAADFiwAAr4sAAJqLAACFiwAAcIsAAFuLAABGiwAAMYsAAByLAAAHiwAA8ooAAN2KAADHigAAsooAAJ2KAACIigAAc4oAAF6KAABJigAANIoAAB6KAAAJigAA9IkAAN+JAADKiQAAtIkAAJ+JAACKiQAAdYkAAGCJAABKiQAANYkAACCJAAALiQAA9ogAAOCIAADLiAAAtogAAKGIAACLiAAAdogAAGGIAABMiAAANogAACGIAAAMiAAA9ocAAOGHAADMhwAAt4cAAKGHAACMhwAAd4cAAGGHAABMhwAAN4cAACGHAAAMhwAA94YAAOGGAADMhgAAtoYAAKGGAACMhgAAdoYAAGGGAABMhgAANoYAACGGAAALhgAA9oUAAOCFAADLhQAAtoUAAKCFAACLhQAAdYUAAGCFAABKhQAANYUAAB+FAAAKhQAA9YQAAN+EAADKhAAAtIQAAJ+EAACJhAAAdIQAAF6EAABJhAAAM4QAAB2EAAAIhAAA8oMAAN2DAADHgwAAsoMAAJyDAACHgwAAcYMAAFyDAABGgwAAMIMAABuDAAAFgwAA8IIAANqCAADEggAAr4IAAJmCAACEggAAboIAAFiCAABDggAALYIAABeCAAACggAA7IEAANaBAADBgQAAq4EAAJWBAACAgQAAaoEAAFSBAAA/gQAAKYEAABOBAAD+gAAA6IAAANKAAAC8gAAAp4AAAJGAAAB7gAAAZoAAAFCAAAA6gAAAJIAAAA+AAAD5fwAA438AAM1/AAC3fwAAon8AAIx/AAB2fwAAYH8AAEp/AAA1fwAAH38AAAl/AADzfgAA3X4AAMh+AACyfgAAnH4AAIZ+AABwfgAAWn4AAER+AAAvfgAAGX4AAAN+AADtfQAA130AAMF9AACrfQAAlX0AAH99AABqfQAAVH0AAD59AAAofQAAEn0AAPx8AADmfAAA0HwAALp8AACkfAAAjnwAAHh8AABifAAATHwAADZ8AAAgfAAACnwAAPR7AADeewAAyHsAALJ7AACcewAAhnsAAHB7AABaewAARHsAAC57AAAYewAAAnsAAOx6AADWegAAwHoAAKp6AACUegAAfnoAAGh6AABSegAAPHoAACZ6AAAQegAA+XkAAON5AADNeQAAt3kAAKF5AACLeQAAdXkAAF95AABJeQAAMnkAABx5AAAGeQAA8HgAANp4AADEeAAArXgAAJd4AACBeAAAa3gAAFV4AAA/eAAAKHgAABJ4AAD8dwAA5ncAANB3AAC5dwAAo3cAAI13AAB3dwAAYHcAAEp3AAA0dwAAHncAAAh3AADxdgAA23YAAMV2AACudgAAmHYAAIJ2AABsdgAAVXYAAD92AAApdgAAEnYAAPx1AADmdQAA0HUAALl1AACjdQAAjXUAAHZ1AABgdQAASnUAADN1AAAddQAAB3UAAPB0AADadAAAw3QAAK10AACXdAAAgHQAAGp0AABUdAAAPXQAACd0AAAQdAAA+nMAAORzAADNcwAAt3MAAKBzAACKcwAAc3MAAF1zAABHcwAAMHMAABpzAAADcwAA7XIAANZyAADAcgAAqXIAAJNyAAB8cgAAZnIAAFByAAA5cgAAI3IAAAxyAAD2cQAA33EAAMlxAACycQAAm3EAAIVxAABucQAAWHEAAEFxAAArcQAAFHEAAP5wAADncAAA0XAAALpwAACjcAAAjXAAAHZwAABgcAAASXAAADNwAAAccAAABXAAAO9vAADYbwAAwm8AAKtvAACUbwAAfm8AAGdvAABQbwAAOm8AACNvAAANbwAA9m4AAN9uAADJbgAAsm4AAJtuAACFbgAAbm4AAFduAABBbgAAKm4AABNuAAD8bQAA5m0AAM9tAAC4bQAAom0AAIttAAB0bQAAXm0AAEdtAAAwbQAAGW0AAANtAADsbAAA1WwAAL5sAACobAAAkWwAAHpsAABjbAAATWwAADZsAAAfbAAACGwAAPFrAADbawAAxGsAAK1rAACWawAAf2sAAGlrAABSawAAO2sAACRrAAANawAA9moAAOBqAADJagAAsmoAAJtqAACEagAAbWoAAFdqAABAagAAKWoAABJqAAD7aQAA5GkAAM1pAAC2aQAAoGkAAIlpAAByaQAAW2kAAERpAAAtaQAAFmkAAP9oAADoaAAA0WgAALpoAACjaAAAjWgAAHZoAABfaAAASGgAADFoAAAaaAAAA2gAAOxnAADVZwAAvmcAAKdnAACQZwAAeWcAAGJnAABLZwAANGcAAB1nAAAGZwAA72YAANhmAADBZgAAqmYAAJNmAAB8ZgAAZWYAAE5mAAA3ZgAAIGYAAAlmAADyZQAA22UAAMNlAACsZQAAlWUAAH5lAABnZQAAUGUAADllAAAiZQAAC2UAAPRkAADdZAAAxmQAAK5kAACXZAAAgGQAAGlkAABSZAAAO2QAACRkAAANZAAA9WMAAN5jAADHYwAAsGMAAJljAACCYwAAa2MAAFNjAAA8YwAAJWMAAA5jAAD3YgAA4GIAAMhiAACxYgAAmmIAAINiAABsYgAAVGIAAD1iAAAmYgAAD2IAAPhhAADgYQAAyWEAALJhAACbYQAAg2EAAGxhAABVYQAAPmEAACZhAAAPYQAA+GAAAOFgAADJYAAAsmAAAJtgAACEYAAAbGAAAFVgAAA+YAAAJmAAAA9gAAD4XwAA4V8AAMlfAACyXwAAm18AAINfAABsXwAAVV8AAD1fAAAmXwAAD18AAPdeAADgXgAAyV4AALFeAACaXgAAg14AAGteAABUXgAAPF4AACVeAAAOXgAA9l0AAN9dAADIXQAAsF0AAJldAACBXQAAal0AAFNdAAA7XQAAJF0AAAxdAAD1XAAA3lwAAMZcAACvXAAAl1wAAIBcAABoXAAAUVwAADpcAAAiXAAAC1wAAPNbAADcWwAAxFsAAK1bAACVWwAAflsAAGZbAABPWwAAN1sAACBbAAAIWwAA8VoAANlaAADCWgAAqloAAJNaAAB7WgAAZFoAAExaAAA1WgAAHVoAAAZaAADuWQAA11kAAL9ZAACoWQAAkFkAAHlZAABhWQAASlkAADJZAAAaWQAAA1kAAOtYAADUWAAAvFgAAKVYAACNWAAAdVgAAF5YAABGWAAAL1gAABdYAAD/VwAA6FcAANBXAAC5VwAAoVcAAIlXAAByVwAAWlcAAENXAAArVwAAE1cAAPxWAADkVgAAzFYAALVWAACdVgAAhVYAAG5WAABWVgAAPlYAACdWAAAPVgAA91UAAOBVAADIVQAAsFUAAJlVAACBVQAAaVUAAFJVAAA6VQAAIlUAAAtVAADzVAAA21QAAMNUAACsVAAAlFQAAHxUAABkVAAATVQAADVUAAAdVAAABlQAAO5TAADWUwAAvlMAAKdTAACPUwAAd1MAAF9TAABIUwAAMFMAABhTAAAAUwAA6FIAANFSAAC5UgAAoVIAAIlSAAByUgAAWlIAAEJSAAAqUgAAElIAAPtRAADjUQAAy1EAALNRAACbUQAAg1EAAGxRAABUUQAAPFEAACRRAAAMUQAA9FAAAN1QAADFUAAArVAAAJVQAAB9UAAAZVAAAE1QAAA2UAAAHlAAAAZQAADuTwAA1k8AAL5PAACmTwAAjk8AAHdPAABfTwAAR08AAC9PAAAXTwAA/04AAOdOAADPTgAAt04AAJ9OAACHTgAAcE4AAFhOAABATgAAKE4AABBOAAD4TQAA4E0AAMhNAACwTQAAmE0AAIBNAABoTQAAUE0AADhNAAAgTQAACE0AAPBMAADYTAAAwEwAAKhMAACQTAAAeUwAAGFMAABJTAAAMUwAABlMAAABTAAA6UsAANFLAAC5SwAAoUsAAIlLAABxSwAAWEsAAEBLAAAoSwAAEEsAAPhKAADgSgAAyEoAALBKAACYSgAAgEoAAGhKAABQSgAAOEoAACBKAAAISgAA8EkAANhJAADASQAAqEkAAJBJAAB4SQAAX0kAAEdJAAAvSQAAF0kAAP9IAADnSAAAz0gAALdIAACfSAAAh0gAAG9IAABWSAAAPkgAACZIAAAOSAAA9kcAAN5HAADGRwAArkcAAJVHAAB9RwAAZUcAAE1HAAA1RwAAHUcAAAVHAADsRgAA1EYAALxGAACkRgAAjEYAAHRGAABcRgAAQ0YAACtGAAATRgAA+0UAAONFAADLRQAAskUAAJpFAACCRQAAakUAAFJFAAA5RQAAIUUAAAlFAADxRAAA2UQAAMBEAACoRAAAkEQAAHhEAABgRAAAR0QAAC9EAAAXRAAA/0MAAOZDAADOQwAAtkMAAJ5DAACFQwAAbUMAAFVDAAA9QwAAJEMAAAxDAAD0QgAA3EIAAMNCAACrQgAAk0IAAHtCAABiQgAASkIAADJCAAAaQgAAAUIAAOlBAADRQQAAuEEAAKBBAACIQQAAb0EAAFdBAAA/QQAAJ0EAAA5BAAD2QAAA3kAAAMVAAACtQAAAlUAAAHxAAABkQAAATEAAADNAAAAbQAAAA0AAAOo/AADSPwAAuj8AAKE/AACJPwAAcT8AAFg/AABAPwAAKD8AAA8/AAD3PgAA3z4AAMY+AACuPgAAlT4AAH0+AABlPgAATD4AADQ+AAAcPgAAAz4AAOs9AADSPQAAuj0AAKI9AACJPQAAcT0AAFg9AABAPQAAKD0AAA89AAD3PAAA3jwAAMY8AACuPAAAlTwAAH08AABkPAAATDwAADM8AAAbPAAAAzwAAOo7AADSOwAAuTsAAKE7AACIOwAAcDsAAFg7AAA/OwAAJzsAAA47AAD2OgAA3ToAAMU6AACsOgAAlDoAAHs6AABjOgAASjoAADI6AAAaOgAAAToAAOk5AADQOQAAuDkAAJ85AACHOQAAbjkAAFY5AAA9OQAAJTkAAAw5AAD0OAAA2zgAAMM4AACqOAAAkjgAAHk4AABhOAAASDgAADA4AAAXOAAA/jcAAOY3AADNNwAAtTcAAJw3AACENwAAazcAAFM3AAA6NwAAIjcAAAk3AADxNgAA2DYAAMA2AACnNgAAjjYAAHY2AABdNgAARTYAACw2AAAUNgAA+zUAAOI1AADKNQAAsTUAAJk1AACANQAAaDUAAE81AAA2NQAAHjUAAAU1AADtNAAA1DQAALs0AACjNAAAijQAAHI0AABZNAAAQDQAACg0AAAPNAAA9zMAAN4zAADFMwAArTMAAJQzAAB8MwAAYzMAAEozAAAyMwAAGTMAAAAzAADoMgAAzzIAALcyAACeMgAAhTIAAG0yAABUMgAAOzIAACMyAAAKMgAA8TEAANkxAADAMQAApzEAAI8xAAB2MQAAXjEAAEUxAAAsMQAAFDEAAPswAADiMAAAyjAAALEwAACYMAAAfzAAAGcwAABOMAAANTAAAB0wAAAEMAAA6y8AANMvAAC6LwAAoS8AAIkvAABwLwAAVy8AAD8vAAAmLwAADS8AAPQuAADcLgAAwy4AAKouAACSLgAAeS4AAGAuAABHLgAALy4AABYuAAD9LQAA5S0AAMwtAACzLQAAmi0AAIItAABpLQAAUC0AADctAAAfLQAABi0AAO0sAADULAAAvCwAAKMsAACKLAAAcSwAAFksAABALAAAJywAAA4sAAD2KwAA3SsAAMQrAACrKwAAkysAAHorAABhKwAASCsAADArAAAXKwAA/ioAAOUqAADMKgAAtCoAAJsqAACCKgAAaSoAAFEqAAA4KgAAHyoAAAYqAADtKQAA1SkAALwpAACjKQAAiikAAHEpAABZKQAAQCkAACcpAAAOKQAA9SgAAN0oAADEKAAAqygAAJIoAAB5KAAAYCgAAEgoAAAvKAAAFigAAP0nAADkJwAAzCcAALMnAACaJwAAgScAAGgnAABPJwAANycAAB4nAAAFJwAA7CYAANMmAAC6JgAAoiYAAIkmAABwJgAAVyYAAD4mAAAlJgAADCYAAPQlAADbJQAAwiUAAKklAACQJQAAdyUAAF4lAABGJQAALSUAABQlAAD7JAAA4iQAAMkkAACwJAAAlyQAAH8kAABmJAAATSQAADQkAAAbJAAAAiQAAOkjAADQIwAAuCMAAJ8jAACGIwAAbSMAAFQjAAA7IwAAIiMAAAkjAADwIgAA1yIAAL8iAACmIgAAjSIAAHQiAABbIgAAQiIAACkiAAAQIgAA9yEAAN4hAADGIQAArSEAAJQhAAB7IQAAYiEAAEkhAAAwIQAAFyEAAP4gAADlIAAAzCAAALMgAACaIAAAgiAAAGkgAABQIAAANyAAAB4gAAAFIAAA7B8AANMfAAC6HwAAoR8AAIgfAABvHwAAVh8AAD0fAAAkHwAACx8AAPMeAADaHgAAwR4AAKgeAACPHgAAdh4AAF0eAABEHgAAKx4AABIeAAD5HQAA4B0AAMcdAACuHQAAlR0AAHwdAABjHQAASh0AADEdAAAYHQAA/xwAAOYcAADNHAAAtBwAAJscAACCHAAAaRwAAFEcAAA4HAAAHxwAAAYcAADtGwAA1BsAALsbAACiGwAAiRsAAHAbAABXGwAAPhsAACUbAAAMGwAA8xoAANoaAADBGgAAqBoAAI8aAAB2GgAAXRoAAEQaAAArGgAAEhoAAPkZAADgGQAAxxkAAK4ZAACVGQAAfBkAAGMZAABKGQAAMRkAABgZAAD/GAAA5hgAAM0YAAC0GAAAmxgAAIIYAABpGAAAUBgAADcYAAAdGAAABBgAAOsXAADSFwAAuRcAAKAXAACHFwAAbhcAAFUXAAA8FwAAIxcAAAoXAADxFgAA2BYAAL8WAACmFgAAjRYAAHQWAABbFgAAQhYAACkWAAAQFgAA9xUAAN4VAADFFQAArBUAAJMVAAB6FQAAYRUAAEgVAAAuFQAAFRUAAPwUAADjFAAAyhQAALEUAACYFAAAfxQAAGYUAABNFAAANBQAABsUAAACFAAA6RMAANATAAC3EwAAnhMAAIUTAABsEwAAUhMAADkTAAAgEwAABxMAAO4SAADVEgAAvBIAAKMSAACKEgAAcRIAAFgSAAA/EgAAJhIAAA0SAAD0EQAA2hEAAMERAACoEQAAjxEAAHYRAABdEQAARBEAACsRAAASEQAA+RAAAOAQAADHEAAArhAAAJQQAAB7EAAAYhAAAEkQAAAwEAAAFxAAAP4PAADlDwAAzA8AALMPAACaDwAAgQ8AAGcPAABODwAANQ8AABwPAAADDwAA6g4AANEOAAC4DgAAnw4AAIYOAABtDgAAUw4AADoOAAAhDgAACA4AAO8NAADWDQAAvQ0AAKQNAACLDQAAcg0AAFkNAAA/DQAAJg0AAA0NAAD0DAAA2wwAAMIMAACpDAAAkAwAAHcMAABdDAAARAwAACsMAAASDAAA+QsAAOALAADHCwAArgsAAJULAAB8CwAAYgsAAEkLAAAwCwAAFwsAAP4KAADlCgAAzAoAALMKAACaCgAAgAoAAGcKAABOCgAANQoAABwKAAADCgAA6gkAANEJAAC4CQAAngkAAIUJAABsCQAAUwkAADoJAAAhCQAACAkAAO8IAADVCAAAvAgAAKMIAACKCAAAcQgAAFgIAAA/CAAAJggAAA0IAADzBwAA2gcAAMEHAACoBwAAjwcAAHYHAABdBwAARAcAACoHAAARBwAA+AYAAN8GAADGBgAArQYAAJQGAAB7BgAAYQYAAEgGAAAvBgAAFgYAAP0FAADkBQAAywUAALIFAACYBQAAfwUAAGYFAABNBQAANAUAABsFAAACBQAA6QQAAM8EAAC2BAAAnQQAAIQEAABrBAAAUgQAADkEAAAgBAAABgQAAO0DAADUAwAAuwMAAKIDAACJAwAAcAMAAFYDAAA9AwAAJAMAAAsDAADyAgAA2QIAAMACAACnAgAAjQIAAHQCAABbAgAAQgIAACkCAAAQAgAA9wEAAN4BAADEAQAAqwEAAJIBAAB5AQAAYAEAAEcBAAAuAQAAFAEAAPsAAADiAAAAyQAAALAAAACXAAAAfgAAAGUAAABLAAAAMgAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAKAAAADwAAABQAAAAZAAAAHwAAACQAAAApAAAALgAAADMAAAA4AAAAPQAAAEIAAABHAAAATAAAAFEAAABXAAAAXAAAAGEAAABmAAAAawAAAHAAAAB1AAAAegAAAH8AAACEAAAAigAAAI8AAACUAAAAmQAAAJ4AAACjAAAAqAAAAK0AAACyAAAAtwAAALwAAADCAAAAxwAAAMwAAADRAAAA1gAAANsAAADgAAAA5QAAAOoAAADvAAAA9AAAAPoAAAD/AAAABAEAAAkBAAAOAQAAEwEAABgBAAAdAQAAIgEAACcBAAAsAQAAMQEAADcBAAA8AQAAQQEAAEYBAABLAQAAUAEAAFUBAABaAQAAXwEAAGQBAABpAQAAbwEAAHQBAAB5AQAAfgEAAIMBAACIAQAAjQEAAJIBAACXAQAAnAEAAKEBAACmAQAArAEAALEBAAC2AQAAuwEAAMABAADFAQAAygEAAM8BAADUAQAA2QEAAN4BAADjAQAA6QEAAO4BAADzAQAA+AEAAP0BAAACAgAABwIAAAwCAAARAgAAFgIAABsCAAAgAgAAJgIAACsCAAAwAgAANQIAADoCAAA/AgAARAIAAEkCAABOAgAAUwIAAFgCAABdAgAAYgIAAGgCAABtAgAAcgIAAHcCAAB8AgAAgQIAAIYCAACLAgAAkAIAAJUCAACaAgAAnwIAAKQCAACpAgAArwIAALQCAAC5AgAAvgIAAMMCAADIAgAAzQIAANICAADXAgAA3AIAAOECAADmAgAA6wIAAPACAAD2AgAA+wIAAAADAAAFAwAACgMAAA8DAAAUAwAAGQMAAB4DAAAjAwAAKAMAAC0DAAAyAwAANwMAADwDAABBAwAARwMAAEwDAABRAwAAVgMAAFsDAABgAwAAZQMAAGoDAABvAwAAdAMAAHkDAAB+AwAAgwMAAIgDAACNAwAAkgMAAJcDAACcAwAAogMAAKcDAACsAwAAsQMAALYDAAC7AwAAwAMAAMUDAADKAwAAzwMAANQDAADZAwAA3gMAAOMDAADoAwAA7QMAAPIDAAD3AwAA/AMAAAEEAAAHBAAADAQAABEEAAAWBAAAGwQAACAEAAAlBAAAKgQAAC8EAAA0BAAAOQQAAD4EAABDBAAASAQAAE0EAABSBAAAVwQAAFwEAABhBAAAZgQAAGsEAABwBAAAdQQAAHoEAAB/BAAAhAQAAIkEAACOBAAAlAQAAJkEAACeBAAAowQAAKgEAACtBAAAsgQAALcEAAC8BAAAwQQAAMYEAADLBAAA0AQAANUEAADaBAAA3wQAAOQEAADpBAAA7gQAAPMEAAD4BAAA/QQAAAIFAAAHBQAADAUAABEFAAAWBQAAGwUAACAFAAAlBQAAKgUAAC8FAAA0BQAAOQUAAD4FAABDBQAASAUAAE0FAABSBQAAVwUAAFwFAABhBQAAZgUAAGsFAABwBQAAdQUAAHoFAAB/BQAAhAUAAIkFAACOBQAAkwUAAJgFAACdBQAAogUAAKcFAACsBQAAsQUAALYFAAC7BQAAwAUAAMUFAADKBQAAzwUAANQFAADZBQAA3gUAAOMFAADoBQAA7QUAAPIFAAD3BQAA/AUAAAEGAAAGBgAACwYAABAGAAAVBgAAGgYAAB8GAAAkBgAAKQYAAC4GAAAzBgAAOAYAAD0GAABCBgAARwYAAEwGAABRBgAAVgYAAFsGAABgBgAAZQYAAGoGAABuBgAAcwYAAHgGAAB9BgAAggYAAIcGAACMBgAAkQYAAJYGAACbBgAAoAYAAKUGAACqBgAArwYAALQGAAC5BgAAvgYAAMMGAADIBgAAzQYAANIGAADXBgAA3AYAAOEGAADlBgAA6gYAAO8GAAD0BgAA+QYAAP4GAAADBwAACAcAAA0HAAASBwAAFwcAABwHAAAhBwAAJgcAACsHAAAwBwAANQcAADkHAAA+BwAAQwcAAEgHAABNBwAAUgcAAFcHAABcBwAAYQcAAGYHAABrBwAAcAcAAHUHAAB6BwAAfgcAAIMHAACIBwAAjQcAAJIHAACXBwAAnAcAAKEHAACmBwAAqwcAALAHAAC1BwAAuQcAAL4HAADDBwAAyAcAAM0HAADSBwAA1wcAANwHAADhBwAA5gcAAOsHAADvBwAA9AcAAPkHAAD+BwAAAwgAAAgIAAANCAAAEggAABcIAAAcCAAAIAgAACUIAAAqCAAALwgAADQIAAA5CAAAPggAAEMIAABICAAATAgAAFEIAABWCAAAWwgAAGAIAABlCAAAaggAAG8IAABzCAAAeAgAAH0IAACCCAAAhwgAAIwIAACRCAAAlggAAJoIAACfCAAApAgAAKkIAACuCAAAswgAALgIAAC9CAAAwQgAAMYIAADLCAAA0AgAANUIAADaCAAA3wgAAOMIAADoCAAA7QgAAPIIAAD3CAAA/AgAAAEJAAAFCQAACgkAAA8JAAAUCQAAGQkAAB4JAAAiCQAAJwkAACwJAAAxCQAANgkAADsJAAA/CQAARAkAAEkJAABOCQAAUwkAAFgJAABcCQAAYQkAAGYJAABrCQAAcAkAAHUJAAB5CQAAfgkAAIMJAACICQAAjQkAAJIJAACWCQAAmwkAAKAJAAClCQAAqgkAAK4JAACzCQAAuAkAAL0JAADCCQAAxgkAAMsJAADQCQAA1QkAANoJAADeCQAA4wkAAOgJAADtCQAA8gkAAPYJAAD7CQAAAAoAAAUKAAAKCgAADgoAABMKAAAYCgAAHQoAACIKAAAmCgAAKwoAADAKAAA1CgAAOQoAAD4KAABDCgAASAoAAE0KAABRCgAAVgoAAFsKAABgCgAAZAoAAGkKAABuCgAAcwoAAHcKAAB8CgAAgQoAAIYKAACLCgAAjwoAAJQKAACZCgAAngoAAKIKAACnCgAArAoAALEKAAC1CgAAugoAAL8KAADECgAAyAoAAM0KAADSCgAA1woAANsKAADgCgAA5QoAAOkKAADuCgAA8woAAPgKAAD8CgAAAQsAAAYLAAALCwAADwsAABQLAAAZCwAAHgsAACILAAAnCwAALAsAADALAAA1CwAAOgsAAD8LAABDCwAASAsAAE0LAABRCwAAVgsAAFsLAABgCwAAZAsAAGkLAABuCwAAcgsAAHcLAAB8CwAAgAsAAIULAACKCwAAjwsAAJMLAACYCwAAnQsAAKELAACmCwAAqwsAAK8LAAC0CwAAuQsAAL0LAADCCwAAxwsAAMsLAADQCwAA1QsAANkLAADeCwAA4wsAAOcLAADsCwAA8QsAAPULAAD6CwAA/wsAAAMMAAAIDAAADQwAABEMAAAWDAAAGwwAAB8MAAAkDAAAKQwAAC0MAAAyDAAANwwAADsMAABADAAARQwAAEkMAABODAAAUwwAAFcMAABcDAAAYAwAAGUMAABqDAAAbgwAAHMMAAB4DAAAfAwAAIEMAACGDAAAigwAAI8MAACTDAAAmAwAAJ0MAAChDAAApgwAAKsMAACvDAAAtAwAALgMAAC9DAAAwgwAAMYMAADLDAAAzwwAANQMAADZDAAA3QwAAOIMAADmDAAA6wwAAPAMAAD0DAAA+QwAAP0MAAACDQAABw0AAAsNAAAQDQAAFA0AABkNAAAeDQAAIg0AACcNAAArDQAAMA0AADQNAAA5DQAAPg0AAEINAABHDQAASw0AAFANAABUDQAAWQ0AAF4NAABiDQAAZw0AAGsNAABwDQAAdA0AAHkNAAB9DQAAgg0AAIcNAACLDQAAkA0AAJQNAACZDQAAnQ0AAKINAACmDQAAqw0AAK8NAAC0DQAAuQ0AAL0NAADCDQAAxg0AAMsNAADPDQAA1A0AANgNAADdDQAA4Q0AAOYNAADqDQAA7w0AAPMNAAD4DQAA/A0AAAEOAAAFDgAACg4AAA8OAAATDgAAGA4AABwOAAAhDgAAJQ4AACoOAAAuDgAAMw4AADcOAAA8DgAAQA4AAEUOAABJDgAATg4AAFIOAABWDgAAWw4AAF8OAABkDgAAaA4AAG0OAABxDgAAdg4AAHoOAAB/DgAAgw4AAIgOAACMDgAAkQ4AAJUOAACaDgAAng4AAKMOAACnDgAArA4AALAOAAC0DgAAuQ4AAL0OAADCDgAAxg4AAMsOAADPDgAA1A4AANgOAADcDgAA4Q4AAOUOAADqDgAA7g4AAPMOAAD3DgAA/A4AAAAPAAAEDwAACQ8AAA0PAAASDwAAFg8AABsPAAAfDwAAIw8AACgPAAAsDwAAMQ8AADUPAAA6DwAAPg8AAEIPAABHDwAASw8AAFAPAABUDwAAWA8AAF0PAABhDwAAZg8AAGoPAABuDwAAcw8AAHcPAAB8DwAAgA8AAIQPAACJDwAAjQ8AAJEPAACWDwAAmg8AAJ8PAACjDwAApw8AAKwPAACwDwAAtQ8AALkPAAC9DwAAwg8AAMYPAADKDwAAzw8AANMPAADXDwAA3A8AAOAPAADlDwAA6Q8AAO0PAADyDwAA9g8AAPoPAAD/DwAAAxAAAAcQAAAMEAAAEBAAABQQAAAZEAAAHRAAACEQAAAmEAAAKhAAAC4QAAAzEAAANxAAADsQAABAEAAARBAAAEgQAABNEAAAURAAAFUQAABaEAAAXhAAAGIQAABnEAAAaxAAAG8QAABzEAAAeBAAAHwQAACAEAAAhRAAAIkQAACNEAAAkhAAAJYQAACaEAAAnhAAAKMQAACnEAAAqxAAALAQAAC0EAAAuBAAALwQAADBEAAAxRAAAMkQAADOEAAA0hAAANYQAADaEAAA3xAAAOMQAADnEAAA6xAAAPAQAAD0EAAA+BAAAP0QAAABEQAABREAAAkRAAAOEQAAEhEAABYRAAAaEQAAHxEAACMRAAAnEQAAKxEAADARAAA0EQAAOBEAADwRAABAEQAARREAAEkRAABNEQAAUREAAFYRAABaEQAAXhEAAGIRAABmEQAAaxEAAG8RAABzEQAAdxEAAHwRAACAEQAAhBEAAIgRAACMEQAAkREAAJURAACZEQAAnREAAKERAACmEQAAqhEAAK4RAACyEQAAthEAALsRAAC/EQAAwxEAAMcRAADLEQAAzxEAANQRAADYEQAA3BEAAOARAADkEQAA6REAAO0RAADxEQAA9REAAPkRAAD9EQAAAhIAAAYSAAAKEgAADhIAABISAAAWEgAAGhIAAB8SAAAjEgAAJxIAACsSAAAvEgAAMxIAADcSAAA8EgAAQBIAAEQSAABIEgAATBIAAFASAABUEgAAWRIAAF0SAABhEgAAZRIAAGkSAABtEgAAcRIAAHUSAAB6EgAAfhIAAIISAACGEgAAihIAAI4SAACSEgAAlhIAAJoSAACfEgAAoxIAAKcSAACrEgAArxIAALMSAAC3EgAAuxIAAL8SAADDEgAAxxIAAMwSAADQEgAA1BIAANgSAADcEgAA4BIAAOQSAADoEgAA7BIAAPASAAD0EgAA+BIAAPwSAAABEwAABRMAAAkTAAANEwAAERMAABUTAAAZEwAAHRMAACETAAAlEwAAKRMAAC0TAAAxEwAANRMAADkTAAA9EwAAQRMAAEUTAABJEwAATRMAAFETAABVEwAAWhMAAF4TAABiEwAAZhMAAGoTAABuEwAAchMAAHYTAAB6EwAAfhMAAIITAACGEwAAihMAAI4TAACSEwAAlhMAAJoTAACeEwAAohMAAKYTAACqEwAArhMAALITAAC2EwAAuhMAAL4TAADCEwAAxhMAAMoTAADOEwAA0hMAANYTAADaEwAA3hMAAOITAADmEwAA6RMAAO0TAADxEwAA9RMAAPkTAAD9EwAAARQAAAUUAAAJFAAADRQAABEUAAAVFAAAGRQAAB0UAAAhFAAAJRQAACkUAAAtFAAAMRQAADUUAAA5FAAAPRQAAEAUAABEFAAASBQAAEwUAABQFAAAVBQAAFgUAABcFAAAYBQAAGQUAABoFAAAbBQAAHAUAABzFAAAdxQAAHsUAAB/FAAAgxQAAIcUAACLFAAAjxQAAJMUAACXFAAAmxQAAJ4UAACiFAAAphQAAKoUAACuFAAAshQAALYUAAC6FAAAvhQAAMEUAADFFAAAyRQAAM0UAADRFAAA1RQAANkUAADdFAAA4BQAAOQUAADoFAAA7BQAAPAUAAD0FAAA+BQAAPsUAAD/FAAAAxUAAAcVAAALFQAADxUAABMVAAAWFQAAGhUAAB4VAAAiFQAAJhUAACoVAAAtFQAAMRUAADUVAAA5FQAAPRUAAEEVAABEFQAASBUAAEwVAABQFQAAVBUAAFgVAABbFQAAXxUAAGMVAABnFQAAaxUAAG4VAAByFQAAdhUAAHoVAAB+FQAAgRUAAIUVAACJFQAAjRUAAJEVAACUFQAAmBUAAJwVAACgFQAApBUAAKcVAACrFQAArxUAALMVAAC3FQAAuhUAAL4VAADCFQAAxhUAAMkVAADNFQAA0RUAANUVAADYFQAA3BUAAOAVAADkFQAA6BUAAOsVAADvFQAA8xUAAPcVAAD6FQAA/hUAAAIWAAAGFgAACRYAAA0WAAARFgAAFBYAABgWAAAcFgAAIBYAACMWAAAnFgAAKxYAAC8WAAAyFgAANhYAADoWAAA+FgAAQRYAAEUWAABJFgAATBYAAFAWAABUFgAAWBYAAFsWAABfFgAAYxYAAGYWAABqFgAAbhYAAHEWAAB1FgAAeRYAAH0WAACAFgAAhBYAAIgWAACLFgAAjxYAAJMWAACWFgAAmhYAAJ4WAAChFgAApRYAAKkWAACsFgAAsBYAALQWAAC3FgAAuxYAAL8WAADCFgAAxhYAAMoWAADNFgAA0RYAANUWAADYFgAA3BYAAOAWAADjFgAA5xYAAOsWAADuFgAA8hYAAPYWAAD5FgAA/RYAAAAXAAAEFwAACBcAAAsXAAAPFwAAExcAABYXAAAaFwAAHRcAACEXAAAlFwAAKBcAACwXAAAwFwAAMxcAADcXAAA6FwAAPhcAAEIXAABFFwAASRcAAEwXAABQFwAAVBcAAFcXAABbFwAAXhcAAGIXAABmFwAAaRcAAG0XAABwFwAAdBcAAHgXAAB7FwAAfxcAAIIXAACGFwAAiRcAAI0XAACRFwAAlBcAAJgXAACbFwAAnxcAAKIXAACmFwAAqhcAAK0XAACxFwAAtBcAALgXAAC7FwAAvxcAAMIXAADGFwAAyRcAAM0XAADRFwAA1BcAANgXAADbFwAA3xcAAOIXAADmFwAA6RcAAO0XAADwFwAA9BcAAPcXAAD7FwAA/hcAAAIYAAAGGAAACRgAAA0YAAAQGAAAFBgAABcYAAAbGAAAHhgAACIYAAAlGAAAKRgAACwYAAAwGAAAMxgAADcYAAA6GAAAPhgAAEEYAABFGAAASBgAAEwYAABPGAAAUxgAAFYYAABaGAAAXRgAAGAYAABkGAAAZxgAAGsYAABuGAAAchgAAHUYAAB5GAAAfBgAAIAYAACDGAAAhxgAAIoYAACOGAAAkRgAAJQYAACYGAAAmxgAAJ8YAACiGAAAphgAAKkYAACtGAAAsBgAALMYAAC3GAAAuhgAAL4YAADBGAAAxRgAAMgYAADMGAAAzxgAANIYAADWGAAA2RgAAN0YAADgGAAA4xgAAOcYAADqGAAA7hgAAPEYAAD1GAAA+BgAAPsYAAD/GAAAAhkAAAYZAAAJGQAADBkAABAZAAATGQAAFxkAABoZAAAdGQAAIRkAACQZAAAoGQAAKxkAAC4ZAAAyGQAANRkAADgZAAA8GQAAPxkAAEMZAABGGQAASRkAAE0ZAABQGQAAUxkAAFcZAABaGQAAXRkAAGEZAABkGQAAaBkAAGsZAABuGQAAchkAAHUZAAB4GQAAfBkAAH8ZAACCGQAAhhkAAIkZAACMGQAAkBkAAJMZAACWGQAAmhkAAJ0ZAACgGQAApBkAAKcZAACqGQAArhkAALEZAAC0GQAAuBkAALsZAAC+GQAAwhkAAMUZAADIGQAAzBkAAM8ZAADSGQAA1RkAANkZAADcGQAA3xkAAOMZAADmGQAA6RkAAO0ZAADwGQAA8xkAAPYZAAD6GQAA/RkAAAAaAAAEGgAABxoAAAoaAAANGgAAERoAABQaAAAXGgAAGxoAAB4aAAAhGgAAJBoAACgaAAArGgAALhoAADEaAAA1GgAAOBoAADsaAAA+GgAAQhoAAEUaAABIGgAASxoAAE8aAABSGgAAVRoAAFgaAABcGgAAXxoAAGIaAABlGgAAaRoAAGwaAABvGgAAchoAAHYaAAB5GgAAfBoAAH8aAACDGgAAhhoAAIkaAACMGgAAjxoAAJMaAACWGgAAmRoAAJwaAACfGgAAoxoAAKYaAACpGgAArBoAALAaAACzGgAAthoAALkaAAC8GgAAwBoAAMMaAADGGgAAyRoAAMwaAADPGgAA0xoAANYaAADZGgAA3BoAAN8aAADjGgAA5hoAAOkaAADsGgAA7xoAAPIaAAD2GgAA+RoAAPwaAAD/GgAAAhsAAAUbAAAJGwAADBsAAA8bAAASGwAAFRsAABgbAAAcGwAAHxsAACIbAAAlGwAAKBsAACsbAAAuGwAAMhsAADUbAAA4GwAAOxsAAD4bAABBGwAARBsAAEgbAABLGwAAThsAAFEbAABUGwAAVxsAAFobAABdGwAAYRsAAGQbAABnGwAAahsAAG0bAABwGwAAcxsAAHYbAAB5GwAAfRsAAIAbAACDGwAAhhsAAIkbAACMGwAAjxsAAJIbAACVGwAAmBsAAJwbAACfGwAAohsAAKUbAACoGwAAqxsAAK4bAACxGwAAtBsAALcbAAC6GwAAvRsAAMEbAADEGwAAxxsAAMobAADNGwAA0BsAANMbAADWGwAA2RsAANwbAADfGwAA4hsAAOUbAADoGwAA6xsAAO4bAADyGwAA9RsAAPgbAAD7GwAA/hsAAAEcAAAEHAAABxwAAAocAAANHAAAEBwAABMcAAAWHAAAGRwAABwcAAAfHAAAIhwAACUcAAAoHAAAKxwAAC4cAAAxHAAANBwAADccAAA6HAAAPRwAAEAcAABDHAAARhwAAEkcAABMHAAATxwAAFIcAABVHAAAWBwAAFscAABeHAAAYRwAAGQcAABnHAAAahwAAG0cAABwHAAAcxwAAHYcAAB5HAAAfBwAAH8cAACCHAAAhRwAAIgcAACLHAAAjhwAAJEcAACUHAAAlxwAAJocAACdHAAAoBwAAKMcAACmHAAAqRwAAKwcAACvHAAAshwAALUcAAC4HAAAuxwAAL4cAADBHAAAwxwAAMYcAADJHAAAzBwAAM8cAADSHAAA1RwAANgcAADbHAAA3hwAAOEcAADkHAAA5xwAAOocAADtHAAA8BwAAPMcAAD1HAAA+BwAAPscAAD+HAAAAR0AAAQdAAAHHQAACh0AAA0dAAAQHQAAEx0AABYdAAAYHQAAGx0AAB4dAAAhHQAAJB0AACcdAAAqHQAALR0AADAdAAAzHQAANR0AADgdAAA7HQAAPh0AAEEdAABEHQAARx0AAEodAABNHQAATx0AAFIdAABVHQAAWB0AAFsdAABeHQAAYR0AAGQdAABmHQAAaR0AAGwdAABvHQAAch0AAHUdAAB4HQAAex0AAH0dAACAHQAAgx0AAIYdAACJHQAAjB0AAI4dAACRHQAAlB0AAJcdAACaHQAAnR0AAKAdAACiHQAApR0AAKgdAACrHQAArh0AALEdAACzHQAAth0AALkdAAC8HQAAvx0AAMIdAADEHQAAxx0AAModAADNHQAA0B0AANMdAADVHQAA2B0AANsdAADeHQAA4R0AAOMdAADmHQAA6R0AAOwdAADvHQAA8R0AAPQdAAD3HQAA+h0AAP0dAAD/HQAAAh4AAAUeAAAIHgAACx4AAA0eAAAQHgAAEx4AABYeAAAZHgAAGx4AAB4eAAAhHgAAJB4AACYeAAApHgAALB4AAC8eAAAyHgAANB4AADceAAA6HgAAPR4AAD8eAABCHgAARR4AAEgeAABKHgAATR4AAFAeAABTHgAAVR4AAFgeAABbHgAAXh4AAGAeAABjHgAAZh4AAGkeAABrHgAAbh4AAHEeAAB0HgAAdh4AAHkeAAB8HgAAfx4AAIEeAACEHgAAhx4AAIoeAACMHgAAjx4AAJIeAACUHgAAlx4AAJoeAACdHgAAnx4AAKIeAAClHgAAqB4AAKoeAACtHgAAsB4AALIeAAC1HgAAuB4AALoeAAC9HgAAwB4AAMMeAADFHgAAyB4AAMseAADNHgAA0B4AANMeAADVHgAA2B4AANseAADeHgAA4B4AAOMeAADmHgAA6B4AAOseAADuHgAA8B4AAPMeAAD2HgAA+B4AAPseAAD+HgAAAB8AAAMfAAAGHwAACB8AAAsfAAAOHwAAEB8AABMfAAAWHwAAGB8AABsfAAAeHwAAIB8AACMfAAAmHwAAKB8AACsfAAAuHwAAMB8AADMfAAA2HwAAOB8AADsfAAA9HwAAQB8AAEMfAABFHwAASB8AAEsfAABNHwAAUB8AAFMfAABVHwAAWB8AAFofAABdHwAAYB8AAGIfAABlHwAAaB8AAGofAABtHwAAbx8AAHIfAAB1HwAAdx8AAHofAAB8HwAAfx8AAIIfAACEHwAAhx8AAIofAACMHwAAjx8AAJEfAACUHwAAlx8AAJkfAACcHwAAnh8AAKEfAACkHwAAph8AAKkfAACrHwAArh8AALAfAACzHwAAth8AALgfAAC7HwAAvR8AAMAfAADDHwAAxR8AAMgfAADKHwAAzR8AAM8fAADSHwAA1R8AANcfAADaHwAA3B8AAN8fAADhHwAA5B8AAOYfAADpHwAA7B8AAO4fAADxHwAA8x8AAPYfAAD4HwAA+x8AAP0fAAAAIAAAAAAAAAAAAAAAAAAAEAAAABEAAAASAAAAAAAAAAgAAAAHAAAACQAAAAYAAAAKAAAABQAAAAsAAAAEAAAADAAAAAMAAAANAAAAAgAAAA4AAAABAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAAFAAAABQAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAA0AAAAPAAAAEQAAABMAAAAXAAAAGwAAAB8AAAAjAAAAKwAAADMAAAA7AAAAQwAAAFMAAABjAAAAcwAAAIMAAACjAAAAwwAAAOMAAAACAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAcAAAAJAAAADQAAABEAAAAZAAAAIQAAADEAAABBAAAAYQAAAIEAAADBAAAAAQEAAIEBAAABAgAAAQMAAAEEAAABBgAAAQgAAAEMAAABEAAAARgAAAEgAAABMAAAAUAAAAFgAAAAAAAAAAAAAAgAAAAIAAAABAAAAAQAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAQAAAAAAAAAAgAAAAAAAAABAAAAAAAAAAAAAAAIAAAACAAAAAgAAAAEAAAABAAAAAIAAAACAAAAAAAAAAAAAAAAAAAABAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAMAAAACAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAALAgAAKgIAAEsCAABuAgAAkwIAALoCAADkAgAAEAMAAD8DAABwAwAApAMAANgDAAAWBAAAAAAAAAAAAAAAAAAAxPwvAMT8LwDE/C8AxPwvAN51AQDgdQEA4nUBAOR1AQDmdQEA6HUBAOp1AQDsdQEA7nUBAPB1AQDydQEA9HUBAPZ1AQD4dQEA+nUBAPx1AQD+dQEAAHYBAAJ2AQAEdgEABnYBAAh2AQAKdgEADHYBAA52AQAQdgEAEnYBABR2AQAWdgEAGHYBABp2AQAcdgEAHnYBACB2AQAidgEAJHYBACZ2AQAtdgEANHYBAD52AQBCdgEASHYBAEp2AQBMdgEATnYBAFB2AQBWdgEAWHYBAFp2AQBcdgEAXnYBAFaTAQBgdgEAYnYBAGt2AQBudgEAcXYBAHR2AQB3dgEAenYBAH12AQCAdgEAg3YBAIZ2AQCKdgEAjnYBAJJ2AQCedgEAqXYBAK92AQC2dgEAu3YBAMJ2AQDJdgEAzXYBANZ2AQDcdgEA4XYBAOZ2AQDpdgEA8XYBAPp2AQADdwEADHcBABV3AQAidwEAK3cBADR3AQA9dwEARncBAE93AQBYdwEAYXcBAGp3AQBzdwEAfHcBAMT8LwCFdwEAkXcBAJd3AQCgdwEApHcBAKh3AQCsdwEAsHcBALR3AQC4dwEAvHcBAMB3AQDEdwEAyHcBAMx3AQDQdwEA2HcBAN13AQDidwEA6XcBAO53AQD0dwEA+XcBAP13AQACeAEACHgBAA14AQASeAEAG3gBAMT8LwDE/C8AxPwvACZ4AQAveAEAxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AQHgBAEl4AQBQeAEAV3gBAF14AQAmdgEAY3gBAG14AQBxeAEAdngBAIR4AQCKeAEAxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwCQeAEAmngBAKV4AQC4eAEAyXgBANZ4AQDmeAEA73gBAPh4AQABeQEACnkBABV5AQAmeQEAL3kBADh5AQBBeQEASnkBAFN5AQBceQEAZ3kBAHB5AQB5eQEAgnkBAIt5AQCUeQEAnnkBAKd5AQCxeQEAunkBAMN5AQDQeQEA2XkBAOJ5AQDyeQEAA3oBABN6AQAhegEANHoBAEd6AQBYegEAY3oBAHB6AQCCegEAkHoBAJ16AQCsegEAxPwvAMT8LwC/egEAyXoBANR6AQDdegEA5noBAPF6AQD9egEAB3sBAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwARewEAHHsBACZ7AQAwewEAOnsBAER7AQBOewEAWnsBAF57AQBjewEAbnsBAHd7AQCBewEAiXsBAJF7AQCcewEApHsBAK97AQC8ewEAy3sBANh7AQDmewEA9XsBAAJ8AQANfAEAE3wBABl8AQAefAEAI3wBAC98AQDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDilogAAAAA4paSAAAAAPCfkLEAAADirIfvuI8A4paRAAAAAOKcvQAAAADil48AAAAA4pmlAAAAAOKYiQAAAADsm4MAAAAA4oyCAAAAAOKshe+4jwDwn5iQAAAA4pmqAAAAAPCfhb7vuI/il4YAAAAA4oCmAAAAAOKeoe+4jwDimIUAAAAA4qeXAAAAAOKshu+4jwDLhwAAAAAA4oinAAAAAOKdjgAAAADilqQAAAAA4palAAAAAOKWrgAAAADilqAAAAAA4pahAAAAAOKBmQAAAADigZgAAAAA4oCWAAAAAOKXgAAAAADilrYAAAAA44CMAAAAAOOAjQAAAADCpQAAAAAA4oCiAAAAAOOAgQAAAADjgIIAAAAA44KbAAAAAOOCnAAAAADil5wAAAAA4pedAAAAAPCdmKIAAADwnZijAAAA8J2YpAAAAPCdmKUAAADwnZimAAAA8J2YpwAAAPCdmKgAAADwnZipAAAA8J2YqgAAAPCdmKsAAADwnZisAAAA8J2YrQAAAPCdmK4AAADwnZivAAAA8J2YsAAAAPCdmLEAAADwnZiyAAAA8J2YswAAAPCdmLQAAADwnZi1AAAA8J2YtgAAAPCdmLcAAADwnZi4AAAA8J2YuQAAAPCdmLoAAADwnZi7AAAAAAAAAAAAsIHiALnCAACywgAAs8IAALSB4gC1geIAtoHiALeB4gC4geIAuYHiAIO14QCHteEAnLbhAIi14QCJteEAoLbhAIKBAACEgQAAhoEAAIiBAACKgQAAi4EAAI2BAACPgQAAkYEAAJOBAACVgQAAl4EAAJmBAACbgQAAnYEAAJ+BAAChgQAApIEAAKaBAACogQAAqoEAAKuBAACsgQAArYEAAK6BAACvgQAAsoEAALWBAAC4gQAAu4EAAL6BAAC/gQAAgIIAAIGCAACCggAAhIIAAIaCAACIggAAiYIAAIqCAACLggAAjIIAAI2CAACPggAAkoIAAJOCAACjgQAAg4IAAIWCAACHggAAAAAAAAAAAACiggAApIIAAKaCAACoggAAqoIAAKuCAACtggAAr4IAALGCAACzggAAtYIAALeCAAC5ggAAu4IAAL2CAAC/ggAAgYMAAISDAACGgwAAiIMAAIqDAACLgwAAjIMAAI2DAACOgwAAj4MAAJKDAACVgwAAmIMAAJuDAACegwAAn4MAAKCDAAChgwAAooMAAKSDAACmgwAAqIMAAKmDAACqgwAAq4MAAKyDAACtgwAAr4MAALKDAACzgwAAg4MAAKODAAClgwAAp4MAAAAAAAAAAAAAiwMAAIQDAAB+AwAAdwMAAHEDAABrAwAAZAMAAF4DAABYAwAAUgMAAEwDAABGAwAAQAMAADoDAAA0AwAALgMAACgDAAAiAwAAHAMAABcDAAARAwAACwMAAAYDAAAAAwAA+gIAAPUCAADwAgAA6gIAAOUCAADgAgAA2gIAANUCAADQAgAAywIAAMUCAADAAgAAuwIAALYCAACxAgAArAIAAKYCAACjAgAAngIAAJkCAACUAgAAjwIAAIsCAACGAgAAgAIAAHwCAAB4AgAAdAIAAG8CAABrAgAAZgIAAGICAABcAgAAWQIAAFUCAABQAgAATAIAAEgCAABEAgAAPwIAADoCAAA3AgAAMwIAAC8CAAArAgAAJwIAACMCAAAfAgAAGgIAABcCAAAUAgAAEAIAAAwCAAAIAgAABAIAAAECAAD8AQAA+QEAAPYBAADyAQAA7gEAAOsBAADnAQAA5AEAAOABAADdAQAA2gEAANYBAADTAQAAzwEAAMwBAADJAQAAAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzTAAAAABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRv////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAACgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAHhdHQAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAK/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////8iIgIA9gEAABmTDQoaCgAAfQYAAP/////vvq3eZ0UjAQEAAAD/////CQAAAO++rd5nRSMBh3QBAP////8ABAAAAQAAAAAAPAABAAAAAQAAAIAAAACAAAAAsIYAALCGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIj8LwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX3CJAP8JLw9WkwEAxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8AxPwvAMT8LwDE/C8Af39/f39/f39/f39/f38AAHJvb3RfcGF0aABjZGF0YV9wYXRoAGpveXN0aWNrX2luZGV4AGJ1dHRvbl9rZXlzACAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZABsaXZlX25vdGVzAGN1cnNvcl9zbmFwAGd1aV90aGVtZQBzaGlmdF9nbHlwaHMAc2hvd19iYWNrdXBfbWVzc2FnZXMAaG9zdF9mcmFtZXJhdGVfY29udHJvbABjb250ZW50X2ZpbHRlcgByZWNvcmRfYWN0aXZpdHlfbG9nAGFsbG93X2Z1bmN0aW9uX2tleXMAY2hlY2tfZm9yX2NhcnRfdXBkYXRlcwBlbmFibGVfZ3BpbwBmbGlwX2FtcGVyc2FuZABhdXRvX2hpZGVfbW91c2VfY3Vyc29yAGFnZ3Jlc3NpdmVfYmFja3VwcwBwZXJpb2RpY19iYWNrdXBzAHRyYW5zZm9ybV9zY3JlZW4AZ2Z4X2dyaWRfbGluZXMAdmVyc2lvbiAlcwoKADAuMi41ZwAvLyBhdWRpbyB2b2x1bWU6IDAuLjI1NiAKAHZvbHVtZSAlZAoKAAovLyBMb2NhdGlvbiBvZiBwaWNvLTgncyByb290IGZvbGRlcgoAcm9vdF9wYXRoICVzCgoACi8vIExvY2F0aW9uIG9mIGNhcnRyaWRnZSBzYXZlIGRhdGEKAGNkYXRhX3BhdGggJXMKCgAKLy8gU3BlY2lmeSB3aGljaCBwbGF5ZXIgaW5kZXggam95c3RpY2sgY29udHJvbCBiZWdpbnMgYXQgKDAuLjcpCgBqb3lzdGlja19pbmRleCAlZAoKAAovLyBDdXN0b20ga2V5Ym9hcmQgc2NhbmNvZGVzIGZvciBidXR0b25zLiBwbGF5ZXIwIDAuLjYsIHBsYXllcjEgMC4uNQoAYnV0dG9uX2tleXMgACVkIAAKCgAvLyBQbGF5IG5vdGVzIGFzIHRoZXkgYXJlIHBsb3R0ZWQgaW4gZnJlcXVlbmN5IG1vZGUKAGxpdmVfbm90ZXMgJWQKCgAvLyBpZmYgMTogd2hlbiB1c2luZyBrZXlib2FyZCBjdXJzb3IsIHNuYXAgdG8gY2xvc2VzdCBwaXhlbCAvIG1hcCBjZWwKAGN1cnNvcl9zbmFwICVkCgoALy8gMCBkZWZhdWx0ICAxIGRhcmsgYmx1ZSBiYWNrZ3JvdW5kIGluIGNvZGUgZWRpdG9yICAyIGJsYWNrIGJhY2tncm91bmQgaW4gY29kZSBlZGl0b3IgICAzIGdyYXkgYmFja2dyb3VuZCBpbiBjb2RlIGVkaXRvciAgIAoAZ3VpX3RoZW1lICVkCgoALy8gc2NhbGUgb2Ygc2NyZWVuc2hvdHMgYW5kIGdpZnMgLy8gMiBtZWFucyAyNTZ4MjU2CgBzY3JlZW5zaG90X3NjYWxlICVkCgBnaWZfc2NhbGUgJWQKCgAvLyBtYXhpbXVtIGdpZiBsZW5ndGggaW4gc2Vjb25kcyAoMC4uMTIwOyAwIG1lYW5zIG5vIGdpZiByZWNvcmRpbmcpCgBnaWZfbGVuICVkCgoALy8gd2hlbiAxLCByZXNldCB0aGUgcmVjb3JkaW5nIHdoZW4gcHJlc3NpbmcgY3RybC05ICh1c2VmdWwgZm9yIGNyZWF0aW5nIGEgbm9uLW92ZXJsYXBwaW5nIHNlcXVlbmNlKQoAZ2lmX3Jlc2V0X21vZGUgJWQKCgAvLyAwIGZvciBvZmYuIDEgZm9yIGF1dG8uIDIgdG8gYWxsb3cgY29udHJvbCBvZiBhIGNhcnQncyBmcmFtZXJhdGUgZHVlIHRvIGhvc3QgbWFjaGluZSdzIGNwdSBjYXBhY2l0eQoAaG9zdF9mcmFtZXJhdGVfY29udHJvbCAlZAoKAC8vIGZpbHRlciBzcGxvcmUgY2FydHJpZGdlcwoALy8gMCBvZmYgICAxIG9uIChleGNsdWRlIGNhcnRyaWRnZSB0YWdnZWQgYXMgJ21hdHVyZScgYnkgY29tbXVuaXR5KQoAc3Bsb3JlX2ZpbHRlciAlZAoKAC8vIHRhYiBkaXNwbGF5IHdpZHRoICgxIH4gNCBzcGFjZXMpCgB0YWJfd2lkdGggJWQKCgAvLyAwIG9mZiAxIG9uOiBkcmF3IHRhYiBjaGFyYWN0ZXJzIGFzIHNtYWxsIHZlcnRpY2FsIGxpbmVzCgBkcmF3X3RhYnMgJWQKCgAvLyAwIG9mZiAxIG9uOiByZWNvcmQgdGhlIGN1cnJlbnQgY2FydHJpZGdlIGFuZCBlZGl0b3IgdmlldyBldmVyeSAzIHNlY29uZHMgKHNlZSBbYXBwZGF0YV0vYWN0aXZpdHkubG9nLnR4dCkKAHJlY29yZF9hY3Rpdml0eV9sb2cgJWQKCgAvLyAwIG9mZiAxIG9uOiBhbGxvdyBGNi4uRjkgKGFsdGVybmF0aXZlOiBjdHJsIDYuLjkpCgBhbGxvd19mdW5jdGlvbl9rZXlzICVkCgoALy8gMCBvZmYgMSBvbjogYXV0b21hdGljYWxseSBjaGVjayBmb3IgYSBuZXdlciB2ZXJzaW9uIG9mIGEgQkJTIGNhcnQgZWFjaCB0aW1lIGl0IGlzIHJ1bi4KAGNoZWNrX2Zvcl9jYXJ0X3VwZGF0ZXMgJWQKCgBmbGlwX2FtcGVyc2FuZCAxCgoALy8gaGlkZSBtb3VzZSBjdXJzb3IgZm9yIG4gc2Vjb25kcyB3aGVuIHR5cGluZy4KAGF1dG9faGlkZV9tb3VzZV9jdXJzb3IgJWQKCgAvLyAwIG9mZiAxIG9uOiBiYWNrdXAgd2l0aCBhIG5ldyB0aW1lc3RhbXBlZCBmaWxlbmFtZSBvbiBldmVyeSBydW4KAC8vIG5vcm1hbGx5IG5vdCBuZWVkZWQgLS0gd2FzIHVzZWQgZm9yIGRlYnVnZ2luZyBjcmFzaC1vbi1ydW4KAGFnZ3Jlc3NpdmVfYmFja3VwcyAlZAoKAC8vIGJhY2sgdXAgY2FydHJpZGdlIGluIGVkaXRvciBldmVyeSBuIG1pbnV0ZXMgd2hlbiBub3QgaWRsZSAoMCBmb3Igbm8gcGVyaW9kaWMgYmFja3VwcykKAHBlcmlvZGljX2JhY2t1cHMgJWQKCgAvLyBnbG9iYWwgc2NyZWVuIHRyYW5zZm9ybWF0aW9uczoKAC8vICAxMjkgZmxpcCBob3Jpem9udGFsbHkKAC8vICAxMzAgZmxpcCB2ZXJ0aWNhbGx5CgAvLyAgMTMzIHJvdGF0ZSBDVyA5MCBkZWdyZWVzCgAvLyAgMTM0IHJvdGF0ZSBDVyAxODAgZGVncmVlcwoALy8gIDEzNSByb3RhdGUgQ1cgMjcwIGRlZ3JlZXMKAHRyYW5zZm9ybV9zY3JlZW4gJWQKCgAvLyAwIG9mZiAgPiAxOiBjb2xvdXIgdG8gZHJhdyBwaXhlbCBncmlkIGluIHRoZSBnZnggZWRpdG9yIGF0IHpvb206OCBhbmQgem9vbTo0ICgxNiBmb3IgYmxhY2spCgBnZnhfZ3JpZF9saW5lcyAlZAoKAHtjaWlpID0gJDA7IGlpaSA9IDA7fQAie2lpaSA9IGlpaSsxOyByZXR1cm4gX2NhcnRuYW1lW2NpaWldLmNoYXJDb2RlQXQoaWlpLTEpOyB9IgBbY29kb10gYmJzX3dnZXRfb25sb2FkIDo6IHJlY2VpdmVkLiBwcmVwYXJpbmcgdG8gcnVuLiBwc3RhdGUuY3VycmVudF9maWxlbmFtZSAlcyBhcHAuYXJndl9maWxlbmFtZSAlcwoAd3JvdGUgbGVuOiAlZAoAL2Jicy9nZXRfY2FydC5waHAAbGlkPQBmaWxlbmFtZV9ub3RfZm91bmQucDgucG5nAGJic193Z2V0X29ubG9hZDogc2V0IGN1cnJlbnRfZmlsZW5hbWUgdG8gJXMgKGRlcml2ZWQgZnJvbSAlcykKAGNvdWxkIG5vdCBmZXRjaCBjYXJ0ACJ7IGlmICh0eXBlb2YgX2NhcnRkYXQgIT09J3VuZGVmaW5lZCcpIHJldHVybiAxOyByZXR1cm4gMDt9IgAie3JldHVybiBfY2FydGRhdC5sZW5ndGggLyAzMjc2OH0iACJ7IF9jZHBvcz1fY2Rwb3MrMTsgcmV0dXJuIF9jYXJ0ZGF0W19jZHBvcy0xXTsgfSIAc3RhcnRpbmcgZG93bmxvYWQKAGxvYWRpbmcgZW1iZWRkZWQgY2FydHJpZGdlCgBqb3lzdGljawBnbG9iYWxfYXBpAGtpb3NrAGdwaW9fYmFzZQBnbGl0Y2hfdGVzdAB4AGV4ZWMAcGFyYW0AcABhY2NlcHRfZnV0dXJlAHR2X2ZyYW1lAGRpc3BsYXlzX3gAZGlzcGxheXNfeQBpAG8AdXJsX2NvZGUAdXJsX2dmeABjaWQAbGV0IHN0YXRlT2JqID0geyBsb2FkX3BhcmFtX2RhdGEgOiBmYWxzZSB9OyBoaXN0b3J5LnB1c2hTdGF0ZShzdGF0ZU9iaiwgIlBJQ08tOCIsICI/Iik7AGZ1bmN0aW9uIG1rZGlyXzAoZCkgeyB0cnkgeyBzdGF0ID0gRlMuc3RhdChkKTsgfSBjYXRjaCAoZSkgeyBGUy5ta2RpcihkKTsgfSB9IG1rZGlyXzAoJy91c2VyX2RhdGEnKTsgRlMubW91bnQoSURCRlMsIHt9LCAnL3VzZXJfZGF0YScpOyBGUy5zeW5jZnModHJ1ZSwgZnVuY3Rpb24gKGVycikgeyBpZiAoIWVycikgeyBjb25zb2xlLmxvZygiY29kbzogbW91bnRlZCBmaWxlc3lzdGVtLlxuIik7IGNvZG9fbW91bnRlZF9maWxlc3lzdGVtID0gMTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9jZGF0YScpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2NzdG9yZScpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2NhcnRzJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvYmFja3VwJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvcGxhdGVzJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvYmJzJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvYmJzL2NhcnRzJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvYmJzL2xhYmVscycpOyB9IGVsc2UgeyBjb25zb2xlLmxvZygiKiogY291bGQgbm90IG1vdW50IGZpbGVzeXN0ZW1cbiIpOyBjb25zb2xlLmxvZyhlcnIpOyB9IH0gKTsAL3VudGl0bGVkLnA4AC91bnRpdGxlZF8lZC5wOAAieyBNb2R1bGUucGljbzhSZXNldCA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSAxO30gOyBNb2R1bGUucGljbzhUb2dnbGVTb3VuZCA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSAzO30gOyBNb2R1bGUucGljbzhUb2dnbGVQYXVzZWQgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gNDsgfSA7IE1vZHVsZS5waWNvOFNldFBhdXNlZCA9IGZ1bmN0aW9uKHApIHsgY29kb19jb21tYW5kID0gNTsgY29kb19jb21tYW5kX3AgPSAwOyBpZiAocCkgY29kb19jb21tYW5kX3A9MTt9IDsgTW9kdWxlLnBpY284VG9nZ2xlQ29udHJvbE1lbnUgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gNzt9IDsgTW9kdWxlLnBpY284RHJhZ092ZXIgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gMTA7fSA7IE1vZHVsZS5waWNvOERyYWdTdG9wID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDExO30gOyB9IgBjYXJ0cy8AY2RhdGEvAHBpY284LmRhdABkYXRhLnBvZABSVU5OSU5HOiAlcwoAY291bGRuJ3QgbG9hZCAlcwoAY291bGQgbm90IGxvYWQgJXMKAC4vAHt2YXIgdmFsPTA7IGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuaW5kZXhPZigid2lkZ2V0LnBocCIpID49IDApIHZhbD0xOyByZXR1cm4gdmFsO30Ae3ZhciB2YWw9MDsgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKCJwaWNvLTgucGhwIikgPj0gMCkgdmFsPTE7IHJldHVybiB2YWw7fQBhIG5ldyB2ZXJzaW9uIG9mIHRoaXMAY2FydHJpZGdlIGlzIGF2YWlsYWJsZQAlMDJkAGRpcmVjdG9yeTogLwBkaXJlY3Rvcnk6ICVzAG5vdCBmb3VuZAAtLW1vcmUtLQBjb250aW51ZQByZXNldCBjYXJ0AHNvdW5kOm9uAHNvdW5kOm9mZgB2b2x1bWU6IDAxMjM0NTY3AHVwZGF0ZSBjYXJ0AHNraXAAc291bmQgb2ZmIChjdHJsLW0pAHNvdW5kIG9uIChjdHJsLW0pAGRvd25sb2FkIHRpbWVkIG91dABkb3dubG9hZGluZy4uIGNhbmNlbGxlZAAubmZvAC90ZW1wLQBjb3VsZCBub3QgZmluZCBjYXJ0AGRvd25sb2FkaW5nLi4gb2sAbG9hZGVkICMlcyAoJWQgY2hhcnMpAGNvdWxkIG5vdCBjb25uZWN0IHRvIGJicwBmdXR1cmUgdmVyc2lvbi4gcGxlYXNlIHVwZGF0ZSEAIHZvbHVtZTogICAgICAgICAgICAgIChjdHJsLS8rKQB7IGlmICh0eXBlb2YgcGljbzhfc3RhdGUgIT09ICd1bmRlZmluZWQnKXsgcGljbzhfc3RhdGUuaXNfcGF1c2VkID0gJDA7IHBpY284X3N0YXRlLnNvdW5kX3ZvbHVtZSA9ICQxOyBwaWNvOF9zdGF0ZS5mcmFtZV9udW1iZXIgPSAkMjsgcGljbzhfc3RhdGUuaGFzX2ZvY3VzID0gJDM7IHBpY284X3N0YXRlLnNob3dfZHBhZCA9ICQ0OyBwaWNvOF9zdGF0ZS5yZXF1ZXN0X3BvaW50ZXJfbG9jayA9ICQ1OyBwaWNvOF9zdGF0ZS5yZXF1aXJlX3BhZ2VfbmF2aWdhdGVfY29uZmlybWF0aW9uID0gJDY7IHBpY284X3N0YXRlLnNodXRkb3duX3JlcXVlc3RlZCA9ICQ3OyB9IH0AInt2YXIgdmFsPTA7IGlmICh0eXBlb2YgY29kb19jb21tYW5kICE9PSAndW5kZWZpbmVkJykge3ZhbD1jb2RvX2NvbW1hbmQ7IGNvZG9fY29tbWFuZD0wO30gcmV0dXJuIHZhbH0iACJ7dmFyIHZhbD0wOyBpZiAodHlwZW9mIGNvZG9fY29tbWFuZF9wICE9PSAndW5kZWZpbmVkJykge3ZhbD1jb2RvX2NvbW1hbmRfcDsgY29kb19jb21tYW5kX3A9MDt9IHJldHVybiB2YWx9IgAie2J1dHRvbl9pID0gMH0iACJ7dmFyIHZhbD0tMTsgaWYgKHR5cGVvZiBwaWNvOF9idXR0b25zICE9PSAndW5kZWZpbmVkJykge3ZhbCA9IHBpY284X2J1dHRvbnNbYnV0dG9uX2ldOyBidXR0b25faSArKzt9IHJldHVybiB2YWw7fSIAInt2YXIgdmFsID0gMDsgaWYgKHR5cGVvZiBwaWNvOF9nYW1lcGFkcyAhPT0gJ3VuZGVmaW5lZCcpIHt2YWwgPSBwaWNvOF9nYW1lcGFkcy5jb3VudDt9IHJldHVybiB2YWw7fSIAKiogZmFpbGVkIHRvIHNhdmUgc2NyZWVuc2hvdABzZXQgdmlkZW8gc3RhcnRpbmcgcG9pbnQAbm8gdmlkZW8gcmVjb3JkZWQgKHJlYzogY3RybC04KQAqKiBmYWlsZWQgdG8gc2F2ZSB2aWRlbwBqb3lzdGljayAlZCBjb25uZWN0ZWQAam95c3RpY2sgJWQgZGlzY29ubmVjdGVkAGlmICh0eXBlb2Ygb25fbW9kdWxlX2xvYWQgIT09ICd1bmRlZmluZWQnKSB7IGlmIChvbl9tb2R1bGVfbG9hZCkgb25fbW9kdWxlX2xvYWQoKTsgfQBjb3VsZCBub3Qgb3BlbiBmaWxlIHRvIHNhdmUgZnJvbSB3ZWI6ICVzCgB7IGRvd25sb2FkX2Jyb3dzZXJfZmlsZShVVEY4VG9TdHJpbmcoJDAsICQxKSwgVVRGOFRvU3RyaW5nKCQyLCAkMykpOyB9AGRhdGE6aW1hZ2UvJXM7YmFzZTY0LAB7IGlmICh0eXBlb2YgcDhpbWcgIT09ICd1bmRlZmluZWQnKSB7IHA4aW1nLnNyYz0iIjsgfSBwOGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOyBwOGltZy5zcmMgPSBVVEY4VG9TdHJpbmcoJDAsICQxKTsgcDhpbWcuc3R5bGUgPSAnd2lkdGg6MTI4cHg7IGhlaWdodDoxMjhweDsgaW1hZ2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQ7IC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IG5lYXJlc3QtbmVpZ2hib3I7JzsgaWYgKHR5cGVvZiBwOGltZ2hvbGRlciA9PT0gJ3VuZGVmaW5lZCcgfHwgIXA4aW1naG9sZGVyKXsgcDhpbWdob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgcDhpbWdob2xkZXIuc3R5bGUuY3NzVGV4dCA9ICdtaW4td2lkdGg6MTYwcHg7IGRpc3BsYXk6dGFibGU7IHBvc2l0aW9uOmZpeGVkOyB0b3A6MjBweDsgbGVmdDoyMHB4OyBwYWRkaW5nOjEycHg7IGJhY2tncm91bmQtY29sb3I6IzAwMDsgYm94LXNoYWRvdzogMnB4IDJweCA4cHggcmdiYSgxNiwgMCwgNDgsIDAuNCk7JzsgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwOGltZ2hvbGRlcik7IH0gaWYgKHA4aW1naG9sZGVyKSB7IHdoaWxlIChwOGltZ2hvbGRlci5jaGlsZEVsZW1lbnRDb3VudCA+IDApIHA4aW1naG9sZGVyLnJlbW92ZUNoaWxkKHA4aW1naG9sZGVyLmZpcnN0Q2hpbGQpOyB2YXIgZGlzbWlzcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBkaXNtaXNzLnN0eWxlLmNzc1RleHQgPSAnZGlzcGxheTp0YWJsZTsgZm9udC1zaXplOjEwcHQ7IGNvbG9yOiNmZmY7IHBhZGRpbmc6NHB4OyBjdXJzb3I6cG9pbnRlcjsgbWFyZ2luLWxlZnQ6MTBweDsgZmxvYXQ6cmlnaHQnOyBkaXNtaXNzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgcDhpbWcuc3JjPSIiOyB3aGlsZSAocDhpbWdob2xkZXIuY2hpbGRFbGVtZW50Q291bnQgPiAwKSBwOGltZ2hvbGRlci5yZW1vdmVDaGlsZChwOGltZ2hvbGRlci5maXJzdENoaWxkKTsgcDhpbWdob2xkZXIuc3R5bGUuZGlzcGxheT0ibm9uZSI7IH0sIGZhbHNlKTsgZGlzbWlzcy5pbm5lckhUTUwgPSAnWCc7IHA4aW1naG9sZGVyLmFwcGVuZENoaWxkKGRpc21pc3MpOyBwOGltZ2hvbGRlci5hcHBlbmRDaGlsZChwOGltZyk7IHZhciBpbmZvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7IGluZm8uaW5uZXJIVE1MID0gJzxicj4gPGZvbnQgc3R5bGU9ImNvbG9yOiNiYmI7IGZvbnQtc2l6ZTo4cHQiPjxjZW50ZXI+IChyaWdodC1jbGljayB0byBzYXZlKSA8L2NlbnRlcj48L2ZvbnQ+JzsgcDhpbWdob2xkZXIuYXBwZW5kQ2hpbGQoaW5mbyk7IGlmIChwOGltZ2hvbGRlci5zdHlsZS5kaXNwbGF5ID09ICJub25lIikgcDhpbWdob2xkZXIuc3R5bGUuZGlzcGxheSA9ICIiOyB9IH0AY291bGQgbm90IGNvbXByZXNzIGNvZGUKAGhleGR1bXAgJWQgYnl0ZXMgdG8gY2xpcGJvYXJkAHdyaXRpbmcgJWQgYnl0ZXMgKGNvZGUgb25seSkAd3JpdGluZyAlZCBieXRlcwAlMngAbG9hZGluZyBmdXR1cmUgY2FydCB2ZXJzaW9uAGZ1dHVyZSB2ZXJzaW9uOiAlZABjYXJ0cmlkZ2UgZGF0YSBpcyBjb3JydXB0ZWQAJXMlcy5wOCVzAC5yb20AJXMlcyVzLnA4AHVudGl0bGVkAGJhY2t1cC8AJTRkJTAyZCUwMmRfJTAyZCUwMmQlMDJkXwBwcm9ncmFtIG92ZXIgc2l6ZSBsaW1pdAoAY29tcHJlc3NlZCBjb2RlIHNpemUgdG9vIGxhcmdlCgAlZCAvICVkIGJ5dGVzAHdhcm5pbmc6IGNvbXByZXNzZWQgY29kZSB0b28gYmlnAHRvIGJlIGV4cG9ydGVkIG9yIHNhdmVkIGFzIHBuZwAoc2F2aW5nIC5wOCBhbnl3YXkpAGZsYXR0ZW5lZCAjaW5jbHVkZXMAKiogZmFpbGVkIHRvIHNhdmUgKioAL3VzZXJfZGF0YS9jc3RvcmUvJXMlcwBfXwBwcmVwYXJlX2xvYWRlZF9jYXJ0OiBsb29raW5nIGZvciBzYW5kYm94ZWQgY2FydCBwYXRjaDogJXMKACAgZm91bmQKACAgbm90IGZvdW5kCgB3YXJuaW5nOiBwb3NzaWJsZSBkZXByZWNhdGVkIEBAAGxlZ2FjeTogcGF0ICVkIHN3YXAgY2hhbjogJWQgJWQAcHJpbnQoImFyY2hlb3MiLDk4LDM0LDcpAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tIGxlZ2FjeSAwLjEuMSBhcGkgaW5qZWN0ZWQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIF92YWxpZGF0ZShjKSBpZiAoYy5fbnVtPT1uaWwpIHRoZW4gbG9jYWwgaT0wIHdoaWxlKGNbaSsxXX49bmlsKSBkbyBpPWkrMSBlbmQgYy5fbnVtPWkgYy5fbWF4PWkgCWMuX21pbj1pKzEgYy5fbnVtID0gaSBjLl9jaSA9IGkgZW5kIGVuZCAJZnVuY3Rpb24gZm9yZWFjaChjLCBmKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGVuZCBfdmFsaWRhdGUoYykgaWYgKGMuX21heCA9PSBuaWwpIHRoZW4gcmV0dXJuIGVuZCBmb3IgaT0xLGMuX21heCBkbyBpZiAoY1tpXSB+PSBuaWwpIHRoZW4gYy5fY2kgPSBpIGYoY1tpXSkgZW5kIGVuZCBlbmQgZnVuY3Rpb24gYWxsKGMpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZnVuY3Rpb24oKSBlbmQgZW5kIF92YWxpZGF0ZShjKSBsb2NhbCBpPTAgcmV0dXJuIGZ1bmN0aW9uKCkgaT1pKzEgd2hpbGUgKGNbaV09PW5pbCBhbmQgaTxjLl9tYXgpIGRvIGk9aSsxIGVuZCBpZiAoY1tpXSB+PSBuaWwpIHRoZW4gYy5fY2k9aSByZXR1cm4gY1tpXSBlbmQgZW5kIGVuZCBmdW5jdGlvbiBhZGQoYywgaSkgaWYgKGMgPT0gbmlsKSB0aGVuIHJldHVybiBlbmQgX3ZhbGlkYXRlKGMpIGZvciBqPWMuX21pbixjLl9tYXgrMSBkbyBpZiAoY1tqXSA9PSBuaWwpIHRoZW4gYy5fbWF4ID0gbWF4KGMuX21heCxqKSBjLl9taW4gPSBqKzEgYy5fbnVtID0gYy5fbnVtKzEgY1tqXT1pIHJldHVybiBpIGVuZCBlbmQgZW5kIGZ1bmN0aW9uIGNvdW50KGMpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gMCBlbmQgX3ZhbGlkYXRlKGMpIHJldHVybiBjLl9udW0gZW5kIGZ1bmN0aW9uIGRlbChjLGkpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZW5kIF92YWxpZGF0ZShjKSBpZiAoaT09bmlsKSB0aGVuIHJldHVybiBlbmQgaWYgKGMuX2NpPT1pKSB0aGVuIGNbYy5fY2ldPW5pbCBjLl9taW49bWluKGMuX21pbiwgYy5fY2kpIGMuX251bT1jLl9udW0tMSByZXR1cm4gZWxzZSBmb3Igaj0xLGMuX21heCBkbyBpZiAoY1tqXT09aSkgdGhlbiBjW2pdPW5pbCBjLl9taW49bWluKGMuX21pbixqKSBjLl9udW09Yy5fbnVtLTEgcmV0dXJuIGVuZCBlbmQgZW5kIHdoaWxlIChjLl9tYXg+MSBhbmQgY1tjLl9tYXhdPT1uaWwpIGRvIGMuX21heD1jLl9tYXgtMSBlbmQgZW5kICBuZD0wCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoAbGVnYWN5OiAwLjEuMSBhcGkgaW5qZWN0ZWQALmx1YQBwbGVhc2Ugc3BlZmljeSBhIGZpbGVuYW1lACoqKiBubyBmaWxlbmFtZS4gbm90IHNhdmVkISAqKioAY2FuIG5vdCBvdmVyd3JpdGUgYmJzIGNhcnQAKiBjYW4gbm90IG92ZXJ3cml0ZSBiYnMgY2FydCEgKgBzYXZlIGZhaWxlZAAqKioqIHNhdmUgZmFpbGVkICoqKioAc2F2ZWQgJXMlcyAqKnRlbXAgZGlzayoqAHNhdmVkICVzJXMlcyAqKnRlbXAgZGlzayoqACVzXyUlZC5wbmcAJXMucG5nAGZpbGUgb3V0cHV0IHBhdGg6ICVzCgBzYXZpbmcgc2NyZWVuc2hvdCB0bzogJXMKAHBuZwBtb3VudF9lbWJlZGRlZF9jYXJ0OiAlcyAoJWQgY2hhcnMpICVzCgAqKiBtb3VudF9lbWJlZGRlZF9jYXJ0OiBmYWlsZWQgdG8gbW91bnQAY291bGQgbm90IGxvYWQgY2FydHJpZGdlAGNhbiBub3QgbG9hZABwOG0ucG5nAHA4bS5wbmcgbm90IHN1cHBvcnRlZABpbWFnZSBpcyB0b28gbGFyZ2UgKDEyOCBtYXgpAGZpbGUgaXMgdG9vIGxhcmdlICgyNTZrIG1heCkAeyBqc1N0cmluZyA9IHA4X2Ryb3BwZWRfY2FydDsgaWYgKCFqc1N0cmluZykgcmV0dXJuIDA7IHZhciBsZW5ndGhCeXRlcyA9IGxlbmd0aEJ5dGVzVVRGOChqc1N0cmluZykrMTsgdmFyIHN0cmluZ09uV2FzbUhlYXAgPSBfbWFsbG9jKGxlbmd0aEJ5dGVzKTsgc3RyaW5nVG9VVEY4KGpzU3RyaW5nLCBzdHJpbmdPbldhc21IZWFwLCBsZW5ndGhCeXRlcyk7IHJldHVybiBzdHJpbmdPbldhc21IZWFwOyB9AHsganNTdHJpbmcgPSBwOF9kcm9wcGVkX2NhcnRfbmFtZTsgaWYgKCFqc1N0cmluZykgcmV0dXJuIDA7IHZhciBsZW5ndGhCeXRlcyA9IGxlbmd0aEJ5dGVzVVRGOChqc1N0cmluZykrMTsgdmFyIHN0cmluZ09uV2FzbUhlYXAyID0gX21hbGxvYyhsZW5ndGhCeXRlcyk7IHN0cmluZ1RvVVRGOChqc1N0cmluZywgc3RyaW5nT25XYXNtSGVhcDIsIGxlbmd0aEJ5dGVzKTsgcmV0dXJuIHN0cmluZ09uV2FzbUhlYXAyOyB9AGxvYWRpbmcgdXJsX3N0cjogJXMKAGJhc2U2NCwAQEAgdHJ5aW5nIHRvIGxvYWQgYXMgaW1hZ2UgJWQKAEBAIHNldHRpbmcgYXMgZHJvcHBlZCBpbWFnZTogJWQgJWQKAEBAIHRyeWluZyBhcyBkYXRhIGZpbGUuIGRhdF9mLT5sZW46ICVkCgBjb3VsZCBub3QgZmluZCBkcm9wcGVkIGZpbGUAaHR0cHM6Ly9waWNvLTgtZWR1LmNvbS8/Yz0AbGV0IHN0YXRlT2JqID0geyBsb2FkX3BhcmFtX2RhdGEgOiB0cnVlfTsgaGlzdG9yeS5wdXNoU3RhdGUoc3RhdGVPYmosICdQSUNPLTggVVJMIENhcnQnLCAnJXMnKTsAKiogZmFpbGVkOiB1cmwgaXMgdG9vIGxvbmcAJWQgLyAyMDQwIGNoYXJzAG5vIHZhbHVlAHVzZXJkYXRhAG51bWJlcgB0aHJlYWQAcHJvdG8AdXB2YWwAc3RhY2sgb3ZlcmZsb3cAQyBzdGFjayBvdmVyZmxvdwB0YWJsZSBvdmVyZmxvdwAnZm9yJyBpbml0aWFsIHZhbHVlIG11c3QgYmUgYSBudW1iZXIAJ2ZvcicgbGltaXQgbXVzdCBiZSBhIG51bWJlcgAnZm9yJyBzdGVwIG11c3QgYmUgYSBudW1iZXIAbk4AeFgAYkIAYXR0ZW1wdCB0byBjb21wYXJlIHR3byAlcyB2YWx1ZXMAYXR0ZW1wdCB0byBjb21wYXJlICVzIHdpdGggJXMAc3RyaW5nIGxlbmd0aCBvdmVyZmxvdwBjb25jYXRlbmF0ZQB1cHZhbHVlAGluZGV4AGF0dGVtcHQgdG8gbW9kaWZ5ICVzICclcycgKHN0cmluZ3MgYXJlIGltbXV0YWJsZSkAYXR0ZW1wdCB0byAlcyAlcyAnJXMnIChhICVzIHZhbHVlKQBhdHRlbXB0IHRvICVzIGEgJXMgdmFsdWUAX0VOVgBnbG9iYWwAZmllbGQAbWV0aG9kAGNvbnN0YW50ACUwLjVmAC45OTk5AC4wMDAwACUwLjNmACUwLjRmAGdldCBsZW5ndGggb2YAcGVyZm9ybSBhcml0aG1ldGljIG9uAHRhYmxlIGluZGV4IGlzIG5pbABtZW1vcnkgYWxsb2NhdGlvbiBlcnJvcjogYmxvY2sgdG9vIGJpZwBsb29wIGluIHNldHRhYmxlAGxvb3AgaW4gZ2V0dGFibGUAYXR0ZW1wdCB0byB5aWVsZCBhY3Jvc3MgYSBDLWNhbGwgYm91bmRhcnkAYXR0ZW1wdCB0byB5aWVsZCBmcm9tIG91dHNpZGUgYSBjb3JvdXRpbmUAY2FsbABbc3RyaW5nICIAIl0AJXMAMHgleABpbnZhbGlkIG9wdGlvbiAnJSUlYycgdG8gJ2x1YV9wdXNoZnN0cmluZycAZXJyb3IgaW4gZXJyb3IgaGFuZGxpbmcAYXR0ZW1wdCB0byBsb2FkIGEgJXMgY2h1bmsgKG1vZGUgaXMgJyVzJykAdGV4dABjb250cm9sIHN0cnVjdHVyZSB0b28gbG9uZwBsYWJlbHMvZ290b3MAbm8gdmlzaWJsZSBsYWJlbCAnJXMnIGZvciA8Z290bz4gYXQgbGluZSAlZCAodGFiICVkKQA8JXM+IGF0IGxpbmUgJWQgbm90IGluc2lkZSBhIGxvb3AAPGdvdG8gJXM+IGF0IGxpbmUgJWQgKHRhYiAlZCkganVtcHMgaW50byB0aGUgc2NvcGUgb2YgbG9jYWwgJyVzJwB0b28gbWFueSAlcyAobGltaXQgaXMgJWQpACVzOiVkOiAlcwBsZXhpY2FsIGVsZW1lbnQgdG9vIGxvbmcAJyVzJwAlcyBuZWFyICVzAEBAACclYycAOjoAPG51bWJlcj4APG5hbWU+ADxzdHJpbmc+ADxlb2w+AF5ePQBvcGNvZGVzACVzIGV4cGVjdGVkAEMgbGV2ZWxzAGZ1bmN0aW9uIG9yIGV4cHJlc3Npb24gdG9vIGNvbXBsZXgAKGZvciBpbmRleCkAKGZvciBsaW1pdCkAKGZvciBzdGVwKQAoZm9yIGdlbmVyYXRvcikAKGZvciBzdGF0ZSkAKGZvciBjb250cm9sKQAnPScgb3IgJ2luJyBleHBlY3RlZABsYWJlbCAnJXMnIGFscmVhZHkgZGVmaW5lZCBvbiBsaW5lICVkICh0YWIgJWQpAChmb3IgY29tcG91bmQpAHVuZXhwZWN0ZWQgc3ltYm9sAGZ1bmN0aW9uIGFyZ3VtZW50cyBleHBlY3RlZABpdGVtcyBpbiBhIGNvbnN0cnVjdG9yAGZ1bmN0aW9ucwBzZWxmADxuYW1lPiBvciAnLi4uJyBleHBlY3RlZABjb25zdGFudHMAbG9jYWwgdmFyaWFibGVzACVzIGV4cGVjdGVkICh0byBjbG9zZSAlcyBhdCBsaW5lICVkICh0YWIgJWQpKQBjYW5ub3QgdXNlICcuLi4nIG91dHNpZGUgYSB2YXJhcmcgZnVuY3Rpb24AZnVuY3Rpb24gYXQgbGluZSAlZCAodGFiICVkKQBtYWluIGZ1bmN0aW9uAHRvbyBtYW55ICVzIChsaW1pdCBpcyAlZCkgaW4gJXMAaW52YWxpZCBsb25nIHN0cmluZyBkZWxpbWl0ZXIAdW5maW5pc2hlZCBzdHJpbmcAaGV4YWRlY2ltYWwgZGlnaXQgZXhwZWN0ZWQAaW52YWxpZCBlc2NhcGUgc2VxdWVuY2UAZGVjaW1hbCBlc2NhcGUgdG9vIGxhcmdlAFh4AG1hbGZvcm1lZCBudW1iZXIAdW5maW5pc2hlZCBsb25nIGNvbW1lbnQAdW5maW5pc2hlZCBsb25nIHN0cmluZwBjaHVuayBoYXMgdG9vIG1hbnkgbGluZXMAdXB2YWx1ZXMAYmluYXJ5IHN0cmluZwB0cnVuY2F0ZWQAbm90IGEAdmVyc2lvbiBtaXNtYXRjaCBpbgBpbmNvbXBhdGlibGUAY29ycnVwdGVkACVzOiAlcyBwcmVjb21waWxlZCBjaHVuawBpbnZhbGlkIGtleSB0byAnbmV4dCcAc3RhY2sgdHJhY2ViYWNrOgAKCS4uLgBTbG50AAoJJXM6ACVkOgAgaW4gAGZ1bmN0aW9uICclcycAbWFpbiBjaHVuawBmdW5jdGlvbiA8JXM6JWQ+AAoJKC4uLnRhaWwgY2FsbHMuLi4pAD1bQ10APT8AbWFpbgBMdWEAZm9yIGl0ZXJhdG9yAG1ldGFtZXRob2QAYmFkIGFyZ3VtZW50ICMlZCAoJXMpAG4AY2FsbGluZyAnJXMnIG9uIGJhZCBzZWxmICglcykAYmFkIGFyZ3VtZW50ICMlZCB0byAnJXMnICglcykAU2wAJXM6JWQ6IAAlcyBleHBlY3RlZCwgZ290ICVzAHZhbHVlIGV4cGVjdGVkAG9iamVjdCBsZW5ndGggaXMgbm90IGEgbnVtYmVyAF9fdG9zdHJpbmcAJXM6ICVwAF9faW5kZXgAX19uZXdpbmRleABfX2djAF9fbW9kZQBfX2xlbgBfX2VxAF9fYWRkAF9fc3ViAF9fbXVsAF9fZGl2AF9fbW9kAF9fcG93AF9fYW5kAF9fb3IAX194b3IAX19zaGwAX19zaHIAX19sc2hyAF9fcm90bABfX3JvdHIAX19ub3QAX19pZGl2AF9fcGVlawBfX3BlZWsyAF9fcGVlazQAX191bm0AX19sdABfX2xlAF9fY29uY2F0AF9fY2FsbABfX21ldGF0YWJsZQBuaWwgb3IgdGFibGUgZXhwZWN0ZWQAY2Fubm90IGNoYW5nZSBhIHByb3RlY3RlZCBtZXRhdGFibGUAdGFibGUgb3Igc3RyaW5nIGV4cGVjdGVkAF9fcGFpcnMAX19pcGFpcnMAYXNzZXJ0aW9uIGZhaWxlZCEAaW5kZXggb3V0IG9mIHJhbmdlAGNvcm91dGluZSBleHBlY3RlZABjb3JvbGliOiB0b28gbWFueSBhcmd1bWVudHMgdG8gcmVzdW1lAGNvcm9saWI6IGNhbm5vdCByZXN1bWUgZGVhZCBjb3JvdXRpbmUAY29yb2xpYjogdG9vIG1hbnkgcmVzdWx0cyB0byByZXN1bWUAY2Fubm90IHJlc3VtZSBub24tc3VzcGVuZGVkIGNvcm91dGluZQBjYW5ub3QgcmVzdW1lIGRlYWQgY29yb3V0aW5lAHJ1bm5pbmcAc3VzcGVuZGVkAG5vcm1hbABkZWFkAHRvbyBtYW55IHJlc3VsdHMgdG8gdW5wYWNrAHVwbG9hZAB7IGlmICh0eXBlb2YgcGljbzhfc3RhdGUgIT09ICd1bmRlZmluZWQnKXsgaWYgKHR5cGVvZiBwaWNvOF9zdGF0ZS5zeXN0ZW1fbWVzc2FnZXMgPT09ICd1bmRlZmluZWQnKSBwaWNvOF9zdGF0ZS5zeXN0ZW1fbWVzc2FnZXMgPSBuZXcgQXJyYXkoKTsgcGljbzhfc3RhdGUuc3lzdGVtX21lc3NhZ2VzLnB1c2goVVRGOFRvU3RyaW5nKCQwLCAkMSkpOyB9IH0AX2VuZF9vZl9wcm9ncmFtAHRvIGNsb3NlICcAYXQgbGluZSAAJWQgKHRhYiAlZCkAdW5jbG9zZWQgJXMgYXQgbGluZSAlZCAodGFiICVkKQoAdW5jbG9zZWQgJXMALS0gcGljby04IGhlYWRlcgBhc3NlcnRpb24gZmFpbGVkAHBvc2l0aW9uIG91dCBvZiBib3VuZHMAbm90IGVub3VnaCBtZW1vcnkAPGVvZj4AdGhlbWUgAHRoZW1lAGJsdWUAc2V0IHRoZW1lIHRvIGJsdWUAYXV0bwBzZXQgdGhlbWUgdG8gYXV0bwBjbGFzc2ljAHNldCB0aGVtZSB0byBjbGFzc2ljAGNvbmZpZyB0aGVtZSBbdmFsdWVdAGF2YWlsYWJsZSB0aGVtZXM6AGRyYXdfdGFicyAAZHJhd190YWJzAHNob3dfdGFicyAAc2hvd190YWJzAG9uAHRhYiBjaGFyYWN0ZXJzIG9uAG9mZgB0YWIgY2hhcmFjdGVycyBvZmYAY29uZmlnIGRyYXdfdGFicyBbb24gfCBvZmZdAHdoZW4gb24sIHRhYiBjaGFyYWN0ZXJzIGFyZSAAZHJhd24gaW4gdGhlIGNvZGUgZWRpdG9yLgBjdXJyZW50IHNldHRpbmc6IG9uAGN1cnJlbnQgc2V0dGluZzogb2ZmAHNwbG9yZV9maWx0ZXIgAHNwbG9yZV9maWx0ZXIAZmlsdGVyIG9uAGZpbHRlciBvZmYAY29uZmlnIGZpbHRlciBbb24gfCBvZmZdAHdoZW4gb24sIGNhcnRyaWRnZXMgdGFnZ2VkIGFzAG1hdHVyZSB3aWxsIG5vdCBiZSBkb3dubG9hZGVkLgBmaWx0ZXIgaXMgY3VycmVudGx5OiBvbgBmaWx0ZXIgaXMgY3VycmVudGx5OiBvZmYAdm9sdW1lIABzZXQgdm9sdW1lOiAlZABjb25maWcgdm9sdW1lIFt2YWxdAHZhbDogOCBxdWlldCAuLiAyNTYgbG91ZABjdXJyZW50IHZvbHVtZTogJWQAZ2lmX2xlbiAAc2V0IGdpZl9sZW46ICVkAGdpZl9sZW4AY29uZmlnIGdpZl9sZW4gW3NlY29uZHNdAGN1cnJlbnQgZ2lmX2xlbjogJWQAZ2lmX3Jlc2V0X21vZGUgAHNldCBnaWZfcmVzZXRfbW9kZTogJWQAZ2lmX3Jlc2V0X21vZGUAY29uZmlnIGdpZl9yZXNldF9tb2RlIFttb2RlXQAgMDogZG9uJ3QgcmVzZXQgYWZ0ZXIgcmVjb3JkaW5nACAxOiByZXNldCBhZnRlciBlYWNoIHJlY29yZGluZwBjdXJyZW50IGdpZl9yZXNldF9tb2RlOiAlZABzZnhfZmlsdGVycyAAc2V0IHNmeF9maWx0ZXJzOiAlZABnaWZfc2NhbGUgAHNldCBnaWZfc2NhbGU6ICVkAGdpZl9zY2FsZQBjb25maWcgZ2lmX3NjYWxlIFtzaXplXQBjdXJyZW50IGdpZl9zY2FsZTogJWQAc2NyZWVuc2hvdF9zY2FsZSAAc2V0IHNjcmVlbnNob3Rfc2NhbGU6ICVkAHNjcmVlbnNob3Rfc2NhbGUAY29uZmlnIHNjcmVlbnNob3Rfc2NhbGUgW3NpemVdAGN1cnJlbnQgc2NyZWVuc2hvdF9zY2FsZTogJWQAdGFiX3dpZHRoIABzZXQgdGFiX3dpZHRoOiAlZAB0YWJfd2lkdGgAY29uZmlnIHRhYl93aWR0aCBbd2lkdGhdAGN1cnJlbnQgdGFiX3dpZHRoOiAlZABjb25maWcgW3NldHRpbmddAGF2YWlsYWJsZSBzZXR0aW5nczoAJWQvJWQgJTMuMWYgZnBzACVkLyVkICUxLjJmICUxLjJmAHJlc3VtZSgpAG5vdGhpbmcgdG8gcmVzdW1lAHN0YXQoNCkAIF9kcmF3AHByb2dyYW0gZXhjZWVkcyBjaGFyIGxpbWl0ACVkIC8gJWQgY2hhcnMKAHByb2dyYW0gdG9vIGxhcmdlACVkIC8gJWQgdG9rZW5zCgAtLSBwaWNvLTggaGVhZGVyCglkbyAJbG9jYWwgX3JlZnVuZF9jcHVfID0gX19yZWZ1bmRfY3B1X18gCWxvY2FsIF9wYWlycyA9IF9fcGFpcnNfXyAJbG9jYWwgX2lwYWlycyA9IF9faXBhaXJzX18gCWxvY2FsIF90eXBlID0gX190eXBlIAlsb2NhbCBfdG9zdHIgPSBfX3Rvc3RyIAlsb2NhbCBfc3RvcCA9IF9fc3RvcCAJbG9jYWwgX3ByaW50ID0gX19wcmludCAJbG9jYWwgX3ByaW50aCA9IF9fcHJpbnRoIAlsb2NhbCBfdG9zdHJpbmcgPSBfX3Rvc3RyaW5nX18gCWxvY2FsIF9sb2FkID0gX19sb2FkIAlsb2NhbCBfc3RhdCA9IHN0YXQgCWxvY2FsIF9leHRjbWQgPSBfX2V4dGNtZCAJbG9jYWwgX19tZW51aXRlbSA9IF9tZW51aXRlbSAJbG9jYWwgX3lpZWxkZWRfdG9fZXNjYXBlX3NsaWNlID0gX195aWVsZGVkX3RvX2VzY2FwZV9zbGljZSAJbG9jYWwgX2NvcmVzdW1lID0gX19jb3Jlc3VtZSAJbG9jYWwgX3NlbGVjdCA9IF9fc2VsZWN0IAlsb2NhbCBfc3VwZXJ5aWVsZCA9IF9fc3VwZXJ5aWVsZCAJbG9jYWwgX2xhc3RfbWVudWl0ZW1faW5kZXggPSAwIAlsb2NhbCBfbGFzdF9tZW51aXRlbV9jYWxsYmFjayA9IGZ1bmN0aW9uKCkgZW5kIAlsb2NhbCBfbWlkID0gbWlkIAlfcGF1c2VtZW51PV9wYXVzZW1lbnUgb3Ige30JZnVuY3Rpb24gbWVudWl0ZW0oaW5kZXgsIGxhYmVsLCBjYWxsYmFjaykgCQlpbmRleCA9IGluZGV4IG9yIF9sYXN0X21lbnVpdGVtX2luZGV4IAkJY2FsbGJhY2sgPSBjYWxsYmFjayBvciBfbGFzdF9tZW51aXRlbV9jYWxsYmFjayAJCWlmICh0eXBlKGluZGV4KX49Im51bWJlciIpIHRoZW4gc3RvcCgiYmFkIG1lbnVpdGVtIGluZGV4IikgZW5kIAkJaWYgKGluZGV4IDwgMSBvciBpbmRleCA+IDUpIHRoZW4gcmV0dXJuIGVuZAkJX3BhdXNlbWVudVtpbmRleF0gPSB7fSAJCV9wYXVzZW1lbnVbaW5kZXhdLmxhYmVsID0gbGFiZWwgCQlfcGF1c2VtZW51W2luZGV4XS5jYWxsYmFjayA9IGNhbGxiYWNrIAkJX19tZW51aXRlbShpbmRleCwgbGFiZWwpIAllbmQgCWZ1bmN0aW9uIHBhaXJzKGMpICBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGZ1bmN0aW9uKCkgZW5kIGVuZCByZXR1cm4gX3BhaXJzIChjKSBlbmQgCWZ1bmN0aW9uIGlwYWlycyhjKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGZ1bmN0aW9uKCkgZW5kIGVuZCByZXR1cm4gX2lwYWlycyhjKSBlbmQgCWZ1bmN0aW9uIGFsbChjKSBpZiAoYyA9PSBuaWwgb3IgI2MgPT0gMCkgdGhlbiByZXR1cm4gZnVuY3Rpb24oKSBlbmQgZW5kIAkgCWxvY2FsIGk9MSAJIAlsb2NhbCBsaT1uaWwgCQlfcmVmdW5kX2NwdV8oKCNjID49IDE2KSBhbmQgLTE2IG9yIC0jYykgCSAJcmV0dXJuIGZ1bmN0aW9uKCkgCSAJCWlmIChjW2ldID09IGxpKSB0aGVuIGk9aSsxIGVuZCAJIAkJd2hpbGUoY1tpXT09bmlsIGFuZCBpIDw9ICNjKSBkbyBpPWkrMSBlbmQgCSAJCWxpPWNbaV0gCQkJX3JlZnVuZF9jcHVfKC0xNykgCSAJCXJldHVybiBsaSAJIAllbmQgCWVuZCAJZnVuY3Rpb24gZm9yZWFjaChjLF9mKSBmb3IgaSBpbiBhbGwoYykgZG8gX2YoaSkgZW5kIGVuZCBmdW5jdGlvbiB0b3N0ciguLi4pIAktLVtbIG5lZWQgdG8gdXNlIHRvc3RyaW5nIHdoZW4gbWV0YXRhYmxlIGFuZCBtdC5fX3Rvc3RyaW5nIGlzIHNldCBzbyB0aGF0IG10Ll9fdG9zdHJpbmcgd29ya3MuIHNlZSB0ZXN0cy9tZXRhKi5wOCBdXSAJbG9jYWwgcD17Li4ufSAJbG9jYWwgYSxiLG1heF9kZXB0aCA9IHBbMV0scFsyXSxwWzNdIAlpZiAobWF4X2RlcHRoKSB0aGVuIHJldHVybiBfdG9zdHIoLi4uKSBlbmQgCWlmICgoX3R5cGUoYSk9PSJ0YWJsZSIgYW5kICgoZ2V0bWV0YXRhYmxlKGEpIGFuZCBnZXRtZXRhdGFibGUoYSkuX190b3N0cmluZykgb3IgYikpKSBvciAoKF90eXBlKGEpPT0iZnVuY3Rpb24iIGFuZCBiKSkgdGhlbiAJIHJldHVybiBfdG9zdHJpbmcoYSkgICAgIGVsc2UgCSByZXR1cm4gX3Rvc3RyKC4uLikgCWVuZCBlbmQgCS0tW1sgcHJpbnQoKSBzaG91bGQgcHJpbnQgbm90aGluZzsgcHJpbnQobmlsKSBzaG91bGQgcHJpbnQgW25pbF07IHN0b3AoKSBwYXNzZXMgYXJncyB0byBwcmludCBzbyB0aGF0IGNhbiBwcmludCBpbiBhIGNvbG91cl1dCWZ1bmN0aW9uIHN0b3AoLi4uKSAgICBpZiBfc2VsZWN0KCcjJywuLi4pPT0wIHRoZW4gX3N0b3AoKSAgIGVsc2UgbG9jYWwgYT17Li4ufSByZXR1cm4gX3N0b3AgICh0b3N0cihhWzFdKSwgX3NlbGVjdCgyLC4uLikpIGVuZCBlbmQgCWZ1bmN0aW9uIHByaW50KC4uLikgICBpZiBfc2VsZWN0KCcjJywuLi4pPT0wIHRoZW4gX3ByaW50KCkgIGVsc2UgbG9jYWwgYT17Li4ufSByZXR1cm4gX3ByaW50ICh0b3N0cihhWzFdKSwgX3NlbGVjdCgyLC4uLikpIGVuZCBlbmQgCWZ1bmN0aW9uIHByaW50aCguLi4pICBpZiBfc2VsZWN0KCcjJywuLi4pPT0wIHRoZW4gX3ByaW50aCgpIGVsc2UgbG9jYWwgYT17Li4ufSByZXR1cm4gX3ByaW50aCh0b3N0cihhWzFdKSwgX3NlbGVjdCgyLC4uLikpIGVuZCBlbmQgZnVuY3Rpb24gbG9hZCguLi4pIAlsb2NhbCByZXM9X2xvYWQoLi4uKSAJZmxpcCgpIC0tW1t0byBzdXBlcnlpZWxkLiByZWY6cGljb3dhcmVdXQlpZiAoX3N0YXQoMTA3KSA+IDApIHRoZW4gcmV0dXJuIHRydWUgZW5kIAlpZiAoX3N0YXQoMTA3KSA9PSAtMSkgdGhlbiByZXR1cm4gZmFsc2UsICJjb3VsZCBub3QgZmluZCBjYXJ0IiBlbmQgCWlmIChfc3RhdCgxMDcpID09IC0yKSB0aGVuIHJldHVybiBmYWxzZSwgImNvdWxkIG5vdCBmZXRjaCBjYXJ0IiBlbmQgCWlmIChfc3RhdCgxMDcpID09IC0zKSB0aGVuIHJldHVybiBmYWxzZSwgImNvdWxkIG5vdCBjb25uZWN0IHRvIGJicyIgZW5kIAlpZiAoX3N0YXQoMTA3KSA8IDAgb3IgcmVzID09IG5pbCkgdGhlbiByZXR1cm4gZmFsc2UsICJhY2Nlc3MgZGVuaWVkIiBlbmQgCXJldHVybiByZXMgZW5kIGZ1bmN0aW9uIGV4dGNtZChjbWQsIC4uLikgCWxvY2FsIHJlcz1fZXh0Y21kKGNtZCwgLi4uKSAJaWYgKGNtZD09ImdvX2JhY2siIG9yIGNtZD09ImJyZWFkY3J1bWIiKSB0aGVuIAkJZmxpcCgpIC0tW1t0byBzdXBlcnlpZWxkXV0JZW5kIAlyZXR1cm4gcmVzIGVuZCBmdW5jdGlvbiBjb3Jlc3VtZShjLC4uLikgCV95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSgwKSAJbG9jYWwgcjAscjEgPV9jb3Jlc3VtZShjLC4uLikJd2hpbGUgKF95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSgpIGFuZCBjb3N0YXR1cyhjKSA9PSAic3VzcGVuZGVkIikgZG8gCQlfeWllbGRlZF90b19lc2NhcGVfc2xpY2UoMCkgCQlyMCxyMSA9IF9jb3Jlc3VtZShjLC4uLikgCWVuZCAJX3lpZWxkZWRfdG9fZXNjYXBlX3NsaWNlKDApIAlyZXR1cm4gcjAscjEgZW5kIGZ1bmN0aW9uIGZsaXAoKSAJcmVwZWF0IAkJbG9jYWwgY29udGludWVfbWVudSA9IGZhbHNlIAkJZm9yIGk9MSw1IGRvIAkJIGxvY2FsIHZhbCA9IF9nZXRfbWVudV9pdGVtX3NlbGVjdGVkKGkpIAkJIGlmICh2YWwpIHRoZW4gCQkgIF9sYXN0X21lbnVpdGVtX2luZGV4ID0gaSAJCSAgX2xhc3RfbWVudWl0ZW1fY2FsbGJhY2sgPSBfcGF1c2VtZW51W2ldLmNhbGxiYWNrIAkJICBjb250aW51ZV9tZW51ID0gX3BhdXNlbWVudVtpXS5jYWxsYmFjayh2YWwpIAkJICBpZiAodmFsICYgMyA+IDApIHRoZW4gY29udGludWVfbWVudSA9IHRydWUgZW5kIAkJIGVuZCAJCWVuZCAJCWlmIChjb250aW51ZV9tZW51KSB0aGVuIGV4dGNtZCgicGF1c2UiLCAxKSBfc3VwZXJ5aWVsZCgpIGVuZCAgCXVudGlsIG5vdCBjb250aW51ZV9tZW51IAlfX2ZsaXAoKSBlbmQgZW5kIC0tW1sgc2NvcGUgXV1fX3JlZnVuZF9jcHVfXyA9IG5pbCBfX2lwYWlyc19fID0gbmlsIF9fcGFpcnNfXyA9IG5pbCBfX3Rvc3RyICAgID0gbmlsIF9fc3RvcCAgICAgPSBuaWwgX19wcmludCAgICA9IG5pbCBfX3ByaW50aCAgID0gbmlsIF9fbG9hZCAgICAgPSBuaWwgX19leHRjbWQgICA9IG5pbCBfX3Rvc3RyaW5nX18gPSBuaWwgX195aWVsZGVkX3RvX2VzY2FwZV9zbGljZSA9IG5pbCBfX2NvcmVzdW1lID0gbmlsIF9fc2VsZWN0ID0gbmlsIF9fc3VwZXJ5aWVsZCA9IG5pbCAAgD2AIG9yIDAuNSCBPYEgb3IgMjMxMzAuNSCCPYIgb3IgMjA3NjcuNSCDPYMgb3IgMyCEPYQgb3IgMzIxMjUuNSCFPYUgb3IgLTE4NDAyLjUghj2GIG9yIC0xNjMyLjUghz2HIG9yIDIwOTI3LjUgiD2IIG9yIC0xOTAwOC41IIk9iSBvciAtMjYyMDguNSCKPYogb3IgLTIwMTkyLjUgiz2LIG9yIDAgjD2MIG9yIC0yNDM1MS41II09jSBvciAtMjU3OTIuNSCOPY4gb3IgNCCPPY8gb3IgLTIwMDMyLjUgkD2QIG9yIC0yNTYwLjUgkT2RIG9yIDEgkj2SIG9yIC0yMDEyOC41IJM9kyBvciA2OTQzLjUglD2UIG9yIDIglT2VIG9yIC0yNjI0LjUglj2WIG9yIDMxNDU1LjUglz2XIG9yIDUgmD2YIG9yIDM4NTUuNSCZPZkgb3IgMjE4NDUuNSA7AGxvY2FsIHRpbWUsc3ViLGNocixvcmQsdG9zdHIsdG9udW0sYWRkLGRlbCxkZWxpLGNsaXAsY29sb3IscGFsLHBhbHQsZmlsbHAscGdldCxwc2V0LHNnZXQsc3NldCxmZ2V0LGZzZXQsY2lyYyxjaXJjZmlsbCxyZWN0LHJlY3RmaWxsLG92YWwsb3ZhbGZpbGwsbGluZSxzcHIsc3Nwcj0gICAgICB0aW1lLHN1YixjaHIsb3JkLHRvc3RyLHRvbnVtLGFkZCxkZWwsZGVsaSxjbGlwLGNvbG9yLHBhbCxwYWx0LGZpbGxwLHBnZXQscHNldCxzZ2V0LHNzZXQsZmdldCxmc2V0LGNpcmMsY2lyY2ZpbGwscmVjdCxyZWN0ZmlsbCxvdmFsLG92YWxmaWxsLGxpbmUsc3ByLHNzcHIgbG9jYWwgbWdldCxtc2V0LHRsaW5lLHBlZWsscG9rZSxwZWVrMixwb2tlMixwZWVrNCxwb2tlNCxtZW1jcHksbWVtc2V0LG1heCxtaW4sbWlkLGZscixjZWlsLGNvcyxzaW4sYXRhbjIscmFuZCxzcmFuZCxiYW5kLGJvcixieG9yLGJub3Qsc2hsLHNocixsc2hyLHJvdGwscm90cj0gICAgICAgbWdldCxtc2V0LHRsaW5lLHBlZWsscG9rZSxwZWVrMixwb2tlMixwZWVrNCxwb2tlNCxtZW1jcHksbWVtc2V0LG1heCxtaW4sbWlkLGZscixjZWlsLGNvcyxzaW4sYXRhbjIscmFuZCxzcmFuZCxiYW5kLGJvcixieG9yLGJub3Qsc2hsLHNocixsc2hyLHJvdGwscm90cjsgADsKADEwMzg4ACBuZD0wIAAlcyAlcygpACVzICVzKCIlcyIpAHNwbG9yZSgpAAogX2VuZF9vZl9wcm9ncmFtID0gMSAKAAoJICAgIF9lbmRfb2ZfcHJvZ3JhbSA9IDEgCgkgICAgaWYgKF9pbml0IH49IG5pbCkgdGhlbiBfaW5pdCgpIGVuZAogICAgICAgICAgICBfc2V0X21haW5sb29wX2V4aXN0cygwKQoJICAgIGlmIChfbWFpbmxvb3Agfj0gbmlsKSB0aGVuIF9zZXRfbWFpbmxvb3BfZXhpc3RzKDEpIGVuZAoJICAgIGlmIChfdXBkYXRlNjAgfj0gbmlsKSB0aGVuIF9zZXRfZnBzKDYwKSBfdXBkYXRlPW5pbCBlbHNlIF9zZXRfZnBzKDMwKSBlbmQKCSAgICBpZiAoX21haW5sb29wID09IG5pbCBhbmQgKF9kcmF3IH49IG5pbCBvciBfdXBkYXRlIH49IG5pbCBvciBfdXBkYXRlNjAgfj0gbmlsKSkgdGhlbgoJICAgIAlfc2V0X21haW5sb29wX2V4aXN0cygyKQoJCSAgICBfbWFpbmxvb3AgPSBmdW5jdGlvbigpIAoJICAgICAgICAJd2hpbGUgKHRydWUpIGRvCgkJCQkJX3VwZGF0ZV9idXR0b25zKF91cGRhdGU2MCBhbmQgMSBvciAyKQoJCQkJICAgIF9zdGFydGZyYW1lKCkgCgkJCQkgICAgaWYgKHN0YXQoNykgPT0gNjApIHRoZW4KCQkJCSAgICAJX21hcmtfY3B1KDApIF91cGRhdGU2MCgpIAoJCQkJICAgIGVsc2VpZiAoc3RhdCg3KSA9PSAzMCBhbmQgX3VwZGF0ZTYwKSB0aGVuCgkJCQkgICAgCV91cGRhdGU2MCgpIF91cGRhdGVfYnV0dG9ucygxKSBfbWFya19jcHUoMCkgX3VwZGF0ZTYwKCkKCQkJCSAgICBlbHNlaWYgKHN0YXQoNykgPT0gMzAgYW5kIF91cGRhdGUpIHRoZW4KCQkJCSAgICAJX21hcmtfY3B1KDApIF91cGRhdGUoKSAKCQkJCSAgICBlbHNlaWYgKHN0YXQoNykgPT0gMTUgYW5kIF91cGRhdGUpIHRoZW4KCQkJCSAgICAJX3VwZGF0ZSgpICBfdXBkYXRlX2J1dHRvbnMoMikgX21hcmtfY3B1KDApIF91cGRhdGUoKQoJCQkJICAgIGVuZAoJCQkJICAgIF9tYXJrX2NwdSgxKQoJCQkJICAgIGlmIChfZHJhdyB+PSBuaWwpIHRoZW4KCQkJCQkJbG9jYWwgZGkscmVzPTAsdHJ1ZSAKCQkJCQkJd2hpbGUgKGRpIDwgc3RhdCgxMSkgYW5kIHJlcykgZG8gcmVzID0gX21hcF9kaXNwbGF5KGRpKSBpZiAocmVzKSB0aGVuIHJlcz1fZHJhdygpIGVuZCBkaT1kaSsxIGVuZCAKCQkJCQkJX21hcF9kaXNwbGF5KDApIAoJCQkJCWVuZAoJCQkJICAgIF9tYXJrX2NwdSgyKQoJCQkJCV91cGRhdGVfZnJhbWVyYXRlKCkKCQkJCSAgICBmbGlwKCkKCQkJICAgIGVuZAoJCSAgICBlbmQKCSAgICBlbmQKCQlpZiAoX21haW5sb29wIH49IG5pbCkgdGhlbiBfbWFpbmxvb3AoKSBlbmQKICAgICAgICAKAHN5bnRheCBlcnJvcgBzeW50YXggZXJyb3IgbGluZSAlZCAodGFiICVkKQB1bmV4cGVjdGVkIHN5bWJvbCBuZWFyICdlbmQnAHVuZXhwZWN0ZWQgZW5kIG9mIGxpbmUAJXMgbGluZSAlZAoACi0tPjgKAC5wOC5wbmcAYmJzLwBydW5fY2FydCBjdXJyZW50X2ZpbGVuYW1lOiAlcyBydW5uaW5nX2ZpbGVuYW1lOiAlcyBydW5uaW5nX2NhcnRfbGlkOiAlcwoAc3RhY2sgdHJhY2ViYWNrACdfbWFpbmxvb3AAaW4gZnVuY3Rpb24gJwBpbiAlcyBsaW5lICVkICh0YWIgJWQpAGluIG1haW4gY2h1bmsAYXQgbGluZSAlZCAodGFiICVkKQBnYyBub3QgcnVubmluZzsgY291bGQgbm90IHBlcmZvcm0gZW1lcmdlbmN5IGNvbGxlY3Rpb24KAGdjIGhhcmQgY29sbGVjdDogJWQgLT4gJWQgKG92ZXJoZWFkOiVkKQoAb3V0IG9mIG1lbW9yeQBydW50aW1lIGVycm9yIGxpbmUgJWQgdGFiICVkAHJ1bnRpbWUgZXJyb3IAa2V5d29yZCBoYXNoIGNvbGxpc2lvbjogJXMgJXMKAGdvdG8AYnJlYWsAaXBhaXJzACVzXyUlZC5naWYAJXMuZ2lmACoqIEVHaWZPcGVuRmlsZU5hbWUgZXJyb3IgJWQ6ICVzCgBzYXZpbmcgZ2lmIHRvOiAlcwoATkVUU0NBUEUyLjAAZ2lmACoqIEVHaWZTcGV3KCkgR0lGX0VSUk9SCgBbY2FydF0AWy9jYXJ0XQBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvAEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Xy0ALnA4bAAudHh0AC5vYmoALm10bAAuc3ZnAC5wb3YALnNmZAAuY3N2AC5wcG0AWyVzXQBfX3JlZnVuZF9jcHVfXwBfX3BhaXJzX18AX19pcGFpcnNfXwBfX3N0b3AAX19wcmludABfX3ByaW50aABfX3Rvc3RyAF9fbG9hZABfX2V4dGNtZABfX3Rvc3RyaW5nX18AdG9zdHJpbmcAX190eXBlAF9fc2VsZWN0AF9fY29yZXN1bWUAX195aWVsZGVkX3RvX2VzY2FwZV9zbGljZQBjZABta2RpcgBleGl0AGZpbGU6ICVzJXMAdG9rZW5zOiAgICAgJTVkIC8gICVkAGNoYXJzOiAgICAgICU1ZCAvICVkAGNvbXByZXNzZWQ6ICU1ZCAvICVkAHVuc2F2ZWQgY2hhbmdlcwBleHRlcm5hbCBjaGFuZ2VzAGNvbnRpbnVlIHdpdGggc2h1dGRvd24/IFt5L25dAEBAIHBpY28tOCBzaHV0dGluZyBkb3duAGNvbnRpbnVlIHdpdGggcmVib290PyBbeS9uXQB0cnk6IGhlbHAgPHRvcGljPiBpbnN0ZWFkLiBlLmcuAGNvbW1hbmRzAGxvYWQgPGZpbGVuYW1lPiAgc2F2ZSA8ZmlsZW5hbWU+AHJ1biAob3IgY3RybC1yKSAgcmVzdW1lAHNodXRkb3duICAgICAgICAgcmVib290AGluc3RhbGxfZGVtb3MgICAgbHMAY2QgPGRpcm5hbWU+ICAgICBta2RpciA8ZGlybmFtZT4AY2QgLi4gICAgICB0byBnbyB1cCBhIGRpcmVjdG9yeQBrZXljb25maWcgIHRvIGNob29zZSBidXR0b25zAHNwbG9yZSAgICAgdG8gZXhwbG9yZSBjYXJ0cmlkZ2VzAGhlbHAgPHRvcGljPgBwcmVzcyBlc2MgdG8gdG9nZ2xlIGVkaXRvciB2aWV3AGFsdCtlbnRlciB0byB0b2dnbGUgZnVsbHNjcmVlbgBhbHQrZjQgb3IgY3RybC1xIHRvIGZhc3RxdWl0AGN0cmwtbS8tLysgdG8gYWRqdXN0IHZvbHVtZSAAY2FuIG5vdCBzYXZlIHdoaWxlIHJ1bm5pbmcAZmlsZW5hbWUgdG9vIGxvbmcAQHVybABAY2xpcABAY2xpcC5wOABAY2xpcC5wbmcAQGNsaXAucDgucG5nAHdhcm5pbmc6IGxhYmVsIGlzIGJsYW5rAHJ1biBjYXJ0IGFuZCBjdHJsLTcgdG8gY2FwdHVyZQBfY2xpcC5wOC5wbmcAX2NsaXAucDgucG5nLmhleABjb3BpZWQgdG8gdGV4dGZpZWxkIC0tIHByZXNzAGN0cmwtYyB0byBjb3B5IHRvIGNsaXBib2FyZCEAZmFpbGVkIHRvIHNhdmUgdG8gY2xpcGJvYXJkACogc2F2ZSBmYWlsZWQgKgBpbGxlZ2FsIGZpbGVuYW1lOgBmaWxlIGFscmVhZHkgZXhpc3RzAG92ZXJ3cml0ZT8gW3kvbl0Ac2F2ZWQgJXMlcwBjb3VsZCBub3Qgc2F2ZQBsb2dpbiB1bmF2YWlsYWJsZQBta2RpciBbbmFtZV0AbWtkaXIgZmFpbGVkOiBpbGxlZ2FsIHBhdGggbmFtZQBkaXJlY3Rvcnk6IC8lcwAlcyVzLwAlcyVzJXMvAGNkOiBmYWlsZWQAZGlyZWN0b3J5IG5vdCBmb3VuZAAvJXMAbGFiZWwAc2F2ZWQgbGFiZWwAc2NyZWVuACoqIGNvdWxkIG5vdCBzYXZlIHNjcmVlbnNob3QAc2F2ZWQgaW1hZ2UAZ2VuZXJhdGVkIHNjcmVlbnNob3QAcmVjAHJlY19mcmFtZXMAdmlkZW8AQEAgc2F2ZSBnaWYgcmVzdWx0OiAlZCB2aWRlb19jbGlwX2luZGV4OiAlZAoAbm8gdmlkZW8gcmVjb3JkZWQgKDAgZnJhbWVzKQAqKiBjb3VsZCBub3Qgc2F2ZSBnaWYAc2F2ZWQgJWQgc2Vjb25kIGdpZgBnZW5lcmF0ZWQgJWQgc2Vjb25kIGdpZgBhdWRpb19yZWMAYXVkaW9fZW5kAHBhdXNlAGNvbnRyb2xzAGJyZWFkY3J1bWIAZ29fYmFjawBzZXRfdGl0bGUAc2V0X2ZpbGVuYW1lAHVua25vd24gZXh0Y21kOiVzAGRvd25sb2FkaW5nLi4gAGJhZCBjYXJ0cmlkZ2UgaWQAL2Jicy9jcG9zdF9saXN0ZXIzLnBocD9uZm89MSZ2ZXJzaW9uPSVzJWMmbGlkPSVzAEBkcm9wcGVkAGRyb3BwZWQucDgAbG9hZGVkIGNhcnRyaWRnZSAoJWQgY2hhcnMpAHNvcnJ5LCBAY2xpcCBpcyBub3QgYXZhaWxhYmxlAGxvYWRlZCAlcyVzICglZCBjaGFycykAY291bGQgbm90IGxvYWQ6IGZ1dHVyZSB2ZXJzaW9uAGNvdWxkIG5vdCBsb2FkOiBjb2RlIHNpemUgPiA2NGsAY291bGQgbm90IGxvYWQAMHglMDh4ADB4JTA0eC4lMDR4AHByZXNzIGN0cmwtYyB0byBjb21wbGV0ZSBjb3B5AHByaW50aDogYmFkIGxvZyBmaWxlIG5hbWUAcHJpbnRoOiB0b28gbXVjaCBsb2cgZGF0YSAoMTBtYiBtYXgpAHwlcwB0b28gbWFueSBwcmludGggZmlsZXMAYQAlcwoAcHJpbnRoOiBjb3VsZCBub3Qgd3JpdGUgZmlsZQBjb3VudABfX2ZsaXAAX19zdXBlcnlpZWxkAGJhY2t1cABpbnN0YWxsX2RlbW9zAGluc3RhbGxfZ2FtZXMAa2V5Y29uZmlnAG1hcGRyYXcAYmJzcmVxAHJhZGlvAHNldF9kcmF3X3NsaWNlAF9tZW51aXRlbQBuZXh0AGluZXh0AHNldG1ldGF0YWJsZQBnZXRtZXRhdGFibGUAcmF3ZXF1YWwAcmF3bGVuAHJhd2dldAByYXdzZXQAYXNzZXJ0AF9fdHJhY2UAdHJhY2UAaG9sZGZyYW1lAF9zdGFydGZyYW1lAF9nZXRfbWVudV9pdGVtX3NlbGVjdGVkAF91cGRhdGVfYnV0dG9ucwBfdXBkYXRlX2ZyYW1lcmF0ZQBfc2V0X21haW5sb29wX2V4aXN0cwBfc2V0X2ZwcwBfbWFya19jcHUAX21hcF9kaXNwbGF5AHRvbyBtYW55IG9yZCByZXN1bHRzAGRldmtpdCBrZXlib2FyZCBlbmFibGVkAGRldmtpdCBtb3VzZSBlbmFibGVkAHsgdmFyIHN0ciA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZTsgcmV0dXJuIGFsbG9jYXRlKGludEFycmF5RnJvbVN0cmluZyhzdHIpLCAnaTgnLCBBTExPQ19OT1JNQUwpOyB9AGRzZXQgY2FsbGVkIGJlZm9yZSBjYXJ0ZGF0YSgpAGRnZXQgY2FsbGVkIGJlZm9yZSBjYXJ0ZGF0YSgpAGhpZ2ggc2NvcmVzIG5vdCBpbXBsZW1lbnRlZCB5ZXQhAGNhbiBub3QgY29ubmVjdCB0byBiYnNyZXEgaG9zdAB0b28gbWFueSBwZWVrIHJlc3VsdHMAY3N0b3JlLwBzYW5kYm94ZWRfY3N0b3JlIGZpbGUgbm90IGZvdW5kOiAlcwoAICAtLT4gdXNpbmcgaW50ZXJuYWwgZmlsZTogJXMKAHNwbG9yZSBpcyBub3QgYXZhaWxhYmxlAGluIHRoaXMgdmVyc2lvbi4AaW5zdGFsbGluZyBnYW1lcyB0byAvZ2FtZXMvAGJhY2tlZCB1cCAlcyVzAGJhY2t1cHMAY29uZmlnAHVzZWFnZTogZm9sZGVyIFtsb2NhdGlvbl0AbG9jYXRpb25zOgBiYWNrdXBzIGNvbmZpZyBiYnMgZGVza3RvcABob3N0IGFsbG9jYXRpb24gZXJyb3IAJWRtYiArICVkawoAbm8gaGVscCB0b3BpYyB1bmRlciBjdXJzb3IAdHlwZSB0aGUgdG9waWMgd2l0aG91dCA8Pi4gZS5nLjoAaGVscCBnZngAYWJvdXQAcGljby04AIAgcGljby04IDAuMi41ZwBtYWRlIGJ5IHplcCBhdCBwaWNvIHBpY28gY2FmZSwAdG9reW8uIHRoaXMgcHJvZ3JhbSBpcyBkZWRpY2F0ZWQAdG8gdG9tLCBsb3VpcyBhbmQgbmFjY2kuAHBpY28tOCB3YXMgbWFkZSB3aXRoIHNkbDIsIGx1YSwAZ2lmbGliLCB3aXJpbmdwaSwgbGliYjY0LCBtaW5peiwAbGliY3VybCwgYW5kIGdudSB0b29scy4AYXVkaW8Ac2Z4AIAgYXVkaW8gYXBpIGZ1bmN0aW9ucwBtdXNpYyBzZngAaW5wdXQAdXNlIHRoZSBrZXljb25maWcgY29tbWFuZAB0byBzZXQgZGVmYXVsdCBidXR0b24ga2V5cy4AgCBpbnB1dCBhcGkgZnVuY3Rpb25zAGJ0biBidG5wAHN0cmluZwBzdHJpbmdzAIAgc3RyaW5ncwBzdHJpbmdzIGluIGx1YSBhcmUgaW1tdXRhYmxlOwB0aGV5IGNhbiBiZSBjcmVhdGVkIGFuZCBqb2luZWQAdG9nZXRoZXIsIGJ1dCBub3QgbW9kaWZpZWQuAHMgPSAiZm9vIiAgICAgAD90eXBlKHMpICAgIC0tIHN0cmluZyAAP3MgPT0gImZvbyIgLS0gdHJ1ZQA/cy4uImJvbyIgICAtLSBmb29ib28gKGpvaW4pAD9zLi4oMisyKSAgIC0tIGZvbzQAP3NbMV0gICAgICAgLS0gZgA/I3MgICAgICAgICAtLSAzIChsZW5ndGgpAIAgc3RyaW5nIGZ1bmN0aW9ucwBzdWIgY2hyIG9yZCBzcGxpdCB0b3N0ciB0b251bQCAIGxlbmd0aCBvcGVyYXRvcjogIwBnaXZlcyB0aGUgbGVuZ3RoIG9mIGEgc3RyaW5nIG9yAGEgdGFibGUgdGhhdCBpcyBpbmRleGVkIHdpdGgAaW50ZWdlcnMgc3RhcnRpbmcgYXQgMToAPiA/IyJ0aGUgcXVpY2sgYnJvd24gZm94IgAxOQA+IGE9ezEsMiwzfQA+ID8jYQBzZWUgYWxzbzogdGFibGVzIHN0cmluZ3MAdGFibGUAdGFibGVzAIAgdGFibGVzAGx1YSBwcm92aWRlcyBhIHNpbmdsZSB0eXBlIGZvcgBzdHJ1Y3R1cmVkIGRhdGE6IHRoZSB0YWJsZS4ga2V5cwBhbmQgdmFsdWVzIGluIGEgdGFibGUgY2FuIGJlIGEAYSBtaXh0dXJlIG9mIGFueSB0eXBlLCBhbmQgdGh1cwBjYW4gYmUgdXNlZCBhcyBhcnJheXMsIG1hcHMsAHNldHMsIG9yIGR1Y2stdHlwZWQgb2JqZWN0cy4AdGJsID0gezUsNiw3fSAtLSBjcmVhdGUgYSB0YWJsZQA/dGJsWzFdIC0tIDUgKDEtYmFzZWQpAD8jdGJsICAgLS0gMyAoMS1iYXNlZCBsZW5ndGgpAHogPSB7WzBdPTUsNn0gLS0gc3RhcnQgYXQgMABwID0ge3g9NCx5PTR9IC0tIHN0cmluZyBrZXlzAD9wLnggICAgICAgICAgLS0gc2FtZSBhcyA/cFsieCJdAIAgdGFibGUgZnVuY3Rpb25zAGFkZCBkZWwgZGVsaSBhbGwgZm9yZWFjaCBwYWlycwBsdWEAgCBsdWEgY2hlYXRzaGVldAAtLSAgc2luZ2xlIGxpbmUgY29tbWVudAAtLVtbIGNvbW1lbnQgdGhhdCBzcGFucyBtdWx0aXBsZQBsaW5lcyBdXQBsb2NhbCBhICAgICAgIC0tIGxvY2FsIHZhcmlhYmxlAHgseSx6ID0gMyw0LDUgLS0gZ2xvYmFscwBwcmludCh4PT0zKSAgIC0tIHByaW50IGJvb2xlYW4AZnVuY3Rpb24gcGx1czIoeCkgcmV0dXJuIHgrMiBlbmQAZm9yIGk9MTAsOTAsNSBkbyBjaXJjKGksNSxpKSBlbmQAd2hpbGUoeCA8IDQpIGRvIHg9eCsxIGVuZABpZiAoeCAhPSA0KSB0aGVuIGZvbygpIGVuZABpZiAoeCA9PSA0KSBmb28oKSAtLSBzaG9ydGhhbmQAgCBleHRyYSB0b3BpY3MAdGFibGVzIHN0cmluZ3MgbnVtYmVycyBsb2dpYwBmdW5jdGlvbgByZXR1cm4AgCBrZXl3b3JkczogZnVuY3Rpb24gcmV0dXJuAGEgZnVuY3Rpb24gY2FuIHRha2UgYW55IG51bWJlcgBvZiBhcmd1bWVudHMsIGFuZCByZXR1cm4gYW55AG51bWJlciBvZiByZXN1bHRzOgBmdW5jdGlvbiBmb28oYSwgYikAICBwcmludCgiaW5zaWRlIGZvbyIpACAgcmV0dXJuIGEgKyBiLCAzIC0tIDIgcmVzdWx0cwBlbmQAPiB4LHkgPSBmb28oOCw5KQA+IHByaW50KHgpADE3AD4gcHJpbnQoeSkAd2hpbGUAgCBrZXl3b3JkOiB3aGlsZQByZXBlYXQgYSBibG9jayBvZiBjb2RlIHdoaWxlIGEAY29uZGl0aW9uIGlzIHRydWUuAGkgPSAzAHdoaWxlIGkgPCA1IGRvACAgcHJpbnQoaSkAICBpID0gaSArIDEALS0tIG91dHB1dCAtLS0AZG8AgCBrZXl3b3JkOiBkbwBkZW5vdGUgdGhlIHN0YXJ0IG9mIGEgYmxvY2sAb2YgY29kZS4gdXNlZCBieSB3aGlsZSBhbmQAZm9yIGxvb3BzLgCAIGtleXdvcmQ6IGVuZABkZW5vdGUgdGhlIGVuZCBvZiBhIGJsb2NrIG9mAGNvZGUuIHVzZWQgYnkgd2hpbGUsIGlmLCBmb3IAbG9vcHMsIGFuZCBmdW5jdGlvbiBkZWZpbml0aW9ucy4AcmVwZWF0AHVudGlsAIAga2V5d29yZHM6IHJlcGVhdCwgdW50aWwAcmVwZWF0IGEgYmxvY2sgb2YgY29kZSB1bnRpbABzb21lIGNvbmRpdGlvbiBpcyB0cnVlIGF0IHRoZQBlbmQgb2YgdGhlIGJsb2NrLgB0aGlzIG1lYW5zIHRoYXQgdGhlIGJsb2NrIGlzAGFsd2F5cyBleGVjdXRlZCBhdCBsZWFzdCBvbmNlLAB1bmxpa2Ugd2hpbGUgLi4gZG8gLi4gZW5kLgB1bnRpbCBpID49IDUAaWYAdGhlbgBlbHNlaWYAZWxzZQCAIGlmLCB0aGVuLCBlbHNlaWYsIGVsc2UAZG8gc29tZXRoaW5nIHdoZW4gc29tZXRoaW5nIGlzAHRydWUuIGVsc2UgYW5kIGVsc2VpZiBibG9ja3MgYXJlAG9wdGlvbmFsOgBpZiB4ID4geSB0aGVuACAgcHJpbnQoeC4uIiBpcyBtb3JlIHRoYW4gIi4ueSkAaWYgeCA8IDQgdGhlbgAgIHByaW50KCJ4IGlzIGxlc3MgdGhhdCA0IikAZWxzZWlmIHggPCA2IHRoZW4AICBwcmludCgieCBpcyA0IG9yIDUiKQAgIHByaW50KCJ4IGlzIDYgb3IgbW9yZSIpAGlmICh4PDQpID8ieDw0IiAtLSBzaG9ydGhhbmQAZm9yAGluAIAgZm9yIGxvb3BzAHJlcGVhdCBhIGJsb2NrIG9mIGNvZGUgbiB0aW1lcy4AZm9yIGk9MSw1IGRvAC0tIHJlc3VsdDogMSAyIDMgNCA1AGEgc3RlcCBzaXplIGNhbiBiZSBhZGRlZDoAZm9yIGk9MSw4LDIgZG8gcHJpbnQoaSkgZW5kAC0tIHJlc3VsdDogMSAzIDUgNwBmb3IgbG9vcHMgY2FuIGFsc28gYmUgdXNlZCB0bwBpdGVyYXRlIG92ZXIgdGFibGVzLgBzZWUgYWxzbzogcGFpcnMgYWxsAHRydWUAZmFsc2UAbmlsAGJvb2xlYW4AgCB0cnVlIGZhbHNlIG5pbABib29sZWFuIHZhcmlhYmxlcyBjYW4gaGF2ZSB0aGUAdmFsdWUgdHJ1ZSBvciBmYWxzZS4gbmlsIGlzIGEAc3BlY2lhbCB2YWx1ZSB0aGF0IG1lYW5zIGZhbHNlAGluIGJvb2xlYW4gZXhwcmVzc2lvbnMsIGFuZABvdGhlcndpc2UgbWVhbnMgJ3VuZGVmaW5lZCcuAD4gP3p4YyAgLS0gbm90IGRlZmluZWQsIHNvIG5pbAA+ID96eGMgYW5kIHRydWUAbmlsLCB1bnJlZmVyZW5jZWQgdmFyaWFibGVzIGFyZQBhdXRvbWF0aWNhbGx5IGdhcmJhZ2UgY29sbGVjdGVkLgA+IGE9bmlsIC0tIHdpbGwgYmUgY29sbGVjdGVkLgB0eXBlcwCAIHR5cGUodikAcmV0dXJuIHRoZSB0eXBlIG9mIHZhcmlhYmxlIHYAYXMgYSBzdHJpbmc6ACBuaWwAIGJvb2xlYW4AIG51bWJlcgAgc3RyaW5nACBmdW5jdGlvbgAgdGFibGUAgCBzZWUgYWxzbzoAbnVtYmVycyBzdHJpbmdzIHRhYmxlcwBsb2NhbACAIGtleXdvcmQ6IGxvY2FsAGRlY2xhcmUgYSB2YXJpYWJsZSBhcyBsb2NhbC4AdGhpcyBiaW5kcyB0aGUgc2NvcGUgb2YgdGhlAHZhcmlhYmxlIHRvIHRoZSBzYW1lIGJsb2NrAG9mIGNvZGUgaXQgd2FzIGRlZmluZWQgaW4uAGZ1bmN0aW9uIGZvbyh6KQAgIGxvY2FsIHkgPSB6IC0tIGxvY2FsIHRvIGZvbwAgIHkgPSB5ICsgMQAgIHJldHVybiB5AD9mb28oMTApIC0tIDExAD95IC0tIG5pbCEgdGhlcmUgaXMgbm8gZ2xvYmFsIHkuADwAPgA8PQA+PQA9PQB+PQAhPQBhbmQAb3IAbm90AGxvZ2ljAIAgbG9naWNhbCBleHByZXNzaW9ucyBpbiBsdWEAdGhlIGxvZ2ljYWwgb3BlcmF0b3JzIGFyZToAYW5kLCBvciwgYW5kIG5vdAA/NSA+IDMgYW5kIDUgPiA0IC0tIHRydWUAPzEgPiA1IGFuZCA1ID4gNCAtLSBmYWxzZQA/MSA+IDUgb3IgIDUgPiA0IC0tIHRydWUAP25vdCAoMSA+IDUpICAgICAtLSB0cnVlAG5pbCBpcyBjb25zaWRlcmVkIGZhbHNlLgByZWxhdGlvbmFsIG9wZXJhdG9yczoAPCA+IDw9ID49ID09IH49IChvciAhPSkAgCBhc3NpZ25tZW50OiA9AGdpdmUgdGhlIHZhcmlhYmxlIG9uIGxocwB0aGUgdmFsdWUgb2YgdGhlIHJocy4APiB4ID0gMys1AD4gP3gAZGF0YQBtZW0AgCBtZW1vcnkgJiBkYXRhIGFwaSBmdW5jdGlvbnMAcGVlayBwb2tlIG1lbXNldCBtZW1jcHkAcmVsb2FkIGNzdG9yZSBzY29yZXN1YgBjYXJ0ZGF0YSBkZ2V0IGRzZXQAgCBzZngobixbY2hhbl0sW29mZnNldF0sW2xlbl0pAHBsYXkgc2Z4IG4gKDAuLjYzKQBvZmZzZXQgYW5kIGxlbiBzcGVjaWZ5IHRoZSBzdGFydABwb3NpdGlvbiBhbmQgZHVyYXRpb24sIGFuZCBhcmUAZ2l2ZW4gaW4gbnVtYmVyIG9mIG5vdGVzLgBjaGFuICAgOiB0aGUgY2hhbm5lbCB0byBwbGF5IG9uAGNoYW4gLTE6IHVzZSBhbiB1bnVzZWQgY2hhbm5lbABjaGFuIC0yOiBzdG9wIHNmeCBuIG9uIGFsbCBjaGFucwCAIG11c2ljKHAsW2ZhZGVfbGVuXSxbbWFza10AcGxheSBtdXNpYyBzdGFydGluZyBmcm9tIHBhdHRlcm4AcC4gdXNlIHAgLTEgdG8gc3RvcCBhbnkgbXVzaWMuAGZhZGVfbGVuIGlzIGdpdmVuIGluIG1zICgxMDAwIGlzAG9uZSBzZWNvbmQpLiBtYXNrIGlzIGEgYml0ZmllbGQAdXNlZCB0byBzcGVjaWZ5IHdoaWNoIGNoYW5uZWxzAHRvIHJlc2VydmUgZm9yIG11c2ljLgBidG4AgCBidG4oW2JdLCBbcGxdKQBnZXQgYnV0dG9uIGIgc3RhdGUgZm9yIHBsYXllciBwbABvciBwbGF5ZXIgMCB3aGVuIHBsIGlzIG5vdCBnaXZlbgBiIGlzIGEgYnV0dG9uIGluZGV4OgAwOosgMTqRIDI6lCAzOoMgNDqOIDU6lyAAYnRuKCkgcmV0dXJucyBhIGJpdGZpZWxkIGZvcgBwbGF5ZXIgMCBhbmQgMQBnbHlwaHMAgCBnbHlwaCB2YWx1ZXMAZ2x5cGhzICgngC4umScpIGNhbiBiZSB1c2VkAGFzIHBhcnQgb2YgcmVndWxhciB2YXJpYWJsZQBuYW1lcywgYnV0IHNpbmdsZSBjaGFyYWN0ZXIAZ2x5cGhzIGFyZSBhbHNvIGFzc2lnbmVkIHNwZWNpYWwAdmFsdWVzIG9uIGJvb3Q6AIAgYnV0dG9ucwCLOjAgkToxIJQ6MiCDOjMgjjo0IJc6NQCAIGZpbGwgcGF0dGVybnMgLy8gZmlsbHAolSkAgIGChIWGh4iJioyNkJKTlQBzZWUgYWxzbzogYnRuIGJ0bnAgZmlsbHAAYnRucACAIGJ0bnAoW2JdLCBbcGxdKQByZXR1cm5zIHRydWUgd2hlbiBidXR0b24gYiB3YXMAcHJlc3NlZCBieSBwbGF5ZXIgcGwgKDAuLjcpLgBwbCBkZWZhdWx0cyB0byAwIHdoZW4gbm90IGdpdmVuLgBidG5wIHJlcGVhdHMgZXZlcnkgbiBmcmFtZXM6ADB4NWY1YyBpbml0aWFsIGRlbGF5IChkZWY6IDE1KQAweDVmNWYgcmVwZWF0IGRlbGF5ICAoZGVmOiAgNCkAYnRucCBvbmx5IHdvcmtzIHdoZW4gdXNlZCBmcm9tAGluc2lkZSBfdXBkYXRlKigpLCBfZHJhdygpLCBvcgBiZXR3ZWVuIGNhbGxzIHRvIGZsaXAoKS4AaGVscABtYW4AdG9waWMAdG9waWNzAIAgaGVscCBjb21tYW5kAHR5cGUgaGVscCBbdG9waWNdIGZvciBoZWxwAHRvcGljcyBhcmUgc2hvd24gaW4gYmx1ZS4AcHJlc3MgY3RybC11IGluIHRoZSBjb2RlIGVkaXRvcgBmb3IgaGVscCBvbiB3aGF0ZXZlciBpcyB1bmRlcgB0aGUgY3Vyc29yLgCAIG1haW4gdG9waWNzAGdmeCBkYXRhIGF1ZGlvIHN5c3RlbSBtYXRoIGx1YQBtYXRoAG1hdGhzAIAgbWF0aCBmdW5jdGlvbnMgYW5kIG9wZXJhdG9ycwBjb3Mgc2luIGF0YW4yIHNxcnQgc3JhbmQgcm5kAG1heCBtaW4gbWlkIGZsciBjZWlsIHNnbiBhYnMAYm5vdCBiYW5kIGJvciBieG9yAHNobCBzaHIgbHNociByb3RsIHJvdHIAgCBleHRyYSBtYXRoIHRvcGljcwBudW1iZXJzIGJpbmFyeSBoZXggYml0ZmllbGRzAGNvcwBzaW4AgCBjb3MoYSkgIHNpbihhKQBnaXZlcyB0aGUgY29zaW5lIGFuZCBzaW5lIG9mIGEsAHdoZXJlIDEuMCBtZWFucyBvbmUgZnVsbCB0dXJuLgB4LHkAeCtjb3MoYSksIHkrc2luKGEpADAuMAAwLjI1ADAuNQAwLjc1AHNpbihhKSBpcyBpbnZlcnRlZCB0byBzdWl0AHNjcmVlbnNwYWNlOyBvbmUgZnVsbCB0dXJuIG9mAGEgZnJvbSAwLi4xIHN0YXJ0cyBvbiB0aGUgcmlnaHQAYW5kIGdvZXMgYW50aWNsb2Nrd2lzZS4AYXRhbjIAgCBhdGFuKGR4LCBkeSkAY29udmVydHMgZHgsIGR5IGludG8gYW4gYW5nbGUAYmV0d2VlbiAwLi4xLiBhcyB3aXRoIGNvcygpIGFuZABzaW4oKSwgdGhlIGFuZ2xlIGlzIHRha2VuIHRvIHJ1bgBhbnRpY2xvY2t3aXNlIGluIHNjcmVlbnNwYWNlLgB4K2R4LCB5K2R5AGFuZ2xlID0gYXRhbjIoZHgsIGR5KSAgLS0gMC4xMjUAc3FydACAIHNxcnQoeCkAcmV0dXJuIHRoZSBzcXVhcmUgcm9vdCBvZiB4AHJuZACAIHJuZChbeF0pACAgIHJuZCh7dGJsfSkAcmV0dXJuIGEgcHNldWRvLXJhbmRvbSBudW1iZXIAZnJvbSAwIHVwIHRvIGJ1dCBub3QgaW5jbHVkaW5nAHgsIHdoaWNoIGRlZmF1bHRzIHRvIDEAd2hlbiBhIHRhYmxlIGlzIGdpdmVuLCBhIHJhbmRvbQBpdGVtIGZyb20gdGFibGUgaXMgcmV0dXJuZWQuAHNyYW5kAIAgc3JhbmQoeCkAc2VlZCB0aGUgcm5kKCkgbnVtYmVyIGdlbmVyYXRvcgB3aXRoIHguIHRoZSBzZXF1ZW5jZSBvZiByZXN1bHRzAGZyb20gcm5kKCkgd2lsbCBiZSB0aGUgc2FtZQBmb2xsb3dpbmcgYSBjYWxsIHRvIHNyYW5kIHdpdGgAdGhlIHNhbWUgc2VlZC4AbWF4AG1pbgCAIG1heChhLGIpIG1pbihhLGIpIG1pZChhLGIsYykAZ2l2ZSB0aGUgbWF4aW11bSwgbWluaW11bSBvZgAyIHZhbHVlcywgb3IgdGhlIG1pZGRsZSBvZgAzIHZhbHVlcy4gbWlzc2luZyBhcmd1bWVudHMAYXJlIHRyZWF0ZWQgYXMgMC4AP21heCgzLCAyMCkgICAtLSAyMAA/bWlkKDYsIDcsIDQpIC0tIDYAP21pbig4KSAgICAgICAtLSAwAGZscgBjZWlsAIAgZmxyKHgpIGNlaWwoeCkAcm91bmQgZG93biBvciB1cCB0byB0aGUgY2xvc2VzdABpbnRlZ2VyLiBmbHIoeCkgaXMgc2ltaWxhciB0bwB1c2luZyBpbnRlZ2VyIGRpdmlzaW9uIGJ5IG9uZSwAb3Igc3RyaXBwaW5nIGZyYWN0aW9uYWwgYml0czoAPyA0LjEgXCAxICAgICAgLS0+IDQAPyA0LjEgJiAweGZmZmYgLS0+IDQAPyBmbHIoNC4xKSAgICAgLS0+IDQAPyBmbHIoLTIuMykgICAgLS0+IC0zAD8gY2VpbCg0LjEpICAgIC0tPiA1AHNnbgCAIHNnbih4KQByZXR1cm5zIC0xIHdoZW4geCA8IDAsAGFuZCAxIG90aGVyd2lzZQBub3RlIHRoYXQgc2duKDApIGlzIDEsIG5vdCAwLgBhYnMAgCBhYnMoeCkAcmV0dXJuIHRoZSBhYnNvbHV0ZSAocG9zaXRpdmUpAHZhbHVlIG9mIHg6AD8gYWJzKC0zKSAgIC0tPiAzAD8gYWJzKDQpICAgIC0tPiA0AHRoZSBvbmUgZXhjZXB0aW9uIGlzIGZvcgBhYnMoLTMyNzY4KSwgd2hpY2ggZG9lcyBub3QAaGF2ZSBhIG1hdGNoaW5nIHBvc2l0aXZlIHZhbHVlLABzbyAweDdmZmYuZmZmZiBpcyByZXR1cm5lZC4AYm5vdACAIGJub3QoeCkAICAgfngAYmluYXJ5IG5vdC4gZWFjaCBiaXQgaW4gdGhlAHJldHVybiB2YWx1ZSBpcyBzZXQgd2hlbiB0aGUAY29ycmVzcG9uZGluZyBiaXQgaW4geCBpcyBub3QAc2V0LgBpbiBvdGhlciB3b3JkcywgZmxpcCBhbGwgb2YgdGhlAGJpdHMgaW4geC4APiA/dG9zdHIofjB4ZmYwMC4wMGZlLCAxKQAweDAwZmYuZmYwMQB3aGVuIHVzZWQgd2l0aCB0d28gb3BlcmFuZHMgKGUuZwB4fnkpLCB+IG1lYW5zIHhvci4gc2VlOiBieG9yAGJhbmQAJgAmPQCAIGJhbmQoeCwgeSkAICAgeCAmIHkAYmluYXJ5IGFuZC4gZWFjaCBiaXQgaW4gdGhlAGNvcnJlc3BvbmRpbmcgYml0cyBpbiB4IGFuZAB5IGFyZSBib3RoIHNldC4AdHJ1dGggdGFibGUgICAgICAgfCAgMCAgfCAgMSAgACAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLQAgICAgICAgICAgICAgICAgMCB8ICAwICB8ICAwICAAICAgICAgICAgICAgICAgIDEgfCAgMCAgfCAgMSAgAD4gP3Rvc3RyKDB4ZjBmICYgMHgxMjMsIDEpADB4MDEwMy4wMDAwAGJvcgB8AHw9AIAgYm9yKHgsIHkpACAgIHggfCB5AGJpbmFyeSBvci4gZWFjaCBiaXQgaW4gdGhlAGNvcnJlc3BvbmRpbmcgYml0IGluIGVpdGhlcgB4IG9yIHkgaXMgc2V0LgAgICAgICAgICAgICAgICAgMCB8ICAwICB8ICAxICAAICAgICAgICAgICAgICAgIDEgfCAgMSAgfCAgMSAgAD4gP3Rvc3RyKDB4ZjBmIHwgMHgwZjAsIDEpADB4MGZmZi4wMDAwAGJ4b3IAXl4AgCBieG9yKHgsIHkpACAgIHggfiB5ACAgIHggXl4geSAgICAgLS0gbGVnYWN5AGJpbmFyeSBleGNsdXNpdmUgb3IuIGVhY2ggYml0AGluIHRoZSByZXR1cm4gdmFsdWUgaXMgc2V0IHdoZW4AZWl0aGVyIG9mIHRoZSBjb3JyZXNwb25kaW5nIGJpdHMAaW4geCBvciB5IGFyZSBzZXQsIGJ1dCBub3QgYm90aC4AaW4gb3RoZXIgd29yZHMsIGZvciBlYWNoIGJpdCBzZXQAc2V0IGluIHgsIGZsaXAgdGhhdCBiaXQgaW4geS4AICAgICAgICAgICAgICAgIDEgfCAgMSAgfCAgMCAgAD4gP3Rvc3RyKDB4ZjAwIH4gMHgxMjMsIDEpADB4MGUyMy4wMDAwAHNobAA8PAA8PD0AgCBzaGwoeCwgbikAICAgeCA8PCBuAHNoaWZ0IGxlZnQuIG1vdmUgYWxsIG9mIHRoZQBiaXRzIGluIHggbGVmdCBuIHBsYWNlcy4APiA/dG9zdHIoMHhmZi4wYyA8PCA4LCAxKQAweGZmMGMuMDAwMABzaHIAPj4APj49AIAgc2hyKHgsIG4pACAgIHggPj4gbgBhcml0aG1ldGljIHNoaWZ0IHJpZ2h0LiBtb3ZlIGFsbABiaXRzIGluIHggcmlnaHQgbiBwbGFjZXMuIHRoZQBsZWZ0LW1vc3QgYml0IGlzICdzdGlja3knLCBzbwB0aGF0IG5lZ2F0aXZlIHZhbHVlcyByZW1haW4AbmVnYXRpdmUuAD4gP3Rvc3RyKDB4ODBjYS5mZSA+PiA4LCAxKQAweGZmODAuY2FmZQBsc2hyAD4+PgA+Pj49ACAgIHggPj4+IG4AbG9naWNhbCBzaGlmdCByaWdodC4gbW92ZSBhbGwAYml0cyBpbiB4IHJpZ2h0IG4gcGxhY2VzLiB6ZXJvcwBjb21lIGluIGZyb20gdGhlIGxlZnQuAD4gP3Rvc3RyKDB4ODBjYS5mZSA+Pj4gOCwgMSkAMHgwMDgwLmNhZmUAcm90bAA8PD4APDw+PQCAIHJvdGwoeCwgbikAICAgeCA8PD4gbgByb3RhdGUgYml0cyBsZWZ0IG4gcGxhY2VzLgA+ID90b3N0cigweGNhZmUuZjAwZCA8PD4gNCwgMSkAMHhhZmVmLjAwZGMAcm90cgA+PjwAPj48PQCAIHJvdHIoeCwgbikAICAgeCA+PjwgbgByb3RhdGUgYml0cyByaWdodCBuIHBsYWNlcy4APiA/dG9zdHIoMHhjYWZlLmYwMGQgPj48IDQsIDEpADB4ZGNhZi5lZjAwAG51bWJlcnMAgCBudW1iZXJzAG51bWJlcnMgaW4gcGljby04IGFyZSAxNjoxNgBmaXhlZCBwb2ludC4gdGhpcyBtZWFucyB0aGF0ADE2IGJpdHMgYXJlIHVzZWQgZm9yIHRoZQBpbnRlZ2VyIHBhcnQsIGFuZCAxNiBmb3IgdGhlAGZyYWN0aW9uYWwgcGFydC4gdGhlIHJhbmdlIG9mAHBvc3NpYmxlIHZhbHVlcyBpczoALTMyNzY4LjAgdG8gMzI3NjcuOTk5OTkAbnVtYmVycyB3cml0dGVuIGluIGRlY2ltYWwgYXJlAHJvdW5kZWQgdG8gdGhlIGNsb3Nlc3QgZml4ZWQAcG9pbnQgdmFsdWUuIHRvIHNlZSB0aGUgcmF3IDMyLQBiaXQgaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb246AD4gP3Rvc3RyKDEvNiwgMSkAMHgwMDAwLjJhYWEAaGV4AGhleGFkZWNpbWFsAIAgaGV4YWRlY2ltYWwAbnVtYmVycyBjYW4gYmUgd3JpdHRlbiBpbiBoZXgAYnkgcHJlZml4aW5nIHRoZW0gd2l0aCAiMHgiOgA+IHByaW50KDB4M2YpADYzAGhleGlkZWNpbWFsIG5vdGF0aW9uIGlzIGJhc2UtMTYAdXNpbmcgY2hhcmFjdGVyIGEuLmYgZm9yIHRoZQB2YWx1ZXMgMTAuLjE1LiBpbiB0aGUgZXhhbXBsZQBhYm92ZSwgMHgzMCBtZWFucyA0OCAoMyoxNikgYW5kAHRoZSBmIG1lYW5zIDE1LCBzbyB0aGUgcmVzdWx0IGluAGRlY2ltYWwgaXM6IDQ4ICsgMTUgLT4gNjMuAHRvIGNvbnZlcnQgZnJvbSBkZWNpbWFsIHRvIGhleDoAPiBwcmludCh0b3N0cig2MywgMSkpADB4MDAzZi4wMDAwIC0tIGFsbCAzMiBiaXRzIHNob3duAGJpbmFyeQCAIGJpbmFyeQBudW1iZXJzIGNhbiBiZSB3cml0dGVuIGluIGJpbmFyeQBmb3JtIGJ5IHByZWZpeGluZyB0aGVtIHdpdGggIjBiIgA+IHByaW50KDBiMTAwMS4wMSkAOS4yNQA4ICB8ICA0ICB8ICAyICB8ICAxICB8IDEvMiB8IDEvNAAtLS0rLS0tLS0rLS0tLS0rLS0tLS0rLS0tLS0rLS0tLQAxICB8ICAwICB8ICAwICB8ICAxICB8ICAwICB8ICAxIABpbiB0aGUgZXhhbXBsZSBhYm92ZSwgdGhlIGZpcnN0ADEgaXMgaW4gdGhlICI4cyIgY29sdW1uLCBzbyB0aGUAaW50ZWdlciBwYXJ0IGlzIDgrMSA9IDkuIGFmdGVyAHRoZSBkZWNpbWFsIHBvaW50LCBlYWNoIDEgbWVhbnMAMS8yLCAxLzQsIC4uLiAxLzY1NTM2LiBpbiB0aGlzAGNhc2UgdGhlIG9ubHkgMSBpcyBpbiB0aGUgMS80dGhzAGNvbHVtbiwgc28gdGhlIHJlc3VsdCBpcyA5LjI1AGJpdGZpZWxkAGJpdGZpZWxkcwCAIGJpdGZpZWxkcwBiaXRmaWVsZHMgYXJlIG51bWJlcnMgd2hlcmUgZWFjaABlYWNoIGJpdCBoYXMgYmVlbiBhc3NpZ25lZCBhAHBhcnRpY3VsYXIgbWVhbmluZy4gcGljby04IHVzZXMAYml0ZmllbGRzIGZvciB0aGUgc3ByaXRlIGZsYWdzLABhbmQgc29tZXRpbWVzIGFzIHBhcmFtZXRlcnMgYW5kAHJldHVybiB2YWx1ZXMgZm9yIGFwaSBmdW5jdGlvbnMuAHRvIGNvbnN0cnVjdCBhIGJpdGZpZWxkLCB5b3UgY2FuAGJvcigpIHRoZSBzZXBhcmF0ZSBiaXRzIHRvZ2V0aGVyAGFuZCB0aGVuIHRlc3QgaWYgZWFjaCBiaXQgKGZsYWcpAGlzIHNldCB1c2luZyBiYW5kKCk6AD4gZmxhZ3MgPSA4fDEgLS1zZXQgYml0cyAzIGFuZCAwAD4gPyhmbGFncyAmIDgpID4gMCAtLWNoZWNrIGJpdCAzAHNlZSBhbHNvOiBiaW5hcnkgYm9yIGJhbmQAKwArPQAtPQCAIG9wZXJhdG9yOiArIC0gKz0gLT0AYWRkLCBzdWJ0cmFjdC4APiA/Mys0AD4geD03AD4geC09MgB3aGVuIHRoZSByZXN1bHQgaXMgZ3JlYXRlciB0aGFuADB4N2ZmZi5mZmZmLCB0aGUgcmVzdWx0IGxvb3BzOgA+ID8weDdmZmYgKyAxAC0zMjc2OAAqPQAvPQCAIG9wZXJhdG9yczogKiAvICo9IC89AG11bHRpcGx5IHR3byBudW1iZXJzLCBvciBkaXZpZGUAb25lIGJ5IHRoZSBvdGhlci4APiA/Myo0ADEyAD4geD04AD4geC89NAB0aGUgcmVzdWx0cyBvZiBtdWx0aXBseSBvdmVyZmxvdwBidXQgdGhlIHJlc3VsdHMgb2YgZGl2aWRlIGFyZQBjbGFtcGVkIHRvIC0zMjc2OC4uMHg3ZmZmLmZmZmY6AD4gP3Rvc3RyKDUwMCAvIDAsIDEpADB4N2ZmZi5mZmZmAFwAXD0AgCBpbnRlZ2VyIGRpdmlkZSBvcGVyYXRvcjogXABnaXZlcyB0aGUgc2FtZSByZXN1bHQgYXMgYQByZWd1bGFyIGRpdmlkZSByb3VuZGVkIGRvd24uAD4gPzlcMiAtLSBzYW1lIGFzIGZscig5LzIpAD4geCA9IDE2AD4geCBcPSAzACUAJT0AgCBtb2R1bG8gb3BlcmF0b3I6ICUgJT0AeCAlIHkgbWVhbnM6IGtlZXAgYWRkaW5nIHkAb3Igc3VidHJhY3RpbmcgeSBmcm9tIHggdW50aWwAMCA8PSB4IDwgeS4APiA/IDE1ICUgNABmb3IgcG9zaXRpdmUgbnVtYmVycywgdGhpcyBpcwB0aGUgc2FtZSBhcyBkaXZpbmcgeCBieSB5IGFuZAB5IGFuZCByZXR1cm5pbmcgdGhlIHJlbWFpbmRlci4AbW9kdWxvIGlzIHVzZWZ1bCB3aGVuZXZlciB5b3UAeW91IG5lZWQgdG8gd3JhcCBhIG51bWJlciB0bwBhIHBhcnRpY3VsYXIgcmFuZ2UuIGZvciBleGFtcGxlOgBmbHIodCgpJTMpIC0tIDAgMSAyIDAgMSAyIC4uAHNlZSBhbHNvOiBwZWVrMiAoZS5nLiAlbWVtX2FkZHIpAF4AXj0AgCBleHBvbmVudCBvcGVyYXRvcjogXiBePQB4IF4geSBnaXZlcyB4IHRvIHRoZSBwb3dlciBvZiB5LgB5IGNhbiBiZSBmcmFjdGlvbmFsLgA+ID81IF4gMyAgLS0gIHNhbWUgYXMgNSo1KjUAMTI1AD4gPzE2IF4gMC41AG5vdGU6IHheeSBtZWFucyBiaXR3aXNlIHhvciBpbgBvdGhlciBsYW5ndWFnZXMhIGluIHBpY28tOCBsdWEsAHhvciBpcyB4fnkgKG9yIGxlZ2FjeTogeF5eeSkALi49AIAgc3RyaW5nIGpvaW4gb3BlcmF0b3I6IC4uIC4uPQBvcGVyYW5kcyBjYW4gYWxzbyBiZSBub24tc3RyaW5nAHZhcmlhYmxlcywgYW5kIGFyZSBhdXRvbWF0aWNhbGx5AGNvbnZlcnRlZCB0byBjb21wbGV0ZSB0aGUgam9pbi4APiA/ImhlbGxvICIuLiJ3b3JsZCIAaGVsbG8gd29ybGQAPiB4ID0gNQA+ID8ieCBpczogIi4ueAB4IGlzIDUALi4uAIAgYXJndW1lbnRzOiAuLi4ALi4uIG1lYW5zICdyZW1haW5pbmcgYXJndW1lbnRzJwBmdW5jdGlvbiBwcmludF9hbGwoLi4uKQAgYT17Li4ufQAgZm9yZWFjaChhLCBwcmludCkAcHJpbnRfYWxsKDEsMiwzKQBzZWUgYWxzbzogc2VsZWN0IHBhY2sgdW5wYWNrAHNlbGVjdAB1bnBhY2sAcGFjawCAIHNlbGVjdCguLi4sIG4pACAgIHBhY2soLi4uKQAgICB1bnBhY2sodGJsKQBmdW5jdGlvbnMgZm9yIGRlYWxpbmcgd2l0aCBhAHZhcmlhYmxlIG51bWJlciBvZiBhcmd1bWVudHMuAHNlbGVjdCByZXR1cm5zIGEgZ2l2ZW4gYXJndW1lbnQuAHBhY2sgY29udmVydHMgYW55IG51bWJlciBvZgBhcmd1bWVudHMgaW50byBhIHRhYmxlLCBhbmQAdW5wYWNrIGJhY2sgaW50byByZXR1cm4gdmFsdWVzLgBmdW5jdGlvbiBmb28oYSwgLi4uKQAgID8iYXJnMjoiLi5zZWxlY3QoMSwuLi4pACAgLS0gcmV0dXJuIGFsbCBidXQgZmlyc3QgYXJnACAgcmV0dXJuIHBhY2soLi4uKQBiID0gZm9vKHVucGFja3sxLDIsM30pIC0tIHsyLDN9AHN5c3RlbQCAIHN5c3RlbSBhcGkgZnVuY3Rpb25zAHJ1biBzdG9wIHJlc2V0IHlpZWxkIHRpbWUAbWVudWl0ZW0gc3RhdCBzZXJpYWwgZXh0Y21kAGNvY3JlYXRlIGNvcmVzdW1lIGNvc3RhdHVzAIAgc3lzdGVtIGNvbW1hbmRzAGxvYWQgc2F2ZSBpbXBvcnQgZXhwb3J0IGluZm8AcmVzdW1lIGZvbGRlciBzaHV0ZG93biByZWJvb3QAc3Bsb3JlIGJhY2t1cCBsb2dpbiBsb2dvdXQAgCBjYWxsYmFja3MAX2luaXQgX2RyYXcgX3VwZGF0ZSBfdXBkYXRlNjAAgCBpbnB1dABfaW5pdAAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tAIAgX2luaXQoKQB3aGVuIF9pbml0IGlzIGRlZmluZWQsIGl0IGlzAGNhbGxlZCBvbmNlIGJlZm9yZSBlbnRlcmluZyB0aGUAbWFpbiBfdXBkYXRlIC8gX2RyYXcgbG9vcC4AX2RyYXcAgCBfZHJhdygpAHdoZW4gX2RyYXcgaXMgZGVmaW5lZCBpbiBhAHByb2dyYW0sIGl0IGlzIGNhbGxlZCBvbmNlAHBlciBmcmFtZS4gdGhpcyBjb3VsZCBiZSAxNSwAMzAgb3IgNjAgdGltZXMgcGVyIHNlY29uZC4AdGhlIGNvbnRlbnRzIG9mIHRoZSB2aWRlbwBtZW1vcnkgaXMgZGlzcGxheWVkIG9uY2UgX2RyYXcAcmV0dXJucyAtLSB0aGVyZSBpcyBubyBuZWVkIHRvAGV4cGxpY2l0bHkgY2FsbCBmbGlwKCkuAF91cGRhdGUAX3VwZGF0ZTYwAIAgX3VwZGF0ZSgpIF91cGRhdGU2MCgpAHdoZW4gX3VwZGF0ZSBvciB1cGRhdGU2MCBpcwBkZWZpbmVkLCBpdCBpcyBjYWxsZWQgYXQgMzAgb3IANjAgdGltZXMgcGVyIHNlY29uZCByZWdhcmRsZXNzAG9mIHRoZSBmcmFtZXJhdGUgKHByb3ZpZGVkAHRoZXJlIGlzIHN1ZmZpY2llbnQgY3B1IHRvAGRvIHNvKS4AZ2Z4AIAgZ2Z4IGFwaSBmdW5jdGlvbnMAY2FtZXJhIGNsaXAgY2xzIGNvbG9yIHBhbCBwYWx0AGZpbGxwIGZsaXAgbGluZSByZWN0IHJlY3RmaWxsAG92YWwgb3ZhbGZpbGwgY2lyYyBjaXJjZmlsbABwZ2V0IHBzZXQgcHJpbnQgcHJpbnRoIGN1cnNvcgBtYXAgbWdldCBtc2V0IGZnZXQgZnNldCB0bGluZQBzcHIgc3NwciBzZ2V0IHNzZXQAZmxpcACAIGZsaXAoKQBmbGlwIHRoZSBiYWNrIHBhZ2UgdG8gdGhlIHNjcmVlbgBhbmQgc3RhcnQgdGhlIG5leHQgZnJhbWUuAG5vdGUgdGhhdCBwcm9ncmFtcyB0aGF0IGhhdmUgYQBfZHJhdygpIGZ1bmN0aW9uIGRvIG5vdCBuZWVkIHRvAGNhbGwgZmxpcCgpLgAtLSBkcmF3IG9uZSBzdGFyIHBlciBmcmFtZQBmb3IgaT0xLDEwMCBkbwAgPyKSIixybmQoMTI4KSxybmQoMTI4KSxybmQoMTYpACBmbGlwKCkAY2FtZXJhAIAgY2FtZXJhKHgsIHkpAHNldCBhIHNjcmVlbiBvZmZzZXQgb2YgLXgsIC15AGZvciBhbGwgZHJhd2luZyBvcGVyYXRpb25zLgBjYW1lcmEoKSB0byByZXNldABjbGlwAIAgY2xpcCh4LCB5LCB3LCBoLCBbY2xpcF9vbGRdKQBzZXRzIHRoZSBjbGlwcGluZyByZWN0YW5nbGUgaW4AcGl4ZWxzLiB3aGVuIGNsaXBfb2xkIGlzIHRydWUsAGNsaXAgdGhlIG5ldyBjbGlwcGluZyByZWN0YW5nbGUAYnkgdGhlIGV4aXN0aW5nIG9uZS4AY2xzAIAgY2xzKFtjb2xdKQBjbGVhciB0aGUgc2NyZWVuIGFuZCByZXNldCB0aGUAY2xpcHBpbmcgcmVjdGFuZ2xlLiBjb2wgZGVmYXVsdHMAdG8gYmxhY2suAGNvbG9yAIAgY29sb3IoW2NvbF0pAHNldCB0aGUgY3VycmVudCBjb2xvdXIgdXNlZCBieQBkcmF3aW5nIGZ1bmN0aW9ucy4gaWYgY29sIGlzAG5vdCBzcGVjaWZpZWQsIGRlZmF1bHRzIHRvIDYuAHdoZW4gYSBmaWxsIHBhdHRlcm4gaXMgZGVmaW5lZAB1c2luZyBmaWxscCgpLCBhIHNlY29uZCBjb2xvdXIAaXMgbmVlZGVkIGFuZCBjYW4gYmUgc3BlY2lmaWVkAGluIHRoZSBoaWdoIDQgYml0czoAY29sb3IoMHg4NykgLS0gcmVkIGFuZCB3aGl0ZQB0aGUgZmlsbCBwYXR0ZXJuIGl0c2VsZiBjYW4gYWxzbwBiZSBzcGVjaWZpZWQgaW4gY29sb3VyIGFyZ3VtZW50cwAoc2VlIHRoZSBtYW51YWwgZm9yIGRldGFpbHMpLgBwYWwAcGFsZXR0ZQCAIHBhbChjMCwgYzEsIFtwXSkAbWFwIGNvbG91ciBjMCB0byBjMSBmb3IgcGFsIHA6ADAgZHJhdyBwYWxldHRlIChkZWZhdWx0KQAxIGRpc3BsYXkgcGFsZXR0ZQAyIHNlY29uZGFyeSBwYWxldHRlAHVzZSBwYWwoKSB0byByZXNldC4AJTJkAHBhbHQAgCBwYWx0KGMsIHQpAHNldCB0aGUgdHJhbnNwYXJlbmN5IGZvciBjb2xvdXIAYyB0byB0IChib29sZWFuKS4gdHJhbnNwYXJlbmN5AGlzIG9ic2VydmVkIGJ5IHNwcigpLCBzc3ByKCksAG1hcCgpIGFuZCB0bGluZSgpLgBwYWx0KCkgdG8gcmVzZXQgdG8gZGVmYXVsdHMuAHdoZW4gYSBzaW5nbGUgbnVtYmVyIGFyZ3VtZW50AGlzIGdpdmVuLCBpdCBpcyB0YWtlbiB0byBiZSBhAGJpdGZpZWxkIG9mIGFsbCAxNiB0cmFuc3BhcmVuY3kAdmFsdWVzIHN0YXJ0aW5nIGZyb20gaGlnaCBiaXRzLgAtLSBtYWtlIGNvbHMgMC4uMyB0cmFuc3BhcmVudDoAcGFsdCgweGYwMDApAC0tIG1ha2UgY29sb3VyIDggdHJhbnNwYXJlbnQ6AHBhbHQoOCwgdHJ1ZSkAZmlsbHAAgCBmaWxscChwKQBwIGlzIGEgYml0ZmllbGQgdGhhdCBzcGVjaWZpZXMAYSA0WDQgZmlsbCBwYXR0ZXJuIG9ic2VydmVkIGJ5AGNpcmMqKCksIHJlY3QqKCksIG92YWwqKCksIHBzZXQAYW5kIGxpbmUoKS4gYml0IDB4Yi4xIGluZGljYXRlcwB0cmFuc3BhcmVuY3kuIHRoZSAxNiBiaXQgbGF5b3V0OgAgMHg4MDAwIDB4NDAwMCAweDIwMDAgMHgxMDAwACAgMHg4MDAgIDB4NDAwICAweDIwMCAgMHgxMDAAICAgMHg4MCAgIDB4NDAgICAweDIwICAgMHgxMAAgICAgMHg4ICAgIDB4NCAgICAweDIgICAgMHgxACBmaWxscCgweDg0MjEpICBmaWxscCgweDUwYzApACBmaWxscCiFKSBmaWxscCiHKSBmaWxscCiWKQBsaW5lAIAgbGluZSh4MCwgeTAsIFt4MSwgeTEsXSBbY29sXSkAZHJhdyBhIGxpbmUgZnJvbSAoeDAseTApIHRvACh4MSx5MSkuIHdoZW4geDEseTEgYXJlIG5vdCwAZ2l2ZW4sIHRoZSBlbmQgb2YgdGhlIGxhc3QgZHJhd24AbGluZSBpcyB1c2VkLgByZWN0AHJlY3RmaWxsAIAgcmVjdCAgICAoeDAseTAseDEseTEsW2NvbF0pACAgIHJlY3RmaWxsKHgwLHkwLHgxLHkxLFtjb2xdKQBkcmF3IGEgcmVjdGFuZ2xlIG9yIGZpbGxlZAByZWN0YW5nbGUgd2l0aCBwb2ludHMgYXQAb3Bwb3NpdGUgY29ybmVycyBnaXZlbiBieQAoeDAseTApLCAoeDEseTEpLgBvdmFsAG92YWxmaWxsAIAgb3ZhbCAgICAoeDAseTAseDEseTEsW2NvbF0pACAgIG92YWxmaWxsKHgwLHkwLHgxLHkxLFtjb2xdKQBkcmF3IGFuIGVsbGlwc29pZCBib3VuZGVkIGJ5AHRoZSBnaXZlbiByZWN0YW5nbGUuAGNpcmMAY2lyY2ZpbGwAgCBjaXJjICAgICh4LCB5LCByLCBbY29sXSkAICAgY2lyY2ZpbGwoeCwgeSwgciwgW2NvbF0pAGRyYXcgYSBjaXJjbGUgYXQgKHgseSkgd2l0aCBhAHJhZGl1cyBvZiByLiB3aGVuIGEgbmVnYXRpdmUAcmFkaXVzIGlzIGdpdmVuLCBub3RoaW5nIGlzAGRyYXduLgBtYXAAgCBtYXAoW3R4LCB0eV0sIFtzeCwgc3ldLAAgICBbdHcsIHRoXSwgW2xheWVyc10AZHJhdyB0aGUgbWFwIGZyb20gdGlsZSB0eCwgdHkAYXQgc2NyZWVuIHBvc2l0aW9uIHN4LCBzeS4AdHcsdGggZ2l2ZXMgdGhlIHdpZHRoIGFuZCBoZWlnaHQAdG8gZHJhdyBpbiB0aWxlcy4AbGF5ZXJzIGlzIGEgYml0ZmllbGQgdGhhdCBtZWFucwBvbmx5IHNwcml0ZXMgd2l0aCB0aGUgbWF0Y2hpbmcAc3ByaXRlIGZsYWdzIHNob3VsZCBiZSBkcmF3bi4Ac3ByaXRlIDAgaXMgbm90IGRyYXduIHVubGVzcyB0aGUAYml0IGF0IDB4NWYzNiAmIDB4OCBpcyBzZXQuAG1nZXQAbXNldACAIG1nZXQoeCx5KQAgICBtc2V0KHgseSx2YWwpAGdldCBvciBzZXQgdGhlIHZhbHVlIG9mIHRoZSBtYXAAdGlsZSBhdCB4LHkuIHdoZW4geCx5IGlzIG91dHNpZGUAdGhlIG1hcCBhcmVhLCBtZ2V0IHJldHVybnMgMC4AZmdldABmc2V0AIAgZmdldChuLCBbZl0pACAgIGZzZXQobiwgYml0ZmllbGQpACAgIGZzZXQobiwgZiwgdmFsKQBnZXQgb3Igc2V0IHRoZSB2YWx1ZSBvZiBhIHNwcml0ZQBmbGFnIGYgZm9yIHNwcml0ZSBuLiB3aGVuIGYgaXMAb21pdHRlZCwgYWxsIGZsYWdzIGFyZSByZXRyaWV2ZWQAL3NldCBhcyBhIHNpbmdsZSA4LWJpdCBiaXRmaWVsZC4AZXhhbXBsZXMgdXNpbmcgc3ByaXRlIDI6AGZzZXQoMiwgNCwgdHJ1ZSkgLS0gc2V0IGZsYWcgNABmc2V0KDIsIDB4YikgIC0tIHNldCBmbGFncyAwLDEsMwA/ZmdldCgyLCAzKSAgIC0tIHRydWUAaW5pdGlhbCBzcHJpdGUgZmxhZyBzdGF0ZXMgY2FuAGJlIHNldCBpbiB0aGUgc3ByaXRlIGVkaXRvci4AdGxpbmUAgCB0bGluZSh4LCB5LCB4MSwgeTEsIG14LCBteSwAICAgW21keCwgbWR5XSwgW2xheWVyc10pAGRyYXcgYSB0ZXh0dXJlZCBsaW5lIGZyb20gKHgseSkAdG8gKHgxLHkxKSwgc2FtcGxpbmcgY29sb3VycwBmcm9tIHRoZSBtYXAgYXQgZWFjaCBwb2ludC4Ad2hlbiBsYXllcnMgaXMgZ2l2ZW4sIG9ubHkgdGlsZXMAd2l0aCBtYXRjaGluZyBmbGFncyBhcmUgZHJhd24uAG14LG15IGFyZSBtYXAgY29vcmRzIGdpdmVuIGluAHRpbGVzIGFuZCBpbmNyZW1lbnRlZCBieSBtZHgsAG1keSBhZnRlciBlYWNoIHBpeGVsIGlzIGRyYXduLgBkcmF3IHN0YXRlOgAweDVmMzg6IGxvb3Agd2lkdGggaW4gdGlsZXMAMHg1ZjM5OiBsb29wIGhlaWdodCBpbiB0aWxlcwAweDVmM2E6IG9mZnNldCB4IGluIHRpbGVzADB4NWYzYjogb2Zmc2V0IHkgaW4gdGlsZXMAMHg1ZjM2JjB4ODogZHJhdyBzcHJpdGUgMABzcHIAgCBzcHIobiwgeCwgeSwgW3csIGhdLAAgICBbZmxpcF94XSwgW2ZsaXBfeV0AZHJhdyBzcHJpdGUgbiBhdCB4LCB5AHcgKHdpZHRoKSBhbmQgaCAoaGVpZ2h0KSBhcmUgMQBieSBkZWZhdWx0LCBhbmQgc3BlY2lmeSBob3cgbWFueQA4eDggc3ByaXRlcyB0byBkcmF3LgBjb2xvciAwIGlzIG5vdCBkcmF3biBieSBkZWZhdWx0AChoZWxwIHBhbHQgZm9yIG1vcmUgaW5mb3JtYXRpb24pAGZsaXBfeCwgZmxpcF95IGFyZSBib29sZWFuczoAd2hlbiB0cnVlLCBkcmF3IG1pcnJvcmVkAHNzcHIAgCBzc3ByKHN4LCBzeSwgc3csIHNoLCBkeCwgZHksACAgIFtkdywgZGhdLCBbZmxpcF93XSwgW2ZsaXBfaF0Ac3RyZXRjaCBzcHJpdGUgdXNpbmcgdGhlIHNvdXJjZQByZWN0YW5nbGUgc3gsIHN5LCBzdywgc2gAZHJhdyBhdCB0aGUgZGVzdGluYXRpb24gZHgsIGR5AHdpdGggaGVpZ2h0IGR3LCBkaC4gd2hlbiBkdywgZGgAYXJlIG5vdCBnaXZlbiwgdXNlIHN3LCBzaAB3aGVuIHRydWUsIGRyYXcgbWlycm9yZWQuAHNnZXQAc3NldACAIHNnZXQoeCx5KQAgICBzc2V0KHgseSx2YWwpAGdldCBvciBzZXQgdGhlIHZhbHVlIG9mIGEgcGl4ZWwAaW4gdGhlIHNwcml0ZXNoZWV0IGF0IHgsIHkAcGdldABwc2V0AG9uIHRoZSBzY3JlZW4gYXQgeCwgeQBwcmludAA/AIAgcHJpbnQoc3RyLCB4LCB5LCBbY29sXSkAICAgcHJpbnQoc3RyLCBbY29sXSkAcHJpbnQgdGhlIHN0cmluZyBzdHIgYXQgeCwgeQBvciB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24Ac2hvcnRoYW5kOiB1c2UgPyBvbiBhIHNpbmdsZQBsaW5lIHdpdGhvdXQgYnJhY2tldHM6AD8iaGVsbG8iAHNvbWUgcDhzY2lpIGNvZGVzOgBcIzMgc2V0IGJhY2tncm91bmQgY29sICgwLi5mKQBcZjcgc2V0IGZvcmVncm91bmQgY29sICgwLi5mKQBcXmkgaW52ZXJ0ZWQgbW9kZQBcXncgd2lkZSBtb2RlICheLXcgdG8gZGlzYWJsZSkAXF50IHRhbGwgbW9kZSAoXi13IHRvIGRpc2FibGUpAFxecCBwaW5iYWxsIG1vZGUAXGEgYmVlcABwcmludGgAgCBwcmludGgoc3RyLCBbZmlsZW5hbWVdLAAgICBbb3ZlcndyaXRlXSwgW3RvX2Rlc2t0b3BdAHByaW50IHN0ciB0byBob3N0LiB3aGVuIHBpY28tOABpcyBydW5uaW5nIGZyb20gYSBzaGVsbCwgdGhlAG91dHB1dCBpcyBzZW50IHRvIHRoYXQgc2hlbGwsIG9yAGFwcGVuZGVkIHRvIGEgZmlsZSB3aGVuIGEAZmlsZW5hbWUgaXMgZ2l2ZW4uAGluIHRoZSBzZWNvbmQgY2FzZSwgYW55IGV4aXN0aW5nAGZpbGUgaXMgb3ZlcndyaXR0ZW4gd2hlbgBvdmVyd3JpdGUgaXMgdHJ1ZS4gdGhlIGZpbGUgaXMAc2F2ZWQgdG8gZGVza3RvcCB3aGVuIHRvX2Rlc2t0b3AAaXMgdHJ1ZS4AY3Vyc29yAIAgY3Vyc29yKHgsIHksIFtjb2xdAHNldCB0aGUgY3Vyc29yIHBvc2l0aW9uAGlmIGNvbCBpcyBzcGVjaWZpZWQsIGFsc28gc2V0IHRoZQBjdXJyZW50IGRyYXcgY29sb3VyLgBwZWVrAHBlZWsyAHBlZWs0AEAAJACAIHBlZWsoYWRkciwgW25dKQByZWFkIGEgYnl0ZSBmcm9tIG1lbW9yeSBhdCBhZGRyLgB3aGVuIG4gaXMgZ2l2ZW4sIHJldHVybiBuIGJ5dGVzIAByZWFkIHNlcXVlbnRpYWxseS4gaW50ZWdlcnMgYW5kAG51bWJlcnMgY2FuIGJlIHJlYWQgd2l0aCBwZWVrMigpAGFuZCBwZWVrNCByZXNwZWN0aXZlbHkuAC0tIGZldGNoIDIgYnl0ZXMgb2YgdmlkZW8gcmFtAGEsYiA9IHBlZWsoMHg2MDAwLCAyKQAtLSBvcGVyYXRvciBhbHRlcm5hdGl2ZXMAQGFkZHIgIC0tIHBlZWsoYWRkcikAJWFkZHIgIC0tIHBlZWsyKGFkZHIpACRhZGRyICAtLSBwZWVrNChhZGRyKQBwb2tlAHBva2UyAHBva2U0AIAgcG9rZShhZGRyLCB2YWwxLCBbdmFsMiwgLi4uXSkAd3JpdGUgb25lIG9yIG1vcmUgYnl0ZXMgdG8gcmFtAHN0YXJ0aW5nIGZyb20gYWRkci4gaW50ZWdlcnMAYW5kIG51bWJlcnMgY2FuIGJlIHdyaXR0ZW4gd2l0aABwb2tlMiBhbmQgcG9rZTQuAC0tIHdyaXRlIDQgYnl0ZXMgdG8gdmlkZW8gcmFtAHBva2UyKDB4NzAwMCwgMHg0NTY3LCAweDg5YWIpAG1lbXNldACAIG1lbXNldChhZGRyLCB2YWwsIGxlbikAd3JpdGUgdGhlIDgtYml0IHZhbHVlIHZhbCBpbnRvAHJhbSBzdGFydGluZyBmcm9tIGFkZHIsIGZvcgBsZW4gYnl0ZXMuAC0tIGZpbGwgaGFsZiBvZiB2aWRlbyBtZW1vcnkAbWVtc2V0KDB4NjAwMCwgMHhjOCwgMHgxMDAwKQBtZW1jcHkAgCBtZW1jcHkoZGVzdCwgc3JjLCBsZW4pAGNvcHkgbGVuIGJ5dGVzIGZyb20gYWRkcmVzcyBzcmMAdG8gZGVzdC4gc2VjdGlvbnMgY2FuIGJlAG92ZXJsYXBwaW5nIGFuZCBkbyBub3QgbmVlZCB0bwBiZSBhbGlnbmVkLgAtLSBjb3B5IHNvbWUgb2YgdGhlIHZpZGVvIHJhbSB0bwAtLSB0aGUgdG9wIG9mIHRoZSBzY3JlZW4AbWVtY3B5KDB4NjAwMCwgMHg2ODAwLCAweDgwMCkAcmVsb2FkAIAgcmVsb2FkKGRlc3QsIHNyYywgbGVuLCBbZm5dKQBzaW1pbGFyIHRvIG1lbWNweSwgYnV0IHJlYWQAZnJvbSBjYXJ0cmlkZ2Ugcm9tIGFuZCB3cml0ZQB0byByYW0gYXQgZGVzdCBmb3IgbGVuIGJ5dGVzLgByZWxvYWQoKSByZWxvYWRzIGV2ZXJ5dGhpbmcuAHRoZSBjb2RlIHNlY3Rpb24gKD49IDB4NDMwMCkAaXMgcHJvdGVjdGVkIGFuZCBjYW4gbm90IGJlAGFjY2Vzc2VkIGJ5IHJlbG9hZCAvIGNzdG9yZS4Ad2hlbiBmaWxlbmFtZSBmbiBpcyBnaXZlbiwAZGF0YSBpcyByZWFkIGZyb20gYSBzZXBhcmF0ZQBjYXJ0cmlkZ2UgZmlsZS4AY3N0b3JlAIAgY3N0b3JlKGRlc3QsIHNyYywgbGVuLCBbZm5dKQBmcm9tIHJhbSBhbmQgd3JpdGUgdG8gY2FydCByb20AYXQgZGVzdCBmb3IgbGVuIGJ5dGVzLgBjc3RvcmUoKSBzdG9yZXMgZXZlcnl0aGluZyBpbgByYW0gYmFjayB0byB0aGUgY2FydHJpZGdlLgBzY29yZXN1YgCAIHNjb3Jlc3ViKHRibCwgc2NvcmUsIFtleHRyYV0pAHN1Ym1pdCBhIGhpZ2hzY29yZSB0byB0aGUgYmJzLgB0YmwgaXMgYSBzdHJpbmcgaWRlbnRpZnlpbmcgdGhlAHRhYmxlIGFuZCBjYW4gYmUgPD0gNDAgY2hhcnMAbG9uZy4gZS5nLiAibGV2ZWxfMSIAc2NvcmUgaXMgYSBudW1iZXIuIGhpZ2hlciBpcwBiZXR0ZXI7IHRoZSB0b3AgNjQgc2NvcmVzIGFyZQByZXR1cm5lZCBpbiBhIHRhYmxlIHdpdGggZmllbGRzOgBuYW1lIHNjb3JlIGV4dHJhIGRhdGUAdXNlIHNjb3Jlc3ViKHRibCkgdG8gZ3JhYiB0aGUAdGFibGUgc3RhdGUgd2l0aG91dCBzdWJtaXR0aW5nAGEgc2NvcmUuAGV4dHJhIGlzIGEgYmluYXJ5IHN0cmluZyBvZgBtZXRhZGF0YSA8PSA3NjggYnl0ZXMgbG9uZy4AY2FydGRhdGEAgCBjYXJ0ZGF0YShpZCkAb3BlbnMgYSBwZXJtYW5lbnQgZGF0YSBzdG9yYWdlAHNsb3QgdG8gYmUgYWNjZXNzZWQgd2l0aCBkZ2V0KCkAYW5kIGRzZXQoKSBvciBieSBkaXJlY3RseSBwb2tlLwBwZWVraW5nIHJhbSBhdCAweDVlMDAuLjB4NWVmZi4AaWQgaXMgYSBzdHJpbmcgPD0gNjQgY2hhcnMgbG9uZwB0aGF0IG1pZ2h0IG5vdCBiZSB1bmlxdWUgKGl0IGlzAHBvc3NpYmxlIGZvciB0d28gY2FydHMgdG8gc2hhcmUAdGhlIHNhbWUgc3RvcmFnZSkuAGNhcnRkYXRhKCkgY2FuIG9ubHkgYmUgY2FsbGVkAG9uY2UgcGVyIHByb2dyYW0gLS0gaXQgaXMgbm90AHBvc3NpYmxlIHRvIHVzZSBtdWx0aXBsZSBkYXRhAHN0b3JhZ2Ugc2xvdHMgaW4gb25lIHByb2dyYW0uAGRnZXQAZHNldACAIGRnZXQoaSkAICAgZHNldChpLCB2YWwpAGdldC9zZXQgdGhlIG51bWJlciBpbiBwZXJtYW5lbnQAZGF0YSBzdG9yYWdlIGF0IGluZGV4IGkgKDAuLjYzKS4Ac2FtZSBhcyBwZWVrNCgweDVlMDAraSo0KSBhbmQAcG9rZTQoMHg1ZTAwK2kqNCwgdmFsKSwgYWZ0ZXIAY2FydGRhdGEoaWQpIGhhcyBiZWVuIHVzZWQgdG8AbWFwIHRoaXMgbWVtb3J5IHJhbmdlIHRvIHN0b3JhZ2UAY2FsbGluZyBkZ2V0IG9yIGRzZXQgYmVmb3JlAGNhcnRkYXRhKGlkKSByZXN1bHRzIGluIGEgcnVuLQB0aW1lIGVycm9yLgBzdWIAgCBzdWIoc3RyLCBwb3MwLCBbcG9zMV0pAHJldHVybnMgYSBzdWJzdHJpbmcgb2Ygc3RyLCBmcm9tAHBvczAgdW50aWwgcG9zMSwgb3IgI3N0ciB3aGVuAHdoZW4gcG9zMSBpcyBub3QgZ2l2ZW4uIHBvczAgYW5kAHBvczEgYXJlIDEtYmFzZWQsIGFuZCBpbmNsdWRlAHRoZSBjaGFyYWN0ZXJzIGF0IHBvczAsIHBvczEuAG5lZ2F0aXZlIHZhbHVlcyBtZWFuIGNoYXJhY3RlcnMAZnJvbSB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuAD9zdWIoImFiY2RlIiwyLDQpIC0tIGJjZAA/c3ViKCJhYmNkZSIsMiAgKSAtLSBiY2RlAD9zdWIoImFiY2RlIiwtMiApIC0tIGRlAHVzZSBzW2ldIHRvIGdyYWIgYSBzaW5nbGUgY2hhcjoAPnM9ImFiY2QiAD4/c1szXQBjAGNocgCAIGNocih2YWwwLCBbdmFsMSwgdmFsMiAuLi5dKQBjb252ZXJ0IG9uZSBvciBtb3JlIGNoYXJhY3RlcgBjb2RlcyB0byBhIHN0cmluZy4ALS0gQAA/Y2hyKDY0KSAALS0gaGVsbG8AP2NocigxMDQsMTAxLDEwOCwxMDgsMTExKQBvcmQAgCBvcmQoc3RyLCBbcG9zXSwgW251bV0pAHJldHVybiBvbmUgb3IgbW9yZSBvcmRpbmFsIGNoYXIAdmFsdWVzICgwLi4yNTUpIGZyb20gc3RyaW5nIHN0ci4Ad2hlbiBwb3MgaXMgb3V0IG9mIHJhbmdlIG9yIHN0cgBpcyBub3QgYSBzdHJpbmcsIHJldHVybnMgbmlsLgA/b3JkKCJAIikgICAgICAtLSA2NAA/b3JkKCJhYmMiLDIpICAtLSA5OAAtLSA5Nyw5OCw5OQBhLGIsYyA9IG9yZCgiYWJjIiwxLDMpAC0tIHdyaXRlIG9yZCB2YWx1ZXMgdG8gc2NyZWVuAHBva2UoMHg3MDAwLG9yZCgic3R1dnd4eXoiLDEsOCkpAHNwbGl0AIAgc3BsaXQoc3RyLCBbc2VwXSwgW251bWJlcnNdAHNwbGl0IGEgc3RyaW5nIGludG8gYSB0YWJsZSBvZgBlbGVtZW50cyBkZWxpbWl0ZWQgYnkgdGhlAHNlcGFyYXRvciBzZXAgKCIsIiBieSBkZWZhdWx0KS4Ad2hlbiBudW1iZXJzIGlzIHRydWUsIG51bWVyaWNhbAB0b2tlbnMgYXJlIHN0b3JlZCBhcyBudW1iZXJzAGluc3RlYWQgb2Ygc3RyaW5ncyAodHJ1ZSB3aGVuAG5vdCBnaXZlbikuAHNwbGl0KCIxLDIsMyIpIC0tIHsxLDIsM30Ac3BsaXQoIjEsLDIsIikgLS0gezEsIiIsMiwiIn0Ac3BsaXQoIm9uZTp0d286MyIsIjoiLGZhbHNlKQAgLS0+IHsib25lIiwidHdvIiwiMyJ9AHRvc3RyAIAgdG9zdHIodmFsLCBbZm9ybWF0XSkAY29udmVydCB2YWwgdG8gYSBzdHJpbmcuAGZvcm1hdCBpcyBhIGJpdGZpZWxkOgAgIDB4MTogd3JpdGUgYXMgcmF3IGhleGFkZWNpbWFsACAgMHgyOiB3cml0ZSByYXcgaW50MzIAP3Rvc3RyKDE3KSAgIC0tICIxNyIAP3Rvc3RyKDE3LDEpIC0tICIweDAwMTEuMDAwMCIAP3Rvc3RyKDE3LDMpIC0tICIweDAwMTEwMDAwIgA/dG9zdHIoMTcsMikgLS0gIjExMTQxMTIiAHRvbnVtAIAgdG9udW0odmFsLCBbZm9ybWF0XSkAY29udmVydCB2YWwgdG8gYSBudW1iZXIsIG9yAHJldHVybiBub3RoaW5nIHdoZW4gbm8gbnVtYmVyAGNhbiBiZSByZWFkLgAgIDB4MTogcmVhZCB2YWwgYXMgaGV4YWRlY2ltYWwAICAgICAgIHdpdGggbm8gIjB4IiBwcmVmaXgAICAweDI6IHJlYWQgdmFsIGFzIGEgcmF3IGludDMyACAgMHg0OiByZXR1cm4gMCB3aGVuIHZhbCBjYW4AICAgICAgIG5vdCBiZSByZWFkIGFzIGEgbnVtYmVyAD90b251bSgiZmYiLDB4MSkgICAgICAtLSAyNTUAP3RvbnVtKCIxMTE0MTEyIiwweDIpIC0tIDE3AD90b251bSgiMTIzNGFiY2QiLDB4MykAIC0tPiAweDEyMzQuYWJjZABhZGQAgCBhZGQodGJsLCB2YWwsIFtpbmRleF0pAGFkZCB2YWx1ZSB2YWwgdG8gZW5kIG9mIHRhYmxlAHRibC4gZXF1aXZhbGVudCB0bzoAdGJsWyN0YmwgKyAxXSA9IHZhbABpZiBpbmRleCBpcyBnaXZlbiwgdGhlIG5ldwBlbnRyeSBpcyBpbnNlcnRlZCBhdCB0aGF0AHBvc2l0aW9uLgBmb289ezEwLDIwLDMwfQBhZGQoZm9vLDI1LDMpIC0tPiAxMCwyMCwyNSwzMABhcHBsaWVzIHRvIHRhYmxlcyBpbmRleGVkIGJ5AGludGVnZXJzIHN0YXJ0aW5nIGF0IDEuAGRlbACAIGRlbCh0YmwsIHZhbCkAZGVsZXRlIHRoZSBmaXJzdCBpbnN0YW5jZSBvZgB2YWwgaW4gdGFibGUgdGJsIGFuZCBtb3ZlIHRoZQByZW1haW5pbmcgZW50cmllcyB1cCBvbmUgcGxhY2UuAHJldHVybnMgdGhlIGRlbGV0ZWQgaXRlbSwgb3Igbm8AdmFsdWUgd2hlbiBub3RoaW5nIHdhcyBkZWxldGVkLgBhPXsxLDEwLDIsM30AZGVsKGEsIDEwKSAtLT4gMSwyLDMAZGVsaQCAIGRlbGkodGJsLCBpbmRleCkAZGVsZXRlIGFuIGl0ZW0gZnJvbSB0YWJsZSB0YmwAYXQgYSBnaXZlbiBpbmRleCwgYW5kIG1vdmUgdGhlAHdoZW4gaW5kZXggaXMgbm90IGdpdmVuLCBkZWxldGUAYW5kIHJldHVybiB0aGUgbGFzdCBpdGVtOgBhPXsxLDIsMyw0fQBkZWxpKGEsMikgLS0+IDEsMyw0AGRlbGkoYSkgICAtLT4gMSwzAGFsbACAIGFsbCh0YmwpAHVzZWQgaW4gZm9yIGxvb3BzIHRvIGl0ZXJhdGUAb3ZlciBhbGwgaXRlbXMgaW4gYSB0YWJsZS4AdG90YWwgPSAwAGE9ezEwLDIwLDMwfQBmb3IgbiBpbiBhbGwoYSkgZG8AICB0b3RhbCArPSBuAD9uICAgLS0gNjAAZm9yZWFjaACAIGZvcmVhY2godGJsLCBmdW5jKQBmb3IgZWFjaCBpdGVtIGluIHRhYmxlIHRibCwgY2FsbAB0aGUgZnVuY3Rpb24gZnVuYyB3aXRoIHRoYXQgaXRlbQBhcyBhbiBhcmd1bWVudC4APiBmb3JlYWNoKHsxLDIsImhleSJ9LCBwcmludCkAaGV5AHBhaXJzAIAgcGFpcnModGJsKQB1c2VkIHRvIGl0ZXJhdGUgb3ZlciBhbGwgaXRlbXMAaW4gYSB0YWJsZSwgaW5jbHVkaW5nIGtleXMgdGhhdABhcmUgYXJlIG5vdCBpbnRlZ2Vycy4gZWFjaCBjYWxsAHRvIHRoZSBmdW5jdGlvbiBpdCBnZW5lcmF0ZXMAcmV0dXJucyBib3RoIHRoZSBrZXkgKGspIGFuZCB0aGUAdmFsdWUgKHYpIGZvciB0aGF0IGl0ZW06AGEgPSB7Zm9vID0gMywgWzEuNV0gPSAiYmxhaCJ9AGZvciBrLHYgaW4gcGFpcnMoYSkgZG8AICBwcmludCgiazoiLi5rLi4iICB2OiIuLnYpAGs6Zm9vICB2OjMAazoxLjUgIHY6YmxhaABydW4AgCBydW4oW3BhcmFtX3N0cl0pAHJ1biB0aGUgcHJvZ3JhbS4gd2hlbiBjYWxsZWQAd2hlbiBhbHJlYWR5IHJ1bm5pbmcsIHRoZQBwcm9ncmFtIGlzIHJlc3RhcnRlZC4AcGFyYW1fc3RyIGlzIGEgc3RyaW5nIHRoYXQgY2FuAGJlIGFjY2Vzc2VkIGR1cmluZyBydW50aW1lIHdpdGgAc3RhdCg5KS4Ac3RvcACAIHN0b3AoW21lc3NhZ2VdKQBzdG9wIHRoZSBjdXJyZW50bHkgcnVubmluZwBwcm9ncmFtIGFuZCBvcHRpb25hbGx5IHByaW50AGEgbWVzc2FnZS4AYSBzdG9wcGVkIHByb2dyYW0gY2FuIHJlc3VtZWQAd2l0aCB0aGUgcmVzdW1lIGNvbW1hbmQsIG9yAGFkdmFuY2VkIGJ5IGEgc2luZ2xlIGZyYW1lIHdpdGgAYSBmdWxsIHN0b3AuAHJlc3VtZQCAID4gcmVzdW1lACAgID4gLgByZXN1bWUgYSBwcm9ncmFtIHRoYXQgd2FzAHN0b3BwZWQgZWl0aGVyIHdpdGggc3RvcCgpIG9yAGJ5IHByZXNzaW5nIGVzY2FwZS4AYSBzaW5nbGUgZnJhbWUgY2FuIGJlIHJ1biBieQBlbnRlcmluZyBhIGZ1bGwgc3RvcCwgYW5kIHRoZW4AcHJlc3NpbmcgZW50ZXIgdG8gZ2V0IHN1YnNlcXVlbnQAZnJhbWVzLgByZXNldACAIHJlc2V0KCkAcmVzdG9yZSB0aGUgdmFsdWVzIGluIHJhbSBmcm9tADB4NWYwMC4uMHg1ZjdmIHRvIHRoZWlyIGRlZmF1bHQAdmFsdWVzLgB0aGlzIGluY2x1ZGVzIHRoZSBwYWxldHRlLABjYW1lcmEgcG9zaXRpb24sIGNsaXBwaW5nLCBhbmQAZmlsbCBwYXR0ZXJuLgBpdCBjYW4gYWxzbyBiZSB1c2VkIGZyb20gY29tbWFuZABsaW5lIHdpdGhvdXQgdGhlIGJyYWNrZXRzLiB0aGlzAGNhbiBiZSB1c2VmdWwgd2hlbiB0aGUgdGV4dCBpcwBpbnZpc2libGUgYmVjYXVzZSBvZiBwYWxldHRlAGNoYW5nZXMuAHlpZWxkAIAgeWllbGQoKQBleGl0IGEgY29yb3V0aW5lIGFuZCB0aGVuAHJlc3VtZSBhdCB0aGF0IHBvaW50IHdoZW4AY29yZXN1bWUoKSBpcyBjYWxsZWQuAGZvciBhbiBleGFtcGxlLCBzZWU6AGNvcmVzdW1lAGNvY3JlYXRlAGNvcm91dGluZQBjb3JvdXRpbmVzAIAgY29jcmVhdGUoZikAICAgY29yZXN1bWUoYywgW3AwLCBwMSwgLi4uXSkAY3JlYXRlIGEgY29yb3V0aW5lIGZyb20gYQBmdW5jdGlvbiBmLCBhbmQgdGhlbiBydW4gaXQAd2l0aCBhcmd1bWVudHMgcDAsIHAxLi4AZnVuY3Rpb24gaGV5KCkAICBwcmludCJkb2luZyBzb21ldGhpbmciACAgeWllbGQoKQAgIHByaW50InNvbWV0aGluZyBlbHNlIgAgIHByaW50ImZpbmlzaGVkIgBjID0gY29jcmVhdGUoaGV5KQBjb3Jlc3VtZShjKSAgLS0gZG9pbmcgc29tZXRoaW5nAGNvcmVzdW1lKGMpICAtLSBzb21ldGhpbmcgZWxzZQA/Y29zdGF0dXMoYykgLS0gInN1c3BlbmRlZCIAY29zdGF0dXMAgCBjb3N0YXR1cyhjKQByZXR1cm5zIHRoZSBzdGF0dXMgb2YgYQBjb3JvdXRpbmUgYyBhcyBhIHN0cmluZzoAICBydW5uaW5nACAgc3VzcGVuZGVkACAgZGVhZAB0aW1lAHQAgCB0aW1lKCkAICAgdCgpAHJldHVybnMgdGhlIG51bWJlciBvZiBzZWNvbmRzAHNpbmNlIHRoZSBwcm9ncmFtIHN0YXJ0ZWQAcnVubmluZywgdGFrZW4gZnJvbSB0aGUgbW9tZW50AHRoZSBjdXJyZW50IGZyYW1lIHN0YXJ0ZWQuAG1lbnVpdGVtAIAgbWVudWl0ZW0oaW5kZXgsIFtsYWJlbF0sIFtmXSkAYWRkIGFuIGl0ZW0gdG8gdGhlIHBhdXNlIG1lbnUgAGF0IHNsb3QgaW5kZXggKDEuLjUpIHdpdGggYQBsYWJlbCA8PSAxNiBjaGFycyBsb25nLgBmIGlzIGEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQAd2hlbiB0aGUgbWVudSBpdGVtIGlzIHNlbGVjdGVkAG9yIHRoZSBsZWZ0IG9yIHJpZ2h0IGJ1dHRvbnMAYXJlIHByZXNzZWQuIGl0IHRha2VzIGEgc2luZ2xlAGJpdGZpZWxkIHBhcmFtZXRlciBpbmRpY2F0aW5nAHdoaWNoIGJ1dHRvbiB3YXMgcHJlc3NlZC4AbWVudWl0ZW0oMSwgImZvbyIsIGZ1bmN0aW9uKGIpACA/InNlbGVjdGVkIGZvbzoiLi5iAGVuZCkAd2hlbiBubyBsYWJlbCBvciBjYWxsYmFjayBpcwBzcGVjaWZpZWQsIHRoZSBpdGVtIGlzIGRlbGV0ZWQuAHN0YXQAgCBzdGF0KHgpAGdldCBzeXN0ZW0gc3RhdHVzACAwIG1lbW9yeSB1c2FnZSAoMC4uMjA0OCkAIDEgY3B1ICAgICAgKDEuMCA9PSAxMDAlKQAgNCBjbGlwYm9hcmQgY29udGVudHMAIDYgcGFyYW1ldGVyIHN0cmluZwAgNyBjdXJyZW50IGZyYW1lcmF0ZQAgNDYuLjQ5IGN1cnJlbnQgcGxheWluZyBzZngAIDUwLi41MyBub3RlIG51bWJlciAocGVyIGNoYW4pACA1NCBjdXJyZW50bHkgcGxheWluZyBwYXR0ZXJuACA1NSB0b3RhbCBwYXR0ZXJucyBwbGF5ZWQAIDU2IHRpY2tzIHBsYXllZCBvbiBwYXR0ZXJuACA1NyB0cnVlIHdoZW4gbXVzaWMgcGxheWluZwAgODAuLjg1IHV0YyB0aW1lOyB5ZWFyLi5zZWNvbmQAIDkwLi45NSBsb2NhbCB0aW1lACAxMDAgYnJlYWRjcnVtYiBsYWJlbCwgb3IgbmlsAHNlcmlhbACAIHNlcmlhbChjaGFubmVsLCBhZGRyLCBsZW4pAHJlYWQvd3JpdGUgZGF0YSB0byBhIG1lbW9yeQBhZGRyZXNzIGZvciBsZW4gYnl0ZXMuAGNoYW5uZWw6ACAweDAwMC4uMHgwZmUgZ3BpbyBwaW5zIChyYXNwaSkAIDB4MGZmIGRlbGF5IGZvciBsZW4gbXMAIDB4ODAwIGRyb3BwZWQgZmlsZSAtLSBzdGF0KDEyMCkAIDB4ODAyIGRyb3BwZWQgZmlsZQAgMHg4MDQgc3RkaW4AIDB4ODA1IHN0ZG91dABleHRjbWQAgCBleHRjbWQoY21kX3N0cikAc3BlY2lhbCBzeXN0ZW0gY29tbWFuZHMgY2FuIGJlAGlzc3VlZCBmcm9tIGEgcnVubmluZyBwcm9ncmFtOgBwYXVzZTogcGF1c2UgY2FydAByZXNldDogcmVzZXQgY2FydABnb19iYWNrOiByZXR1cm4gdG8gcHJldmlvdXMgY2FydABsYWJlbDogc2V0IGNhcnQgbGFiZWwAc2NyZWVuOiBzYXZlIGEgc2NyZWVuc2hvdAByZWM6IHNldCB2aWRlbyBzdGFydCBwb2ludAByZWNfZnJhbWVzOiAxIGZyYW1lIHBlciBmbGlwAHZpZGVvOiBzYXZlIGEgLmdpZiB0byBkZXNrdG9wAGF1ZGlvX3JlYzogc3RhcnQgcmVjb3JkaW5nIGF1ZGlvAGF1ZGlvX2VuZDogc2F2ZSAud2F2IHRvIGRlc2t0b3AAc2h1dGRvd246IChmb3IgZXhwb3J0ZWQgY2FydHMpAGZvbGRlcjogb3BlbiBjdXJyZW50IGZvbGRlcgBsb2FkAIAgPiBsb2FkIGZpbGVuYW1lACAgIGxvYWQoZmlsZW5hbWUsIFticmVhZGNydW1iXSwAICAgW3BhcmFtX3N0cl0pAGxvYWQgYSBjYXJ0cmlkZ2UuIHdoZW4gY2FsbGVkAGZyb20gYSBydW5uaW5nIHByb2dyYW0sIHRoZQBsb2FkZWQgY2FydHJpZGdlIGlzIGltbWVkaWF0ZWx5AHJ1biB3aXRoIHBhcmFtX3N0ciAoYWNjZXNzaWJsZQB3aXRoIHN0YXQoNikpIGFuZCBhIG1lbnUgaXRlbQB3aXRoIHRoZSBsYWJlbCBicmVhZGNydW1iIGlzAGluc2VydGVkLCBhbGxvd2luZyB0aGUgdXNlciB0bwByZXR1cm4gdG8gdGhlIHByZXZpb3VzIGNhcnQuAGZpbGVuYW1lcyBzdGFydGluZyB3aXRoICMgYXJlAHRha2VuIHRvIGJlIGJicyBjYXJ0cmlkZ2UgaWRzLgBzYXZlAIAgPiBzYXZlIGZpbGVuYW1lAHNhdmUgdGhlIHdvcmtpbmcgY2FydHJpZGdlIHRvIGEAZmlsZS4gd2hlbiB0aGUgZmlsZSBkb2VzIG5vdABjb250YWluIHRoZSAucDggZXh0ZW5zaW9uLCBpdCBpcwBhZGRlZCBhdXRvbWF0aWNhbGx5OgA+IHNhdmUgZm9vAHNhdmVkIGZvby5wOAB1c2UgLnBuZyBpbiB0aGUgZmlsZW5hbWUgdG8gc2F2ZQBhIC5wOC5wbmcgY2FydHJpZGdlLiB0byBjYXB0dXJlAGEgbGFiZWwgYmVmb3JlaGFuZCwgcHJlc3MgY3RybC03AHRvIHNhdmUgdG8gY2xpcGJvYXJkLCB1c2U6AD5zYXZlIEBjbGlwAHRoaXMgY2FuIGJlIHBhc3RlZCBhcyB0ZXh0IGFuZABpcyBzdXBwb3J0ZWQgYnkgdGhlIGJicy4AaW1wb3J0AIAgPiBpbXBvcnQgZmlsZW5hbWUAaW1wb3J0IGFuIGltYWdlIG1hcHBpbmcgdG8gdGhlAGN1cnJlbnQgcGFsZXR0ZS4gdW5sZXNzIC1sIGlzAHVzZWQsIGltcG9ydCB0byB0aGUgc3ByaXRlc2hlZXQuACAtbCAgICAgLS0gaW1wb3J0IGNhcnQgbGFiZWwAIC14IG51bSAtLSBsb2FkIGF0IHggcG9zaXRpb24AIC15IG51bSAtLSBsb2FkIGF0IHkgcG9zaXRpb24APiBpbXBvcnQgLWwgbXlsYWJlbC5wbmcAZXhwb3J0AIAgPiBleHBvcnQgZmlsZW5hbWUgAGV4cG9ydCBhIGZpbGUgYmFzZWQgb24gdHlwZToAIC5wbmcgIHNwcml0ZXNoZWV0ACAud2F2ICBjdXJyZW50IHNmeCBvciBwYXR0ZXJuACAuYmluICBzdGFuZC1hbG9uZSBiaW5hcmllcwAgLmh0bWwgc3RhbmQtYWxvbmUgd2ViIGFwcAAgLnA4LnBuZyAgIHNhdmUgYSBjb3B5ACAubWFwLnBuZyAgbWFwIHZpc3VhbGlzYXRpb24AZXhwb3J0IGxhYmVsOgA+IGV4cG9ydCAtbCBsYWJlbC5wbmcAdGlueSAucm9tIGZvcm1hdCAoY29kZSBvbmx5KToAPiBleHBvcnQgLXQgZm9vLnA4LnJvbQBiaW5hcnkgbXVsdGljYXJ0OgA+IGV4cG9ydCBmb28uYmluIGNhcnQyLnA4IGMzLnA4AGluZm8AgCA+IGluZm8AZ2V0IHNvbWUgaW5mb3JtYXRpb24gYWJvdXQgdGhlAGN1cnJlbnRseSBsb2FkZWQgY2FydHJpZGdlOgAgZmlsZW5hbWUAIGNhcGFjaXR5IHN0YXRzACB1bnNhdmVkIGNoYW5nZXMAZm9sZGVyAIAgPiBmb2xkZXIgW3doaWNoXQBvcGVuIHRoZSBjdXJyZW50IGZvbGRlciBpbiB0aGUAaG9zdCdzIGZpbGUgbmF2aWdhdG9yLgB3aGVuIHdoaWNoIGlzIGdpdmVuLCBhIHNwZWNpYWwAbG9jYXRpb24gaXMgb3BlbmVkOgAgYmFja3VwcwAgY29uZmlnACBiYnMAIGRlc2t0b3AAdG8gb3BlbiBhIGZvbGRlciBmcm9tIGEgcnVubmluZwBjYXJ0cmlkZ2UgdGhhdCBoYXMgYmVlbiBleHBvcnRlZAB0byBiaW5hcnksIHVzZSBleHRjbWQoImZvbGRlciIuAHNodXRkb3duAIAgPiBzaHV0ZG93bgBwcm9tcHQgZm9yIGFueSB1bnNhdmVkIGNoYW5nZXMAYW5kIHRoZW4gY2xvc2UgcGljby04LgBmb3IgZmFzdCBzaHV0ZG93biwgdXNlIGtleXM6ACBhbHQtZjQgKHdpbmRvd3MpACBjdHJsLXEgKGxpbnV4IC8gbWFjKQBscwBkaXIAgCA+IGxzIFtwYXRoXQBsaXN0IGFsbCBvZiB0aGUgY2FydHMgaW4AdGhlIGdpdmVuIHBhdGguAGxzICogdG8gc2hvdyBoaWRkZW4gZmlsZXMAcmVib290AIAgPiByZWJvb3QAYW5kIHRoZW4gcmVib290IHBpY28tOC4AdGhpcyBpcyB0aGUgcmVjb21tZW5kZWQgd2F5IHRvAHN0YXJ0IGEgbmV3IGVtcHR5IHByb2plY3QuAHNwbG9yZQCAID4gc3Bsb3JlACAgID4gcwBvcGVuIHNwbG9yZTogcGljby04J3MgYmJzAGNhcnRyaWRnZSBicm93c2VyLgB1c2UgbGVmdCBhbmQgcmlnaHQgdG8gc3dpdGNoAGJldHdlZW4gY2FydHJpZGdlIGxpc3RzLCBhbmQAdXAgYW5kIGRvd24gdG8gc2VsZWN0IGEgY2FydC4AdXNlIJcvjiB0byBvcGVuIGEgY2FydHJpZGdlAG9yIHRoZSBtZW51IGJ1dHRvbiBmb3IgbW9yZQBvcHRpb25zLgBsb2dpbgBsb2dvdXQAgCA+IGxvZ2luACAgID4gbG9nb3V0AGxvZyBpbiB0byB5b3VyIGxleGFsb2ZmbGUAYWNjb3VudC4gd2hpbGUgbG9nZ2VkIGluLCB1c2VycwBhcmUgYWJsZSB0byBzdWJtaXQgaGlnaCBzY29yZXMAdXNpbmcgc2NvcmVzdWIoKSwgYWRkIHN0YXJzIHRvAGNhcnRzLCBhbmQgc3luYyBiYnMgZmF2b3VyaXRlcy4AW25vdCBpbXBsZW1lbnRlZCB5ZXQhXQB0b3BpYyBub3QgZm91bmQ6AF4KIDAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiEjJSgpe31bXTw+Kz0vKjo7Lix+XwBpZihfdXBkYXRlNjApX3VwZGF0ZT1mdW5jdGlvbigpX3VwZGF0ZTYwKClfdXBkYXRlNjAoKWVuZABpZihfdXBkYXRlNjApX3VwZGF0ZT1mdW5jdGlvbigpX3VwZGF0ZTYwKClfdXBkYXRlX2J1dHRvbnMoKV91cGRhdGU2MCgpZW5kAEdJRjg3YQBHSUY4OWEAAAEDBw8fP3//JXMlcy5wOGQudHh0ACUwOHgAY2FydGRhdGEoKSBjYW4gb25seSBiZSBjYWxsZWQgb25jZQBjYXJ0IGRhdGEgaWQgdG9vIGxvbmcAY2FydCBkYXRhIGlkOiBiYWQgY2hhcgAud2F2AC5yYXcAZXhwb3J0IGlzIHVuYXZhaWxhYmxlAGNvdWxkIG5vdCBvcGVuIGZpbGUAd3JvdGUgJWQgZmlsZSVjAG5vIHJlY29yZGluZyBpbiBwcm9ncmVzcwBzZnggJWQgOjogdGlja3MgJWQAcGF0dGVybiAlZAAlc18lJWQuJXMAJXMuJXMAd2F2AHBsYXllciBrZXkgY29uZmlnAHNhdmVkIGNvbmZpZy4AcHJlc3MgZXNjYXBlAHRvIGNvbnRpbnVlAHByZXNzIGtleSBmb3I6AGRlbCBmb3IgZGVmYXVsdABlc2MgdG8gY2FuY2VsACVzIDogJXMAbGVmdAByaWdodAB1cABkb3duAHogLyBjIC8gbgB4IC8gdiAvIG0AcwBmAGUAZAB0YWIAcQBwIC8gZW50ZXIAcDEgbGVmdCAgICAAcDEgcmlnaHQgICAAcDEgdXAgICAgICAAcDEgZG93biAgICAAcDEgjiAgICAgIABwMSCXICAgICAgAHAyIGxlZnQgICAgAHAyIHJpZ2h0ICAgAHAyIHVwICAgICAgAHAyIGRvd24gICAgAHAyII4gICAgICAAcDIglyAgICAgIABwYXVzZSAgICAgIABscnVkb3hwY3Vyc29ycwB6IHgvYyB2AHMgZiBlIGQAdGFiIHEgdwAgICAgICAgACVkIGpveXN0aWNrcyBkZXRlY3RlZAAucG5nAHwlLTIwcyB8JS0yMHMgfCUtNmQgfCUtMTZzIHwlLTIwcyB8JXMKAGNvdWxkIG5vdCBsb2FkIGZhdm91cml0ZXMgZmlsZTogJXMKAGJicwBiYnMvJWQvACVzdGVtcC0lZC5uZm8AJXMlZC5wOC5wbmcAYmJzL2NhcnRzACVzL3RlbXAtJXMubmZvACVzLyVzLnA4LnBuZwAlcy9iYnMvZ2V0X2NhcnQucGhwP2NhdD03JnBsYXlfc3JjPSVkJmxpZD0lcwBiYnMvbGFiZWxzLwAlcyVzLnBuZwBydW4gY2FydABvcHRpb25zAHJlbW92ZSBmcm9tIGZhdm91cml0ZXMAZmF2b3VyaXRlAGNhcnRzIGJ5IEAlcwBzaW1pbGFyIGNhcnRzAHNlYXJjaCBiYnMgdGhyZWFkAG9wZW4gdGhyZWFkIGluIGJyb3dzZXIAW2JhY2tdAGVkaXQgY2FydAByZS1kb3dubG9hZABvcGVuIGluIGJyb3dzZXIAYmFjawB2b2x1bWUAZnVsbHNjcmVlbgBzaHV0ZG93biBwaWNvLTgAY2F0PTcmc2VhcmNoPSVzJm1heD0zMgBiYnMvdGVtcF8lc19fLnBpcC5wbmcAYmJzL3RlbXBfJXMucGlwLnBuZwBiYnMvJXMucGlwLnBuZwAvYmJzL2Nwb3N0X2xpc3RlcjMucGhwP21heD0zMiZzdGFydF9pbmRleD0lZCYlcyZ2ZXJzaW9uPSVzJWMmY2ZpbD0lZAAwMDAyMDVnAGRvd25sb2FkIGZhaWxlZAAucDgAbGlkAHRpdGxlAGF1dGhvcgBtaWQAY2F0c3ViACBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkAY2FuY2VsbGVkAGRvd25sb2FkIGNhbmNlbGxlZABQSUNPLTgAeyBpZiAodHlwZW9mIHBpY284X2dwaW8gIT09ICd1bmRlZmluZWQnKSBwaWNvOF9ncGlvWyQwXT0kMX0Ae3ZhciB2YWw9MDsgaWYgKHR5cGVvZiBwaWNvOF9ncGlvICE9PSAndW5kZWZpbmVkJykgdmFsID0gcGljbzhfZ3Bpb1skMF07IHJldHVybiB2YWx9AGhlbGxvLnA4AGFwaS5wOABhdXRvbWF0YS5wOABib3VuY2UucDgAY2FzdC5wOABjb2xsaWRlLnA4AGRvdHMzZC5wOABkcmlwcHkucDgAamVscGkucDgAc29ydC5wOAB3YW5kZXIucDgAd2F2ZXMucDgAMTUxMzMAMTk2MzkAMTAwMjIAMTk0ODgAMTg5NzMANDE0MjIANTcyMDEAY2VsZXN0ZS5wOC5wbmcAZnJvZ19ob21lLnA4LnBuZwBodWdfYXJlbmEucDgucG5nAGFyY2hlb3MucDgucG5nAGR1c2tfY2hpbGQucDgucG5nADhfbGVnc190b19sb3ZlLnA4LnBuZwBlbWJyYWNlLnA4LnBuZwBjZWxlc3RlAGZyb2cgaG9tZQBodWcgYXJlbmEAdG93ZXIgb2YgYXJjaGVvcwBkdXNrIGNoaWxkADggbGVncyB0byBsb3ZlAGVtYnJhY2UAaW5zdGFsbGluZyBkZW1vIGNhcnRzIHRvIC9kZW1vcy8AZGVtb3MvAGNvdWxkIG5vdCB3cml0ZSB0byBkaXNrAGZhdm91cml0ZXMudHh0AGdhbWVzLwAjaW5jbHVkZSAAY2FuIG5vdCAjaW5jbHVkZQBzZXJpYWwgYnVmZmVyIG92ZXJmbG93ACUxMDIzcwBmcmVxAGRtYQB0eXBlAGJyaWdodG5lc3MAaW52ZXJ0AGxlZHMAcGljby04IDAuMi41ZwAoYykgMjAxNC0yMyBsZXhhbG9mZmxlIGdhbWVzIGxscABib290aW5nIGNhcnRyaWRnZS4uAFtjb2RvXSAlcwA+Y29kb19pbml0CgBwbGF0Zm9ybTogJXMKAEVtc2NyaXB0ZW4AY29kb19zeXN0ZW1faW5pdAoAY29kb19yZXNldF90aW1lcgoAY29kb19ndWlfaW5pdAoAY29kb19rZXlzX2luaXQKAGNvZG9fdGV4dF9pbml0CgBjb2RvX3ZpZGVvX2luaXQKAGNvZG9fbW91c2VfaW5pdAoAY29kb19qb3lzdGlja19pbml0CgA8b2sKAHdpZHRoAGhlaWdodAB3aW5kb3dfeAB3aW5kb3dfeQBzb3VuZABtdXNpYwBzb2Z0d2FyZV9ibGl0AHNvZnR3YXJlX2JsaXR0ZXIAaG9tZQBkZXNrdG9wAHBpeGVsX3BlcmZlY3QAZHJhd19yZWN0AHRpbWVvdXQAaGVhZGxlc3MAcGVyZl90aW1pbmcAZnJhbWVidWZmZXIAZW11bGF0ZV90ZXh0aW5wdXQAZGVmZXJyZWRfZGVhbGxvYwBleHRfZGlzcGxheQBwcmVibGl0X3NjYWxlAGRpc3BsYXkAbG9nX3N5c3RlbV9pbmZvACVkACVkLCVkLCVkLCVkAD5jb2RvX2V4aXQKAGNtdXNpY19zdG9wCgBjb2RvX21haW5fZXhpdAoAY29kb19jb25maWdfc2F2ZQoAY29kb19zb3VuZF9leGl0CgBjb2RvX3ZpZGVvX2V4aXQKAGNvZG9fam95c3RpY2tfZXhpdAoAY29kb19zeXN0ZW1fZXhpdAoAY29kb19pdGVtc19jcmVhdGVkOiAlZAoARlMuc3luY2ZzKCBmYWxzZSwgZnVuY3Rpb24gKGVycikgeyB9ICk7ACUyMHM6JTAzZCAgIAAgIC49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LAAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAAgIHwgIFRvIG1hcCBrZXkgQSB0byBCICh3aGVuIEEgaXMgcHJlc3NlZCwgaXQgc2hvd3MgdXAgYXMgaWYgQiB3ZXJlIHByZXNzZWQpLCAgfAAgIHwgIHByZXNzIEEgdG8gZ2V0IHRoZSBzY2FuY29kZSwgYW5kIGxvb2sgdXAgQiBpbiB0aGUgbGlzdC4gVGhlbiwgYWRkIGl0IHRvICAgfAAgIHwgIG1hcF9zY2FuY29kZXMgaW4gY29uZmlnLnR4dC4gRm9yIGV4YW1wbGUsIHRvIG1hcCBiYWNrc3BhY2UgKDQyKSBhcyAgICAgICAgfAAgIHwgIGVzY2FwZSAoNDEpLCBhbmQgYWxzbyByaWdodCBzaGlmdCgyMjkpIGFzIHJpZ2h0IGN1cnNvciBrZXkgKDc5KTogICAgICAgICAgfAAgIHwgIG1hcF9zY2FuY29kZXMgNDI9NDEsMjI5PTc5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAAgIHwgIE5vdGU6IHRoaXMgZG9lcyBub3QgYXBwbHkgdG8gdGV4dGlucHV0IGV2ZW50cyBtYXBwZWQgdmlhIGtiZCBsYXlvdXQuICAgICAgfAAgIGA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09JwA6OiBzY2FuY29kZSB2aWV3ZXIgICAgLy8gYWx0K2Y0IC8gY3RybC1xIHRvIHF1aXQAJTAzZABwcmVzc2VkIHNjYW5jb2RlOiU0ZCAgICBuYW1lOiUxNnMKAC1zY2FuY29kZXMAY29kb19kZXN0cm95X3BvZDogY3BvZC0+aXRlbXMgIT0gMAoAQmFkIGNwb2RfYWRkX2l0ZW0gdHlwZQBCYWQgY3BvZF9hZGRfaXRlbQBDT04AUFJOAEFVWABOVUwAQ09NMABDT00xAENPTTIAQ09NMwBDT000AENPTTUAQ09NNgBDT003AENPTTgAQ09NOQBMUFQwAExQVDEATFBUMgBMUFQzAExQVDQATFBUNQBMUFQ2AExQVDcATFBUOABMUFQ5AGNvZG9fbG9hZF9wb2RfZmlsZTogVW5rbm93biBDaHVuayEKAHJiAGZhaWxlZABvawBjb2RvX2xvYWRfcG9kOiAlcyAlcyAKACoqIHdlYiBmaWxlIHN5c3RlbSBub3QgbW91bnRlZC4gcmV0dXJuaW5nIHZkaXNrIGZpbGU6ICVzICglcykKACAtPiByZXR1cm5pbmcgdmRpc2sgZmlsZTogJXMgKCVzKQoAY29kb19zcGxpdF9maWxlbmFtZV9leDogZmlsZV9uYW1lIHRvbyBsb25nCgAie3JldHVybiAoKHR5cGVvZiBwOF90b3VjaF9kZXRlY3RlZCA9PT0gJ3VuZGVmaW5lZCcpIHx8ICFwOF90b3VjaF9kZXRlY3RlZCkgPyAwIDogMTt9IgBAQCBkZWZhdWx0IG1peF9idWZmZXJfc2l6ZSBhZGp1c3RlZCB0byAyMDQ4IChNb2JpbGUpAGNvbmZpZy50eHQARm91bmQgY29uZmlnLnR4dAoAPgoAJTAyZCAlcwoAdmlkZW9fbW9kZQAgJWQgJWQAd2luZG93X3NpemUAc2NyZWVuX3NpemUAd2luZG93ZWQAICVkAGZvcmVncm91bmRfc2xlZXBfbXMAYmFja2dyb3VuZF9zbGVlcF9tcwBzb3VuZF92b2x1bWUAbXVzaWNfdm9sdW1lAG1peF9idWZmZXJfc2l6ZQB3aW5kaWIAb3BlbmdsX2JsaXQAc2hvd19mcHMAbGFyZ2Vfd2luZG93AGZyYW1lbGVzcwB3aW5kb3dfcG9zaXRpb24AbmV3IHdpbmRvdyBwb3NpdGlvbjogJWQsICVkCgBzZXNzaW9ucwBybWJfa2V5AGRlc2t0b3BfcGF0aABmdWxsc2NyZWVuX21ldGhvZABibGl0X21ldGhvZAByZWFkX2NvbnRyb2xsZXJzX2luX2JhY2tncm91bmQAbWFwX3NjYW5jb2RlcwAlZD0lZAA8CgB3AHNvdW5kX3ZvbHVtZSAlZCAvLyAwLi4yNTYKAG11c2ljX3ZvbHVtZSAlZCAvLyAwLi4yNTYKAC4uAH4AY29kb19zYXZlX3BuZyByZXN1bHQ6ICVkICBmaWxlOiAlcwoACkFzc2VydGlvbiBmYWlsZWQ6ICVzCgBDb3VsZCBub3QgYWxsb2NhdGUgdmVydGV4AENvdWxkIG5vdCBhbGxvY2F0ZSBib25lX3ZlcnRleABDb3VsZCBub3QgYWxsb2NhdGUgcG9seQBhY3RvciVkACAASUhEUgBQTFRFAGJLR0QAcEhZcwBJREFUAHRJTUUAelRYdABMb2RlUE5HADIwMTEwMjIxAGlUWHQAdEVYdAB0Uk5TAGNvZG9fZnJlZSBmYWlsICV4ICV4CgAlMDh4JTA4eCUwOHglMDh4JTA4eAAie3JldHVybiBkb2N1bWVudC5oaWRkZW4gPyAxIDogMDt9IgBjb2RvX3NvdW5kX2luaXQgbWl4X2J1ZmZlcl9zaXplOiAlZAoAY29kb19zZXRfc2NyZWVuICVkICVkICVkICV4CgByZXRyaWV2aW5nIGRlc2t0b3AgcmVzb2x1dGlvbjogJWQgJWQKACB3aW5kb3cgc2l6ZTogJWQgJWQKACBkZXNrdG9wIHNpemU6ICVkICVkCgBvawoAJVktJW0tJWQgJUg6JU06JVMAJXMvJXMAKgAlZC0lZC0lZCAlZDolZDolZABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAMQAyADMANAA1ADYANwA4ADkAMABSZXR1cm4ARXNjYXBlAEJhY2tzcGFjZQBUYWIAU3BhY2UALQA9AFsAXQBTbGFzaAAjADsAJwBgACwALwBDYXBzTG9jawBGMQBGMgBGMwBGNABGNQBGNgBGNwBGOABGOQBGMTAARjExAEYxMgBQcmludFNjcmVlbgBTY3JvbGxMb2NrAFBhdXNlAEluc2VydABIb21lAFBhZ2VVcABEZWxldGUARW5kAFBhZ2VEb3duAFJpZ2h0AExlZnQARG93bgBVcABOdW1sb2NrAEtleXBhZCAvAEtleXBhZCAqAEtleXBhZCAtAEtleXBhZCArAEtleXBhZCBFbnRlcgBLZXlwYWQgMQBLZXlwYWQgMgBLZXlwYWQgMwBLZXlwYWQgNABLZXlwYWQgNQBLZXlwYWQgNgBLZXlwYWQgNwBLZXlwYWQgOABLZXlwYWQgOQBLZXlwYWQgMABLZXlwYWQgLgBBcHBsaWNhdGlvbgBQb3dlcgBLZXlwYWQgPQBGMTMARjE0AEYxNQBGMTYARjE3AEYxOABGMTkARjIwAEYyMQBGMjIARjIzAEYyNABFeGVjdXRlAEhlbHAATWVudQBTZWxlY3QAU3RvcABBZ2FpbgBVbmRvAEN1dABDb3B5AFBhc3RlAEZpbmQATXV0ZQBWb2x1bWVVcABWb2x1bWVEb3duAEtleXBhZCAsAEtleXBhZCA9IChBUzQwMCkAQWx0RXJhc2UAU3lzUmVxAENhbmNlbABDbGVhcgBQcmlvcgBTZXBhcmF0b3IAT3V0AE9wZXIAQ2xlYXIgLyBBZ2FpbgBDclNlbABFeFNlbABLZXlwYWQgMDAAS2V5cGFkIDAwMABUaG91c2FuZHNTZXBhcmF0b3IARGVjaW1hbFNlcGFyYXRvcgBDdXJyZW5jeVVuaXQAQ3VycmVuY3lTdWJVbml0AEtleXBhZCAoAEtleXBhZCApAEtleXBhZCB7AEtleXBhZCB9AEtleXBhZCBUYWIAS2V5cGFkIEJhY2tzcGFjZQBLZXlwYWQgQQBLZXlwYWQgQgBLZXlwYWQgQwBLZXlwYWQgRABLZXlwYWQgRQBLZXlwYWQgRgBLZXlwYWQgWE9SAEtleXBhZCBeAEtleXBhZCAlAEtleXBhZCA8AEtleXBhZCA+AEtleXBhZCAmAEtleXBhZCAmJgBLZXlwYWQgfABLZXlwYWQgfHwAS2V5cGFkIDoAS2V5cGFkICMAS2V5cGFkIFNwYWNlAEtleXBhZCBAAEtleXBhZCAhAEtleXBhZCBNZW1TdG9yZQBLZXlwYWQgTWVtUmVjYWxsAEtleXBhZCBNZW1DbGVhcgBLZXlwYWQgTWVtQWRkAEtleXBhZCBNZW1TdWJ0cmFjdABLZXlwYWQgTWVtTXVsdGlwbHkAS2V5cGFkIE1lbURpdmlkZQBLZXlwYWQgKy8tAEtleXBhZCBDbGVhcgBLZXlwYWQgQ2xlYXJFbnRyeQBLZXlwYWQgQmluYXJ5AEtleXBhZCBPY3RhbABLZXlwYWQgRGVjaW1hbABLZXlwYWQgSGV4YWRlY2ltYWwATGVmdCBDdHJsAExlZnQgU2hpZnQATGVmdCBBbHQATGVmdCBHVUkAUmlnaHQgQ3RybABSaWdodCBTaGlmdABSaWdodCBBbHQAUmlnaHQgR1VJAE1vZGVTd2l0Y2gAQXVkaW9OZXh0AEF1ZGlvUHJldgBBdWRpb1N0b3AAQXVkaW9QbGF5AEF1ZGlvTXV0ZQBNZWRpYVNlbGVjdABXV1cATWFpbABDYWxjdWxhdG9yAENvbXB1dGVyAEFDIFNlYXJjaABBQyBIb21lAEFDIEJhY2sAQUMgRm9yd2FyZABBQyBTdG9wAEFDIFJlZnJlc2gAQUMgQm9va21hcmtzAEJyaWdodG5lc3NEb3duAEJyaWdodG5lc3NVcABEaXNwbGF5U3dpdGNoAEtCRElsbHVtVG9nZ2xlAEtCRElsbHVtRG93bgBLQkRJbGx1bVVwAEVqZWN0AFNsZWVwAEFwcDEAQXBwMgBBdWRpb1Jld2luZABBdWRpb0Zhc3RGb3J3YXJkAFVuYWJsZSB0byBpbml0aWFsaXplIFNETABpZiAodHlwZW9mIGNvZG9fa2V5X2J1ZmZlciA9PT0gJ3VuZGVmaW5lZCcpIGNvZG9fa2V5X2J1ZmZlciA9IFtdOyBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24oZSkgeyB2YXIgdmFsID0gLTE7IGlmIChlLmtleS5sZW5ndGggPT0gMSkgeyB2YWwgPSBlLmtleS5jaGFyQ29kZUF0KDApOyB9IGVsc2UgeyBpZiAoZS5rZXkgPT0gIlRhYiIpIHZhbCA9IDk7IGlmIChlLmtleSA9PSAiRW50ZXIiKSB2YWwgPSAxMzsgaWYgKGUua2V5ID09ICJCYWNrc3BhY2UiKSB2YWwgPSA4OyBpZiAoZS5rZXkgPT0gIkVzY2FwZSIpIHZhbCA9IDI3OyBpZiAodmFsID09IC0xKXsgfSB9IHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIik7IGNvZG9fa2V5X2J1ZmZlci5wdXNoKHZhbCk7IH0pOwB2YXIgX2NvZG9fdGV4dF92YWx1ZSA9ICIiOyB2YXIgX2NvZG9fc3RyX291dCA9ICIiOyB2YXIgY29kb193aGVlbF9keCA9IDA7IHZhciBjb2RvX3doZWVsX2R5ID0gMDsgYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgZnVuY3Rpb24oZXZlbnQpeyBpZiAodHlwZW9mIHBpY284X3N0YXRlICE9PSAndW5kZWZpbmVkJykgaWYgKGV2ZW50LnRhcmdldC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT0gImNhbnZhcyIpIHsgcGljbzhfc3RhdGUuY2xpY2tlZF9vdXRzaWRlID0gdHJ1ZTsgfSB9KTsAZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBmdW5jdGlvbihlKXsgZHggPSBlLmRlbHRhWDsgaWYgKGR4IDwgMCkgZHggPSAtMTsgaWYgKGR4ID4gMCkgZHggPSAxOyBpZiAoZS5kZWx0YU1vZGUgPT0gMikgZHggKj0gNDsgaWYgKHR5cGVvZiBjb2RvX3doZWVsX2R4ICE9PSAndW5kZWZpbmVkJykgY29kb193aGVlbF9keCAtPSBkeDsgZHkgPSBlLmRlbHRhWTsgaWYgKGR5IDwgMCkgZHkgPSAtMTsgaWYgKGR5ID4gMCkgZHkgPSAxOyBpZiAoZS5kZWx0YU1vZGUgPT0gMikgZHkgKj0gNDsgaWYgKHR5cGVvZiBjb2RvX3doZWVsX2R5ICE9PSAndW5kZWZpbmVkJykgY29kb193aGVlbF9keSAtPSBkeTsgfSk7AAoKKiogRkFUQUwgRVJST1I6ICVzCgoAU0RMIEVycm9yOiAlcwoAInt2YXIgcmV0ID0gMDsgaWYgKHR5cGVvZiBwaWNvOF9tb3VzZSAhPT0gJ3VuZGVmaW5lZCcgJiYgcGljbzhfbW91c2UubGVuZ3RoID4gMCkgcmV0PTE7IHJldHVybiByZXQ7fSIAIntyZXR1cm4gcGljbzhfbW91c2VbMF19IgAie3JldHVybiBwaWNvOF9tb3VzZVsxXX0iAGZ1bmN0aW9uIGF1ZGlvX2xvZyhtc2cpIHsgaWYgKHdpbmRvdy5jb25zb2xlICYmIHdpbmRvdy5jb25zb2xlLmxvZykgeyB3aW5kb3cuY29uc29sZS5sb2coIltjb2RvXSBhdWRpb19pbml0X3dlYmF1ZGlvICIrbXNnKTsgfSB9IGF1ZGlvX2xvZygiYXVkaW9faW5pdCIpOyB2YXIgY29kb19hdWRpb19jb250ZXh0OyBpZiAodHlwZW9mIE1vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIGF1ZGlvX2xvZygiICoqKiBNb2R1bGUgdW5kZWZpbmVkIik7IGVsc2UgaWYgKHR5cGVvZiBNb2R1bGUuY2NhbGwgPT09ICd1bmRlZmluZWQnKSBhdWRpb19sb2coIiAqKioqIE1vZHVsZS5jY2FsbCB1bmRlZmluZWQiKTsgZWxzZSB7IHZhciB3ZWJBdWRpb0FQSSA9IHdpbmRvdy5BdWRpb0NvbnRleHQgfHwgd2luZG93LndlYmtpdEF1ZGlvQ29udGV4dCB8fCB3aW5kb3cubW96QXVkaW9Db250ZXh0IHx8IHdpbmRvdy5vQXVkaW9Db250ZXh0IHx8IHdpbmRvdy5tc0F1ZGlvQ29udGV4dDsgaWYgKHdlYkF1ZGlvQVBJKSB7IGlmICh0eXBlb2YgcGljbzhfYXVkaW9fY29udGV4dCAhPT0gJ3VuZGVmaW5lZCcpIHsgY29kb19hdWRpb19jb250ZXh0ID0gcGljbzhfYXVkaW9fY29udGV4dDsgYXVkaW9fbG9nKCJmb3VuZCBwaWNvOF9hdWRpb19jb250ZXh0Iik7IH0gZWxzZSBpZiAodHlwZW9mIHZveGF0cm9uX2F1ZGlvX2NvbnRleHQgIT09ICd1bmRlZmluZWQnKSB7IGNvZG9fYXVkaW9fY29udGV4dCA9IHZveGF0cm9uX2F1ZGlvX2NvbnRleHQ7IGF1ZGlvX2xvZygiZm91bmQgdm94YXRyb25fYXVkaW9fY29udGV4dCIpOyB9IGVsc2UgeyBjb2RvX2F1ZGlvX2NvbnRleHQgPSBuZXcgd2ViQXVkaW9BUEk7IGF1ZGlvX2xvZygiY3JlYXRpbmcgb3duIGF1ZGlvIGNvbnRleHQiKTsgfSBpZiAoY29kb19hdWRpb19jb250ZXh0KSB7IGF1ZGlvX2xvZygiU2FtcGxlIFJhdGU6ICIrY29kb19hdWRpb19jb250ZXh0LnNhbXBsZVJhdGUpOyBhdWRpb19sb2coIkJ1ZmZlciBTaXplOiAiKyQwKTsgbm9kZSA9IGNvZG9fYXVkaW9fY29udGV4dC5jcmVhdGVTY3JpcHRQcm9jZXNzb3IoJDAsIDEsIDEpOyBub2RlLm9uYXVkaW9wcm9jZXNzID0gZnVuY3Rpb24oZSkgeyB2YXIgZGF0YSA9IGUub3V0cHV0QnVmZmVyLmdldENoYW5uZWxEYXRhKDApOyB2YXIgciA9IDIyMDUwLjAgLyBjb2RvX2F1ZGlvX2NvbnRleHQuc2FtcGxlUmF0ZTsgdmFyIGxlbjAgPSBNYXRoLmZsb29yKGRhdGEubGVuZ3RoICogcik7IHZhciBsZW4xID0gZGF0YS5sZW5ndGg7IHZhciBwdHIgPSBNb2R1bGUuY2NhbGwoJ21peF8wJywgJ251bWJlcicsIFsnbnVtYmVyJywnbnVtYmVyJ10sIFtsZW4wLCBsZW4xXSk7IGZvciAodmFyIGogPSAwOyBqIDwgZGF0YS5sZW5ndGg7IGorKykgZGF0YVtqXSA9IE1vZHVsZS5nZXRWYWx1ZShwdHIgKyBqKjIsICdpMTYnKSAvIDB4ODAwMDsgfTsgbm9kZS5jb25uZWN0KGNvZG9fYXVkaW9fY29udGV4dC5kZXN0aW5hdGlvbik7IH0gZWxzZSB7IGF1ZGlvX2xvZygiKiogZmFpbGVkIHRvIGNyZWF0ZSBjb2RvX2F1ZGlvX2NvbnRleHQiKTsgfSB9IGVsc2UgeyBhdWRpb19sb2coIioqIHdlYkF1ZGlvQVBJIG5vdCBmb3VuZCIpOyB9IH0AIntyZXR1cm4gZG9jdW1lbnQucG9pbnRlckxvY2tFbGVtZW50ID8gMSA6IDA7fSIAImlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAndW5kZWZpbmVkJykgY29kb19rZXlfYnVmZmVyID0gW107IHJldHVybiBjb2RvX2tleV9idWZmZXIubGVuZ3RoID4gMCA/IDEgOiAwOyIAImlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAndW5kZWZpbmVkJykgY29kb19rZXlfYnVmZmVyID0gW107IGxldCB2YWwgPSBjb2RvX2tleV9idWZmZXIuc2hpZnQoKSB8IDA7IHJldHVybiB2YWw7IgAie3RlbXAgPSAodHlwZW9mIGNvZG9fd2hlZWxfZHggIT09ICd1bmRlZmluZWQnKSA/IGNvZG9fd2hlZWxfZHg6MDsgY29kb193aGVlbF9keCA9IDA7IHJldHVybiB0ZW1wO30iACJ7dGVtcCA9ICh0eXBlb2YgY29kb193aGVlbF9keSAhPT0gJ3VuZGVmaW5lZCcpID8gY29kb193aGVlbF9keTowOyBjb2RvX3doZWVsX2R5ID0gMDsgcmV0dXJuIHRlbXA7fSIAInsgaWYgKGRvY3VtZW50LmhpZGRlbikgcmV0dXJuIDA7IGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImNvZG9fdGV4dGFyZWFcIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwgJiYgZWwgPT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkgcmV0dXJuIDE7IGVsID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsgcmV0dXJuICghZWwgfHwgKGVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKSAhPSBcImlucHV0XCIgJiYgZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpICE9IFwidGV4dGFyZWFcIikpOyB9IgAieyBpZiAoKHR5cGVvZiBwaWNvOF9zdGF0ZSkgIT09ICd1bmRlZmluZWQnKSBpZiAocGljbzhfc3RhdGUuY2xpY2tlZF9vdXRzaWRlKSB7IHBpY284X3N0YXRlLmNsaWNrZWRfb3V0c2lkZSA9IGZhbHNlOyByZXR1cm4gMTsgfSByZXR1cm4gMDsgfSIAZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwgJiYgZWwuc3R5bGUuZGlzcGxheSAhPSAibm9uZSIpIHsgZWwuZm9jdXMoKTsgZWwuc2VsZWN0KCk7IH0AZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwgJiYgZWwuc3R5bGUuZGlzcGxheSAhPSAibm9uZSIpIHsgZWwuc2VsZWN0KCk7IH0AIntyZXR1cm4gcGljbzhfbW91c2VbMl19IgAvdXNlcl9kYXRhLyVzACJ7dmFyIHZhbD0wOyBpZiAodHlwZW9mIGNvZG9fbW91bnRlZF9maWxlc3lzdGVtICE9PSAndW5kZWZpbmVkJykgdmFsPTE7IHJldHVybiB2YWw7fSIAQEAgY29kb19ta2RpciBmYWlsZWQ7IGZpbGVzeXN0ZW0gbm90IG1vdW50ZWQAX2Rpcl9uYW1lPSIiOwB7X2Rpcl9uYW1lPV9kaXJfbmFtZStTdHJpbmcuZnJvbUNoYXJDb2RlKCQwKTt9AEZTLmNyZWF0ZVBhdGgoIiIsIF9kaXJfbmFtZSwgdHJ1ZSwgdHJ1ZSk7AFtjb2RvXSBleGl0aW5nIHBvaW50ZXIgbG9jawB7TW9kdWxlWydjYW52YXMnXS5leGl0UG9pbnRlckxvY2soKTt9AEBAIGNvZG9fd2dldF9vbmVycm9yOiAlcwoAZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwpIHsgfQBfY29kb19zdHJfb3V0PSIiOwB7IF9jb2RvX3N0cl9vdXQgPSBNb2R1bGUuVVRGOFRvU3RyaW5nKCQwLCAkMSk7IH0AInsgZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY29kb190ZXh0YXJlYVwiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCkgeyBlbC52YWx1ZSA9IF9jb2RvX3N0cl9vdXQ7IHJldHVybiAwOyB9IGVsc2UgcmV0dXJuIDE7IH0iAGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgPT0gIm5vbmUiICYmICgodHlwZW9mIHA4X3RvdWNoX2RldGVjdGVkID09PSAndW5kZWZpbmVkJykgfHwgIXA4X3RvdWNoX2RldGVjdGVkKSkgeyBlbC5zdHlsZS5kaXNwbGF5ID0gIiI7IGVsLmZvY3VzKCk7IGVsLnNlbGVjdCgpOyB9AHsgTW9kdWxlLnN0cmluZ1RvVVRGOChfY29kb190ZXh0X3ZhbHVlLCAkMCwgJDEpOyB9ACJlbCA9ICh0eXBlb2YgY29kb190ZXh0YXJlYSA9PT0gJ3VuZGVmaW5lZCcpID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJjb2RvX3RleHRhcmVhXCIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgIT0gXCJub25lXCIgJiYgZWwudmFsdWUgIT0gXCJcIikgeyBfY29kb190ZXh0X3ZhbHVlID0gZWwudmFsdWU7IHJldHVybiAxOyB9IHJldHVybiAwOyIAJXMlcwBwaWNvLTggY2FydHJpZGdlAHZlcnNpb24gJWQAIyNlbmRfcDgAX19sdWFfXwBfX2dmeF9fAF9fZ2ZmX18AX19tYXBfXwBfX3NmeF9fAF9fbXVzaWNfXwBfX2xhYmVsX18AX19jaGFuZ2VfbWFza19fAF9fbWV0YToAJTAyeCUwMnglMDJ4JTAyeAAlMDJ4JTF4JTF4JTF4ACUwMnggAAoAcgBwaWNvLTggY2FydHJpZGdlIC8vIGh0dHA6Ly93d3cucGljby04LmNvbQoAdmVyc2lvbiAlZAoAX19sdWFfXwoAX19nZnhfXwoAJXgAX19sYWJlbF9fCgBfX2dmZl9fCgAlMDJ4AF9fbWFwX18KAF9fc2Z4X18KACUwMngleCV4JXgAX19tdXNpY19fCgAlMDJ4JTAyeCUwMnglMDJ4CgBfX2NoYW5nZV9tYXNrX18KAHdiAGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5XwBAJSQAI14/ACgpe31bXTw+ACFAIyQlXiYqOjsuLH49Ky0vXGAnIgAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAAAQIEBwMGBQBpbmZpbml0eQBuYW4AcndhAC4=";var tempDoublePtr=3145120;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={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_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}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=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},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(-e.errno)}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(-e.errno)}},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(-e.errno)}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(-e.errno)}},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(-e.errno)}},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(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},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(-e.errno)}},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(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},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(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},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(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}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=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(5)},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(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i0){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(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_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=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){lockPointer=false;console.log("forcing lockPointer to false");Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=false;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};canvas.exitFullscreen=canvas.exitFullscreen.bind(document);Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){Module["noExitRuntime"]=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){Module["noExitRuntime"]=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";Module["readAsync"](url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h1)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>2],y:HEAP32[rect+4>>2],w:HEAP32[rect+8>>2],h:HEAP32[rect+12>>2]}},updateRect:function(rect,r){HEAP32[rect>>2]=r.x;HEAP32[rect+4>>2]=r.y;HEAP32[rect+8>>2]=r.w;HEAP32[rect+12>>2]=r.h},intersectionOfRects:function(first,second){var leftX=Math.max(first.x,second.x);var leftY=Math.max(first.y,second.y);var rightX=Math.min(first.x+first.w,second.x+second.w);var rightY=Math.min(first.y+first.h,second.y+second.h);return{x:leftX,y:leftY,w:Math.max(leftX,rightX)-leftX,h:Math.max(leftY,rightY)-leftY}},checkPixelFormat:function(fmt){},loadColorToCSSRGB:function(color){var rgba=HEAP32[color>>2];return"rgb("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+")"},loadColorToCSSRGBA:function(color){var rgba=HEAP32[color>>2];return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>24&255)/255+")"},translateColorToCSSRGBA:function(rgba){return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>>24)/255+")"},translateRGBAToCSSRGBA:function(r,g,b,a){return"rgba("+(r&255)+","+(g&255)+","+(b&255)+","+(a&255)/255+")"},translateRGBAToColor:function(r,g,b,a){return r|g<<8|b<<16|a<<24},makeSurface:function(width,height,flags,usePageCanvas,source,rmask,gmask,bmask,amask){flags=flags||0;var is_SDL_HWSURFACE=flags&1;var is_SDL_HWPALETTE=flags&2097152;var is_SDL_OPENGL=flags&67108864;var surf=_malloc(60);var pixelFormat=_malloc(44);var bpp=is_SDL_HWPALETTE?1:4;var buffer=0;if(!is_SDL_HWSURFACE&&!is_SDL_OPENGL){buffer=_malloc(width*height*4)}HEAP32[surf>>2]=flags;HEAP32[surf+4>>2]=pixelFormat;HEAP32[surf+8>>2]=width;HEAP32[surf+12>>2]=height;HEAP32[surf+16>>2]=width*bpp;HEAP32[surf+20>>2]=buffer;HEAP32[surf+36>>2]=0;HEAP32[surf+40>>2]=0;HEAP32[surf+44>>2]=Module["canvas"].width;HEAP32[surf+48>>2]=Module["canvas"].height;HEAP32[surf+56>>2]=1;HEAP32[pixelFormat>>2]=-2042224636;HEAP32[pixelFormat+4>>2]=0;HEAP8[pixelFormat+8>>0]=bpp*8;HEAP8[pixelFormat+9>>0]=bpp;HEAP32[pixelFormat+12>>2]=rmask||255;HEAP32[pixelFormat+16>>2]=gmask||65280;HEAP32[pixelFormat+20>>2]=bmask||16711680;HEAP32[pixelFormat+24>>2]=amask||4278190080;SDL.GL=SDL.GL||is_SDL_OPENGL;var canvas;if(!usePageCanvas){if(SDL.canvasPool.length>0){canvas=SDL.canvasPool.pop()}else{canvas=document.createElement("canvas")}canvas.width=width;canvas.height=height}else{canvas=Module["canvas"]}var webGLContextAttributes={antialias:SDL.glAttributes[13]!=0&&SDL.glAttributes[14]>1,depth:SDL.glAttributes[6]>0,stencil:SDL.glAttributes[7]>0,alpha:SDL.glAttributes[3]>0};var ctx=Browser.createContext(canvas,is_SDL_OPENGL,usePageCanvas,webGLContextAttributes);SDL.surfaces[surf]={width:width,height:height,canvas:canvas,ctx:ctx,surf:surf,buffer:buffer,pixelFormat:pixelFormat,alpha:255,flags:flags,locked:0,usePageCanvas:usePageCanvas,source:source,isFlagSet:function(flag){return flags&flag}};return surf},copyIndexedColorData:function(surfData,rX,rY,rW,rH){if(!surfData.colors){return}var fullWidth=Module["canvas"].width;var fullHeight=Module["canvas"].height;var startX=rX||0;var startY=rY||0;var endX=(rW||fullWidth-startX)+startX;var endY=(rH||fullHeight-startY)+startY;var buffer=surfData.buffer;if(!surfData.image.data32){surfData.image.data32=new Uint32Array(surfData.image.data.buffer)}var data32=surfData.image.data32;var colors32=surfData.colors32;for(var y=startY;y>0]]}}},freeSurface:function(surf){var refcountPointer=surf+56;var refcount=HEAP32[refcountPointer>>2];if(refcount>1){HEAP32[refcountPointer>>2]=refcount-1;return}var info=SDL.surfaces[surf];if(!info.usePageCanvas&&info.canvas)SDL.canvasPool.push(info.canvas);if(info.buffer)_free(info.buffer);_free(info.pixelFormat);_free(surf);SDL.surfaces[surf]=null;if(surf===SDL.screen){SDL.screen=null}},blitSurface:function(src,srcrect,dst,dstrect,scale){var srcData=SDL.surfaces[src];var dstData=SDL.surfaces[dst];var sr,dr;if(srcrect){sr=SDL.loadRect(srcrect)}else{sr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstrect){dr=SDL.loadRect(dstrect)}else{dr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstData.clipRect){var widthScale=!scale||sr.w===0?1:sr.w/dr.w;var heightScale=!scale||sr.h===0?1:sr.h/dr.h;dr=SDL.intersectionOfRects(dstData.clipRect,dr);sr.w=dr.w*widthScale;sr.h=dr.h*heightScale;if(dstrect){SDL.updateRect(dstrect,dr)}}var blitw,blith;if(scale){blitw=dr.w;blith=dr.h}else{blitw=sr.w;blith=sr.h}if(sr.w===0||sr.h===0||blitw===0||blith===0){return 0}var oldAlpha=dstData.ctx.globalAlpha;dstData.ctx.globalAlpha=srcData.alpha/255;dstData.ctx.drawImage(srcData.canvas,sr.x,sr.y,sr.w,sr.h,dr.x,dr.y,blitw,blith);dstData.ctx.globalAlpha=oldAlpha;if(dst!=SDL.screen){warnOnce("WARNING: copying canvas data to memory for compatibility");_SDL_LockSurface(dst);dstData.locked--}return 0},downFingers:{},savedKeydown:null,receiveEvent:function(event){function unpressAllPressedKeys(){for(var code in SDL.keyboardMap){SDL.events.push({type:"keyup",keyCode:SDL.keyboardMap[code]})}}switch(event.type){case"touchstart":case"touchmove":{event.preventDefault();var touches=[];if(event.type==="touchstart"){for(var i=0;i0?Math.max(delta,1):Math.min(delta,-1);var button=delta>0?3:4;SDL.events.push({type:"mousedown",button:button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"mouseup",button:button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"wheel",deltaX:0,deltaY:delta});event.preventDefault();break;case"mousemove":if(SDL.DOMButtons[0]===1){SDL.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}if(Browser.pointerLock){if("mozMovementX"in event){event["movementX"]=event["mozMovementX"];event["movementY"]=event["mozMovementY"]}if(event["movementX"]==0&&event["movementY"]==0){event.preventDefault();return}}case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if(event.type!=="keydown"||!SDL.unicode&&!SDL.textInput||(event.keyCode===8||event.keyCode===9)){}if(event.type=="mousedown"){SDL.DOMButtons[event.button]=1;SDL.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}else if(event.type=="mouseup"){if(!SDL.DOMButtons[event.button]){return}SDL.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}});SDL.DOMButtons[event.button]=0}if(event.type==="keydown"||event.type==="mousedown"){SDL.canRequestFullscreen=true}else if(event.type==="keyup"||event.type==="mouseup"){if(SDL.isRequestingFullscreen){Module["requestFullscreen"](false,true);SDL.isRequestingFullscreen=false}SDL.canRequestFullscreen=false}if(event.type==="keypress"&&SDL.savedKeydown){SDL.savedKeydown.keypressCharCode=event.charCode;SDL.savedKeydown=null}else if(event.type==="keydown"){SDL.savedKeydown=event}if(event.type!=="keypress"||SDL.textInput){SDL.events.push(event)}break;case"mouseout":for(var i=0;i<3;i++){if(SDL.DOMButtons[i]){SDL.events.push({type:"mouseup",button:i,pageX:event.pageX,pageY:event.pageY});SDL.DOMButtons[i]=0}}event.preventDefault();break;case"focus":SDL.events.push(event);event.preventDefault();break;case"blur":SDL.events.push(event);unpressAllPressedKeys();event.preventDefault();break;case"visibilitychange":SDL.events.push({type:"visibilitychange",visible:!document.hidden});unpressAllPressedKeys();event.preventDefault();break;case"unload":if(Browser.mainLoop.runner){SDL.events.push(event);Browser.mainLoop.runner()}return;case"resize":SDL.events.push(event);if(event.preventDefault){event.preventDefault()}break}if(SDL.events.length>=1e4){err("SDL event queue full, dropping events");SDL.events=SDL.events.slice(0,1e4)}SDL.flushEventsToHandler();return},lookupKeyCodeForEvent:function(event){var code=event.keyCode;if(code>=65&&code<=90){code+=32}else{code=SDL.keyCodes[event.keyCode]||event.keyCode;if(event.location===KeyboardEvent.DOM_KEY_LOCATION_RIGHT&&code>=(224|1<<10)&&code<=(227|1<<10)){code+=4}}return code},handleEvent:function(event){if(event.handled)return;event.handled=true;switch(event.type){case"touchstart":case"touchend":case"touchmove":{Browser.calculateMouseEvent(event);break}case"keydown":case"keyup":{var down=event.type==="keydown";var code=SDL.lookupKeyCodeForEvent(event);HEAP8[SDL.keyboardState+code>>0]=down;SDL.modState=(HEAP8[SDL.keyboardState+1248>>0]?64:0)|(HEAP8[SDL.keyboardState+1249>>0]?1:0)|(HEAP8[SDL.keyboardState+1250>>0]?256:0)|(HEAP8[SDL.keyboardState+1252>>0]?128:0)|(HEAP8[SDL.keyboardState+1253>>0]?2:0)|(HEAP8[SDL.keyboardState+1254>>0]?512:0);if(down){SDL.keyboardMap[code]=event.keyCode}else{delete SDL.keyboardMap[code]}break}case"mousedown":case"mouseup":if(event.type=="mousedown"){SDL.buttonState|=1<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>0]=cStr[i]}break}case"mousedown":case"mouseup":case"mousemove":{if(event.type!="mousemove"){var down=event.type==="mousedown";HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP8[ptr+16>>0]=event.button+1;HEAP8[ptr+17>>0]=down?1:0;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY}else{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP32[ptr+16>>2]=SDL.buttonState;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY;HEAP32[ptr+28>>2]=Browser.mouseMovementX;HEAP32[ptr+32>>2]=Browser.mouseMovementY}break}case"wheel":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+16>>2]=event.deltaX;HEAP32[ptr+20>>2]=event.deltaY;break}case"touchstart":case"touchend":case"touchmove":{var touch=event.touch;if(!Browser.touches[touch.identifier])break;var w=Module["canvas"].width;var h=Module["canvas"].height;var x=Browser.touches[touch.identifier].x/w;var y=Browser.touches[touch.identifier].y/h;var lx=Browser.lastTouches[touch.identifier].x/w;var ly=Browser.lastTouches[touch.identifier].y/h;var dx=x-lx;var dy=y-ly;if(touch["deviceID"]===undefined)touch.deviceID=SDL.TOUCH_DEFAULT_ID;if(dx===0&&dy===0&&event.type==="touchmove")return false;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=_SDL_GetTicks();tempI64=[touch.deviceID>>>0,(tempDouble=touch.deviceID,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr+8>>2]=tempI64[0],HEAP32[ptr+12>>2]=tempI64[1];tempI64=[touch.identifier>>>0,(tempDouble=touch.identifier,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr+16>>2]=tempI64[0],HEAP32[ptr+20>>2]=tempI64[1];HEAPF32[ptr+24>>2]=x;HEAPF32[ptr+28>>2]=y;HEAPF32[ptr+32>>2]=dx;HEAPF32[ptr+36>>2]=dy;if(touch.force!==undefined){HEAPF32[ptr+40>>2]=touch.force}else{HEAPF32[ptr+40>>2]=event.type=="touchend"?0:1}break}case"unload":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];break}case"resize":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=event.w;HEAP32[ptr+8>>2]=event.h;break}case"joystick_button_up":case"joystick_button_down":{var state=event.type==="joystick_button_up"?0:1;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4>>0]=event.index;HEAP8[ptr+5>>0]=event.button;HEAP8[ptr+6>>0]=state;break}case"joystick_axis_motion":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4>>0]=event.index;HEAP8[ptr+5>>0]=event.axis;HEAP32[ptr+8>>2]=SDL.joystickAxisValueConversion(event.value);break}case"focus":{var SDL_WINDOWEVENT_FOCUS_GAINED=12;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=SDL_WINDOWEVENT_FOCUS_GAINED;break}case"blur":{var SDL_WINDOWEVENT_FOCUS_LOST=13;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=SDL_WINDOWEVENT_FOCUS_LOST;break}case"visibilitychange":{var SDL_WINDOWEVENT_SHOWN=1;var SDL_WINDOWEVENT_HIDDEN=2;var visibilityEventID=event.visible?SDL_WINDOWEVENT_SHOWN:SDL_WINDOWEVENT_HIDDEN;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=visibilityEventID;break}default:throw"Unhandled SDL event: "+event.type}},makeFontString:function(height,fontName){if(fontName.charAt(0)!="'"&&fontName.charAt(0)!='"'){fontName='"'+fontName+'"'}return height+"px "+fontName+", serif"},estimateTextWidth:function(fontData,text){var h=fontData.size;var fontString=SDL.makeFontString(h,fontData.name);var tempCtx=SDL.ttfContext;tempCtx.save();tempCtx.font=fontString;var ret=tempCtx.measureText(text).width|0;tempCtx.restore();return ret},allocateChannels:function(num){if(SDL.numChannels&&SDL.numChannels>=num&&num!=0)return;SDL.numChannels=num;SDL.channels=[];for(var i=0;i>1]/32768}}else if(SDL.audio.format==8){for(var j=0;j>0];channelData[j]=(v>=0?v-128:v+128)/128}}else if(SDL.audio.format==33056){for(var j=0;j>2]}}else{throw"Invalid SDL audio format "+SDL.audio.format+"!"}}},debugSurface:function(surfData){console.log("dumping surface "+[surfData.surf,surfData.source,surfData.width,surfData.height]);var image=surfData.ctx.getImageData(0,0,surfData.width,surfData.height);var data=image.data;var num=Math.min(surfData.width,surfData.height);for(var i=0;i0}},queryJoysticks:function(){for(var joystick in SDL.lastJoystickState){var state=SDL.getGamepad(joystick-1);var prevState=SDL.lastJoystickState[joystick];if(typeof state==="undefined")return;if(state===null)return;if(typeof state.timestamp!=="number"||state.timestamp!==prevState.timestamp||!state.timestamp){var i;for(i=0;ideviceIndex&&deviceIndex>=0){return gamepads[deviceIndex]}return null}};function _SDL_ClearError(){}function _SDL_GetError(){if(!SDL.errorMessage){SDL.errorMessage=allocate(intArrayFromString("unknown SDL-emscripten error"),"i8",ALLOC_NORMAL)}return SDL.errorMessage}function _SDL_GetModState(){return SDL.modState}function _SDL_GetMouseState(x,y){if(x)HEAP32[x>>2]=Browser.mouseX;if(y)HEAP32[y>>2]=Browser.mouseY;return SDL.buttonState}function _SDL_GetWindowSize(window,width,height){var w=Module["canvas"].width;var h=Module["canvas"].height;if(width)HEAP32[width>>2]=w;if(height)HEAP32[height>>2]=h}function _SDL_Init(initFlags){SDL.startTime=Date.now();SDL.initFlags=initFlags;if(!Module["doNotCaptureKeyboard"]){var keyboardListeningElement=Module["keyboardListeningElement"]||document;keyboardListeningElement.addEventListener("keydown",SDL.receiveEvent);keyboardListeningElement.addEventListener("keyup",SDL.receiveEvent);keyboardListeningElement.addEventListener("keypress",SDL.receiveEvent);window.addEventListener("focus",SDL.receiveEvent);window.addEventListener("blur",SDL.receiveEvent);document.addEventListener("visibilitychange",SDL.receiveEvent)}window.addEventListener("unload",SDL.receiveEvent);SDL.keyboardState=_malloc(65536);_memset(SDL.keyboardState,0,65536);SDL.DOMEventToSDLEvent["keydown"]=768;SDL.DOMEventToSDLEvent["keyup"]=769;SDL.DOMEventToSDLEvent["keypress"]=771;SDL.DOMEventToSDLEvent["mousedown"]=1025;SDL.DOMEventToSDLEvent["mouseup"]=1026;SDL.DOMEventToSDLEvent["mousemove"]=1024;SDL.DOMEventToSDLEvent["wheel"]=1027;SDL.DOMEventToSDLEvent["touchstart"]=1792;SDL.DOMEventToSDLEvent["touchend"]=1793;SDL.DOMEventToSDLEvent["touchmove"]=1794;SDL.DOMEventToSDLEvent["unload"]=256;SDL.DOMEventToSDLEvent["resize"]=28673;SDL.DOMEventToSDLEvent["visibilitychange"]=512;SDL.DOMEventToSDLEvent["focus"]=512;SDL.DOMEventToSDLEvent["blur"]=512;SDL.DOMEventToSDLEvent["joystick_axis_motion"]=1536;SDL.DOMEventToSDLEvent["joystick_button_down"]=1539;SDL.DOMEventToSDLEvent["joystick_button_up"]=1540;return 0}function _SDL_LockAudio(){}function _SDL_PollEvent(ptr){return SDL.pollEvent(ptr)}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);return ctx&&GL.registerContext(ctx,webGLContextAttributes)},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){var instancedArraysExt=GLctx.getExtension("ANGLE_instanced_arrays");if(instancedArraysExt){GLctx["vertexAttribDivisor"]=function(index,divisor){instancedArraysExt["vertexAttribDivisorANGLE"](index,divisor)};GLctx["drawArraysInstanced"]=function(mode,first,count,primcount){instancedArraysExt["drawArraysInstancedANGLE"](mode,first,count,primcount)};GLctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){instancedArraysExt["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}var vaoExt=GLctx.getExtension("OES_vertex_array_object");if(vaoExt){GLctx["createVertexArray"]=function(){return vaoExt["createVertexArrayOES"]()};GLctx["deleteVertexArray"]=function(vao){vaoExt["deleteVertexArrayOES"](vao)};GLctx["bindVertexArray"]=function(vao){vaoExt["bindVertexArrayOES"](vao)};GLctx["isVertexArray"]=function(vao){return vaoExt["isVertexArrayOES"](vao)}}var drawBuffersExt=GLctx.getExtension("WEBGL_draw_buffers");if(drawBuffersExt){GLctx["drawBuffers"]=function(n,bufs){drawBuffersExt["drawBuffersWEBGL"](n,bufs)}}}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions();if(exts&&exts.length>0){GLctx.getSupportedExtensions().forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})}},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i0){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>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>0]*4;var start=base+x*4;data[start]=colors[val];data[start+1]=colors[val+1];data[start+2]=colors[val+2]}s+=width*3}}surfData.ctx.putImageData(surfData.image,0,0)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___lock(){}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(9);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-20}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;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];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-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}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-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();if(!(offset_high==-1&&offset_low<0)&&!(offset_high==0&&offset_low>=0)){return-75}var offset=offset_low;FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall220(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),dirp=SYSCALLS.get(),count=SYSCALLS.get();if(!stream.getdents){stream.getdents=FS.readdir(stream.path)}var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var idx=Math.floor(off/struct_size);while(idx>>0,(tempDouble=id,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _abort(){Module["abort"]()}function _emscripten_async_wget_data(url,arg,onload,onerror){Browser.asyncLoad(UTF8ToString(url),function(byteArray){var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);dynCall_viii(onload,arg,buffer,byteArray.length);_free(buffer)},function(){if(onerror)dynCall_vi(onerror,arg)},true)}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _exit(status){exit(status)}var ___tm_current=3144960;var ___tm_timezone=(stringToUTF8("GMT",3145008,4),3145008);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _gmtime(time){return _gmtime_r(time,___tm_current)}function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); // END ORIGINAL EXPORT + return { get p8_touch_detected() { return p8_touch_detected; @@ -222,4 +97,4 @@ __carts.push(function (Module) { pico8_mouse = val; }, } -}); +}; diff --git a/src/server/util/pico8.ts b/src/server/util/pico8.ts index 4bbd7f3..8a317b5 100644 --- a/src/server/util/pico8.ts +++ b/src/server/util/pico8.ts @@ -24,15 +24,15 @@ const execPico = async (args: string[]) => { } export const pico8 = { - async export(fileIn: string, fileOut: string) { + async export(filesIn: string[], fileOut: string) { try { // console.log((await cmd("ls", ["-la", "/app/pico8"]) as any).stdout) - return await execPico([fileIn, "-export", fileOut]); + return await execPico([...filesIn, "-export", fileOut]); } catch (err) { console.log("CAUGHT ERROR", err); } } } -// const result = await pico8.export("/home/dylan/.lexaloffle/pico-8/carts/my-pico-project/mygame.p8", "/home/dylan/repos/picobook/sample.p8.png"); +// const result = await pico8.export(["/home/dylan/.lexaloffle/pico-8/carts/my-pico-project/mygame.p8","/home/dylan/.lexaloffle/pico-8/carts/my-pico-project/secondcart.p8"], "/home/dylan/repos/picobook/sample2.js"); // console.log(result); \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 1df349f..1ea8e58 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,6 +2,7 @@ "compilerOptions": { "target": "es2017", "module": "es2022", + "lib": ["DOM"], "moduleResolution": "node", "jsx": "react-jsx", "allowImportingTsExtensions": true,